diff --git a/include/psprecomp/runtime.hpp b/include/psprecomp/runtime.hpp index 4b52275..df30720 100644 --- a/include/psprecomp/runtime.hpp +++ b/include/psprecomp/runtime.hpp @@ -379,6 +379,67 @@ public: return run_starvation_boundary(ctx); } + // V8.10 resident generated regions. These are statically proven generated + // leaves with no nested guest/HLE/host boundary. Callers pass their current + // architectural scalar values by reference; V8.9 register-resident locals + // therefore flow directly into the callee without materializing the whole + // AllegrexContext at the call boundary. Since the region cannot recurse into + // another generated call, chain-depth admission is not needed; preserve the + // original logical dispatch/starvation accounting after the leaf completes. + // Resident leaves may bypass AllegrexContext materialization only when this + // logical dispatch cannot hit the starvation/preemption safe-point. If the + // next dispatch is a safe-point, generated callers fall back to the ordinary + // fully-synchronized chained path before any PSP thread ownership can change. + [[nodiscard]] PSPRECOMP_RUNTIME_FORCEINLINE bool resident_generated_leaf_fast_allowed() const noexcept { + const std::uint64_t interval = g_runtime_starvation_interval_fast; + return interval == 0u || (dispatches_since_import_ + 1u) < interval; + } + + template + [[nodiscard]] PSPRECOMP_RUNTIME_FORCEINLINE bool invoke_resident_scheduler_fallback( + AllegrexContext &ctx, GuestMemory::AotFastView *shared_aot_mem = nullptr) { + return invoke_chained_direct_impl( + ctx, shared_aot_mem); + } + + template + [[nodiscard]] PSPRECOMP_RUNTIME_FORCEINLINE bool invoke_resident_generated_leaf( + AllegrexContext &ctx, GuestMemory::AotFastView *shared_aot_mem, + ResidentArgs &...resident_args) { + static_assert(UnitIndex < kGeneratedUnitFastCapacity, + "resident generated leaf unit outside fast table"); + if (shared_aot_mem != nullptr) { + Function(*shared_aot_mem, resident_args...); + } else { + auto local_aot_mem = memory_.aot_fast_view(); + Function(local_aot_mem, resident_args...); + } +#if defined(PSPRECOMP_RUNTIME_CHAIN_TELEMETRY) + if (g_unit_profile_enabled && UnitIndex < kUnitProfileCapacity) + ++g_unit_profile_counts[UnitIndex]; +#endif +#if !defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS) + if (track_dispatch_counters_) { + ++chained_dispatches_; + ++dispatch_work_count_; + } +#endif + if (chain_context_invalidated_) { + const std::uint64_t interval = g_runtime_starvation_interval_fast; + if (interval != 0u) ++dispatches_since_import_; + return false; + } + const std::uint64_t starvation_interval = g_runtime_starvation_interval_fast; + if (starvation_interval == 0u) return true; + // The caller checked resident_generated_leaf_fast_allowed() immediately + // before entering this leaf, so this increment cannot reach a preemption + // boundary while architectural state is still resident outside ctx. + ++dispatches_since_import_; + return true; + } + // Tier-2 hot-leaf lowering keeps the scheduler accounting that an ordinary // cross-unit generated call would have performed, while allowing trivial // leaf accessors to be emitted directly in their measured caller. No HLE diff --git a/profiles/vcs/CMakeLists.txt b/profiles/vcs/CMakeLists.txt index f4d6c5d..05411e5 100644 --- a/profiles/vcs/CMakeLists.txt +++ b/profiles/vcs/CMakeLists.txt @@ -195,6 +195,7 @@ set(VCS_HOST_SOURCES host/vcs_profile.cpp host/vcs_native_fast_paths.cpp host/vcs_compact_leaves.cpp + host/vcs_resident_regions.cpp host/framebuffer_capture.cpp host/display_window.cpp host/savedata_utility_ui.cpp diff --git a/profiles/vcs/generated/generated_unit_0000.cpp b/profiles/vcs/generated/generated_unit_0000.cpp index 64a8f2d..faa402c 100644 --- a/profiles/vcs/generated/generated_unit_0000.cpp +++ b/profiles/vcs/generated/generated_unit_0000.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,7 +139,7 @@ static const std::uint16_t kEntryIds_recomp_unit_0000[4095] = { }; void recomp_unit_0000_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,31,6,16 fprs=12,13,14,15 gpr_occ=4977 fpr_occ=343 gpr_total=6325 fpr_total=425 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,31,6,16 fprs=12,13,14,15 gpr_occ=5147 fpr_occ=343 gpr_total=6738 fpr_total=425 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; @@ -912,7 +913,7 @@ L_08804090: L_088040A4: aot_gpr_31 = (0x088040ACu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088040ACu) goto L_088040AC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088040ACu) goto L_088040AC; AOT_REGCACHE_SYNC_OUT(); return; L_088040AC: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -960,7 +961,7 @@ L_088040E8: L_088040F4: aot_gpr_31 = (0x088040FCu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088040FCu) goto L_088040FC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088040FCu) goto L_088040FC; AOT_REGCACHE_SYNC_OUT(); return; L_088040FC: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -1008,7 +1009,7 @@ L_08804138: L_08804144: aot_gpr_31 = (0x0880414Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880414Cu) goto L_0880414C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880414Cu) goto L_0880414C; AOT_REGCACHE_SYNC_OUT(); return; L_0880414C: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -1030,22 +1031,22 @@ L_08804158: L_08804170: aot_gpr_31 = (0x08804178u); aot_gpr_16 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08804178u) goto L_08804178; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08804178u) goto L_08804178; AOT_REGCACHE_SYNC_OUT(); return; L_08804178: aot_gpr_31 = (0x08804180u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08804180u) goto L_08804180; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08804180u) goto L_08804180; AOT_REGCACHE_SYNC_OUT(); return; L_08804180: aot_gpr_31 = (0x08804188u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08804188u) goto L_08804188; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08804188u) goto L_08804188; AOT_REGCACHE_SYNC_OUT(); return; L_08804188: aot_gpr_31 = (0x08804190u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08804190u) goto L_08804190; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08804190u) goto L_08804190; AOT_REGCACHE_SYNC_OUT(); return; L_08804190: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -1076,7 +1077,7 @@ L_088041C0: L_088041D8: aot_gpr_31 = (0x088041E0u); aot_gpr_16 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088041E0u) goto L_088041E0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088041E0u) goto L_088041E0; AOT_REGCACHE_SYNC_OUT(); return; L_088041E0: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -1114,7 +1115,7 @@ L_0880422C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0880424Cu); aot_gpr_6 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880424Cu) goto L_0880424C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880424Cu) goto L_0880424C; AOT_REGCACHE_SYNC_OUT(); return; L_0880424C: ctx.gpr[2] = (0u | 0u); @@ -1154,7 +1155,7 @@ L_088042A8: ctx.fpr[20] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(29704))); aot_gpr_31 = (0x088042B4u); ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088042B4u) goto L_088042B4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088042B4u) goto L_088042B4; AOT_REGCACHE_SYNC_OUT(); return; L_088042B4: aot_fpr_12 = ctx.fpr[22] - ctx.fpr[20]; @@ -1166,7 +1167,7 @@ L_088042B4: ctx.gpr[7] = (std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x088042D8u); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(29704), ctx.gpr[7]); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088042D8u) goto L_088042D8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088042D8u) goto L_088042D8; AOT_REGCACHE_SYNC_OUT(); return; L_088042D8: ctx.gpr[2] = (0u | 0u); @@ -1209,7 +1210,7 @@ L_08804340: ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(4))); aot_gpr_31 = (0x08804350u); ctx.gpr[23] = (static_cast(static_cast(ctx.gpr[22]) >> 31u)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08804350u) goto L_08804350; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08804350u) goto L_08804350; AOT_REGCACHE_SYNC_OUT(); return; L_08804350: aot_gpr_6 = (ctx.gpr[19] - ctx.gpr[22]); @@ -1217,7 +1218,7 @@ L_08804350: aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08804364u); ctx.gpr[7] = (static_cast(static_cast(aot_gpr_6) >> 31u)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08804364u) goto L_08804364; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08804364u) goto L_08804364; AOT_REGCACHE_SYNC_OUT(); return; L_08804364: ctx.gpr[1] = (ctx.gpr[3] << 1u); @@ -1235,7 +1236,7 @@ L_08804364: aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088043A0u); aot_gpr_6 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088043A0u) goto L_088043A0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088043A0u) goto L_088043A0; AOT_REGCACHE_SYNC_OUT(); return; L_088043A0: ctx.gpr[2] = (0u | 0u); @@ -1292,7 +1293,7 @@ L_088043F8: aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0880444Cu); aot_gpr_6 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880444Cu) goto L_0880444C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880444Cu) goto L_0880444C; AOT_REGCACHE_SYNC_OUT(); return; L_0880444C: ctx.gpr[2] = (0u | 0u); @@ -1346,7 +1347,7 @@ L_08804498: aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088044ECu); aot_gpr_6 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088044ECu) goto L_088044EC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088044ECu) goto L_088044EC; AOT_REGCACHE_SYNC_OUT(); return; L_088044EC: ctx.gpr[2] = (0u | 0u); @@ -1390,7 +1391,7 @@ L_08804538: ctx.gpr[7] = (std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08804564u); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(29704), ctx.gpr[7]); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08804564u) goto L_08804564; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08804564u) goto L_08804564; AOT_REGCACHE_SYNC_OUT(); return; L_08804564: ctx.gpr[2] = (0u | 0u); @@ -1437,7 +1438,7 @@ L_088045B0: ctx.gpr[7] = (std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x088045E8u); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(29704), ctx.gpr[7]); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088045E8u) goto L_088045E8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088045E8u) goto L_088045E8; AOT_REGCACHE_SYNC_OUT(); return; L_088045E8: ctx.gpr[2] = (0u | 0u); @@ -1512,7 +1513,7 @@ L_08804640: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088046D8u); aot_gpr_6 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088046D8u) goto L_088046D8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088046D8u) goto L_088046D8; AOT_REGCACHE_SYNC_OUT(); return; L_088046D8: ctx.gpr[2] = (0u | 0u); @@ -1645,7 +1646,7 @@ L_08804734: aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088047C8u); aot_gpr_6 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088047C8u) goto L_088047C8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088047C8u) goto L_088047C8; AOT_REGCACHE_SYNC_OUT(); return; L_088047C8: ctx.gpr[2] = (0u | 0u); @@ -1699,7 +1700,7 @@ L_08804824: ctx.gpr[7] = (std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08804868u); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(29704), ctx.gpr[7]); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08804868u) goto L_08804868; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08804868u) goto L_08804868; AOT_REGCACHE_SYNC_OUT(); return; L_08804868: ctx.gpr[2] = (0u | 0u); @@ -1776,7 +1777,7 @@ L_088048C4: aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08804928u); aot_gpr_6 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08804928u) goto L_08804928; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08804928u) goto L_08804928; AOT_REGCACHE_SYNC_OUT(); return; L_08804928: ctx.gpr[2] = (0u | 0u); @@ -1826,7 +1827,7 @@ L_08804994: aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088049ACu); aot_gpr_6 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088049ACu) goto L_088049AC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088049ACu) goto L_088049AC; AOT_REGCACHE_SYNC_OUT(); return; L_088049AC: ctx.gpr[2] = (0u | 0u); @@ -1871,7 +1872,7 @@ L_08804A04: aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08804A28u); aot_gpr_6 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08804A28u) goto L_08804A28; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08804A28u) goto L_08804A28; AOT_REGCACHE_SYNC_OUT(); return; L_08804A28: ctx.gpr[2] = (0u | 0u); @@ -1917,7 +1918,7 @@ L_08804A80: aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08804AA8u); aot_gpr_6 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08804AA8u) goto L_08804AA8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08804AA8u) goto L_08804AA8; AOT_REGCACHE_SYNC_OUT(); return; L_08804AA8: ctx.gpr[2] = (0u | 0u); @@ -2255,7 +2256,7 @@ L_08804D3C: L_08804D58: aot_gpr_31 = (0x08804D60u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-32696)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08804D60u) goto L_08804D60; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08804D60u) goto L_08804D60; AOT_REGCACHE_SYNC_OUT(); return; L_08804D60: aot_gpr_4 = (ctx.gpr[28] + static_cast(7600)); @@ -2309,7 +2310,7 @@ L_08804DB4: L_08804DD0: aot_gpr_31 = (0x08804DD8u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08804DD8u) goto L_08804DD8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2E4, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08804DD8u) goto L_08804DD8; AOT_REGCACHE_SYNC_OUT(); return; L_08804DD8: aot_gpr_4 = (aot_gpr_16 & 1u); @@ -2323,7 +2324,7 @@ L_08804DD8: L_08804DE4: aot_gpr_31 = (0x08804DECu); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08804DECu) goto L_08804DEC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08804DECu) goto L_08804DEC; AOT_REGCACHE_SYNC_OUT(); return; L_08804DEC: { std::uint32_t aot_run_words[3]{}; @@ -4262,7 +4263,7 @@ L_088062E8: L_088062F4: aot_gpr_31 = (0x088062FCu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088062FCu) goto L_088062FC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088062FCu) goto L_088062FC; AOT_REGCACHE_SYNC_OUT(); return; L_088062FC: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -5820,7 +5821,7 @@ L_08806E8C: L_08806E94: aot_gpr_31 = (0x08806E9Cu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08806E9Cu) goto L_08806E9C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08806E9Cu) goto L_08806E9C; AOT_REGCACHE_SYNC_OUT(); return; L_08806E9C: aot_gpr_4 = (ctx.gpr[17] | 0u); @@ -7560,7 +7561,7 @@ L_08807D60: L_08807D68: aot_gpr_31 = (0x08807D70u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08807D70u) goto L_08807D70; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08807D70u) goto L_08807D70; AOT_REGCACHE_SYNC_OUT(); return; L_08807D70: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-32540))); @@ -7568,7 +7569,7 @@ L_08807D70: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08807D84u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08807D84u) goto L_08807D84; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08807D84u) goto L_08807D84; AOT_REGCACHE_SYNC_OUT(); return; L_08807D84: ctx.gpr[1] = (ctx.gpr[3] << 1u); diff --git a/profiles/vcs/generated/generated_unit_0001.cpp b/profiles/vcs/generated/generated_unit_0001.cpp index d1da11b..c594b2a 100644 --- a/profiles/vcs/generated/generated_unit_0001.cpp +++ b/profiles/vcs/generated/generated_unit_0001.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,11 +139,11 @@ static const std::uint16_t kEntryIds_recomp_unit_0001[4096] = { }; void recomp_unit_0001_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,31,16,6 fprs=12,20,22,13 gpr_occ=4388 fpr_occ=292 gpr_total=5811 fpr_total=367 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,31,29,16,6 fprs=12,20,22,13 gpr_occ=4683 fpr_occ=299 gpr_total=6242 fpr_total=374 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; - std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; + std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_16 = ctx.gpr[16]; std::uint32_t aot_gpr_6 = ctx.gpr[6]; float aot_fpr_12 = ctx.fpr[12]; @@ -150,8 +151,8 @@ void recomp_unit_0001_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t dir float aot_fpr_22 = ctx.fpr[22]; float aot_fpr_13 = ctx.fpr[13]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[31] = aot_gpr_31; ctx.gpr[16] = aot_gpr_16; ctx.gpr[6] = aot_gpr_6; ctx.fpr[12] = aot_fpr_12; ctx.fpr[20] = aot_fpr_20; ctx.fpr[22] = aot_fpr_22; ctx.fpr[13] = aot_fpr_13; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_6 = ctx.gpr[6]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_22 = ctx.fpr[22]; aot_fpr_13 = ctx.fpr[13]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[31] = aot_gpr_31; ctx.gpr[29] = aot_gpr_29; ctx.gpr[16] = aot_gpr_16; ctx.gpr[6] = aot_gpr_6; ctx.fpr[12] = aot_fpr_12; ctx.fpr[20] = aot_fpr_20; ctx.fpr[22] = aot_fpr_22; ctx.fpr[13] = aot_fpr_13; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_6 = ctx.gpr[6]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_22 = ctx.fpr[22]; aot_fpr_13 = ctx.fpr[13]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -3058,7 +3059,7 @@ L_088091A8: aot_gpr_5 = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x088091B8u); aot_gpr_6 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088091B8u) goto L_088091B8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088091B8u) goto L_088091B8; AOT_REGCACHE_SYNC_OUT(); return; L_088091B8: ctx.gpr[2] = (0u | 0u); @@ -3565,7 +3566,7 @@ L_08809574: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(68))); aot_gpr_31 = (0x08809584u); aot_gpr_4 = (aot_gpr_4 + static_cast(31984)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08809584u) goto L_08809584; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08809584u) goto L_08809584; AOT_REGCACHE_SYNC_OUT(); return; L_08809584: aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(68), 0u); @@ -4344,7 +4345,7 @@ L_08809A84: L_08809A98: aot_gpr_31 = (0x08809AA0u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-32504)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08809AA0u) goto L_08809AA0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08809AA0u) goto L_08809AA0; AOT_REGCACHE_SYNC_OUT(); return; L_08809AA0: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -4374,7 +4375,7 @@ L_08809ABC: L_08809AD0: aot_gpr_31 = (0x08809AD8u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08809AD8u) goto L_08809AD8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08809AD8u) goto L_08809AD8; AOT_REGCACHE_SYNC_OUT(); return; L_08809AD8: aot_gpr_5 = (aot_gpr_16 + ctx.gpr[2]); @@ -4824,7 +4825,7 @@ L_08809DFC: L_08809E04: aot_gpr_31 = (0x08809E0Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08809E0Cu) goto L_08809E0C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08809E0Cu) goto L_08809E0C; AOT_REGCACHE_SYNC_OUT(); return; L_08809E0C: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -5228,7 +5229,7 @@ L_0880A0CC: ctx.gpr[20] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-32432))); aot_gpr_31 = (0x0880A0E4u); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880A0E4u) goto L_0880A0E4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880A0E4u) goto L_0880A0E4; AOT_REGCACHE_SYNC_OUT(); return; L_0880A0E4: ctx.gpr[19] = (ctx.gpr[3] | 0u); @@ -5239,7 +5240,7 @@ L_0880A0E4: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x0880A104u); aot_gpr_6 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880A104u) goto L_0880A104; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B6256C, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880A104u) goto L_0880A104; AOT_REGCACHE_SYNC_OUT(); return; L_0880A104: if (static_cast(ctx.gpr[2]) >= 0) { @@ -5255,7 +5256,7 @@ L_0880A10C: L_0880A118: aot_gpr_31 = (0x0880A120u); aot_gpr_4 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880A120u) goto L_0880A120; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B627F0, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880A120u) goto L_0880A120; AOT_REGCACHE_SYNC_OUT(); return; L_0880A120: aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-32460), std::bit_cast(ctx.fpr[0])); @@ -6120,7 +6121,7 @@ L_0880A728: L_0880A738: aot_gpr_31 = (0x0880A740u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-32448)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880A740u) goto L_0880A740; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880A740u) goto L_0880A740; AOT_REGCACHE_SYNC_OUT(); return; L_0880A740: aot_gpr_31 = (0x0880A748u); @@ -6954,7 +6955,7 @@ L_0880ADA8: L_0880ADB8: aot_gpr_31 = (0x0880ADC0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(52))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880ADC0u) goto L_0880ADC0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880ADC0u) goto L_0880ADC0; AOT_REGCACHE_SYNC_OUT(); return; L_0880ADC0: aot_gpr_31 = (0x0880ADC8u); @@ -7096,7 +7097,7 @@ L_0880AEF4: L_0880AF04: aot_gpr_31 = (0x0880AF0Cu); aot_gpr_4 = (ctx.gpr[28] + static_cast(-32388)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880AF0Cu) goto L_0880AF0C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880AF0Cu) goto L_0880AF0C; AOT_REGCACHE_SYNC_OUT(); return; L_0880AF0C: aot_gpr_4 = (16256u << 16u); @@ -7124,7 +7125,7 @@ L_0880AF48: aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_31 = (0x0880AF70u); aot_gpr_16 = (aot_gpr_4 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880AF70u) goto L_0880AF70; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806634, 0u, 302u, 0x08806634u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880AF70u) goto L_0880AF70; AOT_REGCACHE_SYNC_OUT(); return; L_0880AF70: ctx.gpr[21] = (ctx.gpr[2] | 0u); @@ -7156,13 +7157,13 @@ L_0880AFA0: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0880AFACu); aot_gpr_5 = (0u + static_cast(-1)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880AFACu) goto L_0880AFAC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880682C, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880AFACu) goto L_0880AFAC; AOT_REGCACHE_SYNC_OUT(); return; L_0880AFAC: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0880AFB8u); aot_gpr_5 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880AFB8u) goto L_0880AFB8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880682C, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880AFB8u) goto L_0880AFB8; AOT_REGCACHE_SYNC_OUT(); return; L_0880AFB8: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -7239,7 +7240,7 @@ L_0880B030: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0880B03Cu); aot_gpr_5 = (0u + static_cast(-2)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880B03Cu) goto L_0880B03C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806654, 0u, 303u, 0x08806654u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880B03Cu) goto L_0880B03C; AOT_REGCACHE_SYNC_OUT(); return; L_0880B03C: ctx.gpr[20] = (ctx.gpr[20] + static_cast(1)); @@ -7311,7 +7312,7 @@ L_0880B0D0: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0880B0DCu); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880B0DCu) goto L_0880B0DC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880692C, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880B0DCu) goto L_0880B0DC; AOT_REGCACHE_SYNC_OUT(); return; L_0880B0DC: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -7325,13 +7326,13 @@ L_0880B0E4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0880B0F0u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880B0F0u) goto L_0880B0F0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880B0F0u) goto L_0880B0F0; AOT_REGCACHE_SYNC_OUT(); return; L_0880B0F0: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0880B0FCu); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[0])); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880B0FCu) goto L_0880B0FC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880B0FCu) goto L_0880B0FC; AOT_REGCACHE_SYNC_OUT(); return; L_0880B0FC: { const bool branch_taken = 0u == 0u; @@ -7452,7 +7453,7 @@ L_0880B1C4: L_0880B1D0: aot_gpr_31 = (0x0880B1D8u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880B1D8u) goto L_0880B1D8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880B1D8u) goto L_0880B1D8; AOT_REGCACHE_SYNC_OUT(); return; L_0880B1D8: { const bool branch_taken = 0u == 0u; @@ -7531,7 +7532,7 @@ L_0880B25C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0880B268u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880B268u) goto L_0880B268; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880682C, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880B268u) goto L_0880B268; AOT_REGCACHE_SYNC_OUT(); return; L_0880B268: { const bool branch_taken = 0u == 0u; @@ -7551,7 +7552,7 @@ L_0880B27C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0880B288u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880B288u) goto L_0880B288; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880682C, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880B288u) goto L_0880B288; AOT_REGCACHE_SYNC_OUT(); return; L_0880B288: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -7646,7 +7647,7 @@ L_0880B31C: aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(4), aot_run_words); } aot_gpr_31 = (0x0880B340u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880B340u) goto L_0880B340; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806888, 0u, 324u, 0x08806888u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880B340u) goto L_0880B340; AOT_REGCACHE_SYNC_OUT(); return; L_0880B340: ctx.gpr[19] = (ctx.gpr[2] | 0u); @@ -7707,7 +7708,7 @@ L_0880B3A4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0880B3B0u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880B3B0u) goto L_0880B3B0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806654, 0u, 303u, 0x08806654u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880B3B0u) goto L_0880B3B0; AOT_REGCACHE_SYNC_OUT(); return; L_0880B3B0: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -7739,7 +7740,7 @@ L_0880B3DC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(104), aot_gpr_31); aot_gpr_31 = (0x0880B3F8u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880B3F8u) goto L_0880B3F8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806888, 0u, 324u, 0x08806888u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880B3F8u) goto L_0880B3F8; AOT_REGCACHE_SYNC_OUT(); return; L_0880B3F8: aot_gpr_4 = (0u | 6u); @@ -7754,7 +7755,7 @@ L_0880B404: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0880B410u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880B410u) goto L_0880B410; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880682C, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880B410u) goto L_0880B410; AOT_REGCACHE_SYNC_OUT(); return; L_0880B410: { const bool branch_taken = 0u == 0u; @@ -7822,7 +7823,7 @@ L_0880B484: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0880B490u); aot_gpr_5 = (0u + static_cast(-1)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880B490u) goto L_0880B490; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806888, 0u, 324u, 0x08806888u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880B490u) goto L_0880B490; AOT_REGCACHE_SYNC_OUT(); return; L_0880B490: { const bool branch_taken = ctx.gpr[2] != 0u; @@ -7879,7 +7880,7 @@ L_0880B4F4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0880B500u); aot_gpr_5 = (0u + static_cast(-1)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880B500u) goto L_0880B500; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806888, 0u, 324u, 0x08806888u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880B500u) goto L_0880B500; AOT_REGCACHE_SYNC_OUT(); return; L_0880B500: ctx.gpr[2] = (0u < ctx.gpr[2] ? 1u : 0u); @@ -7914,7 +7915,7 @@ L_0880B538: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0880B544u); aot_gpr_5 = (0u + static_cast(-2)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880B544u) goto L_0880B544; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806654, 0u, 303u, 0x08806654u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880B544u) goto L_0880B544; AOT_REGCACHE_SYNC_OUT(); return; L_0880B544: ctx.gpr[2] = (0u | 1u); @@ -7971,19 +7972,19 @@ L_0880B5A4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0880B5B0u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880B5B0u) goto L_0880B5B0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806654, 0u, 303u, 0x08806654u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880B5B0u) goto L_0880B5B0; AOT_REGCACHE_SYNC_OUT(); return; L_0880B5B0: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0880B5BCu); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880B5BCu) goto L_0880B5BC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880682C, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880B5BCu) goto L_0880B5BC; AOT_REGCACHE_SYNC_OUT(); return; L_0880B5BC: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0880B5C8u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880B5C8u) goto L_0880B5C8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880692C, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880B5C8u) goto L_0880B5C8; AOT_REGCACHE_SYNC_OUT(); return; L_0880B5C8: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -7996,7 +7997,7 @@ L_0880B5C8: L_0880B5D0: aot_gpr_31 = (0x0880B5D8u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880B5D8u) goto L_0880B5D8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880B5D8u) goto L_0880B5D8; AOT_REGCACHE_SYNC_OUT(); return; L_0880B5D8: aot_fpr_12 = std::bit_cast(0u); @@ -8082,7 +8083,7 @@ L_0880B674: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0880B680u); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880B680u) goto L_0880B680; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880B680u) goto L_0880B680; AOT_REGCACHE_SYNC_OUT(); return; L_0880B680: ctx.gpr[2] = (ctx.gpr[17] | 0u); @@ -8193,7 +8194,7 @@ L_0880B760: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0880B770u); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880B770u) goto L_0880B770; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880B770u) goto L_0880B770; AOT_REGCACHE_SYNC_OUT(); return; L_0880B770: aot_gpr_31 = (0x0880B778u); @@ -8205,7 +8206,7 @@ L_0880B778: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0880B788u); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880B788u) goto L_0880B788; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880B788u) goto L_0880B788; AOT_REGCACHE_SYNC_OUT(); return; L_0880B788: ctx.gpr[2] = (0u | 2u); @@ -8259,7 +8260,7 @@ L_0880B7FC: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0880B808u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880B808u) goto L_0880B808; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806888, 0u, 324u, 0x08806888u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880B808u) goto L_0880B808; AOT_REGCACHE_SYNC_OUT(); return; L_0880B808: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -8305,7 +8306,7 @@ L_0880B860: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0880B870u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880B870u) goto L_0880B870; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806654, 0u, 303u, 0x08806654u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880B870u) goto L_0880B870; AOT_REGCACHE_SYNC_OUT(); return; L_0880B870: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -8380,7 +8381,7 @@ L_0880B8E8: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0880B8F4u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880B8F4u) goto L_0880B8F4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880682C, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880B8F4u) goto L_0880B8F4; AOT_REGCACHE_SYNC_OUT(); return; L_0880B8F4: aot_gpr_31 = (0x0880B8FCu); @@ -8407,7 +8408,7 @@ L_0880B910: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); aot_gpr_31 = (0x0880B934u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880B934u) goto L_0880B934; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880B934u) goto L_0880B934; AOT_REGCACHE_SYNC_OUT(); return; L_0880B934: aot_fpr_22 = std::bit_cast(std::bit_cast(ctx.fpr[0])); @@ -8432,7 +8433,7 @@ L_0880B95C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0880B968u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880B968u) goto L_0880B968; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806888, 0u, 324u, 0x08806888u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880B968u) goto L_0880B968; AOT_REGCACHE_SYNC_OUT(); return; L_0880B968: { const bool branch_taken = ctx.gpr[2] == ctx.gpr[17]; @@ -8450,7 +8451,7 @@ L_0880B970: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0880B98Cu); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880B98Cu) goto L_0880B98C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880B98Cu) goto L_0880B98C; AOT_REGCACHE_SYNC_OUT(); return; L_0880B98C: aot_fpr_13 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_20)); @@ -8465,7 +8466,7 @@ L_0880B9A0: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0880B9B0u); aot_gpr_5 = (0u + static_cast(-1)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880B9B0u) goto L_0880B9B0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806888, 0u, 324u, 0x08806888u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880B9B0u) goto L_0880B9B0; AOT_REGCACHE_SYNC_OUT(); return; L_0880B9B0: if (ctx.gpr[2] == 0u) { @@ -8498,13 +8499,13 @@ L_0880B9DC: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0880B9E8u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880B9E8u) goto L_0880B9E8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880682C, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880B9E8u) goto L_0880B9E8; AOT_REGCACHE_SYNC_OUT(); return; L_0880B9E8: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0880B9F4u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880B9F4u) goto L_0880B9F4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880B9F4u) goto L_0880B9F4; AOT_REGCACHE_SYNC_OUT(); return; L_0880B9F4: { const bool branch_taken = 0u == 0u; @@ -8667,7 +8668,7 @@ L_0880BB3C: ctx.gpr[18] = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x0880BB48u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880BB48u) goto L_0880BB48; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806634, 0u, 302u, 0x08806634u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880BB48u) goto L_0880BB48; AOT_REGCACHE_SYNC_OUT(); return; L_0880BB48: ctx.gpr[17] = (ctx.gpr[2] | 0u); @@ -8699,7 +8700,7 @@ L_0880BB68: L_0880BB78: aot_gpr_31 = (0x0880BB80u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880BB80u) goto L_0880BB80; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806634, 0u, 302u, 0x08806634u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880BB80u) goto L_0880BB80; AOT_REGCACHE_SYNC_OUT(); return; L_0880BB80: ctx.gpr[2] = (ctx.gpr[2] - ctx.gpr[17]); @@ -8731,7 +8732,7 @@ L_0880BBBC: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0880BBC8u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880BBC8u) goto L_0880BBC8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806AE0, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880BBC8u) goto L_0880BBC8; AOT_REGCACHE_SYNC_OUT(); return; L_0880BBC8: { const bool branch_taken = ctx.gpr[2] != 0u; @@ -8770,7 +8771,7 @@ L_0880BC04: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0880BC10u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880BC10u) goto L_0880BC10; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806654, 0u, 303u, 0x08806654u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880BC10u) goto L_0880BC10; AOT_REGCACHE_SYNC_OUT(); return; L_0880BC10: ctx.gpr[2] = (ctx.gpr[17] | 0u); @@ -8867,7 +8868,7 @@ L_0880BCB8: L_0880BCD0: aot_gpr_31 = (0x0880BCD8u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880BCD8u) goto L_0880BCD8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806634, 0u, 302u, 0x08806634u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880BCD8u) goto L_0880BCD8; AOT_REGCACHE_SYNC_OUT(); return; L_0880BCD8: aot_gpr_5 = (ctx.gpr[2] + static_cast(-1)); @@ -8881,7 +8882,7 @@ L_0880BCEC: aot_gpr_5 = (ctx.gpr[2] < static_cast(1) ? 1u : 0u); aot_gpr_31 = (0x0880BCF8u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880BCF8u) goto L_0880BCF8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880BCF8u) goto L_0880BCF8; AOT_REGCACHE_SYNC_OUT(); return; L_0880BCF8: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -8892,7 +8893,7 @@ L_0880BCF8: L_0880BD04: aot_gpr_31 = (0x0880BD0Cu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880BD0Cu) goto L_0880BD0C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806634, 0u, 302u, 0x08806634u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880BD0Cu) goto L_0880BD0C; AOT_REGCACHE_SYNC_OUT(); return; L_0880BD0C: aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -8916,7 +8917,7 @@ L_0880BD34: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0880BD40u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880BD40u) goto L_0880BD40; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806654, 0u, 303u, 0x08806654u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880BD40u) goto L_0880BD40; AOT_REGCACHE_SYNC_OUT(); return; L_0880BD40: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -8936,7 +8937,7 @@ L_0880BD60: aot_gpr_5 = (ctx.gpr[2] < static_cast(1) ? 1u : 0u); aot_gpr_31 = (0x0880BD6Cu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880BD6Cu) goto L_0880BD6C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880BD6Cu) goto L_0880BD6C; AOT_REGCACHE_SYNC_OUT(); return; L_0880BD6C: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -8947,7 +8948,7 @@ L_0880BD6C: L_0880BD78: aot_gpr_31 = (0x0880BD80u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880BD80u) goto L_0880BD80; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806634, 0u, 302u, 0x08806634u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880BD80u) goto L_0880BD80; AOT_REGCACHE_SYNC_OUT(); return; L_0880BD80: aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -8989,7 +8990,7 @@ L_0880BDCC: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0880BDD8u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880BDD8u) goto L_0880BDD8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806888, 0u, 324u, 0x08806888u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880BDD8u) goto L_0880BDD8; AOT_REGCACHE_SYNC_OUT(); return; L_0880BDD8: aot_gpr_4 = (ctx.gpr[2] | 0u); @@ -9044,7 +9045,7 @@ L_0880BE28: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0880BE34u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880BE34u) goto L_0880BE34; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880682C, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880BE34u) goto L_0880BE34; AOT_REGCACHE_SYNC_OUT(); return; L_0880BE34: { const bool branch_taken = 0u == 0u; @@ -9058,7 +9059,7 @@ L_0880BE3C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0880BE48u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880BE48u) goto L_0880BE48; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806AE0, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880BE48u) goto L_0880BE48; AOT_REGCACHE_SYNC_OUT(); return; L_0880BE48: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -9218,7 +9219,7 @@ L_0880BF44: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); aot_gpr_31 = (0x0880BF68u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880BF68u) goto L_0880BF68; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806654, 0u, 303u, 0x08806654u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880BF68u) goto L_0880BF68; AOT_REGCACHE_SYNC_OUT(); return; L_0880BF68: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -9230,7 +9231,7 @@ L_0880BF74: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0880BF80u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880BF80u) goto L_0880BF80; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806AE0, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880BF80u) goto L_0880BF80; AOT_REGCACHE_SYNC_OUT(); return; L_0880BF80: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -9244,7 +9245,7 @@ L_0880BF88: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0880BF94u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880BF94u) goto L_0880BF94; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806888, 0u, 324u, 0x08806888u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880BF94u) goto L_0880BF94; AOT_REGCACHE_SYNC_OUT(); return; L_0880BF94: { const bool branch_taken = ctx.gpr[2] != ctx.gpr[18]; @@ -9263,13 +9264,13 @@ L_0880BFA4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0880BFB0u); aot_gpr_5 = (0u + static_cast(-1)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880BFB0u) goto L_0880BFB0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880682C, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880BFB0u) goto L_0880BFB0; AOT_REGCACHE_SYNC_OUT(); return; L_0880BFB0: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0880BFBCu); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880BFBCu) goto L_0880BFBC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880BFBCu) goto L_0880BFBC; AOT_REGCACHE_SYNC_OUT(); return; L_0880BFBC: aot_gpr_4 = (aot_gpr_16 | 0u); diff --git a/profiles/vcs/generated/generated_unit_0002.cpp b/profiles/vcs/generated/generated_unit_0002.cpp index 1c98a0b..7084214 100644 --- a/profiles/vcs/generated/generated_unit_0002.cpp +++ b/profiles/vcs/generated/generated_unit_0002.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,11 +139,11 @@ static const std::uint16_t kEntryIds_recomp_unit_0002[4094] = { }; void recomp_unit_0002_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,31,16,17 fprs=12,13,14,15 gpr_occ=3765 fpr_occ=841 gpr_total=5184 fpr_total=1278 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,31,29,16,17 fprs=12,13,14,15 gpr_occ=4343 fpr_occ=853 gpr_total=5942 fpr_total=1290 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; - std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; + std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_16 = ctx.gpr[16]; std::uint32_t aot_gpr_17 = ctx.gpr[17]; float aot_fpr_12 = ctx.fpr[12]; @@ -150,8 +151,8 @@ void recomp_unit_0002_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t dir float aot_fpr_14 = ctx.fpr[14]; float aot_fpr_15 = ctx.fpr[15]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[31] = aot_gpr_31; ctx.gpr[16] = aot_gpr_16; ctx.gpr[17] = aot_gpr_17; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[15] = aot_fpr_15; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_17 = ctx.gpr[17]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_15 = ctx.fpr[15]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[31] = aot_gpr_31; ctx.gpr[29] = aot_gpr_29; ctx.gpr[16] = aot_gpr_16; ctx.gpr[17] = aot_gpr_17; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[15] = aot_fpr_15; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_17 = ctx.gpr[17]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_15 = ctx.fpr[15]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -967,14 +968,14 @@ LOCAL_DISPATCH: L_0880C000: aot_gpr_31 = (0x0880C008u); aot_gpr_5 = (0u + static_cast(-1)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880C008u) goto L_0880C008; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806AE0, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880C008u) goto L_0880C008; AOT_REGCACHE_SYNC_OUT(); return; L_0880C008: aot_gpr_17 = (ctx.gpr[2] | 0u); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0880C018u); aot_gpr_5 = (0u + static_cast(-2)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880C018u) goto L_0880C018; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806654, 0u, 303u, 0x08806654u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880C018u) goto L_0880C018; AOT_REGCACHE_SYNC_OUT(); return; L_0880C018: { const bool branch_taken = aot_gpr_17 != 0u; @@ -1047,7 +1048,7 @@ L_0880C098: aot_gpr_4 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x0880C0A8u); aot_gpr_5 = (0u + static_cast(-2)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880C0A8u) goto L_0880C0A8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806654, 0u, 303u, 0x08806654u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880C0A8u) goto L_0880C0A8; AOT_REGCACHE_SYNC_OUT(); return; L_0880C0A8: { const bool branch_taken = aot_gpr_16 == 0u; @@ -1142,7 +1143,7 @@ L_0880C120: L_0880C12C: aot_gpr_31 = (0x0880C134u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880C134u) goto L_0880C134; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880C134u) goto L_0880C134; AOT_REGCACHE_SYNC_OUT(); return; L_0880C134: ctx.gpr[18] = (aot_gpr_16 + ctx.gpr[2]); @@ -1220,7 +1221,7 @@ L_0880C1D4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0880C1E0u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880C1E0u) goto L_0880C1E0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880682C, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880C1E0u) goto L_0880C1E0; AOT_REGCACHE_SYNC_OUT(); return; L_0880C1E0: ctx.gpr[20] = (ctx.gpr[18] + static_cast(1)); @@ -1279,7 +1280,7 @@ L_0880C258: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0880C264u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880C264u) goto L_0880C264; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806654, 0u, 303u, 0x08806654u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880C264u) goto L_0880C264; AOT_REGCACHE_SYNC_OUT(); return; L_0880C264: aot_gpr_5 = (ctx.gpr[28] + static_cast(-31932)); @@ -1298,7 +1299,7 @@ L_0880C27C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0880C28Cu); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880C28Cu) goto L_0880C28C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806888, 0u, 324u, 0x08806888u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880C28Cu) goto L_0880C28C; AOT_REGCACHE_SYNC_OUT(); return; L_0880C28C: aot_gpr_4 = (0u | 5u); @@ -1318,7 +1319,7 @@ L_0880C2A0: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0880C2B0u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880C2B0u) goto L_0880C2B0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880682C, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880C2B0u) goto L_0880C2B0; AOT_REGCACHE_SYNC_OUT(); return; L_0880C2B0: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -1330,7 +1331,7 @@ L_0880C2BC: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0880C2C8u); aot_gpr_5 = (0u + static_cast(-1)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880C2C8u) goto L_0880C2C8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806AE0, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880C2C8u) goto L_0880C2C8; AOT_REGCACHE_SYNC_OUT(); return; L_0880C2C8: { const bool branch_taken = ctx.gpr[2] != 0u; @@ -1375,7 +1376,7 @@ L_0880C2F8: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0880C304u); aot_gpr_5 = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880C304u) goto L_0880C304; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806654, 0u, 303u, 0x08806654u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880C304u) goto L_0880C304; AOT_REGCACHE_SYNC_OUT(); return; L_0880C304: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -1463,7 +1464,7 @@ L_0880C388: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0880C394u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880C394u) goto L_0880C394; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880682C, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880C394u) goto L_0880C394; AOT_REGCACHE_SYNC_OUT(); return; L_0880C394: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -1481,7 +1482,7 @@ L_0880C3AC: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0880C3B8u); aot_gpr_5 = (0u + static_cast(-10001)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880C3B8u) goto L_0880C3B8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880C3B8u) goto L_0880C3B8; AOT_REGCACHE_SYNC_OUT(); return; L_0880C3B8: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -1512,13 +1513,13 @@ L_0880C3EC: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0880C3F8u); aot_gpr_5 = (0u + static_cast(-10001)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880C3F8u) goto L_0880C3F8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880C3F8u) goto L_0880C3F8; AOT_REGCACHE_SYNC_OUT(); return; L_0880C3F8: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0880C404u); aot_gpr_5 = (0u + static_cast(-1)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880C404u) goto L_0880C404; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806888, 0u, 324u, 0x08806888u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880C404u) goto L_0880C404; AOT_REGCACHE_SYNC_OUT(); return; L_0880C404: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -1608,7 +1609,7 @@ L_0880C498: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0880C4A4u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880C4A4u) goto L_0880C4A4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880C4A4u) goto L_0880C4A4; AOT_REGCACHE_SYNC_OUT(); return; L_0880C4A4: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -1620,13 +1621,13 @@ L_0880C4B0: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0880C4BCu); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880C4BCu) goto L_0880C4BC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880682C, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880C4BCu) goto L_0880C4BC; AOT_REGCACHE_SYNC_OUT(); return; L_0880C4BC: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0880C4C8u); aot_gpr_5 = (0u + static_cast(-2)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880C4C8u) goto L_0880C4C8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880682C, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880C4C8u) goto L_0880C4C8; AOT_REGCACHE_SYNC_OUT(); return; L_0880C4C8: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -1706,7 +1707,7 @@ L_0880C558: L_0880C560: aot_gpr_31 = (0x0880C568u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880C568u) goto L_0880C568; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806634, 0u, 302u, 0x08806634u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880C568u) goto L_0880C568; AOT_REGCACHE_SYNC_OUT(); return; L_0880C568: ctx.gpr[18] = (ctx.gpr[2] | 0u); @@ -1798,7 +1799,7 @@ L_0880C5FC: L_0880C60C: aot_gpr_31 = (0x0880C614u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880C614u) goto L_0880C614; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806634, 0u, 302u, 0x08806634u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880C614u) goto L_0880C614; AOT_REGCACHE_SYNC_OUT(); return; L_0880C614: ctx.gpr[6] = (ctx.gpr[2] + static_cast(-1)); @@ -1819,7 +1820,7 @@ L_0880C630: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0880C63Cu); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880C63Cu) goto L_0880C63C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880C63Cu) goto L_0880C63C; AOT_REGCACHE_SYNC_OUT(); return; L_0880C63C: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -1839,7 +1840,7 @@ L_0880C650: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0880C65Cu); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880C65Cu) goto L_0880C65C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880C65Cu) goto L_0880C65C; AOT_REGCACHE_SYNC_OUT(); return; L_0880C65C: aot_gpr_17 = (aot_gpr_17 + static_cast(1)); @@ -1878,7 +1879,7 @@ L_0880C6A0: aot_gpr_17 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x0880C6ACu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880C6ACu) goto L_0880C6AC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806634, 0u, 302u, 0x08806634u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880C6ACu) goto L_0880C6AC; AOT_REGCACHE_SYNC_OUT(); return; L_0880C6AC: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -1960,7 +1961,7 @@ L_0880C73C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0880C750u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880C750u) goto L_0880C750; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806888, 0u, 324u, 0x08806888u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880C750u) goto L_0880C750; AOT_REGCACHE_SYNC_OUT(); return; L_0880C750: aot_gpr_4 = (0u | 6u); @@ -1999,7 +2000,7 @@ L_0880C784: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0880C790u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880C790u) goto L_0880C790; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880682C, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880C790u) goto L_0880C790; AOT_REGCACHE_SYNC_OUT(); return; L_0880C790: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -2055,7 +2056,7 @@ L_0880C7FC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x0880C810u); aot_gpr_16 = (aot_gpr_4 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880C810u) goto L_0880C810; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806634, 0u, 302u, 0x08806634u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880C810u) goto L_0880C810; AOT_REGCACHE_SYNC_OUT(); return; L_0880C810: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -2141,7 +2142,7 @@ L_0880C89C: L_0880C8A4: aot_gpr_31 = (0x0880C8ACu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880C8ACu) goto L_0880C8AC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806634, 0u, 302u, 0x08806634u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880C8ACu) goto L_0880C8AC; AOT_REGCACHE_SYNC_OUT(); return; L_0880C8AC: { const bool branch_taken = ctx.gpr[2] != 0u; @@ -2202,7 +2203,7 @@ L_0880C914: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0880C920u); aot_gpr_5 = (0u + static_cast(-10001)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880C920u) goto L_0880C920; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880682C, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880C920u) goto L_0880C920; AOT_REGCACHE_SYNC_OUT(); return; L_0880C920: ctx.gpr[6] = (2231u << 16u); @@ -2249,7 +2250,7 @@ L_0880C97C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0880C988u); aot_gpr_5 = (0u + static_cast(-1)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880C988u) goto L_0880C988; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880682C, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880C988u) goto L_0880C988; AOT_REGCACHE_SYNC_OUT(); return; L_0880C988: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -2343,7 +2344,7 @@ L_0880CA48: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0880CA54u); aot_gpr_5 = (0u + static_cast(-10001)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CA54u) goto L_0880CA54; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CA54u) goto L_0880CA54; AOT_REGCACHE_SYNC_OUT(); return; L_0880CA54: ctx.gpr[2] = (0u | 0u); @@ -2605,7 +2606,7 @@ L_0880CC20: L_0880CC2C: aot_gpr_31 = (0x0880CC34u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CC34u) goto L_0880CC34; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CC34u) goto L_0880CC34; AOT_REGCACHE_SYNC_OUT(); return; L_0880CC34: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -2659,7 +2660,7 @@ L_0880CC84: L_0880CC90: aot_gpr_31 = (0x0880CC98u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CC98u) goto L_0880CC98; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CC98u) goto L_0880CC98; AOT_REGCACHE_SYNC_OUT(); return; L_0880CC98: aot_gpr_4 = (aot_gpr_17 + static_cast(6836)); @@ -2667,325 +2668,325 @@ L_0880CC98: L_0880CC9C: aot_gpr_31 = (0x0880CCA4u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CCA4u) goto L_0880CCA4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42D0, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, aot_gpr_17, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CCA4u) goto L_0880CCA4; AOT_REGCACHE_SYNC_OUT(); return; L_0880CCA4: aot_gpr_4 = (aot_gpr_17 + static_cast(6832)); aot_gpr_31 = (0x0880CCB0u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CCB0u) goto L_0880CCB0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42D0, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, aot_gpr_17, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CCB0u) goto L_0880CCB0; AOT_REGCACHE_SYNC_OUT(); return; L_0880CCB0: aot_gpr_4 = (aot_gpr_17 + static_cast(6828)); aot_gpr_31 = (0x0880CCBCu); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CCBCu) goto L_0880CCBC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42D0, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, aot_gpr_17, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CCBCu) goto L_0880CCBC; AOT_REGCACHE_SYNC_OUT(); return; L_0880CCBC: aot_gpr_4 = (aot_gpr_17 + static_cast(6824)); aot_gpr_31 = (0x0880CCC8u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CCC8u) goto L_0880CCC8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42D0, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, aot_gpr_17, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CCC8u) goto L_0880CCC8; AOT_REGCACHE_SYNC_OUT(); return; L_0880CCC8: aot_gpr_4 = (aot_gpr_17 + static_cast(6820)); aot_gpr_31 = (0x0880CCD4u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CCD4u) goto L_0880CCD4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42D0, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, aot_gpr_17, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CCD4u) goto L_0880CCD4; AOT_REGCACHE_SYNC_OUT(); return; L_0880CCD4: aot_gpr_4 = (aot_gpr_17 + static_cast(6816)); aot_gpr_31 = (0x0880CCE0u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CCE0u) goto L_0880CCE0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42D0, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, aot_gpr_17, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CCE0u) goto L_0880CCE0; AOT_REGCACHE_SYNC_OUT(); return; L_0880CCE0: aot_gpr_4 = (aot_gpr_17 + static_cast(6812)); aot_gpr_31 = (0x0880CCECu); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CCECu) goto L_0880CCEC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42D0, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, aot_gpr_17, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CCECu) goto L_0880CCEC; AOT_REGCACHE_SYNC_OUT(); return; L_0880CCEC: aot_gpr_4 = (aot_gpr_17 + static_cast(6808)); aot_gpr_31 = (0x0880CCF8u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CCF8u) goto L_0880CCF8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42D0, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, aot_gpr_17, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CCF8u) goto L_0880CCF8; AOT_REGCACHE_SYNC_OUT(); return; L_0880CCF8: aot_gpr_4 = (aot_gpr_17 + static_cast(6804)); aot_gpr_31 = (0x0880CD04u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CD04u) goto L_0880CD04; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42D0, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, aot_gpr_17, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CD04u) goto L_0880CD04; AOT_REGCACHE_SYNC_OUT(); return; L_0880CD04: aot_gpr_4 = (aot_gpr_17 + static_cast(6800)); aot_gpr_31 = (0x0880CD10u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CD10u) goto L_0880CD10; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42D0, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, aot_gpr_17, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CD10u) goto L_0880CD10; AOT_REGCACHE_SYNC_OUT(); return; L_0880CD10: aot_gpr_4 = (aot_gpr_17 + static_cast(6796)); aot_gpr_31 = (0x0880CD1Cu); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CD1Cu) goto L_0880CD1C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42D0, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, aot_gpr_17, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CD1Cu) goto L_0880CD1C; AOT_REGCACHE_SYNC_OUT(); return; L_0880CD1C: aot_gpr_4 = (aot_gpr_17 + static_cast(6792)); aot_gpr_31 = (0x0880CD28u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CD28u) goto L_0880CD28; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42D0, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, aot_gpr_17, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CD28u) goto L_0880CD28; AOT_REGCACHE_SYNC_OUT(); return; L_0880CD28: aot_gpr_4 = (aot_gpr_17 + static_cast(6788)); aot_gpr_31 = (0x0880CD34u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CD34u) goto L_0880CD34; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42D0, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, aot_gpr_17, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CD34u) goto L_0880CD34; AOT_REGCACHE_SYNC_OUT(); return; L_0880CD34: aot_gpr_4 = (aot_gpr_17 + static_cast(6784)); aot_gpr_31 = (0x0880CD40u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CD40u) goto L_0880CD40; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42D0, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, aot_gpr_17, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CD40u) goto L_0880CD40; AOT_REGCACHE_SYNC_OUT(); return; L_0880CD40: aot_gpr_4 = (aot_gpr_17 + static_cast(6780)); aot_gpr_31 = (0x0880CD4Cu); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CD4Cu) goto L_0880CD4C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42D0, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, aot_gpr_17, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CD4Cu) goto L_0880CD4C; AOT_REGCACHE_SYNC_OUT(); return; L_0880CD4C: aot_gpr_4 = (aot_gpr_17 + static_cast(6776)); aot_gpr_31 = (0x0880CD58u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CD58u) goto L_0880CD58; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42D0, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, aot_gpr_17, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CD58u) goto L_0880CD58; AOT_REGCACHE_SYNC_OUT(); return; L_0880CD58: aot_gpr_4 = (aot_gpr_17 + static_cast(6772)); aot_gpr_31 = (0x0880CD64u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CD64u) goto L_0880CD64; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42D0, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, aot_gpr_17, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CD64u) goto L_0880CD64; AOT_REGCACHE_SYNC_OUT(); return; L_0880CD64: aot_gpr_4 = (aot_gpr_17 + static_cast(6768)); aot_gpr_31 = (0x0880CD70u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CD70u) goto L_0880CD70; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42D0, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, aot_gpr_17, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CD70u) goto L_0880CD70; AOT_REGCACHE_SYNC_OUT(); return; L_0880CD70: aot_gpr_4 = (aot_gpr_17 + static_cast(6764)); aot_gpr_31 = (0x0880CD7Cu); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CD7Cu) goto L_0880CD7C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42D0, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, aot_gpr_17, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CD7Cu) goto L_0880CD7C; AOT_REGCACHE_SYNC_OUT(); return; L_0880CD7C: aot_gpr_4 = (aot_gpr_17 + static_cast(6760)); aot_gpr_31 = (0x0880CD88u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CD88u) goto L_0880CD88; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42D0, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, aot_gpr_17, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CD88u) goto L_0880CD88; AOT_REGCACHE_SYNC_OUT(); return; L_0880CD88: aot_gpr_4 = (aot_gpr_17 + static_cast(6756)); aot_gpr_31 = (0x0880CD94u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CD94u) goto L_0880CD94; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42D0, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, aot_gpr_17, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CD94u) goto L_0880CD94; AOT_REGCACHE_SYNC_OUT(); return; L_0880CD94: aot_gpr_4 = (aot_gpr_17 + static_cast(6752)); aot_gpr_31 = (0x0880CDA0u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CDA0u) goto L_0880CDA0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42D0, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, aot_gpr_17, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CDA0u) goto L_0880CDA0; AOT_REGCACHE_SYNC_OUT(); return; L_0880CDA0: aot_gpr_4 = (aot_gpr_17 + static_cast(6748)); aot_gpr_31 = (0x0880CDACu); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CDACu) goto L_0880CDAC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42D0, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, aot_gpr_17, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CDACu) goto L_0880CDAC; AOT_REGCACHE_SYNC_OUT(); return; L_0880CDAC: aot_gpr_4 = (aot_gpr_17 + static_cast(6744)); aot_gpr_31 = (0x0880CDB8u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CDB8u) goto L_0880CDB8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42D0, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, aot_gpr_17, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CDB8u) goto L_0880CDB8; AOT_REGCACHE_SYNC_OUT(); return; L_0880CDB8: aot_gpr_4 = (aot_gpr_17 + static_cast(6740)); aot_gpr_31 = (0x0880CDC4u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CDC4u) goto L_0880CDC4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42D0, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, aot_gpr_17, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CDC4u) goto L_0880CDC4; AOT_REGCACHE_SYNC_OUT(); return; L_0880CDC4: aot_gpr_4 = (aot_gpr_17 + static_cast(6736)); aot_gpr_31 = (0x0880CDD0u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CDD0u) goto L_0880CDD0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42D0, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, aot_gpr_17, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CDD0u) goto L_0880CDD0; AOT_REGCACHE_SYNC_OUT(); return; L_0880CDD0: aot_gpr_4 = (aot_gpr_17 + static_cast(6732)); aot_gpr_31 = (0x0880CDDCu); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CDDCu) goto L_0880CDDC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42D0, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, aot_gpr_17, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CDDCu) goto L_0880CDDC; AOT_REGCACHE_SYNC_OUT(); return; L_0880CDDC: aot_gpr_4 = (aot_gpr_17 + static_cast(6728)); aot_gpr_31 = (0x0880CDE8u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CDE8u) goto L_0880CDE8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42D0, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, aot_gpr_17, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CDE8u) goto L_0880CDE8; AOT_REGCACHE_SYNC_OUT(); return; L_0880CDE8: aot_gpr_4 = (aot_gpr_17 + static_cast(6724)); aot_gpr_31 = (0x0880CDF4u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CDF4u) goto L_0880CDF4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42D0, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, aot_gpr_17, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CDF4u) goto L_0880CDF4; AOT_REGCACHE_SYNC_OUT(); return; L_0880CDF4: aot_gpr_4 = (aot_gpr_17 + static_cast(6720)); aot_gpr_31 = (0x0880CE00u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CE00u) goto L_0880CE00; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42D0, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, aot_gpr_17, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CE00u) goto L_0880CE00; AOT_REGCACHE_SYNC_OUT(); return; L_0880CE00: aot_gpr_4 = (aot_gpr_17 + static_cast(6716)); aot_gpr_31 = (0x0880CE0Cu); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CE0Cu) goto L_0880CE0C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42D0, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, aot_gpr_17, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CE0Cu) goto L_0880CE0C; AOT_REGCACHE_SYNC_OUT(); return; L_0880CE0C: aot_gpr_4 = (aot_gpr_17 + static_cast(6712)); aot_gpr_31 = (0x0880CE18u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CE18u) goto L_0880CE18; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42D0, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, aot_gpr_17, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CE18u) goto L_0880CE18; AOT_REGCACHE_SYNC_OUT(); return; L_0880CE18: aot_gpr_4 = (aot_gpr_17 + static_cast(6708)); aot_gpr_31 = (0x0880CE24u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CE24u) goto L_0880CE24; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42D0, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, aot_gpr_17, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CE24u) goto L_0880CE24; AOT_REGCACHE_SYNC_OUT(); return; L_0880CE24: aot_gpr_4 = (aot_gpr_17 + static_cast(6704)); aot_gpr_31 = (0x0880CE30u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CE30u) goto L_0880CE30; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42D0, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, aot_gpr_17, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CE30u) goto L_0880CE30; AOT_REGCACHE_SYNC_OUT(); return; L_0880CE30: aot_gpr_4 = (aot_gpr_17 + static_cast(6700)); aot_gpr_31 = (0x0880CE3Cu); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CE3Cu) goto L_0880CE3C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42D0, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, aot_gpr_17, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CE3Cu) goto L_0880CE3C; AOT_REGCACHE_SYNC_OUT(); return; L_0880CE3C: aot_gpr_4 = (aot_gpr_17 + static_cast(6696)); aot_gpr_31 = (0x0880CE48u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CE48u) goto L_0880CE48; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42D0, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, aot_gpr_17, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CE48u) goto L_0880CE48; AOT_REGCACHE_SYNC_OUT(); return; L_0880CE48: aot_gpr_4 = (aot_gpr_17 + static_cast(6692)); aot_gpr_31 = (0x0880CE54u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CE54u) goto L_0880CE54; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42D0, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, aot_gpr_17, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CE54u) goto L_0880CE54; AOT_REGCACHE_SYNC_OUT(); return; L_0880CE54: aot_gpr_4 = (aot_gpr_17 + static_cast(6688)); aot_gpr_31 = (0x0880CE60u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CE60u) goto L_0880CE60; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42D0, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, aot_gpr_17, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CE60u) goto L_0880CE60; AOT_REGCACHE_SYNC_OUT(); return; L_0880CE60: aot_gpr_4 = (aot_gpr_17 + static_cast(6684)); aot_gpr_31 = (0x0880CE6Cu); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CE6Cu) goto L_0880CE6C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42D0, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, aot_gpr_17, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CE6Cu) goto L_0880CE6C; AOT_REGCACHE_SYNC_OUT(); return; L_0880CE6C: aot_gpr_4 = (aot_gpr_17 + static_cast(6680)); aot_gpr_31 = (0x0880CE78u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CE78u) goto L_0880CE78; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42D0, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, aot_gpr_17, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CE78u) goto L_0880CE78; AOT_REGCACHE_SYNC_OUT(); return; L_0880CE78: aot_gpr_4 = (aot_gpr_17 + static_cast(6676)); aot_gpr_31 = (0x0880CE84u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CE84u) goto L_0880CE84; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42D0, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, aot_gpr_17, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CE84u) goto L_0880CE84; AOT_REGCACHE_SYNC_OUT(); return; L_0880CE84: aot_gpr_4 = (aot_gpr_17 + static_cast(6672)); aot_gpr_31 = (0x0880CE90u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CE90u) goto L_0880CE90; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42D0, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, aot_gpr_17, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CE90u) goto L_0880CE90; AOT_REGCACHE_SYNC_OUT(); return; L_0880CE90: aot_gpr_4 = (aot_gpr_17 + static_cast(6668)); aot_gpr_31 = (0x0880CE9Cu); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CE9Cu) goto L_0880CE9C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42D0, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, aot_gpr_17, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CE9Cu) goto L_0880CE9C; AOT_REGCACHE_SYNC_OUT(); return; L_0880CE9C: aot_gpr_4 = (aot_gpr_17 + static_cast(6664)); aot_gpr_31 = (0x0880CEA8u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CEA8u) goto L_0880CEA8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42D0, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, aot_gpr_17, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CEA8u) goto L_0880CEA8; AOT_REGCACHE_SYNC_OUT(); return; L_0880CEA8: aot_gpr_4 = (aot_gpr_17 + static_cast(6660)); aot_gpr_31 = (0x0880CEB4u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CEB4u) goto L_0880CEB4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42D0, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, aot_gpr_17, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CEB4u) goto L_0880CEB4; AOT_REGCACHE_SYNC_OUT(); return; L_0880CEB4: aot_gpr_4 = (aot_gpr_17 + static_cast(6656)); aot_gpr_31 = (0x0880CEC0u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CEC0u) goto L_0880CEC0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42D0, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, aot_gpr_17, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CEC0u) goto L_0880CEC0; AOT_REGCACHE_SYNC_OUT(); return; L_0880CEC0: aot_gpr_4 = (aot_gpr_17 + static_cast(6652)); aot_gpr_31 = (0x0880CECCu); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CECCu) goto L_0880CECC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42D0, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, aot_gpr_17, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CECCu) goto L_0880CECC; AOT_REGCACHE_SYNC_OUT(); return; L_0880CECC: aot_gpr_4 = (aot_gpr_17 + static_cast(6648)); aot_gpr_31 = (0x0880CED8u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CED8u) goto L_0880CED8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42D0, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, aot_gpr_17, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CED8u) goto L_0880CED8; AOT_REGCACHE_SYNC_OUT(); return; L_0880CED8: aot_gpr_4 = (aot_gpr_17 + static_cast(6644)); aot_gpr_31 = (0x0880CEE4u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CEE4u) goto L_0880CEE4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42D0, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, aot_gpr_17, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CEE4u) goto L_0880CEE4; AOT_REGCACHE_SYNC_OUT(); return; L_0880CEE4: aot_gpr_4 = (aot_gpr_17 + static_cast(6640)); aot_gpr_31 = (0x0880CEF0u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CEF0u) goto L_0880CEF0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42D0, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, aot_gpr_17, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CEF0u) goto L_0880CEF0; AOT_REGCACHE_SYNC_OUT(); return; L_0880CEF0: aot_gpr_4 = (aot_gpr_17 + static_cast(6636)); aot_gpr_31 = (0x0880CEFCu); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CEFCu) goto L_0880CEFC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42D0, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, aot_gpr_17, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CEFCu) goto L_0880CEFC; AOT_REGCACHE_SYNC_OUT(); return; L_0880CEFC: aot_gpr_4 = (aot_gpr_17 + static_cast(6632)); aot_gpr_31 = (0x0880CF08u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CF08u) goto L_0880CF08; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42D0, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, aot_gpr_17, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CF08u) goto L_0880CF08; AOT_REGCACHE_SYNC_OUT(); return; L_0880CF08: aot_gpr_4 = (aot_gpr_17 + static_cast(6628)); aot_gpr_31 = (0x0880CF14u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CF14u) goto L_0880CF14; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42D0, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, aot_gpr_17, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CF14u) goto L_0880CF14; AOT_REGCACHE_SYNC_OUT(); return; L_0880CF14: aot_gpr_4 = (aot_gpr_17 + static_cast(6624)); aot_gpr_31 = (0x0880CF20u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CF20u) goto L_0880CF20; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42D0, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, aot_gpr_17, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CF20u) goto L_0880CF20; AOT_REGCACHE_SYNC_OUT(); return; L_0880CF20: { const bool branch_taken = aot_gpr_17 == 0u; @@ -3025,7 +3026,7 @@ L_0880CF4C: L_0880CF54: aot_gpr_31 = (0x0880CF5Cu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CF5Cu) goto L_0880CF5C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880CF5Cu) goto L_0880CF5C; AOT_REGCACHE_SYNC_OUT(); return; L_0880CF5C: { std::uint32_t aot_run_words[3]{}; @@ -3211,7 +3212,7 @@ L_0880D138: ctx.gpr[6] = (0u | 0u); aot_gpr_31 = (0x0880D160u); ctx.gpr[7] = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880D160u) goto L_0880D160; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880D160u) goto L_0880D160; AOT_REGCACHE_SYNC_OUT(); return; L_0880D160: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(0))); @@ -3241,7 +3242,7 @@ L_0880D194: ctx.gpr[6] = (0u | 0u); aot_gpr_31 = (0x0880D1B4u); ctx.gpr[7] = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880D1B4u) goto L_0880D1B4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880D1B4u) goto L_0880D1B4; AOT_REGCACHE_SYNC_OUT(); return; L_0880D1B4: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(0))); @@ -3258,7 +3259,7 @@ L_0880D1B4: ctx.gpr[6] = (0u | 0u); aot_gpr_31 = (0x0880D1ECu); ctx.gpr[7] = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880D1ECu) goto L_0880D1EC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880D1ECu) goto L_0880D1EC; AOT_REGCACHE_SYNC_OUT(); return; L_0880D1EC: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(0))); @@ -3546,7 +3547,7 @@ L_0880D498: aot_gpr_4 = (0u | 1u); aot_gpr_31 = (0x0880D4A4u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880D4A4u) goto L_0880D4A4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880D4A4u) goto L_0880D4A4; AOT_REGCACHE_SYNC_OUT(); return; L_0880D4A4: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(6848))); @@ -3565,7 +3566,7 @@ L_0880D4A4: ctx.gpr[8] = (std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x0880D4E4u); ctx.gpr[8] = (ctx.gpr[8] & 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880D4E4u) goto L_0880D4E4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880D4E4u) goto L_0880D4E4; AOT_REGCACHE_SYNC_OUT(); return; L_0880D4E4: aot_gpr_4 = (aot_gpr_17 | 0u); @@ -3986,7 +3987,7 @@ L_0880D7F8: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), aot_gpr_31); aot_gpr_31 = (0x0880D870u); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[17])); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880D870u) goto L_0880D870; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880D870u) goto L_0880D870; AOT_REGCACHE_SYNC_OUT(); return; L_0880D870: ctx.gpr[23] = (ctx.gpr[2] | 0u); @@ -3996,7 +3997,7 @@ L_0880D870: ctx.gpr[7] = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x0880D88Cu); ctx.gpr[8] = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880D88Cu) goto L_0880D88C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880D88Cu) goto L_0880D88C; AOT_REGCACHE_SYNC_OUT(); return; L_0880D88C: aot_gpr_4 = (ctx.gpr[22] | 0u); @@ -5656,7 +5657,7 @@ L_0880E6B0: L_0880E6CC: aot_gpr_31 = (0x0880E6D4u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880E6D4u) goto L_0880E6D4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880E6D4u) goto L_0880E6D4; AOT_REGCACHE_SYNC_OUT(); return; L_0880E6D4: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), ctx.gpr[21]); @@ -7650,7 +7651,7 @@ L_0880F748: aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_31 = (0x0880F790u); ctx.gpr[7] = (ctx.gpr[9] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880F790u) goto L_0880F790; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880F790u) goto L_0880F790; AOT_REGCACHE_SYNC_OUT(); return; L_0880F790: ctx.fpr[17] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(44))); @@ -8022,55 +8023,55 @@ L_0880FA88: aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(148), aot_run_words); } aot_gpr_31 = (0x0880FB04u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880FB04u) goto L_0880FB04; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880FB04u) goto L_0880FB04; AOT_REGCACHE_SYNC_OUT(); return; L_0880FB04: aot_gpr_4 = (0u | 8u); aot_gpr_31 = (0x0880FB10u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880FB10u) goto L_0880FB10; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880FB10u) goto L_0880FB10; AOT_REGCACHE_SYNC_OUT(); return; L_0880FB10: aot_gpr_4 = (0u | 9u); aot_gpr_31 = (0x0880FB1Cu); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880FB1Cu) goto L_0880FB1C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880FB1Cu) goto L_0880FB1C; AOT_REGCACHE_SYNC_OUT(); return; L_0880FB1C: aot_gpr_4 = (0u | 11u); aot_gpr_31 = (0x0880FB28u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880FB28u) goto L_0880FB28; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880FB28u) goto L_0880FB28; AOT_REGCACHE_SYNC_OUT(); return; L_0880FB28: aot_gpr_4 = (0u | 7u); aot_gpr_31 = (0x0880FB34u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880FB34u) goto L_0880FB34; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880FB34u) goto L_0880FB34; AOT_REGCACHE_SYNC_OUT(); return; L_0880FB34: aot_gpr_4 = (0u | 5u); aot_gpr_31 = (0x0880FB40u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880FB40u) goto L_0880FB40; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880FB40u) goto L_0880FB40; AOT_REGCACHE_SYNC_OUT(); return; L_0880FB40: aot_gpr_4 = (0u | 4u); aot_gpr_31 = (0x0880FB4Cu); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880FB4Cu) goto L_0880FB4C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880FB4Cu) goto L_0880FB4C; AOT_REGCACHE_SYNC_OUT(); return; L_0880FB4C: aot_gpr_4 = (0u | 6u); aot_gpr_31 = (0x0880FB58u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880FB58u) goto L_0880FB58; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880FB58u) goto L_0880FB58; AOT_REGCACHE_SYNC_OUT(); return; L_0880FB58: aot_gpr_4 = (0u | 10u); aot_gpr_31 = (0x0880FB64u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880FB64u) goto L_0880FB64; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880FB64u) goto L_0880FB64; AOT_REGCACHE_SYNC_OUT(); return; L_0880FB64: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-8744))); @@ -8283,7 +8284,7 @@ L_0880FDA0: aot_fpr_12 = aot_fpr_14 - ctx.fpr[24]; aot_gpr_31 = (0x0880FDECu); aot_fpr_15 = std::bit_cast(std::bit_cast(ctx.fpr[28])); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880FDECu) goto L_0880FDEC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880FDECu) goto L_0880FDEC; AOT_REGCACHE_SYNC_OUT(); return; L_0880FDEC: ctx.gpr[7] = (16256u << 16u); @@ -8312,7 +8313,7 @@ L_0880FE28: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x0880FE48u); aot_fpr_14 = aot_fpr_12 + ctx.fpr[24]; - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880FE48u) goto L_0880FE48; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880FE48u) goto L_0880FE48; AOT_REGCACHE_SYNC_OUT(); return; L_0880FE48: aot_gpr_4 = (aot_gpr_17 | 0u); @@ -8361,157 +8362,157 @@ L_0880FEAC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); aot_gpr_31 = (0x0880FED4u); aot_gpr_4 = (aot_gpr_4 + static_cast(6624)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880FED4u) goto L_0880FED4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42C4, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880FED4u) goto L_0880FED4; AOT_REGCACHE_SYNC_OUT(); return; L_0880FED4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); aot_gpr_31 = (0x0880FEE0u); aot_gpr_4 = (aot_gpr_4 + static_cast(6628)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880FEE0u) goto L_0880FEE0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42C4, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880FEE0u) goto L_0880FEE0; AOT_REGCACHE_SYNC_OUT(); return; L_0880FEE0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); aot_gpr_31 = (0x0880FEECu); aot_gpr_4 = (aot_gpr_4 + static_cast(6632)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880FEECu) goto L_0880FEEC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42C4, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880FEECu) goto L_0880FEEC; AOT_REGCACHE_SYNC_OUT(); return; L_0880FEEC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); aot_gpr_31 = (0x0880FEF8u); aot_gpr_4 = (aot_gpr_4 + static_cast(6636)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880FEF8u) goto L_0880FEF8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42C4, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880FEF8u) goto L_0880FEF8; AOT_REGCACHE_SYNC_OUT(); return; L_0880FEF8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); aot_gpr_31 = (0x0880FF04u); aot_gpr_4 = (aot_gpr_4 + static_cast(6640)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880FF04u) goto L_0880FF04; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42C4, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880FF04u) goto L_0880FF04; AOT_REGCACHE_SYNC_OUT(); return; L_0880FF04: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); aot_gpr_31 = (0x0880FF10u); aot_gpr_4 = (aot_gpr_4 + static_cast(6644)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880FF10u) goto L_0880FF10; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42C4, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880FF10u) goto L_0880FF10; AOT_REGCACHE_SYNC_OUT(); return; L_0880FF10: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); aot_gpr_31 = (0x0880FF1Cu); aot_gpr_4 = (aot_gpr_4 + static_cast(6648)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880FF1Cu) goto L_0880FF1C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42C4, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880FF1Cu) goto L_0880FF1C; AOT_REGCACHE_SYNC_OUT(); return; L_0880FF1C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); aot_gpr_31 = (0x0880FF28u); aot_gpr_4 = (aot_gpr_4 + static_cast(6652)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880FF28u) goto L_0880FF28; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42C4, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880FF28u) goto L_0880FF28; AOT_REGCACHE_SYNC_OUT(); return; L_0880FF28: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); aot_gpr_31 = (0x0880FF34u); aot_gpr_4 = (aot_gpr_4 + static_cast(6656)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880FF34u) goto L_0880FF34; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42C4, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880FF34u) goto L_0880FF34; AOT_REGCACHE_SYNC_OUT(); return; L_0880FF34: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); aot_gpr_31 = (0x0880FF40u); aot_gpr_4 = (aot_gpr_4 + static_cast(6660)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880FF40u) goto L_0880FF40; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42C4, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880FF40u) goto L_0880FF40; AOT_REGCACHE_SYNC_OUT(); return; L_0880FF40: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); aot_gpr_31 = (0x0880FF4Cu); aot_gpr_4 = (aot_gpr_4 + static_cast(6664)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880FF4Cu) goto L_0880FF4C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42C4, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880FF4Cu) goto L_0880FF4C; AOT_REGCACHE_SYNC_OUT(); return; L_0880FF4C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); aot_gpr_31 = (0x0880FF58u); aot_gpr_4 = (aot_gpr_4 + static_cast(6668)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880FF58u) goto L_0880FF58; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42C4, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880FF58u) goto L_0880FF58; AOT_REGCACHE_SYNC_OUT(); return; L_0880FF58: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); aot_gpr_31 = (0x0880FF64u); aot_gpr_4 = (aot_gpr_4 + static_cast(6672)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880FF64u) goto L_0880FF64; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42C4, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880FF64u) goto L_0880FF64; AOT_REGCACHE_SYNC_OUT(); return; L_0880FF64: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); aot_gpr_31 = (0x0880FF70u); aot_gpr_4 = (aot_gpr_4 + static_cast(6676)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880FF70u) goto L_0880FF70; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42C4, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880FF70u) goto L_0880FF70; AOT_REGCACHE_SYNC_OUT(); return; L_0880FF70: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); aot_gpr_31 = (0x0880FF7Cu); aot_gpr_4 = (aot_gpr_4 + static_cast(6680)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880FF7Cu) goto L_0880FF7C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42C4, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880FF7Cu) goto L_0880FF7C; AOT_REGCACHE_SYNC_OUT(); return; L_0880FF7C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); aot_gpr_31 = (0x0880FF88u); aot_gpr_4 = (aot_gpr_4 + static_cast(6684)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880FF88u) goto L_0880FF88; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42C4, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880FF88u) goto L_0880FF88; AOT_REGCACHE_SYNC_OUT(); return; L_0880FF88: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); aot_gpr_31 = (0x0880FF94u); aot_gpr_4 = (aot_gpr_4 + static_cast(6688)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880FF94u) goto L_0880FF94; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42C4, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880FF94u) goto L_0880FF94; AOT_REGCACHE_SYNC_OUT(); return; L_0880FF94: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); aot_gpr_31 = (0x0880FFA0u); aot_gpr_4 = (aot_gpr_4 + static_cast(6692)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880FFA0u) goto L_0880FFA0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42C4, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880FFA0u) goto L_0880FFA0; AOT_REGCACHE_SYNC_OUT(); return; L_0880FFA0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); aot_gpr_31 = (0x0880FFACu); aot_gpr_4 = (aot_gpr_4 + static_cast(6696)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880FFACu) goto L_0880FFAC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42C4, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880FFACu) goto L_0880FFAC; AOT_REGCACHE_SYNC_OUT(); return; L_0880FFAC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); aot_gpr_31 = (0x0880FFB8u); aot_gpr_4 = (aot_gpr_4 + static_cast(6700)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880FFB8u) goto L_0880FFB8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42C4, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880FFB8u) goto L_0880FFB8; AOT_REGCACHE_SYNC_OUT(); return; L_0880FFB8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); aot_gpr_31 = (0x0880FFC4u); aot_gpr_4 = (aot_gpr_4 + static_cast(6704)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880FFC4u) goto L_0880FFC4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42C4, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880FFC4u) goto L_0880FFC4; AOT_REGCACHE_SYNC_OUT(); return; L_0880FFC4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); aot_gpr_31 = (0x0880FFD0u); aot_gpr_4 = (aot_gpr_4 + static_cast(6708)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880FFD0u) goto L_0880FFD0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42C4, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880FFD0u) goto L_0880FFD0; AOT_REGCACHE_SYNC_OUT(); return; L_0880FFD0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); aot_gpr_31 = (0x0880FFDCu); aot_gpr_4 = (aot_gpr_4 + static_cast(6712)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880FFDCu) goto L_0880FFDC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42C4, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880FFDCu) goto L_0880FFDC; AOT_REGCACHE_SYNC_OUT(); return; L_0880FFDC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); aot_gpr_31 = (0x0880FFE8u); aot_gpr_4 = (aot_gpr_4 + static_cast(6716)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880FFE8u) goto L_0880FFE8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42C4, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880FFE8u) goto L_0880FFE8; AOT_REGCACHE_SYNC_OUT(); return; L_0880FFE8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); aot_gpr_31 = (0x0880FFF4u); aot_gpr_4 = (aot_gpr_4 + static_cast(6720)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880FFF4u) goto L_0880FFF4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42C4, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0880FFF4u) goto L_0880FFF4; AOT_REGCACHE_SYNC_OUT(); return; L_0880FFF4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); aot_gpr_31 = (0x08810000u); aot_gpr_4 = (aot_gpr_4 + static_cast(6724)); - (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); + (void)([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42C4, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } diff --git a/profiles/vcs/generated/generated_unit_0003.cpp b/profiles/vcs/generated/generated_unit_0003.cpp index 4e13d50..8e23628 100644 --- a/profiles/vcs/generated/generated_unit_0003.cpp +++ b/profiles/vcs/generated/generated_unit_0003.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0003[4091] = { }; void recomp_unit_0003_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,31,16,28 fprs=12,13,14,20 gpr_occ=3984 fpr_occ=589 gpr_total=5406 fpr_total=883 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,31,5,29,2,16 fprs=12,13,14,15 gpr_occ=4609 fpr_occ=601 gpr_total=6402 fpr_total=915 std::uint32_t aot_gpr_4 = ctx.gpr[4]; + std::uint32_t aot_gpr_31 = ctx.gpr[31]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; - std::uint32_t aot_gpr_31 = ctx.gpr[31]; + std::uint32_t aot_gpr_2 = ctx.gpr[2]; std::uint32_t aot_gpr_16 = ctx.gpr[16]; - std::uint32_t aot_gpr_28 = ctx.gpr[28]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_14 = ctx.fpr[14]; - float aot_fpr_20 = ctx.fpr[20]; + float aot_fpr_15 = ctx.fpr[15]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[31] = aot_gpr_31; ctx.gpr[16] = aot_gpr_16; ctx.gpr[28] = aot_gpr_28; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[20] = aot_fpr_20; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_28 = ctx.gpr[28]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_20 = ctx.fpr[20]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[31] = aot_gpr_31; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[2] = aot_gpr_2; ctx.gpr[16] = aot_gpr_16; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[15] = aot_fpr_15; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_2 = ctx.gpr[2]; aot_gpr_16 = ctx.gpr[16]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_15 = ctx.fpr[15]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -1201,169 +1202,169 @@ L_08810000: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); aot_gpr_31 = (0x0881000Cu); aot_gpr_4 = (aot_gpr_4 + static_cast(6728)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881000Cu) goto L_0881000C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42C4, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881000Cu) goto L_0881000C; AOT_REGCACHE_SYNC_OUT(); return; L_0881000C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); aot_gpr_31 = (0x08810018u); aot_gpr_4 = (aot_gpr_4 + static_cast(6732)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810018u) goto L_08810018; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42C4, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810018u) goto L_08810018; AOT_REGCACHE_SYNC_OUT(); return; L_08810018: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); aot_gpr_31 = (0x08810024u); aot_gpr_4 = (aot_gpr_4 + static_cast(6736)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810024u) goto L_08810024; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42C4, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810024u) goto L_08810024; AOT_REGCACHE_SYNC_OUT(); return; L_08810024: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); aot_gpr_31 = (0x08810030u); aot_gpr_4 = (aot_gpr_4 + static_cast(6740)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810030u) goto L_08810030; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42C4, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810030u) goto L_08810030; AOT_REGCACHE_SYNC_OUT(); return; L_08810030: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); aot_gpr_31 = (0x0881003Cu); aot_gpr_4 = (aot_gpr_4 + static_cast(6744)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881003Cu) goto L_0881003C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42C4, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881003Cu) goto L_0881003C; AOT_REGCACHE_SYNC_OUT(); return; L_0881003C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); aot_gpr_31 = (0x08810048u); aot_gpr_4 = (aot_gpr_4 + static_cast(6748)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810048u) goto L_08810048; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42C4, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810048u) goto L_08810048; AOT_REGCACHE_SYNC_OUT(); return; L_08810048: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); aot_gpr_31 = (0x08810054u); aot_gpr_4 = (aot_gpr_4 + static_cast(6752)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810054u) goto L_08810054; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42C4, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810054u) goto L_08810054; AOT_REGCACHE_SYNC_OUT(); return; L_08810054: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); aot_gpr_31 = (0x08810060u); aot_gpr_4 = (aot_gpr_4 + static_cast(6756)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810060u) goto L_08810060; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42C4, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810060u) goto L_08810060; AOT_REGCACHE_SYNC_OUT(); return; L_08810060: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); aot_gpr_31 = (0x0881006Cu); aot_gpr_4 = (aot_gpr_4 + static_cast(6760)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881006Cu) goto L_0881006C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42C4, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881006Cu) goto L_0881006C; AOT_REGCACHE_SYNC_OUT(); return; L_0881006C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); aot_gpr_31 = (0x08810078u); aot_gpr_4 = (aot_gpr_4 + static_cast(6764)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810078u) goto L_08810078; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42C4, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810078u) goto L_08810078; AOT_REGCACHE_SYNC_OUT(); return; L_08810078: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); aot_gpr_31 = (0x08810084u); aot_gpr_4 = (aot_gpr_4 + static_cast(6768)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810084u) goto L_08810084; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42C4, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810084u) goto L_08810084; AOT_REGCACHE_SYNC_OUT(); return; L_08810084: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); aot_gpr_31 = (0x08810090u); aot_gpr_4 = (aot_gpr_4 + static_cast(6772)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810090u) goto L_08810090; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42C4, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810090u) goto L_08810090; AOT_REGCACHE_SYNC_OUT(); return; L_08810090: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); aot_gpr_31 = (0x0881009Cu); aot_gpr_4 = (aot_gpr_4 + static_cast(6776)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881009Cu) goto L_0881009C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42C4, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881009Cu) goto L_0881009C; AOT_REGCACHE_SYNC_OUT(); return; L_0881009C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); aot_gpr_31 = (0x088100A8u); aot_gpr_4 = (aot_gpr_4 + static_cast(6780)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088100A8u) goto L_088100A8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42C4, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088100A8u) goto L_088100A8; AOT_REGCACHE_SYNC_OUT(); return; L_088100A8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); aot_gpr_31 = (0x088100B4u); aot_gpr_4 = (aot_gpr_4 + static_cast(6784)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088100B4u) goto L_088100B4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42C4, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088100B4u) goto L_088100B4; AOT_REGCACHE_SYNC_OUT(); return; L_088100B4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); aot_gpr_31 = (0x088100C0u); aot_gpr_4 = (aot_gpr_4 + static_cast(6788)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088100C0u) goto L_088100C0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42C4, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088100C0u) goto L_088100C0; AOT_REGCACHE_SYNC_OUT(); return; L_088100C0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); aot_gpr_31 = (0x088100CCu); aot_gpr_4 = (aot_gpr_4 + static_cast(6792)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088100CCu) goto L_088100CC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42C4, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088100CCu) goto L_088100CC; AOT_REGCACHE_SYNC_OUT(); return; L_088100CC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); aot_gpr_31 = (0x088100D8u); aot_gpr_4 = (aot_gpr_4 + static_cast(6796)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088100D8u) goto L_088100D8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42C4, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088100D8u) goto L_088100D8; AOT_REGCACHE_SYNC_OUT(); return; L_088100D8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); aot_gpr_31 = (0x088100E4u); aot_gpr_4 = (aot_gpr_4 + static_cast(6800)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088100E4u) goto L_088100E4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42C4, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088100E4u) goto L_088100E4; AOT_REGCACHE_SYNC_OUT(); return; L_088100E4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); aot_gpr_31 = (0x088100F0u); aot_gpr_4 = (aot_gpr_4 + static_cast(6804)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088100F0u) goto L_088100F0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42C4, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088100F0u) goto L_088100F0; AOT_REGCACHE_SYNC_OUT(); return; L_088100F0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); aot_gpr_31 = (0x088100FCu); aot_gpr_4 = (aot_gpr_4 + static_cast(6808)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088100FCu) goto L_088100FC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42C4, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088100FCu) goto L_088100FC; AOT_REGCACHE_SYNC_OUT(); return; L_088100FC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); aot_gpr_31 = (0x08810108u); aot_gpr_4 = (aot_gpr_4 + static_cast(6812)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810108u) goto L_08810108; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42C4, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810108u) goto L_08810108; AOT_REGCACHE_SYNC_OUT(); return; L_08810108: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); aot_gpr_31 = (0x08810114u); aot_gpr_4 = (aot_gpr_4 + static_cast(6816)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810114u) goto L_08810114; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42C4, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810114u) goto L_08810114; AOT_REGCACHE_SYNC_OUT(); return; L_08810114: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); aot_gpr_31 = (0x08810120u); aot_gpr_4 = (aot_gpr_4 + static_cast(6820)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810120u) goto L_08810120; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42C4, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810120u) goto L_08810120; AOT_REGCACHE_SYNC_OUT(); return; L_08810120: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); aot_gpr_31 = (0x0881012Cu); aot_gpr_4 = (aot_gpr_4 + static_cast(6824)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881012Cu) goto L_0881012C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42C4, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881012Cu) goto L_0881012C; AOT_REGCACHE_SYNC_OUT(); return; L_0881012C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); aot_gpr_31 = (0x08810138u); aot_gpr_4 = (aot_gpr_4 + static_cast(6828)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810138u) goto L_08810138; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42C4, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810138u) goto L_08810138; AOT_REGCACHE_SYNC_OUT(); return; L_08810138: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); aot_gpr_31 = (0x08810144u); aot_gpr_4 = (aot_gpr_4 + static_cast(6832)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810144u) goto L_08810144; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42C4, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810144u) goto L_08810144; AOT_REGCACHE_SYNC_OUT(); return; L_08810144: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); aot_gpr_31 = (0x08810150u); aot_gpr_4 = (aot_gpr_4 + static_cast(6836)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810150u) goto L_08810150; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42C4, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810150u) goto L_08810150; AOT_REGCACHE_SYNC_OUT(); return; L_08810150: aot_gpr_4 = (0u | 12u); @@ -1378,30 +1379,30 @@ L_08810150: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 474u, 0x08ABE308u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810178u) goto L_08810178; AOT_REGCACHE_SYNC_OUT(); return; L_08810178: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); { const bool branch_taken = aot_gpr_4 != 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); + aot_gpr_2 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); if (branch_taken) { goto L_0881019C; } goto L_08810188; } L_08810188: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_2); aot_gpr_31 = (0x08810194u); aot_gpr_4 = (aot_gpr_5 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 289u, 0x08B65438u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810194u) goto L_08810194; AOT_REGCACHE_SYNC_OUT(); return; L_08810194: - aot_gpr_4 = (ctx.gpr[2] | 0u); - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); + aot_gpr_4 = (aot_gpr_2 | 0u); + aot_gpr_2 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); goto L_0881019C; L_0881019C: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), aot_gpr_4); - aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(6896), aot_gpr_4); - aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(6900), 0u); + aot_mem.aot_direct_store32(aot_gpr_2 + static_cast(6896), aot_gpr_4); + aot_mem.aot_direct_store32(aot_gpr_2 + static_cast(6900), 0u); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -1419,339 +1420,339 @@ L_088101B8: AOT_REGCACHE_SYNC_OUT(); return; L_088101CC: aot_gpr_31 = (0x088101D4u); - aot_gpr_4 = (aot_gpr_28 + static_cast(-31784)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(-31784)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0170_entry, 170u, 584u, 0x08AAECA4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088101D4u) goto L_088101D4; AOT_REGCACHE_SYNC_OUT(); return; L_088101D4: aot_gpr_31 = (0x088101DCu); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0170_entry, 170u, 632u, 0x08AAEF5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088101DCu) goto L_088101DC; AOT_REGCACHE_SYNC_OUT(); return; L_088101DC: aot_gpr_4 = (aot_gpr_16 + static_cast(6624)); aot_gpr_31 = (0x088101E8u); - aot_gpr_5 = (aot_gpr_28 + static_cast(-31780)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088101E8u) goto L_088101E8; + aot_gpr_5 = (ctx.gpr[28] + static_cast(-31780)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF44E8, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088101E8u) goto L_088101E8; AOT_REGCACHE_SYNC_OUT(); return; L_088101E8: aot_gpr_4 = (aot_gpr_16 + static_cast(6628)); aot_gpr_31 = (0x088101F4u); - aot_gpr_5 = (aot_gpr_28 + static_cast(-31764)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088101F4u) goto L_088101F4; + aot_gpr_5 = (ctx.gpr[28] + static_cast(-31764)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF44E8, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088101F4u) goto L_088101F4; AOT_REGCACHE_SYNC_OUT(); return; L_088101F4: aot_gpr_4 = (aot_gpr_16 + static_cast(6632)); aot_gpr_31 = (0x08810200u); - aot_gpr_5 = (aot_gpr_28 + static_cast(-31756)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810200u) goto L_08810200; + aot_gpr_5 = (ctx.gpr[28] + static_cast(-31756)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF44E8, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810200u) goto L_08810200; AOT_REGCACHE_SYNC_OUT(); return; L_08810200: aot_gpr_4 = (aot_gpr_16 + static_cast(6636)); aot_gpr_31 = (0x0881020Cu); - aot_gpr_5 = (aot_gpr_28 + static_cast(-31744)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881020Cu) goto L_0881020C; + aot_gpr_5 = (ctx.gpr[28] + static_cast(-31744)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF44E8, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881020Cu) goto L_0881020C; AOT_REGCACHE_SYNC_OUT(); return; L_0881020C: aot_gpr_4 = (aot_gpr_16 + static_cast(6640)); aot_gpr_31 = (0x08810218u); - aot_gpr_5 = (aot_gpr_28 + static_cast(-31740)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810218u) goto L_08810218; + aot_gpr_5 = (ctx.gpr[28] + static_cast(-31740)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF44E8, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810218u) goto L_08810218; AOT_REGCACHE_SYNC_OUT(); return; L_08810218: aot_gpr_4 = (aot_gpr_16 + static_cast(6644)); aot_gpr_31 = (0x08810224u); - aot_gpr_5 = (aot_gpr_28 + static_cast(-31728)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810224u) goto L_08810224; + aot_gpr_5 = (ctx.gpr[28] + static_cast(-31728)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF44E8, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810224u) goto L_08810224; AOT_REGCACHE_SYNC_OUT(); return; L_08810224: aot_gpr_4 = (aot_gpr_16 + static_cast(6648)); aot_gpr_31 = (0x08810230u); - aot_gpr_5 = (aot_gpr_28 + static_cast(-31716)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810230u) goto L_08810230; + aot_gpr_5 = (ctx.gpr[28] + static_cast(-31716)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF44E8, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810230u) goto L_08810230; AOT_REGCACHE_SYNC_OUT(); return; L_08810230: aot_gpr_4 = (aot_gpr_16 + static_cast(6652)); aot_gpr_31 = (0x0881023Cu); - aot_gpr_5 = (aot_gpr_28 + static_cast(-31704)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881023Cu) goto L_0881023C; + aot_gpr_5 = (ctx.gpr[28] + static_cast(-31704)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF44E8, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881023Cu) goto L_0881023C; AOT_REGCACHE_SYNC_OUT(); return; L_0881023C: aot_gpr_4 = (aot_gpr_16 + static_cast(6656)); aot_gpr_31 = (0x08810248u); - aot_gpr_5 = (aot_gpr_28 + static_cast(-31696)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810248u) goto L_08810248; + aot_gpr_5 = (ctx.gpr[28] + static_cast(-31696)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF44E8, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810248u) goto L_08810248; AOT_REGCACHE_SYNC_OUT(); return; L_08810248: aot_gpr_4 = (aot_gpr_16 + static_cast(6660)); aot_gpr_31 = (0x08810254u); - aot_gpr_5 = (aot_gpr_28 + static_cast(-31688)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810254u) goto L_08810254; + aot_gpr_5 = (ctx.gpr[28] + static_cast(-31688)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF44E8, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810254u) goto L_08810254; AOT_REGCACHE_SYNC_OUT(); return; L_08810254: aot_gpr_4 = (aot_gpr_16 + static_cast(6664)); aot_gpr_31 = (0x08810260u); - aot_gpr_5 = (aot_gpr_28 + static_cast(-31676)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810260u) goto L_08810260; + aot_gpr_5 = (ctx.gpr[28] + static_cast(-31676)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF44E8, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810260u) goto L_08810260; AOT_REGCACHE_SYNC_OUT(); return; L_08810260: aot_gpr_4 = (aot_gpr_16 + static_cast(6668)); aot_gpr_31 = (0x0881026Cu); - aot_gpr_5 = (aot_gpr_28 + static_cast(-31664)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881026Cu) goto L_0881026C; + aot_gpr_5 = (ctx.gpr[28] + static_cast(-31664)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF44E8, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881026Cu) goto L_0881026C; AOT_REGCACHE_SYNC_OUT(); return; L_0881026C: aot_gpr_4 = (aot_gpr_16 + static_cast(6672)); aot_gpr_31 = (0x08810278u); - aot_gpr_5 = (aot_gpr_28 + static_cast(-31648)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810278u) goto L_08810278; + aot_gpr_5 = (ctx.gpr[28] + static_cast(-31648)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF44E8, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810278u) goto L_08810278; AOT_REGCACHE_SYNC_OUT(); return; L_08810278: aot_gpr_4 = (aot_gpr_16 + static_cast(6676)); aot_gpr_31 = (0x08810284u); - aot_gpr_5 = (aot_gpr_28 + static_cast(-31640)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810284u) goto L_08810284; + aot_gpr_5 = (ctx.gpr[28] + static_cast(-31640)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF44E8, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810284u) goto L_08810284; AOT_REGCACHE_SYNC_OUT(); return; L_08810284: aot_gpr_4 = (aot_gpr_16 + static_cast(6680)); aot_gpr_31 = (0x08810290u); - aot_gpr_5 = (aot_gpr_28 + static_cast(-31624)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810290u) goto L_08810290; + aot_gpr_5 = (ctx.gpr[28] + static_cast(-31624)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF44E8, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810290u) goto L_08810290; AOT_REGCACHE_SYNC_OUT(); return; L_08810290: aot_gpr_4 = (aot_gpr_16 + static_cast(6684)); aot_gpr_31 = (0x0881029Cu); - aot_gpr_5 = (aot_gpr_28 + static_cast(-31612)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881029Cu) goto L_0881029C; + aot_gpr_5 = (ctx.gpr[28] + static_cast(-31612)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF44E8, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881029Cu) goto L_0881029C; AOT_REGCACHE_SYNC_OUT(); return; L_0881029C: aot_gpr_4 = (aot_gpr_16 + static_cast(6688)); aot_gpr_31 = (0x088102A8u); - aot_gpr_5 = (aot_gpr_28 + static_cast(-31596)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088102A8u) goto L_088102A8; + aot_gpr_5 = (ctx.gpr[28] + static_cast(-31596)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF44E8, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088102A8u) goto L_088102A8; AOT_REGCACHE_SYNC_OUT(); return; L_088102A8: aot_gpr_4 = (aot_gpr_16 + static_cast(6692)); aot_gpr_31 = (0x088102B4u); - aot_gpr_5 = (aot_gpr_28 + static_cast(-31588)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088102B4u) goto L_088102B4; + aot_gpr_5 = (ctx.gpr[28] + static_cast(-31588)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF44E8, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088102B4u) goto L_088102B4; AOT_REGCACHE_SYNC_OUT(); return; L_088102B4: aot_gpr_4 = (aot_gpr_16 + static_cast(6696)); aot_gpr_31 = (0x088102C0u); - aot_gpr_5 = (aot_gpr_28 + static_cast(-31580)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088102C0u) goto L_088102C0; + aot_gpr_5 = (ctx.gpr[28] + static_cast(-31580)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF44E8, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088102C0u) goto L_088102C0; AOT_REGCACHE_SYNC_OUT(); return; L_088102C0: aot_gpr_4 = (aot_gpr_16 + static_cast(6700)); aot_gpr_31 = (0x088102CCu); - aot_gpr_5 = (aot_gpr_28 + static_cast(-31564)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088102CCu) goto L_088102CC; + aot_gpr_5 = (ctx.gpr[28] + static_cast(-31564)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF44E8, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088102CCu) goto L_088102CC; AOT_REGCACHE_SYNC_OUT(); return; L_088102CC: aot_gpr_4 = (aot_gpr_16 + static_cast(6704)); aot_gpr_31 = (0x088102D8u); - aot_gpr_5 = (aot_gpr_28 + static_cast(-31548)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088102D8u) goto L_088102D8; + aot_gpr_5 = (ctx.gpr[28] + static_cast(-31548)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF44E8, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088102D8u) goto L_088102D8; AOT_REGCACHE_SYNC_OUT(); return; L_088102D8: aot_gpr_4 = (aot_gpr_16 + static_cast(6708)); aot_gpr_31 = (0x088102E4u); - aot_gpr_5 = (aot_gpr_28 + static_cast(-31536)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088102E4u) goto L_088102E4; + aot_gpr_5 = (ctx.gpr[28] + static_cast(-31536)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF44E8, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088102E4u) goto L_088102E4; AOT_REGCACHE_SYNC_OUT(); return; L_088102E4: aot_gpr_4 = (aot_gpr_16 + static_cast(6712)); aot_gpr_31 = (0x088102F0u); - aot_gpr_5 = (aot_gpr_28 + static_cast(-31524)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088102F0u) goto L_088102F0; + aot_gpr_5 = (ctx.gpr[28] + static_cast(-31524)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF44E8, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088102F0u) goto L_088102F0; AOT_REGCACHE_SYNC_OUT(); return; L_088102F0: aot_gpr_4 = (aot_gpr_16 + static_cast(6716)); aot_gpr_31 = (0x088102FCu); - aot_gpr_5 = (aot_gpr_28 + static_cast(-31512)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088102FCu) goto L_088102FC; + aot_gpr_5 = (ctx.gpr[28] + static_cast(-31512)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF44E8, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088102FCu) goto L_088102FC; AOT_REGCACHE_SYNC_OUT(); return; L_088102FC: aot_gpr_4 = (aot_gpr_16 + static_cast(6720)); aot_gpr_31 = (0x08810308u); - aot_gpr_5 = (aot_gpr_28 + static_cast(-31500)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810308u) goto L_08810308; + aot_gpr_5 = (ctx.gpr[28] + static_cast(-31500)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF44E8, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810308u) goto L_08810308; AOT_REGCACHE_SYNC_OUT(); return; L_08810308: aot_gpr_4 = (aot_gpr_16 + static_cast(6724)); aot_gpr_31 = (0x08810314u); - aot_gpr_5 = (aot_gpr_28 + static_cast(-31488)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810314u) goto L_08810314; + aot_gpr_5 = (ctx.gpr[28] + static_cast(-31488)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF44E8, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810314u) goto L_08810314; AOT_REGCACHE_SYNC_OUT(); return; L_08810314: aot_gpr_4 = (aot_gpr_16 + static_cast(6728)); aot_gpr_31 = (0x08810320u); - aot_gpr_5 = (aot_gpr_28 + static_cast(-31476)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810320u) goto L_08810320; + aot_gpr_5 = (ctx.gpr[28] + static_cast(-31476)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF44E8, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810320u) goto L_08810320; AOT_REGCACHE_SYNC_OUT(); return; L_08810320: aot_gpr_4 = (aot_gpr_16 + static_cast(6732)); aot_gpr_31 = (0x0881032Cu); - aot_gpr_5 = (aot_gpr_28 + static_cast(-31464)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881032Cu) goto L_0881032C; + aot_gpr_5 = (ctx.gpr[28] + static_cast(-31464)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF44E8, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881032Cu) goto L_0881032C; AOT_REGCACHE_SYNC_OUT(); return; L_0881032C: aot_gpr_4 = (aot_gpr_16 + static_cast(6736)); aot_gpr_31 = (0x08810338u); - aot_gpr_5 = (aot_gpr_28 + static_cast(-31452)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810338u) goto L_08810338; + aot_gpr_5 = (ctx.gpr[28] + static_cast(-31452)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF44E8, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810338u) goto L_08810338; AOT_REGCACHE_SYNC_OUT(); return; L_08810338: aot_gpr_5 = (2231u << 16u); aot_gpr_4 = (aot_gpr_16 + static_cast(6740)); aot_gpr_31 = (0x08810348u); aot_gpr_5 = (aot_gpr_5 + static_cast(17592)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810348u) goto L_08810348; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF44E8, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810348u) goto L_08810348; AOT_REGCACHE_SYNC_OUT(); return; L_08810348: aot_gpr_5 = (2231u << 16u); aot_gpr_4 = (aot_gpr_16 + static_cast(6744)); aot_gpr_31 = (0x08810358u); aot_gpr_5 = (aot_gpr_5 + static_cast(17612)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810358u) goto L_08810358; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF44E8, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810358u) goto L_08810358; AOT_REGCACHE_SYNC_OUT(); return; L_08810358: aot_gpr_4 = (aot_gpr_16 + static_cast(6748)); aot_gpr_31 = (0x08810364u); - aot_gpr_5 = (aot_gpr_28 + static_cast(-31436)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810364u) goto L_08810364; + aot_gpr_5 = (ctx.gpr[28] + static_cast(-31436)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF44E8, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810364u) goto L_08810364; AOT_REGCACHE_SYNC_OUT(); return; L_08810364: aot_gpr_4 = (aot_gpr_16 + static_cast(6752)); aot_gpr_31 = (0x08810370u); - aot_gpr_5 = (aot_gpr_28 + static_cast(-31420)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810370u) goto L_08810370; + aot_gpr_5 = (ctx.gpr[28] + static_cast(-31420)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF44E8, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810370u) goto L_08810370; AOT_REGCACHE_SYNC_OUT(); return; L_08810370: aot_gpr_4 = (aot_gpr_16 + static_cast(6756)); aot_gpr_31 = (0x0881037Cu); - aot_gpr_5 = (aot_gpr_28 + static_cast(-31404)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881037Cu) goto L_0881037C; + aot_gpr_5 = (ctx.gpr[28] + static_cast(-31404)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF44E8, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881037Cu) goto L_0881037C; AOT_REGCACHE_SYNC_OUT(); return; L_0881037C: aot_gpr_4 = (aot_gpr_16 + static_cast(6760)); aot_gpr_31 = (0x08810388u); - aot_gpr_5 = (aot_gpr_28 + static_cast(-31388)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810388u) goto L_08810388; + aot_gpr_5 = (ctx.gpr[28] + static_cast(-31388)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF44E8, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810388u) goto L_08810388; AOT_REGCACHE_SYNC_OUT(); return; L_08810388: aot_gpr_4 = (aot_gpr_16 + static_cast(6764)); aot_gpr_31 = (0x08810394u); - aot_gpr_5 = (aot_gpr_28 + static_cast(-31376)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810394u) goto L_08810394; + aot_gpr_5 = (ctx.gpr[28] + static_cast(-31376)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF44E8, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810394u) goto L_08810394; AOT_REGCACHE_SYNC_OUT(); return; L_08810394: aot_gpr_4 = (aot_gpr_16 + static_cast(6768)); aot_gpr_31 = (0x088103A0u); - aot_gpr_5 = (aot_gpr_28 + static_cast(-31364)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088103A0u) goto L_088103A0; + aot_gpr_5 = (ctx.gpr[28] + static_cast(-31364)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF44E8, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088103A0u) goto L_088103A0; AOT_REGCACHE_SYNC_OUT(); return; L_088103A0: aot_gpr_4 = (aot_gpr_16 + static_cast(6772)); aot_gpr_31 = (0x088103ACu); - aot_gpr_5 = (aot_gpr_28 + static_cast(-31352)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088103ACu) goto L_088103AC; + aot_gpr_5 = (ctx.gpr[28] + static_cast(-31352)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF44E8, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088103ACu) goto L_088103AC; AOT_REGCACHE_SYNC_OUT(); return; L_088103AC: aot_gpr_4 = (aot_gpr_16 + static_cast(6776)); aot_gpr_31 = (0x088103B8u); - aot_gpr_5 = (aot_gpr_28 + static_cast(-31336)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088103B8u) goto L_088103B8; + aot_gpr_5 = (ctx.gpr[28] + static_cast(-31336)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF44E8, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088103B8u) goto L_088103B8; AOT_REGCACHE_SYNC_OUT(); return; L_088103B8: aot_gpr_4 = (aot_gpr_16 + static_cast(6780)); aot_gpr_31 = (0x088103C4u); - aot_gpr_5 = (aot_gpr_28 + static_cast(-31324)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088103C4u) goto L_088103C4; + aot_gpr_5 = (ctx.gpr[28] + static_cast(-31324)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF44E8, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088103C4u) goto L_088103C4; AOT_REGCACHE_SYNC_OUT(); return; L_088103C4: aot_gpr_4 = (aot_gpr_16 + static_cast(6784)); aot_gpr_31 = (0x088103D0u); - aot_gpr_5 = (aot_gpr_28 + static_cast(-31312)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088103D0u) goto L_088103D0; + aot_gpr_5 = (ctx.gpr[28] + static_cast(-31312)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF44E8, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088103D0u) goto L_088103D0; AOT_REGCACHE_SYNC_OUT(); return; L_088103D0: aot_gpr_4 = (aot_gpr_16 + static_cast(6788)); aot_gpr_31 = (0x088103DCu); - aot_gpr_5 = (aot_gpr_28 + static_cast(-31300)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088103DCu) goto L_088103DC; + aot_gpr_5 = (ctx.gpr[28] + static_cast(-31300)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF44E8, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088103DCu) goto L_088103DC; AOT_REGCACHE_SYNC_OUT(); return; L_088103DC: aot_gpr_4 = (aot_gpr_16 + static_cast(6792)); aot_gpr_31 = (0x088103E8u); - aot_gpr_5 = (aot_gpr_28 + static_cast(-31288)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088103E8u) goto L_088103E8; + aot_gpr_5 = (ctx.gpr[28] + static_cast(-31288)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF44E8, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088103E8u) goto L_088103E8; AOT_REGCACHE_SYNC_OUT(); return; L_088103E8: aot_gpr_4 = (aot_gpr_16 + static_cast(6796)); aot_gpr_31 = (0x088103F4u); - aot_gpr_5 = (aot_gpr_28 + static_cast(-31276)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088103F4u) goto L_088103F4; + aot_gpr_5 = (ctx.gpr[28] + static_cast(-31276)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF44E8, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088103F4u) goto L_088103F4; AOT_REGCACHE_SYNC_OUT(); return; L_088103F4: aot_gpr_4 = (aot_gpr_16 + static_cast(6800)); aot_gpr_31 = (0x08810400u); - aot_gpr_5 = (aot_gpr_28 + static_cast(-31260)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810400u) goto L_08810400; + aot_gpr_5 = (ctx.gpr[28] + static_cast(-31260)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF44E8, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810400u) goto L_08810400; AOT_REGCACHE_SYNC_OUT(); return; L_08810400: aot_gpr_4 = (aot_gpr_16 + static_cast(6804)); aot_gpr_31 = (0x0881040Cu); - aot_gpr_5 = (aot_gpr_28 + static_cast(-31244)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881040Cu) goto L_0881040C; + aot_gpr_5 = (ctx.gpr[28] + static_cast(-31244)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF44E8, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881040Cu) goto L_0881040C; AOT_REGCACHE_SYNC_OUT(); return; L_0881040C: aot_gpr_4 = (aot_gpr_16 + static_cast(6808)); aot_gpr_31 = (0x08810418u); - aot_gpr_5 = (aot_gpr_28 + static_cast(-31232)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810418u) goto L_08810418; + aot_gpr_5 = (ctx.gpr[28] + static_cast(-31232)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF44E8, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810418u) goto L_08810418; AOT_REGCACHE_SYNC_OUT(); return; L_08810418: aot_gpr_4 = (aot_gpr_16 + static_cast(6812)); aot_gpr_31 = (0x08810424u); - aot_gpr_5 = (aot_gpr_28 + static_cast(-31216)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810424u) goto L_08810424; + aot_gpr_5 = (ctx.gpr[28] + static_cast(-31216)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF44E8, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810424u) goto L_08810424; AOT_REGCACHE_SYNC_OUT(); return; L_08810424: aot_gpr_4 = (aot_gpr_16 + static_cast(6816)); aot_gpr_31 = (0x08810430u); - aot_gpr_5 = (aot_gpr_28 + static_cast(-31204)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810430u) goto L_08810430; + aot_gpr_5 = (ctx.gpr[28] + static_cast(-31204)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF44E8, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810430u) goto L_08810430; AOT_REGCACHE_SYNC_OUT(); return; L_08810430: aot_gpr_4 = (aot_gpr_16 + static_cast(6820)); aot_gpr_31 = (0x0881043Cu); - aot_gpr_5 = (aot_gpr_28 + static_cast(-31188)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881043Cu) goto L_0881043C; + aot_gpr_5 = (ctx.gpr[28] + static_cast(-31188)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF44E8, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881043Cu) goto L_0881043C; AOT_REGCACHE_SYNC_OUT(); return; L_0881043C: aot_gpr_4 = (aot_gpr_16 + static_cast(6824)); aot_gpr_31 = (0x08810448u); - aot_gpr_5 = (aot_gpr_28 + static_cast(-31172)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810448u) goto L_08810448; + aot_gpr_5 = (ctx.gpr[28] + static_cast(-31172)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF44E8, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810448u) goto L_08810448; AOT_REGCACHE_SYNC_OUT(); return; L_08810448: aot_gpr_4 = (aot_gpr_16 + static_cast(6828)); aot_gpr_31 = (0x08810454u); - aot_gpr_5 = (aot_gpr_28 + static_cast(-31160)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810454u) goto L_08810454; + aot_gpr_5 = (ctx.gpr[28] + static_cast(-31160)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF44E8, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810454u) goto L_08810454; AOT_REGCACHE_SYNC_OUT(); return; L_08810454: aot_gpr_4 = (aot_gpr_16 + static_cast(6832)); aot_gpr_31 = (0x08810460u); - aot_gpr_5 = (aot_gpr_28 + static_cast(-31144)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810460u) goto L_08810460; + aot_gpr_5 = (ctx.gpr[28] + static_cast(-31144)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF44E8, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810460u) goto L_08810460; AOT_REGCACHE_SYNC_OUT(); return; L_08810460: aot_gpr_4 = (aot_gpr_16 + static_cast(6836)); aot_gpr_31 = (0x0881046Cu); - aot_gpr_5 = (aot_gpr_28 + static_cast(-31132)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881046Cu) goto L_0881046C; + aot_gpr_5 = (ctx.gpr[28] + static_cast(-31132)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF44E8, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881046Cu) goto L_0881046C; AOT_REGCACHE_SYNC_OUT(); return; L_0881046C: aot_gpr_31 = (0x08810474u); @@ -1771,36 +1772,36 @@ L_08810484: aot_gpr_29 = (aot_gpr_29 + static_cast(-224)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(120), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(140), aot_gpr_4); - { const std::uint32_t aot_run_words[16]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; + { const std::uint32_t aot_run_words[16]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(148), aot_run_words); } aot_gpr_4 = (0u | 6u); aot_gpr_31 = (0x088104DCu); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088104DCu) goto L_088104DC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088104DCu) goto L_088104DC; AOT_REGCACHE_SYNC_OUT(); return; L_088104DC: aot_gpr_4 = (0u | 4u); aot_gpr_31 = (0x088104E8u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088104E8u) goto L_088104E8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088104E8u) goto L_088104E8; AOT_REGCACHE_SYNC_OUT(); return; L_088104E8: aot_gpr_4 = (0u | 10u); aot_gpr_31 = (0x088104F4u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088104F4u) goto L_088104F4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088104F4u) goto L_088104F4; AOT_REGCACHE_SYNC_OUT(); return; L_088104F4: aot_gpr_4 = (0u | 8u); aot_gpr_31 = (0x08810500u); aot_gpr_5 = (0u | 5u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810500u) goto L_08810500; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810500u) goto L_08810500; AOT_REGCACHE_SYNC_OUT(); return; L_08810500: aot_gpr_4 = (0u | 9u); aot_gpr_31 = (0x0881050Cu); aot_gpr_5 = (0u | 6u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881050Cu) goto L_0881050C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881050Cu) goto L_0881050C; AOT_REGCACHE_SYNC_OUT(); return; L_0881050C: ctx.fpr[26] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(120))); @@ -1874,13 +1875,13 @@ L_088105B0: goto L_088105C0; } L_088105C0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-15976))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15976))); aot_gpr_31 = (0x088105CCu); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088105CCu) goto L_088105CC; AOT_REGCACHE_SYNC_OUT(); return; L_088105CC: - aot_gpr_16 = (ctx.gpr[2] | 0u); + aot_gpr_16 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_16 == 0u; // nop if (branch_taken) { @@ -1894,7 +1895,7 @@ L_088105D8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 195u, 0x08910B38u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088105E0u) goto L_088105E0; AOT_REGCACHE_SYNC_OUT(); return; L_088105E0: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08810600; @@ -1962,13 +1963,13 @@ L_08810618: goto L_08810628; } L_08810628: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-15972))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); aot_gpr_31 = (0x08810634u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810634u) goto L_08810634; AOT_REGCACHE_SYNC_OUT(); return; L_08810634: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -2020,7 +2021,7 @@ L_08810668: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 192u, 0x08ADCA6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881067Cu) goto L_0881067C; AOT_REGCACHE_SYNC_OUT(); return; L_0881067C: - aot_gpr_16 = (ctx.gpr[2] | 0u); + aot_gpr_16 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_16 == 0u; // nop if (branch_taken) { @@ -2042,12 +2043,12 @@ L_088106A0: aot_gpr_4 = (ctx.gpr[30] | 0u); jump_target = ctx.gpr[6]; aot_gpr_31 = (0x088106B0u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088106B0u) goto L_088106B0; AOT_REGCACHE_SYNC_OUT(); return; L_088106B0: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; ctx.gpr[30] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(144))); if (branch_taken) { goto L_088106D0; @@ -2060,7 +2061,7 @@ L_088106B8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0008_entry, 8u, 19u, 0x08824204u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088106C0u) goto L_088106C0; AOT_REGCACHE_SYNC_OUT(); return; L_088106C0: - { const std::uint32_t vfpu_address = ctx.gpr[2] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_2 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -2095,7 +2096,7 @@ L_088106DC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088106ECu) goto L_088106EC; AOT_REGCACHE_SYNC_OUT(); return; L_088106EC: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(96), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(116))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); @@ -2198,11 +2199,11 @@ L_08810714: } L_08810764: ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(120))); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7716))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7716))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_31 = (0x08810778u); aot_gpr_4 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810778u) goto L_08810778; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810778u) goto L_08810778; AOT_REGCACHE_SYNC_OUT(); return; L_08810778: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), std::bit_cast(ctx.fpr[24])); @@ -2217,14 +2218,14 @@ L_08810778: AOT_REGCACHE_SYNC_OUT(); return; L_08810798: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), std::bit_cast(ctx.fpr[24])); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-8744))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-8744))); aot_gpr_5 = (static_cast(static_cast(aot_gpr_4) >> 1u)); aot_gpr_5 = (aot_gpr_5 >> 31u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 1u)); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-8740))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-8740))); aot_gpr_5 = (static_cast(static_cast(aot_gpr_4) >> 1u)); aot_gpr_5 = (aot_gpr_5 >> 31u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); @@ -2251,8 +2252,8 @@ L_088107EC: ctx.execute_vfpu_vdot_ct<28u, 0u, 0u, 3u>(); ctx.execute_vfpu_unary_ct<28u, 28u, 1u, 22u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); - aot_fpr_20 = std::bit_cast(aot_gpr_4); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[22] < aot_fpr_20)) ? 0x00800000u : 0u); + ctx.fpr[20] = std::bit_cast(aot_gpr_4); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[22] < ctx.fpr[20])) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -2366,7 +2367,7 @@ L_088108CC: aot_gpr_16 = (0u | 255u); aot_gpr_4 = (17302u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_20 <= aot_fpr_12)) ? 0x00800000u : 0u); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[20] <= aot_fpr_12)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -2384,7 +2385,7 @@ L_088108F4: goto L_088108FC; } L_088108FC: - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_20 <= ctx.fpr[26])) ? 0x00800000u : 0u); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[20] <= ctx.fpr[26])) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -2394,27 +2395,27 @@ L_088108FC: goto L_0881090C; } L_0881090C: - aot_fpr_12 = aot_fpr_20 - ctx.fpr[26]; + aot_fpr_12 = ctx.fpr[20] - ctx.fpr[26]; aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(124))); aot_fpr_12 = aot_fpr_12 / aot_fpr_13; aot_gpr_4 = (16256u << 16u); aot_gpr_5 = (17150u << 16u); ctx.gpr[6] = (17152u << 16u); aot_fpr_14 = std::bit_cast(aot_gpr_4); - ctx.fpr[15] = std::bit_cast(aot_gpr_5); - aot_fpr_20 = std::bit_cast(ctx.gpr[6]); + aot_fpr_15 = std::bit_cast(aot_gpr_5); + ctx.fpr[20] = std::bit_cast(ctx.gpr[6]); aot_fpr_12 = aot_fpr_14 - aot_fpr_12; - { const float fs = aot_fpr_12; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - aot_fpr_20 = aot_fpr_12 + aot_fpr_20; - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_20 < ctx.fpr[30])) ? 0x00800000u : 0u); + { const float fs = aot_fpr_12; const float ft = aot_fpr_15; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } + ctx.fpr[20] = aot_fpr_12 + ctx.fpr[20]; + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[20] < ctx.fpr[30])) ? 0x00800000u : 0u); // nop if (!((ctx.fcr31 & 0x00800000u) != 0u)) { - aot_fpr_12 = aot_fpr_20 - ctx.fpr[30]; + aot_fpr_12 = ctx.fpr[20] - ctx.fpr[30]; goto L_08810958; } goto L_0881094C; L_0881094C: - aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_20)); + aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[20])); { const bool branch_taken = 0u == 0u; aot_gpr_16 = (std::bit_cast(aot_fpr_12)); if (branch_taken) { @@ -2438,19 +2439,19 @@ L_08810968: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0002_entry, 2u, 654u, 0x0880F3B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810980u) goto L_08810980; AOT_REGCACHE_SYNC_OUT(); return; L_08810980: - aot_gpr_4 = (ctx.gpr[2] >> 24u); - aot_gpr_5 = (ctx.gpr[2] >> 16u); + aot_gpr_4 = (aot_gpr_2 >> 24u); + aot_gpr_5 = (aot_gpr_2 >> 16u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(112), static_cast(aot_gpr_4)); - aot_gpr_4 = (ctx.gpr[2] >> 8u); + aot_gpr_4 = (aot_gpr_2 >> 8u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(113), static_cast(aot_gpr_5)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(114), static_cast(aot_gpr_4)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(48))); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(115), static_cast(ctx.gpr[2])); + aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(115), static_cast(aot_gpr_2)); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(52))); ctx.gpr[8] = (16256u << 16u); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(56))); - ctx.fpr[15] = std::bit_cast(ctx.gpr[8]); - ctx.fpr[17] = ctx.fpr[15] / aot_fpr_14; + aot_fpr_15 = std::bit_cast(ctx.gpr[8]); + ctx.fpr[17] = aot_fpr_15 / aot_fpr_14; aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(112))); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(113))); ctx.gpr[7] = (aot_gpr_16 << 16u); @@ -2460,7 +2461,7 @@ L_08810980: ctx.fpr[16] = std::bit_cast(std::bit_cast(ctx.fpr[28])); ctx.fpr[18] = std::bit_cast(std::bit_cast(ctx.fpr[22])); aot_gpr_31 = (0x088109DCu); - ctx.fpr[15] = std::bit_cast(std::bit_cast(ctx.fpr[28])); + aot_fpr_15 = std::bit_cast(std::bit_cast(ctx.fpr[28])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0169_entry, 169u, 81u, 0x08AA9084u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088109DCu) goto L_088109DC; AOT_REGCACHE_SYNC_OUT(); return; L_088109DC: @@ -2477,24 +2478,24 @@ L_088109EC: aot_gpr_4 = (0u | 10u); aot_gpr_31 = (0x088109F8u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088109F8u) goto L_088109F8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088109F8u) goto L_088109F8; AOT_REGCACHE_SYNC_OUT(); return; L_088109F8: aot_gpr_4 = (0u | 6u); aot_gpr_31 = (0x08810A04u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810A04u) goto L_08810A04; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810A04u) goto L_08810A04; AOT_REGCACHE_SYNC_OUT(); return; L_08810A04: aot_gpr_4 = (0u | 4u); aot_gpr_31 = (0x08810A10u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810A10u) goto L_08810A10; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810A10u) goto L_08810A10; AOT_REGCACHE_SYNC_OUT(); return; L_08810A10: { std::uint32_t aot_run_words[16]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(148), aot_run_words); - aot_fpr_20 = std::bit_cast(aot_run_words[0]); + ctx.fpr[20] = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); ctx.fpr[26] = std::bit_cast(aot_run_words[3]); @@ -2524,7 +2525,7 @@ L_08810A58: ctx.gpr[17] = (ctx.gpr[17] + static_cast(32304)); ctx.gpr[6] = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(2052))); aot_gpr_5 = (0u | 1u); - { const std::uint32_t aot_run_words[4]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), aot_gpr_16}; + { const std::uint32_t aot_run_words[4]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), aot_gpr_16}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(308), aot_run_words); } { const std::uint32_t aot_run_words[8]{ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(328), aot_run_words); } @@ -2536,7 +2537,7 @@ L_08810A58: goto L_08810AA8; } L_08810AA8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5848))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5848))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -2551,11 +2552,11 @@ L_08810AB4: AOT_REGCACHE_SYNC_OUT(); return; L_08810ABC: aot_gpr_31 = (0x08810AC4u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5848))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5848))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0109_entry, 109u, 580u, 0x089BABACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810AC4u) goto L_08810AC4; AOT_REGCACHE_SYNC_OUT(); return; L_08810AC4: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08810B74; @@ -2566,44 +2567,44 @@ L_08810ACC: aot_gpr_4 = (0u | 6u); aot_gpr_31 = (0x08810AD8u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810AD8u) goto L_08810AD8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810AD8u) goto L_08810AD8; AOT_REGCACHE_SYNC_OUT(); return; L_08810AD8: aot_gpr_4 = (0u | 4u); aot_gpr_31 = (0x08810AE4u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810AE4u) goto L_08810AE4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810AE4u) goto L_08810AE4; AOT_REGCACHE_SYNC_OUT(); return; L_08810AE4: aot_gpr_4 = (0u | 10u); aot_gpr_31 = (0x08810AF0u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810AF0u) goto L_08810AF0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810AF0u) goto L_08810AF0; AOT_REGCACHE_SYNC_OUT(); return; L_08810AF0: aot_gpr_4 = (0u | 8u); aot_gpr_31 = (0x08810AFCu); aot_gpr_5 = (0u | 5u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810AFCu) goto L_08810AFC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810AFCu) goto L_08810AFC; AOT_REGCACHE_SYNC_OUT(); return; L_08810AFC: ctx.gpr[20] = (0u | 9u); aot_gpr_4 = (0u | 9u); aot_gpr_31 = (0x08810B0Cu); aot_gpr_5 = (0u | 6u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810B0Cu) goto L_08810B0C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810B0Cu) goto L_08810B0C; AOT_REGCACHE_SYNC_OUT(); return; L_08810B0C: aot_gpr_4 = (0u | 11u); aot_gpr_31 = (0x08810B18u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810B18u) goto L_08810B18; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810B18u) goto L_08810B18; AOT_REGCACHE_SYNC_OUT(); return; L_08810B18: - aot_fpr_20 = std::bit_cast(0u); + ctx.fpr[20] = std::bit_cast(0u); ctx.gpr[23] = (aot_gpr_29 + static_cast(32)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), std::bit_cast(aot_fpr_20)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), std::bit_cast(ctx.fpr[20])); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), std::bit_cast(ctx.fpr[20])); ctx.gpr[6] = (aot_gpr_29 + static_cast(16)); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08810B38u); @@ -2655,10 +2656,10 @@ L_08810B7C: ctx.gpr[6] = (0u | 255u); aot_gpr_31 = (0x08810B94u); ctx.gpr[7] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810B94u) goto L_08810B94; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810B94u) goto L_08810B94; AOT_REGCACHE_SYNC_OUT(); return; L_08810B94: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-7080))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7080))); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_16 = (aot_gpr_29 + static_cast(24)); if (branch_taken) { @@ -2687,13 +2688,13 @@ L_08810BB8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 156u, 0x08ADC7F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810BCCu) goto L_08810BCC; AOT_REGCACHE_SYNC_OUT(); return; L_08810BCC: - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(0))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(72), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(1))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(1))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(73), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(2))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(2))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(74), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(3))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(3))); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(75), static_cast(aot_gpr_4)); if (branch_taken) { @@ -2710,13 +2711,13 @@ L_08810BF0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 167u, 0x08ADC88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810C04u) goto L_08810C04; AOT_REGCACHE_SYNC_OUT(); return; L_08810C04: - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(0))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(72), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(1))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(1))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(73), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(2))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(2))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(74), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(3))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(3))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(75), static_cast(aot_gpr_4)); goto L_08810C24; L_08810C24: @@ -2725,7 +2726,7 @@ L_08810C24: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08810C2Cu) goto L_08810C2C; AOT_REGCACHE_SYNC_OUT(); return; L_08810C2C: - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(3336))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(3336))); if (aot_gpr_4 == 0u) { aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(6840))); goto L_08810CD8; @@ -2774,12 +2775,12 @@ L_08810C9C: goto L_08810CA4; } L_08810CA4: - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5972))); - ctx.fpr[15] = aot_fpr_13 + aot_fpr_12; + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5972))); + aot_fpr_15 = aot_fpr_13 + aot_fpr_12; aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(32))); - aot_fpr_14 = ctx.fpr[22] - ctx.fpr[15]; + aot_fpr_14 = ctx.fpr[22] - aot_fpr_15; aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(36))); ctx.gpr[6] = (aot_mem.aot_direct_load8(ctx.gpr[19] + static_cast(6848))); ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(72))); @@ -2792,11 +2793,11 @@ L_08810CD4: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(6840))); goto L_08810CD8; L_08810CD8: - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5956))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5956))); { const float fs = aot_fpr_12; const float ft = ctx.fpr[24]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5960))); - aot_fpr_13 = aot_fpr_13 + aot_fpr_20; - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), std::bit_cast(aot_fpr_20)); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5960))); + aot_fpr_13 = aot_fpr_13 + ctx.fpr[20]; + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), std::bit_cast(ctx.fpr[20])); ctx.gpr[7] = (16256u << 16u); aot_fpr_14 = aot_fpr_14 + aot_fpr_12; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), std::bit_cast(aot_fpr_12)); @@ -2932,7 +2933,7 @@ L_08810DE4: L_08810DF0: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(665))); if (aot_gpr_4 != ctx.gpr[18]) { - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(7720))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7720))); goto L_08810E0C; } goto L_08810DFC; @@ -2946,7 +2947,7 @@ L_08810DFC: goto L_08810E08; } L_08810E08: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(7720))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7720))); goto L_08810E0C; L_08810E0C: { const bool branch_taken = aot_gpr_4 == 0u; @@ -2957,7 +2958,7 @@ L_08810E0C: goto L_08810E14; } L_08810E14: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(7720))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7720))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -2998,7 +2999,7 @@ L_08810E40: goto L_08810E4C; } L_08810E4C: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(7720))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7720))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -3007,7 +3008,7 @@ L_08810E4C: goto L_08810E58; } L_08810E58: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(7720))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7720))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -3176,7 +3177,7 @@ L_08810F48: goto L_08810F50; } L_08810F50: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(7720))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7720))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -3185,7 +3186,7 @@ L_08810F50: goto L_08810F5C; } L_08810F5C: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(7720))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7720))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -3217,7 +3218,7 @@ L_08810F80: goto L_08810F88; } L_08810F88: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(7720))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7720))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -3226,7 +3227,7 @@ L_08810F88: goto L_08810F94; } L_08810F94: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(7720))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7720))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -3402,7 +3403,7 @@ L_08811080: goto L_08811090; } L_08811090: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(7720))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7720))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -3411,7 +3412,7 @@ L_08811090: goto L_0881109C; } L_0881109C: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(7720))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7720))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -3429,7 +3430,7 @@ L_088110A8: goto L_088110B4; } L_088110B4: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-7080))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7080))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -3621,7 +3622,7 @@ L_088111BC: goto L_088111CC; } L_088111CC: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-7080))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7080))); { const bool branch_taken = aot_gpr_4 == 0u; ctx.gpr[17] = (0u | 0u); if (branch_taken) { @@ -3637,7 +3638,7 @@ L_088111D8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 12u, 0x08ADC0F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088111E8u) goto L_088111E8; AOT_REGCACHE_SYNC_OUT(); return; L_088111E8: - aot_gpr_16 = (ctx.gpr[2] | 0u); + aot_gpr_16 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_16 == 0u; // nop if (branch_taken) { @@ -3662,7 +3663,7 @@ L_08811200: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08811210u) goto L_08811210; AOT_REGCACHE_SYNC_OUT(); return; L_08811210: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(96), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(256))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(4), static_cast(aot_gpr_4)); goto L_0881121C; @@ -3684,13 +3685,13 @@ L_08811234: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881123Cu) goto L_0881123C; AOT_REGCACHE_SYNC_OUT(); return; L_0881123C: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08811248u); aot_gpr_5 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 779u, 0x08947B90u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08811248u) goto L_08811248; AOT_REGCACHE_SYNC_OUT(); return; L_08811248: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08811254; @@ -3725,7 +3726,7 @@ L_08811278: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 192u, 0x08ADCA6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08811288u) goto L_08811288; AOT_REGCACHE_SYNC_OUT(); return; L_08811288: - aot_gpr_16 = (ctx.gpr[2] | 0u); + aot_gpr_16 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_16 == 0u; // nop if (branch_taken) { @@ -3752,16 +3753,16 @@ L_088112AC: AOT_REGCACHE_SYNC_OUT(); return; L_088112B4: aot_gpr_31 = (0x088112BCu); - aot_gpr_16 = (ctx.gpr[2] | 0u); + aot_gpr_16 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088112BCu) goto L_088112BC; AOT_REGCACHE_SYNC_OUT(); return; L_088112BC: aot_gpr_31 = (0x088112C4u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 696u, 0x0890EF94u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088112C4u) goto L_088112C4; AOT_REGCACHE_SYNC_OUT(); return; L_088112C4: - { const bool branch_taken = aot_gpr_16 != ctx.gpr[2]; + { const bool branch_taken = aot_gpr_16 != aot_gpr_2; // nop if (branch_taken) { goto L_088112D0; @@ -3780,7 +3781,7 @@ L_088112D0: goto L_088112D8; } L_088112D8: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(7720))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7720))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -3789,7 +3790,7 @@ L_088112D8: goto L_088112E4; } L_088112E4: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(7720))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7720))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -3837,14 +3838,14 @@ L_08811320: AOT_REGCACHE_SYNC_OUT(); return; L_08811328: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(6840))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5956))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5956))); { const float fs = aot_fpr_12; const float ft = ctx.fpr[24]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5960))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5960))); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[19] + static_cast(6851))); - ctx.fpr[15] = aot_fpr_13 - aot_fpr_12; + aot_fpr_15 = aot_fpr_13 - aot_fpr_12; ctx.fpr[16] = aot_fpr_14 - aot_fpr_12; aot_fpr_13 = aot_fpr_13 + aot_fpr_12; - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), std::bit_cast(ctx.fpr[15])); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), std::bit_cast(aot_fpr_15)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), std::bit_cast(ctx.fpr[16])); aot_fpr_12 = aot_fpr_14 + aot_fpr_12; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), std::bit_cast(aot_fpr_13)); @@ -3871,7 +3872,7 @@ L_08811360: const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_20)}; + { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[20])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(112), aot_run_words); } aot_gpr_31 = (0x08811384u); aot_gpr_5 = (aot_gpr_29 + static_cast(112)); @@ -3880,7 +3881,7 @@ L_08811360: L_08811384: aot_gpr_16 = (aot_gpr_29 + static_cast(24)); aot_gpr_4 = (16256u << 16u); - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; ctx.fpr[22] = std::bit_cast(aot_gpr_4); if (branch_taken) { goto L_08811410; @@ -3888,7 +3889,7 @@ L_08811384: goto L_08811394; } L_08811394: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(7720))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7720))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -3926,11 +3927,11 @@ L_088113DC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 58u, 0x089604E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088113E4u) goto L_088113E4; AOT_REGCACHE_SYNC_OUT(); return; L_088113E4: - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(0))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(0))); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[22])); ctx.gpr[6] = (aot_gpr_29 + static_cast(136)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(136), std::bit_cast(aot_fpr_13)); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(4))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(4))); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(140), std::bit_cast(aot_fpr_13)); aot_gpr_31 = (0x08811408u); @@ -3947,7 +3948,7 @@ L_08811408: } L_08811410: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(6880))); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(aot_fpr_20)) && aot_fpr_12 == aot_fpr_20)) ? 0x00800000u : 0u); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(ctx.fpr[20])) && aot_fpr_12 == ctx.fpr[20])) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -3958,7 +3959,7 @@ L_08811410: } L_08811424: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(6884))); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(aot_fpr_20)) && aot_fpr_12 == aot_fpr_20)) ? 0x00800000u : 0u); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(ctx.fpr[20])) && aot_fpr_12 == ctx.fpr[20])) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -3969,7 +3970,7 @@ L_08811424: } L_08811438: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(6888))); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(aot_fpr_20)) && aot_fpr_12 == aot_fpr_20)) ? 0x00800000u : 0u); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(ctx.fpr[20])) && aot_fpr_12 == ctx.fpr[20])) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -4041,7 +4042,7 @@ L_08811498: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = ctx.gpr[2] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_2 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -4111,7 +4112,7 @@ L_08811504: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881150Cu) goto L_0881150C; AOT_REGCACHE_SYNC_OUT(); return; L_0881150C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08811578; @@ -4134,19 +4135,19 @@ L_08811520: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881152Cu) goto L_0881152C; AOT_REGCACHE_SYNC_OUT(); return; L_0881152C: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(16))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(16))); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(aot_fpr_20)) && aot_fpr_12 == aot_fpr_20)) ? 0x00800000u : 0u); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(ctx.fpr[20])) && aot_fpr_12 == ctx.fpr[20])) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(20))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(20))); if (branch_taken) { goto L_08811554; } goto L_08811544; } L_08811544: - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_13) || std::isnan(aot_fpr_20)) && aot_fpr_13 == aot_fpr_20)) ? 0x00800000u : 0u); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_13) || std::isnan(ctx.fpr[20])) && aot_fpr_13 == ctx.fpr[20])) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -4162,7 +4163,7 @@ L_08811554: AOT_REGCACHE_SYNC_OUT(); return; L_0881155C: { const bool branch_taken = 0u == 0u; - aot_fpr_20 = std::bit_cast(std::bit_cast(ctx.fpr[0])); + ctx.fpr[20] = std::bit_cast(std::bit_cast(ctx.fpr[0])); if (branch_taken) { goto L_08811564; } @@ -4173,13 +4174,13 @@ L_08811564: aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[22])); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[24])); aot_gpr_31 = (0x08811578u); - aot_fpr_14 = std::bit_cast(std::bit_cast(aot_fpr_20)); + aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[20])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0004_entry, 4u, 460u, 0x0881651Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08811578u) goto L_08811578; AOT_REGCACHE_SYNC_OUT(); return; L_08811578: { std::uint32_t aot_run_words[13]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(308), aot_run_words); - aot_fpr_20 = std::bit_cast(aot_run_words[0]); + ctx.fpr[20] = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); aot_gpr_16 = aot_run_words[3]; @@ -4210,7 +4211,7 @@ L_088115B4: ctx.gpr[19] = (0u | 0u); aot_gpr_16 = (aot_gpr_4 | 0u); ctx.gpr[17] = (aot_gpr_5 | 0u); - { const std::uint32_t aot_run_words[5]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28])}; + { const std::uint32_t aot_run_words[5]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(52), aot_run_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(80), ctx.gpr[18]); { const std::uint32_t aot_run_words[3]{ctx.gpr[21], ctx.gpr[22], aot_gpr_31}; @@ -4239,16 +4240,16 @@ L_08811618: ctx.gpr[6] = (0u | 0u); aot_gpr_31 = (0x08811630u); ctx.gpr[7] = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08811630u) goto L_08811630; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08811630u) goto L_08811630; AOT_REGCACHE_SYNC_OUT(); return; L_08811630: - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(0))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(4), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(1))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(1))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(5), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(2))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(2))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(6), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(3))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(3))); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(7), static_cast(aot_gpr_4)); if (branch_taken) { @@ -4263,16 +4264,16 @@ L_08811654: ctx.gpr[6] = (0u | 255u); aot_gpr_31 = (0x0881166Cu); ctx.gpr[7] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881166Cu) goto L_0881166C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881166Cu) goto L_0881166C; AOT_REGCACHE_SYNC_OUT(); return; L_0881166C: - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(0))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(4), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(1))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(1))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(5), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(2))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(2))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(6), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(3))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(3))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(7), static_cast(aot_gpr_4)); goto L_0881168C; L_0881168C: @@ -4291,16 +4292,16 @@ L_0881168C: aot_gpr_4 = (aot_gpr_29 + static_cast(8)); aot_gpr_5 = (ctx.gpr[18] + static_cast(12)); aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); - ctx.fpr[15] = std::bit_cast(aot_gpr_5); + aot_fpr_15 = std::bit_cast(aot_gpr_5); aot_gpr_31 = (0x088116D4u); - ctx.fpr[15] = static_cast(static_cast(std::bit_cast(ctx.fpr[15]))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088116D4u) goto L_088116D4; + aot_fpr_15 = static_cast(static_cast(std::bit_cast(aot_fpr_15))); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088116D4u) goto L_088116D4; AOT_REGCACHE_SYNC_OUT(); return; L_088116D4: ctx.gpr[6] = (aot_gpr_29 + static_cast(4)); aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x088116E4u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 72u, 0x08AF4650u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088116E4u) goto L_088116E4; AOT_REGCACHE_SYNC_OUT(); return; L_088116E4: @@ -4477,8 +4478,8 @@ L_088117F8: goto L_08811800; } L_08811800: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-8144))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-31120))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-8144))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-31120))); aot_gpr_4 = (aot_gpr_4 - aot_gpr_5); aot_gpr_4 = (aot_gpr_4 < static_cast(601) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; @@ -4489,9 +4490,9 @@ L_08811800: goto L_08811818; } L_08811818: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-8144))); - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-31116))); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-31120), aot_gpr_4); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-8144))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-31116))); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-31120), aot_gpr_4); aot_gpr_4 = (0u | 2u); { const bool branch_taken = aot_gpr_5 != aot_gpr_4; // nop @@ -4502,19 +4503,19 @@ L_08811818: } L_08811830: { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-31116), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-31116), static_cast(0u)); if (branch_taken) { goto L_08811844; } goto L_08811838; } L_08811838: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-31116))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-31116))); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-31116), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-31116), static_cast(aot_gpr_4)); goto L_08811844; L_08811844: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-31116))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-31116))); { const bool branch_taken = static_cast(aot_gpr_4) > 0; ctx.gpr[18] = (ctx.gpr[18] + static_cast(-1)); if (branch_taken) { @@ -4560,7 +4561,7 @@ L_08811874: aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_5 = (ctx.gpr[18] + static_cast(12)); aot_gpr_4 = (ctx.gpr[18] + static_cast(4)); - ctx.fpr[15] = std::bit_cast(aot_gpr_5); + aot_fpr_15 = std::bit_cast(aot_gpr_5); aot_fpr_13 = std::bit_cast(aot_gpr_4); ctx.gpr[21] = (aot_gpr_29 + static_cast(36)); aot_gpr_4 = (ctx.gpr[17] + static_cast(12)); @@ -4570,22 +4571,22 @@ L_08811874: aot_gpr_4 = (ctx.gpr[21] | 0u); aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); aot_gpr_31 = (0x088118B0u); - ctx.fpr[15] = static_cast(static_cast(std::bit_cast(ctx.fpr[15]))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088118B0u) goto L_088118B0; + aot_fpr_15 = static_cast(static_cast(std::bit_cast(aot_fpr_15))); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088118B0u) goto L_088118B0; AOT_REGCACHE_SYNC_OUT(); return; L_088118B0: ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(6848))); - ctx.gpr[22] = (ctx.gpr[2] | 0u); + ctx.gpr[22] = (aot_gpr_2 | 0u); aot_gpr_4 = (aot_gpr_29 + static_cast(32)); aot_gpr_5 = (0u | 0u); ctx.gpr[6] = (0u | 0u); aot_gpr_31 = (0x088118CCu); ctx.gpr[7] = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088118CCu) goto L_088118CC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088118CCu) goto L_088118CC; AOT_REGCACHE_SYNC_OUT(); return; L_088118CC: aot_gpr_4 = (ctx.gpr[22] | 0u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x088118DCu); ctx.gpr[6] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 107u, 0x08AF5130u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088118DCu) goto L_088118DC; @@ -4598,18 +4599,18 @@ L_088118DC: aot_fpr_14 = std::bit_cast(aot_gpr_5); ctx.gpr[6] = (ctx.gpr[18] + static_cast(11)); aot_fpr_13 = std::bit_cast(aot_gpr_4); - ctx.fpr[15] = std::bit_cast(ctx.gpr[6]); + aot_fpr_15 = std::bit_cast(ctx.gpr[6]); aot_gpr_4 = (ctx.gpr[21] | 0u); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_13))); aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); aot_gpr_31 = (0x08811914u); - ctx.fpr[15] = static_cast(static_cast(std::bit_cast(ctx.fpr[15]))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08811914u) goto L_08811914; + aot_fpr_15 = static_cast(static_cast(std::bit_cast(aot_fpr_15))); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08811914u) goto L_08811914; AOT_REGCACHE_SYNC_OUT(); return; L_08811914: aot_gpr_5 = (aot_gpr_29 + static_cast(4)); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08811924u); ctx.gpr[6] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 107u, 0x08AF5130u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08811924u) goto L_08811924; @@ -4626,7 +4627,7 @@ L_0881192C: aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_5 = (ctx.gpr[17] + static_cast(2)); aot_gpr_4 = (ctx.gpr[18] + static_cast(13)); - aot_fpr_20 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); + ctx.fpr[20] = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_fpr_13 = std::bit_cast(aot_gpr_4); ctx.gpr[6] = (ctx.gpr[17] + static_cast(8)); ctx.fpr[22] = static_cast(static_cast(std::bit_cast(aot_fpr_13))); @@ -4643,14 +4644,14 @@ L_0881192C: ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x0881197Cu); ctx.fpr[28] = static_cast(static_cast(std::bit_cast(aot_fpr_13))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881197Cu) goto L_0881197C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881197Cu) goto L_0881197C; AOT_REGCACHE_SYNC_OUT(); return; L_0881197C: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[24])); - aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); + aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[22])); - ctx.fpr[15] = std::bit_cast(std::bit_cast(ctx.fpr[22])); + aot_fpr_15 = std::bit_cast(std::bit_cast(ctx.fpr[22])); ctx.fpr[16] = std::bit_cast(std::bit_cast(ctx.fpr[26])); ctx.fpr[17] = std::bit_cast(std::bit_cast(ctx.fpr[28])); ctx.fpr[18] = std::bit_cast(std::bit_cast(ctx.fpr[26])); @@ -4674,7 +4675,7 @@ L_088119A4: aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); ctx.fpr[18] = std::bit_cast(std::bit_cast(ctx.fpr[26])); - ctx.fpr[15] = std::bit_cast(std::bit_cast(aot_fpr_13)); + aot_fpr_15 = std::bit_cast(std::bit_cast(aot_fpr_13)); aot_gpr_31 = (0x088119ECu); ctx.fpr[19] = std::bit_cast(std::bit_cast(ctx.fpr[17])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 124u, 0x08AF5238u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088119ECu) goto L_088119EC; @@ -4692,7 +4693,7 @@ L_088119F4: aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_5 = (ctx.gpr[17] + static_cast(14)); aot_gpr_4 = (ctx.gpr[18] + static_cast(14)); - aot_fpr_20 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); + ctx.fpr[20] = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_fpr_13 = std::bit_cast(aot_gpr_4); ctx.gpr[6] = (ctx.gpr[18] + static_cast(3)); ctx.fpr[22] = static_cast(static_cast(std::bit_cast(aot_fpr_13))); @@ -4709,14 +4710,14 @@ L_088119F4: ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x08811A48u); ctx.fpr[28] = static_cast(static_cast(std::bit_cast(aot_fpr_13))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08811A48u) goto L_08811A48; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08811A48u) goto L_08811A48; AOT_REGCACHE_SYNC_OUT(); return; L_08811A48: - aot_gpr_4 = (ctx.gpr[2] | 0u); - aot_fpr_14 = std::bit_cast(std::bit_cast(aot_fpr_20)); - aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); + aot_gpr_4 = (aot_gpr_2 | 0u); + aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[20])); + aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[22])); - ctx.fpr[15] = std::bit_cast(std::bit_cast(ctx.fpr[22])); + aot_fpr_15 = std::bit_cast(std::bit_cast(ctx.fpr[22])); ctx.fpr[16] = std::bit_cast(std::bit_cast(ctx.fpr[24])); ctx.fpr[17] = std::bit_cast(std::bit_cast(ctx.fpr[26])); ctx.fpr[18] = std::bit_cast(std::bit_cast(ctx.fpr[28])); @@ -4738,9 +4739,9 @@ L_08811A70: ctx.fpr[18] = std::bit_cast(ctx.gpr[6]); ctx.fpr[16] = static_cast(static_cast(std::bit_cast(ctx.fpr[16]))); ctx.fpr[18] = static_cast(static_cast(std::bit_cast(ctx.fpr[18]))); - aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); - aot_fpr_14 = std::bit_cast(std::bit_cast(aot_fpr_20)); - ctx.fpr[15] = std::bit_cast(std::bit_cast(aot_fpr_13)); + aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); + aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[20])); + aot_fpr_15 = std::bit_cast(std::bit_cast(aot_fpr_13)); aot_gpr_31 = (0x08811AB8u); ctx.fpr[19] = std::bit_cast(std::bit_cast(ctx.fpr[17])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 124u, 0x08AF5238u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08811AB8u) goto L_08811AB8; @@ -4755,7 +4756,7 @@ L_08811AB8: } L_08811AC0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_0881286C; } @@ -4785,9 +4786,9 @@ L_08811ADC: ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08811AF8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); goto L_08811B30; } goto L_08811B04; @@ -4798,7 +4799,7 @@ L_08811B04: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08811B10u) goto L_08811B10; AOT_REGCACHE_SYNC_OUT(); return; L_08811B10: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[19] == 0u; // nop if (branch_taken) { @@ -4809,32 +4810,32 @@ L_08811B10: L_08811B1C: aot_gpr_31 = (0x08811B24u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08811B24u) goto L_08811B24; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08811B24u) goto L_08811B24; AOT_REGCACHE_SYNC_OUT(); return; L_08811B24: aot_gpr_16 = (ctx.gpr[19] | 0u); goto L_08811B28; L_08811B28: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); goto L_08811B30; L_08811B30: aot_gpr_31 = (0x08811B38u); - aot_gpr_5 = (aot_gpr_28 + static_cast(-31112)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-31112)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08811B38u) goto L_08811B38; AOT_REGCACHE_SYNC_OUT(); return; L_08811B38: { const bool branch_taken = 0u == 0u; - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (branch_taken) { goto L_08812854; } goto L_08811B40; } L_08811B40: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); goto L_08811B78; } goto L_08811B4C; @@ -4845,7 +4846,7 @@ L_08811B4C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08811B58u) goto L_08811B58; AOT_REGCACHE_SYNC_OUT(); return; L_08811B58: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[19] == 0u; // nop if (branch_taken) { @@ -4856,32 +4857,32 @@ L_08811B58: L_08811B64: aot_gpr_31 = (0x08811B6Cu); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08811B6Cu) goto L_08811B6C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08811B6Cu) goto L_08811B6C; AOT_REGCACHE_SYNC_OUT(); return; L_08811B6C: aot_gpr_16 = (ctx.gpr[19] | 0u); goto L_08811B70; L_08811B70: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); goto L_08811B78; L_08811B78: aot_gpr_31 = (0x08811B80u); - aot_gpr_5 = (aot_gpr_28 + static_cast(-31104)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-31104)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08811B80u) goto L_08811B80; AOT_REGCACHE_SYNC_OUT(); return; L_08811B80: { const bool branch_taken = 0u == 0u; - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (branch_taken) { goto L_08812854; } goto L_08811B88; } L_08811B88: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); goto L_08811BC0; } goto L_08811B94; @@ -4892,7 +4893,7 @@ L_08811B94: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08811BA0u) goto L_08811BA0; AOT_REGCACHE_SYNC_OUT(); return; L_08811BA0: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[19] == 0u; // nop if (branch_taken) { @@ -4903,32 +4904,32 @@ L_08811BA0: L_08811BAC: aot_gpr_31 = (0x08811BB4u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08811BB4u) goto L_08811BB4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08811BB4u) goto L_08811BB4; AOT_REGCACHE_SYNC_OUT(); return; L_08811BB4: aot_gpr_16 = (ctx.gpr[19] | 0u); goto L_08811BB8; L_08811BB8: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); goto L_08811BC0; L_08811BC0: aot_gpr_31 = (0x08811BC8u); - aot_gpr_5 = (aot_gpr_28 + static_cast(-31096)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-31096)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08811BC8u) goto L_08811BC8; AOT_REGCACHE_SYNC_OUT(); return; L_08811BC8: { const bool branch_taken = 0u == 0u; - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (branch_taken) { goto L_08812854; } goto L_08811BD0; } L_08811BD0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); goto L_08811C08; } goto L_08811BDC; @@ -4939,7 +4940,7 @@ L_08811BDC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08811BE8u) goto L_08811BE8; AOT_REGCACHE_SYNC_OUT(); return; L_08811BE8: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[19] == 0u; // nop if (branch_taken) { @@ -4950,32 +4951,32 @@ L_08811BE8: L_08811BF4: aot_gpr_31 = (0x08811BFCu); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08811BFCu) goto L_08811BFC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08811BFCu) goto L_08811BFC; AOT_REGCACHE_SYNC_OUT(); return; L_08811BFC: aot_gpr_16 = (ctx.gpr[19] | 0u); goto L_08811C00; L_08811C00: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); goto L_08811C08; L_08811C08: aot_gpr_31 = (0x08811C10u); - aot_gpr_5 = (aot_gpr_28 + static_cast(-31088)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-31088)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08811C10u) goto L_08811C10; AOT_REGCACHE_SYNC_OUT(); return; L_08811C10: { const bool branch_taken = 0u == 0u; - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (branch_taken) { goto L_08812854; } goto L_08811C18; } L_08811C18: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); goto L_08811C50; } goto L_08811C24; @@ -4986,7 +4987,7 @@ L_08811C24: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08811C30u) goto L_08811C30; AOT_REGCACHE_SYNC_OUT(); return; L_08811C30: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[19] == 0u; // nop if (branch_taken) { @@ -4997,32 +4998,32 @@ L_08811C30: L_08811C3C: aot_gpr_31 = (0x08811C44u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08811C44u) goto L_08811C44; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08811C44u) goto L_08811C44; AOT_REGCACHE_SYNC_OUT(); return; L_08811C44: aot_gpr_16 = (ctx.gpr[19] | 0u); goto L_08811C48; L_08811C48: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); goto L_08811C50; L_08811C50: aot_gpr_31 = (0x08811C58u); - aot_gpr_5 = (aot_gpr_28 + static_cast(-31080)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-31080)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08811C58u) goto L_08811C58; AOT_REGCACHE_SYNC_OUT(); return; L_08811C58: { const bool branch_taken = 0u == 0u; - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (branch_taken) { goto L_08812854; } goto L_08811C60; } L_08811C60: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); goto L_08811C98; } goto L_08811C6C; @@ -5033,7 +5034,7 @@ L_08811C6C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08811C78u) goto L_08811C78; AOT_REGCACHE_SYNC_OUT(); return; L_08811C78: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[19] == 0u; // nop if (branch_taken) { @@ -5044,32 +5045,32 @@ L_08811C78: L_08811C84: aot_gpr_31 = (0x08811C8Cu); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08811C8Cu) goto L_08811C8C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08811C8Cu) goto L_08811C8C; AOT_REGCACHE_SYNC_OUT(); return; L_08811C8C: aot_gpr_16 = (ctx.gpr[19] | 0u); goto L_08811C90; L_08811C90: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); goto L_08811C98; L_08811C98: aot_gpr_31 = (0x08811CA0u); - aot_gpr_5 = (aot_gpr_28 + static_cast(-31072)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-31072)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08811CA0u) goto L_08811CA0; AOT_REGCACHE_SYNC_OUT(); return; L_08811CA0: { const bool branch_taken = 0u == 0u; - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (branch_taken) { goto L_08812854; } goto L_08811CA8; } L_08811CA8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); goto L_08811CE0; } goto L_08811CB4; @@ -5080,7 +5081,7 @@ L_08811CB4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08811CC0u) goto L_08811CC0; AOT_REGCACHE_SYNC_OUT(); return; L_08811CC0: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[19] == 0u; // nop if (branch_taken) { @@ -5091,32 +5092,32 @@ L_08811CC0: L_08811CCC: aot_gpr_31 = (0x08811CD4u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08811CD4u) goto L_08811CD4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08811CD4u) goto L_08811CD4; AOT_REGCACHE_SYNC_OUT(); return; L_08811CD4: aot_gpr_16 = (ctx.gpr[19] | 0u); goto L_08811CD8; L_08811CD8: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); goto L_08811CE0; L_08811CE0: aot_gpr_31 = (0x08811CE8u); - aot_gpr_5 = (aot_gpr_28 + static_cast(-31064)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-31064)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08811CE8u) goto L_08811CE8; AOT_REGCACHE_SYNC_OUT(); return; L_08811CE8: { const bool branch_taken = 0u == 0u; - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (branch_taken) { goto L_08812854; } goto L_08811CF0; } L_08811CF0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); goto L_08811D28; } goto L_08811CFC; @@ -5127,7 +5128,7 @@ L_08811CFC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08811D08u) goto L_08811D08; AOT_REGCACHE_SYNC_OUT(); return; L_08811D08: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[19] == 0u; // nop if (branch_taken) { @@ -5138,32 +5139,32 @@ L_08811D08: L_08811D14: aot_gpr_31 = (0x08811D1Cu); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08811D1Cu) goto L_08811D1C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08811D1Cu) goto L_08811D1C; AOT_REGCACHE_SYNC_OUT(); return; L_08811D1C: aot_gpr_16 = (ctx.gpr[19] | 0u); goto L_08811D20; L_08811D20: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); goto L_08811D28; L_08811D28: aot_gpr_31 = (0x08811D30u); - aot_gpr_5 = (aot_gpr_28 + static_cast(-31056)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-31056)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08811D30u) goto L_08811D30; AOT_REGCACHE_SYNC_OUT(); return; L_08811D30: { const bool branch_taken = 0u == 0u; - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (branch_taken) { goto L_08812854; } goto L_08811D38; } L_08811D38: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); goto L_08811D70; } goto L_08811D44; @@ -5174,7 +5175,7 @@ L_08811D44: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08811D50u) goto L_08811D50; AOT_REGCACHE_SYNC_OUT(); return; L_08811D50: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[19] == 0u; // nop if (branch_taken) { @@ -5185,32 +5186,32 @@ L_08811D50: L_08811D5C: aot_gpr_31 = (0x08811D64u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08811D64u) goto L_08811D64; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08811D64u) goto L_08811D64; AOT_REGCACHE_SYNC_OUT(); return; L_08811D64: aot_gpr_16 = (ctx.gpr[19] | 0u); goto L_08811D68; L_08811D68: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); goto L_08811D70; L_08811D70: aot_gpr_31 = (0x08811D78u); - aot_gpr_5 = (aot_gpr_28 + static_cast(-31048)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-31048)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08811D78u) goto L_08811D78; AOT_REGCACHE_SYNC_OUT(); return; L_08811D78: { const bool branch_taken = 0u == 0u; - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (branch_taken) { goto L_08812854; } goto L_08811D80; } L_08811D80: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); goto L_08811DB8; } goto L_08811D8C; @@ -5221,7 +5222,7 @@ L_08811D8C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08811D98u) goto L_08811D98; AOT_REGCACHE_SYNC_OUT(); return; L_08811D98: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[19] == 0u; // nop if (branch_taken) { @@ -5232,32 +5233,32 @@ L_08811D98: L_08811DA4: aot_gpr_31 = (0x08811DACu); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08811DACu) goto L_08811DAC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08811DACu) goto L_08811DAC; AOT_REGCACHE_SYNC_OUT(); return; L_08811DAC: aot_gpr_16 = (ctx.gpr[19] | 0u); goto L_08811DB0; L_08811DB0: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); goto L_08811DB8; L_08811DB8: aot_gpr_31 = (0x08811DC0u); - aot_gpr_5 = (aot_gpr_28 + static_cast(-31040)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-31040)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08811DC0u) goto L_08811DC0; AOT_REGCACHE_SYNC_OUT(); return; L_08811DC0: { const bool branch_taken = 0u == 0u; - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (branch_taken) { goto L_08812854; } goto L_08811DC8; } L_08811DC8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); goto L_08811E00; } goto L_08811DD4; @@ -5268,7 +5269,7 @@ L_08811DD4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08811DE0u) goto L_08811DE0; AOT_REGCACHE_SYNC_OUT(); return; L_08811DE0: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[19] == 0u; // nop if (branch_taken) { @@ -5279,32 +5280,32 @@ L_08811DE0: L_08811DEC: aot_gpr_31 = (0x08811DF4u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08811DF4u) goto L_08811DF4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08811DF4u) goto L_08811DF4; AOT_REGCACHE_SYNC_OUT(); return; L_08811DF4: aot_gpr_16 = (ctx.gpr[19] | 0u); goto L_08811DF8; L_08811DF8: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); goto L_08811E00; L_08811E00: aot_gpr_31 = (0x08811E08u); - aot_gpr_5 = (aot_gpr_28 + static_cast(-31032)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-31032)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08811E08u) goto L_08811E08; AOT_REGCACHE_SYNC_OUT(); return; L_08811E08: { const bool branch_taken = 0u == 0u; - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (branch_taken) { goto L_08812854; } goto L_08811E10; } L_08811E10: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); goto L_08811E48; } goto L_08811E1C; @@ -5315,7 +5316,7 @@ L_08811E1C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08811E28u) goto L_08811E28; AOT_REGCACHE_SYNC_OUT(); return; L_08811E28: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[19] == 0u; // nop if (branch_taken) { @@ -5326,32 +5327,32 @@ L_08811E28: L_08811E34: aot_gpr_31 = (0x08811E3Cu); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08811E3Cu) goto L_08811E3C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08811E3Cu) goto L_08811E3C; AOT_REGCACHE_SYNC_OUT(); return; L_08811E3C: aot_gpr_16 = (ctx.gpr[19] | 0u); goto L_08811E40; L_08811E40: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); goto L_08811E48; L_08811E48: aot_gpr_31 = (0x08811E50u); - aot_gpr_5 = (aot_gpr_28 + static_cast(-31112)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-31112)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08811E50u) goto L_08811E50; AOT_REGCACHE_SYNC_OUT(); return; L_08811E50: { const bool branch_taken = 0u == 0u; - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (branch_taken) { goto L_08812854; } goto L_08811E58; } L_08811E58: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); goto L_08811E90; } goto L_08811E64; @@ -5362,7 +5363,7 @@ L_08811E64: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08811E70u) goto L_08811E70; AOT_REGCACHE_SYNC_OUT(); return; L_08811E70: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[19] == 0u; // nop if (branch_taken) { @@ -5373,32 +5374,32 @@ L_08811E70: L_08811E7C: aot_gpr_31 = (0x08811E84u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08811E84u) goto L_08811E84; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08811E84u) goto L_08811E84; AOT_REGCACHE_SYNC_OUT(); return; L_08811E84: aot_gpr_16 = (ctx.gpr[19] | 0u); goto L_08811E88; L_08811E88: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); goto L_08811E90; L_08811E90: aot_gpr_31 = (0x08811E98u); - aot_gpr_5 = (aot_gpr_28 + static_cast(-31112)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-31112)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08811E98u) goto L_08811E98; AOT_REGCACHE_SYNC_OUT(); return; L_08811E98: { const bool branch_taken = 0u == 0u; - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (branch_taken) { goto L_08812854; } goto L_08811EA0; } L_08811EA0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); goto L_08811ED8; } goto L_08811EAC; @@ -5409,7 +5410,7 @@ L_08811EAC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08811EB8u) goto L_08811EB8; AOT_REGCACHE_SYNC_OUT(); return; L_08811EB8: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[19] == 0u; // nop if (branch_taken) { @@ -5420,32 +5421,32 @@ L_08811EB8: L_08811EC4: aot_gpr_31 = (0x08811ECCu); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08811ECCu) goto L_08811ECC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08811ECCu) goto L_08811ECC; AOT_REGCACHE_SYNC_OUT(); return; L_08811ECC: aot_gpr_16 = (ctx.gpr[19] | 0u); goto L_08811ED0; L_08811ED0: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); goto L_08811ED8; L_08811ED8: aot_gpr_31 = (0x08811EE0u); - aot_gpr_5 = (aot_gpr_28 + static_cast(-31112)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-31112)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08811EE0u) goto L_08811EE0; AOT_REGCACHE_SYNC_OUT(); return; L_08811EE0: { const bool branch_taken = 0u == 0u; - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (branch_taken) { goto L_08812854; } goto L_08811EE8; } L_08811EE8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); goto L_08811F20; } goto L_08811EF4; @@ -5456,7 +5457,7 @@ L_08811EF4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08811F00u) goto L_08811F00; AOT_REGCACHE_SYNC_OUT(); return; L_08811F00: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[19] == 0u; // nop if (branch_taken) { @@ -5467,32 +5468,32 @@ L_08811F00: L_08811F0C: aot_gpr_31 = (0x08811F14u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08811F14u) goto L_08811F14; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08811F14u) goto L_08811F14; AOT_REGCACHE_SYNC_OUT(); return; L_08811F14: aot_gpr_16 = (ctx.gpr[19] | 0u); goto L_08811F18; L_08811F18: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); goto L_08811F20; L_08811F20: aot_gpr_31 = (0x08811F28u); - aot_gpr_5 = (aot_gpr_28 + static_cast(-31112)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-31112)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08811F28u) goto L_08811F28; AOT_REGCACHE_SYNC_OUT(); return; L_08811F28: { const bool branch_taken = 0u == 0u; - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (branch_taken) { goto L_08812854; } goto L_08811F30; } L_08811F30: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); goto L_08811F68; } goto L_08811F3C; @@ -5503,7 +5504,7 @@ L_08811F3C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08811F48u) goto L_08811F48; AOT_REGCACHE_SYNC_OUT(); return; L_08811F48: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[19] == 0u; // nop if (branch_taken) { @@ -5514,32 +5515,32 @@ L_08811F48: L_08811F54: aot_gpr_31 = (0x08811F5Cu); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08811F5Cu) goto L_08811F5C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08811F5Cu) goto L_08811F5C; AOT_REGCACHE_SYNC_OUT(); return; L_08811F5C: aot_gpr_16 = (ctx.gpr[19] | 0u); goto L_08811F60; L_08811F60: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); goto L_08811F68; L_08811F68: aot_gpr_31 = (0x08811F70u); - aot_gpr_5 = (aot_gpr_28 + static_cast(-31112)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-31112)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08811F70u) goto L_08811F70; AOT_REGCACHE_SYNC_OUT(); return; L_08811F70: { const bool branch_taken = 0u == 0u; - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (branch_taken) { goto L_08812854; } goto L_08811F78; } L_08811F78: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); goto L_08811FB0; } goto L_08811F84; @@ -5550,7 +5551,7 @@ L_08811F84: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08811F90u) goto L_08811F90; AOT_REGCACHE_SYNC_OUT(); return; L_08811F90: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[19] == 0u; // nop if (branch_taken) { @@ -5561,32 +5562,32 @@ L_08811F90: L_08811F9C: aot_gpr_31 = (0x08811FA4u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08811FA4u) goto L_08811FA4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08811FA4u) goto L_08811FA4; AOT_REGCACHE_SYNC_OUT(); return; L_08811FA4: aot_gpr_16 = (ctx.gpr[19] | 0u); goto L_08811FA8; L_08811FA8: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); goto L_08811FB0; L_08811FB0: aot_gpr_31 = (0x08811FB8u); - aot_gpr_5 = (aot_gpr_28 + static_cast(-31112)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-31112)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08811FB8u) goto L_08811FB8; AOT_REGCACHE_SYNC_OUT(); return; L_08811FB8: { const bool branch_taken = 0u == 0u; - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (branch_taken) { goto L_08812854; } goto L_08811FC0; } L_08811FC0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); goto L_08811FF8; } goto L_08811FCC; @@ -5597,7 +5598,7 @@ L_08811FCC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08811FD8u) goto L_08811FD8; AOT_REGCACHE_SYNC_OUT(); return; L_08811FD8: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[19] == 0u; // nop if (branch_taken) { @@ -5608,32 +5609,32 @@ L_08811FD8: L_08811FE4: aot_gpr_31 = (0x08811FECu); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08811FECu) goto L_08811FEC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08811FECu) goto L_08811FEC; AOT_REGCACHE_SYNC_OUT(); return; L_08811FEC: aot_gpr_16 = (ctx.gpr[19] | 0u); goto L_08811FF0; L_08811FF0: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); goto L_08811FF8; L_08811FF8: aot_gpr_31 = (0x08812000u); - aot_gpr_5 = (aot_gpr_28 + static_cast(-31112)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-31112)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08812000u) goto L_08812000; AOT_REGCACHE_SYNC_OUT(); return; L_08812000: { const bool branch_taken = 0u == 0u; - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (branch_taken) { goto L_08812854; } goto L_08812008; } L_08812008: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); goto L_08812040; } goto L_08812014; @@ -5644,7 +5645,7 @@ L_08812014: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08812020u) goto L_08812020; AOT_REGCACHE_SYNC_OUT(); return; L_08812020: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[19] == 0u; // nop if (branch_taken) { @@ -5655,32 +5656,32 @@ L_08812020: L_0881202C: aot_gpr_31 = (0x08812034u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08812034u) goto L_08812034; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08812034u) goto L_08812034; AOT_REGCACHE_SYNC_OUT(); return; L_08812034: aot_gpr_16 = (ctx.gpr[19] | 0u); goto L_08812038; L_08812038: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); goto L_08812040; L_08812040: aot_gpr_31 = (0x08812048u); - aot_gpr_5 = (aot_gpr_28 + static_cast(-31112)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-31112)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08812048u) goto L_08812048; AOT_REGCACHE_SYNC_OUT(); return; L_08812048: { const bool branch_taken = 0u == 0u; - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (branch_taken) { goto L_08812854; } goto L_08812050; } L_08812050: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); goto L_08812088; } goto L_0881205C; @@ -5691,7 +5692,7 @@ L_0881205C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08812068u) goto L_08812068; AOT_REGCACHE_SYNC_OUT(); return; L_08812068: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[19] == 0u; // nop if (branch_taken) { @@ -5702,32 +5703,32 @@ L_08812068: L_08812074: aot_gpr_31 = (0x0881207Cu); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881207Cu) goto L_0881207C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881207Cu) goto L_0881207C; AOT_REGCACHE_SYNC_OUT(); return; L_0881207C: aot_gpr_16 = (ctx.gpr[19] | 0u); goto L_08812080; L_08812080: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); goto L_08812088; L_08812088: aot_gpr_31 = (0x08812090u); - aot_gpr_5 = (aot_gpr_28 + static_cast(-31024)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-31024)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08812090u) goto L_08812090; AOT_REGCACHE_SYNC_OUT(); return; L_08812090: { const bool branch_taken = 0u == 0u; - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (branch_taken) { goto L_08812854; } goto L_08812098; } L_08812098: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); goto L_088120D0; } goto L_088120A4; @@ -5738,7 +5739,7 @@ L_088120A4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088120B0u) goto L_088120B0; AOT_REGCACHE_SYNC_OUT(); return; L_088120B0: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[19] == 0u; // nop if (branch_taken) { @@ -5749,32 +5750,32 @@ L_088120B0: L_088120BC: aot_gpr_31 = (0x088120C4u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088120C4u) goto L_088120C4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088120C4u) goto L_088120C4; AOT_REGCACHE_SYNC_OUT(); return; L_088120C4: aot_gpr_16 = (ctx.gpr[19] | 0u); goto L_088120C8; L_088120C8: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); goto L_088120D0; L_088120D0: aot_gpr_31 = (0x088120D8u); - aot_gpr_5 = (aot_gpr_28 + static_cast(-31016)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-31016)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088120D8u) goto L_088120D8; AOT_REGCACHE_SYNC_OUT(); return; L_088120D8: { const bool branch_taken = 0u == 0u; - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (branch_taken) { goto L_08812854; } goto L_088120E0; } L_088120E0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); goto L_08812118; } goto L_088120EC; @@ -5785,7 +5786,7 @@ L_088120EC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088120F8u) goto L_088120F8; AOT_REGCACHE_SYNC_OUT(); return; L_088120F8: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[19] == 0u; // nop if (branch_taken) { @@ -5796,32 +5797,32 @@ L_088120F8: L_08812104: aot_gpr_31 = (0x0881210Cu); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881210Cu) goto L_0881210C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881210Cu) goto L_0881210C; AOT_REGCACHE_SYNC_OUT(); return; L_0881210C: aot_gpr_16 = (ctx.gpr[19] | 0u); goto L_08812110; L_08812110: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); goto L_08812118; L_08812118: aot_gpr_31 = (0x08812120u); - aot_gpr_5 = (aot_gpr_28 + static_cast(-31008)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-31008)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08812120u) goto L_08812120; AOT_REGCACHE_SYNC_OUT(); return; L_08812120: { const bool branch_taken = 0u == 0u; - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (branch_taken) { goto L_08812854; } goto L_08812128; } L_08812128: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); goto L_08812160; } goto L_08812134; @@ -5832,7 +5833,7 @@ L_08812134: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08812140u) goto L_08812140; AOT_REGCACHE_SYNC_OUT(); return; L_08812140: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[19] == 0u; // nop if (branch_taken) { @@ -5843,32 +5844,32 @@ L_08812140: L_0881214C: aot_gpr_31 = (0x08812154u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08812154u) goto L_08812154; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08812154u) goto L_08812154; AOT_REGCACHE_SYNC_OUT(); return; L_08812154: aot_gpr_16 = (ctx.gpr[19] | 0u); goto L_08812158; L_08812158: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); goto L_08812160; L_08812160: aot_gpr_31 = (0x08812168u); - aot_gpr_5 = (aot_gpr_28 + static_cast(-31024)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-31024)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08812168u) goto L_08812168; AOT_REGCACHE_SYNC_OUT(); return; L_08812168: { const bool branch_taken = 0u == 0u; - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (branch_taken) { goto L_08812854; } goto L_08812170; } L_08812170: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); goto L_088121A8; } goto L_0881217C; @@ -5879,7 +5880,7 @@ L_0881217C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08812188u) goto L_08812188; AOT_REGCACHE_SYNC_OUT(); return; L_08812188: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[19] == 0u; // nop if (branch_taken) { @@ -5890,32 +5891,32 @@ L_08812188: L_08812194: aot_gpr_31 = (0x0881219Cu); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881219Cu) goto L_0881219C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881219Cu) goto L_0881219C; AOT_REGCACHE_SYNC_OUT(); return; L_0881219C: aot_gpr_16 = (ctx.gpr[19] | 0u); goto L_088121A0; L_088121A0: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); goto L_088121A8; L_088121A8: aot_gpr_31 = (0x088121B0u); - aot_gpr_5 = (aot_gpr_28 + static_cast(-31024)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-31024)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088121B0u) goto L_088121B0; AOT_REGCACHE_SYNC_OUT(); return; L_088121B0: { const bool branch_taken = 0u == 0u; - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (branch_taken) { goto L_08812854; } goto L_088121B8; } L_088121B8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); goto L_088121F0; } goto L_088121C4; @@ -5926,7 +5927,7 @@ L_088121C4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088121D0u) goto L_088121D0; AOT_REGCACHE_SYNC_OUT(); return; L_088121D0: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[19] == 0u; // nop if (branch_taken) { @@ -5937,32 +5938,32 @@ L_088121D0: L_088121DC: aot_gpr_31 = (0x088121E4u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088121E4u) goto L_088121E4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088121E4u) goto L_088121E4; AOT_REGCACHE_SYNC_OUT(); return; L_088121E4: aot_gpr_16 = (ctx.gpr[19] | 0u); goto L_088121E8; L_088121E8: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); goto L_088121F0; L_088121F0: aot_gpr_31 = (0x088121F8u); - aot_gpr_5 = (aot_gpr_28 + static_cast(-31024)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-31024)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088121F8u) goto L_088121F8; AOT_REGCACHE_SYNC_OUT(); return; L_088121F8: { const bool branch_taken = 0u == 0u; - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (branch_taken) { goto L_08812854; } goto L_08812200; } L_08812200: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); goto L_08812238; } goto L_0881220C; @@ -5973,7 +5974,7 @@ L_0881220C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08812218u) goto L_08812218; AOT_REGCACHE_SYNC_OUT(); return; L_08812218: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[19] == 0u; // nop if (branch_taken) { @@ -5984,32 +5985,32 @@ L_08812218: L_08812224: aot_gpr_31 = (0x0881222Cu); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881222Cu) goto L_0881222C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881222Cu) goto L_0881222C; AOT_REGCACHE_SYNC_OUT(); return; L_0881222C: aot_gpr_16 = (ctx.gpr[19] | 0u); goto L_08812230; L_08812230: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); goto L_08812238; L_08812238: aot_gpr_31 = (0x08812240u); - aot_gpr_5 = (aot_gpr_28 + static_cast(-31000)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-31000)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08812240u) goto L_08812240; AOT_REGCACHE_SYNC_OUT(); return; L_08812240: { const bool branch_taken = 0u == 0u; - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (branch_taken) { goto L_08812854; } goto L_08812248; } L_08812248: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); goto L_08812280; } goto L_08812254; @@ -6020,7 +6021,7 @@ L_08812254: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08812260u) goto L_08812260; AOT_REGCACHE_SYNC_OUT(); return; L_08812260: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[19] == 0u; // nop if (branch_taken) { @@ -6031,32 +6032,32 @@ L_08812260: L_0881226C: aot_gpr_31 = (0x08812274u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08812274u) goto L_08812274; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08812274u) goto L_08812274; AOT_REGCACHE_SYNC_OUT(); return; L_08812274: aot_gpr_16 = (ctx.gpr[19] | 0u); goto L_08812278; L_08812278: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); goto L_08812280; L_08812280: aot_gpr_31 = (0x08812288u); - aot_gpr_5 = (aot_gpr_28 + static_cast(-30992)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-30992)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08812288u) goto L_08812288; AOT_REGCACHE_SYNC_OUT(); return; L_08812288: { const bool branch_taken = 0u == 0u; - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (branch_taken) { goto L_08812854; } goto L_08812290; } L_08812290: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); goto L_088122C8; } goto L_0881229C; @@ -6067,7 +6068,7 @@ L_0881229C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088122A8u) goto L_088122A8; AOT_REGCACHE_SYNC_OUT(); return; L_088122A8: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[19] == 0u; // nop if (branch_taken) { @@ -6078,32 +6079,32 @@ L_088122A8: L_088122B4: aot_gpr_31 = (0x088122BCu); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088122BCu) goto L_088122BC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088122BCu) goto L_088122BC; AOT_REGCACHE_SYNC_OUT(); return; L_088122BC: aot_gpr_16 = (ctx.gpr[19] | 0u); goto L_088122C0; L_088122C0: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); goto L_088122C8; L_088122C8: aot_gpr_31 = (0x088122D0u); - aot_gpr_5 = (aot_gpr_28 + static_cast(-30984)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-30984)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088122D0u) goto L_088122D0; AOT_REGCACHE_SYNC_OUT(); return; L_088122D0: { const bool branch_taken = 0u == 0u; - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (branch_taken) { goto L_08812854; } goto L_088122D8; } L_088122D8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); goto L_08812310; } goto L_088122E4; @@ -6114,7 +6115,7 @@ L_088122E4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088122F0u) goto L_088122F0; AOT_REGCACHE_SYNC_OUT(); return; L_088122F0: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[19] == 0u; // nop if (branch_taken) { @@ -6125,32 +6126,32 @@ L_088122F0: L_088122FC: aot_gpr_31 = (0x08812304u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08812304u) goto L_08812304; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08812304u) goto L_08812304; AOT_REGCACHE_SYNC_OUT(); return; L_08812304: aot_gpr_16 = (ctx.gpr[19] | 0u); goto L_08812308; L_08812308: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); goto L_08812310; L_08812310: aot_gpr_31 = (0x08812318u); - aot_gpr_5 = (aot_gpr_28 + static_cast(-30976)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-30976)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08812318u) goto L_08812318; AOT_REGCACHE_SYNC_OUT(); return; L_08812318: { const bool branch_taken = 0u == 0u; - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (branch_taken) { goto L_08812854; } goto L_08812320; } L_08812320: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); goto L_08812358; } goto L_0881232C; @@ -6161,7 +6162,7 @@ L_0881232C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08812338u) goto L_08812338; AOT_REGCACHE_SYNC_OUT(); return; L_08812338: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[19] == 0u; // nop if (branch_taken) { @@ -6172,32 +6173,32 @@ L_08812338: L_08812344: aot_gpr_31 = (0x0881234Cu); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881234Cu) goto L_0881234C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881234Cu) goto L_0881234C; AOT_REGCACHE_SYNC_OUT(); return; L_0881234C: aot_gpr_16 = (ctx.gpr[19] | 0u); goto L_08812350; L_08812350: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); goto L_08812358; L_08812358: aot_gpr_31 = (0x08812360u); - aot_gpr_5 = (aot_gpr_28 + static_cast(-30968)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-30968)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08812360u) goto L_08812360; AOT_REGCACHE_SYNC_OUT(); return; L_08812360: { const bool branch_taken = 0u == 0u; - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (branch_taken) { goto L_08812854; } goto L_08812368; } L_08812368: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); goto L_088123A0; } goto L_08812374; @@ -6208,7 +6209,7 @@ L_08812374: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08812380u) goto L_08812380; AOT_REGCACHE_SYNC_OUT(); return; L_08812380: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[19] == 0u; // nop if (branch_taken) { @@ -6219,32 +6220,32 @@ L_08812380: L_0881238C: aot_gpr_31 = (0x08812394u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08812394u) goto L_08812394; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08812394u) goto L_08812394; AOT_REGCACHE_SYNC_OUT(); return; L_08812394: aot_gpr_16 = (ctx.gpr[19] | 0u); goto L_08812398; L_08812398: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); goto L_088123A0; L_088123A0: aot_gpr_31 = (0x088123A8u); - aot_gpr_5 = (aot_gpr_28 + static_cast(-30960)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-30960)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088123A8u) goto L_088123A8; AOT_REGCACHE_SYNC_OUT(); return; L_088123A8: { const bool branch_taken = 0u == 0u; - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (branch_taken) { goto L_08812854; } goto L_088123B0; } L_088123B0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); goto L_088123E8; } goto L_088123BC; @@ -6255,7 +6256,7 @@ L_088123BC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088123C8u) goto L_088123C8; AOT_REGCACHE_SYNC_OUT(); return; L_088123C8: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[19] == 0u; // nop if (branch_taken) { @@ -6266,32 +6267,32 @@ L_088123C8: L_088123D4: aot_gpr_31 = (0x088123DCu); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088123DCu) goto L_088123DC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088123DCu) goto L_088123DC; AOT_REGCACHE_SYNC_OUT(); return; L_088123DC: aot_gpr_16 = (ctx.gpr[19] | 0u); goto L_088123E0; L_088123E0: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); goto L_088123E8; L_088123E8: aot_gpr_31 = (0x088123F0u); - aot_gpr_5 = (aot_gpr_28 + static_cast(-30952)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-30952)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088123F0u) goto L_088123F0; AOT_REGCACHE_SYNC_OUT(); return; L_088123F0: { const bool branch_taken = 0u == 0u; - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (branch_taken) { goto L_08812854; } goto L_088123F8; } L_088123F8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); goto L_08812430; } goto L_08812404; @@ -6302,7 +6303,7 @@ L_08812404: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08812410u) goto L_08812410; AOT_REGCACHE_SYNC_OUT(); return; L_08812410: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[19] == 0u; // nop if (branch_taken) { @@ -6313,32 +6314,32 @@ L_08812410: L_0881241C: aot_gpr_31 = (0x08812424u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08812424u) goto L_08812424; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08812424u) goto L_08812424; AOT_REGCACHE_SYNC_OUT(); return; L_08812424: aot_gpr_16 = (ctx.gpr[19] | 0u); goto L_08812428; L_08812428: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); goto L_08812430; L_08812430: aot_gpr_31 = (0x08812438u); - aot_gpr_5 = (aot_gpr_28 + static_cast(-30944)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-30944)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08812438u) goto L_08812438; AOT_REGCACHE_SYNC_OUT(); return; L_08812438: { const bool branch_taken = 0u == 0u; - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (branch_taken) { goto L_08812854; } goto L_08812440; } L_08812440: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); goto L_08812478; } goto L_0881244C; @@ -6349,7 +6350,7 @@ L_0881244C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08812458u) goto L_08812458; AOT_REGCACHE_SYNC_OUT(); return; L_08812458: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[19] == 0u; // nop if (branch_taken) { @@ -6360,32 +6361,32 @@ L_08812458: L_08812464: aot_gpr_31 = (0x0881246Cu); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881246Cu) goto L_0881246C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881246Cu) goto L_0881246C; AOT_REGCACHE_SYNC_OUT(); return; L_0881246C: aot_gpr_16 = (ctx.gpr[19] | 0u); goto L_08812470; L_08812470: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); goto L_08812478; L_08812478: aot_gpr_31 = (0x08812480u); - aot_gpr_5 = (aot_gpr_28 + static_cast(-30936)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-30936)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08812480u) goto L_08812480; AOT_REGCACHE_SYNC_OUT(); return; L_08812480: { const bool branch_taken = 0u == 0u; - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (branch_taken) { goto L_08812854; } goto L_08812488; } L_08812488: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); goto L_088124C0; } goto L_08812494; @@ -6396,7 +6397,7 @@ L_08812494: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088124A0u) goto L_088124A0; AOT_REGCACHE_SYNC_OUT(); return; L_088124A0: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[19] == 0u; // nop if (branch_taken) { @@ -6407,32 +6408,32 @@ L_088124A0: L_088124AC: aot_gpr_31 = (0x088124B4u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088124B4u) goto L_088124B4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088124B4u) goto L_088124B4; AOT_REGCACHE_SYNC_OUT(); return; L_088124B4: aot_gpr_16 = (ctx.gpr[19] | 0u); goto L_088124B8; L_088124B8: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); goto L_088124C0; L_088124C0: aot_gpr_31 = (0x088124C8u); - aot_gpr_5 = (aot_gpr_28 + static_cast(-30928)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-30928)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088124C8u) goto L_088124C8; AOT_REGCACHE_SYNC_OUT(); return; L_088124C8: { const bool branch_taken = 0u == 0u; - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (branch_taken) { goto L_08812854; } goto L_088124D0; } L_088124D0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); goto L_08812508; } goto L_088124DC; @@ -6443,7 +6444,7 @@ L_088124DC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088124E8u) goto L_088124E8; AOT_REGCACHE_SYNC_OUT(); return; L_088124E8: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[19] == 0u; // nop if (branch_taken) { @@ -6454,32 +6455,32 @@ L_088124E8: L_088124F4: aot_gpr_31 = (0x088124FCu); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088124FCu) goto L_088124FC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088124FCu) goto L_088124FC; AOT_REGCACHE_SYNC_OUT(); return; L_088124FC: aot_gpr_16 = (ctx.gpr[19] | 0u); goto L_08812500; L_08812500: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); goto L_08812508; L_08812508: aot_gpr_31 = (0x08812510u); - aot_gpr_5 = (aot_gpr_28 + static_cast(-30920)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-30920)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08812510u) goto L_08812510; AOT_REGCACHE_SYNC_OUT(); return; L_08812510: { const bool branch_taken = 0u == 0u; - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (branch_taken) { goto L_08812854; } goto L_08812518; } L_08812518: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); goto L_08812550; } goto L_08812524; @@ -6490,7 +6491,7 @@ L_08812524: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08812530u) goto L_08812530; AOT_REGCACHE_SYNC_OUT(); return; L_08812530: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[19] == 0u; // nop if (branch_taken) { @@ -6501,32 +6502,32 @@ L_08812530: L_0881253C: aot_gpr_31 = (0x08812544u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08812544u) goto L_08812544; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08812544u) goto L_08812544; AOT_REGCACHE_SYNC_OUT(); return; L_08812544: aot_gpr_16 = (ctx.gpr[19] | 0u); goto L_08812548; L_08812548: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); goto L_08812550; L_08812550: aot_gpr_31 = (0x08812558u); - aot_gpr_5 = (aot_gpr_28 + static_cast(-30912)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-30912)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08812558u) goto L_08812558; AOT_REGCACHE_SYNC_OUT(); return; L_08812558: { const bool branch_taken = 0u == 0u; - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (branch_taken) { goto L_08812854; } goto L_08812560; } L_08812560: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); goto L_08812598; } goto L_0881256C; @@ -6537,7 +6538,7 @@ L_0881256C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08812578u) goto L_08812578; AOT_REGCACHE_SYNC_OUT(); return; L_08812578: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[19] == 0u; // nop if (branch_taken) { @@ -6548,32 +6549,32 @@ L_08812578: L_08812584: aot_gpr_31 = (0x0881258Cu); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881258Cu) goto L_0881258C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881258Cu) goto L_0881258C; AOT_REGCACHE_SYNC_OUT(); return; L_0881258C: aot_gpr_16 = (ctx.gpr[19] | 0u); goto L_08812590; L_08812590: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); goto L_08812598; L_08812598: aot_gpr_31 = (0x088125A0u); - aot_gpr_5 = (aot_gpr_28 + static_cast(-30904)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-30904)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088125A0u) goto L_088125A0; AOT_REGCACHE_SYNC_OUT(); return; L_088125A0: { const bool branch_taken = 0u == 0u; - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (branch_taken) { goto L_08812854; } goto L_088125A8; } L_088125A8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); goto L_088125E0; } goto L_088125B4; @@ -6584,7 +6585,7 @@ L_088125B4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088125C0u) goto L_088125C0; AOT_REGCACHE_SYNC_OUT(); return; L_088125C0: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[19] == 0u; // nop if (branch_taken) { @@ -6595,32 +6596,32 @@ L_088125C0: L_088125CC: aot_gpr_31 = (0x088125D4u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088125D4u) goto L_088125D4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088125D4u) goto L_088125D4; AOT_REGCACHE_SYNC_OUT(); return; L_088125D4: aot_gpr_16 = (ctx.gpr[19] | 0u); goto L_088125D8; L_088125D8: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); goto L_088125E0; L_088125E0: aot_gpr_31 = (0x088125E8u); - aot_gpr_5 = (aot_gpr_28 + static_cast(-30896)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-30896)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088125E8u) goto L_088125E8; AOT_REGCACHE_SYNC_OUT(); return; L_088125E8: { const bool branch_taken = 0u == 0u; - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (branch_taken) { goto L_08812854; } goto L_088125F0; } L_088125F0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); goto L_08812628; } goto L_088125FC; @@ -6631,7 +6632,7 @@ L_088125FC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08812608u) goto L_08812608; AOT_REGCACHE_SYNC_OUT(); return; L_08812608: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[19] == 0u; // nop if (branch_taken) { @@ -6642,32 +6643,32 @@ L_08812608: L_08812614: aot_gpr_31 = (0x0881261Cu); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881261Cu) goto L_0881261C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881261Cu) goto L_0881261C; AOT_REGCACHE_SYNC_OUT(); return; L_0881261C: aot_gpr_16 = (ctx.gpr[19] | 0u); goto L_08812620; L_08812620: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); goto L_08812628; L_08812628: aot_gpr_31 = (0x08812630u); - aot_gpr_5 = (aot_gpr_28 + static_cast(-30888)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-30888)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08812630u) goto L_08812630; AOT_REGCACHE_SYNC_OUT(); return; L_08812630: { const bool branch_taken = 0u == 0u; - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (branch_taken) { goto L_08812854; } goto L_08812638; } L_08812638: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); goto L_08812670; } goto L_08812644; @@ -6678,7 +6679,7 @@ L_08812644: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08812650u) goto L_08812650; AOT_REGCACHE_SYNC_OUT(); return; L_08812650: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[19] == 0u; // nop if (branch_taken) { @@ -6689,32 +6690,32 @@ L_08812650: L_0881265C: aot_gpr_31 = (0x08812664u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08812664u) goto L_08812664; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08812664u) goto L_08812664; AOT_REGCACHE_SYNC_OUT(); return; L_08812664: aot_gpr_16 = (ctx.gpr[19] | 0u); goto L_08812668; L_08812668: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); goto L_08812670; L_08812670: aot_gpr_31 = (0x08812678u); - aot_gpr_5 = (aot_gpr_28 + static_cast(-30880)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-30880)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08812678u) goto L_08812678; AOT_REGCACHE_SYNC_OUT(); return; L_08812678: { const bool branch_taken = 0u == 0u; - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (branch_taken) { goto L_08812854; } goto L_08812680; } L_08812680: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); goto L_088126B8; } goto L_0881268C; @@ -6725,7 +6726,7 @@ L_0881268C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08812698u) goto L_08812698; AOT_REGCACHE_SYNC_OUT(); return; L_08812698: - ctx.gpr[21] = (ctx.gpr[2] | 0u); + ctx.gpr[21] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[21] == 0u; // nop if (branch_taken) { @@ -6736,25 +6737,25 @@ L_08812698: L_088126A4: aot_gpr_31 = (0x088126ACu); aot_gpr_4 = (ctx.gpr[21] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088126ACu) goto L_088126AC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088126ACu) goto L_088126AC; AOT_REGCACHE_SYNC_OUT(); return; L_088126AC: ctx.gpr[20] = (ctx.gpr[21] | 0u); goto L_088126B0; L_088126B0: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[20]); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), ctx.gpr[20]); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); goto L_088126B8; L_088126B8: aot_gpr_31 = (0x088126C0u); - aot_gpr_5 = (aot_gpr_28 + static_cast(-30872)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-30872)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088126C0u) goto L_088126C0; AOT_REGCACHE_SYNC_OUT(); return; L_088126C0: aot_gpr_5 = (18510u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(-1)); { const bool branch_taken = ctx.gpr[19] == aot_gpr_5; - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (branch_taken) { goto L_088126DC; } @@ -6770,9 +6771,9 @@ L_088126D0: goto L_088126DC; } L_088126DC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); goto L_08812714; } goto L_088126E8; @@ -6783,7 +6784,7 @@ L_088126E8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088126F4u) goto L_088126F4; AOT_REGCACHE_SYNC_OUT(); return; L_088126F4: - ctx.gpr[20] = (ctx.gpr[2] | 0u); + ctx.gpr[20] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[20] == 0u; // nop if (branch_taken) { @@ -6794,23 +6795,23 @@ L_088126F4: L_08812700: aot_gpr_31 = (0x08812708u); aot_gpr_4 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08812708u) goto L_08812708; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08812708u) goto L_08812708; AOT_REGCACHE_SYNC_OUT(); return; L_08812708: ctx.gpr[19] = (ctx.gpr[20] | 0u); goto L_0881270C; L_0881270C: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[19]); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), ctx.gpr[19]); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); goto L_08812714; L_08812714: aot_gpr_31 = (0x0881271Cu); - aot_gpr_5 = (aot_gpr_28 + static_cast(-30864)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-30864)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881271Cu) goto L_0881271C; AOT_REGCACHE_SYNC_OUT(); return; L_0881271C: aot_gpr_5 = (0u | 1u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(610), static_cast(aot_gpr_5)); goto L_08812728; L_08812728: @@ -6841,9 +6842,9 @@ L_08812740: goto L_0881274C; } L_0881274C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); goto L_08812784; } goto L_08812758; @@ -6854,7 +6855,7 @@ L_08812758: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08812764u) goto L_08812764; AOT_REGCACHE_SYNC_OUT(); return; L_08812764: - ctx.gpr[20] = (ctx.gpr[2] | 0u); + ctx.gpr[20] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[20] == 0u; // nop if (branch_taken) { @@ -6865,23 +6866,23 @@ L_08812764: L_08812770: aot_gpr_31 = (0x08812778u); aot_gpr_4 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08812778u) goto L_08812778; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08812778u) goto L_08812778; AOT_REGCACHE_SYNC_OUT(); return; L_08812778: ctx.gpr[19] = (ctx.gpr[20] | 0u); goto L_0881277C; L_0881277C: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[19]); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), ctx.gpr[19]); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); goto L_08812784; L_08812784: aot_gpr_31 = (0x0881278Cu); - aot_gpr_5 = (aot_gpr_28 + static_cast(-30856)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-30856)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881278Cu) goto L_0881278C; AOT_REGCACHE_SYNC_OUT(); return; L_0881278C: aot_gpr_5 = (0u | 1u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(608), static_cast(aot_gpr_5)); if (branch_taken) { @@ -6909,9 +6910,9 @@ L_088127AC: goto L_088127B8; } L_088127B8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); goto L_088127F0; } goto L_088127C4; @@ -6922,7 +6923,7 @@ L_088127C4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088127D0u) goto L_088127D0; AOT_REGCACHE_SYNC_OUT(); return; L_088127D0: - ctx.gpr[20] = (ctx.gpr[2] | 0u); + ctx.gpr[20] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[20] == 0u; // nop if (branch_taken) { @@ -6933,23 +6934,23 @@ L_088127D0: L_088127DC: aot_gpr_31 = (0x088127E4u); aot_gpr_4 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088127E4u) goto L_088127E4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088127E4u) goto L_088127E4; AOT_REGCACHE_SYNC_OUT(); return; L_088127E4: ctx.gpr[19] = (ctx.gpr[20] | 0u); goto L_088127E8; L_088127E8: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[19]); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), ctx.gpr[19]); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); goto L_088127F0; L_088127F0: aot_gpr_31 = (0x088127F8u); - aot_gpr_5 = (aot_gpr_28 + static_cast(-30848)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-30848)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088127F8u) goto L_088127F8; AOT_REGCACHE_SYNC_OUT(); return; L_088127F8: aot_gpr_5 = (0u | 1u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(609), static_cast(aot_gpr_5)); if (branch_taken) { @@ -6958,9 +6959,9 @@ L_088127F8: goto L_08812808; } L_08812808: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); goto L_08812840; } goto L_08812814; @@ -6971,7 +6972,7 @@ L_08812814: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08812820u) goto L_08812820; AOT_REGCACHE_SYNC_OUT(); return; L_08812820: - ctx.gpr[20] = (ctx.gpr[2] | 0u); + ctx.gpr[20] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[20] == 0u; // nop if (branch_taken) { @@ -6982,23 +6983,23 @@ L_08812820: L_0881282C: aot_gpr_31 = (0x08812834u); aot_gpr_4 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08812834u) goto L_08812834; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08812834u) goto L_08812834; AOT_REGCACHE_SYNC_OUT(); return; L_08812834: ctx.gpr[19] = (ctx.gpr[20] | 0u); goto L_08812838; L_08812838: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[19]); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), ctx.gpr[19]); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); goto L_08812840; L_08812840: aot_gpr_31 = (0x08812848u); - aot_gpr_5 = (aot_gpr_28 + static_cast(-30864)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-30864)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08812848u) goto L_08812848; AOT_REGCACHE_SYNC_OUT(); return; L_08812848: aot_gpr_5 = (0u | 1u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(610), static_cast(aot_gpr_5)); goto L_08812854; L_08812854: @@ -7013,15 +7014,15 @@ L_0881285C: aot_gpr_5 = (ctx.gpr[17] + static_cast(15)); aot_gpr_31 = (0x08812868u); ctx.gpr[6] = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08812868u) goto L_08812868; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08812868u) goto L_08812868; AOT_REGCACHE_SYNC_OUT(); return; L_08812868: - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); goto L_0881286C; L_0881286C: { std::uint32_t aot_run_words[13]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(52), aot_run_words); - aot_fpr_20 = std::bit_cast(aot_run_words[0]); + ctx.fpr[20] = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); ctx.fpr[26] = std::bit_cast(aot_run_words[3]); @@ -7043,8 +7044,8 @@ L_0881286C: AOT_REGCACHE_SYNC_OUT(); return; L_088128A8: aot_gpr_29 = (aot_gpr_29 + static_cast(-624)); - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-7080))); - { const std::uint32_t aot_run_words[16]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7080))); + { const std::uint32_t aot_run_words[16]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(552), aot_run_words); } { const bool branch_taken = aot_gpr_5 == 0u; ctx.gpr[22] = (aot_gpr_4 | 0u); @@ -7062,7 +7063,7 @@ L_08812900: aot_gpr_4 = (0u | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(464), aot_gpr_4); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(300))); - aot_gpr_4 = (aot_gpr_28 + static_cast(5824)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(5824)); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(304))); aot_gpr_5 = (2236u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(536), aot_gpr_4); @@ -7192,7 +7193,7 @@ L_08812A38: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 617u, 0x088634F8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08812A40u) goto L_08812A40; AOT_REGCACHE_SYNC_OUT(); return; L_08812A40: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08812AD0; @@ -7228,19 +7229,19 @@ L_08812A6C: aot_fpr_14 = aot_fpr_13 / aot_fpr_12; ctx.gpr[10] = (17252u << 16u); aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[20] + static_cast(666))); - ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-31816))); - ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-31815))); - ctx.gpr[9] = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-31814))); - ctx.gpr[2] = (16384u << 16u); + ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-31816))); + ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-31815))); + ctx.gpr[9] = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-31814))); + aot_gpr_2 = (16384u << 16u); aot_gpr_4 = (aot_gpr_4 << 16u); ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(472))); aot_gpr_4 = (ctx.gpr[17] | aot_gpr_4); aot_gpr_5 = (0u | 6u); ctx.gpr[11] = (0u | 2048u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); - ctx.fpr[15] = std::bit_cast(ctx.gpr[10]); - { const float fs = aot_fpr_14; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } - aot_fpr_12 = std::bit_cast(ctx.gpr[2]); + aot_fpr_15 = std::bit_cast(ctx.gpr[10]); + { const float fs = aot_fpr_14; const float ft = aot_fpr_15; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } + aot_fpr_12 = std::bit_cast(aot_gpr_2); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[26])); aot_fpr_14 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_14)); ctx.gpr[10] = (std::bit_cast(aot_fpr_14)); @@ -7265,13 +7266,13 @@ L_08812AD8: goto L_08812AE0; } L_08812AE0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-15972))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); aot_gpr_31 = (0x08812AECu); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(632))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08812AECu) goto L_08812AEC; AOT_REGCACHE_SYNC_OUT(); return; L_08812AEC: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -7304,7 +7305,7 @@ L_08812B18: aot_fpr_12 = std::bit_cast(aot_gpr_5); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(86)))))); aot_gpr_5 = (aot_gpr_5 << 2u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(24))); + ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); aot_gpr_5 = (ctx.gpr[6] + aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(20))); @@ -7330,8 +7331,8 @@ L_08812B18: aot_fpr_14 = std::bit_cast(aot_gpr_4); { const float fs = aot_fpr_13; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_fpr_13 = aot_fpr_13 + aot_fpr_12; - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); - aot_fpr_13 = aot_fpr_13 + ctx.fpr[15]; + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); + aot_fpr_13 = aot_fpr_13 + aot_fpr_15; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), std::bit_cast(aot_fpr_13)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(624))); { const bool branch_taken = aot_gpr_4 != 0u; @@ -7342,7 +7343,7 @@ L_08812B18: goto L_08812B7C; } L_08812B7C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-31812))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-31812))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), aot_gpr_4); ctx.gpr[10] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(32))); ctx.gpr[9] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(33))); @@ -7354,7 +7355,7 @@ L_08812B7C: goto L_08812B94; } L_08812B94: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-31808))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-31808))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), aot_gpr_4); ctx.gpr[10] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(32))); ctx.gpr[9] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(33))); @@ -7364,7 +7365,7 @@ L_08812BA8: aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[20] + static_cast(666))); aot_gpr_4 = (0u | 2u); ctx.gpr[7] = (aot_gpr_5 << 16u); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-1044))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-1044))); ctx.gpr[7] = (ctx.gpr[17] | ctx.gpr[7]); if (aot_gpr_5 == 0u) { aot_gpr_4 = (0u | 1u); @@ -7377,14 +7378,14 @@ L_08812BC4: aot_gpr_5 = (aot_gpr_4 | 0u); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[22])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[21]); - ctx.gpr[2] = (ctx.gpr[8] | 0u); + aot_gpr_2 = (ctx.gpr[8] | 0u); aot_gpr_4 = (ctx.gpr[7] | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), 0u); ctx.gpr[6] = (ctx.gpr[11] | 0u); ctx.gpr[7] = (ctx.gpr[10] | 0u); ctx.gpr[8] = (ctx.gpr[9] | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), 0u); - ctx.gpr[9] = (ctx.gpr[2] | 0u); + ctx.gpr[9] = (aot_gpr_2 | 0u); ctx.gpr[10] = (ctx.gpr[3] | 0u); ctx.gpr[11] = (0u | 1024u); aot_gpr_31 = (0x08812C08u); @@ -7400,14 +7401,14 @@ L_08812C08: goto L_08812C10; } L_08812C10: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-15976))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15976))); ctx.gpr[21] = (0u | 0u); aot_gpr_31 = (0x08812C20u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(632))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08812C20u) goto L_08812C20; AOT_REGCACHE_SYNC_OUT(); return; L_08812C20: - aot_gpr_16 = (ctx.gpr[2] | 0u); + aot_gpr_16 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_16 == 0u; // nop if (branch_taken) { @@ -7421,7 +7422,7 @@ L_08812C2C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 195u, 0x08910B38u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08812C34u) goto L_08812C34; AOT_REGCACHE_SYNC_OUT(); return; L_08812C34: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08812C5C; @@ -7486,7 +7487,7 @@ L_08812C78: goto L_08812C88; } L_08812C88: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-1044))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-1044))); { const bool branch_taken = aot_gpr_5 != 0u; ctx.gpr[7] = (aot_gpr_4 + static_cast(48)); if (branch_taken) { @@ -7507,7 +7508,7 @@ L_08812CA0: aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[30])); goto L_08812CA4; L_08812CA4: - aot_fpr_20 = std::bit_cast(std::bit_cast(aot_fpr_12)); + ctx.fpr[20] = std::bit_cast(std::bit_cast(aot_fpr_12)); { const std::uint32_t vfpu_address = ctx.gpr[7] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -7523,9 +7524,9 @@ L_08812CA4: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(56))); - aot_fpr_13 = aot_fpr_13 + aot_fpr_20; + aot_fpr_13 = aot_fpr_13 + ctx.fpr[20]; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), std::bit_cast(aot_fpr_13)); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-1044))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-1044))); { const bool branch_taken = aot_gpr_5 != 0u; aot_gpr_5 = (16204u << 16u); if (branch_taken) { @@ -7556,7 +7557,7 @@ L_08812CDC: goto L_08812CEC; } L_08812CEC: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-31812))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-31812))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), aot_gpr_5); ctx.gpr[19] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(64))); ctx.gpr[18] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(65))); @@ -7568,7 +7569,7 @@ L_08812CEC: goto L_08812D04; } L_08812D04: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-31808))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-31808))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), aot_gpr_5); ctx.gpr[19] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(64))); ctx.gpr[18] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(65))); @@ -7629,21 +7630,21 @@ L_08812D60: AOT_REGCACHE_SYNC_OUT(); return; L_08812D68: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(704))); - aot_gpr_16 = (ctx.gpr[2] | 0u); + aot_gpr_16 = (aot_gpr_2 | 0u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); aot_gpr_31 = (0x08812D7Cu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 251u, 0x08969194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08812D7Cu) goto L_08812D7C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08969194, 89u, 251u, 0x08969194u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 251u, 0x08969194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08812D7Cu) goto L_08812D7C; AOT_REGCACHE_SYNC_OUT(); return; L_08812D7C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08812D88u); - aot_gpr_16 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08812D88u) goto L_08812D88; + aot_gpr_16 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0896918C, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08812D88u) goto L_08812D88; AOT_REGCACHE_SYNC_OUT(); return; L_08812D88: aot_gpr_16 = (aot_gpr_16 << 6u); - aot_gpr_16 = (ctx.gpr[2] + aot_gpr_16); + aot_gpr_16 = (aot_gpr_2 + aot_gpr_16); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(144), 0u); if (branch_taken) { @@ -7739,7 +7740,7 @@ L_08812E18: } L_08812E20: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(86)))))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(24))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); @@ -7749,17 +7750,17 @@ L_08812E20: aot_gpr_4 = (aot_gpr_4 + static_cast(32)); aot_fpr_14 = std::bit_cast(aot_gpr_5); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(8))); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(8))); { const float fs = aot_fpr_13; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_fpr_12 = aot_fpr_13 + aot_fpr_12; - aot_fpr_12 = aot_fpr_12 + ctx.fpr[15]; + aot_fpr_12 = aot_fpr_12 + aot_fpr_15; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), std::bit_cast(aot_fpr_12)); goto L_08812E60; L_08812E60: aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[20] + static_cast(666))); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(464))); aot_gpr_5 = (aot_gpr_4 << 16u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-1044))); + ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-1044))); aot_gpr_4 = (0u | 2u); ctx.gpr[7] = (ctx.gpr[7] | aot_gpr_5); if (ctx.gpr[6] == 0u) { @@ -7769,10 +7770,10 @@ L_08812E60: goto L_08812E80; L_08812E80: ctx.gpr[10] = (aot_mem.aot_direct_load8(ctx.gpr[22] + static_cast(6848))); - aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); - ctx.gpr[2] = (0u | 5u); + aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); + aot_gpr_2 = (0u | 5u); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[26])); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_2); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[22])); aot_gpr_5 = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), 0u); @@ -7796,7 +7797,7 @@ L_08812EC4: goto L_08812ECC; } L_08812ECC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-15960))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15960))); aot_gpr_31 = (0x08812ED8u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(632))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 445u, 0x08B65D28u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08812ED8u) goto L_08812ED8; @@ -7806,7 +7807,7 @@ L_08812ED8: aot_gpr_4 = (aot_gpr_4 & 224u); aot_gpr_5 = (0u | 128u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; - aot_gpr_16 = (ctx.gpr[2] | 0u); + aot_gpr_16 = (aot_gpr_2 | 0u); if (branch_taken) { goto L_08812FF8; } @@ -7838,7 +7839,7 @@ L_08812EEC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0169_entry, 169u, 32u, 0x08AA82D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08812F18u) goto L_08812F18; AOT_REGCACHE_SYNC_OUT(); return; L_08812F18: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08812FF8; @@ -7849,38 +7850,38 @@ L_08812F20: aot_gpr_4 = (0u | 6u); aot_gpr_31 = (0x08812F2Cu); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08812F2Cu) goto L_08812F2C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08812F2Cu) goto L_08812F2C; AOT_REGCACHE_SYNC_OUT(); return; L_08812F2C: aot_gpr_4 = (0u | 4u); aot_gpr_31 = (0x08812F38u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08812F38u) goto L_08812F38; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08812F38u) goto L_08812F38; AOT_REGCACHE_SYNC_OUT(); return; L_08812F38: aot_gpr_4 = (0u | 10u); aot_gpr_31 = (0x08812F44u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08812F44u) goto L_08812F44; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08812F44u) goto L_08812F44; AOT_REGCACHE_SYNC_OUT(); return; L_08812F44: aot_gpr_4 = (0u | 8u); aot_gpr_31 = (0x08812F50u); aot_gpr_5 = (0u | 5u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08812F50u) goto L_08812F50; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08812F50u) goto L_08812F50; AOT_REGCACHE_SYNC_OUT(); return; L_08812F50: aot_gpr_4 = (0u | 9u); aot_gpr_31 = (0x08812F5Cu); aot_gpr_5 = (0u | 6u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08812F5Cu) goto L_08812F5C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08812F5Cu) goto L_08812F5C; AOT_REGCACHE_SYNC_OUT(); return; L_08812F5C: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7724))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7724))); aot_gpr_4 = (0u | 1u); aot_gpr_31 = (0x08812F6Cu); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08812F6Cu) goto L_08812F6C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08812F6Cu) goto L_08812F6C; AOT_REGCACHE_SYNC_OUT(); return; L_08812F6C: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[20] + static_cast(656)))))); @@ -7892,14 +7893,14 @@ L_08812F6C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0002_entry, 2u, 654u, 0x0880F3B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08812F84u) goto L_08812F84; AOT_REGCACHE_SYNC_OUT(); return; L_08812F84: - aot_gpr_4 = (ctx.gpr[2] >> 24u); - aot_gpr_5 = (ctx.gpr[2] >> 16u); + aot_gpr_4 = (aot_gpr_2 >> 24u); + aot_gpr_5 = (aot_gpr_2 >> 16u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(216), static_cast(aot_gpr_4)); - aot_gpr_4 = (ctx.gpr[2] >> 8u); + aot_gpr_4 = (aot_gpr_2 >> 8u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(217), static_cast(aot_gpr_5)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(218), static_cast(aot_gpr_4)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(192))); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(219), static_cast(ctx.gpr[2])); + aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(219), static_cast(aot_gpr_2)); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(196))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(200))); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(216))); @@ -7909,28 +7910,28 @@ L_08812F84: ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(218))); ctx.gpr[7] = (0u | 255u); ctx.gpr[8] = (0u | 255u); - ctx.fpr[15] = std::bit_cast(ctx.gpr[9]); + aot_fpr_15 = std::bit_cast(ctx.gpr[9]); aot_gpr_31 = (0x08812FD4u); - ctx.fpr[16] = std::bit_cast(std::bit_cast(ctx.fpr[15])); + ctx.fpr[16] = std::bit_cast(std::bit_cast(aot_fpr_15)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0169_entry, 169u, 68u, 0x08AA8C8Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08812FD4u) goto L_08812FD4; AOT_REGCACHE_SYNC_OUT(); return; L_08812FD4: aot_gpr_4 = (0u | 10u); aot_gpr_31 = (0x08812FE0u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08812FE0u) goto L_08812FE0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08812FE0u) goto L_08812FE0; AOT_REGCACHE_SYNC_OUT(); return; L_08812FE0: aot_gpr_4 = (0u | 6u); aot_gpr_31 = (0x08812FECu); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08812FECu) goto L_08812FEC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08812FECu) goto L_08812FEC; AOT_REGCACHE_SYNC_OUT(); return; L_08812FEC: aot_gpr_4 = (0u | 4u); aot_gpr_31 = (0x08812FF8u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08812FF8u) goto L_08812FF8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08812FF8u) goto L_08812FF8; AOT_REGCACHE_SYNC_OUT(); return; L_08812FF8: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[20] + static_cast(656)))))); @@ -7953,7 +7954,7 @@ L_08813008: goto L_08813018; } L_08813018: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-1044))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-1044))); if (aot_gpr_4 != 0u) { aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[30])); goto L_0881302C; @@ -7970,7 +7971,7 @@ L_08813024: L_0881302C: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); aot_gpr_4 = (aot_gpr_4 << 2u); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(24))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); @@ -7995,7 +7996,7 @@ L_0881302C: aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(232))); aot_fpr_13 = aot_fpr_13 + aot_fpr_14; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(232), std::bit_cast(aot_fpr_13)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-1044))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-1044))); if (aot_gpr_4 != 0u) { aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[22])); goto L_08813080; @@ -8020,7 +8021,7 @@ L_08813080: goto L_08813090; } L_08813090: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-31812))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-31812))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(240), aot_gpr_4); ctx.gpr[9] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(240))); ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(241))); @@ -8042,7 +8043,7 @@ L_088130A8: goto L_088130B8; } L_088130B8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-31808))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-31808))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(240), aot_gpr_4); ctx.gpr[9] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(240))); ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(241))); @@ -8054,7 +8055,7 @@ L_088130B8: goto L_088130D0; } L_088130D0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-31804))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-31804))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(240), aot_gpr_4); ctx.gpr[9] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(240))); ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(241))); @@ -8064,7 +8065,7 @@ L_088130E4: aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[20] + static_cast(666))); aot_gpr_4 = (0u | 2u); ctx.gpr[10] = (aot_gpr_5 << 16u); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-1044))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-1044))); ctx.gpr[10] = (ctx.gpr[17] | ctx.gpr[10]); if (aot_gpr_5 == 0u) { aot_gpr_4 = (0u | 1u); @@ -8106,8 +8107,8 @@ L_08813144: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 192u, 0x08ADCA6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08813158u) goto L_08813158; AOT_REGCACHE_SYNC_OUT(); return; L_08813158: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-7080))); - ctx.gpr[18] = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7080))); + ctx.gpr[18] = (aot_gpr_2 | 0u); ctx.gpr[19] = (0u | 0u); { const bool branch_taken = aot_gpr_4 == 0u; ctx.gpr[21] = (0u | 0u); @@ -8136,7 +8137,7 @@ L_08813174: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881318Cu) goto L_0881318C; AOT_REGCACHE_SYNC_OUT(); return; L_0881318C: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_0881339C; @@ -8151,7 +8152,7 @@ L_08813194: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 12u, 0x08ADC0F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088131A4u) goto L_088131A4; AOT_REGCACHE_SYNC_OUT(); return; L_088131A4: - aot_gpr_16 = (ctx.gpr[2] | 0u); + aot_gpr_16 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_16 == 0u; // nop if (branch_taken) { @@ -8176,7 +8177,7 @@ L_088131BC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088131CCu) goto L_088131CC; AOT_REGCACHE_SYNC_OUT(); return; L_088131CC: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(96), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(432))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(4), static_cast(aot_gpr_4)); goto L_088131D8; @@ -8198,13 +8199,13 @@ L_088131F0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088131F8u) goto L_088131F8; AOT_REGCACHE_SYNC_OUT(); return; L_088131F8: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08813204u); aot_gpr_5 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 779u, 0x08947B90u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08813204u) goto L_08813204; AOT_REGCACHE_SYNC_OUT(); return; L_08813204: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08813210; @@ -8222,7 +8223,7 @@ L_08813210: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 192u, 0x08ADCA6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08813220u) goto L_08813220; AOT_REGCACHE_SYNC_OUT(); return; L_08813220: - aot_gpr_16 = (ctx.gpr[2] | 0u); + aot_gpr_16 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_16 == 0u; // nop if (branch_taken) { @@ -8249,16 +8250,16 @@ L_08813244: AOT_REGCACHE_SYNC_OUT(); return; L_0881324C: aot_gpr_31 = (0x08813254u); - aot_gpr_16 = (ctx.gpr[2] | 0u); + aot_gpr_16 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08813254u) goto L_08813254; AOT_REGCACHE_SYNC_OUT(); return; L_08813254: aot_gpr_31 = (0x0881325Cu); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 696u, 0x0890EF94u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881325Cu) goto L_0881325C; AOT_REGCACHE_SYNC_OUT(); return; L_0881325C: - { const bool branch_taken = aot_gpr_16 != ctx.gpr[2]; + { const bool branch_taken = aot_gpr_16 != aot_gpr_2; // nop if (branch_taken) { goto L_08813268; @@ -8282,7 +8283,7 @@ L_08813278: aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_16 = (ctx.gpr[2] | 0u); + aot_gpr_16 = (aot_gpr_2 | 0u); if (branch_taken) { goto L_0881339C; } @@ -8303,7 +8304,7 @@ L_088132A0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088132B0u) goto L_088132B0; AOT_REGCACHE_SYNC_OUT(); return; L_088132B0: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(96), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(433))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); @@ -8356,7 +8357,7 @@ L_08813318: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08813328u) goto L_08813328; AOT_REGCACHE_SYNC_OUT(); return; L_08813328: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(96), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(434))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(4), static_cast(aot_gpr_4)); goto L_08813334; @@ -8383,7 +8384,7 @@ L_0881334C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 192u, 0x08ADCA6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08813358u) goto L_08813358; AOT_REGCACHE_SYNC_OUT(); return; L_08813358: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); goto L_0881335C; L_0881335C: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(352))); @@ -8464,12 +8465,12 @@ L_088133E8: aot_gpr_4 = (ctx.gpr[19] | 0u); jump_target = ctx.gpr[6]; aot_gpr_31 = (0x088133F8u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088133F8u) goto L_088133F8; AOT_REGCACHE_SYNC_OUT(); return; L_088133F8: - aot_gpr_16 = (ctx.gpr[2] | 0u); + aot_gpr_16 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_16 == 0u; // nop if (branch_taken) { @@ -8483,7 +8484,7 @@ L_08813404: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0008_entry, 8u, 19u, 0x08824204u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881340Cu) goto L_0881340C; AOT_REGCACHE_SYNC_OUT(); return; L_0881340C: - { const std::uint32_t vfpu_address = ctx.gpr[2] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_2 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -8517,12 +8518,12 @@ L_08813434: aot_gpr_4 = (ctx.gpr[17] | 0u); jump_target = ctx.gpr[6]; aot_gpr_31 = (0x08813444u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08813444u) goto L_08813444; AOT_REGCACHE_SYNC_OUT(); return; L_08813444: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(540))); if (branch_taken) { goto L_0881348C; @@ -8544,7 +8545,7 @@ L_08813458: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08813468u) goto L_08813468; AOT_REGCACHE_SYNC_OUT(); return; L_08813468: - aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(96), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(440))); aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(96))); @@ -8586,9 +8587,9 @@ L_08813494: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(444), std::bit_cast(aot_fpr_12)); aot_gpr_5 = (std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(448), std::bit_cast(aot_fpr_13)); - aot_fpr_20 = std::bit_cast(aot_gpr_4); + ctx.fpr[20] = std::bit_cast(aot_gpr_4); ctx.gpr[19] = (aot_gpr_29 + static_cast(288)); - ctx.gpr[7] = (std::bit_cast(aot_fpr_20)); + ctx.gpr[7] = (std::bit_cast(ctx.fpr[20])); ctx.gpr[6] = (aot_gpr_29 + static_cast(256)); ctx.fpr[28] = std::bit_cast(aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(256), ctx.gpr[7]); @@ -8610,7 +8611,7 @@ L_088134E8: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[20] + static_cast(656)))))); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[0])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(476), std::bit_cast(ctx.fpr[28])); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(480), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(480), std::bit_cast(ctx.fpr[20])); aot_gpr_4 = (aot_gpr_4 & 8u); { const bool branch_taken = aot_gpr_4 == 0u; ctx.fpr[28] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(544))); @@ -8666,14 +8667,14 @@ L_08813540: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 156u, 0x08ADC7F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08813550u) goto L_08813550; AOT_REGCACHE_SYNC_OUT(); return; L_08813550: - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(0))); - aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(1))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(0))); + aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(1))); aot_gpr_4 = (aot_gpr_4 << 24u); aot_gpr_5 = (aot_gpr_5 << 16u); - ctx.gpr[6] = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(2))); + ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(2))); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_5 = (ctx.gpr[6] << 8u); - ctx.gpr[6] = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(3))); + ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(3))); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); aot_gpr_5 = (aot_gpr_4 >> 24u); @@ -8705,14 +8706,14 @@ L_088135B8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 167u, 0x08ADC88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088135C8u) goto L_088135C8; AOT_REGCACHE_SYNC_OUT(); return; L_088135C8: - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(0))); - aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(1))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(0))); + aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(1))); aot_gpr_4 = (aot_gpr_4 << 24u); aot_gpr_5 = (aot_gpr_5 << 16u); - ctx.gpr[6] = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(2))); + ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(2))); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_5 = (ctx.gpr[6] << 8u); - ctx.gpr[6] = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(3))); + ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(3))); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); aot_gpr_5 = (aot_gpr_4 >> 24u); @@ -8795,9 +8796,9 @@ L_08813688: L_08813690: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(280))); aot_gpr_4 = (aot_gpr_4 | 52429u); - aot_fpr_20 = std::bit_cast(aot_gpr_4); + ctx.fpr[20] = std::bit_cast(aot_gpr_4); aot_gpr_5 = (aot_gpr_29 + static_cast(320)); - aot_fpr_12 = aot_fpr_12 + aot_fpr_20; + aot_fpr_12 = aot_fpr_12 + ctx.fpr[20]; aot_gpr_4 = (ctx.gpr[17] | 0u); ctx.gpr[6] = (aot_gpr_29 + static_cast(336)); ctx.gpr[7] = (aot_gpr_29 + static_cast(340)); @@ -8807,7 +8808,7 @@ L_08813690: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0169_entry, 169u, 32u, 0x08AA82D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088136BCu) goto L_088136BC; AOT_REGCACHE_SYNC_OUT(); return; L_088136BC: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; aot_gpr_4 = (17224u << 16u); if (branch_taken) { goto L_0881387C; @@ -8841,7 +8842,7 @@ L_08813710: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(548), ctx.gpr[30]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(540), ctx.gpr[17]); aot_gpr_4 = (16395u << 16u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(544), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(544), std::bit_cast(ctx.fpr[20])); aot_gpr_4 = (aot_gpr_4 | 8548u); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(336), std::bit_cast(aot_fpr_12)); @@ -8853,16 +8854,16 @@ L_08813710: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 32u, 0x08ADC204u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08813740u) goto L_08813740; AOT_REGCACHE_SYNC_OUT(); return; L_08813740: - aot_gpr_16 = (ctx.gpr[2] | 0u); + aot_gpr_16 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x0881374Cu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881374Cu) goto L_0881374C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881374Cu) goto L_0881374C; AOT_REGCACHE_SYNC_OUT(); return; L_0881374C: aot_gpr_4 = (aot_gpr_29 + static_cast(376)); aot_gpr_5 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0881375Cu); - ctx.gpr[6] = (ctx.gpr[2] | 0u); + ctx.gpr[6] = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 283u, 0x08B653C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881375Cu) goto L_0881375C; AOT_REGCACHE_SYNC_OUT(); return; L_0881375C: @@ -8879,34 +8880,34 @@ L_0881376C: ctx.gpr[19] = (aot_gpr_29 + static_cast(356)); aot_gpr_5 = (17287u << 16u); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[22])); - aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(320))); - ctx.fpr[15] = std::bit_cast(aot_gpr_5); + ctx.fpr[20] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(320))); + aot_fpr_15 = std::bit_cast(aot_gpr_5); aot_gpr_31 = (0x08813794u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08813794u) goto L_08813794; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08873400, 27u, 732u, 0x08873400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08813794u) goto L_08813794; AOT_REGCACHE_SYNC_OUT(); return; L_08813794: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 0u); ctx.gpr[6] = (0u | 0u); - ctx.gpr[7] = (ctx.gpr[2] | 0u); + ctx.gpr[7] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x088137ACu); ctx.gpr[8] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 90u, 0x08B0C660u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088137ACu) goto L_088137AC; AOT_REGCACHE_SYNC_OUT(); return; L_088137AC: - aot_fpr_12 = std::bit_cast(ctx.gpr[2]); + aot_fpr_12 = std::bit_cast(aot_gpr_2); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_gpr_4 = (0u | 1u); - aot_fpr_12 = aot_fpr_20 - aot_fpr_12; + aot_fpr_12 = ctx.fpr[20] - aot_fpr_12; aot_gpr_31 = (0x088137C4u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(320), std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088137C4u) goto L_088137C4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C498, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088137C4u) goto L_088137C4; AOT_REGCACHE_SYNC_OUT(); return; L_088137C4: aot_gpr_31 = (0x088137CCu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088137CCu) goto L_088137CC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C05C, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_16, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088137CCu) goto L_088137CC; AOT_REGCACHE_SYNC_OUT(); return; L_088137CC: aot_gpr_31 = (0x088137D4u); @@ -8937,17 +8938,17 @@ L_088137D4: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(374), static_cast(ctx.gpr[6])); aot_gpr_5 = (17288u << 16u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(375), static_cast(ctx.gpr[7])); - ctx.fpr[15] = std::bit_cast(aot_gpr_5); + aot_fpr_15 = std::bit_cast(aot_gpr_5); aot_gpr_31 = (0x0881383Cu); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881383Cu) goto L_0881383C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08873400, 27u, 732u, 0x08873400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881383Cu) goto L_0881383C; AOT_REGCACHE_SYNC_OUT(); return; L_0881383C: aot_gpr_4 = (aot_gpr_16 | 0u); ctx.gpr[7] = (aot_gpr_29 + static_cast(372)); aot_gpr_5 = (ctx.gpr[17] | 0u); ctx.gpr[6] = (ctx.gpr[30] | 0u); - ctx.gpr[8] = (ctx.gpr[2] | 0u); + ctx.gpr[8] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08813858u); ctx.gpr[9] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 24u, 0x08B0C1B0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08813858u) goto L_08813858; @@ -8955,7 +8956,7 @@ L_0881383C: L_08813858: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(380))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(536))); - aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(544))); + ctx.fpr[20] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(544))); ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(540))); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; ctx.gpr[30] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(548))); @@ -8968,11 +8969,11 @@ L_08813870: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(532))); aot_gpr_31 = (0x0881387Cu); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(380))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881387Cu) goto L_0881387C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881387Cu) goto L_0881387C; AOT_REGCACHE_SYNC_OUT(); return; L_0881387C: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(280))); - aot_fpr_12 = aot_fpr_12 - aot_fpr_20; + aot_fpr_12 = aot_fpr_12 - ctx.fpr[20]; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(280), std::bit_cast(aot_fpr_12)); goto L_08813888; L_08813888: @@ -8995,7 +8996,7 @@ L_08813890: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088138A8u) goto L_088138A8; AOT_REGCACHE_SYNC_OUT(); return; L_088138A8: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; aot_gpr_4 = (16204u << 16u); if (branch_taken) { goto L_088139E8; @@ -9010,7 +9011,7 @@ L_088138B0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 192u, 0x08ADCA6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088138C0u) goto L_088138C0; AOT_REGCACHE_SYNC_OUT(); return; L_088138C0: - aot_gpr_16 = (ctx.gpr[2] | 0u); + aot_gpr_16 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_16 == 0u; // nop if (branch_taken) { @@ -9033,7 +9034,7 @@ L_088138D8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088138E8u) goto L_088138E8; AOT_REGCACHE_SYNC_OUT(); return; L_088138E8: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(96), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(460))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); @@ -9063,7 +9064,7 @@ L_08813914: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08813924u) goto L_08813924; AOT_REGCACHE_SYNC_OUT(); return; L_08813924: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(96), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(461))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); @@ -9093,7 +9094,7 @@ L_08813950: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08813960u) goto L_08813960; AOT_REGCACHE_SYNC_OUT(); return; L_08813960: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(96), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(462))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); @@ -9123,7 +9124,7 @@ L_0881398C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881399Cu) goto L_0881399C; AOT_REGCACHE_SYNC_OUT(); return; L_0881399C: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(96), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(463))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); @@ -9146,7 +9147,7 @@ L_088139BC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 587u, 0x089D3388u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088139CCu) goto L_088139CC; AOT_REGCACHE_SYNC_OUT(); return; L_088139CC: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088139E4; @@ -9181,7 +9182,7 @@ L_08813A0C: aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[20] + static_cast(666))); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(464))); aot_gpr_5 = (aot_gpr_4 << 16u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-1044))); + ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-1044))); aot_gpr_4 = (0u | 2u); ctx.gpr[7] = (ctx.gpr[7] | aot_gpr_5); if (ctx.gpr[6] == 0u) { @@ -9198,8 +9199,8 @@ L_08813A2C: aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[22])); ctx.gpr[9] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(298))); ctx.gpr[10] = (aot_mem.aot_direct_load8(ctx.gpr[22] + static_cast(6848))); - ctx.gpr[2] = (0u | 5u); - { const std::uint32_t aot_run_words[3]{ctx.gpr[2], 0u, 0u}; + aot_gpr_2 = (0u | 5u); + { const std::uint32_t aot_run_words[3]{aot_gpr_2, 0u, 0u}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } ctx.gpr[6] = (ctx.gpr[17] | 0u); ctx.gpr[11] = (0u | 1024u); @@ -9264,7 +9265,7 @@ L_08813A98: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(348), std::bit_cast(ctx.fpr[28])); { std::uint32_t aot_run_words[16]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(552), aot_run_words); - aot_fpr_20 = std::bit_cast(aot_run_words[0]); + ctx.fpr[20] = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); ctx.fpr[26] = std::bit_cast(aot_run_words[3]); @@ -9293,35 +9294,35 @@ L_08813B5C: ctx.gpr[11] = (ctx.gpr[11] >> 31u); ctx.gpr[11] = (ctx.gpr[7] + ctx.gpr[11]); ctx.gpr[11] = (static_cast(static_cast(ctx.gpr[11]) >> 1u)); - ctx.fpr[15] = std::bit_cast(ctx.gpr[11]); + aot_fpr_15 = std::bit_cast(ctx.gpr[11]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(304), ctx.gpr[18]); - ctx.fpr[15] = static_cast(static_cast(std::bit_cast(ctx.fpr[15]))); - ctx.gpr[2] = (static_cast(static_cast(ctx.gpr[8]) >> 1u)); + aot_fpr_15 = static_cast(static_cast(std::bit_cast(aot_fpr_15))); + aot_gpr_2 = (static_cast(static_cast(ctx.gpr[8]) >> 1u)); ctx.gpr[18] = (aot_gpr_4 | 0u); ctx.gpr[10] = (ctx.gpr[10] & 255u); - aot_gpr_4 = (ctx.gpr[2] >> 31u); + aot_gpr_4 = (aot_gpr_2 >> 31u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(192), ctx.gpr[10]); aot_gpr_4 = (ctx.gpr[8] + aot_gpr_4); - aot_fpr_12 = aot_fpr_12 + ctx.fpr[15]; - ctx.gpr[2] = (0u + static_cast(-1)); + aot_fpr_12 = aot_fpr_12 + aot_fpr_15; + aot_gpr_2 = (0u + static_cast(-1)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[9]); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 1u)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(204), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(204), aot_gpr_2); ctx.fpr[16] = std::bit_cast(aot_gpr_4); ctx.fpr[16] = static_cast(static_cast(std::bit_cast(ctx.fpr[16]))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(224), ctx.gpr[11]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(232), std::bit_cast(ctx.fpr[15])); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(232), std::bit_cast(aot_fpr_15)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(220), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(212), aot_gpr_4); aot_fpr_12 = aot_fpr_13 + ctx.fpr[16]; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(228), std::bit_cast(ctx.fpr[16])); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5844))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5844))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(252), aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(248), ctx.gpr[6]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(216), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(240), ctx.gpr[7]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(236), ctx.gpr[8]); - { const std::uint32_t aot_run_words[8]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), aot_gpr_16, ctx.gpr[17]}; + { const std::uint32_t aot_run_words[8]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), aot_gpr_16, ctx.gpr[17]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(272), aot_run_words); } { const std::uint32_t aot_run_words[7]{ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(308), aot_run_words); } @@ -9338,7 +9339,7 @@ L_08813C24: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 339u, 0x08B6572Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08813C2Cu) goto L_08813C2C; AOT_REGCACHE_SYNC_OUT(); return; L_08813C2C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5844))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5844))); goto L_08813C30; L_08813C30: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); @@ -9354,7 +9355,7 @@ L_08813C3C: aot_gpr_5 = (16704u << 16u); aot_fpr_14 = std::bit_cast(aot_gpr_5); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(216))); - ctx.fpr[15] = aot_fpr_12 - aot_fpr_14; + aot_fpr_15 = aot_fpr_12 - aot_fpr_14; aot_gpr_5 = (16256u << 16u); ctx.fpr[16] = aot_fpr_13 - aot_fpr_14; ctx.fpr[30] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); @@ -9362,10 +9363,10 @@ L_08813C3C: ctx.gpr[17] = (0u | 0u); aot_gpr_5 = (16640u << 16u); aot_fpr_12 = aot_fpr_12 + aot_fpr_14; - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(184), std::bit_cast(ctx.fpr[15])); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(184), std::bit_cast(aot_fpr_15)); aot_fpr_13 = aot_fpr_13 + aot_fpr_14; ctx.gpr[22] = (aot_gpr_29 + static_cast(4)); - aot_fpr_20 = std::bit_cast(aot_gpr_5); + ctx.fpr[20] = std::bit_cast(aot_gpr_5); ctx.gpr[21] = (aot_gpr_29 + static_cast(12)); aot_gpr_5 = (49152u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(180), std::bit_cast(aot_fpr_12)); @@ -9392,7 +9393,7 @@ L_08813CB8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 339u, 0x08B6572Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08813CC0u) goto L_08813CC0; AOT_REGCACHE_SYNC_OUT(); return; L_08813CC0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5844))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5844))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); goto L_08813CC8; L_08813CC8: @@ -9418,7 +9419,7 @@ L_08813CDC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 339u, 0x08B6572Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08813CE4u) goto L_08813CE4; AOT_REGCACHE_SYNC_OUT(); return; L_08813CE4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5844))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5844))); goto L_08813CE8; L_08813CE8: aot_gpr_31 = (0x08813CF0u); @@ -9426,7 +9427,7 @@ L_08813CE8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0122_entry, 122u, 13u, 0x089EC170u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08813CF0u) goto L_08813CF0; AOT_REGCACHE_SYNC_OUT(); return; L_08813CF0: - aot_gpr_16 = (ctx.gpr[2] | 0u); + aot_gpr_16 = (aot_gpr_2 | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[22])); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(32))); ctx.gpr[6] = (aot_gpr_29 + static_cast(28)); @@ -9451,7 +9452,7 @@ L_08813D28: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0122_entry, 122u, 67u, 0x089EC594u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08813D30u) goto L_08813D30; AOT_REGCACHE_SYNC_OUT(); return; L_08813D30: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(168), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(168), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(168))); ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), aot_gpr_4); @@ -9487,16 +9488,16 @@ L_08813D60: L_08813D94: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); - aot_fpr_12 = aot_fpr_12 + aot_fpr_20; + aot_fpr_12 = aot_fpr_12 + ctx.fpr[20]; aot_fpr_13 = aot_fpr_13 + ctx.fpr[26]; aot_fpr_14 = aot_fpr_12 + ctx.fpr[24]; - ctx.fpr[15] = aot_fpr_13 + aot_fpr_20; - ctx.fpr[16] = aot_fpr_13 - aot_fpr_20; + aot_fpr_15 = aot_fpr_13 + ctx.fpr[20]; + ctx.fpr[16] = aot_fpr_13 - ctx.fpr[20]; aot_fpr_12 = aot_fpr_12 - ctx.fpr[22]; aot_fpr_14 = aot_fpr_14 + ctx.fpr[22]; - aot_fpr_13 = ctx.fpr[15] + ctx.fpr[22]; + aot_fpr_13 = aot_fpr_15 + ctx.fpr[22]; { const bool branch_taken = 0u == 0u; - ctx.fpr[15] = ctx.fpr[16] - ctx.fpr[22]; + aot_fpr_15 = ctx.fpr[16] - ctx.fpr[22]; if (branch_taken) { goto L_08813E94; } @@ -9530,16 +9531,16 @@ L_08813DD0: L_08813E04: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); - aot_fpr_12 = aot_fpr_12 + aot_fpr_20; + aot_fpr_12 = aot_fpr_12 + ctx.fpr[20]; aot_fpr_13 = aot_fpr_13 + ctx.fpr[26]; aot_fpr_14 = aot_fpr_12 + ctx.fpr[24]; - ctx.fpr[15] = aot_fpr_13 + aot_fpr_20; - ctx.fpr[16] = aot_fpr_13 - aot_fpr_20; + aot_fpr_15 = aot_fpr_13 + ctx.fpr[20]; + ctx.fpr[16] = aot_fpr_13 - ctx.fpr[20]; aot_fpr_12 = aot_fpr_12 - ctx.fpr[22]; aot_fpr_14 = aot_fpr_14 + ctx.fpr[22]; - aot_fpr_13 = ctx.fpr[15] + ctx.fpr[22]; + aot_fpr_13 = aot_fpr_15 + ctx.fpr[22]; { const bool branch_taken = 0u == 0u; - ctx.fpr[15] = ctx.fpr[16] - ctx.fpr[22]; + aot_fpr_15 = ctx.fpr[16] - ctx.fpr[22]; if (branch_taken) { goto L_08813E94; } @@ -9564,15 +9565,15 @@ L_08813E34: L_08813E68: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); - aot_fpr_12 = aot_fpr_12 + aot_fpr_20; + aot_fpr_12 = aot_fpr_12 + ctx.fpr[20]; aot_fpr_13 = aot_fpr_13 + ctx.fpr[26]; aot_fpr_14 = aot_fpr_12 + ctx.fpr[24]; - ctx.fpr[15] = aot_fpr_13 + aot_fpr_20; - ctx.fpr[16] = aot_fpr_13 - aot_fpr_20; + aot_fpr_15 = aot_fpr_13 + ctx.fpr[20]; + ctx.fpr[16] = aot_fpr_13 - ctx.fpr[20]; aot_fpr_12 = aot_fpr_12 - ctx.fpr[22]; aot_fpr_14 = aot_fpr_14 + ctx.fpr[22]; - aot_fpr_13 = ctx.fpr[15] + ctx.fpr[22]; - ctx.fpr[15] = ctx.fpr[16] - ctx.fpr[22]; + aot_fpr_13 = aot_fpr_15 + ctx.fpr[22]; + aot_fpr_15 = ctx.fpr[16] - ctx.fpr[22]; goto L_08813E94; L_08813E94: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(264), std::bit_cast(ctx.fpr[30])); @@ -9580,21 +9581,21 @@ L_08813E94: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(256), ctx.gpr[23]); aot_gpr_31 = (0x08813EA8u); aot_gpr_4 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08813EA8u) goto L_08813EA8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08813EA8u) goto L_08813EA8; AOT_REGCACHE_SYNC_OUT(); return; L_08813EA8: - ctx.gpr[23] = (ctx.gpr[2] | 0u); + ctx.gpr[23] = (aot_gpr_2 | 0u); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (0u | 0u); ctx.gpr[6] = (0u | 0u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x08813EC4u); ctx.gpr[8] = (0u | 127u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08813EC4u) goto L_08813EC4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08813EC4u) goto L_08813EC4; AOT_REGCACHE_SYNC_OUT(); return; L_08813EC4: aot_gpr_4 = (ctx.gpr[23] | 0u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08813ED4u); ctx.gpr[6] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 107u, 0x08AF5130u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08813ED4u) goto L_08813ED4; @@ -9602,28 +9603,28 @@ L_08813EC4: L_08813ED4: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); - aot_fpr_12 = aot_fpr_12 + aot_fpr_20; + aot_fpr_12 = aot_fpr_12 + ctx.fpr[20]; aot_fpr_13 = aot_fpr_13 + ctx.fpr[26]; aot_gpr_4 = (ctx.gpr[20] | 0u); aot_fpr_14 = aot_fpr_12 + ctx.fpr[24]; - ctx.fpr[15] = aot_fpr_13 - aot_fpr_20; + aot_fpr_15 = aot_fpr_13 - ctx.fpr[20]; aot_gpr_31 = (0x08813EF8u); - aot_fpr_13 = aot_fpr_13 + aot_fpr_20; - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08813EF8u) goto L_08813EF8; + aot_fpr_13 = aot_fpr_13 + ctx.fpr[20]; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08813EF8u) goto L_08813EF8; AOT_REGCACHE_SYNC_OUT(); return; L_08813EF8: - ctx.gpr[23] = (ctx.gpr[2] | 0u); + ctx.gpr[23] = (aot_gpr_2 | 0u); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (0u | 255u); ctx.gpr[6] = (0u | 0u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x08813F14u); ctx.gpr[8] = (0u | 180u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08813F14u) goto L_08813F14; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08813F14u) goto L_08813F14; AOT_REGCACHE_SYNC_OUT(); return; L_08813F14: aot_gpr_4 = (ctx.gpr[23] | 0u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08813F24u); ctx.gpr[6] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 107u, 0x08AF5130u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08813F24u) goto L_08813F24; @@ -9631,41 +9632,41 @@ L_08813F14: L_08813F24: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); - ctx.fpr[28] = aot_fpr_12 + aot_fpr_20; + ctx.fpr[28] = aot_fpr_12 + ctx.fpr[20]; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(268), std::bit_cast(ctx.fpr[24])); aot_fpr_13 = aot_fpr_13 + ctx.fpr[26]; aot_gpr_4 = (aot_gpr_16 | 0u); ctx.fpr[30] = ctx.fpr[28] + ctx.fpr[24]; aot_gpr_31 = (0x08813F48u); - ctx.fpr[24] = aot_fpr_13 - aot_fpr_20; + ctx.fpr[24] = aot_fpr_13 - ctx.fpr[20]; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0122_entry, 122u, 58u, 0x089EC510u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08813F48u) goto L_08813F48; AOT_REGCACHE_SYNC_OUT(); return; L_08813F48: aot_fpr_14 = ctx.fpr[22] - ctx.fpr[0]; aot_gpr_4 = (16776u << 16u); - ctx.fpr[15] = std::bit_cast(aot_gpr_4); + aot_fpr_15 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (ctx.gpr[20] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[28])); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[24])); - { const float fs = aot_fpr_14; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[15] = std::bit_cast(0x7FC00000u); else ctx.fpr[15] = fs * ft; } + { const float fs = aot_fpr_14; const float ft = aot_fpr_15; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_15 = std::bit_cast(0x7FC00000u); else aot_fpr_15 = fs * ft; } aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[30])); aot_gpr_31 = (0x08813F70u); - ctx.fpr[15] = ctx.fpr[24] + ctx.fpr[15]; - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08813F70u) goto L_08813F70; + aot_fpr_15 = ctx.fpr[24] + aot_fpr_15; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08813F70u) goto L_08813F70; AOT_REGCACHE_SYNC_OUT(); return; L_08813F70: - ctx.gpr[23] = (ctx.gpr[2] | 0u); + ctx.gpr[23] = (aot_gpr_2 | 0u); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (0u | 70u); ctx.gpr[6] = (0u | 30u); ctx.gpr[7] = (0u | 30u); aot_gpr_31 = (0x08813F8Cu); ctx.gpr[8] = (0u | 180u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08813F8Cu) goto L_08813F8C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08813F8Cu) goto L_08813F8C; AOT_REGCACHE_SYNC_OUT(); return; L_08813F8C: aot_gpr_4 = (ctx.gpr[23] | 0u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08813F9Cu); ctx.gpr[6] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 107u, 0x08AF5130u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08813F9Cu) goto L_08813F9C; @@ -9692,19 +9693,19 @@ L_08813FB4: ctx.gpr[7] = (0u | 255u); aot_gpr_31 = (0x08813FCCu); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08813FCCu) goto L_08813FCC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08813FCCu) goto L_08813FCC; AOT_REGCACHE_SYNC_OUT(); return; L_08813FCC: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x08813FDCu); - ctx.gpr[6] = (ctx.gpr[2] | 0u); + ctx.gpr[6] = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0002_entry, 2u, 761u, 0x0880FD24u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08813FDCu) goto L_08813FDC; AOT_REGCACHE_SYNC_OUT(); return; L_08813FDC: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(192))); { const bool branch_taken = aot_gpr_5 == 0u; - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5844))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5844))); if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0004_entry, 4u, 5u, 0x08814060u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } diff --git a/profiles/vcs/generated/generated_unit_0004.cpp b/profiles/vcs/generated/generated_unit_0004.cpp index 9ed67f9..c9a6e9f 100644 --- a/profiles/vcs/generated/generated_unit_0004.cpp +++ b/profiles/vcs/generated/generated_unit_0004.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -137,20 +138,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0004[4058] = { }; void recomp_unit_0004_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,31,16,6 fprs=12,13,14,20 gpr_occ=3399 fpr_occ=1055 gpr_total=5001 fpr_total=1755 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,31,6,29,2 fprs=12,13,14,15 gpr_occ=3542 fpr_occ=1091 gpr_total=5414 fpr_total=1811 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; - std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; - std::uint32_t aot_gpr_16 = ctx.gpr[16]; std::uint32_t aot_gpr_6 = ctx.gpr[6]; + std::uint32_t aot_gpr_29 = ctx.gpr[29]; + std::uint32_t aot_gpr_2 = ctx.gpr[2]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_14 = ctx.fpr[14]; - float aot_fpr_20 = ctx.fpr[20]; + float aot_fpr_15 = ctx.fpr[15]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[31] = aot_gpr_31; ctx.gpr[16] = aot_gpr_16; ctx.gpr[6] = aot_gpr_6; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[20] = aot_fpr_20; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_6 = ctx.gpr[6]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_20 = ctx.fpr[20]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[31] = aot_gpr_31; ctx.gpr[6] = aot_gpr_6; ctx.gpr[29] = aot_gpr_29; ctx.gpr[2] = aot_gpr_2; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[15] = aot_fpr_15; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_2 = ctx.gpr[2]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_15 = ctx.fpr[15]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -1010,7 +1011,7 @@ L_08814040: ctx.fpr[28] = std::bit_cast(std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), std::bit_cast(ctx.fpr[30])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), std::bit_cast(ctx.fpr[28])); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(8))); aot_gpr_5 = (aot_gpr_5 & 255u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(208), static_cast(aot_gpr_5)); goto L_08814060; @@ -1057,7 +1058,7 @@ L_08814098: ctx.gpr[7] = (0u | 194u); aot_gpr_31 = (0x088140C0u); ctx.gpr[8] = (0u | 180u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088140C0u) goto L_088140C0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088140C0u) goto L_088140C0; AOT_REGCACHE_SYNC_OUT(); return; L_088140C0: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); @@ -1067,19 +1068,19 @@ L_088140C0: aot_gpr_4 = (16448u << 16u); aot_fpr_14 = aot_fpr_12 - ctx.fpr[26]; aot_fpr_13 = aot_fpr_13 - ctx.fpr[26]; - aot_gpr_16 = (aot_gpr_29 + static_cast(72)); - aot_fpr_20 = std::bit_cast(aot_gpr_4); + ctx.gpr[16] = (aot_gpr_29 + static_cast(72)); + ctx.fpr[20] = std::bit_cast(aot_gpr_4); aot_gpr_4 = (16512u << 16u); ctx.fpr[24] = std::bit_cast(aot_gpr_4); - ctx.fpr[15] = aot_fpr_13 + ctx.fpr[24]; - aot_gpr_4 = (aot_gpr_16 | 0u); - aot_fpr_12 = aot_fpr_14 - aot_fpr_20; + aot_fpr_15 = aot_fpr_13 + ctx.fpr[24]; + aot_gpr_4 = (ctx.gpr[16] | 0u); + aot_fpr_12 = aot_fpr_14 - ctx.fpr[20]; aot_gpr_31 = (0x08814100u); - aot_fpr_13 = aot_fpr_13 - aot_fpr_20; - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08814100u) goto L_08814100; + aot_fpr_13 = aot_fpr_13 - ctx.fpr[20]; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08814100u) goto L_08814100; AOT_REGCACHE_SYNC_OUT(); return; L_08814100: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08814110u); aot_gpr_6 = (0u | 1u); @@ -1089,16 +1090,16 @@ L_08814110: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); aot_fpr_14 = aot_fpr_12 + ctx.fpr[26]; - ctx.fpr[15] = aot_fpr_13 - ctx.fpr[26]; - aot_gpr_4 = (aot_gpr_16 | 0u); - aot_fpr_12 = aot_fpr_14 + aot_fpr_20; - aot_fpr_13 = ctx.fpr[15] - aot_fpr_20; + aot_fpr_15 = aot_fpr_13 - ctx.fpr[26]; + aot_gpr_4 = (ctx.gpr[16] | 0u); + aot_fpr_12 = aot_fpr_14 + ctx.fpr[20]; + aot_fpr_13 = aot_fpr_15 - ctx.fpr[20]; aot_gpr_31 = (0x08814134u); - ctx.fpr[15] = ctx.fpr[15] + ctx.fpr[24]; - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08814134u) goto L_08814134; + aot_fpr_15 = aot_fpr_15 + ctx.fpr[24]; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08814134u) goto L_08814134; AOT_REGCACHE_SYNC_OUT(); return; L_08814134: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08814144u); aot_gpr_6 = (0u | 1u); @@ -1109,15 +1110,15 @@ L_08814144: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); aot_fpr_12 = aot_fpr_12 + ctx.fpr[26]; aot_fpr_14 = aot_fpr_13 - ctx.fpr[26]; - aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.fpr[15] = aot_fpr_12 - ctx.fpr[24]; - aot_fpr_13 = aot_fpr_12 + aot_fpr_20; + aot_gpr_4 = (ctx.gpr[16] | 0u); + aot_fpr_15 = aot_fpr_12 - ctx.fpr[24]; + aot_fpr_13 = aot_fpr_12 + ctx.fpr[20]; aot_gpr_31 = (0x08814168u); - aot_fpr_12 = aot_fpr_14 - aot_fpr_20; - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08814168u) goto L_08814168; + aot_fpr_12 = aot_fpr_14 - ctx.fpr[20]; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08814168u) goto L_08814168; AOT_REGCACHE_SYNC_OUT(); return; L_08814168: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08814178u); aot_gpr_6 = (0u | 1u); @@ -1127,16 +1128,16 @@ L_08814178: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); aot_fpr_14 = aot_fpr_12 + ctx.fpr[26]; - ctx.fpr[15] = aot_fpr_13 + ctx.fpr[26]; - aot_gpr_4 = (aot_gpr_16 | 0u); - aot_fpr_12 = aot_fpr_14 + aot_fpr_20; - aot_fpr_13 = ctx.fpr[15] + aot_fpr_20; + aot_fpr_15 = aot_fpr_13 + ctx.fpr[26]; + aot_gpr_4 = (ctx.gpr[16] | 0u); + aot_fpr_12 = aot_fpr_14 + ctx.fpr[20]; + aot_fpr_13 = aot_fpr_15 + ctx.fpr[20]; aot_gpr_31 = (0x0881419Cu); - ctx.fpr[15] = ctx.fpr[15] - ctx.fpr[24]; - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881419Cu) goto L_0881419C; + aot_fpr_15 = aot_fpr_15 - ctx.fpr[24]; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881419Cu) goto L_0881419C; AOT_REGCACHE_SYNC_OUT(); return; L_0881419C: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088141ACu); aot_gpr_6 = (0u | 1u); @@ -1146,15 +1147,15 @@ L_088141AC: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); aot_fpr_12 = aot_fpr_12 - ctx.fpr[26]; - aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.fpr[15] = aot_fpr_13 - ctx.fpr[26]; + aot_gpr_4 = (ctx.gpr[16] | 0u); + aot_fpr_15 = aot_fpr_13 - ctx.fpr[26]; aot_fpr_14 = aot_fpr_12 + ctx.fpr[24]; aot_gpr_31 = (0x088141CCu); - aot_fpr_13 = ctx.fpr[15] - aot_fpr_20; - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088141CCu) goto L_088141CC; + aot_fpr_13 = aot_fpr_15 - ctx.fpr[20]; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088141CCu) goto L_088141CC; AOT_REGCACHE_SYNC_OUT(); return; L_088141CC: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088141DCu); aot_gpr_6 = (0u | 1u); @@ -1162,17 +1163,17 @@ L_088141CC: AOT_REGCACHE_SYNC_OUT(); return; L_088141DC: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); aot_fpr_12 = aot_fpr_12 + ctx.fpr[26]; - aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.fpr[15] = ctx.fpr[15] - ctx.fpr[26]; + aot_gpr_4 = (ctx.gpr[16] | 0u); + aot_fpr_15 = aot_fpr_15 - ctx.fpr[26]; aot_fpr_14 = aot_fpr_12 - ctx.fpr[24]; aot_gpr_31 = (0x088141FCu); - aot_fpr_13 = ctx.fpr[15] - aot_fpr_20; - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088141FCu) goto L_088141FC; + aot_fpr_13 = aot_fpr_15 - ctx.fpr[20]; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088141FCu) goto L_088141FC; AOT_REGCACHE_SYNC_OUT(); return; L_088141FC: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0881420Cu); aot_gpr_6 = (0u | 1u); @@ -1181,16 +1182,16 @@ L_088141FC: L_0881420C: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); - ctx.fpr[15] = aot_fpr_12 + ctx.fpr[26]; - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_fpr_15 = aot_fpr_12 + ctx.fpr[26]; + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_fpr_12 = aot_fpr_13 - ctx.fpr[26]; - aot_fpr_13 = ctx.fpr[15] + aot_fpr_20; + aot_fpr_13 = aot_fpr_15 + ctx.fpr[20]; aot_gpr_31 = (0x0881422Cu); aot_fpr_14 = aot_fpr_12 + ctx.fpr[24]; - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881422Cu) goto L_0881422C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881422Cu) goto L_0881422C; AOT_REGCACHE_SYNC_OUT(); return; L_0881422C: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0881423Cu); aot_gpr_6 = (0u | 1u); @@ -1198,17 +1199,17 @@ L_0881422C: AOT_REGCACHE_SYNC_OUT(); return; L_0881423C: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); aot_fpr_12 = aot_fpr_12 + ctx.fpr[26]; - aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.fpr[15] = ctx.fpr[15] + ctx.fpr[26]; + aot_gpr_4 = (ctx.gpr[16] | 0u); + aot_fpr_15 = aot_fpr_15 + ctx.fpr[26]; aot_fpr_14 = aot_fpr_12 - ctx.fpr[24]; aot_gpr_31 = (0x0881425Cu); - aot_fpr_13 = ctx.fpr[15] + aot_fpr_20; - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881425Cu) goto L_0881425C; + aot_fpr_13 = aot_fpr_15 + ctx.fpr[20]; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881425Cu) goto L_0881425C; AOT_REGCACHE_SYNC_OUT(); return; L_0881425C: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0881426Cu); aot_gpr_6 = (0u | 1u); @@ -1225,28 +1226,28 @@ L_0881426C: ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x08814294u); ctx.gpr[8] = (0u | 190u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08814294u) goto L_08814294; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08814294u) goto L_08814294; AOT_REGCACHE_SYNC_OUT(); return; L_08814294: - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(0))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(96), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(1))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(1))); aot_gpr_5 = (ctx.gpr[18] + static_cast(40)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(97), static_cast(aot_gpr_4)); ctx.fpr[24] = std::bit_cast(aot_gpr_5); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(2))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(2))); ctx.fpr[24] = static_cast(static_cast(std::bit_cast(ctx.fpr[24]))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(98), static_cast(aot_gpr_4)); aot_fpr_12 = aot_fpr_12 + ctx.fpr[26]; - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(3))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(3))); aot_gpr_5 = (ctx.gpr[18] + static_cast(230)); ctx.fpr[16] = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[24])); aot_fpr_14 = std::bit_cast(aot_gpr_5); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(99), static_cast(aot_gpr_4)); aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(100), std::bit_cast(ctx.fpr[24])); - ctx.fpr[15] = aot_fpr_12 + aot_fpr_20; + aot_fpr_15 = aot_fpr_12 + ctx.fpr[20]; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(124), std::bit_cast(ctx.fpr[24])); ctx.gpr[22] = (std::bit_cast(ctx.fpr[16])); ctx.gpr[18] = (aot_gpr_29 + static_cast(132)); @@ -1257,8 +1258,8 @@ L_08814294: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[30] <= ctx.fpr[26])) ? 0x00800000u : 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(108), std::bit_cast(aot_fpr_14)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(116), std::bit_cast(ctx.fpr[15])); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(200), std::bit_cast(ctx.fpr[15])); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(116), std::bit_cast(aot_fpr_15)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(200), std::bit_cast(aot_fpr_15)); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(188), std::bit_cast(aot_fpr_13)); if (branch_taken) { @@ -1282,18 +1283,18 @@ L_08814328: aot_gpr_5 = (ctx.gpr[21] + static_cast(-40)); aot_gpr_4 = (16704u << 16u); ctx.fpr[22] = static_cast(static_cast(std::bit_cast(ctx.fpr[22]))); - ctx.fpr[15] = std::bit_cast(aot_gpr_4); - ctx.fpr[28] = aot_fpr_12 - ctx.fpr[15]; + aot_fpr_15 = std::bit_cast(aot_gpr_4); + ctx.fpr[28] = aot_fpr_12 - aot_fpr_15; aot_fpr_13 = std::bit_cast(aot_gpr_5); aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_13))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(112), std::bit_cast(ctx.fpr[22])); ctx.fpr[16] = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[22])); - ctx.fpr[28] = ctx.fpr[28] - aot_fpr_20; + ctx.fpr[28] = ctx.fpr[28] - ctx.fpr[20]; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(104), std::bit_cast(aot_fpr_13)); ctx.gpr[23] = (std::bit_cast(ctx.fpr[16])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(128), std::bit_cast(ctx.fpr[22])); ctx.gpr[19] = (ctx.gpr[23] + static_cast(5)); - aot_fpr_20 = std::bit_cast(std::bit_cast(aot_fpr_13)); + ctx.fpr[20] = std::bit_cast(std::bit_cast(aot_fpr_13)); ctx.gpr[20] = (ctx.gpr[23] + static_cast(20)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(120), std::bit_cast(ctx.fpr[28])); { const bool branch_taken = 0u == 0u; @@ -1310,18 +1311,18 @@ L_08814380: aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (16704u << 16u); aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_13))); - ctx.fpr[15] = std::bit_cast(aot_gpr_4); - ctx.fpr[28] = aot_fpr_12 + ctx.fpr[15]; + aot_fpr_15 = std::bit_cast(aot_gpr_4); + ctx.fpr[28] = aot_fpr_12 + aot_fpr_15; aot_gpr_4 = (ctx.gpr[21] + static_cast(109)); ctx.fpr[22] = std::bit_cast(aot_gpr_4); ctx.fpr[22] = static_cast(static_cast(std::bit_cast(ctx.fpr[22]))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(104), std::bit_cast(aot_fpr_13)); - ctx.fpr[28] = ctx.fpr[28] + aot_fpr_20; + ctx.fpr[28] = ctx.fpr[28] + ctx.fpr[20]; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(112), std::bit_cast(ctx.fpr[22])); - aot_fpr_20 = std::bit_cast(std::bit_cast(aot_fpr_13)); + ctx.fpr[20] = std::bit_cast(std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(120), std::bit_cast(ctx.fpr[28])); - ctx.fpr[16] = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_20)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(128), std::bit_cast(aot_fpr_20)); + ctx.fpr[16] = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[20])); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(128), std::bit_cast(ctx.fpr[20])); ctx.gpr[23] = (std::bit_cast(ctx.fpr[16])); ctx.gpr[19] = (ctx.gpr[23] + static_cast(5)); ctx.gpr[20] = (ctx.gpr[23] + static_cast(20)); @@ -1330,14 +1331,14 @@ L_08814380: L_088143CC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(196), std::bit_cast(aot_fpr_14)); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[24])); - aot_gpr_4 = (aot_gpr_16 | 0u); - aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); + aot_gpr_4 = (ctx.gpr[16] | 0u); + aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_gpr_31 = (0x088143E4u); - ctx.fpr[15] = std::bit_cast(std::bit_cast(ctx.fpr[22])); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088143E4u) goto L_088143E4; + aot_fpr_15 = std::bit_cast(std::bit_cast(ctx.fpr[22])); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088143E4u) goto L_088143E4; AOT_REGCACHE_SYNC_OUT(); return; L_088143E4: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088143F4u); aot_gpr_6 = (0u | 1u); @@ -1368,7 +1369,7 @@ L_08814418: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[28])); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[24])); - ctx.fpr[15] = std::bit_cast(std::bit_cast(aot_fpr_20)); + aot_fpr_15 = std::bit_cast(std::bit_cast(ctx.fpr[20])); ctx.fpr[16] = std::bit_cast(std::bit_cast(ctx.fpr[24])); ctx.fpr[17] = std::bit_cast(std::bit_cast(ctx.fpr[22])); ctx.fpr[18] = std::bit_cast(std::bit_cast(ctx.fpr[24])); @@ -1388,36 +1389,36 @@ L_08814444: aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(196))); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[28])); aot_gpr_4 = (ctx.gpr[17] | 0u); - ctx.fpr[15] = std::bit_cast(std::bit_cast(aot_fpr_20)); + aot_fpr_15 = std::bit_cast(std::bit_cast(ctx.fpr[20])); ctx.fpr[16] = std::bit_cast(std::bit_cast(ctx.fpr[24])); - ctx.fpr[17] = std::bit_cast(std::bit_cast(aot_fpr_20)); + ctx.fpr[17] = std::bit_cast(std::bit_cast(ctx.fpr[20])); ctx.fpr[18] = std::bit_cast(std::bit_cast(ctx.fpr[24])); aot_gpr_31 = (0x08814468u); - ctx.fpr[19] = std::bit_cast(std::bit_cast(aot_fpr_20)); + ctx.fpr[19] = std::bit_cast(std::bit_cast(ctx.fpr[20])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 124u, 0x08AF5238u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08814468u) goto L_08814468; AOT_REGCACHE_SYNC_OUT(); return; L_08814468: - aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(244))); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.fpr[20] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(244))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (0x08814478u); aot_gpr_4 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08814478u) goto L_08814478; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C498, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08814478u) goto L_08814478; AOT_REGCACHE_SYNC_OUT(); return; L_08814478: aot_gpr_31 = (0x08814480u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08814480u) goto L_08814480; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C05C, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[16], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08814480u) goto L_08814480; AOT_REGCACHE_SYNC_OUT(); return; L_08814480: aot_gpr_31 = (0x08814488u); - aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); + aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 68u, 0x08B0C520u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08814488u) goto L_08814488; AOT_REGCACHE_SYNC_OUT(); return; L_08814488: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(0))); - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(2))); - aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1))); - ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(3))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(0))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(2))); + aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(1))); + ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(3))); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_5 = (aot_gpr_5 & 255u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(92), static_cast(aot_gpr_4)); @@ -1428,7 +1429,7 @@ L_08814488: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(95), static_cast(ctx.gpr[7])); aot_gpr_31 = (0x088144C0u); aot_gpr_4 = (aot_gpr_29 + static_cast(92)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088144C0u) goto L_088144C0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C4A8, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088144C0u) goto L_088144C0; AOT_REGCACHE_SYNC_OUT(); return; L_088144C0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5844))); @@ -1469,11 +1470,11 @@ L_088144EC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0122_entry, 122u, 13u, 0x089EC170u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088144F4u) goto L_088144F4; AOT_REGCACHE_SYNC_OUT(); return; L_088144F4: - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(0))); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(0))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5844))); aot_gpr_5 = (aot_gpr_4 + aot_gpr_5); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_16 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(316))); + ctx.gpr[16] = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(316))); if (branch_taken) { goto L_08814514; } @@ -1493,7 +1494,7 @@ L_08814514: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0122_entry, 122u, 13u, 0x089EC170u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881451Cu) goto L_0881451C; AOT_REGCACHE_SYNC_OUT(); return; L_0881451C: - ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(4))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(4))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5844))); { const bool branch_taken = aot_gpr_4 != 0u; ctx.gpr[21] = (0u | 0u); @@ -1516,7 +1517,7 @@ L_08814538: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0122_entry, 122u, 13u, 0x089EC170u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08814540u) goto L_08814540; AOT_REGCACHE_SYNC_OUT(); return; L_08814540: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(16))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(16))); aot_gpr_5 = (0u | 5u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -1529,8 +1530,8 @@ L_08814550: ctx.gpr[21] = (0u | 1u); goto L_08814554; L_08814554: - { const bool branch_taken = static_cast(aot_gpr_16) < 0; - aot_gpr_4 = (static_cast(aot_gpr_16) < 10 ? 1u : 0u); + { const bool branch_taken = static_cast(ctx.gpr[16]) < 0; + aot_gpr_4 = (static_cast(ctx.gpr[16]) < 10 ? 1u : 0u); if (branch_taken) { goto L_08814564; } @@ -1565,9 +1566,9 @@ L_0881457C: goto L_08814584; } L_08814584: - aot_gpr_4 = (static_cast(aot_gpr_16) < 9 ? 1u : 0u); + aot_gpr_4 = (static_cast(ctx.gpr[16]) < 9 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_16 = (aot_gpr_16 + static_cast(1)); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(1)); if (branch_taken) { goto L_088145A8; } @@ -1577,7 +1578,7 @@ L_08814590: aot_gpr_5 = (ctx.gpr[28] + static_cast(-30824)); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x088145A0u); - aot_gpr_6 = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0212_entry, 212u, 576u, 0x08B562D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088145A0u) goto L_088145A0; AOT_REGCACHE_SYNC_OUT(); return; L_088145A0: @@ -1592,7 +1593,7 @@ L_088145A8: aot_gpr_5 = (ctx.gpr[28] + static_cast(-30816)); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x088145B8u); - aot_gpr_6 = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0212_entry, 212u, 576u, 0x08B562D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088145B8u) goto L_088145B8; AOT_REGCACHE_SYNC_OUT(); return; L_088145B8: @@ -1625,8 +1626,8 @@ L_088145E4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088145F0u) goto L_088145F0; AOT_REGCACHE_SYNC_OUT(); return; L_088145F0: - aot_gpr_16 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08814608; @@ -1635,11 +1636,11 @@ L_088145F0: } L_088145FC: aot_gpr_31 = (0x08814604u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08814604u) goto L_08814604; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08814604u) goto L_08814604; AOT_REGCACHE_SYNC_OUT(); return; L_08814604: - ctx.gpr[17] = (aot_gpr_16 | 0u); + ctx.gpr[17] = (ctx.gpr[16] | 0u); goto L_08814608; L_08814608: aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), ctx.gpr[17]); @@ -1651,11 +1652,11 @@ L_08814610: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08814618u) goto L_08814618; AOT_REGCACHE_SYNC_OUT(); return; L_08814618: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (ctx.gpr[30] | 0u); aot_gpr_31 = (0x08814628u); aot_gpr_6 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08814628u) goto L_08814628; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08814628u) goto L_08814628; AOT_REGCACHE_SYNC_OUT(); return; L_08814628: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); @@ -1673,8 +1674,8 @@ L_08814634: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08814640u) goto L_08814640; AOT_REGCACHE_SYNC_OUT(); return; L_08814640: - aot_gpr_16 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08814658; @@ -1683,11 +1684,11 @@ L_08814640: } L_0881464C: aot_gpr_31 = (0x08814654u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08814654u) goto L_08814654; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08814654u) goto L_08814654; AOT_REGCACHE_SYNC_OUT(); return; L_08814654: - ctx.gpr[17] = (aot_gpr_16 | 0u); + ctx.gpr[17] = (ctx.gpr[16] | 0u); goto L_08814658; L_08814658: aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), ctx.gpr[17]); @@ -1699,11 +1700,11 @@ L_08814660: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08814668u) goto L_08814668; AOT_REGCACHE_SYNC_OUT(); return; L_08814668: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x08814678u); aot_gpr_6 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08814678u) goto L_08814678; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08814678u) goto L_08814678; AOT_REGCACHE_SYNC_OUT(); return; L_08814678: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); @@ -1721,8 +1722,8 @@ L_08814684: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08814690u) goto L_08814690; AOT_REGCACHE_SYNC_OUT(); return; L_08814690: - aot_gpr_16 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_088146A8; @@ -1731,11 +1732,11 @@ L_08814690: } L_0881469C: aot_gpr_31 = (0x088146A4u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088146A4u) goto L_088146A4; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088146A4u) goto L_088146A4; AOT_REGCACHE_SYNC_OUT(); return; L_088146A4: - ctx.gpr[17] = (aot_gpr_16 | 0u); + ctx.gpr[17] = (ctx.gpr[16] | 0u); goto L_088146A8; L_088146A8: aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), ctx.gpr[17]); @@ -1747,11 +1748,11 @@ L_088146B0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088146B8u) goto L_088146B8; AOT_REGCACHE_SYNC_OUT(); return; L_088146B8: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (ctx.gpr[30] | 0u); aot_gpr_31 = (0x088146C8u); aot_gpr_6 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088146C8u) goto L_088146C8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088146C8u) goto L_088146C8; AOT_REGCACHE_SYNC_OUT(); return; L_088146C8: { const bool branch_taken = ctx.gpr[21] == 0u; @@ -1776,8 +1777,8 @@ L_088146D8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088146E4u) goto L_088146E4; AOT_REGCACHE_SYNC_OUT(); return; L_088146E4: - aot_gpr_16 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_088146FC; @@ -1786,11 +1787,11 @@ L_088146E4: } L_088146F0: aot_gpr_31 = (0x088146F8u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088146F8u) goto L_088146F8; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088146F8u) goto L_088146F8; AOT_REGCACHE_SYNC_OUT(); return; L_088146F8: - ctx.gpr[17] = (aot_gpr_16 | 0u); + ctx.gpr[17] = (ctx.gpr[16] | 0u); goto L_088146FC; L_088146FC: aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), ctx.gpr[17]); @@ -1802,11 +1803,11 @@ L_08814704: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881470Cu) goto L_0881470C; AOT_REGCACHE_SYNC_OUT(); return; L_0881470C: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x0881471Cu); aot_gpr_6 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881471Cu) goto L_0881471C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881471Cu) goto L_0881471C; AOT_REGCACHE_SYNC_OUT(); return; L_0881471C: { const bool branch_taken = 0u == 0u; @@ -1831,8 +1832,8 @@ L_0881472C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08814738u) goto L_08814738; AOT_REGCACHE_SYNC_OUT(); return; L_08814738: - aot_gpr_16 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08814750; @@ -1841,11 +1842,11 @@ L_08814738: } L_08814744: aot_gpr_31 = (0x0881474Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881474Cu) goto L_0881474C; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881474Cu) goto L_0881474C; AOT_REGCACHE_SYNC_OUT(); return; L_0881474C: - ctx.gpr[17] = (aot_gpr_16 | 0u); + ctx.gpr[17] = (ctx.gpr[16] | 0u); goto L_08814750; L_08814750: aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), ctx.gpr[17]); @@ -1857,11 +1858,11 @@ L_08814758: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08814760u) goto L_08814760; AOT_REGCACHE_SYNC_OUT(); return; L_08814760: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x08814770u); aot_gpr_6 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08814770u) goto L_08814770; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08814770u) goto L_08814770; AOT_REGCACHE_SYNC_OUT(); return; L_08814770: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); @@ -1881,8 +1882,8 @@ L_0881477C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08814788u) goto L_08814788; AOT_REGCACHE_SYNC_OUT(); return; L_08814788: - aot_gpr_16 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_088147A0; @@ -1891,11 +1892,11 @@ L_08814788: } L_08814794: aot_gpr_31 = (0x0881479Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881479Cu) goto L_0881479C; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881479Cu) goto L_0881479C; AOT_REGCACHE_SYNC_OUT(); return; L_0881479C: - ctx.gpr[17] = (aot_gpr_16 | 0u); + ctx.gpr[17] = (ctx.gpr[16] | 0u); goto L_088147A0; L_088147A0: aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), ctx.gpr[17]); @@ -1907,11 +1908,11 @@ L_088147A8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088147B0u) goto L_088147B0; AOT_REGCACHE_SYNC_OUT(); return; L_088147B0: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (ctx.gpr[30] | 0u); aot_gpr_31 = (0x088147C0u); aot_gpr_6 = (ctx.gpr[23] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088147C0u) goto L_088147C0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088147C0u) goto L_088147C0; AOT_REGCACHE_SYNC_OUT(); return; L_088147C0: { const bool branch_taken = ctx.gpr[21] == 0u; @@ -1923,7 +1924,7 @@ L_088147C0: } L_088147C8: { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_16 = (ctx.gpr[28] + static_cast(-30832)); + ctx.gpr[16] = (ctx.gpr[28] + static_cast(-30832)); if (branch_taken) { goto L_088147FC; } @@ -1936,7 +1937,7 @@ L_088147D0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088147DCu) goto L_088147DC; AOT_REGCACHE_SYNC_OUT(); return; L_088147DC: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[18] == 0u; // nop if (branch_taken) { @@ -1947,7 +1948,7 @@ L_088147DC: L_088147E8: aot_gpr_31 = (0x088147F0u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088147F0u) goto L_088147F0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088147F0u) goto L_088147F0; AOT_REGCACHE_SYNC_OUT(); return; L_088147F0: ctx.gpr[17] = (ctx.gpr[18] | 0u); @@ -1958,15 +1959,15 @@ L_088147F4: goto L_088147FC; L_088147FC: aot_gpr_31 = (0x08814804u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08814804u) goto L_08814804; AOT_REGCACHE_SYNC_OUT(); return; L_08814804: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x08814814u); aot_gpr_6 = (ctx.gpr[23] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08814814u) goto L_08814814; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08814814u) goto L_08814814; AOT_REGCACHE_SYNC_OUT(); return; L_08814814: { const bool branch_taken = 0u == 0u; @@ -1985,13 +1986,13 @@ L_0881481C: goto L_08814824; } L_08814824: - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); aot_gpr_31 = (0x08814830u); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08814830u) goto L_08814830; AOT_REGCACHE_SYNC_OUT(); return; L_08814830: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { @@ -2002,14 +2003,14 @@ L_08814830: L_0881483C: aot_gpr_31 = (0x08814844u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08814844u) goto L_08814844; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08814844u) goto L_08814844; AOT_REGCACHE_SYNC_OUT(); return; L_08814844: - aot_gpr_16 = (ctx.gpr[17] | 0u); + ctx.gpr[16] = (ctx.gpr[17] | 0u); goto L_08814848; L_08814848: - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), ctx.gpr[16]); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_08814850; L_08814850: aot_gpr_31 = (0x08814858u); @@ -2017,11 +2018,11 @@ L_08814850: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08814858u) goto L_08814858; AOT_REGCACHE_SYNC_OUT(); return; L_08814858: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x08814868u); aot_gpr_6 = (ctx.gpr[23] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08814868u) goto L_08814868; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08814868u) goto L_08814868; AOT_REGCACHE_SYNC_OUT(); return; L_08814868: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(252))); @@ -2034,13 +2035,13 @@ L_08814868: L_0881487C: { std::uint32_t aot_run_words[16]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(272), aot_run_words); - aot_fpr_20 = std::bit_cast(aot_run_words[0]); + ctx.fpr[20] = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); ctx.fpr[26] = std::bit_cast(aot_run_words[3]); ctx.fpr[28] = std::bit_cast(aot_run_words[4]); ctx.fpr[30] = std::bit_cast(aot_run_words[5]); - aot_gpr_16 = aot_run_words[6]; + ctx.gpr[16] = aot_run_words[6]; ctx.gpr[17] = aot_run_words[7]; ctx.gpr[18] = aot_run_words[8]; ctx.gpr[19] = aot_run_words[9]; @@ -2065,15 +2066,15 @@ L_088148C4: ctx.gpr[22] = (aot_gpr_5 + aot_gpr_6); ctx.gpr[22] = (aot_gpr_4 + ctx.gpr[22]); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(628))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(340), aot_gpr_16); - aot_gpr_16 = (0u | 5u); - { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24])}; + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(340), ctx.gpr[16]); + ctx.gpr[16] = (0u | 5u); + { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(328), aot_run_words); } { const std::uint32_t aot_run_words[5]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(344), aot_run_words); } { const std::uint32_t aot_run_words[3]{ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(368), aot_run_words); } - { const bool branch_taken = aot_gpr_5 != aot_gpr_16; + { const bool branch_taken = aot_gpr_5 != ctx.gpr[16]; ctx.gpr[21] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_0881492C; @@ -2086,7 +2087,7 @@ L_0881491C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 617u, 0x088634F8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08814924u) goto L_08814924; AOT_REGCACHE_SYNC_OUT(); return; L_08814924: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_088150D8; @@ -2107,7 +2108,7 @@ L_08814944: aot_gpr_4 = (aot_gpr_4 & 224u); ctx.gpr[17] = (0u | 96u); { const bool branch_taken = aot_gpr_4 == ctx.gpr[17]; - ctx.gpr[20] = (ctx.gpr[2] | 0u); + ctx.gpr[20] = (aot_gpr_2 | 0u); if (branch_taken) { goto L_0881496C; } @@ -2219,7 +2220,7 @@ L_088149F8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 58u, 0x089604E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08814A10u) goto L_08814A10; AOT_REGCACHE_SYNC_OUT(); return; L_08814A10: - { const std::uint32_t vfpu_address = ctx.gpr[2] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_2 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -2257,8 +2258,8 @@ L_08814A10: AOT_REGCACHE_SYNC_OUT(); return; L_08814A44: aot_gpr_4 = (16256u << 16u); - aot_fpr_20 = std::bit_cast(aot_gpr_4); - { const bool branch_taken = ctx.gpr[2] == 0u; + ctx.fpr[20] = std::bit_cast(aot_gpr_4); + { const bool branch_taken = aot_gpr_2 == 0u; ctx.gpr[23] = (aot_gpr_29 + static_cast(8)); if (branch_taken) { goto L_08814B90; @@ -2271,7 +2272,7 @@ L_08814A54: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08814A5Cu) goto L_08814A5C; AOT_REGCACHE_SYNC_OUT(); return; L_08814A5C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08814B90; @@ -2448,10 +2449,10 @@ L_08814B1C: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(112))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(84))); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(116))); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(116))); ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(88))); ctx.fpr[17] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(120))); - aot_fpr_14 = aot_fpr_14 + ctx.fpr[15]; + aot_fpr_14 = aot_fpr_14 + aot_fpr_15; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(80), std::bit_cast(aot_fpr_12)); aot_fpr_12 = ctx.fpr[16] - ctx.fpr[17]; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(84), std::bit_cast(aot_fpr_14)); @@ -2528,7 +2529,7 @@ L_08814B90: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(80))); ctx.fpr[24] = std::bit_cast(std::bit_cast(ctx.fpr[22])); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(84))); - aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); + aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), std::bit_cast(aot_fpr_14)); aot_gpr_6 = (aot_gpr_29 + static_cast(64)); @@ -2546,14 +2547,14 @@ L_08814BB8: L_08814BC4: aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(80))); ctx.fpr[22] = std::bit_cast(std::bit_cast(ctx.fpr[0])); - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(96))); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(96))); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[24])); ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(84))); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[24])); - aot_fpr_14 = aot_fpr_14 - ctx.fpr[15]; + aot_fpr_14 = aot_fpr_14 - aot_fpr_15; ctx.fpr[17] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(100))); aot_gpr_31 = (0x08814BECu); - ctx.fpr[15] = ctx.fpr[16] - ctx.fpr[17]; + aot_fpr_15 = ctx.fpr[16] - ctx.fpr[17]; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0162_entry, 162u, 561u, 0x08A8EF1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08814BECu) goto L_08814BEC; AOT_REGCACHE_SYNC_OUT(); return; L_08814BEC: @@ -2605,7 +2606,7 @@ L_08814C34: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0002_entry, 2u, 626u, 0x0880F0E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08814C40u) goto L_08814C40; AOT_REGCACHE_SYNC_OUT(); return; L_08814C40: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); goto L_08814C44; L_08814C44: aot_gpr_4 = (ctx.gpr[21] | 0u); @@ -2625,7 +2626,7 @@ L_08814C54: goto L_08814C64; } L_08814C64: - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[22] <= aot_fpr_20)) ? 0x00800000u : 0u); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[22] <= ctx.fpr[20])) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -2776,22 +2777,22 @@ L_08814D68: ctx.gpr[19] = (0u + static_cast(-1)); goto L_08814D74; L_08814D74: - aot_gpr_16 = (ctx.gpr[17] << 3u); - aot_gpr_16 = (ctx.gpr[21] + aot_gpr_16); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(8)))))); + ctx.gpr[16] = (ctx.gpr[17] << 3u); + ctx.gpr[16] = (ctx.gpr[21] + ctx.gpr[16]); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(8)))))); { const bool branch_taken = aot_gpr_4 != ctx.gpr[19]; - aot_gpr_16 = (aot_gpr_16 + static_cast(12)); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(12)); if (branch_taken) { goto L_08814DF4; } goto L_08814D88; } L_08814D88: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(0))); - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(0))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(1))); aot_gpr_4 = (aot_gpr_4 << 16u); aot_gpr_5 = (aot_gpr_5 << 8u); - aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(2))); + aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(2))); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); { const bool branch_taken = ctx.gpr[20] == aot_gpr_4; @@ -2812,13 +2813,13 @@ L_08814DAC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0002_entry, 2u, 654u, 0x0880F3B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08814DC8u) goto L_08814DC8; AOT_REGCACHE_SYNC_OUT(); return; L_08814DC8: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(0))); - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(0))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(1))); aot_gpr_4 = (aot_gpr_4 << 16u); aot_gpr_5 = (aot_gpr_5 << 8u); - ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(2))); + ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(2))); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); - aot_gpr_6 = (ctx.gpr[2] >> 8u); + aot_gpr_6 = (aot_gpr_2 >> 8u); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[7]); { const bool branch_taken = aot_gpr_6 != aot_gpr_4; // nop @@ -2856,18 +2857,18 @@ L_08814E10: aot_gpr_6 = (ctx.gpr[30] | 0u); aot_gpr_31 = (0x08814E28u); ctx.gpr[7] = (ctx.gpr[23] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08814E28u) goto L_08814E28; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08814E28u) goto L_08814E28; AOT_REGCACHE_SYNC_OUT(); return; L_08814E28: - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(0))); aot_mem.aot_direct_store8(ctx.gpr[21] + static_cast(616), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(1))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(1))); aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[21] + static_cast(612))); aot_mem.aot_direct_store8(ctx.gpr[21] + static_cast(617), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(2))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(2))); aot_gpr_5 = (aot_gpr_5 << 3u); aot_mem.aot_direct_store8(ctx.gpr[21] + static_cast(618), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(3))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(3))); aot_gpr_5 = (ctx.gpr[21] + aot_gpr_5); aot_mem.aot_direct_store8(ctx.gpr[21] + static_cast(619), static_cast(aot_gpr_4)); aot_mem.aot_direct_store16(aot_gpr_5 + static_cast(8), static_cast(ctx.gpr[19])); @@ -2980,7 +2981,7 @@ L_08814F20: ctx.gpr[7] = (0u | 255u); aot_gpr_31 = (0x08814F38u); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08814F38u) goto L_08814F38; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08814F38u) goto L_08814F38; AOT_REGCACHE_SYNC_OUT(); return; L_08814F38: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5844))); @@ -3007,7 +3008,7 @@ L_08814F50: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0122_entry, 122u, 14u, 0x089EC180u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08814F68u) goto L_08814F68; AOT_REGCACHE_SYNC_OUT(); return; L_08814F68: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); { const bool branch_taken = static_cast(ctx.gpr[17]) < 0; // nop if (branch_taken) { @@ -3037,11 +3038,11 @@ L_08814F8C: AOT_REGCACHE_SYNC_OUT(); return; L_08814F94: aot_gpr_31 = (0x08814F9Cu); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0122_entry, 122u, 67u, 0x089EC594u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08814F9Cu) goto L_08814F9C; AOT_REGCACHE_SYNC_OUT(); return; L_08814F9C: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(320), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(320), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(320))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(256), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(256))); @@ -3072,8 +3073,8 @@ L_08814FE0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0122_entry, 122u, 13u, 0x089EC170u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08814FE8u) goto L_08814FE8; AOT_REGCACHE_SYNC_OUT(); return; L_08814FE8: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(16))); - { const bool branch_taken = aot_gpr_4 != aot_gpr_16; + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(16))); + { const bool branch_taken = aot_gpr_4 != ctx.gpr[16]; // nop if (branch_taken) { goto L_08814FFC; @@ -3109,7 +3110,7 @@ L_08815014: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0122_entry, 122u, 13u, 0x089EC170u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881501Cu) goto L_0881501C; AOT_REGCACHE_SYNC_OUT(); return; L_0881501C: - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(25))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(25))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -3158,7 +3159,7 @@ L_0881506C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0122_entry, 122u, 13u, 0x089EC170u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08815074u) goto L_08815074; AOT_REGCACHE_SYNC_OUT(); return; L_08815074: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(16))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(16))); aot_gpr_5 = (0u | 3u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -3174,13 +3175,13 @@ L_08815084: ctx.gpr[7] = (0u | 255u); aot_gpr_31 = (0x0881509Cu); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881509Cu) goto L_0881509C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881509Cu) goto L_0881509C; AOT_REGCACHE_SYNC_OUT(); return; L_0881509C: aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_5 = (ctx.gpr[23] | 0u); aot_gpr_31 = (0x088150ACu); - aot_gpr_6 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0002_entry, 2u, 761u, 0x0880FD24u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088150ACu) goto L_088150AC; AOT_REGCACHE_SYNC_OUT(); return; L_088150AC: @@ -3206,10 +3207,10 @@ L_088150B4: L_088150D8: { std::uint32_t aot_run_words[13]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(328), aot_run_words); - aot_fpr_20 = std::bit_cast(aot_run_words[0]); + ctx.fpr[20] = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); - aot_gpr_16 = aot_run_words[3]; + ctx.gpr[16] = aot_run_words[3]; ctx.gpr[17] = aot_run_words[4]; ctx.gpr[18] = aot_run_words[5]; ctx.gpr[19] = aot_run_words[6]; @@ -3228,12 +3229,12 @@ L_088150D8: AOT_REGCACHE_SYNC_OUT(); return; L_08815114: aot_gpr_29 = (aot_gpr_29 + static_cast(-384)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(348), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(348), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_5 << 4u); aot_gpr_6 = (aot_gpr_4 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(628))); { const std::uint32_t aot_run_words[3]{ctx.gpr[18], ctx.gpr[19], ctx.gpr[20]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(356), aot_run_words); } @@ -3241,7 +3242,7 @@ L_08815114: ctx.gpr[19] = (0u | 0u); ctx.gpr[20] = (0u | 0u); aot_gpr_6 = (0u | 6u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(344), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(344), std::bit_cast(ctx.fpr[20])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(352), ctx.gpr[17]); { const std::uint32_t aot_run_words[3]{ctx.gpr[21], ctx.gpr[22], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(368), aot_run_words); } @@ -3282,14 +3283,14 @@ L_08815188: aot_gpr_5 = (aot_gpr_4 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(632))); aot_gpr_31 = (0x088151A8u); aot_gpr_4 = (aot_gpr_6 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088151A8u) goto L_088151A8; AOT_REGCACHE_SYNC_OUT(); return; L_088151A8: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[18] == 0u; // nop if (branch_taken) { @@ -3323,14 +3324,14 @@ L_088151D0: aot_gpr_5 = (aot_gpr_4 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15976))); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(632))); aot_gpr_31 = (0x088151F0u); aot_gpr_4 = (aot_gpr_6 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088151F0u) goto L_088151F0; AOT_REGCACHE_SYNC_OUT(); return; L_088151F0: - ctx.gpr[21] = (ctx.gpr[2] | 0u); + ctx.gpr[21] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[21] == 0u; // nop if (branch_taken) { @@ -3344,7 +3345,7 @@ L_088151FC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 195u, 0x08910B38u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08815204u) goto L_08815204; AOT_REGCACHE_SYNC_OUT(); return; L_08815204: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08815214; @@ -3396,14 +3397,14 @@ L_0881523C: aot_gpr_5 = (aot_gpr_4 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15960))); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(632))); aot_gpr_31 = (0x0881525Cu); aot_gpr_4 = (aot_gpr_6 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 445u, 0x08B65D28u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881525Cu) goto L_0881525C; AOT_REGCACHE_SYNC_OUT(); return; L_0881525C: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[18] == 0u; // nop if (branch_taken) { @@ -3436,7 +3437,7 @@ L_08815284: aot_gpr_4 = (ctx.gpr[17] << 4u); aot_gpr_5 = (aot_gpr_4 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(632))); aot_gpr_4 = (2237u << 16u); aot_gpr_5 = (static_cast(static_cast(aot_gpr_6) >> 16u)); @@ -3446,7 +3447,7 @@ L_08815284: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 192u, 0x08ADCA6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088152ACu) goto L_088152AC; AOT_REGCACHE_SYNC_OUT(); return; L_088152AC: - ctx.gpr[21] = (ctx.gpr[2] | 0u); + ctx.gpr[21] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[21] == 0u; // nop if (branch_taken) { @@ -3467,12 +3468,12 @@ L_088152CC: aot_gpr_4 = (ctx.gpr[22] | 0u); jump_target = aot_gpr_6; aot_gpr_31 = (0x088152DCu); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088152DCu) goto L_088152DC; AOT_REGCACHE_SYNC_OUT(); return; L_088152DC: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08815300; @@ -3485,7 +3486,7 @@ L_088152E4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0008_entry, 8u, 19u, 0x08824204u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088152ECu) goto L_088152EC; AOT_REGCACHE_SYNC_OUT(); return; L_088152EC: - { const std::uint32_t vfpu_address = ctx.gpr[2] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_2 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -3521,7 +3522,7 @@ L_0881530C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881531Cu) goto L_0881531C; AOT_REGCACHE_SYNC_OUT(); return; L_0881531C: - aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast(96), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(260))); aot_mem.aot_direct_store8(ctx.gpr[21] + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(96))); @@ -3571,7 +3572,7 @@ L_08815348: const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_4 = (aot_gpr_16 + static_cast(6864)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(6864)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -3594,7 +3595,7 @@ L_08815348: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 461u, 0x08A93198u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08815384u) goto L_08815384; AOT_REGCACHE_SYNC_OUT(); return; L_08815384: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088154F8; @@ -3607,7 +3608,7 @@ L_0881538C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08815394u) goto L_08815394; AOT_REGCACHE_SYNC_OUT(); return; L_08815394: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088154F8; @@ -3623,7 +3624,7 @@ L_0881539C: goto L_088153A4; } L_088153A4: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(6851))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(6851))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -3632,7 +3633,7 @@ L_088153A4: goto L_088153B0; } L_088153B0: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(6880))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(6880))); aot_fpr_13 = std::bit_cast(0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(aot_fpr_13)) && aot_fpr_12 == aot_fpr_13)) ? 0x00800000u : 0u); // nop @@ -3644,7 +3645,7 @@ L_088153B0: goto L_088153C8; } L_088153C8: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(6884))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(6884))); aot_fpr_13 = std::bit_cast(0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(aot_fpr_13)) && aot_fpr_12 == aot_fpr_13)) ? 0x00800000u : 0u); // nop @@ -3656,7 +3657,7 @@ L_088153C8: goto L_088153E0; } L_088153E0: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(6888))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(6888))); aot_fpr_13 = std::bit_cast(0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(aot_fpr_13)) && aot_fpr_12 == aot_fpr_13)) ? 0x00800000u : 0u); // nop @@ -3668,7 +3669,7 @@ L_088153E0: goto L_088153F8; } L_088153F8: - aot_gpr_4 = (aot_gpr_16 + static_cast(6864)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(6864)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -3697,7 +3698,7 @@ L_08815410: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = ctx.gpr[2] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_2 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -3734,7 +3735,7 @@ L_08815410: goto L_08815438; } L_08815438: - aot_gpr_4 = (aot_gpr_16 + static_cast(6864)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(6864)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -3758,7 +3759,7 @@ L_08815438: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_4 = (aot_gpr_16 + static_cast(6880)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(6880)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -3794,10 +3795,10 @@ L_08815470: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(80))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(84))); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(84))); ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); ctx.fpr[17] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(88))); - aot_fpr_14 = aot_fpr_14 + ctx.fpr[15]; + aot_fpr_14 = aot_fpr_14 + aot_fpr_15; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), std::bit_cast(aot_fpr_12)); aot_fpr_12 = ctx.fpr[16] - ctx.fpr[17]; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), std::bit_cast(aot_fpr_14)); @@ -3812,7 +3813,7 @@ L_088154A0: aot_gpr_4 = (ctx.gpr[17] << 4u); aot_gpr_5 = (aot_gpr_4 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(656)))))); aot_gpr_4 = (aot_gpr_4 & 16u); { const bool branch_taken = aot_gpr_4 == 0u; @@ -3824,7 +3825,7 @@ L_088154A0: } L_088154C0: ctx.gpr[20] = (aot_gpr_29 + static_cast(16)); - aot_gpr_4 = (aot_gpr_16 + static_cast(6864)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(6864)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -3853,7 +3854,7 @@ L_088154DC: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = ctx.gpr[2] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_2 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -3884,7 +3885,7 @@ L_08815500: aot_gpr_4 = (ctx.gpr[17] << 4u); aot_gpr_5 = (aot_gpr_4 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(628))); aot_gpr_5 = (0u | 6u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; @@ -3912,7 +3913,7 @@ L_08815540: aot_gpr_4 = (ctx.gpr[17] << 4u); aot_gpr_5 = (aot_gpr_4 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(632))); aot_gpr_4 = (2237u << 16u); aot_gpr_5 = (static_cast(static_cast(aot_gpr_6) >> 16u)); @@ -3922,7 +3923,7 @@ L_08815540: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 192u, 0x08ADCA6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08815568u) goto L_08815568; AOT_REGCACHE_SYNC_OUT(); return; L_08815568: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[19] == 0u; // nop if (branch_taken) { @@ -3939,14 +3940,14 @@ L_08815574: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 156u, 0x08ADC7F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08815588u) goto L_08815588; AOT_REGCACHE_SYNC_OUT(); return; L_08815588: - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(0))); - aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(1))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(0))); + aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(1))); aot_gpr_4 = (aot_gpr_4 << 24u); aot_gpr_5 = (aot_gpr_5 << 16u); - aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(2))); + aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(2))); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_5 = (aot_gpr_6 << 8u); - ctx.gpr[19] = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(3))); + ctx.gpr[19] = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(3))); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); { const bool branch_taken = 0u == 0u; ctx.gpr[19] = (aot_gpr_4 + ctx.gpr[19]); @@ -3969,7 +3970,7 @@ L_088155B8: L_088155C0: aot_gpr_5 = (aot_gpr_4 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(632))); aot_gpr_4 = (2237u << 16u); aot_gpr_5 = (static_cast(static_cast(aot_gpr_5) >> 16u)); @@ -3979,14 +3980,14 @@ L_088155C0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 167u, 0x08ADC88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088155E4u) goto L_088155E4; AOT_REGCACHE_SYNC_OUT(); return; L_088155E4: - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(0))); - aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(1))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(0))); + aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(1))); aot_gpr_4 = (aot_gpr_4 << 24u); aot_gpr_5 = (aot_gpr_5 << 16u); - aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(2))); + aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(2))); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_5 = (aot_gpr_6 << 8u); - ctx.gpr[19] = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(3))); + ctx.gpr[19] = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(3))); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); { const bool branch_taken = 0u == 0u; ctx.gpr[19] = (aot_gpr_4 + ctx.gpr[19]); @@ -3998,23 +3999,23 @@ L_088155E4: L_08815610: aot_gpr_5 = (aot_gpr_4 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(656)))))); aot_gpr_6 = (aot_gpr_5 & 2u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(624))); aot_gpr_6 = (aot_gpr_6 >> 1u); aot_gpr_31 = (0x08815634u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0002_entry, 2u, 654u, 0x0880F3B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08815634u) goto L_08815634; AOT_REGCACHE_SYNC_OUT(); return; L_08815634: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); goto L_08815638; L_08815638: aot_gpr_4 = (ctx.gpr[17] << 4u); aot_gpr_5 = (aot_gpr_4 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(656)))))); aot_gpr_5 = (0u | 96u); aot_gpr_4 = (aot_gpr_4 & 224u); @@ -4028,7 +4029,7 @@ L_08815638: L_0881565C: aot_gpr_5 = (aot_gpr_4 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(656)))))); aot_gpr_5 = (0u | 32u); aot_gpr_4 = (aot_gpr_4 & 224u); @@ -4067,9 +4068,9 @@ L_08815688: aot_gpr_4 = (ctx.gpr[17] << 4u); aot_gpr_6 = (aot_gpr_4 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); - ctx.gpr[20] = (aot_gpr_16 + aot_gpr_4); + ctx.gpr[20] = (ctx.gpr[16] + aot_gpr_4); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(660))); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x088156B8u); aot_gpr_6 = (ctx.gpr[19] | 0u); goto L_08816368; @@ -4096,7 +4097,7 @@ L_088156E8: aot_gpr_5 = (aot_gpr_4 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_5 = (16544u << 16u); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); aot_fpr_12 = std::bit_cast(aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(660), std::bit_cast(aot_fpr_12)); goto L_08815704; @@ -4104,7 +4105,7 @@ L_08815704: aot_gpr_4 = (ctx.gpr[17] << 4u); aot_gpr_5 = (aot_gpr_4 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(656)))))); aot_gpr_5 = (0u | 96u); aot_gpr_4 = (aot_gpr_4 & 224u); @@ -4118,7 +4119,7 @@ L_08815704: L_08815728: aot_gpr_5 = (aot_gpr_4 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(656)))))); aot_gpr_5 = (0u | 64u); aot_gpr_4 = (aot_gpr_4 & 224u); @@ -4148,28 +4149,28 @@ L_08815748: ctx.gpr[7] = (16256u << 16u); aot_gpr_6 = (aot_gpr_29 + static_cast(208)); aot_fpr_12 = std::bit_cast(ctx.gpr[7]); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x0881579Cu); aot_gpr_5 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0002_entry, 2u, 606u, 0x0880EDB0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881579Cu) goto L_0881579C; AOT_REGCACHE_SYNC_OUT(); return; L_0881579C: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x088157A8u); aot_gpr_5 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0002_entry, 2u, 620u, 0x0880F05Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088157A8u) goto L_088157A8; AOT_REGCACHE_SYNC_OUT(); return; L_088157A8: - aot_fpr_20 = std::bit_cast(std::bit_cast(ctx.fpr[0])); - aot_gpr_4 = (aot_gpr_16 | 0u); + ctx.fpr[20] = std::bit_cast(std::bit_cast(ctx.fpr[0])); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x088157B8u); - aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); + aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0002_entry, 2u, 626u, 0x0880F0E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088157B8u) goto L_088157B8; AOT_REGCACHE_SYNC_OUT(); return; L_088157B8: - ctx.gpr[20] = (ctx.gpr[2] | 0u); + ctx.gpr[20] = (aot_gpr_2 | 0u); aot_gpr_5 = (aot_gpr_29 + static_cast(40)); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x088157CCu); aot_gpr_6 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0002_entry, 2u, 577u, 0x0880EB64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088157CCu) goto L_088157CC; @@ -4178,7 +4179,7 @@ L_088157CC: aot_gpr_4 = (ctx.gpr[17] << 4u); aot_gpr_5 = (aot_gpr_4 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(656)))))); aot_gpr_4 = (aot_gpr_4 & 8u); { const bool branch_taken = aot_gpr_4 == 0u; @@ -4190,7 +4191,7 @@ L_088157CC: } L_088157EC: aot_fpr_12 = std::bit_cast(aot_gpr_4); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_20 <= aot_fpr_12)) ? 0x00800000u : 0u); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[20] <= aot_fpr_12)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -4200,7 +4201,7 @@ L_088157EC: goto L_08815800; } L_08815800: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(6851))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(6851))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -4212,7 +4213,7 @@ L_0881580C: aot_gpr_4 = (ctx.gpr[17] << 4u); aot_gpr_5 = (aot_gpr_4 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(665))); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -4237,13 +4238,13 @@ L_08815828: const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(232))); + ctx.fpr[20] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(232))); aot_gpr_31 = (0x08815844u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 58u, 0x089604E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08815844u) goto L_08815844; AOT_REGCACHE_SYNC_OUT(); return; L_08815844: - { const std::uint32_t vfpu_address = ctx.gpr[2] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_2 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -4271,12 +4272,12 @@ L_08815844: goto L_08815870; } L_08815870: - aot_fpr_20 = std::bit_cast(std::bit_cast(aot_fpr_12)); + ctx.fpr[20] = std::bit_cast(std::bit_cast(aot_fpr_12)); goto L_08815874; L_08815874: aot_gpr_4 = (16384u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); - aot_fpr_13 = aot_fpr_20 - aot_fpr_13; + aot_fpr_13 = ctx.fpr[20] - aot_fpr_13; ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); @@ -4297,7 +4298,7 @@ L_08815890: L_08815898: aot_gpr_4 = (16512u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); - aot_fpr_13 = aot_fpr_20 + aot_fpr_13; + aot_fpr_13 = ctx.fpr[20] + aot_fpr_13; ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); @@ -4325,20 +4326,20 @@ L_088158C0: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(40))); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(44))); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(664))); aot_gpr_6 = (ctx.gpr[19] >> 24u); ctx.gpr[7] = (ctx.gpr[19] >> 16u); ctx.gpr[8] = (ctx.gpr[19] >> 8u); aot_gpr_6 = (aot_gpr_6 & 255u); ctx.gpr[7] = (ctx.gpr[7] & 255u); - ctx.gpr[9] = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(6848))); + ctx.gpr[9] = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(6848))); ctx.gpr[8] = (ctx.gpr[8] & 255u); aot_gpr_31 = (0x08815904u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_08815B48; L_08815904: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(6851))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(6851))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -4358,7 +4359,7 @@ L_08815910: } L_08815920: aot_gpr_4 = (ctx.gpr[20] << 3u); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(8)))))); aot_gpr_5 = (0u + static_cast(-2)); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; @@ -4369,7 +4370,7 @@ L_08815920: goto L_08815938; } L_08815938: - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(12)); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0))); ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(1))); @@ -4389,20 +4390,20 @@ L_08815938: L_08815968: aot_gpr_5 = (aot_gpr_4 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(656)))))); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(624))); aot_gpr_4 = (aot_gpr_5 & 2u); aot_gpr_6 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); aot_gpr_6 = (aot_gpr_6 & 255u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08815994u); aot_gpr_5 = (ctx.gpr[7] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0002_entry, 2u, 654u, 0x0880F3B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08815994u) goto L_08815994; AOT_REGCACHE_SYNC_OUT(); return; L_08815994: aot_gpr_4 = (ctx.gpr[20] << 3u); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(12)); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0))); ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(1))); @@ -4410,7 +4411,7 @@ L_08815994: ctx.gpr[7] = (ctx.gpr[7] << 8u); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(2))); aot_gpr_5 = (aot_gpr_5 + ctx.gpr[7]); - aot_gpr_6 = (ctx.gpr[2] >> 8u); + aot_gpr_6 = (aot_gpr_2 >> 8u); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); { const bool branch_taken = aot_gpr_6 != aot_gpr_4; // nop @@ -4448,37 +4449,37 @@ L_088159E8: aot_gpr_4 = (aot_gpr_29 + static_cast(256)); aot_gpr_5 = (aot_gpr_5 & 255u); aot_gpr_6 = (aot_gpr_6 & 255u); - ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(6848))); + ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(6848))); aot_gpr_31 = (0x08815A0Cu); ctx.gpr[7] = (ctx.gpr[7] & 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08815A0Cu) goto L_08815A0C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08815A0Cu) goto L_08815A0C; AOT_REGCACHE_SYNC_OUT(); return; L_08815A0C: - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(0))); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(620), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(1))); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(621), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(2))); - aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(612))); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(622), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(3))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(0))); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(620), static_cast(aot_gpr_4)); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(1))); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(621), static_cast(aot_gpr_4)); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(2))); + aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(612))); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(622), static_cast(aot_gpr_4)); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(3))); aot_gpr_6 = (0u + static_cast(-2)); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(623), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(623), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_gpr_5 << 3u); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(8), static_cast(aot_gpr_6)); - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(620))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(620))); aot_gpr_4 = (aot_gpr_4 + static_cast(12)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_5)); - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(621))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(621))); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(1), static_cast(aot_gpr_5)); - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(622))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(622))); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(2), static_cast(aot_gpr_5)); - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(623))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(623))); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(3), static_cast(aot_gpr_5)); - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(612))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(612))); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(612), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store16(ctx.gpr[16] + static_cast(612), static_cast(aot_gpr_4)); goto L_08815A70; L_08815A70: { const bool branch_taken = 0u == 0u; @@ -4500,7 +4501,7 @@ L_08815A78: L_08815A84: aot_gpr_5 = (aot_gpr_4 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(665))); aot_gpr_5 = (0u | 16u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; @@ -4514,7 +4515,7 @@ L_08815AA0: aot_gpr_4 = (ctx.gpr[17] << 4u); aot_gpr_5 = (aot_gpr_4 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(665))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(40))); ctx.gpr[7] = (ctx.gpr[19] >> 24u); @@ -4524,7 +4525,7 @@ L_08815AA0: ctx.gpr[7] = (ctx.gpr[7] & 255u); ctx.gpr[8] = (ctx.gpr[8] & 255u); ctx.gpr[9] = (ctx.gpr[9] & 255u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08815AE0u); aot_gpr_6 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0002_entry, 2u, 367u, 0x0880D7F8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08815AE0u) goto L_08815AE0; @@ -4541,11 +4542,11 @@ L_08815AE8: aot_gpr_4 = (ctx.gpr[17] << 4u); aot_gpr_5 = (aot_gpr_4 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(665))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(40))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(44))); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_6 = (ctx.gpr[20] | 0u); ctx.gpr[7] = (0u | 255u); ctx.gpr[8] = (0u | 255u); @@ -4556,8 +4557,8 @@ L_08815AE8: L_08815B1C: { std::uint32_t aot_run_words[9]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(344), aot_run_words); - aot_fpr_20 = std::bit_cast(aot_run_words[0]); - aot_gpr_16 = aot_run_words[1]; + ctx.fpr[20] = std::bit_cast(aot_run_words[0]); + ctx.gpr[16] = aot_run_words[1]; ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; ctx.gpr[19] = aot_run_words[4]; @@ -4587,13 +4588,13 @@ L_08815B48: ctx.gpr[20] = (ctx.gpr[8] & 255u); ctx.gpr[21] = (ctx.gpr[9] & 255u); ctx.gpr[22] = (ctx.gpr[10] & 255u); - { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24])}; + { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(40), aot_run_words); } - { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[30]), aot_gpr_16, ctx.gpr[17]}; + { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[30]), ctx.gpr[16], ctx.gpr[17]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(60), aot_run_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(92), aot_gpr_31); { const bool branch_taken = static_cast(aot_gpr_5) >= 0; - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08815BBC; } @@ -4658,7 +4659,7 @@ L_08815C1C: AOT_REGCACHE_SYNC_OUT(); return; L_08815C24: aot_gpr_4 = (0u | 1u); - { const bool branch_taken = ctx.gpr[2] != aot_gpr_4; + { const bool branch_taken = aot_gpr_2 != aot_gpr_4; aot_gpr_4 = (2236u << 16u); if (branch_taken) { goto L_08815F1C; @@ -4676,7 +4677,7 @@ L_08815C30: goto L_08815C40; } L_08815C40: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(6851))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(6851))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -4831,8 +4832,8 @@ L_08815D40: ctx.fpr[22] = ctx.fpr[28] + ctx.fpr[22]; aot_gpr_4 = (16384u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_fpr_20 = std::bit_cast(ctx.gpr[17]); - aot_fpr_20 = static_cast(static_cast(std::bit_cast(aot_fpr_20))); + ctx.fpr[20] = std::bit_cast(ctx.gpr[17]); + ctx.fpr[20] = static_cast(static_cast(std::bit_cast(ctx.fpr[20]))); { const bool branch_taken = static_cast(ctx.gpr[17]) >= 0; ctx.fpr[22] = ctx.fpr[22] + aot_fpr_12; if (branch_taken) { @@ -4843,16 +4844,16 @@ L_08815D40: L_08815D5C: aot_gpr_4 = (20352u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_fpr_20 = aot_fpr_20 + aot_fpr_12; + ctx.fpr[20] = ctx.fpr[20] + aot_fpr_12; goto L_08815D68; L_08815D68: - aot_fpr_20 = ctx.fpr[28] - aot_fpr_20; + ctx.fpr[20] = ctx.fpr[28] - ctx.fpr[20]; aot_gpr_4 = (16448u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_12 = std::bit_cast(ctx.gpr[17]); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); { const bool branch_taken = static_cast(ctx.gpr[17]) >= 0; - aot_fpr_20 = aot_fpr_20 - aot_fpr_13; + ctx.fpr[20] = ctx.fpr[20] - aot_fpr_13; if (branch_taken) { goto L_08815D90; } @@ -4875,16 +4876,16 @@ L_08815D90: ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x08815DBCu); ctx.gpr[8] = (ctx.gpr[21] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08815DBCu) goto L_08815DBC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08815DBCu) goto L_08815DBC; AOT_REGCACHE_SYNC_OUT(); return; L_08815DBC: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(32))); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[30])); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[24])); - aot_gpr_4 = (ctx.gpr[2] | 0u); - ctx.fpr[15] = std::bit_cast(std::bit_cast(ctx.fpr[22])); + aot_gpr_4 = (aot_gpr_2 | 0u); + aot_fpr_15 = std::bit_cast(std::bit_cast(ctx.fpr[22])); ctx.fpr[16] = std::bit_cast(std::bit_cast(ctx.fpr[26])); - ctx.fpr[17] = std::bit_cast(std::bit_cast(aot_fpr_20)); + ctx.fpr[17] = std::bit_cast(std::bit_cast(ctx.fpr[20])); ctx.fpr[18] = std::bit_cast(std::bit_cast(ctx.fpr[26])); aot_gpr_31 = (0x08815DE4u); ctx.fpr[19] = std::bit_cast(std::bit_cast(ctx.fpr[28])); @@ -4964,8 +4965,8 @@ L_08815E7C: ctx.fpr[22] = ctx.fpr[28] + ctx.fpr[22]; aot_gpr_4 = (16256u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_fpr_20 = std::bit_cast(ctx.gpr[17]); - aot_fpr_20 = static_cast(static_cast(std::bit_cast(aot_fpr_20))); + ctx.fpr[20] = std::bit_cast(ctx.gpr[17]); + ctx.fpr[20] = static_cast(static_cast(std::bit_cast(ctx.fpr[20]))); { const bool branch_taken = static_cast(ctx.gpr[17]) >= 0; ctx.fpr[22] = ctx.fpr[22] + aot_fpr_12; if (branch_taken) { @@ -4976,16 +4977,16 @@ L_08815E7C: L_08815E98: aot_gpr_4 = (20352u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_fpr_20 = aot_fpr_20 + aot_fpr_12; + ctx.fpr[20] = ctx.fpr[20] + aot_fpr_12; goto L_08815EA4; L_08815EA4: - aot_fpr_20 = ctx.fpr[28] - aot_fpr_20; + ctx.fpr[20] = ctx.fpr[28] - ctx.fpr[20]; aot_gpr_4 = (16256u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_12 = std::bit_cast(ctx.gpr[17]); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); { const bool branch_taken = static_cast(ctx.gpr[17]) >= 0; - aot_fpr_20 = aot_fpr_20 - aot_fpr_13; + ctx.fpr[20] = ctx.fpr[20] - aot_fpr_13; if (branch_taken) { goto L_08815ECC; } @@ -5007,16 +5008,16 @@ L_08815ECC: ctx.gpr[7] = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08815EF4u); ctx.gpr[8] = (ctx.gpr[21] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08815EF4u) goto L_08815EF4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08815EF4u) goto L_08815EF4; AOT_REGCACHE_SYNC_OUT(); return; L_08815EF4: aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[24])); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(28))); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[30])); - ctx.fpr[15] = std::bit_cast(std::bit_cast(ctx.fpr[22])); + aot_fpr_15 = std::bit_cast(std::bit_cast(ctx.fpr[22])); ctx.fpr[16] = std::bit_cast(std::bit_cast(ctx.fpr[26])); - ctx.fpr[17] = std::bit_cast(std::bit_cast(aot_fpr_20)); + ctx.fpr[17] = std::bit_cast(std::bit_cast(ctx.fpr[20])); ctx.fpr[18] = std::bit_cast(std::bit_cast(ctx.fpr[26])); aot_gpr_31 = (0x08815F1Cu); ctx.fpr[19] = std::bit_cast(std::bit_cast(ctx.fpr[28])); @@ -5104,8 +5105,8 @@ L_08815FBC: ctx.fpr[22] = ctx.fpr[28] - ctx.fpr[22]; aot_gpr_4 = (16384u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_fpr_20 = std::bit_cast(ctx.gpr[17]); - aot_fpr_20 = static_cast(static_cast(std::bit_cast(aot_fpr_20))); + ctx.fpr[20] = std::bit_cast(ctx.gpr[17]); + ctx.fpr[20] = static_cast(static_cast(std::bit_cast(ctx.fpr[20]))); { const bool branch_taken = static_cast(ctx.gpr[17]) >= 0; ctx.fpr[22] = ctx.fpr[22] - aot_fpr_12; if (branch_taken) { @@ -5116,16 +5117,16 @@ L_08815FBC: L_08815FD8: aot_gpr_4 = (20352u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_fpr_20 = aot_fpr_20 + aot_fpr_12; + ctx.fpr[20] = ctx.fpr[20] + aot_fpr_12; goto L_08815FE4; L_08815FE4: - aot_fpr_20 = ctx.fpr[26] - aot_fpr_20; + ctx.fpr[20] = ctx.fpr[26] - ctx.fpr[20]; aot_gpr_4 = (16448u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_12 = std::bit_cast(ctx.gpr[17]); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); { const bool branch_taken = static_cast(ctx.gpr[17]) >= 0; - aot_fpr_20 = aot_fpr_20 - aot_fpr_13; + ctx.fpr[20] = ctx.fpr[20] - aot_fpr_13; if (branch_taken) { goto L_0881600C; } @@ -5148,17 +5149,17 @@ L_0881600C: ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x08816038u); ctx.gpr[8] = (ctx.gpr[21] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08816038u) goto L_08816038; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08816038u) goto L_08816038; AOT_REGCACHE_SYNC_OUT(); return; L_08816038: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[26])); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[26])); - aot_gpr_4 = (ctx.gpr[2] | 0u); - ctx.fpr[15] = std::bit_cast(std::bit_cast(ctx.fpr[30])); + aot_gpr_4 = (aot_gpr_2 | 0u); + aot_fpr_15 = std::bit_cast(std::bit_cast(ctx.fpr[30])); ctx.fpr[16] = std::bit_cast(std::bit_cast(ctx.fpr[24])); ctx.fpr[17] = std::bit_cast(std::bit_cast(ctx.fpr[22])); - ctx.fpr[18] = std::bit_cast(std::bit_cast(aot_fpr_20)); + ctx.fpr[18] = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_gpr_31 = (0x08816060u); ctx.fpr[19] = std::bit_cast(std::bit_cast(ctx.fpr[28])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 124u, 0x08AF5238u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08816060u) goto L_08816060; @@ -5237,8 +5238,8 @@ L_088160F8: ctx.fpr[22] = ctx.fpr[28] - ctx.fpr[22]; aot_gpr_4 = (16256u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_fpr_20 = std::bit_cast(ctx.gpr[17]); - aot_fpr_20 = static_cast(static_cast(std::bit_cast(aot_fpr_20))); + ctx.fpr[20] = std::bit_cast(ctx.gpr[17]); + ctx.fpr[20] = static_cast(static_cast(std::bit_cast(ctx.fpr[20]))); { const bool branch_taken = static_cast(ctx.gpr[17]) >= 0; ctx.fpr[22] = ctx.fpr[22] - aot_fpr_12; if (branch_taken) { @@ -5249,16 +5250,16 @@ L_088160F8: L_08816114: aot_gpr_4 = (20352u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_fpr_20 = aot_fpr_20 + aot_fpr_12; + ctx.fpr[20] = ctx.fpr[20] + aot_fpr_12; goto L_08816120; L_08816120: - aot_fpr_20 = ctx.fpr[26] - aot_fpr_20; + ctx.fpr[20] = ctx.fpr[26] - ctx.fpr[20]; aot_gpr_4 = (16256u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_12 = std::bit_cast(ctx.gpr[17]); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); { const bool branch_taken = static_cast(ctx.gpr[17]) >= 0; - aot_fpr_20 = aot_fpr_20 - aot_fpr_13; + ctx.fpr[20] = ctx.fpr[20] - aot_fpr_13; if (branch_taken) { goto L_08816148; } @@ -5280,17 +5281,17 @@ L_08816148: ctx.gpr[7] = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08816170u); ctx.gpr[8] = (ctx.gpr[21] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08816170u) goto L_08816170; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08816170u) goto L_08816170; AOT_REGCACHE_SYNC_OUT(); return; L_08816170: aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[26])); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[26])); - ctx.fpr[15] = std::bit_cast(std::bit_cast(ctx.fpr[30])); + aot_fpr_15 = std::bit_cast(std::bit_cast(ctx.fpr[30])); ctx.fpr[16] = std::bit_cast(std::bit_cast(ctx.fpr[24])); ctx.fpr[17] = std::bit_cast(std::bit_cast(ctx.fpr[22])); - ctx.fpr[18] = std::bit_cast(std::bit_cast(aot_fpr_20)); + ctx.fpr[18] = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_gpr_31 = (0x08816198u); ctx.fpr[19] = std::bit_cast(std::bit_cast(ctx.fpr[28])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 124u, 0x08AF5238u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08816198u) goto L_08816198; @@ -5342,11 +5343,11 @@ L_088161DC: L_088161E8: aot_fpr_13 = ctx.fpr[28] - aot_fpr_13; aot_gpr_5 = (16256u << 16u); - ctx.fpr[15] = std::bit_cast(aot_gpr_5); + aot_fpr_15 = std::bit_cast(aot_gpr_5); aot_fpr_14 = std::bit_cast(ctx.gpr[17]); aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); { const bool branch_taken = static_cast(ctx.gpr[17]) >= 0; - aot_fpr_13 = aot_fpr_13 - ctx.fpr[15]; + aot_fpr_13 = aot_fpr_13 - aot_fpr_15; if (branch_taken) { goto L_08816210; } @@ -5354,15 +5355,15 @@ L_088161E8: } L_08816204: aot_gpr_5 = (20352u << 16u); - ctx.fpr[15] = std::bit_cast(aot_gpr_5); - aot_fpr_14 = aot_fpr_14 + ctx.fpr[15]; + aot_fpr_15 = std::bit_cast(aot_gpr_5); + aot_fpr_14 = aot_fpr_14 + aot_fpr_15; goto L_08816210; L_08816210: aot_fpr_14 = ctx.fpr[26] + aot_fpr_14; aot_gpr_5 = (16256u << 16u); ctx.fpr[16] = std::bit_cast(aot_gpr_5); - ctx.fpr[15] = std::bit_cast(ctx.gpr[17]); - ctx.fpr[15] = static_cast(static_cast(std::bit_cast(ctx.fpr[15]))); + aot_fpr_15 = std::bit_cast(ctx.gpr[17]); + aot_fpr_15 = static_cast(static_cast(std::bit_cast(aot_fpr_15))); { const bool branch_taken = static_cast(ctx.gpr[17]) >= 0; aot_fpr_14 = aot_fpr_14 + ctx.fpr[16]; if (branch_taken) { @@ -5373,29 +5374,29 @@ L_08816210: L_0881622C: aot_gpr_5 = (20352u << 16u); ctx.fpr[16] = std::bit_cast(aot_gpr_5); - ctx.fpr[15] = ctx.fpr[15] + ctx.fpr[16]; + aot_fpr_15 = aot_fpr_15 + ctx.fpr[16]; goto L_08816238; L_08816238: - ctx.fpr[15] = ctx.fpr[28] + ctx.fpr[15]; + aot_fpr_15 = ctx.fpr[28] + aot_fpr_15; aot_gpr_5 = (16256u << 16u); ctx.fpr[16] = std::bit_cast(aot_gpr_5); aot_gpr_31 = (0x0881624Cu); - ctx.fpr[15] = ctx.fpr[15] + ctx.fpr[16]; - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881624Cu) goto L_0881624C; + aot_fpr_15 = aot_fpr_15 + ctx.fpr[16]; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881624Cu) goto L_0881624C; AOT_REGCACHE_SYNC_OUT(); return; L_0881624C: - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (aot_gpr_2 | 0u); aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_6 = (0u | 0u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x08816268u); ctx.gpr[8] = (ctx.gpr[21] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08816268u) goto L_08816268; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08816268u) goto L_08816268; AOT_REGCACHE_SYNC_OUT(); return; L_08816268: - aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08816278u); aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 107u, 0x08AF5130u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08816278u) goto L_08816278; @@ -5442,8 +5443,8 @@ L_088162B0: } L_088162C0: aot_gpr_5 = (20352u << 16u); - ctx.fpr[15] = std::bit_cast(aot_gpr_5); - aot_fpr_14 = aot_fpr_14 + ctx.fpr[15]; + aot_fpr_15 = std::bit_cast(aot_gpr_5); + aot_fpr_14 = aot_fpr_14 + aot_fpr_15; goto L_088162CC; L_088162CC: ctx.fpr[26] = ctx.fpr[26] + aot_fpr_14; @@ -5457,28 +5458,28 @@ L_088162CC: } L_088162DC: aot_gpr_5 = (20352u << 16u); - ctx.fpr[15] = std::bit_cast(aot_gpr_5); - aot_fpr_14 = aot_fpr_14 + ctx.fpr[15]; + aot_fpr_15 = std::bit_cast(aot_gpr_5); + aot_fpr_14 = aot_fpr_14 + aot_fpr_15; goto L_088162E8; L_088162E8: - ctx.fpr[15] = ctx.fpr[28] + aot_fpr_14; + aot_fpr_15 = ctx.fpr[28] + aot_fpr_14; aot_gpr_31 = (0x088162F4u); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[26])); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088162F4u) goto L_088162F4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088162F4u) goto L_088162F4; AOT_REGCACHE_SYNC_OUT(); return; L_088162F4: - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (aot_gpr_2 | 0u); aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_6 = (ctx.gpr[19] | 0u); ctx.gpr[7] = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08816310u); ctx.gpr[8] = (ctx.gpr[21] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08816310u) goto L_08816310; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08816310u) goto L_08816310; AOT_REGCACHE_SYNC_OUT(); return; L_08816310: - aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08816320u); aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 107u, 0x08AF5130u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08816320u) goto L_08816320; @@ -5494,13 +5495,13 @@ L_08816320: L_08816328: { std::uint32_t aot_run_words[14]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(40), aot_run_words); - aot_fpr_20 = std::bit_cast(aot_run_words[0]); + ctx.fpr[20] = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); ctx.fpr[26] = std::bit_cast(aot_run_words[3]); ctx.fpr[28] = std::bit_cast(aot_run_words[4]); ctx.fpr[30] = std::bit_cast(aot_run_words[5]); - aot_gpr_16 = aot_run_words[6]; + ctx.gpr[16] = aot_run_words[6]; ctx.gpr[17] = aot_run_words[7]; ctx.gpr[18] = aot_run_words[8]; ctx.gpr[19] = aot_run_words[9]; @@ -5959,15 +5960,15 @@ L_08816368: AOT_REGCACHE_SYNC_OUT(); return; L_0881651C: aot_gpr_29 = (aot_gpr_29 + static_cast(-80)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_4 = (16278u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), std::bit_cast(ctx.fpr[22])); ctx.fpr[22] = std::bit_cast(std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_gpr_4 | 52196u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), std::bit_cast(aot_fpr_20)); - aot_fpr_20 = std::bit_cast(std::bit_cast(aot_fpr_13)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), std::bit_cast(ctx.fpr[20])); + ctx.fpr[20] = std::bit_cast(std::bit_cast(aot_fpr_13)); aot_gpr_4 = (16768u << 16u); aot_fpr_12 = aot_fpr_14 - aot_fpr_12; { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28])}; @@ -6003,9 +6004,9 @@ L_0881659C: aot_gpr_5 = (16572u << 16u); aot_gpr_5 = (aot_gpr_5 | 32477u); aot_gpr_4 = (16608u << 16u); - ctx.fpr[15] = std::bit_cast(aot_gpr_5); + aot_fpr_15 = std::bit_cast(aot_gpr_5); aot_fpr_14 = std::bit_cast(aot_gpr_4); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[15])) ? 0x00800000u : 0u); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_15)) ? 0x00800000u : 0u); aot_fpr_12 = aot_fpr_14 - aot_fpr_13; aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); ctx.gpr[17] = (std::bit_cast(aot_fpr_12)); @@ -6043,7 +6044,7 @@ L_088165E8: L_08816604: aot_fpr_12 = ctx.fpr[24] - aot_fpr_12; { const bool branch_taken = 0u == 0u; - aot_fpr_20 = aot_fpr_20 + aot_fpr_12; + ctx.fpr[20] = ctx.fpr[20] + aot_fpr_12; if (branch_taken) { goto L_088166D0; } @@ -6059,7 +6060,7 @@ L_08816610: aot_fpr_12 = aot_fpr_13 - aot_fpr_12; ctx.fpr[22] = ctx.fpr[22] - aot_fpr_14; { const bool branch_taken = 0u == 0u; - aot_fpr_20 = aot_fpr_20 + aot_fpr_12; + ctx.fpr[20] = ctx.fpr[20] + aot_fpr_12; if (branch_taken) { goto L_088166D0; } @@ -6084,7 +6085,7 @@ L_08816644: aot_fpr_12 = aot_fpr_13 - aot_fpr_12; ctx.fpr[22] = ctx.fpr[22] - aot_fpr_14; { const bool branch_taken = 0u == 0u; - aot_fpr_20 = aot_fpr_20 - aot_fpr_12; + ctx.fpr[20] = ctx.fpr[20] - aot_fpr_12; if (branch_taken) { goto L_088166D0; } @@ -6093,7 +6094,7 @@ L_08816644: L_0881666C: aot_fpr_12 = ctx.fpr[24] - aot_fpr_12; { const bool branch_taken = 0u == 0u; - aot_fpr_20 = aot_fpr_20 - aot_fpr_12; + ctx.fpr[20] = ctx.fpr[20] - aot_fpr_12; if (branch_taken) { goto L_088166D0; } @@ -6109,7 +6110,7 @@ L_08816678: aot_fpr_12 = aot_fpr_13 - aot_fpr_12; ctx.fpr[22] = ctx.fpr[22] + aot_fpr_14; { const bool branch_taken = 0u == 0u; - aot_fpr_20 = aot_fpr_20 - aot_fpr_12; + ctx.fpr[20] = ctx.fpr[20] - aot_fpr_12; if (branch_taken) { goto L_088166D0; } @@ -6133,7 +6134,7 @@ L_088166AC: aot_fpr_14 = aot_fpr_14 - aot_fpr_12; aot_fpr_12 = aot_fpr_13 - aot_fpr_12; ctx.fpr[22] = ctx.fpr[22] + aot_fpr_14; - aot_fpr_20 = aot_fpr_20 + aot_fpr_12; + ctx.fpr[20] = ctx.fpr[20] + aot_fpr_12; goto L_088166D0; L_088166D0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-8144))); @@ -6152,38 +6153,38 @@ L_088166EC: ctx.fpr[26] = ctx.fpr[22] - ctx.fpr[24]; aot_gpr_5 = (2233u << 16u); aot_gpr_4 = (ctx.gpr[17] << 2u); - ctx.fpr[28] = aot_fpr_20 - ctx.fpr[24]; + ctx.fpr[28] = ctx.fpr[20] - ctx.fpr[24]; aot_gpr_5 = (aot_gpr_5 + static_cast(-22952)); ctx.gpr[18] = (aot_gpr_4 + aot_gpr_5); ctx.fpr[22] = ctx.fpr[24] + ctx.fpr[22]; aot_gpr_4 = (16256u << 16u); - ctx.fpr[15] = std::bit_cast(aot_gpr_4); + aot_fpr_15 = std::bit_cast(aot_gpr_4); ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(84))); - aot_fpr_20 = ctx.fpr[24] + aot_fpr_20; + ctx.fpr[20] = ctx.fpr[24] + ctx.fpr[20]; aot_gpr_4 = (aot_gpr_29 | 0u); - aot_fpr_12 = ctx.fpr[26] + ctx.fpr[15]; - aot_fpr_13 = ctx.fpr[28] + ctx.fpr[15]; - aot_fpr_14 = ctx.fpr[22] + ctx.fpr[15]; + aot_fpr_12 = ctx.fpr[26] + aot_fpr_15; + aot_fpr_13 = ctx.fpr[28] + aot_fpr_15; + aot_fpr_14 = ctx.fpr[22] + aot_fpr_15; aot_gpr_31 = (0x08816730u); - ctx.fpr[15] = aot_fpr_20 + ctx.fpr[15]; - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08816730u) goto L_08816730; + aot_fpr_15 = ctx.fpr[20] + aot_fpr_15; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08816730u) goto L_08816730; AOT_REGCACHE_SYNC_OUT(); return; L_08816730: ctx.gpr[20] = (aot_gpr_29 + static_cast(16)); - ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(6848))); - ctx.gpr[21] = (ctx.gpr[2] | 0u); + ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(6848))); + ctx.gpr[21] = (aot_gpr_2 | 0u); aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x08816750u); ctx.gpr[7] = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08816750u) goto L_08816750; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08816750u) goto L_08816750; AOT_REGCACHE_SYNC_OUT(); return; L_08816750: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x08816760u); - aot_gpr_6 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 72u, 0x08AF4650u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08816760u) goto L_08816760; AOT_REGCACHE_SYNC_OUT(); return; L_08816760: @@ -6193,42 +6194,42 @@ L_08816760: aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[28])); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[22])); aot_gpr_31 = (0x0881677Cu); - ctx.fpr[15] = std::bit_cast(std::bit_cast(aot_fpr_20)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881677Cu) goto L_0881677C; + aot_fpr_15 = std::bit_cast(std::bit_cast(ctx.fpr[20])); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881677Cu) goto L_0881677C; AOT_REGCACHE_SYNC_OUT(); return; L_0881677C: - ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(6848))); + ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(6848))); aot_gpr_4 = (ctx.gpr[20] | 0u); - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 255u); aot_gpr_6 = (0u | 255u); aot_gpr_31 = (0x08816798u); ctx.gpr[7] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08816798u) goto L_08816798; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08816798u) goto L_08816798; AOT_REGCACHE_SYNC_OUT(); return; L_08816798: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x088167A8u); - aot_gpr_6 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 72u, 0x08AF4650u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088167A8u) goto L_088167A8; AOT_REGCACHE_SYNC_OUT(); return; L_088167A8: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(612))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(612))); aot_gpr_5 = (ctx.gpr[17] + static_cast(21)); aot_gpr_6 = (aot_gpr_4 << 3u); - aot_gpr_6 = (aot_gpr_16 + aot_gpr_6); + aot_gpr_6 = (ctx.gpr[16] + aot_gpr_6); aot_mem.aot_direct_store16(aot_gpr_6 + static_cast(8), static_cast(aot_gpr_5)); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(612), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store16(ctx.gpr[16] + static_cast(612), static_cast(aot_gpr_4)); { std::uint32_t aot_run_words[12]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(20), aot_run_words); - aot_fpr_20 = std::bit_cast(aot_run_words[0]); + ctx.fpr[20] = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); ctx.fpr[26] = std::bit_cast(aot_run_words[3]); ctx.fpr[28] = std::bit_cast(aot_run_words[4]); - aot_gpr_16 = aot_run_words[5]; + ctx.gpr[16] = aot_run_words[5]; ctx.gpr[17] = aot_run_words[6]; ctx.gpr[18] = aot_run_words[7]; ctx.gpr[19] = aot_run_words[8]; @@ -6254,7 +6255,7 @@ L_088167FC: ctx.gpr[20] = (0u | 0u); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (ctx.gpr[30] | 0u); - { const std::uint32_t aot_run_words[7]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), aot_gpr_16, ctx.gpr[17]}; + { const std::uint32_t aot_run_words[7]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), ctx.gpr[16], ctx.gpr[17]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(316), aot_run_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(348), ctx.gpr[19]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(356), ctx.gpr[21]); @@ -6281,12 +6282,12 @@ L_08816868: aot_gpr_4 = (0u + static_cast(8496)); { const std::int64_t product = static_cast(static_cast(ctx.gpr[19])) * static_cast(static_cast(aot_gpr_4)); ctx.lo = static_cast(product); ctx.hi = static_cast(static_cast(product) >> 32u); } aot_gpr_4 = (2237u << 16u); - aot_gpr_16 = (aot_gpr_4 + static_cast(23280)); + ctx.gpr[16] = (aot_gpr_4 + static_cast(23280)); ctx.gpr[19] = (ctx.gpr[22] + ctx.gpr[19]); aot_gpr_4 = (ctx.lo); - aot_gpr_16 = (aot_gpr_4 + aot_gpr_16); + ctx.gpr[16] = (aot_gpr_4 + ctx.gpr[16]); { const bool branch_taken = static_cast(ctx.gpr[18]) < 0; - ctx.gpr[17] = (aot_gpr_16 + static_cast(32)); + ctx.gpr[17] = (ctx.gpr[16] + static_cast(32)); if (branch_taken) { goto L_088168B8; } @@ -6344,7 +6345,7 @@ L_088168D4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0038_entry, 38u, 601u, 0x0889E968u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088168DCu) goto L_088168DC; AOT_REGCACHE_SYNC_OUT(); return; L_088168DC: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088168F8; @@ -6357,7 +6358,7 @@ L_088168E4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0038_entry, 38u, 601u, 0x0889E968u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088168ECu) goto L_088168EC; AOT_REGCACHE_SYNC_OUT(); return; L_088168EC: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(0))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -6381,7 +6382,7 @@ L_08816908: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0038_entry, 38u, 601u, 0x0889E968u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08816910u) goto L_08816910; AOT_REGCACHE_SYNC_OUT(); return; L_08816910: - ctx.gpr[20] = (ctx.gpr[2] | 0u); + ctx.gpr[20] = (aot_gpr_2 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(0))); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -6435,7 +6436,7 @@ L_08816960: aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(6904), static_cast(ctx.gpr[18])); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_6 = (0u | 8496u); aot_gpr_31 = (0x08816984u); ctx.gpr[7] = (0u | 0u); @@ -6449,11 +6450,11 @@ L_08816984: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(292), 0u); aot_gpr_4 = (aot_gpr_29 + static_cast(288)); aot_gpr_31 = (0x088169A4u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0139_entry, 139u, 285u, 0x08A3137Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088169A4u) goto L_088169A4; AOT_REGCACHE_SYNC_OUT(); return; L_088169A4: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(296), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(296), aot_gpr_2); goto L_088169A8; L_088169A8: { const bool branch_taken = ctx.gpr[17] == 0u; @@ -6469,7 +6470,7 @@ L_088169B0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0038_entry, 38u, 601u, 0x0889E968u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088169B8u) goto L_088169B8; AOT_REGCACHE_SYNC_OUT(); return; L_088169B8: - ctx.gpr[20] = (ctx.gpr[2] | 0u); + ctx.gpr[20] = (aot_gpr_2 | 0u); goto L_088169BC; L_088169BC: { const bool branch_taken = ctx.gpr[20] != 0u; @@ -6488,19 +6489,19 @@ L_088169C4: goto L_088169CC; } L_088169CC: - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); aot_gpr_4 = (16254u << 16u); ctx.gpr[18] = (0u | 0u); - aot_fpr_20 = std::bit_cast(aot_gpr_4); + ctx.fpr[20] = std::bit_cast(aot_gpr_4); ctx.gpr[17] = (aot_gpr_29 + static_cast(192)); - aot_gpr_16 = (aot_gpr_29 + aot_gpr_16); + ctx.gpr[16] = (aot_gpr_29 + ctx.gpr[16]); goto L_088169E4; L_088169E4: aot_gpr_4 = (ctx.gpr[22] | 0u); - aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); + aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088169F8u); - aot_gpr_6 = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0002_entry, 2u, 606u, 0x0880EDB0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088169F8u) goto L_088169F8; AOT_REGCACHE_SYNC_OUT(); return; L_088169F8: @@ -6508,7 +6509,7 @@ L_088169F8: ctx.gpr[17] = (ctx.gpr[17] + static_cast(8)); aot_gpr_4 = (static_cast(ctx.gpr[18]) < 4 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_16 = (aot_gpr_16 + static_cast(8)); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(8)); if (branch_taken) { goto L_088169E4; } @@ -6530,7 +6531,7 @@ L_08816A0C: { const float fs = ctx.fpr[22]; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[22] = std::bit_cast(0x7FC00000u); else ctx.fpr[22] = fs * ft; } aot_gpr_4 = (aot_gpr_4 | 61681u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_gpr_16 = (aot_gpr_29 | 0u); + ctx.gpr[16] = (aot_gpr_29 | 0u); aot_gpr_4 = (16768u << 16u); { const float fs = ctx.fpr[24]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[24] = std::bit_cast(0x7FC00000u); else ctx.fpr[24] = fs * ft; } ctx.fpr[26] = std::bit_cast(aot_gpr_4); @@ -6538,14 +6539,14 @@ L_08816A0C: aot_gpr_4 = (15744u << 16u); ctx.gpr[21] = (0u | 0u); ctx.fpr[28] = std::bit_cast(aot_gpr_4); - ctx.gpr[18] = (aot_gpr_16 + static_cast(192)); + ctx.gpr[18] = (ctx.gpr[16] + static_cast(192)); ctx.gpr[17] = (aot_gpr_29 + ctx.gpr[17]); - ctx.gpr[20] = (aot_gpr_16 + static_cast(64)); - ctx.gpr[19] = (aot_gpr_16 + static_cast(128)); + ctx.gpr[20] = (ctx.gpr[16] + static_cast(64)); + ctx.gpr[19] = (ctx.gpr[16] + static_cast(128)); goto L_08816A78; L_08816A78: aot_gpr_4 = (ctx.gpr[22] | 0u); - aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); + aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08816A8Cu); aot_gpr_6 = (ctx.gpr[18] | 0u); @@ -6568,16 +6569,16 @@ L_08816AA4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0002_entry, 2u, 577u, 0x0880EB64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08816AB4u) goto L_08816AB4; AOT_REGCACHE_SYNC_OUT(); return; L_08816AB4: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(128))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(132))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(128))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(132))); { const float fs = aot_fpr_12; const float ft = ctx.fpr[22]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } { const float fs = aot_fpr_13; const float ft = ctx.fpr[24]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } { const float fs = aot_fpr_12; const float ft = ctx.fpr[26]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(128), std::bit_cast(aot_fpr_12)); - { const float fs = aot_fpr_13; const float ft = ctx.fpr[26]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[15] = std::bit_cast(0x7FC00000u); else ctx.fpr[15] = fs * ft; } - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(132), std::bit_cast(aot_fpr_13)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(128), std::bit_cast(aot_fpr_12)); + { const float fs = aot_fpr_13; const float ft = ctx.fpr[26]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_15 = std::bit_cast(0x7FC00000u); else aot_fpr_15 = fs * ft; } + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(132), std::bit_cast(aot_fpr_13)); aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_14)); - aot_fpr_13 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[15])); + aot_fpr_13 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_15)); ctx.gpr[21] = (ctx.gpr[21] + static_cast(1)); ctx.gpr[18] = (ctx.gpr[18] + static_cast(8)); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); @@ -6588,14 +6589,14 @@ L_08816AB4: aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); ctx.gpr[17] = (ctx.gpr[17] + static_cast(8)); ctx.gpr[20] = (ctx.gpr[20] + static_cast(8)); - { const float fs = ctx.fpr[16]; const float ft = ctx.fpr[28]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[15] = std::bit_cast(0x7FC00000u); else ctx.fpr[15] = fs * ft; } + { const float fs = ctx.fpr[16]; const float ft = ctx.fpr[28]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_15 = std::bit_cast(0x7FC00000u); else aot_fpr_15 = fs * ft; } ctx.gpr[19] = (ctx.gpr[19] + static_cast(8)); aot_gpr_4 = (static_cast(ctx.gpr[21]) < 4 ? 1u : 0u); { const float fs = aot_fpr_14; const float ft = ctx.fpr[28]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(128), std::bit_cast(ctx.fpr[15])); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(132), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(128), std::bit_cast(aot_fpr_15)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(132), std::bit_cast(aot_fpr_12)); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_16 = (aot_gpr_16 + static_cast(8)); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(8)); if (branch_taken) { goto L_08816A78; } @@ -6612,12 +6613,12 @@ L_08816B24: goto L_08816B34; } L_08816B34: - aot_gpr_16 = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); ctx.gpr[17] = (aot_gpr_4 | 0u); aot_gpr_4 = (0u | 1u); aot_gpr_31 = (0x08816B48u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08816B48u) goto L_08816B48; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08816B48u) goto L_08816B48; AOT_REGCACHE_SYNC_OUT(); return; L_08816B48: ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[22] + static_cast(6848))); @@ -6626,14 +6627,14 @@ L_08816B48: aot_gpr_6 = (0u | 204u); aot_gpr_31 = (0x08816B60u); ctx.gpr[7] = (0u | 204u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08816B60u) goto L_08816B60; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08816B60u) goto L_08816B60; AOT_REGCACHE_SYNC_OUT(); return; L_08816B60: aot_gpr_4 = (ctx.gpr[23] | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_6 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08816B74u); - ctx.gpr[7] = (ctx.gpr[2] | 0u); + ctx.gpr[7] = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 93u, 0x08AF4D64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08816B74u) goto L_08816B74; AOT_REGCACHE_SYNC_OUT(); return; L_08816B74: @@ -6646,12 +6647,12 @@ L_08816B74: } L_08816B7C: aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(312))); - aot_gpr_16 = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); ctx.gpr[17] = (aot_gpr_4 | 0u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); aot_gpr_31 = (0x08816B94u); aot_gpr_4 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08816B94u) goto L_08816B94; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08816B94u) goto L_08816B94; AOT_REGCACHE_SYNC_OUT(); return; L_08816B94: ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[22] + static_cast(6848))); @@ -6660,14 +6661,14 @@ L_08816B94: aot_gpr_6 = (0u | 255u); aot_gpr_31 = (0x08816BACu); ctx.gpr[7] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08816BACu) goto L_08816BAC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08816BACu) goto L_08816BAC; AOT_REGCACHE_SYNC_OUT(); return; L_08816BAC: aot_gpr_4 = (ctx.gpr[23] | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_6 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08816BC0u); - ctx.gpr[7] = (ctx.gpr[2] | 0u); + ctx.gpr[7] = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 93u, 0x08AF4D64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08816BC0u) goto L_08816BC0; AOT_REGCACHE_SYNC_OUT(); return; L_08816BC0: @@ -6681,12 +6682,12 @@ L_08816BC0: L_08816BD4: { std::uint32_t aot_run_words[15]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(316), aot_run_words); - aot_fpr_20 = std::bit_cast(aot_run_words[0]); + ctx.fpr[20] = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); ctx.fpr[26] = std::bit_cast(aot_run_words[3]); ctx.fpr[28] = std::bit_cast(aot_run_words[4]); - aot_gpr_16 = aot_run_words[5]; + ctx.gpr[16] = aot_run_words[5]; ctx.gpr[17] = aot_run_words[6]; ctx.gpr[18] = aot_run_words[7]; ctx.gpr[19] = aot_run_words[8]; @@ -6705,9 +6706,9 @@ L_08816BD4: AOT_REGCACHE_SYNC_OUT(); return; L_08816C18: aot_gpr_29 = (aot_gpr_29 + static_cast(-208)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(168), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(168), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(172), ctx.gpr[17]); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.gpr[17] = (2236u << 16u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29552))); aot_gpr_5 = (50944u << 16u); @@ -6717,7 +6718,7 @@ L_08816C18: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5848))); aot_gpr_5 = (aot_gpr_5 + static_cast(4)); aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(29552), aot_gpr_5); - { const std::uint32_t aot_run_words[6]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30])}; + { const std::uint32_t aot_run_words[6]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(144), aot_run_words); } { const std::uint32_t aot_run_words[6]{ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(176), aot_run_words); } @@ -6788,7 +6789,7 @@ L_08816CD0: L_08816CD8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5848))); { const bool branch_taken = aot_gpr_4 != 0u; - aot_fpr_20 = std::bit_cast(std::bit_cast(ctx.fpr[0])); + ctx.fpr[20] = std::bit_cast(std::bit_cast(ctx.fpr[0])); if (branch_taken) { goto L_08816CF0; } @@ -6808,7 +6809,7 @@ L_08816CF0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0109_entry, 109u, 565u, 0x089BAAD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08816CF8u) goto L_08816CF8; AOT_REGCACHE_SYNC_OUT(); return; L_08816CF8: - aot_fpr_12 = aot_fpr_20 + ctx.fpr[0]; + aot_fpr_12 = ctx.fpr[20] + ctx.fpr[0]; aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5848))); { const bool branch_taken = aot_gpr_4 != 0u; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(132), std::bit_cast(aot_fpr_12)); @@ -6853,18 +6854,18 @@ L_08816D34: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0109_entry, 109u, 569u, 0x089BAAFCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08816D3Cu) goto L_08816D3C; AOT_REGCACHE_SYNC_OUT(); return; L_08816D3C: - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(128))); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(128))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(132))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(140))); - ctx.fpr[15] = ctx.fpr[15] + ctx.fpr[0]; + aot_fpr_15 = aot_fpr_15 + ctx.fpr[0]; aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08816D58u); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(136))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08816D58u) goto L_08816D58; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08816D58u) goto L_08816D58; AOT_REGCACHE_SYNC_OUT(); return; L_08816D58: aot_gpr_31 = (0x08816D60u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0002_entry, 2u, 743u, 0x0880FA88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08816D60u) goto L_08816D60; AOT_REGCACHE_SYNC_OUT(); return; L_08816D60: @@ -6882,9 +6883,9 @@ L_08816D60: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(72), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_gpr_4 | 65535u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(76), std::bit_cast(aot_fpr_13)); - aot_fpr_20 = std::bit_cast(aot_gpr_4); + ctx.fpr[20] = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(80), std::bit_cast(aot_fpr_14)); - ctx.fpr[24] = std::bit_cast(std::bit_cast(aot_fpr_20)); + ctx.fpr[24] = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_gpr_4 = (17402u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(84), std::bit_cast(aot_fpr_12)); ctx.fpr[30] = std::bit_cast(aot_gpr_4); @@ -6900,7 +6901,7 @@ L_08816D60: goto L_08816DD4; L_08816DD4: ctx.gpr[7] = (16256u << 16u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_fpr_12 = std::bit_cast(ctx.gpr[7]); aot_gpr_5 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08816DECu); @@ -6939,30 +6940,30 @@ L_08816E2C: } goto L_08816E48; L_08816E48: - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(0))); - aot_fpr_14 = std::bit_cast(std::bit_cast(aot_fpr_20)); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(0))); + aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[20])); ctx.fpr[26] = std::bit_cast(std::bit_cast(aot_fpr_13)); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_14 <= ctx.fpr[15])) ? 0x00800000u : 0u); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_14 <= aot_fpr_15)) ? 0x00800000u : 0u); // nop if (((ctx.fcr31 & 0x00800000u) != 0u)) { - aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[15])); + aot_fpr_14 = std::bit_cast(std::bit_cast(aot_fpr_15)); goto L_08816E64; } goto L_08816E64; L_08816E64: ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(0))); - ctx.fpr[15] = std::bit_cast(std::bit_cast(ctx.fpr[24])); - aot_fpr_20 = std::bit_cast(std::bit_cast(aot_fpr_14)); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[15] <= ctx.fpr[16])) ? 0x00800000u : 0u); + aot_fpr_15 = std::bit_cast(std::bit_cast(ctx.fpr[24])); + ctx.fpr[20] = std::bit_cast(std::bit_cast(aot_fpr_14)); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_15 <= ctx.fpr[16])) ? 0x00800000u : 0u); // nop if (((ctx.fcr31 & 0x00800000u) != 0u)) { - ctx.fpr[15] = std::bit_cast(std::bit_cast(ctx.fpr[16])); + aot_fpr_15 = std::bit_cast(std::bit_cast(ctx.fpr[16])); goto L_08816E80; } goto L_08816E80; L_08816E80: ctx.gpr[18] = (ctx.gpr[18] + static_cast(1)); - ctx.fpr[24] = std::bit_cast(std::bit_cast(ctx.fpr[15])); + ctx.fpr[24] = std::bit_cast(std::bit_cast(aot_fpr_15)); ctx.gpr[19] = (ctx.gpr[19] + static_cast(8)); ctx.gpr[20] = (ctx.gpr[20] + static_cast(8)); ctx.gpr[21] = (ctx.gpr[21] + static_cast(8)); @@ -6975,10 +6976,10 @@ L_08816E80: goto L_08816EA0; } L_08816EA0: - ctx.fpr[19] = std::bit_cast(std::bit_cast(ctx.fpr[15])); + ctx.fpr[19] = std::bit_cast(std::bit_cast(aot_fpr_15)); ctx.fpr[16] = std::bit_cast(ctx.fpu_float_to_word_ct<3u>(aot_fpr_13)); - ctx.fpr[15] = static_cast(static_cast(std::bit_cast(ctx.fpr[16]))); - ctx.fpr[15] = aot_fpr_13 - ctx.fpr[15]; + aot_fpr_15 = static_cast(static_cast(std::bit_cast(ctx.fpr[16]))); + aot_fpr_15 = aot_fpr_13 - aot_fpr_15; ctx.fpr[17] = std::bit_cast(ctx.fpu_float_to_word_ct<2u>(ctx.fpr[19])); ctx.fpr[16] = static_cast(static_cast(std::bit_cast(ctx.fpr[17]))); ctx.fpr[16] = ctx.fpr[16] - ctx.fpr[19]; @@ -7031,7 +7032,7 @@ L_08816F20: goto L_08816F30; } L_08816F30: - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[16] <= ctx.fpr[15])) ? 0x00800000u : 0u); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[16] <= aot_fpr_15)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -7051,65 +7052,65 @@ L_08816F4C: aot_fpr_13 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_13)); aot_gpr_4 = (0u | 11u); aot_gpr_5 = (0u | 0u); - aot_fpr_20 = std::bit_cast(aot_gpr_6); + ctx.fpr[20] = std::bit_cast(aot_gpr_6); ctx.gpr[18] = (std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08816F70u); ctx.gpr[19] = (std::bit_cast(aot_fpr_13)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08816F70u) goto L_08816F70; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08816F70u) goto L_08816F70; AOT_REGCACHE_SYNC_OUT(); return; L_08816F70: aot_gpr_4 = (0u | 8u); aot_gpr_31 = (0x08816F7Cu); aot_gpr_5 = (0u | 5u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08816F7Cu) goto L_08816F7C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08816F7Cu) goto L_08816F7C; AOT_REGCACHE_SYNC_OUT(); return; L_08816F7C: aot_gpr_4 = (0u | 9u); aot_gpr_31 = (0x08816F88u); aot_gpr_5 = (0u | 6u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08816F88u) goto L_08816F88; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08816F88u) goto L_08816F88; AOT_REGCACHE_SYNC_OUT(); return; L_08816F88: aot_gpr_4 = (0u | 7u); aot_gpr_31 = (0x08816F94u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08816F94u) goto L_08816F94; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08816F94u) goto L_08816F94; AOT_REGCACHE_SYNC_OUT(); return; L_08816F94: aot_gpr_4 = (0u | 5u); aot_gpr_31 = (0x08816FA0u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08816FA0u) goto L_08816FA0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08816FA0u) goto L_08816FA0; AOT_REGCACHE_SYNC_OUT(); return; L_08816FA0: aot_gpr_4 = (0u | 4u); aot_gpr_31 = (0x08816FACu); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08816FACu) goto L_08816FAC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08816FACu) goto L_08816FAC; AOT_REGCACHE_SYNC_OUT(); return; L_08816FAC: aot_gpr_4 = (0u | 6u); aot_gpr_31 = (0x08816FB8u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08816FB8u) goto L_08816FB8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08816FB8u) goto L_08816FB8; AOT_REGCACHE_SYNC_OUT(); return; L_08816FB8: aot_gpr_4 = (0u | 10u); aot_gpr_31 = (0x08816FC4u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08816FC4u) goto L_08816FC4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08816FC4u) goto L_08816FC4; AOT_REGCACHE_SYNC_OUT(); return; L_08816FC4: aot_gpr_4 = (0u | 2u); aot_gpr_31 = (0x08816FD0u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08816FD0u) goto L_08816FD0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08816FD0u) goto L_08816FD0; AOT_REGCACHE_SYNC_OUT(); return; L_08816FD0: aot_gpr_4 = (0u | 3u); aot_gpr_31 = (0x08816FDCu); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08816FDCu) goto L_08816FDC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08816FDCu) goto L_08816FDC; AOT_REGCACHE_SYNC_OUT(); return; L_08816FDC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-8744))); @@ -7124,23 +7125,23 @@ L_08816FDC: aot_gpr_4 = (15216u << 16u); aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_13))); aot_gpr_4 = (aot_gpr_4 | 61681u); - ctx.fpr[15] = std::bit_cast(aot_gpr_4); + aot_fpr_15 = std::bit_cast(aot_gpr_4); aot_gpr_6 = (aot_gpr_29 | 0u); aot_gpr_4 = (49024u << 16u); { const float fs = aot_fpr_12; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[22] = std::bit_cast(0x7FC00000u); else ctx.fpr[22] = fs * ft; } ctx.fpr[16] = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), std::bit_cast(ctx.fpr[16])); - { const float fs = aot_fpr_13; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[24] = std::bit_cast(0x7FC00000u); else ctx.fpr[24] = fs * ft; } + { const float fs = aot_fpr_13; const float ft = aot_fpr_15; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[24] = std::bit_cast(0x7FC00000u); else ctx.fpr[24] = fs * ft; } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), std::bit_cast(ctx.fpr[16])); aot_gpr_31 = (0x08817034u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0002_entry, 2u, 577u, 0x0880EB64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08817034u) goto L_08817034; AOT_REGCACHE_SYNC_OUT(); return; L_08817034: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), std::bit_cast(ctx.fpr[20])); aot_gpr_5 = (aot_gpr_29 + static_cast(120)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), std::bit_cast(aot_fpr_20)); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), std::bit_cast(ctx.fpr[20])); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x0881704Cu); aot_gpr_6 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0002_entry, 2u, 577u, 0x0880EB64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881704Cu) goto L_0881704C; @@ -7150,47 +7151,47 @@ L_0881704C: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(116))); { const float fs = aot_fpr_12; const float ft = ctx.fpr[22]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(120))); - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(124))); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(124))); { const float fs = aot_fpr_13; const float ft = ctx.fpr[24]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } { const float fs = aot_fpr_14; const float ft = ctx.fpr[22]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } - { const float fs = ctx.fpr[15]; const float ft = ctx.fpr[24]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[15] = std::bit_cast(0x7FC00000u); else ctx.fpr[15] = fs * ft; } + { const float fs = aot_fpr_15; const float ft = ctx.fpr[24]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_15 = std::bit_cast(0x7FC00000u); else aot_fpr_15 = fs * ft; } ctx.fpr[16] = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); - aot_fpr_13 = aot_fpr_13 - ctx.fpr[15]; + aot_fpr_13 = aot_fpr_13 - aot_fpr_15; aot_fpr_12 = aot_fpr_14 - aot_fpr_12; aot_gpr_4 = (std::bit_cast(ctx.fpr[16])); - aot_fpr_13 = aot_fpr_13 - aot_fpr_20; - aot_fpr_12 = aot_fpr_12 - aot_fpr_20; - ctx.fpr[15] = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[15])); + aot_fpr_13 = aot_fpr_13 - ctx.fpr[20]; + aot_fpr_12 = aot_fpr_12 - ctx.fpr[20]; + aot_fpr_15 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_15)); aot_fpr_13 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_13)); aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); - aot_gpr_5 = (std::bit_cast(ctx.fpr[15])); + aot_gpr_5 = (std::bit_cast(aot_fpr_15)); ctx.gpr[7] = (std::bit_cast(aot_fpr_13)); aot_gpr_31 = (0x088170A0u); aot_gpr_6 = (std::bit_cast(aot_fpr_12)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 230u, 0x08861824u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088170A0u) goto L_088170A0; AOT_REGCACHE_SYNC_OUT(); return; L_088170A0: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x088170B0u); aot_gpr_6 = (ctx.gpr[19] | 0u); goto L_088167FC; L_088170B0: ctx.gpr[20] = (ctx.gpr[18] + static_cast(1)); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x088170C4u); aot_gpr_6 = (ctx.gpr[19] | 0u); goto L_088167FC; L_088170C4: ctx.gpr[19] = (ctx.gpr[19] + static_cast(1)); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x088170D8u); aot_gpr_6 = (ctx.gpr[19] | 0u); goto L_088167FC; L_088170D8: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x088170E8u); aot_gpr_6 = (ctx.gpr[19] | 0u); @@ -7209,7 +7210,7 @@ L_088170F4: aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(280))); aot_gpr_31 = (0x08817108u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 132u, 0x08804E9Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08817108u) goto L_08817108; AOT_REGCACHE_SYNC_OUT(); return; L_08817108: @@ -7224,13 +7225,13 @@ L_0881711C: aot_gpr_4 = (0u | 4u); aot_gpr_31 = (0x08817128u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08817128u) goto L_08817128; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08817128u) goto L_08817128; AOT_REGCACHE_SYNC_OUT(); return; L_08817128: aot_gpr_4 = (0u | 6u); aot_gpr_31 = (0x08817134u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08817134u) goto L_08817134; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08817134u) goto L_08817134; AOT_REGCACHE_SYNC_OUT(); return; L_08817134: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29552))); @@ -7242,13 +7243,13 @@ L_08817134: aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(29552), aot_gpr_4); { std::uint32_t aot_run_words[14]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(144), aot_run_words); - aot_fpr_20 = std::bit_cast(aot_run_words[0]); + ctx.fpr[20] = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); ctx.fpr[26] = std::bit_cast(aot_run_words[3]); ctx.fpr[28] = std::bit_cast(aot_run_words[4]); ctx.fpr[30] = std::bit_cast(aot_run_words[5]); - aot_gpr_16 = aot_run_words[6]; + ctx.gpr[16] = aot_run_words[6]; ctx.gpr[17] = aot_run_words[7]; ctx.gpr[18] = aot_run_words[8]; ctx.gpr[19] = aot_run_words[9]; @@ -7266,11 +7267,11 @@ L_08817134: L_08817190: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (2233u << 16u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (2233u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_16 = (aot_gpr_16 + static_cast(-22952)); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(-22952)); if (branch_taken) { goto L_088171B8; } @@ -7287,7 +7288,7 @@ L_088171B4: L_088171B8: aot_gpr_5 = (aot_gpr_4 + static_cast(6624)); { const bool branch_taken = aot_gpr_4 != 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(4), aot_gpr_5); if (branch_taken) { goto L_088171D0; } @@ -7304,7 +7305,7 @@ L_088171CC: L_088171D0: aot_gpr_5 = (aot_gpr_4 + static_cast(6628)); { const bool branch_taken = aot_gpr_4 != 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(8), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(8), aot_gpr_5); if (branch_taken) { goto L_088171E8; } @@ -7321,7 +7322,7 @@ L_088171E4: L_088171E8: aot_gpr_5 = (aot_gpr_4 + static_cast(6632)); { const bool branch_taken = aot_gpr_4 != 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(12), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(12), aot_gpr_5); if (branch_taken) { goto L_08817200; } @@ -7338,7 +7339,7 @@ L_088171FC: L_08817200: aot_gpr_5 = (aot_gpr_4 + static_cast(6636)); { const bool branch_taken = aot_gpr_4 != 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(16), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(16), aot_gpr_5); if (branch_taken) { goto L_08817218; } @@ -7355,7 +7356,7 @@ L_08817214: L_08817218: aot_gpr_5 = (aot_gpr_4 + static_cast(6640)); { const bool branch_taken = aot_gpr_4 != 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(20), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(20), aot_gpr_5); if (branch_taken) { goto L_08817230; } @@ -7372,7 +7373,7 @@ L_0881722C: L_08817230: aot_gpr_5 = (aot_gpr_4 + static_cast(6644)); { const bool branch_taken = aot_gpr_4 != 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(24), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(24), aot_gpr_5); if (branch_taken) { goto L_08817248; } @@ -7389,7 +7390,7 @@ L_08817244: L_08817248: aot_gpr_5 = (aot_gpr_4 + static_cast(6648)); { const bool branch_taken = aot_gpr_4 != 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(28), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(28), aot_gpr_5); if (branch_taken) { goto L_08817260; } @@ -7406,7 +7407,7 @@ L_0881725C: L_08817260: aot_gpr_5 = (aot_gpr_4 + static_cast(6652)); { const bool branch_taken = aot_gpr_4 != 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(32), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(32), aot_gpr_5); if (branch_taken) { goto L_08817278; } @@ -7423,7 +7424,7 @@ L_08817274: L_08817278: aot_gpr_5 = (aot_gpr_4 + static_cast(6656)); { const bool branch_taken = aot_gpr_4 != 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(36), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(36), aot_gpr_5); if (branch_taken) { goto L_08817290; } @@ -7440,7 +7441,7 @@ L_0881728C: L_08817290: aot_gpr_5 = (aot_gpr_4 + static_cast(6660)); { const bool branch_taken = aot_gpr_4 != 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(40), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(40), aot_gpr_5); if (branch_taken) { goto L_088172A8; } @@ -7457,7 +7458,7 @@ L_088172A4: L_088172A8: aot_gpr_5 = (aot_gpr_4 + static_cast(6664)); { const bool branch_taken = aot_gpr_4 != 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(44), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(44), aot_gpr_5); if (branch_taken) { goto L_088172C0; } @@ -7474,7 +7475,7 @@ L_088172BC: L_088172C0: aot_gpr_5 = (aot_gpr_4 + static_cast(6668)); { const bool branch_taken = aot_gpr_4 != 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(48), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(48), aot_gpr_5); if (branch_taken) { goto L_088172D8; } @@ -7491,7 +7492,7 @@ L_088172D4: L_088172D8: aot_gpr_5 = (aot_gpr_4 + static_cast(6672)); { const bool branch_taken = aot_gpr_4 != 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(52), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(52), aot_gpr_5); if (branch_taken) { goto L_088172F0; } @@ -7508,7 +7509,7 @@ L_088172EC: L_088172F0: aot_gpr_5 = (aot_gpr_4 + static_cast(6676)); { const bool branch_taken = aot_gpr_4 != 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(56), aot_gpr_5); if (branch_taken) { goto L_08817308; } @@ -7525,7 +7526,7 @@ L_08817304: L_08817308: aot_gpr_5 = (aot_gpr_4 + static_cast(6680)); { const bool branch_taken = aot_gpr_4 != 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(60), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(60), aot_gpr_5); if (branch_taken) { goto L_08817320; } @@ -7542,7 +7543,7 @@ L_0881731C: L_08817320: aot_gpr_5 = (aot_gpr_4 + static_cast(6684)); { const bool branch_taken = aot_gpr_4 != 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(64), aot_gpr_5); if (branch_taken) { goto L_08817338; } @@ -7559,7 +7560,7 @@ L_08817334: L_08817338: aot_gpr_5 = (aot_gpr_4 + static_cast(6688)); { const bool branch_taken = aot_gpr_4 != 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(68), aot_gpr_5); if (branch_taken) { goto L_08817350; } @@ -7576,7 +7577,7 @@ L_0881734C: L_08817350: aot_gpr_5 = (aot_gpr_4 + static_cast(6692)); { const bool branch_taken = aot_gpr_4 != 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(72), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(72), aot_gpr_5); if (branch_taken) { goto L_08817368; } @@ -7593,7 +7594,7 @@ L_08817364: L_08817368: aot_gpr_5 = (aot_gpr_4 + static_cast(6696)); { const bool branch_taken = aot_gpr_4 != 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(76), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(76), aot_gpr_5); if (branch_taken) { goto L_08817380; } @@ -7610,7 +7611,7 @@ L_0881737C: L_08817380: aot_gpr_5 = (aot_gpr_4 + static_cast(6700)); { const bool branch_taken = aot_gpr_4 != 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(80), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(80), aot_gpr_5); if (branch_taken) { goto L_08817398; } @@ -7627,7 +7628,7 @@ L_08817394: L_08817398: aot_gpr_5 = (aot_gpr_4 + static_cast(6704)); { const bool branch_taken = aot_gpr_4 != 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(84), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(84), aot_gpr_5); if (branch_taken) { goto L_088173B0; } @@ -7644,7 +7645,7 @@ L_088173AC: L_088173B0: aot_gpr_5 = (aot_gpr_4 + static_cast(6708)); { const bool branch_taken = aot_gpr_4 != 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(88), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(88), aot_gpr_5); if (branch_taken) { goto L_088173C8; } @@ -7661,7 +7662,7 @@ L_088173C4: L_088173C8: aot_gpr_5 = (aot_gpr_4 + static_cast(6712)); { const bool branch_taken = aot_gpr_4 != 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(92), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(92), aot_gpr_5); if (branch_taken) { goto L_088173E0; } @@ -7678,7 +7679,7 @@ L_088173DC: L_088173E0: aot_gpr_5 = (aot_gpr_4 + static_cast(6716)); { const bool branch_taken = aot_gpr_4 != 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(96), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(96), aot_gpr_5); if (branch_taken) { goto L_088173F8; } @@ -7695,7 +7696,7 @@ L_088173F4: L_088173F8: aot_gpr_5 = (aot_gpr_4 + static_cast(6720)); { const bool branch_taken = aot_gpr_4 != 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(100), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(100), aot_gpr_5); if (branch_taken) { goto L_08817410; } @@ -7712,7 +7713,7 @@ L_0881740C: L_08817410: aot_gpr_5 = (aot_gpr_4 + static_cast(6724)); { const bool branch_taken = aot_gpr_4 != 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(104), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(104), aot_gpr_5); if (branch_taken) { goto L_08817428; } @@ -7729,7 +7730,7 @@ L_08817424: L_08817428: aot_gpr_5 = (aot_gpr_4 + static_cast(6728)); { const bool branch_taken = aot_gpr_4 != 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(108), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(108), aot_gpr_5); if (branch_taken) { goto L_08817440; } @@ -7746,7 +7747,7 @@ L_0881743C: L_08817440: aot_gpr_5 = (aot_gpr_4 + static_cast(6732)); { const bool branch_taken = aot_gpr_4 != 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(112), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(112), aot_gpr_5); if (branch_taken) { goto L_08817458; } @@ -7763,7 +7764,7 @@ L_08817454: L_08817458: aot_gpr_5 = (aot_gpr_4 + static_cast(6736)); { const bool branch_taken = aot_gpr_4 != 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(116), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(116), aot_gpr_5); if (branch_taken) { goto L_08817470; } @@ -7780,7 +7781,7 @@ L_0881746C: L_08817470: aot_gpr_5 = (aot_gpr_4 + static_cast(6740)); { const bool branch_taken = aot_gpr_4 != 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(120), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(120), aot_gpr_5); if (branch_taken) { goto L_08817488; } @@ -7797,7 +7798,7 @@ L_08817484: L_08817488: aot_gpr_5 = (aot_gpr_4 + static_cast(6744)); { const bool branch_taken = aot_gpr_4 != 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(124), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(124), aot_gpr_5); if (branch_taken) { goto L_088174A0; } @@ -7814,7 +7815,7 @@ L_0881749C: L_088174A0: aot_gpr_5 = (aot_gpr_4 + static_cast(6748)); { const bool branch_taken = aot_gpr_4 != 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(128), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(128), aot_gpr_5); if (branch_taken) { goto L_088174B8; } @@ -7831,7 +7832,7 @@ L_088174B4: L_088174B8: aot_gpr_5 = (aot_gpr_4 + static_cast(6752)); { const bool branch_taken = aot_gpr_4 != 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(132), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(132), aot_gpr_5); if (branch_taken) { goto L_088174D0; } @@ -7848,7 +7849,7 @@ L_088174CC: L_088174D0: aot_gpr_5 = (aot_gpr_4 + static_cast(6756)); { const bool branch_taken = aot_gpr_4 != 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(136), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(136), aot_gpr_5); if (branch_taken) { goto L_088174E8; } @@ -7865,7 +7866,7 @@ L_088174E4: L_088174E8: aot_gpr_5 = (aot_gpr_4 + static_cast(6760)); { const bool branch_taken = aot_gpr_4 != 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(140), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(140), aot_gpr_5); if (branch_taken) { goto L_08817500; } @@ -7882,7 +7883,7 @@ L_088174FC: L_08817500: aot_gpr_5 = (aot_gpr_4 + static_cast(6764)); { const bool branch_taken = aot_gpr_4 != 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(144), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(144), aot_gpr_5); if (branch_taken) { goto L_08817518; } @@ -7899,7 +7900,7 @@ L_08817514: L_08817518: aot_gpr_5 = (aot_gpr_4 + static_cast(6768)); { const bool branch_taken = aot_gpr_4 != 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(148), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(148), aot_gpr_5); if (branch_taken) { goto L_08817530; } @@ -7916,7 +7917,7 @@ L_0881752C: L_08817530: aot_gpr_5 = (aot_gpr_4 + static_cast(6772)); { const bool branch_taken = aot_gpr_4 != 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(152), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(152), aot_gpr_5); if (branch_taken) { goto L_08817548; } @@ -7933,7 +7934,7 @@ L_08817544: L_08817548: aot_gpr_5 = (aot_gpr_4 + static_cast(6776)); { const bool branch_taken = aot_gpr_4 != 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(156), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(156), aot_gpr_5); if (branch_taken) { goto L_08817560; } @@ -7950,7 +7951,7 @@ L_0881755C: L_08817560: aot_gpr_5 = (aot_gpr_4 + static_cast(6780)); { const bool branch_taken = aot_gpr_4 != 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(160), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(160), aot_gpr_5); if (branch_taken) { goto L_08817578; } @@ -7967,7 +7968,7 @@ L_08817574: L_08817578: aot_gpr_5 = (aot_gpr_4 + static_cast(6784)); { const bool branch_taken = aot_gpr_4 != 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(164), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(164), aot_gpr_5); if (branch_taken) { goto L_08817590; } @@ -7984,7 +7985,7 @@ L_0881758C: L_08817590: aot_gpr_5 = (aot_gpr_4 + static_cast(6788)); { const bool branch_taken = aot_gpr_4 != 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(168), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(168), aot_gpr_5); if (branch_taken) { goto L_088175A8; } @@ -8001,7 +8002,7 @@ L_088175A4: L_088175A8: aot_gpr_5 = (aot_gpr_4 + static_cast(6792)); { const bool branch_taken = aot_gpr_4 != 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(172), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(172), aot_gpr_5); if (branch_taken) { goto L_088175C0; } @@ -8018,7 +8019,7 @@ L_088175BC: L_088175C0: aot_gpr_5 = (aot_gpr_4 + static_cast(6796)); { const bool branch_taken = aot_gpr_4 != 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(176), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(176), aot_gpr_5); if (branch_taken) { goto L_088175D8; } @@ -8035,7 +8036,7 @@ L_088175D4: L_088175D8: aot_gpr_5 = (aot_gpr_4 + static_cast(6800)); { const bool branch_taken = aot_gpr_4 != 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(180), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(180), aot_gpr_5); if (branch_taken) { goto L_088175F0; } @@ -8052,7 +8053,7 @@ L_088175EC: L_088175F0: aot_gpr_5 = (aot_gpr_4 + static_cast(6804)); { const bool branch_taken = aot_gpr_4 != 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(184), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(184), aot_gpr_5); if (branch_taken) { goto L_08817608; } @@ -8069,7 +8070,7 @@ L_08817604: L_08817608: aot_gpr_5 = (aot_gpr_4 + static_cast(6808)); { const bool branch_taken = aot_gpr_4 != 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(188), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(188), aot_gpr_5); if (branch_taken) { goto L_08817620; } @@ -8086,7 +8087,7 @@ L_0881761C: L_08817620: aot_gpr_5 = (aot_gpr_4 + static_cast(6812)); { const bool branch_taken = aot_gpr_4 != 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(192), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(192), aot_gpr_5); if (branch_taken) { goto L_08817638; } @@ -8103,7 +8104,7 @@ L_08817634: L_08817638: aot_gpr_5 = (aot_gpr_4 + static_cast(6816)); { const bool branch_taken = aot_gpr_4 != 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(196), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(196), aot_gpr_5); if (branch_taken) { goto L_08817650; } @@ -8120,7 +8121,7 @@ L_0881764C: L_08817650: aot_gpr_5 = (aot_gpr_4 + static_cast(6820)); { const bool branch_taken = aot_gpr_4 != 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(200), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(200), aot_gpr_5); if (branch_taken) { goto L_08817668; } @@ -8137,7 +8138,7 @@ L_08817664: L_08817668: aot_gpr_5 = (aot_gpr_4 + static_cast(6824)); { const bool branch_taken = aot_gpr_4 != 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(204), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(204), aot_gpr_5); if (branch_taken) { goto L_08817680; } @@ -8154,7 +8155,7 @@ L_0881767C: L_08817680: aot_gpr_5 = (aot_gpr_4 + static_cast(6828)); { const bool branch_taken = aot_gpr_4 != 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(208), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(208), aot_gpr_5); if (branch_taken) { goto L_08817698; } @@ -8171,7 +8172,7 @@ L_08817694: L_08817698: aot_gpr_5 = (aot_gpr_4 + static_cast(6832)); { const bool branch_taken = aot_gpr_4 != 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(212), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(212), aot_gpr_5); if (branch_taken) { goto L_088176B0; } @@ -8187,8 +8188,8 @@ L_088176AC: goto L_088176B0; L_088176B0: aot_gpr_4 = (aot_gpr_4 + static_cast(6836)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(216), aot_gpr_4); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(216), aot_gpr_4); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -8297,11 +8298,11 @@ L_088177BC: ctx.gpr[3] = (0u | 0u); aot_gpr_6 = (16640u << 16u); aot_gpr_5 = (0u | 16u); - ctx.fpr[15] = std::bit_cast(aot_gpr_6); - ctx.gpr[2] = (aot_gpr_4 + static_cast(20)); + aot_fpr_15 = std::bit_cast(aot_gpr_6); + aot_gpr_2 = (aot_gpr_4 + static_cast(20)); goto L_088177E0; L_088177E0: - ctx.gpr[11] = (ctx.gpr[2] | 0u); + ctx.gpr[11] = (aot_gpr_2 | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[7] = (0u | 0u); goto L_088177EC; @@ -8310,7 +8311,7 @@ L_088177EC: ctx.fpr[16] = static_cast(static_cast(std::bit_cast(aot_fpr_14))); ctx.gpr[9] = (0u | 0u); aot_gpr_6 = (0u | 0u); - { const float fs = ctx.fpr[16]; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[16] = std::bit_cast(0x7FC00000u); else ctx.fpr[16] = fs * ft; } + { const float fs = ctx.fpr[16]; const float ft = aot_fpr_15; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[16] = std::bit_cast(0x7FC00000u); else ctx.fpr[16] = fs * ft; } aot_fpr_14 = std::bit_cast(ctx.gpr[7]); aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); ctx.fpr[16] = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[16])); @@ -8323,7 +8324,7 @@ L_08817810: ctx.fpr[17] = std::bit_cast(aot_gpr_6); aot_mem.aot_direct_store32(ctx.gpr[11] + static_cast(16), std::bit_cast(aot_fpr_14)); ctx.fpr[17] = static_cast(static_cast(std::bit_cast(ctx.fpr[17]))); - { const float fs = ctx.fpr[16]; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[16] = std::bit_cast(0x7FC00000u); else ctx.fpr[16] = fs * ft; } + { const float fs = ctx.fpr[16]; const float ft = aot_fpr_15; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[16] = std::bit_cast(0x7FC00000u); else ctx.fpr[16] = fs * ft; } aot_mem.aot_direct_store32(ctx.gpr[11] + static_cast(20), std::bit_cast(ctx.fpr[17])); ctx.fpr[16] = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[16])); ctx.gpr[12] = (std::bit_cast(ctx.fpr[16])); @@ -8378,7 +8379,7 @@ L_08817888: ctx.gpr[3] = (ctx.gpr[3] + static_cast(1)); aot_gpr_6 = (static_cast(ctx.gpr[3]) < 2 ? 1u : 0u); { const bool branch_taken = aot_gpr_6 != 0u; - ctx.gpr[2] = (ctx.gpr[2] + static_cast(8092)); + aot_gpr_2 = (aot_gpr_2 + static_cast(8092)); if (branch_taken) { goto L_088177E0; } @@ -8386,7 +8387,7 @@ L_08817888: } L_08817898: jump_target = aot_gpr_31; - ctx.gpr[2] = (aot_gpr_4 | 0u); + aot_gpr_2 = (aot_gpr_4 | 0u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -8395,7 +8396,7 @@ L_088178A0: aot_gpr_29 = (aot_gpr_29 + static_cast(-80)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), ctx.gpr[19]); ctx.gpr[19] = (aot_gpr_4 | 0u); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18]}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(32), aot_run_words); } { const std::uint32_t aot_run_words[6]{ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(48), aot_run_words); } @@ -8405,18 +8406,18 @@ L_088178A0: aot_gpr_4 = (ctx.gpr[22] & aot_gpr_4); aot_gpr_5 = (512u << 16u); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); - aot_gpr_16 = (2236u << 16u); + ctx.gpr[16] = (2236u << 16u); ctx.gpr[17] = (2236u << 16u); ctx.gpr[21] = (0u | 0u); ctx.gpr[18] = (ctx.gpr[19] + static_cast(20)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_4); ctx.gpr[20] = (ctx.gpr[19] | 0u); - aot_gpr_16 = (aot_gpr_16 + static_cast(29232)); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(29232)); ctx.gpr[30] = (ctx.gpr[17] + static_cast(29552)); ctx.gpr[23] = (4096u << 16u); goto L_0881790C; L_0881790C: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(301))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(301))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -8425,7 +8426,7 @@ L_0881790C: goto L_08817918; } L_08817918: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_0881791C; L_0881791C: aot_gpr_31 = (0x08817924u); @@ -8433,9 +8434,9 @@ L_0881791C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0109_entry, 109u, 323u, 0x089B9ABCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08817924u) goto L_08817924; AOT_REGCACHE_SYNC_OUT(); return; L_08817924: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(301))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(301))); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (branch_taken) { goto L_0881791C; } @@ -8510,13 +8511,13 @@ L_088179D0: aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(12), aot_gpr_4); aot_gpr_5 = (aot_gpr_4 + static_cast(4)); aot_gpr_31 = (0x08817A04u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 501u, 0x08ABE57Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08817A04u) goto L_08817A04; AOT_REGCACHE_SYNC_OUT(); return; L_08817A04: - aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(4), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(4), aot_gpr_2); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(12))); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08817A18u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(28))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08817A18u) goto L_08817A18; @@ -8553,7 +8554,7 @@ L_08817A30: L_08817A68: { std::uint32_t aot_run_words[10]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(32), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -8584,10 +8585,10 @@ L_08817AAC: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[18]); ctx.gpr[18] = (aot_gpr_5 | 0u); - { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_20), aot_gpr_16, ctx.gpr[17]}; + { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[20]), ctx.gpr[16], ctx.gpr[17]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(4), aot_run_words); } - aot_fpr_20 = std::bit_cast(std::bit_cast(aot_fpr_12)); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.fpr[20] = std::bit_cast(std::bit_cast(aot_fpr_12)); + ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.gpr[17] = (aot_gpr_6 | 0u); aot_gpr_5 = (ctx.gpr[28] + static_cast(7744)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_31); @@ -8656,7 +8657,7 @@ L_08817AE0: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(29552))); aot_gpr_5 = (aot_gpr_5 + static_cast(4)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(29552), aot_gpr_5); - ctx.gpr[10] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); + ctx.gpr[10] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(16))); ctx.gpr[7] = (20224u << 16u); aot_fpr_13 = std::bit_cast(ctx.gpr[7]); ctx.gpr[8] = (ctx.gpr[10] >> 24u); @@ -8667,7 +8668,7 @@ L_08817AE0: aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_gpr_31 = (0u | 255u); ctx.gpr[11] = (ctx.gpr[11] + static_cast(-1)); - ctx.gpr[2] = (21760u << 16u); + aot_gpr_2 = (21760u << 16u); ctx.gpr[3] = (22528u << 16u); ctx.gpr[12] = (22016u << 16u); ctx.gpr[13] = (22272u << 16u); @@ -8688,7 +8689,7 @@ L_08817C24: aot_fpr_12 = aot_fpr_12 + aot_fpr_14; goto L_08817C30; L_08817C30: - { const float fs = aot_fpr_12; const float ft = aot_fpr_20; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } + { const float fs = aot_fpr_12; const float ft = ctx.fpr[20]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); // nop if (!((ctx.fcr31 & 0x00800000u) != 0u)) { @@ -8716,7 +8717,7 @@ L_08817C60: ctx.gpr[8] = (ctx.gpr[10] & ctx.gpr[11]); ctx.gpr[7] = (ctx.gpr[7] + ctx.gpr[8]); ctx.gpr[8] = (ctx.gpr[7] & ctx.gpr[11]); - ctx.gpr[10] = (ctx.gpr[8] | ctx.gpr[2]); + ctx.gpr[10] = (ctx.gpr[8] | aot_gpr_2); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), ctx.gpr[10]); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(29552))); ctx.gpr[7] = (ctx.gpr[7] >> 24u); @@ -8742,9 +8743,9 @@ L_08817C60: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(29552))); aot_gpr_5 = (aot_gpr_5 + static_cast(4)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(29552), aot_gpr_5); - ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(0))); + ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(0))); ctx.gpr[7] = (ctx.gpr[7] << 2u); - ctx.gpr[7] = (aot_gpr_16 + ctx.gpr[7]); + ctx.gpr[7] = (ctx.gpr[16] + ctx.gpr[7]); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(4))); ctx.gpr[8] = (ctx.gpr[7] >> 8u); ctx.gpr[8] = (ctx.gpr[8] & ctx.gpr[14]); @@ -8801,8 +8802,8 @@ L_08817C60: ctx.gpr[7] = (ctx.gpr[7] | 52429u); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(29552), aot_gpr_5); aot_fpr_12 = std::bit_cast(ctx.gpr[7]); - ctx.gpr[10] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); - { const float fs = aot_fpr_20; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_20 = std::bit_cast(0x7FC00000u); else aot_fpr_20 = fs * ft; } + ctx.gpr[10] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(16))); + { const float fs = ctx.fpr[20]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[20] = std::bit_cast(0x7FC00000u); else ctx.fpr[20] = fs * ft; } ctx.gpr[8] = (ctx.gpr[10] >> 24u); ctx.gpr[7] = (ctx.gpr[8] & 255u); aot_fpr_12 = std::bit_cast(ctx.gpr[7]); @@ -8819,16 +8820,16 @@ L_08817DE0: aot_fpr_12 = aot_fpr_12 + aot_fpr_14; goto L_08817DEC; L_08817DEC: - { const float fs = aot_fpr_20; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_20 = std::bit_cast(0x7FC00000u); else aot_fpr_20 = fs * ft; } - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_20 < aot_fpr_13)) ? 0x00800000u : 0u); + { const float fs = ctx.fpr[20]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[20] = std::bit_cast(0x7FC00000u); else ctx.fpr[20] = fs * ft; } + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[20] < aot_fpr_13)) ? 0x00800000u : 0u); // nop if (!((ctx.fcr31 & 0x00800000u) != 0u)) { - aot_fpr_12 = aot_fpr_20 - aot_fpr_13; + aot_fpr_12 = ctx.fpr[20] - aot_fpr_13; goto L_08817E0C; } goto L_08817E00; L_08817E00: - aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_20)); + aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[20])); { const bool branch_taken = 0u == 0u; ctx.gpr[7] = (std::bit_cast(aot_fpr_12)); if (branch_taken) { @@ -8847,7 +8848,7 @@ L_08817E1C: ctx.gpr[8] = (ctx.gpr[10] & ctx.gpr[11]); ctx.gpr[7] = (ctx.gpr[7] + ctx.gpr[8]); ctx.gpr[8] = (ctx.gpr[7] & ctx.gpr[11]); - ctx.gpr[10] = (ctx.gpr[8] | ctx.gpr[2]); + ctx.gpr[10] = (ctx.gpr[8] | aot_gpr_2); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), ctx.gpr[10]); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(29552))); ctx.gpr[7] = (ctx.gpr[7] >> 24u); @@ -8868,9 +8869,9 @@ L_08817E1C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(29552))); aot_gpr_5 = (aot_gpr_5 + static_cast(4)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(29552), aot_gpr_5); - ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(0))); + ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(0))); ctx.gpr[7] = (ctx.gpr[7] << 2u); - ctx.gpr[7] = (aot_gpr_16 + ctx.gpr[7]); + ctx.gpr[7] = (ctx.gpr[16] + ctx.gpr[7]); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(4))); aot_fpr_12 = std::bit_cast(0u); ctx.gpr[8] = (ctx.gpr[7] >> 8u); @@ -8920,8 +8921,8 @@ L_08817E1C: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(29552), aot_gpr_5); { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(4), aot_run_words); - aot_fpr_20 = std::bit_cast(aot_run_words[0]); - aot_gpr_16 = aot_run_words[1]; + ctx.fpr[20] = std::bit_cast(aot_run_words[0]); + ctx.gpr[16] = aot_run_words[1]; ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; @@ -8938,10 +8939,10 @@ L_08817F64: aot_fpr_12 = aot_fpr_12 + aot_fpr_14; ctx.gpr[8] = (17352u << 16u); aot_fpr_13 = aot_fpr_13 + aot_fpr_14; - ctx.fpr[15] = std::bit_cast(ctx.gpr[8]); + aot_fpr_15 = std::bit_cast(ctx.gpr[8]); ctx.gpr[8] = (15616u << 16u); ctx.fpr[16] = std::bit_cast(ctx.gpr[8]); - aot_fpr_12 = aot_fpr_12 + ctx.fpr[15]; + aot_fpr_12 = aot_fpr_12 + aot_fpr_15; { const float fs = aot_fpr_13; const float ft = ctx.fpr[16]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[17] = std::bit_cast(0x7FC00000u); else ctx.fpr[17] = fs * ft; } ctx.gpr[8] = (16896u << 16u); { const float fs = aot_fpr_12; const float ft = ctx.fpr[16]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[16] = std::bit_cast(0x7FC00000u); else ctx.fpr[16] = fs * ft; } @@ -8951,24 +8952,24 @@ L_08817F64: ctx.fpr[18] = std::bit_cast(ctx.gpr[9]); ctx.fpr[18] = static_cast(static_cast(std::bit_cast(ctx.fpr[18]))); ctx.gpr[10] = (std::bit_cast(aot_fpr_14)); - ctx.fpr[15] = std::bit_cast(ctx.gpr[10]); - ctx.fpr[15] = static_cast(static_cast(std::bit_cast(ctx.fpr[15]))); + aot_fpr_15 = std::bit_cast(ctx.gpr[10]); + aot_fpr_15 = static_cast(static_cast(std::bit_cast(aot_fpr_15))); ctx.fpr[16] = std::bit_cast(ctx.gpr[8]); ctx.gpr[8] = (16128u << 16u); - { const float fs = ctx.fpr[15]; const float ft = ctx.fpr[16]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[15] = std::bit_cast(0x7FC00000u); else ctx.fpr[15] = fs * ft; } + { const float fs = aot_fpr_15; const float ft = ctx.fpr[16]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_15 = std::bit_cast(0x7FC00000u); else aot_fpr_15 = fs * ft; } aot_fpr_14 = std::bit_cast(ctx.gpr[8]); { const float fs = ctx.fpr[18]; const float ft = ctx.fpr[16]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[16] = std::bit_cast(0x7FC00000u); else ctx.fpr[16] = fs * ft; } - aot_fpr_12 = aot_fpr_12 - ctx.fpr[15]; + aot_fpr_12 = aot_fpr_12 - aot_fpr_15; ctx.fpr[16] = aot_fpr_13 - ctx.fpr[16]; { const float fs = aot_fpr_12; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } { const float fs = ctx.fpr[16]; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } ctx.fpr[18] = std::bit_cast(std::bit_cast(aot_fpr_13) ^ 0x80000000u); - ctx.fpr[15] = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[18])); + aot_fpr_15 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[18])); ctx.fpr[17] = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_13)); ctx.fpr[16] = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); aot_fpr_14 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[16])); ctx.fpr[19] = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); - ctx.gpr[10] = (std::bit_cast(ctx.fpr[15])); + ctx.gpr[10] = (std::bit_cast(aot_fpr_15)); ctx.gpr[11] = (std::bit_cast(ctx.fpr[17])); ctx.gpr[10] = (0u - ctx.gpr[10]); ctx.gpr[8] = (std::bit_cast(aot_fpr_14)); diff --git a/profiles/vcs/generated/generated_unit_0005.cpp b/profiles/vcs/generated/generated_unit_0005.cpp index e0ab576..f85cc32 100644 --- a/profiles/vcs/generated/generated_unit_0005.cpp +++ b/profiles/vcs/generated/generated_unit_0005.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -137,20 +138,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0005[4055] = { }; void recomp_unit_0005_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,6,17,16 fprs=12,13,14,15 gpr_occ=4093 fpr_occ=506 gpr_total=6110 fpr_total=700 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,6,29,17,31 fprs=12,13,14,15 gpr_occ=4073 fpr_occ=506 gpr_total=6201 fpr_total=700 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; - std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_6 = ctx.gpr[6]; + std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_17 = ctx.gpr[17]; - std::uint32_t aot_gpr_16 = ctx.gpr[16]; + std::uint32_t aot_gpr_31 = ctx.gpr[31]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_14 = ctx.fpr[14]; float aot_fpr_15 = ctx.fpr[15]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[6] = aot_gpr_6; ctx.gpr[17] = aot_gpr_17; ctx.gpr[16] = aot_gpr_16; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[15] = aot_fpr_15; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_17 = ctx.gpr[17]; aot_gpr_16 = ctx.gpr[16]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_15 = ctx.fpr[15]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[6] = aot_gpr_6; ctx.gpr[29] = aot_gpr_29; ctx.gpr[17] = aot_gpr_17; ctx.gpr[31] = aot_gpr_31; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[15] = aot_fpr_15; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_17 = ctx.gpr[17]; aot_gpr_31 = ctx.gpr[31]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_15 = ctx.fpr[15]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -972,7 +973,7 @@ L_08818040: aot_gpr_4 = (aot_gpr_4 + static_cast(20)); aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(12), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), std::bit_cast(aot_fpr_13)); - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(0), std::bit_cast(aot_fpr_12)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -1159,7 +1160,7 @@ L_0881822C: ctx.fpr[0] = ctx.fpr[0] + aot_fpr_12; goto L_08818330; L_08818330: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; // nop local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -1178,7 +1179,7 @@ L_08818338: ctx.fpr[0] = std::bit_cast(0u); aot_gpr_5 = (0u | 16u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); - { const std::uint32_t aot_run_words[6]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21]}; + { const std::uint32_t aot_run_words[6]{ctx.gpr[16], aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(336), aot_run_words); } { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); ctx.fpr[16] = std::bit_cast(aot_gpr_6); @@ -1455,7 +1456,7 @@ L_08818658: ctx.gpr[13] = (ctx.gpr[13] - ctx.gpr[15]); ctx.gpr[14] = (0u | 0u); ctx.gpr[24] = (ctx.gpr[19] + static_cast(-28)); - aot_gpr_16 = (ctx.gpr[19] + static_cast(28)); + ctx.gpr[16] = (ctx.gpr[19] + static_cast(28)); ctx.gpr[21] = (aot_gpr_4 + ctx.gpr[13]); ctx.gpr[3] = (0u | 0u); ctx.gpr[14] = (aot_gpr_4 + ctx.gpr[14]); @@ -1541,7 +1542,7 @@ L_08818700: goto L_08818708; } L_08818708: - ctx.gpr[25] = (aot_gpr_16 | 0u); + ctx.gpr[25] = (ctx.gpr[16] | 0u); goto L_0881870C; L_0881870C: { const bool branch_taken = aot_gpr_6 != 0u; @@ -1652,7 +1653,7 @@ L_088187C0: ctx.gpr[12] = (ctx.gpr[12] + static_cast(28)); ctx.gpr[14] = (ctx.gpr[14] + static_cast(28)); ctx.gpr[24] = (ctx.gpr[24] + static_cast(28)); - aot_gpr_16 = (aot_gpr_16 + static_cast(28)); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(28)); aot_gpr_17 = (aot_gpr_17 + static_cast(28)); ctx.gpr[19] = (ctx.gpr[19] + static_cast(28)); ctx.gpr[13] = (static_cast(ctx.gpr[3]) < 17 ? 1u : 0u); @@ -1678,14 +1679,14 @@ L_088187E8: L_08818800: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(336), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; ctx.gpr[21] = aot_run_words[5]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(368)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -1699,7 +1700,7 @@ L_08818820: aot_mem.aot_direct_store32_block(aot_gpr_4 + static_cast(4), aot_run_words); } aot_gpr_5 = (aot_gpr_6 & aot_gpr_5); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(25), static_cast(aot_gpr_5)); - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; ctx.gpr[2] = (aot_gpr_4 | 0u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -1707,28 +1708,28 @@ L_08818820: AOT_REGCACHE_SYNC_OUT(); return; L_08818848: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_16 + static_cast(260)); + aot_gpr_17 = (ctx.gpr[16] + static_cast(260)); ctx.gpr[7] = (2178u << 16u); aot_gpr_4 = (aot_gpr_17 | 0u); aot_gpr_5 = (0u | 5u); aot_gpr_6 = (0u | 28u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[31]); - ctx.gpr[31] = (0x08818878u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); + aot_gpr_31 = (0x08818878u); ctx.gpr[7] = (ctx.gpr[7] + static_cast(-30688)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 158u, 0x08B60C7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08818878u) goto L_08818878; AOT_REGCACHE_SYNC_OUT(); return; L_08818878: aot_gpr_4 = (aot_gpr_17 | 0u); aot_gpr_5 = (0u | 0u); - ctx.gpr[31] = (0x08818888u); + aot_gpr_31 = (0x08818888u); aot_gpr_6 = (0u | 140u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08818888u) goto L_08818888; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08818888u) goto L_08818888; AOT_REGCACHE_SYNC_OUT(); return; L_08818888: - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_6 = (0u | 0u); aot_gpr_4 = (aot_gpr_5 + static_cast(12)); goto L_08818894; @@ -1746,18 +1747,18 @@ L_08818894: } L_088188AC: aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(4), 0u); - aot_gpr_4 = (aot_gpr_16 + static_cast(4)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(372), aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + static_cast(4)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(372), aot_gpr_4); aot_gpr_4 = (0u | 32u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(376), aot_gpr_4); - ctx.gpr[2] = (aot_gpr_16 | 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(376), aot_gpr_4); + ctx.gpr[2] = (ctx.gpr[16] | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; - ctx.gpr[31] = aot_run_words[2]; + aot_gpr_31 = aot_run_words[2]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -1766,11 +1767,11 @@ L_088188AC: L_088188D8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5976))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (2235u << 16u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (2235u << 16u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_16 = (aot_gpr_16 + static_cast(19904)); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(19904)); if (branch_taken) { goto L_08818904; } @@ -1779,14 +1780,14 @@ L_088188D8: L_088188F4: aot_gpr_4 = (0u | 1u); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(5976), aot_gpr_4); - ctx.gpr[31] = (0x08818904u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_31 = (0x08818904u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_08818848; L_08818904: - ctx.gpr[2] = (aot_gpr_16 | 0u); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); - jump_target = ctx.gpr[31]; + ctx.gpr[2] = (ctx.gpr[16] | 0u); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -1794,14 +1795,14 @@ L_08818904: AOT_REGCACHE_SYNC_OUT(); return; L_08818918: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, ctx.gpr[18]}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[16], aot_gpr_17, ctx.gpr[18]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(8), aot_run_words); } - aot_gpr_16 = (aot_gpr_6 | 0u); + ctx.gpr[16] = (aot_gpr_6 | 0u); aot_gpr_17 = (aot_gpr_5 | 0u); ctx.gpr[18] = (aot_gpr_4 | 0u); ctx.gpr[8] = (aot_gpr_29 + static_cast(4)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[31]); - ctx.gpr[31] = (0x08818944u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_31); + aot_gpr_31 = (0x08818944u); ctx.gpr[7] = (aot_gpr_29 | 0u); goto L_08818B84; L_08818944: @@ -1813,7 +1814,7 @@ L_08818944: goto L_0881894C; } L_0881894C: - ctx.gpr[31] = (0x08818954u); + aot_gpr_31 = (0x08818954u); aot_gpr_4 = (ctx.gpr[18] | 0u); goto L_088197D8; L_08818954: @@ -1846,7 +1847,7 @@ L_08818970: aot_gpr_5 = (aot_gpr_5 - aot_gpr_6); aot_gpr_5 = (ctx.gpr[18] + aot_gpr_5); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(260))); - aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_6); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(264))); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(260), aot_gpr_4); @@ -1857,12 +1858,12 @@ L_08818970: L_0881899C: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(8), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; - ctx.gpr[31] = aot_run_words[3]; + aot_gpr_31 = aot_run_words[3]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -1870,16 +1871,16 @@ L_0881899C: AOT_REGCACHE_SYNC_OUT(); return; L_088189B4: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_5 << 5u); aot_gpr_5 = (aot_gpr_5 << 2u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); aot_gpr_17 = (aot_gpr_4 - aot_gpr_5); - aot_gpr_17 = (aot_gpr_16 + aot_gpr_17); + aot_gpr_17 = (ctx.gpr[16] + aot_gpr_17); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(260))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -1890,8 +1891,8 @@ L_088189B4: L_088189E8: aot_gpr_5 = (aot_gpr_4 | 0u); ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); - ctx.gpr[31] = (0x088189F8u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_31 = (0x088189F8u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_0881980C; L_088189F8: aot_gpr_4 = (ctx.gpr[18] | 0u); @@ -1907,12 +1908,12 @@ L_08818A04: aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(264), 0u); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; - ctx.gpr[31] = aot_run_words[3]; + aot_gpr_31 = aot_run_words[3]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -1920,13 +1921,13 @@ L_08818A04: AOT_REGCACHE_SYNC_OUT(); return; L_08818A24: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_17); - aot_gpr_16 = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); aot_gpr_17 = (aot_gpr_4 | 0u); ctx.gpr[8] = (aot_gpr_29 + static_cast(4)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[31]); - ctx.gpr[31] = (0x08818A48u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); + aot_gpr_31 = (0x08818A48u); ctx.gpr[7] = (aot_gpr_29 | 0u); goto L_08818B84; L_08818A48: @@ -1939,13 +1940,13 @@ L_08818A48: } L_08818A50: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); - ctx.gpr[7] = (aot_gpr_16 << 5u); - ctx.gpr[8] = (aot_gpr_16 << 2u); + ctx.gpr[7] = (ctx.gpr[16] << 5u); + ctx.gpr[8] = (ctx.gpr[16] << 2u); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - aot_gpr_16 = (ctx.gpr[7] - ctx.gpr[8]); + ctx.gpr[16] = (ctx.gpr[7] - ctx.gpr[8]); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); { const bool branch_taken = aot_gpr_6 == 0u; - aot_gpr_16 = (aot_gpr_17 + aot_gpr_16); + ctx.gpr[16] = (aot_gpr_17 + ctx.gpr[16]); if (branch_taken) { goto L_08818A7C; } @@ -1961,25 +1962,25 @@ L_08818A70: goto L_08818A7C; } L_08818A7C: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(260), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(260), aot_gpr_4); goto L_08818A80; L_08818A80: - ctx.gpr[31] = (0x08818A88u); + aot_gpr_31 = (0x08818A88u); aot_gpr_4 = (aot_gpr_17 | 0u); goto L_0881980C; L_08818A88: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(264))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(264))); aot_gpr_4 = (aot_gpr_4 + static_cast(-1)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(264), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(264), aot_gpr_4); goto L_08818A94; L_08818A94: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(8), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; - ctx.gpr[31] = aot_run_words[2]; + aot_gpr_31 = aot_run_words[2]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -1987,18 +1988,18 @@ L_08818A94: AOT_REGCACHE_SYNC_OUT(); return; L_08818AA8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, ctx.gpr[18]}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[16], aot_gpr_17, ctx.gpr[18]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } ctx.gpr[18] = (0u | 0u); aot_gpr_17 = (aot_gpr_4 | 0u); - aot_gpr_16 = (aot_gpr_5 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[31]); + ctx.gpr[16] = (aot_gpr_5 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); goto L_08818AC8; L_08818AC8: aot_gpr_4 = (aot_gpr_17 | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); - ctx.gpr[31] = (0x08818AD8u); - aot_gpr_6 = (aot_gpr_16 | 0u); + aot_gpr_31 = (0x08818AD8u); + aot_gpr_6 = (ctx.gpr[16] | 0u); goto L_08818A24; L_08818AD8: ctx.gpr[18] = (ctx.gpr[18] + static_cast(1)); @@ -2013,12 +2014,12 @@ L_08818AD8: L_08818AE8: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; - ctx.gpr[31] = aot_run_words[3]; + aot_gpr_31 = aot_run_words[3]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -2106,7 +2107,7 @@ L_08818B78: ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(4))); goto L_08818B7C; L_08818B7C: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; // nop local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -2157,7 +2158,7 @@ L_08818BC8: ctx.gpr[2] = (0u | 1u); goto L_08818BCC; L_08818BCC: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; // nop local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -2172,11 +2173,11 @@ L_08818BD4: aot_gpr_17 = (aot_gpr_4 + aot_gpr_17); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(260))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - { const std::uint32_t aot_run_words[6]{ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[31]}; + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + { const std::uint32_t aot_run_words[6]{ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(12), aot_run_words); } { const bool branch_taken = ctx.gpr[18] == 0u; - aot_gpr_16 = (aot_gpr_6 | 0u); + ctx.gpr[16] = (aot_gpr_6 | 0u); if (branch_taken) { goto L_08818CE8; } @@ -2203,9 +2204,9 @@ L_08818C2C: goto L_08818C48; } L_08818C48: - ctx.gpr[31] = (0x08818C50u); + aot_gpr_31 = (0x08818C50u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08818C50u) goto L_08818C50; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08818C50u) goto L_08818C50; AOT_REGCACHE_SYNC_OUT(); return; L_08818C50: aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(460))); @@ -2255,7 +2256,7 @@ L_08818C80: goto L_08818C8C; } L_08818C8C: - { const bool branch_taken = aot_gpr_16 != ctx.gpr[23]; + { const bool branch_taken = ctx.gpr[16] != ctx.gpr[23]; aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(460), aot_gpr_6); if (branch_taken) { goto L_08818CD0; @@ -2263,7 +2264,7 @@ L_08818C8C: goto L_08818C94; } L_08818C94: - ctx.gpr[31] = (0x08818C9Cu); + aot_gpr_31 = (0x08818C9Cu); aot_gpr_4 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 195u, 0x08910B38u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08818C9Cu) goto L_08818C9C; AOT_REGCACHE_SYNC_OUT(); return; @@ -2278,8 +2279,8 @@ L_08818C9C: L_08818CA4: aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(1152))); aot_gpr_4 = (ctx.gpr[19] | 0u); - ctx.gpr[31] = (0x08818CB4u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_31 = (0x08818CB4u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0178_entry, 178u, 482u, 0x08ACD698u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08818CB4u) goto L_08818CB4; AOT_REGCACHE_SYNC_OUT(); return; L_08818CB4: @@ -2292,7 +2293,7 @@ L_08818CB4: } L_08818CBC: aot_gpr_4 = (ctx.gpr[19] | 0u); - ctx.gpr[31] = (0x08818CC8u); + aot_gpr_31 = (0x08818CC8u); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0178_entry, 178u, 442u, 0x08ACD4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08818CC8u) goto L_08818CC8; AOT_REGCACHE_SYNC_OUT(); return; @@ -2306,8 +2307,8 @@ L_08818CC8: } L_08818CD0: aot_gpr_4 = (ctx.gpr[19] | 0u); - ctx.gpr[31] = (0x08818CDCu); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_31 = (0x08818CDCu); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0178_entry, 178u, 442u, 0x08ACD4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08818CDCu) goto L_08818CDC; AOT_REGCACHE_SYNC_OUT(); return; L_08818CDC: @@ -2323,7 +2324,7 @@ L_08818CE8: aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(285), static_cast(aot_gpr_4)); { std::uint32_t aot_run_words[9]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -2331,9 +2332,9 @@ L_08818CE8: ctx.gpr[21] = aot_run_words[5]; ctx.gpr[22] = aot_run_words[6]; ctx.gpr[23] = aot_run_words[7]; - ctx.gpr[31] = aot_run_words[8]; + aot_gpr_31 = aot_run_words[8]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(48)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -2348,10 +2349,10 @@ L_08818D20: ctx.gpr[18] = (aot_gpr_4 + ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[19]); ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(260))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_6 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_6 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - { const std::uint32_t aot_run_words[5]{ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[5]{ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(16), aot_run_words); } { const bool branch_taken = ctx.gpr[19] == 0u; aot_gpr_17 = (ctx.gpr[7] | 0u); @@ -2380,9 +2381,9 @@ L_08818D78: goto L_08818D94; } L_08818D94: - ctx.gpr[31] = (0x08818D9Cu); + aot_gpr_31 = (0x08818D9Cu); aot_gpr_4 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08818D9Cu) goto L_08818D9C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08818D9Cu) goto L_08818D9C; AOT_REGCACHE_SYNC_OUT(); return; L_08818D9C: aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(460))); @@ -2434,8 +2435,8 @@ L_08818DCC: L_08818DD8: aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(460), aot_gpr_6); aot_gpr_4 = (ctx.gpr[20] | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08818DECu); + aot_gpr_5 = (ctx.gpr[16] | 0u); + aot_gpr_31 = (0x08818DECu); aot_gpr_6 = (aot_gpr_17 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0178_entry, 178u, 482u, 0x08ACD698u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08818DECu) goto L_08818DEC; AOT_REGCACHE_SYNC_OUT(); return; @@ -2452,7 +2453,7 @@ L_08818DF8: aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(285), static_cast(aot_gpr_4)); { std::uint32_t aot_run_words[9]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -2460,9 +2461,9 @@ L_08818DF8: ctx.gpr[21] = aot_run_words[5]; ctx.gpr[22] = aot_run_words[6]; ctx.gpr[23] = aot_run_words[7]; - ctx.gpr[31] = aot_run_words[8]; + aot_gpr_31 = aot_run_words[8]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(48)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -2479,12 +2480,12 @@ L_08818E30: ctx.gpr[22] = (aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast(260))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_17); aot_gpr_17 = (aot_gpr_6 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[16]); { const std::uint32_t aot_run_words[4]{ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(24), aot_run_words); } - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), aot_gpr_31); { const bool branch_taken = ctx.gpr[22] == 0u; - aot_gpr_16 = (ctx.gpr[7] | 0u); + ctx.gpr[16] = (ctx.gpr[7] | 0u); if (branch_taken) { goto L_08818F24; } @@ -2511,9 +2512,9 @@ L_08818E88: } L_08818EA4: ctx.gpr[21] = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(4))); - ctx.gpr[31] = (0x08818EB0u); + aot_gpr_31 = (0x08818EB0u); aot_gpr_4 = (ctx.gpr[21] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08818EB0u) goto L_08818EB0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08818EB0u) goto L_08818EB0; AOT_REGCACHE_SYNC_OUT(); return; L_08818EB0: { const bool branch_taken = ctx.gpr[2] != 0u; @@ -2568,7 +2569,7 @@ L_08818EF4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(460))); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[18]); aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast(460), aot_gpr_4); - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -2583,7 +2584,7 @@ L_08818EF4: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x08818F18u); + aot_gpr_31 = (0x08818F18u); aot_gpr_6 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0178_entry, 178u, 661u, 0x08ACDF58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08818F18u) goto L_08818F18; AOT_REGCACHE_SYNC_OUT(); return; @@ -2600,7 +2601,7 @@ L_08818F24: aot_mem.aot_direct_store8(ctx.gpr[23] + static_cast(285), static_cast(aot_gpr_4)); { std::uint32_t aot_run_words[9]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -2608,9 +2609,9 @@ L_08818F24: ctx.gpr[21] = aot_run_words[5]; ctx.gpr[22] = aot_run_words[6]; ctx.gpr[23] = aot_run_words[7]; - ctx.gpr[31] = aot_run_words[8]; + aot_gpr_31 = aot_run_words[8]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(64)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -2629,12 +2630,12 @@ L_08818F5C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_17); ctx.fpr[20] = std::bit_cast(std::bit_cast(aot_fpr_12)); aot_gpr_17 = (aot_gpr_6 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[16]); { const std::uint32_t aot_run_words[4]{ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(28), aot_run_words); } - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), aot_gpr_31); { const bool branch_taken = ctx.gpr[22] == 0u; - aot_gpr_16 = (ctx.gpr[7] | 0u); + ctx.gpr[16] = (ctx.gpr[7] | 0u); if (branch_taken) { goto L_08819058; } @@ -2661,9 +2662,9 @@ L_08818FBC: } L_08818FD8: ctx.gpr[21] = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(4))); - ctx.gpr[31] = (0x08818FE4u); + aot_gpr_31 = (0x08818FE4u); aot_gpr_4 = (ctx.gpr[21] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08818FE4u) goto L_08818FE4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08818FE4u) goto L_08818FE4; AOT_REGCACHE_SYNC_OUT(); return; L_08818FE4: { const bool branch_taken = ctx.gpr[2] != 0u; @@ -2717,7 +2718,7 @@ L_08819024: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(460))); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[18]); aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast(460), aot_gpr_4); - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -2733,7 +2734,7 @@ L_08819024: aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_5 = (aot_gpr_17 | 0u); aot_gpr_6 = (aot_gpr_29 | 0u); - ctx.gpr[31] = (0x0881904Cu); + aot_gpr_31 = (0x0881904Cu); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0178_entry, 178u, 736u, 0x08ACE418u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881904Cu) goto L_0881904C; AOT_REGCACHE_SYNC_OUT(); return; @@ -2751,7 +2752,7 @@ L_08819058: { std::uint32_t aot_run_words[10]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); ctx.fpr[20] = std::bit_cast(aot_run_words[0]); - aot_gpr_16 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[1]; aot_gpr_17 = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; ctx.gpr[19] = aot_run_words[4]; @@ -2759,9 +2760,9 @@ L_08819058: ctx.gpr[21] = aot_run_words[6]; ctx.gpr[22] = aot_run_words[7]; ctx.gpr[23] = aot_run_words[8]; - ctx.gpr[31] = aot_run_words[9]; + aot_gpr_31 = aot_run_words[9]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(64)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -2782,11 +2783,11 @@ L_08819094: ctx.gpr[20] = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(260))); aot_gpr_17 = (static_cast(static_cast(aot_gpr_17) >> 16u)); ctx.gpr[18] = (static_cast(static_cast(ctx.gpr[18]) >> 16u)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - { const std::uint32_t aot_run_words[5]{ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], ctx.gpr[31]}; + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + { const std::uint32_t aot_run_words[5]{ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(20), aot_run_words); } { const bool branch_taken = ctx.gpr[20] == 0u; - aot_gpr_16 = (aot_gpr_6 | 0u); + ctx.gpr[16] = (aot_gpr_6 | 0u); if (branch_taken) { goto L_08819180; } @@ -2812,9 +2813,9 @@ L_088190FC: goto L_08819118; } L_08819118: - ctx.gpr[31] = (0x08819120u); + aot_gpr_31 = (0x08819120u); aot_gpr_4 = (ctx.gpr[21] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08819120u) goto L_08819120; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08819120u) goto L_08819120; AOT_REGCACHE_SYNC_OUT(); return; L_08819120: aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(460))); @@ -2866,9 +2867,9 @@ L_08819150: L_0881915C: aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast(460), aot_gpr_6); aot_gpr_4 = (ctx.gpr[21] | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_6 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x08819174u); + aot_gpr_31 = (0x08819174u); ctx.gpr[7] = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 983u, 0x08AC7A58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08819174u) goto L_08819174; AOT_REGCACHE_SYNC_OUT(); return; @@ -2885,7 +2886,7 @@ L_08819180: aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(285), static_cast(aot_gpr_4)); { std::uint32_t aot_run_words[10]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -2894,9 +2895,9 @@ L_08819180: ctx.gpr[22] = aot_run_words[6]; ctx.gpr[23] = aot_run_words[7]; ctx.gpr[30] = aot_run_words[8]; - ctx.gpr[31] = aot_run_words[9]; + aot_gpr_31 = aot_run_words[9]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(48)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -2910,18 +2911,18 @@ L_088191BC: aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(260))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); { const bool branch_taken = aot_gpr_17 == 0u; - aot_gpr_16 = (aot_gpr_6 << 24u); + ctx.gpr[16] = (aot_gpr_6 << 24u); if (branch_taken) { goto L_08819230; } goto L_088191EC; } L_088191EC: - aot_gpr_16 = (static_cast(static_cast(aot_gpr_16) >> 24u)); + ctx.gpr[16] = (static_cast(static_cast(ctx.gpr[16]) >> 24u)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); goto L_088191F4; L_088191F4: @@ -2938,14 +2939,14 @@ L_088191F4: goto L_08819210; } L_08819210: - ctx.gpr[31] = (0x08819218u); + aot_gpr_31 = (0x08819218u); ctx.gpr[18] = (aot_gpr_4 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 899u, 0x0890B900u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08819218u) goto L_08819218; AOT_REGCACHE_SYNC_OUT(); return; L_08819218: aot_gpr_4 = (ctx.gpr[18] | 0u); - ctx.gpr[31] = (0x08819224u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_31 = (0x08819224u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 631u, 0x0890A728u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08819224u) goto L_08819224; AOT_REGCACHE_SYNC_OUT(); return; L_08819224: @@ -2958,12 +2959,12 @@ L_08819224: L_08819230: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; - ctx.gpr[31] = aot_run_words[3]; + aot_gpr_31 = aot_run_words[3]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -2978,10 +2979,10 @@ L_08819248: ctx.gpr[18] = (aot_gpr_4 + ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); aot_gpr_17 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(260))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); { const bool branch_taken = aot_gpr_17 == 0u; - aot_gpr_16 = (0u + static_cast(-257)); + ctx.gpr[16] = (0u + static_cast(-257)); if (branch_taken) { goto L_088192B4; } @@ -3005,8 +3006,8 @@ L_0881927C: } L_08819298: aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(460))); - aot_gpr_6 = (aot_gpr_6 & aot_gpr_16); - ctx.gpr[31] = (0x088192A8u); + aot_gpr_6 = (aot_gpr_6 & ctx.gpr[16]); + aot_gpr_31 = (0x088192A8u); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(460), aot_gpr_6); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1022u, 0x08AC7C60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088192A8u) goto L_088192A8; AOT_REGCACHE_SYNC_OUT(); return; @@ -3025,12 +3026,12 @@ L_088192B4: aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(276), 0u); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; - ctx.gpr[31] = aot_run_words[3]; + aot_gpr_31 = aot_run_words[3]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -3045,10 +3046,10 @@ L_088192E0: ctx.gpr[18] = (aot_gpr_4 + ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[19]); ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(260))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_6 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_6 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - { const std::uint32_t aot_run_words[5]{ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[5]{ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(16), aot_run_words); } { const bool branch_taken = ctx.gpr[19] == 0u; aot_gpr_17 = (ctx.gpr[7] | 0u); @@ -3077,9 +3078,9 @@ L_08819338: goto L_08819354; } L_08819354: - ctx.gpr[31] = (0x0881935Cu); + aot_gpr_31 = (0x0881935Cu); aot_gpr_4 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881935Cu) goto L_0881935C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881935Cu) goto L_0881935C; AOT_REGCACHE_SYNC_OUT(); return; L_0881935C: aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(460))); @@ -3132,13 +3133,13 @@ L_08819398: aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(460), aot_gpr_6); aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_5 = (0u | 15u); - ctx.gpr[31] = (0x088193ACu); - aot_gpr_6 = (aot_gpr_16 | 0u); + aot_gpr_31 = (0x088193ACu); + aot_gpr_6 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0178_entry, 178u, 482u, 0x08ACD698u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088193ACu) goto L_088193AC; AOT_REGCACHE_SYNC_OUT(); return; L_088193AC: aot_gpr_4 = (ctx.gpr[20] | 0u); - ctx.gpr[31] = (0x088193B8u); + aot_gpr_31 = (0x088193B8u); aot_gpr_5 = (aot_gpr_17 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 391u, 0x08AC5410u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088193B8u) goto L_088193B8; AOT_REGCACHE_SYNC_OUT(); return; @@ -3155,7 +3156,7 @@ L_088193C4: aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(285), static_cast(aot_gpr_4)); { std::uint32_t aot_run_words[9]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -3163,9 +3164,9 @@ L_088193C4: ctx.gpr[21] = aot_run_words[5]; ctx.gpr[22] = aot_run_words[6]; ctx.gpr[23] = aot_run_words[7]; - ctx.gpr[31] = aot_run_words[8]; + aot_gpr_31 = aot_run_words[8]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(48)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -3183,12 +3184,12 @@ L_088193FC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_17); ctx.fpr[20] = std::bit_cast(std::bit_cast(aot_fpr_12)); aot_gpr_17 = (aot_gpr_6 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[16]); { const std::uint32_t aot_run_words[4]{ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(12), aot_run_words); } - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), aot_gpr_31); { const bool branch_taken = ctx.gpr[22] == 0u; - aot_gpr_16 = (ctx.gpr[7] | 0u); + ctx.gpr[16] = (ctx.gpr[7] | 0u); if (branch_taken) { goto L_088194F0; } @@ -3224,7 +3225,7 @@ L_08819478: goto L_08819484; } L_08819484: - ctx.gpr[31] = (0x0881948Cu); + aot_gpr_31 = (0x0881948Cu); aot_gpr_4 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 620u, 0x08906DE4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881948Cu) goto L_0881948C; AOT_REGCACHE_SYNC_OUT(); return; @@ -3246,9 +3247,9 @@ L_08819494: goto L_088194A0; } L_088194A0: - ctx.gpr[31] = (0x088194A8u); + aot_gpr_31 = (0x088194A8u); aot_gpr_4 = (ctx.gpr[21] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088194A8u) goto L_088194A8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088194A8u) goto L_088194A8; AOT_REGCACHE_SYNC_OUT(); return; L_088194A8: { const bool branch_taken = ctx.gpr[2] != 0u; @@ -3259,13 +3260,13 @@ L_088194A8: goto L_088194B0; } L_088194B0: - ctx.gpr[31] = (0x088194B8u); + aot_gpr_31 = (0x088194B8u); aot_gpr_4 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 899u, 0x0890B900u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088194B8u) goto L_088194B8; AOT_REGCACHE_SYNC_OUT(); return; L_088194B8: aot_gpr_4 = (ctx.gpr[21] | 0u); - ctx.gpr[31] = (0x088194C4u); + aot_gpr_31 = (0x088194C4u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 885u, 0x0890FF54u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088194C4u) goto L_088194C4; AOT_REGCACHE_SYNC_OUT(); return; @@ -3273,10 +3274,10 @@ L_088194C4: aot_gpr_4 = (ctx.gpr[21] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_gpr_5 = (aot_gpr_17 | 0u); - aot_gpr_6 = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 0u); - ctx.gpr[31] = (0x088194E4u); + aot_gpr_31 = (0x088194E4u); ctx.gpr[9] = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0070_entry, 70u, 152u, 0x0891CA20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088194E4u) goto L_088194E4; AOT_REGCACHE_SYNC_OUT(); return; @@ -3291,16 +3292,16 @@ L_088194F0: { std::uint32_t aot_run_words[9]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); ctx.fpr[20] = std::bit_cast(aot_run_words[0]); - aot_gpr_16 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[1]; aot_gpr_17 = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; ctx.gpr[19] = aot_run_words[4]; ctx.gpr[20] = aot_run_words[5]; ctx.gpr[21] = aot_run_words[6]; ctx.gpr[22] = aot_run_words[7]; - ctx.gpr[31] = aot_run_words[8]; + aot_gpr_31 = aot_run_words[8]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(48)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -3314,11 +3315,11 @@ L_0881951C: aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(260))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); { const bool branch_taken = ctx.gpr[18] == 0u; - aot_gpr_16 = (0u | 11u); + ctx.gpr[16] = (0u | 11u); if (branch_taken) { goto L_088195A4; } @@ -3342,7 +3343,7 @@ L_08819550: } L_0881956C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(2228))); - { const bool branch_taken = aot_gpr_4 != aot_gpr_16; + { const bool branch_taken = aot_gpr_4 != ctx.gpr[16]; // nop if (branch_taken) { goto L_08819598; @@ -3350,9 +3351,9 @@ L_0881956C: goto L_08819578; } L_08819578: - ctx.gpr[31] = (0x08819580u); + aot_gpr_31 = (0x08819580u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08819580u) goto L_08819580; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08819580u) goto L_08819580; AOT_REGCACHE_SYNC_OUT(); return; L_08819580: { const bool branch_taken = ctx.gpr[2] != 0u; @@ -3363,12 +3364,12 @@ L_08819580: goto L_08819588; } L_08819588: - ctx.gpr[31] = (0x08819590u); + aot_gpr_31 = (0x08819590u); aot_gpr_4 = (aot_gpr_17 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0129_entry, 129u, 78u, 0x08A08AE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08819590u) goto L_08819590; AOT_REGCACHE_SYNC_OUT(); return; L_08819590: - ctx.gpr[31] = (0x08819598u); + aot_gpr_31 = (0x08819598u); aot_gpr_4 = (aot_gpr_17 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 829u, 0x0890B488u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08819598u) goto L_08819598; AOT_REGCACHE_SYNC_OUT(); return; @@ -3382,12 +3383,12 @@ L_08819598: L_088195A4: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; - ctx.gpr[31] = aot_run_words[3]; + aot_gpr_31 = aot_run_words[3]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -3404,7 +3405,7 @@ L_088195BC: aot_gpr_6 = (0u + static_cast(-2)); aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(285), static_cast(aot_gpr_5)); - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(280), std::bit_cast(aot_fpr_12)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -3413,7 +3414,7 @@ L_088195BC: L_088195EC: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7764))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); aot_gpr_5 = (aot_gpr_5 & 7u); if (aot_gpr_5 == 0u) { aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(0u)); @@ -3475,12 +3476,12 @@ L_08819668: ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(284)))))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(280))); aot_gpr_5 = (aot_gpr_6 | 0u); - ctx.gpr[31] = (0x0881967Cu); + aot_gpr_31 = (0x0881967Cu); aot_gpr_6 = (ctx.gpr[7] | 0u); goto L_08819828; L_0881967C: - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -3544,7 +3545,7 @@ L_088196E8: ctx.gpr[2] = (0u | 1u); goto L_088196EC; L_088196EC: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; // nop local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -3552,15 +3553,15 @@ L_088196EC: AOT_REGCACHE_SYNC_OUT(); return; L_088196F4: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, ctx.gpr[18]}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[16], aot_gpr_17, ctx.gpr[18]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } ctx.gpr[18] = (aot_gpr_5 | 0u); - aot_gpr_16 = (ctx.gpr[7] | 0u); + ctx.gpr[16] = (ctx.gpr[7] | 0u); aot_gpr_17 = (aot_gpr_6 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[31]); - ctx.gpr[31] = (0x0881971Cu); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); + aot_gpr_31 = (0x0881971Cu); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881971Cu) goto L_0881971C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881971Cu) goto L_0881971C; AOT_REGCACHE_SYNC_OUT(); return; L_0881971C: { const bool branch_taken = ctx.gpr[2] != 0u; @@ -3571,16 +3572,16 @@ L_0881971C: goto L_08819724; } L_08819724: - aot_gpr_4 = (static_cast(aot_gpr_16) < 2 ? 1u : 0u); + aot_gpr_4 = (static_cast(ctx.gpr[16]) < 2 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_4 = (static_cast(aot_gpr_16) < 3 ? 1u : 0u); + aot_gpr_4 = (static_cast(ctx.gpr[16]) < 3 ? 1u : 0u); if (branch_taken) { goto L_08819748; } goto L_08819730; } L_08819730: - { const bool branch_taken = static_cast(aot_gpr_16) <= 0; + { const bool branch_taken = static_cast(ctx.gpr[16]) <= 0; // nop if (branch_taken) { goto L_088197C0; @@ -3630,7 +3631,7 @@ L_08819758: goto L_08819768; } L_08819768: - ctx.gpr[31] = (0x08819770u); + aot_gpr_31 = (0x08819770u); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 3u, 0x08910020u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08819770u) goto L_08819770; AOT_REGCACHE_SYNC_OUT(); return; @@ -3645,7 +3646,7 @@ L_08819770: L_08819778: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (0u | 8u); - ctx.gpr[31] = (0x08819788u); + aot_gpr_31 = (0x08819788u); aot_gpr_6 = (aot_gpr_17 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0178_entry, 178u, 482u, 0x08ACD698u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08819788u) goto L_08819788; AOT_REGCACHE_SYNC_OUT(); return; @@ -3668,7 +3669,7 @@ L_08819790: goto L_088197A0; } L_088197A0: - ctx.gpr[31] = (0x088197A8u); + aot_gpr_31 = (0x088197A8u); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 3u, 0x08910020u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088197A8u) goto L_088197A8; AOT_REGCACHE_SYNC_OUT(); return; @@ -3683,19 +3684,19 @@ L_088197A8: L_088197B0: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (0u | 12u); - ctx.gpr[31] = (0x088197C0u); + aot_gpr_31 = (0x088197C0u); aot_gpr_6 = (aot_gpr_17 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0178_entry, 178u, 482u, 0x08ACD698u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088197C0u) goto L_088197C0; AOT_REGCACHE_SYNC_OUT(); return; L_088197C0: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; - ctx.gpr[31] = aot_run_words[3]; + aot_gpr_31 = aot_run_words[3]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -3725,7 +3726,7 @@ L_088197EC: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(376), aot_gpr_5); goto L_08819804; L_08819804: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; // nop local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -3737,7 +3738,7 @@ L_0881980C: aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(376))); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(372), aot_gpr_5); aot_gpr_5 = (aot_gpr_6 + static_cast(1)); - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(376), aot_gpr_5); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -3745,9 +3746,9 @@ L_0881980C: AOT_REGCACHE_SYNC_OUT(); return; L_08819828: aot_gpr_29 = (aot_gpr_29 + static_cast(-400)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(360), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(360), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(368), ctx.gpr[18]); - aot_gpr_16 = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); ctx.gpr[18] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(356), std::bit_cast(ctx.fpr[20])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(392), ctx.gpr[30]); @@ -3758,19 +3759,19 @@ L_08819828: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(364), aot_gpr_17); { const std::uint32_t aot_run_words[5]{ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(372), aot_run_words); } - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(396), ctx.gpr[31]); - ctx.gpr[31] = (0x08819878u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(396), aot_gpr_31); + aot_gpr_31 = (0x08819878u); aot_gpr_6 = (0u | 256u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08819878u) goto L_08819878; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08819878u) goto L_08819878; AOT_REGCACHE_SYNC_OUT(); return; L_08819878: - aot_gpr_4 = (aot_gpr_16 << 5u); - aot_gpr_5 = (aot_gpr_16 << 2u); + aot_gpr_4 = (ctx.gpr[16] << 5u); + aot_gpr_5 = (ctx.gpr[16] << 2u); ctx.gpr[22] = (aot_gpr_4 - aot_gpr_5); ctx.gpr[22] = (ctx.gpr[18] + ctx.gpr[22]); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(260))); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_16 = (0u | 255u); + ctx.gpr[16] = (0u | 255u); if (branch_taken) { goto L_08819A5C; } @@ -4044,9 +4045,9 @@ L_08819A50: L_08819A5C: aot_gpr_4 = (aot_gpr_29 + static_cast(256)); aot_gpr_5 = (0u | 255u); - ctx.gpr[31] = (0x08819A6Cu); + aot_gpr_31 = (0x08819A6Cu); aot_gpr_6 = (0u | 5u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08819A6Cu) goto L_08819A6C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08819A6Cu) goto L_08819A6C; AOT_REGCACHE_SYNC_OUT(); return; L_08819A6C: aot_gpr_5 = (0u | 0u); @@ -4086,7 +4087,7 @@ L_08819AA4: L_08819AB0: ctx.gpr[19] = (aot_gpr_29 + aot_gpr_17); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[19] + static_cast(256))); - { const bool branch_taken = aot_gpr_4 == aot_gpr_16; + { const bool branch_taken = aot_gpr_4 == ctx.gpr[16]; // nop if (branch_taken) { goto L_08819BC4; @@ -4208,14 +4209,14 @@ L_08819B88: aot_gpr_4 = (aot_gpr_29 + aot_gpr_4); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(276))); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(3), static_cast(ctx.gpr[23])); - ctx.gpr[31] = (0x08819BB0u); + aot_gpr_31 = (0x08819BB0u); aot_gpr_4 = (ctx.gpr[18] | 0u); goto L_088196F4; L_08819BB0: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[20] + static_cast(2)))))); aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(256), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[19] + static_cast(256))); - { const bool branch_taken = aot_gpr_4 != aot_gpr_16; + { const bool branch_taken = aot_gpr_4 != ctx.gpr[16]; // nop if (branch_taken) { goto L_08819AC0; @@ -4233,8 +4234,8 @@ L_08819BC4: goto L_08819BD4; } L_08819BD4: - aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(260))); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(260))); + { const bool branch_taken = ctx.gpr[16] == 0u; aot_gpr_4 = (ctx.gpr[30] << 5u); if (branch_taken) { goto L_08819DA0; @@ -4254,7 +4255,7 @@ L_08819BE0: ctx.gpr[30] = (ctx.gpr[18] + ctx.gpr[30]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(352), aot_gpr_5); ctx.gpr[23] = (0u | 55u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); goto L_08819C14; L_08819C14: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); @@ -4270,7 +4271,7 @@ L_08819C14: goto L_08819C30; } L_08819C30: - ctx.gpr[21] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + ctx.gpr[21] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(2228))); { const bool branch_taken = aot_gpr_5 == ctx.gpr[20]; aot_gpr_4 = (0u | 0u); @@ -4301,7 +4302,7 @@ L_08819C54: goto L_08819C5C; } L_08819C5C: - if (aot_gpr_16 != 0u) { + if (ctx.gpr[16] != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(352))); goto L_08819C6C; } @@ -4315,7 +4316,7 @@ L_08819C64: goto L_08819C6C; } L_08819C6C: - aot_gpr_4 = (aot_gpr_16 - aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] - aot_gpr_4); aot_gpr_5 = (static_cast(static_cast(aot_gpr_4) >> 3u)); aot_gpr_5 = (aot_gpr_5 >> 29u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); @@ -4344,7 +4345,7 @@ L_08819C94: } L_08819CA4: aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); { const bool branch_taken = aot_gpr_6 == ctx.gpr[7]; // nop if (branch_taken) { @@ -4398,7 +4399,7 @@ L_08819CF8: goto L_08819D00; } L_08819D00: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_6 = (aot_gpr_6 + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); @@ -4471,7 +4472,7 @@ L_08819D5C: aot_gpr_6 = (aot_gpr_5 | 0u); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(276))); aot_gpr_4 = (ctx.gpr[18] | 0u); - ctx.gpr[31] = (0x08819D70u); + aot_gpr_31 = (0x08819D70u); aot_gpr_5 = (ctx.gpr[21] | 0u); goto L_088196F4; L_08819D70: @@ -4483,7 +4484,7 @@ L_08819D70: goto L_08819D78; } L_08819D78: - ctx.gpr[31] = (0x08819D80u); + aot_gpr_31 = (0x08819D80u); aot_gpr_4 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1022u, 0x08AC7C60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08819D80u) goto L_08819D80; AOT_REGCACHE_SYNC_OUT(); return; @@ -4497,14 +4498,14 @@ L_08819D80: goto L_08819D8C; } L_08819D8C: - ctx.gpr[31] = (0x08819D94u); + aot_gpr_31 = (0x08819D94u); aot_gpr_4 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 282u, 0x0890905Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08819D94u) goto L_08819D94; AOT_REGCACHE_SYNC_OUT(); return; L_08819D94: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - if (aot_gpr_16 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); + if (ctx.gpr[16] != 0u) { + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); goto L_08819C14; } goto L_08819DA0; @@ -4512,7 +4513,7 @@ L_08819DA0: { std::uint32_t aot_run_words[11]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(356), aot_run_words); ctx.fpr[20] = std::bit_cast(aot_run_words[0]); - aot_gpr_16 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[1]; aot_gpr_17 = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; ctx.gpr[19] = aot_run_words[4]; @@ -4521,9 +4522,9 @@ L_08819DA0: ctx.gpr[22] = aot_run_words[7]; ctx.gpr[23] = aot_run_words[8]; ctx.gpr[30] = aot_run_words[9]; - ctx.gpr[31] = aot_run_words[10]; + aot_gpr_31 = aot_run_words[10]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(400)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -4531,33 +4532,33 @@ L_08819DA0: AOT_REGCACHE_SYNC_OUT(); return; L_08819DD4: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_gpr_17 = (aot_gpr_6 | 0u); - aot_gpr_4 = (aot_gpr_16 + static_cast(4)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[31]); - ctx.gpr[31] = (0x08819DFCu); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), aot_gpr_5); + aot_gpr_4 = (ctx.gpr[16] + static_cast(4)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); + aot_gpr_31 = (0x08819DFCu); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), aot_gpr_5); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 473u, 0x08B65EA0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08819DFCu) goto L_08819DFC; AOT_REGCACHE_SYNC_OUT(); return; L_08819DFC: - ctx.gpr[31] = (0x08819E04u); - aot_gpr_4 = (aot_gpr_16 + static_cast(24)); + aot_gpr_31 = (0x08819E04u); + aot_gpr_4 = (ctx.gpr[16] + static_cast(24)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 473u, 0x08B65EA0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08819E04u) goto L_08819E04; AOT_REGCACHE_SYNC_OUT(); return; L_08819E04: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(44), aot_gpr_17); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(48), 0u); - ctx.gpr[2] = (aot_gpr_16 | 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(44), aot_gpr_17); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(48), 0u); + ctx.gpr[2] = (ctx.gpr[16] | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; - ctx.gpr[31] = aot_run_words[2]; + aot_gpr_31 = aot_run_words[2]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -4565,21 +4566,21 @@ L_08819E04: AOT_REGCACHE_SYNC_OUT(); return; L_08819E24: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_17); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[31]); - ctx.gpr[31] = (0x08819E40u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); + aot_gpr_31 = (0x08819E40u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_5); goto L_08819EE8; L_08819E40: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08819E50u); + aot_gpr_4 = (ctx.gpr[16] | 0u); + aot_gpr_31 = (0x08819E50u); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(4), 0u); goto L_0881A0B4; L_08819E50: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_17 = (ctx.gpr[2] | 0u); aot_gpr_5 = (aot_gpr_5 ^ aot_gpr_17); aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); @@ -4606,7 +4607,7 @@ L_08819E7C: aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(4), std::bit_cast(aot_fpr_12)); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0))); aot_mem.aot_direct_store16(aot_gpr_17 + static_cast(0), static_cast(aot_gpr_5)); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(44))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(44))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); ctx.gpr[7] = (aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(0))); aot_gpr_6 = (aot_gpr_6 + static_cast(16)); @@ -4616,7 +4617,7 @@ L_08819E7C: ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(4))); aot_gpr_5 = (ctx.gpr[7] | 0u); jump_target = ctx.gpr[8]; - ctx.gpr[31] = (0x08819EB8u); + aot_gpr_31 = (0x08819EB8u); aot_gpr_6 = (ctx.gpr[9] | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08819EB8u) goto L_08819EB8; @@ -4624,9 +4625,9 @@ L_08819E7C: L_08819EB8: aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(8), std::bit_cast(ctx.fpr[0])); aot_mem.aot_direct_store16(aot_gpr_17 + static_cast(2), static_cast(0u)); - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - aot_gpr_4 = (aot_gpr_16 + static_cast(4)); - ctx.gpr[31] = (0x08819ED0u); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); + aot_gpr_4 = (ctx.gpr[16] + static_cast(4)); + aot_gpr_31 = (0x08819ED0u); aot_gpr_5 = (aot_gpr_17 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 475u, 0x08B65ED0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08819ED0u) goto L_08819ED0; AOT_REGCACHE_SYNC_OUT(); return; @@ -4636,11 +4637,11 @@ L_08819ED0: L_08819ED4: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(4), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; - ctx.gpr[31] = aot_run_words[2]; + aot_gpr_31 = aot_run_words[2]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -4648,24 +4649,24 @@ L_08819ED4: AOT_REGCACHE_SYNC_OUT(); return; L_08819EE8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[31]); - ctx.gpr[31] = (0x08819F04u); - aot_gpr_4 = (aot_gpr_16 + static_cast(4)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); + aot_gpr_31 = (0x08819F04u); + aot_gpr_4 = (ctx.gpr[16] + static_cast(4)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 499u, 0x08B660D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08819F04u) goto L_08819F04; AOT_REGCACHE_SYNC_OUT(); return; L_08819F04: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - ctx.gpr[31] = (0x08819F10u); - aot_gpr_4 = (aot_gpr_16 + static_cast(24)); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); + aot_gpr_31 = (0x08819F10u); + aot_gpr_4 = (ctx.gpr[16] + static_cast(24)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 499u, 0x08B660D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08819F10u) goto L_08819F10; AOT_REGCACHE_SYNC_OUT(); return; L_08819F10: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); - jump_target = ctx.gpr[31]; + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -4673,17 +4674,17 @@ L_08819F10: AOT_REGCACHE_SYNC_OUT(); return; L_08819F20: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_5 | 0u); - { const std::uint32_t aot_run_words[5]{aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[31]}; + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_5 | 0u); + { const std::uint32_t aot_run_words[5]{aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(4), aot_run_words); } - ctx.gpr[31] = (0x08819F48u); + aot_gpr_31 = (0x08819F48u); aot_gpr_17 = (aot_gpr_4 | 0u); goto L_08819FC4; L_08819F48: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(16), std::bit_cast(ctx.fpr[0])); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(16), std::bit_cast(ctx.fpr[0])); ctx.gpr[20] = (0u | 0u); - ctx.gpr[31] = (0x08819F58u); + aot_gpr_31 = (0x08819F58u); aot_gpr_4 = (aot_gpr_17 | 0u); goto L_0881A018; L_08819F58: @@ -4697,15 +4698,15 @@ L_08819F58: goto L_08819F68; } L_08819F68: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(8))); aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_6 = (aot_gpr_6 + ctx.gpr[18]); aot_gpr_4 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x08819F80u); + aot_gpr_31 = (0x08819F80u); aot_mem.aot_direct_store16(aot_gpr_6 + static_cast(0), static_cast(aot_gpr_5)); goto L_0881A050; L_08819F80: - ctx.gpr[31] = (0x08819F88u); + aot_gpr_31 = (0x08819F88u); aot_gpr_4 = (aot_gpr_17 | 0u); goto L_0881A018; L_08819F88: @@ -4719,21 +4720,21 @@ L_08819F88: goto L_08819F98; } L_08819F98: - ctx.gpr[31] = (0x08819FA0u); + aot_gpr_31 = (0x08819FA0u); aot_gpr_4 = (aot_gpr_17 | 0u); goto L_0881A06C; L_08819FA0: - aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(14), static_cast(ctx.gpr[20])); + aot_mem.aot_direct_store16(ctx.gpr[16] + static_cast(14), static_cast(ctx.gpr[20])); { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; - ctx.gpr[31] = aot_run_words[5]; + aot_gpr_31 = aot_run_words[5]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -4741,34 +4742,34 @@ L_08819FA0: AOT_REGCACHE_SYNC_OUT(); return; L_08819FC4: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_16 + static_cast(4)); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[31]); - ctx.gpr[31] = (0x08819FE8u); + aot_gpr_17 = (ctx.gpr[16] + static_cast(4)); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); + aot_gpr_31 = (0x08819FE8u); aot_gpr_4 = (aot_gpr_17 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 478u, 0x08B65F40u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08819FE8u) goto L_08819FE8; AOT_REGCACHE_SYNC_OUT(); return; L_08819FE8: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(48), ctx.gpr[2]); - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(48), ctx.gpr[2]); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_4 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x08819FFCu); + aot_gpr_31 = (0x08819FFCu); aot_gpr_5 = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 475u, 0x08B65ED0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08819FFCu) goto L_08819FFC; AOT_REGCACHE_SYNC_OUT(); return; L_08819FFC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(48))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(48))); ctx.fpr[0] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; - ctx.gpr[31] = aot_run_words[2]; + aot_gpr_31 = aot_run_words[2]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -4807,7 +4808,7 @@ L_0881A044: ctx.gpr[2] = (0u | 65535u); goto L_0881A048; L_0881A048: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; // nop local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -4819,14 +4820,14 @@ L_0881A050: aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(2))); aot_gpr_5 = (aot_gpr_5 << 4u); aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(48), aot_gpr_5); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0881A06C: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(48), 0u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -4834,26 +4835,26 @@ L_0881A06C: AOT_REGCACHE_SYNC_OUT(); return; L_0881A074: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[31]); - ctx.gpr[31] = (0x0881A090u); - aot_gpr_4 = (aot_gpr_16 + static_cast(4)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); + aot_gpr_31 = (0x0881A090u); + aot_gpr_4 = (ctx.gpr[16] + static_cast(4)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 473u, 0x08B65EA0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881A090u) goto L_0881A090; AOT_REGCACHE_SYNC_OUT(); return; L_0881A090: - ctx.gpr[31] = (0x0881A098u); - aot_gpr_4 = (aot_gpr_16 + static_cast(24)); + aot_gpr_31 = (0x0881A098u); + aot_gpr_4 = (ctx.gpr[16] + static_cast(24)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 473u, 0x08B65EA0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881A098u) goto L_0881A098; AOT_REGCACHE_SYNC_OUT(); return; L_0881A098: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(44), 0u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(48), 0u); - ctx.gpr[2] = (aot_gpr_16 | 0u); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); - jump_target = ctx.gpr[31]; + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(44), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(48), 0u); + ctx.gpr[2] = (ctx.gpr[16] | 0u); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -4888,7 +4889,7 @@ L_0881A0D4: ctx.gpr[2] = (aot_gpr_4 | 0u); goto L_0881A0F4; L_0881A0F4: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; // nop local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -4904,7 +4905,7 @@ L_0881A0FC: aot_gpr_6 = (aot_gpr_6 >> 28u); aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); aot_gpr_5 = (static_cast(static_cast(aot_gpr_5) >> 4u)); - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(12), static_cast(aot_gpr_5)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -4912,17 +4913,17 @@ L_0881A0FC: AOT_REGCACHE_SYNC_OUT(); return; L_0881A128: aot_gpr_29 = (aot_gpr_29 + static_cast(-208)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(156), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(156), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(160), aot_gpr_17); aot_gpr_17 = (aot_gpr_4 | 0u); - aot_gpr_16 = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(168), ctx.gpr[19]); ctx.gpr[19] = (aot_gpr_17 + static_cast(4)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(164), ctx.gpr[18]); - { const std::uint32_t aot_run_words[6]{ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[6]{ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(172), aot_run_words); } - ctx.gpr[31] = (0x0881A16Cu); + aot_gpr_31 = (0x0881A16Cu); aot_gpr_4 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 478u, 0x08B65F40u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881A16Cu) goto L_0881A16C; AOT_REGCACHE_SYNC_OUT(); return; @@ -4936,10 +4937,10 @@ L_0881A16C: goto L_0881A178; } L_0881A178: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(152), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(152), ctx.gpr[16]); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(4))); - aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(2))); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(16), std::bit_cast(aot_fpr_12)); + aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(2))); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(16), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[21] + static_cast(0))); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; aot_gpr_5 = (aot_gpr_4 | 0u); @@ -4958,7 +4959,7 @@ L_0881A194: aot_gpr_4 = (aot_gpr_4 + ctx.gpr[8]); ctx.gpr[8] = (aot_gpr_29 + static_cast(132)); jump_target = ctx.gpr[9]; - ctx.gpr[31] = (0x0881A1BCu); + aot_gpr_31 = (0x0881A1BCu); ctx.gpr[7] = (aot_gpr_29 | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881A1BCu) goto L_0881A1BC; @@ -4998,7 +4999,7 @@ L_0881A1E8: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), aot_gpr_5); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); aot_gpr_4 = (ctx.gpr[19] | 0u); - ctx.gpr[31] = (0x0881A204u); + aot_gpr_31 = (0x0881A204u); aot_gpr_5 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 475u, 0x08B65ED0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881A204u) goto L_0881A204; AOT_REGCACHE_SYNC_OUT(); return; @@ -5012,10 +5013,10 @@ L_0881A204: } L_0881A20C: aot_gpr_4 = (0u | 1u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(4), aot_gpr_4); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); aot_gpr_4 = (ctx.gpr[19] | 0u); - ctx.gpr[31] = (0x0881A224u); + aot_gpr_31 = (0x0881A224u); aot_gpr_5 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 475u, 0x08B65ED0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881A224u) goto L_0881A224; AOT_REGCACHE_SYNC_OUT(); return; @@ -5029,7 +5030,7 @@ L_0881A224: } L_0881A22C: aot_gpr_4 = (0u | 2u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(4), aot_gpr_4); { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 1u); if (branch_taken) { @@ -5044,13 +5045,13 @@ L_0881A23C: ctx.gpr[18] = (aot_gpr_29 | 0u); goto L_0881A24C; L_0881A24C: - ctx.gpr[31] = (0x0881A254u); + aot_gpr_31 = (0x0881A254u); aot_gpr_4 = (aot_gpr_17 | 0u); goto L_0881A0B4; L_0881A254: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); - aot_gpr_16 = (ctx.gpr[2] | 0u); - aot_gpr_4 = (aot_gpr_4 ^ aot_gpr_16); + ctx.gpr[16] = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_4 ^ ctx.gpr[16]); aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 == 0u; @@ -5062,17 +5063,17 @@ L_0881A254: } L_0881A270: aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(0))); - aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(0), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store16(ctx.gpr[16] + static_cast(0), static_cast(aot_gpr_4)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(4))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); - aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(0))); + aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(0))); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; aot_gpr_4 = (ctx.gpr[19] | 0u); ctx.gpr[7] = (ctx.gpr[30] | 0u); ctx.gpr[8] = (ctx.gpr[23] | 0u); ctx.gpr[9] = (ctx.gpr[22] | 0u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), std::bit_cast(aot_fpr_12)); - ctx.gpr[31] = (0x0881A2A4u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(4), std::bit_cast(aot_fpr_12)); + aot_gpr_31 = (0x0881A2A4u); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 491u, 0x08B66024u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881A2A4u) goto L_0881A2A4; AOT_REGCACHE_SYNC_OUT(); return; @@ -5098,7 +5099,7 @@ L_0881A2B4: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), aot_gpr_5); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); aot_gpr_4 = (ctx.gpr[19] | 0u); - ctx.gpr[31] = (0x0881A2D0u); + aot_gpr_31 = (0x0881A2D0u); aot_gpr_5 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 475u, 0x08B65ED0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881A2D0u) goto L_0881A2D0; AOT_REGCACHE_SYNC_OUT(); return; @@ -5112,7 +5113,7 @@ L_0881A2D0: } L_0881A2D8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(140))); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 <= aot_fpr_12)) ? 0x00800000u : 0u); // nop @@ -5125,12 +5126,12 @@ L_0881A2D8: } L_0881A2F4: aot_gpr_4 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x0881A300u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_31 = (0x0881A300u); + aot_gpr_5 = (ctx.gpr[16] | 0u); goto L_0881A0FC; L_0881A300: { const bool branch_taken = 0u == 0u; - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(128))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(128))); if (branch_taken) { goto L_0881A480; } @@ -5141,7 +5142,7 @@ L_0881A308: aot_gpr_6 = (aot_gpr_4 | 0u); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(136))); ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); - ctx.gpr[31] = (0x0881A320u); + aot_gpr_31 = (0x0881A320u); aot_gpr_4 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 505u, 0x08B66170u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881A320u) goto L_0881A320; AOT_REGCACHE_SYNC_OUT(); return; @@ -5152,36 +5153,36 @@ L_0881A320: aot_gpr_5 = (aot_gpr_5 >> 28u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 4u)); - aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(2), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store16(ctx.gpr[16] + static_cast(2), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(140))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); aot_gpr_4 = (aot_gpr_17 | 0u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(8), std::bit_cast(aot_fpr_12)); - ctx.gpr[31] = (0x0881A354u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(8), std::bit_cast(aot_fpr_12)); + aot_gpr_31 = (0x0881A354u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(140))); goto L_0881A0FC; L_0881A354: aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); aot_gpr_4 = (ctx.gpr[19] | 0u); - ctx.gpr[31] = (0x0881A364u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_31 = (0x0881A364u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 475u, 0x08B65ED0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881A364u) goto L_0881A364; AOT_REGCACHE_SYNC_OUT(); return; L_0881A364: { const bool branch_taken = 0u == 0u; - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(128))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(128))); if (branch_taken) { goto L_0881A480; } goto L_0881A36C; } L_0881A36C: - aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(0))); + aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(0))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(148))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); ctx.gpr[7] = (ctx.gpr[30] | 0u); ctx.gpr[8] = (ctx.gpr[23] | 0u); - ctx.gpr[31] = (0x0881A388u); + aot_gpr_31 = (0x0881A388u); ctx.gpr[9] = (ctx.gpr[22] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 491u, 0x08B66024u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881A388u) goto L_0881A388; AOT_REGCACHE_SYNC_OUT(); return; @@ -5193,7 +5194,7 @@ L_0881A388: goto L_0881A390; L_0881A390: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(140))); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 <= aot_fpr_12)) ? 0x00800000u : 0u); // nop @@ -5206,12 +5207,12 @@ L_0881A390: } L_0881A3AC: aot_gpr_4 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x0881A3B8u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_31 = (0x0881A3B8u); + aot_gpr_5 = (ctx.gpr[16] | 0u); goto L_0881A0FC; L_0881A3B8: { const bool branch_taken = 0u == 0u; - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(128))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(128))); if (branch_taken) { goto L_0881A480; } @@ -5222,7 +5223,7 @@ L_0881A3C0: aot_gpr_6 = (aot_gpr_4 | 0u); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(136))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(148))); - ctx.gpr[31] = (0x0881A3D8u); + aot_gpr_31 = (0x0881A3D8u); ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 505u, 0x08B66170u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881A3D8u) goto L_0881A3D8; AOT_REGCACHE_SYNC_OUT(); return; @@ -5233,24 +5234,24 @@ L_0881A3D8: aot_gpr_5 = (aot_gpr_5 >> 28u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 4u)); - aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(2), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store16(ctx.gpr[16] + static_cast(2), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(140))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); aot_gpr_4 = (aot_gpr_17 | 0u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(8), std::bit_cast(aot_fpr_12)); - ctx.gpr[31] = (0x0881A40Cu); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(8), std::bit_cast(aot_fpr_12)); + aot_gpr_31 = (0x0881A40Cu); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(140))); goto L_0881A0FC; L_0881A40C: aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); aot_gpr_4 = (ctx.gpr[19] | 0u); - ctx.gpr[31] = (0x0881A41Cu); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_31 = (0x0881A41Cu); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 475u, 0x08B65ED0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881A41Cu) goto L_0881A41C; AOT_REGCACHE_SYNC_OUT(); return; L_0881A41C: { const bool branch_taken = 0u == 0u; - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(128))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(128))); if (branch_taken) { goto L_0881A480; } @@ -5262,36 +5263,36 @@ L_0881A424: aot_gpr_5 = (aot_gpr_5 >> 28u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 4u)); - aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(2), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store16(ctx.gpr[16] + static_cast(2), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(44))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(152))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); ctx.gpr[9] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(2))); - aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(0))); + aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(0))); aot_gpr_6 = (aot_gpr_6 + static_cast(16)); ctx.gpr[8] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(0)))))); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[8]); ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(4))); jump_target = ctx.gpr[8]; - ctx.gpr[31] = (0x0881A468u); + aot_gpr_31 = (0x0881A468u); aot_gpr_6 = (ctx.gpr[9] | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881A468u) goto L_0881A468; AOT_REGCACHE_SYNC_OUT(); return; L_0881A468: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(8), std::bit_cast(ctx.fpr[0])); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(8), std::bit_cast(ctx.fpr[0])); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); aot_gpr_4 = (ctx.gpr[19] | 0u); - ctx.gpr[31] = (0x0881A47Cu); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_31 = (0x0881A47Cu); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 475u, 0x08B65ED0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881A47Cu) goto L_0881A47C; AOT_REGCACHE_SYNC_OUT(); return; L_0881A47C: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(128))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(128))); goto L_0881A480; L_0881A480: ctx.gpr[20] = (ctx.gpr[20] + static_cast(1)); - aot_gpr_4 = (static_cast(ctx.gpr[20]) < static_cast(aot_gpr_16) ? 1u : 0u); + aot_gpr_4 = (static_cast(ctx.gpr[20]) < static_cast(ctx.gpr[16]) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; ctx.gpr[18] = (ctx.gpr[18] + static_cast(8)); if (branch_taken) { @@ -5302,7 +5303,7 @@ L_0881A480: L_0881A490: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(148))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); - ctx.gpr[31] = (0x0881A4A0u); + aot_gpr_31 = (0x0881A4A0u); aot_gpr_5 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 475u, 0x08B65ED0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881A4A0u) goto L_0881A4A0; AOT_REGCACHE_SYNC_OUT(); return; @@ -5312,7 +5313,7 @@ L_0881A4A0: L_0881A4A4: { std::uint32_t aot_run_words[10]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(156), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -5321,9 +5322,9 @@ L_0881A4A4: ctx.gpr[22] = aot_run_words[6]; ctx.gpr[23] = aot_run_words[7]; ctx.gpr[30] = aot_run_words[8]; - ctx.gpr[31] = aot_run_words[9]; + aot_gpr_31 = aot_run_words[9]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(208)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -5331,16 +5332,16 @@ L_0881A4A4: AOT_REGCACHE_SYNC_OUT(); return; L_0881A4D4: aot_gpr_29 = (aot_gpr_29 + static_cast(-64)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), aot_gpr_16); - aot_gpr_16 = (2236u << 16u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), ctx.gpr[16]); + ctx.gpr[16] = (2236u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), aot_gpr_17); - aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); + aot_gpr_17 = (ctx.gpr[16] + static_cast(29704)); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); aot_gpr_6 = (0u | 12u); { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(36), aot_run_words); } - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), ctx.gpr[31]); - ctx.gpr[31] = (0x0881A508u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), aot_gpr_31); + aot_gpr_31 = (0x0881A508u); ctx.gpr[7] = (aot_gpr_17 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881A508u) goto L_0881A508; AOT_REGCACHE_SYNC_OUT(); return; @@ -5373,7 +5374,7 @@ L_0881A52C: } L_0881A544: aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); - ctx.gpr[31] = (0x0881A550u); + aot_gpr_31 = (0x0881A550u); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[22])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 514u, 0x088933E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881A550u) goto L_0881A550; AOT_REGCACHE_SYNC_OUT(); return; @@ -5391,7 +5392,7 @@ L_0881A554: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[16] < ctx.fpr[24])) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(29704))); if (branch_taken) { goto L_0881A578; } @@ -5402,7 +5403,7 @@ L_0881A574: goto L_0881A578; L_0881A578: aot_gpr_4 = (0u | 17u); - { const bool branch_taken = aot_gpr_16 != aot_gpr_4; + { const bool branch_taken = ctx.gpr[16] != aot_gpr_4; // nop if (branch_taken) { goto L_0881A5A8; @@ -5439,12 +5440,12 @@ L_0881A5B8: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), std::bit_cast(aot_fpr_14)); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(44))); - aot_gpr_4 = (aot_gpr_16 & 65535u); + aot_gpr_4 = (ctx.gpr[16] & 65535u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), std::bit_cast(aot_fpr_15)); aot_gpr_6 = (aot_gpr_29 + static_cast(16)); ctx.gpr[8] = (aot_gpr_29 + static_cast(32)); aot_gpr_5 = (aot_gpr_29 | 0u); - ctx.gpr[31] = (0x0881A5F4u); + aot_gpr_31 = (0x0881A5F4u); ctx.gpr[9] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0079_entry, 79u, 352u, 0x089421CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881A5F4u) goto L_0881A5F4; AOT_REGCACHE_SYNC_OUT(); return; @@ -5455,11 +5456,11 @@ L_0881A5F4: ctx.fpr[20] = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); - aot_gpr_16 = aot_run_words[3]; + ctx.gpr[16] = aot_run_words[3]; aot_gpr_17 = aot_run_words[4]; - ctx.gpr[31] = aot_run_words[5]; + aot_gpr_31 = aot_run_words[5]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(64)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -5467,21 +5468,21 @@ L_0881A5F4: AOT_REGCACHE_SYNC_OUT(); return; L_0881A618: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_16); - aot_gpr_16 = (2236u << 16u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), ctx.gpr[16]); + ctx.gpr[16] = (2236u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_17); - aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); + aot_gpr_17 = (ctx.gpr[16] + static_cast(29704)); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); aot_gpr_6 = (0u | 6u); { const std::uint32_t aot_run_words[6]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), ctx.gpr[31]); - ctx.gpr[31] = (0x0881A658u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), aot_gpr_31); + aot_gpr_31 = (0x0881A658u); ctx.gpr[7] = (aot_gpr_17 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881A658u) goto L_0881A658; AOT_REGCACHE_SYNC_OUT(); return; L_0881A658: - ctx.fpr[30] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); + ctx.fpr[30] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(29704))); { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_17 + static_cast(4), aot_run_words); ctx.fpr[28] = std::bit_cast(aot_run_words[0]); @@ -5499,14 +5500,14 @@ L_0881A658: goto L_0881A67C; } L_0881A67C: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(80))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(80))); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[30])); aot_gpr_4 = (aot_gpr_17 | 0u); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[28])); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[26])); aot_fpr_15 = std::bit_cast(std::bit_cast(ctx.fpr[24])); ctx.fpr[16] = std::bit_cast(std::bit_cast(ctx.fpr[22])); - ctx.gpr[31] = (0x0881A6A0u); + aot_gpr_31 = (0x0881A6A0u); ctx.fpr[17] = std::bit_cast(std::bit_cast(ctx.fpr[20])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0170_entry, 170u, 799u, 0x08AAF984u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881A6A0u) goto L_0881A6A0; AOT_REGCACHE_SYNC_OUT(); return; @@ -5519,12 +5520,12 @@ L_0881A6A0: goto L_0881A6A8; } L_0881A6A8: - ctx.gpr[31] = (0x0881A6B0u); + aot_gpr_31 = (0x0881A6B0u); aot_gpr_4 = (aot_gpr_17 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0079_entry, 79u, 282u, 0x08941D50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881A6B0u) goto L_0881A6B0; AOT_REGCACHE_SYNC_OUT(); return; L_0881A6B0: - aot_gpr_17 = (aot_gpr_16 | 0u); + aot_gpr_17 = (ctx.gpr[16] | 0u); { const bool branch_taken = aot_gpr_17 != 0u; // nop if (branch_taken) { @@ -5542,14 +5543,14 @@ L_0881A6BC: goto L_0881A6C8; } L_0881A6C8: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(80))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(80))); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[30])); aot_gpr_4 = (aot_gpr_17 | 0u); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[28])); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[26])); aot_fpr_15 = std::bit_cast(std::bit_cast(ctx.fpr[24])); ctx.fpr[16] = std::bit_cast(std::bit_cast(ctx.fpr[22])); - ctx.gpr[31] = (0x0881A6ECu); + aot_gpr_31 = (0x0881A6ECu); ctx.fpr[17] = std::bit_cast(std::bit_cast(ctx.fpr[20])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0170_entry, 170u, 799u, 0x08AAF984u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881A6ECu) goto L_0881A6EC; AOT_REGCACHE_SYNC_OUT(); return; @@ -5562,12 +5563,12 @@ L_0881A6EC: goto L_0881A6F4; } L_0881A6F4: - ctx.gpr[31] = (0x0881A6FCu); + aot_gpr_31 = (0x0881A6FCu); aot_gpr_4 = (aot_gpr_17 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0079_entry, 79u, 282u, 0x08941D50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881A6FCu) goto L_0881A6FC; AOT_REGCACHE_SYNC_OUT(); return; L_0881A6FC: - aot_gpr_17 = (aot_gpr_16 | 0u); + aot_gpr_17 = (ctx.gpr[16] | 0u); { const bool branch_taken = aot_gpr_17 != 0u; // nop if (branch_taken) { @@ -5585,11 +5586,11 @@ L_0881A708: ctx.fpr[26] = std::bit_cast(aot_run_words[3]); ctx.fpr[28] = std::bit_cast(aot_run_words[4]); ctx.fpr[30] = std::bit_cast(aot_run_words[5]); - aot_gpr_16 = aot_run_words[6]; + ctx.gpr[16] = aot_run_words[6]; aot_gpr_17 = aot_run_words[7]; - ctx.gpr[31] = aot_run_words[8]; + aot_gpr_31 = aot_run_words[8]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(48)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -5597,14 +5598,14 @@ L_0881A708: AOT_REGCACHE_SYNC_OUT(); return; L_0881A738: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), aot_gpr_16); - aot_gpr_16 = (2236u << 16u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), ctx.gpr[16]); + ctx.gpr[16] = (2236u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), aot_gpr_17); - aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); + aot_gpr_17 = (ctx.gpr[16] + static_cast(29704)); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); aot_gpr_6 = (0u | 8u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), ctx.gpr[31]); - ctx.gpr[31] = (0x0881A760u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), aot_gpr_31); + aot_gpr_31 = (0x0881A760u); ctx.gpr[7] = (aot_gpr_17 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881A760u) goto L_0881A760; AOT_REGCACHE_SYNC_OUT(); return; @@ -5619,7 +5620,7 @@ L_0881A760: ctx.fpr[17] = std::bit_cast(aot_run_words[5]); ctx.fpr[18] = std::bit_cast(aot_run_words[6]); } - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(29704))); { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_13), std::bit_cast(aot_fpr_14)}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), std::bit_cast(aot_fpr_15)); @@ -5632,7 +5633,7 @@ L_0881A760: ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); - ctx.gpr[31] = (0x0881A7BCu); + aot_gpr_31 = (0x0881A7BCu); ctx.gpr[11] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0062_entry, 62u, 716u, 0x088FF060u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881A7BCu) goto L_0881A7BC; AOT_REGCACHE_SYNC_OUT(); return; @@ -5640,11 +5641,11 @@ L_0881A7BC: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(32), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; - ctx.gpr[31] = aot_run_words[2]; + aot_gpr_31 = aot_run_words[2]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(48)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -5652,18 +5653,18 @@ L_0881A7BC: AOT_REGCACHE_SYNC_OUT(); return; L_0881A7D4: aot_gpr_29 = (aot_gpr_29 + static_cast(-96)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, ctx.gpr[31]}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[16], aot_gpr_17, aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(80), aot_run_words); } aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - aot_gpr_16 = (2236u << 16u); - aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); + ctx.gpr[16] = (2236u << 16u); + aot_gpr_17 = (ctx.gpr[16] + static_cast(29704)); aot_gpr_6 = (0u | 10u); - ctx.gpr[31] = (0x0881A7FCu); + aot_gpr_31 = (0x0881A7FCu); ctx.gpr[7] = (aot_gpr_17 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881A7FCu) goto L_0881A7FC; AOT_REGCACHE_SYNC_OUT(); return; L_0881A7FC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(29704))); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_17 + static_cast(4), aot_run_words); aot_fpr_12 = std::bit_cast(aot_run_words[0]); @@ -5741,7 +5742,7 @@ L_0881A7FC: const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - ctx.gpr[31] = (0x0881A884u); + aot_gpr_31 = (0x0881A884u); aot_gpr_6 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0062_entry, 62u, 755u, 0x088FF544u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881A884u) goto L_0881A884; AOT_REGCACHE_SYNC_OUT(); return; @@ -5749,11 +5750,11 @@ L_0881A884: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(80), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; - ctx.gpr[31] = aot_run_words[2]; + aot_gpr_31 = aot_run_words[2]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(96)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -5761,17 +5762,17 @@ L_0881A884: AOT_REGCACHE_SYNC_OUT(); return; L_0881A89C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (2236u << 16u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (2236u << 16u); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); aot_gpr_6 = (0u | 1u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[31]); - ctx.gpr[31] = (0x0881A8BCu); - ctx.gpr[7] = (aot_gpr_16 + static_cast(29704)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); + aot_gpr_31 = (0x0881A8BCu); + ctx.gpr[7] = (ctx.gpr[16] + static_cast(29704)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881A8BCu) goto L_0881A8BC; AOT_REGCACHE_SYNC_OUT(); return; L_0881A8BC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(29704))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -5780,7 +5781,7 @@ L_0881A8BC: goto L_0881A8C8; } L_0881A8C8: - ctx.gpr[31] = (0x0881A8D0u); + aot_gpr_31 = (0x0881A8D0u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0142_entry, 142u, 303u, 0x08A3D9FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881A8D0u) goto L_0881A8D0; AOT_REGCACHE_SYNC_OUT(); return; @@ -5793,15 +5794,15 @@ L_0881A8D0: goto L_0881A8D8; } L_0881A8D8: - ctx.gpr[31] = (0x0881A8E0u); + aot_gpr_31 = (0x0881A8E0u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0142_entry, 142u, 308u, 0x08A3DA48u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881A8E0u) goto L_0881A8E0; AOT_REGCACHE_SYNC_OUT(); return; L_0881A8E0: ctx.gpr[2] = (0u | 0u); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); - jump_target = ctx.gpr[31]; + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -5809,18 +5810,18 @@ L_0881A8E0: AOT_REGCACHE_SYNC_OUT(); return; L_0881A8F4: aot_gpr_29 = (aot_gpr_29 + static_cast(-80)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, ctx.gpr[31]}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[16], aot_gpr_17, aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(64), aot_run_words); } aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - aot_gpr_16 = (2236u << 16u); - aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); + ctx.gpr[16] = (2236u << 16u); + aot_gpr_17 = (ctx.gpr[16] + static_cast(29704)); aot_gpr_6 = (0u | 8u); - ctx.gpr[31] = (0x0881A91Cu); + aot_gpr_31 = (0x0881A91Cu); ctx.gpr[7] = (aot_gpr_17 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881A91Cu) goto L_0881A91C; AOT_REGCACHE_SYNC_OUT(); return; L_0881A91C: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(29704))); aot_gpr_5 = (aot_gpr_5 & 255u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_17 + static_cast(4), aot_run_words); @@ -5870,7 +5871,7 @@ L_0881A91C: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (ctx.gpr[8] | 0u); - ctx.gpr[31] = (0x0881A984u); + aot_gpr_31 = (0x0881A984u); aot_gpr_6 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0142_entry, 142u, 325u, 0x08A3DBD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881A984u) goto L_0881A984; AOT_REGCACHE_SYNC_OUT(); return; @@ -5878,11 +5879,11 @@ L_0881A984: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(64), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; - ctx.gpr[31] = aot_run_words[2]; + aot_gpr_31 = aot_run_words[2]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(80)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -5890,17 +5891,17 @@ L_0881A984: AOT_REGCACHE_SYNC_OUT(); return; L_0881A99C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (2236u << 16u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (2236u << 16u); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); aot_gpr_6 = (0u | 1u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[31]); - ctx.gpr[31] = (0x0881A9BCu); - ctx.gpr[7] = (aot_gpr_16 + static_cast(29704)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); + aot_gpr_31 = (0x0881A9BCu); + ctx.gpr[7] = (ctx.gpr[16] + static_cast(29704)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881A9BCu) goto L_0881A9BC; AOT_REGCACHE_SYNC_OUT(); return; L_0881A9BC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(29704))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -5926,9 +5927,9 @@ L_0881A9DC: goto L_0881A9E8; L_0881A9E8: ctx.gpr[2] = (0u | 0u); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); - jump_target = ctx.gpr[31]; + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -5986,7 +5987,7 @@ L_0881A9FC: const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; // nop local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -5994,7 +5995,7 @@ L_0881A9FC: AOT_REGCACHE_SYNC_OUT(); return; L_0881AA24: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_6 = (2235u << 16u); if (branch_taken) { @@ -6015,13 +6016,13 @@ L_0881AA34: L_0881AA44: aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_4 = (2237u << 16u); - ctx.gpr[31] = (0x0881AA54u); + aot_gpr_31 = (0x0881AA54u); aot_gpr_4 = (aot_gpr_4 + static_cast(-29120)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881AA54u) goto L_0881AA54; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881AA54u) goto L_0881AA54; AOT_REGCACHE_SYNC_OUT(); return; L_0881AA54: - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -6029,20 +6030,20 @@ L_0881AA54: AOT_REGCACHE_SYNC_OUT(); return; L_0881AA60: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, ctx.gpr[31]}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[16], aot_gpr_17, aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_17 = (aot_gpr_5 | 0u); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_4 = (2235u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28628)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(4), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(0))); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(0), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(0), static_cast(aot_gpr_4)); aot_gpr_4 = (2235u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28612)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), aot_gpr_4); - aot_gpr_4 = (aot_gpr_16 + static_cast(16)); - ctx.gpr[31] = (0x0881AAA4u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(4), aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + static_cast(16)); + aot_gpr_31 = (0x0881AAA4u); aot_gpr_5 = (aot_gpr_17 + static_cast(16)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 912u, 0x0885F828u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881AAA4u) goto L_0881AAA4; AOT_REGCACHE_SYNC_OUT(); return; @@ -6057,7 +6058,7 @@ L_0881AAA4: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_4 = (aot_gpr_16 + static_cast(96)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(96)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; @@ -6072,7 +6073,7 @@ L_0881AAA4: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_4 = (aot_gpr_16 + static_cast(112)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(112)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; @@ -6087,7 +6088,7 @@ L_0881AAA4: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_4 = (aot_gpr_16 + static_cast(128)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(128)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; @@ -6102,44 +6103,44 @@ L_0881AAA4: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_4 = (aot_gpr_16 + static_cast(144)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(144)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(160))); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(160), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(160), static_cast(aot_gpr_4)); aot_gpr_4 = (2235u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28596)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(4), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(176))); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(176), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(176), static_cast(aot_gpr_4)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(180))); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(180), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(180), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(184))); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(184), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(184), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(188))); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(188), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(188), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(192))); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(192), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(192), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(193))); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(193), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(193), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(194))); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(194), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(194), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(195))); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(195), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(195), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(196))); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(196), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(196), static_cast(aot_gpr_4)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(200))); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(200), std::bit_cast(aot_fpr_12)); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(204)))))); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(200), std::bit_cast(aot_fpr_12)); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(204)))))); aot_gpr_5 = (0u + static_cast(-2)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(204)))))); aot_gpr_5 = (aot_gpr_5 & 1u); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(204), static_cast(aot_gpr_4)); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(204)))))); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(204), static_cast(aot_gpr_4)); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(204)))))); aot_gpr_5 = (0u + static_cast(-3)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(204)))))); @@ -6148,8 +6149,8 @@ L_0881AAA4: aot_gpr_5 = (aot_gpr_5 & 1u); aot_gpr_5 = (aot_gpr_5 << 1u); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(204), static_cast(aot_gpr_4)); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(204)))))); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(204), static_cast(aot_gpr_4)); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(204)))))); aot_gpr_5 = (0u + static_cast(-5)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(204)))))); @@ -6158,8 +6159,8 @@ L_0881AAA4: aot_gpr_5 = (aot_gpr_5 & 1u); aot_gpr_5 = (aot_gpr_5 << 2u); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(204), static_cast(aot_gpr_4)); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(204)))))); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(204), static_cast(aot_gpr_4)); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(204)))))); aot_gpr_5 = (0u + static_cast(-9)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(204)))))); @@ -6168,21 +6169,21 @@ L_0881AAA4: aot_gpr_5 = (aot_gpr_5 & 1u); aot_gpr_5 = (aot_gpr_5 << 3u); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(204), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(204), static_cast(aot_gpr_4)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(205)))))); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(205), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(205), static_cast(aot_gpr_4)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(206)))))); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(206), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(206), static_cast(aot_gpr_4)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(207)))))); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(207), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(207), static_cast(aot_gpr_4)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(208)))))); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(208), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(208), static_cast(aot_gpr_4)); aot_gpr_4 = (0u | 0u); aot_gpr_5 = (aot_gpr_4 + aot_gpr_17); goto L_0881AC04; L_0881AC04: aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(209))); - aot_gpr_6 = (aot_gpr_4 + aot_gpr_16); + aot_gpr_6 = (aot_gpr_4 + ctx.gpr[16]); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); aot_mem.aot_direct_store8(aot_gpr_6 + static_cast(209), static_cast(aot_gpr_5)); aot_gpr_5 = (static_cast(aot_gpr_4) < 4 ? 1u : 0u); @@ -6196,7 +6197,7 @@ L_0881AC04: L_0881AC20: aot_gpr_4 = (0u | 0u); aot_gpr_5 = (aot_gpr_17 | 0u); - aot_gpr_6 = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); goto L_0881AC2C; L_0881AC2C: ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(216))); @@ -6214,7 +6215,7 @@ L_0881AC2C: L_0881AC48: aot_gpr_4 = (0u | 0u); aot_gpr_5 = (aot_gpr_17 | 0u); - aot_gpr_6 = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); goto L_0881AC54; L_0881AC54: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(232))); @@ -6232,7 +6233,7 @@ L_0881AC54: L_0881AC70: aot_gpr_4 = (0u | 0u); aot_gpr_5 = (aot_gpr_17 | 0u); - aot_gpr_6 = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); goto L_0881AC7C; L_0881AC7C: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(248))); @@ -6250,7 +6251,7 @@ L_0881AC7C: L_0881AC98: aot_gpr_4 = (0u | 0u); aot_gpr_5 = (aot_gpr_17 | 0u); - aot_gpr_6 = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); goto L_0881ACA4; L_0881ACA4: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(264))); @@ -6268,7 +6269,7 @@ L_0881ACA4: L_0881ACC0: aot_gpr_4 = (0u | 0u); aot_gpr_5 = (aot_gpr_17 | 0u); - aot_gpr_6 = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); goto L_0881ACCC; L_0881ACCC: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(280))); @@ -6285,7 +6286,7 @@ L_0881ACCC: } L_0881ACE8: aot_gpr_4 = (0u | 0u); - aot_gpr_5 = (aot_gpr_16 + static_cast(304)); + aot_gpr_5 = (ctx.gpr[16] + static_cast(304)); aot_gpr_6 = (aot_gpr_17 + static_cast(304)); goto L_0881ACF4; L_0881ACF4: @@ -6321,7 +6322,7 @@ L_0881ACF4: L_0881AD4C: aot_gpr_4 = (0u | 0u); aot_gpr_5 = (aot_gpr_17 | 0u); - aot_gpr_6 = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); goto L_0881AD58; L_0881AD58: ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(432))); @@ -6338,17 +6339,17 @@ L_0881AD58: } L_0881AD74: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(448))); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(448), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(448), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(452))); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(452), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(452), aot_gpr_4); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(456))); aot_gpr_4 = (aot_gpr_17 + static_cast(468)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(456), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(456), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(460))); - aot_gpr_6 = (aot_gpr_16 + static_cast(468)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(460), std::bit_cast(aot_fpr_12)); + aot_gpr_6 = (ctx.gpr[16] + static_cast(468)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(460), std::bit_cast(aot_fpr_12)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(464)))))); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(464), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(464), static_cast(aot_gpr_5)); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_4 + static_cast(0), aot_run_words); aot_gpr_5 = aot_run_words[0]; @@ -6380,17 +6381,17 @@ L_0881AD74: { const std::uint32_t aot_run_words[3]{ctx.gpr[8], aot_gpr_5, aot_gpr_4}; aot_mem.aot_direct_store32_block(aot_gpr_6 + static_cast(44), aot_run_words); } aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(524))); - ctx.gpr[2] = (aot_gpr_16 | 0u); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(524), static_cast(aot_gpr_4)); + ctx.gpr[2] = (ctx.gpr[16] | 0u); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(524), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(528))); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(528), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(528), aot_gpr_4); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; - ctx.gpr[31] = aot_run_words[2]; + aot_gpr_31 = aot_run_words[2]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -6418,7 +6419,7 @@ L_0881AE3C: const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; ctx.gpr[2] = (aot_gpr_4 | 0u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -6426,23 +6427,23 @@ L_0881AE3C: AOT_REGCACHE_SYNC_OUT(); return; L_0881AE6C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[31]); - ctx.gpr[31] = (0x0881AE80u); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); + aot_gpr_31 = (0x0881AE80u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0170_entry, 170u, 74u, 0x08AAC48Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881AE80u) goto L_0881AE80; AOT_REGCACHE_SYNC_OUT(); return; L_0881AE80: aot_gpr_4 = (2235u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28564)); aot_fpr_12 = std::bit_cast(0u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(4), aot_gpr_4); { const std::uint32_t aot_run_words[8]{std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_12)}; - aot_mem.aot_direct_store32_block(aot_gpr_16 + static_cast(752), aot_run_words); } - ctx.gpr[2] = (aot_gpr_16 | 0u); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); - jump_target = ctx.gpr[31]; + aot_mem.aot_direct_store32_block(ctx.gpr[16] + static_cast(752), aot_run_words); } + ctx.gpr[2] = (ctx.gpr[16] | 0u); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -6450,11 +6451,11 @@ L_0881AE80: AOT_REGCACHE_SYNC_OUT(); return; L_0881AEC4: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_5 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_5 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[31]); - ctx.gpr[31] = (0x0881AEE0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); + aot_gpr_31 = (0x0881AEE0u); aot_gpr_17 = (aot_gpr_4 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0170_entry, 170u, 101u, 0x08AAC5E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881AEE0u) goto L_0881AEE0; AOT_REGCACHE_SYNC_OUT(); return; @@ -6462,32 +6463,32 @@ L_0881AEE0: aot_gpr_4 = (2235u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28564)); aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(4), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(356))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(356))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(40))); aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(752), std::bit_cast(aot_fpr_12)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(356))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(356))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(84))); aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(756), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1980))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1980))); aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(760), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1920))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1920))); aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(764), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1924))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1924))); aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(768), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1928))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1928))); aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(772), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1932))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1932))); aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(776), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1988))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1988))); ctx.gpr[2] = (aot_gpr_17 | 0u); aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(780), std::bit_cast(aot_fpr_12)); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; - ctx.gpr[31] = aot_run_words[2]; + aot_gpr_31 = aot_run_words[2]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -6495,7 +6496,7 @@ L_0881AEE0: AOT_REGCACHE_SYNC_OUT(); return; L_0881AF4C: ctx.gpr[2] = (2178u << 16u); - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; ctx.gpr[2] = (ctx.gpr[2] + static_cast(-20660)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -6503,13 +6504,13 @@ L_0881AF4C: AOT_REGCACHE_SYNC_OUT(); return; L_0881AF58: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[31]); - ctx.gpr[31] = (0x0881AF68u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); + aot_gpr_31 = (0x0881AF68u); // nop goto L_0881AF4C; L_0881AF68: - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -6517,59 +6518,59 @@ L_0881AF68: AOT_REGCACHE_SYNC_OUT(); return; L_0881AF74: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_5 | 0u); - { const std::uint32_t aot_run_words[5]{aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[31]}; + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_5 | 0u); + { const std::uint32_t aot_run_words[5]{aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(4), aot_run_words); } - ctx.gpr[31] = (0x0881AF9Cu); + aot_gpr_31 = (0x0881AF9Cu); ctx.gpr[20] = (0u | 0u); goto L_0881AF4C; L_0881AF9C: - if (ctx.gpr[2] == aot_gpr_16) { + if (ctx.gpr[2] == ctx.gpr[16]) { ctx.gpr[20] = (0u | 1u); goto L_0881B024; } goto L_0881AFA4; L_0881AFA4: - ctx.gpr[31] = (0x0881AFACu); + aot_gpr_31 = (0x0881AFACu); ctx.gpr[19] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0170_entry, 170u, 139u, 0x08AACA60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881AFACu) goto L_0881AFAC; AOT_REGCACHE_SYNC_OUT(); return; L_0881AFAC: - if (ctx.gpr[2] == aot_gpr_16) { + if (ctx.gpr[2] == ctx.gpr[16]) { ctx.gpr[19] = (0u | 1u); goto L_0881B014; } goto L_0881AFB4; L_0881AFB4: - ctx.gpr[31] = (0x0881AFBCu); + aot_gpr_31 = (0x0881AFBCu); ctx.gpr[18] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0158_entry, 158u, 666u, 0x08A7FAA4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881AFBCu) goto L_0881AFBC; AOT_REGCACHE_SYNC_OUT(); return; L_0881AFBC: - if (ctx.gpr[2] == aot_gpr_16) { + if (ctx.gpr[2] == ctx.gpr[16]) { ctx.gpr[18] = (0u | 1u); goto L_0881B004; } goto L_0881AFC4; L_0881AFC4: - ctx.gpr[31] = (0x0881AFCCu); + aot_gpr_31 = (0x0881AFCCu); aot_gpr_17 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0034_entry, 34u, 400u, 0x0888E51Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881AFCCu) goto L_0881AFCC; AOT_REGCACHE_SYNC_OUT(); return; L_0881AFCC: - if (ctx.gpr[2] == aot_gpr_16) { + if (ctx.gpr[2] == ctx.gpr[16]) { aot_gpr_17 = (0u | 1u); goto L_0881AFF4; } goto L_0881AFD4; L_0881AFD4: - ctx.gpr[31] = (0x0881AFDCu); + aot_gpr_31 = (0x0881AFDCu); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0165_entry, 165u, 295u, 0x08A9A6CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881AFDCu) goto L_0881AFDC; AOT_REGCACHE_SYNC_OUT(); return; L_0881AFDC: - aot_gpr_4 = (ctx.gpr[2] ^ aot_gpr_16); + aot_gpr_4 = (ctx.gpr[2] ^ ctx.gpr[16]); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 == 0u; @@ -6628,14 +6629,14 @@ L_0881B024: ctx.gpr[2] = (ctx.gpr[20] & 255u); { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; - ctx.gpr[31] = aot_run_words[5]; + aot_gpr_31 = aot_run_words[5]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -6645,10 +6646,10 @@ L_0881B048: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); aot_gpr_17 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_16 = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); if (branch_taken) { goto L_0881B098; } @@ -6658,18 +6659,18 @@ L_0881B064: aot_gpr_4 = (2235u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28548)); aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(108), aot_gpr_4); - ctx.gpr[31] = (0x0881B078u); + aot_gpr_31 = (0x0881B078u); aot_gpr_4 = (aot_gpr_17 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0165_entry, 165u, 425u, 0x08A9B6A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881B078u) goto L_0881B078; AOT_REGCACHE_SYNC_OUT(); return; L_0881B078: aot_gpr_4 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x0881B084u); + aot_gpr_31 = (0x0881B084u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0170_entry, 170u, 161u, 0x08AACB80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881B084u) goto L_0881B084; AOT_REGCACHE_SYNC_OUT(); return; L_0881B084: - aot_gpr_4 = (aot_gpr_16 & 1u); + aot_gpr_4 = (ctx.gpr[16] & 1u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -6678,25 +6679,25 @@ L_0881B084: goto L_0881B090; } L_0881B090: - ctx.gpr[31] = (0x0881B098u); + aot_gpr_31 = (0x0881B098u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881B098u) goto L_0881B098; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881B098u) goto L_0881B098; AOT_REGCACHE_SYNC_OUT(); return; L_0881B098: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; - ctx.gpr[31] = aot_run_words[2]; + aot_gpr_31 = aot_run_words[2]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0881B0AC: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; ctx.gpr[2] = (0u | 9u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -6708,15 +6709,15 @@ L_0881B0B4: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_4); aot_gpr_4 = (2237u << 16u); aot_gpr_5 = (0u | 784u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[31]); - ctx.gpr[31] = (0x0881B0D8u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[16]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); + aot_gpr_31 = (0x0881B0D8u); aot_gpr_4 = (aot_gpr_4 + static_cast(-29120)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 501u, 0x08ABE57Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881B0D8u) goto L_0881B0D8; AOT_REGCACHE_SYNC_OUT(); return; L_0881B0D8: - aot_gpr_16 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (ctx.gpr[2] | 0u); + { const bool branch_taken = ctx.gpr[16] == 0u; ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); if (branch_taken) { goto L_0881B0F0; @@ -6724,16 +6725,16 @@ L_0881B0D8: goto L_0881B0E4; } L_0881B0E4: - ctx.gpr[31] = (0x0881B0ECu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_31 = (0x0881B0ECu); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_0881AE6C; L_0881B0EC: - ctx.gpr[2] = (aot_gpr_16 | 0u); + ctx.gpr[2] = (ctx.gpr[16] | 0u); goto L_0881B0F0; L_0881B0F0: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); - jump_target = ctx.gpr[31]; + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -6741,7 +6742,7 @@ L_0881B0F0: AOT_REGCACHE_SYNC_OUT(); return; L_0881B100: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_4 = (aot_gpr_5 | 0u); if (branch_taken) { @@ -6756,14 +6757,14 @@ L_0881B110: ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(0)))))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(4))); jump_target = aot_gpr_6; - ctx.gpr[31] = (0x0881B12Cu); + aot_gpr_31 = (0x0881B12Cu); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[7]); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881B12Cu) goto L_0881B12C; AOT_REGCACHE_SYNC_OUT(); return; L_0881B12C: - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -6772,14 +6773,14 @@ L_0881B12C: L_0881B138: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_4 = (0u | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_4); - aot_gpr_16 = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); aot_gpr_4 = (2237u << 16u); aot_gpr_5 = (0u | 784u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_17); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[31]); - ctx.gpr[31] = (0x0881B164u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); + aot_gpr_31 = (0x0881B164u); aot_gpr_4 = (aot_gpr_4 + static_cast(-29120)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 501u, 0x08ABE57Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881B164u) goto L_0881B164; AOT_REGCACHE_SYNC_OUT(); return; @@ -6794,21 +6795,21 @@ L_0881B164: } L_0881B170: aot_gpr_4 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x0881B17Cu); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_31 = (0x0881B17Cu); + aot_gpr_5 = (ctx.gpr[16] | 0u); goto L_0881AA60; L_0881B17C: aot_gpr_4 = (2235u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28580)); aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(4), aot_gpr_4); - aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(544))); + aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(544))); ctx.gpr[7] = (2178u << 16u); aot_mem.aot_direct_store16(aot_gpr_17 + static_cast(544), static_cast(aot_gpr_5)); aot_gpr_4 = (aot_gpr_17 + static_cast(560)); - ctx.gpr[8] = (aot_gpr_16 + static_cast(560)); + ctx.gpr[8] = (ctx.gpr[16] + static_cast(560)); aot_gpr_5 = (0u | 6u); aot_gpr_6 = (0u | 32u); - ctx.gpr[31] = (0x0881B1ACu); + aot_gpr_31 = (0x0881B1ACu); ctx.gpr[7] = (ctx.gpr[7] + static_cast(-20932)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 115u, 0x08B6095Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881B1ACu) goto L_0881B1AC; AOT_REGCACHE_SYNC_OUT(); return; @@ -6816,32 +6817,32 @@ L_0881B1AC: aot_gpr_4 = (2235u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28564)); aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(4), aot_gpr_4); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(752))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(752))); aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(752), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(756))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(756))); aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(756), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(760))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(760))); aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(760), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(764))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(764))); aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(764), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(768))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(768))); aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(768), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(772))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(772))); ctx.gpr[2] = (aot_gpr_17 | 0u); aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(772), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(776))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(776))); aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(776), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(780))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(780))); aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(780), std::bit_cast(aot_fpr_12)); goto L_0881B1FC; L_0881B1FC: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(4), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; - ctx.gpr[31] = aot_run_words[2]; + aot_gpr_31 = aot_run_words[2]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -6850,14 +6851,14 @@ L_0881B1FC: L_0881B210: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[31]); - ctx.gpr[31] = (0x0881B224u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); + aot_gpr_31 = (0x0881B224u); aot_gpr_5 = (aot_gpr_6 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0158_entry, 158u, 660u, 0x08A7FA3Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881B224u) goto L_0881B224; AOT_REGCACHE_SYNC_OUT(); return; L_0881B224: - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -6865,18 +6866,18 @@ L_0881B224: AOT_REGCACHE_SYNC_OUT(); return; L_0881B230: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[4]{ctx.gpr[16], aot_gpr_17, ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - ctx.gpr[31] = (0x0881B24Cu); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_gpr_31 = (0x0881B24Cu); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0170_entry, 170u, 158u, 0x08AACB34u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881B24Cu) goto L_0881B24C; AOT_REGCACHE_SYNC_OUT(); return; L_0881B24C: aot_gpr_4 = (2234u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(18888)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(108), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(108), aot_gpr_4); ctx.gpr[18] = (0u | 0u); - ctx.gpr[31] = (0x0881B264u); + aot_gpr_31 = (0x0881B264u); aot_gpr_4 = (0u | 400u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881B264u) goto L_0881B264; AOT_REGCACHE_SYNC_OUT(); return; @@ -6890,24 +6891,24 @@ L_0881B264: goto L_0881B270; } L_0881B270: - ctx.gpr[31] = (0x0881B278u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_31 = (0x0881B278u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0006_entry, 6u, 28u, 0x0881C6F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881B278u) goto L_0881B278; AOT_REGCACHE_SYNC_OUT(); return; L_0881B278: ctx.gpr[18] = (aot_gpr_17 | 0u); goto L_0881B27C; L_0881B27C: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(112), ctx.gpr[18]); - ctx.gpr[2] = (aot_gpr_16 | 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(112), ctx.gpr[18]); + ctx.gpr[2] = (ctx.gpr[16] | 0u); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; - ctx.gpr[31] = aot_run_words[3]; + aot_gpr_31 = aot_run_words[3]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -6917,11 +6918,11 @@ L_0881B29C: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_17); aot_gpr_17 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_16); - { const std::uint32_t aot_run_words[3]{ctx.gpr[18], ctx.gpr[19], ctx.gpr[31]}; + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), ctx.gpr[16]); + { const std::uint32_t aot_run_words[3]{ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(32), aot_run_words); } - ctx.gpr[31] = (0x0881B2C0u); - aot_gpr_16 = (aot_gpr_5 | 0u); + aot_gpr_31 = (0x0881B2C0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0170_entry, 170u, 158u, 0x08AACB34u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881B2C0u) goto L_0881B2C0; AOT_REGCACHE_SYNC_OUT(); return; L_0881B2C0: @@ -6930,15 +6931,15 @@ L_0881B2C0: aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(108), aot_gpr_4); aot_gpr_4 = (2237u << 16u); aot_gpr_5 = (aot_gpr_17 | 0u); - aot_gpr_6 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x0881B2E0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); + aot_gpr_31 = (0x0881B2E0u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 736u, 0x08ADEF00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881B2E0u) goto L_0881B2E0; AOT_REGCACHE_SYNC_OUT(); return; L_0881B2E0: - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(104), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(104), ctx.gpr[16]); ctx.gpr[18] = (0u | 0u); - ctx.gpr[31] = (0x0881B2F0u); + aot_gpr_31 = (0x0881B2F0u); aot_gpr_4 = (0u | 400u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881B2F0u) goto L_0881B2F0; AOT_REGCACHE_SYNC_OUT(); return; @@ -6952,7 +6953,7 @@ L_0881B2F0: goto L_0881B2FC; } L_0881B2FC: - ctx.gpr[31] = (0x0881B304u); + aot_gpr_31 = (0x0881B304u); aot_gpr_5 = (aot_gpr_17 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0006_entry, 6u, 28u, 0x0881C6F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881B304u) goto L_0881B304; AOT_REGCACHE_SYNC_OUT(); return; @@ -6961,7 +6962,7 @@ L_0881B304: goto L_0881B308; L_0881B308: aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(112), ctx.gpr[18]); - ctx.gpr[31] = (0x0881B314u); + aot_gpr_31 = (0x0881B314u); aot_gpr_4 = (aot_gpr_17 | 0u); goto L_0881B384; L_0881B314: @@ -6970,7 +6971,7 @@ L_0881B314: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_4); aot_gpr_4 = (2237u << 16u); aot_gpr_5 = (0u | 784u); - ctx.gpr[31] = (0x0881B330u); + aot_gpr_31 = (0x0881B330u); aot_gpr_4 = (aot_gpr_4 + static_cast(-29120)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 501u, 0x08ABE57Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881B330u) goto L_0881B330; AOT_REGCACHE_SYNC_OUT(); return; @@ -6985,8 +6986,8 @@ L_0881B330: } L_0881B33C: aot_gpr_4 = (ctx.gpr[18] | 0u); - ctx.gpr[31] = (0x0881B348u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_31 = (0x0881B348u); + aot_gpr_5 = (ctx.gpr[16] | 0u); goto L_0881AEC4; L_0881B348: aot_gpr_4 = (ctx.gpr[18] | 0u); @@ -6994,12 +6995,12 @@ L_0881B348: L_0881B34C: aot_gpr_6 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x0881B35Cu); + aot_gpr_31 = (0x0881B35Cu); aot_gpr_5 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0165_entry, 165u, 456u, 0x08A9B9F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881B35Cu) goto L_0881B35C; AOT_REGCACHE_SYNC_OUT(); return; L_0881B35C: - ctx.gpr[31] = (0x0881B364u); + aot_gpr_31 = (0x0881B364u); aot_gpr_4 = (aot_gpr_17 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0034_entry, 34u, 562u, 0x0888F9A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881B364u) goto L_0881B364; AOT_REGCACHE_SYNC_OUT(); return; @@ -7007,13 +7008,13 @@ L_0881B364: ctx.gpr[2] = (aot_gpr_17 | 0u); { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(24), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; - ctx.gpr[31] = aot_run_words[4]; + aot_gpr_31 = aot_run_words[4]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(48)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -7021,14 +7022,14 @@ L_0881B364: AOT_REGCACHE_SYNC_OUT(); return; L_0881B384: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[31]); - ctx.gpr[31] = (0x0881B394u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); + aot_gpr_31 = (0x0881B394u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0170_entry, 170u, 166u, 0x08AACBDCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881B394u) goto L_0881B394; AOT_REGCACHE_SYNC_OUT(); return; L_0881B394: - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -7037,14 +7038,14 @@ L_0881B394: L_0881B3A0: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[31]); - ctx.gpr[31] = (0x0881B3B4u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); + aot_gpr_31 = (0x0881B3B4u); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(32)))))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0170_entry, 170u, 169u, 0x08AACC08u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881B3B4u) goto L_0881B3B4; AOT_REGCACHE_SYNC_OUT(); return; L_0881B3B4: - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -7057,13 +7058,13 @@ L_0881B3C0: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), ctx.gpr[7]); ctx.gpr[19] = (ctx.gpr[19] + static_cast(-28736)); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(100))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[7] + static_cast(52))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_17); aot_gpr_17 = (aot_gpr_5 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), ctx.gpr[18]); - { const std::uint32_t aot_run_words[4]{ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[4]{ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(40), aot_run_words); } { const bool branch_taken = aot_gpr_5 != aot_gpr_4; ctx.gpr[18] = (aot_gpr_6 | 0u); @@ -7073,7 +7074,7 @@ L_0881B3C0: goto L_0881B408; } L_0881B408: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(96))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -7082,21 +7083,21 @@ L_0881B408: goto L_0881B414; } L_0881B414: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(10)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(10)))))); aot_gpr_6 = (aot_gpr_29 + static_cast(16)); - ctx.gpr[31] = (0x0881B424u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_31 = (0x0881B424u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881B424u) goto L_0881B424; AOT_REGCACHE_SYNC_OUT(); return; L_0881B424: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(16))); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(96), ctx.gpr[2]); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(4), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(4), static_cast(aot_gpr_4)); goto L_0881B430; L_0881B430: - ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); + ctx.gpr[20] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(96))); ctx.gpr[21] = (0u | 0u); - ctx.gpr[31] = (0x0881B440u); + aot_gpr_31 = (0x0881B440u); aot_gpr_4 = (0u | 2064u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 732u, 0x08AFF2C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881B440u) goto L_0881B440; AOT_REGCACHE_SYNC_OUT(); return; @@ -7110,10 +7111,10 @@ L_0881B440: goto L_0881B44C; } L_0881B44C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(112))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(112))); aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[20] + static_cast(524))); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(86)))))); - ctx.gpr[31] = (0x0881B460u); + aot_gpr_31 = (0x0881B460u); aot_gpr_4 = (ctx.gpr[22] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 257u, 0x089D96B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881B460u) goto L_0881B460; AOT_REGCACHE_SYNC_OUT(); return; @@ -7122,28 +7123,28 @@ L_0881B460: aot_gpr_4 = (ctx.gpr[19] | 0u); goto L_0881B468; L_0881B468: - aot_gpr_5 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x0881B474u); + aot_gpr_5 = (ctx.gpr[16] | 0u); + aot_gpr_31 = (0x0881B474u); aot_gpr_6 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 736u, 0x08ADEF00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881B474u) goto L_0881B474; AOT_REGCACHE_SYNC_OUT(); return; L_0881B474: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(104), ctx.gpr[21]); - ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(104))); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(104), ctx.gpr[21]); + ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(104))); ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(64)))))); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x0881B490u); + aot_gpr_31 = (0x0881B490u); aot_gpr_6 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0170_entry, 170u, 171u, 0x08AACC28u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881B490u) goto L_0881B490; AOT_REGCACHE_SYNC_OUT(); return; L_0881B490: aot_gpr_4 = (0u | 0u); - aot_gpr_17 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(10)))))); + aot_gpr_17 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(10)))))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_4); aot_gpr_4 = (2237u << 16u); aot_gpr_5 = (0u | 784u); - ctx.gpr[31] = (0x0881B4ACu); + aot_gpr_31 = (0x0881B4ACu); aot_gpr_4 = (aot_gpr_4 + static_cast(-29120)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 501u, 0x08ABE57Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881B4ACu) goto L_0881B4AC; AOT_REGCACHE_SYNC_OUT(); return; @@ -7158,7 +7159,7 @@ L_0881B4AC: } L_0881B4B8: aot_gpr_4 = (ctx.gpr[18] | 0u); - ctx.gpr[31] = (0x0881B4C4u); + aot_gpr_31 = (0x0881B4C4u); aot_gpr_5 = (ctx.gpr[19] | 0u); goto L_0881AEC4; L_0881B4C4: @@ -7166,8 +7167,8 @@ L_0881B4C4: goto L_0881B4C8; L_0881B4C8: aot_gpr_6 = (aot_gpr_4 | 0u); - aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x0881B4D8u); + aot_gpr_4 = (ctx.gpr[16] | 0u); + aot_gpr_31 = (0x0881B4D8u); aot_gpr_5 = (aot_gpr_17 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0165_entry, 165u, 456u, 0x08A9B9F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881B4D8u) goto L_0881B4D8; AOT_REGCACHE_SYNC_OUT(); return; @@ -7181,25 +7182,25 @@ L_0881B4D8: } L_0881B4E0: ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(64)))))); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x0881B4F4u); + aot_gpr_31 = (0x0881B4F4u); aot_gpr_6 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0170_entry, 170u, 171u, 0x08AACC28u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881B4F4u) goto L_0881B4F4; AOT_REGCACHE_SYNC_OUT(); return; L_0881B4F4: { std::uint32_t aot_run_words[8]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(24), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; ctx.gpr[21] = aot_run_words[5]; ctx.gpr[22] = aot_run_words[6]; - ctx.gpr[31] = aot_run_words[7]; + aot_gpr_31 = aot_run_words[7]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(64)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -7209,17 +7210,17 @@ L_0881B51C: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(104))); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[4]{ctx.gpr[16], aot_gpr_17, ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(20), aot_run_words); } { const bool branch_taken = aot_gpr_5 != 0u; - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_0881B56C; } goto L_0881B540; } L_0881B540: - { const bool branch_taken = aot_gpr_16 == 0u; + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_0881B564; @@ -7227,14 +7228,14 @@ L_0881B540: goto L_0881B548; } L_0881B548: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(108))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(108))); aot_gpr_5 = (0u | 3u); aot_gpr_4 = (aot_gpr_4 + static_cast(24)); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); jump_target = ctx.gpr[7]; - ctx.gpr[31] = (0x0881B564u); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_6); + aot_gpr_31 = (0x0881B564u); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_6); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881B564u) goto L_0881B564; AOT_REGCACHE_SYNC_OUT(); return; @@ -7252,7 +7253,7 @@ L_0881B56C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_4); aot_gpr_4 = (2237u << 16u); aot_gpr_5 = (0u | 784u); - ctx.gpr[31] = (0x0881B588u); + aot_gpr_31 = (0x0881B588u); aot_gpr_4 = (aot_gpr_4 + static_cast(-29120)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 501u, 0x08ABE57Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881B588u) goto L_0881B588; AOT_REGCACHE_SYNC_OUT(); return; @@ -7266,8 +7267,8 @@ L_0881B588: goto L_0881B594; } L_0881B594: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(104))); - ctx.gpr[31] = (0x0881B5A0u); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(104))); + aot_gpr_31 = (0x0881B5A0u); aot_gpr_4 = (aot_gpr_17 | 0u); goto L_0881AEC4; L_0881B5A0: @@ -7275,20 +7276,20 @@ L_0881B5A0: goto L_0881B5A4; L_0881B5A4: aot_gpr_6 = (aot_gpr_4 | 0u); - aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x0881B5B4u); + aot_gpr_4 = (ctx.gpr[16] | 0u); + aot_gpr_31 = (0x0881B5B4u); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0165_entry, 165u, 456u, 0x08A9B9F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881B5B4u) goto L_0881B5B4; AOT_REGCACHE_SYNC_OUT(); return; L_0881B5B4: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(20), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; - ctx.gpr[31] = aot_run_words[3]; + aot_gpr_31 = aot_run_words[3]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(48)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -7310,11 +7311,11 @@ L_0881B5CC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(72), aot_gpr_17); aot_gpr_17 = (aot_gpr_4 | 0u); aot_gpr_6 = (aot_gpr_6 & 255u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), aot_gpr_16); - { const std::uint32_t aot_run_words[3]{ctx.gpr[18], ctx.gpr[19], ctx.gpr[31]}; + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), ctx.gpr[16]); + { const std::uint32_t aot_run_words[3]{ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(76), aot_run_words); } { const bool branch_taken = aot_gpr_6 == 0u; - aot_gpr_16 = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); if (branch_taken) { goto L_0881B66C; } @@ -7325,7 +7326,7 @@ L_0881B620: aot_gpr_4 = (aot_gpr_17 | 0u); aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(56), static_cast(aot_gpr_5)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(56)))))); - ctx.gpr[31] = (0x0881B638u); + aot_gpr_31 = (0x0881B638u); aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881B638u) goto L_0881B638; AOT_REGCACHE_SYNC_OUT(); return; @@ -7334,15 +7335,15 @@ L_0881B638: ctx.gpr[19] = (ctx.gpr[2] | 0u); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (0u + static_cast(-1)); - ctx.gpr[31] = (0x0881B650u); + aot_gpr_31 = (0x0881B650u); aot_gpr_6 = (0u | 36u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881B650u) goto L_0881B650; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881B650u) goto L_0881B650; AOT_REGCACHE_SYNC_OUT(); return; L_0881B650: aot_gpr_4 = (aot_gpr_17 | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_6 = (ctx.gpr[19] | 0u); - ctx.gpr[31] = (0x0881B664u); + aot_gpr_31 = (0x0881B664u); ctx.gpr[7] = (ctx.gpr[18] | 0u); goto L_0881BB1C; L_0881B664: @@ -7358,7 +7359,7 @@ L_0881B66C: aot_gpr_4 = (aot_gpr_17 | 0u); aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(58), static_cast(aot_gpr_5)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(58)))))); - ctx.gpr[31] = (0x0881B684u); + aot_gpr_31 = (0x0881B684u); aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881B684u) goto L_0881B684; AOT_REGCACHE_SYNC_OUT(); return; @@ -7367,7 +7368,7 @@ L_0881B684: ctx.gpr[18] = (ctx.gpr[2] | 0u); aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(60), static_cast(aot_gpr_4)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(60)))))); - ctx.gpr[31] = (0x0881B69Cu); + aot_gpr_31 = (0x0881B69Cu); aot_gpr_4 = (aot_gpr_17 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0165_entry, 165u, 440u, 0x08A9B864u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881B69Cu) goto L_0881B69C; AOT_REGCACHE_SYNC_OUT(); return; @@ -7382,21 +7383,21 @@ L_0881B69C: aot_gpr_5 = (aot_gpr_5 - aot_gpr_6); ctx.gpr[8] = (aot_gpr_5 << 16u); ctx.gpr[8] = (static_cast(static_cast(ctx.gpr[8]) >> 16u)); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_6 = (ctx.gpr[18] | 0u); - ctx.gpr[31] = (0x0881B6D4u); + aot_gpr_31 = (0x0881B6D4u); ctx.gpr[7] = (ctx.gpr[2] | 0u); goto L_0881B774; L_0881B6D4: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(68), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; - ctx.gpr[31] = aot_run_words[4]; + aot_gpr_31 = aot_run_words[4]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(96)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -7404,15 +7405,15 @@ L_0881B6D4: AOT_REGCACHE_SYNC_OUT(); return; L_0881B6F0: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[31]); - ctx.gpr[31] = (0x0881B704u); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); + aot_gpr_31 = (0x0881B704u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0170_entry, 170u, 178u, 0x08AACCCCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881B704u) goto L_0881B704; AOT_REGCACHE_SYNC_OUT(); return; L_0881B704: - ctx.gpr[31] = (0x0881B70Cu); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(196))); + aot_gpr_31 = (0x0881B70Cu); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(196))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0038_entry, 38u, 598u, 0x0889E930u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881B70Cu) goto L_0881B70C; AOT_REGCACHE_SYNC_OUT(); return; L_0881B70C: @@ -7428,8 +7429,8 @@ L_0881B718: aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(2), static_cast(0u)); goto L_0881B71C; L_0881B71C: - ctx.gpr[31] = (0x0881B724u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(184))); + aot_gpr_31 = (0x0881B724u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(184))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0038_entry, 38u, 598u, 0x0889E930u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881B724u) goto L_0881B724; AOT_REGCACHE_SYNC_OUT(); return; L_0881B724: @@ -7445,8 +7446,8 @@ L_0881B730: aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(2), static_cast(0u)); goto L_0881B734; L_0881B734: - ctx.gpr[31] = (0x0881B73Cu); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + aot_gpr_31 = (0x0881B73Cu); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0038_entry, 38u, 598u, 0x0889E930u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881B73Cu) goto L_0881B73C; AOT_REGCACHE_SYNC_OUT(); return; L_0881B73C: @@ -7462,8 +7463,8 @@ L_0881B748: aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(2), static_cast(0u)); goto L_0881B74C; L_0881B74C: - ctx.gpr[31] = (0x0881B754u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(192))); + aot_gpr_31 = (0x0881B754u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(192))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0038_entry, 38u, 598u, 0x0889E930u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881B754u) goto L_0881B754; AOT_REGCACHE_SYNC_OUT(); return; L_0881B754: @@ -7479,9 +7480,9 @@ L_0881B760: aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(2), static_cast(0u)); goto L_0881B764; L_0881B764: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); - jump_target = ctx.gpr[31]; + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -7493,45 +7494,45 @@ L_0881B774: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), ctx.gpr[20]); ctx.gpr[19] = (aot_gpr_5 | 0u); ctx.gpr[20] = (aot_gpr_4 | 0u); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, ctx.gpr[18]}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[16], aot_gpr_17, ctx.gpr[18]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(36), aot_run_words); } aot_gpr_17 = (aot_gpr_6 | 0u); - aot_gpr_16 = (ctx.gpr[8] | 0u); + ctx.gpr[16] = (ctx.gpr[8] | 0u); ctx.gpr[18] = (ctx.gpr[7] | 0u); aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_5 = (0u | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), ctx.gpr[31]); - ctx.gpr[31] = (0x0881B7B4u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), aot_gpr_31); + aot_gpr_31 = (0x0881B7B4u); aot_gpr_6 = (0u | 36u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881B7B4u) goto L_0881B7B4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881B7B4u) goto L_0881B7B4; AOT_REGCACHE_SYNC_OUT(); return; L_0881B7B4: aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_5 = (aot_gpr_17 | 0u); aot_gpr_6 = (ctx.gpr[18] | 0u); - ctx.gpr[7] = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x0881B7CCu); + ctx.gpr[7] = (ctx.gpr[16] | 0u); + aot_gpr_31 = (0x0881B7CCu); ctx.gpr[8] = (aot_gpr_29 | 0u); goto L_0881B804; L_0881B7CC: aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_6 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x0881B7E0u); + aot_gpr_31 = (0x0881B7E0u); ctx.gpr[7] = (aot_gpr_29 | 0u); goto L_0881BB1C; L_0881B7E0: ctx.gpr[2] = (0u | 1u); { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(36), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; - ctx.gpr[31] = aot_run_words[5]; + aot_gpr_31 = aot_run_words[5]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(64)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -7541,14 +7542,14 @@ L_0881B804: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); ctx.gpr[18] = (ctx.gpr[8] | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[19]); aot_gpr_17 = (aot_gpr_6 | 0u); - aot_gpr_16 = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); ctx.gpr[19] = (ctx.gpr[18] | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[31]); - ctx.gpr[31] = (0x0881B834u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); + aot_gpr_31 = (0x0881B834u); ctx.gpr[8] = (ctx.gpr[18] + static_cast(4)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0170_entry, 170u, 182u, 0x08AACD10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881B834u) goto L_0881B834; AOT_REGCACHE_SYNC_OUT(); return; @@ -7577,7 +7578,7 @@ L_0881B854: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(752))); goto L_0881B864; L_0881B864: - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(752))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(752))); aot_fpr_12 = aot_fpr_12 - aot_fpr_14; ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); // nop @@ -7620,7 +7621,7 @@ L_0881B8A8: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(756))); goto L_0881B8B8; L_0881B8B8: - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(756))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(756))); aot_fpr_12 = aot_fpr_12 - aot_fpr_14; ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); // nop @@ -7663,7 +7664,7 @@ L_0881B8FC: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(760))); goto L_0881B90C; L_0881B90C: - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(760))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(760))); aot_fpr_12 = aot_fpr_12 - aot_fpr_14; ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); // nop @@ -7706,7 +7707,7 @@ L_0881B950: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(764))); goto L_0881B960; L_0881B960: - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(764))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(764))); aot_fpr_12 = aot_fpr_12 - aot_fpr_14; ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); // nop @@ -7749,7 +7750,7 @@ L_0881B9A4: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(768))); goto L_0881B9B4; L_0881B9B4: - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(768))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(768))); aot_fpr_12 = aot_fpr_12 - aot_fpr_14; ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); // nop @@ -7792,7 +7793,7 @@ L_0881B9F8: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(772))); goto L_0881BA08; L_0881BA08: - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(772))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(772))); aot_fpr_12 = aot_fpr_12 - aot_fpr_14; ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); // nop @@ -7835,7 +7836,7 @@ L_0881BA4C: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(776))); goto L_0881BA5C; L_0881BA5C: - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(776))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(776))); aot_fpr_12 = aot_fpr_12 - aot_fpr_14; ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); // nop @@ -7878,12 +7879,12 @@ L_0881BAA0: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(780))); goto L_0881BAB0; L_0881BAB0: - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(780))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(780))); aot_fpr_12 = aot_fpr_12 - aot_fpr_14; ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); if (branch_taken) { goto L_0881BAE8; } @@ -7896,17 +7897,17 @@ L_0881BAC8: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); - aot_gpr_4 = (aot_gpr_16 & 255u); + aot_gpr_4 = (ctx.gpr[16] & 255u); if (branch_taken) { goto L_0881BAEC; } goto L_0881BAE4; } L_0881BAE4: - aot_gpr_16 = (0u | 1u); + ctx.gpr[16] = (0u | 1u); goto L_0881BAE8; L_0881BAE8: - aot_gpr_4 = (aot_gpr_16 & 255u); + aot_gpr_4 = (ctx.gpr[16] & 255u); goto L_0881BAEC; L_0881BAEC: { const bool branch_taken = aot_gpr_4 != 0u; @@ -7924,13 +7925,13 @@ L_0881BAF4: L_0881BB00: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; - ctx.gpr[31] = aot_run_words[4]; + aot_gpr_31 = aot_run_words[4]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -7938,7 +7939,7 @@ L_0881BB00: AOT_REGCACHE_SYNC_OUT(); return; L_0881BB1C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[4]{ctx.gpr[16], aot_gpr_17, ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_17 = (aot_gpr_5 | 0u); ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(0))); @@ -7990,7 +7991,7 @@ L_0881BB1C: aot_mem.aot_direct_store8(ctx.gpr[9] + static_cast(0), static_cast(aot_gpr_5)); ctx.gpr[8] = (ctx.gpr[18] & 1u); aot_gpr_5 = (aot_gpr_4 | 0u); - aot_gpr_16 = (aot_gpr_6 | 0u); + ctx.gpr[16] = (aot_gpr_6 | 0u); aot_gpr_4 = (ctx.gpr[7] | 0u); { const bool branch_taken = ctx.gpr[8] == 0u; // nop @@ -8003,8 +8004,8 @@ L_0881BC08: ctx.gpr[7] = (aot_gpr_4 + static_cast(4)); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x0881BC1Cu); - aot_gpr_6 = (aot_gpr_16 | 0u); + aot_gpr_31 = (0x0881BC1Cu); + aot_gpr_6 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0170_entry, 170u, 206u, 0x08AACEA0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881BC1Cu) goto L_0881BC1C; AOT_REGCACHE_SYNC_OUT(); return; L_0881BC1C: @@ -8017,7 +8018,7 @@ L_0881BC1C: goto L_0881BC28; } L_0881BC28: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(752))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(752))); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); aot_gpr_5 = (aot_gpr_4 & 65535u); aot_gpr_5 = (aot_gpr_5 & 65535u); @@ -8076,7 +8077,7 @@ L_0881BCE8: goto L_0881BCF4; } L_0881BCF4: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(756))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(756))); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); aot_gpr_5 = (aot_gpr_4 & 65535u); aot_gpr_5 = (aot_gpr_5 & 65535u); @@ -8135,7 +8136,7 @@ L_0881BDB4: goto L_0881BDC0; } L_0881BDC0: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(760))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(760))); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); aot_gpr_5 = (aot_gpr_4 & 65535u); aot_gpr_5 = (aot_gpr_5 & 65535u); @@ -8194,7 +8195,7 @@ L_0881BE80: goto L_0881BE8C; } L_0881BE8C: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(764))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(764))); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); aot_gpr_5 = (aot_gpr_4 & 65535u); aot_gpr_5 = (aot_gpr_5 & 65535u); @@ -8253,7 +8254,7 @@ L_0881BF4C: goto L_0881BF58; } L_0881BF58: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(768))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(768))); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); aot_gpr_5 = (aot_gpr_4 & 65535u); aot_gpr_5 = (aot_gpr_5 & 65535u); diff --git a/profiles/vcs/generated/generated_unit_0006.cpp b/profiles/vcs/generated/generated_unit_0006.cpp index 439f787..ad933d8 100644 --- a/profiles/vcs/generated/generated_unit_0006.cpp +++ b/profiles/vcs/generated/generated_unit_0006.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0006[4096] = { }; void recomp_unit_0006_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,6,17,16 fprs=12,13,14,15 gpr_occ=4214 fpr_occ=741 gpr_total=5762 fpr_total=951 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,6,31,17 fprs=12,13,14,15 gpr_occ=4285 fpr_occ=741 gpr_total=5894 fpr_total=951 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_6 = ctx.gpr[6]; + std::uint32_t aot_gpr_31 = ctx.gpr[31]; std::uint32_t aot_gpr_17 = ctx.gpr[17]; - std::uint32_t aot_gpr_16 = ctx.gpr[16]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_14 = ctx.fpr[14]; float aot_fpr_15 = ctx.fpr[15]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[6] = aot_gpr_6; ctx.gpr[17] = aot_gpr_17; ctx.gpr[16] = aot_gpr_16; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[15] = aot_fpr_15; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_17 = ctx.gpr[17]; aot_gpr_16 = ctx.gpr[16]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_15 = ctx.fpr[15]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[6] = aot_gpr_6; ctx.gpr[31] = aot_gpr_31; ctx.gpr[17] = aot_gpr_17; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[15] = aot_fpr_15; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_17 = ctx.gpr[17]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_15 = ctx.fpr[15]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -926,7 +927,7 @@ L_0881C018: goto L_0881C024; } L_0881C024: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(772))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(772))); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); aot_gpr_5 = (aot_gpr_4 & 65535u); aot_gpr_5 = (aot_gpr_5 & 65535u); @@ -985,7 +986,7 @@ L_0881C0E4: goto L_0881C0F0; } L_0881C0F0: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(776))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(776))); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); aot_gpr_5 = (aot_gpr_4 & 65535u); aot_gpr_5 = (aot_gpr_5 & 65535u); @@ -1044,7 +1045,7 @@ L_0881C1B0: goto L_0881C1BC; } L_0881C1BC: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(780))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(780))); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); aot_gpr_5 = (aot_gpr_4 & 65535u); aot_gpr_5 = (aot_gpr_5 & 65535u); @@ -1096,12 +1097,12 @@ L_0881C1BC: L_0881C27C: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; - ctx.gpr[31] = aot_run_words[3]; + aot_gpr_31 = aot_run_words[3]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -1109,7 +1110,7 @@ L_0881C27C: AOT_REGCACHE_SYNC_OUT(); return; L_0881C294: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[4]{ctx.gpr[16], aot_gpr_17, ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } ctx.gpr[7] = (aot_gpr_5 | 0u); ctx.gpr[18] = (aot_gpr_6 | 0u); @@ -1124,7 +1125,7 @@ L_0881C294: aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_6 + static_cast(0))); aot_gpr_6 = (aot_gpr_6 << 8u); aot_gpr_5 = (aot_gpr_5 | aot_gpr_6); - aot_gpr_16 = (aot_gpr_5 & 65535u); + ctx.gpr[16] = (aot_gpr_5 & 65535u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); aot_gpr_6 = (aot_gpr_5 + static_cast(1)); aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), aot_gpr_6); @@ -1137,8 +1138,8 @@ L_0881C294: aot_gpr_5 = (aot_gpr_5 | aot_gpr_6); aot_gpr_5 = (aot_gpr_5 & 65535u); aot_gpr_5 = (aot_gpr_5 << 16u); - aot_gpr_16 = (aot_gpr_16 | aot_gpr_5); - aot_gpr_6 = (aot_gpr_16 & 1u); + ctx.gpr[16] = (ctx.gpr[16] | aot_gpr_5); + aot_gpr_6 = (ctx.gpr[16] & 1u); aot_gpr_5 = (aot_gpr_4 | 0u); { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_4 = (ctx.gpr[7] | 0u); @@ -1151,12 +1152,12 @@ L_0881C324: aot_gpr_6 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (aot_gpr_6 | 0u); - ctx.gpr[31] = (0x0881C338u); + aot_gpr_31 = (0x0881C338u); aot_gpr_6 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0170_entry, 170u, 217u, 0x08AAD1E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881C338u) goto L_0881C338; AOT_REGCACHE_SYNC_OUT(); return; L_0881C338: - aot_gpr_4 = (aot_gpr_16 & 2u); + aot_gpr_4 = (ctx.gpr[16] & 2u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -1193,7 +1194,7 @@ L_0881C344: aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(752), std::bit_cast(aot_fpr_12)); goto L_0881C3AC; L_0881C3AC: - aot_gpr_4 = (aot_gpr_16 & 4u); + aot_gpr_4 = (ctx.gpr[16] & 4u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -1230,7 +1231,7 @@ L_0881C3B8: aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(756), std::bit_cast(aot_fpr_12)); goto L_0881C420; L_0881C420: - aot_gpr_4 = (aot_gpr_16 & 8u); + aot_gpr_4 = (ctx.gpr[16] & 8u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -1267,7 +1268,7 @@ L_0881C42C: aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(760), std::bit_cast(aot_fpr_12)); goto L_0881C494; L_0881C494: - aot_gpr_4 = (aot_gpr_16 & 16u); + aot_gpr_4 = (ctx.gpr[16] & 16u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -1304,7 +1305,7 @@ L_0881C4A0: aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(764), std::bit_cast(aot_fpr_12)); goto L_0881C508; L_0881C508: - aot_gpr_4 = (aot_gpr_16 & 32u); + aot_gpr_4 = (ctx.gpr[16] & 32u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -1341,7 +1342,7 @@ L_0881C514: aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(768), std::bit_cast(aot_fpr_12)); goto L_0881C57C; L_0881C57C: - aot_gpr_4 = (aot_gpr_16 & 64u); + aot_gpr_4 = (ctx.gpr[16] & 64u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -1378,7 +1379,7 @@ L_0881C588: aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(772), std::bit_cast(aot_fpr_12)); goto L_0881C5F0; L_0881C5F0: - aot_gpr_4 = (aot_gpr_16 & 128u); + aot_gpr_4 = (ctx.gpr[16] & 128u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -1415,7 +1416,7 @@ L_0881C5FC: aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(776), std::bit_cast(aot_fpr_12)); goto L_0881C664; L_0881C664: - aot_gpr_4 = (aot_gpr_16 & 256u); + aot_gpr_4 = (ctx.gpr[16] & 256u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -1454,12 +1455,12 @@ L_0881C670: L_0881C6D8: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; - ctx.gpr[31] = aot_run_words[3]; + aot_gpr_31 = aot_run_words[3]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -1467,25 +1468,25 @@ L_0881C6D8: AOT_REGCACHE_SYNC_OUT(); return; L_0881C6F0: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[31]); - aot_gpr_16 = (aot_gpr_4 | 0u); - ctx.gpr[31] = (0x0881C708u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); + ctx.gpr[16] = (aot_gpr_4 | 0u); + aot_gpr_31 = (0x0881C708u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0170_entry, 170u, 264u, 0x08AAD80Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881C708u) goto L_0881C708; AOT_REGCACHE_SYNC_OUT(); return; L_0881C708: aot_gpr_4 = (2234u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(18672)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(92), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(92), aot_gpr_4); aot_fpr_12 = std::bit_cast(0u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(384), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(384), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (0u | 5u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(380), aot_gpr_4); - ctx.gpr[2] = (aot_gpr_16 | 0u); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); - jump_target = ctx.gpr[31]; + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(380), aot_gpr_4); + ctx.gpr[2] = (ctx.gpr[16] | 0u); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -1493,11 +1494,11 @@ L_0881C708: AOT_REGCACHE_SYNC_OUT(); return; L_0881C738: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, ctx.gpr[31]}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[16], aot_gpr_17, aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_17 = (aot_gpr_4 | 0u); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_16 = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); if (branch_taken) { goto L_0881C780; } @@ -1508,12 +1509,12 @@ L_0881C754: aot_gpr_4 = (aot_gpr_4 + static_cast(18672)); aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(92), aot_gpr_4); aot_gpr_4 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x0881C76Cu); + aot_gpr_31 = (0x0881C76Cu); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0170_entry, 170u, 266u, 0x08AAD844u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881C76Cu) goto L_0881C76C; AOT_REGCACHE_SYNC_OUT(); return; L_0881C76C: - aot_gpr_4 = (aot_gpr_16 & 1u); + aot_gpr_4 = (ctx.gpr[16] & 1u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -1522,18 +1523,18 @@ L_0881C76C: goto L_0881C778; } L_0881C778: - ctx.gpr[31] = (0x0881C780u); + aot_gpr_31 = (0x0881C780u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881C780u) goto L_0881C780; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881C780u) goto L_0881C780; AOT_REGCACHE_SYNC_OUT(); return; L_0881C780: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; - ctx.gpr[31] = aot_run_words[2]; + aot_gpr_31 = aot_run_words[2]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -1541,14 +1542,14 @@ L_0881C780: AOT_REGCACHE_SYNC_OUT(); return; L_0881C794: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[31]); - ctx.gpr[31] = (0x0881C7A4u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); + aot_gpr_31 = (0x0881C7A4u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0170_entry, 170u, 280u, 0x08AAD998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881C7A4u) goto L_0881C7A4; AOT_REGCACHE_SYNC_OUT(); return; L_0881C7A4: - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -1556,10 +1557,10 @@ L_0881C7A4: AOT_REGCACHE_SYNC_OUT(); return; L_0881C7B0: aot_gpr_29 = (aot_gpr_29 + static_cast(-544)); - { const std::uint32_t aot_run_words[16]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[16]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), ctx.gpr[16], aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(472), aot_run_words); } ctx.gpr[23] = (aot_gpr_4 | 0u); - ctx.gpr[31] = (0x0881C800u); + aot_gpr_31 = (0x0881C800u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0170_entry, 170u, 271u, 0x08AAD8A0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881C800u) goto L_0881C800; AOT_REGCACHE_SYNC_OUT(); return; @@ -1568,9 +1569,9 @@ L_0881C800: aot_gpr_5 = (aot_gpr_4 + static_cast(10)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(16), static_cast(aot_gpr_5)); - aot_gpr_16 = (2237u << 16u); - aot_gpr_16 = (aot_gpr_16 + static_cast(-28736)); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(84))); + ctx.gpr[16] = (2237u << 16u); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(-28736)); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(84))); aot_gpr_5 = (aot_gpr_5 << 16u); aot_gpr_5 = (static_cast(static_cast(aot_gpr_5) >> 16u)); aot_gpr_5 = (aot_gpr_5 << 16u); @@ -1581,7 +1582,7 @@ L_0881C800: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(370)))))); aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(374), static_cast(aot_gpr_5)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(374)))))); - ctx.gpr[31] = (0x0881C84Cu); + aot_gpr_31 = (0x0881C84Cu); aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881C84Cu) goto L_0881C84C; AOT_REGCACHE_SYNC_OUT(); return; @@ -1641,7 +1642,7 @@ L_0881C8A8: goto L_0881C8F0; } L_0881C8F0: - ctx.gpr[31] = (0x0881C8F8u); + aot_gpr_31 = (0x0881C8F8u); aot_gpr_4 = (ctx.gpr[23] | 0u); goto L_0881D924; L_0881C8F8: @@ -1714,7 +1715,7 @@ L_0881C998: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(460), ctx.gpr[22]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(452), ctx.gpr[20]); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[30] + static_cast(3)))))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(100))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(100))); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(52))); aot_gpr_4 = (aot_gpr_4 ^ aot_gpr_5); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); @@ -1738,7 +1739,7 @@ L_0881C9C0: L_0881C9CC: aot_gpr_17 = (aot_mem.aot_direct_load32(ctx.gpr[30] + static_cast(240))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(112))); - aot_gpr_16 = (aot_gpr_29 + static_cast(128)); + ctx.gpr[16] = (aot_gpr_29 + static_cast(128)); { const bool branch_taken = aot_gpr_4 == 0u; ctx.gpr[18] = (aot_gpr_29 + static_cast(32)); if (branch_taken) { @@ -1757,7 +1758,7 @@ L_0881C9E0: goto L_0881C9F0; } L_0881C9F0: - ctx.gpr[31] = (0x0881C9F8u); + aot_gpr_31 = (0x0881C9F8u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(112))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 129u, 0x089D89E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881C9F8u) goto L_0881C9F8; AOT_REGCACHE_SYNC_OUT(); return; @@ -1770,12 +1771,12 @@ L_0881C9FC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(120))); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(120), aot_gpr_4); - ctx.gpr[31] = (0x0881CA18u); + aot_gpr_31 = (0x0881CA18u); aot_gpr_4 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 939u, 0x0885FF48u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881CA18u) goto L_0881CA18; AOT_REGCACHE_SYNC_OUT(); return; L_0881CA18: - ctx.gpr[31] = (0x0881CA20u); + aot_gpr_31 = (0x0881CA20u); aot_gpr_4 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 936u, 0x0885FF14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881CA20u) goto L_0881CA20; AOT_REGCACHE_SYNC_OUT(); return; @@ -1791,7 +1792,7 @@ L_0881CA20: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(128))); @@ -1836,12 +1837,12 @@ L_0881CA68: } L_0881CA70: aot_gpr_5 = (aot_gpr_29 + static_cast(96)); - ctx.gpr[31] = (0x0881CA7Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_31 = (0x0881CA7Cu); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 464u, 0x08A931D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881CA7Cu) goto L_0881CA7C; AOT_REGCACHE_SYNC_OUT(); return; L_0881CA7C: - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -1858,7 +1859,7 @@ L_0881CA7C: ctx.execute_vfpu_vscl_ct<1u, 1u, 28u, 3u>(); ctx.execute_vfpu_vcmov_ct<1u, 0u, 3u, 0u, false>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<1u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } goto L_0881CA9C; @@ -1874,13 +1875,13 @@ L_0881CA9C: aot_fpr_13 = aot_fpr_13 / aot_fpr_15; { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_4 = (ctx.gpr[18] | 0u); - ctx.gpr[31] = (0x0881CAD0u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_31 = (0x0881CAD0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 180u, 0x08B1D050u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881CAD0u) goto L_0881CAD0; AOT_REGCACHE_SYNC_OUT(); return; L_0881CAD0: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(112))); - ctx.gpr[31] = (0x0881CADCu); + aot_gpr_31 = (0x0881CADCu); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 181u, 0x08B1D07Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881CADCu) goto L_0881CADC; AOT_REGCACHE_SYNC_OUT(); return; @@ -1908,7 +1909,7 @@ L_0881CAF4: L_0881CB00: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(112))); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[30] + static_cast(272))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[30] + static_cast(272))); if (branch_taken) { goto L_0881CB24; } @@ -1918,19 +1919,19 @@ L_0881CB0C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(120))); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_4 = (aot_gpr_16 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(16)); if (branch_taken) { goto L_0881CB28; } goto L_0881CB1C; } L_0881CB1C: - ctx.gpr[31] = (0x0881CB24u); + aot_gpr_31 = (0x0881CB24u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(112))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 129u, 0x089D89E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881CB24u) goto L_0881CB24; AOT_REGCACHE_SYNC_OUT(); return; L_0881CB24: - aot_gpr_4 = (aot_gpr_16 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(16)); goto L_0881CB28; L_0881CB28: aot_gpr_5 = (0u + static_cast(-2)); @@ -1938,18 +1939,18 @@ L_0881CB28: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(120))); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(120), aot_gpr_4); - ctx.gpr[31] = (0x0881CB44u); + aot_gpr_31 = (0x0881CB44u); aot_gpr_4 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 939u, 0x0885FF48u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881CB44u) goto L_0881CB44; AOT_REGCACHE_SYNC_OUT(); return; L_0881CB44: - ctx.gpr[31] = (0x0881CB4Cu); + aot_gpr_31 = (0x0881CB4Cu); aot_gpr_4 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 936u, 0x0885FF14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881CB4Cu) goto L_0881CB4C; AOT_REGCACHE_SYNC_OUT(); return; L_0881CB4C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(112))); - ctx.gpr[31] = (0x0881CB58u); + aot_gpr_31 = (0x0881CB58u); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 181u, 0x08B1D07Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881CB58u) goto L_0881CB58; AOT_REGCACHE_SYNC_OUT(); return; @@ -2021,7 +2022,7 @@ L_0881CBBC: L_0881CBE4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(112))); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[30] + static_cast(256))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[30] + static_cast(256))); if (branch_taken) { goto L_0881CC08; } @@ -2031,19 +2032,19 @@ L_0881CBF0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(120))); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_4 = (aot_gpr_16 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(16)); if (branch_taken) { goto L_0881CC0C; } goto L_0881CC00; } L_0881CC00: - ctx.gpr[31] = (0x0881CC08u); + aot_gpr_31 = (0x0881CC08u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(112))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 129u, 0x089D89E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881CC08u) goto L_0881CC08; AOT_REGCACHE_SYNC_OUT(); return; L_0881CC08: - aot_gpr_4 = (aot_gpr_16 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(16)); goto L_0881CC0C; L_0881CC0C: aot_gpr_5 = (0u + static_cast(-2)); @@ -2051,12 +2052,12 @@ L_0881CC0C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(120))); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(120), aot_gpr_4); - ctx.gpr[31] = (0x0881CC28u); + aot_gpr_31 = (0x0881CC28u); aot_gpr_4 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 939u, 0x0885FF48u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881CC28u) goto L_0881CC28; AOT_REGCACHE_SYNC_OUT(); return; L_0881CC28: - ctx.gpr[31] = (0x0881CC30u); + aot_gpr_31 = (0x0881CC30u); aot_gpr_4 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 936u, 0x0885FF14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881CC30u) goto L_0881CC30; AOT_REGCACHE_SYNC_OUT(); return; @@ -2118,7 +2119,7 @@ L_0881CC7C: } L_0881CC84: aot_gpr_5 = (aot_gpr_29 + static_cast(96)); - ctx.gpr[31] = (0x0881CC90u); + aot_gpr_31 = (0x0881CC90u); aot_gpr_4 = (aot_gpr_17 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 464u, 0x08A931D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881CC90u) goto L_0881CC90; AOT_REGCACHE_SYNC_OUT(); return; @@ -2155,13 +2156,13 @@ L_0881CCB0: { const float fs = aot_fpr_13; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = aot_fpr_12 + ctx.fpr[22]; aot_gpr_4 = (ctx.gpr[18] | 0u); - ctx.gpr[31] = (0x0881CCE0u); + aot_gpr_31 = (0x0881CCE0u); aot_gpr_5 = (aot_gpr_17 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 180u, 0x08B1D050u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881CCE0u) goto L_0881CCE0; AOT_REGCACHE_SYNC_OUT(); return; L_0881CCE0: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(112))); - ctx.gpr[31] = (0x0881CCECu); + aot_gpr_31 = (0x0881CCECu); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 181u, 0x08B1D07Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881CCECu) goto L_0881CCEC; AOT_REGCACHE_SYNC_OUT(); return; @@ -2176,7 +2177,7 @@ L_0881CCEC: goto L_0881CCFC; } L_0881CCFC: - ctx.gpr[31] = (0x0881CD04u); + aot_gpr_31 = (0x0881CD04u); aot_gpr_4 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 939u, 0x0885FF48u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881CD04u) goto L_0881CD04; AOT_REGCACHE_SYNC_OUT(); return; @@ -2204,10 +2205,10 @@ L_0881CD18: goto L_0881CD30; } L_0881CD30: - aot_gpr_16 = (aot_gpr_29 + static_cast(144)); + ctx.gpr[16] = (aot_gpr_29 + static_cast(144)); aot_gpr_4 = (ctx.gpr[22] | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x0881CD44u); + aot_gpr_5 = (ctx.gpr[16] | 0u); + aot_gpr_31 = (0x0881CD44u); aot_gpr_6 = (0u | 20u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0167_entry, 167u, 429u, 0x08AA1B48u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881CD44u) goto L_0881CD44; AOT_REGCACHE_SYNC_OUT(); return; @@ -2228,7 +2229,7 @@ L_0881CD4C: { const float fs = aot_fpr_13; const float ft = aot_fpr_15; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_fpr_12 = aot_fpr_12 + aot_fpr_13; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(148), std::bit_cast(aot_fpr_12)); - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -2244,7 +2245,7 @@ L_0881CD4C: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } goto L_0881CD78; L_0881CD78: - ctx.gpr[31] = (0x0881CD80u); + aot_gpr_31 = (0x0881CD80u); aot_gpr_4 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 936u, 0x0885FF14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881CD80u) goto L_0881CD80; AOT_REGCACHE_SYNC_OUT(); return; @@ -2260,7 +2261,7 @@ L_0881CD80: L_0881CD8C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(112))); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[30] + static_cast(252))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[30] + static_cast(252))); if (branch_taken) { goto L_0881CDB0; } @@ -2270,19 +2271,19 @@ L_0881CD98: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(120))); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_4 = (aot_gpr_16 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(16)); if (branch_taken) { goto L_0881CDB4; } goto L_0881CDA8; } L_0881CDA8: - ctx.gpr[31] = (0x0881CDB0u); + aot_gpr_31 = (0x0881CDB0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(112))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 129u, 0x089D89E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881CDB0u) goto L_0881CDB0; AOT_REGCACHE_SYNC_OUT(); return; L_0881CDB0: - aot_gpr_4 = (aot_gpr_16 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(16)); goto L_0881CDB4; L_0881CDB4: aot_gpr_5 = (0u + static_cast(-2)); @@ -2290,12 +2291,12 @@ L_0881CDB4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(120))); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(120), aot_gpr_4); - ctx.gpr[31] = (0x0881CDD0u); + aot_gpr_31 = (0x0881CDD0u); aot_gpr_4 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 939u, 0x0885FF48u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881CDD0u) goto L_0881CDD0; AOT_REGCACHE_SYNC_OUT(); return; L_0881CDD0: - ctx.gpr[31] = (0x0881CDD8u); + aot_gpr_31 = (0x0881CDD8u); aot_gpr_4 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 936u, 0x0885FF14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881CDD8u) goto L_0881CDD8; AOT_REGCACHE_SYNC_OUT(); return; @@ -2313,13 +2314,13 @@ L_0881CDD8: { const float fs = aot_fpr_13; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = aot_fpr_12 - ctx.fpr[22]; aot_gpr_4 = (ctx.gpr[18] | 0u); - ctx.gpr[31] = (0x0881CE14u); + aot_gpr_31 = (0x0881CE14u); aot_gpr_5 = (aot_gpr_17 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 180u, 0x08B1D050u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881CE14u) goto L_0881CE14; AOT_REGCACHE_SYNC_OUT(); return; L_0881CE14: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(112))); - ctx.gpr[31] = (0x0881CE20u); + aot_gpr_31 = (0x0881CE20u); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 181u, 0x08B1D07Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881CE20u) goto L_0881CE20; AOT_REGCACHE_SYNC_OUT(); return; @@ -2334,7 +2335,7 @@ L_0881CE20: goto L_0881CE30; } L_0881CE30: - ctx.gpr[31] = (0x0881CE38u); + aot_gpr_31 = (0x0881CE38u); aot_gpr_4 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 939u, 0x0885FF48u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881CE38u) goto L_0881CE38; AOT_REGCACHE_SYNC_OUT(); return; @@ -2362,10 +2363,10 @@ L_0881CE4C: goto L_0881CE64; } L_0881CE64: - aot_gpr_16 = (aot_gpr_29 + static_cast(144)); + ctx.gpr[16] = (aot_gpr_29 + static_cast(144)); aot_gpr_4 = (ctx.gpr[22] | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x0881CE78u); + aot_gpr_5 = (ctx.gpr[16] | 0u); + aot_gpr_31 = (0x0881CE78u); aot_gpr_6 = (0u | 19u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0167_entry, 167u, 429u, 0x08AA1B48u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881CE78u) goto L_0881CE78; AOT_REGCACHE_SYNC_OUT(); return; @@ -2386,7 +2387,7 @@ L_0881CE80: { const float fs = aot_fpr_13; const float ft = aot_fpr_15; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_fpr_12 = aot_fpr_12 + aot_fpr_13; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(148), std::bit_cast(aot_fpr_12)); - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -2402,7 +2403,7 @@ L_0881CE80: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } goto L_0881CEAC; L_0881CEAC: - ctx.gpr[31] = (0x0881CEB4u); + aot_gpr_31 = (0x0881CEB4u); aot_gpr_4 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 936u, 0x0885FF14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881CEB4u) goto L_0881CEB4; AOT_REGCACHE_SYNC_OUT(); return; @@ -2423,7 +2424,7 @@ L_0881CEBC: L_0881CECC: aot_gpr_17 = (aot_mem.aot_direct_load32(ctx.gpr[30] + static_cast(248))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(112))); - aot_gpr_16 = (aot_gpr_29 + static_cast(128)); + ctx.gpr[16] = (aot_gpr_29 + static_cast(128)); ctx.gpr[18] = (aot_gpr_29 + static_cast(32)); aot_gpr_5 = (16457u << 16u); aot_gpr_5 = (aot_gpr_5 | 4059u); @@ -2445,7 +2446,7 @@ L_0881CEF4: } goto L_0881CF04; L_0881CF04: - ctx.gpr[31] = (0x0881CF0Cu); + aot_gpr_31 = (0x0881CF0Cu); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(112))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 129u, 0x089D89E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881CF0Cu) goto L_0881CF0C; AOT_REGCACHE_SYNC_OUT(); return; @@ -2459,12 +2460,12 @@ L_0881CF10: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(120))); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(120), aot_gpr_4); - ctx.gpr[31] = (0x0881CF30u); + aot_gpr_31 = (0x0881CF30u); aot_gpr_4 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 939u, 0x0885FF48u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881CF30u) goto L_0881CF30; AOT_REGCACHE_SYNC_OUT(); return; L_0881CF30: - ctx.gpr[31] = (0x0881CF38u); + aot_gpr_31 = (0x0881CF38u); aot_gpr_4 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 936u, 0x0885FF14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881CF38u) goto L_0881CF38; AOT_REGCACHE_SYNC_OUT(); return; @@ -2480,7 +2481,7 @@ L_0881CF38: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(128))); @@ -2525,12 +2526,12 @@ L_0881CF80: } L_0881CF88: aot_gpr_5 = (aot_gpr_29 + static_cast(96)); - ctx.gpr[31] = (0x0881CF94u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_31 = (0x0881CF94u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 464u, 0x08A931D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881CF94u) goto L_0881CF94; AOT_REGCACHE_SYNC_OUT(); return; L_0881CF94: - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -2547,7 +2548,7 @@ L_0881CF94: ctx.execute_vfpu_vscl_ct<1u, 1u, 28u, 3u>(); ctx.execute_vfpu_vcmov_ct<1u, 0u, 3u, 0u, false>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<1u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } goto L_0881CFB4; @@ -2560,13 +2561,13 @@ L_0881CFB4: { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); aot_gpr_4 = (ctx.gpr[18] | 0u); - ctx.gpr[31] = (0x0881CFDCu); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_31 = (0x0881CFDCu); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 180u, 0x08B1D050u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881CFDCu) goto L_0881CFDC; AOT_REGCACHE_SYNC_OUT(); return; L_0881CFDC: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(112))); - ctx.gpr[31] = (0x0881CFE8u); + aot_gpr_31 = (0x0881CFE8u); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 181u, 0x08B1D07Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881CFE8u) goto L_0881CFE8; AOT_REGCACHE_SYNC_OUT(); return; @@ -2597,7 +2598,7 @@ L_0881D000: } goto L_0881D010; L_0881D010: - ctx.gpr[31] = (0x0881D018u); + aot_gpr_31 = (0x0881D018u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(112))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 129u, 0x089D89E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881D018u) goto L_0881D018; AOT_REGCACHE_SYNC_OUT(); return; @@ -2611,12 +2612,12 @@ L_0881D01C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(120))); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(120), aot_gpr_4); - ctx.gpr[31] = (0x0881D03Cu); + aot_gpr_31 = (0x0881D03Cu); aot_gpr_4 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 939u, 0x0885FF48u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881D03Cu) goto L_0881D03C; AOT_REGCACHE_SYNC_OUT(); return; L_0881D03C: - ctx.gpr[31] = (0x0881D044u); + aot_gpr_31 = (0x0881D044u); aot_gpr_4 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 936u, 0x0885FF14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881D044u) goto L_0881D044; AOT_REGCACHE_SYNC_OUT(); return; @@ -2630,13 +2631,13 @@ L_0881D044: aot_fpr_14 = std::bit_cast(std::bit_cast(aot_fpr_14) ^ 0x80000000u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(128), std::bit_cast(aot_fpr_14)); aot_gpr_4 = (ctx.gpr[18] | 0u); - ctx.gpr[31] = (0x0881D070u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_31 = (0x0881D070u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 180u, 0x08B1D050u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881D070u) goto L_0881D070; AOT_REGCACHE_SYNC_OUT(); return; L_0881D070: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(112))); - ctx.gpr[31] = (0x0881D07Cu); + aot_gpr_31 = (0x0881D07Cu); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 181u, 0x08B1D07Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881D07Cu) goto L_0881D07C; AOT_REGCACHE_SYNC_OUT(); return; @@ -2652,9 +2653,9 @@ L_0881D07C: ctx.gpr[21] = (0u | 12u); goto L_0881D0A0; L_0881D0A0: - aot_gpr_16 = (ctx.gpr[18] << 2u); - aot_gpr_16 = (ctx.gpr[30] + aot_gpr_16); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(176))); + ctx.gpr[16] = (ctx.gpr[18] << 2u); + ctx.gpr[16] = (ctx.gpr[30] + ctx.gpr[16]); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(176))); aot_gpr_17 = (ctx.gpr[20] << 2u); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_17 = (ctx.gpr[30] + aot_gpr_17); @@ -2664,20 +2665,20 @@ L_0881D0A0: goto L_0881D0B8; } L_0881D0B8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(176))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(176))); { const float fs = ctx.fpr[20]; const float ft = ctx.fpr[26]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast(384))); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_5 = (0u | 1u); - ctx.gpr[31] = (0x0881D0D4u); + aot_gpr_31 = (0x0881D0D4u); aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 821u, 0x08AFF730u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881D0D4u) goto L_0881D0D4; AOT_REGCACHE_SYNC_OUT(); return; L_0881D0D4: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(160), 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(176))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(176))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(448))); - ctx.gpr[31] = (0x0881D0E8u); + aot_gpr_31 = (0x0881D0E8u); aot_gpr_5 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0091_entry, 91u, 626u, 0x08972E68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881D0E8u) goto L_0881D0E8; AOT_REGCACHE_SYNC_OUT(); return; @@ -2693,7 +2694,7 @@ L_0881D0E8: L_0881D0F4: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(160))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(456))); - ctx.gpr[31] = (0x0881D104u); + aot_gpr_31 = (0x0881D104u); aot_gpr_4 = (ctx.gpr[23] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0159_entry, 159u, 201u, 0x08A823FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881D104u) goto L_0881D104; AOT_REGCACHE_SYNC_OUT(); return; @@ -2712,7 +2713,7 @@ L_0881D110: { const float fs = ctx.fpr[20]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); aot_gpr_5 = (0u | 1u); - ctx.gpr[31] = (0x0881D12Cu); + aot_gpr_31 = (0x0881D12Cu); aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 821u, 0x08AFF730u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881D12Cu) goto L_0881D12C; AOT_REGCACHE_SYNC_OUT(); return; @@ -2720,7 +2721,7 @@ L_0881D12C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(160), 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(176))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(448))); - ctx.gpr[31] = (0x0881D140u); + aot_gpr_31 = (0x0881D140u); aot_gpr_5 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0091_entry, 91u, 626u, 0x08972E68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881D140u) goto L_0881D140; AOT_REGCACHE_SYNC_OUT(); return; @@ -2745,7 +2746,7 @@ L_0881D14C: L_0881D160: aot_gpr_6 = (aot_gpr_5 | 0u); aot_gpr_5 = (aot_gpr_4 | 0u); - ctx.gpr[31] = (0x0881D170u); + aot_gpr_31 = (0x0881D170u); aot_gpr_4 = (ctx.gpr[23] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0159_entry, 159u, 201u, 0x08A823FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881D170u) goto L_0881D170; AOT_REGCACHE_SYNC_OUT(); return; @@ -2779,8 +2780,8 @@ L_0881D18C: goto L_0881D194; } L_0881D194: - aot_gpr_16 = (0u + static_cast(-1)); - aot_gpr_17 = (aot_gpr_16 | 0u); + ctx.gpr[16] = (0u + static_cast(-1)); + aot_gpr_17 = (ctx.gpr[16] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[30])); ctx.fpr[20] = std::bit_cast(std::bit_cast(aot_fpr_12)); ctx.fpr[22] = std::bit_cast(std::bit_cast(ctx.fpr[20])); @@ -2807,7 +2808,7 @@ L_0881D1C0: ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0881D1D8: - aot_gpr_16 = (0u | 1u); + ctx.gpr[16] = (0u | 1u); ctx.fpr[20] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30700))); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20]) ^ 0x80000000u); { const bool branch_taken = 0u == 0u; @@ -2818,7 +2819,7 @@ L_0881D1D8: goto L_0881D1EC; } L_0881D1EC: - aot_gpr_16 = (0u | 1u); + ctx.gpr[16] = (0u | 1u); ctx.fpr[20] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30700))); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20]) ^ 0x80000000u); aot_gpr_17 = (0u | 0u); @@ -2831,7 +2832,7 @@ L_0881D1EC: goto L_0881D208; } L_0881D208: - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30696))); ctx.fpr[20] = std::bit_cast(std::bit_cast(aot_fpr_12)); aot_gpr_17 = (0u | 0u); @@ -2845,7 +2846,7 @@ L_0881D208: goto L_0881D228; } L_0881D228: - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30684))); ctx.fpr[20] = std::bit_cast(std::bit_cast(aot_fpr_12)); aot_gpr_17 = (0u | 0u); @@ -2858,12 +2859,12 @@ L_0881D228: goto L_0881D244; } L_0881D244: - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30680))); ctx.fpr[20] = std::bit_cast(std::bit_cast(aot_fpr_12)); goto L_0881D250; L_0881D250: - { const bool branch_taken = static_cast(aot_gpr_16) < 0; + { const bool branch_taken = static_cast(ctx.gpr[16]) < 0; // nop if (branch_taken) { goto L_0881D290; @@ -2875,8 +2876,8 @@ L_0881D258: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(780))); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_13) & 0x7FFFFFFFu); { const float fs = aot_fpr_13; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - aot_gpr_5 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x0881D274u); + aot_gpr_5 = (ctx.gpr[16] | 0u); + aot_gpr_31 = (0x0881D274u); aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 821u, 0x08AFF730u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881D274u) goto L_0881D274; AOT_REGCACHE_SYNC_OUT(); return; @@ -2885,8 +2886,8 @@ L_0881D274: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(780))); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) & 0x7FFFFFFFu); { const float fs = aot_fpr_12; const float ft = ctx.fpr[20]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - aot_gpr_5 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x0881D290u); + aot_gpr_5 = (ctx.gpr[16] | 0u); + aot_gpr_31 = (0x0881D290u); aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 821u, 0x08AFF730u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881D290u) goto L_0881D290; AOT_REGCACHE_SYNC_OUT(); return; @@ -2904,7 +2905,7 @@ L_0881D298: aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) & 0x7FFFFFFFu); { const float fs = aot_fpr_12; const float ft = ctx.fpr[22]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x0881D2B4u); + aot_gpr_31 = (0x0881D2B4u); aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 821u, 0x08AFF730u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881D2B4u) goto L_0881D2B4; AOT_REGCACHE_SYNC_OUT(); return; @@ -2924,7 +2925,7 @@ L_0881D2C4: aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) & 0x7FFFFFFFu); { const float fs = aot_fpr_12; const float ft = ctx.fpr[28]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x0881D2E0u); + aot_gpr_31 = (0x0881D2E0u); aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 821u, 0x08AFF730u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881D2E0u) goto L_0881D2E0; AOT_REGCACHE_SYNC_OUT(); return; @@ -2946,7 +2947,7 @@ L_0881D2F0: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-11388))); { const float fs = aot_fpr_13; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_5 = (0u | 0u); - ctx.gpr[31] = (0x0881D314u); + aot_gpr_31 = (0x0881D314u); aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 821u, 0x08AFF730u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881D314u) goto L_0881D314; AOT_REGCACHE_SYNC_OUT(); return; @@ -2982,7 +2983,7 @@ L_0881D328: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[30] + static_cast(200))); aot_gpr_5 = (0u | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); - ctx.gpr[31] = (0x0881D368u); + aot_gpr_31 = (0x0881D368u); aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 821u, 0x08AFF730u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881D368u) goto L_0881D368; AOT_REGCACHE_SYNC_OUT(); return; @@ -2990,7 +2991,7 @@ L_0881D368: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[30] + static_cast(188))); aot_gpr_5 = (0u | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); - ctx.gpr[31] = (0x0881D37Cu); + aot_gpr_31 = (0x0881D37Cu); aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 821u, 0x08AFF730u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881D37Cu) goto L_0881D37C; AOT_REGCACHE_SYNC_OUT(); return; @@ -3016,7 +3017,7 @@ L_0881D38C: goto L_0881D3A0; } L_0881D3A0: - ctx.gpr[31] = (0x0881D3A8u); + aot_gpr_31 = (0x0881D3A8u); aot_gpr_4 = (aot_gpr_29 + static_cast(176)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 16u, 0x08960154u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881D3A8u) goto L_0881D3A8; AOT_REGCACHE_SYNC_OUT(); return; @@ -3042,7 +3043,7 @@ L_0881D3D8: aot_gpr_5 = (std::bit_cast(aot_fpr_13)); aot_gpr_4 = (ctx.gpr[23] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[26])); - ctx.gpr[31] = (0x0881D3F4u); + aot_gpr_31 = (0x0881D3F4u); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_14)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0193_entry, 193u, 371u, 0x08B09D30u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881D3F4u) goto L_0881D3F4; AOT_REGCACHE_SYNC_OUT(); return; @@ -3080,12 +3081,12 @@ L_0881D420: aot_gpr_6 = (aot_gpr_29 + static_cast(224)); aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_5 = (0u | 0u); - ctx.gpr[31] = (0x0881D438u); + aot_gpr_31 = (0x0881D438u); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0167_entry, 167u, 384u, 0x08AA1844u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881D438u) goto L_0881D438; AOT_REGCACHE_SYNC_OUT(); return; L_0881D438: - aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[30] + static_cast(268))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[30] + static_cast(268))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(112))); ctx.gpr[30] = (ctx.gpr[23] + static_cast(320)); aot_gpr_17 = (aot_gpr_29 + static_cast(80)); @@ -3101,19 +3102,19 @@ L_0881D454: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(120))); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_4 = (aot_gpr_16 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(16)); if (branch_taken) { goto L_0881D470; } goto L_0881D464; } L_0881D464: - ctx.gpr[31] = (0x0881D46Cu); + aot_gpr_31 = (0x0881D46Cu); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(112))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 129u, 0x089D89E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881D46Cu) goto L_0881D46C; AOT_REGCACHE_SYNC_OUT(); return; L_0881D46C: - aot_gpr_4 = (aot_gpr_16 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(16)); goto L_0881D470; L_0881D470: aot_gpr_5 = (0u + static_cast(-2)); @@ -3122,7 +3123,7 @@ L_0881D470: aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); ctx.gpr[20] = (aot_gpr_29 + static_cast(48)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(120), aot_gpr_4); - ctx.gpr[31] = (0x0881D490u); + aot_gpr_31 = (0x0881D490u); aot_gpr_4 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 939u, 0x0885FF48u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881D490u) goto L_0881D490; AOT_REGCACHE_SYNC_OUT(); return; @@ -3365,7 +3366,7 @@ L_0881D6B4: { const float fs = aot_fpr_14; const float ft = ctx.fpr[24]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } aot_fpr_12 = aot_fpr_12 + aot_fpr_14; aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(8), std::bit_cast(aot_fpr_12)); - ctx.gpr[31] = (0x0881D6D0u); + aot_gpr_31 = (0x0881D6D0u); aot_gpr_4 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 936u, 0x0885FF14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881D6D0u) goto L_0881D6D0; AOT_REGCACHE_SYNC_OUT(); return; @@ -3440,7 +3441,7 @@ L_0881D710: L_0881D760: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); - aot_gpr_16 = (aot_gpr_4 & 255u); + ctx.gpr[16] = (aot_gpr_4 & 255u); aot_gpr_4 = (ctx.gpr[21] + static_cast(288)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; @@ -3612,9 +3613,9 @@ L_0881D760: aot_gpr_5 = (0u | 255u); aot_gpr_6 = (0u | 255u); ctx.gpr[7] = (0u | 255u); - ctx.gpr[8] = (aot_gpr_16 | 0u); + ctx.gpr[8] = (ctx.gpr[16] | 0u); ctx.gpr[9] = (ctx.gpr[21] | 0u); - ctx.gpr[31] = (0x0881D820u); + aot_gpr_31 = (0x0881D820u); ctx.gpr[10] = (ctx.gpr[22] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0041_entry, 41u, 413u, 0x088AAD00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881D820u) goto L_0881D820; AOT_REGCACHE_SYNC_OUT(); return; @@ -3783,9 +3784,9 @@ L_0881D820: aot_gpr_5 = (0u | 255u); aot_gpr_6 = (0u | 255u); ctx.gpr[7] = (0u | 255u); - ctx.gpr[8] = (aot_gpr_16 | 0u); + ctx.gpr[8] = (ctx.gpr[16] | 0u); ctx.gpr[9] = (ctx.gpr[22] | 0u); - ctx.gpr[31] = (0x0881D8B8u); + aot_gpr_31 = (0x0881D8B8u); ctx.gpr[10] = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0041_entry, 41u, 413u, 0x088AAD00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881D8B8u) goto L_0881D8B8; AOT_REGCACHE_SYNC_OUT(); return; @@ -3811,7 +3812,7 @@ L_0881D8C8: goto L_0881D8D4; } L_0881D8D4: - ctx.gpr[31] = (0x0881D8DCu); + aot_gpr_31 = (0x0881D8DCu); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(112))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 129u, 0x089D89E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881D8DCu) goto L_0881D8DC; AOT_REGCACHE_SYNC_OUT(); return; @@ -3824,7 +3825,7 @@ L_0881D8DC: ctx.fpr[26] = std::bit_cast(aot_run_words[3]); ctx.fpr[28] = std::bit_cast(aot_run_words[4]); ctx.fpr[30] = std::bit_cast(aot_run_words[5]); - aot_gpr_16 = aot_run_words[6]; + ctx.gpr[16] = aot_run_words[6]; aot_gpr_17 = aot_run_words[7]; ctx.gpr[18] = aot_run_words[8]; ctx.gpr[19] = aot_run_words[9]; @@ -3833,9 +3834,9 @@ L_0881D8DC: ctx.gpr[22] = aot_run_words[12]; ctx.gpr[23] = aot_run_words[13]; ctx.gpr[30] = aot_run_words[14]; - ctx.gpr[31] = aot_run_words[15]; + aot_gpr_31 = aot_run_words[15]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(544)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -3843,7 +3844,7 @@ L_0881D8DC: AOT_REGCACHE_SYNC_OUT(); return; L_0881D924: aot_gpr_29 = (aot_gpr_29 + static_cast(-304)); - { const std::uint32_t aot_run_words[15]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[15]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), ctx.gpr[16], aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(240), aot_run_words); } aot_gpr_17 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(352))); @@ -3863,12 +3864,12 @@ L_0881D924: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(146)))))); aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(150), static_cast(aot_gpr_5)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(150)))))); - ctx.gpr[31] = (0x0881D9B4u); + aot_gpr_31 = (0x0881D9B4u); aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881D9B4u) goto L_0881D9B4; AOT_REGCACHE_SYNC_OUT(); return; L_0881D9B4: - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (ctx.gpr[2] | 0u); aot_gpr_4 = (aot_gpr_17 + static_cast(32)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); aot_gpr_4 = (15820u << 16u); @@ -3935,7 +3936,7 @@ L_0881DA14: ctx.gpr[30] = (aot_gpr_29 + static_cast(112)); ctx.gpr[23] = (aot_gpr_29 + static_cast(96)); ctx.gpr[19] = (0u | 0u); - aot_gpr_17 = (aot_gpr_16 + static_cast(304)); + aot_gpr_17 = (ctx.gpr[16] + static_cast(304)); goto L_0881DA5C; L_0881DA5C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(236), ctx.gpr[30]); @@ -3945,7 +3946,7 @@ L_0881DA5C: aot_gpr_6 = (aot_gpr_6 + ctx.gpr[19]); ctx.gpr[30] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(228))); aot_gpr_4 = (ctx.gpr[20] | 0u); - ctx.gpr[31] = (0x0881DA80u); + aot_gpr_31 = (0x0881DA80u); aot_gpr_5 = (ctx.gpr[30] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0005_entry, 5u, 480u, 0x0881A9FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881DA80u) goto L_0881DA80; AOT_REGCACHE_SYNC_OUT(); return; @@ -3967,7 +3968,7 @@ L_0881DA80: aot_gpr_6 = (aot_gpr_4 + ctx.gpr[19]); aot_gpr_6 = (aot_gpr_6 + static_cast(16)); aot_gpr_4 = (ctx.gpr[20] | 0u); - ctx.gpr[31] = (0x0881DAA0u); + aot_gpr_31 = (0x0881DAA0u); aot_gpr_5 = (ctx.gpr[30] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0005_entry, 5u, 480u, 0x0881A9FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881DAA0u) goto L_0881DAA0; AOT_REGCACHE_SYNC_OUT(); return; @@ -3985,7 +3986,7 @@ L_0881DAA0: const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(280))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(280))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30728))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); ctx.gpr[23] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(232))); @@ -4015,7 +4016,7 @@ L_0881DACC: aot_fpr_14 = std::bit_cast(aot_run_words[2]); } aot_gpr_4 = (aot_gpr_29 + static_cast(64)); - ctx.gpr[31] = (0x0881DAE4u); + aot_gpr_31 = (0x0881DAE4u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0189_entry, 189u, 115u, 0x08AF8668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881DAE4u) goto L_0881DAE4; AOT_REGCACHE_SYNC_OUT(); return; @@ -4065,7 +4066,7 @@ L_0881DB1C: } L_0881DB34: { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(280), std::bit_cast(ctx.fpr[26])); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(280), std::bit_cast(ctx.fpr[26])); if (branch_taken) { goto L_0881DB78; } @@ -4085,7 +4086,7 @@ L_0881DB3C: } L_0881DB54: { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(280), std::bit_cast(ctx.fpr[28])); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(280), std::bit_cast(ctx.fpr[28])); if (branch_taken) { goto L_0881DB78; } @@ -4098,10 +4099,10 @@ L_0881DB5C: aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(56))); aot_fpr_12 = aot_fpr_12 - aot_fpr_14; aot_fpr_12 = aot_fpr_13 / aot_fpr_12; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(280), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(280), std::bit_cast(aot_fpr_12)); goto L_0881DB78; L_0881DB78: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(280))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(280))); { const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -4207,7 +4208,7 @@ L_0881DB78: L_0881DC28: ctx.gpr[22] = (ctx.gpr[22] + static_cast(1)); ctx.gpr[19] = (ctx.gpr[19] + static_cast(32)); - aot_gpr_16 = (aot_gpr_16 + static_cast(4)); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(4)); aot_gpr_4 = (static_cast(ctx.gpr[22]) < 4 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_17 = (aot_gpr_17 + static_cast(32)); @@ -4224,7 +4225,7 @@ L_0881DC40: ctx.fpr[24] = std::bit_cast(aot_run_words[2]); ctx.fpr[26] = std::bit_cast(aot_run_words[3]); ctx.fpr[28] = std::bit_cast(aot_run_words[4]); - aot_gpr_16 = aot_run_words[5]; + ctx.gpr[16] = aot_run_words[5]; aot_gpr_17 = aot_run_words[6]; ctx.gpr[18] = aot_run_words[7]; ctx.gpr[19] = aot_run_words[8]; @@ -4233,9 +4234,9 @@ L_0881DC40: ctx.gpr[22] = aot_run_words[11]; ctx.gpr[23] = aot_run_words[12]; ctx.gpr[30] = aot_run_words[13]; - ctx.gpr[31] = aot_run_words[14]; + aot_gpr_31 = aot_run_words[14]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(304)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -4243,33 +4244,33 @@ L_0881DC40: AOT_REGCACHE_SYNC_OUT(); return; L_0881DC84: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(8)))))); - aot_gpr_4 = (aot_gpr_16 + static_cast(12)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(8)))))); + aot_gpr_4 = (ctx.gpr[16] + static_cast(12)); aot_gpr_5 = (aot_gpr_5 + static_cast(1)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[31]); - ctx.gpr[31] = (0x0881DCA8u); - aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(8), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); + aot_gpr_31 = (0x0881DCA8u); + aot_mem.aot_direct_store16(ctx.gpr[16] + static_cast(8), static_cast(aot_gpr_5)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0206_entry, 206u, 501u, 0x08B3E0A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881DCA8u) goto L_0881DCA8; AOT_REGCACHE_SYNC_OUT(); return; L_0881DCA8: - ctx.gpr[31] = (0x0881DCB0u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881DCB0u) goto L_0881DCB0; + aot_gpr_31 = (0x0881DCB0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2E4, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881DCB0u) goto L_0881DCB0; AOT_REGCACHE_SYNC_OUT(); return; L_0881DCB0: ctx.gpr[2] = (0u | 1u); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); - jump_target = ctx.gpr[31]; + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0881DCC4: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -4277,14 +4278,14 @@ L_0881DCC4: AOT_REGCACHE_SYNC_OUT(); return; L_0881DCCC: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, ctx.gpr[18]}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[16], aot_gpr_17, ctx.gpr[18]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } ctx.gpr[18] = (aot_gpr_4 | 0u); aot_gpr_17 = (aot_gpr_5 | 0u); - aot_gpr_16 = (aot_gpr_6 | 0u); - { const std::uint32_t aot_run_words[4]{ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[31]}; + ctx.gpr[16] = (aot_gpr_6 | 0u); + { const std::uint32_t aot_run_words[4]{ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(12), aot_run_words); } - ctx.gpr[31] = (0x0881DD00u); + aot_gpr_31 = (0x0881DD00u); aot_gpr_4 = (ctx.gpr[18] | 0u); goto L_0881DCC4; L_0881DD00: @@ -4300,10 +4301,10 @@ L_0881DD00: } L_0881DD14: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(12))); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[19]); jump_target = aot_gpr_17; - ctx.gpr[31] = (0x0881DD28u); + aot_gpr_31 = (0x0881DD28u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881DD28u) goto L_0881DD28; @@ -4340,15 +4341,15 @@ L_0881DD48: L_0881DD4C: { std::uint32_t aot_run_words[7]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; ctx.gpr[21] = aot_run_words[5]; - ctx.gpr[31] = aot_run_words[6]; + aot_gpr_31 = aot_run_words[6]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -4358,7 +4359,7 @@ L_0881DD70: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(8)))))); ctx.gpr[2] = (aot_gpr_4 | 0u); aot_gpr_5 = (aot_gpr_5 + static_cast(1)); - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(8), static_cast(aot_gpr_5)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -4428,7 +4429,7 @@ L_0881DDDC: ctx.gpr[2] = (0u | 0u); goto L_0881DDE0; L_0881DDE0: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; // nop local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -4501,7 +4502,7 @@ L_0881DE4C: ctx.gpr[2] = (0u | 0u); goto L_0881DE50; L_0881DE50: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; // nop local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -4571,7 +4572,7 @@ L_0881DEB0: ctx.gpr[2] = (0u | 0u); goto L_0881DEB4; L_0881DEB4: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; // nop local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -4641,7 +4642,7 @@ L_0881DF14: ctx.fpr[0] = std::bit_cast(0u); goto L_0881DF18; L_0881DF18: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; // nop local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -4713,7 +4714,7 @@ L_0881DF78: ctx.fpr[0] = std::bit_cast(aot_gpr_4); goto L_0881DF84; L_0881DF84: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; // nop local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -4722,15 +4723,15 @@ L_0881DF84: L_0881DF8C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(92))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_6 + static_cast(216)); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - { const std::uint32_t aot_run_words[3]{aot_gpr_17, ctx.gpr[18], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[3]{aot_gpr_17, ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(4), aot_run_words); } jump_target = ctx.gpr[7]; - ctx.gpr[31] = (0x0881DFBCu); + aot_gpr_31 = (0x0881DFBCu); aot_gpr_4 = (aot_gpr_5 + aot_gpr_6); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881DFBCu) goto L_0881DFBC; @@ -4743,13 +4744,13 @@ L_0881DFBC: aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_17 = (0u | 0u); jump_target = aot_gpr_6; - ctx.gpr[31] = (0x0881DFDCu); + aot_gpr_31 = (0x0881DFDCu); aot_gpr_4 = (ctx.gpr[18] + aot_gpr_5); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881DFDCu) goto L_0881DFDC; AOT_REGCACHE_SYNC_OUT(); return; L_0881DFDC: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(28))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(28))); aot_gpr_4 = (aot_gpr_4 ^ ctx.gpr[2]); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); @@ -4764,13 +4765,13 @@ L_0881DFF4: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); jump_target = aot_gpr_6; - ctx.gpr[31] = (0x0881E00Cu); + aot_gpr_31 = (0x0881E00Cu); aot_gpr_4 = (ctx.gpr[18] + aot_gpr_5); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881E00Cu) goto L_0881E00C; AOT_REGCACHE_SYNC_OUT(); return; L_0881E00C: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(29))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(29))); aot_gpr_4 = (aot_gpr_4 ^ ctx.gpr[2]); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); @@ -4788,12 +4789,12 @@ L_0881E028: ctx.gpr[2] = (aot_gpr_17 & 255u); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; - ctx.gpr[31] = aot_run_words[3]; + aot_gpr_31 = aot_run_words[3]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -4844,7 +4845,7 @@ L_0881E088: ctx.gpr[2] = (0u | 1u); goto L_0881E08C; L_0881E08C: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; // nop local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -4859,8 +4860,8 @@ L_0881E094: ctx.gpr[8] = (aot_gpr_4 | 0u); aot_gpr_5 = (ctx.gpr[7] | 0u); aot_gpr_4 = (aot_gpr_6 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[31]); - ctx.gpr[31] = (0x0881E0C0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); + aot_gpr_31 = (0x0881E0C0u); aot_gpr_6 = (ctx.gpr[8] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 178u, 0x08B60E84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881E0C0u) goto L_0881E0C0; AOT_REGCACHE_SYNC_OUT(); return; @@ -4871,8 +4872,8 @@ L_0881E0C0: aot_gpr_4 = (ctx.gpr[2] & aot_gpr_4); ctx.gpr[2] = (aot_gpr_5 | aot_gpr_4); ctx.gpr[2] = (0u < ctx.gpr[2] ? 1u : 0u); - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -4976,7 +4977,7 @@ L_0881E154: ctx.gpr[2] = (0u | 0u); goto L_0881E158; L_0881E158: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; // nop local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -5055,7 +5056,7 @@ L_0881E1B4: ctx.gpr[2] = (0u | 0u); goto L_0881E1B8; L_0881E1B8: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; // nop local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -5095,7 +5096,7 @@ L_0881E1E8: ctx.gpr[2] = (ctx.gpr[2] + static_cast(24)); goto L_0881E214; L_0881E214: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; // nop local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -5130,7 +5131,7 @@ L_0881E238: ctx.gpr[2] = (ctx.gpr[2] + static_cast(-1)); goto L_0881E254; L_0881E254: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; // nop local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -5144,13 +5145,13 @@ L_0881E25C: aot_gpr_5 = (aot_gpr_5 + static_cast(1396)); aot_gpr_6 = (ctx.gpr[7] - aot_gpr_6); aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[31]); - ctx.gpr[31] = (0x0881E284u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); + aot_gpr_31 = (0x0881E284u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); goto L_0881E290; L_0881E284: - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -5160,24 +5161,24 @@ L_0881E290: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); ctx.gpr[7] = (static_cast(static_cast(aot_gpr_5) >> 31u)); aot_gpr_6 = (aot_gpr_5 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30596))); ctx.gpr[7] = (aot_gpr_6 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30600))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[31]); - ctx.gpr[31] = (0x0881E2BCu); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); + aot_gpr_31 = (0x0881E2BCu); aot_gpr_6 = (ctx.gpr[7] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 178u, 0x08B60E84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881E2BCu) goto L_0881E2BC; AOT_REGCACHE_SYNC_OUT(); return; L_0881E2BC: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(48))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(48))); aot_gpr_5 = (0u | 0u); aot_gpr_6 = (ctx.gpr[2] | 0u); ctx.gpr[7] = (ctx.gpr[3] | 0u); ctx.gpr[8] = (static_cast(aot_gpr_5) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = ctx.gpr[8] == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(32))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(32))); if (branch_taken) { goto L_0881E318; } @@ -5231,9 +5232,9 @@ L_0881E320: ctx.gpr[2] = (ctx.gpr[2] + ctx.gpr[11]); goto L_0881E324; L_0881E324: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); - jump_target = ctx.gpr[31]; + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -5242,10 +5243,10 @@ L_0881E324: L_0881E334: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(14))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.gpr[7] = (0u | 255u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); { const bool branch_taken = aot_gpr_6 == ctx.gpr[7]; aot_gpr_4 = (aot_gpr_5 | 0u); if (branch_taken) { @@ -5259,13 +5260,13 @@ L_0881E354: aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); jump_target = aot_gpr_5; - ctx.gpr[31] = (0x0881E36Cu); + aot_gpr_31 = (0x0881E36Cu); aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881E36Cu) goto L_0881E36C; AOT_REGCACHE_SYNC_OUT(); return; L_0881E36C: - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(14))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(14))); aot_gpr_6 = (static_cast(aot_gpr_5) < 240 ? 1u : 0u); { const bool branch_taken = aot_gpr_6 != 0u; aot_gpr_4 = (ctx.gpr[2] | 0u); @@ -5291,8 +5292,8 @@ L_0881E384: goto L_0881E38C; } L_0881E38C: - aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(15)))))); - aot_gpr_16 = (aot_gpr_4 ^ aot_gpr_5); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(15)))))); + ctx.gpr[16] = (aot_gpr_4 ^ aot_gpr_5); aot_gpr_4 = (aot_gpr_6 & 64u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -5303,7 +5304,7 @@ L_0881E38C: } L_0881E3A0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u < aot_gpr_16 ? 1u : 0u); + ctx.gpr[2] = (0u < ctx.gpr[16] ? 1u : 0u); if (branch_taken) { goto L_0881E3D8; } @@ -5311,7 +5312,7 @@ L_0881E3A0: } L_0881E3A8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_gpr_16 < static_cast(1) ? 1u : 0u); + ctx.gpr[2] = (ctx.gpr[16] < static_cast(1) ? 1u : 0u); if (branch_taken) { goto L_0881E3D8; } @@ -5320,13 +5321,13 @@ L_0881E3A8: L_0881E3B0: aot_gpr_6 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30640))); - ctx.gpr[31] = (0x0881E3C0u); + aot_gpr_31 = (0x0881E3C0u); aot_gpr_5 = (aot_gpr_5 + static_cast(-240)); goto L_0881E044; L_0881E3C0: - aot_gpr_16 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(15)))))); + ctx.gpr[16] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(15)))))); { const bool branch_taken = ctx.gpr[2] == 0u; - aot_gpr_16 = (aot_gpr_16 & 64u); + ctx.gpr[16] = (ctx.gpr[16] & 64u); if (branch_taken) { goto L_0881E3D4; } @@ -5334,19 +5335,19 @@ L_0881E3C0: } L_0881E3CC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_gpr_16 < static_cast(1) ? 1u : 0u); + ctx.gpr[2] = (ctx.gpr[16] < static_cast(1) ? 1u : 0u); if (branch_taken) { goto L_0881E3D8; } goto L_0881E3D4; } L_0881E3D4: - ctx.gpr[2] = (0u < aot_gpr_16 ? 1u : 0u); + ctx.gpr[2] = (0u < ctx.gpr[16] ? 1u : 0u); goto L_0881E3D8; L_0881E3D8: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); - jump_target = ctx.gpr[31]; + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -5407,7 +5408,7 @@ L_0881E424: ctx.gpr[2] = (0u | 0u); goto L_0881E428; L_0881E428: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; // nop local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -5421,11 +5422,11 @@ L_0881E430: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(72), ctx.gpr[21]); ctx.gpr[21] = (aot_gpr_5 & 255u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), aot_gpr_6); - { const std::uint32_t aot_run_words[5]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20]}; + { const std::uint32_t aot_run_words[5]{ctx.gpr[16], aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(52), aot_run_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(76), ctx.gpr[22]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(80), ctx.gpr[23]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(88), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(88), aot_gpr_31); { const std::uint32_t aot_run_words[3]{0u, 0u, 0u}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(4), aot_run_words); } aot_gpr_5 = (0u | 0u); @@ -5449,7 +5450,7 @@ L_0881E498: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(7)))))); aot_gpr_4 = (aot_gpr_4 & 7u); { const bool branch_taken = aot_gpr_4 == ctx.gpr[23]; - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); if (branch_taken) { goto L_0881E4D4; } @@ -5465,7 +5466,7 @@ L_0881E4B0: } L_0881E4B8: aot_gpr_5 = (aot_gpr_4 | 0u); - ctx.gpr[31] = (0x0881E4C4u); + aot_gpr_31 = (0x0881E4C4u); aot_gpr_4 = (ctx.gpr[21] | 0u); goto L_0881E0E4; L_0881E4C4: @@ -5478,17 +5479,17 @@ L_0881E4C4: } L_0881E4CC: { const bool branch_taken = 0u == 0u; - aot_gpr_16 = (0u | 1u); + ctx.gpr[16] = (0u | 1u); if (branch_taken) { goto L_0881E4D8; } goto L_0881E4D4; } L_0881E4D4: - aot_gpr_16 = (0u | 1u); + ctx.gpr[16] = (0u | 1u); goto L_0881E4D8; L_0881E4D8: - { const bool branch_taken = aot_gpr_16 == 0u; + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_0881E60C; @@ -5571,7 +5572,7 @@ L_0881E560: aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_4 = (ctx.gpr[19] << 2u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), aot_gpr_5); - ctx.gpr[31] = (0x0881E574u); + aot_gpr_31 = (0x0881E574u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), aot_gpr_4); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 474u, 0x08ABE308u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881E574u) goto L_0881E574; AOT_REGCACHE_SYNC_OUT(); return; @@ -5587,7 +5588,7 @@ L_0881E574: } L_0881E584: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), aot_gpr_4); - ctx.gpr[31] = (0x0881E590u); + aot_gpr_31 = (0x0881E590u); aot_gpr_4 = (aot_gpr_6 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 289u, 0x08B65438u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881E590u) goto L_0881E590; AOT_REGCACHE_SYNC_OUT(); return; @@ -5614,29 +5615,29 @@ L_0881E5A4: } L_0881E5AC: aot_gpr_5 = (aot_gpr_6 | 0u); - aot_gpr_16 = (aot_gpr_4 - aot_gpr_6); + ctx.gpr[16] = (aot_gpr_4 - aot_gpr_6); aot_gpr_4 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x0881E5C0u); - aot_gpr_6 = (aot_gpr_16 | 0u); + aot_gpr_31 = (0x0881E5C0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 164u, 0x08AF54A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881E5C0u) goto L_0881E5C0; AOT_REGCACHE_SYNC_OUT(); return; L_0881E5C0: - aot_gpr_5 = (ctx.gpr[2] + aot_gpr_16); + aot_gpr_5 = (ctx.gpr[2] + ctx.gpr[16]); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); goto L_0881E5C8; L_0881E5C8: { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_16 = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); if (branch_taken) { goto L_0881E5E0; } goto L_0881E5D0; } L_0881E5D0: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), ctx.gpr[18]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), ctx.gpr[18]); aot_gpr_4 = (aot_gpr_4 + static_cast(-1)); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_16 = (aot_gpr_16 + static_cast(4)); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(4)); if (branch_taken) { goto L_0881E5D0; } @@ -5652,15 +5653,15 @@ L_0881E5E0: goto L_0881E5EC; } L_0881E5EC: - ctx.gpr[31] = (0x0881E5F4u); + aot_gpr_31 = (0x0881E5F4u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881E5F4u) goto L_0881E5F4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881E5F4u) goto L_0881E5F4; AOT_REGCACHE_SYNC_OUT(); return; L_0881E5F4: aot_gpr_4 = (ctx.gpr[19] << 2u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); aot_gpr_4 = (aot_gpr_17 + aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_4); goto L_0881E608; L_0881E608: @@ -5686,9 +5687,9 @@ L_0881E620: goto L_0881E628; } L_0881E628: - ctx.gpr[31] = (0x0881E630u); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(40))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881E630u) goto L_0881E630; + aot_gpr_31 = (0x0881E630u); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(40))); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881E630u) goto L_0881E630; AOT_REGCACHE_SYNC_OUT(); return; L_0881E630: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -5699,7 +5700,7 @@ L_0881E630: aot_gpr_4 = (ctx.gpr[22] + aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(20), static_cast(0u)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), aot_gpr_4); ctx.gpr[30] = (aot_mem.aot_direct_load32(ctx.gpr[30] + static_cast(0))); aot_gpr_4 = (aot_gpr_4 << 3u); { const bool branch_taken = ctx.gpr[22] == 0u; @@ -5718,9 +5719,9 @@ L_0881E664: goto L_0881E66C; } L_0881E66C: - ctx.gpr[31] = (0x0881E674u); + aot_gpr_31 = (0x0881E674u); aot_gpr_4 = (ctx.gpr[22] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881E674u) goto L_0881E674; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881E674u) goto L_0881E674; AOT_REGCACHE_SYNC_OUT(); return; L_0881E674: { const bool branch_taken = 0u == 0u; @@ -5760,9 +5761,9 @@ L_0881E6A0: goto L_0881E6A8; } L_0881E6A8: - ctx.gpr[31] = (0x0881E6B0u); + aot_gpr_31 = (0x0881E6B0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881E6B0u) goto L_0881E6B0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881E6B0u) goto L_0881E6B0; AOT_REGCACHE_SYNC_OUT(); return; L_0881E6B0: ctx.gpr[2] = (0u | 0u); @@ -5770,7 +5771,7 @@ L_0881E6B0: L_0881E6B4: { std::uint32_t aot_run_words[10]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(52), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -5779,9 +5780,9 @@ L_0881E6B4: ctx.gpr[22] = aot_run_words[6]; ctx.gpr[23] = aot_run_words[7]; ctx.gpr[30] = aot_run_words[8]; - ctx.gpr[31] = aot_run_words[9]; + aot_gpr_31 = aot_run_words[9]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(96)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -5789,65 +5790,65 @@ L_0881E6B4: AOT_REGCACHE_SYNC_OUT(); return; L_0881E6E4: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(8), static_cast(0u)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(8), static_cast(0u)); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(8))); aot_gpr_5 = (0u + static_cast(-257)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_5 = (0u + static_cast(-513)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(8), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(8), aot_gpr_4); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_5 = (2234u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(19080)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(8), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(8), aot_gpr_4); aot_fpr_12 = std::bit_cast(0u); aot_gpr_6 = (0u + static_cast(-1025)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(36), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(36), aot_gpr_5); aot_gpr_4 = (aot_gpr_4 & aot_gpr_6); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), std::bit_cast(aot_fpr_12)); aot_gpr_5 = (0u + static_cast(-2049)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(8), aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(8), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(4), 0u); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_5 = (0u + static_cast(-4097)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(8), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(8), aot_gpr_4); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_5 = (0u + static_cast(-8193)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(8), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(8), aot_gpr_4); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_5 = (0u + static_cast(-16385)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(8), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(8), aot_gpr_4); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_5 = (65535u << 16u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(8), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(8), aot_gpr_4); aot_gpr_5 = (aot_gpr_5 + static_cast(32767)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_5 = (65535u << 16u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(8), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(8), aot_gpr_4); aot_gpr_5 = (aot_gpr_5 + static_cast(-1)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_5 = (65506u << 16u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(8), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(8), aot_gpr_4); aot_gpr_5 = (aot_gpr_5 + static_cast(-1)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_5 = (32u << 16u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(8), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(8), aot_gpr_4); aot_gpr_5 = (aot_gpr_5 + static_cast(-1)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); { const std::uint32_t aot_run_words[7]{aot_gpr_4, 0u, 0u, 0u, 0u, 0u, 0u}; - aot_mem.aot_direct_store32_block(aot_gpr_16 + static_cast(8), aot_run_words); } - aot_gpr_4 = (aot_gpr_16 + static_cast(24)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[31]); - ctx.gpr[31] = (0x0881E7CCu); + aot_mem.aot_direct_store32_block(ctx.gpr[16] + static_cast(8), aot_run_words); } + aot_gpr_4 = (ctx.gpr[16] + static_cast(24)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); + aot_gpr_31 = (0x0881E7CCu); aot_gpr_5 = (0u | 7u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 565u, 0x08B664E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881E7CCu) goto L_0881E7CC; AOT_REGCACHE_SYNC_OUT(); return; L_0881E7CC: - ctx.gpr[2] = (aot_gpr_16 | 0u); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); - jump_target = ctx.gpr[31]; + ctx.gpr[2] = (ctx.gpr[16] | 0u); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -5886,7 +5887,7 @@ L_0881E810: } goto L_0881E830; L_0881E830: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; ctx.gpr[2] = (aot_gpr_4 & 255u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -5894,18 +5895,18 @@ L_0881E830: AOT_REGCACHE_SYNC_OUT(); return; L_0881E838: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(36))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(36))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); aot_gpr_17 = (aot_gpr_5 | 0u); aot_gpr_4 = (aot_gpr_4 + static_cast(8)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); jump_target = aot_gpr_6; - ctx.gpr[31] = (0x0881E868u); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_5); + aot_gpr_31 = (0x0881E868u); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_5); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881E868u) goto L_0881E868; AOT_REGCACHE_SYNC_OUT(); return; @@ -5914,7 +5915,7 @@ L_0881E868: aot_gpr_6 = (ctx.gpr[2] << 6u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x0881E880u); + aot_gpr_31 = (0x0881E880u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); goto L_0881E25C; L_0881E880: @@ -5934,7 +5935,7 @@ L_0881E880: } L_0881E8A4: { const bool branch_taken = 0u == 0u; - aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); if (branch_taken) { goto L_0881E8C4; } @@ -5946,7 +5947,7 @@ L_0881E8AC: aot_gpr_4 = (aot_gpr_4 | 55050u); aot_fpr_15 = std::bit_cast(aot_gpr_4); { const float fs = aot_fpr_14; const float ft = aot_fpr_15; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } - aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); goto L_0881E8C4; L_0881E8C4: aot_fpr_15 = aot_fpr_15 / aot_fpr_13; @@ -5965,14 +5966,14 @@ L_0881E8DC: goto L_0881E8E0; L_0881E8E0: { const float fs = aot_fpr_14; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), std::bit_cast(aot_fpr_12)); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; - ctx.gpr[31] = aot_run_words[2]; + aot_gpr_31 = aot_run_words[2]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -5980,19 +5981,19 @@ L_0881E8E0: AOT_REGCACHE_SYNC_OUT(); return; L_0881E8FC: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_16); - aot_gpr_16 = (aot_gpr_5 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_5 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), std::bit_cast(ctx.fpr[20])); - { const std::uint32_t aot_run_words[4]{aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[4]{aot_gpr_17, ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(8), aot_run_words); } - ctx.gpr[31] = (0x0881E924u); + aot_gpr_31 = (0x0881E924u); aot_gpr_17 = (aot_gpr_4 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0007_entry, 7u, 500u, 0x08822BC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881E924u) goto L_0881E924; AOT_REGCACHE_SYNC_OUT(); return; L_0881E924: aot_gpr_4 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x0881E930u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_31 = (0x0881E930u); + aot_gpr_5 = (ctx.gpr[16] | 0u); goto L_0881E838; L_0881E930: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(36))); @@ -6000,7 +6001,7 @@ L_0881E930: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); jump_target = aot_gpr_6; - ctx.gpr[31] = (0x0881E948u); + aot_gpr_31 = (0x0881E948u); aot_gpr_4 = (aot_gpr_17 + aot_gpr_5); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881E948u) goto L_0881E948; @@ -6049,7 +6050,7 @@ L_0881E998: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); jump_target = aot_gpr_6; - ctx.gpr[31] = (0x0881E9B0u); + aot_gpr_31 = (0x0881E9B0u); aot_gpr_4 = (ctx.gpr[18] + aot_gpr_5); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881E9B0u) goto L_0881E9B0; @@ -6068,8 +6069,8 @@ L_0881E9B0: } L_0881E9C8: aot_gpr_4 = (aot_gpr_17 | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x0881E9D8u); + aot_gpr_5 = (ctx.gpr[16] | 0u); + aot_gpr_31 = (0x0881E9D8u); aot_gpr_6 = (ctx.gpr[18] | 0u); goto L_0881F588; L_0881E9D8: @@ -6081,8 +6082,8 @@ L_0881E9D8: goto L_0881E9E0; } L_0881E9E0: - aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x0881E9ECu); + aot_gpr_4 = (ctx.gpr[16] | 0u); + aot_gpr_31 = (0x0881E9ECu); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0059_entry, 59u, 434u, 0x088F1FC8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881E9ECu) goto L_0881E9EC; AOT_REGCACHE_SYNC_OUT(); return; @@ -6139,27 +6140,27 @@ L_0881EA20: } L_0881EA38: aot_gpr_4 = (aot_gpr_17 | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x0881EA48u); + aot_gpr_5 = (ctx.gpr[16] | 0u); + aot_gpr_31 = (0x0881EA48u); aot_gpr_6 = (0u | 0u); goto L_0881F474; L_0881EA48: aot_gpr_4 = (aot_gpr_17 | 0u); aot_gpr_5 = (0u | 0u); - aot_gpr_6 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x0881EA5Cu); + aot_gpr_6 = (ctx.gpr[16] | 0u); + aot_gpr_31 = (0x0881EA5Cu); ctx.gpr[7] = (0u | 1u); goto L_0881F6CC; L_0881EA5C: aot_gpr_4 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x0881EA68u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_31 = (0x0881EA68u); + aot_gpr_5 = (ctx.gpr[16] | 0u); goto L_0881F0FC; L_0881EA68: ctx.fpr[20] = std::bit_cast(std::bit_cast(ctx.fpr[0])); aot_gpr_4 = (ctx.gpr[19] | 0u); - ctx.gpr[31] = (0x0881EA78u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_31 = (0x0881EA78u); + aot_gpr_5 = (ctx.gpr[16] | 0u); goto L_0881E25C; L_0881EA78: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(24))); @@ -6186,28 +6187,28 @@ L_0881EA94: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); jump_target = aot_gpr_6; - ctx.gpr[31] = (0x0881EAACu); + aot_gpr_31 = (0x0881EAACu); aot_gpr_4 = (aot_gpr_17 + aot_gpr_5); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881EAACu) goto L_0881EAAC; AOT_REGCACHE_SYNC_OUT(); return; L_0881EAAC: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1929)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(1929)))))); aot_gpr_6 = (ctx.gpr[2] | 0u); aot_gpr_5 = (aot_gpr_4 << 5u); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_4 = (aot_gpr_17 | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x0881EADCu); + aot_gpr_5 = (ctx.gpr[16] | 0u); + aot_gpr_31 = (0x0881EADCu); ctx.gpr[8] = (0u | 0u); goto L_0881FB44; L_0881EADC: aot_gpr_4 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x0881EAE8u); + aot_gpr_31 = (0x0881EAE8u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0007_entry, 7u, 194u, 0x08820DB0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881EAE8u) goto L_0881EAE8; AOT_REGCACHE_SYNC_OUT(); return; @@ -6215,13 +6216,13 @@ L_0881EAE8: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); ctx.fpr[20] = std::bit_cast(aot_run_words[0]); - aot_gpr_16 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[1]; aot_gpr_17 = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; ctx.gpr[19] = aot_run_words[4]; - ctx.gpr[31] = aot_run_words[5]; + aot_gpr_31 = aot_run_words[5]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -6233,7 +6234,7 @@ L_0881EB08: ctx.gpr[7] = (aot_gpr_6 | 0u); aot_gpr_6 = (aot_gpr_4 | 0u); ctx.gpr[8] = (ctx.gpr[8] & 4096u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); { const bool branch_taken = ctx.gpr[8] != 0u; aot_gpr_4 = (ctx.gpr[7] | 0u); if (branch_taken) { @@ -6244,13 +6245,13 @@ L_0881EB08: L_0881EB28: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(12))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); - ctx.gpr[31] = (0x0881EB38u); + aot_gpr_31 = (0x0881EB38u); aot_gpr_4 = (aot_gpr_6 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0007_entry, 7u, 240u, 0x0882126Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881EB38u) goto L_0881EB38; AOT_REGCACHE_SYNC_OUT(); return; L_0881EB38: - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -6264,12 +6265,12 @@ L_0881EB44: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); ctx.gpr[18] = (0u | 1u); aot_gpr_17 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[19]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[21]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_31); { const bool branch_taken = ctx.gpr[20] == 0u; - aot_gpr_16 = (aot_gpr_6 | 0u); + ctx.gpr[16] = (aot_gpr_6 | 0u); if (branch_taken) { goto L_0881ECB4; } @@ -6309,7 +6310,7 @@ L_0881EBB8: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); jump_target = aot_gpr_6; - ctx.gpr[31] = (0x0881EBD0u); + aot_gpr_31 = (0x0881EBD0u); aot_gpr_4 = (ctx.gpr[20] + aot_gpr_5); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881EBD0u) goto L_0881EBD0; @@ -6328,8 +6329,8 @@ L_0881EBD0: } L_0881EBE8: aot_gpr_4 = (aot_gpr_17 | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x0881EBF8u); + aot_gpr_5 = (ctx.gpr[16] | 0u); + aot_gpr_31 = (0x0881EBF8u); aot_gpr_6 = (ctx.gpr[20] | 0u); goto L_0881F588; L_0881EBF8: @@ -6350,8 +6351,8 @@ L_0881EC00: } L_0881EC08: aot_gpr_4 = (aot_gpr_17 | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x0881EC18u); + aot_gpr_5 = (ctx.gpr[16] | 0u); + aot_gpr_31 = (0x0881EC18u); aot_gpr_6 = (0u | 0u); goto L_0881F474; L_0881EC18: @@ -6379,7 +6380,7 @@ L_0881EC2C: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); jump_target = aot_gpr_6; - ctx.gpr[31] = (0x0881EC44u); + aot_gpr_31 = (0x0881EC44u); aot_gpr_4 = (ctx.gpr[19] + aot_gpr_5); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881EC44u) goto L_0881EC44; @@ -6424,9 +6425,9 @@ L_0881EC70: aot_gpr_6 = (ctx.gpr[20] | 0u); ctx.gpr[7] = (0u | 4u); ctx.gpr[8] = (0u | 1u); - ctx.gpr[9] = (aot_gpr_16 | 0u); + ctx.gpr[9] = (ctx.gpr[16] | 0u); jump_target = ctx.gpr[11]; - ctx.gpr[31] = (0x0881ECB4u); + aot_gpr_31 = (0x0881ECB4u); ctx.gpr[10] = (0u | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881ECB4u) goto L_0881ECB4; @@ -6435,15 +6436,15 @@ L_0881ECB4: ctx.gpr[2] = (ctx.gpr[18] | 0u); { std::uint32_t aot_run_words[7]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; ctx.gpr[21] = aot_run_words[5]; - ctx.gpr[31] = aot_run_words[6]; + aot_gpr_31 = aot_run_words[6]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -6451,10 +6452,10 @@ L_0881ECB4: AOT_REGCACHE_SYNC_OUT(); return; L_0881ECDC: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); ctx.gpr[18] = (aot_gpr_6 | 0u); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); { const std::uint32_t aot_run_words[3]{ctx.gpr[19], ctx.gpr[20], ctx.gpr[21]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(12), aot_run_words); } @@ -6464,8 +6465,8 @@ L_0881ECDC: ctx.gpr[21] = (ctx.gpr[9] & 255u); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), ctx.gpr[22]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), ctx.gpr[31]); - ctx.gpr[31] = (0x0881ED24u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_31); + aot_gpr_31 = (0x0881ED24u); aot_gpr_5 = (ctx.gpr[7] | 0u); goto L_0881E290; L_0881ED24: @@ -6479,8 +6480,8 @@ L_0881ED24: goto L_0881ED34; } L_0881ED34: - aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x0881ED40u); + aot_gpr_4 = (ctx.gpr[16] | 0u); + aot_gpr_31 = (0x0881ED40u); aot_gpr_5 = (aot_gpr_17 | 0u); goto L_0881F7A0; L_0881ED40: @@ -6497,16 +6498,16 @@ L_0881ED44: } L_0881ED50: aot_gpr_6 = (aot_gpr_4 >> 10u); - aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x0881ED60u); + aot_gpr_4 = (ctx.gpr[16] | 0u); + aot_gpr_31 = (0x0881ED60u); aot_gpr_5 = (aot_gpr_17 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0007_entry, 7u, 26u, 0x088201D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881ED60u) goto L_0881ED60; AOT_REGCACHE_SYNC_OUT(); return; L_0881ED60: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (aot_gpr_17 | 0u); aot_gpr_6 = (ctx.gpr[22] | 0u); - ctx.gpr[31] = (0x0881ED74u); + aot_gpr_31 = (0x0881ED74u); ctx.gpr[7] = (ctx.gpr[21] | 0u); goto L_0881EE20; L_0881ED74: @@ -6551,7 +6552,7 @@ L_0881EDA8: goto L_0881EDB0; } L_0881EDB0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(8))); aot_gpr_4 = (aot_gpr_4 & 512u); aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); @@ -6563,18 +6564,18 @@ L_0881EDB0: goto L_0881EDC8; } L_0881EDC8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(36))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(36))); aot_gpr_5 = (ctx.gpr[21] & 255u); aot_gpr_4 = (aot_gpr_4 + static_cast(16)); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); ctx.gpr[11] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_6); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_6); aot_gpr_6 = (aot_gpr_17 | 0u); ctx.gpr[7] = (ctx.gpr[19] | 0u); ctx.gpr[8] = (0u | 1u); ctx.gpr[9] = (ctx.gpr[20] | 0u); jump_target = ctx.gpr[11]; - ctx.gpr[31] = (0x0881EDF8u); + aot_gpr_31 = (0x0881EDF8u); ctx.gpr[10] = (0u | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881EDF8u) goto L_0881EDF8; @@ -6582,16 +6583,16 @@ L_0881EDC8: L_0881EDF8: { std::uint32_t aot_run_words[8]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; ctx.gpr[21] = aot_run_words[5]; ctx.gpr[22] = aot_run_words[6]; - ctx.gpr[31] = aot_run_words[7]; + aot_gpr_31 = aot_run_words[7]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -6601,10 +6602,10 @@ L_0881EE20: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); ctx.gpr[7] = (ctx.gpr[7] & 255u); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); { const bool branch_taken = ctx.gpr[7] == 0u; - aot_gpr_16 = (aot_gpr_6 | 0u); + ctx.gpr[16] = (aot_gpr_6 | 0u); if (branch_taken) { goto L_0881EEAC; } @@ -6616,7 +6617,7 @@ L_0881EE3C: aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); jump_target = aot_gpr_5; - ctx.gpr[31] = (0x0881EE54u); + aot_gpr_31 = (0x0881EE54u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881EE54u) goto L_0881EE54; @@ -6627,7 +6628,7 @@ L_0881EE54: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); jump_target = aot_gpr_6; - ctx.gpr[31] = (0x0881EE6Cu); + aot_gpr_31 = (0x0881EE6Cu); aot_gpr_4 = (ctx.gpr[2] + aot_gpr_5); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881EE6Cu) goto L_0881EE6C; @@ -6658,7 +6659,7 @@ L_0881EE94: goto L_0881EEA0; } L_0881EEA0: - ctx.gpr[2] = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(21))); + ctx.gpr[2] = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(21))); goto L_0881EEA4; L_0881EEA4: { const bool branch_taken = 0u == 0u; @@ -6669,12 +6670,12 @@ L_0881EEA4: goto L_0881EEAC; } L_0881EEAC: - ctx.gpr[2] = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(22))); + ctx.gpr[2] = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(22))); goto L_0881EEB0; L_0881EEB0: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); - jump_target = ctx.gpr[31]; + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -6685,7 +6686,7 @@ L_0881EEC0: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(460))); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(80))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); { const bool branch_taken = ctx.gpr[7] == 0u; aot_gpr_5 = (aot_gpr_6 & 8192u); if (branch_taken) { @@ -6702,7 +6703,7 @@ L_0881EEDC: goto L_0881EEE4; } L_0881EEE4: - ctx.gpr[31] = (0x0881EEECu); + aot_gpr_31 = (0x0881EEECu); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 696u, 0x089AB4FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881EEECu) goto L_0881EEEC; AOT_REGCACHE_SYNC_OUT(); return; @@ -6728,8 +6729,8 @@ L_0881EEFC: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(460), aot_gpr_5); goto L_0881EF08; L_0881EF08: - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -6853,7 +6854,7 @@ L_0881EFEC: aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(4), std::bit_cast(aot_fpr_12)); goto L_0881EFF4; L_0881EFF4: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(80)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -6862,14 +6863,14 @@ L_0881EFF4: L_0881EFFC: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); ctx.gpr[8] = (aot_gpr_5 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_6 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_6 | 0u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(12))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); aot_gpr_17 = (aot_gpr_4 | 0u); aot_gpr_6 = (ctx.gpr[7] & 255u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[31]); - { const bool branch_taken = aot_gpr_5 != aot_gpr_16; + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); + { const bool branch_taken = aot_gpr_5 != ctx.gpr[16]; aot_gpr_4 = (ctx.gpr[8] | 0u); if (branch_taken) { goto L_0881F038; @@ -6887,7 +6888,7 @@ L_0881F028: goto L_0881F038; } L_0881F038: - ctx.gpr[7] = (aot_gpr_16 | aot_gpr_6); + ctx.gpr[7] = (ctx.gpr[16] | aot_gpr_6); { const bool branch_taken = ctx.gpr[7] == 0u; // nop if (branch_taken) { @@ -6896,7 +6897,7 @@ L_0881F038: goto L_0881F044; } L_0881F044: - { const bool branch_taken = aot_gpr_16 != 0u; + { const bool branch_taken = ctx.gpr[16] != 0u; // nop if (branch_taken) { goto L_0881F06C; @@ -6941,7 +6942,7 @@ L_0881F074: aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); ctx.gpr[7] = (0u + static_cast(-2049)); aot_gpr_6 = (aot_gpr_6 & ctx.gpr[7]); - { const bool branch_taken = aot_gpr_5 == aot_gpr_16; + { const bool branch_taken = aot_gpr_5 == ctx.gpr[16]; aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(8), aot_gpr_6); if (branch_taken) { goto L_0881F0AC; @@ -6951,7 +6952,7 @@ L_0881F074: L_0881F088: aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x0881F098u); + aot_gpr_31 = (0x0881F098u); aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0007_entry, 7u, 269u, 0x088215C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881F098u) goto L_0881F098; AOT_REGCACHE_SYNC_OUT(); return; @@ -6989,12 +6990,12 @@ L_0881F0B4: goto L_0881F0BC; } L_0881F0BC: - ctx.gpr[31] = (0x0881F0C4u); + aot_gpr_31 = (0x0881F0C4u); aot_gpr_5 = (aot_gpr_17 + static_cast(12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881F0C4u) goto L_0881F0C4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A93004, 163u, 430u, 0x08A93004u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881F0C4u) goto L_0881F0C4; AOT_REGCACHE_SYNC_OUT(); return; L_0881F0C4: - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(12), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(12), ctx.gpr[16]); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(12))); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -7013,18 +7014,18 @@ L_0881F0D4: goto L_0881F0E0; } L_0881F0E0: - ctx.gpr[31] = (0x0881F0E8u); + aot_gpr_31 = (0x0881F0E8u); aot_gpr_5 = (aot_gpr_17 + static_cast(12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881F0E8u) goto L_0881F0E8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881F0E8u) goto L_0881F0E8; AOT_REGCACHE_SYNC_OUT(); return; L_0881F0E8: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; - ctx.gpr[31] = aot_run_words[2]; + aot_gpr_31 = aot_run_words[2]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -7032,16 +7033,16 @@ L_0881F0E8: AOT_REGCACHE_SYNC_OUT(); return; L_0881F0FC: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[31]); - ctx.gpr[31] = (0x0881F114u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); + aot_gpr_31 = (0x0881F114u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(80))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0018_entry, 18u, 271u, 0x0884D5D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881F114u) goto L_0881F114; AOT_REGCACHE_SYNC_OUT(); return; L_0881F114: aot_gpr_5 = (ctx.gpr[2] | 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); goto L_0881F11C; L_0881F11C: { const bool branch_taken = aot_gpr_5 == 0u; @@ -7114,7 +7115,7 @@ L_0881F16C: } L_0881F180: aot_gpr_4 = (16256u << 16u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(4), 0u); { const bool branch_taken = 0u == 0u; ctx.fpr[0] = std::bit_cast(aot_gpr_4); if (branch_taken) { @@ -7129,9 +7130,9 @@ L_0881F190: ctx.fpr[0] = ctx.fpr[0] / aot_fpr_12; goto L_0881F1A0; L_0881F1A0: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); - jump_target = ctx.gpr[31]; + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -7143,13 +7144,13 @@ L_0881F1B0: aot_gpr_17 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30640))); aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(8))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); aot_gpr_4 = (aot_gpr_6 << 6u); - aot_gpr_16 = (aot_gpr_16 + aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[31]); - ctx.gpr[31] = (0x0881F1E0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + ctx.gpr[16] = (ctx.gpr[16] + aot_gpr_4); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); + aot_gpr_31 = (0x0881F1E0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_0881E25C; L_0881F1E0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(16))); @@ -7181,7 +7182,7 @@ L_0881F1E0: goto L_0881F23C; } L_0881F23C: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(44)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(44)))))); aot_gpr_4 = (aot_gpr_4 & 2048u); aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); @@ -7200,11 +7201,11 @@ L_0881F254: L_0881F260: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; - ctx.gpr[31] = aot_run_words[2]; + aot_gpr_31 = aot_run_words[2]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -7216,9 +7217,9 @@ L_0881F274: aot_gpr_5 = (aot_gpr_5 + static_cast(8)); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); jump_target = aot_gpr_5; - ctx.gpr[31] = (0x0881F294u); + aot_gpr_31 = (0x0881F294u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881F294u) goto L_0881F294; @@ -7231,8 +7232,8 @@ L_0881F294: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(44)))))); ctx.gpr[2] = (aot_gpr_4 & 512u); ctx.gpr[2] = (0u < ctx.gpr[2] ? 1u : 0u); - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -7242,13 +7243,13 @@ L_0881F2BC: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); aot_gpr_17 = (aot_gpr_5 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[31]); - ctx.gpr[31] = (0x0881F2D8u); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); + aot_gpr_31 = (0x0881F2D8u); + ctx.gpr[16] = (aot_gpr_4 | 0u); goto L_0881F7A0; L_0881F2D8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(8))); aot_gpr_4 = (aot_gpr_4 & 1024u); aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); @@ -7260,13 +7261,13 @@ L_0881F2D8: goto L_0881F2F0; } L_0881F2F0: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x0881F300u); + aot_gpr_31 = (0x0881F300u); aot_gpr_6 = (0u | 0u); goto L_0881F474; L_0881F300: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(8))); aot_gpr_4 = (aot_gpr_4 & 512u); aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); @@ -7278,8 +7279,8 @@ L_0881F300: goto L_0881F318; } L_0881F318: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(12))); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(12))); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_0881F368; @@ -7287,7 +7288,7 @@ L_0881F318: goto L_0881F324; } L_0881F324: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 14u); aot_gpr_4 = (aot_gpr_4 ^ 6u); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); @@ -7300,30 +7301,30 @@ L_0881F324: goto L_0881F340; } L_0881F340: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(92))); aot_gpr_4 = (aot_gpr_4 + static_cast(216)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); jump_target = aot_gpr_6; - ctx.gpr[31] = (0x0881F358u); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_5); + aot_gpr_31 = (0x0881F358u); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_5); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881F358u) goto L_0881F358; AOT_REGCACHE_SYNC_OUT(); return; L_0881F358: aot_gpr_4 = (ctx.gpr[2] | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x0881F368u); + aot_gpr_5 = (ctx.gpr[16] | 0u); + aot_gpr_31 = (0x0881F368u); aot_gpr_6 = (0u | 0u); goto L_0881F474; L_0881F368: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; - ctx.gpr[31] = aot_run_words[2]; + aot_gpr_31 = aot_run_words[2]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -7336,15 +7337,15 @@ L_0881F37C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[19]); ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(12))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(92))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_5 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_5 | 0u); aot_gpr_4 = (aot_gpr_4 + static_cast(216)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); jump_target = aot_gpr_6; - ctx.gpr[31] = (0x0881F3B8u); + aot_gpr_31 = (0x0881F3B8u); aot_gpr_4 = (ctx.gpr[19] + aot_gpr_5); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881F3B8u) goto L_0881F3B8; @@ -7365,7 +7366,7 @@ L_0881F3B8: L_0881F3D4: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); - ctx.gpr[31] = (0x0881F3E4u); + aot_gpr_31 = (0x0881F3E4u); aot_gpr_6 = (0u | 0u); goto L_0881F474; L_0881F3E4: @@ -7380,8 +7381,8 @@ L_0881F3E4: goto L_0881F3FC; L_0881F3FC: aot_gpr_4 = (aot_gpr_17 | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x0881F40Cu); + aot_gpr_5 = (ctx.gpr[16] | 0u); + aot_gpr_31 = (0x0881F40Cu); aot_gpr_6 = (0u | 1u); goto L_0881F474; L_0881F40C: @@ -7393,36 +7394,36 @@ L_0881F410: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); aot_gpr_4 = (aot_gpr_4 | 1024u); aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(8), aot_gpr_4); - aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(2120), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(2120), ctx.gpr[16]); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(36))); aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_4 = (aot_gpr_4 + static_cast(40)); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_4 = (ctx.gpr[18] + aot_gpr_6); - aot_gpr_6 = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); jump_target = ctx.gpr[8]; - ctx.gpr[31] = (0x0881F44Cu); + aot_gpr_31 = (0x0881F44Cu); ctx.gpr[7] = (0u | 1u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881F44Cu) goto L_0881F44C; AOT_REGCACHE_SYNC_OUT(); return; L_0881F44C: - aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x0881F458u); + aot_gpr_4 = (ctx.gpr[16] | 0u); + aot_gpr_31 = (0x0881F458u); aot_gpr_5 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0059_entry, 59u, 434u, 0x088F1FC8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881F458u) goto L_0881F458; AOT_REGCACHE_SYNC_OUT(); return; L_0881F458: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; - ctx.gpr[31] = aot_run_words[4]; + aot_gpr_31 = aot_run_words[4]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -7435,17 +7436,17 @@ L_0881F474: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[19]); ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(12))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(92))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_5 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_5 | 0u); aot_gpr_4 = (aot_gpr_4 + static_cast(216)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[20]); ctx.gpr[20] = (aot_gpr_6 & 255u); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_31); jump_target = aot_gpr_6; - ctx.gpr[31] = (0x0881F4B8u); + aot_gpr_31 = (0x0881F4B8u); aot_gpr_4 = (ctx.gpr[19] + aot_gpr_5); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881F4B8u) goto L_0881F4B8; @@ -7466,7 +7467,7 @@ L_0881F4B8: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); jump_target = aot_gpr_6; - ctx.gpr[31] = (0x0881F4F8u); + aot_gpr_31 = (0x0881F4F8u); aot_gpr_4 = (aot_gpr_17 + aot_gpr_5); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881F4F8u) goto L_0881F4F8; @@ -7490,8 +7491,8 @@ L_0881F4F8: L_0881F520: aot_gpr_4 = (aot_gpr_17 | 0u); aot_gpr_5 = (0u | 0u); - aot_gpr_6 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x0881F534u); + aot_gpr_6 = (ctx.gpr[16] | 0u); + aot_gpr_31 = (0x0881F534u); ctx.gpr[7] = (0u | 1u); goto L_0881F6CC; L_0881F534: @@ -7518,20 +7519,20 @@ L_0881F554: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_6 = (ctx.gpr[19] | 0u); - ctx.gpr[31] = (0x0881F568u); + aot_gpr_31 = (0x0881F568u); ctx.gpr[7] = (0u | 1u); goto L_0881F6CC; L_0881F568: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; - ctx.gpr[31] = aot_run_words[5]; + aot_gpr_31 = aot_run_words[5]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -7545,28 +7546,28 @@ L_0881F588: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); aot_gpr_17 = (aot_gpr_5 | 0u); aot_gpr_4 = (aot_gpr_4 & 255u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_16 = (aot_gpr_6 | 0u); + ctx.gpr[16] = (aot_gpr_6 | 0u); if (branch_taken) { goto L_0881F5E8; } goto L_0881F5B4; } L_0881F5B4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(92))); aot_gpr_4 = (aot_gpr_4 + static_cast(216)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); jump_target = aot_gpr_6; - ctx.gpr[31] = (0x0881F5CCu); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_5); + aot_gpr_31 = (0x0881F5CCu); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_5); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881F5CCu) goto L_0881F5CC; AOT_REGCACHE_SYNC_OUT(); return; L_0881F5CC: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2228))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2228))); aot_gpr_4 = (ctx.gpr[2] | 0u); ctx.gpr[7] = (0u | 58u); { const bool branch_taken = aot_gpr_5 == ctx.gpr[7]; @@ -7622,8 +7623,8 @@ L_0881F608: goto L_0881F614; } L_0881F614: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2120))); - { const bool branch_taken = aot_gpr_16 != 0u; + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2120))); + { const bool branch_taken = ctx.gpr[16] != 0u; // nop if (branch_taken) { goto L_0881F638; @@ -7655,7 +7656,7 @@ L_0881F630: goto L_0881F638; } L_0881F638: - { const bool branch_taken = aot_gpr_16 != aot_gpr_17; + { const bool branch_taken = ctx.gpr[16] != aot_gpr_17; // nop if (branch_taken) { goto L_0881F628; @@ -7689,7 +7690,7 @@ L_0881F664: aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); jump_target = aot_gpr_5; - ctx.gpr[31] = (0x0881F67Cu); + aot_gpr_31 = (0x0881F67Cu); aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881F67Cu) goto L_0881F67C; @@ -7732,11 +7733,11 @@ L_0881F6B4: L_0881F6B8: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; - ctx.gpr[31] = aot_run_words[2]; + aot_gpr_31 = aot_run_words[2]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -7744,15 +7745,15 @@ L_0881F6B8: AOT_REGCACHE_SYNC_OUT(); return; L_0881F6CC: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19]}; + { const std::uint32_t aot_run_words[4]{ctx.gpr[16], aot_gpr_17, ctx.gpr[18], ctx.gpr[19]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - aot_gpr_16 = (aot_gpr_6 | 0u); + ctx.gpr[16] = (aot_gpr_6 | 0u); ctx.gpr[18] = (aot_gpr_5 | 0u); aot_gpr_17 = (aot_gpr_4 | 0u); ctx.gpr[19] = (ctx.gpr[7] & 255u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[31]); - ctx.gpr[31] = (0x0881F6FCu); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); + aot_gpr_31 = (0x0881F6FCu); + aot_gpr_5 = (ctx.gpr[16] | 0u); goto L_0881F7A0; L_0881F6FC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30640))); @@ -7764,7 +7765,7 @@ L_0881F6FC: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); jump_target = aot_gpr_6; - ctx.gpr[31] = (0x0881F724u); + aot_gpr_31 = (0x0881F724u); aot_gpr_4 = (aot_gpr_17 + aot_gpr_5); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881F724u) goto L_0881F724; @@ -7779,8 +7780,8 @@ L_0881F724: } L_0881F72C: aot_gpr_4 = (aot_gpr_17 | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x0881F73Cu); + aot_gpr_5 = (ctx.gpr[16] | 0u); + aot_gpr_31 = (0x0881F73Cu); aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0007_entry, 7u, 269u, 0x088215C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881F73Cu) goto L_0881F73C; AOT_REGCACHE_SYNC_OUT(); return; @@ -7791,12 +7792,12 @@ L_0881F73C: aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); ctx.gpr[11] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_4 = (aot_gpr_17 + aot_gpr_6); - aot_gpr_6 = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (ctx.gpr[19] | 0u); ctx.gpr[9] = (0u | 0u); jump_target = ctx.gpr[11]; - ctx.gpr[31] = (0x0881F76Cu); + aot_gpr_31 = (0x0881F76Cu); ctx.gpr[10] = (0u | 1u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881F76Cu) goto L_0881F76C; @@ -7807,7 +7808,7 @@ L_0881F76C: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); jump_target = aot_gpr_6; - ctx.gpr[31] = (0x0881F784u); + aot_gpr_31 = (0x0881F784u); aot_gpr_4 = (aot_gpr_17 + aot_gpr_5); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881F784u) goto L_0881F784; @@ -7815,13 +7816,13 @@ L_0881F76C: L_0881F784: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; - ctx.gpr[31] = aot_run_words[4]; + aot_gpr_31 = aot_run_words[4]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -7831,7 +7832,7 @@ L_0881F7A0: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30640))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(24))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); { const bool branch_taken = aot_gpr_6 != aot_gpr_5; // nop if (branch_taken) { @@ -7845,7 +7846,7 @@ L_0881F7B8: aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); jump_target = aot_gpr_5; - ctx.gpr[31] = (0x0881F7D0u); + aot_gpr_31 = (0x0881F7D0u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881F7D0u) goto L_0881F7D0; @@ -7895,7 +7896,7 @@ L_0881F808: goto L_0881F820; } L_0881F820: - ctx.gpr[31] = (0x0881F828u); + aot_gpr_31 = (0x0881F828u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0134_entry, 134u, 110u, 0x08A1CA0Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881F828u) goto L_0881F828; AOT_REGCACHE_SYNC_OUT(); return; @@ -7908,9 +7909,9 @@ L_0881F828: } goto L_0881F838; L_0881F838: - ctx.gpr[31] = (0x0881F840u); + aot_gpr_31 = (0x0881F840u); aot_gpr_5 = (aot_gpr_5 + static_cast(24)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881F840u) goto L_0881F840; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A93004, 163u, 430u, 0x08A93004u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881F840u) goto L_0881F840; AOT_REGCACHE_SYNC_OUT(); return; L_0881F840: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30640))); @@ -7935,13 +7936,13 @@ L_0881F858: goto L_0881F860; } L_0881F860: - ctx.gpr[31] = (0x0881F868u); + aot_gpr_31 = (0x0881F868u); aot_gpr_5 = (aot_gpr_5 + static_cast(24)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881F868u) goto L_0881F868; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881F868u) goto L_0881F868; AOT_REGCACHE_SYNC_OUT(); return; L_0881F868: - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -7949,13 +7950,13 @@ L_0881F868: AOT_REGCACHE_SYNC_OUT(); return; L_0881F874: aot_gpr_29 = (aot_gpr_29 + static_cast(-64)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), aot_gpr_17); aot_gpr_17 = (aot_gpr_5 | 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(28))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(32))); - { const std::uint32_t aot_run_words[4]{ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[31]}; + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(28))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(32))); + { const std::uint32_t aot_run_words[4]{ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(36), aot_run_words); } { const bool branch_taken = aot_gpr_4 == aot_gpr_5; aot_gpr_5 = (aot_gpr_4 | 0u); @@ -7974,19 +7975,19 @@ L_0881F8A8: } L_0881F8B0: aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_17); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(28))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(28))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); goto L_0881F8BC; L_0881F8BC: { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(28), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(28), aot_gpr_4); if (branch_taken) { goto L_0881F9D0; } goto L_0881F8C4; } L_0881F8C4: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(24))); aot_gpr_6 = (0u | 1u); aot_gpr_5 = (aot_gpr_4 - aot_gpr_5); ctx.gpr[7] = (static_cast(static_cast(aot_gpr_5) >> 2u)); @@ -8030,7 +8031,7 @@ L_0881F918: aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_4 = (ctx.gpr[18] << 2u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_5); - ctx.gpr[31] = (0x0881F92Cu); + aot_gpr_31 = (0x0881F92Cu); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_4); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 474u, 0x08ABE308u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881F92Cu) goto L_0881F92C; AOT_REGCACHE_SYNC_OUT(); return; @@ -8046,7 +8047,7 @@ L_0881F92C: } L_0881F93C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_4); - ctx.gpr[31] = (0x0881F948u); + aot_gpr_31 = (0x0881F948u); aot_gpr_4 = (aot_gpr_6 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 289u, 0x08B65438u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881F948u) goto L_0881F948; AOT_REGCACHE_SYNC_OUT(); return; @@ -8055,7 +8056,7 @@ L_0881F948: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); goto L_0881F950; L_0881F950: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(24))); { const bool branch_taken = aot_gpr_4 != aot_gpr_6; ctx.gpr[19] = (aot_gpr_5 | 0u); if (branch_taken) { @@ -8075,7 +8076,7 @@ L_0881F964: aot_gpr_5 = (aot_gpr_6 | 0u); ctx.gpr[20] = (aot_gpr_4 - aot_gpr_6); aot_gpr_4 = (ctx.gpr[19] | 0u); - ctx.gpr[31] = (0x0881F978u); + aot_gpr_31 = (0x0881F978u); aot_gpr_6 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 164u, 0x08AF54A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881F978u) goto L_0881F978; AOT_REGCACHE_SYNC_OUT(); return; @@ -8106,7 +8107,7 @@ L_0881F9A4: aot_gpr_17 = (aot_gpr_4 | 0u); goto L_0881F9A8; L_0881F9A8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(24))); { const bool branch_taken = aot_gpr_4 == 0u; aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(16), static_cast(0u)); if (branch_taken) { @@ -8115,28 +8116,28 @@ L_0881F9A8: goto L_0881F9B4; } L_0881F9B4: - ctx.gpr[31] = (0x0881F9BCu); + aot_gpr_31 = (0x0881F9BCu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881F9BCu) goto L_0881F9BC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881F9BCu) goto L_0881F9BC; AOT_REGCACHE_SYNC_OUT(); return; L_0881F9BC: aot_gpr_4 = (ctx.gpr[18] << 2u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(24), ctx.gpr[19]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(24), ctx.gpr[19]); aot_gpr_4 = (ctx.gpr[19] + aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(28), aot_gpr_17); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(32), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(28), aot_gpr_17); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(32), aot_gpr_4); goto L_0881F9D0; L_0881F9D0: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(28), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; - ctx.gpr[31] = aot_run_words[5]; + aot_gpr_31 = aot_run_words[5]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(64)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -8198,7 +8199,7 @@ L_0881FA48: ctx.gpr[2] = (0u | 0u); goto L_0881FA4C; L_0881FA4C: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; // nop local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -8210,7 +8211,7 @@ L_0881FA54: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(0), static_cast(0u)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(1), static_cast(0u)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(28), aot_gpr_5); - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -8221,11 +8222,11 @@ L_0881FA70: aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); aot_gpr_17 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); { const bool branch_taken = aot_gpr_6 == 0u; - aot_gpr_16 = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); if (branch_taken) { goto L_0881FB20; } @@ -8233,12 +8234,12 @@ L_0881FA70: } L_0881FA94: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(36))); - ctx.gpr[18] = (aot_gpr_16 | 0u); + ctx.gpr[18] = (ctx.gpr[16] | 0u); aot_gpr_4 = (aot_gpr_4 + static_cast(8)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); jump_target = aot_gpr_6; - ctx.gpr[31] = (0x0881FAB0u); + aot_gpr_31 = (0x0881FAB0u); aot_gpr_4 = (aot_gpr_17 + aot_gpr_5); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881FAB0u) goto L_0881FAB0; @@ -8248,23 +8249,23 @@ L_0881FAB0: aot_gpr_6 = (ctx.gpr[2] << 6u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); aot_gpr_5 = (ctx.gpr[18] | 0u); - ctx.gpr[31] = (0x0881FAC8u); + aot_gpr_31 = (0x0881FAC8u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); goto L_0881E25C; L_0881FAC8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(16))); - aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(0))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(0))); aot_gpr_4 = (aot_gpr_4 << 3u); - aot_gpr_16 = (aot_gpr_16 + aot_gpr_4); + ctx.gpr[16] = (ctx.gpr[16] + aot_gpr_4); aot_gpr_4 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x0881FAE4u); + aot_gpr_31 = (0x0881FAE4u); aot_gpr_5 = (ctx.gpr[18] | 0u); goto L_0881F0FC; L_0881FAE4: aot_gpr_4 = (17096u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); { const float fs = ctx.fpr[0]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(5))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(5))); aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); aot_gpr_17 = (std::bit_cast(aot_fpr_12)); aot_gpr_4 = (static_cast(aot_gpr_17) < static_cast(aot_gpr_4) ? 1u : 0u); @@ -8276,7 +8277,7 @@ L_0881FAE4: goto L_0881FB08; } L_0881FB08: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(6))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(6))); aot_gpr_4 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_17) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -8307,12 +8308,12 @@ L_0881FB28: L_0881FB2C: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; - ctx.gpr[31] = aot_run_words[3]; + aot_gpr_31 = aot_run_words[3]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -8323,8 +8324,8 @@ L_0881FB44: ctx.gpr[9] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30640))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); aot_gpr_17 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_5 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_5 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[9] + static_cast(8))); aot_gpr_5 = (aot_gpr_6 << 6u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), ctx.gpr[22]); @@ -8332,8 +8333,8 @@ L_0881FB44: ctx.gpr[22] = (ctx.gpr[8] & 255u); { const std::uint32_t aot_run_words[4]{ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(8), aot_run_words); } - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), ctx.gpr[31]); - ctx.gpr[31] = (0x0881FB8Cu); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_31); + aot_gpr_31 = (0x0881FB8Cu); aot_gpr_5 = (ctx.gpr[7] | 0u); goto L_0881E290; L_0881FB8C: @@ -8461,7 +8462,7 @@ L_0881FC3C: aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); jump_target = aot_gpr_5; - ctx.gpr[31] = (0x0881FC58u); + aot_gpr_31 = (0x0881FC58u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881FC58u) goto L_0881FC58; @@ -8472,7 +8473,7 @@ L_0881FC58: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); jump_target = aot_gpr_6; - ctx.gpr[31] = (0x0881FC70u); + aot_gpr_31 = (0x0881FC70u); aot_gpr_4 = (ctx.gpr[2] + aot_gpr_5); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881FC70u) goto L_0881FC70; @@ -8496,7 +8497,7 @@ L_0881FC70: L_0881FC98: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7080))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(72))); goto L_0881FCD4; } goto L_0881FCA4; @@ -8511,11 +8512,11 @@ L_0881FCA4: L_0881FCAC: ctx.gpr[7] = (16448u << 16u); aot_fpr_12 = std::bit_cast(ctx.gpr[7]); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(96))); ctx.gpr[7] = (16256u << 16u); aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); aot_fpr_13 = std::bit_cast(ctx.gpr[7]); - ctx.gpr[31] = (0x0881FCCCu); + aot_gpr_31 = (0x0881FCCCu); aot_gpr_6 = (0u | 228u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 503u, 0x08A05F80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881FCCCu) goto L_0881FCCC; AOT_REGCACHE_SYNC_OUT(); return; @@ -8545,7 +8546,7 @@ L_0881FCEC: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); jump_target = aot_gpr_6; - ctx.gpr[31] = (0x0881FD04u); + aot_gpr_31 = (0x0881FD04u); aot_gpr_4 = (aot_gpr_17 + aot_gpr_5); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881FD04u) goto L_0881FD04; @@ -8567,17 +8568,17 @@ L_0881FD04: goto L_0881FD2C; } L_0881FD2C: - ctx.gpr[31] = (0x0881FD34u); + aot_gpr_31 = (0x0881FD34u); ctx.gpr[18] = (ctx.gpr[19] + static_cast(-1)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881FD34u) goto L_0881FD34; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881FD34u) goto L_0881FD34; AOT_REGCACHE_SYNC_OUT(); return; L_0881FD34: ctx.gpr[7] = (static_cast(static_cast(ctx.gpr[18]) >> 31u)); aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_5 = (0u | 0u); - ctx.gpr[31] = (0x0881FD48u); + aot_gpr_31 = (0x0881FD48u); aot_gpr_6 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881FD48u) goto L_0881FD48; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881FD48u) goto L_0881FD48; AOT_REGCACHE_SYNC_OUT(); return; L_0881FD48: ctx.gpr[1] = (ctx.gpr[3] << 1u); @@ -8605,11 +8606,11 @@ L_0881FD6C: L_0881FD74: ctx.gpr[7] = (16448u << 16u); aot_fpr_12 = std::bit_cast(ctx.gpr[7]); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(96))); ctx.gpr[7] = (16256u << 16u); aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); aot_fpr_13 = std::bit_cast(ctx.gpr[7]); - ctx.gpr[31] = (0x0881FD94u); + aot_gpr_31 = (0x0881FD94u); aot_gpr_6 = (0u | 228u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 503u, 0x08A05F80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881FD94u) goto L_0881FD94; AOT_REGCACHE_SYNC_OUT(); return; @@ -8643,9 +8644,9 @@ L_0881FDB8: goto L_0881FDC0; } L_0881FDC0: - ctx.gpr[31] = (0x0881FDC8u); + aot_gpr_31 = (0x0881FDC8u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881FDC8u) goto L_0881FDC8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881FDC8u) goto L_0881FDC8; AOT_REGCACHE_SYNC_OUT(); return; L_0881FDC8: { const bool branch_taken = ctx.gpr[22] == 0u; @@ -8658,7 +8659,7 @@ L_0881FDC8: L_0881FDD0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(16))); aot_gpr_5 = (ctx.gpr[18] << 2u); - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(96))); aot_gpr_5 = (aot_gpr_4 + aot_gpr_5); ctx.gpr[7] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0))); aot_gpr_5 = (aot_gpr_6 | 0u); @@ -8667,7 +8668,7 @@ L_0881FDD0: aot_fpr_12 = std::bit_cast(ctx.gpr[7]); aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); ctx.gpr[7] = (16256u << 16u); - ctx.gpr[31] = (0x0881FE04u); + aot_gpr_31 = (0x0881FE04u); aot_fpr_13 = std::bit_cast(ctx.gpr[7]); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 503u, 0x08A05F80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881FE04u) goto L_0881FE04; AOT_REGCACHE_SYNC_OUT(); return; @@ -8715,7 +8716,7 @@ L_0881FE18: L_0881FE60: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(16))); aot_gpr_5 = (ctx.gpr[18] << 2u); - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(96))); aot_gpr_5 = (aot_gpr_4 + aot_gpr_5); ctx.gpr[7] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0))); aot_gpr_5 = (aot_gpr_6 | 0u); @@ -8724,7 +8725,7 @@ L_0881FE60: aot_fpr_12 = std::bit_cast(ctx.gpr[7]); aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); ctx.gpr[7] = (16256u << 16u); - ctx.gpr[31] = (0x0881FE94u); + aot_gpr_31 = (0x0881FE94u); aot_fpr_13 = std::bit_cast(ctx.gpr[7]); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 503u, 0x08A05F80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881FE94u) goto L_0881FE94; AOT_REGCACHE_SYNC_OUT(); return; @@ -8757,16 +8758,16 @@ L_0881FEAC: L_0881FEBC: { std::uint32_t aot_run_words[8]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; ctx.gpr[21] = aot_run_words[5]; ctx.gpr[22] = aot_run_words[6]; - ctx.gpr[31] = aot_run_words[7]; + aot_gpr_31 = aot_run_words[7]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -8774,8 +8775,8 @@ L_0881FEBC: AOT_REGCACHE_SYNC_OUT(); return; L_0881FEE4: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[31]); - ctx.gpr[31] = (0x0881FEF4u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); + aot_gpr_31 = (0x0881FEF4u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(80))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0018_entry, 18u, 271u, 0x0884D5D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881FEF4u) goto L_0881FEF4; AOT_REGCACHE_SYNC_OUT(); return; @@ -8829,15 +8830,15 @@ L_0881FF34: goto L_0881FF40; } L_0881FF40: - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0881FF4C: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), 0u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -8848,14 +8849,14 @@ L_0881FF54: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); aot_gpr_17 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(36))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_5 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_5 | 0u); aot_gpr_4 = (aot_gpr_4 + static_cast(8)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); jump_target = aot_gpr_6; - ctx.gpr[31] = (0x0881FF84u); + aot_gpr_31 = (0x0881FF84u); aot_gpr_4 = (aot_gpr_17 + aot_gpr_5); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881FF84u) goto L_0881FF84; @@ -8877,7 +8878,7 @@ L_0881FF98: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); jump_target = aot_gpr_6; - ctx.gpr[31] = (0x0881FFB0u); + aot_gpr_31 = (0x0881FFB0u); aot_gpr_4 = (aot_gpr_17 + aot_gpr_5); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881FFB0u) goto L_0881FFB0; @@ -8894,9 +8895,9 @@ L_0881FFB0: goto L_0881FFC4; } L_0881FFC4: - ctx.gpr[31] = (0x0881FFCCu); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881FFCCu) goto L_0881FFCC; + aot_gpr_31 = (0x0881FFCCu); + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881FFCCu) goto L_0881FFCC; AOT_REGCACHE_SYNC_OUT(); return; L_0881FFCC: { const bool branch_taken = ctx.gpr[2] != 0u; @@ -8931,8 +8932,8 @@ L_0881FFE4: goto L_0881FFEC; } L_0881FFEC: - ctx.gpr[31] = (0x0881FFF4u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_31 = (0x0881FFF4u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0081_entry, 81u, 80u, 0x0894854Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0881FFF4u) goto L_0881FFF4; AOT_REGCACHE_SYNC_OUT(); return; L_0881FFF4: diff --git a/profiles/vcs/generated/generated_unit_0007.cpp b/profiles/vcs/generated/generated_unit_0007.cpp index a37bc83..4a1f186 100644 --- a/profiles/vcs/generated/generated_unit_0007.cpp +++ b/profiles/vcs/generated/generated_unit_0007.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,11 +139,11 @@ static const std::uint16_t kEntryIds_recomp_unit_0007[4087] = { }; void recomp_unit_0007_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,6,31,16 fprs=12,13,20,22 gpr_occ=4152 fpr_occ=406 gpr_total=5677 fpr_total=576 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,6,29,31,16 fprs=12,13,20,22 gpr_occ=4275 fpr_occ=406 gpr_total=5873 fpr_total=576 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; - std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_6 = ctx.gpr[6]; + std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; std::uint32_t aot_gpr_16 = ctx.gpr[16]; float aot_fpr_12 = ctx.fpr[12]; @@ -150,8 +151,8 @@ void recomp_unit_0007_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t dir float aot_fpr_20 = ctx.fpr[20]; float aot_fpr_22 = ctx.fpr[22]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[6] = aot_gpr_6; ctx.gpr[31] = aot_gpr_31; ctx.gpr[16] = aot_gpr_16; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; ctx.fpr[22] = aot_fpr_22; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_16 = ctx.gpr[16]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_22 = ctx.fpr[22]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[6] = aot_gpr_6; ctx.gpr[29] = aot_gpr_29; ctx.gpr[31] = aot_gpr_31; ctx.gpr[16] = aot_gpr_16; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; ctx.fpr[22] = aot_fpr_22; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_16 = ctx.gpr[16]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_22 = ctx.fpr[22]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -1104,7 +1105,7 @@ L_0882013C: L_08820148: aot_gpr_31 = (0x08820150u); aot_gpr_4 = (aot_gpr_5 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08820150u) goto L_08820150; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08820150u) goto L_08820150; AOT_REGCACHE_SYNC_OUT(); return; L_08820150: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -1250,7 +1251,7 @@ L_08820220: L_0882023C: aot_gpr_31 = (0x08820244u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(12))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08820244u) goto L_08820244; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08820244u) goto L_08820244; AOT_REGCACHE_SYNC_OUT(); return; L_08820244: { const bool branch_taken = ctx.gpr[2] != 0u; @@ -1263,7 +1264,7 @@ L_08820244: L_0882024C: aot_gpr_31 = (0x08820254u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08820254u) goto L_08820254; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08820254u) goto L_08820254; AOT_REGCACHE_SYNC_OUT(); return; L_08820254: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -1307,7 +1308,7 @@ L_08820274: L_0882027C: aot_gpr_31 = (0x08820284u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08820284u) goto L_08820284; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08820284u) goto L_08820284; AOT_REGCACHE_SYNC_OUT(); return; L_08820284: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -1502,7 +1503,7 @@ L_088203C8: L_088203E0: aot_gpr_31 = (0x088203E8u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088203E8u) goto L_088203E8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088203E8u) goto L_088203E8; AOT_REGCACHE_SYNC_OUT(); return; L_088203E8: if (ctx.gpr[2] != 0u) { @@ -1835,7 +1836,7 @@ L_08820660: L_08820670: aot_gpr_31 = (0x08820678u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 454u, 0x08909B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08820678u) goto L_08820678; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08909B60, 65u, 454u, 0x08909B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 454u, 0x08909B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08820678u) goto L_08820678; AOT_REGCACHE_SYNC_OUT(); return; L_08820678: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); @@ -2026,7 +2027,7 @@ L_08820780: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2260), std::bit_cast(aot_fpr_20)); aot_gpr_31 = (0x08820790u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 454u, 0x08909B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08820790u) goto L_08820790; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08909B60, 65u, 454u, 0x08909B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 454u, 0x08909B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08820790u) goto L_08820790; AOT_REGCACHE_SYNC_OUT(); return; L_08820790: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); @@ -2105,7 +2106,7 @@ L_0882080C: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2260), std::bit_cast(aot_fpr_20)); aot_gpr_31 = (0x0882081Cu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 454u, 0x08909B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882081Cu) goto L_0882081C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08909B60, 65u, 454u, 0x08909B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 454u, 0x08909B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882081Cu) goto L_0882081C; AOT_REGCACHE_SYNC_OUT(); return; L_0882081C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); @@ -2186,14 +2187,14 @@ L_088208D4: aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); aot_gpr_31 = (0x088208F8u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088208F8u) goto L_088208F8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088208F8u) goto L_088208F8; AOT_REGCACHE_SYNC_OUT(); return; L_088208F8: ctx.gpr[21] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(80))); aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(0))); aot_gpr_31 = (0x08820908u); aot_gpr_4 = (ctx.gpr[21] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08820908u) goto L_08820908; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0886D4BC, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08820908u) goto L_08820908; AOT_REGCACHE_SYNC_OUT(); return; L_08820908: ctx.gpr[22] = (ctx.gpr[2] | 0u); @@ -2376,7 +2377,7 @@ L_08820A68: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); aot_gpr_31 = (0x08820A98u); aot_gpr_5 = (aot_gpr_5 + static_cast(15036)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08820A98u) goto L_08820A98; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08820A98u) goto L_08820A98; AOT_REGCACHE_SYNC_OUT(); return; L_08820A98: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); @@ -2405,7 +2406,7 @@ L_08820AD8: ctx.gpr[18] = (0u | 1u); aot_gpr_31 = (0x08820AE8u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08820AE8u) goto L_08820AE8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08820AE8u) goto L_08820AE8; AOT_REGCACHE_SYNC_OUT(); return; L_08820AE8: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -2443,7 +2444,7 @@ L_08820B0C: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08820B18u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08820B18u) goto L_08820B18; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08820B18u) goto L_08820B18; AOT_REGCACHE_SYNC_OUT(); return; L_08820B18: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(92))); @@ -2548,7 +2549,7 @@ L_08820BF4: ctx.gpr[19] = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08820C00u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08820C00u) goto L_08820C00; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08820C00u) goto L_08820C00; AOT_REGCACHE_SYNC_OUT(); return; L_08820C00: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -4595,7 +4596,7 @@ L_088219E4: L_088219F4: aot_gpr_31 = (0x088219FCu); aot_gpr_5 = (aot_gpr_5 + static_cast(24)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088219FCu) goto L_088219FC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A93004, 163u, 430u, 0x08A93004u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088219FCu) goto L_088219FC; AOT_REGCACHE_SYNC_OUT(); return; L_088219FC: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30640))); @@ -4622,7 +4623,7 @@ L_08821A14: L_08821A1C: aot_gpr_31 = (0x08821A24u); aot_gpr_5 = (aot_gpr_5 + static_cast(24)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08821A24u) goto L_08821A24; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08821A24u) goto L_08821A24; AOT_REGCACHE_SYNC_OUT(); return; L_08821A24: { std::uint32_t aot_run_words[5]{}; @@ -4687,7 +4688,7 @@ L_08821AB4: L_08821AC4: aot_gpr_31 = (0x08821ACCu); aot_gpr_5 = (aot_gpr_5 + static_cast(24)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08821ACCu) goto L_08821ACC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A93004, 163u, 430u, 0x08A93004u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08821ACCu) goto L_08821ACC; AOT_REGCACHE_SYNC_OUT(); return; L_08821ACC: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30640))); @@ -4714,7 +4715,7 @@ L_08821AE4: L_08821AEC: aot_gpr_31 = (0x08821AF4u); aot_gpr_5 = (aot_gpr_5 + static_cast(24)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08821AF4u) goto L_08821AF4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08821AF4u) goto L_08821AF4; AOT_REGCACHE_SYNC_OUT(); return; L_08821AF4: { std::uint32_t aot_run_words[4]{}; @@ -4867,7 +4868,7 @@ L_08821C60: ctx.gpr[18] = (0u | 0u); aot_gpr_31 = (0x08821C6Cu); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08821C6Cu) goto L_08821C6C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08821C6Cu) goto L_08821C6C; AOT_REGCACHE_SYNC_OUT(); return; L_08821C6C: if (ctx.gpr[2] == 0u) { @@ -5173,7 +5174,7 @@ L_08821EFC: aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); aot_gpr_31 = (0x08821F1Cu); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08821F1Cu) goto L_08821F1C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08821F1Cu) goto L_08821F1C; AOT_REGCACHE_SYNC_OUT(); return; L_08821F1C: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[19] + static_cast(1929)))))); @@ -5219,7 +5220,7 @@ L_08821F7C: L_08821F84: aot_gpr_31 = (0x08821F8Cu); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08821F8Cu) goto L_08821F8C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08821F8Cu) goto L_08821F8C; AOT_REGCACHE_SYNC_OUT(); return; L_08821F8C: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -5244,7 +5245,7 @@ L_08821F94: L_08821FAC: aot_gpr_31 = (0x08821FB4u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08821FB4u) goto L_08821FB4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08821FB4u) goto L_08821FB4; AOT_REGCACHE_SYNC_OUT(); return; L_08821FB4: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(12))); @@ -5309,7 +5310,7 @@ L_08822010: L_08822018: aot_gpr_31 = (0x08822020u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08822020u) goto L_08822020; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08822020u) goto L_08822020; AOT_REGCACHE_SYNC_OUT(); return; L_08822020: { const bool branch_taken = ctx.gpr[2] != 0u; @@ -5603,7 +5604,7 @@ L_0882223C: L_08822240: aot_gpr_31 = (0x08822248u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08822248u) goto L_08822248; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08822248u) goto L_08822248; AOT_REGCACHE_SYNC_OUT(); return; L_08822248: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -6216,7 +6217,7 @@ L_088226B0: ctx.gpr[19] = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x088226D4u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088226D4u) goto L_088226D4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088226D4u) goto L_088226D4; AOT_REGCACHE_SYNC_OUT(); return; L_088226D4: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30516))); @@ -6224,7 +6225,7 @@ L_088226D4: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x088226E8u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088226E8u) goto L_088226E8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088226E8u) goto L_088226E8; AOT_REGCACHE_SYNC_OUT(); return; L_088226E8: aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(26))); @@ -6349,7 +6350,7 @@ L_088227E4: L_08822804: aot_gpr_31 = (0x0882280Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882280Cu) goto L_0882280C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882280Cu) goto L_0882280C; AOT_REGCACHE_SYNC_OUT(); return; L_0882280C: aot_fpr_12 = ctx.fpr[26] - ctx.fpr[24]; @@ -6509,7 +6510,7 @@ L_08822994: aot_gpr_4 = (aot_gpr_4 | 52429u); aot_gpr_31 = (0x088229B0u); ctx.fpr[26] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088229B0u) goto L_088229B0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088229B0u) goto L_088229B0; AOT_REGCACHE_SYNC_OUT(); return; L_088229B0: aot_fpr_12 = ctx.fpr[26] - ctx.fpr[24]; @@ -6668,7 +6669,7 @@ L_08822AF0: L_08822B1C: aot_gpr_31 = (0x08822B24u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08822B24u) goto L_08822B24; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08822B24u) goto L_08822B24; AOT_REGCACHE_SYNC_OUT(); return; L_08822B24: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30516))); @@ -6676,7 +6677,7 @@ L_08822B24: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08822B38u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08822B38u) goto L_08822B38; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08822B38u) goto L_08822B38; AOT_REGCACHE_SYNC_OUT(); return; L_08822B38: aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(26))); @@ -7339,7 +7340,7 @@ L_08822FA4: L_08822FC0: aot_gpr_31 = (0x08822FC8u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(12))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08822FC8u) goto L_08822FC8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08822FC8u) goto L_08822FC8; AOT_REGCACHE_SYNC_OUT(); return; L_08822FC8: { const bool branch_taken = ctx.gpr[2] != 0u; @@ -8167,7 +8168,7 @@ L_088234BC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); aot_gpr_31 = (0x0882368Cu); aot_gpr_4 = (ctx.gpr[28] + static_cast(-30512)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882368Cu) goto L_0882368C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882368Cu) goto L_0882368C; AOT_REGCACHE_SYNC_OUT(); return; L_0882368C: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -8370,7 +8371,7 @@ L_088237D0: L_088237DC: aot_gpr_31 = (0x088237E4u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088237E4u) goto L_088237E4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088237E4u) goto L_088237E4; AOT_REGCACHE_SYNC_OUT(); return; L_088237E4: { std::uint32_t aot_run_words[3]{}; @@ -8805,7 +8806,7 @@ L_08823AE8: L_08823AF0: aot_gpr_31 = (0x08823AF8u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08823AF8u) goto L_08823AF8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08823AF8u) goto L_08823AF8; AOT_REGCACHE_SYNC_OUT(); return; L_08823AF8: { std::uint32_t aot_run_words[3]{}; @@ -8875,7 +8876,7 @@ L_08823B84: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(112), ctx.gpr[2]); aot_gpr_31 = (0x08823B90u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08823B90u) goto L_08823B90; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC734, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08823B90u) goto L_08823B90; AOT_REGCACHE_SYNC_OUT(); return; L_08823B90: aot_gpr_5 = (0u | 5u); diff --git a/profiles/vcs/generated/generated_unit_0008.cpp b/profiles/vcs/generated/generated_unit_0008.cpp index 7e402a9..d4baf29 100644 --- a/profiles/vcs/generated/generated_unit_0008.cpp +++ b/profiles/vcs/generated/generated_unit_0008.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0008[4092] = { }; void recomp_unit_0008_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,6,16,17 fprs=12,13,14,15 gpr_occ=4464 fpr_occ=635 gpr_total=6166 fpr_total=751 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,6,31,16 fprs=12,13,14,15 gpr_occ=4562 fpr_occ=635 gpr_total=6353 fpr_total=751 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_6 = ctx.gpr[6]; + std::uint32_t aot_gpr_31 = ctx.gpr[31]; std::uint32_t aot_gpr_16 = ctx.gpr[16]; - std::uint32_t aot_gpr_17 = ctx.gpr[17]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_14 = ctx.fpr[14]; float aot_fpr_15 = ctx.fpr[15]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[6] = aot_gpr_6; ctx.gpr[16] = aot_gpr_16; ctx.gpr[17] = aot_gpr_17; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[15] = aot_fpr_15; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_17 = ctx.gpr[17]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_15 = ctx.fpr[15]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[6] = aot_gpr_6; ctx.gpr[31] = aot_gpr_31; ctx.gpr[16] = aot_gpr_16; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[15] = aot_fpr_15; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_16 = ctx.gpr[16]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_15 = ctx.fpr[15]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -799,7 +800,7 @@ L_08824000: aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(20), std::bit_cast(aot_fpr_12)); goto L_08824040; L_08824040: - aot_gpr_4 = (aot_gpr_17 & 4u); + aot_gpr_4 = (ctx.gpr[17] & 4u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -836,7 +837,7 @@ L_0882404C: aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(24), std::bit_cast(aot_fpr_12)); goto L_088240B4; L_088240B4: - aot_gpr_4 = (aot_gpr_17 & 8u); + aot_gpr_4 = (ctx.gpr[17] & 8u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -852,7 +853,7 @@ L_088240C0: aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(32), static_cast(aot_gpr_4)); goto L_088240D4; L_088240D4: - aot_gpr_4 = (aot_gpr_17 & 32u); + aot_gpr_4 = (ctx.gpr[17] & 32u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -862,12 +863,12 @@ L_088240D4: } L_088240E0: aot_gpr_5 = (ctx.gpr[19] + static_cast(64)); - ctx.gpr[31] = (0x088240ECu); + aot_gpr_31 = (0x088240ECu); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 79u, 0x08964CC8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088240ECu) goto L_088240EC; AOT_REGCACHE_SYNC_OUT(); return; L_088240EC: - aot_gpr_4 = (aot_gpr_17 & 16u); + aot_gpr_4 = (ctx.gpr[17] & 16u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -877,12 +878,12 @@ L_088240EC: } L_088240F8: aot_gpr_5 = (ctx.gpr[19] + static_cast(48)); - ctx.gpr[31] = (0x08824104u); + aot_gpr_31 = (0x08824104u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 79u, 0x08964CC8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08824104u) goto L_08824104; AOT_REGCACHE_SYNC_OUT(); return; L_08824104: - aot_gpr_4 = (aot_gpr_17 & 64u); + aot_gpr_4 = (ctx.gpr[17] & 64u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -892,12 +893,12 @@ L_08824104: } L_08824110: aot_gpr_5 = (ctx.gpr[19] + static_cast(80)); - ctx.gpr[31] = (0x0882411Cu); + aot_gpr_31 = (0x0882411Cu); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 79u, 0x08964CC8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882411Cu) goto L_0882411C; AOT_REGCACHE_SYNC_OUT(); return; L_0882411C: - aot_gpr_4 = (aot_gpr_17 & 128u); + aot_gpr_4 = (ctx.gpr[17] & 128u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -934,7 +935,7 @@ L_08824128: aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(96), std::bit_cast(aot_fpr_12)); goto L_08824190; L_08824190: - aot_gpr_4 = (aot_gpr_17 & 256u); + aot_gpr_4 = (ctx.gpr[17] & 256u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -950,7 +951,7 @@ L_0882419C: aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(102), static_cast(aot_gpr_4)); goto L_088241B0; L_088241B0: - aot_gpr_4 = (aot_gpr_17 & 512u); + aot_gpr_4 = (ctx.gpr[17] & 512u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -975,12 +976,12 @@ L_088241E8: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; - ctx.gpr[31] = aot_run_words[4]; + aot_gpr_31 = aot_run_words[4]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -993,15 +994,15 @@ L_08824204: aot_gpr_4 = (2237u << 16u); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(3)))))); aot_gpr_6 = (0u | 1u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_17); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), ctx.gpr[31]); - ctx.gpr[31] = (0x0882422Cu); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), ctx.gpr[17]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_31); + aot_gpr_31 = (0x0882422Cu); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 192u, 0x08ADCA6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882422Cu) goto L_0882422C; AOT_REGCACHE_SYNC_OUT(); return; L_0882422C: - aot_gpr_17 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (ctx.gpr[2] | 0u); + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_0882426C; @@ -1009,24 +1010,24 @@ L_0882422C: goto L_08824238; } L_08824238: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(96))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); if (aot_gpr_4 != 0u) { - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(96))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); goto L_08824264; } goto L_08824244; L_08824244: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(10)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(10)))))); aot_gpr_6 = (aot_gpr_29 + static_cast(16)); - ctx.gpr[31] = (0x08824254u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_31 = (0x08824254u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08824254u) goto L_08824254; AOT_REGCACHE_SYNC_OUT(); return; L_08824254: - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(96), ctx.gpr[2]); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(16))); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(4), static_cast(aot_gpr_4)); - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(96))); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(4), static_cast(aot_gpr_4)); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); goto L_08824264; L_08824264: { const bool branch_taken = 0u == 0u; @@ -1046,7 +1047,7 @@ L_0882426C: L_08824278: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(10)))))); aot_gpr_6 = (aot_gpr_29 + static_cast(17)); - ctx.gpr[31] = (0x08824288u); + aot_gpr_31 = (0x08824288u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08824288u) goto L_08824288; AOT_REGCACHE_SYNC_OUT(); return; @@ -1063,10 +1064,10 @@ L_0882429C: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(20), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; - ctx.gpr[31] = aot_run_words[2]; + ctx.gpr[17] = aot_run_words[1]; + aot_gpr_31 = aot_run_words[2]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -1076,7 +1077,7 @@ L_088242B0: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(96))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_31); { const bool branch_taken = aot_gpr_5 != 0u; aot_gpr_16 = (aot_gpr_4 | 0u); if (branch_taken) { @@ -1087,7 +1088,7 @@ L_088242B0: L_088242C8: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(10)))))); aot_gpr_6 = (aot_gpr_29 + static_cast(16)); - ctx.gpr[31] = (0x088242D8u); + aot_gpr_31 = (0x088242D8u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088242D8u) goto L_088242D8; AOT_REGCACHE_SYNC_OUT(); return; @@ -1101,8 +1102,8 @@ L_088242E4: ctx.gpr[2] = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(32))); ctx.gpr[2] = (ctx.gpr[2] & 1u); aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -1112,7 +1113,7 @@ L_08824300: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(96))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_31); { const bool branch_taken = aot_gpr_5 != 0u; aot_gpr_16 = (aot_gpr_4 | 0u); if (branch_taken) { @@ -1123,7 +1124,7 @@ L_08824300: L_08824318: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(10)))))); aot_gpr_6 = (aot_gpr_29 + static_cast(16)); - ctx.gpr[31] = (0x08824328u); + aot_gpr_31 = (0x08824328u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08824328u) goto L_08824328; AOT_REGCACHE_SYNC_OUT(); return; @@ -1138,8 +1139,8 @@ L_08824334: ctx.gpr[2] = (aot_gpr_4 & 2u); ctx.gpr[2] = (0u < ctx.gpr[2] ? 1u : 0u); aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -1150,13 +1151,13 @@ L_08824354: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(160), std::bit_cast(ctx.fpr[24])); ctx.fpr[24] = std::bit_cast(0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(164), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(168), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(168), ctx.gpr[17]); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_13) || std::isnan(ctx.fpr[24])) && aot_fpr_13 == ctx.fpr[24])) ? 0x00800000u : 0u); - aot_gpr_17 = (aot_gpr_5 | 0u); + ctx.gpr[17] = (aot_gpr_5 | 0u); aot_gpr_16 = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(152), std::bit_cast(ctx.fpr[20])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(156), std::bit_cast(ctx.fpr[22])); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(172), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(172), aot_gpr_31); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); ctx.fpr[20] = std::bit_cast(std::bit_cast(aot_fpr_12)); if (branch_taken) { @@ -1177,7 +1178,7 @@ L_08824394: { const float fs = aot_fpr_13; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[22] = std::bit_cast(0x7FC00000u); else ctx.fpr[22] = fs * ft; } goto L_08824398; L_08824398: - ctx.gpr[31] = (0x088243A0u); + aot_gpr_31 = (0x088243A0u); aot_gpr_4 = (aot_gpr_16 | 0u); goto L_08824204; L_088243A0: @@ -1190,7 +1191,7 @@ L_088243A0: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -1229,8 +1230,8 @@ L_088243A0: L_088243D4: aot_gpr_4 = (aot_gpr_29 + static_cast(48)); aot_gpr_5 = (aot_gpr_16 + static_cast(128)); - ctx.gpr[31] = (0x088243E4u); - aot_gpr_6 = (aot_gpr_17 | 0u); + aot_gpr_31 = (0x088243E4u); + aot_gpr_6 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0169_entry, 169u, 26u, 0x08AA821Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088243E4u) goto L_088243E4; AOT_REGCACHE_SYNC_OUT(); return; L_088243E4: @@ -1406,10 +1407,10 @@ L_08824540: ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); aot_gpr_16 = aot_run_words[3]; - aot_gpr_17 = aot_run_words[4]; - ctx.gpr[31] = aot_run_words[5]; + ctx.gpr[17] = aot_run_words[4]; + aot_gpr_31 = aot_run_words[5]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(176)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -1417,7 +1418,7 @@ L_08824540: AOT_REGCACHE_SYNC_OUT(); return; L_08824560: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_12)); aot_gpr_6 = (aot_gpr_5 + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); @@ -1440,12 +1441,12 @@ L_08824560: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(20))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(12))); - ctx.gpr[31] = (0x0882459Cu); + aot_gpr_31 = (0x0882459Cu); aot_gpr_5 = (aot_gpr_29 | 0u); goto L_08824354; L_0882459C: - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -1453,11 +1454,11 @@ L_0882459C: AOT_REGCACHE_SYNC_OUT(); return; L_088245A8: aot_gpr_29 = (aot_gpr_29 + static_cast(-192)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(172), aot_run_words); } aot_gpr_16 = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(192), aot_gpr_5); - ctx.gpr[31] = (0x088245CCu); + aot_gpr_31 = (0x088245CCu); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(192)))))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0165_entry, 165u, 338u, 0x08A9AC30u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088245CCu) goto L_088245CC; AOT_REGCACHE_SYNC_OUT(); return; @@ -1466,23 +1467,23 @@ L_088245CC: aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(112), static_cast(aot_gpr_4)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(112)))))); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x088245E4u); + aot_gpr_31 = (0x088245E4u); aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088245E4u) goto L_088245E4; AOT_REGCACHE_SYNC_OUT(); return; L_088245E4: - aot_gpr_17 = (ctx.gpr[2] + static_cast(48)); + ctx.gpr[17] = (ctx.gpr[2] + static_cast(48)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(192)))))); aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(114), static_cast(aot_gpr_4)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(114)))))); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08824600u); + aot_gpr_31 = (0x08824600u); aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08824600u) goto L_08824600; AOT_REGCACHE_SYNC_OUT(); return; L_08824600: aot_gpr_4 = (ctx.gpr[2] + static_cast(80)); - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -1512,7 +1513,7 @@ L_08824600: aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(144), static_cast(aot_gpr_4)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(144)))))); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08824638u); + aot_gpr_31 = (0x08824638u); aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08824638u) goto L_08824638; AOT_REGCACHE_SYNC_OUT(); return; @@ -1523,7 +1524,7 @@ L_08824638: aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(146), static_cast(aot_gpr_4)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(146)))))); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08824658u); + aot_gpr_31 = (0x08824658u); aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08824658u) goto L_08824658; AOT_REGCACHE_SYNC_OUT(); return; @@ -1536,7 +1537,7 @@ L_08824658: aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(148), static_cast(aot_gpr_4)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(148)))))); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08824680u); + aot_gpr_31 = (0x08824680u); aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08824680u) goto L_08824680; AOT_REGCACHE_SYNC_OUT(); return; @@ -1547,7 +1548,7 @@ L_08824680: aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(150), static_cast(aot_gpr_4)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(150)))))); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x088246A0u); + aot_gpr_31 = (0x088246A0u); aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088246A0u) goto L_088246A0; AOT_REGCACHE_SYNC_OUT(); return; @@ -1560,7 +1561,7 @@ L_088246A0: aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(152), static_cast(aot_gpr_4)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(152)))))); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x088246C8u); + aot_gpr_31 = (0x088246C8u); aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088246C8u) goto L_088246C8; AOT_REGCACHE_SYNC_OUT(); return; @@ -1571,7 +1572,7 @@ L_088246C8: aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(154), static_cast(aot_gpr_4)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(154)))))); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x088246E8u); + aot_gpr_31 = (0x088246E8u); aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088246E8u) goto L_088246E8; AOT_REGCACHE_SYNC_OUT(); return; @@ -1582,7 +1583,7 @@ L_088246E8: aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(156), static_cast(aot_gpr_4)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(156)))))); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08824708u); + aot_gpr_31 = (0x08824708u); aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08824708u) goto L_08824708; AOT_REGCACHE_SYNC_OUT(); return; @@ -1593,7 +1594,7 @@ L_08824708: aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(158), static_cast(aot_gpr_4)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(158)))))); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08824728u); + aot_gpr_31 = (0x08824728u); aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08824728u) goto L_08824728; AOT_REGCACHE_SYNC_OUT(); return; @@ -1604,23 +1605,23 @@ L_08824728: aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(160), static_cast(aot_gpr_4)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(160)))))); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08824748u); + aot_gpr_31 = (0x08824748u); aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08824748u) goto L_08824748; AOT_REGCACHE_SYNC_OUT(); return; L_08824748: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(72))); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(184), std::bit_cast(aot_fpr_12)); - aot_gpr_17 = (aot_gpr_16 + static_cast(128)); + ctx.gpr[17] = (aot_gpr_16 + static_cast(128)); ctx.gpr[18] = (aot_gpr_29 + static_cast(16)); aot_gpr_5 = (aot_gpr_16 + static_cast(128)); - ctx.gpr[31] = (0x08824764u); + aot_gpr_31 = (0x08824764u); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 933u, 0x0885FE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08824764u) goto L_08824764; AOT_REGCACHE_SYNC_OUT(); return; L_08824764: - aot_gpr_4 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x08824770u); + aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_31 = (0x08824770u); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 7u, 0x08860358u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08824770u) goto L_08824770; AOT_REGCACHE_SYNC_OUT(); return; @@ -1644,7 +1645,7 @@ L_08824780: goto L_0882478C; } L_0882478C: - ctx.gpr[31] = (0x08824794u); + aot_gpr_31 = (0x08824794u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(80))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 129u, 0x089D89E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08824794u) goto L_08824794; AOT_REGCACHE_SYNC_OUT(); return; @@ -1653,7 +1654,7 @@ L_08824794: aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(162), static_cast(aot_gpr_4)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(162)))))); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x088247ACu); + aot_gpr_31 = (0x088247ACu); aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088247ACu) goto L_088247AC; AOT_REGCACHE_SYNC_OUT(); return; @@ -1710,25 +1711,25 @@ L_088247AC: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(172), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; - ctx.gpr[31] = aot_run_words[3]; + aot_gpr_31 = aot_run_words[3]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(192)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08824878: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; // nop local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08824880: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; // nop local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -1738,15 +1739,15 @@ L_08824888: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); - { const std::uint32_t aot_run_words[6]{aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[6]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(24), aot_run_words); } - ctx.gpr[31] = (0x088248B4u); + aot_gpr_31 = (0x088248B4u); aot_gpr_4 = (aot_gpr_16 | 0u); goto L_08824A0C; L_088248B4: ctx.gpr[19] = (2237u << 16u); aot_gpr_16 = (ctx.gpr[2] | 0u); - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); ctx.gpr[21] = (aot_gpr_29 + static_cast(16)); ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5872))); ctx.gpr[19] = (ctx.gpr[19] + static_cast(-28736)); @@ -1758,7 +1759,7 @@ L_088248CC: } goto L_088248D4; L_088248D4: - ctx.gpr[31] = (0x088248DCu); + aot_gpr_31 = (0x088248DCu); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 459u, 0x08B65DE8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088248DCu) goto L_088248DC; AOT_REGCACHE_SYNC_OUT(); return; @@ -1774,7 +1775,7 @@ L_088248E4: aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 2u)); aot_gpr_4 = (aot_gpr_4 & 255u); - aot_gpr_4 = (static_cast(aot_gpr_17) < static_cast(aot_gpr_4) ? 1u : 0u); + aot_gpr_4 = (static_cast(ctx.gpr[17]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -1784,30 +1785,30 @@ L_088248E4: } L_0882490C: { const bool branch_taken = ctx.gpr[18] != 0u; - aot_gpr_5 = (aot_gpr_17 & 255u); + aot_gpr_5 = (ctx.gpr[17] & 255u); if (branch_taken) { goto L_08824924; } goto L_08824914; } L_08824914: - ctx.gpr[31] = (0x0882491Cu); + aot_gpr_31 = (0x0882491Cu); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 459u, 0x08B65DE8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882491Cu) goto L_0882491C; AOT_REGCACHE_SYNC_OUT(); return; L_0882491C: ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5872))); - aot_gpr_5 = (aot_gpr_17 & 255u); + aot_gpr_5 = (ctx.gpr[17] & 255u); goto L_08824924; L_08824924: - ctx.gpr[31] = (0x0882492Cu); + aot_gpr_31 = (0x0882492Cu); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0147_entry, 147u, 561u, 0x08A53098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882492Cu) goto L_0882492C; AOT_REGCACHE_SYNC_OUT(); return; L_0882492C: ctx.gpr[18] = (ctx.gpr[2] | 0u); aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(0))); - ctx.gpr[31] = (0x0882493Cu); + aot_gpr_31 = (0x0882493Cu); aot_gpr_4 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 12u, 0x08ADC0F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882493Cu) goto L_0882493C; AOT_REGCACHE_SYNC_OUT(); return; @@ -1823,7 +1824,7 @@ L_0882493C: L_08824948: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[20] + static_cast(3)))))); aot_gpr_4 = (ctx.gpr[19] | 0u); - ctx.gpr[31] = (0x08824958u); + aot_gpr_31 = (0x08824958u); aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 192u, 0x08ADCA6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08824958u) goto L_08824958; AOT_REGCACHE_SYNC_OUT(); return; @@ -1849,7 +1850,7 @@ L_08824960: L_08824974: ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5872))); { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); if (branch_taken) { goto L_088249DC; } @@ -1858,7 +1859,7 @@ L_08824974: L_08824980: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[20] + static_cast(3)))))); aot_gpr_4 = (ctx.gpr[19] | 0u); - ctx.gpr[31] = (0x08824990u); + aot_gpr_31 = (0x08824990u); aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 192u, 0x08ADCA6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08824990u) goto L_08824990; AOT_REGCACHE_SYNC_OUT(); return; @@ -1873,7 +1874,7 @@ L_08824990: L_088249A0: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(10)))))); aot_gpr_4 = (ctx.gpr[18] | 0u); - ctx.gpr[31] = (0x088249B0u); + aot_gpr_31 = (0x088249B0u); aot_gpr_6 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088249B0u) goto L_088249B0; AOT_REGCACHE_SYNC_OUT(); return; @@ -1902,7 +1903,7 @@ L_088249CC: } L_088249D4: ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5872))); - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); goto L_088249DC; L_088249DC: { const bool branch_taken = 0u == 0u; @@ -1919,14 +1920,14 @@ L_088249E8: { std::uint32_t aot_run_words[7]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(20), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; ctx.gpr[21] = aot_run_words[5]; - ctx.gpr[31] = aot_run_words[6]; + aot_gpr_31 = aot_run_words[6]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(48)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -1936,7 +1937,7 @@ L_08824A0C: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(3)))))); aot_gpr_4 = (aot_gpr_4 << 24u); ctx.gpr[2] = (static_cast(static_cast(aot_gpr_4) >> 24u)); - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; ctx.gpr[2] = (ctx.gpr[2] & 65535u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -1954,8 +1955,8 @@ L_08824A20: ctx.gpr[8] = (48896u << 16u); ctx.gpr[11] = (15692u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(80), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(84), aot_gpr_17); - aot_gpr_17 = (aot_gpr_5 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(84), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_5 | 0u); aot_fpr_13 = std::bit_cast(ctx.gpr[8]); aot_gpr_16 = (aot_gpr_4 | 0u); ctx.gpr[11] = (ctx.gpr[11] | 52429u); @@ -1969,7 +1970,7 @@ L_08824A20: ctx.gpr[7] = (ctx.gpr[19] + static_cast(80)); ctx.gpr[8] = (ctx.gpr[18] + static_cast(80)); ctx.gpr[9] = (ctx.gpr[19] + static_cast(64)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(100), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(100), aot_gpr_31); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); ctx.gpr[10] = (ctx.gpr[18] + static_cast(64)); if (branch_taken) { @@ -2373,12 +2374,12 @@ L_08824C98: goto L_08824CA8; } L_08824CA8: - ctx.gpr[31] = (0x08824CB0u); + aot_gpr_31 = (0x08824CB0u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08824CB0u) goto L_08824CB0; AOT_REGCACHE_SYNC_OUT(); return; L_08824CB0: - ctx.gpr[31] = (0x08824CB8u); + aot_gpr_31 = (0x08824CB8u); aot_gpr_4 = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 695u, 0x0894763Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08824CB8u) goto L_08824CB8; AOT_REGCACHE_SYNC_OUT(); return; @@ -2418,9 +2419,9 @@ L_08824CE0: } L_08824CE8: aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_6 = (ctx.gpr[18] | 0u); - ctx.gpr[31] = (0x08824CFCu); + aot_gpr_31 = (0x08824CFCu); ctx.gpr[7] = (ctx.gpr[20] | 0u); goto L_08824D28; L_08824CFC: @@ -2438,13 +2439,13 @@ L_08824D08: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(80), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; - ctx.gpr[31] = aot_run_words[5]; + aot_gpr_31 = aot_run_words[5]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(112)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -2452,7 +2453,7 @@ L_08824D08: AOT_REGCACHE_SYNC_OUT(); return; L_08824D28: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_4 = (ctx.gpr[7] & 65535u); aot_gpr_4 = (aot_gpr_4 & 65535u); @@ -2479,7 +2480,7 @@ L_08824D28: aot_mem.aot_direct_store8(ctx.gpr[9] + static_cast(0), static_cast(aot_gpr_4)); aot_gpr_4 = (ctx.gpr[7] & 1u); ctx.gpr[18] = (aot_gpr_5 | 0u); - aot_gpr_17 = (aot_gpr_6 | 0u); + ctx.gpr[17] = (aot_gpr_6 | 0u); aot_gpr_16 = (ctx.gpr[7] | 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -2489,7 +2490,7 @@ L_08824D28: goto L_08824DB0; } L_08824DB0: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(16))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(16))); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); aot_gpr_5 = (aot_gpr_4 & 65535u); aot_gpr_5 = (aot_gpr_5 & 65535u); @@ -2548,7 +2549,7 @@ L_08824E70: goto L_08824E7C; } L_08824E7C: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(20))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(20))); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); aot_gpr_5 = (aot_gpr_4 & 65535u); aot_gpr_5 = (aot_gpr_5 & 65535u); @@ -2607,7 +2608,7 @@ L_08824F3C: goto L_08824F48; } L_08824F48: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(24))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(24))); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); aot_gpr_5 = (aot_gpr_4 & 65535u); aot_gpr_5 = (aot_gpr_5 & 65535u); @@ -2666,7 +2667,7 @@ L_08825008: goto L_08825014; } L_08825014: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(32))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(32))); aot_gpr_5 = (aot_mem.aot_direct_load_word_right(ctx.gpr[18] + static_cast(0), aot_gpr_5)); aot_gpr_5 = (aot_mem.aot_direct_load_word_left(ctx.gpr[18] + static_cast(3), aot_gpr_5)); aot_gpr_5 = (aot_gpr_5 & 65535u); @@ -2687,8 +2688,8 @@ L_0882503C: goto L_08825048; } L_08825048: - aot_gpr_5 = (aot_gpr_17 + static_cast(64)); - ctx.gpr[31] = (0x08825054u); + aot_gpr_5 = (ctx.gpr[17] + static_cast(64)); + aot_gpr_31 = (0x08825054u); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 73u, 0x089647D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08825054u) goto L_08825054; AOT_REGCACHE_SYNC_OUT(); return; @@ -2702,8 +2703,8 @@ L_08825054: goto L_08825060; } L_08825060: - aot_gpr_5 = (aot_gpr_17 + static_cast(48)); - ctx.gpr[31] = (0x0882506Cu); + aot_gpr_5 = (ctx.gpr[17] + static_cast(48)); + aot_gpr_31 = (0x0882506Cu); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 73u, 0x089647D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882506Cu) goto L_0882506C; AOT_REGCACHE_SYNC_OUT(); return; @@ -2717,8 +2718,8 @@ L_0882506C: goto L_08825078; } L_08825078: - aot_gpr_5 = (aot_gpr_17 + static_cast(80)); - ctx.gpr[31] = (0x08825084u); + aot_gpr_5 = (ctx.gpr[17] + static_cast(80)); + aot_gpr_31 = (0x08825084u); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 73u, 0x089647D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08825084u) goto L_08825084; AOT_REGCACHE_SYNC_OUT(); return; @@ -2732,7 +2733,7 @@ L_08825084: goto L_08825090; } L_08825090: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(96))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); aot_gpr_5 = (aot_gpr_4 & 65535u); aot_gpr_5 = (aot_gpr_5 & 65535u); @@ -2791,7 +2792,7 @@ L_08825150: goto L_0882515C; } L_0882515C: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(102))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(102))); aot_gpr_5 = (aot_mem.aot_direct_load_word_right(ctx.gpr[18] + static_cast(0), aot_gpr_5)); aot_gpr_5 = (aot_mem.aot_direct_load_word_left(ctx.gpr[18] + static_cast(3), aot_gpr_5)); aot_gpr_5 = (aot_gpr_5 & 65535u); @@ -2812,7 +2813,7 @@ L_08825184: goto L_08825190; } L_08825190: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(100))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(100))); aot_gpr_4 = (aot_gpr_4 & 65535u); aot_gpr_5 = (aot_gpr_4 & 255u); aot_gpr_6 = (aot_mem.aot_direct_load_word_right(ctx.gpr[18] + static_cast(0), aot_gpr_6)); @@ -2840,11 +2841,11 @@ L_088251EC: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; - ctx.gpr[31] = aot_run_words[3]; + aot_gpr_31 = aot_run_words[3]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -2853,7 +2854,7 @@ L_088251EC: L_08825204: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_6); aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_4 = (2237u << 16u); @@ -2869,7 +2870,7 @@ L_08825204: goto L_08825234; } L_08825234: - ctx.gpr[31] = (0x0882523Cu); + aot_gpr_31 = (0x0882523Cu); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882523Cu) goto L_0882523C; AOT_REGCACHE_SYNC_OUT(); return; @@ -2902,8 +2903,8 @@ L_08825264: goto L_08825270; L_08825270: aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -2911,20 +2912,20 @@ L_08825270: AOT_REGCACHE_SYNC_OUT(); return; L_08825280: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, ctx.gpr[31]}; + { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_16 = (aot_gpr_5 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_6); aot_gpr_4 = (2237u << 16u); - aot_gpr_17 = (aot_gpr_4 + static_cast(-28736)); + ctx.gpr[17] = (aot_gpr_4 + static_cast(-28736)); aot_gpr_5 = (aot_gpr_16 & 255u); - ctx.gpr[31] = (0x088252ACu); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_31 = (0x088252ACu); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 407u, 0x08ADD7ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088252ACu) goto L_088252AC; AOT_REGCACHE_SYNC_OUT(); return; L_088252AC: - aot_gpr_4 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x088252B8u); + aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_31 = (0x088252B8u); aot_gpr_5 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 16u, 0x08ADC120u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088252B8u) goto L_088252B8; AOT_REGCACHE_SYNC_OUT(); return; @@ -2956,7 +2957,7 @@ L_088252D0: goto L_088252DC; } L_088252DC: - ctx.gpr[31] = (0x088252E4u); + aot_gpr_31 = (0x088252E4u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0114_entry, 114u, 649u, 0x089CF934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088252E4u) goto L_088252E4; AOT_REGCACHE_SYNC_OUT(); return; @@ -2964,10 +2965,10 @@ L_088252E4: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; - ctx.gpr[31] = aot_run_words[2]; + ctx.gpr[17] = aot_run_words[1]; + aot_gpr_31 = aot_run_words[2]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -2990,7 +2991,7 @@ L_088252F8: aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7789))); aot_gpr_5 = (aot_gpr_5 << 2u); aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_4); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -3105,7 +3106,7 @@ L_08825340: const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(128)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -3115,7 +3116,7 @@ L_088253C0: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(0), static_cast(0u)); ctx.gpr[2] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(0)))))); - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -3125,7 +3126,7 @@ L_088253D4: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(0), static_cast(0u)); ctx.gpr[2] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(0)))))); - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -3135,7 +3136,7 @@ L_088253E8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(0), static_cast(0u)); ctx.gpr[2] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(0)))))); - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -3145,7 +3146,7 @@ L_088253FC: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(0), static_cast(0u)); ctx.gpr[2] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(0)))))); - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -3155,7 +3156,7 @@ L_08825410: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(0), static_cast(0u)); ctx.gpr[2] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(0)))))); - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -3163,25 +3164,25 @@ L_08825410: AOT_REGCACHE_SYNC_OUT(); return; L_08825424: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, ctx.gpr[31]}; + { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - aot_gpr_17 = (aot_gpr_5 | 0u); + ctx.gpr[17] = (aot_gpr_5 | 0u); aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_4 = (2235u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28628)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(0))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(0), static_cast(aot_gpr_4)); aot_gpr_4 = (2235u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28612)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), aot_gpr_4); aot_gpr_4 = (aot_gpr_16 + static_cast(16)); - ctx.gpr[31] = (0x08825468u); - aot_gpr_5 = (aot_gpr_17 + static_cast(16)); + aot_gpr_31 = (0x08825468u); + aot_gpr_5 = (ctx.gpr[17] + static_cast(16)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 912u, 0x0885F828u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08825468u) goto L_08825468; AOT_REGCACHE_SYNC_OUT(); return; L_08825468: - aot_gpr_4 = (aot_gpr_17 + static_cast(96)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(96)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -3196,7 +3197,7 @@ L_08825468: const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_4 = (aot_gpr_17 + static_cast(112)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(112)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -3211,7 +3212,7 @@ L_08825468: const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_4 = (aot_gpr_17 + static_cast(128)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(128)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -3226,7 +3227,7 @@ L_08825468: const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_4 = (aot_gpr_17 + static_cast(144)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(144)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -3241,42 +3242,42 @@ L_08825468: const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(160))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(160))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(160), static_cast(aot_gpr_4)); aot_gpr_4 = (2235u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28596)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(176))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(176))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(176), static_cast(aot_gpr_4)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(180))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(180))); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(180), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(184))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(184))); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(184), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(188))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(188))); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(188), std::bit_cast(aot_fpr_12)); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(192))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(192))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(192), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(193))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(193))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(193), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(194))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(194))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(194), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(195))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(195))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(195), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(196))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(196))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(196), static_cast(aot_gpr_4)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(200))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(200))); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(200), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(204)))))); aot_gpr_5 = (0u + static_cast(-2)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(204)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(204)))))); aot_gpr_5 = (aot_gpr_5 & 1u); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(204), static_cast(aot_gpr_4)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(204)))))); aot_gpr_5 = (0u + static_cast(-3)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(204)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(204)))))); aot_gpr_5 = (aot_gpr_5 & 2u); aot_gpr_5 = (aot_gpr_5 >> 1u); aot_gpr_5 = (aot_gpr_5 & 1u); @@ -3286,7 +3287,7 @@ L_08825468: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(204)))))); aot_gpr_5 = (0u + static_cast(-5)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(204)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(204)))))); aot_gpr_5 = (aot_gpr_5 & 4u); aot_gpr_5 = (aot_gpr_5 >> 2u); aot_gpr_5 = (aot_gpr_5 & 1u); @@ -3296,23 +3297,23 @@ L_08825468: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(204)))))); aot_gpr_5 = (0u + static_cast(-9)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(204)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(204)))))); aot_gpr_5 = (aot_gpr_5 & 8u); aot_gpr_5 = (aot_gpr_5 >> 3u); aot_gpr_5 = (aot_gpr_5 & 1u); aot_gpr_5 = (aot_gpr_5 << 3u); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(204), static_cast(aot_gpr_4)); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(205)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(205)))))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(205), static_cast(aot_gpr_4)); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(206)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(206)))))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(206), static_cast(aot_gpr_4)); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(207)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(207)))))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(207), static_cast(aot_gpr_4)); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(208)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(208)))))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(208), static_cast(aot_gpr_4)); aot_gpr_4 = (0u | 0u); - aot_gpr_5 = (aot_gpr_4 + aot_gpr_17); + aot_gpr_5 = (aot_gpr_4 + ctx.gpr[17]); goto L_088255C8; L_088255C8: aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(209))); @@ -3321,7 +3322,7 @@ L_088255C8: aot_mem.aot_direct_store8(aot_gpr_6 + static_cast(209), static_cast(aot_gpr_5)); aot_gpr_5 = (static_cast(aot_gpr_4) < 4 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 != 0u; - aot_gpr_5 = (aot_gpr_4 + aot_gpr_17); + aot_gpr_5 = (aot_gpr_4 + ctx.gpr[17]); if (branch_taken) { goto L_088255C8; } @@ -3329,7 +3330,7 @@ L_088255C8: } L_088255E4: aot_gpr_4 = (0u | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_6 = (aot_gpr_16 | 0u); goto L_088255F0; L_088255F0: @@ -3347,7 +3348,7 @@ L_088255F0: } L_0882560C: aot_gpr_4 = (0u | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_6 = (aot_gpr_16 | 0u); goto L_08825618; L_08825618: @@ -3365,7 +3366,7 @@ L_08825618: } L_08825634: aot_gpr_4 = (0u | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_6 = (aot_gpr_16 | 0u); goto L_08825640; L_08825640: @@ -3383,7 +3384,7 @@ L_08825640: } L_0882565C: aot_gpr_4 = (0u | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_6 = (aot_gpr_16 | 0u); goto L_08825668; L_08825668: @@ -3401,7 +3402,7 @@ L_08825668: } L_08825684: aot_gpr_4 = (0u | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_6 = (aot_gpr_16 | 0u); goto L_08825690; L_08825690: @@ -3420,7 +3421,7 @@ L_08825690: L_088256AC: aot_gpr_4 = (0u | 0u); aot_gpr_5 = (aot_gpr_16 + static_cast(304)); - aot_gpr_6 = (aot_gpr_17 + static_cast(304)); + aot_gpr_6 = (ctx.gpr[17] + static_cast(304)); goto L_088256B8; L_088256B8: { std::uint32_t aot_run_words[4]{}; @@ -3454,7 +3455,7 @@ L_088256B8: } L_08825710: aot_gpr_4 = (0u | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_6 = (aot_gpr_16 | 0u); goto L_0882571C; L_0882571C: @@ -3471,17 +3472,17 @@ L_0882571C: goto L_08825738; } L_08825738: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(448))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(448))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(448), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(452))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(452))); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(452), aot_gpr_4); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(456))); - aot_gpr_4 = (aot_gpr_17 + static_cast(468)); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(456))); + aot_gpr_4 = (ctx.gpr[17] + static_cast(468)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(456), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(460))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(460))); aot_gpr_6 = (aot_gpr_16 + static_cast(468)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(460), std::bit_cast(aot_fpr_12)); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(464)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(464)))))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(464), static_cast(aot_gpr_5)); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_4 + static_cast(0), aot_run_words); @@ -3513,18 +3514,18 @@ L_08825738: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(52))); { const std::uint32_t aot_run_words[3]{ctx.gpr[8], aot_gpr_5, aot_gpr_4}; aot_mem.aot_direct_store32_block(aot_gpr_6 + static_cast(44), aot_run_words); } - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(524))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(524))); ctx.gpr[2] = (aot_gpr_16 | 0u); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(524), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(528))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(528))); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(528), aot_gpr_4); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; - ctx.gpr[31] = aot_run_words[2]; + ctx.gpr[17] = aot_run_words[1]; + aot_gpr_31 = aot_run_words[2]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -3533,8 +3534,8 @@ L_08825738: L_08825800: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[31]); - ctx.gpr[31] = (0x08825814u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); + aot_gpr_31 = (0x08825814u); aot_gpr_16 = (aot_gpr_4 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0158_entry, 158u, 624u, 0x08A7F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08825814u) goto L_08825814; AOT_REGCACHE_SYNC_OUT(); return; @@ -3547,8 +3548,8 @@ L_08825814: aot_mem.aot_direct_store32_block(aot_gpr_16 + static_cast(544), aot_run_words); } ctx.gpr[2] = (aot_gpr_16 | 0u); aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -3559,7 +3560,7 @@ L_08825844: aot_gpr_6 = (aot_gpr_4 + static_cast(264)); ctx.gpr[7] = (aot_gpr_4 + static_cast(280)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(84), aot_gpr_6); - { const std::uint32_t aot_run_words[8]{aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30]}; + { const std::uint32_t aot_run_words[8]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(96), aot_run_words); } ctx.gpr[19] = (aot_gpr_5 + static_cast(1284)); ctx.gpr[23] = (aot_gpr_4 + static_cast(232)); @@ -3567,33 +3568,33 @@ L_08825844: ctx.gpr[30] = (aot_gpr_4 + static_cast(248)); ctx.gpr[21] = (aot_gpr_5 + static_cast(1292)); ctx.gpr[22] = (aot_gpr_5 + static_cast(1216)); - aot_gpr_17 = (aot_gpr_4 | 0u); + ctx.gpr[17] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(88), ctx.gpr[7]); ctx.gpr[18] = (aot_gpr_5 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(92), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(128), ctx.gpr[31]); - aot_gpr_4 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x088258ACu); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(128), aot_gpr_31); + aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_31 = (0x088258ACu); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0158_entry, 158u, 650u, 0x08A7F85Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088258ACu) goto L_088258AC; AOT_REGCACHE_SYNC_OUT(); return; L_088258AC: aot_gpr_4 = (2235u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-27980)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(4), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(4), aot_gpr_4); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(1600))); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(544), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(544), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(1604))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(1), static_cast(0u)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(548), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(548), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(1596))); aot_gpr_16 = (ctx.gpr[18] + static_cast(1248)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(552), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(552), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(1)))))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(4), static_cast(0u)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(4)))))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(0), static_cast(aot_gpr_4)); - ctx.gpr[31] = (0x088258F0u); + aot_gpr_31 = (0x088258F0u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(5), static_cast(aot_gpr_5)); goto L_088253C0; L_088258F0: @@ -3606,7 +3607,7 @@ L_088258F0: ctx.gpr[7] = (ctx.gpr[7] >> 30u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(3), static_cast(aot_gpr_5)); aot_gpr_6 = (aot_gpr_6 + ctx.gpr[7]); - aot_gpr_5 = (aot_gpr_17 + static_cast(209)); + aot_gpr_5 = (ctx.gpr[17] + static_cast(209)); aot_gpr_6 = (static_cast(static_cast(aot_gpr_6) >> 2u)); { const bool branch_taken = static_cast(aot_gpr_6) <= 0; aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(6), static_cast(0u)); @@ -3636,7 +3637,7 @@ L_08825944: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(11)))))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(7), static_cast(aot_gpr_4)); aot_gpr_16 = (ctx.gpr[18] + static_cast(1500)); - ctx.gpr[31] = (0x08825964u); + aot_gpr_31 = (0x08825964u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(12), static_cast(aot_gpr_5)); goto L_088253D4; L_08825964: @@ -3649,7 +3650,7 @@ L_08825964: ctx.gpr[7] = (ctx.gpr[7] >> 30u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(10), static_cast(aot_gpr_5)); aot_gpr_6 = (aot_gpr_6 + ctx.gpr[7]); - aot_gpr_5 = (aot_gpr_17 + static_cast(216)); + aot_gpr_5 = (ctx.gpr[17] + static_cast(216)); aot_gpr_6 = (static_cast(static_cast(aot_gpr_6) >> 2u)); { const bool branch_taken = static_cast(aot_gpr_6) <= 0; aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(13), static_cast(0u)); @@ -3677,7 +3678,7 @@ L_088259B0: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(18)))))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(14), static_cast(aot_gpr_4)); aot_gpr_16 = (ctx.gpr[19] + static_cast(8)); - ctx.gpr[31] = (0x088259D0u); + aot_gpr_31 = (0x088259D0u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(19), static_cast(aot_gpr_5)); goto L_088253E8; L_088259D0: @@ -3693,7 +3694,7 @@ L_088259D0: L_088259E0: aot_gpr_6 = (aot_gpr_16 - ctx.gpr[19]); aot_gpr_4 = (ctx.gpr[23] | 0u); - ctx.gpr[31] = (0x088259F0u); + aot_gpr_31 = (0x088259F0u); aot_gpr_5 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 164u, 0x08AF54A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088259F0u) goto L_088259F0; AOT_REGCACHE_SYNC_OUT(); return; @@ -3704,7 +3705,7 @@ L_088259F0: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(24)))))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(20), static_cast(aot_gpr_4)); aot_gpr_16 = (ctx.gpr[20] + static_cast(8)); - ctx.gpr[31] = (0x08825A10u); + aot_gpr_31 = (0x08825A10u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(25), static_cast(aot_gpr_5)); goto L_088253E8; L_08825A10: @@ -3720,7 +3721,7 @@ L_08825A10: L_08825A20: aot_gpr_6 = (aot_gpr_16 - ctx.gpr[20]); aot_gpr_4 = (ctx.gpr[30] | 0u); - ctx.gpr[31] = (0x08825A30u); + aot_gpr_31 = (0x08825A30u); aot_gpr_5 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 164u, 0x08AF54A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08825A30u) goto L_08825A30; AOT_REGCACHE_SYNC_OUT(); return; @@ -3731,7 +3732,7 @@ L_08825A30: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(30)))))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(26), static_cast(aot_gpr_4)); aot_gpr_16 = (ctx.gpr[21] + static_cast(8)); - ctx.gpr[31] = (0x08825A50u); + aot_gpr_31 = (0x08825A50u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(31), static_cast(aot_gpr_5)); goto L_088253E8; L_08825A50: @@ -3747,7 +3748,7 @@ L_08825A50: L_08825A60: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(84))); aot_gpr_6 = (aot_gpr_16 - ctx.gpr[21]); - ctx.gpr[31] = (0x08825A70u); + aot_gpr_31 = (0x08825A70u); aot_gpr_5 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 164u, 0x08AF54A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08825A70u) goto L_08825A70; AOT_REGCACHE_SYNC_OUT(); return; @@ -3758,7 +3759,7 @@ L_08825A70: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(36)))))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(32), static_cast(aot_gpr_4)); aot_gpr_16 = (ctx.gpr[22] + static_cast(16)); - ctx.gpr[31] = (0x08825A90u); + aot_gpr_31 = (0x08825A90u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(37), static_cast(aot_gpr_5)); goto L_088253E8; L_08825A90: @@ -3774,7 +3775,7 @@ L_08825A90: L_08825AA0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(88))); aot_gpr_6 = (aot_gpr_16 - ctx.gpr[22]); - ctx.gpr[31] = (0x08825AB0u); + aot_gpr_31 = (0x08825AB0u); aot_gpr_5 = (ctx.gpr[22] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 164u, 0x08AF54A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08825AB0u) goto L_08825AB0; AOT_REGCACHE_SYNC_OUT(); return; @@ -3786,7 +3787,7 @@ L_08825AB0: aot_gpr_16 = (ctx.gpr[18] + static_cast(1088)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(38), static_cast(aot_gpr_4)); ctx.gpr[19] = (aot_gpr_16 + static_cast(128)); - ctx.gpr[31] = (0x08825AD4u); + aot_gpr_31 = (0x08825AD4u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(43), static_cast(aot_gpr_5)); goto L_088253FC; L_08825AD4: @@ -3797,7 +3798,7 @@ L_08825AD4: aot_gpr_4 = (static_cast(static_cast(aot_gpr_5) >> 5u)); aot_gpr_4 = (aot_gpr_4 >> 27u); ctx.gpr[20] = (aot_gpr_5 + aot_gpr_4); - ctx.gpr[19] = (aot_gpr_17 + static_cast(304)); + ctx.gpr[19] = (ctx.gpr[17] + static_cast(304)); ctx.gpr[20] = (static_cast(static_cast(ctx.gpr[20]) >> 5u)); { const bool branch_taken = static_cast(ctx.gpr[20]) <= 0; aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(44), static_cast(0u)); @@ -3808,7 +3809,7 @@ L_08825AD4: } L_08825B00: aot_gpr_4 = (ctx.gpr[19] | 0u); - ctx.gpr[31] = (0x08825B0Cu); + aot_gpr_31 = (0x08825B0Cu); aot_gpr_5 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 157u, 0x08805288u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08825B0Cu) goto L_08825B0C; AOT_REGCACHE_SYNC_OUT(); return; @@ -3830,7 +3831,7 @@ L_08825B1C: ctx.gpr[18] = (ctx.gpr[18] + static_cast(1268)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(45), static_cast(aot_gpr_4)); aot_gpr_16 = (ctx.gpr[18] + static_cast(8)); - ctx.gpr[31] = (0x08825B40u); + aot_gpr_31 = (0x08825B40u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(50), static_cast(aot_gpr_5)); goto L_08825410; L_08825B40: @@ -3841,7 +3842,7 @@ L_08825B40: aot_gpr_6 = (aot_gpr_6 >> 30u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(48), static_cast(aot_gpr_4)); aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); - aot_gpr_4 = (aot_gpr_17 + static_cast(432)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(432)); aot_gpr_5 = (static_cast(static_cast(aot_gpr_5) >> 2u)); { const bool branch_taken = static_cast(aot_gpr_5) <= 0; aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(51), static_cast(0u)); @@ -3863,11 +3864,11 @@ L_08825B6C: goto L_08825B84; } L_08825B84: - ctx.gpr[2] = (aot_gpr_17 | 0u); + ctx.gpr[2] = (ctx.gpr[17] | 0u); { std::uint32_t aot_run_words[10]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(92), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -3875,9 +3876,9 @@ L_08825B84: ctx.gpr[22] = aot_run_words[6]; ctx.gpr[23] = aot_run_words[7]; ctx.gpr[30] = aot_run_words[8]; - ctx.gpr[31] = aot_run_words[9]; + aot_gpr_31 = aot_run_words[9]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(144)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -3885,7 +3886,7 @@ L_08825B84: AOT_REGCACHE_SYNC_OUT(); return; L_08825BB8: ctx.gpr[2] = (2178u << 16u); - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; ctx.gpr[2] = (ctx.gpr[2] + static_cast(23480)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -3893,13 +3894,13 @@ L_08825BB8: AOT_REGCACHE_SYNC_OUT(); return; L_08825BC4: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[31]); - ctx.gpr[31] = (0x08825BD4u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); + aot_gpr_31 = (0x08825BD4u); // nop goto L_08825BB8; L_08825BD4: - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -3909,9 +3910,9 @@ L_08825BE0: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_5 | 0u); - { const std::uint32_t aot_run_words[4]{aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[4]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(4), aot_run_words); } - ctx.gpr[31] = (0x08825C04u); + aot_gpr_31 = (0x08825C04u); ctx.gpr[19] = (0u | 0u); goto L_08825BB8; L_08825C04: @@ -3921,7 +3922,7 @@ L_08825C04: } goto L_08825C0C; L_08825C0C: - ctx.gpr[31] = (0x08825C14u); + aot_gpr_31 = (0x08825C14u); ctx.gpr[18] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0158_entry, 158u, 666u, 0x08A7FAA4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08825C14u) goto L_08825C14; AOT_REGCACHE_SYNC_OUT(); return; @@ -3932,18 +3933,18 @@ L_08825C14: } goto L_08825C1C; L_08825C1C: - ctx.gpr[31] = (0x08825C24u); - aot_gpr_17 = (0u | 0u); + aot_gpr_31 = (0x08825C24u); + ctx.gpr[17] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0034_entry, 34u, 400u, 0x0888E51Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08825C24u) goto L_08825C24; AOT_REGCACHE_SYNC_OUT(); return; L_08825C24: if (ctx.gpr[2] == aot_gpr_16) { - aot_gpr_17 = (0u | 1u); + ctx.gpr[17] = (0u | 1u); goto L_08825C4C; } goto L_08825C2C; L_08825C2C: - ctx.gpr[31] = (0x08825C34u); + aot_gpr_31 = (0x08825C34u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0165_entry, 165u, 295u, 0x08A9A6CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08825C34u) goto L_08825C34; AOT_REGCACHE_SYNC_OUT(); return; @@ -3952,17 +3953,17 @@ L_08825C34: aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_4 = (aot_gpr_17 & 255u); + aot_gpr_4 = (ctx.gpr[17] & 255u); if (branch_taken) { goto L_08825C50; } goto L_08825C48; } L_08825C48: - aot_gpr_17 = (0u | 1u); + ctx.gpr[17] = (0u | 1u); goto L_08825C4C; L_08825C4C: - aot_gpr_4 = (aot_gpr_17 & 255u); + aot_gpr_4 = (ctx.gpr[17] & 255u); goto L_08825C50; L_08825C50: { const bool branch_taken = aot_gpr_4 == 0u; @@ -3994,12 +3995,12 @@ L_08825C6C: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; - ctx.gpr[31] = aot_run_words[4]; + aot_gpr_31 = aot_run_words[4]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -4007,10 +4008,10 @@ L_08825C6C: AOT_REGCACHE_SYNC_OUT(); return; L_08825C8C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_16 = (aot_gpr_5 | 0u); if (branch_taken) { @@ -4021,14 +4022,14 @@ L_08825C8C: L_08825CA8: aot_gpr_4 = (2235u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28172)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(108), aot_gpr_4); - ctx.gpr[31] = (0x08825CBCu); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(108), aot_gpr_4); + aot_gpr_31 = (0x08825CBCu); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0165_entry, 165u, 425u, 0x08A9B6A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08825CBCu) goto L_08825CBC; AOT_REGCACHE_SYNC_OUT(); return; L_08825CBC: - aot_gpr_4 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x08825CC8u); + aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_31 = (0x08825CC8u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0158_entry, 158u, 682u, 0x08A7FB94u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08825CC8u) goto L_08825CC8; AOT_REGCACHE_SYNC_OUT(); return; @@ -4042,25 +4043,25 @@ L_08825CC8: goto L_08825CD4; } L_08825CD4: - ctx.gpr[31] = (0x08825CDCu); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08825CDCu) goto L_08825CDC; + aot_gpr_31 = (0x08825CDCu); + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08825CDCu) goto L_08825CDC; AOT_REGCACHE_SYNC_OUT(); return; L_08825CDC: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; - ctx.gpr[31] = aot_run_words[2]; + ctx.gpr[17] = aot_run_words[1]; + aot_gpr_31 = aot_run_words[2]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08825CF0: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; ctx.gpr[2] = (0u | 10u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -4073,8 +4074,8 @@ L_08825CF8: aot_gpr_4 = (2237u << 16u); aot_gpr_5 = (0u | 560u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[31]); - ctx.gpr[31] = (0x08825D1Cu); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); + aot_gpr_31 = (0x08825D1Cu); aot_gpr_4 = (aot_gpr_4 + static_cast(-29120)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 501u, 0x08ABE57Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08825D1Cu) goto L_08825D1C; AOT_REGCACHE_SYNC_OUT(); return; @@ -4088,7 +4089,7 @@ L_08825D1C: goto L_08825D28; } L_08825D28: - ctx.gpr[31] = (0x08825D30u); + aot_gpr_31 = (0x08825D30u); aot_gpr_4 = (aot_gpr_16 | 0u); goto L_08825800; L_08825D30: @@ -4096,8 +4097,8 @@ L_08825D30: goto L_08825D34; L_08825D34: aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -4105,7 +4106,7 @@ L_08825D34: AOT_REGCACHE_SYNC_OUT(); return; L_08825D44: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_4 = (aot_gpr_5 | 0u); if (branch_taken) { @@ -4120,14 +4121,14 @@ L_08825D54: ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(0)))))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(4))); jump_target = aot_gpr_6; - ctx.gpr[31] = (0x08825D70u); + aot_gpr_31 = (0x08825D70u); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[7]); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08825D70u) goto L_08825D70; AOT_REGCACHE_SYNC_OUT(); return; L_08825D70: - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -4141,15 +4142,15 @@ L_08825D7C: aot_gpr_16 = (aot_gpr_5 | 0u); aot_gpr_4 = (2237u << 16u); aot_gpr_5 = (0u | 560u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_17); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[31]); - ctx.gpr[31] = (0x08825DA8u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[17]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); + aot_gpr_31 = (0x08825DA8u); aot_gpr_4 = (aot_gpr_4 + static_cast(-29120)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 501u, 0x08ABE57Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08825DA8u) goto L_08825DA8; AOT_REGCACHE_SYNC_OUT(); return; L_08825DA8: - aot_gpr_17 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (ctx.gpr[2] | 0u); + { const bool branch_taken = ctx.gpr[17] == 0u; ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); if (branch_taken) { goto L_08825DE8; @@ -4157,30 +4158,30 @@ L_08825DA8: goto L_08825DB4; } L_08825DB4: - aot_gpr_4 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x08825DC0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_31 = (0x08825DC0u); aot_gpr_5 = (aot_gpr_16 | 0u); goto L_08825424; L_08825DC0: aot_gpr_4 = (2235u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-27980)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(4), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(4), aot_gpr_4); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(544))); - ctx.gpr[2] = (aot_gpr_17 | 0u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(544), std::bit_cast(aot_fpr_12)); + ctx.gpr[2] = (ctx.gpr[17] | 0u); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(544), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(548))); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(548), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(548), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(552))); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(552), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(552), std::bit_cast(aot_fpr_12)); goto L_08825DE8; L_08825DE8: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(4), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; - ctx.gpr[31] = aot_run_words[2]; + ctx.gpr[17] = aot_run_words[1]; + aot_gpr_31 = aot_run_words[2]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -4189,14 +4190,14 @@ L_08825DE8: L_08825DFC: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[31]); - ctx.gpr[31] = (0x08825E10u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); + aot_gpr_31 = (0x08825E10u); aot_gpr_5 = (aot_gpr_6 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0158_entry, 158u, 660u, 0x08A7FA3Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08825E10u) goto L_08825E10; AOT_REGCACHE_SYNC_OUT(); return; L_08825E10: - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -4206,9 +4207,9 @@ L_08825E1C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); - { const std::uint32_t aot_run_words[3]{aot_gpr_17, ctx.gpr[18], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(4), aot_run_words); } - ctx.gpr[31] = (0x08825E3Cu); + aot_gpr_31 = (0x08825E3Cu); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0158_entry, 158u, 680u, 0x08A7FB50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08825E3Cu) goto L_08825E3C; AOT_REGCACHE_SYNC_OUT(); return; @@ -4233,25 +4234,25 @@ L_08825E54: } L_08825E68: ctx.gpr[18] = (0u | 0u); - ctx.gpr[31] = (0x08825E74u); + aot_gpr_31 = (0x08825E74u); aot_gpr_4 = (0u | 384u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08825E74u) goto L_08825E74; AOT_REGCACHE_SYNC_OUT(); return; L_08825E74: - aot_gpr_17 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_17 == 0u; - aot_gpr_4 = (aot_gpr_17 | 0u); + ctx.gpr[17] = (ctx.gpr[2] | 0u); + { const bool branch_taken = ctx.gpr[17] == 0u; + aot_gpr_4 = (ctx.gpr[17] | 0u); if (branch_taken) { goto L_08825E8C; } goto L_08825E80; } L_08825E80: - ctx.gpr[31] = (0x08825E88u); + aot_gpr_31 = (0x08825E88u); aot_gpr_5 = (aot_gpr_16 | 0u); goto L_08826B7C; L_08825E88: - ctx.gpr[18] = (aot_gpr_17 | 0u); + ctx.gpr[18] = (ctx.gpr[17] | 0u); goto L_08825E8C; L_08825E8C: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(112), ctx.gpr[18]); @@ -4259,11 +4260,11 @@ L_08825E8C: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; - ctx.gpr[31] = aot_run_words[3]; + aot_gpr_31 = aot_run_words[3]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -4272,22 +4273,22 @@ L_08825E8C: L_08825EAC: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_17); - aot_gpr_17 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_4 | 0u); aot_gpr_16 = (aot_gpr_5 | 0u); - { const std::uint32_t aot_run_words[3]{ctx.gpr[18], ctx.gpr[19], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(32), aot_run_words); } - ctx.gpr[31] = (0x08825ED4u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_31 = (0x08825ED4u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0158_entry, 158u, 680u, 0x08A7FB50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08825ED4u) goto L_08825ED4; AOT_REGCACHE_SYNC_OUT(); return; L_08825ED4: aot_gpr_4 = (2234u << 16u); aot_fpr_12 = std::bit_cast(0u); aot_gpr_4 = (aot_gpr_4 + static_cast(19536)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(108), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(108), aot_gpr_4); aot_gpr_5 = (0u | 0u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); goto L_08825EEC; L_08825EEC: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(216), std::bit_cast(aot_fpr_12)); @@ -4302,16 +4303,16 @@ L_08825EEC: } L_08825F00: aot_gpr_4 = (2237u << 16u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_6 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08825F14u); + aot_gpr_31 = (0x08825F14u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 736u, 0x08ADEF00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08825F14u) goto L_08825F14; AOT_REGCACHE_SYNC_OUT(); return; L_08825F14: - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(104), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(104), aot_gpr_16); ctx.gpr[18] = (0u | 0u); - ctx.gpr[31] = (0x08825F24u); + aot_gpr_31 = (0x08825F24u); aot_gpr_4 = (0u | 384u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08825F24u) goto L_08825F24; AOT_REGCACHE_SYNC_OUT(); return; @@ -4325,24 +4326,24 @@ L_08825F24: goto L_08825F30; } L_08825F30: - ctx.gpr[31] = (0x08825F38u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_31 = (0x08825F38u); + aot_gpr_5 = (ctx.gpr[17] | 0u); goto L_08826B7C; L_08825F38: ctx.gpr[18] = (ctx.gpr[19] | 0u); goto L_08825F3C; L_08825F3C: - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(112), ctx.gpr[18]); - ctx.gpr[31] = (0x08825F48u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(112), ctx.gpr[18]); + aot_gpr_31 = (0x08825F48u); + aot_gpr_4 = (ctx.gpr[17] | 0u); goto L_08825FB8; L_08825F48: aot_gpr_4 = (0u | 0u); - ctx.gpr[19] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(10)))))); + ctx.gpr[19] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(10)))))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_4); aot_gpr_4 = (2237u << 16u); aot_gpr_5 = (0u | 560u); - ctx.gpr[31] = (0x08825F64u); + aot_gpr_31 = (0x08825F64u); aot_gpr_4 = (aot_gpr_4 + static_cast(-29120)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 501u, 0x08ABE57Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08825F64u) goto L_08825F64; AOT_REGCACHE_SYNC_OUT(); return; @@ -4357,7 +4358,7 @@ L_08825F64: } L_08825F70: aot_gpr_4 = (ctx.gpr[18] | 0u); - ctx.gpr[31] = (0x08825F7Cu); + aot_gpr_31 = (0x08825F7Cu); aot_gpr_5 = (aot_gpr_16 | 0u); goto L_08825844; L_08825F7C: @@ -4365,27 +4366,27 @@ L_08825F7C: goto L_08825F80; L_08825F80: aot_gpr_6 = (aot_gpr_4 | 0u); - aot_gpr_4 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x08825F90u); + aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_31 = (0x08825F90u); aot_gpr_5 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0165_entry, 165u, 456u, 0x08A9B9F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08825F90u) goto L_08825F90; AOT_REGCACHE_SYNC_OUT(); return; L_08825F90: - ctx.gpr[31] = (0x08825F98u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_31 = (0x08825F98u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0034_entry, 34u, 562u, 0x0888F9A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08825F98u) goto L_08825F98; AOT_REGCACHE_SYNC_OUT(); return; L_08825F98: - ctx.gpr[2] = (aot_gpr_17 | 0u); + ctx.gpr[2] = (ctx.gpr[17] | 0u); { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(24), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; - ctx.gpr[31] = aot_run_words[4]; + aot_gpr_31 = aot_run_words[4]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(48)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -4393,14 +4394,14 @@ L_08825F98: AOT_REGCACHE_SYNC_OUT(); return; L_08825FB8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[31]); - ctx.gpr[31] = (0x08825FC8u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); + aot_gpr_31 = (0x08825FC8u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0158_entry, 158u, 692u, 0x08A7FC34u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08825FC8u) goto L_08825FC8; AOT_REGCACHE_SYNC_OUT(); return; L_08825FC8: - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -4411,10 +4412,10 @@ L_08825FD4: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), aot_gpr_5); aot_gpr_16 = (aot_gpr_4 | 0u); - { const std::uint32_t aot_run_words[5]{aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[5]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(24), aot_run_words); } aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(48)))))); - ctx.gpr[31] = (0x08826004u); + aot_gpr_31 = (0x08826004u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0158_entry, 158u, 697u, 0x08A7FD50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08826004u) goto L_08826004; AOT_REGCACHE_SYNC_OUT(); return; @@ -4423,7 +4424,7 @@ L_08826004: ctx.gpr[19] = (aot_gpr_29 + static_cast(16)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); ctx.gpr[18] = (0u | 0u); - aot_gpr_17 = (aot_gpr_16 | 0u); + ctx.gpr[17] = (aot_gpr_16 | 0u); goto L_08826018; L_08826018: { const bool branch_taken = aot_gpr_4 != 0u; @@ -4436,7 +4437,7 @@ L_08826018: L_08826020: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(10)))))); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08826030u); + aot_gpr_31 = (0x08826030u); aot_gpr_6 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08826030u) goto L_08826030; AOT_REGCACHE_SYNC_OUT(); return; @@ -4451,11 +4452,11 @@ L_08826040: aot_gpr_5 = (aot_gpr_5 + ctx.gpr[18]); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); ctx.gpr[20] = (ctx.gpr[20] + static_cast(1)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(216), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(216), std::bit_cast(aot_fpr_12)); ctx.gpr[18] = (ctx.gpr[18] + static_cast(4)); aot_gpr_5 = (static_cast(ctx.gpr[20]) < 4 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 != 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(4)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(4)); if (branch_taken) { goto L_08826018; } @@ -4465,13 +4466,13 @@ L_08826064: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(20), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; - ctx.gpr[31] = aot_run_words[5]; + aot_gpr_31 = aot_run_words[5]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(48)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -4487,10 +4488,10 @@ L_08826084: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[7] + static_cast(52))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_17); - aot_gpr_17 = (aot_gpr_5 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_5 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), ctx.gpr[18]); - { const std::uint32_t aot_run_words[4]{ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[4]{ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(40), aot_run_words); } { const bool branch_taken = aot_gpr_5 != aot_gpr_4; ctx.gpr[18] = (aot_gpr_6 | 0u); @@ -4511,7 +4512,7 @@ L_088260CC: L_088260D8: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(10)))))); aot_gpr_6 = (aot_gpr_29 + static_cast(16)); - ctx.gpr[31] = (0x088260E8u); + aot_gpr_31 = (0x088260E8u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088260E8u) goto L_088260E8; AOT_REGCACHE_SYNC_OUT(); return; @@ -4523,7 +4524,7 @@ L_088260E8: L_088260F4: ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); ctx.gpr[21] = (0u | 0u); - ctx.gpr[31] = (0x08826104u); + aot_gpr_31 = (0x08826104u); aot_gpr_4 = (0u | 1632u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 732u, 0x08AFF2C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08826104u) goto L_08826104; AOT_REGCACHE_SYNC_OUT(); return; @@ -4540,7 +4541,7 @@ L_08826110: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(112))); aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[20] + static_cast(524))); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(86)))))); - ctx.gpr[31] = (0x08826124u); + aot_gpr_31 = (0x08826124u); aot_gpr_4 = (ctx.gpr[22] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 304u, 0x08969648u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08826124u) goto L_08826124; AOT_REGCACHE_SYNC_OUT(); return; @@ -4550,7 +4551,7 @@ L_08826124: goto L_0882612C; L_0882612C: aot_gpr_5 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08826138u); + aot_gpr_31 = (0x08826138u); aot_gpr_6 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 736u, 0x08ADEF00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08826138u) goto L_08826138; AOT_REGCACHE_SYNC_OUT(); return; @@ -4559,18 +4560,18 @@ L_08826138: ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(104))); ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(64)))))); aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x08826154u); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_31 = (0x08826154u); aot_gpr_6 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0159_entry, 159u, 204u, 0x08A82438u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08826154u) goto L_08826154; AOT_REGCACHE_SYNC_OUT(); return; L_08826154: aot_gpr_4 = (0u | 0u); - aot_gpr_17 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(10)))))); + ctx.gpr[17] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(10)))))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_4); aot_gpr_4 = (2237u << 16u); aot_gpr_5 = (0u | 560u); - ctx.gpr[31] = (0x08826170u); + aot_gpr_31 = (0x08826170u); aot_gpr_4 = (aot_gpr_4 + static_cast(-29120)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 501u, 0x08ABE57Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08826170u) goto L_08826170; AOT_REGCACHE_SYNC_OUT(); return; @@ -4585,7 +4586,7 @@ L_08826170: } L_0882617C: aot_gpr_4 = (ctx.gpr[18] | 0u); - ctx.gpr[31] = (0x08826188u); + aot_gpr_31 = (0x08826188u); aot_gpr_5 = (ctx.gpr[19] | 0u); goto L_08825844; L_08826188: @@ -4594,8 +4595,8 @@ L_08826188: L_0882618C: aot_gpr_6 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x0882619Cu); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_31 = (0x0882619Cu); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0165_entry, 165u, 456u, 0x08A9B9F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882619Cu) goto L_0882619C; AOT_REGCACHE_SYNC_OUT(); return; L_0882619C: @@ -4609,8 +4610,8 @@ L_0882619C: L_088261A4: ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(64)))))); aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x088261B8u); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_31 = (0x088261B8u); aot_gpr_6 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0159_entry, 159u, 204u, 0x08A82438u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088261B8u) goto L_088261B8; AOT_REGCACHE_SYNC_OUT(); return; @@ -4618,15 +4619,15 @@ L_088261B8: { std::uint32_t aot_run_words[8]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(24), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; ctx.gpr[21] = aot_run_words[5]; ctx.gpr[22] = aot_run_words[6]; - ctx.gpr[31] = aot_run_words[7]; + aot_gpr_31 = aot_run_words[7]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(64)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -4636,7 +4637,7 @@ L_088261E0: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(104))); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(20), aot_run_words); } { const bool branch_taken = aot_gpr_5 != 0u; aot_gpr_16 = (aot_gpr_4 | 0u); @@ -4660,7 +4661,7 @@ L_0882620C: aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); jump_target = ctx.gpr[7]; - ctx.gpr[31] = (0x08826228u); + aot_gpr_31 = (0x08826228u); aot_gpr_4 = (aot_gpr_16 + aot_gpr_6); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08826228u) goto L_08826228; @@ -4679,13 +4680,13 @@ L_08826230: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_4); aot_gpr_4 = (2237u << 16u); aot_gpr_5 = (0u | 560u); - ctx.gpr[31] = (0x0882624Cu); + aot_gpr_31 = (0x0882624Cu); aot_gpr_4 = (aot_gpr_4 + static_cast(-29120)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 501u, 0x08ABE57Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882624Cu) goto L_0882624C; AOT_REGCACHE_SYNC_OUT(); return; L_0882624C: - aot_gpr_17 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (ctx.gpr[2] | 0u); + { const bool branch_taken = ctx.gpr[17] == 0u; aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); if (branch_taken) { goto L_08826268; @@ -4694,16 +4695,16 @@ L_0882624C: } L_08826258: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(104))); - ctx.gpr[31] = (0x08826264u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_31 = (0x08826264u); + aot_gpr_4 = (ctx.gpr[17] | 0u); goto L_08825844; L_08826264: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); goto L_08826268; L_08826268: aot_gpr_6 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08826278u); + aot_gpr_31 = (0x08826278u); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0165_entry, 165u, 456u, 0x08A9B9F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08826278u) goto L_08826278; AOT_REGCACHE_SYNC_OUT(); return; @@ -4711,11 +4712,11 @@ L_08826278: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(20), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; - ctx.gpr[31] = aot_run_words[3]; + aot_gpr_31 = aot_run_words[3]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(48)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -4734,11 +4735,11 @@ L_08826290: aot_gpr_6 = (aot_gpr_6 << 16u); aot_gpr_6 = (static_cast(static_cast(aot_gpr_6) >> 16u)); aot_gpr_6 = (static_cast(aot_gpr_6) < 0 ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), aot_gpr_17); - aot_gpr_17 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_4 | 0u); aot_gpr_6 = (aot_gpr_6 & 255u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), aot_gpr_16); - { const std::uint32_t aot_run_words[3]{ctx.gpr[18], ctx.gpr[19], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(72), aot_run_words); } { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_16 = (aot_gpr_5 | 0u); @@ -4749,10 +4750,10 @@ L_08826290: } L_088262E4: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(96)))))); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(52), static_cast(aot_gpr_5)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(52)))))); - ctx.gpr[31] = (0x088262FCu); + aot_gpr_31 = (0x088262FCu); aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088262FCu) goto L_088262FC; AOT_REGCACHE_SYNC_OUT(); return; @@ -4761,15 +4762,15 @@ L_088262FC: ctx.gpr[19] = (ctx.gpr[2] | 0u); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (0u + static_cast(-1)); - ctx.gpr[31] = (0x08826314u); + aot_gpr_31 = (0x08826314u); aot_gpr_6 = (0u | 32u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08826314u) goto L_08826314; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08826314u) goto L_08826314; AOT_REGCACHE_SYNC_OUT(); return; L_08826314: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (aot_gpr_16 | 0u); aot_gpr_6 = (ctx.gpr[19] | 0u); - ctx.gpr[31] = (0x08826328u); + aot_gpr_31 = (0x08826328u); ctx.gpr[7] = (ctx.gpr[18] | 0u); goto L_088265E8; L_08826328: @@ -4782,10 +4783,10 @@ L_08826328: } L_08826330: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(96)))))); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(54), static_cast(aot_gpr_5)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(54)))))); - ctx.gpr[31] = (0x08826348u); + aot_gpr_31 = (0x08826348u); aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08826348u) goto L_08826348; AOT_REGCACHE_SYNC_OUT(); return; @@ -4794,8 +4795,8 @@ L_08826348: ctx.gpr[18] = (ctx.gpr[2] | 0u); aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(56), static_cast(aot_gpr_4)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(56)))))); - ctx.gpr[31] = (0x08826360u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_31 = (0x08826360u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0165_entry, 165u, 440u, 0x08A9B864u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08826360u) goto L_08826360; AOT_REGCACHE_SYNC_OUT(); return; L_08826360: @@ -4805,25 +4806,25 @@ L_08826360: aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(60), static_cast(aot_gpr_5)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(58)))))); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(60)))))); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (aot_gpr_5 - aot_gpr_6); ctx.gpr[8] = (aot_gpr_5 << 16u); ctx.gpr[8] = (static_cast(static_cast(ctx.gpr[8]) >> 16u)); aot_gpr_5 = (aot_gpr_16 | 0u); aot_gpr_6 = (ctx.gpr[18] | 0u); - ctx.gpr[31] = (0x08826398u); + aot_gpr_31 = (0x08826398u); ctx.gpr[7] = (ctx.gpr[2] | 0u); goto L_088263F8; L_08826398: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(64), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; - ctx.gpr[31] = aot_run_words[4]; + aot_gpr_31 = aot_run_words[4]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(96)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -4832,7 +4833,7 @@ L_08826398: L_088263B4: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(112))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); ctx.gpr[7] = (0u | 0u); aot_gpr_6 = (aot_gpr_4 | 0u); goto L_088263C8; @@ -4850,13 +4851,13 @@ L_088263C8: L_088263DC: aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(80))); aot_gpr_5 = (aot_gpr_4 + static_cast(176)); - ctx.gpr[31] = (0x088263ECu); + aot_gpr_31 = (0x088263ECu); aot_gpr_4 = (aot_gpr_6 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 888u, 0x0885F668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088263ECu) goto L_088263EC; AOT_REGCACHE_SYNC_OUT(); return; L_088263EC: - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -4868,31 +4869,31 @@ L_088263F8: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), ctx.gpr[20]); ctx.gpr[19] = (aot_gpr_5 | 0u); ctx.gpr[20] = (aot_gpr_4 | 0u); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, ctx.gpr[18]}; + { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(32), aot_run_words); } - aot_gpr_17 = (aot_gpr_6 | 0u); + ctx.gpr[17] = (aot_gpr_6 | 0u); aot_gpr_16 = (ctx.gpr[8] | 0u); ctx.gpr[18] = (ctx.gpr[7] | 0u); aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_5 = (0u | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), ctx.gpr[31]); - ctx.gpr[31] = (0x08826438u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), aot_gpr_31); + aot_gpr_31 = (0x08826438u); aot_gpr_6 = (0u | 32u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08826438u) goto L_08826438; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08826438u) goto L_08826438; AOT_REGCACHE_SYNC_OUT(); return; L_08826438: aot_gpr_4 = (ctx.gpr[20] | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_6 = (ctx.gpr[18] | 0u); ctx.gpr[7] = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08826450u); + aot_gpr_31 = (0x08826450u); ctx.gpr[8] = (aot_gpr_29 | 0u); goto L_08826488; L_08826450: aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); - aot_gpr_6 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x08826464u); + aot_gpr_6 = (ctx.gpr[17] | 0u); + aot_gpr_31 = (0x08826464u); ctx.gpr[7] = (aot_gpr_29 | 0u); goto L_088265E8; L_08826464: @@ -4900,13 +4901,13 @@ L_08826464: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(32), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; - ctx.gpr[31] = aot_run_words[5]; + aot_gpr_31 = aot_run_words[5]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(64)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -4914,13 +4915,13 @@ L_08826464: AOT_REGCACHE_SYNC_OUT(); return; L_08826488: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, ctx.gpr[18]}; + { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } ctx.gpr[18] = (ctx.gpr[8] | 0u); aot_gpr_16 = (aot_gpr_6 | 0u); - aot_gpr_17 = (aot_gpr_5 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[31]); - ctx.gpr[31] = (0x088264B0u); + ctx.gpr[17] = (aot_gpr_5 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); + aot_gpr_31 = (0x088264B0u); ctx.gpr[8] = (ctx.gpr[18] + static_cast(4)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0159_entry, 159u, 224u, 0x08A82798u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088264B0u) goto L_088264B0; AOT_REGCACHE_SYNC_OUT(); return; @@ -4942,7 +4943,7 @@ L_088264C4: goto L_088264D0; L_088264D0: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(544))); - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(544))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(544))); aot_fpr_13 = aot_fpr_13 - aot_fpr_14; ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 <= aot_fpr_12)) ? 0x00800000u : 0u); // nop @@ -4985,7 +4986,7 @@ L_08826518: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(548))); goto L_08826528; L_08826528: - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(548))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(548))); aot_fpr_13 = aot_fpr_13 - aot_fpr_14; ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 <= aot_fpr_12)) ? 0x00800000u : 0u); // nop @@ -5029,12 +5030,12 @@ L_0882656C: goto L_0882657C; L_0882657C: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(552))); - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(552))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(552))); aot_fpr_12 = aot_fpr_12 - aot_fpr_14; ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); if (branch_taken) { goto L_088265B8; } @@ -5047,17 +5048,17 @@ L_08826598: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); - aot_gpr_4 = (aot_gpr_17 & 255u); + aot_gpr_4 = (ctx.gpr[17] & 255u); if (branch_taken) { goto L_088265BC; } goto L_088265B4; } L_088265B4: - aot_gpr_17 = (0u | 1u); + ctx.gpr[17] = (0u | 1u); goto L_088265B8; L_088265B8: - aot_gpr_4 = (aot_gpr_17 & 255u); + aot_gpr_4 = (ctx.gpr[17] & 255u); goto L_088265BC; L_088265BC: { const bool branch_taken = aot_gpr_4 != 0u; @@ -5076,11 +5077,11 @@ L_088265D0: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; - ctx.gpr[31] = aot_run_words[3]; + aot_gpr_31 = aot_run_words[3]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -5088,55 +5089,55 @@ L_088265D0: AOT_REGCACHE_SYNC_OUT(); return; L_088265E8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - aot_gpr_17 = (aot_gpr_5 | 0u); + ctx.gpr[17] = (aot_gpr_5 | 0u); ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(0))); aot_gpr_5 = (ctx.gpr[18] & 65535u); aot_gpr_5 = (aot_gpr_5 & 65535u); ctx.gpr[8] = (aot_gpr_5 & 255u); - ctx.gpr[9] = (aot_mem.aot_direct_load_word_right(aot_gpr_17 + static_cast(0), ctx.gpr[9])); - ctx.gpr[9] = (aot_mem.aot_direct_load_word_left(aot_gpr_17 + static_cast(3), ctx.gpr[9])); + ctx.gpr[9] = (aot_mem.aot_direct_load_word_right(ctx.gpr[17] + static_cast(0), ctx.gpr[9])); + ctx.gpr[9] = (aot_mem.aot_direct_load_word_left(ctx.gpr[17] + static_cast(3), ctx.gpr[9])); ctx.gpr[9] = (ctx.gpr[9] & 65535u); - ctx.gpr[10] = (aot_gpr_17 + ctx.gpr[9]); + ctx.gpr[10] = (ctx.gpr[17] + ctx.gpr[9]); ctx.gpr[9] = (ctx.gpr[9] + static_cast(1)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(0), static_cast(ctx.gpr[9])); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(0), static_cast(ctx.gpr[9])); ctx.gpr[1] = (static_cast(static_cast(ctx.gpr[9]) >> 8u)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(1), static_cast(ctx.gpr[1])); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(1), static_cast(ctx.gpr[1])); aot_mem.aot_direct_store8(ctx.gpr[10] + static_cast(0), static_cast(ctx.gpr[8])); aot_gpr_5 = (static_cast(static_cast(aot_gpr_5) >> 8u)); aot_gpr_5 = (aot_gpr_5 & 255u); - ctx.gpr[8] = (aot_mem.aot_direct_load_word_right(aot_gpr_17 + static_cast(0), ctx.gpr[8])); - ctx.gpr[8] = (aot_mem.aot_direct_load_word_left(aot_gpr_17 + static_cast(3), ctx.gpr[8])); + ctx.gpr[8] = (aot_mem.aot_direct_load_word_right(ctx.gpr[17] + static_cast(0), ctx.gpr[8])); + ctx.gpr[8] = (aot_mem.aot_direct_load_word_left(ctx.gpr[17] + static_cast(3), ctx.gpr[8])); ctx.gpr[8] = (ctx.gpr[8] & 65535u); - ctx.gpr[9] = (aot_gpr_17 + ctx.gpr[8]); + ctx.gpr[9] = (ctx.gpr[17] + ctx.gpr[8]); ctx.gpr[8] = (ctx.gpr[8] + static_cast(1)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(0), static_cast(ctx.gpr[8])); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(0), static_cast(ctx.gpr[8])); ctx.gpr[1] = (static_cast(static_cast(ctx.gpr[8]) >> 8u)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(1), static_cast(ctx.gpr[1])); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(1), static_cast(ctx.gpr[1])); aot_mem.aot_direct_store8(ctx.gpr[9] + static_cast(0), static_cast(aot_gpr_5)); aot_gpr_5 = (ctx.gpr[18] >> 16u); aot_gpr_5 = (aot_gpr_5 & 65535u); ctx.gpr[8] = (aot_gpr_5 & 255u); - ctx.gpr[9] = (aot_mem.aot_direct_load_word_right(aot_gpr_17 + static_cast(0), ctx.gpr[9])); - ctx.gpr[9] = (aot_mem.aot_direct_load_word_left(aot_gpr_17 + static_cast(3), ctx.gpr[9])); + ctx.gpr[9] = (aot_mem.aot_direct_load_word_right(ctx.gpr[17] + static_cast(0), ctx.gpr[9])); + ctx.gpr[9] = (aot_mem.aot_direct_load_word_left(ctx.gpr[17] + static_cast(3), ctx.gpr[9])); ctx.gpr[9] = (ctx.gpr[9] & 65535u); - ctx.gpr[10] = (aot_gpr_17 + ctx.gpr[9]); + ctx.gpr[10] = (ctx.gpr[17] + ctx.gpr[9]); ctx.gpr[9] = (ctx.gpr[9] + static_cast(1)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(0), static_cast(ctx.gpr[9])); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(0), static_cast(ctx.gpr[9])); ctx.gpr[1] = (static_cast(static_cast(ctx.gpr[9]) >> 8u)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(1), static_cast(ctx.gpr[1])); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(1), static_cast(ctx.gpr[1])); aot_mem.aot_direct_store8(ctx.gpr[10] + static_cast(0), static_cast(ctx.gpr[8])); aot_gpr_5 = (static_cast(static_cast(aot_gpr_5) >> 8u)); aot_gpr_5 = (aot_gpr_5 & 255u); - ctx.gpr[8] = (aot_mem.aot_direct_load_word_right(aot_gpr_17 + static_cast(0), ctx.gpr[8])); - ctx.gpr[8] = (aot_mem.aot_direct_load_word_left(aot_gpr_17 + static_cast(3), ctx.gpr[8])); + ctx.gpr[8] = (aot_mem.aot_direct_load_word_right(ctx.gpr[17] + static_cast(0), ctx.gpr[8])); + ctx.gpr[8] = (aot_mem.aot_direct_load_word_left(ctx.gpr[17] + static_cast(3), ctx.gpr[8])); ctx.gpr[8] = (ctx.gpr[8] & 65535u); - ctx.gpr[9] = (aot_gpr_17 + ctx.gpr[8]); + ctx.gpr[9] = (ctx.gpr[17] + ctx.gpr[8]); ctx.gpr[8] = (ctx.gpr[8] + static_cast(1)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(0), static_cast(ctx.gpr[8])); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(0), static_cast(ctx.gpr[8])); ctx.gpr[1] = (static_cast(static_cast(ctx.gpr[8]) >> 8u)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(1), static_cast(ctx.gpr[1])); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(1), static_cast(ctx.gpr[1])); aot_mem.aot_direct_store8(ctx.gpr[9] + static_cast(0), static_cast(aot_gpr_5)); ctx.gpr[8] = (ctx.gpr[18] & 1u); aot_gpr_5 = (aot_gpr_4 | 0u); @@ -5152,8 +5153,8 @@ L_088265E8: L_088266D4: ctx.gpr[7] = (aot_gpr_4 + static_cast(4)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x088266E8u); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_31 = (0x088266E8u); aot_gpr_6 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0159_entry, 159u, 288u, 0x08A82BCCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088266E8u) goto L_088266E8; AOT_REGCACHE_SYNC_OUT(); return; @@ -5172,48 +5173,48 @@ L_088266F4: aot_gpr_5 = (aot_gpr_4 & 65535u); aot_gpr_5 = (aot_gpr_5 & 65535u); aot_gpr_6 = (aot_gpr_5 & 255u); - ctx.gpr[7] = (aot_mem.aot_direct_load_word_right(aot_gpr_17 + static_cast(0), ctx.gpr[7])); - ctx.gpr[7] = (aot_mem.aot_direct_load_word_left(aot_gpr_17 + static_cast(3), ctx.gpr[7])); + ctx.gpr[7] = (aot_mem.aot_direct_load_word_right(ctx.gpr[17] + static_cast(0), ctx.gpr[7])); + ctx.gpr[7] = (aot_mem.aot_direct_load_word_left(ctx.gpr[17] + static_cast(3), ctx.gpr[7])); ctx.gpr[7] = (ctx.gpr[7] & 65535u); - ctx.gpr[8] = (aot_gpr_17 + ctx.gpr[7]); + ctx.gpr[8] = (ctx.gpr[17] + ctx.gpr[7]); ctx.gpr[7] = (ctx.gpr[7] + static_cast(1)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(0), static_cast(ctx.gpr[7])); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(0), static_cast(ctx.gpr[7])); ctx.gpr[1] = (static_cast(static_cast(ctx.gpr[7]) >> 8u)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(1), static_cast(ctx.gpr[1])); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(1), static_cast(ctx.gpr[1])); aot_mem.aot_direct_store8(ctx.gpr[8] + static_cast(0), static_cast(aot_gpr_6)); aot_gpr_5 = (static_cast(static_cast(aot_gpr_5) >> 8u)); aot_gpr_5 = (aot_gpr_5 & 255u); - aot_gpr_6 = (aot_mem.aot_direct_load_word_right(aot_gpr_17 + static_cast(0), aot_gpr_6)); - aot_gpr_6 = (aot_mem.aot_direct_load_word_left(aot_gpr_17 + static_cast(3), aot_gpr_6)); + aot_gpr_6 = (aot_mem.aot_direct_load_word_right(ctx.gpr[17] + static_cast(0), aot_gpr_6)); + aot_gpr_6 = (aot_mem.aot_direct_load_word_left(ctx.gpr[17] + static_cast(3), aot_gpr_6)); aot_gpr_6 = (aot_gpr_6 & 65535u); - ctx.gpr[7] = (aot_gpr_17 + aot_gpr_6); + ctx.gpr[7] = (ctx.gpr[17] + aot_gpr_6); aot_gpr_6 = (aot_gpr_6 + static_cast(1)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(0), static_cast(aot_gpr_6)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(0), static_cast(aot_gpr_6)); ctx.gpr[1] = (static_cast(static_cast(aot_gpr_6) >> 8u)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(1), static_cast(ctx.gpr[1])); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(1), static_cast(ctx.gpr[1])); aot_mem.aot_direct_store8(ctx.gpr[7] + static_cast(0), static_cast(aot_gpr_5)); aot_gpr_4 = (aot_gpr_4 >> 16u); aot_gpr_4 = (aot_gpr_4 & 65535u); aot_gpr_5 = (aot_gpr_4 & 255u); - aot_gpr_6 = (aot_mem.aot_direct_load_word_right(aot_gpr_17 + static_cast(0), aot_gpr_6)); - aot_gpr_6 = (aot_mem.aot_direct_load_word_left(aot_gpr_17 + static_cast(3), aot_gpr_6)); + aot_gpr_6 = (aot_mem.aot_direct_load_word_right(ctx.gpr[17] + static_cast(0), aot_gpr_6)); + aot_gpr_6 = (aot_mem.aot_direct_load_word_left(ctx.gpr[17] + static_cast(3), aot_gpr_6)); aot_gpr_6 = (aot_gpr_6 & 65535u); - ctx.gpr[7] = (aot_gpr_17 + aot_gpr_6); + ctx.gpr[7] = (ctx.gpr[17] + aot_gpr_6); aot_gpr_6 = (aot_gpr_6 + static_cast(1)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(0), static_cast(aot_gpr_6)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(0), static_cast(aot_gpr_6)); ctx.gpr[1] = (static_cast(static_cast(aot_gpr_6) >> 8u)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(1), static_cast(ctx.gpr[1])); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(1), static_cast(ctx.gpr[1])); aot_mem.aot_direct_store8(ctx.gpr[7] + static_cast(0), static_cast(aot_gpr_5)); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 8u)); aot_gpr_4 = (aot_gpr_4 & 255u); - aot_gpr_5 = (aot_mem.aot_direct_load_word_right(aot_gpr_17 + static_cast(0), aot_gpr_5)); - aot_gpr_5 = (aot_mem.aot_direct_load_word_left(aot_gpr_17 + static_cast(3), aot_gpr_5)); + aot_gpr_5 = (aot_mem.aot_direct_load_word_right(ctx.gpr[17] + static_cast(0), aot_gpr_5)); + aot_gpr_5 = (aot_mem.aot_direct_load_word_left(ctx.gpr[17] + static_cast(3), aot_gpr_5)); aot_gpr_5 = (aot_gpr_5 & 65535u); - aot_gpr_6 = (aot_gpr_17 + aot_gpr_5); + aot_gpr_6 = (ctx.gpr[17] + aot_gpr_5); aot_gpr_5 = (aot_gpr_5 + static_cast(1)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(0), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(0), static_cast(aot_gpr_5)); ctx.gpr[1] = (static_cast(static_cast(aot_gpr_5) >> 8u)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(1), static_cast(ctx.gpr[1])); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(1), static_cast(ctx.gpr[1])); aot_mem.aot_direct_store8(aot_gpr_6 + static_cast(0), static_cast(aot_gpr_4)); goto L_088267B4; L_088267B4: @@ -5231,48 +5232,48 @@ L_088267C0: aot_gpr_5 = (aot_gpr_4 & 65535u); aot_gpr_5 = (aot_gpr_5 & 65535u); aot_gpr_6 = (aot_gpr_5 & 255u); - ctx.gpr[7] = (aot_mem.aot_direct_load_word_right(aot_gpr_17 + static_cast(0), ctx.gpr[7])); - ctx.gpr[7] = (aot_mem.aot_direct_load_word_left(aot_gpr_17 + static_cast(3), ctx.gpr[7])); + ctx.gpr[7] = (aot_mem.aot_direct_load_word_right(ctx.gpr[17] + static_cast(0), ctx.gpr[7])); + ctx.gpr[7] = (aot_mem.aot_direct_load_word_left(ctx.gpr[17] + static_cast(3), ctx.gpr[7])); ctx.gpr[7] = (ctx.gpr[7] & 65535u); - ctx.gpr[8] = (aot_gpr_17 + ctx.gpr[7]); + ctx.gpr[8] = (ctx.gpr[17] + ctx.gpr[7]); ctx.gpr[7] = (ctx.gpr[7] + static_cast(1)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(0), static_cast(ctx.gpr[7])); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(0), static_cast(ctx.gpr[7])); ctx.gpr[1] = (static_cast(static_cast(ctx.gpr[7]) >> 8u)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(1), static_cast(ctx.gpr[1])); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(1), static_cast(ctx.gpr[1])); aot_mem.aot_direct_store8(ctx.gpr[8] + static_cast(0), static_cast(aot_gpr_6)); aot_gpr_5 = (static_cast(static_cast(aot_gpr_5) >> 8u)); aot_gpr_5 = (aot_gpr_5 & 255u); - aot_gpr_6 = (aot_mem.aot_direct_load_word_right(aot_gpr_17 + static_cast(0), aot_gpr_6)); - aot_gpr_6 = (aot_mem.aot_direct_load_word_left(aot_gpr_17 + static_cast(3), aot_gpr_6)); + aot_gpr_6 = (aot_mem.aot_direct_load_word_right(ctx.gpr[17] + static_cast(0), aot_gpr_6)); + aot_gpr_6 = (aot_mem.aot_direct_load_word_left(ctx.gpr[17] + static_cast(3), aot_gpr_6)); aot_gpr_6 = (aot_gpr_6 & 65535u); - ctx.gpr[7] = (aot_gpr_17 + aot_gpr_6); + ctx.gpr[7] = (ctx.gpr[17] + aot_gpr_6); aot_gpr_6 = (aot_gpr_6 + static_cast(1)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(0), static_cast(aot_gpr_6)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(0), static_cast(aot_gpr_6)); ctx.gpr[1] = (static_cast(static_cast(aot_gpr_6) >> 8u)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(1), static_cast(ctx.gpr[1])); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(1), static_cast(ctx.gpr[1])); aot_mem.aot_direct_store8(ctx.gpr[7] + static_cast(0), static_cast(aot_gpr_5)); aot_gpr_4 = (aot_gpr_4 >> 16u); aot_gpr_4 = (aot_gpr_4 & 65535u); aot_gpr_5 = (aot_gpr_4 & 255u); - aot_gpr_6 = (aot_mem.aot_direct_load_word_right(aot_gpr_17 + static_cast(0), aot_gpr_6)); - aot_gpr_6 = (aot_mem.aot_direct_load_word_left(aot_gpr_17 + static_cast(3), aot_gpr_6)); + aot_gpr_6 = (aot_mem.aot_direct_load_word_right(ctx.gpr[17] + static_cast(0), aot_gpr_6)); + aot_gpr_6 = (aot_mem.aot_direct_load_word_left(ctx.gpr[17] + static_cast(3), aot_gpr_6)); aot_gpr_6 = (aot_gpr_6 & 65535u); - ctx.gpr[7] = (aot_gpr_17 + aot_gpr_6); + ctx.gpr[7] = (ctx.gpr[17] + aot_gpr_6); aot_gpr_6 = (aot_gpr_6 + static_cast(1)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(0), static_cast(aot_gpr_6)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(0), static_cast(aot_gpr_6)); ctx.gpr[1] = (static_cast(static_cast(aot_gpr_6) >> 8u)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(1), static_cast(ctx.gpr[1])); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(1), static_cast(ctx.gpr[1])); aot_mem.aot_direct_store8(ctx.gpr[7] + static_cast(0), static_cast(aot_gpr_5)); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 8u)); aot_gpr_4 = (aot_gpr_4 & 255u); - aot_gpr_5 = (aot_mem.aot_direct_load_word_right(aot_gpr_17 + static_cast(0), aot_gpr_5)); - aot_gpr_5 = (aot_mem.aot_direct_load_word_left(aot_gpr_17 + static_cast(3), aot_gpr_5)); + aot_gpr_5 = (aot_mem.aot_direct_load_word_right(ctx.gpr[17] + static_cast(0), aot_gpr_5)); + aot_gpr_5 = (aot_mem.aot_direct_load_word_left(ctx.gpr[17] + static_cast(3), aot_gpr_5)); aot_gpr_5 = (aot_gpr_5 & 65535u); - aot_gpr_6 = (aot_gpr_17 + aot_gpr_5); + aot_gpr_6 = (ctx.gpr[17] + aot_gpr_5); aot_gpr_5 = (aot_gpr_5 + static_cast(1)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(0), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(0), static_cast(aot_gpr_5)); ctx.gpr[1] = (static_cast(static_cast(aot_gpr_5) >> 8u)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(1), static_cast(ctx.gpr[1])); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(1), static_cast(ctx.gpr[1])); aot_mem.aot_direct_store8(aot_gpr_6 + static_cast(0), static_cast(aot_gpr_4)); goto L_08826880; L_08826880: @@ -5290,59 +5291,59 @@ L_0882688C: aot_gpr_5 = (aot_gpr_4 & 65535u); aot_gpr_5 = (aot_gpr_5 & 65535u); aot_gpr_6 = (aot_gpr_5 & 255u); - ctx.gpr[7] = (aot_mem.aot_direct_load_word_right(aot_gpr_17 + static_cast(0), ctx.gpr[7])); - ctx.gpr[7] = (aot_mem.aot_direct_load_word_left(aot_gpr_17 + static_cast(3), ctx.gpr[7])); + ctx.gpr[7] = (aot_mem.aot_direct_load_word_right(ctx.gpr[17] + static_cast(0), ctx.gpr[7])); + ctx.gpr[7] = (aot_mem.aot_direct_load_word_left(ctx.gpr[17] + static_cast(3), ctx.gpr[7])); ctx.gpr[7] = (ctx.gpr[7] & 65535u); - ctx.gpr[8] = (aot_gpr_17 + ctx.gpr[7]); + ctx.gpr[8] = (ctx.gpr[17] + ctx.gpr[7]); ctx.gpr[7] = (ctx.gpr[7] + static_cast(1)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(0), static_cast(ctx.gpr[7])); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(0), static_cast(ctx.gpr[7])); ctx.gpr[1] = (static_cast(static_cast(ctx.gpr[7]) >> 8u)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(1), static_cast(ctx.gpr[1])); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(1), static_cast(ctx.gpr[1])); aot_mem.aot_direct_store8(ctx.gpr[8] + static_cast(0), static_cast(aot_gpr_6)); aot_gpr_5 = (static_cast(static_cast(aot_gpr_5) >> 8u)); aot_gpr_5 = (aot_gpr_5 & 255u); - aot_gpr_6 = (aot_mem.aot_direct_load_word_right(aot_gpr_17 + static_cast(0), aot_gpr_6)); - aot_gpr_6 = (aot_mem.aot_direct_load_word_left(aot_gpr_17 + static_cast(3), aot_gpr_6)); + aot_gpr_6 = (aot_mem.aot_direct_load_word_right(ctx.gpr[17] + static_cast(0), aot_gpr_6)); + aot_gpr_6 = (aot_mem.aot_direct_load_word_left(ctx.gpr[17] + static_cast(3), aot_gpr_6)); aot_gpr_6 = (aot_gpr_6 & 65535u); - ctx.gpr[7] = (aot_gpr_17 + aot_gpr_6); + ctx.gpr[7] = (ctx.gpr[17] + aot_gpr_6); aot_gpr_6 = (aot_gpr_6 + static_cast(1)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(0), static_cast(aot_gpr_6)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(0), static_cast(aot_gpr_6)); ctx.gpr[1] = (static_cast(static_cast(aot_gpr_6) >> 8u)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(1), static_cast(ctx.gpr[1])); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(1), static_cast(ctx.gpr[1])); aot_mem.aot_direct_store8(ctx.gpr[7] + static_cast(0), static_cast(aot_gpr_5)); aot_gpr_4 = (aot_gpr_4 >> 16u); aot_gpr_4 = (aot_gpr_4 & 65535u); aot_gpr_5 = (aot_gpr_4 & 255u); - aot_gpr_6 = (aot_mem.aot_direct_load_word_right(aot_gpr_17 + static_cast(0), aot_gpr_6)); - aot_gpr_6 = (aot_mem.aot_direct_load_word_left(aot_gpr_17 + static_cast(3), aot_gpr_6)); + aot_gpr_6 = (aot_mem.aot_direct_load_word_right(ctx.gpr[17] + static_cast(0), aot_gpr_6)); + aot_gpr_6 = (aot_mem.aot_direct_load_word_left(ctx.gpr[17] + static_cast(3), aot_gpr_6)); aot_gpr_6 = (aot_gpr_6 & 65535u); - ctx.gpr[7] = (aot_gpr_17 + aot_gpr_6); + ctx.gpr[7] = (ctx.gpr[17] + aot_gpr_6); aot_gpr_6 = (aot_gpr_6 + static_cast(1)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(0), static_cast(aot_gpr_6)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(0), static_cast(aot_gpr_6)); ctx.gpr[1] = (static_cast(static_cast(aot_gpr_6) >> 8u)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(1), static_cast(ctx.gpr[1])); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(1), static_cast(ctx.gpr[1])); aot_mem.aot_direct_store8(ctx.gpr[7] + static_cast(0), static_cast(aot_gpr_5)); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 8u)); aot_gpr_4 = (aot_gpr_4 & 255u); - aot_gpr_5 = (aot_mem.aot_direct_load_word_right(aot_gpr_17 + static_cast(0), aot_gpr_5)); - aot_gpr_5 = (aot_mem.aot_direct_load_word_left(aot_gpr_17 + static_cast(3), aot_gpr_5)); + aot_gpr_5 = (aot_mem.aot_direct_load_word_right(ctx.gpr[17] + static_cast(0), aot_gpr_5)); + aot_gpr_5 = (aot_mem.aot_direct_load_word_left(ctx.gpr[17] + static_cast(3), aot_gpr_5)); aot_gpr_5 = (aot_gpr_5 & 65535u); - aot_gpr_6 = (aot_gpr_17 + aot_gpr_5); + aot_gpr_6 = (ctx.gpr[17] + aot_gpr_5); aot_gpr_5 = (aot_gpr_5 + static_cast(1)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(0), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(0), static_cast(aot_gpr_5)); ctx.gpr[1] = (static_cast(static_cast(aot_gpr_5) >> 8u)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(1), static_cast(ctx.gpr[1])); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(1), static_cast(ctx.gpr[1])); aot_mem.aot_direct_store8(aot_gpr_6 + static_cast(0), static_cast(aot_gpr_4)); goto L_0882694C; L_0882694C: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; - ctx.gpr[31] = aot_run_words[3]; + aot_gpr_31 = aot_run_words[3]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -5350,29 +5351,29 @@ L_0882694C: AOT_REGCACHE_SYNC_OUT(); return; L_08826964: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } ctx.gpr[7] = (aot_gpr_5 | 0u); ctx.gpr[18] = (aot_gpr_6 | 0u); - aot_gpr_17 = (ctx.gpr[7] + static_cast(4)); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + ctx.gpr[17] = (ctx.gpr[7] + static_cast(4)); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_gpr_6 = (aot_gpr_5 + static_cast(1)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), aot_gpr_6); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), aot_gpr_6); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0))); - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); ctx.gpr[8] = (aot_gpr_6 + static_cast(1)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), ctx.gpr[8]); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), ctx.gpr[8]); aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_6 + static_cast(0))); aot_gpr_6 = (aot_gpr_6 << 8u); aot_gpr_5 = (aot_gpr_5 | aot_gpr_6); aot_gpr_16 = (aot_gpr_5 & 65535u); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_gpr_6 = (aot_gpr_5 + static_cast(1)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), aot_gpr_6); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), aot_gpr_6); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0))); - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); ctx.gpr[8] = (aot_gpr_6 + static_cast(1)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), ctx.gpr[8]); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), ctx.gpr[8]); aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_6 + static_cast(0))); aot_gpr_6 = (aot_gpr_6 << 8u); aot_gpr_5 = (aot_gpr_5 | aot_gpr_6); @@ -5392,7 +5393,7 @@ L_088269F4: aot_gpr_6 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (aot_gpr_6 | 0u); - ctx.gpr[31] = (0x08826A08u); + aot_gpr_31 = (0x08826A08u); aot_gpr_6 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0159_entry, 159u, 337u, 0x08A83758u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08826A08u) goto L_08826A08; AOT_REGCACHE_SYNC_OUT(); return; @@ -5406,24 +5407,24 @@ L_08826A08: goto L_08826A14; } L_08826A14: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_gpr_5 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_gpr_6 = (aot_gpr_5 + static_cast(1)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), aot_gpr_6); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), aot_gpr_6); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0))); aot_gpr_5 = (aot_gpr_5 << 8u); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); aot_gpr_4 = (aot_gpr_4 & 65535u); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_gpr_6 = (aot_gpr_5 + static_cast(1)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), aot_gpr_6); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), aot_gpr_6); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0))); - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); ctx.gpr[7] = (aot_gpr_6 + static_cast(1)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), ctx.gpr[7]); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), ctx.gpr[7]); aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_6 + static_cast(0))); aot_gpr_6 = (aot_gpr_6 << 8u); aot_gpr_5 = (aot_gpr_5 | aot_gpr_6); @@ -5443,24 +5444,24 @@ L_08826A7C: goto L_08826A88; } L_08826A88: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_gpr_5 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_gpr_6 = (aot_gpr_5 + static_cast(1)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), aot_gpr_6); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), aot_gpr_6); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0))); aot_gpr_5 = (aot_gpr_5 << 8u); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); aot_gpr_4 = (aot_gpr_4 & 65535u); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_gpr_6 = (aot_gpr_5 + static_cast(1)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), aot_gpr_6); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), aot_gpr_6); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0))); - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); ctx.gpr[7] = (aot_gpr_6 + static_cast(1)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), ctx.gpr[7]); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), ctx.gpr[7]); aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_6 + static_cast(0))); aot_gpr_6 = (aot_gpr_6 << 8u); aot_gpr_5 = (aot_gpr_5 | aot_gpr_6); @@ -5480,24 +5481,24 @@ L_08826AF0: goto L_08826AFC; } L_08826AFC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_gpr_5 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_gpr_6 = (aot_gpr_5 + static_cast(1)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), aot_gpr_6); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), aot_gpr_6); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0))); aot_gpr_5 = (aot_gpr_5 << 8u); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); aot_gpr_4 = (aot_gpr_4 & 65535u); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_gpr_6 = (aot_gpr_5 + static_cast(1)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), aot_gpr_6); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), aot_gpr_6); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0))); - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); ctx.gpr[7] = (aot_gpr_6 + static_cast(1)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), ctx.gpr[7]); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), ctx.gpr[7]); aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_6 + static_cast(0))); aot_gpr_6 = (aot_gpr_6 << 8u); aot_gpr_5 = (aot_gpr_5 | aot_gpr_6); @@ -5511,11 +5512,11 @@ L_08826B64: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; - ctx.gpr[31] = aot_run_words[3]; + aot_gpr_31 = aot_run_words[3]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -5524,9 +5525,9 @@ L_08826B64: L_08826B7C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_16 = (aot_gpr_4 | 0u); - ctx.gpr[31] = (0x08826B94u); + aot_gpr_31 = (0x08826B94u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0159_entry, 159u, 170u, 0x08A82198u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08826B94u) goto L_08826B94; AOT_REGCACHE_SYNC_OUT(); return; @@ -5538,8 +5539,8 @@ L_08826B94: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(380), aot_gpr_4); ctx.gpr[2] = (aot_gpr_16 | 0u); aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -5547,9 +5548,9 @@ L_08826B94: AOT_REGCACHE_SYNC_OUT(); return; L_08826BBC: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, ctx.gpr[31]}; + { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - aot_gpr_17 = (aot_gpr_4 | 0u); + ctx.gpr[17] = (aot_gpr_4 | 0u); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_16 = (aot_gpr_5 | 0u); if (branch_taken) { @@ -5560,9 +5561,9 @@ L_08826BBC: L_08826BD8: aot_gpr_4 = (2234u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(19320)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(92), aot_gpr_4); - aot_gpr_4 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x08826BF0u); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(92), aot_gpr_4); + aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_31 = (0x08826BF0u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0159_entry, 159u, 175u, 0x08A8223Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08826BF0u) goto L_08826BF0; AOT_REGCACHE_SYNC_OUT(); return; @@ -5576,18 +5577,18 @@ L_08826BF0: goto L_08826BFC; } L_08826BFC: - ctx.gpr[31] = (0x08826C04u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08826C04u) goto L_08826C04; + aot_gpr_31 = (0x08826C04u); + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08826C04u) goto L_08826C04; AOT_REGCACHE_SYNC_OUT(); return; L_08826C04: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; - ctx.gpr[31] = aot_run_words[2]; + ctx.gpr[17] = aot_run_words[1]; + aot_gpr_31 = aot_run_words[2]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -5595,14 +5596,14 @@ L_08826C04: AOT_REGCACHE_SYNC_OUT(); return; L_08826C18: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[31]); - ctx.gpr[31] = (0x08826C28u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); + aot_gpr_31 = (0x08826C28u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0159_entry, 159u, 196u, 0x08A823A0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08826C28u) goto L_08826C28; AOT_REGCACHE_SYNC_OUT(); return; L_08826C28: - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -5610,10 +5611,10 @@ L_08826C28: AOT_REGCACHE_SYNC_OUT(); return; L_08826C34: aot_gpr_29 = (aot_gpr_29 + static_cast(-304)); - { const std::uint32_t aot_run_words[11]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[11]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(256), aot_run_words); } ctx.gpr[20] = (aot_gpr_4 | 0u); - ctx.gpr[31] = (0x08826C70u); + aot_gpr_31 = (0x08826C70u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0159_entry, 159u, 195u, 0x08A82398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08826C70u) goto L_08826C70; AOT_REGCACHE_SYNC_OUT(); return; @@ -5635,13 +5636,13 @@ L_08826C70: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(226)))))); aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(230), static_cast(aot_gpr_5)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(230)))))); - ctx.gpr[31] = (0x08826CBCu); + aot_gpr_31 = (0x08826CBCu); aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08826CBCu) goto L_08826CBC; AOT_REGCACHE_SYNC_OUT(); return; L_08826CBC: aot_gpr_16 = (ctx.gpr[2] | 0u); - aot_gpr_17 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(352))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(352))); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[20] + static_cast(86)))))); aot_gpr_5 = (aot_gpr_4 << 2u); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); @@ -5676,8 +5677,8 @@ L_08826D1C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(120))); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(120), aot_gpr_4); - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(156))); - aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(140))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(156))); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(140))); aot_fpr_15 = aot_fpr_14 / aot_fpr_15; aot_fpr_15 = aot_fpr_12 - aot_fpr_15; ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(284))); @@ -5720,7 +5721,7 @@ L_08826D74: goto L_08826D8C; } L_08826D8C: - ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(156))); + ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(156))); { const float fs = aot_fpr_15; const float ft = ctx.fpr[16]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_15 = std::bit_cast(0x7FC00000u); else aot_fpr_15 = fs * ft; } aot_fpr_14 = aot_fpr_14 - aot_fpr_15; goto L_08826D98; @@ -5730,8 +5731,8 @@ L_08826D98: { const float fs = aot_fpr_14; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } aot_fpr_14 = aot_fpr_15 + aot_fpr_14; aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(248), std::bit_cast(aot_fpr_14)); - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(164))); - ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(148))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(164))); + ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(148))); aot_fpr_14 = aot_fpr_14 / ctx.fpr[16]; aot_fpr_14 = aot_fpr_12 - aot_fpr_14; ctx.fpr[17] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(292))); @@ -5774,7 +5775,7 @@ L_08826DF4: goto L_08826E0C; } L_08826E0C: - aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(164))); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(164))); { const float fs = aot_fpr_12; const float ft = aot_fpr_15; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_14 = aot_fpr_14 - aot_fpr_12; goto L_08826E18; @@ -5900,12 +5901,12 @@ L_08826EDC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(148), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(60))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(216))); - aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(220))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(216))); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(220))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_14 < aot_fpr_15)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(156))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(156))); if (branch_taken) { goto L_08826F28; } @@ -5913,14 +5914,14 @@ L_08826EDC: } L_08826F20: { const bool branch_taken = 0u == 0u; - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(216))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(216))); if (branch_taken) { goto L_08826F2C; } goto L_08826F28; } L_08826F28: - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(220))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(220))); goto L_08826F2C; L_08826F2C: { const float fs = aot_fpr_12; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } @@ -5933,7 +5934,7 @@ L_08826F2C: ctx.gpr[23] = (aot_gpr_29 + static_cast(208)); aot_gpr_6 = (aot_gpr_29 + static_cast(144)); aot_gpr_4 = (ctx.gpr[20] | 0u); - ctx.gpr[31] = (0x08826F5Cu); + aot_gpr_31 = (0x08826F5Cu); aot_gpr_5 = (ctx.gpr[23] | 0u); goto L_08825340; L_08826F5C: @@ -5955,7 +5956,7 @@ L_08826F5C: { const float fs = aot_fpr_12; const float ft = ctx.fpr[22]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_4 = (0u | 0u); aot_gpr_5 = (ctx.gpr[21] | 0u); - ctx.gpr[31] = (0x08826F80u); + aot_gpr_31 = (0x08826F80u); aot_gpr_6 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 209u, 0x08B00C34u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08826F80u) goto L_08826F80; AOT_REGCACHE_SYNC_OUT(); return; @@ -5968,7 +5969,7 @@ L_08826F80: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(232), std::bit_cast(aot_fpr_12)); goto L_08826F98; L_08826F98: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(204))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(204))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -5977,7 +5978,7 @@ L_08826F98: goto L_08826FA4; } L_08826FA4: - ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(204))); + ctx.gpr[20] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(204))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(112))); ctx.gpr[22] = (aot_gpr_29 + static_cast(96)); { const bool branch_taken = aot_gpr_4 == 0u; @@ -5998,7 +5999,7 @@ L_08826FB8: goto L_08826FC8; } L_08826FC8: - ctx.gpr[31] = (0x08826FD0u); + aot_gpr_31 = (0x08826FD0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(112))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 129u, 0x089D89E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08826FD0u) goto L_08826FD0; AOT_REGCACHE_SYNC_OUT(); return; @@ -6010,7 +6011,7 @@ L_08826FD4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(120))); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(120), aot_gpr_4); - ctx.gpr[31] = (0x08826FECu); + aot_gpr_31 = (0x08826FECu); aot_gpr_4 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 939u, 0x0885FF48u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08826FECu) goto L_08826FEC; AOT_REGCACHE_SYNC_OUT(); return; @@ -6031,7 +6032,7 @@ L_08826FEC: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(552))); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[20])); - ctx.gpr[31] = (0x08827008u); + aot_gpr_31 = (0x08827008u); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[20])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 923u, 0x0885FA28u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08827008u) goto L_08827008; AOT_REGCACHE_SYNC_OUT(); return; @@ -6042,17 +6043,17 @@ L_08827008: aot_fpr_13 = std::bit_cast(aot_run_words[1]); aot_fpr_14 = std::bit_cast(aot_run_words[2]); } - ctx.gpr[31] = (0x0882701Cu); + aot_gpr_31 = (0x0882701Cu); aot_gpr_4 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 4u, 0x08860094u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882701Cu) goto L_0882701C; AOT_REGCACHE_SYNC_OUT(); return; L_0882701C: - ctx.gpr[31] = (0x08827024u); + aot_gpr_31 = (0x08827024u); aot_gpr_4 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 936u, 0x0885FF14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08827024u) goto L_08827024; AOT_REGCACHE_SYNC_OUT(); return; L_08827024: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(208))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(208))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -6061,7 +6062,7 @@ L_08827024: goto L_08827030; } L_08827030: - ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(208))); + ctx.gpr[20] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(208))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(112))); ctx.gpr[22] = (aot_gpr_29 + static_cast(96)); { const bool branch_taken = aot_gpr_4 == 0u; @@ -6082,7 +6083,7 @@ L_08827044: goto L_08827054; } L_08827054: - ctx.gpr[31] = (0x0882705Cu); + aot_gpr_31 = (0x0882705Cu); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(112))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 129u, 0x089D89E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882705Cu) goto L_0882705C; AOT_REGCACHE_SYNC_OUT(); return; @@ -6094,7 +6095,7 @@ L_08827060: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(120))); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(120), aot_gpr_4); - ctx.gpr[31] = (0x08827078u); + aot_gpr_31 = (0x08827078u); aot_gpr_4 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 939u, 0x0885FF48u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08827078u) goto L_08827078; AOT_REGCACHE_SYNC_OUT(); return; @@ -6115,7 +6116,7 @@ L_08827078: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(544))); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[20])); - ctx.gpr[31] = (0x08827094u); + aot_gpr_31 = (0x08827094u); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[20])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 923u, 0x0885FA28u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08827094u) goto L_08827094; AOT_REGCACHE_SYNC_OUT(); return; @@ -6126,26 +6127,26 @@ L_08827094: aot_fpr_13 = std::bit_cast(aot_run_words[1]); aot_fpr_14 = std::bit_cast(aot_run_words[2]); } - ctx.gpr[31] = (0x088270A8u); + aot_gpr_31 = (0x088270A8u); aot_gpr_4 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 4u, 0x08860094u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088270A8u) goto L_088270A8; AOT_REGCACHE_SYNC_OUT(); return; L_088270A8: - ctx.gpr[31] = (0x088270B0u); + aot_gpr_31 = (0x088270B0u); aot_gpr_4 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 936u, 0x0885FF14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088270B0u) goto L_088270B0; AOT_REGCACHE_SYNC_OUT(); return; L_088270B0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(212))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(212))); if (aot_gpr_4 == 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(120))); goto L_08827140; } goto L_088270BC; L_088270BC: - ctx.gpr[21] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(212))); + ctx.gpr[21] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(212))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(112))); - aot_gpr_17 = (aot_gpr_29 + static_cast(96)); + ctx.gpr[17] = (aot_gpr_29 + static_cast(96)); { const bool branch_taken = aot_gpr_4 == 0u; ctx.gpr[20] = (aot_gpr_29 + static_cast(128)); if (branch_taken) { @@ -6164,7 +6165,7 @@ L_088270D0: goto L_088270E0; } L_088270E0: - ctx.gpr[31] = (0x088270E8u); + aot_gpr_31 = (0x088270E8u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(112))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 129u, 0x089D89E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088270E8u) goto L_088270E8; AOT_REGCACHE_SYNC_OUT(); return; @@ -6176,12 +6177,12 @@ L_088270EC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(120))); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(120), aot_gpr_4); - ctx.gpr[31] = (0x08827104u); + aot_gpr_31 = (0x08827104u); aot_gpr_4 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 939u, 0x0885FF48u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08827104u) goto L_08827104; AOT_REGCACHE_SYNC_OUT(); return; L_08827104: - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -6197,7 +6198,7 @@ L_08827104: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(548))); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[20])); - ctx.gpr[31] = (0x08827120u); + aot_gpr_31 = (0x08827120u); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[20])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 923u, 0x0885FA28u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08827120u) goto L_08827120; AOT_REGCACHE_SYNC_OUT(); return; @@ -6208,12 +6209,12 @@ L_08827120: aot_fpr_13 = std::bit_cast(aot_run_words[1]); aot_fpr_14 = std::bit_cast(aot_run_words[2]); } - ctx.gpr[31] = (0x08827134u); + aot_gpr_31 = (0x08827134u); aot_gpr_4 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 4u, 0x08860094u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08827134u) goto L_08827134; AOT_REGCACHE_SYNC_OUT(); return; L_08827134: - ctx.gpr[31] = (0x0882713Cu); + aot_gpr_31 = (0x0882713Cu); aot_gpr_4 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 936u, 0x0885FF14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882713Cu) goto L_0882713C; AOT_REGCACHE_SYNC_OUT(); return; @@ -6239,7 +6240,7 @@ L_0882714C: goto L_08827158; } L_08827158: - ctx.gpr[31] = (0x08827160u); + aot_gpr_31 = (0x08827160u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(112))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 129u, 0x089D89E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08827160u) goto L_08827160; AOT_REGCACHE_SYNC_OUT(); return; @@ -6249,16 +6250,16 @@ L_08827160: ctx.fpr[20] = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); aot_gpr_16 = aot_run_words[2]; - aot_gpr_17 = aot_run_words[3]; + ctx.gpr[17] = aot_run_words[3]; ctx.gpr[18] = aot_run_words[4]; ctx.gpr[19] = aot_run_words[5]; ctx.gpr[20] = aot_run_words[6]; ctx.gpr[21] = aot_run_words[7]; ctx.gpr[22] = aot_run_words[8]; ctx.gpr[23] = aot_run_words[9]; - ctx.gpr[31] = aot_run_words[10]; + aot_gpr_31 = aot_run_words[10]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(304)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -6267,15 +6268,15 @@ L_08827160: L_08827194: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[31]); - ctx.gpr[31] = (0x088271A8u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); + aot_gpr_31 = (0x088271A8u); aot_gpr_16 = (aot_gpr_4 | 0u); goto L_088271E0; L_088271A8: ctx.gpr[2] = (aot_gpr_16 | 0u); aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -6283,7 +6284,7 @@ L_088271A8: AOT_REGCACHE_SYNC_OUT(); return; L_088271BC: ctx.gpr[2] = (ctx.fcr31); - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; // nop local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -6294,7 +6295,7 @@ L_088271C8: ctx.fcr31 = 0u & 0x0181FFFFu; // nop ctx.fcr31 = aot_gpr_4 & 0x0181FFFFu; - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; // nop local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -6303,23 +6304,23 @@ L_088271C8: L_088271E0: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_4 = (0u | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[31]); - ctx.gpr[31] = (0x088271F4u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); + aot_gpr_31 = (0x088271F4u); aot_gpr_5 = (0u | 16384u); ctx.pc = 0x08B7344Cu; AOT_REGCACHE_SYNC_OUT(); return; L_088271F4: - ctx.gpr[31] = (0x088271FCu); + aot_gpr_31 = (0x088271FCu); // nop goto L_088271BC; L_088271FC: aot_gpr_4 = (0u + static_cast(-3969)); - ctx.gpr[31] = (0x08827208u); + aot_gpr_31 = (0x08827208u); aot_gpr_4 = (ctx.gpr[2] & aot_gpr_4); goto L_088271C8; L_08827208: - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -6327,13 +6328,13 @@ L_08827208: AOT_REGCACHE_SYNC_OUT(); return; L_08827214: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[31]); - ctx.gpr[31] = (0x08827224u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); + aot_gpr_31 = (0x08827224u); aot_gpr_4 = (ctx.gpr[28] + static_cast(7808)); goto L_08827194; L_08827224: - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -6342,12 +6343,12 @@ L_08827224: L_08827230: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[17]); aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_17 = (aot_gpr_5 & 65535u); + ctx.gpr[17] = (aot_gpr_5 & 65535u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), ctx.gpr[18]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), ctx.gpr[31]); - ctx.gpr[31] = (0x08827254u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_31); + aot_gpr_31 = (0x08827254u); ctx.gpr[18] = (aot_gpr_6 & 65535u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0127_entry, 127u, 355u, 0x08A01434u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08827254u) goto L_08827254; AOT_REGCACHE_SYNC_OUT(); return; @@ -6360,7 +6361,7 @@ L_08827254: aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_gpr_4 << 5u); aot_gpr_4 = (aot_gpr_6 - aot_gpr_4); - aot_gpr_5 = (aot_gpr_17 << 16u); + aot_gpr_5 = (ctx.gpr[17] << 16u); aot_gpr_4 = (ctx.gpr[2] + aot_gpr_4); aot_gpr_5 = (static_cast(static_cast(aot_gpr_5) >> 16u)); aot_gpr_5 = (aot_gpr_5 << 16u); @@ -6411,11 +6412,11 @@ L_088272E4: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; - ctx.gpr[31] = aot_run_words[3]; + aot_gpr_31 = aot_run_words[3]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -6424,12 +6425,12 @@ L_088272E4: L_088272FC: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[17]); aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_17 = (aot_gpr_5 & 65535u); + ctx.gpr[17] = (aot_gpr_5 & 65535u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), ctx.gpr[18]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), ctx.gpr[31]); - ctx.gpr[31] = (0x08827320u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_31); + aot_gpr_31 = (0x08827320u); ctx.gpr[18] = (aot_gpr_6 & 65535u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0127_entry, 127u, 355u, 0x08A01434u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08827320u) goto L_08827320; AOT_REGCACHE_SYNC_OUT(); return; @@ -6442,7 +6443,7 @@ L_08827320: aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_gpr_4 << 5u); aot_gpr_4 = (aot_gpr_6 - aot_gpr_4); - aot_gpr_5 = (aot_gpr_17 << 16u); + aot_gpr_5 = (ctx.gpr[17] << 16u); aot_gpr_4 = (ctx.gpr[2] + aot_gpr_4); aot_gpr_5 = (static_cast(static_cast(aot_gpr_5) >> 16u)); aot_gpr_5 = (aot_gpr_5 << 16u); @@ -6472,11 +6473,11 @@ L_08827320: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; - ctx.gpr[31] = aot_run_words[3]; + aot_gpr_31 = aot_run_words[3]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -6484,18 +6485,18 @@ L_08827320: AOT_REGCACHE_SYNC_OUT(); return; L_088273C4: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, ctx.gpr[18]}; + { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(12), aot_run_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), ctx.gpr[20]); ctx.gpr[18] = (ctx.gpr[8] | 0u); aot_gpr_16 = (ctx.gpr[7] | 0u); - aot_gpr_17 = (aot_gpr_6 | 0u); + ctx.gpr[17] = (aot_gpr_6 | 0u); ctx.gpr[20] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), std::bit_cast(ctx.fpr[20])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), std::bit_cast(ctx.fpr[22])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), ctx.gpr[19]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), ctx.gpr[31]); - ctx.gpr[31] = (0x08827400u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), aot_gpr_31); + aot_gpr_31 = (0x08827400u); ctx.gpr[19] = (aot_gpr_5 & 65535u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0127_entry, 127u, 355u, 0x08A01434u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08827400u) goto L_08827400; AOT_REGCACHE_SYNC_OUT(); return; @@ -6544,7 +6545,7 @@ L_08827484: ctx.fpr[20] = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(0), static_cast(0u)); aot_gpr_4 = (16256u << 16u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), 0u); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), 0u); ctx.fpr[22] = std::bit_cast(aot_gpr_4); { const bool branch_taken = 0u == 0u; ctx.gpr[18] = (0u | 0u); @@ -6566,7 +6567,7 @@ L_088274B4: aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_6 = (ctx.gpr[18] | 0u); - ctx.gpr[31] = (0x088274C8u); + aot_gpr_31 = (0x088274C8u); ctx.gpr[7] = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0186_entry, 186u, 559u, 0x08AEEBACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088274C8u) goto L_088274C8; AOT_REGCACHE_SYNC_OUT(); return; @@ -6579,7 +6580,7 @@ L_088274C8: goto L_088274D0; } L_088274D0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_gpr_4 = (aot_gpr_4 << 3u); { const bool branch_taken = static_cast(ctx.gpr[18]) < 0; aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); @@ -6610,7 +6611,7 @@ L_088274EC: AOT_REGCACHE_SYNC_OUT(); return; L_08827504: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), std::bit_cast(ctx.fpr[22])); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_gpr_4 = (aot_gpr_4 << 3u); { const bool branch_taken = 0u == 0u; aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); @@ -6621,16 +6622,16 @@ L_08827504: } L_08827518: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), std::bit_cast(ctx.fpr[20])); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_gpr_4 = (aot_gpr_4 << 3u); aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); goto L_08827528; L_08827528: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(0)))))); aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_5)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), aot_gpr_4); goto L_0882753C; L_0882753C: ctx.gpr[18] = (ctx.gpr[18] + static_cast(1)); @@ -6648,13 +6649,13 @@ L_0882754C: ctx.fpr[20] = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); aot_gpr_16 = aot_run_words[2]; - aot_gpr_17 = aot_run_words[3]; + ctx.gpr[17] = aot_run_words[3]; ctx.gpr[18] = aot_run_words[4]; ctx.gpr[19] = aot_run_words[5]; ctx.gpr[20] = aot_run_words[6]; - ctx.gpr[31] = aot_run_words[7]; + aot_gpr_31 = aot_run_words[7]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(48)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -6662,14 +6663,14 @@ L_0882754C: AOT_REGCACHE_SYNC_OUT(); return; L_08827574: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - { const std::uint32_t aot_run_words[6]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[6]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(16), aot_run_words); } aot_gpr_16 = (ctx.gpr[8] | 0u); - aot_gpr_17 = (ctx.gpr[7] | 0u); + ctx.gpr[17] = (ctx.gpr[7] | 0u); ctx.gpr[18] = (aot_gpr_4 | 0u); ctx.gpr[19] = (aot_gpr_5 & 65535u); ctx.gpr[20] = (aot_gpr_6 & 65535u); - ctx.gpr[31] = (0x088275ACu); + aot_gpr_31 = (0x088275ACu); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0127_entry, 127u, 355u, 0x08A01434u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088275ACu) goto L_088275AC; AOT_REGCACHE_SYNC_OUT(); return; @@ -6686,7 +6687,7 @@ L_088275AC: aot_gpr_6 = (ctx.gpr[19] << 16u); aot_gpr_6 = (static_cast(static_cast(aot_gpr_6) >> 16u)); aot_gpr_4 = (ctx.gpr[18] | 0u); - ctx.gpr[31] = (0x088275E4u); + aot_gpr_31 = (0x088275E4u); aot_gpr_5 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0186_entry, 186u, 564u, 0x08AEEC48u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088275E4u) goto L_088275E4; AOT_REGCACHE_SYNC_OUT(); return; @@ -6701,13 +6702,13 @@ L_088275E4: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_6 = (ctx.gpr[20] << 16u); aot_gpr_6 = (static_cast(static_cast(aot_gpr_6) >> 16u)); aot_gpr_4 = (ctx.gpr[18] | 0u); - ctx.gpr[31] = (0x08827600u); + aot_gpr_31 = (0x08827600u); aot_gpr_5 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0186_entry, 186u, 564u, 0x08AEEC48u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08827600u) goto L_08827600; AOT_REGCACHE_SYNC_OUT(); return; @@ -6728,13 +6729,13 @@ L_08827600: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; - ctx.gpr[31] = aot_run_words[5]; + aot_gpr_31 = aot_run_words[5]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(48)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -6792,7 +6793,7 @@ L_08827628: const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; // nop local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -6804,7 +6805,7 @@ L_08827650: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(64), 0u); aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(72), aot_gpr_5); - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; ctx.gpr[2] = (aot_gpr_4 | 0u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -6874,7 +6875,7 @@ L_088276C4: goto L_08827728; } L_08827728: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; // nop local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -6884,10 +6885,10 @@ L_08827730: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (2238u << 16u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (0u | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (0u | 0u); aot_gpr_16 = (aot_gpr_16 + static_cast(-6032)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); goto L_0882774C; L_0882774C: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(125))); @@ -6899,13 +6900,13 @@ L_0882774C: goto L_08827758; } L_08827758: - ctx.gpr[31] = (0x08827760u); + aot_gpr_31 = (0x08827760u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0009_entry, 9u, 44u, 0x088282FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08827760u) goto L_08827760; AOT_REGCACHE_SYNC_OUT(); return; L_08827760: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - aot_gpr_4 = (static_cast(aot_gpr_17) < 45 ? 1u : 0u); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + aot_gpr_4 = (static_cast(ctx.gpr[17]) < 45 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_16 = (aot_gpr_16 + static_cast(128)); if (branch_taken) { @@ -6917,10 +6918,10 @@ L_08827770: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; - ctx.gpr[31] = aot_run_words[2]; + ctx.gpr[17] = aot_run_words[1]; + aot_gpr_31 = aot_run_words[2]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -6970,7 +6971,7 @@ L_088277BC: ctx.gpr[2] = (0u | 0u); goto L_088277C0; L_088277C0: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; // nop local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -6981,8 +6982,8 @@ L_088277C8: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (2238u << 16u); aot_gpr_16 = (aot_gpr_16 + static_cast(-6032)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7816), 0u); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7812), 0u); aot_gpr_4 = (0u | 256u); @@ -6994,21 +6995,21 @@ L_088277C8: aot_gpr_4 = (0u | 768u); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7828), aot_gpr_4); aot_gpr_4 = (0u | 6u); - ctx.gpr[31] = (0x08827814u); + aot_gpr_31 = (0x08827814u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08827814u) goto L_08827814; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08827814u) goto L_08827814; AOT_REGCACHE_SYNC_OUT(); return; L_08827814: aot_gpr_4 = (0u | 7u); - ctx.gpr[31] = (0x08827820u); + aot_gpr_31 = (0x08827820u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08827820u) goto L_08827820; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08827820u) goto L_08827820; AOT_REGCACHE_SYNC_OUT(); return; L_08827820: aot_gpr_4 = (0u | 11u); - ctx.gpr[31] = (0x0882782Cu); + aot_gpr_31 = (0x0882782Cu); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882782Cu) goto L_0882782C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882782Cu) goto L_0882782C; AOT_REGCACHE_SYNC_OUT(); return; L_0882782C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23440))); @@ -7021,30 +7022,30 @@ L_0882782C: aot_gpr_5 = (aot_gpr_5 | aot_gpr_4); aot_gpr_4 = (65280u << 16u); aot_gpr_5 = (aot_gpr_5 | aot_gpr_4); - ctx.gpr[31] = (0x0882785Cu); + aot_gpr_31 = (0x0882785Cu); aot_gpr_4 = (0u | 12u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882785Cu) goto L_0882785C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882785Cu) goto L_0882785C; AOT_REGCACHE_SYNC_OUT(); return; L_0882785C: aot_gpr_4 = (0u | 8u); - ctx.gpr[31] = (0x08827868u); + aot_gpr_31 = (0x08827868u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08827868u) goto L_08827868; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08827868u) goto L_08827868; AOT_REGCACHE_SYNC_OUT(); return; L_08827868: aot_gpr_4 = (0u | 9u); - ctx.gpr[31] = (0x08827874u); + aot_gpr_31 = (0x08827874u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08827874u) goto L_08827874; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08827874u) goto L_08827874; AOT_REGCACHE_SYNC_OUT(); return; L_08827874: aot_gpr_4 = (0u | 10u); - ctx.gpr[31] = (0x08827880u); + aot_gpr_31 = (0x08827880u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08827880u) goto L_08827880; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08827880u) goto L_08827880; AOT_REGCACHE_SYNC_OUT(); return; L_08827880: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); goto L_08827884; L_08827884: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(125))); @@ -7056,13 +7057,13 @@ L_08827884: goto L_08827890; } L_08827890: - ctx.gpr[31] = (0x08827898u); + aot_gpr_31 = (0x08827898u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0009_entry, 9u, 61u, 0x08828714u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08827898u) goto L_08827898; AOT_REGCACHE_SYNC_OUT(); return; L_08827898: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - aot_gpr_4 = (static_cast(aot_gpr_17) < 45 ? 1u : 0u); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + aot_gpr_4 = (static_cast(ctx.gpr[17]) < 45 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_16 = (aot_gpr_16 + static_cast(128)); if (branch_taken) { @@ -7072,8 +7073,8 @@ L_08827898: } L_088278A8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7836))); - aot_gpr_17 = (0u | 0u); - aot_gpr_4 = (aot_gpr_17 < aot_gpr_4 ? 1u : 0u); + ctx.gpr[17] = (0u | 0u); + aot_gpr_4 = (ctx.gpr[17] < aot_gpr_4 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_16 = (2238u << 16u); if (branch_taken) { @@ -7085,14 +7086,14 @@ L_088278BC: aot_gpr_16 = (aot_gpr_16 + static_cast(-6168)); goto L_088278C0; L_088278C0: - ctx.gpr[31] = (0x088278C8u); + aot_gpr_31 = (0x088278C8u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0009_entry, 9u, 151u, 0x088297A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088278C8u) goto L_088278C8; AOT_REGCACHE_SYNC_OUT(); return; L_088278C8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7836))); - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - aot_gpr_4 = (aot_gpr_17 < aot_gpr_4 ? 1u : 0u); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + aot_gpr_4 = (ctx.gpr[17] < aot_gpr_4 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_16 = (aot_gpr_16 + static_cast(4)); if (branch_taken) { @@ -7101,55 +7102,55 @@ L_088278C8: goto L_088278DC; } L_088278DC: - ctx.gpr[31] = (0x088278E4u); + aot_gpr_31 = (0x088278E4u); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7836), 0u); goto L_08827A6C; L_088278E4: - ctx.gpr[31] = (0x088278ECu); + aot_gpr_31 = (0x088278ECu); // nop goto L_08827AF8; L_088278EC: - ctx.gpr[31] = (0x088278F4u); + aot_gpr_31 = (0x088278F4u); // nop goto L_08827BA0; L_088278F4: aot_gpr_4 = (0u | 6u); - ctx.gpr[31] = (0x08827900u); + aot_gpr_31 = (0x08827900u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08827900u) goto L_08827900; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08827900u) goto L_08827900; AOT_REGCACHE_SYNC_OUT(); return; L_08827900: aot_gpr_4 = (0u | 4u); - ctx.gpr[31] = (0x0882790Cu); + aot_gpr_31 = (0x0882790Cu); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882790Cu) goto L_0882790C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882790Cu) goto L_0882790C; AOT_REGCACHE_SYNC_OUT(); return; L_0882790C: aot_gpr_4 = (0u | 8u); - ctx.gpr[31] = (0x08827918u); + aot_gpr_31 = (0x08827918u); aot_gpr_5 = (0u | 5u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08827918u) goto L_08827918; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08827918u) goto L_08827918; AOT_REGCACHE_SYNC_OUT(); return; L_08827918: aot_gpr_4 = (0u | 9u); - ctx.gpr[31] = (0x08827924u); + aot_gpr_31 = (0x08827924u); aot_gpr_5 = (0u | 6u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08827924u) goto L_08827924; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08827924u) goto L_08827924; AOT_REGCACHE_SYNC_OUT(); return; L_08827924: aot_gpr_4 = (0u | 11u); - ctx.gpr[31] = (0x08827930u); + aot_gpr_31 = (0x08827930u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08827930u) goto L_08827930; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08827930u) goto L_08827930; AOT_REGCACHE_SYNC_OUT(); return; L_08827930: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; - ctx.gpr[31] = aot_run_words[2]; + ctx.gpr[17] = aot_run_words[1]; + aot_gpr_31 = aot_run_words[2]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -7175,7 +7176,7 @@ L_08827954: aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7836), aot_gpr_4); goto L_08827970; L_08827970: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; // nop local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -7336,7 +7337,7 @@ L_08827978: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); ctx.gpr[2] = (std::bit_cast(aot_fpr_12)); ctx.gpr[2] = (ctx.gpr[2] & 255u); - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(112)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -7345,7 +7346,7 @@ L_08827978: L_08827A6C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7816))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -7355,29 +7356,29 @@ L_08827A6C: } L_08827A80: aot_gpr_4 = (0u | 8u); - ctx.gpr[31] = (0x08827A8Cu); + aot_gpr_31 = (0x08827A8Cu); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08827A8Cu) goto L_08827A8C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08827A8Cu) goto L_08827A8C; AOT_REGCACHE_SYNC_OUT(); return; L_08827A8C: aot_gpr_4 = (0u | 9u); - ctx.gpr[31] = (0x08827A98u); + aot_gpr_31 = (0x08827A98u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08827A98u) goto L_08827A98; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08827A98u) goto L_08827A98; AOT_REGCACHE_SYNC_OUT(); return; L_08827A98: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-5048))); aot_gpr_4 = (0u | 1u); - ctx.gpr[31] = (0x08827AA8u); + aot_gpr_31 = (0x08827AA8u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08827AA8u) goto L_08827AA8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08827AA8u) goto L_08827AA8; AOT_REGCACHE_SYNC_OUT(); return; L_08827AA8: aot_gpr_4 = (2238u << 16u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7816))); aot_gpr_6 = (0u | 0u); ctx.gpr[7] = (0u | 1u); - ctx.gpr[31] = (0x08827AC0u); + aot_gpr_31 = (0x08827AC0u); aot_gpr_4 = (aot_gpr_4 + static_cast(-272)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0186_entry, 186u, 515u, 0x08AEE610u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08827AC0u) goto L_08827AC0; AOT_REGCACHE_SYNC_OUT(); return; @@ -7393,12 +7394,12 @@ L_08827AC8: aot_gpr_5 = (2238u << 16u); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7812))); aot_gpr_4 = (0u | 3u); - ctx.gpr[31] = (0x08827ADCu); + aot_gpr_31 = (0x08827ADCu); aot_gpr_5 = (aot_gpr_5 + static_cast(12016)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0186_entry, 186u, 536u, 0x08AEE8E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08827ADCu) goto L_08827ADC; AOT_REGCACHE_SYNC_OUT(); return; L_08827ADC: - ctx.gpr[31] = (0x08827AE4u); + aot_gpr_31 = (0x08827AE4u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0186_entry, 186u, 535u, 0x08AEE8D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08827AE4u) goto L_08827AE4; AOT_REGCACHE_SYNC_OUT(); return; @@ -7407,8 +7408,8 @@ L_08827AE4: aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7816), 0u); goto L_08827AEC; L_08827AEC: - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -7419,7 +7420,7 @@ L_08827AF8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7824))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (0u | 256u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); { const bool branch_taken = aot_gpr_4 == aot_gpr_16; // nop if (branch_taken) { @@ -7429,21 +7430,21 @@ L_08827AF8: } L_08827B14: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7848))); - ctx.gpr[31] = (0x08827B20u); + aot_gpr_31 = (0x08827B20u); aot_gpr_4 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08827B20u) goto L_08827B20; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08827B20u) goto L_08827B20; AOT_REGCACHE_SYNC_OUT(); return; L_08827B20: aot_gpr_4 = (0u | 8u); - ctx.gpr[31] = (0x08827B2Cu); + aot_gpr_31 = (0x08827B2Cu); aot_gpr_5 = (0u | 5u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08827B2Cu) goto L_08827B2C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08827B2Cu) goto L_08827B2C; AOT_REGCACHE_SYNC_OUT(); return; L_08827B2C: aot_gpr_4 = (0u | 9u); - ctx.gpr[31] = (0x08827B38u); + aot_gpr_31 = (0x08827B38u); aot_gpr_5 = (0u | 6u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08827B38u) goto L_08827B38; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08827B38u) goto L_08827B38; AOT_REGCACHE_SYNC_OUT(); return; L_08827B38: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7824))); @@ -7452,7 +7453,7 @@ L_08827B38: aot_gpr_4 = (aot_gpr_4 + static_cast(6144)); aot_gpr_5 = (aot_gpr_5 + static_cast(-256)); aot_gpr_6 = (0u | 0u); - ctx.gpr[31] = (0x08827B58u); + aot_gpr_31 = (0x08827B58u); ctx.gpr[7] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0186_entry, 186u, 515u, 0x08AEE610u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08827B58u) goto L_08827B58; AOT_REGCACHE_SYNC_OUT(); return; @@ -7470,12 +7471,12 @@ L_08827B60: aot_gpr_5 = (aot_gpr_4 + static_cast(12016)); aot_gpr_5 = (aot_gpr_5 + static_cast(1024)); aot_gpr_6 = (aot_gpr_6 + static_cast(-512)); - ctx.gpr[31] = (0x08827B7Cu); + aot_gpr_31 = (0x08827B7Cu); aot_gpr_4 = (0u | 3u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0186_entry, 186u, 536u, 0x08AEE8E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08827B7Cu) goto L_08827B7C; AOT_REGCACHE_SYNC_OUT(); return; L_08827B7C: - ctx.gpr[31] = (0x08827B84u); + aot_gpr_31 = (0x08827B84u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0186_entry, 186u, 535u, 0x08AEE8D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08827B84u) goto L_08827B84; AOT_REGCACHE_SYNC_OUT(); return; @@ -7486,8 +7487,8 @@ L_08827B84: goto L_08827B90; L_08827B90: aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -7498,7 +7499,7 @@ L_08827BA0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7832))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (0u | 384u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); { const bool branch_taken = aot_gpr_4 == aot_gpr_16; // nop if (branch_taken) { @@ -7509,21 +7510,21 @@ L_08827BA0: L_08827BBC: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-5044))); aot_gpr_4 = (0u | 1u); - ctx.gpr[31] = (0x08827BCCu); + aot_gpr_31 = (0x08827BCCu); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08827BCCu) goto L_08827BCC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08827BCCu) goto L_08827BCC; AOT_REGCACHE_SYNC_OUT(); return; L_08827BCC: aot_gpr_4 = (0u | 8u); - ctx.gpr[31] = (0x08827BD8u); + aot_gpr_31 = (0x08827BD8u); aot_gpr_5 = (0u | 5u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08827BD8u) goto L_08827BD8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08827BD8u) goto L_08827BD8; AOT_REGCACHE_SYNC_OUT(); return; L_08827BD8: aot_gpr_4 = (0u | 9u); - ctx.gpr[31] = (0x08827BE4u); + aot_gpr_31 = (0x08827BE4u); aot_gpr_5 = (0u | 6u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08827BE4u) goto L_08827BE4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08827BE4u) goto L_08827BE4; AOT_REGCACHE_SYNC_OUT(); return; L_08827BE4: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7832))); @@ -7532,7 +7533,7 @@ L_08827BE4: aot_gpr_4 = (aot_gpr_4 + static_cast(9216)); aot_gpr_5 = (aot_gpr_5 + static_cast(-384)); aot_gpr_6 = (0u | 0u); - ctx.gpr[31] = (0x08827C04u); + aot_gpr_31 = (0x08827C04u); ctx.gpr[7] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0186_entry, 186u, 515u, 0x08AEE610u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08827C04u) goto L_08827C04; AOT_REGCACHE_SYNC_OUT(); return; @@ -7550,12 +7551,12 @@ L_08827C0C: aot_gpr_5 = (aot_gpr_4 + static_cast(12016)); aot_gpr_5 = (aot_gpr_5 + static_cast(1536)); aot_gpr_6 = (aot_gpr_6 + static_cast(-768)); - ctx.gpr[31] = (0x08827C28u); + aot_gpr_31 = (0x08827C28u); aot_gpr_4 = (0u | 3u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0186_entry, 186u, 536u, 0x08AEE8E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08827C28u) goto L_08827C28; AOT_REGCACHE_SYNC_OUT(); return; L_08827C28: - ctx.gpr[31] = (0x08827C30u); + aot_gpr_31 = (0x08827C30u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0186_entry, 186u, 535u, 0x08AEE8D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08827C30u) goto L_08827C30; AOT_REGCACHE_SYNC_OUT(); return; @@ -7566,8 +7567,8 @@ L_08827C30: goto L_08827C3C; L_08827C3C: aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -7581,7 +7582,7 @@ L_08827C4C: aot_gpr_4 = (aot_gpr_5 & 512u); aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -7616,7 +7617,7 @@ L_08827C8C: L_08827CA4: aot_gpr_5 = (aot_gpr_16 + static_cast(48)); aot_gpr_4 = (0u | 79u); - ctx.gpr[31] = (0x08827CB4u); + aot_gpr_31 = (0x08827CB4u); aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0018_entry, 18u, 46u, 0x0884C57Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08827CB4u) goto L_08827CB4; AOT_REGCACHE_SYNC_OUT(); return; @@ -7629,8 +7630,8 @@ L_08827CB4: goto L_08827CC8; L_08827CC8: aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -7639,12 +7640,12 @@ L_08827CC8: L_08827CD8: aot_gpr_29 = (aot_gpr_29 + static_cast(-64)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), aot_gpr_17); - aot_gpr_17 = (aot_gpr_5 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_5 | 0u); aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), aot_gpr_31); aot_gpr_6 = (static_cast(aot_gpr_5) < static_cast(aot_gpr_6) ? 1u : 0u); { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_4 = (0u | 0u); @@ -7742,7 +7743,7 @@ L_08827D84: L_08827D9C: aot_gpr_5 = (aot_gpr_16 + static_cast(48)); aot_gpr_4 = (0u | 79u); - ctx.gpr[31] = (0x08827DACu); + aot_gpr_31 = (0x08827DACu); aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0018_entry, 18u, 46u, 0x0884C57Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08827DACu) goto L_08827DAC; AOT_REGCACHE_SYNC_OUT(); return; @@ -7756,7 +7757,7 @@ L_08827DAC: { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_12)}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(16), aot_run_words); } aot_gpr_5 = (aot_gpr_29 + static_cast(16)); - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -7771,7 +7772,7 @@ L_08827DAC: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08827DECu); + aot_gpr_31 = (0x08827DECu); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0009_entry, 9u, 186u, 0x08829F60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08827DECu) goto L_08827DEC; AOT_REGCACHE_SYNC_OUT(); return; @@ -7779,10 +7780,10 @@ L_08827DEC: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(48), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; - ctx.gpr[31] = aot_run_words[2]; + ctx.gpr[17] = aot_run_words[1]; + aot_gpr_31 = aot_run_words[2]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(64)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -7794,7 +7795,7 @@ L_08827E00: aot_gpr_6 = (aot_gpr_6 & 512u); aot_gpr_6 = (0u < aot_gpr_6 ? 1u : 0u); aot_gpr_6 = (aot_gpr_6 & 255u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(100), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(100), aot_gpr_31); { const bool branch_taken = aot_gpr_6 == 0u; // nop if (branch_taken) { @@ -7918,7 +7919,7 @@ L_08827E70: const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - ctx.gpr[31] = (0x08827EC0u); + aot_gpr_31 = (0x08827EC0u); ctx.gpr[7] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0009_entry, 9u, 186u, 0x08829F60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08827EC0u) goto L_08827EC0; AOT_REGCACHE_SYNC_OUT(); return; @@ -7950,8 +7951,8 @@ L_08827EE0: aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(482), static_cast(aot_gpr_5)); goto L_08827EF4; L_08827EF4: - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(100))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(100))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(112)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -7987,7 +7988,7 @@ L_08827F00: aot_fpr_15 = ctx.fpr[22] + aot_fpr_12; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), aot_gpr_16); ctx.fpr[17] = std::bit_cast(ctx.gpr[7]); - { const std::uint32_t aot_run_words[9]{aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[9]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(52), aot_run_words); } if (aot_gpr_6 != 0u) { aot_gpr_4 = (0u | 49u); diff --git a/profiles/vcs/generated/generated_unit_0009.cpp b/profiles/vcs/generated/generated_unit_0009.cpp index 663bb0f..fb1ef2a 100644 --- a/profiles/vcs/generated/generated_unit_0009.cpp +++ b/profiles/vcs/generated/generated_unit_0009.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,7 +139,7 @@ static const std::uint16_t kEntryIds_recomp_unit_0009[4096] = { }; void recomp_unit_0009_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,6,16,31 fprs=12,13,14,15 gpr_occ=3991 fpr_occ=1171 gpr_total=5225 fpr_total=1659 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,6,16,31 fprs=12,13,14,15 gpr_occ=4048 fpr_occ=1171 gpr_total=5323 fpr_total=1659 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; @@ -1349,7 +1350,7 @@ L_08828590: L_088285F8: aot_gpr_31 = (0x08828600u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08828600u) goto L_08828600; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08828600u) goto L_08828600; AOT_REGCACHE_SYNC_OUT(); return; L_08828600: aot_fpr_12 = ctx.fpr[20] - ctx.fpr[24]; @@ -1357,7 +1358,7 @@ L_08828600: aot_fpr_12 = ctx.fpr[24] + aot_fpr_12; aot_gpr_31 = (0x08828614u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(96), std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08828614u) goto L_08828614; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08828614u) goto L_08828614; AOT_REGCACHE_SYNC_OUT(); return; L_08828614: aot_fpr_12 = ctx.fpr[20] - ctx.fpr[24]; @@ -1365,7 +1366,7 @@ L_08828614: aot_fpr_12 = ctx.fpr[24] + aot_fpr_12; aot_gpr_31 = (0x08828628u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(100), std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08828628u) goto L_08828628; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08828628u) goto L_08828628; AOT_REGCACHE_SYNC_OUT(); return; L_08828628: aot_fpr_12 = ctx.fpr[28] - ctx.fpr[26]; @@ -1373,7 +1374,7 @@ L_08828628: aot_fpr_12 = ctx.fpr[26] + aot_fpr_12; aot_gpr_31 = (0x0882863Cu); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(104), std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882863Cu) goto L_0882863C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882863Cu) goto L_0882863C; AOT_REGCACHE_SYNC_OUT(); return; L_0882863C: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30428))); @@ -1381,7 +1382,7 @@ L_0882863C: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08828650u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08828650u) goto L_08828650; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08828650u) goto L_08828650; AOT_REGCACHE_SYNC_OUT(); return; L_08828650: ctx.gpr[1] = (ctx.gpr[3] << 1u); @@ -1399,7 +1400,7 @@ L_08828650: aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-30441), static_cast(aot_gpr_4)); aot_gpr_31 = (0x0882868Cu); ctx.gpr[30] = (aot_gpr_5 & 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882868Cu) goto L_0882868C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882868Cu) goto L_0882868C; AOT_REGCACHE_SYNC_OUT(); return; L_0882868C: aot_fpr_12 = ctx.fpr[28] - ctx.fpr[22]; @@ -2571,7 +2572,7 @@ L_088291A0: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08829358u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08829358u) goto L_08829358; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08829358u) goto L_08829358; AOT_REGCACHE_SYNC_OUT(); return; L_08829358: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -2584,7 +2585,7 @@ L_08829358: ctx.fpr[28] = std::bit_cast(aot_gpr_4); aot_gpr_31 = (0x08829380u); { const float fs = aot_fpr_12; const float ft = ctx.fpr[28]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[30] = std::bit_cast(0x7FC00000u); else ctx.fpr[30] = fs * ft; } - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08829380u) goto L_08829380; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08829380u) goto L_08829380; AOT_REGCACHE_SYNC_OUT(); return; L_08829380: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -2893,7 +2894,7 @@ L_08829580: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(292), std::bit_cast(ctx.fpr[28])); aot_gpr_31 = (0x08829594u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08829594u) goto L_08829594; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08829594u) goto L_08829594; AOT_REGCACHE_SYNC_OUT(); return; L_08829594: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -2906,7 +2907,7 @@ L_08829594: ctx.fpr[28] = std::bit_cast(aot_gpr_4); aot_gpr_31 = (0x088295BCu); { const float fs = aot_fpr_12; const float ft = ctx.fpr[28]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[30] = std::bit_cast(0x7FC00000u); else ctx.fpr[30] = fs * ft; } - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088295BCu) goto L_088295BC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088295BCu) goto L_088295BC; AOT_REGCACHE_SYNC_OUT(); return; L_088295BC: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -2916,7 +2917,7 @@ L_088295BC: aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_13))); aot_gpr_31 = (0x088295D8u); { const float fs = aot_fpr_13; const float ft = ctx.fpr[28]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[24] = std::bit_cast(0x7FC00000u); else ctx.fpr[24] = fs * ft; } - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088295D8u) goto L_088295D8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088295D8u) goto L_088295D8; AOT_REGCACHE_SYNC_OUT(); return; L_088295D8: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -6788,7 +6789,7 @@ L_0882B3CC: L_0882B3F0: aot_gpr_31 = (0x0882B3F8u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-30412)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882B3F8u) goto L_0882B3F8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882B3F8u) goto L_0882B3F8; AOT_REGCACHE_SYNC_OUT(); return; L_0882B3F8: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -7706,7 +7707,7 @@ L_0882BB40: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(448))); aot_gpr_31 = (0x0882BB4Cu); aot_gpr_5 = (ctx.gpr[17] + static_cast(448)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882BB4Cu) goto L_0882BB4C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882BB4Cu) goto L_0882BB4C; AOT_REGCACHE_SYNC_OUT(); return; L_0882BB4C: aot_gpr_4 = (ctx.gpr[17] + static_cast(352)); diff --git a/profiles/vcs/generated/generated_unit_0010.cpp b/profiles/vcs/generated/generated_unit_0010.cpp index f7748f8..14334a2 100644 --- a/profiles/vcs/generated/generated_unit_0010.cpp +++ b/profiles/vcs/generated/generated_unit_0010.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,11 +139,11 @@ static const std::uint16_t kEntryIds_recomp_unit_0010[4092] = { }; void recomp_unit_0010_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,16,31,29,6 fprs=12,13,20,14 gpr_occ=4278 fpr_occ=275 gpr_total=5719 fpr_total=350 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,31,16,29,6 fprs=12,13,20,14 gpr_occ=4501 fpr_occ=275 gpr_total=6155 fpr_total=350 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; - std::uint32_t aot_gpr_16 = ctx.gpr[16]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; + std::uint32_t aot_gpr_16 = ctx.gpr[16]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_6 = ctx.gpr[6]; float aot_fpr_12 = ctx.fpr[12]; @@ -150,8 +151,8 @@ void recomp_unit_0010_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t dir float aot_fpr_20 = ctx.fpr[20]; float aot_fpr_14 = ctx.fpr[14]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[16] = aot_gpr_16; ctx.gpr[31] = aot_gpr_31; ctx.gpr[29] = aot_gpr_29; ctx.gpr[6] = aot_gpr_6; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; ctx.fpr[14] = aot_fpr_14; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_6 = ctx.gpr[6]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_14 = ctx.fpr[14]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[31] = aot_gpr_31; ctx.gpr[16] = aot_gpr_16; ctx.gpr[29] = aot_gpr_29; ctx.gpr[6] = aot_gpr_6; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; ctx.fpr[14] = aot_fpr_14; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_6 = ctx.gpr[6]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_14 = ctx.fpr[14]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -3197,7 +3198,7 @@ L_0882CE44: L_0882CE58: aot_gpr_31 = (0x0882CE60u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882CE60u) goto L_0882CE60; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882CE60u) goto L_0882CE60; AOT_REGCACHE_SYNC_OUT(); return; L_0882CE60: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -3627,7 +3628,7 @@ L_0882D1C8: L_0882D1D8: aot_gpr_31 = (0x0882D1E0u); ctx.gpr[20] = (aot_gpr_16 + static_cast(112)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882D1E0u) goto L_0882D1E0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882D1E0u) goto L_0882D1E0; AOT_REGCACHE_SYNC_OUT(); return; L_0882D1E0: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -3637,7 +3638,7 @@ L_0882D1E0: aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_gpr_31 = (0x0882D1FCu); { const float fs = aot_fpr_12; const float ft = ctx.fpr[22]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[28] = std::bit_cast(0x7FC00000u); else ctx.fpr[28] = fs * ft; } - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882D1FCu) goto L_0882D1FC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882D1FCu) goto L_0882D1FC; AOT_REGCACHE_SYNC_OUT(); return; L_0882D1FC: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -3804,7 +3805,7 @@ L_0882D354: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(216), std::bit_cast(aot_fpr_13)); aot_gpr_31 = (0x0882D360u); ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(208))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882D360u) goto L_0882D360; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882D360u) goto L_0882D360; AOT_REGCACHE_SYNC_OUT(); return; L_0882D360: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -3820,7 +3821,7 @@ L_0882D360: aot_fpr_12 = ctx.fpr[22] + aot_fpr_12; aot_gpr_31 = (0x0882D394u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(208), std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882D394u) goto L_0882D394; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882D394u) goto L_0882D394; AOT_REGCACHE_SYNC_OUT(); return; L_0882D394: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -3846,7 +3847,7 @@ L_0882D3C0: L_0882D3D0: aot_gpr_31 = (0x0882D3D8u); ctx.gpr[17] = (aot_gpr_16 + static_cast(112)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882D3D8u) goto L_0882D3D8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882D3D8u) goto L_0882D3D8; AOT_REGCACHE_SYNC_OUT(); return; L_0882D3D8: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -3859,7 +3860,7 @@ L_0882D3D8: ctx.fpr[22] = std::bit_cast(aot_gpr_4); aot_gpr_31 = (0x0882D400u); { const float fs = aot_fpr_12; const float ft = ctx.fpr[22]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[24] = std::bit_cast(0x7FC00000u); else ctx.fpr[24] = fs * ft; } - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882D400u) goto L_0882D400; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882D400u) goto L_0882D400; AOT_REGCACHE_SYNC_OUT(); return; L_0882D400: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -4272,7 +4273,7 @@ L_0882D724: L_0882D734: aot_gpr_31 = (0x0882D73Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882D73Cu) goto L_0882D73C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882D73Cu) goto L_0882D73C; AOT_REGCACHE_SYNC_OUT(); return; L_0882D73C: ctx.gpr[21] = (ctx.gpr[21] + static_cast(4)); @@ -4299,7 +4300,7 @@ L_0882D74C: L_0882D754: aot_gpr_31 = (0x0882D75Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882D75Cu) goto L_0882D75C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882D75Cu) goto L_0882D75C; AOT_REGCACHE_SYNC_OUT(); return; L_0882D75C: aot_gpr_4 = (ctx.gpr[17] << 2u); @@ -4504,7 +4505,7 @@ L_0882D92C: L_0882D93C: aot_gpr_31 = (0x0882D944u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882D944u) goto L_0882D944; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882D944u) goto L_0882D944; AOT_REGCACHE_SYNC_OUT(); return; L_0882D944: ctx.gpr[2] = (aot_gpr_16 | 0u); @@ -4594,7 +4595,7 @@ L_0882D9CC: L_0882D9D4: aot_gpr_31 = (0x0882D9DCu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882D9DCu) goto L_0882D9DC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882D9DCu) goto L_0882D9DC; AOT_REGCACHE_SYNC_OUT(); return; L_0882D9DC: { const bool branch_taken = ctx.gpr[18] == 0u; @@ -4632,7 +4633,7 @@ L_0882D9F8: L_0882DA00: aot_gpr_31 = (0x0882DA08u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882DA08u) goto L_0882DA08; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882DA08u) goto L_0882DA08; AOT_REGCACHE_SYNC_OUT(); return; L_0882DA08: { const bool branch_taken = ctx.gpr[17] == 0u; @@ -4662,7 +4663,7 @@ L_0882DA20: L_0882DA28: aot_gpr_31 = (0x0882DA30u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882DA30u) goto L_0882DA30; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882DA30u) goto L_0882DA30; AOT_REGCACHE_SYNC_OUT(); return; L_0882DA30: { std::uint32_t aot_run_words[5]{}; @@ -7080,7 +7081,7 @@ L_0882EAFC: L_0882EB08: aot_gpr_31 = (0x0882EB10u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-30272)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882EB10u) goto L_0882EB10; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882EB10u) goto L_0882EB10; AOT_REGCACHE_SYNC_OUT(); return; L_0882EB10: aot_gpr_4 = (ctx.gpr[17] | 0u); @@ -7105,7 +7106,7 @@ L_0882EB2C: L_0882EB38: aot_gpr_31 = (0x0882EB40u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-30272)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882EB40u) goto L_0882EB40; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882EB40u) goto L_0882EB40; AOT_REGCACHE_SYNC_OUT(); return; L_0882EB40: aot_gpr_4 = (0u | 0u); @@ -7189,7 +7190,7 @@ L_0882EBE4: L_0882EBF0: aot_gpr_31 = (0x0882EBF8u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882EBF8u) goto L_0882EBF8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882EBF8u) goto L_0882EBF8; AOT_REGCACHE_SYNC_OUT(); return; L_0882EBF8: ctx.gpr[20] = (ctx.gpr[19] | 0u); @@ -7358,7 +7359,7 @@ L_0882ED28: L_0882ED34: aot_gpr_31 = (0x0882ED3Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882ED3Cu) goto L_0882ED3C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882ED3Cu) goto L_0882ED3C; AOT_REGCACHE_SYNC_OUT(); return; L_0882ED3C: ctx.gpr[20] = (ctx.gpr[19] | 0u); @@ -7686,7 +7687,7 @@ L_0882EF6C: L_0882EF78: aot_gpr_31 = (0x0882EF80u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882EF80u) goto L_0882EF80; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882EF80u) goto L_0882EF80; AOT_REGCACHE_SYNC_OUT(); return; L_0882EF80: aot_gpr_4 = (ctx.gpr[17] << 2u); @@ -7906,7 +7907,7 @@ L_0882F118: L_0882F124: aot_gpr_31 = (0x0882F12Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882F12Cu) goto L_0882F12C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882F12Cu) goto L_0882F12C; AOT_REGCACHE_SYNC_OUT(); return; L_0882F12C: aot_gpr_4 = (ctx.gpr[17] << 2u); @@ -8174,7 +8175,7 @@ L_0882F2F0: L_0882F300: aot_gpr_31 = (0x0882F308u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-30272)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882F308u) goto L_0882F308; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882F308u) goto L_0882F308; AOT_REGCACHE_SYNC_OUT(); return; L_0882F308: aot_gpr_4 = (ctx.gpr[20] | 0u); @@ -8580,7 +8581,7 @@ L_0882F688: L_0882F694: aot_gpr_31 = (0x0882F69Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882F69Cu) goto L_0882F69C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882F69Cu) goto L_0882F69C; AOT_REGCACHE_SYNC_OUT(); return; L_0882F69C: { const bool branch_taken = 0u == 0u; @@ -8711,7 +8712,7 @@ L_0882F788: L_0882F794: aot_gpr_31 = (0x0882F79Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882F79Cu) goto L_0882F79C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882F79Cu) goto L_0882F79C; AOT_REGCACHE_SYNC_OUT(); return; L_0882F79C: { const bool branch_taken = ctx.gpr[17] == 0u; @@ -8850,7 +8851,7 @@ L_0882F86C: L_0882F878: aot_gpr_31 = (0x0882F880u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882F880u) goto L_0882F880; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882F880u) goto L_0882F880; AOT_REGCACHE_SYNC_OUT(); return; L_0882F880: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); @@ -8866,7 +8867,7 @@ L_0882F884: L_0882F88C: aot_gpr_31 = (0x0882F894u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882F894u) goto L_0882F894; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882F894u) goto L_0882F894; AOT_REGCACHE_SYNC_OUT(); return; L_0882F894: { const bool branch_taken = 0u == 0u; @@ -8932,7 +8933,7 @@ L_0882F900: L_0882F90C: aot_gpr_31 = (0x0882F914u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882F914u) goto L_0882F914; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882F914u) goto L_0882F914; AOT_REGCACHE_SYNC_OUT(); return; L_0882F914: { const bool branch_taken = ctx.gpr[17] == 0u; @@ -9071,7 +9072,7 @@ L_0882F9E4: L_0882F9F0: aot_gpr_31 = (0x0882F9F8u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882F9F8u) goto L_0882F9F8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882F9F8u) goto L_0882F9F8; AOT_REGCACHE_SYNC_OUT(); return; L_0882F9F8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); @@ -9087,7 +9088,7 @@ L_0882F9FC: L_0882FA04: aot_gpr_31 = (0x0882FA0Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882FA0Cu) goto L_0882FA0C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882FA0Cu) goto L_0882FA0C; AOT_REGCACHE_SYNC_OUT(); return; L_0882FA0C: { const bool branch_taken = 0u == 0u; @@ -9151,7 +9152,7 @@ L_0882FA78: L_0882FA84: aot_gpr_31 = (0x0882FA8Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882FA8Cu) goto L_0882FA8C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882FA8Cu) goto L_0882FA8C; AOT_REGCACHE_SYNC_OUT(); return; L_0882FA8C: { const bool branch_taken = ctx.gpr[17] == 0u; @@ -9290,7 +9291,7 @@ L_0882FB5C: L_0882FB68: aot_gpr_31 = (0x0882FB70u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882FB70u) goto L_0882FB70; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882FB70u) goto L_0882FB70; AOT_REGCACHE_SYNC_OUT(); return; L_0882FB70: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(112))); @@ -9306,7 +9307,7 @@ L_0882FB74: L_0882FB7C: aot_gpr_31 = (0x0882FB84u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882FB84u) goto L_0882FB84; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882FB84u) goto L_0882FB84; AOT_REGCACHE_SYNC_OUT(); return; L_0882FB84: aot_gpr_4 = (aot_gpr_29 + static_cast(128)); @@ -9340,7 +9341,7 @@ L_0882FBBC: L_0882FBC8: aot_gpr_31 = (0x0882FBD0u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882FBD0u) goto L_0882FBD0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882FBD0u) goto L_0882FBD0; AOT_REGCACHE_SYNC_OUT(); return; L_0882FBD0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(128))); @@ -9356,7 +9357,7 @@ L_0882FBD4: L_0882FBDC: aot_gpr_31 = (0x0882FBE4u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882FBE4u) goto L_0882FBE4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882FBE4u) goto L_0882FBE4; AOT_REGCACHE_SYNC_OUT(); return; L_0882FBE4: { const bool branch_taken = 0u == 0u; @@ -9497,7 +9498,7 @@ L_0882FD10: L_0882FD1C: aot_gpr_31 = (0x0882FD24u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882FD24u) goto L_0882FD24; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882FD24u) goto L_0882FD24; AOT_REGCACHE_SYNC_OUT(); return; L_0882FD24: aot_gpr_5 = (ctx.gpr[28] + static_cast(-30052)); @@ -9535,7 +9536,7 @@ L_0882FD64: L_0882FD70: aot_gpr_31 = (0x0882FD78u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882FD78u) goto L_0882FD78; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882FD78u) goto L_0882FD78; AOT_REGCACHE_SYNC_OUT(); return; L_0882FD78: ctx.gpr[17] = (aot_gpr_16 | 0u); @@ -9732,7 +9733,7 @@ L_0882FEB4: L_0882FEC0: aot_gpr_31 = (0x0882FEC8u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882FEC8u) goto L_0882FEC8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882FEC8u) goto L_0882FEC8; AOT_REGCACHE_SYNC_OUT(); return; L_0882FEC8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); @@ -9748,7 +9749,7 @@ L_0882FECC: L_0882FED4: aot_gpr_31 = (0x0882FEDCu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882FEDCu) goto L_0882FEDC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882FEDCu) goto L_0882FEDC; AOT_REGCACHE_SYNC_OUT(); return; L_0882FEDC: aot_gpr_4 = (ctx.gpr[21] | 0u); @@ -9782,7 +9783,7 @@ L_0882FF14: L_0882FF20: aot_gpr_31 = (0x0882FF28u); aot_gpr_4 = (ctx.gpr[30] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882FF28u) goto L_0882FF28; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882FF28u) goto L_0882FF28; AOT_REGCACHE_SYNC_OUT(); return; L_0882FF28: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(32))); @@ -9798,7 +9799,7 @@ L_0882FF2C: L_0882FF34: aot_gpr_31 = (0x0882FF3Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882FF3Cu) goto L_0882FF3C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882FF3Cu) goto L_0882FF3C; AOT_REGCACHE_SYNC_OUT(); return; L_0882FF3C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5880))); @@ -9866,7 +9867,7 @@ L_0882FFB4: L_0882FFC0: aot_gpr_31 = (0x0882FFC8u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882FFC8u) goto L_0882FFC8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882FFC8u) goto L_0882FFC8; AOT_REGCACHE_SYNC_OUT(); return; L_0882FFC8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(48))); @@ -9882,7 +9883,7 @@ L_0882FFCC: L_0882FFD4: aot_gpr_31 = (0x0882FFDCu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882FFDCu) goto L_0882FFDC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0882FFDCu) goto L_0882FFDC; AOT_REGCACHE_SYNC_OUT(); return; L_0882FFDC: aot_gpr_4 = (ctx.gpr[20] | 0u); diff --git a/profiles/vcs/generated/generated_unit_0011.cpp b/profiles/vcs/generated/generated_unit_0011.cpp index df4ee5e..5d1514b 100644 --- a/profiles/vcs/generated/generated_unit_0011.cpp +++ b/profiles/vcs/generated/generated_unit_0011.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,7 +139,7 @@ static const std::uint16_t kEntryIds_recomp_unit_0011[4095] = { }; void recomp_unit_0011_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,31,6,16 fprs=12,13,20,0 gpr_occ=4071 fpr_occ=641 gpr_total=5276 fpr_total=876 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,31,6,16 fprs=12,13,20,0 gpr_occ=4221 fpr_occ=641 gpr_total=5543 fpr_total=876 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; @@ -1055,7 +1056,7 @@ L_08830014: L_08830020: aot_gpr_31 = (0x08830028u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08830028u) goto L_08830028; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08830028u) goto L_08830028; AOT_REGCACHE_SYNC_OUT(); return; L_08830028: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); @@ -1071,7 +1072,7 @@ L_0883002C: L_08830034: aot_gpr_31 = (0x0883003Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883003Cu) goto L_0883003C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883003Cu) goto L_0883003C; AOT_REGCACHE_SYNC_OUT(); return; L_0883003C: { const bool branch_taken = 0u == 0u; @@ -1118,7 +1119,7 @@ L_0883008C: L_08830098: aot_gpr_31 = (0x088300A0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088300A0u) goto L_088300A0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088300A0u) goto L_088300A0; AOT_REGCACHE_SYNC_OUT(); return; L_088300A0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(80))); @@ -1134,7 +1135,7 @@ L_088300A4: L_088300AC: aot_gpr_31 = (0x088300B4u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088300B4u) goto L_088300B4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088300B4u) goto L_088300B4; AOT_REGCACHE_SYNC_OUT(); return; L_088300B4: aot_gpr_4 = (ctx.gpr[20] | 0u); @@ -1169,7 +1170,7 @@ L_088300EC: L_088300F8: aot_gpr_31 = (0x08830100u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08830100u) goto L_08830100; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08830100u) goto L_08830100; AOT_REGCACHE_SYNC_OUT(); return; L_08830100: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(96))); @@ -1185,7 +1186,7 @@ L_08830104: L_0883010C: aot_gpr_31 = (0x08830114u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08830114u) goto L_08830114; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08830114u) goto L_08830114; AOT_REGCACHE_SYNC_OUT(); return; L_08830114: aot_gpr_31 = (0x0883011Cu); @@ -1750,7 +1751,7 @@ L_08830424: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08830440u); ctx.fpr[22] = std::bit_cast(std::bit_cast(aot_fpr_13)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08830440u) goto L_08830440; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08830440u) goto L_08830440; AOT_REGCACHE_SYNC_OUT(); return; L_08830440: ctx.fpr[14] = ctx.fpr[22] - aot_fpr_20; @@ -2213,7 +2214,7 @@ L_08830770: L_08830778: aot_gpr_31 = (0x08830780u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08830780u) goto L_08830780; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08830780u) goto L_08830780; AOT_REGCACHE_SYNC_OUT(); return; L_08830780: { std::uint32_t aot_run_words[3]{}; @@ -2624,7 +2625,7 @@ L_08830A78: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); aot_gpr_31 = (0x08830A88u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08830A88u) goto L_08830A88; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08830A88u) goto L_08830A88; AOT_REGCACHE_SYNC_OUT(); return; L_08830A88: ctx.gpr[2] = (ctx.gpr[2] & 65535u); @@ -2645,7 +2646,7 @@ L_08830A98: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); aot_gpr_31 = (0x08830ABCu); ctx.gpr[19] = (static_cast(static_cast(ctx.gpr[18]) >> 31u)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08830ABCu) goto L_08830ABC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08830ABCu) goto L_08830ABC; AOT_REGCACHE_SYNC_OUT(); return; L_08830ABC: aot_gpr_6 = (ctx.gpr[17] - ctx.gpr[18]); @@ -2653,7 +2654,7 @@ L_08830ABC: aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08830AD0u); ctx.gpr[7] = (static_cast(static_cast(aot_gpr_6) >> 31u)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08830AD0u) goto L_08830AD0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08830AD0u) goto L_08830AD0; AOT_REGCACHE_SYNC_OUT(); return; L_08830AD0: ctx.gpr[1] = (ctx.gpr[3] << 1u); @@ -3348,7 +3349,7 @@ L_08830E98: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x08830EB4u); aot_gpr_6 = (0u | 48u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08830EB4u) goto L_08830EB4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08830EB4u) goto L_08830EB4; AOT_REGCACHE_SYNC_OUT(); return; L_08830EB4: ctx.gpr[2] = (aot_gpr_16 | 0u); @@ -3533,7 +3534,7 @@ L_08830FD8: L_08830FE4: aot_gpr_31 = (0x08830FECu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08830FECu) goto L_08830FEC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08830FECu) goto L_08830FEC; AOT_REGCACHE_SYNC_OUT(); return; L_08830FEC: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -3933,7 +3934,7 @@ L_08831330: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(72), aot_gpr_5); aot_gpr_31 = (0x0883135Cu); aot_gpr_4 = (ctx.gpr[28] + static_cast(-29764)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883135Cu) goto L_0883135C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883135Cu) goto L_0883135C; AOT_REGCACHE_SYNC_OUT(); return; L_0883135C: { const bool branch_taken = ctx.gpr[17] == 0u; @@ -6017,7 +6018,7 @@ L_08832260: ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(20))); aot_gpr_31 = (0x0883226Cu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883226Cu) goto L_0883226C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B01E00, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883226Cu) goto L_0883226C; AOT_REGCACHE_SYNC_OUT(); return; L_0883226C: aot_gpr_4 = (0u | 3u); @@ -6031,7 +6032,7 @@ L_0883226C: L_08832278: aot_gpr_31 = (0x08832280u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08832280u) goto L_08832280; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B01E00, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08832280u) goto L_08832280; AOT_REGCACHE_SYNC_OUT(); return; L_08832280: aot_gpr_4 = (0u | 5u); @@ -6647,7 +6648,7 @@ L_088326EC: aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-29780))); aot_gpr_31 = (0x088326F8u); ctx.fpr[22] = std::bit_cast(std::bit_cast(aot_fpr_20) ^ 0x80000000u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088326F8u) goto L_088326F8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088326F8u) goto L_088326F8; AOT_REGCACHE_SYNC_OUT(); return; L_088326F8: aot_fpr_12 = aot_fpr_20 - ctx.fpr[22]; @@ -6685,7 +6686,7 @@ L_08832734: aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-29780))); aot_gpr_31 = (0x08832740u); ctx.fpr[22] = std::bit_cast(std::bit_cast(aot_fpr_20) ^ 0x80000000u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08832740u) goto L_08832740; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08832740u) goto L_08832740; AOT_REGCACHE_SYNC_OUT(); return; L_08832740: aot_fpr_12 = aot_fpr_20 - ctx.fpr[22]; @@ -8825,7 +8826,7 @@ L_08833794: L_088337B8: aot_gpr_31 = (0x088337C0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088337C0u) goto L_088337C0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088337C0u) goto L_088337C0; AOT_REGCACHE_SYNC_OUT(); return; L_088337C0: { const bool branch_taken = ctx.gpr[2] != 0u; @@ -8955,7 +8956,7 @@ L_08833890: L_088338AC: aot_gpr_31 = (0x088338B4u); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088338B4u) goto L_088338B4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088338B4u) goto L_088338B4; AOT_REGCACHE_SYNC_OUT(); return; L_088338B4: { const bool branch_taken = ctx.gpr[2] != 0u; @@ -9103,7 +9104,7 @@ L_088339D8: L_088339F4: aot_gpr_31 = (0x088339FCu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088339FCu) goto L_088339FC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088339FCu) goto L_088339FC; AOT_REGCACHE_SYNC_OUT(); return; L_088339FC: aot_fpr_12 = ctx.fpr[26] - ctx.fpr[22]; @@ -9111,7 +9112,7 @@ L_088339FC: aot_fpr_12 = ctx.fpr[22] + aot_fpr_12; aot_gpr_31 = (0x08833A10u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08833A10u) goto L_08833A10; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08833A10u) goto L_08833A10; AOT_REGCACHE_SYNC_OUT(); return; L_08833A10: aot_fpr_13 = ctx.fpr[26] - ctx.fpr[22]; @@ -9195,7 +9196,7 @@ L_08833AB4: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_31 = (0x08833AC4u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08833AC4u) goto L_08833AC4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08833AC4u) goto L_08833AC4; AOT_REGCACHE_SYNC_OUT(); return; L_08833AC4: aot_fpr_12 = ctx.fpr[24] - ctx.fpr[22]; @@ -9205,7 +9206,7 @@ L_08833AC4: aot_fpr_12 = aot_fpr_13 + aot_fpr_12; aot_gpr_31 = (0x08833AE0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08833AE0u) goto L_08833AE0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08833AE0u) goto L_08833AE0; AOT_REGCACHE_SYNC_OUT(); return; L_08833AE0: aot_fpr_12 = ctx.fpr[24] - ctx.fpr[22]; @@ -9293,7 +9294,7 @@ L_08833BC0: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(148), aot_gpr_16); aot_gpr_31 = (0x08833BCCu); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(144), ctx.gpr[19]); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08833BCCu) goto L_08833BCC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08833BCCu) goto L_08833BCC; AOT_REGCACHE_SYNC_OUT(); return; L_08833BCC: aot_fpr_12 = ctx.fpr[24] - ctx.fpr[22]; @@ -9301,7 +9302,7 @@ L_08833BCC: aot_fpr_12 = ctx.fpr[22] + aot_fpr_12; aot_gpr_31 = (0x08833BE0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(96), std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08833BE0u) goto L_08833BE0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08833BE0u) goto L_08833BE0; AOT_REGCACHE_SYNC_OUT(); return; L_08833BE0: aot_fpr_12 = ctx.fpr[24] - ctx.fpr[22]; @@ -9309,7 +9310,7 @@ L_08833BE0: aot_fpr_12 = ctx.fpr[22] + aot_fpr_12; aot_gpr_31 = (0x08833BF4u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(100), std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08833BF4u) goto L_08833BF4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08833BF4u) goto L_08833BF4; AOT_REGCACHE_SYNC_OUT(); return; L_08833BF4: aot_fpr_12 = ctx.fpr[24] - aot_fpr_20; @@ -9317,7 +9318,7 @@ L_08833BF4: aot_fpr_12 = aot_fpr_20 + aot_fpr_12; aot_gpr_31 = (0x08833C08u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(104), std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08833C08u) goto L_08833C08; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08833C08u) goto L_08833C08; AOT_REGCACHE_SYNC_OUT(); return; L_08833C08: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-29748))); @@ -9325,7 +9326,7 @@ L_08833C08: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08833C1Cu); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08833C1Cu) goto L_08833C1C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08833C1Cu) goto L_08833C1C; AOT_REGCACHE_SYNC_OUT(); return; L_08833C1C: ctx.gpr[1] = (ctx.gpr[3] << 1u); @@ -9334,7 +9335,7 @@ L_08833C1C: aot_gpr_4 = (ctx.gpr[1] | aot_gpr_4); aot_gpr_31 = (0x08833C34u); ctx.gpr[19] = (aot_gpr_4 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08833C34u) goto L_08833C34; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08833C34u) goto L_08833C34; AOT_REGCACHE_SYNC_OUT(); return; L_08833C34: aot_gpr_4 = (ctx.gpr[2] | 0u); @@ -9342,7 +9343,7 @@ L_08833C34: ctx.gpr[7] = (ctx.gpr[23] | 0u); aot_gpr_31 = (0x08833C48u); aot_gpr_6 = (ctx.gpr[22] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08833C48u) goto L_08833C48; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08833C48u) goto L_08833C48; AOT_REGCACHE_SYNC_OUT(); return; L_08833C48: ctx.gpr[1] = (ctx.gpr[3] << 1u); @@ -9356,7 +9357,7 @@ L_08833C48: aot_gpr_4 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x08833C74u); aot_gpr_16 = (aot_gpr_4 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08833C74u) goto L_08833C74; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08833C74u) goto L_08833C74; AOT_REGCACHE_SYNC_OUT(); return; L_08833C74: aot_fpr_12 = ctx.fpr[28] - ctx.fpr[26]; diff --git a/profiles/vcs/generated/generated_unit_0012.cpp b/profiles/vcs/generated/generated_unit_0012.cpp index 6a60108..53c2ba7 100644 --- a/profiles/vcs/generated/generated_unit_0012.cpp +++ b/profiles/vcs/generated/generated_unit_0012.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0012[4093] = { }; void recomp_unit_0012_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,18,6,16 fprs=12,13,20,14 gpr_occ=3464 fpr_occ=1389 gpr_total=4627 fpr_total=1795 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,6,31,18 fprs=12,13,20,14 gpr_occ=3540 fpr_occ=1390 gpr_total=4803 fpr_total=1796 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; - std::uint32_t aot_gpr_18 = ctx.gpr[18]; std::uint32_t aot_gpr_6 = ctx.gpr[6]; - std::uint32_t aot_gpr_16 = ctx.gpr[16]; + std::uint32_t aot_gpr_31 = ctx.gpr[31]; + std::uint32_t aot_gpr_18 = ctx.gpr[18]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_20 = ctx.fpr[20]; float aot_fpr_14 = ctx.fpr[14]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[18] = aot_gpr_18; ctx.gpr[6] = aot_gpr_6; ctx.gpr[16] = aot_gpr_16; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; ctx.fpr[14] = aot_fpr_14; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_18 = ctx.gpr[18]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_16 = ctx.gpr[16]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_14 = ctx.fpr[14]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[6] = aot_gpr_6; ctx.gpr[31] = aot_gpr_31; ctx.gpr[18] = aot_gpr_18; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; ctx.fpr[14] = aot_fpr_14; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_18 = ctx.gpr[18]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_14 = ctx.fpr[14]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -772,9 +773,9 @@ LOCAL_DISPATCH: } } L_08834000: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(320))); aot_gpr_4 = (48460u << 16u); @@ -808,9 +809,9 @@ L_08834064: aot_fpr_20 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (15820u << 16u); aot_gpr_4 = (aot_gpr_4 | 52429u); - ctx.gpr[31] = (0x08834080u); + aot_gpr_31 = (0x08834080u); ctx.fpr[22] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08834080u) goto L_08834080; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08834080u) goto L_08834080; AOT_REGCACHE_SYNC_OUT(); return; L_08834080: aot_fpr_12 = ctx.fpr[22] - aot_fpr_20; @@ -821,9 +822,9 @@ L_08834080: ctx.fpr[24] = std::bit_cast(aot_gpr_4); aot_gpr_4 = (15733u << 16u); aot_gpr_4 = (aot_gpr_4 | 49807u); - ctx.gpr[31] = (0x088340A8u); + aot_gpr_31 = (0x088340A8u); ctx.fpr[22] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088340A8u) goto L_088340A8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088340A8u) goto L_088340A8; AOT_REGCACHE_SYNC_OUT(); return; L_088340A8: aot_fpr_12 = ctx.fpr[22] - ctx.fpr[24]; @@ -839,7 +840,7 @@ L_088340A8: ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[11] = (0u | 0u); - ctx.gpr[31] = (0x088340E4u); + aot_gpr_31 = (0x088340E4u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0063_entry, 63u, 90u, 0x0890043Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088340E4u) goto L_088340E4; AOT_REGCACHE_SYNC_OUT(); return; @@ -862,11 +863,11 @@ L_088340F4: goto L_088340FC; } L_088340FC: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(72), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(320))); aot_gpr_4 = (48460u << 16u); @@ -898,9 +899,9 @@ L_08834160: aot_fpr_20 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (15800u << 16u); aot_gpr_4 = (aot_gpr_4 | 20972u); - ctx.gpr[31] = (0x0883417Cu); + aot_gpr_31 = (0x0883417Cu); ctx.fpr[22] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883417Cu) goto L_0883417C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883417Cu) goto L_0883417C; AOT_REGCACHE_SYNC_OUT(); return; L_0883417C: aot_fpr_12 = ctx.fpr[22] - aot_fpr_20; @@ -911,9 +912,9 @@ L_0883417C: ctx.fpr[24] = std::bit_cast(aot_gpr_4); aot_gpr_4 = (15733u << 16u); aot_gpr_4 = (aot_gpr_4 | 49807u); - ctx.gpr[31] = (0x088341A4u); + aot_gpr_31 = (0x088341A4u); ctx.fpr[22] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088341A4u) goto L_088341A4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088341A4u) goto L_088341A4; AOT_REGCACHE_SYNC_OUT(); return; L_088341A4: aot_fpr_12 = ctx.fpr[22] - ctx.fpr[24]; @@ -929,7 +930,7 @@ L_088341A4: ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[11] = (0u | 0u); - ctx.gpr[31] = (0x088341E0u); + aot_gpr_31 = (0x088341E0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0063_entry, 63u, 90u, 0x0890043Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088341E0u) goto L_088341E0; AOT_REGCACHE_SYNC_OUT(); return; @@ -952,11 +953,11 @@ L_088341F0: goto L_088341F8; } L_088341F8: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(112), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(116), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(120), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(320))); aot_gpr_4 = (48460u << 16u); @@ -990,9 +991,9 @@ L_08834264: aot_fpr_20 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (15733u << 16u); aot_gpr_4 = (aot_gpr_4 | 49807u); - ctx.gpr[31] = (0x08834280u); + aot_gpr_31 = (0x08834280u); ctx.fpr[22] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08834280u) goto L_08834280; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08834280u) goto L_08834280; AOT_REGCACHE_SYNC_OUT(); return; L_08834280: aot_fpr_12 = ctx.fpr[22] - aot_fpr_20; @@ -1000,9 +1001,9 @@ L_08834280: aot_fpr_20 = aot_fpr_20 + aot_fpr_12; aot_gpr_4 = (15605u << 16u); aot_gpr_4 = (aot_gpr_4 | 49807u); - ctx.gpr[31] = (0x0883429Cu); + aot_gpr_31 = (0x0883429Cu); ctx.fpr[24] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883429Cu) goto L_0883429C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883429Cu) goto L_0883429C; AOT_REGCACHE_SYNC_OUT(); return; L_0883429C: aot_fpr_13 = ctx.fpr[22] - ctx.fpr[24]; @@ -1018,7 +1019,7 @@ L_0883429C: ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[11] = (0u | 0u); - ctx.gpr[31] = (0x088342D8u); + aot_gpr_31 = (0x088342D8u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0063_entry, 63u, 90u, 0x0890043Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088342D8u) goto L_088342D8; AOT_REGCACHE_SYNC_OUT(); return; @@ -1066,9 +1067,9 @@ L_08834318: aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7888))); aot_gpr_4 = (16257u << 16u); aot_gpr_4 = (aot_gpr_4 | 18350u); - ctx.gpr[31] = (0x0883432Cu); + aot_gpr_31 = (0x0883432Cu); ctx.fpr[22] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883432Cu) goto L_0883432C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883432Cu) goto L_0883432C; AOT_REGCACHE_SYNC_OUT(); return; L_0883432C: aot_fpr_12 = ctx.fpr[22] - aot_fpr_20; @@ -1094,11 +1095,11 @@ L_08834350: goto L_08834358; } L_08834358: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(160), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(164), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(168), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(320))); aot_gpr_4 = (16128u << 16u); @@ -1116,8 +1117,8 @@ L_08834358: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(194), static_cast(aot_gpr_4)); aot_gpr_4 = (0u | 255u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(195), static_cast(aot_gpr_4)); - aot_gpr_16 = (0u | 0u); - aot_gpr_4 = (static_cast(aot_gpr_16) < 1 ? 1u : 0u); + ctx.gpr[16] = (0u | 0u); + aot_gpr_4 = (static_cast(ctx.gpr[16]) < 1 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -1148,9 +1149,9 @@ L_088343C0: ctx.fpr[22] = std::bit_cast(aot_gpr_4); aot_gpr_4 = (15713u << 16u); aot_gpr_4 = (aot_gpr_4 | 18350u); - ctx.gpr[31] = (0x08834400u); + aot_gpr_31 = (0x08834400u); ctx.fpr[24] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08834400u) goto L_08834400; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08834400u) goto L_08834400; AOT_REGCACHE_SYNC_OUT(); return; L_08834400: aot_fpr_12 = ctx.fpr[24] - ctx.fpr[22]; @@ -1166,13 +1167,13 @@ L_08834400: ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[11] = (0u | 0u); - ctx.gpr[31] = (0x0883443Cu); + aot_gpr_31 = (0x0883443Cu); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0063_entry, 63u, 90u, 0x0890043Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883443Cu) goto L_0883443C; AOT_REGCACHE_SYNC_OUT(); return; L_0883443C: - aot_gpr_16 = (aot_gpr_16 + static_cast(1)); - aot_gpr_4 = (static_cast(aot_gpr_16) < 1 ? 1u : 0u); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(1)); + aot_gpr_4 = (static_cast(ctx.gpr[16]) < 1 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -1203,11 +1204,11 @@ L_08834454: goto L_08834474; } L_08834474: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(208), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(212), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(216), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (16000u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); @@ -1239,9 +1240,9 @@ L_088344C4: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_16 = (aot_gpr_29 + static_cast(240)); + ctx.gpr[16] = (aot_gpr_29 + static_cast(240)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(248))); @@ -1254,9 +1255,9 @@ L_088344C4: aot_fpr_20 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (15651u << 16u); aot_gpr_4 = (aot_gpr_4 | 55050u); - ctx.gpr[31] = (0x08834504u); + aot_gpr_31 = (0x08834504u); ctx.fpr[22] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08834504u) goto L_08834504; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08834504u) goto L_08834504; AOT_REGCACHE_SYNC_OUT(); return; L_08834504: aot_fpr_12 = ctx.fpr[22] - aot_fpr_20; @@ -1269,9 +1270,9 @@ L_08834504: aot_gpr_4 = (aot_gpr_4 | 52429u); ctx.fpr[24] = std::bit_cast(aot_gpr_4); aot_gpr_4 = (16128u << 16u); - ctx.gpr[31] = (0x08834538u); + aot_gpr_31 = (0x08834538u); ctx.fpr[22] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08834538u) goto L_08834538; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08834538u) goto L_08834538; AOT_REGCACHE_SYNC_OUT(); return; L_08834538: aot_fpr_12 = ctx.fpr[22] - ctx.fpr[24]; @@ -1279,13 +1280,13 @@ L_08834538: aot_fpr_12 = ctx.fpr[24] + aot_fpr_12; ctx.gpr[8] = (aot_gpr_29 + static_cast(224)); aot_gpr_4 = (0u | 39u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_6 = (aot_gpr_29 + static_cast(256)); ctx.gpr[7] = (0u | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[11] = (0u | 0u); - ctx.gpr[31] = (0x0883456Cu); + aot_gpr_31 = (0x0883456Cu); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0063_entry, 63u, 90u, 0x0890043Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883456Cu) goto L_0883456C; AOT_REGCACHE_SYNC_OUT(); return; @@ -1306,11 +1307,11 @@ L_08834578: aot_fpr_20 = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); - aot_gpr_16 = aot_run_words[3]; + ctx.gpr[16] = aot_run_words[3]; ctx.gpr[17] = aot_run_words[4]; - ctx.gpr[31] = aot_run_words[5]; + aot_gpr_31 = aot_run_words[5]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(304)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -1318,18 +1319,18 @@ L_08834578: AOT_REGCACHE_SYNC_OUT(); return; L_08834598: aot_gpr_29 = (aot_gpr_29 + static_cast(-384)); - { const std::uint32_t aot_run_words[4]{std::bit_cast(aot_fpr_20), aot_gpr_16, ctx.gpr[17], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[4]{std::bit_cast(aot_fpr_20), ctx.gpr[16], ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(368), aot_run_words); } aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7080))); { const bool branch_taken = aot_gpr_5 != 0u; - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08834638; } goto L_088345B8; } L_088345B8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(236))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(236))); aot_gpr_5 = (32768u << 16u); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); { const bool branch_taken = aot_gpr_4 != 0u; @@ -1340,7 +1341,7 @@ L_088345B8: goto L_088345CC; } L_088345CC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(236))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(236))); aot_gpr_5 = (16384u << 16u); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); { const bool branch_taken = aot_gpr_4 != 0u; @@ -1351,7 +1352,7 @@ L_088345CC: goto L_088345E0; } L_088345E0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 496u); aot_gpr_5 = (0u | 64u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; @@ -1362,7 +1363,7 @@ L_088345E0: goto L_088345F4; } L_088345F4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 496u); aot_gpr_5 = (0u | 80u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; @@ -1373,7 +1374,7 @@ L_088345F4: goto L_08834608; } L_08834608: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(533)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(533)))))); aot_gpr_5 = (0u | 11u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; aot_gpr_5 = (0u | 7u); @@ -1446,19 +1447,19 @@ L_08834648: goto L_08834670; } L_08834670: - aot_gpr_4 = (aot_gpr_16 + static_cast(384)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(384)); ctx.gpr[17] = (aot_gpr_29 + static_cast(16)); aot_gpr_6 = (aot_gpr_29 + static_cast(32)); aot_gpr_5 = (ctx.gpr[17] | 0u); - ctx.gpr[31] = (0x08834688u); + aot_gpr_31 = (0x08834688u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0118_entry, 118u, 156u, 0x089DCE98u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08834688u) goto L_08834688; AOT_REGCACHE_SYNC_OUT(); return; L_08834688: - aot_gpr_4 = (aot_gpr_16 + static_cast(48)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(48)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), std::bit_cast(aot_fpr_12)); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(86)))))); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); @@ -1477,7 +1478,7 @@ L_08834688: ctx.gpr[10] = (0u | 1u); ctx.gpr[11] = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); - ctx.gpr[31] = (0x088346E8u); + aot_gpr_31 = (0x088346E8u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0037_entry, 37u, 365u, 0x0889A004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088346E8u) goto L_088346E8; AOT_REGCACHE_SYNC_OUT(); return; @@ -1502,7 +1503,7 @@ L_088346F4: } L_08834704: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(52))); - { const bool branch_taken = aot_gpr_4 != aot_gpr_16; + { const bool branch_taken = aot_gpr_4 != ctx.gpr[16]; // nop if (branch_taken) { goto L_08834A44; @@ -1510,7 +1511,7 @@ L_08834704: goto L_08834710; } L_08834710: - aot_gpr_4 = (aot_gpr_16 + static_cast(48)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -1547,9 +1548,9 @@ L_08834710: aot_fpr_14 = std::bit_cast(aot_run_words[2]); } { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_13), std::bit_cast(aot_fpr_14)}; - aot_mem.aot_direct_store32_block(aot_gpr_16 + static_cast(48), aot_run_words); } - ctx.gpr[31] = (0x08834750u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_mem.aot_direct_store32_block(ctx.gpr[16] + static_cast(48), aot_run_words); } + aot_gpr_31 = (0x08834750u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 323u, 0x08809984u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08834750u) goto L_08834750; AOT_REGCACHE_SYNC_OUT(); return; L_08834750: @@ -1586,7 +1587,7 @@ L_08834758: ctx.gpr[11] = (0u | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), 0u); - ctx.gpr[31] = (0x088347BCu); + aot_gpr_31 = (0x088347BCu); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 287u, 0x08891DD4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088347BCu) goto L_088347BC; AOT_REGCACHE_SYNC_OUT(); return; @@ -1648,8 +1649,8 @@ L_08834820: aot_fpr_20 = std::bit_cast(aot_gpr_4); goto L_08834828; L_08834828: - ctx.gpr[31] = (0x08834830u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_31 = (0x08834830u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 160u, 0x08AD0AE4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08834830u) goto L_08834830; AOT_REGCACHE_SYNC_OUT(); return; L_08834830: @@ -1663,7 +1664,7 @@ L_08834830: aot_fpr_12 = ctx.fpr[15] + aot_fpr_12; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(200), std::bit_cast(aot_fpr_12)); { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_13), std::bit_cast(aot_fpr_14), std::bit_cast(aot_fpr_12)}; - aot_mem.aot_direct_store32_block(aot_gpr_16 + static_cast(48), aot_run_words); } + aot_mem.aot_direct_store32_block(ctx.gpr[16] + static_cast(48), aot_run_words); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(112))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(160), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(116))); @@ -1680,7 +1681,7 @@ L_08834830: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -1697,8 +1698,8 @@ L_08834830: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } ctx.gpr[17] = (aot_gpr_29 + static_cast(224)); aot_gpr_4 = (ctx.gpr[17] | 0u); - ctx.gpr[31] = (0x088348A0u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_31 = (0x088348A0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 912u, 0x0885F828u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088348A0u) goto L_088348A0; AOT_REGCACHE_SYNC_OUT(); return; L_088348A0: @@ -1714,8 +1715,8 @@ L_088348A0: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(248), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(120))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(264), std::bit_cast(aot_fpr_12)); - aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x088348DCu); + aot_gpr_4 = (ctx.gpr[16] | 0u); + aot_gpr_31 = (0x088348DCu); aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 7u, 0x08860358u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088348DCu) goto L_088348DC; AOT_REGCACHE_SYNC_OUT(); return; @@ -1739,12 +1740,12 @@ L_088348EC: goto L_088348F8; } L_088348F8: - ctx.gpr[31] = (0x08834900u); + aot_gpr_31 = (0x08834900u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(288))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 129u, 0x089D89E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08834900u) goto L_08834900; AOT_REGCACHE_SYNC_OUT(); return; L_08834900: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(533)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(533)))))); aot_gpr_5 = (aot_gpr_4 < static_cast(23) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; // nop @@ -1773,8 +1774,8 @@ L_08834928: goto L_08834930; } L_08834930: - ctx.gpr[31] = (0x08834938u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_31 = (0x08834938u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0207_entry, 207u, 374u, 0x08B41694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08834938u) goto L_08834938; AOT_REGCACHE_SYNC_OUT(); return; L_08834938: @@ -1787,14 +1788,14 @@ L_08834938: } L_08834940: ctx.gpr[17] = (aot_gpr_29 + static_cast(304)); - ctx.gpr[31] = (0x0883494Cu); + aot_gpr_31 = (0x0883494Cu); aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 16u, 0x08960154u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883494Cu) goto L_0883494C; AOT_REGCACHE_SYNC_OUT(); return; L_0883494C: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); - ctx.gpr[31] = (0x0883495Cu); + aot_gpr_31 = (0x0883495Cu); aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0207_entry, 207u, 391u, 0x08B4196Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883495Cu) goto L_0883495C; AOT_REGCACHE_SYNC_OUT(); return; @@ -1815,7 +1816,7 @@ L_08834964: goto L_0883496C; } L_0883496C: - aot_gpr_4 = (aot_gpr_16 + static_cast(448)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(448)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -1830,8 +1831,8 @@ L_0883496C: const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08834988u); + aot_gpr_4 = (ctx.gpr[16] | 0u); + aot_gpr_31 = (0x08834988u); aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0207_entry, 207u, 391u, 0x08B4196Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08834988u) goto L_08834988; AOT_REGCACHE_SYNC_OUT(); return; @@ -1852,7 +1853,7 @@ L_08834990: goto L_08834998; } L_08834998: - aot_gpr_4 = (aot_gpr_16 + static_cast(448)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(448)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -1867,8 +1868,8 @@ L_08834998: const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x088349B4u); + aot_gpr_4 = (ctx.gpr[16] | 0u); + aot_gpr_31 = (0x088349B4u); aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0207_entry, 207u, 391u, 0x08B4196Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088349B4u) goto L_088349B4; AOT_REGCACHE_SYNC_OUT(); return; @@ -1889,7 +1890,7 @@ L_088349BC: goto L_088349C4; } L_088349C4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(440))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(440))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -1898,7 +1899,7 @@ L_088349C4: goto L_088349D0; } L_088349D0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(440))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(440))); aot_gpr_4 = (aot_gpr_4 + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; @@ -1914,8 +1915,8 @@ L_088349D0: const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x088349F0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); + aot_gpr_31 = (0x088349F0u); aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0207_entry, 207u, 391u, 0x08B4196Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088349F0u) goto L_088349F0; AOT_REGCACHE_SYNC_OUT(); return; @@ -1928,7 +1929,7 @@ L_088349F0: goto L_088349F8; } L_088349F8: - aot_gpr_4 = (aot_gpr_16 + static_cast(448)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(448)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -1943,8 +1944,8 @@ L_088349F8: const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08834A14u); + aot_gpr_4 = (ctx.gpr[16] | 0u); + aot_gpr_31 = (0x08834A14u); aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0207_entry, 207u, 391u, 0x08B4196Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08834A14u) goto L_08834A14; AOT_REGCACHE_SYNC_OUT(); return; @@ -1980,7 +1981,7 @@ L_08834A2C: aot_fpr_14 = std::bit_cast(aot_run_words[2]); } { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_13), std::bit_cast(aot_fpr_14)}; - aot_mem.aot_direct_store32_block(aot_gpr_16 + static_cast(48), aot_run_words); } + aot_mem.aot_direct_store32_block(ctx.gpr[16] + static_cast(48), aot_run_words); } goto L_08834A44; L_08834A44: aot_gpr_4 = (15820u << 16u); @@ -2002,11 +2003,11 @@ L_08834A6C: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(368), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); - aot_gpr_16 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[1]; ctx.gpr[17] = aot_run_words[2]; - ctx.gpr[31] = aot_run_words[3]; + aot_gpr_31 = aot_run_words[3]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(384)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -2014,14 +2015,14 @@ L_08834A6C: AOT_REGCACHE_SYNC_OUT(); return; L_08834A84: aot_gpr_29 = (aot_gpr_29 + static_cast(-256)); - { const std::uint32_t aot_run_words[15]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), aot_gpr_16, ctx.gpr[17], aot_gpr_18, ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[15]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), ctx.gpr[16], ctx.gpr[17], aot_gpr_18, ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(196), aot_run_words); } ctx.gpr[22] = (aot_gpr_5 | 0u); aot_gpr_18 = (aot_gpr_4 | 0u); aot_gpr_5 = (aot_gpr_6 & 255u); aot_gpr_4 = (ctx.gpr[7] & 255u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(192), aot_gpr_4); - ctx.gpr[31] = (0x08834AE0u); + aot_gpr_31 = (0x08834AE0u); aot_gpr_4 = (aot_gpr_18 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 959u, 0x08B03834u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08834AE0u) goto L_08834AE0; AOT_REGCACHE_SYNC_OUT(); return; @@ -2030,7 +2031,7 @@ L_08834AE0: aot_gpr_4 = (aot_gpr_4 + static_cast(20000)); aot_mem.aot_direct_store32(aot_gpr_18 + static_cast(92), aot_gpr_4); ctx.gpr[19] = (aot_gpr_18 + static_cast(944)); - ctx.gpr[31] = (0x08834AF8u); + aot_gpr_31 = (0x08834AF8u); aot_gpr_4 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 366u, 0x08B0D814u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08834AF8u) goto L_08834AF8; AOT_REGCACHE_SYNC_OUT(); return; @@ -2046,7 +2047,7 @@ L_08834AF8: ctx.gpr[7] = (2179u << 16u); ctx.gpr[7] = (ctx.gpr[7] + static_cast(3736)); aot_gpr_5 = (0u | 6u); - ctx.gpr[31] = (0x08834B2Cu); + aot_gpr_31 = (0x08834B2Cu); aot_gpr_6 = (0u | 48u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 158u, 0x08B60C7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08834B2Cu) goto L_08834B2C; AOT_REGCACHE_SYNC_OUT(); return; @@ -2058,7 +2059,7 @@ L_08834B2C: ctx.gpr[21] = (0u + static_cast(-2)); ctx.gpr[20] = (0u + static_cast(-33)); ctx.gpr[30] = (0u + static_cast(-3)); - aot_gpr_16 = (128u << 16u); + ctx.gpr[16] = (128u << 16u); aot_gpr_5 = (15692u << 16u); aot_gpr_5 = (aot_gpr_5 | 52429u); ctx.fpr[22] = std::bit_cast(aot_gpr_5); @@ -2116,12 +2117,12 @@ L_08834BB0: aot_gpr_4 = (aot_gpr_4 & ctx.gpr[30]); aot_mem.aot_direct_store8(aot_gpr_18 + static_cast(618), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_gpr_18 | 0u); - ctx.gpr[31] = (0x08834BE0u); + aot_gpr_31 = (0x08834BE0u); aot_gpr_5 = (ctx.gpr[22] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 764u, 0x08833730u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08834BE0u) goto L_08834BE0; AOT_REGCACHE_SYNC_OUT(); return; L_08834BE0: - ctx.gpr[31] = (0x08834BE8u); + aot_gpr_31 = (0x08834BE8u); aot_gpr_4 = (aot_gpr_18 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 565u, 0x08B021F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08834BE8u) goto L_08834BE8; AOT_REGCACHE_SYNC_OUT(); return; @@ -2132,7 +2133,7 @@ L_08834BE8: aot_mem.aot_direct_store32(aot_gpr_18 + static_cast(356), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(352))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(204))); - aot_gpr_4 = (aot_gpr_4 & aot_gpr_16); + aot_gpr_4 = (aot_gpr_4 & ctx.gpr[16]); aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 == 0u; @@ -2144,7 +2145,7 @@ L_08834BE8: } L_08834C14: ctx.gpr[17] = (0u | 0u); - ctx.gpr[31] = (0x08834C20u); + aot_gpr_31 = (0x08834C20u); aot_gpr_4 = (0u | 388u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08834C20u) goto L_08834C20; AOT_REGCACHE_SYNC_OUT(); return; @@ -2166,46 +2167,46 @@ L_08834C38: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast(76))); aot_mem.aot_direct_store32(aot_gpr_18 + static_cast(364), aot_gpr_4); ctx.gpr[17] = (0u | 0u); - ctx.gpr[31] = (0x08834C54u); + aot_gpr_31 = (0x08834C54u); aot_gpr_4 = (0u | 1888u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08834C54u) goto L_08834C54; AOT_REGCACHE_SYNC_OUT(); return; L_08834C54: - aot_gpr_16 = (ctx.gpr[2] | 0u); - if (aot_gpr_16 == 0u) { + ctx.gpr[16] = (ctx.gpr[2] | 0u); + if (ctx.gpr[16] == 0u) { aot_mem.aot_direct_store32(aot_gpr_18 + static_cast(368), ctx.gpr[17]); goto L_08834C70; } goto L_08834C60; L_08834C60: - ctx.gpr[31] = (0x08834C68u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_31 = (0x08834C68u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0129_entry, 129u, 577u, 0x08A0B7C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08834C68u) goto L_08834C68; AOT_REGCACHE_SYNC_OUT(); return; L_08834C68: - ctx.gpr[17] = (aot_gpr_16 | 0u); + ctx.gpr[17] = (ctx.gpr[16] | 0u); aot_mem.aot_direct_store32(aot_gpr_18 + static_cast(368), ctx.gpr[17]); goto L_08834C70; L_08834C70: ctx.gpr[17] = (0u | 0u); - ctx.gpr[31] = (0x08834C7Cu); + aot_gpr_31 = (0x08834C7Cu); aot_gpr_4 = (0u | 1888u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08834C7Cu) goto L_08834C7C; AOT_REGCACHE_SYNC_OUT(); return; L_08834C7C: - aot_gpr_16 = (ctx.gpr[2] | 0u); - if (aot_gpr_16 == 0u) { + ctx.gpr[16] = (ctx.gpr[2] | 0u); + if (ctx.gpr[16] == 0u) { aot_mem.aot_direct_store32(aot_gpr_18 + static_cast(372), ctx.gpr[17]); goto L_08834C98; } goto L_08834C88; L_08834C88: - ctx.gpr[31] = (0x08834C90u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_31 = (0x08834C90u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0129_entry, 129u, 577u, 0x08A0B7C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08834C90u) goto L_08834C90; AOT_REGCACHE_SYNC_OUT(); return; L_08834C90: - ctx.gpr[17] = (aot_gpr_16 | 0u); + ctx.gpr[17] = (ctx.gpr[16] | 0u); aot_mem.aot_direct_store32(aot_gpr_18 + static_cast(372), ctx.gpr[17]); goto L_08834C98; L_08834C98: @@ -2213,7 +2214,7 @@ L_08834C98: { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_20)}; aot_mem.aot_direct_store32_block(aot_gpr_18 + static_cast(1568), aot_run_words); } aot_mem.aot_direct_store8(aot_gpr_18 + static_cast(1652), static_cast(0u)); - ctx.gpr[31] = (0x08834CB4u); + aot_gpr_31 = (0x08834CB4u); aot_gpr_4 = (aot_gpr_18 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 933u, 0x08AFFDDCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08834CB4u) goto L_08834CB4; AOT_REGCACHE_SYNC_OUT(); return; @@ -2556,50 +2557,50 @@ L_08834FD0: L_08834FEC: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (0u | 2u); - ctx.gpr[31] = (0x08834FFCu); + aot_gpr_31 = (0x08834FFCu); aot_gpr_6 = (0u | 3u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 377u, 0x08B0D904u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08834FFCu) goto L_08834FFC; AOT_REGCACHE_SYNC_OUT(); return; L_08834FFC: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (0u | 3u); - ctx.gpr[31] = (0x0883500Cu); + aot_gpr_31 = (0x0883500Cu); aot_gpr_6 = (0u | 3u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 377u, 0x08B0D904u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883500Cu) goto L_0883500C; AOT_REGCACHE_SYNC_OUT(); return; L_0883500C: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (0u | 4u); - ctx.gpr[31] = (0x0883501Cu); + aot_gpr_31 = (0x0883501Cu); aot_gpr_6 = (0u | 3u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 377u, 0x08B0D904u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883501Cu) goto L_0883501C; AOT_REGCACHE_SYNC_OUT(); return; L_0883501C: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (0u | 5u); - ctx.gpr[31] = (0x0883502Cu); + aot_gpr_31 = (0x0883502Cu); aot_gpr_6 = (0u | 3u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 377u, 0x08B0D904u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883502Cu) goto L_0883502C; AOT_REGCACHE_SYNC_OUT(); return; L_0883502C: ctx.gpr[17] = (0u | 0u); - aot_gpr_16 = (aot_gpr_18 | 0u); + ctx.gpr[16] = (aot_gpr_18 | 0u); goto L_08835034; L_08835034: ctx.fpr[26] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-29896))); - ctx.gpr[31] = (0x08835040u); + aot_gpr_31 = (0x08835040u); ctx.fpr[28] = std::bit_cast(std::bit_cast(ctx.fpr[26]) ^ 0x80000000u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08835040u) goto L_08835040; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08835040u) goto L_08835040; AOT_REGCACHE_SYNC_OUT(); return; L_08835040: aot_fpr_12 = ctx.fpr[26] - ctx.fpr[28]; { const float fs = aot_fpr_12; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = ctx.fpr[28] + aot_fpr_12; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(1728), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(1728), std::bit_cast(aot_fpr_12)); ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); aot_gpr_4 = (static_cast(ctx.gpr[17]) < 6 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_16 = (aot_gpr_16 + static_cast(4)); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(4)); if (branch_taken) { goto L_08835034; } @@ -2770,7 +2771,7 @@ L_088351F0: goto L_08835214; } L_08835214: - ctx.gpr[31] = (0x0883521Cu); + aot_gpr_31 = (0x0883521Cu); aot_gpr_4 = (aot_gpr_18 | 0u); goto L_08836628; L_0883521C: @@ -2853,7 +2854,7 @@ L_088352A0: goto L_088352DC; } L_088352DC: - ctx.gpr[31] = (0x088352E4u); + aot_gpr_31 = (0x088352E4u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(1284))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0038_entry, 38u, 598u, 0x0889E930u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088352E4u) goto L_088352E4; AOT_REGCACHE_SYNC_OUT(); return; @@ -2863,7 +2864,7 @@ L_088352E4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(88))); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[21]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(88), aot_gpr_4); - aot_gpr_16 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[16] = (aot_gpr_29 + static_cast(16)); { const bool branch_taken = 0u == 0u; ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(1272))); if (branch_taken) { @@ -2882,7 +2883,7 @@ L_08835304: goto L_08835314; } L_08835314: - ctx.gpr[31] = (0x0883531Cu); + aot_gpr_31 = (0x0883531Cu); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(80))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 129u, 0x089D89E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883531Cu) goto L_0883531C; AOT_REGCACHE_SYNC_OUT(); return; @@ -2894,8 +2895,8 @@ L_08835320: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(88))); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[21]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(88), aot_gpr_4); - ctx.gpr[31] = (0x08835338u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_31 = (0x08835338u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 939u, 0x0885FF48u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08835338u) goto L_08835338; AOT_REGCACHE_SYNC_OUT(); return; L_08835338: @@ -2918,7 +2919,7 @@ L_08835344: goto L_08835354; } L_08835354: - ctx.gpr[31] = (0x0883535Cu); + aot_gpr_31 = (0x0883535Cu); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(160))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 129u, 0x089D89E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883535Cu) goto L_0883535C; AOT_REGCACHE_SYNC_OUT(); return; @@ -2930,7 +2931,7 @@ L_08835360: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(168))); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[21]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(168), aot_gpr_4); - ctx.gpr[31] = (0x08835378u); + aot_gpr_31 = (0x08835378u); aot_gpr_4 = (aot_gpr_29 + static_cast(96)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 939u, 0x0885FF48u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08835378u) goto L_08835378; AOT_REGCACHE_SYNC_OUT(); return; @@ -2958,14 +2959,14 @@ L_08835378: aot_fpr_12 = aot_fpr_12 + aot_fpr_13; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(176), std::bit_cast(aot_fpr_12)); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(184))); - aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x088353B4u); + aot_gpr_4 = (ctx.gpr[16] | 0u); + aot_gpr_31 = (0x088353B4u); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 4u, 0x08860094u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088353B4u) goto L_088353B4; AOT_REGCACHE_SYNC_OUT(); return; L_088353B4: - ctx.gpr[31] = (0x088353BCu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_31 = (0x088353BCu); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 936u, 0x0885FF14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088353BCu) goto L_088353BC; AOT_REGCACHE_SYNC_OUT(); return; L_088353BC: @@ -2984,7 +2985,7 @@ L_088353CC: } goto L_088353D8; L_088353D8: - ctx.gpr[31] = (0x088353E0u); + aot_gpr_31 = (0x088353E0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(160))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 129u, 0x089D89E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088353E0u) goto L_088353E0; AOT_REGCACHE_SYNC_OUT(); return; @@ -3010,7 +3011,7 @@ L_088353F0: goto L_088353FC; } L_088353FC: - ctx.gpr[31] = (0x08835404u); + aot_gpr_31 = (0x08835404u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(80))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 129u, 0x089D89E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08835404u) goto L_08835404; AOT_REGCACHE_SYNC_OUT(); return; @@ -3033,13 +3034,13 @@ L_0883540C: goto L_0883541C; } L_0883541C: - ctx.gpr[31] = (0x08835424u); + aot_gpr_31 = (0x08835424u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(1292))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0038_entry, 38u, 598u, 0x0889E930u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08835424u) goto L_08835424; AOT_REGCACHE_SYNC_OUT(); return; L_08835424: aot_mem.aot_direct_store8(ctx.gpr[2] + static_cast(2), static_cast(0u)); - ctx.gpr[31] = (0x08835430u); + aot_gpr_31 = (0x08835430u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(1280))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0038_entry, 38u, 598u, 0x0889E930u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08835430u) goto L_08835430; AOT_REGCACHE_SYNC_OUT(); return; @@ -3079,7 +3080,7 @@ L_0883545C: goto L_08835474; } L_08835474: - ctx.gpr[31] = (0x0883547Cu); + aot_gpr_31 = (0x0883547Cu); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(1284))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0038_entry, 38u, 598u, 0x0889E930u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883547Cu) goto L_0883547C; AOT_REGCACHE_SYNC_OUT(); return; @@ -3096,7 +3097,7 @@ L_08835488: aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(2), static_cast(0u)); goto L_0883548C; L_0883548C: - ctx.gpr[31] = (0x08835494u); + aot_gpr_31 = (0x08835494u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(1272))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0038_entry, 38u, 598u, 0x0889E930u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08835494u) goto L_08835494; AOT_REGCACHE_SYNC_OUT(); return; @@ -3113,7 +3114,7 @@ L_088354A0: aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(2), static_cast(0u)); goto L_088354A4; L_088354A4: - ctx.gpr[31] = (0x088354ACu); + aot_gpr_31 = (0x088354ACu); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(1292))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0038_entry, 38u, 598u, 0x0889E930u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088354ACu) goto L_088354AC; AOT_REGCACHE_SYNC_OUT(); return; @@ -3130,7 +3131,7 @@ L_088354B8: aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(2), static_cast(0u)); goto L_088354BC; L_088354BC: - ctx.gpr[31] = (0x088354C4u); + aot_gpr_31 = (0x088354C4u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(1280))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0038_entry, 38u, 598u, 0x0889E930u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088354C4u) goto L_088354C4; AOT_REGCACHE_SYNC_OUT(); return; @@ -3192,7 +3193,7 @@ L_08835514: ctx.fpr[24] = std::bit_cast(aot_run_words[2]); ctx.fpr[26] = std::bit_cast(aot_run_words[3]); ctx.fpr[28] = std::bit_cast(aot_run_words[4]); - aot_gpr_16 = aot_run_words[5]; + ctx.gpr[16] = aot_run_words[5]; ctx.gpr[17] = aot_run_words[6]; aot_gpr_18 = aot_run_words[7]; ctx.gpr[19] = aot_run_words[8]; @@ -3201,9 +3202,9 @@ L_08835514: ctx.gpr[22] = aot_run_words[11]; ctx.gpr[23] = aot_run_words[12]; ctx.gpr[30] = aot_run_words[13]; - ctx.gpr[31] = aot_run_words[14]; + aot_gpr_31 = aot_run_words[14]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(256)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -3211,10 +3212,10 @@ L_08835514: AOT_REGCACHE_SYNC_OUT(); return; L_08835560: aot_gpr_29 = (aot_gpr_29 + static_cast(-144)); - { const std::uint32_t aot_run_words[15]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), aot_gpr_16, ctx.gpr[17], aot_gpr_18, ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[15]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), ctx.gpr[16], ctx.gpr[17], aot_gpr_18, ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(84), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); + ctx.gpr[16] = (aot_gpr_4 | 0u); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(86)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); aot_gpr_5 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_5) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; @@ -3259,7 +3260,7 @@ L_08835604: aot_gpr_4 = (16128u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); { const float fs = ctx.fpr[30]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[30] = std::bit_cast(0x7FC00000u); else ctx.fpr[30] = fs * ft; } - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 496u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -3269,7 +3270,7 @@ L_08835604: goto L_08835620; } L_08835620: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(615)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(615)))))); aot_gpr_4 = (aot_gpr_4 & 128u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -3303,7 +3304,7 @@ L_0883564C: aot_gpr_6 = (aot_gpr_6 + ctx.gpr[7]); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(8))); aot_gpr_6 = (aot_gpr_5 << 2u); - ctx.gpr[7] = (aot_gpr_16 + aot_gpr_6); + ctx.gpr[7] = (ctx.gpr[16] + aot_gpr_6); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(1520))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(1688))); { const float fs = aot_fpr_13; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } @@ -3331,12 +3332,12 @@ L_08835690: goto L_088356A0; } L_088356A0: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(352))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(352))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(124))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(128))); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; aot_gpr_5 = (aot_gpr_4 << 2u); - aot_gpr_6 = (aot_gpr_16 + aot_gpr_5); + aot_gpr_6 = (ctx.gpr[16] + aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(1672), std::bit_cast(aot_fpr_12)); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(60))); ctx.gpr[8] = (aot_gpr_4 << 5u); @@ -3366,7 +3367,7 @@ L_088356A0: L_0883570C: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-29904))); aot_gpr_5 = (aot_gpr_4 << 2u); - aot_gpr_5 = (aot_gpr_16 + aot_gpr_5); + aot_gpr_5 = (ctx.gpr[16] + aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(1520), std::bit_cast(aot_fpr_12)); goto L_0883571C; L_0883571C: @@ -3381,7 +3382,7 @@ L_0883571C: goto L_08835730; } L_08835730: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(1662))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(1662))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -3391,11 +3392,11 @@ L_08835730: } L_0883573C: aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(96))); aot_fpr_12 = std::bit_cast(0u); aot_gpr_6 = (16256u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_6); - ctx.gpr[31] = (0x08835758u); + aot_gpr_31 = (0x08835758u); aot_gpr_6 = (0u | 20u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 503u, 0x08A05F80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08835758u) goto L_08835758; AOT_REGCACHE_SYNC_OUT(); return; @@ -3408,7 +3409,7 @@ L_08835758: goto L_08835760; } L_08835760: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(1662))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(1662))); aot_gpr_4 = (static_cast(aot_gpr_4) < 100 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -3419,17 +3420,17 @@ L_08835760: } L_08835770: aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(96))); aot_fpr_12 = std::bit_cast(0u); aot_gpr_6 = (16256u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_6); - ctx.gpr[31] = (0x0883578Cu); + aot_gpr_31 = (0x0883578Cu); aot_gpr_6 = (0u | 21u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 503u, 0x08A05F80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883578Cu) goto L_0883578C; AOT_REGCACHE_SYNC_OUT(); return; L_0883578C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(96))); - { const bool branch_taken = aot_gpr_4 != aot_gpr_16; + { const bool branch_taken = aot_gpr_4 != ctx.gpr[16]; // nop if (branch_taken) { goto L_0883579C; @@ -3440,11 +3441,11 @@ L_08835798: aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(96), 0u); goto L_0883579C; L_0883579C: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(615)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(615)))))); aot_gpr_5 = (0u + static_cast(-129)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(615), static_cast(aot_gpr_4)); - aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(1662), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(615), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store16(ctx.gpr[16] + static_cast(1662), static_cast(0u)); goto L_088357B0; L_088357B0: { const bool branch_taken = 0u == 0u; @@ -3455,7 +3456,7 @@ L_088357B0: goto L_088357B8; } L_088357B8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(352))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(352))); ctx.fpr[26] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(124))); ctx.fpr[24] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(128))); ctx.fpr[28] = ctx.fpr[26] - ctx.fpr[24]; @@ -3467,7 +3468,7 @@ L_088357B8: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(76), std::bit_cast(ctx.fpr[22])); ctx.fpr[22] = ctx.fpr[22] - aot_fpr_20; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), std::bit_cast(aot_fpr_20)); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(615)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(615)))))); aot_gpr_4 = (aot_gpr_4 & 128u); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -3487,7 +3488,7 @@ L_088357F8: } L_08835804: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(96))); - { const bool branch_taken = aot_gpr_4 == aot_gpr_16; + { const bool branch_taken = aot_gpr_4 == ctx.gpr[16]; // nop if (branch_taken) { goto L_08835824; @@ -3502,18 +3503,18 @@ L_08835810: aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(615), static_cast(aot_gpr_5)); goto L_08835824; L_08835824: - aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(96), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(96), ctx.gpr[16]); ctx.gpr[19] = (ctx.gpr[19] + static_cast(16)); aot_gpr_4 = (ctx.gpr[19] | 0u); - ctx.gpr[31] = (0x08835838u); + aot_gpr_31 = (0x08835838u); aot_gpr_5 = (aot_gpr_18 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0099_entry, 99u, 76u, 0x089904DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08835838u) goto L_08835838; AOT_REGCACHE_SYNC_OUT(); return; L_08835838: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(615)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(615)))))); aot_gpr_4 = (aot_gpr_4 | 128u); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(615), static_cast(aot_gpr_4)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1724))); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(615), static_cast(aot_gpr_4)); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1724))); aot_gpr_4 = (15820u << 16u); aot_gpr_4 = (aot_gpr_4 | 52429u); aot_fpr_13 = std::bit_cast(aot_gpr_4); @@ -3529,14 +3530,14 @@ L_08835838: L_08835864: aot_gpr_4 = (0u | 20u); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(1662), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store16(ctx.gpr[16] + static_cast(1662), static_cast(aot_gpr_4)); if (branch_taken) { goto L_088358B4; } goto L_08835870; } L_08835870: - aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(1662), static_cast(0u)); + aot_mem.aot_direct_store16(ctx.gpr[16] + static_cast(1662), static_cast(0u)); aot_gpr_4 = (48675u << 16u); aot_gpr_4 = (aot_gpr_4 | 55050u); aot_fpr_12 = std::bit_cast(aot_gpr_4); @@ -3547,11 +3548,11 @@ L_08835870: ctx.fpr[28] = ctx.fpr[24] + aot_fpr_13; ctx.fpr[28] = ctx.fpr[26] - ctx.fpr[28]; aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(96))); aot_fpr_12 = std::bit_cast(0u); aot_gpr_6 = (16256u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_6); - ctx.gpr[31] = (0x088358B4u); + aot_gpr_31 = (0x088358B4u); aot_gpr_6 = (0u | 21u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 503u, 0x08A05F80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088358B4u) goto L_088358B4; AOT_REGCACHE_SYNC_OUT(); return; @@ -3571,7 +3572,7 @@ L_088358C4: aot_gpr_4 = (aot_gpr_4 + ctx.gpr[21]); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); aot_gpr_4 = (ctx.gpr[20] << 2u); - ctx.gpr[22] = (aot_gpr_16 + aot_gpr_4); + ctx.gpr[22] = (ctx.gpr[16] + aot_gpr_4); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(1520))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(1688))); { const float fs = aot_fpr_13; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } @@ -3582,7 +3583,7 @@ L_088358C4: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[20] | 0u); aot_gpr_6 = (ctx.gpr[23] | 0u); - ctx.gpr[31] = (0x0883590Cu); + aot_gpr_31 = (0x0883590Cu); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0167_entry, 167u, 384u, 0x08AA1844u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883590Cu) goto L_0883590C; AOT_REGCACHE_SYNC_OUT(); return; @@ -3647,7 +3648,7 @@ L_0883596C: aot_gpr_5 = (aot_gpr_29 + aot_gpr_4); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1688))); aot_fpr_12 = aot_fpr_12 / aot_fpr_14; aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(1520), std::bit_cast(aot_fpr_12)); @@ -3664,7 +3665,7 @@ L_0883596C: L_088359B0: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-29904))); aot_gpr_4 = (ctx.gpr[20] << 2u); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(1520), std::bit_cast(aot_fpr_12)); goto L_088359C0; L_088359C0: @@ -3680,11 +3681,11 @@ L_088359C0: } L_088359D4: aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(96))); aot_fpr_12 = std::bit_cast(0u); aot_gpr_6 = (16256u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_6); - ctx.gpr[31] = (0x088359F0u); + aot_gpr_31 = (0x088359F0u); aot_gpr_6 = (0u | 21u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 503u, 0x08A05F80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088359F0u) goto L_088359F0; AOT_REGCACHE_SYNC_OUT(); return; @@ -3692,7 +3693,7 @@ L_088359F0: aot_gpr_6 = (aot_gpr_29 + static_cast(16)); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (0u | 0u); - ctx.gpr[31] = (0x08835A04u); + aot_gpr_31 = (0x08835A04u); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0167_entry, 167u, 384u, 0x08AA1844u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08835A04u) goto L_08835A04; AOT_REGCACHE_SYNC_OUT(); return; @@ -3785,10 +3786,10 @@ L_08835A90: L_08835A9C: ctx.gpr[19] = (ctx.gpr[19] + static_cast(16)); aot_gpr_18 = (0u | 0u); - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(1662))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(1662))); aot_gpr_4 = (static_cast(aot_gpr_4) < 20 ? 1u : 0u); if (aot_gpr_4 != 0u) { - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1724))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1724))); goto L_08835AC4; } goto L_08835AB4; @@ -3822,7 +3823,7 @@ L_08835AC4: goto L_08835AE0; } L_08835AE0: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(1662))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(1662))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -3832,13 +3833,13 @@ L_08835AE0: } L_08835AEC: aot_gpr_4 = (0u | 20u); - aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(1662), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store16(ctx.gpr[16] + static_cast(1662), static_cast(aot_gpr_4)); aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(96))); aot_fpr_12 = std::bit_cast(0u); aot_gpr_6 = (16256u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_6); - ctx.gpr[31] = (0x08835B10u); + aot_gpr_31 = (0x08835B10u); aot_gpr_6 = (0u | 20u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 503u, 0x08A05F80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08835B10u) goto L_08835B10; AOT_REGCACHE_SYNC_OUT(); return; @@ -3851,24 +3852,24 @@ L_08835B10: goto L_08835B18; } L_08835B18: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(1662))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(1662))); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(1662), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store16(ctx.gpr[16] + static_cast(1662), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08835B98; } goto L_08835B28; } L_08835B28: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(1662))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(1662))); if (static_cast(aot_gpr_4) <= 0) { aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(72), std::bit_cast(ctx.fpr[22])); goto L_08835B9C; } goto L_08835B34; L_08835B34: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(1662))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(1662))); aot_gpr_4 = (static_cast(aot_gpr_4) < 21 ? 1u : 0u); if (aot_gpr_4 == 0u) { aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(72), std::bit_cast(ctx.fpr[22])); @@ -3876,7 +3877,7 @@ L_08835B34: } goto L_08835B44; L_08835B44: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1724))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1724))); aot_gpr_4 = (15820u << 16u); aot_gpr_4 = (aot_gpr_4 | 52429u); aot_fpr_13 = std::bit_cast(aot_gpr_4); @@ -3888,9 +3889,9 @@ L_08835B44: } goto L_08835B64; L_08835B64: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(1662))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(1662))); aot_gpr_4 = (aot_gpr_4 + static_cast(-1)); - aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(1662), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store16(ctx.gpr[16] + static_cast(1662), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_gpr_4 & 65535u); if (aot_gpr_4 != 0u) { aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(72), std::bit_cast(ctx.fpr[22])); @@ -3899,11 +3900,11 @@ L_08835B64: goto L_08835B7C; L_08835B7C: aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(96))); aot_fpr_12 = std::bit_cast(0u); aot_gpr_6 = (16256u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_6); - ctx.gpr[31] = (0x08835B98u); + aot_gpr_31 = (0x08835B98u); aot_gpr_6 = (0u | 21u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 503u, 0x08A05F80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08835B98u) goto L_08835B98; AOT_REGCACHE_SYNC_OUT(); return; @@ -3911,12 +3912,12 @@ L_08835B98: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(72), std::bit_cast(ctx.fpr[22])); goto L_08835B9C; L_08835B9C: - ctx.gpr[31] = (0x08835BA4u); + aot_gpr_31 = (0x08835BA4u); aot_gpr_4 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08835BA4u) goto L_08835BA4; AOT_REGCACHE_SYNC_OUT(); return; L_08835BA4: - ctx.gpr[31] = (0x08835BACu); + aot_gpr_31 = (0x08835BACu); aot_gpr_4 = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0098_entry, 98u, 333u, 0x0898CF00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08835BACu) goto L_08835BAC; AOT_REGCACHE_SYNC_OUT(); return; @@ -3929,7 +3930,7 @@ L_08835BAC: goto L_08835BB4; } L_08835BB4: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(1662))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(1662))); aot_gpr_4 = (static_cast(aot_gpr_4) < 100 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -3941,14 +3942,14 @@ L_08835BB4: L_08835BC4: aot_gpr_4 = (0u | 100u); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(1662), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store16(ctx.gpr[16] + static_cast(1662), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08835C00; } goto L_08835BD0; } L_08835BD0: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1724))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1724))); aot_gpr_4 = (15820u << 16u); aot_gpr_4 = (aot_gpr_4 | 52429u); aot_fpr_13 = std::bit_cast(aot_gpr_4); @@ -3964,17 +3965,17 @@ L_08835BD0: L_08835BF0: aot_gpr_4 = (0u | 20u); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(1662), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store16(ctx.gpr[16] + static_cast(1662), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08835C00; } goto L_08835BFC; } L_08835BFC: - aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(1662), static_cast(0u)); + aot_mem.aot_direct_store16(ctx.gpr[16] + static_cast(1662), static_cast(0u)); goto L_08835C00; L_08835C00: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(1662))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(1662))); aot_gpr_4 = (static_cast(aot_gpr_4) < 100 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -3999,7 +4000,7 @@ L_08835C20: aot_gpr_4 = (aot_gpr_4 + aot_gpr_18); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); aot_gpr_4 = (ctx.gpr[20] << 2u); - ctx.gpr[21] = (aot_gpr_16 + aot_gpr_4); + ctx.gpr[21] = (ctx.gpr[16] + aot_gpr_4); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(1520))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(1688))); { const float fs = aot_fpr_13; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } @@ -4010,7 +4011,7 @@ L_08835C20: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[20] | 0u); aot_gpr_6 = (ctx.gpr[22] | 0u); - ctx.gpr[31] = (0x08835C68u); + aot_gpr_31 = (0x08835C68u); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0167_entry, 167u, 384u, 0x08AA1844u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08835C68u) goto L_08835C68; AOT_REGCACHE_SYNC_OUT(); return; @@ -4076,7 +4077,7 @@ L_08835CCC: aot_gpr_5 = (aot_gpr_29 + aot_gpr_4); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1688))); aot_fpr_12 = aot_fpr_12 / aot_fpr_14; aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(1520), std::bit_cast(aot_fpr_12)); @@ -4093,7 +4094,7 @@ L_08835CCC: L_08835D10: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-29904))); aot_gpr_4 = (ctx.gpr[20] << 2u); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(1520), std::bit_cast(aot_fpr_12)); goto L_08835D20; L_08835D20: @@ -4110,11 +4111,11 @@ L_08835D20: } L_08835D38: aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(96))); aot_fpr_12 = std::bit_cast(0u); aot_gpr_6 = (16256u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_6); - ctx.gpr[31] = (0x08835D54u); + aot_gpr_31 = (0x08835D54u); aot_gpr_6 = (0u | 20u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 503u, 0x08A05F80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08835D54u) goto L_08835D54; AOT_REGCACHE_SYNC_OUT(); return; @@ -4127,7 +4128,7 @@ L_08835D54: goto L_08835D5C; } L_08835D5C: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(1662))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(1662))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -4162,7 +4163,7 @@ L_08835D9C: aot_gpr_4 = (aot_gpr_4 + ctx.gpr[21]); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); aot_gpr_4 = (ctx.gpr[20] << 2u); - ctx.gpr[22] = (aot_gpr_16 + aot_gpr_4); + ctx.gpr[22] = (ctx.gpr[16] + aot_gpr_4); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(1520))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(1688))); { const float fs = aot_fpr_13; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } @@ -4173,7 +4174,7 @@ L_08835D9C: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[20] | 0u); aot_gpr_6 = (ctx.gpr[23] | 0u); - ctx.gpr[31] = (0x08835DE4u); + aot_gpr_31 = (0x08835DE4u); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0167_entry, 167u, 384u, 0x08AA1844u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08835DE4u) goto L_08835DE4; AOT_REGCACHE_SYNC_OUT(); return; @@ -4238,7 +4239,7 @@ L_08835E44: aot_gpr_5 = (aot_gpr_29 + aot_gpr_4); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1688))); aot_fpr_12 = aot_fpr_12 / aot_fpr_14; aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(1520), std::bit_cast(aot_fpr_12)); @@ -4255,7 +4256,7 @@ L_08835E44: L_08835E88: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-29904))); aot_gpr_4 = (ctx.gpr[20] << 2u); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(1520), std::bit_cast(aot_fpr_12)); goto L_08835E98; L_08835E98: @@ -4271,11 +4272,11 @@ L_08835E98: } L_08835EAC: aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(96))); aot_fpr_12 = std::bit_cast(0u); aot_gpr_6 = (16256u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_6); - ctx.gpr[31] = (0x08835EC8u); + aot_gpr_31 = (0x08835EC8u); aot_gpr_6 = (0u | 21u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 503u, 0x08A05F80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08835EC8u) goto L_08835EC8; AOT_REGCACHE_SYNC_OUT(); return; @@ -4288,25 +4289,25 @@ L_08835EC8: goto L_08835ED0; } L_08835ED0: - ctx.gpr[31] = (0x08835ED8u); + aot_gpr_31 = (0x08835ED8u); aot_gpr_4 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08835ED8u) goto L_08835ED8; AOT_REGCACHE_SYNC_OUT(); return; L_08835ED8: aot_gpr_4 = (ctx.gpr[2] | 0u); - ctx.gpr[31] = (0x08835EE4u); + aot_gpr_31 = (0x08835EE4u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0098_entry, 98u, 73u, 0x0898C2B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08835EE4u) goto L_08835EE4; AOT_REGCACHE_SYNC_OUT(); return; L_08835EE4: aot_fpr_20 = std::bit_cast(ctx.gpr[2]); aot_fpr_20 = static_cast(static_cast(std::bit_cast(aot_fpr_20))); - ctx.gpr[31] = (0x08835EF4u); + aot_gpr_31 = (0x08835EF4u); aot_gpr_4 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08835EF4u) goto L_08835EF4; AOT_REGCACHE_SYNC_OUT(); return; L_08835EF4: - ctx.gpr[31] = (0x08835EFCu); + aot_gpr_31 = (0x08835EFCu); aot_gpr_4 = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0098_entry, 98u, 90u, 0x0898C3A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08835EFCu) goto L_08835EFC; AOT_REGCACHE_SYNC_OUT(); return; @@ -4379,7 +4380,7 @@ L_08835F98: goto L_08835FC8; L_08835FC8: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(60), std::bit_cast(aot_fpr_13)); - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(1662))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(1662))); aot_gpr_4 = (static_cast(aot_gpr_4) < 100 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -4389,7 +4390,7 @@ L_08835FC8: goto L_08835FDC; } L_08835FDC: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(1662))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(1662))); aot_gpr_4 = (static_cast(aot_gpr_4) < 104 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -4399,12 +4400,12 @@ L_08835FDC: goto L_08835FEC; } L_08835FEC: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(1662))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(1662))); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(1662), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store16(ctx.gpr[16] + static_cast(1662), static_cast(aot_gpr_4)); goto L_08835FF8; L_08835FF8: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1724))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1724))); aot_gpr_4 = (15820u << 16u); aot_gpr_4 = (aot_gpr_4 | 52429u); aot_fpr_13 = std::bit_cast(aot_gpr_4); @@ -4473,7 +4474,7 @@ L_08836088: ctx.gpr[21] = (ctx.gpr[20] << 5u); aot_gpr_6 = (aot_gpr_6 + ctx.gpr[21]); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(8))); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1520))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1688))); { const float fs = aot_fpr_14; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } @@ -4483,7 +4484,7 @@ L_08836088: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[20] | 0u); aot_gpr_6 = (ctx.gpr[22] | 0u); - ctx.gpr[31] = (0x088360F4u); + aot_gpr_31 = (0x088360F4u); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0167_entry, 167u, 384u, 0x08AA1844u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088360F4u) goto L_088360F4; AOT_REGCACHE_SYNC_OUT(); return; @@ -4553,7 +4554,7 @@ L_08836160: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (ctx.gpr[20] << 2u); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(1672), std::bit_cast(aot_fpr_20)); aot_fpr_12 = aot_fpr_20 + ctx.fpr[30]; aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(1688), std::bit_cast(aot_fpr_12)); @@ -4577,7 +4578,7 @@ L_088361A8: aot_gpr_5 = (aot_gpr_29 + aot_gpr_4); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1688))); aot_fpr_12 = aot_fpr_12 / aot_fpr_14; aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(1520), std::bit_cast(aot_fpr_12)); @@ -4594,7 +4595,7 @@ L_088361A8: L_088361EC: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-29904))); aot_gpr_4 = (ctx.gpr[20] << 2u); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(1520), std::bit_cast(aot_fpr_12)); goto L_088361FC; L_088361FC: @@ -4617,7 +4618,7 @@ L_08836210: goto L_08836218; } L_08836218: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(1662))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(1662))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -4681,7 +4682,7 @@ L_08836294: { const float fs = aot_fpr_13; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_20 = std::bit_cast(0x7FC00000u); else aot_fpr_20 = fs * ft; } aot_fpr_20 = ctx.fpr[28] + aot_fpr_20; ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_5); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_5); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1520))); ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1688))); { const float fs = aot_fpr_12; const float ft = ctx.fpr[16]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } @@ -4691,7 +4692,7 @@ L_08836294: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[20] | 0u); aot_gpr_6 = (ctx.gpr[22] | 0u); - ctx.gpr[31] = (0x08836300u); + aot_gpr_31 = (0x08836300u); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0167_entry, 167u, 384u, 0x08AA1844u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08836300u) goto L_08836300; AOT_REGCACHE_SYNC_OUT(); return; @@ -4761,7 +4762,7 @@ L_0883636C: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (ctx.gpr[20] << 2u); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(1672), std::bit_cast(aot_fpr_20)); aot_fpr_12 = aot_fpr_20 + ctx.fpr[30]; aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(1688), std::bit_cast(aot_fpr_12)); @@ -4785,7 +4786,7 @@ L_088363B4: aot_gpr_5 = (aot_gpr_29 + aot_gpr_4); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1688))); aot_fpr_12 = aot_fpr_12 / aot_fpr_14; aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(1520), std::bit_cast(aot_fpr_12)); @@ -4802,7 +4803,7 @@ L_088363B4: L_088363F8: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-29904))); aot_gpr_4 = (ctx.gpr[20] << 2u); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(1520), std::bit_cast(aot_fpr_12)); goto L_08836408; L_08836408: @@ -4835,17 +4836,17 @@ L_08836438: aot_fpr_12 = aot_fpr_12 - ctx.fpr[24]; aot_fpr_12 = ctx.fpr[22] / aot_fpr_12; aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) & 0x7FFFFFFFu); - ctx.gpr[31] = (0x0883644Cu); + aot_gpr_31 = (0x0883644Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883644Cu) goto L_0883644C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883644Cu) goto L_0883644C; AOT_REGCACHE_SYNC_OUT(); return; L_0883644C: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-29708))); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-29712))); aot_gpr_5 = (ctx.gpr[3] | 0u); - ctx.gpr[31] = (0x08836460u); + aot_gpr_31 = (0x08836460u); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08836460u) goto L_08836460; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B6256C, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08836460u) goto L_08836460; AOT_REGCACHE_SYNC_OUT(); return; L_08836460: { const bool branch_taken = static_cast(ctx.gpr[2]) <= 0; @@ -4899,11 +4900,11 @@ L_088364B8: goto L_088364C0; L_088364C0: aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(96))); aot_gpr_6 = (16256u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_6); aot_gpr_6 = (0u | 22u); - ctx.gpr[31] = (0x088364DCu); + aot_gpr_31 = (0x088364DCu); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[22])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 503u, 0x08A05F80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088364DCu) goto L_088364DC; AOT_REGCACHE_SYNC_OUT(); return; @@ -4949,11 +4950,11 @@ L_08836514: } L_0883652C: aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(96))); aot_fpr_12 = std::bit_cast(0u); aot_gpr_6 = (16256u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_6); - ctx.gpr[31] = (0x08836548u); + aot_gpr_31 = (0x08836548u); aot_gpr_6 = (0u | 21u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 503u, 0x08A05F80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08836548u) goto L_08836548; AOT_REGCACHE_SYNC_OUT(); return; @@ -4979,11 +4980,11 @@ L_08836550: } L_08836568: aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(96))); aot_fpr_12 = std::bit_cast(0u); aot_gpr_6 = (16256u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_6); - ctx.gpr[31] = (0x08836584u); + aot_gpr_31 = (0x08836584u); aot_gpr_6 = (0u | 20u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 503u, 0x08A05F80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08836584u) goto L_08836584; AOT_REGCACHE_SYNC_OUT(); return; @@ -5007,7 +5008,7 @@ L_0883658C: } L_0883659C: aot_gpr_5 = (aot_gpr_4 << 2u); - aot_gpr_5 = (aot_gpr_16 + aot_gpr_5); + aot_gpr_5 = (ctx.gpr[16] + aot_gpr_5); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(1672))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(1688))); aot_fpr_12 = aot_fpr_12 / aot_fpr_13; @@ -5038,7 +5039,7 @@ L_088365E4: ctx.fpr[26] = std::bit_cast(aot_run_words[3]); ctx.fpr[28] = std::bit_cast(aot_run_words[4]); ctx.fpr[30] = std::bit_cast(aot_run_words[5]); - aot_gpr_16 = aot_run_words[6]; + ctx.gpr[16] = aot_run_words[6]; ctx.gpr[17] = aot_run_words[7]; aot_gpr_18 = aot_run_words[8]; ctx.gpr[19] = aot_run_words[9]; @@ -5046,9 +5047,9 @@ L_088365E4: ctx.gpr[21] = aot_run_words[11]; ctx.gpr[22] = aot_run_words[12]; ctx.gpr[23] = aot_run_words[13]; - ctx.gpr[31] = aot_run_words[14]; + aot_gpr_31 = aot_run_words[14]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(144)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -5056,10 +5057,10 @@ L_088365E4: AOT_REGCACHE_SYNC_OUT(); return; L_08836628: aot_gpr_29 = (aot_gpr_29 + static_cast(-80)); - { const std::uint32_t aot_run_words[8]{std::bit_cast(aot_fpr_20), aot_gpr_16, ctx.gpr[17], aot_gpr_18, ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[8]{std::bit_cast(aot_fpr_20), ctx.gpr[16], ctx.gpr[17], aot_gpr_18, ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(36), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); + ctx.gpr[16] = (aot_gpr_4 | 0u); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(86)))))); ctx.gpr[17] = (0u | 0u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); aot_gpr_5 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_5) ? 1u : 0u); @@ -5094,7 +5095,7 @@ L_08836690: aot_gpr_4 = (0u | 0u); aot_gpr_5 = (0u | 4u); aot_gpr_6 = (0u | 32u); - ctx.gpr[31] = (0x088366ACu); + aot_gpr_31 = (0x088366ACu); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 158u, 0x08B60C7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088366ACu) goto L_088366AC; AOT_REGCACHE_SYNC_OUT(); return; @@ -5110,16 +5111,16 @@ L_088366BC: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[21] | 0u); aot_gpr_6 = (ctx.gpr[20] | 0u); - ctx.gpr[31] = (0x088366D0u); + aot_gpr_31 = (0x088366D0u); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0167_entry, 167u, 384u, 0x08AA1844u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088366D0u) goto L_088366D0; AOT_REGCACHE_SYNC_OUT(); return; L_088366D0: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); aot_gpr_4 = (ctx.gpr[21] << 2u); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(1620), std::bit_cast(aot_fpr_12)); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(352))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(352))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(124))); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), std::bit_cast(aot_fpr_12)); @@ -5140,7 +5141,7 @@ L_088366D0: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(352))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(352))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(128))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(124))); aot_gpr_6 = (ctx.gpr[21] < static_cast(1) ? 1u : 0u); @@ -5189,7 +5190,7 @@ L_08836748: const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(352))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(352))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(124))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(128))); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; @@ -5214,8 +5215,8 @@ L_08836748: L_088367AC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(60))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1672))); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(352))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1672))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(352))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(116))); aot_gpr_4 = (16512u << 16u); ctx.fpr[15] = std::bit_cast(aot_gpr_4); @@ -5229,16 +5230,16 @@ L_088367AC: ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(88))); { const float fs = ctx.fpr[15]; const float ft = aot_fpr_20; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[15] = std::bit_cast(0x7FC00000u); else ctx.fpr[15] = fs * ft; } aot_fpr_12 = aot_fpr_12 + ctx.fpr[15]; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(1704), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(1704), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (0u | 0u); goto L_088367F8; L_088367F8: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(88))); { const float fs = aot_fpr_12; const float ft = aot_fpr_20; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1704))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1704))); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; aot_gpr_5 = (aot_gpr_4 << 2u); - aot_gpr_5 = (aot_gpr_16 + aot_gpr_5); + aot_gpr_5 = (ctx.gpr[16] + aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(1620), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); aot_gpr_4 = (aot_gpr_4 << 16u); @@ -5320,7 +5321,7 @@ L_088368A8: aot_mem.aot_direct_store32(aot_gpr_18 + static_cast(12), std::bit_cast(aot_fpr_12)); goto L_088368AC; L_088368AC: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(86)))))); aot_gpr_5 = (0u + static_cast(-943)); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -5365,7 +5366,7 @@ L_088368E4: goto L_08836910; } L_08836910: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(352))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(352))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(204))); aot_gpr_5 = (4096u << 16u); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); @@ -5389,11 +5390,11 @@ L_08836930: L_08836938: aot_gpr_4 = (16000u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1704))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1704))); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_18 + static_cast(52))); - aot_gpr_4 = (static_cast(aot_gpr_16) < static_cast(aot_gpr_4) ? 1u : 0u); + aot_gpr_4 = (static_cast(ctx.gpr[16]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_4 = (16076u << 16u); if (branch_taken) { @@ -5459,9 +5460,9 @@ L_088369D4: aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(8), std::bit_cast(aot_fpr_14)); goto L_088369E8; L_088369E8: - aot_gpr_16 = (aot_gpr_16 + static_cast(1)); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(1)); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_18 + static_cast(52))); - aot_gpr_5 = (static_cast(aot_gpr_16) < static_cast(aot_gpr_5) ? 1u : 0u); + aot_gpr_5 = (static_cast(ctx.gpr[16]) < static_cast(aot_gpr_5) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 != 0u; aot_gpr_4 = (aot_gpr_4 + static_cast(32)); if (branch_taken) { @@ -5473,15 +5474,15 @@ L_088369FC: { std::uint32_t aot_run_words[8]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(36), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); - aot_gpr_16 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[1]; ctx.gpr[17] = aot_run_words[2]; aot_gpr_18 = aot_run_words[3]; ctx.gpr[19] = aot_run_words[4]; ctx.gpr[20] = aot_run_words[5]; ctx.gpr[21] = aot_run_words[6]; - ctx.gpr[31] = aot_run_words[7]; + aot_gpr_31 = aot_run_words[7]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(80)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -5489,7 +5490,7 @@ L_088369FC: AOT_REGCACHE_SYNC_OUT(); return; L_08836A24: aot_gpr_29 = (aot_gpr_29 + static_cast(-1056)); - { const std::uint32_t aot_run_words[16]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), aot_gpr_16, ctx.gpr[17], aot_gpr_18, ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[16]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), ctx.gpr[16], ctx.gpr[17], aot_gpr_18, ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(992), aot_run_words); } ctx.gpr[21] = (aot_gpr_4 | 0u); aot_gpr_4 = (2238u << 16u); @@ -5499,7 +5500,7 @@ L_08836A24: aot_gpr_6 = (aot_gpr_29 + static_cast(16)); aot_gpr_18 = (aot_gpr_29 + static_cast(32)); aot_gpr_5 = (ctx.gpr[21] | 0u); - ctx.gpr[31] = (0x08836A90u); + aot_gpr_31 = (0x08836A90u); ctx.gpr[7] = (aot_gpr_18 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0162_entry, 162u, 644u, 0x08A8F64Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08836A90u) goto L_08836A90; AOT_REGCACHE_SYNC_OUT(); return; @@ -5533,7 +5534,7 @@ L_08836AA0: aot_gpr_5 = (aot_gpr_5 | 52429u); aot_fpr_20 = std::bit_cast(aot_gpr_5); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_16 = (ctx.gpr[21] + static_cast(320)); + ctx.gpr[16] = (ctx.gpr[21] + static_cast(320)); if (branch_taken) { goto L_08836B14; } @@ -5549,9 +5550,9 @@ L_08836AF0: goto L_08836AFC; } L_08836AFC: - ctx.gpr[31] = (0x08836B04u); + aot_gpr_31 = (0x08836B04u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(900))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08836B04u) goto L_08836B04; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08836B04u) goto L_08836B04; AOT_REGCACHE_SYNC_OUT(); return; L_08836B04: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -5562,7 +5563,7 @@ L_08836B04: goto L_08836B0C; } L_08836B0C: - ctx.gpr[31] = (0x08836B14u); + aot_gpr_31 = (0x08836B14u); aot_gpr_4 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0017_entry, 17u, 629u, 0x0884B918u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08836B14u) goto L_08836B14; AOT_REGCACHE_SYNC_OUT(); return; @@ -5637,7 +5638,7 @@ L_08836BA4: ctx.fpr[30] = std::bit_cast(aot_gpr_4); aot_gpr_4 = (std::bit_cast(ctx.fpr[30])); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -5652,7 +5653,7 @@ L_08836BA4: const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - ctx.gpr[31] = (0x08836BECu); + aot_gpr_31 = (0x08836BECu); aot_gpr_4 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 538u, 0x08A666C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08836BECu) goto L_08836BEC; AOT_REGCACHE_SYNC_OUT(); return; @@ -5772,7 +5773,7 @@ L_08836C84: aot_fpr_13 = std::bit_cast(aot_run_words[1]); aot_fpr_14 = std::bit_cast(aot_run_words[2]); } - ctx.gpr[31] = (0x08836CD8u); + aot_gpr_31 = (0x08836CD8u); aot_gpr_4 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 600u, 0x08A66CD8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08836CD8u) goto L_08836CD8; AOT_REGCACHE_SYNC_OUT(); return; @@ -5820,7 +5821,7 @@ L_08836CD8: ctx.fpr[16] = std::bit_cast(aot_run_words[1]); ctx.fpr[17] = std::bit_cast(aot_run_words[2]); } - ctx.gpr[31] = (0x08836D1Cu); + aot_gpr_31 = (0x08836D1Cu); aot_gpr_4 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 611u, 0x08A66E08u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08836D1Cu) goto L_08836D1C; AOT_REGCACHE_SYNC_OUT(); return; @@ -5941,7 +5942,7 @@ L_08836DB4: aot_fpr_13 = std::bit_cast(aot_run_words[1]); aot_fpr_14 = std::bit_cast(aot_run_words[2]); } - ctx.gpr[31] = (0x08836E08u); + aot_gpr_31 = (0x08836E08u); aot_gpr_4 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 600u, 0x08A66CD8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08836E08u) goto L_08836E08; AOT_REGCACHE_SYNC_OUT(); return; @@ -5989,7 +5990,7 @@ L_08836E08: ctx.fpr[16] = std::bit_cast(aot_run_words[1]); ctx.fpr[17] = std::bit_cast(aot_run_words[2]); } - ctx.gpr[31] = (0x08836E4Cu); + aot_gpr_31 = (0x08836E4Cu); aot_gpr_4 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 611u, 0x08A66E08u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08836E4Cu) goto L_08836E4C; AOT_REGCACHE_SYNC_OUT(); return; @@ -6014,7 +6015,7 @@ L_08836E70: aot_fpr_13 = std::bit_cast(aot_run_words[1]); aot_fpr_14 = std::bit_cast(aot_run_words[2]); } - ctx.gpr[31] = (0x08836E90u); + aot_gpr_31 = (0x08836E90u); aot_gpr_4 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 600u, 0x08A66CD8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08836E90u) goto L_08836E90; AOT_REGCACHE_SYNC_OUT(); return; @@ -6031,12 +6032,12 @@ L_08836E90: ctx.fpr[16] = std::bit_cast(aot_run_words[1]); ctx.fpr[17] = std::bit_cast(aot_run_words[2]); } - ctx.gpr[31] = (0x08836EB0u); + aot_gpr_31 = (0x08836EB0u); aot_gpr_4 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 611u, 0x08A66E08u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08836EB0u) goto L_08836EB0; AOT_REGCACHE_SYNC_OUT(); return; L_08836EB0: - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -6271,7 +6272,7 @@ L_08837078: aot_gpr_6 = (0u | 46u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 0u); - ctx.gpr[31] = (0x08837098u); + aot_gpr_31 = (0x08837098u); ctx.gpr[9] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0057_entry, 57u, 692u, 0x088EB674u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08837098u) goto L_08837098; AOT_REGCACHE_SYNC_OUT(); return; @@ -6406,7 +6407,7 @@ L_0883716C: goto L_08837198; } L_08837198: - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -6421,7 +6422,7 @@ L_08837198: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(200), std::bit_cast(ctx.fpr[24])); - ctx.gpr[31] = (0x088371B0u); + aot_gpr_31 = (0x088371B0u); aot_gpr_4 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 538u, 0x08A666C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088371B0u) goto L_088371B0; AOT_REGCACHE_SYNC_OUT(); return; @@ -6449,7 +6450,7 @@ L_088371CC: aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_5 = (0u | 46u); aot_gpr_6 = (0u | 0u); - ctx.gpr[31] = (0x088371E4u); + aot_gpr_31 = (0x088371E4u); ctx.gpr[8] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0192_entry, 192u, 212u, 0x08B04D14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088371E4u) goto L_088371E4; AOT_REGCACHE_SYNC_OUT(); return; @@ -6467,7 +6468,7 @@ L_088371E4: } L_088371FC: aot_gpr_4 = (ctx.gpr[21] | 0u); - ctx.gpr[31] = (0x08837208u); + aot_gpr_31 = (0x08837208u); aot_gpr_5 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08837208u) goto L_08837208; AOT_REGCACHE_SYNC_OUT(); return; @@ -6481,7 +6482,7 @@ L_08837208: } L_08837210: aot_gpr_4 = (ctx.gpr[21] | 0u); - ctx.gpr[31] = (0x0883721Cu); + aot_gpr_31 = (0x0883721Cu); aot_gpr_5 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883721Cu) goto L_0883721C; AOT_REGCACHE_SYNC_OUT(); return; @@ -6491,7 +6492,7 @@ L_0883721C: aot_gpr_5 = (aot_gpr_5 | ctx.gpr[20]); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_5); aot_gpr_4 = (ctx.gpr[21] | 0u); - ctx.gpr[31] = (0x08837238u); + aot_gpr_31 = (0x08837238u); aot_gpr_5 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08837238u) goto L_08837238; AOT_REGCACHE_SYNC_OUT(); return; @@ -6500,7 +6501,7 @@ L_08837238: aot_gpr_5 = (0u | 46u); aot_gpr_6 = (0u | 0u); ctx.gpr[7] = (ctx.gpr[2] | 0u); - ctx.gpr[31] = (0x08837250u); + aot_gpr_31 = (0x08837250u); ctx.gpr[8] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0192_entry, 192u, 212u, 0x08B04D14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08837250u) goto L_08837250; AOT_REGCACHE_SYNC_OUT(); return; @@ -6524,7 +6525,7 @@ L_08837264: goto L_0883726C; } L_0883726C: - ctx.gpr[31] = (0x08837274u); + aot_gpr_31 = (0x08837274u); aot_gpr_4 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 769u, 0x0883376Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08837274u) goto L_08837274; AOT_REGCACHE_SYNC_OUT(); return; @@ -6589,7 +6590,7 @@ L_088372CC: goto L_088372DC; } L_088372DC: - ctx.gpr[31] = (0x088372E4u); + aot_gpr_31 = (0x088372E4u); aot_gpr_4 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 769u, 0x0883376Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088372E4u) goto L_088372E4; AOT_REGCACHE_SYNC_OUT(); return; @@ -6675,17 +6676,17 @@ L_08837338: { const float fs = aot_fpr_12; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); ctx.gpr[20] = (std::bit_cast(aot_fpr_12)); - ctx.gpr[31] = (0x088373C0u); + aot_gpr_31 = (0x088373C0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088373C0u) goto L_088373C0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088373C0u) goto L_088373C0; AOT_REGCACHE_SYNC_OUT(); return; L_088373C0: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_5 = (0u | 0u); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-29692))); - ctx.gpr[31] = (0x088373D4u); + aot_gpr_31 = (0x088373D4u); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-29696))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088373D4u) goto L_088373D4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088373D4u) goto L_088373D4; AOT_REGCACHE_SYNC_OUT(); return; L_088373D4: ctx.gpr[1] = (ctx.gpr[3] << 1u); @@ -6734,9 +6735,9 @@ L_088373D4: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (15897u << 16u); aot_gpr_4 = (aot_gpr_4 | 39322u); - ctx.gpr[31] = (0x08837448u); + aot_gpr_31 = (0x08837448u); ctx.fpr[24] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08837448u) goto L_08837448; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08837448u) goto L_08837448; AOT_REGCACHE_SYNC_OUT(); return; L_08837448: aot_fpr_12 = aot_fpr_20 - ctx.fpr[24]; @@ -6752,7 +6753,7 @@ L_08837448: aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[28])); ctx.gpr[7] = (0u | 75u); ctx.gpr[8] = (ctx.gpr[19] | 0u); - ctx.gpr[31] = (0x08837488u); + aot_gpr_31 = (0x08837488u); ctx.gpr[9] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0079_entry, 79u, 352u, 0x089421CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08837488u) goto L_08837488; AOT_REGCACHE_SYNC_OUT(); return; @@ -6831,7 +6832,7 @@ L_088374B0: aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[28])); ctx.gpr[7] = (0u | 75u); ctx.gpr[8] = (ctx.gpr[19] | 0u); - ctx.gpr[31] = (0x0883750Cu); + aot_gpr_31 = (0x0883750Cu); ctx.gpr[9] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0079_entry, 79u, 352u, 0x089421CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883750Cu) goto L_0883750C; AOT_REGCACHE_SYNC_OUT(); return; @@ -6865,7 +6866,7 @@ L_0883750C: aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[28])); ctx.gpr[7] = (0u | 75u); ctx.gpr[8] = (ctx.gpr[19] | 0u); - ctx.gpr[31] = (0x0883753Cu); + aot_gpr_31 = (0x0883753Cu); ctx.gpr[9] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0079_entry, 79u, 352u, 0x089421CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883753Cu) goto L_0883753C; AOT_REGCACHE_SYNC_OUT(); return; @@ -6881,7 +6882,7 @@ L_0883753C: goto L_08837550; } L_08837550: - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -6896,7 +6897,7 @@ L_08837550: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(312), std::bit_cast(aot_fpr_20)); - ctx.gpr[31] = (0x08837568u); + aot_gpr_31 = (0x08837568u); aot_gpr_4 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 538u, 0x08A666C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08837568u) goto L_08837568; AOT_REGCACHE_SYNC_OUT(); return; @@ -6905,7 +6906,7 @@ L_08837568: aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_6 = (0u | 165u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[28])); - ctx.gpr[31] = (0x08837580u); + aot_gpr_31 = (0x08837580u); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[26])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 503u, 0x08A05F80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08837580u) goto L_08837580; AOT_REGCACHE_SYNC_OUT(); return; @@ -6944,9 +6945,9 @@ L_088375B0: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_16 = (aot_gpr_29 + static_cast(320)); + ctx.gpr[16] = (aot_gpr_29 + static_cast(320)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(336), std::bit_cast(ctx.fpr[28])); @@ -6957,7 +6958,7 @@ L_088375B0: aot_fpr_14 = std::bit_cast(aot_run_words[2]); } aot_gpr_4 = (aot_gpr_29 + static_cast(336)); - ctx.gpr[31] = (0x088375DCu); + aot_gpr_31 = (0x088375DCu); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0189_entry, 189u, 115u, 0x08AF8668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088375DCu) goto L_088375DC; AOT_REGCACHE_SYNC_OUT(); return; @@ -6997,7 +6998,7 @@ L_08837600: ctx.gpr[20] = (aot_gpr_29 + static_cast(80)); goto L_08837628; L_08837628: - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -7010,9 +7011,9 @@ L_08837628: const std::uint32_t vfpu_address = aot_gpr_18 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - ctx.gpr[31] = (0x08837638u); + aot_gpr_31 = (0x08837638u); ctx.fpr[24] = std::bit_cast(std::bit_cast(aot_fpr_20) ^ 0x80000000u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08837638u) goto L_08837638; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08837638u) goto L_08837638; AOT_REGCACHE_SYNC_OUT(); return; L_08837638: aot_fpr_12 = aot_fpr_20 - ctx.fpr[24]; @@ -7021,9 +7022,9 @@ L_08837638: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(368))); aot_fpr_12 = aot_fpr_13 + aot_fpr_12; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(368), std::bit_cast(aot_fpr_12)); - ctx.gpr[31] = (0x08837658u); + aot_gpr_31 = (0x08837658u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08837658u) goto L_08837658; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08837658u) goto L_08837658; AOT_REGCACHE_SYNC_OUT(); return; L_08837658: aot_fpr_12 = aot_fpr_20 - ctx.fpr[24]; @@ -7043,7 +7044,7 @@ L_08837658: ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[11] = (0u | 0u); - ctx.gpr[31] = (0x088376A8u); + aot_gpr_31 = (0x088376A8u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0063_entry, 63u, 90u, 0x0890043Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088376A8u) goto L_088376A8; AOT_REGCACHE_SYNC_OUT(); return; @@ -7088,9 +7089,9 @@ L_088376D8: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_16 = (aot_gpr_29 + static_cast(384)); + ctx.gpr[16] = (aot_gpr_29 + static_cast(384)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(400), std::bit_cast(ctx.fpr[28])); @@ -7101,7 +7102,7 @@ L_088376D8: aot_fpr_14 = std::bit_cast(aot_run_words[2]); } aot_gpr_4 = (aot_gpr_29 + static_cast(400)); - ctx.gpr[31] = (0x08837704u); + aot_gpr_31 = (0x08837704u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0189_entry, 189u, 115u, 0x08AF8668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08837704u) goto L_08837704; AOT_REGCACHE_SYNC_OUT(); return; @@ -7140,9 +7141,9 @@ L_08837728: aot_fpr_12 = std::bit_cast(aot_gpr_4); ctx.gpr[8] = (aot_gpr_29 + static_cast(80)); aot_gpr_4 = (0u | 9u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); ctx.gpr[7] = (0u | 2500u); - ctx.gpr[31] = (0x08837768u); + aot_gpr_31 = (0x08837768u); ctx.gpr[9] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0079_entry, 79u, 352u, 0x089421CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08837768u) goto L_08837768; AOT_REGCACHE_SYNC_OUT(); return; @@ -7236,7 +7237,7 @@ L_088377EC: aot_gpr_4 = (aot_gpr_4 | 52429u); ctx.fpr[24] = std::bit_cast(aot_gpr_4); ctx.gpr[17] = (aot_gpr_29 + static_cast(592)); - aot_gpr_16 = (aot_gpr_29 + static_cast(576)); + ctx.gpr[16] = (aot_gpr_29 + static_cast(576)); aot_gpr_4 = (17658u << 16u); ctx.fpr[30] = std::bit_cast(aot_gpr_4); ctx.gpr[22] = (aot_gpr_5 | 0u); @@ -7355,7 +7356,7 @@ L_08837890: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (ctx.gpr[20] | 0u); - ctx.gpr[31] = (0x08837910u); + aot_gpr_31 = (0x08837910u); aot_gpr_6 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 158u, 0x08830C0Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08837910u) goto L_08837910; AOT_REGCACHE_SYNC_OUT(); return; @@ -7486,7 +7487,7 @@ L_08837998: ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); @@ -7498,7 +7499,7 @@ L_08837998: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -7564,12 +7565,12 @@ L_08837998: ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - ctx.gpr[31] = (0x08837A2Cu); + aot_gpr_31 = (0x08837A2Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08837A2Cu) goto L_08837A2C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08837A2Cu) goto L_08837A2C; AOT_REGCACHE_SYNC_OUT(); return; L_08837A2C: aot_gpr_4 = (16672u << 16u); @@ -7578,9 +7579,9 @@ L_08837A2C: { const float fs = aot_fpr_12; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = ctx.fpr[28] + aot_fpr_12; aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); - ctx.gpr[31] = (0x08837A4Cu); + aot_gpr_31 = (0x08837A4Cu); ctx.gpr[20] = (std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08837A4Cu) goto L_08837A4C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08837A4Cu) goto L_08837A4C; AOT_REGCACHE_SYNC_OUT(); return; L_08837A4C: aot_gpr_4 = (17076u << 16u); @@ -7592,13 +7593,13 @@ L_08837A4C: ctx.gpr[10] = (std::bit_cast(aot_fpr_13)); aot_gpr_4 = (0u | 50u); aot_gpr_5 = (ctx.gpr[17] | 0u); - aot_gpr_6 = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); ctx.gpr[8] = (aot_gpr_29 + static_cast(432)); ctx.gpr[7] = (0u | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); ctx.gpr[9] = (ctx.gpr[20] | 0u); ctx.gpr[11] = (0u | 1u); - ctx.gpr[31] = (0x08837A90u); + aot_gpr_31 = (0x08837A90u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0063_entry, 63u, 90u, 0x0890043Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08837A90u) goto L_08837A90; AOT_REGCACHE_SYNC_OUT(); return; @@ -7642,19 +7643,19 @@ L_08837A90: ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (0u | 66u); aot_gpr_5 = (ctx.gpr[17] | 0u); - aot_gpr_6 = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); ctx.gpr[8] = (aot_gpr_29 + static_cast(436)); ctx.gpr[7] = (0u | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[11] = (0u | 0u); - ctx.gpr[31] = (0x08837AECu); + aot_gpr_31 = (0x08837AECu); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0063_entry, 63u, 90u, 0x0890043Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08837AECu) goto L_08837AEC; AOT_REGCACHE_SYNC_OUT(); return; @@ -7675,7 +7676,7 @@ L_08837AFC: { const float fs = ctx.fpr[22]; const float ft = ctx.fpr[30]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_6 = (16256u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_6); - ctx.gpr[31] = (0x08837B1Cu); + aot_gpr_31 = (0x08837B1Cu); aot_gpr_6 = (0u | 24u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 503u, 0x08A05F80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08837B1Cu) goto L_08837B1C; AOT_REGCACHE_SYNC_OUT(); return; @@ -7699,7 +7700,7 @@ L_08837B30: ctx.fpr[26] = std::bit_cast(aot_run_words[3]); ctx.fpr[28] = std::bit_cast(aot_run_words[4]); ctx.fpr[30] = std::bit_cast(aot_run_words[5]); - aot_gpr_16 = aot_run_words[6]; + ctx.gpr[16] = aot_run_words[6]; ctx.gpr[17] = aot_run_words[7]; aot_gpr_18 = aot_run_words[8]; ctx.gpr[19] = aot_run_words[9]; @@ -7708,9 +7709,9 @@ L_08837B30: ctx.gpr[22] = aot_run_words[12]; ctx.gpr[23] = aot_run_words[13]; ctx.gpr[30] = aot_run_words[14]; - ctx.gpr[31] = aot_run_words[15]; + aot_gpr_31 = aot_run_words[15]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(1056)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -7718,7 +7719,7 @@ L_08837B30: AOT_REGCACHE_SYNC_OUT(); return; L_08837B78: aot_gpr_29 = (aot_gpr_29 + static_cast(-1920)); - { const std::uint32_t aot_run_words[16]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), aot_gpr_16, ctx.gpr[17], aot_gpr_18, ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[16]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), ctx.gpr[16], ctx.gpr[17], aot_gpr_18, ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(1856), aot_run_words); } aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7080))); aot_gpr_6 = (2236u << 16u); @@ -7744,9 +7745,9 @@ L_08837BE0: goto L_08837BEC; } L_08837BEC: - ctx.gpr[31] = (0x08837BF4u); + aot_gpr_31 = (0x08837BF4u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08837BF4u) goto L_08837BF4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08837BF4u) goto L_08837BF4; AOT_REGCACHE_SYNC_OUT(); return; L_08837BF4: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -7766,12 +7767,12 @@ L_08837BFC: goto L_08837C08; } L_08837C08: - ctx.gpr[31] = (0x08837C10u); + aot_gpr_31 = (0x08837C10u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08837C10u) goto L_08837C10; AOT_REGCACHE_SYNC_OUT(); return; L_08837C10: - ctx.gpr[31] = (0x08837C18u); + aot_gpr_31 = (0x08837C18u); aot_gpr_4 = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 519u, 0x08946B3Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08837C18u) goto L_08837C18; AOT_REGCACHE_SYNC_OUT(); return; @@ -7785,7 +7786,7 @@ L_08837C18: goto L_08837C24; } L_08837C24: - ctx.gpr[31] = (0x08837C2Cu); + aot_gpr_31 = (0x08837C2Cu); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0097_entry, 97u, 941u, 0x0898BA34u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08837C2Cu) goto L_08837C2C; AOT_REGCACHE_SYNC_OUT(); return; @@ -7799,14 +7800,14 @@ L_08837C2C: goto L_08837C38; } L_08837C38: - ctx.gpr[31] = (0x08837C40u); + aot_gpr_31 = (0x08837C40u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 672u, 0x08912A70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08837C40u) goto L_08837C40; AOT_REGCACHE_SYNC_OUT(); return; L_08837C40: - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[30] + static_cast(565))); - aot_gpr_4 = (static_cast(aot_gpr_16) < static_cast(aot_gpr_4) ? 1u : 0u); + aot_gpr_4 = (static_cast(ctx.gpr[16]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -7816,8 +7817,8 @@ L_08837C40: } L_08837C54: aot_gpr_4 = (ctx.gpr[30] | 0u); - ctx.gpr[31] = (0x08837C60u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_31 = (0x08837C60u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08837C60u) goto L_08837C60; AOT_REGCACHE_SYNC_OUT(); return; L_08837C60: @@ -7830,19 +7831,19 @@ L_08837C60: } L_08837C68: aot_gpr_4 = (ctx.gpr[30] | 0u); - ctx.gpr[31] = (0x08837C74u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_31 = (0x08837C74u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08837C74u) goto L_08837C74; AOT_REGCACHE_SYNC_OUT(); return; L_08837C74: - ctx.gpr[31] = (0x08837C7Cu); + aot_gpr_31 = (0x08837C7Cu); aot_gpr_4 = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 672u, 0x08912A70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08837C7Cu) goto L_08837C7C; AOT_REGCACHE_SYNC_OUT(); return; L_08837C7C: - aot_gpr_16 = (aot_gpr_16 + static_cast(1)); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(1)); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[30] + static_cast(565))); - aot_gpr_4 = (static_cast(aot_gpr_16) < static_cast(aot_gpr_4) ? 1u : 0u); + aot_gpr_4 = (static_cast(ctx.gpr[16]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -7851,14 +7852,14 @@ L_08837C7C: goto L_08837C90; } L_08837C90: - ctx.gpr[31] = (0x08837C98u); + aot_gpr_31 = (0x08837C98u); aot_gpr_4 = (ctx.gpr[30] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 546u, 0x08B020D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08837C98u) goto L_08837C98; AOT_REGCACHE_SYNC_OUT(); return; L_08837C98: ctx.gpr[19] = (ctx.gpr[2] | 0u); - aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[30] + static_cast(864))); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[30] + static_cast(864))); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08837CD4; @@ -7869,16 +7870,16 @@ L_08837CA8: ctx.gpr[17] = (aot_gpr_29 + static_cast(320)); aot_gpr_6 = (ctx.gpr[30] + static_cast(880)); aot_gpr_4 = (ctx.gpr[17] | 0u); - ctx.gpr[31] = (0x08837CBCu); + aot_gpr_31 = (0x08837CBCu); aot_gpr_5 = (ctx.gpr[30] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 39u, 0x08830288u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08837CBCu) goto L_08837CBC; AOT_REGCACHE_SYNC_OUT(); return; L_08837CBC: aot_gpr_4 = (ctx.gpr[30] | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_6 = (ctx.gpr[17] | 0u); ctx.gpr[7] = (ctx.gpr[30] | 0u); - ctx.gpr[31] = (0x08837CD4u); + aot_gpr_31 = (0x08837CD4u); ctx.gpr[8] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 828u, 0x0893FA88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08837CD4u) goto L_08837CD4; AOT_REGCACHE_SYNC_OUT(); return; @@ -7892,7 +7893,7 @@ L_08837CD4: goto L_08837CE0; } L_08837CE0: - ctx.gpr[31] = (0x08837CE8u); + aot_gpr_31 = (0x08837CE8u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0129_entry, 129u, 595u, 0x08A0BA78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08837CE8u) goto L_08837CE8; AOT_REGCACHE_SYNC_OUT(); return; @@ -7904,7 +7905,7 @@ L_08837CE8: } goto L_08837CF4; L_08837CF4: - ctx.gpr[31] = (0x08837CFCu); + aot_gpr_31 = (0x08837CFCu); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0129_entry, 129u, 595u, 0x08A0BA78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08837CFCu) goto L_08837CFC; AOT_REGCACHE_SYNC_OUT(); return; @@ -8138,14 +8139,14 @@ L_08837EA4: } L_08837EC4: aot_gpr_4 = (aot_gpr_29 + static_cast(336)); - ctx.gpr[31] = (0x08837ED0u); + aot_gpr_31 = (0x08837ED0u); aot_gpr_5 = (ctx.gpr[30] + static_cast(48)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 63u, 0x08830460u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08837ED0u) goto L_08837ED0; AOT_REGCACHE_SYNC_OUT(); return; L_08837ED0: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_5 = (0u | 1u); - ctx.gpr[31] = (0x08837EE0u); + aot_gpr_31 = (0x08837EE0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[26])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0118_entry, 118u, 193u, 0x089DD3C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08837EE0u) goto L_08837EE0; AOT_REGCACHE_SYNC_OUT(); return; @@ -8158,9 +8159,9 @@ L_08837EE0: goto L_08837EE8; } L_08837EE8: - ctx.gpr[31] = (0x08837EF0u); + aot_gpr_31 = (0x08837EF0u); aot_gpr_4 = (ctx.gpr[30] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 128u, 0x08830934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08837EF0u) goto L_08837EF0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830934, 11u, 128u, 0x08830934u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 128u, 0x08830934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08837EF0u) goto L_08837EF0; AOT_REGCACHE_SYNC_OUT(); return; L_08837EF0: aot_gpr_4 = (0u | 2u); @@ -8172,40 +8173,40 @@ L_08837EF0: goto L_08837EFC; } L_08837EFC: - ctx.gpr[31] = (0x08837F04u); + aot_gpr_31 = (0x08837F04u); aot_gpr_4 = (ctx.gpr[30] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 108u, 0x088307E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08837F04u) goto L_08837F04; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088307E0, 11u, 108u, 0x088307E0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 108u, 0x088307E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08837F04u) goto L_08837F04; AOT_REGCACHE_SYNC_OUT(); return; L_08837F04: aot_gpr_4 = (aot_gpr_29 + static_cast(352)); - ctx.gpr[31] = (0x08837F10u); + aot_gpr_31 = (0x08837F10u); aot_gpr_5 = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 63u, 0x08830460u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08837F10u) goto L_08837F10; AOT_REGCACHE_SYNC_OUT(); return; L_08837F10: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_5 = (0u | 1u); - ctx.gpr[31] = (0x08837F20u); + aot_gpr_31 = (0x08837F20u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[26])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0118_entry, 118u, 193u, 0x089DD3C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08837F20u) goto L_08837F20; AOT_REGCACHE_SYNC_OUT(); return; L_08837F20: - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); aot_gpr_18 = (0u | 0u); - ctx.gpr[31] = (0x08837F30u); + aot_gpr_31 = (0x08837F30u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08837F30u) goto L_08837F30; AOT_REGCACHE_SYNC_OUT(); return; L_08837F30: { const bool branch_taken = ctx.gpr[2] == 0u; - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(1815), static_cast(aot_gpr_16)); + aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(1815), static_cast(ctx.gpr[16])); if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0013_entry, 13u, 13u, 0x08838094u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08837F38; } L_08837F38: - ctx.gpr[31] = (0x08837F40u); + aot_gpr_31 = (0x08837F40u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08837F40u) goto L_08837F40; AOT_REGCACHE_SYNC_OUT(); return; @@ -8218,12 +8219,12 @@ L_08837F40: goto L_08837F48; } L_08837F48: - ctx.gpr[31] = (0x08837F50u); + aot_gpr_31 = (0x08837F50u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08837F50u) goto L_08837F50; AOT_REGCACHE_SYNC_OUT(); return; L_08837F50: - ctx.gpr[31] = (0x08837F58u); + aot_gpr_31 = (0x08837F58u); aot_gpr_4 = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 857u, 0x08833F54u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08837F58u) goto L_08837F58; AOT_REGCACHE_SYNC_OUT(); return; @@ -8237,7 +8238,7 @@ L_08837F58: goto L_08837F64; } L_08837F64: - ctx.gpr[31] = (0x08837F6Cu); + aot_gpr_31 = (0x08837F6Cu); aot_gpr_4 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 178u, 0x08830D4Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08837F6Cu) goto L_08837F6C; AOT_REGCACHE_SYNC_OUT(); return; @@ -8251,7 +8252,7 @@ L_08837F6C: goto L_08837F78; } L_08837F78: - ctx.gpr[31] = (0x08837F80u); + aot_gpr_31 = (0x08837F80u); aot_gpr_4 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 178u, 0x08830D4Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08837F80u) goto L_08837F80; AOT_REGCACHE_SYNC_OUT(); return; @@ -8264,7 +8265,7 @@ L_08837F80: goto L_08837F88; } L_08837F88: - ctx.gpr[31] = (0x08837F90u); + aot_gpr_31 = (0x08837F90u); aot_gpr_4 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 178u, 0x08830D4Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08837F90u) goto L_08837F90; AOT_REGCACHE_SYNC_OUT(); return; @@ -8278,7 +8279,7 @@ L_08837F90: goto L_08837F9C; } L_08837F9C: - ctx.gpr[31] = (0x08837FA4u); + aot_gpr_31 = (0x08837FA4u); aot_gpr_4 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 178u, 0x08830D4Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08837FA4u) goto L_08837FA4; AOT_REGCACHE_SYNC_OUT(); return; @@ -8292,12 +8293,12 @@ L_08837FA4: goto L_08837FB0; } L_08837FB0: - ctx.gpr[31] = (0x08837FB8u); + aot_gpr_31 = (0x08837FB8u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 22u, 0x08960240u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08837FB8u) goto L_08837FB8; AOT_REGCACHE_SYNC_OUT(); return; L_08837FB8: - ctx.gpr[31] = (0x08837FC0u); + aot_gpr_31 = (0x08837FC0u); aot_gpr_4 = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 82u, 0x08830634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08837FC0u) goto L_08837FC0; AOT_REGCACHE_SYNC_OUT(); return; @@ -8316,12 +8317,12 @@ L_08837FC0: } L_08837FDC: aot_gpr_18 = (0u | 1u); - ctx.gpr[31] = (0x08837FE8u); + aot_gpr_31 = (0x08837FE8u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 22u, 0x08960240u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08837FE8u) goto L_08837FE8; AOT_REGCACHE_SYNC_OUT(); return; L_08837FE8: - ctx.gpr[31] = (0x08837FF0u); + aot_gpr_31 = (0x08837FF0u); aot_gpr_4 = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 82u, 0x08830634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08837FF0u) goto L_08837FF0; AOT_REGCACHE_SYNC_OUT(); return; diff --git a/profiles/vcs/generated/generated_unit_0013.cpp b/profiles/vcs/generated/generated_unit_0013.cpp index 404e729..c3066d2 100644 --- a/profiles/vcs/generated/generated_unit_0013.cpp +++ b/profiles/vcs/generated/generated_unit_0013.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0013[4096] = { }; void recomp_unit_0013_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,31,30,5,2,29 fprs=12,13,20,26 gpr_occ=3799 fpr_occ=932 gpr_total=4851 fpr_total=1280 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,31,2,30,5,29 fprs=12,13,14,20 gpr_occ=4216 fpr_occ=944 gpr_total=5273 fpr_total=1329 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; + std::uint32_t aot_gpr_2 = ctx.gpr[2]; std::uint32_t aot_gpr_30 = ctx.gpr[30]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; - std::uint32_t aot_gpr_2 = ctx.gpr[2]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; + float aot_fpr_14 = ctx.fpr[14]; float aot_fpr_20 = ctx.fpr[20]; - float aot_fpr_26 = ctx.fpr[26]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[31] = aot_gpr_31; ctx.gpr[30] = aot_gpr_30; ctx.gpr[5] = aot_gpr_5; ctx.gpr[2] = aot_gpr_2; ctx.gpr[29] = aot_gpr_29; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; ctx.fpr[26] = aot_fpr_26; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_30 = ctx.gpr[30]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_2 = ctx.gpr[2]; aot_gpr_29 = ctx.gpr[29]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_26 = ctx.fpr[26]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[31] = aot_gpr_31; ctx.gpr[2] = aot_gpr_2; ctx.gpr[30] = aot_gpr_30; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[20] = aot_fpr_20; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_2 = ctx.gpr[2]; aot_gpr_30 = ctx.gpr[30]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_20 = ctx.fpr[20]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -1363,7 +1364,7 @@ L_08838000: L_0883800C: aot_gpr_31 = (0x08838014u); aot_gpr_4 = (aot_gpr_30 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 148u, 0x08830B10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08838014u) goto L_08838014; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830B10, 11u, 148u, 0x08830B10u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 148u, 0x08830B10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08838014u) goto L_08838014; AOT_REGCACHE_SYNC_OUT(); return; L_08838014: aot_gpr_31 = (0x0883801Cu); @@ -1391,7 +1392,7 @@ L_08838038: ctx.gpr[16] = (aot_gpr_29 + static_cast(368)); aot_gpr_31 = (0x08838044u); aot_gpr_4 = (aot_gpr_30 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 108u, 0x088307E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08838044u) goto L_08838044; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088307E0, 11u, 108u, 0x088307E0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 108u, 0x088307E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08838044u) goto L_08838044; AOT_REGCACHE_SYNC_OUT(); return; L_08838044: ctx.gpr[17] = (aot_gpr_2 | 0u); @@ -1439,7 +1440,7 @@ L_0883808C: L_08838094: aot_gpr_31 = (0x0883809Cu); aot_gpr_4 = (aot_gpr_30 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883809Cu) goto L_0883809C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830A20, 11u, 136u, 0x08830A20u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883809Cu) goto L_0883809C; AOT_REGCACHE_SYNC_OUT(); return; L_0883809C: aot_gpr_4 = (0u + static_cast(-943)); @@ -1453,7 +1454,7 @@ L_0883809C: L_088380A8: aot_gpr_31 = (0x088380B0u); aot_gpr_4 = (aot_gpr_30 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 128u, 0x08830934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088380B0u) goto L_088380B0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830934, 11u, 128u, 0x08830934u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 128u, 0x08830934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088380B0u) goto L_088380B0; AOT_REGCACHE_SYNC_OUT(); return; L_088380B0: aot_gpr_4 = (0u | 12u); @@ -1490,7 +1491,7 @@ L_088380D8: L_088380E0: aot_gpr_31 = (0x088380E8u); aot_gpr_4 = (aot_gpr_30 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 128u, 0x08830934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088380E8u) goto L_088380E8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830934, 11u, 128u, 0x08830934u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 128u, 0x08830934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088380E8u) goto L_088380E8; AOT_REGCACHE_SYNC_OUT(); return; L_088380E8: { const bool branch_taken = aot_gpr_2 == ctx.gpr[21]; @@ -1503,7 +1504,7 @@ L_088380E8: L_088380F0: aot_gpr_31 = (0x088380F8u); aot_gpr_4 = (aot_gpr_30 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 128u, 0x08830934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088380F8u) goto L_088380F8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830934, 11u, 128u, 0x08830934u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 128u, 0x08830934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088380F8u) goto L_088380F8; AOT_REGCACHE_SYNC_OUT(); return; L_088380F8: aot_gpr_4 = (0u | 5u); @@ -1517,7 +1518,7 @@ L_088380F8: L_08838104: aot_gpr_31 = (0x0883810Cu); aot_gpr_4 = (aot_gpr_30 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 128u, 0x08830934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883810Cu) goto L_0883810C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830934, 11u, 128u, 0x08830934u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 128u, 0x08830934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883810Cu) goto L_0883810C; AOT_REGCACHE_SYNC_OUT(); return; L_0883810C: { const bool branch_taken = aot_gpr_2 == 0u; @@ -1530,7 +1531,7 @@ L_0883810C: L_08838114: aot_gpr_31 = (0x0883811Cu); aot_gpr_4 = (aot_gpr_30 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 128u, 0x08830934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883811Cu) goto L_0883811C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830934, 11u, 128u, 0x08830934u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 128u, 0x08830934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883811Cu) goto L_0883811C; AOT_REGCACHE_SYNC_OUT(); return; L_0883811C: aot_gpr_4 = (0u | 12u); @@ -1544,7 +1545,7 @@ L_0883811C: L_08838128: aot_gpr_31 = (0x08838130u); aot_gpr_4 = (aot_gpr_30 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 128u, 0x08830934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08838130u) goto L_08838130; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830934, 11u, 128u, 0x08830934u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 128u, 0x08830934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08838130u) goto L_08838130; AOT_REGCACHE_SYNC_OUT(); return; L_08838130: aot_gpr_4 = (0u | 13u); @@ -1558,7 +1559,7 @@ L_08838130: L_0883813C: aot_gpr_31 = (0x08838144u); aot_gpr_4 = (aot_gpr_30 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08838144u) goto L_08838144; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830A20, 11u, 136u, 0x08830A20u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08838144u) goto L_08838144; AOT_REGCACHE_SYNC_OUT(); return; L_08838144: aot_gpr_4 = (0u | 193u); @@ -1572,7 +1573,7 @@ L_08838144: L_08838150: aot_gpr_31 = (0x08838158u); aot_gpr_4 = (aot_gpr_30 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08838158u) goto L_08838158; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830A20, 11u, 136u, 0x08830A20u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08838158u) goto L_08838158; AOT_REGCACHE_SYNC_OUT(); return; L_08838158: aot_gpr_4 = (0u | 207u); @@ -1586,7 +1587,7 @@ L_08838158: L_08838164: aot_gpr_31 = (0x0883816Cu); aot_gpr_4 = (aot_gpr_30 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883816Cu) goto L_0883816C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830A20, 11u, 136u, 0x08830A20u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883816Cu) goto L_0883816C; AOT_REGCACHE_SYNC_OUT(); return; L_0883816C: aot_gpr_4 = (0u | 234u); @@ -1600,7 +1601,7 @@ L_0883816C: L_08838178: aot_gpr_31 = (0x08838180u); aot_gpr_4 = (aot_gpr_30 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08838180u) goto L_08838180; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830A20, 11u, 136u, 0x08830A20u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08838180u) goto L_08838180; AOT_REGCACHE_SYNC_OUT(); return; L_08838180: aot_gpr_4 = (0u + static_cast(-958)); @@ -1614,7 +1615,7 @@ L_08838180: L_0883818C: aot_gpr_31 = (0x08838194u); aot_gpr_4 = (aot_gpr_30 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08838194u) goto L_08838194; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830A20, 11u, 136u, 0x08830A20u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08838194u) goto L_08838194; AOT_REGCACHE_SYNC_OUT(); return; L_08838194: aot_gpr_4 = (0u | 246u); @@ -1628,7 +1629,7 @@ L_08838194: L_088381A0: aot_gpr_31 = (0x088381A8u); aot_gpr_4 = (aot_gpr_30 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088381A8u) goto L_088381A8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830A20, 11u, 136u, 0x08830A20u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088381A8u) goto L_088381A8; AOT_REGCACHE_SYNC_OUT(); return; L_088381A8: aot_gpr_4 = (0u | 218u); @@ -1700,7 +1701,7 @@ L_08838204: L_0883820C: aot_gpr_31 = (0x08838214u); aot_gpr_5 = (aot_gpr_30 + static_cast(668)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08838214u) goto L_08838214; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08838214u) goto L_08838214; AOT_REGCACHE_SYNC_OUT(); return; L_08838214: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_30 + static_cast(96))); @@ -1750,7 +1751,7 @@ L_08838258: L_08838260: aot_gpr_31 = (0x08838268u); aot_gpr_4 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08838268u) goto L_08838268; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08838268u) goto L_08838268; AOT_REGCACHE_SYNC_OUT(); return; L_08838268: { const bool branch_taken = aot_gpr_2 != 0u; @@ -1903,7 +1904,7 @@ L_0883833C: L_08838348: aot_gpr_31 = (0x08838350u); aot_gpr_4 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08838350u) goto L_08838350; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08838350u) goto L_08838350; AOT_REGCACHE_SYNC_OUT(); return; L_08838350: { const bool branch_taken = aot_gpr_2 != 0u; @@ -2032,8 +2033,8 @@ L_08838410: aot_gpr_4 = (aot_gpr_4 | 39322u); aot_fpr_13 = std::bit_cast(aot_gpr_4); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - ctx.fpr[14] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_30 + static_cast(1704))); - aot_fpr_12 = aot_fpr_12 - ctx.fpr[14]; + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_30 + static_cast(1704))); + aot_fpr_12 = aot_fpr_12 - aot_fpr_14; aot_mem.aot_direct_store32(aot_gpr_30 + static_cast(200), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_30 + static_cast(617)))))); { const bool branch_taken = 0u == 0u; @@ -2060,7 +2061,7 @@ L_08838448: L_08838450: aot_gpr_31 = (0x08838458u); aot_gpr_4 = (aot_gpr_30 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 128u, 0x08830934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08838458u) goto L_08838458; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830934, 11u, 128u, 0x08830934u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 128u, 0x08830934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08838458u) goto L_08838458; AOT_REGCACHE_SYNC_OUT(); return; L_08838458: aot_gpr_4 = (0u | 3u); @@ -2197,7 +2198,7 @@ L_08838528: L_0883854C: aot_gpr_31 = (0x08838554u); aot_gpr_4 = (aot_gpr_30 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08838554u) goto L_08838554; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830A20, 11u, 136u, 0x08830A20u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08838554u) goto L_08838554; AOT_REGCACHE_SYNC_OUT(); return; L_08838554: aot_gpr_4 = (0u | 226u); @@ -2211,7 +2212,7 @@ L_08838554: L_08838560: aot_gpr_31 = (0x08838568u); aot_gpr_4 = (aot_gpr_30 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08838568u) goto L_08838568; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830A20, 11u, 136u, 0x08830A20u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08838568u) goto L_08838568; AOT_REGCACHE_SYNC_OUT(); return; L_08838568: aot_gpr_4 = (0u | 183u); @@ -2225,7 +2226,7 @@ L_08838568: L_08838574: aot_gpr_31 = (0x0883857Cu); aot_gpr_4 = (aot_gpr_30 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883857Cu) goto L_0883857C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830A20, 11u, 136u, 0x08830A20u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883857Cu) goto L_0883857C; AOT_REGCACHE_SYNC_OUT(); return; L_0883857C: aot_gpr_4 = (0u + static_cast(-959)); @@ -2239,7 +2240,7 @@ L_0883857C: L_08838588: aot_gpr_31 = (0x08838590u); aot_gpr_4 = (aot_gpr_30 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08838590u) goto L_08838590; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830A20, 11u, 136u, 0x08830A20u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08838590u) goto L_08838590; AOT_REGCACHE_SYNC_OUT(); return; L_08838590: aot_gpr_4 = (0u + static_cast(-937)); @@ -2255,13 +2256,13 @@ L_0883859C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1820), ctx.gpr[23]); aot_gpr_31 = (0x088385ACu); aot_gpr_4 = (aot_gpr_30 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 108u, 0x088307E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088385ACu) goto L_088385AC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088307E0, 11u, 108u, 0x088307E0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 108u, 0x088307E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088385ACu) goto L_088385AC; AOT_REGCACHE_SYNC_OUT(); return; L_088385AC: ctx.gpr[17] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x088385B8u); aot_gpr_4 = (aot_gpr_30 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088385B8u) goto L_088385B8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0883079C, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088385B8u) goto L_088385B8; AOT_REGCACHE_SYNC_OUT(); return; L_088385B8: ctx.gpr[18] = (aot_gpr_2 | 0u); @@ -2363,7 +2364,7 @@ L_08838698: ctx.gpr[17] = (0u | 0u); aot_gpr_31 = (0x088386A4u); aot_gpr_4 = (aot_gpr_30 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 128u, 0x08830934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088386A4u) goto L_088386A4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830934, 11u, 128u, 0x08830934u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 128u, 0x08830934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088386A4u) goto L_088386A4; AOT_REGCACHE_SYNC_OUT(); return; L_088386A4: aot_gpr_4 = (aot_gpr_2 | 0u); @@ -2447,7 +2448,7 @@ L_08838730: L_08838738: aot_gpr_31 = (0x08838740u); aot_gpr_4 = (aot_gpr_30 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08838740u) goto L_08838740; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830A20, 11u, 136u, 0x08830A20u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08838740u) goto L_08838740; AOT_REGCACHE_SYNC_OUT(); return; L_08838740: aot_gpr_4 = (0u + static_cast(-943)); @@ -2470,7 +2471,7 @@ L_0883874C: L_08838758: aot_gpr_31 = (0x08838760u); aot_gpr_4 = (aot_gpr_30 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 108u, 0x088307E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08838760u) goto L_08838760; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088307E0, 11u, 108u, 0x088307E0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 108u, 0x088307E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08838760u) goto L_08838760; AOT_REGCACHE_SYNC_OUT(); return; L_08838760: aot_gpr_4 = (aot_gpr_29 + static_cast(512)); @@ -2713,7 +2714,7 @@ L_088388E4: L_088388EC: aot_gpr_31 = (0x088388F4u); aot_gpr_4 = (aot_gpr_30 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 128u, 0x08830934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088388F4u) goto L_088388F4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830934, 11u, 128u, 0x08830934u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 128u, 0x08830934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088388F4u) goto L_088388F4; AOT_REGCACHE_SYNC_OUT(); return; L_088388F4: { const bool branch_taken = aot_gpr_2 != 0u; @@ -2825,7 +2826,7 @@ L_088389BC: AOT_REGCACHE_SYNC_OUT(); return; L_088389D0: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(8))); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 <= aot_fpr_26)) ? 0x00800000u : 0u); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 <= ctx.fpr[26])) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -2841,7 +2842,7 @@ L_088389E4: AOT_REGCACHE_SYNC_OUT(); return; L_088389EC: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(8))); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_26)) ? 0x00800000u : 0u); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[26])) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_30 + static_cast(352))); @@ -2883,8 +2884,8 @@ L_08838A30: aot_fpr_13 = std::bit_cast(aot_gpr_2); aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_13))); aot_gpr_4 = (15360u << 16u); - ctx.fpr[14] = std::bit_cast(aot_gpr_4); - { const float fs = aot_fpr_13; const float ft = ctx.fpr[14]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } + aot_fpr_14 = std::bit_cast(aot_gpr_4); + { const float fs = aot_fpr_13; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } { const float fs = aot_fpr_20; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_20 = std::bit_cast(0x7FC00000u); else aot_fpr_20 = fs * ft; } aot_gpr_31 = (0x08838A50u); aot_gpr_4 = (ctx.gpr[22] | 0u); @@ -2925,7 +2926,7 @@ L_08838A7C: L_08838A84: aot_gpr_31 = (0x08838A8Cu); aot_gpr_4 = (aot_gpr_30 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08838A8Cu) goto L_08838A8C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B01E00, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08838A8Cu) goto L_08838A8C; AOT_REGCACHE_SYNC_OUT(); return; L_08838A8C: aot_gpr_4 = (0u | 5u); @@ -2939,7 +2940,7 @@ L_08838A8C: L_08838A98: aot_gpr_31 = (0x08838AA0u); aot_gpr_4 = (aot_gpr_30 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08838AA0u) goto L_08838AA0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B01E00, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08838AA0u) goto L_08838AA0; AOT_REGCACHE_SYNC_OUT(); return; L_08838AA0: aot_gpr_4 = (0u | 3u); @@ -2980,8 +2981,8 @@ L_08838AD0: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_30 + static_cast(212))); aot_gpr_4 = (17723u << 16u); aot_gpr_4 = (aot_gpr_4 | 32768u); - ctx.fpr[14] = std::bit_cast(aot_gpr_4); - aot_fpr_13 = ctx.fpr[14] / aot_fpr_13; + aot_fpr_14 = std::bit_cast(aot_gpr_4); + aot_fpr_13 = aot_fpr_14 / aot_fpr_13; aot_gpr_31 = (0x08838AF4u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 77u, 0x088305BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08838AF4u) goto L_08838AF4; @@ -3047,7 +3048,7 @@ L_08838B58: L_08838B60: aot_fpr_12 = std::bit_cast(aot_gpr_2); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_26)) ? 0x00800000u : 0u); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[26])) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -3083,7 +3084,7 @@ L_08838B98: L_08838BA0: aot_fpr_12 = std::bit_cast(aot_gpr_2); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_26)) ? 0x00800000u : 0u); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[26])) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -3142,7 +3143,7 @@ L_08838C10: L_08838C20: aot_gpr_31 = (0x08838C28u); aot_gpr_4 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08838C28u) goto L_08838C28; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0883079C, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08838C28u) goto L_08838C28; AOT_REGCACHE_SYNC_OUT(); return; L_08838C28: aot_gpr_4 = (ctx.gpr[17] | 0u); @@ -3193,7 +3194,7 @@ L_08838C68: L_08838C74: aot_gpr_31 = (0x08838C7Cu); aot_gpr_4 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08838C7Cu) goto L_08838C7C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0883079C, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08838C7Cu) goto L_08838C7C; AOT_REGCACHE_SYNC_OUT(); return; L_08838C7C: aot_gpr_4 = (ctx.gpr[16] | 0u); @@ -3224,7 +3225,7 @@ L_08838CA8: L_08838CB0: aot_fpr_12 = std::bit_cast(aot_gpr_2); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_26)) ? 0x00800000u : 0u); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[26])) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -3260,7 +3261,7 @@ L_08838CE8: L_08838CF0: aot_fpr_12 = std::bit_cast(aot_gpr_2); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_26)) ? 0x00800000u : 0u); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[26])) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -3393,7 +3394,7 @@ L_08838DF0: L_08838DF8: aot_fpr_12 = std::bit_cast(aot_gpr_2); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_26)) ? 0x00800000u : 0u); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[26])) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -3429,7 +3430,7 @@ L_08838E30: L_08838E38: aot_fpr_12 = std::bit_cast(aot_gpr_2); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_26)) ? 0x00800000u : 0u); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[26])) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -3488,7 +3489,7 @@ L_08838EA8: L_08838EB8: aot_gpr_31 = (0x08838EC0u); aot_gpr_4 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08838EC0u) goto L_08838EC0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0883079C, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08838EC0u) goto L_08838EC0; AOT_REGCACHE_SYNC_OUT(); return; L_08838EC0: aot_gpr_4 = (ctx.gpr[17] | 0u); @@ -3578,7 +3579,7 @@ L_08838F48: L_08838F50: aot_fpr_12 = std::bit_cast(aot_gpr_2); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_26)) ? 0x00800000u : 0u); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[26])) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -3614,7 +3615,7 @@ L_08838F88: L_08838F90: aot_fpr_12 = std::bit_cast(aot_gpr_2); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_26)) ? 0x00800000u : 0u); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[26])) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -3673,7 +3674,7 @@ L_08839000: L_08839010: aot_gpr_31 = (0x08839018u); aot_gpr_4 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08839018u) goto L_08839018; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0883079C, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08839018u) goto L_08839018; AOT_REGCACHE_SYNC_OUT(); return; L_08839018: aot_gpr_4 = (ctx.gpr[17] | 0u); @@ -3812,7 +3813,7 @@ L_088390F0: L_088390F8: aot_gpr_31 = (0x08839100u); aot_gpr_4 = (aot_gpr_30 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08839100u) goto L_08839100; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830A20, 11u, 136u, 0x08830A20u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08839100u) goto L_08839100; AOT_REGCACHE_SYNC_OUT(); return; L_08839100: aot_gpr_4 = (0u + static_cast(-943)); @@ -3826,7 +3827,7 @@ L_08839100: L_0883910C: aot_gpr_31 = (0x08839114u); aot_gpr_4 = (aot_gpr_30 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08839114u) goto L_08839114; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830A20, 11u, 136u, 0x08830A20u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08839114u) goto L_08839114; AOT_REGCACHE_SYNC_OUT(); return; L_08839114: aot_gpr_4 = (0u | 246u); @@ -3842,14 +3843,14 @@ L_08839120: ctx.gpr[16] = (aot_gpr_29 + static_cast(704)); aot_gpr_31 = (0x08839130u); aot_gpr_4 = (aot_gpr_30 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 148u, 0x08830B10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08839130u) goto L_08839130; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830B10, 11u, 148u, 0x08830B10u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 148u, 0x08830B10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08839130u) goto L_08839130; AOT_REGCACHE_SYNC_OUT(); return; L_08839130: ctx.gpr[23] = (aot_gpr_2 | 0u); ctx.gpr[17] = (aot_gpr_29 + static_cast(688)); aot_gpr_31 = (0x08839140u); aot_gpr_4 = (aot_gpr_30 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 148u, 0x08830B10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08839140u) goto L_08839140; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830B10, 11u, 148u, 0x08830B10u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 148u, 0x08830B10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08839140u) goto L_08839140; AOT_REGCACHE_SYNC_OUT(); return; L_08839140: ctx.gpr[22] = (aot_gpr_2 | 0u); @@ -4074,7 +4075,7 @@ L_088392F8: L_08839300: aot_gpr_31 = (0x08839308u); aot_gpr_4 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08839308u) goto L_08839308; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08839308u) goto L_08839308; AOT_REGCACHE_SYNC_OUT(); return; L_08839308: { const bool branch_taken = aot_gpr_2 == 0u; @@ -4198,7 +4199,7 @@ L_088393B8: L_088393C8: aot_gpr_4 = (aot_gpr_30 | 0u); aot_gpr_31 = (0x088393D4u); - aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_26)); + aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[26])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 190u, 0x08830DFCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088393D4u) goto L_088393D4; AOT_REGCACHE_SYNC_OUT(); return; L_088393D4: @@ -4259,13 +4260,13 @@ L_0883942C: L_08839444: aot_gpr_31 = (0x0883944Cu); aot_gpr_4 = (aot_gpr_30 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883944Cu) goto L_0883944C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0883079C, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883944Cu) goto L_0883944C; AOT_REGCACHE_SYNC_OUT(); return; L_0883944C: ctx.gpr[16] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08839458u); aot_gpr_4 = (aot_gpr_30 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 148u, 0x08830B10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08839458u) goto L_08839458; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830B10, 11u, 148u, 0x08830B10u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 148u, 0x08830B10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08839458u) goto L_08839458; AOT_REGCACHE_SYNC_OUT(); return; L_08839458: aot_gpr_4 = (16051u << 16u); @@ -4343,7 +4344,7 @@ L_088394F4: L_08839504: aot_gpr_4 = (aot_gpr_30 | 0u); aot_gpr_31 = (0x08839510u); - aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_26)); + aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[26])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 190u, 0x08830DFCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08839510u) goto L_08839510; AOT_REGCACHE_SYNC_OUT(); return; L_08839510: @@ -4482,7 +4483,7 @@ L_088395E4: L_088395EC: aot_gpr_31 = (0x088395F4u); aot_gpr_4 = (aot_gpr_30 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088395F4u) goto L_088395F4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830A20, 11u, 136u, 0x08830A20u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088395F4u) goto L_088395F4; AOT_REGCACHE_SYNC_OUT(); return; L_088395F4: aot_gpr_4 = (0u + static_cast(-943)); @@ -4496,7 +4497,7 @@ L_088395F4: L_08839600: aot_gpr_31 = (0x08839608u); aot_gpr_4 = (aot_gpr_30 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08839608u) goto L_08839608; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830A20, 11u, 136u, 0x08830A20u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08839608u) goto L_08839608; AOT_REGCACHE_SYNC_OUT(); return; L_08839608: aot_gpr_4 = (0u | 245u); @@ -4510,7 +4511,7 @@ L_08839608: L_08839614: aot_gpr_31 = (0x0883961Cu); aot_gpr_4 = (aot_gpr_30 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883961Cu) goto L_0883961C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830A20, 11u, 136u, 0x08830A20u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883961Cu) goto L_0883961C; AOT_REGCACHE_SYNC_OUT(); return; L_0883961C: aot_gpr_4 = (0u + static_cast(-967)); @@ -4526,7 +4527,7 @@ L_08839628: aot_gpr_4 = (aot_gpr_4 | 1u); aot_mem.aot_direct_store8(aot_gpr_30 + static_cast(1654), static_cast(aot_gpr_4)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7888))); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_26)) ? 0x00800000u : 0u); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[26])) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -4545,15 +4546,15 @@ L_08839650: aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7888))); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; - ctx.fpr[14] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-29820))); - { const float fs = ctx.fpr[14]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-29820))); + { const float fs = aot_fpr_14; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_30 + static_cast(208))); { const float fs = aot_fpr_12; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } { const float fs = aot_fpr_12; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_20 = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); aot_gpr_31 = (0x08839680u); aot_gpr_4 = (aot_gpr_30 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 148u, 0x08830B10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08839680u) goto L_08839680; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830B10, 11u, 148u, 0x08830B10u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 148u, 0x08830B10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08839680u) goto L_08839680; AOT_REGCACHE_SYNC_OUT(); return; L_08839680: aot_gpr_4 = (ctx.gpr[16] | 0u); @@ -4589,7 +4590,7 @@ L_088396AC: aot_fpr_20 = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); aot_gpr_31 = (0x088396C8u); aot_gpr_4 = (aot_gpr_30 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 148u, 0x08830B10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088396C8u) goto L_088396C8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830B10, 11u, 148u, 0x08830B10u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 148u, 0x08830B10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088396C8u) goto L_088396C8; AOT_REGCACHE_SYNC_OUT(); return; L_088396C8: aot_gpr_4 = (ctx.gpr[16] | 0u); @@ -4616,7 +4617,7 @@ L_088396E4: L_088396F0: aot_gpr_31 = (0x088396F8u); aot_gpr_4 = (aot_gpr_30 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 148u, 0x08830B10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088396F8u) goto L_088396F8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830B10, 11u, 148u, 0x08830B10u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 148u, 0x08830B10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088396F8u) goto L_088396F8; AOT_REGCACHE_SYNC_OUT(); return; L_088396F8: aot_gpr_31 = (0x08839700u); @@ -4655,7 +4656,7 @@ L_08839730: L_08839738: aot_gpr_4 = (aot_gpr_30 | 0u); aot_gpr_31 = (0x08839744u); - aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_26)); + aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[26])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 192u, 0x08830E0Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08839744u) goto L_08839744; AOT_REGCACHE_SYNC_OUT(); return; L_08839744: @@ -4667,13 +4668,13 @@ L_08839744: L_08839750: aot_gpr_4 = (aot_gpr_30 | 0u); aot_gpr_31 = (0x0883975Cu); - aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_26)); + aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[26])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 189u, 0x08830DF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883975Cu) goto L_0883975C; AOT_REGCACHE_SYNC_OUT(); return; L_0883975C: aot_gpr_4 = (aot_gpr_30 | 0u); aot_gpr_31 = (0x08839768u); - aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_26)); + aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[26])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 190u, 0x08830DFCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08839768u) goto L_08839768; AOT_REGCACHE_SYNC_OUT(); return; L_08839768: @@ -4704,7 +4705,7 @@ L_0883977C: L_08839788: aot_gpr_4 = (aot_gpr_30 | 0u); aot_gpr_31 = (0x08839794u); - aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_26)); + aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[26])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 190u, 0x08830DFCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08839794u) goto L_08839794; AOT_REGCACHE_SYNC_OUT(); return; L_08839794: @@ -4732,7 +4733,7 @@ L_088397B0: L_088397BC: aot_gpr_31 = (0x088397C4u); aot_gpr_4 = (aot_gpr_30 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 148u, 0x08830B10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088397C4u) goto L_088397C4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830B10, 11u, 148u, 0x08830B10u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 148u, 0x08830B10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088397C4u) goto L_088397C4; AOT_REGCACHE_SYNC_OUT(); return; L_088397C4: aot_gpr_31 = (0x088397CCu); @@ -4773,7 +4774,7 @@ L_088397F8: L_08839800: aot_gpr_31 = (0x08839808u); aot_gpr_4 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08839808u) goto L_08839808; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08839808u) goto L_08839808; AOT_REGCACHE_SYNC_OUT(); return; L_08839808: { const bool branch_taken = aot_gpr_2 == 0u; @@ -4897,7 +4898,7 @@ L_088398B8: L_088398C8: aot_gpr_4 = (aot_gpr_30 | 0u); aot_gpr_31 = (0x088398D4u); - aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_26)); + aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[26])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 190u, 0x08830DFCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088398D4u) goto L_088398D4; AOT_REGCACHE_SYNC_OUT(); return; L_088398D4: @@ -4911,7 +4912,7 @@ L_088398D4: L_088398DC: aot_gpr_4 = (aot_gpr_30 | 0u); aot_gpr_31 = (0x088398E8u); - aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_26)); + aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[26])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 192u, 0x08830E0Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088398E8u) goto L_088398E8; AOT_REGCACHE_SYNC_OUT(); return; L_088398E8: @@ -4923,13 +4924,13 @@ L_088398E8: L_088398F4: aot_gpr_4 = (aot_gpr_30 | 0u); aot_gpr_31 = (0x08839900u); - aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_26)); + aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[26])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 189u, 0x08830DF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08839900u) goto L_08839900; AOT_REGCACHE_SYNC_OUT(); return; L_08839900: aot_gpr_4 = (aot_gpr_30 | 0u); aot_gpr_31 = (0x0883990Cu); - aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_26)); + aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[26])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 190u, 0x08830DFCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883990Cu) goto L_0883990C; AOT_REGCACHE_SYNC_OUT(); return; L_0883990C: @@ -4974,13 +4975,13 @@ L_08839940: L_0883994C: aot_gpr_4 = (aot_gpr_30 | 0u); aot_gpr_31 = (0x08839958u); - aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_26)); + aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[26])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 189u, 0x08830DF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08839958u) goto L_08839958; AOT_REGCACHE_SYNC_OUT(); return; L_08839958: aot_gpr_4 = (aot_gpr_30 | 0u); aot_gpr_31 = (0x08839964u); - aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_26)); + aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[26])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 190u, 0x08830DFCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08839964u) goto L_08839964; AOT_REGCACHE_SYNC_OUT(); return; L_08839964: @@ -5073,7 +5074,7 @@ L_088399E0: L_088399E8: aot_gpr_31 = (0x088399F0u); aot_gpr_4 = (aot_gpr_30 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 128u, 0x08830934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088399F0u) goto L_088399F0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830934, 11u, 128u, 0x08830934u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 128u, 0x08830934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088399F0u) goto L_088399F0; AOT_REGCACHE_SYNC_OUT(); return; L_088399F0: if (aot_gpr_2 == ctx.gpr[21]) { @@ -5084,7 +5085,7 @@ L_088399F0: L_088399F8: aot_gpr_31 = (0x08839A00u); aot_gpr_4 = (aot_gpr_30 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 128u, 0x08830934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08839A00u) goto L_08839A00; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830934, 11u, 128u, 0x08830934u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 128u, 0x08830934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08839A00u) goto L_08839A00; AOT_REGCACHE_SYNC_OUT(); return; L_08839A00: aot_gpr_4 = (0u | 5u); @@ -5127,11 +5128,11 @@ L_08839A20: L_08839A3C: aot_gpr_31 = (0x08839A44u); aot_gpr_4 = (aot_gpr_30 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 148u, 0x08830B10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08839A44u) goto L_08839A44; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830B10, 11u, 148u, 0x08830B10u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 148u, 0x08830B10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08839A44u) goto L_08839A44; AOT_REGCACHE_SYNC_OUT(); return; L_08839A44: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(0))); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(aot_fpr_26)) && aot_fpr_12 == aot_fpr_26)) ? 0x00800000u : 0u); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(ctx.fpr[26])) && aot_fpr_12 == ctx.fpr[26])) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -5143,11 +5144,11 @@ L_08839A44: L_08839A58: aot_gpr_31 = (0x08839A60u); aot_gpr_4 = (aot_gpr_30 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 148u, 0x08830B10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08839A60u) goto L_08839A60; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830B10, 11u, 148u, 0x08830B10u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 148u, 0x08830B10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08839A60u) goto L_08839A60; AOT_REGCACHE_SYNC_OUT(); return; L_08839A60: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(4))); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(aot_fpr_26)) && aot_fpr_12 == aot_fpr_26)) ? 0x00800000u : 0u); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(ctx.fpr[26])) && aot_fpr_12 == ctx.fpr[26])) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -5159,11 +5160,11 @@ L_08839A60: L_08839A74: aot_gpr_31 = (0x08839A7Cu); aot_gpr_4 = (aot_gpr_30 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 148u, 0x08830B10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08839A7Cu) goto L_08839A7C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830B10, 11u, 148u, 0x08830B10u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 148u, 0x08830B10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08839A7Cu) goto L_08839A7C; AOT_REGCACHE_SYNC_OUT(); return; L_08839A7C: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(8))); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(aot_fpr_26)) && aot_fpr_12 == aot_fpr_26)) ? 0x00800000u : 0u); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(ctx.fpr[26])) && aot_fpr_12 == ctx.fpr[26])) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -5191,7 +5192,7 @@ L_08839AAC: L_08839AB0: aot_gpr_31 = (0x08839AB8u); aot_gpr_4 = (aot_gpr_30 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 128u, 0x08830934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08839AB8u) goto L_08839AB8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830934, 11u, 128u, 0x08830934u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 128u, 0x08830934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08839AB8u) goto L_08839AB8; AOT_REGCACHE_SYNC_OUT(); return; L_08839AB8: aot_gpr_4 = (0u | 5u); @@ -5234,7 +5235,7 @@ L_08839B10: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(1812), static_cast(ctx.gpr[23])); aot_gpr_31 = (0x08839B20u); aot_gpr_4 = (aot_gpr_30 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 148u, 0x08830B10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08839B20u) goto L_08839B20; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830B10, 11u, 148u, 0x08830B10u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 148u, 0x08830B10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08839B20u) goto L_08839B20; AOT_REGCACHE_SYNC_OUT(); return; L_08839B20: ctx.gpr[23] = (aot_gpr_29 + static_cast(816)); @@ -5375,7 +5376,7 @@ L_08839C14: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 151u, 0x08830B34u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08839C1Cu) goto L_08839C1C; AOT_REGCACHE_SYNC_OUT(); return; L_08839C1C: - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[0] <= aot_fpr_26)) ? 0x00800000u : 0u); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[0] <= ctx.fpr[26])) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -5447,13 +5448,13 @@ L_08839C78: L_08839C80: aot_gpr_31 = (0x08839C88u); aot_gpr_4 = (aot_gpr_30 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 108u, 0x088307E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08839C88u) goto L_08839C88; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088307E0, 11u, 108u, 0x088307E0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 108u, 0x088307E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08839C88u) goto L_08839C88; AOT_REGCACHE_SYNC_OUT(); return; L_08839C88: aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(0))); aot_gpr_31 = (0x08839C94u); aot_gpr_4 = (aot_gpr_30 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 108u, 0x088307E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08839C94u) goto L_08839C94; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088307E0, 11u, 108u, 0x088307E0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 108u, 0x088307E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08839C94u) goto L_08839C94; AOT_REGCACHE_SYNC_OUT(); return; L_08839C94: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(4))); @@ -5494,19 +5495,19 @@ L_08839CC0: L_08839CC8: ctx.gpr[23] = (0u | 1u); aot_gpr_4 = (aot_gpr_30 | 0u); - aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_26)); - aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_26)); + aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[26])); + aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[26])); aot_gpr_31 = (0x08839CE0u); - ctx.fpr[14] = std::bit_cast(std::bit_cast(aot_fpr_26)); + aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[26])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 537u, 0x08A6669Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08839CE0u) goto L_08839CE0; AOT_REGCACHE_SYNC_OUT(); return; L_08839CE0: aot_gpr_4 = (aot_gpr_29 + static_cast(832)); - aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_26)); - aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_26)); + aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[26])); + aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[26])); aot_gpr_31 = (0x08839CF4u); - ctx.fpr[14] = std::bit_cast(std::bit_cast(aot_fpr_26)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08839CF4u) goto L_08839CF4; + aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[26])); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305D8, 11u, 79u, 0x088305D8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08839CF4u) goto L_08839CF4; AOT_REGCACHE_SYNC_OUT(); return; L_08839CF4: aot_gpr_4 = (ctx.gpr[19] | 0u); @@ -5549,7 +5550,7 @@ L_08839D20: } L_08839D28: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_30 + static_cast(1640))); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_26)) ? 0x00800000u : 0u); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[26])) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -5663,7 +5664,7 @@ L_08839DF4: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); aot_gpr_4 = (aot_gpr_30 + aot_gpr_4); ctx.gpr[10] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); - aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_26)); + aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[26])); aot_gpr_5 = (0u | 0u); ctx.gpr[6] = (0u | 0u); ctx.gpr[7] = (0u | 0u); @@ -5677,7 +5678,7 @@ L_08839DF4: L_08839E20: aot_gpr_31 = (0x08839E28u); aot_gpr_4 = (aot_gpr_30 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08839E28u) goto L_08839E28; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830A20, 11u, 136u, 0x08830A20u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08839E28u) goto L_08839E28; AOT_REGCACHE_SYNC_OUT(); return; L_08839E28: aot_gpr_4 = (0u | 251u); @@ -5696,7 +5697,7 @@ L_08839E34: L_08839E3C: aot_gpr_31 = (0x08839E44u); aot_gpr_4 = (aot_gpr_30 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08839E44u) goto L_08839E44; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830A20, 11u, 136u, 0x08830A20u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08839E44u) goto L_08839E44; AOT_REGCACHE_SYNC_OUT(); return; L_08839E44: { const bool branch_taken = aot_gpr_2 != ctx.gpr[17]; @@ -5749,7 +5750,7 @@ L_08839E7C: L_08839E84: aot_gpr_31 = (0x08839E8Cu); aot_gpr_4 = (aot_gpr_30 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08839E8Cu) goto L_08839E8C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830A20, 11u, 136u, 0x08830A20u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08839E8Cu) goto L_08839E8C; AOT_REGCACHE_SYNC_OUT(); return; L_08839E8C: aot_gpr_4 = (0u + static_cast(-994)); @@ -5787,7 +5788,7 @@ L_08839EA8: L_08839EBC: aot_gpr_31 = (0x08839EC4u); aot_gpr_4 = (aot_gpr_30 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 128u, 0x08830934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08839EC4u) goto L_08839EC4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830934, 11u, 128u, 0x08830934u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 128u, 0x08830934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08839EC4u) goto L_08839EC4; AOT_REGCACHE_SYNC_OUT(); return; L_08839EC4: { const bool branch_taken = aot_gpr_2 != 0u; @@ -5800,7 +5801,7 @@ L_08839EC4: L_08839ECC: aot_gpr_31 = (0x08839ED4u); aot_gpr_4 = (aot_gpr_30 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 148u, 0x08830B10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08839ED4u) goto L_08839ED4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830B10, 11u, 148u, 0x08830B10u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 148u, 0x08830B10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08839ED4u) goto L_08839ED4; AOT_REGCACHE_SYNC_OUT(); return; L_08839ED4: aot_gpr_31 = (0x08839EDCu); @@ -5858,7 +5859,7 @@ L_08839F1C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_30 + static_cast(96))); aot_gpr_4 = (ctx.gpr[18] | 0u); ctx.gpr[6] = (0u | 20u); - aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_26)); + aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[26])); aot_gpr_31 = (0x08839F50u); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[28])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 503u, 0x08A05F80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08839F50u) goto L_08839F50; @@ -5878,14 +5879,14 @@ L_08839F70: ctx.gpr[17] = (aot_gpr_30 + static_cast(1392)); aot_gpr_31 = (0x08839F7Cu); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 138u, 0x08830A50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08839F7Cu) goto L_08839F7C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830A50, 11u, 138u, 0x08830A50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 138u, 0x08830A50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08839F7Cu) goto L_08839F7C; AOT_REGCACHE_SYNC_OUT(); return; L_08839F7C: ctx.gpr[16] = (aot_gpr_29 + static_cast(864)); aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08839F8Cu); aot_gpr_5 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 80u, 0x088305ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08839F8Cu) goto L_08839F8C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305EC, 11u, 80u, 0x088305ECu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 80u, 0x088305ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08839F8Cu) goto L_08839F8C; AOT_REGCACHE_SYNC_OUT(); return; L_08839F8C: ctx.gpr[23] = (aot_gpr_2 | 0u); @@ -5916,7 +5917,7 @@ L_08839FC0: aot_fpr_20 = std::bit_cast(aot_gpr_4); aot_gpr_31 = (0x08839FD8u); aot_gpr_4 = (aot_gpr_30 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 148u, 0x08830B10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08839FD8u) goto L_08839FD8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830B10, 11u, 148u, 0x08830B10u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 148u, 0x08830B10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08839FD8u) goto L_08839FD8; AOT_REGCACHE_SYNC_OUT(); return; L_08839FD8: aot_gpr_4 = (ctx.gpr[23] | 0u); @@ -5943,13 +5944,13 @@ L_08839FE8: L_0883A018: aot_gpr_31 = (0x0883A020u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 138u, 0x08830A50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883A020u) goto L_0883A020; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830A50, 11u, 138u, 0x08830A50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 138u, 0x08830A50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883A020u) goto L_0883A020; AOT_REGCACHE_SYNC_OUT(); return; L_0883A020: aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x0883A02Cu); aot_gpr_5 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 80u, 0x088305ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883A02Cu) goto L_0883A02C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305EC, 11u, 80u, 0x088305ECu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 80u, 0x088305ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883A02Cu) goto L_0883A02C; AOT_REGCACHE_SYNC_OUT(); return; L_0883A02C: ctx.gpr[21] = (aot_gpr_2 | 0u); @@ -5977,7 +5978,7 @@ L_0883A058: ctx.fpr[30] = std::bit_cast(aot_gpr_4); aot_gpr_31 = (0x0883A06Cu); aot_gpr_4 = (aot_gpr_30 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 148u, 0x08830B10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883A06Cu) goto L_0883A06C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830B10, 11u, 148u, 0x08830B10u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 148u, 0x08830B10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883A06Cu) goto L_0883A06C; AOT_REGCACHE_SYNC_OUT(); return; L_0883A06C: aot_gpr_4 = (ctx.gpr[19] | 0u); @@ -6005,13 +6006,13 @@ L_0883A0AC: ctx.gpr[21] = (aot_gpr_30 + static_cast(1456)); aot_gpr_31 = (0x0883A0B8u); aot_gpr_4 = (ctx.gpr[21] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 138u, 0x08830A50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883A0B8u) goto L_0883A0B8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830A50, 11u, 138u, 0x08830A50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 138u, 0x08830A50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883A0B8u) goto L_0883A0B8; AOT_REGCACHE_SYNC_OUT(); return; L_0883A0B8: aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x0883A0C4u); aot_gpr_5 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 80u, 0x088305ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883A0C4u) goto L_0883A0C4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305EC, 11u, 80u, 0x088305ECu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 80u, 0x088305ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883A0C4u) goto L_0883A0C4; AOT_REGCACHE_SYNC_OUT(); return; L_0883A0C4: ctx.gpr[18] = (aot_gpr_2 | 0u); @@ -6036,7 +6037,7 @@ L_0883A0E0: L_0883A0F0: aot_gpr_31 = (0x0883A0F8u); aot_gpr_4 = (aot_gpr_30 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 148u, 0x08830B10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883A0F8u) goto L_0883A0F8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830B10, 11u, 148u, 0x08830B10u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 148u, 0x08830B10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883A0F8u) goto L_0883A0F8; AOT_REGCACHE_SYNC_OUT(); return; L_0883A0F8: aot_gpr_4 = (ctx.gpr[19] | 0u); @@ -6061,13 +6062,13 @@ L_0883A108: L_0883A130: aot_gpr_31 = (0x0883A138u); aot_gpr_4 = (ctx.gpr[21] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 138u, 0x08830A50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883A138u) goto L_0883A138; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830A50, 11u, 138u, 0x08830A50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 138u, 0x08830A50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883A138u) goto L_0883A138; AOT_REGCACHE_SYNC_OUT(); return; L_0883A138: aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x0883A144u); aot_gpr_5 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 80u, 0x088305ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883A144u) goto L_0883A144; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305EC, 11u, 80u, 0x088305ECu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 80u, 0x088305ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883A144u) goto L_0883A144; AOT_REGCACHE_SYNC_OUT(); return; L_0883A144: ctx.gpr[18] = (aot_gpr_2 | 0u); @@ -6092,7 +6093,7 @@ L_0883A160: L_0883A170: aot_gpr_31 = (0x0883A178u); aot_gpr_4 = (aot_gpr_30 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 148u, 0x08830B10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883A178u) goto L_0883A178; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830B10, 11u, 148u, 0x08830B10u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 148u, 0x08830B10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883A178u) goto L_0883A178; AOT_REGCACHE_SYNC_OUT(); return; L_0883A178: aot_gpr_4 = (ctx.gpr[19] | 0u); @@ -6117,13 +6118,13 @@ L_0883A188: L_0883A1B0: aot_gpr_31 = (0x0883A1B8u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 138u, 0x08830A50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883A1B8u) goto L_0883A1B8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830A50, 11u, 138u, 0x08830A50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 138u, 0x08830A50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883A1B8u) goto L_0883A1B8; AOT_REGCACHE_SYNC_OUT(); return; L_0883A1B8: aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x0883A1C4u); aot_gpr_5 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 80u, 0x088305ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883A1C4u) goto L_0883A1C4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305EC, 11u, 80u, 0x088305ECu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 80u, 0x088305ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883A1C4u) goto L_0883A1C4; AOT_REGCACHE_SYNC_OUT(); return; L_0883A1C4: ctx.gpr[18] = (aot_gpr_2 | 0u); @@ -6148,7 +6149,7 @@ L_0883A1E0: L_0883A1F0: aot_gpr_31 = (0x0883A1F8u); aot_gpr_4 = (aot_gpr_30 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883A1F8u) goto L_0883A1F8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0883079C, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883A1F8u) goto L_0883A1F8; AOT_REGCACHE_SYNC_OUT(); return; L_0883A1F8: aot_gpr_4 = (ctx.gpr[23] | 0u); @@ -6161,7 +6162,7 @@ L_0883A208: ctx.gpr[18] = (aot_gpr_29 + static_cast(912)); aot_gpr_31 = (0x0883A214u); aot_gpr_4 = (aot_gpr_30 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 148u, 0x08830B10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883A214u) goto L_0883A214; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830B10, 11u, 148u, 0x08830B10u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 148u, 0x08830B10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883A214u) goto L_0883A214; AOT_REGCACHE_SYNC_OUT(); return; L_0883A214: aot_gpr_4 = (ctx.gpr[18] | 0u); @@ -6186,13 +6187,13 @@ L_0883A224: L_0883A24C: aot_gpr_31 = (0x0883A254u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 138u, 0x08830A50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883A254u) goto L_0883A254; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830A50, 11u, 138u, 0x08830A50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 138u, 0x08830A50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883A254u) goto L_0883A254; AOT_REGCACHE_SYNC_OUT(); return; L_0883A254: aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x0883A260u); aot_gpr_5 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 80u, 0x088305ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883A260u) goto L_0883A260; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305EC, 11u, 80u, 0x088305ECu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 80u, 0x088305ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883A260u) goto L_0883A260; AOT_REGCACHE_SYNC_OUT(); return; L_0883A260: ctx.gpr[17] = (aot_gpr_2 | 0u); @@ -6217,7 +6218,7 @@ L_0883A27C: L_0883A28C: aot_gpr_31 = (0x0883A294u); aot_gpr_4 = (aot_gpr_30 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883A294u) goto L_0883A294; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0883079C, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883A294u) goto L_0883A294; AOT_REGCACHE_SYNC_OUT(); return; L_0883A294: aot_gpr_4 = (ctx.gpr[18] | 0u); @@ -6229,7 +6230,7 @@ L_0883A294: L_0883A2A4: aot_gpr_31 = (0x0883A2ACu); aot_gpr_4 = (aot_gpr_30 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 148u, 0x08830B10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883A2ACu) goto L_0883A2AC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830B10, 11u, 148u, 0x08830B10u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 148u, 0x08830B10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883A2ACu) goto L_0883A2AC; AOT_REGCACHE_SYNC_OUT(); return; L_0883A2AC: aot_gpr_4 = (ctx.gpr[19] | 0u); @@ -6254,13 +6255,13 @@ L_0883A2BC: L_0883A2E4: aot_gpr_31 = (0x0883A2ECu); aot_gpr_4 = (ctx.gpr[21] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 138u, 0x08830A50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883A2ECu) goto L_0883A2EC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830A50, 11u, 138u, 0x08830A50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 138u, 0x08830A50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883A2ECu) goto L_0883A2EC; AOT_REGCACHE_SYNC_OUT(); return; L_0883A2EC: aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x0883A2F8u); aot_gpr_5 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 80u, 0x088305ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883A2F8u) goto L_0883A2F8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305EC, 11u, 80u, 0x088305ECu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 80u, 0x088305ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883A2F8u) goto L_0883A2F8; AOT_REGCACHE_SYNC_OUT(); return; L_0883A2F8: ctx.gpr[17] = (aot_gpr_2 | 0u); @@ -6285,7 +6286,7 @@ L_0883A314: L_0883A324: aot_gpr_31 = (0x0883A32Cu); aot_gpr_4 = (aot_gpr_30 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883A32Cu) goto L_0883A32C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0883079C, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883A32Cu) goto L_0883A32C; AOT_REGCACHE_SYNC_OUT(); return; L_0883A32C: aot_gpr_4 = (ctx.gpr[18] | 0u); @@ -6297,7 +6298,7 @@ L_0883A32C: L_0883A33C: aot_gpr_31 = (0x0883A344u); aot_gpr_4 = (aot_gpr_30 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 148u, 0x08830B10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883A344u) goto L_0883A344; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830B10, 11u, 148u, 0x08830B10u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 148u, 0x08830B10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883A344u) goto L_0883A344; AOT_REGCACHE_SYNC_OUT(); return; L_0883A344: aot_gpr_4 = (ctx.gpr[19] | 0u); @@ -6322,13 +6323,13 @@ L_0883A354: L_0883A37C: aot_gpr_31 = (0x0883A384u); aot_gpr_4 = (ctx.gpr[21] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 138u, 0x08830A50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883A384u) goto L_0883A384; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830A50, 11u, 138u, 0x08830A50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 138u, 0x08830A50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883A384u) goto L_0883A384; AOT_REGCACHE_SYNC_OUT(); return; L_0883A384: aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x0883A390u); aot_gpr_5 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 80u, 0x088305ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883A390u) goto L_0883A390; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305EC, 11u, 80u, 0x088305ECu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 80u, 0x088305ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883A390u) goto L_0883A390; AOT_REGCACHE_SYNC_OUT(); return; L_0883A390: ctx.gpr[16] = (aot_gpr_2 | 0u); @@ -6353,7 +6354,7 @@ L_0883A3AC: L_0883A3BC: aot_gpr_31 = (0x0883A3C4u); aot_gpr_4 = (aot_gpr_30 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883A3C4u) goto L_0883A3C4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0883079C, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883A3C4u) goto L_0883A3C4; AOT_REGCACHE_SYNC_OUT(); return; L_0883A3C4: aot_gpr_4 = (ctx.gpr[18] | 0u); @@ -6365,7 +6366,7 @@ L_0883A3C4: L_0883A3D4: aot_gpr_31 = (0x0883A3DCu); aot_gpr_4 = (aot_gpr_30 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 148u, 0x08830B10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883A3DCu) goto L_0883A3DC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830B10, 11u, 148u, 0x08830B10u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 148u, 0x08830B10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883A3DCu) goto L_0883A3DC; AOT_REGCACHE_SYNC_OUT(); return; L_0883A3DC: aot_gpr_4 = (ctx.gpr[19] | 0u); @@ -6393,12 +6394,12 @@ L_0883A414: aot_fpr_13 = std::bit_cast(aot_gpr_4); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_20 = std::bit_cast(0x7FC00000u); else aot_fpr_20 = fs * ft; } aot_gpr_4 = (ctx.gpr[23] | 0u); - aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_26)); - aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_26)); + aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[26])); + aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[26])); ctx.fpr[28] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1840))); aot_gpr_31 = (0x0883A43Cu); - ctx.fpr[14] = std::bit_cast(std::bit_cast(ctx.fpr[28])); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883A43Cu) goto L_0883A43C; + aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[28])); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305D8, 11u, 79u, 0x088305D8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883A43Cu) goto L_0883A43C; AOT_REGCACHE_SYNC_OUT(); return; L_0883A43C: aot_gpr_4 = (ctx.gpr[18] | 0u); @@ -6433,7 +6434,7 @@ L_0883A474: L_0883A484: aot_gpr_31 = (0x0883A48Cu); aot_gpr_4 = (aot_gpr_30 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883A48Cu) goto L_0883A48C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0883079C, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883A48Cu) goto L_0883A48C; AOT_REGCACHE_SYNC_OUT(); return; L_0883A48C: aot_gpr_4 = (ctx.gpr[23] | 0u); @@ -6465,7 +6466,7 @@ L_0883A4AC: L_0883A4CC: aot_gpr_31 = (0x0883A4D4u); aot_gpr_4 = (aot_gpr_30 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 128u, 0x08830934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883A4D4u) goto L_0883A4D4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830934, 11u, 128u, 0x08830934u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 128u, 0x08830934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883A4D4u) goto L_0883A4D4; AOT_REGCACHE_SYNC_OUT(); return; L_0883A4D4: aot_gpr_4 = (0u | 3u); @@ -6479,7 +6480,7 @@ L_0883A4D4: L_0883A4E0: aot_gpr_31 = (0x0883A4E8u); aot_gpr_4 = (aot_gpr_30 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 128u, 0x08830934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883A4E8u) goto L_0883A4E8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830934, 11u, 128u, 0x08830934u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 128u, 0x08830934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883A4E8u) goto L_0883A4E8; AOT_REGCACHE_SYNC_OUT(); return; L_0883A4E8: aot_gpr_4 = (0u | 2u); @@ -6635,11 +6636,11 @@ L_0883A5E8: ctx.gpr[16] = (aot_gpr_30 + static_cast(144)); ctx.gpr[17] = (aot_gpr_29 + static_cast(928)); aot_gpr_4 = (ctx.gpr[17] | 0u); - aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_26)); - aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_26)); + aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[26])); + aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[26])); aot_gpr_31 = (0x0883A604u); - ctx.fpr[14] = std::bit_cast(std::bit_cast(aot_fpr_26)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883A604u) goto L_0883A604; + aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[26])); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305D8, 11u, 79u, 0x088305D8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883A604u) goto L_0883A604; AOT_REGCACHE_SYNC_OUT(); return; L_0883A604: aot_gpr_4 = (ctx.gpr[16] | 0u); @@ -6650,11 +6651,11 @@ L_0883A604: L_0883A610: ctx.gpr[16] = (aot_gpr_30 + static_cast(128)); aot_gpr_4 = (ctx.gpr[17] | 0u); - aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_26)); - aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_26)); + aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[26])); + aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[26])); aot_gpr_31 = (0x0883A628u); - ctx.fpr[14] = std::bit_cast(std::bit_cast(aot_fpr_26)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883A628u) goto L_0883A628; + aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[26])); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305D8, 11u, 79u, 0x088305D8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883A628u) goto L_0883A628; AOT_REGCACHE_SYNC_OUT(); return; L_0883A628: aot_gpr_4 = (ctx.gpr[16] | 0u); @@ -6719,7 +6720,7 @@ L_0883A690: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 135u, 0x088309FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883A69Cu) goto L_0883A69C; AOT_REGCACHE_SYNC_OUT(); return; L_0883A69C: - aot_mem.aot_direct_store32(aot_gpr_30 + static_cast(264), std::bit_cast(aot_fpr_26)); + aot_mem.aot_direct_store32(aot_gpr_30 + static_cast(264), std::bit_cast(ctx.fpr[26])); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_30 + static_cast(236))); aot_gpr_5 = (0u + static_cast(-16385)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); @@ -6845,7 +6846,7 @@ L_0883A784: L_0883A78C: aot_gpr_31 = (0x0883A794u); aot_gpr_4 = (aot_gpr_30 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883A794u) goto L_0883A794; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830A20, 11u, 136u, 0x08830A20u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883A794u) goto L_0883A794; AOT_REGCACHE_SYNC_OUT(); return; L_0883A794: aot_gpr_4 = (0u + static_cast(-984)); @@ -6875,8 +6876,8 @@ L_0883A7B8: goto L_0883A7C8; L_0883A7C8: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1672))); - ctx.fpr[14] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1688))); - aot_fpr_13 = aot_fpr_13 / ctx.fpr[14]; + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1688))); + aot_fpr_13 = aot_fpr_13 / aot_fpr_14; aot_fpr_13 = aot_fpr_12 - aot_fpr_13; ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1520))); ctx.fpr[15] = ctx.fpr[15] - aot_fpr_13; @@ -6900,13 +6901,13 @@ L_0883A7FC: aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(1136), aot_run_words); } aot_gpr_31 = (0x0883A820u); aot_gpr_4 = (aot_gpr_30 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 148u, 0x08830B10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883A820u) goto L_0883A820; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830B10, 11u, 148u, 0x08830B10u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 148u, 0x08830B10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883A820u) goto L_0883A820; AOT_REGCACHE_SYNC_OUT(); return; L_0883A820: ctx.gpr[16] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x0883A82Cu); aot_gpr_4 = (aot_gpr_30 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883A82Cu) goto L_0883A82C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0883079C, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883A82Cu) goto L_0883A82C; AOT_REGCACHE_SYNC_OUT(); return; L_0883A82C: aot_gpr_4 = (ctx.gpr[16] | 0u); @@ -6938,7 +6939,7 @@ L_0883A840: { const float fs = ctx.fpr[0]; const float ft = ctx.fpr[24]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[28] = std::bit_cast(0x7FC00000u); else ctx.fpr[28] = fs * ft; } ctx.gpr[22] = (aot_gpr_29 + static_cast(1248)); aot_gpr_4 = (49024u << 16u); - aot_fpr_26 = std::bit_cast(aot_gpr_4); + ctx.fpr[26] = std::bit_cast(aot_gpr_4); ctx.gpr[21] = (aot_gpr_29 + static_cast(1280)); ctx.gpr[23] = (aot_gpr_29 + static_cast(1312)); ctx.gpr[16] = (aot_gpr_30 | 0u); @@ -7002,10 +7003,10 @@ L_0883A8F4: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1688))); aot_gpr_4 = (16025u << 16u); aot_gpr_4 = (aot_gpr_4 | 39322u); - ctx.fpr[14] = std::bit_cast(aot_gpr_4); + aot_fpr_14 = std::bit_cast(aot_gpr_4); ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1672))); aot_fpr_13 = aot_fpr_13 - ctx.fpr[15]; - { const float fs = aot_fpr_13; const float ft = ctx.fpr[14]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } + { const float fs = aot_fpr_13; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_fpr_13 = aot_fpr_13 / ctx.fpr[15]; aot_fpr_13 = aot_fpr_12 + aot_fpr_13; aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(1520), std::bit_cast(aot_fpr_13)); @@ -7049,7 +7050,7 @@ L_0883A94C: L_0883A958: aot_gpr_31 = (0x0883A960u); aot_gpr_4 = (aot_gpr_30 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883A960u) goto L_0883A960; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830A20, 11u, 136u, 0x08830A20u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883A960u) goto L_0883A960; AOT_REGCACHE_SYNC_OUT(); return; L_0883A960: aot_gpr_4 = (0u | 246u); @@ -7109,10 +7110,10 @@ L_0883A9BC: goto L_0883A9C0; L_0883A9C0: aot_gpr_4 = (16256u << 16u); - ctx.fpr[14] = std::bit_cast(aot_gpr_4); + aot_fpr_14 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1264), std::bit_cast(ctx.fpr[30])); aot_fpr_12 = ctx.fpr[28] / aot_fpr_12; - aot_fpr_12 = ctx.fpr[14] - aot_fpr_12; + aot_fpr_12 = aot_fpr_14 - aot_fpr_12; aot_fpr_12 = aot_fpr_12 - aot_fpr_13; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1268), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_gpr_29 + static_cast(1264)); @@ -7123,10 +7124,10 @@ L_0883A9C0: L_0883A9E8: { const float fs = ctx.fpr[22]; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1688))); - ctx.fpr[14] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1672))); - aot_fpr_13 = ctx.fpr[15] - ctx.fpr[14]; + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1672))); + aot_fpr_13 = ctx.fpr[15] - aot_fpr_14; { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - aot_fpr_12 = aot_fpr_12 / ctx.fpr[14]; + aot_fpr_12 = aot_fpr_12 / aot_fpr_14; ctx.fpr[16] = aot_fpr_20 + aot_fpr_12; aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(1520), std::bit_cast(ctx.fpr[16])); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-29904))); @@ -7154,7 +7155,7 @@ L_0883AA28: AOT_REGCACHE_SYNC_OUT(); return; L_0883AA30: aot_gpr_4 = (ctx.gpr[22] | 0u); - aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_26)); + aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[26])); aot_gpr_31 = (0x0883AA40u); aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 44u, 0x08830310u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883AA40u) goto L_0883AA40; @@ -7181,19 +7182,19 @@ L_0883AA64: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1844), ctx.gpr[23]); aot_gpr_31 = (0x0883AA70u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 138u, 0x08830A50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883AA70u) goto L_0883AA70; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830A50, 11u, 138u, 0x08830A50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 138u, 0x08830A50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883AA70u) goto L_0883AA70; AOT_REGCACHE_SYNC_OUT(); return; L_0883AA70: aot_gpr_4 = (aot_gpr_29 + static_cast(1296)); aot_gpr_31 = (0x0883AA7Cu); aot_gpr_5 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 80u, 0x088305ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883AA7Cu) goto L_0883AA7C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305EC, 11u, 80u, 0x088305ECu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 80u, 0x088305ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883AA7Cu) goto L_0883AA7C; AOT_REGCACHE_SYNC_OUT(); return; L_0883AA7C: ctx.gpr[23] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x0883AA88u); aot_gpr_4 = (aot_gpr_30 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 108u, 0x088307E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883AA88u) goto L_0883AA88; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088307E0, 11u, 108u, 0x088307E0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 108u, 0x088307E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883AA88u) goto L_0883AA88; AOT_REGCACHE_SYNC_OUT(); return; L_0883AA88: aot_gpr_4 = (ctx.gpr[21] | 0u); @@ -7221,8 +7222,8 @@ L_0883AAAC: aot_gpr_4 = (ctx.gpr[23] | 0u); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x0883AAC0u); - ctx.fpr[14] = std::bit_cast(std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883AAC0u) goto L_0883AAC0; + aot_fpr_14 = std::bit_cast(std::bit_cast(aot_fpr_12)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305D8, 11u, 79u, 0x088305D8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883AAC0u) goto L_0883AAC0; AOT_REGCACHE_SYNC_OUT(); return; L_0883AAC0: aot_gpr_4 = (ctx.gpr[18] | 0u); @@ -7302,7 +7303,7 @@ L_0883AB54: AOT_REGCACHE_SYNC_OUT(); return; L_0883AB5C: ctx.fpr[24] = std::bit_cast(std::bit_cast(ctx.fpr[0])); - aot_fpr_26 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1520))); + ctx.fpr[26] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1520))); aot_gpr_31 = (0x0883AB6Cu); aot_gpr_4 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 139u, 0x08830A58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883AB6Cu) goto L_0883AB6C; @@ -7312,8 +7313,8 @@ L_0883AB6C: aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[24])); aot_gpr_5 = (ctx.gpr[22] | 0u); ctx.gpr[6] = (ctx.gpr[21] | 0u); - aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_26)); - ctx.fpr[14] = std::bit_cast(std::bit_cast(aot_fpr_20)); + aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[26])); + aot_fpr_14 = std::bit_cast(std::bit_cast(aot_fpr_20)); ctx.gpr[7] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x0883AB90u); ctx.gpr[8] = (ctx.gpr[20] | 0u); @@ -7485,7 +7486,7 @@ L_0883ACD8: aot_gpr_4 = (aot_gpr_29 + static_cast(1376)); aot_gpr_31 = (0x0883ACE4u); aot_gpr_5 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 80u, 0x088305ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883ACE4u) goto L_0883ACE4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305EC, 11u, 80u, 0x088305ECu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 80u, 0x088305ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883ACE4u) goto L_0883ACE4; AOT_REGCACHE_SYNC_OUT(); return; L_0883ACE4: aot_gpr_4 = (ctx.gpr[21] | 0u); @@ -7620,13 +7621,13 @@ L_0883ADE0: L_0883ADFC: aot_gpr_31 = (0x0883AE04u); aot_gpr_4 = (aot_gpr_30 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 148u, 0x08830B10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883AE04u) goto L_0883AE04; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830B10, 11u, 148u, 0x08830B10u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 148u, 0x08830B10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883AE04u) goto L_0883AE04; AOT_REGCACHE_SYNC_OUT(); return; L_0883AE04: ctx.gpr[16] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x0883AE10u); aot_gpr_4 = (aot_gpr_30 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883AE10u) goto L_0883AE10; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0883079C, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883AE10u) goto L_0883AE10; AOT_REGCACHE_SYNC_OUT(); return; L_0883AE10: aot_gpr_4 = (ctx.gpr[16] | 0u); @@ -7826,8 +7827,8 @@ L_0883AF50: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0053_entry, 53u, 665u, 0x088DBC28u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883AF90u) goto L_0883AF90; AOT_REGCACHE_SYNC_OUT(); return; L_0883AF90: - aot_fpr_26 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_30 + static_cast(216))); - aot_fpr_26 = ctx.fpr[0] / aot_fpr_26; + ctx.fpr[26] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_30 + static_cast(216))); + ctx.fpr[26] = ctx.fpr[0] / ctx.fpr[26]; aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_30 + static_cast(352))); aot_gpr_31 = (0x0883AFA4u); aot_gpr_5 = (512u << 16u); @@ -7863,11 +7864,11 @@ L_0883AFD4: goto L_0883AFDC; } L_0883AFDC: - aot_fpr_26 = std::bit_cast(0u); + ctx.fpr[26] = std::bit_cast(0u); goto L_0883AFE0; L_0883AFE0: aot_gpr_31 = (0x0883AFE8u); - aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_26)); + aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[26])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 76u, 0x088305B0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883AFE8u) goto L_0883AFE8; AOT_REGCACHE_SYNC_OUT(); return; L_0883AFE8: @@ -7883,7 +7884,7 @@ L_0883AFE8: } L_0883AFFC: aot_gpr_31 = (0x0883B004u); - aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_26)); + aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[26])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 76u, 0x088305B0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883B004u) goto L_0883B004; AOT_REGCACHE_SYNC_OUT(); return; L_0883B004: @@ -7948,7 +7949,7 @@ L_0883B05C: L_0883B064: aot_gpr_31 = (0x0883B06Cu); aot_gpr_4 = (aot_gpr_30 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 128u, 0x08830934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883B06Cu) goto L_0883B06C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830934, 11u, 128u, 0x08830934u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 128u, 0x08830934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883B06Cu) goto L_0883B06C; AOT_REGCACHE_SYNC_OUT(); return; L_0883B06C: { const bool branch_taken = aot_gpr_2 != ctx.gpr[21]; @@ -7966,7 +7967,7 @@ L_0883B07C: ctx.gpr[16] = (0u | 0u); aot_gpr_31 = (0x0883B088u); aot_gpr_4 = (aot_gpr_30 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 128u, 0x08830934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883B088u) goto L_0883B088; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830934, 11u, 128u, 0x08830934u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 128u, 0x08830934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883B088u) goto L_0883B088; AOT_REGCACHE_SYNC_OUT(); return; L_0883B088: if (aot_gpr_2 == 0u) { @@ -7977,7 +7978,7 @@ L_0883B088: L_0883B090: aot_gpr_31 = (0x0883B098u); aot_gpr_4 = (aot_gpr_30 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 128u, 0x08830934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883B098u) goto L_0883B098; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830934, 11u, 128u, 0x08830934u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 128u, 0x08830934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883B098u) goto L_0883B098; AOT_REGCACHE_SYNC_OUT(); return; L_0883B098: aot_gpr_4 = (0u | 12u); @@ -8107,7 +8108,7 @@ L_0883B140: L_0883B144: aot_gpr_31 = (0x0883B14Cu); aot_gpr_4 = (aot_gpr_30 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 128u, 0x08830934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883B14Cu) goto L_0883B14C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830934, 11u, 128u, 0x08830934u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 128u, 0x08830934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883B14Cu) goto L_0883B14C; AOT_REGCACHE_SYNC_OUT(); return; L_0883B14C: aot_gpr_5 = (0u | 3u); @@ -8332,7 +8333,7 @@ L_0883B2D4: aot_gpr_5 = (16307u << 16u); aot_gpr_5 = (aot_gpr_5 | 13107u); aot_fpr_12 = std::bit_cast(aot_gpr_5); - { const float fs = aot_fpr_26; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_26 = std::bit_cast(0x7FC00000u); else aot_fpr_26 = fs * ft; } + { const float fs = ctx.fpr[26]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[26] = std::bit_cast(0x7FC00000u); else ctx.fpr[26] = fs * ft; } aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(1815))); aot_gpr_4 = (aot_gpr_5 | aot_gpr_4); { const bool branch_taken = aot_gpr_4 == 0u; @@ -8347,7 +8348,7 @@ L_0883B304: aot_gpr_4 = (aot_gpr_4 | 26214u); aot_fpr_13 = std::bit_cast(aot_gpr_4); { const float fs = ctx.fpr[24]; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[24] = std::bit_cast(0x7FC00000u); else ctx.fpr[24] = fs * ft; } - { const float fs = aot_fpr_26; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_26 = std::bit_cast(0x7FC00000u); else aot_fpr_26 = fs * ft; } + { const float fs = ctx.fpr[26]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[26] = std::bit_cast(0x7FC00000u); else ctx.fpr[26] = fs * ft; } goto L_0883B318; L_0883B318: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-29680))); @@ -8399,7 +8400,7 @@ L_0883B360: L_0883B374: aot_gpr_31 = (0x0883B37Cu); aot_gpr_4 = (aot_gpr_30 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 128u, 0x08830934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883B37Cu) goto L_0883B37C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830934, 11u, 128u, 0x08830934u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 128u, 0x08830934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883B37Cu) goto L_0883B37C; AOT_REGCACHE_SYNC_OUT(); return; L_0883B37C: { const bool branch_taken = aot_gpr_2 != 0u; @@ -8412,7 +8413,7 @@ L_0883B37C: L_0883B384: aot_gpr_31 = (0x0883B38Cu); aot_gpr_4 = (aot_gpr_30 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 148u, 0x08830B10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883B38Cu) goto L_0883B38C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830B10, 11u, 148u, 0x08830B10u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 148u, 0x08830B10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883B38Cu) goto L_0883B38C; AOT_REGCACHE_SYNC_OUT(); return; L_0883B38C: ctx.gpr[16] = (aot_gpr_2 | 0u); @@ -8457,9 +8458,9 @@ L_0883B3D4: { const float fs = aot_fpr_13; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } { const float fs = aot_fpr_12; const float ft = ctx.fpr[24]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } { const float fs = aot_fpr_12; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } - ctx.fpr[14] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1152))); - { const float fs = ctx.fpr[14]; const float ft = ctx.fpr[14]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[14] = std::bit_cast(0x7FC00000u); else ctx.fpr[14] = fs * ft; } - aot_fpr_13 = aot_fpr_13 / ctx.fpr[14]; + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1152))); + { const float fs = aot_fpr_14; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } + aot_fpr_13 = aot_fpr_13 / aot_fpr_14; aot_gpr_31 = (0x0883B400u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[28])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 77u, 0x088305BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883B400u) goto L_0883B400; @@ -8497,8 +8498,8 @@ L_0883B414: } L_0883B44C: aot_gpr_4 = (aot_gpr_4 | 52429u); - ctx.fpr[14] = std::bit_cast(aot_gpr_4); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_20 <= ctx.fpr[14])) ? 0x00800000u : 0u); + aot_fpr_14 = std::bit_cast(aot_gpr_4); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_20 <= aot_fpr_14)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -8615,7 +8616,7 @@ L_0883B500: ctx.gpr[7] = (ctx.gpr[23] | 0u); ctx.gpr[8] = (ctx.gpr[22] | 0u); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[24])); - ctx.fpr[14] = std::bit_cast(std::bit_cast(aot_fpr_26)); + aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[26])); ctx.fpr[15] = std::bit_cast(std::bit_cast(ctx.fpr[30])); aot_gpr_31 = (0x0883B528u); ctx.gpr[9] = (0u | 1u); @@ -8658,7 +8659,7 @@ L_0883B554: ctx.gpr[7] = (ctx.gpr[23] | 0u); ctx.gpr[8] = (ctx.gpr[22] | 0u); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[24])); - ctx.fpr[14] = std::bit_cast(std::bit_cast(aot_fpr_26)); + aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[26])); ctx.fpr[15] = std::bit_cast(std::bit_cast(ctx.fpr[30])); aot_gpr_31 = (0x0883B57Cu); ctx.gpr[9] = (0u | 0u); @@ -8706,7 +8707,7 @@ L_0883B5AC: ctx.gpr[7] = (ctx.gpr[23] | 0u); ctx.gpr[8] = (ctx.gpr[22] | 0u); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[24])); - ctx.fpr[14] = std::bit_cast(std::bit_cast(aot_fpr_26)); + aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[26])); ctx.fpr[15] = std::bit_cast(std::bit_cast(ctx.fpr[30])); aot_gpr_31 = (0x0883B5D4u); ctx.gpr[9] = (0u | 1u); @@ -8721,7 +8722,7 @@ L_0883B5DC: ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_30 + static_cast(86)))))); aot_gpr_4 = (16192u << 16u); - ctx.fpr[14] = std::bit_cast(aot_gpr_4); + aot_fpr_14 = std::bit_cast(aot_gpr_4); ctx.gpr[7] = (0u | 0u); aot_gpr_4 = (aot_gpr_30 | 0u); ctx.gpr[10] = (0u + static_cast(-994)); @@ -8776,7 +8777,7 @@ L_0883B644: L_0883B64C: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1620))); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; - { const float fs = aot_fpr_12; const float ft = ctx.fpr[14]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } + { const float fs = aot_fpr_12; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = aot_fpr_13 + aot_fpr_12; aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(1620), std::bit_cast(aot_fpr_12)); goto L_0883B660; @@ -8794,7 +8795,7 @@ L_0883B660: L_0883B674: aot_gpr_31 = (0x0883B67Cu); aot_gpr_4 = (aot_gpr_30 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 128u, 0x08830934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883B67Cu) goto L_0883B67C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830934, 11u, 128u, 0x08830934u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 128u, 0x08830934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883B67Cu) goto L_0883B67C; AOT_REGCACHE_SYNC_OUT(); return; L_0883B67C: { const bool branch_taken = aot_gpr_2 != 0u; @@ -9095,7 +9096,7 @@ L_0883B820: L_0883B828: aot_gpr_31 = (0x0883B830u); aot_gpr_4 = (aot_gpr_30 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883B830u) goto L_0883B830; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830A20, 11u, 136u, 0x08830A20u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883B830u) goto L_0883B830; AOT_REGCACHE_SYNC_OUT(); return; L_0883B830: aot_gpr_4 = (0u + static_cast(-984)); @@ -9160,8 +9161,8 @@ L_0883B888: aot_fpr_13 = std::bit_cast(aot_gpr_5); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[24])); aot_gpr_31 = (0x0883B8A4u); - ctx.fpr[14] = std::bit_cast(std::bit_cast(ctx.fpr[28])); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883B8A4u) goto L_0883B8A4; + aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[28])); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305D8, 11u, 79u, 0x088305D8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883B8A4u) goto L_0883B8A4; AOT_REGCACHE_SYNC_OUT(); return; L_0883B8A4: aot_gpr_4 = (ctx.gpr[19] | 0u); @@ -9180,7 +9181,7 @@ L_0883B8B0: L_0883B8B8: aot_gpr_31 = (0x0883B8C0u); aot_gpr_4 = (aot_gpr_30 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883B8C0u) goto L_0883B8C0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830A20, 11u, 136u, 0x08830A20u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883B8C0u) goto L_0883B8C0; AOT_REGCACHE_SYNC_OUT(); return; L_0883B8C0: aot_gpr_4 = (0u | 222u); @@ -9212,8 +9213,8 @@ L_0883B8E0: aot_fpr_13 = std::bit_cast(aot_gpr_5); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[24])); aot_gpr_31 = (0x0883B8FCu); - ctx.fpr[14] = std::bit_cast(std::bit_cast(ctx.fpr[28])); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883B8FCu) goto L_0883B8FC; + aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[28])); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305D8, 11u, 79u, 0x088305D8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883B8FCu) goto L_0883B8FC; AOT_REGCACHE_SYNC_OUT(); return; L_0883B8FC: aot_gpr_4 = (ctx.gpr[19] | 0u); @@ -9232,7 +9233,7 @@ L_0883B908: L_0883B910: aot_gpr_31 = (0x0883B918u); aot_gpr_4 = (aot_gpr_30 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883B918u) goto L_0883B918; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830A20, 11u, 136u, 0x08830A20u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883B918u) goto L_0883B918; AOT_REGCACHE_SYNC_OUT(); return; L_0883B918: aot_gpr_31 = (0x0883B920u); @@ -9343,7 +9344,7 @@ L_0883B9A4: L_0883B9C0: aot_gpr_31 = (0x0883B9C8u); aot_gpr_4 = (aot_gpr_30 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 128u, 0x08830934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883B9C8u) goto L_0883B9C8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830934, 11u, 128u, 0x08830934u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 128u, 0x08830934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883B9C8u) goto L_0883B9C8; AOT_REGCACHE_SYNC_OUT(); return; L_0883B9C8: aot_gpr_4 = (0u | 5u); @@ -9357,7 +9358,7 @@ L_0883B9C8: L_0883B9D4: aot_gpr_31 = (0x0883B9DCu); aot_gpr_4 = (aot_gpr_30 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883B9DCu) goto L_0883B9DC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830A20, 11u, 136u, 0x08830A20u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883B9DCu) goto L_0883B9DC; AOT_REGCACHE_SYNC_OUT(); return; L_0883B9DC: aot_gpr_4 = (0u | 194u); @@ -9374,10 +9375,10 @@ L_0883B9E8: aot_fpr_13 = std::bit_cast(aot_gpr_5); aot_gpr_5 = (48716u << 16u); aot_gpr_5 = (aot_gpr_5 | 52429u); - ctx.fpr[14] = std::bit_cast(aot_gpr_5); + aot_fpr_14 = std::bit_cast(aot_gpr_5); aot_gpr_31 = (0x0883BA08u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[24])); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883BA08u) goto L_0883BA08; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305D8, 11u, 79u, 0x088305D8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883BA08u) goto L_0883BA08; AOT_REGCACHE_SYNC_OUT(); return; L_0883BA08: aot_gpr_4 = (ctx.gpr[19] | 0u); @@ -9396,7 +9397,7 @@ L_0883BA14: L_0883BA1C: aot_gpr_31 = (0x0883BA24u); aot_gpr_4 = (aot_gpr_30 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883BA24u) goto L_0883BA24; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830A20, 11u, 136u, 0x08830A20u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883BA24u) goto L_0883BA24; AOT_REGCACHE_SYNC_OUT(); return; L_0883BA24: aot_gpr_4 = (0u | 198u); @@ -9413,8 +9414,8 @@ L_0883BA30: aot_fpr_13 = std::bit_cast(aot_gpr_5); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[24])); aot_gpr_31 = (0x0883BA48u); - ctx.fpr[14] = std::bit_cast(std::bit_cast(ctx.fpr[24])); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883BA48u) goto L_0883BA48; + aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[24])); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305D8, 11u, 79u, 0x088305D8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883BA48u) goto L_0883BA48; AOT_REGCACHE_SYNC_OUT(); return; L_0883BA48: aot_gpr_4 = (ctx.gpr[19] | 0u); @@ -9437,10 +9438,10 @@ L_0883BA5C: aot_fpr_13 = std::bit_cast(aot_gpr_5); aot_gpr_5 = (48972u << 16u); aot_gpr_5 = (aot_gpr_5 | 52429u); - ctx.fpr[14] = std::bit_cast(aot_gpr_5); + aot_fpr_14 = std::bit_cast(aot_gpr_5); aot_gpr_31 = (0x0883BA80u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[24])); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883BA80u) goto L_0883BA80; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305D8, 11u, 79u, 0x088305D8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883BA80u) goto L_0883BA80; AOT_REGCACHE_SYNC_OUT(); return; L_0883BA80: aot_gpr_4 = (ctx.gpr[19] | 0u); @@ -9459,7 +9460,7 @@ L_0883BA8C: L_0883BA94: aot_gpr_31 = (0x0883BA9Cu); aot_gpr_4 = (aot_gpr_30 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883BA9Cu) goto L_0883BA9C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830A20, 11u, 136u, 0x08830A20u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883BA9Cu) goto L_0883BA9C; AOT_REGCACHE_SYNC_OUT(); return; L_0883BA9C: aot_gpr_4 = (0u | 198u); @@ -9477,8 +9478,8 @@ L_0883BAAC: aot_fpr_13 = std::bit_cast(aot_gpr_5); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[24])); aot_gpr_31 = (0x0883BAC4u); - ctx.fpr[14] = std::bit_cast(std::bit_cast(ctx.fpr[24])); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883BAC4u) goto L_0883BAC4; + aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[24])); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305D8, 11u, 79u, 0x088305D8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883BAC4u) goto L_0883BAC4; AOT_REGCACHE_SYNC_OUT(); return; L_0883BAC4: aot_gpr_4 = (ctx.gpr[19] | 0u); @@ -9522,7 +9523,7 @@ L_0883BAF0: L_0883BB1C: aot_gpr_31 = (0x0883BB24u); aot_gpr_4 = (aot_gpr_30 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 128u, 0x08830934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883BB24u) goto L_0883BB24; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830934, 11u, 128u, 0x08830934u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 128u, 0x08830934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883BB24u) goto L_0883BB24; AOT_REGCACHE_SYNC_OUT(); return; L_0883BB24: aot_gpr_4 = (0u | 5u); @@ -9545,15 +9546,15 @@ L_0883BB30: L_0883BB48: aot_gpr_4 = (16230u << 16u); aot_gpr_4 = (aot_gpr_4 | 26214u); - aot_fpr_26 = std::bit_cast(aot_gpr_4); + ctx.fpr[26] = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1600), std::bit_cast(ctx.fpr[24])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1604), std::bit_cast(ctx.fpr[24])); aot_gpr_4 = (15436u << 16u); aot_gpr_4 = (aot_gpr_4 | 52429u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - { const float fs = aot_fpr_26; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } + { const float fs = ctx.fpr[26]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_31 = (0x0883BB74u); - { const float fs = aot_fpr_26; const float ft = aot_fpr_20; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } + { const float fs = ctx.fpr[26]; const float ft = aot_fpr_20; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 61u, 0x08830424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883BB74u) goto L_0883BB74; AOT_REGCACHE_SYNC_OUT(); return; L_0883BB74: @@ -9562,7 +9563,7 @@ L_0883BB74: aot_gpr_4 = (16179u << 16u); aot_gpr_4 = (aot_gpr_4 | 13107u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - { const float fs = aot_fpr_26; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } + { const float fs = ctx.fpr[26]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_4 = (0u | 27u); aot_gpr_5 = (ctx.gpr[17] | 0u); ctx.gpr[7] = (0u | 0u); @@ -9583,10 +9584,10 @@ L_0883BBAC: L_0883BBBC: aot_gpr_4 = (48928u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - { const float fs = aot_fpr_26; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_20 = std::bit_cast(0x7FC00000u); else aot_fpr_20 = fs * ft; } + { const float fs = ctx.fpr[26]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_20 = std::bit_cast(0x7FC00000u); else aot_fpr_20 = fs * ft; } aot_gpr_4 = (16160u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); - { const float fs = aot_fpr_26; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[28] = std::bit_cast(0x7FC00000u); else ctx.fpr[28] = fs * ft; } + { const float fs = ctx.fpr[26]; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[28] = std::bit_cast(0x7FC00000u); else ctx.fpr[28] = fs * ft; } aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_31 = (0x0883BBE0u); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[28])); @@ -9607,7 +9608,7 @@ L_0883BBF8: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1620), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (16416u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); - { const float fs = aot_fpr_26; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } + { const float fs = ctx.fpr[26]; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_gpr_31 = (0x0883BC18u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[28])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 61u, 0x08830424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883BC18u) goto L_0883BC18; @@ -9621,8 +9622,8 @@ L_0883BC18: aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[24])); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[24])); aot_gpr_31 = (0x0883BC3Cu); - ctx.fpr[14] = std::bit_cast(std::bit_cast(ctx.fpr[24])); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883BC3Cu) goto L_0883BC3C; + aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[24])); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305D8, 11u, 79u, 0x088305D8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883BC3Cu) goto L_0883BC3C; AOT_REGCACHE_SYNC_OUT(); return; L_0883BC3C: aot_gpr_4 = (0u | 57u); @@ -9642,8 +9643,8 @@ L_0883BC64: aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[24])); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[24])); aot_gpr_31 = (0x0883BC78u); - ctx.fpr[14] = std::bit_cast(std::bit_cast(ctx.fpr[24])); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883BC78u) goto L_0883BC78; + aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[24])); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305D8, 11u, 79u, 0x088305D8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883BC78u) goto L_0883BC78; AOT_REGCACHE_SYNC_OUT(); return; L_0883BC78: aot_gpr_4 = (0u | 56u); @@ -9749,7 +9750,7 @@ L_0883BD50: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_30 + static_cast(618)))))); aot_gpr_4 = (aot_gpr_4 & 32u); if (aot_gpr_4 == 0u) { - aot_fpr_26 = std::bit_cast(0u); + ctx.fpr[26] = std::bit_cast(0u); goto L_0883BDB4; } goto L_0883BD60; @@ -9759,7 +9760,7 @@ L_0883BD60: aot_gpr_4 = (aot_gpr_4 & 7u); aot_gpr_5 = (0u | 5u); if (aot_gpr_4 != aot_gpr_5) { - aot_fpr_26 = std::bit_cast(0u); + ctx.fpr[26] = std::bit_cast(0u); goto L_0883BDB4; } goto L_0883BD78; @@ -9771,7 +9772,7 @@ L_0883BD78: AOT_REGCACHE_SYNC_OUT(); return; L_0883BD84: if (aot_gpr_2 == 0u) { - aot_fpr_26 = std::bit_cast(0u); + ctx.fpr[26] = std::bit_cast(0u); goto L_0883BDB4; } goto L_0883BD8C; @@ -9779,12 +9780,12 @@ L_0883BD8C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1804), ctx.gpr[18]); aot_gpr_31 = (0x0883BD98u); aot_gpr_4 = (aot_gpr_30 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883BD98u) goto L_0883BD98; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830A20, 11u, 136u, 0x08830A20u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883BD98u) goto L_0883BD98; AOT_REGCACHE_SYNC_OUT(); return; L_0883BD98: aot_gpr_4 = (0u | 244u); if (aot_gpr_2 == aot_gpr_4) { - aot_fpr_26 = std::bit_cast(0u); + ctx.fpr[26] = std::bit_cast(0u); goto L_0883BDB4; } goto L_0883BDA4; @@ -9795,13 +9796,13 @@ L_0883BDA4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0195_entry, 195u, 149u, 0x08B1096Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883BDB0u) goto L_0883BDB0; AOT_REGCACHE_SYNC_OUT(); return; L_0883BDB0: - aot_fpr_26 = std::bit_cast(0u); + ctx.fpr[26] = std::bit_cast(0u); goto L_0883BDB4; L_0883BDB4: - ctx.fpr[22] = std::bit_cast(std::bit_cast(aot_fpr_26)); + ctx.fpr[22] = std::bit_cast(std::bit_cast(ctx.fpr[26])); aot_gpr_31 = (0x0883BDC0u); aot_gpr_4 = (aot_gpr_30 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 148u, 0x08830B10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883BDC0u) goto L_0883BDC0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830B10, 11u, 148u, 0x08830B10u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 148u, 0x08830B10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883BDC0u) goto L_0883BDC0; AOT_REGCACHE_SYNC_OUT(); return; L_0883BDC0: aot_gpr_31 = (0x0883BDC8u); @@ -9900,7 +9901,7 @@ L_0883BE74: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 503u, 0x08A05F80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883BE90u) goto L_0883BE90; AOT_REGCACHE_SYNC_OUT(); return; L_0883BE90: - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_26 < aot_fpr_20)) ? 0x00800000u : 0u); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[26] < aot_fpr_20)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -9910,7 +9911,7 @@ L_0883BE90: goto L_0883BEA0; } L_0883BEA0: - aot_fpr_26 = std::bit_cast(std::bit_cast(aot_fpr_20)); + ctx.fpr[26] = std::bit_cast(std::bit_cast(aot_fpr_20)); goto L_0883BEA4; L_0883BEA4: aot_gpr_31 = (0x0883BEACu); diff --git a/profiles/vcs/generated/generated_unit_0014.cpp b/profiles/vcs/generated/generated_unit_0014.cpp index 9210e39..257f3e0 100644 --- a/profiles/vcs/generated/generated_unit_0014.cpp +++ b/profiles/vcs/generated/generated_unit_0014.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0014[4093] = { }; void recomp_unit_0014_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,31,29,2,17 fprs=12,20,13,14 gpr_occ=3404 fpr_occ=1232 gpr_total=4666 fpr_total=1486 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,31,2,5,29,17 fprs=12,13,14,20 gpr_occ=3991 fpr_occ=1423 gpr_total=5258 fpr_total=1677 std::uint32_t aot_gpr_4 = ctx.gpr[4]; - std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; - std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_2 = ctx.gpr[2]; + std::uint32_t aot_gpr_5 = ctx.gpr[5]; + std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_17 = ctx.gpr[17]; float aot_fpr_12 = ctx.fpr[12]; - float aot_fpr_20 = ctx.fpr[20]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_14 = ctx.fpr[14]; + float aot_fpr_20 = ctx.fpr[20]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[31] = aot_gpr_31; ctx.gpr[29] = aot_gpr_29; ctx.gpr[2] = aot_gpr_2; ctx.gpr[17] = aot_gpr_17; ctx.fpr[12] = aot_fpr_12; ctx.fpr[20] = aot_fpr_20; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_2 = ctx.gpr[2]; aot_gpr_17 = ctx.gpr[17]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[31] = aot_gpr_31; ctx.gpr[2] = aot_gpr_2; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[17] = aot_gpr_17; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[20] = aot_fpr_20; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_2 = ctx.gpr[2]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_17 = ctx.gpr[17]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_20 = ctx.fpr[20]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -1228,7 +1229,7 @@ L_0883C140: L_0883C150: aot_gpr_31 = (0x0883C158u); aot_gpr_4 = (ctx.gpr[30] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 128u, 0x08830934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883C158u) goto L_0883C158; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830934, 11u, 128u, 0x08830934u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 128u, 0x08830934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883C158u) goto L_0883C158; AOT_REGCACHE_SYNC_OUT(); return; L_0883C158: { const bool branch_taken = aot_gpr_2 != 0u; @@ -1241,7 +1242,7 @@ L_0883C158: L_0883C160: aot_gpr_31 = (0x0883C168u); aot_gpr_4 = (ctx.gpr[30] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 148u, 0x08830B10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883C168u) goto L_0883C168; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830B10, 11u, 148u, 0x08830B10u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 148u, 0x08830B10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883C168u) goto L_0883C168; AOT_REGCACHE_SYNC_OUT(); return; L_0883C168: aot_gpr_31 = (0x0883C170u); @@ -1409,7 +1410,7 @@ L_0883C2E8: L_0883C314: aot_gpr_31 = (0x0883C31Cu); aot_gpr_4 = (ctx.gpr[30] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883C31Cu) goto L_0883C31C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B01E00, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883C31Cu) goto L_0883C31C; AOT_REGCACHE_SYNC_OUT(); return; L_0883C31C: aot_gpr_4 = (0u | 3u); @@ -1423,7 +1424,7 @@ L_0883C31C: L_0883C328: aot_gpr_31 = (0x0883C330u); aot_gpr_4 = (ctx.gpr[30] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883C330u) goto L_0883C330; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B01E00, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883C330u) goto L_0883C330; AOT_REGCACHE_SYNC_OUT(); return; L_0883C330: aot_gpr_4 = (0u | 5u); @@ -1442,7 +1443,7 @@ L_0883C33C: L_0883C344: aot_gpr_31 = (0x0883C34Cu); aot_gpr_4 = (ctx.gpr[30] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 148u, 0x08830B10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883C34Cu) goto L_0883C34C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830B10, 11u, 148u, 0x08830B10u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 148u, 0x08830B10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883C34Cu) goto L_0883C34C; AOT_REGCACHE_SYNC_OUT(); return; L_0883C34C: ctx.gpr[16] = (aot_gpr_29 + static_cast(80)); @@ -1794,7 +1795,7 @@ L_0883C5F0: aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_31 = (0x0883C60Cu); aot_fpr_14 = std::bit_cast(std::bit_cast(aot_fpr_20)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883C60Cu) goto L_0883C60C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305D8, 11u, 79u, 0x088305D8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883C60Cu) goto L_0883C60C; AOT_REGCACHE_SYNC_OUT(); return; L_0883C60C: aot_gpr_4 = (ctx.gpr[16] | 0u); @@ -1809,7 +1810,7 @@ L_0883C618: aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_31 = (0x0883C630u); aot_fpr_14 = std::bit_cast(std::bit_cast(aot_fpr_20)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883C630u) goto L_0883C630; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305D8, 11u, 79u, 0x088305D8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883C630u) goto L_0883C630; AOT_REGCACHE_SYNC_OUT(); return; L_0883C630: aot_gpr_4 = (ctx.gpr[16] | 0u); @@ -1824,7 +1825,7 @@ L_0883C63C: aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_31 = (0x0883C654u); aot_fpr_14 = std::bit_cast(std::bit_cast(aot_fpr_20)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883C654u) goto L_0883C654; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305D8, 11u, 79u, 0x088305D8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883C654u) goto L_0883C654; AOT_REGCACHE_SYNC_OUT(); return; L_0883C654: aot_gpr_4 = (ctx.gpr[16] | 0u); @@ -1877,7 +1878,7 @@ L_0883C68C: L_0883C69C: aot_gpr_31 = (0x0883C6A4u); aot_gpr_4 = (ctx.gpr[30] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 128u, 0x08830934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883C6A4u) goto L_0883C6A4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830934, 11u, 128u, 0x08830934u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 128u, 0x08830934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883C6A4u) goto L_0883C6A4; AOT_REGCACHE_SYNC_OUT(); return; L_0883C6A4: aot_gpr_4 = (0u | 5u); @@ -1924,7 +1925,7 @@ L_0883C6DC: L_0883C6EC: aot_gpr_31 = (0x0883C6F4u); aot_gpr_4 = (ctx.gpr[30] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 148u, 0x08830B10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883C6F4u) goto L_0883C6F4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830B10, 11u, 148u, 0x08830B10u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 148u, 0x08830B10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883C6F4u) goto L_0883C6F4; AOT_REGCACHE_SYNC_OUT(); return; L_0883C6F4: aot_gpr_31 = (0x0883C6FCu); @@ -2118,7 +2119,7 @@ L_0883C834: aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_31 = (0x0883C880u); aot_fpr_14 = std::bit_cast(std::bit_cast(aot_fpr_20)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883C880u) goto L_0883C880; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305D8, 11u, 79u, 0x088305D8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883C880u) goto L_0883C880; AOT_REGCACHE_SYNC_OUT(); return; L_0883C880: aot_gpr_4 = (ctx.gpr[18] | 0u); @@ -2134,7 +2135,7 @@ L_0883C890: aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_31 = (0x0883C8A8u); aot_fpr_14 = std::bit_cast(std::bit_cast(aot_fpr_20)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883C8A8u) goto L_0883C8A8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305D8, 11u, 79u, 0x088305D8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883C8A8u) goto L_0883C8A8; AOT_REGCACHE_SYNC_OUT(); return; L_0883C8A8: aot_gpr_4 = (16179u << 16u); @@ -2156,7 +2157,7 @@ L_0883C8A8: L_0883C8E0: aot_gpr_31 = (0x0883C8E8u); aot_gpr_4 = (ctx.gpr[30] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 108u, 0x088307E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883C8E8u) goto L_0883C8E8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088307E0, 11u, 108u, 0x088307E0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 108u, 0x088307E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883C8E8u) goto L_0883C8E8; AOT_REGCACHE_SYNC_OUT(); return; L_0883C8E8: aot_gpr_4 = (ctx.gpr[19] | 0u); @@ -2189,7 +2190,7 @@ L_0883C928: L_0883C930: aot_gpr_31 = (0x0883C938u); aot_gpr_4 = (ctx.gpr[30] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 108u, 0x088307E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883C938u) goto L_0883C938; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088307E0, 11u, 108u, 0x088307E0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 108u, 0x088307E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883C938u) goto L_0883C938; AOT_REGCACHE_SYNC_OUT(); return; L_0883C938: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(8))); @@ -2219,7 +2220,7 @@ L_0883C958: L_0883C964: aot_gpr_31 = (0x0883C96Cu); aot_gpr_4 = (ctx.gpr[30] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 108u, 0x088307E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883C96Cu) goto L_0883C96C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088307E0, 11u, 108u, 0x088307E0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 108u, 0x088307E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883C96Cu) goto L_0883C96C; AOT_REGCACHE_SYNC_OUT(); return; L_0883C96C: aot_gpr_4 = (ctx.gpr[30] | 0u); @@ -2316,7 +2317,7 @@ L_0883CA3C: aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[0])); aot_gpr_31 = (0x0883CA50u); aot_fpr_14 = std::bit_cast(std::bit_cast(aot_fpr_20)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883CA50u) goto L_0883CA50; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305D8, 11u, 79u, 0x088305D8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883CA50u) goto L_0883CA50; AOT_REGCACHE_SYNC_OUT(); return; L_0883CA50: aot_gpr_17 = (aot_gpr_29 + static_cast(288)); @@ -2329,7 +2330,7 @@ L_0883CA50: L_0883CA64: aot_gpr_31 = (0x0883CA6Cu); aot_gpr_4 = (ctx.gpr[30] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883CA6Cu) goto L_0883CA6C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0883079C, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883CA6Cu) goto L_0883CA6C; AOT_REGCACHE_SYNC_OUT(); return; L_0883CA6C: ctx.gpr[16] = (aot_gpr_29 + static_cast(304)); @@ -2360,7 +2361,7 @@ L_0883CA90: L_0883CA98: aot_gpr_31 = (0x0883CAA0u); aot_gpr_4 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883CAA0u) goto L_0883CAA0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0883079C, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883CAA0u) goto L_0883CAA0; AOT_REGCACHE_SYNC_OUT(); return; L_0883CAA0: aot_gpr_4 = (aot_gpr_17 | 0u); @@ -2392,7 +2393,7 @@ L_0883CAD0: aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[0])); aot_gpr_31 = (0x0883CAE4u); aot_fpr_14 = std::bit_cast(std::bit_cast(aot_fpr_20)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883CAE4u) goto L_0883CAE4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305D8, 11u, 79u, 0x088305D8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883CAE4u) goto L_0883CAE4; AOT_REGCACHE_SYNC_OUT(); return; L_0883CAE4: aot_gpr_4 = (aot_gpr_17 | 0u); @@ -2458,20 +2459,20 @@ L_0883CB44: aot_gpr_4 = (ctx.gpr[30] + aot_gpr_4); aot_gpr_31 = (0x0883CB60u); aot_gpr_4 = (aot_gpr_4 + static_cast(1392)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 138u, 0x08830A50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883CB60u) goto L_0883CB60; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830A50, 11u, 138u, 0x08830A50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 138u, 0x08830A50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883CB60u) goto L_0883CB60; AOT_REGCACHE_SYNC_OUT(); return; L_0883CB60: aot_gpr_4 = (ctx.gpr[22] | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1844), ctx.gpr[22]); aot_gpr_31 = (0x0883CB70u); aot_gpr_5 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 80u, 0x088305ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883CB70u) goto L_0883CB70; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305EC, 11u, 80u, 0x088305ECu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 80u, 0x088305ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883CB70u) goto L_0883CB70; AOT_REGCACHE_SYNC_OUT(); return; L_0883CB70: ctx.gpr[22] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x0883CB7Cu); aot_gpr_4 = (ctx.gpr[30] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 108u, 0x088307E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883CB7Cu) goto L_0883CB7C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088307E0, 11u, 108u, 0x088307E0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 108u, 0x088307E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883CB7Cu) goto L_0883CB7C; AOT_REGCACHE_SYNC_OUT(); return; L_0883CB7C: aot_gpr_4 = (ctx.gpr[20] | 0u); @@ -2807,7 +2808,7 @@ L_0883CE0C: L_0883CE18: aot_gpr_31 = (0x0883CE20u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(900))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883CE20u) goto L_0883CE20; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883CE20u) goto L_0883CE20; AOT_REGCACHE_SYNC_OUT(); return; L_0883CE20: { const bool branch_taken = aot_gpr_2 == 0u; @@ -2820,7 +2821,7 @@ L_0883CE20: L_0883CE28: aot_gpr_31 = (0x0883CE30u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(900))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883CE30u) goto L_0883CE30; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883CE30u) goto L_0883CE30; AOT_REGCACHE_SYNC_OUT(); return; L_0883CE30: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(48)))))); @@ -2835,7 +2836,7 @@ L_0883CE30: L_0883CE40: aot_gpr_31 = (0x0883CE48u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(900))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883CE48u) goto L_0883CE48; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883CE48u) goto L_0883CE48; AOT_REGCACHE_SYNC_OUT(); return; L_0883CE48: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(48)))))); @@ -3206,7 +3207,7 @@ L_0883D0F0: L_0883D130: aot_gpr_31 = (0x0883D138u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883D138u) goto L_0883D138; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883D138u) goto L_0883D138; AOT_REGCACHE_SYNC_OUT(); return; L_0883D138: aot_gpr_4 = (aot_gpr_2 & 65535u); @@ -3628,7 +3629,7 @@ L_0883D434: aot_fpr_13 = std::bit_cast(aot_gpr_5); aot_gpr_31 = (0x0883D460u); aot_fpr_14 = std::bit_cast(0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883D460u) goto L_0883D460; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305D8, 11u, 79u, 0x088305D8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883D460u) goto L_0883D460; AOT_REGCACHE_SYNC_OUT(); return; L_0883D460: aot_gpr_4 = (ctx.gpr[18] | 0u); @@ -3649,13 +3650,13 @@ L_0883D470: L_0883D488: aot_gpr_31 = (0x0883D490u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 148u, 0x08830B10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883D490u) goto L_0883D490; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830B10, 11u, 148u, 0x08830B10u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 148u, 0x08830B10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883D490u) goto L_0883D490; AOT_REGCACHE_SYNC_OUT(); return; L_0883D490: ctx.gpr[16] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x0883D49Cu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883D49Cu) goto L_0883D49C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0883079C, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883D49Cu) goto L_0883D49C; AOT_REGCACHE_SYNC_OUT(); return; L_0883D49C: aot_gpr_4 = (ctx.gpr[16] | 0u); @@ -3733,13 +3734,13 @@ L_0883D518: aot_gpr_4 = (aot_gpr_17 + aot_gpr_4); aot_gpr_31 = (0x0883D52Cu); aot_gpr_4 = (aot_gpr_4 + static_cast(1392)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 138u, 0x08830A50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883D52Cu) goto L_0883D52C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830A50, 11u, 138u, 0x08830A50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 138u, 0x08830A50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883D52Cu) goto L_0883D52C; AOT_REGCACHE_SYNC_OUT(); return; L_0883D52C: aot_gpr_4 = (aot_gpr_29 + static_cast(288)); aot_gpr_31 = (0x0883D538u); aot_gpr_5 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 80u, 0x088305ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883D538u) goto L_0883D538; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305EC, 11u, 80u, 0x088305ECu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 80u, 0x088305ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883D538u) goto L_0883D538; AOT_REGCACHE_SYNC_OUT(); return; L_0883D538: ctx.gpr[19] = (aot_gpr_2 | 0u); @@ -3751,7 +3752,7 @@ L_0883D538: aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_31 = (0x0883D55Cu); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883D55Cu) goto L_0883D55C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305D8, 11u, 79u, 0x088305D8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883D55Cu) goto L_0883D55C; AOT_REGCACHE_SYNC_OUT(); return; L_0883D55C: aot_gpr_4 = (ctx.gpr[18] | 0u); @@ -3766,7 +3767,7 @@ L_0883D56C: aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_31 = (0x0883D580u); aot_fpr_14 = std::bit_cast(std::bit_cast(aot_fpr_20)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883D580u) goto L_0883D580; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305D8, 11u, 79u, 0x088305D8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883D580u) goto L_0883D580; AOT_REGCACHE_SYNC_OUT(); return; L_0883D580: aot_gpr_4 = (15820u << 16u); @@ -3813,13 +3814,13 @@ L_0883D5C8: aot_gpr_4 = (aot_gpr_17 + aot_gpr_4); aot_gpr_31 = (0x0883D5DCu); aot_gpr_4 = (aot_gpr_4 + static_cast(1392)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 138u, 0x08830A50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883D5DCu) goto L_0883D5DC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830A50, 11u, 138u, 0x08830A50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 138u, 0x08830A50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883D5DCu) goto L_0883D5DC; AOT_REGCACHE_SYNC_OUT(); return; L_0883D5DC: aot_gpr_4 = (aot_gpr_29 + static_cast(288)); aot_gpr_31 = (0x0883D5E8u); aot_gpr_5 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 80u, 0x088305ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883D5E8u) goto L_0883D5E8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305EC, 11u, 80u, 0x088305ECu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 80u, 0x088305ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883D5E8u) goto L_0883D5E8; AOT_REGCACHE_SYNC_OUT(); return; L_0883D5E8: ctx.gpr[19] = (aot_gpr_2 | 0u); @@ -3831,7 +3832,7 @@ L_0883D5E8: aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_31 = (0x0883D60Cu); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883D60Cu) goto L_0883D60C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305D8, 11u, 79u, 0x088305D8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883D60Cu) goto L_0883D60C; AOT_REGCACHE_SYNC_OUT(); return; L_0883D60C: aot_gpr_4 = (ctx.gpr[18] | 0u); @@ -3846,7 +3847,7 @@ L_0883D61C: aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_31 = (0x0883D630u); aot_fpr_14 = std::bit_cast(std::bit_cast(aot_fpr_20)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883D630u) goto L_0883D630; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305D8, 11u, 79u, 0x088305D8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883D630u) goto L_0883D630; AOT_REGCACHE_SYNC_OUT(); return; L_0883D630: aot_gpr_4 = (15820u << 16u); @@ -3877,13 +3878,13 @@ L_0883D668: aot_gpr_4 = (aot_gpr_17 + aot_gpr_4); aot_gpr_31 = (0x0883D67Cu); aot_gpr_4 = (aot_gpr_4 + static_cast(1392)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 138u, 0x08830A50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883D67Cu) goto L_0883D67C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830A50, 11u, 138u, 0x08830A50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 138u, 0x08830A50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883D67Cu) goto L_0883D67C; AOT_REGCACHE_SYNC_OUT(); return; L_0883D67C: aot_gpr_4 = (aot_gpr_29 + static_cast(288)); aot_gpr_31 = (0x0883D688u); aot_gpr_5 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 80u, 0x088305ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883D688u) goto L_0883D688; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305EC, 11u, 80u, 0x088305ECu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 80u, 0x088305ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883D688u) goto L_0883D688; AOT_REGCACHE_SYNC_OUT(); return; L_0883D688: ctx.gpr[19] = (aot_gpr_2 | 0u); @@ -3895,7 +3896,7 @@ L_0883D688: aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_31 = (0x0883D6ACu); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883D6ACu) goto L_0883D6AC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305D8, 11u, 79u, 0x088305D8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883D6ACu) goto L_0883D6AC; AOT_REGCACHE_SYNC_OUT(); return; L_0883D6AC: aot_gpr_4 = (ctx.gpr[18] | 0u); @@ -3910,7 +3911,7 @@ L_0883D6BC: aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_31 = (0x0883D6D0u); aot_fpr_14 = std::bit_cast(std::bit_cast(aot_fpr_20)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883D6D0u) goto L_0883D6D0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305D8, 11u, 79u, 0x088305D8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883D6D0u) goto L_0883D6D0; AOT_REGCACHE_SYNC_OUT(); return; L_0883D6D0: aot_gpr_4 = (15820u << 16u); @@ -3948,7 +3949,7 @@ L_0883D710: L_0883D718: aot_gpr_31 = (0x0883D720u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 128u, 0x08830934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883D720u) goto L_0883D720; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830934, 11u, 128u, 0x08830934u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 128u, 0x08830934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883D720u) goto L_0883D720; AOT_REGCACHE_SYNC_OUT(); return; L_0883D720: aot_gpr_4 = (0u | 2u); @@ -4203,7 +4204,7 @@ L_0883D924: L_0883D93C: aot_gpr_31 = (0x0883D944u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 128u, 0x08830934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883D944u) goto L_0883D944; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830934, 11u, 128u, 0x08830934u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 128u, 0x08830934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883D944u) goto L_0883D944; AOT_REGCACHE_SYNC_OUT(); return; L_0883D944: aot_gpr_4 = (0u | 3u); @@ -4217,7 +4218,7 @@ L_0883D944: L_0883D950: aot_gpr_31 = (0x0883D958u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 128u, 0x08830934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883D958u) goto L_0883D958; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830934, 11u, 128u, 0x08830934u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 128u, 0x08830934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883D958u) goto L_0883D958; AOT_REGCACHE_SYNC_OUT(); return; L_0883D958: { const bool branch_taken = aot_gpr_2 == 0u; @@ -4230,7 +4231,7 @@ L_0883D958: L_0883D960: aot_gpr_31 = (0x0883D968u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 128u, 0x08830934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883D968u) goto L_0883D968; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830934, 11u, 128u, 0x08830934u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 128u, 0x08830934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883D968u) goto L_0883D968; AOT_REGCACHE_SYNC_OUT(); return; L_0883D968: aot_gpr_4 = (0u | 1u); @@ -4244,7 +4245,7 @@ L_0883D968: L_0883D974: aot_gpr_31 = (0x0883D97Cu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 128u, 0x08830934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883D97Cu) goto L_0883D97C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830934, 11u, 128u, 0x08830934u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 128u, 0x08830934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883D97Cu) goto L_0883D97C; AOT_REGCACHE_SYNC_OUT(); return; L_0883D97C: aot_gpr_4 = (0u | 2u); @@ -4395,13 +4396,13 @@ L_0883DA58: ctx.gpr[22] = (aot_gpr_4 + static_cast(1392)); aot_gpr_31 = (0x0883DA74u); aot_gpr_4 = (ctx.gpr[22] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 138u, 0x08830A50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883DA74u) goto L_0883DA74; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830A50, 11u, 138u, 0x08830A50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 138u, 0x08830A50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883DA74u) goto L_0883DA74; AOT_REGCACHE_SYNC_OUT(); return; L_0883DA74: aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x0883DA80u); aot_gpr_5 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 80u, 0x088305ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883DA80u) goto L_0883DA80; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305EC, 11u, 80u, 0x088305ECu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 80u, 0x088305ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883DA80u) goto L_0883DA80; AOT_REGCACHE_SYNC_OUT(); return; L_0883DA80: ctx.gpr[23] = (aot_gpr_2 | 0u); @@ -4414,7 +4415,7 @@ L_0883DA80: aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_31 = (0x0883DAA8u); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[22])); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883DAA8u) goto L_0883DAA8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305D8, 11u, 79u, 0x088305D8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883DAA8u) goto L_0883DAA8; AOT_REGCACHE_SYNC_OUT(); return; L_0883DAA8: aot_gpr_4 = (ctx.gpr[20] | 0u); @@ -4430,7 +4431,7 @@ L_0883DAB8: aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_31 = (0x0883DAD0u); aot_fpr_14 = std::bit_cast(std::bit_cast(aot_fpr_20)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883DAD0u) goto L_0883DAD0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305D8, 11u, 79u, 0x088305D8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883DAD0u) goto L_0883DAD0; AOT_REGCACHE_SYNC_OUT(); return; L_0883DAD0: aot_gpr_4 = (0u | 67u); @@ -4448,13 +4449,13 @@ L_0883DAD0: L_0883DAF8: aot_gpr_31 = (0x0883DB00u); aot_gpr_4 = (ctx.gpr[22] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 138u, 0x08830A50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883DB00u) goto L_0883DB00; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830A50, 11u, 138u, 0x08830A50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 138u, 0x08830A50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883DB00u) goto L_0883DB00; AOT_REGCACHE_SYNC_OUT(); return; L_0883DB00: aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x0883DB0Cu); aot_gpr_5 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 80u, 0x088305ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883DB0Cu) goto L_0883DB0C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305EC, 11u, 80u, 0x088305ECu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 80u, 0x088305ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883DB0Cu) goto L_0883DB0C; AOT_REGCACHE_SYNC_OUT(); return; L_0883DB0C: aot_gpr_4 = (ctx.gpr[30] | 0u); @@ -4463,7 +4464,7 @@ L_0883DB0C: aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_31 = (0x0883DB24u); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[22])); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883DB24u) goto L_0883DB24; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305D8, 11u, 79u, 0x088305D8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883DB24u) goto L_0883DB24; AOT_REGCACHE_SYNC_OUT(); return; L_0883DB24: aot_gpr_4 = (ctx.gpr[23] | 0u); @@ -4480,7 +4481,7 @@ L_0883DB34: aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_31 = (0x0883DB50u); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883DB50u) goto L_0883DB50; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305D8, 11u, 79u, 0x088305D8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883DB50u) goto L_0883DB50; AOT_REGCACHE_SYNC_OUT(); return; L_0883DB50: aot_gpr_4 = (0u | 67u); @@ -4501,13 +4502,13 @@ L_0883DB78: aot_gpr_4 = (aot_gpr_17 + aot_gpr_4); aot_gpr_31 = (0x0883DB8Cu); aot_gpr_4 = (aot_gpr_4 + static_cast(1392)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 138u, 0x08830A50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883DB8Cu) goto L_0883DB8C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830A50, 11u, 138u, 0x08830A50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 138u, 0x08830A50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883DB8Cu) goto L_0883DB8C; AOT_REGCACHE_SYNC_OUT(); return; L_0883DB8C: aot_gpr_4 = (aot_gpr_29 + static_cast(480)); aot_gpr_31 = (0x0883DB98u); aot_gpr_5 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 80u, 0x088305ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883DB98u) goto L_0883DB98; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305EC, 11u, 80u, 0x088305ECu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 80u, 0x088305ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883DB98u) goto L_0883DB98; AOT_REGCACHE_SYNC_OUT(); return; L_0883DB98: ctx.gpr[21] = (aot_gpr_2 | 0u); @@ -4518,7 +4519,7 @@ L_0883DB98: aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_31 = (0x0883DBB8u); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883DBB8u) goto L_0883DBB8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305D8, 11u, 79u, 0x088305D8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883DBB8u) goto L_0883DBB8; AOT_REGCACHE_SYNC_OUT(); return; L_0883DBB8: aot_gpr_4 = (ctx.gpr[20] | 0u); @@ -4533,7 +4534,7 @@ L_0883DBC8: aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_31 = (0x0883DBDCu); aot_fpr_14 = std::bit_cast(std::bit_cast(aot_fpr_20)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883DBDCu) goto L_0883DBDC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305D8, 11u, 79u, 0x088305D8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883DBDCu) goto L_0883DBDC; AOT_REGCACHE_SYNC_OUT(); return; L_0883DBDC: aot_gpr_4 = (0u | 66u); @@ -4567,25 +4568,25 @@ L_0883DC20: aot_gpr_4 = (aot_gpr_17 + aot_gpr_4); aot_gpr_31 = (0x0883DC34u); aot_gpr_4 = (aot_gpr_4 + static_cast(1392)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 138u, 0x08830A50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883DC34u) goto L_0883DC34; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830A50, 11u, 138u, 0x08830A50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 138u, 0x08830A50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883DC34u) goto L_0883DC34; AOT_REGCACHE_SYNC_OUT(); return; L_0883DC34: aot_gpr_4 = (aot_gpr_29 + static_cast(592)); aot_gpr_31 = (0x0883DC40u); aot_gpr_5 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 80u, 0x088305ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883DC40u) goto L_0883DC40; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305EC, 11u, 80u, 0x088305ECu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 80u, 0x088305ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883DC40u) goto L_0883DC40; AOT_REGCACHE_SYNC_OUT(); return; L_0883DC40: ctx.gpr[21] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x0883DC4Cu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883DC4Cu) goto L_0883DC4C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0883079C, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883DC4Cu) goto L_0883DC4C; AOT_REGCACHE_SYNC_OUT(); return; L_0883DC4C: aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(0))); aot_gpr_31 = (0x0883DC58u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883DC58u) goto L_0883DC58; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0883079C, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883DC58u) goto L_0883DC58; AOT_REGCACHE_SYNC_OUT(); return; L_0883DC58: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(4))); @@ -4664,13 +4665,13 @@ L_0883DCE0: ctx.gpr[21] = (aot_gpr_29 + static_cast(608)); aot_gpr_31 = (0x0883DCECu); aot_gpr_4 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 138u, 0x08830A50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883DCECu) goto L_0883DCEC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830A50, 11u, 138u, 0x08830A50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 138u, 0x08830A50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883DCECu) goto L_0883DCEC; AOT_REGCACHE_SYNC_OUT(); return; L_0883DCEC: aot_gpr_4 = (aot_gpr_29 + static_cast(624)); aot_gpr_31 = (0x0883DCF8u); aot_gpr_5 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 80u, 0x088305ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883DCF8u) goto L_0883DCF8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305EC, 11u, 80u, 0x088305ECu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 80u, 0x088305ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883DCF8u) goto L_0883DCF8; AOT_REGCACHE_SYNC_OUT(); return; L_0883DCF8: ctx.gpr[20] = (aot_gpr_2 | 0u); @@ -4681,7 +4682,7 @@ L_0883DCF8: aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_31 = (0x0883DD18u); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883DD18u) goto L_0883DD18; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305D8, 11u, 79u, 0x088305D8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883DD18u) goto L_0883DD18; AOT_REGCACHE_SYNC_OUT(); return; L_0883DD18: aot_gpr_4 = (ctx.gpr[21] | 0u); @@ -4696,7 +4697,7 @@ L_0883DD28: aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_31 = (0x0883DD3Cu); aot_fpr_14 = std::bit_cast(std::bit_cast(aot_fpr_20)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883DD3Cu) goto L_0883DD3C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305D8, 11u, 79u, 0x088305D8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883DD3Cu) goto L_0883DD3C; AOT_REGCACHE_SYNC_OUT(); return; L_0883DD3C: aot_gpr_4 = (0u | 66u); @@ -4731,25 +4732,25 @@ L_0883DD84: aot_gpr_4 = (aot_gpr_17 + aot_gpr_4); aot_gpr_31 = (0x0883DD98u); aot_gpr_4 = (aot_gpr_4 + static_cast(1392)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 138u, 0x08830A50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883DD98u) goto L_0883DD98; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830A50, 11u, 138u, 0x08830A50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 138u, 0x08830A50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883DD98u) goto L_0883DD98; AOT_REGCACHE_SYNC_OUT(); return; L_0883DD98: aot_gpr_4 = (aot_gpr_29 + static_cast(672)); aot_gpr_31 = (0x0883DDA4u); aot_gpr_5 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 80u, 0x088305ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883DDA4u) goto L_0883DDA4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305EC, 11u, 80u, 0x088305ECu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 80u, 0x088305ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883DDA4u) goto L_0883DDA4; AOT_REGCACHE_SYNC_OUT(); return; L_0883DDA4: ctx.gpr[21] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x0883DDB0u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883DDB0u) goto L_0883DDB0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0883079C, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883DDB0u) goto L_0883DDB0; AOT_REGCACHE_SYNC_OUT(); return; L_0883DDB0: aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(0))); aot_gpr_31 = (0x0883DDBCu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883DDBCu) goto L_0883DDBC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0883079C, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883DDBCu) goto L_0883DDBC; AOT_REGCACHE_SYNC_OUT(); return; L_0883DDBC: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(4))); @@ -4803,13 +4804,13 @@ L_0883DE28: ctx.gpr[21] = (aot_gpr_29 + static_cast(688)); aot_gpr_31 = (0x0883DE34u); aot_gpr_4 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 138u, 0x08830A50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883DE34u) goto L_0883DE34; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830A50, 11u, 138u, 0x08830A50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 138u, 0x08830A50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883DE34u) goto L_0883DE34; AOT_REGCACHE_SYNC_OUT(); return; L_0883DE34: aot_gpr_4 = (aot_gpr_29 + static_cast(704)); aot_gpr_31 = (0x0883DE40u); aot_gpr_5 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 80u, 0x088305ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883DE40u) goto L_0883DE40; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305EC, 11u, 80u, 0x088305ECu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 80u, 0x088305ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883DE40u) goto L_0883DE40; AOT_REGCACHE_SYNC_OUT(); return; L_0883DE40: ctx.gpr[20] = (aot_gpr_2 | 0u); @@ -4820,7 +4821,7 @@ L_0883DE40: aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_31 = (0x0883DE60u); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883DE60u) goto L_0883DE60; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305D8, 11u, 79u, 0x088305D8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883DE60u) goto L_0883DE60; AOT_REGCACHE_SYNC_OUT(); return; L_0883DE60: aot_gpr_4 = (ctx.gpr[21] | 0u); @@ -4835,7 +4836,7 @@ L_0883DE70: aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_31 = (0x0883DE84u); aot_fpr_14 = std::bit_cast(std::bit_cast(aot_fpr_20)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883DE84u) goto L_0883DE84; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305D8, 11u, 79u, 0x088305D8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883DE84u) goto L_0883DE84; AOT_REGCACHE_SYNC_OUT(); return; L_0883DE84: aot_gpr_4 = (0u | 66u); @@ -4870,25 +4871,25 @@ L_0883DECC: aot_gpr_4 = (aot_gpr_17 + aot_gpr_4); aot_gpr_31 = (0x0883DEE0u); aot_gpr_4 = (aot_gpr_4 + static_cast(1392)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 138u, 0x08830A50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883DEE0u) goto L_0883DEE0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830A50, 11u, 138u, 0x08830A50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 138u, 0x08830A50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883DEE0u) goto L_0883DEE0; AOT_REGCACHE_SYNC_OUT(); return; L_0883DEE0: aot_gpr_4 = (aot_gpr_29 + static_cast(752)); aot_gpr_31 = (0x0883DEECu); aot_gpr_5 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 80u, 0x088305ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883DEECu) goto L_0883DEEC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305EC, 11u, 80u, 0x088305ECu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 80u, 0x088305ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883DEECu) goto L_0883DEEC; AOT_REGCACHE_SYNC_OUT(); return; L_0883DEEC: ctx.gpr[21] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x0883DEF8u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883DEF8u) goto L_0883DEF8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0883079C, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883DEF8u) goto L_0883DEF8; AOT_REGCACHE_SYNC_OUT(); return; L_0883DEF8: aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(0))); aot_gpr_31 = (0x0883DF04u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883DF04u) goto L_0883DF04; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0883079C, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883DF04u) goto L_0883DF04; AOT_REGCACHE_SYNC_OUT(); return; L_0883DF04: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(4))); @@ -4976,25 +4977,25 @@ L_0883DFA8: aot_gpr_4 = (aot_gpr_17 + aot_gpr_4); aot_gpr_31 = (0x0883DFBCu); aot_gpr_4 = (aot_gpr_4 + static_cast(1392)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 138u, 0x08830A50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883DFBCu) goto L_0883DFBC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830A50, 11u, 138u, 0x08830A50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 138u, 0x08830A50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883DFBCu) goto L_0883DFBC; AOT_REGCACHE_SYNC_OUT(); return; L_0883DFBC: aot_gpr_4 = (aot_gpr_29 + static_cast(768)); aot_gpr_31 = (0x0883DFC8u); aot_gpr_5 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 80u, 0x088305ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883DFC8u) goto L_0883DFC8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305EC, 11u, 80u, 0x088305ECu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 80u, 0x088305ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883DFC8u) goto L_0883DFC8; AOT_REGCACHE_SYNC_OUT(); return; L_0883DFC8: ctx.gpr[21] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x0883DFD4u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883DFD4u) goto L_0883DFD4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0883079C, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883DFD4u) goto L_0883DFD4; AOT_REGCACHE_SYNC_OUT(); return; L_0883DFD4: aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(0))); aot_gpr_31 = (0x0883DFE0u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883DFE0u) goto L_0883DFE0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0883079C, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883DFE0u) goto L_0883DFE0; AOT_REGCACHE_SYNC_OUT(); return; L_0883DFE0: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(4))); @@ -5040,7 +5041,7 @@ L_0883E020: L_0883E03C: aot_gpr_31 = (0x0883E044u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 148u, 0x08830B10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883E044u) goto L_0883E044; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830B10, 11u, 148u, 0x08830B10u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 148u, 0x08830B10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883E044u) goto L_0883E044; AOT_REGCACHE_SYNC_OUT(); return; L_0883E044: aot_gpr_31 = (0x0883E04Cu); @@ -5149,13 +5150,13 @@ L_0883E0FC: aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x0883E108u); aot_gpr_5 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 80u, 0x088305ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883E108u) goto L_0883E108; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305EC, 11u, 80u, 0x088305ECu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 80u, 0x088305ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883E108u) goto L_0883E108; AOT_REGCACHE_SYNC_OUT(); return; L_0883E108: ctx.gpr[22] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x0883E114u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 148u, 0x08830B10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883E114u) goto L_0883E114; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830B10, 11u, 148u, 0x08830B10u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 148u, 0x08830B10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883E114u) goto L_0883E114; AOT_REGCACHE_SYNC_OUT(); return; L_0883E114: aot_gpr_4 = (ctx.gpr[22] | 0u); @@ -5167,7 +5168,7 @@ L_0883E120: aot_fpr_20 = std::bit_cast(std::bit_cast(ctx.fpr[0])); aot_gpr_31 = (0x0883E12Cu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 148u, 0x08830B10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883E12Cu) goto L_0883E12C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830B10, 11u, 148u, 0x08830B10u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 148u, 0x08830B10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883E12Cu) goto L_0883E12C; AOT_REGCACHE_SYNC_OUT(); return; L_0883E12C: ctx.gpr[22] = (aot_gpr_2 | 0u); @@ -5180,7 +5181,7 @@ L_0883E13C: aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x0883E148u); aot_gpr_5 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 80u, 0x088305ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883E148u) goto L_0883E148; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305EC, 11u, 80u, 0x088305ECu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 80u, 0x088305ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883E148u) goto L_0883E148; AOT_REGCACHE_SYNC_OUT(); return; L_0883E148: aot_gpr_4 = (ctx.gpr[23] | 0u); @@ -5199,13 +5200,13 @@ L_0883E158: L_0883E168: aot_gpr_31 = (0x0883E170u); aot_gpr_4 = (ctx.gpr[21] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 138u, 0x08830A50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883E170u) goto L_0883E170; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830A50, 11u, 138u, 0x08830A50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 138u, 0x08830A50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883E170u) goto L_0883E170; AOT_REGCACHE_SYNC_OUT(); return; L_0883E170: aot_gpr_4 = (aot_gpr_29 + static_cast(832)); aot_gpr_31 = (0x0883E17Cu); aot_gpr_5 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 80u, 0x088305ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883E17Cu) goto L_0883E17C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305EC, 11u, 80u, 0x088305ECu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 80u, 0x088305ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883E17Cu) goto L_0883E17C; AOT_REGCACHE_SYNC_OUT(); return; L_0883E17C: { const bool branch_taken = ctx.gpr[19] == 0u; @@ -5322,13 +5323,13 @@ L_0883E25C: aot_gpr_4 = (aot_gpr_17 + aot_gpr_4); aot_gpr_31 = (0x0883E26Cu); aot_gpr_4 = (aot_gpr_4 + static_cast(1392)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 138u, 0x08830A50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883E26Cu) goto L_0883E26C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830A50, 11u, 138u, 0x08830A50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 138u, 0x08830A50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883E26Cu) goto L_0883E26C; AOT_REGCACHE_SYNC_OUT(); return; L_0883E26C: aot_gpr_4 = (aot_gpr_29 + static_cast(784)); aot_gpr_31 = (0x0883E278u); aot_gpr_5 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 80u, 0x088305ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883E278u) goto L_0883E278; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305EC, 11u, 80u, 0x088305ECu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 80u, 0x088305ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883E278u) goto L_0883E278; AOT_REGCACHE_SYNC_OUT(); return; L_0883E278: ctx.gpr[20] = (aot_gpr_2 | 0u); @@ -5372,13 +5373,13 @@ L_0883E2DC: aot_gpr_4 = (aot_gpr_17 + aot_gpr_4); aot_gpr_31 = (0x0883E2ECu); aot_gpr_4 = (aot_gpr_4 + static_cast(1392)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 138u, 0x08830A50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883E2ECu) goto L_0883E2EC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830A50, 11u, 138u, 0x08830A50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 138u, 0x08830A50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883E2ECu) goto L_0883E2EC; AOT_REGCACHE_SYNC_OUT(); return; L_0883E2EC: aot_gpr_4 = (aot_gpr_29 + static_cast(880)); aot_gpr_31 = (0x0883E2F8u); aot_gpr_5 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 80u, 0x088305ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883E2F8u) goto L_0883E2F8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305EC, 11u, 80u, 0x088305ECu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 80u, 0x088305ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883E2F8u) goto L_0883E2F8; AOT_REGCACHE_SYNC_OUT(); return; L_0883E2F8: ctx.gpr[20] = (aot_gpr_2 | 0u); @@ -5424,13 +5425,13 @@ L_0883E35C: ctx.gpr[21] = (aot_gpr_4 + static_cast(1392)); aot_gpr_31 = (0x0883E374u); aot_gpr_4 = (ctx.gpr[21] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 138u, 0x08830A50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883E374u) goto L_0883E374; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830A50, 11u, 138u, 0x08830A50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 138u, 0x08830A50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883E374u) goto L_0883E374; AOT_REGCACHE_SYNC_OUT(); return; L_0883E374: aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x0883E380u); aot_gpr_5 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 80u, 0x088305ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883E380u) goto L_0883E380; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305EC, 11u, 80u, 0x088305ECu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 80u, 0x088305ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883E380u) goto L_0883E380; AOT_REGCACHE_SYNC_OUT(); return; L_0883E380: ctx.gpr[22] = (aot_gpr_2 | 0u); @@ -5461,13 +5462,13 @@ L_0883E3A4: L_0883E3D0: aot_gpr_31 = (0x0883E3D8u); aot_gpr_4 = (ctx.gpr[21] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 138u, 0x08830A50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883E3D8u) goto L_0883E3D8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830A50, 11u, 138u, 0x08830A50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 138u, 0x08830A50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883E3D8u) goto L_0883E3D8; AOT_REGCACHE_SYNC_OUT(); return; L_0883E3D8: aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x0883E3E4u); aot_gpr_5 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 80u, 0x088305ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883E3E4u) goto L_0883E3E4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305EC, 11u, 80u, 0x088305ECu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 80u, 0x088305ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883E3E4u) goto L_0883E3E4; AOT_REGCACHE_SYNC_OUT(); return; L_0883E3E4: ctx.gpr[20] = (aot_gpr_2 | 0u); @@ -5566,7 +5567,7 @@ L_0883E4C8: ctx.gpr[16] = (aot_gpr_29 + static_cast(960)); aot_gpr_31 = (0x0883E4D4u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883E4D4u) goto L_0883E4D4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0883079C, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883E4D4u) goto L_0883E4D4; AOT_REGCACHE_SYNC_OUT(); return; L_0883E4D4: aot_gpr_4 = (16384u << 16u); @@ -5663,13 +5664,13 @@ L_0883E558: ctx.gpr[18] = (aot_gpr_29 + static_cast(1008)); aot_gpr_31 = (0x0883E568u); aot_gpr_4 = (aot_gpr_17 + static_cast(1424)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 138u, 0x08830A50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883E568u) goto L_0883E568; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830A50, 11u, 138u, 0x08830A50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 138u, 0x08830A50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883E568u) goto L_0883E568; AOT_REGCACHE_SYNC_OUT(); return; L_0883E568: aot_gpr_4 = (aot_gpr_29 + static_cast(1024)); aot_gpr_31 = (0x0883E574u); aot_gpr_5 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 80u, 0x088305ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883E574u) goto L_0883E574; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305EC, 11u, 80u, 0x088305ECu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 80u, 0x088305ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883E574u) goto L_0883E574; AOT_REGCACHE_SYNC_OUT(); return; L_0883E574: ctx.gpr[19] = (aot_gpr_2 | 0u); @@ -5680,7 +5681,7 @@ L_0883E574: aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_31 = (0x0883E594u); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883E594u) goto L_0883E594; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305D8, 11u, 79u, 0x088305D8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883E594u) goto L_0883E594; AOT_REGCACHE_SYNC_OUT(); return; L_0883E594: aot_gpr_4 = (ctx.gpr[18] | 0u); @@ -5702,7 +5703,7 @@ L_0883E5B4: aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_31 = (0x0883E5C8u); aot_fpr_14 = std::bit_cast(std::bit_cast(aot_fpr_20)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883E5C8u) goto L_0883E5C8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305D8, 11u, 79u, 0x088305D8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883E5C8u) goto L_0883E5C8; AOT_REGCACHE_SYNC_OUT(); return; L_0883E5C8: aot_gpr_4 = (0u | 66u); @@ -5733,13 +5734,13 @@ L_0883E604: ctx.gpr[18] = (aot_gpr_29 + static_cast(1072)); aot_gpr_31 = (0x0883E614u); aot_gpr_4 = (aot_gpr_17 + static_cast(1424)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 138u, 0x08830A50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883E614u) goto L_0883E614; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830A50, 11u, 138u, 0x08830A50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 138u, 0x08830A50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883E614u) goto L_0883E614; AOT_REGCACHE_SYNC_OUT(); return; L_0883E614: aot_gpr_4 = (aot_gpr_29 + static_cast(1088)); aot_gpr_31 = (0x0883E620u); aot_gpr_5 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 80u, 0x088305ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883E620u) goto L_0883E620; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305EC, 11u, 80u, 0x088305ECu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 80u, 0x088305ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883E620u) goto L_0883E620; AOT_REGCACHE_SYNC_OUT(); return; L_0883E620: ctx.gpr[6] = (aot_gpr_29 + static_cast(976)); @@ -5751,13 +5752,13 @@ L_0883E620: L_0883E630: aot_gpr_31 = (0x0883E638u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883E638u) goto L_0883E638; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0883079C, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883E638u) goto L_0883E638; AOT_REGCACHE_SYNC_OUT(); return; L_0883E638: aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(0))); aot_gpr_31 = (0x0883E644u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883E644u) goto L_0883E644; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0883079C, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883E644u) goto L_0883E644; AOT_REGCACHE_SYNC_OUT(); return; L_0883E644: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(4))); @@ -5782,13 +5783,13 @@ L_0883E668: ctx.gpr[18] = (aot_gpr_29 + static_cast(1040)); aot_gpr_31 = (0x0883E678u); aot_gpr_4 = (aot_gpr_17 + static_cast(1424)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 138u, 0x08830A50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883E678u) goto L_0883E678; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830A50, 11u, 138u, 0x08830A50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 138u, 0x08830A50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883E678u) goto L_0883E678; AOT_REGCACHE_SYNC_OUT(); return; L_0883E678: aot_gpr_4 = (aot_gpr_29 + static_cast(1024)); aot_gpr_31 = (0x0883E684u); aot_gpr_5 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 80u, 0x088305ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883E684u) goto L_0883E684; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305EC, 11u, 80u, 0x088305ECu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 80u, 0x088305ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883E684u) goto L_0883E684; AOT_REGCACHE_SYNC_OUT(); return; L_0883E684: ctx.gpr[19] = (aot_gpr_2 | 0u); @@ -5799,7 +5800,7 @@ L_0883E684: aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_31 = (0x0883E6A4u); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883E6A4u) goto L_0883E6A4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305D8, 11u, 79u, 0x088305D8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883E6A4u) goto L_0883E6A4; AOT_REGCACHE_SYNC_OUT(); return; L_0883E6A4: aot_gpr_4 = (ctx.gpr[18] | 0u); @@ -5821,7 +5822,7 @@ L_0883E6C4: aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_31 = (0x0883E6D8u); aot_fpr_14 = std::bit_cast(std::bit_cast(aot_fpr_20)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883E6D8u) goto L_0883E6D8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305D8, 11u, 79u, 0x088305D8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883E6D8u) goto L_0883E6D8; AOT_REGCACHE_SYNC_OUT(); return; L_0883E6D8: aot_gpr_4 = (0u | 66u); @@ -5852,13 +5853,13 @@ L_0883E714: ctx.gpr[18] = (aot_gpr_29 + static_cast(1104)); aot_gpr_31 = (0x0883E724u); aot_gpr_4 = (aot_gpr_17 + static_cast(1424)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 138u, 0x08830A50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883E724u) goto L_0883E724; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830A50, 11u, 138u, 0x08830A50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 138u, 0x08830A50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883E724u) goto L_0883E724; AOT_REGCACHE_SYNC_OUT(); return; L_0883E724: aot_gpr_4 = (aot_gpr_29 + static_cast(1120)); aot_gpr_31 = (0x0883E730u); aot_gpr_5 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 80u, 0x088305ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883E730u) goto L_0883E730; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305EC, 11u, 80u, 0x088305ECu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 80u, 0x088305ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883E730u) goto L_0883E730; AOT_REGCACHE_SYNC_OUT(); return; L_0883E730: ctx.gpr[6] = (aot_gpr_29 + static_cast(976)); @@ -5870,13 +5871,13 @@ L_0883E730: L_0883E740: aot_gpr_31 = (0x0883E748u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883E748u) goto L_0883E748; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0883079C, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883E748u) goto L_0883E748; AOT_REGCACHE_SYNC_OUT(); return; L_0883E748: aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(0))); aot_gpr_31 = (0x0883E754u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883E754u) goto L_0883E754; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0883079C, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883E754u) goto L_0883E754; AOT_REGCACHE_SYNC_OUT(); return; L_0883E754: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(4))); @@ -5901,13 +5902,13 @@ L_0883E778: ctx.gpr[18] = (aot_gpr_29 + static_cast(1040)); aot_gpr_31 = (0x0883E788u); aot_gpr_4 = (aot_gpr_17 + static_cast(1424)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 138u, 0x08830A50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883E788u) goto L_0883E788; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830A50, 11u, 138u, 0x08830A50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 138u, 0x08830A50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883E788u) goto L_0883E788; AOT_REGCACHE_SYNC_OUT(); return; L_0883E788: aot_gpr_4 = (aot_gpr_29 + static_cast(1024)); aot_gpr_31 = (0x0883E794u); aot_gpr_5 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 80u, 0x088305ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883E794u) goto L_0883E794; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305EC, 11u, 80u, 0x088305ECu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 80u, 0x088305ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883E794u) goto L_0883E794; AOT_REGCACHE_SYNC_OUT(); return; L_0883E794: ctx.gpr[19] = (aot_gpr_2 | 0u); @@ -5918,7 +5919,7 @@ L_0883E794: aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_31 = (0x0883E7B4u); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883E7B4u) goto L_0883E7B4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305D8, 11u, 79u, 0x088305D8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883E7B4u) goto L_0883E7B4; AOT_REGCACHE_SYNC_OUT(); return; L_0883E7B4: aot_gpr_4 = (ctx.gpr[18] | 0u); @@ -5940,7 +5941,7 @@ L_0883E7D4: aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_31 = (0x0883E7E8u); aot_fpr_14 = std::bit_cast(std::bit_cast(aot_fpr_20)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883E7E8u) goto L_0883E7E8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305D8, 11u, 79u, 0x088305D8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883E7E8u) goto L_0883E7E8; AOT_REGCACHE_SYNC_OUT(); return; L_0883E7E8: aot_gpr_4 = (0u | 66u); @@ -5971,13 +5972,13 @@ L_0883E824: ctx.gpr[18] = (aot_gpr_29 + static_cast(1136)); aot_gpr_31 = (0x0883E834u); aot_gpr_4 = (aot_gpr_17 + static_cast(1424)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 138u, 0x08830A50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883E834u) goto L_0883E834; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830A50, 11u, 138u, 0x08830A50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 138u, 0x08830A50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883E834u) goto L_0883E834; AOT_REGCACHE_SYNC_OUT(); return; L_0883E834: aot_gpr_4 = (aot_gpr_29 + static_cast(1152)); aot_gpr_31 = (0x0883E840u); aot_gpr_5 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 80u, 0x088305ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883E840u) goto L_0883E840; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305EC, 11u, 80u, 0x088305ECu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 80u, 0x088305ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883E840u) goto L_0883E840; AOT_REGCACHE_SYNC_OUT(); return; L_0883E840: ctx.gpr[6] = (aot_gpr_29 + static_cast(976)); @@ -5989,13 +5990,13 @@ L_0883E840: L_0883E850: aot_gpr_31 = (0x0883E858u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883E858u) goto L_0883E858; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0883079C, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883E858u) goto L_0883E858; AOT_REGCACHE_SYNC_OUT(); return; L_0883E858: aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(0))); aot_gpr_31 = (0x0883E864u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883E864u) goto L_0883E864; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0883079C, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883E864u) goto L_0883E864; AOT_REGCACHE_SYNC_OUT(); return; L_0883E864: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(4))); @@ -6088,13 +6089,13 @@ L_0883E8E4: ctx.gpr[18] = (aot_gpr_29 + static_cast(1184)); aot_gpr_31 = (0x0883E8F4u); aot_gpr_4 = (aot_gpr_17 + static_cast(1488)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 138u, 0x08830A50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883E8F4u) goto L_0883E8F4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830A50, 11u, 138u, 0x08830A50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 138u, 0x08830A50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883E8F4u) goto L_0883E8F4; AOT_REGCACHE_SYNC_OUT(); return; L_0883E8F4: aot_gpr_4 = (aot_gpr_29 + static_cast(1200)); aot_gpr_31 = (0x0883E900u); aot_gpr_5 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 80u, 0x088305ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883E900u) goto L_0883E900; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305EC, 11u, 80u, 0x088305ECu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 80u, 0x088305ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883E900u) goto L_0883E900; AOT_REGCACHE_SYNC_OUT(); return; L_0883E900: ctx.gpr[19] = (aot_gpr_2 | 0u); @@ -6105,7 +6106,7 @@ L_0883E900: aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_31 = (0x0883E920u); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883E920u) goto L_0883E920; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305D8, 11u, 79u, 0x088305D8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883E920u) goto L_0883E920; AOT_REGCACHE_SYNC_OUT(); return; L_0883E920: aot_gpr_4 = (ctx.gpr[18] | 0u); @@ -6127,7 +6128,7 @@ L_0883E940: aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_31 = (0x0883E954u); aot_fpr_14 = std::bit_cast(std::bit_cast(aot_fpr_20)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883E954u) goto L_0883E954; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305D8, 11u, 79u, 0x088305D8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883E954u) goto L_0883E954; AOT_REGCACHE_SYNC_OUT(); return; L_0883E954: aot_gpr_4 = (0u | 66u); @@ -6158,13 +6159,13 @@ L_0883E990: ctx.gpr[18] = (aot_gpr_29 + static_cast(1248)); aot_gpr_31 = (0x0883E9A0u); aot_gpr_4 = (aot_gpr_17 + static_cast(1488)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 138u, 0x08830A50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883E9A0u) goto L_0883E9A0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830A50, 11u, 138u, 0x08830A50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 138u, 0x08830A50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883E9A0u) goto L_0883E9A0; AOT_REGCACHE_SYNC_OUT(); return; L_0883E9A0: aot_gpr_4 = (aot_gpr_29 + static_cast(1264)); aot_gpr_31 = (0x0883E9ACu); aot_gpr_5 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 80u, 0x088305ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883E9ACu) goto L_0883E9AC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305EC, 11u, 80u, 0x088305ECu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 80u, 0x088305ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883E9ACu) goto L_0883E9AC; AOT_REGCACHE_SYNC_OUT(); return; L_0883E9AC: ctx.gpr[6] = (aot_gpr_29 + static_cast(976)); @@ -6176,13 +6177,13 @@ L_0883E9AC: L_0883E9BC: aot_gpr_31 = (0x0883E9C4u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883E9C4u) goto L_0883E9C4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0883079C, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883E9C4u) goto L_0883E9C4; AOT_REGCACHE_SYNC_OUT(); return; L_0883E9C4: aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(0))); aot_gpr_31 = (0x0883E9D0u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883E9D0u) goto L_0883E9D0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0883079C, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883E9D0u) goto L_0883E9D0; AOT_REGCACHE_SYNC_OUT(); return; L_0883E9D0: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(4))); @@ -6207,13 +6208,13 @@ L_0883E9F4: ctx.gpr[18] = (aot_gpr_29 + static_cast(1216)); aot_gpr_31 = (0x0883EA04u); aot_gpr_4 = (aot_gpr_17 + static_cast(1488)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 138u, 0x08830A50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883EA04u) goto L_0883EA04; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830A50, 11u, 138u, 0x08830A50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 138u, 0x08830A50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883EA04u) goto L_0883EA04; AOT_REGCACHE_SYNC_OUT(); return; L_0883EA04: aot_gpr_4 = (aot_gpr_29 + static_cast(1200)); aot_gpr_31 = (0x0883EA10u); aot_gpr_5 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 80u, 0x088305ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883EA10u) goto L_0883EA10; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305EC, 11u, 80u, 0x088305ECu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 80u, 0x088305ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883EA10u) goto L_0883EA10; AOT_REGCACHE_SYNC_OUT(); return; L_0883EA10: ctx.gpr[19] = (aot_gpr_2 | 0u); @@ -6224,7 +6225,7 @@ L_0883EA10: aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_31 = (0x0883EA30u); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883EA30u) goto L_0883EA30; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305D8, 11u, 79u, 0x088305D8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883EA30u) goto L_0883EA30; AOT_REGCACHE_SYNC_OUT(); return; L_0883EA30: aot_gpr_4 = (ctx.gpr[18] | 0u); @@ -6246,7 +6247,7 @@ L_0883EA50: aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_31 = (0x0883EA64u); aot_fpr_14 = std::bit_cast(std::bit_cast(aot_fpr_20)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883EA64u) goto L_0883EA64; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305D8, 11u, 79u, 0x088305D8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883EA64u) goto L_0883EA64; AOT_REGCACHE_SYNC_OUT(); return; L_0883EA64: aot_gpr_4 = (0u | 66u); @@ -6277,13 +6278,13 @@ L_0883EAA0: ctx.gpr[18] = (aot_gpr_29 + static_cast(1280)); aot_gpr_31 = (0x0883EAB0u); aot_gpr_4 = (aot_gpr_17 + static_cast(1488)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 138u, 0x08830A50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883EAB0u) goto L_0883EAB0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830A50, 11u, 138u, 0x08830A50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 138u, 0x08830A50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883EAB0u) goto L_0883EAB0; AOT_REGCACHE_SYNC_OUT(); return; L_0883EAB0: aot_gpr_4 = (aot_gpr_29 + static_cast(1296)); aot_gpr_31 = (0x0883EABCu); aot_gpr_5 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 80u, 0x088305ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883EABCu) goto L_0883EABC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305EC, 11u, 80u, 0x088305ECu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 80u, 0x088305ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883EABCu) goto L_0883EABC; AOT_REGCACHE_SYNC_OUT(); return; L_0883EABC: ctx.gpr[6] = (aot_gpr_29 + static_cast(976)); @@ -6295,13 +6296,13 @@ L_0883EABC: L_0883EACC: aot_gpr_31 = (0x0883EAD4u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883EAD4u) goto L_0883EAD4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0883079C, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883EAD4u) goto L_0883EAD4; AOT_REGCACHE_SYNC_OUT(); return; L_0883EAD4: aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(0))); aot_gpr_31 = (0x0883EAE0u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883EAE0u) goto L_0883EAE0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0883079C, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883EAE0u) goto L_0883EAE0; AOT_REGCACHE_SYNC_OUT(); return; L_0883EAE0: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(4))); @@ -6326,13 +6327,13 @@ L_0883EB04: ctx.gpr[18] = (aot_gpr_29 + static_cast(1216)); aot_gpr_31 = (0x0883EB14u); aot_gpr_4 = (aot_gpr_17 + static_cast(1488)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 138u, 0x08830A50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883EB14u) goto L_0883EB14; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830A50, 11u, 138u, 0x08830A50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 138u, 0x08830A50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883EB14u) goto L_0883EB14; AOT_REGCACHE_SYNC_OUT(); return; L_0883EB14: aot_gpr_4 = (aot_gpr_29 + static_cast(1200)); aot_gpr_31 = (0x0883EB20u); aot_gpr_5 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 80u, 0x088305ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883EB20u) goto L_0883EB20; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305EC, 11u, 80u, 0x088305ECu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 80u, 0x088305ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883EB20u) goto L_0883EB20; AOT_REGCACHE_SYNC_OUT(); return; L_0883EB20: ctx.gpr[19] = (aot_gpr_2 | 0u); @@ -6343,7 +6344,7 @@ L_0883EB20: aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_31 = (0x0883EB40u); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883EB40u) goto L_0883EB40; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305D8, 11u, 79u, 0x088305D8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883EB40u) goto L_0883EB40; AOT_REGCACHE_SYNC_OUT(); return; L_0883EB40: aot_gpr_4 = (ctx.gpr[18] | 0u); @@ -6365,7 +6366,7 @@ L_0883EB60: aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_31 = (0x0883EB74u); aot_fpr_14 = std::bit_cast(std::bit_cast(aot_fpr_20)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883EB74u) goto L_0883EB74; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305D8, 11u, 79u, 0x088305D8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883EB74u) goto L_0883EB74; AOT_REGCACHE_SYNC_OUT(); return; L_0883EB74: aot_gpr_4 = (0u | 66u); @@ -6396,13 +6397,13 @@ L_0883EBB0: ctx.gpr[18] = (aot_gpr_29 + static_cast(1312)); aot_gpr_31 = (0x0883EBC0u); aot_gpr_4 = (aot_gpr_17 + static_cast(1488)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 138u, 0x08830A50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883EBC0u) goto L_0883EBC0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830A50, 11u, 138u, 0x08830A50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 138u, 0x08830A50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883EBC0u) goto L_0883EBC0; AOT_REGCACHE_SYNC_OUT(); return; L_0883EBC0: aot_gpr_4 = (aot_gpr_29 + static_cast(1328)); aot_gpr_31 = (0x0883EBCCu); aot_gpr_5 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 80u, 0x088305ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883EBCCu) goto L_0883EBCC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305EC, 11u, 80u, 0x088305ECu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 80u, 0x088305ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883EBCCu) goto L_0883EBCC; AOT_REGCACHE_SYNC_OUT(); return; L_0883EBCC: ctx.gpr[6] = (aot_gpr_29 + static_cast(976)); @@ -6414,13 +6415,13 @@ L_0883EBCC: L_0883EBDC: aot_gpr_31 = (0x0883EBE4u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883EBE4u) goto L_0883EBE4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0883079C, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883EBE4u) goto L_0883EBE4; AOT_REGCACHE_SYNC_OUT(); return; L_0883EBE4: aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(0))); aot_gpr_31 = (0x0883EBF0u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883EBF0u) goto L_0883EBF0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0883079C, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883EBF0u) goto L_0883EBF0; AOT_REGCACHE_SYNC_OUT(); return; L_0883EBF0: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(4))); @@ -6501,7 +6502,7 @@ L_0883EC58: L_0883EC78: aot_gpr_31 = (0x0883EC80u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883EC80u) goto L_0883EC80; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830A20, 11u, 136u, 0x08830A20u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883EC80u) goto L_0883EC80; AOT_REGCACHE_SYNC_OUT(); return; L_0883EC80: aot_gpr_31 = (0x0883EC88u); @@ -6511,7 +6512,7 @@ L_0883EC80: L_0883EC88: aot_gpr_31 = (0x0883EC90u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883EC90u) goto L_0883EC90; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830A20, 11u, 136u, 0x08830A20u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883EC90u) goto L_0883EC90; AOT_REGCACHE_SYNC_OUT(); return; L_0883EC90: aot_gpr_31 = (0x0883EC98u); @@ -6646,7 +6647,7 @@ L_0883EDC8: aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[24])); aot_gpr_31 = (0x0883EDECu); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[24])); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883EDECu) goto L_0883EDEC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305D8, 11u, 79u, 0x088305D8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883EDECu) goto L_0883EDEC; AOT_REGCACHE_SYNC_OUT(); return; L_0883EDEC: aot_gpr_31 = (0x0883EDF4u); @@ -6731,7 +6732,7 @@ L_0883EE68: L_0883EE84: aot_gpr_31 = (0x0883EE8Cu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883EE8Cu) goto L_0883EE8C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830A20, 11u, 136u, 0x08830A20u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883EE8Cu) goto L_0883EE8C; AOT_REGCACHE_SYNC_OUT(); return; L_0883EE8C: aot_gpr_31 = (0x0883EE94u); @@ -6757,7 +6758,7 @@ L_0883EEB0: aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x0883EEC4u); aot_fpr_14 = std::bit_cast(std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883EEC4u) goto L_0883EEC4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305D8, 11u, 79u, 0x088305D8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883EEC4u) goto L_0883EEC4; AOT_REGCACHE_SYNC_OUT(); return; L_0883EEC4: aot_gpr_4 = (ctx.gpr[16] | 0u); @@ -6806,7 +6807,7 @@ L_0883EF14: aot_fpr_14 = std::bit_cast(0u); aot_gpr_31 = (0x0883EF28u); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[0])); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883EF28u) goto L_0883EF28; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305D8, 11u, 79u, 0x088305D8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883EF28u) goto L_0883EF28; AOT_REGCACHE_SYNC_OUT(); return; L_0883EF28: aot_gpr_4 = (aot_gpr_29 + static_cast(1648)); @@ -6842,14 +6843,14 @@ L_0883EF54: L_0883EF74: aot_gpr_31 = (0x0883EF7Cu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 148u, 0x08830B10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883EF7Cu) goto L_0883EF7C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830B10, 11u, 148u, 0x08830B10u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 148u, 0x08830B10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883EF7Cu) goto L_0883EF7C; AOT_REGCACHE_SYNC_OUT(); return; L_0883EF7C: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1568), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x0883EF8Cu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 148u, 0x08830B10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883EF8Cu) goto L_0883EF8C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830B10, 11u, 148u, 0x08830B10u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 148u, 0x08830B10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883EF8Cu) goto L_0883EF8C; AOT_REGCACHE_SYNC_OUT(); return; L_0883EF8C: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(4))); @@ -7084,7 +7085,7 @@ L_0883F168: L_0883F178: aot_gpr_31 = (0x0883F180u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883F180u) goto L_0883F180; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830A20, 11u, 136u, 0x08830A20u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883F180u) goto L_0883F180; AOT_REGCACHE_SYNC_OUT(); return; L_0883F180: aot_gpr_4 = (aot_gpr_2 | 0u); @@ -7214,7 +7215,7 @@ L_0883F1FC: L_0883F20C: aot_gpr_31 = (0x0883F214u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883F214u) goto L_0883F214; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830A20, 11u, 136u, 0x08830A20u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883F214u) goto L_0883F214; AOT_REGCACHE_SYNC_OUT(); return; L_0883F214: aot_gpr_4 = (aot_gpr_2 | 0u); @@ -7265,7 +7266,7 @@ L_0883F23C: aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_31 = (0x0883F274u); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[22])); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883F274u) goto L_0883F274; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305D8, 11u, 79u, 0x088305D8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883F274u) goto L_0883F274; AOT_REGCACHE_SYNC_OUT(); return; L_0883F274: aot_gpr_4 = (aot_gpr_29 + static_cast(16)); @@ -7281,7 +7282,7 @@ L_0883F280: aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_31 = (0x0883F29Cu); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[22])); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883F29Cu) goto L_0883F29C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305D8, 11u, 79u, 0x088305D8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883F29Cu) goto L_0883F29C; AOT_REGCACHE_SYNC_OUT(); return; L_0883F29C: aot_gpr_4 = (aot_gpr_29 + static_cast(32)); @@ -7317,7 +7318,7 @@ L_0883F2C8: aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_31 = (0x0883F2FCu); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[22])); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883F2FCu) goto L_0883F2FC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305D8, 11u, 79u, 0x088305D8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883F2FCu) goto L_0883F2FC; AOT_REGCACHE_SYNC_OUT(); return; L_0883F2FC: aot_gpr_4 = (aot_gpr_29 + static_cast(16)); @@ -7333,7 +7334,7 @@ L_0883F308: aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_31 = (0x0883F324u); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[22])); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883F324u) goto L_0883F324; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305D8, 11u, 79u, 0x088305D8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883F324u) goto L_0883F324; AOT_REGCACHE_SYNC_OUT(); return; L_0883F324: aot_gpr_4 = (aot_gpr_29 + static_cast(32)); @@ -7370,7 +7371,7 @@ L_0883F350: aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_31 = (0x0883F388u); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[22])); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883F388u) goto L_0883F388; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305D8, 11u, 79u, 0x088305D8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883F388u) goto L_0883F388; AOT_REGCACHE_SYNC_OUT(); return; L_0883F388: aot_gpr_4 = (aot_gpr_29 + static_cast(16)); @@ -7386,7 +7387,7 @@ L_0883F394: aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_31 = (0x0883F3B0u); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[22])); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883F3B0u) goto L_0883F3B0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305D8, 11u, 79u, 0x088305D8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883F3B0u) goto L_0883F3B0; AOT_REGCACHE_SYNC_OUT(); return; L_0883F3B0: aot_gpr_4 = (aot_gpr_29 + static_cast(32)); @@ -7423,7 +7424,7 @@ L_0883F3DC: aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_31 = (0x0883F414u); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[22])); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883F414u) goto L_0883F414; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305D8, 11u, 79u, 0x088305D8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883F414u) goto L_0883F414; AOT_REGCACHE_SYNC_OUT(); return; L_0883F414: aot_gpr_4 = (aot_gpr_29 + static_cast(16)); @@ -7439,7 +7440,7 @@ L_0883F420: aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_31 = (0x0883F43Cu); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[22])); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883F43Cu) goto L_0883F43C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305D8, 11u, 79u, 0x088305D8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883F43Cu) goto L_0883F43C; AOT_REGCACHE_SYNC_OUT(); return; L_0883F43C: aot_gpr_4 = (aot_gpr_29 + static_cast(32)); @@ -7685,7 +7686,7 @@ L_0883F664: L_0883F688: aot_gpr_31 = (0x0883F690u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 108u, 0x088307E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883F690u) goto L_0883F690; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088307E0, 11u, 108u, 0x088307E0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 108u, 0x088307E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883F690u) goto L_0883F690; AOT_REGCACHE_SYNC_OUT(); return; L_0883F690: aot_gpr_4 = (aot_gpr_29 + static_cast(1744)); @@ -7758,7 +7759,7 @@ L_0883F720: aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x0883F734u); aot_fpr_14 = std::bit_cast(std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883F734u) goto L_0883F734; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305D8, 11u, 79u, 0x088305D8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883F734u) goto L_0883F734; AOT_REGCACHE_SYNC_OUT(); return; L_0883F734: aot_gpr_4 = (16704u << 16u); @@ -8031,7 +8032,7 @@ L_0883F9BC: ctx.gpr[18] = (aot_gpr_29 + static_cast(1856)); aot_gpr_31 = (0x0883F9CCu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 108u, 0x088307E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883F9CCu) goto L_0883F9CC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088307E0, 11u, 108u, 0x088307E0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 108u, 0x088307E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883F9CCu) goto L_0883F9CC; AOT_REGCACHE_SYNC_OUT(); return; L_0883F9CC: ctx.gpr[19] = (aot_gpr_2 | 0u); @@ -8064,7 +8065,7 @@ L_0883FA08: aot_fpr_20 = std::bit_cast(aot_gpr_4); aot_gpr_31 = (0x0883FA20u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883FA20u) goto L_0883FA20; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0883079C, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883FA20u) goto L_0883FA20; AOT_REGCACHE_SYNC_OUT(); return; L_0883FA20: aot_gpr_4 = (ctx.gpr[19] | 0u); @@ -8118,7 +8119,7 @@ L_0883FAA8: aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_31 = (0x0883FAC0u); aot_fpr_14 = std::bit_cast(std::bit_cast(aot_fpr_20)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883FAC0u) goto L_0883FAC0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305D8, 11u, 79u, 0x088305D8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883FAC0u) goto L_0883FAC0; AOT_REGCACHE_SYNC_OUT(); return; L_0883FAC0: aot_gpr_4 = (16672u << 16u); @@ -8159,7 +8160,7 @@ L_0883FB0C: ctx.gpr[18] = (aot_gpr_29 + static_cast(1920)); aot_gpr_31 = (0x0883FB1Cu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 108u, 0x088307E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883FB1Cu) goto L_0883FB1C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088307E0, 11u, 108u, 0x088307E0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 108u, 0x088307E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883FB1Cu) goto L_0883FB1C; AOT_REGCACHE_SYNC_OUT(); return; L_0883FB1C: ctx.gpr[19] = (aot_gpr_2 | 0u); @@ -8190,7 +8191,7 @@ L_0883FB58: ctx.fpr[22] = std::bit_cast(0u); aot_gpr_31 = (0x0883FB68u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883FB68u) goto L_0883FB68; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0883079C, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883FB68u) goto L_0883FB68; AOT_REGCACHE_SYNC_OUT(); return; L_0883FB68: aot_gpr_4 = (ctx.gpr[19] | 0u); @@ -8243,7 +8244,7 @@ L_0883FBEC: aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[22])); aot_gpr_31 = (0x0883FC04u); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[22])); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883FC04u) goto L_0883FC04; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305D8, 11u, 79u, 0x088305D8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883FC04u) goto L_0883FC04; AOT_REGCACHE_SYNC_OUT(); return; L_0883FC04: aot_gpr_4 = (16672u << 16u); @@ -8284,7 +8285,7 @@ L_0883FC50: ctx.gpr[18] = (aot_gpr_29 + static_cast(1984)); aot_gpr_31 = (0x0883FC60u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 108u, 0x088307E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883FC60u) goto L_0883FC60; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088307E0, 11u, 108u, 0x088307E0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 108u, 0x088307E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883FC60u) goto L_0883FC60; AOT_REGCACHE_SYNC_OUT(); return; L_0883FC60: ctx.gpr[19] = (aot_gpr_2 | 0u); @@ -8317,7 +8318,7 @@ L_0883FC9C: aot_fpr_20 = std::bit_cast(aot_gpr_4); aot_gpr_31 = (0x0883FCB4u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883FCB4u) goto L_0883FCB4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0883079C, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883FCB4u) goto L_0883FCB4; AOT_REGCACHE_SYNC_OUT(); return; L_0883FCB4: aot_gpr_4 = (ctx.gpr[19] | 0u); @@ -8371,7 +8372,7 @@ L_0883FD3C: aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_31 = (0x0883FD54u); aot_fpr_14 = std::bit_cast(std::bit_cast(aot_fpr_20)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883FD54u) goto L_0883FD54; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305D8, 11u, 79u, 0x088305D8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883FD54u) goto L_0883FD54; AOT_REGCACHE_SYNC_OUT(); return; L_0883FD54: aot_gpr_4 = (16672u << 16u); @@ -8420,7 +8421,7 @@ L_0883FDA0: aot_gpr_5 = (aot_gpr_5 | 39322u); aot_gpr_31 = (0x0883FDD0u); aot_fpr_14 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883FDD0u) goto L_0883FDD0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305D8, 11u, 79u, 0x088305D8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883FDD0u) goto L_0883FDD0; AOT_REGCACHE_SYNC_OUT(); return; L_0883FDD0: aot_gpr_4 = (ctx.gpr[16] | 0u); @@ -8452,21 +8453,21 @@ L_0883FDF4: L_0883FE00: aot_gpr_31 = (0x0883FE08u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883FE08u) goto L_0883FE08; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0883079C, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883FE08u) goto L_0883FE08; AOT_REGCACHE_SYNC_OUT(); return; L_0883FE08: ctx.gpr[16] = (aot_gpr_2 | 0u); ctx.gpr[18] = (aot_gpr_29 + static_cast(2064)); aot_gpr_31 = (0x0883FE18u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 108u, 0x088307E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883FE18u) goto L_0883FE18; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088307E0, 11u, 108u, 0x088307E0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 108u, 0x088307E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883FE18u) goto L_0883FE18; AOT_REGCACHE_SYNC_OUT(); return; L_0883FE18: ctx.gpr[19] = (aot_gpr_2 | 0u); aot_gpr_4 = (2236u << 16u); aot_gpr_31 = (0x0883FE28u); aot_gpr_4 = (aot_gpr_4 + static_cast(32304)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 108u, 0x088307E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883FE28u) goto L_0883FE28; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088307E0, 11u, 108u, 0x088307E0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 108u, 0x088307E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883FE28u) goto L_0883FE28; AOT_REGCACHE_SYNC_OUT(); return; L_0883FE28: aot_gpr_4 = (ctx.gpr[18] | 0u); @@ -8495,7 +8496,7 @@ L_0883FE44: L_0883FE58: aot_gpr_31 = (0x0883FE60u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883FE60u) goto L_0883FE60; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830A20, 11u, 136u, 0x08830A20u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883FE60u) goto L_0883FE60; AOT_REGCACHE_SYNC_OUT(); return; L_0883FE60: aot_gpr_4 = (0u | 204u); @@ -8607,7 +8608,7 @@ L_0883FF54: aot_gpr_5 = (aot_gpr_5 | 52429u); aot_gpr_31 = (0x0883FF80u); aot_fpr_14 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883FF80u) goto L_0883FF80; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305D8, 11u, 79u, 0x088305D8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883FF80u) goto L_0883FF80; AOT_REGCACHE_SYNC_OUT(); return; L_0883FF80: aot_gpr_4 = (ctx.gpr[16] | 0u); @@ -8639,21 +8640,21 @@ L_0883FFA4: L_0883FFB0: aot_gpr_31 = (0x0883FFB8u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883FFB8u) goto L_0883FFB8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0883079C, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883FFB8u) goto L_0883FFB8; AOT_REGCACHE_SYNC_OUT(); return; L_0883FFB8: ctx.gpr[16] = (aot_gpr_2 | 0u); ctx.gpr[18] = (aot_gpr_29 + static_cast(2096)); aot_gpr_31 = (0x0883FFC8u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 108u, 0x088307E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883FFC8u) goto L_0883FFC8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088307E0, 11u, 108u, 0x088307E0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 108u, 0x088307E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883FFC8u) goto L_0883FFC8; AOT_REGCACHE_SYNC_OUT(); return; L_0883FFC8: ctx.gpr[19] = (aot_gpr_2 | 0u); aot_gpr_4 = (2236u << 16u); aot_gpr_31 = (0x0883FFD8u); aot_gpr_4 = (aot_gpr_4 + static_cast(32304)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 108u, 0x088307E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883FFD8u) goto L_0883FFD8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088307E0, 11u, 108u, 0x088307E0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 108u, 0x088307E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0883FFD8u) goto L_0883FFD8; AOT_REGCACHE_SYNC_OUT(); return; L_0883FFD8: aot_gpr_4 = (ctx.gpr[18] | 0u); diff --git a/profiles/vcs/generated/generated_unit_0015.cpp b/profiles/vcs/generated/generated_unit_0015.cpp index cc1a0bd..e8ee665 100644 --- a/profiles/vcs/generated/generated_unit_0015.cpp +++ b/profiles/vcs/generated/generated_unit_0015.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0015[4095] = { }; void recomp_unit_0015_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,31,5,29,2,17 fprs=12,13,14,20 gpr_occ=3650 fpr_occ=1241 gpr_total=4575 fpr_total=1627 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,31,2,5,29,17 fprs=12,13,14,20 gpr_occ=4176 fpr_occ=1270 gpr_total=5102 fpr_total=1656 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; + std::uint32_t aot_gpr_2 = ctx.gpr[2]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; - std::uint32_t aot_gpr_2 = ctx.gpr[2]; std::uint32_t aot_gpr_17 = ctx.gpr[17]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_14 = ctx.fpr[14]; float aot_fpr_20 = ctx.fpr[20]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[31] = aot_gpr_31; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[2] = aot_gpr_2; ctx.gpr[17] = aot_gpr_17; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[20] = aot_fpr_20; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_2 = ctx.gpr[2]; aot_gpr_17 = ctx.gpr[17]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_20 = ctx.fpr[20]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[31] = aot_gpr_31; ctx.gpr[2] = aot_gpr_2; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[17] = aot_gpr_17; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[20] = aot_fpr_20; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_2 = ctx.gpr[2]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_17 = ctx.gpr[17]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_20 = ctx.fpr[20]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -1117,7 +1118,7 @@ L_08840064: L_0884007C: aot_gpr_31 = (0x08840084u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08840084u) goto L_08840084; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830A20, 11u, 136u, 0x08830A20u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08840084u) goto L_08840084; AOT_REGCACHE_SYNC_OUT(); return; L_08840084: aot_gpr_4 = (0u + static_cast(-943)); @@ -1131,7 +1132,7 @@ L_08840084: L_08840090: aot_gpr_31 = (0x08840098u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08840098u) goto L_08840098; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830A20, 11u, 136u, 0x08830A20u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08840098u) goto L_08840098; AOT_REGCACHE_SYNC_OUT(); return; L_08840098: aot_gpr_4 = (0u + static_cast(-950)); @@ -1145,7 +1146,7 @@ L_08840098: L_088400A4: aot_gpr_31 = (0x088400ACu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088400ACu) goto L_088400AC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830A20, 11u, 136u, 0x08830A20u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088400ACu) goto L_088400AC; AOT_REGCACHE_SYNC_OUT(); return; L_088400AC: aot_gpr_4 = (0u | 246u); @@ -1159,7 +1160,7 @@ L_088400AC: L_088400B8: aot_gpr_31 = (0x088400C0u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088400C0u) goto L_088400C0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830A20, 11u, 136u, 0x08830A20u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088400C0u) goto L_088400C0; AOT_REGCACHE_SYNC_OUT(); return; L_088400C0: aot_gpr_4 = (0u + static_cast(-984)); @@ -1173,7 +1174,7 @@ L_088400C0: L_088400CC: aot_gpr_31 = (0x088400D4u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088400D4u) goto L_088400D4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B01E00, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088400D4u) goto L_088400D4; AOT_REGCACHE_SYNC_OUT(); return; L_088400D4: aot_gpr_4 = (0u | 3u); @@ -1353,7 +1354,7 @@ L_0884021C: L_08840230: aot_gpr_31 = (0x08840238u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 128u, 0x08830934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08840238u) goto L_08840238; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830934, 11u, 128u, 0x08830934u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 128u, 0x08830934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08840238u) goto L_08840238; AOT_REGCACHE_SYNC_OUT(); return; L_08840238: aot_gpr_4 = (0u | 5u); @@ -1367,7 +1368,7 @@ L_08840238: L_08840244: aot_gpr_31 = (0x0884024Cu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 128u, 0x08830934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884024Cu) goto L_0884024C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830934, 11u, 128u, 0x08830934u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 128u, 0x08830934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884024Cu) goto L_0884024C; AOT_REGCACHE_SYNC_OUT(); return; L_0884024C: aot_gpr_4 = (0u | 4u); @@ -1406,13 +1407,13 @@ L_08840288: ctx.gpr[16] = (aot_gpr_4 + static_cast(32304)); aot_gpr_31 = (0x08840294u); aot_gpr_4 = (ctx.gpr[16] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 108u, 0x088307E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08840294u) goto L_08840294; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088307E0, 11u, 108u, 0x088307E0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 108u, 0x088307E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08840294u) goto L_08840294; AOT_REGCACHE_SYNC_OUT(); return; L_08840294: aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(0))); aot_gpr_31 = (0x088402A0u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 108u, 0x088307E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088402A0u) goto L_088402A0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088307E0, 11u, 108u, 0x088307E0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 108u, 0x088307E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088402A0u) goto L_088402A0; AOT_REGCACHE_SYNC_OUT(); return; L_088402A0: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(0))); @@ -1426,13 +1427,13 @@ L_088402B4: ctx.fpr[22] = std::bit_cast(std::bit_cast(ctx.fpr[0])); aot_gpr_31 = (0x088402C0u); aot_gpr_4 = (ctx.gpr[16] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 108u, 0x088307E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088402C0u) goto L_088402C0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088307E0, 11u, 108u, 0x088307E0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 108u, 0x088307E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088402C0u) goto L_088402C0; AOT_REGCACHE_SYNC_OUT(); return; L_088402C0: ctx.fpr[24] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(4))); aot_gpr_31 = (0x088402CCu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 108u, 0x088307E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088402CCu) goto L_088402CC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088307E0, 11u, 108u, 0x088307E0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 108u, 0x088307E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088402CCu) goto L_088402CC; AOT_REGCACHE_SYNC_OUT(); return; L_088402CC: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(4))); @@ -1594,14 +1595,14 @@ L_088403D0: ctx.gpr[19] = (aot_gpr_29 + static_cast(2128)); aot_gpr_31 = (0x088403E0u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 108u, 0x088307E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088403E0u) goto L_088403E0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088307E0, 11u, 108u, 0x088307E0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 108u, 0x088307E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088403E0u) goto L_088403E0; AOT_REGCACHE_SYNC_OUT(); return; L_088403E0: ctx.gpr[20] = (aot_gpr_2 | 0u); aot_gpr_4 = (2236u << 16u); aot_gpr_31 = (0x088403F0u); aot_gpr_4 = (aot_gpr_4 + static_cast(32304)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 108u, 0x088307E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088403F0u) goto L_088403F0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088307E0, 11u, 108u, 0x088307E0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 108u, 0x088307E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088403F0u) goto L_088403F0; AOT_REGCACHE_SYNC_OUT(); return; L_088403F0: aot_gpr_4 = (ctx.gpr[19] | 0u); @@ -1656,7 +1657,7 @@ L_08840448: aot_fpr_13 = std::bit_cast(0u); aot_gpr_31 = (0x08840460u); aot_fpr_14 = std::bit_cast(std::bit_cast(aot_fpr_13)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08840460u) goto L_08840460; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305D8, 11u, 79u, 0x088305D8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08840460u) goto L_08840460; AOT_REGCACHE_SYNC_OUT(); return; L_08840460: aot_gpr_4 = (aot_gpr_29 + static_cast(2192)); @@ -1667,7 +1668,7 @@ L_08840460: L_0884046C: aot_gpr_31 = (0x08840474u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08840474u) goto L_08840474; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0883079C, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08840474u) goto L_08840474; AOT_REGCACHE_SYNC_OUT(); return; L_08840474: aot_gpr_4 = (aot_gpr_29 + static_cast(2192)); @@ -1728,7 +1729,7 @@ L_088404D8: ctx.gpr[18] = (aot_gpr_29 + static_cast(2208)); aot_gpr_31 = (0x088404E8u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088404E8u) goto L_088404E8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830A20, 11u, 136u, 0x08830A20u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088404E8u) goto L_088404E8; AOT_REGCACHE_SYNC_OUT(); return; L_088404E8: aot_gpr_31 = (0x088404F0u); @@ -1794,7 +1795,7 @@ L_0884056C: aot_gpr_4 = (2236u << 16u); aot_gpr_31 = (0x08840578u); aot_gpr_4 = (aot_gpr_4 + static_cast(32304)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 108u, 0x088307E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08840578u) goto L_08840578; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088307E0, 11u, 108u, 0x088307E0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 108u, 0x088307E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08840578u) goto L_08840578; AOT_REGCACHE_SYNC_OUT(); return; L_08840578: aot_gpr_4 = (ctx.gpr[20] | 0u); @@ -1806,7 +1807,7 @@ L_08840578: L_08840588: aot_gpr_31 = (0x08840590u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08840590u) goto L_08840590; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0883079C, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08840590u) goto L_08840590; AOT_REGCACHE_SYNC_OUT(); return; L_08840590: aot_gpr_4 = (ctx.gpr[20] | 0u); @@ -1911,7 +1912,7 @@ L_08840668: aot_gpr_4 = (aot_gpr_17 + static_cast(944)); aot_gpr_31 = (0x08840674u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08840674u) goto L_08840674; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0D88C, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08840674u) goto L_08840674; AOT_REGCACHE_SYNC_OUT(); return; L_08840674: { const bool branch_taken = aot_gpr_2 != 0u; @@ -1953,7 +1954,7 @@ L_088406E4: aot_gpr_4 = (aot_gpr_17 + static_cast(944)); aot_gpr_31 = (0x088406F0u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088406F0u) goto L_088406F0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0D88C, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088406F0u) goto L_088406F0; AOT_REGCACHE_SYNC_OUT(); return; L_088406F0: { const bool branch_taken = aot_gpr_2 != 0u; @@ -2003,7 +2004,7 @@ L_08840768: aot_gpr_4 = (aot_gpr_17 + static_cast(944)); aot_gpr_31 = (0x08840774u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08840774u) goto L_08840774; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0D88C, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08840774u) goto L_08840774; AOT_REGCACHE_SYNC_OUT(); return; L_08840774: { const bool branch_taken = aot_gpr_2 != 0u; @@ -2045,7 +2046,7 @@ L_088407E4: aot_gpr_4 = (aot_gpr_17 + static_cast(944)); aot_gpr_31 = (0x088407F0u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088407F0u) goto L_088407F0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0D88C, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088407F0u) goto L_088407F0; AOT_REGCACHE_SYNC_OUT(); return; L_088407F0: { const bool branch_taken = aot_gpr_2 != 0u; @@ -2109,7 +2110,7 @@ L_0884087C: aot_gpr_4 = (aot_gpr_17 + static_cast(944)); aot_gpr_31 = (0x08840888u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08840888u) goto L_08840888; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0D88C, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08840888u) goto L_08840888; AOT_REGCACHE_SYNC_OUT(); return; L_08840888: { const bool branch_taken = aot_gpr_2 != 0u; @@ -2159,7 +2160,7 @@ L_08840918: aot_gpr_4 = (aot_gpr_17 + static_cast(944)); aot_gpr_31 = (0x08840924u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08840924u) goto L_08840924; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0D88C, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08840924u) goto L_08840924; AOT_REGCACHE_SYNC_OUT(); return; L_08840924: { const bool branch_taken = aot_gpr_2 != 0u; @@ -2217,7 +2218,7 @@ L_088409BC: aot_gpr_4 = (aot_gpr_17 + static_cast(944)); aot_gpr_31 = (0x088409C8u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088409C8u) goto L_088409C8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0D88C, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088409C8u) goto L_088409C8; AOT_REGCACHE_SYNC_OUT(); return; L_088409C8: { const bool branch_taken = aot_gpr_2 != 0u; @@ -2267,7 +2268,7 @@ L_08840A58: aot_gpr_4 = (aot_gpr_17 + static_cast(944)); aot_gpr_31 = (0x08840A64u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08840A64u) goto L_08840A64; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0D88C, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08840A64u) goto L_08840A64; AOT_REGCACHE_SYNC_OUT(); return; L_08840A64: { const bool branch_taken = aot_gpr_2 != 0u; @@ -2325,7 +2326,7 @@ L_08840AFC: aot_gpr_4 = (aot_gpr_17 + static_cast(944)); aot_gpr_31 = (0x08840B08u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08840B08u) goto L_08840B08; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0D88C, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08840B08u) goto L_08840B08; AOT_REGCACHE_SYNC_OUT(); return; L_08840B08: { const bool branch_taken = aot_gpr_2 != 0u; @@ -2360,7 +2361,7 @@ L_08840B5C: aot_gpr_4 = (aot_gpr_17 + static_cast(944)); aot_gpr_31 = (0x08840B68u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08840B68u) goto L_08840B68; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0D88C, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08840B68u) goto L_08840B68; AOT_REGCACHE_SYNC_OUT(); return; L_08840B68: { const bool branch_taken = aot_gpr_2 != 0u; @@ -2403,7 +2404,7 @@ L_08840BC4: aot_gpr_4 = (aot_gpr_17 + static_cast(944)); aot_gpr_31 = (0x08840BD0u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08840BD0u) goto L_08840BD0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0D88C, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08840BD0u) goto L_08840BD0; AOT_REGCACHE_SYNC_OUT(); return; L_08840BD0: { const bool branch_taken = aot_gpr_2 != 0u; @@ -2430,7 +2431,7 @@ L_08840C00: aot_gpr_4 = (aot_gpr_17 + static_cast(944)); aot_gpr_31 = (0x08840C0Cu); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08840C0Cu) goto L_08840C0C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0D88C, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08840C0Cu) goto L_08840C0C; AOT_REGCACHE_SYNC_OUT(); return; L_08840C0C: { const bool branch_taken = aot_gpr_2 != 0u; @@ -2457,7 +2458,7 @@ L_08840C3C: aot_gpr_4 = (aot_gpr_17 + static_cast(944)); aot_gpr_31 = (0x08840C48u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08840C48u) goto L_08840C48; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0D88C, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08840C48u) goto L_08840C48; AOT_REGCACHE_SYNC_OUT(); return; L_08840C48: { const bool branch_taken = aot_gpr_2 != 0u; @@ -2511,7 +2512,7 @@ L_08840C9C: ctx.gpr[20] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08840CA8u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08840CA8u) goto L_08840CA8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0883079C, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08840CA8u) goto L_08840CA8; AOT_REGCACHE_SYNC_OUT(); return; L_08840CA8: aot_gpr_4 = (aot_gpr_29 + static_cast(2304)); @@ -2542,7 +2543,7 @@ L_08840CE8: aot_gpr_4 = (aot_gpr_17 + static_cast(944)); aot_gpr_31 = (0x08840CF4u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08840CF4u) goto L_08840CF4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0D88C, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08840CF4u) goto L_08840CF4; AOT_REGCACHE_SYNC_OUT(); return; L_08840CF4: { const bool branch_taken = aot_gpr_2 != 0u; @@ -2596,7 +2597,7 @@ L_08840D48: ctx.gpr[20] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08840D54u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08840D54u) goto L_08840D54; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0883079C, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08840D54u) goto L_08840D54; AOT_REGCACHE_SYNC_OUT(); return; L_08840D54: aot_gpr_4 = (aot_gpr_29 + static_cast(2368)); @@ -2627,7 +2628,7 @@ L_08840D94: ctx.gpr[18] = (aot_gpr_29 + static_cast(2224)); aot_gpr_31 = (0x08840DA0u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08840DA0u) goto L_08840DA0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830A20, 11u, 136u, 0x08830A20u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08840DA0u) goto L_08840DA0; AOT_REGCACHE_SYNC_OUT(); return; L_08840DA0: aot_gpr_31 = (0x08840DA8u); @@ -2693,7 +2694,7 @@ L_08840E24: aot_gpr_4 = (2236u << 16u); aot_gpr_31 = (0x08840E30u); aot_gpr_4 = (aot_gpr_4 + static_cast(32304)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 108u, 0x088307E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08840E30u) goto L_08840E30; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088307E0, 11u, 108u, 0x088307E0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 108u, 0x088307E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08840E30u) goto L_08840E30; AOT_REGCACHE_SYNC_OUT(); return; L_08840E30: aot_gpr_4 = (ctx.gpr[20] | 0u); @@ -2705,7 +2706,7 @@ L_08840E30: L_08840E40: aot_gpr_31 = (0x08840E48u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08840E48u) goto L_08840E48; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0883079C, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08840E48u) goto L_08840E48; AOT_REGCACHE_SYNC_OUT(); return; L_08840E48: aot_gpr_4 = (ctx.gpr[20] | 0u); @@ -2759,7 +2760,7 @@ L_08840EAC: aot_gpr_4 = (aot_gpr_17 + static_cast(944)); aot_gpr_31 = (0x08840ED8u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08840ED8u) goto L_08840ED8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0D88C, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08840ED8u) goto L_08840ED8; AOT_REGCACHE_SYNC_OUT(); return; L_08840ED8: { const bool branch_taken = aot_gpr_2 != 0u; @@ -2804,7 +2805,7 @@ L_08840F54: aot_gpr_4 = (aot_gpr_17 + static_cast(944)); aot_gpr_31 = (0x08840F60u); aot_gpr_5 = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08840F60u) goto L_08840F60; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0D88C, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08840F60u) goto L_08840F60; AOT_REGCACHE_SYNC_OUT(); return; L_08840F60: { const bool branch_taken = aot_gpr_2 != 0u; @@ -2887,7 +2888,7 @@ L_08841024: aot_gpr_4 = (aot_gpr_17 + static_cast(944)); aot_gpr_31 = (0x08841030u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08841030u) goto L_08841030; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0D88C, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08841030u) goto L_08841030; AOT_REGCACHE_SYNC_OUT(); return; L_08841030: { const bool branch_taken = aot_gpr_2 != 0u; @@ -2932,7 +2933,7 @@ L_088410AC: aot_gpr_4 = (aot_gpr_17 + static_cast(944)); aot_gpr_31 = (0x088410B8u); aot_gpr_5 = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088410B8u) goto L_088410B8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0D88C, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088410B8u) goto L_088410B8; AOT_REGCACHE_SYNC_OUT(); return; L_088410B8: { const bool branch_taken = aot_gpr_2 != 0u; @@ -2985,7 +2986,7 @@ L_0884113C: aot_gpr_4 = (aot_gpr_17 + static_cast(944)); aot_gpr_31 = (0x08841148u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08841148u) goto L_08841148; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0D88C, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08841148u) goto L_08841148; AOT_REGCACHE_SYNC_OUT(); return; L_08841148: { const bool branch_taken = aot_gpr_2 != 0u; @@ -3020,7 +3021,7 @@ L_0884119C: aot_gpr_4 = (aot_gpr_17 + static_cast(944)); aot_gpr_31 = (0x088411A8u); aot_gpr_5 = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088411A8u) goto L_088411A8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0D88C, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088411A8u) goto L_088411A8; AOT_REGCACHE_SYNC_OUT(); return; L_088411A8: { const bool branch_taken = aot_gpr_2 != 0u; @@ -3063,7 +3064,7 @@ L_08841204: aot_gpr_4 = (aot_gpr_17 + static_cast(944)); aot_gpr_31 = (0x08841210u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08841210u) goto L_08841210; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0D88C, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08841210u) goto L_08841210; AOT_REGCACHE_SYNC_OUT(); return; L_08841210: { const bool branch_taken = aot_gpr_2 != 0u; @@ -3086,7 +3087,7 @@ L_08841230: aot_gpr_4 = (aot_gpr_17 + static_cast(944)); aot_gpr_31 = (0x0884123Cu); aot_gpr_5 = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884123Cu) goto L_0884123C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0D88C, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884123Cu) goto L_0884123C; AOT_REGCACHE_SYNC_OUT(); return; L_0884123C: { const bool branch_taken = aot_gpr_2 != 0u; @@ -3109,7 +3110,7 @@ L_0884125C: aot_gpr_4 = (aot_gpr_17 + static_cast(944)); aot_gpr_31 = (0x08841268u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08841268u) goto L_08841268; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0D88C, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08841268u) goto L_08841268; AOT_REGCACHE_SYNC_OUT(); return; L_08841268: { const bool branch_taken = aot_gpr_2 != 0u; @@ -3153,7 +3154,7 @@ L_088412AC: ctx.gpr[20] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x088412B8u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088412B8u) goto L_088412B8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0883079C, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088412B8u) goto L_088412B8; AOT_REGCACHE_SYNC_OUT(); return; L_088412B8: aot_gpr_4 = (aot_gpr_29 + static_cast(2432)); @@ -3184,7 +3185,7 @@ L_088412F8: aot_gpr_4 = (aot_gpr_17 + static_cast(944)); aot_gpr_31 = (0x08841304u); aot_gpr_5 = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08841304u) goto L_08841304; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0D88C, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08841304u) goto L_08841304; AOT_REGCACHE_SYNC_OUT(); return; L_08841304: { const bool branch_taken = aot_gpr_2 != 0u; @@ -3228,7 +3229,7 @@ L_08841348: ctx.gpr[20] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08841354u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08841354u) goto L_08841354; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0883079C, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08841354u) goto L_08841354; AOT_REGCACHE_SYNC_OUT(); return; L_08841354: aot_gpr_4 = (aot_gpr_29 + static_cast(2496)); @@ -3266,7 +3267,7 @@ L_08841394: L_0884139C: aot_gpr_31 = (0x088413A4u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 108u, 0x088307E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088413A4u) goto L_088413A4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088307E0, 11u, 108u, 0x088307E0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 108u, 0x088307E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088413A4u) goto L_088413A4; AOT_REGCACHE_SYNC_OUT(); return; L_088413A4: aot_gpr_4 = (aot_gpr_29 + static_cast(2176)); @@ -3277,13 +3278,13 @@ L_088413A4: L_088413B0: aot_gpr_31 = (0x088413B8u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088413B8u) goto L_088413B8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0883079C, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088413B8u) goto L_088413B8; AOT_REGCACHE_SYNC_OUT(); return; L_088413B8: aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(0))); aot_gpr_31 = (0x088413C4u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088413C4u) goto L_088413C4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0883079C, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088413C4u) goto L_088413C4; AOT_REGCACHE_SYNC_OUT(); return; L_088413C4: ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(4))); @@ -3331,7 +3332,7 @@ L_088413F4: aot_gpr_4 = (aot_gpr_17 + static_cast(944)); aot_gpr_31 = (0x0884144Cu); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884144Cu) goto L_0884144C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0D88C, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884144Cu) goto L_0884144C; AOT_REGCACHE_SYNC_OUT(); return; L_0884144C: { const bool branch_taken = aot_gpr_2 != 0u; @@ -3344,7 +3345,7 @@ L_0884144C: L_08841454: aot_gpr_31 = (0x0884145Cu); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884145Cu) goto L_0884145C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0D88C, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884145Cu) goto L_0884145C; AOT_REGCACHE_SYNC_OUT(); return; L_0884145C: { const bool branch_taken = aot_gpr_2 != 0u; @@ -3394,7 +3395,7 @@ L_088414D0: aot_gpr_4 = (aot_gpr_17 + static_cast(944)); aot_gpr_31 = (0x088414DCu); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088414DCu) goto L_088414DC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0D88C, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088414DCu) goto L_088414DC; AOT_REGCACHE_SYNC_OUT(); return; L_088414DC: { const bool branch_taken = aot_gpr_2 != 0u; @@ -3444,7 +3445,7 @@ L_08841550: aot_gpr_4 = (aot_gpr_17 + static_cast(944)); aot_gpr_31 = (0x0884155Cu); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884155Cu) goto L_0884155C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0D88C, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884155Cu) goto L_0884155C; AOT_REGCACHE_SYNC_OUT(); return; L_0884155C: { const bool branch_taken = aot_gpr_2 != 0u; @@ -3513,7 +3514,7 @@ L_0884161C: aot_gpr_4 = (aot_gpr_17 + static_cast(944)); aot_gpr_31 = (0x08841628u); aot_gpr_5 = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08841628u) goto L_08841628; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0D88C, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08841628u) goto L_08841628; AOT_REGCACHE_SYNC_OUT(); return; L_08841628: { const bool branch_taken = aot_gpr_2 != 0u; @@ -3526,7 +3527,7 @@ L_08841628: L_08841630: aot_gpr_31 = (0x08841638u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08841638u) goto L_08841638; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0D88C, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08841638u) goto L_08841638; AOT_REGCACHE_SYNC_OUT(); return; L_08841638: { const bool branch_taken = aot_gpr_2 != 0u; @@ -3574,7 +3575,7 @@ L_088416A4: aot_gpr_4 = (aot_gpr_17 + static_cast(944)); aot_gpr_31 = (0x088416B0u); aot_gpr_5 = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088416B0u) goto L_088416B0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0D88C, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088416B0u) goto L_088416B0; AOT_REGCACHE_SYNC_OUT(); return; L_088416B0: { const bool branch_taken = aot_gpr_2 != 0u; @@ -3623,7 +3624,7 @@ L_08841720: aot_gpr_4 = (aot_gpr_17 + static_cast(944)); aot_gpr_31 = (0x0884172Cu); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884172Cu) goto L_0884172C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0D88C, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884172Cu) goto L_0884172C; AOT_REGCACHE_SYNC_OUT(); return; L_0884172C: { const bool branch_taken = aot_gpr_2 != 0u; @@ -3671,7 +3672,7 @@ L_08841798: aot_gpr_4 = (aot_gpr_17 + static_cast(944)); aot_gpr_31 = (0x088417A4u); aot_gpr_5 = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088417A4u) goto L_088417A4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0D88C, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088417A4u) goto L_088417A4; AOT_REGCACHE_SYNC_OUT(); return; L_088417A4: { const bool branch_taken = aot_gpr_2 != 0u; @@ -3684,7 +3685,7 @@ L_088417A4: L_088417AC: aot_gpr_31 = (0x088417B4u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088417B4u) goto L_088417B4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0D88C, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088417B4u) goto L_088417B4; AOT_REGCACHE_SYNC_OUT(); return; L_088417B4: { const bool branch_taken = aot_gpr_2 != 0u; @@ -3732,7 +3733,7 @@ L_08841820: aot_gpr_4 = (aot_gpr_17 + static_cast(944)); aot_gpr_31 = (0x0884182Cu); aot_gpr_5 = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884182Cu) goto L_0884182C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0D88C, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884182Cu) goto L_0884182C; AOT_REGCACHE_SYNC_OUT(); return; L_0884182C: { const bool branch_taken = aot_gpr_2 != 0u; @@ -3781,7 +3782,7 @@ L_0884189C: aot_gpr_4 = (aot_gpr_17 + static_cast(944)); aot_gpr_31 = (0x088418A8u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088418A8u) goto L_088418A8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0D88C, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088418A8u) goto L_088418A8; AOT_REGCACHE_SYNC_OUT(); return; L_088418A8: { const bool branch_taken = aot_gpr_2 != 0u; @@ -3842,7 +3843,7 @@ L_08841924: aot_gpr_4 = (aot_gpr_17 + static_cast(944)); aot_gpr_31 = (0x08841930u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08841930u) goto L_08841930; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0D88C, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08841930u) goto L_08841930; AOT_REGCACHE_SYNC_OUT(); return; L_08841930: { const bool branch_taken = aot_gpr_2 == 0u; @@ -3855,7 +3856,7 @@ L_08841930: L_08841938: aot_gpr_31 = (0x08841940u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08841940u) goto L_08841940; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0D88C, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08841940u) goto L_08841940; AOT_REGCACHE_SYNC_OUT(); return; L_08841940: { const bool branch_taken = aot_gpr_2 != 0u; @@ -3873,7 +3874,7 @@ L_08841948: L_08841950: aot_gpr_31 = (0x08841958u); aot_gpr_4 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 148u, 0x08830B10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08841958u) goto L_08841958; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830B10, 11u, 148u, 0x08830B10u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 148u, 0x08830B10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08841958u) goto L_08841958; AOT_REGCACHE_SYNC_OUT(); return; L_08841958: aot_gpr_31 = (0x08841960u); @@ -3883,7 +3884,7 @@ L_08841958: L_08841960: aot_gpr_31 = (0x08841968u); aot_gpr_4 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 148u, 0x08830B10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08841968u) goto L_08841968; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830B10, 11u, 148u, 0x08830B10u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 148u, 0x08830B10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08841968u) goto L_08841968; AOT_REGCACHE_SYNC_OUT(); return; L_08841968: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(0))); @@ -3894,7 +3895,7 @@ L_08841968: L_08841974: aot_gpr_31 = (0x0884197Cu); aot_gpr_4 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 148u, 0x08830B10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884197Cu) goto L_0884197C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830B10, 11u, 148u, 0x08830B10u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 148u, 0x08830B10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884197Cu) goto L_0884197C; AOT_REGCACHE_SYNC_OUT(); return; L_0884197C: aot_gpr_31 = (0x08841984u); @@ -3904,7 +3905,7 @@ L_0884197C: L_08841984: aot_gpr_31 = (0x0884198Cu); aot_gpr_4 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 148u, 0x08830B10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884198Cu) goto L_0884198C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830B10, 11u, 148u, 0x08830B10u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 148u, 0x08830B10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884198Cu) goto L_0884198C; AOT_REGCACHE_SYNC_OUT(); return; L_0884198C: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(4))); @@ -3925,7 +3926,7 @@ L_0884198C: L_088419B4: aot_gpr_31 = (0x088419BCu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 108u, 0x088307E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088419BCu) goto L_088419BC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088307E0, 11u, 108u, 0x088307E0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 108u, 0x088307E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088419BCu) goto L_088419BC; AOT_REGCACHE_SYNC_OUT(); return; L_088419BC: aot_gpr_4 = (aot_gpr_29 + static_cast(2560)); @@ -3937,7 +3938,7 @@ L_088419C8: ctx.gpr[16] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x088419D4u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088419D4u) goto L_088419D4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0883079C, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088419D4u) goto L_088419D4; AOT_REGCACHE_SYNC_OUT(); return; L_088419D4: aot_gpr_4 = (aot_gpr_29 + static_cast(2576)); @@ -3971,7 +3972,7 @@ L_08841A10: L_08841A18: aot_gpr_31 = (0x08841A20u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 108u, 0x088307E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08841A20u) goto L_08841A20; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088307E0, 11u, 108u, 0x088307E0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 108u, 0x088307E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08841A20u) goto L_08841A20; AOT_REGCACHE_SYNC_OUT(); return; L_08841A20: aot_gpr_4 = (aot_gpr_29 + static_cast(2592)); @@ -3983,7 +3984,7 @@ L_08841A2C: ctx.gpr[16] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08841A38u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08841A38u) goto L_08841A38; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0883079C, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08841A38u) goto L_08841A38; AOT_REGCACHE_SYNC_OUT(); return; L_08841A38: aot_gpr_4 = (aot_gpr_29 + static_cast(2608)); @@ -4010,14 +4011,14 @@ L_08841A74: ctx.gpr[16] = (aot_gpr_29 + static_cast(2512)); aot_gpr_31 = (0x08841A80u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 108u, 0x088307E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08841A80u) goto L_08841A80; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088307E0, 11u, 108u, 0x088307E0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 108u, 0x088307E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08841A80u) goto L_08841A80; AOT_REGCACHE_SYNC_OUT(); return; L_08841A80: ctx.gpr[18] = (aot_gpr_2 | 0u); ctx.gpr[19] = (aot_gpr_29 + static_cast(2528)); aot_gpr_31 = (0x08841A90u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08841A90u) goto L_08841A90; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0883079C, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08841A90u) goto L_08841A90; AOT_REGCACHE_SYNC_OUT(); return; L_08841A90: aot_gpr_4 = (16512u << 16u); @@ -4044,7 +4045,7 @@ L_08841AC0: aot_gpr_4 = (aot_gpr_17 + static_cast(944)); aot_gpr_31 = (0x08841ACCu); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08841ACCu) goto L_08841ACC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0D88C, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08841ACCu) goto L_08841ACC; AOT_REGCACHE_SYNC_OUT(); return; L_08841ACC: { const bool branch_taken = aot_gpr_2 == 0u; @@ -4057,7 +4058,7 @@ L_08841ACC: L_08841AD4: aot_gpr_31 = (0x08841ADCu); aot_gpr_5 = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08841ADCu) goto L_08841ADC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0D88C, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08841ADCu) goto L_08841ADC; AOT_REGCACHE_SYNC_OUT(); return; L_08841ADC: { const bool branch_taken = aot_gpr_2 != 0u; @@ -4093,7 +4094,7 @@ L_08841B08: aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_31 = (0x08841B24u); aot_fpr_14 = std::bit_cast(std::bit_cast(aot_fpr_20)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08841B24u) goto L_08841B24; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305D8, 11u, 79u, 0x088305D8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08841B24u) goto L_08841B24; AOT_REGCACHE_SYNC_OUT(); return; L_08841B24: aot_gpr_4 = (16672u << 16u); @@ -4132,7 +4133,7 @@ L_08841B68: aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_31 = (0x08841B84u); aot_fpr_14 = std::bit_cast(std::bit_cast(aot_fpr_20)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08841B84u) goto L_08841B84; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305D8, 11u, 79u, 0x088305D8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08841B84u) goto L_08841B84; AOT_REGCACHE_SYNC_OUT(); return; L_08841B84: aot_gpr_4 = (16608u << 16u); @@ -4161,7 +4162,7 @@ L_08841BB8: L_08841BC0: aot_gpr_31 = (0x08841BC8u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 128u, 0x08830934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08841BC8u) goto L_08841BC8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830934, 11u, 128u, 0x08830934u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 128u, 0x08830934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08841BC8u) goto L_08841BC8; AOT_REGCACHE_SYNC_OUT(); return; L_08841BC8: aot_gpr_4 = (0u | 4u); @@ -4175,7 +4176,7 @@ L_08841BC8: L_08841BD4: aot_gpr_31 = (0x08841BDCu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 128u, 0x08830934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08841BDCu) goto L_08841BDC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830934, 11u, 128u, 0x08830934u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 128u, 0x08830934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08841BDCu) goto L_08841BDC; AOT_REGCACHE_SYNC_OUT(); return; L_08841BDC: aot_gpr_4 = (0u | 5u); @@ -4207,7 +4208,7 @@ L_08841BFC: ctx.gpr[16] = (aot_gpr_29 + static_cast(2736)); aot_gpr_31 = (0x08841C08u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08841C08u) goto L_08841C08; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830A20, 11u, 136u, 0x08830A20u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08841C08u) goto L_08841C08; AOT_REGCACHE_SYNC_OUT(); return; L_08841C08: aot_gpr_31 = (0x08841C10u); @@ -4298,14 +4299,14 @@ L_08841CBC: ctx.gpr[18] = (aot_gpr_29 + static_cast(2752)); aot_gpr_31 = (0x08841CCCu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 108u, 0x088307E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08841CCCu) goto L_08841CCC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088307E0, 11u, 108u, 0x088307E0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 108u, 0x088307E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08841CCCu) goto L_08841CCC; AOT_REGCACHE_SYNC_OUT(); return; L_08841CCC: ctx.gpr[19] = (aot_gpr_2 | 0u); aot_gpr_4 = (2236u << 16u); aot_gpr_31 = (0x08841CDCu); aot_gpr_4 = (aot_gpr_4 + static_cast(32304)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 108u, 0x088307E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08841CDCu) goto L_08841CDC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088307E0, 11u, 108u, 0x088307E0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 108u, 0x088307E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08841CDCu) goto L_08841CDC; AOT_REGCACHE_SYNC_OUT(); return; L_08841CDC: aot_gpr_4 = (ctx.gpr[18] | 0u); @@ -4328,7 +4329,7 @@ L_08841CF8: L_08841D00: aot_gpr_31 = (0x08841D08u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08841D08u) goto L_08841D08; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0883079C, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08841D08u) goto L_08841D08; AOT_REGCACHE_SYNC_OUT(); return; L_08841D08: aot_gpr_4 = (ctx.gpr[16] | 0u); @@ -4363,7 +4364,7 @@ L_08841D40: aot_gpr_4 = (aot_gpr_17 + static_cast(944)); aot_gpr_31 = (0x08841D4Cu); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08841D4Cu) goto L_08841D4C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0D88C, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08841D4Cu) goto L_08841D4C; AOT_REGCACHE_SYNC_OUT(); return; L_08841D4C: { const bool branch_taken = aot_gpr_2 != 0u; @@ -4405,7 +4406,7 @@ L_08841DBC: aot_gpr_4 = (aot_gpr_17 + static_cast(944)); aot_gpr_31 = (0x08841DC8u); aot_gpr_5 = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08841DC8u) goto L_08841DC8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0D88C, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08841DC8u) goto L_08841DC8; AOT_REGCACHE_SYNC_OUT(); return; L_08841DC8: { const bool branch_taken = aot_gpr_2 != 0u; @@ -4447,7 +4448,7 @@ L_08841E38: aot_gpr_4 = (aot_gpr_17 + static_cast(944)); aot_gpr_31 = (0x08841E44u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08841E44u) goto L_08841E44; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0D88C, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08841E44u) goto L_08841E44; AOT_REGCACHE_SYNC_OUT(); return; L_08841E44: { const bool branch_taken = aot_gpr_2 != 0u; @@ -4491,7 +4492,7 @@ L_08841E88: ctx.gpr[19] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08841E94u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08841E94u) goto L_08841E94; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0883079C, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08841E94u) goto L_08841E94; AOT_REGCACHE_SYNC_OUT(); return; L_08841E94: aot_gpr_4 = (aot_gpr_29 + static_cast(2832)); @@ -4522,7 +4523,7 @@ L_08841ED4: aot_gpr_4 = (aot_gpr_17 + static_cast(944)); aot_gpr_31 = (0x08841EE0u); aot_gpr_5 = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08841EE0u) goto L_08841EE0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0D88C, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08841EE0u) goto L_08841EE0; AOT_REGCACHE_SYNC_OUT(); return; L_08841EE0: { const bool branch_taken = aot_gpr_2 != 0u; @@ -4566,7 +4567,7 @@ L_08841F24: ctx.gpr[19] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08841F30u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08841F30u) goto L_08841F30; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0883079C, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08841F30u) goto L_08841F30; AOT_REGCACHE_SYNC_OUT(); return; L_08841F30: aot_gpr_4 = (aot_gpr_29 + static_cast(2896)); @@ -4605,7 +4606,7 @@ L_08841F78: aot_gpr_4 = (aot_gpr_17 + static_cast(944)); aot_gpr_31 = (0x08841F84u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08841F84u) goto L_08841F84; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0D88C, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08841F84u) goto L_08841F84; AOT_REGCACHE_SYNC_OUT(); return; L_08841F84: { const bool branch_taken = aot_gpr_2 != 0u; @@ -4647,7 +4648,7 @@ L_08841FF4: aot_gpr_4 = (aot_gpr_17 + static_cast(944)); aot_gpr_31 = (0x08842000u); aot_gpr_5 = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08842000u) goto L_08842000; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0D88C, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08842000u) goto L_08842000; AOT_REGCACHE_SYNC_OUT(); return; L_08842000: { const bool branch_taken = aot_gpr_2 != 0u; @@ -4689,7 +4690,7 @@ L_08842070: aot_gpr_4 = (aot_gpr_17 + static_cast(944)); aot_gpr_31 = (0x0884207Cu); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884207Cu) goto L_0884207C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0D88C, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884207Cu) goto L_0884207C; AOT_REGCACHE_SYNC_OUT(); return; L_0884207C: { const bool branch_taken = aot_gpr_2 != 0u; @@ -4733,7 +4734,7 @@ L_088420C0: ctx.gpr[19] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x088420CCu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088420CCu) goto L_088420CC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0883079C, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088420CCu) goto L_088420CC; AOT_REGCACHE_SYNC_OUT(); return; L_088420CC: aot_gpr_4 = (aot_gpr_29 + static_cast(2960)); @@ -4764,7 +4765,7 @@ L_0884210C: aot_gpr_4 = (aot_gpr_17 + static_cast(944)); aot_gpr_31 = (0x08842118u); aot_gpr_5 = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08842118u) goto L_08842118; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0D88C, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08842118u) goto L_08842118; AOT_REGCACHE_SYNC_OUT(); return; L_08842118: { const bool branch_taken = aot_gpr_2 != 0u; @@ -4808,7 +4809,7 @@ L_0884215C: ctx.gpr[19] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08842168u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08842168u) goto L_08842168; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0883079C, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 102u, 0x0883079Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08842168u) goto L_08842168; AOT_REGCACHE_SYNC_OUT(); return; L_08842168: aot_gpr_4 = (aot_gpr_29 + static_cast(3024)); @@ -4847,7 +4848,7 @@ L_088421B0: aot_gpr_4 = (aot_gpr_17 + static_cast(944)); aot_gpr_31 = (0x088421BCu); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088421BCu) goto L_088421BC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0D88C, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088421BCu) goto L_088421BC; AOT_REGCACHE_SYNC_OUT(); return; L_088421BC: { const bool branch_taken = aot_gpr_2 != 0u; @@ -4874,7 +4875,7 @@ L_088421EC: aot_gpr_4 = (aot_gpr_17 + static_cast(944)); aot_gpr_31 = (0x088421F8u); aot_gpr_5 = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088421F8u) goto L_088421F8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0D88C, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088421F8u) goto L_088421F8; AOT_REGCACHE_SYNC_OUT(); return; L_088421F8: { const bool branch_taken = aot_gpr_2 != 0u; @@ -4909,7 +4910,7 @@ L_08842230: aot_gpr_4 = (aot_gpr_17 + static_cast(944)); aot_gpr_31 = (0x0884223Cu); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884223Cu) goto L_0884223C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0D88C, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884223Cu) goto L_0884223C; AOT_REGCACHE_SYNC_OUT(); return; L_0884223C: { const bool branch_taken = aot_gpr_2 != 0u; @@ -4936,7 +4937,7 @@ L_0884226C: aot_gpr_4 = (aot_gpr_17 + static_cast(944)); aot_gpr_31 = (0x08842278u); aot_gpr_5 = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08842278u) goto L_08842278; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0D88C, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08842278u) goto L_08842278; AOT_REGCACHE_SYNC_OUT(); return; L_08842278: { const bool branch_taken = aot_gpr_2 != 0u; @@ -4990,7 +4991,7 @@ L_088422C8: L_088422D0: aot_gpr_31 = (0x088422D8u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088422D8u) goto L_088422D8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830A20, 11u, 136u, 0x08830A20u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088422D8u) goto L_088422D8; AOT_REGCACHE_SYNC_OUT(); return; L_088422D8: aot_gpr_4 = (0u + static_cast(-984)); @@ -5052,7 +5053,7 @@ L_08842318: L_08842338: aot_gpr_31 = (0x08842340u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 108u, 0x088307E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08842340u) goto L_08842340; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088307E0, 11u, 108u, 0x088307E0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 108u, 0x088307E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08842340u) goto L_08842340; AOT_REGCACHE_SYNC_OUT(); return; L_08842340: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(8))); @@ -5074,19 +5075,19 @@ L_0884235C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(3052), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08842374u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 108u, 0x088307E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08842374u) goto L_08842374; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088307E0, 11u, 108u, 0x088307E0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 108u, 0x088307E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08842374u) goto L_08842374; AOT_REGCACHE_SYNC_OUT(); return; L_08842374: aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(0))); aot_gpr_31 = (0x08842380u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 108u, 0x088307E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08842380u) goto L_08842380; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088307E0, 11u, 108u, 0x088307E0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 108u, 0x088307E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08842380u) goto L_08842380; AOT_REGCACHE_SYNC_OUT(); return; L_08842380: ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(4))); aot_gpr_31 = (0x0884238Cu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 108u, 0x088307E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884238Cu) goto L_0884238C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088307E0, 11u, 108u, 0x088307E0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 108u, 0x088307E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884238Cu) goto L_0884238C; AOT_REGCACHE_SYNC_OUT(); return; L_0884238C: aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(8))); @@ -5100,19 +5101,19 @@ L_088423A0: aot_fpr_20 = std::bit_cast(std::bit_cast(ctx.fpr[0])); aot_gpr_31 = (0x088423ACu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 108u, 0x088307E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088423ACu) goto L_088423AC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088307E0, 11u, 108u, 0x088307E0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 108u, 0x088307E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088423ACu) goto L_088423AC; AOT_REGCACHE_SYNC_OUT(); return; L_088423AC: ctx.fpr[24] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(0))); aot_gpr_31 = (0x088423B8u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 108u, 0x088307E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088423B8u) goto L_088423B8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088307E0, 11u, 108u, 0x088307E0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 108u, 0x088307E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088423B8u) goto L_088423B8; AOT_REGCACHE_SYNC_OUT(); return; L_088423B8: ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(4))); aot_gpr_31 = (0x088423C4u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 108u, 0x088307E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088423C4u) goto L_088423C4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088307E0, 11u, 108u, 0x088307E0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 108u, 0x088307E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088423C4u) goto L_088423C4; AOT_REGCACHE_SYNC_OUT(); return; L_088423C4: aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(8))); @@ -5195,7 +5196,7 @@ L_0884247C: ctx.fpr[22] = std::bit_cast(aot_gpr_4); aot_gpr_31 = (0x08842494u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08842494u) goto L_08842494; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830A20, 11u, 136u, 0x08830A20u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08842494u) goto L_08842494; AOT_REGCACHE_SYNC_OUT(); return; L_08842494: aot_gpr_4 = (0u + static_cast(-971)); @@ -5209,7 +5210,7 @@ L_08842494: L_088424A0: aot_gpr_31 = (0x088424A8u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088424A8u) goto L_088424A8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830A20, 11u, 136u, 0x08830A20u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088424A8u) goto L_088424A8; AOT_REGCACHE_SYNC_OUT(); return; L_088424A8: aot_gpr_4 = (0u + static_cast(-972)); @@ -5227,7 +5228,7 @@ L_088424B4: L_088424BC: aot_gpr_31 = (0x088424C4u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 108u, 0x088307E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088424C4u) goto L_088424C4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088307E0, 11u, 108u, 0x088307E0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 108u, 0x088307E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088424C4u) goto L_088424C4; AOT_REGCACHE_SYNC_OUT(); return; L_088424C4: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(8))); @@ -5244,7 +5245,7 @@ L_088424C4: L_088424DC: aot_gpr_31 = (0x088424E4u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 108u, 0x088307E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088424E4u) goto L_088424E4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088307E0, 11u, 108u, 0x088307E0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 108u, 0x088307E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088424E4u) goto L_088424E4; AOT_REGCACHE_SYNC_OUT(); return; L_088424E4: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(8))); @@ -5270,7 +5271,7 @@ L_08842510: ctx.gpr[16] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x0884251Cu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884251Cu) goto L_0884251C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830A20, 11u, 136u, 0x08830A20u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884251Cu) goto L_0884251C; AOT_REGCACHE_SYNC_OUT(); return; L_0884251C: aot_gpr_4 = (0u | 246u); @@ -5425,7 +5426,7 @@ L_0884263C: L_08842648: aot_gpr_31 = (0x08842650u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 128u, 0x08830934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08842650u) goto L_08842650; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830934, 11u, 128u, 0x08830934u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 128u, 0x08830934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08842650u) goto L_08842650; AOT_REGCACHE_SYNC_OUT(); return; L_08842650: { const bool branch_taken = aot_gpr_2 != 0u; @@ -5492,13 +5493,13 @@ L_088426A4: L_088426B8: aot_gpr_31 = (0x088426C0u); aot_gpr_4 = (aot_gpr_17 + static_cast(1488)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 138u, 0x08830A50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088426C0u) goto L_088426C0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830A50, 11u, 138u, 0x08830A50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 138u, 0x08830A50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088426C0u) goto L_088426C0; AOT_REGCACHE_SYNC_OUT(); return; L_088426C0: aot_gpr_4 = (aot_gpr_29 + static_cast(3152)); aot_gpr_31 = (0x088426CCu); aot_gpr_5 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 80u, 0x088305ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088426CCu) goto L_088426CC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305EC, 11u, 80u, 0x088305ECu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 80u, 0x088305ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088426CCu) goto L_088426CC; AOT_REGCACHE_SYNC_OUT(); return; L_088426CC: ctx.gpr[18] = (aot_gpr_2 | 0u); @@ -5508,7 +5509,7 @@ L_088426CC: aot_fpr_20 = std::bit_cast(aot_gpr_4); aot_gpr_31 = (0x088426E8u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 148u, 0x08830B10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088426E8u) goto L_088426E8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830B10, 11u, 148u, 0x08830B10u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 148u, 0x08830B10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088426E8u) goto L_088426E8; AOT_REGCACHE_SYNC_OUT(); return; L_088426E8: aot_gpr_4 = (ctx.gpr[20] | 0u); @@ -5567,13 +5568,13 @@ L_08842764: L_0884276C: aot_gpr_31 = (0x08842774u); aot_gpr_4 = (aot_gpr_17 + static_cast(1488)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 138u, 0x08830A50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08842774u) goto L_08842774; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830A50, 11u, 138u, 0x08830A50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 138u, 0x08830A50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08842774u) goto L_08842774; AOT_REGCACHE_SYNC_OUT(); return; L_08842774: aot_gpr_4 = (aot_gpr_29 + static_cast(3216)); aot_gpr_31 = (0x08842780u); aot_gpr_5 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 80u, 0x088305ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08842780u) goto L_08842780; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305EC, 11u, 80u, 0x088305ECu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 80u, 0x088305ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08842780u) goto L_08842780; AOT_REGCACHE_SYNC_OUT(); return; L_08842780: ctx.gpr[18] = (aot_gpr_2 | 0u); @@ -5585,7 +5586,7 @@ L_08842780: aot_fpr_20 = std::bit_cast(aot_gpr_4); aot_gpr_31 = (0x088427A4u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 148u, 0x08830B10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088427A4u) goto L_088427A4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830B10, 11u, 148u, 0x08830B10u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 148u, 0x08830B10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088427A4u) goto L_088427A4; AOT_REGCACHE_SYNC_OUT(); return; L_088427A4: aot_gpr_4 = (ctx.gpr[21] | 0u); @@ -5626,7 +5627,7 @@ L_088427EC: aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_31 = (0x0884280Cu); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884280Cu) goto L_0884280C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305D8, 11u, 79u, 0x088305D8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884280Cu) goto L_0884280C; AOT_REGCACHE_SYNC_OUT(); return; L_0884280C: aot_gpr_4 = (ctx.gpr[19] | 0u); @@ -5690,7 +5691,7 @@ L_08842894: aot_fpr_20 = aot_fpr_20 - aot_fpr_14; aot_gpr_31 = (0x088428ACu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088428ACu) goto L_088428AC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830A20, 11u, 136u, 0x08830A20u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088428ACu) goto L_088428AC; AOT_REGCACHE_SYNC_OUT(); return; L_088428AC: aot_gpr_4 = (0u + static_cast(-994)); @@ -5902,7 +5903,7 @@ L_08842A4C: L_08842A6C: aot_gpr_31 = (0x08842A74u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 128u, 0x08830934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08842A74u) goto L_08842A74; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830934, 11u, 128u, 0x08830934u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 128u, 0x08830934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08842A74u) goto L_08842A74; AOT_REGCACHE_SYNC_OUT(); return; L_08842A74: { const bool branch_taken = aot_gpr_2 != 0u; @@ -5969,13 +5970,13 @@ L_08842AC8: L_08842ADC: aot_gpr_31 = (0x08842AE4u); aot_gpr_4 = (aot_gpr_17 + static_cast(1424)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 138u, 0x08830A50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08842AE4u) goto L_08842AE4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830A50, 11u, 138u, 0x08830A50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 138u, 0x08830A50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08842AE4u) goto L_08842AE4; AOT_REGCACHE_SYNC_OUT(); return; L_08842AE4: aot_gpr_4 = (aot_gpr_29 + static_cast(3328)); aot_gpr_31 = (0x08842AF0u); aot_gpr_5 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 80u, 0x088305ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08842AF0u) goto L_08842AF0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305EC, 11u, 80u, 0x088305ECu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 80u, 0x088305ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08842AF0u) goto L_08842AF0; AOT_REGCACHE_SYNC_OUT(); return; L_08842AF0: ctx.gpr[18] = (aot_gpr_2 | 0u); @@ -5985,7 +5986,7 @@ L_08842AF0: aot_fpr_20 = std::bit_cast(aot_gpr_4); aot_gpr_31 = (0x08842B0Cu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 148u, 0x08830B10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08842B0Cu) goto L_08842B0C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830B10, 11u, 148u, 0x08830B10u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 148u, 0x08830B10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08842B0Cu) goto L_08842B0C; AOT_REGCACHE_SYNC_OUT(); return; L_08842B0C: aot_gpr_4 = (ctx.gpr[20] | 0u); @@ -6044,13 +6045,13 @@ L_08842B88: L_08842B90: aot_gpr_31 = (0x08842B98u); aot_gpr_4 = (aot_gpr_17 + static_cast(1424)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 138u, 0x08830A50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08842B98u) goto L_08842B98; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830A50, 11u, 138u, 0x08830A50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 138u, 0x08830A50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08842B98u) goto L_08842B98; AOT_REGCACHE_SYNC_OUT(); return; L_08842B98: aot_gpr_4 = (aot_gpr_29 + static_cast(3392)); aot_gpr_31 = (0x08842BA4u); aot_gpr_5 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 80u, 0x088305ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08842BA4u) goto L_08842BA4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305EC, 11u, 80u, 0x088305ECu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 80u, 0x088305ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08842BA4u) goto L_08842BA4; AOT_REGCACHE_SYNC_OUT(); return; L_08842BA4: ctx.gpr[18] = (aot_gpr_2 | 0u); @@ -6062,7 +6063,7 @@ L_08842BA4: aot_fpr_20 = std::bit_cast(aot_gpr_4); aot_gpr_31 = (0x08842BC8u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 148u, 0x08830B10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08842BC8u) goto L_08842BC8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830B10, 11u, 148u, 0x08830B10u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 148u, 0x08830B10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08842BC8u) goto L_08842BC8; AOT_REGCACHE_SYNC_OUT(); return; L_08842BC8: aot_gpr_4 = (ctx.gpr[21] | 0u); @@ -6103,7 +6104,7 @@ L_08842C10: aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_31 = (0x08842C30u); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08842C30u) goto L_08842C30; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305D8, 11u, 79u, 0x088305D8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08842C30u) goto L_08842C30; AOT_REGCACHE_SYNC_OUT(); return; L_08842C30: aot_gpr_4 = (ctx.gpr[19] | 0u); @@ -6167,7 +6168,7 @@ L_08842CB8: aot_fpr_20 = aot_fpr_20 - aot_fpr_14; aot_gpr_31 = (0x08842CD0u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08842CD0u) goto L_08842CD0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830A20, 11u, 136u, 0x08830A20u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08842CD0u) goto L_08842CD0; AOT_REGCACHE_SYNC_OUT(); return; L_08842CD0: aot_gpr_4 = (0u + static_cast(-994)); @@ -6377,7 +6378,7 @@ L_08842E64: L_08842E70: aot_gpr_31 = (0x08842E78u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 128u, 0x08830934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08842E78u) goto L_08842E78; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830934, 11u, 128u, 0x08830934u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 128u, 0x08830934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08842E78u) goto L_08842E78; AOT_REGCACHE_SYNC_OUT(); return; L_08842E78: { const bool branch_taken = aot_gpr_2 != 0u; @@ -6454,7 +6455,7 @@ L_08842EEC: aot_fpr_20 = aot_fpr_20 - aot_fpr_14; aot_gpr_31 = (0x08842F04u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08842F04u) goto L_08842F04; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830A20, 11u, 136u, 0x08830A20u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08842F04u) goto L_08842F04; AOT_REGCACHE_SYNC_OUT(); return; L_08842F04: aot_gpr_4 = (0u + static_cast(-994)); @@ -6675,7 +6676,7 @@ L_088430B0: L_088430D0: aot_gpr_31 = (0x088430D8u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 128u, 0x08830934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088430D8u) goto L_088430D8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830934, 11u, 128u, 0x08830934u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 128u, 0x08830934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088430D8u) goto L_088430D8; AOT_REGCACHE_SYNC_OUT(); return; L_088430D8: { const bool branch_taken = aot_gpr_2 != 0u; @@ -6752,7 +6753,7 @@ L_0884314C: aot_fpr_20 = aot_fpr_20 - aot_fpr_14; aot_gpr_31 = (0x08843164u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08843164u) goto L_08843164; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830A20, 11u, 136u, 0x08830A20u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08843164u) goto L_08843164; AOT_REGCACHE_SYNC_OUT(); return; L_08843164: aot_gpr_4 = (0u + static_cast(-994)); @@ -7658,7 +7659,7 @@ L_08843860: L_08843874: aot_gpr_31 = (0x0884387Cu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 128u, 0x08830934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884387Cu) goto L_0884387C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830934, 11u, 128u, 0x08830934u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 128u, 0x08830934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884387Cu) goto L_0884387C; AOT_REGCACHE_SYNC_OUT(); return; L_0884387C: { const bool branch_taken = aot_gpr_2 != 0u; @@ -7725,13 +7726,13 @@ L_088438D0: L_088438E4: aot_gpr_31 = (0x088438ECu); aot_gpr_4 = (aot_gpr_17 + static_cast(1456)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 138u, 0x08830A50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088438ECu) goto L_088438EC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830A50, 11u, 138u, 0x08830A50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 138u, 0x08830A50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088438ECu) goto L_088438EC; AOT_REGCACHE_SYNC_OUT(); return; L_088438EC: aot_gpr_4 = (aot_gpr_29 + static_cast(3536)); aot_gpr_31 = (0x088438F8u); aot_gpr_5 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 80u, 0x088305ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088438F8u) goto L_088438F8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305EC, 11u, 80u, 0x088305ECu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 80u, 0x088305ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088438F8u) goto L_088438F8; AOT_REGCACHE_SYNC_OUT(); return; L_088438F8: ctx.gpr[18] = (aot_gpr_2 | 0u); @@ -7741,7 +7742,7 @@ L_088438F8: ctx.fpr[22] = std::bit_cast(aot_gpr_4); aot_gpr_31 = (0x08843914u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 148u, 0x08830B10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08843914u) goto L_08843914; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830B10, 11u, 148u, 0x08830B10u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 148u, 0x08830B10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08843914u) goto L_08843914; AOT_REGCACHE_SYNC_OUT(); return; L_08843914: aot_gpr_4 = (ctx.gpr[20] | 0u); @@ -7800,13 +7801,13 @@ L_08843990: L_08843998: aot_gpr_31 = (0x088439A0u); aot_gpr_4 = (aot_gpr_17 + static_cast(1456)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 138u, 0x08830A50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088439A0u) goto L_088439A0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830A50, 11u, 138u, 0x08830A50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 138u, 0x08830A50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088439A0u) goto L_088439A0; AOT_REGCACHE_SYNC_OUT(); return; L_088439A0: aot_gpr_4 = (aot_gpr_29 + static_cast(3600)); aot_gpr_31 = (0x088439ACu); aot_gpr_5 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 80u, 0x088305ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088439ACu) goto L_088439AC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305EC, 11u, 80u, 0x088305ECu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 80u, 0x088305ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088439ACu) goto L_088439AC; AOT_REGCACHE_SYNC_OUT(); return; L_088439AC: ctx.gpr[18] = (aot_gpr_2 | 0u); @@ -7818,7 +7819,7 @@ L_088439AC: ctx.fpr[22] = std::bit_cast(aot_gpr_4); aot_gpr_31 = (0x088439D0u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 148u, 0x08830B10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088439D0u) goto L_088439D0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830B10, 11u, 148u, 0x08830B10u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 148u, 0x08830B10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088439D0u) goto L_088439D0; AOT_REGCACHE_SYNC_OUT(); return; L_088439D0: aot_gpr_4 = (ctx.gpr[21] | 0u); @@ -7859,7 +7860,7 @@ L_08843A18: aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[22])); aot_gpr_31 = (0x08843A38u); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[22])); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08843A38u) goto L_08843A38; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305D8, 11u, 79u, 0x088305D8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08843A38u) goto L_08843A38; AOT_REGCACHE_SYNC_OUT(); return; L_08843A38: aot_gpr_4 = (ctx.gpr[19] | 0u); @@ -7923,7 +7924,7 @@ L_08843AC0: ctx.fpr[22] = ctx.fpr[22] - aot_fpr_14; aot_gpr_31 = (0x08843AD8u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08843AD8u) goto L_08843AD8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830A20, 11u, 136u, 0x08830A20u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08843AD8u) goto L_08843AD8; AOT_REGCACHE_SYNC_OUT(); return; L_08843AD8: aot_gpr_4 = (0u + static_cast(-994)); @@ -8155,7 +8156,7 @@ L_08843CA4: L_08843CC8: aot_gpr_31 = (0x08843CD0u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 128u, 0x08830934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08843CD0u) goto L_08843CD0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830934, 11u, 128u, 0x08830934u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 128u, 0x08830934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08843CD0u) goto L_08843CD0; AOT_REGCACHE_SYNC_OUT(); return; L_08843CD0: { const bool branch_taken = aot_gpr_2 != 0u; @@ -8221,13 +8222,13 @@ L_08843D24: L_08843D34: aot_gpr_31 = (0x08843D3Cu); aot_gpr_4 = (aot_gpr_17 + static_cast(1392)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 138u, 0x08830A50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08843D3Cu) goto L_08843D3C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830A50, 11u, 138u, 0x08830A50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 138u, 0x08830A50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08843D3Cu) goto L_08843D3C; AOT_REGCACHE_SYNC_OUT(); return; L_08843D3C: aot_gpr_4 = (aot_gpr_29 + static_cast(3712)); aot_gpr_31 = (0x08843D48u); aot_gpr_5 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 80u, 0x088305ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08843D48u) goto L_08843D48; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305EC, 11u, 80u, 0x088305ECu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 80u, 0x088305ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08843D48u) goto L_08843D48; AOT_REGCACHE_SYNC_OUT(); return; L_08843D48: ctx.gpr[18] = (aot_gpr_2 | 0u); @@ -8237,7 +8238,7 @@ L_08843D48: aot_fpr_20 = std::bit_cast(aot_gpr_4); aot_gpr_31 = (0x08843D64u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 148u, 0x08830B10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08843D64u) goto L_08843D64; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830B10, 11u, 148u, 0x08830B10u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 148u, 0x08830B10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08843D64u) goto L_08843D64; AOT_REGCACHE_SYNC_OUT(); return; L_08843D64: aot_gpr_4 = (ctx.gpr[20] | 0u); @@ -8296,13 +8297,13 @@ L_08843DE0: L_08843DE8: aot_gpr_31 = (0x08843DF0u); aot_gpr_4 = (aot_gpr_17 + static_cast(1392)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 138u, 0x08830A50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08843DF0u) goto L_08843DF0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830A50, 11u, 138u, 0x08830A50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 138u, 0x08830A50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08843DF0u) goto L_08843DF0; AOT_REGCACHE_SYNC_OUT(); return; L_08843DF0: aot_gpr_4 = (aot_gpr_29 + static_cast(3776)); aot_gpr_31 = (0x08843DFCu); aot_gpr_5 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 80u, 0x088305ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08843DFCu) goto L_08843DFC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305EC, 11u, 80u, 0x088305ECu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 80u, 0x088305ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08843DFCu) goto L_08843DFC; AOT_REGCACHE_SYNC_OUT(); return; L_08843DFC: ctx.gpr[18] = (aot_gpr_2 | 0u); @@ -8314,7 +8315,7 @@ L_08843DFC: aot_fpr_20 = std::bit_cast(aot_gpr_4); aot_gpr_31 = (0x08843E20u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 148u, 0x08830B10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08843E20u) goto L_08843E20; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830B10, 11u, 148u, 0x08830B10u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 148u, 0x08830B10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08843E20u) goto L_08843E20; AOT_REGCACHE_SYNC_OUT(); return; L_08843E20: aot_gpr_4 = (ctx.gpr[21] | 0u); @@ -8355,7 +8356,7 @@ L_08843E68: aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_31 = (0x08843E88u); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08843E88u) goto L_08843E88; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088305D8, 11u, 79u, 0x088305D8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 79u, 0x088305D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08843E88u) goto L_08843E88; AOT_REGCACHE_SYNC_OUT(); return; L_08843E88: aot_gpr_4 = (ctx.gpr[19] | 0u); @@ -8419,7 +8420,7 @@ L_08843F10: aot_fpr_20 = aot_fpr_20 - aot_fpr_14; aot_gpr_31 = (0x08843F28u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08843F28u) goto L_08843F28; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830A20, 11u, 136u, 0x08830A20u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08843F28u) goto L_08843F28; AOT_REGCACHE_SYNC_OUT(); return; L_08843F28: aot_gpr_4 = (0u + static_cast(-994)); diff --git a/profiles/vcs/generated/generated_unit_0016.cpp b/profiles/vcs/generated/generated_unit_0016.cpp index 120ef01..28243ce 100644 --- a/profiles/vcs/generated/generated_unit_0016.cpp +++ b/profiles/vcs/generated/generated_unit_0016.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0016[4094] = { }; void recomp_unit_0016_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,16,31,6 fprs=12,13,20,14 gpr_occ=3604 fpr_occ=1093 gpr_total=4772 fpr_total=1220 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,31,16,6 fprs=12,13,20,14 gpr_occ=3674 fpr_occ=1094 gpr_total=4892 fpr_total=1221 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; - std::uint32_t aot_gpr_16 = ctx.gpr[16]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; + std::uint32_t aot_gpr_16 = ctx.gpr[16]; std::uint32_t aot_gpr_6 = ctx.gpr[6]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_20 = ctx.fpr[20]; float aot_fpr_14 = ctx.fpr[14]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[16] = aot_gpr_16; ctx.gpr[31] = aot_gpr_31; ctx.gpr[6] = aot_gpr_6; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; ctx.fpr[14] = aot_fpr_14; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_6 = ctx.gpr[6]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_14 = ctx.fpr[14]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[31] = aot_gpr_31; ctx.gpr[16] = aot_gpr_16; ctx.gpr[6] = aot_gpr_6; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; ctx.fpr[14] = aot_fpr_14; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_6 = ctx.gpr[6]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_14 = ctx.fpr[14]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -873,7 +874,7 @@ L_08844020: L_08844028: aot_gpr_31 = (0x08844030u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08844030u) goto L_08844030; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830A20, 11u, 136u, 0x08830A20u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08844030u) goto L_08844030; AOT_REGCACHE_SYNC_OUT(); return; L_08844030: aot_gpr_4 = (0u + static_cast(-991)); @@ -887,7 +888,7 @@ L_08844030: L_0884403C: aot_gpr_31 = (0x08844044u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08844044u) goto L_08844044; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830A20, 11u, 136u, 0x08830A20u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08844044u) goto L_08844044; AOT_REGCACHE_SYNC_OUT(); return; L_08844044: aot_gpr_4 = (0u + static_cast(-967)); @@ -901,7 +902,7 @@ L_08844044: L_08844050: aot_gpr_31 = (0x08844058u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 128u, 0x08830934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08844058u) goto L_08844058; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830934, 11u, 128u, 0x08830934u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 128u, 0x08830934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08844058u) goto L_08844058; AOT_REGCACHE_SYNC_OUT(); return; L_08844058: { const bool branch_taken = ctx.gpr[2] != 0u; @@ -924,7 +925,7 @@ L_0884406C: aot_fpr_20 = std::bit_cast(0u); aot_gpr_31 = (0x08844078u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08844078u) goto L_08844078; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830A20, 11u, 136u, 0x08830A20u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08844078u) goto L_08844078; AOT_REGCACHE_SYNC_OUT(); return; L_08844078: aot_gpr_4 = (0u + static_cast(-967)); @@ -981,7 +982,7 @@ L_088440CC: L_088440E0: aot_gpr_31 = (0x088440E8u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088440E8u) goto L_088440E8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830A20, 11u, 136u, 0x08830A20u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088440E8u) goto L_088440E8; AOT_REGCACHE_SYNC_OUT(); return; L_088440E8: aot_gpr_4 = (0u + static_cast(-967)); @@ -1100,7 +1101,7 @@ L_088441C4: L_088441DC: aot_gpr_31 = (0x088441E4u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088441E4u) goto L_088441E4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830A20, 11u, 136u, 0x08830A20u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088441E4u) goto L_088441E4; AOT_REGCACHE_SYNC_OUT(); return; L_088441E4: aot_gpr_4 = (0u + static_cast(-967)); @@ -1191,7 +1192,7 @@ L_0884428C: L_08844298: aot_gpr_31 = (0x088442A0u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088442A0u) goto L_088442A0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08830A20, 11u, 136u, 0x08830A20u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0011_entry, 11u, 136u, 0x08830A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088442A0u) goto L_088442A0; AOT_REGCACHE_SYNC_OUT(); return; L_088442A0: aot_gpr_4 = (0u + static_cast(-967)); @@ -1347,7 +1348,7 @@ L_08844400: L_08844424: aot_gpr_31 = (0x0884442Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884442Cu) goto L_0884442C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884442Cu) goto L_0884442C; AOT_REGCACHE_SYNC_OUT(); return; L_0884442C: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-29652))); @@ -1363,7 +1364,7 @@ L_08844440: aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08844454u); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08844454u) goto L_08844454; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_16, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08844454u) goto L_08844454; AOT_REGCACHE_SYNC_OUT(); return; L_08844454: aot_gpr_5 = (ctx.gpr[3] | 0u); @@ -2405,7 +2406,7 @@ L_08844B40: aot_gpr_4 = (aot_gpr_4 | 55050u); aot_gpr_31 = (0x08844B84u); ctx.fpr[24] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08844B84u) goto L_08844B84; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08844B84u) goto L_08844B84; AOT_REGCACHE_SYNC_OUT(); return; L_08844B84: aot_fpr_12 = ctx.fpr[24] - aot_fpr_20; @@ -2459,7 +2460,7 @@ L_08844BD8: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08844BF8u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08844BF8u) goto L_08844BF8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08844BF8u) goto L_08844BF8; AOT_REGCACHE_SYNC_OUT(); return; L_08844BF8: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -2643,7 +2644,7 @@ L_08844D1C: aot_gpr_4 = (aot_gpr_4 | 55050u); aot_gpr_31 = (0x08844D5Cu); ctx.fpr[22] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08844D5Cu) goto L_08844D5C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08844D5Cu) goto L_08844D5C; AOT_REGCACHE_SYNC_OUT(); return; L_08844D5C: aot_fpr_12 = ctx.fpr[22] - aot_fpr_20; @@ -2699,7 +2700,7 @@ L_08844DB8: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08844DD8u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08844DD8u) goto L_08844DD8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08844DD8u) goto L_08844DD8; AOT_REGCACHE_SYNC_OUT(); return; L_08844DD8: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -3428,7 +3429,7 @@ L_08845334: aot_gpr_4 = (aot_gpr_4 | 55050u); aot_gpr_31 = (0x0884534Cu); ctx.fpr[24] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884534Cu) goto L_0884534C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884534Cu) goto L_0884534C; AOT_REGCACHE_SYNC_OUT(); return; L_0884534C: aot_fpr_12 = ctx.fpr[24] - ctx.fpr[22]; @@ -3482,7 +3483,7 @@ L_088453A0: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x088453C0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088453C0u) goto L_088453C0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088453C0u) goto L_088453C0; AOT_REGCACHE_SYNC_OUT(); return; L_088453C0: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -3944,7 +3945,7 @@ L_08845774: L_0884577C: aot_gpr_31 = (0x08845784u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08845784u) goto L_08845784; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08845784u) goto L_08845784; AOT_REGCACHE_SYNC_OUT(); return; L_08845784: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -7208,7 +7209,7 @@ L_08846F98: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(320), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08846FE4u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08846FE4u) goto L_08846FE4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08846FE4u) goto L_08846FE4; AOT_REGCACHE_SYNC_OUT(); return; L_08846FE4: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -7531,7 +7532,7 @@ L_088472D4: aot_gpr_4 = (aot_gpr_4 | 52429u); aot_gpr_31 = (0x088472FCu); ctx.fpr[22] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088472FCu) goto L_088472FC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088472FCu) goto L_088472FC; AOT_REGCACHE_SYNC_OUT(); return; L_088472FC: aot_fpr_12 = ctx.fpr[22] - aot_fpr_20; @@ -7649,7 +7650,7 @@ L_08847358: L_08847360: aot_gpr_31 = (0x08847368u); ctx.gpr[18] = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08847368u) goto L_08847368; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08847368u) goto L_08847368; AOT_REGCACHE_SYNC_OUT(); return; L_08847368: aot_gpr_4 = (16128u << 16u); diff --git a/profiles/vcs/generated/generated_unit_0017.cpp b/profiles/vcs/generated/generated_unit_0017.cpp index 70c9182..6bab91b 100644 --- a/profiles/vcs/generated/generated_unit_0017.cpp +++ b/profiles/vcs/generated/generated_unit_0017.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0017[4091] = { }; void recomp_unit_0017_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,16,31,18 fprs=12,13,20,14 gpr_occ=3368 fpr_occ=1310 gpr_total=4433 fpr_total=1662 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,16,31,6 fprs=12,13,20,14 gpr_occ=3403 fpr_occ=1310 gpr_total=4512 fpr_total=1662 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_16 = ctx.gpr[16]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; - std::uint32_t aot_gpr_18 = ctx.gpr[18]; + std::uint32_t aot_gpr_6 = ctx.gpr[6]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_20 = ctx.fpr[20]; float aot_fpr_14 = ctx.fpr[14]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[16] = aot_gpr_16; ctx.gpr[31] = aot_gpr_31; ctx.gpr[18] = aot_gpr_18; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; ctx.fpr[14] = aot_fpr_14; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_18 = ctx.gpr[18]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_14 = ctx.fpr[14]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[16] = aot_gpr_16; ctx.gpr[31] = aot_gpr_31; ctx.gpr[6] = aot_gpr_6; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; ctx.fpr[14] = aot_fpr_14; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_6 = ctx.gpr[6]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_14 = ctx.fpr[14]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -894,14 +895,14 @@ L_08848030: L_08848038: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (ctx.gpr[22] | 0u); + aot_gpr_6 = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x0884804Cu); ctx.gpr[7] = (ctx.gpr[23] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0147_entry, 147u, 109u, 0x08A50AE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884804Cu) goto L_0884804C; AOT_REGCACHE_SYNC_OUT(); return; L_0884804C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(240), 0u); - ctx.gpr[6] = (aot_gpr_29 + static_cast(208)); + aot_gpr_6 = (aot_gpr_29 + static_cast(208)); ctx.gpr[7] = (aot_gpr_29 + static_cast(240)); ctx.gpr[2] = (0u | 1u); aot_gpr_4 = (ctx.gpr[22] | 0u); @@ -1005,7 +1006,7 @@ L_08848108: L_08848110: aot_gpr_4 = (0u | 0u); aot_gpr_5 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (0u | 10u); + aot_gpr_6 = (0u | 10u); ctx.gpr[7] = (ctx.gpr[23] | 0u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 1u); @@ -1030,7 +1031,7 @@ L_0884813C: L_08848144: aot_gpr_4 = (0u | 0u); aot_gpr_5 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (0u | 10u); + aot_gpr_6 = (0u | 10u); ctx.gpr[7] = (ctx.gpr[23] | 0u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 1u); @@ -1101,7 +1102,7 @@ L_0884816C: L_088481C8: ctx.fpr[26] = std::bit_cast(ctx.gpr[21]); ctx.fpr[26] = static_cast(static_cast(std::bit_cast(ctx.fpr[26]))); - aot_gpr_18 = (aot_gpr_29 + static_cast(352)); + ctx.gpr[18] = (aot_gpr_29 + static_cast(352)); ctx.gpr[17] = (aot_gpr_29 + static_cast(400)); ctx.gpr[20] = (aot_gpr_29 + static_cast(384)); goto L_088481DC; @@ -1145,7 +1146,7 @@ L_088481DC: ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_18 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = ctx.gpr[22] + static_cast(0); @@ -1157,7 +1158,7 @@ L_088481DC: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = aot_gpr_18 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -1175,7 +1176,7 @@ L_088481DC: aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(384), aot_run_words); } aot_gpr_4 = (0u | 53u); aot_gpr_5 = (ctx.gpr[17] | 0u); - ctx.gpr[6] = (ctx.gpr[20] | 0u); + aot_gpr_6 = (ctx.gpr[20] | 0u); ctx.gpr[7] = (0u | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[24])); ctx.gpr[8] = (ctx.gpr[30] | 0u); @@ -1244,7 +1245,7 @@ L_08848264: ctx.gpr[17] = (0u | 0u); aot_gpr_4 = (16752u << 16u); ctx.fpr[26] = std::bit_cast(aot_gpr_4); - aot_gpr_18 = (aot_gpr_29 + static_cast(416)); + ctx.gpr[18] = (aot_gpr_29 + static_cast(416)); aot_gpr_4 = (16179u << 16u); aot_gpr_4 = (aot_gpr_4 | 13107u); ctx.fpr[28] = std::bit_cast(aot_gpr_4); @@ -1268,12 +1269,12 @@ L_088482C4: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_18 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_31 = (0x088482E4u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088482E4u) goto L_088482E4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088482E4u) goto L_088482E4; AOT_REGCACHE_SYNC_OUT(); return; L_088482E4: aot_fpr_13 = ctx.fpr[22] - ctx.fpr[28]; @@ -1313,7 +1314,7 @@ L_088482E4: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_31 = (0x08848320u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08848320u) goto L_08848320; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08848320u) goto L_08848320; AOT_REGCACHE_SYNC_OUT(); return; L_08848320: aot_fpr_12 = ctx.fpr[30] - ctx.fpr[22]; @@ -1321,8 +1322,8 @@ L_08848320: aot_fpr_12 = ctx.fpr[22] + aot_fpr_12; { const float fs = ctx.fpr[26]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_4 = (0u | 18u); - aot_gpr_5 = (aot_gpr_18 | 0u); - ctx.gpr[6] = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[18] | 0u); + aot_gpr_6 = (aot_gpr_16 | 0u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (ctx.gpr[30] | 0u); ctx.gpr[9] = (0u | 0u); @@ -1403,14 +1404,14 @@ L_088483B8: ctx.gpr[17] = (aot_gpr_29 + static_cast(272)); goto L_088483F0; L_088483F0: - aot_gpr_18 = (aot_gpr_4 | 0u); + ctx.gpr[18] = (aot_gpr_4 | 0u); aot_gpr_4 = (16076u << 16u); aot_gpr_4 = (aot_gpr_4 | 52429u); aot_fpr_12 = std::bit_cast(aot_gpr_4); ctx.gpr[19] = (0u | 15u); aot_gpr_4 = (ctx.gpr[19] | 0u); - aot_gpr_5 = (aot_gpr_18 | 0u); - ctx.gpr[6] = (ctx.gpr[17] | 0u); + aot_gpr_5 = (ctx.gpr[18] | 0u); + aot_gpr_6 = (ctx.gpr[17] | 0u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (ctx.gpr[30] | 0u); ctx.gpr[9] = (0u | 0u); @@ -1442,7 +1443,7 @@ L_0884842C: const std::uint32_t vfpu_address = ctx.gpr[22] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_4 = (aot_gpr_18 | 0u); + aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08848460u); aot_gpr_5 = (ctx.gpr[22] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08848460u) goto L_08848460; @@ -1452,8 +1453,8 @@ L_08848460: aot_gpr_4 = (aot_gpr_4 | 52429u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (ctx.gpr[19] | 0u); - aot_gpr_5 = (aot_gpr_18 | 0u); - ctx.gpr[6] = (ctx.gpr[17] | 0u); + aot_gpr_5 = (ctx.gpr[18] | 0u); + aot_gpr_6 = (ctx.gpr[17] | 0u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (ctx.gpr[30] | 0u); ctx.gpr[9] = (0u | 0u); @@ -1480,7 +1481,7 @@ L_08848494: const std::uint32_t vfpu_address = ctx.gpr[22] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_4 = (aot_gpr_18 | 0u); + aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x088484B4u); aot_gpr_5 = (ctx.gpr[22] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088484B4u) goto L_088484B4; @@ -1490,8 +1491,8 @@ L_088484B4: aot_gpr_4 = (aot_gpr_4 | 39322u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (ctx.gpr[19] | 0u); - aot_gpr_5 = (aot_gpr_18 | 0u); - ctx.gpr[6] = (ctx.gpr[17] | 0u); + aot_gpr_5 = (ctx.gpr[18] | 0u); + aot_gpr_6 = (ctx.gpr[17] | 0u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (ctx.gpr[30] | 0u); ctx.gpr[9] = (0u | 0u); @@ -1518,7 +1519,7 @@ L_088484F4: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(520), aot_gpr_4); ctx.gpr[17] = (aot_gpr_29 + static_cast(448)); { const bool branch_taken = 0u == 0u; - aot_gpr_18 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(1344))); + ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(1344))); if (branch_taken) { goto L_0884852C; } @@ -1528,7 +1529,7 @@ L_08848514: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(520))); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_4 = (aot_gpr_18 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[18] + static_cast(16)); if (branch_taken) { goto L_08848530; } @@ -1540,7 +1541,7 @@ L_08848524: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 129u, 0x089D89E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884852Cu) goto L_0884852C; AOT_REGCACHE_SYNC_OUT(); return; L_0884852C: - aot_gpr_4 = (aot_gpr_18 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[18] + static_cast(16)); goto L_08848530; L_08848530: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(512), aot_gpr_4); @@ -1623,7 +1624,7 @@ L_088485A4: ctx.fpr[30] = std::bit_cast(aot_run_words[5]); aot_gpr_16 = aot_run_words[6]; ctx.gpr[17] = aot_run_words[7]; - aot_gpr_18 = aot_run_words[8]; + ctx.gpr[18] = aot_run_words[8]; ctx.gpr[19] = aot_run_words[9]; ctx.gpr[20] = aot_run_words[10]; ctx.gpr[21] = aot_run_words[11]; @@ -1640,7 +1641,7 @@ L_088485A4: AOT_REGCACHE_SYNC_OUT(); return; L_088485EC: aot_gpr_29 = (aot_gpr_29 + static_cast(-544)); - { const std::uint32_t aot_run_words[15]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), aot_gpr_16, ctx.gpr[17], aot_gpr_18, ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; + { const std::uint32_t aot_run_words[15]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(472), aot_run_words); } aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_4 = (49024u << 16u); @@ -1665,8 +1666,8 @@ L_08848654: aot_gpr_4 = (17948u << 16u); aot_gpr_4 = (aot_gpr_4 | 15360u); ctx.fpr[24] = std::bit_cast(aot_gpr_4); - aot_gpr_18 = (aot_gpr_16 + static_cast(48)); - { const std::uint32_t vfpu_address = aot_gpr_18 + static_cast(0); + ctx.gpr[18] = (aot_gpr_16 + static_cast(48)); + { const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -1844,7 +1845,7 @@ L_088487B0: aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_5 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088487C0u); - ctx.gpr[6] = (ctx.gpr[19] | 0u); + aot_gpr_6 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 39u, 0x08830288u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088487C0u) goto L_088487C0; AOT_REGCACHE_SYNC_OUT(); return; L_088487C0: @@ -1882,7 +1883,7 @@ L_088487D4: goto L_088487EC; } L_088487EC: - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); goto L_088487F0; L_088487F0: { const bool branch_taken = static_cast(aot_gpr_4) < 0; @@ -1929,7 +1930,7 @@ L_0884882C: } L_08848834: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); - aot_gpr_5 = (aot_gpr_5 + ctx.gpr[6]); + aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); goto L_0884883C; L_0884883C: { const bool branch_taken = aot_gpr_5 == 0u; @@ -2007,7 +2008,7 @@ L_08848898: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(8))); aot_gpr_5 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_5) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 != 0u; - ctx.gpr[6] = (ctx.gpr[6] + static_cast(544)); + aot_gpr_6 = (aot_gpr_6 + static_cast(544)); if (branch_taken) { goto L_088487F0; } @@ -2081,15 +2082,15 @@ L_08848914: L_0884891C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_5 = (ctx.gpr[17] << 5u); - ctx.gpr[6] = (0u + aot_gpr_5); + aot_gpr_6 = (0u + aot_gpr_5); aot_gpr_5 = (aot_gpr_5 << 4u); - aot_gpr_5 = (ctx.gpr[6] + aot_gpr_5); + aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); goto L_08848934; L_08848934: - aot_gpr_5 = (aot_gpr_18 | 0u); - aot_gpr_18 = (aot_gpr_4 | 0u); - aot_gpr_4 = (aot_gpr_18 + static_cast(48)); + aot_gpr_5 = (ctx.gpr[18] | 0u); + ctx.gpr[18] = (aot_gpr_4 | 0u); + aot_gpr_4 = (ctx.gpr[18] + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -2139,7 +2140,7 @@ L_08848994: aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_5 = (ctx.gpr[23] | 0u); aot_gpr_31 = (0x088489A4u); - ctx.gpr[6] = (ctx.gpr[19] | 0u); + aot_gpr_6 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 39u, 0x08830288u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088489A4u) goto L_088489A4; AOT_REGCACHE_SYNC_OUT(); return; L_088489A4: @@ -2156,12 +2157,12 @@ L_088489A4: const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - ctx.fpr[28] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(16))); + ctx.fpr[28] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(16))); ctx.fpr[28] = std::bit_cast(std::bit_cast(ctx.fpr[28]) ^ 0x80000000u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(ctx.fpr[28]) || std::isnan(ctx.fpr[26])) && ctx.fpr[28] == ctx.fpr[26])) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(20))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(20))); if (branch_taken) { goto L_088489DC; } @@ -2233,7 +2234,7 @@ L_08848A24: ctx.fpr[28] = ctx.fpr[28] - ctx.fpr[0]; goto L_08848A28; L_08848A28: - aot_gpr_4 = (aot_gpr_18 | 0u); + aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08848A34u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[28])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0170_entry, 170u, 785u, 0x08AAF8ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08848A34u) goto L_08848A34; @@ -2252,15 +2253,15 @@ L_08848A34: const std::uint32_t vfpu_address = ctx.gpr[21] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_4 = (aot_gpr_18 | 0u); + aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (ctx.gpr[21] | 0u); + aot_gpr_6 = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x08848A50u); ctx.gpr[7] = (0u + static_cast(-1)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0009_entry, 9u, 422u, 0x0882BB00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08848A50u) goto L_08848A50; AOT_REGCACHE_SYNC_OUT(); return; L_08848A50: - aot_mem.aot_direct_store32(aot_gpr_18 + static_cast(444), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(444), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(1864), ctx.gpr[17]); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(168))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); @@ -2367,9 +2368,9 @@ L_08848AFC: L_08848B04: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_gpr_4 = (aot_gpr_4 << 5u); - ctx.gpr[6] = (0u + aot_gpr_4); + aot_gpr_6 = (0u + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 << 4u); - aot_gpr_4 = (ctx.gpr[6] + aot_gpr_4); + aot_gpr_4 = (aot_gpr_6 + aot_gpr_4); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); goto L_08848B1C; L_08848B1C: @@ -2440,9 +2441,9 @@ L_08848B78: L_08848B80: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_gpr_4 = (aot_gpr_4 << 5u); - ctx.gpr[6] = (0u + aot_gpr_4); + aot_gpr_6 = (0u + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 << 4u); - aot_gpr_4 = (ctx.gpr[6] + aot_gpr_4); + aot_gpr_4 = (aot_gpr_6 + aot_gpr_4); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); goto L_08848B98; L_08848B98: @@ -2454,11 +2455,11 @@ L_08848B98: goto L_08848BA0; } L_08848BA0: - aot_gpr_18 = (aot_gpr_4 + static_cast(352)); + ctx.gpr[18] = (aot_gpr_4 + static_cast(352)); ctx.gpr[17] = (aot_gpr_29 + static_cast(336)); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08848BB4u); - aot_gpr_5 = (aot_gpr_18 | 0u); + aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 912u, 0x0885F828u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08848BB4u) goto L_08848BB4; AOT_REGCACHE_SYNC_OUT(); return; L_08848BB4: @@ -2466,7 +2467,7 @@ L_08848BB4: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1868))); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(392), std::bit_cast(aot_fpr_12)); - aot_gpr_4 = (aot_gpr_18 | 0u); + aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08848BD0u); aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 7u, 0x08860358u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08848BD0u) goto L_08848BD0; @@ -2511,9 +2512,9 @@ L_08848BF4: L_08848C10: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(20))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(56))); - ctx.gpr[6] = (aot_gpr_4 + static_cast(-1)); - ctx.gpr[6] = (ctx.gpr[6] << 5u); - aot_gpr_5 = (aot_gpr_5 + ctx.gpr[6]); + aot_gpr_6 = (aot_gpr_4 + static_cast(-1)); + aot_gpr_6 = (aot_gpr_6 << 5u); + aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(8))); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-29640), std::bit_cast(aot_fpr_12)); goto L_08848C2C; @@ -2544,19 +2545,19 @@ L_08848C38: L_08848C5C: aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_4 = (0u | 0u); - ctx.gpr[6] = (16256u << 16u); - aot_fpr_12 = std::bit_cast(ctx.gpr[6]); + aot_gpr_6 = (16256u << 16u); + aot_fpr_12 = std::bit_cast(aot_gpr_6); aot_gpr_5 = (aot_gpr_5 + static_cast(-1)); goto L_08848C70; L_08848C70: - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(20))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(56))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(20))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(56))); ctx.gpr[7] = (aot_gpr_5 << 5u); - ctx.gpr[6] = (ctx.gpr[6] + ctx.gpr[7]); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(8), std::bit_cast(aot_fpr_12)); + aot_gpr_6 = (aot_gpr_6 + ctx.gpr[7]); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(8), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); - ctx.gpr[6] = (static_cast(aot_gpr_4) < 6 ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] != 0u; + aot_gpr_6 = (static_cast(aot_gpr_4) < 6 ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 != 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-1)); if (branch_taken) { goto L_08848C70; @@ -2577,14 +2578,14 @@ L_08848C9C: goto L_08848CA4; L_08848CA4: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-29640))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(20))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(56))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(20))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(56))); ctx.gpr[7] = (aot_gpr_5 << 5u); - ctx.gpr[6] = (ctx.gpr[6] + ctx.gpr[7]); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(8), std::bit_cast(aot_fpr_12)); + aot_gpr_6 = (aot_gpr_6 + ctx.gpr[7]); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(8), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); - ctx.gpr[6] = (static_cast(aot_gpr_4) < 6 ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] != 0u; + aot_gpr_6 = (static_cast(aot_gpr_4) < 6 ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 != 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-1)); if (branch_taken) { goto L_08848CA4; @@ -2716,7 +2717,7 @@ L_08848D98: goto L_08848DAC; } L_08848DAC: - aot_gpr_18 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(1662))); + ctx.gpr[18] = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(1662))); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08848DBCu); aot_gpr_5 = (0u | 1u); @@ -2735,7 +2736,7 @@ L_08848DBC: aot_gpr_4 = (std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_gpr_4 << 16u); ctx.gpr[17] = (static_cast(static_cast(aot_gpr_4) >> 16u)); - ctx.gpr[17] = (aot_gpr_18 + ctx.gpr[17]); + ctx.gpr[17] = (ctx.gpr[18] + ctx.gpr[17]); aot_gpr_4 = (static_cast(ctx.gpr[17]) < 0 ? 1u : 0u); if (aot_gpr_4 != 0u) { ctx.gpr[17] = (0u | 0u); @@ -2780,7 +2781,7 @@ L_08848E34: ctx.fpr[28] = std::bit_cast(aot_run_words[4]); aot_gpr_16 = aot_run_words[5]; ctx.gpr[17] = aot_run_words[6]; - aot_gpr_18 = aot_run_words[7]; + ctx.gpr[18] = aot_run_words[7]; ctx.gpr[19] = aot_run_words[8]; ctx.gpr[20] = aot_run_words[9]; ctx.gpr[21] = aot_run_words[10]; @@ -2797,19 +2798,19 @@ L_08848E34: AOT_REGCACHE_SYNC_OUT(); return; L_08848E78: aot_gpr_29 = (aot_gpr_29 + static_cast(-288)); - { const std::uint32_t aot_run_words[12]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), aot_gpr_16, ctx.gpr[17], aot_gpr_18, ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], aot_gpr_31}; + { const std::uint32_t aot_run_words[12]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(240), aot_run_words); } aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); aot_gpr_5 = (aot_gpr_4 << 2u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); - aot_gpr_5 = (ctx.gpr[6] + aot_gpr_5); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); + aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(20))); aot_gpr_5 = (aot_gpr_5 + static_cast(32)); ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); aot_gpr_4 = (aot_gpr_4 << 2u); - aot_gpr_4 = (ctx.gpr[6] + aot_gpr_4); + aot_gpr_4 = (aot_gpr_6 + aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); aot_gpr_4 = (aot_gpr_4 + static_cast(16)); @@ -2874,10 +2875,10 @@ L_08848E78: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(168), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(56))); ctx.gpr[19] = (aot_gpr_29 + static_cast(112)); - aot_gpr_18 = (aot_gpr_29 + static_cast(144)); + ctx.gpr[18] = (aot_gpr_29 + static_cast(144)); aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); - ctx.gpr[6] = (aot_gpr_18 | 0u); + aot_gpr_6 = (ctx.gpr[18] | 0u); ctx.gpr[7] = (0u | 1u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); @@ -2937,7 +2938,7 @@ L_08848FE0: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(72))); aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); - ctx.gpr[6] = (aot_gpr_18 | 0u); + aot_gpr_6 = (ctx.gpr[18] | 0u); ctx.gpr[7] = (0u | 1u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); @@ -3123,10 +3124,10 @@ L_088490B4: const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - ctx.gpr[6] = (16128u << 16u); - aot_fpr_12 = std::bit_cast(ctx.gpr[6]); - ctx.gpr[6] = (std::bit_cast(aot_fpr_12)); - ctx.set_vfpu_scalar_bits_ct<28u>(ctx.gpr[6]); + aot_gpr_6 = (16128u << 16u); + aot_fpr_12 = std::bit_cast(aot_gpr_6); + aot_gpr_6 = (std::bit_cast(aot_fpr_12)); + ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_6); { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -3180,7 +3181,7 @@ L_088491BC: ctx.fpr[24] = std::bit_cast(aot_run_words[2]); aot_gpr_16 = aot_run_words[3]; ctx.gpr[17] = aot_run_words[4]; - aot_gpr_18 = aot_run_words[5]; + ctx.gpr[18] = aot_run_words[5]; ctx.gpr[19] = aot_run_words[6]; ctx.gpr[20] = aot_run_words[7]; ctx.gpr[21] = aot_run_words[8]; @@ -3196,7 +3197,7 @@ L_088491BC: AOT_REGCACHE_SYNC_OUT(); return; L_08849214: aot_gpr_29 = (aot_gpr_29 + static_cast(-176)); - { const std::uint32_t aot_run_words[10]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), aot_gpr_16, ctx.gpr[17], aot_gpr_18, ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; + { const std::uint32_t aot_run_words[10]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(124), aot_run_words); } ctx.gpr[17] = (aot_gpr_5 & 65535u); aot_gpr_5 = (16042u << 16u); @@ -3557,11 +3558,11 @@ L_088494B4: } L_088494BC: aot_gpr_31 = (0x088494C4u); - aot_gpr_18 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(336))); + ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(336))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088494C4u) goto L_088494C4; AOT_REGCACHE_SYNC_OUT(); return; L_088494C4: - { const bool branch_taken = aot_gpr_18 != ctx.gpr[2]; + { const bool branch_taken = ctx.gpr[18] != ctx.gpr[2]; // nop if (branch_taken) { goto L_08849578; @@ -3711,9 +3712,9 @@ L_0884959C: L_088495E4: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_13)); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); - aot_gpr_18 = (aot_gpr_4 & 255u); + ctx.gpr[18] = (aot_gpr_4 & 255u); aot_gpr_4 = (0u | 40000u); - { const std::int32_t dividend = static_cast(aot_gpr_4); const std::int32_t divisor = static_cast(aot_gpr_18); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } + { const std::int32_t dividend = static_cast(aot_gpr_4); const std::int32_t divisor = static_cast(ctx.gpr[18]); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } aot_gpr_4 = (ctx.lo); ctx.gpr[19] = (aot_gpr_4 & 65535u); aot_gpr_31 = (0x08849608u); @@ -3725,7 +3726,7 @@ L_08849608: aot_gpr_5 = (static_cast(static_cast(aot_gpr_5) >> 16u)); aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x0884961Cu); - ctx.gpr[6] = (aot_gpr_18 | 0u); + aot_gpr_6 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0097_entry, 97u, 954u, 0x0898BB3Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884961Cu) goto L_0884961C; AOT_REGCACHE_SYNC_OUT(); return; L_0884961C: @@ -3751,11 +3752,11 @@ L_0884962C: } L_08849640: aot_gpr_31 = (0x08849648u); - aot_gpr_18 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(336))); + ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(336))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08849648u) goto L_08849648; AOT_REGCACHE_SYNC_OUT(); return; L_08849648: - { const bool branch_taken = aot_gpr_18 == ctx.gpr[2]; + { const bool branch_taken = ctx.gpr[18] == ctx.gpr[2]; // nop if (branch_taken) { goto L_08849660; @@ -3764,11 +3765,11 @@ L_08849648: } L_08849650: aot_gpr_31 = (0x08849658u); - aot_gpr_18 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(336))); + ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(336))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08849658u) goto L_08849658; AOT_REGCACHE_SYNC_OUT(); return; L_08849658: - { const bool branch_taken = aot_gpr_18 != ctx.gpr[2]; + { const bool branch_taken = ctx.gpr[18] != ctx.gpr[2]; // nop if (branch_taken) { goto L_08849674; @@ -3841,8 +3842,8 @@ L_088496B0: } L_088496D0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(336))); - aot_gpr_18 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(352))); - { const bool branch_taken = aot_gpr_18 == 0u; + ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(352))); + { const bool branch_taken = ctx.gpr[18] == 0u; // nop if (branch_taken) { goto L_08849734; @@ -3850,7 +3851,7 @@ L_088496D0: goto L_088496E0; } L_088496E0: - { const bool branch_taken = aot_gpr_18 == 0u; + { const bool branch_taken = ctx.gpr[18] == 0u; // nop if (branch_taken) { goto L_08849714; @@ -3858,17 +3859,17 @@ L_088496E0: goto L_088496E8; } L_088496E8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(108))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(108))); ctx.gpr[19] = (aot_gpr_4 + static_cast(16)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(0)))))); aot_gpr_31 = (0x088496FCu); - ctx.gpr[20] = (aot_gpr_18 + aot_gpr_4); + ctx.gpr[20] = (ctx.gpr[18] + aot_gpr_4); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0158_entry, 158u, 666u, 0x08A7FAA4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088496FCu) goto L_088496FC; AOT_REGCACHE_SYNC_OUT(); return; L_088496FC: - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(4))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(4))); aot_gpr_4 = (ctx.gpr[20] | 0u); - jump_target = ctx.gpr[6]; + jump_target = aot_gpr_6; aot_gpr_31 = (0x0884970Cu); aot_gpr_5 = (ctx.gpr[2] | 0u); ctx.pc = jump_target; @@ -3884,14 +3885,14 @@ L_0884970C: } L_08849714: { const bool branch_taken = 0u == 0u; - aot_gpr_18 = (0u | 0u); + ctx.gpr[18] = (0u | 0u); if (branch_taken) { goto L_0884971C; } goto L_0884971C; } L_0884971C: - { const bool branch_taken = aot_gpr_18 == 0u; + { const bool branch_taken = ctx.gpr[18] == 0u; // nop if (branch_taken) { goto L_08849734; @@ -3996,8 +3997,8 @@ L_088497B8: goto L_088497C0; } L_088497C0: - aot_gpr_18 = (0u | 0u); - aot_gpr_4 = (static_cast(aot_gpr_18) < 4 ? 1u : 0u); + ctx.gpr[18] = (0u | 0u); + aot_gpr_4 = (static_cast(ctx.gpr[18]) < 4 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -4008,15 +4009,15 @@ L_088497C0: L_088497D0: aot_gpr_4 = (aot_gpr_16 + static_cast(944)); aot_gpr_31 = (0x088497DCu); - aot_gpr_5 = (aot_gpr_18 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088497DCu) goto L_088497DC; + aot_gpr_5 = (ctx.gpr[18] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0D88C, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088497DCu) goto L_088497DC; AOT_REGCACHE_SYNC_OUT(); return; L_088497DC: - aot_gpr_4 = (aot_gpr_18 << 2u); + aot_gpr_4 = (ctx.gpr[18] << 2u); aot_gpr_4 = (aot_gpr_29 + aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(16), ctx.gpr[2]); - aot_gpr_18 = (aot_gpr_18 + static_cast(1)); - aot_gpr_4 = (static_cast(aot_gpr_18) < 4 ? 1u : 0u); + ctx.gpr[18] = (ctx.gpr[18] + static_cast(1)); + aot_gpr_4 = (static_cast(ctx.gpr[18]) < 4 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -4115,7 +4116,7 @@ L_08849894: aot_gpr_5 = (0u | 12u); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x088498B4u); - ctx.gpr[6] = (aot_gpr_29 | 0u); + aot_gpr_6 = (aot_gpr_29 | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088498B4u) goto L_088498B4; AOT_REGCACHE_SYNC_OUT(); return; @@ -4146,7 +4147,7 @@ L_088498DC: L_088498E4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 12u); - ctx.gpr[6] = (0u | 5u); + aot_gpr_6 = (0u | 5u); aot_gpr_31 = (0x088498F8u); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 310u, 0x088316CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088498F8u) goto L_088498F8; @@ -4191,7 +4192,7 @@ L_08849920: aot_gpr_5 = (0u | 18u); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x08849940u); - ctx.gpr[6] = (aot_gpr_29 | 0u); + aot_gpr_6 = (aot_gpr_29 | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08849940u) goto L_08849940; AOT_REGCACHE_SYNC_OUT(); return; @@ -4232,7 +4233,7 @@ L_08849978: L_08849980: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 18u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x08849994u); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 341u, 0x088318B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08849994u) goto L_08849994; @@ -4254,7 +4255,7 @@ L_0884999C: aot_gpr_5 = (0u | 13u); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x088499BCu); - ctx.gpr[6] = (aot_gpr_29 | 0u); + aot_gpr_6 = (aot_gpr_29 | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088499BCu) goto L_088499BC; AOT_REGCACHE_SYNC_OUT(); return; @@ -4285,7 +4286,7 @@ L_088499E4: L_088499EC: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 13u); - ctx.gpr[6] = (0u | 6u); + aot_gpr_6 = (0u | 6u); aot_gpr_31 = (0x08849A00u); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 310u, 0x088316CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08849A00u) goto L_08849A00; @@ -4330,7 +4331,7 @@ L_08849A28: aot_gpr_5 = (0u | 19u); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x08849A48u); - ctx.gpr[6] = (aot_gpr_29 | 0u); + aot_gpr_6 = (aot_gpr_29 | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08849A48u) goto L_08849A48; AOT_REGCACHE_SYNC_OUT(); return; @@ -4361,7 +4362,7 @@ L_08849A70: L_08849A78: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 19u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_gpr_31 = (0x08849A8Cu); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 341u, 0x088318B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08849A8Cu) goto L_08849A8C; @@ -4383,7 +4384,7 @@ L_08849A94: aot_gpr_5 = (0u | 10u); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x08849AB4u); - ctx.gpr[6] = (aot_gpr_29 | 0u); + aot_gpr_6 = (aot_gpr_29 | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08849AB4u) goto L_08849AB4; AOT_REGCACHE_SYNC_OUT(); return; @@ -4414,7 +4415,7 @@ L_08849ADC: L_08849AE4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 10u); - ctx.gpr[6] = (0u | 2u); + aot_gpr_6 = (0u | 2u); aot_gpr_31 = (0x08849AF8u); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 341u, 0x088318B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08849AF8u) goto L_08849AF8; @@ -4436,7 +4437,7 @@ L_08849B00: aot_gpr_5 = (0u | 8u); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x08849B20u); - ctx.gpr[6] = (aot_gpr_29 | 0u); + aot_gpr_6 = (aot_gpr_29 | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08849B20u) goto L_08849B20; AOT_REGCACHE_SYNC_OUT(); return; @@ -4467,7 +4468,7 @@ L_08849B48: L_08849B50: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 8u); - ctx.gpr[6] = (0u | 3u); + aot_gpr_6 = (0u | 3u); aot_gpr_31 = (0x08849B64u); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 341u, 0x088318B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08849B64u) goto L_08849B64; @@ -4489,7 +4490,7 @@ L_08849B6C: aot_gpr_5 = (0u | 11u); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x08849B8Cu); - ctx.gpr[6] = (aot_gpr_29 | 0u); + aot_gpr_6 = (aot_gpr_29 | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08849B8Cu) goto L_08849B8C; AOT_REGCACHE_SYNC_OUT(); return; @@ -4520,7 +4521,7 @@ L_08849BB4: L_08849BBC: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 11u); - ctx.gpr[6] = (0u | 4u); + aot_gpr_6 = (0u | 4u); aot_gpr_31 = (0x08849BD0u); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 341u, 0x088318B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08849BD0u) goto L_08849BD0; @@ -4542,7 +4543,7 @@ L_08849BD8: aot_gpr_5 = (0u | 9u); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x08849BF8u); - ctx.gpr[6] = (aot_gpr_29 | 0u); + aot_gpr_6 = (aot_gpr_29 | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08849BF8u) goto L_08849BF8; AOT_REGCACHE_SYNC_OUT(); return; @@ -4573,7 +4574,7 @@ L_08849C20: L_08849C28: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 9u); - ctx.gpr[6] = (0u | 5u); + aot_gpr_6 = (0u | 5u); aot_gpr_31 = (0x08849C3Cu); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 341u, 0x088318B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08849C3Cu) goto L_08849C3C; @@ -4595,7 +4596,7 @@ L_08849C44: aot_gpr_5 = (0u | 15u); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x08849C64u); - ctx.gpr[6] = (aot_gpr_29 | 0u); + aot_gpr_6 = (aot_gpr_29 | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08849C64u) goto L_08849C64; AOT_REGCACHE_SYNC_OUT(); return; @@ -4626,7 +4627,7 @@ L_08849C8C: L_08849C94: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 15u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x08849CA8u); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 322u, 0x08831790u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08849CA8u) goto L_08849CA8; @@ -4648,7 +4649,7 @@ L_08849CB0: aot_gpr_5 = (0u | 14u); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x08849CD0u); - ctx.gpr[6] = (aot_gpr_29 | 0u); + aot_gpr_6 = (aot_gpr_29 | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08849CD0u) goto L_08849CD0; AOT_REGCACHE_SYNC_OUT(); return; @@ -4679,7 +4680,7 @@ L_08849CF8: L_08849D00: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 14u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_gpr_31 = (0x08849D14u); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 322u, 0x08831790u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08849D14u) goto L_08849D14; @@ -4701,7 +4702,7 @@ L_08849D1C: aot_gpr_5 = (0u | 17u); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x08849D3Cu); - ctx.gpr[6] = (aot_gpr_29 | 0u); + aot_gpr_6 = (aot_gpr_29 | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08849D3Cu) goto L_08849D3C; AOT_REGCACHE_SYNC_OUT(); return; @@ -4732,7 +4733,7 @@ L_08849D64: L_08849D6C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 17u); - ctx.gpr[6] = (0u | 2u); + aot_gpr_6 = (0u | 2u); aot_gpr_31 = (0x08849D80u); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 322u, 0x08831790u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08849D80u) goto L_08849D80; @@ -4754,7 +4755,7 @@ L_08849D88: aot_gpr_5 = (0u | 16u); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x08849DA8u); - ctx.gpr[6] = (aot_gpr_29 | 0u); + aot_gpr_6 = (aot_gpr_29 | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08849DA8u) goto L_08849DA8; AOT_REGCACHE_SYNC_OUT(); return; @@ -4785,7 +4786,7 @@ L_08849DD0: L_08849DD8: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 16u); - ctx.gpr[6] = (0u | 3u); + aot_gpr_6 = (0u | 3u); aot_gpr_31 = (0x08849DECu); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 322u, 0x08831790u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08849DECu) goto L_08849DEC; @@ -4823,10 +4824,10 @@ L_08849E14: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 374u, 0x08B0D8D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08849E24u) goto L_08849E24; AOT_REGCACHE_SYNC_OUT(); return; L_08849E24: - aot_gpr_18 = (ctx.gpr[2] & 255u); + ctx.gpr[18] = (ctx.gpr[2] & 255u); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 20u); - ctx.gpr[6] = (0u | 4u); + aot_gpr_6 = (0u | 4u); aot_gpr_31 = (0x08849E3Cu); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 322u, 0x08831790u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08849E3Cu) goto L_08849E3C; @@ -4838,7 +4839,7 @@ L_08849E3C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 374u, 0x08B0D8D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08849E48u) goto L_08849E48; AOT_REGCACHE_SYNC_OUT(); return; L_08849E48: - { const bool branch_taken = aot_gpr_18 == ctx.gpr[2]; + { const bool branch_taken = ctx.gpr[18] == ctx.gpr[2]; // nop if (branch_taken) { goto L_08849E50; @@ -5004,7 +5005,7 @@ L_08849F60: L_08849F6C: aot_gpr_31 = (0x08849F74u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08849F74u) goto L_08849F74; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B01E00, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08849F74u) goto L_08849F74; AOT_REGCACHE_SYNC_OUT(); return; L_08849F74: aot_gpr_4 = (0u | 1u); @@ -5110,11 +5111,11 @@ L_0884A01C: } L_0884A028: aot_gpr_31 = (0x0884A030u); - aot_gpr_18 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(336))); + ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(336))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884A030u) goto L_0884A030; AOT_REGCACHE_SYNC_OUT(); return; L_0884A030: - { const bool branch_taken = aot_gpr_18 != ctx.gpr[2]; + { const bool branch_taken = ctx.gpr[18] != ctx.gpr[2]; // nop if (branch_taken) { goto L_0884A054; @@ -5205,7 +5206,7 @@ L_0884A0C4: L_0884A0DC: aot_gpr_31 = (0x0884A0E4u); aot_gpr_5 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884A0E4u) goto L_0884A0E4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0D88C, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 372u, 0x08B0D88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884A0E4u) goto L_0884A0E4; AOT_REGCACHE_SYNC_OUT(); return; L_0884A0E4: aot_gpr_4 = (0u | 1u); @@ -5221,10 +5222,10 @@ L_0884A0F0: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); aot_fpr_12 = std::bit_cast(ctx.gpr[17]); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); - ctx.gpr[6] = (16256u << 16u); - aot_fpr_13 = std::bit_cast(ctx.gpr[6]); + aot_gpr_6 = (16256u << 16u); + aot_fpr_13 = std::bit_cast(aot_gpr_6); aot_gpr_31 = (0x0884A110u); - ctx.gpr[6] = (0u | 19u); + aot_gpr_6 = (0u | 19u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 503u, 0x08A05F80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884A110u) goto L_0884A110; AOT_REGCACHE_SYNC_OUT(); return; L_0884A110: @@ -5303,7 +5304,7 @@ L_0884A188: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1840))); aot_gpr_31 = (0x0884A194u); aot_gpr_5 = (aot_gpr_16 + static_cast(1840)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884A194u) goto L_0884A194; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884A194u) goto L_0884A194; AOT_REGCACHE_SYNC_OUT(); return; L_0884A194: { const bool branch_taken = 0u == 0u; @@ -5381,7 +5382,7 @@ L_0884A204: L_0884A210: aot_gpr_31 = (0x0884A218u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(900))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884A218u) goto L_0884A218; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884A218u) goto L_0884A218; AOT_REGCACHE_SYNC_OUT(); return; L_0884A218: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -5446,9 +5447,9 @@ L_0884A288: aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(240))); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(86)))))); - ctx.gpr[6] = (0u + static_cast(-939)); - { const bool branch_taken = aot_gpr_5 != ctx.gpr[6]; - aot_gpr_18 = (aot_gpr_29 + static_cast(80)); + aot_gpr_6 = (0u + static_cast(-939)); + { const bool branch_taken = aot_gpr_5 != aot_gpr_6; + ctx.gpr[18] = (aot_gpr_29 + static_cast(80)); if (branch_taken) { goto L_0884A350; } @@ -5456,14 +5457,14 @@ L_0884A288: } L_0884A2A4: aot_fpr_12 = std::bit_cast(0u); - aot_gpr_5 = (aot_gpr_18 | 0u); + aot_gpr_5 = (ctx.gpr[18] | 0u); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x0884A2B8u); aot_fpr_14 = std::bit_cast(std::bit_cast(aot_fpr_12)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 157u, 0x08830B98u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884A2B8u) goto L_0884A2B8; AOT_REGCACHE_SYNC_OUT(); return; L_0884A2B8: - { const std::uint32_t vfpu_address = aot_gpr_18 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -5490,11 +5491,11 @@ L_0884A2DC: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 42u); aot_gpr_31 = (0x0884A2F0u); - ctx.gpr[6] = (0u | 10u); + aot_gpr_6 = (0u | 10u); goto L_0884A390; L_0884A2F0: - aot_gpr_18 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_18 == 0u; + ctx.gpr[18] = (ctx.gpr[2] | 0u); + { const bool branch_taken = ctx.gpr[18] == 0u; // nop if (branch_taken) { goto L_0884A320; @@ -5503,17 +5504,17 @@ L_0884A2F0: } L_0884A2FC: aot_gpr_31 = (0x0884A304u); - aot_gpr_4 = (aot_gpr_18 | 0u); + aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 706u, 0x0890F00Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884A304u) goto L_0884A304; AOT_REGCACHE_SYNC_OUT(); return; L_0884A304: aot_gpr_4 = (16512u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_13 = std::bit_cast(0u); - aot_gpr_4 = (aot_gpr_18 | 0u); + aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (0u | 16u); aot_gpr_31 = (0x0884A320u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0070_entry, 70u, 653u, 0x0891F338u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884A320u) goto L_0884A320; AOT_REGCACHE_SYNC_OUT(); return; L_0884A320: @@ -5521,13 +5522,13 @@ L_0884A320: aot_gpr_5 = (aot_gpr_4 + static_cast(328)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); - ctx.gpr[6] = (ctx.gpr[17] << 2u); - ctx.gpr[6] = (aot_gpr_16 + ctx.gpr[6]); + aot_gpr_6 = (ctx.gpr[17] << 2u); + aot_gpr_6 = (aot_gpr_16 + aot_gpr_6); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(240))); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(240))); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x0884A348u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884A348u) goto L_0884A348; AOT_REGCACHE_SYNC_OUT(); return; @@ -5558,7 +5559,7 @@ L_0884A360: ctx.fpr[26] = std::bit_cast(aot_run_words[3]); aot_gpr_16 = aot_run_words[4]; ctx.gpr[17] = aot_run_words[5]; - aot_gpr_18 = aot_run_words[6]; + ctx.gpr[18] = aot_run_words[6]; ctx.gpr[19] = aot_run_words[7]; ctx.gpr[20] = aot_run_words[8]; aot_gpr_31 = aot_run_words[9]; @@ -5571,10 +5572,10 @@ L_0884A360: AOT_REGCACHE_SYNC_OUT(); return; L_0884A390: aot_gpr_29 = (aot_gpr_29 + static_cast(-128)); - { const std::uint32_t aot_run_words[5]{aot_gpr_16, ctx.gpr[17], aot_gpr_18, ctx.gpr[19], aot_gpr_31}; + { const std::uint32_t aot_run_words[5]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(96), aot_run_words); } - aot_gpr_18 = (aot_gpr_4 | 0u); - aot_gpr_4 = (ctx.gpr[6] & 65535u); + ctx.gpr[18] = (aot_gpr_4 | 0u); + aot_gpr_4 = (aot_gpr_6 & 65535u); ctx.gpr[19] = (0u | 16u); ctx.gpr[17] = (aot_gpr_5 | 0u); { const bool branch_taken = ctx.gpr[7] == 0u; @@ -5608,7 +5609,7 @@ L_0884A3E4: goto L_0884A3E8; L_0884A3E8: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(776))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(776))); ctx.gpr[7] = (17096u << 16u); aot_fpr_12 = std::bit_cast(ctx.gpr[7]); aot_gpr_31 = (0x0884A400u); @@ -5625,10 +5626,10 @@ L_0884A40C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0884A418u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884A418u) goto L_0884A418; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884A418u) goto L_0884A418; AOT_REGCACHE_SYNC_OUT(); return; L_0884A418: - aot_gpr_4 = (aot_gpr_18 + static_cast(32)); + aot_gpr_4 = (ctx.gpr[18] + static_cast(32)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); aot_fpr_13 = std::bit_cast(0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); @@ -5641,13 +5642,13 @@ L_0884A418: goto L_0884A434; } L_0884A434: - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(16))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(16))); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_13) ^ 0x80000000u); aot_fpr_14 = std::bit_cast(0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_13) || std::isnan(aot_fpr_14)) && aot_fpr_13 == aot_fpr_14)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(20))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(20))); if (branch_taken) { goto L_0884A46C; } @@ -5705,13 +5706,13 @@ L_0884A4A0: goto L_0884A4A8; } L_0884A4A8: - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(16))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(16))); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_13) ^ 0x80000000u); aot_fpr_14 = std::bit_cast(0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_13) || std::isnan(aot_fpr_14)) && aot_fpr_13 == aot_fpr_14)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(20))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(20))); if (branch_taken) { goto L_0884A4E0; } @@ -5773,7 +5774,7 @@ L_0884A508: AOT_REGCACHE_SYNC_OUT(); return; L_0884A520: ctx.gpr[19] = (0u | 26u); - aot_gpr_5 = (aot_gpr_18 + static_cast(320)); + aot_gpr_5 = (ctx.gpr[18] + static_cast(320)); aot_gpr_31 = (0x0884A530u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 538u, 0x08A666C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884A530u) goto L_0884A530; @@ -5783,7 +5784,7 @@ L_0884A530: aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); - { const std::uint32_t vfpu_address = aot_gpr_18 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -5802,7 +5803,7 @@ L_0884A530: aot_fpr_13 = std::bit_cast(aot_gpr_5); aot_gpr_5 = (std::bit_cast(aot_fpr_13)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_5); - aot_gpr_5 = (aot_gpr_18 + static_cast(32)); + aot_gpr_5 = (ctx.gpr[18] + static_cast(32)); { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -5861,13 +5862,13 @@ L_0884A598: } L_0884A5A0: ctx.gpr[19] = (0u | 173u); - aot_gpr_5 = (aot_gpr_18 + static_cast(320)); + aot_gpr_5 = (ctx.gpr[18] + static_cast(320)); aot_gpr_31 = (0x0884A5B0u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 538u, 0x08A666C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884A5B0u) goto L_0884A5B0; AOT_REGCACHE_SYNC_OUT(); return; L_0884A5B0: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2116), aot_gpr_18); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2116), ctx.gpr[18]); goto L_0884A5B4; L_0884A5B4: { const bool branch_taken = ctx.gpr[17] == 0u; @@ -5880,7 +5881,7 @@ L_0884A5B4: L_0884A5BC: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 1000u); - ctx.gpr[6] = (ctx.gpr[19] | 0u); + aot_gpr_6 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x0884A5D0u); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0070_entry, 70u, 14u, 0x0891C0E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884A5D0u) goto L_0884A5D0; @@ -5889,8 +5890,8 @@ L_0884A5D0: aot_gpr_4 = (0u | 0u); aot_gpr_4 = (aot_gpr_4 & 1u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(456))); - ctx.gpr[6] = (0u + static_cast(-2)); - aot_gpr_5 = (aot_gpr_5 & ctx.gpr[6]); + aot_gpr_6 = (0u + static_cast(-2)); + aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); aot_gpr_4 = (aot_gpr_5 | aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(456), aot_gpr_4); aot_fpr_12 = std::bit_cast(0u); @@ -5908,7 +5909,7 @@ L_0884A600: aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(96), aot_run_words); aot_gpr_16 = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; - aot_gpr_18 = aot_run_words[2]; + ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; } @@ -5920,7 +5921,7 @@ L_0884A600: AOT_REGCACHE_SYNC_OUT(); return; L_0884A620: aot_gpr_29 = (aot_gpr_29 + static_cast(-720)); - { const std::uint32_t aot_run_words[16]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), aot_gpr_16, ctx.gpr[17], aot_gpr_18, ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; + { const std::uint32_t aot_run_words[16]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(652), aot_run_words); } ctx.gpr[17] = (ctx.gpr[9] & 255u); aot_gpr_16 = (0u | 0u); @@ -5929,12 +5930,12 @@ L_0884A620: ctx.fpr[28] = std::bit_cast(0u); ctx.gpr[21] = (aot_gpr_5 << 2u); ctx.gpr[21] = (aot_gpr_4 + ctx.gpr[21]); - ctx.gpr[22] = (ctx.gpr[6] << 2u); + ctx.gpr[22] = (aot_gpr_6 << 2u); ctx.gpr[22] = (aot_gpr_4 + ctx.gpr[22]); - aot_gpr_18 = (aot_gpr_4 | 0u); + ctx.gpr[18] = (aot_gpr_4 | 0u); ctx.gpr[10] = (aot_gpr_5 | 0u); ctx.gpr[11] = (ctx.gpr[8] | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(624), ctx.gpr[6]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(624), aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(640), ctx.gpr[7]); aot_fpr_20 = std::bit_cast(std::bit_cast(aot_fpr_12)); ctx.fpr[16] = std::bit_cast(std::bit_cast(aot_fpr_13)); @@ -5947,7 +5948,7 @@ L_0884A620: goto L_0884A6B0; } L_0884A6B0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(352))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(352))); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(92)))))); aot_gpr_4 = (aot_gpr_4 ^ 82u); aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); @@ -5976,7 +5977,7 @@ L_0884A6D4: goto L_0884A6DC; } L_0884A6DC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(352))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(352))); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(92)))))); aot_gpr_4 = (aot_gpr_4 ^ 70u); aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); @@ -5992,7 +5993,7 @@ L_0884A6F8: aot_gpr_16 = (0u | 1u); goto L_0884A6FC; L_0884A6FC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(352))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(352))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(132))); { const float fs = aot_fpr_12; const float ft = ctx.fpr[24]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } { const bool branch_taken = ctx.gpr[17] != 0u; @@ -6018,7 +6019,7 @@ L_0884A718: goto L_0884A72C; } L_0884A72C: - aot_gpr_4 = (aot_gpr_18 + static_cast(320)); + aot_gpr_4 = (ctx.gpr[18] + static_cast(320)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -6028,7 +6029,7 @@ L_0884A72C: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_4 = (aot_gpr_18 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[18] + static_cast(16)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -6041,7 +6042,7 @@ L_0884A72C: ctx.execute_vfpu_vdot_ct<28u, 0u, 1u, 3u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_18 + static_cast(613)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(613)))))); aot_gpr_4 = (aot_gpr_4 & 32u); aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); @@ -6093,7 +6094,7 @@ L_0884A7AC: L_0884A7B8: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(636), ctx.gpr[11]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(604), ctx.gpr[10]); - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_18 + static_cast(1660))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(1660))); if (aot_gpr_4 == 0u) { aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(620), std::bit_cast(ctx.fpr[16])); goto L_0884A86C; @@ -6104,7 +6105,7 @@ L_0884A7CC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(604), ctx.gpr[10]); ctx.fpr[22] = std::bit_cast(std::bit_cast(ctx.fpr[28])); ctx.fpr[16] = std::bit_cast(std::bit_cast(ctx.fpr[28])); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(212))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(212))); aot_gpr_4 = (17723u << 16u); aot_gpr_4 = (aot_gpr_4 | 32768u); aot_fpr_13 = std::bit_cast(aot_gpr_4); @@ -6122,15 +6123,15 @@ L_0884A7CC: goto L_0884A810; L_0884A810: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(620), std::bit_cast(ctx.fpr[16])); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(212))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(212))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-29824))); { const float fs = aot_fpr_14; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } { const float fs = aot_fpr_13; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(600))); + ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(600))); { const float fs = ctx.fpr[15]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_5 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_5); - { const std::uint32_t vfpu_address = aot_gpr_18 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -6158,7 +6159,7 @@ L_0884A810: ctx.fpr[17] = std::bit_cast(aot_run_words[2]); } aot_gpr_31 = (0x0884A864u); - aot_gpr_4 = (aot_gpr_18 | 0u); + aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 611u, 0x08A66E08u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884A864u) goto L_0884A864; AOT_REGCACHE_SYNC_OUT(); return; L_0884A864: @@ -6170,7 +6171,7 @@ L_0884A864: goto L_0884A86C; } L_0884A86C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(352))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(352))); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(92)))))); aot_gpr_4 = (aot_gpr_4 ^ 70u); aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); @@ -6183,7 +6184,7 @@ L_0884A86C: goto L_0884A888; } L_0884A888: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(1712))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(1712))); { const float fs = ctx.fpr[16]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(620), std::bit_cast(aot_fpr_12)); goto L_0884A894; @@ -6250,7 +6251,7 @@ L_0884A8E0: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(596), std::bit_cast(aot_fpr_12)); goto L_0884A92C; L_0884A92C: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(72))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(72))); aot_gpr_5 = (aot_gpr_5 & 496u); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_4 = (0u | 0u); @@ -6260,16 +6261,16 @@ L_0884A92C: goto L_0884A93C; } L_0884A93C: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(72))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(72))); aot_gpr_5 = (aot_gpr_5 & 496u); - ctx.gpr[6] = (0u | 192u); - if (aot_gpr_5 == ctx.gpr[6]) { + aot_gpr_6 = (0u | 192u); + if (aot_gpr_5 == aot_gpr_6) { aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(612), ctx.gpr[17]); goto L_0884A974; } goto L_0884A950; L_0884A950: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(352))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(352))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(204))); aot_gpr_5 = (aot_gpr_5 & 8u); aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); @@ -6311,7 +6312,7 @@ L_0884A988: goto L_0884A990; } L_0884A990: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(352))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(352))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(100))); { const float fs = aot_fpr_12; const float ft = ctx.fpr[24]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } goto L_0884A99C; @@ -6333,7 +6334,7 @@ L_0884A9A8: goto L_0884A9B0; } L_0884A9B0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(352))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(352))); ctx.fpr[30] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(112))); { const float fs = ctx.fpr[30]; const float ft = ctx.fpr[24]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[30] = std::bit_cast(0x7FC00000u); else ctx.fpr[30] = fs * ft; } goto L_0884A9BC; @@ -6362,7 +6363,7 @@ L_0884A9CC: goto L_0884A9D4; } L_0884A9D4: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(352))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(352))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(100))); { const float fs = aot_fpr_12; const float ft = ctx.fpr[24]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = ctx.fpr[24] - aot_fpr_12; @@ -6385,7 +6386,7 @@ L_0884A9F0: goto L_0884A9F8; } L_0884A9F8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(352))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(352))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(112))); { const float fs = aot_fpr_12; const float ft = ctx.fpr[24]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[30] = std::bit_cast(0x7FC00000u); else ctx.fpr[30] = fs * ft; } ctx.fpr[30] = ctx.fpr[24] - ctx.fpr[30]; @@ -6407,23 +6408,23 @@ L_0884AA24: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(592), std::bit_cast(aot_fpr_13)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(604))); ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(636))); - aot_gpr_4 = (aot_gpr_18 + static_cast(16)); - ctx.gpr[6] = (aot_gpr_5 << 4u); - ctx.gpr[20] = (ctx.gpr[20] + ctx.gpr[6]); + aot_gpr_4 = (ctx.gpr[18] + static_cast(16)); + aot_gpr_6 = (aot_gpr_5 << 4u); + ctx.gpr[20] = (ctx.gpr[20] + aot_gpr_6); ctx.gpr[17] = (aot_gpr_29 + static_cast(48)); ctx.gpr[7] = (aot_gpr_5 << 5u); - aot_gpr_16 = (aot_gpr_18 + ctx.gpr[7]); + aot_gpr_16 = (ctx.gpr[18] + ctx.gpr[7]); aot_gpr_16 = (aot_gpr_16 + static_cast(1392)); ctx.gpr[19] = (aot_gpr_29 + static_cast(64)); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(640))); ctx.fpr[26] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(628))); - ctx.gpr[8] = (aot_gpr_18 + static_cast(944)); - ctx.gpr[6] = (ctx.gpr[7] + ctx.gpr[6]); + ctx.gpr[8] = (ctx.gpr[18] + static_cast(944)); + aot_gpr_6 = (ctx.gpr[7] + aot_gpr_6); { const float fs = aot_fpr_13; const float ft = ctx.fpr[26]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[26] = std::bit_cast(0x7FC00000u); else ctx.fpr[26] = fs * ft; } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(588), ctx.gpr[8]); aot_gpr_5 = (aot_gpr_5 << 24u); aot_gpr_5 = (static_cast(static_cast(aot_gpr_5) >> 24u)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(584), ctx.gpr[6]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(584), aot_gpr_6); ctx.gpr[30] = (ctx.gpr[21] + static_cast(1604)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(580), aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(608))); @@ -6666,12 +6667,12 @@ L_0884AB94: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>(); - ctx.gpr[6] = (aot_gpr_29 + static_cast(144)); + aot_gpr_6 = (aot_gpr_29 + static_cast(144)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - { const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -6714,7 +6715,7 @@ L_0884AB94: ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); @@ -6726,7 +6727,7 @@ L_0884AB94: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -6777,7 +6778,7 @@ L_0884AC34: L_0884AC44: aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(620))); { const float fs = aot_fpr_20; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_20 = std::bit_cast(0x7FC00000u); else aot_fpr_20 = fs * ft; } - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 496u); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_4 = (0u | 0u); @@ -6809,7 +6810,7 @@ L_0884AC6C: AOT_REGCACHE_SYNC_OUT(); return; L_0884AC74: { const float fs = aot_fpr_20; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_20 = std::bit_cast(0x7FC00000u); else aot_fpr_20 = fs * ft; } - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(352))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(352))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(116))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(1520))); aot_gpr_4 = (16256u << 16u); @@ -6830,7 +6831,7 @@ L_0884AC74: goto L_0884ACB8; L_0884ACB8: { const float fs = aot_fpr_20; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_20 = std::bit_cast(0x7FC00000u); else aot_fpr_20 = fs * ft; } - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(352))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(352))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(204))); aot_gpr_5 = (32u << 16u); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); @@ -6867,7 +6868,7 @@ L_0884ACF0: goto L_0884ACFC; } L_0884ACFC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(352))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(352))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(204))); aot_gpr_5 = (16u << 16u); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); @@ -6916,15 +6917,15 @@ L_0884AD4C: goto L_0884AD58; } L_0884AD58: - ctx.gpr[9] = (aot_mem.aot_direct_load8(aot_gpr_18 + static_cast(1884))); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(944))); + ctx.gpr[9] = (aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(1884))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(944))); { const float fs = aot_fpr_20; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } { const float fs = aot_fpr_14; const float ft = ctx.fpr[30]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } ctx.gpr[2] = (0u | 1u); - aot_gpr_4 = (aot_gpr_18 | 0u); + aot_gpr_4 = (ctx.gpr[18] | 0u); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(584))); aot_gpr_5 = (ctx.gpr[17] | 0u); - ctx.gpr[6] = (ctx.gpr[19] | 0u); + aot_gpr_6 = (ctx.gpr[19] | 0u); ctx.gpr[8] = (ctx.gpr[20] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[22])); ctx.gpr[10] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(580))); @@ -6944,12 +6945,12 @@ L_0884AD9C: goto L_0884ADA4; } L_0884ADA4: - ctx.gpr[9] = (aot_mem.aot_direct_load8(aot_gpr_18 + static_cast(1884))); + ctx.gpr[9] = (aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(1884))); { const float fs = ctx.fpr[30]; const float ft = aot_fpr_20; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } - aot_gpr_4 = (aot_gpr_18 | 0u); + aot_gpr_4 = (ctx.gpr[18] | 0u); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(584))); aot_gpr_5 = (ctx.gpr[17] | 0u); - ctx.gpr[6] = (ctx.gpr[19] | 0u); + aot_gpr_6 = (ctx.gpr[19] | 0u); ctx.gpr[8] = (ctx.gpr[20] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[22])); ctx.gpr[10] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(580))); @@ -6961,7 +6962,7 @@ L_0884ADA4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0193_entry, 193u, 499u, 0x08B0A7E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884ADDCu) goto L_0884ADDC; AOT_REGCACHE_SYNC_OUT(); return; L_0884ADDC: - aot_gpr_4 = (aot_gpr_18 | 0u); + aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x0884ADE8u); aot_gpr_5 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 597u, 0x08B02384u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884ADE8u) goto L_0884ADE8; @@ -6975,7 +6976,7 @@ L_0884ADE8: goto L_0884ADF0; } L_0884ADF0: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(604))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(604))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[28])) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); @@ -7022,26 +7023,26 @@ L_0884AE28: goto L_0884AE3C; } L_0884AE3C: - aot_gpr_4 = (aot_gpr_18 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[18] + static_cast(16)); ctx.gpr[17] = (aot_gpr_29 + static_cast(48)); ctx.fpr[26] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(592))); ctx.gpr[19] = (aot_gpr_29 + static_cast(64)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(628))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(624))); - ctx.gpr[6] = (aot_gpr_18 + static_cast(944)); + aot_gpr_6 = (ctx.gpr[18] + static_cast(944)); { const float fs = ctx.fpr[26]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[26] = std::bit_cast(0x7FC00000u); else ctx.fpr[26] = fs * ft; } ctx.gpr[7] = (aot_gpr_5 << 5u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(588), ctx.gpr[6]); - aot_gpr_16 = (aot_gpr_18 + ctx.gpr[7]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(588), aot_gpr_6); + aot_gpr_16 = (ctx.gpr[18] + ctx.gpr[7]); aot_gpr_16 = (aot_gpr_16 + static_cast(1392)); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(640))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(640))); ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(636))); ctx.gpr[7] = (aot_gpr_5 << 4u); - ctx.gpr[6] = (ctx.gpr[6] + ctx.gpr[7]); + aot_gpr_6 = (aot_gpr_6 + ctx.gpr[7]); ctx.gpr[20] = (ctx.gpr[20] + ctx.gpr[7]); ctx.gpr[30] = (aot_gpr_5 << 24u); ctx.gpr[30] = (static_cast(static_cast(ctx.gpr[30]) >> 24u)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(576), ctx.gpr[6]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(576), aot_gpr_6); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(608))); { const bool branch_taken = aot_gpr_5 == 0u; ctx.gpr[23] = (ctx.gpr[22] + static_cast(1604)); @@ -7282,12 +7283,12 @@ L_0884AFA4: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>(); - ctx.gpr[6] = (aot_gpr_29 + static_cast(240)); + aot_gpr_6 = (aot_gpr_29 + static_cast(240)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - { const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -7330,7 +7331,7 @@ L_0884AFA4: ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); @@ -7342,7 +7343,7 @@ L_0884AFA4: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -7393,7 +7394,7 @@ L_0884B044: L_0884B054: aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(620))); { const float fs = aot_fpr_20; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_20 = std::bit_cast(0x7FC00000u); else aot_fpr_20 = fs * ft; } - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 496u); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_4 = (0u | 0u); @@ -7425,7 +7426,7 @@ L_0884B07C: AOT_REGCACHE_SYNC_OUT(); return; L_0884B084: { const float fs = aot_fpr_20; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_20 = std::bit_cast(0x7FC00000u); else aot_fpr_20 = fs * ft; } - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(352))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(352))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(116))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(1520))); aot_gpr_4 = (16256u << 16u); @@ -7446,7 +7447,7 @@ L_0884B084: goto L_0884B0C8; L_0884B0C8: { const float fs = aot_fpr_20; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_20 = std::bit_cast(0x7FC00000u); else aot_fpr_20 = fs * ft; } - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(352))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(352))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(204))); aot_gpr_5 = (32u << 16u); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); @@ -7461,7 +7462,7 @@ L_0884B0C8: } L_0884B0EC: aot_gpr_4 = (aot_gpr_16 << 5u); - aot_gpr_4 = (aot_gpr_18 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[18] + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(1392)); aot_gpr_31 = (0x0884B100u); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(30))); @@ -7486,7 +7487,7 @@ L_0884B10C: goto L_0884B118; } L_0884B118: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(352))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(352))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(204))); aot_gpr_5 = (16u << 16u); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); @@ -7500,7 +7501,7 @@ L_0884B118: goto L_0884B138; } L_0884B138: - aot_gpr_4 = (aot_gpr_18 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[18] + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(1392)); aot_gpr_31 = (0x0884B148u); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(30))); @@ -7539,15 +7540,15 @@ L_0884B170: } L_0884B180: ctx.gpr[2] = (aot_gpr_4 | 0u); - ctx.gpr[9] = (aot_mem.aot_direct_load8(aot_gpr_18 + static_cast(1884))); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(944))); + ctx.gpr[9] = (aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(1884))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(944))); { const float fs = aot_fpr_20; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } { const float fs = aot_fpr_14; const float ft = ctx.fpr[30]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } ctx.gpr[3] = (0u | 1u); - aot_gpr_4 = (aot_gpr_18 | 0u); + aot_gpr_4 = (ctx.gpr[18] | 0u); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(576))); aot_gpr_5 = (ctx.gpr[17] | 0u); - ctx.gpr[6] = (ctx.gpr[19] | 0u); + aot_gpr_6 = (ctx.gpr[19] | 0u); ctx.gpr[8] = (ctx.gpr[20] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[22])); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[26])); @@ -7568,12 +7569,12 @@ L_0884B1C8: } L_0884B1D0: ctx.gpr[2] = (aot_gpr_4 | 0u); - ctx.gpr[9] = (aot_mem.aot_direct_load8(aot_gpr_18 + static_cast(1884))); + ctx.gpr[9] = (aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(1884))); { const float fs = ctx.fpr[30]; const float ft = aot_fpr_20; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } - aot_gpr_4 = (aot_gpr_18 | 0u); + aot_gpr_4 = (ctx.gpr[18] | 0u); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(576))); aot_gpr_5 = (ctx.gpr[17] | 0u); - ctx.gpr[6] = (ctx.gpr[19] | 0u); + aot_gpr_6 = (ctx.gpr[19] | 0u); ctx.gpr[8] = (ctx.gpr[20] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[22])); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[26])); @@ -7585,7 +7586,7 @@ L_0884B1D0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0193_entry, 193u, 499u, 0x08B0A7E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884B20Cu) goto L_0884B20C; AOT_REGCACHE_SYNC_OUT(); return; L_0884B20C: - aot_gpr_4 = (aot_gpr_18 | 0u); + aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x0884B218u); aot_gpr_5 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 597u, 0x08B02384u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884B218u) goto L_0884B218; @@ -7599,7 +7600,7 @@ L_0884B218: goto L_0884B220; } L_0884B220: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(604))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(604))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[28])) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); @@ -7641,7 +7642,7 @@ L_0884B254: goto L_0884B260; } L_0884B260: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_18 + static_cast(1660))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(1660))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -7658,7 +7659,7 @@ L_0884B26C: goto L_0884B274; } L_0884B274: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(1896))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(1896))); aot_gpr_4 = (0u | 1u); { const bool branch_taken = aot_gpr_5 == aot_gpr_4; // nop @@ -7668,7 +7669,7 @@ L_0884B274: goto L_0884B284; } L_0884B284: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(1904))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(1904))); { const bool branch_taken = aot_gpr_5 != aot_gpr_4; // nop if (branch_taken) { @@ -7677,14 +7678,14 @@ L_0884B284: goto L_0884B290; } L_0884B290: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(1712))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(1712))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); aot_gpr_4 = (14979u << 16u); aot_gpr_4 = (aot_gpr_4 | 4719u); ctx.fpr[15] = std::bit_cast(aot_gpr_4); { const float fs = aot_fpr_14; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } aot_fpr_14 = aot_fpr_12 + aot_fpr_14; - aot_mem.aot_direct_store32(aot_gpr_18 + static_cast(1712), std::bit_cast(aot_fpr_14)); + aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(1712), std::bit_cast(aot_fpr_14)); aot_gpr_4 = (16448u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_14 <= aot_fpr_12)) ? 0x00800000u : 0u); @@ -7698,14 +7699,14 @@ L_0884B290: } L_0884B2C8: { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_18 + static_cast(1712), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(1712), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_0884B334; } goto L_0884B2D0; } L_0884B2D0: - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(1712))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(1712))); aot_gpr_4 = (16256u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_14 <= aot_fpr_12)) ? 0x00800000u : 0u); @@ -7731,14 +7732,14 @@ L_0884B2EC: ctx.execute_vfpu_unary_ct<32u, 0u, 1u, 20u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<32u>()); aot_fpr_14 = std::bit_cast(aot_gpr_4); - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(1712))); + ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(1712))); ctx.fpr[15] = ctx.fpr[15] - aot_fpr_12; { const float fs = ctx.fpr[15]; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } aot_fpr_12 = aot_fpr_14 + aot_fpr_12; - aot_mem.aot_direct_store32(aot_gpr_18 + static_cast(1712), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(1712), std::bit_cast(aot_fpr_12)); goto L_0884B334; L_0884B334: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(352))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(352))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(208))); aot_gpr_5 = (512u << 16u); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); @@ -7986,7 +7987,7 @@ L_0884B534: ctx.fpr[30] = std::bit_cast(aot_run_words[5]); aot_gpr_16 = aot_run_words[6]; ctx.gpr[17] = aot_run_words[7]; - aot_gpr_18 = aot_run_words[8]; + ctx.gpr[18] = aot_run_words[8]; ctx.gpr[19] = aot_run_words[9]; ctx.gpr[20] = aot_run_words[10]; ctx.gpr[21] = aot_run_words[11]; @@ -8003,7 +8004,7 @@ L_0884B534: AOT_REGCACHE_SYNC_OUT(); return; L_0884B57C: aot_gpr_29 = (aot_gpr_29 + static_cast(-128)); - { const std::uint32_t aot_run_words[10]{aot_gpr_16, ctx.gpr[17], aot_gpr_18, ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; + { const std::uint32_t aot_run_words[10]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(76), aot_run_words); } ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); ctx.gpr[7] = (ctx.gpr[7] & 496u); @@ -8011,7 +8012,7 @@ L_0884B57C: ctx.gpr[30] = (aot_gpr_4 | 0u); ctx.gpr[22] = (aot_gpr_5 | 0u); { const bool branch_taken = ctx.gpr[7] == ctx.gpr[8]; - aot_gpr_4 = (ctx.gpr[6] | 0u); + aot_gpr_4 = (aot_gpr_6 | 0u); if (branch_taken) { goto L_0884B5D0; } @@ -8034,11 +8035,11 @@ L_0884B5D0: } L_0884B5E0: aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7800))); - ctx.gpr[6] = (aot_gpr_5 << 8u); + aot_gpr_6 = (aot_gpr_5 << 8u); ctx.gpr[7] = (aot_gpr_5 + aot_gpr_5); aot_gpr_5 = (aot_gpr_5 + ctx.gpr[7]); aot_gpr_5 = (aot_gpr_5 << 5u); - aot_gpr_16 = (ctx.gpr[6] + aot_gpr_5); + aot_gpr_16 = (aot_gpr_6 + aot_gpr_5); aot_gpr_5 = (2238u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(-6992)); aot_gpr_5 = (aot_gpr_5 + static_cast(16)); @@ -8052,8 +8053,8 @@ L_0884B5E0: L_0884B60C: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[30] + static_cast(86)))))); aot_gpr_5 = (aot_gpr_5 << 2u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); - aot_gpr_5 = (ctx.gpr[6] + aot_gpr_5); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); + aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(20))); goto L_0884B624; @@ -8102,8 +8103,8 @@ L_0884B66C: } L_0884B688: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[30] + static_cast(86)))))); - ctx.gpr[6] = (0u + static_cast(-950)); - { const bool branch_taken = aot_gpr_5 != ctx.gpr[6]; + aot_gpr_6 = (0u + static_cast(-950)); + { const bool branch_taken = aot_gpr_5 != aot_gpr_6; ctx.gpr[8] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_0884B6BC; @@ -8139,7 +8140,7 @@ L_0884B6BC: aot_gpr_4 = (ctx.gpr[30] | 0u); aot_gpr_5 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0884B6ECu); - ctx.gpr[6] = (ctx.gpr[22] | 0u); + aot_gpr_6 = (ctx.gpr[22] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0044_entry, 44u, 66u, 0x088B4738u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884B6ECu) goto L_0884B6EC; AOT_REGCACHE_SYNC_OUT(); return; L_0884B6EC: @@ -8168,7 +8169,7 @@ L_0884B704: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), aot_gpr_4); ctx.gpr[20] = (aot_gpr_29 | 0u); ctx.gpr[19] = (aot_gpr_16 + static_cast(1756)); - aot_gpr_18 = (ctx.gpr[30] + static_cast(1776)); + ctx.gpr[18] = (ctx.gpr[30] + static_cast(1776)); ctx.gpr[17] = (ctx.gpr[30] + static_cast(1392)); goto L_0884B728; L_0884B728: @@ -8236,7 +8237,7 @@ L_0884B79C: L_0884B7A8: aot_gpr_31 = (0x0884B7B0u); aot_gpr_5 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884B7B0u) goto L_0884B7B0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884B7B0u) goto L_0884B7B0; AOT_REGCACHE_SYNC_OUT(); return; L_0884B7B0: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); @@ -8280,7 +8281,7 @@ L_0884B7B0: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_18 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } goto L_0884B7E8; @@ -8307,7 +8308,7 @@ L_0884B810: aot_gpr_16 = (aot_gpr_16 + static_cast(4)); ctx.gpr[20] = (ctx.gpr[20] + static_cast(4)); ctx.gpr[19] = (ctx.gpr[19] + static_cast(4)); - aot_gpr_18 = (aot_gpr_18 + static_cast(16)); + ctx.gpr[18] = (ctx.gpr[18] + static_cast(16)); aot_gpr_4 = (static_cast(ctx.gpr[21]) < 4 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; ctx.gpr[17] = (ctx.gpr[17] + static_cast(32)); @@ -8406,8 +8407,8 @@ L_0884B8C0: } L_0884B8D0: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[30] + static_cast(76))); - ctx.gpr[6] = (0u + static_cast(-3)); - aot_gpr_5 = (aot_gpr_5 & ctx.gpr[6]); + aot_gpr_6 = (0u + static_cast(-3)); + aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); aot_gpr_5 = (aot_gpr_5 | 2u); aot_mem.aot_direct_store32(ctx.gpr[30] + static_cast(76), aot_gpr_5); goto L_0884B8E4; @@ -8417,7 +8418,7 @@ L_0884B8E4: aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(76), aot_run_words); aot_gpr_16 = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; - aot_gpr_18 = aot_run_words[2]; + ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; ctx.gpr[21] = aot_run_words[5]; @@ -8434,7 +8435,7 @@ L_0884B8E4: AOT_REGCACHE_SYNC_OUT(); return; L_0884B918: aot_gpr_29 = (aot_gpr_29 + static_cast(-448)); - { const std::uint32_t aot_run_words[12]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), aot_gpr_16, ctx.gpr[17], aot_gpr_18, ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_31}; + { const std::uint32_t aot_run_words[12]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(388), aot_run_words); } aot_gpr_5 = (16256u << 16u); ctx.fpr[24] = std::bit_cast(aot_gpr_5); @@ -8790,12 +8791,12 @@ L_0884BB68: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<7u, 4u>(vfpu_value); } ctx.execute_vfpu_vtfm_ct<0u, 36u, 7u, 3u, 3u>(); - aot_gpr_18 = (aot_gpr_29 + static_cast(128)); + ctx.gpr[18] = (aot_gpr_29 + static_cast(128)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_18 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - { const std::uint32_t vfpu_address = aot_gpr_18 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -8840,7 +8841,7 @@ L_0884BB68: aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[22])); aot_gpr_5 = (0u | 160u); aot_gpr_31 = (0x0884BC14u); - ctx.gpr[6] = (0u | 196u); + aot_gpr_6 = (0u | 196u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0054_entry, 54u, 325u, 0x088DDFD8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884BC14u) goto L_0884BC14; AOT_REGCACHE_SYNC_OUT(); return; L_0884BC14: @@ -8868,7 +8869,7 @@ L_0884BC14: aot_gpr_4 = (16544u << 16u); aot_gpr_31 = (0x0884BC48u); ctx.fpr[26] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884BC48u) goto L_0884BC48; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884BC48u) goto L_0884BC48; AOT_REGCACHE_SYNC_OUT(); return; L_0884BC48: aot_fpr_12 = ctx.fpr[26] - aot_fpr_20; @@ -8879,7 +8880,7 @@ L_0884BC48: aot_gpr_4 = (17076u << 16u); aot_gpr_31 = (0x0884BC68u); ctx.fpr[28] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884BC68u) goto L_0884BC68; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884BC68u) goto L_0884BC68; AOT_REGCACHE_SYNC_OUT(); return; L_0884BC68: aot_fpr_13 = ctx.fpr[28] - aot_fpr_20; @@ -8890,7 +8891,7 @@ L_0884BC68: ctx.gpr[21] = (0u | 500u); aot_gpr_4 = (0u | 45u); aot_gpr_5 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (ctx.gpr[17] | 0u); + aot_gpr_6 = (ctx.gpr[17] | 0u); ctx.gpr[7] = (0u | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[24])); ctx.gpr[8] = (ctx.gpr[19] | 0u); @@ -8916,13 +8917,13 @@ L_0884BCA8: ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_18 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (16880u << 16u); aot_gpr_31 = (0x0884BCD0u); ctx.fpr[24] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884BCD0u) goto L_0884BCD0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884BCD0u) goto L_0884BCD0; AOT_REGCACHE_SYNC_OUT(); return; L_0884BCD0: aot_fpr_12 = ctx.fpr[24] - aot_fpr_20; @@ -8933,7 +8934,7 @@ L_0884BCD0: aot_gpr_4 = (16948u << 16u); aot_gpr_31 = (0x0884BCF0u); ctx.fpr[26] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884BCF0u) goto L_0884BCF0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884BCF0u) goto L_0884BCF0; AOT_REGCACHE_SYNC_OUT(); return; L_0884BCF0: aot_fpr_13 = ctx.fpr[26] - aot_fpr_20; @@ -8943,7 +8944,7 @@ L_0884BCF0: ctx.gpr[10] = (std::bit_cast(aot_fpr_13)); aot_gpr_4 = (0u | 44u); aot_gpr_5 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (aot_gpr_18 | 0u); + aot_gpr_6 = (ctx.gpr[18] | 0u); ctx.gpr[7] = (0u | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[22])); ctx.gpr[8] = (ctx.gpr[19] | 0u); @@ -8963,7 +8964,7 @@ L_0884BD2C: ctx.fpr[28] = std::bit_cast(aot_run_words[4]); aot_gpr_16 = aot_run_words[5]; ctx.gpr[17] = aot_run_words[6]; - aot_gpr_18 = aot_run_words[7]; + ctx.gpr[18] = aot_run_words[7]; ctx.gpr[19] = aot_run_words[8]; ctx.gpr[20] = aot_run_words[9]; ctx.gpr[21] = aot_run_words[10]; @@ -8977,10 +8978,10 @@ L_0884BD2C: AOT_REGCACHE_SYNC_OUT(); return; L_0884BD64: aot_gpr_29 = (aot_gpr_29 + static_cast(-208)); - { const std::uint32_t aot_run_words[9]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), aot_gpr_16, ctx.gpr[17], aot_gpr_18, ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_31}; + { const std::uint32_t aot_run_words[9]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(160), aot_run_words); } ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); - aot_gpr_18 = (0u | 0u); + ctx.gpr[18] = (0u | 0u); ctx.gpr[17] = (0u | 0u); { const bool branch_taken = ctx.gpr[19] == 0u; aot_gpr_16 = (aot_gpr_4 | 0u); @@ -8993,8 +8994,8 @@ L_0884BDA0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(0))); ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(8))); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(84))); - ctx.gpr[6] = (aot_mem.aot_direct_load16(ctx.gpr[28] + static_cast(-25492))); - { const bool branch_taken = aot_gpr_5 == ctx.gpr[6]; + aot_gpr_6 = (aot_mem.aot_direct_load16(ctx.gpr[28] + static_cast(-25492))); + { const bool branch_taken = aot_gpr_5 == aot_gpr_6; // nop if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0018_entry, 18u, 43u, 0x0884C508u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; @@ -9056,8 +9057,8 @@ L_0884BE24: } L_0884BE3C: aot_gpr_5 = (aot_gpr_4 | 0u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(852))); - { const bool branch_taken = ctx.gpr[6] != 0u; + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(852))); + { const bool branch_taken = aot_gpr_6 != 0u; // nop if (branch_taken) { goto L_0884BE58; @@ -9065,7 +9066,7 @@ L_0884BE3C: goto L_0884BE4C; } L_0884BE4C: - aot_gpr_18 = (aot_gpr_4 | 0u); + ctx.gpr[18] = (aot_gpr_4 | 0u); { const bool branch_taken = 0u == 0u; ctx.gpr[17] = (0u | 0u); if (branch_taken) { @@ -9074,9 +9075,9 @@ L_0884BE4C: goto L_0884BE58; } L_0884BE58: - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(852))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(852))); ctx.gpr[7] = (0u | 6u); - { const bool branch_taken = ctx.gpr[6] == ctx.gpr[7]; + { const bool branch_taken = aot_gpr_6 == ctx.gpr[7]; // nop if (branch_taken) { goto L_0884BE78; @@ -9084,9 +9085,9 @@ L_0884BE58: goto L_0884BE68; } L_0884BE68: - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(852))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(852))); ctx.gpr[7] = (0u | 8u); - { const bool branch_taken = ctx.gpr[6] != ctx.gpr[7]; + { const bool branch_taken = aot_gpr_6 != ctx.gpr[7]; // nop if (branch_taken) { goto L_0884BE80; @@ -9094,7 +9095,7 @@ L_0884BE68: goto L_0884BE78; } L_0884BE78: - aot_gpr_18 = (0u | 0u); + ctx.gpr[18] = (0u | 0u); ctx.gpr[17] = (aot_gpr_4 | 0u); goto L_0884BE80; L_0884BE80: @@ -9116,7 +9117,7 @@ L_0884BE80: goto L_0884BEB0; } L_0884BEB0: - { const bool branch_taken = aot_gpr_18 == 0u; + { const bool branch_taken = ctx.gpr[18] == 0u; // nop if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0018_entry, 18u, 20u, 0x0884C280u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; @@ -9134,7 +9135,7 @@ L_0884BEB8: goto L_0884BEC8; } L_0884BEC8: - aot_gpr_4 = (ctx.gpr[20] + aot_gpr_18); + aot_gpr_4 = (ctx.gpr[20] + ctx.gpr[18]); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(1596))); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -9145,7 +9146,7 @@ L_0884BEC8: } L_0884BED8: aot_gpr_4 = (ctx.gpr[20] << 2u); - aot_gpr_4 = (aot_gpr_18 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[18] + aot_gpr_4); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1520))); aot_gpr_4 = (16256u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); @@ -9185,17 +9186,17 @@ L_0884BF14: goto L_0884BF1C; } L_0884BF1C: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_18 + static_cast(86)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(86)))))); aot_gpr_5 = (aot_gpr_4 << 2u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); - aot_gpr_5 = (ctx.gpr[6] + aot_gpr_5); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); + aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(20))); aot_gpr_5 = (aot_gpr_5 + static_cast(32)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); aot_gpr_4 = (aot_gpr_4 << 2u); - aot_gpr_4 = (ctx.gpr[6] + aot_gpr_4); + aot_gpr_4 = (aot_gpr_6 + aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); aot_gpr_4 = (aot_gpr_4 + static_cast(32)); @@ -9242,16 +9243,16 @@ L_0884BF84: goto L_0884BF8C; } L_0884BF8C: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_18 + static_cast(86)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(86)))))); aot_gpr_5 = (aot_gpr_4 << 2u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); - aot_gpr_5 = (ctx.gpr[6] + aot_gpr_5); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); + aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(20))); aot_gpr_5 = (aot_gpr_5 + static_cast(32)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_gpr_4 = (aot_gpr_4 << 2u); - aot_gpr_4 = (ctx.gpr[6] + aot_gpr_4); + aot_gpr_4 = (aot_gpr_6 + aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); aot_gpr_4 = (aot_gpr_4 + static_cast(16)); @@ -9282,10 +9283,10 @@ L_0884BF8C: goto L_0884BFE8; } L_0884BFE8: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_18 + static_cast(86)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(86)))))); aot_gpr_5 = (aot_gpr_4 << 2u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); - aot_gpr_5 = (ctx.gpr[6] + aot_gpr_5); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); + aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(20))); ctx.pc = 0x0884C000u; AOT_REGCACHE_SYNC_OUT(); return; diff --git a/profiles/vcs/generated/generated_unit_0018.cpp b/profiles/vcs/generated/generated_unit_0018.cpp index bec37c7..a9613c1 100644 --- a/profiles/vcs/generated/generated_unit_0018.cpp +++ b/profiles/vcs/generated/generated_unit_0018.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,7 +139,7 @@ static const std::uint16_t kEntryIds_recomp_unit_0018[4095] = { }; void recomp_unit_0018_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,29,5,16,31,6 fprs=12,13,20,14 gpr_occ=3634 fpr_occ=1014 gpr_total=5008 fpr_total=1170 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,29,5,16,31,6 fprs=12,13,20,14 gpr_occ=3754 fpr_occ=1026 gpr_total=5241 fpr_total=1186 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; @@ -1953,7 +1954,7 @@ L_0884C82C: L_0884C838: aot_gpr_31 = (0x0884C840u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884C840u) goto L_0884C840; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884C840u) goto L_0884C840; AOT_REGCACHE_SYNC_OUT(); return; L_0884C840: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -2023,7 +2024,7 @@ L_0884C8AC: L_0884C8B4: aot_gpr_31 = (0x0884C8BCu); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884C8BCu) goto L_0884C8BC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884C8BCu) goto L_0884C8BC; AOT_REGCACHE_SYNC_OUT(); return; L_0884C8BC: { std::uint32_t aot_run_words[3]{}; @@ -2333,7 +2334,7 @@ L_0884CB38: aot_gpr_4 = (aot_gpr_4 + ctx.gpr[20]); aot_gpr_31 = (0x0884CB48u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8796))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884CB48u) goto L_0884CB48; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884CB48u) goto L_0884CB48; AOT_REGCACHE_SYNC_OUT(); return; L_0884CB48: ctx.gpr[22] = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(96))); @@ -2353,7 +2354,7 @@ L_0884CB64: aot_gpr_4 = (aot_gpr_4 + ctx.gpr[20]); aot_gpr_31 = (0x0884CB74u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8796))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884CB74u) goto L_0884CB74; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884CB74u) goto L_0884CB74; AOT_REGCACHE_SYNC_OUT(); return; L_0884CB74: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(100))); @@ -2369,7 +2370,7 @@ L_0884CB80: aot_gpr_4 = (aot_gpr_4 + ctx.gpr[20]); aot_gpr_31 = (0x0884CB90u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8796))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884CB90u) goto L_0884CB90; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884CB90u) goto L_0884CB90; AOT_REGCACHE_SYNC_OUT(); return; L_0884CB90: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(100))); @@ -6334,7 +6335,7 @@ L_0884EB28: L_0884EB30: aot_gpr_31 = (0x0884EB38u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884EB38u) goto L_0884EB38; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884EB38u) goto L_0884EB38; AOT_REGCACHE_SYNC_OUT(); return; L_0884EB38: { const bool branch_taken = ctx.gpr[18] == 0u; @@ -6372,7 +6373,7 @@ L_0884EB54: L_0884EB5C: aot_gpr_31 = (0x0884EB64u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884EB64u) goto L_0884EB64; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884EB64u) goto L_0884EB64; AOT_REGCACHE_SYNC_OUT(); return; L_0884EB64: { const bool branch_taken = ctx.gpr[19] == 0u; @@ -6406,7 +6407,7 @@ L_0884EB80: L_0884EB88: aot_gpr_31 = (0x0884EB90u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884EB90u) goto L_0884EB90; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884EB90u) goto L_0884EB90; AOT_REGCACHE_SYNC_OUT(); return; L_0884EB90: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -6428,7 +6429,7 @@ L_0884EB9C: L_0884EBA8: aot_gpr_31 = (0x0884EBB0u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884EBB0u) goto L_0884EBB0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884EBB0u) goto L_0884EBB0; AOT_REGCACHE_SYNC_OUT(); return; L_0884EBB0: { std::uint32_t aot_run_words[5]{}; @@ -6522,7 +6523,7 @@ L_0884EC6C: aot_fpr_14 = aot_fpr_12 + aot_fpr_14; aot_gpr_31 = (0x0884ECB0u); ctx.fpr[15] = aot_fpr_13 + ctx.fpr[15]; - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884ECB0u) goto L_0884ECB0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08873400, 27u, 732u, 0x08873400u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, ctx.fpr[15]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884ECB0u) goto L_0884ECB0; AOT_REGCACHE_SYNC_OUT(); return; L_0884ECB0: aot_gpr_31 = (0x0884ECB8u); @@ -7204,7 +7205,7 @@ L_0884F1FC: aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_31 = (0x0884F220u); ctx.fpr[15] = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884F220u) goto L_0884F220; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08873400, 27u, 732u, 0x08873400u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, ctx.fpr[15]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884F220u) goto L_0884F220; AOT_REGCACHE_SYNC_OUT(); return; L_0884F220: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -7473,7 +7474,7 @@ L_0884F43C: L_0884F448: aot_gpr_31 = (0x0884F450u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884F450u) goto L_0884F450; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884F450u) goto L_0884F450; AOT_REGCACHE_SYNC_OUT(); return; L_0884F450: aot_gpr_4 = (ctx.gpr[21] << 2u); @@ -7947,7 +7948,7 @@ L_0884F80C: aot_fpr_14 = aot_fpr_12 + aot_fpr_14; aot_gpr_31 = (0x0884F84Cu); ctx.fpr[15] = aot_fpr_13 + ctx.fpr[15]; - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884F84Cu) goto L_0884F84C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08873400, 27u, 732u, 0x08873400u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, ctx.fpr[15]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884F84Cu) goto L_0884F84C; AOT_REGCACHE_SYNC_OUT(); return; L_0884F84C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(240))); @@ -8179,7 +8180,7 @@ L_0884F9B0: L_0884F9BC: aot_gpr_31 = (0x0884F9C4u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884F9C4u) goto L_0884F9C4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884F9C4u) goto L_0884F9C4; AOT_REGCACHE_SYNC_OUT(); return; L_0884F9C4: aot_gpr_4 = (ctx.gpr[20] << 2u); @@ -8411,7 +8412,7 @@ L_0884FB38: L_0884FB44: aot_gpr_31 = (0x0884FB4Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884FB4Cu) goto L_0884FB4C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884FB4Cu) goto L_0884FB4C; AOT_REGCACHE_SYNC_OUT(); return; L_0884FB4C: aot_gpr_4 = (ctx.gpr[21] << 2u); @@ -8514,7 +8515,7 @@ L_0884FC08: aot_fpr_14 = aot_fpr_12 + aot_fpr_14; aot_gpr_31 = (0x0884FC48u); ctx.fpr[15] = aot_fpr_13 + ctx.fpr[15]; - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884FC48u) goto L_0884FC48; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08873400, 27u, 732u, 0x08873400u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, ctx.fpr[15]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884FC48u) goto L_0884FC48; AOT_REGCACHE_SYNC_OUT(); return; L_0884FC48: aot_gpr_31 = (0x0884FC50u); @@ -8568,7 +8569,7 @@ L_0884FC98: L_0884FCA4: aot_gpr_31 = (0x0884FCACu); aot_gpr_4 = (ctx.gpr[28] + static_cast(-29592)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884FCACu) goto L_0884FCAC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884FCACu) goto L_0884FCAC; AOT_REGCACHE_SYNC_OUT(); return; L_0884FCAC: aot_gpr_31 = (0x0884FCB4u); @@ -8862,7 +8863,7 @@ L_0884FEBC: L_0884FEC4: aot_gpr_31 = (0x0884FECCu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884FECCu) goto L_0884FECC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884FECCu) goto L_0884FECC; AOT_REGCACHE_SYNC_OUT(); return; L_0884FECC: { const bool branch_taken = ctx.gpr[18] == 0u; @@ -8897,7 +8898,7 @@ L_0884FEF0: L_0884FEFC: aot_gpr_31 = (0x0884FF04u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884FF04u) goto L_0884FF04; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884FF04u) goto L_0884FF04; AOT_REGCACHE_SYNC_OUT(); return; L_0884FF04: { const bool branch_taken = ctx.gpr[18] == 0u; @@ -8931,7 +8932,7 @@ L_0884FF24: L_0884FF30: aot_gpr_31 = (0x0884FF38u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884FF38u) goto L_0884FF38; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884FF38u) goto L_0884FF38; AOT_REGCACHE_SYNC_OUT(); return; L_0884FF38: aot_gpr_4 = (aot_gpr_29 | 0u); @@ -8958,7 +8959,7 @@ L_0884FF54: L_0884FF60: aot_gpr_31 = (0x0884FF68u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884FF68u) goto L_0884FF68; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884FF68u) goto L_0884FF68; AOT_REGCACHE_SYNC_OUT(); return; L_0884FF68: { const bool branch_taken = ctx.gpr[18] == 0u; @@ -8993,7 +8994,7 @@ L_0884FF8C: L_0884FF98: aot_gpr_31 = (0x0884FFA0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884FFA0u) goto L_0884FFA0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884FFA0u) goto L_0884FFA0; AOT_REGCACHE_SYNC_OUT(); return; L_0884FFA0: { const bool branch_taken = ctx.gpr[18] == 0u; @@ -9012,7 +9013,7 @@ L_0884FFB0: aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x0884FFBCu); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884FFBCu) goto L_0884FFBC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B627F0, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884FFBCu) goto L_0884FFBC; AOT_REGCACHE_SYNC_OUT(); return; L_0884FFBC: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(196), std::bit_cast(ctx.fpr[0])); @@ -9042,7 +9043,7 @@ L_0884FFDC: L_0884FFE8: aot_gpr_31 = (0x0884FFF0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884FFF0u) goto L_0884FFF0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0884FFF0u) goto L_0884FFF0; AOT_REGCACHE_SYNC_OUT(); return; L_0884FFF0: { const bool branch_taken = ctx.gpr[18] == 0u; diff --git a/profiles/vcs/generated/generated_unit_0019.cpp b/profiles/vcs/generated/generated_unit_0019.cpp index 3698fe0..5752e95 100644 --- a/profiles/vcs/generated/generated_unit_0019.cpp +++ b/profiles/vcs/generated/generated_unit_0019.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,18 +139,18 @@ static const std::uint16_t kEntryIds_recomp_unit_0019[4095] = { }; void recomp_unit_0019_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=29,5,4,6,7,31 fprs=0,12 gpr_occ=4825 fpr_occ=4 gpr_total=5864 fpr_total=4 - std::uint32_t aot_gpr_29 = ctx.gpr[29]; +// PSPRECOMP_AOT_REGCACHE_META gprs=5,4,6,7,31,8 fprs=0,12 gpr_occ=6734 fpr_occ=4 gpr_total=9305 fpr_total=4 std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_6 = ctx.gpr[6]; std::uint32_t aot_gpr_7 = ctx.gpr[7]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; + std::uint32_t aot_gpr_8 = ctx.gpr[8]; float aot_fpr_0 = ctx.fpr[0]; float aot_fpr_12 = ctx.fpr[12]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[29] = aot_gpr_29; ctx.gpr[5] = aot_gpr_5; ctx.gpr[4] = aot_gpr_4; ctx.gpr[6] = aot_gpr_6; ctx.gpr[7] = aot_gpr_7; ctx.gpr[31] = aot_gpr_31; ctx.fpr[0] = aot_fpr_0; ctx.fpr[12] = aot_fpr_12; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_29 = ctx.gpr[29]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_4 = ctx.gpr[4]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_7 = ctx.gpr[7]; aot_gpr_31 = ctx.gpr[31]; aot_fpr_0 = ctx.fpr[0]; aot_fpr_12 = ctx.fpr[12]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[5] = aot_gpr_5; ctx.gpr[4] = aot_gpr_4; ctx.gpr[6] = aot_gpr_6; ctx.gpr[7] = aot_gpr_7; ctx.gpr[31] = aot_gpr_31; ctx.gpr[8] = aot_gpr_8; ctx.fpr[0] = aot_fpr_0; ctx.fpr[12] = aot_fpr_12; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_5 = ctx.gpr[5]; aot_gpr_4 = ctx.gpr[4]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_7 = ctx.gpr[7]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_8 = ctx.gpr[8]; aot_fpr_0 = ctx.fpr[0]; aot_fpr_12 = ctx.fpr[12]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -1190,13 +1191,13 @@ L_08850000: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 867u, 0x08AF7A8Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850008u) goto L_08850008; AOT_REGCACHE_SYNC_OUT(); return; L_08850008: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(52))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(52))); aot_gpr_31 = (0x08850014u); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0096_entry, 96u, 237u, 0x08984D14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850014u) goto L_08850014; AOT_REGCACHE_SYNC_OUT(); return; L_08850014: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(52))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(52))); { const bool branch_taken = aot_gpr_4 == 0u; ctx.gpr[18] = (ctx.gpr[2] | 0u); if (branch_taken) { @@ -1207,7 +1208,7 @@ L_08850014: L_08850020: aot_gpr_31 = (0x08850028u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850028u) goto L_08850028; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850028u) goto L_08850028; AOT_REGCACHE_SYNC_OUT(); return; L_08850028: { const bool branch_taken = ctx.gpr[18] == 0u; @@ -1226,26 +1227,26 @@ L_08850038: aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08850044u); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850044u) goto L_08850044; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B627F0, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[10], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850044u) goto L_08850044; AOT_REGCACHE_SYNC_OUT(); return; L_08850044: aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(200), std::bit_cast(aot_fpr_0)); goto L_08850048; L_08850048: - aot_gpr_4 = (aot_gpr_29 | 0u); + aot_gpr_4 = (ctx.gpr[29] | 0u); aot_gpr_5 = (0u | 164u); aot_gpr_31 = (0x08850058u); aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 867u, 0x08AF7A8Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850058u) goto L_08850058; AOT_REGCACHE_SYNC_OUT(); return; L_08850058: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); aot_gpr_31 = (0x08850064u); aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0096_entry, 96u, 89u, 0x089844FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850064u) goto L_08850064; AOT_REGCACHE_SYNC_OUT(); return; L_08850064: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); { const bool branch_taken = aot_gpr_4 == 0u; ctx.gpr[18] = (ctx.gpr[2] | 0u); if (branch_taken) { @@ -1256,7 +1257,7 @@ L_08850064: L_08850070: aot_gpr_31 = (0x08850078u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850078u) goto L_08850078; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850078u) goto L_08850078; AOT_REGCACHE_SYNC_OUT(); return; L_08850078: { const bool branch_taken = ctx.gpr[18] == 0u; @@ -1267,20 +1268,20 @@ L_08850078: goto L_08850080; } L_08850080: - aot_gpr_4 = (aot_gpr_29 + static_cast(64)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(64)); aot_gpr_5 = (0u | 171u); aot_gpr_31 = (0x08850090u); aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 867u, 0x08AF7A8Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850090u) goto L_08850090; AOT_REGCACHE_SYNC_OUT(); return; L_08850090: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(64))); aot_gpr_31 = (0x0885009Cu); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0096_entry, 96u, 237u, 0x08984D14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885009Cu) goto L_0885009C; AOT_REGCACHE_SYNC_OUT(); return; L_0885009C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(64))); { const bool branch_taken = aot_gpr_4 == 0u; ctx.gpr[18] = (ctx.gpr[2] | 0u); if (branch_taken) { @@ -1291,7 +1292,7 @@ L_0885009C: L_088500A8: aot_gpr_31 = (0x088500B0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088500B0u) goto L_088500B0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088500B0u) goto L_088500B0; AOT_REGCACHE_SYNC_OUT(); return; L_088500B0: { const bool branch_taken = ctx.gpr[18] == 0u; @@ -1310,20 +1311,20 @@ L_088500C0: aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(204), ctx.gpr[2]); goto L_088500C4; L_088500C4: - aot_gpr_4 = (aot_gpr_29 | 0u); + aot_gpr_4 = (ctx.gpr[29] | 0u); aot_gpr_5 = (0u | 165u); aot_gpr_31 = (0x088500D4u); aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 867u, 0x08AF7A8Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088500D4u) goto L_088500D4; AOT_REGCACHE_SYNC_OUT(); return; L_088500D4: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); aot_gpr_31 = (0x088500E0u); aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0096_entry, 96u, 89u, 0x089844FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088500E0u) goto L_088500E0; AOT_REGCACHE_SYNC_OUT(); return; L_088500E0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); { const bool branch_taken = aot_gpr_4 == 0u; ctx.gpr[17] = (ctx.gpr[2] | 0u); if (branch_taken) { @@ -1334,7 +1335,7 @@ L_088500E0: L_088500EC: aot_gpr_31 = (0x088500F4u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088500F4u) goto L_088500F4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088500F4u) goto L_088500F4; AOT_REGCACHE_SYNC_OUT(); return; L_088500F4: { const bool branch_taken = ctx.gpr[17] == 0u; @@ -1345,20 +1346,20 @@ L_088500F4: goto L_088500FC; } L_088500FC: - aot_gpr_4 = (aot_gpr_29 + static_cast(76)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(76)); aot_gpr_5 = (0u | 171u); aot_gpr_31 = (0x0885010Cu); aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 867u, 0x08AF7A8Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885010Cu) goto L_0885010C; AOT_REGCACHE_SYNC_OUT(); return; L_0885010C: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(76))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(76))); aot_gpr_31 = (0x08850118u); aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0096_entry, 96u, 237u, 0x08984D14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850118u) goto L_08850118; AOT_REGCACHE_SYNC_OUT(); return; L_08850118: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(76))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(76))); { const bool branch_taken = aot_gpr_4 == 0u; ctx.gpr[17] = (ctx.gpr[2] | 0u); if (branch_taken) { @@ -1369,7 +1370,7 @@ L_08850118: L_08850124: aot_gpr_31 = (0x0885012Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885012Cu) goto L_0885012C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885012Cu) goto L_0885012C; AOT_REGCACHE_SYNC_OUT(); return; L_0885012C: { const bool branch_taken = ctx.gpr[17] == 0u; @@ -1410,25 +1411,25 @@ L_08850164: goto L_08850168; L_08850168: { std::uint32_t aot_run_words[4]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(88), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(88), aot_run_words); ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(112)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(112)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08850180: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (2237u << 16u); aot_gpr_6 = (aot_gpr_6 & 65535u); aot_gpr_7 = (0u | 159u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); { const bool branch_taken = aot_gpr_6 == aot_gpr_7; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { @@ -1464,14 +1465,14 @@ L_088501B4: L_088501BC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 356u); aot_gpr_31 = (0x088501D4u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088501D4u) goto L_088501D4; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088501D4u) goto L_088501D4; AOT_REGCACHE_SYNC_OUT(); return; L_088501D4: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_088501D8; L_088501D8: { const bool branch_taken = 0u == 0u; @@ -1484,15 +1485,15 @@ L_088501D8: L_088501E0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 353u); aot_gpr_31 = (0x088501F8u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088501F8u) goto L_088501F8; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088501F8u) goto L_088501F8; AOT_REGCACHE_SYNC_OUT(); return; L_088501F8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088501D8; } @@ -1501,15 +1502,15 @@ L_088501F8: L_08850200: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 350u); aot_gpr_31 = (0x08850218u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850218u) goto L_08850218; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850218u) goto L_08850218; AOT_REGCACHE_SYNC_OUT(); return; L_08850218: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088501D8; } @@ -1518,15 +1519,15 @@ L_08850218: L_08850220: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 359u); aot_gpr_31 = (0x08850238u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850238u) goto L_08850238; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850238u) goto L_08850238; AOT_REGCACHE_SYNC_OUT(); return; L_08850238: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088501D8; } @@ -1537,23 +1538,23 @@ L_08850240: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x08850250u); aot_gpr_5 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850250u) goto L_08850250; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850250u) goto L_08850250; AOT_REGCACHE_SYNC_OUT(); return; L_08850250: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0885025C: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (2237u << 16u); aot_gpr_6 = (aot_gpr_6 & 65535u); aot_gpr_7 = (0u | 143u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); { const bool branch_taken = aot_gpr_6 == aot_gpr_7; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { @@ -1581,14 +1582,14 @@ L_08850288: L_08850290: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 367u); aot_gpr_31 = (0x088502A8u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088502A8u) goto L_088502A8; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088502A8u) goto L_088502A8; AOT_REGCACHE_SYNC_OUT(); return; L_088502A8: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_088502AC; L_088502AC: { const bool branch_taken = 0u == 0u; @@ -1601,15 +1602,15 @@ L_088502AC: L_088502B4: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 364u); aot_gpr_31 = (0x088502CCu); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088502CCu) goto L_088502CC; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088502CCu) goto L_088502CC; AOT_REGCACHE_SYNC_OUT(); return; L_088502CC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088502AC; } @@ -1618,15 +1619,15 @@ L_088502CC: L_088502D4: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 362u); aot_gpr_31 = (0x088502ECu); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088502ECu) goto L_088502EC; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088502ECu) goto L_088502EC; AOT_REGCACHE_SYNC_OUT(); return; L_088502EC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088502AC; } @@ -1637,25 +1638,25 @@ L_088502F4: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x08850304u); aot_gpr_5 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850304u) goto L_08850304; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850304u) goto L_08850304; AOT_REGCACHE_SYNC_OUT(); return; L_08850304: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08850310: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-118)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(41) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(41) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_08850490; @@ -1676,14 +1677,14 @@ L_08850334: L_0885034C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 388u); aot_gpr_31 = (0x08850364u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850364u) goto L_08850364; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850364u) goto L_08850364; AOT_REGCACHE_SYNC_OUT(); return; L_08850364: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_08850368; L_08850368: { const bool branch_taken = 0u == 0u; @@ -1696,15 +1697,15 @@ L_08850368: L_08850370: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 390u); aot_gpr_31 = (0x08850388u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850388u) goto L_08850388; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850388u) goto L_08850388; AOT_REGCACHE_SYNC_OUT(); return; L_08850388: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08850368; } @@ -1713,15 +1714,15 @@ L_08850388: L_08850390: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 382u); aot_gpr_31 = (0x088503A8u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088503A8u) goto L_088503A8; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088503A8u) goto L_088503A8; AOT_REGCACHE_SYNC_OUT(); return; L_088503A8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08850368; } @@ -1730,15 +1731,15 @@ L_088503A8: L_088503B0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 378u); aot_gpr_31 = (0x088503C8u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088503C8u) goto L_088503C8; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088503C8u) goto L_088503C8; AOT_REGCACHE_SYNC_OUT(); return; L_088503C8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08850368; } @@ -1747,15 +1748,15 @@ L_088503C8: L_088503D0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 376u); aot_gpr_31 = (0x088503E8u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088503E8u) goto L_088503E8; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088503E8u) goto L_088503E8; AOT_REGCACHE_SYNC_OUT(); return; L_088503E8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08850368; } @@ -1764,15 +1765,15 @@ L_088503E8: L_088503F0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 380u); aot_gpr_31 = (0x08850408u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850408u) goto L_08850408; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850408u) goto L_08850408; AOT_REGCACHE_SYNC_OUT(); return; L_08850408: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08850368; } @@ -1781,15 +1782,15 @@ L_08850408: L_08850410: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 393u); aot_gpr_31 = (0x08850428u); - ctx.gpr[8] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850428u) goto L_08850428; + aot_gpr_8 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850428u) goto L_08850428; AOT_REGCACHE_SYNC_OUT(); return; L_08850428: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08850368; } @@ -1798,15 +1799,15 @@ L_08850428: L_08850430: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 369u); aot_gpr_31 = (0x08850448u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850448u) goto L_08850448; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850448u) goto L_08850448; AOT_REGCACHE_SYNC_OUT(); return; L_08850448: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08850368; } @@ -1815,15 +1816,15 @@ L_08850448: L_08850450: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 372u); aot_gpr_31 = (0x08850468u); - ctx.gpr[8] = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850468u) goto L_08850468; + aot_gpr_8 = (0u | 4u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850468u) goto L_08850468; AOT_REGCACHE_SYNC_OUT(); return; L_08850468: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08850368; } @@ -1832,15 +1833,15 @@ L_08850468: L_08850470: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 385u); aot_gpr_31 = (0x08850488u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850488u) goto L_08850488; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850488u) goto L_08850488; AOT_REGCACHE_SYNC_OUT(); return; L_08850488: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08850368; } @@ -1852,25 +1853,25 @@ L_08850490: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x088504A4u); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088504A4u) goto L_088504A4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088504A4u) goto L_088504A4; AOT_REGCACHE_SYNC_OUT(); return; L_088504A4: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_088504B0: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-118)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(41) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(41) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_08850630; @@ -1891,14 +1892,14 @@ L_088504D4: L_088504EC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 413u); aot_gpr_31 = (0x08850504u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850504u) goto L_08850504; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850504u) goto L_08850504; AOT_REGCACHE_SYNC_OUT(); return; L_08850504: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_08850508; L_08850508: { const bool branch_taken = 0u == 0u; @@ -1911,15 +1912,15 @@ L_08850508: L_08850510: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 415u); aot_gpr_31 = (0x08850528u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850528u) goto L_08850528; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850528u) goto L_08850528; AOT_REGCACHE_SYNC_OUT(); return; L_08850528: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08850508; } @@ -1928,15 +1929,15 @@ L_08850528: L_08850530: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 407u); aot_gpr_31 = (0x08850548u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850548u) goto L_08850548; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850548u) goto L_08850548; AOT_REGCACHE_SYNC_OUT(); return; L_08850548: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08850508; } @@ -1945,15 +1946,15 @@ L_08850548: L_08850550: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 403u); aot_gpr_31 = (0x08850568u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850568u) goto L_08850568; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850568u) goto L_08850568; AOT_REGCACHE_SYNC_OUT(); return; L_08850568: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08850508; } @@ -1962,15 +1963,15 @@ L_08850568: L_08850570: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 401u); aot_gpr_31 = (0x08850588u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850588u) goto L_08850588; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850588u) goto L_08850588; AOT_REGCACHE_SYNC_OUT(); return; L_08850588: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08850508; } @@ -1979,15 +1980,15 @@ L_08850588: L_08850590: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 405u); aot_gpr_31 = (0x088505A8u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088505A8u) goto L_088505A8; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088505A8u) goto L_088505A8; AOT_REGCACHE_SYNC_OUT(); return; L_088505A8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08850508; } @@ -1996,15 +1997,15 @@ L_088505A8: L_088505B0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 420u); aot_gpr_31 = (0x088505C8u); - ctx.gpr[8] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088505C8u) goto L_088505C8; + aot_gpr_8 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088505C8u) goto L_088505C8; AOT_REGCACHE_SYNC_OUT(); return; L_088505C8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08850508; } @@ -2013,15 +2014,15 @@ L_088505C8: L_088505D0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 394u); aot_gpr_31 = (0x088505E8u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088505E8u) goto L_088505E8; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088505E8u) goto L_088505E8; AOT_REGCACHE_SYNC_OUT(); return; L_088505E8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08850508; } @@ -2030,15 +2031,15 @@ L_088505E8: L_088505F0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 397u); aot_gpr_31 = (0x08850608u); - ctx.gpr[8] = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850608u) goto L_08850608; + aot_gpr_8 = (0u | 4u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850608u) goto L_08850608; AOT_REGCACHE_SYNC_OUT(); return; L_08850608: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08850508; } @@ -2047,15 +2048,15 @@ L_08850608: L_08850610: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 410u); aot_gpr_31 = (0x08850628u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850628u) goto L_08850628; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850628u) goto L_08850628; AOT_REGCACHE_SYNC_OUT(); return; L_08850628: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08850508; } @@ -2067,23 +2068,23 @@ L_08850630: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x08850644u); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850644u) goto L_08850644; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850644u) goto L_08850644; AOT_REGCACHE_SYNC_OUT(); return; L_08850644: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08850650: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (2237u << 16u); aot_gpr_6 = (aot_gpr_6 & 65535u); aot_gpr_7 = (0u | 159u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); { const bool branch_taken = aot_gpr_6 == aot_gpr_7; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { @@ -2119,14 +2120,14 @@ L_08850684: L_0885068C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 458u); aot_gpr_31 = (0x088506A4u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088506A4u) goto L_088506A4; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088506A4u) goto L_088506A4; AOT_REGCACHE_SYNC_OUT(); return; L_088506A4: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_088506A8; L_088506A8: { const bool branch_taken = 0u == 0u; @@ -2139,15 +2140,15 @@ L_088506A8: L_088506B0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 455u); aot_gpr_31 = (0x088506C8u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088506C8u) goto L_088506C8; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088506C8u) goto L_088506C8; AOT_REGCACHE_SYNC_OUT(); return; L_088506C8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088506A8; } @@ -2156,15 +2157,15 @@ L_088506C8: L_088506D0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 453u); aot_gpr_31 = (0x088506E8u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088506E8u) goto L_088506E8; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088506E8u) goto L_088506E8; AOT_REGCACHE_SYNC_OUT(); return; L_088506E8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088506A8; } @@ -2173,15 +2174,15 @@ L_088506E8: L_088506F0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 460u); aot_gpr_31 = (0x08850708u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850708u) goto L_08850708; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850708u) goto L_08850708; AOT_REGCACHE_SYNC_OUT(); return; L_08850708: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088506A8; } @@ -2192,25 +2193,25 @@ L_08850710: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x08850720u); aot_gpr_5 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850720u) goto L_08850720; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850720u) goto L_08850720; AOT_REGCACHE_SYNC_OUT(); return; L_08850720: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0885072C: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-118)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(41) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(41) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_088508AC; @@ -2231,14 +2232,14 @@ L_08850750: L_08850768: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 481u); aot_gpr_31 = (0x08850780u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850780u) goto L_08850780; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850780u) goto L_08850780; AOT_REGCACHE_SYNC_OUT(); return; L_08850780: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_08850784; L_08850784: { const bool branch_taken = 0u == 0u; @@ -2251,15 +2252,15 @@ L_08850784: L_0885078C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 483u); aot_gpr_31 = (0x088507A4u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088507A4u) goto L_088507A4; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088507A4u) goto L_088507A4; AOT_REGCACHE_SYNC_OUT(); return; L_088507A4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08850784; } @@ -2268,15 +2269,15 @@ L_088507A4: L_088507AC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 475u); aot_gpr_31 = (0x088507C4u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088507C4u) goto L_088507C4; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088507C4u) goto L_088507C4; AOT_REGCACHE_SYNC_OUT(); return; L_088507C4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08850784; } @@ -2285,15 +2286,15 @@ L_088507C4: L_088507CC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 471u); aot_gpr_31 = (0x088507E4u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088507E4u) goto L_088507E4; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088507E4u) goto L_088507E4; AOT_REGCACHE_SYNC_OUT(); return; L_088507E4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08850784; } @@ -2302,15 +2303,15 @@ L_088507E4: L_088507EC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 469u); aot_gpr_31 = (0x08850804u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850804u) goto L_08850804; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850804u) goto L_08850804; AOT_REGCACHE_SYNC_OUT(); return; L_08850804: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08850784; } @@ -2319,15 +2320,15 @@ L_08850804: L_0885080C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 473u); aot_gpr_31 = (0x08850824u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850824u) goto L_08850824; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850824u) goto L_08850824; AOT_REGCACHE_SYNC_OUT(); return; L_08850824: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08850784; } @@ -2336,15 +2337,15 @@ L_08850824: L_0885082C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 486u); aot_gpr_31 = (0x08850844u); - ctx.gpr[8] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850844u) goto L_08850844; + aot_gpr_8 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850844u) goto L_08850844; AOT_REGCACHE_SYNC_OUT(); return; L_08850844: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08850784; } @@ -2353,15 +2354,15 @@ L_08850844: L_0885084C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 462u); aot_gpr_31 = (0x08850864u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850864u) goto L_08850864; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850864u) goto L_08850864; AOT_REGCACHE_SYNC_OUT(); return; L_08850864: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08850784; } @@ -2370,15 +2371,15 @@ L_08850864: L_0885086C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 465u); aot_gpr_31 = (0x08850884u); - ctx.gpr[8] = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850884u) goto L_08850884; + aot_gpr_8 = (0u | 4u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850884u) goto L_08850884; AOT_REGCACHE_SYNC_OUT(); return; L_08850884: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08850784; } @@ -2387,15 +2388,15 @@ L_08850884: L_0885088C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 478u); aot_gpr_31 = (0x088508A4u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088508A4u) goto L_088508A4; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088508A4u) goto L_088508A4; AOT_REGCACHE_SYNC_OUT(); return; L_088508A4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08850784; } @@ -2407,25 +2408,25 @@ L_088508AC: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x088508C0u); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088508C0u) goto L_088508C0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C971C, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088508C0u) goto L_088508C0; AOT_REGCACHE_SYNC_OUT(); return; L_088508C0: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_088508CC: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-118)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(41) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(41) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_08850A4C; @@ -2446,14 +2447,14 @@ L_088508F0: L_08850908: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 505u); aot_gpr_31 = (0x08850920u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850920u) goto L_08850920; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850920u) goto L_08850920; AOT_REGCACHE_SYNC_OUT(); return; L_08850920: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_08850924; L_08850924: { const bool branch_taken = 0u == 0u; @@ -2466,15 +2467,15 @@ L_08850924: L_0885092C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 507u); aot_gpr_31 = (0x08850944u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850944u) goto L_08850944; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850944u) goto L_08850944; AOT_REGCACHE_SYNC_OUT(); return; L_08850944: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08850924; } @@ -2483,15 +2484,15 @@ L_08850944: L_0885094C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 500u); aot_gpr_31 = (0x08850964u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850964u) goto L_08850964; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850964u) goto L_08850964; AOT_REGCACHE_SYNC_OUT(); return; L_08850964: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08850924; } @@ -2500,15 +2501,15 @@ L_08850964: L_0885096C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 496u); aot_gpr_31 = (0x08850984u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850984u) goto L_08850984; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850984u) goto L_08850984; AOT_REGCACHE_SYNC_OUT(); return; L_08850984: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08850924; } @@ -2517,15 +2518,15 @@ L_08850984: L_0885098C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 494u); aot_gpr_31 = (0x088509A4u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088509A4u) goto L_088509A4; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088509A4u) goto L_088509A4; AOT_REGCACHE_SYNC_OUT(); return; L_088509A4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08850924; } @@ -2534,15 +2535,15 @@ L_088509A4: L_088509AC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 498u); aot_gpr_31 = (0x088509C4u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088509C4u) goto L_088509C4; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088509C4u) goto L_088509C4; AOT_REGCACHE_SYNC_OUT(); return; L_088509C4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08850924; } @@ -2551,15 +2552,15 @@ L_088509C4: L_088509CC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 510u); aot_gpr_31 = (0x088509E4u); - ctx.gpr[8] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088509E4u) goto L_088509E4; + aot_gpr_8 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088509E4u) goto L_088509E4; AOT_REGCACHE_SYNC_OUT(); return; L_088509E4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08850924; } @@ -2568,15 +2569,15 @@ L_088509E4: L_088509EC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 487u); aot_gpr_31 = (0x08850A04u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850A04u) goto L_08850A04; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850A04u) goto L_08850A04; AOT_REGCACHE_SYNC_OUT(); return; L_08850A04: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08850924; } @@ -2585,15 +2586,15 @@ L_08850A04: L_08850A0C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 490u); aot_gpr_31 = (0x08850A24u); - ctx.gpr[8] = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850A24u) goto L_08850A24; + aot_gpr_8 = (0u | 4u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850A24u) goto L_08850A24; AOT_REGCACHE_SYNC_OUT(); return; L_08850A24: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08850924; } @@ -2602,15 +2603,15 @@ L_08850A24: L_08850A2C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 503u); aot_gpr_31 = (0x08850A44u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850A44u) goto L_08850A44; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850A44u) goto L_08850A44; AOT_REGCACHE_SYNC_OUT(); return; L_08850A44: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08850924; } @@ -2622,25 +2623,25 @@ L_08850A4C: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x08850A60u); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850A60u) goto L_08850A60; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C971C, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850A60u) goto L_08850A60; AOT_REGCACHE_SYNC_OUT(); return; L_08850A60: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08850A6C: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-118)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(41) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(41) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_08850BEC; @@ -2661,14 +2662,14 @@ L_08850A90: L_08850AA8: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 530u); aot_gpr_31 = (0x08850AC0u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850AC0u) goto L_08850AC0; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850AC0u) goto L_08850AC0; AOT_REGCACHE_SYNC_OUT(); return; L_08850AC0: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_08850AC4; L_08850AC4: { const bool branch_taken = 0u == 0u; @@ -2681,15 +2682,15 @@ L_08850AC4: L_08850ACC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 532u); aot_gpr_31 = (0x08850AE4u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850AE4u) goto L_08850AE4; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850AE4u) goto L_08850AE4; AOT_REGCACHE_SYNC_OUT(); return; L_08850AE4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08850AC4; } @@ -2698,15 +2699,15 @@ L_08850AE4: L_08850AEC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 524u); aot_gpr_31 = (0x08850B04u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850B04u) goto L_08850B04; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850B04u) goto L_08850B04; AOT_REGCACHE_SYNC_OUT(); return; L_08850B04: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08850AC4; } @@ -2715,15 +2716,15 @@ L_08850B04: L_08850B0C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 520u); aot_gpr_31 = (0x08850B24u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850B24u) goto L_08850B24; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850B24u) goto L_08850B24; AOT_REGCACHE_SYNC_OUT(); return; L_08850B24: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08850AC4; } @@ -2732,15 +2733,15 @@ L_08850B24: L_08850B2C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 518u); aot_gpr_31 = (0x08850B44u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850B44u) goto L_08850B44; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850B44u) goto L_08850B44; AOT_REGCACHE_SYNC_OUT(); return; L_08850B44: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08850AC4; } @@ -2749,15 +2750,15 @@ L_08850B44: L_08850B4C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 522u); aot_gpr_31 = (0x08850B64u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850B64u) goto L_08850B64; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850B64u) goto L_08850B64; AOT_REGCACHE_SYNC_OUT(); return; L_08850B64: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08850AC4; } @@ -2766,15 +2767,15 @@ L_08850B64: L_08850B6C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 535u); aot_gpr_31 = (0x08850B84u); - ctx.gpr[8] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850B84u) goto L_08850B84; + aot_gpr_8 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850B84u) goto L_08850B84; AOT_REGCACHE_SYNC_OUT(); return; L_08850B84: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08850AC4; } @@ -2783,15 +2784,15 @@ L_08850B84: L_08850B8C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 511u); aot_gpr_31 = (0x08850BA4u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850BA4u) goto L_08850BA4; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850BA4u) goto L_08850BA4; AOT_REGCACHE_SYNC_OUT(); return; L_08850BA4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08850AC4; } @@ -2800,15 +2801,15 @@ L_08850BA4: L_08850BAC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 514u); aot_gpr_31 = (0x08850BC4u); - ctx.gpr[8] = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850BC4u) goto L_08850BC4; + aot_gpr_8 = (0u | 4u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850BC4u) goto L_08850BC4; AOT_REGCACHE_SYNC_OUT(); return; L_08850BC4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08850AC4; } @@ -2817,15 +2818,15 @@ L_08850BC4: L_08850BCC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 527u); aot_gpr_31 = (0x08850BE4u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850BE4u) goto L_08850BE4; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850BE4u) goto L_08850BE4; AOT_REGCACHE_SYNC_OUT(); return; L_08850BE4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08850AC4; } @@ -2837,25 +2838,25 @@ L_08850BEC: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x08850C00u); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850C00u) goto L_08850C00; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C971C, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850C00u) goto L_08850C00; AOT_REGCACHE_SYNC_OUT(); return; L_08850C00: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08850C0C: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-118)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(41) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(41) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_08850D8C; @@ -2876,14 +2877,14 @@ L_08850C30: L_08850C48: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 554u); aot_gpr_31 = (0x08850C60u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850C60u) goto L_08850C60; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850C60u) goto L_08850C60; AOT_REGCACHE_SYNC_OUT(); return; L_08850C60: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_08850C64; L_08850C64: { const bool branch_taken = 0u == 0u; @@ -2896,15 +2897,15 @@ L_08850C64: L_08850C6C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 556u); aot_gpr_31 = (0x08850C84u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850C84u) goto L_08850C84; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850C84u) goto L_08850C84; AOT_REGCACHE_SYNC_OUT(); return; L_08850C84: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08850C64; } @@ -2913,15 +2914,15 @@ L_08850C84: L_08850C8C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 549u); aot_gpr_31 = (0x08850CA4u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850CA4u) goto L_08850CA4; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850CA4u) goto L_08850CA4; AOT_REGCACHE_SYNC_OUT(); return; L_08850CA4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08850C64; } @@ -2930,15 +2931,15 @@ L_08850CA4: L_08850CAC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 545u); aot_gpr_31 = (0x08850CC4u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850CC4u) goto L_08850CC4; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850CC4u) goto L_08850CC4; AOT_REGCACHE_SYNC_OUT(); return; L_08850CC4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08850C64; } @@ -2947,15 +2948,15 @@ L_08850CC4: L_08850CCC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 543u); aot_gpr_31 = (0x08850CE4u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850CE4u) goto L_08850CE4; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850CE4u) goto L_08850CE4; AOT_REGCACHE_SYNC_OUT(); return; L_08850CE4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08850C64; } @@ -2964,15 +2965,15 @@ L_08850CE4: L_08850CEC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 547u); aot_gpr_31 = (0x08850D04u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850D04u) goto L_08850D04; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850D04u) goto L_08850D04; AOT_REGCACHE_SYNC_OUT(); return; L_08850D04: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08850C64; } @@ -2981,15 +2982,15 @@ L_08850D04: L_08850D0C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 559u); aot_gpr_31 = (0x08850D24u); - ctx.gpr[8] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850D24u) goto L_08850D24; + aot_gpr_8 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850D24u) goto L_08850D24; AOT_REGCACHE_SYNC_OUT(); return; L_08850D24: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08850C64; } @@ -2998,15 +2999,15 @@ L_08850D24: L_08850D2C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 536u); aot_gpr_31 = (0x08850D44u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850D44u) goto L_08850D44; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850D44u) goto L_08850D44; AOT_REGCACHE_SYNC_OUT(); return; L_08850D44: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08850C64; } @@ -3015,15 +3016,15 @@ L_08850D44: L_08850D4C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 539u); aot_gpr_31 = (0x08850D64u); - ctx.gpr[8] = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850D64u) goto L_08850D64; + aot_gpr_8 = (0u | 4u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850D64u) goto L_08850D64; AOT_REGCACHE_SYNC_OUT(); return; L_08850D64: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08850C64; } @@ -3032,15 +3033,15 @@ L_08850D64: L_08850D6C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 552u); aot_gpr_31 = (0x08850D84u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850D84u) goto L_08850D84; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850D84u) goto L_08850D84; AOT_REGCACHE_SYNC_OUT(); return; L_08850D84: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08850C64; } @@ -3052,25 +3053,25 @@ L_08850D8C: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x08850DA0u); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850DA0u) goto L_08850DA0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C971C, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850DA0u) goto L_08850DA0; AOT_REGCACHE_SYNC_OUT(); return; L_08850DA0: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08850DAC: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-118)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(41) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(41) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_08850F2C; @@ -3091,14 +3092,14 @@ L_08850DD0: L_08850DE8: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 579u); aot_gpr_31 = (0x08850E00u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850E00u) goto L_08850E00; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850E00u) goto L_08850E00; AOT_REGCACHE_SYNC_OUT(); return; L_08850E00: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_08850E04; L_08850E04: { const bool branch_taken = 0u == 0u; @@ -3111,15 +3112,15 @@ L_08850E04: L_08850E0C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 581u); aot_gpr_31 = (0x08850E24u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850E24u) goto L_08850E24; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850E24u) goto L_08850E24; AOT_REGCACHE_SYNC_OUT(); return; L_08850E24: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08850E04; } @@ -3128,15 +3129,15 @@ L_08850E24: L_08850E2C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 573u); aot_gpr_31 = (0x08850E44u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850E44u) goto L_08850E44; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850E44u) goto L_08850E44; AOT_REGCACHE_SYNC_OUT(); return; L_08850E44: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08850E04; } @@ -3145,15 +3146,15 @@ L_08850E44: L_08850E4C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 569u); aot_gpr_31 = (0x08850E64u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850E64u) goto L_08850E64; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850E64u) goto L_08850E64; AOT_REGCACHE_SYNC_OUT(); return; L_08850E64: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08850E04; } @@ -3162,15 +3163,15 @@ L_08850E64: L_08850E6C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 567u); aot_gpr_31 = (0x08850E84u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850E84u) goto L_08850E84; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850E84u) goto L_08850E84; AOT_REGCACHE_SYNC_OUT(); return; L_08850E84: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08850E04; } @@ -3179,15 +3180,15 @@ L_08850E84: L_08850E8C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 571u); aot_gpr_31 = (0x08850EA4u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850EA4u) goto L_08850EA4; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850EA4u) goto L_08850EA4; AOT_REGCACHE_SYNC_OUT(); return; L_08850EA4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08850E04; } @@ -3196,15 +3197,15 @@ L_08850EA4: L_08850EAC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 584u); aot_gpr_31 = (0x08850EC4u); - ctx.gpr[8] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850EC4u) goto L_08850EC4; + aot_gpr_8 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850EC4u) goto L_08850EC4; AOT_REGCACHE_SYNC_OUT(); return; L_08850EC4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08850E04; } @@ -3213,15 +3214,15 @@ L_08850EC4: L_08850ECC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 560u); aot_gpr_31 = (0x08850EE4u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850EE4u) goto L_08850EE4; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850EE4u) goto L_08850EE4; AOT_REGCACHE_SYNC_OUT(); return; L_08850EE4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08850E04; } @@ -3230,15 +3231,15 @@ L_08850EE4: L_08850EEC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 563u); aot_gpr_31 = (0x08850F04u); - ctx.gpr[8] = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850F04u) goto L_08850F04; + aot_gpr_8 = (0u | 4u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850F04u) goto L_08850F04; AOT_REGCACHE_SYNC_OUT(); return; L_08850F04: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08850E04; } @@ -3247,15 +3248,15 @@ L_08850F04: L_08850F0C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 576u); aot_gpr_31 = (0x08850F24u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850F24u) goto L_08850F24; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850F24u) goto L_08850F24; AOT_REGCACHE_SYNC_OUT(); return; L_08850F24: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08850E04; } @@ -3267,25 +3268,25 @@ L_08850F2C: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x08850F40u); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850F40u) goto L_08850F40; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C971C, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850F40u) goto L_08850F40; AOT_REGCACHE_SYNC_OUT(); return; L_08850F40: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08850F4C: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-118)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(41) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(41) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_088510CC; @@ -3306,14 +3307,14 @@ L_08850F70: L_08850F88: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 603u); aot_gpr_31 = (0x08850FA0u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850FA0u) goto L_08850FA0; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850FA0u) goto L_08850FA0; AOT_REGCACHE_SYNC_OUT(); return; L_08850FA0: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_08850FA4; L_08850FA4: { const bool branch_taken = 0u == 0u; @@ -3326,15 +3327,15 @@ L_08850FA4: L_08850FAC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 605u); aot_gpr_31 = (0x08850FC4u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850FC4u) goto L_08850FC4; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850FC4u) goto L_08850FC4; AOT_REGCACHE_SYNC_OUT(); return; L_08850FC4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08850FA4; } @@ -3343,15 +3344,15 @@ L_08850FC4: L_08850FCC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 598u); aot_gpr_31 = (0x08850FE4u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850FE4u) goto L_08850FE4; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08850FE4u) goto L_08850FE4; AOT_REGCACHE_SYNC_OUT(); return; L_08850FE4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08850FA4; } @@ -3360,15 +3361,15 @@ L_08850FE4: L_08850FEC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 594u); aot_gpr_31 = (0x08851004u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851004u) goto L_08851004; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851004u) goto L_08851004; AOT_REGCACHE_SYNC_OUT(); return; L_08851004: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08850FA4; } @@ -3377,15 +3378,15 @@ L_08851004: L_0885100C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 592u); aot_gpr_31 = (0x08851024u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851024u) goto L_08851024; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851024u) goto L_08851024; AOT_REGCACHE_SYNC_OUT(); return; L_08851024: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08850FA4; } @@ -3394,15 +3395,15 @@ L_08851024: L_0885102C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 596u); aot_gpr_31 = (0x08851044u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851044u) goto L_08851044; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851044u) goto L_08851044; AOT_REGCACHE_SYNC_OUT(); return; L_08851044: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08850FA4; } @@ -3411,15 +3412,15 @@ L_08851044: L_0885104C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 608u); aot_gpr_31 = (0x08851064u); - ctx.gpr[8] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851064u) goto L_08851064; + aot_gpr_8 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851064u) goto L_08851064; AOT_REGCACHE_SYNC_OUT(); return; L_08851064: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08850FA4; } @@ -3428,15 +3429,15 @@ L_08851064: L_0885106C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 585u); aot_gpr_31 = (0x08851084u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851084u) goto L_08851084; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851084u) goto L_08851084; AOT_REGCACHE_SYNC_OUT(); return; L_08851084: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08850FA4; } @@ -3445,15 +3446,15 @@ L_08851084: L_0885108C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 588u); aot_gpr_31 = (0x088510A4u); - ctx.gpr[8] = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088510A4u) goto L_088510A4; + aot_gpr_8 = (0u | 4u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088510A4u) goto L_088510A4; AOT_REGCACHE_SYNC_OUT(); return; L_088510A4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08850FA4; } @@ -3462,15 +3463,15 @@ L_088510A4: L_088510AC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 601u); aot_gpr_31 = (0x088510C4u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088510C4u) goto L_088510C4; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088510C4u) goto L_088510C4; AOT_REGCACHE_SYNC_OUT(); return; L_088510C4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08850FA4; } @@ -3482,25 +3483,25 @@ L_088510CC: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x088510E0u); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088510E0u) goto L_088510E0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C971C, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088510E0u) goto L_088510E0; AOT_REGCACHE_SYNC_OUT(); return; L_088510E0: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_088510EC: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-118)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(41) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(41) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_0885126C; @@ -3521,14 +3522,14 @@ L_08851110: L_08851128: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 628u); aot_gpr_31 = (0x08851140u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851140u) goto L_08851140; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851140u) goto L_08851140; AOT_REGCACHE_SYNC_OUT(); return; L_08851140: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_08851144; L_08851144: { const bool branch_taken = 0u == 0u; @@ -3541,15 +3542,15 @@ L_08851144: L_0885114C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 630u); aot_gpr_31 = (0x08851164u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851164u) goto L_08851164; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851164u) goto L_08851164; AOT_REGCACHE_SYNC_OUT(); return; L_08851164: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08851144; } @@ -3558,15 +3559,15 @@ L_08851164: L_0885116C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 622u); aot_gpr_31 = (0x08851184u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851184u) goto L_08851184; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851184u) goto L_08851184; AOT_REGCACHE_SYNC_OUT(); return; L_08851184: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08851144; } @@ -3575,15 +3576,15 @@ L_08851184: L_0885118C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 618u); aot_gpr_31 = (0x088511A4u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088511A4u) goto L_088511A4; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088511A4u) goto L_088511A4; AOT_REGCACHE_SYNC_OUT(); return; L_088511A4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08851144; } @@ -3592,15 +3593,15 @@ L_088511A4: L_088511AC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 616u); aot_gpr_31 = (0x088511C4u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088511C4u) goto L_088511C4; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088511C4u) goto L_088511C4; AOT_REGCACHE_SYNC_OUT(); return; L_088511C4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08851144; } @@ -3609,15 +3610,15 @@ L_088511C4: L_088511CC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 620u); aot_gpr_31 = (0x088511E4u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088511E4u) goto L_088511E4; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088511E4u) goto L_088511E4; AOT_REGCACHE_SYNC_OUT(); return; L_088511E4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08851144; } @@ -3626,15 +3627,15 @@ L_088511E4: L_088511EC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 633u); aot_gpr_31 = (0x08851204u); - ctx.gpr[8] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851204u) goto L_08851204; + aot_gpr_8 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851204u) goto L_08851204; AOT_REGCACHE_SYNC_OUT(); return; L_08851204: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08851144; } @@ -3643,15 +3644,15 @@ L_08851204: L_0885120C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 609u); aot_gpr_31 = (0x08851224u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851224u) goto L_08851224; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851224u) goto L_08851224; AOT_REGCACHE_SYNC_OUT(); return; L_08851224: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08851144; } @@ -3660,15 +3661,15 @@ L_08851224: L_0885122C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 612u); aot_gpr_31 = (0x08851244u); - ctx.gpr[8] = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851244u) goto L_08851244; + aot_gpr_8 = (0u | 4u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851244u) goto L_08851244; AOT_REGCACHE_SYNC_OUT(); return; L_08851244: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08851144; } @@ -3677,15 +3678,15 @@ L_08851244: L_0885124C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 625u); aot_gpr_31 = (0x08851264u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851264u) goto L_08851264; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851264u) goto L_08851264; AOT_REGCACHE_SYNC_OUT(); return; L_08851264: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08851144; } @@ -3697,25 +3698,25 @@ L_0885126C: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x08851280u); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851280u) goto L_08851280; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C971C, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851280u) goto L_08851280; AOT_REGCACHE_SYNC_OUT(); return; L_08851280: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0885128C: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-118)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(41) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(41) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_0885140C; @@ -3736,14 +3737,14 @@ L_088512B0: L_088512C8: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 652u); aot_gpr_31 = (0x088512E0u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088512E0u) goto L_088512E0; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088512E0u) goto L_088512E0; AOT_REGCACHE_SYNC_OUT(); return; L_088512E0: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_088512E4; L_088512E4: { const bool branch_taken = 0u == 0u; @@ -3756,15 +3757,15 @@ L_088512E4: L_088512EC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 654u); aot_gpr_31 = (0x08851304u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851304u) goto L_08851304; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851304u) goto L_08851304; AOT_REGCACHE_SYNC_OUT(); return; L_08851304: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088512E4; } @@ -3773,15 +3774,15 @@ L_08851304: L_0885130C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 647u); aot_gpr_31 = (0x08851324u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851324u) goto L_08851324; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851324u) goto L_08851324; AOT_REGCACHE_SYNC_OUT(); return; L_08851324: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088512E4; } @@ -3790,15 +3791,15 @@ L_08851324: L_0885132C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 643u); aot_gpr_31 = (0x08851344u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851344u) goto L_08851344; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851344u) goto L_08851344; AOT_REGCACHE_SYNC_OUT(); return; L_08851344: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088512E4; } @@ -3807,15 +3808,15 @@ L_08851344: L_0885134C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 641u); aot_gpr_31 = (0x08851364u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851364u) goto L_08851364; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851364u) goto L_08851364; AOT_REGCACHE_SYNC_OUT(); return; L_08851364: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088512E4; } @@ -3824,15 +3825,15 @@ L_08851364: L_0885136C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 645u); aot_gpr_31 = (0x08851384u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851384u) goto L_08851384; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851384u) goto L_08851384; AOT_REGCACHE_SYNC_OUT(); return; L_08851384: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088512E4; } @@ -3841,15 +3842,15 @@ L_08851384: L_0885138C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 657u); aot_gpr_31 = (0x088513A4u); - ctx.gpr[8] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088513A4u) goto L_088513A4; + aot_gpr_8 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088513A4u) goto L_088513A4; AOT_REGCACHE_SYNC_OUT(); return; L_088513A4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088512E4; } @@ -3858,15 +3859,15 @@ L_088513A4: L_088513AC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 634u); aot_gpr_31 = (0x088513C4u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088513C4u) goto L_088513C4; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088513C4u) goto L_088513C4; AOT_REGCACHE_SYNC_OUT(); return; L_088513C4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088512E4; } @@ -3875,15 +3876,15 @@ L_088513C4: L_088513CC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 637u); aot_gpr_31 = (0x088513E4u); - ctx.gpr[8] = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088513E4u) goto L_088513E4; + aot_gpr_8 = (0u | 4u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088513E4u) goto L_088513E4; AOT_REGCACHE_SYNC_OUT(); return; L_088513E4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088512E4; } @@ -3892,15 +3893,15 @@ L_088513E4: L_088513EC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 650u); aot_gpr_31 = (0x08851404u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851404u) goto L_08851404; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851404u) goto L_08851404; AOT_REGCACHE_SYNC_OUT(); return; L_08851404: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088512E4; } @@ -3912,25 +3913,25 @@ L_0885140C: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x08851420u); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851420u) goto L_08851420; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C971C, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851420u) goto L_08851420; AOT_REGCACHE_SYNC_OUT(); return; L_08851420: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0885142C: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-118)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(41) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(41) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_088515AC; @@ -3951,14 +3952,14 @@ L_08851450: L_08851468: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 679u); aot_gpr_31 = (0x08851480u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851480u) goto L_08851480; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851480u) goto L_08851480; AOT_REGCACHE_SYNC_OUT(); return; L_08851480: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_08851484; L_08851484: { const bool branch_taken = 0u == 0u; @@ -3971,15 +3972,15 @@ L_08851484: L_0885148C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 681u); aot_gpr_31 = (0x088514A4u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088514A4u) goto L_088514A4; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088514A4u) goto L_088514A4; AOT_REGCACHE_SYNC_OUT(); return; L_088514A4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08851484; } @@ -3988,15 +3989,15 @@ L_088514A4: L_088514AC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 673u); aot_gpr_31 = (0x088514C4u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088514C4u) goto L_088514C4; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088514C4u) goto L_088514C4; AOT_REGCACHE_SYNC_OUT(); return; L_088514C4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08851484; } @@ -4005,15 +4006,15 @@ L_088514C4: L_088514CC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 669u); aot_gpr_31 = (0x088514E4u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088514E4u) goto L_088514E4; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088514E4u) goto L_088514E4; AOT_REGCACHE_SYNC_OUT(); return; L_088514E4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08851484; } @@ -4022,15 +4023,15 @@ L_088514E4: L_088514EC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 666u); aot_gpr_31 = (0x08851504u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851504u) goto L_08851504; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851504u) goto L_08851504; AOT_REGCACHE_SYNC_OUT(); return; L_08851504: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08851484; } @@ -4039,15 +4040,15 @@ L_08851504: L_0885150C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 671u); aot_gpr_31 = (0x08851524u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851524u) goto L_08851524; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851524u) goto L_08851524; AOT_REGCACHE_SYNC_OUT(); return; L_08851524: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08851484; } @@ -4056,15 +4057,15 @@ L_08851524: L_0885152C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 684u); aot_gpr_31 = (0x08851544u); - ctx.gpr[8] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851544u) goto L_08851544; + aot_gpr_8 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851544u) goto L_08851544; AOT_REGCACHE_SYNC_OUT(); return; L_08851544: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08851484; } @@ -4073,15 +4074,15 @@ L_08851544: L_0885154C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 658u); aot_gpr_31 = (0x08851564u); - ctx.gpr[8] = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851564u) goto L_08851564; + aot_gpr_8 = (0u | 4u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851564u) goto L_08851564; AOT_REGCACHE_SYNC_OUT(); return; L_08851564: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08851484; } @@ -4090,15 +4091,15 @@ L_08851564: L_0885156C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 662u); aot_gpr_31 = (0x08851584u); - ctx.gpr[8] = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851584u) goto L_08851584; + aot_gpr_8 = (0u | 4u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851584u) goto L_08851584; AOT_REGCACHE_SYNC_OUT(); return; L_08851584: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08851484; } @@ -4107,15 +4108,15 @@ L_08851584: L_0885158C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 676u); aot_gpr_31 = (0x088515A4u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088515A4u) goto L_088515A4; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088515A4u) goto L_088515A4; AOT_REGCACHE_SYNC_OUT(); return; L_088515A4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08851484; } @@ -4127,25 +4128,25 @@ L_088515AC: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x088515C0u); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088515C0u) goto L_088515C0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088515C0u) goto L_088515C0; AOT_REGCACHE_SYNC_OUT(); return; L_088515C0: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_088515CC: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-109)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(50) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(50) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_088516EC; @@ -4166,14 +4167,14 @@ L_088515F0: L_08851608: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 755u); aot_gpr_31 = (0x08851620u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851620u) goto L_08851620; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851620u) goto L_08851620; AOT_REGCACHE_SYNC_OUT(); return; L_08851620: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_08851624; L_08851624: { const bool branch_taken = 0u == 0u; @@ -4186,15 +4187,15 @@ L_08851624: L_0885162C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 773u); aot_gpr_31 = (0x08851644u); - ctx.gpr[8] = (0u | 6u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851644u) goto L_08851644; + aot_gpr_8 = (0u | 6u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851644u) goto L_08851644; AOT_REGCACHE_SYNC_OUT(); return; L_08851644: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08851624; } @@ -4203,15 +4204,15 @@ L_08851644: L_0885164C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 768u); aot_gpr_31 = (0x08851664u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851664u) goto L_08851664; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851664u) goto L_08851664; AOT_REGCACHE_SYNC_OUT(); return; L_08851664: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08851624; } @@ -4220,15 +4221,15 @@ L_08851664: L_0885166C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 766u); aot_gpr_31 = (0x08851684u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851684u) goto L_08851684; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851684u) goto L_08851684; AOT_REGCACHE_SYNC_OUT(); return; L_08851684: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08851624; } @@ -4237,15 +4238,15 @@ L_08851684: L_0885168C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 760u); aot_gpr_31 = (0x088516A4u); - ctx.gpr[8] = (0u | 6u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088516A4u) goto L_088516A4; + aot_gpr_8 = (0u | 6u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088516A4u) goto L_088516A4; AOT_REGCACHE_SYNC_OUT(); return; L_088516A4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08851624; } @@ -4254,15 +4255,15 @@ L_088516A4: L_088516AC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 757u); aot_gpr_31 = (0x088516C4u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088516C4u) goto L_088516C4; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088516C4u) goto L_088516C4; AOT_REGCACHE_SYNC_OUT(); return; L_088516C4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08851624; } @@ -4271,15 +4272,15 @@ L_088516C4: L_088516CC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 770u); aot_gpr_31 = (0x088516E4u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088516E4u) goto L_088516E4; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088516E4u) goto L_088516E4; AOT_REGCACHE_SYNC_OUT(); return; L_088516E4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08851624; } @@ -4291,25 +4292,25 @@ L_088516EC: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x08851700u); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851700u) goto L_08851700; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851700u) goto L_08851700; AOT_REGCACHE_SYNC_OUT(); return; L_08851700: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0885170C: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-118)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(41) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(41) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_0885188C; @@ -4330,14 +4331,14 @@ L_08851730: L_08851748: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 798u); aot_gpr_31 = (0x08851760u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851760u) goto L_08851760; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851760u) goto L_08851760; AOT_REGCACHE_SYNC_OUT(); return; L_08851760: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_08851764; L_08851764: { const bool branch_taken = 0u == 0u; @@ -4350,15 +4351,15 @@ L_08851764: L_0885176C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 800u); aot_gpr_31 = (0x08851784u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851784u) goto L_08851784; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851784u) goto L_08851784; AOT_REGCACHE_SYNC_OUT(); return; L_08851784: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08851764; } @@ -4367,15 +4368,15 @@ L_08851784: L_0885178C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 792u); aot_gpr_31 = (0x088517A4u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088517A4u) goto L_088517A4; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088517A4u) goto L_088517A4; AOT_REGCACHE_SYNC_OUT(); return; L_088517A4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08851764; } @@ -4384,15 +4385,15 @@ L_088517A4: L_088517AC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 788u); aot_gpr_31 = (0x088517C4u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088517C4u) goto L_088517C4; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088517C4u) goto L_088517C4; AOT_REGCACHE_SYNC_OUT(); return; L_088517C4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08851764; } @@ -4401,15 +4402,15 @@ L_088517C4: L_088517CC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 786u); aot_gpr_31 = (0x088517E4u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088517E4u) goto L_088517E4; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088517E4u) goto L_088517E4; AOT_REGCACHE_SYNC_OUT(); return; L_088517E4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08851764; } @@ -4418,15 +4419,15 @@ L_088517E4: L_088517EC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 790u); aot_gpr_31 = (0x08851804u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851804u) goto L_08851804; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851804u) goto L_08851804; AOT_REGCACHE_SYNC_OUT(); return; L_08851804: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08851764; } @@ -4435,15 +4436,15 @@ L_08851804: L_0885180C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 803u); aot_gpr_31 = (0x08851824u); - ctx.gpr[8] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851824u) goto L_08851824; + aot_gpr_8 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851824u) goto L_08851824; AOT_REGCACHE_SYNC_OUT(); return; L_08851824: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08851764; } @@ -4452,15 +4453,15 @@ L_08851824: L_0885182C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 779u); aot_gpr_31 = (0x08851844u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851844u) goto L_08851844; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851844u) goto L_08851844; AOT_REGCACHE_SYNC_OUT(); return; L_08851844: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08851764; } @@ -4469,15 +4470,15 @@ L_08851844: L_0885184C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 782u); aot_gpr_31 = (0x08851864u); - ctx.gpr[8] = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851864u) goto L_08851864; + aot_gpr_8 = (0u | 4u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851864u) goto L_08851864; AOT_REGCACHE_SYNC_OUT(); return; L_08851864: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08851764; } @@ -4486,15 +4487,15 @@ L_08851864: L_0885186C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 795u); aot_gpr_31 = (0x08851884u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851884u) goto L_08851884; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851884u) goto L_08851884; AOT_REGCACHE_SYNC_OUT(); return; L_08851884: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08851764; } @@ -4506,25 +4507,25 @@ L_0885188C: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x088518A0u); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088518A0u) goto L_088518A0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088518A0u) goto L_088518A0; AOT_REGCACHE_SYNC_OUT(); return; L_088518A0: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_088518AC: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-118)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(41) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(41) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_08851A2C; @@ -4545,14 +4546,14 @@ L_088518D0: L_088518E8: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 823u); aot_gpr_31 = (0x08851900u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851900u) goto L_08851900; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851900u) goto L_08851900; AOT_REGCACHE_SYNC_OUT(); return; L_08851900: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_08851904; L_08851904: { const bool branch_taken = 0u == 0u; @@ -4565,15 +4566,15 @@ L_08851904: L_0885190C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 825u); aot_gpr_31 = (0x08851924u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851924u) goto L_08851924; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851924u) goto L_08851924; AOT_REGCACHE_SYNC_OUT(); return; L_08851924: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08851904; } @@ -4582,15 +4583,15 @@ L_08851924: L_0885192C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 817u); aot_gpr_31 = (0x08851944u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851944u) goto L_08851944; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851944u) goto L_08851944; AOT_REGCACHE_SYNC_OUT(); return; L_08851944: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08851904; } @@ -4599,15 +4600,15 @@ L_08851944: L_0885194C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 813u); aot_gpr_31 = (0x08851964u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851964u) goto L_08851964; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851964u) goto L_08851964; AOT_REGCACHE_SYNC_OUT(); return; L_08851964: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08851904; } @@ -4616,15 +4617,15 @@ L_08851964: L_0885196C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 811u); aot_gpr_31 = (0x08851984u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851984u) goto L_08851984; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851984u) goto L_08851984; AOT_REGCACHE_SYNC_OUT(); return; L_08851984: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08851904; } @@ -4633,15 +4634,15 @@ L_08851984: L_0885198C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 815u); aot_gpr_31 = (0x088519A4u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088519A4u) goto L_088519A4; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088519A4u) goto L_088519A4; AOT_REGCACHE_SYNC_OUT(); return; L_088519A4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08851904; } @@ -4650,15 +4651,15 @@ L_088519A4: L_088519AC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 828u); aot_gpr_31 = (0x088519C4u); - ctx.gpr[8] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088519C4u) goto L_088519C4; + aot_gpr_8 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088519C4u) goto L_088519C4; AOT_REGCACHE_SYNC_OUT(); return; L_088519C4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08851904; } @@ -4667,15 +4668,15 @@ L_088519C4: L_088519CC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 804u); aot_gpr_31 = (0x088519E4u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088519E4u) goto L_088519E4; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088519E4u) goto L_088519E4; AOT_REGCACHE_SYNC_OUT(); return; L_088519E4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08851904; } @@ -4684,15 +4685,15 @@ L_088519E4: L_088519EC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 807u); aot_gpr_31 = (0x08851A04u); - ctx.gpr[8] = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851A04u) goto L_08851A04; + aot_gpr_8 = (0u | 4u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851A04u) goto L_08851A04; AOT_REGCACHE_SYNC_OUT(); return; L_08851A04: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08851904; } @@ -4701,15 +4702,15 @@ L_08851A04: L_08851A0C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 820u); aot_gpr_31 = (0x08851A24u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851A24u) goto L_08851A24; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851A24u) goto L_08851A24; AOT_REGCACHE_SYNC_OUT(); return; L_08851A24: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08851904; } @@ -4721,25 +4722,25 @@ L_08851A2C: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x08851A40u); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851A40u) goto L_08851A40; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851A40u) goto L_08851A40; AOT_REGCACHE_SYNC_OUT(); return; L_08851A40: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08851A4C: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-118)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(41) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(41) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_08851BCC; @@ -4760,14 +4761,14 @@ L_08851A70: L_08851A88: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 848u); aot_gpr_31 = (0x08851AA0u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851AA0u) goto L_08851AA0; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851AA0u) goto L_08851AA0; AOT_REGCACHE_SYNC_OUT(); return; L_08851AA0: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_08851AA4; L_08851AA4: { const bool branch_taken = 0u == 0u; @@ -4780,15 +4781,15 @@ L_08851AA4: L_08851AAC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 850u); aot_gpr_31 = (0x08851AC4u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851AC4u) goto L_08851AC4; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851AC4u) goto L_08851AC4; AOT_REGCACHE_SYNC_OUT(); return; L_08851AC4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08851AA4; } @@ -4797,15 +4798,15 @@ L_08851AC4: L_08851ACC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 842u); aot_gpr_31 = (0x08851AE4u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851AE4u) goto L_08851AE4; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851AE4u) goto L_08851AE4; AOT_REGCACHE_SYNC_OUT(); return; L_08851AE4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08851AA4; } @@ -4814,15 +4815,15 @@ L_08851AE4: L_08851AEC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 838u); aot_gpr_31 = (0x08851B04u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851B04u) goto L_08851B04; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851B04u) goto L_08851B04; AOT_REGCACHE_SYNC_OUT(); return; L_08851B04: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08851AA4; } @@ -4831,15 +4832,15 @@ L_08851B04: L_08851B0C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 836u); aot_gpr_31 = (0x08851B24u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851B24u) goto L_08851B24; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851B24u) goto L_08851B24; AOT_REGCACHE_SYNC_OUT(); return; L_08851B24: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08851AA4; } @@ -4848,15 +4849,15 @@ L_08851B24: L_08851B2C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 840u); aot_gpr_31 = (0x08851B44u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851B44u) goto L_08851B44; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851B44u) goto L_08851B44; AOT_REGCACHE_SYNC_OUT(); return; L_08851B44: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08851AA4; } @@ -4865,15 +4866,15 @@ L_08851B44: L_08851B4C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 853u); aot_gpr_31 = (0x08851B64u); - ctx.gpr[8] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851B64u) goto L_08851B64; + aot_gpr_8 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851B64u) goto L_08851B64; AOT_REGCACHE_SYNC_OUT(); return; L_08851B64: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08851AA4; } @@ -4882,15 +4883,15 @@ L_08851B64: L_08851B6C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 829u); aot_gpr_31 = (0x08851B84u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851B84u) goto L_08851B84; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851B84u) goto L_08851B84; AOT_REGCACHE_SYNC_OUT(); return; L_08851B84: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08851AA4; } @@ -4899,15 +4900,15 @@ L_08851B84: L_08851B8C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 832u); aot_gpr_31 = (0x08851BA4u); - ctx.gpr[8] = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851BA4u) goto L_08851BA4; + aot_gpr_8 = (0u | 4u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851BA4u) goto L_08851BA4; AOT_REGCACHE_SYNC_OUT(); return; L_08851BA4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08851AA4; } @@ -4916,15 +4917,15 @@ L_08851BA4: L_08851BAC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 845u); aot_gpr_31 = (0x08851BC4u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851BC4u) goto L_08851BC4; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851BC4u) goto L_08851BC4; AOT_REGCACHE_SYNC_OUT(); return; L_08851BC4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08851AA4; } @@ -4936,25 +4937,25 @@ L_08851BCC: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x08851BE0u); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851BE0u) goto L_08851BE0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851BE0u) goto L_08851BE0; AOT_REGCACHE_SYNC_OUT(); return; L_08851BE0: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08851BEC: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-118)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(41) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(41) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_08851D6C; @@ -4975,14 +4976,14 @@ L_08851C10: L_08851C28: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 873u); aot_gpr_31 = (0x08851C40u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851C40u) goto L_08851C40; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851C40u) goto L_08851C40; AOT_REGCACHE_SYNC_OUT(); return; L_08851C40: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_08851C44; L_08851C44: { const bool branch_taken = 0u == 0u; @@ -4995,15 +4996,15 @@ L_08851C44: L_08851C4C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 875u); aot_gpr_31 = (0x08851C64u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851C64u) goto L_08851C64; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851C64u) goto L_08851C64; AOT_REGCACHE_SYNC_OUT(); return; L_08851C64: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08851C44; } @@ -5012,15 +5013,15 @@ L_08851C64: L_08851C6C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 867u); aot_gpr_31 = (0x08851C84u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851C84u) goto L_08851C84; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851C84u) goto L_08851C84; AOT_REGCACHE_SYNC_OUT(); return; L_08851C84: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08851C44; } @@ -5029,15 +5030,15 @@ L_08851C84: L_08851C8C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 863u); aot_gpr_31 = (0x08851CA4u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851CA4u) goto L_08851CA4; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851CA4u) goto L_08851CA4; AOT_REGCACHE_SYNC_OUT(); return; L_08851CA4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08851C44; } @@ -5046,15 +5047,15 @@ L_08851CA4: L_08851CAC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 861u); aot_gpr_31 = (0x08851CC4u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851CC4u) goto L_08851CC4; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851CC4u) goto L_08851CC4; AOT_REGCACHE_SYNC_OUT(); return; L_08851CC4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08851C44; } @@ -5063,15 +5064,15 @@ L_08851CC4: L_08851CCC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 865u); aot_gpr_31 = (0x08851CE4u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851CE4u) goto L_08851CE4; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851CE4u) goto L_08851CE4; AOT_REGCACHE_SYNC_OUT(); return; L_08851CE4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08851C44; } @@ -5080,15 +5081,15 @@ L_08851CE4: L_08851CEC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 878u); aot_gpr_31 = (0x08851D04u); - ctx.gpr[8] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851D04u) goto L_08851D04; + aot_gpr_8 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851D04u) goto L_08851D04; AOT_REGCACHE_SYNC_OUT(); return; L_08851D04: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08851C44; } @@ -5097,15 +5098,15 @@ L_08851D04: L_08851D0C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 854u); aot_gpr_31 = (0x08851D24u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851D24u) goto L_08851D24; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851D24u) goto L_08851D24; AOT_REGCACHE_SYNC_OUT(); return; L_08851D24: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08851C44; } @@ -5114,15 +5115,15 @@ L_08851D24: L_08851D2C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 857u); aot_gpr_31 = (0x08851D44u); - ctx.gpr[8] = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851D44u) goto L_08851D44; + aot_gpr_8 = (0u | 4u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851D44u) goto L_08851D44; AOT_REGCACHE_SYNC_OUT(); return; L_08851D44: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08851C44; } @@ -5131,15 +5132,15 @@ L_08851D44: L_08851D4C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 870u); aot_gpr_31 = (0x08851D64u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851D64u) goto L_08851D64; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851D64u) goto L_08851D64; AOT_REGCACHE_SYNC_OUT(); return; L_08851D64: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08851C44; } @@ -5151,25 +5152,25 @@ L_08851D6C: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x08851D80u); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851D80u) goto L_08851D80; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851D80u) goto L_08851D80; AOT_REGCACHE_SYNC_OUT(); return; L_08851D80: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08851D8C: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-118)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(41) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(41) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_08851F0C; @@ -5190,14 +5191,14 @@ L_08851DB0: L_08851DC8: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 897u); aot_gpr_31 = (0x08851DE0u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851DE0u) goto L_08851DE0; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851DE0u) goto L_08851DE0; AOT_REGCACHE_SYNC_OUT(); return; L_08851DE0: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_08851DE4; L_08851DE4: { const bool branch_taken = 0u == 0u; @@ -5210,15 +5211,15 @@ L_08851DE4: L_08851DEC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 899u); aot_gpr_31 = (0x08851E04u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851E04u) goto L_08851E04; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851E04u) goto L_08851E04; AOT_REGCACHE_SYNC_OUT(); return; L_08851E04: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08851DE4; } @@ -5227,15 +5228,15 @@ L_08851E04: L_08851E0C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 891u); aot_gpr_31 = (0x08851E24u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851E24u) goto L_08851E24; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851E24u) goto L_08851E24; AOT_REGCACHE_SYNC_OUT(); return; L_08851E24: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08851DE4; } @@ -5244,15 +5245,15 @@ L_08851E24: L_08851E2C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 887u); aot_gpr_31 = (0x08851E44u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851E44u) goto L_08851E44; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851E44u) goto L_08851E44; AOT_REGCACHE_SYNC_OUT(); return; L_08851E44: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08851DE4; } @@ -5261,15 +5262,15 @@ L_08851E44: L_08851E4C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 885u); aot_gpr_31 = (0x08851E64u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851E64u) goto L_08851E64; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851E64u) goto L_08851E64; AOT_REGCACHE_SYNC_OUT(); return; L_08851E64: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08851DE4; } @@ -5278,15 +5279,15 @@ L_08851E64: L_08851E6C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 889u); aot_gpr_31 = (0x08851E84u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851E84u) goto L_08851E84; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851E84u) goto L_08851E84; AOT_REGCACHE_SYNC_OUT(); return; L_08851E84: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08851DE4; } @@ -5295,15 +5296,15 @@ L_08851E84: L_08851E8C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 902u); aot_gpr_31 = (0x08851EA4u); - ctx.gpr[8] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851EA4u) goto L_08851EA4; + aot_gpr_8 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851EA4u) goto L_08851EA4; AOT_REGCACHE_SYNC_OUT(); return; L_08851EA4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08851DE4; } @@ -5312,15 +5313,15 @@ L_08851EA4: L_08851EAC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 879u); aot_gpr_31 = (0x08851EC4u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851EC4u) goto L_08851EC4; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851EC4u) goto L_08851EC4; AOT_REGCACHE_SYNC_OUT(); return; L_08851EC4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08851DE4; } @@ -5329,15 +5330,15 @@ L_08851EC4: L_08851ECC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 881u); aot_gpr_31 = (0x08851EE4u); - ctx.gpr[8] = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851EE4u) goto L_08851EE4; + aot_gpr_8 = (0u | 4u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851EE4u) goto L_08851EE4; AOT_REGCACHE_SYNC_OUT(); return; L_08851EE4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08851DE4; } @@ -5346,15 +5347,15 @@ L_08851EE4: L_08851EEC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 894u); aot_gpr_31 = (0x08851F04u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851F04u) goto L_08851F04; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851F04u) goto L_08851F04; AOT_REGCACHE_SYNC_OUT(); return; L_08851F04: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08851DE4; } @@ -5366,25 +5367,25 @@ L_08851F0C: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x08851F20u); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851F20u) goto L_08851F20; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851F20u) goto L_08851F20; AOT_REGCACHE_SYNC_OUT(); return; L_08851F20: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08851F2C: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-118)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(41) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(41) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_088520AC; @@ -5405,14 +5406,14 @@ L_08851F50: L_08851F68: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 922u); aot_gpr_31 = (0x08851F80u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851F80u) goto L_08851F80; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851F80u) goto L_08851F80; AOT_REGCACHE_SYNC_OUT(); return; L_08851F80: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_08851F84; L_08851F84: { const bool branch_taken = 0u == 0u; @@ -5425,15 +5426,15 @@ L_08851F84: L_08851F8C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 924u); aot_gpr_31 = (0x08851FA4u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851FA4u) goto L_08851FA4; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851FA4u) goto L_08851FA4; AOT_REGCACHE_SYNC_OUT(); return; L_08851FA4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08851F84; } @@ -5442,15 +5443,15 @@ L_08851FA4: L_08851FAC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 916u); aot_gpr_31 = (0x08851FC4u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851FC4u) goto L_08851FC4; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851FC4u) goto L_08851FC4; AOT_REGCACHE_SYNC_OUT(); return; L_08851FC4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08851F84; } @@ -5459,15 +5460,15 @@ L_08851FC4: L_08851FCC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 912u); aot_gpr_31 = (0x08851FE4u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851FE4u) goto L_08851FE4; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08851FE4u) goto L_08851FE4; AOT_REGCACHE_SYNC_OUT(); return; L_08851FE4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08851F84; } @@ -5476,15 +5477,15 @@ L_08851FE4: L_08851FEC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 910u); aot_gpr_31 = (0x08852004u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852004u) goto L_08852004; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852004u) goto L_08852004; AOT_REGCACHE_SYNC_OUT(); return; L_08852004: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08851F84; } @@ -5493,15 +5494,15 @@ L_08852004: L_0885200C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 914u); aot_gpr_31 = (0x08852024u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852024u) goto L_08852024; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852024u) goto L_08852024; AOT_REGCACHE_SYNC_OUT(); return; L_08852024: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08851F84; } @@ -5510,15 +5511,15 @@ L_08852024: L_0885202C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 927u); aot_gpr_31 = (0x08852044u); - ctx.gpr[8] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852044u) goto L_08852044; + aot_gpr_8 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852044u) goto L_08852044; AOT_REGCACHE_SYNC_OUT(); return; L_08852044: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08851F84; } @@ -5527,15 +5528,15 @@ L_08852044: L_0885204C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 903u); aot_gpr_31 = (0x08852064u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852064u) goto L_08852064; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852064u) goto L_08852064; AOT_REGCACHE_SYNC_OUT(); return; L_08852064: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08851F84; } @@ -5544,15 +5545,15 @@ L_08852064: L_0885206C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 906u); aot_gpr_31 = (0x08852084u); - ctx.gpr[8] = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852084u) goto L_08852084; + aot_gpr_8 = (0u | 4u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852084u) goto L_08852084; AOT_REGCACHE_SYNC_OUT(); return; L_08852084: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08851F84; } @@ -5561,15 +5562,15 @@ L_08852084: L_0885208C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 919u); aot_gpr_31 = (0x088520A4u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088520A4u) goto L_088520A4; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088520A4u) goto L_088520A4; AOT_REGCACHE_SYNC_OUT(); return; L_088520A4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08851F84; } @@ -5581,25 +5582,25 @@ L_088520AC: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x088520C0u); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088520C0u) goto L_088520C0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088520C0u) goto L_088520C0; AOT_REGCACHE_SYNC_OUT(); return; L_088520C0: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_088520CC: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-118)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(41) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(41) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_0885224C; @@ -5620,14 +5621,14 @@ L_088520F0: L_08852108: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 947u); aot_gpr_31 = (0x08852120u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852120u) goto L_08852120; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852120u) goto L_08852120; AOT_REGCACHE_SYNC_OUT(); return; L_08852120: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_08852124; L_08852124: { const bool branch_taken = 0u == 0u; @@ -5640,15 +5641,15 @@ L_08852124: L_0885212C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 949u); aot_gpr_31 = (0x08852144u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852144u) goto L_08852144; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852144u) goto L_08852144; AOT_REGCACHE_SYNC_OUT(); return; L_08852144: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08852124; } @@ -5657,15 +5658,15 @@ L_08852144: L_0885214C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 941u); aot_gpr_31 = (0x08852164u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852164u) goto L_08852164; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852164u) goto L_08852164; AOT_REGCACHE_SYNC_OUT(); return; L_08852164: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08852124; } @@ -5674,15 +5675,15 @@ L_08852164: L_0885216C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 937u); aot_gpr_31 = (0x08852184u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852184u) goto L_08852184; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852184u) goto L_08852184; AOT_REGCACHE_SYNC_OUT(); return; L_08852184: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08852124; } @@ -5691,15 +5692,15 @@ L_08852184: L_0885218C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 935u); aot_gpr_31 = (0x088521A4u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088521A4u) goto L_088521A4; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088521A4u) goto L_088521A4; AOT_REGCACHE_SYNC_OUT(); return; L_088521A4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08852124; } @@ -5708,15 +5709,15 @@ L_088521A4: L_088521AC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 939u); aot_gpr_31 = (0x088521C4u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088521C4u) goto L_088521C4; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088521C4u) goto L_088521C4; AOT_REGCACHE_SYNC_OUT(); return; L_088521C4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08852124; } @@ -5725,15 +5726,15 @@ L_088521C4: L_088521CC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 952u); aot_gpr_31 = (0x088521E4u); - ctx.gpr[8] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088521E4u) goto L_088521E4; + aot_gpr_8 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088521E4u) goto L_088521E4; AOT_REGCACHE_SYNC_OUT(); return; L_088521E4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08852124; } @@ -5742,15 +5743,15 @@ L_088521E4: L_088521EC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 928u); aot_gpr_31 = (0x08852204u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852204u) goto L_08852204; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852204u) goto L_08852204; AOT_REGCACHE_SYNC_OUT(); return; L_08852204: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08852124; } @@ -5759,15 +5760,15 @@ L_08852204: L_0885220C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 931u); aot_gpr_31 = (0x08852224u); - ctx.gpr[8] = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852224u) goto L_08852224; + aot_gpr_8 = (0u | 4u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852224u) goto L_08852224; AOT_REGCACHE_SYNC_OUT(); return; L_08852224: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08852124; } @@ -5776,15 +5777,15 @@ L_08852224: L_0885222C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 944u); aot_gpr_31 = (0x08852244u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852244u) goto L_08852244; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852244u) goto L_08852244; AOT_REGCACHE_SYNC_OUT(); return; L_08852244: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08852124; } @@ -5796,25 +5797,25 @@ L_0885224C: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x08852260u); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852260u) goto L_08852260; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852260u) goto L_08852260; AOT_REGCACHE_SYNC_OUT(); return; L_08852260: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0885226C: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-118)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(41) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(41) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_088523EC; @@ -5835,14 +5836,14 @@ L_08852290: L_088522A8: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 972u); aot_gpr_31 = (0x088522C0u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088522C0u) goto L_088522C0; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088522C0u) goto L_088522C0; AOT_REGCACHE_SYNC_OUT(); return; L_088522C0: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_088522C4; L_088522C4: { const bool branch_taken = 0u == 0u; @@ -5855,15 +5856,15 @@ L_088522C4: L_088522CC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 974u); aot_gpr_31 = (0x088522E4u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088522E4u) goto L_088522E4; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088522E4u) goto L_088522E4; AOT_REGCACHE_SYNC_OUT(); return; L_088522E4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088522C4; } @@ -5872,15 +5873,15 @@ L_088522E4: L_088522EC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 966u); aot_gpr_31 = (0x08852304u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852304u) goto L_08852304; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852304u) goto L_08852304; AOT_REGCACHE_SYNC_OUT(); return; L_08852304: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088522C4; } @@ -5889,15 +5890,15 @@ L_08852304: L_0885230C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 962u); aot_gpr_31 = (0x08852324u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852324u) goto L_08852324; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852324u) goto L_08852324; AOT_REGCACHE_SYNC_OUT(); return; L_08852324: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088522C4; } @@ -5906,15 +5907,15 @@ L_08852324: L_0885232C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 960u); aot_gpr_31 = (0x08852344u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852344u) goto L_08852344; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852344u) goto L_08852344; AOT_REGCACHE_SYNC_OUT(); return; L_08852344: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088522C4; } @@ -5923,15 +5924,15 @@ L_08852344: L_0885234C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 964u); aot_gpr_31 = (0x08852364u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852364u) goto L_08852364; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852364u) goto L_08852364; AOT_REGCACHE_SYNC_OUT(); return; L_08852364: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088522C4; } @@ -5940,15 +5941,15 @@ L_08852364: L_0885236C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 977u); aot_gpr_31 = (0x08852384u); - ctx.gpr[8] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852384u) goto L_08852384; + aot_gpr_8 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852384u) goto L_08852384; AOT_REGCACHE_SYNC_OUT(); return; L_08852384: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088522C4; } @@ -5957,15 +5958,15 @@ L_08852384: L_0885238C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 953u); aot_gpr_31 = (0x088523A4u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088523A4u) goto L_088523A4; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088523A4u) goto L_088523A4; AOT_REGCACHE_SYNC_OUT(); return; L_088523A4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088522C4; } @@ -5974,15 +5975,15 @@ L_088523A4: L_088523AC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 956u); aot_gpr_31 = (0x088523C4u); - ctx.gpr[8] = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088523C4u) goto L_088523C4; + aot_gpr_8 = (0u | 4u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088523C4u) goto L_088523C4; AOT_REGCACHE_SYNC_OUT(); return; L_088523C4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088522C4; } @@ -5991,15 +5992,15 @@ L_088523C4: L_088523CC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 969u); aot_gpr_31 = (0x088523E4u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088523E4u) goto L_088523E4; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088523E4u) goto L_088523E4; AOT_REGCACHE_SYNC_OUT(); return; L_088523E4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088522C4; } @@ -6011,25 +6012,25 @@ L_088523EC: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x08852400u); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852400u) goto L_08852400; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852400u) goto L_08852400; AOT_REGCACHE_SYNC_OUT(); return; L_08852400: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0885240C: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-118)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(41) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(41) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_0885258C; @@ -6050,14 +6051,14 @@ L_08852430: L_08852448: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 997u); aot_gpr_31 = (0x08852460u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852460u) goto L_08852460; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852460u) goto L_08852460; AOT_REGCACHE_SYNC_OUT(); return; L_08852460: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_08852464; L_08852464: { const bool branch_taken = 0u == 0u; @@ -6070,15 +6071,15 @@ L_08852464: L_0885246C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 999u); aot_gpr_31 = (0x08852484u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852484u) goto L_08852484; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852484u) goto L_08852484; AOT_REGCACHE_SYNC_OUT(); return; L_08852484: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08852464; } @@ -6087,15 +6088,15 @@ L_08852484: L_0885248C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 991u); aot_gpr_31 = (0x088524A4u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088524A4u) goto L_088524A4; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088524A4u) goto L_088524A4; AOT_REGCACHE_SYNC_OUT(); return; L_088524A4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08852464; } @@ -6104,15 +6105,15 @@ L_088524A4: L_088524AC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 987u); aot_gpr_31 = (0x088524C4u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088524C4u) goto L_088524C4; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088524C4u) goto L_088524C4; AOT_REGCACHE_SYNC_OUT(); return; L_088524C4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08852464; } @@ -6121,15 +6122,15 @@ L_088524C4: L_088524CC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 985u); aot_gpr_31 = (0x088524E4u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088524E4u) goto L_088524E4; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088524E4u) goto L_088524E4; AOT_REGCACHE_SYNC_OUT(); return; L_088524E4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08852464; } @@ -6138,15 +6139,15 @@ L_088524E4: L_088524EC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 989u); aot_gpr_31 = (0x08852504u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852504u) goto L_08852504; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852504u) goto L_08852504; AOT_REGCACHE_SYNC_OUT(); return; L_08852504: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08852464; } @@ -6155,15 +6156,15 @@ L_08852504: L_0885250C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1002u); aot_gpr_31 = (0x08852524u); - ctx.gpr[8] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852524u) goto L_08852524; + aot_gpr_8 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852524u) goto L_08852524; AOT_REGCACHE_SYNC_OUT(); return; L_08852524: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08852464; } @@ -6172,15 +6173,15 @@ L_08852524: L_0885252C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 978u); aot_gpr_31 = (0x08852544u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852544u) goto L_08852544; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852544u) goto L_08852544; AOT_REGCACHE_SYNC_OUT(); return; L_08852544: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08852464; } @@ -6189,15 +6190,15 @@ L_08852544: L_0885254C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 981u); aot_gpr_31 = (0x08852564u); - ctx.gpr[8] = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852564u) goto L_08852564; + aot_gpr_8 = (0u | 4u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852564u) goto L_08852564; AOT_REGCACHE_SYNC_OUT(); return; L_08852564: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08852464; } @@ -6206,15 +6207,15 @@ L_08852564: L_0885256C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 994u); aot_gpr_31 = (0x08852584u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852584u) goto L_08852584; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852584u) goto L_08852584; AOT_REGCACHE_SYNC_OUT(); return; L_08852584: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08852464; } @@ -6226,25 +6227,25 @@ L_0885258C: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x088525A0u); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088525A0u) goto L_088525A0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088525A0u) goto L_088525A0; AOT_REGCACHE_SYNC_OUT(); return; L_088525A0: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_088525AC: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-118)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(41) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(41) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_0885272C; @@ -6265,14 +6266,14 @@ L_088525D0: L_088525E8: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1022u); aot_gpr_31 = (0x08852600u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852600u) goto L_08852600; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852600u) goto L_08852600; AOT_REGCACHE_SYNC_OUT(); return; L_08852600: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_08852604; L_08852604: { const bool branch_taken = 0u == 0u; @@ -6285,15 +6286,15 @@ L_08852604: L_0885260C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1024u); aot_gpr_31 = (0x08852624u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852624u) goto L_08852624; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852624u) goto L_08852624; AOT_REGCACHE_SYNC_OUT(); return; L_08852624: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08852604; } @@ -6302,15 +6303,15 @@ L_08852624: L_0885262C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1016u); aot_gpr_31 = (0x08852644u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852644u) goto L_08852644; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852644u) goto L_08852644; AOT_REGCACHE_SYNC_OUT(); return; L_08852644: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08852604; } @@ -6319,15 +6320,15 @@ L_08852644: L_0885264C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1012u); aot_gpr_31 = (0x08852664u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852664u) goto L_08852664; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852664u) goto L_08852664; AOT_REGCACHE_SYNC_OUT(); return; L_08852664: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08852604; } @@ -6336,15 +6337,15 @@ L_08852664: L_0885266C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1010u); aot_gpr_31 = (0x08852684u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852684u) goto L_08852684; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852684u) goto L_08852684; AOT_REGCACHE_SYNC_OUT(); return; L_08852684: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08852604; } @@ -6353,15 +6354,15 @@ L_08852684: L_0885268C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1014u); aot_gpr_31 = (0x088526A4u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088526A4u) goto L_088526A4; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088526A4u) goto L_088526A4; AOT_REGCACHE_SYNC_OUT(); return; L_088526A4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08852604; } @@ -6370,15 +6371,15 @@ L_088526A4: L_088526AC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1027u); aot_gpr_31 = (0x088526C4u); - ctx.gpr[8] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088526C4u) goto L_088526C4; + aot_gpr_8 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088526C4u) goto L_088526C4; AOT_REGCACHE_SYNC_OUT(); return; L_088526C4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08852604; } @@ -6387,15 +6388,15 @@ L_088526C4: L_088526CC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1003u); aot_gpr_31 = (0x088526E4u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088526E4u) goto L_088526E4; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088526E4u) goto L_088526E4; AOT_REGCACHE_SYNC_OUT(); return; L_088526E4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08852604; } @@ -6404,15 +6405,15 @@ L_088526E4: L_088526EC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1006u); aot_gpr_31 = (0x08852704u); - ctx.gpr[8] = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852704u) goto L_08852704; + aot_gpr_8 = (0u | 4u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852704u) goto L_08852704; AOT_REGCACHE_SYNC_OUT(); return; L_08852704: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08852604; } @@ -6421,15 +6422,15 @@ L_08852704: L_0885270C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1019u); aot_gpr_31 = (0x08852724u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852724u) goto L_08852724; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852724u) goto L_08852724; AOT_REGCACHE_SYNC_OUT(); return; L_08852724: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08852604; } @@ -6441,25 +6442,25 @@ L_0885272C: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x08852740u); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852740u) goto L_08852740; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852740u) goto L_08852740; AOT_REGCACHE_SYNC_OUT(); return; L_08852740: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0885274C: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-118)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(41) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(41) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_088528CC; @@ -6480,14 +6481,14 @@ L_08852770: L_08852788: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1047u); aot_gpr_31 = (0x088527A0u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088527A0u) goto L_088527A0; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088527A0u) goto L_088527A0; AOT_REGCACHE_SYNC_OUT(); return; L_088527A0: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_088527A4; L_088527A4: { const bool branch_taken = 0u == 0u; @@ -6500,15 +6501,15 @@ L_088527A4: L_088527AC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1049u); aot_gpr_31 = (0x088527C4u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088527C4u) goto L_088527C4; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088527C4u) goto L_088527C4; AOT_REGCACHE_SYNC_OUT(); return; L_088527C4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088527A4; } @@ -6517,15 +6518,15 @@ L_088527C4: L_088527CC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1041u); aot_gpr_31 = (0x088527E4u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088527E4u) goto L_088527E4; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088527E4u) goto L_088527E4; AOT_REGCACHE_SYNC_OUT(); return; L_088527E4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088527A4; } @@ -6534,15 +6535,15 @@ L_088527E4: L_088527EC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1037u); aot_gpr_31 = (0x08852804u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852804u) goto L_08852804; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852804u) goto L_08852804; AOT_REGCACHE_SYNC_OUT(); return; L_08852804: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088527A4; } @@ -6551,15 +6552,15 @@ L_08852804: L_0885280C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1035u); aot_gpr_31 = (0x08852824u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852824u) goto L_08852824; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852824u) goto L_08852824; AOT_REGCACHE_SYNC_OUT(); return; L_08852824: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088527A4; } @@ -6568,15 +6569,15 @@ L_08852824: L_0885282C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1039u); aot_gpr_31 = (0x08852844u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852844u) goto L_08852844; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852844u) goto L_08852844; AOT_REGCACHE_SYNC_OUT(); return; L_08852844: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088527A4; } @@ -6585,15 +6586,15 @@ L_08852844: L_0885284C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1052u); aot_gpr_31 = (0x08852864u); - ctx.gpr[8] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852864u) goto L_08852864; + aot_gpr_8 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852864u) goto L_08852864; AOT_REGCACHE_SYNC_OUT(); return; L_08852864: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088527A4; } @@ -6602,15 +6603,15 @@ L_08852864: L_0885286C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1028u); aot_gpr_31 = (0x08852884u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852884u) goto L_08852884; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852884u) goto L_08852884; AOT_REGCACHE_SYNC_OUT(); return; L_08852884: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088527A4; } @@ -6619,15 +6620,15 @@ L_08852884: L_0885288C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1031u); aot_gpr_31 = (0x088528A4u); - ctx.gpr[8] = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088528A4u) goto L_088528A4; + aot_gpr_8 = (0u | 4u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088528A4u) goto L_088528A4; AOT_REGCACHE_SYNC_OUT(); return; L_088528A4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088527A4; } @@ -6636,15 +6637,15 @@ L_088528A4: L_088528AC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1044u); aot_gpr_31 = (0x088528C4u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088528C4u) goto L_088528C4; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088528C4u) goto L_088528C4; AOT_REGCACHE_SYNC_OUT(); return; L_088528C4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088527A4; } @@ -6656,23 +6657,23 @@ L_088528CC: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x088528E0u); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088528E0u) goto L_088528E0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088528E0u) goto L_088528E0; AOT_REGCACHE_SYNC_OUT(); return; L_088528E0: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_088528EC: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (2237u << 16u); aot_gpr_6 = (aot_gpr_6 & 65535u); aot_gpr_7 = (0u | 159u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); { const bool branch_taken = aot_gpr_6 == aot_gpr_7; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { @@ -6708,14 +6709,14 @@ L_08852920: L_08852928: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1059u); aot_gpr_31 = (0x08852940u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852940u) goto L_08852940; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852940u) goto L_08852940; AOT_REGCACHE_SYNC_OUT(); return; L_08852940: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_08852944; L_08852944: { const bool branch_taken = 0u == 0u; @@ -6728,15 +6729,15 @@ L_08852944: L_0885294C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1056u); aot_gpr_31 = (0x08852964u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852964u) goto L_08852964; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852964u) goto L_08852964; AOT_REGCACHE_SYNC_OUT(); return; L_08852964: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08852944; } @@ -6745,15 +6746,15 @@ L_08852964: L_0885296C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1053u); aot_gpr_31 = (0x08852984u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852984u) goto L_08852984; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852984u) goto L_08852984; AOT_REGCACHE_SYNC_OUT(); return; L_08852984: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08852944; } @@ -6762,15 +6763,15 @@ L_08852984: L_0885298C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1062u); aot_gpr_31 = (0x088529A4u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088529A4u) goto L_088529A4; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088529A4u) goto L_088529A4; AOT_REGCACHE_SYNC_OUT(); return; L_088529A4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08852944; } @@ -6781,25 +6782,25 @@ L_088529AC: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x088529BCu); aot_gpr_5 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088529BCu) goto L_088529BC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088529BCu) goto L_088529BC; AOT_REGCACHE_SYNC_OUT(); return; L_088529BC: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_088529C8: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-118)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(41) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(41) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_08852B48; @@ -6820,14 +6821,14 @@ L_088529EC: L_08852A04: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1108u); aot_gpr_31 = (0x08852A1Cu); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852A1Cu) goto L_08852A1C; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852A1Cu) goto L_08852A1C; AOT_REGCACHE_SYNC_OUT(); return; L_08852A1C: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_08852A20; L_08852A20: { const bool branch_taken = 0u == 0u; @@ -6840,15 +6841,15 @@ L_08852A20: L_08852A28: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1110u); aot_gpr_31 = (0x08852A40u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852A40u) goto L_08852A40; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852A40u) goto L_08852A40; AOT_REGCACHE_SYNC_OUT(); return; L_08852A40: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08852A20; } @@ -6857,15 +6858,15 @@ L_08852A40: L_08852A48: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1101u); aot_gpr_31 = (0x08852A60u); - ctx.gpr[8] = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852A60u) goto L_08852A60; + aot_gpr_8 = (0u | 4u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852A60u) goto L_08852A60; AOT_REGCACHE_SYNC_OUT(); return; L_08852A60: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08852A20; } @@ -6874,15 +6875,15 @@ L_08852A60: L_08852A68: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1097u); aot_gpr_31 = (0x08852A80u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852A80u) goto L_08852A80; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852A80u) goto L_08852A80; AOT_REGCACHE_SYNC_OUT(); return; L_08852A80: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08852A20; } @@ -6891,15 +6892,15 @@ L_08852A80: L_08852A88: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1095u); aot_gpr_31 = (0x08852AA0u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852AA0u) goto L_08852AA0; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852AA0u) goto L_08852AA0; AOT_REGCACHE_SYNC_OUT(); return; L_08852AA0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08852A20; } @@ -6908,15 +6909,15 @@ L_08852AA0: L_08852AA8: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1099u); aot_gpr_31 = (0x08852AC0u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852AC0u) goto L_08852AC0; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852AC0u) goto L_08852AC0; AOT_REGCACHE_SYNC_OUT(); return; L_08852AC0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08852A20; } @@ -6925,15 +6926,15 @@ L_08852AC0: L_08852AC8: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1113u); aot_gpr_31 = (0x08852AE0u); - ctx.gpr[8] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852AE0u) goto L_08852AE0; + aot_gpr_8 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852AE0u) goto L_08852AE0; AOT_REGCACHE_SYNC_OUT(); return; L_08852AE0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08852A20; } @@ -6942,15 +6943,15 @@ L_08852AE0: L_08852AE8: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1088u); aot_gpr_31 = (0x08852B00u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852B00u) goto L_08852B00; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852B00u) goto L_08852B00; AOT_REGCACHE_SYNC_OUT(); return; L_08852B00: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08852A20; } @@ -6959,15 +6960,15 @@ L_08852B00: L_08852B08: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1091u); aot_gpr_31 = (0x08852B20u); - ctx.gpr[8] = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852B20u) goto L_08852B20; + aot_gpr_8 = (0u | 4u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852B20u) goto L_08852B20; AOT_REGCACHE_SYNC_OUT(); return; L_08852B20: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08852A20; } @@ -6976,15 +6977,15 @@ L_08852B20: L_08852B28: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1105u); aot_gpr_31 = (0x08852B40u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852B40u) goto L_08852B40; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852B40u) goto L_08852B40; AOT_REGCACHE_SYNC_OUT(); return; L_08852B40: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08852A20; } @@ -6996,25 +6997,25 @@ L_08852B48: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x08852B5Cu); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852B5Cu) goto L_08852B5C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852B5Cu) goto L_08852B5C; AOT_REGCACHE_SYNC_OUT(); return; L_08852B5C: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08852B68: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-118)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(41) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(41) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_08852CE8; @@ -7035,14 +7036,14 @@ L_08852B8C: L_08852BA4: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1133u); aot_gpr_31 = (0x08852BBCu); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852BBCu) goto L_08852BBC; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852BBCu) goto L_08852BBC; AOT_REGCACHE_SYNC_OUT(); return; L_08852BBC: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_08852BC0; L_08852BC0: { const bool branch_taken = 0u == 0u; @@ -7055,15 +7056,15 @@ L_08852BC0: L_08852BC8: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1135u); aot_gpr_31 = (0x08852BE0u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852BE0u) goto L_08852BE0; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852BE0u) goto L_08852BE0; AOT_REGCACHE_SYNC_OUT(); return; L_08852BE0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08852BC0; } @@ -7072,15 +7073,15 @@ L_08852BE0: L_08852BE8: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1127u); aot_gpr_31 = (0x08852C00u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852C00u) goto L_08852C00; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852C00u) goto L_08852C00; AOT_REGCACHE_SYNC_OUT(); return; L_08852C00: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08852BC0; } @@ -7089,15 +7090,15 @@ L_08852C00: L_08852C08: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1123u); aot_gpr_31 = (0x08852C20u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852C20u) goto L_08852C20; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852C20u) goto L_08852C20; AOT_REGCACHE_SYNC_OUT(); return; L_08852C20: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08852BC0; } @@ -7106,15 +7107,15 @@ L_08852C20: L_08852C28: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1121u); aot_gpr_31 = (0x08852C40u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852C40u) goto L_08852C40; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852C40u) goto L_08852C40; AOT_REGCACHE_SYNC_OUT(); return; L_08852C40: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08852BC0; } @@ -7123,15 +7124,15 @@ L_08852C40: L_08852C48: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1125u); aot_gpr_31 = (0x08852C60u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852C60u) goto L_08852C60; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852C60u) goto L_08852C60; AOT_REGCACHE_SYNC_OUT(); return; L_08852C60: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08852BC0; } @@ -7140,15 +7141,15 @@ L_08852C60: L_08852C68: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1138u); aot_gpr_31 = (0x08852C80u); - ctx.gpr[8] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852C80u) goto L_08852C80; + aot_gpr_8 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852C80u) goto L_08852C80; AOT_REGCACHE_SYNC_OUT(); return; L_08852C80: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08852BC0; } @@ -7157,15 +7158,15 @@ L_08852C80: L_08852C88: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1114u); aot_gpr_31 = (0x08852CA0u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852CA0u) goto L_08852CA0; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852CA0u) goto L_08852CA0; AOT_REGCACHE_SYNC_OUT(); return; L_08852CA0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08852BC0; } @@ -7174,15 +7175,15 @@ L_08852CA0: L_08852CA8: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1117u); aot_gpr_31 = (0x08852CC0u); - ctx.gpr[8] = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852CC0u) goto L_08852CC0; + aot_gpr_8 = (0u | 4u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852CC0u) goto L_08852CC0; AOT_REGCACHE_SYNC_OUT(); return; L_08852CC0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08852BC0; } @@ -7191,15 +7192,15 @@ L_08852CC0: L_08852CC8: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1130u); aot_gpr_31 = (0x08852CE0u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852CE0u) goto L_08852CE0; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852CE0u) goto L_08852CE0; AOT_REGCACHE_SYNC_OUT(); return; L_08852CE0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08852BC0; } @@ -7211,23 +7212,23 @@ L_08852CE8: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x08852CFCu); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852CFCu) goto L_08852CFC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852CFCu) goto L_08852CFC; AOT_REGCACHE_SYNC_OUT(); return; L_08852CFC: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08852D08: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (2237u << 16u); aot_gpr_6 = (aot_gpr_6 & 65535u); aot_gpr_7 = (0u | 159u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); { const bool branch_taken = aot_gpr_6 == aot_gpr_7; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { @@ -7263,14 +7264,14 @@ L_08852D3C: L_08852D44: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1145u); aot_gpr_31 = (0x08852D5Cu); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852D5Cu) goto L_08852D5C; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852D5Cu) goto L_08852D5C; AOT_REGCACHE_SYNC_OUT(); return; L_08852D5C: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_08852D60; L_08852D60: { const bool branch_taken = 0u == 0u; @@ -7283,15 +7284,15 @@ L_08852D60: L_08852D68: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1142u); aot_gpr_31 = (0x08852D80u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852D80u) goto L_08852D80; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852D80u) goto L_08852D80; AOT_REGCACHE_SYNC_OUT(); return; L_08852D80: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08852D60; } @@ -7300,15 +7301,15 @@ L_08852D80: L_08852D88: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1139u); aot_gpr_31 = (0x08852DA0u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852DA0u) goto L_08852DA0; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852DA0u) goto L_08852DA0; AOT_REGCACHE_SYNC_OUT(); return; L_08852DA0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08852D60; } @@ -7317,15 +7318,15 @@ L_08852DA0: L_08852DA8: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1148u); aot_gpr_31 = (0x08852DC0u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852DC0u) goto L_08852DC0; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852DC0u) goto L_08852DC0; AOT_REGCACHE_SYNC_OUT(); return; L_08852DC0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08852D60; } @@ -7336,25 +7337,25 @@ L_08852DC8: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x08852DD8u); aot_gpr_5 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852DD8u) goto L_08852DD8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852DD8u) goto L_08852DD8; AOT_REGCACHE_SYNC_OUT(); return; L_08852DD8: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08852DE4: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-109)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(50) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(50) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_08852F04; @@ -7375,14 +7376,14 @@ L_08852E08: L_08852E20: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1163u); aot_gpr_31 = (0x08852E38u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852E38u) goto L_08852E38; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852E38u) goto L_08852E38; AOT_REGCACHE_SYNC_OUT(); return; L_08852E38: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_08852E3C; L_08852E3C: { const bool branch_taken = 0u == 0u; @@ -7395,15 +7396,15 @@ L_08852E3C: L_08852E44: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1182u); aot_gpr_31 = (0x08852E5Cu); - ctx.gpr[8] = (0u | 6u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852E5Cu) goto L_08852E5C; + aot_gpr_8 = (0u | 6u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852E5Cu) goto L_08852E5C; AOT_REGCACHE_SYNC_OUT(); return; L_08852E5C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08852E3C; } @@ -7412,15 +7413,15 @@ L_08852E5C: L_08852E64: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1168u); aot_gpr_31 = (0x08852E7Cu); - ctx.gpr[8] = (0u | 6u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852E7Cu) goto L_08852E7C; + aot_gpr_8 = (0u | 6u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852E7Cu) goto L_08852E7C; AOT_REGCACHE_SYNC_OUT(); return; L_08852E7C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08852E3C; } @@ -7429,15 +7430,15 @@ L_08852E7C: L_08852E84: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1176u); aot_gpr_31 = (0x08852E9Cu); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852E9Cu) goto L_08852E9C; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852E9Cu) goto L_08852E9C; AOT_REGCACHE_SYNC_OUT(); return; L_08852E9C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08852E3C; } @@ -7446,15 +7447,15 @@ L_08852E9C: L_08852EA4: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1174u); aot_gpr_31 = (0x08852EBCu); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852EBCu) goto L_08852EBC; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852EBCu) goto L_08852EBC; AOT_REGCACHE_SYNC_OUT(); return; L_08852EBC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08852E3C; } @@ -7463,15 +7464,15 @@ L_08852EBC: L_08852EC4: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1165u); aot_gpr_31 = (0x08852EDCu); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852EDCu) goto L_08852EDC; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852EDCu) goto L_08852EDC; AOT_REGCACHE_SYNC_OUT(); return; L_08852EDC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08852E3C; } @@ -7480,15 +7481,15 @@ L_08852EDC: L_08852EE4: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1179u); aot_gpr_31 = (0x08852EFCu); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852EFCu) goto L_08852EFC; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852EFCu) goto L_08852EFC; AOT_REGCACHE_SYNC_OUT(); return; L_08852EFC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08852E3C; } @@ -7500,25 +7501,25 @@ L_08852F04: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x08852F18u); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852F18u) goto L_08852F18; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852F18u) goto L_08852F18; AOT_REGCACHE_SYNC_OUT(); return; L_08852F18: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08852F24: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-109)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(50) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(50) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_08853044; @@ -7539,14 +7540,14 @@ L_08852F48: L_08852F60: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1214u); aot_gpr_31 = (0x08852F78u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852F78u) goto L_08852F78; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852F78u) goto L_08852F78; AOT_REGCACHE_SYNC_OUT(); return; L_08852F78: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_08852F7C; L_08852F7C: { const bool branch_taken = 0u == 0u; @@ -7559,15 +7560,15 @@ L_08852F7C: L_08852F84: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1232u); aot_gpr_31 = (0x08852F9Cu); - ctx.gpr[8] = (0u | 6u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852F9Cu) goto L_08852F9C; + aot_gpr_8 = (0u | 6u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852F9Cu) goto L_08852F9C; AOT_REGCACHE_SYNC_OUT(); return; L_08852F9C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08852F7C; } @@ -7576,15 +7577,15 @@ L_08852F9C: L_08852FA4: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1219u); aot_gpr_31 = (0x08852FBCu); - ctx.gpr[8] = (0u | 6u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852FBCu) goto L_08852FBC; + aot_gpr_8 = (0u | 6u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852FBCu) goto L_08852FBC; AOT_REGCACHE_SYNC_OUT(); return; L_08852FBC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08852F7C; } @@ -7593,15 +7594,15 @@ L_08852FBC: L_08852FC4: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1227u); aot_gpr_31 = (0x08852FDCu); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852FDCu) goto L_08852FDC; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852FDCu) goto L_08852FDC; AOT_REGCACHE_SYNC_OUT(); return; L_08852FDC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08852F7C; } @@ -7610,15 +7611,15 @@ L_08852FDC: L_08852FE4: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1225u); aot_gpr_31 = (0x08852FFCu); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852FFCu) goto L_08852FFC; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08852FFCu) goto L_08852FFC; AOT_REGCACHE_SYNC_OUT(); return; L_08852FFC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08852F7C; } @@ -7627,15 +7628,15 @@ L_08852FFC: L_08853004: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1216u); aot_gpr_31 = (0x0885301Cu); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885301Cu) goto L_0885301C; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885301Cu) goto L_0885301C; AOT_REGCACHE_SYNC_OUT(); return; L_0885301C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08852F7C; } @@ -7644,15 +7645,15 @@ L_0885301C: L_08853024: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1229u); aot_gpr_31 = (0x0885303Cu); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885303Cu) goto L_0885303C; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885303Cu) goto L_0885303C; AOT_REGCACHE_SYNC_OUT(); return; L_0885303C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08852F7C; } @@ -7664,25 +7665,25 @@ L_08853044: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x08853058u); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08853058u) goto L_08853058; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08853058u) goto L_08853058; AOT_REGCACHE_SYNC_OUT(); return; L_08853058: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08853064: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-109)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(50) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(50) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_08853184; @@ -7703,14 +7704,14 @@ L_08853088: L_088530A0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1238u); aot_gpr_31 = (0x088530B8u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088530B8u) goto L_088530B8; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088530B8u) goto L_088530B8; AOT_REGCACHE_SYNC_OUT(); return; L_088530B8: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_088530BC; L_088530BC: { const bool branch_taken = 0u == 0u; @@ -7723,15 +7724,15 @@ L_088530BC: L_088530C4: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1257u); aot_gpr_31 = (0x088530DCu); - ctx.gpr[8] = (0u | 7u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088530DCu) goto L_088530DC; + aot_gpr_8 = (0u | 7u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088530DCu) goto L_088530DC; AOT_REGCACHE_SYNC_OUT(); return; L_088530DC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088530BC; } @@ -7740,15 +7741,15 @@ L_088530DC: L_088530E4: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1243u); aot_gpr_31 = (0x088530FCu); - ctx.gpr[8] = (0u | 6u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088530FCu) goto L_088530FC; + aot_gpr_8 = (0u | 6u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088530FCu) goto L_088530FC; AOT_REGCACHE_SYNC_OUT(); return; L_088530FC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088530BC; } @@ -7757,15 +7758,15 @@ L_088530FC: L_08853104: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1251u); aot_gpr_31 = (0x0885311Cu); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885311Cu) goto L_0885311C; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885311Cu) goto L_0885311C; AOT_REGCACHE_SYNC_OUT(); return; L_0885311C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088530BC; } @@ -7774,15 +7775,15 @@ L_0885311C: L_08853124: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1249u); aot_gpr_31 = (0x0885313Cu); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885313Cu) goto L_0885313C; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885313Cu) goto L_0885313C; AOT_REGCACHE_SYNC_OUT(); return; L_0885313C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088530BC; } @@ -7791,15 +7792,15 @@ L_0885313C: L_08853144: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1240u); aot_gpr_31 = (0x0885315Cu); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885315Cu) goto L_0885315C; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885315Cu) goto L_0885315C; AOT_REGCACHE_SYNC_OUT(); return; L_0885315C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088530BC; } @@ -7808,15 +7809,15 @@ L_0885315C: L_08853164: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1254u); aot_gpr_31 = (0x0885317Cu); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885317Cu) goto L_0885317C; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885317Cu) goto L_0885317C; AOT_REGCACHE_SYNC_OUT(); return; L_0885317C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088530BC; } @@ -7828,25 +7829,25 @@ L_08853184: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x08853198u); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08853198u) goto L_08853198; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08853198u) goto L_08853198; AOT_REGCACHE_SYNC_OUT(); return; L_08853198: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_088531A4: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-109)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(50) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(50) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_088532C4; @@ -7867,14 +7868,14 @@ L_088531C8: L_088531E0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1264u); aot_gpr_31 = (0x088531F8u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088531F8u) goto L_088531F8; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088531F8u) goto L_088531F8; AOT_REGCACHE_SYNC_OUT(); return; L_088531F8: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_088531FC; L_088531FC: { const bool branch_taken = 0u == 0u; @@ -7887,15 +7888,15 @@ L_088531FC: L_08853204: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1283u); aot_gpr_31 = (0x0885321Cu); - ctx.gpr[8] = (0u | 6u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885321Cu) goto L_0885321C; + aot_gpr_8 = (0u | 6u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885321Cu) goto L_0885321C; AOT_REGCACHE_SYNC_OUT(); return; L_0885321C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088531FC; } @@ -7904,15 +7905,15 @@ L_0885321C: L_08853224: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1269u); aot_gpr_31 = (0x0885323Cu); - ctx.gpr[8] = (0u | 6u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885323Cu) goto L_0885323C; + aot_gpr_8 = (0u | 6u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885323Cu) goto L_0885323C; AOT_REGCACHE_SYNC_OUT(); return; L_0885323C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088531FC; } @@ -7921,15 +7922,15 @@ L_0885323C: L_08853244: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1277u); aot_gpr_31 = (0x0885325Cu); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885325Cu) goto L_0885325C; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885325Cu) goto L_0885325C; AOT_REGCACHE_SYNC_OUT(); return; L_0885325C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088531FC; } @@ -7938,15 +7939,15 @@ L_0885325C: L_08853264: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1275u); aot_gpr_31 = (0x0885327Cu); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885327Cu) goto L_0885327C; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885327Cu) goto L_0885327C; AOT_REGCACHE_SYNC_OUT(); return; L_0885327C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088531FC; } @@ -7955,15 +7956,15 @@ L_0885327C: L_08853284: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1266u); aot_gpr_31 = (0x0885329Cu); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885329Cu) goto L_0885329C; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885329Cu) goto L_0885329C; AOT_REGCACHE_SYNC_OUT(); return; L_0885329C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088531FC; } @@ -7972,15 +7973,15 @@ L_0885329C: L_088532A4: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1280u); aot_gpr_31 = (0x088532BCu); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088532BCu) goto L_088532BC; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088532BCu) goto L_088532BC; AOT_REGCACHE_SYNC_OUT(); return; L_088532BC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088531FC; } @@ -7992,25 +7993,25 @@ L_088532C4: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x088532D8u); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088532D8u) goto L_088532D8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088532D8u) goto L_088532D8; AOT_REGCACHE_SYNC_OUT(); return; L_088532D8: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_088532E4: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-109)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(50) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(50) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_08853404; @@ -8031,14 +8032,14 @@ L_08853308: L_08853320: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1289u); aot_gpr_31 = (0x08853338u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08853338u) goto L_08853338; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08853338u) goto L_08853338; AOT_REGCACHE_SYNC_OUT(); return; L_08853338: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_0885333C; L_0885333C: { const bool branch_taken = 0u == 0u; @@ -8051,15 +8052,15 @@ L_0885333C: L_08853344: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1308u); aot_gpr_31 = (0x0885335Cu); - ctx.gpr[8] = (0u | 6u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885335Cu) goto L_0885335C; + aot_gpr_8 = (0u | 6u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885335Cu) goto L_0885335C; AOT_REGCACHE_SYNC_OUT(); return; L_0885335C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885333C; } @@ -8068,15 +8069,15 @@ L_0885335C: L_08853364: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1294u); aot_gpr_31 = (0x0885337Cu); - ctx.gpr[8] = (0u | 6u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885337Cu) goto L_0885337C; + aot_gpr_8 = (0u | 6u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885337Cu) goto L_0885337C; AOT_REGCACHE_SYNC_OUT(); return; L_0885337C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885333C; } @@ -8085,15 +8086,15 @@ L_0885337C: L_08853384: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1302u); aot_gpr_31 = (0x0885339Cu); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885339Cu) goto L_0885339C; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885339Cu) goto L_0885339C; AOT_REGCACHE_SYNC_OUT(); return; L_0885339C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885333C; } @@ -8102,15 +8103,15 @@ L_0885339C: L_088533A4: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1300u); aot_gpr_31 = (0x088533BCu); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088533BCu) goto L_088533BC; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088533BCu) goto L_088533BC; AOT_REGCACHE_SYNC_OUT(); return; L_088533BC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885333C; } @@ -8119,15 +8120,15 @@ L_088533BC: L_088533C4: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1291u); aot_gpr_31 = (0x088533DCu); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088533DCu) goto L_088533DC; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088533DCu) goto L_088533DC; AOT_REGCACHE_SYNC_OUT(); return; L_088533DC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885333C; } @@ -8136,15 +8137,15 @@ L_088533DC: L_088533E4: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1305u); aot_gpr_31 = (0x088533FCu); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088533FCu) goto L_088533FC; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088533FCu) goto L_088533FC; AOT_REGCACHE_SYNC_OUT(); return; L_088533FC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885333C; } @@ -8156,25 +8157,25 @@ L_08853404: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x08853418u); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08853418u) goto L_08853418; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08853418u) goto L_08853418; AOT_REGCACHE_SYNC_OUT(); return; L_08853418: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08853424: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-118)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(41) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(41) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_088535A4; @@ -8195,14 +8196,14 @@ L_08853448: L_08853460: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1358u); aot_gpr_31 = (0x08853478u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08853478u) goto L_08853478; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08853478u) goto L_08853478; AOT_REGCACHE_SYNC_OUT(); return; L_08853478: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_0885347C; L_0885347C: { const bool branch_taken = 0u == 0u; @@ -8215,15 +8216,15 @@ L_0885347C: L_08853484: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1360u); aot_gpr_31 = (0x0885349Cu); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885349Cu) goto L_0885349C; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885349Cu) goto L_0885349C; AOT_REGCACHE_SYNC_OUT(); return; L_0885349C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885347C; } @@ -8232,15 +8233,15 @@ L_0885349C: L_088534A4: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1353u); aot_gpr_31 = (0x088534BCu); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088534BCu) goto L_088534BC; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088534BCu) goto L_088534BC; AOT_REGCACHE_SYNC_OUT(); return; L_088534BC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885347C; } @@ -8249,15 +8250,15 @@ L_088534BC: L_088534C4: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1349u); aot_gpr_31 = (0x088534DCu); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088534DCu) goto L_088534DC; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088534DCu) goto L_088534DC; AOT_REGCACHE_SYNC_OUT(); return; L_088534DC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885347C; } @@ -8266,15 +8267,15 @@ L_088534DC: L_088534E4: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1346u); aot_gpr_31 = (0x088534FCu); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088534FCu) goto L_088534FC; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088534FCu) goto L_088534FC; AOT_REGCACHE_SYNC_OUT(); return; L_088534FC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885347C; } @@ -8283,15 +8284,15 @@ L_088534FC: L_08853504: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1351u); aot_gpr_31 = (0x0885351Cu); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885351Cu) goto L_0885351C; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885351Cu) goto L_0885351C; AOT_REGCACHE_SYNC_OUT(); return; L_0885351C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885347C; } @@ -8300,15 +8301,15 @@ L_0885351C: L_08853524: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1363u); aot_gpr_31 = (0x0885353Cu); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885353Cu) goto L_0885353C; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885353Cu) goto L_0885353C; AOT_REGCACHE_SYNC_OUT(); return; L_0885353C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885347C; } @@ -8317,15 +8318,15 @@ L_0885353C: L_08853544: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1338u); aot_gpr_31 = (0x0885355Cu); - ctx.gpr[8] = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885355Cu) goto L_0885355C; + aot_gpr_8 = (0u | 4u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885355Cu) goto L_0885355C; AOT_REGCACHE_SYNC_OUT(); return; L_0885355C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885347C; } @@ -8334,15 +8335,15 @@ L_0885355C: L_08853564: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1342u); aot_gpr_31 = (0x0885357Cu); - ctx.gpr[8] = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885357Cu) goto L_0885357C; + aot_gpr_8 = (0u | 4u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885357Cu) goto L_0885357C; AOT_REGCACHE_SYNC_OUT(); return; L_0885357C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885347C; } @@ -8351,15 +8352,15 @@ L_0885357C: L_08853584: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1356u); aot_gpr_31 = (0x0885359Cu); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885359Cu) goto L_0885359C; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885359Cu) goto L_0885359C; AOT_REGCACHE_SYNC_OUT(); return; L_0885359C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885347C; } @@ -8371,25 +8372,25 @@ L_088535A4: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x088535B8u); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088535B8u) goto L_088535B8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088535B8u) goto L_088535B8; AOT_REGCACHE_SYNC_OUT(); return; L_088535B8: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_088535C4: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-118)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(41) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(41) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_08853744; @@ -8410,14 +8411,14 @@ L_088535E8: L_08853600: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1385u); aot_gpr_31 = (0x08853618u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08853618u) goto L_08853618; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08853618u) goto L_08853618; AOT_REGCACHE_SYNC_OUT(); return; L_08853618: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_0885361C; L_0885361C: { const bool branch_taken = 0u == 0u; @@ -8430,15 +8431,15 @@ L_0885361C: L_08853624: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1387u); aot_gpr_31 = (0x0885363Cu); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885363Cu) goto L_0885363C; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885363Cu) goto L_0885363C; AOT_REGCACHE_SYNC_OUT(); return; L_0885363C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885361C; } @@ -8447,15 +8448,15 @@ L_0885363C: L_08853644: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1379u); aot_gpr_31 = (0x0885365Cu); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885365Cu) goto L_0885365C; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885365Cu) goto L_0885365C; AOT_REGCACHE_SYNC_OUT(); return; L_0885365C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885361C; } @@ -8464,15 +8465,15 @@ L_0885365C: L_08853664: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1374u); aot_gpr_31 = (0x0885367Cu); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885367Cu) goto L_0885367C; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885367Cu) goto L_0885367C; AOT_REGCACHE_SYNC_OUT(); return; L_0885367C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885361C; } @@ -8481,15 +8482,15 @@ L_0885367C: L_08853684: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1372u); aot_gpr_31 = (0x0885369Cu); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885369Cu) goto L_0885369C; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885369Cu) goto L_0885369C; AOT_REGCACHE_SYNC_OUT(); return; L_0885369C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885361C; } @@ -8498,15 +8499,15 @@ L_0885369C: L_088536A4: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1376u); aot_gpr_31 = (0x088536BCu); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088536BCu) goto L_088536BC; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088536BCu) goto L_088536BC; AOT_REGCACHE_SYNC_OUT(); return; L_088536BC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885361C; } @@ -8515,15 +8516,15 @@ L_088536BC: L_088536C4: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1390u); aot_gpr_31 = (0x088536DCu); - ctx.gpr[8] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088536DCu) goto L_088536DC; + aot_gpr_8 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088536DCu) goto L_088536DC; AOT_REGCACHE_SYNC_OUT(); return; L_088536DC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885361C; } @@ -8532,15 +8533,15 @@ L_088536DC: L_088536E4: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1365u); aot_gpr_31 = (0x088536FCu); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088536FCu) goto L_088536FC; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088536FCu) goto L_088536FC; AOT_REGCACHE_SYNC_OUT(); return; L_088536FC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885361C; } @@ -8549,15 +8550,15 @@ L_088536FC: L_08853704: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1368u); aot_gpr_31 = (0x0885371Cu); - ctx.gpr[8] = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885371Cu) goto L_0885371C; + aot_gpr_8 = (0u | 4u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885371Cu) goto L_0885371C; AOT_REGCACHE_SYNC_OUT(); return; L_0885371C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885361C; } @@ -8566,15 +8567,15 @@ L_0885371C: L_08853724: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1382u); aot_gpr_31 = (0x0885373Cu); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885373Cu) goto L_0885373C; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885373Cu) goto L_0885373C; AOT_REGCACHE_SYNC_OUT(); return; L_0885373C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885361C; } @@ -8586,23 +8587,23 @@ L_08853744: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x08853758u); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08853758u) goto L_08853758; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08853758u) goto L_08853758; AOT_REGCACHE_SYNC_OUT(); return; L_08853758: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08853764: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (2237u << 16u); aot_gpr_6 = (aot_gpr_6 & 65535u); aot_gpr_7 = (0u | 159u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); { const bool branch_taken = aot_gpr_6 == aot_gpr_7; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { @@ -8638,14 +8639,14 @@ L_08853798: L_088537A0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1397u); aot_gpr_31 = (0x088537B8u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088537B8u) goto L_088537B8; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088537B8u) goto L_088537B8; AOT_REGCACHE_SYNC_OUT(); return; L_088537B8: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_088537BC; L_088537BC: { const bool branch_taken = 0u == 0u; @@ -8658,15 +8659,15 @@ L_088537BC: L_088537C4: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1394u); aot_gpr_31 = (0x088537DCu); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088537DCu) goto L_088537DC; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088537DCu) goto L_088537DC; AOT_REGCACHE_SYNC_OUT(); return; L_088537DC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088537BC; } @@ -8675,15 +8676,15 @@ L_088537DC: L_088537E4: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1391u); aot_gpr_31 = (0x088537FCu); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088537FCu) goto L_088537FC; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088537FCu) goto L_088537FC; AOT_REGCACHE_SYNC_OUT(); return; L_088537FC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088537BC; } @@ -8692,15 +8693,15 @@ L_088537FC: L_08853804: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1400u); aot_gpr_31 = (0x0885381Cu); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885381Cu) goto L_0885381C; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885381Cu) goto L_0885381C; AOT_REGCACHE_SYNC_OUT(); return; L_0885381C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088537BC; } @@ -8711,23 +8712,23 @@ L_08853824: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x08853834u); aot_gpr_5 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08853834u) goto L_08853834; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08853834u) goto L_08853834; AOT_REGCACHE_SYNC_OUT(); return; L_08853834: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08853840: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (2237u << 16u); aot_gpr_6 = (aot_gpr_6 & 65535u); aot_gpr_7 = (0u | 159u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); { const bool branch_taken = aot_gpr_6 == aot_gpr_7; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { @@ -8763,14 +8764,14 @@ L_08853874: L_0885387C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1409u); aot_gpr_31 = (0x08853894u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08853894u) goto L_08853894; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08853894u) goto L_08853894; AOT_REGCACHE_SYNC_OUT(); return; L_08853894: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_08853898; L_08853898: { const bool branch_taken = 0u == 0u; @@ -8783,15 +8784,15 @@ L_08853898: L_088538A0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1406u); aot_gpr_31 = (0x088538B8u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088538B8u) goto L_088538B8; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088538B8u) goto L_088538B8; AOT_REGCACHE_SYNC_OUT(); return; L_088538B8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08853898; } @@ -8800,15 +8801,15 @@ L_088538B8: L_088538C0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1403u); aot_gpr_31 = (0x088538D8u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088538D8u) goto L_088538D8; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088538D8u) goto L_088538D8; AOT_REGCACHE_SYNC_OUT(); return; L_088538D8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08853898; } @@ -8817,15 +8818,15 @@ L_088538D8: L_088538E0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1412u); aot_gpr_31 = (0x088538F8u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088538F8u) goto L_088538F8; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088538F8u) goto L_088538F8; AOT_REGCACHE_SYNC_OUT(); return; L_088538F8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08853898; } @@ -8836,23 +8837,23 @@ L_08853900: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x08853910u); aot_gpr_5 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08853910u) goto L_08853910; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08853910u) goto L_08853910; AOT_REGCACHE_SYNC_OUT(); return; L_08853910: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0885391C: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (2237u << 16u); aot_gpr_6 = (aot_gpr_6 & 65535u); aot_gpr_7 = (0u | 159u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); { const bool branch_taken = aot_gpr_6 == aot_gpr_7; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { @@ -8888,14 +8889,14 @@ L_08853950: L_08853958: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1489u); aot_gpr_31 = (0x08853970u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08853970u) goto L_08853970; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08853970u) goto L_08853970; AOT_REGCACHE_SYNC_OUT(); return; L_08853970: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_08853974; L_08853974: { const bool branch_taken = 0u == 0u; @@ -8908,15 +8909,15 @@ L_08853974: L_0885397C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1417u); aot_gpr_31 = (0x08853994u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08853994u) goto L_08853994; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08853994u) goto L_08853994; AOT_REGCACHE_SYNC_OUT(); return; L_08853994: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08853974; } @@ -8925,15 +8926,15 @@ L_08853994: L_0885399C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1415u); aot_gpr_31 = (0x088539B4u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088539B4u) goto L_088539B4; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088539B4u) goto L_088539B4; AOT_REGCACHE_SYNC_OUT(); return; L_088539B4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08853974; } @@ -8942,15 +8943,15 @@ L_088539B4: L_088539BC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1491u); aot_gpr_31 = (0x088539D4u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088539D4u) goto L_088539D4; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088539D4u) goto L_088539D4; AOT_REGCACHE_SYNC_OUT(); return; L_088539D4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08853974; } @@ -8961,25 +8962,25 @@ L_088539DC: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x088539ECu); aot_gpr_5 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088539ECu) goto L_088539EC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088539ECu) goto L_088539EC; AOT_REGCACHE_SYNC_OUT(); return; L_088539EC: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_088539F8: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-118)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(41) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(41) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_08853B78; @@ -9000,14 +9001,14 @@ L_08853A1C: L_08853A34: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1437u); aot_gpr_31 = (0x08853A4Cu); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08853A4Cu) goto L_08853A4C; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08853A4Cu) goto L_08853A4C; AOT_REGCACHE_SYNC_OUT(); return; L_08853A4C: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_08853A50; L_08853A50: { const bool branch_taken = 0u == 0u; @@ -9020,15 +9021,15 @@ L_08853A50: L_08853A58: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1439u); aot_gpr_31 = (0x08853A70u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08853A70u) goto L_08853A70; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08853A70u) goto L_08853A70; AOT_REGCACHE_SYNC_OUT(); return; L_08853A70: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08853A50; } @@ -9037,15 +9038,15 @@ L_08853A70: L_08853A78: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1431u); aot_gpr_31 = (0x08853A90u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08853A90u) goto L_08853A90; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08853A90u) goto L_08853A90; AOT_REGCACHE_SYNC_OUT(); return; L_08853A90: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08853A50; } @@ -9054,15 +9055,15 @@ L_08853A90: L_08853A98: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1427u); aot_gpr_31 = (0x08853AB0u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08853AB0u) goto L_08853AB0; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08853AB0u) goto L_08853AB0; AOT_REGCACHE_SYNC_OUT(); return; L_08853AB0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08853A50; } @@ -9071,15 +9072,15 @@ L_08853AB0: L_08853AB8: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1424u); aot_gpr_31 = (0x08853AD0u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08853AD0u) goto L_08853AD0; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08853AD0u) goto L_08853AD0; AOT_REGCACHE_SYNC_OUT(); return; L_08853AD0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08853A50; } @@ -9088,15 +9089,15 @@ L_08853AD0: L_08853AD8: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1429u); aot_gpr_31 = (0x08853AF0u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08853AF0u) goto L_08853AF0; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08853AF0u) goto L_08853AF0; AOT_REGCACHE_SYNC_OUT(); return; L_08853AF0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08853A50; } @@ -9105,15 +9106,15 @@ L_08853AF0: L_08853AF8: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1442u); aot_gpr_31 = (0x08853B10u); - ctx.gpr[8] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08853B10u) goto L_08853B10; + aot_gpr_8 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08853B10u) goto L_08853B10; AOT_REGCACHE_SYNC_OUT(); return; L_08853B10: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08853A50; } @@ -9122,15 +9123,15 @@ L_08853B10: L_08853B18: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1419u); aot_gpr_31 = (0x08853B30u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08853B30u) goto L_08853B30; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08853B30u) goto L_08853B30; AOT_REGCACHE_SYNC_OUT(); return; L_08853B30: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08853A50; } @@ -9139,15 +9140,15 @@ L_08853B30: L_08853B38: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1422u); aot_gpr_31 = (0x08853B50u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08853B50u) goto L_08853B50; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08853B50u) goto L_08853B50; AOT_REGCACHE_SYNC_OUT(); return; L_08853B50: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08853A50; } @@ -9156,15 +9157,15 @@ L_08853B50: L_08853B58: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1434u); aot_gpr_31 = (0x08853B70u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08853B70u) goto L_08853B70; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08853B70u) goto L_08853B70; AOT_REGCACHE_SYNC_OUT(); return; L_08853B70: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08853A50; } @@ -9176,25 +9177,25 @@ L_08853B78: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x08853B8Cu); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08853B8Cu) goto L_08853B8C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08853B8Cu) goto L_08853B8C; AOT_REGCACHE_SYNC_OUT(); return; L_08853B8C: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08853B98: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-118)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(41) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(41) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_08853CF8; @@ -9215,14 +9216,14 @@ L_08853BBC: L_08853BD4: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1459u); aot_gpr_31 = (0x08853BECu); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08853BECu) goto L_08853BEC; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08853BECu) goto L_08853BEC; AOT_REGCACHE_SYNC_OUT(); return; L_08853BEC: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_08853BF0; L_08853BF0: { const bool branch_taken = 0u == 0u; @@ -9235,15 +9236,15 @@ L_08853BF0: L_08853BF8: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1461u); aot_gpr_31 = (0x08853C10u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08853C10u) goto L_08853C10; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08853C10u) goto L_08853C10; AOT_REGCACHE_SYNC_OUT(); return; L_08853C10: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08853BF0; } @@ -9252,15 +9253,15 @@ L_08853C10: L_08853C18: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1453u); aot_gpr_31 = (0x08853C30u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08853C30u) goto L_08853C30; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08853C30u) goto L_08853C30; AOT_REGCACHE_SYNC_OUT(); return; L_08853C30: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08853BF0; } @@ -9269,15 +9270,15 @@ L_08853C30: L_08853C38: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1449u); aot_gpr_31 = (0x08853C50u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08853C50u) goto L_08853C50; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08853C50u) goto L_08853C50; AOT_REGCACHE_SYNC_OUT(); return; L_08853C50: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08853BF0; } @@ -9286,15 +9287,15 @@ L_08853C50: L_08853C58: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1447u); aot_gpr_31 = (0x08853C70u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08853C70u) goto L_08853C70; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08853C70u) goto L_08853C70; AOT_REGCACHE_SYNC_OUT(); return; L_08853C70: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08853BF0; } @@ -9303,15 +9304,15 @@ L_08853C70: L_08853C78: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1451u); aot_gpr_31 = (0x08853C90u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08853C90u) goto L_08853C90; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08853C90u) goto L_08853C90; AOT_REGCACHE_SYNC_OUT(); return; L_08853C90: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08853BF0; } @@ -9320,15 +9321,15 @@ L_08853C90: L_08853C98: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1464u); aot_gpr_31 = (0x08853CB0u); - ctx.gpr[8] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08853CB0u) goto L_08853CB0; + aot_gpr_8 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08853CB0u) goto L_08853CB0; AOT_REGCACHE_SYNC_OUT(); return; L_08853CB0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08853BF0; } @@ -9337,15 +9338,15 @@ L_08853CB0: L_08853CB8: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1443u); aot_gpr_31 = (0x08853CD0u); - ctx.gpr[8] = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08853CD0u) goto L_08853CD0; + aot_gpr_8 = (0u | 4u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08853CD0u) goto L_08853CD0; AOT_REGCACHE_SYNC_OUT(); return; L_08853CD0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08853BF0; } @@ -9354,15 +9355,15 @@ L_08853CD0: L_08853CD8: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1456u); aot_gpr_31 = (0x08853CF0u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08853CF0u) goto L_08853CF0; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08853CF0u) goto L_08853CF0; AOT_REGCACHE_SYNC_OUT(); return; L_08853CF0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08853BF0; } @@ -9374,23 +9375,23 @@ L_08853CF8: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x08853D0Cu); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08853D0Cu) goto L_08853D0C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08853D0Cu) goto L_08853D0C; AOT_REGCACHE_SYNC_OUT(); return; L_08853D0C: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08853D18: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (2237u << 16u); aot_gpr_6 = (aot_gpr_6 & 65535u); aot_gpr_7 = (0u | 159u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); { const bool branch_taken = aot_gpr_6 == aot_gpr_7; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { @@ -9426,14 +9427,14 @@ L_08853D4C: L_08853D54: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1499u); aot_gpr_31 = (0x08853D6Cu); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08853D6Cu) goto L_08853D6C; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08853D6Cu) goto L_08853D6C; AOT_REGCACHE_SYNC_OUT(); return; L_08853D6C: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_08853D70; L_08853D70: { const bool branch_taken = 0u == 0u; @@ -9446,15 +9447,15 @@ L_08853D70: L_08853D78: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1496u); aot_gpr_31 = (0x08853D90u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08853D90u) goto L_08853D90; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08853D90u) goto L_08853D90; AOT_REGCACHE_SYNC_OUT(); return; L_08853D90: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08853D70; } @@ -9463,15 +9464,15 @@ L_08853D90: L_08853D98: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1493u); aot_gpr_31 = (0x08853DB0u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08853DB0u) goto L_08853DB0; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08853DB0u) goto L_08853DB0; AOT_REGCACHE_SYNC_OUT(); return; L_08853DB0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08853D70; } @@ -9480,15 +9481,15 @@ L_08853DB0: L_08853DB8: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1502u); aot_gpr_31 = (0x08853DD0u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08853DD0u) goto L_08853DD0; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08853DD0u) goto L_08853DD0; AOT_REGCACHE_SYNC_OUT(); return; L_08853DD0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08853D70; } @@ -9499,23 +9500,23 @@ L_08853DD8: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x08853DE8u); aot_gpr_5 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08853DE8u) goto L_08853DE8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08853DE8u) goto L_08853DE8; AOT_REGCACHE_SYNC_OUT(); return; L_08853DE8: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08853DF4: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (2237u << 16u); aot_gpr_6 = (aot_gpr_6 & 65535u); aot_gpr_7 = (0u | 159u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); { const bool branch_taken = aot_gpr_6 == aot_gpr_7; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { @@ -9551,14 +9552,14 @@ L_08853E28: L_08853E30: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1511u); aot_gpr_31 = (0x08853E48u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08853E48u) goto L_08853E48; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08853E48u) goto L_08853E48; AOT_REGCACHE_SYNC_OUT(); return; L_08853E48: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_08853E4C; L_08853E4C: { const bool branch_taken = 0u == 0u; @@ -9571,15 +9572,15 @@ L_08853E4C: L_08853E54: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1508u); aot_gpr_31 = (0x08853E6Cu); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08853E6Cu) goto L_08853E6C; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08853E6Cu) goto L_08853E6C; AOT_REGCACHE_SYNC_OUT(); return; L_08853E6C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08853E4C; } @@ -9588,15 +9589,15 @@ L_08853E6C: L_08853E74: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1505u); aot_gpr_31 = (0x08853E8Cu); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08853E8Cu) goto L_08853E8C; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08853E8Cu) goto L_08853E8C; AOT_REGCACHE_SYNC_OUT(); return; L_08853E8C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08853E4C; } @@ -9605,15 +9606,15 @@ L_08853E8C: L_08853E94: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1514u); aot_gpr_31 = (0x08853EACu); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08853EACu) goto L_08853EAC; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08853EACu) goto L_08853EAC; AOT_REGCACHE_SYNC_OUT(); return; L_08853EAC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08853E4C; } @@ -9624,23 +9625,23 @@ L_08853EB4: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x08853EC4u); aot_gpr_5 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08853EC4u) goto L_08853EC4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08853EC4u) goto L_08853EC4; AOT_REGCACHE_SYNC_OUT(); return; L_08853EC4: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08853ED0: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (2237u << 16u); aot_gpr_6 = (aot_gpr_6 & 65535u); aot_gpr_7 = (0u | 159u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); { const bool branch_taken = aot_gpr_6 == aot_gpr_7; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { @@ -9676,14 +9677,14 @@ L_08853F04: L_08853F0C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1523u); aot_gpr_31 = (0x08853F24u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08853F24u) goto L_08853F24; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08853F24u) goto L_08853F24; AOT_REGCACHE_SYNC_OUT(); return; L_08853F24: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_08853F28; L_08853F28: { const bool branch_taken = 0u == 0u; @@ -9696,15 +9697,15 @@ L_08853F28: L_08853F30: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1520u); aot_gpr_31 = (0x08853F48u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08853F48u) goto L_08853F48; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08853F48u) goto L_08853F48; AOT_REGCACHE_SYNC_OUT(); return; L_08853F48: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08853F28; } @@ -9713,15 +9714,15 @@ L_08853F48: L_08853F50: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1517u); aot_gpr_31 = (0x08853F68u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08853F68u) goto L_08853F68; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08853F68u) goto L_08853F68; AOT_REGCACHE_SYNC_OUT(); return; L_08853F68: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08853F28; } @@ -9730,15 +9731,15 @@ L_08853F68: L_08853F70: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1526u); aot_gpr_31 = (0x08853F88u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08853F88u) goto L_08853F88; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08853F88u) goto L_08853F88; AOT_REGCACHE_SYNC_OUT(); return; L_08853F88: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08853F28; } @@ -9749,23 +9750,23 @@ L_08853F90: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x08853FA0u); aot_gpr_5 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08853FA0u) goto L_08853FA0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08853FA0u) goto L_08853FA0; AOT_REGCACHE_SYNC_OUT(); return; L_08853FA0: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08853FAC: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_6 & 65535u); aot_gpr_5 = (2237u << 16u); aot_gpr_7 = (static_cast(aot_gpr_6) < 116 ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); { const bool branch_taken = aot_gpr_7 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { @@ -9785,15 +9786,15 @@ L_08853FCC: L_08853FD8: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1551u); aot_gpr_31 = (0x08853FF0u); - ctx.gpr[8] = (0u | 5u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08853FF0u) goto L_08853FF0; + aot_gpr_8 = (0u | 5u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08853FF0u) goto L_08853FF0; AOT_REGCACHE_SYNC_OUT(); return; L_08853FF0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0020_entry, 20u, 6u, 0x08854038u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } diff --git a/profiles/vcs/generated/generated_unit_0020.cpp b/profiles/vcs/generated/generated_unit_0020.cpp index bc9c3bd..2ddbf55 100644 --- a/profiles/vcs/generated/generated_unit_0020.cpp +++ b/profiles/vcs/generated/generated_unit_0020.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,16 +139,16 @@ static const std::uint16_t kEntryIds_recomp_unit_0020[4093] = { }; void recomp_unit_0020_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=5,29,4,6,7,31 fprs= gpr_occ=4864 fpr_occ=0 gpr_total=5878 fpr_total=0 +// PSPRECOMP_AOT_REGCACHE_META gprs=5,4,6,7,31,8 fprs= gpr_occ=6789 fpr_occ=0 gpr_total=9324 fpr_total=0 std::uint32_t aot_gpr_5 = ctx.gpr[5]; - std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_6 = ctx.gpr[6]; std::uint32_t aot_gpr_7 = ctx.gpr[7]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; + std::uint32_t aot_gpr_8 = ctx.gpr[8]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[4] = aot_gpr_4; ctx.gpr[6] = aot_gpr_6; ctx.gpr[7] = aot_gpr_7; ctx.gpr[31] = aot_gpr_31; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_4 = ctx.gpr[4]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_7 = ctx.gpr[7]; aot_gpr_31 = ctx.gpr[31]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[5] = aot_gpr_5; ctx.gpr[4] = aot_gpr_4; ctx.gpr[6] = aot_gpr_6; ctx.gpr[7] = aot_gpr_7; ctx.gpr[31] = aot_gpr_31; ctx.gpr[8] = aot_gpr_8; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_5 = ctx.gpr[5]; aot_gpr_4 = ctx.gpr[4]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_7 = ctx.gpr[7]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_8 = ctx.gpr[8]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -1177,7 +1178,7 @@ LOCAL_DISPATCH: L_08854000: aot_gpr_31 = (0x08854008u); aot_gpr_5 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854008u) goto L_08854008; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854008u) goto L_08854008; AOT_REGCACHE_SYNC_OUT(); return; L_08854008: { const bool branch_taken = 0u == 0u; @@ -1199,32 +1200,32 @@ L_08854010: L_0885401C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1556u); aot_gpr_31 = (0x08854034u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854034u) goto L_08854034; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854034u) goto L_08854034; AOT_REGCACHE_SYNC_OUT(); return; L_08854034: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_08854038; L_08854038: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08854044: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-118)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(41) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(41) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_088541A4; @@ -1245,14 +1246,14 @@ L_08854068: L_08854080: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1659u); aot_gpr_31 = (0x08854098u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854098u) goto L_08854098; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854098u) goto L_08854098; AOT_REGCACHE_SYNC_OUT(); return; L_08854098: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_0885409C; L_0885409C: { const bool branch_taken = 0u == 0u; @@ -1265,15 +1266,15 @@ L_0885409C: L_088540A4: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1661u); aot_gpr_31 = (0x088540BCu); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088540BCu) goto L_088540BC; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088540BCu) goto L_088540BC; AOT_REGCACHE_SYNC_OUT(); return; L_088540BC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885409C; } @@ -1282,15 +1283,15 @@ L_088540BC: L_088540C4: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1653u); aot_gpr_31 = (0x088540DCu); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088540DCu) goto L_088540DC; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088540DCu) goto L_088540DC; AOT_REGCACHE_SYNC_OUT(); return; L_088540DC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885409C; } @@ -1299,15 +1300,15 @@ L_088540DC: L_088540E4: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1648u); aot_gpr_31 = (0x088540FCu); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088540FCu) goto L_088540FC; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088540FCu) goto L_088540FC; AOT_REGCACHE_SYNC_OUT(); return; L_088540FC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885409C; } @@ -1316,15 +1317,15 @@ L_088540FC: L_08854104: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1646u); aot_gpr_31 = (0x0885411Cu); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885411Cu) goto L_0885411C; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885411Cu) goto L_0885411C; AOT_REGCACHE_SYNC_OUT(); return; L_0885411C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885409C; } @@ -1333,15 +1334,15 @@ L_0885411C: L_08854124: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1650u); aot_gpr_31 = (0x0885413Cu); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885413Cu) goto L_0885413C; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885413Cu) goto L_0885413C; AOT_REGCACHE_SYNC_OUT(); return; L_0885413C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885409C; } @@ -1350,15 +1351,15 @@ L_0885413C: L_08854144: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1664u); aot_gpr_31 = (0x0885415Cu); - ctx.gpr[8] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885415Cu) goto L_0885415C; + aot_gpr_8 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885415Cu) goto L_0885415C; AOT_REGCACHE_SYNC_OUT(); return; L_0885415C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885409C; } @@ -1367,15 +1368,15 @@ L_0885415C: L_08854164: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1643u); aot_gpr_31 = (0x0885417Cu); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885417Cu) goto L_0885417C; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885417Cu) goto L_0885417C; AOT_REGCACHE_SYNC_OUT(); return; L_0885417C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885409C; } @@ -1384,15 +1385,15 @@ L_0885417C: L_08854184: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1656u); aot_gpr_31 = (0x0885419Cu); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885419Cu) goto L_0885419C; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885419Cu) goto L_0885419C; AOT_REGCACHE_SYNC_OUT(); return; L_0885419C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885409C; } @@ -1404,23 +1405,23 @@ L_088541A4: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x088541B8u); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088541B8u) goto L_088541B8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088541B8u) goto L_088541B8; AOT_REGCACHE_SYNC_OUT(); return; L_088541B8: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_088541C4: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (2237u << 16u); aot_gpr_6 = (aot_gpr_6 & 65535u); aot_gpr_7 = (0u | 159u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); { const bool branch_taken = aot_gpr_6 == aot_gpr_7; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { @@ -1456,14 +1457,14 @@ L_088541F8: L_08854200: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1669u); aot_gpr_31 = (0x08854218u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854218u) goto L_08854218; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854218u) goto L_08854218; AOT_REGCACHE_SYNC_OUT(); return; L_08854218: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_0885421C; L_0885421C: { const bool branch_taken = 0u == 0u; @@ -1476,15 +1477,15 @@ L_0885421C: L_08854224: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1667u); aot_gpr_31 = (0x0885423Cu); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885423Cu) goto L_0885423C; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885423Cu) goto L_0885423C; AOT_REGCACHE_SYNC_OUT(); return; L_0885423C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885421C; } @@ -1493,15 +1494,15 @@ L_0885423C: L_08854244: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1665u); aot_gpr_31 = (0x0885425Cu); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885425Cu) goto L_0885425C; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885425Cu) goto L_0885425C; AOT_REGCACHE_SYNC_OUT(); return; L_0885425C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885421C; } @@ -1510,15 +1511,15 @@ L_0885425C: L_08854264: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1671u); aot_gpr_31 = (0x0885427Cu); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885427Cu) goto L_0885427C; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885427Cu) goto L_0885427C; AOT_REGCACHE_SYNC_OUT(); return; L_0885427C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885421C; } @@ -1529,25 +1530,25 @@ L_08854284: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x08854294u); aot_gpr_5 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854294u) goto L_08854294; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854294u) goto L_08854294; AOT_REGCACHE_SYNC_OUT(); return; L_08854294: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_088542A0: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-118)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(41) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(41) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_08854420; @@ -1568,14 +1569,14 @@ L_088542C4: L_088542DC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1692u); aot_gpr_31 = (0x088542F4u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088542F4u) goto L_088542F4; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088542F4u) goto L_088542F4; AOT_REGCACHE_SYNC_OUT(); return; L_088542F4: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_088542F8; L_088542F8: { const bool branch_taken = 0u == 0u; @@ -1588,15 +1589,15 @@ L_088542F8: L_08854300: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1694u); aot_gpr_31 = (0x08854318u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854318u) goto L_08854318; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854318u) goto L_08854318; AOT_REGCACHE_SYNC_OUT(); return; L_08854318: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088542F8; } @@ -1605,15 +1606,15 @@ L_08854318: L_08854320: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1686u); aot_gpr_31 = (0x08854338u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854338u) goto L_08854338; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854338u) goto L_08854338; AOT_REGCACHE_SYNC_OUT(); return; L_08854338: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088542F8; } @@ -1622,15 +1623,15 @@ L_08854338: L_08854340: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1682u); aot_gpr_31 = (0x08854358u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854358u) goto L_08854358; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854358u) goto L_08854358; AOT_REGCACHE_SYNC_OUT(); return; L_08854358: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088542F8; } @@ -1639,15 +1640,15 @@ L_08854358: L_08854360: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1680u); aot_gpr_31 = (0x08854378u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854378u) goto L_08854378; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854378u) goto L_08854378; AOT_REGCACHE_SYNC_OUT(); return; L_08854378: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088542F8; } @@ -1656,15 +1657,15 @@ L_08854378: L_08854380: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1684u); aot_gpr_31 = (0x08854398u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854398u) goto L_08854398; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854398u) goto L_08854398; AOT_REGCACHE_SYNC_OUT(); return; L_08854398: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088542F8; } @@ -1673,15 +1674,15 @@ L_08854398: L_088543A0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1697u); aot_gpr_31 = (0x088543B8u); - ctx.gpr[8] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088543B8u) goto L_088543B8; + aot_gpr_8 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088543B8u) goto L_088543B8; AOT_REGCACHE_SYNC_OUT(); return; L_088543B8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088542F8; } @@ -1690,15 +1691,15 @@ L_088543B8: L_088543C0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1673u); aot_gpr_31 = (0x088543D8u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088543D8u) goto L_088543D8; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088543D8u) goto L_088543D8; AOT_REGCACHE_SYNC_OUT(); return; L_088543D8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088542F8; } @@ -1707,15 +1708,15 @@ L_088543D8: L_088543E0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1676u); aot_gpr_31 = (0x088543F8u); - ctx.gpr[8] = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088543F8u) goto L_088543F8; + aot_gpr_8 = (0u | 4u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088543F8u) goto L_088543F8; AOT_REGCACHE_SYNC_OUT(); return; L_088543F8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088542F8; } @@ -1724,15 +1725,15 @@ L_088543F8: L_08854400: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1689u); aot_gpr_31 = (0x08854418u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854418u) goto L_08854418; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854418u) goto L_08854418; AOT_REGCACHE_SYNC_OUT(); return; L_08854418: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088542F8; } @@ -1744,25 +1745,25 @@ L_08854420: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x08854434u); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854434u) goto L_08854434; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854434u) goto L_08854434; AOT_REGCACHE_SYNC_OUT(); return; L_08854434: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08854440: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-118)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(41) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(41) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_088545C0; @@ -1783,14 +1784,14 @@ L_08854464: L_0885447C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1719u); aot_gpr_31 = (0x08854494u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854494u) goto L_08854494; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854494u) goto L_08854494; AOT_REGCACHE_SYNC_OUT(); return; L_08854494: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_08854498; L_08854498: { const bool branch_taken = 0u == 0u; @@ -1803,15 +1804,15 @@ L_08854498: L_088544A0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1721u); aot_gpr_31 = (0x088544B8u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088544B8u) goto L_088544B8; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088544B8u) goto L_088544B8; AOT_REGCACHE_SYNC_OUT(); return; L_088544B8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08854498; } @@ -1820,15 +1821,15 @@ L_088544B8: L_088544C0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1713u); aot_gpr_31 = (0x088544D8u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088544D8u) goto L_088544D8; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088544D8u) goto L_088544D8; AOT_REGCACHE_SYNC_OUT(); return; L_088544D8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08854498; } @@ -1837,15 +1838,15 @@ L_088544D8: L_088544E0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1709u); aot_gpr_31 = (0x088544F8u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088544F8u) goto L_088544F8; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088544F8u) goto L_088544F8; AOT_REGCACHE_SYNC_OUT(); return; L_088544F8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08854498; } @@ -1854,15 +1855,15 @@ L_088544F8: L_08854500: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1706u); aot_gpr_31 = (0x08854518u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854518u) goto L_08854518; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854518u) goto L_08854518; AOT_REGCACHE_SYNC_OUT(); return; L_08854518: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08854498; } @@ -1871,15 +1872,15 @@ L_08854518: L_08854520: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1711u); aot_gpr_31 = (0x08854538u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854538u) goto L_08854538; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854538u) goto L_08854538; AOT_REGCACHE_SYNC_OUT(); return; L_08854538: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08854498; } @@ -1888,15 +1889,15 @@ L_08854538: L_08854540: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1724u); aot_gpr_31 = (0x08854558u); - ctx.gpr[8] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854558u) goto L_08854558; + aot_gpr_8 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854558u) goto L_08854558; AOT_REGCACHE_SYNC_OUT(); return; L_08854558: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08854498; } @@ -1905,15 +1906,15 @@ L_08854558: L_08854560: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1698u); aot_gpr_31 = (0x08854578u); - ctx.gpr[8] = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854578u) goto L_08854578; + aot_gpr_8 = (0u | 4u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854578u) goto L_08854578; AOT_REGCACHE_SYNC_OUT(); return; L_08854578: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08854498; } @@ -1922,15 +1923,15 @@ L_08854578: L_08854580: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1702u); aot_gpr_31 = (0x08854598u); - ctx.gpr[8] = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854598u) goto L_08854598; + aot_gpr_8 = (0u | 4u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854598u) goto L_08854598; AOT_REGCACHE_SYNC_OUT(); return; L_08854598: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08854498; } @@ -1939,15 +1940,15 @@ L_08854598: L_088545A0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1716u); aot_gpr_31 = (0x088545B8u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088545B8u) goto L_088545B8; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088545B8u) goto L_088545B8; AOT_REGCACHE_SYNC_OUT(); return; L_088545B8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08854498; } @@ -1959,23 +1960,23 @@ L_088545C0: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x088545D4u); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088545D4u) goto L_088545D4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088545D4u) goto L_088545D4; AOT_REGCACHE_SYNC_OUT(); return; L_088545D4: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_088545E0: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (2237u << 16u); aot_gpr_6 = (aot_gpr_6 & 65535u); aot_gpr_7 = (0u | 159u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); { const bool branch_taken = aot_gpr_6 == aot_gpr_7; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { @@ -2011,14 +2012,14 @@ L_08854614: L_0885461C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1755u); aot_gpr_31 = (0x08854634u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854634u) goto L_08854634; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854634u) goto L_08854634; AOT_REGCACHE_SYNC_OUT(); return; L_08854634: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_08854638; L_08854638: { const bool branch_taken = 0u == 0u; @@ -2031,15 +2032,15 @@ L_08854638: L_08854640: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1752u); aot_gpr_31 = (0x08854658u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854658u) goto L_08854658; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854658u) goto L_08854658; AOT_REGCACHE_SYNC_OUT(); return; L_08854658: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08854638; } @@ -2048,15 +2049,15 @@ L_08854658: L_08854660: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1749u); aot_gpr_31 = (0x08854678u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854678u) goto L_08854678; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854678u) goto L_08854678; AOT_REGCACHE_SYNC_OUT(); return; L_08854678: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08854638; } @@ -2065,15 +2066,15 @@ L_08854678: L_08854680: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1758u); aot_gpr_31 = (0x08854698u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854698u) goto L_08854698; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854698u) goto L_08854698; AOT_REGCACHE_SYNC_OUT(); return; L_08854698: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08854638; } @@ -2084,23 +2085,23 @@ L_088546A0: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x088546B0u); aot_gpr_5 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088546B0u) goto L_088546B0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088546B0u) goto L_088546B0; AOT_REGCACHE_SYNC_OUT(); return; L_088546B0: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_088546BC: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (2237u << 16u); aot_gpr_6 = (aot_gpr_6 & 65535u); aot_gpr_7 = (0u | 159u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); { const bool branch_taken = aot_gpr_6 == aot_gpr_7; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { @@ -2136,14 +2137,14 @@ L_088546F0: L_088546F8: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1767u); aot_gpr_31 = (0x08854710u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854710u) goto L_08854710; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854710u) goto L_08854710; AOT_REGCACHE_SYNC_OUT(); return; L_08854710: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_08854714; L_08854714: { const bool branch_taken = 0u == 0u; @@ -2156,15 +2157,15 @@ L_08854714: L_0885471C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1764u); aot_gpr_31 = (0x08854734u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854734u) goto L_08854734; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854734u) goto L_08854734; AOT_REGCACHE_SYNC_OUT(); return; L_08854734: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08854714; } @@ -2173,15 +2174,15 @@ L_08854734: L_0885473C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1761u); aot_gpr_31 = (0x08854754u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854754u) goto L_08854754; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854754u) goto L_08854754; AOT_REGCACHE_SYNC_OUT(); return; L_08854754: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08854714; } @@ -2190,15 +2191,15 @@ L_08854754: L_0885475C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1770u); aot_gpr_31 = (0x08854774u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854774u) goto L_08854774; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854774u) goto L_08854774; AOT_REGCACHE_SYNC_OUT(); return; L_08854774: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08854714; } @@ -2209,23 +2210,23 @@ L_0885477C: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x0885478Cu); aot_gpr_5 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885478Cu) goto L_0885478C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885478Cu) goto L_0885478C; AOT_REGCACHE_SYNC_OUT(); return; L_0885478C: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08854798: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_6 & 65535u); aot_gpr_5 = (2237u << 16u); aot_gpr_7 = (static_cast(aot_gpr_6) < 115 ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); { const bool branch_taken = aot_gpr_7 != 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { @@ -2256,14 +2257,14 @@ L_088547C4: L_088547DC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1792u); aot_gpr_31 = (0x088547F4u); - ctx.gpr[8] = (0u | 6u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088547F4u) goto L_088547F4; + aot_gpr_8 = (0u | 6u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088547F4u) goto L_088547F4; AOT_REGCACHE_SYNC_OUT(); return; L_088547F4: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_088547F8; L_088547F8: { const bool branch_taken = 0u == 0u; @@ -2276,15 +2277,15 @@ L_088547F8: L_08854800: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1787u); aot_gpr_31 = (0x08854818u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854818u) goto L_08854818; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854818u) goto L_08854818; AOT_REGCACHE_SYNC_OUT(); return; L_08854818: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088547F8; } @@ -2293,15 +2294,15 @@ L_08854818: L_08854820: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1784u); aot_gpr_31 = (0x08854838u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854838u) goto L_08854838; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854838u) goto L_08854838; AOT_REGCACHE_SYNC_OUT(); return; L_08854838: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088547F8; } @@ -2310,15 +2311,15 @@ L_08854838: L_08854840: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1790u); aot_gpr_31 = (0x08854858u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854858u) goto L_08854858; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854858u) goto L_08854858; AOT_REGCACHE_SYNC_OUT(); return; L_08854858: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088547F8; } @@ -2329,25 +2330,25 @@ L_08854860: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x08854870u); aot_gpr_5 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854870u) goto L_08854870; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854870u) goto L_08854870; AOT_REGCACHE_SYNC_OUT(); return; L_08854870: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0885487C: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-118)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(41) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(41) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_088549FC; @@ -2368,14 +2369,14 @@ L_088548A0: L_088548B8: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1817u); aot_gpr_31 = (0x088548D0u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088548D0u) goto L_088548D0; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088548D0u) goto L_088548D0; AOT_REGCACHE_SYNC_OUT(); return; L_088548D0: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_088548D4; L_088548D4: { const bool branch_taken = 0u == 0u; @@ -2388,15 +2389,15 @@ L_088548D4: L_088548DC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1819u); aot_gpr_31 = (0x088548F4u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088548F4u) goto L_088548F4; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088548F4u) goto L_088548F4; AOT_REGCACHE_SYNC_OUT(); return; L_088548F4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088548D4; } @@ -2405,15 +2406,15 @@ L_088548F4: L_088548FC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1811u); aot_gpr_31 = (0x08854914u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854914u) goto L_08854914; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854914u) goto L_08854914; AOT_REGCACHE_SYNC_OUT(); return; L_08854914: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088548D4; } @@ -2422,15 +2423,15 @@ L_08854914: L_0885491C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1807u); aot_gpr_31 = (0x08854934u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854934u) goto L_08854934; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854934u) goto L_08854934; AOT_REGCACHE_SYNC_OUT(); return; L_08854934: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088548D4; } @@ -2439,15 +2440,15 @@ L_08854934: L_0885493C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1805u); aot_gpr_31 = (0x08854954u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854954u) goto L_08854954; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854954u) goto L_08854954; AOT_REGCACHE_SYNC_OUT(); return; L_08854954: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088548D4; } @@ -2456,15 +2457,15 @@ L_08854954: L_0885495C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1809u); aot_gpr_31 = (0x08854974u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854974u) goto L_08854974; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854974u) goto L_08854974; AOT_REGCACHE_SYNC_OUT(); return; L_08854974: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088548D4; } @@ -2473,15 +2474,15 @@ L_08854974: L_0885497C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1822u); aot_gpr_31 = (0x08854994u); - ctx.gpr[8] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854994u) goto L_08854994; + aot_gpr_8 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854994u) goto L_08854994; AOT_REGCACHE_SYNC_OUT(); return; L_08854994: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088548D4; } @@ -2490,15 +2491,15 @@ L_08854994: L_0885499C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1798u); aot_gpr_31 = (0x088549B4u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088549B4u) goto L_088549B4; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088549B4u) goto L_088549B4; AOT_REGCACHE_SYNC_OUT(); return; L_088549B4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088548D4; } @@ -2507,15 +2508,15 @@ L_088549B4: L_088549BC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1801u); aot_gpr_31 = (0x088549D4u); - ctx.gpr[8] = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088549D4u) goto L_088549D4; + aot_gpr_8 = (0u | 4u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088549D4u) goto L_088549D4; AOT_REGCACHE_SYNC_OUT(); return; L_088549D4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088548D4; } @@ -2524,15 +2525,15 @@ L_088549D4: L_088549DC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1814u); aot_gpr_31 = (0x088549F4u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088549F4u) goto L_088549F4; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088549F4u) goto L_088549F4; AOT_REGCACHE_SYNC_OUT(); return; L_088549F4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088548D4; } @@ -2544,25 +2545,25 @@ L_088549FC: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x08854A10u); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854A10u) goto L_08854A10; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C971C, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854A10u) goto L_08854A10; AOT_REGCACHE_SYNC_OUT(); return; L_08854A10: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08854A1C: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-118)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(39) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(39) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_08854B7C; @@ -2583,14 +2584,14 @@ L_08854A40: L_08854A58: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1839u); aot_gpr_31 = (0x08854A70u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854A70u) goto L_08854A70; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854A70u) goto L_08854A70; AOT_REGCACHE_SYNC_OUT(); return; L_08854A70: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_08854A74; L_08854A74: { const bool branch_taken = 0u == 0u; @@ -2603,15 +2604,15 @@ L_08854A74: L_08854A7C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1841u); aot_gpr_31 = (0x08854A94u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854A94u) goto L_08854A94; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854A94u) goto L_08854A94; AOT_REGCACHE_SYNC_OUT(); return; L_08854A94: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08854A74; } @@ -2620,15 +2621,15 @@ L_08854A94: L_08854A9C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1836u); aot_gpr_31 = (0x08854AB4u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854AB4u) goto L_08854AB4; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854AB4u) goto L_08854AB4; AOT_REGCACHE_SYNC_OUT(); return; L_08854AB4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08854A74; } @@ -2637,15 +2638,15 @@ L_08854AB4: L_08854ABC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1832u); aot_gpr_31 = (0x08854AD4u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854AD4u) goto L_08854AD4; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854AD4u) goto L_08854AD4; AOT_REGCACHE_SYNC_OUT(); return; L_08854AD4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08854A74; } @@ -2654,15 +2655,15 @@ L_08854AD4: L_08854ADC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1830u); aot_gpr_31 = (0x08854AF4u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854AF4u) goto L_08854AF4; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854AF4u) goto L_08854AF4; AOT_REGCACHE_SYNC_OUT(); return; L_08854AF4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08854A74; } @@ -2671,15 +2672,15 @@ L_08854AF4: L_08854AFC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1834u); aot_gpr_31 = (0x08854B14u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854B14u) goto L_08854B14; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854B14u) goto L_08854B14; AOT_REGCACHE_SYNC_OUT(); return; L_08854B14: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08854A74; } @@ -2688,15 +2689,15 @@ L_08854B14: L_08854B1C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1844u); aot_gpr_31 = (0x08854B34u); - ctx.gpr[8] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854B34u) goto L_08854B34; + aot_gpr_8 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854B34u) goto L_08854B34; AOT_REGCACHE_SYNC_OUT(); return; L_08854B34: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08854A74; } @@ -2705,15 +2706,15 @@ L_08854B34: L_08854B3C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1823u); aot_gpr_31 = (0x08854B54u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854B54u) goto L_08854B54; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854B54u) goto L_08854B54; AOT_REGCACHE_SYNC_OUT(); return; L_08854B54: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08854A74; } @@ -2722,15 +2723,15 @@ L_08854B54: L_08854B5C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1826u); aot_gpr_31 = (0x08854B74u); - ctx.gpr[8] = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854B74u) goto L_08854B74; + aot_gpr_8 = (0u | 4u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854B74u) goto L_08854B74; AOT_REGCACHE_SYNC_OUT(); return; L_08854B74: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08854A74; } @@ -2742,25 +2743,25 @@ L_08854B7C: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x08854B90u); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854B90u) goto L_08854B90; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C971C, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854B90u) goto L_08854B90; AOT_REGCACHE_SYNC_OUT(); return; L_08854B90: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08854B9C: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-118)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(41) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(41) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_08854D1C; @@ -2781,14 +2782,14 @@ L_08854BC0: L_08854BD8: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1863u); aot_gpr_31 = (0x08854BF0u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854BF0u) goto L_08854BF0; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854BF0u) goto L_08854BF0; AOT_REGCACHE_SYNC_OUT(); return; L_08854BF0: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_08854BF4; L_08854BF4: { const bool branch_taken = 0u == 0u; @@ -2801,15 +2802,15 @@ L_08854BF4: L_08854BFC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1865u); aot_gpr_31 = (0x08854C14u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854C14u) goto L_08854C14; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854C14u) goto L_08854C14; AOT_REGCACHE_SYNC_OUT(); return; L_08854C14: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08854BF4; } @@ -2818,15 +2819,15 @@ L_08854C14: L_08854C1C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1858u); aot_gpr_31 = (0x08854C34u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854C34u) goto L_08854C34; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854C34u) goto L_08854C34; AOT_REGCACHE_SYNC_OUT(); return; L_08854C34: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08854BF4; } @@ -2835,15 +2836,15 @@ L_08854C34: L_08854C3C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1854u); aot_gpr_31 = (0x08854C54u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854C54u) goto L_08854C54; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854C54u) goto L_08854C54; AOT_REGCACHE_SYNC_OUT(); return; L_08854C54: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08854BF4; } @@ -2852,15 +2853,15 @@ L_08854C54: L_08854C5C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1852u); aot_gpr_31 = (0x08854C74u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854C74u) goto L_08854C74; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854C74u) goto L_08854C74; AOT_REGCACHE_SYNC_OUT(); return; L_08854C74: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08854BF4; } @@ -2869,15 +2870,15 @@ L_08854C74: L_08854C7C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1856u); aot_gpr_31 = (0x08854C94u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854C94u) goto L_08854C94; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854C94u) goto L_08854C94; AOT_REGCACHE_SYNC_OUT(); return; L_08854C94: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08854BF4; } @@ -2886,15 +2887,15 @@ L_08854C94: L_08854C9C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1868u); aot_gpr_31 = (0x08854CB4u); - ctx.gpr[8] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854CB4u) goto L_08854CB4; + aot_gpr_8 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854CB4u) goto L_08854CB4; AOT_REGCACHE_SYNC_OUT(); return; L_08854CB4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08854BF4; } @@ -2903,15 +2904,15 @@ L_08854CB4: L_08854CBC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1845u); aot_gpr_31 = (0x08854CD4u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854CD4u) goto L_08854CD4; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854CD4u) goto L_08854CD4; AOT_REGCACHE_SYNC_OUT(); return; L_08854CD4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08854BF4; } @@ -2920,15 +2921,15 @@ L_08854CD4: L_08854CDC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1848u); aot_gpr_31 = (0x08854CF4u); - ctx.gpr[8] = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854CF4u) goto L_08854CF4; + aot_gpr_8 = (0u | 4u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854CF4u) goto L_08854CF4; AOT_REGCACHE_SYNC_OUT(); return; L_08854CF4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08854BF4; } @@ -2937,15 +2938,15 @@ L_08854CF4: L_08854CFC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1860u); aot_gpr_31 = (0x08854D14u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854D14u) goto L_08854D14; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854D14u) goto L_08854D14; AOT_REGCACHE_SYNC_OUT(); return; L_08854D14: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08854BF4; } @@ -2957,25 +2958,25 @@ L_08854D1C: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x08854D30u); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854D30u) goto L_08854D30; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C971C, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854D30u) goto L_08854D30; AOT_REGCACHE_SYNC_OUT(); return; L_08854D30: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08854D3C: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-118)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(41) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(41) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_08854EBC; @@ -2996,14 +2997,14 @@ L_08854D60: L_08854D78: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1888u); aot_gpr_31 = (0x08854D90u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854D90u) goto L_08854D90; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854D90u) goto L_08854D90; AOT_REGCACHE_SYNC_OUT(); return; L_08854D90: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_08854D94; L_08854D94: { const bool branch_taken = 0u == 0u; @@ -3016,15 +3017,15 @@ L_08854D94: L_08854D9C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1890u); aot_gpr_31 = (0x08854DB4u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854DB4u) goto L_08854DB4; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854DB4u) goto L_08854DB4; AOT_REGCACHE_SYNC_OUT(); return; L_08854DB4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08854D94; } @@ -3033,15 +3034,15 @@ L_08854DB4: L_08854DBC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1882u); aot_gpr_31 = (0x08854DD4u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854DD4u) goto L_08854DD4; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854DD4u) goto L_08854DD4; AOT_REGCACHE_SYNC_OUT(); return; L_08854DD4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08854D94; } @@ -3050,15 +3051,15 @@ L_08854DD4: L_08854DDC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1878u); aot_gpr_31 = (0x08854DF4u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854DF4u) goto L_08854DF4; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854DF4u) goto L_08854DF4; AOT_REGCACHE_SYNC_OUT(); return; L_08854DF4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08854D94; } @@ -3067,15 +3068,15 @@ L_08854DF4: L_08854DFC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1876u); aot_gpr_31 = (0x08854E14u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854E14u) goto L_08854E14; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854E14u) goto L_08854E14; AOT_REGCACHE_SYNC_OUT(); return; L_08854E14: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08854D94; } @@ -3084,15 +3085,15 @@ L_08854E14: L_08854E1C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1880u); aot_gpr_31 = (0x08854E34u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854E34u) goto L_08854E34; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854E34u) goto L_08854E34; AOT_REGCACHE_SYNC_OUT(); return; L_08854E34: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08854D94; } @@ -3101,15 +3102,15 @@ L_08854E34: L_08854E3C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1893u); aot_gpr_31 = (0x08854E54u); - ctx.gpr[8] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854E54u) goto L_08854E54; + aot_gpr_8 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854E54u) goto L_08854E54; AOT_REGCACHE_SYNC_OUT(); return; L_08854E54: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08854D94; } @@ -3118,15 +3119,15 @@ L_08854E54: L_08854E5C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1869u); aot_gpr_31 = (0x08854E74u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854E74u) goto L_08854E74; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854E74u) goto L_08854E74; AOT_REGCACHE_SYNC_OUT(); return; L_08854E74: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08854D94; } @@ -3135,15 +3136,15 @@ L_08854E74: L_08854E7C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1872u); aot_gpr_31 = (0x08854E94u); - ctx.gpr[8] = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854E94u) goto L_08854E94; + aot_gpr_8 = (0u | 4u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854E94u) goto L_08854E94; AOT_REGCACHE_SYNC_OUT(); return; L_08854E94: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08854D94; } @@ -3152,15 +3153,15 @@ L_08854E94: L_08854E9C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1885u); aot_gpr_31 = (0x08854EB4u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854EB4u) goto L_08854EB4; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854EB4u) goto L_08854EB4; AOT_REGCACHE_SYNC_OUT(); return; L_08854EB4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08854D94; } @@ -3172,25 +3173,25 @@ L_08854EBC: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x08854ED0u); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854ED0u) goto L_08854ED0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C971C, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854ED0u) goto L_08854ED0; AOT_REGCACHE_SYNC_OUT(); return; L_08854ED0: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08854EDC: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-118)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(41) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(41) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_0885505C; @@ -3211,14 +3212,14 @@ L_08854F00: L_08854F18: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1913u); aot_gpr_31 = (0x08854F30u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854F30u) goto L_08854F30; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854F30u) goto L_08854F30; AOT_REGCACHE_SYNC_OUT(); return; L_08854F30: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_08854F34; L_08854F34: { const bool branch_taken = 0u == 0u; @@ -3231,15 +3232,15 @@ L_08854F34: L_08854F3C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1915u); aot_gpr_31 = (0x08854F54u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854F54u) goto L_08854F54; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854F54u) goto L_08854F54; AOT_REGCACHE_SYNC_OUT(); return; L_08854F54: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08854F34; } @@ -3248,15 +3249,15 @@ L_08854F54: L_08854F5C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1907u); aot_gpr_31 = (0x08854F74u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854F74u) goto L_08854F74; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854F74u) goto L_08854F74; AOT_REGCACHE_SYNC_OUT(); return; L_08854F74: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08854F34; } @@ -3265,15 +3266,15 @@ L_08854F74: L_08854F7C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1903u); aot_gpr_31 = (0x08854F94u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854F94u) goto L_08854F94; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854F94u) goto L_08854F94; AOT_REGCACHE_SYNC_OUT(); return; L_08854F94: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08854F34; } @@ -3282,15 +3283,15 @@ L_08854F94: L_08854F9C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1901u); aot_gpr_31 = (0x08854FB4u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854FB4u) goto L_08854FB4; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854FB4u) goto L_08854FB4; AOT_REGCACHE_SYNC_OUT(); return; L_08854FB4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08854F34; } @@ -3299,15 +3300,15 @@ L_08854FB4: L_08854FBC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1905u); aot_gpr_31 = (0x08854FD4u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854FD4u) goto L_08854FD4; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854FD4u) goto L_08854FD4; AOT_REGCACHE_SYNC_OUT(); return; L_08854FD4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08854F34; } @@ -3316,15 +3317,15 @@ L_08854FD4: L_08854FDC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1918u); aot_gpr_31 = (0x08854FF4u); - ctx.gpr[8] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854FF4u) goto L_08854FF4; + aot_gpr_8 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08854FF4u) goto L_08854FF4; AOT_REGCACHE_SYNC_OUT(); return; L_08854FF4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08854F34; } @@ -3333,15 +3334,15 @@ L_08854FF4: L_08854FFC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1894u); aot_gpr_31 = (0x08855014u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855014u) goto L_08855014; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855014u) goto L_08855014; AOT_REGCACHE_SYNC_OUT(); return; L_08855014: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08854F34; } @@ -3350,15 +3351,15 @@ L_08855014: L_0885501C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1897u); aot_gpr_31 = (0x08855034u); - ctx.gpr[8] = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855034u) goto L_08855034; + aot_gpr_8 = (0u | 4u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855034u) goto L_08855034; AOT_REGCACHE_SYNC_OUT(); return; L_08855034: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08854F34; } @@ -3367,15 +3368,15 @@ L_08855034: L_0885503C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1910u); aot_gpr_31 = (0x08855054u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855054u) goto L_08855054; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855054u) goto L_08855054; AOT_REGCACHE_SYNC_OUT(); return; L_08855054: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08854F34; } @@ -3387,25 +3388,25 @@ L_0885505C: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x08855070u); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855070u) goto L_08855070; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C971C, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855070u) goto L_08855070; AOT_REGCACHE_SYNC_OUT(); return; L_08855070: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0885507C: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-118)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(41) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(41) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_088551FC; @@ -3426,14 +3427,14 @@ L_088550A0: L_088550B8: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1938u); aot_gpr_31 = (0x088550D0u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088550D0u) goto L_088550D0; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088550D0u) goto L_088550D0; AOT_REGCACHE_SYNC_OUT(); return; L_088550D0: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_088550D4; L_088550D4: { const bool branch_taken = 0u == 0u; @@ -3446,15 +3447,15 @@ L_088550D4: L_088550DC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1940u); aot_gpr_31 = (0x088550F4u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088550F4u) goto L_088550F4; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088550F4u) goto L_088550F4; AOT_REGCACHE_SYNC_OUT(); return; L_088550F4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088550D4; } @@ -3463,15 +3464,15 @@ L_088550F4: L_088550FC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1932u); aot_gpr_31 = (0x08855114u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855114u) goto L_08855114; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855114u) goto L_08855114; AOT_REGCACHE_SYNC_OUT(); return; L_08855114: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088550D4; } @@ -3480,15 +3481,15 @@ L_08855114: L_0885511C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1928u); aot_gpr_31 = (0x08855134u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855134u) goto L_08855134; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855134u) goto L_08855134; AOT_REGCACHE_SYNC_OUT(); return; L_08855134: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088550D4; } @@ -3497,15 +3498,15 @@ L_08855134: L_0885513C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1926u); aot_gpr_31 = (0x08855154u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855154u) goto L_08855154; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855154u) goto L_08855154; AOT_REGCACHE_SYNC_OUT(); return; L_08855154: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088550D4; } @@ -3514,15 +3515,15 @@ L_08855154: L_0885515C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1930u); aot_gpr_31 = (0x08855174u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855174u) goto L_08855174; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855174u) goto L_08855174; AOT_REGCACHE_SYNC_OUT(); return; L_08855174: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088550D4; } @@ -3531,15 +3532,15 @@ L_08855174: L_0885517C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1943u); aot_gpr_31 = (0x08855194u); - ctx.gpr[8] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855194u) goto L_08855194; + aot_gpr_8 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855194u) goto L_08855194; AOT_REGCACHE_SYNC_OUT(); return; L_08855194: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088550D4; } @@ -3548,15 +3549,15 @@ L_08855194: L_0885519C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1919u); aot_gpr_31 = (0x088551B4u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088551B4u) goto L_088551B4; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088551B4u) goto L_088551B4; AOT_REGCACHE_SYNC_OUT(); return; L_088551B4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088550D4; } @@ -3565,15 +3566,15 @@ L_088551B4: L_088551BC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1922u); aot_gpr_31 = (0x088551D4u); - ctx.gpr[8] = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088551D4u) goto L_088551D4; + aot_gpr_8 = (0u | 4u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088551D4u) goto L_088551D4; AOT_REGCACHE_SYNC_OUT(); return; L_088551D4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088550D4; } @@ -3582,15 +3583,15 @@ L_088551D4: L_088551DC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1935u); aot_gpr_31 = (0x088551F4u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088551F4u) goto L_088551F4; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088551F4u) goto L_088551F4; AOT_REGCACHE_SYNC_OUT(); return; L_088551F4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088550D4; } @@ -3602,25 +3603,25 @@ L_088551FC: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x08855210u); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855210u) goto L_08855210; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C971C, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855210u) goto L_08855210; AOT_REGCACHE_SYNC_OUT(); return; L_08855210: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0885521C: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-118)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(41) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(41) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_0885539C; @@ -3641,14 +3642,14 @@ L_08855240: L_08855258: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1964u); aot_gpr_31 = (0x08855270u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855270u) goto L_08855270; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855270u) goto L_08855270; AOT_REGCACHE_SYNC_OUT(); return; L_08855270: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_08855274; L_08855274: { const bool branch_taken = 0u == 0u; @@ -3661,15 +3662,15 @@ L_08855274: L_0885527C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1966u); aot_gpr_31 = (0x08855294u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855294u) goto L_08855294; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855294u) goto L_08855294; AOT_REGCACHE_SYNC_OUT(); return; L_08855294: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08855274; } @@ -3678,15 +3679,15 @@ L_08855294: L_0885529C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1958u); aot_gpr_31 = (0x088552B4u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088552B4u) goto L_088552B4; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088552B4u) goto L_088552B4; AOT_REGCACHE_SYNC_OUT(); return; L_088552B4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08855274; } @@ -3695,15 +3696,15 @@ L_088552B4: L_088552BC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1954u); aot_gpr_31 = (0x088552D4u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088552D4u) goto L_088552D4; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088552D4u) goto L_088552D4; AOT_REGCACHE_SYNC_OUT(); return; L_088552D4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08855274; } @@ -3712,15 +3713,15 @@ L_088552D4: L_088552DC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1951u); aot_gpr_31 = (0x088552F4u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088552F4u) goto L_088552F4; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088552F4u) goto L_088552F4; AOT_REGCACHE_SYNC_OUT(); return; L_088552F4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08855274; } @@ -3729,15 +3730,15 @@ L_088552F4: L_088552FC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1956u); aot_gpr_31 = (0x08855314u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855314u) goto L_08855314; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855314u) goto L_08855314; AOT_REGCACHE_SYNC_OUT(); return; L_08855314: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08855274; } @@ -3746,15 +3747,15 @@ L_08855314: L_0885531C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1969u); aot_gpr_31 = (0x08855334u); - ctx.gpr[8] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855334u) goto L_08855334; + aot_gpr_8 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855334u) goto L_08855334; AOT_REGCACHE_SYNC_OUT(); return; L_08855334: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08855274; } @@ -3763,15 +3764,15 @@ L_08855334: L_0885533C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1944u); aot_gpr_31 = (0x08855354u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855354u) goto L_08855354; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855354u) goto L_08855354; AOT_REGCACHE_SYNC_OUT(); return; L_08855354: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08855274; } @@ -3780,15 +3781,15 @@ L_08855354: L_0885535C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1947u); aot_gpr_31 = (0x08855374u); - ctx.gpr[8] = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855374u) goto L_08855374; + aot_gpr_8 = (0u | 4u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855374u) goto L_08855374; AOT_REGCACHE_SYNC_OUT(); return; L_08855374: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08855274; } @@ -3797,15 +3798,15 @@ L_08855374: L_0885537C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1961u); aot_gpr_31 = (0x08855394u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855394u) goto L_08855394; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855394u) goto L_08855394; AOT_REGCACHE_SYNC_OUT(); return; L_08855394: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08855274; } @@ -3817,25 +3818,25 @@ L_0885539C: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x088553B0u); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088553B0u) goto L_088553B0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C971C, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088553B0u) goto L_088553B0; AOT_REGCACHE_SYNC_OUT(); return; L_088553B0: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_088553BC: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-118)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(41) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(41) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_0885553C; @@ -3856,14 +3857,14 @@ L_088553E0: L_088553F8: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1988u); aot_gpr_31 = (0x08855410u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855410u) goto L_08855410; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855410u) goto L_08855410; AOT_REGCACHE_SYNC_OUT(); return; L_08855410: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_08855414; L_08855414: { const bool branch_taken = 0u == 0u; @@ -3876,15 +3877,15 @@ L_08855414: L_0885541C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1990u); aot_gpr_31 = (0x08855434u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855434u) goto L_08855434; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855434u) goto L_08855434; AOT_REGCACHE_SYNC_OUT(); return; L_08855434: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08855414; } @@ -3893,15 +3894,15 @@ L_08855434: L_0885543C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1983u); aot_gpr_31 = (0x08855454u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855454u) goto L_08855454; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855454u) goto L_08855454; AOT_REGCACHE_SYNC_OUT(); return; L_08855454: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08855414; } @@ -3910,15 +3911,15 @@ L_08855454: L_0885545C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1979u); aot_gpr_31 = (0x08855474u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855474u) goto L_08855474; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855474u) goto L_08855474; AOT_REGCACHE_SYNC_OUT(); return; L_08855474: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08855414; } @@ -3927,15 +3928,15 @@ L_08855474: L_0885547C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1977u); aot_gpr_31 = (0x08855494u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855494u) goto L_08855494; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855494u) goto L_08855494; AOT_REGCACHE_SYNC_OUT(); return; L_08855494: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08855414; } @@ -3944,15 +3945,15 @@ L_08855494: L_0885549C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1981u); aot_gpr_31 = (0x088554B4u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088554B4u) goto L_088554B4; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088554B4u) goto L_088554B4; AOT_REGCACHE_SYNC_OUT(); return; L_088554B4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08855414; } @@ -3961,15 +3962,15 @@ L_088554B4: L_088554BC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1993u); aot_gpr_31 = (0x088554D4u); - ctx.gpr[8] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088554D4u) goto L_088554D4; + aot_gpr_8 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088554D4u) goto L_088554D4; AOT_REGCACHE_SYNC_OUT(); return; L_088554D4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08855414; } @@ -3978,15 +3979,15 @@ L_088554D4: L_088554DC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1970u); aot_gpr_31 = (0x088554F4u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088554F4u) goto L_088554F4; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088554F4u) goto L_088554F4; AOT_REGCACHE_SYNC_OUT(); return; L_088554F4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08855414; } @@ -3995,15 +3996,15 @@ L_088554F4: L_088554FC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1973u); aot_gpr_31 = (0x08855514u); - ctx.gpr[8] = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855514u) goto L_08855514; + aot_gpr_8 = (0u | 4u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855514u) goto L_08855514; AOT_REGCACHE_SYNC_OUT(); return; L_08855514: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08855414; } @@ -4012,15 +4013,15 @@ L_08855514: L_0885551C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1985u); aot_gpr_31 = (0x08855534u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855534u) goto L_08855534; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855534u) goto L_08855534; AOT_REGCACHE_SYNC_OUT(); return; L_08855534: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08855414; } @@ -4032,25 +4033,25 @@ L_0885553C: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x08855550u); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855550u) goto L_08855550; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C971C, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855550u) goto L_08855550; AOT_REGCACHE_SYNC_OUT(); return; L_08855550: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0885555C: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-118)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(41) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(41) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_088556DC; @@ -4071,14 +4072,14 @@ L_08855580: L_08855598: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2013u); aot_gpr_31 = (0x088555B0u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088555B0u) goto L_088555B0; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088555B0u) goto L_088555B0; AOT_REGCACHE_SYNC_OUT(); return; L_088555B0: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_088555B4; L_088555B4: { const bool branch_taken = 0u == 0u; @@ -4091,15 +4092,15 @@ L_088555B4: L_088555BC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2015u); aot_gpr_31 = (0x088555D4u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088555D4u) goto L_088555D4; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088555D4u) goto L_088555D4; AOT_REGCACHE_SYNC_OUT(); return; L_088555D4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088555B4; } @@ -4108,15 +4109,15 @@ L_088555D4: L_088555DC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2007u); aot_gpr_31 = (0x088555F4u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088555F4u) goto L_088555F4; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088555F4u) goto L_088555F4; AOT_REGCACHE_SYNC_OUT(); return; L_088555F4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088555B4; } @@ -4125,15 +4126,15 @@ L_088555F4: L_088555FC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2003u); aot_gpr_31 = (0x08855614u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855614u) goto L_08855614; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855614u) goto L_08855614; AOT_REGCACHE_SYNC_OUT(); return; L_08855614: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088555B4; } @@ -4142,15 +4143,15 @@ L_08855614: L_0885561C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2001u); aot_gpr_31 = (0x08855634u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855634u) goto L_08855634; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855634u) goto L_08855634; AOT_REGCACHE_SYNC_OUT(); return; L_08855634: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088555B4; } @@ -4159,15 +4160,15 @@ L_08855634: L_0885563C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2005u); aot_gpr_31 = (0x08855654u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855654u) goto L_08855654; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855654u) goto L_08855654; AOT_REGCACHE_SYNC_OUT(); return; L_08855654: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088555B4; } @@ -4176,15 +4177,15 @@ L_08855654: L_0885565C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2018u); aot_gpr_31 = (0x08855674u); - ctx.gpr[8] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855674u) goto L_08855674; + aot_gpr_8 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855674u) goto L_08855674; AOT_REGCACHE_SYNC_OUT(); return; L_08855674: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088555B4; } @@ -4193,15 +4194,15 @@ L_08855674: L_0885567C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1994u); aot_gpr_31 = (0x08855694u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855694u) goto L_08855694; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855694u) goto L_08855694; AOT_REGCACHE_SYNC_OUT(); return; L_08855694: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088555B4; } @@ -4210,15 +4211,15 @@ L_08855694: L_0885569C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 1997u); aot_gpr_31 = (0x088556B4u); - ctx.gpr[8] = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088556B4u) goto L_088556B4; + aot_gpr_8 = (0u | 4u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088556B4u) goto L_088556B4; AOT_REGCACHE_SYNC_OUT(); return; L_088556B4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088555B4; } @@ -4227,15 +4228,15 @@ L_088556B4: L_088556BC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2010u); aot_gpr_31 = (0x088556D4u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088556D4u) goto L_088556D4; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088556D4u) goto L_088556D4; AOT_REGCACHE_SYNC_OUT(); return; L_088556D4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088555B4; } @@ -4247,25 +4248,25 @@ L_088556DC: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x088556F0u); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088556F0u) goto L_088556F0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C971C, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088556F0u) goto L_088556F0; AOT_REGCACHE_SYNC_OUT(); return; L_088556F0: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_088556FC: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-118)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(41) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(41) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_0885587C; @@ -4286,14 +4287,14 @@ L_08855720: L_08855738: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2038u); aot_gpr_31 = (0x08855750u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855750u) goto L_08855750; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855750u) goto L_08855750; AOT_REGCACHE_SYNC_OUT(); return; L_08855750: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_08855754; L_08855754: { const bool branch_taken = 0u == 0u; @@ -4306,15 +4307,15 @@ L_08855754: L_0885575C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2040u); aot_gpr_31 = (0x08855774u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855774u) goto L_08855774; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855774u) goto L_08855774; AOT_REGCACHE_SYNC_OUT(); return; L_08855774: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08855754; } @@ -4323,15 +4324,15 @@ L_08855774: L_0885577C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2032u); aot_gpr_31 = (0x08855794u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855794u) goto L_08855794; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855794u) goto L_08855794; AOT_REGCACHE_SYNC_OUT(); return; L_08855794: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08855754; } @@ -4340,15 +4341,15 @@ L_08855794: L_0885579C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2028u); aot_gpr_31 = (0x088557B4u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088557B4u) goto L_088557B4; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088557B4u) goto L_088557B4; AOT_REGCACHE_SYNC_OUT(); return; L_088557B4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08855754; } @@ -4357,15 +4358,15 @@ L_088557B4: L_088557BC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2026u); aot_gpr_31 = (0x088557D4u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088557D4u) goto L_088557D4; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088557D4u) goto L_088557D4; AOT_REGCACHE_SYNC_OUT(); return; L_088557D4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08855754; } @@ -4374,15 +4375,15 @@ L_088557D4: L_088557DC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2030u); aot_gpr_31 = (0x088557F4u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088557F4u) goto L_088557F4; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088557F4u) goto L_088557F4; AOT_REGCACHE_SYNC_OUT(); return; L_088557F4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08855754; } @@ -4391,15 +4392,15 @@ L_088557F4: L_088557FC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2043u); aot_gpr_31 = (0x08855814u); - ctx.gpr[8] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855814u) goto L_08855814; + aot_gpr_8 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855814u) goto L_08855814; AOT_REGCACHE_SYNC_OUT(); return; L_08855814: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08855754; } @@ -4408,15 +4409,15 @@ L_08855814: L_0885581C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2019u); aot_gpr_31 = (0x08855834u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855834u) goto L_08855834; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855834u) goto L_08855834; AOT_REGCACHE_SYNC_OUT(); return; L_08855834: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08855754; } @@ -4425,15 +4426,15 @@ L_08855834: L_0885583C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2022u); aot_gpr_31 = (0x08855854u); - ctx.gpr[8] = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855854u) goto L_08855854; + aot_gpr_8 = (0u | 4u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855854u) goto L_08855854; AOT_REGCACHE_SYNC_OUT(); return; L_08855854: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08855754; } @@ -4442,15 +4443,15 @@ L_08855854: L_0885585C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2035u); aot_gpr_31 = (0x08855874u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855874u) goto L_08855874; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855874u) goto L_08855874; AOT_REGCACHE_SYNC_OUT(); return; L_08855874: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08855754; } @@ -4462,25 +4463,25 @@ L_0885587C: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x08855890u); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855890u) goto L_08855890; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C971C, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855890u) goto L_08855890; AOT_REGCACHE_SYNC_OUT(); return; L_08855890: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0885589C: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-118)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(41) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(41) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_08855A1C; @@ -4501,14 +4502,14 @@ L_088558C0: L_088558D8: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2063u); aot_gpr_31 = (0x088558F0u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088558F0u) goto L_088558F0; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088558F0u) goto L_088558F0; AOT_REGCACHE_SYNC_OUT(); return; L_088558F0: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_088558F4; L_088558F4: { const bool branch_taken = 0u == 0u; @@ -4521,15 +4522,15 @@ L_088558F4: L_088558FC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2065u); aot_gpr_31 = (0x08855914u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855914u) goto L_08855914; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855914u) goto L_08855914; AOT_REGCACHE_SYNC_OUT(); return; L_08855914: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088558F4; } @@ -4538,15 +4539,15 @@ L_08855914: L_0885591C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2057u); aot_gpr_31 = (0x08855934u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855934u) goto L_08855934; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855934u) goto L_08855934; AOT_REGCACHE_SYNC_OUT(); return; L_08855934: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088558F4; } @@ -4555,15 +4556,15 @@ L_08855934: L_0885593C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2053u); aot_gpr_31 = (0x08855954u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855954u) goto L_08855954; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855954u) goto L_08855954; AOT_REGCACHE_SYNC_OUT(); return; L_08855954: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088558F4; } @@ -4572,15 +4573,15 @@ L_08855954: L_0885595C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2051u); aot_gpr_31 = (0x08855974u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855974u) goto L_08855974; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855974u) goto L_08855974; AOT_REGCACHE_SYNC_OUT(); return; L_08855974: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088558F4; } @@ -4589,15 +4590,15 @@ L_08855974: L_0885597C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2055u); aot_gpr_31 = (0x08855994u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855994u) goto L_08855994; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855994u) goto L_08855994; AOT_REGCACHE_SYNC_OUT(); return; L_08855994: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088558F4; } @@ -4606,15 +4607,15 @@ L_08855994: L_0885599C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2068u); aot_gpr_31 = (0x088559B4u); - ctx.gpr[8] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088559B4u) goto L_088559B4; + aot_gpr_8 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088559B4u) goto L_088559B4; AOT_REGCACHE_SYNC_OUT(); return; L_088559B4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088558F4; } @@ -4623,15 +4624,15 @@ L_088559B4: L_088559BC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2044u); aot_gpr_31 = (0x088559D4u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088559D4u) goto L_088559D4; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088559D4u) goto L_088559D4; AOT_REGCACHE_SYNC_OUT(); return; L_088559D4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088558F4; } @@ -4640,15 +4641,15 @@ L_088559D4: L_088559DC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2047u); aot_gpr_31 = (0x088559F4u); - ctx.gpr[8] = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088559F4u) goto L_088559F4; + aot_gpr_8 = (0u | 4u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088559F4u) goto L_088559F4; AOT_REGCACHE_SYNC_OUT(); return; L_088559F4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088558F4; } @@ -4657,15 +4658,15 @@ L_088559F4: L_088559FC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2060u); aot_gpr_31 = (0x08855A14u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855A14u) goto L_08855A14; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855A14u) goto L_08855A14; AOT_REGCACHE_SYNC_OUT(); return; L_08855A14: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088558F4; } @@ -4677,25 +4678,25 @@ L_08855A1C: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x08855A30u); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855A30u) goto L_08855A30; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C971C, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855A30u) goto L_08855A30; AOT_REGCACHE_SYNC_OUT(); return; L_08855A30: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08855A3C: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-118)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(41) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(41) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_08855BBC; @@ -4716,14 +4717,14 @@ L_08855A60: L_08855A78: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2088u); aot_gpr_31 = (0x08855A90u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855A90u) goto L_08855A90; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855A90u) goto L_08855A90; AOT_REGCACHE_SYNC_OUT(); return; L_08855A90: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_08855A94; L_08855A94: { const bool branch_taken = 0u == 0u; @@ -4736,15 +4737,15 @@ L_08855A94: L_08855A9C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2090u); aot_gpr_31 = (0x08855AB4u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855AB4u) goto L_08855AB4; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855AB4u) goto L_08855AB4; AOT_REGCACHE_SYNC_OUT(); return; L_08855AB4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08855A94; } @@ -4753,15 +4754,15 @@ L_08855AB4: L_08855ABC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2082u); aot_gpr_31 = (0x08855AD4u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855AD4u) goto L_08855AD4; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855AD4u) goto L_08855AD4; AOT_REGCACHE_SYNC_OUT(); return; L_08855AD4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08855A94; } @@ -4770,15 +4771,15 @@ L_08855AD4: L_08855ADC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2078u); aot_gpr_31 = (0x08855AF4u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855AF4u) goto L_08855AF4; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855AF4u) goto L_08855AF4; AOT_REGCACHE_SYNC_OUT(); return; L_08855AF4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08855A94; } @@ -4787,15 +4788,15 @@ L_08855AF4: L_08855AFC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2076u); aot_gpr_31 = (0x08855B14u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855B14u) goto L_08855B14; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855B14u) goto L_08855B14; AOT_REGCACHE_SYNC_OUT(); return; L_08855B14: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08855A94; } @@ -4804,15 +4805,15 @@ L_08855B14: L_08855B1C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2080u); aot_gpr_31 = (0x08855B34u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855B34u) goto L_08855B34; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855B34u) goto L_08855B34; AOT_REGCACHE_SYNC_OUT(); return; L_08855B34: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08855A94; } @@ -4821,15 +4822,15 @@ L_08855B34: L_08855B3C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2093u); aot_gpr_31 = (0x08855B54u); - ctx.gpr[8] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855B54u) goto L_08855B54; + aot_gpr_8 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855B54u) goto L_08855B54; AOT_REGCACHE_SYNC_OUT(); return; L_08855B54: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08855A94; } @@ -4838,15 +4839,15 @@ L_08855B54: L_08855B5C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2069u); aot_gpr_31 = (0x08855B74u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855B74u) goto L_08855B74; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855B74u) goto L_08855B74; AOT_REGCACHE_SYNC_OUT(); return; L_08855B74: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08855A94; } @@ -4855,15 +4856,15 @@ L_08855B74: L_08855B7C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2072u); aot_gpr_31 = (0x08855B94u); - ctx.gpr[8] = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855B94u) goto L_08855B94; + aot_gpr_8 = (0u | 4u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855B94u) goto L_08855B94; AOT_REGCACHE_SYNC_OUT(); return; L_08855B94: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08855A94; } @@ -4872,15 +4873,15 @@ L_08855B94: L_08855B9C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2085u); aot_gpr_31 = (0x08855BB4u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855BB4u) goto L_08855BB4; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855BB4u) goto L_08855BB4; AOT_REGCACHE_SYNC_OUT(); return; L_08855BB4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08855A94; } @@ -4892,25 +4893,25 @@ L_08855BBC: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x08855BD0u); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855BD0u) goto L_08855BD0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855BD0u) goto L_08855BD0; AOT_REGCACHE_SYNC_OUT(); return; L_08855BD0: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08855BDC: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-118)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(39) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(39) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_08855D3C; @@ -4931,14 +4932,14 @@ L_08855C00: L_08855C18: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2110u); aot_gpr_31 = (0x08855C30u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855C30u) goto L_08855C30; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855C30u) goto L_08855C30; AOT_REGCACHE_SYNC_OUT(); return; L_08855C30: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_08855C34; L_08855C34: { const bool branch_taken = 0u == 0u; @@ -4951,15 +4952,15 @@ L_08855C34: L_08855C3C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2112u); aot_gpr_31 = (0x08855C54u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855C54u) goto L_08855C54; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855C54u) goto L_08855C54; AOT_REGCACHE_SYNC_OUT(); return; L_08855C54: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08855C34; } @@ -4968,15 +4969,15 @@ L_08855C54: L_08855C5C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2107u); aot_gpr_31 = (0x08855C74u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855C74u) goto L_08855C74; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855C74u) goto L_08855C74; AOT_REGCACHE_SYNC_OUT(); return; L_08855C74: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08855C34; } @@ -4985,15 +4986,15 @@ L_08855C74: L_08855C7C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2103u); aot_gpr_31 = (0x08855C94u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855C94u) goto L_08855C94; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855C94u) goto L_08855C94; AOT_REGCACHE_SYNC_OUT(); return; L_08855C94: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08855C34; } @@ -5002,15 +5003,15 @@ L_08855C94: L_08855C9C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2101u); aot_gpr_31 = (0x08855CB4u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855CB4u) goto L_08855CB4; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855CB4u) goto L_08855CB4; AOT_REGCACHE_SYNC_OUT(); return; L_08855CB4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08855C34; } @@ -5019,15 +5020,15 @@ L_08855CB4: L_08855CBC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2105u); aot_gpr_31 = (0x08855CD4u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855CD4u) goto L_08855CD4; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855CD4u) goto L_08855CD4; AOT_REGCACHE_SYNC_OUT(); return; L_08855CD4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08855C34; } @@ -5036,15 +5037,15 @@ L_08855CD4: L_08855CDC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2115u); aot_gpr_31 = (0x08855CF4u); - ctx.gpr[8] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855CF4u) goto L_08855CF4; + aot_gpr_8 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855CF4u) goto L_08855CF4; AOT_REGCACHE_SYNC_OUT(); return; L_08855CF4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08855C34; } @@ -5053,15 +5054,15 @@ L_08855CF4: L_08855CFC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2094u); aot_gpr_31 = (0x08855D14u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855D14u) goto L_08855D14; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855D14u) goto L_08855D14; AOT_REGCACHE_SYNC_OUT(); return; L_08855D14: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08855C34; } @@ -5070,15 +5071,15 @@ L_08855D14: L_08855D1C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2097u); aot_gpr_31 = (0x08855D34u); - ctx.gpr[8] = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855D34u) goto L_08855D34; + aot_gpr_8 = (0u | 4u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855D34u) goto L_08855D34; AOT_REGCACHE_SYNC_OUT(); return; L_08855D34: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08855C34; } @@ -5090,23 +5091,23 @@ L_08855D3C: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x08855D50u); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855D50u) goto L_08855D50; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855D50u) goto L_08855D50; AOT_REGCACHE_SYNC_OUT(); return; L_08855D50: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08855D5C: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (2237u << 16u); aot_gpr_6 = (aot_gpr_6 & 65535u); aot_gpr_7 = (0u | 159u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); { const bool branch_taken = aot_gpr_6 == aot_gpr_7; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { @@ -5142,14 +5143,14 @@ L_08855D90: L_08855D98: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2122u); aot_gpr_31 = (0x08855DB0u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855DB0u) goto L_08855DB0; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855DB0u) goto L_08855DB0; AOT_REGCACHE_SYNC_OUT(); return; L_08855DB0: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_08855DB4; L_08855DB4: { const bool branch_taken = 0u == 0u; @@ -5162,15 +5163,15 @@ L_08855DB4: L_08855DBC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2119u); aot_gpr_31 = (0x08855DD4u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855DD4u) goto L_08855DD4; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855DD4u) goto L_08855DD4; AOT_REGCACHE_SYNC_OUT(); return; L_08855DD4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08855DB4; } @@ -5179,15 +5180,15 @@ L_08855DD4: L_08855DDC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2116u); aot_gpr_31 = (0x08855DF4u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855DF4u) goto L_08855DF4; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855DF4u) goto L_08855DF4; AOT_REGCACHE_SYNC_OUT(); return; L_08855DF4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08855DB4; } @@ -5196,15 +5197,15 @@ L_08855DF4: L_08855DFC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2125u); aot_gpr_31 = (0x08855E14u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855E14u) goto L_08855E14; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855E14u) goto L_08855E14; AOT_REGCACHE_SYNC_OUT(); return; L_08855E14: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08855DB4; } @@ -5215,23 +5216,23 @@ L_08855E1C: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x08855E2Cu); aot_gpr_5 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855E2Cu) goto L_08855E2C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855E2Cu) goto L_08855E2C; AOT_REGCACHE_SYNC_OUT(); return; L_08855E2C: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08855E38: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (2237u << 16u); aot_gpr_6 = (aot_gpr_6 & 65535u); aot_gpr_7 = (0u | 159u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); { const bool branch_taken = aot_gpr_6 == aot_gpr_7; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { @@ -5267,14 +5268,14 @@ L_08855E6C: L_08855E74: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2134u); aot_gpr_31 = (0x08855E8Cu); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855E8Cu) goto L_08855E8C; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855E8Cu) goto L_08855E8C; AOT_REGCACHE_SYNC_OUT(); return; L_08855E8C: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_08855E90; L_08855E90: { const bool branch_taken = 0u == 0u; @@ -5287,15 +5288,15 @@ L_08855E90: L_08855E98: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2131u); aot_gpr_31 = (0x08855EB0u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855EB0u) goto L_08855EB0; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855EB0u) goto L_08855EB0; AOT_REGCACHE_SYNC_OUT(); return; L_08855EB0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08855E90; } @@ -5304,15 +5305,15 @@ L_08855EB0: L_08855EB8: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2128u); aot_gpr_31 = (0x08855ED0u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855ED0u) goto L_08855ED0; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855ED0u) goto L_08855ED0; AOT_REGCACHE_SYNC_OUT(); return; L_08855ED0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08855E90; } @@ -5321,15 +5322,15 @@ L_08855ED0: L_08855ED8: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2137u); aot_gpr_31 = (0x08855EF0u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855EF0u) goto L_08855EF0; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855EF0u) goto L_08855EF0; AOT_REGCACHE_SYNC_OUT(); return; L_08855EF0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08855E90; } @@ -5340,23 +5341,23 @@ L_08855EF8: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x08855F08u); aot_gpr_5 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855F08u) goto L_08855F08; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855F08u) goto L_08855F08; AOT_REGCACHE_SYNC_OUT(); return; L_08855F08: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08855F14: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (2237u << 16u); aot_gpr_6 = (aot_gpr_6 & 65535u); aot_gpr_7 = (0u | 159u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); { const bool branch_taken = aot_gpr_6 == aot_gpr_7; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { @@ -5392,14 +5393,14 @@ L_08855F48: L_08855F50: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2146u); aot_gpr_31 = (0x08855F68u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855F68u) goto L_08855F68; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855F68u) goto L_08855F68; AOT_REGCACHE_SYNC_OUT(); return; L_08855F68: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_08855F6C; L_08855F6C: { const bool branch_taken = 0u == 0u; @@ -5412,15 +5413,15 @@ L_08855F6C: L_08855F74: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2143u); aot_gpr_31 = (0x08855F8Cu); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855F8Cu) goto L_08855F8C; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855F8Cu) goto L_08855F8C; AOT_REGCACHE_SYNC_OUT(); return; L_08855F8C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08855F6C; } @@ -5429,15 +5430,15 @@ L_08855F8C: L_08855F94: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2140u); aot_gpr_31 = (0x08855FACu); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855FACu) goto L_08855FAC; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855FACu) goto L_08855FAC; AOT_REGCACHE_SYNC_OUT(); return; L_08855FAC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08855F6C; } @@ -5446,15 +5447,15 @@ L_08855FAC: L_08855FB4: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2148u); aot_gpr_31 = (0x08855FCCu); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855FCCu) goto L_08855FCC; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855FCCu) goto L_08855FCC; AOT_REGCACHE_SYNC_OUT(); return; L_08855FCC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08855F6C; } @@ -5465,25 +5466,25 @@ L_08855FD4: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x08855FE4u); aot_gpr_5 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855FE4u) goto L_08855FE4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08855FE4u) goto L_08855FE4; AOT_REGCACHE_SYNC_OUT(); return; L_08855FE4: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08855FF0: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-118)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(41) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(41) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_08856170; @@ -5504,14 +5505,14 @@ L_08856014: L_0885602C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2170u); aot_gpr_31 = (0x08856044u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856044u) goto L_08856044; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856044u) goto L_08856044; AOT_REGCACHE_SYNC_OUT(); return; L_08856044: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_08856048; L_08856048: { const bool branch_taken = 0u == 0u; @@ -5524,15 +5525,15 @@ L_08856048: L_08856050: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2173u); aot_gpr_31 = (0x08856068u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856068u) goto L_08856068; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856068u) goto L_08856068; AOT_REGCACHE_SYNC_OUT(); return; L_08856068: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08856048; } @@ -5541,15 +5542,15 @@ L_08856068: L_08856070: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2164u); aot_gpr_31 = (0x08856088u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856088u) goto L_08856088; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856088u) goto L_08856088; AOT_REGCACHE_SYNC_OUT(); return; L_08856088: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08856048; } @@ -5558,15 +5559,15 @@ L_08856088: L_08856090: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2160u); aot_gpr_31 = (0x088560A8u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088560A8u) goto L_088560A8; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088560A8u) goto L_088560A8; AOT_REGCACHE_SYNC_OUT(); return; L_088560A8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08856048; } @@ -5575,15 +5576,15 @@ L_088560A8: L_088560B0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2158u); aot_gpr_31 = (0x088560C8u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088560C8u) goto L_088560C8; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088560C8u) goto L_088560C8; AOT_REGCACHE_SYNC_OUT(); return; L_088560C8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08856048; } @@ -5592,15 +5593,15 @@ L_088560C8: L_088560D0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2162u); aot_gpr_31 = (0x088560E8u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088560E8u) goto L_088560E8; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088560E8u) goto L_088560E8; AOT_REGCACHE_SYNC_OUT(); return; L_088560E8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08856048; } @@ -5609,15 +5610,15 @@ L_088560E8: L_088560F0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2176u); aot_gpr_31 = (0x08856108u); - ctx.gpr[8] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856108u) goto L_08856108; + aot_gpr_8 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856108u) goto L_08856108; AOT_REGCACHE_SYNC_OUT(); return; L_08856108: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08856048; } @@ -5626,15 +5627,15 @@ L_08856108: L_08856110: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2151u); aot_gpr_31 = (0x08856128u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856128u) goto L_08856128; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856128u) goto L_08856128; AOT_REGCACHE_SYNC_OUT(); return; L_08856128: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08856048; } @@ -5643,15 +5644,15 @@ L_08856128: L_08856130: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2154u); aot_gpr_31 = (0x08856148u); - ctx.gpr[8] = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856148u) goto L_08856148; + aot_gpr_8 = (0u | 4u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856148u) goto L_08856148; AOT_REGCACHE_SYNC_OUT(); return; L_08856148: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08856048; } @@ -5660,15 +5661,15 @@ L_08856148: L_08856150: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2167u); aot_gpr_31 = (0x08856168u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856168u) goto L_08856168; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856168u) goto L_08856168; AOT_REGCACHE_SYNC_OUT(); return; L_08856168: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08856048; } @@ -5680,25 +5681,25 @@ L_08856170: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x08856184u); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856184u) goto L_08856184; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856184u) goto L_08856184; AOT_REGCACHE_SYNC_OUT(); return; L_08856184: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08856190: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-118)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(41) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(41) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_08856310; @@ -5719,14 +5720,14 @@ L_088561B4: L_088561CC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2196u); aot_gpr_31 = (0x088561E4u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088561E4u) goto L_088561E4; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088561E4u) goto L_088561E4; AOT_REGCACHE_SYNC_OUT(); return; L_088561E4: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_088561E8; L_088561E8: { const bool branch_taken = 0u == 0u; @@ -5739,15 +5740,15 @@ L_088561E8: L_088561F0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2198u); aot_gpr_31 = (0x08856208u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856208u) goto L_08856208; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856208u) goto L_08856208; AOT_REGCACHE_SYNC_OUT(); return; L_08856208: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088561E8; } @@ -5756,15 +5757,15 @@ L_08856208: L_08856210: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2190u); aot_gpr_31 = (0x08856228u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856228u) goto L_08856228; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856228u) goto L_08856228; AOT_REGCACHE_SYNC_OUT(); return; L_08856228: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088561E8; } @@ -5773,15 +5774,15 @@ L_08856228: L_08856230: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2186u); aot_gpr_31 = (0x08856248u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856248u) goto L_08856248; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856248u) goto L_08856248; AOT_REGCACHE_SYNC_OUT(); return; L_08856248: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088561E8; } @@ -5790,15 +5791,15 @@ L_08856248: L_08856250: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2184u); aot_gpr_31 = (0x08856268u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856268u) goto L_08856268; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856268u) goto L_08856268; AOT_REGCACHE_SYNC_OUT(); return; L_08856268: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088561E8; } @@ -5807,15 +5808,15 @@ L_08856268: L_08856270: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2188u); aot_gpr_31 = (0x08856288u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856288u) goto L_08856288; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856288u) goto L_08856288; AOT_REGCACHE_SYNC_OUT(); return; L_08856288: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088561E8; } @@ -5824,15 +5825,15 @@ L_08856288: L_08856290: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2201u); aot_gpr_31 = (0x088562A8u); - ctx.gpr[8] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088562A8u) goto L_088562A8; + aot_gpr_8 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088562A8u) goto L_088562A8; AOT_REGCACHE_SYNC_OUT(); return; L_088562A8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088561E8; } @@ -5841,15 +5842,15 @@ L_088562A8: L_088562B0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2177u); aot_gpr_31 = (0x088562C8u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088562C8u) goto L_088562C8; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088562C8u) goto L_088562C8; AOT_REGCACHE_SYNC_OUT(); return; L_088562C8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088561E8; } @@ -5858,15 +5859,15 @@ L_088562C8: L_088562D0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2180u); aot_gpr_31 = (0x088562E8u); - ctx.gpr[8] = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088562E8u) goto L_088562E8; + aot_gpr_8 = (0u | 4u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088562E8u) goto L_088562E8; AOT_REGCACHE_SYNC_OUT(); return; L_088562E8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088561E8; } @@ -5875,15 +5876,15 @@ L_088562E8: L_088562F0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2193u); aot_gpr_31 = (0x08856308u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856308u) goto L_08856308; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856308u) goto L_08856308; AOT_REGCACHE_SYNC_OUT(); return; L_08856308: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088561E8; } @@ -5895,25 +5896,25 @@ L_08856310: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x08856324u); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856324u) goto L_08856324; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856324u) goto L_08856324; AOT_REGCACHE_SYNC_OUT(); return; L_08856324: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08856330: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-118)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(41) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(41) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_088564B0; @@ -5934,14 +5935,14 @@ L_08856354: L_0885636C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2222u); aot_gpr_31 = (0x08856384u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856384u) goto L_08856384; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856384u) goto L_08856384; AOT_REGCACHE_SYNC_OUT(); return; L_08856384: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_08856388; L_08856388: { const bool branch_taken = 0u == 0u; @@ -5954,15 +5955,15 @@ L_08856388: L_08856390: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2224u); aot_gpr_31 = (0x088563A8u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088563A8u) goto L_088563A8; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088563A8u) goto L_088563A8; AOT_REGCACHE_SYNC_OUT(); return; L_088563A8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08856388; } @@ -5971,15 +5972,15 @@ L_088563A8: L_088563B0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2215u); aot_gpr_31 = (0x088563C8u); - ctx.gpr[8] = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088563C8u) goto L_088563C8; + aot_gpr_8 = (0u | 4u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088563C8u) goto L_088563C8; AOT_REGCACHE_SYNC_OUT(); return; L_088563C8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08856388; } @@ -5988,15 +5989,15 @@ L_088563C8: L_088563D0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2211u); aot_gpr_31 = (0x088563E8u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088563E8u) goto L_088563E8; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088563E8u) goto L_088563E8; AOT_REGCACHE_SYNC_OUT(); return; L_088563E8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08856388; } @@ -6005,15 +6006,15 @@ L_088563E8: L_088563F0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2209u); aot_gpr_31 = (0x08856408u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856408u) goto L_08856408; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856408u) goto L_08856408; AOT_REGCACHE_SYNC_OUT(); return; L_08856408: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08856388; } @@ -6022,15 +6023,15 @@ L_08856408: L_08856410: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2213u); aot_gpr_31 = (0x08856428u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856428u) goto L_08856428; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856428u) goto L_08856428; AOT_REGCACHE_SYNC_OUT(); return; L_08856428: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08856388; } @@ -6039,15 +6040,15 @@ L_08856428: L_08856430: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2226u); aot_gpr_31 = (0x08856448u); - ctx.gpr[8] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856448u) goto L_08856448; + aot_gpr_8 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856448u) goto L_08856448; AOT_REGCACHE_SYNC_OUT(); return; L_08856448: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08856388; } @@ -6056,15 +6057,15 @@ L_08856448: L_08856450: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2202u); aot_gpr_31 = (0x08856468u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856468u) goto L_08856468; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856468u) goto L_08856468; AOT_REGCACHE_SYNC_OUT(); return; L_08856468: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08856388; } @@ -6073,15 +6074,15 @@ L_08856468: L_08856470: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2205u); aot_gpr_31 = (0x08856488u); - ctx.gpr[8] = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856488u) goto L_08856488; + aot_gpr_8 = (0u | 4u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856488u) goto L_08856488; AOT_REGCACHE_SYNC_OUT(); return; L_08856488: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08856388; } @@ -6090,15 +6091,15 @@ L_08856488: L_08856490: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2219u); aot_gpr_31 = (0x088564A8u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088564A8u) goto L_088564A8; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088564A8u) goto L_088564A8; AOT_REGCACHE_SYNC_OUT(); return; L_088564A8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08856388; } @@ -6110,25 +6111,25 @@ L_088564B0: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x088564C4u); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088564C4u) goto L_088564C4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088564C4u) goto L_088564C4; AOT_REGCACHE_SYNC_OUT(); return; L_088564C4: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_088564D0: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-118)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(41) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(41) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_08856630; @@ -6149,14 +6150,14 @@ L_088564F4: L_0885650C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2246u); aot_gpr_31 = (0x08856524u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856524u) goto L_08856524; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856524u) goto L_08856524; AOT_REGCACHE_SYNC_OUT(); return; L_08856524: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_08856528; L_08856528: { const bool branch_taken = 0u == 0u; @@ -6169,15 +6170,15 @@ L_08856528: L_08856530: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2249u); aot_gpr_31 = (0x08856548u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856548u) goto L_08856548; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856548u) goto L_08856548; AOT_REGCACHE_SYNC_OUT(); return; L_08856548: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08856528; } @@ -6186,15 +6187,15 @@ L_08856548: L_08856550: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2240u); aot_gpr_31 = (0x08856568u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856568u) goto L_08856568; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856568u) goto L_08856568; AOT_REGCACHE_SYNC_OUT(); return; L_08856568: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08856528; } @@ -6203,15 +6204,15 @@ L_08856568: L_08856570: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2236u); aot_gpr_31 = (0x08856588u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856588u) goto L_08856588; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856588u) goto L_08856588; AOT_REGCACHE_SYNC_OUT(); return; L_08856588: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08856528; } @@ -6220,15 +6221,15 @@ L_08856588: L_08856590: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2234u); aot_gpr_31 = (0x088565A8u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088565A8u) goto L_088565A8; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088565A8u) goto L_088565A8; AOT_REGCACHE_SYNC_OUT(); return; L_088565A8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08856528; } @@ -6237,15 +6238,15 @@ L_088565A8: L_088565B0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2238u); aot_gpr_31 = (0x088565C8u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088565C8u) goto L_088565C8; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088565C8u) goto L_088565C8; AOT_REGCACHE_SYNC_OUT(); return; L_088565C8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08856528; } @@ -6254,15 +6255,15 @@ L_088565C8: L_088565D0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2227u); aot_gpr_31 = (0x088565E8u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088565E8u) goto L_088565E8; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088565E8u) goto L_088565E8; AOT_REGCACHE_SYNC_OUT(); return; L_088565E8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08856528; } @@ -6271,15 +6272,15 @@ L_088565E8: L_088565F0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2230u); aot_gpr_31 = (0x08856608u); - ctx.gpr[8] = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856608u) goto L_08856608; + aot_gpr_8 = (0u | 4u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856608u) goto L_08856608; AOT_REGCACHE_SYNC_OUT(); return; L_08856608: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08856528; } @@ -6288,15 +6289,15 @@ L_08856608: L_08856610: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2243u); aot_gpr_31 = (0x08856628u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856628u) goto L_08856628; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856628u) goto L_08856628; AOT_REGCACHE_SYNC_OUT(); return; L_08856628: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08856528; } @@ -6308,25 +6309,25 @@ L_08856630: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x08856644u); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856644u) goto L_08856644; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856644u) goto L_08856644; AOT_REGCACHE_SYNC_OUT(); return; L_08856644: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08856650: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-118)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(41) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(41) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_088567D0; @@ -6347,14 +6348,14 @@ L_08856674: L_0885668C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2271u); aot_gpr_31 = (0x088566A4u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088566A4u) goto L_088566A4; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088566A4u) goto L_088566A4; AOT_REGCACHE_SYNC_OUT(); return; L_088566A4: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_088566A8; L_088566A8: { const bool branch_taken = 0u == 0u; @@ -6367,15 +6368,15 @@ L_088566A8: L_088566B0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2273u); aot_gpr_31 = (0x088566C8u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088566C8u) goto L_088566C8; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088566C8u) goto L_088566C8; AOT_REGCACHE_SYNC_OUT(); return; L_088566C8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088566A8; } @@ -6384,15 +6385,15 @@ L_088566C8: L_088566D0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2265u); aot_gpr_31 = (0x088566E8u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088566E8u) goto L_088566E8; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088566E8u) goto L_088566E8; AOT_REGCACHE_SYNC_OUT(); return; L_088566E8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088566A8; } @@ -6401,15 +6402,15 @@ L_088566E8: L_088566F0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2261u); aot_gpr_31 = (0x08856708u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856708u) goto L_08856708; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856708u) goto L_08856708; AOT_REGCACHE_SYNC_OUT(); return; L_08856708: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088566A8; } @@ -6418,15 +6419,15 @@ L_08856708: L_08856710: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2259u); aot_gpr_31 = (0x08856728u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856728u) goto L_08856728; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856728u) goto L_08856728; AOT_REGCACHE_SYNC_OUT(); return; L_08856728: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088566A8; } @@ -6435,15 +6436,15 @@ L_08856728: L_08856730: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2263u); aot_gpr_31 = (0x08856748u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856748u) goto L_08856748; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856748u) goto L_08856748; AOT_REGCACHE_SYNC_OUT(); return; L_08856748: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088566A8; } @@ -6452,15 +6453,15 @@ L_08856748: L_08856750: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2275u); aot_gpr_31 = (0x08856768u); - ctx.gpr[8] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856768u) goto L_08856768; + aot_gpr_8 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856768u) goto L_08856768; AOT_REGCACHE_SYNC_OUT(); return; L_08856768: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088566A8; } @@ -6469,15 +6470,15 @@ L_08856768: L_08856770: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2252u); aot_gpr_31 = (0x08856788u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856788u) goto L_08856788; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856788u) goto L_08856788; AOT_REGCACHE_SYNC_OUT(); return; L_08856788: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088566A8; } @@ -6486,15 +6487,15 @@ L_08856788: L_08856790: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2255u); aot_gpr_31 = (0x088567A8u); - ctx.gpr[8] = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088567A8u) goto L_088567A8; + aot_gpr_8 = (0u | 4u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088567A8u) goto L_088567A8; AOT_REGCACHE_SYNC_OUT(); return; L_088567A8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088566A8; } @@ -6503,15 +6504,15 @@ L_088567A8: L_088567B0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2268u); aot_gpr_31 = (0x088567C8u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088567C8u) goto L_088567C8; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088567C8u) goto L_088567C8; AOT_REGCACHE_SYNC_OUT(); return; L_088567C8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088566A8; } @@ -6523,25 +6524,25 @@ L_088567D0: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x088567E4u); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088567E4u) goto L_088567E4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088567E4u) goto L_088567E4; AOT_REGCACHE_SYNC_OUT(); return; L_088567E4: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_088567F0: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-118)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(41) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(41) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_08856970; @@ -6562,14 +6563,14 @@ L_08856814: L_0885682C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2295u); aot_gpr_31 = (0x08856844u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856844u) goto L_08856844; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856844u) goto L_08856844; AOT_REGCACHE_SYNC_OUT(); return; L_08856844: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_08856848; L_08856848: { const bool branch_taken = 0u == 0u; @@ -6582,15 +6583,15 @@ L_08856848: L_08856850: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2297u); aot_gpr_31 = (0x08856868u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856868u) goto L_08856868; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856868u) goto L_08856868; AOT_REGCACHE_SYNC_OUT(); return; L_08856868: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08856848; } @@ -6599,15 +6600,15 @@ L_08856868: L_08856870: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2289u); aot_gpr_31 = (0x08856888u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856888u) goto L_08856888; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856888u) goto L_08856888; AOT_REGCACHE_SYNC_OUT(); return; L_08856888: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08856848; } @@ -6616,15 +6617,15 @@ L_08856888: L_08856890: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2285u); aot_gpr_31 = (0x088568A8u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088568A8u) goto L_088568A8; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088568A8u) goto L_088568A8; AOT_REGCACHE_SYNC_OUT(); return; L_088568A8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08856848; } @@ -6633,15 +6634,15 @@ L_088568A8: L_088568B0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2283u); aot_gpr_31 = (0x088568C8u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088568C8u) goto L_088568C8; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088568C8u) goto L_088568C8; AOT_REGCACHE_SYNC_OUT(); return; L_088568C8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08856848; } @@ -6650,15 +6651,15 @@ L_088568C8: L_088568D0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2287u); aot_gpr_31 = (0x088568E8u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088568E8u) goto L_088568E8; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088568E8u) goto L_088568E8; AOT_REGCACHE_SYNC_OUT(); return; L_088568E8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08856848; } @@ -6667,15 +6668,15 @@ L_088568E8: L_088568F0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2300u); aot_gpr_31 = (0x08856908u); - ctx.gpr[8] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856908u) goto L_08856908; + aot_gpr_8 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856908u) goto L_08856908; AOT_REGCACHE_SYNC_OUT(); return; L_08856908: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08856848; } @@ -6684,15 +6685,15 @@ L_08856908: L_08856910: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2276u); aot_gpr_31 = (0x08856928u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856928u) goto L_08856928; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856928u) goto L_08856928; AOT_REGCACHE_SYNC_OUT(); return; L_08856928: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08856848; } @@ -6701,15 +6702,15 @@ L_08856928: L_08856930: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2279u); aot_gpr_31 = (0x08856948u); - ctx.gpr[8] = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856948u) goto L_08856948; + aot_gpr_8 = (0u | 4u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856948u) goto L_08856948; AOT_REGCACHE_SYNC_OUT(); return; L_08856948: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08856848; } @@ -6718,15 +6719,15 @@ L_08856948: L_08856950: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2292u); aot_gpr_31 = (0x08856968u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856968u) goto L_08856968; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856968u) goto L_08856968; AOT_REGCACHE_SYNC_OUT(); return; L_08856968: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08856848; } @@ -6738,25 +6739,25 @@ L_08856970: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x08856984u); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856984u) goto L_08856984; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856984u) goto L_08856984; AOT_REGCACHE_SYNC_OUT(); return; L_08856984: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08856990: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-118)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(41) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(41) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_08856B10; @@ -6777,14 +6778,14 @@ L_088569B4: L_088569CC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2320u); aot_gpr_31 = (0x088569E4u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088569E4u) goto L_088569E4; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088569E4u) goto L_088569E4; AOT_REGCACHE_SYNC_OUT(); return; L_088569E4: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_088569E8; L_088569E8: { const bool branch_taken = 0u == 0u; @@ -6797,15 +6798,15 @@ L_088569E8: L_088569F0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2322u); aot_gpr_31 = (0x08856A08u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856A08u) goto L_08856A08; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856A08u) goto L_08856A08; AOT_REGCACHE_SYNC_OUT(); return; L_08856A08: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088569E8; } @@ -6814,15 +6815,15 @@ L_08856A08: L_08856A10: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2314u); aot_gpr_31 = (0x08856A28u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856A28u) goto L_08856A28; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856A28u) goto L_08856A28; AOT_REGCACHE_SYNC_OUT(); return; L_08856A28: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088569E8; } @@ -6831,15 +6832,15 @@ L_08856A28: L_08856A30: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2310u); aot_gpr_31 = (0x08856A48u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856A48u) goto L_08856A48; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856A48u) goto L_08856A48; AOT_REGCACHE_SYNC_OUT(); return; L_08856A48: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088569E8; } @@ -6848,15 +6849,15 @@ L_08856A48: L_08856A50: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2308u); aot_gpr_31 = (0x08856A68u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856A68u) goto L_08856A68; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856A68u) goto L_08856A68; AOT_REGCACHE_SYNC_OUT(); return; L_08856A68: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088569E8; } @@ -6865,15 +6866,15 @@ L_08856A68: L_08856A70: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2312u); aot_gpr_31 = (0x08856A88u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856A88u) goto L_08856A88; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856A88u) goto L_08856A88; AOT_REGCACHE_SYNC_OUT(); return; L_08856A88: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088569E8; } @@ -6882,15 +6883,15 @@ L_08856A88: L_08856A90: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2325u); aot_gpr_31 = (0x08856AA8u); - ctx.gpr[8] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856AA8u) goto L_08856AA8; + aot_gpr_8 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856AA8u) goto L_08856AA8; AOT_REGCACHE_SYNC_OUT(); return; L_08856AA8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088569E8; } @@ -6899,15 +6900,15 @@ L_08856AA8: L_08856AB0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2301u); aot_gpr_31 = (0x08856AC8u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856AC8u) goto L_08856AC8; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856AC8u) goto L_08856AC8; AOT_REGCACHE_SYNC_OUT(); return; L_08856AC8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088569E8; } @@ -6916,15 +6917,15 @@ L_08856AC8: L_08856AD0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2304u); aot_gpr_31 = (0x08856AE8u); - ctx.gpr[8] = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856AE8u) goto L_08856AE8; + aot_gpr_8 = (0u | 4u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856AE8u) goto L_08856AE8; AOT_REGCACHE_SYNC_OUT(); return; L_08856AE8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088569E8; } @@ -6933,15 +6934,15 @@ L_08856AE8: L_08856AF0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2317u); aot_gpr_31 = (0x08856B08u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856B08u) goto L_08856B08; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856B08u) goto L_08856B08; AOT_REGCACHE_SYNC_OUT(); return; L_08856B08: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088569E8; } @@ -6953,25 +6954,25 @@ L_08856B10: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x08856B24u); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856B24u) goto L_08856B24; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856B24u) goto L_08856B24; AOT_REGCACHE_SYNC_OUT(); return; L_08856B24: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08856B30: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-118)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(41) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(41) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_08856CB0; @@ -6992,14 +6993,14 @@ L_08856B54: L_08856B6C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2346u); aot_gpr_31 = (0x08856B84u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856B84u) goto L_08856B84; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856B84u) goto L_08856B84; AOT_REGCACHE_SYNC_OUT(); return; L_08856B84: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_08856B88; L_08856B88: { const bool branch_taken = 0u == 0u; @@ -7012,15 +7013,15 @@ L_08856B88: L_08856B90: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2348u); aot_gpr_31 = (0x08856BA8u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856BA8u) goto L_08856BA8; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856BA8u) goto L_08856BA8; AOT_REGCACHE_SYNC_OUT(); return; L_08856BA8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08856B88; } @@ -7029,15 +7030,15 @@ L_08856BA8: L_08856BB0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2340u); aot_gpr_31 = (0x08856BC8u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856BC8u) goto L_08856BC8; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856BC8u) goto L_08856BC8; AOT_REGCACHE_SYNC_OUT(); return; L_08856BC8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08856B88; } @@ -7046,15 +7047,15 @@ L_08856BC8: L_08856BD0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2335u); aot_gpr_31 = (0x08856BE8u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856BE8u) goto L_08856BE8; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856BE8u) goto L_08856BE8; AOT_REGCACHE_SYNC_OUT(); return; L_08856BE8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08856B88; } @@ -7063,15 +7064,15 @@ L_08856BE8: L_08856BF0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2333u); aot_gpr_31 = (0x08856C08u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856C08u) goto L_08856C08; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856C08u) goto L_08856C08; AOT_REGCACHE_SYNC_OUT(); return; L_08856C08: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08856B88; } @@ -7080,15 +7081,15 @@ L_08856C08: L_08856C10: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2338u); aot_gpr_31 = (0x08856C28u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856C28u) goto L_08856C28; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856C28u) goto L_08856C28; AOT_REGCACHE_SYNC_OUT(); return; L_08856C28: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08856B88; } @@ -7097,15 +7098,15 @@ L_08856C28: L_08856C30: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2351u); aot_gpr_31 = (0x08856C48u); - ctx.gpr[8] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856C48u) goto L_08856C48; + aot_gpr_8 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856C48u) goto L_08856C48; AOT_REGCACHE_SYNC_OUT(); return; L_08856C48: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08856B88; } @@ -7114,15 +7115,15 @@ L_08856C48: L_08856C50: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2326u); aot_gpr_31 = (0x08856C68u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856C68u) goto L_08856C68; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856C68u) goto L_08856C68; AOT_REGCACHE_SYNC_OUT(); return; L_08856C68: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08856B88; } @@ -7131,15 +7132,15 @@ L_08856C68: L_08856C70: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2329u); aot_gpr_31 = (0x08856C88u); - ctx.gpr[8] = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856C88u) goto L_08856C88; + aot_gpr_8 = (0u | 4u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856C88u) goto L_08856C88; AOT_REGCACHE_SYNC_OUT(); return; L_08856C88: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08856B88; } @@ -7148,15 +7149,15 @@ L_08856C88: L_08856C90: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2343u); aot_gpr_31 = (0x08856CA8u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856CA8u) goto L_08856CA8; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856CA8u) goto L_08856CA8; AOT_REGCACHE_SYNC_OUT(); return; L_08856CA8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08856B88; } @@ -7168,25 +7169,25 @@ L_08856CB0: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x08856CC4u); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856CC4u) goto L_08856CC4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856CC4u) goto L_08856CC4; AOT_REGCACHE_SYNC_OUT(); return; L_08856CC4: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08856CD0: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-118)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(41) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(41) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_08856E50; @@ -7207,14 +7208,14 @@ L_08856CF4: L_08856D0C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2371u); aot_gpr_31 = (0x08856D24u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856D24u) goto L_08856D24; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856D24u) goto L_08856D24; AOT_REGCACHE_SYNC_OUT(); return; L_08856D24: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_08856D28; L_08856D28: { const bool branch_taken = 0u == 0u; @@ -7227,15 +7228,15 @@ L_08856D28: L_08856D30: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2373u); aot_gpr_31 = (0x08856D48u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856D48u) goto L_08856D48; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856D48u) goto L_08856D48; AOT_REGCACHE_SYNC_OUT(); return; L_08856D48: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08856D28; } @@ -7244,15 +7245,15 @@ L_08856D48: L_08856D50: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2365u); aot_gpr_31 = (0x08856D68u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856D68u) goto L_08856D68; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856D68u) goto L_08856D68; AOT_REGCACHE_SYNC_OUT(); return; L_08856D68: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08856D28; } @@ -7261,15 +7262,15 @@ L_08856D68: L_08856D70: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2361u); aot_gpr_31 = (0x08856D88u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856D88u) goto L_08856D88; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856D88u) goto L_08856D88; AOT_REGCACHE_SYNC_OUT(); return; L_08856D88: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08856D28; } @@ -7278,15 +7279,15 @@ L_08856D88: L_08856D90: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2359u); aot_gpr_31 = (0x08856DA8u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856DA8u) goto L_08856DA8; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856DA8u) goto L_08856DA8; AOT_REGCACHE_SYNC_OUT(); return; L_08856DA8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08856D28; } @@ -7295,15 +7296,15 @@ L_08856DA8: L_08856DB0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2363u); aot_gpr_31 = (0x08856DC8u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856DC8u) goto L_08856DC8; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856DC8u) goto L_08856DC8; AOT_REGCACHE_SYNC_OUT(); return; L_08856DC8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08856D28; } @@ -7312,15 +7313,15 @@ L_08856DC8: L_08856DD0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2376u); aot_gpr_31 = (0x08856DE8u); - ctx.gpr[8] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856DE8u) goto L_08856DE8; + aot_gpr_8 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856DE8u) goto L_08856DE8; AOT_REGCACHE_SYNC_OUT(); return; L_08856DE8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08856D28; } @@ -7329,15 +7330,15 @@ L_08856DE8: L_08856DF0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2352u); aot_gpr_31 = (0x08856E08u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856E08u) goto L_08856E08; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856E08u) goto L_08856E08; AOT_REGCACHE_SYNC_OUT(); return; L_08856E08: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08856D28; } @@ -7346,15 +7347,15 @@ L_08856E08: L_08856E10: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2355u); aot_gpr_31 = (0x08856E28u); - ctx.gpr[8] = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856E28u) goto L_08856E28; + aot_gpr_8 = (0u | 4u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856E28u) goto L_08856E28; AOT_REGCACHE_SYNC_OUT(); return; L_08856E28: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08856D28; } @@ -7363,15 +7364,15 @@ L_08856E28: L_08856E30: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2368u); aot_gpr_31 = (0x08856E48u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856E48u) goto L_08856E48; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856E48u) goto L_08856E48; AOT_REGCACHE_SYNC_OUT(); return; L_08856E48: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08856D28; } @@ -7383,23 +7384,23 @@ L_08856E50: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x08856E64u); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856E64u) goto L_08856E64; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856E64u) goto L_08856E64; AOT_REGCACHE_SYNC_OUT(); return; L_08856E64: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08856E70: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (2237u << 16u); aot_gpr_6 = (aot_gpr_6 & 65535u); aot_gpr_7 = (0u | 159u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); { const bool branch_taken = aot_gpr_6 == aot_gpr_7; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { @@ -7435,14 +7436,14 @@ L_08856EA4: L_08856EAC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2383u); aot_gpr_31 = (0x08856EC4u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856EC4u) goto L_08856EC4; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856EC4u) goto L_08856EC4; AOT_REGCACHE_SYNC_OUT(); return; L_08856EC4: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_08856EC8; L_08856EC8: { const bool branch_taken = 0u == 0u; @@ -7455,15 +7456,15 @@ L_08856EC8: L_08856ED0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2380u); aot_gpr_31 = (0x08856EE8u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856EE8u) goto L_08856EE8; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856EE8u) goto L_08856EE8; AOT_REGCACHE_SYNC_OUT(); return; L_08856EE8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08856EC8; } @@ -7472,15 +7473,15 @@ L_08856EE8: L_08856EF0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2377u); aot_gpr_31 = (0x08856F08u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856F08u) goto L_08856F08; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856F08u) goto L_08856F08; AOT_REGCACHE_SYNC_OUT(); return; L_08856F08: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08856EC8; } @@ -7489,15 +7490,15 @@ L_08856F08: L_08856F10: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2386u); aot_gpr_31 = (0x08856F28u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856F28u) goto L_08856F28; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856F28u) goto L_08856F28; AOT_REGCACHE_SYNC_OUT(); return; L_08856F28: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08856EC8; } @@ -7508,23 +7509,23 @@ L_08856F30: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x08856F40u); aot_gpr_5 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856F40u) goto L_08856F40; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856F40u) goto L_08856F40; AOT_REGCACHE_SYNC_OUT(); return; L_08856F40: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08856F4C: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (2237u << 16u); aot_gpr_6 = (aot_gpr_6 & 65535u); aot_gpr_7 = (0u | 159u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); { const bool branch_taken = aot_gpr_6 == aot_gpr_7; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { @@ -7560,14 +7561,14 @@ L_08856F80: L_08856F88: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2429u); aot_gpr_31 = (0x08856FA0u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856FA0u) goto L_08856FA0; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856FA0u) goto L_08856FA0; AOT_REGCACHE_SYNC_OUT(); return; L_08856FA0: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_08856FA4; L_08856FA4: { const bool branch_taken = 0u == 0u; @@ -7580,15 +7581,15 @@ L_08856FA4: L_08856FAC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2427u); aot_gpr_31 = (0x08856FC4u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856FC4u) goto L_08856FC4; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856FC4u) goto L_08856FC4; AOT_REGCACHE_SYNC_OUT(); return; L_08856FC4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08856FA4; } @@ -7597,15 +7598,15 @@ L_08856FC4: L_08856FCC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2425u); aot_gpr_31 = (0x08856FE4u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856FE4u) goto L_08856FE4; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08856FE4u) goto L_08856FE4; AOT_REGCACHE_SYNC_OUT(); return; L_08856FE4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08856FA4; } @@ -7614,15 +7615,15 @@ L_08856FE4: L_08856FEC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2431u); aot_gpr_31 = (0x08857004u); - ctx.gpr[8] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857004u) goto L_08857004; + aot_gpr_8 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857004u) goto L_08857004; AOT_REGCACHE_SYNC_OUT(); return; L_08857004: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08856FA4; } @@ -7633,23 +7634,23 @@ L_0885700C: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x0885701Cu); aot_gpr_5 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885701Cu) goto L_0885701C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885701Cu) goto L_0885701C; AOT_REGCACHE_SYNC_OUT(); return; L_0885701C: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08857028: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (2237u << 16u); aot_gpr_6 = (aot_gpr_6 & 65535u); aot_gpr_7 = (0u | 159u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); { const bool branch_taken = aot_gpr_6 == aot_gpr_7; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { @@ -7685,14 +7686,14 @@ L_0885705C: L_08857064: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2438u); aot_gpr_31 = (0x0885707Cu); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885707Cu) goto L_0885707C; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885707Cu) goto L_0885707C; AOT_REGCACHE_SYNC_OUT(); return; L_0885707C: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_08857080; L_08857080: { const bool branch_taken = 0u == 0u; @@ -7705,15 +7706,15 @@ L_08857080: L_08857088: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2435u); aot_gpr_31 = (0x088570A0u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088570A0u) goto L_088570A0; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088570A0u) goto L_088570A0; AOT_REGCACHE_SYNC_OUT(); return; L_088570A0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08857080; } @@ -7722,15 +7723,15 @@ L_088570A0: L_088570A8: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2432u); aot_gpr_31 = (0x088570C0u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088570C0u) goto L_088570C0; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088570C0u) goto L_088570C0; AOT_REGCACHE_SYNC_OUT(); return; L_088570C0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08857080; } @@ -7739,15 +7740,15 @@ L_088570C0: L_088570C8: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2441u); aot_gpr_31 = (0x088570E0u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088570E0u) goto L_088570E0; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088570E0u) goto L_088570E0; AOT_REGCACHE_SYNC_OUT(); return; L_088570E0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08857080; } @@ -7758,23 +7759,23 @@ L_088570E8: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x088570F8u); aot_gpr_5 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088570F8u) goto L_088570F8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088570F8u) goto L_088570F8; AOT_REGCACHE_SYNC_OUT(); return; L_088570F8: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08857104: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (2237u << 16u); aot_gpr_6 = (aot_gpr_6 & 65535u); aot_gpr_7 = (0u | 159u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); { const bool branch_taken = aot_gpr_6 == aot_gpr_7; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { @@ -7810,14 +7811,14 @@ L_08857138: L_08857140: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2450u); aot_gpr_31 = (0x08857158u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857158u) goto L_08857158; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857158u) goto L_08857158; AOT_REGCACHE_SYNC_OUT(); return; L_08857158: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_0885715C; L_0885715C: { const bool branch_taken = 0u == 0u; @@ -7830,15 +7831,15 @@ L_0885715C: L_08857164: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2447u); aot_gpr_31 = (0x0885717Cu); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885717Cu) goto L_0885717C; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885717Cu) goto L_0885717C; AOT_REGCACHE_SYNC_OUT(); return; L_0885717C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885715C; } @@ -7847,15 +7848,15 @@ L_0885717C: L_08857184: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2444u); aot_gpr_31 = (0x0885719Cu); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885719Cu) goto L_0885719C; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885719Cu) goto L_0885719C; AOT_REGCACHE_SYNC_OUT(); return; L_0885719C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885715C; } @@ -7864,15 +7865,15 @@ L_0885719C: L_088571A4: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2453u); aot_gpr_31 = (0x088571BCu); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088571BCu) goto L_088571BC; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088571BCu) goto L_088571BC; AOT_REGCACHE_SYNC_OUT(); return; L_088571BC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885715C; } @@ -7883,25 +7884,25 @@ L_088571C4: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x088571D4u); aot_gpr_5 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088571D4u) goto L_088571D4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088571D4u) goto L_088571D4; AOT_REGCACHE_SYNC_OUT(); return; L_088571D4: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_088571E0: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-118)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(41) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(41) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_08857360; @@ -7922,14 +7923,14 @@ L_08857204: L_0885721C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2475u); aot_gpr_31 = (0x08857234u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857234u) goto L_08857234; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857234u) goto L_08857234; AOT_REGCACHE_SYNC_OUT(); return; L_08857234: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_08857238; L_08857238: { const bool branch_taken = 0u == 0u; @@ -7942,15 +7943,15 @@ L_08857238: L_08857240: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2477u); aot_gpr_31 = (0x08857258u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857258u) goto L_08857258; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857258u) goto L_08857258; AOT_REGCACHE_SYNC_OUT(); return; L_08857258: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08857238; } @@ -7959,15 +7960,15 @@ L_08857258: L_08857260: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2469u); aot_gpr_31 = (0x08857278u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857278u) goto L_08857278; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857278u) goto L_08857278; AOT_REGCACHE_SYNC_OUT(); return; L_08857278: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08857238; } @@ -7976,15 +7977,15 @@ L_08857278: L_08857280: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2465u); aot_gpr_31 = (0x08857298u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857298u) goto L_08857298; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857298u) goto L_08857298; AOT_REGCACHE_SYNC_OUT(); return; L_08857298: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08857238; } @@ -7993,15 +7994,15 @@ L_08857298: L_088572A0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2463u); aot_gpr_31 = (0x088572B8u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088572B8u) goto L_088572B8; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088572B8u) goto L_088572B8; AOT_REGCACHE_SYNC_OUT(); return; L_088572B8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08857238; } @@ -8010,15 +8011,15 @@ L_088572B8: L_088572C0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2467u); aot_gpr_31 = (0x088572D8u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088572D8u) goto L_088572D8; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088572D8u) goto L_088572D8; AOT_REGCACHE_SYNC_OUT(); return; L_088572D8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08857238; } @@ -8027,15 +8028,15 @@ L_088572D8: L_088572E0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2479u); aot_gpr_31 = (0x088572F8u); - ctx.gpr[8] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088572F8u) goto L_088572F8; + aot_gpr_8 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088572F8u) goto L_088572F8; AOT_REGCACHE_SYNC_OUT(); return; L_088572F8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08857238; } @@ -8044,15 +8045,15 @@ L_088572F8: L_08857300: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2456u); aot_gpr_31 = (0x08857318u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857318u) goto L_08857318; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857318u) goto L_08857318; AOT_REGCACHE_SYNC_OUT(); return; L_08857318: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08857238; } @@ -8061,15 +8062,15 @@ L_08857318: L_08857320: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2459u); aot_gpr_31 = (0x08857338u); - ctx.gpr[8] = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857338u) goto L_08857338; + aot_gpr_8 = (0u | 4u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857338u) goto L_08857338; AOT_REGCACHE_SYNC_OUT(); return; L_08857338: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08857238; } @@ -8078,15 +8079,15 @@ L_08857338: L_08857340: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2472u); aot_gpr_31 = (0x08857358u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857358u) goto L_08857358; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857358u) goto L_08857358; AOT_REGCACHE_SYNC_OUT(); return; L_08857358: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08857238; } @@ -8098,25 +8099,25 @@ L_08857360: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x08857374u); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857374u) goto L_08857374; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C971C, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857374u) goto L_08857374; AOT_REGCACHE_SYNC_OUT(); return; L_08857374: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08857380: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-118)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(41) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(41) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_08857500; @@ -8137,14 +8138,14 @@ L_088573A4: L_088573BC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2499u); aot_gpr_31 = (0x088573D4u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088573D4u) goto L_088573D4; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088573D4u) goto L_088573D4; AOT_REGCACHE_SYNC_OUT(); return; L_088573D4: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_088573D8; L_088573D8: { const bool branch_taken = 0u == 0u; @@ -8157,15 +8158,15 @@ L_088573D8: L_088573E0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2501u); aot_gpr_31 = (0x088573F8u); - ctx.gpr[8] = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088573F8u) goto L_088573F8; + aot_gpr_8 = (0u | 4u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088573F8u) goto L_088573F8; AOT_REGCACHE_SYNC_OUT(); return; L_088573F8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088573D8; } @@ -8174,15 +8175,15 @@ L_088573F8: L_08857400: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2493u); aot_gpr_31 = (0x08857418u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857418u) goto L_08857418; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857418u) goto L_08857418; AOT_REGCACHE_SYNC_OUT(); return; L_08857418: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088573D8; } @@ -8191,15 +8192,15 @@ L_08857418: L_08857420: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2489u); aot_gpr_31 = (0x08857438u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857438u) goto L_08857438; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857438u) goto L_08857438; AOT_REGCACHE_SYNC_OUT(); return; L_08857438: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088573D8; } @@ -8208,15 +8209,15 @@ L_08857438: L_08857440: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2487u); aot_gpr_31 = (0x08857458u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857458u) goto L_08857458; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857458u) goto L_08857458; AOT_REGCACHE_SYNC_OUT(); return; L_08857458: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088573D8; } @@ -8225,15 +8226,15 @@ L_08857458: L_08857460: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2491u); aot_gpr_31 = (0x08857478u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857478u) goto L_08857478; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857478u) goto L_08857478; AOT_REGCACHE_SYNC_OUT(); return; L_08857478: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088573D8; } @@ -8242,15 +8243,15 @@ L_08857478: L_08857480: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2505u); aot_gpr_31 = (0x08857498u); - ctx.gpr[8] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857498u) goto L_08857498; + aot_gpr_8 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857498u) goto L_08857498; AOT_REGCACHE_SYNC_OUT(); return; L_08857498: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088573D8; } @@ -8259,15 +8260,15 @@ L_08857498: L_088574A0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2480u); aot_gpr_31 = (0x088574B8u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088574B8u) goto L_088574B8; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088574B8u) goto L_088574B8; AOT_REGCACHE_SYNC_OUT(); return; L_088574B8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088573D8; } @@ -8276,15 +8277,15 @@ L_088574B8: L_088574C0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2483u); aot_gpr_31 = (0x088574D8u); - ctx.gpr[8] = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088574D8u) goto L_088574D8; + aot_gpr_8 = (0u | 4u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088574D8u) goto L_088574D8; AOT_REGCACHE_SYNC_OUT(); return; L_088574D8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088573D8; } @@ -8293,15 +8294,15 @@ L_088574D8: L_088574E0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2496u); aot_gpr_31 = (0x088574F8u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088574F8u) goto L_088574F8; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088574F8u) goto L_088574F8; AOT_REGCACHE_SYNC_OUT(); return; L_088574F8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088573D8; } @@ -8313,23 +8314,23 @@ L_08857500: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x08857514u); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857514u) goto L_08857514; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857514u) goto L_08857514; AOT_REGCACHE_SYNC_OUT(); return; L_08857514: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08857520: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (2237u << 16u); aot_gpr_6 = (aot_gpr_6 & 65535u); aot_gpr_7 = (0u | 159u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); { const bool branch_taken = aot_gpr_6 == aot_gpr_7; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { @@ -8365,14 +8366,14 @@ L_08857554: L_0885755C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2519u); aot_gpr_31 = (0x08857574u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857574u) goto L_08857574; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857574u) goto L_08857574; AOT_REGCACHE_SYNC_OUT(); return; L_08857574: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_08857578; L_08857578: { const bool branch_taken = 0u == 0u; @@ -8385,15 +8386,15 @@ L_08857578: L_08857580: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2517u); aot_gpr_31 = (0x08857598u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857598u) goto L_08857598; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857598u) goto L_08857598; AOT_REGCACHE_SYNC_OUT(); return; L_08857598: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08857578; } @@ -8402,15 +8403,15 @@ L_08857598: L_088575A0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2515u); aot_gpr_31 = (0x088575B8u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088575B8u) goto L_088575B8; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088575B8u) goto L_088575B8; AOT_REGCACHE_SYNC_OUT(); return; L_088575B8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08857578; } @@ -8419,15 +8420,15 @@ L_088575B8: L_088575C0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2521u); aot_gpr_31 = (0x088575D8u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088575D8u) goto L_088575D8; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088575D8u) goto L_088575D8; AOT_REGCACHE_SYNC_OUT(); return; L_088575D8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08857578; } @@ -8438,25 +8439,25 @@ L_088575E0: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x088575F0u); aot_gpr_5 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088575F0u) goto L_088575F0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C971C, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088575F0u) goto L_088575F0; AOT_REGCACHE_SYNC_OUT(); return; L_088575F0: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_088575FC: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-118)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(41) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(41) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_0885777C; @@ -8477,14 +8478,14 @@ L_08857620: L_08857638: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2542u); aot_gpr_31 = (0x08857650u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857650u) goto L_08857650; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857650u) goto L_08857650; AOT_REGCACHE_SYNC_OUT(); return; L_08857650: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_08857654; L_08857654: { const bool branch_taken = 0u == 0u; @@ -8497,15 +8498,15 @@ L_08857654: L_0885765C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2544u); aot_gpr_31 = (0x08857674u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857674u) goto L_08857674; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857674u) goto L_08857674; AOT_REGCACHE_SYNC_OUT(); return; L_08857674: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08857654; } @@ -8514,15 +8515,15 @@ L_08857674: L_0885767C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2536u); aot_gpr_31 = (0x08857694u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857694u) goto L_08857694; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857694u) goto L_08857694; AOT_REGCACHE_SYNC_OUT(); return; L_08857694: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08857654; } @@ -8531,15 +8532,15 @@ L_08857694: L_0885769C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2532u); aot_gpr_31 = (0x088576B4u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088576B4u) goto L_088576B4; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088576B4u) goto L_088576B4; AOT_REGCACHE_SYNC_OUT(); return; L_088576B4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08857654; } @@ -8548,15 +8549,15 @@ L_088576B4: L_088576BC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2530u); aot_gpr_31 = (0x088576D4u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088576D4u) goto L_088576D4; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088576D4u) goto L_088576D4; AOT_REGCACHE_SYNC_OUT(); return; L_088576D4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08857654; } @@ -8565,15 +8566,15 @@ L_088576D4: L_088576DC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2534u); aot_gpr_31 = (0x088576F4u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088576F4u) goto L_088576F4; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088576F4u) goto L_088576F4; AOT_REGCACHE_SYNC_OUT(); return; L_088576F4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08857654; } @@ -8582,15 +8583,15 @@ L_088576F4: L_088576FC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2547u); aot_gpr_31 = (0x08857714u); - ctx.gpr[8] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857714u) goto L_08857714; + aot_gpr_8 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857714u) goto L_08857714; AOT_REGCACHE_SYNC_OUT(); return; L_08857714: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08857654; } @@ -8599,15 +8600,15 @@ L_08857714: L_0885771C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2523u); aot_gpr_31 = (0x08857734u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857734u) goto L_08857734; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857734u) goto L_08857734; AOT_REGCACHE_SYNC_OUT(); return; L_08857734: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08857654; } @@ -8616,15 +8617,15 @@ L_08857734: L_0885773C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2526u); aot_gpr_31 = (0x08857754u); - ctx.gpr[8] = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857754u) goto L_08857754; + aot_gpr_8 = (0u | 4u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857754u) goto L_08857754; AOT_REGCACHE_SYNC_OUT(); return; L_08857754: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08857654; } @@ -8633,15 +8634,15 @@ L_08857754: L_0885775C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2539u); aot_gpr_31 = (0x08857774u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857774u) goto L_08857774; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857774u) goto L_08857774; AOT_REGCACHE_SYNC_OUT(); return; L_08857774: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08857654; } @@ -8653,25 +8654,25 @@ L_0885777C: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x08857790u); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857790u) goto L_08857790; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857790u) goto L_08857790; AOT_REGCACHE_SYNC_OUT(); return; L_08857790: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0885779C: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-118)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(41) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(41) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_0885791C; @@ -8692,14 +8693,14 @@ L_088577C0: L_088577D8: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2567u); aot_gpr_31 = (0x088577F0u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088577F0u) goto L_088577F0; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088577F0u) goto L_088577F0; AOT_REGCACHE_SYNC_OUT(); return; L_088577F0: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_088577F4; L_088577F4: { const bool branch_taken = 0u == 0u; @@ -8712,15 +8713,15 @@ L_088577F4: L_088577FC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2569u); aot_gpr_31 = (0x08857814u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857814u) goto L_08857814; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857814u) goto L_08857814; AOT_REGCACHE_SYNC_OUT(); return; L_08857814: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088577F4; } @@ -8729,15 +8730,15 @@ L_08857814: L_0885781C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2561u); aot_gpr_31 = (0x08857834u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857834u) goto L_08857834; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857834u) goto L_08857834; AOT_REGCACHE_SYNC_OUT(); return; L_08857834: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088577F4; } @@ -8746,15 +8747,15 @@ L_08857834: L_0885783C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2557u); aot_gpr_31 = (0x08857854u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857854u) goto L_08857854; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857854u) goto L_08857854; AOT_REGCACHE_SYNC_OUT(); return; L_08857854: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088577F4; } @@ -8763,15 +8764,15 @@ L_08857854: L_0885785C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2555u); aot_gpr_31 = (0x08857874u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857874u) goto L_08857874; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857874u) goto L_08857874; AOT_REGCACHE_SYNC_OUT(); return; L_08857874: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088577F4; } @@ -8780,15 +8781,15 @@ L_08857874: L_0885787C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2559u); aot_gpr_31 = (0x08857894u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857894u) goto L_08857894; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857894u) goto L_08857894; AOT_REGCACHE_SYNC_OUT(); return; L_08857894: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088577F4; } @@ -8797,15 +8798,15 @@ L_08857894: L_0885789C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2572u); aot_gpr_31 = (0x088578B4u); - ctx.gpr[8] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088578B4u) goto L_088578B4; + aot_gpr_8 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088578B4u) goto L_088578B4; AOT_REGCACHE_SYNC_OUT(); return; L_088578B4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088577F4; } @@ -8814,15 +8815,15 @@ L_088578B4: L_088578BC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2548u); aot_gpr_31 = (0x088578D4u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088578D4u) goto L_088578D4; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088578D4u) goto L_088578D4; AOT_REGCACHE_SYNC_OUT(); return; L_088578D4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088577F4; } @@ -8831,15 +8832,15 @@ L_088578D4: L_088578DC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2551u); aot_gpr_31 = (0x088578F4u); - ctx.gpr[8] = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088578F4u) goto L_088578F4; + aot_gpr_8 = (0u | 4u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088578F4u) goto L_088578F4; AOT_REGCACHE_SYNC_OUT(); return; L_088578F4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088577F4; } @@ -8848,15 +8849,15 @@ L_088578F4: L_088578FC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2564u); aot_gpr_31 = (0x08857914u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857914u) goto L_08857914; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857914u) goto L_08857914; AOT_REGCACHE_SYNC_OUT(); return; L_08857914: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088577F4; } @@ -8868,23 +8869,23 @@ L_0885791C: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x08857930u); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857930u) goto L_08857930; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857930u) goto L_08857930; AOT_REGCACHE_SYNC_OUT(); return; L_08857930: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0885793C: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (2237u << 16u); aot_gpr_6 = (aot_gpr_6 & 65535u); aot_gpr_7 = (0u | 159u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); { const bool branch_taken = aot_gpr_6 == aot_gpr_7; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { @@ -8920,14 +8921,14 @@ L_08857970: L_08857978: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2749u); aot_gpr_31 = (0x08857990u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857990u) goto L_08857990; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857990u) goto L_08857990; AOT_REGCACHE_SYNC_OUT(); return; L_08857990: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_08857994; L_08857994: { const bool branch_taken = 0u == 0u; @@ -8940,15 +8941,15 @@ L_08857994: L_0885799C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2747u); aot_gpr_31 = (0x088579B4u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088579B4u) goto L_088579B4; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088579B4u) goto L_088579B4; AOT_REGCACHE_SYNC_OUT(); return; L_088579B4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08857994; } @@ -8957,15 +8958,15 @@ L_088579B4: L_088579BC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2745u); aot_gpr_31 = (0x088579D4u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088579D4u) goto L_088579D4; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088579D4u) goto L_088579D4; AOT_REGCACHE_SYNC_OUT(); return; L_088579D4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08857994; } @@ -8974,15 +8975,15 @@ L_088579D4: L_088579DC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2751u); aot_gpr_31 = (0x088579F4u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088579F4u) goto L_088579F4; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088579F4u) goto L_088579F4; AOT_REGCACHE_SYNC_OUT(); return; L_088579F4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08857994; } @@ -8993,25 +8994,25 @@ L_088579FC: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x08857A0Cu); aot_gpr_5 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857A0Cu) goto L_08857A0C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857A0Cu) goto L_08857A0C; AOT_REGCACHE_SYNC_OUT(); return; L_08857A0C: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08857A18: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-118)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(41) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(41) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_08857B98; @@ -9032,14 +9033,14 @@ L_08857A3C: L_08857A54: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2715u); aot_gpr_31 = (0x08857A6Cu); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857A6Cu) goto L_08857A6C; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857A6Cu) goto L_08857A6C; AOT_REGCACHE_SYNC_OUT(); return; L_08857A6C: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_08857A70; L_08857A70: { const bool branch_taken = 0u == 0u; @@ -9052,15 +9053,15 @@ L_08857A70: L_08857A78: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2718u); aot_gpr_31 = (0x08857A90u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857A90u) goto L_08857A90; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857A90u) goto L_08857A90; AOT_REGCACHE_SYNC_OUT(); return; L_08857A90: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08857A70; } @@ -9069,15 +9070,15 @@ L_08857A90: L_08857A98: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2709u); aot_gpr_31 = (0x08857AB0u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857AB0u) goto L_08857AB0; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857AB0u) goto L_08857AB0; AOT_REGCACHE_SYNC_OUT(); return; L_08857AB0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08857A70; } @@ -9086,15 +9087,15 @@ L_08857AB0: L_08857AB8: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2705u); aot_gpr_31 = (0x08857AD0u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857AD0u) goto L_08857AD0; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857AD0u) goto L_08857AD0; AOT_REGCACHE_SYNC_OUT(); return; L_08857AD0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08857A70; } @@ -9103,15 +9104,15 @@ L_08857AD0: L_08857AD8: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2703u); aot_gpr_31 = (0x08857AF0u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857AF0u) goto L_08857AF0; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857AF0u) goto L_08857AF0; AOT_REGCACHE_SYNC_OUT(); return; L_08857AF0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08857A70; } @@ -9120,15 +9121,15 @@ L_08857AF0: L_08857AF8: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2707u); aot_gpr_31 = (0x08857B10u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857B10u) goto L_08857B10; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857B10u) goto L_08857B10; AOT_REGCACHE_SYNC_OUT(); return; L_08857B10: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08857A70; } @@ -9137,15 +9138,15 @@ L_08857B10: L_08857B18: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2721u); aot_gpr_31 = (0x08857B30u); - ctx.gpr[8] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857B30u) goto L_08857B30; + aot_gpr_8 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857B30u) goto L_08857B30; AOT_REGCACHE_SYNC_OUT(); return; L_08857B30: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08857A70; } @@ -9154,15 +9155,15 @@ L_08857B30: L_08857B38: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2696u); aot_gpr_31 = (0x08857B50u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857B50u) goto L_08857B50; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857B50u) goto L_08857B50; AOT_REGCACHE_SYNC_OUT(); return; L_08857B50: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08857A70; } @@ -9171,15 +9172,15 @@ L_08857B50: L_08857B58: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2699u); aot_gpr_31 = (0x08857B70u); - ctx.gpr[8] = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857B70u) goto L_08857B70; + aot_gpr_8 = (0u | 4u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857B70u) goto L_08857B70; AOT_REGCACHE_SYNC_OUT(); return; L_08857B70: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08857A70; } @@ -9188,15 +9189,15 @@ L_08857B70: L_08857B78: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2712u); aot_gpr_31 = (0x08857B90u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857B90u) goto L_08857B90; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857B90u) goto L_08857B90; AOT_REGCACHE_SYNC_OUT(); return; L_08857B90: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08857A70; } @@ -9208,25 +9209,25 @@ L_08857B98: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x08857BACu); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857BACu) goto L_08857BAC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857BACu) goto L_08857BAC; AOT_REGCACHE_SYNC_OUT(); return; L_08857BAC: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08857BB8: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-122)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(37) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(37) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_08857D18; @@ -9247,14 +9248,14 @@ L_08857BDC: L_08857BF4: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2741u); aot_gpr_31 = (0x08857C0Cu); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857C0Cu) goto L_08857C0C; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857C0Cu) goto L_08857C0C; AOT_REGCACHE_SYNC_OUT(); return; L_08857C0C: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_08857C10; L_08857C10: { const bool branch_taken = 0u == 0u; @@ -9267,15 +9268,15 @@ L_08857C10: L_08857C18: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2735u); aot_gpr_31 = (0x08857C30u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857C30u) goto L_08857C30; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857C30u) goto L_08857C30; AOT_REGCACHE_SYNC_OUT(); return; L_08857C30: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08857C10; } @@ -9284,15 +9285,15 @@ L_08857C30: L_08857C38: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2731u); aot_gpr_31 = (0x08857C50u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857C50u) goto L_08857C50; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857C50u) goto L_08857C50; AOT_REGCACHE_SYNC_OUT(); return; L_08857C50: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08857C10; } @@ -9301,15 +9302,15 @@ L_08857C50: L_08857C58: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2729u); aot_gpr_31 = (0x08857C70u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857C70u) goto L_08857C70; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857C70u) goto L_08857C70; AOT_REGCACHE_SYNC_OUT(); return; L_08857C70: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08857C10; } @@ -9318,15 +9319,15 @@ L_08857C70: L_08857C78: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2733u); aot_gpr_31 = (0x08857C90u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857C90u) goto L_08857C90; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857C90u) goto L_08857C90; AOT_REGCACHE_SYNC_OUT(); return; L_08857C90: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08857C10; } @@ -9335,15 +9336,15 @@ L_08857C90: L_08857C98: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2744u); aot_gpr_31 = (0x08857CB0u); - ctx.gpr[8] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857CB0u) goto L_08857CB0; + aot_gpr_8 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857CB0u) goto L_08857CB0; AOT_REGCACHE_SYNC_OUT(); return; L_08857CB0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08857C10; } @@ -9352,15 +9353,15 @@ L_08857CB0: L_08857CB8: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2722u); aot_gpr_31 = (0x08857CD0u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857CD0u) goto L_08857CD0; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857CD0u) goto L_08857CD0; AOT_REGCACHE_SYNC_OUT(); return; L_08857CD0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08857C10; } @@ -9369,15 +9370,15 @@ L_08857CD0: L_08857CD8: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2725u); aot_gpr_31 = (0x08857CF0u); - ctx.gpr[8] = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857CF0u) goto L_08857CF0; + aot_gpr_8 = (0u | 4u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857CF0u) goto L_08857CF0; AOT_REGCACHE_SYNC_OUT(); return; L_08857CF0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08857C10; } @@ -9386,15 +9387,15 @@ L_08857CF0: L_08857CF8: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2738u); aot_gpr_31 = (0x08857D10u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857D10u) goto L_08857D10; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857D10u) goto L_08857D10; AOT_REGCACHE_SYNC_OUT(); return; L_08857D10: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08857C10; } @@ -9406,23 +9407,23 @@ L_08857D18: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x08857D2Cu); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857D2Cu) goto L_08857D2C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857D2Cu) goto L_08857D2C; AOT_REGCACHE_SYNC_OUT(); return; L_08857D2C: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08857D38: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (2237u << 16u); aot_gpr_6 = (aot_gpr_6 & 65535u); aot_gpr_7 = (0u | 159u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); { const bool branch_taken = aot_gpr_6 == aot_gpr_7; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { @@ -9458,14 +9459,14 @@ L_08857D6C: L_08857D74: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2759u); aot_gpr_31 = (0x08857D8Cu); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857D8Cu) goto L_08857D8C; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857D8Cu) goto L_08857D8C; AOT_REGCACHE_SYNC_OUT(); return; L_08857D8C: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_08857D90; L_08857D90: { const bool branch_taken = 0u == 0u; @@ -9478,15 +9479,15 @@ L_08857D90: L_08857D98: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2756u); aot_gpr_31 = (0x08857DB0u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857DB0u) goto L_08857DB0; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857DB0u) goto L_08857DB0; AOT_REGCACHE_SYNC_OUT(); return; L_08857DB0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08857D90; } @@ -9495,15 +9496,15 @@ L_08857DB0: L_08857DB8: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2753u); aot_gpr_31 = (0x08857DD0u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857DD0u) goto L_08857DD0; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857DD0u) goto L_08857DD0; AOT_REGCACHE_SYNC_OUT(); return; L_08857DD0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08857D90; } @@ -9512,15 +9513,15 @@ L_08857DD0: L_08857DD8: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2762u); aot_gpr_31 = (0x08857DF0u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857DF0u) goto L_08857DF0; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857DF0u) goto L_08857DF0; AOT_REGCACHE_SYNC_OUT(); return; L_08857DF0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08857D90; } @@ -9531,25 +9532,25 @@ L_08857DF8: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x08857E08u); aot_gpr_5 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857E08u) goto L_08857E08; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C971C, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857E08u) goto L_08857E08; AOT_REGCACHE_SYNC_OUT(); return; L_08857E08: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08857E14: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-118)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(41) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(41) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_08857F94; @@ -9570,14 +9571,14 @@ L_08857E38: L_08857E50: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2784u); aot_gpr_31 = (0x08857E68u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857E68u) goto L_08857E68; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857E68u) goto L_08857E68; AOT_REGCACHE_SYNC_OUT(); return; L_08857E68: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_08857E6C; L_08857E6C: { const bool branch_taken = 0u == 0u; @@ -9590,15 +9591,15 @@ L_08857E6C: L_08857E74: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2786u); aot_gpr_31 = (0x08857E8Cu); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857E8Cu) goto L_08857E8C; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857E8Cu) goto L_08857E8C; AOT_REGCACHE_SYNC_OUT(); return; L_08857E8C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08857E6C; } @@ -9607,15 +9608,15 @@ L_08857E8C: L_08857E94: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2778u); aot_gpr_31 = (0x08857EACu); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857EACu) goto L_08857EAC; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857EACu) goto L_08857EAC; AOT_REGCACHE_SYNC_OUT(); return; L_08857EAC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08857E6C; } @@ -9624,15 +9625,15 @@ L_08857EAC: L_08857EB4: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2774u); aot_gpr_31 = (0x08857ECCu); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857ECCu) goto L_08857ECC; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857ECCu) goto L_08857ECC; AOT_REGCACHE_SYNC_OUT(); return; L_08857ECC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08857E6C; } @@ -9641,15 +9642,15 @@ L_08857ECC: L_08857ED4: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2772u); aot_gpr_31 = (0x08857EECu); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857EECu) goto L_08857EEC; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857EECu) goto L_08857EEC; AOT_REGCACHE_SYNC_OUT(); return; L_08857EEC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08857E6C; } @@ -9658,15 +9659,15 @@ L_08857EEC: L_08857EF4: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2776u); aot_gpr_31 = (0x08857F0Cu); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857F0Cu) goto L_08857F0C; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857F0Cu) goto L_08857F0C; AOT_REGCACHE_SYNC_OUT(); return; L_08857F0C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08857E6C; } @@ -9675,15 +9676,15 @@ L_08857F0C: L_08857F14: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2789u); aot_gpr_31 = (0x08857F2Cu); - ctx.gpr[8] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857F2Cu) goto L_08857F2C; + aot_gpr_8 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857F2Cu) goto L_08857F2C; AOT_REGCACHE_SYNC_OUT(); return; L_08857F2C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08857E6C; } @@ -9692,15 +9693,15 @@ L_08857F2C: L_08857F34: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2765u); aot_gpr_31 = (0x08857F4Cu); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857F4Cu) goto L_08857F4C; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857F4Cu) goto L_08857F4C; AOT_REGCACHE_SYNC_OUT(); return; L_08857F4C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08857E6C; } @@ -9709,15 +9710,15 @@ L_08857F4C: L_08857F54: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2768u); aot_gpr_31 = (0x08857F6Cu); - ctx.gpr[8] = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857F6Cu) goto L_08857F6C; + aot_gpr_8 = (0u | 4u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857F6Cu) goto L_08857F6C; AOT_REGCACHE_SYNC_OUT(); return; L_08857F6C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08857E6C; } @@ -9726,15 +9727,15 @@ L_08857F6C: L_08857F74: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2781u); aot_gpr_31 = (0x08857F8Cu); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857F8Cu) goto L_08857F8C; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857F8Cu) goto L_08857F8C; AOT_REGCACHE_SYNC_OUT(); return; L_08857F8C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08857E6C; } @@ -9746,25 +9747,25 @@ L_08857F94: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x08857FA8u); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857FA8u) goto L_08857FA8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08857FA8u) goto L_08857FA8; AOT_REGCACHE_SYNC_OUT(); return; L_08857FA8: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08857FB4: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-118)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(41) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(41) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0021_entry, 21u, 22u, 0x08858134u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; @@ -9785,7 +9786,7 @@ L_08857FD8: L_08857FF0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2809u); ctx.pc = 0x08858000u; AOT_REGCACHE_SYNC_OUT(); return; } diff --git a/profiles/vcs/generated/generated_unit_0021.cpp b/profiles/vcs/generated/generated_unit_0021.cpp index caa3dd2..3bffe6f 100644 --- a/profiles/vcs/generated/generated_unit_0021.cpp +++ b/profiles/vcs/generated/generated_unit_0021.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,16 +139,16 @@ static const std::uint16_t kEntryIds_recomp_unit_0021[4093] = { }; void recomp_unit_0021_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=29,5,4,6,7,31 fprs= gpr_occ=4977 fpr_occ=0 gpr_total=5887 fpr_total=0 - std::uint32_t aot_gpr_29 = ctx.gpr[29]; +// PSPRECOMP_AOT_REGCACHE_META gprs=5,4,6,7,31,8 fprs= gpr_occ=6802 fpr_occ=0 gpr_total=9277 fpr_total=0 std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_6 = ctx.gpr[6]; std::uint32_t aot_gpr_7 = ctx.gpr[7]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; + std::uint32_t aot_gpr_8 = ctx.gpr[8]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[29] = aot_gpr_29; ctx.gpr[5] = aot_gpr_5; ctx.gpr[4] = aot_gpr_4; ctx.gpr[6] = aot_gpr_6; ctx.gpr[7] = aot_gpr_7; ctx.gpr[31] = aot_gpr_31; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_29 = ctx.gpr[29]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_4 = ctx.gpr[4]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_7 = ctx.gpr[7]; aot_gpr_31 = ctx.gpr[31]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[5] = aot_gpr_5; ctx.gpr[4] = aot_gpr_4; ctx.gpr[6] = aot_gpr_6; ctx.gpr[7] = aot_gpr_7; ctx.gpr[31] = aot_gpr_31; ctx.gpr[8] = aot_gpr_8; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_5 = ctx.gpr[5]; aot_gpr_4 = ctx.gpr[4]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_7 = ctx.gpr[7]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_8 = ctx.gpr[8]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -1196,11 +1197,11 @@ LOCAL_DISPATCH: } L_08858000: aot_gpr_31 = (0x08858008u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858008u) goto L_08858008; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858008u) goto L_08858008; AOT_REGCACHE_SYNC_OUT(); return; L_08858008: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_0885800C; L_0885800C: { const bool branch_taken = 0u == 0u; @@ -1213,15 +1214,15 @@ L_0885800C: L_08858014: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2811u); aot_gpr_31 = (0x0885802Cu); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885802Cu) goto L_0885802C; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885802Cu) goto L_0885802C; AOT_REGCACHE_SYNC_OUT(); return; L_0885802C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885800C; } @@ -1230,15 +1231,15 @@ L_0885802C: L_08858034: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2803u); aot_gpr_31 = (0x0885804Cu); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885804Cu) goto L_0885804C; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885804Cu) goto L_0885804C; AOT_REGCACHE_SYNC_OUT(); return; L_0885804C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885800C; } @@ -1247,15 +1248,15 @@ L_0885804C: L_08858054: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2799u); aot_gpr_31 = (0x0885806Cu); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885806Cu) goto L_0885806C; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885806Cu) goto L_0885806C; AOT_REGCACHE_SYNC_OUT(); return; L_0885806C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885800C; } @@ -1264,15 +1265,15 @@ L_0885806C: L_08858074: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2797u); aot_gpr_31 = (0x0885808Cu); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885808Cu) goto L_0885808C; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885808Cu) goto L_0885808C; AOT_REGCACHE_SYNC_OUT(); return; L_0885808C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885800C; } @@ -1281,15 +1282,15 @@ L_0885808C: L_08858094: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2801u); aot_gpr_31 = (0x088580ACu); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088580ACu) goto L_088580AC; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088580ACu) goto L_088580AC; AOT_REGCACHE_SYNC_OUT(); return; L_088580AC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885800C; } @@ -1298,15 +1299,15 @@ L_088580AC: L_088580B4: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2814u); aot_gpr_31 = (0x088580CCu); - ctx.gpr[8] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088580CCu) goto L_088580CC; + aot_gpr_8 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088580CCu) goto L_088580CC; AOT_REGCACHE_SYNC_OUT(); return; L_088580CC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885800C; } @@ -1315,15 +1316,15 @@ L_088580CC: L_088580D4: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2790u); aot_gpr_31 = (0x088580ECu); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088580ECu) goto L_088580EC; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088580ECu) goto L_088580EC; AOT_REGCACHE_SYNC_OUT(); return; L_088580EC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885800C; } @@ -1332,15 +1333,15 @@ L_088580EC: L_088580F4: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2793u); aot_gpr_31 = (0x0885810Cu); - ctx.gpr[8] = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885810Cu) goto L_0885810C; + aot_gpr_8 = (0u | 4u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885810Cu) goto L_0885810C; AOT_REGCACHE_SYNC_OUT(); return; L_0885810C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885800C; } @@ -1349,15 +1350,15 @@ L_0885810C: L_08858114: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2806u); aot_gpr_31 = (0x0885812Cu); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885812Cu) goto L_0885812C; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885812Cu) goto L_0885812C; AOT_REGCACHE_SYNC_OUT(); return; L_0885812C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885800C; } @@ -1369,23 +1370,23 @@ L_08858134: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x08858148u); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858148u) goto L_08858148; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858148u) goto L_08858148; AOT_REGCACHE_SYNC_OUT(); return; L_08858148: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08858154: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_6 & 65535u); aot_gpr_5 = (2237u << 16u); aot_gpr_7 = (static_cast(aot_gpr_6) < 141 ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); { const bool branch_taken = aot_gpr_7 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { @@ -1414,14 +1415,14 @@ L_08858180: L_0885818C: aot_gpr_6 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2847u); aot_gpr_31 = (0x088581A4u); - ctx.gpr[8] = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088581A4u) goto L_088581A4; + aot_gpr_8 = (0u | 4u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088581A4u) goto L_088581A4; AOT_REGCACHE_SYNC_OUT(); return; L_088581A4: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_088581A8; L_088581A8: { const bool branch_taken = 0u == 0u; @@ -1443,15 +1444,15 @@ L_088581B0: L_088581BC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2840u); aot_gpr_31 = (0x088581D4u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088581D4u) goto L_088581D4; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088581D4u) goto L_088581D4; AOT_REGCACHE_SYNC_OUT(); return; L_088581D4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088581A8; } @@ -1460,15 +1461,15 @@ L_088581D4: L_088581DC: aot_gpr_6 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2843u); aot_gpr_31 = (0x088581F4u); - ctx.gpr[8] = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088581F4u) goto L_088581F4; + aot_gpr_8 = (0u | 4u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088581F4u) goto L_088581F4; AOT_REGCACHE_SYNC_OUT(); return; L_088581F4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088581A8; } @@ -1479,23 +1480,23 @@ L_088581FC: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x0885820Cu); aot_gpr_5 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885820Cu) goto L_0885820C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885820Cu) goto L_0885820C; AOT_REGCACHE_SYNC_OUT(); return; L_0885820C: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08858218: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_6 & 65535u); aot_gpr_5 = (2237u << 16u); aot_gpr_7 = (static_cast(aot_gpr_6) < 140 ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); { const bool branch_taken = aot_gpr_7 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { @@ -1515,15 +1516,15 @@ L_08858238: L_08858244: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2855u); aot_gpr_31 = (0x0885825Cu); - ctx.gpr[8] = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885825Cu) goto L_0885825C; + aot_gpr_8 = (0u | 4u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885825Cu) goto L_0885825C; AOT_REGCACHE_SYNC_OUT(); return; L_0885825C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088582A4; } @@ -1534,7 +1535,7 @@ L_08858264: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x08858274u); aot_gpr_5 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858274u) goto L_08858274; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858274u) goto L_08858274; AOT_REGCACHE_SYNC_OUT(); return; L_08858274: { const bool branch_taken = 0u == 0u; @@ -1556,30 +1557,30 @@ L_0885827C: L_08858288: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2851u); aot_gpr_31 = (0x088582A0u); - ctx.gpr[8] = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088582A0u) goto L_088582A0; + aot_gpr_8 = (0u | 4u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088582A0u) goto L_088582A0; AOT_REGCACHE_SYNC_OUT(); return; L_088582A0: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_088582A4; L_088582A4: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_088582B0: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (2237u << 16u); aot_gpr_6 = (aot_gpr_6 & 65535u); aot_gpr_7 = (0u | 159u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); { const bool branch_taken = aot_gpr_6 == aot_gpr_7; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { @@ -1615,14 +1616,14 @@ L_088582E4: L_088582EC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2865u); aot_gpr_31 = (0x08858304u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858304u) goto L_08858304; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858304u) goto L_08858304; AOT_REGCACHE_SYNC_OUT(); return; L_08858304: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_08858308; L_08858308: { const bool branch_taken = 0u == 0u; @@ -1635,15 +1636,15 @@ L_08858308: L_08858310: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2862u); aot_gpr_31 = (0x08858328u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858328u) goto L_08858328; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858328u) goto L_08858328; AOT_REGCACHE_SYNC_OUT(); return; L_08858328: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08858308; } @@ -1652,15 +1653,15 @@ L_08858328: L_08858330: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2859u); aot_gpr_31 = (0x08858348u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858348u) goto L_08858348; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858348u) goto L_08858348; AOT_REGCACHE_SYNC_OUT(); return; L_08858348: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08858308; } @@ -1669,15 +1670,15 @@ L_08858348: L_08858350: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2868u); aot_gpr_31 = (0x08858368u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858368u) goto L_08858368; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858368u) goto L_08858368; AOT_REGCACHE_SYNC_OUT(); return; L_08858368: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08858308; } @@ -1688,23 +1689,23 @@ L_08858370: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x08858380u); aot_gpr_5 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858380u) goto L_08858380; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858380u) goto L_08858380; AOT_REGCACHE_SYNC_OUT(); return; L_08858380: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0885838C: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (2237u << 16u); aot_gpr_6 = (aot_gpr_6 & 65535u); aot_gpr_7 = (0u | 159u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); { const bool branch_taken = aot_gpr_6 == aot_gpr_7; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { @@ -1740,14 +1741,14 @@ L_088583C0: L_088583C8: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2875u); aot_gpr_31 = (0x088583E0u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088583E0u) goto L_088583E0; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088583E0u) goto L_088583E0; AOT_REGCACHE_SYNC_OUT(); return; L_088583E0: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_088583E4; L_088583E4: { const bool branch_taken = 0u == 0u; @@ -1760,15 +1761,15 @@ L_088583E4: L_088583EC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2873u); aot_gpr_31 = (0x08858404u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858404u) goto L_08858404; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858404u) goto L_08858404; AOT_REGCACHE_SYNC_OUT(); return; L_08858404: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088583E4; } @@ -1777,15 +1778,15 @@ L_08858404: L_0885840C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2871u); aot_gpr_31 = (0x08858424u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858424u) goto L_08858424; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858424u) goto L_08858424; AOT_REGCACHE_SYNC_OUT(); return; L_08858424: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088583E4; } @@ -1794,15 +1795,15 @@ L_08858424: L_0885842C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2877u); aot_gpr_31 = (0x08858444u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858444u) goto L_08858444; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858444u) goto L_08858444; AOT_REGCACHE_SYNC_OUT(); return; L_08858444: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088583E4; } @@ -1813,23 +1814,23 @@ L_0885844C: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x0885845Cu); aot_gpr_5 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885845Cu) goto L_0885845C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885845Cu) goto L_0885845C; AOT_REGCACHE_SYNC_OUT(); return; L_0885845C: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08858468: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (2237u << 16u); aot_gpr_6 = (aot_gpr_6 & 65535u); aot_gpr_7 = (0u | 159u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); { const bool branch_taken = aot_gpr_6 == aot_gpr_7; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { @@ -1865,14 +1866,14 @@ L_0885849C: L_088584A4: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2883u); aot_gpr_31 = (0x088584BCu); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088584BCu) goto L_088584BC; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088584BCu) goto L_088584BC; AOT_REGCACHE_SYNC_OUT(); return; L_088584BC: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_088584C0; L_088584C0: { const bool branch_taken = 0u == 0u; @@ -1885,15 +1886,15 @@ L_088584C0: L_088584C8: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2881u); aot_gpr_31 = (0x088584E0u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088584E0u) goto L_088584E0; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088584E0u) goto L_088584E0; AOT_REGCACHE_SYNC_OUT(); return; L_088584E0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088584C0; } @@ -1902,15 +1903,15 @@ L_088584E0: L_088584E8: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2879u); aot_gpr_31 = (0x08858500u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858500u) goto L_08858500; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858500u) goto L_08858500; AOT_REGCACHE_SYNC_OUT(); return; L_08858500: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088584C0; } @@ -1919,15 +1920,15 @@ L_08858500: L_08858508: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2885u); aot_gpr_31 = (0x08858520u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858520u) goto L_08858520; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858520u) goto L_08858520; AOT_REGCACHE_SYNC_OUT(); return; L_08858520: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088584C0; } @@ -1938,23 +1939,23 @@ L_08858528: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x08858538u); aot_gpr_5 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858538u) goto L_08858538; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858538u) goto L_08858538; AOT_REGCACHE_SYNC_OUT(); return; L_08858538: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08858544: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (2237u << 16u); aot_gpr_6 = (aot_gpr_6 & 65535u); aot_gpr_7 = (0u | 159u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); { const bool branch_taken = aot_gpr_6 == aot_gpr_7; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { @@ -1990,14 +1991,14 @@ L_08858578: L_08858580: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2891u); aot_gpr_31 = (0x08858598u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858598u) goto L_08858598; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858598u) goto L_08858598; AOT_REGCACHE_SYNC_OUT(); return; L_08858598: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_0885859C; L_0885859C: { const bool branch_taken = 0u == 0u; @@ -2010,15 +2011,15 @@ L_0885859C: L_088585A4: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2889u); aot_gpr_31 = (0x088585BCu); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088585BCu) goto L_088585BC; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088585BCu) goto L_088585BC; AOT_REGCACHE_SYNC_OUT(); return; L_088585BC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885859C; } @@ -2027,15 +2028,15 @@ L_088585BC: L_088585C4: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2887u); aot_gpr_31 = (0x088585DCu); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088585DCu) goto L_088585DC; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088585DCu) goto L_088585DC; AOT_REGCACHE_SYNC_OUT(); return; L_088585DC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885859C; } @@ -2044,15 +2045,15 @@ L_088585DC: L_088585E4: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2901u); aot_gpr_31 = (0x088585FCu); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088585FCu) goto L_088585FC; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088585FCu) goto L_088585FC; AOT_REGCACHE_SYNC_OUT(); return; L_088585FC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885859C; } @@ -2063,23 +2064,23 @@ L_08858604: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x08858614u); aot_gpr_5 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858614u) goto L_08858614; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C971C, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858614u) goto L_08858614; AOT_REGCACHE_SYNC_OUT(); return; L_08858614: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08858620: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (2237u << 16u); aot_gpr_6 = (aot_gpr_6 & 65535u); aot_gpr_7 = (0u | 159u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); { const bool branch_taken = aot_gpr_6 == aot_gpr_7; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { @@ -2115,14 +2116,14 @@ L_08858654: L_0885865C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2897u); aot_gpr_31 = (0x08858674u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858674u) goto L_08858674; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858674u) goto L_08858674; AOT_REGCACHE_SYNC_OUT(); return; L_08858674: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_08858678; L_08858678: { const bool branch_taken = 0u == 0u; @@ -2135,15 +2136,15 @@ L_08858678: L_08858680: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2895u); aot_gpr_31 = (0x08858698u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858698u) goto L_08858698; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858698u) goto L_08858698; AOT_REGCACHE_SYNC_OUT(); return; L_08858698: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08858678; } @@ -2152,15 +2153,15 @@ L_08858698: L_088586A0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2893u); aot_gpr_31 = (0x088586B8u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088586B8u) goto L_088586B8; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088586B8u) goto L_088586B8; AOT_REGCACHE_SYNC_OUT(); return; L_088586B8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08858678; } @@ -2169,15 +2170,15 @@ L_088586B8: L_088586C0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2899u); aot_gpr_31 = (0x088586D8u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088586D8u) goto L_088586D8; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088586D8u) goto L_088586D8; AOT_REGCACHE_SYNC_OUT(); return; L_088586D8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08858678; } @@ -2188,23 +2189,23 @@ L_088586E0: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x088586F0u); aot_gpr_5 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088586F0u) goto L_088586F0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088586F0u) goto L_088586F0; AOT_REGCACHE_SYNC_OUT(); return; L_088586F0: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_088586FC: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (2237u << 16u); aot_gpr_6 = (aot_gpr_6 & 65535u); aot_gpr_7 = (0u | 159u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); { const bool branch_taken = aot_gpr_6 == aot_gpr_7; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { @@ -2240,14 +2241,14 @@ L_08858730: L_08858738: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2909u); aot_gpr_31 = (0x08858750u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858750u) goto L_08858750; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858750u) goto L_08858750; AOT_REGCACHE_SYNC_OUT(); return; L_08858750: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_08858754; L_08858754: { const bool branch_taken = 0u == 0u; @@ -2260,15 +2261,15 @@ L_08858754: L_0885875C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2906u); aot_gpr_31 = (0x08858774u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858774u) goto L_08858774; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858774u) goto L_08858774; AOT_REGCACHE_SYNC_OUT(); return; L_08858774: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08858754; } @@ -2277,15 +2278,15 @@ L_08858774: L_0885877C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2903u); aot_gpr_31 = (0x08858794u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858794u) goto L_08858794; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858794u) goto L_08858794; AOT_REGCACHE_SYNC_OUT(); return; L_08858794: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08858754; } @@ -2294,15 +2295,15 @@ L_08858794: L_0885879C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2911u); aot_gpr_31 = (0x088587B4u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088587B4u) goto L_088587B4; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088587B4u) goto L_088587B4; AOT_REGCACHE_SYNC_OUT(); return; L_088587B4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08858754; } @@ -2313,25 +2314,25 @@ L_088587BC: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x088587CCu); aot_gpr_5 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088587CCu) goto L_088587CC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088587CCu) goto L_088587CC; AOT_REGCACHE_SYNC_OUT(); return; L_088587CC: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_088587D8: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-118)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(41) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(41) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_08858958; @@ -2352,14 +2353,14 @@ L_088587FC: L_08858814: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2933u); aot_gpr_31 = (0x0885882Cu); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885882Cu) goto L_0885882C; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885882Cu) goto L_0885882C; AOT_REGCACHE_SYNC_OUT(); return; L_0885882C: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_08858830; L_08858830: { const bool branch_taken = 0u == 0u; @@ -2372,15 +2373,15 @@ L_08858830: L_08858838: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2935u); aot_gpr_31 = (0x08858850u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858850u) goto L_08858850; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858850u) goto L_08858850; AOT_REGCACHE_SYNC_OUT(); return; L_08858850: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08858830; } @@ -2389,15 +2390,15 @@ L_08858850: L_08858858: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2927u); aot_gpr_31 = (0x08858870u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858870u) goto L_08858870; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858870u) goto L_08858870; AOT_REGCACHE_SYNC_OUT(); return; L_08858870: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08858830; } @@ -2406,15 +2407,15 @@ L_08858870: L_08858878: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2923u); aot_gpr_31 = (0x08858890u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858890u) goto L_08858890; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858890u) goto L_08858890; AOT_REGCACHE_SYNC_OUT(); return; L_08858890: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08858830; } @@ -2423,15 +2424,15 @@ L_08858890: L_08858898: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2921u); aot_gpr_31 = (0x088588B0u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088588B0u) goto L_088588B0; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088588B0u) goto L_088588B0; AOT_REGCACHE_SYNC_OUT(); return; L_088588B0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08858830; } @@ -2440,15 +2441,15 @@ L_088588B0: L_088588B8: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2925u); aot_gpr_31 = (0x088588D0u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088588D0u) goto L_088588D0; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088588D0u) goto L_088588D0; AOT_REGCACHE_SYNC_OUT(); return; L_088588D0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08858830; } @@ -2457,15 +2458,15 @@ L_088588D0: L_088588D8: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2938u); aot_gpr_31 = (0x088588F0u); - ctx.gpr[8] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088588F0u) goto L_088588F0; + aot_gpr_8 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088588F0u) goto L_088588F0; AOT_REGCACHE_SYNC_OUT(); return; L_088588F0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08858830; } @@ -2474,15 +2475,15 @@ L_088588F0: L_088588F8: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2914u); aot_gpr_31 = (0x08858910u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858910u) goto L_08858910; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858910u) goto L_08858910; AOT_REGCACHE_SYNC_OUT(); return; L_08858910: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08858830; } @@ -2491,15 +2492,15 @@ L_08858910: L_08858918: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2917u); aot_gpr_31 = (0x08858930u); - ctx.gpr[8] = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858930u) goto L_08858930; + aot_gpr_8 = (0u | 4u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858930u) goto L_08858930; AOT_REGCACHE_SYNC_OUT(); return; L_08858930: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08858830; } @@ -2508,15 +2509,15 @@ L_08858930: L_08858938: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2930u); aot_gpr_31 = (0x08858950u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858950u) goto L_08858950; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858950u) goto L_08858950; AOT_REGCACHE_SYNC_OUT(); return; L_08858950: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08858830; } @@ -2528,25 +2529,25 @@ L_08858958: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x0885896Cu); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885896Cu) goto L_0885896C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885896Cu) goto L_0885896C; AOT_REGCACHE_SYNC_OUT(); return; L_0885896C: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08858978: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-118)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(41) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(41) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_08858AF8; @@ -2567,14 +2568,14 @@ L_0885899C: L_088589B4: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2958u); aot_gpr_31 = (0x088589CCu); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088589CCu) goto L_088589CC; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088589CCu) goto L_088589CC; AOT_REGCACHE_SYNC_OUT(); return; L_088589CC: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_088589D0; L_088589D0: { const bool branch_taken = 0u == 0u; @@ -2587,15 +2588,15 @@ L_088589D0: L_088589D8: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2960u); aot_gpr_31 = (0x088589F0u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088589F0u) goto L_088589F0; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088589F0u) goto L_088589F0; AOT_REGCACHE_SYNC_OUT(); return; L_088589F0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088589D0; } @@ -2604,15 +2605,15 @@ L_088589F0: L_088589F8: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2952u); aot_gpr_31 = (0x08858A10u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858A10u) goto L_08858A10; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858A10u) goto L_08858A10; AOT_REGCACHE_SYNC_OUT(); return; L_08858A10: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088589D0; } @@ -2621,15 +2622,15 @@ L_08858A10: L_08858A18: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2948u); aot_gpr_31 = (0x08858A30u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858A30u) goto L_08858A30; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858A30u) goto L_08858A30; AOT_REGCACHE_SYNC_OUT(); return; L_08858A30: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088589D0; } @@ -2638,15 +2639,15 @@ L_08858A30: L_08858A38: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2946u); aot_gpr_31 = (0x08858A50u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858A50u) goto L_08858A50; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858A50u) goto L_08858A50; AOT_REGCACHE_SYNC_OUT(); return; L_08858A50: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088589D0; } @@ -2655,15 +2656,15 @@ L_08858A50: L_08858A58: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2950u); aot_gpr_31 = (0x08858A70u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858A70u) goto L_08858A70; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858A70u) goto L_08858A70; AOT_REGCACHE_SYNC_OUT(); return; L_08858A70: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088589D0; } @@ -2672,15 +2673,15 @@ L_08858A70: L_08858A78: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2963u); aot_gpr_31 = (0x08858A90u); - ctx.gpr[8] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858A90u) goto L_08858A90; + aot_gpr_8 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858A90u) goto L_08858A90; AOT_REGCACHE_SYNC_OUT(); return; L_08858A90: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088589D0; } @@ -2689,15 +2690,15 @@ L_08858A90: L_08858A98: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2939u); aot_gpr_31 = (0x08858AB0u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858AB0u) goto L_08858AB0; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858AB0u) goto L_08858AB0; AOT_REGCACHE_SYNC_OUT(); return; L_08858AB0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088589D0; } @@ -2706,15 +2707,15 @@ L_08858AB0: L_08858AB8: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2942u); aot_gpr_31 = (0x08858AD0u); - ctx.gpr[8] = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858AD0u) goto L_08858AD0; + aot_gpr_8 = (0u | 4u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858AD0u) goto L_08858AD0; AOT_REGCACHE_SYNC_OUT(); return; L_08858AD0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088589D0; } @@ -2723,15 +2724,15 @@ L_08858AD0: L_08858AD8: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2955u); aot_gpr_31 = (0x08858AF0u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858AF0u) goto L_08858AF0; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858AF0u) goto L_08858AF0; AOT_REGCACHE_SYNC_OUT(); return; L_08858AF0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088589D0; } @@ -2743,23 +2744,23 @@ L_08858AF8: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x08858B0Cu); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858B0Cu) goto L_08858B0C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858B0Cu) goto L_08858B0C; AOT_REGCACHE_SYNC_OUT(); return; L_08858B0C: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08858B18: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (2237u << 16u); aot_gpr_6 = (aot_gpr_6 & 65535u); aot_gpr_7 = (0u | 137u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); { const bool branch_taken = aot_gpr_6 != aot_gpr_7; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { @@ -2770,15 +2771,15 @@ L_08858B18: L_08858B38: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2964u); aot_gpr_31 = (0x08858B50u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858B50u) goto L_08858B50; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858B50u) goto L_08858B50; AOT_REGCACHE_SYNC_OUT(); return; L_08858B50: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08858B68; } @@ -2789,23 +2790,23 @@ L_08858B58: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x08858B68u); aot_gpr_5 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858B68u) goto L_08858B68; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C971C, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858B68u) goto L_08858B68; AOT_REGCACHE_SYNC_OUT(); return; L_08858B68: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08858B74: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (2237u << 16u); aot_gpr_6 = (aot_gpr_6 & 65535u); aot_gpr_7 = (0u | 137u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); { const bool branch_taken = aot_gpr_6 != aot_gpr_7; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { @@ -2816,15 +2817,15 @@ L_08858B74: L_08858B94: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2967u); aot_gpr_31 = (0x08858BACu); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858BACu) goto L_08858BAC; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858BACu) goto L_08858BAC; AOT_REGCACHE_SYNC_OUT(); return; L_08858BAC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08858BC4; } @@ -2835,23 +2836,23 @@ L_08858BB4: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x08858BC4u); aot_gpr_5 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858BC4u) goto L_08858BC4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C971C, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858BC4u) goto L_08858BC4; AOT_REGCACHE_SYNC_OUT(); return; L_08858BC4: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08858BD0: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (2237u << 16u); aot_gpr_6 = (aot_gpr_6 & 65535u); aot_gpr_7 = (0u | 137u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); { const bool branch_taken = aot_gpr_6 != aot_gpr_7; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { @@ -2862,15 +2863,15 @@ L_08858BD0: L_08858BF0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2970u); aot_gpr_31 = (0x08858C08u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858C08u) goto L_08858C08; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858C08u) goto L_08858C08; AOT_REGCACHE_SYNC_OUT(); return; L_08858C08: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08858C20; } @@ -2881,23 +2882,23 @@ L_08858C10: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x08858C20u); aot_gpr_5 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858C20u) goto L_08858C20; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C971C, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858C20u) goto L_08858C20; AOT_REGCACHE_SYNC_OUT(); return; L_08858C20: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08858C2C: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (2237u << 16u); aot_gpr_6 = (aot_gpr_6 & 65535u); aot_gpr_7 = (0u | 137u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); { const bool branch_taken = aot_gpr_6 != aot_gpr_7; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { @@ -2908,15 +2909,15 @@ L_08858C2C: L_08858C4C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2973u); aot_gpr_31 = (0x08858C64u); - ctx.gpr[8] = (0u | 5u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858C64u) goto L_08858C64; + aot_gpr_8 = (0u | 5u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858C64u) goto L_08858C64; AOT_REGCACHE_SYNC_OUT(); return; L_08858C64: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08858C7C; } @@ -2927,23 +2928,23 @@ L_08858C6C: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x08858C7Cu); aot_gpr_5 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858C7Cu) goto L_08858C7C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C971C, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858C7Cu) goto L_08858C7C; AOT_REGCACHE_SYNC_OUT(); return; L_08858C7C: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08858C88: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (2237u << 16u); aot_gpr_6 = (aot_gpr_6 & 65535u); aot_gpr_7 = (0u | 159u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); { const bool branch_taken = aot_gpr_6 == aot_gpr_7; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { @@ -2979,14 +2980,14 @@ L_08858CBC: L_08858CC4: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2984u); aot_gpr_31 = (0x08858CDCu); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858CDCu) goto L_08858CDC; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858CDCu) goto L_08858CDC; AOT_REGCACHE_SYNC_OUT(); return; L_08858CDC: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_08858CE0; L_08858CE0: { const bool branch_taken = 0u == 0u; @@ -2999,15 +3000,15 @@ L_08858CE0: L_08858CE8: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2981u); aot_gpr_31 = (0x08858D00u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858D00u) goto L_08858D00; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858D00u) goto L_08858D00; AOT_REGCACHE_SYNC_OUT(); return; L_08858D00: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08858CE0; } @@ -3016,15 +3017,15 @@ L_08858D00: L_08858D08: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2978u); aot_gpr_31 = (0x08858D20u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858D20u) goto L_08858D20; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858D20u) goto L_08858D20; AOT_REGCACHE_SYNC_OUT(); return; L_08858D20: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08858CE0; } @@ -3033,15 +3034,15 @@ L_08858D20: L_08858D28: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2987u); aot_gpr_31 = (0x08858D40u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858D40u) goto L_08858D40; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858D40u) goto L_08858D40; AOT_REGCACHE_SYNC_OUT(); return; L_08858D40: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08858CE0; } @@ -3052,23 +3053,23 @@ L_08858D48: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x08858D58u); aot_gpr_5 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858D58u) goto L_08858D58; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858D58u) goto L_08858D58; AOT_REGCACHE_SYNC_OUT(); return; L_08858D58: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08858D64: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (2237u << 16u); aot_gpr_6 = (aot_gpr_6 & 65535u); aot_gpr_7 = (0u | 159u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); { const bool branch_taken = aot_gpr_6 == aot_gpr_7; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { @@ -3104,14 +3105,14 @@ L_08858D98: L_08858DA0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2996u); aot_gpr_31 = (0x08858DB8u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858DB8u) goto L_08858DB8; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858DB8u) goto L_08858DB8; AOT_REGCACHE_SYNC_OUT(); return; L_08858DB8: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_08858DBC; L_08858DBC: { const bool branch_taken = 0u == 0u; @@ -3124,15 +3125,15 @@ L_08858DBC: L_08858DC4: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2993u); aot_gpr_31 = (0x08858DDCu); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858DDCu) goto L_08858DDC; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858DDCu) goto L_08858DDC; AOT_REGCACHE_SYNC_OUT(); return; L_08858DDC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08858DBC; } @@ -3141,15 +3142,15 @@ L_08858DDC: L_08858DE4: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2990u); aot_gpr_31 = (0x08858DFCu); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858DFCu) goto L_08858DFC; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858DFCu) goto L_08858DFC; AOT_REGCACHE_SYNC_OUT(); return; L_08858DFC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08858DBC; } @@ -3158,15 +3159,15 @@ L_08858DFC: L_08858E04: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 2999u); aot_gpr_31 = (0x08858E1Cu); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858E1Cu) goto L_08858E1C; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858E1Cu) goto L_08858E1C; AOT_REGCACHE_SYNC_OUT(); return; L_08858E1C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08858DBC; } @@ -3177,23 +3178,23 @@ L_08858E24: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x08858E34u); aot_gpr_5 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858E34u) goto L_08858E34; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858E34u) goto L_08858E34; AOT_REGCACHE_SYNC_OUT(); return; L_08858E34: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08858E40: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (2237u << 16u); aot_gpr_6 = (aot_gpr_6 & 65535u); aot_gpr_7 = (0u | 159u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); { const bool branch_taken = aot_gpr_6 == aot_gpr_7; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { @@ -3229,14 +3230,14 @@ L_08858E74: L_08858E7C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3008u); aot_gpr_31 = (0x08858E94u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858E94u) goto L_08858E94; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858E94u) goto L_08858E94; AOT_REGCACHE_SYNC_OUT(); return; L_08858E94: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_08858E98; L_08858E98: { const bool branch_taken = 0u == 0u; @@ -3249,15 +3250,15 @@ L_08858E98: L_08858EA0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3005u); aot_gpr_31 = (0x08858EB8u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858EB8u) goto L_08858EB8; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858EB8u) goto L_08858EB8; AOT_REGCACHE_SYNC_OUT(); return; L_08858EB8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08858E98; } @@ -3266,15 +3267,15 @@ L_08858EB8: L_08858EC0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3002u); aot_gpr_31 = (0x08858ED8u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858ED8u) goto L_08858ED8; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858ED8u) goto L_08858ED8; AOT_REGCACHE_SYNC_OUT(); return; L_08858ED8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08858E98; } @@ -3283,15 +3284,15 @@ L_08858ED8: L_08858EE0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3011u); aot_gpr_31 = (0x08858EF8u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858EF8u) goto L_08858EF8; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858EF8u) goto L_08858EF8; AOT_REGCACHE_SYNC_OUT(); return; L_08858EF8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08858E98; } @@ -3302,23 +3303,23 @@ L_08858F00: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x08858F10u); aot_gpr_5 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858F10u) goto L_08858F10; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858F10u) goto L_08858F10; AOT_REGCACHE_SYNC_OUT(); return; L_08858F10: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08858F1C: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (2237u << 16u); aot_gpr_6 = (aot_gpr_6 & 65535u); aot_gpr_7 = (0u | 159u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); { const bool branch_taken = aot_gpr_6 == aot_gpr_7; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { @@ -3354,14 +3355,14 @@ L_08858F50: L_08858F58: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3020u); aot_gpr_31 = (0x08858F70u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858F70u) goto L_08858F70; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858F70u) goto L_08858F70; AOT_REGCACHE_SYNC_OUT(); return; L_08858F70: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_08858F74; L_08858F74: { const bool branch_taken = 0u == 0u; @@ -3374,15 +3375,15 @@ L_08858F74: L_08858F7C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3017u); aot_gpr_31 = (0x08858F94u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858F94u) goto L_08858F94; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858F94u) goto L_08858F94; AOT_REGCACHE_SYNC_OUT(); return; L_08858F94: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08858F74; } @@ -3391,15 +3392,15 @@ L_08858F94: L_08858F9C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3014u); aot_gpr_31 = (0x08858FB4u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858FB4u) goto L_08858FB4; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858FB4u) goto L_08858FB4; AOT_REGCACHE_SYNC_OUT(); return; L_08858FB4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08858F74; } @@ -3408,15 +3409,15 @@ L_08858FB4: L_08858FBC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3023u); aot_gpr_31 = (0x08858FD4u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858FD4u) goto L_08858FD4; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858FD4u) goto L_08858FD4; AOT_REGCACHE_SYNC_OUT(); return; L_08858FD4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08858F74; } @@ -3427,23 +3428,23 @@ L_08858FDC: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x08858FECu); aot_gpr_5 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858FECu) goto L_08858FEC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08858FECu) goto L_08858FEC; AOT_REGCACHE_SYNC_OUT(); return; L_08858FEC: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08858FF8: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (2237u << 16u); aot_gpr_6 = (aot_gpr_6 & 65535u); aot_gpr_7 = (0u | 159u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); { const bool branch_taken = aot_gpr_6 == aot_gpr_7; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { @@ -3479,14 +3480,14 @@ L_0885902C: L_08859034: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3032u); aot_gpr_31 = (0x0885904Cu); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885904Cu) goto L_0885904C; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885904Cu) goto L_0885904C; AOT_REGCACHE_SYNC_OUT(); return; L_0885904C: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_08859050; L_08859050: { const bool branch_taken = 0u == 0u; @@ -3499,15 +3500,15 @@ L_08859050: L_08859058: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3029u); aot_gpr_31 = (0x08859070u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859070u) goto L_08859070; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859070u) goto L_08859070; AOT_REGCACHE_SYNC_OUT(); return; L_08859070: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08859050; } @@ -3516,15 +3517,15 @@ L_08859070: L_08859078: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3026u); aot_gpr_31 = (0x08859090u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859090u) goto L_08859090; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859090u) goto L_08859090; AOT_REGCACHE_SYNC_OUT(); return; L_08859090: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08859050; } @@ -3533,15 +3534,15 @@ L_08859090: L_08859098: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3035u); aot_gpr_31 = (0x088590B0u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088590B0u) goto L_088590B0; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088590B0u) goto L_088590B0; AOT_REGCACHE_SYNC_OUT(); return; L_088590B0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08859050; } @@ -3552,23 +3553,23 @@ L_088590B8: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x088590C8u); aot_gpr_5 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088590C8u) goto L_088590C8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088590C8u) goto L_088590C8; AOT_REGCACHE_SYNC_OUT(); return; L_088590C8: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_088590D4: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (2237u << 16u); aot_gpr_6 = (aot_gpr_6 & 65535u); aot_gpr_7 = (0u | 159u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); { const bool branch_taken = aot_gpr_6 == aot_gpr_7; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { @@ -3604,14 +3605,14 @@ L_08859108: L_08859110: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3044u); aot_gpr_31 = (0x08859128u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859128u) goto L_08859128; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859128u) goto L_08859128; AOT_REGCACHE_SYNC_OUT(); return; L_08859128: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_0885912C; L_0885912C: { const bool branch_taken = 0u == 0u; @@ -3624,15 +3625,15 @@ L_0885912C: L_08859134: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3041u); aot_gpr_31 = (0x0885914Cu); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885914Cu) goto L_0885914C; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885914Cu) goto L_0885914C; AOT_REGCACHE_SYNC_OUT(); return; L_0885914C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885912C; } @@ -3641,15 +3642,15 @@ L_0885914C: L_08859154: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3038u); aot_gpr_31 = (0x0885916Cu); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885916Cu) goto L_0885916C; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885916Cu) goto L_0885916C; AOT_REGCACHE_SYNC_OUT(); return; L_0885916C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885912C; } @@ -3658,15 +3659,15 @@ L_0885916C: L_08859174: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3047u); aot_gpr_31 = (0x0885918Cu); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885918Cu) goto L_0885918C; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885918Cu) goto L_0885918C; AOT_REGCACHE_SYNC_OUT(); return; L_0885918C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885912C; } @@ -3677,23 +3678,23 @@ L_08859194: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x088591A4u); aot_gpr_5 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088591A4u) goto L_088591A4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088591A4u) goto L_088591A4; AOT_REGCACHE_SYNC_OUT(); return; L_088591A4: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_088591B0: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (2237u << 16u); aot_gpr_6 = (aot_gpr_6 & 65535u); aot_gpr_7 = (0u | 159u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); { const bool branch_taken = aot_gpr_6 == aot_gpr_7; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { @@ -3729,14 +3730,14 @@ L_088591E4: L_088591EC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3056u); aot_gpr_31 = (0x08859204u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859204u) goto L_08859204; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859204u) goto L_08859204; AOT_REGCACHE_SYNC_OUT(); return; L_08859204: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_08859208; L_08859208: { const bool branch_taken = 0u == 0u; @@ -3749,15 +3750,15 @@ L_08859208: L_08859210: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3053u); aot_gpr_31 = (0x08859228u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859228u) goto L_08859228; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859228u) goto L_08859228; AOT_REGCACHE_SYNC_OUT(); return; L_08859228: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08859208; } @@ -3766,15 +3767,15 @@ L_08859228: L_08859230: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3050u); aot_gpr_31 = (0x08859248u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859248u) goto L_08859248; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859248u) goto L_08859248; AOT_REGCACHE_SYNC_OUT(); return; L_08859248: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08859208; } @@ -3783,15 +3784,15 @@ L_08859248: L_08859250: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3059u); aot_gpr_31 = (0x08859268u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859268u) goto L_08859268; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859268u) goto L_08859268; AOT_REGCACHE_SYNC_OUT(); return; L_08859268: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08859208; } @@ -3802,23 +3803,23 @@ L_08859270: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x08859280u); aot_gpr_5 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859280u) goto L_08859280; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859280u) goto L_08859280; AOT_REGCACHE_SYNC_OUT(); return; L_08859280: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0885928C: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (2237u << 16u); aot_gpr_6 = (aot_gpr_6 & 65535u); aot_gpr_7 = (0u | 159u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); { const bool branch_taken = aot_gpr_6 == aot_gpr_7; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { @@ -3854,14 +3855,14 @@ L_088592C0: L_088592C8: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3068u); aot_gpr_31 = (0x088592E0u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088592E0u) goto L_088592E0; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088592E0u) goto L_088592E0; AOT_REGCACHE_SYNC_OUT(); return; L_088592E0: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_088592E4; L_088592E4: { const bool branch_taken = 0u == 0u; @@ -3874,15 +3875,15 @@ L_088592E4: L_088592EC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3065u); aot_gpr_31 = (0x08859304u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859304u) goto L_08859304; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859304u) goto L_08859304; AOT_REGCACHE_SYNC_OUT(); return; L_08859304: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088592E4; } @@ -3891,15 +3892,15 @@ L_08859304: L_0885930C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3062u); aot_gpr_31 = (0x08859324u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859324u) goto L_08859324; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859324u) goto L_08859324; AOT_REGCACHE_SYNC_OUT(); return; L_08859324: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088592E4; } @@ -3908,15 +3909,15 @@ L_08859324: L_0885932C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3071u); aot_gpr_31 = (0x08859344u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859344u) goto L_08859344; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859344u) goto L_08859344; AOT_REGCACHE_SYNC_OUT(); return; L_08859344: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088592E4; } @@ -3927,23 +3928,23 @@ L_0885934C: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x0885935Cu); aot_gpr_5 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885935Cu) goto L_0885935C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885935Cu) goto L_0885935C; AOT_REGCACHE_SYNC_OUT(); return; L_0885935C: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08859368: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (2237u << 16u); aot_gpr_6 = (aot_gpr_6 & 65535u); aot_gpr_7 = (0u | 159u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); { const bool branch_taken = aot_gpr_6 == aot_gpr_7; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { @@ -3979,14 +3980,14 @@ L_0885939C: L_088593A4: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3130u); aot_gpr_31 = (0x088593BCu); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088593BCu) goto L_088593BC; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088593BCu) goto L_088593BC; AOT_REGCACHE_SYNC_OUT(); return; L_088593BC: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_088593C0; L_088593C0: { const bool branch_taken = 0u == 0u; @@ -3999,15 +4000,15 @@ L_088593C0: L_088593C8: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3127u); aot_gpr_31 = (0x088593E0u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088593E0u) goto L_088593E0; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088593E0u) goto L_088593E0; AOT_REGCACHE_SYNC_OUT(); return; L_088593E0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088593C0; } @@ -4016,15 +4017,15 @@ L_088593E0: L_088593E8: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3124u); aot_gpr_31 = (0x08859400u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859400u) goto L_08859400; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859400u) goto L_08859400; AOT_REGCACHE_SYNC_OUT(); return; L_08859400: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088593C0; } @@ -4033,15 +4034,15 @@ L_08859400: L_08859408: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3133u); aot_gpr_31 = (0x08859420u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859420u) goto L_08859420; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859420u) goto L_08859420; AOT_REGCACHE_SYNC_OUT(); return; L_08859420: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088593C0; } @@ -4052,23 +4053,23 @@ L_08859428: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x08859438u); aot_gpr_5 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859438u) goto L_08859438; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859438u) goto L_08859438; AOT_REGCACHE_SYNC_OUT(); return; L_08859438: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08859444: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (2237u << 16u); aot_gpr_6 = (aot_gpr_6 & 65535u); aot_gpr_7 = (0u | 159u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); { const bool branch_taken = aot_gpr_6 == aot_gpr_7; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { @@ -4104,14 +4105,14 @@ L_08859478: L_08859480: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3142u); aot_gpr_31 = (0x08859498u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859498u) goto L_08859498; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859498u) goto L_08859498; AOT_REGCACHE_SYNC_OUT(); return; L_08859498: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_0885949C; L_0885949C: { const bool branch_taken = 0u == 0u; @@ -4124,15 +4125,15 @@ L_0885949C: L_088594A4: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3139u); aot_gpr_31 = (0x088594BCu); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088594BCu) goto L_088594BC; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088594BCu) goto L_088594BC; AOT_REGCACHE_SYNC_OUT(); return; L_088594BC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885949C; } @@ -4141,15 +4142,15 @@ L_088594BC: L_088594C4: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3136u); aot_gpr_31 = (0x088594DCu); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088594DCu) goto L_088594DC; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088594DCu) goto L_088594DC; AOT_REGCACHE_SYNC_OUT(); return; L_088594DC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885949C; } @@ -4158,15 +4159,15 @@ L_088594DC: L_088594E4: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3145u); aot_gpr_31 = (0x088594FCu); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088594FCu) goto L_088594FC; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088594FCu) goto L_088594FC; AOT_REGCACHE_SYNC_OUT(); return; L_088594FC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885949C; } @@ -4177,23 +4178,23 @@ L_08859504: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x08859514u); aot_gpr_5 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859514u) goto L_08859514; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859514u) goto L_08859514; AOT_REGCACHE_SYNC_OUT(); return; L_08859514: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08859520: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (2237u << 16u); aot_gpr_6 = (aot_gpr_6 & 65535u); aot_gpr_7 = (0u | 158u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); { const bool branch_taken = aot_gpr_6 == aot_gpr_7; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { @@ -4221,14 +4222,14 @@ L_0885954C: L_08859554: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3151u); aot_gpr_31 = (0x0885956Cu); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885956Cu) goto L_0885956C; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885956Cu) goto L_0885956C; AOT_REGCACHE_SYNC_OUT(); return; L_0885956C: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_08859570; L_08859570: { const bool branch_taken = 0u == 0u; @@ -4241,15 +4242,15 @@ L_08859570: L_08859578: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3153u); aot_gpr_31 = (0x08859590u); - ctx.gpr[8] = (0u | 5u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859590u) goto L_08859590; + aot_gpr_8 = (0u | 5u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859590u) goto L_08859590; AOT_REGCACHE_SYNC_OUT(); return; L_08859590: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08859570; } @@ -4258,15 +4259,15 @@ L_08859590: L_08859598: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3148u); aot_gpr_31 = (0x088595B0u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088595B0u) goto L_088595B0; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088595B0u) goto L_088595B0; AOT_REGCACHE_SYNC_OUT(); return; L_088595B0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08859570; } @@ -4277,23 +4278,23 @@ L_088595B8: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x088595C8u); aot_gpr_5 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088595C8u) goto L_088595C8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088595C8u) goto L_088595C8; AOT_REGCACHE_SYNC_OUT(); return; L_088595C8: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_088595D4: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (2237u << 16u); aot_gpr_6 = (aot_gpr_6 & 65535u); aot_gpr_7 = (0u | 158u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); { const bool branch_taken = aot_gpr_6 == aot_gpr_7; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { @@ -4321,14 +4322,14 @@ L_08859600: L_08859608: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3161u); aot_gpr_31 = (0x08859620u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859620u) goto L_08859620; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859620u) goto L_08859620; AOT_REGCACHE_SYNC_OUT(); return; L_08859620: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_08859624; L_08859624: { const bool branch_taken = 0u == 0u; @@ -4341,15 +4342,15 @@ L_08859624: L_0885962C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3163u); aot_gpr_31 = (0x08859644u); - ctx.gpr[8] = (0u | 5u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859644u) goto L_08859644; + aot_gpr_8 = (0u | 5u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859644u) goto L_08859644; AOT_REGCACHE_SYNC_OUT(); return; L_08859644: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08859624; } @@ -4358,15 +4359,15 @@ L_08859644: L_0885964C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3158u); aot_gpr_31 = (0x08859664u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859664u) goto L_08859664; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859664u) goto L_08859664; AOT_REGCACHE_SYNC_OUT(); return; L_08859664: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08859624; } @@ -4377,23 +4378,23 @@ L_0885966C: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x0885967Cu); aot_gpr_5 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885967Cu) goto L_0885967C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885967Cu) goto L_0885967C; AOT_REGCACHE_SYNC_OUT(); return; L_0885967C: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08859688: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (2237u << 16u); aot_gpr_6 = (aot_gpr_6 & 65535u); aot_gpr_7 = (0u | 159u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); { const bool branch_taken = aot_gpr_6 == aot_gpr_7; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { @@ -4429,14 +4430,14 @@ L_088596BC: L_088596C4: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3174u); aot_gpr_31 = (0x088596DCu); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088596DCu) goto L_088596DC; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088596DCu) goto L_088596DC; AOT_REGCACHE_SYNC_OUT(); return; L_088596DC: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_088596E0; L_088596E0: { const bool branch_taken = 0u == 0u; @@ -4449,15 +4450,15 @@ L_088596E0: L_088596E8: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3171u); aot_gpr_31 = (0x08859700u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859700u) goto L_08859700; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859700u) goto L_08859700; AOT_REGCACHE_SYNC_OUT(); return; L_08859700: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088596E0; } @@ -4466,15 +4467,15 @@ L_08859700: L_08859708: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3168u); aot_gpr_31 = (0x08859720u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859720u) goto L_08859720; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859720u) goto L_08859720; AOT_REGCACHE_SYNC_OUT(); return; L_08859720: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088596E0; } @@ -4483,15 +4484,15 @@ L_08859720: L_08859728: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3177u); aot_gpr_31 = (0x08859740u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859740u) goto L_08859740; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859740u) goto L_08859740; AOT_REGCACHE_SYNC_OUT(); return; L_08859740: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088596E0; } @@ -4502,23 +4503,23 @@ L_08859748: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x08859758u); aot_gpr_5 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859758u) goto L_08859758; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859758u) goto L_08859758; AOT_REGCACHE_SYNC_OUT(); return; L_08859758: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08859764: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (2237u << 16u); aot_gpr_6 = (aot_gpr_6 & 65535u); aot_gpr_7 = (0u | 159u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); { const bool branch_taken = aot_gpr_6 == aot_gpr_7; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { @@ -4554,14 +4555,14 @@ L_08859798: L_088597A0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3186u); aot_gpr_31 = (0x088597B8u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088597B8u) goto L_088597B8; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088597B8u) goto L_088597B8; AOT_REGCACHE_SYNC_OUT(); return; L_088597B8: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_088597BC; L_088597BC: { const bool branch_taken = 0u == 0u; @@ -4574,15 +4575,15 @@ L_088597BC: L_088597C4: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3183u); aot_gpr_31 = (0x088597DCu); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088597DCu) goto L_088597DC; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088597DCu) goto L_088597DC; AOT_REGCACHE_SYNC_OUT(); return; L_088597DC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088597BC; } @@ -4591,15 +4592,15 @@ L_088597DC: L_088597E4: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3180u); aot_gpr_31 = (0x088597FCu); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088597FCu) goto L_088597FC; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088597FCu) goto L_088597FC; AOT_REGCACHE_SYNC_OUT(); return; L_088597FC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088597BC; } @@ -4608,15 +4609,15 @@ L_088597FC: L_08859804: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3189u); aot_gpr_31 = (0x0885981Cu); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885981Cu) goto L_0885981C; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885981Cu) goto L_0885981C; AOT_REGCACHE_SYNC_OUT(); return; L_0885981C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088597BC; } @@ -4627,23 +4628,23 @@ L_08859824: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x08859834u); aot_gpr_5 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859834u) goto L_08859834; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859834u) goto L_08859834; AOT_REGCACHE_SYNC_OUT(); return; L_08859834: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08859840: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (2237u << 16u); aot_gpr_6 = (aot_gpr_6 & 65535u); aot_gpr_7 = (0u | 159u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); { const bool branch_taken = aot_gpr_6 == aot_gpr_7; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { @@ -4679,14 +4680,14 @@ L_08859874: L_0885987C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3198u); aot_gpr_31 = (0x08859894u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859894u) goto L_08859894; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859894u) goto L_08859894; AOT_REGCACHE_SYNC_OUT(); return; L_08859894: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_08859898; L_08859898: { const bool branch_taken = 0u == 0u; @@ -4699,15 +4700,15 @@ L_08859898: L_088598A0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3195u); aot_gpr_31 = (0x088598B8u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088598B8u) goto L_088598B8; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088598B8u) goto L_088598B8; AOT_REGCACHE_SYNC_OUT(); return; L_088598B8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08859898; } @@ -4716,15 +4717,15 @@ L_088598B8: L_088598C0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3192u); aot_gpr_31 = (0x088598D8u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088598D8u) goto L_088598D8; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088598D8u) goto L_088598D8; AOT_REGCACHE_SYNC_OUT(); return; L_088598D8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08859898; } @@ -4733,15 +4734,15 @@ L_088598D8: L_088598E0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3201u); aot_gpr_31 = (0x088598F8u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088598F8u) goto L_088598F8; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088598F8u) goto L_088598F8; AOT_REGCACHE_SYNC_OUT(); return; L_088598F8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08859898; } @@ -4752,23 +4753,23 @@ L_08859900: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x08859910u); aot_gpr_5 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859910u) goto L_08859910; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859910u) goto L_08859910; AOT_REGCACHE_SYNC_OUT(); return; L_08859910: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0885991C: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (2237u << 16u); aot_gpr_6 = (aot_gpr_6 & 65535u); aot_gpr_7 = (0u | 159u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); { const bool branch_taken = aot_gpr_6 == aot_gpr_7; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { @@ -4804,14 +4805,14 @@ L_08859950: L_08859958: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3210u); aot_gpr_31 = (0x08859970u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859970u) goto L_08859970; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859970u) goto L_08859970; AOT_REGCACHE_SYNC_OUT(); return; L_08859970: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_08859974; L_08859974: { const bool branch_taken = 0u == 0u; @@ -4824,15 +4825,15 @@ L_08859974: L_0885997C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3207u); aot_gpr_31 = (0x08859994u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859994u) goto L_08859994; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859994u) goto L_08859994; AOT_REGCACHE_SYNC_OUT(); return; L_08859994: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08859974; } @@ -4841,15 +4842,15 @@ L_08859994: L_0885999C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3204u); aot_gpr_31 = (0x088599B4u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088599B4u) goto L_088599B4; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088599B4u) goto L_088599B4; AOT_REGCACHE_SYNC_OUT(); return; L_088599B4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08859974; } @@ -4858,15 +4859,15 @@ L_088599B4: L_088599BC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3213u); aot_gpr_31 = (0x088599D4u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088599D4u) goto L_088599D4; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088599D4u) goto L_088599D4; AOT_REGCACHE_SYNC_OUT(); return; L_088599D4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08859974; } @@ -4877,23 +4878,23 @@ L_088599DC: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x088599ECu); aot_gpr_5 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088599ECu) goto L_088599EC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088599ECu) goto L_088599EC; AOT_REGCACHE_SYNC_OUT(); return; L_088599EC: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_088599F8: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (2237u << 16u); aot_gpr_6 = (aot_gpr_6 & 65535u); aot_gpr_7 = (0u | 159u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); { const bool branch_taken = aot_gpr_6 == aot_gpr_7; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { @@ -4929,14 +4930,14 @@ L_08859A2C: L_08859A34: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3221u); aot_gpr_31 = (0x08859A4Cu); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859A4Cu) goto L_08859A4C; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859A4Cu) goto L_08859A4C; AOT_REGCACHE_SYNC_OUT(); return; L_08859A4C: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_08859A50; L_08859A50: { const bool branch_taken = 0u == 0u; @@ -4949,15 +4950,15 @@ L_08859A50: L_08859A58: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3219u); aot_gpr_31 = (0x08859A70u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859A70u) goto L_08859A70; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859A70u) goto L_08859A70; AOT_REGCACHE_SYNC_OUT(); return; L_08859A70: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08859A50; } @@ -4966,15 +4967,15 @@ L_08859A70: L_08859A78: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3216u); aot_gpr_31 = (0x08859A90u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859A90u) goto L_08859A90; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859A90u) goto L_08859A90; AOT_REGCACHE_SYNC_OUT(); return; L_08859A90: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08859A50; } @@ -4983,15 +4984,15 @@ L_08859A90: L_08859A98: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3223u); aot_gpr_31 = (0x08859AB0u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859AB0u) goto L_08859AB0; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859AB0u) goto L_08859AB0; AOT_REGCACHE_SYNC_OUT(); return; L_08859AB0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08859A50; } @@ -5002,25 +5003,25 @@ L_08859AB8: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x08859AC8u); aot_gpr_5 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859AC8u) goto L_08859AC8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859AC8u) goto L_08859AC8; AOT_REGCACHE_SYNC_OUT(); return; L_08859AC8: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08859AD4: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-108)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(40) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(40) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_08859C74; @@ -5041,14 +5042,14 @@ L_08859AF8: L_08859B10: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3453u); aot_gpr_31 = (0x08859B28u); - ctx.gpr[8] = (0u | 13u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859B28u) goto L_08859B28; + aot_gpr_8 = (0u | 13u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859B28u) goto L_08859B28; AOT_REGCACHE_SYNC_OUT(); return; L_08859B28: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_08859B2C; L_08859B2C: { const bool branch_taken = 0u == 0u; @@ -5061,15 +5062,15 @@ L_08859B2C: L_08859B34: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3388u); aot_gpr_31 = (0x08859B4Cu); - ctx.gpr[8] = (0u | 10u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859B4Cu) goto L_08859B4C; + aot_gpr_8 = (0u | 10u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859B4Cu) goto L_08859B4C; AOT_REGCACHE_SYNC_OUT(); return; L_08859B4C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08859B2C; } @@ -5078,15 +5079,15 @@ L_08859B4C: L_08859B54: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3408u); aot_gpr_31 = (0x08859B6Cu); - ctx.gpr[8] = (0u | 8u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859B6Cu) goto L_08859B6C; + aot_gpr_8 = (0u | 8u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859B6Cu) goto L_08859B6C; AOT_REGCACHE_SYNC_OUT(); return; L_08859B6C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08859B2C; } @@ -5095,15 +5096,15 @@ L_08859B6C: L_08859B74: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3416u); aot_gpr_31 = (0x08859B8Cu); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859B8Cu) goto L_08859B8C; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859B8Cu) goto L_08859B8C; AOT_REGCACHE_SYNC_OUT(); return; L_08859B8C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08859B2C; } @@ -5112,15 +5113,15 @@ L_08859B8C: L_08859B94: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3419u); aot_gpr_31 = (0x08859BACu); - ctx.gpr[8] = (0u | 8u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859BACu) goto L_08859BAC; + aot_gpr_8 = (0u | 8u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859BACu) goto L_08859BAC; AOT_REGCACHE_SYNC_OUT(); return; L_08859BAC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08859B2C; } @@ -5129,15 +5130,15 @@ L_08859BAC: L_08859BB4: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3450u); aot_gpr_31 = (0x08859BCCu); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859BCCu) goto L_08859BCC; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859BCCu) goto L_08859BCC; AOT_REGCACHE_SYNC_OUT(); return; L_08859BCC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08859B2C; } @@ -5146,15 +5147,15 @@ L_08859BCC: L_08859BD4: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3388u); aot_gpr_31 = (0x08859BECu); - ctx.gpr[8] = (0u | 10u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859BECu) goto L_08859BEC; + aot_gpr_8 = (0u | 10u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859BECu) goto L_08859BEC; AOT_REGCACHE_SYNC_OUT(); return; L_08859BEC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08859B2C; } @@ -5163,15 +5164,15 @@ L_08859BEC: L_08859BF4: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3383u); aot_gpr_31 = (0x08859C0Cu); - ctx.gpr[8] = (0u | 5u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859C0Cu) goto L_08859C0C; + aot_gpr_8 = (0u | 5u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859C0Cu) goto L_08859C0C; AOT_REGCACHE_SYNC_OUT(); return; L_08859C0C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08859B2C; } @@ -5180,15 +5181,15 @@ L_08859C0C: L_08859C14: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3398u); aot_gpr_31 = (0x08859C2Cu); - ctx.gpr[8] = (0u | 10u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859C2Cu) goto L_08859C2C; + aot_gpr_8 = (0u | 10u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859C2Cu) goto L_08859C2C; AOT_REGCACHE_SYNC_OUT(); return; L_08859C2C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08859B2C; } @@ -5197,15 +5198,15 @@ L_08859C2C: L_08859C34: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3438u); aot_gpr_31 = (0x08859C4Cu); - ctx.gpr[8] = (0u | 12u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859C4Cu) goto L_08859C4C; + aot_gpr_8 = (0u | 12u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859C4Cu) goto L_08859C4C; AOT_REGCACHE_SYNC_OUT(); return; L_08859C4C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08859B2C; } @@ -5214,15 +5215,15 @@ L_08859C4C: L_08859C54: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3435u); aot_gpr_31 = (0x08859C6Cu); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859C6Cu) goto L_08859C6C; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859C6Cu) goto L_08859C6C; AOT_REGCACHE_SYNC_OUT(); return; L_08859C6C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08859B2C; } @@ -5234,25 +5235,25 @@ L_08859C74: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x08859C88u); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859C88u) goto L_08859C88; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859C88u) goto L_08859C88; AOT_REGCACHE_SYNC_OUT(); return; L_08859C88: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08859C94: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-108)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(40) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(40) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_08859E34; @@ -5273,14 +5274,14 @@ L_08859CB8: L_08859CD0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3531u); aot_gpr_31 = (0x08859CE8u); - ctx.gpr[8] = (0u | 10u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859CE8u) goto L_08859CE8; + aot_gpr_8 = (0u | 10u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859CE8u) goto L_08859CE8; AOT_REGCACHE_SYNC_OUT(); return; L_08859CE8: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_08859CEC; L_08859CEC: { const bool branch_taken = 0u == 0u; @@ -5293,15 +5294,15 @@ L_08859CEC: L_08859CF4: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3471u); aot_gpr_31 = (0x08859D0Cu); - ctx.gpr[8] = (0u | 8u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859D0Cu) goto L_08859D0C; + aot_gpr_8 = (0u | 8u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859D0Cu) goto L_08859D0C; AOT_REGCACHE_SYNC_OUT(); return; L_08859D0C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08859CEC; } @@ -5310,15 +5311,15 @@ L_08859D0C: L_08859D14: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3488u); aot_gpr_31 = (0x08859D2Cu); - ctx.gpr[8] = (0u | 8u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859D2Cu) goto L_08859D2C; + aot_gpr_8 = (0u | 8u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859D2Cu) goto L_08859D2C; AOT_REGCACHE_SYNC_OUT(); return; L_08859D2C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08859CEC; } @@ -5327,15 +5328,15 @@ L_08859D2C: L_08859D34: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3496u); aot_gpr_31 = (0x08859D4Cu); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859D4Cu) goto L_08859D4C; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859D4Cu) goto L_08859D4C; AOT_REGCACHE_SYNC_OUT(); return; L_08859D4C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08859CEC; } @@ -5344,15 +5345,15 @@ L_08859D4C: L_08859D54: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3499u); aot_gpr_31 = (0x08859D6Cu); - ctx.gpr[8] = (0u | 8u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859D6Cu) goto L_08859D6C; + aot_gpr_8 = (0u | 8u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859D6Cu) goto L_08859D6C; AOT_REGCACHE_SYNC_OUT(); return; L_08859D6C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08859CEC; } @@ -5361,15 +5362,15 @@ L_08859D6C: L_08859D74: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3528u); aot_gpr_31 = (0x08859D8Cu); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859D8Cu) goto L_08859D8C; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859D8Cu) goto L_08859D8C; AOT_REGCACHE_SYNC_OUT(); return; L_08859D8C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08859CEC; } @@ -5378,15 +5379,15 @@ L_08859D8C: L_08859D94: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3471u); aot_gpr_31 = (0x08859DACu); - ctx.gpr[8] = (0u | 8u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859DACu) goto L_08859DAC; + aot_gpr_8 = (0u | 8u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859DACu) goto L_08859DAC; AOT_REGCACHE_SYNC_OUT(); return; L_08859DAC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08859CEC; } @@ -5395,15 +5396,15 @@ L_08859DAC: L_08859DB4: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3466u); aot_gpr_31 = (0x08859DCCu); - ctx.gpr[8] = (0u | 5u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859DCCu) goto L_08859DCC; + aot_gpr_8 = (0u | 5u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859DCCu) goto L_08859DCC; AOT_REGCACHE_SYNC_OUT(); return; L_08859DCC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08859CEC; } @@ -5412,15 +5413,15 @@ L_08859DCC: L_08859DD4: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3479u); aot_gpr_31 = (0x08859DECu); - ctx.gpr[8] = (0u | 9u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859DECu) goto L_08859DEC; + aot_gpr_8 = (0u | 9u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859DECu) goto L_08859DEC; AOT_REGCACHE_SYNC_OUT(); return; L_08859DEC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08859CEC; } @@ -5429,15 +5430,15 @@ L_08859DEC: L_08859DF4: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3518u); aot_gpr_31 = (0x08859E0Cu); - ctx.gpr[8] = (0u | 10u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859E0Cu) goto L_08859E0C; + aot_gpr_8 = (0u | 10u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859E0Cu) goto L_08859E0C; AOT_REGCACHE_SYNC_OUT(); return; L_08859E0C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08859CEC; } @@ -5446,15 +5447,15 @@ L_08859E0C: L_08859E14: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3515u); aot_gpr_31 = (0x08859E2Cu); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859E2Cu) goto L_08859E2C; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859E2Cu) goto L_08859E2C; AOT_REGCACHE_SYNC_OUT(); return; L_08859E2C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08859CEC; } @@ -5466,25 +5467,25 @@ L_08859E34: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x08859E48u); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859E48u) goto L_08859E48; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859E48u) goto L_08859E48; AOT_REGCACHE_SYNC_OUT(); return; L_08859E48: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08859E54: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-108)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(40) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(40) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_08859FD4; @@ -5505,14 +5506,14 @@ L_08859E78: L_08859E90: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3601u); aot_gpr_31 = (0x08859EA8u); - ctx.gpr[8] = (0u | 13u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859EA8u) goto L_08859EA8; + aot_gpr_8 = (0u | 13u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859EA8u) goto L_08859EA8; AOT_REGCACHE_SYNC_OUT(); return; L_08859EA8: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_08859EAC; L_08859EAC: { const bool branch_taken = 0u == 0u; @@ -5525,15 +5526,15 @@ L_08859EAC: L_08859EB4: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3546u); aot_gpr_31 = (0x08859ECCu); - ctx.gpr[8] = (0u | 9u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859ECCu) goto L_08859ECC; + aot_gpr_8 = (0u | 9u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859ECCu) goto L_08859ECC; AOT_REGCACHE_SYNC_OUT(); return; L_08859ECC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08859EAC; } @@ -5542,15 +5543,15 @@ L_08859ECC: L_08859ED4: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3565u); aot_gpr_31 = (0x08859EECu); - ctx.gpr[8] = (0u | 5u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859EECu) goto L_08859EEC; + aot_gpr_8 = (0u | 5u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859EECu) goto L_08859EEC; AOT_REGCACHE_SYNC_OUT(); return; L_08859EEC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08859EAC; } @@ -5559,15 +5560,15 @@ L_08859EEC: L_08859EF4: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3570u); aot_gpr_31 = (0x08859F0Cu); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859F0Cu) goto L_08859F0C; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859F0Cu) goto L_08859F0C; AOT_REGCACHE_SYNC_OUT(); return; L_08859F0C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08859EAC; } @@ -5576,15 +5577,15 @@ L_08859F0C: L_08859F14: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3573u); aot_gpr_31 = (0x08859F2Cu); - ctx.gpr[8] = (0u | 8u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859F2Cu) goto L_08859F2C; + aot_gpr_8 = (0u | 8u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859F2Cu) goto L_08859F2C; AOT_REGCACHE_SYNC_OUT(); return; L_08859F2C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08859EAC; } @@ -5593,15 +5594,15 @@ L_08859F2C: L_08859F34: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3546u); aot_gpr_31 = (0x08859F4Cu); - ctx.gpr[8] = (0u | 9u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859F4Cu) goto L_08859F4C; + aot_gpr_8 = (0u | 9u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859F4Cu) goto L_08859F4C; AOT_REGCACHE_SYNC_OUT(); return; L_08859F4C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08859EAC; } @@ -5610,15 +5611,15 @@ L_08859F4C: L_08859F54: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3541u); aot_gpr_31 = (0x08859F6Cu); - ctx.gpr[8] = (0u | 5u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859F6Cu) goto L_08859F6C; + aot_gpr_8 = (0u | 5u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859F6Cu) goto L_08859F6C; AOT_REGCACHE_SYNC_OUT(); return; L_08859F6C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08859EAC; } @@ -5627,15 +5628,15 @@ L_08859F6C: L_08859F74: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3555u); aot_gpr_31 = (0x08859F8Cu); - ctx.gpr[8] = (0u | 10u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859F8Cu) goto L_08859F8C; + aot_gpr_8 = (0u | 10u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859F8Cu) goto L_08859F8C; AOT_REGCACHE_SYNC_OUT(); return; L_08859F8C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08859EAC; } @@ -5644,15 +5645,15 @@ L_08859F8C: L_08859F94: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3591u); aot_gpr_31 = (0x08859FACu); - ctx.gpr[8] = (0u | 10u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859FACu) goto L_08859FAC; + aot_gpr_8 = (0u | 10u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859FACu) goto L_08859FAC; AOT_REGCACHE_SYNC_OUT(); return; L_08859FAC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08859EAC; } @@ -5661,15 +5662,15 @@ L_08859FAC: L_08859FB4: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3589u); aot_gpr_31 = (0x08859FCCu); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859FCCu) goto L_08859FCC; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859FCCu) goto L_08859FCC; AOT_REGCACHE_SYNC_OUT(); return; L_08859FCC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_08859EAC; } @@ -5681,25 +5682,25 @@ L_08859FD4: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x08859FE8u); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859FE8u) goto L_08859FE8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08859FE8u) goto L_08859FE8; AOT_REGCACHE_SYNC_OUT(); return; L_08859FE8: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08859FF4: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-115)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(33) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(33) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_0885A134; @@ -5720,14 +5721,14 @@ L_0885A018: L_0885A030: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3658u); aot_gpr_31 = (0x0885A048u); - ctx.gpr[8] = (0u | 9u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A048u) goto L_0885A048; + aot_gpr_8 = (0u | 9u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A048u) goto L_0885A048; AOT_REGCACHE_SYNC_OUT(); return; L_0885A048: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_0885A04C; L_0885A04C: { const bool branch_taken = 0u == 0u; @@ -5740,15 +5741,15 @@ L_0885A04C: L_0885A054: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3620u); aot_gpr_31 = (0x0885A06Cu); - ctx.gpr[8] = (0u | 8u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A06Cu) goto L_0885A06C; + aot_gpr_8 = (0u | 8u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A06Cu) goto L_0885A06C; AOT_REGCACHE_SYNC_OUT(); return; L_0885A06C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885A04C; } @@ -5757,15 +5758,15 @@ L_0885A06C: L_0885A074: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3628u); aot_gpr_31 = (0x0885A08Cu); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A08Cu) goto L_0885A08C; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A08Cu) goto L_0885A08C; AOT_REGCACHE_SYNC_OUT(); return; L_0885A08C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885A04C; } @@ -5774,15 +5775,15 @@ L_0885A08C: L_0885A094: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3631u); aot_gpr_31 = (0x0885A0ACu); - ctx.gpr[8] = (0u | 8u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A0ACu) goto L_0885A0AC; + aot_gpr_8 = (0u | 8u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A0ACu) goto L_0885A0AC; AOT_REGCACHE_SYNC_OUT(); return; L_0885A0AC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885A04C; } @@ -5791,15 +5792,15 @@ L_0885A0AC: L_0885A0B4: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3655u); aot_gpr_31 = (0x0885A0CCu); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A0CCu) goto L_0885A0CC; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A0CCu) goto L_0885A0CC; AOT_REGCACHE_SYNC_OUT(); return; L_0885A0CC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885A04C; } @@ -5808,15 +5809,15 @@ L_0885A0CC: L_0885A0D4: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3614u); aot_gpr_31 = (0x0885A0ECu); - ctx.gpr[8] = (0u | 6u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A0ECu) goto L_0885A0EC; + aot_gpr_8 = (0u | 6u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A0ECu) goto L_0885A0EC; AOT_REGCACHE_SYNC_OUT(); return; L_0885A0EC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885A04C; } @@ -5825,15 +5826,15 @@ L_0885A0EC: L_0885A0F4: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3647u); aot_gpr_31 = (0x0885A10Cu); - ctx.gpr[8] = (0u | 8u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A10Cu) goto L_0885A10C; + aot_gpr_8 = (0u | 8u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A10Cu) goto L_0885A10C; AOT_REGCACHE_SYNC_OUT(); return; L_0885A10C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885A04C; } @@ -5842,15 +5843,15 @@ L_0885A10C: L_0885A114: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3644u); aot_gpr_31 = (0x0885A12Cu); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A12Cu) goto L_0885A12C; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A12Cu) goto L_0885A12C; AOT_REGCACHE_SYNC_OUT(); return; L_0885A12C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885A04C; } @@ -5862,25 +5863,25 @@ L_0885A134: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x0885A148u); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A148u) goto L_0885A148; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A148u) goto L_0885A148; AOT_REGCACHE_SYNC_OUT(); return; L_0885A148: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0885A154: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-108)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(40) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(40) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_0885A2F4; @@ -5901,14 +5902,14 @@ L_0885A178: L_0885A190: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3838u); aot_gpr_31 = (0x0885A1A8u); - ctx.gpr[8] = (0u | 35u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A1A8u) goto L_0885A1A8; + aot_gpr_8 = (0u | 35u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A1A8u) goto L_0885A1A8; AOT_REGCACHE_SYNC_OUT(); return; L_0885A1A8: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_0885A1AC; L_0885A1AC: { const bool branch_taken = 0u == 0u; @@ -5921,15 +5922,15 @@ L_0885A1AC: L_0885A1B4: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3675u); aot_gpr_31 = (0x0885A1CCu); - ctx.gpr[8] = (0u | 19u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A1CCu) goto L_0885A1CC; + aot_gpr_8 = (0u | 19u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A1CCu) goto L_0885A1CC; AOT_REGCACHE_SYNC_OUT(); return; L_0885A1CC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885A1AC; } @@ -5938,15 +5939,15 @@ L_0885A1CC: L_0885A1D4: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3719u); aot_gpr_31 = (0x0885A1ECu); - ctx.gpr[8] = (0u | 12u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A1ECu) goto L_0885A1EC; + aot_gpr_8 = (0u | 12u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A1ECu) goto L_0885A1EC; AOT_REGCACHE_SYNC_OUT(); return; L_0885A1EC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885A1AC; } @@ -5955,15 +5956,15 @@ L_0885A1EC: L_0885A1F4: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3731u); aot_gpr_31 = (0x0885A20Cu); - ctx.gpr[8] = (0u | 12u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A20Cu) goto L_0885A20C; + aot_gpr_8 = (0u | 12u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A20Cu) goto L_0885A20C; AOT_REGCACHE_SYNC_OUT(); return; L_0885A20C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885A1AC; } @@ -5972,15 +5973,15 @@ L_0885A20C: L_0885A214: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3743u); aot_gpr_31 = (0x0885A22Cu); - ctx.gpr[8] = (0u | 25u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A22Cu) goto L_0885A22C; + aot_gpr_8 = (0u | 25u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A22Cu) goto L_0885A22C; AOT_REGCACHE_SYNC_OUT(); return; L_0885A22C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885A1AC; } @@ -5989,15 +5990,15 @@ L_0885A22C: L_0885A234: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3828u); aot_gpr_31 = (0x0885A24Cu); - ctx.gpr[8] = (0u | 10u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A24Cu) goto L_0885A24C; + aot_gpr_8 = (0u | 10u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A24Cu) goto L_0885A24C; AOT_REGCACHE_SYNC_OUT(); return; L_0885A24C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885A1AC; } @@ -6006,15 +6007,15 @@ L_0885A24C: L_0885A254: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3675u); aot_gpr_31 = (0x0885A26Cu); - ctx.gpr[8] = (0u | 19u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A26Cu) goto L_0885A26C; + aot_gpr_8 = (0u | 19u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A26Cu) goto L_0885A26C; AOT_REGCACHE_SYNC_OUT(); return; L_0885A26C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885A1AC; } @@ -6023,15 +6024,15 @@ L_0885A26C: L_0885A274: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3667u); aot_gpr_31 = (0x0885A28Cu); - ctx.gpr[8] = (0u | 8u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A28Cu) goto L_0885A28C; + aot_gpr_8 = (0u | 8u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A28Cu) goto L_0885A28C; AOT_REGCACHE_SYNC_OUT(); return; L_0885A28C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885A1AC; } @@ -6040,15 +6041,15 @@ L_0885A28C: L_0885A294: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3694u); aot_gpr_31 = (0x0885A2ACu); - ctx.gpr[8] = (0u | 25u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A2ACu) goto L_0885A2AC; + aot_gpr_8 = (0u | 25u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A2ACu) goto L_0885A2AC; AOT_REGCACHE_SYNC_OUT(); return; L_0885A2AC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885A1AC; } @@ -6057,15 +6058,15 @@ L_0885A2AC: L_0885A2B4: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3798u); aot_gpr_31 = (0x0885A2CCu); - ctx.gpr[8] = (0u | 30u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A2CCu) goto L_0885A2CC; + aot_gpr_8 = (0u | 30u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A2CCu) goto L_0885A2CC; AOT_REGCACHE_SYNC_OUT(); return; L_0885A2CC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885A1AC; } @@ -6074,15 +6075,15 @@ L_0885A2CC: L_0885A2D4: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3790u); aot_gpr_31 = (0x0885A2ECu); - ctx.gpr[8] = (0u | 8u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A2ECu) goto L_0885A2EC; + aot_gpr_8 = (0u | 8u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A2ECu) goto L_0885A2EC; AOT_REGCACHE_SYNC_OUT(); return; L_0885A2EC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885A1AC; } @@ -6094,25 +6095,25 @@ L_0885A2F4: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x0885A308u); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A308u) goto L_0885A308; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A308u) goto L_0885A308; AOT_REGCACHE_SYNC_OUT(); return; L_0885A308: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0885A314: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-108)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(40) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(40) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_0885A4B4; @@ -6133,14 +6134,14 @@ L_0885A338: L_0885A350: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 4058u); aot_gpr_31 = (0x0885A368u); - ctx.gpr[8] = (0u | 35u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A368u) goto L_0885A368; + aot_gpr_8 = (0u | 35u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A368u) goto L_0885A368; AOT_REGCACHE_SYNC_OUT(); return; L_0885A368: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_0885A36C; L_0885A36C: { const bool branch_taken = 0u == 0u; @@ -6153,15 +6154,15 @@ L_0885A36C: L_0885A374: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3881u); aot_gpr_31 = (0x0885A38Cu); - ctx.gpr[8] = (0u | 18u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A38Cu) goto L_0885A38C; + aot_gpr_8 = (0u | 18u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A38Cu) goto L_0885A38C; AOT_REGCACHE_SYNC_OUT(); return; L_0885A38C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885A36C; } @@ -6170,15 +6171,15 @@ L_0885A38C: L_0885A394: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3924u); aot_gpr_31 = (0x0885A3ACu); - ctx.gpr[8] = (0u | 19u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A3ACu) goto L_0885A3AC; + aot_gpr_8 = (0u | 19u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A3ACu) goto L_0885A3AC; AOT_REGCACHE_SYNC_OUT(); return; L_0885A3AC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885A36C; } @@ -6187,15 +6188,15 @@ L_0885A3AC: L_0885A3B4: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3943u); aot_gpr_31 = (0x0885A3CCu); - ctx.gpr[8] = (0u | 15u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A3CCu) goto L_0885A3CC; + aot_gpr_8 = (0u | 15u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A3CCu) goto L_0885A3CC; AOT_REGCACHE_SYNC_OUT(); return; L_0885A3CC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885A36C; } @@ -6204,15 +6205,15 @@ L_0885A3CC: L_0885A3D4: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3958u); aot_gpr_31 = (0x0885A3ECu); - ctx.gpr[8] = (0u | 30u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A3ECu) goto L_0885A3EC; + aot_gpr_8 = (0u | 30u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A3ECu) goto L_0885A3EC; AOT_REGCACHE_SYNC_OUT(); return; L_0885A3EC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885A36C; } @@ -6221,15 +6222,15 @@ L_0885A3EC: L_0885A3F4: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 4048u); aot_gpr_31 = (0x0885A40Cu); - ctx.gpr[8] = (0u | 10u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A40Cu) goto L_0885A40C; + aot_gpr_8 = (0u | 10u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A40Cu) goto L_0885A40C; AOT_REGCACHE_SYNC_OUT(); return; L_0885A40C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885A36C; } @@ -6238,15 +6239,15 @@ L_0885A40C: L_0885A414: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3881u); aot_gpr_31 = (0x0885A42Cu); - ctx.gpr[8] = (0u | 18u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A42Cu) goto L_0885A42C; + aot_gpr_8 = (0u | 18u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A42Cu) goto L_0885A42C; AOT_REGCACHE_SYNC_OUT(); return; L_0885A42C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885A36C; } @@ -6255,15 +6256,15 @@ L_0885A42C: L_0885A434: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3873u); aot_gpr_31 = (0x0885A44Cu); - ctx.gpr[8] = (0u | 8u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A44Cu) goto L_0885A44C; + aot_gpr_8 = (0u | 8u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A44Cu) goto L_0885A44C; AOT_REGCACHE_SYNC_OUT(); return; L_0885A44C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885A36C; } @@ -6272,15 +6273,15 @@ L_0885A44C: L_0885A454: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 3899u); aot_gpr_31 = (0x0885A46Cu); - ctx.gpr[8] = (0u | 25u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A46Cu) goto L_0885A46C; + aot_gpr_8 = (0u | 25u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A46Cu) goto L_0885A46C; AOT_REGCACHE_SYNC_OUT(); return; L_0885A46C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885A36C; } @@ -6289,15 +6290,15 @@ L_0885A46C: L_0885A474: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 4013u); aot_gpr_31 = (0x0885A48Cu); - ctx.gpr[8] = (0u | 35u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A48Cu) goto L_0885A48C; + aot_gpr_8 = (0u | 35u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A48Cu) goto L_0885A48C; AOT_REGCACHE_SYNC_OUT(); return; L_0885A48C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885A36C; } @@ -6306,15 +6307,15 @@ L_0885A48C: L_0885A494: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 4005u); aot_gpr_31 = (0x0885A4ACu); - ctx.gpr[8] = (0u | 8u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A4ACu) goto L_0885A4AC; + aot_gpr_8 = (0u | 8u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A4ACu) goto L_0885A4AC; AOT_REGCACHE_SYNC_OUT(); return; L_0885A4AC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885A36C; } @@ -6326,25 +6327,25 @@ L_0885A4B4: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x0885A4C8u); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A4C8u) goto L_0885A4C8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A4C8u) goto L_0885A4C8; AOT_REGCACHE_SYNC_OUT(); return; L_0885A4C8: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0885A4D4: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-108)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(40) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(40) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_0885A654; @@ -6365,14 +6366,14 @@ L_0885A4F8: L_0885A510: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 4217u); aot_gpr_31 = (0x0885A528u); - ctx.gpr[8] = (0u | 35u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A528u) goto L_0885A528; + aot_gpr_8 = (0u | 35u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A528u) goto L_0885A528; AOT_REGCACHE_SYNC_OUT(); return; L_0885A528: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_0885A52C; L_0885A52C: { const bool branch_taken = 0u == 0u; @@ -6385,15 +6386,15 @@ L_0885A52C: L_0885A534: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 4099u); aot_gpr_31 = (0x0885A54Cu); - ctx.gpr[8] = (0u | 24u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A54Cu) goto L_0885A54C; + aot_gpr_8 = (0u | 24u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A54Cu) goto L_0885A54C; AOT_REGCACHE_SYNC_OUT(); return; L_0885A54C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885A52C; } @@ -6402,15 +6403,15 @@ L_0885A54C: L_0885A554: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 4142u); aot_gpr_31 = (0x0885A56Cu); - ctx.gpr[8] = (0u | 10u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A56Cu) goto L_0885A56C; + aot_gpr_8 = (0u | 10u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A56Cu) goto L_0885A56C; AOT_REGCACHE_SYNC_OUT(); return; L_0885A56C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885A52C; } @@ -6419,15 +6420,15 @@ L_0885A56C: L_0885A574: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 4152u); aot_gpr_31 = (0x0885A58Cu); - ctx.gpr[8] = (0u | 10u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A58Cu) goto L_0885A58C; + aot_gpr_8 = (0u | 10u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A58Cu) goto L_0885A58C; AOT_REGCACHE_SYNC_OUT(); return; L_0885A58C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885A52C; } @@ -6436,15 +6437,15 @@ L_0885A58C: L_0885A594: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 4162u); aot_gpr_31 = (0x0885A5ACu); - ctx.gpr[8] = (0u | 20u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A5ACu) goto L_0885A5AC; + aot_gpr_8 = (0u | 20u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A5ACu) goto L_0885A5AC; AOT_REGCACHE_SYNC_OUT(); return; L_0885A5AC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885A52C; } @@ -6453,15 +6454,15 @@ L_0885A5AC: L_0885A5B4: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 4099u); aot_gpr_31 = (0x0885A5CCu); - ctx.gpr[8] = (0u | 24u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A5CCu) goto L_0885A5CC; + aot_gpr_8 = (0u | 24u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A5CCu) goto L_0885A5CC; AOT_REGCACHE_SYNC_OUT(); return; L_0885A5CC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885A52C; } @@ -6470,15 +6471,15 @@ L_0885A5CC: L_0885A5D4: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 4093u); aot_gpr_31 = (0x0885A5ECu); - ctx.gpr[8] = (0u | 6u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A5ECu) goto L_0885A5EC; + aot_gpr_8 = (0u | 6u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A5ECu) goto L_0885A5EC; AOT_REGCACHE_SYNC_OUT(); return; L_0885A5EC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885A52C; } @@ -6487,15 +6488,15 @@ L_0885A5EC: L_0885A5F4: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 4123u); aot_gpr_31 = (0x0885A60Cu); - ctx.gpr[8] = (0u | 19u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A60Cu) goto L_0885A60C; + aot_gpr_8 = (0u | 19u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A60Cu) goto L_0885A60C; AOT_REGCACHE_SYNC_OUT(); return; L_0885A60C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885A52C; } @@ -6504,15 +6505,15 @@ L_0885A60C: L_0885A614: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 4187u); aot_gpr_31 = (0x0885A62Cu); - ctx.gpr[8] = (0u | 30u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A62Cu) goto L_0885A62C; + aot_gpr_8 = (0u | 30u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A62Cu) goto L_0885A62C; AOT_REGCACHE_SYNC_OUT(); return; L_0885A62C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885A52C; } @@ -6521,15 +6522,15 @@ L_0885A62C: L_0885A634: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 4182u); aot_gpr_31 = (0x0885A64Cu); - ctx.gpr[8] = (0u | 5u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A64Cu) goto L_0885A64C; + aot_gpr_8 = (0u | 5u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A64Cu) goto L_0885A64C; AOT_REGCACHE_SYNC_OUT(); return; L_0885A64C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885A52C; } @@ -6541,25 +6542,25 @@ L_0885A654: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x0885A668u); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A668u) goto L_0885A668; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A668u) goto L_0885A668; AOT_REGCACHE_SYNC_OUT(); return; L_0885A668: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0885A674: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-115)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(33) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(33) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_0885A7B4; @@ -6580,14 +6581,14 @@ L_0885A698: L_0885A6B0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 4343u); aot_gpr_31 = (0x0885A6C8u); - ctx.gpr[8] = (0u | 15u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A6C8u) goto L_0885A6C8; + aot_gpr_8 = (0u | 15u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A6C8u) goto L_0885A6C8; AOT_REGCACHE_SYNC_OUT(); return; L_0885A6C8: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_0885A6CC; L_0885A6CC: { const bool branch_taken = 0u == 0u; @@ -6600,15 +6601,15 @@ L_0885A6CC: L_0885A6D4: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 4270u); aot_gpr_31 = (0x0885A6ECu); - ctx.gpr[8] = (0u | 10u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A6ECu) goto L_0885A6EC; + aot_gpr_8 = (0u | 10u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A6ECu) goto L_0885A6EC; AOT_REGCACHE_SYNC_OUT(); return; L_0885A6EC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885A6CC; } @@ -6617,15 +6618,15 @@ L_0885A6EC: L_0885A6F4: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 4280u); aot_gpr_31 = (0x0885A70Cu); - ctx.gpr[8] = (0u | 8u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A70Cu) goto L_0885A70C; + aot_gpr_8 = (0u | 8u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A70Cu) goto L_0885A70C; AOT_REGCACHE_SYNC_OUT(); return; L_0885A70C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885A6CC; } @@ -6634,15 +6635,15 @@ L_0885A70C: L_0885A714: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 4288u); aot_gpr_31 = (0x0885A72Cu); - ctx.gpr[8] = (0u | 12u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A72Cu) goto L_0885A72C; + aot_gpr_8 = (0u | 12u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A72Cu) goto L_0885A72C; AOT_REGCACHE_SYNC_OUT(); return; L_0885A72C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885A6CC; } @@ -6651,15 +6652,15 @@ L_0885A72C: L_0885A734: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 4335u); aot_gpr_31 = (0x0885A74Cu); - ctx.gpr[8] = (0u | 8u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A74Cu) goto L_0885A74C; + aot_gpr_8 = (0u | 8u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A74Cu) goto L_0885A74C; AOT_REGCACHE_SYNC_OUT(); return; L_0885A74C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885A6CC; } @@ -6668,15 +6669,15 @@ L_0885A74C: L_0885A754: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 4252u); aot_gpr_31 = (0x0885A76Cu); - ctx.gpr[8] = (0u | 18u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A76Cu) goto L_0885A76C; + aot_gpr_8 = (0u | 18u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A76Cu) goto L_0885A76C; AOT_REGCACHE_SYNC_OUT(); return; L_0885A76C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885A6CC; } @@ -6685,15 +6686,15 @@ L_0885A76C: L_0885A774: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 4320u); aot_gpr_31 = (0x0885A78Cu); - ctx.gpr[8] = (0u | 15u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A78Cu) goto L_0885A78C; + aot_gpr_8 = (0u | 15u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A78Cu) goto L_0885A78C; AOT_REGCACHE_SYNC_OUT(); return; L_0885A78C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885A6CC; } @@ -6702,15 +6703,15 @@ L_0885A78C: L_0885A794: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 4315u); aot_gpr_31 = (0x0885A7ACu); - ctx.gpr[8] = (0u | 5u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A7ACu) goto L_0885A7AC; + aot_gpr_8 = (0u | 5u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A7ACu) goto L_0885A7AC; AOT_REGCACHE_SYNC_OUT(); return; L_0885A7AC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885A6CC; } @@ -6722,25 +6723,25 @@ L_0885A7B4: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x0885A7C8u); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A7C8u) goto L_0885A7C8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A7C8u) goto L_0885A7C8; AOT_REGCACHE_SYNC_OUT(); return; L_0885A7C8: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0885A7D4: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-108)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(40) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(40) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_0885A974; @@ -6761,14 +6762,14 @@ L_0885A7F8: L_0885A810: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 4513u); aot_gpr_31 = (0x0885A828u); - ctx.gpr[8] = (0u | 38u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A828u) goto L_0885A828; + aot_gpr_8 = (0u | 38u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A828u) goto L_0885A828; AOT_REGCACHE_SYNC_OUT(); return; L_0885A828: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_0885A82C; L_0885A82C: { const bool branch_taken = 0u == 0u; @@ -6781,15 +6782,15 @@ L_0885A82C: L_0885A834: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 4366u); aot_gpr_31 = (0x0885A84Cu); - ctx.gpr[8] = (0u | 17u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A84Cu) goto L_0885A84C; + aot_gpr_8 = (0u | 17u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A84Cu) goto L_0885A84C; AOT_REGCACHE_SYNC_OUT(); return; L_0885A84C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885A82C; } @@ -6798,15 +6799,15 @@ L_0885A84C: L_0885A854: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 4401u); aot_gpr_31 = (0x0885A86Cu); - ctx.gpr[8] = (0u | 12u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A86Cu) goto L_0885A86C; + aot_gpr_8 = (0u | 12u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A86Cu) goto L_0885A86C; AOT_REGCACHE_SYNC_OUT(); return; L_0885A86C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885A82C; } @@ -6815,15 +6816,15 @@ L_0885A86C: L_0885A874: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 4413u); aot_gpr_31 = (0x0885A88Cu); - ctx.gpr[8] = (0u | 13u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A88Cu) goto L_0885A88C; + aot_gpr_8 = (0u | 13u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A88Cu) goto L_0885A88C; AOT_REGCACHE_SYNC_OUT(); return; L_0885A88C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885A82C; } @@ -6832,15 +6833,15 @@ L_0885A88C: L_0885A894: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 4426u); aot_gpr_31 = (0x0885A8ACu); - ctx.gpr[8] = (0u | 23u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A8ACu) goto L_0885A8AC; + aot_gpr_8 = (0u | 23u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A8ACu) goto L_0885A8AC; AOT_REGCACHE_SYNC_OUT(); return; L_0885A8AC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885A82C; } @@ -6849,15 +6850,15 @@ L_0885A8AC: L_0885A8B4: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 4501u); aot_gpr_31 = (0x0885A8CCu); - ctx.gpr[8] = (0u | 12u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A8CCu) goto L_0885A8CC; + aot_gpr_8 = (0u | 12u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A8CCu) goto L_0885A8CC; AOT_REGCACHE_SYNC_OUT(); return; L_0885A8CC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885A82C; } @@ -6866,15 +6867,15 @@ L_0885A8CC: L_0885A8D4: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 4366u); aot_gpr_31 = (0x0885A8ECu); - ctx.gpr[8] = (0u | 17u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A8ECu) goto L_0885A8EC; + aot_gpr_8 = (0u | 17u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A8ECu) goto L_0885A8EC; AOT_REGCACHE_SYNC_OUT(); return; L_0885A8EC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885A82C; } @@ -6883,15 +6884,15 @@ L_0885A8EC: L_0885A8F4: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 4358u); aot_gpr_31 = (0x0885A90Cu); - ctx.gpr[8] = (0u | 8u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A90Cu) goto L_0885A90C; + aot_gpr_8 = (0u | 8u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A90Cu) goto L_0885A90C; AOT_REGCACHE_SYNC_OUT(); return; L_0885A90C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885A82C; } @@ -6900,15 +6901,15 @@ L_0885A90C: L_0885A914: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 4383u); aot_gpr_31 = (0x0885A92Cu); - ctx.gpr[8] = (0u | 18u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A92Cu) goto L_0885A92C; + aot_gpr_8 = (0u | 18u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A92Cu) goto L_0885A92C; AOT_REGCACHE_SYNC_OUT(); return; L_0885A92C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885A82C; } @@ -6917,15 +6918,15 @@ L_0885A92C: L_0885A934: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 4472u); aot_gpr_31 = (0x0885A94Cu); - ctx.gpr[8] = (0u | 29u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A94Cu) goto L_0885A94C; + aot_gpr_8 = (0u | 29u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A94Cu) goto L_0885A94C; AOT_REGCACHE_SYNC_OUT(); return; L_0885A94C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885A82C; } @@ -6934,15 +6935,15 @@ L_0885A94C: L_0885A954: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 4465u); aot_gpr_31 = (0x0885A96Cu); - ctx.gpr[8] = (0u | 7u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A96Cu) goto L_0885A96C; + aot_gpr_8 = (0u | 7u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A96Cu) goto L_0885A96C; AOT_REGCACHE_SYNC_OUT(); return; L_0885A96C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885A82C; } @@ -6954,25 +6955,25 @@ L_0885A974: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x0885A988u); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A988u) goto L_0885A988; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A988u) goto L_0885A988; AOT_REGCACHE_SYNC_OUT(); return; L_0885A988: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0885A994: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-108)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(40) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(40) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_0885AB34; @@ -6993,14 +6994,14 @@ L_0885A9B8: L_0885A9D0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 4719u); aot_gpr_31 = (0x0885A9E8u); - ctx.gpr[8] = (0u | 31u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A9E8u) goto L_0885A9E8; + aot_gpr_8 = (0u | 31u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885A9E8u) goto L_0885A9E8; AOT_REGCACHE_SYNC_OUT(); return; L_0885A9E8: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_0885A9EC; L_0885A9EC: { const bool branch_taken = 0u == 0u; @@ -7013,15 +7014,15 @@ L_0885A9EC: L_0885A9F4: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 4558u); aot_gpr_31 = (0x0885AA0Cu); - ctx.gpr[8] = (0u | 15u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885AA0Cu) goto L_0885AA0C; + aot_gpr_8 = (0u | 15u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885AA0Cu) goto L_0885AA0C; AOT_REGCACHE_SYNC_OUT(); return; L_0885AA0C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885A9EC; } @@ -7030,15 +7031,15 @@ L_0885AA0C: L_0885AA14: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 4594u); aot_gpr_31 = (0x0885AA2Cu); - ctx.gpr[8] = (0u | 16u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885AA2Cu) goto L_0885AA2C; + aot_gpr_8 = (0u | 16u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885AA2Cu) goto L_0885AA2C; AOT_REGCACHE_SYNC_OUT(); return; L_0885AA2C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885A9EC; } @@ -7047,15 +7048,15 @@ L_0885AA2C: L_0885AA34: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 4610u); aot_gpr_31 = (0x0885AA4Cu); - ctx.gpr[8] = (0u | 15u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885AA4Cu) goto L_0885AA4C; + aot_gpr_8 = (0u | 15u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885AA4Cu) goto L_0885AA4C; AOT_REGCACHE_SYNC_OUT(); return; L_0885AA4C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885A9EC; } @@ -7064,15 +7065,15 @@ L_0885AA4C: L_0885AA54: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 4625u); aot_gpr_31 = (0x0885AA6Cu); - ctx.gpr[8] = (0u | 30u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885AA6Cu) goto L_0885AA6C; + aot_gpr_8 = (0u | 30u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885AA6Cu) goto L_0885AA6C; AOT_REGCACHE_SYNC_OUT(); return; L_0885AA6C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885A9EC; } @@ -7081,15 +7082,15 @@ L_0885AA6C: L_0885AA74: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 4707u); aot_gpr_31 = (0x0885AA8Cu); - ctx.gpr[8] = (0u | 12u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885AA8Cu) goto L_0885AA8C; + aot_gpr_8 = (0u | 12u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885AA8Cu) goto L_0885AA8C; AOT_REGCACHE_SYNC_OUT(); return; L_0885AA8C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885A9EC; } @@ -7098,15 +7099,15 @@ L_0885AA8C: L_0885AA94: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 4558u); aot_gpr_31 = (0x0885AAACu); - ctx.gpr[8] = (0u | 15u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885AAACu) goto L_0885AAAC; + aot_gpr_8 = (0u | 15u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885AAACu) goto L_0885AAAC; AOT_REGCACHE_SYNC_OUT(); return; L_0885AAAC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885A9EC; } @@ -7115,15 +7116,15 @@ L_0885AAAC: L_0885AAB4: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 4551u); aot_gpr_31 = (0x0885AACCu); - ctx.gpr[8] = (0u | 7u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885AACCu) goto L_0885AACC; + aot_gpr_8 = (0u | 7u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885AACCu) goto L_0885AACC; AOT_REGCACHE_SYNC_OUT(); return; L_0885AACC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885A9EC; } @@ -7132,15 +7133,15 @@ L_0885AACC: L_0885AAD4: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 4573u); aot_gpr_31 = (0x0885AAECu); - ctx.gpr[8] = (0u | 21u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885AAECu) goto L_0885AAEC; + aot_gpr_8 = (0u | 21u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885AAECu) goto L_0885AAEC; AOT_REGCACHE_SYNC_OUT(); return; L_0885AAEC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885A9EC; } @@ -7149,15 +7150,15 @@ L_0885AAEC: L_0885AAF4: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 4679u); aot_gpr_31 = (0x0885AB0Cu); - ctx.gpr[8] = (0u | 28u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885AB0Cu) goto L_0885AB0C; + aot_gpr_8 = (0u | 28u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885AB0Cu) goto L_0885AB0C; AOT_REGCACHE_SYNC_OUT(); return; L_0885AB0C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885A9EC; } @@ -7166,15 +7167,15 @@ L_0885AB0C: L_0885AB14: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 4672u); aot_gpr_31 = (0x0885AB2Cu); - ctx.gpr[8] = (0u | 7u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885AB2Cu) goto L_0885AB2C; + aot_gpr_8 = (0u | 7u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885AB2Cu) goto L_0885AB2C; AOT_REGCACHE_SYNC_OUT(); return; L_0885AB2C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885A9EC; } @@ -7186,25 +7187,25 @@ L_0885AB34: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x0885AB48u); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885AB48u) goto L_0885AB48; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885AB48u) goto L_0885AB48; AOT_REGCACHE_SYNC_OUT(); return; L_0885AB48: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0885AB54: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-108)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(40) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(40) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_0885ACD4; @@ -7225,14 +7226,14 @@ L_0885AB78: L_0885AB90: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 4859u); aot_gpr_31 = (0x0885ABA8u); - ctx.gpr[8] = (0u | 32u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885ABA8u) goto L_0885ABA8; + aot_gpr_8 = (0u | 32u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885ABA8u) goto L_0885ABA8; AOT_REGCACHE_SYNC_OUT(); return; L_0885ABA8: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_0885ABAC; L_0885ABAC: { const bool branch_taken = 0u == 0u; @@ -7245,15 +7246,15 @@ L_0885ABAC: L_0885ABB4: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 4756u); aot_gpr_31 = (0x0885ABCCu); - ctx.gpr[8] = (0u | 19u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885ABCCu) goto L_0885ABCC; + aot_gpr_8 = (0u | 19u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885ABCCu) goto L_0885ABCC; AOT_REGCACHE_SYNC_OUT(); return; L_0885ABCC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885ABAC; } @@ -7262,15 +7263,15 @@ L_0885ABCC: L_0885ABD4: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 4790u); aot_gpr_31 = (0x0885ABECu); - ctx.gpr[8] = (0u | 9u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885ABECu) goto L_0885ABEC; + aot_gpr_8 = (0u | 9u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885ABECu) goto L_0885ABEC; AOT_REGCACHE_SYNC_OUT(); return; L_0885ABEC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885ABAC; } @@ -7279,15 +7280,15 @@ L_0885ABEC: L_0885ABF4: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 4799u); aot_gpr_31 = (0x0885AC0Cu); - ctx.gpr[8] = (0u | 8u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885AC0Cu) goto L_0885AC0C; + aot_gpr_8 = (0u | 8u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885AC0Cu) goto L_0885AC0C; AOT_REGCACHE_SYNC_OUT(); return; L_0885AC0C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885ABAC; } @@ -7296,15 +7297,15 @@ L_0885AC0C: L_0885AC14: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 4807u); aot_gpr_31 = (0x0885AC2Cu); - ctx.gpr[8] = (0u | 17u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885AC2Cu) goto L_0885AC2C; + aot_gpr_8 = (0u | 17u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885AC2Cu) goto L_0885AC2C; AOT_REGCACHE_SYNC_OUT(); return; L_0885AC2C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885ABAC; } @@ -7313,15 +7314,15 @@ L_0885AC2C: L_0885AC34: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 4756u); aot_gpr_31 = (0x0885AC4Cu); - ctx.gpr[8] = (0u | 19u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885AC4Cu) goto L_0885AC4C; + aot_gpr_8 = (0u | 19u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885AC4Cu) goto L_0885AC4C; AOT_REGCACHE_SYNC_OUT(); return; L_0885AC4C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885ABAC; } @@ -7330,15 +7331,15 @@ L_0885AC4C: L_0885AC54: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 4750u); aot_gpr_31 = (0x0885AC6Cu); - ctx.gpr[8] = (0u | 6u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885AC6Cu) goto L_0885AC6C; + aot_gpr_8 = (0u | 6u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885AC6Cu) goto L_0885AC6C; AOT_REGCACHE_SYNC_OUT(); return; L_0885AC6C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885ABAC; } @@ -7347,15 +7348,15 @@ L_0885AC6C: L_0885AC74: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 4775u); aot_gpr_31 = (0x0885AC8Cu); - ctx.gpr[8] = (0u | 15u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885AC8Cu) goto L_0885AC8C; + aot_gpr_8 = (0u | 15u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885AC8Cu) goto L_0885AC8C; AOT_REGCACHE_SYNC_OUT(); return; L_0885AC8C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885ABAC; } @@ -7364,15 +7365,15 @@ L_0885AC8C: L_0885AC94: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 4829u); aot_gpr_31 = (0x0885ACACu); - ctx.gpr[8] = (0u | 30u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885ACACu) goto L_0885ACAC; + aot_gpr_8 = (0u | 30u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885ACACu) goto L_0885ACAC; AOT_REGCACHE_SYNC_OUT(); return; L_0885ACAC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885ABAC; } @@ -7381,15 +7382,15 @@ L_0885ACAC: L_0885ACB4: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 4824u); aot_gpr_31 = (0x0885ACCCu); - ctx.gpr[8] = (0u | 5u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885ACCCu) goto L_0885ACCC; + aot_gpr_8 = (0u | 5u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885ACCCu) goto L_0885ACCC; AOT_REGCACHE_SYNC_OUT(); return; L_0885ACCC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885ABAC; } @@ -7401,25 +7402,25 @@ L_0885ACD4: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x0885ACE8u); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885ACE8u) goto L_0885ACE8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885ACE8u) goto L_0885ACE8; AOT_REGCACHE_SYNC_OUT(); return; L_0885ACE8: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0885ACF4: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-115)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(33) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(33) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_0885AE34; @@ -7440,14 +7441,14 @@ L_0885AD18: L_0885AD30: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 4975u); aot_gpr_31 = (0x0885AD48u); - ctx.gpr[8] = (0u | 15u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885AD48u) goto L_0885AD48; + aot_gpr_8 = (0u | 15u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885AD48u) goto L_0885AD48; AOT_REGCACHE_SYNC_OUT(); return; L_0885AD48: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_0885AD4C; L_0885AD4C: { const bool branch_taken = 0u == 0u; @@ -7460,15 +7461,15 @@ L_0885AD4C: L_0885AD54: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 4905u); aot_gpr_31 = (0x0885AD6Cu); - ctx.gpr[8] = (0u | 10u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885AD6Cu) goto L_0885AD6C; + aot_gpr_8 = (0u | 10u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885AD6Cu) goto L_0885AD6C; AOT_REGCACHE_SYNC_OUT(); return; L_0885AD6C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885AD4C; } @@ -7477,15 +7478,15 @@ L_0885AD6C: L_0885AD74: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 4915u); aot_gpr_31 = (0x0885AD8Cu); - ctx.gpr[8] = (0u | 8u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885AD8Cu) goto L_0885AD8C; + aot_gpr_8 = (0u | 8u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885AD8Cu) goto L_0885AD8C; AOT_REGCACHE_SYNC_OUT(); return; L_0885AD8C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885AD4C; } @@ -7494,15 +7495,15 @@ L_0885AD8C: L_0885AD94: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 4923u); aot_gpr_31 = (0x0885ADACu); - ctx.gpr[8] = (0u | 16u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885ADACu) goto L_0885ADAC; + aot_gpr_8 = (0u | 16u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885ADACu) goto L_0885ADAC; AOT_REGCACHE_SYNC_OUT(); return; L_0885ADAC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885AD4C; } @@ -7511,15 +7512,15 @@ L_0885ADAC: L_0885ADB4: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 4966u); aot_gpr_31 = (0x0885ADCCu); - ctx.gpr[8] = (0u | 9u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885ADCCu) goto L_0885ADCC; + aot_gpr_8 = (0u | 9u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885ADCCu) goto L_0885ADCC; AOT_REGCACHE_SYNC_OUT(); return; L_0885ADCC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885AD4C; } @@ -7528,15 +7529,15 @@ L_0885ADCC: L_0885ADD4: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 4891u); aot_gpr_31 = (0x0885ADECu); - ctx.gpr[8] = (0u | 14u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885ADECu) goto L_0885ADEC; + aot_gpr_8 = (0u | 14u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885ADECu) goto L_0885ADEC; AOT_REGCACHE_SYNC_OUT(); return; L_0885ADEC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885AD4C; } @@ -7545,15 +7546,15 @@ L_0885ADEC: L_0885ADF4: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 4956u); aot_gpr_31 = (0x0885AE0Cu); - ctx.gpr[8] = (0u | 10u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885AE0Cu) goto L_0885AE0C; + aot_gpr_8 = (0u | 10u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885AE0Cu) goto L_0885AE0C; AOT_REGCACHE_SYNC_OUT(); return; L_0885AE0C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885AD4C; } @@ -7562,15 +7563,15 @@ L_0885AE0C: L_0885AE14: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 4951u); aot_gpr_31 = (0x0885AE2Cu); - ctx.gpr[8] = (0u | 5u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885AE2Cu) goto L_0885AE2C; + aot_gpr_8 = (0u | 5u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885AE2Cu) goto L_0885AE2C; AOT_REGCACHE_SYNC_OUT(); return; L_0885AE2C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885AD4C; } @@ -7582,23 +7583,23 @@ L_0885AE34: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x0885AE48u); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885AE48u) goto L_0885AE48; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885AE48u) goto L_0885AE48; AOT_REGCACHE_SYNC_OUT(); return; L_0885AE48: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0885AE54: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (2237u << 16u); aot_gpr_6 = (aot_gpr_6 & 65535u); aot_gpr_7 = (0u | 159u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); { const bool branch_taken = aot_gpr_6 == aot_gpr_7; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { @@ -7634,14 +7635,14 @@ L_0885AE88: L_0885AE90: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 4996u); aot_gpr_31 = (0x0885AEA8u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885AEA8u) goto L_0885AEA8; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885AEA8u) goto L_0885AEA8; AOT_REGCACHE_SYNC_OUT(); return; L_0885AEA8: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_0885AEAC; L_0885AEAC: { const bool branch_taken = 0u == 0u; @@ -7654,15 +7655,15 @@ L_0885AEAC: L_0885AEB4: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 4993u); aot_gpr_31 = (0x0885AECCu); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885AECCu) goto L_0885AECC; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885AECCu) goto L_0885AECC; AOT_REGCACHE_SYNC_OUT(); return; L_0885AECC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885AEAC; } @@ -7671,15 +7672,15 @@ L_0885AECC: L_0885AED4: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 4990u); aot_gpr_31 = (0x0885AEECu); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885AEECu) goto L_0885AEEC; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885AEECu) goto L_0885AEEC; AOT_REGCACHE_SYNC_OUT(); return; L_0885AEEC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885AEAC; } @@ -7688,15 +7689,15 @@ L_0885AEEC: L_0885AEF4: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 4999u); aot_gpr_31 = (0x0885AF0Cu); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885AF0Cu) goto L_0885AF0C; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885AF0Cu) goto L_0885AF0C; AOT_REGCACHE_SYNC_OUT(); return; L_0885AF0C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885AEAC; } @@ -7707,25 +7708,25 @@ L_0885AF14: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x0885AF24u); aot_gpr_5 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885AF24u) goto L_0885AF24; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885AF24u) goto L_0885AF24; AOT_REGCACHE_SYNC_OUT(); return; L_0885AF24: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0885AF30: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-118)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(41) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(41) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_0885B0B0; @@ -7746,14 +7747,14 @@ L_0885AF54: L_0885AF6C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5022u); aot_gpr_31 = (0x0885AF84u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885AF84u) goto L_0885AF84; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885AF84u) goto L_0885AF84; AOT_REGCACHE_SYNC_OUT(); return; L_0885AF84: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_0885AF88; L_0885AF88: { const bool branch_taken = 0u == 0u; @@ -7766,15 +7767,15 @@ L_0885AF88: L_0885AF90: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5024u); aot_gpr_31 = (0x0885AFA8u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885AFA8u) goto L_0885AFA8; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885AFA8u) goto L_0885AFA8; AOT_REGCACHE_SYNC_OUT(); return; L_0885AFA8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885AF88; } @@ -7783,15 +7784,15 @@ L_0885AFA8: L_0885AFB0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5016u); aot_gpr_31 = (0x0885AFC8u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885AFC8u) goto L_0885AFC8; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885AFC8u) goto L_0885AFC8; AOT_REGCACHE_SYNC_OUT(); return; L_0885AFC8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885AF88; } @@ -7800,15 +7801,15 @@ L_0885AFC8: L_0885AFD0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5012u); aot_gpr_31 = (0x0885AFE8u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885AFE8u) goto L_0885AFE8; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885AFE8u) goto L_0885AFE8; AOT_REGCACHE_SYNC_OUT(); return; L_0885AFE8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885AF88; } @@ -7817,15 +7818,15 @@ L_0885AFE8: L_0885AFF0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5010u); aot_gpr_31 = (0x0885B008u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B008u) goto L_0885B008; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B008u) goto L_0885B008; AOT_REGCACHE_SYNC_OUT(); return; L_0885B008: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885AF88; } @@ -7834,15 +7835,15 @@ L_0885B008: L_0885B010: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5014u); aot_gpr_31 = (0x0885B028u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B028u) goto L_0885B028; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B028u) goto L_0885B028; AOT_REGCACHE_SYNC_OUT(); return; L_0885B028: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885AF88; } @@ -7851,15 +7852,15 @@ L_0885B028: L_0885B030: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5027u); aot_gpr_31 = (0x0885B048u); - ctx.gpr[8] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B048u) goto L_0885B048; + aot_gpr_8 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B048u) goto L_0885B048; AOT_REGCACHE_SYNC_OUT(); return; L_0885B048: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885AF88; } @@ -7868,15 +7869,15 @@ L_0885B048: L_0885B050: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5002u); aot_gpr_31 = (0x0885B068u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B068u) goto L_0885B068; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B068u) goto L_0885B068; AOT_REGCACHE_SYNC_OUT(); return; L_0885B068: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885AF88; } @@ -7885,15 +7886,15 @@ L_0885B068: L_0885B070: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5005u); aot_gpr_31 = (0x0885B088u); - ctx.gpr[8] = (0u | 5u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B088u) goto L_0885B088; + aot_gpr_8 = (0u | 5u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B088u) goto L_0885B088; AOT_REGCACHE_SYNC_OUT(); return; L_0885B088: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885AF88; } @@ -7902,15 +7903,15 @@ L_0885B088: L_0885B090: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5019u); aot_gpr_31 = (0x0885B0A8u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B0A8u) goto L_0885B0A8; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B0A8u) goto L_0885B0A8; AOT_REGCACHE_SYNC_OUT(); return; L_0885B0A8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885AF88; } @@ -7922,25 +7923,25 @@ L_0885B0B0: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x0885B0C4u); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B0C4u) goto L_0885B0C4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C971C, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B0C4u) goto L_0885B0C4; AOT_REGCACHE_SYNC_OUT(); return; L_0885B0C4: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0885B0D0: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-118)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(41) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(41) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_0885B250; @@ -7961,14 +7962,14 @@ L_0885B0F4: L_0885B10C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5047u); aot_gpr_31 = (0x0885B124u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B124u) goto L_0885B124; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B124u) goto L_0885B124; AOT_REGCACHE_SYNC_OUT(); return; L_0885B124: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_0885B128; L_0885B128: { const bool branch_taken = 0u == 0u; @@ -7981,15 +7982,15 @@ L_0885B128: L_0885B130: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5049u); aot_gpr_31 = (0x0885B148u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B148u) goto L_0885B148; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B148u) goto L_0885B148; AOT_REGCACHE_SYNC_OUT(); return; L_0885B148: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885B128; } @@ -7998,15 +7999,15 @@ L_0885B148: L_0885B150: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5041u); aot_gpr_31 = (0x0885B168u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B168u) goto L_0885B168; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B168u) goto L_0885B168; AOT_REGCACHE_SYNC_OUT(); return; L_0885B168: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885B128; } @@ -8015,15 +8016,15 @@ L_0885B168: L_0885B170: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5037u); aot_gpr_31 = (0x0885B188u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B188u) goto L_0885B188; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B188u) goto L_0885B188; AOT_REGCACHE_SYNC_OUT(); return; L_0885B188: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885B128; } @@ -8032,15 +8033,15 @@ L_0885B188: L_0885B190: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5035u); aot_gpr_31 = (0x0885B1A8u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B1A8u) goto L_0885B1A8; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B1A8u) goto L_0885B1A8; AOT_REGCACHE_SYNC_OUT(); return; L_0885B1A8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885B128; } @@ -8049,15 +8050,15 @@ L_0885B1A8: L_0885B1B0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5039u); aot_gpr_31 = (0x0885B1C8u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B1C8u) goto L_0885B1C8; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B1C8u) goto L_0885B1C8; AOT_REGCACHE_SYNC_OUT(); return; L_0885B1C8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885B128; } @@ -8066,15 +8067,15 @@ L_0885B1C8: L_0885B1D0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5052u); aot_gpr_31 = (0x0885B1E8u); - ctx.gpr[8] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B1E8u) goto L_0885B1E8; + aot_gpr_8 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B1E8u) goto L_0885B1E8; AOT_REGCACHE_SYNC_OUT(); return; L_0885B1E8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885B128; } @@ -8083,15 +8084,15 @@ L_0885B1E8: L_0885B1F0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5028u); aot_gpr_31 = (0x0885B208u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B208u) goto L_0885B208; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B208u) goto L_0885B208; AOT_REGCACHE_SYNC_OUT(); return; L_0885B208: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885B128; } @@ -8100,15 +8101,15 @@ L_0885B208: L_0885B210: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5031u); aot_gpr_31 = (0x0885B228u); - ctx.gpr[8] = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B228u) goto L_0885B228; + aot_gpr_8 = (0u | 4u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B228u) goto L_0885B228; AOT_REGCACHE_SYNC_OUT(); return; L_0885B228: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885B128; } @@ -8117,15 +8118,15 @@ L_0885B228: L_0885B230: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5044u); aot_gpr_31 = (0x0885B248u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B248u) goto L_0885B248; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B248u) goto L_0885B248; AOT_REGCACHE_SYNC_OUT(); return; L_0885B248: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885B128; } @@ -8137,25 +8138,25 @@ L_0885B250: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x0885B264u); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B264u) goto L_0885B264; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C971C, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B264u) goto L_0885B264; AOT_REGCACHE_SYNC_OUT(); return; L_0885B264: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0885B270: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-118)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(41) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(41) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_0885B3F0; @@ -8176,14 +8177,14 @@ L_0885B294: L_0885B2AC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5072u); aot_gpr_31 = (0x0885B2C4u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B2C4u) goto L_0885B2C4; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B2C4u) goto L_0885B2C4; AOT_REGCACHE_SYNC_OUT(); return; L_0885B2C4: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_0885B2C8; L_0885B2C8: { const bool branch_taken = 0u == 0u; @@ -8196,15 +8197,15 @@ L_0885B2C8: L_0885B2D0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5074u); aot_gpr_31 = (0x0885B2E8u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B2E8u) goto L_0885B2E8; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B2E8u) goto L_0885B2E8; AOT_REGCACHE_SYNC_OUT(); return; L_0885B2E8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885B2C8; } @@ -8213,15 +8214,15 @@ L_0885B2E8: L_0885B2F0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5066u); aot_gpr_31 = (0x0885B308u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B308u) goto L_0885B308; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B308u) goto L_0885B308; AOT_REGCACHE_SYNC_OUT(); return; L_0885B308: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885B2C8; } @@ -8230,15 +8231,15 @@ L_0885B308: L_0885B310: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5062u); aot_gpr_31 = (0x0885B328u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B328u) goto L_0885B328; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B328u) goto L_0885B328; AOT_REGCACHE_SYNC_OUT(); return; L_0885B328: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885B2C8; } @@ -8247,15 +8248,15 @@ L_0885B328: L_0885B330: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5060u); aot_gpr_31 = (0x0885B348u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B348u) goto L_0885B348; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B348u) goto L_0885B348; AOT_REGCACHE_SYNC_OUT(); return; L_0885B348: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885B2C8; } @@ -8264,15 +8265,15 @@ L_0885B348: L_0885B350: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5064u); aot_gpr_31 = (0x0885B368u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B368u) goto L_0885B368; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B368u) goto L_0885B368; AOT_REGCACHE_SYNC_OUT(); return; L_0885B368: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885B2C8; } @@ -8281,15 +8282,15 @@ L_0885B368: L_0885B370: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5077u); aot_gpr_31 = (0x0885B388u); - ctx.gpr[8] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B388u) goto L_0885B388; + aot_gpr_8 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B388u) goto L_0885B388; AOT_REGCACHE_SYNC_OUT(); return; L_0885B388: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885B2C8; } @@ -8298,15 +8299,15 @@ L_0885B388: L_0885B390: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5053u); aot_gpr_31 = (0x0885B3A8u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B3A8u) goto L_0885B3A8; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B3A8u) goto L_0885B3A8; AOT_REGCACHE_SYNC_OUT(); return; L_0885B3A8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885B2C8; } @@ -8315,15 +8316,15 @@ L_0885B3A8: L_0885B3B0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5056u); aot_gpr_31 = (0x0885B3C8u); - ctx.gpr[8] = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B3C8u) goto L_0885B3C8; + aot_gpr_8 = (0u | 4u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B3C8u) goto L_0885B3C8; AOT_REGCACHE_SYNC_OUT(); return; L_0885B3C8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885B2C8; } @@ -8332,15 +8333,15 @@ L_0885B3C8: L_0885B3D0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5069u); aot_gpr_31 = (0x0885B3E8u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B3E8u) goto L_0885B3E8; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B3E8u) goto L_0885B3E8; AOT_REGCACHE_SYNC_OUT(); return; L_0885B3E8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885B2C8; } @@ -8352,25 +8353,25 @@ L_0885B3F0: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x0885B404u); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B404u) goto L_0885B404; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C971C, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B404u) goto L_0885B404; AOT_REGCACHE_SYNC_OUT(); return; L_0885B404: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0885B410: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-118)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(41) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(41) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_0885B590; @@ -8391,14 +8392,14 @@ L_0885B434: L_0885B44C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5097u); aot_gpr_31 = (0x0885B464u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B464u) goto L_0885B464; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B464u) goto L_0885B464; AOT_REGCACHE_SYNC_OUT(); return; L_0885B464: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_0885B468; L_0885B468: { const bool branch_taken = 0u == 0u; @@ -8411,15 +8412,15 @@ L_0885B468: L_0885B470: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5099u); aot_gpr_31 = (0x0885B488u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B488u) goto L_0885B488; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B488u) goto L_0885B488; AOT_REGCACHE_SYNC_OUT(); return; L_0885B488: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885B468; } @@ -8428,15 +8429,15 @@ L_0885B488: L_0885B490: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5091u); aot_gpr_31 = (0x0885B4A8u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B4A8u) goto L_0885B4A8; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B4A8u) goto L_0885B4A8; AOT_REGCACHE_SYNC_OUT(); return; L_0885B4A8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885B468; } @@ -8445,15 +8446,15 @@ L_0885B4A8: L_0885B4B0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5087u); aot_gpr_31 = (0x0885B4C8u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B4C8u) goto L_0885B4C8; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B4C8u) goto L_0885B4C8; AOT_REGCACHE_SYNC_OUT(); return; L_0885B4C8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885B468; } @@ -8462,15 +8463,15 @@ L_0885B4C8: L_0885B4D0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5085u); aot_gpr_31 = (0x0885B4E8u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B4E8u) goto L_0885B4E8; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B4E8u) goto L_0885B4E8; AOT_REGCACHE_SYNC_OUT(); return; L_0885B4E8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885B468; } @@ -8479,15 +8480,15 @@ L_0885B4E8: L_0885B4F0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5089u); aot_gpr_31 = (0x0885B508u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B508u) goto L_0885B508; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B508u) goto L_0885B508; AOT_REGCACHE_SYNC_OUT(); return; L_0885B508: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885B468; } @@ -8496,15 +8497,15 @@ L_0885B508: L_0885B510: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5102u); aot_gpr_31 = (0x0885B528u); - ctx.gpr[8] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B528u) goto L_0885B528; + aot_gpr_8 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B528u) goto L_0885B528; AOT_REGCACHE_SYNC_OUT(); return; L_0885B528: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885B468; } @@ -8513,15 +8514,15 @@ L_0885B528: L_0885B530: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5078u); aot_gpr_31 = (0x0885B548u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B548u) goto L_0885B548; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B548u) goto L_0885B548; AOT_REGCACHE_SYNC_OUT(); return; L_0885B548: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885B468; } @@ -8530,15 +8531,15 @@ L_0885B548: L_0885B550: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5081u); aot_gpr_31 = (0x0885B568u); - ctx.gpr[8] = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B568u) goto L_0885B568; + aot_gpr_8 = (0u | 4u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B568u) goto L_0885B568; AOT_REGCACHE_SYNC_OUT(); return; L_0885B568: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885B468; } @@ -8547,15 +8548,15 @@ L_0885B568: L_0885B570: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5094u); aot_gpr_31 = (0x0885B588u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B588u) goto L_0885B588; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B588u) goto L_0885B588; AOT_REGCACHE_SYNC_OUT(); return; L_0885B588: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885B468; } @@ -8567,25 +8568,25 @@ L_0885B590: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x0885B5A4u); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B5A4u) goto L_0885B5A4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C971C, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B5A4u) goto L_0885B5A4; AOT_REGCACHE_SYNC_OUT(); return; L_0885B5A4: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0885B5B0: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-118)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(41) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(41) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_0885B730; @@ -8606,14 +8607,14 @@ L_0885B5D4: L_0885B5EC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5122u); aot_gpr_31 = (0x0885B604u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B604u) goto L_0885B604; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B604u) goto L_0885B604; AOT_REGCACHE_SYNC_OUT(); return; L_0885B604: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_0885B608; L_0885B608: { const bool branch_taken = 0u == 0u; @@ -8626,15 +8627,15 @@ L_0885B608: L_0885B610: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5124u); aot_gpr_31 = (0x0885B628u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B628u) goto L_0885B628; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B628u) goto L_0885B628; AOT_REGCACHE_SYNC_OUT(); return; L_0885B628: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885B608; } @@ -8643,15 +8644,15 @@ L_0885B628: L_0885B630: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5116u); aot_gpr_31 = (0x0885B648u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B648u) goto L_0885B648; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B648u) goto L_0885B648; AOT_REGCACHE_SYNC_OUT(); return; L_0885B648: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885B608; } @@ -8660,15 +8661,15 @@ L_0885B648: L_0885B650: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5112u); aot_gpr_31 = (0x0885B668u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B668u) goto L_0885B668; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B668u) goto L_0885B668; AOT_REGCACHE_SYNC_OUT(); return; L_0885B668: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885B608; } @@ -8677,15 +8678,15 @@ L_0885B668: L_0885B670: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5110u); aot_gpr_31 = (0x0885B688u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B688u) goto L_0885B688; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B688u) goto L_0885B688; AOT_REGCACHE_SYNC_OUT(); return; L_0885B688: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885B608; } @@ -8694,15 +8695,15 @@ L_0885B688: L_0885B690: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5114u); aot_gpr_31 = (0x0885B6A8u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B6A8u) goto L_0885B6A8; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B6A8u) goto L_0885B6A8; AOT_REGCACHE_SYNC_OUT(); return; L_0885B6A8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885B608; } @@ -8711,15 +8712,15 @@ L_0885B6A8: L_0885B6B0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5126u); aot_gpr_31 = (0x0885B6C8u); - ctx.gpr[8] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B6C8u) goto L_0885B6C8; + aot_gpr_8 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B6C8u) goto L_0885B6C8; AOT_REGCACHE_SYNC_OUT(); return; L_0885B6C8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885B608; } @@ -8728,15 +8729,15 @@ L_0885B6C8: L_0885B6D0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5103u); aot_gpr_31 = (0x0885B6E8u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B6E8u) goto L_0885B6E8; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B6E8u) goto L_0885B6E8; AOT_REGCACHE_SYNC_OUT(); return; L_0885B6E8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885B608; } @@ -8745,15 +8746,15 @@ L_0885B6E8: L_0885B6F0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5106u); aot_gpr_31 = (0x0885B708u); - ctx.gpr[8] = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B708u) goto L_0885B708; + aot_gpr_8 = (0u | 4u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B708u) goto L_0885B708; AOT_REGCACHE_SYNC_OUT(); return; L_0885B708: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885B608; } @@ -8762,15 +8763,15 @@ L_0885B708: L_0885B710: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5119u); aot_gpr_31 = (0x0885B728u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B728u) goto L_0885B728; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B728u) goto L_0885B728; AOT_REGCACHE_SYNC_OUT(); return; L_0885B728: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885B608; } @@ -8782,25 +8783,25 @@ L_0885B730: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x0885B744u); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B744u) goto L_0885B744; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C971C, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B744u) goto L_0885B744; AOT_REGCACHE_SYNC_OUT(); return; L_0885B744: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0885B750: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-118)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(41) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(41) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_0885B8D0; @@ -8821,14 +8822,14 @@ L_0885B774: L_0885B78C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5146u); aot_gpr_31 = (0x0885B7A4u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B7A4u) goto L_0885B7A4; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B7A4u) goto L_0885B7A4; AOT_REGCACHE_SYNC_OUT(); return; L_0885B7A4: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_0885B7A8; L_0885B7A8: { const bool branch_taken = 0u == 0u; @@ -8841,15 +8842,15 @@ L_0885B7A8: L_0885B7B0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5148u); aot_gpr_31 = (0x0885B7C8u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B7C8u) goto L_0885B7C8; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B7C8u) goto L_0885B7C8; AOT_REGCACHE_SYNC_OUT(); return; L_0885B7C8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885B7A8; } @@ -8858,15 +8859,15 @@ L_0885B7C8: L_0885B7D0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5140u); aot_gpr_31 = (0x0885B7E8u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B7E8u) goto L_0885B7E8; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B7E8u) goto L_0885B7E8; AOT_REGCACHE_SYNC_OUT(); return; L_0885B7E8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885B7A8; } @@ -8875,15 +8876,15 @@ L_0885B7E8: L_0885B7F0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5136u); aot_gpr_31 = (0x0885B808u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B808u) goto L_0885B808; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B808u) goto L_0885B808; AOT_REGCACHE_SYNC_OUT(); return; L_0885B808: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885B7A8; } @@ -8892,15 +8893,15 @@ L_0885B808: L_0885B810: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5134u); aot_gpr_31 = (0x0885B828u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B828u) goto L_0885B828; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B828u) goto L_0885B828; AOT_REGCACHE_SYNC_OUT(); return; L_0885B828: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885B7A8; } @@ -8909,15 +8910,15 @@ L_0885B828: L_0885B830: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5138u); aot_gpr_31 = (0x0885B848u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B848u) goto L_0885B848; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B848u) goto L_0885B848; AOT_REGCACHE_SYNC_OUT(); return; L_0885B848: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885B7A8; } @@ -8926,15 +8927,15 @@ L_0885B848: L_0885B850: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5151u); aot_gpr_31 = (0x0885B868u); - ctx.gpr[8] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B868u) goto L_0885B868; + aot_gpr_8 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B868u) goto L_0885B868; AOT_REGCACHE_SYNC_OUT(); return; L_0885B868: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885B7A8; } @@ -8943,15 +8944,15 @@ L_0885B868: L_0885B870: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5127u); aot_gpr_31 = (0x0885B888u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B888u) goto L_0885B888; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B888u) goto L_0885B888; AOT_REGCACHE_SYNC_OUT(); return; L_0885B888: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885B7A8; } @@ -8960,15 +8961,15 @@ L_0885B888: L_0885B890: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5130u); aot_gpr_31 = (0x0885B8A8u); - ctx.gpr[8] = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B8A8u) goto L_0885B8A8; + aot_gpr_8 = (0u | 4u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B8A8u) goto L_0885B8A8; AOT_REGCACHE_SYNC_OUT(); return; L_0885B8A8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885B7A8; } @@ -8977,15 +8978,15 @@ L_0885B8A8: L_0885B8B0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5143u); aot_gpr_31 = (0x0885B8C8u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B8C8u) goto L_0885B8C8; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B8C8u) goto L_0885B8C8; AOT_REGCACHE_SYNC_OUT(); return; L_0885B8C8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885B7A8; } @@ -8997,25 +8998,25 @@ L_0885B8D0: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x0885B8E4u); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B8E4u) goto L_0885B8E4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C971C, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B8E4u) goto L_0885B8E4; AOT_REGCACHE_SYNC_OUT(); return; L_0885B8E4: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0885B8F0: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-118)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(41) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(41) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_0885BA70; @@ -9036,14 +9037,14 @@ L_0885B914: L_0885B92C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5171u); aot_gpr_31 = (0x0885B944u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B944u) goto L_0885B944; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B944u) goto L_0885B944; AOT_REGCACHE_SYNC_OUT(); return; L_0885B944: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_0885B948; L_0885B948: { const bool branch_taken = 0u == 0u; @@ -9056,15 +9057,15 @@ L_0885B948: L_0885B950: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5173u); aot_gpr_31 = (0x0885B968u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B968u) goto L_0885B968; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B968u) goto L_0885B968; AOT_REGCACHE_SYNC_OUT(); return; L_0885B968: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885B948; } @@ -9073,15 +9074,15 @@ L_0885B968: L_0885B970: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5165u); aot_gpr_31 = (0x0885B988u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B988u) goto L_0885B988; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B988u) goto L_0885B988; AOT_REGCACHE_SYNC_OUT(); return; L_0885B988: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885B948; } @@ -9090,15 +9091,15 @@ L_0885B988: L_0885B990: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5161u); aot_gpr_31 = (0x0885B9A8u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B9A8u) goto L_0885B9A8; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B9A8u) goto L_0885B9A8; AOT_REGCACHE_SYNC_OUT(); return; L_0885B9A8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885B948; } @@ -9107,15 +9108,15 @@ L_0885B9A8: L_0885B9B0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5159u); aot_gpr_31 = (0x0885B9C8u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B9C8u) goto L_0885B9C8; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B9C8u) goto L_0885B9C8; AOT_REGCACHE_SYNC_OUT(); return; L_0885B9C8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885B948; } @@ -9124,15 +9125,15 @@ L_0885B9C8: L_0885B9D0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5163u); aot_gpr_31 = (0x0885B9E8u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B9E8u) goto L_0885B9E8; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885B9E8u) goto L_0885B9E8; AOT_REGCACHE_SYNC_OUT(); return; L_0885B9E8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885B948; } @@ -9141,15 +9142,15 @@ L_0885B9E8: L_0885B9F0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5176u); aot_gpr_31 = (0x0885BA08u); - ctx.gpr[8] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885BA08u) goto L_0885BA08; + aot_gpr_8 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885BA08u) goto L_0885BA08; AOT_REGCACHE_SYNC_OUT(); return; L_0885BA08: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885B948; } @@ -9158,15 +9159,15 @@ L_0885BA08: L_0885BA10: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5152u); aot_gpr_31 = (0x0885BA28u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885BA28u) goto L_0885BA28; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885BA28u) goto L_0885BA28; AOT_REGCACHE_SYNC_OUT(); return; L_0885BA28: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885B948; } @@ -9175,15 +9176,15 @@ L_0885BA28: L_0885BA30: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5155u); aot_gpr_31 = (0x0885BA48u); - ctx.gpr[8] = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885BA48u) goto L_0885BA48; + aot_gpr_8 = (0u | 4u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885BA48u) goto L_0885BA48; AOT_REGCACHE_SYNC_OUT(); return; L_0885BA48: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885B948; } @@ -9192,15 +9193,15 @@ L_0885BA48: L_0885BA50: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5168u); aot_gpr_31 = (0x0885BA68u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885BA68u) goto L_0885BA68; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885BA68u) goto L_0885BA68; AOT_REGCACHE_SYNC_OUT(); return; L_0885BA68: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885B948; } @@ -9212,25 +9213,25 @@ L_0885BA70: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x0885BA84u); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885BA84u) goto L_0885BA84; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C971C, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885BA84u) goto L_0885BA84; AOT_REGCACHE_SYNC_OUT(); return; L_0885BA84: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0885BA90: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-118)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(41) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(41) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_0885BC10; @@ -9251,14 +9252,14 @@ L_0885BAB4: L_0885BACC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5196u); aot_gpr_31 = (0x0885BAE4u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885BAE4u) goto L_0885BAE4; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885BAE4u) goto L_0885BAE4; AOT_REGCACHE_SYNC_OUT(); return; L_0885BAE4: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_0885BAE8; L_0885BAE8: { const bool branch_taken = 0u == 0u; @@ -9271,15 +9272,15 @@ L_0885BAE8: L_0885BAF0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5198u); aot_gpr_31 = (0x0885BB08u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885BB08u) goto L_0885BB08; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885BB08u) goto L_0885BB08; AOT_REGCACHE_SYNC_OUT(); return; L_0885BB08: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885BAE8; } @@ -9288,15 +9289,15 @@ L_0885BB08: L_0885BB10: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5190u); aot_gpr_31 = (0x0885BB28u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885BB28u) goto L_0885BB28; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885BB28u) goto L_0885BB28; AOT_REGCACHE_SYNC_OUT(); return; L_0885BB28: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885BAE8; } @@ -9305,15 +9306,15 @@ L_0885BB28: L_0885BB30: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5186u); aot_gpr_31 = (0x0885BB48u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885BB48u) goto L_0885BB48; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885BB48u) goto L_0885BB48; AOT_REGCACHE_SYNC_OUT(); return; L_0885BB48: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885BAE8; } @@ -9322,15 +9323,15 @@ L_0885BB48: L_0885BB50: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5184u); aot_gpr_31 = (0x0885BB68u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885BB68u) goto L_0885BB68; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885BB68u) goto L_0885BB68; AOT_REGCACHE_SYNC_OUT(); return; L_0885BB68: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885BAE8; } @@ -9339,15 +9340,15 @@ L_0885BB68: L_0885BB70: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5188u); aot_gpr_31 = (0x0885BB88u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885BB88u) goto L_0885BB88; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885BB88u) goto L_0885BB88; AOT_REGCACHE_SYNC_OUT(); return; L_0885BB88: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885BAE8; } @@ -9356,15 +9357,15 @@ L_0885BB88: L_0885BB90: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5201u); aot_gpr_31 = (0x0885BBA8u); - ctx.gpr[8] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885BBA8u) goto L_0885BBA8; + aot_gpr_8 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885BBA8u) goto L_0885BBA8; AOT_REGCACHE_SYNC_OUT(); return; L_0885BBA8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885BAE8; } @@ -9373,15 +9374,15 @@ L_0885BBA8: L_0885BBB0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5177u); aot_gpr_31 = (0x0885BBC8u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885BBC8u) goto L_0885BBC8; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885BBC8u) goto L_0885BBC8; AOT_REGCACHE_SYNC_OUT(); return; L_0885BBC8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885BAE8; } @@ -9390,15 +9391,15 @@ L_0885BBC8: L_0885BBD0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5180u); aot_gpr_31 = (0x0885BBE8u); - ctx.gpr[8] = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885BBE8u) goto L_0885BBE8; + aot_gpr_8 = (0u | 4u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885BBE8u) goto L_0885BBE8; AOT_REGCACHE_SYNC_OUT(); return; L_0885BBE8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885BAE8; } @@ -9407,15 +9408,15 @@ L_0885BBE8: L_0885BBF0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5193u); aot_gpr_31 = (0x0885BC08u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885BC08u) goto L_0885BC08; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885BC08u) goto L_0885BC08; AOT_REGCACHE_SYNC_OUT(); return; L_0885BC08: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885BAE8; } @@ -9427,25 +9428,25 @@ L_0885BC10: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x0885BC24u); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885BC24u) goto L_0885BC24; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C971C, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885BC24u) goto L_0885BC24; AOT_REGCACHE_SYNC_OUT(); return; L_0885BC24: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0885BC30: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-118)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(41) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(41) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_0885BDB0; @@ -9466,14 +9467,14 @@ L_0885BC54: L_0885BC6C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5221u); aot_gpr_31 = (0x0885BC84u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885BC84u) goto L_0885BC84; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885BC84u) goto L_0885BC84; AOT_REGCACHE_SYNC_OUT(); return; L_0885BC84: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_0885BC88; L_0885BC88: { const bool branch_taken = 0u == 0u; @@ -9486,15 +9487,15 @@ L_0885BC88: L_0885BC90: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5223u); aot_gpr_31 = (0x0885BCA8u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885BCA8u) goto L_0885BCA8; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885BCA8u) goto L_0885BCA8; AOT_REGCACHE_SYNC_OUT(); return; L_0885BCA8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885BC88; } @@ -9503,15 +9504,15 @@ L_0885BCA8: L_0885BCB0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5215u); aot_gpr_31 = (0x0885BCC8u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885BCC8u) goto L_0885BCC8; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885BCC8u) goto L_0885BCC8; AOT_REGCACHE_SYNC_OUT(); return; L_0885BCC8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885BC88; } @@ -9520,15 +9521,15 @@ L_0885BCC8: L_0885BCD0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5211u); aot_gpr_31 = (0x0885BCE8u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885BCE8u) goto L_0885BCE8; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885BCE8u) goto L_0885BCE8; AOT_REGCACHE_SYNC_OUT(); return; L_0885BCE8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885BC88; } @@ -9537,15 +9538,15 @@ L_0885BCE8: L_0885BCF0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5209u); aot_gpr_31 = (0x0885BD08u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885BD08u) goto L_0885BD08; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885BD08u) goto L_0885BD08; AOT_REGCACHE_SYNC_OUT(); return; L_0885BD08: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885BC88; } @@ -9554,15 +9555,15 @@ L_0885BD08: L_0885BD10: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5213u); aot_gpr_31 = (0x0885BD28u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885BD28u) goto L_0885BD28; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885BD28u) goto L_0885BD28; AOT_REGCACHE_SYNC_OUT(); return; L_0885BD28: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885BC88; } @@ -9571,15 +9572,15 @@ L_0885BD28: L_0885BD30: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5226u); aot_gpr_31 = (0x0885BD48u); - ctx.gpr[8] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885BD48u) goto L_0885BD48; + aot_gpr_8 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885BD48u) goto L_0885BD48; AOT_REGCACHE_SYNC_OUT(); return; L_0885BD48: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885BC88; } @@ -9588,15 +9589,15 @@ L_0885BD48: L_0885BD50: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5202u); aot_gpr_31 = (0x0885BD68u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885BD68u) goto L_0885BD68; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885BD68u) goto L_0885BD68; AOT_REGCACHE_SYNC_OUT(); return; L_0885BD68: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885BC88; } @@ -9605,15 +9606,15 @@ L_0885BD68: L_0885BD70: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5205u); aot_gpr_31 = (0x0885BD88u); - ctx.gpr[8] = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885BD88u) goto L_0885BD88; + aot_gpr_8 = (0u | 4u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885BD88u) goto L_0885BD88; AOT_REGCACHE_SYNC_OUT(); return; L_0885BD88: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885BC88; } @@ -9622,15 +9623,15 @@ L_0885BD88: L_0885BD90: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5218u); aot_gpr_31 = (0x0885BDA8u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885BDA8u) goto L_0885BDA8; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885BDA8u) goto L_0885BDA8; AOT_REGCACHE_SYNC_OUT(); return; L_0885BDA8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885BC88; } @@ -9642,25 +9643,25 @@ L_0885BDB0: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x0885BDC4u); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885BDC4u) goto L_0885BDC4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C971C, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885BDC4u) goto L_0885BDC4; AOT_REGCACHE_SYNC_OUT(); return; L_0885BDC4: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0885BDD0: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-118)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(41) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(41) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_0885BF50; @@ -9681,14 +9682,14 @@ L_0885BDF4: L_0885BE0C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5246u); aot_gpr_31 = (0x0885BE24u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885BE24u) goto L_0885BE24; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885BE24u) goto L_0885BE24; AOT_REGCACHE_SYNC_OUT(); return; L_0885BE24: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_0885BE28; L_0885BE28: { const bool branch_taken = 0u == 0u; @@ -9701,15 +9702,15 @@ L_0885BE28: L_0885BE30: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5248u); aot_gpr_31 = (0x0885BE48u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885BE48u) goto L_0885BE48; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885BE48u) goto L_0885BE48; AOT_REGCACHE_SYNC_OUT(); return; L_0885BE48: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885BE28; } @@ -9718,15 +9719,15 @@ L_0885BE48: L_0885BE50: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5240u); aot_gpr_31 = (0x0885BE68u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885BE68u) goto L_0885BE68; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885BE68u) goto L_0885BE68; AOT_REGCACHE_SYNC_OUT(); return; L_0885BE68: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885BE28; } @@ -9735,15 +9736,15 @@ L_0885BE68: L_0885BE70: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5236u); aot_gpr_31 = (0x0885BE88u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885BE88u) goto L_0885BE88; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885BE88u) goto L_0885BE88; AOT_REGCACHE_SYNC_OUT(); return; L_0885BE88: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885BE28; } @@ -9752,15 +9753,15 @@ L_0885BE88: L_0885BE90: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5234u); aot_gpr_31 = (0x0885BEA8u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885BEA8u) goto L_0885BEA8; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885BEA8u) goto L_0885BEA8; AOT_REGCACHE_SYNC_OUT(); return; L_0885BEA8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885BE28; } @@ -9769,15 +9770,15 @@ L_0885BEA8: L_0885BEB0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5238u); aot_gpr_31 = (0x0885BEC8u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885BEC8u) goto L_0885BEC8; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885BEC8u) goto L_0885BEC8; AOT_REGCACHE_SYNC_OUT(); return; L_0885BEC8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885BE28; } @@ -9786,15 +9787,15 @@ L_0885BEC8: L_0885BED0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5251u); aot_gpr_31 = (0x0885BEE8u); - ctx.gpr[8] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885BEE8u) goto L_0885BEE8; + aot_gpr_8 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885BEE8u) goto L_0885BEE8; AOT_REGCACHE_SYNC_OUT(); return; L_0885BEE8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885BE28; } @@ -9803,15 +9804,15 @@ L_0885BEE8: L_0885BEF0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5227u); aot_gpr_31 = (0x0885BF08u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885BF08u) goto L_0885BF08; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885BF08u) goto L_0885BF08; AOT_REGCACHE_SYNC_OUT(); return; L_0885BF08: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885BE28; } @@ -9820,15 +9821,15 @@ L_0885BF08: L_0885BF10: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5230u); aot_gpr_31 = (0x0885BF28u); - ctx.gpr[8] = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885BF28u) goto L_0885BF28; + aot_gpr_8 = (0u | 4u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885BF28u) goto L_0885BF28; AOT_REGCACHE_SYNC_OUT(); return; L_0885BF28: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885BE28; } @@ -9837,15 +9838,15 @@ L_0885BF28: L_0885BF30: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5243u); aot_gpr_31 = (0x0885BF48u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885BF48u) goto L_0885BF48; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885BF48u) goto L_0885BF48; AOT_REGCACHE_SYNC_OUT(); return; L_0885BF48: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885BE28; } @@ -9857,25 +9858,25 @@ L_0885BF50: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x0885BF64u); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885BF64u) goto L_0885BF64; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C971C, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885BF64u) goto L_0885BF64; AOT_REGCACHE_SYNC_OUT(); return; L_0885BF64: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0885BF70: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-118)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(41) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(41) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 17u, 0x0885C0F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; @@ -9896,14 +9897,14 @@ L_0885BF94: L_0885BFAC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5296u); aot_gpr_31 = (0x0885BFC4u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885BFC4u) goto L_0885BFC4; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885BFC4u) goto L_0885BFC4; AOT_REGCACHE_SYNC_OUT(); return; L_0885BFC4: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_0885BFC8; L_0885BFC8: { const bool branch_taken = 0u == 0u; @@ -9916,15 +9917,15 @@ L_0885BFC8: L_0885BFD0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5298u); aot_gpr_31 = (0x0885BFE8u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885BFE8u) goto L_0885BFE8; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885BFE8u) goto L_0885BFE8; AOT_REGCACHE_SYNC_OUT(); return; L_0885BFE8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885BFC8; } @@ -9933,7 +9934,7 @@ L_0885BFE8: L_0885BFF0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5290u); ctx.pc = 0x0885C000u; AOT_REGCACHE_SYNC_OUT(); return; } diff --git a/profiles/vcs/generated/generated_unit_0022.cpp b/profiles/vcs/generated/generated_unit_0022.cpp index f9364cd..872d124 100644 --- a/profiles/vcs/generated/generated_unit_0022.cpp +++ b/profiles/vcs/generated/generated_unit_0022.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0022[4090] = { }; void recomp_unit_0022_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,6,29,31,7 fprs=13,12,14,0 gpr_occ=4571 fpr_occ=256 gpr_total=5371 fpr_total=488 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,6,31,7,8 fprs=13,12,14,0 gpr_occ=5641 fpr_occ=256 gpr_total=7437 fpr_total=488 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_6 = ctx.gpr[6]; - std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; std::uint32_t aot_gpr_7 = ctx.gpr[7]; + std::uint32_t aot_gpr_8 = ctx.gpr[8]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_14 = ctx.fpr[14]; float aot_fpr_0 = ctx.fpr[0]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[6] = aot_gpr_6; ctx.gpr[29] = aot_gpr_29; ctx.gpr[31] = aot_gpr_31; ctx.gpr[7] = aot_gpr_7; ctx.fpr[13] = aot_fpr_13; ctx.fpr[12] = aot_fpr_12; ctx.fpr[14] = aot_fpr_14; ctx.fpr[0] = aot_fpr_0; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_7 = ctx.gpr[7]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_0 = ctx.fpr[0]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[6] = aot_gpr_6; ctx.gpr[31] = aot_gpr_31; ctx.gpr[7] = aot_gpr_7; ctx.gpr[8] = aot_gpr_8; ctx.fpr[13] = aot_fpr_13; ctx.fpr[12] = aot_fpr_12; ctx.fpr[14] = aot_fpr_14; ctx.fpr[0] = aot_fpr_0; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_7 = ctx.gpr[7]; aot_gpr_8 = ctx.gpr[8]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_0 = ctx.fpr[0]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -1115,12 +1116,12 @@ LOCAL_DISPATCH: } L_0885C000: aot_gpr_31 = (0x0885C008u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C008u) goto L_0885C008; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C008u) goto L_0885C008; AOT_REGCACHE_SYNC_OUT(); return; L_0885C008: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0021_entry, 21u, 1025u, 0x0885BFC8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } @@ -1129,15 +1130,15 @@ L_0885C008: L_0885C010: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5286u); aot_gpr_31 = (0x0885C028u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C028u) goto L_0885C028; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C028u) goto L_0885C028; AOT_REGCACHE_SYNC_OUT(); return; L_0885C028: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0021_entry, 21u, 1025u, 0x0885BFC8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } @@ -1146,15 +1147,15 @@ L_0885C028: L_0885C030: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5284u); aot_gpr_31 = (0x0885C048u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C048u) goto L_0885C048; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C048u) goto L_0885C048; AOT_REGCACHE_SYNC_OUT(); return; L_0885C048: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0021_entry, 21u, 1025u, 0x0885BFC8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } @@ -1163,15 +1164,15 @@ L_0885C048: L_0885C050: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5288u); aot_gpr_31 = (0x0885C068u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C068u) goto L_0885C068; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C068u) goto L_0885C068; AOT_REGCACHE_SYNC_OUT(); return; L_0885C068: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0021_entry, 21u, 1025u, 0x0885BFC8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } @@ -1180,15 +1181,15 @@ L_0885C068: L_0885C070: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5301u); aot_gpr_31 = (0x0885C088u); - ctx.gpr[8] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C088u) goto L_0885C088; + aot_gpr_8 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C088u) goto L_0885C088; AOT_REGCACHE_SYNC_OUT(); return; L_0885C088: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0021_entry, 21u, 1025u, 0x0885BFC8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } @@ -1197,15 +1198,15 @@ L_0885C088: L_0885C090: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5277u); aot_gpr_31 = (0x0885C0A8u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C0A8u) goto L_0885C0A8; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C0A8u) goto L_0885C0A8; AOT_REGCACHE_SYNC_OUT(); return; L_0885C0A8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0021_entry, 21u, 1025u, 0x0885BFC8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } @@ -1214,15 +1215,15 @@ L_0885C0A8: L_0885C0B0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5280u); aot_gpr_31 = (0x0885C0C8u); - ctx.gpr[8] = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C0C8u) goto L_0885C0C8; + aot_gpr_8 = (0u | 4u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C0C8u) goto L_0885C0C8; AOT_REGCACHE_SYNC_OUT(); return; L_0885C0C8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0021_entry, 21u, 1025u, 0x0885BFC8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } @@ -1231,15 +1232,15 @@ L_0885C0C8: L_0885C0D0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5293u); aot_gpr_31 = (0x0885C0E8u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C0E8u) goto L_0885C0E8; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C0E8u) goto L_0885C0E8; AOT_REGCACHE_SYNC_OUT(); return; L_0885C0E8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0021_entry, 21u, 1025u, 0x0885BFC8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } @@ -1251,25 +1252,25 @@ L_0885C0F0: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x0885C104u); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C104u) goto L_0885C104; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C971C, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C104u) goto L_0885C104; AOT_REGCACHE_SYNC_OUT(); return; L_0885C104: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0885C110: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-118)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(41) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(41) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_0885C290; @@ -1290,14 +1291,14 @@ L_0885C134: L_0885C14C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5321u); aot_gpr_31 = (0x0885C164u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C164u) goto L_0885C164; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C164u) goto L_0885C164; AOT_REGCACHE_SYNC_OUT(); return; L_0885C164: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_0885C168; L_0885C168: { const bool branch_taken = 0u == 0u; @@ -1310,15 +1311,15 @@ L_0885C168: L_0885C170: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5323u); aot_gpr_31 = (0x0885C188u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C188u) goto L_0885C188; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C188u) goto L_0885C188; AOT_REGCACHE_SYNC_OUT(); return; L_0885C188: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885C168; } @@ -1327,15 +1328,15 @@ L_0885C188: L_0885C190: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5315u); aot_gpr_31 = (0x0885C1A8u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C1A8u) goto L_0885C1A8; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C1A8u) goto L_0885C1A8; AOT_REGCACHE_SYNC_OUT(); return; L_0885C1A8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885C168; } @@ -1344,15 +1345,15 @@ L_0885C1A8: L_0885C1B0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5311u); aot_gpr_31 = (0x0885C1C8u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C1C8u) goto L_0885C1C8; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C1C8u) goto L_0885C1C8; AOT_REGCACHE_SYNC_OUT(); return; L_0885C1C8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885C168; } @@ -1361,15 +1362,15 @@ L_0885C1C8: L_0885C1D0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5309u); aot_gpr_31 = (0x0885C1E8u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C1E8u) goto L_0885C1E8; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C1E8u) goto L_0885C1E8; AOT_REGCACHE_SYNC_OUT(); return; L_0885C1E8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885C168; } @@ -1378,15 +1379,15 @@ L_0885C1E8: L_0885C1F0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5313u); aot_gpr_31 = (0x0885C208u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C208u) goto L_0885C208; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C208u) goto L_0885C208; AOT_REGCACHE_SYNC_OUT(); return; L_0885C208: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885C168; } @@ -1395,15 +1396,15 @@ L_0885C208: L_0885C210: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5326u); aot_gpr_31 = (0x0885C228u); - ctx.gpr[8] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C228u) goto L_0885C228; + aot_gpr_8 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C228u) goto L_0885C228; AOT_REGCACHE_SYNC_OUT(); return; L_0885C228: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885C168; } @@ -1412,15 +1413,15 @@ L_0885C228: L_0885C230: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5302u); aot_gpr_31 = (0x0885C248u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C248u) goto L_0885C248; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C248u) goto L_0885C248; AOT_REGCACHE_SYNC_OUT(); return; L_0885C248: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885C168; } @@ -1429,15 +1430,15 @@ L_0885C248: L_0885C250: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5305u); aot_gpr_31 = (0x0885C268u); - ctx.gpr[8] = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C268u) goto L_0885C268; + aot_gpr_8 = (0u | 4u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C268u) goto L_0885C268; AOT_REGCACHE_SYNC_OUT(); return; L_0885C268: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885C168; } @@ -1446,15 +1447,15 @@ L_0885C268: L_0885C270: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5318u); aot_gpr_31 = (0x0885C288u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C288u) goto L_0885C288; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C288u) goto L_0885C288; AOT_REGCACHE_SYNC_OUT(); return; L_0885C288: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885C168; } @@ -1466,25 +1467,25 @@ L_0885C290: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x0885C2A4u); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C2A4u) goto L_0885C2A4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C971C, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C2A4u) goto L_0885C2A4; AOT_REGCACHE_SYNC_OUT(); return; L_0885C2A4: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0885C2B0: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-118)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(41) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(41) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_0885C430; @@ -1505,14 +1506,14 @@ L_0885C2D4: L_0885C2EC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5345u); aot_gpr_31 = (0x0885C304u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C304u) goto L_0885C304; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C304u) goto L_0885C304; AOT_REGCACHE_SYNC_OUT(); return; L_0885C304: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_0885C308; L_0885C308: { const bool branch_taken = 0u == 0u; @@ -1525,15 +1526,15 @@ L_0885C308: L_0885C310: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5347u); aot_gpr_31 = (0x0885C328u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C328u) goto L_0885C328; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C328u) goto L_0885C328; AOT_REGCACHE_SYNC_OUT(); return; L_0885C328: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885C308; } @@ -1542,15 +1543,15 @@ L_0885C328: L_0885C330: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5339u); aot_gpr_31 = (0x0885C348u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C348u) goto L_0885C348; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C348u) goto L_0885C348; AOT_REGCACHE_SYNC_OUT(); return; L_0885C348: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885C308; } @@ -1559,15 +1560,15 @@ L_0885C348: L_0885C350: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5335u); aot_gpr_31 = (0x0885C368u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C368u) goto L_0885C368; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C368u) goto L_0885C368; AOT_REGCACHE_SYNC_OUT(); return; L_0885C368: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885C308; } @@ -1576,15 +1577,15 @@ L_0885C368: L_0885C370: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5333u); aot_gpr_31 = (0x0885C388u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C388u) goto L_0885C388; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C388u) goto L_0885C388; AOT_REGCACHE_SYNC_OUT(); return; L_0885C388: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885C308; } @@ -1593,15 +1594,15 @@ L_0885C388: L_0885C390: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5337u); aot_gpr_31 = (0x0885C3A8u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C3A8u) goto L_0885C3A8; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C3A8u) goto L_0885C3A8; AOT_REGCACHE_SYNC_OUT(); return; L_0885C3A8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885C308; } @@ -1610,15 +1611,15 @@ L_0885C3A8: L_0885C3B0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5350u); aot_gpr_31 = (0x0885C3C8u); - ctx.gpr[8] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C3C8u) goto L_0885C3C8; + aot_gpr_8 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C3C8u) goto L_0885C3C8; AOT_REGCACHE_SYNC_OUT(); return; L_0885C3C8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885C308; } @@ -1627,15 +1628,15 @@ L_0885C3C8: L_0885C3D0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5327u); aot_gpr_31 = (0x0885C3E8u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C3E8u) goto L_0885C3E8; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C3E8u) goto L_0885C3E8; AOT_REGCACHE_SYNC_OUT(); return; L_0885C3E8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885C308; } @@ -1644,15 +1645,15 @@ L_0885C3E8: L_0885C3F0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5330u); aot_gpr_31 = (0x0885C408u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C408u) goto L_0885C408; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C408u) goto L_0885C408; AOT_REGCACHE_SYNC_OUT(); return; L_0885C408: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885C308; } @@ -1661,15 +1662,15 @@ L_0885C408: L_0885C410: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5342u); aot_gpr_31 = (0x0885C428u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C428u) goto L_0885C428; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C428u) goto L_0885C428; AOT_REGCACHE_SYNC_OUT(); return; L_0885C428: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885C308; } @@ -1681,25 +1682,25 @@ L_0885C430: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x0885C444u); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C444u) goto L_0885C444; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C971C, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C444u) goto L_0885C444; AOT_REGCACHE_SYNC_OUT(); return; L_0885C444: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0885C450: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-118)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(41) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(41) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_0885C5D0; @@ -1720,14 +1721,14 @@ L_0885C474: L_0885C48C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5370u); aot_gpr_31 = (0x0885C4A4u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C4A4u) goto L_0885C4A4; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C4A4u) goto L_0885C4A4; AOT_REGCACHE_SYNC_OUT(); return; L_0885C4A4: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_0885C4A8; L_0885C4A8: { const bool branch_taken = 0u == 0u; @@ -1740,15 +1741,15 @@ L_0885C4A8: L_0885C4B0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5372u); aot_gpr_31 = (0x0885C4C8u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C4C8u) goto L_0885C4C8; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C4C8u) goto L_0885C4C8; AOT_REGCACHE_SYNC_OUT(); return; L_0885C4C8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885C4A8; } @@ -1757,15 +1758,15 @@ L_0885C4C8: L_0885C4D0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5364u); aot_gpr_31 = (0x0885C4E8u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C4E8u) goto L_0885C4E8; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C4E8u) goto L_0885C4E8; AOT_REGCACHE_SYNC_OUT(); return; L_0885C4E8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885C4A8; } @@ -1774,15 +1775,15 @@ L_0885C4E8: L_0885C4F0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5360u); aot_gpr_31 = (0x0885C508u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C508u) goto L_0885C508; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C508u) goto L_0885C508; AOT_REGCACHE_SYNC_OUT(); return; L_0885C508: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885C4A8; } @@ -1791,15 +1792,15 @@ L_0885C508: L_0885C510: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5358u); aot_gpr_31 = (0x0885C528u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C528u) goto L_0885C528; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C528u) goto L_0885C528; AOT_REGCACHE_SYNC_OUT(); return; L_0885C528: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885C4A8; } @@ -1808,15 +1809,15 @@ L_0885C528: L_0885C530: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5362u); aot_gpr_31 = (0x0885C548u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C548u) goto L_0885C548; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C548u) goto L_0885C548; AOT_REGCACHE_SYNC_OUT(); return; L_0885C548: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885C4A8; } @@ -1825,15 +1826,15 @@ L_0885C548: L_0885C550: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5375u); aot_gpr_31 = (0x0885C568u); - ctx.gpr[8] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C568u) goto L_0885C568; + aot_gpr_8 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C568u) goto L_0885C568; AOT_REGCACHE_SYNC_OUT(); return; L_0885C568: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885C4A8; } @@ -1842,15 +1843,15 @@ L_0885C568: L_0885C570: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5351u); aot_gpr_31 = (0x0885C588u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C588u) goto L_0885C588; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C588u) goto L_0885C588; AOT_REGCACHE_SYNC_OUT(); return; L_0885C588: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885C4A8; } @@ -1859,15 +1860,15 @@ L_0885C588: L_0885C590: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5354u); aot_gpr_31 = (0x0885C5A8u); - ctx.gpr[8] = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C5A8u) goto L_0885C5A8; + aot_gpr_8 = (0u | 4u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C5A8u) goto L_0885C5A8; AOT_REGCACHE_SYNC_OUT(); return; L_0885C5A8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885C4A8; } @@ -1876,15 +1877,15 @@ L_0885C5A8: L_0885C5B0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5367u); aot_gpr_31 = (0x0885C5C8u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C5C8u) goto L_0885C5C8; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C5C8u) goto L_0885C5C8; AOT_REGCACHE_SYNC_OUT(); return; L_0885C5C8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885C4A8; } @@ -1896,25 +1897,25 @@ L_0885C5D0: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x0885C5E4u); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C5E4u) goto L_0885C5E4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C971C, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C5E4u) goto L_0885C5E4; AOT_REGCACHE_SYNC_OUT(); return; L_0885C5E4: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0885C5F0: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-118)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(41) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(41) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_0885C770; @@ -1935,14 +1936,14 @@ L_0885C614: L_0885C62C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5396u); aot_gpr_31 = (0x0885C644u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C644u) goto L_0885C644; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C644u) goto L_0885C644; AOT_REGCACHE_SYNC_OUT(); return; L_0885C644: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_0885C648; L_0885C648: { const bool branch_taken = 0u == 0u; @@ -1955,15 +1956,15 @@ L_0885C648: L_0885C650: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5398u); aot_gpr_31 = (0x0885C668u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C668u) goto L_0885C668; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C668u) goto L_0885C668; AOT_REGCACHE_SYNC_OUT(); return; L_0885C668: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885C648; } @@ -1972,15 +1973,15 @@ L_0885C668: L_0885C670: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5390u); aot_gpr_31 = (0x0885C688u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C688u) goto L_0885C688; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C688u) goto L_0885C688; AOT_REGCACHE_SYNC_OUT(); return; L_0885C688: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885C648; } @@ -1989,15 +1990,15 @@ L_0885C688: L_0885C690: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5385u); aot_gpr_31 = (0x0885C6A8u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C6A8u) goto L_0885C6A8; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C6A8u) goto L_0885C6A8; AOT_REGCACHE_SYNC_OUT(); return; L_0885C6A8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885C648; } @@ -2006,15 +2007,15 @@ L_0885C6A8: L_0885C6B0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5383u); aot_gpr_31 = (0x0885C6C8u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C6C8u) goto L_0885C6C8; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C6C8u) goto L_0885C6C8; AOT_REGCACHE_SYNC_OUT(); return; L_0885C6C8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885C648; } @@ -2023,15 +2024,15 @@ L_0885C6C8: L_0885C6D0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5388u); aot_gpr_31 = (0x0885C6E8u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C6E8u) goto L_0885C6E8; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C6E8u) goto L_0885C6E8; AOT_REGCACHE_SYNC_OUT(); return; L_0885C6E8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885C648; } @@ -2040,15 +2041,15 @@ L_0885C6E8: L_0885C6F0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5401u); aot_gpr_31 = (0x0885C708u); - ctx.gpr[8] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C708u) goto L_0885C708; + aot_gpr_8 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C708u) goto L_0885C708; AOT_REGCACHE_SYNC_OUT(); return; L_0885C708: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885C648; } @@ -2057,15 +2058,15 @@ L_0885C708: L_0885C710: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5376u); aot_gpr_31 = (0x0885C728u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C728u) goto L_0885C728; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C728u) goto L_0885C728; AOT_REGCACHE_SYNC_OUT(); return; L_0885C728: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885C648; } @@ -2074,15 +2075,15 @@ L_0885C728: L_0885C730: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5379u); aot_gpr_31 = (0x0885C748u); - ctx.gpr[8] = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C748u) goto L_0885C748; + aot_gpr_8 = (0u | 4u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C748u) goto L_0885C748; AOT_REGCACHE_SYNC_OUT(); return; L_0885C748: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885C648; } @@ -2091,15 +2092,15 @@ L_0885C748: L_0885C750: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5393u); aot_gpr_31 = (0x0885C768u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C768u) goto L_0885C768; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C768u) goto L_0885C768; AOT_REGCACHE_SYNC_OUT(); return; L_0885C768: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885C648; } @@ -2111,25 +2112,25 @@ L_0885C770: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x0885C784u); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C784u) goto L_0885C784; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C784u) goto L_0885C784; AOT_REGCACHE_SYNC_OUT(); return; L_0885C784: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0885C790: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-118)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(41) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(41) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_0885C910; @@ -2150,14 +2151,14 @@ L_0885C7B4: L_0885C7CC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5421u); aot_gpr_31 = (0x0885C7E4u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C7E4u) goto L_0885C7E4; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C7E4u) goto L_0885C7E4; AOT_REGCACHE_SYNC_OUT(); return; L_0885C7E4: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_0885C7E8; L_0885C7E8: { const bool branch_taken = 0u == 0u; @@ -2170,15 +2171,15 @@ L_0885C7E8: L_0885C7F0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5423u); aot_gpr_31 = (0x0885C808u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C808u) goto L_0885C808; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C808u) goto L_0885C808; AOT_REGCACHE_SYNC_OUT(); return; L_0885C808: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885C7E8; } @@ -2187,15 +2188,15 @@ L_0885C808: L_0885C810: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5415u); aot_gpr_31 = (0x0885C828u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C828u) goto L_0885C828; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C828u) goto L_0885C828; AOT_REGCACHE_SYNC_OUT(); return; L_0885C828: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885C7E8; } @@ -2204,15 +2205,15 @@ L_0885C828: L_0885C830: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5411u); aot_gpr_31 = (0x0885C848u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C848u) goto L_0885C848; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C848u) goto L_0885C848; AOT_REGCACHE_SYNC_OUT(); return; L_0885C848: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885C7E8; } @@ -2221,15 +2222,15 @@ L_0885C848: L_0885C850: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5409u); aot_gpr_31 = (0x0885C868u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C868u) goto L_0885C868; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C868u) goto L_0885C868; AOT_REGCACHE_SYNC_OUT(); return; L_0885C868: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885C7E8; } @@ -2238,15 +2239,15 @@ L_0885C868: L_0885C870: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5413u); aot_gpr_31 = (0x0885C888u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C888u) goto L_0885C888; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C888u) goto L_0885C888; AOT_REGCACHE_SYNC_OUT(); return; L_0885C888: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885C7E8; } @@ -2255,15 +2256,15 @@ L_0885C888: L_0885C890: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5426u); aot_gpr_31 = (0x0885C8A8u); - ctx.gpr[8] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C8A8u) goto L_0885C8A8; + aot_gpr_8 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C8A8u) goto L_0885C8A8; AOT_REGCACHE_SYNC_OUT(); return; L_0885C8A8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885C7E8; } @@ -2272,15 +2273,15 @@ L_0885C8A8: L_0885C8B0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5402u); aot_gpr_31 = (0x0885C8C8u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C8C8u) goto L_0885C8C8; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C8C8u) goto L_0885C8C8; AOT_REGCACHE_SYNC_OUT(); return; L_0885C8C8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885C7E8; } @@ -2289,15 +2290,15 @@ L_0885C8C8: L_0885C8D0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5405u); aot_gpr_31 = (0x0885C8E8u); - ctx.gpr[8] = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C8E8u) goto L_0885C8E8; + aot_gpr_8 = (0u | 4u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C8E8u) goto L_0885C8E8; AOT_REGCACHE_SYNC_OUT(); return; L_0885C8E8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885C7E8; } @@ -2306,15 +2307,15 @@ L_0885C8E8: L_0885C8F0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5418u); aot_gpr_31 = (0x0885C908u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C908u) goto L_0885C908; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C908u) goto L_0885C908; AOT_REGCACHE_SYNC_OUT(); return; L_0885C908: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885C7E8; } @@ -2326,25 +2327,25 @@ L_0885C910: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x0885C924u); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C924u) goto L_0885C924; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C924u) goto L_0885C924; AOT_REGCACHE_SYNC_OUT(); return; L_0885C924: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0885C930: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-118)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(41) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(41) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_0885CAB0; @@ -2365,14 +2366,14 @@ L_0885C954: L_0885C96C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5447u); aot_gpr_31 = (0x0885C984u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C984u) goto L_0885C984; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C984u) goto L_0885C984; AOT_REGCACHE_SYNC_OUT(); return; L_0885C984: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_0885C988; L_0885C988: { const bool branch_taken = 0u == 0u; @@ -2385,15 +2386,15 @@ L_0885C988: L_0885C990: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5449u); aot_gpr_31 = (0x0885C9A8u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C9A8u) goto L_0885C9A8; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C9A8u) goto L_0885C9A8; AOT_REGCACHE_SYNC_OUT(); return; L_0885C9A8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885C988; } @@ -2402,15 +2403,15 @@ L_0885C9A8: L_0885C9B0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5441u); aot_gpr_31 = (0x0885C9C8u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C9C8u) goto L_0885C9C8; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C9C8u) goto L_0885C9C8; AOT_REGCACHE_SYNC_OUT(); return; L_0885C9C8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885C988; } @@ -2419,15 +2420,15 @@ L_0885C9C8: L_0885C9D0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5436u); aot_gpr_31 = (0x0885C9E8u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C9E8u) goto L_0885C9E8; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885C9E8u) goto L_0885C9E8; AOT_REGCACHE_SYNC_OUT(); return; L_0885C9E8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885C988; } @@ -2436,15 +2437,15 @@ L_0885C9E8: L_0885C9F0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5434u); aot_gpr_31 = (0x0885CA08u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885CA08u) goto L_0885CA08; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885CA08u) goto L_0885CA08; AOT_REGCACHE_SYNC_OUT(); return; L_0885CA08: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885C988; } @@ -2453,15 +2454,15 @@ L_0885CA08: L_0885CA10: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5439u); aot_gpr_31 = (0x0885CA28u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885CA28u) goto L_0885CA28; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885CA28u) goto L_0885CA28; AOT_REGCACHE_SYNC_OUT(); return; L_0885CA28: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885C988; } @@ -2470,15 +2471,15 @@ L_0885CA28: L_0885CA30: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5452u); aot_gpr_31 = (0x0885CA48u); - ctx.gpr[8] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885CA48u) goto L_0885CA48; + aot_gpr_8 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885CA48u) goto L_0885CA48; AOT_REGCACHE_SYNC_OUT(); return; L_0885CA48: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885C988; } @@ -2487,15 +2488,15 @@ L_0885CA48: L_0885CA50: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5427u); aot_gpr_31 = (0x0885CA68u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885CA68u) goto L_0885CA68; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885CA68u) goto L_0885CA68; AOT_REGCACHE_SYNC_OUT(); return; L_0885CA68: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885C988; } @@ -2504,15 +2505,15 @@ L_0885CA68: L_0885CA70: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5430u); aot_gpr_31 = (0x0885CA88u); - ctx.gpr[8] = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885CA88u) goto L_0885CA88; + aot_gpr_8 = (0u | 4u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885CA88u) goto L_0885CA88; AOT_REGCACHE_SYNC_OUT(); return; L_0885CA88: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885C988; } @@ -2521,15 +2522,15 @@ L_0885CA88: L_0885CA90: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5444u); aot_gpr_31 = (0x0885CAA8u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885CAA8u) goto L_0885CAA8; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885CAA8u) goto L_0885CAA8; AOT_REGCACHE_SYNC_OUT(); return; L_0885CAA8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885C988; } @@ -2541,25 +2542,25 @@ L_0885CAB0: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x0885CAC4u); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885CAC4u) goto L_0885CAC4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885CAC4u) goto L_0885CAC4; AOT_REGCACHE_SYNC_OUT(); return; L_0885CAC4: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0885CAD0: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-118)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(41) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(41) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_0885CC30; @@ -2580,14 +2581,14 @@ L_0885CAF4: L_0885CB0C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5472u); aot_gpr_31 = (0x0885CB24u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885CB24u) goto L_0885CB24; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885CB24u) goto L_0885CB24; AOT_REGCACHE_SYNC_OUT(); return; L_0885CB24: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_0885CB28; L_0885CB28: { const bool branch_taken = 0u == 0u; @@ -2600,15 +2601,15 @@ L_0885CB28: L_0885CB30: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5474u); aot_gpr_31 = (0x0885CB48u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885CB48u) goto L_0885CB48; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885CB48u) goto L_0885CB48; AOT_REGCACHE_SYNC_OUT(); return; L_0885CB48: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885CB28; } @@ -2617,15 +2618,15 @@ L_0885CB48: L_0885CB50: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5466u); aot_gpr_31 = (0x0885CB68u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885CB68u) goto L_0885CB68; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885CB68u) goto L_0885CB68; AOT_REGCACHE_SYNC_OUT(); return; L_0885CB68: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885CB28; } @@ -2634,15 +2635,15 @@ L_0885CB68: L_0885CB70: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5462u); aot_gpr_31 = (0x0885CB88u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885CB88u) goto L_0885CB88; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885CB88u) goto L_0885CB88; AOT_REGCACHE_SYNC_OUT(); return; L_0885CB88: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885CB28; } @@ -2651,15 +2652,15 @@ L_0885CB88: L_0885CB90: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5460u); aot_gpr_31 = (0x0885CBA8u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885CBA8u) goto L_0885CBA8; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885CBA8u) goto L_0885CBA8; AOT_REGCACHE_SYNC_OUT(); return; L_0885CBA8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885CB28; } @@ -2668,15 +2669,15 @@ L_0885CBA8: L_0885CBB0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5464u); aot_gpr_31 = (0x0885CBC8u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885CBC8u) goto L_0885CBC8; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885CBC8u) goto L_0885CBC8; AOT_REGCACHE_SYNC_OUT(); return; L_0885CBC8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885CB28; } @@ -2685,15 +2686,15 @@ L_0885CBC8: L_0885CBD0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5453u); aot_gpr_31 = (0x0885CBE8u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885CBE8u) goto L_0885CBE8; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885CBE8u) goto L_0885CBE8; AOT_REGCACHE_SYNC_OUT(); return; L_0885CBE8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885CB28; } @@ -2702,15 +2703,15 @@ L_0885CBE8: L_0885CBF0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5456u); aot_gpr_31 = (0x0885CC08u); - ctx.gpr[8] = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885CC08u) goto L_0885CC08; + aot_gpr_8 = (0u | 4u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885CC08u) goto L_0885CC08; AOT_REGCACHE_SYNC_OUT(); return; L_0885CC08: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885CB28; } @@ -2719,15 +2720,15 @@ L_0885CC08: L_0885CC10: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5469u); aot_gpr_31 = (0x0885CC28u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885CC28u) goto L_0885CC28; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885CC28u) goto L_0885CC28; AOT_REGCACHE_SYNC_OUT(); return; L_0885CC28: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885CB28; } @@ -2739,25 +2740,25 @@ L_0885CC30: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x0885CC44u); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885CC44u) goto L_0885CC44; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885CC44u) goto L_0885CC44; AOT_REGCACHE_SYNC_OUT(); return; L_0885CC44: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0885CC50: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-118)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(41) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(41) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_0885CDD0; @@ -2778,14 +2779,14 @@ L_0885CC74: L_0885CC8C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5496u); aot_gpr_31 = (0x0885CCA4u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885CCA4u) goto L_0885CCA4; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885CCA4u) goto L_0885CCA4; AOT_REGCACHE_SYNC_OUT(); return; L_0885CCA4: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_0885CCA8; L_0885CCA8: { const bool branch_taken = 0u == 0u; @@ -2798,15 +2799,15 @@ L_0885CCA8: L_0885CCB0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5498u); aot_gpr_31 = (0x0885CCC8u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885CCC8u) goto L_0885CCC8; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885CCC8u) goto L_0885CCC8; AOT_REGCACHE_SYNC_OUT(); return; L_0885CCC8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885CCA8; } @@ -2815,15 +2816,15 @@ L_0885CCC8: L_0885CCD0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5490u); aot_gpr_31 = (0x0885CCE8u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885CCE8u) goto L_0885CCE8; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885CCE8u) goto L_0885CCE8; AOT_REGCACHE_SYNC_OUT(); return; L_0885CCE8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885CCA8; } @@ -2832,15 +2833,15 @@ L_0885CCE8: L_0885CCF0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5486u); aot_gpr_31 = (0x0885CD08u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885CD08u) goto L_0885CD08; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885CD08u) goto L_0885CD08; AOT_REGCACHE_SYNC_OUT(); return; L_0885CD08: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885CCA8; } @@ -2849,15 +2850,15 @@ L_0885CD08: L_0885CD10: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5484u); aot_gpr_31 = (0x0885CD28u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885CD28u) goto L_0885CD28; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885CD28u) goto L_0885CD28; AOT_REGCACHE_SYNC_OUT(); return; L_0885CD28: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885CCA8; } @@ -2866,15 +2867,15 @@ L_0885CD28: L_0885CD30: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5488u); aot_gpr_31 = (0x0885CD48u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885CD48u) goto L_0885CD48; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885CD48u) goto L_0885CD48; AOT_REGCACHE_SYNC_OUT(); return; L_0885CD48: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885CCA8; } @@ -2883,15 +2884,15 @@ L_0885CD48: L_0885CD50: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5501u); aot_gpr_31 = (0x0885CD68u); - ctx.gpr[8] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885CD68u) goto L_0885CD68; + aot_gpr_8 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885CD68u) goto L_0885CD68; AOT_REGCACHE_SYNC_OUT(); return; L_0885CD68: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885CCA8; } @@ -2900,15 +2901,15 @@ L_0885CD68: L_0885CD70: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5477u); aot_gpr_31 = (0x0885CD88u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885CD88u) goto L_0885CD88; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885CD88u) goto L_0885CD88; AOT_REGCACHE_SYNC_OUT(); return; L_0885CD88: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885CCA8; } @@ -2917,15 +2918,15 @@ L_0885CD88: L_0885CD90: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5480u); aot_gpr_31 = (0x0885CDA8u); - ctx.gpr[8] = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885CDA8u) goto L_0885CDA8; + aot_gpr_8 = (0u | 4u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885CDA8u) goto L_0885CDA8; AOT_REGCACHE_SYNC_OUT(); return; L_0885CDA8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885CCA8; } @@ -2934,15 +2935,15 @@ L_0885CDA8: L_0885CDB0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5493u); aot_gpr_31 = (0x0885CDC8u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885CDC8u) goto L_0885CDC8; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885CDC8u) goto L_0885CDC8; AOT_REGCACHE_SYNC_OUT(); return; L_0885CDC8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885CCA8; } @@ -2954,25 +2955,25 @@ L_0885CDD0: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x0885CDE4u); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885CDE4u) goto L_0885CDE4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885CDE4u) goto L_0885CDE4; AOT_REGCACHE_SYNC_OUT(); return; L_0885CDE4: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0885CDF0: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-118)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(41) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(41) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_0885CF70; @@ -2993,14 +2994,14 @@ L_0885CE14: L_0885CE2C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5521u); aot_gpr_31 = (0x0885CE44u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885CE44u) goto L_0885CE44; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885CE44u) goto L_0885CE44; AOT_REGCACHE_SYNC_OUT(); return; L_0885CE44: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_0885CE48; L_0885CE48: { const bool branch_taken = 0u == 0u; @@ -3013,15 +3014,15 @@ L_0885CE48: L_0885CE50: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5523u); aot_gpr_31 = (0x0885CE68u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885CE68u) goto L_0885CE68; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885CE68u) goto L_0885CE68; AOT_REGCACHE_SYNC_OUT(); return; L_0885CE68: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885CE48; } @@ -3030,15 +3031,15 @@ L_0885CE68: L_0885CE70: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5515u); aot_gpr_31 = (0x0885CE88u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885CE88u) goto L_0885CE88; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885CE88u) goto L_0885CE88; AOT_REGCACHE_SYNC_OUT(); return; L_0885CE88: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885CE48; } @@ -3047,15 +3048,15 @@ L_0885CE88: L_0885CE90: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5511u); aot_gpr_31 = (0x0885CEA8u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885CEA8u) goto L_0885CEA8; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885CEA8u) goto L_0885CEA8; AOT_REGCACHE_SYNC_OUT(); return; L_0885CEA8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885CE48; } @@ -3064,15 +3065,15 @@ L_0885CEA8: L_0885CEB0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5509u); aot_gpr_31 = (0x0885CEC8u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885CEC8u) goto L_0885CEC8; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885CEC8u) goto L_0885CEC8; AOT_REGCACHE_SYNC_OUT(); return; L_0885CEC8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885CE48; } @@ -3081,15 +3082,15 @@ L_0885CEC8: L_0885CED0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5513u); aot_gpr_31 = (0x0885CEE8u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885CEE8u) goto L_0885CEE8; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885CEE8u) goto L_0885CEE8; AOT_REGCACHE_SYNC_OUT(); return; L_0885CEE8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885CE48; } @@ -3098,15 +3099,15 @@ L_0885CEE8: L_0885CEF0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5526u); aot_gpr_31 = (0x0885CF08u); - ctx.gpr[8] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885CF08u) goto L_0885CF08; + aot_gpr_8 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885CF08u) goto L_0885CF08; AOT_REGCACHE_SYNC_OUT(); return; L_0885CF08: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885CE48; } @@ -3115,15 +3116,15 @@ L_0885CF08: L_0885CF10: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5502u); aot_gpr_31 = (0x0885CF28u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885CF28u) goto L_0885CF28; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885CF28u) goto L_0885CF28; AOT_REGCACHE_SYNC_OUT(); return; L_0885CF28: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885CE48; } @@ -3132,15 +3133,15 @@ L_0885CF28: L_0885CF30: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5505u); aot_gpr_31 = (0x0885CF48u); - ctx.gpr[8] = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885CF48u) goto L_0885CF48; + aot_gpr_8 = (0u | 4u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885CF48u) goto L_0885CF48; AOT_REGCACHE_SYNC_OUT(); return; L_0885CF48: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885CE48; } @@ -3149,15 +3150,15 @@ L_0885CF48: L_0885CF50: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5518u); aot_gpr_31 = (0x0885CF68u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885CF68u) goto L_0885CF68; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885CF68u) goto L_0885CF68; AOT_REGCACHE_SYNC_OUT(); return; L_0885CF68: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885CE48; } @@ -3169,25 +3170,25 @@ L_0885CF70: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x0885CF84u); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885CF84u) goto L_0885CF84; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885CF84u) goto L_0885CF84; AOT_REGCACHE_SYNC_OUT(); return; L_0885CF84: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0885CF90: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-118)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(41) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(41) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_0885D110; @@ -3208,14 +3209,14 @@ L_0885CFB4: L_0885CFCC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5546u); aot_gpr_31 = (0x0885CFE4u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885CFE4u) goto L_0885CFE4; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885CFE4u) goto L_0885CFE4; AOT_REGCACHE_SYNC_OUT(); return; L_0885CFE4: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_0885CFE8; L_0885CFE8: { const bool branch_taken = 0u == 0u; @@ -3228,15 +3229,15 @@ L_0885CFE8: L_0885CFF0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5548u); aot_gpr_31 = (0x0885D008u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D008u) goto L_0885D008; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D008u) goto L_0885D008; AOT_REGCACHE_SYNC_OUT(); return; L_0885D008: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885CFE8; } @@ -3245,15 +3246,15 @@ L_0885D008: L_0885D010: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5540u); aot_gpr_31 = (0x0885D028u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D028u) goto L_0885D028; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D028u) goto L_0885D028; AOT_REGCACHE_SYNC_OUT(); return; L_0885D028: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885CFE8; } @@ -3262,15 +3263,15 @@ L_0885D028: L_0885D030: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5536u); aot_gpr_31 = (0x0885D048u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D048u) goto L_0885D048; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D048u) goto L_0885D048; AOT_REGCACHE_SYNC_OUT(); return; L_0885D048: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885CFE8; } @@ -3279,15 +3280,15 @@ L_0885D048: L_0885D050: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5534u); aot_gpr_31 = (0x0885D068u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D068u) goto L_0885D068; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D068u) goto L_0885D068; AOT_REGCACHE_SYNC_OUT(); return; L_0885D068: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885CFE8; } @@ -3296,15 +3297,15 @@ L_0885D068: L_0885D070: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5538u); aot_gpr_31 = (0x0885D088u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D088u) goto L_0885D088; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D088u) goto L_0885D088; AOT_REGCACHE_SYNC_OUT(); return; L_0885D088: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885CFE8; } @@ -3313,15 +3314,15 @@ L_0885D088: L_0885D090: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5551u); aot_gpr_31 = (0x0885D0A8u); - ctx.gpr[8] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D0A8u) goto L_0885D0A8; + aot_gpr_8 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D0A8u) goto L_0885D0A8; AOT_REGCACHE_SYNC_OUT(); return; L_0885D0A8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885CFE8; } @@ -3330,15 +3331,15 @@ L_0885D0A8: L_0885D0B0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5527u); aot_gpr_31 = (0x0885D0C8u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D0C8u) goto L_0885D0C8; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D0C8u) goto L_0885D0C8; AOT_REGCACHE_SYNC_OUT(); return; L_0885D0C8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885CFE8; } @@ -3347,15 +3348,15 @@ L_0885D0C8: L_0885D0D0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5530u); aot_gpr_31 = (0x0885D0E8u); - ctx.gpr[8] = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D0E8u) goto L_0885D0E8; + aot_gpr_8 = (0u | 4u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D0E8u) goto L_0885D0E8; AOT_REGCACHE_SYNC_OUT(); return; L_0885D0E8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885CFE8; } @@ -3364,15 +3365,15 @@ L_0885D0E8: L_0885D0F0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5543u); aot_gpr_31 = (0x0885D108u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D108u) goto L_0885D108; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D108u) goto L_0885D108; AOT_REGCACHE_SYNC_OUT(); return; L_0885D108: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885CFE8; } @@ -3384,25 +3385,25 @@ L_0885D110: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x0885D124u); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D124u) goto L_0885D124; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D124u) goto L_0885D124; AOT_REGCACHE_SYNC_OUT(); return; L_0885D124: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0885D130: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-118)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(41) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(41) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_0885D2B0; @@ -3423,14 +3424,14 @@ L_0885D154: L_0885D16C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5571u); aot_gpr_31 = (0x0885D184u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D184u) goto L_0885D184; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D184u) goto L_0885D184; AOT_REGCACHE_SYNC_OUT(); return; L_0885D184: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_0885D188; L_0885D188: { const bool branch_taken = 0u == 0u; @@ -3443,15 +3444,15 @@ L_0885D188: L_0885D190: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5573u); aot_gpr_31 = (0x0885D1A8u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D1A8u) goto L_0885D1A8; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D1A8u) goto L_0885D1A8; AOT_REGCACHE_SYNC_OUT(); return; L_0885D1A8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885D188; } @@ -3460,15 +3461,15 @@ L_0885D1A8: L_0885D1B0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5565u); aot_gpr_31 = (0x0885D1C8u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D1C8u) goto L_0885D1C8; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D1C8u) goto L_0885D1C8; AOT_REGCACHE_SYNC_OUT(); return; L_0885D1C8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885D188; } @@ -3477,15 +3478,15 @@ L_0885D1C8: L_0885D1D0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5561u); aot_gpr_31 = (0x0885D1E8u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D1E8u) goto L_0885D1E8; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D1E8u) goto L_0885D1E8; AOT_REGCACHE_SYNC_OUT(); return; L_0885D1E8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885D188; } @@ -3494,15 +3495,15 @@ L_0885D1E8: L_0885D1F0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5559u); aot_gpr_31 = (0x0885D208u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D208u) goto L_0885D208; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D208u) goto L_0885D208; AOT_REGCACHE_SYNC_OUT(); return; L_0885D208: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885D188; } @@ -3511,15 +3512,15 @@ L_0885D208: L_0885D210: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5563u); aot_gpr_31 = (0x0885D228u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D228u) goto L_0885D228; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D228u) goto L_0885D228; AOT_REGCACHE_SYNC_OUT(); return; L_0885D228: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885D188; } @@ -3528,15 +3529,15 @@ L_0885D228: L_0885D230: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5576u); aot_gpr_31 = (0x0885D248u); - ctx.gpr[8] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D248u) goto L_0885D248; + aot_gpr_8 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D248u) goto L_0885D248; AOT_REGCACHE_SYNC_OUT(); return; L_0885D248: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885D188; } @@ -3545,15 +3546,15 @@ L_0885D248: L_0885D250: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5552u); aot_gpr_31 = (0x0885D268u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D268u) goto L_0885D268; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D268u) goto L_0885D268; AOT_REGCACHE_SYNC_OUT(); return; L_0885D268: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885D188; } @@ -3562,15 +3563,15 @@ L_0885D268: L_0885D270: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5555u); aot_gpr_31 = (0x0885D288u); - ctx.gpr[8] = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D288u) goto L_0885D288; + aot_gpr_8 = (0u | 4u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D288u) goto L_0885D288; AOT_REGCACHE_SYNC_OUT(); return; L_0885D288: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885D188; } @@ -3579,15 +3580,15 @@ L_0885D288: L_0885D290: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5568u); aot_gpr_31 = (0x0885D2A8u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D2A8u) goto L_0885D2A8; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D2A8u) goto L_0885D2A8; AOT_REGCACHE_SYNC_OUT(); return; L_0885D2A8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885D188; } @@ -3599,25 +3600,25 @@ L_0885D2B0: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x0885D2C4u); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D2C4u) goto L_0885D2C4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D2C4u) goto L_0885D2C4; AOT_REGCACHE_SYNC_OUT(); return; L_0885D2C4: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0885D2D0: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-118)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(41) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(41) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_0885D450; @@ -3638,14 +3639,14 @@ L_0885D2F4: L_0885D30C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5596u); aot_gpr_31 = (0x0885D324u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D324u) goto L_0885D324; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D324u) goto L_0885D324; AOT_REGCACHE_SYNC_OUT(); return; L_0885D324: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_0885D328; L_0885D328: { const bool branch_taken = 0u == 0u; @@ -3658,15 +3659,15 @@ L_0885D328: L_0885D330: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5598u); aot_gpr_31 = (0x0885D348u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D348u) goto L_0885D348; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D348u) goto L_0885D348; AOT_REGCACHE_SYNC_OUT(); return; L_0885D348: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885D328; } @@ -3675,15 +3676,15 @@ L_0885D348: L_0885D350: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5590u); aot_gpr_31 = (0x0885D368u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D368u) goto L_0885D368; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D368u) goto L_0885D368; AOT_REGCACHE_SYNC_OUT(); return; L_0885D368: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885D328; } @@ -3692,15 +3693,15 @@ L_0885D368: L_0885D370: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5586u); aot_gpr_31 = (0x0885D388u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D388u) goto L_0885D388; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D388u) goto L_0885D388; AOT_REGCACHE_SYNC_OUT(); return; L_0885D388: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885D328; } @@ -3709,15 +3710,15 @@ L_0885D388: L_0885D390: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5584u); aot_gpr_31 = (0x0885D3A8u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D3A8u) goto L_0885D3A8; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D3A8u) goto L_0885D3A8; AOT_REGCACHE_SYNC_OUT(); return; L_0885D3A8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885D328; } @@ -3726,15 +3727,15 @@ L_0885D3A8: L_0885D3B0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5588u); aot_gpr_31 = (0x0885D3C8u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D3C8u) goto L_0885D3C8; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D3C8u) goto L_0885D3C8; AOT_REGCACHE_SYNC_OUT(); return; L_0885D3C8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885D328; } @@ -3743,15 +3744,15 @@ L_0885D3C8: L_0885D3D0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5601u); aot_gpr_31 = (0x0885D3E8u); - ctx.gpr[8] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D3E8u) goto L_0885D3E8; + aot_gpr_8 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D3E8u) goto L_0885D3E8; AOT_REGCACHE_SYNC_OUT(); return; L_0885D3E8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885D328; } @@ -3760,15 +3761,15 @@ L_0885D3E8: L_0885D3F0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5577u); aot_gpr_31 = (0x0885D408u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D408u) goto L_0885D408; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D408u) goto L_0885D408; AOT_REGCACHE_SYNC_OUT(); return; L_0885D408: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885D328; } @@ -3777,15 +3778,15 @@ L_0885D408: L_0885D410: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5580u); aot_gpr_31 = (0x0885D428u); - ctx.gpr[8] = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D428u) goto L_0885D428; + aot_gpr_8 = (0u | 4u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D428u) goto L_0885D428; AOT_REGCACHE_SYNC_OUT(); return; L_0885D428: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885D328; } @@ -3794,15 +3795,15 @@ L_0885D428: L_0885D430: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5593u); aot_gpr_31 = (0x0885D448u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D448u) goto L_0885D448; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D448u) goto L_0885D448; AOT_REGCACHE_SYNC_OUT(); return; L_0885D448: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885D328; } @@ -3814,25 +3815,25 @@ L_0885D450: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x0885D464u); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D464u) goto L_0885D464; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D464u) goto L_0885D464; AOT_REGCACHE_SYNC_OUT(); return; L_0885D464: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0885D470: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-118)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(41) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(41) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_0885D5F0; @@ -3853,14 +3854,14 @@ L_0885D494: L_0885D4AC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5621u); aot_gpr_31 = (0x0885D4C4u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D4C4u) goto L_0885D4C4; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D4C4u) goto L_0885D4C4; AOT_REGCACHE_SYNC_OUT(); return; L_0885D4C4: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_0885D4C8; L_0885D4C8: { const bool branch_taken = 0u == 0u; @@ -3873,15 +3874,15 @@ L_0885D4C8: L_0885D4D0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5623u); aot_gpr_31 = (0x0885D4E8u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D4E8u) goto L_0885D4E8; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D4E8u) goto L_0885D4E8; AOT_REGCACHE_SYNC_OUT(); return; L_0885D4E8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885D4C8; } @@ -3890,15 +3891,15 @@ L_0885D4E8: L_0885D4F0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5615u); aot_gpr_31 = (0x0885D508u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D508u) goto L_0885D508; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D508u) goto L_0885D508; AOT_REGCACHE_SYNC_OUT(); return; L_0885D508: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885D4C8; } @@ -3907,15 +3908,15 @@ L_0885D508: L_0885D510: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5611u); aot_gpr_31 = (0x0885D528u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D528u) goto L_0885D528; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D528u) goto L_0885D528; AOT_REGCACHE_SYNC_OUT(); return; L_0885D528: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885D4C8; } @@ -3924,15 +3925,15 @@ L_0885D528: L_0885D530: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5609u); aot_gpr_31 = (0x0885D548u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D548u) goto L_0885D548; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D548u) goto L_0885D548; AOT_REGCACHE_SYNC_OUT(); return; L_0885D548: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885D4C8; } @@ -3941,15 +3942,15 @@ L_0885D548: L_0885D550: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5613u); aot_gpr_31 = (0x0885D568u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D568u) goto L_0885D568; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D568u) goto L_0885D568; AOT_REGCACHE_SYNC_OUT(); return; L_0885D568: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885D4C8; } @@ -3958,15 +3959,15 @@ L_0885D568: L_0885D570: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5626u); aot_gpr_31 = (0x0885D588u); - ctx.gpr[8] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D588u) goto L_0885D588; + aot_gpr_8 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D588u) goto L_0885D588; AOT_REGCACHE_SYNC_OUT(); return; L_0885D588: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885D4C8; } @@ -3975,15 +3976,15 @@ L_0885D588: L_0885D590: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5602u); aot_gpr_31 = (0x0885D5A8u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D5A8u) goto L_0885D5A8; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D5A8u) goto L_0885D5A8; AOT_REGCACHE_SYNC_OUT(); return; L_0885D5A8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885D4C8; } @@ -3992,15 +3993,15 @@ L_0885D5A8: L_0885D5B0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5605u); aot_gpr_31 = (0x0885D5C8u); - ctx.gpr[8] = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D5C8u) goto L_0885D5C8; + aot_gpr_8 = (0u | 4u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D5C8u) goto L_0885D5C8; AOT_REGCACHE_SYNC_OUT(); return; L_0885D5C8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885D4C8; } @@ -4009,15 +4010,15 @@ L_0885D5C8: L_0885D5D0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5618u); aot_gpr_31 = (0x0885D5E8u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D5E8u) goto L_0885D5E8; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D5E8u) goto L_0885D5E8; AOT_REGCACHE_SYNC_OUT(); return; L_0885D5E8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885D4C8; } @@ -4029,25 +4030,25 @@ L_0885D5F0: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x0885D604u); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D604u) goto L_0885D604; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D604u) goto L_0885D604; AOT_REGCACHE_SYNC_OUT(); return; L_0885D604: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0885D610: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-118)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(41) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(41) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_0885D790; @@ -4068,14 +4069,14 @@ L_0885D634: L_0885D64C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5646u); aot_gpr_31 = (0x0885D664u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D664u) goto L_0885D664; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D664u) goto L_0885D664; AOT_REGCACHE_SYNC_OUT(); return; L_0885D664: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_0885D668; L_0885D668: { const bool branch_taken = 0u == 0u; @@ -4088,15 +4089,15 @@ L_0885D668: L_0885D670: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5648u); aot_gpr_31 = (0x0885D688u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D688u) goto L_0885D688; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D688u) goto L_0885D688; AOT_REGCACHE_SYNC_OUT(); return; L_0885D688: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885D668; } @@ -4105,15 +4106,15 @@ L_0885D688: L_0885D690: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5640u); aot_gpr_31 = (0x0885D6A8u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D6A8u) goto L_0885D6A8; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D6A8u) goto L_0885D6A8; AOT_REGCACHE_SYNC_OUT(); return; L_0885D6A8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885D668; } @@ -4122,15 +4123,15 @@ L_0885D6A8: L_0885D6B0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5636u); aot_gpr_31 = (0x0885D6C8u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D6C8u) goto L_0885D6C8; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D6C8u) goto L_0885D6C8; AOT_REGCACHE_SYNC_OUT(); return; L_0885D6C8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885D668; } @@ -4139,15 +4140,15 @@ L_0885D6C8: L_0885D6D0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5634u); aot_gpr_31 = (0x0885D6E8u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D6E8u) goto L_0885D6E8; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D6E8u) goto L_0885D6E8; AOT_REGCACHE_SYNC_OUT(); return; L_0885D6E8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885D668; } @@ -4156,15 +4157,15 @@ L_0885D6E8: L_0885D6F0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5638u); aot_gpr_31 = (0x0885D708u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D708u) goto L_0885D708; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D708u) goto L_0885D708; AOT_REGCACHE_SYNC_OUT(); return; L_0885D708: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885D668; } @@ -4173,15 +4174,15 @@ L_0885D708: L_0885D710: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5651u); aot_gpr_31 = (0x0885D728u); - ctx.gpr[8] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D728u) goto L_0885D728; + aot_gpr_8 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D728u) goto L_0885D728; AOT_REGCACHE_SYNC_OUT(); return; L_0885D728: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885D668; } @@ -4190,15 +4191,15 @@ L_0885D728: L_0885D730: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5627u); aot_gpr_31 = (0x0885D748u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D748u) goto L_0885D748; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D748u) goto L_0885D748; AOT_REGCACHE_SYNC_OUT(); return; L_0885D748: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885D668; } @@ -4207,15 +4208,15 @@ L_0885D748: L_0885D750: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5630u); aot_gpr_31 = (0x0885D768u); - ctx.gpr[8] = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D768u) goto L_0885D768; + aot_gpr_8 = (0u | 4u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D768u) goto L_0885D768; AOT_REGCACHE_SYNC_OUT(); return; L_0885D768: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885D668; } @@ -4224,15 +4225,15 @@ L_0885D768: L_0885D770: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5643u); aot_gpr_31 = (0x0885D788u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D788u) goto L_0885D788; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D788u) goto L_0885D788; AOT_REGCACHE_SYNC_OUT(); return; L_0885D788: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885D668; } @@ -4244,25 +4245,25 @@ L_0885D790: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x0885D7A4u); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D7A4u) goto L_0885D7A4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D7A4u) goto L_0885D7A4; AOT_REGCACHE_SYNC_OUT(); return; L_0885D7A4: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0885D7B0: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-118)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(41) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(41) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_0885D930; @@ -4283,14 +4284,14 @@ L_0885D7D4: L_0885D7EC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5671u); aot_gpr_31 = (0x0885D804u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D804u) goto L_0885D804; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D804u) goto L_0885D804; AOT_REGCACHE_SYNC_OUT(); return; L_0885D804: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_0885D808; L_0885D808: { const bool branch_taken = 0u == 0u; @@ -4303,15 +4304,15 @@ L_0885D808: L_0885D810: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5673u); aot_gpr_31 = (0x0885D828u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D828u) goto L_0885D828; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D828u) goto L_0885D828; AOT_REGCACHE_SYNC_OUT(); return; L_0885D828: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885D808; } @@ -4320,15 +4321,15 @@ L_0885D828: L_0885D830: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5665u); aot_gpr_31 = (0x0885D848u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D848u) goto L_0885D848; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D848u) goto L_0885D848; AOT_REGCACHE_SYNC_OUT(); return; L_0885D848: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885D808; } @@ -4337,15 +4338,15 @@ L_0885D848: L_0885D850: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5661u); aot_gpr_31 = (0x0885D868u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D868u) goto L_0885D868; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D868u) goto L_0885D868; AOT_REGCACHE_SYNC_OUT(); return; L_0885D868: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885D808; } @@ -4354,15 +4355,15 @@ L_0885D868: L_0885D870: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5659u); aot_gpr_31 = (0x0885D888u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D888u) goto L_0885D888; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D888u) goto L_0885D888; AOT_REGCACHE_SYNC_OUT(); return; L_0885D888: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885D808; } @@ -4371,15 +4372,15 @@ L_0885D888: L_0885D890: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5663u); aot_gpr_31 = (0x0885D8A8u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D8A8u) goto L_0885D8A8; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D8A8u) goto L_0885D8A8; AOT_REGCACHE_SYNC_OUT(); return; L_0885D8A8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885D808; } @@ -4388,15 +4389,15 @@ L_0885D8A8: L_0885D8B0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5676u); aot_gpr_31 = (0x0885D8C8u); - ctx.gpr[8] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D8C8u) goto L_0885D8C8; + aot_gpr_8 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D8C8u) goto L_0885D8C8; AOT_REGCACHE_SYNC_OUT(); return; L_0885D8C8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885D808; } @@ -4405,15 +4406,15 @@ L_0885D8C8: L_0885D8D0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5652u); aot_gpr_31 = (0x0885D8E8u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D8E8u) goto L_0885D8E8; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D8E8u) goto L_0885D8E8; AOT_REGCACHE_SYNC_OUT(); return; L_0885D8E8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885D808; } @@ -4422,15 +4423,15 @@ L_0885D8E8: L_0885D8F0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5655u); aot_gpr_31 = (0x0885D908u); - ctx.gpr[8] = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D908u) goto L_0885D908; + aot_gpr_8 = (0u | 4u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D908u) goto L_0885D908; AOT_REGCACHE_SYNC_OUT(); return; L_0885D908: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885D808; } @@ -4439,15 +4440,15 @@ L_0885D908: L_0885D910: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5668u); aot_gpr_31 = (0x0885D928u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D928u) goto L_0885D928; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D928u) goto L_0885D928; AOT_REGCACHE_SYNC_OUT(); return; L_0885D928: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885D808; } @@ -4459,25 +4460,25 @@ L_0885D930: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x0885D944u); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D944u) goto L_0885D944; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D944u) goto L_0885D944; AOT_REGCACHE_SYNC_OUT(); return; L_0885D944: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0885D950: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-118)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(41) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(41) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_0885DAD0; @@ -4498,14 +4499,14 @@ L_0885D974: L_0885D98C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5720u); aot_gpr_31 = (0x0885D9A4u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D9A4u) goto L_0885D9A4; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D9A4u) goto L_0885D9A4; AOT_REGCACHE_SYNC_OUT(); return; L_0885D9A4: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_0885D9A8; L_0885D9A8: { const bool branch_taken = 0u == 0u; @@ -4518,15 +4519,15 @@ L_0885D9A8: L_0885D9B0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5722u); aot_gpr_31 = (0x0885D9C8u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D9C8u) goto L_0885D9C8; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D9C8u) goto L_0885D9C8; AOT_REGCACHE_SYNC_OUT(); return; L_0885D9C8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885D9A8; } @@ -4535,15 +4536,15 @@ L_0885D9C8: L_0885D9D0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5714u); aot_gpr_31 = (0x0885D9E8u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D9E8u) goto L_0885D9E8; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885D9E8u) goto L_0885D9E8; AOT_REGCACHE_SYNC_OUT(); return; L_0885D9E8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885D9A8; } @@ -4552,15 +4553,15 @@ L_0885D9E8: L_0885D9F0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5710u); aot_gpr_31 = (0x0885DA08u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885DA08u) goto L_0885DA08; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885DA08u) goto L_0885DA08; AOT_REGCACHE_SYNC_OUT(); return; L_0885DA08: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885D9A8; } @@ -4569,15 +4570,15 @@ L_0885DA08: L_0885DA10: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5708u); aot_gpr_31 = (0x0885DA28u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885DA28u) goto L_0885DA28; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885DA28u) goto L_0885DA28; AOT_REGCACHE_SYNC_OUT(); return; L_0885DA28: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885D9A8; } @@ -4586,15 +4587,15 @@ L_0885DA28: L_0885DA30: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5712u); aot_gpr_31 = (0x0885DA48u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885DA48u) goto L_0885DA48; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885DA48u) goto L_0885DA48; AOT_REGCACHE_SYNC_OUT(); return; L_0885DA48: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885D9A8; } @@ -4603,15 +4604,15 @@ L_0885DA48: L_0885DA50: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5725u); aot_gpr_31 = (0x0885DA68u); - ctx.gpr[8] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885DA68u) goto L_0885DA68; + aot_gpr_8 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885DA68u) goto L_0885DA68; AOT_REGCACHE_SYNC_OUT(); return; L_0885DA68: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885D9A8; } @@ -4620,15 +4621,15 @@ L_0885DA68: L_0885DA70: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5701u); aot_gpr_31 = (0x0885DA88u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885DA88u) goto L_0885DA88; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885DA88u) goto L_0885DA88; AOT_REGCACHE_SYNC_OUT(); return; L_0885DA88: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885D9A8; } @@ -4637,15 +4638,15 @@ L_0885DA88: L_0885DA90: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5704u); aot_gpr_31 = (0x0885DAA8u); - ctx.gpr[8] = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885DAA8u) goto L_0885DAA8; + aot_gpr_8 = (0u | 4u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885DAA8u) goto L_0885DAA8; AOT_REGCACHE_SYNC_OUT(); return; L_0885DAA8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885D9A8; } @@ -4654,15 +4655,15 @@ L_0885DAA8: L_0885DAB0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5717u); aot_gpr_31 = (0x0885DAC8u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885DAC8u) goto L_0885DAC8; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885DAC8u) goto L_0885DAC8; AOT_REGCACHE_SYNC_OUT(); return; L_0885DAC8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885D9A8; } @@ -4674,25 +4675,25 @@ L_0885DAD0: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x0885DAE4u); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885DAE4u) goto L_0885DAE4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885DAE4u) goto L_0885DAE4; AOT_REGCACHE_SYNC_OUT(); return; L_0885DAE4: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0885DAF0: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-118)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(41) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(41) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_0885DC70; @@ -4713,14 +4714,14 @@ L_0885DB14: L_0885DB2C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5745u); aot_gpr_31 = (0x0885DB44u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885DB44u) goto L_0885DB44; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885DB44u) goto L_0885DB44; AOT_REGCACHE_SYNC_OUT(); return; L_0885DB44: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_0885DB48; L_0885DB48: { const bool branch_taken = 0u == 0u; @@ -4733,15 +4734,15 @@ L_0885DB48: L_0885DB50: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5747u); aot_gpr_31 = (0x0885DB68u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885DB68u) goto L_0885DB68; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885DB68u) goto L_0885DB68; AOT_REGCACHE_SYNC_OUT(); return; L_0885DB68: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885DB48; } @@ -4750,15 +4751,15 @@ L_0885DB68: L_0885DB70: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5739u); aot_gpr_31 = (0x0885DB88u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885DB88u) goto L_0885DB88; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885DB88u) goto L_0885DB88; AOT_REGCACHE_SYNC_OUT(); return; L_0885DB88: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885DB48; } @@ -4767,15 +4768,15 @@ L_0885DB88: L_0885DB90: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5735u); aot_gpr_31 = (0x0885DBA8u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885DBA8u) goto L_0885DBA8; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885DBA8u) goto L_0885DBA8; AOT_REGCACHE_SYNC_OUT(); return; L_0885DBA8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885DB48; } @@ -4784,15 +4785,15 @@ L_0885DBA8: L_0885DBB0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5733u); aot_gpr_31 = (0x0885DBC8u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885DBC8u) goto L_0885DBC8; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885DBC8u) goto L_0885DBC8; AOT_REGCACHE_SYNC_OUT(); return; L_0885DBC8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885DB48; } @@ -4801,15 +4802,15 @@ L_0885DBC8: L_0885DBD0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5737u); aot_gpr_31 = (0x0885DBE8u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885DBE8u) goto L_0885DBE8; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885DBE8u) goto L_0885DBE8; AOT_REGCACHE_SYNC_OUT(); return; L_0885DBE8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885DB48; } @@ -4818,15 +4819,15 @@ L_0885DBE8: L_0885DBF0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5750u); aot_gpr_31 = (0x0885DC08u); - ctx.gpr[8] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885DC08u) goto L_0885DC08; + aot_gpr_8 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885DC08u) goto L_0885DC08; AOT_REGCACHE_SYNC_OUT(); return; L_0885DC08: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885DB48; } @@ -4835,15 +4836,15 @@ L_0885DC08: L_0885DC10: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5726u); aot_gpr_31 = (0x0885DC28u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885DC28u) goto L_0885DC28; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885DC28u) goto L_0885DC28; AOT_REGCACHE_SYNC_OUT(); return; L_0885DC28: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885DB48; } @@ -4852,15 +4853,15 @@ L_0885DC28: L_0885DC30: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5729u); aot_gpr_31 = (0x0885DC48u); - ctx.gpr[8] = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885DC48u) goto L_0885DC48; + aot_gpr_8 = (0u | 4u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885DC48u) goto L_0885DC48; AOT_REGCACHE_SYNC_OUT(); return; L_0885DC48: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885DB48; } @@ -4869,15 +4870,15 @@ L_0885DC48: L_0885DC50: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5742u); aot_gpr_31 = (0x0885DC68u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885DC68u) goto L_0885DC68; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885DC68u) goto L_0885DC68; AOT_REGCACHE_SYNC_OUT(); return; L_0885DC68: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885DB48; } @@ -4889,25 +4890,25 @@ L_0885DC70: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x0885DC84u); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885DC84u) goto L_0885DC84; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885DC84u) goto L_0885DC84; AOT_REGCACHE_SYNC_OUT(); return; L_0885DC84: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0885DC90: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-118)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(41) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(41) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_0885DE10; @@ -4928,14 +4929,14 @@ L_0885DCB4: L_0885DCCC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5770u); aot_gpr_31 = (0x0885DCE4u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885DCE4u) goto L_0885DCE4; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885DCE4u) goto L_0885DCE4; AOT_REGCACHE_SYNC_OUT(); return; L_0885DCE4: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_0885DCE8; L_0885DCE8: { const bool branch_taken = 0u == 0u; @@ -4948,15 +4949,15 @@ L_0885DCE8: L_0885DCF0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5772u); aot_gpr_31 = (0x0885DD08u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885DD08u) goto L_0885DD08; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885DD08u) goto L_0885DD08; AOT_REGCACHE_SYNC_OUT(); return; L_0885DD08: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885DCE8; } @@ -4965,15 +4966,15 @@ L_0885DD08: L_0885DD10: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5764u); aot_gpr_31 = (0x0885DD28u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885DD28u) goto L_0885DD28; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885DD28u) goto L_0885DD28; AOT_REGCACHE_SYNC_OUT(); return; L_0885DD28: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885DCE8; } @@ -4982,15 +4983,15 @@ L_0885DD28: L_0885DD30: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5760u); aot_gpr_31 = (0x0885DD48u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885DD48u) goto L_0885DD48; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885DD48u) goto L_0885DD48; AOT_REGCACHE_SYNC_OUT(); return; L_0885DD48: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885DCE8; } @@ -4999,15 +5000,15 @@ L_0885DD48: L_0885DD50: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5758u); aot_gpr_31 = (0x0885DD68u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885DD68u) goto L_0885DD68; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885DD68u) goto L_0885DD68; AOT_REGCACHE_SYNC_OUT(); return; L_0885DD68: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885DCE8; } @@ -5016,15 +5017,15 @@ L_0885DD68: L_0885DD70: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5762u); aot_gpr_31 = (0x0885DD88u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885DD88u) goto L_0885DD88; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885DD88u) goto L_0885DD88; AOT_REGCACHE_SYNC_OUT(); return; L_0885DD88: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885DCE8; } @@ -5033,15 +5034,15 @@ L_0885DD88: L_0885DD90: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5775u); aot_gpr_31 = (0x0885DDA8u); - ctx.gpr[8] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885DDA8u) goto L_0885DDA8; + aot_gpr_8 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885DDA8u) goto L_0885DDA8; AOT_REGCACHE_SYNC_OUT(); return; L_0885DDA8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885DCE8; } @@ -5050,15 +5051,15 @@ L_0885DDA8: L_0885DDB0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5751u); aot_gpr_31 = (0x0885DDC8u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885DDC8u) goto L_0885DDC8; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885DDC8u) goto L_0885DDC8; AOT_REGCACHE_SYNC_OUT(); return; L_0885DDC8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885DCE8; } @@ -5067,15 +5068,15 @@ L_0885DDC8: L_0885DDD0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5754u); aot_gpr_31 = (0x0885DDE8u); - ctx.gpr[8] = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885DDE8u) goto L_0885DDE8; + aot_gpr_8 = (0u | 4u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885DDE8u) goto L_0885DDE8; AOT_REGCACHE_SYNC_OUT(); return; L_0885DDE8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885DCE8; } @@ -5084,15 +5085,15 @@ L_0885DDE8: L_0885DDF0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5767u); aot_gpr_31 = (0x0885DE08u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885DE08u) goto L_0885DE08; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885DE08u) goto L_0885DE08; AOT_REGCACHE_SYNC_OUT(); return; L_0885DE08: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885DCE8; } @@ -5104,25 +5105,25 @@ L_0885DE10: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x0885DE24u); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885DE24u) goto L_0885DE24; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885DE24u) goto L_0885DE24; AOT_REGCACHE_SYNC_OUT(); return; L_0885DE24: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0885DE30: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-118)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(41) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(41) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_0885DFB0; @@ -5143,14 +5144,14 @@ L_0885DE54: L_0885DE6C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5795u); aot_gpr_31 = (0x0885DE84u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885DE84u) goto L_0885DE84; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885DE84u) goto L_0885DE84; AOT_REGCACHE_SYNC_OUT(); return; L_0885DE84: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_0885DE88; L_0885DE88: { const bool branch_taken = 0u == 0u; @@ -5163,15 +5164,15 @@ L_0885DE88: L_0885DE90: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5797u); aot_gpr_31 = (0x0885DEA8u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885DEA8u) goto L_0885DEA8; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885DEA8u) goto L_0885DEA8; AOT_REGCACHE_SYNC_OUT(); return; L_0885DEA8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885DE88; } @@ -5180,15 +5181,15 @@ L_0885DEA8: L_0885DEB0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5789u); aot_gpr_31 = (0x0885DEC8u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885DEC8u) goto L_0885DEC8; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885DEC8u) goto L_0885DEC8; AOT_REGCACHE_SYNC_OUT(); return; L_0885DEC8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885DE88; } @@ -5197,15 +5198,15 @@ L_0885DEC8: L_0885DED0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5785u); aot_gpr_31 = (0x0885DEE8u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885DEE8u) goto L_0885DEE8; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885DEE8u) goto L_0885DEE8; AOT_REGCACHE_SYNC_OUT(); return; L_0885DEE8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885DE88; } @@ -5214,15 +5215,15 @@ L_0885DEE8: L_0885DEF0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5783u); aot_gpr_31 = (0x0885DF08u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885DF08u) goto L_0885DF08; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885DF08u) goto L_0885DF08; AOT_REGCACHE_SYNC_OUT(); return; L_0885DF08: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885DE88; } @@ -5231,15 +5232,15 @@ L_0885DF08: L_0885DF10: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5787u); aot_gpr_31 = (0x0885DF28u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885DF28u) goto L_0885DF28; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885DF28u) goto L_0885DF28; AOT_REGCACHE_SYNC_OUT(); return; L_0885DF28: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885DE88; } @@ -5248,15 +5249,15 @@ L_0885DF28: L_0885DF30: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5800u); aot_gpr_31 = (0x0885DF48u); - ctx.gpr[8] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885DF48u) goto L_0885DF48; + aot_gpr_8 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885DF48u) goto L_0885DF48; AOT_REGCACHE_SYNC_OUT(); return; L_0885DF48: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885DE88; } @@ -5265,15 +5266,15 @@ L_0885DF48: L_0885DF50: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5776u); aot_gpr_31 = (0x0885DF68u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885DF68u) goto L_0885DF68; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885DF68u) goto L_0885DF68; AOT_REGCACHE_SYNC_OUT(); return; L_0885DF68: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885DE88; } @@ -5282,15 +5283,15 @@ L_0885DF68: L_0885DF70: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5779u); aot_gpr_31 = (0x0885DF88u); - ctx.gpr[8] = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885DF88u) goto L_0885DF88; + aot_gpr_8 = (0u | 4u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885DF88u) goto L_0885DF88; AOT_REGCACHE_SYNC_OUT(); return; L_0885DF88: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885DE88; } @@ -5299,15 +5300,15 @@ L_0885DF88: L_0885DF90: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5792u); aot_gpr_31 = (0x0885DFA8u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885DFA8u) goto L_0885DFA8; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885DFA8u) goto L_0885DFA8; AOT_REGCACHE_SYNC_OUT(); return; L_0885DFA8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885DE88; } @@ -5319,25 +5320,25 @@ L_0885DFB0: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x0885DFC4u); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885DFC4u) goto L_0885DFC4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885DFC4u) goto L_0885DFC4; AOT_REGCACHE_SYNC_OUT(); return; L_0885DFC4: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0885DFD0: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-118)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(41) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(41) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_0885E150; @@ -5358,14 +5359,14 @@ L_0885DFF4: L_0885E00C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5820u); aot_gpr_31 = (0x0885E024u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885E024u) goto L_0885E024; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885E024u) goto L_0885E024; AOT_REGCACHE_SYNC_OUT(); return; L_0885E024: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_0885E028; L_0885E028: { const bool branch_taken = 0u == 0u; @@ -5378,15 +5379,15 @@ L_0885E028: L_0885E030: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5822u); aot_gpr_31 = (0x0885E048u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885E048u) goto L_0885E048; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885E048u) goto L_0885E048; AOT_REGCACHE_SYNC_OUT(); return; L_0885E048: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885E028; } @@ -5395,15 +5396,15 @@ L_0885E048: L_0885E050: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5814u); aot_gpr_31 = (0x0885E068u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885E068u) goto L_0885E068; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885E068u) goto L_0885E068; AOT_REGCACHE_SYNC_OUT(); return; L_0885E068: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885E028; } @@ -5412,15 +5413,15 @@ L_0885E068: L_0885E070: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5810u); aot_gpr_31 = (0x0885E088u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885E088u) goto L_0885E088; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885E088u) goto L_0885E088; AOT_REGCACHE_SYNC_OUT(); return; L_0885E088: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885E028; } @@ -5429,15 +5430,15 @@ L_0885E088: L_0885E090: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5808u); aot_gpr_31 = (0x0885E0A8u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885E0A8u) goto L_0885E0A8; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885E0A8u) goto L_0885E0A8; AOT_REGCACHE_SYNC_OUT(); return; L_0885E0A8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885E028; } @@ -5446,15 +5447,15 @@ L_0885E0A8: L_0885E0B0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5812u); aot_gpr_31 = (0x0885E0C8u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885E0C8u) goto L_0885E0C8; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885E0C8u) goto L_0885E0C8; AOT_REGCACHE_SYNC_OUT(); return; L_0885E0C8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885E028; } @@ -5463,15 +5464,15 @@ L_0885E0C8: L_0885E0D0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5825u); aot_gpr_31 = (0x0885E0E8u); - ctx.gpr[8] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885E0E8u) goto L_0885E0E8; + aot_gpr_8 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885E0E8u) goto L_0885E0E8; AOT_REGCACHE_SYNC_OUT(); return; L_0885E0E8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885E028; } @@ -5480,15 +5481,15 @@ L_0885E0E8: L_0885E0F0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5801u); aot_gpr_31 = (0x0885E108u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885E108u) goto L_0885E108; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885E108u) goto L_0885E108; AOT_REGCACHE_SYNC_OUT(); return; L_0885E108: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885E028; } @@ -5497,15 +5498,15 @@ L_0885E108: L_0885E110: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5804u); aot_gpr_31 = (0x0885E128u); - ctx.gpr[8] = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885E128u) goto L_0885E128; + aot_gpr_8 = (0u | 4u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885E128u) goto L_0885E128; AOT_REGCACHE_SYNC_OUT(); return; L_0885E128: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885E028; } @@ -5514,15 +5515,15 @@ L_0885E128: L_0885E130: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5817u); aot_gpr_31 = (0x0885E148u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885E148u) goto L_0885E148; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885E148u) goto L_0885E148; AOT_REGCACHE_SYNC_OUT(); return; L_0885E148: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885E028; } @@ -5534,25 +5535,25 @@ L_0885E150: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x0885E164u); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885E164u) goto L_0885E164; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885E164u) goto L_0885E164; AOT_REGCACHE_SYNC_OUT(); return; L_0885E164: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0885E170: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_7 + static_cast(-118)); aot_gpr_5 = (2237u << 16u); - ctx.gpr[8] = (aot_gpr_6 < static_cast(41) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_8 = (aot_gpr_6 < static_cast(41) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { goto L_0885E2F0; @@ -5573,14 +5574,14 @@ L_0885E194: L_0885E1AC: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5846u); aot_gpr_31 = (0x0885E1C4u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885E1C4u) goto L_0885E1C4; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885E1C4u) goto L_0885E1C4; AOT_REGCACHE_SYNC_OUT(); return; L_0885E1C4: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_0885E1C8; L_0885E1C8: { const bool branch_taken = 0u == 0u; @@ -5593,15 +5594,15 @@ L_0885E1C8: L_0885E1D0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5848u); aot_gpr_31 = (0x0885E1E8u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885E1E8u) goto L_0885E1E8; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885E1E8u) goto L_0885E1E8; AOT_REGCACHE_SYNC_OUT(); return; L_0885E1E8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885E1C8; } @@ -5610,15 +5611,15 @@ L_0885E1E8: L_0885E1F0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5840u); aot_gpr_31 = (0x0885E208u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885E208u) goto L_0885E208; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885E208u) goto L_0885E208; AOT_REGCACHE_SYNC_OUT(); return; L_0885E208: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885E1C8; } @@ -5627,15 +5628,15 @@ L_0885E208: L_0885E210: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5836u); aot_gpr_31 = (0x0885E228u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885E228u) goto L_0885E228; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885E228u) goto L_0885E228; AOT_REGCACHE_SYNC_OUT(); return; L_0885E228: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885E1C8; } @@ -5644,15 +5645,15 @@ L_0885E228: L_0885E230: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5833u); aot_gpr_31 = (0x0885E248u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885E248u) goto L_0885E248; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885E248u) goto L_0885E248; AOT_REGCACHE_SYNC_OUT(); return; L_0885E248: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885E1C8; } @@ -5661,15 +5662,15 @@ L_0885E248: L_0885E250: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5838u); aot_gpr_31 = (0x0885E268u); - ctx.gpr[8] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885E268u) goto L_0885E268; + aot_gpr_8 = (0u | 2u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885E268u) goto L_0885E268; AOT_REGCACHE_SYNC_OUT(); return; L_0885E268: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885E1C8; } @@ -5678,15 +5679,15 @@ L_0885E268: L_0885E270: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5851u); aot_gpr_31 = (0x0885E288u); - ctx.gpr[8] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885E288u) goto L_0885E288; + aot_gpr_8 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885E288u) goto L_0885E288; AOT_REGCACHE_SYNC_OUT(); return; L_0885E288: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885E1C8; } @@ -5695,15 +5696,15 @@ L_0885E288: L_0885E290: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5826u); aot_gpr_31 = (0x0885E2A8u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885E2A8u) goto L_0885E2A8; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885E2A8u) goto L_0885E2A8; AOT_REGCACHE_SYNC_OUT(); return; L_0885E2A8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885E1C8; } @@ -5712,15 +5713,15 @@ L_0885E2A8: L_0885E2B0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5829u); aot_gpr_31 = (0x0885E2C8u); - ctx.gpr[8] = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885E2C8u) goto L_0885E2C8; + aot_gpr_8 = (0u | 4u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885E2C8u) goto L_0885E2C8; AOT_REGCACHE_SYNC_OUT(); return; L_0885E2C8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885E1C8; } @@ -5729,15 +5730,15 @@ L_0885E2C8: L_0885E2D0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5843u); aot_gpr_31 = (0x0885E2E8u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885E2E8u) goto L_0885E2E8; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885E2E8u) goto L_0885E2E8; AOT_REGCACHE_SYNC_OUT(); return; L_0885E2E8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885E1C8; } @@ -5749,23 +5750,23 @@ L_0885E2F0: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x0885E304u); aot_gpr_6 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885E304u) goto L_0885E304; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885E304u) goto L_0885E304; AOT_REGCACHE_SYNC_OUT(); return; L_0885E304: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0885E310: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (2237u << 16u); aot_gpr_6 = (aot_gpr_6 & 65535u); aot_gpr_7 = (0u | 159u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); { const bool branch_taken = aot_gpr_6 == aot_gpr_7; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { @@ -5801,14 +5802,14 @@ L_0885E344: L_0885E34C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5858u); aot_gpr_31 = (0x0885E364u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885E364u) goto L_0885E364; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885E364u) goto L_0885E364; AOT_REGCACHE_SYNC_OUT(); return; L_0885E364: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_0885E368; L_0885E368: { const bool branch_taken = 0u == 0u; @@ -5821,15 +5822,15 @@ L_0885E368: L_0885E370: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5855u); aot_gpr_31 = (0x0885E388u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885E388u) goto L_0885E388; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885E388u) goto L_0885E388; AOT_REGCACHE_SYNC_OUT(); return; L_0885E388: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885E368; } @@ -5838,15 +5839,15 @@ L_0885E388: L_0885E390: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5852u); aot_gpr_31 = (0x0885E3A8u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885E3A8u) goto L_0885E3A8; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885E3A8u) goto L_0885E3A8; AOT_REGCACHE_SYNC_OUT(); return; L_0885E3A8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885E368; } @@ -5855,15 +5856,15 @@ L_0885E3A8: L_0885E3B0: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5861u); aot_gpr_31 = (0x0885E3C8u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885E3C8u) goto L_0885E3C8; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885E3C8u) goto L_0885E3C8; AOT_REGCACHE_SYNC_OUT(); return; L_0885E3C8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885E368; } @@ -5874,23 +5875,23 @@ L_0885E3D0: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x0885E3E0u); aot_gpr_5 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885E3E0u) goto L_0885E3E0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C971C, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885E3E0u) goto L_0885E3E0; AOT_REGCACHE_SYNC_OUT(); return; L_0885E3E0: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0885E3EC: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (2237u << 16u); aot_gpr_6 = (aot_gpr_6 & 65535u); aot_gpr_7 = (0u | 159u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); { const bool branch_taken = aot_gpr_6 == aot_gpr_7; aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); if (branch_taken) { @@ -5926,14 +5927,14 @@ L_0885E420: L_0885E428: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5870u); aot_gpr_31 = (0x0885E440u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885E440u) goto L_0885E440; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885E440u) goto L_0885E440; AOT_REGCACHE_SYNC_OUT(); return; L_0885E440: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_0885E444; L_0885E444: { const bool branch_taken = 0u == 0u; @@ -5946,15 +5947,15 @@ L_0885E444: L_0885E44C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5867u); aot_gpr_31 = (0x0885E464u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885E464u) goto L_0885E464; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885E464u) goto L_0885E464; AOT_REGCACHE_SYNC_OUT(); return; L_0885E464: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885E444; } @@ -5963,15 +5964,15 @@ L_0885E464: L_0885E46C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5864u); aot_gpr_31 = (0x0885E484u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885E484u) goto L_0885E484; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885E484u) goto L_0885E484; AOT_REGCACHE_SYNC_OUT(); return; L_0885E484: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885E444; } @@ -5980,15 +5981,15 @@ L_0885E484: L_0885E48C: aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_7 = (0u | 5873u); aot_gpr_31 = (0x0885E4A4u); - ctx.gpr[8] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885E4A4u) goto L_0885E4A4; + aot_gpr_8 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885E4A4u) goto L_0885E4A4; AOT_REGCACHE_SYNC_OUT(); return; L_0885E4A4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_0885E444; } @@ -5999,35 +6000,35 @@ L_0885E4AC: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x0885E4BCu); aot_gpr_5 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885E4BCu) goto L_0885E4BC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885E4BCu) goto L_0885E4BC; AOT_REGCACHE_SYNC_OUT(); return; L_0885E4BC: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0885E4C8: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_7 = (aot_gpr_6 | 0u); - ctx.gpr[8] = (aot_gpr_5 | 0u); - aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[8] + static_cast(86)))))); + aot_gpr_8 = (aot_gpr_5 | 0u); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_8 + static_cast(86)))))); aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_7 = (aot_gpr_7 & 65535u); ctx.gpr[9] = (static_cast(aot_gpr_6) < 154 ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), aot_gpr_31); { const bool branch_taken = ctx.gpr[9] == 0u; - aot_gpr_4 = (ctx.gpr[8] | 0u); + aot_gpr_4 = (aot_gpr_8 | 0u); if (branch_taken) { goto L_0885E520; } goto L_0885E4F0; } L_0885E4F0: - ctx.gpr[8] = (static_cast(aot_gpr_6) < 13 ? 1u : 0u); - { const bool branch_taken = ctx.gpr[8] != 0u; + aot_gpr_8 = (static_cast(aot_gpr_6) < 13 ? 1u : 0u); + { const bool branch_taken = aot_gpr_8 != 0u; aot_gpr_6 = (aot_gpr_6 + static_cast(-13)); if (branch_taken) { goto L_0885E514; @@ -6055,16 +6056,16 @@ L_0885E514: goto L_0885E520; } L_0885E520: - ctx.gpr[8] = (static_cast(aot_gpr_6) < 10000 ? 1u : 0u); - { const bool branch_taken = ctx.gpr[8] != 0u; - ctx.gpr[8] = (static_cast(aot_gpr_6) < 10017 ? 1u : 0u); + aot_gpr_8 = (static_cast(aot_gpr_6) < 10000 ? 1u : 0u); + { const bool branch_taken = aot_gpr_8 != 0u; + aot_gpr_8 = (static_cast(aot_gpr_6) < 10017 ? 1u : 0u); if (branch_taken) { goto L_0885E514; } goto L_0885E52C; } L_0885E52C: - { const bool branch_taken = ctx.gpr[8] == 0u; + { const bool branch_taken = aot_gpr_8 == 0u; aot_gpr_6 = (aot_gpr_6 + static_cast(-10000)); if (branch_taken) { goto L_0885E514; @@ -8085,35 +8086,35 @@ L_0885F314: aot_gpr_6 = (aot_gpr_7 | 0u); goto L_0885E310; L_0885F328: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0885F334: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), aot_gpr_31); aot_gpr_31 = (0x0885F344u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 288u, 0x08969514u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885F344u) goto L_0885F344; AOT_REGCACHE_SYNC_OUT(); return; L_0885F344: ctx.gpr[2] = (0u | 0u); - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0885F354: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), ctx.gpr[16]); ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(40))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), ctx.gpr[17]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(8), aot_gpr_31); { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { @@ -8191,22 +8192,22 @@ L_0885F3DC: goto L_0885F3E0; L_0885F3E0: { std::uint32_t aot_run_words[3]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(0), aot_run_words); ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0885F3F4: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(40))); { const std::uint32_t aot_run_words[3]{ctx.gpr[16], ctx.gpr[17], aot_gpr_31}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(0), aot_run_words); } { const bool branch_taken = aot_gpr_6 != 0u; ctx.gpr[16] = (aot_gpr_5 | 0u); if (branch_taken) { @@ -8298,13 +8299,13 @@ L_0885F464: goto L_0885F468; L_0885F468: { std::uint32_t aot_run_words[3]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(0), aot_run_words); ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -8317,12 +8318,12 @@ L_0885F47C: ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0885F484: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), ctx.gpr[16]); ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(40))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), ctx.gpr[17]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(8), aot_gpr_31); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -8412,25 +8413,25 @@ L_0885F530: AOT_REGCACHE_SYNC_OUT(); return; L_0885F53C: { std::uint32_t aot_run_words[3]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(0), aot_run_words); ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0885F550: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), ctx.gpr[16]); ctx.gpr[16] = (aot_gpr_5 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), ctx.gpr[17]); ctx.gpr[17] = (aot_gpr_4 | 0u); aot_gpr_5 = (ctx.gpr[28] + static_cast(-29560)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x0885F574u); aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 31u, 0x08B58180u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885F574u) goto L_0885F574; @@ -8454,7 +8455,7 @@ L_0885F57C: L_0885F584: aot_gpr_31 = (0x0885F58Cu); aot_gpr_4 = (ctx.gpr[16] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885F58Cu) goto L_0885F58C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885F58Cu) goto L_0885F58C; AOT_REGCACHE_SYNC_OUT(); return; L_0885F58C: aot_gpr_31 = (0x0885F594u); @@ -8470,23 +8471,23 @@ L_0885F594: AOT_REGCACHE_SYNC_OUT(); return; L_0885F5A4: { std::uint32_t aot_run_words[3]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(0), aot_run_words); ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0885F5B8: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(44))); aot_gpr_6 = (0u + static_cast(-1)); { const std::uint32_t aot_run_words[3]{ctx.gpr[16], ctx.gpr[17], aot_gpr_31}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(0), aot_run_words); } { const bool branch_taken = aot_gpr_5 == aot_gpr_6; ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { @@ -8536,20 +8537,20 @@ L_0885F608: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(44))); aot_gpr_31 = (0x0885F614u); ctx.gpr[17] = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885F614u) goto L_0885F614; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2E4, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885F614u) goto L_0885F614; AOT_REGCACHE_SYNC_OUT(); return; L_0885F614: aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(44), ctx.gpr[17]); goto L_0885F618; L_0885F618: { std::uint32_t aot_run_words[3]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(0), aot_run_words); ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -8562,51 +8563,51 @@ L_0885F62C: ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0885F634: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_5); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), aot_gpr_5); aot_gpr_5 = (2182u << 16u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - aot_gpr_6 = (aot_gpr_29 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); + aot_gpr_6 = (ctx.gpr[29] | 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x0885F658u); aot_gpr_5 = (aot_gpr_5 + static_cast(-2328)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0091_entry, 91u, 614u, 0x08972D0Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885F658u) goto L_0885F658; AOT_REGCACHE_SYNC_OUT(); return; L_0885F658: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(8))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0885F668: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_6 = (aot_gpr_5 | 0u); aot_gpr_5 = (2182u << 16u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), aot_gpr_31); aot_gpr_31 = (0x0885F684u); aot_gpr_5 = (aot_gpr_5 + static_cast(-2204)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0091_entry, 91u, 614u, 0x08972D0Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885F684u) goto L_0885F684; AOT_REGCACHE_SYNC_OUT(); return; L_0885F684: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0885F690: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), ctx.gpr[16]); ctx.gpr[16] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(12), aot_gpr_6); aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(40), aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x0885F6B0u); aot_gpr_4 = (aot_gpr_5 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0147_entry, 147u, 642u, 0x08A536B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885F6B0u) goto L_0885F6B0; @@ -8631,22 +8632,22 @@ L_0885F6C8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0030_entry, 30u, 728u, 0x0887F5E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885F6D8u) goto L_0885F6D8; AOT_REGCACHE_SYNC_OUT(); return; L_0885F6D8: - ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0885F6E8: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), ctx.gpr[16]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), ctx.gpr[17]); ctx.gpr[16] = (aot_gpr_5 | 0u); ctx.gpr[17] = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(8), ctx.gpr[18]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(12), aot_gpr_31); aot_gpr_31 = (0x0885F70Cu); ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 189u, 0x089452FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885F70Cu) goto L_0885F70C; @@ -8698,24 +8699,24 @@ L_0885F748: goto L_0885F74C; L_0885F74C: { std::uint32_t aot_run_words[4]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(0), aot_run_words); ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0885F764: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), ctx.gpr[17]); ctx.gpr[17] = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), ctx.gpr[16]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x0885F780u); ctx.gpr[16] = (aot_gpr_5 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 189u, 0x089452FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885F780u) goto L_0885F780; @@ -8745,24 +8746,24 @@ L_0885F798: L_0885F7AC: ctx.gpr[2] = (ctx.gpr[17] | 0u); { std::uint32_t aot_run_words[3]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(0), aot_run_words); ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0885F7C4: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_4 = (2238u << 16u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), ctx.gpr[16]); ctx.gpr[16] = (aot_gpr_4 + static_cast(18664)); aot_gpr_4 = (ctx.gpr[16] | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x0885F7E4u); aot_gpr_5 = (0u | 5u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0054_entry, 54u, 451u, 0x088DF69Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885F7E4u) goto L_0885F7E4; @@ -8775,7 +8776,7 @@ L_0885F7E4: aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(44), aot_gpr_5); aot_gpr_31 = (0x0885F800u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-29552)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885F800u) goto L_0885F800; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885F800u) goto L_0885F800; AOT_REGCACHE_SYNC_OUT(); return; L_0885F800: aot_gpr_5 = (2232u << 16u); @@ -8787,29 +8788,29 @@ L_0885F800: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0139_entry, 139u, 279u, 0x08A312B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885F818u) goto L_0885F818; AOT_REGCACHE_SYNC_OUT(); return; L_0885F818: - ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0885F828: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), ctx.gpr[16]); ctx.gpr[16] = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x0885F840u); aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(64), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 7u, 0x08860358u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0885F840u) goto L_0885F840; AOT_REGCACHE_SYNC_OUT(); return; L_0885F840: ctx.gpr[2] = (ctx.gpr[16] | 0u); - ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -8926,52 +8927,52 @@ L_0885F93C: ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0885F9B0: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_fpr_13 = std::bit_cast(0u); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(48), std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(52), std::bit_cast(aot_fpr_13)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), aot_gpr_31); aot_gpr_31 = (0x0885F9CCu); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(56), std::bit_cast(aot_fpr_13)); goto L_0885F854; L_0885F9CC: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0885F9D8: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_fpr_13 = std::bit_cast(0u); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(48), std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(52), std::bit_cast(aot_fpr_13)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), aot_gpr_31); aot_gpr_31 = (0x0885F9F4u); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(56), std::bit_cast(aot_fpr_13)); goto L_0885F8C8; L_0885F9F4: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0885FA00: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_fpr_13 = std::bit_cast(0u); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(48), std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(52), std::bit_cast(aot_fpr_13)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), aot_gpr_31); aot_gpr_31 = (0x0885FA1Cu); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(56), std::bit_cast(aot_fpr_13)); goto L_0885F93C; L_0885FA1C: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; diff --git a/profiles/vcs/generated/generated_unit_0023.cpp b/profiles/vcs/generated/generated_unit_0023.cpp index 3415d36..7d95fdc 100644 --- a/profiles/vcs/generated/generated_unit_0023.cpp +++ b/profiles/vcs/generated/generated_unit_0023.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0023[4095] = { }; void recomp_unit_0023_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,6,29,17,31 fprs=12,13,14,17 gpr_occ=3814 fpr_occ=393 gpr_total=5375 fpr_total=777 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,6,29,31,17 fprs=12,13,14,17 gpr_occ=3882 fpr_occ=393 gpr_total=5502 fpr_total=777 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_6 = ctx.gpr[6]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; - std::uint32_t aot_gpr_17 = ctx.gpr[17]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; + std::uint32_t aot_gpr_17 = ctx.gpr[17]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_14 = ctx.fpr[14]; float aot_fpr_17 = ctx.fpr[17]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[6] = aot_gpr_6; ctx.gpr[29] = aot_gpr_29; ctx.gpr[17] = aot_gpr_17; ctx.gpr[31] = aot_gpr_31; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[17] = aot_fpr_17; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_17 = ctx.gpr[17]; aot_gpr_31 = ctx.gpr[31]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_17 = ctx.fpr[17]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[6] = aot_gpr_6; ctx.gpr[29] = aot_gpr_29; ctx.gpr[31] = aot_gpr_31; ctx.gpr[17] = aot_gpr_17; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[17] = aot_fpr_17; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_17 = ctx.gpr[17]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_17 = ctx.fpr[17]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -1974,7 +1975,7 @@ L_08860658: ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(-2436))); aot_gpr_31 = (0x08860680u); ctx.gpr[21] = (aot_gpr_6 + aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08860680u) goto L_08860680; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08860680u) goto L_08860680; AOT_REGCACHE_SYNC_OUT(); return; L_08860680: ctx.gpr[7] = (static_cast(static_cast(ctx.gpr[20]) >> 31u)); @@ -1982,7 +1983,7 @@ L_08860680: aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08860694u); aot_gpr_6 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08860694u) goto L_08860694; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08860694u) goto L_08860694; AOT_REGCACHE_SYNC_OUT(); return; L_08860694: ctx.gpr[1] = (ctx.gpr[3] << 1u); @@ -2262,7 +2263,7 @@ L_08860868: ctx.gpr[21] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(-2444))); aot_gpr_31 = (0x08860890u); ctx.gpr[20] = (ctx.gpr[20] + aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08860890u) goto L_08860890; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08860890u) goto L_08860890; AOT_REGCACHE_SYNC_OUT(); return; L_08860890: ctx.gpr[7] = (static_cast(static_cast(ctx.gpr[21]) >> 31u)); @@ -2270,7 +2271,7 @@ L_08860890: aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x088608A4u); aot_gpr_6 = (ctx.gpr[21] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088608A4u) goto L_088608A4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088608A4u) goto L_088608A4; AOT_REGCACHE_SYNC_OUT(); return; L_088608A4: ctx.gpr[1] = (ctx.gpr[3] << 1u); @@ -2292,7 +2293,7 @@ L_088608A4: L_088608D0: aot_gpr_31 = (0x088608D8u); aot_gpr_4 = (ctx.gpr[16] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088608D8u) goto L_088608D8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088608D8u) goto L_088608D8; AOT_REGCACHE_SYNC_OUT(); return; L_088608D8: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -2683,7 +2684,7 @@ L_08860B98: L_08860BA8: aot_gpr_31 = (0x08860BB0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08860BB0u) goto L_08860BB0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08860BB0u) goto L_08860BB0; AOT_REGCACHE_SYNC_OUT(); return; L_08860BB0: ctx.gpr[21] = (ctx.gpr[21] + static_cast(4)); @@ -2710,7 +2711,7 @@ L_08860BC0: L_08860BC8: aot_gpr_31 = (0x08860BD0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08860BD0u) goto L_08860BD0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08860BD0u) goto L_08860BD0; AOT_REGCACHE_SYNC_OUT(); return; L_08860BD0: aot_gpr_4 = (aot_gpr_17 << 2u); @@ -3389,7 +3390,7 @@ L_08861478: L_08861488: aot_gpr_31 = (0x08861490u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08861490u) goto L_08861490; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08861490u) goto L_08861490; AOT_REGCACHE_SYNC_OUT(); return; L_08861490: ctx.gpr[2] = (0u | 1u); @@ -7805,7 +7806,7 @@ L_08863404: aot_gpr_4 = (2236u << 16u); aot_gpr_31 = (0x08863410u); aot_gpr_4 = (aot_gpr_4 + static_cast(31984)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08863410u) goto L_08863410; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08863410u) goto L_08863410; AOT_REGCACHE_SYNC_OUT(); return; L_08863410: aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7972), 0u); @@ -8055,7 +8056,7 @@ L_088635F4: L_088635FC: aot_gpr_31 = (0x08863604u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(0))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08863604u) goto L_08863604; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08863604u) goto L_08863604; AOT_REGCACHE_SYNC_OUT(); return; L_08863604: ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(96))); @@ -8079,7 +8080,7 @@ L_08863624: L_0886362C: aot_gpr_31 = (0x08863634u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(0))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08863634u) goto L_08863634; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08863634u) goto L_08863634; AOT_REGCACHE_SYNC_OUT(); return; L_08863634: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(100))); @@ -8093,7 +8094,7 @@ L_08863634: L_08863640: aot_gpr_31 = (0x08863648u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(0))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08863648u) goto L_08863648; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08863648u) goto L_08863648; AOT_REGCACHE_SYNC_OUT(); return; L_08863648: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(100))); @@ -8274,7 +8275,7 @@ L_08863790: aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x0886379Cu); aot_gpr_6 = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886379Cu) goto L_0886379C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886379Cu) goto L_0886379C; AOT_REGCACHE_SYNC_OUT(); return; L_0886379C: ctx.gpr[19] = (ctx.gpr[19] + static_cast(4)); @@ -8523,7 +8524,7 @@ L_088639A8: L_088639B4: aot_gpr_31 = (0x088639BCu); aot_gpr_4 = (ctx.gpr[23] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088639BCu) goto L_088639BC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088639BCu) goto L_088639BC; AOT_REGCACHE_SYNC_OUT(); return; L_088639BC: { const bool branch_taken = ctx.gpr[2] != 0u; @@ -8623,7 +8624,7 @@ L_08863A44: ctx.gpr[30] = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08863A50u); aot_gpr_4 = (ctx.gpr[30] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08863A50u) goto L_08863A50; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08863A50u) goto L_08863A50; AOT_REGCACHE_SYNC_OUT(); return; L_08863A50: { const bool branch_taken = ctx.gpr[2] != 0u; @@ -8701,7 +8702,7 @@ L_08863AAC: L_08863AB4: aot_gpr_31 = (0x08863ABCu); aot_gpr_4 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08863ABCu) goto L_08863ABC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08863ABCu) goto L_08863ABC; AOT_REGCACHE_SYNC_OUT(); return; L_08863ABC: { const bool branch_taken = ctx.gpr[2] != 0u; @@ -8824,7 +8825,7 @@ L_08863B80: L_08863B90: aot_gpr_31 = (0x08863B98u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08863B98u) goto L_08863B98; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08863B98u) goto L_08863B98; AOT_REGCACHE_SYNC_OUT(); return; L_08863B98: { const bool branch_taken = ctx.gpr[2] != 0u; @@ -8925,7 +8926,7 @@ L_08863C24: aot_gpr_17 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08863C30u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08863C30u) goto L_08863C30; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08863C30u) goto L_08863C30; AOT_REGCACHE_SYNC_OUT(); return; L_08863C30: { const bool branch_taken = ctx.gpr[2] != 0u; diff --git a/profiles/vcs/generated/generated_unit_0024.cpp b/profiles/vcs/generated/generated_unit_0024.cpp index 0aba3b3..efff484 100644 --- a/profiles/vcs/generated/generated_unit_0024.cpp +++ b/profiles/vcs/generated/generated_unit_0024.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,7 +139,7 @@ static const std::uint16_t kEntryIds_recomp_unit_0024[4093] = { }; void recomp_unit_0024_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,6,31,16 fprs=12,13,14,20 gpr_occ=2952 fpr_occ=628 gpr_total=4483 fpr_total=1108 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,6,31,16 fprs=12,13,14,20 gpr_occ=2971 fpr_occ=628 gpr_total=4508 fpr_total=1108 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; @@ -1252,7 +1253,7 @@ L_088640F4: L_088640FC: aot_gpr_31 = (0x08864104u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08864104u) goto L_08864104; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08864104u) goto L_08864104; AOT_REGCACHE_SYNC_OUT(); return; L_08864104: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -1301,7 +1302,7 @@ L_08864150: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0886415Cu); aot_gpr_5 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886415Cu) goto L_0886415C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886415Cu) goto L_0886415C; AOT_REGCACHE_SYNC_OUT(); return; L_0886415C: { std::uint32_t aot_run_words[6]{}; @@ -3582,7 +3583,7 @@ L_08865348: L_08865350: aot_gpr_31 = (0x08865358u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08865358u) goto L_08865358; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B01E00, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08865358u) goto L_08865358; AOT_REGCACHE_SYNC_OUT(); return; L_08865358: { const bool branch_taken = ctx.gpr[2] == ctx.gpr[22]; @@ -3595,7 +3596,7 @@ L_08865358: L_08865360: aot_gpr_31 = (0x08865368u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08865368u) goto L_08865368; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B01E00, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08865368u) goto L_08865368; AOT_REGCACHE_SYNC_OUT(); return; L_08865368: { const bool branch_taken = ctx.gpr[2] == ctx.gpr[20]; @@ -3608,7 +3609,7 @@ L_08865368: L_08865370: aot_gpr_31 = (0x08865378u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08865378u) goto L_08865378; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B01E00, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08865378u) goto L_08865378; AOT_REGCACHE_SYNC_OUT(); return; L_08865378: { const bool branch_taken = ctx.gpr[2] == ctx.gpr[21]; diff --git a/profiles/vcs/generated/generated_unit_0025.cpp b/profiles/vcs/generated/generated_unit_0025.cpp index f1a487d..24fee3b 100644 --- a/profiles/vcs/generated/generated_unit_0025.cpp +++ b/profiles/vcs/generated/generated_unit_0025.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0025[4094] = { }; void recomp_unit_0025_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,16,31,17 fprs=12,13,20,14 gpr_occ=3704 fpr_occ=521 gpr_total=5325 fpr_total=742 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,16,31,6 fprs=12,13,20,14 gpr_occ=3718 fpr_occ=521 gpr_total=5433 fpr_total=742 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_16 = ctx.gpr[16]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; - std::uint32_t aot_gpr_17 = ctx.gpr[17]; + std::uint32_t aot_gpr_6 = ctx.gpr[6]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_20 = ctx.fpr[20]; float aot_fpr_14 = ctx.fpr[14]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[16] = aot_gpr_16; ctx.gpr[31] = aot_gpr_31; ctx.gpr[17] = aot_gpr_17; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; ctx.fpr[14] = aot_fpr_14; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_17 = ctx.gpr[17]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_14 = ctx.fpr[14]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[16] = aot_gpr_16; ctx.gpr[31] = aot_gpr_31; ctx.gpr[6] = aot_gpr_6; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; ctx.fpr[14] = aot_fpr_14; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_6 = ctx.gpr[6]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_14 = ctx.fpr[14]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -1060,7 +1061,7 @@ L_08868048: } L_08868054: aot_gpr_31 = (0x0886805Cu); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 195u, 0x08910B38u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886805Cu) goto L_0886805C; AOT_REGCACHE_SYNC_OUT(); return; L_0886805C: @@ -1084,7 +1085,7 @@ L_08868068: } L_08868070: aot_gpr_31 = (0x08868078u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 195u, 0x08910B38u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08868078u) goto L_08868078; AOT_REGCACHE_SYNC_OUT(); return; L_08868078: @@ -1154,9 +1155,9 @@ L_088680D0: L_088680D8: aot_gpr_4 = (ctx.gpr[23] + static_cast(518)); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0))); - ctx.gpr[6] = (static_cast(aot_gpr_5) < 9 ? 1u : 0u); + aot_gpr_6 = (static_cast(aot_gpr_5) < 9 ? 1u : 0u); aot_gpr_5 = (aot_gpr_5 + static_cast(-1)); - { const bool branch_taken = ctx.gpr[6] == 0u; + { const bool branch_taken = aot_gpr_6 == 0u; aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_5)); if (branch_taken) { goto L_08868104; @@ -1277,7 +1278,7 @@ L_088681B0: ctx.fpr[28] = std::bit_cast(aot_run_words[4]); ctx.fpr[30] = std::bit_cast(aot_run_words[5]); aot_gpr_16 = aot_run_words[6]; - aot_gpr_17 = aot_run_words[7]; + ctx.gpr[17] = aot_run_words[7]; ctx.gpr[18] = aot_run_words[8]; ctx.gpr[19] = aot_run_words[9]; ctx.gpr[20] = aot_run_words[10]; @@ -1295,14 +1296,14 @@ L_088681B0: AOT_REGCACHE_SYNC_OUT(); return; L_088681F8: aot_gpr_29 = (aot_gpr_29 + static_cast(-96)); - { const std::uint32_t aot_run_words[13]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; + { const std::uint32_t aot_run_words[13]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(40), aot_run_words); } ctx.gpr[7] = (static_cast(aot_gpr_5) < 406 ? 1u : 0u); ctx.gpr[30] = (2236u << 16u); aot_gpr_16 = (ctx.gpr[30] + static_cast(29704)); ctx.gpr[18] = (aot_gpr_29 + static_cast(16)); ctx.gpr[22] = (aot_gpr_4 | 0u); - aot_gpr_4 = (ctx.gpr[6] | 0u); + aot_gpr_4 = (aot_gpr_6 | 0u); { const bool branch_taken = ctx.gpr[7] != 0u; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), aot_gpr_5); if (branch_taken) { @@ -1342,7 +1343,7 @@ L_0886826C: L_08868274: aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_4 = (ctx.gpr[22] | 0u); - ctx.gpr[6] = (0u | 6u); + aot_gpr_6 = (0u | 6u); aot_gpr_31 = (0x08868288u); ctx.gpr[7] = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08868288u) goto L_08868288; @@ -1357,7 +1358,7 @@ L_08868288: } L_08868290: aot_gpr_4 = (ctx.gpr[22] | 0u); - ctx.gpr[6] = (0u | 5u); + aot_gpr_6 = (0u | 5u); aot_gpr_31 = (0x088682A0u); ctx.gpr[7] = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088682A0u) goto L_088682A0; @@ -1369,9 +1370,9 @@ L_088682A0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088682ACu) goto L_088682AC; AOT_REGCACHE_SYNC_OUT(); return; L_088682AC: - aot_gpr_17 = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x088682B8u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 195u, 0x08910B38u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088682B8u) goto L_088682B8; AOT_REGCACHE_SYNC_OUT(); return; L_088682B8: @@ -1383,7 +1384,7 @@ L_088682B8: goto L_088682C0; } L_088682C0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1152))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1152))); aot_gpr_4 = (aot_gpr_4 + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; @@ -1406,7 +1407,7 @@ L_088682C0: goto L_088682D8; } L_088682D8: - aot_gpr_4 = (aot_gpr_17 + static_cast(48)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -1456,9 +1457,9 @@ L_0886831C: ctx.gpr[21] = (ctx.gpr[2] | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[30] + static_cast(29704))); aot_gpr_5 = (ctx.gpr[21] + static_cast(260)); - ctx.gpr[6] = (aot_gpr_4 << 5u); + aot_gpr_6 = (aot_gpr_4 << 5u); aot_gpr_4 = (aot_gpr_4 << 2u); - aot_gpr_4 = (ctx.gpr[6] - aot_gpr_4); + aot_gpr_4 = (aot_gpr_6 - aot_gpr_4); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_4 = (static_cast(ctx.gpr[18]) < static_cast(ctx.gpr[20]) ? 1u : 0u); @@ -1483,12 +1484,12 @@ L_08868350: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[30] + static_cast(29704))); aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x08868360u); - ctx.gpr[6] = (ctx.gpr[18] | 0u); + aot_gpr_6 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0005_entry, 5u, 96u, 0x08818B00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08868360u) goto L_08868360; AOT_REGCACHE_SYNC_OUT(); return; L_08868360: - aot_gpr_17 = (ctx.gpr[2] | 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(72))); + ctx.gpr[17] = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 14u); aot_gpr_4 = (aot_gpr_4 ^ 6u); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); @@ -1502,7 +1503,7 @@ L_08868360: } L_08868380: aot_gpr_31 = (0x08868388u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 195u, 0x08910B38u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08868388u) goto L_08868388; AOT_REGCACHE_SYNC_OUT(); return; L_08868388: @@ -1514,7 +1515,7 @@ L_08868388: goto L_08868390; } L_08868390: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1152))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1152))); aot_gpr_4 = (aot_gpr_4 + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; @@ -1537,7 +1538,7 @@ L_08868390: goto L_088683A8; } L_088683A8: - aot_gpr_4 = (aot_gpr_17 + static_cast(48)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -1780,7 +1781,7 @@ L_08868534: } L_0886853C: aot_gpr_31 = (0x08868544u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 195u, 0x08910B38u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08868544u) goto L_08868544; AOT_REGCACHE_SYNC_OUT(); return; L_08868544: @@ -1804,7 +1805,7 @@ L_08868550: } L_08868558: aot_gpr_31 = (0x08868560u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 195u, 0x08910B38u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08868560u) goto L_08868560; AOT_REGCACHE_SYNC_OUT(); return; L_08868560: @@ -1873,9 +1874,9 @@ L_088685B4: L_088685BC: aot_gpr_4 = (ctx.gpr[22] + static_cast(518)); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0))); - ctx.gpr[6] = (static_cast(aot_gpr_5) < 9 ? 1u : 0u); + aot_gpr_6 = (static_cast(aot_gpr_5) < 9 ? 1u : 0u); aot_gpr_5 = (aot_gpr_5 + static_cast(-1)); - { const bool branch_taken = ctx.gpr[6] == 0u; + { const bool branch_taken = aot_gpr_6 == 0u; aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_5)); if (branch_taken) { goto L_088685E8; @@ -1994,7 +1995,7 @@ L_08868698: ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); aot_gpr_16 = aot_run_words[3]; - aot_gpr_17 = aot_run_words[4]; + ctx.gpr[17] = aot_run_words[4]; ctx.gpr[18] = aot_run_words[5]; ctx.gpr[19] = aot_run_words[6]; ctx.gpr[20] = aot_run_words[7]; @@ -2012,13 +2013,13 @@ L_08868698: AOT_REGCACHE_SYNC_OUT(); return; L_088686D4: aot_gpr_29 = (aot_gpr_29 + static_cast(-96)); - { const std::uint32_t aot_run_words[13]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; + { const std::uint32_t aot_run_words[13]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(40), aot_run_words); } ctx.gpr[7] = (static_cast(aot_gpr_5) < 409 ? 1u : 0u); ctx.gpr[30] = (2236u << 16u); aot_gpr_16 = (ctx.gpr[30] + static_cast(29704)); ctx.gpr[22] = (aot_gpr_4 | 0u); - aot_gpr_4 = (ctx.gpr[6] | 0u); + aot_gpr_4 = (aot_gpr_6 | 0u); { const bool branch_taken = ctx.gpr[7] != 0u; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), aot_gpr_5); if (branch_taken) { @@ -2058,7 +2059,7 @@ L_08868744: L_0886874C: aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_4 = (ctx.gpr[22] | 0u); - ctx.gpr[6] = (0u | 6u); + aot_gpr_6 = (0u | 6u); aot_gpr_31 = (0x08868760u); ctx.gpr[7] = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08868760u) goto L_08868760; @@ -2073,7 +2074,7 @@ L_08868760: } L_08868768: aot_gpr_4 = (ctx.gpr[22] | 0u); - ctx.gpr[6] = (0u | 5u); + aot_gpr_6 = (0u | 5u); aot_gpr_31 = (0x08868778u); ctx.gpr[7] = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08868778u) goto L_08868778; @@ -2134,9 +2135,9 @@ L_088687CC: ctx.gpr[21] = (ctx.gpr[2] | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[30] + static_cast(29704))); aot_gpr_5 = (ctx.gpr[21] + static_cast(260)); - ctx.gpr[6] = (aot_gpr_4 << 5u); + aot_gpr_6 = (aot_gpr_4 << 5u); aot_gpr_4 = (aot_gpr_4 << 2u); - aot_gpr_4 = (ctx.gpr[6] - aot_gpr_4); + aot_gpr_4 = (aot_gpr_6 - aot_gpr_4); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_4 = (static_cast(ctx.gpr[18]) < static_cast(ctx.gpr[20]) ? 1u : 0u); @@ -2161,12 +2162,12 @@ L_08868800: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[30] + static_cast(29704))); aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x08868810u); - ctx.gpr[6] = (ctx.gpr[18] | 0u); + aot_gpr_6 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0005_entry, 5u, 96u, 0x08818B00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08868810u) goto L_08868810; AOT_REGCACHE_SYNC_OUT(); return; L_08868810: - aot_gpr_17 = (ctx.gpr[2] | 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(72))); + ctx.gpr[17] = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 14u); aot_gpr_4 = (aot_gpr_4 ^ 6u); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); @@ -2180,7 +2181,7 @@ L_08868810: } L_08868830: aot_gpr_31 = (0x08868838u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 195u, 0x08910B38u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08868838u) goto L_08868838; AOT_REGCACHE_SYNC_OUT(); return; L_08868838: @@ -2192,7 +2193,7 @@ L_08868838: goto L_08868840; } L_08868840: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1152))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1152))); aot_gpr_4 = (aot_gpr_4 + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; @@ -2215,7 +2216,7 @@ L_08868840: goto L_08868858; } L_08868858: - aot_gpr_4 = (aot_gpr_17 + static_cast(48)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -2458,7 +2459,7 @@ L_088689E4: } L_088689EC: aot_gpr_31 = (0x088689F4u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 195u, 0x08910B38u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088689F4u) goto L_088689F4; AOT_REGCACHE_SYNC_OUT(); return; L_088689F4: @@ -2482,7 +2483,7 @@ L_08868A00: } L_08868A08: aot_gpr_31 = (0x08868A10u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 195u, 0x08910B38u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08868A10u) goto L_08868A10; AOT_REGCACHE_SYNC_OUT(); return; L_08868A10: @@ -2553,9 +2554,9 @@ L_08868A6C: L_08868A74: aot_gpr_4 = (ctx.gpr[22] + static_cast(518)); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0))); - ctx.gpr[6] = (static_cast(aot_gpr_5) < 9 ? 1u : 0u); + aot_gpr_6 = (static_cast(aot_gpr_5) < 9 ? 1u : 0u); aot_gpr_5 = (aot_gpr_5 + static_cast(-1)); - { const bool branch_taken = ctx.gpr[6] == 0u; + { const bool branch_taken = aot_gpr_6 == 0u; aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_5)); if (branch_taken) { goto L_08868AA0; @@ -2674,7 +2675,7 @@ L_08868B50: ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); aot_gpr_16 = aot_run_words[3]; - aot_gpr_17 = aot_run_words[4]; + ctx.gpr[17] = aot_run_words[4]; ctx.gpr[18] = aot_run_words[5]; ctx.gpr[19] = aot_run_words[6]; ctx.gpr[20] = aot_run_words[7]; @@ -2692,7 +2693,7 @@ L_08868B50: AOT_REGCACHE_SYNC_OUT(); return; L_08868B8C: aot_gpr_29 = (aot_gpr_29 + static_cast(-96)); - { const std::uint32_t aot_run_words[16]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; + { const std::uint32_t aot_run_words[16]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(28), aot_run_words); } ctx.gpr[23] = (0u | 0u); ctx.gpr[20] = (aot_gpr_5 + static_cast(-412)); @@ -2701,7 +2702,7 @@ L_08868B8C: aot_gpr_16 = (aot_gpr_16 + static_cast(29704)); ctx.gpr[21] = (aot_gpr_4 | 0u); { const bool branch_taken = ctx.gpr[22] == 0u; - aot_gpr_4 = (ctx.gpr[6] | 0u); + aot_gpr_4 = (aot_gpr_6 | 0u); if (branch_taken) { goto L_08868C14; } @@ -2719,7 +2720,7 @@ L_08868BF0: ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08868C08: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { @@ -2728,10 +2729,10 @@ L_08868C08: goto L_08868C14; } L_08868C14: - aot_gpr_17 = (0u | 1u); + ctx.gpr[17] = (0u | 1u); goto L_08868C18; L_08868C18: - { const bool branch_taken = aot_gpr_17 == 0u; + { const bool branch_taken = ctx.gpr[17] == 0u; aot_gpr_5 = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08868C40; @@ -2741,14 +2742,14 @@ L_08868C18: L_08868C20: aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_4 = (ctx.gpr[21] | 0u); - ctx.gpr[6] = (0u | 8u); + aot_gpr_6 = (0u | 8u); aot_gpr_31 = (0x08868C34u); ctx.gpr[7] = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08868C34u) goto L_08868C34; AOT_REGCACHE_SYNC_OUT(); return; L_08868C34: { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(20), static_cast(aot_gpr_17)); + aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(20), static_cast(ctx.gpr[17])); if (branch_taken) { goto L_08868C54; } @@ -2759,20 +2760,20 @@ L_08868C3C: goto L_08868C40; L_08868C40: aot_gpr_4 = (ctx.gpr[21] | 0u); - ctx.gpr[6] = (0u | 6u); + aot_gpr_6 = (0u | 6u); aot_gpr_31 = (0x08868C50u); ctx.gpr[7] = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08868C50u) goto L_08868C50; AOT_REGCACHE_SYNC_OUT(); return; L_08868C50: - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(20), static_cast(aot_gpr_17)); + aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(20), static_cast(ctx.gpr[17])); goto L_08868C54; L_08868C54: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); aot_fpr_20 = std::bit_cast(std::bit_cast(aot_fpr_12)); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); ctx.fpr[22] = std::bit_cast(std::bit_cast(aot_fpr_13)); - { const bool branch_taken = aot_gpr_17 == 0u; + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_08868CA4; @@ -2859,9 +2860,9 @@ L_08868CF4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(29704))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[2]); aot_gpr_5 = (ctx.gpr[2] + static_cast(260)); - ctx.gpr[6] = (aot_gpr_4 << 5u); + aot_gpr_6 = (aot_gpr_4 << 5u); aot_gpr_4 = (aot_gpr_4 << 2u); - aot_gpr_4 = (ctx.gpr[6] - aot_gpr_4); + aot_gpr_4 = (aot_gpr_6 - aot_gpr_4); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); ctx.gpr[30] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_4 = (static_cast(ctx.gpr[18]) < static_cast(ctx.gpr[30]) ? 1u : 0u); @@ -2887,12 +2888,12 @@ L_08868D2C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(29704))); aot_gpr_31 = (0x08868D40u); - ctx.gpr[6] = (ctx.gpr[18] | 0u); + aot_gpr_6 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0005_entry, 5u, 96u, 0x08818B00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08868D40u) goto L_08868D40; AOT_REGCACHE_SYNC_OUT(); return; L_08868D40: - aot_gpr_17 = (ctx.gpr[2] | 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(72))); + ctx.gpr[17] = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 14u); aot_gpr_4 = (aot_gpr_4 ^ 6u); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); @@ -2906,7 +2907,7 @@ L_08868D40: } L_08868D60: aot_gpr_31 = (0x08868D68u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 195u, 0x08910B38u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08868D68u) goto L_08868D68; AOT_REGCACHE_SYNC_OUT(); return; L_08868D68: @@ -2918,7 +2919,7 @@ L_08868D68: goto L_08868D70; } L_08868D70: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1152))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1152))); aot_gpr_4 = (aot_gpr_4 + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; @@ -2941,7 +2942,7 @@ L_08868D70: goto L_08868D88; } L_08868D88: - aot_gpr_4 = (aot_gpr_17 + static_cast(48)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -2984,7 +2985,7 @@ L_08868DB4: goto L_08868DBC; } L_08868DBC: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08868DC8u); aot_gpr_5 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 745u, 0x08863CB4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08868DC8u) goto L_08868DC8; @@ -3202,7 +3203,7 @@ L_08868F04: } L_08868F10: aot_gpr_31 = (0x08868F18u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 195u, 0x08910B38u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08868F18u) goto L_08868F18; AOT_REGCACHE_SYNC_OUT(); return; L_08868F18: @@ -3226,7 +3227,7 @@ L_08868F24: } L_08868F2C: aot_gpr_31 = (0x08868F34u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 195u, 0x08910B38u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08868F34u) goto L_08868F34; AOT_REGCACHE_SYNC_OUT(); return; L_08868F34: @@ -3297,9 +3298,9 @@ L_08868F90: L_08868F98: aot_gpr_4 = (ctx.gpr[21] + static_cast(518)); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0))); - ctx.gpr[6] = (static_cast(aot_gpr_5) < 9 ? 1u : 0u); + aot_gpr_6 = (static_cast(aot_gpr_5) < 9 ? 1u : 0u); aot_gpr_5 = (aot_gpr_5 + static_cast(-1)); - { const bool branch_taken = ctx.gpr[6] == 0u; + { const bool branch_taken = aot_gpr_6 == 0u; aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_5)); if (branch_taken) { goto L_08868FC4; @@ -3405,7 +3406,7 @@ L_08869064: ctx.fpr[28] = std::bit_cast(aot_run_words[4]); ctx.fpr[30] = std::bit_cast(aot_run_words[5]); aot_gpr_16 = aot_run_words[6]; - aot_gpr_17 = aot_run_words[7]; + ctx.gpr[17] = aot_run_words[7]; ctx.gpr[18] = aot_run_words[8]; ctx.gpr[19] = aot_run_words[9]; ctx.gpr[20] = aot_run_words[10]; @@ -3423,7 +3424,7 @@ L_08869064: AOT_REGCACHE_SYNC_OUT(); return; L_088690AC: aot_gpr_29 = (aot_gpr_29 + static_cast(-112)); - { const std::uint32_t aot_run_words[15]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; + { const std::uint32_t aot_run_words[15]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(48), aot_run_words); } aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_5 = (0u | 0u); @@ -3434,7 +3435,7 @@ L_088690AC: ctx.gpr[19] = (0u | 0u); aot_gpr_4 = (2238u << 16u); aot_gpr_16 = (aot_gpr_4 + static_cast(18712)); - aot_gpr_17 = (ctx.gpr[28] + static_cast(7960)); + ctx.gpr[17] = (ctx.gpr[28] + static_cast(7960)); aot_gpr_4 = (0u | 0u); aot_gpr_16 = (aot_gpr_4 + aot_gpr_16); ctx.gpr[21] = (0u + static_cast(-1)); @@ -3450,7 +3451,7 @@ L_0886912C: L_08869134: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08869140u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 415u, 0x088626F8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08869140u) goto L_08869140; AOT_REGCACHE_SYNC_OUT(); return; L_08869140: @@ -3497,7 +3498,7 @@ L_08869180: aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7980), ctx.gpr[21]); ctx.gpr[8] = (0u | 0u); aot_gpr_4 = (0u | 0u); - ctx.gpr[6] = (ctx.gpr[18] | 0u); + aot_gpr_6 = (ctx.gpr[18] | 0u); goto L_088691A8; L_088691A8: ctx.gpr[7] = (0u | 0u); @@ -3515,12 +3516,12 @@ L_088691B0: goto L_088691C4; } L_088691C4: - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(24), 0u); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(24), 0u); ctx.gpr[8] = (ctx.gpr[8] + static_cast(1)); aot_gpr_4 = (aot_gpr_4 + static_cast(28)); aot_gpr_5 = (static_cast(ctx.gpr[8]) < 305 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 != 0u; - ctx.gpr[6] = (ctx.gpr[6] + static_cast(28)); + aot_gpr_6 = (aot_gpr_6 + static_cast(28)); if (branch_taken) { goto L_088691A8; } @@ -3779,8 +3780,8 @@ L_08869340: } L_08869348: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-29148))); - aot_gpr_17 = (2236u << 16u); - aot_gpr_17 = (aot_gpr_17 + static_cast(31984)); + ctx.gpr[17] = (2236u << 16u); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(31984)); ctx.gpr[18] = (2240u << 16u); ctx.gpr[18] = (ctx.gpr[18] + static_cast(-28496)); ctx.gpr[19] = (2239u << 16u); @@ -3788,11 +3789,11 @@ L_08869348: aot_fpr_20 = std::bit_cast(0u); aot_gpr_5 = (2239u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(32064)); - ctx.gpr[6] = (2240u << 16u); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(-30112)); + aot_gpr_6 = (2240u << 16u); + aot_gpr_6 = (aot_gpr_6 + static_cast(-30112)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_5); aot_gpr_5 = (2240u << 16u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), ctx.gpr[6]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), aot_gpr_6); aot_gpr_5 = (aot_gpr_5 + static_cast(-28704)); { const bool branch_taken = aot_gpr_4 == 0u; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), aot_gpr_5); @@ -3822,7 +3823,7 @@ L_088693AC: aot_gpr_5 = (ctx.gpr[28] + static_cast(8004)); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088693C0u); - ctx.gpr[6] = (0u | 4u); + aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 361u, 0x088713D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088693C0u) goto L_088693C0; AOT_REGCACHE_SYNC_OUT(); return; L_088693C0: @@ -3830,11 +3831,11 @@ L_088693C0: aot_gpr_5 = (ctx.gpr[28] + static_cast(8008)); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088693D4u); - ctx.gpr[6] = (0u | 4u); + aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 361u, 0x088713D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088693D4u) goto L_088693D4; AOT_REGCACHE_SYNC_OUT(); return; L_088693D4: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(300))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(300))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -3844,7 +3845,7 @@ L_088693D4: } L_088693E0: aot_gpr_31 = (0x088693E8u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0030_entry, 30u, 659u, 0x0887F14Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088693E8u) goto L_088693E8; AOT_REGCACHE_SYNC_OUT(); return; L_088693E8: @@ -3882,7 +3883,7 @@ L_08869410: aot_gpr_4 = (ctx.gpr[28] + static_cast(-29060)); ctx.gpr[7] = (ctx.gpr[7] + static_cast(4)); aot_gpr_5 = (0u | 2u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); ctx.gpr[8] = (0u | 1u); aot_gpr_31 = (0x08869438u); ctx.gpr[9] = (0u | 0u); @@ -3893,7 +3894,7 @@ L_08869438: aot_gpr_5 = (aot_gpr_29 + static_cast(24)); aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x0886944Cu); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); ctx.pc = 0x08B7342Cu; AOT_REGCACHE_SYNC_OUT(); return; L_0886944C: @@ -3902,16 +3903,16 @@ L_0886944C: goto L_08869454; L_08869454: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-29148))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8004))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8004))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8008))); - ctx.gpr[6] = (ctx.gpr[6] + aot_gpr_5); + aot_gpr_6 = (aot_gpr_6 + aot_gpr_5); aot_gpr_31 = (0x0886946Cu); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886946Cu) goto L_0886946C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886946Cu) goto L_0886946C; AOT_REGCACHE_SYNC_OUT(); return; L_0886946C: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-29148))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8004))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8004))); aot_gpr_31 = (0x0886947Cu); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 361u, 0x088713D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886947Cu) goto L_0886947C; @@ -3967,11 +3968,11 @@ L_088694CC: aot_gpr_4 = (0u | 9u); { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_20)}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); goto L_088694FC; L_088694FC: aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(26), static_cast(0u)); - aot_mem.aot_direct_store16(ctx.gpr[19] + static_cast(24), static_cast(ctx.gpr[6])); + aot_mem.aot_direct_store16(ctx.gpr[19] + static_cast(24), static_cast(aot_gpr_6)); aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(16), 0u); { const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); std::uint32_t vfpu_words[4]{}; @@ -4015,20 +4016,20 @@ L_08869528: ctx.fpr[28] = std::bit_cast(aot_gpr_4); aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(28))); ctx.gpr[21] = (0u + static_cast(-33)); - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); ctx.gpr[18] = (aot_gpr_16 + static_cast(4)); - ctx.gpr[18] = (aot_gpr_17 + ctx.gpr[18]); + ctx.gpr[18] = (ctx.gpr[17] + ctx.gpr[18]); goto L_08869578; L_08869578: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(8), std::bit_cast(ctx.fpr[22])); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(12), std::bit_cast(ctx.fpr[24])); aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_5 = (0u | 225u); - ctx.gpr[6] = (0u | 225u); + aot_gpr_6 = (0u | 225u); ctx.gpr[7] = (0u | 225u); aot_gpr_31 = (0x08869598u); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08869598u) goto L_08869598; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08869598u) goto L_08869598; AOT_REGCACHE_SYNC_OUT(); return; L_08869598: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(0))); @@ -4060,11 +4061,11 @@ L_08869598: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(20), std::bit_cast(ctx.fpr[28])); aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_5 = (0u | 128u); - ctx.gpr[6] = (0u | 128u); + aot_gpr_6 = (0u | 128u); ctx.gpr[7] = (0u | 128u); aot_gpr_31 = (0x0886961Cu); ctx.gpr[8] = (0u | 128u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886961Cu) goto L_0886961C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886961Cu) goto L_0886961C; AOT_REGCACHE_SYNC_OUT(); return; L_0886961C: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(0))); @@ -4087,13 +4088,13 @@ L_0886961C: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(32), std::bit_cast(aot_fpr_20)); aot_gpr_4 = (0u | 0u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(28))); - aot_gpr_5 = (aot_gpr_17 + aot_gpr_5); + aot_gpr_5 = (ctx.gpr[17] + aot_gpr_5); goto L_08869670; L_08869670: aot_mem.aot_direct_store16(aot_gpr_5 + static_cast(38), static_cast(0u)); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); - ctx.gpr[6] = (static_cast(aot_gpr_4) < 64 ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] != 0u; + aot_gpr_6 = (static_cast(aot_gpr_4) < 64 ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 != 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(2)); if (branch_taken) { goto L_08869670; @@ -4102,7 +4103,7 @@ L_08869670: } L_08869684: ctx.gpr[19] = (ctx.gpr[19] + static_cast(1)); - aot_gpr_17 = (aot_gpr_17 + static_cast(168)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(168)); aot_gpr_16 = (aot_gpr_16 + static_cast(168)); aot_gpr_4 = (static_cast(ctx.gpr[19]) < 20 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; @@ -4118,9 +4119,9 @@ L_0886969C: ctx.gpr[19] = (0u | 0u); aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(32))); ctx.gpr[18] = (aot_gpr_29 + static_cast(20)); - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_4 = (aot_gpr_16 + static_cast(16)); - aot_gpr_17 = (aot_gpr_17 + aot_gpr_4); + ctx.gpr[17] = (ctx.gpr[17] + aot_gpr_4); ctx.gpr[20] = (0u + static_cast(-1)); ctx.gpr[21] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(40))); goto L_088696C4; @@ -4132,26 +4133,26 @@ L_088696C4: aot_mem.aot_direct_store32_block(aot_gpr_16 + static_cast(0), aot_run_words); } aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (0u | 255u); - ctx.gpr[6] = (0u | 255u); + aot_gpr_6 = (0u | 255u); ctx.gpr[7] = (0u | 255u); aot_gpr_31 = (0x088696F8u); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088696F8u) goto L_088696F8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088696F8u) goto L_088696F8; AOT_REGCACHE_SYNC_OUT(); return; L_088696F8: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(0))); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(0), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(0), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(1))); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(1), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(1), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(2))); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(2), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(2), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(3))); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(3), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(3), static_cast(aot_gpr_4)); ctx.gpr[19] = (ctx.gpr[19] + static_cast(1)); aot_gpr_16 = (aot_gpr_16 + static_cast(24)); aot_gpr_4 = (static_cast(ctx.gpr[19]) < 16 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(24)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(24)); if (branch_taken) { goto L_088696C4; } @@ -4171,10 +4172,10 @@ L_0886973C: aot_gpr_5 = (0u | 0u); aot_gpr_4 = (2240u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-29664)); - ctx.gpr[6] = (0u + static_cast(-1)); + aot_gpr_6 = (0u + static_cast(-1)); goto L_0886974C; L_0886974C: - { const std::uint32_t aot_run_words[3]{0u, ctx.gpr[6], ctx.gpr[6]}; + { const std::uint32_t aot_run_words[3]{0u, aot_gpr_6, aot_gpr_6}; aot_mem.aot_direct_store32_block(aot_gpr_4 + static_cast(0), aot_run_words); } aot_gpr_5 = (aot_gpr_5 + static_cast(1)); ctx.gpr[7] = (static_cast(aot_gpr_5) < 80 ? 1u : 0u); @@ -4192,8 +4193,8 @@ L_08869768: L_08869770: aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), 0u); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); - ctx.gpr[6] = (static_cast(aot_gpr_4) < 52 ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] != 0u; + aot_gpr_6 = (static_cast(aot_gpr_4) < 52 ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 != 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(4)); if (branch_taken) { goto L_08869770; @@ -4231,7 +4232,7 @@ L_088697A8: ctx.fpr[26] = std::bit_cast(aot_run_words[3]); ctx.fpr[28] = std::bit_cast(aot_run_words[4]); aot_gpr_16 = aot_run_words[5]; - aot_gpr_17 = aot_run_words[6]; + ctx.gpr[17] = aot_run_words[6]; ctx.gpr[18] = aot_run_words[7]; ctx.gpr[19] = aot_run_words[8]; ctx.gpr[20] = aot_run_words[9]; @@ -4249,7 +4250,7 @@ L_088697A8: AOT_REGCACHE_SYNC_OUT(); return; L_088697EC: aot_gpr_29 = (aot_gpr_29 + static_cast(-144)); - { const std::uint32_t aot_run_words[15]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; + { const std::uint32_t aot_run_words[15]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(76), aot_run_words); } aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-29148))); { const bool branch_taken = aot_gpr_4 == 0u; @@ -4345,8 +4346,8 @@ L_088698E4: goto L_088698F0; L_088698F0: ctx.gpr[18] = (0u | 0u); - aot_gpr_17 = (2239u << 16u); - aot_gpr_17 = (aot_gpr_17 + static_cast(32064)); + ctx.gpr[17] = (2239u << 16u); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(32064)); aot_gpr_4 = (16117u << 16u); aot_gpr_4 = (aot_gpr_4 | 49807u); aot_fpr_20 = std::bit_cast(aot_gpr_4); @@ -4361,7 +4362,7 @@ L_088698F0: ctx.fpr[24] = std::bit_cast(aot_gpr_4); aot_gpr_4 = (17440u << 16u); ctx.fpr[26] = std::bit_cast(aot_gpr_4); - ctx.gpr[21] = (aot_gpr_17 + static_cast(4)); + ctx.gpr[21] = (ctx.gpr[17] + static_cast(4)); ctx.gpr[20] = (0u + static_cast(-33)); goto L_0886993C; L_0886993C: @@ -4371,17 +4372,17 @@ L_0886993C: aot_gpr_16 = (aot_gpr_4 - aot_gpr_5); aot_gpr_4 = (aot_gpr_16 + aot_gpr_16); aot_gpr_16 = (aot_gpr_16 + aot_gpr_4); - ctx.gpr[18] = (aot_gpr_16 + aot_gpr_17); + ctx.gpr[18] = (aot_gpr_16 + ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(72), aot_gpr_16); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(8), std::bit_cast(aot_fpr_20)); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(12), std::bit_cast(ctx.fpr[22])); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (0u | 225u); - ctx.gpr[6] = (0u | 225u); + aot_gpr_6 = (0u | 225u); ctx.gpr[7] = (0u | 225u); aot_gpr_31 = (0x0886997Cu); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886997Cu) goto L_0886997C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886997Cu) goto L_0886997C; AOT_REGCACHE_SYNC_OUT(); return; L_0886997C: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(0))); @@ -4414,11 +4415,11 @@ L_0886997C: aot_gpr_16 = (aot_gpr_16 + ctx.gpr[21]); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (0u | 128u); - ctx.gpr[6] = (0u | 128u); + aot_gpr_6 = (0u | 128u); ctx.gpr[7] = (0u | 128u); aot_gpr_31 = (0x08869A04u); ctx.gpr[8] = (0u | 128u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08869A04u) goto L_08869A04; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08869A04u) goto L_08869A04; AOT_REGCACHE_SYNC_OUT(); return; L_08869A04: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(0))); @@ -4446,7 +4447,7 @@ L_08869A04: L_08869A58: aot_gpr_5 = (aot_gpr_4 + aot_gpr_4); aot_gpr_5 = (aot_gpr_16 + aot_gpr_5); - aot_gpr_5 = (aot_gpr_5 + aot_gpr_17); + aot_gpr_5 = (aot_gpr_5 + ctx.gpr[17]); aot_mem.aot_direct_store16(aot_gpr_5 + static_cast(38), static_cast(0u)); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); aot_gpr_4 = (aot_gpr_4 & 65535u); @@ -4474,7 +4475,7 @@ L_08869A90: aot_gpr_4 = (0u | 0u); aot_gpr_5 = (2240u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(-30112)); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7956))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7956))); goto L_08869AA4; L_08869AA4: ctx.gpr[7] = (aot_gpr_4 << 3u); @@ -4497,7 +4498,7 @@ L_08869AD0: aot_gpr_4 = (0u | 1u); aot_mem.aot_direct_store16(ctx.gpr[28] + static_cast(7990), static_cast(0u)); aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-29140), static_cast(aot_gpr_4)); - { const bool branch_taken = ctx.gpr[6] == 0u; + { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); if (branch_taken) { goto L_08869B2C; @@ -4505,20 +4506,20 @@ L_08869AD0: goto L_08869AE4; } L_08869AE4: - aot_gpr_17 = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(0))); - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(500))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(500))); aot_gpr_4 = (aot_gpr_4 + aot_gpr_16); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(500), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(504))); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(500), aot_gpr_4); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(504))); aot_gpr_4 = (aot_gpr_4 + aot_gpr_16); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(504), aot_gpr_4); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(504), aot_gpr_4); aot_gpr_31 = (0x08869B08u); - aot_gpr_4 = (ctx.gpr[6] | 0u); + aot_gpr_4 = (aot_gpr_6 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 375u, 0x088624A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08869B08u) goto L_08869B08; AOT_REGCACHE_SYNC_OUT(); return; L_08869B08: - ctx.gpr[6] = (aot_gpr_17 | 0u); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_6 = (ctx.gpr[17] | 0u); + { const bool branch_taken = aot_gpr_6 == 0u; // nop if (branch_taken) { goto L_08869B24; @@ -4526,7 +4527,7 @@ L_08869B08: goto L_08869B14; } L_08869B14: - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[6] + static_cast(520))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_6 + static_cast(520))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -4535,10 +4536,10 @@ L_08869B14: goto L_08869B20; } L_08869B20: - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); goto L_08869B24; L_08869B24: - { const bool branch_taken = ctx.gpr[6] != 0u; + { const bool branch_taken = aot_gpr_6 != 0u; // nop if (branch_taken) { goto L_08869AE4; @@ -4573,11 +4574,11 @@ L_08869B70: aot_fpr_20 = std::bit_cast(aot_gpr_5); aot_gpr_5 = (16320u << 16u); ctx.fpr[22] = std::bit_cast(aot_gpr_5); - aot_gpr_17 = (0u | 1u); + ctx.gpr[17] = (0u | 1u); goto L_08869B84; L_08869B84: aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(32))); - ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(33))); + aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(33))); ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(34))); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_4 + static_cast(8), aot_run_words); @@ -4596,7 +4597,7 @@ L_08869B84: ctx.gpr[8] = (0u | 255u); ctx.gpr[9] = (aot_gpr_16 | 0u); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); - { const std::uint32_t aot_run_words[3]{aot_gpr_17, 0u, 0u}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[17], 0u, 0u}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[28])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), 0u); @@ -4637,7 +4638,7 @@ L_08869C28: ctx.fpr[26] = std::bit_cast(aot_run_words[3]); ctx.fpr[28] = std::bit_cast(aot_run_words[4]); aot_gpr_16 = aot_run_words[5]; - aot_gpr_17 = aot_run_words[6]; + ctx.gpr[17] = aot_run_words[6]; ctx.gpr[18] = aot_run_words[7]; ctx.gpr[19] = aot_run_words[8]; ctx.gpr[20] = aot_run_words[9]; @@ -4655,25 +4656,25 @@ L_08869C28: AOT_REGCACHE_SYNC_OUT(); return; L_08869C6C: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - { const std::uint32_t aot_run_words[7]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_31}; + { const std::uint32_t aot_run_words[7]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(4), aot_run_words); } - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-29148))); - ctx.gpr[8] = (ctx.gpr[7] + ctx.gpr[6]); - ctx.gpr[6] = (aot_mem.aot_direct_load8(ctx.gpr[8] + static_cast(0))); + ctx.gpr[8] = (ctx.gpr[7] + aot_gpr_6); + aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[8] + static_cast(0))); ctx.gpr[8] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[8] + static_cast(1)))))); - ctx.gpr[6] = ((ctx.gpr[6] & ~0xFFFFFF00u) | ((ctx.gpr[8] & 0x00FFFFFFu) << 8u)); - ctx.gpr[6] = (0u | 2u); - ctx.gpr[6] = (ctx.gpr[7] + ctx.gpr[6]); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[6] + static_cast(0)))))); - ctx.gpr[6] = (0u | 3u); - ctx.gpr[6] = (ctx.gpr[7] + ctx.gpr[6]); - ctx.gpr[7] = (aot_mem.aot_direct_load_word_left(ctx.gpr[6] + static_cast(3), ctx.gpr[7])); - ctx.gpr[7] = (aot_mem.aot_direct_load_word_right(ctx.gpr[6] + static_cast(0), ctx.gpr[7])); + aot_gpr_6 = ((aot_gpr_6 & ~0xFFFFFF00u) | ((ctx.gpr[8] & 0x00FFFFFFu) << 8u)); + aot_gpr_6 = (0u | 2u); + aot_gpr_6 = (ctx.gpr[7] + aot_gpr_6); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_6 + static_cast(0)))))); + aot_gpr_6 = (0u | 3u); + aot_gpr_6 = (ctx.gpr[7] + aot_gpr_6); + ctx.gpr[7] = (aot_mem.aot_direct_load_word_left(aot_gpr_6 + static_cast(3), ctx.gpr[7])); + ctx.gpr[7] = (aot_mem.aot_direct_load_word_right(aot_gpr_6 + static_cast(0), ctx.gpr[7])); ctx.gpr[8] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7956))); aot_gpr_16 = (0u | 0u); - ctx.gpr[6] = (2240u << 16u); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(-29664)); + aot_gpr_6 = (2240u << 16u); + aot_gpr_6 = (aot_gpr_6 + static_cast(-29664)); ctx.gpr[18] = (2240u << 16u); { const bool branch_taken = ctx.gpr[8] == 0u; ctx.gpr[18] = (ctx.gpr[18] + static_cast(-28704)); @@ -4717,9 +4718,9 @@ L_08869CEC: aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(0u)); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_5); - aot_gpr_17 = (aot_gpr_4 + static_cast(4)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), ctx.gpr[7]); - aot_gpr_17 = (aot_gpr_17 + static_cast(4)); + ctx.gpr[17] = (aot_gpr_4 + static_cast(4)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), ctx.gpr[7]); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(4)); aot_gpr_4 = (0u | 0u); aot_gpr_5 = (aot_gpr_4 < ctx.gpr[7] ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; @@ -4733,8 +4734,8 @@ L_08869D68: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-29148))); aot_gpr_5 = (aot_gpr_5 + aot_gpr_4); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0))); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(0), static_cast(aot_gpr_5)); - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(0), static_cast(aot_gpr_5)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); aot_gpr_5 = (aot_gpr_4 < ctx.gpr[7] ? 1u : 0u); { const bool branch_taken = aot_gpr_5 != 0u; @@ -4745,16 +4746,16 @@ L_08869D68: goto L_08869D8C; } L_08869D8C: - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), ctx.gpr[20]); - aot_gpr_4 = (aot_gpr_17 + static_cast(4)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), ctx.gpr[20]); + aot_gpr_4 = (ctx.gpr[17] + static_cast(4)); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7968))); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_5); - aot_gpr_17 = (aot_gpr_4 + static_cast(4)); + ctx.gpr[17] = (aot_gpr_4 + static_cast(4)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7976))); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), aot_gpr_4); - aot_gpr_17 = (aot_gpr_17 + static_cast(4)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), aot_gpr_4); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(4)); ctx.gpr[21] = (0u | 0u); - ctx.gpr[20] = (ctx.gpr[6] | 0u); + ctx.gpr[20] = (aot_gpr_6 | 0u); goto L_08869DB4; L_08869DB4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(0))); @@ -4769,11 +4770,11 @@ L_08869DC0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(92))); aot_gpr_5 = (aot_gpr_5 + static_cast(184)); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); jump_target = aot_gpr_5; aot_gpr_31 = (0x08869DDCu); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08869DDCu) goto L_08869DDC; AOT_REGCACHE_SYNC_OUT(); return; @@ -4823,16 +4824,16 @@ L_08869E18: aot_gpr_4 = (0u | 0u); goto L_08869E20; L_08869E20: - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), ctx.gpr[19]); - aot_gpr_5 = (aot_gpr_17 + static_cast(4)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), ctx.gpr[19]); + aot_gpr_5 = (ctx.gpr[17] + static_cast(4)); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_4); aot_gpr_4 = (aot_gpr_5 + static_cast(4)); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_5); - aot_gpr_17 = (aot_gpr_4 + static_cast(4)); + ctx.gpr[17] = (aot_gpr_4 + static_cast(4)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(8))); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), aot_gpr_4); - aot_gpr_17 = (aot_gpr_17 + static_cast(4)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), aot_gpr_4); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(4)); ctx.gpr[21] = (ctx.gpr[21] + static_cast(1)); aot_gpr_4 = (ctx.gpr[21] < static_cast(80) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; @@ -4873,11 +4874,11 @@ L_08869E8C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(92))); aot_gpr_5 = (aot_gpr_5 + static_cast(184)); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); jump_target = aot_gpr_5; aot_gpr_31 = (0x08869EA8u); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08869EA8u) goto L_08869EA8; AOT_REGCACHE_SYNC_OUT(); return; @@ -4982,10 +4983,10 @@ L_08869F50: aot_gpr_4 = (0u | 0u); goto L_08869F58; L_08869F58: - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), ctx.gpr[19]); - aot_gpr_17 = (aot_gpr_17 + static_cast(4)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), aot_gpr_4); - aot_gpr_17 = (aot_gpr_17 + static_cast(4)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), ctx.gpr[19]); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(4)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), aot_gpr_4); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(4)); ctx.gpr[18] = (ctx.gpr[18] + static_cast(1)); aot_gpr_5 = (ctx.gpr[18] < static_cast(52) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 != 0u; @@ -4997,8 +4998,8 @@ L_08869F58: } L_08869F78: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(8000))); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(0), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_gpr_17 + static_cast(1)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(0), static_cast(aot_gpr_4)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(1)); aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(8001))); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_5)); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); @@ -5015,9 +5016,9 @@ L_08869F78: aot_gpr_4 = (aot_gpr_4 + static_cast(2)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[28] + static_cast(8022)))))); aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_5)); - aot_gpr_17 = (aot_gpr_4 + static_cast(2)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), aot_gpr_16); - aot_gpr_17 = (aot_gpr_17 + static_cast(4)); + ctx.gpr[17] = (aot_gpr_4 + static_cast(2)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), aot_gpr_16); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(4)); aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7956))); { const bool branch_taken = aot_gpr_16 == 0u; // nop @@ -5032,8 +5033,8 @@ L_08869FDC: L_08869FE0: aot_gpr_5 = (aot_gpr_16 + aot_gpr_4); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0))); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(0), static_cast(aot_gpr_5)); - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(0), static_cast(aot_gpr_5)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); aot_gpr_5 = (aot_gpr_4 < static_cast(536) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 != 0u; @@ -5056,7 +5057,7 @@ L_0886A00C: { std::uint32_t aot_run_words[7]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(4), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -5071,18 +5072,18 @@ L_0886A00C: AOT_REGCACHE_SYNC_OUT(); return; L_0886A030: aot_gpr_29 = (aot_gpr_29 + static_cast(-288)); - { const std::uint32_t aot_run_words[10]{std::bit_cast(aot_fpr_20), aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], aot_gpr_31}; + { const std::uint32_t aot_run_words[10]{std::bit_cast(aot_fpr_20), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(240), aot_run_words); } aot_gpr_16 = (aot_gpr_5 | 0u); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); aot_gpr_5 = (aot_gpr_5 << 2u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); - aot_gpr_5 = (ctx.gpr[6] + aot_gpr_5); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); + aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(20))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(12))); aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(16), static_cast(0u)); - ctx.gpr[6] = (aot_gpr_29 + static_cast(16)); + aot_gpr_6 = (aot_gpr_29 + static_cast(16)); ctx.gpr[8] = (aot_gpr_29 + static_cast(20)); aot_gpr_5 = (0u | 0u); ctx.gpr[7] = (0u | 16u); @@ -5114,9 +5115,9 @@ L_0886A0B4: goto L_0886A0C4; } L_0886A0C4: - aot_gpr_17 = (ctx.gpr[19] << 2u); - aot_gpr_17 = (aot_gpr_29 + aot_gpr_17); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(20))); + ctx.gpr[17] = (ctx.gpr[19] << 2u); + ctx.gpr[17] = (aot_gpr_29 + ctx.gpr[17]); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(20))); { const bool branch_taken = aot_gpr_4 == aot_gpr_16; // nop if (branch_taken) { @@ -5149,7 +5150,7 @@ L_0886A0F4: goto L_0886A0FC; } L_0886A0FC: - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(20), 0u); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(20), 0u); goto L_0886A100; L_0886A100: ctx.gpr[19] = (ctx.gpr[19] + static_cast(1)); @@ -5164,8 +5165,8 @@ L_0886A100: goto L_0886A118; } L_0886A118: - aot_gpr_17 = (0u | 0u); - aot_gpr_5 = (static_cast(aot_gpr_17) < static_cast(aot_gpr_4) ? 1u : 0u); + ctx.gpr[17] = (0u | 0u); + aot_gpr_5 = (static_cast(ctx.gpr[17]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_5 = (16256u << 16u); if (branch_taken) { @@ -5181,7 +5182,7 @@ L_0886A128: ctx.gpr[21] = (aot_gpr_29 + static_cast(224)); goto L_0886A13C; L_0886A13C: - aot_gpr_5 = (aot_gpr_17 << 2u); + aot_gpr_5 = (ctx.gpr[17] << 2u); aot_gpr_5 = (aot_gpr_29 + aot_gpr_5); ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(20))); { const bool branch_taken = ctx.gpr[18] == aot_gpr_16; @@ -5201,7 +5202,7 @@ L_0886A150: } L_0886A158: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); ctx.gpr[8] = (static_cast(aot_gpr_4) < static_cast(aot_gpr_5) ? 1u : 0u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); @@ -5215,10 +5216,10 @@ L_0886A158: L_0886A174: aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); goto L_0886A180; L_0886A180: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(20))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(20))); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(53))); { const bool branch_taken = static_cast(aot_gpr_4) <= 0; // nop @@ -5231,13 +5232,13 @@ L_0886A190: aot_gpr_4 = (0u | 0u); goto L_0886A194; L_0886A194: - ctx.gpr[6] = (aot_gpr_4 << 2u); - ctx.gpr[6] = (aot_gpr_29 + ctx.gpr[6]); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(224), std::bit_cast(aot_fpr_20)); + aot_gpr_6 = (aot_gpr_4 << 2u); + aot_gpr_6 = (aot_gpr_29 + aot_gpr_6); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(224), std::bit_cast(aot_fpr_20)); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); aot_gpr_4 = (aot_gpr_4 & 65535u); - ctx.gpr[6] = (static_cast(aot_gpr_4) < 4 ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] != 0u; + aot_gpr_6 = (static_cast(aot_gpr_4) < 4 ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 != 0u; // nop if (branch_taken) { goto L_0886A194; @@ -5248,15 +5249,15 @@ L_0886A1B4: aot_gpr_4 = (ctx.gpr[7] << 2u); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(86)))))); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (ctx.gpr[6] | 0u); - ctx.gpr[6] = (ctx.gpr[18] | 0u); + aot_gpr_5 = (aot_gpr_6 | 0u); + aot_gpr_6 = (ctx.gpr[18] | 0u); ctx.gpr[8] = (ctx.gpr[19] | 0u); ctx.gpr[9] = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x0886A1F4u); @@ -5275,15 +5276,15 @@ L_0886A1FC: aot_gpr_4 = (ctx.gpr[7] << 2u); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(86)))))); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (ctx.gpr[6] | 0u); - ctx.gpr[6] = (ctx.gpr[18] | 0u); + aot_gpr_5 = (aot_gpr_6 | 0u); + aot_gpr_6 = (ctx.gpr[18] | 0u); ctx.gpr[8] = (ctx.gpr[19] | 0u); ctx.gpr[9] = (0u | 0u); aot_gpr_31 = (0x0886A23Cu); @@ -5428,7 +5429,7 @@ L_0886A304: aot_gpr_4 = (ctx.gpr[22] | 0u); aot_gpr_5 = (ctx.gpr[23] | 0u); aot_gpr_31 = (0x0886A314u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 664u, 0x08AFEF90u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886A314u) goto L_0886A314; AOT_REGCACHE_SYNC_OUT(); return; L_0886A314: @@ -5466,8 +5467,8 @@ L_0886A344: aot_gpr_5 = (aot_gpr_4 + static_cast(24)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); aot_gpr_4 = (ctx.gpr[18] + aot_gpr_4); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); - jump_target = ctx.gpr[6]; + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); + jump_target = aot_gpr_6; aot_gpr_31 = (0x0886A360u); aot_gpr_5 = (0u | 3u); ctx.pc = jump_target; @@ -5484,7 +5485,7 @@ L_0886A360: L_0886A368: aot_gpr_31 = (0x0886A370u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886A370u) goto L_0886A370; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886A370u) goto L_0886A370; AOT_REGCACHE_SYNC_OUT(); return; L_0886A370: { const bool branch_taken = ctx.gpr[2] != 0u; @@ -5524,9 +5525,9 @@ L_0886A398: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(16)))))); goto L_0886A39C; L_0886A39C: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - aot_gpr_17 = (aot_gpr_17 & 65535u); - aot_gpr_5 = (static_cast(aot_gpr_17) < static_cast(aot_gpr_4) ? 1u : 0u); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + ctx.gpr[17] = (ctx.gpr[17] & 65535u); + aot_gpr_5 = (static_cast(ctx.gpr[17]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 != 0u; // nop if (branch_taken) { @@ -5539,7 +5540,7 @@ L_0886A3B0: aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(240), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); aot_gpr_16 = aot_run_words[1]; - aot_gpr_17 = aot_run_words[2]; + ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; ctx.gpr[19] = aot_run_words[4]; ctx.gpr[20] = aot_run_words[5]; @@ -5572,19 +5573,19 @@ L_0886A404: ctx.gpr[7] = (ctx.gpr[7] + static_cast(17092)); aot_gpr_5 = (0u | 16u); aot_gpr_31 = (0x0886A420u); - ctx.gpr[6] = (0u | 4u); + aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 158u, 0x08B60C7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886A420u) goto L_0886A420; AOT_REGCACHE_SYNC_OUT(); return; L_0886A420: aot_gpr_31 = (0x0886A428u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-29044)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886A428u) goto L_0886A428; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886A428u) goto L_0886A428; AOT_REGCACHE_SYNC_OUT(); return; L_0886A428: aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8036), 0u); aot_gpr_31 = (0x0886A434u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-29032)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886A434u) goto L_0886A434; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886A434u) goto L_0886A434; AOT_REGCACHE_SYNC_OUT(); return; L_0886A434: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -5740,7 +5741,7 @@ L_0886A520: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[11]); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(0), aot_gpr_4); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(0), aot_gpr_4); goto L_0886A538; L_0886A538: jump_target = aot_gpr_31; @@ -5759,15 +5760,15 @@ L_0886A540: L_0886A548: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_gpr_16 = (aot_gpr_5 | 0u); - aot_gpr_17 = (aot_gpr_4 | 0u); + ctx.gpr[17] = (aot_gpr_4 | 0u); aot_gpr_5 = (ctx.gpr[28] + static_cast(-29008)); aot_gpr_4 = (aot_gpr_16 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x0886A570u); - ctx.gpr[6] = (0u | 5u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886A570u) goto L_0886A570; + aot_gpr_6 = (0u | 5u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58100, 213u, 23u, 0x08B58100u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886A570u) goto L_0886A570; AOT_REGCACHE_SYNC_OUT(); return; L_0886A570: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -5780,8 +5781,8 @@ L_0886A570: L_0886A578: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0886A584u); - ctx.gpr[6] = (0u | 5u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886A584u) goto L_0886A584; + aot_gpr_6 = (0u | 5u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58100, 213u, 23u, 0x08B58100u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886A584u) goto L_0886A584; AOT_REGCACHE_SYNC_OUT(); return; L_0886A584: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -5794,8 +5795,8 @@ L_0886A584: L_0886A58C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0886A598u); - ctx.gpr[6] = (0u | 6u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886A598u) goto L_0886A598; + aot_gpr_6 = (0u | 6u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58100, 213u, 23u, 0x08B58100u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886A598u) goto L_0886A598; AOT_REGCACHE_SYNC_OUT(); return; L_0886A598: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -5808,8 +5809,8 @@ L_0886A598: L_0886A5A0: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0886A5ACu); - ctx.gpr[6] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886A5ACu) goto L_0886A5AC; + aot_gpr_6 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58100, 213u, 23u, 0x08B58100u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886A5ACu) goto L_0886A5AC; AOT_REGCACHE_SYNC_OUT(); return; L_0886A5AC: { const bool branch_taken = ctx.gpr[2] != 0u; @@ -5825,7 +5826,7 @@ L_0886A5B4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0077_entry, 77u, 250u, 0x08938F04u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886A5BCu) goto L_0886A5BC; AOT_REGCACHE_SYNC_OUT(); return; L_0886A5BC: - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), ctx.gpr[2]); { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 1u); if (branch_taken) { @@ -5840,7 +5841,7 @@ L_0886A5CC: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -5892,11 +5893,11 @@ L_0886A624: AOT_REGCACHE_SYNC_OUT(); return; L_0886A630: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_gpr_5 = (ctx.gpr[6] | 0u); + aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); aot_gpr_31 = (0x0886A648u); - ctx.gpr[6] = (ctx.gpr[8] | 0u); + aot_gpr_6 = (ctx.gpr[8] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0077_entry, 77u, 258u, 0x08938F7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886A648u) goto L_0886A648; AOT_REGCACHE_SYNC_OUT(); return; L_0886A648: @@ -5997,12 +5998,12 @@ L_0886A6EC: aot_gpr_5 = (2240u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(-25552)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15968))); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); goto L_0886A6FC; L_0886A6FC: aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), 0u); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(1)); - ctx.gpr[7] = (static_cast(ctx.gpr[6]) < 12 ? 1u : 0u); + aot_gpr_6 = (aot_gpr_6 + static_cast(1)); + ctx.gpr[7] = (static_cast(aot_gpr_6) < 12 ? 1u : 0u); { const bool branch_taken = ctx.gpr[7] != 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(4)); if (branch_taken) { @@ -6023,9 +6024,9 @@ L_0886A710: } L_0886A724: ctx.gpr[7] = (ctx.gpr[8] << 5u); - ctx.gpr[6] = (ctx.gpr[7] + ctx.gpr[7]); + aot_gpr_6 = (ctx.gpr[7] + ctx.gpr[7]); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(104))); - ctx.gpr[7] = (ctx.gpr[7] + ctx.gpr[6]); + ctx.gpr[7] = (ctx.gpr[7] + aot_gpr_6); goto L_0886A734; L_0886A734: { const bool branch_taken = static_cast(ctx.gpr[8]) < 0; @@ -6036,43 +6037,43 @@ L_0886A734: goto L_0886A73C; } L_0886A73C: - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); - ctx.gpr[6] = (static_cast(ctx.gpr[8]) < static_cast(ctx.gpr[6]) ? 1u : 0u); - if (ctx.gpr[6] != 0u) { - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); + aot_gpr_6 = (static_cast(ctx.gpr[8]) < static_cast(aot_gpr_6) ? 1u : 0u); + if (aot_gpr_6 != 0u) { + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); goto L_0886A754; } goto L_0886A74C; L_0886A74C: { const bool branch_taken = 0u == 0u; - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (branch_taken) { goto L_0886A774; } goto L_0886A754; } L_0886A754: - ctx.gpr[6] = (ctx.gpr[6] + ctx.gpr[8]); - ctx.gpr[6] = (aot_mem.aot_direct_load8(ctx.gpr[6] + static_cast(0))); - ctx.gpr[6] = (ctx.gpr[6] & 128u); - if (ctx.gpr[6] == 0u) { - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); + aot_gpr_6 = (aot_gpr_6 + ctx.gpr[8]); + aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_6 + static_cast(0))); + aot_gpr_6 = (aot_gpr_6 & 128u); + if (aot_gpr_6 == 0u) { + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); goto L_0886A770; } goto L_0886A768; L_0886A768: { const bool branch_taken = 0u == 0u; - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (branch_taken) { goto L_0886A774; } goto L_0886A770; } L_0886A770: - ctx.gpr[6] = (ctx.gpr[6] + ctx.gpr[7]); + aot_gpr_6 = (aot_gpr_6 + ctx.gpr[7]); goto L_0886A774; L_0886A774: - { const bool branch_taken = ctx.gpr[6] == 0u; + { const bool branch_taken = aot_gpr_6 == 0u; // nop if (branch_taken) { goto L_0886A790; @@ -6080,7 +6081,7 @@ L_0886A774: goto L_0886A77C; } L_0886A77C: - ctx.gpr[10] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[6] + static_cast(86)))))); + ctx.gpr[10] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(86)))))); ctx.gpr[11] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(306))); { const bool branch_taken = ctx.gpr[10] != ctx.gpr[11]; // nop @@ -6090,13 +6091,13 @@ L_0886A77C: goto L_0886A78C; } L_0886A78C: - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-28976), ctx.gpr[6]); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-28976), aot_gpr_6); goto L_0886A790; L_0886A790: - ctx.gpr[6] = (ctx.gpr[8] | 0u); + aot_gpr_6 = (ctx.gpr[8] | 0u); ctx.gpr[8] = (ctx.gpr[9] + static_cast(-1)); ctx.gpr[9] = (ctx.gpr[8] | 0u); - { const bool branch_taken = ctx.gpr[6] != 0u; + { const bool branch_taken = aot_gpr_6 != 0u; ctx.gpr[7] = (ctx.gpr[7] + static_cast(-96)); if (branch_taken) { goto L_0886A734; @@ -6113,7 +6114,7 @@ L_0886A7A4: L_0886A7AC: aot_gpr_29 = (aot_gpr_29 + static_cast(-64)); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-28958))); - { const std::uint32_t aot_run_words[9]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_31}; + { const std::uint32_t aot_run_words[9]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(16), aot_run_words); } { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -6149,7 +6150,7 @@ L_0886A7F4: } L_0886A7FC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(104))); - ctx.gpr[6] = (ctx.gpr[28] + static_cast(-28956)); + aot_gpr_6 = (ctx.gpr[28] + static_cast(-28956)); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(308))); aot_gpr_31 = (0x0886A810u); aot_gpr_5 = (0u | 1u); @@ -6195,8 +6196,8 @@ L_0886A858: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0009_entry, 9u, 392u, 0x0882B994u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886A86Cu) goto L_0886A86C; AOT_REGCACHE_SYNC_OUT(); return; L_0886A86C: - aot_gpr_17 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (ctx.gpr[2] | 0u); + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_0886A890; @@ -6205,14 +6206,14 @@ L_0886A86C: } L_0886A878: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(104))); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(308))); aot_gpr_31 = (0x0886A88Cu); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0009_entry, 9u, 351u, 0x0882B688u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886A88Cu) goto L_0886A88C; AOT_REGCACHE_SYNC_OUT(); return; L_0886A88C: - ctx.gpr[18] = (aot_gpr_17 | 0u); + ctx.gpr[18] = (ctx.gpr[17] | 0u); goto L_0886A890; L_0886A890: { const bool branch_taken = ctx.gpr[18] == 0u; @@ -6234,8 +6235,8 @@ L_0886A898: } { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_13), std::bit_cast(aot_fpr_14)}; aot_mem.aot_direct_store32_block(aot_gpr_4 + static_cast(48), aot_run_words); } - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - aot_gpr_4 = (aot_gpr_17 + static_cast(48)); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (ctx.gpr[17] + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -6249,7 +6250,7 @@ L_0886A898: const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[22])); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[22])); aot_gpr_31 = (0x0886A8E0u); @@ -6264,7 +6265,7 @@ L_0886A8E0: aot_fpr_14 = std::bit_cast(aot_run_words[2]); } aot_gpr_31 = (0x0886A8F4u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 4u, 0x08860094u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886A8F4u) goto L_0886A8F4; AOT_REGCACHE_SYNC_OUT(); return; L_0886A8F4: @@ -6306,7 +6307,7 @@ L_0886A938: aot_fpr_20 = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); aot_gpr_16 = aot_run_words[2]; - aot_gpr_17 = aot_run_words[3]; + ctx.gpr[17] = aot_run_words[3]; ctx.gpr[18] = aot_run_words[4]; ctx.gpr[19] = aot_run_words[5]; ctx.gpr[20] = aot_run_words[6]; @@ -6322,7 +6323,7 @@ L_0886A938: L_0886A964: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-28958))); - { const std::uint32_t aot_run_words[7]{std::bit_cast(aot_fpr_20), aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; + { const std::uint32_t aot_run_words[7]{std::bit_cast(aot_fpr_20), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -6335,11 +6336,11 @@ L_0886A990: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-28957))); ctx.gpr[19] = (2240u << 16u); ctx.gpr[18] = (2240u << 16u); - aot_gpr_17 = (2240u << 16u); + ctx.gpr[17] = (2240u << 16u); ctx.gpr[19] = (ctx.gpr[19] + static_cast(-25504)); ctx.gpr[18] = (ctx.gpr[18] + static_cast(-25456)); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(-25552)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(-25552)); if (branch_taken) { goto L_0886A9C0; } @@ -6377,7 +6378,7 @@ L_0886A9D0: goto L_0886A9DC; L_0886A9DC: aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(0), std::bit_cast(aot_fpr_20)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(0), std::bit_cast(aot_fpr_20)); aot_gpr_31 = (0x0886A9F0u); aot_gpr_5 = (0u | 1u); @@ -6385,7 +6386,7 @@ L_0886A9DC: AOT_REGCACHE_SYNC_OUT(); return; L_0886A9F0: aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-17613), static_cast(aot_gpr_16)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -6394,12 +6395,12 @@ L_0886A9F0: goto L_0886AA00; } L_0886AA00: - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(92))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(92))); aot_gpr_5 = (0u | 3u); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(24)); - ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[6] + static_cast(0)))))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(4))); - jump_target = ctx.gpr[6]; + aot_gpr_6 = (aot_gpr_6 + static_cast(24)); + ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(0)))))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(4))); + jump_target = aot_gpr_6; aot_gpr_31 = (0x0886AA1Cu); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[7]); ctx.pc = jump_target; @@ -6407,13 +6408,13 @@ L_0886AA00: AOT_REGCACHE_SYNC_OUT(); return; L_0886AA1C: aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-17613), static_cast(0u)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), 0u); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), 0u); ctx.gpr[20] = (ctx.gpr[20] + static_cast(1)); ctx.gpr[19] = (ctx.gpr[19] + static_cast(4)); ctx.gpr[18] = (ctx.gpr[18] + static_cast(4)); aot_gpr_4 = (static_cast(ctx.gpr[20]) < 12 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(4)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(4)); if (branch_taken) { goto L_0886A9DC; } @@ -6427,7 +6428,7 @@ L_0886AA40: aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); aot_gpr_16 = aot_run_words[1]; - aot_gpr_17 = aot_run_words[2]; + ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; ctx.gpr[19] = aot_run_words[4]; ctx.gpr[20] = aot_run_words[5]; @@ -6442,7 +6443,7 @@ L_0886AA40: L_0886AA64: aot_gpr_29 = (aot_gpr_29 + static_cast(-384)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-28976))); - { const std::uint32_t aot_run_words[15]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; + { const std::uint32_t aot_run_words[15]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(324), aot_run_words); } { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -6985,8 +6986,8 @@ L_0886AE8C: ctx.gpr[19] = (0u | 0u); aot_gpr_16 = (2240u << 16u); aot_gpr_16 = (aot_gpr_16 + static_cast(-25552)); - aot_gpr_17 = (2240u << 16u); - aot_gpr_17 = (aot_gpr_17 + static_cast(-25456)); + ctx.gpr[17] = (2240u << 16u); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(-25456)); ctx.gpr[18] = (2240u << 16u); ctx.gpr[18] = (ctx.gpr[18] + static_cast(-25504)); aot_gpr_4 = (16134u << 16u); @@ -7014,17 +7015,17 @@ L_0886AF00: } L_0886AF0C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(320), ctx.gpr[20]); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_fpr_12 = aot_fpr_12 + ctx.fpr[22]; - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), std::bit_cast(aot_fpr_12)); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-28920))); { const float fs = aot_fpr_13; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } aot_fpr_12 = aot_fpr_12 - aot_fpr_14; - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), std::bit_cast(aot_fpr_12)); ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-28916))); { const float fs = aot_fpr_12; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), std::bit_cast(aot_fpr_12)); ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); { const float fs = aot_fpr_12; const float ft = ctx.fpr[16]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = aot_fpr_13 + aot_fpr_12; @@ -7241,7 +7242,7 @@ L_0886B068: L_0886B06C: ctx.gpr[19] = (ctx.gpr[19] + static_cast(1)); aot_gpr_16 = (aot_gpr_16 + static_cast(4)); - aot_gpr_17 = (aot_gpr_17 + static_cast(4)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(4)); aot_gpr_4 = (static_cast(ctx.gpr[19]) < 12 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; ctx.gpr[18] = (ctx.gpr[18] + static_cast(4)); @@ -7285,7 +7286,7 @@ L_0886B0A8: ctx.fpr[26] = std::bit_cast(aot_run_words[3]); ctx.fpr[28] = std::bit_cast(aot_run_words[4]); aot_gpr_16 = aot_run_words[5]; - aot_gpr_17 = aot_run_words[6]; + ctx.gpr[17] = aot_run_words[6]; ctx.gpr[18] = aot_run_words[7]; ctx.gpr[19] = aot_run_words[8]; ctx.gpr[20] = aot_run_words[9]; @@ -7311,7 +7312,7 @@ L_0886B0EC: L_0886B0F4: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_5 = (0u | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); aot_gpr_31 = (0x0886B10Cu); ctx.gpr[7] = (0u | 88u); @@ -7343,7 +7344,7 @@ L_0886B11C: AOT_REGCACHE_SYNC_OUT(); return; L_0886B128: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - ctx.gpr[6] = (0u | 88u); + aot_gpr_6 = (0u | 88u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); aot_gpr_31 = (0x0886B13Cu); ctx.gpr[7] = (0u | 0u); @@ -7360,62 +7361,62 @@ L_0886B13C: L_0886B148: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_4 | 0u); aot_gpr_16 = (aot_gpr_5 | 0u); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x0886B174u); ctx.gpr[7] = (0u | 360u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 148u, 0x08A9D3CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886B174u) goto L_0886B174; AOT_REGCACHE_SYNC_OUT(); return; L_0886B174: - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(28), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(28), ctx.gpr[2]); aot_gpr_4 = (0u | 45u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(32), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(32), aot_gpr_4); aot_gpr_4 = (ctx.gpr[2] + static_cast(360)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(8), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(8), ctx.gpr[2]); aot_gpr_4 = (aot_gpr_4 + static_cast(-48)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(24), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(24), aot_gpr_4); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x0886B1A4u); ctx.gpr[7] = (0u | 192u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 148u, 0x08A9D3CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886B1A4u) goto L_0886B1A4; AOT_REGCACHE_SYNC_OUT(); return; L_0886B1A4: - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(40), ctx.gpr[2]); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(20), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(40), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(20), ctx.gpr[2]); aot_gpr_4 = (0u | 1u); aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(8), aot_gpr_4); - aot_gpr_4 = (aot_gpr_17 + static_cast(8)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(8)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - ctx.gpr[6] = (aot_gpr_5 + static_cast(8)); - aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), ctx.gpr[6]); + aot_gpr_6 = (aot_gpr_5 + static_cast(8)); + aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(20))); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(12), aot_gpr_4); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(20))); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(12), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_4); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(20))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(20))); aot_gpr_4 = (aot_gpr_4 + static_cast(160)); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(4), aot_gpr_4); aot_gpr_4 = (0u | 8u); - aot_mem.aot_direct_store16(aot_gpr_17 + static_cast(44), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(44))); + aot_mem.aot_direct_store16(ctx.gpr[17] + static_cast(44), static_cast(aot_gpr_4)); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(44))); aot_gpr_4 = (aot_gpr_4 << 3u); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(40))); - ctx.gpr[6] = (aot_gpr_4 + aot_gpr_4); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(40))); + aot_gpr_6 = (aot_gpr_4 + aot_gpr_4); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(36), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(36), aot_gpr_4); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -7429,13 +7430,13 @@ L_0886B21C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_5 | 0u); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(44))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_4 | 0u); - ctx.gpr[6] = (aot_gpr_5 << 3u); - aot_gpr_4 = (ctx.gpr[6] + ctx.gpr[6]); - ctx.gpr[6] = (ctx.gpr[6] + aot_gpr_4); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_4 | 0u); + aot_gpr_6 = (aot_gpr_5 << 3u); + aot_gpr_4 = (aot_gpr_6 + aot_gpr_6); + aot_gpr_6 = (aot_gpr_6 + aot_gpr_4); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(40))); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x0886B254u); ctx.gpr[7] = (0u | 0u); @@ -7443,9 +7444,9 @@ L_0886B21C: AOT_REGCACHE_SYNC_OUT(); return; L_0886B254: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(28))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(32))); - aot_gpr_4 = (aot_gpr_17 | 0u); - ctx.gpr[6] = (ctx.gpr[6] << 3u); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(32))); + aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_6 = (aot_gpr_6 << 3u); aot_gpr_31 = (0x0886B26Cu); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 148u, 0x08A9D3CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886B26Cu) goto L_0886B26C; @@ -7454,7 +7455,7 @@ L_0886B26C: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -7469,17 +7470,17 @@ L_0886B280: aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_4 = (0u | 0u); aot_gpr_5 = (0u | 0u); - ctx.gpr[6] = (0u | 0u); - { const std::uint32_t aot_run_words[4]{aot_gpr_17, ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; + aot_gpr_6 = (0u | 0u); + { const std::uint32_t aot_run_words[4]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(4), aot_run_words); } aot_gpr_31 = (0x0886B2B0u); ctx.gpr[7] = (0u | 148u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 148u, 0x08A9D3CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886B2B0u) goto L_0886B2B0; AOT_REGCACHE_SYNC_OUT(); return; L_0886B2B0: - aot_gpr_17 = (ctx.gpr[2] | 0u); - if (aot_gpr_17 != 0u) { - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(16), aot_gpr_17); + ctx.gpr[17] = (ctx.gpr[2] | 0u); + if (ctx.gpr[17] != 0u) { + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(16), ctx.gpr[17]); goto L_0886B2CC; } goto L_0886B2BC; @@ -7490,31 +7491,31 @@ L_0886B2BC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 446u, 0x088719B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886B2C8u) goto L_0886B2C8; AOT_REGCACHE_SYNC_OUT(); return; L_0886B2C8: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(16), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(16), ctx.gpr[17]); goto L_0886B2CC; L_0886B2CC: - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(60), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(32), 0u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(8), 0u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(4), 0u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), 0u); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(60), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(32), 0u); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(8), 0u); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(4), 0u); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); aot_gpr_5 = (2183u << 16u); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(52), 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(44), 0u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(24), 0u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(28), 0u); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(24), 0u); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(28), 0u); aot_gpr_4 = (aot_gpr_5 + static_cast(-20244)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(40), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(40), aot_gpr_4); { const std::uint32_t aot_run_words[3]{0u, 0u, 0u}; - aot_mem.aot_direct_store32_block(aot_gpr_17 + static_cast(12), aot_run_words); } - aot_gpr_4 = (aot_gpr_17 + static_cast(64)); + aot_mem.aot_direct_store32_block(ctx.gpr[17] + static_cast(12), aot_run_words); } + aot_gpr_4 = (ctx.gpr[17] + static_cast(64)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), 0u); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(8), 0u); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(16), 0u); aot_gpr_4 = (0u | 236u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(36), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(36), aot_gpr_4); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0886B334u); aot_gpr_5 = (aot_gpr_16 | 0u); @@ -7529,7 +7530,7 @@ L_0886B334: aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(0), ctx.gpr[18]); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x0886B35Cu); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 588u, 0x08A93C14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886B35Cu) goto L_0886B35C; AOT_REGCACHE_SYNC_OUT(); return; L_0886B35C: @@ -7542,7 +7543,7 @@ L_0886B35C: aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(0), ctx.gpr[18]); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x0886B384u); - ctx.gpr[6] = (0u | 4u); + aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 588u, 0x08A93C14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886B384u) goto L_0886B384; AOT_REGCACHE_SYNC_OUT(); return; L_0886B384: @@ -7553,7 +7554,7 @@ L_0886B384: aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(0), ctx.gpr[18]); aot_gpr_5 = (0u | 4u); aot_gpr_31 = (0x0886B3A4u); - ctx.gpr[6] = (0u | 4u); + aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 588u, 0x08A93C14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886B3A4u) goto L_0886B3A4; AOT_REGCACHE_SYNC_OUT(); return; L_0886B3A4: @@ -7576,7 +7577,7 @@ L_0886B3BC: L_0886B3C4: aot_gpr_5 = (2232u << 16u); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (0u | 17u); + aot_gpr_6 = (0u | 17u); aot_gpr_31 = (0x0886B3D8u); aot_gpr_5 = (aot_gpr_5 + static_cast(-25464)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 314u, 0x089D1D64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886B3D8u) goto L_0886B3D8; @@ -7589,11 +7590,11 @@ L_0886B3D8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(36))); aot_gpr_4 = (aot_gpr_4 << 2u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(32), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(32), aot_gpr_4); { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; @@ -7659,7 +7660,7 @@ L_0886B48C: L_0886B494: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(28))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(28))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(24))); aot_gpr_31 = (0x0886B4ACu); ctx.gpr[7] = (0u | 0u); @@ -7688,7 +7689,7 @@ L_0886B4C8: L_0886B4D4: aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_4 = (0u | 0u); - ctx.gpr[6] = (0u | 148u); + aot_gpr_6 = (0u | 148u); aot_gpr_31 = (0x0886B4E8u); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 148u, 0x08A9D3CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886B4E8u) goto L_0886B4E8; @@ -7719,7 +7720,7 @@ L_0886B518: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_5 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0886B52Cu); - ctx.gpr[6] = (0u | 8u); + aot_gpr_6 = (0u | 8u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0132_entry, 132u, 539u, 0x08A16D90u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886B52Cu) goto L_0886B52C; AOT_REGCACHE_SYNC_OUT(); return; L_0886B52C: @@ -7729,17 +7730,17 @@ L_0886B52C: L_0886B534: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(16))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(16))); aot_gpr_31 = (0x0886B548u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(16), ctx.gpr[6]); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(16), aot_gpr_6); goto L_0886B148; L_0886B548: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_5 = (aot_gpr_16 + static_cast(64)); aot_gpr_4 = (aot_gpr_4 + static_cast(64)); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); - aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), ctx.gpr[6]); + aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_6); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_4 = (aot_gpr_5 + static_cast(4)); aot_gpr_5 = (std::bit_cast(aot_fpr_12)); @@ -7757,8 +7758,8 @@ L_0886B584: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_5 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_4 | 0u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(28))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x0886B5A8u); @@ -7766,12 +7767,12 @@ L_0886B584: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0171_entry, 171u, 68u, 0x08AB05DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886B5A8u) goto L_0886B5A8; AOT_REGCACHE_SYNC_OUT(); return; L_0886B5A8: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0886B5B4u); aot_gpr_5 = (aot_gpr_16 | 0u); goto L_0886B21C; L_0886B5B4: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0886B5C0u); aot_gpr_5 = (aot_gpr_16 | 0u); goto L_0886B128; @@ -7779,7 +7780,7 @@ L_0886B5C0: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -7817,7 +7818,7 @@ L_0886B610: aot_gpr_5 = (2183u << 16u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(16), 0u); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x0886B628u); aot_gpr_5 = (aot_gpr_5 + static_cast(-19840)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 452u, 0x08871A18u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886B628u) goto L_0886B628; @@ -7867,7 +7868,7 @@ L_0886B66C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(60))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(28))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x0886B690u); @@ -7880,13 +7881,13 @@ L_0886B690: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0132_entry, 132u, 338u, 0x08A15E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886B698u) goto L_0886B698; AOT_REGCACHE_SYNC_OUT(); return; L_0886B698: - aot_gpr_17 = (2183u << 16u); + ctx.gpr[17] = (2183u << 16u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(84), 0u); - aot_gpr_17 = (aot_gpr_17 + static_cast(-18864)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(-18864)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(40))); goto L_0886B6A8; L_0886B6A8: - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(20), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(46), static_cast(0u)); @@ -7894,7 +7895,7 @@ L_0886B6A8: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(12), aot_gpr_4); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0886B6CCu); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 452u, 0x08871A18u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886B6CCu) goto L_0886B6CC; AOT_REGCACHE_SYNC_OUT(); return; L_0886B6CC: @@ -7911,7 +7912,7 @@ L_0886B6DC: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -7922,25 +7923,25 @@ L_0886B6DC: AOT_REGCACHE_SYNC_OUT(); return; L_0886B6F0: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - aot_gpr_17 = (aot_gpr_5 | 0u); + ctx.gpr[17] = (aot_gpr_5 | 0u); aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_4 = (2235u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28628)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(0))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(0), static_cast(aot_gpr_4)); aot_gpr_4 = (2235u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28612)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), aot_gpr_4); aot_gpr_4 = (aot_gpr_16 + static_cast(16)); aot_gpr_31 = (0x0886B734u); - aot_gpr_5 = (aot_gpr_17 + static_cast(16)); + aot_gpr_5 = (ctx.gpr[17] + static_cast(16)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 912u, 0x0885F828u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886B734u) goto L_0886B734; AOT_REGCACHE_SYNC_OUT(); return; L_0886B734: - aot_gpr_4 = (aot_gpr_17 + static_cast(96)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(96)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -7955,7 +7956,7 @@ L_0886B734: const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_4 = (aot_gpr_17 + static_cast(112)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(112)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -7970,7 +7971,7 @@ L_0886B734: const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_4 = (aot_gpr_17 + static_cast(128)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(128)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -7985,7 +7986,7 @@ L_0886B734: const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_4 = (aot_gpr_17 + static_cast(144)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(144)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -8000,42 +8001,42 @@ L_0886B734: const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(160))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(160))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(160), static_cast(aot_gpr_4)); aot_gpr_4 = (2235u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28596)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(176))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(176))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(176), static_cast(aot_gpr_4)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(180))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(180))); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(180), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(184))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(184))); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(184), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(188))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(188))); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(188), std::bit_cast(aot_fpr_12)); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(192))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(192))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(192), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(193))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(193))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(193), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(194))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(194))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(194), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(195))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(195))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(195), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(196))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(196))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(196), static_cast(aot_gpr_4)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(200))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(200))); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(200), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(204)))))); aot_gpr_5 = (0u + static_cast(-2)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(204)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(204)))))); aot_gpr_5 = (aot_gpr_5 & 1u); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(204), static_cast(aot_gpr_4)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(204)))))); aot_gpr_5 = (0u + static_cast(-3)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(204)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(204)))))); aot_gpr_5 = (aot_gpr_5 & 2u); aot_gpr_5 = (aot_gpr_5 >> 1u); aot_gpr_5 = (aot_gpr_5 & 1u); @@ -8045,7 +8046,7 @@ L_0886B734: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(204)))))); aot_gpr_5 = (0u + static_cast(-5)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(204)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(204)))))); aot_gpr_5 = (aot_gpr_5 & 4u); aot_gpr_5 = (aot_gpr_5 >> 2u); aot_gpr_5 = (aot_gpr_5 & 1u); @@ -8055,32 +8056,32 @@ L_0886B734: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(204)))))); aot_gpr_5 = (0u + static_cast(-9)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(204)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(204)))))); aot_gpr_5 = (aot_gpr_5 & 8u); aot_gpr_5 = (aot_gpr_5 >> 3u); aot_gpr_5 = (aot_gpr_5 & 1u); aot_gpr_5 = (aot_gpr_5 << 3u); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(204), static_cast(aot_gpr_4)); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(205)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(205)))))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(205), static_cast(aot_gpr_4)); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(206)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(206)))))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(206), static_cast(aot_gpr_4)); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(207)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(207)))))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(207), static_cast(aot_gpr_4)); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(208)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(208)))))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(208), static_cast(aot_gpr_4)); aot_gpr_4 = (0u | 0u); - aot_gpr_5 = (aot_gpr_4 + aot_gpr_17); + aot_gpr_5 = (aot_gpr_4 + ctx.gpr[17]); goto L_0886B894; L_0886B894: aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(209))); - ctx.gpr[6] = (aot_gpr_4 + aot_gpr_16); + aot_gpr_6 = (aot_gpr_4 + aot_gpr_16); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store8(ctx.gpr[6] + static_cast(209), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(aot_gpr_6 + static_cast(209), static_cast(aot_gpr_5)); aot_gpr_5 = (static_cast(aot_gpr_4) < 4 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 != 0u; - aot_gpr_5 = (aot_gpr_4 + aot_gpr_17); + aot_gpr_5 = (aot_gpr_4 + ctx.gpr[17]); if (branch_taken) { goto L_0886B894; } @@ -8088,17 +8089,17 @@ L_0886B894: } L_0886B8B0: aot_gpr_4 = (0u | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[6] = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_6 = (aot_gpr_16 | 0u); goto L_0886B8BC; L_0886B8BC: ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(216))); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(216), ctx.gpr[7]); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(216), ctx.gpr[7]); aot_gpr_5 = (aot_gpr_5 + static_cast(4)); ctx.gpr[7] = (static_cast(aot_gpr_4) < 4 ? 1u : 0u); { const bool branch_taken = ctx.gpr[7] != 0u; - ctx.gpr[6] = (ctx.gpr[6] + static_cast(4)); + aot_gpr_6 = (aot_gpr_6 + static_cast(4)); if (branch_taken) { goto L_0886B8BC; } @@ -8106,17 +8107,17 @@ L_0886B8BC: } L_0886B8D8: aot_gpr_4 = (0u | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[6] = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_6 = (aot_gpr_16 | 0u); goto L_0886B8E4; L_0886B8E4: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(232))); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(232), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(232), std::bit_cast(aot_fpr_12)); aot_gpr_5 = (aot_gpr_5 + static_cast(4)); ctx.gpr[7] = (static_cast(aot_gpr_4) < 4 ? 1u : 0u); { const bool branch_taken = ctx.gpr[7] != 0u; - ctx.gpr[6] = (ctx.gpr[6] + static_cast(4)); + aot_gpr_6 = (aot_gpr_6 + static_cast(4)); if (branch_taken) { goto L_0886B8E4; } @@ -8124,17 +8125,17 @@ L_0886B8E4: } L_0886B900: aot_gpr_4 = (0u | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[6] = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_6 = (aot_gpr_16 | 0u); goto L_0886B90C; L_0886B90C: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(248))); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(248), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(248), std::bit_cast(aot_fpr_12)); aot_gpr_5 = (aot_gpr_5 + static_cast(4)); ctx.gpr[7] = (static_cast(aot_gpr_4) < 4 ? 1u : 0u); { const bool branch_taken = ctx.gpr[7] != 0u; - ctx.gpr[6] = (ctx.gpr[6] + static_cast(4)); + aot_gpr_6 = (aot_gpr_6 + static_cast(4)); if (branch_taken) { goto L_0886B90C; } @@ -8142,17 +8143,17 @@ L_0886B90C: } L_0886B928: aot_gpr_4 = (0u | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[6] = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_6 = (aot_gpr_16 | 0u); goto L_0886B934; L_0886B934: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(264))); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(264), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(264), std::bit_cast(aot_fpr_12)); aot_gpr_5 = (aot_gpr_5 + static_cast(4)); ctx.gpr[7] = (static_cast(aot_gpr_4) < 4 ? 1u : 0u); { const bool branch_taken = ctx.gpr[7] != 0u; - ctx.gpr[6] = (ctx.gpr[6] + static_cast(4)); + aot_gpr_6 = (aot_gpr_6 + static_cast(4)); if (branch_taken) { goto L_0886B934; } @@ -8160,17 +8161,17 @@ L_0886B934: } L_0886B950: aot_gpr_4 = (0u | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[6] = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_6 = (aot_gpr_16 | 0u); goto L_0886B95C; L_0886B95C: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(280))); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(280), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(280), std::bit_cast(aot_fpr_12)); aot_gpr_5 = (aot_gpr_5 + static_cast(4)); ctx.gpr[7] = (static_cast(aot_gpr_4) < 4 ? 1u : 0u); { const bool branch_taken = ctx.gpr[7] != 0u; - ctx.gpr[6] = (ctx.gpr[6] + static_cast(4)); + aot_gpr_6 = (aot_gpr_6 + static_cast(4)); if (branch_taken) { goto L_0886B95C; } @@ -8179,11 +8180,11 @@ L_0886B95C: L_0886B978: aot_gpr_4 = (0u | 0u); aot_gpr_5 = (aot_gpr_16 + static_cast(304)); - ctx.gpr[6] = (aot_gpr_17 + static_cast(304)); + aot_gpr_6 = (ctx.gpr[17] + static_cast(304)); goto L_0886B984; L_0886B984: { std::uint32_t aot_run_words[4]{}; - aot_mem.aot_direct_load32_block(ctx.gpr[6] + static_cast(0), aot_run_words); + aot_mem.aot_direct_load32_block(aot_gpr_6 + static_cast(0), aot_run_words); ctx.gpr[7] = aot_run_words[0]; ctx.gpr[8] = aot_run_words[1]; ctx.gpr[9] = aot_run_words[2]; @@ -8193,19 +8194,19 @@ L_0886B984: aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(4), ctx.gpr[8]); ctx.gpr[7] = (std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(8), ctx.gpr[9]); - ctx.gpr[8] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(16))); - ctx.gpr[9] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(20))); + ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(16))); + ctx.gpr[9] = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(20))); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(12), ctx.gpr[7]); - ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(24))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(24))); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(16), ctx.gpr[8]); - ctx.gpr[8] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(28))); + ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(28))); { const std::uint32_t aot_run_words[3]{ctx.gpr[9], ctx.gpr[7], ctx.gpr[8]}; aot_mem.aot_direct_store32_block(aot_gpr_5 + static_cast(20), aot_run_words); } aot_gpr_4 = (aot_gpr_4 + static_cast(1)); aot_gpr_5 = (aot_gpr_5 + static_cast(32)); ctx.gpr[7] = (static_cast(aot_gpr_4) < 4 ? 1u : 0u); { const bool branch_taken = ctx.gpr[7] != 0u; - ctx.gpr[6] = (ctx.gpr[6] + static_cast(32)); + aot_gpr_6 = (aot_gpr_6 + static_cast(32)); if (branch_taken) { goto L_0886B984; } @@ -8213,34 +8214,34 @@ L_0886B984: } L_0886B9DC: aot_gpr_4 = (0u | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[6] = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_6 = (aot_gpr_16 | 0u); goto L_0886B9E8; L_0886B9E8: ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(432))); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(432), ctx.gpr[7]); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(432), ctx.gpr[7]); aot_gpr_5 = (aot_gpr_5 + static_cast(4)); ctx.gpr[7] = (static_cast(aot_gpr_4) < 4 ? 1u : 0u); { const bool branch_taken = ctx.gpr[7] != 0u; - ctx.gpr[6] = (ctx.gpr[6] + static_cast(4)); + aot_gpr_6 = (aot_gpr_6 + static_cast(4)); if (branch_taken) { goto L_0886B9E8; } goto L_0886BA04; } L_0886BA04: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(448))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(448))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(448), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(452))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(452))); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(452), aot_gpr_4); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(456))); - aot_gpr_4 = (aot_gpr_17 + static_cast(468)); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(456))); + aot_gpr_4 = (ctx.gpr[17] + static_cast(468)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(456), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(460))); - ctx.gpr[6] = (aot_gpr_16 + static_cast(468)); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(460))); + aot_gpr_6 = (aot_gpr_16 + static_cast(468)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(460), std::bit_cast(aot_fpr_12)); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(464)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(464)))))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(464), static_cast(aot_gpr_5)); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_4 + static_cast(0), aot_run_words); @@ -8248,39 +8249,39 @@ L_0886BA04: ctx.gpr[7] = aot_run_words[1]; ctx.gpr[8] = aot_run_words[2]; } - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(0), aot_gpr_5); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(0), aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(12))); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(4), ctx.gpr[7]); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(4), ctx.gpr[7]); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(8), ctx.gpr[8]); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(8), ctx.gpr[8]); ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(12), aot_gpr_5); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(12), aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(24))); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(16), ctx.gpr[7]); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(16), ctx.gpr[7]); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(28))); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(20), ctx.gpr[8]); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(20), ctx.gpr[8]); ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(32))); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(24), aot_gpr_5); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(24), aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(36))); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(28), ctx.gpr[7]); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(28), ctx.gpr[7]); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(40))); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(32), ctx.gpr[8]); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(32), ctx.gpr[8]); ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(44))); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(36), aot_gpr_5); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(36), aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(48))); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(40), ctx.gpr[7]); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(40), ctx.gpr[7]); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(52))); { const std::uint32_t aot_run_words[3]{ctx.gpr[8], aot_gpr_5, aot_gpr_4}; - aot_mem.aot_direct_store32_block(ctx.gpr[6] + static_cast(44), aot_run_words); } - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(524))); + aot_mem.aot_direct_store32_block(aot_gpr_6 + static_cast(44), aot_run_words); } + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(524))); ctx.gpr[2] = (aot_gpr_16 | 0u); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(524), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(528))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(528))); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(528), aot_gpr_4); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -8357,7 +8358,7 @@ L_0886BB5C: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_5 | 0u); - { const std::uint32_t aot_run_words[4]{aot_gpr_17, ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(4), aot_run_words); } aot_gpr_31 = (0x0886BB80u); ctx.gpr[19] = (0u | 0u); @@ -8381,12 +8382,12 @@ L_0886BB90: goto L_0886BB98; L_0886BB98: aot_gpr_31 = (0x0886BBA0u); - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0034_entry, 34u, 400u, 0x0888E51Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886BBA0u) goto L_0886BBA0; AOT_REGCACHE_SYNC_OUT(); return; L_0886BBA0: if (ctx.gpr[2] == aot_gpr_16) { - aot_gpr_17 = (0u | 1u); + ctx.gpr[17] = (0u | 1u); goto L_0886BBC8; } goto L_0886BBA8; @@ -8400,17 +8401,17 @@ L_0886BBB0: aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_4 = (aot_gpr_17 & 255u); + aot_gpr_4 = (ctx.gpr[17] & 255u); if (branch_taken) { goto L_0886BBCC; } goto L_0886BBC4; } L_0886BBC4: - aot_gpr_17 = (0u | 1u); + ctx.gpr[17] = (0u | 1u); goto L_0886BBC8; L_0886BBC8: - aot_gpr_4 = (aot_gpr_17 & 255u); + aot_gpr_4 = (ctx.gpr[17] & 255u); goto L_0886BBCC; L_0886BBCC: { const bool branch_taken = aot_gpr_4 == 0u; @@ -8442,7 +8443,7 @@ L_0886BBE8: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; @@ -8455,8 +8456,8 @@ L_0886BBE8: AOT_REGCACHE_SYNC_OUT(); return; L_0886BC08: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); { const bool branch_taken = aot_gpr_4 == 0u; @@ -8469,13 +8470,13 @@ L_0886BC08: L_0886BC24: aot_gpr_4 = (2235u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-27916)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(108), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(108), aot_gpr_4); aot_gpr_31 = (0x0886BC38u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0165_entry, 165u, 425u, 0x08A9B6A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886BC38u) goto L_0886BC38; AOT_REGCACHE_SYNC_OUT(); return; L_0886BC38: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0886BC44u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0158_entry, 158u, 682u, 0x08A7FB94u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886BC44u) goto L_0886BC44; @@ -8491,14 +8492,14 @@ L_0886BC44: } L_0886BC50: aot_gpr_31 = (0x0886BC58u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886BC58u) goto L_0886BC58; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886BC58u) goto L_0886BC58; AOT_REGCACHE_SYNC_OUT(); return; L_0886BC58: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -8562,12 +8563,12 @@ L_0886BCC0: goto L_0886BCD0; } L_0886BCD0: - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_5 = (0u | 3u); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(8)); - ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[6] + static_cast(0)))))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(4))); - jump_target = ctx.gpr[6]; + aot_gpr_6 = (aot_gpr_6 + static_cast(8)); + ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(0)))))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(4))); + jump_target = aot_gpr_6; aot_gpr_31 = (0x0886BCECu); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[7]); ctx.pc = jump_target; @@ -8629,7 +8630,7 @@ L_0886BD5C: aot_gpr_4 = (aot_gpr_5 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); aot_gpr_31 = (0x0886BD70u); - aot_gpr_5 = (ctx.gpr[6] | 0u); + aot_gpr_5 = (aot_gpr_6 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0158_entry, 158u, 660u, 0x08A7FA3Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886BD70u) goto L_0886BD70; AOT_REGCACHE_SYNC_OUT(); return; L_0886BD70: @@ -8642,7 +8643,7 @@ L_0886BD70: AOT_REGCACHE_SYNC_OUT(); return; L_0886BD7C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_31 = (0x0886BD98u); aot_gpr_16 = (aot_gpr_4 | 0u); @@ -8658,9 +8659,9 @@ L_0886BD98: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886BDB0u) goto L_0886BDB0; AOT_REGCACHE_SYNC_OUT(); return; L_0886BDB0: - aot_gpr_17 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_17 == 0u; - aot_gpr_4 = (aot_gpr_17 | 0u); + ctx.gpr[17] = (ctx.gpr[2] | 0u); + { const bool branch_taken = ctx.gpr[17] == 0u; + aot_gpr_4 = (ctx.gpr[17] | 0u); if (branch_taken) { goto L_0886BDC8; } @@ -8672,7 +8673,7 @@ L_0886BDBC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 39u, 0x0886C4A0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886BDC4u) goto L_0886BDC4; AOT_REGCACHE_SYNC_OUT(); return; L_0886BDC4: - ctx.gpr[18] = (aot_gpr_17 | 0u); + ctx.gpr[18] = (ctx.gpr[17] | 0u); goto L_0886BDC8; L_0886BDC8: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(112), ctx.gpr[18]); @@ -8680,7 +8681,7 @@ L_0886BDC8: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -8692,8 +8693,8 @@ L_0886BDC8: AOT_REGCACHE_SYNC_OUT(); return; L_0886BDE8: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_17); - aot_gpr_17 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_16); { const std::uint32_t aot_run_words[3]{ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(32), aot_run_words); } @@ -8704,16 +8705,16 @@ L_0886BDE8: L_0886BE0C: aot_gpr_4 = (2234u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(20672)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(108), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(108), aot_gpr_4); aot_gpr_4 = (2237u << 16u); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[6] = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_6 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0886BE2Cu); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 736u, 0x08ADEF00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886BE2Cu) goto L_0886BE2C; AOT_REGCACHE_SYNC_OUT(); return; L_0886BE2C: - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(104), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(104), aot_gpr_16); ctx.gpr[18] = (0u | 0u); aot_gpr_31 = (0x0886BE3Cu); aot_gpr_4 = (0u | 400u); @@ -8730,21 +8731,21 @@ L_0886BE3C: } L_0886BE48: aot_gpr_31 = (0x0886BE50u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 39u, 0x0886C4A0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886BE50u) goto L_0886BE50; AOT_REGCACHE_SYNC_OUT(); return; L_0886BE50: ctx.gpr[18] = (ctx.gpr[19] | 0u); goto L_0886BE54; L_0886BE54: - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(112), ctx.gpr[18]); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(112), ctx.gpr[18]); aot_gpr_31 = (0x0886BE60u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0158_entry, 158u, 692u, 0x08A7FC34u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886BE60u) goto L_0886BE60; AOT_REGCACHE_SYNC_OUT(); return; L_0886BE60: aot_gpr_4 = (0u | 0u); - ctx.gpr[19] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(10)))))); + ctx.gpr[19] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(10)))))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_4); aot_gpr_4 = (2237u << 16u); aot_gpr_5 = (0u | 544u); @@ -8770,23 +8771,23 @@ L_0886BE94: aot_gpr_4 = (ctx.gpr[18] | 0u); goto L_0886BE98; L_0886BE98: - ctx.gpr[6] = (aot_gpr_4 | 0u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_6 = (aot_gpr_4 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0886BEA8u); aot_gpr_5 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0165_entry, 165u, 456u, 0x08A9B9F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886BEA8u) goto L_0886BEA8; AOT_REGCACHE_SYNC_OUT(); return; L_0886BEA8: aot_gpr_31 = (0x0886BEB0u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0034_entry, 34u, 562u, 0x0888F9A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886BEB0u) goto L_0886BEB0; AOT_REGCACHE_SYNC_OUT(); return; L_0886BEB0: - ctx.gpr[2] = (aot_gpr_17 | 0u); + ctx.gpr[2] = (ctx.gpr[17] | 0u); { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(24), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; @@ -8823,13 +8824,13 @@ L_0886BEF0: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[7] + static_cast(52))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_17); - aot_gpr_17 = (aot_gpr_5 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_5 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), ctx.gpr[18]); { const std::uint32_t aot_run_words[4]{ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(40), aot_run_words); } { const bool branch_taken = aot_gpr_5 != aot_gpr_4; - ctx.gpr[18] = (ctx.gpr[6] | 0u); + ctx.gpr[18] = (aot_gpr_6 | 0u); if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 3u, 0x0886C010u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } @@ -8846,7 +8847,7 @@ L_0886BF38: } L_0886BF44: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(10)))))); - ctx.gpr[6] = (aot_gpr_29 + static_cast(16)); + aot_gpr_6 = (aot_gpr_29 + static_cast(16)); aot_gpr_31 = (0x0886BF54u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886BF54u) goto L_0886BF54; @@ -8874,7 +8875,7 @@ L_0886BF70: } L_0886BF7C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(112))); - ctx.gpr[6] = (aot_mem.aot_direct_load8(ctx.gpr[20] + static_cast(524))); + aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[20] + static_cast(524))); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(86)))))); aot_gpr_31 = (0x0886BF90u); aot_gpr_4 = (ctx.gpr[22] | 0u); @@ -8887,7 +8888,7 @@ L_0886BF90: L_0886BF98: aot_gpr_5 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0886BFA4u); - ctx.gpr[6] = (ctx.gpr[21] | 0u); + aot_gpr_6 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 736u, 0x08ADEF00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886BFA4u) goto L_0886BFA4; AOT_REGCACHE_SYNC_OUT(); return; L_0886BFA4: @@ -8895,14 +8896,14 @@ L_0886BFA4: ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(104))); ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(64)))))); aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0886BFC0u); - ctx.gpr[6] = (ctx.gpr[18] | 0u); + aot_gpr_6 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0159_entry, 159u, 204u, 0x08A82438u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886BFC0u) goto L_0886BFC0; AOT_REGCACHE_SYNC_OUT(); return; L_0886BFC0: aot_gpr_4 = (0u | 0u); - aot_gpr_17 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(10)))))); + ctx.gpr[17] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(10)))))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_4); aot_gpr_4 = (2237u << 16u); aot_gpr_5 = (0u | 544u); @@ -8928,7 +8929,7 @@ L_0886BFF4: aot_gpr_4 = (ctx.gpr[18] | 0u); goto L_0886BFF8; L_0886BFF8: - ctx.gpr[6] = (aot_gpr_4 | 0u); + aot_gpr_6 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_16 | 0u); ctx.pc = 0x0886C000u; AOT_REGCACHE_SYNC_OUT(); return; } diff --git a/profiles/vcs/generated/generated_unit_0026.cpp b/profiles/vcs/generated/generated_unit_0026.cpp index fe661c3..49293a1 100644 --- a/profiles/vcs/generated/generated_unit_0026.cpp +++ b/profiles/vcs/generated/generated_unit_0026.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0026[4094] = { }; void recomp_unit_0026_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,29,5,31,16,17 fprs=12,13,20,14 gpr_occ=4255 fpr_occ=472 gpr_total=6221 fpr_total=630 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,29,5,31,6,16 fprs=12,13,14,15 gpr_occ=4458 fpr_occ=475 gpr_total=6630 fpr_total=646 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; + std::uint32_t aot_gpr_6 = ctx.gpr[6]; std::uint32_t aot_gpr_16 = ctx.gpr[16]; - std::uint32_t aot_gpr_17 = ctx.gpr[17]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; - float aot_fpr_20 = ctx.fpr[20]; float aot_fpr_14 = ctx.fpr[14]; + float aot_fpr_15 = ctx.fpr[15]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[29] = aot_gpr_29; ctx.gpr[5] = aot_gpr_5; ctx.gpr[31] = aot_gpr_31; ctx.gpr[16] = aot_gpr_16; ctx.gpr[17] = aot_gpr_17; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; ctx.fpr[14] = aot_fpr_14; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_17 = ctx.gpr[17]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_14 = ctx.fpr[14]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[29] = aot_gpr_29; ctx.gpr[5] = aot_gpr_5; ctx.gpr[31] = aot_gpr_31; ctx.gpr[6] = aot_gpr_6; ctx.gpr[16] = aot_gpr_16; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[15] = aot_fpr_15; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_16 = ctx.gpr[16]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_15 = ctx.fpr[15]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -858,7 +859,7 @@ LOCAL_DISPATCH: } L_0886C000: aot_gpr_31 = (0x0886C008u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0165_entry, 165u, 456u, 0x08A9B9F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886C008u) goto L_0886C008; AOT_REGCACHE_SYNC_OUT(); return; L_0886C008: @@ -872,16 +873,16 @@ L_0886C008: L_0886C010: ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(64)))))); aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0886C024u); - ctx.gpr[6] = (ctx.gpr[18] | 0u); + aot_gpr_6 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0159_entry, 159u, 204u, 0x08A82438u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886C024u) goto L_0886C024; AOT_REGCACHE_SYNC_OUT(); return; L_0886C024: { std::uint32_t aot_run_words[8]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(24), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -899,7 +900,7 @@ L_0886C04C: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(104))); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(20), aot_run_words); } { const bool branch_taken = aot_gpr_5 != 0u; aot_gpr_16 = (aot_gpr_4 | 0u); @@ -920,11 +921,11 @@ L_0886C078: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(108))); aot_gpr_5 = (0u | 3u); aot_gpr_4 = (aot_gpr_4 + static_cast(24)); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x0886C094u); - aot_gpr_4 = (aot_gpr_16 + ctx.gpr[6]); + aot_gpr_4 = (aot_gpr_16 + aot_gpr_6); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886C094u) goto L_0886C094; AOT_REGCACHE_SYNC_OUT(); return; @@ -947,8 +948,8 @@ L_0886C09C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 501u, 0x08ABE57Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886C0B8u) goto L_0886C0B8; AOT_REGCACHE_SYNC_OUT(); return; L_0886C0B8: - aot_gpr_17 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (ctx.gpr[2] | 0u); + { const bool branch_taken = ctx.gpr[17] == 0u; aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); if (branch_taken) { goto L_0886C0D4; @@ -958,14 +959,14 @@ L_0886C0B8: L_0886C0C4: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(104))); aot_gpr_31 = (0x0886C0D0u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0025_entry, 25u, 739u, 0x0886BB00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886C0D0u) goto L_0886C0D0; AOT_REGCACHE_SYNC_OUT(); return; L_0886C0D0: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); goto L_0886C0D4; L_0886C0D4: - ctx.gpr[6] = (aot_gpr_4 | 0u); + aot_gpr_6 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0886C0E4u); aot_gpr_5 = (ctx.gpr[18] | 0u); @@ -975,7 +976,7 @@ L_0886C0E4: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(20), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -987,24 +988,24 @@ L_0886C0E4: AOT_REGCACHE_SYNC_OUT(); return; L_0886C0FC: aot_gpr_29 = (aot_gpr_29 + static_cast(-96)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(96), ctx.gpr[6]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(96), aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(100), ctx.gpr[7]); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(100)))))); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[6] + static_cast(0)))))); - aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(50), static_cast(ctx.gpr[6])); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(50)))))); - ctx.gpr[6] = (ctx.gpr[7] - ctx.gpr[6]); - ctx.gpr[6] = (ctx.gpr[6] << 16u); - ctx.gpr[6] = (static_cast(static_cast(ctx.gpr[6]) >> 16u)); - ctx.gpr[6] = (static_cast(ctx.gpr[6]) < 0 ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), aot_gpr_17); - aot_gpr_17 = (aot_gpr_4 | 0u); - ctx.gpr[6] = (ctx.gpr[6] & 255u); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(0)))))); + aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(50), static_cast(aot_gpr_6)); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(50)))))); + aot_gpr_6 = (ctx.gpr[7] - aot_gpr_6); + aot_gpr_6 = (aot_gpr_6 << 16u); + aot_gpr_6 = (static_cast(static_cast(aot_gpr_6) >> 16u)); + aot_gpr_6 = (static_cast(aot_gpr_6) < 0 ? 1u : 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_4 | 0u); + aot_gpr_6 = (aot_gpr_6 & 255u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), aot_gpr_16); { const std::uint32_t aot_run_words[3]{ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(72), aot_run_words); } - { const bool branch_taken = ctx.gpr[6] == 0u; + { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_16 = (aot_gpr_5 | 0u); if (branch_taken) { goto L_0886C19C; @@ -1013,11 +1014,11 @@ L_0886C0FC: } L_0886C150: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(96)))))); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(52), static_cast(aot_gpr_5)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(52)))))); aot_gpr_31 = (0x0886C168u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886C168u) goto L_0886C168; AOT_REGCACHE_SYNC_OUT(); return; L_0886C168: @@ -1026,13 +1027,13 @@ L_0886C168: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (0u + static_cast(-1)); aot_gpr_31 = (0x0886C180u); - ctx.gpr[6] = (0u | 32u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886C180u) goto L_0886C180; + aot_gpr_6 = (0u | 32u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886C180u) goto L_0886C180; AOT_REGCACHE_SYNC_OUT(); return; L_0886C180: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (ctx.gpr[19] | 0u); + aot_gpr_6 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x0886C194u); ctx.gpr[7] = (ctx.gpr[18] | 0u); goto L_0886C2F8; @@ -1046,11 +1047,11 @@ L_0886C194: } L_0886C19C: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(96)))))); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(54), static_cast(aot_gpr_5)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(54)))))); aot_gpr_31 = (0x0886C1B4u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886C1B4u) goto L_0886C1B4; AOT_REGCACHE_SYNC_OUT(); return; L_0886C1B4: @@ -1059,7 +1060,7 @@ L_0886C1B4: aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(56), static_cast(aot_gpr_4)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(56)))))); aot_gpr_31 = (0x0886C1CCu); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0165_entry, 165u, 440u, 0x08A9B864u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886C1CCu) goto L_0886C1CC; AOT_REGCACHE_SYNC_OUT(); return; L_0886C1CC: @@ -1068,13 +1069,13 @@ L_0886C1CC: aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(58), static_cast(aot_gpr_4)); aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(60), static_cast(aot_gpr_5)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(58)))))); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(60)))))); - aot_gpr_4 = (aot_gpr_17 | 0u); - aot_gpr_5 = (aot_gpr_5 - ctx.gpr[6]); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(60)))))); + aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_5 = (aot_gpr_5 - aot_gpr_6); ctx.gpr[8] = (aot_gpr_5 << 16u); ctx.gpr[8] = (static_cast(static_cast(ctx.gpr[8]) >> 16u)); aot_gpr_5 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (ctx.gpr[18] | 0u); + aot_gpr_6 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x0886C204u); ctx.gpr[7] = (ctx.gpr[2] | 0u); goto L_0886C228; @@ -1082,7 +1083,7 @@ L_0886C204: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(64), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; @@ -1106,22 +1107,22 @@ L_0886C228: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), ctx.gpr[20]); ctx.gpr[19] = (aot_gpr_5 | 0u); ctx.gpr[20] = (aot_gpr_4 | 0u); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, ctx.gpr[18]}; + { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(32), aot_run_words); } - aot_gpr_17 = (ctx.gpr[6] | 0u); + ctx.gpr[17] = (aot_gpr_6 | 0u); aot_gpr_16 = (ctx.gpr[8] | 0u); ctx.gpr[18] = (ctx.gpr[7] | 0u); aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_5 = (0u | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), aot_gpr_31); aot_gpr_31 = (0x0886C268u); - ctx.gpr[6] = (0u | 32u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886C268u) goto L_0886C268; + aot_gpr_6 = (0u | 32u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886C268u) goto L_0886C268; AOT_REGCACHE_SYNC_OUT(); return; L_0886C268: aot_gpr_4 = (ctx.gpr[20] | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[6] = (ctx.gpr[18] | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_6 = (ctx.gpr[18] | 0u); ctx.gpr[7] = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0886C280u); ctx.gpr[8] = (aot_gpr_29 | 0u); @@ -1129,7 +1130,7 @@ L_0886C268: L_0886C280: aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); - ctx.gpr[6] = (aot_gpr_17 | 0u); + aot_gpr_6 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0886C294u); ctx.gpr[7] = (aot_gpr_29 | 0u); goto L_0886C2F8; @@ -1138,7 +1139,7 @@ L_0886C294: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(32), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -1186,9 +1187,9 @@ L_0886C2F8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); ctx.gpr[8] = (ctx.gpr[7] | 0u); - ctx.gpr[9] = (ctx.gpr[6] | 0u); - ctx.gpr[6] = (aot_mem.aot_direct_load8(ctx.gpr[8] + static_cast(0))); - ctx.gpr[7] = (ctx.gpr[6] & 65535u); + ctx.gpr[9] = (aot_gpr_6 | 0u); + aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[8] + static_cast(0))); + ctx.gpr[7] = (aot_gpr_6 & 65535u); ctx.gpr[7] = (ctx.gpr[7] & 65535u); ctx.gpr[10] = (ctx.gpr[7] & 255u); ctx.gpr[11] = (aot_mem.aot_direct_load_word_right(aot_gpr_5 + static_cast(0), ctx.gpr[11])); @@ -1211,7 +1212,7 @@ L_0886C2F8: ctx.gpr[1] = (static_cast(static_cast(ctx.gpr[10]) >> 8u)); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(1), static_cast(ctx.gpr[1])); aot_mem.aot_direct_store8(ctx.gpr[11] + static_cast(0), static_cast(ctx.gpr[7])); - ctx.gpr[7] = (ctx.gpr[6] >> 16u); + ctx.gpr[7] = (aot_gpr_6 >> 16u); ctx.gpr[7] = (ctx.gpr[7] & 65535u); ctx.gpr[10] = (ctx.gpr[7] & 255u); ctx.gpr[11] = (aot_mem.aot_direct_load_word_right(aot_gpr_5 + static_cast(0), ctx.gpr[11])); @@ -1234,9 +1235,9 @@ L_0886C2F8: ctx.gpr[1] = (static_cast(static_cast(ctx.gpr[10]) >> 8u)); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(1), static_cast(ctx.gpr[1])); aot_mem.aot_direct_store8(ctx.gpr[11] + static_cast(0), static_cast(ctx.gpr[7])); - ctx.gpr[10] = (ctx.gpr[6] & 1u); + ctx.gpr[10] = (aot_gpr_6 & 1u); ctx.gpr[7] = (aot_gpr_4 | 0u); - ctx.gpr[6] = (aot_gpr_5 | 0u); + aot_gpr_6 = (aot_gpr_5 | 0u); aot_gpr_5 = (ctx.gpr[9] | 0u); aot_gpr_4 = (ctx.gpr[8] | 0u); { const bool branch_taken = ctx.gpr[10] == 0u; @@ -1249,8 +1250,8 @@ L_0886C2F8: L_0886C3E0: ctx.gpr[9] = (aot_gpr_4 + static_cast(4)); aot_gpr_4 = (ctx.gpr[7] | 0u); - aot_gpr_5 = (ctx.gpr[6] | 0u); - ctx.gpr[6] = (ctx.gpr[8] | 0u); + aot_gpr_5 = (aot_gpr_6 | 0u); + aot_gpr_6 = (ctx.gpr[8] | 0u); aot_gpr_31 = (0x0886C3F8u); ctx.gpr[7] = (ctx.gpr[9] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0159_entry, 159u, 288u, 0x08A82BCCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886C3F8u) goto L_0886C3F8; @@ -1318,7 +1319,7 @@ L_0886C494: AOT_REGCACHE_SYNC_OUT(); return; L_0886C4A0: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_31 = (0x0886C4C0u); @@ -1331,7 +1332,7 @@ L_0886C4C0: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(92), aot_gpr_4); aot_gpr_4 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(380), aot_gpr_4); - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_31 = (0x0886C4E0u); aot_gpr_4 = (0u | 1888u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886C4E0u) goto L_0886C4E0; @@ -1339,7 +1340,7 @@ L_0886C4C0: L_0886C4E0: ctx.gpr[18] = (ctx.gpr[2] | 0u); if (ctx.gpr[18] == 0u) { - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(384), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(384), ctx.gpr[17]); goto L_0886C4FC; } goto L_0886C4EC; @@ -1349,11 +1350,11 @@ L_0886C4EC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0129_entry, 129u, 577u, 0x08A0B7C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886C4F4u) goto L_0886C4F4; AOT_REGCACHE_SYNC_OUT(); return; L_0886C4F4: - aot_gpr_17 = (ctx.gpr[18] | 0u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(384), aot_gpr_17); + ctx.gpr[17] = (ctx.gpr[18] | 0u); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(384), ctx.gpr[17]); goto L_0886C4FC; L_0886C4FC: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_31 = (0x0886C508u); aot_gpr_4 = (0u | 1888u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886C508u) goto L_0886C508; @@ -1361,7 +1362,7 @@ L_0886C4FC: L_0886C508: ctx.gpr[18] = (ctx.gpr[2] | 0u); if (ctx.gpr[18] == 0u) { - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(388), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(388), ctx.gpr[17]); goto L_0886C524; } goto L_0886C514; @@ -1371,15 +1372,15 @@ L_0886C514: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0129_entry, 129u, 577u, 0x08A0B7C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886C51Cu) goto L_0886C51C; AOT_REGCACHE_SYNC_OUT(); return; L_0886C51C: - aot_gpr_17 = (ctx.gpr[18] | 0u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(388), aot_gpr_17); + ctx.gpr[17] = (ctx.gpr[18] | 0u); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(388), ctx.gpr[17]); goto L_0886C524; L_0886C524: ctx.gpr[2] = (aot_gpr_16 | 0u); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -1391,9 +1392,9 @@ L_0886C524: AOT_REGCACHE_SYNC_OUT(); return; L_0886C540: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - aot_gpr_17 = (aot_gpr_4 | 0u); + ctx.gpr[17] = (aot_gpr_4 | 0u); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_16 = (aot_gpr_5 | 0u); if (branch_taken) { @@ -1404,18 +1405,18 @@ L_0886C540: L_0886C55C: aot_gpr_4 = (2234u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(20864)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(92), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(92), aot_gpr_4); aot_gpr_31 = (0x0886C570u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(384))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886C570u) goto L_0886C570; + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(384))); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886C570u) goto L_0886C570; AOT_REGCACHE_SYNC_OUT(); return; L_0886C570: aot_gpr_31 = (0x0886C578u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(388))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886C578u) goto L_0886C578; + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(388))); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886C578u) goto L_0886C578; AOT_REGCACHE_SYNC_OUT(); return; L_0886C578: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0886C584u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0159_entry, 159u, 175u, 0x08A8223Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886C584u) goto L_0886C584; @@ -1431,14 +1432,14 @@ L_0886C584: } L_0886C590: aot_gpr_31 = (0x0886C598u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886C598u) goto L_0886C598; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886C598u) goto L_0886C598; AOT_REGCACHE_SYNC_OUT(); return; L_0886C598: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -1477,7 +1478,7 @@ L_0886C5D4: AOT_REGCACHE_SYNC_OUT(); return; L_0886C5E4: aot_gpr_29 = (aot_gpr_29 + static_cast(-672)); - { const std::uint32_t aot_run_words[16]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; + { const std::uint32_t aot_run_words[16]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(600), aot_run_words); } ctx.gpr[19] = (aot_gpr_4 | 0u); aot_gpr_31 = (0x0886C634u); @@ -1506,14 +1507,14 @@ L_0886C644: aot_gpr_5 = (static_cast(static_cast(aot_gpr_5) >> 16u)); aot_gpr_5 = (aot_gpr_5 << 16u); aot_gpr_5 = (static_cast(static_cast(aot_gpr_5) >> 16u)); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(16)))))); - aot_gpr_5 = (ctx.gpr[6] - aot_gpr_5); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(16)))))); + aot_gpr_5 = (aot_gpr_6 - aot_gpr_5); aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(338), static_cast(aot_gpr_5)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(338)))))); aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(342), static_cast(aot_gpr_5)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(342)))))); aot_gpr_31 = (0x0886C690u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886C690u) goto L_0886C690; AOT_REGCACHE_SYNC_OUT(); return; L_0886C690: @@ -1524,7 +1525,7 @@ L_0886C690: aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_12)); aot_gpr_5 = (0u | 160u); aot_gpr_31 = (0x0886C6B0u); - ctx.gpr[6] = (0u | 196u); + aot_gpr_6 = (0u | 196u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0054_entry, 54u, 325u, 0x088DDFD8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886C6B0u) goto L_0886C6B0; AOT_REGCACHE_SYNC_OUT(); return; L_0886C6B0: @@ -1540,7 +1541,7 @@ L_0886C6B0: aot_fpr_13 = std::bit_cast(aot_gpr_5); aot_gpr_5 = (0u | 196u); aot_gpr_31 = (0x0886C6E4u); - ctx.gpr[6] = (0u | 228u); + aot_gpr_6 = (0u | 228u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0054_entry, 54u, 325u, 0x088DDFD8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886C6E4u) goto L_0886C6E4; AOT_REGCACHE_SYNC_OUT(); return; L_0886C6E4: @@ -1605,8 +1606,8 @@ L_0886C740: } L_0886C75C: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); - aot_fpr_20 = std::bit_cast(0u); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_20)) ? 0x00800000u : 0u); + ctx.fpr[20] = std::bit_cast(0u); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[20])) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -1676,9 +1677,9 @@ L_0886C78C: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_17 = (aot_gpr_29 + static_cast(80)); + ctx.gpr[17] = (aot_gpr_29 + static_cast(80)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(88))); @@ -1686,7 +1687,7 @@ L_0886C78C: { const float fs = aot_fpr_13; const float ft = ctx.fpr[22]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_fpr_12 = aot_fpr_12 + aot_fpr_13; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(88), std::bit_cast(aot_fpr_12)); - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -1734,7 +1735,7 @@ L_0886C78C: const std::uint32_t vfpu_address = ctx.gpr[23] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0886C840u); aot_gpr_5 = (ctx.gpr[23] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886C840u) goto L_0886C840; @@ -1772,9 +1773,9 @@ L_0886C84C: aot_gpr_4 = (14749u << 16u); aot_gpr_4 = (aot_gpr_4 | 18770u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - { const float fs = aot_fpr_20; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } + { const float fs = ctx.fpr[20]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } ctx.gpr[30] = (aot_gpr_29 + static_cast(28)); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[22] <= aot_fpr_20)) ? 0x00800000u : 0u); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[22] <= ctx.fpr[20])) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(588), std::bit_cast(aot_fpr_12)); @@ -1786,7 +1787,7 @@ L_0886C84C: L_0886C8A0: aot_gpr_4 = (std::bit_cast(ctx.fpr[22])); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -1802,11 +1803,11 @@ L_0886C8A0: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_31 = (0x0886C8C0u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886C8C0u) goto L_0886C8C0; AOT_REGCACHE_SYNC_OUT(); return; L_0886C8C0: - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[22] < aot_fpr_20)) ? 0x00800000u : 0u); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[22] < ctx.fpr[20])) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -1875,8 +1876,8 @@ L_0886C8F4: const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - ctx.gpr[6] = (ctx.gpr[19] + static_cast(48)); - { const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + aot_gpr_6 = (ctx.gpr[19] + static_cast(48)); + { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -1940,7 +1941,7 @@ L_0886C8F4: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(168))); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(120), std::bit_cast(aot_fpr_12)); - { const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -2073,7 +2074,7 @@ L_0886CA40: aot_gpr_4 = (std::bit_cast(ctx.fpr[28])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(592), std::bit_cast(ctx.fpr[28])); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -2095,33 +2096,33 @@ L_0886CA40: aot_gpr_4 = (16672u << 16u); aot_gpr_31 = (0x0886CA84u); ctx.fpr[30] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886CA84u) goto L_0886CA84; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886CA84u) goto L_0886CA84; AOT_REGCACHE_SYNC_OUT(); return; L_0886CA84: - aot_fpr_13 = ctx.fpr[30] - aot_fpr_20; + aot_fpr_13 = ctx.fpr[30] - ctx.fpr[20]; { const float fs = aot_fpr_13; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } - aot_fpr_13 = aot_fpr_20 + aot_fpr_13; + aot_fpr_13 = ctx.fpr[20] + aot_fpr_13; aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_13)); ctx.gpr[18] = (std::bit_cast(aot_fpr_12)); aot_gpr_4 = (17076u << 16u); aot_gpr_31 = (0x0886CAA4u); ctx.fpr[30] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886CAA4u) goto L_0886CAA4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886CAA4u) goto L_0886CAA4; AOT_REGCACHE_SYNC_OUT(); return; L_0886CAA4: - aot_fpr_14 = ctx.fpr[30] - aot_fpr_20; + aot_fpr_14 = ctx.fpr[30] - ctx.fpr[20]; { const float fs = aot_fpr_14; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } - aot_fpr_13 = aot_fpr_20 + aot_fpr_14; + aot_fpr_13 = ctx.fpr[20] + aot_fpr_14; aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_13)); ctx.gpr[10] = (std::bit_cast(aot_fpr_12)); - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(88))); - { const float fs = ctx.fpr[24]; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[15] = std::bit_cast(0x7FC00000u); else ctx.fpr[15] = fs * ft; } - ctx.fpr[15] = ctx.fpr[22] + ctx.fpr[15]; - ctx.fpr[15] = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[15])); - ctx.gpr[2] = (std::bit_cast(ctx.fpr[15])); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(88))); + { const float fs = ctx.fpr[24]; const float ft = aot_fpr_15; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_15 = std::bit_cast(0x7FC00000u); else aot_fpr_15 = fs * ft; } + aot_fpr_15 = ctx.fpr[22] + aot_fpr_15; + aot_fpr_15 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_15)); + ctx.gpr[2] = (std::bit_cast(aot_fpr_15)); aot_gpr_4 = (0u | 44u); aot_gpr_5 = (ctx.gpr[20] | 0u); - ctx.gpr[6] = (aot_gpr_16 | 0u); + aot_gpr_6 = (aot_gpr_16 | 0u); ctx.gpr[7] = (0u | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[28])); ctx.gpr[8] = (aot_gpr_29 + static_cast(20)); @@ -2136,23 +2137,23 @@ L_0886CAF4: aot_gpr_4 = (aot_gpr_4 | 52429u); aot_gpr_31 = (0x0886CB04u); ctx.fpr[28] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886CB04u) goto L_0886CB04; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886CB04u) goto L_0886CB04; AOT_REGCACHE_SYNC_OUT(); return; L_0886CB04: - aot_fpr_12 = ctx.fpr[28] - aot_fpr_20; + aot_fpr_12 = ctx.fpr[28] - ctx.fpr[20]; { const float fs = aot_fpr_12; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - aot_fpr_12 = aot_fpr_20 + aot_fpr_12; + aot_fpr_12 = ctx.fpr[20] + aot_fpr_12; aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); ctx.gpr[18] = (std::bit_cast(aot_fpr_12)); aot_gpr_4 = (16948u << 16u); aot_gpr_31 = (0x0886CB24u); ctx.fpr[30] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886CB24u) goto L_0886CB24; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886CB24u) goto L_0886CB24; AOT_REGCACHE_SYNC_OUT(); return; L_0886CB24: - aot_fpr_13 = ctx.fpr[30] - aot_fpr_20; + aot_fpr_13 = ctx.fpr[30] - ctx.fpr[20]; { const float fs = aot_fpr_13; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } - aot_fpr_13 = aot_fpr_20 + aot_fpr_13; + aot_fpr_13 = ctx.fpr[20] + aot_fpr_13; aot_fpr_13 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_13)); ctx.gpr[10] = (std::bit_cast(aot_fpr_13)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(88))); @@ -2162,7 +2163,7 @@ L_0886CB24: ctx.gpr[2] = (std::bit_cast(aot_fpr_12)); aot_gpr_4 = (0u | 45u); aot_gpr_5 = (ctx.gpr[20] | 0u); - ctx.gpr[6] = (aot_gpr_17 | 0u); + aot_gpr_6 = (ctx.gpr[17] | 0u); ctx.gpr[7] = (0u | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[26])); ctx.gpr[8] = (aot_gpr_29 + static_cast(24)); @@ -2187,7 +2188,7 @@ L_0886CB74: const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -2196,9 +2197,9 @@ L_0886CB74: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - ctx.gpr[6] = (aot_gpr_29 + static_cast(256)); + aot_gpr_6 = (aot_gpr_29 + static_cast(256)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = ctx.gpr[23] + static_cast(0); @@ -2301,37 +2302,37 @@ L_0886CC20: aot_gpr_4 = (16672u << 16u); aot_gpr_31 = (0x0886CC5Cu); ctx.fpr[30] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886CC5Cu) goto L_0886CC5C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886CC5Cu) goto L_0886CC5C; AOT_REGCACHE_SYNC_OUT(); return; L_0886CC5C: - aot_fpr_13 = ctx.fpr[30] - aot_fpr_20; + aot_fpr_13 = ctx.fpr[30] - ctx.fpr[20]; { const float fs = aot_fpr_13; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } - aot_fpr_13 = aot_fpr_20 + aot_fpr_13; + aot_fpr_13 = ctx.fpr[20] + aot_fpr_13; aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_13)); - aot_gpr_17 = (std::bit_cast(aot_fpr_12)); + ctx.gpr[17] = (std::bit_cast(aot_fpr_12)); aot_gpr_4 = (17076u << 16u); aot_gpr_31 = (0x0886CC7Cu); ctx.fpr[30] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886CC7Cu) goto L_0886CC7C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886CC7Cu) goto L_0886CC7C; AOT_REGCACHE_SYNC_OUT(); return; L_0886CC7C: - aot_fpr_14 = ctx.fpr[30] - aot_fpr_20; + aot_fpr_14 = ctx.fpr[30] - ctx.fpr[20]; { const float fs = aot_fpr_14; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } - aot_fpr_13 = aot_fpr_20 + aot_fpr_14; + aot_fpr_13 = ctx.fpr[20] + aot_fpr_14; aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_13)); ctx.gpr[10] = (std::bit_cast(aot_fpr_12)); - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(72))); - { const float fs = ctx.fpr[24]; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[15] = std::bit_cast(0x7FC00000u); else ctx.fpr[15] = fs * ft; } - ctx.fpr[15] = ctx.fpr[22] + ctx.fpr[15]; - ctx.fpr[15] = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[15])); - ctx.gpr[2] = (std::bit_cast(ctx.fpr[15])); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(72))); + { const float fs = ctx.fpr[24]; const float ft = aot_fpr_15; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_15 = std::bit_cast(0x7FC00000u); else aot_fpr_15 = fs * ft; } + aot_fpr_15 = ctx.fpr[22] + aot_fpr_15; + aot_fpr_15 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_15)); + ctx.gpr[2] = (std::bit_cast(aot_fpr_15)); aot_gpr_4 = (0u | 44u); aot_gpr_5 = (ctx.gpr[22] | 0u); - ctx.gpr[6] = (aot_gpr_16 | 0u); + aot_gpr_6 = (aot_gpr_16 | 0u); ctx.gpr[7] = (0u | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[28])); ctx.gpr[8] = (aot_gpr_29 + static_cast(20)); - ctx.gpr[9] = (aot_gpr_17 | 0u); + ctx.gpr[9] = (ctx.gpr[17] | 0u); ctx.gpr[11] = (0u | 1u); aot_gpr_31 = (0x0886CCCCu); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[2]); @@ -2342,23 +2343,23 @@ L_0886CCCC: aot_gpr_4 = (aot_gpr_4 | 52429u); aot_gpr_31 = (0x0886CCDCu); ctx.fpr[28] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886CCDCu) goto L_0886CCDC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886CCDCu) goto L_0886CCDC; AOT_REGCACHE_SYNC_OUT(); return; L_0886CCDC: - aot_fpr_12 = ctx.fpr[28] - aot_fpr_20; + aot_fpr_12 = ctx.fpr[28] - ctx.fpr[20]; { const float fs = aot_fpr_12; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - aot_fpr_12 = aot_fpr_20 + aot_fpr_12; + aot_fpr_12 = ctx.fpr[20] + aot_fpr_12; aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); - aot_gpr_17 = (std::bit_cast(aot_fpr_12)); + ctx.gpr[17] = (std::bit_cast(aot_fpr_12)); aot_gpr_4 = (16948u << 16u); aot_gpr_31 = (0x0886CCFCu); ctx.fpr[30] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886CCFCu) goto L_0886CCFC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886CCFCu) goto L_0886CCFC; AOT_REGCACHE_SYNC_OUT(); return; L_0886CCFC: - aot_fpr_13 = ctx.fpr[30] - aot_fpr_20; + aot_fpr_13 = ctx.fpr[30] - ctx.fpr[20]; { const float fs = aot_fpr_13; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } - aot_fpr_13 = aot_fpr_20 + aot_fpr_13; + aot_fpr_13 = ctx.fpr[20] + aot_fpr_13; aot_fpr_13 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_13)); ctx.gpr[10] = (std::bit_cast(aot_fpr_13)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(72))); @@ -2368,11 +2369,11 @@ L_0886CCFC: ctx.gpr[2] = (std::bit_cast(aot_fpr_12)); aot_gpr_4 = (0u | 45u); aot_gpr_5 = (ctx.gpr[22] | 0u); - ctx.gpr[6] = (ctx.gpr[21] | 0u); + aot_gpr_6 = (ctx.gpr[21] | 0u); ctx.gpr[7] = (0u | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[26])); ctx.gpr[8] = (aot_gpr_29 + static_cast(24)); - ctx.gpr[9] = (aot_gpr_17 | 0u); + ctx.gpr[9] = (ctx.gpr[17] | 0u); ctx.gpr[11] = (0u | 0u); aot_gpr_31 = (0x0886CD4Cu); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[2]); @@ -2402,9 +2403,9 @@ L_0886CD4C: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - ctx.gpr[6] = (aot_gpr_29 + static_cast(304)); + aot_gpr_6 = (aot_gpr_29 + static_cast(304)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = ctx.gpr[23] + static_cast(0); @@ -2429,14 +2430,14 @@ L_0886CD4C: L_0886CD7C: { std::uint32_t aot_run_words[16]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(600), aot_run_words); - aot_fpr_20 = std::bit_cast(aot_run_words[0]); + ctx.fpr[20] = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); ctx.fpr[26] = std::bit_cast(aot_run_words[3]); ctx.fpr[28] = std::bit_cast(aot_run_words[4]); ctx.fpr[30] = std::bit_cast(aot_run_words[5]); aot_gpr_16 = aot_run_words[6]; - aot_gpr_17 = aot_run_words[7]; + ctx.gpr[17] = aot_run_words[7]; ctx.gpr[18] = aot_run_words[8]; ctx.gpr[19] = aot_run_words[9]; ctx.gpr[20] = aot_run_words[10]; @@ -2455,12 +2456,12 @@ L_0886CD7C: L_0886CDC4: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_4 | 0u); aot_gpr_16 = (aot_gpr_5 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x0886CDE4u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(20))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(20))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0171_entry, 171u, 262u, 0x08AB0F30u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886CDE4u) goto L_0886CDE4; AOT_REGCACHE_SYNC_OUT(); return; L_0886CDE4: @@ -2502,13 +2503,13 @@ L_0886CE08: goto L_0886CE10; } L_0886CE10: - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-28856), aot_gpr_17); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-28856), ctx.gpr[17]); goto L_0886CE14; L_0886CE14: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -2520,9 +2521,9 @@ L_0886CE14: L_0886CE28: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_17 = (aot_gpr_5 | 0u); + ctx.gpr[17] = (aot_gpr_5 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x0886CE48u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); @@ -2534,7 +2535,7 @@ L_0886CE48: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0162_entry, 162u, 79u, 0x08A8C7F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886CE50u) goto L_0886CE50; AOT_REGCACHE_SYNC_OUT(); return; L_0886CE50: - { const bool branch_taken = ctx.gpr[2] != aot_gpr_17; + { const bool branch_taken = ctx.gpr[2] != ctx.gpr[17]; // nop if (branch_taken) { goto L_0886CE5C; @@ -2548,7 +2549,7 @@ L_0886CE5C: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -2560,8 +2561,8 @@ L_0886CE5C: L_0886CE70: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(24))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(24))); aot_gpr_16 = (aot_gpr_5 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x0886CE90u); @@ -2578,8 +2579,8 @@ L_0886CE90: } L_0886CE98: aot_gpr_5 = (2183u << 16u); - aot_gpr_4 = (aot_gpr_17 | 0u); - ctx.gpr[6] = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_6 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0886CEACu); aot_gpr_5 = (aot_gpr_5 + static_cast(-12860)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0197_entry, 197u, 400u, 0x08B19938u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886CEACu) goto L_0886CEAC; @@ -2594,8 +2595,8 @@ L_0886CEAC: } L_0886CEB4: aot_gpr_5 = (2183u << 16u); - aot_gpr_4 = (aot_gpr_17 | 0u); - ctx.gpr[6] = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_6 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0886CEC8u); aot_gpr_5 = (aot_gpr_5 + static_cast(-12760)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0197_entry, 197u, 400u, 0x08B19938u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886CEC8u) goto L_0886CEC8; @@ -2607,7 +2608,7 @@ L_0886CECC: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -2617,8 +2618,8 @@ L_0886CECC: ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0886CEE0: - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); - { const bool branch_taken = aot_gpr_5 != ctx.gpr[6]; + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); + { const bool branch_taken = aot_gpr_5 != aot_gpr_6; // nop if (branch_taken) { goto L_0886CEF0; @@ -2637,7 +2638,7 @@ L_0886CEF0: AOT_REGCACHE_SYNC_OUT(); return; L_0886CEF8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - ctx.gpr[6] = (aot_gpr_5 | 0u); + aot_gpr_6 = (aot_gpr_5 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(24))); aot_gpr_5 = (2183u << 16u); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-28856), 0u); @@ -2658,9 +2659,9 @@ L_0886CF18: L_0886CF28: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_17 = (aot_gpr_5 | 0u); + ctx.gpr[17] = (aot_gpr_5 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x0886CF48u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); @@ -2668,12 +2669,12 @@ L_0886CF28: AOT_REGCACHE_SYNC_OUT(); return; L_0886CF48: aot_gpr_4 = (ctx.gpr[2] << 2u); - aot_gpr_4 = (aot_gpr_17 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[17] + aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_16); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -2688,7 +2689,7 @@ L_0886CF68: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); ctx.gpr[18] = (aot_gpr_4 | 0u); aot_gpr_16 = (aot_gpr_5 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[19]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(24))); @@ -2698,29 +2699,29 @@ L_0886CF68: AOT_REGCACHE_SYNC_OUT(); return; L_0886CF94: ctx.gpr[18] = (ctx.gpr[2] | 0u); - aot_gpr_17 = (0u | 1u); + ctx.gpr[17] = (0u | 1u); aot_gpr_16 = (aot_gpr_16 + static_cast(4)); goto L_0886CFA0; L_0886CFA0: aot_gpr_31 = (0x0886CFA8u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0171_entry, 171u, 289u, 0x08AB1020u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886CFA8u) goto L_0886CFA8; AOT_REGCACHE_SYNC_OUT(); return; L_0886CFA8: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x0886CFB4u); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 251u, 0x08969194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886CFB4u) goto L_0886CFB4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08969194, 89u, 251u, 0x08969194u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 251u, 0x08969194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886CFB4u) goto L_0886CFB4; AOT_REGCACHE_SYNC_OUT(); return; L_0886CFB4: aot_gpr_4 = (ctx.gpr[2] << 3u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(16))); - ctx.gpr[6] = (aot_gpr_4 + aot_gpr_4); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_6 = (aot_gpr_4 + aot_gpr_4); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), aot_gpr_4); - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - aot_gpr_4 = (static_cast(aot_gpr_17) < 18 ? 1u : 0u); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + aot_gpr_4 = (static_cast(ctx.gpr[17]) < 18 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_16 = (aot_gpr_16 + static_cast(4)); if (branch_taken) { @@ -2732,7 +2733,7 @@ L_0886CFDC: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; @@ -2746,13 +2747,13 @@ L_0886CFDC: L_0886CFF8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_4 | 0u); aot_gpr_16 = (aot_gpr_5 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); aot_gpr_31 = (0x0886D01Cu); - ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(24))); + ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(24))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0038_entry, 38u, 603u, 0x0889E994u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886D01Cu) goto L_0886D01C; AOT_REGCACHE_SYNC_OUT(); return; L_0886D01C: @@ -2764,7 +2765,7 @@ L_0886D01C: goto L_0886D024; } L_0886D024: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0886D030u); aot_gpr_5 = (aot_gpr_16 | 0u); goto L_0886CF68; @@ -2779,7 +2780,7 @@ L_0886D030: L_0886D038: aot_gpr_5 = (2183u << 16u); aot_gpr_4 = (ctx.gpr[18] | 0u); - ctx.gpr[6] = (aot_gpr_16 | 0u); + aot_gpr_6 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0886D04Cu); aot_gpr_5 = (aot_gpr_5 + static_cast(-12504)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0197_entry, 197u, 400u, 0x08B19938u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886D04Cu) goto L_0886D04C; @@ -2788,7 +2789,7 @@ L_0886D04C: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -2849,8 +2850,8 @@ L_0886D0B4: aot_gpr_4 = (aot_gpr_29 + static_cast(12)); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x0886D0D8u); - ctx.gpr[6] = (0u | 756u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886D0D8u) goto L_0886D0D8; + aot_gpr_6 = (0u | 756u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886D0D8u) goto L_0886D0D8; AOT_REGCACHE_SYNC_OUT(); return; L_0886D0D8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(768))); @@ -2859,7 +2860,7 @@ L_0886D0D8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0038_entry, 38u, 638u, 0x0889ECD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886D0E4u) goto L_0886D0E4; AOT_REGCACHE_SYNC_OUT(); return; L_0886D0E4: - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(776))); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (static_cast(ctx.gpr[7]) < static_cast(aot_gpr_4) ? 1u : 0u); @@ -2871,16 +2872,16 @@ L_0886D0E4: goto L_0886D0FC; } L_0886D0FC: - ctx.gpr[9] = (ctx.gpr[6] | 0u); + ctx.gpr[9] = (aot_gpr_6 | 0u); ctx.gpr[11] = (0u | 0u); ctx.gpr[8] = (aot_gpr_5 + static_cast(56)); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); ctx.gpr[10] = (ctx.gpr[9] + static_cast(4)); ctx.gpr[11] = (aot_gpr_29 + ctx.gpr[11]); goto L_0886D114; L_0886D114: ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(48))); - ctx.gpr[2] = (ctx.gpr[2] + ctx.gpr[6]); + ctx.gpr[2] = (ctx.gpr[2] + aot_gpr_6); ctx.gpr[2] = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(0))); aot_mem.aot_direct_store32(ctx.gpr[9] + static_cast(16), ctx.gpr[8]); aot_mem.aot_direct_store32(ctx.gpr[9] + static_cast(20), ctx.gpr[2]); @@ -2894,7 +2895,7 @@ L_0886D114: aot_mem.aot_direct_store32(ctx.gpr[10] + static_cast(4), ctx.gpr[3]); aot_mem.aot_direct_store32(ctx.gpr[10] + static_cast(8), ctx.gpr[2]); ctx.gpr[7] = (ctx.gpr[7] + static_cast(1)); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(8)); + aot_gpr_6 = (aot_gpr_6 + static_cast(8)); ctx.gpr[8] = (ctx.gpr[8] + static_cast(36)); ctx.gpr[9] = (ctx.gpr[9] + static_cast(24)); ctx.gpr[10] = (ctx.gpr[10] + static_cast(24)); @@ -2909,7 +2910,7 @@ L_0886D114: L_0886D16C: aot_gpr_5 = (2183u << 16u); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x0886D180u); aot_gpr_5 = (aot_gpr_5 + static_cast(-12188)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0197_entry, 197u, 400u, 0x08B19938u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886D180u) goto L_0886D180; @@ -2929,10 +2930,10 @@ L_0886D180: AOT_REGCACHE_SYNC_OUT(); return; L_0886D1A0: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - ctx.gpr[6] = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(0))); + aot_gpr_6 = (aot_gpr_5 | 0u); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); aot_gpr_5 = (aot_gpr_5 + static_cast(1)); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(0), aot_gpr_5); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(0), aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_5 = (2183u << 16u); @@ -2958,14 +2959,14 @@ L_0886D1E0: aot_gpr_5 = (aot_gpr_5 + static_cast(48)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); - ctx.gpr[6] = (aot_gpr_4 + static_cast(4)); + aot_gpr_6 = (aot_gpr_4 + static_cast(4)); ctx.gpr[7] = (std::bit_cast(aot_fpr_12)); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(8))); aot_gpr_5 = (std::bit_cast(aot_fpr_13)); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(0), ctx.gpr[7]); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(0), ctx.gpr[7]); ctx.gpr[7] = (std::bit_cast(aot_fpr_14)); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(4), aot_gpr_5); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(8), ctx.gpr[7]); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(4), aot_gpr_5); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(8), ctx.gpr[7]); aot_gpr_5 = (0u + static_cast(-1)); jump_target = aot_gpr_31; aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(20), aot_gpr_5); @@ -2976,13 +2977,13 @@ L_0886D1E0: L_0886D224: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - ctx.gpr[6] = (aot_gpr_5 | 0u); + aot_gpr_6 = (aot_gpr_5 | 0u); aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(16), aot_gpr_16); - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(0))); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); aot_gpr_5 = (aot_gpr_5 + static_cast(24)); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(0), aot_gpr_5); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(0), aot_gpr_5); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (2183u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); @@ -3004,18 +3005,18 @@ L_0886D270: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); aot_gpr_31 = (0x0886D28Cu); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0076_entry, 76u, 43u, 0x08934354u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886D28Cu) goto L_0886D28C; AOT_REGCACHE_SYNC_OUT(); return; L_0886D28C: - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); aot_gpr_5 = (2183u << 16u); aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); - aot_gpr_4 = (aot_gpr_17 | 0u); - ctx.gpr[6] = (aot_gpr_29 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_6 = (aot_gpr_29 | 0u); aot_gpr_31 = (0x0886D2A8u); aot_gpr_5 = (aot_gpr_5 + static_cast(-11872)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0091_entry, 91u, 614u, 0x08972D0Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886D2A8u) goto L_0886D2A8; @@ -3030,8 +3031,8 @@ L_0886D2B4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_4); aot_gpr_5 = (2183u << 16u); - ctx.gpr[6] = (aot_gpr_29 + static_cast(4)); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_6 = (aot_gpr_29 + static_cast(4)); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0886D2D0u); aot_gpr_5 = (aot_gpr_5 + static_cast(-11740)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0091_entry, 91u, 614u, 0x08972D0Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886D2D0u) goto L_0886D2D0; @@ -3039,7 +3040,7 @@ L_0886D2B4: L_0886D2D0: aot_gpr_5 = (2183u << 16u); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x0886D2E4u); aot_gpr_5 = (aot_gpr_5 + static_cast(-11808)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0197_entry, 197u, 400u, 0x08B19938u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886D2E4u) goto L_0886D2E4; @@ -3052,7 +3053,7 @@ L_0886D2E4: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(8), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -3142,7 +3143,7 @@ L_0886D370: } L_0886D380: { const bool branch_taken = aot_gpr_5 == 0u; - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); if (branch_taken) { goto L_0886D3A0; } @@ -3164,7 +3165,7 @@ L_0886D3A0: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(36), std::bit_cast(aot_fpr_12)); goto L_0886D3A4; L_0886D3A4: - aot_gpr_4 = (ctx.gpr[6] | 0u); + aot_gpr_4 = (aot_gpr_6 | 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -3210,7 +3211,7 @@ L_0886D3D0: goto L_0886D3E8; } L_0886D3E8: - { const bool branch_taken = ctx.gpr[6] == 0u; + { const bool branch_taken = aot_gpr_6 == 0u; // nop if (branch_taken) { goto L_0886D408; @@ -3219,7 +3220,7 @@ L_0886D3E8: } L_0886D3F0: ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); - ctx.gpr[8] = (ctx.gpr[8] & ctx.gpr[6]); + ctx.gpr[8] = (ctx.gpr[8] & aot_gpr_6); ctx.gpr[8] = (0u < ctx.gpr[8] ? 1u : 0u); ctx.gpr[8] = (ctx.gpr[8] & 255u); { const bool branch_taken = ctx.gpr[8] != 0u; @@ -3264,11 +3265,11 @@ L_0886D430: AOT_REGCACHE_SYNC_OUT(); return; L_0886D43C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(24))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(24))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); - { const bool branch_taken = aot_gpr_17 == 0u; + { const bool branch_taken = ctx.gpr[17] == 0u; aot_gpr_16 = (aot_gpr_5 | 0u); if (branch_taken) { goto L_0886D46C; @@ -3276,8 +3277,8 @@ L_0886D43C: goto L_0886D458; } L_0886D458: - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); - { const bool branch_taken = aot_gpr_17 != 0u; + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); + { const bool branch_taken = ctx.gpr[17] != 0u; // nop if (branch_taken) { goto L_0886D474; @@ -3301,9 +3302,9 @@ L_0886D46C: goto L_0886D474; } L_0886D474: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); { const bool branch_taken = aot_gpr_16 == 0u; - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); if (branch_taken) { goto L_0886D498; } @@ -3327,7 +3328,7 @@ L_0886D498: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0034_entry, 34u, 611u, 0x0888FE40u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886D4A0u) goto L_0886D4A0; AOT_REGCACHE_SYNC_OUT(); return; L_0886D4A0: - { const bool branch_taken = aot_gpr_17 != 0u; + { const bool branch_taken = ctx.gpr[17] != 0u; // nop if (branch_taken) { goto L_0886D474; @@ -3338,7 +3339,7 @@ L_0886D4A8: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -3498,11 +3499,11 @@ L_0886D580: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), ctx.gpr[20]); aot_gpr_16 = (aot_gpr_4 | 0u); - { const std::uint32_t aot_run_words[3]{aot_gpr_17, ctx.gpr[18], ctx.gpr[19]}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(20), aot_run_words); } ctx.gpr[19] = (ctx.gpr[9] & 255u); - aot_gpr_17 = (aot_gpr_5 | 0u); - ctx.gpr[18] = (ctx.gpr[6] | 0u); + ctx.gpr[17] = (aot_gpr_5 | 0u); + ctx.gpr[18] = (aot_gpr_6 | 0u); { const std::uint32_t aot_run_words[5]{ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(36), aot_run_words); } ctx.gpr[20] = (ctx.lo); @@ -3564,7 +3565,7 @@ L_0886D62C: L_0886D630: ctx.gpr[22] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); ctx.gpr[21] = (ctx.gpr[23] | 0u); - { const bool branch_taken = ctx.gpr[22] == aot_gpr_17; + { const bool branch_taken = ctx.gpr[22] == ctx.gpr[17]; aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(8), static_cast(0u)); if (branch_taken) { goto L_0886D728; @@ -3580,7 +3581,7 @@ L_0886D640: goto L_0886D64C; L_0886D64C: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(4))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(0))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(0))); aot_gpr_31 = (0x0886D65Cu); aot_gpr_4 = (ctx.gpr[30] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 283u, 0x08B653C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886D65Cu) goto L_0886D65C; @@ -3629,12 +3630,12 @@ L_0886D65C: aot_gpr_5 = (ctx.gpr[23] | 0u); goto L_0886D700; L_0886D700: - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(48))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(48))); ctx.gpr[30] = (ctx.gpr[30] + static_cast(1)); - aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(48), ctx.gpr[6]); + aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(48), aot_gpr_6); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); - ctx.gpr[6] = (static_cast(ctx.gpr[30]) < 6 ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] != 0u; + aot_gpr_6 = (static_cast(ctx.gpr[30]) < 6 ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 != 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(4)); if (branch_taken) { goto L_0886D700; @@ -3645,7 +3646,7 @@ L_0886D71C: ctx.gpr[22] = (ctx.gpr[22] + static_cast(72)); goto L_0886D720; L_0886D720: - { const bool branch_taken = ctx.gpr[22] != aot_gpr_17; + { const bool branch_taken = ctx.gpr[22] != ctx.gpr[17]; ctx.gpr[23] = (ctx.gpr[23] + static_cast(72)); if (branch_taken) { goto L_0886D640; @@ -3673,7 +3674,7 @@ L_0886D738: } L_0886D744: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); aot_gpr_31 = (0x0886D754u); aot_gpr_4 = (ctx.gpr[22] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 283u, 0x08B653C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886D754u) goto L_0886D754; @@ -3759,7 +3760,7 @@ L_0886D824: goto L_0886D830; L_0886D830: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); aot_gpr_31 = (0x0886D840u); aot_gpr_4 = (ctx.gpr[30] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 283u, 0x08B653C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886D840u) goto L_0886D840; @@ -3808,12 +3809,12 @@ L_0886D840: aot_gpr_5 = (ctx.gpr[23] | 0u); goto L_0886D8E4; L_0886D8E4: - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(48))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(48))); ctx.gpr[30] = (ctx.gpr[30] + static_cast(1)); - aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(48), ctx.gpr[6]); + aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(48), aot_gpr_6); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); - ctx.gpr[6] = (static_cast(ctx.gpr[30]) < 6 ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] != 0u; + aot_gpr_6 = (static_cast(ctx.gpr[30]) < 6 ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 != 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(4)); if (branch_taken) { goto L_0886D8E4; @@ -3844,7 +3845,7 @@ L_0886D910: } L_0886D918: ctx.gpr[18] = (aot_gpr_4 | 0u); - { const bool branch_taken = aot_gpr_17 == ctx.gpr[18]; + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[18]; aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(10), static_cast(0u)); if (branch_taken) { goto L_0886DA10; @@ -3854,67 +3855,67 @@ L_0886D918: L_0886D924: ctx.gpr[19] = (ctx.gpr[23] | 0u); if (ctx.gpr[19] == 0u) { - aot_gpr_17 = (aot_gpr_17 + static_cast(72)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(72)); goto L_0886DA04; } goto L_0886D930; L_0886D930: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_gpr_31 = (0x0886D940u); aot_gpr_4 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 283u, 0x08B653C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886D940u) goto L_0886D940; AOT_REGCACHE_SYNC_OUT(); return; L_0886D940: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(8), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(12))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(12))); aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(12), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(16))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(16))); aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(16), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(20))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(20))); aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(20), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(24))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(24))); aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(24), aot_gpr_4); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(28))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(28))); aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(28), std::bit_cast(aot_fpr_12)); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(32))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(32))); aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(32), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(33))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(33))); aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(33), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(34))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(34))); aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(34), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(35))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(35))); aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(35), static_cast(aot_gpr_4)); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(36)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(36)))))); aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(36), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(37))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(37))); aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(37), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(38))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(38))); aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(38), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(39))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(39))); aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(39), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(40))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(40))); aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(40), static_cast(aot_gpr_4)); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(41)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(41)))))); aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(41), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(42))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(42))); aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(42), static_cast(aot_gpr_4)); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(44)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(44)))))); aot_mem.aot_direct_store16(ctx.gpr[19] + static_cast(44), static_cast(aot_gpr_4)); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(46)))))); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(46)))))); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_mem.aot_direct_store16(ctx.gpr[19] + static_cast(46), static_cast(aot_gpr_5)); ctx.gpr[19] = (0u | 0u); aot_gpr_5 = (ctx.gpr[23] | 0u); goto L_0886D9E4; L_0886D9E4: - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(48))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(48))); ctx.gpr[19] = (ctx.gpr[19] + static_cast(1)); - aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(48), ctx.gpr[6]); + aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(48), aot_gpr_6); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); - ctx.gpr[6] = (static_cast(ctx.gpr[19]) < 6 ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] != 0u; + aot_gpr_6 = (static_cast(ctx.gpr[19]) < 6 ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 != 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(4)); if (branch_taken) { goto L_0886D9E4; @@ -3922,10 +3923,10 @@ L_0886D9E4: goto L_0886DA00; } L_0886DA00: - aot_gpr_17 = (aot_gpr_17 + static_cast(72)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(72)); goto L_0886DA04; L_0886DA04: - { const bool branch_taken = aot_gpr_17 != ctx.gpr[18]; + { const bool branch_taken = ctx.gpr[17] != ctx.gpr[18]; ctx.gpr[23] = (ctx.gpr[23] + static_cast(72)); if (branch_taken) { goto L_0886D924; @@ -3936,10 +3937,10 @@ L_0886DA0C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); goto L_0886DA10; L_0886DA10: - aot_gpr_17 = (aot_gpr_4 | 0u); + ctx.gpr[17] = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); ctx.gpr[18] = (aot_gpr_4 | 0u); - { const bool branch_taken = ctx.gpr[18] == aot_gpr_17; + { const bool branch_taken = ctx.gpr[18] == ctx.gpr[17]; aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(11), static_cast(0u)); if (branch_taken) { goto L_0886DA64; @@ -3975,13 +3976,13 @@ L_0886DA40: L_0886DA4C: aot_gpr_31 = (0x0886DA54u); aot_gpr_4 = (ctx.gpr[22] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886DA54u) goto L_0886DA54; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886DA54u) goto L_0886DA54; AOT_REGCACHE_SYNC_OUT(); return; L_0886DA54: ctx.gpr[18] = (ctx.gpr[18] + static_cast(72)); goto L_0886DA58; L_0886DA58: - { const bool branch_taken = ctx.gpr[18] != aot_gpr_17; + { const bool branch_taken = ctx.gpr[18] != ctx.gpr[17]; // nop if (branch_taken) { goto L_0886DA30; @@ -4002,7 +4003,7 @@ L_0886DA64: L_0886DA6C: aot_gpr_31 = (0x0886DA74u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886DA74u) goto L_0886DA74; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886DA74u) goto L_0886DA74; AOT_REGCACHE_SYNC_OUT(); return; L_0886DA74: aot_gpr_4 = (ctx.gpr[20] << 6u); @@ -4015,7 +4016,7 @@ L_0886DA74: { std::uint32_t aot_run_words[10]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -4049,15 +4050,15 @@ L_0886DADC: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); - { const std::uint32_t aot_run_words[4]{aot_gpr_17, ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(4), aot_run_words); } aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(12))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); ctx.gpr[19] = (0u | 0u); aot_gpr_4 = (aot_gpr_4 - aot_gpr_5); - ctx.gpr[6] = (static_cast(static_cast(aot_gpr_4) >> 2u)); - ctx.gpr[6] = (ctx.gpr[6] >> 30u); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_6 = (static_cast(static_cast(aot_gpr_4) >> 2u)); + aot_gpr_6 = (aot_gpr_6 >> 30u); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 2u)); aot_gpr_4 = (ctx.gpr[19] < aot_gpr_4 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; @@ -4068,11 +4069,11 @@ L_0886DADC: goto L_0886DB24; } L_0886DB24: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); goto L_0886DB28; L_0886DB28: { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_4 = (aot_gpr_5 + aot_gpr_17); + aot_gpr_4 = (aot_gpr_5 + ctx.gpr[17]); if (branch_taken) { goto L_0886DB48; } @@ -4081,7 +4082,7 @@ L_0886DB28: L_0886DB30: aot_gpr_31 = (0x0886DB38u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886DB38u) goto L_0886DB38; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0893685C, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886DB38u) goto L_0886DB38; AOT_REGCACHE_SYNC_OUT(); return; L_0886DB38: aot_gpr_31 = (0x0886DB40u); @@ -4090,7 +4091,7 @@ L_0886DB38: AOT_REGCACHE_SYNC_OUT(); return; L_0886DB40: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); - aot_gpr_4 = (aot_gpr_5 + aot_gpr_17); + aot_gpr_4 = (aot_gpr_5 + ctx.gpr[17]); goto L_0886DB48; L_0886DB48: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); @@ -4102,13 +4103,13 @@ L_0886DB54: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); ctx.gpr[19] = (ctx.gpr[19] + static_cast(1)); aot_gpr_4 = (aot_gpr_4 - aot_gpr_5); - ctx.gpr[6] = (static_cast(static_cast(aot_gpr_4) >> 2u)); - ctx.gpr[6] = (ctx.gpr[6] >> 30u); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_6 = (static_cast(static_cast(aot_gpr_4) >> 2u)); + aot_gpr_6 = (aot_gpr_6 >> 30u); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 2u)); aot_gpr_4 = (ctx.gpr[19] < aot_gpr_4 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(4)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(4)); if (branch_taken) { goto L_0886DB28; } @@ -4118,7 +4119,7 @@ L_0886DB80: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; @@ -4133,7 +4134,7 @@ L_0886DB9C: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), ctx.gpr[22]); ctx.gpr[22] = (aot_gpr_4 | 0u); - { const std::uint32_t aot_run_words[6]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21]}; + { const std::uint32_t aot_run_words[6]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(8), aot_run_words); } { const std::uint32_t aot_run_words[3]{ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(36), aot_run_words); } @@ -4171,7 +4172,7 @@ L_0886DC0C: L_0886DC14: aot_gpr_31 = (0x0886DC1Cu); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886DC1Cu) goto L_0886DC1C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0893685C, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886DC1Cu) goto L_0886DC1C; AOT_REGCACHE_SYNC_OUT(); return; L_0886DC1C: aot_gpr_31 = (0x0886DC24u); @@ -4189,7 +4190,7 @@ L_0886DC2C: aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(4))); aot_gpr_4 = (aot_gpr_16 - aot_gpr_16); { const std::int32_t dividend = static_cast(aot_gpr_4); const std::int32_t divisor = static_cast(aot_gpr_5); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } - aot_gpr_17 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(0))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(0))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(0), static_cast(0u)); ctx.gpr[18] = (ctx.lo); { const bool branch_taken = static_cast(ctx.gpr[18]) <= 0; @@ -4201,66 +4202,66 @@ L_0886DC2C: } L_0886DC58: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); aot_gpr_31 = (0x0886DC68u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 319u, 0x08B655B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886DC68u) goto L_0886DC68; AOT_REGCACHE_SYNC_OUT(); return; L_0886DC68: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(8), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(8), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(12))); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(12), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(12), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(16), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(16), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); aot_gpr_5 = (aot_gpr_16 + static_cast(32)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(20), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(20), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(24), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(24), aot_gpr_4); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(28))); - aot_gpr_4 = (aot_gpr_17 + static_cast(32)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(28), std::bit_cast(aot_fpr_12)); - ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0))); + aot_gpr_4 = (ctx.gpr[17] + static_cast(32)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(28), std::bit_cast(aot_fpr_12)); + aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0))); ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(1))); ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(2))); - aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(ctx.gpr[6])); + aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_6)); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(3))); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(1), static_cast(ctx.gpr[7])); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(2), static_cast(ctx.gpr[8])); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(3), static_cast(aot_gpr_5)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(36)))))); aot_gpr_5 = (aot_gpr_16 + static_cast(37)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(36), static_cast(aot_gpr_4)); - ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0))); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(36), static_cast(aot_gpr_4)); + aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0))); ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(1))); - aot_gpr_4 = (aot_gpr_17 + static_cast(37)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(37)); ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(2))); - aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(ctx.gpr[6])); + aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_6)); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(3))); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(1), static_cast(ctx.gpr[7])); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(2), static_cast(ctx.gpr[8])); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(3), static_cast(aot_gpr_5)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(41)))))); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(41), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(41), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(42))); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(42), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(42), static_cast(aot_gpr_4)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(44)))))); aot_gpr_4 = (0u | 0u); - aot_mem.aot_direct_store16(aot_gpr_17 + static_cast(44), static_cast(aot_gpr_5)); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(46)))))); + aot_mem.aot_direct_store16(ctx.gpr[17] + static_cast(44), static_cast(aot_gpr_5)); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(46)))))); aot_gpr_5 = (aot_gpr_16 | 0u); - aot_mem.aot_direct_store16(aot_gpr_17 + static_cast(46), static_cast(ctx.gpr[6])); - ctx.gpr[6] = (aot_gpr_17 | 0u); + aot_mem.aot_direct_store16(ctx.gpr[17] + static_cast(46), static_cast(aot_gpr_6)); + aot_gpr_6 = (ctx.gpr[17] | 0u); goto L_0886DD1C; L_0886DD1C: ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(48))); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(48), ctx.gpr[7]); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(48), ctx.gpr[7]); aot_gpr_5 = (aot_gpr_5 + static_cast(4)); ctx.gpr[7] = (static_cast(aot_gpr_4) < 6 ? 1u : 0u); { const bool branch_taken = ctx.gpr[7] != 0u; - ctx.gpr[6] = (ctx.gpr[6] + static_cast(4)); + aot_gpr_6 = (aot_gpr_6 + static_cast(4)); if (branch_taken) { goto L_0886DD1C; } @@ -4270,7 +4271,7 @@ L_0886DD38: aot_gpr_16 = (aot_gpr_16 + static_cast(72)); ctx.gpr[18] = (ctx.gpr[18] + static_cast(-1)); { const bool branch_taken = static_cast(ctx.gpr[18]) > 0; - aot_gpr_17 = (aot_gpr_17 + static_cast(72)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(72)); if (branch_taken) { goto L_0886DC58; } @@ -4278,8 +4279,8 @@ L_0886DD38: } L_0886DD48: aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(4))); - ctx.gpr[18] = (aot_gpr_17 | 0u); - { const bool branch_taken = aot_gpr_17 == aot_gpr_16; + ctx.gpr[18] = (ctx.gpr[17] | 0u); + { const bool branch_taken = ctx.gpr[17] == aot_gpr_16; aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(1), static_cast(0u)); if (branch_taken) { goto L_0886DD88; @@ -4287,19 +4288,19 @@ L_0886DD48: goto L_0886DD58; } L_0886DD58: - if (aot_gpr_17 == 0u) { - aot_gpr_17 = (aot_gpr_17 + static_cast(72)); + if (ctx.gpr[17] == 0u) { + ctx.gpr[17] = (ctx.gpr[17] + static_cast(72)); goto L_0886DD80; } goto L_0886DD60; L_0886DD60: - if (aot_gpr_17 == 0u) { - aot_gpr_17 = (aot_gpr_17 + static_cast(72)); + if (ctx.gpr[17] == 0u) { + ctx.gpr[17] = (ctx.gpr[17] + static_cast(72)); goto L_0886DD80; } goto L_0886DD68; L_0886DD68: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); { const bool branch_taken = aot_gpr_4 == ctx.gpr[20]; aot_gpr_5 = (aot_gpr_4 | 0u); if (branch_taken) { @@ -4310,13 +4311,13 @@ L_0886DD68: L_0886DD74: aot_gpr_31 = (0x0886DD7Cu); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886DD7Cu) goto L_0886DD7C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886DD7Cu) goto L_0886DD7C; AOT_REGCACHE_SYNC_OUT(); return; L_0886DD7C: - aot_gpr_17 = (aot_gpr_17 + static_cast(72)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(72)); goto L_0886DD80; L_0886DD80: - { const bool branch_taken = aot_gpr_17 != aot_gpr_16; + { const bool branch_taken = ctx.gpr[17] != aot_gpr_16; // nop if (branch_taken) { goto L_0886DD58; @@ -4343,7 +4344,7 @@ L_0886DD88: L_0886DDB4: aot_gpr_31 = (0x0886DDBCu); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886DDBCu) goto L_0886DDBC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0893685C, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886DDBCu) goto L_0886DDBC; AOT_REGCACHE_SYNC_OUT(); return; L_0886DDBC: aot_gpr_31 = (0x0886DDC4u); @@ -4377,7 +4378,7 @@ L_0886DE00: { std::uint32_t aot_run_words[10]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(8), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -4413,12 +4414,12 @@ L_0886DE30: } L_0886DE60: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[7]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[6]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_5); aot_gpr_31 = (0x0886DE78u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-28848)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886DE78u) goto L_0886DE78; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0893685C, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886DE78u) goto L_0886DE78; AOT_REGCACHE_SYNC_OUT(); return; L_0886DE78: aot_gpr_31 = (0x0886DE80u); @@ -4430,7 +4431,7 @@ L_0886DE80: aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_4 = aot_run_words[0]; aot_gpr_5 = aot_run_words[1]; - ctx.gpr[6] = aot_run_words[2]; + aot_gpr_6 = aot_run_words[2]; ctx.gpr[7] = aot_run_words[3]; } goto L_0886DE90; @@ -4439,7 +4440,7 @@ L_0886DE90: aot_gpr_5 = (aot_gpr_5 << 2u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), ctx.gpr[6]); + aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(8), ctx.gpr[7]); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); jump_target = aot_gpr_31; @@ -4468,12 +4469,12 @@ L_0886DEB4: } L_0886DEE4: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[7]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[6]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_5); aot_gpr_31 = (0x0886DEFCu); aot_gpr_4 = (ctx.gpr[28] + static_cast(-28848)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886DEFCu) goto L_0886DEFC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0893685C, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886DEFCu) goto L_0886DEFC; AOT_REGCACHE_SYNC_OUT(); return; L_0886DEFC: aot_gpr_31 = (0x0886DF04u); @@ -4485,7 +4486,7 @@ L_0886DF04: aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_4 = aot_run_words[0]; aot_gpr_5 = aot_run_words[1]; - ctx.gpr[6] = aot_run_words[2]; + aot_gpr_6 = aot_run_words[2]; ctx.gpr[7] = aot_run_words[3]; } goto L_0886DF14; @@ -4494,7 +4495,7 @@ L_0886DF14: aot_gpr_5 = (aot_gpr_5 << 2u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(12), ctx.gpr[6]); + aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(12), aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(16), ctx.gpr[7]); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); jump_target = aot_gpr_31; @@ -4520,11 +4521,11 @@ L_0886DF38: } goto L_0886DF68; L_0886DF68: - { const std::uint32_t aot_run_words[3]{ctx.gpr[6], aot_gpr_4, aot_gpr_5}; + { const std::uint32_t aot_run_words[3]{aot_gpr_6, aot_gpr_4, aot_gpr_5}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_31 = (0x0886DF7Cu); aot_gpr_4 = (ctx.gpr[28] + static_cast(-28848)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886DF7Cu) goto L_0886DF7C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0893685C, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886DF7Cu) goto L_0886DF7C; AOT_REGCACHE_SYNC_OUT(); return; L_0886DF7C: aot_gpr_31 = (0x0886DF84u); @@ -4534,19 +4535,19 @@ L_0886DF7C: L_0886DF84: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); goto L_0886DF94; L_0886DF94: aot_gpr_5 = (aot_gpr_5 << 2u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[6] + static_cast(0))); - ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[6] + static_cast(1))); + aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_6 + static_cast(0))); + ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_6 + static_cast(1))); aot_gpr_4 = (aot_gpr_4 + static_cast(24)); - ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[6] + static_cast(2))); + ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_6 + static_cast(2))); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_5)); - aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[6] + static_cast(3))); + aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_6 + static_cast(3))); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(1), static_cast(ctx.gpr[7])); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(2), static_cast(ctx.gpr[8])); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(3), static_cast(aot_gpr_5)); @@ -4574,11 +4575,11 @@ L_0886DFD0: } goto L_0886E000; L_0886E000: - { const std::uint32_t aot_run_words[3]{ctx.gpr[6], aot_gpr_4, aot_gpr_5}; + { const std::uint32_t aot_run_words[3]{aot_gpr_6, aot_gpr_4, aot_gpr_5}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_31 = (0x0886E014u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-28848)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886E014u) goto L_0886E014; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0893685C, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886E014u) goto L_0886E014; AOT_REGCACHE_SYNC_OUT(); return; L_0886E014: aot_gpr_31 = (0x0886E01Cu); @@ -4588,19 +4589,19 @@ L_0886E014: L_0886E01C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); goto L_0886E02C; L_0886E02C: aot_gpr_5 = (aot_gpr_5 << 2u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[6] + static_cast(0))); - ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[6] + static_cast(1))); + aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_6 + static_cast(0))); + ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_6 + static_cast(1))); aot_gpr_4 = (aot_gpr_4 + static_cast(28)); - ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[6] + static_cast(2))); + ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_6 + static_cast(2))); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_5)); - aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[6] + static_cast(3))); + aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_6 + static_cast(3))); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(1), static_cast(ctx.gpr[7])); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(2), static_cast(ctx.gpr[8])); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(3), static_cast(aot_gpr_5)); @@ -4623,19 +4624,19 @@ L_0886E068: ctx.gpr[7] = (aot_gpr_5 < ctx.gpr[7] ? 1u : 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); { const bool branch_taken = ctx.gpr[7] != 0u; - ctx.gpr[6] = (ctx.gpr[6] & 255u); + aot_gpr_6 = (aot_gpr_6 & 255u); if (branch_taken) { goto L_0886E0C0; } goto L_0886E098; } L_0886E098: - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(8), static_cast(ctx.gpr[6])); + aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(8), static_cast(aot_gpr_6)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_5); aot_gpr_31 = (0x0886E0ACu); aot_gpr_4 = (ctx.gpr[28] + static_cast(-28848)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886E0ACu) goto L_0886E0AC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0893685C, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886E0ACu) goto L_0886E0AC; AOT_REGCACHE_SYNC_OUT(); return; L_0886E0AC: aot_gpr_31 = (0x0886E0B4u); @@ -4645,14 +4646,14 @@ L_0886E0AC: L_0886E0B4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); - ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(8))); + aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(8))); goto L_0886E0C0; L_0886E0C0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); aot_gpr_5 = (aot_gpr_5 << 2u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(ctx.gpr[6])); + aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_6)); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -4671,13 +4672,13 @@ L_0886E0E0: ctx.gpr[2] = (ctx.gpr[2] >> 30u); ctx.gpr[9] = (ctx.gpr[9] + ctx.gpr[2]); ctx.gpr[9] = (static_cast(static_cast(ctx.gpr[9]) >> 2u)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, ctx.gpr[18]}; + { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(88), aot_run_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(108), ctx.gpr[21]); ctx.gpr[9] = (aot_gpr_5 < ctx.gpr[9] ? 1u : 0u); ctx.gpr[21] = (ctx.gpr[28] + static_cast(5824)); aot_gpr_16 = (ctx.gpr[7] | 0u); - aot_gpr_17 = (ctx.gpr[8] | 0u); + ctx.gpr[17] = (ctx.gpr[8] | 0u); ctx.gpr[18] = (ctx.gpr[10] | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(100), ctx.gpr[19]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(112), ctx.gpr[22]); @@ -4692,10 +4693,10 @@ L_0886E0E0: L_0886E140: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(84), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(80), aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(76), ctx.gpr[6]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(76), aot_gpr_6); aot_gpr_31 = (0x0886E154u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-28848)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886E154u) goto L_0886E154; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0893685C, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886E154u) goto L_0886E154; AOT_REGCACHE_SYNC_OUT(); return; L_0886E154: aot_gpr_31 = (0x0886E15Cu); @@ -4705,7 +4706,7 @@ L_0886E154: L_0886E15C: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(76), aot_run_words); - ctx.gpr[6] = aot_run_words[0]; + aot_gpr_6 = aot_run_words[0]; aot_gpr_5 = aot_run_words[1]; aot_gpr_4 = aot_run_words[2]; } @@ -4747,29 +4748,29 @@ L_0886E168: aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(46), static_cast(0u)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(20), aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[7]); - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(4))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(0))); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(4))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); aot_gpr_31 = (0x0886E208u); aot_gpr_4 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 319u, 0x08B655B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886E208u) goto L_0886E208; AOT_REGCACHE_SYNC_OUT(); return; L_0886E208: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[22]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[17]); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(42), static_cast(ctx.gpr[20])); aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(44), static_cast(ctx.gpr[18])); aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(46), static_cast(ctx.gpr[19])); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(36))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(40))); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; - aot_gpr_17 = (aot_gpr_4 | 0u); + ctx.gpr[17] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_0886E318; } goto L_0886E22C; } L_0886E22C: - { const bool branch_taken = aot_gpr_17 == 0u; + { const bool branch_taken = ctx.gpr[17] == 0u; aot_gpr_4 = (aot_gpr_4 + static_cast(72)); if (branch_taken) { goto L_0886E308; @@ -4778,61 +4779,61 @@ L_0886E22C: } L_0886E234: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (0x0886E244u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 283u, 0x08B653C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886E244u) goto L_0886E244; AOT_REGCACHE_SYNC_OUT(); return; L_0886E244: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(8), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(8), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(12), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(12), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(16), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(16), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(20), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(20), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(24), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(24), aot_gpr_4); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(28))); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(28), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(28), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(32))); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(32), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(32), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(33))); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(33), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(33), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(34))); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(34), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(34), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(35))); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(35), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(35), static_cast(aot_gpr_4)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(36)))))); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(36), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(36), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(37))); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(37), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(37), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(38))); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(38), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(38), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(39))); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(39), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(39), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(40))); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(40), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(40), static_cast(aot_gpr_4)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(41)))))); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(41), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(41), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(42))); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(42), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(42), static_cast(aot_gpr_4)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(44)))))); aot_gpr_4 = (0u | 0u); - aot_mem.aot_direct_store16(aot_gpr_17 + static_cast(44), static_cast(aot_gpr_5)); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(46)))))); + aot_mem.aot_direct_store16(ctx.gpr[17] + static_cast(44), static_cast(aot_gpr_5)); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(46)))))); aot_gpr_5 = (aot_gpr_29 | 0u); - aot_mem.aot_direct_store16(aot_gpr_17 + static_cast(46), static_cast(ctx.gpr[6])); + aot_mem.aot_direct_store16(ctx.gpr[17] + static_cast(46), static_cast(aot_gpr_6)); goto L_0886E2E4; L_0886E2E4: - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(48))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(48))); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(48), ctx.gpr[6]); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(48), aot_gpr_6); aot_gpr_5 = (aot_gpr_5 + static_cast(4)); - ctx.gpr[6] = (static_cast(aot_gpr_4) < 6 ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] != 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(4)); + aot_gpr_6 = (static_cast(aot_gpr_4) < 6 ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 != 0u; + ctx.gpr[17] = (ctx.gpr[17] + static_cast(4)); if (branch_taken) { goto L_0886E2E4; } @@ -4857,7 +4858,7 @@ L_0886E318: aot_gpr_4 = (aot_gpr_16 + static_cast(32)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(72), static_cast(0u)); ctx.gpr[7] = (aot_gpr_29 + static_cast(72)); - ctx.gpr[6] = (aot_gpr_29 | 0u); + aot_gpr_6 = (aot_gpr_29 | 0u); ctx.gpr[8] = (0u | 1u); aot_gpr_31 = (0x0886E338u); ctx.gpr[9] = (0u | 1u); @@ -4878,14 +4879,14 @@ L_0886E348: aot_gpr_4 = (2236u << 16u); aot_gpr_31 = (0x0886E354u); aot_gpr_4 = (aot_gpr_4 + static_cast(25856)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886E354u) goto L_0886E354; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886E354u) goto L_0886E354; AOT_REGCACHE_SYNC_OUT(); return; L_0886E354: ctx.gpr[2] = (aot_gpr_16 | 0u); { std::uint32_t aot_run_words[8]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(88), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -4912,11 +4913,11 @@ L_0886E380: ctx.gpr[15] = (ctx.gpr[15] >> 30u); ctx.gpr[14] = (ctx.gpr[14] + ctx.gpr[15]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(116), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(120), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(120), ctx.gpr[17]); aot_gpr_16 = (ctx.gpr[7] | 0u); ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(152))); ctx.gpr[14] = (static_cast(static_cast(ctx.gpr[14]) >> 2u)); - aot_gpr_17 = (ctx.gpr[8] | 0u); + ctx.gpr[17] = (ctx.gpr[8] | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(124), ctx.gpr[18]); ctx.gpr[7] = (ctx.gpr[9] | 0u); ctx.gpr[3] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(156))); @@ -4935,7 +4936,7 @@ L_0886E380: L_0886E3EC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(112), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(108), aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(104), ctx.gpr[6]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(104), aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(100), ctx.gpr[7]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(96), ctx.gpr[8]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(92), ctx.gpr[9]); @@ -4945,7 +4946,7 @@ L_0886E3EC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(76), ctx.gpr[3]); aot_gpr_31 = (0x0886E41Cu); aot_gpr_4 = (ctx.gpr[28] + static_cast(-28848)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886E41Cu) goto L_0886E41C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0893685C, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886E41Cu) goto L_0886E41C; AOT_REGCACHE_SYNC_OUT(); return; L_0886E41C: aot_gpr_31 = (0x0886E424u); @@ -4962,7 +4963,7 @@ L_0886E424: ctx.gpr[9] = aot_run_words[4]; ctx.gpr[8] = aot_run_words[5]; ctx.gpr[7] = aot_run_words[6]; - ctx.gpr[6] = aot_run_words[7]; + aot_gpr_6 = aot_run_words[7]; aot_gpr_5 = aot_run_words[8]; aot_gpr_4 = aot_run_words[9]; } @@ -5006,27 +5007,27 @@ L_0886E44C: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(41), static_cast(ctx.gpr[7])); { const std::uint32_t aot_run_words[5]{ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], ctx.gpr[2]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(48), aot_run_words); } - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), ctx.gpr[3]); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(0))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); aot_gpr_31 = (0x0886E504u); aot_gpr_4 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 319u, 0x08B655B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886E504u) goto L_0886E504; AOT_REGCACHE_SYNC_OUT(); return; L_0886E504: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[19]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[17]); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(36))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(40))); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; - aot_gpr_17 = (aot_gpr_4 | 0u); + ctx.gpr[17] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_0886E608; } goto L_0886E51C; } L_0886E51C: - { const bool branch_taken = aot_gpr_17 == 0u; + { const bool branch_taken = ctx.gpr[17] == 0u; aot_gpr_4 = (aot_gpr_4 + static_cast(72)); if (branch_taken) { goto L_0886E5F8; @@ -5035,61 +5036,61 @@ L_0886E51C: } L_0886E524: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (0x0886E534u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 283u, 0x08B653C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886E534u) goto L_0886E534; AOT_REGCACHE_SYNC_OUT(); return; L_0886E534: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(8), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(8), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(12), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(12), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(16), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(16), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(20), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(20), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(24), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(24), aot_gpr_4); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(28))); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(28), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(28), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(32))); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(32), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(32), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(33))); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(33), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(33), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(34))); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(34), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(34), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(35))); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(35), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(35), static_cast(aot_gpr_4)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(36)))))); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(36), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(36), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(37))); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(37), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(37), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(38))); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(38), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(38), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(39))); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(39), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(39), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(40))); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(40), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(40), static_cast(aot_gpr_4)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(41)))))); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(41), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(41), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(42))); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(42), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(42), static_cast(aot_gpr_4)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(44)))))); aot_gpr_4 = (0u | 0u); - aot_mem.aot_direct_store16(aot_gpr_17 + static_cast(44), static_cast(aot_gpr_5)); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(46)))))); + aot_mem.aot_direct_store16(ctx.gpr[17] + static_cast(44), static_cast(aot_gpr_5)); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(46)))))); aot_gpr_5 = (aot_gpr_29 | 0u); - aot_mem.aot_direct_store16(aot_gpr_17 + static_cast(46), static_cast(ctx.gpr[6])); + aot_mem.aot_direct_store16(ctx.gpr[17] + static_cast(46), static_cast(aot_gpr_6)); goto L_0886E5D4; L_0886E5D4: - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(48))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(48))); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(48), ctx.gpr[6]); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(48), aot_gpr_6); aot_gpr_5 = (aot_gpr_5 + static_cast(4)); - ctx.gpr[6] = (static_cast(aot_gpr_4) < 6 ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] != 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(4)); + aot_gpr_6 = (static_cast(aot_gpr_4) < 6 ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 != 0u; + ctx.gpr[17] = (ctx.gpr[17] + static_cast(4)); if (branch_taken) { goto L_0886E5D4; } @@ -5114,7 +5115,7 @@ L_0886E608: aot_gpr_4 = (aot_gpr_16 + static_cast(32)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(72), static_cast(0u)); ctx.gpr[7] = (aot_gpr_29 + static_cast(72)); - ctx.gpr[6] = (aot_gpr_29 | 0u); + aot_gpr_6 = (aot_gpr_29 | 0u); ctx.gpr[8] = (0u | 1u); aot_gpr_31 = (0x0886E628u); ctx.gpr[9] = (0u | 1u); @@ -5135,14 +5136,14 @@ L_0886E638: aot_gpr_4 = (2236u << 16u); aot_gpr_31 = (0x0886E644u); aot_gpr_4 = (aot_gpr_4 + static_cast(25856)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886E644u) goto L_0886E644; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886E644u) goto L_0886E644; AOT_REGCACHE_SYNC_OUT(); return; L_0886E644: ctx.gpr[2] = (aot_gpr_16 | 0u); { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(116), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; @@ -5155,17 +5156,17 @@ L_0886E644: AOT_REGCACHE_SYNC_OUT(); return; L_0886E664: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(12))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(12))); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); - ctx.gpr[6] = (ctx.gpr[6] - ctx.gpr[7]); - ctx.gpr[7] = (static_cast(static_cast(ctx.gpr[6]) >> 2u)); + aot_gpr_6 = (aot_gpr_6 - ctx.gpr[7]); + ctx.gpr[7] = (static_cast(static_cast(aot_gpr_6) >> 2u)); ctx.gpr[7] = (ctx.gpr[7] >> 30u); - ctx.gpr[6] = (ctx.gpr[6] + ctx.gpr[7]); - ctx.gpr[6] = (static_cast(static_cast(ctx.gpr[6]) >> 2u)); - ctx.gpr[6] = (aot_gpr_5 < ctx.gpr[6] ? 1u : 0u); - { const std::uint32_t aot_run_words[7]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_31}; + aot_gpr_6 = (aot_gpr_6 + ctx.gpr[7]); + aot_gpr_6 = (static_cast(static_cast(aot_gpr_6) >> 2u)); + aot_gpr_6 = (aot_gpr_5 < aot_gpr_6 ? 1u : 0u); + { const std::uint32_t aot_run_words[7]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(12), aot_run_words); } - if (ctx.gpr[6] != 0u) { + if (aot_gpr_6 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); goto L_0886E6D0; } @@ -5175,7 +5176,7 @@ L_0886E6AC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_5); aot_gpr_31 = (0x0886E6BCu); aot_gpr_4 = (ctx.gpr[28] + static_cast(-28848)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886E6BCu) goto L_0886E6BC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0893685C, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886E6BCu) goto L_0886E6BC; AOT_REGCACHE_SYNC_OUT(); return; L_0886E6BC: aot_gpr_31 = (0x0886E6C4u); @@ -5192,8 +5193,8 @@ L_0886E6D0: aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_5 = (0u | 72u); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(36))); - aot_gpr_4 = (aot_gpr_17 - aot_gpr_17); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(36))); + aot_gpr_4 = (ctx.gpr[17] - ctx.gpr[17]); { const std::int32_t dividend = static_cast(aot_gpr_4); const std::int32_t divisor = static_cast(aot_gpr_5); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(32))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(0), static_cast(0u)); @@ -5206,74 +5207,74 @@ L_0886E6D0: goto L_0886E700; } L_0886E700: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_gpr_31 = (0x0886E710u); aot_gpr_4 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 319u, 0x08B655B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886E710u) goto L_0886E710; AOT_REGCACHE_SYNC_OUT(); return; L_0886E710: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(8), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(12))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(12))); aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(12), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(16))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(16))); aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(16), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(20))); - aot_gpr_5 = (aot_gpr_17 + static_cast(32)); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(20))); + aot_gpr_5 = (ctx.gpr[17] + static_cast(32)); aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(20), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(24))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(24))); aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(24), aot_gpr_4); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(28))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(28))); aot_gpr_4 = (ctx.gpr[19] + static_cast(32)); aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(28), std::bit_cast(aot_fpr_12)); - ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0))); + aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0))); ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(1))); ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(2))); - aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(ctx.gpr[6])); + aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_6)); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(3))); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(1), static_cast(ctx.gpr[7])); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(2), static_cast(ctx.gpr[8])); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(3), static_cast(aot_gpr_5)); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(36)))))); - aot_gpr_5 = (aot_gpr_17 + static_cast(37)); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(36)))))); + aot_gpr_5 = (ctx.gpr[17] + static_cast(37)); aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(36), static_cast(aot_gpr_4)); - ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0))); + aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0))); ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(1))); aot_gpr_4 = (ctx.gpr[19] + static_cast(37)); ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(2))); - aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(ctx.gpr[6])); + aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_6)); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(3))); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(1), static_cast(ctx.gpr[7])); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(2), static_cast(ctx.gpr[8])); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(3), static_cast(aot_gpr_5)); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(41)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(41)))))); aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(41), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(42))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(42))); aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(42), static_cast(aot_gpr_4)); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(44)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(44)))))); aot_gpr_4 = (0u | 0u); aot_mem.aot_direct_store16(ctx.gpr[19] + static_cast(44), static_cast(aot_gpr_5)); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(46)))))); - aot_gpr_5 = (aot_gpr_17 | 0u); - aot_mem.aot_direct_store16(ctx.gpr[19] + static_cast(46), static_cast(ctx.gpr[6])); - ctx.gpr[6] = (ctx.gpr[19] | 0u); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(46)))))); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_mem.aot_direct_store16(ctx.gpr[19] + static_cast(46), static_cast(aot_gpr_6)); + aot_gpr_6 = (ctx.gpr[19] | 0u); goto L_0886E7C4; L_0886E7C4: ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(48))); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(48), ctx.gpr[7]); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(48), ctx.gpr[7]); aot_gpr_5 = (aot_gpr_5 + static_cast(4)); ctx.gpr[7] = (static_cast(aot_gpr_4) < 6 ? 1u : 0u); { const bool branch_taken = ctx.gpr[7] != 0u; - ctx.gpr[6] = (ctx.gpr[6] + static_cast(4)); + aot_gpr_6 = (aot_gpr_6 + static_cast(4)); if (branch_taken) { goto L_0886E7C4; } goto L_0886E7E0; } L_0886E7E0: - aot_gpr_17 = (aot_gpr_17 + static_cast(72)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(72)); ctx.gpr[18] = (ctx.gpr[18] + static_cast(-1)); { const bool branch_taken = static_cast(ctx.gpr[18]) > 0; ctx.gpr[19] = (ctx.gpr[19] + static_cast(72)); @@ -5284,7 +5285,7 @@ L_0886E7E0: } L_0886E7F0: ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(36))); - aot_gpr_17 = (ctx.gpr[19] | 0u); + ctx.gpr[17] = (ctx.gpr[19] | 0u); { const bool branch_taken = ctx.gpr[19] == ctx.gpr[18]; aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(1), static_cast(0u)); if (branch_taken) { @@ -5321,7 +5322,7 @@ L_0886E81C: L_0886E828: aot_gpr_31 = (0x0886E830u); aot_gpr_4 = (ctx.gpr[21] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886E830u) goto L_0886E830; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886E830u) goto L_0886E830; AOT_REGCACHE_SYNC_OUT(); return; L_0886E830: ctx.gpr[19] = (ctx.gpr[19] + static_cast(72)); @@ -5335,11 +5336,11 @@ L_0886E834: goto L_0886E83C; } L_0886E83C: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(36), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(36), ctx.gpr[17]); { std::uint32_t aot_run_words[7]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(12), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -5355,8 +5356,8 @@ L_0886E83C: L_0886E864: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_16); - aot_gpr_16 = (ctx.gpr[6] | 0u); - ctx.gpr[6] = (aot_gpr_5 | 0u); + aot_gpr_16 = (aot_gpr_6 | 0u); + aot_gpr_6 = (aot_gpr_5 | 0u); aot_gpr_5 = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); aot_gpr_31 = (0x0886E884u); @@ -5365,12 +5366,12 @@ L_0886E864: L_0886E884: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(0))); - ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1))); + aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1))); aot_gpr_4 = (aot_gpr_4 + static_cast(32)); ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(2))); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_5)); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(3))); - aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(1), static_cast(ctx.gpr[6])); + aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(1), static_cast(aot_gpr_6)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(2), static_cast(ctx.gpr[7])); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(3), static_cast(aot_gpr_5)); aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); @@ -5383,9 +5384,9 @@ L_0886E884: AOT_REGCACHE_SYNC_OUT(); return; L_0886E8BC: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - ctx.gpr[6] = (aot_gpr_5 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), std::bit_cast(aot_fpr_20)); - aot_fpr_20 = std::bit_cast(std::bit_cast(aot_fpr_12)); + aot_gpr_6 = (aot_gpr_5 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), std::bit_cast(ctx.fpr[20])); + ctx.fpr[20] = std::bit_cast(std::bit_cast(aot_fpr_12)); aot_gpr_5 = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); aot_gpr_31 = (0x0886E8DCu); @@ -5393,8 +5394,8 @@ L_0886E8BC: goto L_0886F208; L_0886E8DC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(28), std::bit_cast(aot_fpr_20)); - aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); + aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(28), std::bit_cast(ctx.fpr[20])); + ctx.fpr[20] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -5405,8 +5406,8 @@ L_0886E8DC: L_0886E8F4: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_16); - aot_gpr_16 = (ctx.gpr[6] | 0u); - ctx.gpr[6] = (aot_gpr_5 | 0u); + aot_gpr_16 = (aot_gpr_6 | 0u); + aot_gpr_6 = (aot_gpr_5 | 0u); aot_gpr_5 = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); aot_gpr_31 = (0x0886E914u); @@ -5426,8 +5427,8 @@ L_0886E914: L_0886E92C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_16); - aot_gpr_16 = (ctx.gpr[6] | 0u); - ctx.gpr[6] = (aot_gpr_5 | 0u); + aot_gpr_16 = (aot_gpr_6 | 0u); + aot_gpr_6 = (aot_gpr_5 | 0u); aot_gpr_5 = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); aot_gpr_31 = (0x0886E94Cu); @@ -5447,11 +5448,11 @@ L_0886E94C: L_0886E964: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_16); - aot_gpr_16 = (ctx.gpr[6] | 0u); - ctx.gpr[6] = (aot_gpr_5 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_17); + aot_gpr_16 = (aot_gpr_6 | 0u); + aot_gpr_6 = (aot_gpr_5 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[17]); aot_gpr_5 = (aot_gpr_4 | 0u); - aot_gpr_17 = (ctx.gpr[7] | 0u); + ctx.gpr[17] = (ctx.gpr[7] | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); aot_gpr_31 = (0x0886E98Cu); aot_gpr_4 = (aot_gpr_29 | 0u); @@ -5459,11 +5460,11 @@ L_0886E964: L_0886E98C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(12), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(16), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(16), ctx.gpr[17]); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(8), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -5475,11 +5476,11 @@ L_0886E98C: L_0886E9AC: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_16); - aot_gpr_16 = (ctx.gpr[6] | 0u); - ctx.gpr[6] = (aot_gpr_5 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_17); + aot_gpr_16 = (aot_gpr_6 | 0u); + aot_gpr_6 = (aot_gpr_5 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[17]); aot_gpr_5 = (aot_gpr_4 | 0u); - aot_gpr_17 = (ctx.gpr[7] | 0u); + ctx.gpr[17] = (ctx.gpr[7] | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); aot_gpr_31 = (0x0886E9D4u); aot_gpr_4 = (aot_gpr_29 | 0u); @@ -5487,11 +5488,11 @@ L_0886E9AC: L_0886E9D4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(44), static_cast(aot_gpr_16)); - aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(46), static_cast(aot_gpr_17)); + aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(46), static_cast(ctx.gpr[17])); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(8), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -5504,9 +5505,9 @@ L_0886E9F4: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); - ctx.gpr[6] = (aot_gpr_5 | 0u); + aot_gpr_6 = (aot_gpr_5 | 0u); aot_gpr_4 = (aot_gpr_29 | 0u); - { const std::uint32_t aot_run_words[4]{aot_gpr_17, ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(20), aot_run_words); } aot_gpr_31 = (0x0886EA20u); aot_gpr_5 = (aot_gpr_16 | 0u); @@ -5516,9 +5517,9 @@ L_0886EA20: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); aot_gpr_5 = (aot_gpr_4 - aot_gpr_5); ctx.gpr[7] = (static_cast(static_cast(aot_gpr_5) >> 2u)); - ctx.gpr[6] = (ctx.gpr[7] >> 30u); + aot_gpr_6 = (ctx.gpr[7] >> 30u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); - aot_gpr_5 = (aot_gpr_5 + ctx.gpr[6]); + aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); aot_gpr_5 = (static_cast(static_cast(aot_gpr_5) >> 2u)); aot_gpr_5 = (aot_gpr_4 < aot_gpr_5 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 != 0u; @@ -5532,7 +5533,7 @@ L_0886EA4C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_4); aot_gpr_31 = (0x0886EA58u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-28848)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886EA58u) goto L_0886EA58; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0893685C, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886EA58u) goto L_0886EA58; AOT_REGCACHE_SYNC_OUT(); return; L_0886EA58: aot_gpr_31 = (0x0886EA60u); @@ -5557,10 +5558,10 @@ L_0886EA64: goto L_0886EA88; L_0886EA88: aot_gpr_5 = (aot_gpr_5 - aot_gpr_4); - ctx.gpr[6] = (0u | 72u); - { const std::int32_t dividend = static_cast(aot_gpr_5); const std::int32_t divisor = static_cast(ctx.gpr[6]); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } + aot_gpr_6 = (0u | 72u); + { const std::int32_t dividend = static_cast(aot_gpr_5); const std::int32_t divisor = static_cast(aot_gpr_6); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(8), static_cast(0u)); - aot_gpr_17 = (aot_gpr_4 | 0u); + ctx.gpr[17] = (aot_gpr_4 | 0u); ctx.gpr[19] = (ctx.lo); { const bool branch_taken = static_cast(ctx.gpr[19]) <= 0; aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(9), static_cast(0u)); @@ -5570,74 +5571,74 @@ L_0886EA88: goto L_0886EAA8; } L_0886EAA8: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_gpr_31 = (0x0886EAB8u); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 319u, 0x08B655B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886EAB8u) goto L_0886EAB8; AOT_REGCACHE_SYNC_OUT(); return; L_0886EAB8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(8), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(12))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(12))); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(12), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(16))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(16))); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(16), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(20))); - aot_gpr_5 = (aot_gpr_17 + static_cast(32)); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(20))); + aot_gpr_5 = (ctx.gpr[17] + static_cast(32)); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(20), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(24))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(24))); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(24), aot_gpr_4); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(28))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(28))); aot_gpr_4 = (ctx.gpr[18] + static_cast(32)); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(28), std::bit_cast(aot_fpr_12)); - ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0))); + aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0))); ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(1))); ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(2))); - aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(ctx.gpr[6])); + aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_6)); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(3))); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(1), static_cast(ctx.gpr[7])); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(2), static_cast(ctx.gpr[8])); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(3), static_cast(aot_gpr_5)); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(36)))))); - aot_gpr_5 = (aot_gpr_17 + static_cast(37)); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(36)))))); + aot_gpr_5 = (ctx.gpr[17] + static_cast(37)); aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(36), static_cast(aot_gpr_4)); - ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0))); + aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0))); ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(1))); aot_gpr_4 = (ctx.gpr[18] + static_cast(37)); ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(2))); - aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(ctx.gpr[6])); + aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_6)); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(3))); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(1), static_cast(ctx.gpr[7])); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(2), static_cast(ctx.gpr[8])); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(3), static_cast(aot_gpr_5)); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(41)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(41)))))); aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(41), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(42))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(42))); aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(42), static_cast(aot_gpr_4)); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(44)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(44)))))); aot_gpr_4 = (0u | 0u); aot_mem.aot_direct_store16(ctx.gpr[18] + static_cast(44), static_cast(aot_gpr_5)); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(46)))))); - aot_gpr_5 = (aot_gpr_17 | 0u); - aot_mem.aot_direct_store16(ctx.gpr[18] + static_cast(46), static_cast(ctx.gpr[6])); - ctx.gpr[6] = (ctx.gpr[18] | 0u); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(46)))))); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_mem.aot_direct_store16(ctx.gpr[18] + static_cast(46), static_cast(aot_gpr_6)); + aot_gpr_6 = (ctx.gpr[18] | 0u); goto L_0886EB6C; L_0886EB6C: ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(48))); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(48), ctx.gpr[7]); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(48), ctx.gpr[7]); aot_gpr_5 = (aot_gpr_5 + static_cast(4)); ctx.gpr[7] = (static_cast(aot_gpr_4) < 6 ? 1u : 0u); { const bool branch_taken = ctx.gpr[7] != 0u; - ctx.gpr[6] = (ctx.gpr[6] + static_cast(4)); + aot_gpr_6 = (aot_gpr_6 + static_cast(4)); if (branch_taken) { goto L_0886EB6C; } goto L_0886EB88; } L_0886EB88: - aot_gpr_17 = (aot_gpr_17 + static_cast(72)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(72)); ctx.gpr[19] = (ctx.gpr[19] + static_cast(-1)); { const bool branch_taken = static_cast(ctx.gpr[19]) > 0; ctx.gpr[18] = (ctx.gpr[18] + static_cast(72)); @@ -5679,13 +5680,13 @@ L_0886EBB0: L_0886EBC0: aot_gpr_31 = (0x0886EBC8u); aot_gpr_4 = (aot_gpr_4 + static_cast(25856)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886EBC8u) goto L_0886EBC8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886EBC8u) goto L_0886EBC8; AOT_REGCACHE_SYNC_OUT(); return; L_0886EBC8: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; @@ -5699,11 +5700,11 @@ L_0886EBC8: L_0886EBE4: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_16); - aot_gpr_16 = (ctx.gpr[6] | 0u); - ctx.gpr[6] = (aot_gpr_5 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_17); + aot_gpr_16 = (aot_gpr_6 | 0u); + aot_gpr_6 = (aot_gpr_5 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[17]); aot_gpr_5 = (aot_gpr_4 | 0u); - aot_gpr_17 = (ctx.gpr[7] | 0u); + ctx.gpr[17] = (ctx.gpr[7] | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_31); aot_gpr_31 = (0x0886EC0Cu); aot_gpr_4 = (aot_gpr_29 + static_cast(4)); @@ -5711,19 +5712,19 @@ L_0886EBE4: L_0886EC0C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(36), static_cast(aot_gpr_16)); - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(0))); - ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(1))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(0))); + aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(1))); aot_gpr_4 = (aot_gpr_4 + static_cast(37)); - ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(2))); + ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(2))); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_5)); - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(3))); - aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(1), static_cast(ctx.gpr[6])); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(3))); + aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(1), static_cast(aot_gpr_6)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(2), static_cast(ctx.gpr[7])); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(3), static_cast(aot_gpr_5)); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(12), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -5735,7 +5736,7 @@ L_0886EC0C: L_0886EC4C: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(32))); - { const std::uint32_t aot_run_words[6]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; + { const std::uint32_t aot_run_words[6]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(8), aot_run_words); } { const bool branch_taken = aot_gpr_5 == 0u; // nop @@ -5758,11 +5759,11 @@ L_0886EC7C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0170_entry, 170u, 584u, 0x08AAECA4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886EC84u) goto L_0886EC84; AOT_REGCACHE_SYNC_OUT(); return; L_0886EC84: - aot_gpr_17 = (ctx.gpr[28] + static_cast(5824)); + ctx.gpr[17] = (ctx.gpr[28] + static_cast(5824)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); aot_gpr_5 = (2232u << 16u); aot_gpr_16 = (ctx.gpr[2] | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_31 = (0x0886ECA4u); aot_gpr_5 = (aot_gpr_5 + static_cast(-25424)); @@ -5797,7 +5798,7 @@ L_0886ECD4: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x0886ECE8u); - ctx.gpr[6] = (ctx.gpr[19] | 0u); + aot_gpr_6 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0077_entry, 77u, 270u, 0x08939050u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886ECE8u) goto L_0886ECE8; AOT_REGCACHE_SYNC_OUT(); return; L_0886ECE8: @@ -5813,7 +5814,7 @@ L_0886ECF0: AOT_REGCACHE_SYNC_OUT(); return; L_0886ECFC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); - { const bool branch_taken = aot_gpr_4 == aot_gpr_17; + { const bool branch_taken = aot_gpr_4 == ctx.gpr[17]; aot_gpr_5 = (aot_gpr_4 | 0u); if (branch_taken) { goto L_0886ED14; @@ -5824,13 +5825,13 @@ L_0886ED08: aot_gpr_4 = (2236u << 16u); aot_gpr_31 = (0x0886ED14u); aot_gpr_4 = (aot_gpr_4 + static_cast(25856)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886ED14u) goto L_0886ED14; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886ED14u) goto L_0886ED14; AOT_REGCACHE_SYNC_OUT(); return; L_0886ED14: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(8), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -5855,7 +5856,7 @@ L_0886ED40: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), ctx.gpr[18]); ctx.gpr[18] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(60), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), ctx.gpr[17]); { const std::uint32_t aot_run_words[7]{ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(72), aot_run_words); } aot_gpr_4 = (2235u << 16u); @@ -5886,12 +5887,12 @@ L_0886ED40: L_0886EDD8: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(8))); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(9))); - ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(10))); + aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(10))); ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(11))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), aot_gpr_5); ctx.gpr[30] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(12))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), ctx.gpr[6]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), aot_gpr_6); ctx.gpr[23] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(13))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), ctx.gpr[7]); ctx.gpr[22] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(14))); @@ -5918,9 +5919,9 @@ L_0886EE24: aot_gpr_5 = (0u | 127u); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(16), 0u); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(20), 0u); - ctx.gpr[6] = (aot_gpr_5 & 255u); + aot_gpr_6 = (aot_gpr_5 & 255u); ctx.gpr[7] = (aot_gpr_5 & 255u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), ctx.gpr[6]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), ctx.gpr[7]); ctx.gpr[8] = (aot_gpr_5 & 255u); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(24), static_cast(aot_gpr_5)); @@ -5929,10 +5930,10 @@ L_0886EE24: aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(25), static_cast(aot_gpr_5)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), ctx.gpr[9]); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(26), static_cast(aot_gpr_5)); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(27), static_cast(aot_gpr_5)); aot_gpr_5 = (0u | 0u); - aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(28), static_cast(ctx.gpr[6])); + aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(28), static_cast(aot_gpr_6)); ctx.gpr[7] = (0u | 0u); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(29), static_cast(aot_gpr_5)); ctx.gpr[8] = (0u | 255u); @@ -5940,7 +5941,7 @@ L_0886EE24: aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(31), static_cast(ctx.gpr[8])); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(32), 0u); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(36), 0u); - ctx.gpr[30] = (ctx.gpr[6] & 255u); + ctx.gpr[30] = (aot_gpr_6 & 255u); ctx.gpr[23] = (aot_gpr_5 & 255u); ctx.gpr[22] = (ctx.gpr[7] & 255u); ctx.gpr[21] = (ctx.gpr[8] & 255u); @@ -5980,16 +5981,16 @@ L_0886EED4: } L_0886EEDC: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_gpr_5 = (aot_gpr_4 - aot_gpr_5); ctx.gpr[7] = (static_cast(static_cast(aot_gpr_5) >> 2u)); ctx.gpr[7] = (ctx.gpr[7] >> 30u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(17), static_cast(0u)); aot_gpr_5 = (aot_gpr_5 + ctx.gpr[7]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[6]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_6); aot_gpr_5 = (static_cast(static_cast(aot_gpr_5) >> 2u)); - ctx.gpr[6] = (aot_gpr_5 < static_cast(1) ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_6 = (aot_gpr_5 < static_cast(1) ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 == 0u; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_5); if (branch_taken) { goto L_0886EF1C; @@ -5997,8 +5998,8 @@ L_0886EEDC: goto L_0886EF0C; } L_0886EF0C: - ctx.gpr[6] = (aot_gpr_29 + static_cast(20)); - ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(0))); + aot_gpr_6 = (aot_gpr_29 + static_cast(20)); + ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); { const bool branch_taken = 0u == 0u; ctx.gpr[19] = (aot_gpr_5 + ctx.gpr[19]); if (branch_taken) { @@ -6007,8 +6008,8 @@ L_0886EF0C: goto L_0886EF1C; } L_0886EF1C: - ctx.gpr[6] = (aot_gpr_29 + static_cast(24)); - ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(0))); + aot_gpr_6 = (aot_gpr_29 + static_cast(24)); + ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); ctx.gpr[19] = (aot_gpr_5 + ctx.gpr[19]); goto L_0886EF28; L_0886EF28: @@ -6028,7 +6029,7 @@ L_0886EF30: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 474u, 0x08ABE308u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886EF44u) goto L_0886EF44; AOT_REGCACHE_SYNC_OUT(); return; L_0886EF44: - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(48))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(48))); aot_gpr_5 = (ctx.gpr[2] | 0u); { const bool branch_taken = aot_gpr_5 != 0u; aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(52))); @@ -6040,7 +6041,7 @@ L_0886EF44: L_0886EF54: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), aot_gpr_4); aot_gpr_31 = (0x0886EF60u); - aot_gpr_4 = (ctx.gpr[6] | 0u); + aot_gpr_4 = (aot_gpr_6 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 289u, 0x08B65438u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886EF60u) goto L_0886EF60; AOT_REGCACHE_SYNC_OUT(); return; L_0886EF60: @@ -6048,9 +6049,9 @@ L_0886EF60: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(52))); goto L_0886EF68; L_0886EF68: - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); - { const bool branch_taken = aot_gpr_4 != ctx.gpr[6]; - aot_gpr_17 = (aot_gpr_5 | 0u); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); + { const bool branch_taken = aot_gpr_4 != aot_gpr_6; + ctx.gpr[17] = (aot_gpr_5 | 0u); if (branch_taken) { goto L_0886EF7C; } @@ -6066,11 +6067,11 @@ L_0886EF74: } L_0886EF7C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), ctx.gpr[19]); - aot_gpr_5 = (ctx.gpr[6] | 0u); - ctx.gpr[19] = (aot_gpr_4 - ctx.gpr[6]); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_5 = (aot_gpr_6 | 0u); + ctx.gpr[19] = (aot_gpr_4 - aot_gpr_6); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0886EF94u); - ctx.gpr[6] = (ctx.gpr[19] | 0u); + aot_gpr_6 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 164u, 0x08AF54A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886EF94u) goto L_0886EF94; AOT_REGCACHE_SYNC_OUT(); return; L_0886EF94: @@ -6079,9 +6080,9 @@ L_0886EF94: ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(56))); goto L_0886EFA0; L_0886EFA0: - ctx.gpr[6] = (aot_gpr_4 | 0u); + aot_gpr_6 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (ctx.gpr[6] | 0u); + aot_gpr_5 = (aot_gpr_6 | 0u); if (aot_gpr_5 == 0u) { aot_gpr_16 = (aot_gpr_4 | 0u); goto L_0886EFC8; @@ -6112,12 +6113,12 @@ L_0886EFC8: L_0886EFD4: aot_gpr_31 = (0x0886EFDCu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886EFDCu) goto L_0886EFDC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886EFDCu) goto L_0886EFDC; AOT_REGCACHE_SYNC_OUT(); return; L_0886EFDC: aot_gpr_4 = (ctx.gpr[19] << 2u); - aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(8), aot_gpr_17); - aot_gpr_4 = (aot_gpr_17 + aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(8), ctx.gpr[17]); + aot_gpr_4 = (ctx.gpr[17] + aot_gpr_4); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(12), aot_gpr_16); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(16), aot_gpr_4); goto L_0886EFF0; @@ -6134,11 +6135,11 @@ L_0886EFF0: L_0886F000: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(44))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(40))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(36))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(36))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(8), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(32))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(9), static_cast(aot_gpr_5)); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(10), static_cast(ctx.gpr[6])); + aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(10), static_cast(aot_gpr_6)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(11), static_cast(aot_gpr_4)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(12), static_cast(ctx.gpr[30])); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(13), static_cast(ctx.gpr[23])); @@ -6152,7 +6153,7 @@ L_0886F038: { std::uint32_t aot_run_words[10]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(60), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -6170,13 +6171,13 @@ L_0886F038: AOT_REGCACHE_SYNC_OUT(); return; L_0886F06C: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_17); - aot_gpr_17 = (aot_gpr_4 | 0u); + aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_31); - { const bool branch_taken = ctx.gpr[6] == 0u; + { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_16 = (aot_gpr_5 | 0u); if (branch_taken) { goto L_0886F1F0; @@ -6188,32 +6189,32 @@ L_0886F090: aot_mem.aot_direct_load32_block(aot_gpr_16 + static_cast(4), aot_run_words); aot_gpr_4 = aot_run_words[0]; aot_gpr_5 = aot_run_words[1]; - ctx.gpr[6] = aot_run_words[2]; + aot_gpr_6 = aot_run_words[2]; } aot_fpr_12 = std::bit_cast(aot_gpr_4); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); aot_fpr_13 = std::bit_cast(aot_gpr_5); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_gpr_5 = (aot_gpr_5 + ctx.gpr[7]); aot_fpr_14 = std::bit_cast(aot_gpr_4); - ctx.fpr[15] = std::bit_cast(aot_gpr_5); + aot_fpr_15 = std::bit_cast(aot_gpr_5); aot_gpr_4 = (aot_gpr_29 | 0u); aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_13))); aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); aot_gpr_31 = (0x0886F0D0u); - ctx.fpr[15] = static_cast(static_cast(std::bit_cast(ctx.fpr[15]))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886F0D0u) goto L_0886F0D0; + aot_fpr_15 = static_cast(static_cast(std::bit_cast(aot_fpr_15))); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08873400, 27u, 732u, 0x08873400u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886F0D0u) goto L_0886F0D0; AOT_REGCACHE_SYNC_OUT(); return; L_0886F0D0: aot_gpr_31 = (0x0886F0D8u); aot_gpr_4 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886F0D8u) goto L_0886F0D8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C498, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886F0D8u) goto L_0886F0D8; AOT_REGCACHE_SYNC_OUT(); return; L_0886F0D8: aot_gpr_31 = (0x0886F0E0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886F0E0u) goto L_0886F0E0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C05C, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886F0E0u) goto L_0886F0E0; AOT_REGCACHE_SYNC_OUT(); return; L_0886F0E0: aot_gpr_5 = (aot_gpr_16 + static_cast(28)); @@ -6236,8 +6237,8 @@ L_0886F100: aot_gpr_4 = (ctx.gpr[28] + static_cast(-28832)); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x0886F110u); - ctx.gpr[6] = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886F110u) goto L_0886F110; + aot_gpr_6 = (0u | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886F110u) goto L_0886F110; AOT_REGCACHE_SYNC_OUT(); return; L_0886F110: ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(32))); @@ -6252,7 +6253,7 @@ L_0886F110: L_0886F120: aot_gpr_31 = (0x0886F128u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(24))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886F128u) goto L_0886F128; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C498, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886F128u) goto L_0886F128; AOT_REGCACHE_SYNC_OUT(); return; L_0886F128: aot_gpr_31 = (0x0886F130u); @@ -6262,57 +6263,57 @@ L_0886F128: L_0886F130: aot_gpr_31 = (0x0886F138u); aot_gpr_4 = (ctx.gpr[18] + static_cast(32)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886F138u) goto L_0886F138; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C4A8, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886F138u) goto L_0886F138; AOT_REGCACHE_SYNC_OUT(); return; L_0886F138: aot_gpr_31 = (0x0886F140u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(20))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886F140u) goto L_0886F140; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C604, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886F140u) goto L_0886F140; AOT_REGCACHE_SYNC_OUT(); return; L_0886F140: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(24))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(24))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(12))); aot_fpr_14 = std::bit_cast(aot_gpr_5); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(28))); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(28))); aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); ctx.fpr[16] = std::bit_cast(aot_gpr_4); ctx.fpr[17] = std::bit_cast(aot_gpr_5); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } ctx.fpr[16] = static_cast(static_cast(std::bit_cast(ctx.fpr[16]))); - { const float fs = aot_fpr_14; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } + { const float fs = aot_fpr_14; const float ft = aot_fpr_15; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } ctx.fpr[17] = static_cast(static_cast(std::bit_cast(ctx.fpr[17]))); aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); { const float fs = ctx.fpr[16]; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_fpr_14 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_14)); - { const float fs = ctx.fpr[17]; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[15] = std::bit_cast(0x7FC00000u); else ctx.fpr[15] = fs * ft; } + { const float fs = ctx.fpr[17]; const float ft = aot_fpr_15; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_15 = std::bit_cast(0x7FC00000u); else aot_fpr_15 = fs * ft; } aot_gpr_4 = (std::bit_cast(aot_fpr_12)); aot_fpr_13 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_13)); aot_gpr_5 = (std::bit_cast(aot_fpr_14)); - ctx.fpr[15] = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[15])); - ctx.gpr[6] = (std::bit_cast(aot_fpr_13)); + aot_fpr_15 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_15)); + aot_gpr_6 = (std::bit_cast(aot_fpr_13)); aot_gpr_31 = (0x0886F1ACu); - ctx.gpr[7] = (std::bit_cast(ctx.fpr[15])); + ctx.gpr[7] = (std::bit_cast(aot_fpr_15)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 230u, 0x08861824u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886F1ACu) goto L_0886F1AC; AOT_REGCACHE_SYNC_OUT(); return; L_0886F1AC: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0886F1BCu); - ctx.gpr[6] = (ctx.gpr[18] | 0u); + aot_gpr_6 = (ctx.gpr[18] | 0u); goto L_0886F3A8; L_0886F1BC: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0886F1CCu); - ctx.gpr[6] = (ctx.gpr[18] | 0u); + aot_gpr_6 = (ctx.gpr[18] | 0u); goto L_0886F5DC; L_0886F1CC: - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-8744))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-8744))); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-8740))); aot_gpr_4 = (0u | 0u); aot_gpr_31 = (0x0886F1E0u); @@ -6333,7 +6334,7 @@ L_0886F1F0: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -6379,12 +6380,12 @@ L_0886F250: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), ctx.gpr[10]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), ctx.gpr[8]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[7]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[6]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_5); aot_gpr_31 = (0x0886F270u); aot_gpr_4 = (ctx.gpr[8] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886F270u) goto L_0886F270; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0893685C, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886F270u) goto L_0886F270; AOT_REGCACHE_SYNC_OUT(); return; L_0886F270: aot_gpr_31 = (0x0886F278u); @@ -6397,7 +6398,7 @@ L_0886F278: ctx.gpr[9] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(8))); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); - ctx.gpr[6] = aot_run_words[0]; + aot_gpr_6 = aot_run_words[0]; ctx.gpr[7] = aot_run_words[1]; ctx.gpr[8] = aot_run_words[2]; ctx.gpr[10] = aot_run_words[3]; @@ -6415,7 +6416,7 @@ L_0886F294: goto L_0886F2AC; L_0886F2AC: ctx.gpr[3] = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(8))); - { const bool branch_taken = ctx.gpr[3] == ctx.gpr[6]; + { const bool branch_taken = ctx.gpr[3] == aot_gpr_6; // nop if (branch_taken) { goto L_0886F2CC; @@ -6468,9 +6469,9 @@ L_0886F2E4: } L_0886F308: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), ctx.gpr[6]); + aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), aot_gpr_6); goto L_0886F318; L_0886F318: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(32))); @@ -6482,46 +6483,46 @@ L_0886F318: AOT_REGCACHE_SYNC_OUT(); return; L_0886F324: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - aot_fpr_12 = std::bit_cast(ctx.gpr[6]); - ctx.fpr[15] = static_cast(static_cast(std::bit_cast(aot_fpr_12))); + aot_fpr_12 = std::bit_cast(aot_gpr_6); + aot_fpr_15 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); - aot_fpr_12 = aot_fpr_13 - ctx.fpr[15]; + aot_fpr_12 = aot_fpr_13 - aot_fpr_15; aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(12))); - aot_fpr_13 = aot_fpr_14 + ctx.fpr[15]; + aot_fpr_13 = aot_fpr_14 + aot_fpr_15; ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_16); ctx.fpr[17] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); aot_gpr_16 = (ctx.gpr[7] | 0u); aot_gpr_4 = (aot_gpr_29 | 0u); - aot_fpr_14 = ctx.fpr[16] + ctx.fpr[15]; - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_17); + aot_fpr_14 = ctx.fpr[16] + aot_fpr_15; + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_31); aot_gpr_31 = (0x0886F368u); - ctx.fpr[15] = ctx.fpr[17] - ctx.fpr[15]; - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886F368u) goto L_0886F368; + aot_fpr_15 = ctx.fpr[17] - aot_fpr_15; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886F368u) goto L_0886F368; AOT_REGCACHE_SYNC_OUT(); return; L_0886F368: aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(0))); - ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1))); + aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1))); ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(2))); - aot_gpr_17 = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (ctx.gpr[2] | 0u); aot_gpr_4 = (aot_gpr_29 + static_cast(16)); aot_gpr_31 = (0x0886F384u); ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(3))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886F384u) goto L_0886F384; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886F384u) goto L_0886F384; AOT_REGCACHE_SYNC_OUT(); return; L_0886F384: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x0886F394u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 107u, 0x08AF5130u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886F394u) goto L_0886F394; AOT_REGCACHE_SYNC_OUT(); return; L_0886F394: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(20), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -6532,33 +6533,33 @@ L_0886F394: AOT_REGCACHE_SYNC_OUT(); return; L_0886F3A8: aot_gpr_29 = (aot_gpr_29 + static_cast(-592)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(556), aot_gpr_17); - aot_gpr_17 = (aot_gpr_5 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(556), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_5 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(560), ctx.gpr[18]); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); ctx.gpr[18] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(552), aot_gpr_16); - aot_gpr_16 = (ctx.gpr[6] | 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(12))); + aot_gpr_16 = (aot_gpr_6 | 0u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(12))); aot_fpr_12 = std::bit_cast(aot_gpr_5); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(16))); - aot_gpr_5 = (aot_gpr_5 + ctx.gpr[6]); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(16))); + aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); aot_fpr_14 = std::bit_cast(aot_gpr_5); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_gpr_5 = (aot_gpr_4 + ctx.gpr[7]); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_gpr_4 = (aot_gpr_29 | 0u); aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_13))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(544), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(544), std::bit_cast(ctx.fpr[20])); aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(548), std::bit_cast(ctx.fpr[22])); - ctx.fpr[15] = std::bit_cast(aot_gpr_5); + aot_fpr_15 = std::bit_cast(aot_gpr_5); { const std::uint32_t aot_run_words[4]{ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(564), aot_run_words); } aot_gpr_31 = (0x0886F41Cu); - ctx.fpr[15] = static_cast(static_cast(std::bit_cast(ctx.fpr[15]))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886F41Cu) goto L_0886F41C; + aot_fpr_15 = static_cast(static_cast(std::bit_cast(aot_fpr_15))); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08873400, 27u, 732u, 0x08873400u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886F41Cu) goto L_0886F41C; AOT_REGCACHE_SYNC_OUT(); return; L_0886F41C: ctx.gpr[19] = (aot_gpr_29 + static_cast(16)); @@ -6567,13 +6568,13 @@ L_0886F41C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 731u, 0x088733D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886F428u) goto L_0886F428; AOT_REGCACHE_SYNC_OUT(); return; L_0886F428: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); - aot_fpr_20 = std::bit_cast(0u); + ctx.fpr[20] = std::bit_cast(0u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), std::bit_cast(ctx.fpr[20])); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), std::bit_cast(ctx.fpr[20])); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_gpr_31 = (0x0886F450u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), std::bit_cast(aot_fpr_12)); @@ -6608,7 +6609,7 @@ L_0886F470: L_0886F47C: aot_gpr_31 = (0x0886F484u); aot_gpr_4 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886F484u) goto L_0886F484; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886F484u) goto L_0886F484; AOT_REGCACHE_SYNC_OUT(); return; L_0886F484: ctx.gpr[21] = (ctx.gpr[20] | 0u); @@ -6648,8 +6649,8 @@ L_0886F4AC: goto L_0886F4B4; } L_0886F4B4: - ctx.gpr[6] = (static_cast(aot_gpr_4) < 2 ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] != 0u; + aot_gpr_6 = (static_cast(aot_gpr_4) < 2 ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 != 0u; aot_gpr_4 = (static_cast(aot_gpr_4) < 3 ? 1u : 0u); if (branch_taken) { goto L_0886F4D0; @@ -6658,7 +6659,7 @@ L_0886F4B4: } L_0886F4C0: if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); goto L_0886F568; } goto L_0886F4C8; @@ -6672,8 +6673,8 @@ L_0886F4C8: } L_0886F4D0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(12))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(41)))))); @@ -6688,7 +6689,7 @@ L_0886F4F0: aot_gpr_4 = (aot_gpr_5 | 0u); ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); aot_gpr_5 = (0u | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); ctx.gpr[7] = (aot_gpr_29 | 0u); aot_gpr_31 = (0x0886F50Cu); ctx.gpr[8] = (0u | 1u); @@ -6706,17 +6707,17 @@ L_0886F50C: goto L_0886F520; } L_0886F520: - aot_gpr_17 = (aot_gpr_29 + static_cast(32)); + ctx.gpr[17] = (aot_gpr_29 + static_cast(32)); aot_gpr_4 = (ctx.gpr[18] | 0u); - ctx.gpr[6] = (aot_gpr_17 | 0u); + aot_gpr_6 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0886F534u); ctx.gpr[7] = (aot_gpr_16 | 0u); goto L_0886F728; L_0886F534: ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (0u | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); ctx.gpr[7] = (aot_gpr_29 | 0u); aot_gpr_31 = (0x0886F550u); ctx.gpr[8] = (0u | 1u); @@ -6737,7 +6738,7 @@ L_0886F560: goto L_0886F568; } L_0886F568: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(12))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(12))); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_fpr_13 = std::bit_cast(aot_gpr_5); @@ -6748,7 +6749,7 @@ L_0886F568: goto L_0886F588; L_0886F588: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(aot_fpr_20)) && aot_fpr_12 == aot_fpr_20)) ? 0x00800000u : 0u); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(ctx.fpr[20])) && aot_fpr_12 == ctx.fpr[20])) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -6762,15 +6763,15 @@ L_0886F59C: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x0886F5B0u); - ctx.gpr[6] = (0u | 2u); + aot_gpr_6 = (0u | 2u); goto L_0886F324; L_0886F5B0: { std::uint32_t aot_run_words[9]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(544), aot_run_words); - aot_fpr_20 = std::bit_cast(aot_run_words[0]); + ctx.fpr[20] = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); aot_gpr_16 = aot_run_words[2]; - aot_gpr_17 = aot_run_words[3]; + ctx.gpr[17] = aot_run_words[3]; ctx.gpr[18] = aot_run_words[4]; ctx.gpr[19] = aot_run_words[5]; ctx.gpr[20] = aot_run_words[6]; @@ -6785,16 +6786,16 @@ L_0886F5B0: AOT_REGCACHE_SYNC_OUT(); return; L_0886F5DC: aot_gpr_29 = (aot_gpr_29 + static_cast(-544)); - ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[6] + static_cast(42))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(516), aot_gpr_17); + ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_6 + static_cast(42))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(516), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(520), ctx.gpr[18]); ctx.gpr[18] = (aot_gpr_4 | 0u); - aot_gpr_17 = (aot_gpr_5 | 0u); + ctx.gpr[17] = (aot_gpr_5 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(512), aot_gpr_16); { const std::uint32_t aot_run_words[3]{ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(524), aot_run_words); } { const bool branch_taken = ctx.gpr[7] == 0u; - aot_gpr_16 = (ctx.gpr[6] | 0u); + aot_gpr_16 = (aot_gpr_6 | 0u); if (branch_taken) { goto L_0886F624; } @@ -6802,9 +6803,9 @@ L_0886F5DC: } L_0886F60C: aot_gpr_4 = (ctx.gpr[18] | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0886F61Cu); - ctx.gpr[6] = (aot_gpr_16 | 0u); + aot_gpr_6 = (aot_gpr_16 | 0u); goto L_0886F7A8; L_0886F61C: { const bool branch_taken = 0u == 0u; @@ -6847,7 +6848,7 @@ L_0886F644: L_0886F650: aot_gpr_31 = (0x0886F658u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886F658u) goto L_0886F658; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886F658u) goto L_0886F658; AOT_REGCACHE_SYNC_OUT(); return; L_0886F658: ctx.gpr[18] = (ctx.gpr[19] | 0u); @@ -6864,14 +6865,14 @@ L_0886F668: AOT_REGCACHE_SYNC_OUT(); return; L_0886F670: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(12))); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); aot_gpr_5 = (aot_gpr_5 + aot_gpr_4); - ctx.gpr[6] = (ctx.gpr[6] + ctx.gpr[7]); + aot_gpr_6 = (aot_gpr_6 + ctx.gpr[7]); aot_gpr_31 = (0x0886F690u); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886F690u) goto L_0886F690; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886F690u) goto L_0886F690; AOT_REGCACHE_SYNC_OUT(); return; L_0886F690: { const bool branch_taken = 0u == 0u; @@ -6905,7 +6906,7 @@ L_0886F6AC: L_0886F6B8: aot_gpr_31 = (0x0886F6C0u); aot_gpr_4 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886F6C0u) goto L_0886F6C0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886F6C0u) goto L_0886F6C0; AOT_REGCACHE_SYNC_OUT(); return; L_0886F6C0: ctx.gpr[19] = (ctx.gpr[20] | 0u); @@ -6922,26 +6923,26 @@ L_0886F6CC: L_0886F6D4: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (aot_gpr_29 | 0u); + aot_gpr_6 = (aot_gpr_29 | 0u); aot_gpr_31 = (0x0886F6E8u); ctx.gpr[7] = (aot_gpr_16 | 0u); goto L_0886F728; L_0886F6E8: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(12))); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); aot_gpr_5 = (aot_gpr_5 + aot_gpr_4); - ctx.gpr[6] = (ctx.gpr[6] + ctx.gpr[7]); + aot_gpr_6 = (aot_gpr_6 + ctx.gpr[7]); aot_gpr_31 = (0x0886F708u); aot_gpr_4 = (aot_gpr_29 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886F708u) goto L_0886F708; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886F708u) goto L_0886F708; AOT_REGCACHE_SYNC_OUT(); return; L_0886F708: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(512), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -6955,12 +6956,12 @@ L_0886F708: AOT_REGCACHE_SYNC_OUT(); return; L_0886F728: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - aot_gpr_4 = (ctx.gpr[6] | 0u); + aot_gpr_4 = (aot_gpr_6 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_31); ctx.gpr[9] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[7] + static_cast(41)))))); ctx.gpr[8] = (ctx.gpr[7] | 0u); ctx.gpr[10] = (0u | 0u); - ctx.gpr[6] = (0u + static_cast(-1)); + aot_gpr_6 = (0u + static_cast(-1)); ctx.gpr[7] = (aot_gpr_29 | 0u); goto L_0886F748; L_0886F748: @@ -6982,7 +6983,7 @@ L_0886F754: goto L_0886F760; } L_0886F760: - aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(0), ctx.gpr[6]); + aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(0), aot_gpr_6); goto L_0886F764; L_0886F764: ctx.gpr[10] = (ctx.gpr[10] + static_cast(1)); @@ -7001,7 +7002,7 @@ L_0886F778: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_5 = aot_run_words[0]; - ctx.gpr[6] = aot_run_words[1]; + aot_gpr_6 = aot_run_words[1]; ctx.gpr[7] = aot_run_words[2]; ctx.gpr[8] = aot_run_words[3]; ctx.gpr[9] = aot_run_words[4]; @@ -7021,11 +7022,11 @@ L_0886F79C: L_0886F7A8: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_16); - aot_gpr_16 = (ctx.gpr[6] | 0u); - { const std::uint32_t aot_run_words[5]{aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; + aot_gpr_16 = (aot_gpr_6 | 0u); + { const std::uint32_t aot_run_words[5]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(28), aot_run_words); } aot_gpr_31 = (0x0886F7D0u); - aot_gpr_17 = (aot_gpr_5 | 0u); + ctx.gpr[17] = (aot_gpr_5 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0170_entry, 170u, 640u, 0x08AAEFC8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886F7D0u) goto L_0886F7D0; AOT_REGCACHE_SYNC_OUT(); return; L_0886F7D0: @@ -7043,52 +7044,52 @@ L_0886F7E0: ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); aot_gpr_31 = (0x0886F7F0u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886F7F0u) goto L_0886F7F0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42C4, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886F7F0u) goto L_0886F7F0; AOT_REGCACHE_SYNC_OUT(); return; L_0886F7F0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(12))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(44)))))); - aot_gpr_5 = (aot_gpr_5 + ctx.gpr[6]); + aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); aot_fpr_12 = std::bit_cast(aot_gpr_4); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(46)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(46)))))); aot_fpr_13 = std::bit_cast(aot_gpr_5); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[7]); - aot_gpr_5 = (aot_gpr_5 + ctx.gpr[6]); + aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); aot_fpr_14 = std::bit_cast(aot_gpr_4); ctx.gpr[20] = (aot_gpr_29 + static_cast(8)); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_13))); aot_gpr_4 = (ctx.gpr[20] | 0u); - ctx.fpr[15] = std::bit_cast(aot_gpr_5); + aot_fpr_15 = std::bit_cast(aot_gpr_5); aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); aot_gpr_31 = (0x0886F844u); - ctx.fpr[15] = static_cast(static_cast(std::bit_cast(ctx.fpr[15]))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886F844u) goto L_0886F844; + aot_fpr_15 = static_cast(static_cast(std::bit_cast(aot_fpr_15))); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886F844u) goto L_0886F844; AOT_REGCACHE_SYNC_OUT(); return; L_0886F844: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x0886F850u); aot_gpr_5 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886F850u) goto L_0886F850; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF44E8, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886F850u) goto L_0886F850; AOT_REGCACHE_SYNC_OUT(); return; L_0886F850: aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(32))); - ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(33))); + aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(33))); ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(34))); ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(35))); aot_gpr_31 = (0x0886F868u); aot_gpr_4 = (aot_gpr_29 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886F868u) goto L_0886F868; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886F868u) goto L_0886F868; AOT_REGCACHE_SYNC_OUT(); return; L_0886F868: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x0886F878u); - ctx.gpr[6] = (ctx.gpr[2] | 0u); + aot_gpr_6 = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 72u, 0x08AF4650u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886F878u) goto L_0886F878; AOT_REGCACHE_SYNC_OUT(); return; L_0886F878: @@ -7100,13 +7101,13 @@ L_0886F880: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x0886F88Cu); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886F88Cu) goto L_0886F88C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42D0, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886F88Cu) goto L_0886F88C; AOT_REGCACHE_SYNC_OUT(); return; L_0886F88C: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(24), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -7121,9 +7122,9 @@ L_0886F88C: L_0886F8AC: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(32))); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); - { const bool branch_taken = aot_gpr_5 != ctx.gpr[6]; + { const bool branch_taken = aot_gpr_5 != aot_gpr_6; // nop if (branch_taken) { goto L_0886F8E0; @@ -7150,8 +7151,8 @@ L_0886F8D8: goto L_0886F8E0; } L_0886F8E0: - ctx.gpr[6] = (static_cast(aot_gpr_5) < 2 ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] != 0u; + aot_gpr_6 = (static_cast(aot_gpr_5) < 2 ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 != 0u; // nop if (branch_taken) { goto L_0886F8F4; @@ -7181,9 +7182,9 @@ L_0886F900: goto L_0886F910; } L_0886F910: - ctx.gpr[6] = (2235u << 16u); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(-27708)); - aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), ctx.gpr[6]); + aot_gpr_6 = (2235u << 16u); + aot_gpr_6 = (aot_gpr_6 + static_cast(-27708)); + aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), aot_gpr_6); { const bool branch_taken = aot_gpr_4 == 0u; aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(5888), 0u); if (branch_taken) { @@ -7192,9 +7193,9 @@ L_0886F910: goto L_0886F924; } L_0886F924: - ctx.gpr[6] = (2235u << 16u); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(-28772)); - aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), ctx.gpr[6]); + aot_gpr_6 = (2235u << 16u); + aot_gpr_6 = (aot_gpr_6 + static_cast(-28772)); + aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), aot_gpr_6); goto L_0886F930; L_0886F930: aot_gpr_5 = (aot_gpr_5 & 1u); @@ -7208,7 +7209,7 @@ L_0886F930: L_0886F93C: aot_gpr_31 = (0x0886F944u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886F944u) goto L_0886F944; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886F944u) goto L_0886F944; AOT_REGCACHE_SYNC_OUT(); return; L_0886F944: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -7257,8 +7258,8 @@ L_0886F98C: AOT_REGCACHE_SYNC_OUT(); return; L_0886F9A0: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); { const bool branch_taken = aot_gpr_4 == 0u; @@ -7270,12 +7271,12 @@ L_0886F9A0: } L_0886F9BC: aot_gpr_31 = (0x0886F9C4u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); goto L_0886FCAC; L_0886F9C4: aot_gpr_4 = (aot_gpr_16 & 1u); { const bool branch_taken = aot_gpr_4 == 0u; - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(36), 0u); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(36), 0u); if (branch_taken) { goto L_0886F9D8; } @@ -7283,14 +7284,14 @@ L_0886F9C4: } L_0886F9D0: aot_gpr_31 = (0x0886F9D8u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886F9D8u) goto L_0886F9D8; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886F9D8u) goto L_0886F9D8; AOT_REGCACHE_SYNC_OUT(); return; L_0886F9D8: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -7302,7 +7303,7 @@ L_0886F9D8: L_0886F9EC: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - { const std::uint32_t aot_run_words[6]{std::bit_cast(aot_fpr_20), aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; + { const std::uint32_t aot_run_words[6]{std::bit_cast(ctx.fpr[20]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(16), aot_run_words); } { const bool branch_taken = aot_gpr_5 != 0u; aot_gpr_16 = (aot_gpr_4 | 0u); @@ -7318,18 +7319,18 @@ L_0886FA14: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0092_entry, 92u, 437u, 0x08975D44u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886FA20u) goto L_0886FA20; AOT_REGCACHE_SYNC_OUT(); return; L_0886FA20: - aot_fpr_20 = std::bit_cast(0u); + ctx.fpr[20] = std::bit_cast(0u); ctx.gpr[18] = (0u | 0u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(32), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(32), std::bit_cast(ctx.fpr[20])); aot_gpr_31 = (0x0886FA34u); aot_gpr_4 = (0u | 2288u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 475u, 0x089062ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886FA34u) goto L_0886FA34; AOT_REGCACHE_SYNC_OUT(); return; L_0886FA34: - aot_gpr_17 = (2240u << 16u); + ctx.gpr[17] = (2240u << 16u); ctx.gpr[19] = (ctx.gpr[2] | 0u); { const bool branch_taken = ctx.gpr[19] != 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(-25408)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(-25408)); if (branch_taken) { goto L_0886FA54; } @@ -7380,9 +7381,9 @@ L_0886FA68: aot_gpr_4 = (aot_gpr_4 | 4059u); aot_fpr_14 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (ctx.gpr[18] | 0u); - aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); + aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_gpr_31 = (0x0886FA90u); - aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); + aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[20])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 923u, 0x0885FA28u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886FA90u) goto L_0886FA90; AOT_REGCACHE_SYNC_OUT(); return; L_0886FA90: @@ -7398,10 +7399,10 @@ L_0886FA90: AOT_REGCACHE_SYNC_OUT(); return; L_0886FAA4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_20)}; + { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[20])}; aot_mem.aot_direct_store32_block(aot_gpr_4 + static_cast(48), aot_run_words); } aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(16), 0u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(28), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(28), std::bit_cast(ctx.fpr[20])); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7076))); aot_gpr_31 = (0x0886FAC8u); aot_gpr_4 = (aot_gpr_16 | 0u); @@ -7412,8 +7413,8 @@ L_0886FAC8: aot_gpr_16 = (aot_gpr_16 + static_cast(-20960)); goto L_0886FAD4; L_0886FAD4: - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), 0u); - ctx.gpr[6] = (0u | 0u); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_5 = (aot_gpr_16 | 0u); goto L_0886FAE0; L_0886FAE0: @@ -7427,15 +7428,15 @@ L_0886FAE0: } L_0886FAEC: { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), ctx.gpr[6]); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), aot_gpr_6); if (branch_taken) { goto L_0886FB04; } goto L_0886FAF4; } L_0886FAF4: - ctx.gpr[6] = (ctx.gpr[6] + static_cast(1)); - ctx.gpr[7] = (static_cast(ctx.gpr[6]) < 82 ? 1u : 0u); + aot_gpr_6 = (aot_gpr_6 + static_cast(1)); + ctx.gpr[7] = (static_cast(aot_gpr_6) < 82 ? 1u : 0u); { const bool branch_taken = ctx.gpr[7] != 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(20)); if (branch_taken) { @@ -7447,7 +7448,7 @@ L_0886FB04: aot_gpr_4 = (aot_gpr_4 + static_cast(1)); aot_gpr_5 = (static_cast(aot_gpr_4) < 10 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 != 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(4)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(4)); if (branch_taken) { goto L_0886FAD4; } @@ -7456,9 +7457,9 @@ L_0886FB04: L_0886FB14: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); - aot_fpr_20 = std::bit_cast(aot_run_words[0]); + ctx.fpr[20] = std::bit_cast(aot_run_words[0]); aot_gpr_16 = aot_run_words[1]; - aot_gpr_17 = aot_run_words[2]; + ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; ctx.gpr[19] = aot_run_words[4]; aot_gpr_31 = aot_run_words[5]; @@ -7471,11 +7472,11 @@ L_0886FB14: AOT_REGCACHE_SYNC_OUT(); return; L_0886FB34: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); - { const bool branch_taken = ctx.gpr[6] != 0u; + { const bool branch_taken = aot_gpr_6 != 0u; aot_gpr_4 = (aot_gpr_5 | 0u); if (branch_taken) { goto L_0886FB58; @@ -7500,7 +7501,7 @@ L_0886FB60: aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x0886FB74u); - ctx.gpr[6] = (aot_gpr_29 | 0u); + aot_gpr_6 = (aot_gpr_29 | 0u); ctx.pc = 0x08B7343Cu; AOT_REGCACHE_SYNC_OUT(); return; L_0886FB74: @@ -7528,20 +7529,20 @@ L_0886FBA4: AOT_REGCACHE_SYNC_OUT(); return; L_0886FBB4: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); - { const bool branch_taken = ctx.gpr[6] == 0u; - aot_gpr_17 = (aot_gpr_5 | 0u); + { const bool branch_taken = aot_gpr_6 == 0u; + ctx.gpr[17] = (aot_gpr_5 | 0u); if (branch_taken) { goto L_0886FC1C; } goto L_0886FBD4; } L_0886FBD4: - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-7076), aot_gpr_17); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-7076), ctx.gpr[17]); aot_gpr_4 = (0u | 1u); aot_gpr_31 = (0x0886FBE4u); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(8), static_cast(aot_gpr_4)); @@ -7549,12 +7550,12 @@ L_0886FBD4: AOT_REGCACHE_SYNC_OUT(); return; L_0886FBE4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7076))); - aot_gpr_17 = (2233u << 16u); + ctx.gpr[17] = (2233u << 16u); aot_gpr_5 = (aot_gpr_4 << 4u); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); - aot_gpr_17 = (aot_gpr_17 + static_cast(-20960)); - aot_gpr_4 = (aot_gpr_4 + aot_gpr_17); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(-20960)); + aot_gpr_4 = (aot_gpr_4 + ctx.gpr[17]); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_31 = (0x0886FC0Cu); aot_gpr_5 = (aot_gpr_16 + static_cast(12)); @@ -7626,7 +7627,7 @@ L_0886FC4C: L_0886FC54: aot_gpr_5 = (0u | 4u); aot_gpr_31 = (0x0886FC60u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 546u, 0x08AD3258u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886FC60u) goto L_0886FC60; AOT_REGCACHE_SYNC_OUT(); return; L_0886FC60: @@ -7639,13 +7640,13 @@ L_0886FC60: } L_0886FC68: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7076))); - ctx.gpr[6] = (aot_gpr_5 << 4u); + aot_gpr_6 = (aot_gpr_5 << 4u); aot_gpr_5 = (aot_gpr_5 << 2u); - aot_gpr_5 = (ctx.gpr[6] + aot_gpr_5); - aot_gpr_5 = (aot_gpr_5 + aot_gpr_17); + aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); + aot_gpr_5 = (aot_gpr_5 + ctx.gpr[17]); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_gpr_31 = (0x0886FC88u); - ctx.gpr[6] = (0u | 4u); + aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 552u, 0x08AD32D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886FC88u) goto L_0886FC88; AOT_REGCACHE_SYNC_OUT(); return; L_0886FC88: @@ -7660,7 +7661,7 @@ L_0886FC98: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -7710,11 +7711,11 @@ L_0886FCDC: L_0886FCE4: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(92))); aot_gpr_5 = (aot_gpr_5 + static_cast(72)); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); jump_target = aot_gpr_5; aot_gpr_31 = (0x0886FCFCu); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886FCFCu) goto L_0886FCFC; AOT_REGCACHE_SYNC_OUT(); return; @@ -7730,12 +7731,12 @@ L_0886FD00: goto L_0886FD08; } L_0886FD08: - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(92))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(92))); aot_gpr_5 = (0u | 3u); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(24)); - ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[6] + static_cast(0)))))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(4))); - jump_target = ctx.gpr[6]; + aot_gpr_6 = (aot_gpr_6 + static_cast(24)); + ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(0)))))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(4))); + jump_target = aot_gpr_6; aot_gpr_31 = (0x0886FD24u); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[7]); ctx.pc = jump_target; @@ -7759,7 +7760,7 @@ L_0886FD30: L_0886FD40: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - { const std::uint32_t aot_run_words[7]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; + { const std::uint32_t aot_run_words[7]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(8), aot_run_words); } { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_16 = (aot_gpr_4 | 0u); @@ -7770,7 +7771,7 @@ L_0886FD40: } L_0886FD6C: aot_gpr_4 = (16128u << 16u); - aot_fpr_20 = std::bit_cast(aot_gpr_4); + ctx.fpr[20] = std::bit_cast(aot_gpr_4); aot_gpr_4 = (17332u << 16u); { const bool branch_taken = 0u == 0u; ctx.fpr[22] = std::bit_cast(aot_gpr_4); @@ -7801,13 +7802,13 @@ L_0886FD90: goto L_0886FD98; } L_0886FD98: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); ctx.gpr[19] = (0u | 7u); ctx.gpr[18] = (0u | 0u); goto L_0886FDA4; L_0886FDA4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(12))); - { const bool branch_taken = aot_gpr_17 == aot_gpr_4; + { const bool branch_taken = ctx.gpr[17] == aot_gpr_4; // nop if (branch_taken) { goto L_0886FE34; @@ -7816,7 +7817,7 @@ L_0886FDA4: } L_0886FDB0: aot_gpr_31 = (0x0886FDB8u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 583u, 0x08AD3538u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886FDB8u) goto L_0886FDB8; AOT_REGCACHE_SYNC_OUT(); return; L_0886FDB8: @@ -7829,7 +7830,7 @@ L_0886FDB8: } L_0886FDC0: aot_gpr_31 = (0x0886FDC8u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 607u, 0x08AD3698u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886FDC8u) goto L_0886FDC8; AOT_REGCACHE_SYNC_OUT(); return; L_0886FDC8: @@ -7842,7 +7843,7 @@ L_0886FDC8: } L_0886FDD0: aot_gpr_31 = (0x0886FDD8u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 614u, 0x08AD3708u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886FDD8u) goto L_0886FDD8; AOT_REGCACHE_SYNC_OUT(); return; L_0886FDD8: @@ -7856,7 +7857,7 @@ L_0886FDD8: } L_0886FDE4: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); - aot_gpr_5 = (static_cast(aot_gpr_17) < static_cast(aot_gpr_5) ? 1u : 0u); + aot_gpr_5 = (static_cast(ctx.gpr[17]) < static_cast(aot_gpr_5) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_4 = (0u | 0u); if (branch_taken) { @@ -7902,12 +7903,12 @@ L_0886FE20: } L_0886FE2C: aot_gpr_31 = (0x0886FE34u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 565u, 0x08AD340Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886FE34u) goto L_0886FE34; AOT_REGCACHE_SYNC_OUT(); return; L_0886FE34: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - aot_gpr_4 = (aot_gpr_17 < static_cast(400) ? 1u : 0u); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + aot_gpr_4 = (ctx.gpr[17] < static_cast(400) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; ctx.gpr[18] = (ctx.gpr[18] + static_cast(4)); if (branch_taken) { @@ -8009,7 +8010,7 @@ L_0886FED8: aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x0886FEECu); - ctx.gpr[6] = (aot_gpr_29 | 0u); + aot_gpr_6 = (aot_gpr_29 | 0u); ctx.pc = 0x08B7343Cu; AOT_REGCACHE_SYNC_OUT(); return; L_0886FEEC: @@ -8021,12 +8022,12 @@ L_0886FEEC: aot_gpr_4 = (aot_gpr_4 | 14269u); aot_fpr_13 = std::bit_cast(aot_gpr_5); aot_fpr_14 = std::bit_cast(aot_gpr_4); - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(28))); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(28))); aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_13))); { const float fs = aot_fpr_12; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = aot_fpr_12 + aot_fpr_13; - aot_fpr_12 = aot_fpr_12 - ctx.fpr[15]; - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_20)) ? 0x00800000u : 0u); + aot_fpr_12 = aot_fpr_12 - aot_fpr_15; + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[20])) ? 0x00800000u : 0u); // nop if (((ctx.fcr31 & 0x00800000u) != 0u)) { aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7680))); @@ -8046,11 +8047,11 @@ L_0886FF30: L_0886FF40: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(92))); aot_gpr_5 = (aot_gpr_5 + static_cast(72)); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); jump_target = aot_gpr_5; aot_gpr_31 = (0x0886FF58u); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0886FF58u) goto L_0886FF58; AOT_REGCACHE_SYNC_OUT(); return; @@ -8065,11 +8066,11 @@ L_0886FF60: aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(86), static_cast(aot_gpr_5)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(12))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(92))); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(48)); - ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[6] + static_cast(0)))))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(4))); - jump_target = ctx.gpr[6]; + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(92))); + aot_gpr_6 = (aot_gpr_6 + static_cast(48)); + ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(0)))))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(4))); + jump_target = aot_gpr_6; aot_gpr_31 = (0x0886FF8Cu); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[7]); ctx.pc = jump_target; @@ -8078,9 +8079,9 @@ L_0886FF60: L_0886FF8C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); aot_gpr_5 = (2233u << 16u); - ctx.gpr[6] = (aot_gpr_4 << 4u); + aot_gpr_6 = (aot_gpr_4 << 4u); aot_gpr_4 = (aot_gpr_4 << 2u); - aot_gpr_4 = (ctx.gpr[6] + aot_gpr_4); + aot_gpr_4 = (aot_gpr_6 + aot_gpr_4); aot_gpr_5 = (aot_gpr_5 + static_cast(-20960)); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); @@ -8110,25 +8111,25 @@ L_0886FFC8: goto L_0886FFD0; L_0886FFD0: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); - { const float fs = aot_fpr_12; const float ft = aot_fpr_20; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_20 = std::bit_cast(0x7FC00000u); else aot_fpr_20 = fs * ft; } - aot_fpr_20 = aot_fpr_13 + aot_fpr_20; - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_20 <= ctx.fpr[22])) ? 0x00800000u : 0u); + { const float fs = aot_fpr_12; const float ft = ctx.fpr[20]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[20] = std::bit_cast(0x7FC00000u); else ctx.fpr[20] = fs * ft; } + ctx.fpr[20] = aot_fpr_13 + ctx.fpr[20]; + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[20] <= ctx.fpr[22])) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), std::bit_cast(ctx.fpr[20])); if (branch_taken) { goto L_0886FFF4; } goto L_0886FFEC; } L_0886FFEC: - aot_fpr_12 = aot_fpr_20 - ctx.fpr[22]; + aot_fpr_12 = ctx.fpr[20] - ctx.fpr[22]; aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), std::bit_cast(aot_fpr_12)); goto L_0886FFF4; L_0886FFF4: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(8), aot_run_words); - aot_fpr_20 = std::bit_cast(aot_run_words[0]); + ctx.fpr[20] = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); aot_gpr_16 = aot_run_words[2]; } diff --git a/profiles/vcs/generated/generated_unit_0027.cpp b/profiles/vcs/generated/generated_unit_0027.cpp index 5da91bf..9a4cad5 100644 --- a/profiles/vcs/generated/generated_unit_0027.cpp +++ b/profiles/vcs/generated/generated_unit_0027.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0027[4096] = { }; void recomp_unit_0027_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,31,16,6 fprs=12,13,14,20 gpr_occ=4520 fpr_occ=235 gpr_total=6076 fpr_total=297 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,31,29,6,16 fprs=12,13,14,20 gpr_occ=4914 fpr_occ=235 gpr_total=6748 fpr_total=297 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; - std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; - std::uint32_t aot_gpr_16 = ctx.gpr[16]; + std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_6 = ctx.gpr[6]; + std::uint32_t aot_gpr_16 = ctx.gpr[16]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_14 = ctx.fpr[14]; float aot_fpr_20 = ctx.fpr[20]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[31] = aot_gpr_31; ctx.gpr[16] = aot_gpr_16; ctx.gpr[6] = aot_gpr_6; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[20] = aot_fpr_20; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_6 = ctx.gpr[6]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_20 = ctx.fpr[20]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[31] = aot_gpr_31; ctx.gpr[29] = aot_gpr_29; ctx.gpr[6] = aot_gpr_6; ctx.gpr[16] = aot_gpr_16; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[20] = aot_fpr_20; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_16 = ctx.gpr[16]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_20 = ctx.fpr[20]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -1311,7 +1312,7 @@ L_08870224: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(80))); aot_gpr_31 = (0x08870234u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08870234u) goto L_08870234; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0886D4BC, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08870234u) goto L_08870234; AOT_REGCACHE_SYNC_OUT(); return; L_08870234: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -1372,12 +1373,12 @@ L_08870280: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0887028Cu); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887028Cu) goto L_0887028C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887028Cu) goto L_0887028C; AOT_REGCACHE_SYNC_OUT(); return; L_0887028C: aot_gpr_31 = (0x08870294u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08870294u) goto L_08870294; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08870294u) goto L_08870294; AOT_REGCACHE_SYNC_OUT(); return; L_08870294: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(32))); @@ -1450,7 +1451,7 @@ L_08870320: L_0887033C: aot_gpr_31 = (0x08870344u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08870344u) goto L_08870344; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08870344u) goto L_08870344; AOT_REGCACHE_SYNC_OUT(); return; L_08870344: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -1463,7 +1464,7 @@ L_08870344: L_0887034C: aot_gpr_31 = (0x08870354u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08870354u) goto L_08870354; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08870354u) goto L_08870354; AOT_REGCACHE_SYNC_OUT(); return; L_08870354: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(40))); @@ -1510,7 +1511,7 @@ L_088703A4: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); aot_gpr_31 = (0x088703BCu); aot_gpr_4 = (aot_gpr_4 + static_cast(29232)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088703BCu) goto L_088703BC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088703BCu) goto L_088703BC; AOT_REGCACHE_SYNC_OUT(); return; L_088703BC: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -1638,7 +1639,7 @@ L_08870478: L_08870480: aot_gpr_31 = (0x08870488u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08870488u) goto L_08870488; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806654, 0u, 303u, 0x08806654u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08870488u) goto L_08870488; AOT_REGCACHE_SYNC_OUT(); return; L_08870488: aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5892))); @@ -1661,7 +1662,7 @@ L_0887049C: L_088704A4: aot_gpr_31 = (0x088704ACu); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088704ACu) goto L_088704AC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088704ACu) goto L_088704AC; AOT_REGCACHE_SYNC_OUT(); return; L_088704AC: aot_gpr_4 = (aot_gpr_29 | 0u); @@ -1690,7 +1691,7 @@ L_088704D8: aot_gpr_5 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088704E4u); aot_gpr_4 = (aot_gpr_4 + static_cast(25856)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088704E4u) goto L_088704E4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088704E4u) goto L_088704E4; AOT_REGCACHE_SYNC_OUT(); return; L_088704E4: { std::uint32_t aot_run_words[3]{}; @@ -2007,7 +2008,7 @@ L_08870714: L_08870724: aot_gpr_31 = (0x0887072Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887072Cu) goto L_0887072C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887072Cu) goto L_0887072C; AOT_REGCACHE_SYNC_OUT(); return; L_0887072C: ctx.gpr[21] = (ctx.gpr[21] + static_cast(4)); @@ -2034,7 +2035,7 @@ L_0887073C: L_08870744: aot_gpr_31 = (0x0887074Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887074Cu) goto L_0887074C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887074Cu) goto L_0887074C; AOT_REGCACHE_SYNC_OUT(); return; L_0887074C: aot_gpr_4 = (ctx.gpr[17] << 2u); @@ -2223,7 +2224,7 @@ L_088708C4: L_088708D8: aot_gpr_31 = (0x088708E0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088708E0u) goto L_088708E0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088708E0u) goto L_088708E0; AOT_REGCACHE_SYNC_OUT(); return; L_088708E0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5892))); @@ -2392,7 +2393,7 @@ L_088709E0: aot_gpr_5 = (0u + static_cast(-10001)); aot_gpr_31 = (0x088709ECu); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088709ECu) goto L_088709EC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088709ECu) goto L_088709EC; AOT_REGCACHE_SYNC_OUT(); return; L_088709EC: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-19664))); @@ -2407,7 +2408,7 @@ L_088709F8: aot_gpr_4 = (2237u << 16u); aot_gpr_31 = (0x08870A04u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08870A04u) goto L_08870A04; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC734, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08870A04u) goto L_08870A04; AOT_REGCACHE_SYNC_OUT(); return; L_08870A04: aot_gpr_4 = (ctx.gpr[2] | 0u); @@ -2453,7 +2454,7 @@ L_08870A44: ctx.gpr[17] = (aot_gpr_29 + static_cast(4)); aot_gpr_31 = (0x08870A58u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08870A58u) goto L_08870A58; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08870A58u) goto L_08870A58; AOT_REGCACHE_SYNC_OUT(); return; L_08870A58: aot_gpr_4 = (ctx.gpr[17] | 0u); @@ -2482,7 +2483,7 @@ L_08870A84: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); aot_gpr_31 = (0x08870A90u); aot_gpr_4 = (aot_gpr_4 + static_cast(25856)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08870A90u) goto L_08870A90; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08870A90u) goto L_08870A90; AOT_REGCACHE_SYNC_OUT(); return; L_08870A90: aot_gpr_4 = (0u | 1u); @@ -2517,7 +2518,7 @@ L_08870AB8: ctx.gpr[17] = (aot_gpr_29 + static_cast(4)); aot_gpr_31 = (0x08870ACCu); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08870ACCu) goto L_08870ACC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08870ACCu) goto L_08870ACC; AOT_REGCACHE_SYNC_OUT(); return; L_08870ACC: aot_gpr_4 = (ctx.gpr[17] | 0u); @@ -2546,7 +2547,7 @@ L_08870AF8: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); aot_gpr_31 = (0x08870B04u); aot_gpr_4 = (aot_gpr_4 + static_cast(25856)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08870B04u) goto L_08870B04; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08870B04u) goto L_08870B04; AOT_REGCACHE_SYNC_OUT(); return; L_08870B04: { const bool branch_taken = 0u == 0u; @@ -2579,7 +2580,7 @@ L_08870B24: ctx.gpr[17] = (aot_gpr_29 + static_cast(4)); aot_gpr_31 = (0x08870B38u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08870B38u) goto L_08870B38; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08870B38u) goto L_08870B38; AOT_REGCACHE_SYNC_OUT(); return; L_08870B38: aot_gpr_4 = (ctx.gpr[17] | 0u); @@ -2608,7 +2609,7 @@ L_08870B64: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); aot_gpr_31 = (0x08870B70u); aot_gpr_4 = (aot_gpr_4 + static_cast(25856)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08870B70u) goto L_08870B70; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08870B70u) goto L_08870B70; AOT_REGCACHE_SYNC_OUT(); return; L_08870B70: { const bool branch_taken = 0u == 0u; @@ -2641,7 +2642,7 @@ L_08870B90: ctx.gpr[17] = (aot_gpr_29 + static_cast(4)); aot_gpr_31 = (0x08870BA4u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08870BA4u) goto L_08870BA4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08870BA4u) goto L_08870BA4; AOT_REGCACHE_SYNC_OUT(); return; L_08870BA4: aot_gpr_4 = (ctx.gpr[17] | 0u); @@ -2670,7 +2671,7 @@ L_08870BD0: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); aot_gpr_31 = (0x08870BDCu); aot_gpr_4 = (aot_gpr_4 + static_cast(25856)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08870BDCu) goto L_08870BDC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08870BDCu) goto L_08870BDC; AOT_REGCACHE_SYNC_OUT(); return; L_08870BDC: { const bool branch_taken = 0u == 0u; @@ -2703,7 +2704,7 @@ L_08870BFC: ctx.gpr[17] = (aot_gpr_29 + static_cast(4)); aot_gpr_31 = (0x08870C10u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08870C10u) goto L_08870C10; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08870C10u) goto L_08870C10; AOT_REGCACHE_SYNC_OUT(); return; L_08870C10: aot_gpr_4 = (ctx.gpr[17] | 0u); @@ -2732,7 +2733,7 @@ L_08870C3C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); aot_gpr_31 = (0x08870C48u); aot_gpr_4 = (aot_gpr_4 + static_cast(25856)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08870C48u) goto L_08870C48; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08870C48u) goto L_08870C48; AOT_REGCACHE_SYNC_OUT(); return; L_08870C48: { const bool branch_taken = 0u == 0u; @@ -2765,7 +2766,7 @@ L_08870C68: ctx.gpr[17] = (aot_gpr_29 + static_cast(4)); aot_gpr_31 = (0x08870C7Cu); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08870C7Cu) goto L_08870C7C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08870C7Cu) goto L_08870C7C; AOT_REGCACHE_SYNC_OUT(); return; L_08870C7C: aot_gpr_4 = (ctx.gpr[17] | 0u); @@ -2794,7 +2795,7 @@ L_08870CA8: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); aot_gpr_31 = (0x08870CB4u); aot_gpr_4 = (aot_gpr_4 + static_cast(25856)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08870CB4u) goto L_08870CB4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08870CB4u) goto L_08870CB4; AOT_REGCACHE_SYNC_OUT(); return; L_08870CB4: { const bool branch_taken = 0u == 0u; @@ -2827,7 +2828,7 @@ L_08870CD4: ctx.gpr[17] = (aot_gpr_29 + static_cast(4)); aot_gpr_31 = (0x08870CE8u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08870CE8u) goto L_08870CE8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08870CE8u) goto L_08870CE8; AOT_REGCACHE_SYNC_OUT(); return; L_08870CE8: aot_gpr_4 = (ctx.gpr[17] | 0u); @@ -2856,7 +2857,7 @@ L_08870D14: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); aot_gpr_31 = (0x08870D20u); aot_gpr_4 = (aot_gpr_4 + static_cast(25856)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08870D20u) goto L_08870D20; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08870D20u) goto L_08870D20; AOT_REGCACHE_SYNC_OUT(); return; L_08870D20: { const bool branch_taken = 0u == 0u; @@ -2889,7 +2890,7 @@ L_08870D40: ctx.gpr[17] = (aot_gpr_29 + static_cast(4)); aot_gpr_31 = (0x08870D54u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08870D54u) goto L_08870D54; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08870D54u) goto L_08870D54; AOT_REGCACHE_SYNC_OUT(); return; L_08870D54: aot_gpr_4 = (ctx.gpr[17] | 0u); @@ -2918,7 +2919,7 @@ L_08870D80: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); aot_gpr_31 = (0x08870D8Cu); aot_gpr_4 = (aot_gpr_4 + static_cast(25856)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08870D8Cu) goto L_08870D8C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08870D8Cu) goto L_08870D8C; AOT_REGCACHE_SYNC_OUT(); return; L_08870D8C: { const bool branch_taken = 0u == 0u; @@ -2951,7 +2952,7 @@ L_08870DAC: ctx.gpr[17] = (aot_gpr_29 + static_cast(4)); aot_gpr_31 = (0x08870DC0u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08870DC0u) goto L_08870DC0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08870DC0u) goto L_08870DC0; AOT_REGCACHE_SYNC_OUT(); return; L_08870DC0: aot_gpr_4 = (ctx.gpr[17] | 0u); @@ -2980,7 +2981,7 @@ L_08870DEC: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); aot_gpr_31 = (0x08870DF8u); aot_gpr_4 = (aot_gpr_4 + static_cast(25856)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08870DF8u) goto L_08870DF8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08870DF8u) goto L_08870DF8; AOT_REGCACHE_SYNC_OUT(); return; L_08870DF8: { const bool branch_taken = 0u == 0u; @@ -3013,7 +3014,7 @@ L_08870E18: ctx.gpr[17] = (aot_gpr_29 + static_cast(4)); aot_gpr_31 = (0x08870E2Cu); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08870E2Cu) goto L_08870E2C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08870E2Cu) goto L_08870E2C; AOT_REGCACHE_SYNC_OUT(); return; L_08870E2C: aot_gpr_4 = (ctx.gpr[17] | 0u); @@ -3042,7 +3043,7 @@ L_08870E58: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); aot_gpr_31 = (0x08870E64u); aot_gpr_4 = (aot_gpr_4 + static_cast(25856)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08870E64u) goto L_08870E64; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08870E64u) goto L_08870E64; AOT_REGCACHE_SYNC_OUT(); return; L_08870E64: { const bool branch_taken = 0u == 0u; @@ -3059,7 +3060,7 @@ L_08870E78: aot_gpr_4 = (2237u << 16u); aot_gpr_31 = (0x08870E84u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08870E84u) goto L_08870E84; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC734, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08870E84u) goto L_08870E84; AOT_REGCACHE_SYNC_OUT(); return; L_08870E84: aot_gpr_4 = (ctx.gpr[2] | 0u); @@ -3105,7 +3106,7 @@ L_08870EC4: ctx.gpr[17] = (aot_gpr_29 + static_cast(12)); aot_gpr_31 = (0x08870ED8u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08870ED8u) goto L_08870ED8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08870ED8u) goto L_08870ED8; AOT_REGCACHE_SYNC_OUT(); return; L_08870ED8: aot_gpr_4 = (ctx.gpr[17] | 0u); @@ -3134,7 +3135,7 @@ L_08870F04: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); aot_gpr_31 = (0x08870F10u); aot_gpr_4 = (aot_gpr_4 + static_cast(25856)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08870F10u) goto L_08870F10; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08870F10u) goto L_08870F10; AOT_REGCACHE_SYNC_OUT(); return; L_08870F10: { const bool branch_taken = 0u == 0u; @@ -3167,7 +3168,7 @@ L_08870F30: ctx.gpr[17] = (aot_gpr_29 + static_cast(12)); aot_gpr_31 = (0x08870F44u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08870F44u) goto L_08870F44; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08870F44u) goto L_08870F44; AOT_REGCACHE_SYNC_OUT(); return; L_08870F44: aot_gpr_4 = (ctx.gpr[17] | 0u); @@ -3196,7 +3197,7 @@ L_08870F70: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); aot_gpr_31 = (0x08870F7Cu); aot_gpr_4 = (aot_gpr_4 + static_cast(25856)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08870F7Cu) goto L_08870F7C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08870F7Cu) goto L_08870F7C; AOT_REGCACHE_SYNC_OUT(); return; L_08870F7C: { const bool branch_taken = 0u == 0u; @@ -3229,7 +3230,7 @@ L_08870F9C: ctx.gpr[17] = (aot_gpr_29 + static_cast(12)); aot_gpr_31 = (0x08870FB0u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08870FB0u) goto L_08870FB0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08870FB0u) goto L_08870FB0; AOT_REGCACHE_SYNC_OUT(); return; L_08870FB0: aot_gpr_4 = (ctx.gpr[17] | 0u); @@ -3258,7 +3259,7 @@ L_08870FDC: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); aot_gpr_31 = (0x08870FE8u); aot_gpr_4 = (aot_gpr_4 + static_cast(25856)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08870FE8u) goto L_08870FE8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08870FE8u) goto L_08870FE8; AOT_REGCACHE_SYNC_OUT(); return; L_08870FE8: { const bool branch_taken = 0u == 0u; @@ -3291,7 +3292,7 @@ L_08871008: ctx.gpr[17] = (aot_gpr_29 + static_cast(12)); aot_gpr_31 = (0x0887101Cu); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887101Cu) goto L_0887101C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887101Cu) goto L_0887101C; AOT_REGCACHE_SYNC_OUT(); return; L_0887101C: aot_gpr_4 = (ctx.gpr[17] | 0u); @@ -3320,7 +3321,7 @@ L_08871048: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); aot_gpr_31 = (0x08871054u); aot_gpr_4 = (aot_gpr_4 + static_cast(25856)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08871054u) goto L_08871054; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08871054u) goto L_08871054; AOT_REGCACHE_SYNC_OUT(); return; L_08871054: { const bool branch_taken = 0u == 0u; @@ -3353,7 +3354,7 @@ L_08871074: ctx.gpr[17] = (aot_gpr_29 + static_cast(12)); aot_gpr_31 = (0x08871088u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08871088u) goto L_08871088; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08871088u) goto L_08871088; AOT_REGCACHE_SYNC_OUT(); return; L_08871088: aot_gpr_4 = (ctx.gpr[17] | 0u); @@ -3382,7 +3383,7 @@ L_088710B4: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); aot_gpr_31 = (0x088710C0u); aot_gpr_4 = (aot_gpr_4 + static_cast(25856)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088710C0u) goto L_088710C0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088710C0u) goto L_088710C0; AOT_REGCACHE_SYNC_OUT(); return; L_088710C0: { const bool branch_taken = 0u == 0u; @@ -3415,7 +3416,7 @@ L_088710E0: ctx.gpr[17] = (aot_gpr_29 + static_cast(12)); aot_gpr_31 = (0x088710F4u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088710F4u) goto L_088710F4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088710F4u) goto L_088710F4; AOT_REGCACHE_SYNC_OUT(); return; L_088710F4: aot_gpr_4 = (ctx.gpr[17] | 0u); @@ -3444,7 +3445,7 @@ L_08871120: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); aot_gpr_31 = (0x0887112Cu); aot_gpr_4 = (aot_gpr_4 + static_cast(25856)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887112Cu) goto L_0887112C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887112Cu) goto L_0887112C; AOT_REGCACHE_SYNC_OUT(); return; L_0887112C: { const bool branch_taken = 0u == 0u; @@ -3477,7 +3478,7 @@ L_0887114C: ctx.gpr[17] = (aot_gpr_29 + static_cast(12)); aot_gpr_31 = (0x08871160u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08871160u) goto L_08871160; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08871160u) goto L_08871160; AOT_REGCACHE_SYNC_OUT(); return; L_08871160: aot_gpr_4 = (ctx.gpr[17] | 0u); @@ -3506,7 +3507,7 @@ L_0887118C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); aot_gpr_31 = (0x08871198u); aot_gpr_4 = (aot_gpr_4 + static_cast(25856)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08871198u) goto L_08871198; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08871198u) goto L_08871198; AOT_REGCACHE_SYNC_OUT(); return; L_08871198: { const bool branch_taken = 0u == 0u; @@ -3539,7 +3540,7 @@ L_088711B8: ctx.gpr[17] = (aot_gpr_29 + static_cast(12)); aot_gpr_31 = (0x088711CCu); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088711CCu) goto L_088711CC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088711CCu) goto L_088711CC; AOT_REGCACHE_SYNC_OUT(); return; L_088711CC: aot_gpr_4 = (ctx.gpr[17] | 0u); @@ -3568,7 +3569,7 @@ L_088711F8: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); aot_gpr_31 = (0x08871204u); aot_gpr_4 = (aot_gpr_4 + static_cast(25856)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08871204u) goto L_08871204; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08871204u) goto L_08871204; AOT_REGCACHE_SYNC_OUT(); return; L_08871204: { const bool branch_taken = 0u == 0u; @@ -3601,7 +3602,7 @@ L_08871224: ctx.gpr[17] = (aot_gpr_29 + static_cast(12)); aot_gpr_31 = (0x08871238u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08871238u) goto L_08871238; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08871238u) goto L_08871238; AOT_REGCACHE_SYNC_OUT(); return; L_08871238: aot_gpr_4 = (ctx.gpr[17] | 0u); @@ -3630,7 +3631,7 @@ L_08871264: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); aot_gpr_31 = (0x08871270u); aot_gpr_4 = (aot_gpr_4 + static_cast(25856)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08871270u) goto L_08871270; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08871270u) goto L_08871270; AOT_REGCACHE_SYNC_OUT(); return; L_08871270: { const bool branch_taken = 0u == 0u; @@ -3663,7 +3664,7 @@ L_08871290: ctx.gpr[17] = (aot_gpr_29 + static_cast(12)); aot_gpr_31 = (0x088712A4u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088712A4u) goto L_088712A4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088712A4u) goto L_088712A4; AOT_REGCACHE_SYNC_OUT(); return; L_088712A4: aot_gpr_4 = (ctx.gpr[17] | 0u); @@ -3692,7 +3693,7 @@ L_088712D0: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); aot_gpr_31 = (0x088712DCu); aot_gpr_4 = (aot_gpr_4 + static_cast(25856)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088712DCu) goto L_088712DC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088712DCu) goto L_088712DC; AOT_REGCACHE_SYNC_OUT(); return; L_088712DC: { const bool branch_taken = 0u == 0u; @@ -3767,7 +3768,7 @@ L_08871360: L_0887136C: aot_gpr_31 = (0x08871374u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08871374u) goto L_08871374; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08871374u) goto L_08871374; AOT_REGCACHE_SYNC_OUT(); return; L_08871374: aot_gpr_4 = (ctx.gpr[2] + static_cast(-1)); @@ -4574,7 +4575,7 @@ L_08871918: ctx.gpr[18] = (aot_gpr_4 + static_cast(-24400)); aot_gpr_31 = (0x0887192Cu); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887192Cu) goto L_0887192C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887192Cu) goto L_0887192C; AOT_REGCACHE_SYNC_OUT(); return; L_0887192C: aot_gpr_4 = (ctx.gpr[17] | 0u); @@ -4597,7 +4598,7 @@ L_08871944: ctx.gpr[18] = (aot_gpr_4 + static_cast(-24380)); aot_gpr_31 = (0x08871958u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08871958u) goto L_08871958; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08871958u) goto L_08871958; AOT_REGCACHE_SYNC_OUT(); return; L_08871958: aot_gpr_4 = (ctx.gpr[17] | 0u); @@ -6106,7 +6107,7 @@ L_08872694: aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(8), ctx.gpr[19]); aot_gpr_31 = (0x088726D4u); aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(0), aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088726D4u) goto L_088726D4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088726D4u) goto L_088726D4; AOT_REGCACHE_SYNC_OUT(); return; L_088726D4: aot_gpr_4 = (ctx.gpr[17] | 0u); @@ -6767,7 +6768,7 @@ L_08872C78: aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(108), aot_run_words); } aot_gpr_31 = (0x08872CC8u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08872CC8u) goto L_08872CC8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08872CC8u) goto L_08872CC8; AOT_REGCACHE_SYNC_OUT(); return; L_08872CC8: aot_gpr_5 = (2235u << 16u); @@ -6928,7 +6929,7 @@ L_08872D8C: L_08872DA0: aot_gpr_31 = (0x08872DA8u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08872DA8u) goto L_08872DA8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08872DA8u) goto L_08872DA8; AOT_REGCACHE_SYNC_OUT(); return; L_08872DA8: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -6945,7 +6946,7 @@ L_08872DA8: aot_fpr_12 = aot_fpr_12 + aot_fpr_13; aot_gpr_31 = (0x08872DE0u); aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast(32), std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08872DE0u) goto L_08872DE0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08872DE0u) goto L_08872DE0; AOT_REGCACHE_SYNC_OUT(); return; L_08872DE0: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -6959,7 +6960,7 @@ L_08872DE0: aot_fpr_12 = aot_fpr_12 + aot_fpr_13; aot_gpr_31 = (0x08872E0Cu); aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast(36), std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08872E0Cu) goto L_08872E0C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08872E0Cu) goto L_08872E0C; AOT_REGCACHE_SYNC_OUT(); return; L_08872E0C: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -7005,7 +7006,7 @@ L_08872E30: L_08872E60: aot_gpr_31 = (0x08872E68u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08872E68u) goto L_08872E68; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08872E68u) goto L_08872E68; AOT_REGCACHE_SYNC_OUT(); return; L_08872E68: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -7241,7 +7242,7 @@ L_0887305C: ctx.gpr[19] = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08873068u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(0))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08873068u) goto L_08873068; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08873068u) goto L_08873068; AOT_REGCACHE_SYNC_OUT(); return; L_08873068: ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(0))); @@ -7304,7 +7305,7 @@ L_088730B8: L_088730D8: aot_gpr_31 = (0x088730E0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(52))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088730E0u) goto L_088730E0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088730E0u) goto L_088730E0; AOT_REGCACHE_SYNC_OUT(); return; L_088730E0: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -7397,7 +7398,7 @@ L_08873148: L_08873168: aot_gpr_31 = (0x08873170u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(52))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08873170u) goto L_08873170; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08873170u) goto L_08873170; AOT_REGCACHE_SYNC_OUT(); return; L_08873170: if (ctx.gpr[2] == 0u) { @@ -7593,7 +7594,7 @@ L_08873278: L_0887328C: aot_gpr_31 = (0x08873294u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08873294u) goto L_08873294; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08873294u) goto L_08873294; AOT_REGCACHE_SYNC_OUT(); return; L_08873294: { const bool branch_taken = ctx.gpr[2] != 0u; @@ -7616,13 +7617,13 @@ L_088732AC: aot_gpr_5 = (aot_gpr_5 | ctx.gpr[30]); aot_gpr_31 = (0x088732C0u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(456), aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088732C0u) goto L_088732C0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890FF64, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088732C0u) goto L_088732C0; AOT_REGCACHE_SYNC_OUT(); return; L_088732C0: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088732CCu); aot_gpr_5 = (0u | 5u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088732CCu) goto L_088732CC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088732CCu) goto L_088732CC; AOT_REGCACHE_SYNC_OUT(); return; L_088732CC: aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(52))); @@ -8070,7 +8071,7 @@ L_0887368C: L_08873698: aot_gpr_31 = (0x088736A0u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-27188)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088736A0u) goto L_088736A0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088736A0u) goto L_088736A0; AOT_REGCACHE_SYNC_OUT(); return; L_088736A0: aot_gpr_31 = (0x088736A8u); @@ -8324,7 +8325,7 @@ L_08873834: L_08873848: aot_gpr_31 = (0x08873850u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-27188)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08873850u) goto L_08873850; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08873850u) goto L_08873850; AOT_REGCACHE_SYNC_OUT(); return; L_08873850: aot_gpr_4 = (2237u << 16u); @@ -8397,7 +8398,7 @@ L_088738AC: L_088738C0: aot_gpr_31 = (0x088738C8u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-27188)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088738C8u) goto L_088738C8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088738C8u) goto L_088738C8; AOT_REGCACHE_SYNC_OUT(); return; L_088738C8: aot_gpr_4 = (2237u << 16u); @@ -8618,7 +8619,7 @@ L_08873A44: L_08873A54: aot_gpr_31 = (0x08873A5Cu); aot_gpr_4 = (ctx.gpr[28] + static_cast(-27188)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08873A5Cu) goto L_08873A5C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08873A5Cu) goto L_08873A5C; AOT_REGCACHE_SYNC_OUT(); return; L_08873A5C: aot_gpr_31 = (0x08873A64u); @@ -8678,7 +8679,7 @@ L_08873A9C: L_08873AA8: aot_gpr_31 = (0x08873AB0u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-27188)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08873AB0u) goto L_08873AB0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08873AB0u) goto L_08873AB0; AOT_REGCACHE_SYNC_OUT(); return; L_08873AB0: aot_gpr_31 = (0x08873AB8u); @@ -8711,7 +8712,7 @@ L_08873AC8: L_08873AD8: aot_gpr_31 = (0x08873AE0u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-27188)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08873AE0u) goto L_08873AE0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08873AE0u) goto L_08873AE0; AOT_REGCACHE_SYNC_OUT(); return; L_08873AE0: aot_gpr_4 = (ctx.gpr[18] | 0u); @@ -8748,7 +8749,7 @@ L_08873B00: L_08873B10: aot_gpr_31 = (0x08873B18u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-27188)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08873B18u) goto L_08873B18; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08873B18u) goto L_08873B18; AOT_REGCACHE_SYNC_OUT(); return; L_08873B18: aot_gpr_31 = (0x08873B20u); @@ -8773,7 +8774,7 @@ L_08873B2C: L_08873B38: aot_gpr_31 = (0x08873B40u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-27188)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08873B40u) goto L_08873B40; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08873B40u) goto L_08873B40; AOT_REGCACHE_SYNC_OUT(); return; L_08873B40: aot_gpr_31 = (0x08873B48u); @@ -8806,7 +8807,7 @@ L_08873B68: L_08873B74: aot_gpr_31 = (0x08873B7Cu); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08873B7Cu) goto L_08873B7C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08873B7Cu) goto L_08873B7C; AOT_REGCACHE_SYNC_OUT(); return; L_08873B7C: { const bool branch_taken = 0u == 0u; @@ -8834,7 +8835,7 @@ L_08873B8C: L_08873B9C: aot_gpr_31 = (0x08873BA4u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-27188)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08873BA4u) goto L_08873BA4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08873BA4u) goto L_08873BA4; AOT_REGCACHE_SYNC_OUT(); return; L_08873BA4: aot_gpr_31 = (0x08873BACu); @@ -8859,7 +8860,7 @@ L_08873BB8: L_08873BC4: aot_gpr_31 = (0x08873BCCu); aot_gpr_4 = (ctx.gpr[28] + static_cast(-27188)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08873BCCu) goto L_08873BCC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08873BCCu) goto L_08873BCC; AOT_REGCACHE_SYNC_OUT(); return; L_08873BCC: aot_gpr_31 = (0x08873BD4u); @@ -8892,7 +8893,7 @@ L_08873BF4: L_08873C00: aot_gpr_31 = (0x08873C08u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08873C08u) goto L_08873C08; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08873C08u) goto L_08873C08; AOT_REGCACHE_SYNC_OUT(); return; L_08873C08: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(204), 0u); @@ -8987,7 +8988,7 @@ L_08873CE4: aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08873D10u); aot_gpr_6 = (0u | 140u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08873D10u) goto L_08873D10; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08873D10u) goto L_08873D10; AOT_REGCACHE_SYNC_OUT(); return; L_08873D10: ctx.gpr[2] = (aot_gpr_16 | 0u); @@ -9056,7 +9057,7 @@ L_08873D94: L_08873DA8: aot_gpr_31 = (0x08873DB0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08873DB0u) goto L_08873DB0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08873DB0u) goto L_08873DB0; AOT_REGCACHE_SYNC_OUT(); return; L_08873DB0: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-27124))); @@ -9064,7 +9065,7 @@ L_08873DB0: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08873DC4u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08873DC4u) goto L_08873DC4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08873DC4u) goto L_08873DC4; AOT_REGCACHE_SYNC_OUT(); return; L_08873DC4: ctx.gpr[1] = (ctx.gpr[3] << 1u); @@ -9077,7 +9078,7 @@ L_08873DC4: aot_gpr_16 = (aot_gpr_5 + static_cast(-28736)); aot_gpr_31 = (0x08873DECu); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(36), static_cast(aot_gpr_4)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08873DECu) goto L_08873DEC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08873DECu) goto L_08873DEC; AOT_REGCACHE_SYNC_OUT(); return; L_08873DEC: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-27116))); @@ -9085,7 +9086,7 @@ L_08873DEC: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08873E00u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08873E00u) goto L_08873E00; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08873E00u) goto L_08873E00; AOT_REGCACHE_SYNC_OUT(); return; L_08873E00: ctx.gpr[1] = (ctx.gpr[3] << 1u); diff --git a/profiles/vcs/generated/generated_unit_0028.cpp b/profiles/vcs/generated/generated_unit_0028.cpp index 6610ed0..9e8f409 100644 --- a/profiles/vcs/generated/generated_unit_0028.cpp +++ b/profiles/vcs/generated/generated_unit_0028.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0028[4094] = { }; void recomp_unit_0028_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,31,17,2,16 fprs=12,13,14,15 gpr_occ=4212 fpr_occ=56 gpr_total=5235 fpr_total=58 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,31,2,5,6,17 fprs=12,13,14,15 gpr_occ=4815 fpr_occ=60 gpr_total=6093 fpr_total=62 std::uint32_t aot_gpr_4 = ctx.gpr[4]; - std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; - std::uint32_t aot_gpr_17 = ctx.gpr[17]; std::uint32_t aot_gpr_2 = ctx.gpr[2]; - std::uint32_t aot_gpr_16 = ctx.gpr[16]; + std::uint32_t aot_gpr_5 = ctx.gpr[5]; + std::uint32_t aot_gpr_6 = ctx.gpr[6]; + std::uint32_t aot_gpr_17 = ctx.gpr[17]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_14 = ctx.fpr[14]; float aot_fpr_15 = ctx.fpr[15]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[31] = aot_gpr_31; ctx.gpr[17] = aot_gpr_17; ctx.gpr[2] = aot_gpr_2; ctx.gpr[16] = aot_gpr_16; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[15] = aot_fpr_15; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_17 = ctx.gpr[17]; aot_gpr_2 = ctx.gpr[2]; aot_gpr_16 = ctx.gpr[16]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_15 = ctx.fpr[15]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[31] = aot_gpr_31; ctx.gpr[2] = aot_gpr_2; ctx.gpr[5] = aot_gpr_5; ctx.gpr[6] = aot_gpr_6; ctx.gpr[17] = aot_gpr_17; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[15] = aot_fpr_15; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_2 = ctx.gpr[2]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_17 = ctx.gpr[17]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_15 = ctx.fpr[15]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -1472,25 +1473,25 @@ LOCAL_DISPATCH: } L_08874000: { const bool branch_taken = static_cast(ctx.gpr[7]) >= 0; - aot_gpr_5 = (aot_gpr_16 + static_cast(164)); + aot_gpr_5 = (ctx.gpr[16] + static_cast(164)); if (branch_taken) { goto L_0887400C; } goto L_08874008; } L_08874008: - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-27112), ctx.gpr[6]); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-27112), aot_gpr_6); goto L_0887400C; L_0887400C: - ctx.gpr[6] = (2240u << 16u); + aot_gpr_6 = (2240u << 16u); aot_gpr_4 = (aot_gpr_4 << 2u); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(-25408)); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); + aot_gpr_6 = (aot_gpr_6 + static_cast(-25408)); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-7076), ctx.gpr[6]); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-7076), aot_gpr_6); aot_gpr_31 = (0x08874030u); - aot_gpr_5 = (ctx.gpr[6] | 0u); + aot_gpr_5 = (aot_gpr_6 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 607u, 0x0886FB34u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08874030u) goto L_08874030; AOT_REGCACHE_SYNC_OUT(); return; L_08874030: @@ -1522,7 +1523,7 @@ L_0887404C: aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-7076), aot_gpr_4); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7076))); aot_gpr_31 = (0x0887405Cu); - aot_gpr_4 = (aot_gpr_16 + static_cast(164)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(164)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 607u, 0x0886FB34u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887405Cu) goto L_0887405C; AOT_REGCACHE_SYNC_OUT(); return; L_0887405C: @@ -1530,7 +1531,7 @@ L_0887405C: aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-27112), aot_gpr_4); goto L_08874064; L_08874064: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); { const bool branch_taken = aot_gpr_4 != aot_gpr_17; // nop if (branch_taken) { @@ -1600,16 +1601,16 @@ L_088740C0: aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); aot_gpr_5 = (0u | 197u); aot_gpr_31 = (0x088740D8u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 553u, 0x08A062F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088740D8u) goto L_088740D8; AOT_REGCACHE_SYNC_OUT(); return; L_088740D8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7076))); - aot_gpr_17 = (aot_gpr_16 + static_cast(164)); + aot_gpr_17 = (ctx.gpr[16] + static_cast(164)); ctx.gpr[18] = (2233u << 16u); ctx.gpr[18] = (ctx.gpr[18] + static_cast(-20960)); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_16 = (0u | 81u); + ctx.gpr[16] = (0u | 81u); if (branch_taken) { goto L_088740F8; } @@ -1617,7 +1618,7 @@ L_088740D8: } L_088740F0: { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-7076), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-7076), ctx.gpr[16]); if (branch_taken) { goto L_08874100; } @@ -1635,8 +1636,8 @@ L_08874100: L_08874108: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7076))); aot_gpr_5 = (aot_gpr_4 << 4u); - ctx.gpr[6] = (aot_gpr_4 << 2u); - aot_gpr_5 = (aot_gpr_5 + ctx.gpr[6]); + aot_gpr_6 = (aot_gpr_4 << 2u); + aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); aot_gpr_5 = (aot_gpr_5 + ctx.gpr[18]); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(8))); aot_gpr_5 = (static_cast(aot_gpr_2) < static_cast(aot_gpr_5) ? 1u : 0u); @@ -1657,7 +1658,7 @@ L_0887412C: } L_08874134: { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-7076), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-7076), ctx.gpr[16]); if (branch_taken) { goto L_08874144; } @@ -1720,20 +1721,20 @@ L_0887417C: L_08874188: aot_gpr_4 = (0u | 10u); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-27104), aot_gpr_4); - aot_gpr_17 = (aot_gpr_16 | 0u); + aot_gpr_17 = (ctx.gpr[16] | 0u); aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); aot_gpr_5 = (0u | 197u); aot_gpr_31 = (0x088741A4u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 553u, 0x08A062F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088741A4u) goto L_088741A4; AOT_REGCACHE_SYNC_OUT(); return; L_088741A4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7076))); - aot_gpr_16 = (2233u << 16u); + ctx.gpr[16] = (2233u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); ctx.gpr[18] = (0u | 82u); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-7076), aot_gpr_4); - aot_gpr_16 = (aot_gpr_16 + static_cast(-20960)); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(-20960)); { const bool branch_taken = aot_gpr_4 != ctx.gpr[18]; aot_gpr_17 = (aot_gpr_17 + static_cast(164)); if (branch_taken) { @@ -1752,9 +1753,9 @@ L_088741C8: L_088741D0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7076))); aot_gpr_5 = (aot_gpr_4 << 4u); - ctx.gpr[6] = (aot_gpr_4 << 2u); - aot_gpr_5 = (aot_gpr_5 + ctx.gpr[6]); - aot_gpr_5 = (aot_gpr_5 + aot_gpr_16); + aot_gpr_6 = (aot_gpr_4 << 2u); + aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); + aot_gpr_5 = (aot_gpr_5 + ctx.gpr[16]); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(8))); aot_gpr_5 = (static_cast(aot_gpr_2) < static_cast(aot_gpr_5) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; @@ -1818,7 +1819,7 @@ L_08874234: L_0887423C: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; @@ -1831,18 +1832,18 @@ L_0887423C: AOT_REGCACHE_SYNC_OUT(); return; L_08874254: ctx.gpr[29] = (ctx.gpr[29] + static_cast(-64)); - aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(40), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 & 255u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(40), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 & 255u); { const std::uint32_t aot_run_words[3]{aot_gpr_17, ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(44), aot_run_words); } aot_gpr_31 = (0x08874274u); aot_gpr_4 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08874274u) goto L_08874274; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C498, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08874274u) goto L_08874274; AOT_REGCACHE_SYNC_OUT(); return; L_08874274: aot_gpr_31 = (0x0887427Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887427Cu) goto L_0887427C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C05C, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[16], ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887427Cu) goto L_0887427C; AOT_REGCACHE_SYNC_OUT(); return; L_0887427C: aot_gpr_4 = (16153u << 16u); @@ -1857,7 +1858,7 @@ L_0887428C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 66u, 0x08B0C510u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08874294u) goto L_08874294; AOT_REGCACHE_SYNC_OUT(); return; L_08874294: - { const bool branch_taken = aot_gpr_16 != 0u; + { const bool branch_taken = ctx.gpr[16] != 0u; // nop if (branch_taken) { goto L_0887433C; @@ -1867,55 +1868,55 @@ L_08874294: L_0887429C: aot_gpr_4 = (ctx.gpr[29] | 0u); aot_gpr_5 = (0u | 30u); - ctx.gpr[6] = (0u | 255u); + aot_gpr_6 = (0u | 255u); ctx.gpr[7] = (0u | 255u); aot_gpr_31 = (0x088742B4u); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088742B4u) goto L_088742B4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088742B4u) goto L_088742B4; AOT_REGCACHE_SYNC_OUT(); return; L_088742B4: - aot_gpr_16 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(0))); + ctx.gpr[16] = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(0))); aot_gpr_4 = (ctx.gpr[29] + static_cast(4)); aot_gpr_5 = (0u | 30u); - ctx.gpr[6] = (0u | 255u); + aot_gpr_6 = (0u | 255u); ctx.gpr[7] = (0u | 255u); aot_gpr_31 = (0x088742D0u); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088742D0u) goto L_088742D0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088742D0u) goto L_088742D0; AOT_REGCACHE_SYNC_OUT(); return; L_088742D0: aot_gpr_17 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(1))); aot_gpr_4 = (ctx.gpr[29] + static_cast(8)); aot_gpr_5 = (0u | 30u); - ctx.gpr[6] = (0u | 255u); + aot_gpr_6 = (0u | 255u); ctx.gpr[7] = (0u | 255u); aot_gpr_31 = (0x088742ECu); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088742ECu) goto L_088742EC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088742ECu) goto L_088742EC; AOT_REGCACHE_SYNC_OUT(); return; L_088742EC: ctx.gpr[18] = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(2))); aot_gpr_4 = (ctx.gpr[29] + static_cast(12)); aot_gpr_5 = (0u | 30u); - ctx.gpr[6] = (0u | 255u); + aot_gpr_6 = (0u | 255u); ctx.gpr[7] = (0u | 255u); aot_gpr_31 = (0x08874308u); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08874308u) goto L_08874308; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08874308u) goto L_08874308; AOT_REGCACHE_SYNC_OUT(); return; L_08874308: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(3))); - aot_gpr_5 = (aot_gpr_16 & 255u); - ctx.gpr[6] = (aot_gpr_17 & 255u); + aot_gpr_5 = (ctx.gpr[16] & 255u); + aot_gpr_6 = (aot_gpr_17 & 255u); aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(16), static_cast(aot_gpr_5)); ctx.gpr[7] = (ctx.gpr[18] & 255u); - aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(17), static_cast(ctx.gpr[6])); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(17), static_cast(aot_gpr_6)); aot_gpr_4 = (aot_gpr_4 & 255u); aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(18), static_cast(ctx.gpr[7])); aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(19), static_cast(aot_gpr_4)); aot_gpr_31 = (0x08874334u); aot_gpr_4 = (ctx.gpr[29] + static_cast(16)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08874334u) goto L_08874334; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C4A8, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08874334u) goto L_08874334; AOT_REGCACHE_SYNC_OUT(); return; L_08874334: { const bool branch_taken = 0u == 0u; @@ -1928,60 +1929,60 @@ L_08874334: L_0887433C: aot_gpr_4 = (ctx.gpr[29] + static_cast(20)); aot_gpr_5 = (0u | 255u); - ctx.gpr[6] = (0u | 236u); + aot_gpr_6 = (0u | 236u); ctx.gpr[7] = (0u | 147u); aot_gpr_31 = (0x08874354u); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08874354u) goto L_08874354; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08874354u) goto L_08874354; AOT_REGCACHE_SYNC_OUT(); return; L_08874354: - aot_gpr_16 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(0))); + ctx.gpr[16] = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(0))); aot_gpr_4 = (ctx.gpr[29] + static_cast(24)); aot_gpr_5 = (0u | 255u); - ctx.gpr[6] = (0u | 236u); + aot_gpr_6 = (0u | 236u); ctx.gpr[7] = (0u | 147u); aot_gpr_31 = (0x08874370u); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08874370u) goto L_08874370; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08874370u) goto L_08874370; AOT_REGCACHE_SYNC_OUT(); return; L_08874370: aot_gpr_17 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(1))); aot_gpr_4 = (ctx.gpr[29] + static_cast(28)); aot_gpr_5 = (0u | 255u); - ctx.gpr[6] = (0u | 236u); + aot_gpr_6 = (0u | 236u); ctx.gpr[7] = (0u | 147u); aot_gpr_31 = (0x0887438Cu); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887438Cu) goto L_0887438C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887438Cu) goto L_0887438C; AOT_REGCACHE_SYNC_OUT(); return; L_0887438C: ctx.gpr[18] = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(2))); aot_gpr_4 = (ctx.gpr[29] + static_cast(32)); aot_gpr_5 = (0u | 255u); - ctx.gpr[6] = (0u | 236u); + aot_gpr_6 = (0u | 236u); ctx.gpr[7] = (0u | 147u); aot_gpr_31 = (0x088743A8u); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088743A8u) goto L_088743A8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088743A8u) goto L_088743A8; AOT_REGCACHE_SYNC_OUT(); return; L_088743A8: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(3))); - aot_gpr_5 = (aot_gpr_16 & 255u); - ctx.gpr[6] = (aot_gpr_17 & 255u); + aot_gpr_5 = (ctx.gpr[16] & 255u); + aot_gpr_6 = (aot_gpr_17 & 255u); aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(36), static_cast(aot_gpr_5)); ctx.gpr[7] = (ctx.gpr[18] & 255u); - aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(37), static_cast(ctx.gpr[6])); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(37), static_cast(aot_gpr_6)); aot_gpr_4 = (aot_gpr_4 & 255u); aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(38), static_cast(ctx.gpr[7])); aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(39), static_cast(aot_gpr_4)); aot_gpr_31 = (0x088743D4u); aot_gpr_4 = (ctx.gpr[29] + static_cast(36)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088743D4u) goto L_088743D4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C4A8, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088743D4u) goto L_088743D4; AOT_REGCACHE_SYNC_OUT(); return; L_088743D4: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(40), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; @@ -1994,18 +1995,18 @@ L_088743D4: AOT_REGCACHE_SYNC_OUT(); return; L_088743EC: ctx.gpr[29] = (ctx.gpr[29] + static_cast(-64)); - aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(40), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 & 255u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(40), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 & 255u); { const std::uint32_t aot_run_words[3]{aot_gpr_17, ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(44), aot_run_words); } aot_gpr_31 = (0x0887440Cu); aot_gpr_4 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887440Cu) goto L_0887440C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C498, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887440Cu) goto L_0887440C; AOT_REGCACHE_SYNC_OUT(); return; L_0887440C: aot_gpr_31 = (0x08874414u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08874414u) goto L_08874414; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C05C, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[16], ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08874414u) goto L_08874414; AOT_REGCACHE_SYNC_OUT(); return; L_08874414: aot_gpr_4 = (16153u << 16u); @@ -2020,7 +2021,7 @@ L_08874424: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 66u, 0x08B0C510u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887442Cu) goto L_0887442C; AOT_REGCACHE_SYNC_OUT(); return; L_0887442C: - { const bool branch_taken = aot_gpr_16 != 0u; + { const bool branch_taken = ctx.gpr[16] != 0u; // nop if (branch_taken) { goto L_088744D4; @@ -2030,55 +2031,55 @@ L_0887442C: L_08874434: aot_gpr_4 = (ctx.gpr[29] | 0u); aot_gpr_5 = (0u | 0u); - ctx.gpr[6] = (0u | 105u); + aot_gpr_6 = (0u | 105u); ctx.gpr[7] = (0u | 105u); aot_gpr_31 = (0x0887444Cu); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887444Cu) goto L_0887444C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887444Cu) goto L_0887444C; AOT_REGCACHE_SYNC_OUT(); return; L_0887444C: - aot_gpr_16 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(0))); + ctx.gpr[16] = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(0))); aot_gpr_4 = (ctx.gpr[29] + static_cast(4)); aot_gpr_5 = (0u | 0u); - ctx.gpr[6] = (0u | 105u); + aot_gpr_6 = (0u | 105u); ctx.gpr[7] = (0u | 105u); aot_gpr_31 = (0x08874468u); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08874468u) goto L_08874468; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08874468u) goto L_08874468; AOT_REGCACHE_SYNC_OUT(); return; L_08874468: aot_gpr_17 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(1))); aot_gpr_4 = (ctx.gpr[29] + static_cast(8)); aot_gpr_5 = (0u | 0u); - ctx.gpr[6] = (0u | 105u); + aot_gpr_6 = (0u | 105u); ctx.gpr[7] = (0u | 105u); aot_gpr_31 = (0x08874484u); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08874484u) goto L_08874484; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08874484u) goto L_08874484; AOT_REGCACHE_SYNC_OUT(); return; L_08874484: ctx.gpr[18] = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(2))); aot_gpr_4 = (ctx.gpr[29] + static_cast(12)); aot_gpr_5 = (0u | 0u); - ctx.gpr[6] = (0u | 105u); + aot_gpr_6 = (0u | 105u); ctx.gpr[7] = (0u | 105u); aot_gpr_31 = (0x088744A0u); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088744A0u) goto L_088744A0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088744A0u) goto L_088744A0; AOT_REGCACHE_SYNC_OUT(); return; L_088744A0: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(3))); - aot_gpr_5 = (aot_gpr_16 & 255u); - ctx.gpr[6] = (aot_gpr_17 & 255u); + aot_gpr_5 = (ctx.gpr[16] & 255u); + aot_gpr_6 = (aot_gpr_17 & 255u); aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(16), static_cast(aot_gpr_5)); ctx.gpr[7] = (ctx.gpr[18] & 255u); - aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(17), static_cast(ctx.gpr[6])); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(17), static_cast(aot_gpr_6)); aot_gpr_4 = (aot_gpr_4 & 255u); aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(18), static_cast(ctx.gpr[7])); aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(19), static_cast(aot_gpr_4)); aot_gpr_31 = (0x088744CCu); aot_gpr_4 = (ctx.gpr[29] + static_cast(16)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088744CCu) goto L_088744CC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C4A8, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088744CCu) goto L_088744CC; AOT_REGCACHE_SYNC_OUT(); return; L_088744CC: { const bool branch_taken = 0u == 0u; @@ -2091,60 +2092,60 @@ L_088744CC: L_088744D4: aot_gpr_4 = (ctx.gpr[29] + static_cast(20)); aot_gpr_5 = (0u | 105u); - ctx.gpr[6] = (0u | 86u); + aot_gpr_6 = (0u | 86u); ctx.gpr[7] = (0u | 7u); aot_gpr_31 = (0x088744ECu); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088744ECu) goto L_088744EC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088744ECu) goto L_088744EC; AOT_REGCACHE_SYNC_OUT(); return; L_088744EC: - aot_gpr_16 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(0))); + ctx.gpr[16] = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(0))); aot_gpr_4 = (ctx.gpr[29] + static_cast(24)); aot_gpr_5 = (0u | 105u); - ctx.gpr[6] = (0u | 86u); + aot_gpr_6 = (0u | 86u); ctx.gpr[7] = (0u | 7u); aot_gpr_31 = (0x08874508u); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08874508u) goto L_08874508; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08874508u) goto L_08874508; AOT_REGCACHE_SYNC_OUT(); return; L_08874508: aot_gpr_17 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(1))); aot_gpr_4 = (ctx.gpr[29] + static_cast(28)); aot_gpr_5 = (0u | 105u); - ctx.gpr[6] = (0u | 86u); + aot_gpr_6 = (0u | 86u); ctx.gpr[7] = (0u | 7u); aot_gpr_31 = (0x08874524u); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08874524u) goto L_08874524; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08874524u) goto L_08874524; AOT_REGCACHE_SYNC_OUT(); return; L_08874524: ctx.gpr[18] = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(2))); aot_gpr_4 = (ctx.gpr[29] + static_cast(32)); aot_gpr_5 = (0u | 105u); - ctx.gpr[6] = (0u | 86u); + aot_gpr_6 = (0u | 86u); ctx.gpr[7] = (0u | 7u); aot_gpr_31 = (0x08874540u); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08874540u) goto L_08874540; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08874540u) goto L_08874540; AOT_REGCACHE_SYNC_OUT(); return; L_08874540: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(3))); - aot_gpr_5 = (aot_gpr_16 & 255u); - ctx.gpr[6] = (aot_gpr_17 & 255u); + aot_gpr_5 = (ctx.gpr[16] & 255u); + aot_gpr_6 = (aot_gpr_17 & 255u); aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(36), static_cast(aot_gpr_5)); ctx.gpr[7] = (ctx.gpr[18] & 255u); - aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(37), static_cast(ctx.gpr[6])); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(37), static_cast(aot_gpr_6)); aot_gpr_4 = (aot_gpr_4 & 255u); aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(38), static_cast(ctx.gpr[7])); aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(39), static_cast(aot_gpr_4)); aot_gpr_31 = (0x0887456Cu); aot_gpr_4 = (ctx.gpr[29] + static_cast(36)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887456Cu) goto L_0887456C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C4A8, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887456Cu) goto L_0887456C; AOT_REGCACHE_SYNC_OUT(); return; L_0887456C: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(40), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; @@ -2163,10 +2164,10 @@ L_08874584: ctx.gpr[18] = (aot_gpr_5 & 255u); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(204), 0u); aot_gpr_17 = (aot_gpr_17 + static_cast(-28736)); - aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(12), aot_gpr_31); { const bool branch_taken = ctx.gpr[18] != 0u; - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_088745BC; } @@ -2191,7 +2192,7 @@ L_088745C4: aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(56), static_cast(aot_gpr_4)); goto L_088745CC; L_088745CC: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x088745D8u); aot_gpr_5 = (0u | 0u); goto L_08874808; @@ -2250,9 +2251,9 @@ L_08874630: goto L_08874638; L_08874638: aot_gpr_5 = (aot_gpr_4 & 4u); - ctx.gpr[6] = (0u < aot_gpr_5 ? 1u : 0u); - ctx.gpr[6] = (ctx.gpr[6] & 255u); - { const bool branch_taken = ctx.gpr[6] != 0u; + aot_gpr_6 = (0u < aot_gpr_5 ? 1u : 0u); + aot_gpr_6 = (aot_gpr_6 & 255u); + { const bool branch_taken = aot_gpr_6 != 0u; // nop if (branch_taken) { goto L_08874668; @@ -2304,7 +2305,7 @@ L_0887468C: L_08874698: aot_gpr_31 = (0x088746A0u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088746A0u) goto L_088746A0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC734, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088746A0u) goto L_088746A0; AOT_REGCACHE_SYNC_OUT(); return; L_088746A0: aot_gpr_4 = (aot_gpr_2 | 0u); @@ -2464,7 +2465,7 @@ L_08874794: goto L_08874798; L_08874798: aot_gpr_31 = (0x088747A0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_0887487C; L_088747A0: { const bool branch_taken = aot_gpr_2 == 0u; @@ -2476,7 +2477,7 @@ L_088747A0: } L_088747A8: aot_gpr_31 = (0x088747B0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_08874B80; L_088747B0: { const bool branch_taken = aot_gpr_2 != 0u; @@ -2489,7 +2490,7 @@ L_088747B0: L_088747B8: aot_gpr_31 = (0x088747C0u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088747C0u) goto L_088747C0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC754, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088747C0u) goto L_088747C0; AOT_REGCACHE_SYNC_OUT(); return; L_088747C0: aot_gpr_5 = (aot_gpr_2 + static_cast(1)); @@ -2500,7 +2501,7 @@ L_088747C0: L_088747CC: aot_gpr_31 = (0x088747D4u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088747D4u) goto L_088747D4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC754, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088747D4u) goto L_088747D4; AOT_REGCACHE_SYNC_OUT(); return; L_088747D4: { const bool branch_taken = aot_gpr_2 != ctx.gpr[18]; @@ -2527,7 +2528,7 @@ L_088747E8: L_088747F0: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; @@ -2542,12 +2543,12 @@ L_08874808: ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_17); aot_gpr_17 = (aot_gpr_5 + static_cast(1)); - aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), aot_gpr_16); - aot_gpr_16 = (2237u << 16u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (2237u << 16u); aot_gpr_4 = (static_cast(aot_gpr_17) < 3 ? 1u : 0u); aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(8), aot_gpr_31); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_16 = (aot_gpr_16 + static_cast(-28736)); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(-28736)); if (branch_taken) { goto L_08874830; } @@ -2578,8 +2579,8 @@ L_0887483C: } L_08874848: aot_gpr_31 = (0x08874850u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08874850u) goto L_08874850; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC734, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08874850u) goto L_08874850; AOT_REGCACHE_SYNC_OUT(); return; L_08874850: aot_gpr_4 = (ctx.gpr[28] + aot_gpr_2); @@ -2595,10 +2596,10 @@ L_08874860: aot_gpr_17 = (aot_gpr_17 | 128u); goto L_08874864; L_08874864: - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(56), static_cast(aot_gpr_17)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(56), static_cast(aot_gpr_17)); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -2610,14 +2611,14 @@ L_08874864: AOT_REGCACHE_SYNC_OUT(); return; L_0887487C: ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); - aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), aot_gpr_16); - aot_gpr_16 = (2237u << 16u); - aot_gpr_16 = (aot_gpr_16 + static_cast(-28736)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (2237u << 16u); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(-28736)); { const std::uint32_t aot_run_words[3]{aot_gpr_17, ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(4), aot_run_words); } aot_gpr_31 = (0x088748A0u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088748A0u) goto L_088748A0; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC734, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088748A0u) goto L_088748A0; AOT_REGCACHE_SYNC_OUT(); return; L_088748A0: aot_gpr_4 = (aot_gpr_2 + static_cast(-1)); @@ -2642,8 +2643,8 @@ L_088748B0: AOT_REGCACHE_SYNC_OUT(); return; L_088748C8: aot_gpr_31 = (0x088748D0u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088748D0u) goto L_088748D0; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC754, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088748D0u) goto L_088748D0; AOT_REGCACHE_SYNC_OUT(); return; L_088748D0: aot_gpr_5 = (2233u << 16u); @@ -2680,8 +2681,8 @@ L_088748F8: L_08874900: ctx.gpr[18] = (0u | 0u); aot_gpr_31 = (0x0887490Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887490Cu) goto L_0887490C; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC734, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887490Cu) goto L_0887490C; AOT_REGCACHE_SYNC_OUT(); return; L_0887490C: aot_gpr_17 = (0u | 1u); @@ -2694,8 +2695,8 @@ L_0887490C: } L_08874918: aot_gpr_31 = (0x08874920u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08874920u) goto L_08874920; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC784, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08874920u) goto L_08874920; AOT_REGCACHE_SYNC_OUT(); return; L_08874920: { const bool branch_taken = aot_gpr_2 != aot_gpr_17; @@ -2719,8 +2720,8 @@ L_08874930: } L_08874938: aot_gpr_31 = (0x08874940u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08874940u) goto L_08874940; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC754, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08874940u) goto L_08874940; AOT_REGCACHE_SYNC_OUT(); return; L_08874940: aot_gpr_5 = (2233u << 16u); @@ -2755,8 +2756,8 @@ L_0887496C: ctx.gpr[18] = (aot_gpr_17 | 0u); aot_gpr_17 = (0u | 0u); aot_gpr_31 = (0x0887497Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887497Cu) goto L_0887497C; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC734, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887497Cu) goto L_0887497C; AOT_REGCACHE_SYNC_OUT(); return; L_0887497C: { const bool branch_taken = aot_gpr_2 != ctx.gpr[18]; @@ -2768,8 +2769,8 @@ L_0887497C: } L_08874984: aot_gpr_31 = (0x0887498Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887498Cu) goto L_0887498C; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC784, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887498Cu) goto L_0887498C; AOT_REGCACHE_SYNC_OUT(); return; L_0887498C: aot_gpr_4 = (0u | 2u); @@ -2794,8 +2795,8 @@ L_088749A0: } L_088749A8: aot_gpr_31 = (0x088749B0u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088749B0u) goto L_088749B0; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC754, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088749B0u) goto L_088749B0; AOT_REGCACHE_SYNC_OUT(); return; L_088749B0: aot_gpr_5 = (2233u << 16u); @@ -2828,8 +2829,8 @@ L_088749D4: } L_088749DC: aot_gpr_31 = (0x088749E4u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088749E4u) goto L_088749E4; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC754, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088749E4u) goto L_088749E4; AOT_REGCACHE_SYNC_OUT(); return; L_088749E4: aot_gpr_5 = (2233u << 16u); @@ -2865,8 +2866,8 @@ L_08874A0C: } L_08874A14: aot_gpr_31 = (0x08874A1Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08874A1Cu) goto L_08874A1C; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC754, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08874A1Cu) goto L_08874A1C; AOT_REGCACHE_SYNC_OUT(); return; L_08874A1C: aot_gpr_5 = (2233u << 16u); @@ -2902,8 +2903,8 @@ L_08874A44: } L_08874A4C: aot_gpr_31 = (0x08874A54u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08874A54u) goto L_08874A54; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC754, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08874A54u) goto L_08874A54; AOT_REGCACHE_SYNC_OUT(); return; L_08874A54: aot_gpr_5 = (2233u << 16u); @@ -2939,8 +2940,8 @@ L_08874A7C: } L_08874A84: aot_gpr_31 = (0x08874A8Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08874A8Cu) goto L_08874A8C; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC754, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08874A8Cu) goto L_08874A8C; AOT_REGCACHE_SYNC_OUT(); return; L_08874A8C: aot_gpr_5 = (2233u << 16u); @@ -2976,8 +2977,8 @@ L_08874AB4: } L_08874ABC: aot_gpr_31 = (0x08874AC4u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08874AC4u) goto L_08874AC4; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC754, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08874AC4u) goto L_08874AC4; AOT_REGCACHE_SYNC_OUT(); return; L_08874AC4: aot_gpr_5 = (2233u << 16u); @@ -3013,8 +3014,8 @@ L_08874AEC: } L_08874AF4: aot_gpr_31 = (0x08874AFCu); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08874AFCu) goto L_08874AFC; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC754, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08874AFCu) goto L_08874AFC; AOT_REGCACHE_SYNC_OUT(); return; L_08874AFC: aot_gpr_5 = (2233u << 16u); @@ -3050,8 +3051,8 @@ L_08874B24: } L_08874B2C: aot_gpr_31 = (0x08874B34u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08874B34u) goto L_08874B34; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC754, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08874B34u) goto L_08874B34; AOT_REGCACHE_SYNC_OUT(); return; L_08874B34: aot_gpr_5 = (2233u << 16u); @@ -3091,7 +3092,7 @@ L_08874B64: L_08874B68: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; @@ -3104,7 +3105,7 @@ L_08874B68: AOT_REGCACHE_SYNC_OUT(); return; L_08874B80: ctx.gpr[29] = (ctx.gpr[29] + static_cast(-32)); - { const std::uint32_t aot_run_words[7]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_31}; + { const std::uint32_t aot_run_words[7]{ctx.gpr[16], aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_31}; aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(0), aot_run_words); } aot_gpr_31 = (0x08874BA8u); ctx.gpr[19] = (0u | 1u); @@ -3116,13 +3117,13 @@ L_08874BA8: ctx.gpr[18] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08874BBCu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08874BBCu) goto L_08874BBC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC754, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08874BBCu) goto L_08874BBC; AOT_REGCACHE_SYNC_OUT(); return; L_08874BBC: - aot_gpr_16 = (aot_gpr_2 | 0u); + ctx.gpr[16] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08874BC8u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08874BC8u) goto L_08874BC8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC734, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08874BC8u) goto L_08874BC8; AOT_REGCACHE_SYNC_OUT(); return; L_08874BC8: aot_gpr_4 = (aot_gpr_2 | 0u); @@ -3146,7 +3147,7 @@ L_08874BD8: ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08874BF0: - aot_gpr_4 = (static_cast(aot_gpr_16) < 6 ? 1u : 0u); + aot_gpr_4 = (static_cast(ctx.gpr[16]) < 6 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_4 = (static_cast(ctx.gpr[18]) < 2 ? 1u : 0u); if (branch_taken) { @@ -3177,7 +3178,7 @@ L_08874C10: ctx.gpr[21] = (0u | 0u); aot_gpr_31 = (0x08874C1Cu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08874C1Cu) goto L_08874C1C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC734, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08874C1Cu) goto L_08874C1C; AOT_REGCACHE_SYNC_OUT(); return; L_08874C1C: ctx.gpr[20] = (0u | 1u); @@ -3191,7 +3192,7 @@ L_08874C1C: L_08874C28: aot_gpr_31 = (0x08874C30u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08874C30u) goto L_08874C30; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC784, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08874C30u) goto L_08874C30; AOT_REGCACHE_SYNC_OUT(); return; L_08874C30: { const bool branch_taken = aot_gpr_2 != ctx.gpr[20]; @@ -3214,7 +3215,7 @@ L_08874C40: goto L_08874C48; } L_08874C48: - aot_gpr_4 = (static_cast(aot_gpr_16) < 6 ? 1u : 0u); + aot_gpr_4 = (static_cast(ctx.gpr[16]) < 6 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_4 = (static_cast(ctx.gpr[18]) < 2 ? 1u : 0u); if (branch_taken) { @@ -3242,7 +3243,7 @@ L_08874C64: ctx.gpr[21] = (0u | 0u); aot_gpr_31 = (0x08874C70u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08874C70u) goto L_08874C70; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC734, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08874C70u) goto L_08874C70; AOT_REGCACHE_SYNC_OUT(); return; L_08874C70: { const bool branch_taken = aot_gpr_2 != ctx.gpr[20]; @@ -3255,7 +3256,7 @@ L_08874C70: L_08874C78: aot_gpr_31 = (0x08874C80u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08874C80u) goto L_08874C80; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC784, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08874C80u) goto L_08874C80; AOT_REGCACHE_SYNC_OUT(); return; L_08874C80: aot_gpr_4 = (0u | 2u); @@ -3300,7 +3301,7 @@ L_08874CB0: ctx.gpr[20] = (0u | 0u); aot_gpr_31 = (0x08874CC0u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08874CC0u) goto L_08874CC0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC734, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08874CC0u) goto L_08874CC0; AOT_REGCACHE_SYNC_OUT(); return; L_08874CC0: { const bool branch_taken = aot_gpr_2 != ctx.gpr[21]; @@ -3313,7 +3314,7 @@ L_08874CC0: L_08874CC8: aot_gpr_31 = (0x08874CD0u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08874CD0u) goto L_08874CD0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC784, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08874CD0u) goto L_08874CD0; AOT_REGCACHE_SYNC_OUT(); return; L_08874CD0: { const bool branch_taken = aot_gpr_2 != 0u; @@ -3336,7 +3337,7 @@ L_08874CE0: goto L_08874CE8; } L_08874CE8: - aot_gpr_4 = (static_cast(aot_gpr_16) < 6 ? 1u : 0u); + aot_gpr_4 = (static_cast(ctx.gpr[16]) < 6 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_4 = (static_cast(ctx.gpr[18]) < 2 ? 1u : 0u); if (branch_taken) { @@ -3370,7 +3371,7 @@ L_08874D0C: aot_gpr_2 = (ctx.gpr[19] | 0u); { std::uint32_t aot_run_words[7]{}; aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -3388,10 +3389,10 @@ L_08874D34: ctx.gpr[29] = (ctx.gpr[29] + static_cast(-672)); aot_gpr_4 = (0u | 1u); aot_gpr_5 = (ctx.gpr[29] | 0u); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{ctx.gpr[16], aot_gpr_17, ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(648), aot_run_words); } aot_gpr_31 = (0x08874D58u); - ctx.gpr[6] = (0u | 128u); + aot_gpr_6 = (0u | 128u); ctx.pc = 0x08B730A4u; AOT_REGCACHE_SYNC_OUT(); return; L_08874D58: @@ -3403,17 +3404,17 @@ L_08874D58: goto L_08874D60; } L_08874D60: - aot_gpr_16 = (ctx.gpr[29] + static_cast(128)); + ctx.gpr[16] = (ctx.gpr[29] + static_cast(128)); aot_gpr_4 = (ctx.gpr[29] | 0u); aot_gpr_31 = (0x08874D70u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0032_entry, 32u, 843u, 0x08887B04u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08874D70u) goto L_08874D70; AOT_REGCACHE_SYNC_OUT(); return; L_08874D70: aot_gpr_5 = (ctx.gpr[29] | 0u); - ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(128))); + aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(128))); aot_gpr_4 = (0u | 0u); - { const bool branch_taken = ctx.gpr[6] != 0u; + { const bool branch_taken = aot_gpr_6 != 0u; aot_gpr_17 = (0u | 0u); if (branch_taken) { goto L_08874D98; @@ -3439,9 +3440,9 @@ L_08874D8C: } L_08874D98: aot_gpr_5 = (aot_gpr_5 + static_cast(2)); - ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(128))); + aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(128))); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); - { const bool branch_taken = ctx.gpr[6] != 0u; + { const bool branch_taken = aot_gpr_6 != 0u; aot_gpr_17 = (aot_gpr_17 + static_cast(2)); if (branch_taken) { goto L_08874D98; @@ -3466,7 +3467,7 @@ L_08874DB4: } L_08874DBC: aot_gpr_5 = (0u | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); ctx.gpr[9] = (0u | 32u); ctx.gpr[8] = (ctx.gpr[29] | 0u); goto L_08874DCC; @@ -3479,7 +3480,7 @@ L_08874DCC: } goto L_08874DDC; L_08874DDC: - ctx.gpr[7] = (static_cast(ctx.gpr[6]) < static_cast(ctx.gpr[7]) ? 1u : 0u); + ctx.gpr[7] = (static_cast(aot_gpr_6) < static_cast(ctx.gpr[7]) ? 1u : 0u); { const bool branch_taken = ctx.gpr[7] == 0u; // nop if (branch_taken) { @@ -3513,7 +3514,7 @@ L_08874DFC: goto L_08874E04; } L_08874E04: - ctx.gpr[6] = (ctx.gpr[6] + static_cast(1)); + aot_gpr_6 = (aot_gpr_6 + static_cast(1)); { const bool branch_taken = 0u == 0u; ctx.gpr[8] = (ctx.gpr[8] + static_cast(2)); if (branch_taken) { @@ -3545,17 +3546,17 @@ L_08874E20: AOT_REGCACHE_SYNC_OUT(); return; L_08874E2C: ctx.gpr[18] = (aot_gpr_2 | 0u); - ctx.gpr[6] = (aot_gpr_17 + static_cast(2)); + aot_gpr_6 = (aot_gpr_17 + static_cast(2)); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08874E40u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08874E40u) goto L_08874E40; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08874E40u) goto L_08874E40; AOT_REGCACHE_SYNC_OUT(); return; L_08874E40: aot_gpr_4 = (ctx.gpr[18] | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08874E50u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 328u, 0x089F5BD4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08874E50u) goto L_08874E50; AOT_REGCACHE_SYNC_OUT(); return; L_08874E50: @@ -3572,16 +3573,16 @@ L_08874E58: L_08874E64: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08874E70u); - aot_gpr_16 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08874E70u) goto L_08874E70; + ctx.gpr[16] = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2E4, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08874E70u) goto L_08874E70; AOT_REGCACHE_SYNC_OUT(); return; L_08874E70: - aot_gpr_2 = (aot_gpr_16 | 0u); + aot_gpr_2 = (ctx.gpr[16] | 0u); goto L_08874E74; L_08874E74: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(648), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; @@ -3599,11 +3600,11 @@ L_08874E8C: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7688))); aot_gpr_17 = (2237u << 16u); aot_gpr_17 = (aot_gpr_17 + static_cast(-28416)); - aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(8), ctx.gpr[18]); aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(12), aot_gpr_31); { const bool branch_taken = aot_gpr_5 != 0u; - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08874ED0; } @@ -3619,7 +3620,7 @@ L_08874EB8: L_08874EC8: aot_gpr_31 = (0x08874ED0u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-27188)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08874ED0u) goto L_08874ED0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[16], aot_gpr_17, ctx.gpr[18], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08874ED0u) goto L_08874ED0; AOT_REGCACHE_SYNC_OUT(); return; L_08874ED0: aot_gpr_4 = (aot_gpr_17 | 0u); @@ -3634,7 +3635,7 @@ L_08874EDC: AOT_REGCACHE_SYNC_OUT(); return; L_08874EE4: aot_gpr_4 = (0u | 1u); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(424), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(424), static_cast(aot_gpr_4)); aot_gpr_17 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); { const bool branch_taken = aot_gpr_17 != 0u; // nop @@ -3723,7 +3724,7 @@ L_08874F64: L_08874F70: aot_gpr_31 = (0x08874F78u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08874F78u) goto L_08874F78; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08874F78u) goto L_08874F78; AOT_REGCACHE_SYNC_OUT(); return; L_08874F78: ctx.gpr[18] = (aot_gpr_17 | 0u); @@ -3740,7 +3741,7 @@ L_08874F84: L_08874F8C: aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u + static_cast(-1)); - ctx.gpr[6] = (0u + static_cast(-1)); + aot_gpr_6 = (0u + static_cast(-1)); ctx.gpr[7] = (0u + static_cast(-1)); ctx.gpr[8] = (0u + static_cast(-1)); ctx.gpr[9] = (0u + static_cast(-1)); @@ -3770,13 +3771,13 @@ L_08874FC4: L_08874FCC: aot_gpr_5 = (ctx.gpr[28] + static_cast(-27100)); aot_gpr_31 = (0x08874FD8u); - ctx.gpr[6] = (ctx.gpr[28] + static_cast(-27088)); + aot_gpr_6 = (ctx.gpr[28] + static_cast(-27088)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0147_entry, 147u, 723u, 0x08A53BE8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08874FD8u) goto L_08874FD8; AOT_REGCACHE_SYNC_OUT(); return; L_08874FD8: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5868))); if (aot_gpr_5 != 0u) { - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(18)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(18)))))); goto L_08874FF4; } goto L_08874FE4; @@ -3787,10 +3788,10 @@ L_08874FE4: AOT_REGCACHE_SYNC_OUT(); return; L_08874FEC: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5868))); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(18)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(18)))))); goto L_08874FF4; L_08874FF4: - { const bool branch_taken = ctx.gpr[6] != 0u; + { const bool branch_taken = aot_gpr_6 != 0u; aot_gpr_4 = (0u | 0u); if (branch_taken) { goto L_0887501C; @@ -3798,17 +3799,17 @@ L_08874FF4: goto L_08874FFC; } L_08874FFC: - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(16)))))); - if (ctx.gpr[6] != 0u) { + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(16)))))); + if (aot_gpr_6 != 0u) { aot_gpr_4 = (0u | 1u); goto L_08875020; } goto L_08875008; L_08875008: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(20))); - ctx.gpr[6] = (2213u << 16u); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(21956)); - { const bool branch_taken = ctx.gpr[6] == aot_gpr_5; + aot_gpr_6 = (2213u << 16u); + aot_gpr_6 = (aot_gpr_6 + static_cast(21956)); + { const bool branch_taken = aot_gpr_6 == aot_gpr_5; aot_gpr_4 = (aot_gpr_4 & 255u); if (branch_taken) { goto L_08875024; @@ -3830,16 +3831,16 @@ L_08875024: goto L_0887502C; } L_0887502C: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(208), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(208), 0u); aot_gpr_4 = (0u + static_cast(5)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(212), aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(216), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(212), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(216), 0u); goto L_0887503C; L_0887503C: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(204), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(204), 0u); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; @@ -3861,9 +3862,9 @@ L_08875058: goto L_08875068; } L_08875068: - ctx.gpr[6] = (2235u << 16u); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(-27676)); - aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), ctx.gpr[6]); + aot_gpr_6 = (2235u << 16u); + aot_gpr_6 = (aot_gpr_6 + static_cast(-27676)); + aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), aot_gpr_6); { const bool branch_taken = aot_gpr_4 == 0u; aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(5880), 0u); if (branch_taken) { @@ -3872,9 +3873,9 @@ L_08875068: goto L_0887507C; } L_0887507C: - ctx.gpr[6] = (2235u << 16u); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(-28772)); - aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), ctx.gpr[6]); + aot_gpr_6 = (2235u << 16u); + aot_gpr_6 = (aot_gpr_6 + static_cast(-28772)); + aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), aot_gpr_6); goto L_08875088; L_08875088: aot_gpr_5 = (aot_gpr_5 & 1u); @@ -3888,7 +3889,7 @@ L_08875088: L_08875094: aot_gpr_31 = (0x0887509Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887509Cu) goto L_0887509C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887509Cu) goto L_0887509C; AOT_REGCACHE_SYNC_OUT(); return; L_0887509C: aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); @@ -3904,11 +3905,11 @@ L_088750A8: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7688))); aot_gpr_17 = (2237u << 16u); aot_gpr_17 = (aot_gpr_17 + static_cast(-28416)); - aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(12), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(12), ctx.gpr[16]); aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(20), ctx.gpr[18]); aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(24), aot_gpr_31); { const bool branch_taken = aot_gpr_5 != 0u; - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_088750E8; } @@ -3924,7 +3925,7 @@ L_088750D0: L_088750E0: aot_gpr_31 = (0x088750E8u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-27188)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088750E8u) goto L_088750E8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[16], aot_gpr_17, ctx.gpr[18], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088750E8u) goto L_088750E8; AOT_REGCACHE_SYNC_OUT(); return; L_088750E8: aot_gpr_4 = (aot_gpr_17 | 0u); @@ -3935,7 +3936,7 @@ L_088750E8: L_088750F4: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5868))); if (aot_gpr_5 != 0u) { - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(18)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(18)))))); goto L_08875110; } goto L_08875100; @@ -3946,10 +3947,10 @@ L_08875100: AOT_REGCACHE_SYNC_OUT(); return; L_08875108: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5868))); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(18)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(18)))))); goto L_08875110; L_08875110: - { const bool branch_taken = ctx.gpr[6] != 0u; + { const bool branch_taken = aot_gpr_6 != 0u; aot_gpr_4 = (0u | 0u); if (branch_taken) { goto L_08875138; @@ -3957,17 +3958,17 @@ L_08875110: goto L_08875118; } L_08875118: - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(16)))))); - if (ctx.gpr[6] != 0u) { + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(16)))))); + if (aot_gpr_6 != 0u) { aot_gpr_4 = (0u | 1u); goto L_0887513C; } goto L_08875124; L_08875124: - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(20))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(20))); ctx.gpr[7] = (2213u << 16u); ctx.gpr[7] = (ctx.gpr[7] + static_cast(21956)); - { const bool branch_taken = ctx.gpr[7] == ctx.gpr[6]; + { const bool branch_taken = ctx.gpr[7] == aot_gpr_6; aot_gpr_4 = (aot_gpr_4 & 255u); if (branch_taken) { goto L_08875140; @@ -4048,7 +4049,7 @@ L_08875188: L_08875194: aot_gpr_31 = (0x0887519Cu); aot_gpr_4 = (ctx.gpr[28] + static_cast(-27188)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887519Cu) goto L_0887519C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[16], aot_gpr_17, ctx.gpr[18], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887519Cu) goto L_0887519C; AOT_REGCACHE_SYNC_OUT(); return; L_0887519C: aot_gpr_31 = (0x088751A4u); @@ -4064,7 +4065,7 @@ L_088751A4: goto L_088751AC; } L_088751AC: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(416))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(416))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -4079,8 +4080,8 @@ L_088751B8: AOT_REGCACHE_SYNC_OUT(); return; L_088751C0: aot_gpr_4 = (aot_gpr_2 | 0u); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(42)))))); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(42)))))); + { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_5 = (0u | 0u); if (branch_taken) { goto L_088751E0; @@ -4114,13 +4115,13 @@ L_088751EC: aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); aot_gpr_5 = (0u | 196u); aot_gpr_31 = (0x088751FCu); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 553u, 0x08A062F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088751FCu) goto L_088751FC; AOT_REGCACHE_SYNC_OUT(); return; L_088751FC: - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(416), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(416), static_cast(0u)); aot_gpr_31 = (0x08875208u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_08874E8C; L_08875208: { const bool branch_taken = 0u == 0u; @@ -4156,13 +4157,13 @@ L_0887522C: L_08875234: aot_gpr_5 = (ctx.gpr[28] + static_cast(-27100)); aot_gpr_31 = (0x08875240u); - ctx.gpr[6] = (ctx.gpr[28] + static_cast(-27088)); + aot_gpr_6 = (ctx.gpr[28] + static_cast(-27088)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0147_entry, 147u, 723u, 0x08A53BE8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08875240u) goto L_08875240; AOT_REGCACHE_SYNC_OUT(); return; L_08875240: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5868))); if (aot_gpr_5 != 0u) { - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(18)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(18)))))); goto L_0887525C; } goto L_0887524C; @@ -4173,10 +4174,10 @@ L_0887524C: AOT_REGCACHE_SYNC_OUT(); return; L_08875254: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5868))); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(18)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(18)))))); goto L_0887525C; L_0887525C: - { const bool branch_taken = ctx.gpr[6] != 0u; + { const bool branch_taken = aot_gpr_6 != 0u; aot_gpr_4 = (0u | 0u); if (branch_taken) { goto L_08875284; @@ -4184,17 +4185,17 @@ L_0887525C: goto L_08875264; } L_08875264: - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(16)))))); - if (ctx.gpr[6] != 0u) { + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(16)))))); + if (aot_gpr_6 != 0u) { aot_gpr_4 = (0u | 1u); goto L_08875288; } goto L_08875270; L_08875270: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(20))); - ctx.gpr[6] = (2213u << 16u); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(21956)); - { const bool branch_taken = ctx.gpr[6] == aot_gpr_5; + aot_gpr_6 = (2213u << 16u); + aot_gpr_6 = (aot_gpr_6 + static_cast(21956)); + { const bool branch_taken = aot_gpr_6 == aot_gpr_5; aot_gpr_4 = (aot_gpr_4 & 255u); if (branch_taken) { goto L_0887528C; @@ -4216,14 +4217,14 @@ L_0887528C: goto L_08875294; } L_08875294: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(208), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(208), 0u); aot_gpr_4 = (0u + static_cast(5)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(212), aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(216), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(212), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(216), 0u); goto L_088752A4; L_088752A4: { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(204), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(204), 0u); if (branch_taken) { goto L_088756E8; } @@ -4243,11 +4244,11 @@ L_088752BC: aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); aot_gpr_5 = (0u | 197u); aot_gpr_31 = (0x088752CCu); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 553u, 0x08A062F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088752CCu) goto L_088752CC; AOT_REGCACHE_SYNC_OUT(); return; L_088752CC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); { const bool branch_taken = static_cast(aot_gpr_4) > 0; // nop if (branch_taken) { @@ -4258,7 +4259,7 @@ L_088752CC: L_088752D8: aot_gpr_4 = (0u | 1u); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(204), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(204), aot_gpr_4); if (branch_taken) { goto L_08875328; } @@ -4267,7 +4268,7 @@ L_088752D8: L_088752E4: aot_gpr_4 = (aot_gpr_4 + static_cast(-1)); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(204), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(204), aot_gpr_4); if (branch_taken) { goto L_08875328; } @@ -4286,11 +4287,11 @@ L_088752FC: aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); aot_gpr_5 = (0u | 197u); aot_gpr_31 = (0x0887530Cu); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 553u, 0x08A062F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887530Cu) goto L_0887530C; AOT_REGCACHE_SYNC_OUT(); return; L_0887530C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); { const bool branch_taken = static_cast(aot_gpr_4) <= 0; // nop if (branch_taken) { @@ -4300,7 +4301,7 @@ L_0887530C: } L_08875318: { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(204), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(204), 0u); if (branch_taken) { goto L_08875328; } @@ -4308,7 +4309,7 @@ L_08875318: } L_08875320: aot_gpr_4 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(204), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(204), aot_gpr_4); goto L_08875328; L_08875328: aot_gpr_31 = (0x08875330u); @@ -4317,8 +4318,8 @@ L_08875328: AOT_REGCACHE_SYNC_OUT(); return; L_08875330: aot_gpr_4 = (aot_gpr_2 | 0u); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(42)))))); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(42)))))); + { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_5 = (0u | 0u); if (branch_taken) { goto L_08875350; @@ -4352,11 +4353,11 @@ L_0887535C: aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); aot_gpr_5 = (0u | 196u); aot_gpr_31 = (0x0887536Cu); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 553u, 0x08A062F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887536Cu) goto L_0887536C; AOT_REGCACHE_SYNC_OUT(); return; L_0887536C: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(416))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(416))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -4365,7 +4366,7 @@ L_0887536C: goto L_08875378; } L_08875378: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -4374,7 +4375,7 @@ L_08875378: goto L_08875384; } L_08875384: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08875390u); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 839u, 0x088739ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08875390u) goto L_08875390; @@ -4389,7 +4390,7 @@ L_08875390: } L_08875398: aot_gpr_31 = (0x088753A0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_08874D34; L_088753A0: { const bool branch_taken = aot_gpr_2 == 0u; @@ -4418,7 +4419,7 @@ L_088753B4: L_088753C4: aot_gpr_31 = (0x088753CCu); aot_gpr_4 = (ctx.gpr[28] + static_cast(-27188)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088753CCu) goto L_088753CC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[16], aot_gpr_17, ctx.gpr[18], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088753CCu) goto L_088753CC; AOT_REGCACHE_SYNC_OUT(); return; L_088753CC: ctx.gpr[18] = (0u | 1u); @@ -4431,7 +4432,7 @@ L_088753D0: AOT_REGCACHE_SYNC_OUT(); return; L_088753DC: { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(416), static_cast(ctx.gpr[18])); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(416), static_cast(ctx.gpr[18])); if (branch_taken) { goto L_088756E8; } @@ -4439,7 +4440,7 @@ L_088753DC: } L_088753E4: aot_gpr_31 = (0x088753ECu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_08874E8C; L_088753EC: { const bool branch_taken = 0u == 0u; @@ -4463,11 +4464,11 @@ L_08875404: aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); aot_gpr_5 = (0u | 197u); aot_gpr_31 = (0x08875414u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 553u, 0x08A062F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08875414u) goto L_08875414; AOT_REGCACHE_SYNC_OUT(); return; L_08875414: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); { const bool branch_taken = static_cast(aot_gpr_4) > 0; // nop if (branch_taken) { @@ -4478,7 +4479,7 @@ L_08875414: L_08875420: aot_gpr_4 = (0u | 1u); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(204), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(204), aot_gpr_4); if (branch_taken) { goto L_08875470; } @@ -4487,7 +4488,7 @@ L_08875420: L_0887542C: aot_gpr_4 = (aot_gpr_4 + static_cast(-1)); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(204), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(204), aot_gpr_4); if (branch_taken) { goto L_08875470; } @@ -4506,11 +4507,11 @@ L_08875444: aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); aot_gpr_5 = (0u | 197u); aot_gpr_31 = (0x08875454u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 553u, 0x08A062F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08875454u) goto L_08875454; AOT_REGCACHE_SYNC_OUT(); return; L_08875454: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); { const bool branch_taken = static_cast(aot_gpr_4) <= 0; // nop if (branch_taken) { @@ -4520,7 +4521,7 @@ L_08875454: } L_08875460: { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(204), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(204), 0u); if (branch_taken) { goto L_08875470; } @@ -4528,7 +4529,7 @@ L_08875460: } L_08875468: aot_gpr_4 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(204), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(204), aot_gpr_4); goto L_08875470; L_08875470: aot_gpr_31 = (0x08875478u); @@ -4537,8 +4538,8 @@ L_08875470: AOT_REGCACHE_SYNC_OUT(); return; L_08875478: aot_gpr_4 = (aot_gpr_2 | 0u); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(42)))))); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(42)))))); + { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_5 = (0u | 0u); if (branch_taken) { goto L_08875498; @@ -4572,11 +4573,11 @@ L_088754A4: aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); aot_gpr_5 = (0u | 196u); aot_gpr_31 = (0x088754B4u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 553u, 0x08A062F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088754B4u) goto L_088754B4; AOT_REGCACHE_SYNC_OUT(); return; L_088754B4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -4585,16 +4586,16 @@ L_088754B4: goto L_088754C0; } L_088754C0: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(204), 0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(204), 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x088754D0u); aot_gpr_5 = (0u | 0u); goto L_08874584; L_088754D0: aot_gpr_5 = (ctx.gpr[28] + static_cast(-27336)); - ctx.gpr[6] = (ctx.gpr[28] + static_cast(-27328)); + aot_gpr_6 = (ctx.gpr[28] + static_cast(-27328)); aot_gpr_31 = (0x088754E0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 896u, 0x08873D30u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088754E0u) goto L_088754E0; AOT_REGCACHE_SYNC_OUT(); return; L_088754E0: @@ -4637,14 +4638,14 @@ L_0887550C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0148_entry, 148u, 4u, 0x08A54034u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08875514u) goto L_08875514; AOT_REGCACHE_SYNC_OUT(); return; L_08875514: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(204), 0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(204), 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08875524u); aot_gpr_5 = (0u | 0u); goto L_08874584; L_08875524: - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5868))); - { const bool branch_taken = ctx.gpr[6] != 0u; + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5868))); + { const bool branch_taken = aot_gpr_6 != 0u; // nop if (branch_taken) { goto L_0887553C; @@ -4657,17 +4658,17 @@ L_08875530: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 452u, 0x08B65D8Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08875538u) goto L_08875538; AOT_REGCACHE_SYNC_OUT(); return; L_08875538: - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5868))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5868))); goto L_0887553C; L_0887553C: aot_gpr_31 = (0x08875544u); - aot_gpr_4 = (ctx.gpr[6] | 0u); + aot_gpr_4 = (aot_gpr_6 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0147_entry, 147u, 730u, 0x08A53CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08875544u) goto L_08875544; AOT_REGCACHE_SYNC_OUT(); return; L_08875544: - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5868))); - if (ctx.gpr[6] != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[6] + static_cast(3164))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5868))); + if (aot_gpr_6 != 0u) { + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_6 + static_cast(3164))); goto L_08875560; } goto L_08875550; @@ -4677,8 +4678,8 @@ L_08875550: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 452u, 0x08B65D8Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08875558u) goto L_08875558; AOT_REGCACHE_SYNC_OUT(); return; L_08875558: - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5868))); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[6] + static_cast(3164))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5868))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_6 + static_cast(3164))); goto L_08875560; L_08875560: { const bool branch_taken = aot_gpr_4 != 0u; @@ -4689,7 +4690,7 @@ L_08875560: goto L_08875568; } L_08875568: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[6] + static_cast(18)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(18)))))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -4698,7 +4699,7 @@ L_08875568: goto L_08875574; } L_08875574: - ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[6] + static_cast(16)))))); + ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(16)))))); { const bool branch_taken = ctx.gpr[7] != 0u; // nop if (branch_taken) { @@ -4707,7 +4708,7 @@ L_08875574: goto L_08875580; } L_08875580: - ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(20))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(20))); ctx.gpr[8] = (2213u << 16u); ctx.gpr[8] = (ctx.gpr[8] + static_cast(23108)); if (ctx.gpr[8] == ctx.gpr[7]) { @@ -4724,7 +4725,7 @@ L_08875594: goto L_0887559C; } L_0887559C: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[6] + static_cast(16)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(16)))))); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_4 = (aot_gpr_5 & 255u); if (branch_taken) { @@ -4733,10 +4734,10 @@ L_0887559C: goto L_088755A8; } L_088755A8: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(20))); - ctx.gpr[6] = (2213u << 16u); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(23100)); - { const bool branch_taken = ctx.gpr[6] != aot_gpr_4; + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(20))); + aot_gpr_6 = (2213u << 16u); + aot_gpr_6 = (aot_gpr_6 + static_cast(23100)); + { const bool branch_taken = aot_gpr_6 != aot_gpr_4; aot_gpr_4 = (aot_gpr_5 & 255u); if (branch_taken) { goto L_088755C4; @@ -4758,15 +4759,15 @@ L_088755C4: goto L_088755CC; } L_088755CC: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(204), 0u); - aot_gpr_4 = (aot_gpr_16 + static_cast(228)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(204), 0u); + aot_gpr_4 = (ctx.gpr[16] + static_cast(228)); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x088755E0u); - ctx.gpr[6] = (0u | 16u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088755E0u) goto L_088755E0; + aot_gpr_6 = (0u | 16u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088755E0u) goto L_088755E0; AOT_REGCACHE_SYNC_OUT(); return; L_088755E0: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(224), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(224), 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5868))); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -4790,14 +4791,14 @@ L_088755FC: AOT_REGCACHE_SYNC_OUT(); return; L_08875604: aot_gpr_5 = (ctx.gpr[28] + static_cast(-27320)); - ctx.gpr[6] = (ctx.gpr[28] + static_cast(-27312)); + aot_gpr_6 = (ctx.gpr[28] + static_cast(-27312)); aot_gpr_31 = (0x08875614u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 896u, 0x08873D30u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08875614u) goto L_08875614; AOT_REGCACHE_SYNC_OUT(); return; L_08875614: aot_gpr_31 = (0x0887561Cu); - aot_gpr_4 = (aot_gpr_16 + static_cast(164)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(164)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 589u, 0x0886F9ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887561Cu) goto L_0887561C; AOT_REGCACHE_SYNC_OUT(); return; L_0887561C: @@ -4850,7 +4851,7 @@ L_0887565C: ctx.gpr[8] = (3u << 16u); aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 66u); - ctx.gpr[6] = (0u | 16384u); + aot_gpr_6 = (0u | 16384u); ctx.gpr[9] = (0u | 1u); ctx.gpr[10] = (0u | 0u); ctx.gpr[7] = (ctx.gpr[7] + static_cast(3392)); @@ -4860,7 +4861,7 @@ L_0887565C: AOT_REGCACHE_SYNC_OUT(); return; L_08875684: { const bool branch_taken = static_cast(aot_gpr_2) >= 0; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(248), aot_gpr_2); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(248), aot_gpr_2); if (branch_taken) { goto L_0887569C; } @@ -4868,9 +4869,9 @@ L_08875684: } L_0887568C: aot_gpr_5 = (ctx.gpr[28] + static_cast(-27352)); - ctx.gpr[6] = (ctx.gpr[28] + static_cast(-27344)); + aot_gpr_6 = (ctx.gpr[28] + static_cast(-27344)); aot_gpr_31 = (0x0887569Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 896u, 0x08873D30u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887569Cu) goto L_0887569C; AOT_REGCACHE_SYNC_OUT(); return; L_0887569C: @@ -4879,7 +4880,7 @@ L_0887569C: ctx.pc = 0x08B73514u; AOT_REGCACHE_SYNC_OUT(); return; L_088756A4: - ctx.gpr[6] = (ctx.gpr[29] + static_cast(4)); + aot_gpr_6 = (ctx.gpr[29] + static_cast(4)); ctx.gpr[7] = (ctx.gpr[29] + static_cast(8)); aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x088756B8u); @@ -4902,13 +4903,13 @@ L_088756B8: goto L_088756E8; L_088756E8: aot_gpr_31 = (0x088756F0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 923u, 0x08873EF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088756F0u) goto L_088756F0; AOT_REGCACHE_SYNC_OUT(); return; L_088756F0: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(12), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; @@ -4921,13 +4922,13 @@ L_088756F0: AOT_REGCACHE_SYNC_OUT(); return; L_08875708: ctx.gpr[29] = (ctx.gpr[29] + static_cast(-80)); - aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(56), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(56), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5868))); { const std::uint32_t aot_run_words[5]{aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(60), aot_run_words); } if (aot_gpr_4 != 0u) { - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(18)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(18)))))); goto L_08875744; } goto L_08875734; @@ -4938,10 +4939,10 @@ L_08875734: AOT_REGCACHE_SYNC_OUT(); return; L_0887573C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5868))); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(18)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(18)))))); goto L_08875744; L_08875744: - { const bool branch_taken = ctx.gpr[6] != 0u; + { const bool branch_taken = aot_gpr_6 != 0u; aot_gpr_5 = (0u | 0u); if (branch_taken) { goto L_0887576C; @@ -4949,17 +4950,17 @@ L_08875744: goto L_0887574C; } L_0887574C: - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(16)))))); - if (ctx.gpr[6] != 0u) { + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(16)))))); + if (aot_gpr_6 != 0u) { aot_gpr_5 = (0u | 1u); goto L_08875770; } goto L_08875758; L_08875758: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); - ctx.gpr[6] = (2213u << 16u); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(21956)); - { const bool branch_taken = ctx.gpr[6] == aot_gpr_4; + aot_gpr_6 = (2213u << 16u); + aot_gpr_6 = (aot_gpr_6 + static_cast(21956)); + { const bool branch_taken = aot_gpr_6 == aot_gpr_4; aot_gpr_4 = (aot_gpr_5 & 255u); if (branch_taken) { goto L_08875774; @@ -5000,7 +5001,7 @@ L_0887578C: L_0887579C: aot_gpr_31 = (0x088757A4u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-27188)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088757A4u) goto L_088757A4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[16], aot_gpr_17, ctx.gpr[18], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088757A4u) goto L_088757A4; AOT_REGCACHE_SYNC_OUT(); return; L_088757A4: aot_gpr_31 = (0x088757ACu); @@ -5016,7 +5017,7 @@ L_088757AC: goto L_088757B4; } L_088757B4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); aot_gpr_31 = (0x088757C4u); aot_gpr_4 = (aot_gpr_4 & 255u); @@ -5024,7 +5025,7 @@ L_088757B4: L_088757C4: aot_gpr_31 = (0x088757CCu); aot_gpr_4 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088757CCu) goto L_088757CC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C604, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088757CCu) goto L_088757CC; AOT_REGCACHE_SYNC_OUT(); return; L_088757CC: aot_gpr_17 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); @@ -5053,7 +5054,7 @@ L_088757E4: L_088757F0: aot_gpr_31 = (0x088757F8u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088757F8u) goto L_088757F8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088757F8u) goto L_088757F8; AOT_REGCACHE_SYNC_OUT(); return; L_088757F8: aot_gpr_17 = (ctx.gpr[18] | 0u); @@ -5068,24 +5069,24 @@ L_08875804: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887580Cu) goto L_0887580C; AOT_REGCACHE_SYNC_OUT(); return; L_0887580C: - ctx.gpr[6] = (0u | 60u); + aot_gpr_6 = (0u | 60u); aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x0887581Cu); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887581Cu) goto L_0887581C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887581Cu) goto L_0887581C; AOT_REGCACHE_SYNC_OUT(); return; L_0887581C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); aot_gpr_4 = (aot_gpr_4 ^ 1u); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); aot_gpr_31 = (0x08875830u); aot_gpr_4 = (aot_gpr_4 & 255u); goto L_08874254; L_08875830: - aot_gpr_16 = (0u | 80u); + ctx.gpr[16] = (0u | 80u); aot_gpr_31 = (0x0887583Cu); aot_gpr_4 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887583Cu) goto L_0887583C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C604, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887583Cu) goto L_0887583C; AOT_REGCACHE_SYNC_OUT(); return; L_0887583C: aot_gpr_17 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); @@ -5114,7 +5115,7 @@ L_08875854: L_08875860: aot_gpr_31 = (0x08875868u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08875868u) goto L_08875868; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08875868u) goto L_08875868; AOT_REGCACHE_SYNC_OUT(); return; L_08875868: aot_gpr_17 = (ctx.gpr[18] | 0u); @@ -5132,8 +5133,8 @@ L_0887587C: aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x0887588Cu); - ctx.gpr[6] = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887588Cu) goto L_0887588C; + aot_gpr_6 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887588Cu) goto L_0887588C; AOT_REGCACHE_SYNC_OUT(); return; L_0887588C: { const bool branch_taken = 0u == 0u; @@ -5147,65 +5148,65 @@ L_08875894: aot_gpr_17 = (0u | 1u); aot_gpr_31 = (0x088758A0u); aot_gpr_4 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088758A0u) goto L_088758A0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C498, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088758A0u) goto L_088758A0; AOT_REGCACHE_SYNC_OUT(); return; L_088758A0: aot_gpr_31 = (0x088758A8u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088758A8u) goto L_088758A8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C05C, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[16], ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088758A8u) goto L_088758A8; AOT_REGCACHE_SYNC_OUT(); return; L_088758A8: aot_gpr_4 = (ctx.gpr[29] | 0u); aot_gpr_5 = (0u | 30u); - ctx.gpr[6] = (0u | 255u); + aot_gpr_6 = (0u | 255u); ctx.gpr[7] = (0u | 255u); aot_gpr_31 = (0x088758C0u); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088758C0u) goto L_088758C0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088758C0u) goto L_088758C0; AOT_REGCACHE_SYNC_OUT(); return; L_088758C0: ctx.gpr[18] = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(0))); aot_gpr_4 = (ctx.gpr[29] + static_cast(4)); aot_gpr_5 = (0u | 30u); - ctx.gpr[6] = (0u | 255u); + aot_gpr_6 = (0u | 255u); ctx.gpr[7] = (0u | 255u); aot_gpr_31 = (0x088758DCu); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088758DCu) goto L_088758DC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088758DCu) goto L_088758DC; AOT_REGCACHE_SYNC_OUT(); return; L_088758DC: ctx.gpr[19] = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(1))); aot_gpr_4 = (ctx.gpr[29] + static_cast(8)); aot_gpr_5 = (0u | 30u); - ctx.gpr[6] = (0u | 255u); + aot_gpr_6 = (0u | 255u); ctx.gpr[7] = (0u | 255u); aot_gpr_31 = (0x088758F8u); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088758F8u) goto L_088758F8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088758F8u) goto L_088758F8; AOT_REGCACHE_SYNC_OUT(); return; L_088758F8: ctx.gpr[20] = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(2))); aot_gpr_4 = (ctx.gpr[29] + static_cast(12)); aot_gpr_5 = (0u | 30u); - ctx.gpr[6] = (0u | 255u); + aot_gpr_6 = (0u | 255u); ctx.gpr[7] = (0u | 255u); aot_gpr_31 = (0x08875914u); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08875914u) goto L_08875914; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08875914u) goto L_08875914; AOT_REGCACHE_SYNC_OUT(); return; L_08875914: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(3))); aot_gpr_5 = (ctx.gpr[18] & 255u); - ctx.gpr[6] = (ctx.gpr[19] & 255u); + aot_gpr_6 = (ctx.gpr[19] & 255u); aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(32), static_cast(aot_gpr_5)); ctx.gpr[7] = (ctx.gpr[20] & 255u); - aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(33), static_cast(ctx.gpr[6])); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(33), static_cast(aot_gpr_6)); aot_gpr_4 = (aot_gpr_4 & 255u); aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(34), static_cast(ctx.gpr[7])); aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(35), static_cast(aot_gpr_4)); aot_gpr_31 = (0x08875940u); aot_gpr_4 = (ctx.gpr[29] + static_cast(32)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08875940u) goto L_08875940; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C4A8, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08875940u) goto L_08875940; AOT_REGCACHE_SYNC_OUT(); return; L_08875940: aot_gpr_5 = (16576u << 16u); @@ -5217,7 +5218,7 @@ L_08875940: aot_gpr_5 = (17288u << 16u); aot_gpr_31 = (0x08875964u); aot_fpr_15 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08875964u) goto L_08875964; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08873400, 27u, 732u, 0x08873400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08875964u) goto L_08875964; AOT_REGCACHE_SYNC_OUT(); return; L_08875964: aot_gpr_31 = (0x0887596Cu); @@ -5227,7 +5228,7 @@ L_08875964: L_0887596C: aot_gpr_31 = (0x08875974u); aot_gpr_4 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08875974u) goto L_08875974; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C604, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08875974u) goto L_08875974; AOT_REGCACHE_SYNC_OUT(); return; L_08875974: aot_gpr_31 = (0x0887597Cu); @@ -5243,8 +5244,8 @@ L_0887597C: goto L_08875984; } L_08875984: - aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); - { const bool branch_taken = aot_gpr_16 != 0u; + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); + { const bool branch_taken = ctx.gpr[16] != 0u; aot_gpr_5 = (ctx.gpr[28] + static_cast(-27028)); if (branch_taken) { goto L_088759BC; @@ -5252,7 +5253,7 @@ L_08875984: goto L_08875990; } L_08875990: - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); aot_gpr_31 = (0x0887599Cu); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887599Cu) goto L_0887599C; @@ -5269,26 +5270,26 @@ L_0887599C: L_088759A8: aot_gpr_31 = (0x088759B0u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088759B0u) goto L_088759B0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088759B0u) goto L_088759B0; AOT_REGCACHE_SYNC_OUT(); return; L_088759B0: - aot_gpr_16 = (aot_gpr_17 | 0u); + ctx.gpr[16] = (aot_gpr_17 | 0u); goto L_088759B4; L_088759B4: - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), ctx.gpr[16]); aot_gpr_5 = (ctx.gpr[28] + static_cast(-27028)); goto L_088759BC; L_088759BC: aot_gpr_31 = (0x088759C4u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088759C4u) goto L_088759C4; AOT_REGCACHE_SYNC_OUT(); return; L_088759C4: aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x088759D4u); - ctx.gpr[6] = (0u | 60u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088759D4u) goto L_088759D4; + aot_gpr_6 = (0u | 60u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088759D4u) goto L_088759D4; AOT_REGCACHE_SYNC_OUT(); return; L_088759D4: { const bool branch_taken = 0u == 0u; @@ -5329,8 +5330,8 @@ L_088759FC: goto L_08875A04; } L_08875A04: - aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); - { const bool branch_taken = aot_gpr_16 != 0u; + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); + { const bool branch_taken = ctx.gpr[16] != 0u; aot_gpr_5 = (ctx.gpr[28] + static_cast(-27020)); if (branch_taken) { goto L_08875A3C; @@ -5338,7 +5339,7 @@ L_08875A04: goto L_08875A10; } L_08875A10: - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); aot_gpr_31 = (0x08875A1Cu); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08875A1Cu) goto L_08875A1C; @@ -5355,26 +5356,26 @@ L_08875A1C: L_08875A28: aot_gpr_31 = (0x08875A30u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08875A30u) goto L_08875A30; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08875A30u) goto L_08875A30; AOT_REGCACHE_SYNC_OUT(); return; L_08875A30: - aot_gpr_16 = (aot_gpr_17 | 0u); + ctx.gpr[16] = (aot_gpr_17 | 0u); goto L_08875A34; L_08875A34: - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), ctx.gpr[16]); aot_gpr_5 = (ctx.gpr[28] + static_cast(-27020)); goto L_08875A3C; L_08875A3C: aot_gpr_31 = (0x08875A44u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08875A44u) goto L_08875A44; AOT_REGCACHE_SYNC_OUT(); return; L_08875A44: aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08875A54u); - ctx.gpr[6] = (0u | 60u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08875A54u) goto L_08875A54; + aot_gpr_6 = (0u | 60u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08875A54u) goto L_08875A54; AOT_REGCACHE_SYNC_OUT(); return; L_08875A54: { const bool branch_taken = 0u == 0u; @@ -5403,7 +5404,7 @@ L_08875A6C: L_08875A78: aot_gpr_31 = (0x08875A80u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-27188)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08875A80u) goto L_08875A80; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[16], aot_gpr_17, ctx.gpr[18], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08875A80u) goto L_08875A80; AOT_REGCACHE_SYNC_OUT(); return; L_08875A80: aot_gpr_31 = (0x08875A88u); @@ -5412,7 +5413,7 @@ L_08875A80: AOT_REGCACHE_SYNC_OUT(); return; L_08875A88: { const bool branch_taken = aot_gpr_2 != 0u; - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(416))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(416))); if (branch_taken) { goto L_08875C5C; } @@ -5460,7 +5461,7 @@ L_08875AC0: L_08875ACC: aot_gpr_31 = (0x08875AD4u); aot_gpr_4 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08875AD4u) goto L_08875AD4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08875AD4u) goto L_08875AD4; AOT_REGCACHE_SYNC_OUT(); return; L_08875AD4: ctx.gpr[19] = (ctx.gpr[20] | 0u); @@ -5478,8 +5479,8 @@ L_08875AE8: aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08875AF8u); - ctx.gpr[6] = (0u | 60u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08875AF8u) goto L_08875AF8; + aot_gpr_6 = (0u | 60u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08875AF8u) goto L_08875AF8; AOT_REGCACHE_SYNC_OUT(); return; L_08875AF8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7688))); @@ -5499,7 +5500,7 @@ L_08875B04: L_08875B10: aot_gpr_31 = (0x08875B18u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-27188)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08875B18u) goto L_08875B18; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[16], aot_gpr_17, ctx.gpr[18], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08875B18u) goto L_08875B18; AOT_REGCACHE_SYNC_OUT(); return; L_08875B18: aot_gpr_31 = (0x08875B20u); @@ -5541,7 +5542,7 @@ L_08875B40: L_08875B4C: aot_gpr_31 = (0x08875B54u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08875B54u) goto L_08875B54; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08875B54u) goto L_08875B54; AOT_REGCACHE_SYNC_OUT(); return; L_08875B54: aot_gpr_17 = (ctx.gpr[18] | 0u); @@ -5556,14 +5557,14 @@ L_08875B60: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08875B68u) goto L_08875B68; AOT_REGCACHE_SYNC_OUT(); return; L_08875B68: - ctx.gpr[6] = (0u | 120u); + aot_gpr_6 = (0u | 120u); aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08875B78u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08875B78u) goto L_08875B78; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08875B78u) goto L_08875B78; AOT_REGCACHE_SYNC_OUT(); return; L_08875B78: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); aot_gpr_31 = (0x08875B88u); aot_gpr_4 = (aot_gpr_4 & 255u); @@ -5572,7 +5573,7 @@ L_08875B88: aot_gpr_17 = (0u | 170u); aot_gpr_31 = (0x08875B94u); aot_gpr_4 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08875B94u) goto L_08875B94; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C604, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08875B94u) goto L_08875B94; AOT_REGCACHE_SYNC_OUT(); return; L_08875B94: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); @@ -5601,7 +5602,7 @@ L_08875BAC: L_08875BB8: aot_gpr_31 = (0x08875BC0u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08875BC0u) goto L_08875BC0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08875BC0u) goto L_08875BC0; AOT_REGCACHE_SYNC_OUT(); return; L_08875BC0: ctx.gpr[18] = (ctx.gpr[19] | 0u); @@ -5619,11 +5620,11 @@ L_08875BD4: aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08875BE4u); - ctx.gpr[6] = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08875BE4u) goto L_08875BE4; + aot_gpr_6 = (aot_gpr_17 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08875BE4u) goto L_08875BE4; AOT_REGCACHE_SYNC_OUT(); return; L_08875BE4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); aot_gpr_4 = (aot_gpr_4 ^ 1u); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); aot_gpr_31 = (0x08875BF8u); @@ -5633,7 +5634,7 @@ L_08875BF8: aot_gpr_17 = (0u | 190u); aot_gpr_31 = (0x08875C04u); aot_gpr_4 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08875C04u) goto L_08875C04; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C604, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08875C04u) goto L_08875C04; AOT_REGCACHE_SYNC_OUT(); return; L_08875C04: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); @@ -5645,7 +5646,7 @@ L_08875C04: goto L_08875C10; } L_08875C10: - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); aot_gpr_31 = (0x08875C1Cu); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08875C1Cu) goto L_08875C1C; @@ -5662,14 +5663,14 @@ L_08875C1C: L_08875C28: aot_gpr_31 = (0x08875C30u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08875C30u) goto L_08875C30; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08875C30u) goto L_08875C30; AOT_REGCACHE_SYNC_OUT(); return; L_08875C30: - aot_gpr_16 = (ctx.gpr[18] | 0u); + ctx.gpr[16] = (ctx.gpr[18] | 0u); goto L_08875C34; L_08875C34: - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), ctx.gpr[16]); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_08875C3C; L_08875C3C: aot_gpr_31 = (0x08875C44u); @@ -5680,8 +5681,8 @@ L_08875C44: aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08875C54u); - ctx.gpr[6] = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08875C54u) goto L_08875C54; + aot_gpr_6 = (aot_gpr_17 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08875C54u) goto L_08875C54; AOT_REGCACHE_SYNC_OUT(); return; L_08875C54: { const bool branch_taken = 0u == 0u; @@ -5700,8 +5701,8 @@ L_08875C5C: goto L_08875C64; } L_08875C64: - aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); - { const bool branch_taken = aot_gpr_16 != 0u; + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); + { const bool branch_taken = ctx.gpr[16] != 0u; aot_gpr_5 = (ctx.gpr[28] + static_cast(-26980)); if (branch_taken) { goto L_08875C9C; @@ -5709,7 +5710,7 @@ L_08875C64: goto L_08875C70; } L_08875C70: - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); aot_gpr_31 = (0x08875C7Cu); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08875C7Cu) goto L_08875C7C; @@ -5726,88 +5727,88 @@ L_08875C7C: L_08875C88: aot_gpr_31 = (0x08875C90u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08875C90u) goto L_08875C90; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08875C90u) goto L_08875C90; AOT_REGCACHE_SYNC_OUT(); return; L_08875C90: - aot_gpr_16 = (aot_gpr_17 | 0u); + ctx.gpr[16] = (aot_gpr_17 | 0u); goto L_08875C94; L_08875C94: - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), ctx.gpr[16]); aot_gpr_5 = (ctx.gpr[28] + static_cast(-26980)); goto L_08875C9C; L_08875C9C: aot_gpr_31 = (0x08875CA4u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08875CA4u) goto L_08875CA4; AOT_REGCACHE_SYNC_OUT(); return; L_08875CA4: aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08875CB4u); - ctx.gpr[6] = (0u | 60u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08875CB4u) goto L_08875CB4; + aot_gpr_6 = (0u | 60u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08875CB4u) goto L_08875CB4; AOT_REGCACHE_SYNC_OUT(); return; L_08875CB4: aot_gpr_4 = (ctx.gpr[29] + static_cast(40)); aot_gpr_5 = (0u | 255u); - ctx.gpr[6] = (0u | 236u); + aot_gpr_6 = (0u | 236u); ctx.gpr[7] = (0u | 147u); aot_gpr_31 = (0x08875CCCu); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08875CCCu) goto L_08875CCC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08875CCCu) goto L_08875CCC; AOT_REGCACHE_SYNC_OUT(); return; L_08875CCC: - aot_gpr_16 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(0))); + ctx.gpr[16] = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(0))); aot_gpr_4 = (ctx.gpr[29] + static_cast(44)); aot_gpr_5 = (0u | 255u); - ctx.gpr[6] = (0u | 236u); + aot_gpr_6 = (0u | 236u); ctx.gpr[7] = (0u | 147u); aot_gpr_31 = (0x08875CE8u); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08875CE8u) goto L_08875CE8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08875CE8u) goto L_08875CE8; AOT_REGCACHE_SYNC_OUT(); return; L_08875CE8: aot_gpr_17 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(1))); aot_gpr_4 = (ctx.gpr[29] + static_cast(48)); aot_gpr_5 = (0u | 255u); - ctx.gpr[6] = (0u | 236u); + aot_gpr_6 = (0u | 236u); ctx.gpr[7] = (0u | 147u); aot_gpr_31 = (0x08875D04u); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08875D04u) goto L_08875D04; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08875D04u) goto L_08875D04; AOT_REGCACHE_SYNC_OUT(); return; L_08875D04: ctx.gpr[18] = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(2))); aot_gpr_4 = (ctx.gpr[29] + static_cast(52)); aot_gpr_5 = (0u | 255u); - ctx.gpr[6] = (0u | 236u); + aot_gpr_6 = (0u | 236u); ctx.gpr[7] = (0u | 147u); aot_gpr_31 = (0x08875D20u); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08875D20u) goto L_08875D20; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08875D20u) goto L_08875D20; AOT_REGCACHE_SYNC_OUT(); return; L_08875D20: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(3))); - aot_gpr_5 = (aot_gpr_16 & 255u); - ctx.gpr[6] = (aot_gpr_17 & 255u); + aot_gpr_5 = (ctx.gpr[16] & 255u); + aot_gpr_6 = (aot_gpr_17 & 255u); aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(36), static_cast(aot_gpr_5)); ctx.gpr[7] = (ctx.gpr[18] & 255u); - aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(37), static_cast(ctx.gpr[6])); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(37), static_cast(aot_gpr_6)); aot_gpr_4 = (aot_gpr_4 & 255u); aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(38), static_cast(ctx.gpr[7])); aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(39), static_cast(aot_gpr_4)); aot_gpr_31 = (0x08875D4Cu); aot_gpr_4 = (ctx.gpr[29] + static_cast(36)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08875D4Cu) goto L_08875D4C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C4A8, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08875D4Cu) goto L_08875D4C; AOT_REGCACHE_SYNC_OUT(); return; L_08875D4C: aot_gpr_31 = (0x08875D54u); aot_gpr_4 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08875D54u) goto L_08875D54; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C604, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08875D54u) goto L_08875D54; AOT_REGCACHE_SYNC_OUT(); return; L_08875D54: - aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); - { const bool branch_taken = aot_gpr_16 != 0u; + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); + { const bool branch_taken = ctx.gpr[16] != 0u; aot_gpr_5 = (ctx.gpr[28] + static_cast(-26972)); if (branch_taken) { goto L_08875D8C; @@ -5815,7 +5816,7 @@ L_08875D54: goto L_08875D60; } L_08875D60: - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); aot_gpr_31 = (0x08875D6Cu); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08875D6Cu) goto L_08875D6C; @@ -5832,26 +5833,26 @@ L_08875D6C: L_08875D78: aot_gpr_31 = (0x08875D80u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08875D80u) goto L_08875D80; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08875D80u) goto L_08875D80; AOT_REGCACHE_SYNC_OUT(); return; L_08875D80: - aot_gpr_16 = (aot_gpr_17 | 0u); + ctx.gpr[16] = (aot_gpr_17 | 0u); goto L_08875D84; L_08875D84: - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), ctx.gpr[16]); aot_gpr_5 = (ctx.gpr[28] + static_cast(-26972)); goto L_08875D8C; L_08875D8C: aot_gpr_31 = (0x08875D94u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08875D94u) goto L_08875D94; AOT_REGCACHE_SYNC_OUT(); return; L_08875D94: - ctx.gpr[6] = (0u | 170u); + aot_gpr_6 = (0u | 170u); aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08875DA4u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08875DA4u) goto L_08875DA4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08875DA4u) goto L_08875DA4; AOT_REGCACHE_SYNC_OUT(); return; L_08875DA4: { const bool branch_taken = 0u == 0u; @@ -5864,11 +5865,11 @@ L_08875DA4: L_08875DAC: aot_gpr_31 = (0x08875DB4u); aot_gpr_4 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08875DB4u) goto L_08875DB4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C604, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08875DB4u) goto L_08875DB4; AOT_REGCACHE_SYNC_OUT(); return; L_08875DB4: - aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); - { const bool branch_taken = aot_gpr_16 != 0u; + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); + { const bool branch_taken = ctx.gpr[16] != 0u; aot_gpr_5 = (ctx.gpr[28] + static_cast(-26964)); if (branch_taken) { goto L_08875DEC; @@ -5876,7 +5877,7 @@ L_08875DB4: goto L_08875DC0; } L_08875DC0: - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); aot_gpr_31 = (0x08875DCCu); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08875DCCu) goto L_08875DCC; @@ -5893,31 +5894,31 @@ L_08875DCC: L_08875DD8: aot_gpr_31 = (0x08875DE0u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08875DE0u) goto L_08875DE0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08875DE0u) goto L_08875DE0; AOT_REGCACHE_SYNC_OUT(); return; L_08875DE0: - aot_gpr_16 = (aot_gpr_17 | 0u); + ctx.gpr[16] = (aot_gpr_17 | 0u); goto L_08875DE4; L_08875DE4: - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), ctx.gpr[16]); aot_gpr_5 = (ctx.gpr[28] + static_cast(-26964)); goto L_08875DEC; L_08875DEC: aot_gpr_31 = (0x08875DF4u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08875DF4u) goto L_08875DF4; AOT_REGCACHE_SYNC_OUT(); return; L_08875DF4: aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08875E04u); - ctx.gpr[6] = (0u | 60u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08875E04u) goto L_08875E04; + aot_gpr_6 = (0u | 60u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08875E04u) goto L_08875E04; AOT_REGCACHE_SYNC_OUT(); return; L_08875E04: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(56), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -5933,10 +5934,10 @@ L_08875E04: L_08875E24: ctx.gpr[29] = (ctx.gpr[29] + static_cast(-176)); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7688))); - { const std::uint32_t aot_run_words[5]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; + { const std::uint32_t aot_run_words[5]{ctx.gpr[16], aot_gpr_17, ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(156), aot_run_words); } { const bool branch_taken = aot_gpr_5 != 0u; - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08875E64; } @@ -5953,7 +5954,7 @@ L_08875E48: L_08875E5C: aot_gpr_31 = (0x08875E64u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-27188)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08875E64u) goto L_08875E64; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[16], aot_gpr_17, ctx.gpr[18], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08875E64u) goto L_08875E64; AOT_REGCACHE_SYNC_OUT(); return; L_08875E64: aot_gpr_4 = (2237u << 16u); @@ -5963,7 +5964,7 @@ L_08875E64: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0010_entry, 10u, 553u, 0x0882E704u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08875E74u) goto L_08875E74; AOT_REGCACHE_SYNC_OUT(); return; L_08875E74: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08875E80u); aot_gpr_5 = (0u | 0u); goto L_08874808; @@ -5999,7 +6000,7 @@ L_08875EA0: aot_gpr_17 = (aot_gpr_2 | 0u); aot_gpr_4 = (ctx.gpr[29] + static_cast(14)); aot_gpr_5 = (0u | 7u); - ctx.gpr[6] = (0u | 10u); + aot_gpr_6 = (0u | 10u); aot_gpr_31 = (0x08875ED8u); ctx.gpr[7] = (ctx.gpr[7] + static_cast(13788)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 158u, 0x08B60C7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08875ED8u) goto L_08875ED8; @@ -6022,12 +6023,12 @@ L_08875EE0: goto L_08875EEC; } L_08875EEC: - ctx.gpr[6] = (aot_gpr_17 + aot_gpr_4); - ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(0))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(4))); + aot_gpr_6 = (aot_gpr_17 + aot_gpr_4); + ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(4))); ctx.gpr[8] = (ctx.gpr[29] + aot_gpr_4); aot_mem.aot_direct_store32(ctx.gpr[8] + static_cast(4), ctx.gpr[7]); - aot_mem.aot_direct_store32(ctx.gpr[8] + static_cast(8), ctx.gpr[6]); + aot_mem.aot_direct_store32(ctx.gpr[8] + static_cast(8), aot_gpr_6); aot_gpr_5 = (aot_gpr_5 + static_cast(-1)); { const bool branch_taken = aot_gpr_5 != 0u; aot_gpr_4 = (aot_gpr_4 + static_cast(8)); @@ -6110,24 +6111,24 @@ L_08875F68: } L_08875F70: aot_gpr_4 = (0u + static_cast(-1)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(248), aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(244), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(248), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(244), aot_gpr_4); aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); aot_gpr_5 = (0u | 198u); aot_gpr_31 = (0x08875F8Cu); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 553u, 0x08A062F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08875F8Cu) goto L_08875F8C; AOT_REGCACHE_SYNC_OUT(); return; L_08875F8C: aot_gpr_5 = (ctx.gpr[28] + static_cast(-27352)); - ctx.gpr[6] = (ctx.gpr[28] + static_cast(-27344)); + aot_gpr_6 = (ctx.gpr[28] + static_cast(-27344)); aot_gpr_31 = (0x08875F9Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 896u, 0x08873D30u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08875F9Cu) goto L_08875F9C; AOT_REGCACHE_SYNC_OUT(); return; L_08875F9C: { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(204), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(204), 0u); if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0029_entry, 29u, 92u, 0x088784A0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } @@ -6166,10 +6167,10 @@ L_08875FC4: goto L_08875FD4; L_08875FD4: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5868))); - ctx.gpr[6] = (2213u << 16u); + aot_gpr_6 = (2213u << 16u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(20))); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(21956)); - { const bool branch_taken = ctx.gpr[6] == aot_gpr_5; + aot_gpr_6 = (aot_gpr_6 + static_cast(21956)); + { const bool branch_taken = aot_gpr_6 == aot_gpr_5; aot_gpr_4 = (aot_gpr_4 & 255u); if (branch_taken) { goto L_08875FF4; @@ -6232,10 +6233,10 @@ L_08876030: goto L_08876040; L_08876040: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5868))); - ctx.gpr[6] = (2213u << 16u); + aot_gpr_6 = (2213u << 16u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(20))); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(23108)); - if (ctx.gpr[6] == aot_gpr_5) { + aot_gpr_6 = (aot_gpr_6 + static_cast(23108)); + if (aot_gpr_6 == aot_gpr_5) { aot_gpr_4 = (0u | 1u); goto L_08876094; } @@ -6260,10 +6261,10 @@ L_08876068: goto L_08876078; L_08876078: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5868))); - ctx.gpr[6] = (2213u << 16u); + aot_gpr_6 = (2213u << 16u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(20))); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(23100)); - { const bool branch_taken = ctx.gpr[6] != aot_gpr_5; + aot_gpr_6 = (aot_gpr_6 + static_cast(23100)); + { const bool branch_taken = aot_gpr_6 != aot_gpr_5; aot_gpr_4 = (aot_gpr_4 & 255u); if (branch_taken) { goto L_08876098; @@ -6359,7 +6360,7 @@ L_08876100: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0148_entry, 148u, 93u, 0x08A546D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08876108u) goto L_08876108; AOT_REGCACHE_SYNC_OUT(); return; L_08876108: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(244))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(244))); { const bool branch_taken = static_cast(aot_gpr_4) < 0; // nop if (branch_taken) { @@ -6368,13 +6369,13 @@ L_08876108: goto L_08876114; } L_08876114: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(244))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(244))); aot_gpr_31 = (0x08876120u); aot_gpr_5 = (0u | 0u); ctx.pc = 0x08B72FECu; AOT_REGCACHE_SYNC_OUT(); return; L_08876120: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(248))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(248))); { const bool branch_taken = static_cast(aot_gpr_4) < 0; // nop if (branch_taken) { @@ -6383,30 +6384,30 @@ L_08876120: goto L_0887612C; } L_0887612C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(248))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(248))); aot_gpr_31 = (0x08876138u); aot_gpr_5 = (0u | 0u); ctx.pc = 0x08B72FECu; AOT_REGCACHE_SYNC_OUT(); return; L_08876138: aot_gpr_4 = (0u + static_cast(-1)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(248), aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(244), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(248), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(244), aot_gpr_4); aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); aot_gpr_5 = (0u | 198u); aot_gpr_31 = (0x08876154u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 553u, 0x08A062F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08876154u) goto L_08876154; AOT_REGCACHE_SYNC_OUT(); return; L_08876154: aot_gpr_5 = (ctx.gpr[28] + static_cast(-27352)); - ctx.gpr[6] = (ctx.gpr[28] + static_cast(-27344)); + aot_gpr_6 = (ctx.gpr[28] + static_cast(-27344)); aot_gpr_31 = (0x08876164u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 896u, 0x08873D30u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08876164u) goto L_08876164; AOT_REGCACHE_SYNC_OUT(); return; L_08876164: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(204), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(204), 0u); aot_gpr_31 = (0x08876170u); aot_gpr_4 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08876170u) goto L_08876170; @@ -6466,10 +6467,10 @@ L_088761B4: goto L_088761C4; L_088761C4: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5868))); - ctx.gpr[6] = (2213u << 16u); + aot_gpr_6 = (2213u << 16u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(20))); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(23108)); - if (ctx.gpr[6] == aot_gpr_5) { + aot_gpr_6 = (aot_gpr_6 + static_cast(23108)); + if (aot_gpr_6 == aot_gpr_5) { aot_gpr_4 = (0u | 1u); goto L_08876218; } @@ -6494,10 +6495,10 @@ L_088761EC: goto L_088761FC; L_088761FC: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5868))); - ctx.gpr[6] = (2213u << 16u); + aot_gpr_6 = (2213u << 16u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(20))); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(23100)); - { const bool branch_taken = ctx.gpr[6] != aot_gpr_5; + aot_gpr_6 = (aot_gpr_6 + static_cast(23100)); + { const bool branch_taken = aot_gpr_6 != aot_gpr_5; aot_gpr_4 = (aot_gpr_4 & 255u); if (branch_taken) { goto L_0887621C; @@ -6538,14 +6539,14 @@ L_08876230: L_08876244: aot_gpr_31 = (0x0887624Cu); aot_gpr_4 = (ctx.gpr[28] + static_cast(-27188)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887624Cu) goto L_0887624C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[16], aot_gpr_17, ctx.gpr[18], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887624Cu) goto L_0887624C; AOT_REGCACHE_SYNC_OUT(); return; L_0887624C: aot_gpr_4 = (2237u << 16u); goto L_08876250; L_08876250: aot_gpr_5 = (0u | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x08876260u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28416)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0010_entry, 10u, 942u, 0x0882FCA0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08876260u) goto L_08876260; @@ -6560,9 +6561,9 @@ L_08876260: } L_08876268: aot_gpr_5 = (ctx.gpr[29] + static_cast(4)); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08876278u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0029_entry, 29u, 1338u, 0x0887BF94u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08876278u) goto L_08876278; AOT_REGCACHE_SYNC_OUT(); return; L_08876278: @@ -6580,7 +6581,7 @@ L_08876284: ctx.pc = 0x08B73514u; AOT_REGCACHE_SYNC_OUT(); return; L_0887628C: - ctx.gpr[6] = (ctx.gpr[29] + static_cast(140)); + aot_gpr_6 = (ctx.gpr[29] + static_cast(140)); ctx.gpr[7] = (ctx.gpr[29] + static_cast(144)); aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x088762A0u); @@ -6631,7 +6632,7 @@ L_088762F4: ctx.pc = 0x08B73514u; AOT_REGCACHE_SYNC_OUT(); return; L_088762FC: - ctx.gpr[6] = (ctx.gpr[29] + static_cast(148)); + aot_gpr_6 = (ctx.gpr[29] + static_cast(148)); ctx.gpr[7] = (ctx.gpr[29] + static_cast(152)); aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08876310u); @@ -6710,7 +6711,7 @@ L_08876394: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0148_entry, 148u, 93u, 0x08A546D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887639Cu) goto L_0887639C; AOT_REGCACHE_SYNC_OUT(); return; L_0887639C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(244))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(244))); { const bool branch_taken = static_cast(aot_gpr_4) < 0; // nop if (branch_taken) { @@ -6719,13 +6720,13 @@ L_0887639C: goto L_088763A8; } L_088763A8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(244))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(244))); aot_gpr_31 = (0x088763B4u); aot_gpr_5 = (0u | 0u); ctx.pc = 0x08B72FECu; AOT_REGCACHE_SYNC_OUT(); return; L_088763B4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(248))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(248))); { const bool branch_taken = static_cast(aot_gpr_4) < 0; // nop if (branch_taken) { @@ -6734,30 +6735,30 @@ L_088763B4: goto L_088763C0; } L_088763C0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(248))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(248))); aot_gpr_31 = (0x088763CCu); aot_gpr_5 = (0u | 0u); ctx.pc = 0x08B72FECu; AOT_REGCACHE_SYNC_OUT(); return; L_088763CC: aot_gpr_4 = (0u + static_cast(-1)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(248), aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(244), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(248), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(244), aot_gpr_4); aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); aot_gpr_5 = (0u | 198u); aot_gpr_31 = (0x088763E8u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 553u, 0x08A062F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088763E8u) goto L_088763E8; AOT_REGCACHE_SYNC_OUT(); return; L_088763E8: aot_gpr_5 = (ctx.gpr[28] + static_cast(-27352)); - ctx.gpr[6] = (ctx.gpr[28] + static_cast(-27344)); + aot_gpr_6 = (ctx.gpr[28] + static_cast(-27344)); aot_gpr_31 = (0x088763F8u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 896u, 0x08873D30u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088763F8u) goto L_088763F8; AOT_REGCACHE_SYNC_OUT(); return; L_088763F8: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(204), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(204), 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7688))); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_4 = (2237u << 16u); @@ -6777,14 +6778,14 @@ L_08876408: L_0887641C: aot_gpr_31 = (0x08876424u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-27188)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08876424u) goto L_08876424; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[16], aot_gpr_17, ctx.gpr[18], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08876424u) goto L_08876424; AOT_REGCACHE_SYNC_OUT(); return; L_08876424: aot_gpr_4 = (2237u << 16u); goto L_08876428; L_08876428: aot_gpr_5 = (0u | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x08876438u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28416)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0010_entry, 10u, 942u, 0x0882FCA0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08876438u) goto L_08876438; @@ -6802,7 +6803,7 @@ L_08876440: aot_gpr_17 = (0u | 0u); aot_gpr_31 = (0x08876450u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08876450u) goto L_08876450; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC734, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08876450u) goto L_08876450; AOT_REGCACHE_SYNC_OUT(); return; L_08876450: aot_gpr_4 = (aot_gpr_2 | 0u); @@ -6904,7 +6905,7 @@ L_088764C4: aot_gpr_4 = (2237u << 16u); aot_gpr_31 = (0x088764D0u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088764D0u) goto L_088764D0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC734, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088764D0u) goto L_088764D0; AOT_REGCACHE_SYNC_OUT(); return; L_088764D0: { const bool branch_taken = aot_gpr_2 != 0u; @@ -6931,13 +6932,13 @@ L_088764F4: aot_gpr_17 = (aot_gpr_17 + static_cast(2)); goto L_088764F8; L_088764F8: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08876504u); aot_gpr_5 = (aot_gpr_17 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 933u, 0x08873F64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08876504u) goto L_08876504; AOT_REGCACHE_SYNC_OUT(); return; L_08876504: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); ctx.gpr[18] = (aot_gpr_17 | 0u); { const bool branch_taken = aot_gpr_4 != ctx.gpr[18]; aot_gpr_4 = (2237u << 16u); @@ -6985,7 +6986,7 @@ L_0887654C: aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); aot_gpr_5 = (0u | 197u); aot_gpr_31 = (0x0887655Cu); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 553u, 0x08A062F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887655Cu) goto L_0887655C; AOT_REGCACHE_SYNC_OUT(); return; L_0887655C: @@ -7020,7 +7021,7 @@ L_08876588: aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); aot_gpr_5 = (0u | 197u); aot_gpr_31 = (0x08876598u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 553u, 0x08A062F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08876598u) goto L_08876598; AOT_REGCACHE_SYNC_OUT(); return; L_08876598: @@ -7087,7 +7088,7 @@ L_088765F8: goto L_08876608; } L_08876608: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); aot_gpr_4 = (aot_gpr_17 | 0u); if (aot_gpr_5 == aot_gpr_4) { aot_gpr_4 = (ctx.gpr[18] | 0u); @@ -7095,10 +7096,10 @@ L_08876608: } goto L_08876618; L_08876618: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(204), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(204), aot_gpr_4); goto L_0887661C; L_0887661C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); aot_gpr_4 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_17) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -7108,10 +7109,10 @@ L_0887661C: goto L_0887662C; } L_0887662C: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(204), ctx.gpr[18]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(204), ctx.gpr[18]); goto L_08876630; L_08876630: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); aot_gpr_4 = (static_cast(ctx.gpr[18]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -7122,7 +7123,7 @@ L_08876630: } L_08876640: { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(204), aot_gpr_17); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(204), aot_gpr_17); if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0029_entry, 29u, 82u, 0x08878430u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } @@ -7130,7 +7131,7 @@ L_08876640: } L_08876648: { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(204), aot_gpr_17); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(204), aot_gpr_17); if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0029_entry, 29u, 82u, 0x08878430u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } @@ -7148,7 +7149,7 @@ L_08876650: goto L_08876664; } L_08876664: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); { const bool branch_taken = static_cast(aot_gpr_4) < 0; // nop if (branch_taken) { @@ -7160,15 +7161,15 @@ L_08876670: aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); aot_gpr_5 = (0u | 197u); aot_gpr_31 = (0x08876680u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 553u, 0x08A062F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08876680u) goto L_08876680; AOT_REGCACHE_SYNC_OUT(); return; L_08876680: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); aot_gpr_5 = (0u + static_cast(-1)); aot_gpr_4 = (aot_gpr_4 + static_cast(-1)); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(204), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(204), aot_gpr_4); if (branch_taken) { goto L_0887669C; } @@ -7176,7 +7177,7 @@ L_08876680: } L_08876694: aot_gpr_4 = (ctx.gpr[19] + static_cast(-1)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(204), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(204), aot_gpr_4); goto L_0887669C; L_0887669C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); @@ -7189,7 +7190,7 @@ L_0887669C: goto L_088766AC; } L_088766AC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); { const bool branch_taken = static_cast(aot_gpr_4) < 0; // nop if (branch_taken) { @@ -7201,16 +7202,16 @@ L_088766B8: aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); aot_gpr_5 = (0u | 197u); aot_gpr_31 = (0x088766C8u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 553u, 0x08A062F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088766C8u) goto L_088766C8; AOT_REGCACHE_SYNC_OUT(); return; L_088766C8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(204), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(204), aot_gpr_4); goto L_088766D4; L_088766D4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); aot_gpr_4 = (static_cast(ctx.gpr[18]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -7220,10 +7221,10 @@ L_088766D4: goto L_088766E4; } L_088766E4: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(204), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(204), 0u); goto L_088766E8; L_088766E8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); aot_gpr_5 = (0u + static_cast(-1)); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -7233,10 +7234,10 @@ L_088766E8: goto L_088766F8; } L_088766F8: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(204), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(204), 0u); goto L_088766FC; L_088766FC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); { const bool branch_taken = static_cast(aot_gpr_4) >= 0; // nop if (branch_taken) { @@ -7245,12 +7246,12 @@ L_088766FC: goto L_08876708; } L_08876708: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(204), ctx.gpr[18]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(204), ctx.gpr[18]); goto L_0887670C; L_0887670C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5868))); if (aot_gpr_4 != 0u) { - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5868))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5868))); goto L_08876724; } goto L_08876718; @@ -7260,12 +7261,12 @@ L_08876718: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 452u, 0x08B65D8Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08876720u) goto L_08876720; AOT_REGCACHE_SYNC_OUT(); return; L_08876720: - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5868))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5868))); goto L_08876724; L_08876724: aot_gpr_4 = (0u | 0u); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[6] + static_cast(18)))))); - { const bool branch_taken = ctx.gpr[6] != 0u; + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(18)))))); + { const bool branch_taken = aot_gpr_6 != 0u; aot_gpr_5 = (0u | 0u); if (branch_taken) { goto L_0887675C; @@ -7273,19 +7274,19 @@ L_08876724: goto L_08876734; } L_08876734: - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5868))); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[6] + static_cast(16)))))); - if (ctx.gpr[6] != 0u) { + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5868))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(16)))))); + if (aot_gpr_6 != 0u) { aot_gpr_5 = (0u | 1u); goto L_08876760; } goto L_08876744; L_08876744: - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5868))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5868))); ctx.gpr[7] = (2213u << 16u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(20))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(20))); ctx.gpr[7] = (ctx.gpr[7] + static_cast(21956)); - { const bool branch_taken = ctx.gpr[7] == ctx.gpr[6]; + { const bool branch_taken = ctx.gpr[7] == aot_gpr_6; aot_gpr_5 = (aot_gpr_5 & 255u); if (branch_taken) { goto L_08876764; @@ -7322,10 +7323,10 @@ L_0887677C: goto L_0887678C; L_0887678C: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5868))); - ctx.gpr[6] = (2213u << 16u); + aot_gpr_6 = (2213u << 16u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(20))); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(21964)); - if (ctx.gpr[6] == aot_gpr_5) { + aot_gpr_6 = (aot_gpr_6 + static_cast(21964)); + if (aot_gpr_6 == aot_gpr_5) { aot_gpr_4 = (aot_gpr_4 & 255u); goto L_088767E4; } @@ -7350,10 +7351,10 @@ L_088767B4: goto L_088767C4; L_088767C4: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5868))); - ctx.gpr[6] = (2213u << 16u); + aot_gpr_6 = (2213u << 16u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(20))); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(22528)); - { const bool branch_taken = ctx.gpr[6] == aot_gpr_5; + aot_gpr_6 = (aot_gpr_6 + static_cast(22528)); + { const bool branch_taken = aot_gpr_6 == aot_gpr_5; aot_gpr_4 = (aot_gpr_4 & 255u); if (branch_taken) { goto L_088767E4; @@ -7376,7 +7377,7 @@ L_088767E4: } L_088767EC: aot_gpr_4 = (0u + static_cast(-1)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(204), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(204), aot_gpr_4); goto L_088767F4; L_088767F4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); @@ -7401,7 +7402,7 @@ L_08876808: goto L_08876810; } L_08876810: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); { const bool branch_taken = static_cast(aot_gpr_4) < 0; // nop if (branch_taken) { @@ -7410,7 +7411,7 @@ L_08876810: goto L_0887681C; } L_0887681C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); { const bool branch_taken = aot_gpr_4 == aot_gpr_17; // nop if (branch_taken) { @@ -7422,11 +7423,11 @@ L_08876828: aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); aot_gpr_5 = (0u | 197u); aot_gpr_31 = (0x08876838u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 553u, 0x08A062F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08876838u) goto L_08876838; AOT_REGCACHE_SYNC_OUT(); return; L_08876838: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -7438,7 +7439,7 @@ L_08876844: aot_gpr_4 = (2237u << 16u); aot_gpr_31 = (0x08876850u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08876850u) goto L_08876850; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC734, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08876850u) goto L_08876850; AOT_REGCACHE_SYNC_OUT(); return; L_08876850: { const bool branch_taken = aot_gpr_2 != 0u; @@ -7468,7 +7469,7 @@ L_08876870: aot_gpr_17 = (aot_gpr_4 + static_cast(-28736)); aot_gpr_31 = (0x08876880u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08876880u) goto L_08876880; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC734, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08876880u) goto L_08876880; AOT_REGCACHE_SYNC_OUT(); return; L_08876880: aot_gpr_5 = (aot_gpr_2 + static_cast(-1)); @@ -7477,7 +7478,7 @@ L_08876880: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 136u, 0x08ADC72Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887688Cu) goto L_0887688C; AOT_REGCACHE_SYNC_OUT(); return; L_0887688C: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08876898u); aot_gpr_5 = (0u | 1u); goto L_08874584; @@ -7490,7 +7491,7 @@ L_08876898: goto L_088768A0; } L_088768A0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); aot_gpr_5 = (0u | 1u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -7503,7 +7504,7 @@ L_088768B0: aot_gpr_4 = (2237u << 16u); aot_gpr_31 = (0x088768BCu); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088768BCu) goto L_088768BC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC754, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088768BCu) goto L_088768BC; AOT_REGCACHE_SYNC_OUT(); return; L_088768BC: { const bool branch_taken = aot_gpr_2 != 0u; @@ -7533,7 +7534,7 @@ L_088768DC: aot_gpr_17 = (aot_gpr_4 + static_cast(-28736)); aot_gpr_31 = (0x088768ECu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088768ECu) goto L_088768EC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC754, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088768ECu) goto L_088768EC; AOT_REGCACHE_SYNC_OUT(); return; L_088768EC: aot_gpr_5 = (aot_gpr_2 + static_cast(-1)); @@ -7543,7 +7544,7 @@ L_088768EC: AOT_REGCACHE_SYNC_OUT(); return; L_088768F8: aot_gpr_31 = (0x08876900u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_0887487C; L_08876900: { const bool branch_taken = aot_gpr_2 == 0u; @@ -7555,7 +7556,7 @@ L_08876900: } L_08876908: aot_gpr_31 = (0x08876910u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_08874B80; L_08876910: { const bool branch_taken = aot_gpr_2 == 0u; @@ -7579,7 +7580,7 @@ L_08876928: aot_gpr_4 = (2237u << 16u); aot_gpr_31 = (0x08876934u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08876934u) goto L_08876934; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC734, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08876934u) goto L_08876934; AOT_REGCACHE_SYNC_OUT(); return; L_08876934: aot_gpr_4 = (aot_gpr_2 | 0u); @@ -7603,7 +7604,7 @@ L_08876944: ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0887695C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); aot_gpr_5 = (aot_gpr_4 + static_cast(-2)); aot_gpr_5 = (aot_gpr_5 < static_cast(5) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; @@ -7661,9 +7662,9 @@ L_08876994: L_088769AC: aot_gpr_5 = (2237u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(-28736)); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(48))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(48))); aot_gpr_4 = (0u + static_cast(-3)); - aot_gpr_4 = (ctx.gpr[6] & aot_gpr_4); + aot_gpr_4 = (aot_gpr_6 & aot_gpr_4); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(48), aot_gpr_4); if (branch_taken) { @@ -8116,7 +8117,7 @@ L_08876CC0: goto L_08876CC8; } L_08876CC8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); aot_gpr_5 = (static_cast(aot_gpr_4) < 4 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_5 = (static_cast(aot_gpr_4) < 5 ? 1u : 0u); @@ -8179,7 +8180,7 @@ L_08876D0C: aot_gpr_17 = (0u | 0u); aot_gpr_31 = (0x08876D1Cu); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08876D1Cu) goto L_08876D1C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC734, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08876D1Cu) goto L_08876D1C; AOT_REGCACHE_SYNC_OUT(); return; L_08876D1C: aot_gpr_4 = (0u | 1u); @@ -8194,7 +8195,7 @@ L_08876D28: aot_gpr_4 = (2237u << 16u); aot_gpr_31 = (0x08876D34u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08876D34u) goto L_08876D34; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC784, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08876D34u) goto L_08876D34; AOT_REGCACHE_SYNC_OUT(); return; L_08876D34: aot_gpr_4 = (0u | 1u); @@ -8221,7 +8222,7 @@ L_08876D50: aot_gpr_4 = (2237u << 16u); aot_gpr_31 = (0x08876D5Cu); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08876D5Cu) goto L_08876D5C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC754, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08876D5Cu) goto L_08876D5C; AOT_REGCACHE_SYNC_OUT(); return; L_08876D5C: aot_gpr_5 = (2233u << 16u); @@ -8240,7 +8241,7 @@ L_08876D74: aot_gpr_17 = (0u | 0u); aot_gpr_31 = (0x08876D84u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08876D84u) goto L_08876D84; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC734, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08876D84u) goto L_08876D84; AOT_REGCACHE_SYNC_OUT(); return; L_08876D84: aot_gpr_4 = (0u | 1u); @@ -8255,7 +8256,7 @@ L_08876D90: aot_gpr_4 = (2237u << 16u); aot_gpr_31 = (0x08876D9Cu); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08876D9Cu) goto L_08876D9C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC784, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08876D9Cu) goto L_08876D9C; AOT_REGCACHE_SYNC_OUT(); return; L_08876D9C: aot_gpr_4 = (0u | 2u); @@ -8282,7 +8283,7 @@ L_08876DB8: aot_gpr_4 = (2237u << 16u); aot_gpr_31 = (0x08876DC4u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08876DC4u) goto L_08876DC4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC754, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08876DC4u) goto L_08876DC4; AOT_REGCACHE_SYNC_OUT(); return; L_08876DC4: aot_gpr_5 = (2233u << 16u); @@ -8300,7 +8301,7 @@ L_08876DDC: aot_gpr_4 = (2237u << 16u); aot_gpr_31 = (0x08876DE8u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08876DE8u) goto L_08876DE8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC754, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08876DE8u) goto L_08876DE8; AOT_REGCACHE_SYNC_OUT(); return; L_08876DE8: aot_gpr_5 = (2233u << 16u); @@ -8351,7 +8352,7 @@ L_08876E40: aot_gpr_17 = (0u | 0u); aot_gpr_31 = (0x08876E50u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08876E50u) goto L_08876E50; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC734, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08876E50u) goto L_08876E50; AOT_REGCACHE_SYNC_OUT(); return; L_08876E50: aot_gpr_4 = (0u | 1u); @@ -8365,7 +8366,7 @@ L_08876E50: L_08876E5C: aot_gpr_31 = (0x08876E64u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08876E64u) goto L_08876E64; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC784, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08876E64u) goto L_08876E64; AOT_REGCACHE_SYNC_OUT(); return; L_08876E64: aot_gpr_4 = (0u | 1u); @@ -8384,7 +8385,7 @@ L_08876E74: aot_gpr_17 = (aot_gpr_17 & 255u); aot_gpr_31 = (0x08876E84u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08876E84u) goto L_08876E84; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC784, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08876E84u) goto L_08876E84; AOT_REGCACHE_SYNC_OUT(); return; L_08876E84: { const bool branch_taken = static_cast(aot_gpr_2) > 0; @@ -8414,7 +8415,7 @@ L_08876EA4: ctx.gpr[19] = (aot_gpr_4 + static_cast(-28736)); aot_gpr_31 = (0x08876EB4u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08876EB4u) goto L_08876EB4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC784, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08876EB4u) goto L_08876EB4; AOT_REGCACHE_SYNC_OUT(); return; L_08876EB4: aot_gpr_5 = (aot_gpr_2 + static_cast(-1)); @@ -8427,7 +8428,7 @@ L_08876EC0: ctx.gpr[19] = (0u | 0u); aot_gpr_31 = (0x08876ED0u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08876ED0u) goto L_08876ED0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC734, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08876ED0u) goto L_08876ED0; AOT_REGCACHE_SYNC_OUT(); return; L_08876ED0: aot_gpr_4 = (0u | 1u); @@ -8442,7 +8443,7 @@ L_08876EDC: aot_gpr_4 = (2237u << 16u); aot_gpr_31 = (0x08876EE8u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08876EE8u) goto L_08876EE8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC784, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08876EE8u) goto L_08876EE8; AOT_REGCACHE_SYNC_OUT(); return; L_08876EE8: aot_gpr_4 = (0u | 2u); @@ -8484,7 +8485,7 @@ L_08876F18: ctx.gpr[19] = (aot_gpr_4 + static_cast(-28736)); aot_gpr_31 = (0x08876F28u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08876F28u) goto L_08876F28; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC784, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08876F28u) goto L_08876F28; AOT_REGCACHE_SYNC_OUT(); return; L_08876F28: aot_gpr_5 = (aot_gpr_2 + static_cast(-1)); @@ -8502,7 +8503,7 @@ L_08876F34: AOT_REGCACHE_SYNC_OUT(); return; L_08876F48: aot_gpr_31 = (0x08876F50u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_0887487C; L_08876F50: { const bool branch_taken = aot_gpr_2 == 0u; @@ -8514,7 +8515,7 @@ L_08876F50: } L_08876F58: aot_gpr_31 = (0x08876F60u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_08874B80; L_08876F60: { const bool branch_taken = aot_gpr_2 != 0u; @@ -8529,7 +8530,7 @@ L_08876F68: ctx.gpr[19] = (aot_gpr_4 + static_cast(-28736)); aot_gpr_31 = (0x08876F78u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08876F78u) goto L_08876F78; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC754, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08876F78u) goto L_08876F78; AOT_REGCACHE_SYNC_OUT(); return; L_08876F78: aot_gpr_5 = (aot_gpr_2 + static_cast(1)); @@ -8540,7 +8541,7 @@ L_08876F78: L_08876F84: aot_gpr_31 = (0x08876F8Cu); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08876F8Cu) goto L_08876F8C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC754, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08876F8Cu) goto L_08876F8C; AOT_REGCACHE_SYNC_OUT(); return; L_08876F8C: aot_gpr_4 = (0u | 12u); @@ -8578,7 +8579,7 @@ L_08876FB8: aot_gpr_17 = (0u | 0u); aot_gpr_31 = (0x08876FC4u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08876FC4u) goto L_08876FC4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC734, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08876FC4u) goto L_08876FC4; AOT_REGCACHE_SYNC_OUT(); return; L_08876FC4: aot_gpr_4 = (0u | 1u); @@ -8593,7 +8594,7 @@ L_08876FD0: aot_gpr_4 = (2237u << 16u); aot_gpr_31 = (0x08876FDCu); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08876FDCu) goto L_08876FDC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC784, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08876FDCu) goto L_08876FDC; AOT_REGCACHE_SYNC_OUT(); return; L_08876FDC: aot_gpr_4 = (0u | 1u); @@ -8618,14 +8619,14 @@ L_08876FF0: } L_08876FF8: aot_gpr_4 = (2237u << 16u); - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(425))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(425))); aot_gpr_31 = (0x08877008u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 142u, 0x08ADC75Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08877008u) goto L_08877008; AOT_REGCACHE_SYNC_OUT(); return; L_08877008: aot_gpr_4 = (0u | 1u); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(425), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(425), static_cast(aot_gpr_4)); goto L_08877010; L_08877010: { const bool branch_taken = 0u == 0u; @@ -8742,7 +8743,7 @@ L_088770BC: goto L_088770C4; } L_088770C4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); aot_gpr_5 = (0u | 2u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -8767,7 +8768,7 @@ L_088770E8: aot_gpr_17 = (aot_gpr_4 + static_cast(-28736)); aot_gpr_31 = (0x088770F8u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088770F8u) goto L_088770F8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC754, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088770F8u) goto L_088770F8; AOT_REGCACHE_SYNC_OUT(); return; L_088770F8: aot_gpr_5 = (2233u << 16u); @@ -8799,7 +8800,7 @@ L_0887712C: goto L_08877134; } L_08877134: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); aot_gpr_5 = (static_cast(aot_gpr_4) < 3 ? 1u : 0u); if (aot_gpr_5 == 0u) { aot_gpr_4 = (static_cast(aot_gpr_4) < 4 ? 1u : 0u); @@ -8855,7 +8856,7 @@ L_0887717C: aot_gpr_17 = (aot_gpr_4 + static_cast(-28736)); aot_gpr_31 = (0x0887718Cu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887718Cu) goto L_0887718C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC754, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887718Cu) goto L_0887718C; AOT_REGCACHE_SYNC_OUT(); return; L_0887718C: aot_gpr_5 = (2233u << 16u); @@ -8890,7 +8891,7 @@ L_088771C8: aot_gpr_4 = (2237u << 16u); aot_gpr_31 = (0x088771D4u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088771D4u) goto L_088771D4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC784, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088771D4u) goto L_088771D4; AOT_REGCACHE_SYNC_OUT(); return; L_088771D4: { const bool branch_taken = static_cast(aot_gpr_2) > 0; @@ -8920,7 +8921,7 @@ L_088771F4: aot_gpr_17 = (aot_gpr_4 + static_cast(-28736)); aot_gpr_31 = (0x08877204u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08877204u) goto L_08877204; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC784, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08877204u) goto L_08877204; AOT_REGCACHE_SYNC_OUT(); return; L_08877204: aot_gpr_5 = (aot_gpr_2 + static_cast(-1)); @@ -8937,7 +8938,7 @@ L_08877210: goto L_08877218; } L_08877218: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); aot_gpr_5 = (0u | 2u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -8998,7 +8999,7 @@ L_08877274: goto L_0887727C; } L_0887727C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); aot_gpr_5 = (0u | 2u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -9067,7 +9068,7 @@ L_088772E0: goto L_088772E8; } L_088772E8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); aot_gpr_5 = (static_cast(aot_gpr_4) < 3 ? 1u : 0u); if (aot_gpr_5 == 0u) { aot_gpr_4 = (static_cast(aot_gpr_4) < 4 ? 1u : 0u); @@ -9208,7 +9209,7 @@ L_088773B4: goto L_088773BC; } L_088773BC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); aot_gpr_5 = (0u | 2u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -9233,7 +9234,7 @@ L_088773E0: aot_gpr_17 = (aot_gpr_4 + static_cast(-28736)); aot_gpr_31 = (0x088773F0u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088773F0u) goto L_088773F0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC754, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088773F0u) goto L_088773F0; AOT_REGCACHE_SYNC_OUT(); return; L_088773F0: aot_gpr_5 = (2233u << 16u); @@ -9265,7 +9266,7 @@ L_08877424: goto L_0887742C; } L_0887742C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); aot_gpr_5 = (0u | 2u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; aot_gpr_4 = (2237u << 16u); @@ -9304,9 +9305,9 @@ L_08877464: } L_0887747C: aot_gpr_5 = (aot_gpr_5 + static_cast(-28736)); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(48))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(48))); aot_gpr_4 = (0u + static_cast(-65)); - aot_gpr_4 = (ctx.gpr[6] & aot_gpr_4); + aot_gpr_4 = (aot_gpr_6 & aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(48), aot_gpr_4); goto L_08877490; L_08877490: @@ -9341,7 +9342,7 @@ L_088774B0: goto L_088774B8; } L_088774B8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); { const bool branch_taken = static_cast(aot_gpr_4) < 0; // nop if (branch_taken) { @@ -9350,7 +9351,7 @@ L_088774B8: goto L_088774C4; } L_088774C4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); { const bool branch_taken = aot_gpr_4 == aot_gpr_17; // nop if (branch_taken) { @@ -9362,11 +9363,11 @@ L_088774D0: aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); aot_gpr_5 = (0u | 197u); aot_gpr_31 = (0x088774E0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 553u, 0x08A062F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088774E0u) goto L_088774E0; AOT_REGCACHE_SYNC_OUT(); return; L_088774E0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -9378,7 +9379,7 @@ L_088774EC: aot_gpr_4 = (2237u << 16u); aot_gpr_31 = (0x088774F8u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088774F8u) goto L_088774F8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC734, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088774F8u) goto L_088774F8; AOT_REGCACHE_SYNC_OUT(); return; L_088774F8: aot_gpr_4 = (aot_gpr_2 < static_cast(9) ? 1u : 0u); @@ -9409,7 +9410,7 @@ L_0887751C: aot_gpr_17 = (aot_gpr_4 + static_cast(-28736)); aot_gpr_31 = (0x0887752Cu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887752Cu) goto L_0887752C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC734, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887752Cu) goto L_0887752C; AOT_REGCACHE_SYNC_OUT(); return; L_0887752C: aot_gpr_5 = (aot_gpr_2 + static_cast(1)); @@ -9418,7 +9419,7 @@ L_0887752C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 136u, 0x08ADC72Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08877538u) goto L_08877538; AOT_REGCACHE_SYNC_OUT(); return; L_08877538: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08877544u); aot_gpr_5 = (0u | 1u); goto L_08874584; @@ -9431,7 +9432,7 @@ L_08877544: goto L_0887754C; } L_0887754C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); aot_gpr_5 = (0u | 1u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -9444,7 +9445,7 @@ L_0887755C: aot_gpr_4 = (2237u << 16u); aot_gpr_31 = (0x08877568u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08877568u) goto L_08877568; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC754, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08877568u) goto L_08877568; AOT_REGCACHE_SYNC_OUT(); return; L_08877568: aot_gpr_4 = (aot_gpr_2 < static_cast(11) ? 1u : 0u); @@ -9475,7 +9476,7 @@ L_0887758C: aot_gpr_17 = (aot_gpr_4 + static_cast(-28736)); aot_gpr_31 = (0x0887759Cu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887759Cu) goto L_0887759C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC754, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887759Cu) goto L_0887759C; AOT_REGCACHE_SYNC_OUT(); return; L_0887759C: aot_gpr_5 = (aot_gpr_2 + static_cast(1)); @@ -9485,7 +9486,7 @@ L_0887759C: AOT_REGCACHE_SYNC_OUT(); return; L_088775A8: aot_gpr_31 = (0x088775B0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_0887487C; L_088775B0: { const bool branch_taken = aot_gpr_2 == 0u; @@ -9497,7 +9498,7 @@ L_088775B0: } L_088775B8: aot_gpr_31 = (0x088775C0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_08874B80; L_088775C0: { const bool branch_taken = aot_gpr_2 == 0u; @@ -9521,7 +9522,7 @@ L_088775D8: aot_gpr_4 = (2237u << 16u); aot_gpr_31 = (0x088775E4u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088775E4u) goto L_088775E4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC734, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088775E4u) goto L_088775E4; AOT_REGCACHE_SYNC_OUT(); return; L_088775E4: aot_gpr_4 = (aot_gpr_2 | 0u); @@ -9545,7 +9546,7 @@ L_088775F4: ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0887760C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); aot_gpr_5 = (aot_gpr_4 + static_cast(-2)); aot_gpr_5 = (aot_gpr_5 < static_cast(5) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; @@ -9603,9 +9604,9 @@ L_08877644: L_0887765C: aot_gpr_5 = (2237u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(-28736)); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(48))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(48))); aot_gpr_4 = (0u + static_cast(-3)); - aot_gpr_4 = (ctx.gpr[6] & aot_gpr_4); + aot_gpr_4 = (aot_gpr_6 & aot_gpr_4); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(48), aot_gpr_4); if (branch_taken) { @@ -10064,7 +10065,7 @@ L_08877988: goto L_08877990; } L_08877990: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); aot_gpr_5 = (static_cast(aot_gpr_4) < 4 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_5 = (static_cast(aot_gpr_4) < 5 ? 1u : 0u); @@ -10127,7 +10128,7 @@ L_088779D4: aot_gpr_17 = (0u | 0u); aot_gpr_31 = (0x088779E4u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088779E4u) goto L_088779E4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC734, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088779E4u) goto L_088779E4; AOT_REGCACHE_SYNC_OUT(); return; L_088779E4: aot_gpr_4 = (0u | 1u); @@ -10142,7 +10143,7 @@ L_088779F0: aot_gpr_4 = (2237u << 16u); aot_gpr_31 = (0x088779FCu); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088779FCu) goto L_088779FC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC784, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088779FCu) goto L_088779FC; AOT_REGCACHE_SYNC_OUT(); return; L_088779FC: aot_gpr_4 = (0u | 1u); @@ -10169,7 +10170,7 @@ L_08877A18: aot_gpr_4 = (2237u << 16u); aot_gpr_31 = (0x08877A24u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08877A24u) goto L_08877A24; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC754, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08877A24u) goto L_08877A24; AOT_REGCACHE_SYNC_OUT(); return; L_08877A24: aot_gpr_5 = (2233u << 16u); @@ -10188,7 +10189,7 @@ L_08877A3C: aot_gpr_17 = (0u | 0u); aot_gpr_31 = (0x08877A4Cu); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08877A4Cu) goto L_08877A4C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC734, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08877A4Cu) goto L_08877A4C; AOT_REGCACHE_SYNC_OUT(); return; L_08877A4C: aot_gpr_4 = (0u | 1u); @@ -10203,7 +10204,7 @@ L_08877A58: aot_gpr_4 = (2237u << 16u); aot_gpr_31 = (0x08877A64u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08877A64u) goto L_08877A64; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC784, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08877A64u) goto L_08877A64; AOT_REGCACHE_SYNC_OUT(); return; L_08877A64: aot_gpr_4 = (0u | 2u); @@ -10230,7 +10231,7 @@ L_08877A80: aot_gpr_4 = (2237u << 16u); aot_gpr_31 = (0x08877A8Cu); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08877A8Cu) goto L_08877A8C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC754, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08877A8Cu) goto L_08877A8C; AOT_REGCACHE_SYNC_OUT(); return; L_08877A8C: aot_gpr_5 = (2233u << 16u); @@ -10248,7 +10249,7 @@ L_08877AA4: aot_gpr_4 = (2237u << 16u); aot_gpr_31 = (0x08877AB0u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08877AB0u) goto L_08877AB0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC754, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08877AB0u) goto L_08877AB0; AOT_REGCACHE_SYNC_OUT(); return; L_08877AB0: aot_gpr_5 = (2233u << 16u); @@ -10300,7 +10301,7 @@ L_08877B0C: aot_gpr_17 = (0u | 0u); aot_gpr_31 = (0x08877B1Cu); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08877B1Cu) goto L_08877B1C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC734, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08877B1Cu) goto L_08877B1C; AOT_REGCACHE_SYNC_OUT(); return; L_08877B1C: aot_gpr_4 = (0u | 1u); @@ -10314,7 +10315,7 @@ L_08877B1C: L_08877B28: aot_gpr_31 = (0x08877B30u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08877B30u) goto L_08877B30; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC784, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08877B30u) goto L_08877B30; AOT_REGCACHE_SYNC_OUT(); return; L_08877B30: aot_gpr_4 = (0u | 1u); @@ -10333,7 +10334,7 @@ L_08877B40: aot_gpr_17 = (aot_gpr_17 & 255u); aot_gpr_31 = (0x08877B50u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08877B50u) goto L_08877B50; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC784, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08877B50u) goto L_08877B50; AOT_REGCACHE_SYNC_OUT(); return; L_08877B50: aot_gpr_4 = (static_cast(aot_gpr_2) < 2 ? 1u : 0u); @@ -10364,7 +10365,7 @@ L_08877B74: ctx.gpr[19] = (aot_gpr_4 + static_cast(-28736)); aot_gpr_31 = (0x08877B84u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08877B84u) goto L_08877B84; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC784, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08877B84u) goto L_08877B84; AOT_REGCACHE_SYNC_OUT(); return; L_08877B84: aot_gpr_5 = (aot_gpr_2 + static_cast(1)); @@ -10377,7 +10378,7 @@ L_08877B90: ctx.gpr[19] = (0u | 0u); aot_gpr_31 = (0x08877BA0u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08877BA0u) goto L_08877BA0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC734, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08877BA0u) goto L_08877BA0; AOT_REGCACHE_SYNC_OUT(); return; L_08877BA0: aot_gpr_4 = (0u | 1u); @@ -10392,7 +10393,7 @@ L_08877BAC: aot_gpr_4 = (2237u << 16u); aot_gpr_31 = (0x08877BB8u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08877BB8u) goto L_08877BB8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC784, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08877BB8u) goto L_08877BB8; AOT_REGCACHE_SYNC_OUT(); return; L_08877BB8: aot_gpr_4 = (0u | 2u); @@ -10449,7 +10450,7 @@ L_08877C0C: goto L_08877C10; L_08877C10: aot_gpr_31 = (0x08877C18u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_0887487C; L_08877C18: { const bool branch_taken = aot_gpr_2 == 0u; @@ -10461,7 +10462,7 @@ L_08877C18: } L_08877C20: aot_gpr_31 = (0x08877C28u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_08874B80; L_08877C28: { const bool branch_taken = aot_gpr_2 != 0u; @@ -10476,7 +10477,7 @@ L_08877C30: ctx.gpr[19] = (aot_gpr_4 + static_cast(-28736)); aot_gpr_31 = (0x08877C40u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08877C40u) goto L_08877C40; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC754, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08877C40u) goto L_08877C40; AOT_REGCACHE_SYNC_OUT(); return; L_08877C40: aot_gpr_5 = (aot_gpr_2 + static_cast(1)); @@ -10487,7 +10488,7 @@ L_08877C40: L_08877C4C: aot_gpr_31 = (0x08877C54u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08877C54u) goto L_08877C54; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC754, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08877C54u) goto L_08877C54; AOT_REGCACHE_SYNC_OUT(); return; L_08877C54: aot_gpr_4 = (0u | 12u); @@ -10525,7 +10526,7 @@ L_08877C80: aot_gpr_17 = (0u | 0u); aot_gpr_31 = (0x08877C8Cu); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08877C8Cu) goto L_08877C8C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC734, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08877C8Cu) goto L_08877C8C; AOT_REGCACHE_SYNC_OUT(); return; L_08877C8C: aot_gpr_4 = (0u | 1u); @@ -10540,7 +10541,7 @@ L_08877C98: aot_gpr_4 = (2237u << 16u); aot_gpr_31 = (0x08877CA4u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08877CA4u) goto L_08877CA4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC784, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08877CA4u) goto L_08877CA4; AOT_REGCACHE_SYNC_OUT(); return; L_08877CA4: aot_gpr_4 = (0u | 1u); @@ -10565,14 +10566,14 @@ L_08877CB8: } L_08877CC0: aot_gpr_4 = (2237u << 16u); - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(425))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(425))); aot_gpr_31 = (0x08877CD0u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 142u, 0x08ADC75Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08877CD0u) goto L_08877CD0; AOT_REGCACHE_SYNC_OUT(); return; L_08877CD0: aot_gpr_4 = (0u | 1u); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(425), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(425), static_cast(aot_gpr_4)); goto L_08877CD8; L_08877CD8: { const bool branch_taken = 0u == 0u; @@ -10687,7 +10688,7 @@ L_08877D7C: goto L_08877D8C; } L_08877D8C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); aot_gpr_5 = (0u | 2u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -10701,7 +10702,7 @@ L_08877D9C: aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); aot_gpr_31 = (0x08877DACu); aot_gpr_17 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(52))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08877DACu) goto L_08877DAC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC754, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08877DACu) goto L_08877DAC; AOT_REGCACHE_SYNC_OUT(); return; L_08877DAC: aot_gpr_5 = (2233u << 16u); @@ -10744,7 +10745,7 @@ L_08877DF4: goto L_08877DFC; } L_08877DFC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); aot_gpr_5 = (0u | 2u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -10805,7 +10806,7 @@ L_08877E58: goto L_08877E60; } L_08877E60: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); aot_gpr_5 = (0u | 2u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -10866,7 +10867,7 @@ L_08877EBC: goto L_08877EC4; } L_08877EC4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); aot_gpr_5 = (static_cast(aot_gpr_4) < 3 ? 1u : 0u); if (aot_gpr_5 == 0u) { aot_gpr_4 = (static_cast(aot_gpr_4) < 4 ? 1u : 0u); @@ -10911,7 +10912,7 @@ L_08877EF8: aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); aot_gpr_31 = (0x08877F08u); aot_gpr_17 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(52))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08877F08u) goto L_08877F08; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC754, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08877F08u) goto L_08877F08; AOT_REGCACHE_SYNC_OUT(); return; L_08877F08: aot_gpr_5 = (2233u << 16u); @@ -10957,7 +10958,7 @@ L_08877F58: aot_gpr_4 = (2237u << 16u); aot_gpr_31 = (0x08877F64u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08877F64u) goto L_08877F64; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC784, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08877F64u) goto L_08877F64; AOT_REGCACHE_SYNC_OUT(); return; L_08877F64: aot_gpr_4 = (static_cast(aot_gpr_2) < 10 ? 1u : 0u); @@ -10988,7 +10989,7 @@ L_08877F88: aot_gpr_17 = (aot_gpr_4 + static_cast(-28736)); aot_gpr_31 = (0x08877F98u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08877F98u) goto L_08877F98; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC784, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08877F98u) goto L_08877F98; AOT_REGCACHE_SYNC_OUT(); return; L_08877F98: aot_gpr_5 = (aot_gpr_2 + static_cast(1)); @@ -11013,7 +11014,7 @@ L_08877FAC: goto L_08877FB4; } L_08877FB4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); aot_gpr_5 = (static_cast(aot_gpr_4) < 3 ? 1u : 0u); if (aot_gpr_5 == 0u) { aot_gpr_4 = (static_cast(aot_gpr_4) < 4 ? 1u : 0u); diff --git a/profiles/vcs/generated/generated_unit_0029.cpp b/profiles/vcs/generated/generated_unit_0029.cpp index c11f625..366cb28 100644 --- a/profiles/vcs/generated/generated_unit_0029.cpp +++ b/profiles/vcs/generated/generated_unit_0029.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0029[4096] = { }; void recomp_unit_0029_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,31,5,28,16,17 fprs=12,22,26,28 gpr_occ=4285 fpr_occ=36 gpr_total=5948 fpr_total=71 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,31,5,2,6,28 fprs=12,13,14,15 gpr_occ=5167 fpr_occ=31 gpr_total=7731 fpr_total=75 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; + std::uint32_t aot_gpr_2 = ctx.gpr[2]; + std::uint32_t aot_gpr_6 = ctx.gpr[6]; std::uint32_t aot_gpr_28 = ctx.gpr[28]; - std::uint32_t aot_gpr_16 = ctx.gpr[16]; - std::uint32_t aot_gpr_17 = ctx.gpr[17]; float aot_fpr_12 = ctx.fpr[12]; - float aot_fpr_22 = ctx.fpr[22]; - float aot_fpr_26 = ctx.fpr[26]; - float aot_fpr_28 = ctx.fpr[28]; + float aot_fpr_13 = ctx.fpr[13]; + float aot_fpr_14 = ctx.fpr[14]; + float aot_fpr_15 = ctx.fpr[15]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[31] = aot_gpr_31; ctx.gpr[5] = aot_gpr_5; ctx.gpr[28] = aot_gpr_28; ctx.gpr[16] = aot_gpr_16; ctx.gpr[17] = aot_gpr_17; ctx.fpr[12] = aot_fpr_12; ctx.fpr[22] = aot_fpr_22; ctx.fpr[26] = aot_fpr_26; ctx.fpr[28] = aot_fpr_28; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_28 = ctx.gpr[28]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_17 = ctx.gpr[17]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_22 = ctx.fpr[22]; aot_fpr_26 = ctx.fpr[26]; aot_fpr_28 = ctx.fpr[28]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[31] = aot_gpr_31; ctx.gpr[5] = aot_gpr_5; ctx.gpr[2] = aot_gpr_2; ctx.gpr[6] = aot_gpr_6; ctx.gpr[28] = aot_gpr_28; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[15] = aot_fpr_15; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_2 = ctx.gpr[2]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_28 = ctx.gpr[28]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_15 = ctx.fpr[15]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -1530,15 +1531,15 @@ L_08878010: } L_08878018: aot_gpr_4 = (2237u << 16u); - aot_gpr_17 = (aot_gpr_4 + static_cast(-28736)); + ctx.gpr[17] = (aot_gpr_4 + static_cast(-28736)); aot_gpr_31 = (0x08878028u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 143u, 0x08ADC764u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878028u) goto L_08878028; AOT_REGCACHE_SYNC_OUT(); return; L_08878028: - aot_gpr_5 = (ctx.gpr[2] + static_cast(1)); + aot_gpr_5 = (aot_gpr_2 + static_cast(1)); aot_gpr_31 = (0x08878034u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 142u, 0x08ADC75Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878034u) goto L_08878034; AOT_REGCACHE_SYNC_OUT(); return; L_08878034: @@ -1556,7 +1557,7 @@ L_0887803C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 145u, 0x08ADC774u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878048u) goto L_08878048; AOT_REGCACHE_SYNC_OUT(); return; L_08878048: - aot_gpr_4 = (static_cast(ctx.gpr[2]) < 60 ? 1u : 0u); + aot_gpr_4 = (static_cast(aot_gpr_2) < 60 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -1581,15 +1582,15 @@ L_08878064: } L_0887806C: aot_gpr_4 = (2237u << 16u); - aot_gpr_17 = (aot_gpr_4 + static_cast(-28736)); + ctx.gpr[17] = (aot_gpr_4 + static_cast(-28736)); aot_gpr_31 = (0x0887807Cu); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 145u, 0x08ADC774u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887807Cu) goto L_0887807C; AOT_REGCACHE_SYNC_OUT(); return; L_0887807C: - aot_gpr_5 = (ctx.gpr[2] + static_cast(1)); + aot_gpr_5 = (aot_gpr_2 + static_cast(1)); aot_gpr_31 = (0x08878088u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 144u, 0x08ADC76Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878088u) goto L_08878088; AOT_REGCACHE_SYNC_OUT(); return; L_08878088: @@ -1601,7 +1602,7 @@ L_08878088: goto L_08878090; } L_08878090: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); aot_gpr_5 = (0u | 2u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -1614,17 +1615,17 @@ L_088780A0: aot_gpr_4 = (2237u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); aot_gpr_31 = (0x088780B0u); - aot_gpr_17 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(52))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088780B0u) goto L_088780B0; + ctx.gpr[17] = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(52))); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC754, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088780B0u) goto L_088780B0; AOT_REGCACHE_SYNC_OUT(); return; L_088780B0: aot_gpr_5 = (2233u << 16u); - aot_gpr_4 = (ctx.gpr[2] << 2u); + aot_gpr_4 = (aot_gpr_2 << 2u); aot_gpr_5 = (aot_gpr_5 + static_cast(-18920)); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_4 = (aot_gpr_4 + static_cast(-1)); - aot_gpr_4 = (static_cast(aot_gpr_17) < static_cast(aot_gpr_4) ? 1u : 0u); + aot_gpr_4 = (static_cast(ctx.gpr[17]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -1658,7 +1659,7 @@ L_088780F8: goto L_08878100; } L_08878100: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); aot_gpr_5 = (0u | 2u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; aot_gpr_4 = (2237u << 16u); @@ -1697,9 +1698,9 @@ L_08878138: } L_08878150: aot_gpr_5 = (aot_gpr_5 + static_cast(-28736)); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(48))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(48))); aot_gpr_4 = (0u + static_cast(-65)); - aot_gpr_4 = (ctx.gpr[6] & aot_gpr_4); + aot_gpr_4 = (aot_gpr_6 & aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(48), aot_gpr_4); goto L_08878164; L_08878164: @@ -1708,9 +1709,9 @@ L_08878164: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887816Cu) goto L_0887816C; AOT_REGCACHE_SYNC_OUT(); return; L_0887816C: - aot_gpr_4 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(42)))))); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_4 = (aot_gpr_2 | 0u); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(42)))))); + { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_5 = (0u | 0u); if (branch_taken) { goto L_0887818C; @@ -1741,9 +1742,9 @@ L_08878190: goto L_08878198; } L_08878198: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); { const bool branch_taken = aot_gpr_4 != ctx.gpr[18]; - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); if (branch_taken) { goto L_088781AC; } @@ -1751,14 +1752,14 @@ L_08878198: } L_088781A4: { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (0u | 1u); + ctx.gpr[17] = (0u | 1u); if (branch_taken) { goto L_088781C8; } goto L_088781AC; } L_088781AC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); aot_gpr_5 = (ctx.gpr[18] + static_cast(-1)); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -1768,13 +1769,13 @@ L_088781AC: goto L_088781BC; } L_088781BC: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x088781C8u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0028_entry, 28u, 81u, 0x08874584u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088781C8u) goto L_088781C8; AOT_REGCACHE_SYNC_OUT(); return; L_088781C8: - { const bool branch_taken = aot_gpr_17 == 0u; + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_088783A4; @@ -1784,7 +1785,7 @@ L_088781C8: L_088781D0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5868))); if (aot_gpr_4 != 0u) { - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5868))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5868))); goto L_088781E8; } goto L_088781DC; @@ -1794,12 +1795,12 @@ L_088781DC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 452u, 0x08B65D8Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088781E4u) goto L_088781E4; AOT_REGCACHE_SYNC_OUT(); return; L_088781E4: - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5868))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5868))); goto L_088781E8; L_088781E8: aot_gpr_4 = (0u | 0u); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[6] + static_cast(18)))))); - { const bool branch_taken = ctx.gpr[6] != 0u; + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(18)))))); + { const bool branch_taken = aot_gpr_6 != 0u; aot_gpr_5 = (0u | 0u); if (branch_taken) { goto L_08878220; @@ -1807,19 +1808,19 @@ L_088781E8: goto L_088781F8; } L_088781F8: - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5868))); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[6] + static_cast(16)))))); - if (ctx.gpr[6] != 0u) { + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5868))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(16)))))); + if (aot_gpr_6 != 0u) { aot_gpr_5 = (0u | 1u); goto L_08878224; } goto L_08878208; L_08878208: - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5868))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5868))); ctx.gpr[7] = (2213u << 16u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(20))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(20))); ctx.gpr[7] = (ctx.gpr[7] + static_cast(21956)); - { const bool branch_taken = ctx.gpr[7] == ctx.gpr[6]; + { const bool branch_taken = ctx.gpr[7] == aot_gpr_6; aot_gpr_5 = (aot_gpr_5 & 255u); if (branch_taken) { goto L_08878228; @@ -1856,10 +1857,10 @@ L_08878240: goto L_08878250; L_08878250: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5868))); - ctx.gpr[6] = (2213u << 16u); + aot_gpr_6 = (2213u << 16u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(20))); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(21964)); - if (ctx.gpr[6] == aot_gpr_5) { + aot_gpr_6 = (aot_gpr_6 + static_cast(21964)); + if (aot_gpr_6 == aot_gpr_5) { aot_gpr_4 = (aot_gpr_4 & 255u); goto L_088782A8; } @@ -1884,10 +1885,10 @@ L_08878278: goto L_08878288; L_08878288: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5868))); - ctx.gpr[6] = (2213u << 16u); + aot_gpr_6 = (2213u << 16u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(20))); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(22528)); - { const bool branch_taken = ctx.gpr[6] == aot_gpr_5; + aot_gpr_6 = (aot_gpr_6 + static_cast(22528)); + { const bool branch_taken = aot_gpr_6 == aot_gpr_5; aot_gpr_4 = (aot_gpr_4 & 255u); if (branch_taken) { goto L_088782A8; @@ -1928,7 +1929,7 @@ L_088782C4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0148_entry, 148u, 256u, 0x08A54FECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088782CCu) goto L_088782CC; AOT_REGCACHE_SYNC_OUT(); return; L_088782CC: - aot_gpr_4 = (static_cast(ctx.gpr[2]) < 2 ? 1u : 0u); + aot_gpr_4 = (static_cast(aot_gpr_2) < 2 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_4 = (2237u << 16u); if (branch_taken) { @@ -1969,7 +1970,7 @@ L_08878308: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0148_entry, 148u, 267u, 0x08A550C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878310u) goto L_08878310; AOT_REGCACHE_SYNC_OUT(); return; L_08878310: - aot_gpr_4 = (static_cast(ctx.gpr[2]) < 2 ? 1u : 0u); + aot_gpr_4 = (static_cast(aot_gpr_2) < 2 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -1987,17 +1988,17 @@ L_0887831C: goto L_08878328; } L_08878328: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(204), 0u); - aot_gpr_4 = (aot_gpr_16 + static_cast(228)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(204), 0u); + aot_gpr_4 = (ctx.gpr[16] + static_cast(228)); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x0887833Cu); - ctx.gpr[6] = (0u | 16u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887833Cu) goto L_0887833C; + aot_gpr_6 = (0u | 16u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887833Cu) goto L_0887833C; AOT_REGCACHE_SYNC_OUT(); return; L_0887833C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5868))); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_17 = (aot_gpr_16 + static_cast(260)); + ctx.gpr[17] = (ctx.gpr[16] + static_cast(260)); if (branch_taken) { goto L_08878350; } @@ -2015,9 +2016,9 @@ L_08878350: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0148_entry, 148u, 80u, 0x08A545ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887835Cu) goto L_0887835C; AOT_REGCACHE_SYNC_OUT(); return; L_0887835C: - aot_gpr_4 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (0u | 17u); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_4 = (aot_gpr_2 | 0u); + aot_gpr_6 = (0u | 17u); + { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_5 = (0u | 0u); if (branch_taken) { goto L_08878390; @@ -2028,11 +2029,11 @@ L_0887836C: ctx.gpr[7] = (aot_gpr_4 + aot_gpr_5); ctx.gpr[8] = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(0))); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(4))); - ctx.gpr[9] = (aot_gpr_17 + aot_gpr_5); + ctx.gpr[9] = (ctx.gpr[17] + aot_gpr_5); aot_mem.aot_direct_store32(ctx.gpr[9] + static_cast(0), ctx.gpr[8]); aot_mem.aot_direct_store32(ctx.gpr[9] + static_cast(4), ctx.gpr[7]); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(-1)); - { const bool branch_taken = ctx.gpr[6] != 0u; + aot_gpr_6 = (aot_gpr_6 + static_cast(-1)); + { const bool branch_taken = aot_gpr_6 != 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(8)); if (branch_taken) { goto L_0887836C; @@ -2040,22 +2041,22 @@ L_0887836C: goto L_08878390; } L_08878390: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(256), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(256), 0u); aot_gpr_5 = (aot_gpr_28 + static_cast(-27304)); - ctx.gpr[6] = (aot_gpr_28 + static_cast(-27296)); + aot_gpr_6 = (aot_gpr_28 + static_cast(-27296)); aot_gpr_31 = (0x088783A4u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 896u, 0x08873D30u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088783A4u) goto L_088783A4; AOT_REGCACHE_SYNC_OUT(); return; L_088783A4: aot_gpr_4 = (2237u << 16u); aot_gpr_31 = (0x088783B0u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088783B0u) goto L_088783B0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC734, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088783B0u) goto L_088783B0; AOT_REGCACHE_SYNC_OUT(); return; L_088783B0: aot_gpr_4 = (0u | 1u); - { const bool branch_taken = ctx.gpr[2] != aot_gpr_4; + { const bool branch_taken = aot_gpr_2 != aot_gpr_4; aot_gpr_4 = (2237u << 16u); if (branch_taken) { goto L_08878430; @@ -2063,15 +2064,15 @@ L_088783B0: goto L_088783BC; } L_088783BC: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_31 = (0x088783C8u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088783C8u) goto L_088783C8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC734, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088783C8u) goto L_088783C8; AOT_REGCACHE_SYNC_OUT(); return; L_088783C8: aot_gpr_4 = (0u | 1u); - { const bool branch_taken = ctx.gpr[2] != aot_gpr_4; - aot_gpr_4 = (aot_gpr_17 & 255u); + { const bool branch_taken = aot_gpr_2 != aot_gpr_4; + aot_gpr_4 = (ctx.gpr[17] & 255u); if (branch_taken) { goto L_088783F4; } @@ -2081,20 +2082,20 @@ L_088783D4: aot_gpr_4 = (2237u << 16u); aot_gpr_31 = (0x088783E0u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088783E0u) goto L_088783E0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC784, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088783E0u) goto L_088783E0; AOT_REGCACHE_SYNC_OUT(); return; L_088783E0: aot_gpr_4 = (0u | 1u); - { const bool branch_taken = ctx.gpr[2] != aot_gpr_4; - aot_gpr_4 = (aot_gpr_17 & 255u); + { const bool branch_taken = aot_gpr_2 != aot_gpr_4; + aot_gpr_4 = (ctx.gpr[17] & 255u); if (branch_taken) { goto L_088783F4; } goto L_088783EC; } L_088783EC: - aot_gpr_17 = (0u | 1u); - aot_gpr_4 = (aot_gpr_17 & 255u); + ctx.gpr[17] = (0u | 1u); + aot_gpr_4 = (ctx.gpr[17] & 255u); goto L_088783F4; L_088783F4: { const bool branch_taken = aot_gpr_4 == 0u; @@ -2111,7 +2112,7 @@ L_088783FC: AOT_REGCACHE_SYNC_OUT(); return; L_08878404: aot_gpr_4 = (0u | 1u); - { const bool branch_taken = ctx.gpr[2] == aot_gpr_4; + { const bool branch_taken = aot_gpr_2 == aot_gpr_4; // nop if (branch_taken) { goto L_08878430; @@ -2120,20 +2121,20 @@ L_08878404: } L_08878410: aot_gpr_4 = (2237u << 16u); - aot_gpr_17 = (aot_gpr_4 + static_cast(-28736)); + ctx.gpr[17] = (aot_gpr_4 + static_cast(-28736)); aot_gpr_31 = (0x08878420u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 143u, 0x08ADC764u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878420u) goto L_08878420; AOT_REGCACHE_SYNC_OUT(); return; L_08878420: - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(425), static_cast(ctx.gpr[2])); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(425), static_cast(aot_gpr_2)); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08878430u); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 142u, 0x08ADC75Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878430u) goto L_08878430; AOT_REGCACHE_SYNC_OUT(); return; L_08878430: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x0887843Cu); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0028_entry, 28u, 132u, 0x08874808u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887843Cu) goto L_0887843C; @@ -2160,7 +2161,7 @@ L_08878450: L_08878458: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5868))); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_17 = (ctx.gpr[29] + static_cast(4)); + ctx.gpr[17] = (ctx.gpr[29] + static_cast(4)); if (branch_taken) { goto L_0887846C; } @@ -2178,14 +2179,14 @@ L_0887846C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0148_entry, 148u, 80u, 0x08A545ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878478u) goto L_08878478; AOT_REGCACHE_SYNC_OUT(); return; L_08878478: - aot_gpr_4 = (aot_gpr_17 | 0u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08878488u); - ctx.gpr[6] = (0u | 136u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878488u) goto L_08878488; + aot_gpr_6 = (0u | 136u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58100, 213u, 23u, 0x08B58100u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878488u) goto L_08878488; AOT_REGCACHE_SYNC_OUT(); return; L_08878488: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088784A0; @@ -2193,17 +2194,17 @@ L_08878488: goto L_08878490; } L_08878490: - aot_gpr_4 = (aot_gpr_16 + static_cast(228)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(228)); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x088784A0u); - ctx.gpr[6] = (0u | 16u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088784A0u) goto L_088784A0; + aot_gpr_6 = (0u | 16u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088784A0u) goto L_088784A0; AOT_REGCACHE_SYNC_OUT(); return; L_088784A0: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(156), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; @@ -2216,24 +2217,24 @@ L_088784A0: AOT_REGCACHE_SYNC_OUT(); return; L_088784BC: ctx.gpr[29] = (ctx.gpr[29] + static_cast(-1152)); - aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(1100), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); - { const std::uint32_t aot_run_words[9]{aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(1100), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); + { const std::uint32_t aot_run_words[9]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(1104), aot_run_words); } aot_gpr_31 = (0x088784F4u); - aot_gpr_4 = (aot_gpr_16 + static_cast(164)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(164)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 2u, 0x08870018u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088784F4u) goto L_088784F4; AOT_REGCACHE_SYNC_OUT(); return; L_088784F4: ctx.gpr[20] = (0u | 1u); aot_gpr_31 = (0x08878500u); aot_gpr_4 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878500u) goto L_08878500; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C498, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878500u) goto L_08878500; AOT_REGCACHE_SYNC_OUT(); return; L_08878500: aot_gpr_31 = (0x08878508u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878508u) goto L_08878508; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C05C, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[16], aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878508u) goto L_08878508; AOT_REGCACHE_SYNC_OUT(); return; L_08878508: aot_gpr_4 = (0u | 30u); @@ -2244,14 +2245,14 @@ L_08878508: aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(3), static_cast(aot_gpr_5)); aot_gpr_31 = (0x08878528u); aot_gpr_4 = (ctx.gpr[29] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878528u) goto L_08878528; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C4A8, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878528u) goto L_08878528; AOT_REGCACHE_SYNC_OUT(); return; L_08878528: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5868))); ctx.gpr[19] = (2237u << 16u); ctx.gpr[19] = (ctx.gpr[19] + static_cast(-28736)); { const bool branch_taken = aot_gpr_4 != 0u; - aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(1096), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(1096), ctx.gpr[16]); if (branch_taken) { goto L_08878544; } @@ -2292,14 +2293,14 @@ L_08878578: } goto L_08878584; L_08878584: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_31 = (0x08878590u); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878590u) goto L_08878590; AOT_REGCACHE_SYNC_OUT(); return; L_08878590: - aot_gpr_16 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_088785A8; @@ -2308,14 +2309,14 @@ L_08878590: } L_0887859C: aot_gpr_31 = (0x088785A4u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088785A4u) goto L_088785A4; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088785A4u) goto L_088785A4; AOT_REGCACHE_SYNC_OUT(); return; L_088785A4: - aot_gpr_17 = (aot_gpr_16 | 0u); + ctx.gpr[17] = (ctx.gpr[16] | 0u); goto L_088785A8; L_088785A8: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); goto L_088785B0; L_088785B0: @@ -2326,11 +2327,11 @@ L_088785B0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088785C0u) goto L_088785C0; AOT_REGCACHE_SYNC_OUT(); return; L_088785C0: - ctx.gpr[6] = (0u | 74u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (0u | 74u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x088785D0u); aot_gpr_5 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088785D0u) goto L_088785D0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088785D0u) goto L_088785D0; AOT_REGCACHE_SYNC_OUT(); return; L_088785D0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(48))); @@ -2361,10 +2362,10 @@ L_088785EC: L_08878600: aot_gpr_5 = (aot_gpr_28 + static_cast(-26940)); aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(1076), aot_gpr_4); - ctx.gpr[6] = (aot_gpr_28 + static_cast(-26936)); + aot_gpr_6 = (aot_gpr_28 + static_cast(-26936)); aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(1072), aot_gpr_5); aot_gpr_4 = (aot_gpr_28 + static_cast(5824)); - aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(1068), ctx.gpr[6]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(1068), aot_gpr_6); aot_gpr_5 = (2236u << 16u); aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(1064), aot_gpr_4); aot_gpr_5 = (aot_gpr_5 + static_cast(25856)); @@ -2376,10 +2377,10 @@ L_08878600: ctx.gpr[21] = (ctx.gpr[29] + static_cast(636)); ctx.gpr[23] = (ctx.gpr[29] + static_cast(608)); ctx.gpr[19] = (0u | 13u); - aot_gpr_17 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(1080))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(1080))); goto L_08878648; L_08878648: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(48))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(48))); aot_gpr_4 = (ctx.gpr[30] & 65535u); aot_gpr_5 = (aot_gpr_5 & 2u); aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(1056), aot_gpr_4); @@ -2396,13 +2397,13 @@ L_08878648: L_0887866C: aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_31 = (0x08878678u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 154u, 0x08ADC7BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878678u) goto L_08878678; AOT_REGCACHE_SYNC_OUT(); return; L_08878678: aot_gpr_31 = (0x08878680u); - aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878680u) goto L_08878680; + aot_gpr_4 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C4A8, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878680u) goto L_08878680; AOT_REGCACHE_SYNC_OUT(); return; L_08878680: { const bool branch_taken = ctx.gpr[30] != 0u; @@ -2415,19 +2416,19 @@ L_08878680: L_08878688: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); if (aot_gpr_4 != 0u) { - aot_gpr_17 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(1080))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(1080))); goto L_088786C0; } goto L_08878694; L_08878694: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_31 = (0x088786A0u); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088786A0u) goto L_088786A0; AOT_REGCACHE_SYNC_OUT(); return; L_088786A0: - aot_gpr_16 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_088786B8; @@ -2436,36 +2437,36 @@ L_088786A0: } L_088786AC: aot_gpr_31 = (0x088786B4u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088786B4u) goto L_088786B4; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088786B4u) goto L_088786B4; AOT_REGCACHE_SYNC_OUT(); return; L_088786B4: - aot_gpr_17 = (aot_gpr_16 | 0u); + ctx.gpr[17] = (ctx.gpr[16] | 0u); goto L_088786B8; L_088786B8: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_17); - aot_gpr_17 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(1080))); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(1080))); goto L_088786C0; L_088786C0: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); aot_gpr_31 = (0x088786CCu); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 151u, 0x08ADC7A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088786CCu) goto L_088786CC; AOT_REGCACHE_SYNC_OUT(); return; L_088786CC: - aot_gpr_4 = (ctx.gpr[2] << 3u); + aot_gpr_4 = (aot_gpr_2 << 3u); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[18]); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_31 = (0x088786E0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088786E0u) goto L_088786E0; AOT_REGCACHE_SYNC_OUT(); return; L_088786E0: - ctx.gpr[6] = (ctx.gpr[19] + static_cast(77)); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (ctx.gpr[19] + static_cast(77)); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x088786F0u); aot_gpr_5 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088786F0u) goto L_088786F0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088786F0u) goto L_088786F0; AOT_REGCACHE_SYNC_OUT(); return; L_088786F0: { const bool branch_taken = 0u == 0u; @@ -2478,19 +2479,19 @@ L_088786F0: L_088786F8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); if (aot_gpr_4 != 0u) { - aot_gpr_17 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(1080))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(1080))); goto L_08878730; } goto L_08878704; L_08878704: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_31 = (0x08878710u); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878710u) goto L_08878710; AOT_REGCACHE_SYNC_OUT(); return; L_08878710: - aot_gpr_16 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08878728; @@ -2499,36 +2500,36 @@ L_08878710: } L_0887871C: aot_gpr_31 = (0x08878724u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878724u) goto L_08878724; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878724u) goto L_08878724; AOT_REGCACHE_SYNC_OUT(); return; L_08878724: - aot_gpr_17 = (aot_gpr_16 | 0u); + ctx.gpr[17] = (ctx.gpr[16] | 0u); goto L_08878728; L_08878728: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_17); - aot_gpr_17 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(1080))); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(1080))); goto L_08878730; L_08878730: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); aot_gpr_31 = (0x0887873Cu); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 153u, 0x08ADC7B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887873Cu) goto L_0887873C; AOT_REGCACHE_SYNC_OUT(); return; L_0887873C: - aot_gpr_4 = (ctx.gpr[2] << 3u); + aot_gpr_4 = (aot_gpr_2 << 3u); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[18]); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_31 = (0x08878750u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878750u) goto L_08878750; AOT_REGCACHE_SYNC_OUT(); return; L_08878750: - ctx.gpr[6] = (ctx.gpr[19] + static_cast(77)); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (ctx.gpr[19] + static_cast(77)); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08878760u); aot_gpr_5 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878760u) goto L_08878760; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878760u) goto L_08878760; AOT_REGCACHE_SYNC_OUT(); return; L_08878760: ctx.gpr[19] = (ctx.gpr[19] + static_cast(13)); @@ -2563,13 +2564,13 @@ L_0887878C: aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(577), static_cast(aot_gpr_4)); aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(578), static_cast(aot_gpr_4)); aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(579), static_cast(aot_gpr_4)); - aot_gpr_16 = (ctx.gpr[2] + static_cast(10)); + ctx.gpr[16] = (aot_gpr_2 + static_cast(10)); aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(580), static_cast(aot_gpr_4)); - aot_gpr_16 = (aot_gpr_16 + ctx.gpr[18]); + ctx.gpr[16] = (ctx.gpr[16] + ctx.gpr[18]); aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(581), static_cast(aot_gpr_4)); - aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(4))); - ctx.gpr[6] = (aot_mem.aot_direct_load16(ctx.gpr[22] + static_cast(4))); - { const bool branch_taken = aot_gpr_5 != ctx.gpr[6]; + aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(4))); + aot_gpr_6 = (aot_mem.aot_direct_load16(ctx.gpr[22] + static_cast(4))); + { const bool branch_taken = aot_gpr_5 != aot_gpr_6; aot_gpr_4 = (0u | 0u); if (branch_taken) { goto L_088787E4; @@ -2577,17 +2578,17 @@ L_0887878C: goto L_088787C0; } L_088787C0: - aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(2))); - ctx.gpr[6] = (aot_mem.aot_direct_load16(ctx.gpr[22] + static_cast(2))); - if (aot_gpr_5 != ctx.gpr[6]) { + aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(2))); + aot_gpr_6 = (aot_mem.aot_direct_load16(ctx.gpr[22] + static_cast(2))); + if (aot_gpr_5 != aot_gpr_6) { aot_gpr_4 = (aot_gpr_4 & 255u); goto L_088787E8; } goto L_088787D0; L_088787D0: - aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(0))); - ctx.gpr[6] = (aot_mem.aot_direct_load16(ctx.gpr[22] + static_cast(0))); - { const bool branch_taken = aot_gpr_5 != ctx.gpr[6]; + aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(0))); + aot_gpr_6 = (aot_mem.aot_direct_load16(ctx.gpr[22] + static_cast(0))); + { const bool branch_taken = aot_gpr_5 != aot_gpr_6; aot_gpr_4 = (aot_gpr_4 & 255u); if (branch_taken) { goto L_088787E8; @@ -2631,7 +2632,7 @@ L_08878810: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0148_entry, 148u, 80u, 0x08A545ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878818u) goto L_08878818; AOT_REGCACHE_SYNC_OUT(); return; L_08878818: - aot_gpr_4 = (ctx.gpr[2] + static_cast(10)); + aot_gpr_4 = (aot_gpr_2 + static_cast(10)); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[18]); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(8))); { const bool branch_taken = aot_gpr_4 == ctx.gpr[30]; @@ -2642,7 +2643,7 @@ L_08878818: goto L_0887882C; } L_0887882C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(48))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(48))); aot_gpr_4 = (aot_gpr_4 & 2u); aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); @@ -2673,10 +2674,10 @@ L_08878858: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0148_entry, 148u, 247u, 0x08A54F5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878860u) goto L_08878860; AOT_REGCACHE_SYNC_OUT(); return; L_08878860: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(4))); - ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(4))); - { const bool branch_taken = ctx.gpr[6] != aot_gpr_5; + aot_gpr_6 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(4))); + { const bool branch_taken = aot_gpr_6 != aot_gpr_5; ctx.gpr[7] = (0u | 0u); if (branch_taken) { goto L_08878898; @@ -2684,15 +2685,15 @@ L_08878860: goto L_08878874; } L_08878874: - aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(2))); - ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(2))); - if (aot_gpr_5 != ctx.gpr[6]) { + aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(2))); + aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(2))); + if (aot_gpr_5 != aot_gpr_6) { aot_gpr_4 = (ctx.gpr[7] & 255u); goto L_0887889C; } goto L_08878884; L_08878884: - aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(0))); + aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(0))); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0))); { const bool branch_taken = aot_gpr_5 != aot_gpr_4; aot_gpr_4 = (ctx.gpr[7] & 255u); @@ -2718,20 +2719,20 @@ L_0887889C: L_088788A4: aot_gpr_4 = (ctx.gpr[29] + static_cast(600)); aot_gpr_5 = (0u | 255u); - ctx.gpr[6] = (0u | 255u); + aot_gpr_6 = (0u | 255u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x088788BCu); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088788BCu) goto L_088788BC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088788BCu) goto L_088788BC; AOT_REGCACHE_SYNC_OUT(); return; L_088788BC: - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(0))); aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(584), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(1))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(1))); aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(585), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(2))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(2))); aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(586), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(3))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(3))); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(587), static_cast(aot_gpr_4)); if (branch_taken) { @@ -2740,7 +2741,7 @@ L_088788BC: goto L_088788E0; } L_088788E0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(48))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(48))); aot_gpr_4 = (aot_gpr_4 & 2u); aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); @@ -2754,17 +2755,17 @@ L_088788E0: L_088788F8: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(1056))); aot_gpr_31 = (0x08878904u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 154u, 0x08ADC7BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878904u) goto L_08878904; AOT_REGCACHE_SYNC_OUT(); return; L_08878904: - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(0))); aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(584), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(1))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(1))); aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(585), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(2))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(2))); aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(586), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(3))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(3))); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(587), static_cast(aot_gpr_4)); if (branch_taken) { @@ -2775,38 +2776,38 @@ L_08878904: L_08878928: aot_gpr_4 = (ctx.gpr[29] + static_cast(604)); aot_gpr_5 = (0u | 30u); - ctx.gpr[6] = (0u | 255u); + aot_gpr_6 = (0u | 255u); ctx.gpr[7] = (0u | 255u); aot_gpr_31 = (0x08878940u); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878940u) goto L_08878940; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878940u) goto L_08878940; AOT_REGCACHE_SYNC_OUT(); return; L_08878940: - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(0))); aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(584), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(1))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(1))); aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(585), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(2))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(2))); aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(586), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(3))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(3))); aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(587), static_cast(aot_gpr_4)); goto L_08878960; L_08878960: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(584))); aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(585))); - ctx.gpr[6] = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(586))); + aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(586))); ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(587))); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_5 = (aot_gpr_5 & 255u); aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(588), static_cast(aot_gpr_4)); - ctx.gpr[6] = (ctx.gpr[6] & 255u); + aot_gpr_6 = (aot_gpr_6 & 255u); aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(589), static_cast(aot_gpr_5)); ctx.gpr[7] = (ctx.gpr[7] & 255u); - aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(590), static_cast(ctx.gpr[6])); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(590), static_cast(aot_gpr_6)); aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(591), static_cast(ctx.gpr[7])); aot_gpr_31 = (0x08878998u); aot_gpr_4 = (ctx.gpr[29] + static_cast(588)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878998u) goto L_08878998; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C4A8, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878998u) goto L_08878998; AOT_REGCACHE_SYNC_OUT(); return; L_08878998: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5868))); @@ -2826,7 +2827,7 @@ L_088789AC: L_088789B0: aot_gpr_5 = (ctx.gpr[29] + static_cast(592)); aot_gpr_31 = (0x088789BCu); - ctx.gpr[6] = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0148_entry, 148u, 180u, 0x08A54B14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088789BCu) goto L_088789BC; AOT_REGCACHE_SYNC_OUT(); return; L_088789BC: @@ -2861,10 +2862,10 @@ L_088789E8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0148_entry, 148u, 80u, 0x08A545ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088789F0u) goto L_088789F0; AOT_REGCACHE_SYNC_OUT(); return; L_088789F0: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(4))); - ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(4))); - { const bool branch_taken = aot_gpr_5 != ctx.gpr[6]; + aot_gpr_6 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(4))); + { const bool branch_taken = aot_gpr_5 != aot_gpr_6; ctx.gpr[7] = (0u | 0u); if (branch_taken) { goto L_08878A28; @@ -2873,15 +2874,15 @@ L_088789F0: } L_08878A04: aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(2))); - ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(2))); - if (aot_gpr_5 != ctx.gpr[6]) { + aot_gpr_6 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(2))); + if (aot_gpr_5 != aot_gpr_6) { aot_gpr_4 = (ctx.gpr[7] & 255u); goto L_08878A2C; } goto L_08878A14; L_08878A14: aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0))); - aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(0))); + aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(0))); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; aot_gpr_4 = (ctx.gpr[7] & 255u); if (branch_taken) { @@ -2904,7 +2905,7 @@ L_08878A2C: goto L_08878A34; } L_08878A34: - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(596))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(596))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(1076))); aot_gpr_31 = (0x08878A44u); aot_gpr_4 = (ctx.gpr[21] | 0u); @@ -2919,7 +2920,7 @@ L_08878A44: goto L_08878A4C; } L_08878A4C: - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(596))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(596))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(1072))); aot_gpr_31 = (0x08878A5Cu); aot_gpr_4 = (ctx.gpr[21] | 0u); @@ -2933,10 +2934,10 @@ L_08878A5C: AOT_REGCACHE_SYNC_OUT(); return; L_08878A68: aot_gpr_5 = (0u | 375u); - ctx.gpr[6] = (ctx.gpr[19] + static_cast(77)); + aot_gpr_6 = (ctx.gpr[19] + static_cast(77)); aot_gpr_31 = (0x08878A78u); aot_gpr_4 = (ctx.gpr[23] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878A78u) goto L_08878A78; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878A78u) goto L_08878A78; AOT_REGCACHE_SYNC_OUT(); return; L_08878A78: { const bool branch_taken = 0u == 0u; @@ -2954,14 +2955,14 @@ L_08878A80: } goto L_08878A8C; L_08878A8C: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_31 = (0x08878A98u); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878A98u) goto L_08878A98; AOT_REGCACHE_SYNC_OUT(); return; L_08878A98: - aot_gpr_16 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08878AB0; @@ -2970,14 +2971,14 @@ L_08878A98: } L_08878AA4: aot_gpr_31 = (0x08878AACu); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878AACu) goto L_08878AAC; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878AACu) goto L_08878AAC; AOT_REGCACHE_SYNC_OUT(); return; L_08878AAC: - aot_gpr_17 = (aot_gpr_16 | 0u); + ctx.gpr[17] = (ctx.gpr[16] | 0u); goto L_08878AB0; L_08878AB0: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); goto L_08878AB8; L_08878AB8: @@ -2987,13 +2988,13 @@ L_08878AB8: AOT_REGCACHE_SYNC_OUT(); return; L_08878AC0: aot_gpr_5 = (0u | 375u); - ctx.gpr[6] = (ctx.gpr[19] + static_cast(77)); + aot_gpr_6 = (ctx.gpr[19] + static_cast(77)); aot_gpr_31 = (0x08878AD0u); - aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878AD0u) goto L_08878AD0; + aot_gpr_4 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878AD0u) goto L_08878AD0; AOT_REGCACHE_SYNC_OUT(); return; L_08878AD0: - aot_gpr_17 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(1080))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(1080))); goto L_08878AD4; L_08878AD4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(596))); @@ -3009,7 +3010,7 @@ L_08878AE4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(1060))); aot_gpr_31 = (0x08878AF0u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(596))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878AF0u) goto L_08878AF0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878AF0u) goto L_08878AF0; AOT_REGCACHE_SYNC_OUT(); return; L_08878AF0: ctx.gpr[20] = (ctx.gpr[20] + static_cast(1)); @@ -3050,14 +3051,14 @@ L_08878B30: } goto L_08878B3C; L_08878B3C: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_31 = (0x08878B48u); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878B48u) goto L_08878B48; AOT_REGCACHE_SYNC_OUT(); return; L_08878B48: - aot_gpr_16 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08878B60; @@ -3066,14 +3067,14 @@ L_08878B48: } L_08878B54: aot_gpr_31 = (0x08878B5Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878B5Cu) goto L_08878B5C; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878B5Cu) goto L_08878B5C; AOT_REGCACHE_SYNC_OUT(); return; L_08878B5C: - aot_gpr_17 = (aot_gpr_16 | 0u); + ctx.gpr[17] = (ctx.gpr[16] | 0u); goto L_08878B60; L_08878B60: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); goto L_08878B68; L_08878B68: @@ -3082,31 +3083,31 @@ L_08878B68: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878B70u) goto L_08878B70; AOT_REGCACHE_SYNC_OUT(); return; L_08878B70: - ctx.gpr[6] = (0u | 74u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (0u | 74u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08878B80u); aot_gpr_5 = (ctx.gpr[30] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878B80u) goto L_08878B80; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878B80u) goto L_08878B80; AOT_REGCACHE_SYNC_OUT(); return; L_08878B80: ctx.gpr[21] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(1080))); - aot_gpr_16 = (aot_gpr_28 + static_cast(-26920)); + ctx.gpr[16] = (aot_gpr_28 + static_cast(-26920)); aot_gpr_31 = (0x08878B90u); aot_gpr_4 = (ctx.gpr[21] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878B90u) goto L_08878B90; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC734, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878B90u) goto L_08878B90; AOT_REGCACHE_SYNC_OUT(); return; L_08878B90: ctx.gpr[18] = (ctx.gpr[29] + static_cast(532)); - ctx.gpr[6] = (ctx.gpr[2] + static_cast(1)); + aot_gpr_6 = (aot_gpr_2 + static_cast(1)); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08878BA4u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0212_entry, 212u, 576u, 0x08B562D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878BA4u) goto L_08878BA4; AOT_REGCACHE_SYNC_OUT(); return; L_08878BA4: aot_gpr_31 = (0x08878BACu); aot_gpr_4 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878BACu) goto L_08878BAC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C604, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878BACu) goto L_08878BAC; AOT_REGCACHE_SYNC_OUT(); return; L_08878BAC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); @@ -3116,14 +3117,14 @@ L_08878BAC: } goto L_08878BB8; L_08878BB8: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_31 = (0x08878BC4u); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878BC4u) goto L_08878BC4; AOT_REGCACHE_SYNC_OUT(); return; L_08878BC4: - aot_gpr_16 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08878BDC; @@ -3132,14 +3133,14 @@ L_08878BC4: } L_08878BD0: aot_gpr_31 = (0x08878BD8u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878BD8u) goto L_08878BD8; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878BD8u) goto L_08878BD8; AOT_REGCACHE_SYNC_OUT(); return; L_08878BD8: - aot_gpr_17 = (aot_gpr_16 | 0u); + ctx.gpr[17] = (ctx.gpr[16] | 0u); goto L_08878BDC; L_08878BDC: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); goto L_08878BE4; L_08878BE4: @@ -3148,23 +3149,23 @@ L_08878BE4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878BECu) goto L_08878BEC; AOT_REGCACHE_SYNC_OUT(); return; L_08878BEC: - ctx.gpr[6] = (0u | 74u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (0u | 74u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08878BFCu); aot_gpr_5 = (ctx.gpr[23] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878BFCu) goto L_08878BFC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878BFCu) goto L_08878BFC; AOT_REGCACHE_SYNC_OUT(); return; L_08878BFC: - aot_gpr_16 = (aot_gpr_28 + static_cast(-26912)); + ctx.gpr[16] = (aot_gpr_28 + static_cast(-26912)); aot_gpr_31 = (0x08878C08u); aot_gpr_4 = (ctx.gpr[21] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878C08u) goto L_08878C08; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC734, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878C08u) goto L_08878C08; AOT_REGCACHE_SYNC_OUT(); return; L_08878C08: - ctx.gpr[6] = (ctx.gpr[2] + static_cast(1)); + aot_gpr_6 = (aot_gpr_2 + static_cast(1)); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08878C18u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0212_entry, 212u, 576u, 0x08B562D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878C18u) goto L_08878C18; AOT_REGCACHE_SYNC_OUT(); return; L_08878C18: @@ -3175,7 +3176,7 @@ L_08878C18: L_08878C20: aot_gpr_31 = (0x08878C28u); aot_gpr_4 = (0u | 18u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878C28u) goto L_08878C28; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C604, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878C28u) goto L_08878C28; AOT_REGCACHE_SYNC_OUT(); return; L_08878C28: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); @@ -3185,14 +3186,14 @@ L_08878C28: } goto L_08878C34; L_08878C34: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_31 = (0x08878C40u); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878C40u) goto L_08878C40; AOT_REGCACHE_SYNC_OUT(); return; L_08878C40: - aot_gpr_16 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08878C58; @@ -3201,14 +3202,14 @@ L_08878C40: } L_08878C4C: aot_gpr_31 = (0x08878C54u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878C54u) goto L_08878C54; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878C54u) goto L_08878C54; AOT_REGCACHE_SYNC_OUT(); return; L_08878C54: - aot_gpr_17 = (aot_gpr_16 | 0u); + ctx.gpr[17] = (ctx.gpr[16] | 0u); goto L_08878C58; L_08878C58: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); goto L_08878C60; L_08878C60: @@ -3227,22 +3228,22 @@ L_08878C68: aot_fpr_12 = std::bit_cast(0u); aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(3), static_cast(aot_gpr_5)); aot_gpr_5 = (16800u << 16u); - ctx.fpr[13] = std::bit_cast(aot_gpr_5); - aot_gpr_16 = (ctx.gpr[2] | 0u); + aot_fpr_13 = std::bit_cast(aot_gpr_5); + ctx.gpr[16] = (aot_gpr_2 | 0u); aot_gpr_5 = (17392u << 16u); - ctx.fpr[14] = std::bit_cast(aot_gpr_5); + aot_fpr_14 = std::bit_cast(aot_gpr_5); aot_gpr_4 = (ctx.gpr[29] + static_cast(4)); aot_gpr_5 = (17076u << 16u); aot_gpr_31 = (0x08878CB0u); - ctx.fpr[15] = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878CB0u) goto L_08878CB0; + aot_fpr_15 = std::bit_cast(aot_gpr_5); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08873400, 27u, 732u, 0x08873400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878CB0u) goto L_08878CB0; AOT_REGCACHE_SYNC_OUT(); return; L_08878CB0: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); ctx.gpr[7] = (ctx.gpr[29] | 0u); - ctx.gpr[8] = (ctx.gpr[2] | 0u); + ctx.gpr[8] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08878CCCu); ctx.gpr[9] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 24u, 0x08B0C1B0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878CCCu) goto L_08878CCC; @@ -3263,14 +3264,14 @@ L_08878CE0: } goto L_08878CEC; L_08878CEC: - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); aot_gpr_31 = (0x08878CF8u); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878CF8u) goto L_08878CF8; AOT_REGCACHE_SYNC_OUT(); return; L_08878CF8: - aot_gpr_17 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_08878D10; @@ -3279,14 +3280,14 @@ L_08878CF8: } L_08878D04: aot_gpr_31 = (0x08878D0Cu); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878D0Cu) goto L_08878D0C; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878D0Cu) goto L_08878D0C; AOT_REGCACHE_SYNC_OUT(); return; L_08878D0C: - aot_gpr_16 = (aot_gpr_17 | 0u); + ctx.gpr[16] = (ctx.gpr[17] | 0u); goto L_08878D10; L_08878D10: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[16]); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); goto L_08878D18; L_08878D18: @@ -3295,29 +3296,29 @@ L_08878D18: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878D20u) goto L_08878D20; AOT_REGCACHE_SYNC_OUT(); return; L_08878D20: - ctx.gpr[6] = (0u | 87u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (0u | 87u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08878D30u); aot_gpr_5 = (ctx.gpr[30] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878D30u) goto L_08878D30; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878D30u) goto L_08878D30; AOT_REGCACHE_SYNC_OUT(); return; L_08878D30: aot_gpr_31 = (0x08878D38u); aot_gpr_4 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878D38u) goto L_08878D38; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C604, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878D38u) goto L_08878D38; AOT_REGCACHE_SYNC_OUT(); return; L_08878D38: - aot_gpr_16 = (aot_gpr_28 + static_cast(-26896)); + ctx.gpr[16] = (aot_gpr_28 + static_cast(-26896)); aot_gpr_31 = (0x08878D44u); aot_gpr_4 = (ctx.gpr[21] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878D44u) goto L_08878D44; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC754, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878D44u) goto L_08878D44; AOT_REGCACHE_SYNC_OUT(); return; L_08878D44: ctx.gpr[18] = (ctx.gpr[29] + static_cast(560)); aot_gpr_4 = (ctx.gpr[18] | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08878D58u); - ctx.gpr[6] = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0212_entry, 212u, 576u, 0x08B562D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878D58u) goto L_08878D58; AOT_REGCACHE_SYNC_OUT(); return; L_08878D58: @@ -3328,14 +3329,14 @@ L_08878D58: } goto L_08878D64; L_08878D64: - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); aot_gpr_31 = (0x08878D70u); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878D70u) goto L_08878D70; AOT_REGCACHE_SYNC_OUT(); return; L_08878D70: - aot_gpr_17 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_08878D88; @@ -3344,14 +3345,14 @@ L_08878D70: } L_08878D7C: aot_gpr_31 = (0x08878D84u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878D84u) goto L_08878D84; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878D84u) goto L_08878D84; AOT_REGCACHE_SYNC_OUT(); return; L_08878D84: - aot_gpr_16 = (aot_gpr_17 | 0u); + ctx.gpr[16] = (ctx.gpr[17] | 0u); goto L_08878D88; L_08878D88: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[16]); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); goto L_08878D90; L_08878D90: @@ -3360,27 +3361,27 @@ L_08878D90: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878D98u) goto L_08878D98; AOT_REGCACHE_SYNC_OUT(); return; L_08878D98: - aot_gpr_16 = (ctx.gpr[29] + static_cast(20)); - aot_gpr_4 = (aot_gpr_16 | 0u); + ctx.gpr[16] = (ctx.gpr[29] + static_cast(20)); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08878DA8u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0032_entry, 32u, 854u, 0x08887BB0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878DA8u) goto L_08878DA8; AOT_REGCACHE_SYNC_OUT(); return; L_08878DA8: - ctx.gpr[6] = (0u | 87u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_6 = (0u | 87u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08878DB8u); aot_gpr_5 = (ctx.gpr[23] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878DB8u) goto L_08878DB8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878DB8u) goto L_08878DB8; AOT_REGCACHE_SYNC_OUT(); return; L_08878DB8: ctx.gpr[20] = (0u | 2u); aot_gpr_31 = (0x08878DC4u); aot_gpr_4 = (ctx.gpr[21] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878DC4u) goto L_08878DC4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC734, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878DC4u) goto L_08878DC4; AOT_REGCACHE_SYNC_OUT(); return; L_08878DC4: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; ctx.gpr[22] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(1096))); if (branch_taken) { goto L_088793C4; @@ -3408,14 +3409,14 @@ L_08878DE4: goto L_08878DF8; } L_08878DF8: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_31 = (0x08878E04u); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878E04u) goto L_08878E04; AOT_REGCACHE_SYNC_OUT(); return; L_08878E04: - aot_gpr_16 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08878E1C; @@ -3424,14 +3425,14 @@ L_08878E04: } L_08878E10: aot_gpr_31 = (0x08878E18u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878E18u) goto L_08878E18; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878E18u) goto L_08878E18; AOT_REGCACHE_SYNC_OUT(); return; L_08878E18: - aot_gpr_17 = (aot_gpr_16 | 0u); + ctx.gpr[17] = (ctx.gpr[16] | 0u); goto L_08878E1C; L_08878E1C: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); goto L_08878E20; L_08878E20: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); @@ -3440,16 +3441,16 @@ L_08878E20: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878E2Cu) goto L_08878E2C; AOT_REGCACHE_SYNC_OUT(); return; L_08878E2C: - ctx.gpr[6] = (0u | 100u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (0u | 100u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08878E3Cu); aot_gpr_5 = (ctx.gpr[30] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878E3Cu) goto L_08878E3C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878E3Cu) goto L_08878E3C; AOT_REGCACHE_SYNC_OUT(); return; L_08878E3C: aot_gpr_31 = (0x08878E44u); aot_gpr_4 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878E44u) goto L_08878E44; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C604, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878E44u) goto L_08878E44; AOT_REGCACHE_SYNC_OUT(); return; L_08878E44: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(48))); @@ -3471,14 +3472,14 @@ L_08878E5C: } goto L_08878E68; L_08878E68: - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); aot_gpr_31 = (0x08878E74u); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878E74u) goto L_08878E74; AOT_REGCACHE_SYNC_OUT(); return; L_08878E74: - aot_gpr_17 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_08878E8C; @@ -3487,14 +3488,14 @@ L_08878E74: } L_08878E80: aot_gpr_31 = (0x08878E88u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878E88u) goto L_08878E88; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878E88u) goto L_08878E88; AOT_REGCACHE_SYNC_OUT(); return; L_08878E88: - aot_gpr_16 = (aot_gpr_17 | 0u); + ctx.gpr[16] = (ctx.gpr[17] | 0u); goto L_08878E8C; L_08878E8C: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[16]); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); goto L_08878E94; L_08878E94: @@ -3503,11 +3504,11 @@ L_08878E94: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878E9Cu) goto L_08878E9C; AOT_REGCACHE_SYNC_OUT(); return; L_08878E9C: - ctx.gpr[6] = (0u | 100u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (0u | 100u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08878EACu); aot_gpr_5 = (ctx.gpr[23] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878EACu) goto L_08878EAC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878EACu) goto L_08878EAC; AOT_REGCACHE_SYNC_OUT(); return; L_08878EAC: { const bool branch_taken = 0u == 0u; @@ -3525,14 +3526,14 @@ L_08878EB4: } goto L_08878EC0; L_08878EC0: - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); aot_gpr_31 = (0x08878ECCu); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878ECCu) goto L_08878ECC; AOT_REGCACHE_SYNC_OUT(); return; L_08878ECC: - aot_gpr_17 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_08878EE4; @@ -3541,14 +3542,14 @@ L_08878ECC: } L_08878ED8: aot_gpr_31 = (0x08878EE0u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878EE0u) goto L_08878EE0; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878EE0u) goto L_08878EE0; AOT_REGCACHE_SYNC_OUT(); return; L_08878EE0: - aot_gpr_16 = (aot_gpr_17 | 0u); + ctx.gpr[16] = (ctx.gpr[17] | 0u); goto L_08878EE4; L_08878EE4: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[16]); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); goto L_08878EEC; L_08878EEC: @@ -3557,11 +3558,11 @@ L_08878EEC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878EF4u) goto L_08878EF4; AOT_REGCACHE_SYNC_OUT(); return; L_08878EF4: - ctx.gpr[6] = (0u | 100u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (0u | 100u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08878F04u); aot_gpr_5 = (ctx.gpr[23] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878F04u) goto L_08878F04; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878F04u) goto L_08878F04; AOT_REGCACHE_SYNC_OUT(); return; L_08878F04: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(204))); @@ -3579,14 +3580,14 @@ L_08878F18: } goto L_08878F24; L_08878F24: - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); aot_gpr_31 = (0x08878F30u); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878F30u) goto L_08878F30; AOT_REGCACHE_SYNC_OUT(); return; L_08878F30: - aot_gpr_17 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_08878F48; @@ -3595,14 +3596,14 @@ L_08878F30: } L_08878F3C: aot_gpr_31 = (0x08878F44u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878F44u) goto L_08878F44; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878F44u) goto L_08878F44; AOT_REGCACHE_SYNC_OUT(); return; L_08878F44: - aot_gpr_16 = (aot_gpr_17 | 0u); + ctx.gpr[16] = (ctx.gpr[17] | 0u); goto L_08878F48; L_08878F48: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[16]); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); goto L_08878F50; L_08878F50: @@ -3611,16 +3612,16 @@ L_08878F50: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878F58u) goto L_08878F58; AOT_REGCACHE_SYNC_OUT(); return; L_08878F58: - ctx.gpr[6] = (0u | 113u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (0u | 113u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08878F68u); aot_gpr_5 = (ctx.gpr[30] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878F68u) goto L_08878F68; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878F68u) goto L_08878F68; AOT_REGCACHE_SYNC_OUT(); return; L_08878F68: aot_gpr_31 = (0x08878F70u); aot_gpr_4 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878F70u) goto L_08878F70; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C604, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878F70u) goto L_08878F70; AOT_REGCACHE_SYNC_OUT(); return; L_08878F70: aot_gpr_31 = (0x08878F78u); @@ -3628,7 +3629,7 @@ L_08878F70: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 143u, 0x08ADC764u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878F78u) goto L_08878F78; AOT_REGCACHE_SYNC_OUT(); return; L_08878F78: - { const bool branch_taken = static_cast(ctx.gpr[2]) <= 0; + { const bool branch_taken = static_cast(aot_gpr_2) <= 0; // nop if (branch_taken) { goto L_08878FC8; @@ -3636,32 +3637,32 @@ L_08878F78: goto L_08878F80; } L_08878F80: - aot_gpr_16 = (ctx.gpr[29] + static_cast(680)); - aot_gpr_17 = (aot_gpr_28 + static_cast(-26856)); + ctx.gpr[16] = (ctx.gpr[29] + static_cast(680)); + ctx.gpr[17] = (aot_gpr_28 + static_cast(-26856)); aot_gpr_31 = (0x08878F90u); aot_gpr_4 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 143u, 0x08ADC764u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878F90u) goto L_08878F90; AOT_REGCACHE_SYNC_OUT(); return; L_08878F90: - aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08878FA0u); - ctx.gpr[6] = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0212_entry, 212u, 576u, 0x08B562D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878FA0u) goto L_08878FA0; AOT_REGCACHE_SYNC_OUT(); return; L_08878FA0: - aot_gpr_17 = (ctx.gpr[29] + static_cast(668)); - aot_gpr_4 = (aot_gpr_16 | 0u); + ctx.gpr[17] = (ctx.gpr[29] + static_cast(668)); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08878FB0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0032_entry, 32u, 843u, 0x08887B04u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878FB0u) goto L_08878FB0; AOT_REGCACHE_SYNC_OUT(); return; L_08878FB0: - ctx.gpr[6] = (0u | 113u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_6 = (0u | 113u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08878FC0u); aot_gpr_5 = (ctx.gpr[23] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878FC0u) goto L_08878FC0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878FC0u) goto L_08878FC0; AOT_REGCACHE_SYNC_OUT(); return; L_08878FC0: { const bool branch_taken = 0u == 0u; @@ -3681,14 +3682,14 @@ L_08878FC8: goto L_08878FD4; } L_08878FD4: - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); aot_gpr_31 = (0x08878FE0u); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878FE0u) goto L_08878FE0; AOT_REGCACHE_SYNC_OUT(); return; L_08878FE0: - aot_gpr_17 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_08878FF8; @@ -3697,14 +3698,14 @@ L_08878FE0: } L_08878FEC: aot_gpr_31 = (0x08878FF4u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878FF4u) goto L_08878FF4; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08878FF4u) goto L_08878FF4; AOT_REGCACHE_SYNC_OUT(); return; L_08878FF4: - aot_gpr_16 = (aot_gpr_17 | 0u); + ctx.gpr[16] = (ctx.gpr[17] | 0u); goto L_08878FF8; L_08878FF8: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[16]); goto L_08878FFC; L_08878FFC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); @@ -3713,11 +3714,11 @@ L_08878FFC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879008u) goto L_08879008; AOT_REGCACHE_SYNC_OUT(); return; L_08879008: - ctx.gpr[6] = (0u | 113u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (0u | 113u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08879018u); aot_gpr_5 = (ctx.gpr[23] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879018u) goto L_08879018; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879018u) goto L_08879018; AOT_REGCACHE_SYNC_OUT(); return; L_08879018: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(204))); @@ -3735,14 +3736,14 @@ L_0887902C: } goto L_08879038; L_08879038: - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); aot_gpr_31 = (0x08879044u); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879044u) goto L_08879044; AOT_REGCACHE_SYNC_OUT(); return; L_08879044: - aot_gpr_17 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_0887905C; @@ -3751,14 +3752,14 @@ L_08879044: } L_08879050: aot_gpr_31 = (0x08879058u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879058u) goto L_08879058; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879058u) goto L_08879058; AOT_REGCACHE_SYNC_OUT(); return; L_08879058: - aot_gpr_16 = (aot_gpr_17 | 0u); + ctx.gpr[16] = (ctx.gpr[17] | 0u); goto L_0887905C; L_0887905C: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[16]); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); goto L_08879064; L_08879064: @@ -3767,16 +3768,16 @@ L_08879064: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887906Cu) goto L_0887906C; AOT_REGCACHE_SYNC_OUT(); return; L_0887906C: - ctx.gpr[6] = (0u | 126u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (0u | 126u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x0887907Cu); aot_gpr_5 = (ctx.gpr[30] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887907Cu) goto L_0887907C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887907Cu) goto L_0887907C; AOT_REGCACHE_SYNC_OUT(); return; L_0887907C: aot_gpr_31 = (0x08879084u); aot_gpr_4 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879084u) goto L_08879084; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C604, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879084u) goto L_08879084; AOT_REGCACHE_SYNC_OUT(); return; L_08879084: aot_gpr_31 = (0x0887908Cu); @@ -3784,7 +3785,7 @@ L_08879084: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 145u, 0x08ADC774u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887908Cu) goto L_0887908C; AOT_REGCACHE_SYNC_OUT(); return; L_0887908C: - { const bool branch_taken = static_cast(ctx.gpr[2]) <= 0; + { const bool branch_taken = static_cast(aot_gpr_2) <= 0; // nop if (branch_taken) { goto L_0887918C; @@ -3792,22 +3793,22 @@ L_0887908C: goto L_08879094; } L_08879094: - aot_gpr_17 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(1080))); - aot_gpr_16 = (0u | 1u); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(1080))); + ctx.gpr[16] = (0u | 1u); ctx.gpr[19] = (ctx.gpr[29] + static_cast(716)); ctx.gpr[21] = (aot_gpr_28 + static_cast(-26836)); aot_gpr_31 = (0x088790ACu); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 145u, 0x08ADC774u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088790ACu) goto L_088790AC; AOT_REGCACHE_SYNC_OUT(); return; L_088790AC: - ctx.gpr[20] = (ctx.gpr[2] | 0u); + ctx.gpr[20] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x088790B8u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 145u, 0x08ADC774u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088790B8u) goto L_088790B8; AOT_REGCACHE_SYNC_OUT(); return; L_088790B8: - if (ctx.gpr[2] != aot_gpr_16) { + if (aot_gpr_2 != ctx.gpr[16]) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); goto L_08879108; } @@ -3822,14 +3823,14 @@ L_088790C0: goto L_088790CC; } L_088790CC: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_31 = (0x088790D8u); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088790D8u) goto L_088790D8; AOT_REGCACHE_SYNC_OUT(); return; L_088790D8: - aot_gpr_16 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_088790F0; @@ -3838,14 +3839,14 @@ L_088790D8: } L_088790E4: aot_gpr_31 = (0x088790ECu); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088790ECu) goto L_088790EC; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088790ECu) goto L_088790EC; AOT_REGCACHE_SYNC_OUT(); return; L_088790EC: - aot_gpr_17 = (aot_gpr_16 | 0u); + ctx.gpr[17] = (ctx.gpr[16] | 0u); goto L_088790F0; L_088790F0: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); goto L_088790F4; L_088790F4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); @@ -3855,7 +3856,7 @@ L_088790F4: AOT_REGCACHE_SYNC_OUT(); return; L_08879100: { const bool branch_taken = 0u == 0u; - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); if (branch_taken) { goto L_08879148; } @@ -3870,14 +3871,14 @@ L_08879108: goto L_08879110; } L_08879110: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_31 = (0x0887911Cu); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887911Cu) goto L_0887911C; AOT_REGCACHE_SYNC_OUT(); return; L_0887911C: - aot_gpr_16 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08879134; @@ -3886,14 +3887,14 @@ L_0887911C: } L_08879128: aot_gpr_31 = (0x08879130u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879130u) goto L_08879130; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879130u) goto L_08879130; AOT_REGCACHE_SYNC_OUT(); return; L_08879130: - aot_gpr_17 = (aot_gpr_16 | 0u); + ctx.gpr[17] = (ctx.gpr[16] | 0u); goto L_08879134; L_08879134: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); goto L_08879138; L_08879138: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); @@ -3902,7 +3903,7 @@ L_08879138: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879144u) goto L_08879144; AOT_REGCACHE_SYNC_OUT(); return; L_08879144: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); goto L_08879148; L_08879148: aot_gpr_31 = (0x08879150u); @@ -3912,24 +3913,24 @@ L_08879148: L_08879150: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (ctx.gpr[21] | 0u); - ctx.gpr[6] = (ctx.gpr[20] | 0u); + aot_gpr_6 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08879164u); - ctx.gpr[7] = (ctx.gpr[2] | 0u); + ctx.gpr[7] = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0212_entry, 212u, 576u, 0x08B562D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879164u) goto L_08879164; AOT_REGCACHE_SYNC_OUT(); return; L_08879164: - aot_gpr_16 = (ctx.gpr[29] + static_cast(686)); + ctx.gpr[16] = (ctx.gpr[29] + static_cast(686)); aot_gpr_4 = (ctx.gpr[29] + static_cast(716)); aot_gpr_31 = (0x08879174u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0032_entry, 32u, 843u, 0x08887B04u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879174u) goto L_08879174; AOT_REGCACHE_SYNC_OUT(); return; L_08879174: - ctx.gpr[6] = (0u | 126u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_6 = (0u | 126u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08879184u); aot_gpr_5 = (ctx.gpr[23] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879184u) goto L_08879184; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879184u) goto L_08879184; AOT_REGCACHE_SYNC_OUT(); return; L_08879184: { const bool branch_taken = 0u == 0u; @@ -3949,14 +3950,14 @@ L_0887918C: goto L_08879198; } L_08879198: - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); aot_gpr_31 = (0x088791A4u); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088791A4u) goto L_088791A4; AOT_REGCACHE_SYNC_OUT(); return; L_088791A4: - aot_gpr_17 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_088791BC; @@ -3965,14 +3966,14 @@ L_088791A4: } L_088791B0: aot_gpr_31 = (0x088791B8u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088791B8u) goto L_088791B8; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088791B8u) goto L_088791B8; AOT_REGCACHE_SYNC_OUT(); return; L_088791B8: - aot_gpr_16 = (aot_gpr_17 | 0u); + ctx.gpr[16] = (ctx.gpr[17] | 0u); goto L_088791BC; L_088791BC: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[16]); goto L_088791C0; L_088791C0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); @@ -3981,11 +3982,11 @@ L_088791C0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088791CCu) goto L_088791CC; AOT_REGCACHE_SYNC_OUT(); return; L_088791CC: - ctx.gpr[6] = (0u | 126u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (0u | 126u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x088791DCu); aot_gpr_5 = (ctx.gpr[23] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088791DCu) goto L_088791DC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088791DCu) goto L_088791DC; AOT_REGCACHE_SYNC_OUT(); return; L_088791DC: ctx.gpr[21] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(1080))); @@ -4023,14 +4024,14 @@ L_0887920C: goto L_0887922C; } L_0887922C: - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); aot_gpr_31 = (0x08879238u); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879238u) goto L_08879238; AOT_REGCACHE_SYNC_OUT(); return; L_08879238: - aot_gpr_17 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_08879250; @@ -4039,14 +4040,14 @@ L_08879238: } L_08879244: aot_gpr_31 = (0x0887924Cu); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887924Cu) goto L_0887924C; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887924Cu) goto L_0887924C; AOT_REGCACHE_SYNC_OUT(); return; L_0887924C: - aot_gpr_16 = (aot_gpr_17 | 0u); + ctx.gpr[16] = (ctx.gpr[17] | 0u); goto L_08879250; L_08879250: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[16]); goto L_08879254; L_08879254: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); @@ -4055,33 +4056,33 @@ L_08879254: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879260u) goto L_08879260; AOT_REGCACHE_SYNC_OUT(); return; L_08879260: - ctx.gpr[6] = (ctx.gpr[18] + static_cast(74)); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (ctx.gpr[18] + static_cast(74)); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08879270u); aot_gpr_5 = (ctx.gpr[30] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879270u) goto L_08879270; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879270u) goto L_08879270; AOT_REGCACHE_SYNC_OUT(); return; L_08879270: aot_gpr_31 = (0x08879278u); aot_gpr_4 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879278u) goto L_08879278; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C604, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879278u) goto L_08879278; AOT_REGCACHE_SYNC_OUT(); return; L_08879278: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); if (aot_gpr_4 != 0u) { - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); goto L_088792B0; } goto L_08879284; L_08879284: - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); aot_gpr_31 = (0x08879290u); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879290u) goto L_08879290; AOT_REGCACHE_SYNC_OUT(); return; L_08879290: - aot_gpr_17 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_088792A8; @@ -4090,15 +4091,15 @@ L_08879290: } L_0887929C: aot_gpr_31 = (0x088792A4u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088792A4u) goto L_088792A4; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088792A4u) goto L_088792A4; AOT_REGCACHE_SYNC_OUT(); return; L_088792A4: - aot_gpr_16 = (aot_gpr_17 | 0u); + ctx.gpr[16] = (ctx.gpr[17] | 0u); goto L_088792A8; L_088792A8: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[16]); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); goto L_088792B0; L_088792B0: aot_gpr_31 = (0x088792B8u); @@ -4106,19 +4107,19 @@ L_088792B0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 151u, 0x08ADC7A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088792B8u) goto L_088792B8; AOT_REGCACHE_SYNC_OUT(); return; L_088792B8: - aot_gpr_4 = (ctx.gpr[2] << 3u); + aot_gpr_4 = (aot_gpr_2 << 3u); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[19]); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_31 = (0x088792CCu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088792CCu) goto L_088792CC; AOT_REGCACHE_SYNC_OUT(); return; L_088792CC: - ctx.gpr[6] = (ctx.gpr[18] + static_cast(74)); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (ctx.gpr[18] + static_cast(74)); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x088792DCu); aot_gpr_5 = (ctx.gpr[23] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088792DCu) goto L_088792DC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088792DCu) goto L_088792DC; AOT_REGCACHE_SYNC_OUT(); return; L_088792DC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(204))); @@ -4142,14 +4143,14 @@ L_088792F4: goto L_0887930C; } L_0887930C: - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); aot_gpr_31 = (0x08879318u); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879318u) goto L_08879318; AOT_REGCACHE_SYNC_OUT(); return; L_08879318: - aot_gpr_17 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_08879330; @@ -4158,14 +4159,14 @@ L_08879318: } L_08879324: aot_gpr_31 = (0x0887932Cu); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887932Cu) goto L_0887932C; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887932Cu) goto L_0887932C; AOT_REGCACHE_SYNC_OUT(); return; L_0887932C: - aot_gpr_16 = (aot_gpr_17 | 0u); + ctx.gpr[16] = (ctx.gpr[17] | 0u); goto L_08879330; L_08879330: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[16]); goto L_08879334; L_08879334: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); @@ -4174,33 +4175,33 @@ L_08879334: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879340u) goto L_08879340; AOT_REGCACHE_SYNC_OUT(); return; L_08879340: - ctx.gpr[6] = (ctx.gpr[18] + static_cast(74)); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (ctx.gpr[18] + static_cast(74)); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08879350u); aot_gpr_5 = (ctx.gpr[30] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879350u) goto L_08879350; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879350u) goto L_08879350; AOT_REGCACHE_SYNC_OUT(); return; L_08879350: aot_gpr_31 = (0x08879358u); aot_gpr_4 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879358u) goto L_08879358; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C604, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879358u) goto L_08879358; AOT_REGCACHE_SYNC_OUT(); return; L_08879358: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); if (aot_gpr_4 != 0u) { - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); goto L_08879390; } goto L_08879364; L_08879364: - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); aot_gpr_31 = (0x08879370u); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879370u) goto L_08879370; AOT_REGCACHE_SYNC_OUT(); return; L_08879370: - aot_gpr_17 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_08879388; @@ -4209,15 +4210,15 @@ L_08879370: } L_0887937C: aot_gpr_31 = (0x08879384u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879384u) goto L_08879384; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879384u) goto L_08879384; AOT_REGCACHE_SYNC_OUT(); return; L_08879384: - aot_gpr_16 = (aot_gpr_17 | 0u); + ctx.gpr[16] = (ctx.gpr[17] | 0u); goto L_08879388; L_08879388: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[16]); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); goto L_08879390; L_08879390: aot_gpr_31 = (0x08879398u); @@ -4225,19 +4226,19 @@ L_08879390: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 153u, 0x08ADC7B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879398u) goto L_08879398; AOT_REGCACHE_SYNC_OUT(); return; L_08879398: - aot_gpr_4 = (ctx.gpr[2] << 3u); + aot_gpr_4 = (aot_gpr_2 << 3u); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[19]); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_31 = (0x088793ACu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088793ACu) goto L_088793AC; AOT_REGCACHE_SYNC_OUT(); return; L_088793AC: - ctx.gpr[6] = (ctx.gpr[18] + static_cast(74)); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (ctx.gpr[18] + static_cast(74)); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x088793BCu); aot_gpr_5 = (ctx.gpr[23] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088793BCu) goto L_088793BC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088793BCu) goto L_088793BC; AOT_REGCACHE_SYNC_OUT(); return; L_088793BC: { const bool branch_taken = 0u == 0u; @@ -4250,11 +4251,11 @@ L_088793BC: L_088793C4: aot_gpr_31 = (0x088793CCu); aot_gpr_4 = (ctx.gpr[21] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088793CCu) goto L_088793CC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC734, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088793CCu) goto L_088793CC; AOT_REGCACHE_SYNC_OUT(); return; L_088793CC: - aot_gpr_17 = (0u | 1u); - { const bool branch_taken = ctx.gpr[2] != aot_gpr_17; + ctx.gpr[17] = (0u | 1u); + { const bool branch_taken = aot_gpr_2 != ctx.gpr[17]; // nop if (branch_taken) { goto L_088799D4; @@ -4283,14 +4284,14 @@ L_088793F0: goto L_08879408; } L_08879408: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_31 = (0x08879414u); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879414u) goto L_08879414; AOT_REGCACHE_SYNC_OUT(); return; L_08879414: - aot_gpr_16 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_0887942C; @@ -4299,14 +4300,14 @@ L_08879414: } L_08879420: aot_gpr_31 = (0x08879428u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879428u) goto L_08879428; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879428u) goto L_08879428; AOT_REGCACHE_SYNC_OUT(); return; L_08879428: - aot_gpr_17 = (aot_gpr_16 | 0u); + ctx.gpr[17] = (ctx.gpr[16] | 0u); goto L_0887942C; L_0887942C: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); goto L_08879430; L_08879430: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); @@ -4315,25 +4316,25 @@ L_08879430: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887943Cu) goto L_0887943C; AOT_REGCACHE_SYNC_OUT(); return; L_0887943C: - ctx.gpr[6] = (0u | 100u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (0u | 100u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x0887944Cu); aot_gpr_5 = (ctx.gpr[30] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887944Cu) goto L_0887944C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887944Cu) goto L_0887944C; AOT_REGCACHE_SYNC_OUT(); return; L_0887944C: aot_gpr_31 = (0x08879454u); aot_gpr_4 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879454u) goto L_08879454; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C604, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879454u) goto L_08879454; AOT_REGCACHE_SYNC_OUT(); return; L_08879454: - aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(1080))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(1080))); aot_gpr_31 = (0x08879460u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879460u) goto L_08879460; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC784, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879460u) goto L_08879460; AOT_REGCACHE_SYNC_OUT(); return; L_08879460: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_088794C4; @@ -4348,14 +4349,14 @@ L_08879468: } goto L_08879474; L_08879474: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_31 = (0x08879480u); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879480u) goto L_08879480; AOT_REGCACHE_SYNC_OUT(); return; L_08879480: - aot_gpr_16 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08879498; @@ -4364,15 +4365,15 @@ L_08879480: } L_0887948C: aot_gpr_31 = (0x08879494u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879494u) goto L_08879494; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879494u) goto L_08879494; AOT_REGCACHE_SYNC_OUT(); return; L_08879494: - aot_gpr_17 = (aot_gpr_16 | 0u); + ctx.gpr[17] = (ctx.gpr[16] | 0u); goto L_08879498; L_08879498: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_17); - aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(1080))); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(1080))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); goto L_088794A4; L_088794A4: @@ -4381,11 +4382,11 @@ L_088794A4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088794ACu) goto L_088794AC; AOT_REGCACHE_SYNC_OUT(); return; L_088794AC: - ctx.gpr[6] = (0u | 100u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (0u | 100u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x088794BCu); aot_gpr_5 = (ctx.gpr[23] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088794BCu) goto L_088794BC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088794BCu) goto L_088794BC; AOT_REGCACHE_SYNC_OUT(); return; L_088794BC: { const bool branch_taken = 0u == 0u; @@ -4397,12 +4398,12 @@ L_088794BC: } L_088794C4: aot_gpr_31 = (0x088794CCu); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088794CCu) goto L_088794CC; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC784, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088794CCu) goto L_088794CC; AOT_REGCACHE_SYNC_OUT(); return; L_088794CC: aot_gpr_4 = (0u | 1u); - { const bool branch_taken = ctx.gpr[2] != aot_gpr_4; + { const bool branch_taken = aot_gpr_2 != aot_gpr_4; // nop if (branch_taken) { goto L_08879534; @@ -4417,14 +4418,14 @@ L_088794D8: } goto L_088794E4; L_088794E4: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_31 = (0x088794F0u); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088794F0u) goto L_088794F0; AOT_REGCACHE_SYNC_OUT(); return; L_088794F0: - aot_gpr_16 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08879508; @@ -4433,15 +4434,15 @@ L_088794F0: } L_088794FC: aot_gpr_31 = (0x08879504u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879504u) goto L_08879504; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879504u) goto L_08879504; AOT_REGCACHE_SYNC_OUT(); return; L_08879504: - aot_gpr_17 = (aot_gpr_16 | 0u); + ctx.gpr[17] = (ctx.gpr[16] | 0u); goto L_08879508; L_08879508: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_17); - aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(1080))); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(1080))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); goto L_08879514; L_08879514: @@ -4450,11 +4451,11 @@ L_08879514: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887951Cu) goto L_0887951C; AOT_REGCACHE_SYNC_OUT(); return; L_0887951C: - ctx.gpr[6] = (0u | 100u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (0u | 100u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x0887952Cu); aot_gpr_5 = (ctx.gpr[23] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887952Cu) goto L_0887952C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887952Cu) goto L_0887952C; AOT_REGCACHE_SYNC_OUT(); return; L_0887952C: { const bool branch_taken = 0u == 0u; @@ -4466,12 +4467,12 @@ L_0887952C: } L_08879534: aot_gpr_31 = (0x0887953Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887953Cu) goto L_0887953C; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC784, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887953Cu) goto L_0887953C; AOT_REGCACHE_SYNC_OUT(); return; L_0887953C: aot_gpr_4 = (0u | 2u); - { const bool branch_taken = ctx.gpr[2] != aot_gpr_4; + { const bool branch_taken = aot_gpr_2 != aot_gpr_4; // nop if (branch_taken) { goto L_0887959C; @@ -4488,14 +4489,14 @@ L_08879548: goto L_08879554; } L_08879554: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_31 = (0x08879560u); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879560u) goto L_08879560; AOT_REGCACHE_SYNC_OUT(); return; L_08879560: - aot_gpr_16 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08879578; @@ -4504,15 +4505,15 @@ L_08879560: } L_0887956C: aot_gpr_31 = (0x08879574u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879574u) goto L_08879574; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879574u) goto L_08879574; AOT_REGCACHE_SYNC_OUT(); return; L_08879574: - aot_gpr_17 = (aot_gpr_16 | 0u); + ctx.gpr[17] = (ctx.gpr[16] | 0u); goto L_08879578; L_08879578: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_17); - aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(1080))); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(1080))); goto L_08879580; L_08879580: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); @@ -4521,11 +4522,11 @@ L_08879580: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887958Cu) goto L_0887958C; AOT_REGCACHE_SYNC_OUT(); return; L_0887958C: - ctx.gpr[6] = (0u | 100u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (0u | 100u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x0887959Cu); aot_gpr_5 = (ctx.gpr[23] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887959Cu) goto L_0887959C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887959Cu) goto L_0887959C; AOT_REGCACHE_SYNC_OUT(); return; L_0887959C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(204))); @@ -4536,7 +4537,7 @@ L_0887959C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0028_entry, 28u, 47u, 0x08874254u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088795B0u) goto L_088795B0; AOT_REGCACHE_SYNC_OUT(); return; L_088795B0: - ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(52))); + aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(52))); aot_gpr_5 = (aot_gpr_28 + static_cast(-26772)); aot_gpr_31 = (0x088795C0u); aot_gpr_4 = (ctx.gpr[19] | 0u); @@ -4550,14 +4551,14 @@ L_088795C0: } goto L_088795CC; L_088795CC: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_31 = (0x088795D8u); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088795D8u) goto L_088795D8; AOT_REGCACHE_SYNC_OUT(); return; L_088795D8: - aot_gpr_16 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_088795F0; @@ -4566,15 +4567,15 @@ L_088795D8: } L_088795E4: aot_gpr_31 = (0x088795ECu); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088795ECu) goto L_088795EC; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088795ECu) goto L_088795EC; AOT_REGCACHE_SYNC_OUT(); return; L_088795EC: - aot_gpr_17 = (aot_gpr_16 | 0u); + ctx.gpr[17] = (ctx.gpr[16] | 0u); goto L_088795F0; L_088795F0: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_17); - aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(1080))); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(1080))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); goto L_088795FC; L_088795FC: @@ -4583,16 +4584,16 @@ L_088795FC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879604u) goto L_08879604; AOT_REGCACHE_SYNC_OUT(); return; L_08879604: - ctx.gpr[6] = (0u | 113u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (0u | 113u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08879614u); aot_gpr_5 = (ctx.gpr[30] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879614u) goto L_08879614; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879614u) goto L_08879614; AOT_REGCACHE_SYNC_OUT(); return; L_08879614: aot_gpr_31 = (0x0887961Cu); aot_gpr_4 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887961Cu) goto L_0887961C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C604, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887961Cu) goto L_0887961C; AOT_REGCACHE_SYNC_OUT(); return; L_0887961C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); @@ -4602,14 +4603,14 @@ L_0887961C: } goto L_08879628; L_08879628: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_31 = (0x08879634u); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879634u) goto L_08879634; AOT_REGCACHE_SYNC_OUT(); return; L_08879634: - aot_gpr_16 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_0887964C; @@ -4618,15 +4619,15 @@ L_08879634: } L_08879640: aot_gpr_31 = (0x08879648u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879648u) goto L_08879648; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879648u) goto L_08879648; AOT_REGCACHE_SYNC_OUT(); return; L_08879648: - aot_gpr_17 = (aot_gpr_16 | 0u); + ctx.gpr[17] = (ctx.gpr[16] | 0u); goto L_0887964C; L_0887964C: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_17); - aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(1080))); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(1080))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); goto L_08879658; L_08879658: @@ -4635,11 +4636,11 @@ L_08879658: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879660u) goto L_08879660; AOT_REGCACHE_SYNC_OUT(); return; L_08879660: - ctx.gpr[6] = (0u | 113u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (0u | 113u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08879670u); aot_gpr_5 = (ctx.gpr[23] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879670u) goto L_08879670; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879670u) goto L_08879670; AOT_REGCACHE_SYNC_OUT(); return; L_08879670: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(204))); @@ -4652,12 +4653,12 @@ L_08879670: L_08879684: ctx.gpr[19] = (0u | 0u); aot_gpr_31 = (0x08879690u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879690u) goto L_08879690; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC734, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879690u) goto L_08879690; AOT_REGCACHE_SYNC_OUT(); return; L_08879690: - aot_gpr_17 = (0u | 1u); - { const bool branch_taken = ctx.gpr[2] != aot_gpr_17; + ctx.gpr[17] = (0u | 1u); + { const bool branch_taken = aot_gpr_2 != ctx.gpr[17]; aot_gpr_4 = (ctx.gpr[19] & 255u); if (branch_taken) { goto L_088796B4; @@ -4666,11 +4667,11 @@ L_08879690: } L_0887969C: aot_gpr_31 = (0x088796A4u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088796A4u) goto L_088796A4; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC784, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088796A4u) goto L_088796A4; AOT_REGCACHE_SYNC_OUT(); return; L_088796A4: - { const bool branch_taken = ctx.gpr[2] != aot_gpr_17; + { const bool branch_taken = aot_gpr_2 != ctx.gpr[17]; aot_gpr_4 = (ctx.gpr[19] & 255u); if (branch_taken) { goto L_088796B4; @@ -4678,7 +4679,7 @@ L_088796A4: goto L_088796AC; } L_088796AC: - ctx.gpr[19] = (aot_gpr_17 | 0u); + ctx.gpr[19] = (ctx.gpr[17] | 0u); aot_gpr_4 = (ctx.gpr[19] & 255u); goto L_088796B4; L_088796B4: @@ -4698,20 +4699,20 @@ L_088796BC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0028_entry, 28u, 64u, 0x088743ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088796D0u) goto L_088796D0; AOT_REGCACHE_SYNC_OUT(); return; L_088796D0: - aot_gpr_17 = (ctx.gpr[29] + static_cast(784)); + ctx.gpr[17] = (ctx.gpr[29] + static_cast(784)); aot_gpr_31 = (0x088796DCu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 143u, 0x08ADC764u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088796DCu) goto L_088796DC; AOT_REGCACHE_SYNC_OUT(); return; L_088796DC: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x088796ECu); - ctx.gpr[6] = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0212_entry, 212u, 576u, 0x08B562D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088796ECu) goto L_088796EC; AOT_REGCACHE_SYNC_OUT(); return; L_088796EC: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088796F8u); aot_gpr_5 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0032_entry, 32u, 843u, 0x08887B04u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088796F8u) goto L_088796F8; @@ -4724,14 +4725,14 @@ L_088796F8: } goto L_08879704; L_08879704: - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); aot_gpr_31 = (0x08879710u); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879710u) goto L_08879710; AOT_REGCACHE_SYNC_OUT(); return; L_08879710: - aot_gpr_17 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_08879728; @@ -4740,14 +4741,14 @@ L_08879710: } L_0887971C: aot_gpr_31 = (0x08879724u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879724u) goto L_08879724; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879724u) goto L_08879724; AOT_REGCACHE_SYNC_OUT(); return; L_08879724: - aot_gpr_16 = (aot_gpr_17 | 0u); + ctx.gpr[16] = (ctx.gpr[17] | 0u); goto L_08879728; L_08879728: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[16]); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); goto L_08879730; L_08879730: @@ -4756,28 +4757,28 @@ L_08879730: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879738u) goto L_08879738; AOT_REGCACHE_SYNC_OUT(); return; L_08879738: - aot_gpr_16 = (0u | 126u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (0u | 126u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (ctx.gpr[30] | 0u); aot_gpr_31 = (0x0887974Cu); - ctx.gpr[6] = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887974Cu) goto L_0887974C; + aot_gpr_6 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887974Cu) goto L_0887974C; AOT_REGCACHE_SYNC_OUT(); return; L_0887974C: aot_gpr_31 = (0x08879754u); aot_gpr_4 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879754u) goto L_08879754; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C604, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879754u) goto L_08879754; AOT_REGCACHE_SYNC_OUT(); return; L_08879754: aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_5 = (ctx.gpr[23] | 0u); aot_gpr_31 = (0x08879764u); - ctx.gpr[6] = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879764u) goto L_08879764; + aot_gpr_6 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879764u) goto L_08879764; AOT_REGCACHE_SYNC_OUT(); return; L_08879764: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(204))); - aot_gpr_17 = (0u | 5u); + ctx.gpr[17] = (0u | 5u); aot_gpr_4 = (aot_gpr_4 ^ 5u); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); aot_gpr_31 = (0x0887977Cu); @@ -4786,15 +4787,15 @@ L_08879764: AOT_REGCACHE_SYNC_OUT(); return; L_0887977C: ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(1080))); - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); aot_gpr_31 = (0x0887978Cu); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887978Cu) goto L_0887978C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC734, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887978Cu) goto L_0887978C; AOT_REGCACHE_SYNC_OUT(); return; L_0887978C: ctx.gpr[20] = (0u | 6u); ctx.gpr[21] = (0u | 1u); - { const bool branch_taken = ctx.gpr[2] != ctx.gpr[21]; + { const bool branch_taken = aot_gpr_2 != ctx.gpr[21]; ctx.gpr[19] = (0u | 65u); if (branch_taken) { goto L_088797B0; @@ -4804,21 +4805,21 @@ L_0887978C: L_0887979C: aot_gpr_31 = (0x088797A4u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088797A4u) goto L_088797A4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC784, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088797A4u) goto L_088797A4; AOT_REGCACHE_SYNC_OUT(); return; L_088797A4: - { const bool branch_taken = ctx.gpr[2] != ctx.gpr[21]; - aot_gpr_4 = (aot_gpr_16 & 255u); + { const bool branch_taken = aot_gpr_2 != ctx.gpr[21]; + aot_gpr_4 = (ctx.gpr[16] & 255u); if (branch_taken) { goto L_088797B4; } goto L_088797AC; } L_088797AC: - aot_gpr_16 = (ctx.gpr[21] | 0u); + ctx.gpr[16] = (ctx.gpr[21] | 0u); goto L_088797B0; L_088797B0: - aot_gpr_4 = (aot_gpr_16 & 255u); + aot_gpr_4 = (ctx.gpr[16] & 255u); goto L_088797B4; L_088797B4: { const bool branch_taken = aot_gpr_4 == 0u; @@ -4830,7 +4831,7 @@ L_088797B4: } L_088797BC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(204))); - aot_gpr_4 = (aot_gpr_4 ^ aot_gpr_17); + aot_gpr_4 = (aot_gpr_4 ^ ctx.gpr[17]); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); aot_gpr_31 = (0x088797D0u); aot_gpr_4 = (aot_gpr_4 & 255u); @@ -4861,14 +4862,14 @@ L_088797F4: } goto L_08879800; L_08879800: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_31 = (0x0887980Cu); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887980Cu) goto L_0887980C; AOT_REGCACHE_SYNC_OUT(); return; L_0887980C: - aot_gpr_16 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08879824; @@ -4877,14 +4878,14 @@ L_0887980C: } L_08879818: aot_gpr_31 = (0x08879820u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879820u) goto L_08879820; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879820u) goto L_08879820; AOT_REGCACHE_SYNC_OUT(); return; L_08879820: - aot_gpr_17 = (aot_gpr_16 | 0u); + ctx.gpr[17] = (ctx.gpr[16] | 0u); goto L_08879824; L_08879824: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); goto L_0887982C; L_0887982C: @@ -4896,7 +4897,7 @@ L_08879834: ctx.gpr[21] = (ctx.gpr[29] + static_cast(20)); aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x08879844u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0032_entry, 32u, 854u, 0x08887BB0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879844u) goto L_08879844; AOT_REGCACHE_SYNC_OUT(); return; L_08879844: @@ -4909,14 +4910,14 @@ L_08879844: goto L_08879850; } L_08879850: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_31 = (0x0887985Cu); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887985Cu) goto L_0887985C; AOT_REGCACHE_SYNC_OUT(); return; L_0887985C: - aot_gpr_16 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08879874; @@ -4925,14 +4926,14 @@ L_0887985C: } L_08879868: aot_gpr_31 = (0x08879870u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879870u) goto L_08879870; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879870u) goto L_08879870; AOT_REGCACHE_SYNC_OUT(); return; L_08879870: - aot_gpr_17 = (aot_gpr_16 | 0u); + ctx.gpr[17] = (ctx.gpr[16] | 0u); goto L_08879874; L_08879874: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); goto L_08879878; L_08879878: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); @@ -4941,27 +4942,27 @@ L_08879878: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879884u) goto L_08879884; AOT_REGCACHE_SYNC_OUT(); return; L_08879884: - ctx.gpr[6] = (ctx.gpr[19] + static_cast(74)); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (ctx.gpr[19] + static_cast(74)); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08879894u); aot_gpr_5 = (ctx.gpr[30] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879894u) goto L_08879894; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879894u) goto L_08879894; AOT_REGCACHE_SYNC_OUT(); return; L_08879894: aot_gpr_31 = (0x0887989Cu); aot_gpr_4 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887989Cu) goto L_0887989C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C604, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887989Cu) goto L_0887989C; AOT_REGCACHE_SYNC_OUT(); return; L_0887989C: - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); aot_gpr_31 = (0x088798A8u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088798A8u) goto L_088798A8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC734, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088798A8u) goto L_088798A8; AOT_REGCACHE_SYNC_OUT(); return; L_088798A8: - aot_gpr_17 = (0u | 1u); - { const bool branch_taken = ctx.gpr[2] != aot_gpr_17; - aot_gpr_4 = (aot_gpr_16 & 255u); + ctx.gpr[17] = (0u | 1u); + { const bool branch_taken = aot_gpr_2 != ctx.gpr[17]; + aot_gpr_4 = (ctx.gpr[16] & 255u); if (branch_taken) { goto L_088798CC; } @@ -4970,19 +4971,19 @@ L_088798A8: L_088798B4: aot_gpr_31 = (0x088798BCu); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088798BCu) goto L_088798BC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC784, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088798BCu) goto L_088798BC; AOT_REGCACHE_SYNC_OUT(); return; L_088798BC: - { const bool branch_taken = ctx.gpr[2] != aot_gpr_17; - aot_gpr_4 = (aot_gpr_16 & 255u); + { const bool branch_taken = aot_gpr_2 != ctx.gpr[17]; + aot_gpr_4 = (ctx.gpr[16] & 255u); if (branch_taken) { goto L_088798CC; } goto L_088798C4; } L_088798C4: - aot_gpr_16 = (aot_gpr_17 | 0u); - aot_gpr_4 = (aot_gpr_16 & 255u); + ctx.gpr[16] = (ctx.gpr[17] | 0u); + aot_gpr_4 = (ctx.gpr[16] & 255u); goto L_088798CC; L_088798CC: { const bool branch_taken = aot_gpr_4 == 0u; @@ -5000,14 +5001,14 @@ L_088798D4: } goto L_088798E0; L_088798E0: - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); aot_gpr_31 = (0x088798ECu); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088798ECu) goto L_088798EC; AOT_REGCACHE_SYNC_OUT(); return; L_088798EC: - aot_gpr_17 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_08879904; @@ -5016,14 +5017,14 @@ L_088798EC: } L_088798F8: aot_gpr_31 = (0x08879900u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879900u) goto L_08879900; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879900u) goto L_08879900; AOT_REGCACHE_SYNC_OUT(); return; L_08879900: - aot_gpr_16 = (aot_gpr_17 | 0u); + ctx.gpr[16] = (ctx.gpr[17] | 0u); goto L_08879904; L_08879904: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[16]); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); goto L_0887990C; L_0887990C: @@ -5032,11 +5033,11 @@ L_0887990C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879914u) goto L_08879914; AOT_REGCACHE_SYNC_OUT(); return; L_08879914: - ctx.gpr[6] = (ctx.gpr[19] + static_cast(74)); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (ctx.gpr[19] + static_cast(74)); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08879924u); aot_gpr_5 = (ctx.gpr[23] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879924u) goto L_08879924; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879924u) goto L_08879924; AOT_REGCACHE_SYNC_OUT(); return; L_08879924: { const bool branch_taken = 0u == 0u; @@ -5047,14 +5048,14 @@ L_08879924: goto L_0887992C; } L_0887992C: - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); aot_gpr_31 = (0x08879938u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879938u) goto L_08879938; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC734, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879938u) goto L_08879938; AOT_REGCACHE_SYNC_OUT(); return; L_08879938: - { const bool branch_taken = ctx.gpr[2] != aot_gpr_17; - aot_gpr_4 = (aot_gpr_16 & 255u); + { const bool branch_taken = aot_gpr_2 != ctx.gpr[17]; + aot_gpr_4 = (ctx.gpr[16] & 255u); if (branch_taken) { goto L_0887995C; } @@ -5063,20 +5064,20 @@ L_08879938: L_08879940: aot_gpr_31 = (0x08879948u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879948u) goto L_08879948; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC784, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879948u) goto L_08879948; AOT_REGCACHE_SYNC_OUT(); return; L_08879948: aot_gpr_4 = (0u | 2u); - { const bool branch_taken = ctx.gpr[2] != aot_gpr_4; - aot_gpr_4 = (aot_gpr_16 & 255u); + { const bool branch_taken = aot_gpr_2 != aot_gpr_4; + aot_gpr_4 = (ctx.gpr[16] & 255u); if (branch_taken) { goto L_0887995C; } goto L_08879954; } L_08879954: - aot_gpr_16 = (0u | 1u); - aot_gpr_4 = (aot_gpr_16 & 255u); + ctx.gpr[16] = (0u | 1u); + aot_gpr_4 = (ctx.gpr[16] & 255u); goto L_0887995C; L_0887995C: { const bool branch_taken = aot_gpr_4 == 0u; @@ -5089,20 +5090,20 @@ L_0887995C: L_08879964: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_16 = (aot_gpr_28 + static_cast(-26780)); + ctx.gpr[16] = (aot_gpr_28 + static_cast(-26780)); if (branch_taken) { goto L_08879998; } goto L_08879970; } L_08879970: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_31 = (0x0887997Cu); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887997Cu) goto L_0887997C; AOT_REGCACHE_SYNC_OUT(); return; L_0887997C: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[18] == 0u; // nop if (branch_taken) { @@ -5113,26 +5114,26 @@ L_0887997C: L_08879988: aot_gpr_31 = (0x08879990u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879990u) goto L_08879990; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879990u) goto L_08879990; AOT_REGCACHE_SYNC_OUT(); return; L_08879990: - aot_gpr_17 = (ctx.gpr[18] | 0u); + ctx.gpr[17] = (ctx.gpr[18] | 0u); goto L_08879994; L_08879994: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); goto L_08879998; L_08879998: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); aot_gpr_31 = (0x088799A4u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088799A4u) goto L_088799A4; AOT_REGCACHE_SYNC_OUT(); return; L_088799A4: - ctx.gpr[6] = (ctx.gpr[19] + static_cast(74)); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (ctx.gpr[19] + static_cast(74)); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x088799B4u); aot_gpr_5 = (ctx.gpr[23] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088799B4u) goto L_088799B4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088799B4u) goto L_088799B4; AOT_REGCACHE_SYNC_OUT(); return; L_088799B4: { const bool branch_taken = 0u == 0u; @@ -5143,11 +5144,11 @@ L_088799B4: goto L_088799BC; } L_088799BC: - ctx.gpr[6] = (ctx.gpr[19] + static_cast(74)); + aot_gpr_6 = (ctx.gpr[19] + static_cast(74)); aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x088799CCu); aot_gpr_5 = (ctx.gpr[23] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088799CCu) goto L_088799CC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088799CCu) goto L_088799CC; AOT_REGCACHE_SYNC_OUT(); return; L_088799CC: { const bool branch_taken = 0u == 0u; @@ -5160,11 +5161,11 @@ L_088799CC: L_088799D4: aot_gpr_31 = (0x088799DCu); aot_gpr_4 = (ctx.gpr[21] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088799DCu) goto L_088799DC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC734, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088799DCu) goto L_088799DC; AOT_REGCACHE_SYNC_OUT(); return; L_088799DC: aot_gpr_4 = (0u | 2u); - { const bool branch_taken = ctx.gpr[2] != aot_gpr_4; + { const bool branch_taken = aot_gpr_2 != aot_gpr_4; // nop if (branch_taken) { goto L_08879A98; @@ -5180,17 +5181,17 @@ L_088799E8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0028_entry, 28u, 47u, 0x08874254u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088799FCu) goto L_088799FC; AOT_REGCACHE_SYNC_OUT(); return; L_088799FC: - ctx.gpr[6] = (aot_mem.aot_direct_load8(ctx.gpr[21] + static_cast(52))); - aot_gpr_16 = (ctx.gpr[29] + static_cast(800)); + aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[21] + static_cast(52))); + ctx.gpr[16] = (ctx.gpr[29] + static_cast(800)); aot_gpr_5 = (aot_gpr_28 + static_cast(-26856)); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(1)); + aot_gpr_6 = (aot_gpr_6 + static_cast(1)); aot_gpr_31 = (0x08879A14u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0212_entry, 212u, 576u, 0x08B562D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879A14u) goto L_08879A14; AOT_REGCACHE_SYNC_OUT(); return; L_08879A14: ctx.gpr[20] = (ctx.gpr[29] + static_cast(806)); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08879A24u); aot_gpr_5 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0032_entry, 32u, 843u, 0x08887B04u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879A24u) goto L_08879A24; @@ -5198,20 +5199,20 @@ L_08879A14: L_08879A24: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_16 = (aot_gpr_28 + static_cast(-26732)); + ctx.gpr[16] = (aot_gpr_28 + static_cast(-26732)); if (branch_taken) { goto L_08879A58; } goto L_08879A30; } L_08879A30: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_31 = (0x08879A3Cu); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879A3Cu) goto L_08879A3C; AOT_REGCACHE_SYNC_OUT(); return; L_08879A3C: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[18] == 0u; // nop if (branch_taken) { @@ -5222,39 +5223,39 @@ L_08879A3C: L_08879A48: aot_gpr_31 = (0x08879A50u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879A50u) goto L_08879A50; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879A50u) goto L_08879A50; AOT_REGCACHE_SYNC_OUT(); return; L_08879A50: - aot_gpr_17 = (ctx.gpr[18] | 0u); + ctx.gpr[17] = (ctx.gpr[18] | 0u); goto L_08879A54; L_08879A54: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); goto L_08879A58; L_08879A58: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); aot_gpr_31 = (0x08879A64u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879A64u) goto L_08879A64; AOT_REGCACHE_SYNC_OUT(); return; L_08879A64: - aot_gpr_16 = (0u | 100u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (0u | 100u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (ctx.gpr[30] | 0u); aot_gpr_31 = (0x08879A78u); - ctx.gpr[6] = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879A78u) goto L_08879A78; + aot_gpr_6 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879A78u) goto L_08879A78; AOT_REGCACHE_SYNC_OUT(); return; L_08879A78: aot_gpr_31 = (0x08879A80u); aot_gpr_4 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879A80u) goto L_08879A80; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C604, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879A80u) goto L_08879A80; AOT_REGCACHE_SYNC_OUT(); return; L_08879A80: aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_5 = (ctx.gpr[23] | 0u); aot_gpr_31 = (0x08879A90u); - ctx.gpr[6] = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879A90u) goto L_08879A90; + aot_gpr_6 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879A90u) goto L_08879A90; AOT_REGCACHE_SYNC_OUT(); return; L_08879A90: { const bool branch_taken = 0u == 0u; @@ -5267,11 +5268,11 @@ L_08879A90: L_08879A98: aot_gpr_31 = (0x08879AA0u); aot_gpr_4 = (ctx.gpr[21] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879AA0u) goto L_08879AA0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC734, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879AA0u) goto L_08879AA0; AOT_REGCACHE_SYNC_OUT(); return; L_08879AA0: aot_gpr_4 = (0u | 3u); - { const bool branch_taken = ctx.gpr[2] != aot_gpr_4; + { const bool branch_taken = aot_gpr_2 != aot_gpr_4; // nop if (branch_taken) { goto L_08879C74; @@ -5287,20 +5288,20 @@ L_08879AAC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0028_entry, 28u, 47u, 0x08874254u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879AC0u) goto L_08879AC0; AOT_REGCACHE_SYNC_OUT(); return; L_08879AC0: - ctx.gpr[6] = (aot_mem.aot_direct_load8(ctx.gpr[21] + static_cast(52))); + aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[21] + static_cast(52))); ctx.gpr[18] = (ctx.gpr[29] + static_cast(816)); - aot_gpr_16 = (aot_gpr_28 + static_cast(-26856)); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(1)); + ctx.gpr[16] = (aot_gpr_28 + static_cast(-26856)); + aot_gpr_6 = (aot_gpr_6 + static_cast(1)); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08879ADCu); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0212_entry, 212u, 576u, 0x08B562D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879ADCu) goto L_08879ADC; AOT_REGCACHE_SYNC_OUT(); return; L_08879ADC: - aot_gpr_17 = (ctx.gpr[29] + static_cast(822)); + ctx.gpr[17] = (ctx.gpr[29] + static_cast(822)); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08879AECu); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0032_entry, 32u, 843u, 0x08887B04u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879AECu) goto L_08879AEC; AOT_REGCACHE_SYNC_OUT(); return; L_08879AEC: @@ -5319,7 +5320,7 @@ L_08879AF8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879B04u) goto L_08879B04; AOT_REGCACHE_SYNC_OUT(); return; L_08879B04: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[19] == 0u; // nop if (branch_taken) { @@ -5330,7 +5331,7 @@ L_08879B04: L_08879B10: aot_gpr_31 = (0x08879B18u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879B18u) goto L_08879B18; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879B18u) goto L_08879B18; AOT_REGCACHE_SYNC_OUT(); return; L_08879B18: ctx.gpr[18] = (ctx.gpr[19] | 0u); @@ -5346,23 +5347,23 @@ L_08879B20: AOT_REGCACHE_SYNC_OUT(); return; L_08879B2C: ctx.gpr[18] = (0u | 100u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (ctx.gpr[30] | 0u); aot_gpr_31 = (0x08879B40u); - ctx.gpr[6] = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879B40u) goto L_08879B40; + aot_gpr_6 = (ctx.gpr[18] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879B40u) goto L_08879B40; AOT_REGCACHE_SYNC_OUT(); return; L_08879B40: aot_gpr_31 = (0x08879B48u); aot_gpr_4 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879B48u) goto L_08879B48; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C604, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879B48u) goto L_08879B48; AOT_REGCACHE_SYNC_OUT(); return; L_08879B48: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[23] | 0u); aot_gpr_31 = (0x08879B58u); - ctx.gpr[6] = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879B58u) goto L_08879B58; + aot_gpr_6 = (ctx.gpr[18] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879B58u) goto L_08879B58; AOT_REGCACHE_SYNC_OUT(); return; L_08879B58: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(1096))); @@ -5381,13 +5382,13 @@ L_08879B70: } goto L_08879B7C; L_08879B7C: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_31 = (0x08879B88u); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879B88u) goto L_08879B88; AOT_REGCACHE_SYNC_OUT(); return; L_08879B88: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[18] == 0u; // nop if (branch_taken) { @@ -5398,13 +5399,13 @@ L_08879B88: L_08879B94: aot_gpr_31 = (0x08879B9Cu); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879B9Cu) goto L_08879B9C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879B9Cu) goto L_08879B9C; AOT_REGCACHE_SYNC_OUT(); return; L_08879B9C: - aot_gpr_17 = (ctx.gpr[18] | 0u); + ctx.gpr[17] = (ctx.gpr[18] | 0u); goto L_08879BA0; L_08879BA0: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); goto L_08879BA8; L_08879BA8: @@ -5413,24 +5414,24 @@ L_08879BA8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879BB0u) goto L_08879BB0; AOT_REGCACHE_SYNC_OUT(); return; L_08879BB0: - ctx.gpr[6] = (0u | 113u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (0u | 113u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08879BC0u); aot_gpr_5 = (ctx.gpr[30] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879BC0u) goto L_08879BC0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879BC0u) goto L_08879BC0; AOT_REGCACHE_SYNC_OUT(); return; L_08879BC0: aot_gpr_31 = (0x08879BC8u); aot_gpr_4 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879BC8u) goto L_08879BC8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C604, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879BC8u) goto L_08879BC8; AOT_REGCACHE_SYNC_OUT(); return; L_08879BC8: aot_gpr_31 = (0x08879BD0u); aot_gpr_4 = (ctx.gpr[21] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879BD0u) goto L_08879BD0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC784, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879BD0u) goto L_08879BD0; AOT_REGCACHE_SYNC_OUT(); return; L_08879BD0: - { const bool branch_taken = static_cast(ctx.gpr[2]) <= 0; + { const bool branch_taken = static_cast(aot_gpr_2) <= 0; // nop if (branch_taken) { goto L_08879C1C; @@ -5438,31 +5439,31 @@ L_08879BD0: goto L_08879BD8; } L_08879BD8: - aot_gpr_17 = (ctx.gpr[29] + static_cast(844)); + ctx.gpr[17] = (ctx.gpr[29] + static_cast(844)); aot_gpr_31 = (0x08879BE4u); aot_gpr_4 = (ctx.gpr[21] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879BE4u) goto L_08879BE4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC784, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879BE4u) goto L_08879BE4; AOT_REGCACHE_SYNC_OUT(); return; L_08879BE4: - aot_gpr_4 = (aot_gpr_17 | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08879BF4u); - ctx.gpr[6] = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0212_entry, 212u, 576u, 0x08B562D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879BF4u) goto L_08879BF4; AOT_REGCACHE_SYNC_OUT(); return; L_08879BF4: - aot_gpr_16 = (ctx.gpr[29] + static_cast(832)); - aot_gpr_4 = (aot_gpr_17 | 0u); + ctx.gpr[16] = (ctx.gpr[29] + static_cast(832)); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08879C04u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0032_entry, 32u, 843u, 0x08887B04u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879C04u) goto L_08879C04; AOT_REGCACHE_SYNC_OUT(); return; L_08879C04: - ctx.gpr[6] = (0u | 113u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_6 = (0u | 113u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08879C14u); aot_gpr_5 = (ctx.gpr[23] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879C14u) goto L_08879C14; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879C14u) goto L_08879C14; AOT_REGCACHE_SYNC_OUT(); return; L_08879C14: { const bool branch_taken = 0u == 0u; @@ -5482,14 +5483,14 @@ L_08879C1C: goto L_08879C28; } L_08879C28: - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); aot_gpr_31 = (0x08879C34u); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879C34u) goto L_08879C34; AOT_REGCACHE_SYNC_OUT(); return; L_08879C34: - aot_gpr_17 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_08879C4C; @@ -5498,14 +5499,14 @@ L_08879C34: } L_08879C40: aot_gpr_31 = (0x08879C48u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879C48u) goto L_08879C48; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879C48u) goto L_08879C48; AOT_REGCACHE_SYNC_OUT(); return; L_08879C48: - aot_gpr_16 = (aot_gpr_17 | 0u); + ctx.gpr[16] = (ctx.gpr[17] | 0u); goto L_08879C4C; L_08879C4C: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[16]); goto L_08879C50; L_08879C50: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); @@ -5514,11 +5515,11 @@ L_08879C50: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879C5Cu) goto L_08879C5C; AOT_REGCACHE_SYNC_OUT(); return; L_08879C5C: - ctx.gpr[6] = (0u | 113u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (0u | 113u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08879C6Cu); aot_gpr_5 = (ctx.gpr[23] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879C6Cu) goto L_08879C6C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879C6Cu) goto L_08879C6C; AOT_REGCACHE_SYNC_OUT(); return; L_08879C6C: { const bool branch_taken = 0u == 0u; @@ -5531,11 +5532,11 @@ L_08879C6C: L_08879C74: aot_gpr_31 = (0x08879C7Cu); aot_gpr_4 = (ctx.gpr[21] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879C7Cu) goto L_08879C7C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC734, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879C7Cu) goto L_08879C7C; AOT_REGCACHE_SYNC_OUT(); return; L_08879C7C: - aot_gpr_16 = (0u | 4u); - { const bool branch_taken = ctx.gpr[2] != aot_gpr_16; + ctx.gpr[16] = (0u | 4u); + { const bool branch_taken = aot_gpr_2 != ctx.gpr[16]; // nop if (branch_taken) { goto L_08879DF4; @@ -5552,21 +5553,21 @@ L_08879C88: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0028_entry, 28u, 47u, 0x08874254u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879CA0u) goto L_08879CA0; AOT_REGCACHE_SYNC_OUT(); return; L_08879CA0: - aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(1080))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(1080))); ctx.gpr[19] = (ctx.gpr[29] + static_cast(852)); ctx.gpr[22] = (aot_gpr_28 + static_cast(-26836)); aot_gpr_31 = (0x08879CB4u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 143u, 0x08ADC764u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879CB4u) goto L_08879CB4; AOT_REGCACHE_SYNC_OUT(); return; L_08879CB4: - ctx.gpr[21] = (ctx.gpr[2] | 0u); + ctx.gpr[21] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08879CC0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 143u, 0x08ADC764u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879CC0u) goto L_08879CC0; AOT_REGCACHE_SYNC_OUT(); return; L_08879CC0: - { const bool branch_taken = ctx.gpr[2] != aot_gpr_17; + { const bool branch_taken = aot_gpr_2 != ctx.gpr[17]; ctx.gpr[20] = (ctx.gpr[29] + static_cast(868)); if (branch_taken) { goto L_08879D10; @@ -5583,14 +5584,14 @@ L_08879CC8: goto L_08879CD4; } L_08879CD4: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_31 = (0x08879CE0u); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879CE0u) goto L_08879CE0; AOT_REGCACHE_SYNC_OUT(); return; L_08879CE0: - aot_gpr_16 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08879CF8; @@ -5599,14 +5600,14 @@ L_08879CE0: } L_08879CEC: aot_gpr_31 = (0x08879CF4u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879CF4u) goto L_08879CF4; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879CF4u) goto L_08879CF4; AOT_REGCACHE_SYNC_OUT(); return; L_08879CF4: - aot_gpr_17 = (aot_gpr_16 | 0u); + ctx.gpr[17] = (ctx.gpr[16] | 0u); goto L_08879CF8; L_08879CF8: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); goto L_08879CFC; L_08879CFC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); @@ -5616,7 +5617,7 @@ L_08879CFC: AOT_REGCACHE_SYNC_OUT(); return; L_08879D08: { const bool branch_taken = 0u == 0u; - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); if (branch_taken) { goto L_08879D54; } @@ -5632,14 +5633,14 @@ L_08879D10: goto L_08879D1C; } L_08879D1C: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_31 = (0x08879D28u); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879D28u) goto L_08879D28; AOT_REGCACHE_SYNC_OUT(); return; L_08879D28: - aot_gpr_16 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08879D40; @@ -5648,14 +5649,14 @@ L_08879D28: } L_08879D34: aot_gpr_31 = (0x08879D3Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879D3Cu) goto L_08879D3C; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879D3Cu) goto L_08879D3C; AOT_REGCACHE_SYNC_OUT(); return; L_08879D3C: - aot_gpr_17 = (aot_gpr_16 | 0u); + ctx.gpr[17] = (ctx.gpr[16] | 0u); goto L_08879D40; L_08879D40: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); goto L_08879D44; L_08879D44: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); @@ -5664,7 +5665,7 @@ L_08879D44: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879D50u) goto L_08879D50; AOT_REGCACHE_SYNC_OUT(); return; L_08879D50: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); goto L_08879D54; L_08879D54: aot_gpr_31 = (0x08879D5Cu); @@ -5674,9 +5675,9 @@ L_08879D54: L_08879D5C: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (ctx.gpr[22] | 0u); - ctx.gpr[6] = (ctx.gpr[21] | 0u); + aot_gpr_6 = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x08879D70u); - ctx.gpr[7] = (ctx.gpr[2] | 0u); + ctx.gpr[7] = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0212_entry, 212u, 576u, 0x08B562D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879D70u) goto L_08879D70; AOT_REGCACHE_SYNC_OUT(); return; L_08879D70: @@ -5693,14 +5694,14 @@ L_08879D7C: } goto L_08879D88; L_08879D88: - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); aot_gpr_31 = (0x08879D94u); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879D94u) goto L_08879D94; AOT_REGCACHE_SYNC_OUT(); return; L_08879D94: - aot_gpr_17 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_08879DAC; @@ -5709,14 +5710,14 @@ L_08879D94: } L_08879DA0: aot_gpr_31 = (0x08879DA8u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879DA8u) goto L_08879DA8; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879DA8u) goto L_08879DA8; AOT_REGCACHE_SYNC_OUT(); return; L_08879DA8: - aot_gpr_16 = (aot_gpr_17 | 0u); + ctx.gpr[16] = (ctx.gpr[17] | 0u); goto L_08879DAC; L_08879DAC: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[16]); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); goto L_08879DB4; L_08879DB4: @@ -5725,24 +5726,24 @@ L_08879DB4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879DBCu) goto L_08879DBC; AOT_REGCACHE_SYNC_OUT(); return; L_08879DBC: - aot_gpr_16 = (0u | 100u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (0u | 100u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (ctx.gpr[30] | 0u); aot_gpr_31 = (0x08879DD0u); - ctx.gpr[6] = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879DD0u) goto L_08879DD0; + aot_gpr_6 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879DD0u) goto L_08879DD0; AOT_REGCACHE_SYNC_OUT(); return; L_08879DD0: aot_gpr_31 = (0x08879DD8u); aot_gpr_4 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879DD8u) goto L_08879DD8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C604, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879DD8u) goto L_08879DD8; AOT_REGCACHE_SYNC_OUT(); return; L_08879DD8: aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_5 = (ctx.gpr[23] | 0u); aot_gpr_31 = (0x08879DE8u); - ctx.gpr[6] = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879DE8u) goto L_08879DE8; + aot_gpr_6 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879DE8u) goto L_08879DE8; AOT_REGCACHE_SYNC_OUT(); return; L_08879DE8: ctx.gpr[20] = (0u | 3u); @@ -5756,11 +5757,11 @@ L_08879DE8: L_08879DF4: aot_gpr_31 = (0x08879DFCu); aot_gpr_4 = (ctx.gpr[21] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879DFCu) goto L_08879DFC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC734, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879DFCu) goto L_08879DFC; AOT_REGCACHE_SYNC_OUT(); return; L_08879DFC: aot_gpr_4 = (0u | 6u); - { const bool branch_taken = ctx.gpr[2] != aot_gpr_4; + { const bool branch_taken = aot_gpr_2 != aot_gpr_4; // nop if (branch_taken) { goto L_08879F08; @@ -5777,7 +5778,7 @@ L_08879E08: AOT_REGCACHE_SYNC_OUT(); return; L_08879E1C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7872))); - aot_gpr_17 = (ctx.gpr[29] + static_cast(900)); + ctx.gpr[17] = (ctx.gpr[29] + static_cast(900)); { const bool branch_taken = aot_gpr_4 != 0u; ctx.gpr[20] = (ctx.gpr[29] + static_cast(916)); if (branch_taken) { @@ -5794,7 +5795,7 @@ L_08879E2C: AOT_REGCACHE_SYNC_OUT(); return; L_08879E3C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7868))); - { const bool branch_taken = aot_gpr_4 != aot_gpr_16; + { const bool branch_taken = aot_gpr_4 != ctx.gpr[16]; // nop if (branch_taken) { goto L_08879E6C; @@ -5802,16 +5803,16 @@ L_08879E3C: goto L_08879E48; } L_08879E48: - aot_gpr_16 = (aot_gpr_28 + static_cast(-26708)); + ctx.gpr[16] = (aot_gpr_28 + static_cast(-26708)); aot_gpr_31 = (0x08879E54u); aot_gpr_4 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 149u, 0x08ADC794u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879E54u) goto L_08879E54; AOT_REGCACHE_SYNC_OUT(); return; L_08879E54: - aot_gpr_4 = (aot_gpr_17 | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08879E64u); - ctx.gpr[6] = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0212_entry, 212u, 576u, 0x08B562D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879E64u) goto L_08879E64; AOT_REGCACHE_SYNC_OUT(); return; L_08879E64: @@ -5823,20 +5824,20 @@ L_08879E64: goto L_08879E6C; } L_08879E6C: - aot_gpr_16 = (aot_gpr_28 + static_cast(-26704)); + ctx.gpr[16] = (aot_gpr_28 + static_cast(-26704)); aot_gpr_31 = (0x08879E78u); aot_gpr_4 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 149u, 0x08ADC794u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879E78u) goto L_08879E78; AOT_REGCACHE_SYNC_OUT(); return; L_08879E78: - aot_gpr_4 = (aot_gpr_17 | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08879E88u); - ctx.gpr[6] = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0212_entry, 212u, 576u, 0x08B562D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879E88u) goto L_08879E88; AOT_REGCACHE_SYNC_OUT(); return; L_08879E88: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08879E94u); aot_gpr_5 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0032_entry, 32u, 843u, 0x08887B04u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879E94u) goto L_08879E94; @@ -5849,14 +5850,14 @@ L_08879E94: } goto L_08879EA0; L_08879EA0: - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); aot_gpr_31 = (0x08879EACu); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879EACu) goto L_08879EAC; AOT_REGCACHE_SYNC_OUT(); return; L_08879EAC: - aot_gpr_17 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_08879EC4; @@ -5865,14 +5866,14 @@ L_08879EAC: } L_08879EB8: aot_gpr_31 = (0x08879EC0u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879EC0u) goto L_08879EC0; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879EC0u) goto L_08879EC0; AOT_REGCACHE_SYNC_OUT(); return; L_08879EC0: - aot_gpr_16 = (aot_gpr_17 | 0u); + ctx.gpr[16] = (ctx.gpr[17] | 0u); goto L_08879EC4; L_08879EC4: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[16]); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); goto L_08879ECC; L_08879ECC: @@ -5881,24 +5882,24 @@ L_08879ECC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879ED4u) goto L_08879ED4; AOT_REGCACHE_SYNC_OUT(); return; L_08879ED4: - aot_gpr_16 = (0u | 100u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (0u | 100u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (ctx.gpr[30] | 0u); aot_gpr_31 = (0x08879EE8u); - ctx.gpr[6] = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879EE8u) goto L_08879EE8; + aot_gpr_6 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879EE8u) goto L_08879EE8; AOT_REGCACHE_SYNC_OUT(); return; L_08879EE8: aot_gpr_31 = (0x08879EF0u); aot_gpr_4 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879EF0u) goto L_08879EF0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C604, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879EF0u) goto L_08879EF0; AOT_REGCACHE_SYNC_OUT(); return; L_08879EF0: aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_5 = (ctx.gpr[23] | 0u); aot_gpr_31 = (0x08879F00u); - ctx.gpr[6] = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879F00u) goto L_08879F00; + aot_gpr_6 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879F00u) goto L_08879F00; AOT_REGCACHE_SYNC_OUT(); return; L_08879F00: { const bool branch_taken = 0u == 0u; @@ -5911,11 +5912,11 @@ L_08879F00: L_08879F08: aot_gpr_31 = (0x08879F10u); aot_gpr_4 = (ctx.gpr[21] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879F10u) goto L_08879F10; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC734, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879F10u) goto L_08879F10; AOT_REGCACHE_SYNC_OUT(); return; L_08879F10: aot_gpr_4 = (0u | 5u); - { const bool branch_taken = ctx.gpr[2] == aot_gpr_4; + { const bool branch_taken = aot_gpr_2 == aot_gpr_4; // nop if (branch_taken) { goto L_0887A454; @@ -5925,11 +5926,11 @@ L_08879F10: L_08879F1C: aot_gpr_31 = (0x08879F24u); aot_gpr_4 = (ctx.gpr[21] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879F24u) goto L_08879F24; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC734, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879F24u) goto L_08879F24; AOT_REGCACHE_SYNC_OUT(); return; L_08879F24: aot_gpr_4 = (0u | 7u); - { const bool branch_taken = ctx.gpr[2] != aot_gpr_4; + { const bool branch_taken = aot_gpr_2 != aot_gpr_4; // nop if (branch_taken) { goto L_0887A21C; @@ -5946,9 +5947,9 @@ L_08879F30: AOT_REGCACHE_SYNC_OUT(); return; L_08879F44: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); - aot_gpr_16 = (aot_gpr_28 + static_cast(-26864)); + ctx.gpr[16] = (aot_gpr_28 + static_cast(-26864)); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_17 = (aot_gpr_28 + static_cast(-26844)); + ctx.gpr[17] = (aot_gpr_28 + static_cast(-26844)); if (branch_taken) { goto L_08879F7C; } @@ -5961,7 +5962,7 @@ L_08879F54: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879F60u) goto L_08879F60; AOT_REGCACHE_SYNC_OUT(); return; L_08879F60: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[19] == 0u; // nop if (branch_taken) { @@ -5972,7 +5973,7 @@ L_08879F60: L_08879F6C: aot_gpr_31 = (0x08879F74u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879F74u) goto L_08879F74; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879F74u) goto L_08879F74; AOT_REGCACHE_SYNC_OUT(); return; L_08879F74: ctx.gpr[18] = (ctx.gpr[19] | 0u); @@ -5983,20 +5984,20 @@ L_08879F78: L_08879F7C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); aot_gpr_31 = (0x08879F88u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879F88u) goto L_08879F88; AOT_REGCACHE_SYNC_OUT(); return; L_08879F88: - ctx.gpr[6] = (0u | 100u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (0u | 100u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08879F98u); aot_gpr_5 = (ctx.gpr[30] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879F98u) goto L_08879F98; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879F98u) goto L_08879F98; AOT_REGCACHE_SYNC_OUT(); return; L_08879F98: aot_gpr_31 = (0x08879FA0u); aot_gpr_4 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879FA0u) goto L_08879FA0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C604, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879FA0u) goto L_08879FA0; AOT_REGCACHE_SYNC_OUT(); return; L_08879FA0: aot_gpr_31 = (0x08879FA8u); @@ -6004,7 +6005,7 @@ L_08879FA0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 143u, 0x08ADC764u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879FA8u) goto L_08879FA8; AOT_REGCACHE_SYNC_OUT(); return; L_08879FA8: - { const bool branch_taken = static_cast(ctx.gpr[2]) <= 0; + { const bool branch_taken = static_cast(aot_gpr_2) <= 0; ctx.gpr[22] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(1096))); if (branch_taken) { goto L_08879FF8; @@ -6012,32 +6013,32 @@ L_08879FA8: goto L_08879FB0; } L_08879FB0: - aot_gpr_16 = (ctx.gpr[29] + static_cast(956)); + ctx.gpr[16] = (ctx.gpr[29] + static_cast(956)); ctx.gpr[18] = (aot_gpr_28 + static_cast(-26856)); aot_gpr_31 = (0x08879FC0u); aot_gpr_4 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 143u, 0x08ADC764u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879FC0u) goto L_08879FC0; AOT_REGCACHE_SYNC_OUT(); return; L_08879FC0: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08879FD0u); - ctx.gpr[6] = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0212_entry, 212u, 576u, 0x08B562D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879FD0u) goto L_08879FD0; AOT_REGCACHE_SYNC_OUT(); return; L_08879FD0: ctx.gpr[18] = (ctx.gpr[29] + static_cast(946)); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08879FE0u); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0032_entry, 32u, 843u, 0x08887B04u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879FE0u) goto L_08879FE0; AOT_REGCACHE_SYNC_OUT(); return; L_08879FE0: - ctx.gpr[6] = (0u | 100u); + aot_gpr_6 = (0u | 100u); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08879FF0u); aot_gpr_5 = (ctx.gpr[23] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879FF0u) goto L_08879FF0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08879FF0u) goto L_08879FF0; AOT_REGCACHE_SYNC_OUT(); return; L_08879FF0: { const bool branch_taken = 0u == 0u; @@ -6057,13 +6058,13 @@ L_08879FF8: goto L_0887A004; } L_0887A004: - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); aot_gpr_31 = (0x0887A010u); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A010u) goto L_0887A010; AOT_REGCACHE_SYNC_OUT(); return; L_0887A010: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[18] == 0u; // nop if (branch_taken) { @@ -6074,13 +6075,13 @@ L_0887A010: L_0887A01C: aot_gpr_31 = (0x0887A024u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A024u) goto L_0887A024; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A024u) goto L_0887A024; AOT_REGCACHE_SYNC_OUT(); return; L_0887A024: - aot_gpr_16 = (ctx.gpr[18] | 0u); + ctx.gpr[16] = (ctx.gpr[18] | 0u); goto L_0887A028; L_0887A028: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[16]); ctx.gpr[22] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(1096))); goto L_0887A030; L_0887A030: @@ -6090,11 +6091,11 @@ L_0887A030: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A03Cu) goto L_0887A03C; AOT_REGCACHE_SYNC_OUT(); return; L_0887A03C: - ctx.gpr[6] = (0u | 100u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (0u | 100u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x0887A04Cu); aot_gpr_5 = (ctx.gpr[23] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A04Cu) goto L_0887A04C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A04Cu) goto L_0887A04C; AOT_REGCACHE_SYNC_OUT(); return; L_0887A04C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(204))); @@ -6112,13 +6113,13 @@ L_0887A060: } goto L_0887A06C; L_0887A06C: - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); aot_gpr_31 = (0x0887A078u); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A078u) goto L_0887A078; AOT_REGCACHE_SYNC_OUT(); return; L_0887A078: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[18] == 0u; // nop if (branch_taken) { @@ -6129,31 +6130,31 @@ L_0887A078: L_0887A084: aot_gpr_31 = (0x0887A08Cu); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A08Cu) goto L_0887A08C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A08Cu) goto L_0887A08C; AOT_REGCACHE_SYNC_OUT(); return; L_0887A08C: - aot_gpr_16 = (ctx.gpr[18] | 0u); + ctx.gpr[16] = (ctx.gpr[18] | 0u); goto L_0887A090; L_0887A090: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[16]); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); goto L_0887A098; L_0887A098: aot_gpr_31 = (0x0887A0A0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A0A0u) goto L_0887A0A0; AOT_REGCACHE_SYNC_OUT(); return; L_0887A0A0: - ctx.gpr[6] = (0u | 113u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (0u | 113u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x0887A0B0u); aot_gpr_5 = (ctx.gpr[30] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A0B0u) goto L_0887A0B0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A0B0u) goto L_0887A0B0; AOT_REGCACHE_SYNC_OUT(); return; L_0887A0B0: aot_gpr_31 = (0x0887A0B8u); aot_gpr_4 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A0B8u) goto L_0887A0B8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C604, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A0B8u) goto L_0887A0B8; AOT_REGCACHE_SYNC_OUT(); return; L_0887A0B8: aot_gpr_31 = (0x0887A0C0u); @@ -6161,7 +6162,7 @@ L_0887A0B8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 145u, 0x08ADC774u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A0C0u) goto L_0887A0C0; AOT_REGCACHE_SYNC_OUT(); return; L_0887A0C0: - { const bool branch_taken = static_cast(ctx.gpr[2]) <= 0; + { const bool branch_taken = static_cast(aot_gpr_2) <= 0; // nop if (branch_taken) { goto L_0887A1C0; @@ -6169,22 +6170,22 @@ L_0887A0C0: goto L_0887A0C8; } L_0887A0C8: - aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(1080))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(1080))); ctx.gpr[19] = (ctx.gpr[29] + static_cast(992)); ctx.gpr[21] = (aot_gpr_28 + static_cast(-26836)); aot_gpr_31 = (0x0887A0DCu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 145u, 0x08ADC774u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A0DCu) goto L_0887A0DC; AOT_REGCACHE_SYNC_OUT(); return; L_0887A0DC: - ctx.gpr[20] = (ctx.gpr[2] | 0u); + ctx.gpr[20] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x0887A0E8u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 145u, 0x08ADC774u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A0E8u) goto L_0887A0E8; AOT_REGCACHE_SYNC_OUT(); return; L_0887A0E8: aot_gpr_4 = (0u | 1u); - if (ctx.gpr[2] != aot_gpr_4) { + if (aot_gpr_2 != aot_gpr_4) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); goto L_0887A13C; } @@ -6199,14 +6200,14 @@ L_0887A0F4: goto L_0887A100; } L_0887A100: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_31 = (0x0887A10Cu); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A10Cu) goto L_0887A10C; AOT_REGCACHE_SYNC_OUT(); return; L_0887A10C: - aot_gpr_16 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_0887A124; @@ -6215,14 +6216,14 @@ L_0887A10C: } L_0887A118: aot_gpr_31 = (0x0887A120u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A120u) goto L_0887A120; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A120u) goto L_0887A120; AOT_REGCACHE_SYNC_OUT(); return; L_0887A120: - aot_gpr_17 = (aot_gpr_16 | 0u); + ctx.gpr[17] = (ctx.gpr[16] | 0u); goto L_0887A124; L_0887A124: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); goto L_0887A128; L_0887A128: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); @@ -6232,7 +6233,7 @@ L_0887A128: AOT_REGCACHE_SYNC_OUT(); return; L_0887A134: { const bool branch_taken = 0u == 0u; - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); if (branch_taken) { goto L_0887A17C; } @@ -6247,14 +6248,14 @@ L_0887A13C: goto L_0887A144; } L_0887A144: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_31 = (0x0887A150u); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A150u) goto L_0887A150; AOT_REGCACHE_SYNC_OUT(); return; L_0887A150: - aot_gpr_16 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_0887A168; @@ -6263,14 +6264,14 @@ L_0887A150: } L_0887A15C: aot_gpr_31 = (0x0887A164u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A164u) goto L_0887A164; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A164u) goto L_0887A164; AOT_REGCACHE_SYNC_OUT(); return; L_0887A164: - aot_gpr_17 = (aot_gpr_16 | 0u); + ctx.gpr[17] = (ctx.gpr[16] | 0u); goto L_0887A168; L_0887A168: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); goto L_0887A16C; L_0887A16C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); @@ -6279,7 +6280,7 @@ L_0887A16C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A178u) goto L_0887A178; AOT_REGCACHE_SYNC_OUT(); return; L_0887A178: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); goto L_0887A17C; L_0887A17C: aot_gpr_31 = (0x0887A184u); @@ -6289,24 +6290,24 @@ L_0887A17C: L_0887A184: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (ctx.gpr[21] | 0u); - ctx.gpr[6] = (ctx.gpr[20] | 0u); + aot_gpr_6 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x0887A198u); - ctx.gpr[7] = (ctx.gpr[2] | 0u); + ctx.gpr[7] = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0212_entry, 212u, 576u, 0x08B562D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A198u) goto L_0887A198; AOT_REGCACHE_SYNC_OUT(); return; L_0887A198: - aot_gpr_16 = (ctx.gpr[29] + static_cast(962)); + ctx.gpr[16] = (ctx.gpr[29] + static_cast(962)); aot_gpr_4 = (ctx.gpr[29] + static_cast(992)); aot_gpr_31 = (0x0887A1A8u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0032_entry, 32u, 843u, 0x08887B04u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A1A8u) goto L_0887A1A8; AOT_REGCACHE_SYNC_OUT(); return; L_0887A1A8: - ctx.gpr[6] = (0u | 113u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_6 = (0u | 113u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x0887A1B8u); aot_gpr_5 = (ctx.gpr[23] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A1B8u) goto L_0887A1B8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A1B8u) goto L_0887A1B8; AOT_REGCACHE_SYNC_OUT(); return; L_0887A1B8: { const bool branch_taken = 0u == 0u; @@ -6319,20 +6320,20 @@ L_0887A1B8: L_0887A1C0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_16 = (aot_gpr_28 + static_cast(-26852)); + ctx.gpr[16] = (aot_gpr_28 + static_cast(-26852)); if (branch_taken) { goto L_0887A1F4; } goto L_0887A1CC; } L_0887A1CC: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_31 = (0x0887A1D8u); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A1D8u) goto L_0887A1D8; AOT_REGCACHE_SYNC_OUT(); return; L_0887A1D8: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[18] == 0u; // nop if (branch_taken) { @@ -6343,26 +6344,26 @@ L_0887A1D8: L_0887A1E4: aot_gpr_31 = (0x0887A1ECu); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A1ECu) goto L_0887A1EC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A1ECu) goto L_0887A1EC; AOT_REGCACHE_SYNC_OUT(); return; L_0887A1EC: - aot_gpr_17 = (ctx.gpr[18] | 0u); + ctx.gpr[17] = (ctx.gpr[18] | 0u); goto L_0887A1F0; L_0887A1F0: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); goto L_0887A1F4; L_0887A1F4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); aot_gpr_31 = (0x0887A200u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A200u) goto L_0887A200; AOT_REGCACHE_SYNC_OUT(); return; L_0887A200: - ctx.gpr[6] = (0u | 113u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (0u | 113u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x0887A210u); aot_gpr_5 = (ctx.gpr[23] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A210u) goto L_0887A210; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A210u) goto L_0887A210; AOT_REGCACHE_SYNC_OUT(); return; L_0887A210: ctx.gpr[20] = (0u | 4u); @@ -6376,11 +6377,11 @@ L_0887A210: L_0887A21C: aot_gpr_31 = (0x0887A224u); aot_gpr_4 = (ctx.gpr[21] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A224u) goto L_0887A224; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC734, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A224u) goto L_0887A224; AOT_REGCACHE_SYNC_OUT(); return; L_0887A224: aot_gpr_4 = (0u | 8u); - { const bool branch_taken = ctx.gpr[2] != aot_gpr_4; + { const bool branch_taken = aot_gpr_2 != aot_gpr_4; // nop if (branch_taken) { goto L_0887A2E0; @@ -6396,19 +6397,19 @@ L_0887A230: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0028_entry, 28u, 47u, 0x08874254u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A244u) goto L_0887A244; AOT_REGCACHE_SYNC_OUT(); return; L_0887A244: - ctx.gpr[6] = (aot_mem.aot_direct_load8(ctx.gpr[21] + static_cast(52))); - aot_gpr_17 = (ctx.gpr[29] + static_cast(1008)); + aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[21] + static_cast(52))); + ctx.gpr[17] = (ctx.gpr[29] + static_cast(1008)); aot_gpr_5 = (aot_gpr_28 + static_cast(-26856)); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(1)); + aot_gpr_6 = (aot_gpr_6 + static_cast(1)); aot_gpr_31 = (0x0887A25Cu); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0212_entry, 212u, 576u, 0x08B562D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A25Cu) goto L_0887A25C; AOT_REGCACHE_SYNC_OUT(); return; L_0887A25C: - aot_gpr_16 = (ctx.gpr[29] + static_cast(1014)); - aot_gpr_4 = (aot_gpr_17 | 0u); + ctx.gpr[16] = (ctx.gpr[29] + static_cast(1014)); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0887A26Cu); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0032_entry, 32u, 843u, 0x08887B04u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A26Cu) goto L_0887A26C; AOT_REGCACHE_SYNC_OUT(); return; L_0887A26C: @@ -6421,13 +6422,13 @@ L_0887A26C: goto L_0887A278; } L_0887A278: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_31 = (0x0887A284u); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A284u) goto L_0887A284; AOT_REGCACHE_SYNC_OUT(); return; L_0887A284: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[18] == 0u; // nop if (branch_taken) { @@ -6438,13 +6439,13 @@ L_0887A284: L_0887A290: aot_gpr_31 = (0x0887A298u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A298u) goto L_0887A298; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A298u) goto L_0887A298; AOT_REGCACHE_SYNC_OUT(); return; L_0887A298: - aot_gpr_17 = (ctx.gpr[18] | 0u); + ctx.gpr[17] = (ctx.gpr[18] | 0u); goto L_0887A29C; L_0887A29C: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); goto L_0887A2A0; L_0887A2A0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); @@ -6453,24 +6454,24 @@ L_0887A2A0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A2ACu) goto L_0887A2AC; AOT_REGCACHE_SYNC_OUT(); return; L_0887A2AC: - aot_gpr_17 = (0u | 100u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (0u | 100u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (ctx.gpr[30] | 0u); aot_gpr_31 = (0x0887A2C0u); - ctx.gpr[6] = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A2C0u) goto L_0887A2C0; + aot_gpr_6 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A2C0u) goto L_0887A2C0; AOT_REGCACHE_SYNC_OUT(); return; L_0887A2C0: aot_gpr_31 = (0x0887A2C8u); aot_gpr_4 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A2C8u) goto L_0887A2C8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C604, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A2C8u) goto L_0887A2C8; AOT_REGCACHE_SYNC_OUT(); return; L_0887A2C8: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[23] | 0u); aot_gpr_31 = (0x0887A2D8u); - ctx.gpr[6] = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A2D8u) goto L_0887A2D8; + aot_gpr_6 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A2D8u) goto L_0887A2D8; AOT_REGCACHE_SYNC_OUT(); return; L_0887A2D8: { const bool branch_taken = 0u == 0u; @@ -6483,11 +6484,11 @@ L_0887A2D8: L_0887A2E0: aot_gpr_31 = (0x0887A2E8u); aot_gpr_4 = (ctx.gpr[21] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A2E8u) goto L_0887A2E8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC734, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A2E8u) goto L_0887A2E8; AOT_REGCACHE_SYNC_OUT(); return; L_0887A2E8: aot_gpr_4 = (0u | 9u); - { const bool branch_taken = ctx.gpr[2] != aot_gpr_4; + { const bool branch_taken = aot_gpr_2 != aot_gpr_4; // nop if (branch_taken) { goto L_0887A454; @@ -6514,14 +6515,14 @@ L_0887A30C: goto L_0887A31C; } L_0887A31C: - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); aot_gpr_31 = (0x0887A328u); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A328u) goto L_0887A328; AOT_REGCACHE_SYNC_OUT(); return; L_0887A328: - aot_gpr_17 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_0887A340; @@ -6530,14 +6531,14 @@ L_0887A328: } L_0887A334: aot_gpr_31 = (0x0887A33Cu); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A33Cu) goto L_0887A33C; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A33Cu) goto L_0887A33C; AOT_REGCACHE_SYNC_OUT(); return; L_0887A33C: - aot_gpr_16 = (aot_gpr_17 | 0u); + ctx.gpr[16] = (ctx.gpr[17] | 0u); goto L_0887A340; L_0887A340: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[16]); goto L_0887A344; L_0887A344: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); @@ -6546,16 +6547,16 @@ L_0887A344: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A350u) goto L_0887A350; AOT_REGCACHE_SYNC_OUT(); return; L_0887A350: - ctx.gpr[6] = (0u | 100u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (0u | 100u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x0887A360u); aot_gpr_5 = (ctx.gpr[30] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A360u) goto L_0887A360; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A360u) goto L_0887A360; AOT_REGCACHE_SYNC_OUT(); return; L_0887A360: aot_gpr_31 = (0x0887A368u); aot_gpr_4 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A368u) goto L_0887A368; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C604, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A368u) goto L_0887A368; AOT_REGCACHE_SYNC_OUT(); return; L_0887A368: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(48))); @@ -6572,19 +6573,19 @@ L_0887A368: L_0887A380: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); if (aot_gpr_4 != 0u) { - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); goto L_0887A3B8; } goto L_0887A38C; L_0887A38C: - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); aot_gpr_31 = (0x0887A398u); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A398u) goto L_0887A398; AOT_REGCACHE_SYNC_OUT(); return; L_0887A398: - aot_gpr_17 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_0887A3B0; @@ -6593,15 +6594,15 @@ L_0887A398: } L_0887A3A4: aot_gpr_31 = (0x0887A3ACu); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A3ACu) goto L_0887A3AC; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A3ACu) goto L_0887A3AC; AOT_REGCACHE_SYNC_OUT(); return; L_0887A3AC: - aot_gpr_16 = (aot_gpr_17 | 0u); + ctx.gpr[16] = (ctx.gpr[17] | 0u); goto L_0887A3B0; L_0887A3B0: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[16]); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); goto L_0887A3B8; L_0887A3B8: aot_gpr_31 = (0x0887A3C0u); @@ -6609,19 +6610,19 @@ L_0887A3B8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 151u, 0x08ADC7A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A3C0u) goto L_0887A3C0; AOT_REGCACHE_SYNC_OUT(); return; L_0887A3C0: - aot_gpr_4 = (ctx.gpr[2] << 3u); + aot_gpr_4 = (aot_gpr_2 << 3u); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[18]); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_31 = (0x0887A3D4u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A3D4u) goto L_0887A3D4; AOT_REGCACHE_SYNC_OUT(); return; L_0887A3D4: - ctx.gpr[6] = (0u | 100u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (0u | 100u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x0887A3E4u); aot_gpr_5 = (ctx.gpr[23] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A3E4u) goto L_0887A3E4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A3E4u) goto L_0887A3E4; AOT_REGCACHE_SYNC_OUT(); return; L_0887A3E4: { const bool branch_taken = 0u == 0u; @@ -6634,19 +6635,19 @@ L_0887A3E4: L_0887A3EC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); if (aot_gpr_4 != 0u) { - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); goto L_0887A424; } goto L_0887A3F8; L_0887A3F8: - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); aot_gpr_31 = (0x0887A404u); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A404u) goto L_0887A404; AOT_REGCACHE_SYNC_OUT(); return; L_0887A404: - aot_gpr_17 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_0887A41C; @@ -6655,15 +6656,15 @@ L_0887A404: } L_0887A410: aot_gpr_31 = (0x0887A418u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A418u) goto L_0887A418; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A418u) goto L_0887A418; AOT_REGCACHE_SYNC_OUT(); return; L_0887A418: - aot_gpr_16 = (aot_gpr_17 | 0u); + ctx.gpr[16] = (ctx.gpr[17] | 0u); goto L_0887A41C; L_0887A41C: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[16]); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); goto L_0887A424; L_0887A424: aot_gpr_31 = (0x0887A42Cu); @@ -6671,19 +6672,19 @@ L_0887A424: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 153u, 0x08ADC7B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A42Cu) goto L_0887A42C; AOT_REGCACHE_SYNC_OUT(); return; L_0887A42C: - aot_gpr_4 = (ctx.gpr[2] << 3u); + aot_gpr_4 = (aot_gpr_2 << 3u); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[18]); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_31 = (0x0887A440u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A440u) goto L_0887A440; AOT_REGCACHE_SYNC_OUT(); return; L_0887A440: - ctx.gpr[6] = (0u | 100u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (0u | 100u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x0887A450u); aot_gpr_5 = (ctx.gpr[23] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A450u) goto L_0887A450; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A450u) goto L_0887A450; AOT_REGCACHE_SYNC_OUT(); return; L_0887A450: ctx.gpr[20] = (0u | 3u); @@ -6722,14 +6723,14 @@ L_0887A484: goto L_0887A49C; } L_0887A49C: - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); aot_gpr_31 = (0x0887A4A8u); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A4A8u) goto L_0887A4A8; AOT_REGCACHE_SYNC_OUT(); return; L_0887A4A8: - aot_gpr_17 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_0887A4C0; @@ -6738,14 +6739,14 @@ L_0887A4A8: } L_0887A4B4: aot_gpr_31 = (0x0887A4BCu); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A4BCu) goto L_0887A4BC; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A4BCu) goto L_0887A4BC; AOT_REGCACHE_SYNC_OUT(); return; L_0887A4BC: - aot_gpr_16 = (aot_gpr_17 | 0u); + ctx.gpr[16] = (ctx.gpr[17] | 0u); goto L_0887A4C0; L_0887A4C0: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[16]); goto L_0887A4C4; L_0887A4C4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); @@ -6754,16 +6755,16 @@ L_0887A4C4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A4D0u) goto L_0887A4D0; AOT_REGCACHE_SYNC_OUT(); return; L_0887A4D0: - ctx.gpr[6] = (ctx.gpr[18] + static_cast(74)); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (ctx.gpr[18] + static_cast(74)); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x0887A4E0u); aot_gpr_5 = (0u | 10u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A4E0u) goto L_0887A4E0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A4E0u) goto L_0887A4E0; AOT_REGCACHE_SYNC_OUT(); return; L_0887A4E0: aot_gpr_31 = (0x0887A4E8u); aot_gpr_4 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A4E8u) goto L_0887A4E8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C604, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A4E8u) goto L_0887A4E8; AOT_REGCACHE_SYNC_OUT(); return; L_0887A4E8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); @@ -6773,14 +6774,14 @@ L_0887A4E8: } goto L_0887A4F4; L_0887A4F4: - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); aot_gpr_31 = (0x0887A500u); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A500u) goto L_0887A500; AOT_REGCACHE_SYNC_OUT(); return; L_0887A500: - aot_gpr_17 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_0887A518; @@ -6789,36 +6790,36 @@ L_0887A500: } L_0887A50C: aot_gpr_31 = (0x0887A514u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A514u) goto L_0887A514; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A514u) goto L_0887A514; AOT_REGCACHE_SYNC_OUT(); return; L_0887A514: - aot_gpr_16 = (aot_gpr_17 | 0u); + ctx.gpr[16] = (ctx.gpr[17] | 0u); goto L_0887A518; L_0887A518: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[16]); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-7076))); goto L_0887A520; L_0887A520: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); - ctx.gpr[6] = (aot_gpr_4 << 4u); + aot_gpr_6 = (aot_gpr_4 << 4u); aot_gpr_4 = (aot_gpr_4 << 2u); - aot_gpr_4 = (ctx.gpr[6] + aot_gpr_4); - ctx.gpr[6] = (2233u << 16u); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(-20960)); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); + aot_gpr_4 = (aot_gpr_6 + aot_gpr_4); + aot_gpr_6 = (2233u << 16u); + aot_gpr_6 = (aot_gpr_6 + static_cast(-20960)); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x0887A54Cu); - aot_gpr_5 = (ctx.gpr[6] | 0u); + aot_gpr_5 = (aot_gpr_6 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A54Cu) goto L_0887A54C; AOT_REGCACHE_SYNC_OUT(); return; L_0887A54C: - ctx.gpr[6] = (ctx.gpr[18] + static_cast(74)); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (ctx.gpr[18] + static_cast(74)); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x0887A55Cu); aot_gpr_5 = (0u | 185u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A55Cu) goto L_0887A55C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A55Cu) goto L_0887A55C; AOT_REGCACHE_SYNC_OUT(); return; L_0887A55C: ctx.gpr[20] = (ctx.gpr[20] + static_cast(1)); @@ -6849,8 +6850,8 @@ L_0887A590: aot_gpr_5 = (aot_gpr_5 - ctx.gpr[20]); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); ctx.gpr[19] = (aot_gpr_5 - ctx.gpr[20]); - aot_gpr_16 = (2233u << 16u); - aot_gpr_16 = (aot_gpr_16 + static_cast(-19192)); + ctx.gpr[16] = (2233u << 16u); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(-19192)); { const bool branch_taken = aot_gpr_4 != 0u; ctx.gpr[19] = (ctx.gpr[19] - ctx.gpr[20]); if (branch_taken) { @@ -6859,13 +6860,13 @@ L_0887A590: goto L_0887A5B0; } L_0887A5B0: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_31 = (0x0887A5BCu); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A5BCu) goto L_0887A5BC; AOT_REGCACHE_SYNC_OUT(); return; L_0887A5BC: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[18] == 0u; // nop if (branch_taken) { @@ -6876,13 +6877,13 @@ L_0887A5BC: L_0887A5C8: aot_gpr_31 = (0x0887A5D0u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A5D0u) goto L_0887A5D0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A5D0u) goto L_0887A5D0; AOT_REGCACHE_SYNC_OUT(); return; L_0887A5D0: - aot_gpr_17 = (ctx.gpr[18] | 0u); + ctx.gpr[17] = (ctx.gpr[18] | 0u); goto L_0887A5D4; L_0887A5D4: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); goto L_0887A5D8; L_0887A5D8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); @@ -6891,16 +6892,16 @@ L_0887A5D8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A5E4u) goto L_0887A5E4; AOT_REGCACHE_SYNC_OUT(); return; L_0887A5E4: - ctx.gpr[6] = (ctx.gpr[19] + static_cast(74)); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (ctx.gpr[19] + static_cast(74)); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x0887A5F4u); aot_gpr_5 = (ctx.gpr[30] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A5F4u) goto L_0887A5F4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A5F4u) goto L_0887A5F4; AOT_REGCACHE_SYNC_OUT(); return; L_0887A5F4: aot_gpr_31 = (0x0887A5FCu); aot_gpr_4 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A5FCu) goto L_0887A5FC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C604, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A5FCu) goto L_0887A5FC; AOT_REGCACHE_SYNC_OUT(); return; L_0887A5FC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-7072))); @@ -6914,18 +6915,18 @@ L_0887A5FC: L_0887A608: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); if (aot_gpr_4 != 0u) { - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); goto L_0887A640; } goto L_0887A614; L_0887A614: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_31 = (0x0887A620u); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A620u) goto L_0887A620; AOT_REGCACHE_SYNC_OUT(); return; L_0887A620: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[18] == 0u; // nop if (branch_taken) { @@ -6936,14 +6937,14 @@ L_0887A620: L_0887A62C: aot_gpr_31 = (0x0887A634u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A634u) goto L_0887A634; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A634u) goto L_0887A634; AOT_REGCACHE_SYNC_OUT(); return; L_0887A634: - aot_gpr_17 = (ctx.gpr[18] | 0u); + ctx.gpr[17] = (ctx.gpr[18] | 0u); goto L_0887A638; L_0887A638: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_17); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); goto L_0887A640; L_0887A640: aot_gpr_31 = (0x0887A648u); @@ -6951,19 +6952,19 @@ L_0887A640: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 151u, 0x08ADC7A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A648u) goto L_0887A648; AOT_REGCACHE_SYNC_OUT(); return; L_0887A648: - aot_gpr_4 = (ctx.gpr[2] << 3u); - aot_gpr_4 = (aot_gpr_4 + aot_gpr_16); + aot_gpr_4 = (aot_gpr_2 << 3u); + aot_gpr_4 = (aot_gpr_4 + ctx.gpr[16]); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_31 = (0x0887A65Cu); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A65Cu) goto L_0887A65C; AOT_REGCACHE_SYNC_OUT(); return; L_0887A65C: - ctx.gpr[6] = (ctx.gpr[19] + static_cast(74)); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (ctx.gpr[19] + static_cast(74)); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x0887A66Cu); aot_gpr_5 = (ctx.gpr[23] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A66Cu) goto L_0887A66C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A66Cu) goto L_0887A66C; AOT_REGCACHE_SYNC_OUT(); return; L_0887A66C: { const bool branch_taken = 0u == 0u; @@ -6976,18 +6977,18 @@ L_0887A66C: L_0887A674: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); if (aot_gpr_4 != 0u) { - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); goto L_0887A6AC; } goto L_0887A680; L_0887A680: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_31 = (0x0887A68Cu); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A68Cu) goto L_0887A68C; AOT_REGCACHE_SYNC_OUT(); return; L_0887A68C: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[18] == 0u; // nop if (branch_taken) { @@ -6998,14 +6999,14 @@ L_0887A68C: L_0887A698: aot_gpr_31 = (0x0887A6A0u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A6A0u) goto L_0887A6A0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A6A0u) goto L_0887A6A0; AOT_REGCACHE_SYNC_OUT(); return; L_0887A6A0: - aot_gpr_17 = (ctx.gpr[18] | 0u); + ctx.gpr[17] = (ctx.gpr[18] | 0u); goto L_0887A6A4; L_0887A6A4: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_17); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); goto L_0887A6AC; L_0887A6AC: aot_gpr_31 = (0x0887A6B4u); @@ -7013,19 +7014,19 @@ L_0887A6AC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 153u, 0x08ADC7B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A6B4u) goto L_0887A6B4; AOT_REGCACHE_SYNC_OUT(); return; L_0887A6B4: - aot_gpr_4 = (ctx.gpr[2] << 3u); - aot_gpr_4 = (aot_gpr_4 + aot_gpr_16); + aot_gpr_4 = (aot_gpr_2 << 3u); + aot_gpr_4 = (aot_gpr_4 + ctx.gpr[16]); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_31 = (0x0887A6C8u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A6C8u) goto L_0887A6C8; AOT_REGCACHE_SYNC_OUT(); return; L_0887A6C8: - ctx.gpr[6] = (ctx.gpr[19] + static_cast(74)); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (ctx.gpr[19] + static_cast(74)); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x0887A6D8u); aot_gpr_5 = (ctx.gpr[23] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A6D8u) goto L_0887A6D8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A6D8u) goto L_0887A6D8; AOT_REGCACHE_SYNC_OUT(); return; L_0887A6D8: ctx.gpr[20] = (ctx.gpr[20] + static_cast(1)); @@ -7066,7 +7067,7 @@ L_0887A70C: L_0887A718: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5868))); if (aot_gpr_4 != 0u) { - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5868))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5868))); goto L_0887A730; } goto L_0887A724; @@ -7076,12 +7077,12 @@ L_0887A724: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 452u, 0x08B65D8Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A72Cu) goto L_0887A72C; AOT_REGCACHE_SYNC_OUT(); return; L_0887A72C: - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5868))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5868))); goto L_0887A730; L_0887A730: aot_gpr_4 = (0u | 0u); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[6] + static_cast(18)))))); - { const bool branch_taken = ctx.gpr[6] != 0u; + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(18)))))); + { const bool branch_taken = aot_gpr_6 != 0u; aot_gpr_5 = (0u | 0u); if (branch_taken) { goto L_0887A768; @@ -7089,19 +7090,19 @@ L_0887A730: goto L_0887A740; } L_0887A740: - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5868))); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[6] + static_cast(16)))))); - if (ctx.gpr[6] != 0u) { + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5868))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(16)))))); + if (aot_gpr_6 != 0u) { aot_gpr_5 = (0u | 1u); goto L_0887A76C; } goto L_0887A750; L_0887A750: - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5868))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5868))); ctx.gpr[7] = (2213u << 16u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(20))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(20))); ctx.gpr[7] = (ctx.gpr[7] + static_cast(21956)); - { const bool branch_taken = ctx.gpr[7] == ctx.gpr[6]; + { const bool branch_taken = ctx.gpr[7] == aot_gpr_6; aot_gpr_5 = (aot_gpr_5 & 255u); if (branch_taken) { goto L_0887A770; @@ -7138,10 +7139,10 @@ L_0887A788: goto L_0887A798; L_0887A798: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5868))); - ctx.gpr[6] = (2213u << 16u); + aot_gpr_6 = (2213u << 16u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(20))); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(21964)); - if (ctx.gpr[6] == aot_gpr_5) { + aot_gpr_6 = (aot_gpr_6 + static_cast(21964)); + if (aot_gpr_6 == aot_gpr_5) { aot_gpr_4 = (aot_gpr_4 & 255u); goto L_0887A7F0; } @@ -7166,10 +7167,10 @@ L_0887A7C0: goto L_0887A7D0; L_0887A7D0: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5868))); - ctx.gpr[6] = (2213u << 16u); + aot_gpr_6 = (2213u << 16u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(20))); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(22528)); - { const bool branch_taken = ctx.gpr[6] == aot_gpr_5; + aot_gpr_6 = (aot_gpr_6 + static_cast(22528)); + { const bool branch_taken = aot_gpr_6 == aot_gpr_5; aot_gpr_4 = (aot_gpr_4 & 255u); if (branch_taken) { goto L_0887A7F0; @@ -7201,7 +7202,7 @@ L_0887A7F8: L_0887A80C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(204))); { const bool branch_taken = aot_gpr_4 != ctx.gpr[20]; - aot_gpr_16 = (ctx.gpr[20] + static_cast(1)); + ctx.gpr[16] = (ctx.gpr[20] + static_cast(1)); if (branch_taken) { goto L_0887A83C; } @@ -7215,7 +7216,7 @@ L_0887A818: aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(1027), static_cast(aot_gpr_4)); aot_gpr_31 = (0x0887A834u); aot_gpr_4 = (ctx.gpr[29] + static_cast(1024)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A834u) goto L_0887A834; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C4A8, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A834u) goto L_0887A834; AOT_REGCACHE_SYNC_OUT(); return; L_0887A834: { const bool branch_taken = 0u == 0u; @@ -7234,7 +7235,7 @@ L_0887A83C: aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(1031), static_cast(aot_gpr_4)); aot_gpr_31 = (0x0887A85Cu); aot_gpr_4 = (ctx.gpr[29] + static_cast(1028)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A85Cu) goto L_0887A85C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C4A8, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A85Cu) goto L_0887A85C; AOT_REGCACHE_SYNC_OUT(); return; L_0887A85C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); @@ -7244,13 +7245,13 @@ L_0887A85C: } goto L_0887A868; L_0887A868: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_31 = (0x0887A874u); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A874u) goto L_0887A874; AOT_REGCACHE_SYNC_OUT(); return; L_0887A874: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[18] == 0u; // nop if (branch_taken) { @@ -7261,13 +7262,13 @@ L_0887A874: L_0887A880: aot_gpr_31 = (0x0887A888u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A888u) goto L_0887A888; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A888u) goto L_0887A888; AOT_REGCACHE_SYNC_OUT(); return; L_0887A888: - aot_gpr_17 = (ctx.gpr[18] | 0u); + ctx.gpr[17] = (ctx.gpr[18] | 0u); goto L_0887A88C; L_0887A88C: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(1096))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); goto L_0887A898; @@ -7277,15 +7278,15 @@ L_0887A898: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A8A0u) goto L_0887A8A0; AOT_REGCACHE_SYNC_OUT(); return; L_0887A8A0: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 13u); aot_gpr_31 = (0x0887A8B0u); - ctx.gpr[6] = (0u | 192u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A8B0u) goto L_0887A8B0; + aot_gpr_6 = (0u | 192u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A8B0u) goto L_0887A8B0; AOT_REGCACHE_SYNC_OUT(); return; L_0887A8B0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(204))); - { const bool branch_taken = aot_gpr_4 != aot_gpr_16; + { const bool branch_taken = aot_gpr_4 != ctx.gpr[16]; // nop if (branch_taken) { goto L_0887A8E0; @@ -7300,7 +7301,7 @@ L_0887A8BC: aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(1035), static_cast(aot_gpr_4)); aot_gpr_31 = (0x0887A8D8u); aot_gpr_4 = (ctx.gpr[29] + static_cast(1032)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A8D8u) goto L_0887A8D8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C4A8, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A8D8u) goto L_0887A8D8; AOT_REGCACHE_SYNC_OUT(); return; L_0887A8D8: { const bool branch_taken = 0u == 0u; @@ -7319,7 +7320,7 @@ L_0887A8E0: aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(1039), static_cast(aot_gpr_4)); aot_gpr_31 = (0x0887A900u); aot_gpr_4 = (ctx.gpr[29] + static_cast(1036)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A900u) goto L_0887A900; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C4A8, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A900u) goto L_0887A900; AOT_REGCACHE_SYNC_OUT(); return; L_0887A900: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5868))); @@ -7341,7 +7342,7 @@ L_0887A914: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0148_entry, 148u, 256u, 0x08A54FECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A91Cu) goto L_0887A91C; AOT_REGCACHE_SYNC_OUT(); return; L_0887A91C: - aot_gpr_4 = (static_cast(ctx.gpr[2]) < 2 ? 1u : 0u); + aot_gpr_4 = (static_cast(aot_gpr_2) < 2 ? 1u : 0u); if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(4188))); goto L_0887A96C; @@ -7379,7 +7380,7 @@ L_0887A954: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0148_entry, 148u, 267u, 0x08A550C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A95Cu) goto L_0887A95C; AOT_REGCACHE_SYNC_OUT(); return; L_0887A95C: - aot_gpr_4 = (static_cast(ctx.gpr[2]) < 2 ? 1u : 0u); + aot_gpr_4 = (static_cast(aot_gpr_2) < 2 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -7430,7 +7431,7 @@ L_0887A9A0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0148_entry, 148u, 267u, 0x08A550C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A9A8u) goto L_0887A9A8; AOT_REGCACHE_SYNC_OUT(); return; L_0887A9A8: - aot_gpr_4 = (static_cast(ctx.gpr[2]) < 2 ? 1u : 0u); + aot_gpr_4 = (static_cast(aot_gpr_2) < 2 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -7446,14 +7447,14 @@ L_0887A9B4: } goto L_0887A9C0; L_0887A9C0: - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); aot_gpr_31 = (0x0887A9CCu); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A9CCu) goto L_0887A9CC; AOT_REGCACHE_SYNC_OUT(); return; L_0887A9CC: - aot_gpr_17 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_0887A9E4; @@ -7462,14 +7463,14 @@ L_0887A9CC: } L_0887A9D8: aot_gpr_31 = (0x0887A9E0u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A9E0u) goto L_0887A9E0; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A9E0u) goto L_0887A9E0; AOT_REGCACHE_SYNC_OUT(); return; L_0887A9E0: - aot_gpr_16 = (aot_gpr_17 | 0u); + ctx.gpr[16] = (ctx.gpr[17] | 0u); goto L_0887A9E4; L_0887A9E4: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[16]); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); goto L_0887A9EC; L_0887A9EC: @@ -7478,11 +7479,11 @@ L_0887A9EC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887A9F4u) goto L_0887A9F4; AOT_REGCACHE_SYNC_OUT(); return; L_0887A9F4: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 13u); aot_gpr_31 = (0x0887AA04u); - ctx.gpr[6] = (0u | 208u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887AA04u) goto L_0887AA04; + aot_gpr_6 = (0u | 208u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887AA04u) goto L_0887AA04; AOT_REGCACHE_SYNC_OUT(); return; L_0887AA04: { const bool branch_taken = 0u == 0u; @@ -7500,14 +7501,14 @@ L_0887AA0C: } goto L_0887AA18; L_0887AA18: - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); aot_gpr_31 = (0x0887AA24u); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887AA24u) goto L_0887AA24; AOT_REGCACHE_SYNC_OUT(); return; L_0887AA24: - aot_gpr_17 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_0887AA3C; @@ -7516,14 +7517,14 @@ L_0887AA24: } L_0887AA30: aot_gpr_31 = (0x0887AA38u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887AA38u) goto L_0887AA38; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887AA38u) goto L_0887AA38; AOT_REGCACHE_SYNC_OUT(); return; L_0887AA38: - aot_gpr_16 = (aot_gpr_17 | 0u); + ctx.gpr[16] = (ctx.gpr[17] | 0u); goto L_0887AA3C; L_0887AA3C: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[16]); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); goto L_0887AA44; L_0887AA44: @@ -7532,11 +7533,11 @@ L_0887AA44: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887AA4Cu) goto L_0887AA4C; AOT_REGCACHE_SYNC_OUT(); return; L_0887AA4C: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 13u); aot_gpr_31 = (0x0887AA5Cu); - ctx.gpr[6] = (0u | 208u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887AA5Cu) goto L_0887AA5C; + aot_gpr_6 = (0u | 208u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887AA5Cu) goto L_0887AA5C; AOT_REGCACHE_SYNC_OUT(); return; L_0887AA5C: { const bool branch_taken = 0u == 0u; @@ -7554,14 +7555,14 @@ L_0887AA64: } goto L_0887AA70; L_0887AA70: - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); aot_gpr_31 = (0x0887AA7Cu); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887AA7Cu) goto L_0887AA7C; AOT_REGCACHE_SYNC_OUT(); return; L_0887AA7C: - aot_gpr_17 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_0887AA94; @@ -7570,14 +7571,14 @@ L_0887AA7C: } L_0887AA88: aot_gpr_31 = (0x0887AA90u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887AA90u) goto L_0887AA90; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887AA90u) goto L_0887AA90; AOT_REGCACHE_SYNC_OUT(); return; L_0887AA90: - aot_gpr_16 = (aot_gpr_17 | 0u); + ctx.gpr[16] = (ctx.gpr[17] | 0u); goto L_0887AA94; L_0887AA94: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[16]); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); goto L_0887AA9C; L_0887AA9C: @@ -7586,11 +7587,11 @@ L_0887AA9C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887AAA4u) goto L_0887AAA4; AOT_REGCACHE_SYNC_OUT(); return; L_0887AAA4: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 13u); aot_gpr_31 = (0x0887AAB4u); - ctx.gpr[6] = (0u | 208u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887AAB4u) goto L_0887AAB4; + aot_gpr_6 = (0u | 208u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887AAB4u) goto L_0887AAB4; AOT_REGCACHE_SYNC_OUT(); return; L_0887AAB4: { const bool branch_taken = 0u == 0u; @@ -7622,7 +7623,7 @@ L_0887AAD0: aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(1043), static_cast(aot_gpr_4)); aot_gpr_31 = (0x0887AAECu); aot_gpr_4 = (ctx.gpr[29] + static_cast(1040)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887AAECu) goto L_0887AAEC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C4A8, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887AAECu) goto L_0887AAEC; AOT_REGCACHE_SYNC_OUT(); return; L_0887AAEC: { const bool branch_taken = 0u == 0u; @@ -7641,12 +7642,12 @@ L_0887AAF4: aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(1047), static_cast(aot_gpr_4)); aot_gpr_31 = (0x0887AB14u); aot_gpr_4 = (ctx.gpr[29] + static_cast(1044)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887AB14u) goto L_0887AB14; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C4A8, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887AB14u) goto L_0887AB14; AOT_REGCACHE_SYNC_OUT(); return; L_0887AB14: aot_gpr_31 = (0x0887AB1Cu); aot_gpr_4 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887AB1Cu) goto L_0887AB1C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C604, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887AB1Cu) goto L_0887AB1C; AOT_REGCACHE_SYNC_OUT(); return; L_0887AB1C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); @@ -7656,14 +7657,14 @@ L_0887AB1C: } goto L_0887AB28; L_0887AB28: - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); aot_gpr_31 = (0x0887AB34u); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887AB34u) goto L_0887AB34; AOT_REGCACHE_SYNC_OUT(); return; L_0887AB34: - aot_gpr_17 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_0887AB4C; @@ -7672,14 +7673,14 @@ L_0887AB34: } L_0887AB40: aot_gpr_31 = (0x0887AB48u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887AB48u) goto L_0887AB48; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887AB48u) goto L_0887AB48; AOT_REGCACHE_SYNC_OUT(); return; L_0887AB48: - aot_gpr_16 = (aot_gpr_17 | 0u); + ctx.gpr[16] = (ctx.gpr[17] | 0u); goto L_0887AB4C; L_0887AB4C: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[16]); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); goto L_0887AB54; L_0887AB54: @@ -7688,11 +7689,11 @@ L_0887AB54: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887AB5Cu) goto L_0887AB5C; AOT_REGCACHE_SYNC_OUT(); return; L_0887AB5C: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x0887AB6Cu); - ctx.gpr[6] = (0u | 210u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887AB6Cu) goto L_0887AB6C; + aot_gpr_6 = (0u | 210u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887AB6Cu) goto L_0887AB6C; AOT_REGCACHE_SYNC_OUT(); return; L_0887AB6C: { const bool branch_taken = 0u == 0u; @@ -7724,7 +7725,7 @@ L_0887AB88: aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(1051), static_cast(aot_gpr_4)); aot_gpr_31 = (0x0887ABA4u); aot_gpr_4 = (ctx.gpr[29] + static_cast(1048)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887ABA4u) goto L_0887ABA4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C4A8, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887ABA4u) goto L_0887ABA4; AOT_REGCACHE_SYNC_OUT(); return; L_0887ABA4: { const bool branch_taken = 0u == 0u; @@ -7743,12 +7744,12 @@ L_0887ABAC: aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(1055), static_cast(aot_gpr_4)); aot_gpr_31 = (0x0887ABCCu); aot_gpr_4 = (ctx.gpr[29] + static_cast(1052)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887ABCCu) goto L_0887ABCC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C4A8, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887ABCCu) goto L_0887ABCC; AOT_REGCACHE_SYNC_OUT(); return; L_0887ABCC: aot_gpr_31 = (0x0887ABD4u); aot_gpr_4 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887ABD4u) goto L_0887ABD4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C604, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887ABD4u) goto L_0887ABD4; AOT_REGCACHE_SYNC_OUT(); return; L_0887ABD4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); @@ -7758,14 +7759,14 @@ L_0887ABD4: } goto L_0887ABE0; L_0887ABE0: - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); aot_gpr_31 = (0x0887ABECu); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887ABECu) goto L_0887ABEC; AOT_REGCACHE_SYNC_OUT(); return; L_0887ABEC: - aot_gpr_17 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_0887AC04; @@ -7774,14 +7775,14 @@ L_0887ABEC: } L_0887ABF8: aot_gpr_31 = (0x0887AC00u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887AC00u) goto L_0887AC00; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887AC00u) goto L_0887AC00; AOT_REGCACHE_SYNC_OUT(); return; L_0887AC00: - aot_gpr_16 = (aot_gpr_17 | 0u); + ctx.gpr[16] = (ctx.gpr[17] | 0u); goto L_0887AC04; L_0887AC04: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[16]); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); goto L_0887AC0C; L_0887AC0C: @@ -7790,17 +7791,17 @@ L_0887AC0C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887AC14u) goto L_0887AC14; AOT_REGCACHE_SYNC_OUT(); return; L_0887AC14: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x0887AC24u); - ctx.gpr[6] = (0u | 210u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887AC24u) goto L_0887AC24; + aot_gpr_6 = (0u | 210u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887AC24u) goto L_0887AC24; AOT_REGCACHE_SYNC_OUT(); return; L_0887AC24: { std::uint32_t aot_run_words[10]{}; aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(1100), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -7820,13 +7821,13 @@ L_0887AC54: ctx.gpr[29] = (ctx.gpr[29] + static_cast(-48)); aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(20), ctx.gpr[18]); ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5868))); - aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(16), aot_gpr_17); - aot_gpr_17 = (0u + static_cast(-1)); - aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(12), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(16), ctx.gpr[17]); + ctx.gpr[17] = (0u + static_cast(-1)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(12), ctx.gpr[16]); { const std::uint32_t aot_run_words[5]{ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_31}; aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(24), aot_run_words); } { const bool branch_taken = ctx.gpr[18] != 0u; - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_0887AC94; } @@ -7847,18 +7848,18 @@ L_0887AC94: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0148_entry, 148u, 80u, 0x08A545ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887ACA0u) goto L_0887ACA0; AOT_REGCACHE_SYNC_OUT(); return; L_0887ACA0: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x0887ACACu); aot_gpr_4 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887ACACu) goto L_0887ACAC; AOT_REGCACHE_SYNC_OUT(); return; L_0887ACAC: aot_gpr_31 = (0x0887ACB4u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0098_entry, 98u, 2u, 0x0898C008u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887ACB4u) goto L_0887ACB4; AOT_REGCACHE_SYNC_OUT(); return; L_0887ACB4: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_0887AD18; @@ -7868,7 +7869,7 @@ L_0887ACB4: L_0887ACBC: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5868))); if (aot_gpr_5 != 0u) { - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(18)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(18)))))); goto L_0887ACD8; } goto L_0887ACC8; @@ -7879,10 +7880,10 @@ L_0887ACC8: AOT_REGCACHE_SYNC_OUT(); return; L_0887ACD0: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5868))); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(18)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(18)))))); goto L_0887ACD8; L_0887ACD8: - { const bool branch_taken = ctx.gpr[6] != 0u; + { const bool branch_taken = aot_gpr_6 != 0u; aot_gpr_4 = (0u | 0u); if (branch_taken) { goto L_0887AD00; @@ -7890,17 +7891,17 @@ L_0887ACD8: goto L_0887ACE0; } L_0887ACE0: - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(16)))))); - if (ctx.gpr[6] != 0u) { + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(16)))))); + if (aot_gpr_6 != 0u) { aot_gpr_4 = (0u | 1u); goto L_0887AD04; } goto L_0887ACEC; L_0887ACEC: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(20))); - ctx.gpr[6] = (2213u << 16u); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(21956)); - { const bool branch_taken = ctx.gpr[6] == aot_gpr_5; + aot_gpr_6 = (2213u << 16u); + aot_gpr_6 = (aot_gpr_6 + static_cast(21956)); + { const bool branch_taken = aot_gpr_6 == aot_gpr_5; aot_gpr_4 = (aot_gpr_4 & 255u); if (branch_taken) { goto L_0887AD08; @@ -7930,7 +7931,7 @@ L_0887AD10: goto L_0887AD18; } L_0887AD18: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(244))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(244))); { const bool branch_taken = static_cast(aot_gpr_4) < 0; // nop if (branch_taken) { @@ -7944,9 +7945,9 @@ L_0887AD24: ctx.pc = 0x08B72FECu; AOT_REGCACHE_SYNC_OUT(); return; L_0887AD2C: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(244), aot_gpr_17); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5868))); - { const bool branch_taken = aot_gpr_17 != 0u; + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(244), ctx.gpr[17]); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5868))); + { const bool branch_taken = ctx.gpr[17] != 0u; // nop if (branch_taken) { goto L_0887AD48; @@ -7959,25 +7960,25 @@ L_0887AD3C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 452u, 0x08B65D8Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887AD44u) goto L_0887AD44; AOT_REGCACHE_SYNC_OUT(); return; L_0887AD44: - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5868))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5868))); goto L_0887AD48; L_0887AD48: aot_gpr_31 = (0x0887AD50u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0147_entry, 147u, 764u, 0x08A53F2Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887AD50u) goto L_0887AD50; AOT_REGCACHE_SYNC_OUT(); return; L_0887AD50: aot_gpr_4 = (aot_gpr_28 + static_cast(7768)); aot_gpr_5 = (0u | 198u); aot_gpr_31 = (0x0887AD60u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 553u, 0x08A062F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887AD60u) goto L_0887AD60; AOT_REGCACHE_SYNC_OUT(); return; L_0887AD60: aot_gpr_5 = (aot_gpr_28 + static_cast(-27352)); - ctx.gpr[6] = (aot_gpr_28 + static_cast(-27344)); + aot_gpr_6 = (aot_gpr_28 + static_cast(-27344)); aot_gpr_31 = (0x0887AD70u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 896u, 0x08873D30u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887AD70u) goto L_0887AD70; AOT_REGCACHE_SYNC_OUT(); return; L_0887AD70: @@ -7989,7 +7990,7 @@ L_0887AD70: goto L_0887AD78; } L_0887AD78: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(244))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(244))); { const bool branch_taken = static_cast(aot_gpr_4) >= 0; ctx.gpr[18] = (0u | 0u); if (branch_taken) { @@ -8001,7 +8002,7 @@ L_0887AD84: ctx.gpr[18] = (0u | 1u); ctx.gpr[19] = (0u | 0u); ctx.gpr[22] = (0u | 1u); - ctx.gpr[20] = (aot_gpr_16 + static_cast(270)); + ctx.gpr[20] = (ctx.gpr[16] + static_cast(270)); goto L_0887AD94; L_0887AD94: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5868))); @@ -8023,10 +8024,10 @@ L_0887ADA8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0148_entry, 148u, 247u, 0x08A54F5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887ADB0u) goto L_0887ADB0; AOT_REGCACHE_SYNC_OUT(); return; L_0887ADB0: - aot_gpr_4 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(4))); + aot_gpr_4 = (aot_gpr_2 | 0u); + aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(4))); ctx.gpr[7] = (aot_mem.aot_direct_load16(ctx.gpr[21] + static_cast(4))); - { const bool branch_taken = ctx.gpr[7] != ctx.gpr[6]; + { const bool branch_taken = ctx.gpr[7] != aot_gpr_6; aot_gpr_5 = (0u | 0u); if (branch_taken) { goto L_0887ADE8; @@ -8034,17 +8035,17 @@ L_0887ADB0: goto L_0887ADC4; } L_0887ADC4: - ctx.gpr[6] = (aot_mem.aot_direct_load16(ctx.gpr[21] + static_cast(2))); + aot_gpr_6 = (aot_mem.aot_direct_load16(ctx.gpr[21] + static_cast(2))); ctx.gpr[7] = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(2))); - if (ctx.gpr[6] != ctx.gpr[7]) { + if (aot_gpr_6 != ctx.gpr[7]) { aot_gpr_4 = (aot_gpr_5 & 255u); goto L_0887ADEC; } goto L_0887ADD4; L_0887ADD4: - ctx.gpr[6] = (aot_mem.aot_direct_load16(ctx.gpr[21] + static_cast(0))); + aot_gpr_6 = (aot_mem.aot_direct_load16(ctx.gpr[21] + static_cast(0))); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0))); - { const bool branch_taken = ctx.gpr[6] != aot_gpr_4; + { const bool branch_taken = aot_gpr_6 != aot_gpr_4; aot_gpr_4 = (aot_gpr_5 & 255u); if (branch_taken) { goto L_0887ADEC; @@ -8066,7 +8067,7 @@ L_0887ADEC: goto L_0887ADF4; } L_0887ADF4: - aot_gpr_4 = (aot_gpr_16 + ctx.gpr[19]); + aot_gpr_4 = (ctx.gpr[16] + ctx.gpr[19]); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(228), static_cast(ctx.gpr[22])); { const bool branch_taken = 0u == 0u; ctx.gpr[19] = (ctx.gpr[19] + static_cast(1)); @@ -8083,9 +8084,9 @@ L_0887AE04: aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(4), static_cast(aot_gpr_5)); aot_gpr_4 = (ctx.gpr[20] | 0u); aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(5), static_cast(aot_gpr_5)); - ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(4))); + aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(4))); ctx.gpr[7] = (aot_mem.aot_direct_load16(ctx.gpr[29] + static_cast(4))); - { const bool branch_taken = ctx.gpr[6] != ctx.gpr[7]; + { const bool branch_taken = aot_gpr_6 != ctx.gpr[7]; aot_gpr_5 = (0u | 0u); if (branch_taken) { goto L_0887AE54; @@ -8093,17 +8094,17 @@ L_0887AE04: goto L_0887AE30; } L_0887AE30: - ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(2))); + aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(2))); ctx.gpr[7] = (aot_mem.aot_direct_load16(ctx.gpr[29] + static_cast(2))); - if (ctx.gpr[6] != ctx.gpr[7]) { + if (aot_gpr_6 != ctx.gpr[7]) { aot_gpr_4 = (aot_gpr_5 & 255u); goto L_0887AE58; } goto L_0887AE40; L_0887AE40: aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0))); - ctx.gpr[6] = (aot_mem.aot_direct_load16(ctx.gpr[29] + static_cast(0))); - { const bool branch_taken = aot_gpr_4 != ctx.gpr[6]; + aot_gpr_6 = (aot_mem.aot_direct_load16(ctx.gpr[29] + static_cast(0))); + { const bool branch_taken = aot_gpr_4 != aot_gpr_6; aot_gpr_4 = (aot_gpr_5 & 255u); if (branch_taken) { goto L_0887AE58; @@ -8120,7 +8121,7 @@ L_0887AE58: aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 == 0u; - ctx.gpr[21] = (aot_gpr_16 + ctx.gpr[19]); + ctx.gpr[21] = (ctx.gpr[16] + ctx.gpr[19]); if (branch_taken) { goto L_0887AEEC; } @@ -8160,9 +8161,9 @@ L_0887AE8C: L_0887AE94: ctx.gpr[9] = (3u << 16u); ctx.gpr[10] = (3u << 16u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 0u); - ctx.gpr[6] = (ctx.gpr[20] | 0u); + aot_gpr_6 = (ctx.gpr[20] | 0u); ctx.gpr[7] = (0u | 66u); ctx.gpr[8] = (0u | 16384u); ctx.gpr[11] = (0u | 0u); @@ -8172,9 +8173,9 @@ L_0887AE94: ctx.pc = 0x08B7300Cu; AOT_REGCACHE_SYNC_OUT(); return; L_0887AEC0: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = static_cast(aot_gpr_4) >= 0; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(244), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(244), aot_gpr_2); if (branch_taken) { goto L_0887AEE0; } @@ -8182,16 +8183,16 @@ L_0887AEC0: } L_0887AECC: aot_gpr_5 = (aot_gpr_28 + static_cast(-27352)); - ctx.gpr[6] = (aot_gpr_28 + static_cast(-27344)); + aot_gpr_6 = (aot_gpr_28 + static_cast(-27344)); aot_gpr_31 = (0x0887AEDCu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 896u, 0x08873D30u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887AEDCu) goto L_0887AEDC; AOT_REGCACHE_SYNC_OUT(); return; L_0887AEDC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(244))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(244))); goto L_0887AEE0; L_0887AEE0: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(252), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(252), 0u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(ctx.gpr[21] + static_cast(228), static_cast(ctx.gpr[22])); if (branch_taken) { @@ -8212,7 +8213,7 @@ L_0887AEF0: goto L_0887AEFC; } L_0887AEFC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(244))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(244))); goto L_0887AF00; L_0887AF00: { const bool branch_taken = static_cast(aot_gpr_4) < 0; @@ -8223,7 +8224,7 @@ L_0887AF00: goto L_0887AF08; } L_0887AF08: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(252))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(252))); ctx.gpr[19] = (0u | 0u); ctx.gpr[20] = (0u | 1u); { const bool branch_taken = aot_gpr_5 != 0u; @@ -8236,11 +8237,11 @@ L_0887AF08: L_0887AF1C: aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x0887AF28u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); ctx.pc = 0x08B73054u; AOT_REGCACHE_SYNC_OUT(); return; L_0887AF28: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); { const bool branch_taken = static_cast(ctx.gpr[19]) >= 0; aot_gpr_4 = (32833u << 16u); if (branch_taken) { @@ -8266,10 +8267,10 @@ L_0887AF40: goto L_0887AF48; } L_0887AF48: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(252), ctx.gpr[20]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(252), ctx.gpr[20]); goto L_0887AF4C; L_0887AF4C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(252))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(252))); { const bool branch_taken = aot_gpr_4 != ctx.gpr[20]; // nop if (branch_taken) { @@ -8279,18 +8280,18 @@ L_0887AF4C: } L_0887AF58: aot_gpr_4 = (0u | 136u); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(244))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(244))); aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(8), aot_gpr_4); aot_gpr_4 = (ctx.gpr[7] | 0u); - aot_gpr_5 = (aot_gpr_16 + static_cast(260)); - ctx.gpr[6] = (ctx.gpr[29] + static_cast(8)); + aot_gpr_5 = (ctx.gpr[16] + static_cast(260)); + aot_gpr_6 = (ctx.gpr[29] + static_cast(8)); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x0887AF7Cu); ctx.gpr[8] = (0u | 1u); ctx.pc = 0x08B72FF4u; AOT_REGCACHE_SYNC_OUT(); return; L_0887AF7C: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = static_cast(aot_gpr_4) >= 0; aot_gpr_5 = (32833u << 16u); if (branch_taken) { @@ -8316,10 +8317,10 @@ L_0887AF94: goto L_0887AF9C; } L_0887AF9C: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(252), ctx.gpr[21]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(252), ctx.gpr[21]); goto L_0887AFA0; L_0887AFA0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(252))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(252))); goto L_0887AFA4; L_0887AFA4: { const bool branch_taken = aot_gpr_4 != ctx.gpr[21]; @@ -8330,14 +8331,14 @@ L_0887AFA4: goto L_0887AFAC; } L_0887AFAC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(244))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(244))); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x0887AFBCu); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); ctx.pc = 0x08B7301Cu; AOT_REGCACHE_SYNC_OUT(); return; L_0887AFBC: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = static_cast(aot_gpr_4) >= 0; aot_gpr_5 = (32833u << 16u); if (branch_taken) { @@ -8363,13 +8364,13 @@ L_0887AFD4: goto L_0887AFDC; } L_0887AFDC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(244))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(244))); aot_gpr_31 = (0x0887AFE8u); aot_gpr_5 = (0u | 0u); ctx.pc = 0x08B72FECu; AOT_REGCACHE_SYNC_OUT(); return; L_0887AFE8: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(244), aot_gpr_17); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(244), ctx.gpr[17]); goto L_0887AFEC; L_0887AFEC: { const bool branch_taken = static_cast(ctx.gpr[19]) >= 0; @@ -8389,9 +8390,9 @@ L_0887AFF4: goto L_0887B000; } L_0887B000: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(256))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(256))); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(256), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(256), aot_gpr_4); aot_gpr_4 = (static_cast(aot_gpr_4) < 51 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -8401,17 +8402,17 @@ L_0887B000: goto L_0887B018; } L_0887B018: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(244))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(244))); aot_gpr_31 = (0x0887B024u); aot_gpr_5 = (0u | 0u); ctx.pc = 0x08B72FECu; AOT_REGCACHE_SYNC_OUT(); return; L_0887B024: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(244), aot_gpr_17); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(244), ctx.gpr[17]); aot_gpr_5 = (aot_gpr_28 + static_cast(-27352)); - ctx.gpr[6] = (aot_gpr_28 + static_cast(-27344)); + aot_gpr_6 = (aot_gpr_28 + static_cast(-27344)); aot_gpr_31 = (0x0887B038u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 896u, 0x08873D30u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887B038u) goto L_0887B038; AOT_REGCACHE_SYNC_OUT(); return; L_0887B038: @@ -8424,14 +8425,14 @@ L_0887B038: } L_0887B040: aot_gpr_31 = (0x0887B048u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0030_entry, 30u, 172u, 0x0887C998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887B048u) goto L_0887B048; AOT_REGCACHE_SYNC_OUT(); return; L_0887B048: { std::uint32_t aot_run_words[8]{}; aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(12), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -8447,15 +8448,15 @@ L_0887B048: AOT_REGCACHE_SYNC_OUT(); return; L_0887B070: ctx.gpr[29] = (ctx.gpr[29] + static_cast(-32)); - aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(16), aot_gpr_17); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(16), ctx.gpr[17]); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7688))); - aot_gpr_17 = (2237u << 16u); - aot_gpr_17 = (aot_gpr_17 + static_cast(-28416)); - aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(12), aot_gpr_16); + ctx.gpr[17] = (2237u << 16u); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(-28416)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(12), ctx.gpr[16]); aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(20), ctx.gpr[18]); aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(24), aot_gpr_31); { const bool branch_taken = aot_gpr_5 != 0u; - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_0887B0B0; } @@ -8465,24 +8466,24 @@ L_0887B098: aot_gpr_4 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(7688), aot_gpr_4); aot_gpr_31 = (0x0887B0A8u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0010_entry, 10u, 286u, 0x0882D794u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887B0A8u) goto L_0887B0A8; AOT_REGCACHE_SYNC_OUT(); return; L_0887B0A8: aot_gpr_31 = (0x0887B0B0u); aot_gpr_4 = (aot_gpr_28 + static_cast(-27188)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887B0B0u) goto L_0887B0B0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887B0B0u) goto L_0887B0B0; AOT_REGCACHE_SYNC_OUT(); return; L_0887B0B0: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0887B0BCu); aot_gpr_5 = (ctx.gpr[29] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0010_entry, 10u, 553u, 0x0882E704u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887B0BCu) goto L_0887B0BC; AOT_REGCACHE_SYNC_OUT(); return; L_0887B0BC: - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5868))); - if (aot_gpr_17 != 0u) { - ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(18)))))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5868))); + if (ctx.gpr[17] != 0u) { + ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(18)))))); goto L_0887B0D8; } goto L_0887B0C8; @@ -8492,28 +8493,28 @@ L_0887B0C8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 452u, 0x08B65D8Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887B0D0u) goto L_0887B0D0; AOT_REGCACHE_SYNC_OUT(); return; L_0887B0D0: - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5868))); - ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(18)))))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5868))); + ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(18)))))); goto L_0887B0D8; L_0887B0D8: aot_gpr_4 = (0u | 0u); aot_gpr_5 = (0u | 0u); { const bool branch_taken = ctx.gpr[7] != 0u; - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(216))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(216))); if (branch_taken) { goto L_0887B108; } goto L_0887B0E8; } L_0887B0E8: - ctx.gpr[8] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(16)))))); + ctx.gpr[8] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(16)))))); if (ctx.gpr[8] != 0u) { aot_gpr_5 = (0u | 1u); goto L_0887B10C; } goto L_0887B0F4; L_0887B0F4: - ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(20))); + ctx.gpr[8] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(20))); ctx.gpr[9] = (2213u << 16u); ctx.gpr[9] = (ctx.gpr[9] + static_cast(21956)); { const bool branch_taken = ctx.gpr[9] == ctx.gpr[8]; @@ -8544,7 +8545,7 @@ L_0887B118: goto L_0887B120; } L_0887B120: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(16)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(16)))))); { const bool branch_taken = aot_gpr_5 != 0u; // nop if (branch_taken) { @@ -8553,7 +8554,7 @@ L_0887B120: goto L_0887B12C; } L_0887B12C: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(20))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(20))); ctx.gpr[8] = (2213u << 16u); ctx.gpr[8] = (ctx.gpr[8] + static_cast(21964)); if (ctx.gpr[8] == aot_gpr_5) { @@ -8568,14 +8569,14 @@ L_0887B140: } goto L_0887B148; L_0887B148: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(16)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(16)))))); if (aot_gpr_5 != 0u) { aot_gpr_4 = (0u | 1u); goto L_0887B16C; } goto L_0887B154; L_0887B154: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(20))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(20))); ctx.gpr[7] = (2213u << 16u); ctx.gpr[7] = (ctx.gpr[7] + static_cast(22528)); { const bool branch_taken = ctx.gpr[7] == aot_gpr_5; @@ -8610,7 +8611,7 @@ L_0887B178: goto L_0887B188; } L_0887B188: - { const bool branch_taken = static_cast(ctx.gpr[6]) <= 0; + { const bool branch_taken = static_cast(aot_gpr_6) <= 0; // nop if (branch_taken) { goto L_0887B1A4; @@ -8621,14 +8622,14 @@ L_0887B190: aot_gpr_4 = (aot_gpr_28 + static_cast(7768)); aot_gpr_5 = (0u | 197u); aot_gpr_31 = (0x0887B1A0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 553u, 0x08A062F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887B1A0u) goto L_0887B1A0; AOT_REGCACHE_SYNC_OUT(); return; L_0887B1A0: - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(216))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(216))); goto L_0887B1A4; L_0887B1A4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -8638,7 +8639,7 @@ L_0887B1A4: } L_0887B1B0: { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(204), ctx.gpr[6]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(204), aot_gpr_6); if (branch_taken) { goto L_0887B1C0; } @@ -8646,7 +8647,7 @@ L_0887B1B0: } L_0887B1B8: aot_gpr_4 = (aot_gpr_4 + static_cast(-1)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(204), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(204), aot_gpr_4); goto L_0887B1C0; L_0887B1C0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); @@ -8659,7 +8660,7 @@ L_0887B1C0: goto L_0887B1D0; } L_0887B1D0: - { const bool branch_taken = static_cast(ctx.gpr[6]) <= 0; + { const bool branch_taken = static_cast(aot_gpr_6) <= 0; // nop if (branch_taken) { goto L_0887B1EC; @@ -8670,15 +8671,15 @@ L_0887B1D8: aot_gpr_4 = (aot_gpr_28 + static_cast(7768)); aot_gpr_5 = (0u | 197u); aot_gpr_31 = (0x0887B1E8u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 553u, 0x08A062F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887B1E8u) goto L_0887B1E8; AOT_REGCACHE_SYNC_OUT(); return; L_0887B1E8: - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(216))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(216))); goto L_0887B1EC; L_0887B1EC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); - aot_gpr_5 = (static_cast(aot_gpr_4) < static_cast(ctx.gpr[6]) ? 1u : 0u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); + aot_gpr_5 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_6) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 != 0u; // nop if (branch_taken) { @@ -8688,7 +8689,7 @@ L_0887B1EC: } L_0887B1FC: { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(204), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(204), 0u); if (branch_taken) { goto L_0887B20C; } @@ -8696,11 +8697,11 @@ L_0887B1FC: } L_0887B204: aot_gpr_4 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(204), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(204), aot_gpr_4); goto L_0887B20C; L_0887B20C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-26620))); - aot_gpr_5 = (static_cast(ctx.gpr[6]) < static_cast(aot_gpr_4) ? 1u : 0u); + aot_gpr_5 = (static_cast(aot_gpr_6) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; // nop if (branch_taken) { @@ -8709,7 +8710,7 @@ L_0887B20C: goto L_0887B21C; } L_0887B21C: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); { const bool branch_taken = aot_gpr_5 == aot_gpr_4; // nop if (branch_taken) { @@ -8718,23 +8719,23 @@ L_0887B21C: goto L_0887B228; } L_0887B228: - aot_gpr_4 = (aot_gpr_4 - ctx.gpr[6]); + aot_gpr_4 = (aot_gpr_4 - aot_gpr_6); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); { const bool branch_taken = static_cast(aot_gpr_4) >= 0; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(204), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(204), aot_gpr_4); if (branch_taken) { goto L_0887B23C; } goto L_0887B238; } L_0887B238: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(204), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(204), 0u); goto L_0887B23C; L_0887B23C: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-26620), ctx.gpr[6]); - aot_gpr_4 = (ctx.gpr[6] + static_cast(1)); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); - aot_gpr_4 = (static_cast(aot_gpr_4) < static_cast(ctx.gpr[6]) ? 1u : 0u); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-26620), aot_gpr_6); + aot_gpr_4 = (aot_gpr_6 + static_cast(1)); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); + aot_gpr_4 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_6) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -8743,12 +8744,12 @@ L_0887B23C: goto L_0887B254; } L_0887B254: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(216))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(216))); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); goto L_0887B25C; L_0887B25C: - ctx.gpr[6] = (ctx.gpr[6] + static_cast(-1)); - aot_gpr_5 = (static_cast(aot_gpr_4) < static_cast(ctx.gpr[6]) ? 1u : 0u); + aot_gpr_6 = (aot_gpr_6 + static_cast(-1)); + aot_gpr_5 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_6) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 != 0u; // nop if (branch_taken) { @@ -8757,12 +8758,12 @@ L_0887B25C: goto L_0887B26C; } L_0887B26C: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(204), ctx.gpr[6]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(204), aot_gpr_6); goto L_0887B270; L_0887B270: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5868))); if (aot_gpr_5 != 0u) { - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(18)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(18)))))); goto L_0887B28C; } goto L_0887B27C; @@ -8773,10 +8774,10 @@ L_0887B27C: AOT_REGCACHE_SYNC_OUT(); return; L_0887B284: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5868))); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(18)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(18)))))); goto L_0887B28C; L_0887B28C: - { const bool branch_taken = ctx.gpr[6] != 0u; + { const bool branch_taken = aot_gpr_6 != 0u; aot_gpr_4 = (0u | 0u); if (branch_taken) { goto L_0887B2B4; @@ -8784,17 +8785,17 @@ L_0887B28C: goto L_0887B294; } L_0887B294: - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(16)))))); - if (ctx.gpr[6] != 0u) { + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(16)))))); + if (aot_gpr_6 != 0u) { aot_gpr_4 = (0u | 1u); goto L_0887B2B8; } goto L_0887B2A0; L_0887B2A0: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(20))); - ctx.gpr[6] = (2213u << 16u); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(21956)); - { const bool branch_taken = ctx.gpr[6] == aot_gpr_5; + aot_gpr_6 = (2213u << 16u); + aot_gpr_6 = (aot_gpr_6 + static_cast(21956)); + { const bool branch_taken = aot_gpr_6 == aot_gpr_5; aot_gpr_4 = (aot_gpr_4 & 255u); if (branch_taken) { goto L_0887B2BC; @@ -8821,9 +8822,9 @@ L_0887B2C4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887B2CCu) goto L_0887B2CC; AOT_REGCACHE_SYNC_OUT(); return; L_0887B2CC: - aot_gpr_4 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(42)))))); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_4 = (aot_gpr_2 | 0u); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(42)))))); + { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_5 = (0u | 0u); if (branch_taken) { goto L_0887B2EC; @@ -8857,12 +8858,12 @@ L_0887B2F8: aot_gpr_4 = (aot_gpr_28 + static_cast(7768)); aot_gpr_5 = (0u | 196u); aot_gpr_31 = (0x0887B308u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 553u, 0x08A062F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887B308u) goto L_0887B308; AOT_REGCACHE_SYNC_OUT(); return; L_0887B308: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(216))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(216))); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop if (branch_taken) { @@ -8894,14 +8895,14 @@ L_0887B330: AOT_REGCACHE_SYNC_OUT(); return; L_0887B338: { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(204), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(204), 0u); if (branch_taken) { goto L_0887B3B8; } goto L_0887B340; } L_0887B340: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); ctx.gpr[18] = (0u | 0u); goto L_0887B348; L_0887B348: @@ -8925,7 +8926,7 @@ L_0887B360: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0148_entry, 148u, 80u, 0x08A545ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887B368u) goto L_0887B368; AOT_REGCACHE_SYNC_OUT(); return; L_0887B368: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_0887B3A8; @@ -8933,8 +8934,8 @@ L_0887B368: goto L_0887B370; } L_0887B370: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); - { const bool branch_taken = aot_gpr_17 != aot_gpr_4; + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); + { const bool branch_taken = ctx.gpr[17] != aot_gpr_4; // nop if (branch_taken) { goto L_0887B3A4; @@ -8972,7 +8973,7 @@ L_0887B39C: goto L_0887B3A4; } L_0887B3A4: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); goto L_0887B3A8; L_0887B3A8: ctx.gpr[18] = (ctx.gpr[18] + static_cast(1)); @@ -8985,8 +8986,8 @@ L_0887B3A8: goto L_0887B3B8; } L_0887B3B8: - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5868))); - { const bool branch_taken = ctx.gpr[6] != 0u; + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5868))); + { const bool branch_taken = aot_gpr_6 != 0u; // nop if (branch_taken) { goto L_0887B3D0; @@ -8999,11 +9000,11 @@ L_0887B3C4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 452u, 0x08B65D8Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887B3CCu) goto L_0887B3CC; AOT_REGCACHE_SYNC_OUT(); return; L_0887B3CC: - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5868))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5868))); goto L_0887B3D0; L_0887B3D0: aot_gpr_31 = (0x0887B3D8u); - aot_gpr_4 = (ctx.gpr[6] | 0u); + aot_gpr_4 = (aot_gpr_6 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0147_entry, 147u, 730u, 0x08A53CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887B3D8u) goto L_0887B3D8; AOT_REGCACHE_SYNC_OUT(); return; L_0887B3D8: @@ -9013,20 +9014,20 @@ L_0887B3D8: AOT_REGCACHE_SYNC_OUT(); return; L_0887B3E0: aot_gpr_31 = (0x0887B3E8u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0098_entry, 98u, 2u, 0x0898C008u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887B3E8u) goto L_0887B3E8; AOT_REGCACHE_SYNC_OUT(); return; L_0887B3E8: - { const bool branch_taken = ctx.gpr[2] != 0u; - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5868))); + { const bool branch_taken = aot_gpr_2 != 0u; + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5868))); if (branch_taken) { goto L_0887B440; } goto L_0887B3F0; } L_0887B3F0: - if (ctx.gpr[6] != 0u) { - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[6] + static_cast(18)))))); + if (aot_gpr_6 != 0u) { + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(18)))))); goto L_0887B408; } goto L_0887B3F8; @@ -9036,8 +9037,8 @@ L_0887B3F8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 452u, 0x08B65D8Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887B400u) goto L_0887B400; AOT_REGCACHE_SYNC_OUT(); return; L_0887B400: - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5868))); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[6] + static_cast(18)))))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5868))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(18)))))); goto L_0887B408; L_0887B408: { const bool branch_taken = aot_gpr_5 != 0u; @@ -9048,14 +9049,14 @@ L_0887B408: goto L_0887B410; } L_0887B410: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[6] + static_cast(16)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(16)))))); if (aot_gpr_5 != 0u) { aot_gpr_4 = (0u | 1u); goto L_0887B434; } goto L_0887B41C; L_0887B41C: - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(20))); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(20))); ctx.gpr[7] = (2213u << 16u); ctx.gpr[7] = (ctx.gpr[7] + static_cast(21956)); { const bool branch_taken = ctx.gpr[7] == aot_gpr_5; @@ -9080,7 +9081,7 @@ L_0887B438: goto L_0887B440; } L_0887B440: - { const bool branch_taken = ctx.gpr[6] != 0u; + { const bool branch_taken = aot_gpr_6 != 0u; // nop if (branch_taken) { goto L_0887B454; @@ -9093,15 +9094,15 @@ L_0887B448: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 452u, 0x08B65D8Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887B450u) goto L_0887B450; AOT_REGCACHE_SYNC_OUT(); return; L_0887B450: - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5868))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5868))); goto L_0887B454; L_0887B454: aot_gpr_31 = (0x0887B45Cu); - aot_gpr_4 = (ctx.gpr[6] | 0u); + aot_gpr_4 = (aot_gpr_6 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0148_entry, 148u, 237u, 0x08A54ED4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887B45Cu) goto L_0887B45C; AOT_REGCACHE_SYNC_OUT(); return; L_0887B45C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_0887B4AC; @@ -9131,7 +9132,7 @@ L_0887B47C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0148_entry, 148u, 93u, 0x08A546D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887B484u) goto L_0887B484; AOT_REGCACHE_SYNC_OUT(); return; L_0887B484: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(244))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(244))); { const bool branch_taken = static_cast(aot_gpr_4) < 0; // nop if (branch_taken) { @@ -9145,7 +9146,7 @@ L_0887B490: ctx.pc = 0x08B72FECu; AOT_REGCACHE_SYNC_OUT(); return; L_0887B498: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(248))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(248))); { const bool branch_taken = static_cast(aot_gpr_4) < 0; // nop if (branch_taken) { @@ -9160,32 +9161,32 @@ L_0887B4A4: AOT_REGCACHE_SYNC_OUT(); return; L_0887B4AC: aot_gpr_4 = (0u + static_cast(-1)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(248), aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(244), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(248), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(244), aot_gpr_4); aot_gpr_4 = (aot_gpr_28 + static_cast(7768)); aot_gpr_5 = (0u | 198u); aot_gpr_31 = (0x0887B4C8u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 553u, 0x08A062F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887B4C8u) goto L_0887B4C8; AOT_REGCACHE_SYNC_OUT(); return; L_0887B4C8: aot_gpr_5 = (aot_gpr_28 + static_cast(-27352)); - ctx.gpr[6] = (aot_gpr_28 + static_cast(-27344)); + aot_gpr_6 = (aot_gpr_28 + static_cast(-27344)); aot_gpr_31 = (0x0887B4D8u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 896u, 0x08873D30u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887B4D8u) goto L_0887B4D8; AOT_REGCACHE_SYNC_OUT(); return; L_0887B4D8: { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(204), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(204), 0u); if (branch_taken) { goto L_0887B680; } goto L_0887B4E0; } L_0887B4E0: - if (ctx.gpr[6] != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[6] + static_cast(3164))); + if (aot_gpr_6 != 0u) { + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_6 + static_cast(3164))); goto L_0887B4F8; } goto L_0887B4E8; @@ -9195,8 +9196,8 @@ L_0887B4E8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 452u, 0x08B65D8Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887B4F0u) goto L_0887B4F0; AOT_REGCACHE_SYNC_OUT(); return; L_0887B4F0: - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5868))); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[6] + static_cast(3164))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5868))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_6 + static_cast(3164))); goto L_0887B4F8; L_0887B4F8: { const bool branch_taken = aot_gpr_4 != 0u; @@ -9207,7 +9208,7 @@ L_0887B4F8: goto L_0887B500; } L_0887B500: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[6] + static_cast(18)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(18)))))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -9216,7 +9217,7 @@ L_0887B500: goto L_0887B50C; } L_0887B50C: - ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[6] + static_cast(16)))))); + ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(16)))))); { const bool branch_taken = ctx.gpr[7] != 0u; // nop if (branch_taken) { @@ -9225,7 +9226,7 @@ L_0887B50C: goto L_0887B518; } L_0887B518: - ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(20))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(20))); ctx.gpr[8] = (2213u << 16u); ctx.gpr[8] = (ctx.gpr[8] + static_cast(23108)); if (ctx.gpr[8] == ctx.gpr[7]) { @@ -9242,7 +9243,7 @@ L_0887B52C: goto L_0887B534; } L_0887B534: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[6] + static_cast(16)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(16)))))); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_4 = (aot_gpr_5 & 255u); if (branch_taken) { @@ -9251,10 +9252,10 @@ L_0887B534: goto L_0887B540; } L_0887B540: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(20))); - ctx.gpr[6] = (2213u << 16u); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(23100)); - { const bool branch_taken = ctx.gpr[6] != aot_gpr_4; + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(20))); + aot_gpr_6 = (2213u << 16u); + aot_gpr_6 = (aot_gpr_6 + static_cast(23100)); + { const bool branch_taken = aot_gpr_6 != aot_gpr_4; aot_gpr_4 = (aot_gpr_5 & 255u); if (branch_taken) { goto L_0887B55C; @@ -9276,15 +9277,15 @@ L_0887B55C: goto L_0887B564; } L_0887B564: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(204), 0u); - aot_gpr_4 = (aot_gpr_16 + static_cast(228)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(204), 0u); + aot_gpr_4 = (ctx.gpr[16] + static_cast(228)); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x0887B578u); - ctx.gpr[6] = (0u | 16u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887B578u) goto L_0887B578; + aot_gpr_6 = (0u | 16u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887B578u) goto L_0887B578; AOT_REGCACHE_SYNC_OUT(); return; L_0887B578: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(224), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(224), 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5868))); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -9308,14 +9309,14 @@ L_0887B594: AOT_REGCACHE_SYNC_OUT(); return; L_0887B59C: aot_gpr_5 = (aot_gpr_28 + static_cast(-27320)); - ctx.gpr[6] = (aot_gpr_28 + static_cast(-27312)); + aot_gpr_6 = (aot_gpr_28 + static_cast(-27312)); aot_gpr_31 = (0x0887B5ACu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 896u, 0x08873D30u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887B5ACu) goto L_0887B5AC; AOT_REGCACHE_SYNC_OUT(); return; L_0887B5AC: aot_gpr_31 = (0x0887B5B4u); - aot_gpr_4 = (aot_gpr_16 + static_cast(164)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(164)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 589u, 0x0886F9ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887B5B4u) goto L_0887B5B4; AOT_REGCACHE_SYNC_OUT(); return; L_0887B5B4: @@ -9366,9 +9367,9 @@ L_0887B5EC: L_0887B5F4: ctx.gpr[7] = (3u << 16u); ctx.gpr[8] = (3u << 16u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 66u); - ctx.gpr[6] = (0u | 16384u); + aot_gpr_6 = (0u | 16384u); ctx.gpr[9] = (0u | 1u); ctx.gpr[10] = (0u | 0u); ctx.gpr[7] = (ctx.gpr[7] + static_cast(3392)); @@ -9377,8 +9378,8 @@ L_0887B5F4: ctx.pc = 0x08B73044u; AOT_REGCACHE_SYNC_OUT(); return; L_0887B61C: - { const bool branch_taken = static_cast(ctx.gpr[2]) >= 0; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(248), ctx.gpr[2]); + { const bool branch_taken = static_cast(aot_gpr_2) >= 0; + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(248), aot_gpr_2); if (branch_taken) { goto L_0887B634; } @@ -9386,9 +9387,9 @@ L_0887B61C: } L_0887B624: aot_gpr_5 = (aot_gpr_28 + static_cast(-27352)); - ctx.gpr[6] = (aot_gpr_28 + static_cast(-27344)); + aot_gpr_6 = (aot_gpr_28 + static_cast(-27344)); aot_gpr_31 = (0x0887B634u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 896u, 0x08873D30u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887B634u) goto L_0887B634; AOT_REGCACHE_SYNC_OUT(); return; L_0887B634: @@ -9397,11 +9398,11 @@ L_0887B634: ctx.pc = 0x08B73514u; AOT_REGCACHE_SYNC_OUT(); return; L_0887B63C: - ctx.gpr[6] = (ctx.gpr[29] + static_cast(4)); + aot_gpr_6 = (ctx.gpr[29] + static_cast(4)); ctx.gpr[7] = (ctx.gpr[29] + static_cast(8)); aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x0887B650u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); ctx.pc = 0x08B7343Cu; AOT_REGCACHE_SYNC_OUT(); return; L_0887B650: @@ -9411,18 +9412,18 @@ L_0887B650: aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_gpr_4 = (13702u << 16u); aot_gpr_4 = (aot_gpr_4 | 14269u); - ctx.fpr[13] = std::bit_cast(aot_gpr_5); - ctx.fpr[14] = std::bit_cast(aot_gpr_4); - ctx.fpr[13] = static_cast(static_cast(std::bit_cast(ctx.fpr[13]))); - { const float fs = aot_fpr_12; const float ft = ctx.fpr[14]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - aot_fpr_12 = aot_fpr_12 + ctx.fpr[13]; + aot_fpr_13 = std::bit_cast(aot_gpr_5); + aot_fpr_14 = std::bit_cast(aot_gpr_4); + aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_13))); + { const float fs = aot_fpr_12; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } + aot_fpr_12 = aot_fpr_12 + aot_fpr_13; aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-27284), std::bit_cast(aot_fpr_12)); goto L_0887B680; L_0887B680: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(12), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -9435,7 +9436,7 @@ L_0887B680: L_0887B698: ctx.gpr[29] = (ctx.gpr[29] + static_cast(-288)); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7872))); - aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(236), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(236), ctx.gpr[16]); { const std::uint32_t aot_run_words[5]{ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22]}; aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(244), aot_run_words); } aot_gpr_5 = (aot_gpr_28 + static_cast(7864)); @@ -9443,12 +9444,12 @@ L_0887B698: ctx.gpr[21] = (0u | 103u); ctx.gpr[19] = (0u | 283u); ctx.gpr[18] = (0u | 393u); - ctx.gpr[6] = (0u | 1u); - aot_gpr_16 = (0u | 4u); + aot_gpr_6 = (0u | 1u); + ctx.gpr[16] = (0u | 4u); ctx.gpr[20] = (aot_gpr_4 | 0u); - { const std::uint32_t aot_run_words[5]{std::bit_cast(ctx.fpr[20]), std::bit_cast(aot_fpr_22), std::bit_cast(ctx.fpr[24]), std::bit_cast(aot_fpr_26), std::bit_cast(aot_fpr_28)}; + { const std::uint32_t aot_run_words[5]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28])}; aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(216), aot_run_words); } - aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(240), aot_gpr_17); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(240), ctx.gpr[17]); { const std::uint32_t aot_run_words[3]{ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(264), aot_run_words); } { const bool branch_taken = ctx.gpr[7] != 0u; @@ -9459,14 +9460,14 @@ L_0887B698: goto L_0887B704; } L_0887B704: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(7872), ctx.gpr[6]); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(7872), aot_gpr_6); aot_gpr_31 = (0x0887B710u); aot_gpr_4 = (aot_gpr_5 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0112_entry, 112u, 464u, 0x089C6318u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887B710u) goto L_0887B710; AOT_REGCACHE_SYNC_OUT(); return; L_0887B710: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7868))); - { const bool branch_taken = aot_gpr_4 != aot_gpr_16; + { const bool branch_taken = aot_gpr_4 != ctx.gpr[16]; // nop if (branch_taken) { goto L_0887B720; @@ -9484,7 +9485,7 @@ L_0887B720: L_0887B728: aot_gpr_31 = (0x0887B730u); aot_gpr_4 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887B730u) goto L_0887B730; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C604, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887B730u) goto L_0887B730; AOT_REGCACHE_SYNC_OUT(); return; L_0887B730: aot_gpr_4 = (0u | 237u); @@ -9497,11 +9498,11 @@ L_0887B730: aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(3), static_cast(aot_gpr_5)); aot_gpr_31 = (0x0887B758u); aot_gpr_4 = (ctx.gpr[29] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887B758u) goto L_0887B758; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C4A8, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887B758u) goto L_0887B758; AOT_REGCACHE_SYNC_OUT(); return; L_0887B758: - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); - { const bool branch_taken = aot_gpr_17 != 0u; + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + { const bool branch_taken = ctx.gpr[17] != 0u; aot_gpr_5 = (aot_gpr_28 + static_cast(-26612)); if (branch_taken) { goto L_0887B790; @@ -9509,14 +9510,14 @@ L_0887B758: goto L_0887B764; } L_0887B764: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_31 = (0x0887B770u); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887B770u) goto L_0887B770; AOT_REGCACHE_SYNC_OUT(); return; L_0887B770: - aot_gpr_16 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_0887B788; @@ -9525,27 +9526,27 @@ L_0887B770: } L_0887B77C: aot_gpr_31 = (0x0887B784u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887B784u) goto L_0887B784; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887B784u) goto L_0887B784; AOT_REGCACHE_SYNC_OUT(); return; L_0887B784: - aot_gpr_17 = (aot_gpr_16 | 0u); + ctx.gpr[17] = (ctx.gpr[16] | 0u); goto L_0887B788; L_0887B788: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); aot_gpr_5 = (aot_gpr_28 + static_cast(-26612)); goto L_0887B790; L_0887B790: aot_gpr_31 = (0x0887B798u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887B798u) goto L_0887B798; AOT_REGCACHE_SYNC_OUT(); return; L_0887B798: - ctx.gpr[6] = (0u | 48u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (0u | 48u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x0887B7A8u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887B7A8u) goto L_0887B7A8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887B7A8u) goto L_0887B7A8; AOT_REGCACHE_SYNC_OUT(); return; L_0887B7A8: aot_gpr_31 = (0x0887B7B0u); @@ -9553,8 +9554,8 @@ L_0887B7A8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0028_entry, 28u, 47u, 0x08874254u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887B7B0u) goto L_0887B7B0; AOT_REGCACHE_SYNC_OUT(); return; L_0887B7B0: - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); - { const bool branch_taken = aot_gpr_17 != 0u; + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + { const bool branch_taken = ctx.gpr[17] != 0u; ctx.gpr[23] = (0u | 72u); if (branch_taken) { goto L_0887B7E4; @@ -9562,14 +9563,14 @@ L_0887B7B0: goto L_0887B7BC; } L_0887B7BC: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_31 = (0x0887B7C8u); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887B7C8u) goto L_0887B7C8; AOT_REGCACHE_SYNC_OUT(); return; L_0887B7C8: - aot_gpr_16 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_0887B7E0; @@ -9578,45 +9579,45 @@ L_0887B7C8: } L_0887B7D4: aot_gpr_31 = (0x0887B7DCu); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887B7DCu) goto L_0887B7DC; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887B7DCu) goto L_0887B7DC; AOT_REGCACHE_SYNC_OUT(); return; L_0887B7DC: - aot_gpr_17 = (aot_gpr_16 | 0u); + ctx.gpr[17] = (ctx.gpr[16] | 0u); goto L_0887B7E0; L_0887B7E0: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); goto L_0887B7E4; L_0887B7E4: aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(212), ctx.gpr[22]); aot_gpr_5 = (aot_gpr_28 + static_cast(-26604)); aot_gpr_31 = (0x0887B7F4u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887B7F4u) goto L_0887B7F4; AOT_REGCACHE_SYNC_OUT(); return; L_0887B7F4: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x0887B804u); - ctx.gpr[6] = (ctx.gpr[23] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887B804u) goto L_0887B804; + aot_gpr_6 = (ctx.gpr[23] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887B804u) goto L_0887B804; AOT_REGCACHE_SYNC_OUT(); return; L_0887B804: - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); - if (aot_gpr_17 != 0u) { + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + if (ctx.gpr[17] != 0u) { aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(208), ctx.gpr[21]); goto L_0887B83C; } goto L_0887B810; L_0887B810: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_31 = (0x0887B81Cu); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887B81Cu) goto L_0887B81C; AOT_REGCACHE_SYNC_OUT(); return; L_0887B81C: - aot_gpr_16 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_0887B834; @@ -9625,45 +9626,45 @@ L_0887B81C: } L_0887B828: aot_gpr_31 = (0x0887B830u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887B830u) goto L_0887B830; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887B830u) goto L_0887B830; AOT_REGCACHE_SYNC_OUT(); return; L_0887B830: - aot_gpr_17 = (aot_gpr_16 | 0u); + ctx.gpr[17] = (ctx.gpr[16] | 0u); goto L_0887B834; L_0887B834: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(208), ctx.gpr[21]); goto L_0887B83C; L_0887B83C: aot_gpr_5 = (aot_gpr_28 + static_cast(-26928)); aot_gpr_31 = (0x0887B848u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887B848u) goto L_0887B848; AOT_REGCACHE_SYNC_OUT(); return; L_0887B848: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x0887B858u); - ctx.gpr[6] = (ctx.gpr[23] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887B858u) goto L_0887B858; + aot_gpr_6 = (ctx.gpr[23] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887B858u) goto L_0887B858; AOT_REGCACHE_SYNC_OUT(); return; L_0887B858: - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); - if (aot_gpr_17 != 0u) { + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + if (ctx.gpr[17] != 0u) { aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(204), ctx.gpr[19]); goto L_0887B890; } goto L_0887B864; L_0887B864: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_31 = (0x0887B870u); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887B870u) goto L_0887B870; AOT_REGCACHE_SYNC_OUT(); return; L_0887B870: - aot_gpr_16 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_0887B888; @@ -9672,45 +9673,45 @@ L_0887B870: } L_0887B87C: aot_gpr_31 = (0x0887B884u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887B884u) goto L_0887B884; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887B884u) goto L_0887B884; AOT_REGCACHE_SYNC_OUT(); return; L_0887B884: - aot_gpr_17 = (aot_gpr_16 | 0u); + ctx.gpr[17] = (ctx.gpr[16] | 0u); goto L_0887B888; L_0887B888: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(204), ctx.gpr[19]); goto L_0887B890; L_0887B890: aot_gpr_5 = (aot_gpr_28 + static_cast(-26596)); aot_gpr_31 = (0x0887B89Cu); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887B89Cu) goto L_0887B89C; AOT_REGCACHE_SYNC_OUT(); return; L_0887B89C: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x0887B8ACu); - ctx.gpr[6] = (ctx.gpr[23] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887B8ACu) goto L_0887B8AC; + aot_gpr_6 = (ctx.gpr[23] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887B8ACu) goto L_0887B8AC; AOT_REGCACHE_SYNC_OUT(); return; L_0887B8AC: - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); - if (aot_gpr_17 != 0u) { + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + if (ctx.gpr[17] != 0u) { aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(196), ctx.gpr[18]); goto L_0887B8E4; } goto L_0887B8B8; L_0887B8B8: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_31 = (0x0887B8C4u); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887B8C4u) goto L_0887B8C4; AOT_REGCACHE_SYNC_OUT(); return; L_0887B8C4: - aot_gpr_16 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_0887B8DC; @@ -9719,34 +9720,34 @@ L_0887B8C4: } L_0887B8D0: aot_gpr_31 = (0x0887B8D8u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887B8D8u) goto L_0887B8D8; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887B8D8u) goto L_0887B8D8; AOT_REGCACHE_SYNC_OUT(); return; L_0887B8D8: - aot_gpr_17 = (aot_gpr_16 | 0u); + ctx.gpr[17] = (ctx.gpr[16] | 0u); goto L_0887B8DC; L_0887B8DC: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(196), ctx.gpr[18]); goto L_0887B8E4; L_0887B8E4: aot_gpr_5 = (aot_gpr_28 + static_cast(-26588)); aot_gpr_31 = (0x0887B8F0u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887B8F0u) goto L_0887B8F0; AOT_REGCACHE_SYNC_OUT(); return; L_0887B8F0: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x0887B900u); - ctx.gpr[6] = (ctx.gpr[23] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887B900u) goto L_0887B900; + aot_gpr_6 = (ctx.gpr[23] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887B900u) goto L_0887B900; AOT_REGCACHE_SYNC_OUT(); return; L_0887B900: - aot_gpr_17 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(204))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(204))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(216))); ctx.gpr[23] = (0u | 80u); - aot_gpr_4 = (static_cast(aot_gpr_17) < static_cast(aot_gpr_4) ? 1u : 0u); + aot_gpr_4 = (static_cast(ctx.gpr[17]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; ctx.gpr[21] = (0u | 0u); if (branch_taken) { @@ -9757,7 +9758,7 @@ L_0887B900: L_0887B918: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(212))); aot_gpr_4 = (aot_gpr_4 + static_cast(-1)); - aot_gpr_4 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_17) ? 1u : 0u); + aot_gpr_4 = (static_cast(aot_gpr_4) < static_cast(ctx.gpr[17]) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -9766,14 +9767,14 @@ L_0887B918: goto L_0887B92C; } L_0887B92C: - aot_gpr_4 = (aot_gpr_17 + static_cast(1)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(1)); aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(212), aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(-5)); aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(208), aot_gpr_4); goto L_0887B93C; L_0887B93C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(208))); - aot_gpr_4 = (static_cast(aot_gpr_17) < static_cast(aot_gpr_4) ? 1u : 0u); + aot_gpr_4 = (static_cast(ctx.gpr[17]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(164), ctx.gpr[20]); if (branch_taken) { @@ -9783,7 +9784,7 @@ L_0887B93C: } L_0887B94C: aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(164), ctx.gpr[20]); - aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(208), aot_gpr_17); + aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(208), ctx.gpr[17]); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(208))); aot_gpr_4 = (aot_gpr_4 + static_cast(5)); { const bool branch_taken = 0u == 0u; @@ -9803,22 +9804,22 @@ L_0887B974: aot_gpr_4 = (aot_gpr_28 + static_cast(-26940)); aot_gpr_5 = (aot_gpr_28 + static_cast(-26936)); aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(168), aot_gpr_4); - ctx.gpr[6] = (aot_gpr_28 + static_cast(-26920)); + aot_gpr_6 = (aot_gpr_28 + static_cast(-26920)); aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(192), aot_gpr_5); aot_gpr_4 = (aot_gpr_28 + static_cast(-26896)); - aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(188), ctx.gpr[6]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(188), aot_gpr_6); aot_gpr_5 = (aot_gpr_28 + static_cast(-26580)); aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(184), aot_gpr_4); - ctx.gpr[6] = (aot_gpr_28 + static_cast(5824)); + aot_gpr_6 = (aot_gpr_28 + static_cast(5824)); aot_gpr_4 = (2236u << 16u); aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(180), aot_gpr_5); aot_gpr_4 = (aot_gpr_4 + static_cast(25856)); - aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(176), ctx.gpr[6]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(176), aot_gpr_6); ctx.gpr[22] = (0u | 0u); ctx.gpr[19] = (ctx.gpr[29] + static_cast(144)); ctx.gpr[30] = (ctx.gpr[29] + static_cast(4)); aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(172), aot_gpr_4); - aot_gpr_16 = (0u | 1u); + ctx.gpr[16] = (0u | 1u); goto L_0887B9C0; L_0887B9C0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5868))); @@ -9843,7 +9844,7 @@ L_0887B9D8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0148_entry, 148u, 80u, 0x08A545ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887B9E0u) goto L_0887B9E0; AOT_REGCACHE_SYNC_OUT(); return; L_0887B9E0: - ctx.gpr[20] = (ctx.gpr[2] | 0u); + ctx.gpr[20] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[20] == 0u; // nop if (branch_taken) { @@ -9892,7 +9893,7 @@ L_0887BA24: goto L_0887BA2C; L_0887BA2C: aot_gpr_31 = (0x0887BA34u); - ctx.gpr[6] = (ctx.gpr[20] | 0u); + aot_gpr_6 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0148_entry, 148u, 180u, 0x08A54B14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887BA34u) goto L_0887BA34; AOT_REGCACHE_SYNC_OUT(); return; L_0887BA34: @@ -9907,7 +9908,7 @@ L_0887BA34: goto L_0887BA48; } L_0887BA48: - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(84))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(84))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(168))); aot_gpr_31 = (0x0887BA58u); aot_gpr_4 = (ctx.gpr[30] | 0u); @@ -9922,21 +9923,21 @@ L_0887BA58: goto L_0887BA60; } L_0887BA60: - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); - if (aot_gpr_17 != 0u) { + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + if (ctx.gpr[17] != 0u) { aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(192))); goto L_0887BA9C; } goto L_0887BA6C; L_0887BA6C: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_31 = (0x0887BA78u); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887BA78u) goto L_0887BA78; AOT_REGCACHE_SYNC_OUT(); return; L_0887BA78: - aot_gpr_16 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_0887BA90; @@ -9945,32 +9946,32 @@ L_0887BA78: } L_0887BA84: aot_gpr_31 = (0x0887BA8Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887BA8Cu) goto L_0887BA8C; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887BA8Cu) goto L_0887BA8C; AOT_REGCACHE_SYNC_OUT(); return; L_0887BA8C: - aot_gpr_17 = (aot_gpr_16 | 0u); + ctx.gpr[17] = (ctx.gpr[16] | 0u); goto L_0887BA90; L_0887BA90: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_17); - aot_gpr_16 = (0u | 1u); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); + ctx.gpr[16] = (0u | 1u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(192))); goto L_0887BA9C; L_0887BA9C: aot_gpr_31 = (0x0887BAA4u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887BAA4u) goto L_0887BAA4; AOT_REGCACHE_SYNC_OUT(); return; L_0887BAA4: aot_gpr_31 = (0x0887BAACu); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 309u, 0x089F5AC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887BAACu) goto L_0887BAAC; AOT_REGCACHE_SYNC_OUT(); return; L_0887BAAC: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(168))); aot_gpr_4 = (ctx.gpr[30] | 0u); aot_gpr_31 = (0x0887BABCu); - ctx.gpr[6] = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0212_entry, 212u, 576u, 0x08B562D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887BABCu) goto L_0887BABC; AOT_REGCACHE_SYNC_OUT(); return; L_0887BABC: @@ -10005,8 +10006,8 @@ L_0887BAF4: aot_gpr_4 = (ctx.gpr[8] | 0u); aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(149), static_cast(aot_gpr_5)); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(4))); - ctx.gpr[6] = (aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(4))); - { const bool branch_taken = aot_gpr_5 != ctx.gpr[6]; + aot_gpr_6 = (aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(4))); + { const bool branch_taken = aot_gpr_5 != aot_gpr_6; ctx.gpr[7] = (0u | 0u); if (branch_taken) { goto L_0887BB48; @@ -10015,8 +10016,8 @@ L_0887BAF4: } L_0887BB24: aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(2))); - ctx.gpr[6] = (aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(2))); - if (aot_gpr_5 != ctx.gpr[6]) { + aot_gpr_6 = (aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(2))); + if (aot_gpr_5 != aot_gpr_6) { aot_gpr_4 = (ctx.gpr[7] & 255u); goto L_0887BB4C; } @@ -10032,7 +10033,7 @@ L_0887BB34: goto L_0887BB44; } L_0887BB44: - ctx.gpr[7] = (aot_gpr_16 | 0u); + ctx.gpr[7] = (ctx.gpr[16] | 0u); goto L_0887BB48; L_0887BB48: aot_gpr_4 = (ctx.gpr[7] & 255u); @@ -10065,33 +10066,33 @@ L_0887BB70: aot_gpr_4 = (ctx.gpr[29] + static_cast(30)); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(212))); aot_gpr_31 = (0x0887BB84u); - ctx.gpr[6] = (ctx.gpr[23] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887BB84u) goto L_0887BB84; + aot_gpr_6 = (ctx.gpr[23] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887BB84u) goto L_0887BB84; AOT_REGCACHE_SYNC_OUT(); return; L_0887BB84: - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(80))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(80))); aot_gpr_4 = (ctx.gpr[29] + static_cast(88)); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(188))); aot_gpr_31 = (0x0887BB98u); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(1)); + aot_gpr_6 = (aot_gpr_6 + static_cast(1)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0212_entry, 212u, 576u, 0x08B562D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887BB98u) goto L_0887BB98; AOT_REGCACHE_SYNC_OUT(); return; L_0887BB98: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); if (aot_gpr_4 != 0u) { - aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(184))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(184))); goto L_0887BBD4; } goto L_0887BBA4; L_0887BBA4: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_31 = (0x0887BBB0u); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887BBB0u) goto L_0887BBB0; AOT_REGCACHE_SYNC_OUT(); return; L_0887BBB0: - aot_gpr_16 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_0887BBC8; @@ -10100,16 +10101,16 @@ L_0887BBB0: } L_0887BBBC: aot_gpr_31 = (0x0887BBC4u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887BBC4u) goto L_0887BBC4; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887BBC4u) goto L_0887BBC4; AOT_REGCACHE_SYNC_OUT(); return; L_0887BBC4: - aot_gpr_17 = (aot_gpr_16 | 0u); + ctx.gpr[17] = (ctx.gpr[16] | 0u); goto L_0887BBC8; L_0887BBC8: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_17); - aot_gpr_4 = (aot_gpr_17 | 0u); - aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(184))); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); + aot_gpr_4 = (ctx.gpr[17] | 0u); + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(184))); goto L_0887BBD4; L_0887BBD4: aot_gpr_31 = (0x0887BBDCu); @@ -10118,16 +10119,16 @@ L_0887BBD4: AOT_REGCACHE_SYNC_OUT(); return; L_0887BBDC: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(208))); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x0887BBECu); - ctx.gpr[6] = (ctx.gpr[23] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887BBECu) goto L_0887BBEC; + aot_gpr_6 = (ctx.gpr[23] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887BBECu) goto L_0887BBEC; AOT_REGCACHE_SYNC_OUT(); return; L_0887BBEC: - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(84))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(84))); aot_gpr_4 = (ctx.gpr[29] + static_cast(96)); aot_gpr_31 = (0x0887BBFCu); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0212_entry, 212u, 576u, 0x08B562D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887BBFCu) goto L_0887BBFC; AOT_REGCACHE_SYNC_OUT(); return; L_0887BBFC: @@ -10140,14 +10141,14 @@ L_0887BBFC: goto L_0887BC08; } L_0887BC08: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_31 = (0x0887BC14u); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887BC14u) goto L_0887BC14; AOT_REGCACHE_SYNC_OUT(); return; L_0887BC14: - aot_gpr_16 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_0887BC2C; @@ -10156,15 +10157,15 @@ L_0887BC14: } L_0887BC20: aot_gpr_31 = (0x0887BC28u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887BC28u) goto L_0887BC28; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887BC28u) goto L_0887BC28; AOT_REGCACHE_SYNC_OUT(); return; L_0887BC28: - aot_gpr_17 = (aot_gpr_16 | 0u); + ctx.gpr[17] = (ctx.gpr[16] | 0u); goto L_0887BC2C; L_0887BC2C: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_17); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); + aot_gpr_4 = (ctx.gpr[17] | 0u); goto L_0887BC34; L_0887BC34: aot_gpr_31 = (0x0887BC3Cu); @@ -10173,24 +10174,24 @@ L_0887BC34: AOT_REGCACHE_SYNC_OUT(); return; L_0887BC3C: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(204))); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x0887BC4Cu); - ctx.gpr[6] = (ctx.gpr[23] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887BC4Cu) goto L_0887BC4C; + aot_gpr_6 = (ctx.gpr[23] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887BC4Cu) goto L_0887BC4C; AOT_REGCACHE_SYNC_OUT(); return; L_0887BC4C: - aot_gpr_17 = (ctx.gpr[29] + static_cast(112)); + ctx.gpr[17] = (ctx.gpr[29] + static_cast(112)); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(180))); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0887BC60u); - ctx.gpr[6] = (ctx.gpr[18] | 0u); + aot_gpr_6 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0212_entry, 212u, 576u, 0x08B562D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887BC60u) goto L_0887BC60; AOT_REGCACHE_SYNC_OUT(); return; L_0887BC60: - aot_gpr_16 = (ctx.gpr[29] + static_cast(120)); - aot_gpr_4 = (aot_gpr_17 | 0u); + ctx.gpr[16] = (ctx.gpr[29] + static_cast(120)); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0887BC70u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0032_entry, 32u, 843u, 0x08887B04u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887BC70u) goto L_0887BC70; AOT_REGCACHE_SYNC_OUT(); return; L_0887BC70: @@ -10224,11 +10225,11 @@ L_0887BC9C: goto L_0887BCA0; L_0887BCA0: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(196))); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[18] + aot_gpr_5); aot_gpr_31 = (0x0887BCB4u); - ctx.gpr[6] = (ctx.gpr[23] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887BCB4u) goto L_0887BCB4; + aot_gpr_6 = (ctx.gpr[23] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887BCB4u) goto L_0887BCB4; AOT_REGCACHE_SYNC_OUT(); return; L_0887BCB4: aot_gpr_31 = (0x0887BCBCu); @@ -10248,10 +10249,10 @@ L_0887BCBC: L_0887BCCC: aot_gpr_31 = (0x0887BCD4u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(172))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887BCD4u) goto L_0887BCD4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887BCD4u) goto L_0887BCD4; AOT_REGCACHE_SYNC_OUT(); return; L_0887BCD4: - aot_gpr_16 = (0u | 1u); + ctx.gpr[16] = (0u | 1u); goto L_0887BCD8; L_0887BCD8: ctx.gpr[21] = (ctx.gpr[21] + static_cast(1)); @@ -10294,7 +10295,7 @@ L_0887BD10: L_0887BD18: aot_gpr_31 = (0x0887BD20u); aot_gpr_4 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887BD20u) goto L_0887BD20; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C604, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887BD20u) goto L_0887BD20; AOT_REGCACHE_SYNC_OUT(); return; L_0887BD20: aot_gpr_4 = (0u | 255u); @@ -10305,11 +10306,11 @@ L_0887BD20: aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(153), static_cast(aot_gpr_4)); aot_gpr_31 = (0x0887BD40u); aot_gpr_4 = (ctx.gpr[29] + static_cast(150)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887BD40u) goto L_0887BD40; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C4A8, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887BD40u) goto L_0887BD40; AOT_REGCACHE_SYNC_OUT(); return; L_0887BD40: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); - { const bool branch_taken = aot_gpr_16 != 0u; + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + { const bool branch_taken = ctx.gpr[16] != 0u; aot_gpr_5 = (aot_gpr_28 + static_cast(-26576)); if (branch_taken) { goto L_0887BD78; @@ -10317,14 +10318,14 @@ L_0887BD40: goto L_0887BD4C; } L_0887BD4C: - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); aot_gpr_31 = (0x0887BD58u); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887BD58u) goto L_0887BD58; AOT_REGCACHE_SYNC_OUT(); return; L_0887BD58: - aot_gpr_17 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_0887BD70; @@ -10333,27 +10334,27 @@ L_0887BD58: } L_0887BD64: aot_gpr_31 = (0x0887BD6Cu); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887BD6Cu) goto L_0887BD6C; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887BD6Cu) goto L_0887BD6C; AOT_REGCACHE_SYNC_OUT(); return; L_0887BD6C: - aot_gpr_16 = (aot_gpr_17 | 0u); + ctx.gpr[16] = (ctx.gpr[17] | 0u); goto L_0887BD70; L_0887BD70: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[16]); aot_gpr_5 = (aot_gpr_28 + static_cast(-26576)); goto L_0887BD78; L_0887BD78: aot_gpr_31 = (0x0887BD80u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887BD80u) goto L_0887BD80; AOT_REGCACHE_SYNC_OUT(); return; L_0887BD80: - ctx.gpr[6] = (ctx.gpr[23] + static_cast(16)); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (ctx.gpr[23] + static_cast(16)); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x0887BD90u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887BD90u) goto L_0887BD90; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887BD90u) goto L_0887BD90; AOT_REGCACHE_SYNC_OUT(); return; L_0887BD90: ctx.gpr[21] = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(216))); @@ -10369,11 +10370,11 @@ L_0887BD94: L_0887BDA8: aot_gpr_31 = (0x0887BDB0u); aot_gpr_4 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887BDB0u) goto L_0887BDB0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C604, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887BDB0u) goto L_0887BDB0; AOT_REGCACHE_SYNC_OUT(); return; L_0887BDB0: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); - { const bool branch_taken = aot_gpr_16 != 0u; + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + { const bool branch_taken = ctx.gpr[16] != 0u; aot_gpr_5 = (aot_gpr_28 + static_cast(-26568)); if (branch_taken) { goto L_0887BDE8; @@ -10381,14 +10382,14 @@ L_0887BDB0: goto L_0887BDBC; } L_0887BDBC: - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); aot_gpr_31 = (0x0887BDC8u); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887BDC8u) goto L_0887BDC8; AOT_REGCACHE_SYNC_OUT(); return; L_0887BDC8: - aot_gpr_17 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_0887BDE0; @@ -10397,27 +10398,27 @@ L_0887BDC8: } L_0887BDD4: aot_gpr_31 = (0x0887BDDCu); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887BDDCu) goto L_0887BDDC; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887BDDCu) goto L_0887BDDC; AOT_REGCACHE_SYNC_OUT(); return; L_0887BDDC: - aot_gpr_16 = (aot_gpr_17 | 0u); + ctx.gpr[16] = (ctx.gpr[17] | 0u); goto L_0887BDE0; L_0887BDE0: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[16]); aot_gpr_5 = (aot_gpr_28 + static_cast(-26568)); goto L_0887BDE8; L_0887BDE8: aot_gpr_31 = (0x0887BDF0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887BDF0u) goto L_0887BDF0; AOT_REGCACHE_SYNC_OUT(); return; L_0887BDF0: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x0887BE00u); - ctx.gpr[6] = (0u | 192u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887BE00u) goto L_0887BE00; + aot_gpr_6 = (0u | 192u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887BE00u) goto L_0887BE00; AOT_REGCACHE_SYNC_OUT(); return; L_0887BE00: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(208))); @@ -10443,32 +10444,32 @@ L_0887BE0C: L_0887BE24: ctx.fpr[20] = std::bit_cast(ctx.gpr[9]); ctx.gpr[9] = (17084u << 16u); - aot_fpr_22 = std::bit_cast(ctx.gpr[9]); + ctx.fpr[22] = std::bit_cast(ctx.gpr[9]); aot_gpr_4 = (ctx.gpr[29] + static_cast(156)); ctx.gpr[9] = (17260u << 16u); ctx.fpr[24] = std::bit_cast(ctx.gpr[9]); aot_gpr_5 = (0u | 30u); ctx.gpr[9] = (17264u << 16u); - aot_fpr_26 = std::bit_cast(ctx.gpr[9]); - ctx.gpr[6] = (0u | 255u); + ctx.fpr[26] = std::bit_cast(ctx.gpr[9]); + aot_gpr_6 = (0u | 255u); ctx.gpr[9] = (17068u << 16u); ctx.gpr[7] = (0u | 255u); - aot_fpr_28 = std::bit_cast(ctx.gpr[9]); + ctx.fpr[28] = std::bit_cast(ctx.gpr[9]); aot_gpr_31 = (0x0887BE60u); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887BE60u) goto L_0887BE60; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887BE60u) goto L_0887BE60; AOT_REGCACHE_SYNC_OUT(); return; L_0887BE60: aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); - aot_gpr_4 = (ctx.gpr[2] | 0u); - ctx.fpr[13] = std::bit_cast(std::bit_cast(aot_fpr_22)); - ctx.fpr[14] = std::bit_cast(std::bit_cast(ctx.fpr[24])); - ctx.fpr[15] = std::bit_cast(std::bit_cast(aot_fpr_22)); - ctx.fpr[16] = std::bit_cast(std::bit_cast(aot_fpr_26)); - ctx.fpr[17] = std::bit_cast(std::bit_cast(aot_fpr_28)); - ctx.fpr[18] = std::bit_cast(std::bit_cast(aot_fpr_26)); + aot_gpr_4 = (aot_gpr_2 | 0u); + aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[22])); + aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[24])); + aot_fpr_15 = std::bit_cast(std::bit_cast(ctx.fpr[22])); + ctx.fpr[16] = std::bit_cast(std::bit_cast(ctx.fpr[26])); + ctx.fpr[17] = std::bit_cast(std::bit_cast(ctx.fpr[28])); + ctx.fpr[18] = std::bit_cast(std::bit_cast(ctx.fpr[26])); aot_gpr_31 = (0x0887BE88u); - ctx.fpr[19] = std::bit_cast(std::bit_cast(aot_fpr_28)); + ctx.fpr[19] = std::bit_cast(std::bit_cast(ctx.fpr[28])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 124u, 0x08AF5238u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887BE88u) goto L_0887BE88; AOT_REGCACHE_SYNC_OUT(); return; L_0887BE88: @@ -10512,32 +10513,32 @@ L_0887BEB8: L_0887BED0: ctx.fpr[20] = std::bit_cast(ctx.gpr[9]); ctx.gpr[9] = (17204u << 16u); - aot_fpr_22 = std::bit_cast(ctx.gpr[9]); + ctx.fpr[22] = std::bit_cast(ctx.gpr[9]); aot_gpr_4 = (ctx.gpr[29] + static_cast(160)); ctx.gpr[9] = (17260u << 16u); ctx.fpr[24] = std::bit_cast(ctx.gpr[9]); aot_gpr_5 = (0u | 30u); ctx.gpr[9] = (17264u << 16u); - aot_fpr_26 = std::bit_cast(ctx.gpr[9]); - ctx.gpr[6] = (0u | 255u); + ctx.fpr[26] = std::bit_cast(ctx.gpr[9]); + aot_gpr_6 = (0u | 255u); ctx.gpr[9] = (17212u << 16u); ctx.gpr[7] = (0u | 255u); - aot_fpr_28 = std::bit_cast(ctx.gpr[9]); + ctx.fpr[28] = std::bit_cast(ctx.gpr[9]); aot_gpr_31 = (0x0887BF0Cu); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887BF0Cu) goto L_0887BF0C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887BF0Cu) goto L_0887BF0C; AOT_REGCACHE_SYNC_OUT(); return; L_0887BF0C: aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); - aot_gpr_4 = (ctx.gpr[2] | 0u); - ctx.fpr[13] = std::bit_cast(std::bit_cast(aot_fpr_22)); - ctx.fpr[14] = std::bit_cast(std::bit_cast(ctx.fpr[24])); - ctx.fpr[15] = std::bit_cast(std::bit_cast(aot_fpr_22)); - ctx.fpr[16] = std::bit_cast(std::bit_cast(aot_fpr_26)); - ctx.fpr[17] = std::bit_cast(std::bit_cast(aot_fpr_28)); - ctx.fpr[18] = std::bit_cast(std::bit_cast(aot_fpr_26)); + aot_gpr_4 = (aot_gpr_2 | 0u); + aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[22])); + aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[24])); + aot_fpr_15 = std::bit_cast(std::bit_cast(ctx.fpr[22])); + ctx.fpr[16] = std::bit_cast(std::bit_cast(ctx.fpr[26])); + ctx.fpr[17] = std::bit_cast(std::bit_cast(ctx.fpr[28])); + ctx.fpr[18] = std::bit_cast(std::bit_cast(ctx.fpr[26])); aot_gpr_31 = (0x0887BF34u); - ctx.fpr[19] = std::bit_cast(std::bit_cast(aot_fpr_28)); + ctx.fpr[19] = std::bit_cast(std::bit_cast(ctx.fpr[28])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 124u, 0x08AF5238u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887BF34u) goto L_0887BF34; AOT_REGCACHE_SYNC_OUT(); return; L_0887BF34: @@ -10559,12 +10560,12 @@ L_0887BF50: { std::uint32_t aot_run_words[15]{}; aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(216), aot_run_words); ctx.fpr[20] = std::bit_cast(aot_run_words[0]); - aot_fpr_22 = std::bit_cast(aot_run_words[1]); + ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); - aot_fpr_26 = std::bit_cast(aot_run_words[3]); - aot_fpr_28 = std::bit_cast(aot_run_words[4]); - aot_gpr_16 = aot_run_words[5]; - aot_gpr_17 = aot_run_words[6]; + ctx.fpr[26] = std::bit_cast(aot_run_words[3]); + ctx.fpr[28] = std::bit_cast(aot_run_words[4]); + ctx.gpr[16] = aot_run_words[5]; + ctx.gpr[17] = aot_run_words[6]; ctx.gpr[18] = aot_run_words[7]; ctx.gpr[19] = aot_run_words[8]; ctx.gpr[20] = aot_run_words[9]; @@ -10583,15 +10584,15 @@ L_0887BF50: L_0887BF94: ctx.gpr[29] = (ctx.gpr[29] + static_cast(-384)); aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(364), ctx.gpr[22]); - ctx.gpr[22] = (ctx.gpr[6] & 255u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5868))); + ctx.gpr[22] = (aot_gpr_6 & 255u); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5868))); aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(372), ctx.gpr[30]); ctx.gpr[30] = (aot_gpr_4 | 0u); - { const std::uint32_t aot_run_words[6]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21]}; + { const std::uint32_t aot_run_words[6]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21]}; aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(340), aot_run_words); } aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(368), ctx.gpr[23]); aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(376), aot_gpr_31); - { const bool branch_taken = ctx.gpr[6] != 0u; + { const bool branch_taken = aot_gpr_6 != 0u; ctx.gpr[23] = (aot_gpr_5 | 0u); if (branch_taken) { goto L_0887BFDC; @@ -10612,7 +10613,7 @@ L_0887BFDC: L_0887BFE8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5868))); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_17 = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); if (branch_taken) { goto L_0887BFFC; } diff --git a/profiles/vcs/generated/generated_unit_0030.cpp b/profiles/vcs/generated/generated_unit_0030.cpp index 5ffb8e2..fef246e 100644 --- a/profiles/vcs/generated/generated_unit_0030.cpp +++ b/profiles/vcs/generated/generated_unit_0030.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,7 +139,7 @@ static const std::uint16_t kEntryIds_recomp_unit_0030[4082] = { }; void recomp_unit_0030_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,29,5,31,16,6 fprs=12,13,14,20 gpr_occ=4101 fpr_occ=291 gpr_total=5654 fpr_total=379 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,29,5,31,16,6 fprs=12,13,14,20 gpr_occ=4202 fpr_occ=291 gpr_total=5924 fpr_total=379 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; @@ -1480,7 +1481,7 @@ L_0887C37C: aot_gpr_5 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x0887C388u); aot_gpr_6 = (0u | 136u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887C388u) goto L_0887C388; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58100, 213u, 23u, 0x08B58100u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887C388u) goto L_0887C388; AOT_REGCACHE_SYNC_OUT(); return; L_0887C388: { const bool branch_taken = ctx.gpr[2] != 0u; @@ -2459,7 +2460,7 @@ L_0887CA60: L_0887CA68: aot_gpr_31 = (0x0887CA70u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887CA70u) goto L_0887CA70; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC734, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887CA70u) goto L_0887CA70; AOT_REGCACHE_SYNC_OUT(); return; L_0887CA70: aot_gpr_4 = (ctx.gpr[28] + ctx.gpr[2]); @@ -2517,7 +2518,7 @@ L_0887CAB4: L_0887CAC8: aot_gpr_31 = (0x0887CAD0u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887CAD0u) goto L_0887CAD0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC734, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887CAD0u) goto L_0887CAD0; AOT_REGCACHE_SYNC_OUT(); return; L_0887CAD0: ctx.gpr[17] = (ctx.gpr[2] | 0u); @@ -5917,7 +5918,7 @@ L_0887E220: aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x0887E234u); aot_gpr_6 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887E234u) goto L_0887E234; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887E234u) goto L_0887E234; AOT_REGCACHE_SYNC_OUT(); return; L_0887E234: ctx.gpr[2] = (0u | 0u); @@ -6366,7 +6367,7 @@ L_0887E588: aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x0887E5BCu); aot_gpr_6 = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887E5BCu) goto L_0887E5BC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887E5BCu) goto L_0887E5BC; AOT_REGCACHE_SYNC_OUT(); return; L_0887E5BC: ctx.gpr[2] = (0u | 0u); @@ -6426,7 +6427,7 @@ L_0887E62C: aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x0887E644u); aot_gpr_6 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887E644u) goto L_0887E644; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887E644u) goto L_0887E644; AOT_REGCACHE_SYNC_OUT(); return; L_0887E644: ctx.gpr[2] = (0u | 0u); @@ -6485,7 +6486,7 @@ L_0887E6B0: aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x0887E6C8u); aot_gpr_6 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887E6C8u) goto L_0887E6C8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887E6C8u) goto L_0887E6C8; AOT_REGCACHE_SYNC_OUT(); return; L_0887E6C8: ctx.gpr[2] = (0u | 0u); @@ -6544,7 +6545,7 @@ L_0887E734: aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x0887E74Cu); aot_gpr_6 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887E74Cu) goto L_0887E74C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887E74Cu) goto L_0887E74C; AOT_REGCACHE_SYNC_OUT(); return; L_0887E74C: ctx.gpr[2] = (0u | 0u); @@ -6603,7 +6604,7 @@ L_0887E7B8: aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x0887E7D0u); aot_gpr_6 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887E7D0u) goto L_0887E7D0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887E7D0u) goto L_0887E7D0; AOT_REGCACHE_SYNC_OUT(); return; L_0887E7D0: ctx.gpr[2] = (0u | 0u); @@ -6662,7 +6663,7 @@ L_0887E83C: aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x0887E854u); aot_gpr_6 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887E854u) goto L_0887E854; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887E854u) goto L_0887E854; AOT_REGCACHE_SYNC_OUT(); return; L_0887E854: ctx.gpr[2] = (0u | 0u); @@ -6721,7 +6722,7 @@ L_0887E8C0: aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x0887E8D8u); aot_gpr_6 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887E8D8u) goto L_0887E8D8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887E8D8u) goto L_0887E8D8; AOT_REGCACHE_SYNC_OUT(); return; L_0887E8D8: ctx.gpr[2] = (0u | 0u); @@ -6788,7 +6789,7 @@ L_0887E944: ctx.gpr[7] = (std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x0887E97Cu); aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(29704), ctx.gpr[7]); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887E97Cu) goto L_0887E97C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887E97Cu) goto L_0887E97C; AOT_REGCACHE_SYNC_OUT(); return; L_0887E97C: ctx.gpr[2] = (0u | 0u); @@ -6875,7 +6876,7 @@ L_0887EA10: aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x0887EA24u); aot_gpr_6 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887EA24u) goto L_0887EA24; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887EA24u) goto L_0887EA24; AOT_REGCACHE_SYNC_OUT(); return; L_0887EA24: ctx.gpr[2] = (0u | 0u); @@ -6942,7 +6943,7 @@ L_0887EA98: aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_31 = (0x0887EAC0u); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887EAC0u) goto L_0887EAC0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887EAC0u) goto L_0887EAC0; AOT_REGCACHE_SYNC_OUT(); return; L_0887EAC0: aot_gpr_4 = (ctx.gpr[19] << 2u); @@ -7335,7 +7336,7 @@ L_0887ED64: aot_gpr_5 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x0887ED78u); aot_gpr_6 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887ED78u) goto L_0887ED78; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887ED78u) goto L_0887ED78; AOT_REGCACHE_SYNC_OUT(); return; L_0887ED78: ctx.gpr[2] = (0u | 0u); @@ -7636,7 +7637,7 @@ L_0887EF60: aot_gpr_5 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x0887EF74u); aot_gpr_6 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887EF74u) goto L_0887EF74; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887EF74u) goto L_0887EF74; AOT_REGCACHE_SYNC_OUT(); return; L_0887EF74: ctx.gpr[2] = (0u | 0u); @@ -9035,7 +9036,7 @@ L_0887FB14: L_0887FB20: aot_gpr_31 = (0x0887FB28u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887FB28u) goto L_0887FB28; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887FB28u) goto L_0887FB28; AOT_REGCACHE_SYNC_OUT(); return; L_0887FB28: aot_gpr_4 = (ctx.gpr[19] << 2u); @@ -9534,7 +9535,7 @@ L_0887FE9C: L_0887FEA8: aot_gpr_31 = (0x0887FEB0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887FEB0u) goto L_0887FEB0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887FEB0u) goto L_0887FEB0; AOT_REGCACHE_SYNC_OUT(); return; L_0887FEB0: { std::uint32_t aot_run_words[7]{}; @@ -9602,7 +9603,7 @@ L_0887FF68: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(16), 0u); aot_gpr_31 = (0x0887FF74u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-26288)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887FF74u) goto L_0887FF74; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0887FF74u) goto L_0887FF74; AOT_REGCACHE_SYNC_OUT(); return; L_0887FF74: { std::uint32_t aot_run_words[4]{}; diff --git a/profiles/vcs/generated/generated_unit_0031.cpp b/profiles/vcs/generated/generated_unit_0031.cpp index b27c28e..0deacb6 100644 --- a/profiles/vcs/generated/generated_unit_0031.cpp +++ b/profiles/vcs/generated/generated_unit_0031.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0031[4094] = { }; void recomp_unit_0031_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,16,31,6 fprs=12,13,28,14 gpr_occ=3782 fpr_occ=671 gpr_total=4999 fpr_total=988 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,31,16,6 fprs=12,13,28,14 gpr_occ=3875 fpr_occ=673 gpr_total=5180 fpr_total=990 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; - std::uint32_t aot_gpr_16 = ctx.gpr[16]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; + std::uint32_t aot_gpr_16 = ctx.gpr[16]; std::uint32_t aot_gpr_6 = ctx.gpr[6]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_28 = ctx.fpr[28]; float aot_fpr_14 = ctx.fpr[14]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[16] = aot_gpr_16; ctx.gpr[31] = aot_gpr_31; ctx.gpr[6] = aot_gpr_6; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[28] = aot_fpr_28; ctx.fpr[14] = aot_fpr_14; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_6 = ctx.gpr[6]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_28 = ctx.fpr[28]; aot_fpr_14 = ctx.fpr[14]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[31] = aot_gpr_31; ctx.gpr[16] = aot_gpr_16; ctx.gpr[6] = aot_gpr_6; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[28] = aot_fpr_28; ctx.fpr[14] = aot_fpr_14; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_6 = ctx.gpr[6]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_28 = ctx.fpr[28]; aot_fpr_14 = ctx.fpr[14]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -3504,7 +3505,7 @@ L_088812B4: L_088812C8: aot_gpr_31 = (0x088812D0u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088812D0u) goto L_088812D0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088812D0u) goto L_088812D0; AOT_REGCACHE_SYNC_OUT(); return; L_088812D0: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -4603,7 +4604,7 @@ L_08881C80: aot_gpr_5 = (aot_gpr_5 + aot_gpr_4); aot_gpr_31 = (0x08881CA8u); aot_gpr_4 = (aot_gpr_6 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08881CA8u) goto L_08881CA8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08881CA8u) goto L_08881CA8; AOT_REGCACHE_SYNC_OUT(); return; L_08881CA8: aot_gpr_4 = (ctx.gpr[18] << 2u); @@ -5461,7 +5462,7 @@ L_088823F8: L_08882418: aot_gpr_31 = (0x08882420u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08882420u) goto L_08882420; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08882420u) goto L_08882420; AOT_REGCACHE_SYNC_OUT(); return; L_08882420: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -6297,7 +6298,7 @@ L_08882980: L_08882988: aot_gpr_31 = (0x08882990u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08882990u) goto L_08882990; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08882990u) goto L_08882990; AOT_REGCACHE_SYNC_OUT(); return; L_08882990: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-26260))); @@ -6305,7 +6306,7 @@ L_08882990: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x088829A4u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088829A4u) goto L_088829A4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088829A4u) goto L_088829A4; AOT_REGCACHE_SYNC_OUT(); return; L_088829A4: ctx.gpr[1] = (ctx.gpr[3] << 1u); @@ -6532,7 +6533,7 @@ L_08882AEC: L_08882AF4: aot_gpr_31 = (0x08882AFCu); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(676))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08882AFCu) goto L_08882AFC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08882AFCu) goto L_08882AFC; AOT_REGCACHE_SYNC_OUT(); return; L_08882AFC: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -6712,7 +6713,7 @@ L_08882C00: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08882C0Cu); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08882C0Cu) goto L_08882C0C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08882C0Cu) goto L_08882C0C; AOT_REGCACHE_SYNC_OUT(); return; L_08882C0C: { const bool branch_taken = 0u == 0u; @@ -7045,7 +7046,7 @@ L_08882DFC: L_08882E0C: aot_gpr_31 = (0x08882E14u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(676))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08882E14u) goto L_08882E14; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08882E14u) goto L_08882E14; AOT_REGCACHE_SYNC_OUT(); return; L_08882E14: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -7199,7 +7200,7 @@ L_08882F18: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(676))); aot_gpr_31 = (0x08882F24u); ctx.gpr[19] = (ctx.gpr[19] & 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08882F24u) goto L_08882F24; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08882F24u) goto L_08882F24; AOT_REGCACHE_SYNC_OUT(); return; L_08882F24: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -7382,7 +7383,7 @@ L_08883048: L_08883054: aot_gpr_31 = (0x0888305Cu); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(676))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888305Cu) goto L_0888305C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888305Cu) goto L_0888305C; AOT_REGCACHE_SYNC_OUT(); return; L_0888305C: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -7418,7 +7419,7 @@ L_0888307C: L_08883084: aot_gpr_31 = (0x0888308Cu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888308Cu) goto L_0888308C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089101A4, 67u, 27u, 0x089101A4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888308Cu) goto L_0888308C; AOT_REGCACHE_SYNC_OUT(); return; L_0888308C: { const bool branch_taken = ctx.gpr[2] != 0u; @@ -7433,7 +7434,7 @@ L_08883094: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(676))); aot_gpr_31 = (0x088830A4u); ctx.fpr[20] = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088830A4u) goto L_088830A4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089101A4, 67u, 27u, 0x089101A4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088830A4u) goto L_088830A4; AOT_REGCACHE_SYNC_OUT(); return; L_088830A4: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -7469,7 +7470,7 @@ L_088830AC: L_088830D0: aot_gpr_31 = (0x088830D8u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(676))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088830D8u) goto L_088830D8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089101A4, 67u, 27u, 0x089101A4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088830D8u) goto L_088830D8; AOT_REGCACHE_SYNC_OUT(); return; L_088830D8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(72))); @@ -7487,7 +7488,7 @@ L_088830D8: L_088830F4: aot_gpr_31 = (0x088830FCu); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(676))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088830FCu) goto L_088830FC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089101A4, 67u, 27u, 0x089101A4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088830FCu) goto L_088830FC; AOT_REGCACHE_SYNC_OUT(); return; L_088830FC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(676))); @@ -7502,7 +7503,7 @@ L_088830FC: L_0888310C: aot_gpr_31 = (0x08883114u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(676))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08883114u) goto L_08883114; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089101A4, 67u, 27u, 0x089101A4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08883114u) goto L_08883114; AOT_REGCACHE_SYNC_OUT(); return; L_08883114: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -7521,7 +7522,7 @@ L_08883120: L_08883128: aot_gpr_31 = (0x08883130u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(676))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08883130u) goto L_08883130; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089101A4, 67u, 27u, 0x089101A4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08883130u) goto L_08883130; AOT_REGCACHE_SYNC_OUT(); return; L_08883130: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -7532,7 +7533,7 @@ L_08883130: L_0888313C: aot_gpr_31 = (0x08883144u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08883144u) goto L_08883144; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089101A4, 67u, 27u, 0x089101A4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08883144u) goto L_08883144; AOT_REGCACHE_SYNC_OUT(); return; L_08883144: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -7545,7 +7546,7 @@ L_08883144: L_0888314C: aot_gpr_31 = (0x08883154u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08883154u) goto L_08883154; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089101A4, 67u, 27u, 0x089101A4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08883154u) goto L_08883154; AOT_REGCACHE_SYNC_OUT(); return; L_08883154: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -7559,7 +7560,7 @@ L_0888315C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1716))); aot_gpr_31 = (0x08883168u); aot_gpr_5 = (aot_gpr_16 + static_cast(1716)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08883168u) goto L_08883168; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08883168u) goto L_08883168; AOT_REGCACHE_SYNC_OUT(); return; L_08883168: aot_gpr_31 = (0x08883170u); @@ -7602,7 +7603,7 @@ L_088831A8: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(0)))))); aot_gpr_31 = (0x088831C0u); ctx.gpr[18] = (aot_gpr_16 + aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088831C0u) goto L_088831C0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089101A4, 67u, 27u, 0x089101A4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088831C0u) goto L_088831C0; AOT_REGCACHE_SYNC_OUT(); return; L_088831C0: aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); @@ -7616,7 +7617,7 @@ L_088831C0: L_088831D0: aot_gpr_31 = (0x088831D8u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088831D8u) goto L_088831D8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089101A4, 67u, 27u, 0x089101A4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088831D8u) goto L_088831D8; AOT_REGCACHE_SYNC_OUT(); return; L_088831D8: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -8028,7 +8029,7 @@ L_08883470: L_08883480: aot_gpr_31 = (0x08883488u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08883488u) goto L_08883488; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08883488u) goto L_08883488; AOT_REGCACHE_SYNC_OUT(); return; L_08883488: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-26252))); @@ -8036,7 +8037,7 @@ L_08883488: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x0888349Cu); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888349Cu) goto L_0888349C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888349Cu) goto L_0888349C; AOT_REGCACHE_SYNC_OUT(); return; L_0888349C: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-26244))); @@ -8259,7 +8260,7 @@ L_088836B0: aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x088836C4u); aot_gpr_6 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088836C4u) goto L_088836C4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088836C4u) goto L_088836C4; AOT_REGCACHE_SYNC_OUT(); return; L_088836C4: ctx.gpr[2] = (0u | 0u); @@ -8507,7 +8508,7 @@ L_088838C4: aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x088838D4u); aot_gpr_6 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088838D4u) goto L_088838D4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088838D4u) goto L_088838D4; AOT_REGCACHE_SYNC_OUT(); return; L_088838D4: ctx.gpr[2] = (0u | 0u); @@ -8596,7 +8597,7 @@ L_0888397C: aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x0888398Cu); aot_gpr_6 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888398Cu) goto L_0888398C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888398Cu) goto L_0888398C; AOT_REGCACHE_SYNC_OUT(); return; L_0888398C: ctx.gpr[2] = (0u | 0u); @@ -9350,7 +9351,7 @@ L_08883FAC: L_08883FB4: aot_gpr_31 = (0x08883FBCu); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[22])); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08883FBCu) goto L_08883FBC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08883FBCu) goto L_08883FBC; AOT_REGCACHE_SYNC_OUT(); return; L_08883FBC: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); @@ -9362,7 +9363,7 @@ L_08883FBC: aot_fpr_12 = aot_fpr_12 - aot_fpr_13; aot_gpr_31 = (0x08883FE0u); aot_fpr_12 = aot_fpr_12 - ctx.fpr[22]; - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08883FE0u) goto L_08883FE0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08883FE0u) goto L_08883FE0; AOT_REGCACHE_SYNC_OUT(); return; L_08883FE0: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-26236))); @@ -9370,7 +9371,7 @@ L_08883FE0: aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08883FF4u); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08883FF4u) goto L_08883FF4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_16, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08883FF4u) goto L_08883FF4; AOT_REGCACHE_SYNC_OUT(); return; L_08883FF4: aot_gpr_5 = (ctx.gpr[21] | 0u); diff --git a/profiles/vcs/generated/generated_unit_0032.cpp b/profiles/vcs/generated/generated_unit_0032.cpp index fd3bc38..3f0aed9 100644 --- a/profiles/vcs/generated/generated_unit_0032.cpp +++ b/profiles/vcs/generated/generated_unit_0032.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0032[4094] = { }; void recomp_unit_0032_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,29,31,16,5,6 fprs=12,13,20,14 gpr_occ=4769 fpr_occ=196 gpr_total=6026 fpr_total=226 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,29,31,5,16,6 fprs=12,13,20,14 gpr_occ=5190 fpr_occ=196 gpr_total=6701 fpr_total=226 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; - std::uint32_t aot_gpr_16 = ctx.gpr[16]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; + std::uint32_t aot_gpr_16 = ctx.gpr[16]; std::uint32_t aot_gpr_6 = ctx.gpr[6]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_20 = ctx.fpr[20]; float aot_fpr_14 = ctx.fpr[14]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[29] = aot_gpr_29; ctx.gpr[31] = aot_gpr_31; ctx.gpr[16] = aot_gpr_16; ctx.gpr[5] = aot_gpr_5; ctx.gpr[6] = aot_gpr_6; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; ctx.fpr[14] = aot_fpr_14; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_6 = ctx.gpr[6]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_14 = ctx.fpr[14]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[29] = aot_gpr_29; ctx.gpr[31] = aot_gpr_31; ctx.gpr[5] = aot_gpr_5; ctx.gpr[16] = aot_gpr_16; ctx.gpr[6] = aot_gpr_6; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; ctx.fpr[14] = aot_fpr_14; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_6 = ctx.gpr[6]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_14 = ctx.fpr[14]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -1092,13 +1093,13 @@ LOCAL_DISPATCH: L_08884000: aot_gpr_31 = (0x08884008u); aot_gpr_6 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08884008u) goto L_08884008; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61EF4, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08884008u) goto L_08884008; AOT_REGCACHE_SYNC_OUT(); return; L_08884008: aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08884014u); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08884014u) goto L_08884014; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B627F0, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08884014u) goto L_08884014; AOT_REGCACHE_SYNC_OUT(); return; L_08884014: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); @@ -1926,7 +1927,7 @@ L_0888468C: aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088846A4u); aot_gpr_6 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088846A4u) goto L_088846A4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088846A4u) goto L_088846A4; AOT_REGCACHE_SYNC_OUT(); return; L_088846A4: ctx.gpr[2] = (0u | 0u); @@ -3166,7 +3167,7 @@ L_08885004: aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x0888501Cu); aot_gpr_6 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888501Cu) goto L_0888501C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888501Cu) goto L_0888501C; AOT_REGCACHE_SYNC_OUT(); return; L_0888501C: ctx.gpr[2] = (0u | 0u); @@ -3280,7 +3281,7 @@ L_088850EC: L_088850F8: aot_gpr_31 = (0x08885100u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08885100u) goto L_08885100; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08885100u) goto L_08885100; AOT_REGCACHE_SYNC_OUT(); return; L_08885100: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -3322,7 +3323,7 @@ L_08885148: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); aot_gpr_31 = (0x08885154u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08885154u) goto L_08885154; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806654, 0u, 303u, 0x08806654u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08885154u) goto L_08885154; AOT_REGCACHE_SYNC_OUT(); return; L_08885154: ctx.gpr[17] = (ctx.gpr[17] + static_cast(8)); @@ -3352,7 +3353,7 @@ L_08885184: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); aot_gpr_31 = (0x08885190u); aot_gpr_5 = (0u + static_cast(-10001)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08885190u) goto L_08885190; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08885190u) goto L_08885190; AOT_REGCACHE_SYNC_OUT(); return; L_08885190: { std::uint32_t aot_run_words[3]{}; @@ -3438,7 +3439,7 @@ L_08885220: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); aot_gpr_31 = (0x0888524Cu); aot_gpr_5 = (0u + static_cast(-10001)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888524Cu) goto L_0888524C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880682C, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888524Cu) goto L_0888524C; AOT_REGCACHE_SYNC_OUT(); return; L_0888524C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); @@ -3452,7 +3453,7 @@ L_08885260: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); aot_gpr_31 = (0x0888526Cu); aot_gpr_5 = (0u + static_cast(-2)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888526Cu) goto L_0888526C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806654, 0u, 303u, 0x08806654u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888526Cu) goto L_0888526C; AOT_REGCACHE_SYNC_OUT(); return; L_0888526C: { std::uint32_t aot_run_words[4]{}; @@ -3491,7 +3492,7 @@ L_088852B8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); aot_gpr_31 = (0x088852C4u); aot_gpr_5 = (0u + static_cast(-2)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088852C4u) goto L_088852C4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880682C, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088852C4u) goto L_088852C4; AOT_REGCACHE_SYNC_OUT(); return; L_088852C4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); @@ -3511,7 +3512,7 @@ L_088852E4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); aot_gpr_31 = (0x088852F0u); aot_gpr_5 = (0u + static_cast(-2)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088852F0u) goto L_088852F0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806654, 0u, 303u, 0x08806654u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088852F0u) goto L_088852F0; AOT_REGCACHE_SYNC_OUT(); return; L_088852F0: { std::uint32_t aot_run_words[3]{}; @@ -3582,7 +3583,7 @@ L_0888536C: L_08885370: aot_gpr_31 = (0x08885378u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08885378u) goto L_08885378; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08885378u) goto L_08885378; AOT_REGCACHE_SYNC_OUT(); return; L_08885378: aot_gpr_4 = (aot_gpr_29 + static_cast(24)); @@ -3595,7 +3596,7 @@ L_08885388: ctx.gpr[19] = (aot_gpr_29 + static_cast(16)); aot_gpr_31 = (0x08885394u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08885394u) goto L_08885394; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08885394u) goto L_08885394; AOT_REGCACHE_SYNC_OUT(); return; L_08885394: ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(28))); @@ -3626,7 +3627,7 @@ L_088853C8: aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x088853D4u); aot_gpr_4 = (aot_gpr_4 + static_cast(25856)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088853D4u) goto L_088853D4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088853D4u) goto L_088853D4; AOT_REGCACHE_SYNC_OUT(); return; L_088853D4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(28))); @@ -3641,7 +3642,7 @@ L_088853E0: aot_gpr_4 = (2236u << 16u); aot_gpr_31 = (0x088853ECu); aot_gpr_4 = (aot_gpr_4 + static_cast(25856)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088853ECu) goto L_088853EC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088853ECu) goto L_088853EC; AOT_REGCACHE_SYNC_OUT(); return; L_088853EC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5892))); @@ -3665,7 +3666,7 @@ L_08885400: L_08885404: aot_gpr_31 = (0x0888540Cu); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888540Cu) goto L_0888540C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888540Cu) goto L_0888540C; AOT_REGCACHE_SYNC_OUT(); return; L_0888540C: aot_gpr_4 = (aot_gpr_29 + static_cast(8)); @@ -3677,7 +3678,7 @@ L_0888540C: L_0888541C: aot_gpr_31 = (0x08885424u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08885424u) goto L_08885424; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08885424u) goto L_08885424; AOT_REGCACHE_SYNC_OUT(); return; L_08885424: ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); @@ -3708,7 +3709,7 @@ L_08885458: aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08885464u); aot_gpr_4 = (aot_gpr_4 + static_cast(25856)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08885464u) goto L_08885464; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08885464u) goto L_08885464; AOT_REGCACHE_SYNC_OUT(); return; L_08885464: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); @@ -3723,7 +3724,7 @@ L_08885470: aot_gpr_4 = (2236u << 16u); aot_gpr_31 = (0x0888547Cu); aot_gpr_4 = (aot_gpr_4 + static_cast(25856)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888547Cu) goto L_0888547C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888547Cu) goto L_0888547C; AOT_REGCACHE_SYNC_OUT(); return; L_0888547C: { std::uint32_t aot_run_words[5]{}; @@ -3809,7 +3810,7 @@ L_08885504: L_0888550C: aot_gpr_31 = (0x08885514u); aot_gpr_5 = (0u + static_cast(-2)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08885514u) goto L_08885514; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806654, 0u, 303u, 0x08806654u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08885514u) goto L_08885514; AOT_REGCACHE_SYNC_OUT(); return; L_08885514: ctx.gpr[2] = (aot_gpr_16 | 0u); @@ -3868,7 +3869,7 @@ L_08885580: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08885590u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08885590u) goto L_08885590; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806888, 0u, 324u, 0x08806888u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08885590u) goto L_08885590; AOT_REGCACHE_SYNC_OUT(); return; L_08885590: aot_gpr_4 = (0u | 6u); @@ -3907,7 +3908,7 @@ L_088855C4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088855D0u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088855D0u) goto L_088855D0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880682C, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088855D0u) goto L_088855D0; AOT_REGCACHE_SYNC_OUT(); return; L_088855D0: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -3932,13 +3933,13 @@ L_088855F8: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08885604u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08885604u) goto L_08885604; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08885604u) goto L_08885604; AOT_REGCACHE_SYNC_OUT(); return; L_08885604: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08885610u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08885610u) goto L_08885610; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08885610u) goto L_08885610; AOT_REGCACHE_SYNC_OUT(); return; L_08885610: aot_gpr_5 = (ctx.gpr[28] + static_cast(-26120)); @@ -3951,13 +3952,13 @@ L_08885620: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0888562Cu); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888562Cu) goto L_0888562C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880682C, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888562Cu) goto L_0888562C; AOT_REGCACHE_SYNC_OUT(); return; L_0888562C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08885638u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08885638u) goto L_08885638; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08885638u) goto L_08885638; AOT_REGCACHE_SYNC_OUT(); return; L_08885638: aot_gpr_5 = (ctx.gpr[28] + static_cast(-26112)); @@ -3990,7 +3991,7 @@ L_08885674: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08885680u); aot_gpr_5 = (0u + static_cast(-2)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08885680u) goto L_08885680; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880682C, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08885680u) goto L_08885680; AOT_REGCACHE_SYNC_OUT(); return; L_08885680: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -4003,7 +4004,7 @@ L_08885690: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0888569Cu); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888569Cu) goto L_0888569C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806654, 0u, 303u, 0x08806654u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888569Cu) goto L_0888569C; AOT_REGCACHE_SYNC_OUT(); return; L_0888569C: ctx.gpr[2] = (ctx.gpr[18] | 0u); @@ -4070,7 +4071,7 @@ L_08885720: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0888572Cu); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888572Cu) goto L_0888572C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806654, 0u, 303u, 0x08806654u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888572Cu) goto L_0888572C; AOT_REGCACHE_SYNC_OUT(); return; L_0888572C: aot_gpr_5 = (ctx.gpr[28] + static_cast(-26120)); @@ -4117,7 +4118,7 @@ L_08885774: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08885780u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08885780u) goto L_08885780; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880682C, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08885780u) goto L_08885780; AOT_REGCACHE_SYNC_OUT(); return; L_08885780: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -4143,7 +4144,7 @@ L_088857A0: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088857ACu); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088857ACu) goto L_088857AC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806654, 0u, 303u, 0x08806654u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088857ACu) goto L_088857AC; AOT_REGCACHE_SYNC_OUT(); return; L_088857AC: { const bool branch_taken = 0u == 0u; @@ -4164,19 +4165,19 @@ L_088857C4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088857D0u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088857D0u) goto L_088857D0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088857D0u) goto L_088857D0; AOT_REGCACHE_SYNC_OUT(); return; L_088857D0: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088857DCu); aot_gpr_5 = (0u + static_cast(-4)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088857DCu) goto L_088857DC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088857DCu) goto L_088857DC; AOT_REGCACHE_SYNC_OUT(); return; L_088857DC: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088857E8u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088857E8u) goto L_088857E8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088857E8u) goto L_088857E8; AOT_REGCACHE_SYNC_OUT(); return; L_088857E8: { const bool branch_taken = 0u == 0u; @@ -4190,7 +4191,7 @@ L_088857F0: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088857FCu); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088857FCu) goto L_088857FC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088857FCu) goto L_088857FC; AOT_REGCACHE_SYNC_OUT(); return; L_088857FC: ctx.gpr[2] = (ctx.gpr[18] | 0u); @@ -4252,7 +4253,7 @@ L_0888586C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08885878u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08885878u) goto L_08885878; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08885878u) goto L_08885878; AOT_REGCACHE_SYNC_OUT(); return; L_08885878: aot_gpr_5 = (ctx.gpr[28] + static_cast(-26088)); @@ -4273,7 +4274,7 @@ L_0888589C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088858A8u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088858A8u) goto L_088858A8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088858A8u) goto L_088858A8; AOT_REGCACHE_SYNC_OUT(); return; L_088858A8: aot_gpr_5 = (ctx.gpr[28] + static_cast(-26080)); @@ -4294,7 +4295,7 @@ L_088858CC: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088858D8u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088858D8u) goto L_088858D8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088858D8u) goto L_088858D8; AOT_REGCACHE_SYNC_OUT(); return; L_088858D8: aot_gpr_5 = (ctx.gpr[28] + static_cast(-26112)); @@ -4312,7 +4313,7 @@ L_088858F0: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088858FCu); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088858FCu) goto L_088858FC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088858FCu) goto L_088858FC; AOT_REGCACHE_SYNC_OUT(); return; L_088858FC: aot_gpr_5 = (ctx.gpr[28] + static_cast(-26136)); @@ -4330,7 +4331,7 @@ L_08885914: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08885920u); aot_gpr_5 = (0u + static_cast(-10001)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08885920u) goto L_08885920; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08885920u) goto L_08885920; AOT_REGCACHE_SYNC_OUT(); return; L_08885920: aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -4382,7 +4383,7 @@ L_08885994: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088859A0u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088859A0u) goto L_088859A0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806654, 0u, 303u, 0x08806654u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088859A0u) goto L_088859A0; AOT_REGCACHE_SYNC_OUT(); return; L_088859A0: aot_gpr_5 = (ctx.gpr[28] + static_cast(-26104)); @@ -4444,7 +4445,7 @@ L_08885A0C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08885A18u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08885A18u) goto L_08885A18; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880682C, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08885A18u) goto L_08885A18; AOT_REGCACHE_SYNC_OUT(); return; L_08885A18: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -4456,14 +4457,14 @@ L_08885A24: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08885A30u); aot_gpr_5 = (0u + static_cast(-1)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08885A30u) goto L_08885A30; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806AE0, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08885A30u) goto L_08885A30; AOT_REGCACHE_SYNC_OUT(); return; L_08885A30: ctx.gpr[19] = (0u < ctx.gpr[2] ? 1u : 0u); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08885A40u); aot_gpr_5 = (0u + static_cast(-2)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08885A40u) goto L_08885A40; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806654, 0u, 303u, 0x08806654u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08885A40u) goto L_08885A40; AOT_REGCACHE_SYNC_OUT(); return; L_08885A40: { const bool branch_taken = ctx.gpr[19] != 0u; @@ -4477,14 +4478,14 @@ L_08885A48: ctx.gpr[20] = (0u | 0u); aot_gpr_31 = (0x08885A54u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08885A54u) goto L_08885A54; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806634, 0u, 302u, 0x08806634u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08885A54u) goto L_08885A54; AOT_REGCACHE_SYNC_OUT(); return; L_08885A54: ctx.gpr[19] = (ctx.gpr[2] | 0u); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08885A64u); aot_gpr_5 = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08885A64u) goto L_08885A64; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880682C, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08885A64u) goto L_08885A64; AOT_REGCACHE_SYNC_OUT(); return; L_08885A64: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -4496,7 +4497,7 @@ L_08885A70: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08885A7Cu); aot_gpr_5 = (0u + static_cast(-1)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08885A7Cu) goto L_08885A7C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806888, 0u, 324u, 0x08806888u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08885A7Cu) goto L_08885A7C; AOT_REGCACHE_SYNC_OUT(); return; L_08885A7C: { const bool branch_taken = ctx.gpr[2] == ctx.gpr[17]; @@ -4516,7 +4517,7 @@ L_08885A84: L_08885A94: aot_gpr_31 = (0x08885A9Cu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08885A9Cu) goto L_08885A9C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806634, 0u, 302u, 0x08806634u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08885A9Cu) goto L_08885A9C; AOT_REGCACHE_SYNC_OUT(); return; L_08885A9C: aot_gpr_4 = (static_cast(ctx.gpr[19]) < static_cast(ctx.gpr[2]) ? 1u : 0u); @@ -4531,7 +4532,7 @@ L_08885AA8: aot_gpr_5 = (ctx.gpr[19] + static_cast(1)); aot_gpr_31 = (0x08885AB4u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08885AB4u) goto L_08885AB4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806AE0, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08885AB4u) goto L_08885AB4; AOT_REGCACHE_SYNC_OUT(); return; L_08885AB4: ctx.gpr[20] = (0u < ctx.gpr[2] ? 1u : 0u); @@ -4548,7 +4549,7 @@ L_08885AC0: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08885ACCu); aot_gpr_5 = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08885ACCu) goto L_08885ACC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880682C, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08885ACCu) goto L_08885ACC; AOT_REGCACHE_SYNC_OUT(); return; L_08885ACC: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -4567,12 +4568,12 @@ L_08885AE4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08885AF4u); aot_gpr_5 = (0u + static_cast(-2)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08885AF4u) goto L_08885AF4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806654, 0u, 303u, 0x08806654u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08885AF4u) goto L_08885AF4; AOT_REGCACHE_SYNC_OUT(); return; L_08885AF4: aot_gpr_31 = (0x08885AFCu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08885AFCu) goto L_08885AFC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806634, 0u, 302u, 0x08806634u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08885AFCu) goto L_08885AFC; AOT_REGCACHE_SYNC_OUT(); return; L_08885AFC: ctx.gpr[21] = (ctx.gpr[2] - ctx.gpr[19]); @@ -4620,7 +4621,7 @@ L_08885B34: L_08885B40: aot_gpr_31 = (0x08885B48u); aot_gpr_4 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08885B48u) goto L_08885B48; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806634, 0u, 302u, 0x08806634u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08885B48u) goto L_08885B48; AOT_REGCACHE_SYNC_OUT(); return; L_08885B48: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -4633,7 +4634,7 @@ L_08885B48: L_08885B50: aot_gpr_31 = (0x08885B58u); aot_gpr_5 = (0u + static_cast(-1)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08885B58u) goto L_08885B58; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806888, 0u, 324u, 0x08806888u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08885B58u) goto L_08885B58; AOT_REGCACHE_SYNC_OUT(); return; L_08885B58: { const bool branch_taken = ctx.gpr[2] != ctx.gpr[17]; @@ -4646,7 +4647,7 @@ L_08885B58: L_08885B60: aot_gpr_31 = (0x08885B68u); aot_gpr_5 = (0u + static_cast(-1)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08885B68u) goto L_08885B68; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806AE0, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08885B68u) goto L_08885B68; AOT_REGCACHE_SYNC_OUT(); return; L_08885B68: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -4659,7 +4660,7 @@ L_08885B68: L_08885B70: aot_gpr_31 = (0x08885B78u); aot_gpr_5 = (0u + static_cast(-1)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08885B78u) goto L_08885B78; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806888, 0u, 324u, 0x08806888u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08885B78u) goto L_08885B78; AOT_REGCACHE_SYNC_OUT(); return; L_08885B78: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -4673,7 +4674,7 @@ L_08885B80: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08885B8Cu); aot_gpr_5 = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08885B8Cu) goto L_08885B8C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880682C, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08885B8Cu) goto L_08885B8C; AOT_REGCACHE_SYNC_OUT(); return; L_08885B8C: aot_gpr_4 = (ctx.gpr[20] | 0u); @@ -4686,13 +4687,13 @@ L_08885B9C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08885BA8u); aot_gpr_5 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08885BA8u) goto L_08885BA8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08885BA8u) goto L_08885BA8; AOT_REGCACHE_SYNC_OUT(); return; L_08885BA8: aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08885BB4u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08885BB4u) goto L_08885BB4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806654, 0u, 303u, 0x08806654u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08885BB4u) goto L_08885BB4; AOT_REGCACHE_SYNC_OUT(); return; L_08885BB4: { const bool branch_taken = 0u == 0u; @@ -4706,19 +4707,19 @@ L_08885BBC: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08885BC8u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08885BC8u) goto L_08885BC8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880682C, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08885BC8u) goto L_08885BC8; AOT_REGCACHE_SYNC_OUT(); return; L_08885BC8: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08885BD4u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08885BD4u) goto L_08885BD4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08885BD4u) goto L_08885BD4; AOT_REGCACHE_SYNC_OUT(); return; L_08885BD4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08885BE0u); aot_gpr_5 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08885BE0u) goto L_08885BE0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08885BE0u) goto L_08885BE0; AOT_REGCACHE_SYNC_OUT(); return; L_08885BE0: { const bool branch_taken = ctx.gpr[21] == 0u; @@ -4752,13 +4753,13 @@ L_08885C08: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08885C14u); aot_gpr_5 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08885C14u) goto L_08885C14; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806654, 0u, 303u, 0x08806654u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08885C14u) goto L_08885C14; AOT_REGCACHE_SYNC_OUT(); return; L_08885C14: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08885C20u); aot_gpr_5 = (0u + static_cast(-2)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08885C20u) goto L_08885C20; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806654, 0u, 303u, 0x08806654u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08885C20u) goto L_08885C20; AOT_REGCACHE_SYNC_OUT(); return; L_08885C20: { const bool branch_taken = 0u == 0u; @@ -4783,7 +4784,7 @@ L_08885C40: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08885C4Cu); aot_gpr_5 = (0u + static_cast(-1)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08885C4Cu) goto L_08885C4C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806888, 0u, 324u, 0x08806888u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08885C4Cu) goto L_08885C4C; AOT_REGCACHE_SYNC_OUT(); return; L_08885C4C: { const bool branch_taken = ctx.gpr[2] == ctx.gpr[18]; @@ -4822,7 +4823,7 @@ L_08885C78: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08885C88u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08885C88u) goto L_08885C88; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880682C, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08885C88u) goto L_08885C88; AOT_REGCACHE_SYNC_OUT(); return; L_08885C88: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -4834,14 +4835,14 @@ L_08885C94: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08885CA0u); aot_gpr_5 = (0u + static_cast(-1)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08885CA0u) goto L_08885CA0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806AE0, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08885CA0u) goto L_08885CA0; AOT_REGCACHE_SYNC_OUT(); return; L_08885CA0: ctx.gpr[20] = (0u < ctx.gpr[2] ? 1u : 0u); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08885CB0u); aot_gpr_5 = (0u + static_cast(-2)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08885CB0u) goto L_08885CB0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806654, 0u, 303u, 0x08806654u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08885CB0u) goto L_08885CB0; AOT_REGCACHE_SYNC_OUT(); return; L_08885CB0: { const bool branch_taken = ctx.gpr[20] != 0u; @@ -4871,7 +4872,7 @@ L_08885CD4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08885CE0u); aot_gpr_5 = (0u + static_cast(-2)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08885CE0u) goto L_08885CE0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806654, 0u, 303u, 0x08806654u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08885CE0u) goto L_08885CE0; AOT_REGCACHE_SYNC_OUT(); return; L_08885CE0: { const bool branch_taken = 0u == 0u; @@ -4907,7 +4908,7 @@ L_08885D10: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08885D1Cu); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08885D1Cu) goto L_08885D1C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806654, 0u, 303u, 0x08806654u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08885D1Cu) goto L_08885D1C; AOT_REGCACHE_SYNC_OUT(); return; L_08885D1C: ctx.gpr[2] = (0u | 0u); @@ -5333,7 +5334,7 @@ L_088860B8: L_088860C4: aot_gpr_31 = (0x088860CCu); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088860CCu) goto L_088860CC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088860CCu) goto L_088860CC; AOT_REGCACHE_SYNC_OUT(); return; L_088860CC: ctx.gpr[17] = (ctx.gpr[18] | 0u); @@ -5502,7 +5503,7 @@ L_0888622C: L_08886238: aot_gpr_31 = (0x08886240u); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08886240u) goto L_08886240; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089474C4, 80u, 661u, 0x089474C4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08886240u) goto L_08886240; AOT_REGCACHE_SYNC_OUT(); return; L_08886240: ctx.gpr[20] = (ctx.gpr[2] | 0u); @@ -5522,7 +5523,7 @@ L_08886240: aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(20), aot_gpr_5); aot_gpr_31 = (0x08886284u); aot_gpr_5 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08886284u) goto L_08886284; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08886284u) goto L_08886284; AOT_REGCACHE_SYNC_OUT(); return; L_08886284: aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(276), 0u); @@ -5621,7 +5622,7 @@ L_0888636C: L_08886378: aot_gpr_31 = (0x08886380u); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08886380u) goto L_08886380; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089474C4, 80u, 661u, 0x089474C4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08886380u) goto L_08886380; AOT_REGCACHE_SYNC_OUT(); return; L_08886380: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(0))); @@ -5633,7 +5634,7 @@ L_08886380: aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(3280), 0u); aot_gpr_31 = (0x088863A4u); aot_gpr_5 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088863A4u) goto L_088863A4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088863A4u) goto L_088863A4; AOT_REGCACHE_SYNC_OUT(); return; L_088863A4: ctx.gpr[2] = (0u | 0u); @@ -5668,7 +5669,7 @@ L_088863D4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088863F8u); aot_gpr_6 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088863F8u) goto L_088863F8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088863F8u) goto L_088863F8; AOT_REGCACHE_SYNC_OUT(); return; L_088863F8: ctx.gpr[2] = (0u | 0u); @@ -7842,7 +7843,7 @@ L_08887664: L_08887674: aot_gpr_31 = (0x0888767Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888767Cu) goto L_0888767C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888767Cu) goto L_0888767C; AOT_REGCACHE_SYNC_OUT(); return; L_0888767C: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -7915,7 +7916,7 @@ L_088876E8: L_088876F4: aot_gpr_31 = (0x088876FCu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088876FCu) goto L_088876FC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088876FCu) goto L_088876FC; AOT_REGCACHE_SYNC_OUT(); return; L_088876FC: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -8367,7 +8368,7 @@ L_08887A0C: L_08887A30: aot_gpr_31 = (0x08887A38u); aot_gpr_5 = (ctx.gpr[17] + static_cast(4)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08887A38u) goto L_08887A38; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A93004, 163u, 430u, 0x08A93004u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08887A38u) goto L_08887A38; AOT_REGCACHE_SYNC_OUT(); return; L_08887A38: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -8389,7 +8390,7 @@ L_08887A44: L_08887A4C: aot_gpr_31 = (0x08887A54u); aot_gpr_5 = (ctx.gpr[17] + static_cast(4)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08887A54u) goto L_08887A54; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08887A54u) goto L_08887A54; AOT_REGCACHE_SYNC_OUT(); return; L_08887A54: { std::uint32_t aot_run_words[3]{}; @@ -8461,7 +8462,7 @@ L_08887ABC: L_08887AC8: aot_gpr_31 = (0x08887AD0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08887AD0u) goto L_08887AD0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08887AD0u) goto L_08887AD0; AOT_REGCACHE_SYNC_OUT(); return; L_08887AD0: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -8712,7 +8713,7 @@ L_08887C54: L_08887C74: aot_gpr_31 = (0x08887C7Cu); aot_gpr_4 = (ctx.gpr[28] + static_cast(-25976)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08887C7Cu) goto L_08887C7C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08887C7Cu) goto L_08887C7C; AOT_REGCACHE_SYNC_OUT(); return; L_08887C7C: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -8909,7 +8910,7 @@ L_08887E1C: L_08887E24: aot_gpr_31 = (0x08887E2Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08887E2Cu) goto L_08887E2C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08887E2Cu) goto L_08887E2C; AOT_REGCACHE_SYNC_OUT(); return; L_08887E2C: aot_gpr_4 = (aot_gpr_16 & 1u); @@ -8925,7 +8926,7 @@ L_08887E30: L_08887E38: aot_gpr_31 = (0x08887E40u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08887E40u) goto L_08887E40; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08887E40u) goto L_08887E40; AOT_REGCACHE_SYNC_OUT(); return; L_08887E40: { std::uint32_t aot_run_words[3]{}; diff --git a/profiles/vcs/generated/generated_unit_0033.cpp b/profiles/vcs/generated/generated_unit_0033.cpp index 4b86ab4..683c59a 100644 --- a/profiles/vcs/generated/generated_unit_0033.cpp +++ b/profiles/vcs/generated/generated_unit_0033.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0033[4096] = { }; void recomp_unit_0033_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,16,31,29,17 fprs=12,13,14,20 gpr_occ=3777 fpr_occ=267 gpr_total=5156 fpr_total=303 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,31,16,29,2 fprs=12,13,14,15 gpr_occ=3860 fpr_occ=277 gpr_total=5345 fpr_total=315 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; - std::uint32_t aot_gpr_16 = ctx.gpr[16]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; + std::uint32_t aot_gpr_16 = ctx.gpr[16]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; - std::uint32_t aot_gpr_17 = ctx.gpr[17]; + std::uint32_t aot_gpr_2 = ctx.gpr[2]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_14 = ctx.fpr[14]; - float aot_fpr_20 = ctx.fpr[20]; + float aot_fpr_15 = ctx.fpr[15]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[16] = aot_gpr_16; ctx.gpr[31] = aot_gpr_31; ctx.gpr[29] = aot_gpr_29; ctx.gpr[17] = aot_gpr_17; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[20] = aot_fpr_20; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_17 = ctx.gpr[17]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_20 = ctx.fpr[20]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[31] = aot_gpr_31; ctx.gpr[16] = aot_gpr_16; ctx.gpr[29] = aot_gpr_29; ctx.gpr[2] = aot_gpr_2; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[15] = aot_fpr_15; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_2 = ctx.gpr[2]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_15 = ctx.fpr[15]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -1355,7 +1356,7 @@ L_08888008: aot_gpr_5 = (0u | 23u); goto L_088888D8; L_08888020: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08888040; @@ -1436,7 +1437,7 @@ L_08888090: ctx.gpr[18] = (aot_gpr_5 & 255u); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_16 = (aot_gpr_4 | 0u); @@ -1484,7 +1485,7 @@ L_088880E4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0169_entry, 169u, 404u, 0x08AABAF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088880ECu) goto L_088880EC; AOT_REGCACHE_SYNC_OUT(); return; L_088880EC: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); goto L_088880F0; L_088880F0: aot_gpr_31 = (0x088880F8u); @@ -1502,8 +1503,8 @@ L_08888100: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0076_entry, 76u, 57u, 0x0893441Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08888108u) goto L_08888108; AOT_REGCACHE_SYNC_OUT(); return; L_08888108: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - aot_gpr_4 = (static_cast(aot_gpr_17) < 5 ? 1u : 0u); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + aot_gpr_4 = (static_cast(ctx.gpr[17]) < 5 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -1517,7 +1518,7 @@ L_08888118: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0169_entry, 169u, 412u, 0x08AABB88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08888120u) goto L_08888120; AOT_REGCACHE_SYNC_OUT(); return; L_08888120: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08888150; @@ -1575,7 +1576,7 @@ L_08888180: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -1683,7 +1684,7 @@ L_0888823C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0169_entry, 169u, 412u, 0x08AABB88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08888244u) goto L_08888244; AOT_REGCACHE_SYNC_OUT(); return; L_08888244: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08888274; @@ -1735,9 +1736,9 @@ L_0888828C: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); ctx.gpr[18] = (aot_gpr_5 & 255u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[19]); - aot_gpr_17 = (ctx.gpr[6] & 255u); + ctx.gpr[17] = (ctx.gpr[6] & 255u); ctx.gpr[19] = (ctx.gpr[7] & 255u); aot_gpr_5 = (0u | 110u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); @@ -1799,7 +1800,7 @@ L_08888300: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0044_entry, 44u, 278u, 0x088B5BECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08888308u) goto L_08888308; AOT_REGCACHE_SYNC_OUT(); return; L_08888308: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08888364; @@ -1820,7 +1821,7 @@ L_08888318: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0169_entry, 169u, 412u, 0x08AABB88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08888320u) goto L_08888320; AOT_REGCACHE_SYNC_OUT(); return; L_08888320: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08888330; @@ -1865,7 +1866,7 @@ L_08888350: } L_0888835C: ctx.gpr[18] = (0u | 111u); - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); goto L_08888364; L_08888364: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(0))); @@ -1933,7 +1934,7 @@ L_088883AC: L_088883B0: aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(1397), static_cast(ctx.gpr[18])); { const bool branch_taken = aot_gpr_4 == 0u; - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(1401), static_cast(aot_gpr_17)); + aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(1401), static_cast(ctx.gpr[17])); if (branch_taken) { goto L_088883C4; } @@ -1947,7 +1948,7 @@ L_088883C4: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; @@ -1998,7 +1999,7 @@ L_08888408: AOT_REGCACHE_SYNC_OUT(); return; L_08888418: jump_target = aot_gpr_31; - ctx.gpr[2] = (aot_gpr_4 + static_cast(1416)); + aot_gpr_2 = (aot_gpr_4 + static_cast(1416)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -2009,14 +2010,14 @@ L_08888420: aot_gpr_5 = (aot_gpr_5 << 2u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); jump_target = aot_gpr_31; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(28))); + aot_gpr_2 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(28))); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08888438: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1416))); - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); aot_gpr_5 = (0u | 1u); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); goto L_08888448; @@ -2033,7 +2034,7 @@ L_08888448: } L_0888845C: aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_12)); - ctx.gpr[2] = (aot_gpr_5 | 0u); + aot_gpr_2 = (aot_gpr_5 | 0u); goto L_08888464; L_08888464: aot_gpr_5 = (aot_gpr_5 + static_cast(1)); @@ -2058,7 +2059,7 @@ L_0888847C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); ctx.gpr[18] = (0u | 111u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); { const bool branch_taken = aot_gpr_5 != ctx.gpr[18]; aot_gpr_16 = (aot_gpr_4 | 0u); @@ -2074,8 +2075,8 @@ L_088884A0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0048_entry, 48u, 454u, 0x088C63C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088884ACu) goto L_088884AC; AOT_REGCACHE_SYNC_OUT(); return; L_088884AC: - aot_gpr_17 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_088884C8; @@ -2083,7 +2084,7 @@ L_088884AC: goto L_088884B8; } L_088884B8: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(695))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(695))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(1397), static_cast(aot_gpr_4)); { const bool branch_taken = 0u == 0u; aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1397))); @@ -2125,8 +2126,8 @@ L_088884F0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0112_entry, 112u, 679u, 0x089C6F60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088884F8u) goto L_088884F8; AOT_REGCACHE_SYNC_OUT(); return; L_088884F8: - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(1397), static_cast(ctx.gpr[2])); - { const bool branch_taken = aot_gpr_17 == 0u; + aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(1397), static_cast(aot_gpr_2)); + { const bool branch_taken = ctx.gpr[17] == 0u; aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1397))); if (branch_taken) { goto L_0888850C; @@ -2134,7 +2135,7 @@ L_088884F8: goto L_08888504; } L_08888504: - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(695), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(695), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1397))); goto L_0888850C; L_0888850C: @@ -2146,7 +2147,7 @@ L_0888850C: goto L_08888514; } L_08888514: - { const bool branch_taken = aot_gpr_17 == 0u; + { const bool branch_taken = ctx.gpr[17] == 0u; aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(1397), static_cast(0u)); if (branch_taken) { goto L_08888524; @@ -2155,13 +2156,13 @@ L_08888514: } L_0888851C: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1397))); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(695), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(695), static_cast(aot_gpr_4)); goto L_08888524; L_08888524: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -2241,7 +2242,7 @@ L_088885B4: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(0))); { const bool branch_taken = aot_gpr_4 == 0u; @@ -2256,7 +2257,7 @@ L_088885D4: aot_gpr_4 = (aot_gpr_16 | 0u); goto L_0888876C; L_088885DC: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08888694; @@ -2270,8 +2271,8 @@ L_088885E4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0048_entry, 48u, 454u, 0x088C63C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088885F0u) goto L_088885F0; AOT_REGCACHE_SYNC_OUT(); return; L_088885F0: - aot_gpr_17 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_08888674; @@ -2281,10 +2282,10 @@ L_088885F0: L_088885FC: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08888608u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); goto L_08889B04; L_08888608: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; aot_gpr_4 = (aot_gpr_16 | 0u); if (branch_taken) { goto L_08888620; @@ -2293,10 +2294,10 @@ L_08888608: } L_08888610: aot_gpr_31 = (0x08888618u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); goto L_08889C04; L_08888618: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08888640; @@ -2304,9 +2305,9 @@ L_08888618: goto L_08888620; } L_08888620: - ctx.gpr[2] = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1396))); + aot_gpr_2 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1396))); aot_gpr_4 = (0u | 113u); - { const bool branch_taken = ctx.gpr[2] == aot_gpr_4; + { const bool branch_taken = aot_gpr_2 == aot_gpr_4; // nop if (branch_taken) { goto L_08888638; @@ -2323,7 +2324,7 @@ L_08888630: } L_08888638: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 31u); + aot_gpr_2 = (0u | 31u); if (branch_taken) { goto L_088886B8; } @@ -2349,7 +2350,7 @@ L_08888654: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0044_entry, 44u, 278u, 0x088B5BECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888865Cu) goto L_0888865C; AOT_REGCACHE_SYNC_OUT(); return; L_0888865C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_0888866C; @@ -2358,7 +2359,7 @@ L_0888865C: } L_08888664: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 111u); + aot_gpr_2 = (0u | 111u); if (branch_taken) { goto L_088886B8; } @@ -2366,16 +2367,16 @@ L_08888664: } L_0888866C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(695))); + aot_gpr_2 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(695))); if (branch_taken) { goto L_088886B8; } goto L_08888674; } L_08888674: - ctx.gpr[2] = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1396))); + aot_gpr_2 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1396))); aot_gpr_4 = (0u | 113u); - { const bool branch_taken = ctx.gpr[2] == aot_gpr_4; + { const bool branch_taken = aot_gpr_2 == aot_gpr_4; // nop if (branch_taken) { goto L_0888868C; @@ -2392,16 +2393,16 @@ L_08888684: } L_0888868C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 9u); + aot_gpr_2 = (0u | 9u); if (branch_taken) { goto L_088886B8; } goto L_08888694; } L_08888694: - ctx.gpr[2] = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1396))); + aot_gpr_2 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1396))); aot_gpr_4 = (0u | 113u); - { const bool branch_taken = ctx.gpr[2] == aot_gpr_4; + { const bool branch_taken = aot_gpr_2 == aot_gpr_4; // nop if (branch_taken) { goto L_088886AC; @@ -2418,20 +2419,20 @@ L_088886A4: } L_088886AC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 9u); + aot_gpr_2 = (0u | 9u); if (branch_taken) { goto L_088886B8; } goto L_088886B4; } L_088886B4: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_088886B8; L_088886B8: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -2443,12 +2444,12 @@ L_088886B8: L_088886CC: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_4 | 0u); aot_gpr_16 = (aot_gpr_5 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(0))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -2458,10 +2459,10 @@ L_088886CC: } L_088886F4: aot_gpr_31 = (0x088886FCu); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); goto L_0888876C; L_088886FC: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08888750; @@ -2475,7 +2476,7 @@ L_08888704: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0048_entry, 48u, 454u, 0x088C63C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08888710u) goto L_08888710; AOT_REGCACHE_SYNC_OUT(); return; L_08888710: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[18] == 0u; // nop if (branch_taken) { @@ -2484,13 +2485,13 @@ L_08888710: goto L_0888871C; } L_0888871C: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08888728u); aot_gpr_5 = (ctx.gpr[18] | 0u); goto L_08889B04; L_08888728: - { const bool branch_taken = ctx.gpr[2] != 0u; - aot_gpr_4 = (aot_gpr_17 | 0u); + { const bool branch_taken = aot_gpr_2 != 0u; + aot_gpr_4 = (ctx.gpr[17] | 0u); if (branch_taken) { goto L_08888748; } @@ -2501,7 +2502,7 @@ L_08888730: aot_gpr_5 = (ctx.gpr[18] | 0u); goto L_08889C04; L_08888738: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08888748; @@ -2518,20 +2519,20 @@ L_08888740: } L_08888748: { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(1396), static_cast(aot_gpr_16)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(1396), static_cast(aot_gpr_16)); if (branch_taken) { goto L_08888754; } goto L_08888750; } L_08888750: - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(1396), static_cast(aot_gpr_16)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(1396), static_cast(aot_gpr_16)); goto L_08888754; L_08888754: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -2552,12 +2553,12 @@ L_0888876C: AOT_REGCACHE_SYNC_OUT(); return; L_08888784: aot_gpr_31 = (0x0888878Cu); - aot_gpr_16 = (ctx.gpr[2] | 0u); + aot_gpr_16 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888878Cu) goto L_0888878C; AOT_REGCACHE_SYNC_OUT(); return; L_0888878C: { const bool branch_taken = aot_gpr_16 == 0u; - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (branch_taken) { goto L_08888880; } @@ -2652,7 +2653,7 @@ L_08888810: } L_08888818: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08888888; } @@ -2660,7 +2661,7 @@ L_08888818: } L_08888820: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08888888; } @@ -2685,7 +2686,7 @@ L_08888830: } L_0888883C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_08888888; } @@ -2742,7 +2743,7 @@ L_08888870: } L_08888878: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08888888; } @@ -2750,7 +2751,7 @@ L_08888878: } L_08888880: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08888888; } @@ -2806,14 +2807,14 @@ L_088888D8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x088888F4u); - aot_gpr_17 = (aot_gpr_5 & 255u); + ctx.gpr[17] = (aot_gpr_5 & 255u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0169_entry, 169u, 412u, 0x08AABB88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088888F4u) goto L_088888F4; AOT_REGCACHE_SYNC_OUT(); return; L_088888F4: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08888910; @@ -2822,7 +2823,7 @@ L_088888F4: } L_088888FC: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1398))); - { const bool branch_taken = aot_gpr_4 != aot_gpr_17; + { const bool branch_taken = aot_gpr_4 != ctx.gpr[17]; // nop if (branch_taken) { goto L_08888910; @@ -2831,20 +2832,20 @@ L_088888FC: } L_08888908: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_08888914; } goto L_08888910; } L_08888910: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_08888914; L_08888914: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -2865,15 +2866,15 @@ L_08888934: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); - { const std::uint32_t aot_run_words[3]{aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(8), aot_run_words); } aot_gpr_31 = (0x08888954u); ctx.gpr[18] = (aot_gpr_5 & 255u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0169_entry, 169u, 412u, 0x08AABB88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08888954u) goto L_08888954; AOT_REGCACHE_SYNC_OUT(); return; L_08888954: - aot_gpr_17 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_08888970; @@ -2891,7 +2892,7 @@ L_08888960: goto L_08888970; } L_08888970: - if (aot_gpr_17 != 0u) { + if (ctx.gpr[17] != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1398))); goto L_08888990; } @@ -2936,7 +2937,7 @@ L_088889A4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0169_entry, 169u, 412u, 0x08AABB88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088889ACu) goto L_088889AC; AOT_REGCACHE_SYNC_OUT(); return; L_088889AC: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088889DC; @@ -3022,9 +3023,9 @@ L_08888A0C: goto L_08888A14; } L_08888A14: - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); - aot_gpr_17 = (ctx.gpr[28] + static_cast(7768)); + ctx.gpr[17] = (ctx.gpr[28] + static_cast(7768)); { const bool branch_taken = aot_gpr_4 != 0u; ctx.gpr[18] = (aot_gpr_5 | ctx.gpr[18]); if (branch_taken) { @@ -3046,9 +3047,9 @@ L_08888A34: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0112_entry, 112u, 679u, 0x089C6F60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08888A3Cu) goto L_08888A3C; AOT_REGCACHE_SYNC_OUT(); return; L_08888A3C: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08888A48u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 627u, 0x08A06798u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08888A48u) goto L_08888A48; AOT_REGCACHE_SYNC_OUT(); return; L_08888A48: @@ -3082,8 +3083,8 @@ L_08888A68: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0112_entry, 112u, 679u, 0x089C6F60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08888A70u) goto L_08888A70; AOT_REGCACHE_SYNC_OUT(); return; L_08888A70: - aot_gpr_5 = (ctx.gpr[2] & 255u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_5 = (aot_gpr_2 & 255u); + aot_gpr_4 = (ctx.gpr[17] | 0u); ctx.gpr[6] = (0u | 1u); aot_gpr_31 = (0x08888A84u); ctx.gpr[7] = (0u | 0u); @@ -3098,9 +3099,9 @@ L_08888A84: goto L_08888A8C; } L_08888A8C: - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); - aot_gpr_17 = (ctx.gpr[28] + static_cast(7768)); + ctx.gpr[17] = (ctx.gpr[28] + static_cast(7768)); { const bool branch_taken = aot_gpr_4 != 0u; ctx.gpr[18] = (aot_gpr_5 | ctx.gpr[18]); if (branch_taken) { @@ -3122,9 +3123,9 @@ L_08888AAC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0112_entry, 112u, 679u, 0x089C6F60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08888AB4u) goto L_08888AB4; AOT_REGCACHE_SYNC_OUT(); return; L_08888AB4: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08888AC0u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 627u, 0x08A06798u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08888AC0u) goto L_08888AC0; AOT_REGCACHE_SYNC_OUT(); return; L_08888AC0: @@ -3142,7 +3143,7 @@ L_08888AC8: aot_gpr_4 = (aot_gpr_16 | 0u); goto L_0888876C; L_08888AD8: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08888B44; @@ -3174,7 +3175,7 @@ L_08888AF8: L_08888B00: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_17 = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); if (branch_taken) { goto L_08888B18; } @@ -3194,14 +3195,14 @@ L_08888B18: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0112_entry, 112u, 679u, 0x089C6F60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08888B20u) goto L_08888B20; AOT_REGCACHE_SYNC_OUT(); return; L_08888B20: - aot_gpr_5 = (ctx.gpr[2] & 255u); + aot_gpr_5 = (aot_gpr_2 & 255u); aot_gpr_31 = (0x08888B2Cu); aot_gpr_4 = (aot_gpr_16 | 0u); goto L_0888981C; L_08888B2C: aot_gpr_4 = (aot_gpr_29 | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[6] = (ctx.gpr[2] | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); + ctx.gpr[6] = (aot_gpr_2 | 0u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x08888B44u); ctx.gpr[8] = (0u | 1u); @@ -3219,7 +3220,7 @@ L_08888B4C: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(4), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -3244,10 +3245,10 @@ L_08888B64: ctx.gpr[7] = (static_cast(static_cast(ctx.gpr[7]) >> 5u)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[7]); ctx.gpr[7] = (ctx.gpr[7] < ctx.gpr[8] ? 1u : 0u); - { const std::uint32_t aot_run_words[4]{aot_gpr_17, ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(32), aot_run_words); } { const bool branch_taken = ctx.gpr[7] == 0u; - aot_gpr_17 = (aot_gpr_29 + static_cast(4)); + ctx.gpr[17] = (aot_gpr_29 + static_cast(4)); if (branch_taken) { goto L_08888BBC; } @@ -3255,17 +3256,17 @@ L_08888B64: } L_08888BB4: { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (aot_gpr_29 | 0u); + ctx.gpr[17] = (aot_gpr_29 | 0u); if (branch_taken) { goto L_08888BBC; } goto L_08888BBC; } L_08888BBC: - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); - aot_gpr_17 = (ctx.gpr[7] + aot_gpr_17); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (ctx.gpr[7] + ctx.gpr[17]); + { const bool branch_taken = ctx.gpr[17] == 0u; ctx.gpr[19] = (0u | 0u); if (branch_taken) { goto L_08888C24; @@ -3275,7 +3276,7 @@ L_08888BBC: L_08888BD0: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[6]); - aot_gpr_4 = (aot_gpr_17 << 5u); + aot_gpr_4 = (ctx.gpr[17] << 5u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_5); aot_gpr_31 = (0x08888BE8u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_4); @@ -3288,7 +3289,7 @@ L_08888BE8: ctx.gpr[6] = aot_run_words[1]; ctx.gpr[7] = aot_run_words[2]; } - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[19] != 0u; aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); if (branch_taken) { @@ -3307,7 +3308,7 @@ L_08888C00: L_08888C14: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); goto L_08888C24; L_08888C24: @@ -3531,10 +3532,10 @@ L_08888D40: L_08888D4C: aot_gpr_31 = (0x08888D54u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08888D54u) goto L_08888D54; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08888D54u) goto L_08888D54; AOT_REGCACHE_SYNC_OUT(); return; L_08888D54: - aot_gpr_4 = (aot_gpr_17 << 5u); + aot_gpr_4 = (ctx.gpr[17] << 5u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), ctx.gpr[18]); aot_gpr_4 = (ctx.gpr[18] + aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), ctx.gpr[19]); @@ -3542,7 +3543,7 @@ L_08888D54: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(28), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; @@ -3555,9 +3556,9 @@ L_08888D54: AOT_REGCACHE_SYNC_OUT(); return; L_08888D84: aot_gpr_29 = (aot_gpr_29 + static_cast(-80)); - { const std::uint32_t aot_run_words[5]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; + { const std::uint32_t aot_run_words[5]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(52), aot_run_words); } - aot_gpr_17 = (ctx.gpr[7] | 0u); + ctx.gpr[17] = (ctx.gpr[7] | 0u); ctx.gpr[18] = (ctx.gpr[6] | 0u); aot_gpr_16 = (aot_gpr_4 | 0u); ctx.gpr[19] = (aot_gpr_5 | 0u); @@ -3580,11 +3581,11 @@ L_08888DB4: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), ctx.gpr[18]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), ctx.gpr[17]); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1528))); ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1532))); { const bool branch_taken = aot_gpr_5 == ctx.gpr[6]; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_08888E0C; } @@ -3637,13 +3638,13 @@ L_08888E0C: ctx.gpr[9] = (0u | 1u); goto L_08888B64; L_08888E2C: - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); goto L_08888E30; L_08888E30: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(52), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; @@ -3660,11 +3661,11 @@ L_08888E4C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[18]); ctx.gpr[18] = (aot_gpr_5 | 0u); aot_gpr_16 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_31); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1524))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1524))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1528))); - { const bool branch_taken = aot_gpr_17 == aot_gpr_4; + { const bool branch_taken = ctx.gpr[17] == aot_gpr_4; // nop if (branch_taken) { goto L_08888F14; @@ -3674,11 +3675,11 @@ L_08888E4C: L_08888E78: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08888E84u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 456u, 0x08A93144u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08888E84u) goto L_08888E84; AOT_REGCACHE_SYNC_OUT(); return; L_08888E84: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08888F04; @@ -3687,7 +3688,7 @@ L_08888E84: } L_08888E8C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1528))); - aot_gpr_5 = (aot_gpr_17 + static_cast(32)); + aot_gpr_5 = (ctx.gpr[17] + static_cast(32)); { const bool branch_taken = aot_gpr_5 == aot_gpr_4; // nop if (branch_taken) { @@ -3697,15 +3698,15 @@ L_08888E8C: } L_08888E9C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1528))); - aot_gpr_5 = (aot_gpr_17 + static_cast(32)); + aot_gpr_5 = (ctx.gpr[17] + static_cast(32)); ctx.gpr[6] = (aot_gpr_4 - aot_gpr_5); ctx.gpr[7] = (static_cast(static_cast(ctx.gpr[6]) >> 5u)); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); ctx.gpr[7] = (ctx.gpr[7] >> 27u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(4), static_cast(0u)); - aot_gpr_17 = (ctx.gpr[6] + ctx.gpr[7]); - aot_gpr_17 = (static_cast(static_cast(aot_gpr_17) >> 5u)); - { const bool branch_taken = static_cast(aot_gpr_17) <= 0; + ctx.gpr[17] = (ctx.gpr[6] + ctx.gpr[7]); + ctx.gpr[17] = (static_cast(static_cast(ctx.gpr[17]) >> 5u)); + { const bool branch_taken = static_cast(ctx.gpr[17]) <= 0; aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(5), static_cast(0u)); if (branch_taken) { goto L_08888EF0; @@ -3731,8 +3732,8 @@ L_08888EC8: ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(20))); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(20), ctx.gpr[6]); aot_gpr_5 = (aot_gpr_5 + static_cast(32)); - aot_gpr_17 = (aot_gpr_17 + static_cast(-1)); - { const bool branch_taken = static_cast(aot_gpr_17) > 0; + ctx.gpr[17] = (ctx.gpr[17] + static_cast(-1)); + { const bool branch_taken = static_cast(ctx.gpr[17]) > 0; aot_gpr_4 = (aot_gpr_4 + static_cast(32)); if (branch_taken) { goto L_08888EC8; @@ -3741,7 +3742,7 @@ L_08888EC8: } L_08888EF0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1528))); - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); aot_gpr_4 = (aot_gpr_4 + static_cast(-32)); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(1528), aot_gpr_4); @@ -3752,8 +3753,8 @@ L_08888EF0: } L_08888F04: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1528))); - aot_gpr_17 = (aot_gpr_17 + static_cast(32)); - { const bool branch_taken = aot_gpr_17 != aot_gpr_4; + ctx.gpr[17] = (ctx.gpr[17] + static_cast(32)); + { const bool branch_taken = ctx.gpr[17] != aot_gpr_4; // nop if (branch_taken) { goto L_08888E78; @@ -3761,13 +3762,13 @@ L_08888F04: goto L_08888F14; } L_08888F14: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_08888F18; L_08888F18: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(8), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -3863,8 +3864,8 @@ L_08888FC8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(9))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (0u | 1u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (0u | 1u); aot_gpr_16 = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); @@ -3881,7 +3882,7 @@ L_08888FF0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0169_entry, 169u, 412u, 0x08AABB88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08888FF8u) goto L_08888FF8; AOT_REGCACHE_SYNC_OUT(); return; L_08888FF8: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_0888907C; @@ -3961,7 +3962,7 @@ L_0888907C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 442u, 0x088CA414u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08889098u) goto L_08889098; AOT_REGCACHE_SYNC_OUT(); return; L_08889098: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; aot_gpr_4 = (aot_gpr_16 | 0u); if (branch_taken) { goto L_088890E0; @@ -3974,7 +3975,7 @@ L_088890A0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 442u, 0x088CA414u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088890A8u) goto L_088890A8; AOT_REGCACHE_SYNC_OUT(); return; L_088890A8: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; aot_gpr_4 = (aot_gpr_16 | 0u); if (branch_taken) { goto L_088890E0; @@ -3987,7 +3988,7 @@ L_088890B0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 442u, 0x088CA414u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088890B8u) goto L_088890B8; AOT_REGCACHE_SYNC_OUT(); return; L_088890B8: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; aot_gpr_4 = (aot_gpr_16 | 0u); if (branch_taken) { goto L_088890E0; @@ -4000,7 +4001,7 @@ L_088890C0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 442u, 0x088CA414u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088890C8u) goto L_088890C8; AOT_REGCACHE_SYNC_OUT(); return; L_088890C8: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; aot_gpr_4 = (aot_gpr_16 | 0u); if (branch_taken) { goto L_088890E0; @@ -4013,7 +4014,7 @@ L_088890D0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 442u, 0x088CA414u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088890D8u) goto L_088890D8; AOT_REGCACHE_SYNC_OUT(); return; L_088890D8: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088890FC; @@ -4056,7 +4057,7 @@ L_08889118: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0169_entry, 169u, 412u, 0x08AABB88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08889120u) goto L_08889120; AOT_REGCACHE_SYNC_OUT(); return; L_08889120: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08889188; @@ -4097,7 +4098,7 @@ L_0888914C: aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(28), aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(32), 0u); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-25948), static_cast(aot_gpr_17)); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-25948), static_cast(ctx.gpr[17])); goto L_08889178; L_08889178: aot_gpr_31 = (0x08889180u); @@ -4106,7 +4107,7 @@ L_08889178: AOT_REGCACHE_SYNC_OUT(); return; L_08889180: { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(1520), static_cast(aot_gpr_17)); + aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(1520), static_cast(ctx.gpr[17])); if (branch_taken) { goto L_088891E4; } @@ -4148,14 +4149,14 @@ L_088891CC: ctx.gpr[7] = (0u | 0u); goto L_0888A144; L_088891E0: - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(9), static_cast(aot_gpr_17)); + aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(9), static_cast(ctx.gpr[17])); goto L_088891E4; L_088891E4: - ctx.gpr[2] = (aot_gpr_17 | 0u); + aot_gpr_2 = (ctx.gpr[17] | 0u); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -4173,7 +4174,7 @@ L_08889200: aot_gpr_16 = (aot_gpr_4 | 0u); goto L_08889D2C; L_08889214: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_0888922C; @@ -4297,7 +4298,7 @@ L_088892C4: AOT_REGCACHE_SYNC_OUT(); return; L_088892CC: aot_gpr_4 = (0u | 19u); - { const bool branch_taken = ctx.gpr[2] != aot_gpr_4; + { const bool branch_taken = aot_gpr_2 != aot_gpr_4; // nop if (branch_taken) { goto L_088892F4; @@ -4333,7 +4334,7 @@ L_088892FC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0189_entry, 189u, 278u, 0x08AF99F8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08889304u) goto L_08889304; AOT_REGCACHE_SYNC_OUT(); return; L_08889304: - { const bool branch_taken = static_cast(ctx.gpr[2]) > 0; + { const bool branch_taken = static_cast(aot_gpr_2) > 0; // nop if (branch_taken) { goto L_08889368; @@ -4587,17 +4588,17 @@ L_0888946C: AOT_REGCACHE_SYNC_OUT(); return; L_0888947C: jump_target = aot_gpr_31; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08889484: aot_gpr_29 = (aot_gpr_29 + static_cast(-64)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, ctx.gpr[18]}; + { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(48), aot_run_words); } ctx.gpr[18] = (aot_gpr_5 & 255u); - aot_gpr_17 = (aot_gpr_4 | 0u); + ctx.gpr[17] = (aot_gpr_4 | 0u); aot_gpr_16 = (ctx.gpr[6] | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(60), aot_gpr_31); aot_gpr_31 = (0x088894ACu); @@ -4685,9 +4686,9 @@ L_08889510: aot_fpr_14 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (17150u << 16u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 < aot_fpr_14)) ? 0x00800000u : 0u); - ctx.fpr[15] = std::bit_cast(aot_gpr_4); + aot_fpr_15 = std::bit_cast(aot_gpr_4); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); - { const float fs = aot_fpr_12; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } + { const float fs = aot_fpr_12; const float ft = aot_fpr_15; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } if (branch_taken) { goto L_088895D4; } @@ -4729,8 +4730,8 @@ L_08889578: aot_fpr_14 = std::bit_cast(aot_gpr_5); aot_gpr_5 = (16948u << 16u); aot_fpr_13 = aot_fpr_13 - aot_fpr_14; - ctx.fpr[15] = std::bit_cast(aot_gpr_5); - aot_fpr_13 = aot_fpr_13 / ctx.fpr[15]; + aot_fpr_15 = std::bit_cast(aot_gpr_5); + aot_fpr_13 = aot_fpr_13 / aot_fpr_15; aot_gpr_5 = (16256u << 16u); ctx.gpr[6] = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(8002))); ctx.fpr[16] = std::bit_cast(aot_gpr_5); @@ -4758,8 +4759,8 @@ L_088895D4: aot_fpr_14 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (16908u << 16u); aot_fpr_13 = aot_fpr_13 - aot_fpr_14; - ctx.fpr[15] = std::bit_cast(aot_gpr_4); - aot_fpr_13 = aot_fpr_13 / ctx.fpr[15]; + aot_fpr_15 = std::bit_cast(aot_gpr_4); + aot_fpr_13 = aot_fpr_13 / aot_fpr_15; { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); @@ -4801,7 +4802,7 @@ L_08889618: goto L_08889634; } L_08889634: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(1398))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(1398))); aot_gpr_4 = (static_cast(aot_gpr_4) < 12 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_4 = (16277u << 16u); @@ -4811,7 +4812,7 @@ L_08889634: goto L_08889644; } L_08889644: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(1398))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(1398))); aot_gpr_4 = (static_cast(aot_gpr_4) < 15 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_4 = (16277u << 16u); @@ -4823,8 +4824,8 @@ L_08889644: L_08889654: aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-25892))); aot_gpr_4 = (16800u << 16u); - ctx.fpr[15] = std::bit_cast(aot_gpr_4); - aot_fpr_14 = aot_fpr_14 + ctx.fpr[15]; + aot_fpr_15 = std::bit_cast(aot_gpr_4); + aot_fpr_14 = aot_fpr_14 + aot_fpr_15; { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-25892), std::bit_cast(aot_fpr_14)); if (branch_taken) { @@ -4835,8 +4836,8 @@ L_08889654: L_0888966C: aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-25892))); aot_gpr_4 = (aot_gpr_4 | 21845u); - ctx.fpr[15] = std::bit_cast(aot_gpr_4); - aot_fpr_14 = aot_fpr_14 + ctx.fpr[15]; + aot_fpr_15 = std::bit_cast(aot_gpr_4); + aot_fpr_14 = aot_fpr_14 + aot_fpr_15; aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-25892), std::bit_cast(aot_fpr_14)); goto L_08889680; L_08889680: @@ -4854,7 +4855,7 @@ L_08889694: aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-25892), std::bit_cast(aot_fpr_13)); goto L_08889698; L_08889698: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(1397))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(1397))); aot_gpr_5 = (0u | 10u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -4869,7 +4870,7 @@ L_088896A8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0189_entry, 189u, 278u, 0x08AF99F8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088896B0u) goto L_088896B0; AOT_REGCACHE_SYNC_OUT(); return; L_088896B0: - aot_fpr_12 = std::bit_cast(ctx.gpr[2]); + aot_fpr_12 = std::bit_cast(aot_gpr_2); aot_gpr_4 = (16800u << 16u); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_fpr_13 = std::bit_cast(aot_gpr_4); @@ -4900,7 +4901,7 @@ L_088896EC: goto L_088896FC; } L_088896FC: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(1397))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(1397))); aot_gpr_5 = (0u | 9u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -4942,7 +4943,7 @@ L_0888974C: goto L_0888975C; } L_0888975C: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(1397))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(1397))); aot_gpr_5 = (0u | 18u); if (aot_gpr_4 != aot_gpr_5) { aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-25892))); @@ -4977,7 +4978,7 @@ L_088897A8: aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(0), static_cast(aot_gpr_4)); goto L_088897B8; L_088897B8: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x088897C8u); ctx.gpr[6] = (aot_gpr_16 | 0u); @@ -4986,7 +4987,7 @@ L_088897C8: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(48), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -5038,10 +5039,10 @@ L_0888981C: ctx.gpr[8] = (ctx.gpr[8] - ctx.gpr[7]); ctx.gpr[7] = (ctx.gpr[7] << 5u); ctx.gpr[7] = (ctx.gpr[8] + ctx.gpr[7]); - ctx.gpr[2] = (ctx.gpr[6] + ctx.gpr[7]); + aot_gpr_2 = (ctx.gpr[6] + ctx.gpr[7]); ctx.gpr[8] = (static_cast(aot_gpr_5) < 21 ? 1u : 0u); { const bool branch_taken = ctx.gpr[8] != 0u; - ctx.gpr[2] = (ctx.gpr[2] + static_cast(20000)); + aot_gpr_2 = (aot_gpr_2 + static_cast(20000)); if (branch_taken) { goto L_08889884; } @@ -5062,7 +5063,7 @@ L_0888986C: aot_gpr_5 = (aot_gpr_5 << 2u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(28))); + aot_gpr_2 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(28))); if (branch_taken) { goto L_08889894; } @@ -5078,7 +5079,7 @@ L_08889884: goto L_08889890; } L_08889890: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_08889894; L_08889894: { const bool branch_taken = 0u == 0u; @@ -5099,7 +5100,7 @@ L_088898A4: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_4 = (2237u << 16u); aot_gpr_31 = (0x088898C4u); @@ -5107,8 +5108,8 @@ L_088898A4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0048_entry, 48u, 454u, 0x088C63C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088898C4u) goto L_088898C4; AOT_REGCACHE_SYNC_OUT(); return; L_088898C4: - aot_gpr_17 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_08889980; @@ -5118,10 +5119,10 @@ L_088898C4: L_088898D0: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088898DCu); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); goto L_08889B04; L_088898DC: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08889914; @@ -5131,10 +5132,10 @@ L_088898DC: L_088898E4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088898F0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); goto L_08889C04; L_088898F0: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_0888990C; @@ -5160,7 +5161,7 @@ L_08889904: } L_0888990C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 32u); + aot_gpr_2 = (0u | 32u); if (branch_taken) { goto L_08889988; } @@ -5168,7 +5169,7 @@ L_0888990C: } L_08889914: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 9u); + aot_gpr_2 = (0u | 9u); if (branch_taken) { goto L_08889988; } @@ -5185,7 +5186,7 @@ L_08889924: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0044_entry, 44u, 278u, 0x088B5BECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888992Cu) goto L_0888992C; AOT_REGCACHE_SYNC_OUT(); return; L_0888992C: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08889960; @@ -5193,7 +5194,7 @@ L_0888992C: goto L_08889934; } L_08889934: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(695))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(695))); aot_gpr_5 = (0u | 111u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -5221,7 +5222,7 @@ L_08889950: } L_08889958: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(695))); + aot_gpr_2 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(695))); if (branch_taken) { goto L_08889988; } @@ -5229,7 +5230,7 @@ L_08889958: } L_08889960: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 111u); + aot_gpr_2 = (0u | 111u); if (branch_taken) { goto L_08889988; } @@ -5247,7 +5248,7 @@ L_08889970: AOT_REGCACHE_SYNC_OUT(); return; L_08889978: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (ctx.gpr[2] & 255u); + aot_gpr_2 = (aot_gpr_2 & 255u); if (branch_taken) { goto L_08889988; } @@ -5255,7 +5256,7 @@ L_08889978: } L_08889980: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 9u); + aot_gpr_2 = (0u | 9u); if (branch_taken) { goto L_08889988; } @@ -5265,7 +5266,7 @@ L_08889988: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -5278,7 +5279,7 @@ L_0888999C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_4 = (2237u << 16u); aot_gpr_31 = (0x088899BCu); @@ -5286,8 +5287,8 @@ L_0888999C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0048_entry, 48u, 454u, 0x088C63C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088899BCu) goto L_088899BC; AOT_REGCACHE_SYNC_OUT(); return; L_088899BC: - aot_gpr_17 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_08889AE8; @@ -5297,10 +5298,10 @@ L_088899BC: L_088899C8: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088899D4u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); goto L_08889B04; L_088899D4: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08889A0C; @@ -5310,10 +5311,10 @@ L_088899D4: L_088899DC: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088899E8u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); goto L_08889C04; L_088899E8: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08889A04; @@ -5339,7 +5340,7 @@ L_088899FC: } L_08889A04: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 32u); + aot_gpr_2 = (0u | 32u); if (branch_taken) { goto L_08889AF0; } @@ -5347,7 +5348,7 @@ L_08889A04: } L_08889A0C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 9u); + aot_gpr_2 = (0u | 9u); if (branch_taken) { goto L_08889AF0; } @@ -5364,7 +5365,7 @@ L_08889A1C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0044_entry, 44u, 278u, 0x088B5BECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08889A24u) goto L_08889A24; AOT_REGCACHE_SYNC_OUT(); return; L_08889A24: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08889A40; @@ -5374,7 +5375,7 @@ L_08889A24: L_08889A2C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-25952))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(695))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(695))); goto L_08889A48; } goto L_08889A38; @@ -5388,7 +5389,7 @@ L_08889A38: } L_08889A40: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 111u); + aot_gpr_2 = (0u | 111u); if (branch_taken) { goto L_08889AF0; } @@ -5397,8 +5398,8 @@ L_08889A40: L_08889A48: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-25952))); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(695), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(695))); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(695), static_cast(aot_gpr_4)); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(695))); aot_gpr_4 = (static_cast(aot_gpr_4) < 10 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -5408,10 +5409,10 @@ L_08889A48: goto L_08889A64; } L_08889A64: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(695))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(695))); aot_gpr_4 = (aot_gpr_4 + static_cast(-10)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(695), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(695))); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(695), static_cast(aot_gpr_4)); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(695))); aot_gpr_4 = (static_cast(aot_gpr_4) < 10 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -5423,7 +5424,7 @@ L_08889A64: L_08889A80: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(695))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(695))); goto L_08889A98; } goto L_08889A8C; @@ -5433,7 +5434,7 @@ L_08889A8C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 466u, 0x08B65E44u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08889A94u) goto L_08889A94; AOT_REGCACHE_SYNC_OUT(); return; L_08889A94: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(695))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(695))); goto L_08889A98; L_08889A98: aot_gpr_5 = (aot_gpr_4 << 24u); @@ -5446,7 +5447,7 @@ L_08889AA8: aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-25952), 0u); goto L_08889AAC; L_08889AAC: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(695))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(695))); aot_gpr_5 = (0u | 111u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -5476,7 +5477,7 @@ L_08889AD0: AOT_REGCACHE_SYNC_OUT(); return; L_08889AD8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (ctx.gpr[2] & 255u); + aot_gpr_2 = (aot_gpr_2 & 255u); if (branch_taken) { goto L_08889AF0; } @@ -5484,7 +5485,7 @@ L_08889AD8: } L_08889AE0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(695))); + aot_gpr_2 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(695))); if (branch_taken) { goto L_08889AF0; } @@ -5492,7 +5493,7 @@ L_08889AE0: } L_08889AE8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 9u); + aot_gpr_2 = (0u | 9u); if (branch_taken) { goto L_08889AF0; } @@ -5502,7 +5503,7 @@ L_08889AF0: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -5541,7 +5542,7 @@ L_08889B20: } L_08889B2C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_08889BFC; } @@ -5622,7 +5623,7 @@ L_08889B74: } L_08889B80: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08889BFC; } @@ -5748,7 +5749,7 @@ L_08889C14: } L_08889C20: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_08889C34; } @@ -5756,14 +5757,14 @@ L_08889C20: } L_08889C28: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08889C34; } goto L_08889C30; } L_08889C30: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_08889C34; L_08889C34: jump_target = aot_gpr_31; @@ -5777,8 +5778,8 @@ L_08889C3C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); ctx.gpr[18] = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5896))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_5 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_5 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); { const bool branch_taken = aot_gpr_4 != 0u; @@ -5802,7 +5803,7 @@ L_08889C70: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0044_entry, 44u, 278u, 0x088B5BECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08889C78u) goto L_08889C78; AOT_REGCACHE_SYNC_OUT(); return; L_08889C78: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08889CD0; @@ -5838,7 +5839,7 @@ L_08889C9C: } L_08889CA4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_08889CD8; } @@ -5859,23 +5860,23 @@ L_08889CB8: AOT_REGCACHE_SYNC_OUT(); return; L_08889CC0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(20))); - ctx.gpr[2] = (ctx.gpr[2] ^ aot_gpr_4); + aot_gpr_2 = (aot_gpr_2 ^ aot_gpr_4); { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (ctx.gpr[2] < static_cast(1) ? 1u : 0u); + aot_gpr_2 = (aot_gpr_2 < static_cast(1) ? 1u : 0u); if (branch_taken) { goto L_08889CD8; } goto L_08889CD0; } L_08889CD0: - ctx.gpr[2] = (aot_gpr_17 ^ aot_gpr_16); - ctx.gpr[2] = (ctx.gpr[2] < static_cast(1) ? 1u : 0u); + aot_gpr_2 = (ctx.gpr[17] ^ aot_gpr_16); + aot_gpr_2 = (aot_gpr_2 < static_cast(1) ? 1u : 0u); goto L_08889CD8; L_08889CD8: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -5935,7 +5936,7 @@ L_08889D2C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08889D40u) goto L_08889D40; AOT_REGCACHE_SYNC_OUT(); return; L_08889D40: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -5945,7 +5946,7 @@ L_08889D40: } L_08889D4C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08889F38; } @@ -6006,7 +6007,7 @@ L_08889DBC: aot_gpr_4 = (ctx.gpr[6] | 0u); aot_gpr_31 = (0x08889DD0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08889DD0u) goto L_08889DD0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0893685C, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08889DD0u) goto L_08889DD0; AOT_REGCACHE_SYNC_OUT(); return; L_08889DD0: aot_gpr_31 = (0x08889DD8u); @@ -6078,7 +6079,7 @@ L_08889E3C: aot_gpr_4 = (ctx.gpr[6] | 0u); aot_gpr_31 = (0x08889E54u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08889E54u) goto L_08889E54; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0893685C, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08889E54u) goto L_08889E54; AOT_REGCACHE_SYNC_OUT(); return; L_08889E54: aot_gpr_31 = (0x08889E5Cu); @@ -6111,7 +6112,7 @@ L_08889E74: L_08889E94: ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1528))); ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1524))); - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); ctx.gpr[7] = (ctx.gpr[7] - ctx.gpr[8]); ctx.gpr[8] = (static_cast(static_cast(ctx.gpr[7]) >> 5u)); ctx.gpr[8] = (ctx.gpr[8] >> 27u); @@ -6119,7 +6120,7 @@ L_08889E94: ctx.gpr[7] = (static_cast(static_cast(ctx.gpr[7]) >> 5u)); aot_gpr_4 = (aot_gpr_4 < ctx.gpr[7] ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(1456), static_cast(ctx.gpr[2])); + aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(1456), static_cast(aot_gpr_2)); if (branch_taken) { goto L_08889EDC; } @@ -6129,7 +6130,7 @@ L_08889EC0: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), aot_gpr_5); aot_gpr_31 = (0x08889ECCu); aot_gpr_4 = (ctx.gpr[6] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08889ECCu) goto L_08889ECC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0893685C, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08889ECCu) goto L_08889ECC; AOT_REGCACHE_SYNC_OUT(); return; L_08889ECC: aot_gpr_31 = (0x08889ED4u); @@ -6137,7 +6138,7 @@ L_08889ECC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0212_entry, 212u, 919u, 0x08B576C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08889ED4u) goto L_08889ED4; AOT_REGCACHE_SYNC_OUT(); return; L_08889ED4: - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(56))); goto L_08889EDC; L_08889EDC: @@ -6186,7 +6187,7 @@ L_08889F0C: goto L_08889F34; } L_08889F34: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_08889F38; L_08889F38: aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(68))); @@ -6200,9 +6201,9 @@ L_08889F38: L_08889F48: aot_gpr_29 = (aot_gpr_29 + static_cast(-64)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), ctx.gpr[17]); aot_gpr_16 = (ctx.gpr[6] | 0u); - aot_gpr_17 = (aot_gpr_4 | 0u); + ctx.gpr[17] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(60), aot_gpr_31); aot_gpr_31 = (0x08889F6Cu); @@ -6210,7 +6211,7 @@ L_08889F48: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08889F6Cu) goto L_08889F6C; AOT_REGCACHE_SYNC_OUT(); return; L_08889F6C: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -6233,7 +6234,7 @@ L_08889F78: const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(1456))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(1456))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -6251,14 +6252,14 @@ L_08889F90: } L_08889F98: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_0888A0C0; } goto L_08889FA0; } L_08889FA0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1492))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1492))); aot_gpr_5 = (0u | 23u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; aot_gpr_4 = (2236u << 16u); @@ -6281,8 +6282,8 @@ L_08889FC0: ctx.gpr[18] = (0u | 127u); goto L_08889FC4; L_08889FC4: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(1398))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1492))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(1398))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1492))); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop if (branch_taken) { @@ -6291,8 +6292,8 @@ L_08889FC4: goto L_08889FD4; } L_08889FD4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1492))); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(1397), static_cast(aot_gpr_4)); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1492))); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(1397), static_cast(aot_gpr_4)); { const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -6302,7 +6303,7 @@ L_08889FD4: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_4 = (aot_gpr_17 + static_cast(1472)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(1472)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -6331,7 +6332,7 @@ L_08889FD4: ctx.execute_vfpu_unary_ct<28u, 28u, 1u, 22u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_13 = std::bit_cast(aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1488))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1488))); { const bool branch_taken = static_cast(aot_gpr_4) <= 0; // nop if (branch_taken) { @@ -6341,7 +6342,7 @@ L_08889FD4: } L_0888A014: { const bool branch_taken = 0u == 0u; - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1488))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1488))); if (branch_taken) { goto L_0888A034; } @@ -6350,7 +6351,7 @@ L_0888A014: L_0888A01C: aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(0), static_cast(0u)); { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_0888A0C0; } @@ -6358,8 +6359,8 @@ L_0888A01C: } L_0888A028: aot_gpr_4 = (0u | 1u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(1488), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1488))); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(1488), aot_gpr_4); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1488))); goto L_0888A034; L_0888A034: aot_fpr_12 = std::bit_cast(aot_gpr_4); @@ -6388,8 +6389,8 @@ L_0888A064: aot_gpr_5 = (std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(0), static_cast(aot_gpr_5)); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(0))); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(5), static_cast(aot_gpr_4)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(6), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(5), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(6), static_cast(aot_gpr_5)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(0))); aot_gpr_4 = (ctx.gpr[18] < aot_gpr_4 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; @@ -6404,14 +6405,14 @@ L_0888A094: goto L_0888A098; L_0888A098: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_0888A0C0; } goto L_0888A0A0; } L_0888A0A0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1504))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1504))); { const bool branch_taken = static_cast(aot_gpr_4) <= 0; // nop if (branch_taken) { @@ -6421,18 +6422,18 @@ L_0888A0A0: } L_0888A0AC: aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(0), static_cast(0u)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1504))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1504))); aot_gpr_4 = (aot_gpr_4 + static_cast(-1)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(1504), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(1504), aot_gpr_4); goto L_0888A0BC; L_0888A0BC: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_0888A0C0; L_0888A0C0: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(48), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -6458,7 +6459,7 @@ L_0888A0D8: AOT_REGCACHE_SYNC_OUT(); return; L_0888A104: aot_gpr_4 = (2232u << 16u); - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8336), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8336), aot_gpr_2); aot_gpr_5 = (0u | 0u); ctx.gpr[6] = (0u | 1u); ctx.gpr[7] = (0u | 1u); @@ -6469,7 +6470,7 @@ L_0888A104: AOT_REGCACHE_SYNC_OUT(); return; L_0888A124: aot_gpr_4 = (2237u << 16u); - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8340), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8340), aot_gpr_2); aot_gpr_4 = (aot_gpr_4 + static_cast(23248)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(8), aot_gpr_16); aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -6510,7 +6511,7 @@ L_0888A16C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0169_entry, 169u, 414u, 0x08AABBB4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888A17Cu) goto L_0888A17C; AOT_REGCACHE_SYNC_OUT(); return; L_0888A17C: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_0888A18C; @@ -6613,7 +6614,7 @@ L_0888A208: aot_gpr_16 = (aot_gpr_16 + static_cast(-1008)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1398))); aot_gpr_5 = (0u | 111u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -6640,7 +6641,7 @@ L_0888A238: } L_0888A240: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_0888A2FC; } @@ -6656,9 +6657,9 @@ L_0888A248: } L_0888A250: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7688))); - aot_gpr_17 = (2237u << 16u); + ctx.gpr[17] = (2237u << 16u); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(-28416)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(-28416)); if (branch_taken) { goto L_0888A278; } @@ -6668,21 +6669,21 @@ L_0888A260: aot_gpr_4 = (0u | 1u); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7688), aot_gpr_4); aot_gpr_31 = (0x0888A270u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0010_entry, 10u, 286u, 0x0882D794u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888A270u) goto L_0888A270; AOT_REGCACHE_SYNC_OUT(); return; L_0888A270: aot_gpr_31 = (0x0888A278u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-25904)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888A278u) goto L_0888A278; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888A278u) goto L_0888A278; AOT_REGCACHE_SYNC_OUT(); return; L_0888A278: aot_gpr_31 = (0x0888A280u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0010_entry, 10u, 611u, 0x0882E9B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888A280u) goto L_0888A280; AOT_REGCACHE_SYNC_OUT(); return; L_0888A280: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_0888A29C; @@ -6708,7 +6709,7 @@ L_0888A294: } L_0888A29C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_0888A2FC; } @@ -6750,7 +6751,7 @@ L_0888A2C4: } L_0888A2CC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_0888A2FC; } @@ -6775,7 +6776,7 @@ L_0888A2DC: } L_0888A2E8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_0888A2FC; } @@ -6783,20 +6784,20 @@ L_0888A2E8: } L_0888A2F0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_0888A2FC; } goto L_0888A2F8; } L_0888A2F8: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_0888A2FC; L_0888A2FC: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -6809,7 +6810,7 @@ L_0888A310: aot_gpr_29 = (aot_gpr_29 + static_cast(-160)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(128), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); - { const std::uint32_t aot_run_words[5]{aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; + { const std::uint32_t aot_run_words[5]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(132), aot_run_words); } aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(0))); { const bool branch_taken = aot_gpr_4 != 0u; @@ -6822,7 +6823,7 @@ L_0888A310: L_0888A33C: aot_gpr_31 = (0x0888A344u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888A344u) goto L_0888A344; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888A344u) goto L_0888A344; AOT_REGCACHE_SYNC_OUT(); return; L_0888A344: aot_gpr_31 = (0x0888A34Cu); @@ -6830,13 +6831,13 @@ L_0888A344: goto L_0888A0D8; L_0888A34C: aot_gpr_4 = (2232u << 16u); - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_31 = (0x0888A35Cu); aot_gpr_4 = (aot_gpr_4 + static_cast(-23336)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0077_entry, 77u, 250u, 0x08938F04u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888A35Cu) goto L_0888A35C; AOT_REGCACHE_SYNC_OUT(); return; L_0888A35C: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[18] == 0u; // nop if (branch_taken) { @@ -6858,7 +6859,7 @@ L_0888A37C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0077_entry, 77u, 254u, 0x08938F40u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888A384u) goto L_0888A384; AOT_REGCACHE_SYNC_OUT(); return; L_0888A384: - aot_gpr_17 = (0u | 1u); + ctx.gpr[17] = (0u | 1u); goto L_0888A388; L_0888A388: ctx.gpr[19] = (0u | 0u); @@ -6871,23 +6872,23 @@ L_0888A388: L_0888A398: aot_gpr_31 = (0x0888A3A0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888A3A0u) goto L_0888A3A0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888A3A0u) goto L_0888A3A0; AOT_REGCACHE_SYNC_OUT(); return; L_0888A3A0: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-25836))); ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-25840))); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x0888A3B4u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888A3B4u) goto L_0888A3B4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888A3B4u) goto L_0888A3B4; AOT_REGCACHE_SYNC_OUT(); return; L_0888A3B4: ctx.gpr[1] = (ctx.gpr[3] << 1u); - aot_gpr_4 = (ctx.gpr[2] >> 31u); + aot_gpr_4 = (aot_gpr_2 >> 31u); aot_gpr_5 = (static_cast(static_cast(ctx.gpr[3]) >> 31u)); aot_gpr_4 = (ctx.gpr[1] | aot_gpr_4); ctx.gpr[20] = (aot_gpr_4 | 0u); - { const bool branch_taken = aot_gpr_17 != 0u; + { const bool branch_taken = ctx.gpr[17] != 0u; ctx.gpr[20] = (ctx.gpr[20] << 10u); if (branch_taken) { goto L_0888A47C; @@ -6937,7 +6938,7 @@ L_0888A440: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0077_entry, 77u, 250u, 0x08938F04u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888A448u) goto L_0888A448; AOT_REGCACHE_SYNC_OUT(); return; L_0888A448: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[18] == 0u; // nop if (branch_taken) { @@ -7135,7 +7136,7 @@ L_0888A5C8: AOT_REGCACHE_SYNC_OUT(); return; L_0888A660: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(0))); + aot_gpr_2 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(0))); if (branch_taken) { goto L_0888A668; } @@ -7145,7 +7146,7 @@ L_0888A668: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(128), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -7162,10 +7163,10 @@ L_0888A688: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5896))); - { const std::uint32_t aot_run_words[3]{aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(4), aot_run_words); } { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_17 = (0u + static_cast(-1)); + ctx.gpr[17] = (0u + static_cast(-1)); if (branch_taken) { goto L_0888A6B8; } @@ -7186,7 +7187,7 @@ L_0888A6B8: AOT_REGCACHE_SYNC_OUT(); return; L_0888A6C0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1544))); - { const bool branch_taken = aot_gpr_4 == aot_gpr_17; + { const bool branch_taken = aot_gpr_4 == ctx.gpr[17]; // nop if (branch_taken) { goto L_0888A768; @@ -7199,7 +7200,7 @@ L_0888A6CC: aot_gpr_5 = (0u | 110u); goto L_088888D8; L_0888A6D8: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_0888A6E8; @@ -7208,7 +7209,7 @@ L_0888A6D8: } L_0888A6E0: { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(1544), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(1544), ctx.gpr[17]); if (branch_taken) { goto L_0888A768; } @@ -7279,7 +7280,7 @@ L_0888A74C: goto L_0888A764; } L_0888A764: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(1544), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(1544), ctx.gpr[17]); goto L_0888A768; L_0888A768: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5896))); @@ -7304,7 +7305,7 @@ L_0888A780: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0044_entry, 44u, 484u, 0x088B6944u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888A788u) goto L_0888A788; AOT_REGCACHE_SYNC_OUT(); return; L_0888A788: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_0888A7B8; @@ -7334,7 +7335,7 @@ L_0888A7A8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0044_entry, 44u, 278u, 0x088B5BECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888A7B0u) goto L_0888A7B0; AOT_REGCACHE_SYNC_OUT(); return; L_0888A7B0: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_0888A7D0; @@ -7426,8 +7427,8 @@ L_0888A834: goto L_0888A840; } L_0888A840: - aot_gpr_17 = (0u | 1u); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(1410), static_cast(aot_gpr_17)); + ctx.gpr[17] = (0u | 1u); + aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(1410), static_cast(ctx.gpr[17])); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1409))); { const bool branch_taken = aot_gpr_5 != 0u; // nop @@ -7455,7 +7456,7 @@ L_0888A860: goto L_0888A86C; } L_0888A86C: - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(1409), static_cast(aot_gpr_17)); + aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(1409), static_cast(ctx.gpr[17])); goto L_0888A870; L_0888A870: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(26344))); @@ -7475,7 +7476,7 @@ L_0888A880: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0169_entry, 169u, 412u, 0x08AABB88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888A890u) goto L_0888A890; AOT_REGCACHE_SYNC_OUT(); return; L_0888A890: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; aot_gpr_4 = (0u | 113u); if (branch_taken) { goto L_0888A8A8; @@ -7531,7 +7532,7 @@ L_0888A8C8: aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(28), aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(32), 0u); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-25832), static_cast(aot_gpr_17)); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-25832), static_cast(ctx.gpr[17])); goto L_0888A8F4; L_0888A8F4: aot_gpr_31 = (0x0888A8FCu); @@ -7690,7 +7691,7 @@ L_0888A9CC: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -7740,9 +7741,9 @@ L_0888A9E4: aot_gpr_5 = (aot_gpr_5 + ctx.gpr[6]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(80), ctx.gpr[23]); ctx.gpr[23] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), std::bit_cast(aot_fpr_20)); - aot_fpr_20 = std::bit_cast(0u); - { const std::uint32_t aot_run_words[10]{std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22]}; + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), std::bit_cast(ctx.fpr[20])); + ctx.fpr[20] = std::bit_cast(0u); + { const std::uint32_t aot_run_words[10]{std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(40), aot_run_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(84), aot_gpr_31); { const bool branch_taken = ctx.gpr[23] != 0u; @@ -7761,7 +7762,7 @@ L_0888AAC0: ctx.gpr[20] = (2237u << 16u); aot_gpr_4 = (20352u << 16u); ctx.fpr[24] = std::bit_cast(aot_gpr_4); - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_4 = (20224u << 16u); ctx.gpr[21] = (0u | 5u); ctx.fpr[26] = std::bit_cast(aot_gpr_4); @@ -7772,33 +7773,33 @@ L_0888AAC0: L_0888AAF0: aot_gpr_31 = (0x0888AAF8u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888AAF8u) goto L_0888AAF8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888AAF8u) goto L_0888AAF8; AOT_REGCACHE_SYNC_OUT(); return; L_0888AAF8: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-25836))); ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-25840))); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x0888AB0Cu); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888AB0Cu) goto L_0888AB0C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888AB0Cu) goto L_0888AB0C; AOT_REGCACHE_SYNC_OUT(); return; L_0888AB0C: ctx.gpr[1] = (ctx.gpr[3] << 1u); - aot_gpr_4 = (ctx.gpr[2] >> 31u); + aot_gpr_4 = (aot_gpr_2 >> 31u); aot_gpr_5 = (static_cast(static_cast(ctx.gpr[3]) >> 31u)); aot_gpr_4 = (ctx.gpr[1] | aot_gpr_4); ctx.gpr[18] = (aot_gpr_4 | 0u); aot_gpr_31 = (0x0888AB28u); ctx.gpr[18] = (ctx.gpr[18] << 10u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888AB28u) goto L_0888AB28; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888AB28u) goto L_0888AB28; AOT_REGCACHE_SYNC_OUT(); return; L_0888AB28: - aot_fpr_12 = ctx.fpr[22] - aot_fpr_20; + aot_fpr_12 = ctx.fpr[22] - ctx.fpr[20]; aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_13))); { const float fs = aot_fpr_12; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - aot_fpr_12 = aot_fpr_20 + aot_fpr_12; + aot_fpr_12 = ctx.fpr[20] + aot_fpr_12; if (static_cast(aot_gpr_4) < 0) { aot_fpr_13 = aot_fpr_13 + ctx.fpr[24]; goto L_0888AB48; @@ -7828,7 +7829,7 @@ L_0888AB68: aot_gpr_5 = (aot_gpr_5 + ctx.gpr[22]); goto L_0888AB74; L_0888AB74: - { const std::int32_t dividend = static_cast(aot_gpr_17); const std::int32_t divisor = static_cast(ctx.gpr[21]); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } + { const std::int32_t dividend = static_cast(ctx.gpr[17]); const std::int32_t divisor = static_cast(ctx.gpr[21]); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(28))); ctx.gpr[7] = (ctx.hi); ctx.gpr[7] = (ctx.gpr[7] << 2u); @@ -7855,8 +7856,8 @@ L_0888ABB0: L_0888ABB8: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(28), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(32), 0u); - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - aot_gpr_4 = (static_cast(aot_gpr_17) < 9 ? 1u : 0u); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + aot_gpr_4 = (static_cast(ctx.gpr[17]) < 9 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_16 = (aot_gpr_16 + static_cast(12)); if (branch_taken) { @@ -7867,7 +7868,7 @@ L_0888ABB8: L_0888ABD0: aot_gpr_16 = (0u | 0u); ctx.gpr[18] = (0u | 0u); - aot_gpr_17 = (aot_gpr_29 | 0u); + ctx.gpr[17] = (aot_gpr_29 | 0u); goto L_0888ABDC; L_0888ABDC: aot_gpr_31 = (0x0888ABE4u); @@ -7876,15 +7877,15 @@ L_0888ABDC: AOT_REGCACHE_SYNC_OUT(); return; L_0888ABE4: { const bool branch_taken = aot_gpr_16 != 0u; - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), std::bit_cast(ctx.fpr[0])); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), std::bit_cast(ctx.fpr[0])); if (branch_taken) { goto L_0888AC04; } goto L_0888ABEC; } L_0888ABEC: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(aot_fpr_20)) && aot_fpr_12 == aot_fpr_20)) ? 0x00800000u : 0u); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(ctx.fpr[20])) && aot_fpr_12 == ctx.fpr[20])) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -7900,7 +7901,7 @@ L_0888AC04: ctx.gpr[18] = (ctx.gpr[18] + static_cast(1)); aot_gpr_4 = (static_cast(ctx.gpr[18]) < 9 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(4)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(4)); if (branch_taken) { goto L_0888ABDC; } @@ -7936,12 +7937,12 @@ L_0888AC44: aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(1552), 0u); { std::uint32_t aot_run_words[13]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(36), aot_run_words); - aot_fpr_20 = std::bit_cast(aot_run_words[0]); + ctx.fpr[20] = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); ctx.fpr[26] = std::bit_cast(aot_run_words[3]); aot_gpr_16 = aot_run_words[4]; - aot_gpr_17 = aot_run_words[5]; + ctx.gpr[17] = aot_run_words[5]; ctx.gpr[18] = aot_run_words[6]; ctx.gpr[19] = aot_run_words[7]; ctx.gpr[20] = aot_run_words[8]; @@ -7960,9 +7961,9 @@ L_0888AC84: aot_gpr_29 = (aot_gpr_29 + static_cast(-224)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(200), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(192), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(192), std::bit_cast(ctx.fpr[20])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(196), std::bit_cast(ctx.fpr[22])); - { const std::uint32_t aot_run_words[4]{aot_gpr_17, ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(204), aot_run_words); } aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(8360))); aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7713))); @@ -7989,7 +7990,7 @@ L_0888ACCC: aot_gpr_4 = (aot_gpr_16 | 0u); goto L_0888876C; L_0888ACD4: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_0888ACF4; @@ -8002,7 +8003,7 @@ L_0888ACDC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888ACE4u) goto L_0888ACE4; AOT_REGCACHE_SYNC_OUT(); return; L_0888ACE4: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_0888AD0C; @@ -8041,7 +8042,7 @@ L_0888AD0C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888AD14u) goto L_0888AD14; AOT_REGCACHE_SYNC_OUT(); return; L_0888AD14: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(613)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(613)))))); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -8056,9 +8057,9 @@ L_0888AD24: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888AD2Cu) goto L_0888AD2C; AOT_REGCACHE_SYNC_OUT(); return; L_0888AD2C: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(86)))))); - aot_gpr_17 = (0u | 261u); - { const bool branch_taken = aot_gpr_4 == aot_gpr_17; + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(86)))))); + ctx.gpr[17] = (0u | 261u); + { const bool branch_taken = aot_gpr_4 == ctx.gpr[17]; // nop if (branch_taken) { goto L_0888ACF4; @@ -8071,7 +8072,7 @@ L_0888AD3C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888AD44u) goto L_0888AD44; AOT_REGCACHE_SYNC_OUT(); return; L_0888AD44: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(86)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(86)))))); aot_gpr_5 = (0u | 219u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -8086,7 +8087,7 @@ L_0888AD54: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888AD5Cu) goto L_0888AD5C; AOT_REGCACHE_SYNC_OUT(); return; L_0888AD5C: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(86)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(86)))))); aot_gpr_5 = (0u | 207u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -8101,7 +8102,7 @@ L_0888AD6C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888AD74u) goto L_0888AD74; AOT_REGCACHE_SYNC_OUT(); return; L_0888AD74: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(86)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(86)))))); aot_gpr_5 = (0u | 234u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -8116,7 +8117,7 @@ L_0888AD84: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888AD8Cu) goto L_0888AD8C; AOT_REGCACHE_SYNC_OUT(); return; L_0888AD8C: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(86)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(86)))))); aot_gpr_5 = (0u | 191u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -8131,7 +8132,7 @@ L_0888AD9C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888ADA4u) goto L_0888ADA4; AOT_REGCACHE_SYNC_OUT(); return; L_0888ADA4: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(86)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(86)))))); aot_gpr_5 = (0u | 279u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -8146,7 +8147,7 @@ L_0888ADB4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888ADBCu) goto L_0888ADBC; AOT_REGCACHE_SYNC_OUT(); return; L_0888ADBC: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(86)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(86)))))); aot_gpr_5 = (0u | 189u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -8161,7 +8162,7 @@ L_0888ADCC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888ADD4u) goto L_0888ADD4; AOT_REGCACHE_SYNC_OUT(); return; L_0888ADD4: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(86)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(86)))))); aot_gpr_5 = (0u | 194u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -8176,8 +8177,8 @@ L_0888ADE4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888ADECu) goto L_0888ADEC; AOT_REGCACHE_SYNC_OUT(); return; L_0888ADEC: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(86)))))); - { const bool branch_taken = aot_gpr_4 == aot_gpr_17; + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(86)))))); + { const bool branch_taken = aot_gpr_4 == ctx.gpr[17]; // nop if (branch_taken) { goto L_0888ACF4; @@ -8190,7 +8191,7 @@ L_0888ADF8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888AE00u) goto L_0888AE00; AOT_REGCACHE_SYNC_OUT(); return; L_0888AE00: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(86)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(86)))))); aot_gpr_5 = (0u | 275u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -8206,8 +8207,8 @@ L_0888AE10: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0048_entry, 48u, 454u, 0x088C63C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888AE1Cu) goto L_0888AE1C; AOT_REGCACHE_SYNC_OUT(); return; L_0888AE1C: - aot_gpr_17 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_0888AE40; @@ -8215,10 +8216,10 @@ L_0888AE1C: goto L_0888AE28; } L_0888AE28: - aot_gpr_17 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(695))); - aot_gpr_4 = (static_cast(aot_gpr_17) < 9 ? 1u : 0u); + ctx.gpr[17] = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(695))); + aot_gpr_4 = (static_cast(ctx.gpr[17]) < 9 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_4 = (static_cast(aot_gpr_17) < 31 ? 1u : 0u); + aot_gpr_4 = (static_cast(ctx.gpr[17]) < 31 ? 1u : 0u); if (branch_taken) { goto L_0888AE4C; } @@ -8250,10 +8251,10 @@ L_0888AE4C: goto L_0888AE54; } L_0888AE54: - aot_gpr_17 = (0u | 9u); + ctx.gpr[17] = (0u | 9u); goto L_0888AE58; L_0888AE58: - aot_gpr_4 = (static_cast(aot_gpr_17) < 11 ? 1u : 0u); + aot_gpr_4 = (static_cast(ctx.gpr[17]) < 11 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_4 = (0u | 111u); if (branch_taken) { @@ -8262,7 +8263,7 @@ L_0888AE58: goto L_0888AE64; } L_0888AE64: - { const bool branch_taken = aot_gpr_17 != aot_gpr_4; + { const bool branch_taken = ctx.gpr[17] != aot_gpr_4; // nop if (branch_taken) { goto L_0888AE80; @@ -8305,9 +8306,9 @@ L_0888AE8C: goto L_0888AE98; } L_0888AE98: - aot_gpr_17 = (aot_gpr_17 + aot_gpr_4); - aot_gpr_17 = (aot_gpr_17 & 255u); - aot_gpr_4 = (static_cast(aot_gpr_17) < 10 ? 1u : 0u); + ctx.gpr[17] = (ctx.gpr[17] + aot_gpr_4); + ctx.gpr[17] = (ctx.gpr[17] & 255u); + aot_gpr_4 = (static_cast(ctx.gpr[17]) < 10 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -8316,9 +8317,9 @@ L_0888AE98: goto L_0888AEAC; } L_0888AEAC: - aot_gpr_17 = (aot_gpr_17 + static_cast(-10)); - aot_gpr_17 = (aot_gpr_17 & 255u); - aot_gpr_4 = (static_cast(aot_gpr_17) < 10 ? 1u : 0u); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(-10)); + ctx.gpr[17] = (ctx.gpr[17] & 255u); + aot_gpr_4 = (static_cast(ctx.gpr[17]) < 10 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -8335,20 +8336,20 @@ L_0888AEC0: goto L_0888AEC8; } L_0888AEC8: - aot_gpr_17 = (aot_gpr_5 | 0u); + ctx.gpr[17] = (aot_gpr_5 | 0u); goto L_0888AECC; L_0888AECC: - aot_gpr_4 = (static_cast(aot_gpr_17) < 24 ? 1u : 0u); + aot_gpr_4 = (static_cast(ctx.gpr[17]) < 24 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_4 = (static_cast(aot_gpr_17) < 31 ? 1u : 0u); + aot_gpr_4 = (static_cast(ctx.gpr[17]) < 31 ? 1u : 0u); if (branch_taken) { goto L_0888AF04; } goto L_0888AED8; } L_0888AED8: - { const bool branch_taken = static_cast(aot_gpr_17) < 0; - aot_gpr_4 = (static_cast(aot_gpr_17) < 9 ? 1u : 0u); + { const bool branch_taken = static_cast(ctx.gpr[17]) < 0; + aot_gpr_4 = (static_cast(ctx.gpr[17]) < 9 ? 1u : 0u); if (branch_taken) { goto L_0888AF4C; } @@ -8363,11 +8364,11 @@ L_0888AEE0: goto L_0888AEE8; } L_0888AEE8: - aot_gpr_17 = (aot_gpr_17 << 2u); + ctx.gpr[17] = (ctx.gpr[17] << 2u); ctx.gpr[1] = (2232u << 16u); - ctx.gpr[1] = (ctx.gpr[1] + aot_gpr_17); + ctx.gpr[1] = (ctx.gpr[1] + ctx.gpr[17]); ctx.gpr[1] = (aot_mem.aot_direct_load32(ctx.gpr[1] + static_cast(-23152))); - aot_gpr_17 = (static_cast(static_cast(aot_gpr_17) >> 2u)); + ctx.gpr[17] = (static_cast(static_cast(ctx.gpr[17]) >> 2u)); jump_target = ctx.gpr[1]; ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); local_pc = jump_target; @@ -8383,7 +8384,7 @@ L_0888AF04: goto L_0888AF0C; } L_0888AF0C: - aot_gpr_4 = (static_cast(aot_gpr_17) < 30 ? 1u : 0u); + aot_gpr_4 = (static_cast(ctx.gpr[17]) < 30 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -8412,7 +8413,7 @@ L_0888AF2C: ctx.gpr[18] = (0u | 111u); goto L_0888AF30; L_0888AF30: - { const bool branch_taken = aot_gpr_17 != ctx.gpr[18]; + { const bool branch_taken = ctx.gpr[17] != ctx.gpr[18]; // nop if (branch_taken) { goto L_0888AF4C; @@ -8459,7 +8460,7 @@ L_0888AF5C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888AF68u) goto L_0888AF68; AOT_REGCACHE_SYNC_OUT(); return; L_0888AF68: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[19] == 0u; // nop if (branch_taken) { @@ -8470,7 +8471,7 @@ L_0888AF68: L_0888AF74: aot_gpr_31 = (0x0888AF7Cu); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888AF7Cu) goto L_0888AF7C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888AF7Cu) goto L_0888AF7C; AOT_REGCACHE_SYNC_OUT(); return; L_0888AF7C: ctx.gpr[18] = (ctx.gpr[19] | 0u); @@ -8485,7 +8486,7 @@ L_0888AF88: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888AF90u) goto L_0888AF90; AOT_REGCACHE_SYNC_OUT(); return; L_0888AF90: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); { const bool branch_taken = 0u == 0u; aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5848))); if (branch_taken) { @@ -8508,7 +8509,7 @@ L_0888AFA4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888AFB0u) goto L_0888AFB0; AOT_REGCACHE_SYNC_OUT(); return; L_0888AFB0: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[19] == 0u; // nop if (branch_taken) { @@ -8519,7 +8520,7 @@ L_0888AFB0: L_0888AFBC: aot_gpr_31 = (0x0888AFC4u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888AFC4u) goto L_0888AFC4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888AFC4u) goto L_0888AFC4; AOT_REGCACHE_SYNC_OUT(); return; L_0888AFC4: ctx.gpr[18] = (ctx.gpr[19] | 0u); @@ -8534,7 +8535,7 @@ L_0888AFD0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888AFD8u) goto L_0888AFD8; AOT_REGCACHE_SYNC_OUT(); return; L_0888AFD8: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); { const bool branch_taken = 0u == 0u; aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5848))); if (branch_taken) { @@ -8557,7 +8558,7 @@ L_0888AFEC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888AFF8u) goto L_0888AFF8; AOT_REGCACHE_SYNC_OUT(); return; L_0888AFF8: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[19] == 0u; // nop if (branch_taken) { @@ -8568,7 +8569,7 @@ L_0888AFF8: L_0888B004: aot_gpr_31 = (0x0888B00Cu); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888B00Cu) goto L_0888B00C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888B00Cu) goto L_0888B00C; AOT_REGCACHE_SYNC_OUT(); return; L_0888B00C: ctx.gpr[18] = (ctx.gpr[19] | 0u); @@ -8583,7 +8584,7 @@ L_0888B018: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888B020u) goto L_0888B020; AOT_REGCACHE_SYNC_OUT(); return; L_0888B020: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); { const bool branch_taken = 0u == 0u; aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5848))); if (branch_taken) { @@ -8606,7 +8607,7 @@ L_0888B034: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888B040u) goto L_0888B040; AOT_REGCACHE_SYNC_OUT(); return; L_0888B040: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[19] == 0u; // nop if (branch_taken) { @@ -8617,7 +8618,7 @@ L_0888B040: L_0888B04C: aot_gpr_31 = (0x0888B054u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888B054u) goto L_0888B054; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888B054u) goto L_0888B054; AOT_REGCACHE_SYNC_OUT(); return; L_0888B054: ctx.gpr[18] = (ctx.gpr[19] | 0u); @@ -8632,7 +8633,7 @@ L_0888B060: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888B068u) goto L_0888B068; AOT_REGCACHE_SYNC_OUT(); return; L_0888B068: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); { const bool branch_taken = 0u == 0u; aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5848))); if (branch_taken) { @@ -8655,7 +8656,7 @@ L_0888B07C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888B088u) goto L_0888B088; AOT_REGCACHE_SYNC_OUT(); return; L_0888B088: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[19] == 0u; // nop if (branch_taken) { @@ -8666,7 +8667,7 @@ L_0888B088: L_0888B094: aot_gpr_31 = (0x0888B09Cu); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888B09Cu) goto L_0888B09C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888B09Cu) goto L_0888B09C; AOT_REGCACHE_SYNC_OUT(); return; L_0888B09C: ctx.gpr[18] = (ctx.gpr[19] | 0u); @@ -8681,7 +8682,7 @@ L_0888B0A8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888B0B0u) goto L_0888B0B0; AOT_REGCACHE_SYNC_OUT(); return; L_0888B0B0: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); { const bool branch_taken = 0u == 0u; aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5848))); if (branch_taken) { @@ -8704,7 +8705,7 @@ L_0888B0C4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888B0D0u) goto L_0888B0D0; AOT_REGCACHE_SYNC_OUT(); return; L_0888B0D0: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[19] == 0u; // nop if (branch_taken) { @@ -8715,7 +8716,7 @@ L_0888B0D0: L_0888B0DC: aot_gpr_31 = (0x0888B0E4u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888B0E4u) goto L_0888B0E4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888B0E4u) goto L_0888B0E4; AOT_REGCACHE_SYNC_OUT(); return; L_0888B0E4: ctx.gpr[18] = (ctx.gpr[19] | 0u); @@ -8730,7 +8731,7 @@ L_0888B0F0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888B0F8u) goto L_0888B0F8; AOT_REGCACHE_SYNC_OUT(); return; L_0888B0F8: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); { const bool branch_taken = 0u == 0u; aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5848))); if (branch_taken) { @@ -8753,7 +8754,7 @@ L_0888B10C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888B118u) goto L_0888B118; AOT_REGCACHE_SYNC_OUT(); return; L_0888B118: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[19] == 0u; // nop if (branch_taken) { @@ -8764,7 +8765,7 @@ L_0888B118: L_0888B124: aot_gpr_31 = (0x0888B12Cu); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888B12Cu) goto L_0888B12C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888B12Cu) goto L_0888B12C; AOT_REGCACHE_SYNC_OUT(); return; L_0888B12C: ctx.gpr[18] = (ctx.gpr[19] | 0u); @@ -8779,7 +8780,7 @@ L_0888B138: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888B140u) goto L_0888B140; AOT_REGCACHE_SYNC_OUT(); return; L_0888B140: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); { const bool branch_taken = 0u == 0u; aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5848))); if (branch_taken) { @@ -8802,7 +8803,7 @@ L_0888B154: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888B160u) goto L_0888B160; AOT_REGCACHE_SYNC_OUT(); return; L_0888B160: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[19] == 0u; // nop if (branch_taken) { @@ -8813,7 +8814,7 @@ L_0888B160: L_0888B16C: aot_gpr_31 = (0x0888B174u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888B174u) goto L_0888B174; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888B174u) goto L_0888B174; AOT_REGCACHE_SYNC_OUT(); return; L_0888B174: ctx.gpr[18] = (ctx.gpr[19] | 0u); @@ -8828,7 +8829,7 @@ L_0888B180: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888B188u) goto L_0888B188; AOT_REGCACHE_SYNC_OUT(); return; L_0888B188: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); { const bool branch_taken = 0u == 0u; aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5848))); if (branch_taken) { @@ -8851,7 +8852,7 @@ L_0888B19C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888B1A8u) goto L_0888B1A8; AOT_REGCACHE_SYNC_OUT(); return; L_0888B1A8: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[19] == 0u; // nop if (branch_taken) { @@ -8862,7 +8863,7 @@ L_0888B1A8: L_0888B1B4: aot_gpr_31 = (0x0888B1BCu); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888B1BCu) goto L_0888B1BC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888B1BCu) goto L_0888B1BC; AOT_REGCACHE_SYNC_OUT(); return; L_0888B1BC: ctx.gpr[18] = (ctx.gpr[19] | 0u); @@ -8877,7 +8878,7 @@ L_0888B1C8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888B1D0u) goto L_0888B1D0; AOT_REGCACHE_SYNC_OUT(); return; L_0888B1D0: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); { const bool branch_taken = 0u == 0u; aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5848))); if (branch_taken) { @@ -8899,7 +8900,7 @@ L_0888B1E8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0044_entry, 44u, 484u, 0x088B6944u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888B1F0u) goto L_0888B1F0; AOT_REGCACHE_SYNC_OUT(); return; L_0888B1F0: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_0888B220; @@ -8929,7 +8930,7 @@ L_0888B210: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0044_entry, 44u, 278u, 0x088B5BECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888B218u) goto L_0888B218; AOT_REGCACHE_SYNC_OUT(); return; L_0888B218: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_0888B250; @@ -8937,8 +8938,8 @@ L_0888B218: goto L_0888B220; } L_0888B220: - aot_gpr_17 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1397))); - { const bool branch_taken = aot_gpr_17 != ctx.gpr[18]; + ctx.gpr[17] = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1397))); + { const bool branch_taken = ctx.gpr[17] != ctx.gpr[18]; // nop if (branch_taken) { goto L_0888B238; @@ -8950,10 +8951,10 @@ L_0888B22C: aot_gpr_4 = (aot_gpr_16 | 0u); goto L_0888847C; L_0888B234: - aot_gpr_17 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1397))); + ctx.gpr[17] = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1397))); goto L_0888B238; L_0888B238: - { const bool branch_taken = aot_gpr_17 == ctx.gpr[18]; + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[18]; // nop if (branch_taken) { goto L_0888B248; @@ -9000,7 +9001,7 @@ L_0888B26C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0044_entry, 44u, 440u, 0x088B6698u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888B274u) goto L_0888B274; AOT_REGCACHE_SYNC_OUT(); return; L_0888B274: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); { const bool branch_taken = 0u == 0u; aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5848))); if (branch_taken) { @@ -9015,7 +9016,7 @@ L_0888B280: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888B28Cu) goto L_0888B28C; AOT_REGCACHE_SYNC_OUT(); return; L_0888B28C: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[19] == 0u; // nop if (branch_taken) { @@ -9026,7 +9027,7 @@ L_0888B28C: L_0888B298: aot_gpr_31 = (0x0888B2A0u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888B2A0u) goto L_0888B2A0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888B2A0u) goto L_0888B2A0; AOT_REGCACHE_SYNC_OUT(); return; L_0888B2A0: ctx.gpr[18] = (ctx.gpr[19] | 0u); @@ -9041,7 +9042,7 @@ L_0888B2AC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888B2B4u) goto L_0888B2B4; AOT_REGCACHE_SYNC_OUT(); return; L_0888B2B4: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5848))); goto L_0888B2BC; L_0888B2BC: @@ -9066,7 +9067,7 @@ L_0888B2D0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0109_entry, 109u, 607u, 0x089BACE4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888B2D8u) goto L_0888B2D8; AOT_REGCACHE_SYNC_OUT(); return; L_0888B2D8: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_0888B31C; @@ -9135,7 +9136,7 @@ L_0888B33C: ctx.gpr[6] = (ctx.gpr[18] | 0u); goto L_08889C3C; L_0888B34C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_0888B37C; @@ -9172,7 +9173,7 @@ L_0888B370: } L_0888B37C: aot_gpr_4 = (0u | 111u); - { const bool branch_taken = aot_gpr_17 != aot_gpr_4; + { const bool branch_taken = ctx.gpr[17] != aot_gpr_4; aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-25828), ctx.gpr[18]); if (branch_taken) { goto L_0888B3B4; @@ -9202,7 +9203,7 @@ L_0888B3A0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0044_entry, 44u, 483u, 0x088B693Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888B3A8u) goto L_0888B3A8; AOT_REGCACHE_SYNC_OUT(); return; L_0888B3A8: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(20), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(20), aot_gpr_2); { const bool branch_taken = 0u == 0u; aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1516))); if (branch_taken) { @@ -9282,17 +9283,17 @@ L_0888B40C: L_0888B418: aot_gpr_31 = (0x0888B420u); aot_gpr_4 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888B420u) goto L_0888B420; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C498, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888B420u) goto L_0888B420; AOT_REGCACHE_SYNC_OUT(); return; L_0888B420: aot_gpr_31 = (0x0888B428u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888B428u) goto L_0888B428; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C05C, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_16, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888B428u) goto L_0888B428; AOT_REGCACHE_SYNC_OUT(); return; L_0888B428: aot_gpr_31 = (0x0888B430u); aot_gpr_4 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888B430u) goto L_0888B430; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C604, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888B430u) goto L_0888B430; AOT_REGCACHE_SYNC_OUT(); return; L_0888B430: aot_gpr_4 = (0u | 77u); @@ -9305,7 +9306,7 @@ L_0888B430: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(3), static_cast(aot_gpr_5)); aot_gpr_31 = (0x0888B458u); aot_gpr_4 = (aot_gpr_29 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888B458u) goto L_0888B458; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C4A8, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888B458u) goto L_0888B458; AOT_REGCACHE_SYNC_OUT(); return; L_0888B458: aot_gpr_16 = (aot_gpr_29 + static_cast(4)); @@ -9316,7 +9317,7 @@ L_0888B458: AOT_REGCACHE_SYNC_OUT(); return; L_0888B468: aot_gpr_4 = (0u | 111u); - { const bool branch_taken = aot_gpr_17 == aot_gpr_4; + { const bool branch_taken = ctx.gpr[17] == aot_gpr_4; // nop if (branch_taken) { goto L_0888B490; @@ -9343,53 +9344,53 @@ L_0888B47C: goto L_0888B490; } L_0888B490: - aot_gpr_17 = (aot_gpr_29 + static_cast(156)); + ctx.gpr[17] = (aot_gpr_29 + static_cast(156)); aot_gpr_4 = (ctx.gpr[28] + static_cast(-25740)); aot_gpr_31 = (0x0888B4A0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0032_entry, 32u, 843u, 0x08887B04u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888B4A0u) goto L_0888B4A0; AOT_REGCACHE_SYNC_OUT(); return; L_0888B4A0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-8744))); - aot_fpr_20 = std::bit_cast(0u); + ctx.fpr[20] = std::bit_cast(0u); aot_gpr_5 = (17948u << 16u); - aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); + aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_5 = (aot_gpr_5 | 16384u); aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); ctx.gpr[19] = (aot_gpr_29 + static_cast(140)); ctx.fpr[22] = std::bit_cast(aot_gpr_5); aot_gpr_4 = (ctx.gpr[19] | 0u); - ctx.fpr[15] = std::bit_cast(std::bit_cast(ctx.fpr[22])); + aot_fpr_15 = std::bit_cast(std::bit_cast(ctx.fpr[22])); aot_gpr_31 = (0x0888B4D4u); - aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888B4D4u) goto L_0888B4D4; + aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08873400, 27u, 732u, 0x08873400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888B4D4u) goto L_0888B4D4; AOT_REGCACHE_SYNC_OUT(); return; L_0888B4D4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 0u); - ctx.gpr[6] = (ctx.gpr[2] | 0u); + ctx.gpr[6] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x0888B4E8u); ctx.gpr[7] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 93u, 0x08B0C6DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888B4E8u) goto L_0888B4E8; AOT_REGCACHE_SYNC_OUT(); return; L_0888B4E8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-8744))); - aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); - ctx.gpr[18] = (ctx.gpr[2] | 0u); - aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); + aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); + ctx.gpr[18] = (aot_gpr_2 | 0u); + aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_fpr_14 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); aot_gpr_31 = (0x0888B50Cu); - ctx.fpr[15] = std::bit_cast(std::bit_cast(ctx.fpr[22])); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888B50Cu) goto L_0888B50C; + aot_fpr_15 = std::bit_cast(std::bit_cast(ctx.fpr[22])); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08873400, 27u, 732u, 0x08873400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888B50Cu) goto L_0888B50C; AOT_REGCACHE_SYNC_OUT(); return; L_0888B50C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 0u); ctx.gpr[6] = (0u | 0u); - ctx.gpr[7] = (ctx.gpr[2] | 0u); + ctx.gpr[7] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x0888B524u); ctx.gpr[8] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 90u, 0x08B0C660u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888B524u) goto L_0888B524; @@ -9397,7 +9398,7 @@ L_0888B50C: L_0888B524: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-8744))); aot_gpr_4 = (aot_gpr_4 + static_cast(-110)); - aot_gpr_4 = (static_cast(ctx.gpr[2]) < static_cast(aot_gpr_4) ? 1u : 0u); + aot_gpr_4 = (static_cast(aot_gpr_2) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_4 = (0u | 1u); if (branch_taken) { @@ -9415,19 +9416,19 @@ L_0888B538: } L_0888B540: aot_gpr_5 = (16968u << 16u); - aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); + aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_fpr_12 = std::bit_cast(aot_gpr_5); aot_gpr_4 = (aot_gpr_29 + static_cast(164)); aot_gpr_5 = (17366u << 16u); aot_fpr_14 = std::bit_cast(aot_gpr_5); aot_gpr_5 = (17287u << 16u); aot_gpr_31 = (0x0888B564u); - ctx.fpr[15] = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888B564u) goto L_0888B564; + aot_fpr_15 = std::bit_cast(aot_gpr_5); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08873400, 27u, 732u, 0x08873400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888B564u) goto L_0888B564; AOT_REGCACHE_SYNC_OUT(); return; L_0888B564: aot_gpr_31 = (0x0888B56Cu); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 64u, 0x08B0C4D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888B56Cu) goto L_0888B56C; AOT_REGCACHE_SYNC_OUT(); return; L_0888B56C: @@ -9471,7 +9472,7 @@ L_0888B5BC: aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); aot_gpr_31 = (0x0888B5D0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0032_entry, 32u, 851u, 0x08887B80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888B5D0u) goto L_0888B5D0; AOT_REGCACHE_SYNC_OUT(); return; L_0888B5D0: @@ -9505,7 +9506,7 @@ L_0888B5F0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0044_entry, 44u, 434u, 0x088B6620u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888B5F8u) goto L_0888B5F8; AOT_REGCACHE_SYNC_OUT(); return; L_0888B5F8: - aot_gpr_4 = (static_cast(ctx.gpr[2]) < 65 ? 1u : 0u); + aot_gpr_4 = (static_cast(aot_gpr_2) < 65 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -9516,7 +9517,7 @@ L_0888B5F8: L_0888B604: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0888B610u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0032_entry, 32u, 846u, 0x08887B30u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888B610u) goto L_0888B610; AOT_REGCACHE_SYNC_OUT(); return; L_0888B610: @@ -9525,7 +9526,7 @@ L_0888B610: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 96u, 0x08B0C748u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888B618u) goto L_0888B618; AOT_REGCACHE_SYNC_OUT(); return; L_0888B618: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x0888B624u); aot_gpr_5 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 283u, 0x08AFD8D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888B624u) goto L_0888B624; @@ -9544,7 +9545,7 @@ L_0888B630: aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x0888B640u); ctx.gpr[6] = (0u | 48u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888B640u) goto L_0888B640; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888B640u) goto L_0888B640; AOT_REGCACHE_SYNC_OUT(); return; L_0888B640: { const bool branch_taken = 0u == 0u; @@ -9559,15 +9560,15 @@ L_0888B648: aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x0888B658u); ctx.gpr[6] = (0u | 7u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888B658u) goto L_0888B658; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888B658u) goto L_0888B658; AOT_REGCACHE_SYNC_OUT(); return; L_0888B658: { std::uint32_t aot_run_words[7]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(192), aot_run_words); - aot_fpr_20 = std::bit_cast(aot_run_words[0]); + ctx.fpr[20] = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); aot_gpr_16 = aot_run_words[2]; - aot_gpr_17 = aot_run_words[3]; + ctx.gpr[17] = aot_run_words[3]; ctx.gpr[18] = aot_run_words[4]; ctx.gpr[19] = aot_run_words[5]; aot_gpr_31 = aot_run_words[6]; @@ -9582,7 +9583,7 @@ L_0888B67C: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); - { const std::uint32_t aot_run_words[3]{aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(8), aot_run_words); } aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(9))); { const bool branch_taken = aot_gpr_4 == 0u; @@ -9606,7 +9607,7 @@ L_0888B6A8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0169_entry, 169u, 412u, 0x08AABB88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888B6BCu) goto L_0888B6BC; AOT_REGCACHE_SYNC_OUT(); return; L_0888B6BC: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_0888B6F8; @@ -9621,10 +9622,10 @@ L_0888B6C4: aot_gpr_5 = (0u | 113u); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(1403), static_cast(aot_gpr_5)); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1397))); - aot_gpr_17 = (2237u << 16u); + ctx.gpr[17] = (2237u << 16u); ctx.gpr[6] = (0u | 110u); { const bool branch_taken = aot_gpr_5 != ctx.gpr[6]; - aot_gpr_17 = (aot_gpr_17 + static_cast(-28320)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(-28320)); if (branch_taken) { goto L_0888B708; } @@ -9663,9 +9664,9 @@ L_0888B70C: } L_0888B714: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(12))); - aot_gpr_17 = (2237u << 16u); + ctx.gpr[17] = (2237u << 16u); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(-28320)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(-28320)); if (branch_taken) { goto L_0888B734; } @@ -9678,7 +9679,7 @@ L_0888B724: aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(9), static_cast(0u)); goto L_0888B734; L_0888B734: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(26344))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(26344))); aot_gpr_4 = (aot_gpr_4 & 3u); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -9753,7 +9754,7 @@ L_0888B79C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0169_entry, 169u, 412u, 0x08AABB88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888B7A4u) goto L_0888B7A4; AOT_REGCACHE_SYNC_OUT(); return; L_0888B7A4: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_0888B818; @@ -9820,7 +9821,7 @@ L_0888B818: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0169_entry, 169u, 412u, 0x08AABB88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888B820u) goto L_0888B820; AOT_REGCACHE_SYNC_OUT(); return; L_0888B820: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1403)))))); if (branch_taken) { goto L_0888B834; @@ -9828,8 +9829,8 @@ L_0888B820: goto L_0888B828; } L_0888B828: - aot_gpr_17 = (0u | 113u); - { const bool branch_taken = aot_gpr_4 != aot_gpr_17; + ctx.gpr[17] = (0u | 113u); + { const bool branch_taken = aot_gpr_4 != ctx.gpr[17]; // nop if (branch_taken) { goto L_0888B844; @@ -9861,7 +9862,7 @@ L_0888B850: aot_gpr_4 = (aot_gpr_16 | 0u); goto L_0888981C; L_0888B85C: - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); { const bool branch_taken = 0u == 0u; aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1403)))))); if (branch_taken) { @@ -9873,7 +9874,7 @@ L_0888B868: aot_gpr_5 = (0u | 0u); goto L_0888B86C; L_0888B86C: - { const bool branch_taken = aot_gpr_4 == aot_gpr_17; + { const bool branch_taken = aot_gpr_4 == ctx.gpr[17]; // nop if (branch_taken) { goto L_0888BAB8; @@ -9940,7 +9941,7 @@ L_0888B8E0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0169_entry, 169u, 412u, 0x08AABB88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888B8E8u) goto L_0888B8E8; AOT_REGCACHE_SYNC_OUT(); return; L_0888B8E8: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_0888B9F0; @@ -10054,7 +10055,7 @@ L_0888B990: goto L_0888B998; } L_0888B998: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(26341))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(26341))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -10150,7 +10151,7 @@ L_0888BA14: AOT_REGCACHE_SYNC_OUT(); return; L_0888BA1C: aot_gpr_4 = (0u | 2u); - { const bool branch_taken = ctx.gpr[2] == aot_gpr_4; + { const bool branch_taken = aot_gpr_2 == aot_gpr_4; // nop if (branch_taken) { goto L_0888BA7C; @@ -10158,13 +10159,13 @@ L_0888BA1C: goto L_0888BA28; } L_0888BA28: - aot_gpr_17 = (ctx.gpr[28] + static_cast(7696)); + ctx.gpr[17] = (ctx.gpr[28] + static_cast(7696)); aot_gpr_31 = (0x0888BA34u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 559u, 0x0880A704u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888BA34u) goto L_0888BA34; AOT_REGCACHE_SYNC_OUT(); return; L_0888BA34: - aot_gpr_4 = (static_cast(ctx.gpr[2]) < 126 ? 1u : 0u); + aot_gpr_4 = (static_cast(aot_gpr_2) < 126 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -10174,23 +10175,23 @@ L_0888BA34: } L_0888BA40: aot_gpr_31 = (0x0888BA48u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 559u, 0x0880A704u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888BA48u) goto L_0888BA48; AOT_REGCACHE_SYNC_OUT(); return; L_0888BA48: - aot_gpr_5 = (ctx.gpr[2] + static_cast(10)); + aot_gpr_5 = (aot_gpr_2 + static_cast(10)); aot_gpr_5 = (aot_gpr_5 & 255u); aot_gpr_31 = (0x0888BA58u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 557u, 0x0880A6F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888BA58u) goto L_0888BA58; AOT_REGCACHE_SYNC_OUT(); return; L_0888BA58: aot_gpr_31 = (0x0888BA60u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 559u, 0x0880A704u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888BA60u) goto L_0888BA60; AOT_REGCACHE_SYNC_OUT(); return; L_0888BA60: - aot_gpr_4 = (static_cast(ctx.gpr[2]) < 128 ? 1u : 0u); + aot_gpr_4 = (static_cast(aot_gpr_2) < 128 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -10200,7 +10201,7 @@ L_0888BA60: } L_0888BA6C: aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(1548), static_cast(0u)); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0888BA7Cu); aot_gpr_5 = (0u | 127u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 557u, 0x0880A6F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888BA7Cu) goto L_0888BA7C; @@ -10238,7 +10239,7 @@ L_0888BAB8: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(4), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -10257,7 +10258,7 @@ L_0888BAD0: ctx.gpr[21] = (0u | 113u); aot_gpr_16 = (aot_gpr_4 | 0u); ctx.gpr[18] = (ctx.gpr[18] + static_cast(-28320)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[19]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[20]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_31); @@ -10267,7 +10268,7 @@ L_0888BAD0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888BB0Cu) goto L_0888BB0C; AOT_REGCACHE_SYNC_OUT(); return; L_0888BB0C: - aot_gpr_17 = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x0888BB18u); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0048_entry, 48u, 454u, 0x088C63C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888BB18u) goto L_0888BB18; @@ -10280,7 +10281,7 @@ L_0888BB18: aot_gpr_4 = (aot_gpr_4 + static_cast(-1)); aot_gpr_5 = (aot_gpr_4 < static_cast(17) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); if (branch_taken) { goto L_0888BB5C; } @@ -10328,7 +10329,7 @@ L_0888BB70: aot_gpr_4 = (aot_gpr_16 | 0u); goto L_0888876C; L_0888BB78: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_0888BB88; @@ -10360,7 +10361,7 @@ L_0888BB94: goto L_0888BBA0; } L_0888BBA0: - { const bool branch_taken = aot_gpr_17 == 0u; + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_0888BD74; @@ -10368,7 +10369,7 @@ L_0888BBA0: goto L_0888BBA8; } L_0888BBA8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(2228))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(2228))); aot_gpr_5 = (0u | 57u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; aot_gpr_5 = (0u | 58u); @@ -10410,11 +10411,11 @@ L_0888BBD8: AOT_REGCACHE_SYNC_OUT(); return; L_0888BBE0: aot_gpr_31 = (0x0888BBE8u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0098_entry, 98u, 347u, 0x0898CF8Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888BBE8u) goto L_0888BBE8; AOT_REGCACHE_SYNC_OUT(); return; L_0888BBE8: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_0888BBF4; @@ -10431,11 +10432,11 @@ L_0888BBF4: AOT_REGCACHE_SYNC_OUT(); return; L_0888BBFC: aot_gpr_31 = (0x0888BC04u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0098_entry, 98u, 461u, 0x0898D410u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888BC04u) goto L_0888BC04; AOT_REGCACHE_SYNC_OUT(); return; L_0888BC04: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_0888BC24; @@ -10449,11 +10450,11 @@ L_0888BC0C: AOT_REGCACHE_SYNC_OUT(); return; L_0888BC14: aot_gpr_31 = (0x0888BC1Cu); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0098_entry, 98u, 468u, 0x0898D464u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888BC1Cu) goto L_0888BC1C; AOT_REGCACHE_SYNC_OUT(); return; L_0888BC1C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_0888BD74; @@ -10482,7 +10483,7 @@ L_0888BC34: aot_gpr_5 = (ctx.gpr[19] | 0u); goto L_08889B04; L_0888BC40: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; aot_gpr_4 = (aot_gpr_16 | 0u); if (branch_taken) { goto L_0888BD74; @@ -10494,7 +10495,7 @@ L_0888BC48: aot_gpr_5 = (ctx.gpr[19] | 0u); goto L_08889C04; L_0888BC50: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_0888BD74; @@ -10510,12 +10511,12 @@ L_0888BC58: AOT_REGCACHE_SYNC_OUT(); return; L_0888BC68: aot_gpr_31 = (0x0888BC70u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0098_entry, 98u, 461u, 0x0898D410u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888BC70u) goto L_0888BC70; AOT_REGCACHE_SYNC_OUT(); return; L_0888BC70: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-25952))); - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; aot_gpr_4 = (0u | 111u); if (branch_taken) { goto L_0888BCBC; @@ -10708,7 +10709,7 @@ L_0888BDB0: aot_gpr_4 = (aot_gpr_16 | 0u); goto L_0888876C; L_0888BDB8: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_0888BDDC; @@ -10788,7 +10789,7 @@ L_0888BE2C: aot_gpr_5 = (ctx.gpr[20] | 0u); goto L_08888FC8; L_0888BE38: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_0888BE98; @@ -10842,7 +10843,7 @@ L_0888BE7C: aot_gpr_4 = (aot_gpr_16 | 0u); goto L_088898A4; L_0888BE88: - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(1397), static_cast(ctx.gpr[2])); + aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(1397), static_cast(aot_gpr_2)); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(3), static_cast(0u)); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-25952), 0u); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(6008), 0u); @@ -10862,7 +10863,7 @@ L_0888BEA4: aot_gpr_5 = (ctx.gpr[19] | 0u); goto L_08889B04; L_0888BEB0: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; ctx.gpr[20] = (0u + static_cast(-1)); if (branch_taken) { goto L_0888BEC8; @@ -10885,7 +10886,7 @@ L_0888BEC8: aot_gpr_5 = (ctx.gpr[19] | 0u); goto L_08889C04; L_0888BED4: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_0888BEEC; @@ -11018,7 +11019,7 @@ L_0888BFA0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0044_entry, 44u, 278u, 0x088B5BECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888BFA8u) goto L_0888BFA8; AOT_REGCACHE_SYNC_OUT(); return; L_0888BFA8: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0034_entry, 34u, 7u, 0x0888C050u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; diff --git a/profiles/vcs/generated/generated_unit_0034.cpp b/profiles/vcs/generated/generated_unit_0034.cpp index b4e9de0..5d335b4 100644 --- a/profiles/vcs/generated/generated_unit_0034.cpp +++ b/profiles/vcs/generated/generated_unit_0034.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0034[4089] = { }; void recomp_unit_0034_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,6,16,31 fprs=12,13,14,15 gpr_occ=3854 fpr_occ=915 gpr_total=5379 fpr_total=1403 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,6,31,16 fprs=12,13,14,15 gpr_occ=3994 fpr_occ=919 gpr_total=5594 fpr_total=1407 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_6 = ctx.gpr[6]; - std::uint32_t aot_gpr_16 = ctx.gpr[16]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; + std::uint32_t aot_gpr_16 = ctx.gpr[16]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_14 = ctx.fpr[14]; float aot_fpr_15 = ctx.fpr[15]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[6] = aot_gpr_6; ctx.gpr[16] = aot_gpr_16; ctx.gpr[31] = aot_gpr_31; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[15] = aot_fpr_15; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_31 = ctx.gpr[31]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_15 = ctx.fpr[15]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[6] = aot_gpr_6; ctx.gpr[31] = aot_gpr_31; ctx.gpr[16] = aot_gpr_16; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[15] = aot_fpr_15; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_16 = ctx.gpr[16]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_15 = ctx.fpr[15]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -2686,7 +2687,7 @@ L_0888CC44: L_0888CC58: aot_gpr_31 = (0x0888CC60u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-25716)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888CC60u) goto L_0888CC60; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888CC60u) goto L_0888CC60; AOT_REGCACHE_SYNC_OUT(); return; L_0888CC60: aot_gpr_4 = (17302u << 16u); @@ -3099,32 +3100,32 @@ L_0888D0B0: aot_gpr_4 = (0u | 6u); aot_gpr_31 = (0x0888D0FCu); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888D0FCu) goto L_0888D0FC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888D0FCu) goto L_0888D0FC; AOT_REGCACHE_SYNC_OUT(); return; L_0888D0FC: aot_gpr_4 = (0u | 4u); aot_gpr_31 = (0x0888D108u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888D108u) goto L_0888D108; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888D108u) goto L_0888D108; AOT_REGCACHE_SYNC_OUT(); return; L_0888D108: aot_gpr_4 = (0u | 10u); aot_gpr_31 = (0x0888D114u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888D114u) goto L_0888D114; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888D114u) goto L_0888D114; AOT_REGCACHE_SYNC_OUT(); return; L_0888D114: aot_gpr_4 = (0u | 8u); aot_gpr_31 = (0x0888D120u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888D120u) goto L_0888D120; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888D120u) goto L_0888D120; AOT_REGCACHE_SYNC_OUT(); return; L_0888D120: ctx.gpr[21] = (0u | 9u); aot_gpr_4 = (0u | 9u); aot_gpr_31 = (0x0888D130u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888D130u) goto L_0888D130; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888D130u) goto L_0888D130; AOT_REGCACHE_SYNC_OUT(); return; L_0888D130: aot_gpr_31 = (0x0888D138u); @@ -3280,7 +3281,7 @@ L_0888D298: aot_gpr_4 = (0u | 1u); aot_gpr_31 = (0x0888D2B8u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888D2B8u) goto L_0888D2B8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888D2B8u) goto L_0888D2B8; AOT_REGCACHE_SYNC_OUT(); return; L_0888D2B8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16580))); @@ -3475,7 +3476,7 @@ L_0888D444: aot_gpr_4 = (0u | 1u); aot_gpr_31 = (0x0888D454u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888D454u) goto L_0888D454; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888D454u) goto L_0888D454; AOT_REGCACHE_SYNC_OUT(); return; L_0888D454: aot_gpr_4 = (15477u << 16u); @@ -3567,7 +3568,7 @@ L_0888D54C: ctx.fpr[24] = ctx.fpr[26] / aot_fpr_12; aot_gpr_31 = (0x0888D560u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888D560u) goto L_0888D560; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888D560u) goto L_0888D560; AOT_REGCACHE_SYNC_OUT(); return; L_0888D560: { const std::int32_t dividend = static_cast(aot_gpr_16); const std::int32_t divisor = static_cast(ctx.gpr[21]); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } @@ -3631,7 +3632,7 @@ L_0888D60C: aot_gpr_4 = (0u | 1u); aot_gpr_31 = (0x0888D61Cu); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888D61Cu) goto L_0888D61C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888D61Cu) goto L_0888D61C; AOT_REGCACHE_SYNC_OUT(); return; L_0888D61C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(80), std::bit_cast(ctx.fpr[22])); @@ -3672,7 +3673,7 @@ L_0888D670: ctx.fpr[22] = ctx.fpr[26] / aot_fpr_12; aot_gpr_31 = (0x0888D684u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888D684u) goto L_0888D684; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888D684u) goto L_0888D684; AOT_REGCACHE_SYNC_OUT(); return; L_0888D684: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -3782,7 +3783,7 @@ L_0888D7D0: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_gpr_31 = (0x0888D7E4u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888D7E4u) goto L_0888D7E4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888D7E4u) goto L_0888D7E4; AOT_REGCACHE_SYNC_OUT(); return; L_0888D7E4: ctx.gpr[19] = (ctx.gpr[30] | 0u); @@ -3938,20 +3939,20 @@ L_0888D938: aot_gpr_4 = (0u | 8u); aot_gpr_31 = (0x0888D948u); aot_gpr_5 = (0u | 5u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888D948u) goto L_0888D948; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888D948u) goto L_0888D948; AOT_REGCACHE_SYNC_OUT(); return; L_0888D948: aot_gpr_4 = (0u | 9u); aot_gpr_31 = (0x0888D954u); aot_gpr_5 = (0u | 6u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888D954u) goto L_0888D954; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888D954u) goto L_0888D954; AOT_REGCACHE_SYNC_OUT(); return; L_0888D954: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); aot_gpr_4 = (0u | 1u); aot_gpr_31 = (0x0888D964u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888D964u) goto L_0888D964; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888D964u) goto L_0888D964; AOT_REGCACHE_SYNC_OUT(); return; L_0888D964: aot_gpr_4 = (2233u << 16u); @@ -4267,13 +4268,13 @@ L_0888DCEC: aot_gpr_4 = (0u | 8u); aot_gpr_31 = (0x0888DCF8u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888DCF8u) goto L_0888DCF8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888DCF8u) goto L_0888DCF8; AOT_REGCACHE_SYNC_OUT(); return; L_0888DCF8: aot_gpr_4 = (0u | 9u); aot_gpr_31 = (0x0888DD04u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888DD04u) goto L_0888DD04; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888DD04u) goto L_0888DD04; AOT_REGCACHE_SYNC_OUT(); return; L_0888DD04: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(224))); @@ -4281,7 +4282,7 @@ L_0888DD04: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(12))); aot_gpr_31 = (0x0888DD18u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888DD18u) goto L_0888DD18; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888DD18u) goto L_0888DD18; AOT_REGCACHE_SYNC_OUT(); return; L_0888DD18: aot_gpr_4 = (17224u << 16u); @@ -4459,31 +4460,31 @@ L_0888DECC: aot_gpr_4 = (0u | 10u); aot_gpr_31 = (0x0888DED8u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888DED8u) goto L_0888DED8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888DED8u) goto L_0888DED8; AOT_REGCACHE_SYNC_OUT(); return; L_0888DED8: aot_gpr_4 = (0u | 6u); aot_gpr_31 = (0x0888DEE4u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888DEE4u) goto L_0888DEE4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888DEE4u) goto L_0888DEE4; AOT_REGCACHE_SYNC_OUT(); return; L_0888DEE4: aot_gpr_4 = (0u | 4u); aot_gpr_31 = (0x0888DEF0u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888DEF0u) goto L_0888DEF0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888DEF0u) goto L_0888DEF0; AOT_REGCACHE_SYNC_OUT(); return; L_0888DEF0: aot_gpr_4 = (0u | 8u); aot_gpr_31 = (0x0888DEFCu); aot_gpr_5 = (0u | 5u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888DEFCu) goto L_0888DEFC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888DEFCu) goto L_0888DEFC; AOT_REGCACHE_SYNC_OUT(); return; L_0888DEFC: aot_gpr_4 = (0u | 9u); aot_gpr_31 = (0x0888DF08u); aot_gpr_5 = (0u | 6u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888DF08u) goto L_0888DF08; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888DF08u) goto L_0888DF08; AOT_REGCACHE_SYNC_OUT(); return; L_0888DF08: { std::uint32_t aot_run_words[16]{}; @@ -4682,7 +4683,7 @@ L_0888E0D0: aot_fpr_15 = std::bit_cast(aot_gpr_5); aot_gpr_31 = (0x0888E130u); aot_fpr_15 = static_cast(static_cast(std::bit_cast(aot_fpr_15))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888E130u) goto L_0888E130; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888E130u) goto L_0888E130; AOT_REGCACHE_SYNC_OUT(); return; L_0888E130: aot_gpr_4 = (ctx.gpr[2] | 0u); @@ -5175,7 +5176,7 @@ L_0888E658: L_0888E664: aot_gpr_31 = (0x0888E66Cu); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888E66Cu) goto L_0888E66C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888E66Cu) goto L_0888E66C; AOT_REGCACHE_SYNC_OUT(); return; L_0888E66C: { std::uint32_t aot_run_words[3]{}; @@ -7165,7 +7166,7 @@ L_0888F850: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_4); aot_gpr_31 = (0x0888F85Cu); aot_gpr_4 = (ctx.gpr[28] + static_cast(-25592)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888F85Cu) goto L_0888F85C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0893685C, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888F85Cu) goto L_0888F85C; AOT_REGCACHE_SYNC_OUT(); return; L_0888F85C: aot_gpr_31 = (0x0888F864u); @@ -7312,7 +7313,7 @@ L_0888F95C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_4); aot_gpr_31 = (0x0888F96Cu); aot_gpr_4 = (ctx.gpr[28] + static_cast(-25592)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888F96Cu) goto L_0888F96C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0893685C, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888F96Cu) goto L_0888F96C; AOT_REGCACHE_SYNC_OUT(); return; L_0888F96C: aot_gpr_31 = (0x0888F974u); @@ -7513,7 +7514,7 @@ L_0888FB18: L_0888FB24: aot_gpr_31 = (0x0888FB2Cu); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888FB2Cu) goto L_0888FB2C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888FB2Cu) goto L_0888FB2C; AOT_REGCACHE_SYNC_OUT(); return; L_0888FB2C: { std::uint32_t aot_run_words[3]{}; @@ -7800,7 +7801,7 @@ L_0888FD6C: L_0888FD80: aot_gpr_31 = (0x0888FD88u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-25584)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888FD88u) goto L_0888FD88; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888FD88u) goto L_0888FD88; AOT_REGCACHE_SYNC_OUT(); return; L_0888FD88: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -7919,7 +7920,7 @@ L_0888FE8C: L_0888FE98: aot_gpr_31 = (0x0888FEA0u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888FEA0u) goto L_0888FEA0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0888FEA0u) goto L_0888FEA0; AOT_REGCACHE_SYNC_OUT(); return; L_0888FEA0: { std::uint32_t aot_run_words[3]{}; diff --git a/profiles/vcs/generated/generated_unit_0035.cpp b/profiles/vcs/generated/generated_unit_0035.cpp index 1ae4a25..5729396 100644 --- a/profiles/vcs/generated/generated_unit_0035.cpp +++ b/profiles/vcs/generated/generated_unit_0035.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,7 +139,7 @@ static const std::uint16_t kEntryIds_recomp_unit_0035[4088] = { }; void recomp_unit_0035_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,29,5,6,16,31 fprs=12,13,14,20 gpr_occ=3491 fpr_occ=872 gpr_total=5401 fpr_total=1094 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,29,5,6,16,31 fprs=12,13,14,20 gpr_occ=3516 fpr_occ=872 gpr_total=5449 fpr_total=1094 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; @@ -1430,7 +1431,7 @@ L_0889044C: aot_gpr_4 = (2236u << 16u); aot_gpr_31 = (0x0889045Cu); aot_gpr_4 = (aot_gpr_4 + static_cast(25856)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889045Cu) goto L_0889045C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889045Cu) goto L_0889045C; AOT_REGCACHE_SYNC_OUT(); return; L_0889045C: { std::uint32_t aot_run_words[4]{}; @@ -2503,7 +2504,7 @@ L_08890F24: L_08890F2C: aot_gpr_31 = (0x08890F34u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08890F34u) goto L_08890F34; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08890F34u) goto L_08890F34; AOT_REGCACHE_SYNC_OUT(); return; L_08890F34: { std::uint32_t aot_run_words[3]{}; @@ -3320,7 +3321,7 @@ L_088916A8: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); aot_gpr_31 = (0x088916D4u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-25516)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088916D4u) goto L_088916D4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088916D4u) goto L_088916D4; AOT_REGCACHE_SYNC_OUT(); return; L_088916D4: aot_gpr_4 = (2246u << 16u); @@ -3647,7 +3648,7 @@ L_08891920: L_0889192C: aot_gpr_31 = (0x08891934u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08891934u) goto L_08891934; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08891934u) goto L_08891934; AOT_REGCACHE_SYNC_OUT(); return; L_08891934: { std::uint32_t aot_run_words[3]{}; @@ -8105,7 +8106,7 @@ L_08893B64: L_08893B74: aot_gpr_31 = (0x08893B7Cu); aot_gpr_4 = (ctx.gpr[21] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08893B7Cu) goto L_08893B7C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08893B7Cu) goto L_08893B7C; AOT_REGCACHE_SYNC_OUT(); return; L_08893B7C: { const bool branch_taken = ctx.gpr[2] != 0u; diff --git a/profiles/vcs/generated/generated_unit_0036.cpp b/profiles/vcs/generated/generated_unit_0036.cpp index 10ef8c5..6bbefcd 100644 --- a/profiles/vcs/generated/generated_unit_0036.cpp +++ b/profiles/vcs/generated/generated_unit_0036.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,7 +139,7 @@ static const std::uint16_t kEntryIds_recomp_unit_0036[4086] = { }; void recomp_unit_0036_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,6,16,17 fprs=12,13,14,20 gpr_occ=3453 fpr_occ=607 gpr_total=5594 fpr_total=807 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,6,16,17 fprs=12,13,14,20 gpr_occ=3461 fpr_occ=607 gpr_total=5612 fpr_total=807 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; @@ -1047,7 +1048,7 @@ L_088940C4: L_088940D4: ctx.gpr[31] = (0x088940DCu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088940DCu) goto L_088940DC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088940DCu) goto L_088940DC; AOT_REGCACHE_SYNC_OUT(); return; L_088940DC: { const bool branch_taken = ctx.gpr[2] != 0u; @@ -1447,7 +1448,7 @@ L_088943CC: L_088943D8: ctx.gpr[31] = (0x088943E0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(900))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088943E0u) goto L_088943E0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088943E0u) goto L_088943E0; AOT_REGCACHE_SYNC_OUT(); return; L_088943E0: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -1911,7 +1912,7 @@ L_08894724: aot_gpr_4 = (aot_gpr_5 | 0u); ctx.gpr[31] = (0x08894730u); aot_gpr_5 = (aot_gpr_6 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08894730u) goto L_08894730; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08894730u) goto L_08894730; AOT_REGCACHE_SYNC_OUT(); return; L_08894730: aot_gpr_4 = (ctx.gpr[19] | 0u); @@ -2517,7 +2518,7 @@ L_08894BA8: L_08894BB0: ctx.gpr[31] = (0x08894BB8u); aot_gpr_4 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08894BB8u) goto L_08894BB8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08894BB8u) goto L_08894BB8; AOT_REGCACHE_SYNC_OUT(); return; L_08894BB8: { const bool branch_taken = ctx.gpr[2] != 0u; @@ -3409,7 +3410,7 @@ L_088952E8: aot_gpr_4 = (aot_gpr_17 | 0u); ctx.gpr[31] = (0x088952F8u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088952F8u) goto L_088952F8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08908E78, 65u, 261u, 0x08908E78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088952F8u) goto L_088952F8; AOT_REGCACHE_SYNC_OUT(); return; L_088952F8: { const bool branch_taken = aot_gpr_16 != 0u; diff --git a/profiles/vcs/generated/generated_unit_0037.cpp b/profiles/vcs/generated/generated_unit_0037.cpp index d4b1fd7..b224683 100644 --- a/profiles/vcs/generated/generated_unit_0037.cpp +++ b/profiles/vcs/generated/generated_unit_0037.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,7 +139,7 @@ static const std::uint16_t kEntryIds_recomp_unit_0037[4090] = { }; void recomp_unit_0037_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,6,16,17 fprs=12,13,20,14 gpr_occ=3937 fpr_occ=718 gpr_total=5859 fpr_total=898 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,6,16,17 fprs=12,13,20,14 gpr_occ=3943 fpr_occ=718 gpr_total=5871 fpr_total=898 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; @@ -6741,7 +6742,7 @@ L_0889B338: L_0889B34C: ctx.gpr[31] = (0x0889B354u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-25464)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889B354u) goto L_0889B354; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889B354u) goto L_0889B354; AOT_REGCACHE_SYNC_OUT(); return; L_0889B354: aot_fpr_12 = std::bit_cast(0u); @@ -7260,7 +7261,7 @@ L_0889B754: L_0889B75C: ctx.gpr[31] = (0x0889B764u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889B764u) goto L_0889B764; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889B764u) goto L_0889B764; AOT_REGCACHE_SYNC_OUT(); return; L_0889B764: { const bool branch_taken = ctx.gpr[2] != 0u; diff --git a/profiles/vcs/generated/generated_unit_0038.cpp b/profiles/vcs/generated/generated_unit_0038.cpp index de3c950..5056559 100644 --- a/profiles/vcs/generated/generated_unit_0038.cpp +++ b/profiles/vcs/generated/generated_unit_0038.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0038[4096] = { }; void recomp_unit_0038_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,29,5,31,16,17 fprs=12,13,14,20 gpr_occ=4136 fpr_occ=420 gpr_total=5400 fpr_total=646 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,31,29,6,2 fprs=12,13,14,20 gpr_occ=4205 fpr_occ=423 gpr_total=6003 fpr_total=649 std::uint32_t aot_gpr_4 = ctx.gpr[4]; - std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; - std::uint32_t aot_gpr_16 = ctx.gpr[16]; - std::uint32_t aot_gpr_17 = ctx.gpr[17]; + std::uint32_t aot_gpr_29 = ctx.gpr[29]; + std::uint32_t aot_gpr_6 = ctx.gpr[6]; + std::uint32_t aot_gpr_2 = ctx.gpr[2]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_14 = ctx.fpr[14]; float aot_fpr_20 = ctx.fpr[20]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[29] = aot_gpr_29; ctx.gpr[5] = aot_gpr_5; ctx.gpr[31] = aot_gpr_31; ctx.gpr[16] = aot_gpr_16; ctx.gpr[17] = aot_gpr_17; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[20] = aot_fpr_20; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_17 = ctx.gpr[17]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_20 = ctx.fpr[20]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[31] = aot_gpr_31; ctx.gpr[29] = aot_gpr_29; ctx.gpr[6] = aot_gpr_6; ctx.gpr[2] = aot_gpr_2; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[20] = aot_fpr_20; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_2 = ctx.gpr[2]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_20 = ctx.fpr[20]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -1063,7 +1064,7 @@ L_0889C014: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0036_entry, 36u, 434u, 0x088961FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889C01Cu) goto L_0889C01C; AOT_REGCACHE_SYNC_OUT(); return; L_0889C01C: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_0889C5B8; @@ -1101,7 +1102,7 @@ L_0889C054: goto L_0889C06C; } L_0889C06C: - { const bool branch_taken = aot_gpr_17 == 0u; + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_0889C084; @@ -1119,7 +1120,7 @@ L_0889C074: goto L_0889C084; } L_0889C084: - { const bool branch_taken = aot_gpr_16 == 0u; + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_0889C0B8; @@ -1132,7 +1133,7 @@ L_0889C08C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 195u, 0x08910B38u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889C094u) goto L_0889C094; AOT_REGCACHE_SYNC_OUT(); return; L_0889C094: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_0889C0B8; @@ -1154,7 +1155,7 @@ L_0889C0A8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 409u, 0x08B017A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889C0B0u) goto L_0889C0B0; AOT_REGCACHE_SYNC_OUT(); return; L_0889C0B0: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_0889C0C0; @@ -1171,9 +1172,9 @@ L_0889C0B8: } L_0889C0C0: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(86)))))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); - ctx.gpr[6] = (static_cast(aot_gpr_4) < static_cast(ctx.gpr[6]) ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); + aot_gpr_6 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_6) ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_5 = (0u | 0u); if (branch_taken) { goto L_0889C0E4; @@ -1194,7 +1195,7 @@ L_0889C0E4: AOT_REGCACHE_SYNC_OUT(); return; L_0889C0F0: { const bool branch_taken = 0u == 0u; - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); if (branch_taken) { goto L_0889C26C; } @@ -1214,8 +1215,8 @@ L_0889C0F8: goto L_0889C114; } L_0889C114: - aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(352))); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(352))); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_0889C158; @@ -1224,26 +1225,26 @@ L_0889C114: } L_0889C120: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(640), ctx.gpr[21]); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(596), static_cast(aot_gpr_17)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(108))); - aot_gpr_17 = (aot_gpr_4 + static_cast(16)); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(0)))))); + aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(596), static_cast(ctx.gpr[17])); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(108))); + ctx.gpr[17] = (aot_gpr_4 + static_cast(16)); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(0)))))); aot_gpr_31 = (0x0889C13Cu); - ctx.gpr[21] = (aot_gpr_16 + aot_gpr_4); + ctx.gpr[21] = (ctx.gpr[16] + aot_gpr_4); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 419u, 0x089D273Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889C13Cu) goto L_0889C13C; AOT_REGCACHE_SYNC_OUT(); return; L_0889C13C: - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); aot_gpr_4 = (ctx.gpr[21] | 0u); - jump_target = ctx.gpr[6]; + jump_target = aot_gpr_6; aot_gpr_31 = (0x0889C14Cu); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889C14Cu) goto L_0889C14C; AOT_REGCACHE_SYNC_OUT(); return; L_0889C14C: - aot_gpr_17 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(596))); - { const bool branch_taken = ctx.gpr[2] != 0u; + ctx.gpr[17] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(596))); + { const bool branch_taken = aot_gpr_2 != 0u; ctx.gpr[21] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(640))); if (branch_taken) { goto L_0889C160; @@ -1252,14 +1253,14 @@ L_0889C14C: } L_0889C158: { const bool branch_taken = 0u == 0u; - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); if (branch_taken) { goto L_0889C160; } goto L_0889C160; } L_0889C160: - { const bool branch_taken = aot_gpr_16 == 0u; + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_0889C204; @@ -1279,7 +1280,7 @@ L_0889C168: goto L_0889C180; } L_0889C180: - { const bool branch_taken = aot_gpr_17 == 0u; + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_0889C1C4; @@ -1287,24 +1288,24 @@ L_0889C180: goto L_0889C188; } L_0889C188: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(96))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(96))); goto L_0889C1B4; } goto L_0889C194; L_0889C194: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(10)))))); - ctx.gpr[6] = (aot_gpr_29 + static_cast(384)); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(10)))))); + aot_gpr_6 = (aot_gpr_29 + static_cast(384)); aot_gpr_31 = (0x0889C1A4u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889C1A4u) goto L_0889C1A4; AOT_REGCACHE_SYNC_OUT(); return; L_0889C1A4: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(96), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(384))); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(4), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(4), static_cast(aot_gpr_4)); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(96))); goto L_0889C1B4; L_0889C1B4: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(180))); @@ -1326,9 +1327,9 @@ L_0889C1C4: } L_0889C1CC: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(86)))))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); - ctx.gpr[6] = (static_cast(aot_gpr_4) < static_cast(ctx.gpr[6]) ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); + aot_gpr_6 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_6) ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_5 = (0u | 0u); if (branch_taken) { goto L_0889C1F0; @@ -1349,7 +1350,7 @@ L_0889C1F0: AOT_REGCACHE_SYNC_OUT(); return; L_0889C1FC: { const bool branch_taken = 0u == 0u; - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); if (branch_taken) { goto L_0889C234; } @@ -1412,19 +1413,19 @@ L_0889C26C: goto L_0889C274; } L_0889C274: - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(632))); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(612))); - aot_gpr_17 = (aot_gpr_17 & 255u); - aot_gpr_16 = (aot_gpr_16 & 255u); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(632))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(612))); + ctx.gpr[17] = (ctx.gpr[17] & 255u); + ctx.gpr[16] = (ctx.gpr[16] & 255u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(600))); - ctx.gpr[6] = (ctx.gpr[19] + static_cast(16)); + aot_gpr_6 = (ctx.gpr[19] + static_cast(16)); ctx.gpr[7] = (aot_gpr_29 + static_cast(464)); aot_gpr_31 = (0x0889C298u); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0043_entry, 43u, 207u, 0x088B1820u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889C298u) goto L_0889C298; AOT_REGCACHE_SYNC_OUT(); return; L_0889C298: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; aot_gpr_4 = (aot_gpr_29 + static_cast(464)); if (branch_taken) { goto L_0889C2A8; @@ -1442,14 +1443,14 @@ L_0889C2A0: L_0889C2A8: ctx.gpr[7] = (aot_gpr_29 + static_cast(16)); aot_gpr_5 = (ctx.gpr[19] | 0u); - ctx.gpr[6] = (ctx.gpr[20] | 0u); - ctx.gpr[8] = (aot_gpr_17 | 0u); + aot_gpr_6 = (ctx.gpr[20] | 0u); + ctx.gpr[8] = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0889C2C0u); - ctx.gpr[9] = (aot_gpr_16 | 0u); + ctx.gpr[9] = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0043_entry, 43u, 484u, 0x088B3CECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889C2C0u) goto L_0889C2C0; AOT_REGCACHE_SYNC_OUT(); return; L_0889C2C0: - if (ctx.gpr[2] != 0u) { + if (aot_gpr_2 != 0u) { aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(0))); goto L_0889C2D0; } @@ -1468,11 +1469,11 @@ L_0889C2D0: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(452), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(456), std::bit_cast(aot_fpr_12)); - aot_gpr_16 = (aot_gpr_29 + static_cast(448)); + ctx.gpr[16] = (aot_gpr_29 + static_cast(448)); aot_gpr_4 = (ctx.gpr[23] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x0889C2F8u); - ctx.gpr[6] = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 194u, 0x08891710u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889C2F8u) goto L_0889C2F8; AOT_REGCACHE_SYNC_OUT(); return; L_0889C2F8: @@ -1481,8 +1482,8 @@ L_0889C2F8: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast(4))); aot_gpr_5 = (std::bit_cast(aot_fpr_13)); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast(8))); - ctx.gpr[6] = (std::bit_cast(aot_fpr_14)); - { const std::uint32_t aot_run_words[3]{aot_gpr_4, aot_gpr_5, ctx.gpr[6]}; + aot_gpr_6 = (std::bit_cast(aot_fpr_14)); + { const std::uint32_t aot_run_words[3]{aot_gpr_4, aot_gpr_5, aot_gpr_6}; aot_mem.aot_direct_store32_block(ctx.gpr[20] + static_cast(0), aot_run_words); } ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(16))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(448), std::bit_cast(ctx.fpr[15])); @@ -1517,7 +1518,7 @@ L_0889C2F8: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<6u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -1535,10 +1536,10 @@ L_0889C2F8: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast(0))); aot_gpr_5 = (std::bit_cast(aot_fpr_12)); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast(4))); - ctx.gpr[6] = (std::bit_cast(aot_fpr_13)); + aot_gpr_6 = (std::bit_cast(aot_fpr_13)); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast(8))); ctx.gpr[7] = (std::bit_cast(aot_fpr_14)); - { const std::uint32_t aot_run_words[3]{aot_gpr_5, ctx.gpr[6], ctx.gpr[7]}; + { const std::uint32_t aot_run_words[3]{aot_gpr_5, aot_gpr_6, ctx.gpr[7]}; aot_mem.aot_direct_store32_block(aot_gpr_4 + static_cast(0), aot_run_words); } aot_gpr_4 = (0u | 1u); goto L_0889C378; @@ -1568,15 +1569,15 @@ L_0889C394: aot_gpr_5 = (aot_gpr_4 + static_cast(336)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); aot_gpr_4 = (ctx.gpr[18] + aot_gpr_4); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); - jump_target = ctx.gpr[6]; + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); + jump_target = aot_gpr_6; aot_gpr_31 = (0x0889C3B0u); aot_gpr_5 = (aot_gpr_29 + static_cast(64)); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889C3B0u) goto L_0889C3B0; AOT_REGCACHE_SYNC_OUT(); return; L_0889C3B0: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_0889C5B8; @@ -1584,11 +1585,11 @@ L_0889C3B0: goto L_0889C3B8; } L_0889C3B8: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(612))); - aot_gpr_16 = (aot_gpr_16 & 255u); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(600))); - aot_gpr_4 = (aot_gpr_17 | 0u); - ctx.gpr[6] = (aot_gpr_29 + static_cast(80)); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(612))); + ctx.gpr[16] = (ctx.gpr[16] & 255u); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(600))); + aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_6 = (aot_gpr_29 + static_cast(80)); ctx.gpr[19] = (aot_gpr_29 + static_cast(544)); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x0889C3DCu); @@ -1596,7 +1597,7 @@ L_0889C3B8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0043_entry, 43u, 207u, 0x088B1820u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889C3DCu) goto L_0889C3DC; AOT_REGCACHE_SYNC_OUT(); return; L_0889C3DC: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; ctx.gpr[8] = (0u | 0u); if (branch_taken) { goto L_0889C3EC; @@ -1613,15 +1614,15 @@ L_0889C3E4: } L_0889C3EC: aot_gpr_5 = (aot_gpr_29 + static_cast(64)); - ctx.gpr[6] = (aot_gpr_29 + static_cast(32)); + aot_gpr_6 = (aot_gpr_29 + static_cast(32)); aot_gpr_4 = (ctx.gpr[19] | 0u); ctx.gpr[7] = (aot_gpr_29 + static_cast(336)); aot_gpr_31 = (0x0889C404u); - ctx.gpr[9] = (aot_gpr_16 | 0u); + ctx.gpr[9] = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0043_entry, 43u, 484u, 0x088B3CECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889C404u) goto L_0889C404; AOT_REGCACHE_SYNC_OUT(); return; L_0889C404: - if (ctx.gpr[2] != 0u) { + if (aot_gpr_2 != 0u) { aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(32))); goto L_0889C414; } @@ -1640,11 +1641,11 @@ L_0889C414: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(532), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(40))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(536), std::bit_cast(aot_fpr_12)); - aot_gpr_16 = (aot_gpr_29 + static_cast(528)); + ctx.gpr[16] = (aot_gpr_29 + static_cast(528)); aot_gpr_4 = (ctx.gpr[22] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x0889C43Cu); - ctx.gpr[6] = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 194u, 0x08891710u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889C43Cu) goto L_0889C43C; AOT_REGCACHE_SYNC_OUT(); return; L_0889C43C: @@ -1653,8 +1654,8 @@ L_0889C43C: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(4))); aot_gpr_5 = (std::bit_cast(aot_fpr_13)); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(8))); - ctx.gpr[6] = (std::bit_cast(aot_fpr_14)); - { const std::uint32_t aot_run_words[3]{aot_gpr_4, aot_gpr_5, ctx.gpr[6]}; + aot_gpr_6 = (std::bit_cast(aot_fpr_14)); + { const std::uint32_t aot_run_words[3]{aot_gpr_4, aot_gpr_5, aot_gpr_6}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(32), aot_run_words); } ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(48))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(528), std::bit_cast(ctx.fpr[15])); @@ -1689,7 +1690,7 @@ L_0889C43C: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<6u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -1708,8 +1709,8 @@ L_0889C43C: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(4))); aot_gpr_5 = (std::bit_cast(aot_fpr_13)); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(8))); - ctx.gpr[6] = (std::bit_cast(aot_fpr_14)); - { const std::uint32_t aot_run_words[3]{aot_gpr_4, aot_gpr_5, ctx.gpr[6]}; + aot_gpr_6 = (std::bit_cast(aot_fpr_14)); + { const std::uint32_t aot_run_words[3]{aot_gpr_4, aot_gpr_5, aot_gpr_6}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(48), aot_run_words); } aot_gpr_4 = (0u | 1u); goto L_0889C4B8; @@ -1760,7 +1761,7 @@ L_0889C4F4: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -1927,7 +1928,7 @@ L_0889C5E0: AOT_REGCACHE_SYNC_OUT(); return; L_0889C5F4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_0889C608; } @@ -1939,7 +1940,7 @@ L_0889C5FC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0099_entry, 99u, 70u, 0x08990464u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889C604u) goto L_0889C604; AOT_REGCACHE_SYNC_OUT(); return; L_0889C604: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_0889C608; L_0889C608: { std::uint32_t aot_run_words[13]{}; @@ -1947,8 +1948,8 @@ L_0889C608: aot_fpr_20 = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); - aot_gpr_16 = aot_run_words[3]; - aot_gpr_17 = aot_run_words[4]; + ctx.gpr[16] = aot_run_words[3]; + ctx.gpr[17] = aot_run_words[4]; ctx.gpr[18] = aot_run_words[5]; ctx.gpr[19] = aot_run_words[6]; ctx.gpr[20] = aot_run_words[7]; @@ -1966,14 +1967,14 @@ L_0889C608: AOT_REGCACHE_SYNC_OUT(); return; L_0889C644: aot_gpr_29 = (aot_gpr_29 + static_cast(-336)); - { const std::uint32_t aot_run_words[16]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; + { const std::uint32_t aot_run_words[16]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(272), aot_run_words); } ctx.gpr[7] = (ctx.gpr[7] & 255u); ctx.gpr[8] = (ctx.gpr[8] & 255u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(268), ctx.gpr[7]); ctx.gpr[21] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(256), ctx.gpr[8]); - ctx.gpr[20] = (ctx.gpr[6] | 0u); + ctx.gpr[20] = (aot_gpr_6 | 0u); ctx.gpr[30] = (ctx.gpr[9] | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(244), aot_gpr_5); ctx.fpr[26] = std::bit_cast(std::bit_cast(aot_fpr_12)); @@ -2003,10 +2004,10 @@ L_0889C6B4: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(248), std::bit_cast(aot_fpr_13)); goto L_0889C6E8; L_0889C6E8: - aot_gpr_17 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(0))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(0))); ctx.gpr[21] = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(8))); - aot_gpr_16 = (aot_gpr_17 + static_cast(48)); - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + ctx.gpr[16] = (ctx.gpr[17] + static_cast(48)); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -2019,7 +2020,7 @@ L_0889C6E8: const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -2067,12 +2068,12 @@ L_0889C6E8: } L_0889C734: aot_gpr_31 = (0x0889C73Cu); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0143_entry, 143u, 290u, 0x08A4182Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889C73Cu) goto L_0889C73C; AOT_REGCACHE_SYNC_OUT(); return; L_0889C73C: aot_gpr_4 = (4u << 16u); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(72))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(72))); aot_gpr_4 = (aot_gpr_5 & aot_gpr_4); aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); @@ -2084,7 +2085,7 @@ L_0889C73C: goto L_0889C758; } L_0889C758: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 14u); aot_gpr_4 = (aot_gpr_4 ^ 6u); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); @@ -2098,11 +2099,11 @@ L_0889C758: } L_0889C774: aot_gpr_31 = (0x0889C77Cu); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 195u, 0x08910B38u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889C77Cu) goto L_0889C77C; AOT_REGCACHE_SYNC_OUT(); return; L_0889C77C: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_0889CF54; @@ -2111,17 +2112,17 @@ L_0889C77C: } L_0889C784: aot_gpr_4 = (0u | 0u); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(72))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(72))); aot_gpr_5 = (aot_gpr_5 & 2048u); { const bool branch_taken = aot_gpr_5 != 0u; - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (branch_taken) { goto L_0889C7A8; } goto L_0889C798; } L_0889C798: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(76))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(76))); aot_gpr_5 = (aot_gpr_5 & 2048u); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_4 = (aot_gpr_4 & 255u); @@ -2131,7 +2132,7 @@ L_0889C798: goto L_0889C7A8; } L_0889C7A8: - aot_gpr_4 = (ctx.gpr[6] | 0u); + aot_gpr_4 = (aot_gpr_6 | 0u); aot_gpr_4 = (aot_gpr_4 & 255u); goto L_0889C7B0; L_0889C7B0: @@ -2143,7 +2144,7 @@ L_0889C7B0: goto L_0889C7B8; } L_0889C7B8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 14u); aot_gpr_4 = (aot_gpr_4 ^ 8u); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); @@ -2156,16 +2157,16 @@ L_0889C7B8: goto L_0889C7D4; } L_0889C7D4: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(456))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(456))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[22])) ? 0x00800000u : 0u); // nop if (((ctx.fcr31 & 0x00800000u) != 0u)) { - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(86)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(86)))))); goto L_0889C804; } goto L_0889C7E8; L_0889C7E8: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(456))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(456))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(260))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 <= aot_fpr_12)) ? 0x00800000u : 0u); // nop @@ -2177,7 +2178,7 @@ L_0889C7E8: goto L_0889C800; } L_0889C800: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(86)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(86)))))); goto L_0889C804; L_0889C804: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(104))); @@ -2190,7 +2191,7 @@ L_0889C804: goto L_0889C814; } L_0889C814: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(86)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(86)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(104))); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(188))); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; @@ -2201,7 +2202,7 @@ L_0889C814: goto L_0889C828; } L_0889C828: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(86)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(86)))))); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); ctx.gpr[7] = (static_cast(aot_gpr_4) < static_cast(ctx.gpr[7]) ? 1u : 0u); { const bool branch_taken = ctx.gpr[7] == 0u; @@ -2220,7 +2221,7 @@ L_0889C83C: L_0889C84C: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(16))); - if (aot_gpr_5 == ctx.gpr[6]) { + if (aot_gpr_5 == aot_gpr_6) { ctx.gpr[7] = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(58))); goto L_0889C874; } @@ -2261,7 +2262,7 @@ L_0889C880: goto L_0889C890; } L_0889C890: - aot_gpr_5 = (ctx.gpr[6] | 0u); + aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_4 = (aot_gpr_5 & 255u); goto L_0889C898; L_0889C898: @@ -2288,7 +2289,7 @@ L_0889C8A0: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_31 = (0x0889C8B4u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0008_entry, 8u, 598u, 0x08827E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889C8B4u) goto L_0889C8B4; AOT_REGCACHE_SYNC_OUT(); return; L_0889C8B4: @@ -2300,15 +2301,15 @@ L_0889C8B4: goto L_0889C8BC; } L_0889C8BC: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(72))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(72))); aot_gpr_4 = (aot_gpr_5 & aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(72), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(72), aot_gpr_4); aot_gpr_31 = (0x0889C8D0u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 463u, 0x08A66048u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889C8D0u) goto L_0889C8D0; AOT_REGCACHE_SYNC_OUT(); return; L_0889C8D0: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(86)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(86)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(104))); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(76))); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; @@ -2319,7 +2320,7 @@ L_0889C8D0: goto L_0889C8E4; } L_0889C8E4: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(482)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(482)))))); aot_gpr_4 = (aot_gpr_4 & 64u); aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); @@ -2331,7 +2332,7 @@ L_0889C8E4: goto L_0889C8FC; } L_0889C8FC: - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -2346,42 +2347,42 @@ L_0889C8FC: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_31 = (0x0889C90Cu); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(72))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889C90Cu) goto L_0889C90C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889C90Cu) goto L_0889C90C; AOT_REGCACHE_SYNC_OUT(); return; L_0889C90C: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-25444))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-25448))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-25448))); aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x0889C920u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 395u, 0x08B61F5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889C920u) goto L_0889C920; AOT_REGCACHE_SYNC_OUT(); return; L_0889C920: aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x0889C92Cu); - aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889C92Cu) goto L_0889C92C; + aot_gpr_4 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B627F0, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889C92Cu) goto L_0889C92C; AOT_REGCACHE_SYNC_OUT(); return; L_0889C92C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(72), std::bit_cast(ctx.fpr[0])); aot_gpr_4 = (0u | 5u); aot_gpr_5 = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x0889C940u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0079_entry, 79u, 280u, 0x08941D04u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889C940u) goto L_0889C940; AOT_REGCACHE_SYNC_OUT(); return; L_0889C940: aot_gpr_4 = (0u | 6u); aot_gpr_5 = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x0889C950u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0079_entry, 79u, 280u, 0x08941D04u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889C950u) goto L_0889C950; AOT_REGCACHE_SYNC_OUT(); return; L_0889C950: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(482)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(482)))))); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[19]); aot_gpr_4 = (aot_gpr_4 | 64u); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(482), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(482), static_cast(aot_gpr_4)); { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { @@ -2390,7 +2391,7 @@ L_0889C950: goto L_0889C968; } L_0889C968: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 14u); aot_gpr_4 = (aot_gpr_4 ^ 8u); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); @@ -2403,18 +2404,18 @@ L_0889C968: goto L_0889C984; } L_0889C984: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(92))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(92))); aot_gpr_5 = (aot_gpr_4 + static_cast(32)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); jump_target = aot_gpr_5; aot_gpr_31 = (0x0889C99Cu); - aot_gpr_4 = (aot_gpr_17 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[17] + aot_gpr_4); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889C99Cu) goto L_0889C99C; AOT_REGCACHE_SYNC_OUT(); return; L_0889C99C: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_0889C9F8; @@ -2422,7 +2423,7 @@ L_0889C99C: goto L_0889C9A4; } L_0889C9A4: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(86)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(86)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(104))); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(138))); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; @@ -2469,24 +2470,24 @@ L_0889C9E0: goto L_0889C9E8; } L_0889C9E8: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(482)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(482)))))); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[19]); aot_gpr_4 = (aot_gpr_4 | 64u); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(482), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(482), static_cast(aot_gpr_4)); goto L_0889C9F8; L_0889C9F8: aot_gpr_4 = (0u | 0u); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(72))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(72))); aot_gpr_5 = (aot_gpr_5 & 2048u); { const bool branch_taken = aot_gpr_5 != 0u; - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (branch_taken) { goto L_0889CA1C; } goto L_0889CA0C; } L_0889CA0C: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(76))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(76))); aot_gpr_5 = (aot_gpr_5 & 2048u); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_4 = (aot_gpr_4 & 255u); @@ -2496,7 +2497,7 @@ L_0889CA0C: goto L_0889CA1C; } L_0889CA1C: - aot_gpr_4 = (ctx.gpr[6] | 0u); + aot_gpr_4 = (aot_gpr_6 | 0u); aot_gpr_4 = (aot_gpr_4 & 255u); goto L_0889CA24; L_0889CA24: @@ -2526,7 +2527,7 @@ L_0889CA54: aot_gpr_4 = (aot_gpr_4 | 32768u); aot_fpr_13 = std::bit_cast(aot_gpr_4); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0889CA70u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0009_entry, 9u, 482u, 0x0882BFC8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889CA70u) goto L_0889CA70; @@ -2540,26 +2541,26 @@ L_0889CA70: goto L_0889CA78; } L_0889CA78: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(72))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(72))); aot_gpr_4 = (aot_gpr_5 & aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(72), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(72), aot_gpr_4); aot_gpr_31 = (0x0889CA8Cu); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 463u, 0x08A66048u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889CA8Cu) goto L_0889CA8C; AOT_REGCACHE_SYNC_OUT(); return; L_0889CA8C: aot_gpr_4 = (0u | 0u); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(72))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(72))); aot_gpr_5 = (aot_gpr_5 & 2048u); { const bool branch_taken = aot_gpr_5 != 0u; - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (branch_taken) { goto L_0889CAB0; } goto L_0889CAA0; } L_0889CAA0: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(76))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(76))); aot_gpr_5 = (aot_gpr_5 & 2048u); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_4 = (aot_gpr_4 & 255u); @@ -2569,7 +2570,7 @@ L_0889CAA0: goto L_0889CAB0; } L_0889CAB0: - aot_gpr_4 = (ctx.gpr[6] | 0u); + aot_gpr_4 = (aot_gpr_6 | 0u); aot_gpr_4 = (aot_gpr_4 & 255u); goto L_0889CAB8; L_0889CAB8: @@ -2609,7 +2610,7 @@ L_0889CB04: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(260))); aot_gpr_4 = (17583u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(208))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(208))); { const float fs = aot_fpr_12; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = aot_fpr_12 / aot_fpr_13; { const float fs = aot_fpr_12; const float ft = aot_fpr_20; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } @@ -2650,7 +2651,7 @@ L_0889CB54: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889CB5Cu) goto L_0889CB5C; AOT_REGCACHE_SYNC_OUT(); return; L_0889CB5C: - { const bool branch_taken = aot_gpr_17 != ctx.gpr[2]; + { const bool branch_taken = ctx.gpr[17] != aot_gpr_2; // nop if (branch_taken) { goto L_0889CB80; @@ -2678,11 +2679,11 @@ L_0889CB80: aot_fpr_14 = std::bit_cast(aot_run_words[2]); } aot_gpr_31 = (0x0889CB94u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 600u, 0x08A66CD8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889CB94u) goto L_0889CB94; AOT_REGCACHE_SYNC_OUT(); return; L_0889CB94: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 8192u); aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); @@ -2697,7 +2698,7 @@ L_0889CBAC: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(86)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(86)))))); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); @@ -2713,7 +2714,7 @@ L_0889CBAC: } goto L_0889CBE8; L_0889CBE8: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(86)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(86)))))); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); @@ -2737,14 +2738,14 @@ L_0889CC14: aot_fpr_13 = std::bit_cast(aot_run_words[1]); aot_fpr_14 = std::bit_cast(aot_run_words[2]); } - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); ctx.fpr[15] = std::bit_cast(std::bit_cast(ctx.fpr[22])); aot_gpr_31 = (0x0889CC40u); ctx.fpr[16] = std::bit_cast(std::bit_cast(ctx.fpr[22])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 611u, 0x08A66E08u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889CC40u) goto L_0889CC40; AOT_REGCACHE_SYNC_OUT(); return; L_0889CC40: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 14u); aot_gpr_4 = (aot_gpr_4 ^ 4u); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); @@ -2757,7 +2758,7 @@ L_0889CC40: goto L_0889CC5C; } L_0889CC5C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 496u); aot_gpr_5 = (0u | 32u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; @@ -2769,12 +2770,12 @@ L_0889CC5C: } L_0889CC70: aot_gpr_4 = (0u + static_cast(-497)); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(72))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(72))); aot_gpr_4 = (aot_gpr_5 & aot_gpr_4); aot_gpr_4 = (aot_gpr_4 | 48u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(72), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(72), aot_gpr_4); aot_gpr_31 = (0x0889CC8Cu); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0207_entry, 207u, 365u, 0x08B41608u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889CC8Cu) goto L_0889CC8C; AOT_REGCACHE_SYNC_OUT(); return; L_0889CC8C: @@ -2801,11 +2802,11 @@ L_0889CCA0: { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[22])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(160), aot_run_words); } - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[20] | 0u); ctx.gpr[7] = (aot_gpr_29 + static_cast(160)); aot_gpr_31 = (0x0889CCD8u); - ctx.gpr[6] = (ctx.gpr[30] | 0u); + aot_gpr_6 = (ctx.gpr[30] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0192_entry, 192u, 71u, 0x08B0452Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889CCD8u) goto L_0889CCD8; AOT_REGCACHE_SYNC_OUT(); return; L_0889CCD8: @@ -2818,7 +2819,7 @@ L_0889CCD8: goto L_0889CCE4; } L_0889CCE4: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(666))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(666))); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_4 = (0u | 10u); if (branch_taken) { @@ -2827,10 +2828,10 @@ L_0889CCE4: goto L_0889CCF0; } L_0889CCF0: - aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(666))); + aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(666))); { const std::int32_t dividend = static_cast(aot_gpr_5); const std::int32_t divisor = static_cast(aot_gpr_4); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } aot_gpr_4 = (ctx.lo); - aot_mem.aot_direct_store16(aot_gpr_17 + static_cast(666), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store16(ctx.gpr[17] + static_cast(666), static_cast(aot_gpr_4)); goto L_0889CD00; L_0889CD00: { const bool branch_taken = 0u == 0u; @@ -2841,7 +2842,7 @@ L_0889CD00: goto L_0889CD08; } L_0889CD08: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 14u); aot_gpr_4 = (aot_gpr_4 ^ 6u); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); @@ -2854,13 +2855,13 @@ L_0889CD08: goto L_0889CD24; } L_0889CD24: - aot_gpr_16 = (aot_gpr_17 | 0u); + ctx.gpr[16] = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0889CD30u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889CD30u) goto L_0889CD30; AOT_REGCACHE_SYNC_OUT(); return; L_0889CD30: - { const bool branch_taken = aot_gpr_16 != ctx.gpr[2]; + { const bool branch_taken = ctx.gpr[16] != aot_gpr_2; // nop if (branch_taken) { goto L_0889CD5C; @@ -2879,7 +2880,7 @@ L_0889CD38: goto L_0889CD4C; } L_0889CD4C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2228))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2228))); aot_gpr_5 = (0u | 12u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -2897,12 +2898,12 @@ L_0889CD5C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(180), std::bit_cast(aot_fpr_13)); aot_gpr_5 = (aot_gpr_29 + static_cast(176)); aot_gpr_31 = (0x0889CD80u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 618u, 0x08906DC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889CD80u) goto L_0889CD80; AOT_REGCACHE_SYNC_OUT(); return; L_0889CD80: - ctx.gpr[19] = (ctx.gpr[2] | 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2120))); + ctx.gpr[19] = (aot_gpr_2 | 0u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2120))); { const bool branch_taken = aot_gpr_4 == 0u; ctx.gpr[18] = (ctx.gpr[19] & 255u); if (branch_taken) { @@ -2911,7 +2912,7 @@ L_0889CD80: goto L_0889CD90; } L_0889CD90: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2120))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2120))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 14u); aot_gpr_4 = (aot_gpr_4 ^ 4u); @@ -2925,7 +2926,7 @@ L_0889CD90: goto L_0889CDB0; } L_0889CDB0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2120))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2120))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 496u); aot_gpr_4 = (aot_gpr_4 >> 4u); @@ -2938,11 +2939,11 @@ L_0889CDB0: goto L_0889CDCC; } L_0889CDCC: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (17530u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_5); aot_gpr_5 = (ctx.gpr[20] | 0u); - ctx.gpr[6] = (ctx.gpr[30] | 0u); + aot_gpr_6 = (ctx.gpr[30] | 0u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x0889CDF0u); @@ -2958,7 +2959,7 @@ L_0889CDF0: goto L_0889CDF8; } L_0889CDF8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2120))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2120))); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_4 = (0u | 1u); if (branch_taken) { @@ -2968,13 +2969,13 @@ L_0889CDF8: } L_0889CE04: aot_gpr_4 = (0u + static_cast(-2)); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(456))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(456))); aot_gpr_4 = (aot_gpr_5 & aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(456), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(456), aot_gpr_4); aot_gpr_4 = (16384u << 16u); ctx.fpr[24] = std::bit_cast(aot_gpr_4); ctx.fpr[28] = std::bit_cast(std::bit_cast(ctx.fpr[22])); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[28])); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[28])); aot_gpr_31 = (0x0889CE34u); @@ -3004,9 +3005,9 @@ L_0889CE50: aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_13))); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[20] | 0u); - ctx.gpr[6] = (ctx.gpr[30] | 0u); + aot_gpr_6 = (ctx.gpr[30] | 0u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x0889CE80u); @@ -3014,7 +3015,7 @@ L_0889CE50: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0057_entry, 57u, 692u, 0x088EB674u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889CE80u) goto L_0889CE80; AOT_REGCACHE_SYNC_OUT(); return; L_0889CE80: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(2228))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(2228))); aot_gpr_5 = (0u | 57u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -3024,8 +3025,8 @@ L_0889CE80: goto L_0889CE90; } L_0889CE90: - ctx.gpr[6] = (ctx.gpr[19] + static_cast(28)); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_6 = (ctx.gpr[19] + static_cast(28)); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (0u | 2000u); aot_gpr_31 = (0x0889CEA4u); ctx.gpr[7] = (0u | 0u); @@ -3053,7 +3054,7 @@ L_0889CEAC: goto L_0889CEC8; } L_0889CEC8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1360))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1360))); aot_gpr_5 = (0u | 6u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -3065,7 +3066,7 @@ L_0889CEC8: L_0889CED8: aot_gpr_4 = (0u | 12u); aot_gpr_5 = (0u | 1u); - ctx.gpr[6] = (aot_gpr_17 | 0u); + aot_gpr_6 = (ctx.gpr[17] | 0u); ctx.gpr[7] = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x0889CEF0u); ctx.gpr[8] = (0u | 10000u); @@ -3082,14 +3083,14 @@ L_0889CEF0: L_0889CEF8: aot_gpr_4 = (0u | 11u); aot_gpr_5 = (0u | 1u); - ctx.gpr[6] = (aot_gpr_17 | 0u); + aot_gpr_6 = (ctx.gpr[17] | 0u); ctx.gpr[7] = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x0889CF10u); ctx.gpr[8] = (0u | 10000u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0095_entry, 95u, 24u, 0x0898019Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889CF10u) goto L_0889CF10; AOT_REGCACHE_SYNC_OUT(); return; L_0889CF10: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0889CF1Cu); aot_gpr_5 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 119u, 0x089B4624u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889CF1Cu) goto L_0889CF1C; @@ -3103,7 +3104,7 @@ L_0889CF1C: goto L_0889CF24; } L_0889CF24: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 14u); aot_gpr_4 = (aot_gpr_4 ^ 8u); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); @@ -3118,7 +3119,7 @@ L_0889CF24: L_0889CF40: aot_fpr_12 = std::bit_cast(aot_gpr_4); { const float fs = aot_fpr_20; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0889CF54u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0009_entry, 9u, 482u, 0x0882BFC8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889CF54u) goto L_0889CF54; @@ -3146,8 +3147,8 @@ L_0889CF70: ctx.fpr[26] = std::bit_cast(aot_run_words[3]); ctx.fpr[28] = std::bit_cast(aot_run_words[4]); ctx.fpr[30] = std::bit_cast(aot_run_words[5]); - aot_gpr_16 = aot_run_words[6]; - aot_gpr_17 = aot_run_words[7]; + ctx.gpr[16] = aot_run_words[6]; + ctx.gpr[17] = aot_run_words[7]; ctx.gpr[18] = aot_run_words[8]; ctx.gpr[19] = aot_run_words[9]; ctx.gpr[20] = aot_run_words[10]; @@ -3172,19 +3173,19 @@ L_0889CFB8: ctx.gpr[7] = (ctx.gpr[7] + static_cast(6516)); aot_gpr_5 = (0u | 1u); aot_gpr_31 = (0x0889CFDCu); - ctx.gpr[6] = (0u | 352u); + aot_gpr_6 = (0u | 352u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 158u, 0x08B60C7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889CFDCu) goto L_0889CFDC; AOT_REGCACHE_SYNC_OUT(); return; L_0889CFDC: aot_gpr_31 = (0x0889CFE4u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-25440)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889CFE4u) goto L_0889CFE4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889CFE4u) goto L_0889CFE4; AOT_REGCACHE_SYNC_OUT(); return; L_0889CFE4: aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7636), 0u); aot_gpr_31 = (0x0889CFF0u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-25428)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889CFF0u) goto L_0889CFF0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889CFF0u) goto L_0889CFF0; AOT_REGCACHE_SYNC_OUT(); return; L_0889CFF0: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -3196,23 +3197,23 @@ L_0889CFF0: AOT_REGCACHE_SYNC_OUT(); return; L_0889CFFC: aot_gpr_29 = (aot_gpr_29 + static_cast(-112)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(100), aot_gpr_17); - aot_gpr_17 = (aot_gpr_5 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(96), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(100), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_5 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(96), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(104), ctx.gpr[18]); - aot_gpr_16 = (ctx.gpr[6] | 0u); + ctx.gpr[16] = (aot_gpr_6 | 0u); ctx.gpr[18] = (aot_gpr_4 | 0u); aot_gpr_5 = (0u | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(108), aot_gpr_31); aot_gpr_31 = (0x0889D028u); - ctx.gpr[6] = (aot_gpr_29 | 0u); + aot_gpr_6 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0120_entry, 120u, 547u, 0x089E69E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889D028u) goto L_0889D028; AOT_REGCACHE_SYNC_OUT(); return; L_0889D028: aot_gpr_5 = (ctx.gpr[28] + static_cast(-25416)); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x0889D038u); - ctx.gpr[6] = (aot_gpr_29 | 0u); + aot_gpr_6 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0120_entry, 120u, 622u, 0x089E6F54u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889D038u) goto L_0889D038; AOT_REGCACHE_SYNC_OUT(); return; L_0889D038: @@ -3222,7 +3223,7 @@ L_0889D038: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 56u, 0x08B582CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889D044u) goto L_0889D044; AOT_REGCACHE_SYNC_OUT(); return; L_0889D044: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); if (branch_taken) { goto L_0889D058; @@ -3230,8 +3231,8 @@ L_0889D044: goto L_0889D04C; } L_0889D04C: - aot_gpr_17 = (aot_gpr_17 + static_cast(-1)); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (ctx.gpr[17] + static_cast(-1)); + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_0889D068; @@ -3255,10 +3256,10 @@ L_0889D060: goto L_0889D068; } L_0889D068: - ctx.gpr[6] = (aot_gpr_4 | 0u); + aot_gpr_6 = (aot_gpr_4 | 0u); aot_gpr_5 = (2232u << 16u); aot_gpr_4 = (ctx.gpr[18] | 0u); - ctx.gpr[7] = (aot_gpr_16 | 0u); + ctx.gpr[7] = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x0889D080u); aot_gpr_5 = (aot_gpr_5 + static_cast(-22816)); goto L_0889D1FC; @@ -3278,16 +3279,16 @@ L_0889D090: ctx.gpr[7] = (aot_gpr_4 | 0u); aot_gpr_5 = (2232u << 16u); aot_gpr_4 = (ctx.gpr[18] | 0u); - ctx.gpr[6] = (aot_gpr_17 | 0u); - ctx.gpr[8] = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[17] | 0u); + ctx.gpr[8] = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x0889D0ACu); aot_gpr_5 = (aot_gpr_5 + static_cast(-22784)); goto L_0889D1FC; L_0889D0AC: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(96), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -3299,44 +3300,44 @@ L_0889D0AC: AOT_REGCACHE_SYNC_OUT(); return; L_0889D0C4: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (ctx.gpr[6] | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_6 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); - ctx.gpr[6] = (2232u << 16u); - aot_gpr_16 = (aot_gpr_5 | 0u); + aot_gpr_6 = (2232u << 16u); + ctx.gpr[16] = (aot_gpr_5 | 0u); ctx.gpr[18] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[19]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); aot_gpr_31 = (0x0889D0F4u); - ctx.gpr[19] = (ctx.gpr[6] + static_cast(-22752)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889D0F4u) goto L_0889D0F4; + ctx.gpr[19] = (aot_gpr_6 + static_cast(-22752)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806888, 0u, 324u, 0x08806888u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889D0F4u) goto L_0889D0F4; AOT_REGCACHE_SYNC_OUT(); return; L_0889D0F4: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x0889D100u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 327u, 0x088068B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889D100u) goto L_0889D100; AOT_REGCACHE_SYNC_OUT(); return; L_0889D100: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); - ctx.gpr[6] = (aot_gpr_17 | 0u); + aot_gpr_6 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0889D114u); - ctx.gpr[7] = (ctx.gpr[2] | 0u); + ctx.gpr[7] = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 440u, 0x08806F24u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889D114u) goto L_0889D114; AOT_REGCACHE_SYNC_OUT(); return; L_0889D114: aot_gpr_4 = (ctx.gpr[18] | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x0889D124u); - ctx.gpr[6] = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); goto L_0889CFFC; L_0889D124: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; @@ -3349,26 +3350,26 @@ L_0889D124: AOT_REGCACHE_SYNC_OUT(); return; L_0889D140: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_16 = (aot_gpr_5 | 0u); - aot_gpr_17 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[16] = (aot_gpr_5 | 0u); + ctx.gpr[17] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x0889D160u); - aot_gpr_5 = (ctx.gpr[6] | 0u); + aot_gpr_5 = (aot_gpr_6 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 327u, 0x088068B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889D160u) goto L_0889D160; AOT_REGCACHE_SYNC_OUT(); return; L_0889D160: - aot_gpr_4 = (aot_gpr_17 | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x0889D170u); - ctx.gpr[6] = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); goto L_0889D0C4; L_0889D170: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -3379,15 +3380,15 @@ L_0889D170: AOT_REGCACHE_SYNC_OUT(); return; L_0889D184: aot_gpr_29 = (aot_gpr_29 + static_cast(-112)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(96), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(96), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(100), aot_gpr_31); aot_gpr_31 = (0x0889D19Cu); - ctx.gpr[6] = (aot_gpr_29 | 0u); + aot_gpr_6 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0120_entry, 120u, 547u, 0x089E69E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889D19Cu) goto L_0889D19C; AOT_REGCACHE_SYNC_OUT(); return; L_0889D19C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_0889D1DC; @@ -3396,9 +3397,9 @@ L_0889D19C: } L_0889D1A4: aot_gpr_5 = (ctx.gpr[28] + static_cast(-25400)); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x0889D1B4u); - ctx.gpr[6] = (aot_gpr_29 | 0u); + aot_gpr_6 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0120_entry, 120u, 622u, 0x089E6F54u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889D1B4u) goto L_0889D1B4; AOT_REGCACHE_SYNC_OUT(); return; L_0889D1B4: @@ -3413,9 +3414,9 @@ L_0889D1B4: L_0889D1C0: ctx.gpr[7] = (aot_gpr_4 | 0u); aot_gpr_5 = (ctx.gpr[28] + static_cast(-25396)); - ctx.gpr[6] = (aot_gpr_29 + static_cast(32)); + aot_gpr_6 = (aot_gpr_29 + static_cast(32)); aot_gpr_31 = (0x0889D1D4u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 440u, 0x08806F24u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889D1D4u) goto L_0889D1D4; AOT_REGCACHE_SYNC_OUT(); return; L_0889D1D4: @@ -3428,13 +3429,13 @@ L_0889D1D4: } L_0889D1DC: aot_gpr_5 = (ctx.gpr[28] + static_cast(-25388)); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x0889D1ECu); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 426u, 0x08806DE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889D1ECu) goto L_0889D1EC; AOT_REGCACHE_SYNC_OUT(); return; L_0889D1EC: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(96))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(96))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(100))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(112)); @@ -3444,9 +3445,9 @@ L_0889D1EC: AOT_REGCACHE_SYNC_OUT(); return; L_0889D1FC: aot_gpr_29 = (aot_gpr_29 + static_cast(-64)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), ctx.gpr[6]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), aot_gpr_6); aot_gpr_4 = (0u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), ctx.gpr[7]); aot_gpr_4 = (aot_gpr_4 + static_cast(32)); @@ -3457,37 +3458,37 @@ L_0889D1FC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), ctx.gpr[10]); ctx.gpr[18] = (aot_gpr_4 + static_cast(8)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_17); - aot_gpr_17 = (aot_gpr_5 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_5 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(60), ctx.gpr[11]); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); aot_gpr_31 = (0x0889D250u); aot_gpr_5 = (0u | 1u); goto L_0889D184; L_0889D250: - aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0889D260u); - ctx.gpr[6] = (ctx.gpr[18] | 0u); + aot_gpr_6 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 436u, 0x08806EC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889D260u) goto L_0889D260; AOT_REGCACHE_SYNC_OUT(); return; L_0889D260: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x0889D26Cu); aot_gpr_5 = (0u | 2u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 546u, 0x08807904u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889D26Cu) goto L_0889D26C; AOT_REGCACHE_SYNC_OUT(); return; L_0889D26C: aot_gpr_31 = (0x0889D274u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 538u, 0x08807890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889D274u) goto L_0889D274; AOT_REGCACHE_SYNC_OUT(); return; L_0889D274: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(4), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -3499,28 +3500,28 @@ L_0889D274: AOT_REGCACHE_SYNC_OUT(); return; L_0889D28C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_5 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_5 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x0889D2A8u); - aot_gpr_17 = (aot_gpr_4 | 0u); + ctx.gpr[17] = (aot_gpr_4 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 430u, 0x08806E68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889D2A8u) goto L_0889D2A8; AOT_REGCACHE_SYNC_OUT(); return; L_0889D2A8: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0889D2B4u); aot_gpr_5 = (0u + static_cast(-10000)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 456u, 0x08807148u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889D2B4u) goto L_0889D2B4; AOT_REGCACHE_SYNC_OUT(); return; L_0889D2B4: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0889D2C0u); aot_gpr_5 = (0u + static_cast(-1)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889D2C0u) goto L_0889D2C0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806888, 0u, 324u, 0x08806888u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889D2C0u) goto L_0889D2C0; AOT_REGCACHE_SYNC_OUT(); return; L_0889D2C0: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_0889D2D0; @@ -3529,67 +3530,67 @@ L_0889D2C0: } L_0889D2C8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_0889D330; } goto L_0889D2D0; } L_0889D2D0: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0889D2DCu); aot_gpr_5 = (0u + static_cast(-2)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889D2DCu) goto L_0889D2DC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806654, 0u, 303u, 0x08806654u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889D2DCu) goto L_0889D2DC; AOT_REGCACHE_SYNC_OUT(); return; L_0889D2DC: aot_gpr_31 = (0x0889D2E4u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 462u, 0x08807220u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889D2E4u) goto L_0889D2E4; AOT_REGCACHE_SYNC_OUT(); return; L_0889D2E4: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0889D2F0u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 430u, 0x08806E68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889D2F0u) goto L_0889D2F0; AOT_REGCACHE_SYNC_OUT(); return; L_0889D2F0: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0889D2FCu); aot_gpr_5 = (0u + static_cast(-2)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889D2FCu) goto L_0889D2FC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880682C, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[16], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889D2FCu) goto L_0889D2FC; AOT_REGCACHE_SYNC_OUT(); return; L_0889D2FC: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0889D308u); aot_gpr_5 = (0u + static_cast(-10000)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 486u, 0x08807414u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889D308u) goto L_0889D308; AOT_REGCACHE_SYNC_OUT(); return; L_0889D308: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0889D314u); aot_gpr_5 = (0u + static_cast(-1)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889D314u) goto L_0889D314; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880682C, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[16], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889D314u) goto L_0889D314; AOT_REGCACHE_SYNC_OUT(); return; L_0889D314: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0889D320u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 430u, 0x08806E68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889D320u) goto L_0889D320; AOT_REGCACHE_SYNC_OUT(); return; L_0889D320: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0889D32Cu); aot_gpr_5 = (0u + static_cast(-10000)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 486u, 0x08807414u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889D32Cu) goto L_0889D32C; AOT_REGCACHE_SYNC_OUT(); return; L_0889D32C: - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); goto L_0889D330; L_0889D330: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -3600,20 +3601,20 @@ L_0889D330: AOT_REGCACHE_SYNC_OUT(); return; L_0889D344: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x0889D358u); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 430u, 0x08806E68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889D358u) goto L_0889D358; AOT_REGCACHE_SYNC_OUT(); return; L_0889D358: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x0889D364u); aot_gpr_5 = (0u + static_cast(-10000)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 456u, 0x08807148u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889D364u) goto L_0889D364; AOT_REGCACHE_SYNC_OUT(); return; L_0889D364: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -3623,10 +3624,10 @@ L_0889D364: AOT_REGCACHE_SYNC_OUT(); return; L_0889D374: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_5 | 0u); - aot_gpr_16 = (ctx.gpr[6] | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_6 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); aot_gpr_31 = (0x0889D398u); @@ -3634,7 +3635,7 @@ L_0889D374: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 466u, 0x08807294u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889D398u) goto L_0889D398; AOT_REGCACHE_SYNC_OUT(); return; L_0889D398: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_0889D3E8; @@ -3654,7 +3655,7 @@ L_0889D3AC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 375u, 0x08806B2Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889D3B8u) goto L_0889D3B8; AOT_REGCACHE_SYNC_OUT(); return; L_0889D3B8: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -3664,11 +3665,11 @@ L_0889D3B8: } L_0889D3C4: aot_gpr_31 = (0x0889D3CCu); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 56u, 0x08B582CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889D3CCu) goto L_0889D3CC; AOT_REGCACHE_SYNC_OUT(); return; L_0889D3CC: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_0889D3F0; @@ -3679,11 +3680,11 @@ L_0889D3D4: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x0889D3E0u); aot_gpr_5 = (0u + static_cast(-2)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889D3E0u) goto L_0889D3E0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806654, 0u, 303u, 0x08806654u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889D3E0u) goto L_0889D3E0; AOT_REGCACHE_SYNC_OUT(); return; L_0889D3E0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_0889D408; } @@ -3691,7 +3692,7 @@ L_0889D3E0: } L_0889D3E8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_0889D408; } @@ -3701,19 +3702,19 @@ L_0889D3F0: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x0889D3FCu); aot_gpr_5 = (0u + static_cast(-2)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889D3FCu) goto L_0889D3FC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806654, 0u, 303u, 0x08806654u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889D3FCu) goto L_0889D3FC; AOT_REGCACHE_SYNC_OUT(); return; L_0889D3FC: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x0889D408u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 397u, 0x08806C5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889D408u) goto L_0889D408; AOT_REGCACHE_SYNC_OUT(); return; L_0889D408: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -3725,16 +3726,16 @@ L_0889D408: AOT_REGCACHE_SYNC_OUT(); return; L_0889D420: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x0889D43Cu); - aot_gpr_16 = (ctx.gpr[6] | 0u); + ctx.gpr[16] = (aot_gpr_6 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 286u, 0x088064C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889D43Cu) goto L_0889D43C; AOT_REGCACHE_SYNC_OUT(); return; L_0889D43C: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_0889D458; @@ -3743,16 +3744,16 @@ L_0889D43C: } L_0889D444: aot_gpr_5 = (2232u << 16u); - aot_gpr_4 = (aot_gpr_17 | 0u); - ctx.gpr[6] = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x0889D458u); aot_gpr_5 = (aot_gpr_5 + static_cast(-22732)); goto L_0889D1FC; L_0889D458: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -3763,18 +3764,18 @@ L_0889D458: AOT_REGCACHE_SYNC_OUT(); return; L_0889D46C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_5 | 0u); - aot_gpr_16 = (ctx.gpr[6] | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_6 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); aot_gpr_31 = (0x0889D490u); ctx.gpr[18] = (aot_gpr_4 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889D490u) goto L_0889D490; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806888, 0u, 324u, 0x08806888u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889D490u) goto L_0889D490; AOT_REGCACHE_SYNC_OUT(); return; L_0889D490: - { const bool branch_taken = ctx.gpr[2] == aot_gpr_16; + { const bool branch_taken = aot_gpr_2 == ctx.gpr[16]; // nop if (branch_taken) { goto L_0889D4A8; @@ -3783,15 +3784,15 @@ L_0889D490: } L_0889D498: aot_gpr_4 = (ctx.gpr[18] | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0889D4A8u); - ctx.gpr[6] = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); goto L_0889D140; L_0889D4A8: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -3803,17 +3804,17 @@ L_0889D4A8: AOT_REGCACHE_SYNC_OUT(); return; L_0889D4C0: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_5 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_5 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x0889D4DCu); - aot_gpr_17 = (aot_gpr_4 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889D4DCu) goto L_0889D4DC; + ctx.gpr[17] = (aot_gpr_4 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806888, 0u, 324u, 0x08806888u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889D4DCu) goto L_0889D4DC; AOT_REGCACHE_SYNC_OUT(); return; L_0889D4DC: aot_gpr_4 = (0u + static_cast(-1)); - { const bool branch_taken = ctx.gpr[2] != aot_gpr_4; + { const bool branch_taken = aot_gpr_2 != aot_gpr_4; // nop if (branch_taken) { goto L_0889D4F8; @@ -3821,16 +3822,16 @@ L_0889D4DC: goto L_0889D4E8; } L_0889D4E8: - ctx.gpr[6] = (ctx.gpr[28] + static_cast(-25384)); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_6 = (ctx.gpr[28] + static_cast(-25384)); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0889D4F8u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); goto L_0889CFFC; L_0889D4F8: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -3841,10 +3842,10 @@ L_0889D4F8: AOT_REGCACHE_SYNC_OUT(); return; L_0889D50C: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_5 | 0u); - aot_gpr_16 = (ctx.gpr[6] | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_6 | 0u); { const std::uint32_t aot_run_words[3]{ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(8), aot_run_words); } aot_gpr_31 = (0x0889D534u); @@ -3852,7 +3853,7 @@ L_0889D50C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 375u, 0x08806B2Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889D534u) goto L_0889D534; AOT_REGCACHE_SYNC_OUT(); return; L_0889D534: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[19] != 0u; // nop if (branch_taken) { @@ -3862,12 +3863,12 @@ L_0889D534: } L_0889D540: aot_gpr_4 = (ctx.gpr[18] | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0889D550u); - ctx.gpr[6] = (0u | 4u); + aot_gpr_6 = (0u | 4u); goto L_0889D140; L_0889D550: - { const bool branch_taken = aot_gpr_16 == 0u; + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_0889D568; @@ -3877,18 +3878,18 @@ L_0889D550: L_0889D558: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x0889D564u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 387u, 0x08806BD8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889D564u) goto L_0889D564; AOT_REGCACHE_SYNC_OUT(); return; L_0889D564: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), aot_gpr_2); goto L_0889D568; L_0889D568: - ctx.gpr[2] = (ctx.gpr[19] | 0u); + aot_gpr_2 = (ctx.gpr[19] | 0u); { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; @@ -3901,19 +3902,19 @@ L_0889D568: AOT_REGCACHE_SYNC_OUT(); return; L_0889D588: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, ctx.gpr[18]}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - aot_gpr_16 = (ctx.gpr[7] | 0u); + ctx.gpr[16] = (ctx.gpr[7] | 0u); ctx.gpr[18] = (aot_gpr_5 | 0u); - aot_gpr_17 = (ctx.gpr[6] | 0u); + ctx.gpr[17] = (aot_gpr_6 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[19]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); aot_gpr_31 = (0x0889D5B4u); ctx.gpr[19] = (aot_gpr_4 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889D5B4u) goto L_0889D5B4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806888, 0u, 324u, 0x08806888u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889D5B4u) goto L_0889D5B4; AOT_REGCACHE_SYNC_OUT(); return; L_0889D5B4: - { const bool branch_taken = static_cast(ctx.gpr[2]) > 0; + { const bool branch_taken = static_cast(aot_gpr_2) > 0; // nop if (branch_taken) { goto L_0889D5E4; @@ -3921,7 +3922,7 @@ L_0889D5B4: goto L_0889D5BC; } L_0889D5BC: - { const bool branch_taken = aot_gpr_16 == 0u; + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_0889D5DC; @@ -3929,7 +3930,7 @@ L_0889D5BC: goto L_0889D5C4; } L_0889D5C4: - { const bool branch_taken = aot_gpr_17 == 0u; + { const bool branch_taken = ctx.gpr[17] == 0u; aot_gpr_4 = (0u | 0u); if (branch_taken) { goto L_0889D5D8; @@ -3938,18 +3939,18 @@ L_0889D5C4: } L_0889D5CC: aot_gpr_31 = (0x0889D5D4u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889D5D4u) goto L_0889D5D4; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889D5D4u) goto L_0889D5D4; AOT_REGCACHE_SYNC_OUT(); return; L_0889D5D4: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); goto L_0889D5D8; L_0889D5D8: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), aot_gpr_4); goto L_0889D5DC; L_0889D5DC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_gpr_17 | 0u); + aot_gpr_2 = (ctx.gpr[17] | 0u); if (branch_taken) { goto L_0889D5F4; } @@ -3959,13 +3960,13 @@ L_0889D5E4: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x0889D5F4u); - ctx.gpr[6] = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); goto L_0889D50C; L_0889D5F4: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; @@ -3978,14 +3979,14 @@ L_0889D5F4: AOT_REGCACHE_SYNC_OUT(); return; L_0889D610: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_16); - aot_gpr_16 = (aot_gpr_5 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_5 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), std::bit_cast(aot_fpr_20)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); aot_gpr_31 = (0x0889D630u); - aot_gpr_17 = (aot_gpr_4 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889D630u) goto L_0889D630; + ctx.gpr[17] = (aot_gpr_4 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889D630u) goto L_0889D630; AOT_REGCACHE_SYNC_OUT(); return; L_0889D630: aot_fpr_20 = std::bit_cast(std::bit_cast(ctx.fpr[0])); @@ -3993,7 +3994,7 @@ L_0889D630: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_20) || std::isnan(aot_fpr_12)) && aot_fpr_20 == aot_fpr_12)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (branch_taken) { goto L_0889D668; } @@ -4001,11 +4002,11 @@ L_0889D630: } L_0889D648: aot_gpr_31 = (0x0889D650u); - aot_gpr_5 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889D650u) goto L_0889D650; + aot_gpr_5 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880692C, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[16], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889D650u) goto L_0889D650; AOT_REGCACHE_SYNC_OUT(); return; L_0889D650: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_0889D668; @@ -4013,18 +4014,18 @@ L_0889D650: goto L_0889D658; } L_0889D658: - aot_gpr_4 = (aot_gpr_17 | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x0889D668u); - ctx.gpr[6] = (0u | 3u); + aot_gpr_6 = (0u | 3u); goto L_0889D140; L_0889D668: ctx.fpr[0] = std::bit_cast(std::bit_cast(aot_fpr_20)); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); - aot_gpr_16 = aot_run_words[1]; - aot_gpr_17 = aot_run_words[2]; + ctx.gpr[16] = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } jump_target = aot_gpr_31; @@ -4036,17 +4037,17 @@ L_0889D668: L_0889D684: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), std::bit_cast(aot_fpr_20)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[16]); aot_fpr_20 = std::bit_cast(std::bit_cast(aot_fpr_12)); - aot_gpr_16 = (aot_gpr_5 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_17); + ctx.gpr[16] = (aot_gpr_5 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); aot_gpr_31 = (0x0889D6A8u); - aot_gpr_17 = (aot_gpr_4 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889D6A8u) goto L_0889D6A8; + ctx.gpr[17] = (aot_gpr_4 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806888, 0u, 324u, 0x08806888u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889D6A8u) goto L_0889D6A8; AOT_REGCACHE_SYNC_OUT(); return; L_0889D6A8: - { const bool branch_taken = static_cast(ctx.gpr[2]) > 0; + { const bool branch_taken = static_cast(aot_gpr_2) > 0; // nop if (branch_taken) { goto L_0889D6B8; @@ -4062,16 +4063,16 @@ L_0889D6B0: goto L_0889D6B8; } L_0889D6B8: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0889D6C4u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); goto L_0889D610; L_0889D6C4: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); - aot_gpr_16 = aot_run_words[1]; - aot_gpr_17 = aot_run_words[2]; + ctx.gpr[16] = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } jump_target = aot_gpr_31; @@ -4082,16 +4083,16 @@ L_0889D6C4: AOT_REGCACHE_SYNC_OUT(); return; L_0889D6DC: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x0889D6F8u); - aot_gpr_16 = (ctx.gpr[6] | 0u); + ctx.gpr[16] = (aot_gpr_6 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 466u, 0x08807294u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889D6F8u) goto L_0889D6F8; AOT_REGCACHE_SYNC_OUT(); return; L_0889D6F8: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_0889D740; @@ -4099,25 +4100,25 @@ L_0889D6F8: goto L_0889D700; } L_0889D700: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0889D70Cu); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 430u, 0x08806E68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889D70Cu) goto L_0889D70C; AOT_REGCACHE_SYNC_OUT(); return; L_0889D70C: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0889D718u); aot_gpr_5 = (0u + static_cast(-2)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 456u, 0x08807148u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889D718u) goto L_0889D718; AOT_REGCACHE_SYNC_OUT(); return; L_0889D718: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0889D724u); aot_gpr_5 = (0u + static_cast(-1)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889D724u) goto L_0889D724; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806888, 0u, 324u, 0x08806888u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889D724u) goto L_0889D724; AOT_REGCACHE_SYNC_OUT(); return; L_0889D724: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_0889D748; @@ -4125,14 +4126,14 @@ L_0889D724: goto L_0889D72C; } L_0889D72C: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0889D738u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889D738u) goto L_0889D738; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806654, 0u, 303u, 0x08806654u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889D738u) goto L_0889D738; AOT_REGCACHE_SYNC_OUT(); return; L_0889D738: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_0889D758; } @@ -4140,26 +4141,26 @@ L_0889D738: } L_0889D740: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_0889D758; } goto L_0889D748; } L_0889D748: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0889D754u); aot_gpr_5 = (0u + static_cast(-2)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 310u, 0x088066C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889D754u) goto L_0889D754; AOT_REGCACHE_SYNC_OUT(); return; L_0889D754: - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); goto L_0889D758; L_0889D758: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -4170,21 +4171,21 @@ L_0889D758: AOT_REGCACHE_SYNC_OUT(); return; L_0889D76C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); ctx.gpr[18] = (aot_gpr_4 | 0u); - aot_gpr_17 = (aot_gpr_5 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + ctx.gpr[17] = (aot_gpr_5 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); { const bool branch_taken = static_cast(aot_gpr_5) > 0; - aot_gpr_16 = (ctx.gpr[6] | 0u); + ctx.gpr[16] = (aot_gpr_6 | 0u); if (branch_taken) { goto L_0889D7B0; } goto L_0889D790; } L_0889D790: - aot_gpr_4 = (static_cast(aot_gpr_17) < -9999 ? 1u : 0u); + aot_gpr_4 = (static_cast(ctx.gpr[17]) < -9999 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -4195,12 +4196,12 @@ L_0889D790: L_0889D79C: aot_gpr_31 = (0x0889D7A4u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889D7A4u) goto L_0889D7A4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806634, 0u, 302u, 0x08806634u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889D7A4u) goto L_0889D7A4; AOT_REGCACHE_SYNC_OUT(); return; L_0889D7A4: - aot_gpr_17 = (ctx.gpr[2] + aot_gpr_17); + ctx.gpr[17] = (aot_gpr_2 + ctx.gpr[17]); { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); if (branch_taken) { goto L_0889D7B0; } @@ -4208,12 +4209,12 @@ L_0889D7A4: } L_0889D7B0: aot_gpr_4 = (ctx.gpr[18] | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0889D7C0u); - ctx.gpr[6] = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); goto L_0889D6DC; L_0889D7C0: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_0889D7D0; @@ -4222,7 +4223,7 @@ L_0889D7C0: } L_0889D7C8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_0889D7F4; } @@ -4231,25 +4232,25 @@ L_0889D7C8: L_0889D7D0: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x0889D7DCu); - aot_gpr_5 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889D7DCu) goto L_0889D7DC; + aot_gpr_5 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880682C, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[16], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889D7DCu) goto L_0889D7DC; AOT_REGCACHE_SYNC_OUT(); return; L_0889D7DC: aot_gpr_4 = (ctx.gpr[18] | 0u); - aot_gpr_16 = (0u | 1u); + ctx.gpr[16] = (0u | 1u); aot_gpr_5 = (0u | 1u); aot_gpr_31 = (0x0889D7F0u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 508u, 0x08807644u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889D7F0u) goto L_0889D7F0; AOT_REGCACHE_SYNC_OUT(); return; L_0889D7F0: - ctx.gpr[2] = (aot_gpr_16 | 0u); + aot_gpr_2 = (ctx.gpr[16] | 0u); goto L_0889D7F4; L_0889D7F4: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -4261,16 +4262,16 @@ L_0889D7F4: AOT_REGCACHE_SYNC_OUT(); return; L_0889D80C: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - { const std::uint32_t aot_run_words[3]{aot_gpr_17, ctx.gpr[18], ctx.gpr[19]}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(4), aot_run_words); } ctx.gpr[18] = (aot_gpr_4 | 0u); ctx.gpr[19] = (aot_gpr_5 | 0u); - aot_gpr_17 = (ctx.gpr[6] | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + ctx.gpr[17] = (aot_gpr_6 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); { const std::uint32_t aot_run_words[3]{ctx.gpr[20], ctx.gpr[21], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(16), aot_run_words); } { const bool branch_taken = aot_gpr_5 == 0u; - aot_gpr_16 = (ctx.gpr[7] | 0u); + ctx.gpr[16] = (ctx.gpr[7] | 0u); if (branch_taken) { goto L_0889D8B4; } @@ -4292,10 +4293,10 @@ L_0889D858: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x0889D864u); aot_gpr_5 = (0u + static_cast(-1)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889D864u) goto L_0889D864; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806888, 0u, 324u, 0x08806888u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889D864u) goto L_0889D864; AOT_REGCACHE_SYNC_OUT(); return; L_0889D864: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_0889D8A4; @@ -4306,7 +4307,7 @@ L_0889D86C: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x0889D878u); aot_gpr_5 = (0u + static_cast(-2)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889D878u) goto L_0889D878; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806654, 0u, 303u, 0x08806654u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889D878u) goto L_0889D878; AOT_REGCACHE_SYNC_OUT(); return; L_0889D878: aot_gpr_31 = (0x0889D880u); @@ -4323,32 +4324,32 @@ L_0889D88C: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x0889D898u); aot_gpr_5 = (0u + static_cast(-2)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889D898u) goto L_0889D898; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880682C, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[16], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889D898u) goto L_0889D898; AOT_REGCACHE_SYNC_OUT(); return; L_0889D898: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x0889D8A4u); aot_gpr_5 = (0u + static_cast(-10001)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889D8A4u) goto L_0889D8A4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[16], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889D8A4u) goto L_0889D8A4; AOT_REGCACHE_SYNC_OUT(); return; L_0889D8A4: - aot_gpr_5 = (aot_gpr_16 + static_cast(1)); + aot_gpr_5 = (ctx.gpr[16] + static_cast(1)); aot_gpr_5 = (0u - aot_gpr_5); aot_gpr_31 = (0x0889D8B4u); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 315u, 0x0880673Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889D8B4u) goto L_0889D8B4; AOT_REGCACHE_SYNC_OUT(); return; L_0889D8B4: - ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + ctx.gpr[20] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); { const bool branch_taken = ctx.gpr[20] == 0u; - ctx.gpr[21] = (aot_gpr_16 + static_cast(1)); + ctx.gpr[21] = (ctx.gpr[16] + static_cast(1)); if (branch_taken) { goto L_0889D930; } goto L_0889D8C0; } L_0889D8C0: - ctx.gpr[19] = (aot_gpr_16 + static_cast(3)); + ctx.gpr[19] = (ctx.gpr[16] + static_cast(3)); ctx.gpr[21] = (0u - ctx.gpr[21]); ctx.gpr[19] = (0u - ctx.gpr[19]); goto L_0889D8CC; @@ -4360,7 +4361,7 @@ L_0889D8CC: AOT_REGCACHE_SYNC_OUT(); return; L_0889D8D8: ctx.gpr[20] = (0u | 0u); - aot_gpr_4 = (static_cast(ctx.gpr[20]) < static_cast(aot_gpr_16) ? 1u : 0u); + aot_gpr_4 = (static_cast(ctx.gpr[20]) < static_cast(ctx.gpr[16]) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -4372,11 +4373,11 @@ L_0889D8E8: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x0889D8F4u); aot_gpr_5 = (ctx.gpr[21] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889D8F4u) goto L_0889D8F4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880682C, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[16], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889D8F4u) goto L_0889D8F4; AOT_REGCACHE_SYNC_OUT(); return; L_0889D8F4: ctx.gpr[20] = (ctx.gpr[20] + static_cast(1)); - aot_gpr_4 = (static_cast(ctx.gpr[20]) < static_cast(aot_gpr_16) ? 1u : 0u); + aot_gpr_4 = (static_cast(ctx.gpr[20]) < static_cast(ctx.gpr[16]) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -4385,21 +4386,21 @@ L_0889D8F4: goto L_0889D904; } L_0889D904: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x0889D914u); - ctx.gpr[6] = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 444u, 0x08806FA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889D914u) goto L_0889D914; AOT_REGCACHE_SYNC_OUT(); return; L_0889D914: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x0889D920u); aot_gpr_5 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889D920u) goto L_0889D920; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[16], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889D920u) goto L_0889D920; AOT_REGCACHE_SYNC_OUT(); return; L_0889D920: - aot_gpr_17 = (aot_gpr_17 + static_cast(8)); - ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(8)); + ctx.gpr[20] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); { const bool branch_taken = ctx.gpr[20] != 0u; // nop if (branch_taken) { @@ -4408,17 +4409,17 @@ L_0889D920: goto L_0889D930; } L_0889D930: - aot_gpr_5 = (0u - aot_gpr_16); + aot_gpr_5 = (0u - ctx.gpr[16]); aot_gpr_5 = (aot_gpr_5 + static_cast(-1)); aot_gpr_31 = (0x0889D940u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889D940u) goto L_0889D940; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806654, 0u, 303u, 0x08806654u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889D940u) goto L_0889D940; AOT_REGCACHE_SYNC_OUT(); return; L_0889D940: { std::uint32_t aot_run_words[7]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -4433,21 +4434,21 @@ L_0889D940: AOT_REGCACHE_SYNC_OUT(); return; L_0889D964: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_16 = (aot_gpr_5 | 0u); - aot_gpr_17 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[16] = (aot_gpr_5 | 0u); + ctx.gpr[17] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); aot_gpr_31 = (0x0889D988u); aot_gpr_5 = (0u + static_cast(-1)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889D988u) goto L_0889D988; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889D988u) goto L_0889D988; AOT_REGCACHE_SYNC_OUT(); return; L_0889D988: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[0])); ctx.gpr[18] = (std::bit_cast(aot_fpr_12)); { const bool branch_taken = ctx.gpr[18] != 0u; - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (branch_taken) { goto L_0889D9AC; } @@ -4456,10 +4457,10 @@ L_0889D988: L_0889D998: aot_gpr_31 = (0x0889D9A0u); aot_gpr_5 = (0u + static_cast(-1)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889D9A0u) goto L_0889D9A0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880692C, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[16], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889D9A0u) goto L_0889D9A0; AOT_REGCACHE_SYNC_OUT(); return; L_0889D9A0: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_0889D9AC; @@ -4470,18 +4471,18 @@ L_0889D9A8: ctx.gpr[18] = (0u + static_cast(-1)); goto L_0889D9AC; L_0889D9AC: - aot_gpr_5 = (0u - aot_gpr_16); + aot_gpr_5 = (0u - ctx.gpr[16]); aot_gpr_5 = (aot_gpr_5 + static_cast(-1)); aot_gpr_31 = (0x0889D9BCu); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889D9BCu) goto L_0889D9BC; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806654, 0u, 303u, 0x08806654u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889D9BCu) goto L_0889D9BC; AOT_REGCACHE_SYNC_OUT(); return; L_0889D9BC: - ctx.gpr[2] = (ctx.gpr[18] | 0u); + aot_gpr_2 = (ctx.gpr[18] | 0u); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -4493,22 +4494,22 @@ L_0889D9BC: AOT_REGCACHE_SYNC_OUT(); return; L_0889D9D8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_5 = (0u + static_cast(-10000)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x0889D9F4u); - ctx.gpr[6] = (0u | 2u); + aot_gpr_6 = (0u | 2u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 459u, 0x088071ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889D9F4u) goto L_0889D9F4; AOT_REGCACHE_SYNC_OUT(); return; L_0889D9F4: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x0889DA00u); aot_gpr_5 = (0u + static_cast(-1)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889DA00u) goto L_0889DA00; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806888, 0u, 324u, 0x08806888u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889DA00u) goto L_0889DA00; AOT_REGCACHE_SYNC_OUT(); return; L_0889DA00: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_0889DA7C; @@ -4516,63 +4517,63 @@ L_0889DA00: goto L_0889DA08; } L_0889DA08: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x0889DA14u); aot_gpr_5 = (0u + static_cast(-2)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889DA14u) goto L_0889DA14; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806654, 0u, 303u, 0x08806654u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889DA14u) goto L_0889DA14; AOT_REGCACHE_SYNC_OUT(); return; L_0889DA14: aot_gpr_31 = (0x0889DA1Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 462u, 0x08807220u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889DA1Cu) goto L_0889DA1C; AOT_REGCACHE_SYNC_OUT(); return; L_0889DA1C: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x0889DA28u); aot_gpr_5 = (0u + static_cast(-1)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889DA28u) goto L_0889DA28; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880682C, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[16], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889DA28u) goto L_0889DA28; AOT_REGCACHE_SYNC_OUT(); return; L_0889DA28: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x0889DA34u); aot_gpr_5 = (0u + static_cast(-2)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 492u, 0x08807510u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889DA34u) goto L_0889DA34; AOT_REGCACHE_SYNC_OUT(); return; L_0889DA34: aot_gpr_5 = (ctx.gpr[28] + static_cast(-25368)); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x0889DA44u); - ctx.gpr[6] = (0u | 6u); + aot_gpr_6 = (0u | 6u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 426u, 0x08806DE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889DA44u) goto L_0889DA44; AOT_REGCACHE_SYNC_OUT(); return; L_0889DA44: aot_gpr_5 = (ctx.gpr[28] + static_cast(-25360)); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x0889DA54u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 426u, 0x08806DE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889DA54u) goto L_0889DA54; AOT_REGCACHE_SYNC_OUT(); return; L_0889DA54: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x0889DA60u); aot_gpr_5 = (0u + static_cast(-3)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 486u, 0x08807414u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889DA60u) goto L_0889DA60; AOT_REGCACHE_SYNC_OUT(); return; L_0889DA60: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x0889DA6Cu); aot_gpr_5 = (0u + static_cast(-1)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889DA6Cu) goto L_0889DA6C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880682C, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[16], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889DA6Cu) goto L_0889DA6C; AOT_REGCACHE_SYNC_OUT(); return; L_0889DA6C: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u + static_cast(-10000)); aot_gpr_31 = (0x0889DA7Cu); - ctx.gpr[6] = (0u | 2u); + aot_gpr_6 = (0u | 2u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 489u, 0x0880748Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889DA7Cu) goto L_0889DA7C; AOT_REGCACHE_SYNC_OUT(); return; L_0889DA7C: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -4583,23 +4584,23 @@ L_0889DA7C: L_0889DA8C: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), std::bit_cast(aot_fpr_20)); - aot_fpr_20 = std::bit_cast(ctx.gpr[6]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_17); + aot_fpr_20 = std::bit_cast(aot_gpr_6); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[18]); aot_fpr_20 = static_cast(static_cast(std::bit_cast(aot_fpr_20))); ctx.gpr[18] = (ctx.gpr[28] + static_cast(-25416)); - aot_gpr_17 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_16); + ctx.gpr[17] = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); { const bool branch_taken = static_cast(aot_gpr_5) > 0; - aot_gpr_16 = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); if (branch_taken) { goto L_0889DADC; } goto L_0889DABC; } L_0889DABC: - aot_gpr_4 = (static_cast(aot_gpr_16) < -9999 ? 1u : 0u); + aot_gpr_4 = (static_cast(ctx.gpr[16]) < -9999 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -4609,38 +4610,38 @@ L_0889DABC: } L_0889DAC8: aot_gpr_31 = (0x0889DAD0u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889DAD0u) goto L_0889DAD0; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806634, 0u, 302u, 0x08806634u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889DAD0u) goto L_0889DAD0; AOT_REGCACHE_SYNC_OUT(); return; L_0889DAD0: - aot_gpr_16 = (ctx.gpr[2] + aot_gpr_16); + ctx.gpr[16] = (aot_gpr_2 + ctx.gpr[16]); { const bool branch_taken = 0u == 0u; - aot_gpr_16 = (aot_gpr_16 + static_cast(1)); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(1)); if (branch_taken) { goto L_0889DADC; } goto L_0889DADC; } L_0889DADC: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x0889DAECu); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 426u, 0x08806DE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889DAECu) goto L_0889DAEC; AOT_REGCACHE_SYNC_OUT(); return; L_0889DAEC: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0889DAF8u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 456u, 0x08807148u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889DAF8u) goto L_0889DAF8; AOT_REGCACHE_SYNC_OUT(); return; L_0889DAF8: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0889DB04u); aot_gpr_5 = (0u | 1u); goto L_0889D964; L_0889DB04: - { const bool branch_taken = static_cast(ctx.gpr[2]) < 0; + { const bool branch_taken = static_cast(aot_gpr_2) < 0; // nop if (branch_taken) { goto L_0889DB3C; @@ -4648,22 +4649,22 @@ L_0889DB04: goto L_0889DB0C; } L_0889DB0C: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x0889DB1Cu); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 426u, 0x08806DE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889DB1Cu) goto L_0889DB1C; AOT_REGCACHE_SYNC_OUT(); return; L_0889DB1C: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0889DB28u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889DB28u) goto L_0889DB28; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889DB28u) goto L_0889DB28; AOT_REGCACHE_SYNC_OUT(); return; L_0889DB28: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0889DB34u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 486u, 0x08807414u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889DB34u) goto L_0889DB34; AOT_REGCACHE_SYNC_OUT(); return; L_0889DB34: @@ -4676,38 +4677,38 @@ L_0889DB34: } L_0889DB3C: aot_gpr_31 = (0x0889DB44u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); goto L_0889D9D8; L_0889DB44: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0889DB50u); - aot_gpr_5 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889DB50u) goto L_0889DB50; + aot_gpr_5 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880682C, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[16], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889DB50u) goto L_0889DB50; AOT_REGCACHE_SYNC_OUT(); return; L_0889DB50: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0889DB5Cu); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889DB5Cu) goto L_0889DB5C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889DB5Cu) goto L_0889DB5C; AOT_REGCACHE_SYNC_OUT(); return; L_0889DB5C: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0889DB68u); aot_gpr_5 = (0u + static_cast(-3)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 486u, 0x08807414u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889DB68u) goto L_0889DB68; AOT_REGCACHE_SYNC_OUT(); return; L_0889DB68: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0889DB74u); aot_gpr_5 = (0u + static_cast(-2)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889DB74u) goto L_0889DB74; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806654, 0u, 303u, 0x08806654u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889DB74u) goto L_0889DB74; AOT_REGCACHE_SYNC_OUT(); return; L_0889DB74: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); - aot_gpr_16 = aot_run_words[1]; - aot_gpr_17 = aot_run_words[2]; + ctx.gpr[16] = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; } @@ -4719,20 +4720,20 @@ L_0889DB74: AOT_REGCACHE_SYNC_OUT(); return; L_0889DB90: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); { const bool branch_taken = static_cast(aot_gpr_5) > 0; - aot_gpr_16 = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); if (branch_taken) { goto L_0889DBD0; } goto L_0889DBB0; } L_0889DBB0: - aot_gpr_4 = (static_cast(aot_gpr_16) < -9999 ? 1u : 0u); + aot_gpr_4 = (static_cast(ctx.gpr[16]) < -9999 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -4742,13 +4743,13 @@ L_0889DBB0: } L_0889DBBC: aot_gpr_31 = (0x0889DBC4u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889DBC4u) goto L_0889DBC4; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806634, 0u, 302u, 0x08806634u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889DBC4u) goto L_0889DBC4; AOT_REGCACHE_SYNC_OUT(); return; L_0889DBC4: - aot_gpr_16 = (ctx.gpr[2] + aot_gpr_16); + ctx.gpr[16] = (aot_gpr_2 + ctx.gpr[16]); { const bool branch_taken = 0u == 0u; - aot_gpr_16 = (aot_gpr_16 + static_cast(1)); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(1)); if (branch_taken) { goto L_0889DBD0; } @@ -4756,24 +4757,24 @@ L_0889DBC4: } L_0889DBD0: aot_gpr_5 = (ctx.gpr[28] + static_cast(-25416)); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0889DBE0u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 426u, 0x08806DE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889DBE0u) goto L_0889DBE0; AOT_REGCACHE_SYNC_OUT(); return; L_0889DBE0: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0889DBECu); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 456u, 0x08807148u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889DBECu) goto L_0889DBEC; AOT_REGCACHE_SYNC_OUT(); return; L_0889DBEC: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0889DBF8u); aot_gpr_5 = (0u | 1u); goto L_0889D964; L_0889DBF8: - { const bool branch_taken = static_cast(ctx.gpr[2]) >= 0; + { const bool branch_taken = static_cast(aot_gpr_2) >= 0; // nop if (branch_taken) { goto L_0889DC44; @@ -4782,27 +4783,27 @@ L_0889DBF8: } L_0889DC00: aot_gpr_31 = (0x0889DC08u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); goto L_0889D9D8; L_0889DC08: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0889DC14u); - aot_gpr_5 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889DC14u) goto L_0889DC14; + aot_gpr_5 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880682C, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[16], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889DC14u) goto L_0889DC14; AOT_REGCACHE_SYNC_OUT(); return; L_0889DC14: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0889DC20u); aot_gpr_5 = (0u + static_cast(-2)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 456u, 0x08807148u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889DC20u) goto L_0889DC20; AOT_REGCACHE_SYNC_OUT(); return; L_0889DC20: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0889DC2Cu); aot_gpr_5 = (0u | 2u); goto L_0889D964; L_0889DC2C: - { const bool branch_taken = static_cast(ctx.gpr[2]) >= 0; + { const bool branch_taken = static_cast(aot_gpr_2) >= 0; // nop if (branch_taken) { goto L_0889DC3C; @@ -4834,20 +4835,20 @@ L_0889DC44: goto L_0889DC4C; } L_0889DC4C: - aot_gpr_4 = (aot_gpr_17 | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x0889DC5Cu); - ctx.gpr[6] = (ctx.gpr[18] | 0u); + aot_gpr_6 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 459u, 0x088071ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889DC5Cu) goto L_0889DC5C; AOT_REGCACHE_SYNC_OUT(); return; L_0889DC5C: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0889DC68u); aot_gpr_5 = (0u + static_cast(-1)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889DC68u) goto L_0889DC68; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806888, 0u, 324u, 0x08806888u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889DC68u) goto L_0889DC68; AOT_REGCACHE_SYNC_OUT(); return; L_0889DC68: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_0889DC84; @@ -4855,10 +4856,10 @@ L_0889DC68: goto L_0889DC70; } L_0889DC70: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0889DC7Cu); aot_gpr_5 = (0u + static_cast(-2)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889DC7Cu) goto L_0889DC7C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806654, 0u, 303u, 0x08806654u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889DC7Cu) goto L_0889DC7C; AOT_REGCACHE_SYNC_OUT(); return; L_0889DC7C: { const bool branch_taken = 0u == 0u; @@ -4869,19 +4870,19 @@ L_0889DC7C: goto L_0889DC84; } L_0889DC84: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0889DC90u); aot_gpr_5 = (0u + static_cast(-2)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889DC90u) goto L_0889DC90; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806654, 0u, 303u, 0x08806654u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889DC90u) goto L_0889DC90; AOT_REGCACHE_SYNC_OUT(); return; L_0889DC90: - ctx.gpr[2] = (ctx.gpr[18] + static_cast(-1)); + aot_gpr_2 = (ctx.gpr[18] + static_cast(-1)); goto L_0889DC94; L_0889DC94: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -4893,12 +4894,12 @@ L_0889DC94: AOT_REGCACHE_SYNC_OUT(); return; L_0889DCAC: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_16 + static_cast(12)); - aot_gpr_4 = (aot_gpr_4 - aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (ctx.gpr[16] + static_cast(12)); + aot_gpr_4 = (aot_gpr_4 - ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -4909,31 +4910,31 @@ L_0889DCAC: } L_0889DCD4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_0889DD00; } goto L_0889DCDC; } L_0889DCDC: - ctx.gpr[6] = (aot_gpr_4 | 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); + aot_gpr_6 = (aot_gpr_4 | 0u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(8))); aot_gpr_31 = (0x0889DCECu); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 426u, 0x08806DE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889DCECu) goto L_0889DCEC; AOT_REGCACHE_SYNC_OUT(); return; L_0889DCEC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), aot_gpr_17); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), ctx.gpr[17]); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), aot_gpr_4); - ctx.gpr[2] = (0u | 1u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(4), aot_gpr_4); + aot_gpr_2 = (0u | 1u); goto L_0889DD00; L_0889DD00: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -4945,10 +4946,10 @@ L_0889DD00: L_0889DD14: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_4 = (static_cast(aot_gpr_5) < 2 ? 1u : 0u); - { const std::uint32_t aot_run_words[5]{aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; + { const std::uint32_t aot_run_words[5]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(4), aot_run_words); } { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -4958,7 +4959,7 @@ L_0889DD14: goto L_0889DD44; } L_0889DD44: - ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); + ctx.gpr[20] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(8))); ctx.gpr[19] = (0u | 1u); aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x0889DD58u); @@ -4966,30 +4967,30 @@ L_0889DD44: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 387u, 0x08806BD8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889DD58u) goto L_0889DD58; AOT_REGCACHE_SYNC_OUT(); return; L_0889DD58: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); goto L_0889DD5C; L_0889DD5C: - aot_gpr_17 = (ctx.gpr[19] + static_cast(1)); - aot_gpr_5 = (0u - aot_gpr_17); + ctx.gpr[17] = (ctx.gpr[19] + static_cast(1)); + aot_gpr_5 = (0u - ctx.gpr[17]); aot_gpr_31 = (0x0889DD6Cu); aot_gpr_4 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 387u, 0x08806BD8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889DD6Cu) goto L_0889DD6C; AOT_REGCACHE_SYNC_OUT(); return; L_0889DD6C: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); - ctx.gpr[6] = (aot_gpr_5 - ctx.gpr[19]); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(1)); - ctx.gpr[6] = (static_cast(ctx.gpr[6]) < 10 ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] == 0u; - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); + aot_gpr_6 = (aot_gpr_5 - ctx.gpr[19]); + aot_gpr_6 = (aot_gpr_6 + static_cast(1)); + aot_gpr_6 = (static_cast(aot_gpr_6) < 10 ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 == 0u; + aot_gpr_4 = (aot_gpr_2 | 0u); if (branch_taken) { goto L_0889DD90; } goto L_0889DD84; } L_0889DD84: - ctx.gpr[6] = (aot_gpr_4 < ctx.gpr[18] ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_6 = (aot_gpr_4 < ctx.gpr[18] ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 == 0u; // nop if (branch_taken) { goto L_0889DD9C; @@ -4999,7 +5000,7 @@ L_0889DD84: L_0889DD90: ctx.gpr[18] = (aot_gpr_4 + ctx.gpr[18]); { const bool branch_taken = 0u == 0u; - ctx.gpr[19] = (aot_gpr_17 | 0u); + ctx.gpr[19] = (ctx.gpr[17] | 0u); if (branch_taken) { goto L_0889DDA4; } @@ -5014,7 +5015,7 @@ L_0889DD9C: goto L_0889DDA4; } L_0889DDA4: - aot_gpr_4 = (static_cast(aot_gpr_17) < static_cast(aot_gpr_5) ? 1u : 0u); + aot_gpr_4 = (static_cast(ctx.gpr[17]) < static_cast(aot_gpr_5) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -5029,16 +5030,16 @@ L_0889DDB0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 546u, 0x08807904u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889DDBCu) goto L_0889DDBC; AOT_REGCACHE_SYNC_OUT(); return; L_0889DDBC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_gpr_4 = (aot_gpr_4 - ctx.gpr[19]); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(4), aot_gpr_4); goto L_0889DDCC; L_0889DDCC: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -5052,13 +5053,13 @@ L_0889DDCC: AOT_REGCACHE_SYNC_OUT(); return; L_0889DDEC: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x0889DE00u); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); goto L_0889DCAC; L_0889DE00: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_0889DE10; @@ -5067,11 +5068,11 @@ L_0889DE00: } L_0889DE08: aot_gpr_31 = (0x0889DE10u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_0889DD14; L_0889DE10: - ctx.gpr[2] = (aot_gpr_16 + static_cast(12)); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_2 = (ctx.gpr[16] + static_cast(12)); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -5082,16 +5083,16 @@ L_0889DE10: L_0889DE24: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[20]); - ctx.gpr[20] = (ctx.gpr[6] + static_cast(-1)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + ctx.gpr[20] = (aot_gpr_6 + static_cast(-1)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); - aot_gpr_16 = (ctx.gpr[20] | 0u); + ctx.gpr[16] = (ctx.gpr[20] | 0u); ctx.gpr[18] = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[19]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_31); - { const bool branch_taken = ctx.gpr[6] == 0u; - aot_gpr_17 = (aot_gpr_5 | 0u); + { const bool branch_taken = aot_gpr_6 == 0u; + ctx.gpr[17] = (aot_gpr_5 | 0u); if (branch_taken) { goto L_0889DE98; } @@ -5116,15 +5117,15 @@ L_0889DE68: goto L_0889DDEC; L_0889DE70: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(0)))))); - ctx.gpr[6] = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(0), ctx.gpr[6]); - ctx.gpr[6] = (ctx.gpr[20] | 0u); - ctx.gpr[20] = (aot_gpr_16 + static_cast(-1)); - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(0)))))); + aot_gpr_6 = (aot_gpr_4 + static_cast(1)); + aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(0), aot_gpr_6); + aot_gpr_6 = (ctx.gpr[20] | 0u); + ctx.gpr[20] = (ctx.gpr[16] + static_cast(-1)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_5)); - { const bool branch_taken = ctx.gpr[6] != 0u; - aot_gpr_16 = (ctx.gpr[20] | 0u); + { const bool branch_taken = aot_gpr_6 != 0u; + ctx.gpr[16] = (ctx.gpr[20] | 0u); if (branch_taken) { goto L_0889DE58; } @@ -5133,8 +5134,8 @@ L_0889DE70: L_0889DE98: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -5148,21 +5149,21 @@ L_0889DE98: AOT_REGCACHE_SYNC_OUT(); return; L_0889DEB8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x0889DECCu); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); goto L_0889DCAC; L_0889DECC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(8))); aot_gpr_31 = (0x0889DED8u); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 546u, 0x08807904u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889DED8u) goto L_0889DED8; AOT_REGCACHE_SYNC_OUT(); return; L_0889DED8: aot_gpr_4 = (0u | 1u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), aot_gpr_4); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(4), aot_gpr_4); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -5172,12 +5173,12 @@ L_0889DED8: AOT_REGCACHE_SYNC_OUT(); return; L_0889DEF0: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[19]); - ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); + ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(8))); aot_gpr_5 = (0u + static_cast(-1)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); aot_gpr_31 = (0x0889DF1Cu); @@ -5185,11 +5186,11 @@ L_0889DEF0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 387u, 0x08806BD8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889DF1Cu) goto L_0889DF1C; AOT_REGCACHE_SYNC_OUT(); return; L_0889DF1C: - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - aot_gpr_4 = (aot_gpr_16 + static_cast(12)); - aot_gpr_4 = (aot_gpr_17 - aot_gpr_4); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); + aot_gpr_4 = (ctx.gpr[16] + static_cast(12)); + aot_gpr_4 = (ctx.gpr[17] - aot_gpr_4); aot_gpr_5 = (0u | 1024u); - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); aot_gpr_4 = (aot_gpr_4 < ctx.gpr[18] ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; @@ -5206,20 +5207,20 @@ L_0889DF40: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 375u, 0x08806B2Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889DF4Cu) goto L_0889DF4C; AOT_REGCACHE_SYNC_OUT(); return; L_0889DF4C: - aot_gpr_4 = (aot_gpr_17 | 0u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x0889DF5Cu); - ctx.gpr[6] = (ctx.gpr[18] | 0u); + aot_gpr_6 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889DF5Cu) goto L_0889DF5C; AOT_REGCACHE_SYNC_OUT(); return; L_0889DF5C: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (aot_gpr_5 + ctx.gpr[18]); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), aot_gpr_5); aot_gpr_31 = (0x0889DF74u); aot_gpr_5 = (0u + static_cast(-2)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889DF74u) goto L_0889DF74; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806654, 0u, 303u, 0x08806654u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889DF74u) goto L_0889DF74; AOT_REGCACHE_SYNC_OUT(); return; L_0889DF74: { const bool branch_taken = 0u == 0u; @@ -5231,10 +5232,10 @@ L_0889DF74: } L_0889DF7C: aot_gpr_31 = (0x0889DF84u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_0889DCAC; L_0889DF84: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_0889DF98; @@ -5248,17 +5249,17 @@ L_0889DF8C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 315u, 0x0880673Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889DF98u) goto L_0889DF98; AOT_REGCACHE_SYNC_OUT(); return; L_0889DF98: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (aot_gpr_5 + static_cast(1)); aot_gpr_31 = (0x0889DFACu); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(4), aot_gpr_5); goto L_0889DD14; L_0889DFAC: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; @@ -5281,14 +5282,14 @@ L_0889DFC8: AOT_REGCACHE_SYNC_OUT(); return; L_0889DFDC: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_5 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_5 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); - ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (ctx.gpr[6] | 0u); + ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_6 | 0u); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-25348))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-25352))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-25352))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); aot_gpr_31 = (0x0889E010u); @@ -5297,10 +5298,10 @@ L_0889DFDC: AOT_REGCACHE_SYNC_OUT(); return; L_0889E010: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); - ctx.gpr[6] = (32768u << 16u); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(-1)); - aot_gpr_5 = (ctx.gpr[2] | 0u); - aot_gpr_4 = (aot_gpr_4 & ctx.gpr[6]); + aot_gpr_6 = (32768u << 16u); + aot_gpr_6 = (aot_gpr_6 + static_cast(-1)); + aot_gpr_5 = (aot_gpr_2 | 0u); + aot_gpr_4 = (aot_gpr_4 & aot_gpr_6); aot_gpr_4 = (aot_gpr_5 < aot_gpr_4 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 ^ 1u); aot_gpr_4 = (aot_gpr_4 & 255u); @@ -5312,27 +5313,27 @@ L_0889E010: goto L_0889E038; } L_0889E038: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_gpr_5 = (32768u << 16u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - aot_gpr_5 = (ctx.gpr[6] & aot_gpr_5); + aot_gpr_5 = (aot_gpr_6 & aot_gpr_5); { const bool branch_taken = aot_gpr_5 == 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(4)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(4)); if (branch_taken) { goto L_0889E070; } goto L_0889E054; } L_0889E054: - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0889E060u); - ctx.gpr[6] = (0u | 1024u); + aot_gpr_6 = (0u | 1024u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0205_entry, 205u, 822u, 0x08B3AEC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889E060u) goto L_0889E060; AOT_REGCACHE_SYNC_OUT(); return; L_0889E060: { const bool branch_taken = 0u == 0u; - aot_gpr_4 = (ctx.gpr[2] < static_cast(1) ? 1u : 0u); + aot_gpr_4 = (aot_gpr_2 < static_cast(1) ? 1u : 0u); if (branch_taken) { goto L_0889E080; } @@ -5340,34 +5341,34 @@ L_0889E060: } L_0889E068: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_0889E090; } goto L_0889E070; } L_0889E070: - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0889E07Cu); - ctx.gpr[6] = (0u | 1024u); + aot_gpr_6 = (0u | 1024u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0205_entry, 205u, 864u, 0x08B3B0E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889E07Cu) goto L_0889E07C; AOT_REGCACHE_SYNC_OUT(); return; L_0889E07C: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); goto L_0889E080; L_0889E080: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), aot_gpr_4); - ctx.gpr[2] = (0u | 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), aot_gpr_4); + aot_gpr_2 = (0u | 0u); if (aot_gpr_4 != 0u) { - ctx.gpr[2] = (aot_gpr_17 | 0u); + aot_gpr_2 = (ctx.gpr[17] | 0u); goto L_0889E090; } goto L_0889E090; L_0889E090: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -5379,46 +5380,46 @@ L_0889E090: AOT_REGCACHE_SYNC_OUT(); return; L_0889E0A8: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_5 | 0u); - { const std::uint32_t aot_run_words[4]{aot_gpr_17, ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_5 | 0u); + { const std::uint32_t aot_run_words[4]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(4), aot_run_words); } aot_gpr_31 = (0x0889E0CCu); - aot_gpr_17 = (aot_gpr_4 | 0u); + ctx.gpr[17] = (aot_gpr_4 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 375u, 0x08806B2Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889E0CCu) goto L_0889E0CC; AOT_REGCACHE_SYNC_OUT(); return; L_0889E0CC: aot_gpr_4 = (2232u << 16u); - ctx.gpr[18] = (ctx.gpr[2] + static_cast(1)); + ctx.gpr[18] = (aot_gpr_2 + static_cast(1)); aot_gpr_31 = (0x0889E0DCu); ctx.gpr[19] = (aot_gpr_4 + static_cast(-22712)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0212_entry, 212u, 341u, 0x08B552F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889E0DCu) goto L_0889E0DC; AOT_REGCACHE_SYNC_OUT(); return; L_0889E0DC: aot_gpr_31 = (0x0889E0E4u); - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(0))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 74u, 0x08B583A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889E0E4u) goto L_0889E0E4; AOT_REGCACHE_SYNC_OUT(); return; L_0889E0E4: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); - ctx.gpr[6] = (ctx.gpr[18] | 0u); + aot_gpr_6 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x0889E0F8u); - ctx.gpr[7] = (ctx.gpr[2] | 0u); + ctx.gpr[7] = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 440u, 0x08806F24u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889E0F8u) goto L_0889E0F8; AOT_REGCACHE_SYNC_OUT(); return; L_0889E0F8: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0889E104u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 310u, 0x088066C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889E104u) goto L_0889E104; AOT_REGCACHE_SYNC_OUT(); return; L_0889E104: - ctx.gpr[2] = (0u | 2u); + aot_gpr_2 = (0u | 2u); { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; @@ -5431,33 +5432,33 @@ L_0889E104: AOT_REGCACHE_SYNC_OUT(); return; L_0889E124: aot_gpr_29 = (aot_gpr_29 + static_cast(-1072)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1032), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); - { const std::uint32_t aot_run_words[7]{aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_31}; + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1032), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); + { const std::uint32_t aot_run_words[7]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(1036), aot_run_words); } aot_gpr_31 = (0x0889E154u); - aot_gpr_17 = (aot_gpr_5 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889E154u) goto L_0889E154; + ctx.gpr[17] = (aot_gpr_5 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806634, 0u, 302u, 0x08806634u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889E154u) goto L_0889E154; AOT_REGCACHE_SYNC_OUT(); return; L_0889E154: - ctx.gpr[18] = (ctx.gpr[2] + static_cast(1)); + ctx.gpr[18] = (aot_gpr_2 + static_cast(1)); aot_gpr_5 = (ctx.gpr[28] + static_cast(-25344)); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x0889E168u); - ctx.gpr[6] = (aot_gpr_17 | 0u); + aot_gpr_6 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 440u, 0x08806F24u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889E168u) goto L_0889E168; AOT_REGCACHE_SYNC_OUT(); return; L_0889E168: aot_gpr_5 = (ctx.gpr[28] + static_cast(-25340)); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0889E178u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 356u, 0x08809B44u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889E178u) goto L_0889E178; AOT_REGCACHE_SYNC_OUT(); return; L_0889E178: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[19] == 0u; - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_2); if (branch_taken) { goto L_0889E1C4; } @@ -5469,12 +5470,12 @@ L_0889E184: ctx.gpr[19] = (32768u << 16u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); ctx.gpr[7] = (2234u << 16u); - ctx.gpr[6] = (aot_gpr_5 & ctx.gpr[19]); + aot_gpr_6 = (aot_gpr_5 & ctx.gpr[19]); ctx.gpr[21] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-25316))); ctx.gpr[22] = (ctx.gpr[7] + static_cast(14520)); aot_gpr_5 = (aot_gpr_29 + static_cast(1028)); ctx.gpr[20] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-25320))); - { const bool branch_taken = ctx.gpr[6] == 0u; + { const bool branch_taken = aot_gpr_6 == 0u; ctx.gpr[22] = (ctx.gpr[22] + static_cast(1)); if (branch_taken) { goto L_0889E1D8; @@ -5483,7 +5484,7 @@ L_0889E184: } L_0889E1B4: aot_gpr_31 = (0x0889E1BCu); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0205_entry, 205u, 822u, 0x08B3AEC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889E1BCu) goto L_0889E1BC; AOT_REGCACHE_SYNC_OUT(); return; L_0889E1BC: @@ -5495,7 +5496,7 @@ L_0889E1BC: goto L_0889E1C4; } L_0889E1C4: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x0889E1D0u); aot_gpr_5 = (ctx.gpr[18] | 0u); goto L_0889E0A8; @@ -5509,7 +5510,7 @@ L_0889E1D0: } L_0889E1D8: aot_gpr_31 = (0x0889E1E0u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0205_entry, 205u, 864u, 0x08B3B0E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889E1E0u) goto L_0889E1E0; AOT_REGCACHE_SYNC_OUT(); return; L_0889E1E0: @@ -5527,7 +5528,7 @@ L_0889E1E4: } L_0889E1F4: ctx.gpr[7] = (ctx.gpr[21] | 0u); - ctx.gpr[6] = (ctx.gpr[20] | 0u); + aot_gpr_6 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x0889E204u); ctx.gpr[8] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0205_entry, 205u, 855u, 0x08B3B024u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889E204u) goto L_0889E204; @@ -5545,7 +5546,7 @@ L_0889E204: } L_0889E218: ctx.gpr[7] = (ctx.gpr[21] | 0u); - ctx.gpr[6] = (ctx.gpr[20] | 0u); + aot_gpr_6 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x0889E228u); ctx.gpr[8] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0205_entry, 205u, 898u, 0x08B3B264u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889E228u) goto L_0889E228; @@ -5604,39 +5605,39 @@ L_0889E270: AOT_REGCACHE_SYNC_OUT(); return; L_0889E278: aot_gpr_5 = (ctx.gpr[28] + static_cast(-25336)); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0889E288u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 356u, 0x08809B44u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889E288u) goto L_0889E288; AOT_REGCACHE_SYNC_OUT(); return; L_0889E288: - { const bool branch_taken = ctx.gpr[2] == 0u; - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[2]); + { const bool branch_taken = aot_gpr_2 == 0u; + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_2); if (branch_taken) { goto L_0889E2EC; } goto L_0889E290; } L_0889E290: - ctx.gpr[6] = (2186u << 16u); + aot_gpr_6 = (2186u << 16u); ctx.gpr[21] = (ctx.gpr[19] | 0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u + static_cast(-1)); aot_gpr_31 = (0x0889E2A8u); - aot_gpr_17 = (ctx.gpr[6] + static_cast(-8228)); + ctx.gpr[17] = (aot_gpr_6 + static_cast(-8228)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 375u, 0x08806B2Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889E2A8u) goto L_0889E2A8; AOT_REGCACHE_SYNC_OUT(); return; L_0889E2A8: - aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[6] = (aot_gpr_29 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_6 = (aot_gpr_29 | 0u); aot_gpr_31 = (0x0889E2BCu); - ctx.gpr[7] = (ctx.gpr[2] | 0u); + ctx.gpr[7] = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 517u, 0x0880771Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889E2BCu) goto L_0889E2BC; AOT_REGCACHE_SYNC_OUT(); return; L_0889E2BC: ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - aot_gpr_17 = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(4))); ctx.gpr[19] = (0u | 0u); aot_gpr_5 = (aot_gpr_5 & ctx.gpr[21]); @@ -5662,7 +5663,7 @@ L_0889E2E0: goto L_0889E2EC; } L_0889E2EC: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x0889E2F8u); aot_gpr_5 = (ctx.gpr[18] | 0u); goto L_0889E0A8; @@ -5688,13 +5689,13 @@ L_0889E308: goto L_0889E310; } L_0889E310: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x0889E31Cu); aot_gpr_5 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889E31Cu) goto L_0889E31C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806654, 0u, 303u, 0x08806654u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889E31Cu) goto L_0889E31C; AOT_REGCACHE_SYNC_OUT(); return; L_0889E31C: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x0889E328u); aot_gpr_5 = (ctx.gpr[18] | 0u); goto L_0889E0A8; @@ -5707,19 +5708,19 @@ L_0889E328: goto L_0889E330; } L_0889E330: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x0889E33Cu); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 310u, 0x088066C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889E33Cu) goto L_0889E33C; AOT_REGCACHE_SYNC_OUT(); return; L_0889E33C: - ctx.gpr[2] = (aot_gpr_17 | 0u); + aot_gpr_2 = (ctx.gpr[17] | 0u); goto L_0889E340; L_0889E340: { std::uint32_t aot_run_words[8]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(1032), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -5744,15 +5745,15 @@ L_0889E368: } L_0889E374: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_0889E388; } goto L_0889E37C; } L_0889E37C: - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(0), aot_gpr_4); - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(0), aot_gpr_4); + aot_gpr_2 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(4), 0u); goto L_0889E388; L_0889E388: @@ -5765,9 +5766,9 @@ L_0889E388: L_0889E390: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[6]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_6); aot_gpr_5 = (2186u << 16u); - ctx.gpr[6] = (aot_gpr_29 | 0u); + aot_gpr_6 = (aot_gpr_29 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x0889E3B0u); aot_gpr_5 = (aot_gpr_5 + static_cast(-7320)); @@ -5783,10 +5784,10 @@ L_0889E3B0: AOT_REGCACHE_SYNC_OUT(); return; L_0889E3BC: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } { const bool branch_taken = aot_gpr_5 == 0u; - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_0889E464; } @@ -5795,24 +5796,24 @@ L_0889E3BC: L_0889E3D8: aot_gpr_5 = (ctx.gpr[28] + static_cast(-25312)); aot_gpr_31 = (0x0889E3E4u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 430u, 0x08806E68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889E3E4u) goto L_0889E3E4; AOT_REGCACHE_SYNC_OUT(); return; L_0889E3E4: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x0889E3F0u); aot_gpr_5 = (0u + static_cast(-10001)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 453u, 0x088070DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889E3F0u) goto L_0889E3F0; AOT_REGCACHE_SYNC_OUT(); return; L_0889E3F0: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x0889E3FCu); aot_gpr_5 = (0u + static_cast(-1)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889E3FCu) goto L_0889E3FC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806888, 0u, 324u, 0x08806888u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889E3FCu) goto L_0889E3FC; AOT_REGCACHE_SYNC_OUT(); return; L_0889E3FC: aot_gpr_4 = (0u | 6u); - { const bool branch_taken = ctx.gpr[2] != aot_gpr_4; + { const bool branch_taken = aot_gpr_2 != aot_gpr_4; // nop if (branch_taken) { goto L_0889E42C; @@ -5820,16 +5821,16 @@ L_0889E3FC: goto L_0889E408; } L_0889E408: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x0889E414u); aot_gpr_5 = (0u + static_cast(-2)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 315u, 0x0880673Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889E414u) goto L_0889E414; AOT_REGCACHE_SYNC_OUT(); return; L_0889E414: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 1u); aot_gpr_31 = (0x0889E424u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 508u, 0x08807644u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889E424u) goto L_0889E424; AOT_REGCACHE_SYNC_OUT(); return; L_0889E424: @@ -5843,31 +5844,31 @@ L_0889E424: L_0889E42C: aot_gpr_4 = (2234u << 16u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(15532))); - aot_gpr_17 = (ctx.gpr[28] + static_cast(-25304)); + ctx.gpr[17] = (ctx.gpr[28] + static_cast(-25304)); ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(12))); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x0889E448u); aot_gpr_5 = (0u + static_cast(-2)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 375u, 0x08806B2Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889E448u) goto L_0889E448; AOT_REGCACHE_SYNC_OUT(); return; L_0889E448: aot_gpr_4 = (ctx.gpr[18] | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0889E458u); - ctx.gpr[6] = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0212_entry, 212u, 425u, 0x08B55920u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889E458u) goto L_0889E458; AOT_REGCACHE_SYNC_OUT(); return; L_0889E458: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x0889E464u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889E464u) goto L_0889E464; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806654, 0u, 303u, 0x08806654u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889E464u) goto L_0889E464; AOT_REGCACHE_SYNC_OUT(); return; L_0889E464: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -5879,39 +5880,39 @@ L_0889E464: AOT_REGCACHE_SYNC_OUT(); return; L_0889E47C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); { const bool branch_taken = aot_gpr_5 != 0u; - aot_gpr_16 = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); if (branch_taken) { goto L_0889E4B0; } goto L_0889E498; } L_0889E498: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (0u | 0u); - ctx.gpr[6] = (0u + static_cast(-1)); + aot_gpr_6 = (0u + static_cast(-1)); aot_gpr_31 = (0x0889E4ACu); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 512u, 0x0880768Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889E4ACu) goto L_0889E4AC; AOT_REGCACHE_SYNC_OUT(); return; L_0889E4AC: - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (aot_gpr_2 | 0u); goto L_0889E4B0; L_0889E4B0: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0889E4BCu); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); goto L_0889E3BC; L_0889E4BC: - ctx.gpr[2] = (aot_gpr_16 | 0u); + aot_gpr_2 = (ctx.gpr[16] | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -5922,18 +5923,18 @@ L_0889E4BC: AOT_REGCACHE_SYNC_OUT(); return; L_0889E4D4: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x0889E4E8u); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); goto L_0889E124; L_0889E4E8: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x0889E4F4u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); goto L_0889E47C; L_0889E4F4: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -5943,18 +5944,18 @@ L_0889E4F4: AOT_REGCACHE_SYNC_OUT(); return; L_0889E504: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x0889E518u); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); goto L_0889E390; L_0889E518: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x0889E524u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); goto L_0889E47C; L_0889E524: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -5964,27 +5965,27 @@ L_0889E524: AOT_REGCACHE_SYNC_OUT(); return; L_0889E534: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_4 | 0u); - aot_gpr_16 = (aot_gpr_5 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x0889E554u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889E554u) goto L_0889E554; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889E554u) goto L_0889E554; AOT_REGCACHE_SYNC_OUT(); return; L_0889E554: - aot_gpr_4 = (aot_gpr_17 | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (ctx.gpr[2] | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x0889E568u); - ctx.gpr[7] = (aot_gpr_16 | 0u); + ctx.gpr[7] = (ctx.gpr[16] | 0u); goto L_0889E504; L_0889E568: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -5995,18 +5996,18 @@ L_0889E568: AOT_REGCACHE_SYNC_OUT(); return; L_0889E57C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[16], ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - aot_gpr_17 = (0u | 0u); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[17] = (0u | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); goto L_0889E594; L_0889E594: aot_gpr_31 = (0x0889E59Cu); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(8))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 299u, 0x08A1A2ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889E59Cu) goto L_0889E59C; AOT_REGCACHE_SYNC_OUT(); return; L_0889E59C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_0889E5BC; @@ -6014,10 +6015,10 @@ L_0889E59C: goto L_0889E5A4; } L_0889E5A4: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - aot_gpr_4 = (static_cast(aot_gpr_17) < 1 ? 1u : 0u); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + aot_gpr_4 = (static_cast(ctx.gpr[17]) < 1 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_16 = (aot_gpr_16 + static_cast(4)); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(4)); if (branch_taken) { goto L_0889E594; } @@ -6033,20 +6034,20 @@ L_0889E5B4: } L_0889E5BC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_0889E5C8; } goto L_0889E5C4; } L_0889E5C4: - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); goto L_0889E5C8; L_0889E5C8: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -6057,21 +6058,21 @@ L_0889E5C8: AOT_REGCACHE_SYNC_OUT(); return; L_0889E5DC: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[16], ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - aot_gpr_17 = (0u | 0u); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[17] = (0u | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); goto L_0889E5F4; L_0889E5F4: aot_gpr_31 = (0x0889E5FCu); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(8))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 306u, 0x08A1A348u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889E5FCu) goto L_0889E5FC; AOT_REGCACHE_SYNC_OUT(); return; L_0889E5FC: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - aot_gpr_4 = (static_cast(aot_gpr_17) < 1 ? 1u : 0u); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + aot_gpr_4 = (static_cast(ctx.gpr[17]) < 1 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_16 = (aot_gpr_16 + static_cast(4)); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(4)); if (branch_taken) { goto L_0889E5F4; } @@ -6080,8 +6081,8 @@ L_0889E5FC: L_0889E60C: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -6092,21 +6093,21 @@ L_0889E60C: AOT_REGCACHE_SYNC_OUT(); return; L_0889E620: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[16], ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - aot_gpr_17 = (0u | 0u); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[17] = (0u | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); goto L_0889E638; L_0889E638: aot_gpr_31 = (0x0889E640u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(8))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 307u, 0x08A1A350u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889E640u) goto L_0889E640; AOT_REGCACHE_SYNC_OUT(); return; L_0889E640: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - aot_gpr_4 = (static_cast(aot_gpr_17) < 1 ? 1u : 0u); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + aot_gpr_4 = (static_cast(ctx.gpr[17]) < 1 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_16 = (aot_gpr_16 + static_cast(4)); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(4)); if (branch_taken) { goto L_0889E638; } @@ -6115,8 +6116,8 @@ L_0889E640: L_0889E650: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -6127,15 +6128,15 @@ L_0889E650: AOT_REGCACHE_SYNC_OUT(); return; L_0889E664: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); - { const std::uint32_t aot_run_words[5]{aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); + { const std::uint32_t aot_run_words[5]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(4), aot_run_words); } aot_gpr_4 = (2234u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(21920)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(4), aot_gpr_4); ctx.gpr[20] = (0u | 0u); - aot_gpr_17 = (aot_gpr_16 | 0u); + ctx.gpr[17] = (ctx.gpr[16] | 0u); goto L_0889E698; L_0889E698: ctx.gpr[19] = (0u | 0u); @@ -6144,7 +6145,7 @@ L_0889E698: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889E6A4u) goto L_0889E6A4; AOT_REGCACHE_SYNC_OUT(); return; L_0889E6A4: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[18] == 0u; aot_gpr_4 = (ctx.gpr[18] | 0u); if (branch_taken) { @@ -6161,22 +6162,22 @@ L_0889E6B8: ctx.gpr[19] = (ctx.gpr[18] | 0u); goto L_0889E6BC; L_0889E6BC: - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(8), ctx.gpr[19]); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(8), ctx.gpr[19]); ctx.gpr[20] = (ctx.gpr[20] + static_cast(1)); aot_gpr_4 = (static_cast(ctx.gpr[20]) < 1 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(4)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(4)); if (branch_taken) { goto L_0889E698; } goto L_0889E6D0; } L_0889E6D0: - ctx.gpr[2] = (aot_gpr_16 | 0u); + aot_gpr_2 = (ctx.gpr[16] | 0u); { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -6199,9 +6200,9 @@ L_0889E6F4: goto L_0889E704; } L_0889E704: - ctx.gpr[6] = (2235u << 16u); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(-27556)); - aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), ctx.gpr[6]); + aot_gpr_6 = (2235u << 16u); + aot_gpr_6 = (aot_gpr_6 + static_cast(-27556)); + aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), aot_gpr_6); { const bool branch_taken = aot_gpr_4 == 0u; aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(5900), 0u); if (branch_taken) { @@ -6210,9 +6211,9 @@ L_0889E704: goto L_0889E718; } L_0889E718: - ctx.gpr[6] = (2235u << 16u); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(-28772)); - aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), ctx.gpr[6]); + aot_gpr_6 = (2235u << 16u); + aot_gpr_6 = (aot_gpr_6 + static_cast(-28772)); + aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), aot_gpr_6); goto L_0889E724; L_0889E724: aot_gpr_5 = (aot_gpr_5 & 1u); @@ -6226,7 +6227,7 @@ L_0889E724: L_0889E730: aot_gpr_31 = (0x0889E738u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889E738u) goto L_0889E738; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889E738u) goto L_0889E738; AOT_REGCACHE_SYNC_OUT(); return; L_0889E738: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -6238,12 +6239,12 @@ L_0889E738: AOT_REGCACHE_SYNC_OUT(); return; L_0889E744: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_16 = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); if (branch_taken) { goto L_0889E7B0; } @@ -6252,13 +6253,13 @@ L_0889E744: L_0889E760: aot_gpr_4 = (2234u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(21920)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(4), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(4), aot_gpr_4); aot_gpr_31 = (0x0889E774u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); goto L_0889E5DC; L_0889E774: - { const bool branch_taken = aot_gpr_17 == 0u; - aot_gpr_4 = (aot_gpr_16 & 1u); + { const bool branch_taken = ctx.gpr[17] == 0u; + aot_gpr_4 = (ctx.gpr[16] & 1u); if (branch_taken) { goto L_0889E7A0; } @@ -6267,8 +6268,8 @@ L_0889E774: L_0889E77C: aot_gpr_4 = (2235u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-27556)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(4), aot_gpr_4); - { const bool branch_taken = aot_gpr_17 == 0u; + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(4), aot_gpr_4); + { const bool branch_taken = ctx.gpr[17] == 0u; aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(5900), 0u); if (branch_taken) { goto L_0889E79C; @@ -6278,10 +6279,10 @@ L_0889E77C: L_0889E790: aot_gpr_4 = (2235u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28772)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(4), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(4), aot_gpr_4); goto L_0889E79C; L_0889E79C: - aot_gpr_4 = (aot_gpr_16 & 1u); + aot_gpr_4 = (ctx.gpr[16] & 1u); goto L_0889E7A0; L_0889E7A0: { const bool branch_taken = aot_gpr_4 == 0u; @@ -6293,14 +6294,14 @@ L_0889E7A0: } L_0889E7A8: aot_gpr_31 = (0x0889E7B0u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889E7B0u) goto L_0889E7B0; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889E7B0u) goto L_0889E7B0; AOT_REGCACHE_SYNC_OUT(); return; L_0889E7B0: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -6315,67 +6316,67 @@ L_0889E7C4: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); aot_gpr_31 = (0x0889E7D8u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889E7D8u) goto L_0889E7D8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889E7D8u) goto L_0889E7D8; AOT_REGCACHE_SYNC_OUT(); return; L_0889E7D8: aot_gpr_4 = (0u | 3u); aot_gpr_31 = (0x0889E7E4u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889E7E4u) goto L_0889E7E4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889E7E4u) goto L_0889E7E4; AOT_REGCACHE_SYNC_OUT(); return; L_0889E7E4: aot_gpr_4 = (0u | 4u); aot_gpr_31 = (0x0889E7F0u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889E7F0u) goto L_0889E7F0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889E7F0u) goto L_0889E7F0; AOT_REGCACHE_SYNC_OUT(); return; L_0889E7F0: aot_gpr_4 = (0u | 6u); aot_gpr_31 = (0x0889E7FCu); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889E7FCu) goto L_0889E7FC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889E7FCu) goto L_0889E7FC; AOT_REGCACHE_SYNC_OUT(); return; L_0889E7FC: aot_gpr_4 = (0u | 5u); aot_gpr_31 = (0x0889E808u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889E808u) goto L_0889E808; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889E808u) goto L_0889E808; AOT_REGCACHE_SYNC_OUT(); return; L_0889E808: aot_gpr_4 = (0u | 7u); aot_gpr_31 = (0x0889E814u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889E814u) goto L_0889E814; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889E814u) goto L_0889E814; AOT_REGCACHE_SYNC_OUT(); return; L_0889E814: aot_gpr_4 = (0u | 10u); aot_gpr_31 = (0x0889E820u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889E820u) goto L_0889E820; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889E820u) goto L_0889E820; AOT_REGCACHE_SYNC_OUT(); return; L_0889E820: aot_gpr_4 = (0u | 8u); aot_gpr_31 = (0x0889E82Cu); aot_gpr_5 = (0u | 5u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889E82Cu) goto L_0889E82C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889E82Cu) goto L_0889E82C; AOT_REGCACHE_SYNC_OUT(); return; L_0889E82C: aot_gpr_4 = (0u | 9u); aot_gpr_31 = (0x0889E838u); aot_gpr_5 = (0u | 6u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889E838u) goto L_0889E838; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889E838u) goto L_0889E838; AOT_REGCACHE_SYNC_OUT(); return; L_0889E838: aot_gpr_4 = (0u | 14u); aot_gpr_31 = (0x0889E844u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889E844u) goto L_0889E844; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889E844u) goto L_0889E844; AOT_REGCACHE_SYNC_OUT(); return; L_0889E844: aot_gpr_4 = (0u | 11u); aot_gpr_31 = (0x0889E850u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889E850u) goto L_0889E850; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889E850u) goto L_0889E850; AOT_REGCACHE_SYNC_OUT(); return; L_0889E850: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23440))); @@ -6388,41 +6389,41 @@ L_0889E850: } L_0889E85C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(11096))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(11092))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(11092))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(11100))); aot_gpr_5 = (aot_gpr_5 << 8u); - aot_gpr_5 = (aot_gpr_5 | ctx.gpr[6]); + aot_gpr_5 = (aot_gpr_5 | aot_gpr_6); aot_gpr_4 = (aot_gpr_4 << 16u); aot_gpr_5 = (aot_gpr_5 | aot_gpr_4); aot_gpr_4 = (65280u << 16u); aot_gpr_5 = (aot_gpr_5 | aot_gpr_4); aot_gpr_31 = (0x0889E888u); aot_gpr_4 = (0u | 12u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889E888u) goto L_0889E888; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889E888u) goto L_0889E888; AOT_REGCACHE_SYNC_OUT(); return; L_0889E888: aot_gpr_4 = (0u | 13u); aot_gpr_31 = (0x0889E894u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889E894u) goto L_0889E894; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889E894u) goto L_0889E894; AOT_REGCACHE_SYNC_OUT(); return; L_0889E894: aot_fpr_12 = std::bit_cast(0u); aot_gpr_4 = (2236u << 16u); aot_gpr_5 = (std::bit_cast(aot_fpr_12)); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(29552))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(29552))); aot_gpr_5 = (aot_gpr_5 >> 8u); ctx.gpr[7] = (18944u << 16u); aot_gpr_5 = (aot_gpr_5 | ctx.gpr[7]); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(0), aot_gpr_5); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(0), aot_gpr_5); ctx.gpr[7] = (std::bit_cast(aot_fpr_12)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(29552))); - ctx.gpr[6] = (ctx.gpr[7] >> 8u); + aot_gpr_6 = (ctx.gpr[7] >> 8u); aot_gpr_5 = (aot_gpr_5 + static_cast(4)); ctx.gpr[7] = (19200u << 16u); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(29552), aot_gpr_5); - ctx.gpr[6] = (ctx.gpr[6] | ctx.gpr[7]); - aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), ctx.gpr[6]); + aot_gpr_6 = (aot_gpr_6 | ctx.gpr[7]); + aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_6); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(29552))); aot_gpr_5 = (aot_gpr_5 + static_cast(4)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(29552), aot_gpr_5); @@ -6436,7 +6437,7 @@ L_0889E894: L_0889E8EC: aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_4); jump_target = aot_gpr_31; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -6445,14 +6446,14 @@ L_0889E8F8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_5 = (2186u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); - ctx.gpr[6] = (aot_gpr_29 | 0u); + aot_gpr_6 = (aot_gpr_29 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x0889E914u); aot_gpr_5 = (aot_gpr_5 + static_cast(-5908)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 82u, 0x089D86FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889E914u) goto L_0889E914; AOT_REGCACHE_SYNC_OUT(); return; L_0889E914: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_2 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -6463,7 +6464,7 @@ L_0889E914: L_0889E924: aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_4); jump_target = aot_gpr_31; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -6472,14 +6473,14 @@ L_0889E930: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_5 = (2186u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); - ctx.gpr[6] = (aot_gpr_29 | 0u); + aot_gpr_6 = (aot_gpr_29 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x0889E94Cu); aot_gpr_5 = (aot_gpr_5 + static_cast(-5852)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0091_entry, 91u, 626u, 0x08972E68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889E94Cu) goto L_0889E94C; AOT_REGCACHE_SYNC_OUT(); return; L_0889E94C: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_2 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -6490,7 +6491,7 @@ L_0889E94C: L_0889E95C: aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_4); jump_target = aot_gpr_31; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -6499,14 +6500,14 @@ L_0889E968: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_5 = (2186u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); - ctx.gpr[6] = (aot_gpr_29 | 0u); + aot_gpr_6 = (aot_gpr_29 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x0889E984u); aot_gpr_5 = (aot_gpr_5 + static_cast(-5796)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 352u, 0x08A65998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889E984u) goto L_0889E984; AOT_REGCACHE_SYNC_OUT(); return; L_0889E984: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_2 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -6521,7 +6522,7 @@ L_0889E994: // nop goto L_0889E8F8; L_0889E9A4: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -6536,14 +6537,14 @@ L_0889E9B0: AOT_REGCACHE_SYNC_OUT(); return; L_0889E9B8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u < ctx.gpr[2] ? 1u : 0u); + aot_gpr_2 = (0u < aot_gpr_2 ? 1u : 0u); if (branch_taken) { goto L_0889E9C4; } goto L_0889E9C0; } L_0889E9C0: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_0889E9C4; L_0889E9C4: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -6555,27 +6556,27 @@ L_0889E9C4: AOT_REGCACHE_SYNC_OUT(); return; L_0889E9D0: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_20), aot_gpr_16, aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_20), ctx.gpr[16], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(28), aot_run_words); } { const bool branch_taken = aot_gpr_4 == 0u; - ctx.gpr[2] = (aot_gpr_4 | 0u); + aot_gpr_2 = (aot_gpr_4 | 0u); if (branch_taken) { goto L_0889EA50; } goto L_0889E9E8; } L_0889E9E8: - aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(4))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(4))); aot_fpr_20 = std::bit_cast(0u); aot_gpr_4 = (0u | 1u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x0889EA04u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 244u, 0x089690F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889EA04u) goto L_0889EA04; AOT_REGCACHE_SYNC_OUT(); return; L_0889EA04: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_0889EA48; @@ -6583,14 +6584,14 @@ L_0889EA04: goto L_0889EA0C; } L_0889EA0C: - ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(16))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(16))); { const std::uint32_t aot_run_words[5]{std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_20)}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_4 = (16256u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), std::bit_cast(aot_fpr_20)); aot_fpr_12 = std::bit_cast(aot_gpr_4); ctx.gpr[8] = (0u | 0u); - aot_gpr_4 = (static_cast(ctx.gpr[8]) < static_cast(aot_gpr_16) ? 1u : 0u); + aot_gpr_4 = (static_cast(ctx.gpr[8]) < static_cast(ctx.gpr[16]) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), std::bit_cast(aot_fpr_12)); if (branch_taken) { @@ -6608,7 +6609,7 @@ L_0889EA40: } L_0889EA48: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_0889EAC8; } @@ -6616,7 +6617,7 @@ L_0889EA48: } L_0889EA50: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_0889EAC8; } @@ -6625,7 +6626,7 @@ L_0889EA50: L_0889EA58: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(12), aot_run_words); - ctx.gpr[6] = aot_run_words[0]; + aot_gpr_6 = aot_run_words[0]; aot_gpr_5 = aot_run_words[1]; aot_gpr_4 = aot_run_words[2]; aot_fpr_12 = std::bit_cast(aot_run_words[3]); @@ -6639,7 +6640,7 @@ L_0889EA58: L_0889EA7C: ctx.gpr[9] = (ctx.gpr[7] + static_cast(8)); ctx.gpr[10] = (std::bit_cast(aot_fpr_12)); - aot_mem.aot_direct_store32(ctx.gpr[9] + static_cast(0), ctx.gpr[6]); + aot_mem.aot_direct_store32(ctx.gpr[9] + static_cast(0), aot_gpr_6); ctx.gpr[11] = (std::bit_cast(ctx.fpr[15])); aot_mem.aot_direct_store32(ctx.gpr[9] + static_cast(4), aot_gpr_5); ctx.gpr[3] = (std::bit_cast(aot_fpr_14)); @@ -6652,7 +6653,7 @@ L_0889EA7C: aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(4), std::bit_cast(aot_fpr_20)); aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(0), 0u); ctx.gpr[8] = (ctx.gpr[8] + static_cast(1)); - ctx.gpr[9] = (static_cast(ctx.gpr[8]) < static_cast(aot_gpr_16) ? 1u : 0u); + ctx.gpr[9] = (static_cast(ctx.gpr[8]) < static_cast(ctx.gpr[16]) ? 1u : 0u); { const bool branch_taken = ctx.gpr[9] != 0u; ctx.gpr[7] = (ctx.gpr[7] + static_cast(36)); if (branch_taken) { @@ -6664,7 +6665,7 @@ L_0889EAC8: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(28), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); - aot_gpr_16 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -6675,16 +6676,16 @@ L_0889EAC8: AOT_REGCACHE_SYNC_OUT(); return; L_0889EADC: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x0889EAF0u); - aot_gpr_16 = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 287u, 0x0896950Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889EAF0u) goto L_0889EAF0; AOT_REGCACHE_SYNC_OUT(); return; L_0889EAF0: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), ctx.gpr[2]); - ctx.gpr[2] = (0u | 0u); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), aot_gpr_2); + aot_gpr_2 = (0u | 0u); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -6696,14 +6697,14 @@ L_0889EB08: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_5 = (2186u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); - ctx.gpr[6] = (aot_gpr_29 | 0u); + aot_gpr_6 = (aot_gpr_29 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x0889EB24u); aot_gpr_5 = (aot_gpr_5 + static_cast(-5412)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 82u, 0x089D86FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889EB24u) goto L_0889EB24; AOT_REGCACHE_SYNC_OUT(); return; L_0889EB24: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_2 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -6713,16 +6714,16 @@ L_0889EB24: AOT_REGCACHE_SYNC_OUT(); return; L_0889EB34: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x0889EB50u); - aot_gpr_16 = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 285u, 0x089694F8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889EB50u) goto L_0889EB50; AOT_REGCACHE_SYNC_OUT(); return; L_0889EB50: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -6732,29 +6733,29 @@ L_0889EB50: } L_0889EB5C: aot_gpr_5 = (2186u << 16u); - aot_gpr_4 = (aot_gpr_17 | 0u); - ctx.gpr[6] = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x0889EB70u); aot_gpr_5 = (aot_gpr_5 + static_cast(-5324)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0091_entry, 91u, 614u, 0x08972D0Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889EB70u) goto L_0889EB70; AOT_REGCACHE_SYNC_OUT(); return; L_0889EB70: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_gpr_17 | 0u); + aot_gpr_2 = (ctx.gpr[17] | 0u); if (branch_taken) { goto L_0889EB80; } goto L_0889EB78; } L_0889EB78: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), aot_gpr_4); - ctx.gpr[2] = (0u | 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), aot_gpr_4); + aot_gpr_2 = (0u | 0u); goto L_0889EB80; L_0889EB80: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -6766,16 +6767,16 @@ L_0889EB80: L_0889EB94: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_16); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[16]); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x0889EBB0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 285u, 0x089694F8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889EBB0u) goto L_0889EBB0; AOT_REGCACHE_SYNC_OUT(); return; L_0889EBB0: - { const bool branch_taken = ctx.gpr[2] != 0u; - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[2]); + { const bool branch_taken = aot_gpr_2 != 0u; + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_2); if (branch_taken) { goto L_0889EBCC; } @@ -6783,8 +6784,8 @@ L_0889EBB0: } L_0889EBB8: aot_gpr_5 = (2186u << 16u); - aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (aot_gpr_29 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); + aot_gpr_6 = (aot_gpr_29 | 0u); aot_gpr_31 = (0x0889EBCCu); aot_gpr_5 = (aot_gpr_5 + static_cast(-5324)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0091_entry, 91u, 614u, 0x08972D0Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889EBCCu) goto L_0889EBCC; @@ -6792,8 +6793,8 @@ L_0889EBB8: L_0889EBCC: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - ctx.gpr[2] = aot_run_words[0]; - aot_gpr_16 = aot_run_words[1]; + aot_gpr_2 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -6804,56 +6805,56 @@ L_0889EBCC: AOT_REGCACHE_SYNC_OUT(); return; L_0889EBE0: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_17 = (ctx.gpr[6] | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[16] = (aot_gpr_4 | 0u); + ctx.gpr[17] = (aot_gpr_6 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x0889EC00u); aot_gpr_4 = (aot_gpr_5 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 284u, 0x089694F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889EC00u) goto L_0889EC00; AOT_REGCACHE_SYNC_OUT(); return; L_0889EC00: - aot_gpr_4 = (aot_gpr_17 << 6u); - aot_gpr_4 = (ctx.gpr[2] + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[17] << 6u); + aot_gpr_4 = (aot_gpr_2 + aot_gpr_4); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_4 + static_cast(0), aot_run_words); aot_gpr_5 = aot_run_words[0]; - ctx.gpr[6] = aot_run_words[1]; + aot_gpr_6 = aot_run_words[1]; ctx.gpr[7] = aot_run_words[2]; } - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(12))); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), ctx.gpr[6]); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(8), ctx.gpr[7]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(4), aot_gpr_6); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(8), ctx.gpr[7]); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(12), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(12), aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(24))); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(16), ctx.gpr[6]); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(28))); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(20), ctx.gpr[7]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(16), aot_gpr_6); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(28))); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(20), ctx.gpr[7]); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(32))); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(24), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(24), aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(36))); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(28), ctx.gpr[6]); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(40))); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(32), ctx.gpr[7]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(28), aot_gpr_6); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(40))); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(32), ctx.gpr[7]); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(44))); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(36), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(36), aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(48))); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(40), ctx.gpr[6]); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(52))); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(44), ctx.gpr[7]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(40), aot_gpr_6); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(52))); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(44), ctx.gpr[7]); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(56))); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(48), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(48), aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(60))); - { const std::uint32_t aot_run_words[3]{ctx.gpr[6], ctx.gpr[7], aot_gpr_4}; - aot_mem.aot_direct_store32_block(aot_gpr_16 + static_cast(52), aot_run_words); } + { const std::uint32_t aot_run_words[3]{aot_gpr_6, ctx.gpr[7], aot_gpr_4}; + aot_mem.aot_direct_store32_block(ctx.gpr[16] + static_cast(52), aot_run_words); } { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -6864,20 +6865,20 @@ L_0889EC00: AOT_REGCACHE_SYNC_OUT(); return; L_0889EC9C: aot_gpr_29 = (aot_gpr_29 + static_cast(-80)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), aot_gpr_31); aot_gpr_31 = (0x0889ECB4u); aot_gpr_4 = (aot_gpr_29 | 0u); goto L_0889EBE0; L_0889ECB4: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x0889ECC0u); aot_gpr_5 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 149u, 0x089D8C3Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889ECC0u) goto L_0889ECC0; AOT_REGCACHE_SYNC_OUT(); return; L_0889ECC0: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(68))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(80)); @@ -6887,9 +6888,9 @@ L_0889ECC0: AOT_REGCACHE_SYNC_OUT(); return; L_0889ECD0: aot_gpr_29 = (aot_gpr_29 + static_cast(-304)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(264), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); - { const std::uint32_t aot_run_words[9]{aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(264), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); + { const std::uint32_t aot_run_words[9]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(268), aot_run_words); } { const bool branch_taken = aot_gpr_5 != 0u; ctx.gpr[20] = (aot_gpr_5 | 0u); @@ -6908,24 +6909,24 @@ L_0889ED08: } L_0889ED10: aot_gpr_31 = (0x0889ED18u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_0889E8F8; L_0889ED18: aot_gpr_31 = (0x0889ED20u); - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(20))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(20))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 226u, 0x08968F88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889ED20u) goto L_0889ED20; AOT_REGCACHE_SYNC_OUT(); return; L_0889ED20: - ctx.gpr[22] = (ctx.gpr[2] | 0u); + ctx.gpr[22] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x0889ED2Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_0889EB08; L_0889ED2C: aot_fpr_12 = std::bit_cast(0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(260), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(260), aot_gpr_2); aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(0), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(4), std::bit_cast(aot_fpr_12)); - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); ctx.gpr[18] = (0u | 0u); aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(8), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x0889ED50u); @@ -6933,10 +6934,10 @@ L_0889ED2C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 228u, 0x08968F9Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889ED50u) goto L_0889ED50; AOT_REGCACHE_SYNC_OUT(); return; L_0889ED50: - aot_gpr_17 = (0u | 1u); - aot_gpr_4 = (static_cast(aot_gpr_17) < static_cast(ctx.gpr[2]) ? 1u : 0u); + ctx.gpr[17] = (0u | 1u); + aot_gpr_4 = (static_cast(ctx.gpr[17]) < static_cast(aot_gpr_2) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(256), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(256), aot_gpr_2); if (branch_taken) { goto L_0889EE14; } @@ -6954,18 +6955,18 @@ L_0889ED78: aot_gpr_4 = (ctx.gpr[30] | 0u); aot_gpr_5 = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x0889ED88u); - ctx.gpr[6] = (aot_gpr_17 | 0u); + aot_gpr_6 = (ctx.gpr[17] | 0u); goto L_0889EC9C; L_0889ED88: aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_5 = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x0889ED98u); - ctx.gpr[6] = (ctx.gpr[18] | 0u); + aot_gpr_6 = (ctx.gpr[18] | 0u); goto L_0889EBE0; L_0889ED98: aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_5 = (ctx.gpr[23] | 0u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_gpr_31 = (0x0889EDACu); ctx.gpr[7] = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 233u, 0x088618A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889EDACu) goto L_0889EDAC; @@ -6984,8 +6985,8 @@ L_0889EDAC: goto L_0889EDC8; } L_0889EDC8: - aot_gpr_16 = (aot_gpr_16 + static_cast(1)); - aot_gpr_5 = (aot_gpr_16 << 2u); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(1)); + aot_gpr_5 = (ctx.gpr[16] << 2u); aot_gpr_5 = (aot_gpr_29 + aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), ctx.gpr[18]); goto L_0889EDD8; @@ -6999,24 +7000,24 @@ L_0889EDD8: goto L_0889EDE4; } L_0889EDE4: - aot_gpr_4 = (aot_gpr_16 << 2u); + aot_gpr_4 = (ctx.gpr[16] << 2u); aot_gpr_4 = (aot_gpr_29 + aot_gpr_4); ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); { const bool branch_taken = 0u == 0u; - aot_gpr_16 = (aot_gpr_16 + static_cast(-1)); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(-1)); if (branch_taken) { goto L_0889EDFC; } goto L_0889EDF8; } L_0889EDF8: - ctx.gpr[18] = (aot_gpr_17 | 0u); + ctx.gpr[18] = (ctx.gpr[17] | 0u); goto L_0889EDFC; L_0889EDFC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(256))); - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); ctx.gpr[20] = (ctx.gpr[20] + static_cast(12)); - aot_gpr_4 = (static_cast(aot_gpr_17) < static_cast(aot_gpr_4) ? 1u : 0u); + aot_gpr_4 = (static_cast(ctx.gpr[17]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; ctx.gpr[19] = (ctx.gpr[19] + static_cast(8)); if (branch_taken) { @@ -7027,8 +7028,8 @@ L_0889EDFC: L_0889EE14: { std::uint32_t aot_run_words[10]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(264), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -7046,7 +7047,7 @@ L_0889EE14: AOT_REGCACHE_SYNC_OUT(); return; L_0889EE44: aot_gpr_29 = (aot_gpr_29 + static_cast(-112)); - { const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -7094,14 +7095,14 @@ L_0889EE44: ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 0u, 0u, 3u>(); ctx.execute_vfpu_unary_ct<28u, 28u, 1u, 22u>(); - ctx.gpr[6] = (ctx.vfpu_scalar_bits_ct<28u>()); - aot_fpr_13 = std::bit_cast(ctx.gpr[6]); - ctx.gpr[6] = (16256u << 16u); - aot_fpr_14 = std::bit_cast(ctx.gpr[6]); + aot_gpr_6 = (ctx.vfpu_scalar_bits_ct<28u>()); + aot_fpr_13 = std::bit_cast(aot_gpr_6); + aot_gpr_6 = (16256u << 16u); + aot_fpr_14 = std::bit_cast(aot_gpr_6); aot_fpr_13 = aot_fpr_14 / aot_fpr_13; aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[8] + static_cast(4))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[15] <= ctx.fpr[16])) ? 0x00800000u : 0u); @@ -7118,7 +7119,7 @@ L_0889EEA8: ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[8] + static_cast(4))); ctx.fpr[15] = ctx.fpr[15] - ctx.fpr[16]; aot_fpr_12 = ctx.fpr[15] / aot_fpr_12; - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } { const bool branch_taken = 0u == 0u; aot_fpr_12 = aot_fpr_14 - aot_fpr_12; @@ -7144,12 +7145,12 @@ L_0889EEE0: ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(4))); ctx.fpr[15] = ctx.fpr[15] - ctx.fpr[16]; aot_fpr_12 = ctx.fpr[15] / aot_fpr_12; - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = aot_fpr_14 - aot_fpr_12; goto L_0889EEFC; L_0889EEFC: - { const bool branch_taken = ctx.gpr[6] == 0u; + { const bool branch_taken = aot_gpr_6 == 0u; // nop if (branch_taken) { goto L_0889EF34; @@ -7157,8 +7158,8 @@ L_0889EEFC: goto L_0889EF04; } L_0889EF04: - ctx.gpr[6] = (std::bit_cast(aot_fpr_12)); - ctx.set_vfpu_scalar_bits_ct<1u>(ctx.gpr[6]); + aot_gpr_6 = (std::bit_cast(aot_fpr_12)); + ctx.set_vfpu_scalar_bits_ct<1u>(aot_gpr_6); { const std::uint32_t vfpu_address = ctx.gpr[9] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -7192,12 +7193,12 @@ L_0889EF04: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 0u>(); - ctx.gpr[6] = (aot_gpr_29 + static_cast(32)); + aot_gpr_6 = (aot_gpr_29 + static_cast(32)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - { const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -7219,7 +7220,7 @@ L_0889EF34: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[16] <= ctx.fpr[17])) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (branch_taken) { goto L_0889EF74; } @@ -7230,7 +7231,7 @@ L_0889EF54: ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[8] + static_cast(0))); aot_fpr_12 = aot_fpr_12 - ctx.fpr[16]; aot_fpr_12 = aot_fpr_12 / ctx.fpr[15]; - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } { const bool branch_taken = 0u == 0u; aot_fpr_12 = aot_fpr_14 - aot_fpr_12; @@ -7256,12 +7257,12 @@ L_0889EF8C: ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(0))); aot_fpr_12 = aot_fpr_12 - ctx.fpr[16]; aot_fpr_12 = aot_fpr_12 / ctx.fpr[15]; - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = aot_fpr_14 - aot_fpr_12; goto L_0889EFA8; L_0889EFA8: - { const bool branch_taken = ctx.gpr[6] == 0u; + { const bool branch_taken = aot_gpr_6 == 0u; // nop if (branch_taken) { goto L_0889EFE0; @@ -7269,8 +7270,8 @@ L_0889EFA8: goto L_0889EFB0; } L_0889EFB0: - ctx.gpr[6] = (std::bit_cast(aot_fpr_12)); - ctx.set_vfpu_scalar_bits_ct<1u>(ctx.gpr[6]); + aot_gpr_6 = (std::bit_cast(aot_fpr_12)); + ctx.set_vfpu_scalar_bits_ct<1u>(aot_gpr_6); { const std::uint32_t vfpu_address = ctx.gpr[9] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -7333,12 +7334,12 @@ L_0889EFE0: L_0889EFE8: aot_gpr_29 = (aot_gpr_29 + static_cast(-640)); ctx.fpr[18] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(0))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(0))); ctx.fpr[18] = ctx.fpr[18] - aot_fpr_14; ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); ctx.fpr[17] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - ctx.fpr[19] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(4))); + ctx.fpr[19] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(4))); aot_fpr_14 = ctx.fpr[15] - ctx.fpr[16]; ctx.gpr[8] = (ctx.gpr[8] & 255u); ctx.fpr[17] = ctx.fpr[17] - ctx.fpr[19]; @@ -7393,7 +7394,7 @@ L_0889F05C: } L_0889F064: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_0889F3F8; } @@ -7461,7 +7462,7 @@ L_0889F06C: const std::uint32_t vfpu_address = ctx.gpr[11] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - { const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -7502,9 +7503,9 @@ L_0889F06C: ctx.fpr[3] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(88))); ctx.gpr[11] = (std::bit_cast(ctx.fpr[3])); ctx.fpr[2] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(92))); - ctx.gpr[2] = (std::bit_cast(ctx.fpr[2])); + aot_gpr_2 = (std::bit_cast(ctx.fpr[2])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), ctx.gpr[11]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), aot_gpr_2); ctx.fpr[1] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); { const float fs = ctx.fpr[1]; const float ft = ctx.fpr[1]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[19] = std::bit_cast(0x7FC00000u); else ctx.fpr[19] = fs * ft; } ctx.fpr[0] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(68))); @@ -7526,7 +7527,7 @@ L_0889F144: aot_mem.aot_direct_store32_block(ctx.gpr[10] + static_cast(0), aot_run_words); } aot_mem.aot_direct_store32(ctx.gpr[9] + static_cast(0), std::bit_cast(aot_fpr_14)); { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_0889F3F8; } @@ -7582,8 +7583,8 @@ L_0889F16C: const std::uint32_t vfpu_address = ctx.gpr[11] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - ctx.gpr[2] = (std::bit_cast(aot_fpr_14)); - ctx.set_vfpu_scalar_bits_ct<28u>(ctx.gpr[2]); + aot_gpr_2 = (std::bit_cast(aot_fpr_14)); + ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_2); { const std::uint32_t vfpu_address = ctx.gpr[7] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -7594,12 +7595,12 @@ L_0889F16C: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); - ctx.gpr[2] = (aot_gpr_29 + static_cast(128)); + aot_gpr_2 = (aot_gpr_29 + static_cast(128)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = ctx.gpr[2] + static_cast(0); + const std::uint32_t vfpu_address = aot_gpr_2 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - { const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -7608,7 +7609,7 @@ L_0889F16C: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = ctx.gpr[2] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_2 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -7656,10 +7657,10 @@ L_0889F16C: ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = ctx.gpr[2] + static_cast(0); + const std::uint32_t vfpu_address = aot_gpr_2 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - { const std::uint32_t vfpu_address = ctx.gpr[2] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_2 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -7683,7 +7684,7 @@ L_0889F16C: L_0889F1FC: aot_mem.aot_direct_store32(ctx.gpr[9] + static_cast(0), std::bit_cast(aot_fpr_14)); { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_0889F3F8; } @@ -7738,7 +7739,7 @@ L_0889F244: } L_0889F24C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_0889F3F8; } @@ -7807,7 +7808,7 @@ L_0889F254: const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - { const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -7872,7 +7873,7 @@ L_0889F330: aot_mem.aot_direct_store32_block(ctx.gpr[10] + static_cast(0), aot_run_words); } aot_mem.aot_direct_store32(ctx.gpr[9] + static_cast(0), std::bit_cast(aot_fpr_14)); { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_0889F3F8; } @@ -7945,7 +7946,7 @@ L_0889F358: const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - { const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -7964,12 +7965,12 @@ L_0889F358: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 0u>(); - ctx.gpr[6] = (aot_gpr_29 + static_cast(272)); + aot_gpr_6 = (aot_gpr_29 + static_cast(272)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - { const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -8029,14 +8030,14 @@ L_0889F358: L_0889F3E8: aot_mem.aot_direct_store32(ctx.gpr[9] + static_cast(0), std::bit_cast(aot_fpr_14)); { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_0889F3F8; } goto L_0889F3F4; } L_0889F3F4: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_0889F3F8; L_0889F3F8: jump_target = aot_gpr_31; @@ -8047,23 +8048,23 @@ L_0889F3F8: AOT_REGCACHE_SYNC_OUT(); return; L_0889F400: aot_gpr_29 = (aot_gpr_29 + static_cast(-288)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(260), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(260), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(276), ctx.gpr[20]); ctx.gpr[20] = (ctx.gpr[7] | 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2192))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2192))); { const std::uint32_t aot_run_words[4]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(244), aot_run_words); } - { const std::uint32_t aot_run_words[3]{aot_gpr_17, ctx.gpr[18], ctx.gpr[19]}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(264), aot_run_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(280), ctx.gpr[21]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(284), aot_gpr_31); aot_gpr_31 = (0x0889F444u); - aot_gpr_17 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889F444u) goto L_0889F444; + ctx.gpr[17] = (0u | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889F444u) goto L_0889F444; AOT_REGCACHE_SYNC_OUT(); return; L_0889F444: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_0889F460; @@ -8076,7 +8077,7 @@ L_0889F44C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0170_entry, 170u, 526u, 0x08AAE958u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889F454u) goto L_0889F454; AOT_REGCACHE_SYNC_OUT(); return; L_0889F454: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_0889F460; @@ -8084,10 +8085,10 @@ L_0889F454: goto L_0889F45C; } L_0889F45C: - aot_gpr_17 = (0u | 1u); + ctx.gpr[17] = (0u | 1u); goto L_0889F460; L_0889F460: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(460))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(460))); aot_gpr_4 = (aot_gpr_4 & 2048u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -8097,7 +8098,7 @@ L_0889F460: goto L_0889F470; } L_0889F470: - { const bool branch_taken = aot_gpr_17 != 0u; + { const bool branch_taken = ctx.gpr[17] != 0u; // nop if (branch_taken) { goto L_0889F548; @@ -8106,11 +8107,11 @@ L_0889F470: } L_0889F478: aot_gpr_31 = (0x0889F480u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2192))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889F480u) goto L_0889F480; + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2192))); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889F480u) goto L_0889F480; AOT_REGCACHE_SYNC_OUT(); return; L_0889F480: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_0889F49C; @@ -8118,11 +8119,11 @@ L_0889F480: goto L_0889F488; } L_0889F488: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(460))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(460))); aot_gpr_5 = (0u + static_cast(-2049)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(460), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(460), aot_gpr_4); if (branch_taken) { goto L_0889F554; } @@ -8130,16 +8131,16 @@ L_0889F488: } L_0889F49C: aot_gpr_31 = (0x0889F4A4u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2192))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2192))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0082_entry, 82u, 295u, 0x0894D4DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889F4A4u) goto L_0889F4A4; AOT_REGCACHE_SYNC_OUT(); return; L_0889F4A4: aot_gpr_31 = (0x0889F4ACu); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2192))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2192))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 195u, 0x08910B38u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889F4ACu) goto L_0889F4AC; AOT_REGCACHE_SYNC_OUT(); return; L_0889F4AC: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_0889F524; @@ -8152,7 +8153,7 @@ L_0889F4B4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0036_entry, 36u, 273u, 0x088954ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889F4BCu) goto L_0889F4BC; AOT_REGCACHE_SYNC_OUT(); return; L_0889F4BC: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_0889F524; @@ -8160,18 +8161,18 @@ L_0889F4BC: goto L_0889F4C4; } L_0889F4C4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2192))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2192))); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(1929)))))); - ctx.gpr[6] = (aot_gpr_5 << 5u); + aot_gpr_6 = (aot_gpr_5 << 5u); aot_gpr_5 = (aot_gpr_5 << 2u); - aot_gpr_5 = (ctx.gpr[6] - aot_gpr_5); + aot_gpr_5 = (aot_gpr_6 - aot_gpr_5); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_31 = (0x0889F4E4u); aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0143_entry, 143u, 159u, 0x08A40D34u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889F4E4u) goto L_0889F4E4; AOT_REGCACHE_SYNC_OUT(); return; L_0889F4E4: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_0889F50C; @@ -8179,14 +8180,14 @@ L_0889F4E4: goto L_0889F4EC; } L_0889F4EC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(460))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(460))); aot_gpr_5 = (0u + static_cast(-2049)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(460), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(460), aot_gpr_4); aot_gpr_5 = (0u + static_cast(-4097)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(460), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(460), aot_gpr_4); if (branch_taken) { goto L_0889F540; } @@ -8194,11 +8195,11 @@ L_0889F4EC: } L_0889F50C: aot_gpr_31 = (0x0889F514u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 184u, 0x089B4A30u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889F514u) goto L_0889F514; AOT_REGCACHE_SYNC_OUT(); return; L_0889F514: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_0889F540; @@ -8207,20 +8208,20 @@ L_0889F514: } L_0889F51C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0039_entry, 39u, 119u, 0x088A08ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_0889F524; } L_0889F524: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(460))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(460))); aot_gpr_5 = (0u + static_cast(-2049)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(460), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(460), aot_gpr_4); aot_gpr_5 = (0u + static_cast(-4097)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(460), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(460), aot_gpr_4); goto L_0889F540; L_0889F540: { const bool branch_taken = 0u == 0u; @@ -8231,13 +8232,13 @@ L_0889F540: goto L_0889F548; } L_0889F548: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x0889F554u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0039_entry, 39u, 377u, 0x088A1AF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889F554u) goto L_0889F554; AOT_REGCACHE_SYNC_OUT(); return; L_0889F554: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1728))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1728))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_4 = (aot_gpr_5 < aot_gpr_4 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; @@ -8248,7 +8249,7 @@ L_0889F554: goto L_0889F568; } L_0889F568: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(460))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(460))); aot_gpr_4 = (aot_gpr_4 & 512u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -8259,11 +8260,11 @@ L_0889F568: } L_0889F578: aot_gpr_31 = (0x0889F580u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2192))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889F580u) goto L_0889F580; + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2192))); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889F580u) goto L_0889F580; AOT_REGCACHE_SYNC_OUT(); return; L_0889F580: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_0889F5A8; @@ -8279,15 +8280,15 @@ L_0889F588: goto L_0889F590; } L_0889F590: - aot_gpr_17 = (0u | 1u); - aot_gpr_4 = (aot_gpr_16 | 0u); + ctx.gpr[17] = (0u | 1u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x0889F5A0u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889F5A0u) goto L_0889F5A0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889F5A0u) goto L_0889F5A0; AOT_REGCACHE_SYNC_OUT(); return; L_0889F5A0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_gpr_17 | 0u); + aot_gpr_2 = (ctx.gpr[17] | 0u); if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0039_entry, 39u, 119u, 0x088A08ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } @@ -8299,10 +8300,10 @@ L_0889F5A8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889F5B0u) goto L_0889F5B0; AOT_REGCACHE_SYNC_OUT(); return; L_0889F5B0: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1360))); - ctx.gpr[6] = (0u | 6u); - { const bool branch_taken = aot_gpr_5 != ctx.gpr[6]; - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1360))); + aot_gpr_6 = (0u | 6u); + { const bool branch_taken = aot_gpr_5 != aot_gpr_6; + aot_gpr_4 = (aot_gpr_2 | 0u); if (branch_taken) { goto L_0889F5D0; } @@ -8329,7 +8330,7 @@ L_0889F5D0: goto L_0889F5E0; } L_0889F5E0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2192))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2192))); aot_gpr_5 = (0u | 65u); aot_gpr_4 = (aot_gpr_4 + static_cast(2228)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); @@ -8341,10 +8342,10 @@ L_0889F5E0: goto L_0889F5F8; } L_0889F5F8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2228))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2228))); aot_gpr_5 = (0u | 54u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; - aot_gpr_17 = (0u | 1u); + ctx.gpr[17] = (0u | 1u); if (branch_taken) { goto L_0889F610; } @@ -8352,12 +8353,12 @@ L_0889F5F8: } L_0889F608: aot_gpr_31 = (0x0889F610u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 282u, 0x0890905Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889F610u) goto L_0889F610; AOT_REGCACHE_SYNC_OUT(); return; L_0889F610: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_gpr_17 | 0u); + aot_gpr_2 = (ctx.gpr[17] | 0u); if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0039_entry, 39u, 119u, 0x088A08ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } @@ -8365,11 +8366,11 @@ L_0889F610: } L_0889F618: aot_gpr_31 = (0x0889F620u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2192))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889F620u) goto L_0889F620; + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2192))); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889F620u) goto L_0889F620; AOT_REGCACHE_SYNC_OUT(); return; L_0889F620: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_0889F670; @@ -8377,7 +8378,7 @@ L_0889F620: goto L_0889F628; } L_0889F628: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1360))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1360))); aot_gpr_5 = (0u | 6u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -8387,7 +8388,7 @@ L_0889F628: goto L_0889F638; } L_0889F638: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2276))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2276))); aot_gpr_5 = (0u | 2u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -8402,7 +8403,7 @@ L_0889F648: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889F650u) goto L_0889F650; AOT_REGCACHE_SYNC_OUT(); return; L_0889F650: - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(2312))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(2312))); { const bool branch_taken = static_cast(aot_gpr_4) <= 0; // nop if (branch_taken) { @@ -8411,7 +8412,7 @@ L_0889F650: goto L_0889F65C; } L_0889F65C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(468))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(468))); aot_gpr_5 = (128u << 16u); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); { const bool branch_taken = aot_gpr_4 == 0u; @@ -8422,7 +8423,7 @@ L_0889F65C: goto L_0889F670; } L_0889F670: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2192))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2192))); aot_fpr_20 = std::bit_cast(0u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1252))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_20)) ? 0x00800000u : 0u); @@ -8448,19 +8449,19 @@ L_0889F68C: ctx.execute_vfpu_unary_ct<28u, 28u, 1u, 22u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); ctx.fpr[22] = std::bit_cast(aot_gpr_4); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1929)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(1929)))))); aot_gpr_5 = (aot_gpr_4 << 5u); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); aot_gpr_31 = (0x0889F6C0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889F6C0u) goto L_0889F6C0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889F6C0u) goto L_0889F6C0; AOT_REGCACHE_SYNC_OUT(); return; L_0889F6C0: - ctx.fpr[24] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(8))); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2120))); + ctx.fpr[24] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(8))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2120))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -8477,29 +8478,29 @@ L_0889F6D0: goto L_0889F6D8; } L_0889F6D8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(460))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(460))); aot_gpr_5 = (0u + static_cast(-257)); aot_gpr_4 = (aot_gpr_4 | 128u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(460), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(460), aot_gpr_4); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_4 = (aot_gpr_4 | 256u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(460), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(460), aot_gpr_4); { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0039_entry, 39u, 119u, 0x088A08ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_0889F6FC; } L_0889F6FC: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x0889F708u); aot_gpr_5 = (0u | 3u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0178_entry, 178u, 442u, 0x08ACD4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889F708u) goto L_0889F708; AOT_REGCACHE_SYNC_OUT(); return; L_0889F708: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0039_entry, 39u, 119u, 0x088A08ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } @@ -8512,11 +8513,11 @@ L_0889F710: goto L_0889F71C; L_0889F71C: aot_gpr_31 = (0x0889F724u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2192))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2192))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 195u, 0x08910B38u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889F724u) goto L_0889F724; AOT_REGCACHE_SYNC_OUT(); return; L_0889F724: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_0889F744; @@ -8524,7 +8525,7 @@ L_0889F724: goto L_0889F72C; } L_0889F72C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2192))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2192))); aot_gpr_5 = (0u | 60u); aot_gpr_4 = (aot_gpr_4 + static_cast(2228)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); @@ -8536,7 +8537,7 @@ L_0889F72C: goto L_0889F744; } L_0889F744: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2244))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2244))); ctx.gpr[18] = (0u | 1u); { const bool branch_taken = aot_gpr_4 != ctx.gpr[18]; ctx.gpr[19] = (0u | 6u); @@ -8547,11 +8548,11 @@ L_0889F744: } L_0889F754: aot_gpr_31 = (0x0889F75Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 620u, 0x08906DE4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889F75Cu) goto L_0889F75C; AOT_REGCACHE_SYNC_OUT(); return; L_0889F75C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_0889F784; @@ -8559,9 +8560,9 @@ L_0889F75C: goto L_0889F764; } L_0889F764: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2192))); - aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2192))); + aot_gpr_4 = (ctx.gpr[16] | 0u); + aot_gpr_6 = (0u | 0u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x0889F77Cu); ctx.gpr[8] = (0u | 0u); @@ -8569,11 +8570,11 @@ L_0889F764: AOT_REGCACHE_SYNC_OUT(); return; L_0889F77C: aot_gpr_31 = (0x0889F784u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 332u, 0x0890932Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889F784u) goto L_0889F784; AOT_REGCACHE_SYNC_OUT(); return; L_0889F784: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1360))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1360))); { const bool branch_taken = aot_gpr_4 != ctx.gpr[19]; // nop if (branch_taken) { @@ -8583,11 +8584,11 @@ L_0889F784: } L_0889F790: aot_gpr_31 = (0x0889F798u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2192))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889F798u) goto L_0889F798; + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2192))); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889F798u) goto L_0889F798; AOT_REGCACHE_SYNC_OUT(); return; L_0889F798: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_0889F85C; @@ -8595,7 +8596,7 @@ L_0889F798: goto L_0889F7A0; } L_0889F7A0: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(2301))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(2301))); aot_gpr_5 = (16384u << 16u); { const bool branch_taken = aot_gpr_4 == 0u; aot_fpr_12 = std::bit_cast(aot_gpr_5); @@ -8605,7 +8606,7 @@ L_0889F7A0: goto L_0889F7B0; } L_0889F7B0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2192))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2192))); aot_gpr_5 = (0u | 45u); aot_gpr_4 = (aot_gpr_4 + static_cast(2228)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); @@ -8626,7 +8627,7 @@ L_0889F7C8: goto L_0889F7D4; } L_0889F7D4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2192))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2192))); aot_gpr_5 = (0u | 60u); aot_gpr_4 = (aot_gpr_4 + static_cast(2228)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); @@ -8638,10 +8639,10 @@ L_0889F7D4: goto L_0889F7EC; } L_0889F7EC: - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(2301), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(2301), static_cast(0u)); goto L_0889F7F0; L_0889F7F0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2228))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2228))); aot_gpr_5 = (0u | 17u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -8665,7 +8666,7 @@ L_0889F808: goto L_0889F818; } L_0889F818: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2192))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2192))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1732))); aot_gpr_4 = (aot_gpr_5 < aot_gpr_4 ? 1u : 0u); @@ -8677,7 +8678,7 @@ L_0889F818: goto L_0889F830; } L_0889F830: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2192))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2192))); aot_gpr_5 = (0u | 60u); aot_gpr_4 = (aot_gpr_4 + static_cast(2228)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); @@ -8689,14 +8690,14 @@ L_0889F830: goto L_0889F848; } L_0889F848: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2192))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2192))); aot_gpr_31 = (0x0889F854u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 108u, 0x08A346B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889F854u) goto L_0889F854; AOT_REGCACHE_SYNC_OUT(); return; L_0889F854: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 2u); + aot_gpr_2 = (0u | 2u); if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0039_entry, 39u, 119u, 0x088A08ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } @@ -8743,7 +8744,7 @@ L_0889F878: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_4 = (aot_gpr_16 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(16)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -8779,7 +8780,7 @@ L_0889F8BC: aot_fpr_12 = std::bit_cast(aot_gpr_4); goto L_0889F8E0; L_0889F8E0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1772))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1772))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -8788,7 +8789,7 @@ L_0889F8E0: goto L_0889F8EC; } L_0889F8EC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1776))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1776))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -8797,11 +8798,11 @@ L_0889F8EC: goto L_0889F8F8; } L_0889F8F8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1772))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1776))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1772))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1776))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); - aot_gpr_4 = (aot_gpr_4 < ctx.gpr[6] ? 1u : 0u); + aot_gpr_4 = (aot_gpr_4 < aot_gpr_6 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -8810,10 +8811,10 @@ L_0889F8F8: goto L_0889F914; } L_0889F914: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(460))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(460))); aot_gpr_4 = (aot_gpr_4 & 512u); if (aot_gpr_4 == 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(456))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(456))); goto L_0889F94C; } goto L_0889F924; @@ -8827,16 +8828,16 @@ L_0889F924: } L_0889F92C: aot_gpr_31 = (0x0889F934u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 454u, 0x08909B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889F934u) goto L_0889F934; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08909B60, 65u, 454u, 0x08909B60u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 454u, 0x08909B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889F934u) goto L_0889F934; AOT_REGCACHE_SYNC_OUT(); return; L_0889F934: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(460))); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(1772), 0u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(460))); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(1772), 0u); aot_gpr_4 = (aot_gpr_4 | 128u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(460), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(460), aot_gpr_4); { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (ctx.gpr[18] | 0u); + aot_gpr_2 = (ctx.gpr[18] | 0u); if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0039_entry, 39u, 119u, 0x088A08ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } @@ -8853,7 +8854,7 @@ L_0889F94C: goto L_0889F95C; } L_0889F95C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2228))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2228))); aot_gpr_5 = (0u | 16u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -8863,7 +8864,7 @@ L_0889F95C: goto L_0889F96C; } L_0889F96C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(460))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(460))); aot_gpr_5 = (128u << 16u); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); { const bool branch_taken = aot_gpr_4 != 0u; @@ -8874,7 +8875,7 @@ L_0889F96C: goto L_0889F980; } L_0889F980: - { const bool branch_taken = aot_gpr_17 != 0u; + { const bool branch_taken = ctx.gpr[17] != 0u; // nop if (branch_taken) { goto L_0889FBC0; @@ -8892,7 +8893,7 @@ L_0889F988: goto L_0889F998; } L_0889F998: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2192))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2192))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1732))); aot_gpr_4 = (aot_gpr_5 < aot_gpr_4 ? 1u : 0u); @@ -8904,7 +8905,7 @@ L_0889F998: goto L_0889F9B0; } L_0889F9B0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2192))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2192))); aot_gpr_5 = (0u | 65u); aot_gpr_4 = (aot_gpr_4 + static_cast(2228)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); @@ -8916,7 +8917,7 @@ L_0889F9B0: goto L_0889F9C8; } L_0889F9C8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2192))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2192))); aot_gpr_4 = (aot_gpr_4 + static_cast(2228)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); { const bool branch_taken = aot_gpr_4 == ctx.gpr[21]; @@ -8927,7 +8928,7 @@ L_0889F9C8: goto L_0889F9DC; } L_0889F9DC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2192))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2192))); aot_gpr_5 = (0u | 59u); aot_gpr_4 = (aot_gpr_4 + static_cast(2228)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); @@ -8955,10 +8956,10 @@ L_0889F9F8: L_0889FA0C: aot_gpr_31 = (0x0889FA14u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889FA14u) goto L_0889FA14; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889FA14u) goto L_0889FA14; AOT_REGCACHE_SYNC_OUT(); return; L_0889FA14: - aot_gpr_4 = (ctx.gpr[2] & 65535u); + aot_gpr_4 = (aot_gpr_2 & 65535u); aot_gpr_4 = (aot_gpr_4 & 0u); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_4 = (16192u << 16u); @@ -8980,7 +8981,7 @@ L_0889FA24: goto L_0889FA3C; } L_0889FA3C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2192))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2192))); aot_gpr_4 = (aot_gpr_4 + static_cast(2228)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); { const bool branch_taken = aot_gpr_4 == ctx.gpr[21]; @@ -8991,7 +8992,7 @@ L_0889FA3C: goto L_0889FA50; } L_0889FA50: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2192))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2192))); aot_gpr_5 = (0u | 59u); aot_gpr_4 = (aot_gpr_4 + static_cast(2228)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); @@ -9007,7 +9008,7 @@ L_0889FA68: ctx.fpr[26] = std::bit_cast(aot_gpr_4); goto L_0889FA70; L_0889FA70: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(456))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(456))); aot_gpr_5 = (16384u << 16u); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); { const bool branch_taken = aot_gpr_4 == 0u; @@ -9020,20 +9021,20 @@ L_0889FA70: L_0889FA84: { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_20)}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(32), aot_run_words); } - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2192))); - aot_gpr_17 = (aot_gpr_29 + static_cast(32)); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2192))); + ctx.gpr[17] = (aot_gpr_29 + static_cast(32)); aot_gpr_5 = (aot_gpr_5 + static_cast(48)); aot_gpr_31 = (0x0889FAA4u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 34u, 0x08910218u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889FAA4u) goto L_0889FAA4; AOT_REGCACHE_SYNC_OUT(); return; L_0889FAA4: aot_gpr_31 = (0x0889FAACu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 843u, 0x0890FCD8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889FAACu) goto L_0889FAAC; AOT_REGCACHE_SYNC_OUT(); return; L_0889FAAC: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_0889FAD4; @@ -9042,25 +9043,25 @@ L_0889FAAC: } L_0889FAB4: ctx.gpr[18] = (aot_gpr_29 + static_cast(48)); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x0889FAC4u); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 10u, 0x08910074u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889FAC4u) goto L_0889FAC4; AOT_REGCACHE_SYNC_OUT(); return; L_0889FAC4: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x0889FAD4u); - ctx.gpr[6] = (aot_gpr_17 | 0u); + aot_gpr_6 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 358u, 0x089B5A20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889FAD4u) goto L_0889FAD4; AOT_REGCACHE_SYNC_OUT(); return; L_0889FAD4: aot_gpr_31 = (0x0889FADCu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 843u, 0x0890FCD8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889FADCu) goto L_0889FADC; AOT_REGCACHE_SYNC_OUT(); return; L_0889FADC: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_0889FB00; @@ -9068,30 +9069,30 @@ L_0889FADC: goto L_0889FAE4; } L_0889FAE4: - aot_gpr_17 = (aot_gpr_29 + static_cast(64)); - aot_gpr_4 = (aot_gpr_16 | 0u); + ctx.gpr[17] = (aot_gpr_29 + static_cast(64)); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x0889FAF4u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 94u, 0x089105E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889FAF4u) goto L_0889FAF4; AOT_REGCACHE_SYNC_OUT(); return; L_0889FAF4: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x0889FB00u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 34u, 0x08910218u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889FB00u) goto L_0889FB00; AOT_REGCACHE_SYNC_OUT(); return; L_0889FB00: - aot_gpr_17 = (aot_gpr_29 + static_cast(16)); - aot_gpr_4 = (aot_gpr_16 | 0u); + ctx.gpr[17] = (aot_gpr_29 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x0889FB10u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 10u, 0x08910074u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889FB10u) goto L_0889FB10; AOT_REGCACHE_SYNC_OUT(); return; L_0889FB10: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2060))); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2060))); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x0889FB20u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 686u, 0x0890AA84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889FB20u) goto L_0889FB20; AOT_REGCACHE_SYNC_OUT(); return; L_0889FB20: @@ -9103,14 +9104,14 @@ L_0889FB20: goto L_0889FB28; } L_0889FB28: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2192))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2192))); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[26])); aot_gpr_31 = (0x0889FB38u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 751u, 0x0890AED8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889FB38u) goto L_0889FB38; AOT_REGCACHE_SYNC_OUT(); return; L_0889FB38: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2192))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2192))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1300))); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_4 = (16544u << 16u); @@ -9131,16 +9132,16 @@ L_0889FB48: goto L_0889FB5C; } L_0889FB5C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(456))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(468))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(456))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(468))); aot_gpr_4 = (aot_gpr_4 | ctx.gpr[20]); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(456), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(456), aot_gpr_4); aot_gpr_4 = (aot_gpr_5 | 2048u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(468), aot_gpr_4); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(468), aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x0889FB80u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889FB80u) goto L_0889FB80; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889FB80u) goto L_0889FB80; AOT_REGCACHE_SYNC_OUT(); return; L_0889FB80: { const bool branch_taken = 0u == 0u; @@ -9151,7 +9152,7 @@ L_0889FB80: goto L_0889FB88; } L_0889FB88: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(468))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(468))); aot_gpr_4 = (aot_gpr_4 & 2048u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -9161,24 +9162,24 @@ L_0889FB88: goto L_0889FB98; } L_0889FB98: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(456))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(456))); aot_gpr_5 = (61440u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(-1)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(468))); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(456), aot_gpr_4); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(468))); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(456), aot_gpr_4); aot_gpr_4 = (0u + static_cast(-2049)); aot_gpr_4 = (aot_gpr_5 & aot_gpr_4); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(468), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(468), aot_gpr_4); if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0039_entry, 39u, 43u, 0x088A027Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_0889FBC0; } L_0889FBC0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2228))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1744))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2228))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1744))); ctx.gpr[20] = (aot_gpr_4 ^ 39u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_4 = (aot_gpr_5 < aot_gpr_4 ? 1u : 0u); @@ -9200,7 +9201,7 @@ L_0889FBDC: goto L_0889FBEC; } L_0889FBEC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2192))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2192))); aot_gpr_5 = (0u | 46u); aot_gpr_4 = (aot_gpr_4 + static_cast(2228)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); @@ -9212,7 +9213,7 @@ L_0889FBEC: goto L_0889FC04; } L_0889FC04: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2192))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2192))); aot_gpr_5 = (0u | 60u); aot_gpr_4 = (aot_gpr_4 + static_cast(2228)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); @@ -9224,7 +9225,7 @@ L_0889FC04: goto L_0889FC1C; } L_0889FC1C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(460))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(460))); aot_gpr_4 = (aot_gpr_4 & 8192u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -9234,7 +9235,7 @@ L_0889FC1C: goto L_0889FC2C; } L_0889FC2C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(460))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(460))); aot_gpr_4 = (aot_gpr_4 & 4096u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -9244,25 +9245,25 @@ L_0889FC2C: goto L_0889FC3C; } L_0889FC3C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(460))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(460))); aot_gpr_5 = (65472u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(-1)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2192))); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(460), aot_gpr_4); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2192))); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(460), aot_gpr_4); aot_gpr_31 = (0x0889FC5Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0056_entry, 56u, 716u, 0x088E76D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889FC5Cu) goto L_0889FC5C; AOT_REGCACHE_SYNC_OUT(); return; L_0889FC5C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2192))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(92))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2192))); aot_gpr_4 = (aot_gpr_4 + static_cast(240)); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x0889FC78u); - aot_gpr_4 = (aot_gpr_16 + ctx.gpr[6]); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_6); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889FC78u) goto L_0889FC78; AOT_REGCACHE_SYNC_OUT(); return; @@ -9277,61 +9278,61 @@ L_0889FC78: L_0889FC80: aot_gpr_31 = (0x0889FC88u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889FC88u) goto L_0889FC88; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889FC88u) goto L_0889FC88; AOT_REGCACHE_SYNC_OUT(); return; L_0889FC88: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-25268))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-25272))); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-25272))); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x0889FC9Cu); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889FC9Cu) goto L_0889FC9C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889FC9Cu) goto L_0889FC9C; AOT_REGCACHE_SYNC_OUT(); return; L_0889FC9C: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-25260))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-25264))); ctx.gpr[1] = (ctx.gpr[3] << 1u); - ctx.gpr[6] = (ctx.gpr[2] >> 31u); + aot_gpr_6 = (aot_gpr_2 >> 31u); ctx.gpr[7] = (static_cast(static_cast(ctx.gpr[3]) >> 31u)); - ctx.gpr[6] = (ctx.gpr[1] | ctx.gpr[6]); - ctx.gpr[8] = (ctx.gpr[6] + aot_gpr_4); + aot_gpr_6 = (ctx.gpr[1] | aot_gpr_6); + ctx.gpr[8] = (aot_gpr_6 + aot_gpr_4); ctx.gpr[9] = (ctx.gpr[8] < aot_gpr_4 ? 1u : 0u); - ctx.gpr[6] = (ctx.gpr[9] + ctx.gpr[7]); - aot_gpr_5 = (ctx.gpr[6] + aot_gpr_5); + aot_gpr_6 = (ctx.gpr[9] + ctx.gpr[7]); + aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); aot_gpr_4 = (ctx.gpr[8] | 0u); aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_31 = (0x0889FCD4u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 613u, 0x0890A5BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889FCD4u) goto L_0889FCD4; AOT_REGCACHE_SYNC_OUT(); return; L_0889FCD4: aot_gpr_31 = (0x0889FCDCu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889FCDCu) goto L_0889FCDC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889FCDCu) goto L_0889FCDC; AOT_REGCACHE_SYNC_OUT(); return; L_0889FCDC: ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-25252))); ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-25256))); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 0u); ctx.gpr[7] = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x0889FCF8u); - ctx.gpr[6] = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889FCF8u) goto L_0889FCF8; + aot_gpr_6 = (ctx.gpr[18] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889FCF8u) goto L_0889FCF8; AOT_REGCACHE_SYNC_OUT(); return; L_0889FCF8: ctx.gpr[1] = (ctx.gpr[3] << 1u); - aot_gpr_4 = (ctx.gpr[2] >> 31u); + aot_gpr_4 = (aot_gpr_2 >> 31u); aot_gpr_5 = (static_cast(static_cast(ctx.gpr[3]) >> 31u)); aot_gpr_4 = (ctx.gpr[1] | aot_gpr_4); - ctx.gpr[6] = (aot_gpr_4 + ctx.gpr[18]); - ctx.gpr[7] = (ctx.gpr[6] < ctx.gpr[18] ? 1u : 0u); + aot_gpr_6 = (aot_gpr_4 + ctx.gpr[18]); + ctx.gpr[7] = (aot_gpr_6 < ctx.gpr[18] ? 1u : 0u); aot_gpr_4 = (ctx.gpr[7] + aot_gpr_5); aot_gpr_5 = (aot_gpr_4 + ctx.gpr[19]); - aot_gpr_4 = (ctx.gpr[6] | 0u); + aot_gpr_4 = (aot_gpr_6 | 0u); aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_31 = (0x0889FD28u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 598u, 0x0890A484u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889FD28u) goto L_0889FD28; AOT_REGCACHE_SYNC_OUT(); return; L_0889FD28: @@ -9343,14 +9344,14 @@ L_0889FD28: goto L_0889FD30; } L_0889FD30: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x0889FD3Cu); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 696u, 0x089AB4FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889FD3Cu) goto L_0889FD3C; AOT_REGCACHE_SYNC_OUT(); return; L_0889FD3C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (ctx.gpr[18] | 0u); + aot_gpr_2 = (ctx.gpr[18] | 0u); if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0039_entry, 39u, 119u, 0x088A08ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } @@ -9359,31 +9360,31 @@ L_0889FD3C: L_0889FD44: aot_gpr_31 = (0x0889FD4Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889FD4Cu) goto L_0889FD4C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889FD4Cu) goto L_0889FD4C; AOT_REGCACHE_SYNC_OUT(); return; L_0889FD4C: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-25244))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-25248))); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-25248))); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x0889FD60u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889FD60u) goto L_0889FD60; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889FD60u) goto L_0889FD60; AOT_REGCACHE_SYNC_OUT(); return; L_0889FD60: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-25236))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-25240))); ctx.gpr[1] = (ctx.gpr[3] << 1u); - ctx.gpr[6] = (ctx.gpr[2] >> 31u); + aot_gpr_6 = (aot_gpr_2 >> 31u); ctx.gpr[7] = (static_cast(static_cast(ctx.gpr[3]) >> 31u)); - ctx.gpr[6] = (ctx.gpr[1] | ctx.gpr[6]); - ctx.gpr[8] = (ctx.gpr[6] + aot_gpr_4); + aot_gpr_6 = (ctx.gpr[1] | aot_gpr_6); + ctx.gpr[8] = (aot_gpr_6 + aot_gpr_4); ctx.gpr[9] = (ctx.gpr[8] < aot_gpr_4 ? 1u : 0u); - ctx.gpr[6] = (ctx.gpr[9] + ctx.gpr[7]); - aot_gpr_5 = (ctx.gpr[6] + aot_gpr_5); + aot_gpr_6 = (ctx.gpr[9] + ctx.gpr[7]); + aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); aot_gpr_4 = (ctx.gpr[8] | 0u); aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_31 = (0x0889FD98u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 613u, 0x0890A5BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889FD98u) goto L_0889FD98; AOT_REGCACHE_SYNC_OUT(); return; L_0889FD98: @@ -9399,31 +9400,31 @@ L_0889FD98: L_0889FDA8: aot_gpr_31 = (0x0889FDB0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889FDB0u) goto L_0889FDB0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889FDB0u) goto L_0889FDB0; AOT_REGCACHE_SYNC_OUT(); return; L_0889FDB0: ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-25252))); ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-25256))); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 0u); ctx.gpr[7] = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x0889FDCCu); - ctx.gpr[6] = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889FDCCu) goto L_0889FDCC; + aot_gpr_6 = (ctx.gpr[18] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889FDCCu) goto L_0889FDCC; AOT_REGCACHE_SYNC_OUT(); return; L_0889FDCC: ctx.gpr[1] = (ctx.gpr[3] << 1u); - aot_gpr_4 = (ctx.gpr[2] >> 31u); + aot_gpr_4 = (aot_gpr_2 >> 31u); aot_gpr_5 = (static_cast(static_cast(ctx.gpr[3]) >> 31u)); aot_gpr_4 = (ctx.gpr[1] | aot_gpr_4); - ctx.gpr[6] = (aot_gpr_4 + ctx.gpr[18]); - ctx.gpr[7] = (ctx.gpr[6] < ctx.gpr[18] ? 1u : 0u); + aot_gpr_6 = (aot_gpr_4 + ctx.gpr[18]); + ctx.gpr[7] = (aot_gpr_6 < ctx.gpr[18] ? 1u : 0u); aot_gpr_4 = (ctx.gpr[7] + aot_gpr_5); aot_gpr_5 = (aot_gpr_4 + ctx.gpr[19]); - aot_gpr_4 = (ctx.gpr[6] | 0u); + aot_gpr_4 = (aot_gpr_6 | 0u); aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_31 = (0x0889FDFCu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 598u, 0x0890A484u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889FDFCu) goto L_0889FDFC; AOT_REGCACHE_SYNC_OUT(); return; L_0889FDFC: @@ -9437,31 +9438,31 @@ L_0889FDFC: L_0889FE04: aot_gpr_31 = (0x0889FE0Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889FE0Cu) goto L_0889FE0C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889FE0Cu) goto L_0889FE0C; AOT_REGCACHE_SYNC_OUT(); return; L_0889FE0C: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-25228))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-25232))); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-25232))); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x0889FE20u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889FE20u) goto L_0889FE20; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889FE20u) goto L_0889FE20; AOT_REGCACHE_SYNC_OUT(); return; L_0889FE20: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-25220))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-25224))); ctx.gpr[1] = (ctx.gpr[3] << 1u); - ctx.gpr[6] = (ctx.gpr[2] >> 31u); + aot_gpr_6 = (aot_gpr_2 >> 31u); ctx.gpr[7] = (static_cast(static_cast(ctx.gpr[3]) >> 31u)); - ctx.gpr[6] = (ctx.gpr[1] | ctx.gpr[6]); - ctx.gpr[8] = (ctx.gpr[6] + aot_gpr_4); + aot_gpr_6 = (ctx.gpr[1] | aot_gpr_6); + ctx.gpr[8] = (aot_gpr_6 + aot_gpr_4); ctx.gpr[9] = (ctx.gpr[8] < aot_gpr_4 ? 1u : 0u); - ctx.gpr[6] = (ctx.gpr[9] + ctx.gpr[7]); - aot_gpr_5 = (ctx.gpr[6] + aot_gpr_5); + aot_gpr_6 = (ctx.gpr[9] + ctx.gpr[7]); + aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); aot_gpr_4 = (ctx.gpr[8] | 0u); aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_31 = (0x0889FE58u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 598u, 0x0890A484u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889FE58u) goto L_0889FE58; AOT_REGCACHE_SYNC_OUT(); return; L_0889FE58: @@ -9473,7 +9474,7 @@ L_0889FE58: goto L_0889FE60; } L_0889FE60: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2192))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2192))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1300))); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -9483,7 +9484,7 @@ L_0889FE60: goto L_0889FE70; } L_0889FE70: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(468))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(468))); aot_gpr_4 = (aot_gpr_4 & 2048u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -9493,18 +9494,18 @@ L_0889FE70: goto L_0889FE80; } L_0889FE80: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(456))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(456))); aot_gpr_5 = (61440u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(-1)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(468))); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(456), aot_gpr_4); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(468))); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(456), aot_gpr_4); aot_gpr_4 = (0u + static_cast(-2049)); aot_gpr_4 = (aot_gpr_5 & aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(468), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(468), aot_gpr_4); goto L_0889FEA4; L_0889FEA4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2228))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2228))); aot_gpr_5 = (0u | 16u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -9514,7 +9515,7 @@ L_0889FEA4: goto L_0889FEB4; } L_0889FEB4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2228))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2228))); aot_gpr_5 = (0u | 17u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -9524,7 +9525,7 @@ L_0889FEB4: goto L_0889FEC4; } L_0889FEC4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(460))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(460))); aot_gpr_4 = (aot_gpr_4 & 2048u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -9534,7 +9535,7 @@ L_0889FEC4: goto L_0889FED4; } L_0889FED4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(460))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(460))); aot_gpr_4 = (aot_gpr_4 & 512u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -9544,7 +9545,7 @@ L_0889FED4: goto L_0889FEE4; } L_0889FEE4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(460))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(460))); aot_gpr_4 = (aot_gpr_4 & 8192u); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -9554,7 +9555,7 @@ L_0889FEE4: goto L_0889FEF4; } L_0889FEF4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(460))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(460))); aot_gpr_4 = (aot_gpr_4 & 4096u); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -9564,7 +9565,7 @@ L_0889FEF4: goto L_0889FF04; } L_0889FF04: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(460))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(460))); aot_gpr_5 = (64u << 16u); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); { const bool branch_taken = aot_gpr_4 != 0u; @@ -9585,44 +9586,44 @@ L_0889FF18: L_0889FF20: aot_gpr_31 = (0x0889FF28u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889FF28u) goto L_0889FF28; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889FF28u) goto L_0889FF28; AOT_REGCACHE_SYNC_OUT(); return; L_0889FF28: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-25212))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-25216))); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-25216))); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x0889FF3Cu); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889FF3Cu) goto L_0889FF3C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889FF3Cu) goto L_0889FF3C; AOT_REGCACHE_SYNC_OUT(); return; L_0889FF3C: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-25204))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-25208))); ctx.gpr[1] = (ctx.gpr[3] << 1u); - ctx.gpr[6] = (ctx.gpr[2] >> 31u); + aot_gpr_6 = (aot_gpr_2 >> 31u); ctx.gpr[7] = (static_cast(static_cast(ctx.gpr[3]) >> 31u)); - ctx.gpr[6] = (ctx.gpr[1] | ctx.gpr[6]); - ctx.gpr[8] = (ctx.gpr[6] + aot_gpr_4); + aot_gpr_6 = (ctx.gpr[1] | aot_gpr_6); + ctx.gpr[8] = (aot_gpr_6 + aot_gpr_4); ctx.gpr[9] = (ctx.gpr[8] < aot_gpr_4 ? 1u : 0u); - ctx.gpr[6] = (ctx.gpr[9] + ctx.gpr[7]); - aot_gpr_5 = (ctx.gpr[6] + aot_gpr_5); + aot_gpr_6 = (ctx.gpr[9] + ctx.gpr[7]); + aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); aot_gpr_4 = (ctx.gpr[8] | 0u); aot_gpr_5 = (aot_gpr_4 | 0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x0889FF78u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 654u, 0x089AB1F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889FF78u) goto L_0889FF78; AOT_REGCACHE_SYNC_OUT(); return; L_0889FF78: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (ctx.gpr[18] | 0u); + aot_gpr_2 = (ctx.gpr[18] | 0u); if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0039_entry, 39u, 119u, 0x088A08ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_0889FF80; } L_0889FF80: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1360))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1360))); { const bool branch_taken = aot_gpr_4 != ctx.gpr[19]; // nop if (branch_taken) { @@ -9631,11 +9632,11 @@ L_0889FF80: goto L_0889FF8C; } L_0889FF8C: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1929)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(1929)))))); aot_gpr_5 = (aot_gpr_4 << 5u); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_4 = (static_cast(aot_gpr_4) < 20 ? 1u : 0u); @@ -9648,11 +9649,11 @@ L_0889FF8C: } L_0889FFB4: aot_gpr_31 = (0x0889FFBCu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 20u, 0x08910150u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889FFBCu) goto L_0889FFBC; AOT_REGCACHE_SYNC_OUT(); return; L_0889FFBC: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_0889FFF4; @@ -9661,11 +9662,11 @@ L_0889FFBC: } L_0889FFC4: aot_gpr_31 = (0x0889FFCCu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 20u, 0x08910150u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889FFCCu) goto L_0889FFCC; AOT_REGCACHE_SYNC_OUT(); return; L_0889FFCC: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 14u); aot_gpr_4 = (aot_gpr_4 ^ 8u); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); @@ -9688,11 +9689,11 @@ L_0889FFE8: } L_0889FFF4: aot_gpr_31 = (0x0889FFFCu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 20u, 0x08910150u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0889FFFCu) goto L_0889FFFC; AOT_REGCACHE_SYNC_OUT(); return; L_0889FFFC: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0039_entry, 39u, 5u, 0x088A0034u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; diff --git a/profiles/vcs/generated/generated_unit_0039.cpp b/profiles/vcs/generated/generated_unit_0039.cpp index 29ec1c5..f85935e 100644 --- a/profiles/vcs/generated/generated_unit_0039.cpp +++ b/profiles/vcs/generated/generated_unit_0039.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0039[4095] = { }; void recomp_unit_0039_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,16,31,29,6 fprs=12,13,14,20 gpr_occ=4362 fpr_occ=652 gpr_total=5135 fpr_total=835 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,31,16,6,29 fprs=12,13,14,20 gpr_occ=4600 fpr_occ=659 gpr_total=5549 fpr_total=842 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; - std::uint32_t aot_gpr_16 = ctx.gpr[16]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; - std::uint32_t aot_gpr_29 = ctx.gpr[29]; + std::uint32_t aot_gpr_16 = ctx.gpr[16]; std::uint32_t aot_gpr_6 = ctx.gpr[6]; + std::uint32_t aot_gpr_29 = ctx.gpr[29]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_14 = ctx.fpr[14]; float aot_fpr_20 = ctx.fpr[20]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[16] = aot_gpr_16; ctx.gpr[31] = aot_gpr_31; ctx.gpr[29] = aot_gpr_29; ctx.gpr[6] = aot_gpr_6; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[20] = aot_fpr_20; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_6 = ctx.gpr[6]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_20 = ctx.fpr[20]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[31] = aot_gpr_31; ctx.gpr[16] = aot_gpr_16; ctx.gpr[6] = aot_gpr_6; ctx.gpr[29] = aot_gpr_29; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[20] = aot_fpr_20; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_29 = ctx.gpr[29]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_20 = ctx.fpr[20]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -1285,7 +1286,7 @@ L_088A018C: L_088A019C: aot_gpr_31 = (0x088A01A4u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A01A4u) goto L_088A01A4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A01A4u) goto L_088A01A4; AOT_REGCACHE_SYNC_OUT(); return; L_088A01A4: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -1340,7 +1341,7 @@ L_088A01F0: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088A01FCu); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A01FCu) goto L_088A01FC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A01FCu) goto L_088A01FC; AOT_REGCACHE_SYNC_OUT(); return; L_088A01FC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(456))); @@ -1469,7 +1470,7 @@ L_088A02E8: L_088A0304: aot_gpr_31 = (0x088A030Cu); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2192))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A030Cu) goto L_088A030C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A030Cu) goto L_088A030C; AOT_REGCACHE_SYNC_OUT(); return; L_088A030C: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -1629,7 +1630,7 @@ L_088A03F4: L_088A0414: aot_gpr_31 = (0x088A041Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A041Cu) goto L_088A041C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A041Cu) goto L_088A041C; AOT_REGCACHE_SYNC_OUT(); return; L_088A041C: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-25252))); @@ -1637,7 +1638,7 @@ L_088A041C: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x088A0430u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A0430u) goto L_088A0430; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A0430u) goto L_088A0430; AOT_REGCACHE_SYNC_OUT(); return; L_088A0430: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-25260))); @@ -1837,7 +1838,7 @@ L_088A060C: L_088A0644: aot_gpr_31 = (0x088A064Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A064Cu) goto L_088A064C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A064Cu) goto L_088A064C; AOT_REGCACHE_SYNC_OUT(); return; L_088A064C: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-25196))); @@ -1845,7 +1846,7 @@ L_088A064C: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x088A0660u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A0660u) goto L_088A0660; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A0660u) goto L_088A0660; AOT_REGCACHE_SYNC_OUT(); return; L_088A0660: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-25268))); @@ -1868,7 +1869,7 @@ L_088A0698: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088A06A4u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A06A4u) goto L_088A06A4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A06A4u) goto L_088A06A4; AOT_REGCACHE_SYNC_OUT(); return; L_088A06A4: { const bool branch_taken = 0u == 0u; @@ -1892,7 +1893,7 @@ L_088A06AC: L_088A06C0: aot_gpr_31 = (0x088A06C8u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A06C8u) goto L_088A06C8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A06C8u) goto L_088A06C8; AOT_REGCACHE_SYNC_OUT(); return; L_088A06C8: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-25188))); @@ -1900,7 +1901,7 @@ L_088A06C8: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x088A06DCu); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A06DCu) goto L_088A06DC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A06DCu) goto L_088A06DC; AOT_REGCACHE_SYNC_OUT(); return; L_088A06DC: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-25180))); @@ -1930,7 +1931,7 @@ L_088A0714: L_088A071C: aot_gpr_31 = (0x088A0724u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A0724u) goto L_088A0724; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A0724u) goto L_088A0724; AOT_REGCACHE_SYNC_OUT(); return; L_088A0724: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-25196))); @@ -1938,7 +1939,7 @@ L_088A0724: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x088A0738u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A0738u) goto L_088A0738; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A0738u) goto L_088A0738; AOT_REGCACHE_SYNC_OUT(); return; L_088A0738: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-25268))); @@ -1961,7 +1962,7 @@ L_088A0770: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088A077Cu); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A077Cu) goto L_088A077C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A077Cu) goto L_088A077C; AOT_REGCACHE_SYNC_OUT(); return; L_088A077C: { const bool branch_taken = 0u == 0u; @@ -2182,7 +2183,7 @@ L_088A08DC: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088A08E8u); aot_gpr_5 = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A08E8u) goto L_088A08E8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A08E8u) goto L_088A08E8; AOT_REGCACHE_SYNC_OUT(); return; L_088A08E8: ctx.gpr[2] = (0u | 0u); @@ -2231,7 +2232,7 @@ L_088A0920: ctx.gpr[19] = (0u | 0u); aot_gpr_31 = (0x088A0980u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2192))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A0980u) goto L_088A0980; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A0980u) goto L_088A0980; AOT_REGCACHE_SYNC_OUT(); return; L_088A0980: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -2377,7 +2378,7 @@ L_088A0A58: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088A0A68u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A0A68u) goto L_088A0A68; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A0A68u) goto L_088A0A68; AOT_REGCACHE_SYNC_OUT(); return; L_088A0A68: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(456))); @@ -2450,7 +2451,7 @@ L_088A0AF0: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088A0B00u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A0B00u) goto L_088A0B00; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A0B00u) goto L_088A0B00; AOT_REGCACHE_SYNC_OUT(); return; L_088A0B00: { const bool branch_taken = 0u == 0u; @@ -2650,7 +2651,7 @@ L_088A0C28: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088A0C34u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A0C34u) goto L_088A0C34; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A0C34u) goto L_088A0C34; AOT_REGCACHE_SYNC_OUT(); return; L_088A0C34: ctx.gpr[8] = (17530u << 16u); @@ -2743,7 +2744,7 @@ L_088A0D0C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088A0D18u); aot_gpr_5 = (0u | 5u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A0D18u) goto L_088A0D18; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A0D18u) goto L_088A0D18; AOT_REGCACHE_SYNC_OUT(); return; L_088A0D18: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(456))); @@ -2753,7 +2754,7 @@ L_088A0D18: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(456), aot_gpr_4); aot_gpr_31 = (0x088A0D34u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A0D34u) goto L_088A0D34; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890FF64, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A0D34u) goto L_088A0D34; AOT_REGCACHE_SYNC_OUT(); return; L_088A0D34: { const bool branch_taken = 0u == 0u; @@ -2835,7 +2836,7 @@ L_088A0DA0: aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); aot_gpr_31 = (0x088A0DC8u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A0DC8u) goto L_088A0DC8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A0DC8u) goto L_088A0DC8; AOT_REGCACHE_SYNC_OUT(); return; L_088A0DC8: { const std::uint32_t vfpu_address = ctx.gpr[22] + static_cast(0); @@ -3309,7 +3310,7 @@ L_088A11A4: L_088A11B4: aot_gpr_31 = (0x088A11BCu); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2192))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A11BCu) goto L_088A11BC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A11BCu) goto L_088A11BC; AOT_REGCACHE_SYNC_OUT(); return; L_088A11BC: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -3852,7 +3853,7 @@ L_088A1558: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088A1564u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A1564u) goto L_088A1564; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A1564u) goto L_088A1564; AOT_REGCACHE_SYNC_OUT(); return; L_088A1564: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); @@ -3889,7 +3890,7 @@ L_088A158C: L_088A15B8: aot_gpr_31 = (0x088A15C0u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2260), std::bit_cast(ctx.fpr[0])); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A15C0u) goto L_088A15C0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A15C0u) goto L_088A15C0; AOT_REGCACHE_SYNC_OUT(); return; L_088A15C0: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-25260))); @@ -3897,7 +3898,7 @@ L_088A15C0: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x088A15D4u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A15D4u) goto L_088A15D4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A15D4u) goto L_088A15D4; AOT_REGCACHE_SYNC_OUT(); return; L_088A15D4: ctx.gpr[1] = (ctx.gpr[3] << 1u); @@ -3923,7 +3924,7 @@ L_088A1600: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_31 = (0x088A160Cu); ctx.gpr[17] = (ctx.gpr[21] - aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A160Cu) goto L_088A160C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A160Cu) goto L_088A160C; AOT_REGCACHE_SYNC_OUT(); return; L_088A160C: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-25172))); @@ -3931,7 +3932,7 @@ L_088A160C: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x088A1620u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A1620u) goto L_088A1620; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A1620u) goto L_088A1620; AOT_REGCACHE_SYNC_OUT(); return; L_088A1620: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-25228))); @@ -3962,7 +3963,7 @@ L_088A165C: L_088A1664: aot_gpr_31 = (0x088A166Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A166Cu) goto L_088A166C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A166Cu) goto L_088A166C; AOT_REGCACHE_SYNC_OUT(); return; L_088A166C: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-25164))); @@ -3970,7 +3971,7 @@ L_088A166C: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x088A1680u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A1680u) goto L_088A1680; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A1680u) goto L_088A1680; AOT_REGCACHE_SYNC_OUT(); return; L_088A1680: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-25220))); @@ -4080,7 +4081,7 @@ L_088A175C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088A1768u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A1768u) goto L_088A1768; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A1768u) goto L_088A1768; AOT_REGCACHE_SYNC_OUT(); return; L_088A1768: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1929)))))); @@ -4176,7 +4177,7 @@ L_088A17FC: L_088A1808: aot_gpr_31 = (0x088A1810u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2192))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A1810u) goto L_088A1810; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A1810u) goto L_088A1810; AOT_REGCACHE_SYNC_OUT(); return; L_088A1810: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -4331,7 +4332,7 @@ L_088A18DC: L_088A18EC: aot_gpr_31 = (0x088A18F4u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2192))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A18F4u) goto L_088A18F4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A18F4u) goto L_088A18F4; AOT_REGCACHE_SYNC_OUT(); return; L_088A18F4: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -4601,7 +4602,7 @@ L_088A1AAC: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088A1AB8u); aot_gpr_5 = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A1AB8u) goto L_088A1AB8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A1AB8u) goto L_088A1AB8; AOT_REGCACHE_SYNC_OUT(); return; L_088A1AB8: ctx.gpr[2] = (0u | 0u); @@ -4699,7 +4700,7 @@ L_088A1B5C: L_088A1B68: aot_gpr_31 = (0x088A1B70u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2192))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A1B70u) goto L_088A1B70; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A1B70u) goto L_088A1B70; AOT_REGCACHE_SYNC_OUT(); return; L_088A1B70: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -4859,7 +4860,7 @@ L_088A1C50: L_088A1C5C: aot_gpr_31 = (0x088A1C64u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2192))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A1C64u) goto L_088A1C64; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A1C64u) goto L_088A1C64; AOT_REGCACHE_SYNC_OUT(); return; L_088A1C64: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -4913,7 +4914,7 @@ L_088A1C9C: L_088A1CB4: aot_gpr_31 = (0x088A1CBCu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A1CBCu) goto L_088A1CBC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A1CBCu) goto L_088A1CBC; AOT_REGCACHE_SYNC_OUT(); return; L_088A1CBC: ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-25156))); @@ -4923,7 +4924,7 @@ L_088A1CBC: ctx.gpr[7] = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x088A1CD8u); aot_gpr_6 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A1CD8u) goto L_088A1CD8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A1CD8u) goto L_088A1CD8; AOT_REGCACHE_SYNC_OUT(); return; L_088A1CD8: ctx.gpr[1] = (ctx.gpr[3] << 1u); @@ -4945,7 +4946,7 @@ L_088A1CD8: L_088A1D14: aot_gpr_31 = (0x088A1D1Cu); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(460), ctx.gpr[17]); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A1D1Cu) goto L_088A1D1C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A1D1Cu) goto L_088A1D1C; AOT_REGCACHE_SYNC_OUT(); return; L_088A1D1C: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-25220))); @@ -4953,7 +4954,7 @@ L_088A1D1C: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x088A1D30u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A1D30u) goto L_088A1D30; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A1D30u) goto L_088A1D30; AOT_REGCACHE_SYNC_OUT(); return; L_088A1D30: ctx.gpr[1] = (ctx.gpr[3] << 1u); @@ -5933,7 +5934,7 @@ L_088A2494: aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x088A24ACu); aot_gpr_6 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A24ACu) goto L_088A24AC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A24ACu) goto L_088A24AC; AOT_REGCACHE_SYNC_OUT(); return; L_088A24AC: ctx.gpr[2] = (0u | 0u); @@ -6778,7 +6779,7 @@ L_088A28D0: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x088A28ECu); ctx.fpr[22] = std::bit_cast(std::bit_cast(aot_fpr_13)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A28ECu) goto L_088A28EC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A28ECu) goto L_088A28EC; AOT_REGCACHE_SYNC_OUT(); return; L_088A28EC: aot_fpr_14 = ctx.fpr[22] - aot_fpr_20; @@ -7231,7 +7232,7 @@ L_088A2C04: aot_gpr_4 = (0u | 11u); aot_gpr_31 = (0x088A2C14u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A2C14u) goto L_088A2C14; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A2C14u) goto L_088A2C14; AOT_REGCACHE_SYNC_OUT(); return; L_088A2C14: aot_gpr_31 = (0x088A2C1Cu); @@ -7281,7 +7282,7 @@ L_088A2C50: aot_gpr_4 = (0u | 11u); aot_gpr_31 = (0x088A2C5Cu); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A2C5Cu) goto L_088A2C5C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A2C5Cu) goto L_088A2C5C; AOT_REGCACHE_SYNC_OUT(); return; L_088A2C5C: aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -7629,7 +7630,7 @@ L_088A2EC4: aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(12), aot_run_words); } aot_gpr_31 = (0x088A2EF4u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A2EF4u) goto L_088A2EF4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A2EF4u) goto L_088A2EF4; AOT_REGCACHE_SYNC_OUT(); return; L_088A2EF4: ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); @@ -7639,7 +7640,7 @@ L_088A2EF4: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x088A2F10u); aot_gpr_6 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A2F10u) goto L_088A2F10; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B6256C, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A2F10u) goto L_088A2F10; AOT_REGCACHE_SYNC_OUT(); return; L_088A2F10: if (static_cast(ctx.gpr[2]) >= 0) { @@ -7651,7 +7652,7 @@ L_088A2F18: aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x088A2F24u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A2F24u) goto L_088A2F24; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B627F0, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A2F24u) goto L_088A2F24; AOT_REGCACHE_SYNC_OUT(); return; L_088A2F24: { const bool branch_taken = 0u == 0u; @@ -7674,7 +7675,7 @@ L_088A2F2C: L_088A2F3C: aot_gpr_31 = (0x088A2F44u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A2F44u) goto L_088A2F44; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A2F44u) goto L_088A2F44; AOT_REGCACHE_SYNC_OUT(); return; L_088A2F44: aot_gpr_5 = (ctx.gpr[3] | 0u); @@ -7688,7 +7689,7 @@ L_088A2F44: L_088A2F50: aot_gpr_31 = (0x088A2F58u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A2F58u) goto L_088A2F58; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A2F58u) goto L_088A2F58; AOT_REGCACHE_SYNC_OUT(); return; L_088A2F58: aot_gpr_5 = (ctx.gpr[3] | 0u); @@ -7697,7 +7698,7 @@ L_088A2F58: L_088A2F60: aot_gpr_31 = (0x088A2F68u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A2F68u) goto L_088A2F68; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B627F0, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A2F68u) goto L_088A2F68; AOT_REGCACHE_SYNC_OUT(); return; L_088A2F68: { std::uint32_t aot_run_words[6]{}; @@ -7737,7 +7738,7 @@ L_088A2FB4: aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x088A2FD0u); aot_gpr_6 = (0u | 48u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A2FD0u) goto L_088A2FD0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A2FD0u) goto L_088A2FD0; AOT_REGCACHE_SYNC_OUT(); return; L_088A2FD0: aot_gpr_31 = (0x088A2FD8u); @@ -8084,7 +8085,7 @@ L_088A332C: L_088A3338: aot_gpr_31 = (0x088A3340u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(900))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A3340u) goto L_088A3340; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A3340u) goto L_088A3340; AOT_REGCACHE_SYNC_OUT(); return; L_088A3340: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -8230,7 +8231,7 @@ L_088A3410: L_088A341C: aot_gpr_31 = (0x088A3424u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A3424u) goto L_088A3424; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B01E00, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A3424u) goto L_088A3424; AOT_REGCACHE_SYNC_OUT(); return; L_088A3424: aot_gpr_4 = (0u | 4u); @@ -8287,7 +8288,7 @@ L_088A3470: L_088A348C: aot_gpr_31 = (0x088A3494u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A3494u) goto L_088A3494; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A3494u) goto L_088A3494; AOT_REGCACHE_SYNC_OUT(); return; L_088A3494: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -8417,7 +8418,7 @@ L_088A3590: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(1068), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x088A35BCu); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A35BCu) goto L_088A35BC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A35BCu) goto L_088A35BC; AOT_REGCACHE_SYNC_OUT(); return; L_088A35BC: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-25076))); @@ -8425,7 +8426,7 @@ L_088A35BC: aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x088A35D0u); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A35D0u) goto L_088A35D0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B6256C, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A35D0u) goto L_088A35D0; AOT_REGCACHE_SYNC_OUT(); return; L_088A35D0: { const bool branch_taken = static_cast(ctx.gpr[2]) < 0; @@ -9381,7 +9382,7 @@ L_088A3D30: aot_gpr_4 = (aot_gpr_16 + static_cast(32)); aot_gpr_31 = (0x088A3D50u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A3D50u) goto L_088A3D50; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A3D50u) goto L_088A3D50; AOT_REGCACHE_SYNC_OUT(); return; L_088A3D50: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-25076))); @@ -9389,7 +9390,7 @@ L_088A3D50: aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x088A3D64u); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A3D64u) goto L_088A3D64; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B6256C, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A3D64u) goto L_088A3D64; AOT_REGCACHE_SYNC_OUT(); return; L_088A3D64: { const bool branch_taken = static_cast(ctx.gpr[2]) >= 0; @@ -9716,7 +9717,7 @@ L_088A3F94: ctx.gpr[20] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-25072))); aot_gpr_31 = (0x088A3FACu); ctx.fpr[24] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A3FACu) goto L_088A3FAC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A3FACu) goto L_088A3FAC; AOT_REGCACHE_SYNC_OUT(); return; L_088A3FAC: aot_gpr_5 = (ctx.gpr[3] | 0u); @@ -9724,7 +9725,7 @@ L_088A3FAC: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x088A3FC0u); aot_gpr_6 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A3FC0u) goto L_088A3FC0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B6256C, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A3FC0u) goto L_088A3FC0; AOT_REGCACHE_SYNC_OUT(); return; L_088A3FC0: if (static_cast(ctx.gpr[2]) < 0) { @@ -9744,7 +9745,7 @@ L_088A3FC8: L_088A3FDC: aot_gpr_31 = (0x088A3FE4u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A3FE4u) goto L_088A3FE4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A3FE4u) goto L_088A3FE4; AOT_REGCACHE_SYNC_OUT(); return; L_088A3FE4: ctx.gpr[21] = (ctx.gpr[3] | 0u); @@ -9754,7 +9755,7 @@ L_088A3FE4: L_088A3FF0: aot_gpr_31 = (0x088A3FF8u); aot_gpr_4 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A3FF8u) goto L_088A3FF8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B627F0, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A3FF8u) goto L_088A3FF8; AOT_REGCACHE_SYNC_OUT(); return; L_088A3FF8: aot_gpr_4 = (16256u << 16u); diff --git a/profiles/vcs/generated/generated_unit_0040.cpp b/profiles/vcs/generated/generated_unit_0040.cpp index cb123ac..32fb5dd 100644 --- a/profiles/vcs/generated/generated_unit_0040.cpp +++ b/profiles/vcs/generated/generated_unit_0040.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0040[4096] = { }; void recomp_unit_0040_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,29,31,5,16,17 fprs=12,13,14,20 gpr_occ=3452 fpr_occ=1584 gpr_total=4334 fpr_total=1950 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,31,5,29,16,6 fprs=12,13,14,20 gpr_occ=3511 fpr_occ=1585 gpr_total=4486 fpr_total=1951 std::uint32_t aot_gpr_4 = ctx.gpr[4]; - std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; + std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_16 = ctx.gpr[16]; - std::uint32_t aot_gpr_17 = ctx.gpr[17]; + std::uint32_t aot_gpr_6 = ctx.gpr[6]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_14 = ctx.fpr[14]; float aot_fpr_20 = ctx.fpr[20]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[29] = aot_gpr_29; ctx.gpr[31] = aot_gpr_31; ctx.gpr[5] = aot_gpr_5; ctx.gpr[16] = aot_gpr_16; ctx.gpr[17] = aot_gpr_17; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[20] = aot_fpr_20; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_17 = ctx.gpr[17]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_20 = ctx.fpr[20]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[31] = aot_gpr_31; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[16] = aot_gpr_16; ctx.gpr[6] = aot_gpr_6; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[20] = aot_fpr_20; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_6 = ctx.gpr[6]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_20 = ctx.fpr[20]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -1316,8 +1317,8 @@ L_088A41F0: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<6u, 4u>(vfpu_value); } - ctx.gpr[6] = (aot_gpr_16 + static_cast(192)); - { const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + aot_gpr_6 = (aot_gpr_16 + static_cast(192)); + { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -1327,9 +1328,9 @@ L_088A41F0: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<7u, 4u>(vfpu_value); } ctx.execute_vfpu_vtfm_ct<0u, 36u, 7u, 3u, 3u>(); - ctx.gpr[6] = (aot_gpr_29 + static_cast(128)); + aot_gpr_6 = (aot_gpr_29 + static_cast(128)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); @@ -1341,7 +1342,7 @@ L_088A41F0: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -1390,10 +1391,10 @@ L_088A41F0: ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 0u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - { const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -1875,7 +1876,7 @@ L_088A462C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0041_entry, 41u, 41u, 0x088A8374u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A4638u) goto L_088A4638; AOT_REGCACHE_SYNC_OUT(); return; L_088A4638: - { const bool branch_taken = aot_gpr_17 != 0u; + { const bool branch_taken = ctx.gpr[17] != 0u; // nop if (branch_taken) { goto L_088A47E8; @@ -2164,15 +2165,15 @@ L_088A4854: L_088A4864: aot_gpr_31 = (0x088A486Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A486Cu) goto L_088A486C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A486Cu) goto L_088A486C; AOT_REGCACHE_SYNC_OUT(); return; L_088A486C: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-25060))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-25064))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-25064))); aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x088A4880u); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A4880u) goto L_088A4880; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B6256C, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A4880u) goto L_088A4880; AOT_REGCACHE_SYNC_OUT(); return; L_088A4880: { const bool branch_taken = static_cast(ctx.gpr[2]) <= 0; @@ -2960,8 +2961,8 @@ L_088A4D94: const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - ctx.gpr[6] = (std::bit_cast(aot_fpr_13)); - ctx.set_vfpu_scalar_bits_ct<28u>(ctx.gpr[6]); + aot_gpr_6 = (std::bit_cast(aot_fpr_13)); + ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_6); { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -3005,10 +3006,10 @@ L_088A4DF4: const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - ctx.gpr[6] = (16928u << 16u); - aot_fpr_12 = std::bit_cast(ctx.gpr[6]); - ctx.gpr[6] = (std::bit_cast(aot_fpr_12)); - ctx.set_vfpu_scalar_bits_ct<28u>(ctx.gpr[6]); + aot_gpr_6 = (16928u << 16u); + aot_fpr_12 = std::bit_cast(aot_gpr_6); + aot_gpr_6 = (std::bit_cast(aot_fpr_12)); + ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_6); { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -3024,9 +3025,9 @@ L_088A4DF4: const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(352))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(352))); aot_gpr_31 = (0x088A4E3Cu); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(72))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(72))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0039_entry, 39u, 556u, 0x088A26ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A4E3Cu) goto L_088A4E3C; AOT_REGCACHE_SYNC_OUT(); return; L_088A4E3C: @@ -3180,7 +3181,7 @@ L_088A4F70: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(504), std::bit_cast(aot_fpr_12)); goto L_088A4F98; L_088A4F98: - { const bool branch_taken = aot_gpr_17 != 0u; + { const bool branch_taken = ctx.gpr[17] != 0u; // nop if (branch_taken) { goto L_088A5178; @@ -3299,9 +3300,9 @@ L_088A5058: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>(); - ctx.gpr[6] = (aot_gpr_29 + static_cast(1152)); + aot_gpr_6 = (aot_gpr_29 + static_cast(1152)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (aot_gpr_16 | 0u); @@ -3357,14 +3358,14 @@ L_088A50D8: aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_5 = (aot_gpr_29 + static_cast(448)); aot_gpr_31 = (0x088A50E8u); - ctx.gpr[6] = (ctx.gpr[22] | 0u); + aot_gpr_6 = (ctx.gpr[22] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0039_entry, 39u, 554u, 0x088A26B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A50E8u) goto L_088A50E8; AOT_REGCACHE_SYNC_OUT(); return; L_088A50E8: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x088A50F8u); - ctx.gpr[6] = (ctx.gpr[20] | 0u); + aot_gpr_6 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0039_entry, 39u, 593u, 0x088A295Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A50F8u) goto L_088A50F8; AOT_REGCACHE_SYNC_OUT(); return; L_088A50F8: @@ -3421,7 +3422,7 @@ L_088A5160: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x088A5170u); - ctx.gpr[6] = (ctx.gpr[2] | 0u); + aot_gpr_6 = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0039_entry, 39u, 593u, 0x088A295Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A5170u) goto L_088A5170; AOT_REGCACHE_SYNC_OUT(); return; L_088A5170: @@ -3489,10 +3490,10 @@ L_088A51E8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0039_entry, 39u, 591u, 0x088A2938u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A51F4u) goto L_088A51F4; AOT_REGCACHE_SYNC_OUT(); return; L_088A51F4: - ctx.gpr[6] = (48419u << 16u); - ctx.gpr[6] = (ctx.gpr[6] | 55050u); + aot_gpr_6 = (48419u << 16u); + aot_gpr_6 = (aot_gpr_6 | 55050u); aot_gpr_4 = (aot_gpr_29 + static_cast(528)); - aot_fpr_12 = std::bit_cast(ctx.gpr[6]); + aot_fpr_12 = std::bit_cast(aot_gpr_6); aot_gpr_31 = (0x088A520Cu); aot_gpr_5 = (aot_gpr_29 + static_cast(496)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0039_entry, 39u, 555u, 0x088A26D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A520Cu) goto L_088A520C; @@ -3526,11 +3527,11 @@ L_088A5234: aot_gpr_4 = (aot_gpr_4 + static_cast(32304)); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(80))); aot_gpr_5 = (aot_gpr_5 << 5u); - ctx.gpr[6] = (0u - aot_gpr_5); + aot_gpr_6 = (0u - aot_gpr_5); aot_gpr_5 = (aot_gpr_5 << 2u); - ctx.gpr[6] = (ctx.gpr[6] + aot_gpr_5); + aot_gpr_6 = (aot_gpr_6 + aot_gpr_5); aot_gpr_5 = (aot_gpr_5 << 2u); - aot_gpr_5 = (ctx.gpr[6] + aot_gpr_5); + aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(112)))))); aot_gpr_5 = (0u | 1u); @@ -3586,7 +3587,7 @@ L_088A52AC: aot_gpr_4 = (ctx.gpr[22] | 0u); aot_gpr_5 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088A52CCu); - ctx.gpr[6] = (ctx.gpr[21] | 0u); + aot_gpr_6 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0039_entry, 39u, 548u, 0x088A2608u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A52CCu) goto L_088A52CC; AOT_REGCACHE_SYNC_OUT(); return; L_088A52CC: @@ -3604,7 +3605,7 @@ L_088A52E0: aot_gpr_4 = (ctx.gpr[22] | 0u); aot_gpr_5 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x088A52F0u); - ctx.gpr[6] = (ctx.gpr[21] | 0u); + aot_gpr_6 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0039_entry, 39u, 553u, 0x088A26A0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A52F0u) goto L_088A52F0; AOT_REGCACHE_SYNC_OUT(); return; L_088A52F0: @@ -3775,7 +3776,7 @@ L_088A5468: aot_gpr_4 = (0u | 45u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[28])); aot_gpr_5 = (ctx.gpr[20] | 0u); - ctx.gpr[6] = (ctx.gpr[21] | 0u); + aot_gpr_6 = (ctx.gpr[21] | 0u); ctx.gpr[10] = (std::bit_cast(aot_fpr_13)); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (aot_gpr_29 + static_cast(20)); @@ -3787,9 +3788,9 @@ L_088A5468: AOT_REGCACHE_SYNC_OUT(); return; L_088A549C: ctx.gpr[22] = (aot_gpr_29 + static_cast(1344)); - ctx.gpr[6] = (16192u << 16u); + aot_gpr_6 = (16192u << 16u); aot_gpr_4 = (ctx.gpr[22] | 0u); - aot_fpr_12 = std::bit_cast(ctx.gpr[6]); + aot_fpr_12 = std::bit_cast(aot_gpr_6); aot_gpr_31 = (0x088A54B4u); aot_gpr_5 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0039_entry, 39u, 556u, 0x088A26ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A54B4u) goto L_088A54B4; @@ -3815,7 +3816,7 @@ L_088A54DC: aot_gpr_4 = (0u | 44u); aot_gpr_5 = (ctx.gpr[20] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[24])); - ctx.gpr[6] = (ctx.gpr[22] | 0u); + aot_gpr_6 = (ctx.gpr[22] | 0u); ctx.gpr[7] = (0u | 0u); ctx.gpr[10] = (std::bit_cast(aot_fpr_13)); ctx.gpr[8] = (aot_gpr_29 + static_cast(16)); @@ -3837,7 +3838,7 @@ L_088A5514: ctx.gpr[19] = (0u | 1u); goto L_088A5518; L_088A5518: - { const bool branch_taken = aot_gpr_17 != 0u; + { const bool branch_taken = ctx.gpr[17] != 0u; // nop if (branch_taken) { goto L_088A57B8; @@ -4062,7 +4063,7 @@ L_088A56D4: aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_5 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088A56E4u); - ctx.gpr[6] = (ctx.gpr[23] | 0u); + aot_gpr_6 = (ctx.gpr[23] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0039_entry, 39u, 548u, 0x088A2608u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A56E4u) goto L_088A56E4; AOT_REGCACHE_SYNC_OUT(); return; L_088A56E4: @@ -4109,7 +4110,7 @@ L_088A572C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0039_entry, 39u, 556u, 0x088A26ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A573Cu) goto L_088A573C; AOT_REGCACHE_SYNC_OUT(); return; L_088A573C: - ctx.gpr[6] = (aot_gpr_29 + static_cast(448)); + aot_gpr_6 = (aot_gpr_29 + static_cast(448)); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088A574Cu); aot_gpr_5 = (ctx.gpr[22] | 0u); @@ -4157,7 +4158,7 @@ L_088A57A8: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x088A57B8u); - ctx.gpr[6] = (ctx.gpr[2] | 0u); + aot_gpr_6 = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0039_entry, 39u, 593u, 0x088A295Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A57B8u) goto L_088A57B8; AOT_REGCACHE_SYNC_OUT(); return; L_088A57B8: @@ -4212,7 +4213,7 @@ L_088A581C: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x088A582Cu); - ctx.gpr[6] = (ctx.gpr[2] | 0u); + aot_gpr_6 = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0039_entry, 39u, 547u, 0x088A25F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A582Cu) goto L_088A582C; AOT_REGCACHE_SYNC_OUT(); return; L_088A582C: @@ -4528,7 +4529,7 @@ L_088A5AD8: goto L_088A5AE8; } L_088A5AE8: - { const bool branch_taken = aot_gpr_17 != 0u; + { const bool branch_taken = ctx.gpr[17] != 0u; // nop if (branch_taken) { goto L_088A5B00; @@ -4685,17 +4686,17 @@ L_088A5BF4: goto L_088A5C14; L_088A5C14: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-25052))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-25056))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-25056))); aot_gpr_5 = (16253u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1572), ctx.gpr[7]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1568), ctx.gpr[6]); - ctx.gpr[6] = (aot_gpr_5 | 28836u); - aot_fpr_12 = std::bit_cast(ctx.gpr[6]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1568), aot_gpr_6); + aot_gpr_6 = (aot_gpr_5 | 28836u); + aot_fpr_12 = std::bit_cast(aot_gpr_6); aot_gpr_4 = (aot_gpr_29 + static_cast(1536)); aot_gpr_5 = (aot_gpr_29 + static_cast(1568)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1576), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x088A5C44u); - ctx.gpr[6] = (aot_gpr_29 + static_cast(1576)); + aot_gpr_6 = (aot_gpr_29 + static_cast(1576)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0039_entry, 39u, 677u, 0x088A2EC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A5C44u) goto L_088A5C44; AOT_REGCACHE_SYNC_OUT(); return; L_088A5C44: @@ -4751,7 +4752,7 @@ L_088A5CA4: aot_gpr_5 = (aot_gpr_16 + static_cast(112)); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x088A5CBCu); - ctx.gpr[6] = (aot_gpr_16 | 0u); + aot_gpr_6 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0039_entry, 39u, 549u, 0x088A2628u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A5CBCu) goto L_088A5CBC; AOT_REGCACHE_SYNC_OUT(); return; L_088A5CBC: @@ -4769,7 +4770,7 @@ L_088A5CC8: ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(120))); ctx.fpr[17] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1560))); { const float fs = aot_fpr_14; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } - ctx.gpr[6] = (aot_gpr_16 + static_cast(112)); + aot_gpr_6 = (aot_gpr_16 + static_cast(112)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(112), std::bit_cast(aot_fpr_12)); { const float fs = ctx.fpr[16]; const float ft = ctx.fpr[17]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_4 = (ctx.gpr[18] | 0u); @@ -4794,11 +4795,11 @@ L_088A5D18: aot_fpr_12 = aot_fpr_12 - aot_fpr_13; aot_gpr_4 = (aot_gpr_4 | 16384u); aot_fpr_14 = std::bit_cast(aot_gpr_4); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); { const float fs = aot_fpr_12; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_17 = (std::bit_cast(aot_fpr_12)); + ctx.gpr[17] = (std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_088A5DC0; } @@ -4827,7 +4828,7 @@ L_088A5D50: goto L_088A5D68; } L_088A5D68: - aot_fpr_12 = std::bit_cast(aot_gpr_17); + aot_fpr_12 = std::bit_cast(ctx.gpr[17]); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(360))); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(24))); @@ -4844,17 +4845,17 @@ L_088A5D68: goto L_088A5D94; } L_088A5D94: - aot_fpr_12 = std::bit_cast(aot_gpr_17); + aot_fpr_12 = std::bit_cast(ctx.gpr[17]); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(360))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(24))); - ctx.gpr[6] = (16256u << 16u); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(360))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(24))); + aot_gpr_6 = (16256u << 16u); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); - aot_fpr_13 = std::bit_cast(ctx.gpr[6]); + aot_fpr_13 = std::bit_cast(aot_gpr_6); aot_gpr_31 = (0x088A5DC0u); - ctx.gpr[6] = (0u | 24u); + aot_gpr_6 = (0u | 24u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 503u, 0x08A05F80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A5DC0u) goto L_088A5DC0; AOT_REGCACHE_SYNC_OUT(); return; L_088A5DC0: @@ -4867,9 +4868,9 @@ L_088A5DC0: goto L_088A5DCC; } L_088A5DCC: - aot_fpr_12 = std::bit_cast(aot_gpr_17); + aot_fpr_12 = std::bit_cast(ctx.gpr[17]); aot_gpr_5 = (aot_gpr_29 + static_cast(20)); - ctx.gpr[6] = (aot_gpr_29 + static_cast(16)); + aot_gpr_6 = (aot_gpr_29 + static_cast(16)); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_gpr_31 = (0x088A5DE4u); aot_gpr_4 = (aot_gpr_16 | 0u); @@ -4916,10 +4917,10 @@ L_088A5E1C: L_088A5E28: aot_gpr_4 = (16000u << 16u); ctx.fpr[22] = std::bit_cast(0u); - aot_gpr_17 = (aot_gpr_29 + static_cast(1584)); + ctx.gpr[17] = (aot_gpr_29 + static_cast(1584)); aot_fpr_14 = std::bit_cast(aot_gpr_4); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[22])); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); { const float fs = aot_fpr_20; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } aot_gpr_31 = (0x088A5E4Cu); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[22])); @@ -4956,7 +4957,7 @@ L_088A5E7C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1608), std::bit_cast(aot_fpr_13)); aot_gpr_4 = (0u | 7u); aot_gpr_5 = (ctx.gpr[18] | 0u); - ctx.gpr[6] = (aot_gpr_17 | 0u); + aot_gpr_6 = (ctx.gpr[17] | 0u); ctx.gpr[7] = (0u | 65u); aot_gpr_31 = (0x088A5EA4u); ctx.gpr[9] = (0u | 1u); @@ -5041,7 +5042,7 @@ L_088A5F2C: goto L_088A5F38; } L_088A5F38: - { const bool branch_taken = aot_gpr_17 != 0u; + { const bool branch_taken = ctx.gpr[17] != 0u; // nop if (branch_taken) { goto L_088A5F4C; @@ -5125,9 +5126,9 @@ L_088A5FB4: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(948), std::bit_cast(aot_fpr_12)); goto L_088A5FCC; L_088A5FCC: - ctx.gpr[6] = (50716u << 16u); - ctx.gpr[6] = (ctx.gpr[6] | 16374u); - aot_fpr_12 = std::bit_cast(ctx.gpr[6]); + aot_gpr_6 = (50716u << 16u); + aot_gpr_6 = (aot_gpr_6 | 16374u); + aot_fpr_12 = std::bit_cast(aot_gpr_6); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 3u); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_12)); @@ -5200,9 +5201,9 @@ L_088A6050: goto L_088A605C; } L_088A605C: - ctx.gpr[6] = (50716u << 16u); - ctx.gpr[6] = (ctx.gpr[6] | 16374u); - aot_fpr_12 = std::bit_cast(ctx.gpr[6]); + aot_gpr_6 = (50716u << 16u); + aot_gpr_6 = (aot_gpr_6 | 16374u); + aot_fpr_12 = std::bit_cast(aot_gpr_6); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 5u); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_12)); @@ -5222,13 +5223,13 @@ L_088A6080: goto L_088A6090; } L_088A6090: - aot_gpr_17 = (aot_gpr_29 + static_cast(1632)); + ctx.gpr[17] = (aot_gpr_29 + static_cast(1632)); aot_gpr_31 = (0x088A609Cu); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0039_entry, 39u, 589u, 0x088A290Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A609Cu) goto L_088A609C; AOT_REGCACHE_SYNC_OUT(); return; L_088A609C: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088A60A8u); aot_gpr_5 = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0039_entry, 39u, 569u, 0x088A27C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A60A8u) goto L_088A60A8; @@ -5239,7 +5240,7 @@ L_088A60A8: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1632), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1636), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x088A60C0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 538u, 0x08A666C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A60C0u) goto L_088A60C0; AOT_REGCACHE_SYNC_OUT(); return; L_088A60C0: @@ -5315,7 +5316,7 @@ L_088A6140: ctx.fpr[26] = std::bit_cast(aot_run_words[3]); ctx.fpr[28] = std::bit_cast(aot_run_words[4]); aot_gpr_16 = aot_run_words[5]; - aot_gpr_17 = aot_run_words[6]; + ctx.gpr[17] = aot_run_words[6]; ctx.gpr[18] = aot_run_words[7]; ctx.gpr[19] = aot_run_words[8]; ctx.gpr[20] = aot_run_words[9]; @@ -5333,8 +5334,8 @@ L_088A6140: L_088A6180: aot_gpr_29 = (aot_gpr_29 + static_cast(-352)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(308), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(312), aot_gpr_17); - aot_gpr_17 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(312), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_4 | 0u); aot_gpr_16 = (aot_gpr_5 & 255u); { const std::uint32_t aot_run_words[6]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(284), aot_run_words); } @@ -5421,7 +5422,7 @@ L_088A6248: goto L_088A6250; } L_088A6250: - ctx.fpr[30] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1152))); + ctx.fpr[30] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1152))); aot_gpr_31 = (0x088A625Cu); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A625Cu) goto L_088A625C; @@ -5437,7 +5438,7 @@ L_088A6264: aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_13 = aot_fpr_12 / aot_fpr_13; - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1152))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1152))); aot_gpr_4 = (15820u << 16u); aot_gpr_4 = (aot_gpr_4 | 52429u); ctx.fpr[15] = std::bit_cast(aot_gpr_4); @@ -5445,11 +5446,11 @@ L_088A6264: aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); { const float fs = aot_fpr_13; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_fpr_13 = ctx.fpr[30] + aot_fpr_13; - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(1152), std::bit_cast(aot_fpr_13)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(1152), std::bit_cast(aot_fpr_13)); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 <= aot_fpr_12)) ? 0x00800000u : 0u); // nop if (!((ctx.fcr31 & 0x00800000u) != 0u)) { - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1152))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1152))); goto L_088A62AC; } goto L_088A62AC; @@ -5464,18 +5465,18 @@ L_088A62AC: goto L_088A62C0; L_088A62C0: { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(1152), std::bit_cast(aot_fpr_13)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(1152), std::bit_cast(aot_fpr_13)); if (branch_taken) { goto L_088A62CC; } goto L_088A62C8; } L_088A62C8: - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(1152), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(1152), std::bit_cast(aot_fpr_20)); goto L_088A62CC; L_088A62CC: aot_gpr_4 = (15692u << 16u); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1152))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1152))); aot_gpr_4 = (aot_gpr_4 | 52429u); aot_fpr_13 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); @@ -5488,7 +5489,7 @@ L_088A62CC: goto L_088A62EC; } L_088A62EC: - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(1152), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(1152), std::bit_cast(aot_fpr_20)); aot_gpr_31 = (0x088A62F8u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A62F8u) goto L_088A62F8; @@ -5505,30 +5506,30 @@ L_088A6300: aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_12 = aot_fpr_12 / aot_fpr_13; { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(1148), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(1148), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_088A633C; } goto L_088A631C; } L_088A631C: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1152))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1152))); aot_gpr_4 = (aot_gpr_4 | 39322u); aot_fpr_13 = std::bit_cast(aot_gpr_4); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(1148), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(1148), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_088A633C; } goto L_088A6334; } L_088A6334: - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(1148), std::bit_cast(aot_fpr_20)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(1152), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(1148), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(1152), std::bit_cast(aot_fpr_20)); goto L_088A633C; L_088A633C: - ctx.fpr[30] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1156))); + ctx.fpr[30] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1156))); aot_gpr_31 = (0x088A6348u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A6348u) goto L_088A6348; @@ -5541,18 +5542,18 @@ L_088A6348: L_088A6350: aot_gpr_4 = (0u - ctx.gpr[2]); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1156))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1156))); aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); { const float fs = aot_fpr_13; const float ft = ctx.fpr[24]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[28])); aot_fpr_13 = aot_fpr_13 - aot_fpr_14; { const float fs = aot_fpr_13; const float ft = ctx.fpr[26]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_fpr_13 = ctx.fpr[30] + aot_fpr_13; - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(1156), std::bit_cast(aot_fpr_13)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(1156), std::bit_cast(aot_fpr_13)); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 <= aot_fpr_12)) ? 0x00800000u : 0u); // nop if (!((ctx.fcr31 & 0x00800000u) != 0u)) { - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1156))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1156))); goto L_088A6388; } goto L_088A6388; @@ -5566,8 +5567,8 @@ L_088A6388: } goto L_088A639C; L_088A639C: - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(1156), std::bit_cast(aot_fpr_13)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(852))); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(1156), std::bit_cast(aot_fpr_13)); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(852))); aot_gpr_5 = (0u | 2u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -5577,7 +5578,7 @@ L_088A639C: goto L_088A63B0; } L_088A63B0: - ctx.fpr[30] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1104))); + ctx.fpr[30] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1104))); aot_gpr_31 = (0x088A63BCu); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A63BCu) goto L_088A63BC; @@ -5590,7 +5591,7 @@ L_088A63BC: L_088A63C4: aot_gpr_4 = (0u - ctx.gpr[2]); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1104))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1104))); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); { const float fs = aot_fpr_12; const float ft = ctx.fpr[24]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[15] = std::bit_cast(0x7FC00000u); else ctx.fpr[15] = fs * ft; } @@ -5599,11 +5600,11 @@ L_088A63C4: { const float fs = aot_fpr_13; const float ft = ctx.fpr[26]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } { const float fs = aot_fpr_13; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_fpr_13 = ctx.fpr[30] + aot_fpr_13; - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(1104), std::bit_cast(aot_fpr_13)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(1104), std::bit_cast(aot_fpr_13)); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 <= aot_fpr_12)) ? 0x00800000u : 0u); // nop if (!((ctx.fcr31 & 0x00800000u) != 0u)) { - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1104))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1104))); goto L_088A6404; } goto L_088A6404; @@ -5617,8 +5618,8 @@ L_088A6404: } goto L_088A6418; L_088A6418: - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(1104), std::bit_cast(aot_fpr_13)); - ctx.fpr[30] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1108))); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(1104), std::bit_cast(aot_fpr_13)); + ctx.fpr[30] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1108))); aot_gpr_31 = (0x088A6428u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A6428u) goto L_088A6428; @@ -5631,7 +5632,7 @@ L_088A6428: L_088A6430: aot_gpr_4 = (0u - ctx.gpr[2]); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1108))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1108))); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); { const float fs = aot_fpr_12; const float ft = ctx.fpr[24]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } @@ -5640,11 +5641,11 @@ L_088A6430: { const float fs = aot_fpr_12; const float ft = ctx.fpr[26]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } { const float fs = aot_fpr_12; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = ctx.fpr[30] + aot_fpr_12; - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(1108), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(1108), std::bit_cast(aot_fpr_12)); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[24])) ? 0x00800000u : 0u); // nop if (!((ctx.fcr31 & 0x00800000u) != 0u)) { - ctx.fpr[24] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1108))); + ctx.fpr[24] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1108))); goto L_088A6470; } goto L_088A6470; @@ -5658,10 +5659,10 @@ L_088A6470: } goto L_088A6484; L_088A6484: - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(1108), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(1108), std::bit_cast(aot_fpr_12)); goto L_088A6488; L_088A6488: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1156))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1156))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_20)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); @@ -5672,7 +5673,7 @@ L_088A6488: goto L_088A649C; } L_088A649C: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1156))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1156))); { const bool branch_taken = 0u == 0u; { const float fs = aot_fpr_12; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } if (branch_taken) { @@ -5681,12 +5682,12 @@ L_088A649C: goto L_088A64A8; } L_088A64A8: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1156))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1156))); { const float fs = aot_fpr_12; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); goto L_088A64B4; L_088A64B4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(352))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(352))); aot_gpr_5 = (16457u << 16u); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(104))); aot_gpr_4 = (aot_gpr_5 | 4059u); @@ -5695,12 +5696,12 @@ L_088A64B4: { const float fs = aot_fpr_13; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } ctx.fpr[15] = std::bit_cast(aot_gpr_4); aot_fpr_13 = aot_fpr_13 / ctx.fpr[15]; - ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1148))); + ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1148))); aot_gpr_4 = (0u | 0u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(604), std::bit_cast(ctx.fpr[16])); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(604), std::bit_cast(ctx.fpr[16])); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_31 = (0x088A64F0u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(600), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(600), std::bit_cast(aot_fpr_12)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A64F0u) goto L_088A64F0; AOT_REGCACHE_SYNC_OUT(); return; L_088A64F0: @@ -5727,7 +5728,7 @@ L_088A6504: goto L_088A6510; } L_088A6510: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(860))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(860))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -5754,7 +5755,7 @@ L_088A6528: goto L_088A6534; } L_088A6534: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(860))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(860))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -5763,20 +5764,20 @@ L_088A6534: goto L_088A6540; } L_088A6540: - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(608), std::bit_cast(ctx.fpr[22])); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(608), std::bit_cast(ctx.fpr[22])); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088A6550u); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 5u, 0x08B00044u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A6550u) goto L_088A6550; AOT_REGCACHE_SYNC_OUT(); return; L_088A6550: - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(604), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(604), std::bit_cast(aot_fpr_20)); aot_gpr_5 = (15820u << 16u); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7080))); aot_gpr_5 = (aot_gpr_5 | 52429u); ctx.fpr[24] = std::bit_cast(aot_gpr_5); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_16 = (aot_gpr_17 + static_cast(320)); + aot_gpr_16 = (ctx.gpr[17] + static_cast(320)); if (branch_taken) { goto L_088A657C; } @@ -5835,11 +5836,11 @@ L_088A65A0: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_31 = (0x088A65C4u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 538u, 0x08A666C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A65C4u) goto L_088A65C4; AOT_REGCACHE_SYNC_OUT(); return; L_088A65C4: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(86)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(86)))))); aot_gpr_5 = (0u | 219u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -5849,7 +5850,7 @@ L_088A65C4: goto L_088A65D4; } L_088A65D4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 496u); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -5917,8 +5918,8 @@ L_088A6640: goto L_088A6648; } L_088A6648: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(656))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(276), aot_gpr_17); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(656))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(276), ctx.gpr[17]); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_4 = (aot_gpr_4 + static_cast(90)); aot_gpr_4 = (aot_gpr_4 < aot_gpr_5 ? 1u : 0u); @@ -5934,7 +5935,7 @@ L_088A6664: aot_gpr_4 = (ctx.gpr[22] | 0u); aot_gpr_5 = (0u | 28u); aot_gpr_31 = (0x088A6678u); - ctx.gpr[6] = (0u | 5000u); + aot_gpr_6 = (0u | 5000u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0143_entry, 143u, 117u, 0x08A40A8Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A6678u) goto L_088A6678; AOT_REGCACHE_SYNC_OUT(); return; L_088A6678: @@ -5954,10 +5955,10 @@ L_088A6678: ctx.gpr[19] = (aot_gpr_29 + static_cast(144)); ctx.gpr[30] = (aot_gpr_29 + static_cast(192)); ctx.gpr[23] = (ctx.gpr[28] + static_cast(7768)); - aot_gpr_17 = (aot_gpr_29 + static_cast(80)); + ctx.gpr[17] = (aot_gpr_29 + static_cast(80)); goto L_088A66BC; L_088A66BC: - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -5966,16 +5967,16 @@ L_088A66BC: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(280), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(280), ctx.gpr[17]); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(276))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(276))); aot_gpr_4 = (ctx.gpr[21] | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088A66DCu); - ctx.gpr[6] = (aot_gpr_16 | 0u); + aot_gpr_6 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0039_entry, 39u, 550u, 0x088A2648u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A66DCu) goto L_088A66DC; AOT_REGCACHE_SYNC_OUT(); return; L_088A66DC: @@ -6034,8 +6035,8 @@ L_088A66DC: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (ctx.gpr[22] | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[6] = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_6 = (aot_gpr_16 | 0u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 0u); aot_gpr_31 = (0x088A672Cu); @@ -6045,17 +6046,17 @@ L_088A66DC: L_088A672C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(192), std::bit_cast(aot_fpr_20)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(196), std::bit_cast(ctx.fpr[24])); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (ctx.gpr[30] | 0u); + aot_gpr_6 = (ctx.gpr[30] | 0u); aot_gpr_31 = (0x088A6748u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[26])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0143_entry, 143u, 255u, 0x08A41568u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A6748u) goto L_088A6748; AOT_REGCACHE_SYNC_OUT(); return; L_088A6748: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(96))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); aot_gpr_4 = (ctx.gpr[23] | 0u); - ctx.gpr[6] = (0u | 55u); + aot_gpr_6 = (0u | 55u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_31 = (0x088A6760u); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[22])); @@ -6063,12 +6064,12 @@ L_088A6748: AOT_REGCACHE_SYNC_OUT(); return; L_088A6760: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(656), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(656), aot_gpr_4); ctx.gpr[18] = (ctx.gpr[18] + static_cast(1)); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(280))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(280))); aot_gpr_4 = (static_cast(ctx.gpr[18]) < 2 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(16)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(16)); if (branch_taken) { goto L_088A66BC; } @@ -6084,7 +6085,7 @@ L_088A677C: ctx.fpr[28] = std::bit_cast(aot_run_words[4]); ctx.fpr[30] = std::bit_cast(aot_run_words[5]); aot_gpr_16 = aot_run_words[6]; - aot_gpr_17 = aot_run_words[7]; + ctx.gpr[17] = aot_run_words[7]; ctx.gpr[18] = aot_run_words[8]; ctx.gpr[19] = aot_run_words[9]; ctx.gpr[20] = aot_run_words[10]; @@ -6102,7 +6103,7 @@ L_088A677C: AOT_REGCACHE_SYNC_OUT(); return; L_088A67C4: aot_gpr_29 = (aot_gpr_29 + static_cast(-304)); - { const std::uint32_t aot_run_words[14]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; + { const std::uint32_t aot_run_words[14]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(248), aot_run_words); } aot_gpr_31 = (0x088A6808u); ctx.gpr[22] = (aot_gpr_4 | 0u); @@ -6215,7 +6216,7 @@ L_088A68F8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); ctx.gpr[18] = (aot_gpr_29 + static_cast(48)); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_17 = (aot_gpr_29 + static_cast(80)); + ctx.gpr[17] = (aot_gpr_29 + static_cast(80)); if (branch_taken) { goto L_088A6954; } @@ -6259,7 +6260,7 @@ L_088A6970: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(600))); @@ -6309,7 +6310,7 @@ L_088A69D0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); ctx.gpr[18] = (aot_gpr_29 + static_cast(48)); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_17 = (aot_gpr_29 + static_cast(80)); + ctx.gpr[17] = (aot_gpr_29 + static_cast(80)); if (branch_taken) { goto L_088A69FC; } @@ -6353,7 +6354,7 @@ L_088A6A18: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(600))); @@ -6392,7 +6393,7 @@ L_088A6A58: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); ctx.gpr[18] = (aot_gpr_29 + static_cast(48)); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_17 = (aot_gpr_29 + static_cast(80)); + ctx.gpr[17] = (aot_gpr_29 + static_cast(80)); if (branch_taken) { goto L_088A6A84; } @@ -6436,7 +6437,7 @@ L_088A6AA0: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(600))); @@ -6474,7 +6475,7 @@ L_088A6ADC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); ctx.gpr[18] = (aot_gpr_29 + static_cast(48)); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_17 = (aot_gpr_29 + static_cast(80)); + ctx.gpr[17] = (aot_gpr_29 + static_cast(80)); if (branch_taken) { goto L_088A6B08; } @@ -6518,7 +6519,7 @@ L_088A6B24: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_31 = (0x088A6B34u); @@ -6571,7 +6572,7 @@ L_088A6B84: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); ctx.gpr[18] = (aot_gpr_29 + static_cast(48)); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_17 = (aot_gpr_29 + static_cast(80)); + ctx.gpr[17] = (aot_gpr_29 + static_cast(80)); if (branch_taken) { goto L_088A6BB0; } @@ -6615,7 +6616,7 @@ L_088A6BCC: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_31 = (0x088A6BDCu); @@ -6669,9 +6670,9 @@ L_088A6C44: aot_gpr_16 = (ctx.gpr[18] << 2u); aot_gpr_16 = (ctx.gpr[22] + aot_gpr_16); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(956))); - aot_gpr_17 = (ctx.gpr[21] << 2u); + ctx.gpr[17] = (ctx.gpr[21] << 2u); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_17 = (ctx.gpr[22] + aot_gpr_17); + ctx.gpr[17] = (ctx.gpr[22] + ctx.gpr[17]); if (branch_taken) { goto L_088A6CA8; } @@ -6682,7 +6683,7 @@ L_088A6C5C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(956))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(944))); aot_gpr_5 = (0u | 1u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_gpr_31 = (0x088A6C78u); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 821u, 0x08AFF730u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A6C78u) goto L_088A6C78; @@ -6692,7 +6693,7 @@ L_088A6C78: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(108), 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x088A6C8Cu); - ctx.gpr[6] = (ctx.gpr[20] | 0u); + aot_gpr_6 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0091_entry, 91u, 626u, 0x08972E68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A6C8Cu) goto L_088A6C8C; AOT_REGCACHE_SYNC_OUT(); return; L_088A6C8C: @@ -6708,11 +6709,11 @@ L_088A6C98: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(108))); aot_gpr_4 = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x088A6CA8u); - ctx.gpr[6] = (ctx.gpr[30] | 0u); + aot_gpr_6 = (ctx.gpr[30] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 502u, 0x08B01DD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A6CA8u) goto L_088A6CA8; AOT_REGCACHE_SYNC_OUT(); return; L_088A6CA8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(956))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(956))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -6722,20 +6723,20 @@ L_088A6CA8: } L_088A6CB4: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(944))); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(956))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(956))); { const float fs = aot_fpr_20; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_5 = (0u | 1u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_gpr_31 = (0x088A6CD0u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 821u, 0x08AFF730u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A6CD0u) goto L_088A6CD0; AOT_REGCACHE_SYNC_OUT(); return; L_088A6CD0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(956))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(956))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(108), 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x088A6CE4u); - ctx.gpr[6] = (ctx.gpr[20] | 0u); + aot_gpr_6 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0091_entry, 91u, 626u, 0x08972E68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A6CE4u) goto L_088A6CE4; AOT_REGCACHE_SYNC_OUT(); return; L_088A6CE4: @@ -6750,14 +6751,14 @@ L_088A6CE4: L_088A6CF0: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(240))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(108))); - ctx.gpr[6] = (static_cast(aot_gpr_5) < 0 ? 1u : 0u); - if (ctx.gpr[6] != 0u) { + aot_gpr_6 = (static_cast(aot_gpr_5) < 0 ? 1u : 0u); + if (aot_gpr_6 != 0u) { aot_gpr_5 = (0u | 0u); goto L_088A6D04; } goto L_088A6D04; L_088A6D04: - ctx.gpr[6] = (aot_gpr_5 | 0u); + aot_gpr_6 = (aot_gpr_5 | 0u); aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_31 = (0x088A6D14u); aot_gpr_4 = (ctx.gpr[22] | 0u); @@ -6804,7 +6805,7 @@ L_088A6D38: goto L_088A6D4C; } L_088A6D4C: - aot_gpr_17 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(960))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(960))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); aot_gpr_16 = (2186u << 16u); ctx.gpr[19] = (aot_gpr_29 + static_cast(48)); @@ -6820,7 +6821,7 @@ L_088A6D68: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_4 = (aot_gpr_17 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(16)); if (branch_taken) { goto L_088A6D84; } @@ -6832,7 +6833,7 @@ L_088A6D78: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 129u, 0x089D89E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A6D80u) goto L_088A6D80; AOT_REGCACHE_SYNC_OUT(); return; L_088A6D80: - aot_gpr_4 = (aot_gpr_17 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(16)); goto L_088A6D84; L_088A6D84: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), aot_gpr_4); @@ -6883,7 +6884,7 @@ L_088A6DCC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(960))); aot_gpr_5 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088A6DE0u); - ctx.gpr[6] = (ctx.gpr[21] | 0u); + aot_gpr_6 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0091_entry, 91u, 626u, 0x08972E68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A6DE0u) goto L_088A6DE0; AOT_REGCACHE_SYNC_OUT(); return; L_088A6DE0: @@ -6899,7 +6900,7 @@ L_088A6DEC: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(96))); aot_gpr_4 = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x088A6DFCu); - ctx.gpr[6] = (ctx.gpr[30] | 0u); + aot_gpr_6 = (ctx.gpr[30] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 502u, 0x08B01DD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A6DFCu) goto L_088A6DFC; AOT_REGCACHE_SYNC_OUT(); return; L_088A6DFC: @@ -6912,7 +6913,7 @@ L_088A6DFC: goto L_088A6E08; } L_088A6E08: - aot_gpr_17 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(964))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(964))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); aot_gpr_16 = (2186u << 16u); ctx.gpr[19] = (aot_gpr_29 + static_cast(48)); @@ -6928,7 +6929,7 @@ L_088A6E24: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_4 = (aot_gpr_17 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(16)); if (branch_taken) { goto L_088A6E40; } @@ -6940,7 +6941,7 @@ L_088A6E34: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 129u, 0x089D89E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A6E3Cu) goto L_088A6E3C; AOT_REGCACHE_SYNC_OUT(); return; L_088A6E3C: - aot_gpr_4 = (aot_gpr_17 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(16)); goto L_088A6E40; L_088A6E40: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), aot_gpr_4); @@ -6992,7 +6993,7 @@ L_088A6E8C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(964))); aot_gpr_5 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088A6EA0u); - ctx.gpr[6] = (ctx.gpr[21] | 0u); + aot_gpr_6 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0091_entry, 91u, 626u, 0x08972E68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A6EA0u) goto L_088A6EA0; AOT_REGCACHE_SYNC_OUT(); return; L_088A6EA0: @@ -7007,14 +7008,14 @@ L_088A6EA0: L_088A6EAC: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(240))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(96))); - ctx.gpr[6] = (static_cast(aot_gpr_5) < 0 ? 1u : 0u); - if (ctx.gpr[6] != 0u) { + aot_gpr_6 = (static_cast(aot_gpr_5) < 0 ? 1u : 0u); + if (aot_gpr_6 != 0u) { aot_gpr_5 = (0u | 0u); goto L_088A6EC0; } goto L_088A6EC0; L_088A6EC0: - ctx.gpr[6] = (aot_gpr_5 | 0u); + aot_gpr_6 = (aot_gpr_5 | 0u); aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_31 = (0x088A6ED0u); aot_gpr_4 = (ctx.gpr[22] | 0u); @@ -7107,7 +7108,7 @@ L_088A6F4C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); ctx.gpr[18] = (aot_gpr_29 + static_cast(48)); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_17 = (aot_gpr_29 + static_cast(80)); + ctx.gpr[17] = (aot_gpr_29 + static_cast(80)); if (branch_taken) { goto L_088A6F78; } @@ -7151,7 +7152,7 @@ L_088A6F94: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(600))); @@ -7190,7 +7191,7 @@ L_088A6FD4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); ctx.gpr[18] = (aot_gpr_29 + static_cast(48)); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_17 = (aot_gpr_29 + static_cast(80)); + ctx.gpr[17] = (aot_gpr_29 + static_cast(80)); if (branch_taken) { goto L_088A7000; } @@ -7234,7 +7235,7 @@ L_088A701C: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(600))); @@ -7273,7 +7274,7 @@ L_088A705C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); ctx.gpr[18] = (aot_gpr_29 + static_cast(48)); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_17 = (aot_gpr_29 + static_cast(80)); + ctx.gpr[17] = (aot_gpr_29 + static_cast(80)); if (branch_taken) { goto L_088A7088; } @@ -7317,7 +7318,7 @@ L_088A70A4: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(600))); @@ -7389,7 +7390,7 @@ L_088A711C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); ctx.gpr[18] = (aot_gpr_29 + static_cast(48)); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_17 = (aot_gpr_29 + static_cast(80)); + ctx.gpr[17] = (aot_gpr_29 + static_cast(80)); if (branch_taken) { goto L_088A715C; } @@ -7433,7 +7434,7 @@ L_088A7178: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { std::uint32_t aot_run_words[3]{}; @@ -7492,7 +7493,7 @@ L_088A71C8: ctx.gpr[18] = (aot_gpr_29 + static_cast(48)); ctx.fpr[26] = std::bit_cast(aot_gpr_5); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_17 = (aot_gpr_29 + static_cast(80)); + ctx.gpr[17] = (aot_gpr_29 + static_cast(80)); if (branch_taken) { goto L_088A7210; } @@ -7536,7 +7537,7 @@ L_088A722C: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); @@ -7775,7 +7776,7 @@ L_088A7428: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); ctx.gpr[18] = (aot_gpr_29 + static_cast(48)); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_17 = (aot_gpr_29 + static_cast(80)); + ctx.gpr[17] = (aot_gpr_29 + static_cast(80)); if (branch_taken) { goto L_088A7454; } @@ -7819,7 +7820,7 @@ L_088A7470: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(944))); @@ -7962,7 +7963,7 @@ L_088A7570: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); ctx.gpr[18] = (aot_gpr_29 + static_cast(48)); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_17 = (aot_gpr_29 + static_cast(80)); + ctx.gpr[17] = (aot_gpr_29 + static_cast(80)); if (branch_taken) { goto L_088A759C; } @@ -8006,7 +8007,7 @@ L_088A75B8: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(944))); @@ -8056,9 +8057,9 @@ L_088A75FC: } L_088A760C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(36))); - ctx.gpr[6] = (43691u << 16u); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(-21846)); - { const bool branch_taken = aot_gpr_5 == ctx.gpr[6]; + aot_gpr_6 = (43691u << 16u); + aot_gpr_6 = (aot_gpr_6 + static_cast(-21846)); + { const bool branch_taken = aot_gpr_5 == aot_gpr_6; // nop if (branch_taken) { goto L_088A7634; @@ -8118,7 +8119,7 @@ L_088A7678: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); aot_gpr_16 = (aot_gpr_29 + static_cast(48)); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_17 = (aot_gpr_29 + static_cast(80)); + ctx.gpr[17] = (aot_gpr_29 + static_cast(80)); if (branch_taken) { goto L_088A76A4; } @@ -8162,7 +8163,7 @@ L_088A76C0: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(120))); @@ -8245,7 +8246,7 @@ L_088A7750: ctx.fpr[24] = std::bit_cast(aot_run_words[2]); ctx.fpr[26] = std::bit_cast(aot_run_words[3]); aot_gpr_16 = aot_run_words[4]; - aot_gpr_17 = aot_run_words[5]; + ctx.gpr[17] = aot_run_words[5]; ctx.gpr[18] = aot_run_words[6]; ctx.gpr[19] = aot_run_words[7]; ctx.gpr[20] = aot_run_words[8]; @@ -8266,13 +8267,13 @@ L_088A7790: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(852))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_gpr_4 = (0u | 2u); - aot_gpr_17 = (aot_gpr_5 | 0u); + ctx.gpr[17] = (aot_gpr_5 | 0u); { const std::uint32_t aot_run_words[6]{ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(8), aot_run_words); } { const bool branch_taken = ctx.gpr[7] != aot_gpr_4; - ctx.gpr[18] = (ctx.gpr[6] | 0u); + ctx.gpr[18] = (aot_gpr_6 | 0u); if (branch_taken) { goto L_088A7ED4; } @@ -8281,8 +8282,8 @@ L_088A7790: L_088A77CC: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); aot_gpr_5 = (aot_gpr_5 & 496u); - ctx.gpr[6] = (0u | 64u); - { const bool branch_taken = aot_gpr_5 != ctx.gpr[6]; + aot_gpr_6 = (0u | 64u); + { const bool branch_taken = aot_gpr_5 != aot_gpr_6; ctx.gpr[19] = (0u | 0u); if (branch_taken) { goto L_088A79E0; @@ -8319,7 +8320,7 @@ L_088A77F8: } L_088A7808: if (ctx.gpr[21] != 0u) { - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(80))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(80))); goto L_088A7820; } goto L_088A7810; @@ -8330,20 +8331,20 @@ L_088A7810: AOT_REGCACHE_SYNC_OUT(); return; L_088A7818: ctx.gpr[21] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5836))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(80))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(80))); goto L_088A7820; L_088A7820: aot_gpr_4 = (ctx.gpr[21] | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x088A7830u); ctx.gpr[7] = (0u | 118u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 635u, 0x0893E914u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A7830u) goto L_088A7830; AOT_REGCACHE_SYNC_OUT(); return; L_088A7830: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088A783Cu); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A783Cu) goto L_088A783C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A783Cu) goto L_088A783C; AOT_REGCACHE_SYNC_OUT(); return; L_088A783C: { const bool branch_taken = 0u == 0u; @@ -8355,7 +8356,7 @@ L_088A783C: } L_088A7844: if (ctx.gpr[21] != 0u) { - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(80))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(80))); goto L_088A785C; } goto L_088A784C; @@ -8366,32 +8367,32 @@ L_088A784C: AOT_REGCACHE_SYNC_OUT(); return; L_088A7854: ctx.gpr[21] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5836))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(80))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(80))); goto L_088A785C; L_088A785C: aot_gpr_4 = (ctx.gpr[21] | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x088A786Cu); ctx.gpr[7] = (0u | 119u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 635u, 0x0893E914u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A786Cu) goto L_088A786C; AOT_REGCACHE_SYNC_OUT(); return; L_088A786C: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088A7878u); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A7878u) goto L_088A7878; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A7878u) goto L_088A7878; AOT_REGCACHE_SYNC_OUT(); return; L_088A7878: aot_gpr_31 = (0x088A7880u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A7880u) goto L_088A7880; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A7880u) goto L_088A7880; AOT_REGCACHE_SYNC_OUT(); return; L_088A7880: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x088A7890u); - ctx.gpr[6] = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A7890u) goto L_088A7890; + aot_gpr_6 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A7890u) goto L_088A7890; AOT_REGCACHE_SYNC_OUT(); return; L_088A7890: aot_gpr_4 = (0u + static_cast(-1)); @@ -8406,10 +8407,10 @@ L_088A7890: goto L_088A78A8; } L_088A78A8: - aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(2274))); + aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(2274))); ctx.gpr[20] = (2203u << 16u); - ctx.gpr[6] = (0u | 20u); - { const bool branch_taken = aot_gpr_5 != ctx.gpr[6]; + aot_gpr_6 = (0u | 20u); + { const bool branch_taken = aot_gpr_5 != aot_gpr_6; ctx.gpr[20] = (ctx.gpr[20] + static_cast(13856)); if (branch_taken) { goto L_088A7918; @@ -8418,7 +8419,7 @@ L_088A78A8: } L_088A78BC: if (ctx.gpr[21] != 0u) { - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(80))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(80))); goto L_088A78D4; } goto L_088A78C4; @@ -8429,11 +8430,11 @@ L_088A78C4: AOT_REGCACHE_SYNC_OUT(); return; L_088A78CC: ctx.gpr[21] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5836))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(80))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(80))); goto L_088A78D4; L_088A78D4: ctx.gpr[8] = (16576u << 16u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1120))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1120))); aot_fpr_12 = std::bit_cast(ctx.gpr[8]); aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x088A78ECu); @@ -8441,22 +8442,22 @@ L_088A78D4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 650u, 0x0893EA14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A78ECu) goto L_088A78EC; AOT_REGCACHE_SYNC_OUT(); return; L_088A78EC: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088A78F8u); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A78F8u) goto L_088A78F8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A78F8u) goto L_088A78F8; AOT_REGCACHE_SYNC_OUT(); return; L_088A78F8: aot_gpr_31 = (0x088A7900u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A7900u) goto L_088A7900; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A7900u) goto L_088A7900; AOT_REGCACHE_SYNC_OUT(); return; L_088A7900: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_5 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x088A7910u); - ctx.gpr[6] = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A7910u) goto L_088A7910; + aot_gpr_6 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A7910u) goto L_088A7910; AOT_REGCACHE_SYNC_OUT(); return; L_088A7910: { const bool branch_taken = 0u == 0u; @@ -8484,7 +8485,7 @@ L_088A7920: } L_088A7928: if (ctx.gpr[21] != 0u) { - ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(80))); + ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(80))); goto L_088A7940; } goto L_088A7930; @@ -8495,7 +8496,7 @@ L_088A7930: AOT_REGCACHE_SYNC_OUT(); return; L_088A7938: ctx.gpr[21] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5836))); - ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(80))); + ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(80))); goto L_088A7940; L_088A7940: ctx.gpr[22] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1120))); @@ -8507,16 +8508,16 @@ L_088A7940: L_088A7950: aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); - ctx.gpr[6] = (ctx.gpr[22] | 0u); + aot_gpr_6 = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x088A7964u); ctx.gpr[7] = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 635u, 0x0893E914u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A7964u) goto L_088A7964; AOT_REGCACHE_SYNC_OUT(); return; L_088A7964: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088A7970u); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A7970u) goto L_088A7970; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A7970u) goto L_088A7970; AOT_REGCACHE_SYNC_OUT(); return; L_088A7970: { const bool branch_taken = 0u == 0u; @@ -8528,7 +8529,7 @@ L_088A7970: } L_088A7978: if (ctx.gpr[21] != 0u) { - ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(80))); + ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(80))); goto L_088A7990; } goto L_088A7980; @@ -8539,7 +8540,7 @@ L_088A7980: AOT_REGCACHE_SYNC_OUT(); return; L_088A7988: ctx.gpr[21] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5836))); - ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(80))); + ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(80))); goto L_088A7990; L_088A7990: ctx.gpr[22] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1120))); @@ -8551,28 +8552,28 @@ L_088A7990: L_088A79A0: aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); - ctx.gpr[6] = (ctx.gpr[22] | 0u); + aot_gpr_6 = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x088A79B4u); ctx.gpr[7] = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 635u, 0x0893E914u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A79B4u) goto L_088A79B4; AOT_REGCACHE_SYNC_OUT(); return; L_088A79B4: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088A79C0u); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A79C0u) goto L_088A79C0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A79C0u) goto L_088A79C0; AOT_REGCACHE_SYNC_OUT(); return; L_088A79C0: aot_gpr_31 = (0x088A79C8u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A79C8u) goto L_088A79C8; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A79C8u) goto L_088A79C8; AOT_REGCACHE_SYNC_OUT(); return; L_088A79C8: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_5 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x088A79D8u); - ctx.gpr[6] = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A79D8u) goto L_088A79D8; + aot_gpr_6 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A79D8u) goto L_088A79D8; AOT_REGCACHE_SYNC_OUT(); return; L_088A79D8: { const bool branch_taken = 0u == 0u; @@ -8583,9 +8584,9 @@ L_088A79D8: goto L_088A79E0; } L_088A79E0: - aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(2274))); - ctx.gpr[6] = (0u | 20u); - { const bool branch_taken = aot_gpr_5 != ctx.gpr[6]; + aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(2274))); + aot_gpr_6 = (0u | 20u); + { const bool branch_taken = aot_gpr_5 != aot_gpr_6; // nop if (branch_taken) { goto L_088A7A8C; @@ -8595,9 +8596,9 @@ L_088A79E0: L_088A79F0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(900))); aot_gpr_5 = (0u | 55u); - ctx.gpr[6] = (aot_gpr_4 + static_cast(2228)); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(0))); - { const bool branch_taken = ctx.gpr[6] != aot_gpr_5; + aot_gpr_6 = (aot_gpr_4 + static_cast(2228)); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); + { const bool branch_taken = aot_gpr_6 != aot_gpr_5; // nop if (branch_taken) { goto L_088A7A7C; @@ -8634,31 +8635,31 @@ L_088A7A34: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5836))); goto L_088A7A38; L_088A7A38: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(80))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(80))); ctx.gpr[8] = (16576u << 16u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1120))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1120))); aot_fpr_12 = std::bit_cast(ctx.gpr[8]); aot_gpr_31 = (0x088A7A50u); ctx.gpr[7] = (0u | 196u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 650u, 0x0893EA14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A7A50u) goto L_088A7A50; AOT_REGCACHE_SYNC_OUT(); return; L_088A7A50: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088A7A5Cu); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A7A5Cu) goto L_088A7A5C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A7A5Cu) goto L_088A7A5C; AOT_REGCACHE_SYNC_OUT(); return; L_088A7A5C: aot_gpr_31 = (0x088A7A64u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A7A64u) goto L_088A7A64; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A7A64u) goto L_088A7A64; AOT_REGCACHE_SYNC_OUT(); return; L_088A7A64: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x088A7A74u); - ctx.gpr[6] = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A7A74u) goto L_088A7A74; + aot_gpr_6 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A7A74u) goto L_088A7A74; AOT_REGCACHE_SYNC_OUT(); return; L_088A7A74: { const bool branch_taken = 0u == 0u; @@ -8670,7 +8671,7 @@ L_088A7A74: } L_088A7A7C: aot_gpr_31 = (0x088A7A84u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 441u, 0x089AA5B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A7A84u) goto L_088A7A84; AOT_REGCACHE_SYNC_OUT(); return; L_088A7A84: @@ -8707,10 +8708,10 @@ L_088A7A9C: goto L_088A7AA8; } L_088A7AA8: - ctx.gpr[6] = (aot_gpr_5 + static_cast(2228)); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(0))); + aot_gpr_6 = (aot_gpr_5 + static_cast(2228)); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); ctx.gpr[7] = (0u | 55u); - { const bool branch_taken = ctx.gpr[6] != ctx.gpr[7]; + { const bool branch_taken = aot_gpr_6 != ctx.gpr[7]; // nop if (branch_taken) { goto L_088A7B74; @@ -8719,8 +8720,8 @@ L_088A7AA8: } L_088A7ABC: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(460))); - ctx.gpr[6] = (4u << 16u); - aot_gpr_5 = (aot_gpr_5 & ctx.gpr[6]); + aot_gpr_6 = (4u << 16u); + aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); { const bool branch_taken = aot_gpr_5 != 0u; // nop if (branch_taken) { @@ -8741,7 +8742,7 @@ L_088A7AD0: } L_088A7AE4: if (aot_gpr_4 != 0u) { - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(80))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(80))); goto L_088A7AFC; } goto L_088A7AEC; @@ -8752,19 +8753,19 @@ L_088A7AEC: AOT_REGCACHE_SYNC_OUT(); return; L_088A7AF4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5836))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(80))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(80))); goto L_088A7AFC; L_088A7AFC: - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x088A7B08u); ctx.gpr[7] = (0u | 118u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 635u, 0x0893E914u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A7B08u) goto L_088A7B08; AOT_REGCACHE_SYNC_OUT(); return; L_088A7B08: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088A7B14u); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A7B14u) goto L_088A7B14; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A7B14u) goto L_088A7B14; AOT_REGCACHE_SYNC_OUT(); return; L_088A7B14: { const bool branch_taken = 0u == 0u; @@ -8776,7 +8777,7 @@ L_088A7B14: } L_088A7B1C: if (aot_gpr_4 != 0u) { - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(80))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(80))); goto L_088A7B34; } goto L_088A7B24; @@ -8787,31 +8788,31 @@ L_088A7B24: AOT_REGCACHE_SYNC_OUT(); return; L_088A7B2C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5836))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(80))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(80))); goto L_088A7B34; L_088A7B34: - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x088A7B40u); ctx.gpr[7] = (0u | 119u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 635u, 0x0893E914u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A7B40u) goto L_088A7B40; AOT_REGCACHE_SYNC_OUT(); return; L_088A7B40: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088A7B4Cu); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A7B4Cu) goto L_088A7B4C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A7B4Cu) goto L_088A7B4C; AOT_REGCACHE_SYNC_OUT(); return; L_088A7B4C: aot_gpr_31 = (0x088A7B54u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A7B54u) goto L_088A7B54; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A7B54u) goto L_088A7B54; AOT_REGCACHE_SYNC_OUT(); return; L_088A7B54: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x088A7B64u); - ctx.gpr[6] = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A7B64u) goto L_088A7B64; + aot_gpr_6 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A7B64u) goto L_088A7B64; AOT_REGCACHE_SYNC_OUT(); return; L_088A7B64: ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(900))); @@ -8825,7 +8826,7 @@ L_088A7B64: } L_088A7B74: aot_gpr_31 = (0x088A7B7Cu); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 441u, 0x089AA5B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A7B7Cu) goto L_088A7B7C; AOT_REGCACHE_SYNC_OUT(); return; L_088A7B7C: @@ -8849,7 +8850,7 @@ L_088A7B84: } L_088A7B98: if (ctx.gpr[20] != 0u) { - ctx.gpr[21] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(80))); + ctx.gpr[21] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(80))); goto L_088A7BB0; } goto L_088A7BA0; @@ -8860,7 +8861,7 @@ L_088A7BA0: AOT_REGCACHE_SYNC_OUT(); return; L_088A7BA8: ctx.gpr[20] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5836))); - ctx.gpr[21] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(80))); + ctx.gpr[21] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(80))); goto L_088A7BB0; L_088A7BB0: ctx.gpr[22] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1120))); @@ -8872,16 +8873,16 @@ L_088A7BB0: L_088A7BC0: aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_5 = (ctx.gpr[21] | 0u); - ctx.gpr[6] = (ctx.gpr[22] | 0u); + aot_gpr_6 = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x088A7BD4u); ctx.gpr[7] = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 635u, 0x0893E914u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A7BD4u) goto L_088A7BD4; AOT_REGCACHE_SYNC_OUT(); return; L_088A7BD4: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088A7BE0u); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A7BE0u) goto L_088A7BE0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A7BE0u) goto L_088A7BE0; AOT_REGCACHE_SYNC_OUT(); return; L_088A7BE0: { const bool branch_taken = 0u == 0u; @@ -8893,7 +8894,7 @@ L_088A7BE0: } L_088A7BE8: if (ctx.gpr[20] != 0u) { - ctx.gpr[21] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(80))); + ctx.gpr[21] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(80))); goto L_088A7C00; } goto L_088A7BF0; @@ -8904,7 +8905,7 @@ L_088A7BF0: AOT_REGCACHE_SYNC_OUT(); return; L_088A7BF8: ctx.gpr[20] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5836))); - ctx.gpr[21] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(80))); + ctx.gpr[21] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(80))); goto L_088A7C00; L_088A7C00: ctx.gpr[22] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1120))); @@ -8916,28 +8917,28 @@ L_088A7C00: L_088A7C10: aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_5 = (ctx.gpr[21] | 0u); - ctx.gpr[6] = (ctx.gpr[22] | 0u); + aot_gpr_6 = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x088A7C24u); ctx.gpr[7] = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 635u, 0x0893E914u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A7C24u) goto L_088A7C24; AOT_REGCACHE_SYNC_OUT(); return; L_088A7C24: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088A7C30u); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A7C30u) goto L_088A7C30; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A7C30u) goto L_088A7C30; AOT_REGCACHE_SYNC_OUT(); return; L_088A7C30: aot_gpr_31 = (0x088A7C38u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A7C38u) goto L_088A7C38; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A7C38u) goto L_088A7C38; AOT_REGCACHE_SYNC_OUT(); return; L_088A7C38: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x088A7C48u); - ctx.gpr[6] = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A7C48u) goto L_088A7C48; + aot_gpr_6 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A7C48u) goto L_088A7C48; AOT_REGCACHE_SYNC_OUT(); return; L_088A7C48: { const bool branch_taken = 0u == 0u; @@ -9007,7 +9008,7 @@ L_088A7CA0: } L_088A7CB4: if (aot_gpr_4 != 0u) { - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(80))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(80))); goto L_088A7CCC; } goto L_088A7CBC; @@ -9018,19 +9019,19 @@ L_088A7CBC: AOT_REGCACHE_SYNC_OUT(); return; L_088A7CC4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5836))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(80))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(80))); goto L_088A7CCC; L_088A7CCC: - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x088A7CD8u); ctx.gpr[7] = (0u | 118u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 635u, 0x0893E914u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A7CD8u) goto L_088A7CD8; AOT_REGCACHE_SYNC_OUT(); return; L_088A7CD8: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088A7CE4u); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A7CE4u) goto L_088A7CE4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A7CE4u) goto L_088A7CE4; AOT_REGCACHE_SYNC_OUT(); return; L_088A7CE4: { const bool branch_taken = 0u == 0u; @@ -9042,7 +9043,7 @@ L_088A7CE4: } L_088A7CEC: if (aot_gpr_4 != 0u) { - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(80))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(80))); goto L_088A7D04; } goto L_088A7CF4; @@ -9053,31 +9054,31 @@ L_088A7CF4: AOT_REGCACHE_SYNC_OUT(); return; L_088A7CFC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5836))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(80))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(80))); goto L_088A7D04; L_088A7D04: - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x088A7D10u); ctx.gpr[7] = (0u | 119u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 635u, 0x0893E914u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A7D10u) goto L_088A7D10; AOT_REGCACHE_SYNC_OUT(); return; L_088A7D10: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088A7D1Cu); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A7D1Cu) goto L_088A7D1C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A7D1Cu) goto L_088A7D1C; AOT_REGCACHE_SYNC_OUT(); return; L_088A7D1C: aot_gpr_31 = (0x088A7D24u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A7D24u) goto L_088A7D24; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A7D24u) goto L_088A7D24; AOT_REGCACHE_SYNC_OUT(); return; L_088A7D24: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x088A7D34u); - ctx.gpr[6] = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A7D34u) goto L_088A7D34; + aot_gpr_6 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A7D34u) goto L_088A7D34; AOT_REGCACHE_SYNC_OUT(); return; L_088A7D34: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -9097,7 +9098,7 @@ L_088A7D40: } L_088A7D50: aot_gpr_31 = (0x088A7D58u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 441u, 0x089AA5B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A7D58u) goto L_088A7D58; AOT_REGCACHE_SYNC_OUT(); return; L_088A7D58: @@ -9122,7 +9123,7 @@ L_088A7D60: } L_088A7D78: if (ctx.gpr[20] != 0u) { - ctx.gpr[21] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(80))); + ctx.gpr[21] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(80))); goto L_088A7D90; } goto L_088A7D80; @@ -9133,7 +9134,7 @@ L_088A7D80: AOT_REGCACHE_SYNC_OUT(); return; L_088A7D88: ctx.gpr[20] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5836))); - ctx.gpr[21] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(80))); + ctx.gpr[21] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(80))); goto L_088A7D90; L_088A7D90: ctx.gpr[22] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1120))); @@ -9145,16 +9146,16 @@ L_088A7D90: L_088A7DA0: aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_5 = (ctx.gpr[21] | 0u); - ctx.gpr[6] = (ctx.gpr[22] | 0u); + aot_gpr_6 = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x088A7DB4u); ctx.gpr[7] = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 635u, 0x0893E914u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A7DB4u) goto L_088A7DB4; AOT_REGCACHE_SYNC_OUT(); return; L_088A7DB4: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088A7DC0u); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A7DC0u) goto L_088A7DC0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A7DC0u) goto L_088A7DC0; AOT_REGCACHE_SYNC_OUT(); return; L_088A7DC0: { const bool branch_taken = 0u == 0u; @@ -9166,7 +9167,7 @@ L_088A7DC0: } L_088A7DC8: if (ctx.gpr[20] != 0u) { - ctx.gpr[21] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(80))); + ctx.gpr[21] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(80))); goto L_088A7DE0; } goto L_088A7DD0; @@ -9177,7 +9178,7 @@ L_088A7DD0: AOT_REGCACHE_SYNC_OUT(); return; L_088A7DD8: ctx.gpr[20] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5836))); - ctx.gpr[21] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(80))); + ctx.gpr[21] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(80))); goto L_088A7DE0; L_088A7DE0: ctx.gpr[22] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1120))); @@ -9189,28 +9190,28 @@ L_088A7DE0: L_088A7DF0: aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_5 = (ctx.gpr[21] | 0u); - ctx.gpr[6] = (ctx.gpr[22] | 0u); + aot_gpr_6 = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x088A7E04u); ctx.gpr[7] = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 635u, 0x0893E914u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A7E04u) goto L_088A7E04; AOT_REGCACHE_SYNC_OUT(); return; L_088A7E04: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088A7E10u); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A7E10u) goto L_088A7E10; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A7E10u) goto L_088A7E10; AOT_REGCACHE_SYNC_OUT(); return; L_088A7E10: aot_gpr_31 = (0x088A7E18u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A7E18u) goto L_088A7E18; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A7E18u) goto L_088A7E18; AOT_REGCACHE_SYNC_OUT(); return; L_088A7E18: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x088A7E28u); - ctx.gpr[6] = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A7E28u) goto L_088A7E28; + aot_gpr_6 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A7E28u) goto L_088A7E28; AOT_REGCACHE_SYNC_OUT(); return; L_088A7E28: { const bool branch_taken = ctx.gpr[19] == 0u; @@ -9221,7 +9222,7 @@ L_088A7E28: goto L_088A7E30; } L_088A7E30: - ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(2274))); + aot_gpr_6 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(2274))); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088A7E44u); @@ -9244,11 +9245,11 @@ L_088A7E4C: L_088A7E54: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x088A7E60u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 119u, 0x089B4624u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A7E60u) goto L_088A7E60; AOT_REGCACHE_SYNC_OUT(); return; L_088A7E60: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1360))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1360))); { const bool branch_taken = aot_gpr_4 != ctx.gpr[18]; // nop if (branch_taken) { @@ -9280,7 +9281,7 @@ L_088A7E7C: } L_088A7E88: aot_gpr_4 = (0u | 1u); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(2301), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(2301), static_cast(aot_gpr_4)); goto L_088A7E90; L_088A7E90: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(900))); @@ -9313,7 +9314,7 @@ L_088A7EAC: L_088A7EB8: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_5 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (0u | 11u); + aot_gpr_6 = (0u | 11u); aot_gpr_31 = (0x088A7ECCu); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0106_entry, 106u, 567u, 0x089AE4F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A7ECCu) goto L_088A7ECC; @@ -9345,7 +9346,7 @@ L_088A7EEC: ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5836))); goto L_088A7EF0; L_088A7EF0: - ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(80))); + ctx.gpr[20] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(80))); ctx.gpr[21] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1120))); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088A7F04u); @@ -9355,34 +9356,34 @@ L_088A7EF0: L_088A7F04: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (ctx.gpr[20] | 0u); - ctx.gpr[6] = (ctx.gpr[21] | 0u); + aot_gpr_6 = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x088A7F18u); ctx.gpr[7] = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 635u, 0x0893E914u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A7F18u) goto L_088A7F18; AOT_REGCACHE_SYNC_OUT(); return; L_088A7F18: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088A7F24u); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A7F24u) goto L_088A7F24; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A7F24u) goto L_088A7F24; AOT_REGCACHE_SYNC_OUT(); return; L_088A7F24: aot_gpr_31 = (0x088A7F2Cu); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A7F2Cu) goto L_088A7F2C; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A7F2Cu) goto L_088A7F2C; AOT_REGCACHE_SYNC_OUT(); return; L_088A7F2C: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x088A7F3Cu); - ctx.gpr[6] = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A7F3Cu) goto L_088A7F3C; + aot_gpr_6 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A7F3Cu) goto L_088A7F3C; AOT_REGCACHE_SYNC_OUT(); return; L_088A7F3C: { std::uint32_t aot_run_words[8]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -9410,7 +9411,7 @@ L_088A7F64: aot_fpr_20 = aot_fpr_12 / aot_fpr_20; aot_gpr_4 = (aot_gpr_5 & 496u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), std::bit_cast(ctx.fpr[22])); - { const std::uint32_t aot_run_words[3]{aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(60), aot_run_words); } { const bool branch_taken = aot_gpr_4 != 0u; // nop diff --git a/profiles/vcs/generated/generated_unit_0041.cpp b/profiles/vcs/generated/generated_unit_0041.cpp index 88ca085..061821a 100644 --- a/profiles/vcs/generated/generated_unit_0041.cpp +++ b/profiles/vcs/generated/generated_unit_0041.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -137,20 +138,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0041[4059] = { }; void recomp_unit_0041_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,16,31,6 fprs=12,13,14,20 gpr_occ=3282 fpr_occ=1138 gpr_total=4694 fpr_total=1459 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,31,6,2 fprs=12,13,14,20 gpr_occ=3374 fpr_occ=1144 gpr_total=5063 fpr_total=1465 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; - std::uint32_t aot_gpr_16 = ctx.gpr[16]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; std::uint32_t aot_gpr_6 = ctx.gpr[6]; + std::uint32_t aot_gpr_2 = ctx.gpr[2]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_14 = ctx.fpr[14]; float aot_fpr_20 = ctx.fpr[20]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[16] = aot_gpr_16; ctx.gpr[31] = aot_gpr_31; ctx.gpr[6] = aot_gpr_6; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[20] = aot_fpr_20; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_6 = ctx.gpr[6]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_20 = ctx.fpr[20]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[31] = aot_gpr_31; ctx.gpr[6] = aot_gpr_6; ctx.gpr[2] = aot_gpr_2; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[20] = aot_fpr_20; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_2 = ctx.gpr[2]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_20 = ctx.fpr[20]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -840,9 +841,9 @@ L_088A8020: goto L_088A8038; } L_088A8038: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(288))); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(900))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(292))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(288))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(900))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(292))); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_13) ^ 0x80000000u); @@ -854,7 +855,7 @@ L_088A8038: goto L_088A8058; } L_088A8058: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(900))); ctx.gpr[17] = (0u | 55u); aot_gpr_4 = (aot_gpr_4 + static_cast(2228)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); @@ -877,7 +878,7 @@ L_088A8070: goto L_088A8084; } L_088A8084: - aot_gpr_4 = (aot_gpr_16 + static_cast(288)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(288)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -887,7 +888,7 @@ L_088A8084: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_5 = (aot_gpr_16 + static_cast(16)); + aot_gpr_5 = (ctx.gpr[16] + static_cast(16)); { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -908,7 +909,7 @@ L_088A8084: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 <= aot_fpr_12)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); - aot_gpr_6 = (aot_gpr_16 + static_cast(32)); + aot_gpr_6 = (ctx.gpr[16] + static_cast(32)); if (branch_taken) { goto L_088A812C; } @@ -1009,7 +1010,7 @@ L_088A8130: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -1100,7 +1101,7 @@ L_088A81C4: goto L_088A81E8; } L_088A81E8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(900))); { const bool branch_taken = aot_gpr_4 == 0u; ctx.gpr[18] = (0u + static_cast(-10)); if (branch_taken) { @@ -1109,26 +1110,26 @@ L_088A81E8: goto L_088A81F4; } L_088A81F4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(900))); aot_gpr_31 = (0x088A8200u); aot_gpr_5 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 618u, 0x08906DC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A8200u) goto L_088A8200; AOT_REGCACHE_SYNC_OUT(); return; L_088A8200: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(900))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1252))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[22])) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); if (branch_taken) { goto L_088A823C; } goto L_088A8218; } L_088A8218: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(900))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(336))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(900))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(336))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-25020))); ctx.gpr[8] = (ctx.gpr[18] & 255u); { const float fs = aot_fpr_12; const float ft = aot_fpr_20; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } @@ -1139,7 +1140,7 @@ L_088A8218: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0057_entry, 57u, 692u, 0x088EB674u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A823Cu) goto L_088A823C; AOT_REGCACHE_SYNC_OUT(); return; L_088A823C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(900))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -1148,7 +1149,7 @@ L_088A823C: goto L_088A8248; } L_088A8248: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(900))); aot_gpr_4 = (aot_gpr_4 + static_cast(2228)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); { const bool branch_taken = aot_gpr_4 != ctx.gpr[17]; @@ -1159,22 +1160,22 @@ L_088A8248: goto L_088A825C; } L_088A825C: - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(900))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(900))); aot_gpr_6 = (ctx.gpr[18] & 255u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 42u); aot_gpr_31 = (0x088A8274u); ctx.gpr[8] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0192_entry, 192u, 212u, 0x08B04D14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A8274u) goto L_088A8274; AOT_REGCACHE_SYNC_OUT(); return; L_088A8274: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x088A8280u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A8280u) goto L_088A8280; AOT_REGCACHE_SYNC_OUT(); return; L_088A8280: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088A8354; @@ -1191,28 +1192,28 @@ L_088A8288: goto L_088A8294; } L_088A8294: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x088A82A0u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A82A0u) goto L_088A82A0; AOT_REGCACHE_SYNC_OUT(); return; L_088A82A0: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x088A82ACu); aot_gpr_5 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 618u, 0x08906DC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A82ACu) goto L_088A82AC; AOT_REGCACHE_SYNC_OUT(); return; L_088A82AC: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); goto L_088A82B0; L_088A82B0: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x088A82BCu); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A82BCu) goto L_088A82BC; AOT_REGCACHE_SYNC_OUT(); return; L_088A82BC: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(1252))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(1252))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[22])) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); @@ -1223,17 +1224,17 @@ L_088A82BC: goto L_088A82D0; } L_088A82D0: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x088A82DCu); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A82DCu) goto L_088A82DC; AOT_REGCACHE_SYNC_OUT(); return; L_088A82DC: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(336))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(336))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-25020))); ctx.gpr[8] = (ctx.gpr[18] & 255u); { const float fs = aot_fpr_12; const float ft = aot_fpr_20; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_6 = (0u | 42u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x088A8300u); @@ -1241,14 +1242,14 @@ L_088A82DC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0057_entry, 57u, 692u, 0x088EB674u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A8300u) goto L_088A8300; AOT_REGCACHE_SYNC_OUT(); return; L_088A8300: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x088A830Cu); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A830Cu) goto L_088A830C; AOT_REGCACHE_SYNC_OUT(); return; L_088A830C: - { const bool branch_taken = ctx.gpr[2] == 0u; - aot_gpr_4 = (aot_gpr_16 | 0u); + { const bool branch_taken = aot_gpr_2 == 0u; + aot_gpr_4 = (ctx.gpr[16] | 0u); if (branch_taken) { goto L_088A8354; } @@ -1260,7 +1261,7 @@ L_088A8314: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A831Cu) goto L_088A831C; AOT_REGCACHE_SYNC_OUT(); return; L_088A831C: - aot_gpr_4 = (ctx.gpr[2] + static_cast(2228)); + aot_gpr_4 = (aot_gpr_2 + static_cast(2228)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); { const bool branch_taken = aot_gpr_4 != ctx.gpr[17]; // nop @@ -1271,16 +1272,16 @@ L_088A831C: } L_088A832C: ctx.gpr[17] = (ctx.gpr[18] & 255u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x088A833Cu); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A833Cu) goto L_088A833C; AOT_REGCACHE_SYNC_OUT(); return; L_088A833C: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 42u); aot_gpr_6 = (ctx.gpr[17] | 0u); - ctx.gpr[7] = (ctx.gpr[2] | 0u); + ctx.gpr[7] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x088A8354u); ctx.gpr[8] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0192_entry, 192u, 212u, 0x08B04D14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A8354u) goto L_088A8354; @@ -1290,7 +1291,7 @@ L_088A8354: aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(48), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); - aot_gpr_16 = aot_run_words[2]; + ctx.gpr[16] = aot_run_words[2]; ctx.gpr[17] = aot_run_words[3]; ctx.gpr[18] = aot_run_words[4]; aot_gpr_31 = aot_run_words[5]; @@ -1307,36 +1308,36 @@ L_088A8374: ctx.gpr[17] = (aot_gpr_5 & 255u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(852))); aot_gpr_6 = (0u | 2u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(240), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(240), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(248), aot_gpr_31); { const bool branch_taken = aot_gpr_5 != aot_gpr_6; - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_088A865C; } goto L_088A8398; } L_088A8398: - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1104))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1104))); aot_fpr_12 = std::bit_cast(0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 < aot_fpr_12)) ? 0x00800000u : 0u); // nop if (!((ctx.fcr31 & 0x00800000u) != 0u)) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1056))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1056))); goto L_088A8498; } goto L_088A83B0; L_088A83B0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1056))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(352))); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1104))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1056))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(352))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1104))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_4 = (aot_gpr_5 + static_cast(160)); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_fpr_12 = aot_fpr_14 + aot_fpr_12; { const bool branch_taken = ctx.gpr[17] == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(196), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(196), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_088A8570; } @@ -1346,7 +1347,7 @@ L_088A83D8: aot_gpr_4 = (15820u << 16u); aot_gpr_4 = (aot_gpr_4 | 52429u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_gpr_4 = (aot_gpr_16 + static_cast(320)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(320)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -1360,9 +1361,9 @@ L_088A83D8: ctx.execute_vfpu_unary_ct<28u, 28u, 1u, 22u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_13 = std::bit_cast(aot_gpr_4); - aot_gpr_6 = (aot_gpr_16 + static_cast(32)); - aot_gpr_5 = (aot_gpr_16 + static_cast(192)); - aot_gpr_4 = (aot_gpr_16 + static_cast(16)); + aot_gpr_6 = (ctx.gpr[16] + static_cast(32)); + aot_gpr_5 = (ctx.gpr[16] + static_cast(192)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(16)); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); // nop if (((ctx.fcr31 & 0x00800000u) != 0u)) { @@ -1371,10 +1372,10 @@ L_088A83D8: } goto L_088A8418; L_088A8418: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1104))); - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(212))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1104))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(212))); { const float fs = aot_fpr_12; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1056))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1056))); ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(0))); { const float fs = aot_fpr_12; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } @@ -1435,30 +1436,30 @@ L_088A8418: ctx.fpr[17] = std::bit_cast(aot_run_words[2]); } aot_gpr_31 = (0x088A848Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 611u, 0x08A66E08u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A848Cu) goto L_088A848C; AOT_REGCACHE_SYNC_OUT(); return; L_088A848C: { const bool branch_taken = 0u == 0u; - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1056))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1056))); if (branch_taken) { goto L_088A8574; } goto L_088A8494; } L_088A8494: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1056))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1056))); goto L_088A8498; L_088A8498: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(352))); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1104))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(352))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1104))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_4 = (aot_gpr_5 + static_cast(160)); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_fpr_12 = aot_fpr_14 + aot_fpr_12; { const bool branch_taken = ctx.gpr[17] == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(196), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(196), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_088A8570; } @@ -1468,7 +1469,7 @@ L_088A84BC: aot_gpr_4 = (15820u << 16u); aot_gpr_4 = (aot_gpr_4 | 52429u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_gpr_4 = (aot_gpr_16 + static_cast(320)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(320)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -1482,9 +1483,9 @@ L_088A84BC: ctx.execute_vfpu_unary_ct<28u, 28u, 1u, 22u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_13 = std::bit_cast(aot_gpr_4); - aot_gpr_6 = (aot_gpr_16 + static_cast(32)); - aot_gpr_5 = (aot_gpr_16 + static_cast(192)); - aot_gpr_4 = (aot_gpr_16 + static_cast(16)); + aot_gpr_6 = (ctx.gpr[16] + static_cast(32)); + aot_gpr_5 = (ctx.gpr[16] + static_cast(192)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(16)); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); // nop if (((ctx.fcr31 & 0x00800000u) != 0u)) { @@ -1493,10 +1494,10 @@ L_088A84BC: } goto L_088A84FC; L_088A84FC: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1104))); - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(212))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1104))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(212))); { const float fs = aot_fpr_12; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1056))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1056))); ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(4))); { const float fs = aot_fpr_12; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } @@ -1557,15 +1558,15 @@ L_088A84FC: ctx.fpr[17] = std::bit_cast(aot_run_words[2]); } aot_gpr_31 = (0x088A8570u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 611u, 0x08A66E08u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A8570u) goto L_088A8570; AOT_REGCACHE_SYNC_OUT(); return; L_088A8570: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1056))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1056))); goto L_088A8574; L_088A8574: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(352))); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1108))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(352))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1108))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); aot_gpr_4 = (aot_gpr_5 + static_cast(160)); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } @@ -1573,7 +1574,7 @@ L_088A8574: aot_fpr_12 = aot_fpr_14 + aot_fpr_12; aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); { const bool branch_taken = ctx.gpr[17] == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(192), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(192), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_088A865C; } @@ -1583,7 +1584,7 @@ L_088A859C: aot_gpr_4 = (15820u << 16u); aot_gpr_4 = (aot_gpr_4 | 52429u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_gpr_4 = (aot_gpr_16 + static_cast(320)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(320)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -1597,8 +1598,8 @@ L_088A859C: ctx.execute_vfpu_unary_ct<28u, 28u, 1u, 22u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_13 = std::bit_cast(aot_gpr_4); - aot_gpr_5 = (aot_gpr_16 + static_cast(192)); - aot_gpr_4 = (aot_gpr_16 + static_cast(16)); + aot_gpr_5 = (ctx.gpr[16] + static_cast(192)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(16)); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); // nop if (((ctx.fcr31 & 0x00800000u) != 0u)) { @@ -1607,10 +1608,10 @@ L_088A859C: } goto L_088A85D8; L_088A85D8: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1108))); - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(212))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1108))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(212))); { const float fs = aot_fpr_12; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1056))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1056))); ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(8))); { const float fs = aot_fpr_12; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } @@ -1623,7 +1624,7 @@ L_088A85D8: aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); aot_gpr_6 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_6); - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -1675,13 +1676,13 @@ L_088A85D8: ctx.fpr[17] = std::bit_cast(aot_run_words[2]); } aot_gpr_31 = (0x088A865Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 611u, 0x08A66E08u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A865Cu) goto L_088A865C; AOT_REGCACHE_SYNC_OUT(); return; L_088A865C: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(240), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -1693,11 +1694,11 @@ L_088A865C: AOT_REGCACHE_SYNC_OUT(); return; L_088A8670: aot_gpr_29 = (aot_gpr_29 + static_cast(-336)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(300), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(300), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(308), ctx.gpr[18]); ctx.gpr[18] = (aot_gpr_6 | 0u); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(86)))))); ctx.gpr[9] = (16153u << 16u); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); ctx.gpr[9] = (ctx.gpr[9] | 39322u); @@ -1841,7 +1842,7 @@ L_088A877C: L_088A8788: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x088A8794u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0039_entry, 39u, 550u, 0x088A2648u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A8794u) goto L_088A8794; AOT_REGCACHE_SYNC_OUT(); return; L_088A8794: @@ -1859,7 +1860,7 @@ L_088A8794: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (ctx.gpr[19] | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_6 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088A87B0u); ctx.gpr[7] = (0u | 0u); @@ -1923,7 +1924,7 @@ L_088A87E0: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(144), std::bit_cast(aot_fpr_12)); goto L_088A87EC; L_088A87EC: - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -1932,7 +1933,7 @@ L_088A87EC: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<4u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(16); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(16); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -1941,7 +1942,7 @@ L_088A87EC: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<5u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(32); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(32); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -1984,7 +1985,7 @@ L_088A87EC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A881Cu) goto L_088A881C; AOT_REGCACHE_SYNC_OUT(); return; L_088A881C: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(40))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(40))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_20)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); @@ -2124,7 +2125,7 @@ L_088A8848: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0036_entry, 36u, 527u, 0x088967ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A88E4u) goto L_088A88E4; AOT_REGCACHE_SYNC_OUT(); return; L_088A88E4: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088A8984; @@ -2147,7 +2148,7 @@ L_088A88EC: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (ctx.gpr[22] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[24])); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_6 = (0u | 1u); ctx.gpr[7] = (0u | 1u); ctx.gpr[8] = (0u | 0u); @@ -2160,7 +2161,7 @@ L_088A88EC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0037_entry, 37u, 487u, 0x0889ACD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A8924u) goto L_088A8924; AOT_REGCACHE_SYNC_OUT(); return; L_088A8924: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_088A897C; @@ -2172,9 +2173,9 @@ L_088A892C: ctx.gpr[17] = (aot_gpr_29 + static_cast(160)); ctx.gpr[18] = (aot_gpr_29 + static_cast(192)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), 0u); - ctx.gpr[2] = (17530u << 16u); + aot_gpr_2 = (17530u << 16u); aot_gpr_4 = (ctx.gpr[21] | 0u); - aot_fpr_12 = std::bit_cast(ctx.gpr[2]); + aot_fpr_12 = std::bit_cast(aot_gpr_2); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_6 = (ctx.gpr[18] | 0u); ctx.gpr[7] = (0u | 1u); @@ -2187,7 +2188,7 @@ L_088A892C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 287u, 0x08891DD4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A896Cu) goto L_088A896C; AOT_REGCACHE_SYNC_OUT(); return; L_088A896C: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(168))); if (branch_taken) { goto L_088A898C; @@ -2204,7 +2205,7 @@ L_088A8974: } L_088A897C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_088A8A74; } @@ -2212,7 +2213,7 @@ L_088A897C: } L_088A8984: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_088A8A74; } @@ -2242,7 +2243,7 @@ L_088A89A0: goto L_088A89B8; } L_088A89B8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(236))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(236))); aot_gpr_4 = (aot_gpr_4 & 256u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -2261,7 +2262,7 @@ L_088A89C8: } L_088A89D0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_088A8A74; } @@ -2270,9 +2271,9 @@ L_088A89D0: L_088A89D8: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), 0u); - ctx.gpr[2] = (50298u << 16u); + aot_gpr_2 = (50298u << 16u); aot_gpr_4 = (ctx.gpr[21] | 0u); - aot_fpr_12 = std::bit_cast(ctx.gpr[2]); + aot_fpr_12 = std::bit_cast(aot_gpr_2); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_6 = (ctx.gpr[18] | 0u); ctx.gpr[7] = (0u | 1u); @@ -2285,7 +2286,7 @@ L_088A89D8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 287u, 0x08891DD4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A8A10u) goto L_088A8A10; AOT_REGCACHE_SYNC_OUT(); return; L_088A8A10: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088A8A24; @@ -2303,7 +2304,7 @@ L_088A8A18: } L_088A8A24: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_088A8A74; } @@ -2344,14 +2345,14 @@ L_088A8A54: } L_088A8A68: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_088A8A74; } goto L_088A8A70; } L_088A8A70: - ctx.gpr[2] = (ctx.gpr[23] | 0u); + aot_gpr_2 = (ctx.gpr[23] | 0u); goto L_088A8A74; L_088A8A74: { std::uint32_t aot_run_words[12]{}; @@ -2359,7 +2360,7 @@ L_088A8A74: aot_fpr_20 = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); - aot_gpr_16 = aot_run_words[3]; + ctx.gpr[16] = aot_run_words[3]; ctx.gpr[17] = aot_run_words[4]; ctx.gpr[18] = aot_run_words[5]; ctx.gpr[19] = aot_run_words[6]; @@ -2378,7 +2379,7 @@ L_088A8A74: L_088A8AAC: aot_gpr_29 = (aot_gpr_29 + static_cast(-480)); aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7080))); - { const std::uint32_t aot_run_words[15]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; + { const std::uint32_t aot_run_words[15]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(420), aot_run_words); } { const bool branch_taken = aot_gpr_6 == 0u; ctx.gpr[21] = (aot_gpr_4 | 0u); @@ -2435,14 +2436,14 @@ L_088A8B44: aot_gpr_4 = (aot_gpr_4 | 7864u); aot_gpr_31 = (0x088A8B64u); ctx.fpr[22] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A8B64u) goto L_088A8B64; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A8B64u) goto L_088A8B64; AOT_REGCACHE_SYNC_OUT(); return; L_088A8B64: aot_fpr_12 = ctx.fpr[22] - aot_fpr_20; { const float fs = aot_fpr_12; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_31 = (0x088A8B74u); ctx.fpr[24] = aot_fpr_20 + aot_fpr_12; - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A8B74u) goto L_088A8B74; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A8B74u) goto L_088A8B74; AOT_REGCACHE_SYNC_OUT(); return; L_088A8B74: aot_fpr_13 = ctx.fpr[22] - aot_fpr_20; @@ -2465,8 +2466,8 @@ L_088A8B74: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_16 = (aot_gpr_29 + static_cast(32)); - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + ctx.gpr[16] = (aot_gpr_29 + static_cast(32)); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -2489,21 +2490,21 @@ L_088A8B74: L_088A8BC4: aot_gpr_31 = (0x088A8BCCu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A8BCCu) goto L_088A8BCC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A8BCCu) goto L_088A8BCC; AOT_REGCACHE_SYNC_OUT(); return; L_088A8BCC: aot_fpr_12 = ctx.fpr[22] - aot_fpr_20; { const float fs = aot_fpr_12; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_31 = (0x088A8BDCu); ctx.fpr[24] = aot_fpr_20 + aot_fpr_12; - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A8BDCu) goto L_088A8BDC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A8BDCu) goto L_088A8BDC; AOT_REGCACHE_SYNC_OUT(); return; L_088A8BDC: aot_fpr_13 = ctx.fpr[22] - aot_fpr_20; { const float fs = aot_fpr_13; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_gpr_31 = (0x088A8BECu); ctx.fpr[26] = aot_fpr_20 + aot_fpr_13; - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A8BECu) goto L_088A8BEC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A8BECu) goto L_088A8BEC; AOT_REGCACHE_SYNC_OUT(); return; L_088A8BEC: aot_fpr_14 = ctx.fpr[22] - aot_fpr_20; @@ -2532,10 +2533,10 @@ L_088A8BEC: ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 0u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -2650,20 +2651,20 @@ L_088A8CF4: ctx.gpr[20] = (std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x088A8D7Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A8D7Cu) goto L_088A8D7C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A8D7Cu) goto L_088A8D7C; AOT_REGCACHE_SYNC_OUT(); return; L_088A8D7C: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 0u); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-25012))); aot_gpr_31 = (0x088A8D90u); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-25016))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A8D90u) goto L_088A8D90; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A8D90u) goto L_088A8D90; AOT_REGCACHE_SYNC_OUT(); return; L_088A8D90: ctx.gpr[1] = (ctx.gpr[3] << 1u); aot_gpr_5 = (static_cast(static_cast(ctx.gpr[3]) >> 31u)); - aot_gpr_4 = (ctx.gpr[2] >> 31u); + aot_gpr_4 = (aot_gpr_2 >> 31u); aot_gpr_4 = (ctx.gpr[1] | aot_gpr_4); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-25004))); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-25008))); @@ -2695,7 +2696,7 @@ L_088A8D90: aot_gpr_4 = (aot_gpr_4 | 39322u); aot_gpr_31 = (0x088A8DECu); ctx.fpr[26] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A8DECu) goto L_088A8DEC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A8DECu) goto L_088A8DEC; AOT_REGCACHE_SYNC_OUT(); return; L_088A8DEC: aot_fpr_12 = ctx.fpr[24] - ctx.fpr[26]; @@ -2736,7 +2737,7 @@ L_088A8E2C: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -2805,11 +2806,11 @@ L_088A8E9C: ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (0u | 7u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_6 = (ctx.gpr[19] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); ctx.gpr[7] = (0u | 75u); @@ -2892,7 +2893,7 @@ L_088A8F18: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0189_entry, 189u, 115u, 0x08AF8668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A8F40u) goto L_088A8F40; AOT_REGCACHE_SYNC_OUT(); return; L_088A8F40: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088A8F50; @@ -2920,7 +2921,7 @@ L_088A8F64: aot_fpr_12 = aot_fpr_12 + ctx.fpr[24]; aot_gpr_5 = (16416u << 16u); aot_gpr_4 = (aot_gpr_4 | 52429u); - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); ctx.fpr[26] = std::bit_cast(aot_gpr_4); ctx.gpr[17] = (aot_gpr_29 + static_cast(160)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(120), std::bit_cast(aot_fpr_12)); @@ -2944,7 +2945,7 @@ L_088A8F94: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_31 = (0x088A8FA4u); ctx.fpr[28] = std::bit_cast(std::bit_cast(ctx.fpr[24]) ^ 0x80000000u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A8FA4u) goto L_088A8FA4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A8FA4u) goto L_088A8FA4; AOT_REGCACHE_SYNC_OUT(); return; L_088A8FA4: aot_fpr_12 = ctx.fpr[24] - ctx.fpr[28]; @@ -2955,7 +2956,7 @@ L_088A8FA4: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(160), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x088A8FC4u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A8FC4u) goto L_088A8FC4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A8FC4u) goto L_088A8FC4; AOT_REGCACHE_SYNC_OUT(); return; L_088A8FC4: aot_fpr_12 = ctx.fpr[24] - ctx.fpr[28]; @@ -2980,8 +2981,8 @@ L_088A8FC4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0063_entry, 63u, 90u, 0x0890043Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A9014u) goto L_088A9014; AOT_REGCACHE_SYNC_OUT(); return; L_088A9014: - aot_gpr_16 = (aot_gpr_16 + static_cast(1)); - aot_gpr_4 = (static_cast(aot_gpr_16) < 4 ? 1u : 0u); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(1)); + aot_gpr_4 = (static_cast(ctx.gpr[16]) < 4 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -3017,9 +3018,9 @@ L_088A903C: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_16 = (aot_gpr_29 + static_cast(176)); + ctx.gpr[16] = (aot_gpr_29 + static_cast(176)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(192), std::bit_cast(aot_fpr_20)); @@ -3035,7 +3036,7 @@ L_088A903C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0189_entry, 189u, 115u, 0x08AF8668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A9064u) goto L_088A9064; AOT_REGCACHE_SYNC_OUT(); return; L_088A9064: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088A9074; @@ -3071,7 +3072,7 @@ L_088A9088: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(184), std::bit_cast(aot_fpr_14)); ctx.gpr[8] = (aot_gpr_29 + static_cast(48)); aot_gpr_4 = (0u | 9u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); ctx.gpr[7] = (0u | 2500u); aot_gpr_31 = (0x088A90CCu); ctx.gpr[9] = (0u | 1u); @@ -3089,12 +3090,12 @@ L_088A90CC: L_088A90D8: ctx.gpr[17] = (2186u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(240), 0u); - aot_gpr_16 = (aot_gpr_29 + static_cast(240)); + ctx.gpr[16] = (aot_gpr_29 + static_cast(240)); ctx.gpr[17] = (ctx.gpr[17] + static_cast(10032)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(960))); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088A90F8u); - aot_gpr_6 = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0091_entry, 91u, 626u, 0x08972E68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A90F8u) goto L_088A90F8; AOT_REGCACHE_SYNC_OUT(); return; L_088A90F8: @@ -3113,7 +3114,7 @@ L_088A9104: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0009_entry, 9u, 392u, 0x0882B994u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A9110u) goto L_088A9110; AOT_REGCACHE_SYNC_OUT(); return; L_088A9110: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[19] != 0u; // nop if (branch_taken) { @@ -3186,14 +3187,14 @@ L_088A917C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0091_entry, 91u, 622u, 0x08972DA4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A9188u) goto L_088A9188; AOT_REGCACHE_SYNC_OUT(); return; L_088A9188: - ctx.gpr[23] = (ctx.gpr[2] | 0u); + ctx.gpr[23] = (aot_gpr_2 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(240))); aot_gpr_31 = (0x088A9198u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0085_entry, 85u, 490u, 0x0895B708u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A9198u) goto L_088A9198; AOT_REGCACHE_SYNC_OUT(); return; L_088A9198: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(240), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(240), aot_gpr_2); { const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -3483,7 +3484,7 @@ L_088A938C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(240), 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088A93A0u); - aot_gpr_6 = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0091_entry, 91u, 626u, 0x08972E68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A93A0u) goto L_088A93A0; AOT_REGCACHE_SYNC_OUT(); return; L_088A93A0: @@ -3507,7 +3508,7 @@ L_088A93B4: ctx.fpr[24] = std::bit_cast(aot_run_words[2]); ctx.fpr[26] = std::bit_cast(aot_run_words[3]); ctx.fpr[28] = std::bit_cast(aot_run_words[4]); - aot_gpr_16 = aot_run_words[5]; + ctx.gpr[16] = aot_run_words[5]; ctx.gpr[17] = aot_run_words[6]; ctx.gpr[18] = aot_run_words[7]; ctx.gpr[19] = aot_run_words[8]; @@ -3527,8 +3528,8 @@ L_088A93B4: L_088A93F8: aot_gpr_29 = (aot_gpr_29 + static_cast(-288)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(615)))))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(268), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(268), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_5 & 64u); { const std::uint32_t aot_run_words[5]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(248), aot_run_words); } @@ -3542,7 +3543,7 @@ L_088A93F8: goto L_088A9434; } L_088A9434: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(72))); aot_gpr_5 = (4096u << 16u); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); { const bool branch_taken = aot_gpr_4 != 0u; @@ -3553,7 +3554,7 @@ L_088A9434: goto L_088A9448; } L_088A9448: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 496u); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -3579,7 +3580,7 @@ L_088A9460: goto L_088A9468; } L_088A9468: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(72))); aot_gpr_5 = (16384u << 16u); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); { const bool branch_taken = aot_gpr_4 == 0u; @@ -3591,11 +3592,11 @@ L_088A9468: } L_088A947C: aot_gpr_31 = (0x088A9484u); - ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(336))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(336))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A9484u) goto L_088A9484; AOT_REGCACHE_SYNC_OUT(); return; L_088A9484: - { const bool branch_taken = ctx.gpr[17] == ctx.gpr[2]; + { const bool branch_taken = ctx.gpr[17] == aot_gpr_2; // nop if (branch_taken) { goto L_088A949C; @@ -3604,11 +3605,11 @@ L_088A9484: } L_088A948C: aot_gpr_31 = (0x088A9494u); - ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(336))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(336))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A9494u) goto L_088A9494; AOT_REGCACHE_SYNC_OUT(); return; L_088A9494: - { const bool branch_taken = ctx.gpr[17] != ctx.gpr[2]; + { const bool branch_taken = ctx.gpr[17] != aot_gpr_2; // nop if (branch_taken) { goto L_088A94C4; @@ -3627,8 +3628,8 @@ L_088A949C: goto L_088A94B0; } L_088A94B0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(352))); - aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(268))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(352))); + aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(268))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(200))); { const bool branch_taken = 0u == 0u; { const float fs = aot_fpr_20; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_20 = std::bit_cast(0x7FC00000u); else aot_fpr_20 = fs * ft; } @@ -3658,7 +3659,7 @@ L_088A94CC: goto L_088A94E4; } L_088A94E4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(72))); aot_gpr_5 = (0u | 80u); aot_gpr_4 = (aot_gpr_4 & 496u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; @@ -3669,7 +3670,7 @@ L_088A94E4: goto L_088A94F8; } L_088A94F8: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(636))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(636))); aot_gpr_4 = (17274u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); @@ -3684,14 +3685,14 @@ L_088A94F8: L_088A9514: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7080))); { const bool branch_taken = aot_gpr_4 != 0u; - ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(636))); + ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(636))); if (branch_taken) { goto L_088A955C; } goto L_088A9520; } L_088A9520: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 496u); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -3728,7 +3729,7 @@ L_088A955C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A9564u) goto L_088A9564; AOT_REGCACHE_SYNC_OUT(); return; L_088A9564: - { const bool branch_taken = aot_gpr_16 != ctx.gpr[2]; + { const bool branch_taken = ctx.gpr[16] != aot_gpr_2; // nop if (branch_taken) { goto L_088A95C8; @@ -3736,7 +3737,7 @@ L_088A9564: goto L_088A956C; } L_088A956C: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(615)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(615)))))); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_4 = (16840u << 16u); @@ -3748,14 +3749,14 @@ L_088A956C: L_088A957C: aot_gpr_4 = (16840u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(636))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(636))); aot_fpr_12 = aot_fpr_20 - aot_fpr_12; aot_gpr_4 = (16128u << 16u); aot_fpr_14 = std::bit_cast(aot_gpr_4); { const float fs = aot_fpr_12; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = aot_fpr_13 - aot_fpr_12; { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(636), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(636), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_088A972C; } @@ -3767,10 +3768,10 @@ L_088A95A4: aot_fpr_12 = aot_fpr_20 - aot_fpr_12; aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_12 = aot_fpr_12 / aot_fpr_13; - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(636))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(636))); aot_fpr_12 = aot_fpr_14 - aot_fpr_12; { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(636), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(636), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_088A972C; } @@ -3789,7 +3790,7 @@ L_088A95C8: goto L_088A95E0; } L_088A95E0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(900))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -3798,13 +3799,13 @@ L_088A95E0: goto L_088A95EC; } L_088A95EC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(900))); aot_gpr_31 = (0x088A95F8u); aot_gpr_5 = (0u | 145u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 16u, 0x08860424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A95F8u) goto L_088A95F8; AOT_REGCACHE_SYNC_OUT(); return; L_088A95F8: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(615)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(615)))))); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_4 = (16840u << 16u); @@ -3816,14 +3817,14 @@ L_088A95F8: L_088A9608: aot_gpr_4 = (16840u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(636))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(636))); aot_fpr_12 = aot_fpr_20 - aot_fpr_12; aot_gpr_4 = (16000u << 16u); aot_fpr_14 = std::bit_cast(aot_gpr_4); { const float fs = aot_fpr_12; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = aot_fpr_13 - aot_fpr_12; { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(636), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(636), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_088A9650; } @@ -3835,12 +3836,12 @@ L_088A9630: aot_fpr_12 = aot_fpr_20 - aot_fpr_12; aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_12 = aot_fpr_12 / aot_fpr_13; - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(636))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(636))); aot_fpr_12 = aot_fpr_14 - aot_fpr_12; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(636), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(636), std::bit_cast(aot_fpr_12)); goto L_088A9650; L_088A9650: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(613)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(613)))))); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -3855,7 +3856,7 @@ L_088A9660: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A9668u) goto L_088A9668; AOT_REGCACHE_SYNC_OUT(); return; L_088A9668: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088A972C; @@ -3864,11 +3865,11 @@ L_088A9668: } L_088A9670: aot_gpr_31 = (0x088A9678u); - ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(336))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(336))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A9678u) goto L_088A9678; AOT_REGCACHE_SYNC_OUT(); return; L_088A9678: - { const bool branch_taken = ctx.gpr[17] != ctx.gpr[2]; + { const bool branch_taken = ctx.gpr[17] != aot_gpr_2; // nop if (branch_taken) { goto L_088A972C; @@ -3876,7 +3877,7 @@ L_088A9678: goto L_088A9680; } L_088A9680: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(72))); aot_gpr_5 = (0u | 64u); aot_gpr_4 = (aot_gpr_4 & 496u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; @@ -3887,7 +3888,7 @@ L_088A9680: goto L_088A9694; } L_088A9694: - aot_gpr_4 = (aot_gpr_16 + static_cast(320)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(320)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -3906,7 +3907,7 @@ L_088A9694: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A96B4u) goto L_088A96B4; AOT_REGCACHE_SYNC_OUT(); return; L_088A96B4: - aot_gpr_4 = (ctx.gpr[2] + static_cast(320)); + aot_gpr_4 = (aot_gpr_2 + static_cast(320)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -3935,7 +3936,7 @@ L_088A96DC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A96E4u) goto L_088A96E4; AOT_REGCACHE_SYNC_OUT(); return; L_088A96E4: - aot_gpr_4 = (ctx.gpr[2] + static_cast(320)); + aot_gpr_4 = (aot_gpr_2 + static_cast(320)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -3967,13 +3968,13 @@ L_088A9718: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A9720u) goto L_088A9720; AOT_REGCACHE_SYNC_OUT(); return; L_088A9720: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x088A972Cu); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 659u, 0x089474A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A972Cu) goto L_088A972C; AOT_REGCACHE_SYNC_OUT(); return; L_088A972C: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(636))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(636))); aot_fpr_13 = std::bit_cast(0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); // nop @@ -3998,12 +3999,12 @@ L_088A9744: L_088A9758: aot_gpr_4 = (16256u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(336))); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(636), std::bit_cast(aot_fpr_12)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(1084), aot_gpr_4); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(336))); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(636), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(1084), aot_gpr_4); goto L_088A976C; L_088A976C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(852))); aot_gpr_5 = (0u | 2u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -4014,11 +4015,11 @@ L_088A976C: } L_088A977C: aot_gpr_31 = (0x088A9784u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0040_entry, 40u, 833u, 0x088A7F64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A9784u) goto L_088A9784; AOT_REGCACHE_SYNC_OUT(); return; L_088A9784: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(636))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(636))); aot_gpr_4 = (17382u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); @@ -4031,11 +4032,11 @@ L_088A9784: goto L_088A97A0; } L_088A97A0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(72))); aot_gpr_5 = (0u | 80u); aot_gpr_4 = (aot_gpr_4 & 496u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; - aot_gpr_4 = (aot_gpr_16 + static_cast(48)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(48)); if (branch_taken) { goto L_088A9EB4; } @@ -4062,7 +4063,7 @@ L_088A97E0: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); - aot_gpr_4 = (aot_gpr_16 + static_cast(48)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(48)); if (branch_taken) { goto L_088A9EB4; } @@ -4096,7 +4097,7 @@ L_088A9824: goto L_088A983C; } L_088A983C: - aot_gpr_4 = (aot_gpr_16 + static_cast(320)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(320)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -4129,7 +4130,7 @@ L_088A983C: const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(86)))))); aot_gpr_5 = (0u | 277u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; aot_gpr_5 = (0u | 264u); @@ -4203,7 +4204,7 @@ L_088A98A4: aot_fpr_12 = std::bit_cast(aot_gpr_6); aot_gpr_6 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_6); - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -4263,7 +4264,7 @@ L_088A9914: aot_fpr_12 = std::bit_cast(aot_gpr_6); aot_gpr_6 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_6); - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -4283,7 +4284,7 @@ L_088A9914: AOT_REGCACHE_SYNC_OUT(); return; L_088A9980: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(56))); - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(328))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(328))); aot_gpr_4 = (15948u << 16u); aot_gpr_4 = (aot_gpr_4 | 52429u); aot_fpr_12 = std::bit_cast(aot_gpr_4); @@ -4328,7 +4329,7 @@ L_088A99A8: aot_fpr_12 = std::bit_cast(aot_gpr_6); aot_gpr_6 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_6); - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -4384,7 +4385,7 @@ L_088A9A10: aot_fpr_12 = std::bit_cast(aot_gpr_6); aot_gpr_6 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_6); - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -4404,7 +4405,7 @@ L_088A9A10: AOT_REGCACHE_SYNC_OUT(); return; L_088A9A6C: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(56))); - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(328))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(328))); aot_gpr_4 = (15948u << 16u); aot_gpr_4 = (aot_gpr_4 | 52429u); aot_fpr_12 = std::bit_cast(aot_gpr_4); @@ -4451,7 +4452,7 @@ L_088A9A94: aot_fpr_12 = std::bit_cast(aot_gpr_6); aot_gpr_6 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_6); - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -4471,7 +4472,7 @@ L_088A9A94: AOT_REGCACHE_SYNC_OUT(); return; L_088A9AFC: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(56))); - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(328))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(328))); { const float fs = aot_fpr_14; const float ft = ctx.fpr[22]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } aot_fpr_12 = aot_fpr_13 + aot_fpr_14; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), std::bit_cast(aot_fpr_12)); @@ -4514,7 +4515,7 @@ L_088A9B18: aot_fpr_12 = std::bit_cast(aot_gpr_6); aot_gpr_6 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_6); - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -4536,7 +4537,7 @@ L_088A9B7C: ctx.gpr[17] = (aot_gpr_29 + static_cast(16)); ctx.gpr[18] = (aot_gpr_29 + static_cast(32)); aot_gpr_4 = (ctx.gpr[17] | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x088A9B94u); aot_gpr_6 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0039_entry, 39u, 550u, 0x088A2648u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A9B94u) goto L_088A9B94; @@ -4555,7 +4556,7 @@ L_088A9B94: const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(636))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(636))); aot_gpr_4 = (17274u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); @@ -4583,7 +4584,7 @@ L_088A9BB8: aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_gpr_31 = (0x088A9BF4u); { const float fs = ctx.fpr[22]; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[28] = std::bit_cast(0x7FC00000u); else ctx.fpr[28] = fs * ft; } - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A9BF4u) goto L_088A9BF4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A9BF4u) goto L_088A9BF4; AOT_REGCACHE_SYNC_OUT(); return; L_088A9BF4: aot_fpr_14 = ctx.fpr[28] - ctx.fpr[26]; @@ -4625,7 +4626,7 @@ L_088A9C30: aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_gpr_31 = (0x088A9C58u); { const float fs = ctx.fpr[22]; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[28] = std::bit_cast(0x7FC00000u); else ctx.fpr[28] = fs * ft; } - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A9C58u) goto L_088A9C58; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A9C58u) goto L_088A9C58; AOT_REGCACHE_SYNC_OUT(); return; L_088A9C58: aot_fpr_14 = ctx.fpr[28] - ctx.fpr[26]; @@ -4636,7 +4637,7 @@ L_088A9C58: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(112), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x088A9C78u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A9C78u) goto L_088A9C78; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A9C78u) goto L_088A9C78; AOT_REGCACHE_SYNC_OUT(); return; L_088A9C78: aot_fpr_12 = ctx.fpr[28] - ctx.fpr[26]; @@ -4649,7 +4650,7 @@ L_088A9C78: aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_31 = (0x088A9CA0u); { const float fs = ctx.fpr[22]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[22] = std::bit_cast(0x7FC00000u); else ctx.fpr[22] = fs * ft; } - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A9CA0u) goto L_088A9CA0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088A9CA0u) goto L_088A9CA0; AOT_REGCACHE_SYNC_OUT(); return; L_088A9CA0: aot_fpr_14 = ctx.fpr[22] - ctx.fpr[28]; @@ -4685,7 +4686,7 @@ L_088A9CEC: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[16])) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1080))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1080))); if (branch_taken) { goto L_088A9D48; } @@ -4745,19 +4746,19 @@ L_088A9D98: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_14)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(1080), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(1080), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_088A9DD8; } goto L_088A9DB8; } L_088A9DB8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1084))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(92))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1084))); aot_gpr_4 = (aot_gpr_4 + static_cast(328)); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_6); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_6); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x088A9DD8u); aot_gpr_6 = (0u | 0u); @@ -4777,7 +4778,7 @@ L_088A9DD8: goto L_088A9DF0; } L_088A9DF0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(76))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(76))); aot_gpr_5 = (16320u << 16u); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7764))); @@ -4817,7 +4818,7 @@ L_088A9E3C: goto L_088A9E54; } L_088A9E54: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(636))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(636))); aot_gpr_4 = (17347u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); @@ -4868,7 +4869,7 @@ L_088A9EB4: ctx.fpr[24] = std::bit_cast(aot_run_words[2]); ctx.fpr[26] = std::bit_cast(aot_run_words[3]); ctx.fpr[28] = std::bit_cast(aot_run_words[4]); - aot_gpr_16 = aot_run_words[5]; + ctx.gpr[16] = aot_run_words[5]; ctx.gpr[17] = aot_run_words[6]; ctx.gpr[18] = aot_run_words[7]; aot_gpr_31 = aot_run_words[8]; @@ -4916,7 +4917,7 @@ L_088A9EE0: ctx.gpr[22] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-25000))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(204), std::bit_cast(aot_fpr_20)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(208), std::bit_cast(ctx.fpr[22])); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18]}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(228), aot_run_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(244), ctx.gpr[20]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(248), ctx.gpr[21]); @@ -5017,11 +5018,11 @@ L_088AA020: AOT_REGCACHE_SYNC_OUT(); return; L_088AA03C: aot_gpr_31 = (0x088AA044u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0098_entry, 98u, 367u, 0x0898D050u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AA044u) goto L_088AA044; AOT_REGCACHE_SYNC_OUT(); return; L_088AA044: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088AA058; @@ -5037,21 +5038,21 @@ L_088AA058: aot_fpr_20 = std::bit_cast(std::bit_cast(aot_fpr_20) ^ 0x80000000u); ctx.gpr[17] = (ctx.gpr[23] | 0u); aot_fpr_20 = ctx.fpr[22] + aot_fpr_20; - aot_gpr_16 = (ctx.gpr[22] | 0u); + ctx.gpr[16] = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x088AA070u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AA070u) goto L_088AA070; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AA070u) goto L_088AA070; AOT_REGCACHE_SYNC_OUT(); return; L_088AA070: aot_gpr_5 = (ctx.gpr[3] | 0u); ctx.gpr[7] = (ctx.gpr[17] | 0u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x088AA084u); - aot_gpr_6 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AA084u) goto L_088AA084; + aot_gpr_6 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B6256C, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AA084u) goto L_088AA084; AOT_REGCACHE_SYNC_OUT(); return; L_088AA084: - if (static_cast(ctx.gpr[2]) < 0) { + if (static_cast(aot_gpr_2) < 0) { aot_gpr_5 = (ctx.gpr[17] | 0u); goto L_088AA0B0; } @@ -5067,17 +5068,17 @@ L_088AA08C: L_088AA09C: aot_gpr_31 = (0x088AA0A4u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AA0A4u) goto L_088AA0A4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AA0A4u) goto L_088AA0A4; AOT_REGCACHE_SYNC_OUT(); return; L_088AA0A4: ctx.gpr[17] = (ctx.gpr[3] | 0u); - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (aot_gpr_2 | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); goto L_088AA0B0; L_088AA0B0: aot_gpr_31 = (0x088AA0B8u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AA0B8u) goto L_088AA0B8; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B627F0, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AA0B8u) goto L_088AA0B8; AOT_REGCACHE_SYNC_OUT(); return; L_088AA0B8: ctx.fpr[22] = std::bit_cast(std::bit_cast(ctx.fpr[0])); @@ -5092,18 +5093,18 @@ L_088AA0C0: aot_fpr_20 = ctx.fpr[22] + aot_fpr_20; aot_gpr_31 = (0x088AA0E0u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AA0E0u) goto L_088AA0E0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AA0E0u) goto L_088AA0E0; AOT_REGCACHE_SYNC_OUT(); return; L_088AA0E0: aot_gpr_5 = (ctx.gpr[3] | 0u); ctx.gpr[7] = (ctx.gpr[21] | 0u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x088AA0F4u); aot_gpr_6 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AA0F4u) goto L_088AA0F4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B6256C, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AA0F4u) goto L_088AA0F4; AOT_REGCACHE_SYNC_OUT(); return; L_088AA0F4: - { const bool branch_taken = static_cast(ctx.gpr[2]) < 0; + { const bool branch_taken = static_cast(aot_gpr_2) < 0; // nop if (branch_taken) { goto L_088AA11C; @@ -5121,11 +5122,11 @@ L_088AA0FC: L_088AA10C: aot_gpr_31 = (0x088AA114u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AA114u) goto L_088AA114; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AA114u) goto L_088AA114; AOT_REGCACHE_SYNC_OUT(); return; L_088AA114: ctx.gpr[21] = (ctx.gpr[3] | 0u); - ctx.gpr[20] = (ctx.gpr[2] | 0u); + ctx.gpr[20] = (aot_gpr_2 | 0u); goto L_088AA11C; L_088AA11C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(360))); @@ -5154,23 +5155,23 @@ L_088AA140: L_088AA144: aot_fpr_13 = ctx.fpr[26] - aot_fpr_20; ctx.gpr[17] = (ctx.gpr[23] | 0u); - aot_gpr_16 = (ctx.gpr[22] | 0u); + ctx.gpr[16] = (ctx.gpr[22] | 0u); { const float fs = aot_fpr_13; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_20 = aot_fpr_20 + aot_fpr_12; aot_gpr_31 = (0x088AA160u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AA160u) goto L_088AA160; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AA160u) goto L_088AA160; AOT_REGCACHE_SYNC_OUT(); return; L_088AA160: aot_gpr_5 = (ctx.gpr[3] | 0u); ctx.gpr[7] = (ctx.gpr[17] | 0u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x088AA174u); - aot_gpr_6 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AA174u) goto L_088AA174; + aot_gpr_6 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B6256C, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AA174u) goto L_088AA174; AOT_REGCACHE_SYNC_OUT(); return; L_088AA174: - { const bool branch_taken = static_cast(ctx.gpr[2]) < 0; + { const bool branch_taken = static_cast(aot_gpr_2) < 0; // nop if (branch_taken) { goto L_088AA1A0; @@ -5189,11 +5190,11 @@ L_088AA17C: L_088AA190: aot_gpr_31 = (0x088AA198u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AA198u) goto L_088AA198; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AA198u) goto L_088AA198; AOT_REGCACHE_SYNC_OUT(); return; L_088AA198: ctx.gpr[17] = (ctx.gpr[3] | 0u); - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (aot_gpr_2 | 0u); goto L_088AA1A0; L_088AA1A0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(72))); @@ -5227,7 +5228,7 @@ L_088AA1D8: aot_gpr_5 = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x088AA1E4u); aot_gpr_4 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AA1E4u) goto L_088AA1E4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B627F0, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AA1E4u) goto L_088AA1E4; AOT_REGCACHE_SYNC_OUT(); return; L_088AA1E4: { const float fs = ctx.fpr[30]; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } @@ -5260,8 +5261,8 @@ L_088AA1E4: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), std::bit_cast(aot_fpr_12)); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088AA260u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AA260u) goto L_088AA260; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B627F0, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AA260u) goto L_088AA260; AOT_REGCACHE_SYNC_OUT(); return; L_088AA260: { const float fs = ctx.fpr[30]; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } @@ -5313,9 +5314,9 @@ L_088AA260: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<8u, 4u>(vfpu_value); } ctx.execute_vfpu_vtfm_ct<0u, 4u, 8u, 3u, 3u>(); - aot_gpr_16 = (aot_gpr_29 + static_cast(96)); + ctx.gpr[16] = (aot_gpr_29 + static_cast(96)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(96))); @@ -5360,7 +5361,7 @@ L_088AA260: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<6u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -5384,7 +5385,7 @@ L_088AA260: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(208))); @@ -5448,7 +5449,7 @@ L_088AA368: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(104), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x088AA384u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 538u, 0x08A666C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AA384u) goto L_088AA384; AOT_REGCACHE_SYNC_OUT(); return; L_088AA384: @@ -5460,7 +5461,7 @@ L_088AA384: ctx.fpr[26] = std::bit_cast(aot_run_words[3]); ctx.fpr[28] = std::bit_cast(aot_run_words[4]); ctx.fpr[30] = std::bit_cast(aot_run_words[5]); - aot_gpr_16 = aot_run_words[6]; + ctx.gpr[16] = aot_run_words[6]; ctx.gpr[17] = aot_run_words[7]; ctx.gpr[18] = aot_run_words[8]; ctx.gpr[19] = aot_run_words[9]; @@ -5510,7 +5511,7 @@ L_088AA3CC: L_088AA3E4: aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_4); jump_target = aot_gpr_31; - ctx.gpr[2] = (aot_gpr_4 | 0u); + aot_gpr_2 = (aot_gpr_4 | 0u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -5519,10 +5520,10 @@ L_088AA3F0: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); ctx.gpr[17] = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_16 = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); if (branch_taken) { goto L_088AA444; } @@ -5532,7 +5533,7 @@ L_088AA40C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_4 = (aot_gpr_16 & 1u); + aot_gpr_4 = (ctx.gpr[16] & 1u); if (branch_taken) { goto L_088AA434; } @@ -5541,7 +5542,7 @@ L_088AA40C: L_088AA41C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(64))); if (aot_gpr_4 == 0u) { - aot_gpr_4 = (aot_gpr_16 & 1u); + aot_gpr_4 = (ctx.gpr[16] & 1u); goto L_088AA434; } goto L_088AA428; @@ -5551,7 +5552,7 @@ L_088AA428: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 129u, 0x089D89E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AA430u) goto L_088AA430; AOT_REGCACHE_SYNC_OUT(); return; L_088AA430: - aot_gpr_4 = (aot_gpr_16 & 1u); + aot_gpr_4 = (ctx.gpr[16] & 1u); goto L_088AA434; L_088AA434: { const bool branch_taken = aot_gpr_4 == 0u; @@ -5564,12 +5565,12 @@ L_088AA434: L_088AA43C: aot_gpr_31 = (0x088AA444u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AA444u) goto L_088AA444; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AA444u) goto L_088AA444; AOT_REGCACHE_SYNC_OUT(); return; L_088AA444: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -5627,11 +5628,11 @@ L_088AA4A0: AOT_REGCACHE_SYNC_OUT(); return; L_088AA4A8: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), ctx.gpr[19]); ctx.gpr[19] = (ctx.gpr[7] | 0u); - aot_gpr_16 = (aot_gpr_6 | 0u); + ctx.gpr[16] = (aot_gpr_6 | 0u); ctx.gpr[17] = (aot_gpr_5 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), aot_gpr_31); @@ -5640,7 +5641,7 @@ L_088AA4A8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AA4D4u) goto L_088AA4D4; AOT_REGCACHE_SYNC_OUT(); return; L_088AA4D4: - { const bool branch_taken = ctx.gpr[19] == ctx.gpr[2]; + { const bool branch_taken = ctx.gpr[19] == aot_gpr_2; aot_gpr_4 = (2236u << 16u); if (branch_taken) { goto L_088AA500; @@ -5653,7 +5654,7 @@ L_088AA4DC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AA4E4u) goto L_088AA4E4; AOT_REGCACHE_SYNC_OUT(); return; L_088AA4E4: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088AA6FC; @@ -5666,7 +5667,7 @@ L_088AA4EC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AA4F4u) goto L_088AA4F4; AOT_REGCACHE_SYNC_OUT(); return; L_088AA4F4: - { const bool branch_taken = ctx.gpr[2] != ctx.gpr[19]; + { const bool branch_taken = aot_gpr_2 != ctx.gpr[19]; // nop if (branch_taken) { goto L_088AA6FC; @@ -5827,7 +5828,7 @@ L_088AA684: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AA68Cu) goto L_088AA68C; AOT_REGCACHE_SYNC_OUT(); return; L_088AA68C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088AA6B0; @@ -5840,7 +5841,7 @@ L_088AA694: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AA69Cu) goto L_088AA69C; AOT_REGCACHE_SYNC_OUT(); return; L_088AA69C: - aot_gpr_4 = (ctx.gpr[2] + static_cast(320)); + aot_gpr_4 = (aot_gpr_2 + static_cast(320)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -5867,7 +5868,7 @@ L_088AA6B0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AA6B8u) goto L_088AA6B8; AOT_REGCACHE_SYNC_OUT(); return; L_088AA6B8: - aot_gpr_4 = (ctx.gpr[2] + static_cast(320)); + aot_gpr_4 = (aot_gpr_2 + static_cast(320)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -5917,8 +5918,8 @@ L_088AA6F4: goto L_088AA6FC; } L_088AA6FC: - aot_gpr_16 = (aot_gpr_16 + static_cast(-20)); - aot_gpr_4 = (aot_gpr_16 < static_cast(18) ? 1u : 0u); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(-20)); + aot_gpr_4 = (ctx.gpr[16] < static_cast(18) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -5927,9 +5928,9 @@ L_088AA6FC: goto L_088AA70C; } L_088AA70C: - aot_gpr_16 = (aot_gpr_16 << 2u); + ctx.gpr[16] = (ctx.gpr[16] << 2u); ctx.gpr[1] = (2232u << 16u); - ctx.gpr[1] = (ctx.gpr[1] + aot_gpr_16); + ctx.gpr[1] = (ctx.gpr[1] + ctx.gpr[16]); ctx.gpr[1] = (aot_mem.aot_direct_load32(ctx.gpr[1] + static_cast(-22608))); jump_target = ctx.gpr[1]; // nop @@ -5988,7 +5989,7 @@ L_088AA774: L_088AA790: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -6002,15 +6003,15 @@ L_088AA790: AOT_REGCACHE_SYNC_OUT(); return; L_088AA7AC: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (2246u << 16u); - aot_gpr_16 = (aot_gpr_16 + static_cast(4080)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (2246u << 16u); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(4080)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); ctx.gpr[17] = (0u | 0u); goto L_088AA7C8; L_088AA7C8: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(45))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(45))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -6020,13 +6021,13 @@ L_088AA7C8: } L_088AA7D4: aot_gpr_31 = (0x088AA7DCu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_088AA458; L_088AA7DC: ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); aot_gpr_4 = (static_cast(ctx.gpr[17]) < 16 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_16 = (aot_gpr_16 + static_cast(48)); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(48)); if (branch_taken) { goto L_088AA7C8; } @@ -6035,7 +6036,7 @@ L_088AA7DC: L_088AA7EC: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -6047,7 +6048,7 @@ L_088AA7EC: AOT_REGCACHE_SYNC_OUT(); return; L_088AA800: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x088AA814u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-24888)); @@ -6055,12 +6056,12 @@ L_088AA800: AOT_REGCACHE_SYNC_OUT(); return; L_088AA814: aot_gpr_31 = (0x088AA81Cu); - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0170_entry, 170u, 640u, 0x08AAEFC8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AA81Cu) goto L_088AA81C; AOT_REGCACHE_SYNC_OUT(); return; L_088AA81C: aot_gpr_31 = (0x088AA824u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0170_entry, 170u, 632u, 0x08AAEF5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AA824u) goto L_088AA824; AOT_REGCACHE_SYNC_OUT(); return; L_088AA824: @@ -6070,8 +6071,8 @@ L_088AA824: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 398u, 0x08A65C4Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AA830u) goto L_088AA830; AOT_REGCACHE_SYNC_OUT(); return; L_088AA830: - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-24948), ctx.gpr[2]); - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(0))); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-24948), aot_gpr_2); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(0))); aot_gpr_4 = (ctx.gpr[28] + static_cast(-24864)); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-24944), aot_gpr_5); aot_gpr_31 = (0x088AA848u); @@ -6079,14 +6080,14 @@ L_088AA830: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 398u, 0x08A65C4Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AA848u) goto L_088AA848; AOT_REGCACHE_SYNC_OUT(); return; L_088AA848: - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-24940), ctx.gpr[2]); - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(0))); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-24940), aot_gpr_2); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(0))); aot_gpr_31 = (0x088AA858u); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-24936), aot_gpr_4); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0170_entry, 170u, 642u, 0x08AAEFE8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AA858u) goto L_088AA858; AOT_REGCACHE_SYNC_OUT(); return; L_088AA858: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -6181,35 +6182,35 @@ L_088AA8FC: AOT_REGCACHE_SYNC_OUT(); return; L_088AA904: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - { const std::uint32_t aot_run_words[9]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), aot_gpr_16, ctx.gpr[17], aot_gpr_31}; + { const std::uint32_t aot_run_words[9]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), ctx.gpr[16], ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_4 = (0u | 11u); aot_gpr_31 = (0x088AA938u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AA938u) goto L_088AA938; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AA938u) goto L_088AA938; AOT_REGCACHE_SYNC_OUT(); return; L_088AA938: aot_gpr_4 = (0u | 8u); aot_gpr_31 = (0x088AA944u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AA944u) goto L_088AA944; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AA944u) goto L_088AA944; AOT_REGCACHE_SYNC_OUT(); return; L_088AA944: aot_gpr_4 = (0u | 9u); aot_gpr_31 = (0x088AA950u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AA950u) goto L_088AA950; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AA950u) goto L_088AA950; AOT_REGCACHE_SYNC_OUT(); return; L_088AA950: aot_gpr_4 = (0u | 6u); aot_gpr_31 = (0x088AA95Cu); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AA95Cu) goto L_088AA95C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AA95Cu) goto L_088AA95C; AOT_REGCACHE_SYNC_OUT(); return; L_088AA95C: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-24952))); - aot_gpr_16 = (0u | 0u); - aot_gpr_5 = (static_cast(aot_gpr_16) < static_cast(aot_gpr_4) ? 1u : 0u); + ctx.gpr[16] = (0u | 0u); + aot_gpr_5 = (static_cast(ctx.gpr[16]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_5 = (16294u << 16u); if (branch_taken) { @@ -6265,7 +6266,7 @@ L_088AA9CC: L_088AA9D4: aot_gpr_5 = (16000u << 16u); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[30])); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x088AA9E8u); aot_fpr_12 = std::bit_cast(aot_gpr_5); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0042_entry, 42u, 151u, 0x088AD55Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AA9E8u) goto L_088AA9E8; @@ -6295,7 +6296,7 @@ L_088AA9F8: goto L_088AAA00; } L_088AAA00: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[24])); aot_gpr_31 = (0x088AAA10u); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[22])); @@ -6310,7 +6311,7 @@ L_088AAA10: goto L_088AAA18; } L_088AAA18: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[28])); aot_gpr_31 = (0x088AAA28u); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); @@ -6325,7 +6326,7 @@ L_088AAA28: goto L_088AAA30; } L_088AAA30: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[26])); aot_gpr_31 = (0x088AAA40u); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); @@ -6340,8 +6341,8 @@ L_088AAA40: goto L_088AAA48; } L_088AAA48: - aot_gpr_16 = (aot_gpr_16 + static_cast(1)); - aot_gpr_5 = (static_cast(aot_gpr_16) < static_cast(aot_gpr_4) ? 1u : 0u); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(1)); + aot_gpr_5 = (static_cast(ctx.gpr[16]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 != 0u; ctx.gpr[17] = (ctx.gpr[17] + static_cast(48)); if (branch_taken) { @@ -6353,7 +6354,7 @@ L_088AAA58: aot_gpr_4 = (0u | 6u); aot_gpr_31 = (0x088AAA64u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AAA64u) goto L_088AAA64; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AAA64u) goto L_088AAA64; AOT_REGCACHE_SYNC_OUT(); return; L_088AAA64: aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-24952), static_cast(0u)); @@ -6365,7 +6366,7 @@ L_088AAA64: ctx.fpr[26] = std::bit_cast(aot_run_words[3]); ctx.fpr[28] = std::bit_cast(aot_run_words[4]); ctx.fpr[30] = std::bit_cast(aot_run_words[5]); - aot_gpr_16 = aot_run_words[6]; + ctx.gpr[16] = aot_run_words[6]; ctx.gpr[17] = aot_run_words[7]; aot_gpr_31 = aot_run_words[8]; } @@ -6393,7 +6394,7 @@ L_088AAA9C: ctx.gpr[7] = (ctx.gpr[7] + static_cast(48)); goto L_088AAABC; L_088AAABC: - ctx.gpr[2] = (aot_gpr_5 | 0u); + aot_gpr_2 = (aot_gpr_5 | 0u); { const std::uint32_t vfpu_address = ctx.gpr[9] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -6423,7 +6424,7 @@ L_088AAABC: aot_gpr_6 = (aot_gpr_4 + ctx.gpr[11]); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_6 + static_cast(111))); aot_mem.aot_direct_store8(aot_gpr_6 + static_cast(112), static_cast(aot_gpr_5)); - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; aot_gpr_5 = (0u | 0u); if (branch_taken) { goto L_088AAAF0; @@ -6479,7 +6480,7 @@ L_088AAB24: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[19]); ctx.gpr[19] = (2235u << 16u); ctx.gpr[17] = (2235u << 16u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); { const std::uint32_t aot_run_words[4]{ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(16), aot_run_words); } @@ -6488,13 +6489,13 @@ L_088AAB24: ctx.gpr[21] = (0u | 255u); ctx.gpr[20] = (0u | 170u); ctx.gpr[18] = (aot_gpr_4 | 0u); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.gpr[19] = (ctx.gpr[19] + static_cast(28304)); ctx.gpr[17] = (ctx.gpr[17] + static_cast(28272)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), aot_gpr_31); goto L_088AAB74; L_088AAB74: - aot_gpr_4 = (aot_gpr_16 + ctx.gpr[23]); + aot_gpr_4 = (ctx.gpr[16] + ctx.gpr[23]); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(112))); { const bool branch_taken = aot_gpr_5 == 0u; // nop @@ -6514,9 +6515,9 @@ L_088AAB84: } L_088AAB90: { const std::int32_t dividend = static_cast(ctx.gpr[21]); const std::int32_t divisor = static_cast(ctx.gpr[22]); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(4))); - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(5))); - aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(6))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(5))); + aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(6))); aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(8), static_cast(aot_gpr_4)); aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(9), static_cast(aot_gpr_5)); aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(10), static_cast(aot_gpr_6)); @@ -6530,25 +6531,25 @@ L_088AAB90: { const std::int32_t dividend = static_cast(ctx.gpr[20]); const std::int32_t divisor = static_cast(ctx.gpr[22]); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } ctx.gpr[8] = (ctx.gpr[8] & 255u); aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(11), static_cast(ctx.gpr[8])); - ctx.gpr[9] = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(4))); - ctx.gpr[10] = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(5))); - ctx.gpr[11] = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(6))); + ctx.gpr[9] = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(4))); + ctx.gpr[10] = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(5))); + ctx.gpr[11] = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(6))); aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(32), static_cast(ctx.gpr[9])); aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(33), static_cast(ctx.gpr[10])); aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(34), static_cast(ctx.gpr[11])); aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(35), static_cast(ctx.gpr[8])); - ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(4))); - ctx.gpr[9] = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(5))); - ctx.gpr[10] = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(6))); + ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(4))); + ctx.gpr[9] = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(5))); + ctx.gpr[10] = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(6))); aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(56), static_cast(ctx.gpr[8])); aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(57), static_cast(ctx.gpr[9])); aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(58), static_cast(ctx.gpr[10])); ctx.gpr[8] = (ctx.lo); ctx.gpr[8] = (ctx.gpr[8] & 255u); aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(59), static_cast(ctx.gpr[8])); - ctx.gpr[9] = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(4))); - ctx.gpr[10] = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(5))); - ctx.gpr[11] = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(6))); + ctx.gpr[9] = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(4))); + ctx.gpr[10] = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(5))); + ctx.gpr[11] = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(6))); aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(80), static_cast(ctx.gpr[9])); aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(81), static_cast(ctx.gpr[10])); aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(82), static_cast(ctx.gpr[11])); @@ -6590,7 +6591,7 @@ L_088AAB90: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0186_entry, 186u, 515u, 0x08AEE610u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AAC94u) goto L_088AAC94; AOT_REGCACHE_SYNC_OUT(); return; L_088AAC94: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088AACB4; @@ -6624,7 +6625,7 @@ L_088AACB4: L_088AACCC: { std::uint32_t aot_run_words[9]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -6642,7 +6643,7 @@ L_088AACCC: AOT_REGCACHE_SYNC_OUT(); return; L_088AACF8: jump_target = aot_gpr_31; - ctx.gpr[2] = (aot_gpr_4 | 0u); + aot_gpr_2 = (aot_gpr_4 | 0u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -6651,7 +6652,7 @@ L_088AAD00: ctx.gpr[11] = (aot_gpr_6 & 255u); ctx.gpr[8] = (ctx.gpr[10] | 0u); aot_gpr_6 = (2246u << 16u); - ctx.gpr[2] = (aot_gpr_5 & 255u); + aot_gpr_2 = (aot_gpr_5 & 255u); ctx.gpr[10] = (ctx.gpr[7] & 255u); aot_gpr_6 = (aot_gpr_6 + static_cast(5232)); ctx.gpr[3] = (0u | 0u); @@ -6687,7 +6688,7 @@ L_088AAD44: goto L_088AAD4C; } L_088AAD4C: - aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(4), static_cast(ctx.gpr[2])); + aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(4), static_cast(aot_gpr_2)); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(5), static_cast(ctx.gpr[11])); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(6), static_cast(ctx.gpr[10])); aot_gpr_4 = (aot_gpr_6 + static_cast(16)); @@ -6745,7 +6746,7 @@ L_088AAD94: } L_088AADA0: aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_4); - aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(4), static_cast(ctx.gpr[2])); + aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(4), static_cast(aot_gpr_2)); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(5), static_cast(ctx.gpr[11])); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(6), static_cast(ctx.gpr[10])); aot_gpr_4 = (aot_gpr_6 + static_cast(16)); @@ -6781,15 +6782,15 @@ L_088AADA0: aot_gpr_4 = (0u | 1u); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(112), static_cast(aot_gpr_4)); aot_gpr_4 = (0u | 1u); - ctx.gpr[2] = (ctx.gpr[7] + static_cast(1)); - ctx.gpr[2] = (ctx.gpr[2] + aot_gpr_6); + aot_gpr_2 = (ctx.gpr[7] + static_cast(1)); + aot_gpr_2 = (aot_gpr_2 + aot_gpr_6); goto L_088AADE4; L_088AADE4: - aot_mem.aot_direct_store8(ctx.gpr[2] + static_cast(112), static_cast(0u)); + aot_mem.aot_direct_store8(aot_gpr_2 + static_cast(112), static_cast(0u)); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); aot_gpr_5 = (static_cast(aot_gpr_4) < 3 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 != 0u; - ctx.gpr[2] = (ctx.gpr[2] + static_cast(1)); + aot_gpr_2 = (aot_gpr_2 + static_cast(1)); if (branch_taken) { goto L_088AADE4; } @@ -6848,13 +6849,13 @@ L_088AAE44: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); ctx.gpr[17] = (2246u << 16u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[19]); ctx.gpr[19] = (0u | 0u); ctx.gpr[18] = (0u | 0u); ctx.gpr[17] = (ctx.gpr[17] + static_cast(5232)); - aot_gpr_16 = (65280u << 16u); + ctx.gpr[16] = (65280u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); goto L_088AAE70; L_088AAE70: @@ -6878,19 +6879,19 @@ L_088AAE84: aot_gpr_4 = (0u | 6u); aot_gpr_31 = (0x088AAE90u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AAE90u) goto L_088AAE90; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AAE90u) goto L_088AAE90; AOT_REGCACHE_SYNC_OUT(); return; L_088AAE90: aot_gpr_4 = (0u | 10u); aot_gpr_31 = (0x088AAE9Cu); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AAE9Cu) goto L_088AAE9C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AAE9Cu) goto L_088AAE9C; AOT_REGCACHE_SYNC_OUT(); return; L_088AAE9C: aot_gpr_4 = (0u | 11u); aot_gpr_31 = (0x088AAEA8u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AAEA8u) goto L_088AAEA8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AAEA8u) goto L_088AAEA8; AOT_REGCACHE_SYNC_OUT(); return; L_088AAEA8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23440))); @@ -6901,28 +6902,28 @@ L_088AAEA8: aot_gpr_5 = (aot_gpr_5 | aot_gpr_6); aot_gpr_4 = (aot_gpr_4 << 16u); aot_gpr_5 = (aot_gpr_5 | aot_gpr_4); - aot_gpr_5 = (aot_gpr_5 | aot_gpr_16); + aot_gpr_5 = (aot_gpr_5 | ctx.gpr[16]); aot_gpr_31 = (0x088AAED4u); aot_gpr_4 = (0u | 12u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AAED4u) goto L_088AAED4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AAED4u) goto L_088AAED4; AOT_REGCACHE_SYNC_OUT(); return; L_088AAED4: aot_gpr_4 = (0u | 8u); aot_gpr_31 = (0x088AAEE0u); aot_gpr_5 = (0u | 5u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AAEE0u) goto L_088AAEE0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AAEE0u) goto L_088AAEE0; AOT_REGCACHE_SYNC_OUT(); return; L_088AAEE0: aot_gpr_4 = (0u | 9u); aot_gpr_31 = (0x088AAEECu); aot_gpr_5 = (0u | 6u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AAEECu) goto L_088AAEEC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AAEECu) goto L_088AAEEC; AOT_REGCACHE_SYNC_OUT(); return; L_088AAEEC: aot_gpr_4 = (0u | 1u); aot_gpr_31 = (0x088AAEF8u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AAEF8u) goto L_088AAEF8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AAEF8u) goto L_088AAEF8; AOT_REGCACHE_SYNC_OUT(); return; L_088AAEF8: ctx.gpr[19] = (0u | 1u); @@ -6953,24 +6954,24 @@ L_088AAF1C: aot_gpr_4 = (0u | 6u); aot_gpr_31 = (0x088AAF28u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AAF28u) goto L_088AAF28; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AAF28u) goto L_088AAF28; AOT_REGCACHE_SYNC_OUT(); return; L_088AAF28: aot_gpr_4 = (0u | 10u); aot_gpr_31 = (0x088AAF34u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AAF34u) goto L_088AAF34; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AAF34u) goto L_088AAF34; AOT_REGCACHE_SYNC_OUT(); return; L_088AAF34: aot_gpr_4 = (0u | 11u); aot_gpr_31 = (0x088AAF40u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AAF40u) goto L_088AAF40; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AAF40u) goto L_088AAF40; AOT_REGCACHE_SYNC_OUT(); return; L_088AAF40: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -6984,15 +6985,15 @@ L_088AAF40: AOT_REGCACHE_SYNC_OUT(); return; L_088AAF5C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (2246u << 16u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (2246u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); ctx.gpr[17] = (0u | 0u); - aot_gpr_16 = (aot_gpr_16 + static_cast(5232)); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(5232)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); goto L_088AAF78; L_088AAF78: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -7002,13 +7003,13 @@ L_088AAF78: } L_088AAF84: aot_gpr_31 = (0x088AAF8Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_088AAA9C; L_088AAF8C: ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); aot_gpr_4 = (static_cast(ctx.gpr[17]) < 4 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_16 = (aot_gpr_16 + static_cast(128)); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(128)); if (branch_taken) { goto L_088AAF78; } @@ -7017,7 +7018,7 @@ L_088AAF8C: L_088AAF9C: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -7055,7 +7056,7 @@ L_088AAFCC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0186_entry, 186u, 515u, 0x08AEE610u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AAFE4u) goto L_088AAFE4; AOT_REGCACHE_SYNC_OUT(); return; L_088AAFE4: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088AB008; @@ -7089,19 +7090,19 @@ L_088AB010: AOT_REGCACHE_SYNC_OUT(); return; L_088AB01C: aot_gpr_29 = (aot_gpr_29 + static_cast(-64)); - ctx.gpr[2] = (ctx.gpr[11] | 0u); + aot_gpr_2 = (ctx.gpr[11] | 0u); ctx.gpr[3] = (ctx.gpr[10] | 0u); ctx.gpr[12] = (ctx.gpr[7] | 0u); ctx.gpr[13] = (aot_gpr_6 | 0u); ctx.gpr[11] = (ctx.gpr[8] & 255u); ctx.gpr[10] = (ctx.gpr[9] & 255u); - ctx.gpr[8] = (ctx.gpr[2] & 255u); + ctx.gpr[8] = (aot_gpr_2 & 255u); ctx.gpr[7] = (aot_gpr_4 | 0u); aot_gpr_6 = (aot_gpr_5 | 0u); ctx.gpr[9] = (ctx.gpr[3] & 255u); aot_gpr_5 = (ctx.gpr[13] | 0u); - ctx.gpr[2] = (static_cast(ctx.gpr[11]) < 4 ? 1u : 0u); - { const bool branch_taken = ctx.gpr[2] != 0u; + aot_gpr_2 = (static_cast(ctx.gpr[11]) < 4 ? 1u : 0u); + { const bool branch_taken = aot_gpr_2 != 0u; aot_gpr_4 = (ctx.gpr[12] | 0u); if (branch_taken) { goto L_088AB064; @@ -7109,8 +7110,8 @@ L_088AB01C: goto L_088AB058; } L_088AB058: - ctx.gpr[2] = (static_cast(ctx.gpr[11]) < 12 ? 1u : 0u); - { const bool branch_taken = ctx.gpr[2] != 0u; + aot_gpr_2 = (static_cast(ctx.gpr[11]) < 12 ? 1u : 0u); + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_088AB07C; @@ -7118,9 +7119,9 @@ L_088AB058: goto L_088AB064; } L_088AB064: - ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8436))); - ctx.gpr[2] = (static_cast(ctx.gpr[2]) < 32 ? 1u : 0u); - { const bool branch_taken = ctx.gpr[2] != 0u; + aot_gpr_2 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8436))); + aot_gpr_2 = (static_cast(aot_gpr_2) < 32 ? 1u : 0u); + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_088AB084; @@ -7153,10 +7154,10 @@ L_088AB084: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - ctx.gpr[2] = (2236u << 16u); - ctx.gpr[2] = (ctx.gpr[2] + static_cast(32304)); - ctx.gpr[2] = (ctx.gpr[2] + static_cast(48)); - { const std::uint32_t vfpu_address = ctx.gpr[2] + static_cast(0); + aot_gpr_2 = (2236u << 16u); + aot_gpr_2 = (aot_gpr_2 + static_cast(32304)); + aot_gpr_2 = (aot_gpr_2 + static_cast(48)); + { const std::uint32_t vfpu_address = aot_gpr_2 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -7166,12 +7167,12 @@ L_088AB084: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>(); - ctx.gpr[2] = (aot_gpr_29 + static_cast(16)); + aot_gpr_2 = (aot_gpr_29 + static_cast(16)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = ctx.gpr[2] + static_cast(0); + const std::uint32_t vfpu_address = aot_gpr_2 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - { const std::uint32_t vfpu_address = ctx.gpr[2] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_2 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -7182,15 +7183,15 @@ L_088AB084: ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 0u, 0u, 3u>(); ctx.execute_vfpu_unary_ct<28u, 28u, 1u, 22u>(); - ctx.gpr[2] = (ctx.vfpu_scalar_bits_ct<28u>()); - aot_fpr_12 = std::bit_cast(ctx.gpr[2]); - ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8436))); - ctx.gpr[3] = (ctx.gpr[2] << 6u); - ctx.gpr[2] = (ctx.gpr[2] << 4u); - ctx.gpr[3] = (ctx.gpr[3] + ctx.gpr[2]); - ctx.gpr[2] = (2246u << 16u); - ctx.gpr[2] = (ctx.gpr[2] + static_cast(5744)); - ctx.gpr[3] = (ctx.gpr[3] + ctx.gpr[2]); + aot_gpr_2 = (ctx.vfpu_scalar_bits_ct<28u>()); + aot_fpr_12 = std::bit_cast(aot_gpr_2); + aot_gpr_2 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8436))); + ctx.gpr[3] = (aot_gpr_2 << 6u); + aot_gpr_2 = (aot_gpr_2 << 4u); + ctx.gpr[3] = (ctx.gpr[3] + aot_gpr_2); + aot_gpr_2 = (2246u << 16u); + aot_gpr_2 = (aot_gpr_2 + static_cast(5744)); + ctx.gpr[3] = (ctx.gpr[3] + aot_gpr_2); aot_mem.aot_direct_store32(ctx.gpr[3] + static_cast(64), std::bit_cast(aot_fpr_12)); ctx.gpr[3] = (17008u << 16u); aot_fpr_13 = std::bit_cast(ctx.gpr[3]); @@ -7208,7 +7209,7 @@ L_088AB0F0: ctx.gpr[12] = (ctx.gpr[3] << 6u); ctx.gpr[3] = (ctx.gpr[3] << 4u); ctx.gpr[3] = (ctx.gpr[12] + ctx.gpr[3]); - ctx.gpr[3] = (ctx.gpr[3] + ctx.gpr[2]); + ctx.gpr[3] = (ctx.gpr[3] + aot_gpr_2); { const std::uint32_t vfpu_address = ctx.gpr[7] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -7226,7 +7227,7 @@ L_088AB0F0: ctx.gpr[3] = (ctx.gpr[7] << 6u); ctx.gpr[7] = (ctx.gpr[7] << 4u); ctx.gpr[7] = (ctx.gpr[3] + ctx.gpr[7]); - ctx.gpr[3] = (ctx.gpr[2] + static_cast(16)); + ctx.gpr[3] = (aot_gpr_2 + static_cast(16)); ctx.gpr[7] = (ctx.gpr[7] + ctx.gpr[3]); { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; @@ -7245,7 +7246,7 @@ L_088AB0F0: ctx.gpr[7] = (aot_gpr_6 << 6u); aot_gpr_6 = (aot_gpr_6 << 4u); aot_gpr_6 = (ctx.gpr[7] + aot_gpr_6); - ctx.gpr[7] = (ctx.gpr[2] + static_cast(32)); + ctx.gpr[7] = (aot_gpr_2 + static_cast(32)); aot_gpr_6 = (aot_gpr_6 + ctx.gpr[7]); { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; @@ -7264,7 +7265,7 @@ L_088AB0F0: aot_gpr_6 = (aot_gpr_5 << 6u); aot_gpr_5 = (aot_gpr_5 << 4u); aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); - aot_gpr_6 = (ctx.gpr[2] + static_cast(48)); + aot_gpr_6 = (aot_gpr_2 + static_cast(48)); aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; @@ -7283,7 +7284,7 @@ L_088AB0F0: aot_gpr_5 = (aot_gpr_4 << 6u); aot_gpr_6 = (aot_gpr_4 << 4u); aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); - aot_gpr_5 = (aot_gpr_5 + ctx.gpr[2]); + aot_gpr_5 = (aot_gpr_5 + aot_gpr_2); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(68), static_cast(ctx.gpr[11])); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(69), static_cast(ctx.gpr[10])); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(70), static_cast(ctx.gpr[9])); @@ -7326,7 +7327,7 @@ L_088AB1BC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0186_entry, 186u, 515u, 0x08AEE610u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AB1D4u) goto L_088AB1D4; AOT_REGCACHE_SYNC_OUT(); return; L_088AB1D4: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088AB1F8; @@ -7360,8 +7361,8 @@ L_088AB200: AOT_REGCACHE_SYNC_OUT(); return; L_088AB20C: aot_gpr_29 = (aot_gpr_29 + static_cast(-64)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_4 = (ctx.gpr[7] & 255u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(4), static_cast(aot_gpr_4)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), ctx.gpr[20]); @@ -7378,12 +7379,12 @@ L_088AB20C: ctx.gpr[23] = (ctx.gpr[9] & 255u); ctx.gpr[22] = (ctx.gpr[10] & 255u); ctx.gpr[21] = (ctx.gpr[11] & 65535u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(88), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(88), aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), ctx.gpr[19]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), aot_gpr_31); aot_gpr_31 = (0x088AB278u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 940u, 0x0885FF78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AB278u) goto L_088AB278; AOT_REGCACHE_SYNC_OUT(); return; L_088AB278: @@ -7406,13 +7407,13 @@ L_088AB29C: AOT_REGCACHE_SYNC_OUT(); return; L_088AB2A8: aot_gpr_31 = (0x088AB2B0u); - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0091_entry, 91u, 622u, 0x08972DA4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AB2B0u) goto L_088AB2B0; AOT_REGCACHE_SYNC_OUT(); return; L_088AB2B0: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x088AB2BCu); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0085_entry, 85u, 523u, 0x0895B9C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AB2BCu) goto L_088AB2BC; AOT_REGCACHE_SYNC_OUT(); return; L_088AB2BC: @@ -7426,11 +7427,11 @@ L_088AB2C8: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(2))); aot_gpr_4 = (aot_gpr_4 | 64u); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(2), static_cast(aot_gpr_4)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(80), ctx.gpr[19]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(80), ctx.gpr[19]); ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(4))); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(64))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(64))); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(72))); if (branch_taken) { goto L_088AB304; } @@ -7449,38 +7450,38 @@ L_088AB2F8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 129u, 0x089D89E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AB300u) goto L_088AB300; AOT_REGCACHE_SYNC_OUT(); return; L_088AB300: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(72))); goto L_088AB304; L_088AB304: aot_gpr_4 = (ctx.gpr[19] + static_cast(16)); goto L_088AB308; L_088AB308: aot_gpr_6 = (0u + static_cast(-2)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(64), aot_gpr_4); aot_gpr_4 = (aot_gpr_5 & aot_gpr_6); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(72), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(72), aot_gpr_4); aot_gpr_31 = (0x088AB320u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 939u, 0x0885FF48u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AB320u) goto L_088AB320; AOT_REGCACHE_SYNC_OUT(); return; L_088AB320: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(12))); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(4))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(108), std::bit_cast(aot_fpr_20)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(84), aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(104), std::bit_cast(aot_fpr_20)); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(92), static_cast(aot_gpr_5)); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(93), static_cast(ctx.gpr[30])); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(94), static_cast(ctx.gpr[23])); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(95), static_cast(ctx.gpr[22])); - aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(126), static_cast(ctx.gpr[21])); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(100), std::bit_cast(ctx.fpr[22])); - aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(128), static_cast(ctx.gpr[20])); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(108), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(84), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(104), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(92), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(93), static_cast(ctx.gpr[30])); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(94), static_cast(ctx.gpr[23])); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(95), static_cast(ctx.gpr[22])); + aot_mem.aot_direct_store16(ctx.gpr[16] + static_cast(126), static_cast(ctx.gpr[21])); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(100), std::bit_cast(ctx.fpr[22])); + aot_mem.aot_direct_store16(ctx.gpr[16] + static_cast(128), static_cast(ctx.gpr[20])); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); - aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(124), static_cast(ctx.gpr[18])); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(96), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); + aot_mem.aot_direct_store16(ctx.gpr[16] + static_cast(124), static_cast(ctx.gpr[18])); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(96), aot_gpr_4); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(80))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -7490,21 +7491,21 @@ L_088AB320: } L_088AB36C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_088AB378; } goto L_088AB374; } L_088AB374: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_088AB378; L_088AB378: { std::uint32_t aot_run_words[12]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(8), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); - aot_gpr_16 = aot_run_words[2]; + ctx.gpr[16] = aot_run_words[2]; ctx.gpr[17] = aot_run_words[3]; ctx.gpr[18] = aot_run_words[4]; ctx.gpr[19] = aot_run_words[5]; @@ -7523,21 +7524,21 @@ L_088AB378: AOT_REGCACHE_SYNC_OUT(); return; L_088AB3B0: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(130)))))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(130)))))); aot_gpr_5 = (0u + static_cast(-2)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(88), 0u); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(130), static_cast(aot_gpr_4)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(96), 0u); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(130)))))); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(88), 0u); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(130), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(96), 0u); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(130)))))); aot_gpr_5 = (0u + static_cast(-3)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(130), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(130), static_cast(aot_gpr_4)); aot_gpr_4 = (0u | 257u); - aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(124), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); + aot_mem.aot_direct_store16(ctx.gpr[16] + static_cast(124), static_cast(aot_gpr_4)); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(80))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x088AB400u); @@ -7550,10 +7551,10 @@ L_088AB400: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0091_entry, 91u, 658u, 0x089730ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AB408u) goto L_088AB408; AOT_REGCACHE_SYNC_OUT(); return; L_088AB408: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(80), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(80), 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -7566,19 +7567,19 @@ L_088AB408: L_088AB420: aot_gpr_29 = (aot_gpr_29 + static_cast(-128)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(80))); - { const std::uint32_t aot_run_words[5]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; + { const std::uint32_t aot_run_words[5]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(96), aot_run_words); } { const bool branch_taken = aot_gpr_5 == 0u; - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_088AB478; } goto L_088AB444; } L_088AB444: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(84))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(84))); aot_gpr_31 = (0x088AB450u); - aot_gpr_5 = (aot_gpr_16 + static_cast(92)); + aot_gpr_5 = (ctx.gpr[16] + static_cast(92)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0206_entry, 206u, 493u, 0x08B3E044u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AB450u) goto L_088AB450; AOT_REGCACHE_SYNC_OUT(); return; L_088AB450: @@ -7586,7 +7587,7 @@ L_088AB450: ctx.gpr[19] = (0u + static_cast(-2)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), 0u); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[19]); - ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(64))); + ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(64))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(72), aot_gpr_4); { const bool branch_taken = 0u != 0u; ctx.gpr[17] = (0u | 1u); @@ -7636,8 +7637,8 @@ L_088AB49C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 939u, 0x0885FF48u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AB4B0u) goto L_088AB4B0; AOT_REGCACHE_SYNC_OUT(); return; L_088AB4B0: - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(108))); - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(120))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(108))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(120))); aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_31 = (0x088AB4C4u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_13)); @@ -7649,13 +7650,13 @@ L_088AB4C4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 936u, 0x0885FF14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AB4CCu) goto L_088AB4CC; AOT_REGCACHE_SYNC_OUT(); return; L_088AB4CC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(80))); aot_gpr_31 = (0x088AB4D8u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0091_entry, 91u, 621u, 0x08972D80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AB4D8u) goto L_088AB4D8; AOT_REGCACHE_SYNC_OUT(); return; L_088AB4D8: - aot_gpr_4 = (aot_gpr_16 + static_cast(48)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -7671,11 +7672,11 @@ L_088AB4D8: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_31 = (0x088AB4F0u); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(112))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(112))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0044_entry, 44u, 662u, 0x088B797Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AB4F0u) goto L_088AB4F0; AOT_REGCACHE_SYNC_OUT(); return; L_088AB4F0: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(124))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(124))); { const bool branch_taken = aot_gpr_4 == ctx.gpr[17]; // nop if (branch_taken) { @@ -7684,7 +7685,7 @@ L_088AB4F0: goto L_088AB4FC; } L_088AB4FC: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(124))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(124))); aot_gpr_5 = (0u | 3u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -7694,7 +7695,7 @@ L_088AB4FC: goto L_088AB50C; } L_088AB50C: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(124))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(124))); aot_gpr_5 = (0u | 2u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -7707,10 +7708,10 @@ L_088AB51C: aot_gpr_4 = (0u | 6u); aot_gpr_31 = (0x088AB528u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AB528u) goto L_088AB528; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AB528u) goto L_088AB528; AOT_REGCACHE_SYNC_OUT(); return; L_088AB528: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(80))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(36))); { const bool branch_taken = aot_gpr_5 == 0u; // nop @@ -7752,7 +7753,7 @@ L_088AB560: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0085_entry, 85u, 528u, 0x0895BBA4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AB568u) goto L_088AB568; AOT_REGCACHE_SYNC_OUT(); return; L_088AB568: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(124))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(124))); { const bool branch_taken = aot_gpr_4 == ctx.gpr[17]; // nop if (branch_taken) { @@ -7761,7 +7762,7 @@ L_088AB568: goto L_088AB574; } L_088AB574: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(124))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(124))); aot_gpr_5 = (0u | 3u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -7771,7 +7772,7 @@ L_088AB574: goto L_088AB584; } L_088AB584: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(124))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(124))); aot_gpr_5 = (0u | 2u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -7784,7 +7785,7 @@ L_088AB594: aot_gpr_4 = (0u | 6u); aot_gpr_31 = (0x088AB5A0u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AB5A0u) goto L_088AB5A0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AB5A0u) goto L_088AB5A0; AOT_REGCACHE_SYNC_OUT(); return; L_088AB5A0: aot_gpr_31 = (0x088AB5A8u); @@ -7818,7 +7819,7 @@ L_088AB5C4: L_088AB5CC: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(96), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -7837,14 +7838,14 @@ L_088AB5E8: aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(72), aot_gpr_5); jump_target = aot_gpr_31; - ctx.gpr[2] = (aot_gpr_4 | 0u); + aot_gpr_2 = (aot_gpr_4 | 0u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_088AB604: - ctx.gpr[2] = (2246u << 16u); - ctx.gpr[2] = (ctx.gpr[2] + static_cast(11888)); + aot_gpr_2 = (2246u << 16u); + aot_gpr_2 = (aot_gpr_2 + static_cast(11888)); ctx.gpr[12] = (16000u << 16u); aot_fpr_12 = std::bit_cast(0u); aot_fpr_14 = std::bit_cast(ctx.gpr[12]); @@ -7860,32 +7861,32 @@ L_088AB604: aot_gpr_5 = (0u + static_cast(-5)); goto L_088AB640; L_088AB640: - ctx.gpr[12] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(130)))))); - aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(80), 0u); + ctx.gpr[12] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(130)))))); + aot_mem.aot_direct_store32(aot_gpr_2 + static_cast(80), 0u); ctx.gpr[12] = (ctx.gpr[12] & ctx.gpr[10]); - aot_mem.aot_direct_store8(ctx.gpr[2] + static_cast(130), static_cast(ctx.gpr[12])); - ctx.gpr[12] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(130)))))); - aot_mem.aot_direct_store16(ctx.gpr[2] + static_cast(124), static_cast(ctx.gpr[11])); + aot_mem.aot_direct_store8(aot_gpr_2 + static_cast(130), static_cast(ctx.gpr[12])); + ctx.gpr[12] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(130)))))); + aot_mem.aot_direct_store16(aot_gpr_2 + static_cast(124), static_cast(ctx.gpr[11])); ctx.gpr[12] = (ctx.gpr[12] & ctx.gpr[9]); - aot_mem.aot_direct_store8(ctx.gpr[2] + static_cast(130), static_cast(ctx.gpr[12])); - aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(88), 0u); - aot_mem.aot_direct_store8(ctx.gpr[2] + static_cast(92), static_cast(ctx.gpr[8])); - aot_mem.aot_direct_store8(ctx.gpr[2] + static_cast(93), static_cast(ctx.gpr[8])); - aot_mem.aot_direct_store8(ctx.gpr[2] + static_cast(94), static_cast(ctx.gpr[8])); - aot_mem.aot_direct_store8(ctx.gpr[2] + static_cast(95), static_cast(ctx.gpr[8])); - aot_mem.aot_direct_store16(ctx.gpr[2] + static_cast(126), static_cast(ctx.gpr[7])); - aot_mem.aot_direct_store16(ctx.gpr[2] + static_cast(128), static_cast(aot_gpr_6)); + aot_mem.aot_direct_store8(aot_gpr_2 + static_cast(130), static_cast(ctx.gpr[12])); + aot_mem.aot_direct_store32(aot_gpr_2 + static_cast(88), 0u); + aot_mem.aot_direct_store8(aot_gpr_2 + static_cast(92), static_cast(ctx.gpr[8])); + aot_mem.aot_direct_store8(aot_gpr_2 + static_cast(93), static_cast(ctx.gpr[8])); + aot_mem.aot_direct_store8(aot_gpr_2 + static_cast(94), static_cast(ctx.gpr[8])); + aot_mem.aot_direct_store8(aot_gpr_2 + static_cast(95), static_cast(ctx.gpr[8])); + aot_mem.aot_direct_store16(aot_gpr_2 + static_cast(126), static_cast(ctx.gpr[7])); + aot_mem.aot_direct_store16(aot_gpr_2 + static_cast(128), static_cast(aot_gpr_6)); { const std::uint32_t aot_run_words[4]{0u, std::bit_cast(aot_fpr_14), std::bit_cast(aot_fpr_13), std::bit_cast(aot_fpr_13)}; - aot_mem.aot_direct_store32_block(ctx.gpr[2] + static_cast(96), aot_run_words); } - ctx.gpr[12] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(130)))))); - aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(112), std::bit_cast(aot_fpr_13)); - aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(116), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32_block(aot_gpr_2 + static_cast(96), aot_run_words); } + ctx.gpr[12] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(130)))))); + aot_mem.aot_direct_store32(aot_gpr_2 + static_cast(112), std::bit_cast(aot_fpr_13)); + aot_mem.aot_direct_store32(aot_gpr_2 + static_cast(116), std::bit_cast(aot_fpr_12)); ctx.gpr[12] = (ctx.gpr[12] & aot_gpr_5); - aot_mem.aot_direct_store8(ctx.gpr[2] + static_cast(130), static_cast(ctx.gpr[12])); + aot_mem.aot_direct_store8(aot_gpr_2 + static_cast(130), static_cast(ctx.gpr[12])); ctx.gpr[3] = (ctx.gpr[3] + static_cast(1)); ctx.gpr[12] = (static_cast(ctx.gpr[3]) < 32 ? 1u : 0u); { const bool branch_taken = ctx.gpr[12] != 0u; - ctx.gpr[2] = (ctx.gpr[2] + static_cast(144)); + aot_gpr_2 = (aot_gpr_2 + static_cast(144)); if (branch_taken) { goto L_088AB640; } @@ -7901,15 +7902,15 @@ L_088AB6B0: AOT_REGCACHE_SYNC_OUT(); return; L_088AB6BC: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (2246u << 16u); - aot_gpr_16 = (aot_gpr_16 + static_cast(11888)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (2246u << 16u); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(11888)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); ctx.gpr[17] = (0u | 0u); goto L_088AB6D8; L_088AB6D8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(80))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -7919,13 +7920,13 @@ L_088AB6D8: } L_088AB6E4: aot_gpr_31 = (0x088AB6ECu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_088AB3B0; L_088AB6EC: ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); aot_gpr_4 = (static_cast(ctx.gpr[17]) < 32 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_16 = (aot_gpr_16 + static_cast(144)); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(144)); if (branch_taken) { goto L_088AB6D8; } @@ -7934,7 +7935,7 @@ L_088AB6EC: L_088AB6FC: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -7949,7 +7950,7 @@ L_088AB710: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), ctx.gpr[23]); ctx.gpr[23] = (2246u << 16u); ctx.gpr[23] = (ctx.gpr[23] + static_cast(11888)); - { const std::uint32_t aot_run_words[13]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22]}; + { const std::uint32_t aot_run_words[13]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(16), aot_run_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(72), ctx.gpr[30]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(76), aot_gpr_31); @@ -8107,23 +8108,23 @@ L_088AB880: ctx.gpr[17] = (0u | 0u); aot_gpr_4 = (static_cast(ctx.gpr[17]) < static_cast(ctx.gpr[19]) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); if (branch_taken) { goto L_088AB8C0; } goto L_088AB890; } L_088AB890: - aot_gpr_16 = (aot_gpr_16 + ctx.gpr[23]); + ctx.gpr[16] = (ctx.gpr[16] + ctx.gpr[23]); goto L_088AB894; L_088AB894: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x088AB8A0u); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 927u, 0x0885FDFCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AB8A0u) goto L_088AB8A0; AOT_REGCACHE_SYNC_OUT(); return; L_088AB8A0: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088AB8B0; @@ -8142,7 +8143,7 @@ L_088AB8B0: ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); aot_gpr_4 = (static_cast(ctx.gpr[17]) < static_cast(ctx.gpr[19]) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_16 = (aot_gpr_16 + static_cast(144)); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(144)); if (branch_taken) { goto L_088AB894; } @@ -8298,7 +8299,7 @@ L_088AB9E4: ctx.fpr[26] = std::bit_cast(aot_run_words[3]); ctx.fpr[28] = std::bit_cast(aot_run_words[4]); ctx.fpr[30] = std::bit_cast(aot_run_words[5]); - aot_gpr_16 = aot_run_words[6]; + ctx.gpr[16] = aot_run_words[6]; ctx.gpr[17] = aot_run_words[7]; ctx.gpr[18] = aot_run_words[8]; ctx.gpr[19] = aot_run_words[9]; @@ -8317,8 +8318,8 @@ L_088AB9E4: AOT_REGCACHE_SYNC_OUT(); return; L_088ABA2C: aot_gpr_29 = (aot_gpr_29 + static_cast(-80)); - ctx.gpr[2] = (0u | 1u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[2]); + aot_gpr_2 = (0u | 1u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_2); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), std::bit_cast(ctx.fpr[24])); { const std::uint32_t aot_run_words[6]{ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(36), aot_run_words); } @@ -8332,13 +8333,13 @@ L_088ABA2C: ctx.gpr[23] = (ctx.gpr[11] & 65535u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), std::bit_cast(aot_fpr_20)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), std::bit_cast(ctx.fpr[22])); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), ctx.gpr[17]); aot_fpr_20 = std::bit_cast(std::bit_cast(aot_fpr_13)); ctx.fpr[22] = std::bit_cast(std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), 0u); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[24])); - aot_gpr_16 = (aot_gpr_6 | 0u); + ctx.gpr[16] = (aot_gpr_6 | 0u); ctx.gpr[17] = (aot_gpr_4 | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); ctx.gpr[7] = (ctx.gpr[19] | 0u); @@ -8353,10 +8354,10 @@ L_088ABA2C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0042_entry, 42u, 276u, 0x088AEFC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ABAC4u) goto L_088ABAC4; AOT_REGCACHE_SYNC_OUT(); return; L_088ABAC4: - ctx.gpr[30] = (ctx.gpr[2] | 0u); - ctx.gpr[2] = (0u + static_cast(-1)); + ctx.gpr[30] = (aot_gpr_2 | 0u); + aot_gpr_2 = (0u + static_cast(-1)); aot_gpr_4 = (16238u << 16u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_2); aot_gpr_4 = (aot_gpr_4 | 5243u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), 0u); aot_fpr_12 = std::bit_cast(aot_gpr_4); @@ -8366,7 +8367,7 @@ L_088ABAC4: aot_gpr_4 = (ctx.gpr[17] | 0u); { const float fs = ctx.fpr[22]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_5 = (ctx.gpr[18] | 0u); - aot_gpr_6 = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); ctx.gpr[7] = (ctx.gpr[19] | 0u); ctx.gpr[8] = (ctx.gpr[20] | 0u); ctx.gpr[9] = (ctx.gpr[21] | 0u); @@ -8377,13 +8378,13 @@ L_088ABAC4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0042_entry, 42u, 276u, 0x088AEFC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ABB18u) goto L_088ABB18; AOT_REGCACHE_SYNC_OUT(); return; L_088ABB18: - ctx.gpr[2] = (ctx.gpr[30] | 0u); + aot_gpr_2 = (ctx.gpr[30] | 0u); { std::uint32_t aot_run_words[13]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); - aot_gpr_16 = aot_run_words[3]; + ctx.gpr[16] = aot_run_words[3]; ctx.gpr[17] = aot_run_words[4]; ctx.gpr[18] = aot_run_words[5]; ctx.gpr[19] = aot_run_words[6]; @@ -8424,7 +8425,7 @@ L_088ABB7C: ctx.gpr[8] = (ctx.gpr[8] + ctx.gpr[10]); ctx.gpr[10] = (aot_mem.aot_direct_load32(ctx.gpr[8] + static_cast(88))); { const bool branch_taken = ctx.gpr[10] != aot_gpr_4; - ctx.gpr[2] = (ctx.gpr[7] | 0u); + aot_gpr_2 = (ctx.gpr[7] | 0u); if (branch_taken) { goto L_088ABC24; } @@ -8450,13 +8451,13 @@ L_088ABBA0: aot_gpr_5 = (ctx.gpr[7] | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), 0u); ctx.gpr[7] = (ctx.gpr[9] | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_2); ctx.gpr[3] = (aot_gpr_6 | 0u); ctx.gpr[8] = (ctx.gpr[10] | 0u); ctx.gpr[9] = (ctx.gpr[11] | 0u); - ctx.gpr[2] = (17096u << 16u); + aot_gpr_2 = (17096u << 16u); aot_gpr_6 = (aot_gpr_29 + static_cast(16)); - aot_fpr_14 = std::bit_cast(ctx.gpr[2]); + aot_fpr_14 = std::bit_cast(aot_gpr_2); ctx.gpr[10] = (ctx.gpr[12] | 0u); ctx.gpr[11] = (ctx.gpr[13] | 0u); aot_gpr_31 = (0x088ABC1Cu); @@ -8482,7 +8483,7 @@ L_088ABC24: goto L_088ABC34; } L_088ABC34: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_088ABC38; L_088ABC38: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(32))); @@ -8585,7 +8586,7 @@ L_088ABD50: AOT_REGCACHE_SYNC_OUT(); return; L_088ABD58: aot_gpr_31 = (0x088ABD60u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0170_entry, 170u, 632u, 0x08AAEF5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ABD60u) goto L_088ABD60; AOT_REGCACHE_SYNC_OUT(); return; L_088ABD60: @@ -8604,7 +8605,7 @@ L_088ABD6C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 398u, 0x08A65C4Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ABD78u) goto L_088ABD78; AOT_REGCACHE_SYNC_OUT(); return; L_088ABD78: - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-24960), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-24960), aot_gpr_2); goto L_088ABD7C; L_088ABD7C: aot_gpr_31 = (0x088ABD84u); @@ -8751,11 +8752,11 @@ L_088ABE6C: aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(6036))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(628), ctx.gpr[17]); ctx.gpr[17] = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(624), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(624), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(632), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(636), aot_gpr_31); { const bool branch_taken = aot_gpr_6 != 0u; - aot_gpr_16 = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); if (branch_taken) { goto L_088ABEBC; } @@ -8773,10 +8774,10 @@ L_088ABE90: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(72), aot_gpr_5); aot_gpr_31 = (0x088ABEBCu); aot_gpr_4 = (ctx.gpr[28] + static_cast(-24836)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ABEBCu) goto L_088ABEBC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ABEBCu) goto L_088ABEBC; AOT_REGCACHE_SYNC_OUT(); return; L_088ABEBC: - { const bool branch_taken = aot_gpr_16 != 0u; + { const bool branch_taken = ctx.gpr[16] != 0u; // nop if (branch_taken) { goto L_088ABED0; @@ -8789,10 +8790,10 @@ L_088ABEC4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ABECCu) goto L_088ABECC; AOT_REGCACHE_SYNC_OUT(); return; L_088ABECC: - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (aot_gpr_2 | 0u); goto L_088ABED0; L_088ABED0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(772))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(772))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -8803,14 +8804,14 @@ L_088ABED0: L_088ABEDC: aot_gpr_4 = (0u | 6u); { const bool branch_taken = ctx.gpr[17] != aot_gpr_4; - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(772))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(772))); if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0042_entry, 42u, 3u, 0x088AC054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_088ABEE8; } L_088ABEE8: - ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); ctx.gpr[17] = (2235u << 16u); ctx.gpr[17] = (ctx.gpr[17] + static_cast(28400)); aot_gpr_31 = (0x088ABEFCu); diff --git a/profiles/vcs/generated/generated_unit_0042.cpp b/profiles/vcs/generated/generated_unit_0042.cpp index 915c1cb..f7452b4 100644 --- a/profiles/vcs/generated/generated_unit_0042.cpp +++ b/profiles/vcs/generated/generated_unit_0042.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0042[4089] = { }; void recomp_unit_0042_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,29,5,16,6,19 fprs=12,13,14,15 gpr_occ=3257 fpr_occ=1352 gpr_total=4712 fpr_total=1945 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,29,5,6,31,16 fprs=12,13,14,15 gpr_occ=3439 fpr_occ=1352 gpr_total=5000 fpr_total=1945 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; - std::uint32_t aot_gpr_16 = ctx.gpr[16]; std::uint32_t aot_gpr_6 = ctx.gpr[6]; - std::uint32_t aot_gpr_19 = ctx.gpr[19]; + std::uint32_t aot_gpr_31 = ctx.gpr[31]; + std::uint32_t aot_gpr_16 = ctx.gpr[16]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_14 = ctx.fpr[14]; float aot_fpr_15 = ctx.fpr[15]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[29] = aot_gpr_29; ctx.gpr[5] = aot_gpr_5; ctx.gpr[16] = aot_gpr_16; ctx.gpr[6] = aot_gpr_6; ctx.gpr[19] = aot_gpr_19; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[15] = aot_fpr_15; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_19 = ctx.gpr[19]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_15 = ctx.fpr[15]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[29] = aot_gpr_29; ctx.gpr[5] = aot_gpr_5; ctx.gpr[6] = aot_gpr_6; ctx.gpr[31] = aot_gpr_31; ctx.gpr[16] = aot_gpr_16; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[15] = aot_fpr_15; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_16 = ctx.gpr[16]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_15 = ctx.fpr[15]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -681,7 +682,7 @@ L_088AC000: aot_gpr_5 = (0u | 100u); aot_gpr_6 = (0u | 100u); ctx.gpr[7] = (0u | 100u); - ctx.gpr[31] = (0x088AC04Cu); + aot_gpr_31 = (0x088AC04Cu); ctx.gpr[8] = (0u | 255u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0041_entry, 41u, 413u, 0x088AAD00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AC04Cu) goto L_088AC04C; AOT_REGCACHE_SYNC_OUT(); return; @@ -706,7 +707,7 @@ L_088AC060: ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); ctx.gpr[17] = (2235u << 16u); ctx.gpr[17] = (ctx.gpr[17] + static_cast(28400)); - ctx.gpr[31] = (0x088AC074u); + aot_gpr_31 = (0x088AC074u); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0091_entry, 91u, 725u, 0x08973704u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AC074u) goto L_088AC074; AOT_REGCACHE_SYNC_OUT(); return; @@ -727,7 +728,7 @@ L_088AC07C: } goto L_088AC08C; L_088AC08C: - ctx.gpr[31] = (0x088AC094u); + aot_gpr_31 = (0x088AC094u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(240))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 129u, 0x089D89E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AC094u) goto L_088AC094; AOT_REGCACHE_SYNC_OUT(); return; @@ -741,13 +742,13 @@ L_088AC098: aot_gpr_4 = (aot_gpr_4 & aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(248), aot_gpr_4); ctx.gpr[18] = (aot_gpr_29 + static_cast(176)); - ctx.gpr[31] = (0x088AC0B8u); + aot_gpr_31 = (0x088AC0B8u); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 939u, 0x0885FF48u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AC0B8u) goto L_088AC0B8; AOT_REGCACHE_SYNC_OUT(); return; L_088AC0B8: aot_gpr_4 = (ctx.gpr[17] | 0u); - ctx.gpr[31] = (0x088AC0C4u); + aot_gpr_31 = (0x088AC0C4u); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 7u, 0x08860358u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AC0C4u) goto L_088AC0C4; AOT_REGCACHE_SYNC_OUT(); return; @@ -771,7 +772,7 @@ L_088AC0D4: goto L_088AC0E0; } L_088AC0E0: - ctx.gpr[31] = (0x088AC0E8u); + aot_gpr_31 = (0x088AC0E8u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(240))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 129u, 0x089D89E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AC0E8u) goto L_088AC0E8; AOT_REGCACHE_SYNC_OUT(); return; @@ -938,7 +939,7 @@ L_088AC0E8: aot_gpr_5 = (0u | 100u); aot_gpr_6 = (0u | 100u); ctx.gpr[7] = (0u | 100u); - ctx.gpr[31] = (0x088AC1C8u); + aot_gpr_31 = (0x088AC1C8u); ctx.gpr[8] = (0u | 255u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0041_entry, 41u, 413u, 0x088AAD00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AC1C8u) goto L_088AC1C8; AOT_REGCACHE_SYNC_OUT(); return; @@ -963,7 +964,7 @@ L_088AC1DC: ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); ctx.gpr[17] = (2235u << 16u); ctx.gpr[17] = (ctx.gpr[17] + static_cast(28400)); - ctx.gpr[31] = (0x088AC1F0u); + aot_gpr_31 = (0x088AC1F0u); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0091_entry, 91u, 725u, 0x08973704u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AC1F0u) goto L_088AC1F0; AOT_REGCACHE_SYNC_OUT(); return; @@ -984,7 +985,7 @@ L_088AC1F8: } goto L_088AC208; L_088AC208: - ctx.gpr[31] = (0x088AC210u); + aot_gpr_31 = (0x088AC210u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(416))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 129u, 0x089D89E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AC210u) goto L_088AC210; AOT_REGCACHE_SYNC_OUT(); return; @@ -998,13 +999,13 @@ L_088AC214: aot_gpr_4 = (aot_gpr_4 & aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(424), aot_gpr_4); ctx.gpr[18] = (aot_gpr_29 + static_cast(352)); - ctx.gpr[31] = (0x088AC234u); + aot_gpr_31 = (0x088AC234u); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 939u, 0x0885FF48u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AC234u) goto L_088AC234; AOT_REGCACHE_SYNC_OUT(); return; L_088AC234: aot_gpr_4 = (ctx.gpr[17] | 0u); - ctx.gpr[31] = (0x088AC240u); + aot_gpr_31 = (0x088AC240u); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 7u, 0x08860358u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AC240u) goto L_088AC240; AOT_REGCACHE_SYNC_OUT(); return; @@ -1028,7 +1029,7 @@ L_088AC250: goto L_088AC25C; } L_088AC25C: - ctx.gpr[31] = (0x088AC264u); + aot_gpr_31 = (0x088AC264u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(416))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 129u, 0x089D89E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AC264u) goto L_088AC264; AOT_REGCACHE_SYNC_OUT(); return; @@ -1195,7 +1196,7 @@ L_088AC264: aot_gpr_5 = (0u | 100u); aot_gpr_6 = (0u | 100u); ctx.gpr[7] = (0u | 100u); - ctx.gpr[31] = (0x088AC344u); + aot_gpr_31 = (0x088AC344u); ctx.gpr[8] = (0u | 255u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0041_entry, 41u, 413u, 0x088AAD00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AC344u) goto L_088AC344; AOT_REGCACHE_SYNC_OUT(); return; @@ -1205,9 +1206,9 @@ L_088AC344: aot_gpr_16 = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; - ctx.gpr[31] = aot_run_words[3]; + aot_gpr_31 = aot_run_words[3]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(640)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -1217,7 +1218,7 @@ L_088AC35C: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_5 & 255u); - { const std::uint32_t aot_run_words[6]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), ctx.gpr[17], ctx.gpr[18], aot_gpr_19, ctx.gpr[31]}; + { const std::uint32_t aot_run_words[6]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } { const bool branch_taken = aot_gpr_4 == 0u; aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-24920), static_cast(aot_gpr_5)); @@ -1237,17 +1238,17 @@ L_088AC388: // nop { const std::int32_t dividend = static_cast(aot_gpr_5); const std::int32_t divisor = static_cast(aot_gpr_4); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } ctx.gpr[17] = (ctx.lo); - ctx.gpr[31] = (0x088AC3B8u); - aot_gpr_19 = (static_cast(static_cast(ctx.gpr[18]) >> 31u)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AC3B8u) goto L_088AC3B8; + aot_gpr_31 = (0x088AC3B8u); + ctx.gpr[19] = (static_cast(static_cast(ctx.gpr[18]) >> 31u)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AC3B8u) goto L_088AC3B8; AOT_REGCACHE_SYNC_OUT(); return; L_088AC3B8: aot_gpr_6 = (ctx.gpr[17] - ctx.gpr[18]); aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_5 = (0u | 0u); - ctx.gpr[31] = (0x088AC3CCu); + aot_gpr_31 = (0x088AC3CCu); ctx.gpr[7] = (static_cast(static_cast(aot_gpr_6) >> 31u)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AC3CCu) goto L_088AC3CC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AC3CCu) goto L_088AC3CC; AOT_REGCACHE_SYNC_OUT(); return; L_088AC3CC: ctx.gpr[1] = (ctx.gpr[3] << 1u); @@ -1264,14 +1265,14 @@ L_088AC3CC: aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-24912), aot_gpr_4); aot_gpr_4 = (16128u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); - ctx.gpr[7] = (ctx.gpr[7] + aot_gpr_19); + ctx.gpr[7] = (ctx.gpr[7] + ctx.gpr[19]); aot_gpr_4 = (15948u << 16u); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[20] = std::bit_cast(0x7FC00000u); else ctx.fpr[20] = fs * ft; } aot_gpr_4 = (aot_gpr_4 | 52429u); aot_gpr_5 = (ctx.gpr[7] + aot_gpr_5); - ctx.gpr[31] = (0x088AC420u); + aot_gpr_31 = (0x088AC420u); ctx.fpr[22] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AC420u) goto L_088AC420; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AC420u) goto L_088AC420; AOT_REGCACHE_SYNC_OUT(); return; L_088AC420: aot_fpr_14 = ctx.fpr[20] - ctx.fpr[22]; @@ -1303,10 +1304,10 @@ L_088AC45C: ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; - aot_gpr_19 = aot_run_words[4]; - ctx.gpr[31] = aot_run_words[5]; + ctx.gpr[19] = aot_run_words[4]; + aot_gpr_31 = aot_run_words[5]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -1321,7 +1322,7 @@ L_088AC47C: aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); aot_gpr_5 = (aot_gpr_4 < static_cast(2000) ? 1u : 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(112), std::bit_cast(ctx.fpr[20])); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(120), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(120), aot_gpr_31); { const bool branch_taken = aot_gpr_5 == 0u; // nop if (branch_taken) { @@ -1393,7 +1394,7 @@ L_088AC4C0: aot_gpr_6 = (aot_gpr_29 + static_cast(32)); ctx.gpr[7] = (aot_gpr_29 + static_cast(36)); aot_gpr_4 = (aot_gpr_29 | 0u); - ctx.gpr[31] = (0x088AC518u); + aot_gpr_31 = (0x088AC518u); ctx.gpr[8] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0169_entry, 169u, 32u, 0x08AA82D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AC518u) goto L_088AC518; AOT_REGCACHE_SYNC_OUT(); return; @@ -1420,19 +1421,19 @@ L_088AC520: { const float fs = aot_fpr_12; const float ft = aot_fpr_15; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_15 = std::bit_cast(0x7FC00000u); else aot_fpr_15 = fs * ft; } { const float fs = aot_fpr_12; const float ft = ctx.fpr[16]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), std::bit_cast(aot_fpr_15)); - ctx.gpr[31] = (0x088AC560u); + aot_gpr_31 = (0x088AC560u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AC560u) goto L_088AC560; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C498, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AC560u) goto L_088AC560; AOT_REGCACHE_SYNC_OUT(); return; L_088AC560: - ctx.gpr[31] = (0x088AC568u); + aot_gpr_31 = (0x088AC568u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AC568u) goto L_088AC568; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C05C, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AC568u) goto L_088AC568; AOT_REGCACHE_SYNC_OUT(); return; L_088AC568: - ctx.gpr[31] = (0x088AC570u); + aot_gpr_31 = (0x088AC570u); aot_gpr_4 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AC570u) goto L_088AC570; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C604, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AC570u) goto L_088AC570; AOT_REGCACHE_SYNC_OUT(); return; L_088AC570: aot_gpr_4 = (17279u << 16u); @@ -1455,9 +1456,9 @@ L_088AC570: aot_gpr_5 = (std::bit_cast(aot_fpr_12)); aot_gpr_5 = (aot_gpr_5 & 255u); aot_gpr_5 = (aot_gpr_5 & 255u); - ctx.gpr[31] = (0x088AC5C8u); + aot_gpr_31 = (0x088AC5C8u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(83), static_cast(aot_gpr_5)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AC5C8u) goto L_088AC5C8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C4A8, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AC5C8u) goto L_088AC5C8; AOT_REGCACHE_SYNC_OUT(); return; L_088AC5C8: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); @@ -1466,9 +1467,9 @@ L_088AC5C8: aot_gpr_4 = (aot_gpr_16 + static_cast(32)); aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_14)); aot_gpr_5 = (std::bit_cast(aot_fpr_13)); - ctx.gpr[31] = (0x088AC5E8u); + aot_gpr_31 = (0x088AC5E8u); aot_gpr_6 = (std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AC5E8u) goto L_088AC5E8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AC5E8u) goto L_088AC5E8; AOT_REGCACHE_SYNC_OUT(); return; L_088AC5E8: { const bool branch_taken = 0u == 0u; @@ -1486,9 +1487,9 @@ L_088AC5F4: aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(112), aot_run_words); ctx.fpr[20] = std::bit_cast(aot_run_words[0]); aot_gpr_16 = aot_run_words[1]; - ctx.gpr[31] = aot_run_words[2]; + aot_gpr_31 = aot_run_words[2]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(128)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -1511,7 +1512,7 @@ L_088AC614: goto L_088AC628; } L_088AC628: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; // nop local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -1523,7 +1524,7 @@ L_088AC630: aot_gpr_16 = (2246u << 16u); aot_gpr_16 = (aot_gpr_16 + static_cast(16496)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); ctx.gpr[17] = (0u | 0u); goto L_088AC64C; L_088AC64C: @@ -1536,7 +1537,7 @@ L_088AC64C: goto L_088AC658; } L_088AC658: - ctx.gpr[31] = (0x088AC660u); + aot_gpr_31 = (0x088AC660u); aot_gpr_4 = (aot_gpr_16 | 0u); goto L_088AC47C; L_088AC660: @@ -1554,9 +1555,9 @@ L_088AC670: aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; - ctx.gpr[31] = aot_run_words[2]; + aot_gpr_31 = aot_run_words[2]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -1567,10 +1568,10 @@ L_088AC684: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), ctx.gpr[21]); ctx.gpr[21] = (2246u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_19); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), ctx.gpr[19]); ctx.gpr[9] = (aot_gpr_5 | 0u); aot_gpr_16 = (aot_gpr_6 & 255u); - aot_gpr_19 = (aot_gpr_4 | 0u); + ctx.gpr[19] = (aot_gpr_4 | 0u); ctx.gpr[21] = (ctx.gpr[21] + static_cast(16496)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), std::bit_cast(ctx.fpr[20])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), std::bit_cast(ctx.fpr[22])); @@ -1587,7 +1588,7 @@ L_088AC684: ctx.gpr[22] = (ctx.gpr[21] | 0u); aot_gpr_6 = (0u | 1u); aot_gpr_4 = (ctx.gpr[9] | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), aot_gpr_31); goto L_088AC6E8; L_088AC6E8: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(0))); @@ -1629,14 +1630,14 @@ L_088AC718: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(0), aot_gpr_5); aot_gpr_5 = (ctx.gpr[21] + static_cast(32)); - ctx.gpr[31] = (0x088AC72Cu); + aot_gpr_31 = (0x088AC72Cu); aot_gpr_5 = (ctx.gpr[20] + aot_gpr_5); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0032_entry, 32u, 843u, 0x08887B04u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AC72Cu) goto L_088AC72C; AOT_REGCACHE_SYNC_OUT(); return; L_088AC72C: aot_gpr_4 = (ctx.gpr[21] + static_cast(16)); aot_gpr_4 = (ctx.gpr[20] + aot_gpr_4); - { const std::uint32_t vfpu_address = aot_gpr_19 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -1663,13 +1664,13 @@ L_088AC750: aot_gpr_16 = aot_run_words[2]; ctx.gpr[17] = aot_run_words[3]; ctx.gpr[18] = aot_run_words[4]; - aot_gpr_19 = aot_run_words[5]; + ctx.gpr[19] = aot_run_words[5]; ctx.gpr[20] = aot_run_words[6]; ctx.gpr[21] = aot_run_words[7]; ctx.gpr[22] = aot_run_words[8]; - ctx.gpr[31] = aot_run_words[9]; + aot_gpr_31 = aot_run_words[9]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(48)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -1684,14 +1685,14 @@ L_088AC780: ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); aot_gpr_4 = (aot_gpr_4 + static_cast(11888)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[31]); - ctx.gpr[31] = (0x088AC7ACu); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); + aot_gpr_31 = (0x088AC7ACu); ctx.gpr[7] = (ctx.gpr[7] + static_cast(-31848)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 173u, 0x08B60E20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AC7ACu) goto L_088AC7AC; AOT_REGCACHE_SYNC_OUT(); return; L_088AC7AC: - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -1706,7 +1707,7 @@ L_088AC7B8: ctx.gpr[10] = (0u | 0u); ctx.gpr[11] = (0u | 0u); ctx.gpr[9] = (ctx.gpr[7] | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(256), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(256), aot_gpr_31); goto L_088AC7DC; L_088AC7DC: ctx.gpr[2] = (aot_mem.aot_direct_load8(ctx.gpr[9] + static_cast(45))); @@ -2415,7 +2416,7 @@ L_088ACBB8: goto L_088ACBC8; L_088ACBC8: aot_gpr_6 = (aot_gpr_5 | 0u); - ctx.gpr[31] = (0x088ACBD4u); + aot_gpr_31 = (0x088ACBD4u); aot_gpr_5 = (0u | 186u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 553u, 0x08A062F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ACBD4u) goto L_088ACBD4; AOT_REGCACHE_SYNC_OUT(); return; @@ -2452,13 +2453,13 @@ L_088ACBF8: goto L_088ACC08; L_088ACC08: aot_gpr_6 = (aot_gpr_5 | 0u); - ctx.gpr[31] = (0x088ACC14u); + aot_gpr_31 = (0x088ACC14u); aot_gpr_5 = (0u | 185u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 553u, 0x08A062F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ACC14u) goto L_088ACC14; AOT_REGCACHE_SYNC_OUT(); return; L_088ACC14: - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(256))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(256))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(272)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -2494,21 +2495,21 @@ L_088ACC20: aot_gpr_4 = (16384u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(652), std::bit_cast(ctx.fpr[24])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(660), std::bit_cast(ctx.fpr[28])); - { const std::uint32_t aot_run_words[4]{ctx.gpr[18], aot_gpr_19, ctx.gpr[20], ctx.gpr[21]}; + { const std::uint32_t aot_run_words[4]{ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(676), aot_run_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(700), ctx.gpr[30]); ctx.fpr[24] = std::bit_cast(0u); ctx.gpr[30] = (0u | 0u); ctx.fpr[28] = std::bit_cast(aot_gpr_4); ctx.gpr[20] = (aot_gpr_29 + static_cast(48)); - aot_gpr_19 = (aot_gpr_29 + static_cast(80)); + ctx.gpr[19] = (aot_gpr_29 + static_cast(80)); ctx.gpr[18] = (aot_gpr_29 + static_cast(96)); ctx.gpr[21] = (aot_gpr_29 + static_cast(32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(632), std::bit_cast(aot_fpr_12)); aot_gpr_16 = (aot_gpr_16 + static_cast(28032)); ctx.gpr[23] = (ctx.gpr[23] + static_cast(-17648)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(648), std::bit_cast(ctx.fpr[22])); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(704), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(704), aot_gpr_31); goto L_088ACCD8; L_088ACCD8: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(45))); @@ -2521,27 +2522,27 @@ L_088ACCD8: } L_088ACCE4: aot_gpr_4 = (0u | 6u); - ctx.gpr[31] = (0x088ACCF0u); + aot_gpr_31 = (0x088ACCF0u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ACCF0u) goto L_088ACCF0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ACCF0u) goto L_088ACCF0; AOT_REGCACHE_SYNC_OUT(); return; L_088ACCF0: aot_gpr_4 = (0u | 8u); - ctx.gpr[31] = (0x088ACCFCu); + aot_gpr_31 = (0x088ACCFCu); aot_gpr_5 = (0u | 5u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ACCFCu) goto L_088ACCFC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ACCFCu) goto L_088ACCFC; AOT_REGCACHE_SYNC_OUT(); return; L_088ACCFC: aot_gpr_4 = (0u | 9u); - ctx.gpr[31] = (0x088ACD08u); + aot_gpr_31 = (0x088ACD08u); aot_gpr_5 = (0u | 6u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ACD08u) goto L_088ACD08; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ACD08u) goto L_088ACD08; AOT_REGCACHE_SYNC_OUT(); return; L_088ACD08: aot_gpr_4 = (0u | 1u); - ctx.gpr[31] = (0x088ACD14u); + aot_gpr_31 = (0x088ACD14u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ACD14u) goto L_088ACD14; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ACD14u) goto L_088ACD14; AOT_REGCACHE_SYNC_OUT(); return; L_088ACD14: ctx.gpr[8] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(32))); @@ -2652,7 +2653,7 @@ L_088ACD54: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_19 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = ctx.gpr[22] + static_cast(0); @@ -2668,7 +2669,7 @@ L_088ACD54: const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - { const std::uint32_t vfpu_address = aot_gpr_19 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -2804,7 +2805,7 @@ L_088ACE78: L_088ACE8C: aot_gpr_4 = (std::bit_cast(aot_fpr_14)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); - { const std::uint32_t vfpu_address = aot_gpr_19 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -2916,7 +2917,7 @@ L_088ACF0C: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_19 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const bool branch_taken = 0u == 0u; @@ -2948,7 +2949,7 @@ L_088ACF4C: L_088ACF60: aot_gpr_4 = (std::bit_cast(aot_fpr_14)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); - { const std::uint32_t vfpu_address = aot_gpr_19 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -3069,7 +3070,7 @@ L_088AD008: aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); - { const std::uint32_t vfpu_address = aot_gpr_19 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -3145,7 +3146,7 @@ L_088AD008: const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - { const std::uint32_t vfpu_address = aot_gpr_19 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -3291,7 +3292,7 @@ L_088AD008: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 10u); aot_gpr_6 = (0u | 0u); - ctx.gpr[31] = (0x088AD240u); + aot_gpr_31 = (0x088AD240u); ctx.gpr[7] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0186_entry, 186u, 515u, 0x08AEE610u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AD240u) goto L_088AD240; AOT_REGCACHE_SYNC_OUT(); return; @@ -3304,12 +3305,12 @@ L_088AD240: L_088AD248: aot_gpr_4 = (0u | 3u); aot_gpr_5 = (ctx.gpr[23] | 0u); - ctx.gpr[31] = (0x088AD258u); + aot_gpr_31 = (0x088AD258u); aot_gpr_6 = (0u | 48u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0186_entry, 186u, 536u, 0x08AEE8E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AD258u) goto L_088AD258; AOT_REGCACHE_SYNC_OUT(); return; L_088AD258: - ctx.gpr[31] = (0x088AD260u); + aot_gpr_31 = (0x088AD260u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0186_entry, 186u, 535u, 0x08AEE8D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AD260u) goto L_088AD260; AOT_REGCACHE_SYNC_OUT(); return; @@ -3395,7 +3396,7 @@ L_088AD264: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 10u); aot_gpr_6 = (0u | 0u); - ctx.gpr[31] = (0x088AD3B8u); + aot_gpr_31 = (0x088AD3B8u); ctx.gpr[7] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0186_entry, 186u, 515u, 0x08AEE610u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AD3B8u) goto L_088AD3B8; AOT_REGCACHE_SYNC_OUT(); return; @@ -3408,12 +3409,12 @@ L_088AD3B8: L_088AD3C0: aot_gpr_4 = (0u | 3u); aot_gpr_5 = (ctx.gpr[23] | 0u); - ctx.gpr[31] = (0x088AD3D0u); + aot_gpr_31 = (0x088AD3D0u); aot_gpr_6 = (0u | 48u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0186_entry, 186u, 536u, 0x08AEE8E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AD3D0u) goto L_088AD3D0; AOT_REGCACHE_SYNC_OUT(); return; L_088AD3D0: - ctx.gpr[31] = (0x088AD3D8u); + aot_gpr_31 = (0x088AD3D8u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0186_entry, 186u, 535u, 0x08AEE8D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AD3D8u) goto L_088AD3D8; AOT_REGCACHE_SYNC_OUT(); return; @@ -3467,7 +3468,7 @@ L_088AD3DC: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 10u); aot_gpr_6 = (0u | 0u); - ctx.gpr[31] = (0x088AD4ACu); + aot_gpr_31 = (0x088AD4ACu); ctx.gpr[7] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0186_entry, 186u, 515u, 0x08AEE610u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AD4ACu) goto L_088AD4AC; AOT_REGCACHE_SYNC_OUT(); return; @@ -3482,12 +3483,12 @@ L_088AD4AC: L_088AD4B4: aot_gpr_4 = (0u | 3u); aot_gpr_5 = (ctx.gpr[23] | 0u); - ctx.gpr[31] = (0x088AD4C4u); + aot_gpr_31 = (0x088AD4C4u); aot_gpr_6 = (0u | 48u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0186_entry, 186u, 536u, 0x08AEE8E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AD4C4u) goto L_088AD4C4; AOT_REGCACHE_SYNC_OUT(); return; L_088AD4C4: - ctx.gpr[31] = (0x088AD4CCu); + aot_gpr_31 = (0x088AD4CCu); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0186_entry, 186u, 535u, 0x08AEE8D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AD4CCu) goto L_088AD4CC; AOT_REGCACHE_SYNC_OUT(); return; @@ -3507,21 +3508,21 @@ L_088AD4E0: { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[26]), std::bit_cast(aot_fpr_12)}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(64), aot_run_words); } aot_gpr_4 = (0u | 6u); - ctx.gpr[31] = (0x088AD4FCu); + aot_gpr_31 = (0x088AD4FCu); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AD4FCu) goto L_088AD4FC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AD4FCu) goto L_088AD4FC; AOT_REGCACHE_SYNC_OUT(); return; L_088AD4FC: aot_gpr_4 = (0u | 8u); - ctx.gpr[31] = (0x088AD508u); + aot_gpr_31 = (0x088AD508u); aot_gpr_5 = (0u | 5u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AD508u) goto L_088AD508; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AD508u) goto L_088AD508; AOT_REGCACHE_SYNC_OUT(); return; L_088AD508: aot_gpr_4 = (0u | 9u); - ctx.gpr[31] = (0x088AD514u); + aot_gpr_31 = (0x088AD514u); aot_gpr_5 = (0u | 6u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AD514u) goto L_088AD514; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AD514u) goto L_088AD514; AOT_REGCACHE_SYNC_OUT(); return; L_088AD514: { std::uint32_t aot_run_words[16]{}; @@ -3535,15 +3536,15 @@ L_088AD514: aot_gpr_16 = aot_run_words[6]; ctx.gpr[17] = aot_run_words[7]; ctx.gpr[18] = aot_run_words[8]; - aot_gpr_19 = aot_run_words[9]; + ctx.gpr[19] = aot_run_words[9]; ctx.gpr[20] = aot_run_words[10]; ctx.gpr[21] = aot_run_words[11]; ctx.gpr[22] = aot_run_words[12]; ctx.gpr[23] = aot_run_words[13]; ctx.gpr[30] = aot_run_words[14]; - ctx.gpr[31] = aot_run_words[15]; + aot_gpr_31 = aot_run_words[15]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(720)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -3551,7 +3552,7 @@ L_088AD514: AOT_REGCACHE_SYNC_OUT(); return; L_088AD55C: aot_gpr_29 = (aot_gpr_29 + static_cast(-1120)); - { const std::uint32_t aot_run_words[14]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_19, ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[14]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(1052), aot_run_words); } ctx.fpr[22] = std::bit_cast(std::bit_cast(aot_fpr_13)); ctx.fpr[24] = std::bit_cast(std::bit_cast(aot_fpr_12)); @@ -3560,18 +3561,18 @@ L_088AD55C: ctx.fpr[20] = std::bit_cast(aot_gpr_4); aot_gpr_4 = (16281u << 16u); aot_gpr_4 = (aot_gpr_4 | 39322u); - ctx.gpr[31] = (0x088AD5BCu); + aot_gpr_31 = (0x088AD5BCu); ctx.fpr[26] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AD5BCu) goto L_088AD5BC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AD5BCu) goto L_088AD5BC; AOT_REGCACHE_SYNC_OUT(); return; L_088AD5BC: aot_fpr_12 = ctx.fpr[26] - ctx.fpr[20]; { const float fs = aot_fpr_12; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = ctx.fpr[20] + aot_fpr_12; { const float fs = ctx.fpr[24]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[24] = std::bit_cast(0x7FC00000u); else ctx.fpr[24] = fs * ft; } - ctx.gpr[31] = (0x088AD5D4u); + aot_gpr_31 = (0x088AD5D4u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AD5D4u) goto L_088AD5D4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AD5D4u) goto L_088AD5D4; AOT_REGCACHE_SYNC_OUT(); return; L_088AD5D4: aot_fpr_13 = ctx.fpr[26] - ctx.fpr[20]; @@ -3588,7 +3589,7 @@ L_088AD5D4: aot_gpr_5 = (2233u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(-16976)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x088AD614u); + aot_gpr_31 = (0x088AD614u); aot_gpr_6 = (0u | 24u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AD614u) goto L_088AD614; AOT_REGCACHE_SYNC_OUT(); return; @@ -3707,9 +3708,9 @@ L_088AD614: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); - aot_gpr_19 = (aot_gpr_29 + static_cast(96)); + ctx.gpr[19] = (aot_gpr_29 + static_cast(96)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_19 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = ctx.gpr[20] + static_cast(0); @@ -3726,9 +3727,9 @@ L_088AD614: const std::uint32_t vfpu_address = ctx.gpr[22] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - ctx.gpr[31] = (0x088AD6C0u); + aot_gpr_31 = (0x088AD6C0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AD6C0u) goto L_088AD6C0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AD6C0u) goto L_088AD6C0; AOT_REGCACHE_SYNC_OUT(); return; L_088AD6C0: aot_gpr_4 = (ctx.gpr[2] | 0u); @@ -3736,9 +3737,9 @@ L_088AD6C0: ctx.gpr[21] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-24804))); ctx.gpr[20] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-24808))); ctx.gpr[7] = (ctx.gpr[21] | 0u); - ctx.gpr[31] = (0x088AD6DCu); + aot_gpr_31 = (0x088AD6DCu); aot_gpr_6 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AD6DCu) goto L_088AD6DC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AD6DCu) goto L_088AD6DC; AOT_REGCACHE_SYNC_OUT(); return; L_088AD6DC: ctx.gpr[1] = (ctx.gpr[3] << 1u); @@ -3800,17 +3801,17 @@ L_088AD708: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } goto L_088AD720; L_088AD720: - ctx.gpr[31] = (0x088AD728u); + aot_gpr_31 = (0x088AD728u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AD728u) goto L_088AD728; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AD728u) goto L_088AD728; AOT_REGCACHE_SYNC_OUT(); return; L_088AD728: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_5 = (0u | 0u); ctx.gpr[7] = (ctx.gpr[21] | 0u); - ctx.gpr[31] = (0x088AD73Cu); + aot_gpr_31 = (0x088AD73Cu); aot_gpr_6 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AD73Cu) goto L_088AD73C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AD73Cu) goto L_088AD73C; AOT_REGCACHE_SYNC_OUT(); return; L_088AD73C: ctx.gpr[1] = (ctx.gpr[3] << 1u); @@ -3873,9 +3874,9 @@ L_088AD768: goto L_088AD780; L_088AD780: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-24944))); - ctx.gpr[31] = (0x088AD78Cu); + aot_gpr_31 = (0x088AD78Cu); aot_gpr_4 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AD78Cu) goto L_088AD78C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AD78Cu) goto L_088AD78C; AOT_REGCACHE_SYNC_OUT(); return; L_088AD78C: { const std::uint32_t vfpu_address = ctx.gpr[22] + static_cast(0); @@ -3887,7 +3888,7 @@ L_088AD78C: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = aot_gpr_19 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -3970,7 +3971,7 @@ L_088AD78C: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = aot_gpr_19 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -4164,7 +4165,7 @@ L_088AD78C: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = aot_gpr_19 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -4244,7 +4245,7 @@ L_088AD78C: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = aot_gpr_19 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -4432,34 +4433,34 @@ L_088AD78C: aot_gpr_4 = (aot_gpr_29 + static_cast(144)); aot_gpr_5 = (0u | 8u); aot_gpr_6 = (0u | 0u); - ctx.gpr[31] = (0x088ADB0Cu); + aot_gpr_31 = (0x088ADB0Cu); ctx.gpr[7] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0186_entry, 186u, 515u, 0x08AEE610u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ADB0Cu) goto L_088ADB0C; AOT_REGCACHE_SYNC_OUT(); return; L_088ADB0C: aot_gpr_4 = (0u | 3u); aot_gpr_5 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x088ADB1Cu); + aot_gpr_31 = (0x088ADB1Cu); aot_gpr_6 = (0u | 12u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0186_entry, 186u, 536u, 0x08AEE8E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ADB1Cu) goto L_088ADB1C; AOT_REGCACHE_SYNC_OUT(); return; L_088ADB1C: - ctx.gpr[31] = (0x088ADB24u); + aot_gpr_31 = (0x088ADB24u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0186_entry, 186u, 535u, 0x08AEE8D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ADB24u) goto L_088ADB24; AOT_REGCACHE_SYNC_OUT(); return; L_088ADB24: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-24936))); - ctx.gpr[31] = (0x088ADB30u); + aot_gpr_31 = (0x088ADB30u); aot_gpr_4 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ADB30u) goto L_088ADB30; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ADB30u) goto L_088ADB30; AOT_REGCACHE_SYNC_OUT(); return; L_088ADB30: aot_gpr_4 = (16000u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); - { const std::uint32_t vfpu_address = aot_gpr_19 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -4474,7 +4475,7 @@ L_088ADB30: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (ctx.gpr[22] | 0u); - ctx.gpr[31] = (0x088ADB58u); + aot_gpr_31 = (0x088ADB58u); aot_gpr_5 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 464u, 0x08A931D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ADB58u) goto L_088ADB58; AOT_REGCACHE_SYNC_OUT(); return; @@ -4802,19 +4803,19 @@ L_088ADB58: aot_gpr_4 = (aot_gpr_29 + static_cast(336)); aot_gpr_5 = (0u | 4u); aot_gpr_6 = (0u | 0u); - ctx.gpr[31] = (0x088ADD3Cu); + aot_gpr_31 = (0x088ADD3Cu); ctx.gpr[7] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0186_entry, 186u, 515u, 0x08AEE610u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ADD3Cu) goto L_088ADD3C; AOT_REGCACHE_SYNC_OUT(); return; L_088ADD3C: aot_gpr_4 = (0u | 3u); aot_gpr_5 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x088ADD4Cu); + aot_gpr_31 = (0x088ADD4Cu); aot_gpr_6 = (0u | 6u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0186_entry, 186u, 536u, 0x08AEE8E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ADD4Cu) goto L_088ADD4C; AOT_REGCACHE_SYNC_OUT(); return; L_088ADD4C: - ctx.gpr[31] = (0x088ADD54u); + aot_gpr_31 = (0x088ADD54u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0186_entry, 186u, 535u, 0x08AEE8D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ADD54u) goto L_088ADD54; AOT_REGCACHE_SYNC_OUT(); return; @@ -4829,14 +4830,14 @@ L_088ADD54: aot_gpr_16 = aot_run_words[5]; ctx.gpr[17] = aot_run_words[6]; ctx.gpr[18] = aot_run_words[7]; - aot_gpr_19 = aot_run_words[8]; + ctx.gpr[19] = aot_run_words[8]; ctx.gpr[20] = aot_run_words[9]; ctx.gpr[21] = aot_run_words[10]; ctx.gpr[22] = aot_run_words[11]; ctx.gpr[23] = aot_run_words[12]; - ctx.gpr[31] = aot_run_words[13]; + aot_gpr_31 = aot_run_words[13]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(1120)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -4845,7 +4846,7 @@ L_088ADD54: L_088ADD94: aot_gpr_29 = (aot_gpr_29 + static_cast(-144)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8436))); - { const std::uint32_t aot_run_words[16]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_19, ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[16]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(72), aot_run_words); } { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -4856,33 +4857,33 @@ L_088ADD94: } L_088ADDE4: aot_gpr_4 = (0u | 10u); - ctx.gpr[31] = (0x088ADDF0u); + aot_gpr_31 = (0x088ADDF0u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ADDF0u) goto L_088ADDF0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ADDF0u) goto L_088ADDF0; AOT_REGCACHE_SYNC_OUT(); return; L_088ADDF0: aot_gpr_4 = (0u | 6u); - ctx.gpr[31] = (0x088ADDFCu); + aot_gpr_31 = (0x088ADDFCu); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ADDFCu) goto L_088ADDFC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ADDFCu) goto L_088ADDFC; AOT_REGCACHE_SYNC_OUT(); return; L_088ADDFC: aot_gpr_4 = (0u | 8u); - ctx.gpr[31] = (0x088ADE08u); + aot_gpr_31 = (0x088ADE08u); aot_gpr_5 = (0u | 5u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ADE08u) goto L_088ADE08; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ADE08u) goto L_088ADE08; AOT_REGCACHE_SYNC_OUT(); return; L_088ADE08: aot_gpr_4 = (0u | 9u); - ctx.gpr[31] = (0x088ADE14u); + aot_gpr_31 = (0x088ADE14u); aot_gpr_5 = (0u | 6u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ADE14u) goto L_088ADE14; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ADE14u) goto L_088ADE14; AOT_REGCACHE_SYNC_OUT(); return; L_088ADE14: aot_gpr_4 = (0u | 1u); - ctx.gpr[31] = (0x088ADE20u); + aot_gpr_31 = (0x088ADE20u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ADE20u) goto L_088ADE20; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ADE20u) goto L_088ADE20; AOT_REGCACHE_SYNC_OUT(); return; L_088ADE20: aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8452), 0u); @@ -4967,7 +4968,7 @@ L_088ADE40: aot_gpr_16 = (2246u << 16u); ctx.gpr[30] = (2233u << 16u); aot_gpr_4 = (16888u << 16u); - aot_gpr_19 = (ctx.gpr[18] + static_cast(32)); + ctx.gpr[19] = (ctx.gpr[18] + static_cast(32)); ctx.fpr[24] = std::bit_cast(aot_gpr_4); ctx.gpr[23] = (ctx.gpr[23] + static_cast(12016)); ctx.gpr[17] = (ctx.gpr[17] + static_cast(-272)); @@ -4995,14 +4996,14 @@ L_088ADF78: goto L_088ADF88; } L_088ADF88: - ctx.gpr[31] = (0x088ADF90u); + aot_gpr_31 = (0x088ADF90u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0041_entry, 41u, 452u, 0x088AAFB8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ADF90u) goto L_088ADF90; AOT_REGCACHE_SYNC_OUT(); return; L_088ADF90: - ctx.gpr[31] = (0x088ADF98u); + aot_gpr_31 = (0x088ADF98u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ADF98u) goto L_088ADF98; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ADF98u) goto L_088ADF98; AOT_REGCACHE_SYNC_OUT(); return; L_088ADF98: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -5728,11 +5729,11 @@ L_088AE764: aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(10), static_cast(ctx.gpr[11])); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(11), static_cast(ctx.gpr[10])); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[8] + static_cast(0))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_19 + static_cast(0))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(0))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_19 + static_cast(4))); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(4))); ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(0))); { const float fs = aot_fpr_12; const float ft = aot_fpr_15; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_15 = std::bit_cast(0x7FC00000u); else aot_fpr_15 = fs * ft; } ctx.fpr[17] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); @@ -5741,7 +5742,7 @@ L_088AE764: { const float fs = ctx.fpr[16]; const float ft = ctx.fpr[17]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[17] = std::bit_cast(0x7FC00000u); else ctx.fpr[17] = fs * ft; } aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); aot_fpr_15 = ctx.fpr[18] + aot_fpr_15; - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_19 + static_cast(8))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(8))); ctx.fpr[19] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); aot_fpr_13 = aot_fpr_13 + ctx.fpr[17]; { const float fs = aot_fpr_12; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } @@ -5819,15 +5820,15 @@ L_088AE870: goto L_088AE888; } L_088AE888: - ctx.gpr[31] = (0x088AE890u); + aot_gpr_31 = (0x088AE890u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0041_entry, 41u, 452u, 0x088AAFB8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AE890u) goto L_088AE890; AOT_REGCACHE_SYNC_OUT(); return; L_088AE890: aot_gpr_4 = (0u | 10u); - ctx.gpr[31] = (0x088AE89Cu); + aot_gpr_31 = (0x088AE89Cu); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AE89Cu) goto L_088AE89C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AE89Cu) goto L_088AE89C; AOT_REGCACHE_SYNC_OUT(); return; L_088AE89C: aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8436), 0u); @@ -5844,15 +5845,15 @@ L_088AE8A0: aot_gpr_16 = aot_run_words[6]; ctx.gpr[17] = aot_run_words[7]; ctx.gpr[18] = aot_run_words[8]; - aot_gpr_19 = aot_run_words[9]; + ctx.gpr[19] = aot_run_words[9]; ctx.gpr[20] = aot_run_words[10]; ctx.gpr[21] = aot_run_words[11]; ctx.gpr[22] = aot_run_words[12]; ctx.gpr[23] = aot_run_words[13]; ctx.gpr[30] = aot_run_words[14]; - ctx.gpr[31] = aot_run_words[15]; + aot_gpr_31 = aot_run_words[15]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(144)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -5861,7 +5862,7 @@ L_088AE8A0: L_088AE8E8: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8440))); - { const std::uint32_t aot_run_words[10]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_19, ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[10]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(8), aot_run_words); } { const bool branch_taken = aot_gpr_4 == 0u; ctx.gpr[30] = (0u | 0u); @@ -5872,27 +5873,27 @@ L_088AE8E8: } L_088AE920: aot_gpr_4 = (0u | 10u); - ctx.gpr[31] = (0x088AE92Cu); + aot_gpr_31 = (0x088AE92Cu); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AE92Cu) goto L_088AE92C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AE92Cu) goto L_088AE92C; AOT_REGCACHE_SYNC_OUT(); return; L_088AE92C: aot_gpr_4 = (0u | 6u); - ctx.gpr[31] = (0x088AE938u); + aot_gpr_31 = (0x088AE938u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AE938u) goto L_088AE938; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AE938u) goto L_088AE938; AOT_REGCACHE_SYNC_OUT(); return; L_088AE938: aot_gpr_4 = (0u | 8u); - ctx.gpr[31] = (0x088AE944u); + aot_gpr_31 = (0x088AE944u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AE944u) goto L_088AE944; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AE944u) goto L_088AE944; AOT_REGCACHE_SYNC_OUT(); return; L_088AE944: aot_gpr_4 = (0u | 9u); - ctx.gpr[31] = (0x088AE950u); + aot_gpr_31 = (0x088AE950u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AE950u) goto L_088AE950; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AE950u) goto L_088AE950; AOT_REGCACHE_SYNC_OUT(); return; L_088AE950: aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8452), 0u); @@ -5940,7 +5941,7 @@ L_088AE9A4: goto L_088AE9B4; } L_088AE9B4: - ctx.gpr[31] = (0x088AE9BCu); + aot_gpr_31 = (0x088AE9BCu); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0041_entry, 41u, 468u, 0x088AB1A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AE9BCu) goto L_088AE9BC; AOT_REGCACHE_SYNC_OUT(); return; @@ -5991,7 +5992,7 @@ L_088AE9F0: } L_088AE9F8: aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-5016))); - aot_gpr_19 = (ctx.gpr[17] & 255u); + ctx.gpr[19] = (ctx.gpr[17] & 255u); ctx.gpr[18] = (aot_gpr_4 & 255u); { const bool branch_taken = ctx.gpr[30] == aot_gpr_6; ctx.gpr[17] = (aot_gpr_5 & 255u); @@ -6001,16 +6002,16 @@ L_088AE9F8: goto L_088AEA0C; } L_088AEA0C: - ctx.gpr[31] = (0x088AEA14u); + aot_gpr_31 = (0x088AEA14u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0041_entry, 41u, 468u, 0x088AB1A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AEA14u) goto L_088AEA14; AOT_REGCACHE_SYNC_OUT(); return; L_088AEA14: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-5016))); aot_gpr_4 = (0u | 1u); - ctx.gpr[31] = (0x088AEA24u); + aot_gpr_31 = (0x088AEA24u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AEA24u) goto L_088AEA24; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AEA24u) goto L_088AEA24; AOT_REGCACHE_SYNC_OUT(); return; L_088AEA24: ctx.gpr[30] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-5016))); @@ -6022,7 +6023,7 @@ L_088AEA28: aot_gpr_6 = (aot_gpr_4 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[20]); - aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(8), static_cast(aot_gpr_19)); + aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(8), static_cast(ctx.gpr[19])); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(9), static_cast(ctx.gpr[18])); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(10), static_cast(ctx.gpr[17])); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(11), static_cast(aot_gpr_5)); @@ -6055,7 +6056,7 @@ L_088AEA28: aot_gpr_6 = (aot_gpr_4 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[23]); - aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(8), static_cast(aot_gpr_19)); + aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(8), static_cast(ctx.gpr[19])); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(9), static_cast(ctx.gpr[18])); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(10), static_cast(ctx.gpr[17])); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(11), static_cast(aot_gpr_5)); @@ -6088,7 +6089,7 @@ L_088AEA28: aot_gpr_6 = (aot_gpr_4 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[22]); - aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(8), static_cast(aot_gpr_19)); + aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(8), static_cast(ctx.gpr[19])); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(9), static_cast(ctx.gpr[18])); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(10), static_cast(ctx.gpr[17])); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(11), static_cast(aot_gpr_5)); @@ -6121,7 +6122,7 @@ L_088AEA28: aot_gpr_6 = (aot_gpr_4 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[21]); - aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(8), static_cast(aot_gpr_19)); + aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(8), static_cast(ctx.gpr[19])); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(9), static_cast(ctx.gpr[18])); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(10), static_cast(ctx.gpr[17])); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(11), static_cast(aot_gpr_5)); @@ -6175,7 +6176,7 @@ L_088AEA28: goto L_088AEC9C; } L_088AEC9C: - aot_gpr_19 = (ctx.gpr[17] & 255u); + ctx.gpr[19] = (ctx.gpr[17] & 255u); ctx.gpr[18] = (aot_gpr_4 & 255u); { const bool branch_taken = ctx.gpr[30] == 0u; ctx.gpr[17] = (aot_gpr_5 & 255u); @@ -6185,15 +6186,15 @@ L_088AEC9C: goto L_088AECAC; } L_088AECAC: - ctx.gpr[31] = (0x088AECB4u); + aot_gpr_31 = (0x088AECB4u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0041_entry, 41u, 468u, 0x088AB1A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AECB4u) goto L_088AECB4; AOT_REGCACHE_SYNC_OUT(); return; L_088AECB4: aot_gpr_4 = (0u | 1u); - ctx.gpr[31] = (0x088AECC0u); + aot_gpr_31 = (0x088AECC0u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AECC0u) goto L_088AECC0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AECC0u) goto L_088AECC0; AOT_REGCACHE_SYNC_OUT(); return; L_088AECC0: ctx.gpr[30] = (0u | 0u); @@ -6205,7 +6206,7 @@ L_088AECC4: aot_gpr_6 = (aot_gpr_4 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[20]); - aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(8), static_cast(aot_gpr_19)); + aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(8), static_cast(ctx.gpr[19])); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(9), static_cast(ctx.gpr[18])); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(10), static_cast(ctx.gpr[17])); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(11), static_cast(aot_gpr_5)); @@ -6238,7 +6239,7 @@ L_088AECC4: aot_gpr_6 = (aot_gpr_4 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[23]); - aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(8), static_cast(aot_gpr_19)); + aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(8), static_cast(ctx.gpr[19])); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(9), static_cast(ctx.gpr[18])); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(10), static_cast(ctx.gpr[17])); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(11), static_cast(aot_gpr_5)); @@ -6271,7 +6272,7 @@ L_088AECC4: aot_gpr_6 = (aot_gpr_4 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[22]); - aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(8), static_cast(aot_gpr_19)); + aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(8), static_cast(ctx.gpr[19])); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(9), static_cast(ctx.gpr[18])); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(10), static_cast(ctx.gpr[17])); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(11), static_cast(aot_gpr_5)); @@ -6304,7 +6305,7 @@ L_088AECC4: aot_gpr_6 = (aot_gpr_4 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[21]); - aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(8), static_cast(aot_gpr_19)); + aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(8), static_cast(ctx.gpr[19])); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(9), static_cast(ctx.gpr[18])); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(10), static_cast(ctx.gpr[17])); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(11), static_cast(aot_gpr_5)); @@ -6373,34 +6374,34 @@ L_088AEF3C: goto L_088AEF54; } L_088AEF54: - ctx.gpr[31] = (0x088AEF5Cu); + aot_gpr_31 = (0x088AEF5Cu); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0041_entry, 41u, 468u, 0x088AB1A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AEF5Cu) goto L_088AEF5C; AOT_REGCACHE_SYNC_OUT(); return; L_088AEF5C: aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8440), 0u); aot_gpr_4 = (0u | 10u); - ctx.gpr[31] = (0x088AEF6Cu); + aot_gpr_31 = (0x088AEF6Cu); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AEF6Cu) goto L_088AEF6C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AEF6Cu) goto L_088AEF6C; AOT_REGCACHE_SYNC_OUT(); return; L_088AEF6C: aot_gpr_4 = (0u | 6u); - ctx.gpr[31] = (0x088AEF78u); + aot_gpr_31 = (0x088AEF78u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AEF78u) goto L_088AEF78; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AEF78u) goto L_088AEF78; AOT_REGCACHE_SYNC_OUT(); return; L_088AEF78: aot_gpr_4 = (0u | 8u); - ctx.gpr[31] = (0x088AEF84u); + aot_gpr_31 = (0x088AEF84u); aot_gpr_5 = (0u | 5u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AEF84u) goto L_088AEF84; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AEF84u) goto L_088AEF84; AOT_REGCACHE_SYNC_OUT(); return; L_088AEF84: aot_gpr_4 = (0u | 9u); - ctx.gpr[31] = (0x088AEF90u); + aot_gpr_31 = (0x088AEF90u); aot_gpr_5 = (0u | 6u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AEF90u) goto L_088AEF90; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AEF90u) goto L_088AEF90; AOT_REGCACHE_SYNC_OUT(); return; L_088AEF90: { std::uint32_t aot_run_words[10]{}; @@ -6408,15 +6409,15 @@ L_088AEF90: aot_gpr_16 = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; - aot_gpr_19 = aot_run_words[3]; + ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; ctx.gpr[21] = aot_run_words[5]; ctx.gpr[22] = aot_run_words[6]; ctx.gpr[23] = aot_run_words[7]; ctx.gpr[30] = aot_run_words[8]; - ctx.gpr[31] = aot_run_words[9]; + aot_gpr_31 = aot_run_words[9]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(48)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -6424,7 +6425,7 @@ L_088AEF90: AOT_REGCACHE_SYNC_OUT(); return; L_088AEFC0: aot_gpr_29 = (aot_gpr_29 + static_cast(-816)); - { const std::uint32_t aot_run_words[16]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_19, ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[16]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(752), aot_run_words); } ctx.fpr[24] = std::bit_cast(std::bit_cast(aot_fpr_14)); ctx.fpr[22] = std::bit_cast(std::bit_cast(aot_fpr_13)); @@ -6450,7 +6451,7 @@ L_088AEFC0: ctx.gpr[17] = (ctx.gpr[17] & 255u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(820))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(736), aot_gpr_4); - ctx.gpr[31] = (0x088AF06Cu); + aot_gpr_31 = (0x088AF06Cu); aot_gpr_4 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 48u, 0x08960450u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AF06Cu) goto L_088AF06C; AOT_REGCACHE_SYNC_OUT(); return; @@ -6470,7 +6471,7 @@ L_088AF06C: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } ctx.fpr[26] = std::bit_cast(0u); - aot_gpr_19 = (0u | 0u); + ctx.gpr[19] = (0u | 0u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(0))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; @@ -6568,7 +6569,7 @@ L_088AF114: } L_088AF120: { const bool branch_taken = 0u == 0u; - aot_gpr_19 = (aot_gpr_5 | 0u); + ctx.gpr[19] = (aot_gpr_5 | 0u); if (branch_taken) { goto L_088AF138; } @@ -6585,7 +6586,7 @@ L_088AF128: goto L_088AF138; } L_088AF138: - { const bool branch_taken = aot_gpr_19 != 0u; + { const bool branch_taken = ctx.gpr[19] != 0u; // nop if (branch_taken) { goto L_088AF170; @@ -6608,7 +6609,7 @@ L_088AF14C: } L_088AF158: { const bool branch_taken = 0u == 0u; - aot_gpr_19 = (aot_gpr_5 | 0u); + ctx.gpr[19] = (aot_gpr_5 | 0u); if (branch_taken) { goto L_088AF170; } @@ -6625,7 +6626,7 @@ L_088AF160: goto L_088AF170; } L_088AF170: - { const bool branch_taken = aot_gpr_19 != 0u; + { const bool branch_taken = ctx.gpr[19] != 0u; aot_gpr_4 = (0u | 2u); if (branch_taken) { goto L_088AF22C; @@ -6717,7 +6718,7 @@ L_088AF1DC: goto L_088AF1E8; } L_088AF1E8: - { const bool branch_taken = aot_gpr_19 == 0u; + { const bool branch_taken = ctx.gpr[19] == 0u; // nop if (branch_taken) { goto L_088AF208; @@ -6726,7 +6727,7 @@ L_088AF1E8: } L_088AF1F0: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(116))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_19 + static_cast(116))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(116))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); @@ -6737,7 +6738,7 @@ L_088AF1F0: goto L_088AF208; } L_088AF208: - aot_gpr_19 = (ctx.gpr[7] | 0u); + ctx.gpr[19] = (ctx.gpr[7] | 0u); goto L_088AF20C; L_088AF20C: aot_gpr_6 = (aot_gpr_6 + static_cast(1)); @@ -6750,7 +6751,7 @@ L_088AF20C: goto L_088AF21C; } L_088AF21C: - { const bool branch_taken = aot_gpr_19 == 0u; + { const bool branch_taken = ctx.gpr[19] == 0u; // nop if (branch_taken) { goto L_088AF22C; @@ -6759,10 +6760,10 @@ L_088AF21C: } L_088AF224: aot_gpr_4 = (0u | 257u); - aot_mem.aot_direct_store16(aot_gpr_19 + static_cast(124), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store16(ctx.gpr[19] + static_cast(124), static_cast(aot_gpr_4)); goto L_088AF22C; L_088AF22C: - { const bool branch_taken = aot_gpr_19 == 0u; + { const bool branch_taken = ctx.gpr[19] == 0u; // nop if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0043_entry, 43u, 17u, 0x088B0198u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; @@ -6770,9 +6771,9 @@ L_088AF22C: goto L_088AF234; } L_088AF234: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_19 + static_cast(96))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(96))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); - aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_19 + static_cast(126))); + aot_gpr_6 = (aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(126))); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); aot_gpr_5 = (aot_gpr_6 + static_cast(-1)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); @@ -6797,7 +6798,7 @@ L_088AF270: aot_gpr_4 = (aot_gpr_4 | 4059u); aot_fpr_12 = std::bit_cast(aot_gpr_4); { const float fs = ctx.fpr[28]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_19 + static_cast(126))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(126))); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_13))); aot_fpr_12 = aot_fpr_12 / aot_fpr_13; @@ -6810,8 +6811,8 @@ L_088AF270: ctx.execute_vfpu_unary_ct<1u, 64u, 1u, 18u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<1u>()); ctx.fpr[28] = std::bit_cast(aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_19 + static_cast(116), std::bit_cast(ctx.fpr[30])); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_19 + static_cast(88))); + aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(116), std::bit_cast(ctx.fpr[30])); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(88))); { const bool branch_taken = aot_gpr_4 != aot_gpr_16; // nop if (branch_taken) { @@ -6820,7 +6821,7 @@ L_088AF270: goto L_088AF2BC; } L_088AF2BC: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_19 + static_cast(124))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(124))); { const bool branch_taken = aot_gpr_4 != ctx.gpr[21]; // nop if (branch_taken) { @@ -6854,14 +6855,14 @@ L_088AF2DC: goto L_088AF2E4; } L_088AF2E4: - aot_mem.aot_direct_store8(aot_gpr_19 + static_cast(92), static_cast(ctx.gpr[10])); + aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(92), static_cast(ctx.gpr[10])); aot_gpr_5 = (16840u << 16u); - aot_mem.aot_direct_store8(aot_gpr_19 + static_cast(93), static_cast(ctx.gpr[9])); + aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(93), static_cast(ctx.gpr[9])); aot_fpr_13 = std::bit_cast(aot_gpr_5); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[30] < aot_fpr_13)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); - aot_mem.aot_direct_store8(aot_gpr_19 + static_cast(94), static_cast(ctx.gpr[30])); + aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(94), static_cast(ctx.gpr[30])); if (branch_taken) { goto L_088AF354; } @@ -6890,7 +6891,7 @@ L_088AF328: aot_fpr_12 = aot_fpr_12 / aot_fpr_14; aot_fpr_12 = ctx.fpr[20] - aot_fpr_12; { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_19 + static_cast(104), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(104), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_088AF408; } @@ -6899,7 +6900,7 @@ L_088AF328: L_088AF348: aot_fpr_12 = ctx.fpr[20] - aot_fpr_12; { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_19 + static_cast(104), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(104), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_088AF408; } @@ -6907,7 +6908,7 @@ L_088AF348: } L_088AF354: { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_19 + static_cast(104), std::bit_cast(ctx.fpr[20])); + aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(104), std::bit_cast(ctx.fpr[20])); if (branch_taken) { goto L_088AF408; } @@ -6925,13 +6926,13 @@ L_088AF35C: L_088AF368: aot_gpr_5 = (16704u << 16u); aot_fpr_14 = std::bit_cast(aot_gpr_5); - aot_mem.aot_direct_store8(aot_gpr_19 + static_cast(92), static_cast(ctx.gpr[10])); + aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(92), static_cast(ctx.gpr[10])); aot_fpr_14 = ctx.fpr[20] + aot_fpr_14; - aot_mem.aot_direct_store8(aot_gpr_19 + static_cast(93), static_cast(ctx.gpr[9])); + aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(93), static_cast(ctx.gpr[9])); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[30] < aot_fpr_14)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); - aot_mem.aot_direct_store8(aot_gpr_19 + static_cast(94), static_cast(ctx.gpr[30])); + aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(94), static_cast(ctx.gpr[30])); if (branch_taken) { goto L_088AF404; } @@ -6965,7 +6966,7 @@ L_088AF3AC: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); aot_gpr_5 = (std::bit_cast(aot_fpr_12)); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_19 + static_cast(95), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(95), static_cast(aot_gpr_5)); if (branch_taken) { goto L_088AF408; } @@ -6979,14 +6980,14 @@ L_088AF3E4: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); aot_gpr_5 = (std::bit_cast(aot_fpr_12)); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_19 + static_cast(95), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(95), static_cast(aot_gpr_5)); if (branch_taken) { goto L_088AF408; } goto L_088AF404; } L_088AF404: - aot_mem.aot_direct_store8(aot_gpr_19 + static_cast(95), static_cast(ctx.gpr[11])); + aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(95), static_cast(ctx.gpr[11])); goto L_088AF408; L_088AF408: { const bool branch_taken = ctx.gpr[21] == aot_gpr_4; @@ -7006,11 +7007,11 @@ L_088AF410: goto L_088AF41C; } L_088AF41C: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_19 + static_cast(104))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(104))); { const float fs = ctx.fpr[22]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } { const float fs = aot_fpr_13; const float ft = ctx.fpr[28]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_fpr_12 = aot_fpr_12 - aot_fpr_13; - aot_mem.aot_direct_store32(aot_gpr_19 + static_cast(108), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(108), std::bit_cast(aot_fpr_12)); goto L_088AF430; L_088AF430: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[24] <= ctx.fpr[26])) ? 0x00800000u : 0u); @@ -7024,15 +7025,15 @@ L_088AF430: } L_088AF440: { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_19 + static_cast(120), std::bit_cast(ctx.fpr[24])); + aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(120), std::bit_cast(ctx.fpr[24])); if (branch_taken) { goto L_088AF450; } goto L_088AF448; } L_088AF448: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_19 + static_cast(108))); - aot_mem.aot_direct_store32(aot_gpr_19 + static_cast(120), std::bit_cast(aot_fpr_12)); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(108))); + aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(120), std::bit_cast(aot_fpr_12)); goto L_088AF450; L_088AF450: { const bool branch_taken = ctx.gpr[21] == ctx.gpr[18]; @@ -7051,7 +7052,7 @@ L_088AF458: goto L_088AF460; } L_088AF460: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_19 + static_cast(104))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(104))); aot_gpr_4 = (16000u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(8))); @@ -7076,12 +7077,12 @@ L_088AF484: L_088AF48C: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(0))); aot_gpr_4 = (16153u << 16u); - aot_mem.aot_direct_store32(aot_gpr_19 + static_cast(48), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(48), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(4))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_19 + static_cast(104))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(104))); aot_gpr_4 = (aot_gpr_4 | 39322u); aot_fpr_14 = std::bit_cast(aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_19 + static_cast(52), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(52), std::bit_cast(aot_fpr_12)); { const float fs = aot_fpr_13; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_gpr_5 = (16179u << 16u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(8))); @@ -7091,7 +7092,7 @@ L_088AF48C: { const float fs = aot_fpr_13; const float ft = ctx.fpr[28]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_fpr_12 = aot_fpr_12 + aot_fpr_13; { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_19 + static_cast(56), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(56), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_088AF53C; } @@ -7126,7 +7127,7 @@ L_088AF4F0: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_19 + static_cast(95), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(95), static_cast(aot_gpr_4)); if (branch_taken) { goto L_088AF53C; } @@ -7141,10 +7142,10 @@ L_088AF518: aot_fpr_12 = aot_fpr_12 + aot_fpr_13; aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); - aot_mem.aot_direct_store8(aot_gpr_19 + static_cast(95), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(95), static_cast(aot_gpr_4)); goto L_088AF53C; L_088AF53C: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_19 + static_cast(128)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(128)))))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -7153,7 +7154,7 @@ L_088AF53C: goto L_088AF548; } L_088AF548: - aot_gpr_4 = (aot_gpr_19 + static_cast(48)); + aot_gpr_4 = (ctx.gpr[19] + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -7168,7 +7169,7 @@ L_088AF548: const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_19 + static_cast(128)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(128)))))); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); @@ -7180,17 +7181,17 @@ L_088AF548: aot_gpr_4 = (17204u << 16u); aot_fpr_15 = std::bit_cast(aot_gpr_4); aot_fpr_12 = aot_fpr_12 / aot_fpr_15; - ctx.gpr[31] = (0x088AF590u); - aot_gpr_4 = (aot_gpr_19 | 0u); + aot_gpr_31 = (0x088AF590u); + aot_gpr_4 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 926u, 0x0885FD1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AF590u) goto L_088AF590; AOT_REGCACHE_SYNC_OUT(); return; L_088AF590: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(32))); - aot_mem.aot_direct_store32(aot_gpr_19 + static_cast(48), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(48), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(36))); - aot_mem.aot_direct_store32(aot_gpr_19 + static_cast(52), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(52), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(40))); - aot_mem.aot_direct_store32(aot_gpr_19 + static_cast(56), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(56), std::bit_cast(aot_fpr_12)); goto L_088AF5A8; L_088AF5A8: { const bool branch_taken = ctx.gpr[21] != ctx.gpr[18]; @@ -7210,16 +7211,16 @@ L_088AF5B8: aot_gpr_4 = (48818u << 16u); aot_gpr_4 = (aot_gpr_4 | 47299u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - ctx.gpr[31] = (0x088AF5CCu); - aot_gpr_4 = (aot_gpr_19 | 0u); + aot_gpr_31 = (0x088AF5CCu); + aot_gpr_4 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 917u, 0x0885F9B0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AF5CCu) goto L_088AF5CC; AOT_REGCACHE_SYNC_OUT(); return; L_088AF5CC: { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[26])}; - aot_mem.aot_direct_store32_block(aot_gpr_19 + static_cast(48), aot_run_words); } + aot_mem.aot_direct_store32_block(ctx.gpr[19] + static_cast(48), aot_run_words); } aot_gpr_4 = (16256u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_19 + static_cast(60), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(60), std::bit_cast(aot_fpr_12)); { const std::uint32_t vfpu_address = ctx.gpr[30] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -7368,13 +7369,13 @@ L_088AF62C: { const std::uint32_t aot_run_words[6]{std::bit_cast(aot_fpr_13), std::bit_cast(aot_fpr_12), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[26]), std::bit_cast(aot_fpr_12)}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(136), aot_run_words); } aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x088AF718u); - aot_gpr_5 = (aot_gpr_19 | 0u); + aot_gpr_31 = (0x088AF718u); + aot_gpr_5 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 10u, 0x088603A0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AF718u) goto L_088AF718; AOT_REGCACHE_SYNC_OUT(); return; L_088AF718: - aot_gpr_4 = (aot_gpr_19 | 0u); - ctx.gpr[31] = (0x088AF724u); + aot_gpr_4 = (ctx.gpr[19] | 0u); + aot_gpr_31 = (0x088AF724u); aot_gpr_5 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 7u, 0x08860358u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AF724u) goto L_088AF724; AOT_REGCACHE_SYNC_OUT(); return; @@ -7398,7 +7399,7 @@ L_088AF734: goto L_088AF740; } L_088AF740: - ctx.gpr[31] = (0x088AF748u); + aot_gpr_31 = (0x088AF748u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(160))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 129u, 0x089D89E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AF748u) goto L_088AF748; AOT_REGCACHE_SYNC_OUT(); return; @@ -7406,11 +7407,11 @@ L_088AF748: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(0))); goto L_088AF74C; L_088AF74C: - aot_mem.aot_direct_store32(aot_gpr_19 + static_cast(48), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(48), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(4))); - aot_mem.aot_direct_store32(aot_gpr_19 + static_cast(52), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(52), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(8))); - aot_mem.aot_direct_store32(aot_gpr_19 + static_cast(56), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(56), std::bit_cast(aot_fpr_12)); goto L_088AF760; L_088AF760: { const bool branch_taken = ctx.gpr[21] == ctx.gpr[18]; @@ -7476,8 +7477,8 @@ L_088AF7A8: L_088AF7B4: aot_gpr_5 = (48818u << 16u); aot_gpr_5 = (aot_gpr_5 | 47299u); - aot_gpr_4 = (aot_gpr_19 | 0u); - ctx.gpr[31] = (0x088AF7C8u); + aot_gpr_4 = (ctx.gpr[19] | 0u); + aot_gpr_31 = (0x088AF7C8u); aot_fpr_12 = std::bit_cast(aot_gpr_5); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 917u, 0x0885F9B0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AF7C8u) goto L_088AF7C8; AOT_REGCACHE_SYNC_OUT(); return; @@ -7490,16 +7491,16 @@ L_088AF7C8: goto L_088AF7D0; } L_088AF7D0: - aot_gpr_4 = (aot_gpr_19 | 0u); - ctx.gpr[31] = (0x088AF7DCu); + aot_gpr_4 = (ctx.gpr[19] | 0u); + aot_gpr_31 = (0x088AF7DCu); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[26])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 917u, 0x0885F9B0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AF7DCu) goto L_088AF7DC; AOT_REGCACHE_SYNC_OUT(); return; L_088AF7DC: { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[26])}; - aot_mem.aot_direct_store32_block(aot_gpr_19 + static_cast(48), aot_run_words); } + aot_mem.aot_direct_store32_block(ctx.gpr[19] + static_cast(48), aot_run_words); } { const bool branch_taken = ctx.gpr[21] != aot_gpr_16; - aot_mem.aot_direct_store32(aot_gpr_19 + static_cast(60), std::bit_cast(ctx.fpr[22])); + aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(60), std::bit_cast(ctx.fpr[22])); if (branch_taken) { goto L_088AF8FC; } @@ -7566,7 +7567,7 @@ L_088AF7F0: { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[22])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(304), aot_run_words); } aot_gpr_4 = (ctx.gpr[17] | 0u); - ctx.gpr[31] = (0x088AF844u); + aot_gpr_31 = (0x088AF844u); aot_gpr_5 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 456u, 0x08A93144u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AF844u) goto L_088AF844; AOT_REGCACHE_SYNC_OUT(); return; @@ -7844,7 +7845,7 @@ L_088AF94C: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); - ctx.gpr[31] = (0x088AF990u); + aot_gpr_31 = (0x088AF990u); aot_gpr_6 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0041_entry, 41u, 308u, 0x088AA3CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AF990u) goto L_088AF990; AOT_REGCACHE_SYNC_OUT(); return; @@ -7913,13 +7914,13 @@ L_088AF9BC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(280), std::bit_cast(ctx.fpr[26])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(284), std::bit_cast(ctx.fpr[22])); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x088AFA40u); - aot_gpr_5 = (aot_gpr_19 | 0u); + aot_gpr_31 = (0x088AFA40u); + aot_gpr_5 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 10u, 0x088603A0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AFA40u) goto L_088AFA40; AOT_REGCACHE_SYNC_OUT(); return; L_088AFA40: - aot_gpr_4 = (aot_gpr_19 | 0u); - ctx.gpr[31] = (0x088AFA4Cu); + aot_gpr_4 = (ctx.gpr[19] | 0u); + aot_gpr_31 = (0x088AFA4Cu); aot_gpr_5 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 7u, 0x08860358u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AFA4Cu) goto L_088AFA4C; AOT_REGCACHE_SYNC_OUT(); return; @@ -7943,7 +7944,7 @@ L_088AFA5C: goto L_088AFA68; } L_088AFA68: - ctx.gpr[31] = (0x088AFA70u); + aot_gpr_31 = (0x088AFA70u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(288))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 129u, 0x089D89E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AFA70u) goto L_088AFA70; AOT_REGCACHE_SYNC_OUT(); return; @@ -7951,11 +7952,11 @@ L_088AFA70: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(0))); goto L_088AFA74; L_088AFA74: - aot_mem.aot_direct_store32(aot_gpr_19 + static_cast(48), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(48), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(4))); - aot_mem.aot_direct_store32(aot_gpr_19 + static_cast(52), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(52), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(8))); - aot_mem.aot_direct_store32(aot_gpr_19 + static_cast(56), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(56), std::bit_cast(aot_fpr_12)); goto L_088AFA88; L_088AFA88: { const bool branch_taken = ctx.gpr[23] == 0u; @@ -7967,17 +7968,17 @@ L_088AFA88: } L_088AFA90: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(0))); - aot_mem.aot_direct_store32(aot_gpr_19 + static_cast(48), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(48), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(4))); - aot_mem.aot_direct_store32(aot_gpr_19 + static_cast(52), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(52), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(8))); - aot_mem.aot_direct_store32(aot_gpr_19 + static_cast(56), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(56), std::bit_cast(aot_fpr_12)); goto L_088AFAA8; L_088AFAA8: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_19 + static_cast(130)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[19] + static_cast(130)))))); aot_gpr_4 = (aot_gpr_4 & 2u); if (aot_gpr_4 == 0u) { - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_19 + static_cast(130)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[19] + static_cast(130)))))); goto L_088AFB64; } goto L_088AFAB8; @@ -7997,18 +7998,18 @@ L_088AFAB8: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); // nop if (!((ctx.fcr31 & 0x00800000u) != 0u)) { - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_19 + static_cast(130)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[19] + static_cast(130)))))); goto L_088AFB64; } goto L_088AFAF8; L_088AFAF8: - ctx.gpr[31] = (0x088AFB00u); + aot_gpr_31 = (0x088AFB00u); aot_gpr_4 = (ctx.gpr[22] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 321u, 0x08809958u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AFB00u) goto L_088AFB00; AOT_REGCACHE_SYNC_OUT(); return; L_088AFB00: if (ctx.gpr[2] == 0u) { - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_19 + static_cast(130)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[19] + static_cast(130)))))); goto L_088AFB64; } goto L_088AFB08; @@ -8022,7 +8023,7 @@ L_088AFB08: aot_gpr_4 = (16256u << 16u); aot_fpr_15 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (0u | 0u); - ctx.gpr[31] = (0x088AFB28u); + aot_gpr_31 = (0x088AFB28u); aot_fpr_14 = aot_fpr_14 + aot_fpr_15; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 519u, 0x08893460u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AFB28u) goto L_088AFB28; AOT_REGCACHE_SYNC_OUT(); return; @@ -8042,32 +8043,32 @@ L_088AFB3C: aot_fpr_13 = std::bit_cast(aot_gpr_4); { const float fs = ctx.fpr[20]; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_fpr_12 = aot_fpr_12 - aot_fpr_13; - aot_mem.aot_direct_store32(aot_gpr_19 + static_cast(56), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(56), std::bit_cast(aot_fpr_12)); goto L_088AFB50; L_088AFB50: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_19 + static_cast(130)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[19] + static_cast(130)))))); aot_gpr_5 = (0u + static_cast(-3)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); - aot_mem.aot_direct_store8(aot_gpr_19 + static_cast(130), static_cast(aot_gpr_4)); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_19 + static_cast(130)))))); + aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(130), static_cast(aot_gpr_4)); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[19] + static_cast(130)))))); goto L_088AFB64; L_088AFB64: aot_gpr_5 = (0u + static_cast(-5)); aot_gpr_4 = (aot_gpr_4 | 1u); - aot_mem.aot_direct_store8(aot_gpr_19 + static_cast(130), static_cast(aot_gpr_4)); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_19 + static_cast(130)))))); + aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(130), static_cast(aot_gpr_4)); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[19] + static_cast(130)))))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(748))); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_4 = (aot_gpr_4 | aot_gpr_6); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_19 + static_cast(130), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(130), static_cast(aot_gpr_4)); if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0043_entry, 43u, 17u, 0x088B0198u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_088AFB88; } L_088AFB88: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_19 + static_cast(88))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(88))); ctx.gpr[20] = (0u | 6u); ctx.gpr[23] = (0u | 8u); { const bool branch_taken = aot_gpr_4 == 0u; @@ -8078,8 +8079,8 @@ L_088AFB88: goto L_088AFB9C; } L_088AFB9C: - ctx.gpr[31] = (0x088AFBA4u); - aot_gpr_4 = (aot_gpr_19 | 0u); + aot_gpr_31 = (0x088AFBA4u); + aot_gpr_4 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0041_entry, 41u, 491u, 0x088AB3B0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AFBA4u) goto L_088AFBA4; AOT_REGCACHE_SYNC_OUT(); return; L_088AFBA4: @@ -8090,11 +8091,11 @@ L_088AFBA4: ctx.gpr[10] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(742))); ctx.gpr[2] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(744)))))); ctx.gpr[11] = (aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(746))); - aot_gpr_4 = (aot_gpr_19 | 0u); + aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (aot_gpr_16 | 0u); aot_gpr_6 = (ctx.gpr[21] | 0u); ctx.gpr[9] = (ctx.gpr[30] | 0u); - ctx.gpr[31] = (0x088AFBD8u); + aot_gpr_31 = (0x088AFBD8u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[2]); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0041_entry, 41u, 475u, 0x088AB20Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AFBD8u) goto L_088AFBD8; AOT_REGCACHE_SYNC_OUT(); return; @@ -8143,7 +8144,7 @@ L_088AFBF4: goto L_088AFC30; } L_088AFC30: - ctx.gpr[31] = (0x088AFC38u); + aot_gpr_31 = (0x088AFC38u); aot_gpr_4 = (ctx.gpr[22] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 321u, 0x08809958u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AFC38u) goto L_088AFC38; AOT_REGCACHE_SYNC_OUT(); return; @@ -8165,7 +8166,7 @@ L_088AFC40: aot_gpr_4 = (16256u << 16u); aot_fpr_15 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (0u | 0u); - ctx.gpr[31] = (0x088AFC60u); + aot_gpr_31 = (0x088AFC60u); aot_fpr_14 = aot_fpr_14 + aot_fpr_15; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 519u, 0x08893460u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AFC60u) goto L_088AFC60; AOT_REGCACHE_SYNC_OUT(); return; @@ -8188,20 +8189,20 @@ L_088AFC74: aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(8), std::bit_cast(aot_fpr_12)); goto L_088AFC88; L_088AFC88: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_19 + static_cast(130)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[19] + static_cast(130)))))); aot_gpr_5 = (0u + static_cast(-3)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_19 + static_cast(130), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(130), static_cast(aot_gpr_4)); if (branch_taken) { goto L_088AFCA8; } goto L_088AFC9C; } L_088AFC9C: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_19 + static_cast(130)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[19] + static_cast(130)))))); aot_gpr_4 = (aot_gpr_4 | 2u); - aot_mem.aot_direct_store8(aot_gpr_19 + static_cast(130), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(130), static_cast(aot_gpr_4)); goto L_088AFCA8; L_088AFCA8: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[24] <= ctx.fpr[26])) ? 0x00800000u : 0u); @@ -8215,15 +8216,15 @@ L_088AFCA8: } L_088AFCB8: { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_19 + static_cast(120), std::bit_cast(ctx.fpr[24])); + aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(120), std::bit_cast(ctx.fpr[24])); if (branch_taken) { goto L_088AFCC8; } goto L_088AFCC0; } L_088AFCC0: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_19 + static_cast(108))); - aot_mem.aot_direct_store32(aot_gpr_19 + static_cast(120), std::bit_cast(aot_fpr_12)); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(108))); + aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(120), std::bit_cast(aot_fpr_12)); goto L_088AFCC8; L_088AFCC8: { std::uint32_t aot_run_words[3]{}; @@ -8232,8 +8233,8 @@ L_088AFCC8: aot_fpr_13 = std::bit_cast(aot_run_words[1]); aot_fpr_14 = std::bit_cast(aot_run_words[2]); } - ctx.gpr[31] = (0x088AFCDCu); - aot_gpr_4 = (aot_gpr_19 | 0u); + aot_gpr_31 = (0x088AFCDCu); + aot_gpr_4 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 943u, 0x0885FFE4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AFCDCu) goto L_088AFCDC; AOT_REGCACHE_SYNC_OUT(); return; L_088AFCDC: @@ -8248,17 +8249,17 @@ L_088AFCE4: aot_gpr_4 = (16457u << 16u); aot_gpr_4 = (aot_gpr_4 | 4059u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - ctx.gpr[31] = (0x088AFCF8u); - aot_gpr_4 = (aot_gpr_19 | 0u); + aot_gpr_31 = (0x088AFCF8u); + aot_gpr_4 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 924u, 0x0885FB5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AFCF8u) goto L_088AFCF8; AOT_REGCACHE_SYNC_OUT(); return; L_088AFCF8: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(0))); - aot_mem.aot_direct_store32(aot_gpr_19 + static_cast(48), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(48), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(4))); - aot_mem.aot_direct_store32(aot_gpr_19 + static_cast(52), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(52), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(8))); - aot_mem.aot_direct_store32(aot_gpr_19 + static_cast(56), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(56), std::bit_cast(aot_fpr_12)); goto L_088AFD10; L_088AFD10: { const bool branch_taken = ctx.gpr[21] == ctx.gpr[18]; @@ -8335,7 +8336,7 @@ L_088AFD74: aot_fpr_12 = aot_fpr_12 / aot_fpr_14; aot_fpr_12 = ctx.fpr[20] - aot_fpr_12; { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_19 + static_cast(104), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(104), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_088AFDA4; } @@ -8344,17 +8345,17 @@ L_088AFD74: L_088AFD94: aot_fpr_12 = ctx.fpr[20] - aot_fpr_13; { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_19 + static_cast(104), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(104), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_088AFDA4; } goto L_088AFDA0; } L_088AFDA0: - aot_mem.aot_direct_store32(aot_gpr_19 + static_cast(104), std::bit_cast(ctx.fpr[20])); + aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(104), std::bit_cast(ctx.fpr[20])); goto L_088AFDA4; L_088AFDA4: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_19 + static_cast(104))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(104))); aot_gpr_4 = (16000u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(8))); @@ -8386,13 +8387,13 @@ L_088AFDE8: aot_gpr_4 = (48818u << 16u); aot_gpr_4 = (aot_gpr_4 | 47299u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - ctx.gpr[31] = (0x088AFDFCu); - aot_gpr_4 = (aot_gpr_19 | 0u); + aot_gpr_31 = (0x088AFDFCu); + aot_gpr_4 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 917u, 0x0885F9B0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AFDFCu) goto L_088AFDFC; AOT_REGCACHE_SYNC_OUT(); return; L_088AFDFC: { const std::uint32_t aot_run_words[4]{std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[20])}; - aot_mem.aot_direct_store32_block(aot_gpr_19 + static_cast(48), aot_run_words); } + aot_mem.aot_direct_store32_block(ctx.gpr[19] + static_cast(48), aot_run_words); } goto L_088AFE0C; L_088AFE0C: { const bool branch_taken = ctx.gpr[21] != ctx.gpr[23]; @@ -8463,7 +8464,7 @@ L_088AFE14: { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[20])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(496), aot_run_words); } aot_gpr_4 = (ctx.gpr[17] | 0u); - ctx.gpr[31] = (0x088AFE68u); + aot_gpr_31 = (0x088AFE68u); aot_gpr_5 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 456u, 0x08A93144u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088AFE68u) goto L_088AFE68; AOT_REGCACHE_SYNC_OUT(); return; diff --git a/profiles/vcs/generated/generated_unit_0043.cpp b/profiles/vcs/generated/generated_unit_0043.cpp index 4660687..aa9717f 100644 --- a/profiles/vcs/generated/generated_unit_0043.cpp +++ b/profiles/vcs/generated/generated_unit_0043.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include "vcs_tier2_superblocks.hpp" #include #include @@ -139,20 +140,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0043[4096] = { }; void recomp_unit_0043_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,29,5,6,17,18 fprs=12,13,14,16 gpr_occ=2702 fpr_occ=1376 gpr_total=3845 fpr_total=1866 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,29,5,6,31,2 fprs=12,13,14,16 gpr_occ=2606 fpr_occ=1379 gpr_total=4000 fpr_total=1870 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_6 = ctx.gpr[6]; - std::uint32_t aot_gpr_17 = ctx.gpr[17]; - std::uint32_t aot_gpr_18 = ctx.gpr[18]; + std::uint32_t aot_gpr_31 = ctx.gpr[31]; + std::uint32_t aot_gpr_2 = ctx.gpr[2]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_14 = ctx.fpr[14]; float aot_fpr_16 = ctx.fpr[16]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[29] = aot_gpr_29; ctx.gpr[5] = aot_gpr_5; ctx.gpr[6] = aot_gpr_6; ctx.gpr[17] = aot_gpr_17; ctx.gpr[18] = aot_gpr_18; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[16] = aot_fpr_16; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_17 = ctx.gpr[17]; aot_gpr_18 = ctx.gpr[18]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_16 = ctx.fpr[16]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[29] = aot_gpr_29; ctx.gpr[5] = aot_gpr_5; ctx.gpr[6] = aot_gpr_6; ctx.gpr[31] = aot_gpr_31; ctx.gpr[2] = aot_gpr_2; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[16] = aot_fpr_16; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_2 = ctx.gpr[2]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_16 = ctx.fpr[16]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -705,13 +706,13 @@ L_088B0000: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(472), std::bit_cast(ctx.fpr[26])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(476), std::bit_cast(ctx.fpr[20])); aot_gpr_4 = (ctx.gpr[16] | 0u); - ctx.gpr[31] = (0x088B0064u); + aot_gpr_31 = (0x088B0064u); aot_gpr_5 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 10u, 0x088603A0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B0064u) goto L_088B0064; AOT_REGCACHE_SYNC_OUT(); return; L_088B0064: aot_gpr_4 = (ctx.gpr[19] | 0u); - ctx.gpr[31] = (0x088B0070u); + aot_gpr_31 = (0x088B0070u); aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 7u, 0x08860358u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B0070u) goto L_088B0070; AOT_REGCACHE_SYNC_OUT(); return; @@ -735,7 +736,7 @@ L_088B0080: goto L_088B008C; } L_088B008C: - ctx.gpr[31] = (0x088B0094u); + aot_gpr_31 = (0x088B0094u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(480))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 129u, 0x089D89E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B0094u) goto L_088B0094; AOT_REGCACHE_SYNC_OUT(); return; @@ -840,7 +841,7 @@ L_088B0164: aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(95), static_cast(aot_gpr_4)); goto L_088B016C; L_088B016C: - ctx.gpr[31] = (0x088B0174u); + aot_gpr_31 = (0x088B0174u); aot_gpr_4 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 936u, 0x0885FF14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B0174u) goto L_088B0174; AOT_REGCACHE_SYNC_OUT(); return; @@ -856,7 +857,7 @@ L_088B0174: aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(130), static_cast(aot_gpr_4)); goto L_088B0198; L_088B0198: - ctx.gpr[2] = (ctx.gpr[19] | 0u); + aot_gpr_2 = (ctx.gpr[19] | 0u); goto L_088B019C; L_088B019C: ctx.fpr[20] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(752))); @@ -866,16 +867,16 @@ L_088B019C: ctx.fpr[28] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(768))); ctx.fpr[30] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(772))); ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(776))); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(780))); - aot_gpr_18 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(784))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(780))); + ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(784))); ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(788))); ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(792))); ctx.gpr[21] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(796))); ctx.gpr[22] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(800))); ctx.gpr[23] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(804))); ctx.gpr[30] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(808))); - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(812))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(812))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(816)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -890,10 +891,10 @@ L_088B01E4: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), std::bit_cast(ctx.fpr[26])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), std::bit_cast(ctx.fpr[28])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), ctx.gpr[16]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), aot_gpr_17); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(60), aot_gpr_18); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), ctx.gpr[17]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(60), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), ctx.gpr[19]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), aot_gpr_31); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -904,13 +905,13 @@ L_088B01E4: L_088B021C: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-24785))); ctx.fpr[22] = std::bit_cast(0u); - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_4 = (aot_gpr_4 ^ 1u); aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-24785), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-8740))); aot_gpr_5 = (16928u << 16u); - aot_gpr_6 = (static_cast(aot_gpr_17) < static_cast(aot_gpr_4) ? 1u : 0u); + aot_gpr_6 = (static_cast(ctx.gpr[17]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_6 == 0u; ctx.fpr[20] = std::bit_cast(aot_gpr_5); if (branch_taken) { @@ -927,20 +928,20 @@ L_088B024C: aot_gpr_5 = (aot_gpr_5 ^ 1u); aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-24785), static_cast(aot_gpr_5)); - ctx.gpr[31] = (0x088B0268u); + aot_gpr_31 = (0x088B0268u); aot_gpr_5 = (0u | 5u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B0268u) goto L_088B0268; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B0268u) goto L_088B0268; AOT_REGCACHE_SYNC_OUT(); return; L_088B0268: aot_gpr_4 = (0u | 9u); - ctx.gpr[31] = (0x088B0274u); + aot_gpr_31 = (0x088B0274u); aot_gpr_5 = (0u | 6u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B0274u) goto L_088B0274; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B0274u) goto L_088B0274; AOT_REGCACHE_SYNC_OUT(); return; L_088B0274: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-24785))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-8744))); - aot_gpr_4 = (aot_gpr_17 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[17] + aot_gpr_4); aot_gpr_6 = (aot_gpr_4 + static_cast(2)); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_13 = std::bit_cast(aot_gpr_5); @@ -952,39 +953,39 @@ L_088B0274: ctx.fpr[26] = static_cast(static_cast(std::bit_cast(aot_fpr_13))); ctx.gpr[7] = (0u | 200u); ctx.fpr[28] = static_cast(static_cast(std::bit_cast(aot_fpr_14))); - ctx.gpr[31] = (0x088B02B4u); + aot_gpr_31 = (0x088B02B4u); ctx.gpr[8] = (0u | 30u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B02B4u) goto L_088B02B4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B02B4u) goto L_088B02B4; AOT_REGCACHE_SYNC_OUT(); return; L_088B02B4: aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[22])); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[24])); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[26])); ctx.fpr[15] = std::bit_cast(std::bit_cast(ctx.fpr[24])); aot_fpr_16 = std::bit_cast(std::bit_cast(ctx.fpr[22])); ctx.fpr[17] = std::bit_cast(std::bit_cast(ctx.fpr[28])); ctx.fpr[18] = std::bit_cast(std::bit_cast(ctx.fpr[26])); - ctx.gpr[31] = (0x088B02DCu); + aot_gpr_31 = (0x088B02DCu); ctx.fpr[19] = std::bit_cast(std::bit_cast(ctx.fpr[28])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 124u, 0x08AF5238u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B02DCu) goto L_088B02DC; AOT_REGCACHE_SYNC_OUT(); return; L_088B02DC: aot_gpr_4 = (0u | 8u); - ctx.gpr[31] = (0x088B02E8u); + aot_gpr_31 = (0x088B02E8u); aot_gpr_5 = (0u | 5u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B02E8u) goto L_088B02E8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B02E8u) goto L_088B02E8; AOT_REGCACHE_SYNC_OUT(); return; L_088B02E8: aot_gpr_4 = (0u | 9u); - ctx.gpr[31] = (0x088B02F4u); + aot_gpr_31 = (0x088B02F4u); aot_gpr_5 = (0u | 6u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B02F4u) goto L_088B02F4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B02F4u) goto L_088B02F4; AOT_REGCACHE_SYNC_OUT(); return; L_088B02F4: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-8744))); - aot_gpr_4 = (aot_gpr_17 + static_cast(2)); - aot_gpr_6 = (aot_gpr_17 + static_cast(3)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(2)); + aot_gpr_6 = (ctx.gpr[17] + static_cast(3)); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_13 = std::bit_cast(aot_gpr_5); aot_gpr_4 = (ctx.gpr[16] | 0u); @@ -995,27 +996,27 @@ L_088B02F4: ctx.fpr[26] = static_cast(static_cast(std::bit_cast(aot_fpr_13))); ctx.gpr[7] = (0u | 0u); ctx.fpr[28] = static_cast(static_cast(std::bit_cast(aot_fpr_14))); - ctx.gpr[31] = (0x088B0330u); + aot_gpr_31 = (0x088B0330u); ctx.gpr[8] = (0u | 30u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B0330u) goto L_088B0330; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B0330u) goto L_088B0330; AOT_REGCACHE_SYNC_OUT(); return; L_088B0330: aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[22])); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[24])); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[26])); ctx.fpr[15] = std::bit_cast(std::bit_cast(ctx.fpr[24])); aot_fpr_16 = std::bit_cast(std::bit_cast(ctx.fpr[22])); ctx.fpr[17] = std::bit_cast(std::bit_cast(ctx.fpr[28])); ctx.fpr[18] = std::bit_cast(std::bit_cast(ctx.fpr[26])); - ctx.gpr[31] = (0x088B0358u); + aot_gpr_31 = (0x088B0358u); ctx.fpr[19] = std::bit_cast(std::bit_cast(ctx.fpr[28])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 124u, 0x08AF5238u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B0358u) goto L_088B0358; AOT_REGCACHE_SYNC_OUT(); return; L_088B0358: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-8740))); - aot_gpr_17 = (aot_gpr_17 + static_cast(4)); - aot_gpr_5 = (static_cast(aot_gpr_17) < static_cast(aot_gpr_4) ? 1u : 0u); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(4)); + aot_gpr_5 = (static_cast(ctx.gpr[17]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 != 0u; // nop if (branch_taken) { @@ -1055,15 +1056,15 @@ L_088B03A4: aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); aot_fpr_13 = aot_fpr_14 - ctx.fpr[20]; aot_fpr_13 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_13)); - ctx.gpr[31] = (0x088B03D0u); + aot_gpr_31 = (0x088B03D0u); ctx.gpr[16] = (std::bit_cast(aot_fpr_13)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B03D0u) goto L_088B03D0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B03D0u) goto L_088B03D0; AOT_REGCACHE_SYNC_OUT(); return; L_088B03D0: aot_gpr_4 = (0u | 9u); - ctx.gpr[31] = (0x088B03DCu); + aot_gpr_31 = (0x088B03DCu); aot_gpr_5 = (0u | 6u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B03DCu) goto L_088B03DC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B03DCu) goto L_088B03DC; AOT_REGCACHE_SYNC_OUT(); return; L_088B03DC: aot_fpr_12 = std::bit_cast(ctx.gpr[16]); @@ -1076,81 +1077,81 @@ L_088B03DC: aot_gpr_5 = (0u | 0u); ctx.gpr[7] = (0u | 0u); ctx.fpr[20] = ctx.fpr[24] + ctx.fpr[20]; - ctx.gpr[31] = (0x088B040Cu); + aot_gpr_31 = (0x088B040Cu); ctx.gpr[8] = (0u | 60u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B040Cu) goto L_088B040C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B040Cu) goto L_088B040C; AOT_REGCACHE_SYNC_OUT(); return; L_088B040C: aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[22])); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[24])); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[26])); ctx.fpr[15] = std::bit_cast(std::bit_cast(ctx.fpr[24])); aot_fpr_16 = std::bit_cast(std::bit_cast(ctx.fpr[22])); ctx.fpr[17] = std::bit_cast(std::bit_cast(ctx.fpr[20])); ctx.fpr[18] = std::bit_cast(std::bit_cast(ctx.fpr[26])); - ctx.gpr[31] = (0x088B0434u); + aot_gpr_31 = (0x088B0434u); ctx.fpr[19] = std::bit_cast(std::bit_cast(ctx.fpr[20])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 124u, 0x08AF5238u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B0434u) goto L_088B0434; AOT_REGCACHE_SYNC_OUT(); return; L_088B0434: - aot_gpr_18 = (0u | 0u); - aot_gpr_17 = (aot_gpr_29 + static_cast(8)); + ctx.gpr[18] = (0u | 0u); + ctx.gpr[17] = (aot_gpr_29 + static_cast(8)); ctx.gpr[16] = (aot_gpr_29 + static_cast(24)); goto L_088B0440; L_088B0440: - ctx.gpr[31] = (0x088B0448u); + aot_gpr_31 = (0x088B0448u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B0448u) goto L_088B0448; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B0448u) goto L_088B0448; AOT_REGCACHE_SYNC_OUT(); return; L_088B0448: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-8744))); - aot_gpr_5 = (ctx.gpr[2] & 65535u); + aot_gpr_5 = (aot_gpr_2 & 65535u); { const std::int32_t dividend = static_cast(aot_gpr_5); const std::int32_t divisor = static_cast(aot_gpr_4); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } ctx.gpr[19] = (ctx.hi); - ctx.gpr[31] = (0x088B0460u); + aot_gpr_31 = (0x088B0460u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B0460u) goto L_088B0460; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B0460u) goto L_088B0460; AOT_REGCACHE_SYNC_OUT(); return; L_088B0460: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-8740))); - aot_gpr_5 = (ctx.gpr[2] & 65535u); + aot_gpr_5 = (aot_gpr_2 & 65535u); { const std::int32_t dividend = static_cast(aot_gpr_5); const std::int32_t divisor = static_cast(aot_gpr_4); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } aot_fpr_12 = std::bit_cast(ctx.gpr[19]); aot_gpr_4 = (ctx.gpr[19] + static_cast(10)); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_fpr_14 = std::bit_cast(aot_gpr_4); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); aot_gpr_5 = (ctx.hi); aot_fpr_13 = std::bit_cast(aot_gpr_5); aot_gpr_5 = (aot_gpr_5 + static_cast(2)); aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_13))); ctx.fpr[15] = std::bit_cast(aot_gpr_5); - ctx.gpr[31] = (0x088B04A0u); + aot_gpr_31 = (0x088B04A0u); ctx.fpr[15] = static_cast(static_cast(std::bit_cast(ctx.fpr[15]))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B04A0u) goto L_088B04A0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, ctx.fpr[15]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B04A0u) goto L_088B04A0; AOT_REGCACHE_SYNC_OUT(); return; L_088B04A0: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 255u); aot_gpr_6 = (0u | 255u); ctx.gpr[7] = (0u | 255u); - ctx.gpr[31] = (0x088B04BCu); + aot_gpr_31 = (0x088B04BCu); ctx.gpr[8] = (0u | 10u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B04BCu) goto L_088B04BC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B04BCu) goto L_088B04BC; AOT_REGCACHE_SYNC_OUT(); return; L_088B04BC: aot_gpr_4 = (ctx.gpr[19] | 0u); - aot_gpr_5 = (ctx.gpr[2] | 0u); - ctx.gpr[31] = (0x088B04CCu); + aot_gpr_5 = (aot_gpr_2 | 0u); + aot_gpr_31 = (0x088B04CCu); aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 107u, 0x08AF5130u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B04CCu) goto L_088B04CC; AOT_REGCACHE_SYNC_OUT(); return; L_088B04CC: - aot_gpr_18 = (aot_gpr_18 + static_cast(1)); - aot_gpr_4 = (static_cast(aot_gpr_18) < 200 ? 1u : 0u); + ctx.gpr[18] = (ctx.gpr[18] + static_cast(1)); + aot_gpr_4 = (static_cast(ctx.gpr[18]) < 200 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -1186,29 +1187,29 @@ L_088B0504: ctx.gpr[7] = (0u | 24576u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-24916), aot_gpr_4); - aot_gpr_18 = (ctx.lo); + ctx.gpr[18] = (ctx.lo); // nop // nop { const std::int32_t dividend = static_cast(ctx.gpr[7]); const std::int32_t divisor = static_cast(aot_gpr_6); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } - aot_gpr_17 = (ctx.lo); - ctx.gpr[31] = (0x088B0534u); - ctx.gpr[19] = (static_cast(static_cast(aot_gpr_18) >> 31u)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B0534u) goto L_088B0534; + ctx.gpr[17] = (ctx.lo); + aot_gpr_31 = (0x088B0534u); + ctx.gpr[19] = (static_cast(static_cast(ctx.gpr[18]) >> 31u)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B0534u) goto L_088B0534; AOT_REGCACHE_SYNC_OUT(); return; L_088B0534: - aot_gpr_6 = (aot_gpr_17 - aot_gpr_18); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (ctx.gpr[17] - ctx.gpr[18]); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 0u); - ctx.gpr[31] = (0x088B0548u); + aot_gpr_31 = (0x088B0548u); ctx.gpr[7] = (static_cast(static_cast(aot_gpr_6) >> 31u)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B0548u) goto L_088B0548; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B0548u) goto L_088B0548; AOT_REGCACHE_SYNC_OUT(); return; L_088B0548: ctx.gpr[1] = (ctx.gpr[3] << 1u); - aot_gpr_4 = (ctx.gpr[2] >> 31u); + aot_gpr_4 = (aot_gpr_2 >> 31u); aot_gpr_5 = (static_cast(static_cast(ctx.gpr[3]) >> 31u)); aot_gpr_4 = (ctx.gpr[1] | aot_gpr_4); - aot_gpr_6 = (aot_gpr_18 + aot_gpr_4); + aot_gpr_6 = (ctx.gpr[18] + aot_gpr_4); ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-24920))); ctx.gpr[7] = (aot_gpr_6 < aot_gpr_4 ? 1u : 0u); aot_fpr_12 = std::bit_cast(ctx.gpr[8]); @@ -1223,9 +1224,9 @@ L_088B0548: { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[20] = std::bit_cast(0x7FC00000u); else ctx.fpr[20] = fs * ft; } aot_gpr_4 = (aot_gpr_4 | 52429u); aot_gpr_5 = (ctx.gpr[7] + aot_gpr_5); - ctx.gpr[31] = (0x088B059Cu); + aot_gpr_31 = (0x088B059Cu); ctx.fpr[22] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B059Cu) goto L_088B059C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B059Cu) goto L_088B059C; AOT_REGCACHE_SYNC_OUT(); return; L_088B059C: aot_fpr_14 = ctx.fpr[20] - ctx.fpr[22]; @@ -1366,13 +1367,13 @@ L_088B0710: aot_gpr_4 = (16256u << 16u); aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-24896), static_cast(0u)); aot_fpr_12 = std::bit_cast(aot_gpr_4); - ctx.gpr[31] = (0x088B0724u); + aot_gpr_31 = (0x088B0724u); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7672), std::bit_cast(aot_fpr_12)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B0724u) goto L_088B0724; AOT_REGCACHE_SYNC_OUT(); return; L_088B0724: - ctx.gpr[31] = (0x088B072Cu); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_31 = (0x088B072Cu); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0055_entry, 55u, 261u, 0x088E29C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B072Cu) goto L_088B072C; AOT_REGCACHE_SYNC_OUT(); return; L_088B072C: @@ -1402,15 +1403,15 @@ L_088B0744: aot_gpr_4 = (0u | 8u); aot_gpr_5 = (0u | 2u); ctx.gpr[7] = (ctx.lo); - ctx.gpr[31] = (0x088B076Cu); + aot_gpr_31 = (0x088B076Cu); ctx.gpr[16] = (aot_gpr_6 - ctx.gpr[7]); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B076Cu) goto L_088B076C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B076Cu) goto L_088B076C; AOT_REGCACHE_SYNC_OUT(); return; L_088B076C: aot_gpr_4 = (0u | 9u); - ctx.gpr[31] = (0x088B0778u); + aot_gpr_31 = (0x088B0778u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B0778u) goto L_088B0778; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B0778u) goto L_088B0778; AOT_REGCACHE_SYNC_OUT(); return; L_088B0778: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-8744))); @@ -1423,34 +1424,34 @@ L_088B0778: aot_gpr_6 = (aot_gpr_5 | 0u); ctx.fpr[24] = static_cast(static_cast(std::bit_cast(aot_fpr_13))); ctx.gpr[7] = (aot_gpr_5 | 0u); - ctx.gpr[31] = (0x088B07A8u); + aot_gpr_31 = (0x088B07A8u); ctx.gpr[8] = (aot_gpr_5 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B07A8u) goto L_088B07A8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B07A8u) goto L_088B07A8; AOT_REGCACHE_SYNC_OUT(); return; L_088B07A8: aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[22])); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[22])); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[20])); ctx.fpr[15] = std::bit_cast(std::bit_cast(ctx.fpr[22])); aot_fpr_16 = std::bit_cast(std::bit_cast(ctx.fpr[22])); ctx.fpr[17] = std::bit_cast(std::bit_cast(ctx.fpr[24])); ctx.fpr[18] = std::bit_cast(std::bit_cast(ctx.fpr[20])); - ctx.gpr[31] = (0x088B07D0u); + aot_gpr_31 = (0x088B07D0u); ctx.fpr[19] = std::bit_cast(std::bit_cast(ctx.fpr[24])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 124u, 0x08AF5238u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B07D0u) goto L_088B07D0; AOT_REGCACHE_SYNC_OUT(); return; L_088B07D0: aot_gpr_4 = (0u | 8u); - ctx.gpr[31] = (0x088B07DCu); + aot_gpr_31 = (0x088B07DCu); aot_gpr_5 = (0u | 5u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B07DCu) goto L_088B07DC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B07DCu) goto L_088B07DC; AOT_REGCACHE_SYNC_OUT(); return; L_088B07DC: aot_gpr_4 = (0u | 9u); - ctx.gpr[31] = (0x088B07E8u); + aot_gpr_31 = (0x088B07E8u); aot_gpr_5 = (0u | 6u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B07E8u) goto L_088B07E8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B07E8u) goto L_088B07E8; AOT_REGCACHE_SYNC_OUT(); return; L_088B07E8: ctx.fpr[20] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(32))); @@ -1459,11 +1460,11 @@ L_088B07E8: ctx.fpr[26] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(44))); ctx.fpr[28] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(48))); ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(52))); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(56))); - aot_gpr_18 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(60))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(56))); + ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(60))); ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(68))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(68))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(80)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -1476,8 +1477,8 @@ L_088B0818: aot_gpr_5 = (0u | 4u); aot_gpr_6 = (0u | 128u); aot_gpr_4 = (aot_gpr_4 + static_cast(5232)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[31]); - ctx.gpr[31] = (0x088B083Cu); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); + aot_gpr_31 = (0x088B083Cu); ctx.gpr[7] = (ctx.gpr[7] + static_cast(-21256)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 158u, 0x08B60C7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B083Cu) goto L_088B083C; AOT_REGCACHE_SYNC_OUT(); return; @@ -1487,18 +1488,18 @@ L_088B083C: aot_gpr_5 = (0u | 32u); aot_gpr_6 = (0u | 144u); aot_gpr_4 = (aot_gpr_4 + static_cast(11888)); - ctx.gpr[31] = (0x088B0858u); + aot_gpr_31 = (0x088B0858u); ctx.gpr[7] = (ctx.gpr[7] + static_cast(-18968)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 158u, 0x08B60C7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B0858u) goto L_088B0858; AOT_REGCACHE_SYNC_OUT(); return; L_088B0858: - ctx.gpr[31] = (0x088B0860u); + aot_gpr_31 = (0x088B0860u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-24784)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B0860u) goto L_088B0860; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B0860u) goto L_088B0860; AOT_REGCACHE_SYNC_OUT(); return; L_088B0860: - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -1556,7 +1557,7 @@ L_088B086C: const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; // nop local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -1586,7 +1587,7 @@ L_088B0894: const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; // nop local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -1595,26 +1596,26 @@ L_088B0894: L_088B08AC: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_18); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[19]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[22]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[23]); - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(32))); + aot_gpr_2 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(32))); ctx.gpr[3] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(36))); ctx.gpr[16] = (ctx.gpr[8] | 0u); - aot_gpr_17 = (aot_gpr_6 | 0u); - aot_gpr_18 = (aot_gpr_4 | 0u); + ctx.gpr[17] = (aot_gpr_6 | 0u); + ctx.gpr[18] = (aot_gpr_4 | 0u); ctx.gpr[19] = (aot_gpr_5 | 0u); ctx.gpr[25] = (ctx.gpr[7] | 0u); - ctx.gpr[15] = (ctx.gpr[31] | 0u); + ctx.gpr[15] = (aot_gpr_31 | 0u); ctx.gpr[22] = (0u + static_cast(0)); aot_gpr_6 = (ctx.gpr[9] | 0u); aot_gpr_5 = (ctx.gpr[10] | 0u); ctx.gpr[23] = (ctx.gpr[11] | 0u); - ctx.gpr[7] = (ctx.gpr[2] | 0u); + ctx.gpr[7] = (aot_gpr_2 | 0u); ctx.gpr[3] = (ctx.gpr[3] | 0u); - { const bool branch_taken = aot_gpr_18 == ctx.gpr[19]; + { const bool branch_taken = ctx.gpr[18] == ctx.gpr[19]; ctx.gpr[24] = (0u | 0u); if (branch_taken) { goto L_088B094C; @@ -1622,7 +1623,7 @@ L_088B08AC: goto L_088B0908; } L_088B0908: - { const std::uint32_t vfpu_address = aot_gpr_18 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -1631,7 +1632,7 @@ L_088B0908: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<2u, 4u>(vfpu_value); } - aot_gpr_18 = (aot_gpr_18 + static_cast(16)); + ctx.gpr[18] = (ctx.gpr[18] + static_cast(16)); ctx.execute_vfpu_vx2i_ct<0u, 2u, 2u, 3u>(); ctx.execute_vfpu_vx2i_ct<1u, 66u, 2u, 3u>(); ctx.execute_vfpu_vi2f_ct<0u, 0u, 3u, 23u>(); @@ -1656,8 +1657,8 @@ L_088B0934: goto L_088B0940; } L_088B0940: - ctx.gpr[24] = (aot_mem.aot_direct_load16(aot_gpr_18 + static_cast(-10))); - ctx.gpr[25] = (aot_mem.aot_direct_load16(aot_gpr_18 + static_cast(-2))); + ctx.gpr[24] = (aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(-10))); + ctx.gpr[25] = (aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(-2))); ctx.gpr[25] = (ctx.gpr[25] + static_cast(1)); goto L_088B094C; L_088B094C: @@ -1813,11 +1814,11 @@ L_088B0AC8: goto L_088B0AD4; } L_088B0AD4: - ctx.gpr[31] = (0x088B0ADCu); + aot_gpr_31 = (0x088B0ADCu); // nop goto L_088B0BD0; L_088B0ADC: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088B0B28; @@ -1906,11 +1907,11 @@ L_088B0B4C: ctx.set_vfpu_scalar_bits_ct<127u>(aot_mem.aot_direct_load32(ctx.gpr[11] + static_cast(12))); aot_gpr_4 = (aot_gpr_4 + static_cast(32)); ctx.gpr[11] = (ctx.gpr[11] + static_cast(32)); - ctx.gpr[31] = (0x088B0B68u); + aot_gpr_31 = (0x088B0B68u); // nop goto L_088B0D44; L_088B0B68: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088B0B8C; @@ -1952,7 +1953,7 @@ L_088B0B98: goto L_088B0BA0; } L_088B0BA0: - { const bool branch_taken = aot_gpr_18 != ctx.gpr[19]; + { const bool branch_taken = ctx.gpr[18] != ctx.gpr[19]; // nop if (branch_taken) { goto L_088B0908; @@ -1960,22 +1961,22 @@ L_088B0BA0: goto L_088B0BA8; } L_088B0BA8: - ctx.gpr[2] = (ctx.gpr[22] | 0u); - ctx.gpr[31] = (ctx.gpr[15] | 0u); + aot_gpr_2 = (ctx.gpr[22] | 0u); + aot_gpr_31 = (ctx.gpr[15] | 0u); ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); - aot_gpr_18 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); ctx.gpr[22] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); ctx.gpr[23] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_088B0BD0: - ctx.gpr[2] = (0u + 0u); + aot_gpr_2 = (0u + 0u); ctx.execute_vfpu_vec3_ct<12u, 1u, 4u, 3u, 1u>(); ctx.execute_vfpu_vec3_ct<13u, 1u, 5u, 3u, 1u>(); ctx.execute_vfpu_cross_quat_ct<18u, 9u, 12u, 3u>(); @@ -2193,10 +2194,10 @@ L_088B0D2C: ctx.execute_vfpu_vec3_ct<24u, 26u, 20u, 3u, 0u>(); goto L_088B0D38; L_088B0D38: - ctx.gpr[2] = (ctx.gpr[2] + static_cast(1)); + aot_gpr_2 = (aot_gpr_2 + static_cast(1)); goto L_088B0D3C; L_088B0D3C: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; // nop local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -2271,15 +2272,15 @@ L_088B0D90: goto L_088B0DC4; } L_088B0DC4: - jump_target = ctx.gpr[31]; - ctx.gpr[2] = (0u + static_cast(1)); + jump_target = aot_gpr_31; + aot_gpr_2 = (0u + static_cast(1)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_088B0DCC: - jump_target = ctx.gpr[31]; - ctx.gpr[2] = (0u + 0u); + jump_target = aot_gpr_31; + aot_gpr_2 = (0u + 0u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -2341,7 +2342,7 @@ L_088B0E00: goto L_088B0E2C; } L_088B0E2C: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; // nop local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -2428,8 +2429,8 @@ L_088B0ECC: goto L_088B0ED4; } L_088B0ED4: - ctx.gpr[2] = (ctx.gpr[10] | 0u); - jump_target = ctx.gpr[31]; + aot_gpr_2 = (ctx.gpr[10] | 0u); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -2437,8 +2438,8 @@ L_088B0ED4: AOT_REGCACHE_SYNC_OUT(); return; L_088B0EE0: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_17); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_18); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[17]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[18]); ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(56))); ctx.gpr[7] = (2236u << 16u); ctx.gpr[9] = (ctx.gpr[7] + static_cast(-28352)); @@ -2459,10 +2460,10 @@ L_088B0F14: ctx.gpr[9] = (ctx.gpr[9] | 0u); aot_gpr_4 = (2235u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(28480)); - aot_gpr_17 = (aot_gpr_4 | 0u); + ctx.gpr[17] = (aot_gpr_4 | 0u); aot_gpr_6 = (aot_gpr_6 << 6u); - aot_gpr_18 = (aot_gpr_6 + aot_gpr_4); - aot_gpr_18 = (aot_gpr_18 | 0u); + ctx.gpr[18] = (aot_gpr_6 + aot_gpr_4); + ctx.gpr[18] = (ctx.gpr[18] | 0u); aot_gpr_4 = (aot_gpr_5 + static_cast(16)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; @@ -2533,10 +2534,10 @@ L_088B0F88: goto L_088B0F90; } L_088B0F90: - ctx.gpr[2] = (ctx.gpr[11] | 0u); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - aot_gpr_18 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); - jump_target = ctx.gpr[31]; + aot_gpr_2 = (ctx.gpr[11] | 0u); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -2617,8 +2618,8 @@ L_088B1014: goto L_088B101C; } L_088B101C: - ctx.gpr[2] = (ctx.gpr[11] | 0u); - jump_target = ctx.gpr[31]; + aot_gpr_2 = (ctx.gpr[11] | 0u); + jump_target = aot_gpr_31; // nop local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -2820,17 +2821,17 @@ L_088B10DC: aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(12), std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(0), std::bit_cast(aot_fpr_12)); { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_088B11D8; } goto L_088B11D4; } L_088B11D4: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_088B11D8; L_088B11D8: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(144)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -2910,7 +2911,7 @@ L_088B1268: } L_088B1270: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_088B12A0; } @@ -2918,7 +2919,7 @@ L_088B1270: } L_088B1278: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_088B12A0; } @@ -2937,17 +2938,17 @@ L_088B1280: } L_088B1294: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_088B12A0; } goto L_088B129C; } L_088B129C: - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); goto L_088B12A0; L_088B12A0: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; // nop local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -3150,7 +3151,7 @@ L_088B13EC: } L_088B13F4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_088B141C; } @@ -3169,17 +3170,17 @@ L_088B13FC: } L_088B1410: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_088B141C; } goto L_088B1418; } L_088B1418: - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); goto L_088B141C; L_088B141C: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(80)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -3436,7 +3437,7 @@ L_088B1548: ctx.fpr[0] = std::sqrt(aot_fpr_12); goto L_088B154C; L_088B154C: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(128)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -3600,7 +3601,7 @@ L_088B1638: } L_088B164C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_088B1778; } @@ -3608,7 +3609,7 @@ L_088B164C: } L_088B1654: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_088B1778; } @@ -3616,7 +3617,7 @@ L_088B1654: } L_088B165C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_088B1778; } @@ -3771,14 +3772,14 @@ L_088B1664: aot_mem.aot_direct_store8(aot_gpr_6 + static_cast(29), static_cast(aot_gpr_4)); aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(0), std::bit_cast(aot_fpr_12)); { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_088B1778; } goto L_088B1778; } L_088B1778: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(224)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -3863,9 +3864,9 @@ L_088B17B4: L_088B180C: // vflush: architectural no-op that retains VFPU prefixes aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<131u>()); - ctx.gpr[2] = (aot_gpr_4 & 16u); - jump_target = ctx.gpr[31]; - ctx.gpr[2] = (ctx.gpr[2] < static_cast(1) ? 1u : 0u); + aot_gpr_2 = (aot_gpr_4 & 16u); + jump_target = aot_gpr_31; + aot_gpr_2 = (aot_gpr_2 < static_cast(1) ? 1u : 0u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -3998,9 +3999,9 @@ L_088B187C: L_088B18D8: // vflush: architectural no-op that retains VFPU prefixes aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<131u>()); - ctx.gpr[2] = (aot_gpr_4 & 16u); - jump_target = ctx.gpr[31]; - ctx.gpr[2] = (ctx.gpr[2] < static_cast(1) ? 1u : 0u); + aot_gpr_2 = (aot_gpr_4 & 16u); + jump_target = aot_gpr_31; + aot_gpr_2 = (aot_gpr_2 < static_cast(1) ? 1u : 0u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -4008,24 +4009,24 @@ L_088B18D8: L_088B18EC: aot_gpr_29 = (aot_gpr_29 + static_cast(-128)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(84), ctx.gpr[16]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(88), aot_gpr_17); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(92), aot_gpr_18); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(88), ctx.gpr[17]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(92), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(96), ctx.gpr[19]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(100), ctx.gpr[20]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(104), ctx.gpr[21]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(108), ctx.gpr[22]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(112), ctx.gpr[23]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(116), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(116), aot_gpr_31); ctx.gpr[16] = (ctx.gpr[8] | 0u); - aot_gpr_17 = (ctx.gpr[7] | 0u); - aot_gpr_18 = (aot_gpr_6 | 0u); + ctx.gpr[17] = (ctx.gpr[7] | 0u); + ctx.gpr[18] = (aot_gpr_6 | 0u); ctx.gpr[21] = (aot_gpr_4 | 0u); ctx.gpr[22] = (aot_gpr_29 + static_cast(16)); ctx.gpr[23] = (aot_gpr_29 + static_cast(32)); - aot_gpr_4 = (aot_gpr_18 | 0u); + aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_6 = (aot_gpr_29 | 0u); ctx.gpr[7] = (ctx.gpr[22] | 0u); - ctx.gpr[31] = (0x088B1940u); + aot_gpr_31 = (0x088B1940u); ctx.gpr[8] = (ctx.gpr[23] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 44u, 0x08A9061Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B1940u) goto L_088B1940; AOT_REGCACHE_SYNC_OUT(); return; @@ -4038,11 +4039,11 @@ L_088B1940: aot_gpr_6 = (ctx.gpr[22] | 0u); ctx.gpr[7] = (ctx.gpr[23] | 0u); ctx.gpr[8] = (ctx.gpr[20] | 0u); - ctx.gpr[31] = (0x088B1968u); + aot_gpr_31 = (0x088B1968u); ctx.gpr[9] = (ctx.gpr[19] | 0u); goto L_088B1B74; L_088B1968: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088B1A04; @@ -4068,10 +4069,10 @@ L_088B1988: aot_gpr_5 = (std::bit_cast(aot_fpr_13)); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(8))); aot_gpr_6 = (std::bit_cast(aot_fpr_14)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(4), aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(8), aot_gpr_6); - aot_gpr_4 = (aot_gpr_17 + static_cast(16)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(4), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(8), aot_gpr_6); + aot_gpr_4 = (ctx.gpr[17] + static_cast(16)); ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(0))); aot_gpr_5 = (std::bit_cast(ctx.fpr[15])); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(4))); @@ -4081,37 +4082,37 @@ L_088B1988: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(8), ctx.gpr[7]); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_18 + static_cast(6))); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(30), static_cast(aot_gpr_4)); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(6))); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(30), static_cast(aot_gpr_4)); aot_gpr_4 = (0u | 0u); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(31), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(31), static_cast(aot_gpr_4)); aot_gpr_4 = (0u | 0u); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(28), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(28), static_cast(aot_gpr_4)); aot_gpr_4 = (0u | 0u); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(29), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(29), static_cast(aot_gpr_4)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(80))); aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), std::bit_cast(aot_fpr_12)); { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_088B1A08; } goto L_088B1A04; } L_088B1A04: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_088B1A08; L_088B1A08: ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(84))); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(88))); - aot_gpr_18 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(92))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(88))); + ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(92))); ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(96))); ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(100))); ctx.gpr[21] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(104))); ctx.gpr[22] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(108))); ctx.gpr[23] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(112))); - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(116))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(116))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(128)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -4120,18 +4121,18 @@ L_088B1A08: L_088B1A34: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_18); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[19]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); ctx.gpr[16] = (ctx.gpr[9] | 0u); - aot_gpr_17 = (aot_gpr_6 | 0u); - aot_gpr_18 = (aot_gpr_5 | 0u); - ctx.gpr[31] = (0x088B1A60u); + ctx.gpr[17] = (aot_gpr_6 | 0u); + ctx.gpr[18] = (aot_gpr_5 | 0u); + aot_gpr_31 = (0x088B1A60u); // nop goto L_088B18EC; L_088B1A60: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088B1A94; @@ -4149,9 +4150,9 @@ L_088B1A68: L_088B1A70: ctx.gpr[7] = (ctx.gpr[16] + static_cast(16)); ctx.gpr[8] = (ctx.gpr[16] + static_cast(32)); - aot_gpr_4 = (aot_gpr_17 | 0u); - aot_gpr_5 = (aot_gpr_18 | 0u); - ctx.gpr[31] = (0x088B1A88u); + aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_5 = (ctx.gpr[18] | 0u); + aot_gpr_31 = (0x088B1A88u); aot_gpr_6 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 44u, 0x08A9061Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B1A88u) goto L_088B1A88; AOT_REGCACHE_SYNC_OUT(); return; @@ -4160,22 +4161,22 @@ L_088B1A88: goto L_088B1A8C; L_088B1A8C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (ctx.gpr[19] | 0u); + aot_gpr_2 = (ctx.gpr[19] | 0u); if (branch_taken) { goto L_088B1A98; } goto L_088B1A94; } L_088B1A94: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_088B1A98; L_088B1A98: ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); - aot_gpr_18 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -4184,12 +4185,12 @@ L_088B1A98: L_088B1AB4: aot_gpr_29 = (aot_gpr_29 + static_cast(-96)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), ctx.gpr[16]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(72), aot_gpr_17); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(76), aot_gpr_18); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(80), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(72), ctx.gpr[17]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(76), ctx.gpr[18]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(80), aot_gpr_31); ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_6 + static_cast(48))); - aot_gpr_18 = (aot_gpr_4 | 0u); - aot_gpr_17 = (aot_gpr_5 | 0u); + ctx.gpr[18] = (aot_gpr_4 | 0u); + ctx.gpr[17] = (aot_gpr_5 | 0u); { const bool branch_taken = ctx.gpr[7] == 0u; ctx.gpr[16] = (aot_gpr_6 | 0u); if (branch_taken) { @@ -4198,7 +4199,7 @@ L_088B1AB4: goto L_088B1ADC; } L_088B1ADC: - { const std::uint32_t vfpu_address = aot_gpr_18 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -4211,7 +4212,7 @@ L_088B1ADC: const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - { const std::uint32_t vfpu_address = aot_gpr_18 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -4228,16 +4229,16 @@ L_088B1ADC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), std::bit_cast(aot_fpr_12)); aot_gpr_6 = (ctx.gpr[16] + static_cast(16)); ctx.gpr[7] = (ctx.gpr[16] + static_cast(32)); - aot_gpr_18 = (aot_gpr_29 + static_cast(32)); + ctx.gpr[18] = (aot_gpr_29 + static_cast(32)); ctx.gpr[9] = (aot_gpr_29 + static_cast(48)); ctx.gpr[10] = (aot_gpr_29 + static_cast(64)); aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_5 = (ctx.gpr[16] | 0u); - ctx.gpr[31] = (0x088B1B18u); - ctx.gpr[8] = (aot_gpr_18 | 0u); + aot_gpr_31 = (0x088B1B18u); + ctx.gpr[8] = (ctx.gpr[18] | 0u); goto L_088B1B74; L_088B1B18: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088B1B54; @@ -4245,17 +4246,17 @@ L_088B1B18: goto L_088B1B20; } L_088B1B20: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(0))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(4))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); aot_gpr_5 = (std::bit_cast(aot_fpr_13)); - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(8))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); aot_gpr_6 = (std::bit_cast(aot_fpr_14)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(4), aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(8), aot_gpr_6); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(4), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(8), aot_gpr_6); { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_088B1B5C; } @@ -4263,7 +4264,7 @@ L_088B1B20: } L_088B1B4C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_088B1B5C; } @@ -4271,14 +4272,14 @@ L_088B1B4C: } L_088B1B54: aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(48), static_cast(0u)); - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_088B1B5C; L_088B1B5C: ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(68))); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(72))); - aot_gpr_18 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(76))); - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(80))); - jump_target = ctx.gpr[31]; + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(72))); + ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(76))); + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(80))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(96)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -4411,15 +4412,15 @@ L_088B1C2C: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_mem.aot_direct_store32(ctx.gpr[10] + static_cast(0), ctx.vfpu_scalar_bits_ct<24u>()); - jump_target = ctx.gpr[31]; - ctx.gpr[2] = (0u + static_cast(1)); + jump_target = aot_gpr_31; + aot_gpr_2 = (0u + static_cast(1)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_088B1C40: - jump_target = ctx.gpr[31]; - ctx.gpr[2] = (0u | 0u); + jump_target = aot_gpr_31; + aot_gpr_2 = (0u | 0u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -4430,17 +4431,17 @@ L_088B1C50: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(964), std::bit_cast(ctx.fpr[22])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(968), std::bit_cast(ctx.fpr[24])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(972), ctx.gpr[16]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(976), aot_gpr_17); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(980), aot_gpr_18); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(976), ctx.gpr[17]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(980), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(984), ctx.gpr[19]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(988), ctx.gpr[20]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(992), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(992), aot_gpr_31); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(12))); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); - aot_gpr_18 = (aot_gpr_4 | 0u); - aot_gpr_17 = (aot_gpr_5 | 0u); + ctx.gpr[18] = (aot_gpr_4 | 0u); + ctx.gpr[17] = (aot_gpr_5 | 0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_14)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); @@ -4451,10 +4452,10 @@ L_088B1C50: goto L_088B1CA0; } L_088B1CA0: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(0))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(12))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(12))); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(16))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(16))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_14)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); @@ -4465,8 +4466,8 @@ L_088B1CA0: goto L_088B1CC0; } L_088B1CC0: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(0))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); @@ -4486,17 +4487,17 @@ L_088B1CD8: } L_088B1CE0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_088B2F7C; } goto L_088B1CE8; } L_088B1CE8: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(4))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(12))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(12))); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_14)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); @@ -4507,10 +4508,10 @@ L_088B1CE8: goto L_088B1D08; } L_088B1D08: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(4))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(12))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(12))); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(20))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(20))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_14)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); @@ -4521,8 +4522,8 @@ L_088B1D08: goto L_088B1D28; } L_088B1D28: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(4))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); @@ -4542,17 +4543,17 @@ L_088B1D40: } L_088B1D48: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_088B2F7C; } goto L_088B1D50; } L_088B1D50: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(8))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(12))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(12))); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_14)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); @@ -4563,10 +4564,10 @@ L_088B1D50: goto L_088B1D70; } L_088B1D70: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(8))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(12))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(12))); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(24))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(24))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_14)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); @@ -4577,8 +4578,8 @@ L_088B1D70: goto L_088B1D90; } L_088B1D90: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(8))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); @@ -4598,16 +4599,16 @@ L_088B1DA8: } L_088B1DB0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_088B2F7C; } goto L_088B1DB8; } L_088B1DB8: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), std::bit_cast(aot_fpr_14)); @@ -4634,8 +4635,8 @@ L_088B1DB8: goto L_088B1DE8; } L_088B1DE8: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(8))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(24))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(24))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); @@ -4646,9 +4647,9 @@ L_088B1DE8: goto L_088B1E00; } L_088B1E00: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(24))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(24))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(72), std::bit_cast(aot_fpr_14)); @@ -4675,9 +4676,9 @@ L_088B1E00: goto L_088B1E30; } L_088B1E30: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(8))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(80), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(84), std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(88), std::bit_cast(aot_fpr_14)); @@ -4704,8 +4705,8 @@ L_088B1E30: goto L_088B1E60; } L_088B1E60: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(4))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(20))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(20))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); @@ -4716,10 +4717,10 @@ L_088B1E60: goto L_088B1E78; } L_088B1E78: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(8))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(12))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(12))); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_14)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); @@ -4730,10 +4731,10 @@ L_088B1E78: goto L_088B1E98; } L_088B1E98: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(8))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(12))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(12))); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(24))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(24))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_14)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); @@ -4744,8 +4745,8 @@ L_088B1E98: goto L_088B1EB8; } L_088B1EB8: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(8))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); @@ -4765,16 +4766,16 @@ L_088B1ED0: } L_088B1ED8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_088B2F7C; } goto L_088B1EE0; } L_088B1EE0: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(20))); - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(20))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(96), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(100), std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(104), std::bit_cast(aot_fpr_14)); @@ -4801,8 +4802,8 @@ L_088B1EE0: goto L_088B1F10; } L_088B1F10: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(8))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(24))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(24))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); @@ -4813,9 +4814,9 @@ L_088B1F10: goto L_088B1F28; } L_088B1F28: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(20))); - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(24))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(20))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(24))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(112), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(116), std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(120), std::bit_cast(aot_fpr_14)); @@ -4842,9 +4843,9 @@ L_088B1F28: goto L_088B1F58; } L_088B1F58: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(20))); - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(8))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(20))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(128), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(132), std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(136), std::bit_cast(aot_fpr_14)); @@ -4871,10 +4872,10 @@ L_088B1F58: goto L_088B1F88; } L_088B1F88: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(8))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(12))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(12))); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_14)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); @@ -4885,10 +4886,10 @@ L_088B1F88: goto L_088B1FA8; } L_088B1FA8: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(8))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(12))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(12))); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(24))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(24))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_14)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); @@ -4899,8 +4900,8 @@ L_088B1FA8: goto L_088B1FC8; } L_088B1FC8: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(8))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); @@ -4920,16 +4921,16 @@ L_088B1FE0: } L_088B1FE8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_088B2F7C; } goto L_088B1FF0; } L_088B1FF0: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(4))); - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(144), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(148), std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(152), std::bit_cast(aot_fpr_14)); @@ -4956,8 +4957,8 @@ L_088B1FF0: goto L_088B2020; } L_088B2020: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(8))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(24))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(24))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); @@ -4968,9 +4969,9 @@ L_088B2020: goto L_088B2038; } L_088B2038: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(4))); - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(24))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(24))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(160), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(164), std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(168), std::bit_cast(aot_fpr_14)); @@ -4997,9 +4998,9 @@ L_088B2038: goto L_088B2068; } L_088B2068: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(4))); - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(8))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(176), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(180), std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(184), std::bit_cast(aot_fpr_14)); @@ -5026,8 +5027,8 @@ L_088B2068: goto L_088B2098; } L_088B2098: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(0))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(16))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(16))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); @@ -5038,10 +5039,10 @@ L_088B2098: goto L_088B20B0; } L_088B20B0: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(4))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(12))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(12))); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_14)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); @@ -5052,10 +5053,10 @@ L_088B20B0: goto L_088B20D0; } L_088B20D0: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(4))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(12))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(12))); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(20))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(20))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_14)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); @@ -5066,8 +5067,8 @@ L_088B20D0: goto L_088B20F0; } L_088B20F0: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(4))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); @@ -5087,17 +5088,17 @@ L_088B2108: } L_088B2110: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_088B2F7C; } goto L_088B2118; } L_088B2118: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(8))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(12))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(12))); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_14)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); @@ -5108,10 +5109,10 @@ L_088B2118: goto L_088B2138; } L_088B2138: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(8))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(12))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(12))); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(24))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(24))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_14)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); @@ -5122,8 +5123,8 @@ L_088B2138: goto L_088B2158; } L_088B2158: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(8))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); @@ -5143,16 +5144,16 @@ L_088B2170: } L_088B2178: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_088B2F7C; } goto L_088B2180; } L_088B2180: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(16))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(16))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(192), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(196), std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(200), std::bit_cast(aot_fpr_14)); @@ -5179,8 +5180,8 @@ L_088B2180: goto L_088B21B0; } L_088B21B0: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(8))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(24))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(24))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); @@ -5191,9 +5192,9 @@ L_088B21B0: goto L_088B21C8; } L_088B21C8: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(16))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(24))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(16))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(24))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(208), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(212), std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(216), std::bit_cast(aot_fpr_14)); @@ -5220,9 +5221,9 @@ L_088B21C8: goto L_088B21F8; } L_088B21F8: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(16))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(8))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(16))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(224), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(228), std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(232), std::bit_cast(aot_fpr_14)); @@ -5249,8 +5250,8 @@ L_088B21F8: goto L_088B2228; } L_088B2228: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(4))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(20))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(20))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); @@ -5261,10 +5262,10 @@ L_088B2228: goto L_088B2240; } L_088B2240: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(8))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(12))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(12))); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_14)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); @@ -5275,10 +5276,10 @@ L_088B2240: goto L_088B2260; } L_088B2260: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(8))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(12))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(12))); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(24))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(24))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_14)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); @@ -5289,8 +5290,8 @@ L_088B2260: goto L_088B2280; } L_088B2280: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(8))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); @@ -5310,16 +5311,16 @@ L_088B2298: } L_088B22A0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_088B2F7C; } goto L_088B22A8; } L_088B22A8: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(16))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(20))); - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(16))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(20))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(240), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(244), std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(248), std::bit_cast(aot_fpr_14)); @@ -5346,8 +5347,8 @@ L_088B22A8: goto L_088B22D8; } L_088B22D8: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(8))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(24))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(24))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); @@ -5358,9 +5359,9 @@ L_088B22D8: goto L_088B22F0; } L_088B22F0: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(16))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(20))); - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(24))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(16))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(20))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(24))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(256), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(260), std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(264), std::bit_cast(aot_fpr_14)); @@ -5387,9 +5388,9 @@ L_088B22F0: goto L_088B2320; } L_088B2320: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(16))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(20))); - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(8))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(16))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(20))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(272), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(276), std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(280), std::bit_cast(aot_fpr_14)); @@ -5416,10 +5417,10 @@ L_088B2320: goto L_088B2350; } L_088B2350: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(8))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(12))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(12))); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_14)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); @@ -5430,10 +5431,10 @@ L_088B2350: goto L_088B2370; } L_088B2370: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(8))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(12))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(12))); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(24))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(24))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_14)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); @@ -5444,8 +5445,8 @@ L_088B2370: goto L_088B2390; } L_088B2390: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(8))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); @@ -5465,16 +5466,16 @@ L_088B23A8: } L_088B23B0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_088B2F7C; } goto L_088B23B8; } L_088B23B8: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(16))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(4))); - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(16))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(288), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(292), std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(296), std::bit_cast(aot_fpr_14)); @@ -5501,8 +5502,8 @@ L_088B23B8: goto L_088B23E8; } L_088B23E8: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(8))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(24))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(24))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); @@ -5513,9 +5514,9 @@ L_088B23E8: goto L_088B2400; } L_088B2400: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(16))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(4))); - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(24))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(16))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(24))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(304), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(308), std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(312), std::bit_cast(aot_fpr_14)); @@ -5542,9 +5543,9 @@ L_088B2400: goto L_088B2430; } L_088B2430: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(16))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(4))); - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(8))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(16))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(320), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(324), std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(328), std::bit_cast(aot_fpr_14)); @@ -5571,10 +5572,10 @@ L_088B2430: goto L_088B2460; } L_088B2460: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(4))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(12))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(12))); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_14)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); @@ -5585,10 +5586,10 @@ L_088B2460: goto L_088B2480; } L_088B2480: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(4))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(12))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(12))); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(20))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(20))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_14)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); @@ -5599,8 +5600,8 @@ L_088B2480: goto L_088B24A0; } L_088B24A0: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(4))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); @@ -5620,17 +5621,17 @@ L_088B24B8: } L_088B24C0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_088B2F7C; } goto L_088B24C8; } L_088B24C8: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(8))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(12))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(12))); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_14)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); @@ -5641,10 +5642,10 @@ L_088B24C8: goto L_088B24E8; } L_088B24E8: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(8))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(12))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(12))); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(24))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(24))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_14)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); @@ -5655,8 +5656,8 @@ L_088B24E8: goto L_088B2508; } L_088B2508: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(8))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); @@ -5676,16 +5677,16 @@ L_088B2520: } L_088B2528: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_088B2F7C; } goto L_088B2530; } L_088B2530: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(0))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(336), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(340), std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(344), std::bit_cast(aot_fpr_14)); @@ -5712,8 +5713,8 @@ L_088B2530: goto L_088B2560; } L_088B2560: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(8))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(24))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(24))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); @@ -5724,9 +5725,9 @@ L_088B2560: goto L_088B2578; } L_088B2578: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(0))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(24))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(24))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(352), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(356), std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(360), std::bit_cast(aot_fpr_14)); @@ -5753,9 +5754,9 @@ L_088B2578: goto L_088B25A8; } L_088B25A8: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(0))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(8))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(368), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(372), std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(376), std::bit_cast(aot_fpr_14)); @@ -5782,8 +5783,8 @@ L_088B25A8: goto L_088B25D8; } L_088B25D8: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(4))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(20))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(20))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); @@ -5794,10 +5795,10 @@ L_088B25D8: goto L_088B25F0; } L_088B25F0: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(8))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(12))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(12))); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_14)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); @@ -5808,10 +5809,10 @@ L_088B25F0: goto L_088B2610; } L_088B2610: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(8))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(12))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(12))); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(24))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(24))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_14)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); @@ -5822,8 +5823,8 @@ L_088B2610: goto L_088B2630; } L_088B2630: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(8))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); @@ -5843,16 +5844,16 @@ L_088B2648: } L_088B2650: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_088B2F7C; } goto L_088B2658; } L_088B2658: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(0))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(20))); - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(20))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(384), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(388), std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(392), std::bit_cast(aot_fpr_14)); @@ -5879,8 +5880,8 @@ L_088B2658: goto L_088B2688; } L_088B2688: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(8))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(24))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(24))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); @@ -5891,9 +5892,9 @@ L_088B2688: goto L_088B26A0; } L_088B26A0: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(0))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(20))); - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(24))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(20))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(24))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(400), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(404), std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(408), std::bit_cast(aot_fpr_14)); @@ -5920,9 +5921,9 @@ L_088B26A0: goto L_088B26D0; } L_088B26D0: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(0))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(20))); - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(8))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(20))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(416), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(420), std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(424), std::bit_cast(aot_fpr_14)); @@ -5949,10 +5950,10 @@ L_088B26D0: goto L_088B2700; } L_088B2700: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(8))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(12))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(12))); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_14)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); @@ -5963,10 +5964,10 @@ L_088B2700: goto L_088B2720; } L_088B2720: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(8))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(12))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(12))); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(24))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(24))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_14)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); @@ -5977,8 +5978,8 @@ L_088B2720: goto L_088B2740; } L_088B2740: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(8))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); @@ -5998,16 +5999,16 @@ L_088B2758: } L_088B2760: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_088B2F7C; } goto L_088B2768; } L_088B2768: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(0))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(4))); - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(432), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(436), std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(440), std::bit_cast(aot_fpr_14)); @@ -6034,8 +6035,8 @@ L_088B2768: goto L_088B2798; } L_088B2798: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(8))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(24))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(24))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); @@ -6046,9 +6047,9 @@ L_088B2798: goto L_088B27B0; } L_088B27B0: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(0))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(4))); - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(24))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(24))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(448), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(452), std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(456), std::bit_cast(aot_fpr_14)); @@ -6075,13 +6076,13 @@ L_088B27B0: goto L_088B27E0; } L_088B27E0: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(0))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(464), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(4))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(468), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(8))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(472), std::bit_cast(aot_fpr_12)); - aot_gpr_4 = (aot_gpr_17 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(16)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -6091,7 +6092,7 @@ L_088B27E0: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -6156,13 +6157,13 @@ L_088B27E0: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); // nop if (((ctx.fcr31 & 0x00800000u) != 0u)) { - ctx.fpr[20] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(0))); + ctx.fpr[20] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); goto L_088B2874; } goto L_088B2864; L_088B2864: - ctx.fpr[20] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(16))); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(0))); + ctx.fpr[20] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(16))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); { const bool branch_taken = 0u == 0u; ctx.fpr[20] = ctx.fpr[20] - aot_fpr_12; if (branch_taken) { @@ -6171,7 +6172,7 @@ L_088B2864: goto L_088B2874; } L_088B2874: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); ctx.fpr[20] = ctx.fpr[20] - aot_fpr_12; goto L_088B287C; L_088B287C: @@ -6180,13 +6181,13 @@ L_088B287C: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); // nop if (((ctx.fcr31 & 0x00800000u) != 0u)) { - ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(4))); + ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); goto L_088B28A4; } goto L_088B2894; L_088B2894: - ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(20))); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(4))); + ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(20))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); { const bool branch_taken = 0u == 0u; ctx.fpr[22] = ctx.fpr[22] - aot_fpr_12; if (branch_taken) { @@ -6195,7 +6196,7 @@ L_088B2894: goto L_088B28A4; } L_088B28A4: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); ctx.fpr[22] = ctx.fpr[22] - aot_fpr_12; goto L_088B28AC; L_088B28AC: @@ -6204,13 +6205,13 @@ L_088B28AC: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); // nop if (((ctx.fcr31 & 0x00800000u) != 0u)) { - ctx.fpr[24] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(8))); + ctx.fpr[24] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); goto L_088B28D4; } goto L_088B28C4; L_088B28C4: - ctx.fpr[24] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(24))); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(8))); + ctx.fpr[24] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(24))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); { const bool branch_taken = 0u == 0u; ctx.fpr[24] = ctx.fpr[24] - aot_fpr_12; if (branch_taken) { @@ -6219,7 +6220,7 @@ L_088B28C4: goto L_088B28D4; } L_088B28D4: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); ctx.fpr[24] = ctx.fpr[24] - aot_fpr_12; goto L_088B28DC; L_088B28DC: @@ -6268,21 +6269,21 @@ L_088B2914: } L_088B292C: ctx.gpr[19] = (aot_gpr_29 + static_cast(528)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(0))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(544), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(4))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(548), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(8))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(552), std::bit_cast(aot_fpr_12)); aot_gpr_5 = (aot_gpr_29 + static_cast(544)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(12))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(12))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(560), std::bit_cast(aot_fpr_12)); ctx.fpr[22] = std::bit_cast(0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(564), std::bit_cast(ctx.fpr[22])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(568), std::bit_cast(ctx.fpr[22])); ctx.gpr[20] = (aot_gpr_29 + static_cast(560)); aot_gpr_4 = (ctx.gpr[19] | 0u); - ctx.gpr[31] = (0x088B2970u); + aot_gpr_31 = (0x088B2970u); aot_gpr_6 = (ctx.gpr[20] | 0u); goto L_088B0894; L_088B2970: @@ -6318,13 +6319,13 @@ L_088B2970: goto L_088B29D8; } L_088B29D8: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(0))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(592), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(4))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(596), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(8))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(600), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(12))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(12))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(608), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(612), std::bit_cast(aot_fpr_12)); @@ -6383,19 +6384,19 @@ L_088B29D8: L_088B2A80: aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(12), std::bit_cast(ctx.fpr[20])); aot_gpr_4 = (ctx.gpr[16] + static_cast(28)); - aot_gpr_5 = (aot_gpr_18 + static_cast(16)); + aot_gpr_5 = (ctx.gpr[18] + static_cast(16)); aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(1))); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_6)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(1), static_cast(aot_gpr_5)); aot_gpr_4 = (ctx.gpr[16] + static_cast(30)); - aot_gpr_5 = (aot_gpr_17 + static_cast(32)); + aot_gpr_5 = (ctx.gpr[17] + static_cast(32)); aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(1))); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_6)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(1), static_cast(aot_gpr_5)); { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_088B2F7C; } @@ -6447,21 +6448,21 @@ L_088B2AF4: } L_088B2B0C: ctx.gpr[19] = (aot_gpr_29 + static_cast(624)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(0))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(640), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(4))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(644), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(8))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(648), std::bit_cast(aot_fpr_12)); aot_gpr_5 = (aot_gpr_29 + static_cast(640)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(12))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(12))); ctx.fpr[20] = std::bit_cast(0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(656), std::bit_cast(ctx.fpr[20])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(660), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(664), std::bit_cast(ctx.fpr[20])); ctx.gpr[20] = (aot_gpr_29 + static_cast(656)); aot_gpr_4 = (ctx.gpr[19] | 0u); - ctx.gpr[31] = (0x088B2B50u); + aot_gpr_31 = (0x088B2B50u); aot_gpr_6 = (ctx.gpr[20] | 0u); goto L_088B0894; L_088B2B50: @@ -6497,13 +6498,13 @@ L_088B2B50: goto L_088B2BB8; } L_088B2BB8: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(0))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(688), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(4))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(692), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(8))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(696), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(12))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(12))); aot_fpr_13 = std::bit_cast(0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(704), std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(708), std::bit_cast(aot_fpr_12)); @@ -6562,19 +6563,19 @@ L_088B2BB8: L_088B2C60: aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(12), std::bit_cast(ctx.fpr[22])); aot_gpr_4 = (ctx.gpr[16] + static_cast(28)); - aot_gpr_5 = (aot_gpr_18 + static_cast(16)); + aot_gpr_5 = (ctx.gpr[18] + static_cast(16)); aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(1))); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_6)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(1), static_cast(aot_gpr_5)); aot_gpr_4 = (ctx.gpr[16] + static_cast(30)); - aot_gpr_5 = (aot_gpr_17 + static_cast(32)); + aot_gpr_5 = (ctx.gpr[17] + static_cast(32)); aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(1))); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_6)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(1), static_cast(aot_gpr_5)); { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_088B2F7C; } @@ -6606,21 +6607,21 @@ L_088B2CB4: } L_088B2CCC: ctx.gpr[19] = (aot_gpr_29 + static_cast(720)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(0))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(736), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(4))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(740), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(8))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(744), std::bit_cast(aot_fpr_12)); aot_gpr_5 = (aot_gpr_29 + static_cast(736)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(12))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(12))); ctx.fpr[20] = std::bit_cast(0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(752), std::bit_cast(ctx.fpr[20])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(756), std::bit_cast(ctx.fpr[20])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(760), std::bit_cast(aot_fpr_12)); ctx.gpr[20] = (aot_gpr_29 + static_cast(752)); aot_gpr_4 = (ctx.gpr[19] | 0u); - ctx.gpr[31] = (0x088B2D10u); + aot_gpr_31 = (0x088B2D10u); aot_gpr_6 = (ctx.gpr[20] | 0u); goto L_088B0894; L_088B2D10: @@ -6656,13 +6657,13 @@ L_088B2D10: goto L_088B2D78; } L_088B2D78: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(0))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(784), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(4))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(788), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(8))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(792), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(12))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(12))); aot_fpr_13 = std::bit_cast(0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(800), std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(804), std::bit_cast(aot_fpr_13)); @@ -6721,19 +6722,19 @@ L_088B2D78: L_088B2E20: aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(12), std::bit_cast(ctx.fpr[24])); aot_gpr_4 = (ctx.gpr[16] + static_cast(28)); - aot_gpr_5 = (aot_gpr_18 + static_cast(16)); + aot_gpr_5 = (ctx.gpr[18] + static_cast(16)); aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(1))); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_6)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(1), static_cast(aot_gpr_5)); aot_gpr_4 = (ctx.gpr[16] + static_cast(30)); - aot_gpr_5 = (aot_gpr_17 + static_cast(32)); + aot_gpr_5 = (ctx.gpr[17] + static_cast(32)); aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(1))); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_6)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(1), static_cast(aot_gpr_5)); { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_088B2F7C; } @@ -6741,18 +6742,18 @@ L_088B2E20: } L_088B2E5C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_088B2F7C; } goto L_088B2E64; } L_088B2E64: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(0))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(4))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(8))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), std::bit_cast(aot_fpr_12)); { const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); std::uint32_t vfpu_words[4]{}; @@ -6843,43 +6844,43 @@ L_088B2EB8: aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(4), ctx.gpr[8]); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(8), aot_gpr_4); aot_gpr_4 = (ctx.gpr[16] + static_cast(28)); - aot_gpr_5 = (aot_gpr_18 + static_cast(16)); + aot_gpr_5 = (ctx.gpr[18] + static_cast(16)); aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(1))); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_6)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(1), static_cast(aot_gpr_5)); aot_gpr_4 = (ctx.gpr[16] + static_cast(30)); - aot_gpr_5 = (aot_gpr_17 + static_cast(32)); + aot_gpr_5 = (ctx.gpr[17] + static_cast(32)); aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(1))); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_6)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(1), static_cast(aot_gpr_5)); aot_fpr_13 = std::sqrt(aot_fpr_12); - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(12))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(12))); aot_fpr_13 = aot_fpr_14 - aot_fpr_13; aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(12), std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(0), std::bit_cast(aot_fpr_12)); { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_088B2F7C; } goto L_088B2F78; } L_088B2F78: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_088B2F7C; L_088B2F7C: ctx.fpr[20] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(960))); ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(964))); ctx.fpr[24] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(968))); ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(972))); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(976))); - aot_gpr_18 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(980))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(976))); + ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(980))); ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(984))); ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(988))); - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(992))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(992))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(1008)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -6934,7 +6935,7 @@ L_088B2FA8: ctx.execute_vfpu_vdot_ct<72u, 7u, 7u, 3u>(); ctx.execute_vfpu_vec3_ct<100u, 99u, 97u, 1u, 0u>(); ctx.execute_vfpu_vec3_ct<101u, 100u, 100u, 1u, 2u>(); - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); ctx.execute_vfpu_vcmp_ct<72u, 101u, 1u, 7u>(); { const bool branch_taken = ((ctx.vfpu_ctrl[3] >> 0u) & 1u) != 0u; // vflush: architectural no-op that retains VFPU prefixes @@ -6944,10 +6945,10 @@ L_088B2FA8: goto L_088B3054; } L_088B3054: - ctx.gpr[2] = (ctx.gpr[2] + static_cast(1)); + aot_gpr_2 = (aot_gpr_2 + static_cast(1)); goto L_088B3058; L_088B3058: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; // nop local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -7728,17 +7729,17 @@ L_088B3640: aot_mem.aot_direct_store8(aot_gpr_6 + static_cast(29), static_cast(aot_gpr_4)); aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(0), std::bit_cast(aot_fpr_14)); { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_088B36C8; } goto L_088B36C4; } L_088B36C4: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_088B36C8; L_088B36C8: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(128)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -7862,15 +7863,15 @@ L_088B378C: goto L_088B37E8; } L_088B37E8: - jump_target = ctx.gpr[31]; - ctx.gpr[2] = (0u + static_cast(1)); + jump_target = aot_gpr_31; + aot_gpr_2 = (0u + static_cast(1)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_088B37F0: - jump_target = ctx.gpr[31]; - ctx.gpr[2] = (0u | 0u); + jump_target = aot_gpr_31; + aot_gpr_2 = (0u | 0u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -7878,15 +7879,15 @@ L_088B37F0: L_088B3800: aot_gpr_29 = (aot_gpr_29 + static_cast(-80)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), ctx.gpr[16]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), aot_gpr_17); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), aot_gpr_18); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), ctx.gpr[17]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), ctx.gpr[19]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), ctx.gpr[20]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), ctx.gpr[21]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(60), ctx.gpr[22]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), ctx.gpr[23]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), ctx.gpr[30]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(72), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(72), aot_gpr_31); ctx.gpr[22] = (aot_gpr_6 & 255u); ctx.gpr[21] = (ctx.gpr[7] & 255u); ctx.gpr[20] = (aot_gpr_4 | 0u); @@ -7895,7 +7896,7 @@ L_088B3800: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[19] + static_cast(52))); aot_gpr_4 = (static_cast(ctx.gpr[16]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); if (branch_taken) { goto L_088B3938; } @@ -7911,7 +7912,7 @@ L_088B3850: } L_088B3858: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(56))); - aot_gpr_4 = (aot_gpr_4 + aot_gpr_17); + aot_gpr_4 = (aot_gpr_4 + ctx.gpr[17]); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(16))); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_5 = (aot_gpr_4 ^ 7u); @@ -7946,7 +7947,7 @@ L_088B38AC: } L_088B38B4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(56))); - aot_gpr_4 = (aot_gpr_4 + aot_gpr_17); + aot_gpr_4 = (aot_gpr_4 + ctx.gpr[17]); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(16))); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_5 = (aot_gpr_4 ^ 8u); @@ -7970,12 +7971,12 @@ L_088B38B4: } L_088B38FC: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(56))); - aot_gpr_5 = (aot_gpr_5 + aot_gpr_17); - ctx.gpr[31] = (0x088B390Cu); + aot_gpr_5 = (aot_gpr_5 + ctx.gpr[17]); + aot_gpr_31 = (0x088B390Cu); aot_gpr_4 = (ctx.gpr[20] | 0u); goto L_088B12A8; L_088B390C: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_088B3930; @@ -7987,7 +7988,7 @@ L_088B3914: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[19] + static_cast(52))); aot_gpr_4 = (static_cast(ctx.gpr[16]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(32)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(32)); if (branch_taken) { goto L_088B3850; } @@ -8003,7 +8004,7 @@ L_088B3928: } L_088B3930: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_088B3CBC; } @@ -8014,7 +8015,7 @@ L_088B3938: aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(48))); aot_gpr_4 = (static_cast(ctx.gpr[16]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); if (branch_taken) { goto L_088B3A34; } @@ -8030,7 +8031,7 @@ L_088B394C: } L_088B3954: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(64))); - aot_gpr_4 = (aot_gpr_4 + aot_gpr_17); + aot_gpr_4 = (aot_gpr_4 + ctx.gpr[17]); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(32))); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_5 = (aot_gpr_4 ^ 7u); @@ -8065,7 +8066,7 @@ L_088B39A8: } L_088B39B0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(64))); - aot_gpr_4 = (aot_gpr_4 + aot_gpr_17); + aot_gpr_4 = (aot_gpr_4 + ctx.gpr[17]); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(32))); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_5 = (aot_gpr_4 ^ 8u); @@ -8089,12 +8090,12 @@ L_088B39B0: } L_088B39F8: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(64))); - aot_gpr_5 = (aot_gpr_5 + aot_gpr_17); - ctx.gpr[31] = (0x088B3A08u); + aot_gpr_5 = (aot_gpr_5 + ctx.gpr[17]); + aot_gpr_31 = (0x088B3A08u); aot_gpr_4 = (ctx.gpr[20] | 0u); goto L_088B1780; L_088B3A08: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_088B3A2C; @@ -8106,7 +8107,7 @@ L_088B3A10: aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(48))); aot_gpr_4 = (static_cast(ctx.gpr[16]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(48)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(48)); if (branch_taken) { goto L_088B394C; } @@ -8122,7 +8123,7 @@ L_088B3A24: } L_088B3A2C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_088B3CBC; } @@ -8159,9 +8160,9 @@ L_088B3A50: goto L_088B3A64; } L_088B3A64: - aot_gpr_18 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(68))); - aot_gpr_18 = (aot_gpr_18 + ctx.gpr[23]); - { const std::uint32_t vfpu_address = aot_gpr_18 + static_cast(0); + ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(68))); + ctx.gpr[18] = (ctx.gpr[18] + ctx.gpr[23]); + { const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -8183,11 +8184,11 @@ L_088B3A64: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (ctx.gpr[20] | 0u); - ctx.gpr[31] = (0x088B3A94u); + aot_gpr_31 = (0x088B3A94u); aot_gpr_5 = (aot_gpr_29 | 0u); goto L_088B1780; L_088B3A94: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088B3B9C; @@ -8195,11 +8196,11 @@ L_088B3A94: goto L_088B3A9C; } L_088B3A9C: - aot_gpr_17 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_18 + static_cast(6)))))); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_18 + static_cast(14)))))); - aot_gpr_4 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_17) ? 1u : 0u); + ctx.gpr[17] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(6)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(14)))))); + aot_gpr_4 = (static_cast(aot_gpr_4) < static_cast(ctx.gpr[17]) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; - ctx.gpr[16] = (aot_gpr_17 << 3u); + ctx.gpr[16] = (ctx.gpr[17] << 3u); if (branch_taken) { goto L_088B3B9C; } @@ -8276,11 +8277,11 @@ L_088B3B5C: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(72))); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(76))); aot_gpr_6 = (aot_gpr_6 + ctx.gpr[16]); - ctx.gpr[31] = (0x088B3B70u); + aot_gpr_31 = (0x088B3B70u); aot_gpr_4 = (ctx.gpr[20] | 0u); goto L_088B36D0; L_088B3B70: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_088B3B94; @@ -8288,9 +8289,9 @@ L_088B3B70: goto L_088B3B78; } L_088B3B78: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_18 + static_cast(14)))))); - aot_gpr_4 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_17) ? 1u : 0u); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(14)))))); + aot_gpr_4 = (static_cast(aot_gpr_4) < static_cast(ctx.gpr[17]) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; ctx.gpr[16] = (ctx.gpr[16] + static_cast(8)); if (branch_taken) { @@ -8308,7 +8309,7 @@ L_088B3B8C: } L_088B3B94: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_088B3CBC; } @@ -8338,7 +8339,7 @@ L_088B3BB8: aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(50))); aot_gpr_4 = (static_cast(ctx.gpr[16]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); if (branch_taken) { goto L_088B3CB8; } @@ -8354,7 +8355,7 @@ L_088B3BCC: } L_088B3BD4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(76))); - aot_gpr_4 = (aot_gpr_4 + aot_gpr_17); + aot_gpr_4 = (aot_gpr_4 + ctx.gpr[17]); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(6))); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_5 = (aot_gpr_4 ^ 7u); @@ -8389,7 +8390,7 @@ L_088B3C28: } L_088B3C30: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(76))); - aot_gpr_4 = (aot_gpr_4 + aot_gpr_17); + aot_gpr_4 = (aot_gpr_4 + ctx.gpr[17]); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(6))); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_5 = (aot_gpr_4 ^ 8u); @@ -8414,12 +8415,12 @@ L_088B3C30: L_088B3C78: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(72))); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(76))); - aot_gpr_6 = (aot_gpr_6 + aot_gpr_17); - ctx.gpr[31] = (0x088B3C8Cu); + aot_gpr_6 = (aot_gpr_6 + ctx.gpr[17]); + aot_gpr_31 = (0x088B3C8Cu); aot_gpr_4 = (ctx.gpr[20] | 0u); goto L_088B36D0; L_088B3C8C: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_088B3CB0; @@ -8431,7 +8432,7 @@ L_088B3C94: aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(50))); aot_gpr_4 = (static_cast(ctx.gpr[16]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(8)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(8)); if (branch_taken) { goto L_088B3BCC; } @@ -8447,27 +8448,27 @@ L_088B3CA8: } L_088B3CB0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_088B3CBC; } goto L_088B3CB8; } L_088B3CB8: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_088B3CBC; L_088B3CBC: ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(36))); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(40))); - aot_gpr_18 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(44))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(40))); + ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(44))); ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(48))); ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(52))); ctx.gpr[21] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(56))); ctx.gpr[22] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(60))); ctx.gpr[23] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); ctx.gpr[30] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(68))); - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(72))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(72))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(80)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -8477,15 +8478,15 @@ L_088B3CEC: aot_gpr_29 = (aot_gpr_29 + static_cast(-112)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(60), std::bit_cast(ctx.fpr[20])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), ctx.gpr[16]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), aot_gpr_17); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(72), aot_gpr_18); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), ctx.gpr[17]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(72), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(76), ctx.gpr[19]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(80), ctx.gpr[20]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(84), ctx.gpr[21]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(88), ctx.gpr[22]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(92), ctx.gpr[23]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(96), ctx.gpr[30]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(100), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(100), aot_gpr_31); ctx.gpr[22] = (ctx.gpr[8] & 255u); ctx.gpr[21] = (ctx.gpr[9] & 255u); ctx.gpr[20] = (aot_gpr_4 | 0u); @@ -8507,11 +8508,11 @@ L_088B3CEC: } L_088B3D54: ctx.fpr[20] = std::bit_cast(0u); - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); goto L_088B3D5C; L_088B3D5C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(56))); - aot_gpr_4 = (aot_gpr_4 + aot_gpr_17); + aot_gpr_4 = (aot_gpr_4 + ctx.gpr[17]); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(aot_fpr_12)) && aot_fpr_12 == aot_fpr_12)) ? 0x00800000u : 0u); // nop @@ -8524,12 +8525,12 @@ L_088B3D5C: } L_088B3D78: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(56))); - aot_gpr_4 = (aot_gpr_4 + aot_gpr_17); + aot_gpr_4 = (aot_gpr_4 + ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), std::bit_cast(ctx.fpr[20])); goto L_088B3D84; L_088B3D84: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(56))); - aot_gpr_4 = (aot_gpr_4 + aot_gpr_17); + aot_gpr_4 = (aot_gpr_4 + ctx.gpr[17]); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(aot_fpr_12)) && aot_fpr_12 == aot_fpr_12)) ? 0x00800000u : 0u); // nop @@ -8542,12 +8543,12 @@ L_088B3D84: } L_088B3DA0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(56))); - aot_gpr_4 = (aot_gpr_4 + aot_gpr_17); + aot_gpr_4 = (aot_gpr_4 + ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), std::bit_cast(ctx.fpr[20])); goto L_088B3DAC; L_088B3DAC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(56))); - aot_gpr_4 = (aot_gpr_4 + aot_gpr_17); + aot_gpr_4 = (aot_gpr_4 + ctx.gpr[17]); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(aot_fpr_12)) && aot_fpr_12 == aot_fpr_12)) ? 0x00800000u : 0u); // nop @@ -8560,7 +8561,7 @@ L_088B3DAC: } L_088B3DC8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(56))); - aot_gpr_4 = (aot_gpr_4 + aot_gpr_17); + aot_gpr_4 = (aot_gpr_4 + ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(8), std::bit_cast(ctx.fpr[20])); goto L_088B3DD4; L_088B3DD4: @@ -8573,7 +8574,7 @@ L_088B3DD4: } L_088B3DDC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(56))); - aot_gpr_4 = (aot_gpr_4 + aot_gpr_17); + aot_gpr_4 = (aot_gpr_4 + ctx.gpr[17]); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(16))); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_5 = (aot_gpr_4 ^ 7u); @@ -8608,7 +8609,7 @@ L_088B3E30: } L_088B3E38: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(56))); - aot_gpr_4 = (aot_gpr_4 + aot_gpr_17); + aot_gpr_4 = (aot_gpr_4 + ctx.gpr[17]); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(16))); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_5 = (aot_gpr_4 ^ 8u); @@ -8632,10 +8633,10 @@ L_088B3E38: } L_088B3E80: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(56))); - aot_gpr_5 = (aot_gpr_5 + aot_gpr_17); + aot_gpr_5 = (aot_gpr_5 + ctx.gpr[17]); aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_6 = (ctx.gpr[23] | 0u); - ctx.gpr[31] = (0x088B3E98u); + aot_gpr_31 = (0x088B3E98u); ctx.gpr[7] = (aot_gpr_29 | 0u); ctx.pc = 0x088B1554u; ([&]() { AOT_REGCACHE_SYNC_OUT(); rt.invoke_native_fast_path(0x088B1554u, ctx); AOT_REGCACHE_SYNC_IN(); }()); @@ -8646,7 +8647,7 @@ L_088B3E98: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[19] + static_cast(52))); aot_gpr_4 = (static_cast(ctx.gpr[16]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(32)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(32)); if (branch_taken) { goto L_088B3D5C; } @@ -8657,7 +8658,7 @@ L_088B3EAC: aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(48))); aot_gpr_4 = (static_cast(ctx.gpr[16]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); if (branch_taken) { goto L_088B3F98; } @@ -8673,7 +8674,7 @@ L_088B3EC0: } L_088B3EC8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(64))); - aot_gpr_4 = (aot_gpr_4 + aot_gpr_17); + aot_gpr_4 = (aot_gpr_4 + ctx.gpr[17]); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(32))); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_5 = (aot_gpr_4 ^ 7u); @@ -8708,7 +8709,7 @@ L_088B3F1C: } L_088B3F24: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(64))); - aot_gpr_4 = (aot_gpr_4 + aot_gpr_17); + aot_gpr_4 = (aot_gpr_4 + ctx.gpr[17]); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(32))); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_5 = (aot_gpr_4 ^ 8u); @@ -8732,10 +8733,10 @@ L_088B3F24: } L_088B3F6C: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(64))); - aot_gpr_5 = (aot_gpr_5 + aot_gpr_17); + aot_gpr_5 = (aot_gpr_5 + ctx.gpr[17]); aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_6 = (ctx.gpr[23] | 0u); - ctx.gpr[31] = (0x088B3F84u); + aot_gpr_31 = (0x088B3F84u); ctx.gpr[7] = (aot_gpr_29 | 0u); goto L_088B3060; L_088B3F84: @@ -8743,7 +8744,7 @@ L_088B3F84: aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(48))); aot_gpr_4 = (static_cast(ctx.gpr[16]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(48)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(48)); if (branch_taken) { goto L_088B3EC0; } @@ -8788,10 +8789,10 @@ L_088B3FCC: AOT_REGCACHE_SYNC_OUT(); return; } // TIER2_SUPERBLOCK_V2_HOOK_END - aot_gpr_18 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(68))); - aot_gpr_18 = (aot_gpr_18 + ctx.gpr[30]); + ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(68))); + ctx.gpr[18] = (ctx.gpr[18] + ctx.gpr[30]); aot_gpr_5 = (aot_gpr_29 + static_cast(16)); - { const std::uint32_t vfpu_address = aot_gpr_18 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -8812,11 +8813,11 @@ L_088B3FCC: const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(16); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - ctx.gpr[31] = (0x088B3FFCu); + aot_gpr_31 = (0x088B3FFCu); aot_gpr_4 = (ctx.gpr[20] | 0u); goto L_088B1780; L_088B3FFC: - if (ctx.gpr[2] == 0u) { + if (aot_gpr_2 == 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(48))); (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0044_entry, 44u, 9u, 0x088B40F8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } diff --git a/profiles/vcs/generated/generated_unit_0044.cpp b/profiles/vcs/generated/generated_unit_0044.cpp index 59aa1d3..11aa417 100644 --- a/profiles/vcs/generated/generated_unit_0044.cpp +++ b/profiles/vcs/generated/generated_unit_0044.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include "vcs_tier2_superblocks.hpp" #include #include @@ -139,20 +140,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0044[4094] = { }; void recomp_unit_0044_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,6,16,7 fprs=12,13,14,15 gpr_occ=4190 fpr_occ=496 gpr_total=6632 fpr_total=579 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,6,31,16 fprs=12,13,14,15 gpr_occ=4262 fpr_occ=496 gpr_total=6803 fpr_total=579 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_6 = ctx.gpr[6]; + std::uint32_t aot_gpr_31 = ctx.gpr[31]; std::uint32_t aot_gpr_16 = ctx.gpr[16]; - std::uint32_t aot_gpr_7 = ctx.gpr[7]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_14 = ctx.fpr[14]; float aot_fpr_15 = ctx.fpr[15]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[6] = aot_gpr_6; ctx.gpr[16] = aot_gpr_16; ctx.gpr[7] = aot_gpr_7; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[15] = aot_fpr_15; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_7 = ctx.gpr[7]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_15 = ctx.fpr[15]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[6] = aot_gpr_6; ctx.gpr[31] = aot_gpr_31; ctx.gpr[16] = aot_gpr_16; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[15] = aot_fpr_15; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_16 = ctx.gpr[16]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_15 = ctx.fpr[15]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -983,8 +984,8 @@ L_088B40C4: aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(76))); aot_gpr_6 = (aot_gpr_6 + aot_gpr_16); aot_gpr_4 = (ctx.gpr[20] | 0u); - aot_gpr_7 = (ctx.gpr[23] | 0u); - ctx.gpr[31] = (0x088B40E0u); + ctx.gpr[7] = (ctx.gpr[23] | 0u); + aot_gpr_31 = (0x088B40E0u); ctx.gpr[8] = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0043_entry, 43u, 210u, 0x088B18ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B40E0u) goto L_088B40E0; AOT_REGCACHE_SYNC_OUT(); return; @@ -1112,8 +1113,8 @@ L_088B41D8: aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(76))); aot_gpr_6 = (aot_gpr_6 + ctx.gpr[17]); aot_gpr_4 = (ctx.gpr[20] | 0u); - aot_gpr_7 = (ctx.gpr[23] | 0u); - ctx.gpr[31] = (0x088B41F4u); + ctx.gpr[7] = (ctx.gpr[23] | 0u); + aot_gpr_31 = (0x088B41F4u); ctx.gpr[8] = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0043_entry, 43u, 210u, 0x088B18ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B41F4u) goto L_088B41F4; AOT_REGCACHE_SYNC_OUT(); return; @@ -1167,8 +1168,8 @@ L_088B4238: ctx.gpr[22] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(88))); ctx.gpr[23] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(92))); ctx.gpr[30] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(96))); - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(100))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(100))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(112)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -1185,7 +1186,7 @@ L_088B426C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(144), ctx.gpr[22]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(148), ctx.gpr[23]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(152), ctx.gpr[30]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(156), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(156), aot_gpr_31); ctx.gpr[18] = (ctx.gpr[9] & 255u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[8] + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), std::bit_cast(aot_fpr_12)); @@ -1195,7 +1196,7 @@ L_088B426C: ctx.gpr[30] = (aot_gpr_4 | 0u); ctx.gpr[23] = (aot_gpr_5 | 0u); ctx.gpr[17] = (aot_gpr_6 | 0u); - ctx.gpr[21] = (aot_gpr_7 | 0u); + ctx.gpr[21] = (ctx.gpr[7] | 0u); ctx.gpr[22] = (ctx.gpr[11] | 0u); { const bool branch_taken = ctx.gpr[9] == 0u; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(116), ctx.gpr[8]); @@ -1244,8 +1245,8 @@ L_088B430C: aot_gpr_5 = (aot_gpr_5 + aot_gpr_4); aot_gpr_4 = (ctx.gpr[30] | 0u); aot_gpr_6 = (ctx.gpr[21] | 0u); - ctx.gpr[31] = (0x088B4328u); - aot_gpr_7 = (aot_gpr_29 | 0u); + aot_gpr_31 = (0x088B4328u); + ctx.gpr[7] = (aot_gpr_29 | 0u); ctx.pc = 0x088B1554u; ([&]() { AOT_REGCACHE_SYNC_OUT(); rt.invoke_native_fast_path(0x088B1554u, ctx); AOT_REGCACHE_SYNC_IN(); }()); if (ctx.pc == 0x088B4328u) goto L_088B4328; @@ -1318,8 +1319,8 @@ L_088B43A0: aot_gpr_5 = (aot_gpr_5 + aot_gpr_4); aot_gpr_4 = (ctx.gpr[30] | 0u); aot_gpr_6 = (ctx.gpr[21] | 0u); - ctx.gpr[31] = (0x088B43C4u); - aot_gpr_7 = (aot_gpr_29 | 0u); + aot_gpr_31 = (0x088B43C4u); + ctx.gpr[7] = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0043_entry, 43u, 382u, 0x088B3060u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B43C4u) goto L_088B43C4; AOT_REGCACHE_SYNC_OUT(); return; L_088B43C4: @@ -1390,7 +1391,7 @@ L_088B4414: const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(16); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - ctx.gpr[31] = (0x088B4448u); + aot_gpr_31 = (0x088B4448u); aot_gpr_4 = (ctx.gpr[30] | 0u); ctx.pc = 0x088B1780u; ([&]() { AOT_REGCACHE_SYNC_OUT(); rt.invoke_native_fast_path(0x088B1780u, ctx); AOT_REGCACHE_SYNC_IN(); }()); @@ -1458,8 +1459,8 @@ L_088B44A8: ctx.gpr[9] = (2236u << 16u); ctx.gpr[9] = (ctx.gpr[9] + static_cast(-27712)); aot_gpr_4 = (ctx.gpr[30] | 0u); - aot_gpr_7 = (ctx.gpr[21] | 0u); - ctx.gpr[31] = (0x088B44D0u); + ctx.gpr[7] = (ctx.gpr[21] | 0u); + aot_gpr_31 = (0x088B44D0u); ctx.gpr[8] = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0043_entry, 43u, 217u, 0x088B1A34u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B44D0u) goto L_088B44D0; AOT_REGCACHE_SYNC_OUT(); return; @@ -1545,8 +1546,8 @@ L_088B4550: ctx.gpr[9] = (2236u << 16u); ctx.gpr[9] = (ctx.gpr[9] + static_cast(-27712)); aot_gpr_4 = (ctx.gpr[30] | 0u); - aot_gpr_7 = (ctx.gpr[21] | 0u); - ctx.gpr[31] = (0x088B4578u); + ctx.gpr[7] = (ctx.gpr[21] | 0u); + aot_gpr_31 = (0x088B4578u); ctx.gpr[8] = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0043_entry, 43u, 217u, 0x088B1A34u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B4578u) goto L_088B4578; AOT_REGCACHE_SYNC_OUT(); return; @@ -1587,7 +1588,7 @@ L_088B45A8: ctx.gpr[18] = (aot_gpr_29 + static_cast(64)); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[23] | 0u); - ctx.gpr[31] = (0x088B45D8u); + aot_gpr_31 = (0x088B45D8u); aot_gpr_6 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0043_entry, 43u, 73u, 0x088B086Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B45D8u) goto L_088B45D8; AOT_REGCACHE_SYNC_OUT(); return; @@ -1654,10 +1655,10 @@ L_088B45D8: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); aot_gpr_6 = (std::bit_cast(aot_fpr_13)); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); - aot_gpr_7 = (std::bit_cast(aot_fpr_14)); + ctx.gpr[7] = (std::bit_cast(aot_fpr_14)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), aot_gpr_6); - aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(8), aot_gpr_7); + aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(8), ctx.gpr[7]); aot_gpr_4 = (2236u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-27712)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(48))); @@ -1727,7 +1728,7 @@ L_088B4670: ctx.gpr[19] = (aot_gpr_29 + static_cast(80)); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (ctx.gpr[23] | 0u); - ctx.gpr[31] = (0x088B46BCu); + aot_gpr_31 = (0x088B46BCu); aot_gpr_6 = (ctx.gpr[22] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0043_entry, 43u, 73u, 0x088B086Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B46BCu) goto L_088B46BC; AOT_REGCACHE_SYNC_OUT(); return; @@ -1747,7 +1748,7 @@ L_088B46BC: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (ctx.gpr[23] | 0u); - ctx.gpr[31] = (0x088B46D4u); + aot_gpr_31 = (0x088B46D4u); aot_gpr_6 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0043_entry, 43u, 73u, 0x088B086Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B46D4u) goto L_088B46D4; AOT_REGCACHE_SYNC_OUT(); return; @@ -1767,7 +1768,7 @@ L_088B46D4: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (ctx.gpr[23] | 0u); - ctx.gpr[31] = (0x088B46ECu); + aot_gpr_31 = (0x088B46ECu); aot_gpr_6 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0043_entry, 43u, 73u, 0x088B086Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B46ECu) goto L_088B46EC; AOT_REGCACHE_SYNC_OUT(); return; @@ -1809,8 +1810,8 @@ L_088B4708: ctx.gpr[22] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(144))); ctx.gpr[23] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(148))); ctx.gpr[30] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(152))); - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(156))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(156))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(160)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -1835,7 +1836,7 @@ L_088B4738: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(324), ctx.gpr[22]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(328), ctx.gpr[23]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(332), ctx.gpr[30]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(336), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(336), aot_gpr_31); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -1939,7 +1940,7 @@ L_088B4738: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<8u, 4u>(vfpu_value); } - aot_gpr_4 = (aot_gpr_7 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[7] + static_cast(16)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -2012,7 +2013,7 @@ L_088B47F0: goto L_088B4810; L_088B4810: ctx.gpr[30] = (aot_gpr_5 | 0u); - ctx.gpr[23] = (aot_gpr_7 | 0u); + ctx.gpr[23] = (ctx.gpr[7] | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(256), aot_gpr_6); ctx.gpr[17] = (ctx.gpr[9] | 0u); ctx.gpr[18] = (ctx.gpr[10] | 0u); @@ -2026,7 +2027,7 @@ L_088B4810: } L_088B4830: aot_gpr_4 = (ctx.gpr[30] | 0u); - ctx.gpr[31] = (0x088B483Cu); + aot_gpr_31 = (0x088B483Cu); aot_gpr_5 = (ctx.gpr[23] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0043_entry, 43u, 138u, 0x088B0E34u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B483Cu) goto L_088B483C; AOT_REGCACHE_SYNC_OUT(); return; @@ -2043,20 +2044,20 @@ L_088B483C: } L_088B4850: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(288), ctx.gpr[18]); - ctx.gpr[31] = (0x088B485Cu); + aot_gpr_31 = (0x088B485Cu); aot_gpr_4 = (ctx.gpr[30] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0043_entry, 43u, 135u, 0x088B0DD4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B485Cu) goto L_088B485C; AOT_REGCACHE_SYNC_OUT(); return; L_088B485C: aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(276))); aot_gpr_4 = (ctx.gpr[23] | 0u); - ctx.gpr[31] = (0x088B486Cu); + aot_gpr_31 = (0x088B486Cu); aot_gpr_5 = (ctx.gpr[30] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0043_entry, 43u, 145u, 0x088B0EE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B486Cu) goto L_088B486C; AOT_REGCACHE_SYNC_OUT(); return; L_088B486C: ctx.gpr[19] = (ctx.gpr[2] | 0u); - ctx.gpr[31] = (0x088B4878u); + aot_gpr_31 = (0x088B4878u); aot_gpr_4 = (ctx.gpr[23] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0043_entry, 43u, 152u, 0x088B0FA4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B4878u) goto L_088B4878; AOT_REGCACHE_SYNC_OUT(); return; @@ -2113,14 +2114,14 @@ L_088B48C0: aot_gpr_5 = (0u | 0u); aot_gpr_5 = (ctx.gpr[17] + aot_gpr_5); aot_gpr_6 = (ctx.gpr[18] | 0u); - aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(272))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(272))); goto L_088B48D4; L_088B48D4: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(12), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); aot_gpr_5 = (aot_gpr_5 + static_cast(32)); - ctx.gpr[9] = (static_cast(aot_gpr_4) < static_cast(aot_gpr_7) ? 1u : 0u); + ctx.gpr[9] = (static_cast(aot_gpr_4) < static_cast(ctx.gpr[7]) ? 1u : 0u); { const bool branch_taken = ctx.gpr[9] != 0u; aot_gpr_6 = (aot_gpr_6 + static_cast(4)); if (branch_taken) { @@ -2140,7 +2141,7 @@ L_088B48F4: aot_gpr_5 = (aot_gpr_5 << 4u); aot_gpr_5 = (aot_gpr_4 + aot_gpr_5); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast(76))); - aot_gpr_7 = (aot_mem.aot_direct_load16(ctx.gpr[23] + static_cast(50))); + ctx.gpr[7] = (aot_mem.aot_direct_load16(ctx.gpr[23] + static_cast(50))); ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(276))); ctx.gpr[9] = (aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast(72))); ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(272))); @@ -2151,7 +2152,7 @@ L_088B48F4: ctx.gpr[8] = (ctx.gpr[9] | 0u); ctx.gpr[9] = (aot_gpr_16 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[2]); - ctx.gpr[31] = (0x088B4948u); + aot_gpr_31 = (0x088B4948u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0043_entry, 43u, 75u, 0x088B08ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B4948u) goto L_088B4948; AOT_REGCACHE_SYNC_OUT(); return; @@ -2201,7 +2202,7 @@ L_088B497C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(268), aot_gpr_4); aot_gpr_4 = (aot_gpr_16 + static_cast(32)); aot_gpr_6 = (aot_gpr_16 + static_cast(44)); - aot_gpr_7 = (aot_gpr_16 + static_cast(46)); + ctx.gpr[7] = (aot_gpr_16 + static_cast(46)); ctx.gpr[8] = (0u | 0u); ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(292))); ctx.gpr[22] = (aot_gpr_16 | 0u); @@ -2211,7 +2212,7 @@ L_088B497C: aot_gpr_4 = (ctx.gpr[8] + aot_gpr_4); aot_gpr_6 = (ctx.gpr[8] + aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(248), aot_gpr_5); - aot_gpr_5 = (ctx.gpr[8] + aot_gpr_7); + aot_gpr_5 = (ctx.gpr[8] + ctx.gpr[7]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(244), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(236), aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(240), aot_gpr_5); @@ -2241,11 +2242,11 @@ L_088B4A08: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_gpr_6 = (std::bit_cast(aot_fpr_12)); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); - aot_gpr_7 = (std::bit_cast(aot_fpr_13)); + ctx.gpr[7] = (std::bit_cast(aot_fpr_13)); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(8))); ctx.gpr[8] = (std::bit_cast(aot_fpr_14)); aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(0), aot_gpr_6); - aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(4), aot_gpr_7); + aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(4), ctx.gpr[7]); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(244))); aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(8), ctx.gpr[8]); aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); @@ -2256,24 +2257,24 @@ L_088B4A08: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(120), std::bit_cast(aot_fpr_12)); aot_gpr_6 = (ctx.gpr[19] + static_cast(16)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); - aot_gpr_7 = (std::bit_cast(aot_fpr_12)); + ctx.gpr[7] = (std::bit_cast(aot_fpr_12)); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); ctx.gpr[8] = (std::bit_cast(aot_fpr_13)); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(8))); aot_gpr_5 = (std::bit_cast(aot_fpr_14)); - aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(0), aot_gpr_7); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(0), ctx.gpr[7]); aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(4), ctx.gpr[8]); aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(8), aot_gpr_5); aot_gpr_5 = (ctx.gpr[19] + static_cast(28)); aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0))); - aot_gpr_7 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(1))); + ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(1))); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(0), static_cast(aot_gpr_6)); - aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(1), static_cast(aot_gpr_7)); + aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(1), static_cast(ctx.gpr[7])); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(240))); aot_gpr_6 = (ctx.gpr[19] + static_cast(30)); - aot_gpr_7 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0))); + ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(1))); - aot_mem.aot_direct_store8(aot_gpr_6 + static_cast(0), static_cast(aot_gpr_7)); + aot_mem.aot_direct_store8(aot_gpr_6 + static_cast(0), static_cast(ctx.gpr[7])); aot_mem.aot_direct_store8(aot_gpr_6 + static_cast(1), static_cast(aot_gpr_5)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(48))); aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(12), std::bit_cast(aot_fpr_12)); @@ -2285,10 +2286,10 @@ L_088B4AC8: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(4))); aot_gpr_6 = (std::bit_cast(aot_fpr_13)); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(8))); - aot_gpr_7 = (std::bit_cast(aot_fpr_14)); + ctx.gpr[7] = (std::bit_cast(aot_fpr_14)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(80), aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(84), aot_gpr_6); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(88), aot_gpr_7); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(88), ctx.gpr[7]); aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(12))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(92), std::bit_cast(aot_fpr_15)); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0))); @@ -2315,8 +2316,8 @@ L_088B4B1C: aot_gpr_5 = (aot_gpr_5 + aot_gpr_4); aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_6 = (ctx.gpr[19] | 0u); - ctx.gpr[31] = (0x088B4B3Cu); - aot_gpr_7 = (ctx.gpr[20] | 0u); + aot_gpr_31 = (0x088B4B3Cu); + ctx.gpr[7] = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0043_entry, 43u, 159u, 0x088B1028u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B4B3Cu) goto L_088B4B3C; AOT_REGCACHE_SYNC_OUT(); return; L_088B4B3C: @@ -2363,8 +2364,8 @@ L_088B4B70: aot_gpr_5 = (aot_gpr_5 + aot_gpr_4); aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_6 = (ctx.gpr[19] | 0u); - ctx.gpr[31] = (0x088B4B98u); - aot_gpr_7 = (ctx.gpr[20] | 0u); + aot_gpr_31 = (0x088B4B98u); + ctx.gpr[7] = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0043_entry, 43u, 239u, 0x088B1C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B4B98u) goto L_088B4B98; AOT_REGCACHE_SYNC_OUT(); return; L_088B4B98: @@ -2423,15 +2424,15 @@ L_088B4BE0: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(248))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(252), aot_gpr_4); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(236))); - aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(244))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(244))); aot_gpr_5 = (aot_gpr_5 + static_cast(64)); ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(240))); - aot_gpr_7 = (aot_gpr_7 + static_cast(64)); + ctx.gpr[7] = (ctx.gpr[7] + static_cast(64)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(248), aot_gpr_5); aot_gpr_5 = (aot_gpr_6 + static_cast(64)); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(276))); ctx.gpr[8] = (ctx.gpr[8] + static_cast(64)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(244), aot_gpr_7); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(244), ctx.gpr[7]); aot_gpr_4 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_6) ? 1u : 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(236), aot_gpr_5); { const bool branch_taken = aot_gpr_4 != 0u; @@ -2469,7 +2470,7 @@ L_088B4C54: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(152), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[20] | 0u); - ctx.gpr[31] = (0x088B4C7Cu); + aot_gpr_31 = (0x088B4C7Cu); aot_gpr_6 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0043_entry, 43u, 73u, 0x088B086Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B4C7Cu) goto L_088B4C7C; AOT_REGCACHE_SYNC_OUT(); return; @@ -2536,10 +2537,10 @@ L_088B4C7C: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); aot_gpr_6 = (std::bit_cast(aot_fpr_13)); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); - aot_gpr_7 = (std::bit_cast(aot_fpr_14)); + ctx.gpr[7] = (std::bit_cast(aot_fpr_14)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), aot_gpr_6); - aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(8), aot_gpr_7); + aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(8), ctx.gpr[7]); ctx.gpr[18] = (ctx.gpr[18] + static_cast(1)); aot_gpr_4 = (static_cast(ctx.gpr[18]) < static_cast(ctx.gpr[21]) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; @@ -2636,8 +2637,8 @@ L_088B4DB8: aot_gpr_5 = (aot_gpr_5 + aot_gpr_4); aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_6 = (ctx.gpr[19] | 0u); - ctx.gpr[31] = (0x088B4DD8u); - aot_gpr_7 = (ctx.gpr[20] | 0u); + aot_gpr_31 = (0x088B4DD8u); + ctx.gpr[7] = (ctx.gpr[20] | 0u); ctx.pc = 0x088B1554u; ([&]() { AOT_REGCACHE_SYNC_OUT(); rt.invoke_native_fast_path(0x088B1554u, ctx); AOT_REGCACHE_SYNC_IN(); }()); if (ctx.pc == 0x088B4DD8u) goto L_088B4DD8; @@ -2684,8 +2685,8 @@ L_088B4E0C: aot_gpr_5 = (aot_gpr_5 + aot_gpr_4); aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_6 = (ctx.gpr[19] | 0u); - ctx.gpr[31] = (0x088B4E34u); - aot_gpr_7 = (ctx.gpr[20] | 0u); + aot_gpr_31 = (0x088B4E34u); + ctx.gpr[7] = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0043_entry, 43u, 382u, 0x088B3060u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B4E34u) goto L_088B4E34; AOT_REGCACHE_SYNC_OUT(); return; L_088B4E34: @@ -2767,7 +2768,7 @@ L_088B4EBC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(184), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (ctx.gpr[20] | 0u); - ctx.gpr[31] = (0x088B4EE4u); + aot_gpr_31 = (0x088B4EE4u); aot_gpr_6 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0043_entry, 43u, 73u, 0x088B086Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B4EE4u) goto L_088B4EE4; AOT_REGCACHE_SYNC_OUT(); return; @@ -2834,10 +2835,10 @@ L_088B4EE4: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); aot_gpr_6 = (std::bit_cast(aot_fpr_13)); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); - aot_gpr_7 = (std::bit_cast(aot_fpr_14)); + ctx.gpr[7] = (std::bit_cast(aot_fpr_14)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), aot_gpr_6); - aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(8), aot_gpr_7); + aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(8), ctx.gpr[7]); goto L_088B4F60; L_088B4F60: aot_gpr_16 = (aot_gpr_16 + static_cast(1)); @@ -2863,8 +2864,8 @@ L_088B4F74: ctx.gpr[22] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(324))); ctx.gpr[23] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(328))); ctx.gpr[30] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(332))); - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(336))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(336))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(352)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -2873,22 +2874,22 @@ L_088B4F74: L_088B4FA8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[31]); - ctx.gpr[31] = (0x088B4FBCu); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); + aot_gpr_31 = (0x088B4FBCu); aot_gpr_16 = (aot_gpr_4 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B4FBCu) goto L_088B4FBC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B4FBCu) goto L_088B4FBC; AOT_REGCACHE_SYNC_OUT(); return; L_088B4FBC: aot_gpr_6 = (1217u << 16u); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[2] | 0u); - ctx.gpr[31] = (0x088B4FD0u); + aot_gpr_31 = (0x088B4FD0u); aot_gpr_6 = (aot_gpr_6 + static_cast(7607)); goto L_088B55E4; L_088B4FD0: aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -2906,8 +2907,8 @@ L_088B4FE0: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(628), ctx.gpr[21]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(632), ctx.gpr[22]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(636), ctx.gpr[23]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(640), ctx.gpr[31]); - ctx.gpr[31] = (0x088B5018u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(640), aot_gpr_31); + aot_gpr_31 = (0x088B5018u); ctx.gpr[23] = (0u | 0u); ctx.pc = 0x08B7366Cu; AOT_REGCACHE_SYNC_OUT(); return; @@ -2941,7 +2942,7 @@ L_088B5038: } L_088B5040: aot_gpr_4 = (ctx.gpr[22] | 0u); - ctx.gpr[31] = (0x088B504Cu); + aot_gpr_31 = (0x088B504Cu); aot_gpr_5 = (ctx.gpr[21] | 0u); ctx.pc = 0x08B7367Cu; AOT_REGCACHE_SYNC_OUT(); return; @@ -2972,7 +2973,7 @@ L_088B5064: goto L_088B506C; } L_088B506C: - ctx.gpr[31] = (0x088B5074u); + aot_gpr_31 = (0x088B5074u); aot_gpr_4 = (ctx.gpr[22] | 0u); ctx.pc = 0x08B73684u; AOT_REGCACHE_SYNC_OUT(); return; @@ -2996,13 +2997,13 @@ L_088B5084: aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_6 = (ctx.gpr[17] | 0u); - ctx.gpr[31] = (0x088B5098u); - aot_gpr_7 = (ctx.gpr[18] | 0u); + aot_gpr_31 = (0x088B5098u); + ctx.gpr[7] = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0212_entry, 212u, 576u, 0x08B562D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B5098u) goto L_088B5098; AOT_REGCACHE_SYNC_OUT(); return; L_088B5098: aot_gpr_4 = (aot_gpr_29 | 0u); - ctx.gpr[31] = (0x088B50A4u); + aot_gpr_31 = (0x088B50A4u); aot_gpr_5 = (aot_gpr_16 | 0u); goto L_088B4FE0; L_088B50A4: @@ -3033,8 +3034,8 @@ L_088B50B8: ctx.gpr[21] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(628))); ctx.gpr[22] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(632))); ctx.gpr[23] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(636))); - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(640))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(640))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(656)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -3053,8 +3054,8 @@ L_088B50E4: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(632), ctx.gpr[22]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(636), ctx.gpr[23]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(640), ctx.gpr[30]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(644), ctx.gpr[31]); - ctx.gpr[31] = (0x088B5120u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(644), aot_gpr_31); + aot_gpr_31 = (0x088B5120u); ctx.gpr[17] = (aot_gpr_5 | 0u); ctx.pc = 0x08B7366Cu; AOT_REGCACHE_SYNC_OUT(); return; @@ -3089,7 +3090,7 @@ L_088B5144: } L_088B514C: aot_gpr_4 = (ctx.gpr[30] | 0u); - ctx.gpr[31] = (0x088B5158u); + aot_gpr_31 = (0x088B5158u); aot_gpr_5 = (ctx.gpr[23] | 0u); ctx.pc = 0x08B7367Cu; AOT_REGCACHE_SYNC_OUT(); return; @@ -3120,7 +3121,7 @@ L_088B5170: goto L_088B5178; } L_088B5178: - ctx.gpr[31] = (0x088B5180u); + aot_gpr_31 = (0x088B5180u); aot_gpr_4 = (ctx.gpr[30] | 0u); ctx.pc = 0x08B73684u; AOT_REGCACHE_SYNC_OUT(); return; @@ -3144,14 +3145,14 @@ L_088B5190: aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_5 = (ctx.gpr[21] | 0u); aot_gpr_6 = (ctx.gpr[18] | 0u); - ctx.gpr[31] = (0x088B51A4u); - aot_gpr_7 = (ctx.gpr[20] | 0u); + aot_gpr_31 = (0x088B51A4u); + ctx.gpr[7] = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0212_entry, 212u, 576u, 0x08B562D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B51A4u) goto L_088B51A4; AOT_REGCACHE_SYNC_OUT(); return; L_088B51A4: aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); - ctx.gpr[31] = (0x088B51B4u); + aot_gpr_31 = (0x088B51B4u); aot_gpr_6 = (aot_gpr_16 | 0u); goto L_088B50E4; L_088B51B4: @@ -3166,14 +3167,14 @@ L_088B51BC: aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_6 = (ctx.gpr[18] | 0u); - ctx.gpr[31] = (0x088B51D0u); - aot_gpr_7 = (ctx.gpr[20] | 0u); + aot_gpr_31 = (0x088B51D0u); + ctx.gpr[7] = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0212_entry, 212u, 576u, 0x08B562D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B51D0u) goto L_088B51D0; AOT_REGCACHE_SYNC_OUT(); return; L_088B51D0: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-24764))); jump_target = aot_gpr_5; - ctx.gpr[31] = (0x088B51DCu); + aot_gpr_31 = (0x088B51DCu); aot_gpr_4 = (aot_gpr_29 | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B51DCu) goto L_088B51DC; @@ -3206,8 +3207,8 @@ L_088B5204: ctx.gpr[22] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(632))); ctx.gpr[23] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(636))); ctx.gpr[30] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(640))); - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(644))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(644))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(656)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -3215,9 +3216,9 @@ L_088B5204: AOT_REGCACHE_SYNC_OUT(); return; L_088B5234: ctx.gpr[9] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - aot_gpr_7 = (0u | 0u); + ctx.gpr[7] = (0u | 0u); aot_gpr_5 = (ctx.gpr[9] + static_cast(-1)); - aot_gpr_5 = (static_cast(aot_gpr_7) < static_cast(aot_gpr_5) ? 1u : 0u); + aot_gpr_5 = (static_cast(ctx.gpr[7]) < static_cast(aot_gpr_5) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_5 = (0u | 0u); if (branch_taken) { @@ -3226,18 +3227,18 @@ L_088B5234: goto L_088B524C; } L_088B524C: - aot_gpr_7 = (aot_gpr_7 + static_cast(1)); - aot_gpr_6 = (aot_gpr_7 | 0u); + ctx.gpr[7] = (ctx.gpr[7] + static_cast(1)); + aot_gpr_6 = (ctx.gpr[7] | 0u); ctx.gpr[8] = (static_cast(aot_gpr_6) < static_cast(ctx.gpr[9]) ? 1u : 0u); { const bool branch_taken = ctx.gpr[8] == 0u; - ctx.gpr[8] = (aot_gpr_7 + aot_gpr_7); + ctx.gpr[8] = (ctx.gpr[7] + ctx.gpr[7]); if (branch_taken) { goto L_088B52F8; } goto L_088B5260; } L_088B5260: - ctx.gpr[8] = (aot_gpr_7 + ctx.gpr[8]); + ctx.gpr[8] = (ctx.gpr[7] + ctx.gpr[8]); ctx.gpr[8] = (ctx.gpr[8] << 2u); goto L_088B5268; L_088B5268: @@ -3292,7 +3293,7 @@ L_088B52E4: } L_088B52F8: aot_gpr_6 = (ctx.gpr[9] + static_cast(-1)); - aot_gpr_6 = (static_cast(aot_gpr_7) < static_cast(aot_gpr_6) ? 1u : 0u); + aot_gpr_6 = (static_cast(ctx.gpr[7]) < static_cast(aot_gpr_6) ? 1u : 0u); { const bool branch_taken = aot_gpr_6 != 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(12)); if (branch_taken) { @@ -3301,7 +3302,7 @@ L_088B52F8: goto L_088B5308; } L_088B5308: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; // nop local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -3314,7 +3315,7 @@ L_088B5310: ctx.gpr[18] = (aot_gpr_4 | 0u); ctx.gpr[17] = (aot_gpr_5 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); { const bool branch_taken = aot_gpr_5 != 0u; aot_gpr_16 = (aot_gpr_6 | 0u); if (branch_taken) { @@ -3325,7 +3326,7 @@ L_088B5310: L_088B5334: ctx.gpr[17] = (ctx.gpr[28] + static_cast(6040)); aot_gpr_4 = (ctx.gpr[18] | 0u); - ctx.gpr[31] = (0x088B5344u); + aot_gpr_31 = (0x088B5344u); aot_gpr_5 = (aot_gpr_16 | 0u); goto L_088B4FE0; L_088B5344: @@ -3346,7 +3347,7 @@ L_088B5344: L_088B5368: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-24756))); jump_target = aot_gpr_5; - ctx.gpr[31] = (0x088B5374u); + aot_gpr_31 = (0x088B5374u); aot_gpr_4 = (ctx.gpr[17] | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B5374u) goto L_088B5374; @@ -3362,19 +3363,19 @@ L_088B5374: L_088B537C: aot_gpr_6 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_5 | 0u); - ctx.gpr[31] = (0x088B538Cu); + aot_gpr_31 = (0x088B538Cu); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B538Cu) goto L_088B538C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B538Cu) goto L_088B538C; AOT_REGCACHE_SYNC_OUT(); return; L_088B538C: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-24768), ctx.gpr[17]); aot_gpr_4 = (ctx.gpr[18] | 0u); - ctx.gpr[31] = (0x088B53A0u); + aot_gpr_31 = (0x088B53A0u); aot_gpr_6 = (aot_gpr_16 | 0u); goto L_088B50E4; L_088B53A0: - ctx.gpr[31] = (0x088B53A8u); + aot_gpr_31 = (0x088B53A8u); aot_gpr_4 = (ctx.gpr[17] | 0u); goto L_088B5234; L_088B53A8: @@ -3384,8 +3385,8 @@ L_088B53AC: aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -3397,7 +3398,7 @@ L_088B53C4: ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-24768))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); { const bool branch_taken = ctx.gpr[18] == 0u; // nop if (branch_taken) { @@ -3418,7 +3419,7 @@ L_088B53F0: ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-24764))); jump_target = aot_gpr_5; - ctx.gpr[31] = (0x088B5400u); + aot_gpr_31 = (0x088B5400u); ctx.gpr[17] = (0u | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B5400u) goto L_088B5400; @@ -3443,9 +3444,9 @@ L_088B5410: aot_gpr_6 = (aot_gpr_5 + aot_gpr_5); aot_gpr_6 = (aot_gpr_5 + aot_gpr_6); aot_gpr_6 = (aot_gpr_6 << 2u); - aot_gpr_7 = (aot_gpr_16 + aot_gpr_6); - aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_7 + static_cast(0))); - { const bool branch_taken = aot_gpr_7 == aot_gpr_4; + ctx.gpr[7] = (aot_gpr_16 + aot_gpr_6); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(0))); + { const bool branch_taken = ctx.gpr[7] == aot_gpr_4; // nop if (branch_taken) { goto L_088B5454; @@ -3453,7 +3454,7 @@ L_088B5410: goto L_088B543C; } L_088B543C: - aot_gpr_6 = (aot_gpr_4 < aot_gpr_7 ? 1u : 0u); + aot_gpr_6 = (aot_gpr_4 < ctx.gpr[7] ? 1u : 0u); { const bool branch_taken = aot_gpr_6 == 0u; // nop if (branch_taken) { @@ -3497,15 +3498,15 @@ L_088B5470: aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_088B5488: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-24768))); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -3515,8 +3516,8 @@ L_088B5490: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[31]); - ctx.gpr[31] = (0x088B54A8u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); + aot_gpr_31 = (0x088B54A8u); aot_gpr_16 = (aot_gpr_5 | 0u); goto L_088B53C4; L_088B54A8: @@ -3531,9 +3532,9 @@ L_088B54A8: L_088B54B4: aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); aot_gpr_5 = (2232u << 16u); - aot_gpr_7 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x088B54CCu); + aot_gpr_31 = (0x088B54CCu); aot_gpr_5 = (aot_gpr_5 + static_cast(-22440)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0212_entry, 212u, 576u, 0x08B562D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B54CCu) goto L_088B54CC; AOT_REGCACHE_SYNC_OUT(); return; @@ -3541,8 +3542,8 @@ L_088B54CC: ctx.gpr[2] = (ctx.gpr[17] | 0u); aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -3559,8 +3560,8 @@ L_088B54E4: ctx.gpr[19] = (ctx.gpr[19] + static_cast(-22248)); aot_gpr_16 = (aot_gpr_6 | 0u); ctx.gpr[18] = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[31]); - ctx.gpr[31] = (0x088B5518u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); + aot_gpr_31 = (0x088B5518u); aot_gpr_5 = (ctx.gpr[19] | 0u); goto L_088B5490; L_088B5518: @@ -3574,7 +3575,7 @@ L_088B5518: L_088B5520: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); - ctx.gpr[31] = (0x088B5530u); + aot_gpr_31 = (0x088B5530u); aot_gpr_6 = (aot_gpr_16 | 0u); ctx.pc = 0x08B73694u; AOT_REGCACHE_SYNC_OUT(); return; @@ -3589,7 +3590,7 @@ L_088B5530: L_088B5538: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); - ctx.gpr[31] = (0x088B5548u); + aot_gpr_31 = (0x088B5548u); aot_gpr_6 = (aot_gpr_16 | 0u); ctx.pc = 0x08B73694u; AOT_REGCACHE_SYNC_OUT(); return; @@ -3598,8 +3599,8 @@ L_088B5548: ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -3616,8 +3617,8 @@ L_088B5564: ctx.gpr[19] = (ctx.gpr[19] + static_cast(-22184)); aot_gpr_16 = (aot_gpr_6 | 0u); ctx.gpr[18] = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[31]); - ctx.gpr[31] = (0x088B5598u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); + aot_gpr_31 = (0x088B5598u); aot_gpr_5 = (ctx.gpr[19] | 0u); goto L_088B5490; L_088B5598: @@ -3631,7 +3632,7 @@ L_088B5598: L_088B55A0: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); - ctx.gpr[31] = (0x088B55B0u); + aot_gpr_31 = (0x088B55B0u); aot_gpr_6 = (aot_gpr_16 | 0u); ctx.pc = 0x08B7364Cu; AOT_REGCACHE_SYNC_OUT(); return; @@ -3646,7 +3647,7 @@ L_088B55B0: L_088B55B8: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); - ctx.gpr[31] = (0x088B55C8u); + aot_gpr_31 = (0x088B55C8u); aot_gpr_6 = (aot_gpr_16 | 0u); ctx.pc = 0x08B7364Cu; AOT_REGCACHE_SYNC_OUT(); return; @@ -3655,8 +3656,8 @@ L_088B55C8: ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -3668,7 +3669,7 @@ L_088B55E4: ctx.gpr[8] = (ctx.gpr[8] + static_cast(31161)); ctx.gpr[10] = (ctx.gpr[9] < static_cast(12) ? 1u : 0u); { const bool branch_taken = ctx.gpr[10] != 0u; - aot_gpr_7 = (ctx.gpr[8] | 0u); + ctx.gpr[7] = (ctx.gpr[8] | 0u); if (branch_taken) { goto L_088B5720; } @@ -3689,7 +3690,7 @@ L_088B55FC: ctx.gpr[10] = (ctx.gpr[10] + ctx.gpr[2]); ctx.gpr[11] = (ctx.gpr[11] << 8u); ctx.gpr[2] = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(6))); - aot_gpr_7 = (ctx.gpr[10] + aot_gpr_7); + ctx.gpr[7] = (ctx.gpr[10] + ctx.gpr[7]); ctx.gpr[10] = (ctx.gpr[3] + ctx.gpr[11]); ctx.gpr[11] = (ctx.gpr[2] << 16u); ctx.gpr[2] = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(7))); @@ -3708,39 +3709,39 @@ L_088B55FC: ctx.gpr[11] = (ctx.gpr[2] << 24u); ctx.gpr[10] = (ctx.gpr[10] + ctx.gpr[11]); aot_gpr_6 = (ctx.gpr[10] + aot_gpr_6); - aot_gpr_7 = (aot_gpr_7 - ctx.gpr[8]); - aot_gpr_7 = (aot_gpr_7 - aot_gpr_6); + ctx.gpr[7] = (ctx.gpr[7] - ctx.gpr[8]); + ctx.gpr[7] = (ctx.gpr[7] - aot_gpr_6); ctx.gpr[10] = (aot_gpr_6 >> 13u); - aot_gpr_7 = (aot_gpr_7 ^ ctx.gpr[10]); + ctx.gpr[7] = (ctx.gpr[7] ^ ctx.gpr[10]); ctx.gpr[8] = (ctx.gpr[8] - aot_gpr_6); - ctx.gpr[8] = (ctx.gpr[8] - aot_gpr_7); - ctx.gpr[10] = (aot_gpr_7 << 8u); + ctx.gpr[8] = (ctx.gpr[8] - ctx.gpr[7]); + ctx.gpr[10] = (ctx.gpr[7] << 8u); ctx.gpr[8] = (ctx.gpr[8] ^ ctx.gpr[10]); - aot_gpr_6 = (aot_gpr_6 - aot_gpr_7); + aot_gpr_6 = (aot_gpr_6 - ctx.gpr[7]); aot_gpr_6 = (aot_gpr_6 - ctx.gpr[8]); ctx.gpr[10] = (ctx.gpr[8] >> 13u); aot_gpr_6 = (aot_gpr_6 ^ ctx.gpr[10]); - aot_gpr_7 = (aot_gpr_7 - ctx.gpr[8]); - aot_gpr_7 = (aot_gpr_7 - aot_gpr_6); + ctx.gpr[7] = (ctx.gpr[7] - ctx.gpr[8]); + ctx.gpr[7] = (ctx.gpr[7] - aot_gpr_6); ctx.gpr[10] = (aot_gpr_6 >> 12u); - aot_gpr_7 = (aot_gpr_7 ^ ctx.gpr[10]); + ctx.gpr[7] = (ctx.gpr[7] ^ ctx.gpr[10]); ctx.gpr[8] = (ctx.gpr[8] - aot_gpr_6); - ctx.gpr[8] = (ctx.gpr[8] - aot_gpr_7); - ctx.gpr[10] = (aot_gpr_7 << 16u); + ctx.gpr[8] = (ctx.gpr[8] - ctx.gpr[7]); + ctx.gpr[10] = (ctx.gpr[7] << 16u); ctx.gpr[8] = (ctx.gpr[8] ^ ctx.gpr[10]); - aot_gpr_6 = (aot_gpr_6 - aot_gpr_7); + aot_gpr_6 = (aot_gpr_6 - ctx.gpr[7]); aot_gpr_6 = (aot_gpr_6 - ctx.gpr[8]); ctx.gpr[10] = (ctx.gpr[8] >> 5u); aot_gpr_6 = (aot_gpr_6 ^ ctx.gpr[10]); - aot_gpr_7 = (aot_gpr_7 - ctx.gpr[8]); - aot_gpr_7 = (aot_gpr_7 - aot_gpr_6); + ctx.gpr[7] = (ctx.gpr[7] - ctx.gpr[8]); + ctx.gpr[7] = (ctx.gpr[7] - aot_gpr_6); ctx.gpr[10] = (aot_gpr_6 >> 3u); - aot_gpr_7 = (aot_gpr_7 ^ ctx.gpr[10]); + ctx.gpr[7] = (ctx.gpr[7] ^ ctx.gpr[10]); ctx.gpr[8] = (ctx.gpr[8] - aot_gpr_6); - ctx.gpr[8] = (ctx.gpr[8] - aot_gpr_7); - ctx.gpr[10] = (aot_gpr_7 << 10u); + ctx.gpr[8] = (ctx.gpr[8] - ctx.gpr[7]); + ctx.gpr[10] = (ctx.gpr[7] << 10u); ctx.gpr[8] = (ctx.gpr[8] ^ ctx.gpr[10]); - aot_gpr_6 = (aot_gpr_6 - aot_gpr_7); + aot_gpr_6 = (aot_gpr_6 - ctx.gpr[7]); aot_gpr_6 = (aot_gpr_6 - ctx.gpr[8]); ctx.gpr[10] = (ctx.gpr[8] >> 15u); aot_gpr_6 = (aot_gpr_6 ^ ctx.gpr[10]); @@ -3801,7 +3802,7 @@ L_088B574C: ctx.gpr[2] = (ctx.gpr[2] << 16u); ctx.gpr[11] = (ctx.gpr[12] + ctx.gpr[15]); { const bool branch_taken = 0u == 0u; - aot_gpr_7 = (aot_gpr_7 + ctx.gpr[13]); + ctx.gpr[7] = (ctx.gpr[7] + ctx.gpr[13]); if (branch_taken) { goto L_088B580C; } @@ -3829,7 +3830,7 @@ L_088B57B4: ctx.gpr[10] = (ctx.gpr[10] << 8u); ctx.gpr[2] = (ctx.gpr[2] << 16u); ctx.gpr[11] = (ctx.gpr[12] + ctx.gpr[15]); - aot_gpr_7 = (aot_gpr_7 + ctx.gpr[13]); + ctx.gpr[7] = (ctx.gpr[7] + ctx.gpr[13]); goto L_088B580C; L_088B580C: { const bool branch_taken = 0u == 0u; @@ -3859,7 +3860,7 @@ L_088B5814: ctx.gpr[10] = (ctx.gpr[10] << 8u); ctx.gpr[2] = (ctx.gpr[2] << 16u); ctx.gpr[11] = (ctx.gpr[3] + ctx.gpr[13]); - aot_gpr_7 = (aot_gpr_7 + ctx.gpr[12]); + ctx.gpr[7] = (ctx.gpr[7] + ctx.gpr[12]); goto L_088B5864; L_088B5864: { const bool branch_taken = 0u == 0u; @@ -3886,7 +3887,7 @@ L_088B586C: aot_gpr_4 = (aot_gpr_4 << 8u); ctx.gpr[9] = (ctx.gpr[9] << 16u); ctx.gpr[11] = (ctx.gpr[11] + ctx.gpr[12]); - aot_gpr_7 = (aot_gpr_7 + ctx.gpr[3]); + ctx.gpr[7] = (ctx.gpr[7] + ctx.gpr[3]); goto L_088B58B0; L_088B58B0: { const bool branch_taken = 0u == 0u; @@ -3911,7 +3912,7 @@ L_088B58B8: aot_gpr_4 = (aot_gpr_4 << 8u); ctx.gpr[9] = (ctx.gpr[9] << 16u); ctx.gpr[2] = (ctx.gpr[2] + ctx.gpr[3]); - aot_gpr_7 = (aot_gpr_7 + ctx.gpr[11]); + ctx.gpr[7] = (ctx.gpr[7] + ctx.gpr[11]); goto L_088B58F4; L_088B58F4: { const bool branch_taken = 0u == 0u; @@ -3934,7 +3935,7 @@ L_088B58FC: aot_gpr_4 = (aot_gpr_4 << 8u); ctx.gpr[9] = (ctx.gpr[9] << 16u); ctx.gpr[10] = (ctx.gpr[11] + ctx.gpr[10]); - aot_gpr_7 = (aot_gpr_7 + ctx.gpr[3]); + ctx.gpr[7] = (ctx.gpr[7] + ctx.gpr[3]); goto L_088B5930; L_088B5930: { const bool branch_taken = 0u == 0u; @@ -3954,7 +3955,7 @@ L_088B5938: aot_gpr_4 = (aot_gpr_4 << 8u); ctx.gpr[9] = (ctx.gpr[9] << 16u); ctx.gpr[8] = (ctx.gpr[8] + ctx.gpr[10]); - aot_gpr_7 = (aot_gpr_7 + ctx.gpr[11]); + ctx.gpr[7] = (ctx.gpr[7] + ctx.gpr[11]); goto L_088B5960; L_088B5960: { const bool branch_taken = 0u == 0u; @@ -3971,11 +3972,11 @@ L_088B5968: aot_gpr_4 = (ctx.gpr[9] << 8u); ctx.gpr[9] = (ctx.gpr[10] << 16u); ctx.gpr[10] = (ctx.gpr[11] << 24u); - aot_gpr_7 = (aot_gpr_7 + ctx.gpr[10]); + ctx.gpr[7] = (ctx.gpr[7] + ctx.gpr[10]); goto L_088B5984; L_088B5984: { const bool branch_taken = 0u == 0u; - ctx.gpr[9] = (aot_gpr_7 + ctx.gpr[9]); + ctx.gpr[9] = (ctx.gpr[7] + ctx.gpr[9]); if (branch_taken) { goto L_088B59A0; } @@ -3986,7 +3987,7 @@ L_088B598C: ctx.gpr[10] = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(2))); aot_gpr_4 = (ctx.gpr[9] << 8u); ctx.gpr[9] = (ctx.gpr[10] << 16u); - ctx.gpr[9] = (aot_gpr_7 + ctx.gpr[9]); + ctx.gpr[9] = (ctx.gpr[7] + ctx.gpr[9]); goto L_088B59A0; L_088B59A0: { const bool branch_taken = 0u == 0u; @@ -3999,56 +4000,56 @@ L_088B59A0: L_088B59A8: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(1))); aot_gpr_4 = (aot_gpr_4 << 8u); - aot_gpr_4 = (aot_gpr_7 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[7] + aot_gpr_4); goto L_088B59B4; L_088B59B4: { const bool branch_taken = 0u == 0u; - aot_gpr_7 = (aot_gpr_4 + aot_gpr_5); + ctx.gpr[7] = (aot_gpr_4 + aot_gpr_5); if (branch_taken) { goto L_088B59C0; } goto L_088B59BC; } L_088B59BC: - aot_gpr_7 = (aot_gpr_7 + aot_gpr_5); + ctx.gpr[7] = (ctx.gpr[7] + aot_gpr_5); goto L_088B59C0; L_088B59C0: - aot_gpr_4 = (aot_gpr_7 - ctx.gpr[8]); + aot_gpr_4 = (ctx.gpr[7] - ctx.gpr[8]); aot_gpr_4 = (aot_gpr_4 - aot_gpr_6); aot_gpr_5 = (aot_gpr_6 >> 13u); aot_gpr_4 = (aot_gpr_4 ^ aot_gpr_5); aot_gpr_5 = (ctx.gpr[8] - aot_gpr_6); aot_gpr_5 = (aot_gpr_5 - aot_gpr_4); - aot_gpr_7 = (aot_gpr_4 << 8u); - aot_gpr_5 = (aot_gpr_5 ^ aot_gpr_7); + ctx.gpr[7] = (aot_gpr_4 << 8u); + aot_gpr_5 = (aot_gpr_5 ^ ctx.gpr[7]); aot_gpr_6 = (aot_gpr_6 - aot_gpr_4); aot_gpr_6 = (aot_gpr_6 - aot_gpr_5); - aot_gpr_7 = (aot_gpr_5 >> 13u); - aot_gpr_6 = (aot_gpr_6 ^ aot_gpr_7); + ctx.gpr[7] = (aot_gpr_5 >> 13u); + aot_gpr_6 = (aot_gpr_6 ^ ctx.gpr[7]); aot_gpr_4 = (aot_gpr_4 - aot_gpr_5); aot_gpr_4 = (aot_gpr_4 - aot_gpr_6); - aot_gpr_7 = (aot_gpr_6 >> 12u); - aot_gpr_4 = (aot_gpr_4 ^ aot_gpr_7); + ctx.gpr[7] = (aot_gpr_6 >> 12u); + aot_gpr_4 = (aot_gpr_4 ^ ctx.gpr[7]); aot_gpr_5 = (aot_gpr_5 - aot_gpr_6); aot_gpr_5 = (aot_gpr_5 - aot_gpr_4); - aot_gpr_7 = (aot_gpr_4 << 16u); - aot_gpr_5 = (aot_gpr_5 ^ aot_gpr_7); + ctx.gpr[7] = (aot_gpr_4 << 16u); + aot_gpr_5 = (aot_gpr_5 ^ ctx.gpr[7]); aot_gpr_6 = (aot_gpr_6 - aot_gpr_4); aot_gpr_6 = (aot_gpr_6 - aot_gpr_5); - aot_gpr_7 = (aot_gpr_5 >> 5u); - aot_gpr_6 = (aot_gpr_6 ^ aot_gpr_7); + ctx.gpr[7] = (aot_gpr_5 >> 5u); + aot_gpr_6 = (aot_gpr_6 ^ ctx.gpr[7]); aot_gpr_4 = (aot_gpr_4 - aot_gpr_5); aot_gpr_4 = (aot_gpr_4 - aot_gpr_6); - aot_gpr_7 = (aot_gpr_6 >> 3u); - aot_gpr_4 = (aot_gpr_4 ^ aot_gpr_7); + ctx.gpr[7] = (aot_gpr_6 >> 3u); + aot_gpr_4 = (aot_gpr_4 ^ ctx.gpr[7]); aot_gpr_5 = (aot_gpr_5 - aot_gpr_6); aot_gpr_5 = (aot_gpr_5 - aot_gpr_4); - aot_gpr_7 = (aot_gpr_4 << 10u); - aot_gpr_5 = (aot_gpr_5 ^ aot_gpr_7); + ctx.gpr[7] = (aot_gpr_4 << 10u); + aot_gpr_5 = (aot_gpr_5 ^ ctx.gpr[7]); aot_gpr_4 = (aot_gpr_6 - aot_gpr_4); ctx.gpr[2] = (aot_gpr_4 - aot_gpr_5); aot_gpr_4 = (aot_gpr_5 >> 15u); - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; ctx.gpr[2] = (ctx.gpr[2] ^ aot_gpr_4); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -4057,7 +4058,7 @@ L_088B59C0: L_088B5A54: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(8)))))); aot_gpr_5 = (aot_gpr_5 | 8u); - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(8), static_cast(aot_gpr_5)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -4071,8 +4072,8 @@ L_088B5A64: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[19]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[20]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[31]); - ctx.gpr[31] = (0x088B5A8Cu); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_31); + aot_gpr_31 = (0x088B5A8Cu); ctx.gpr[18] = (0u | 0u); goto L_088B6F30; L_088B5A8C: @@ -4111,7 +4112,7 @@ L_088B5AB4: ctx.gpr[19] = (ctx.gpr[19] + static_cast(-1008)); aot_gpr_5 = (0u < aot_gpr_4 ? 1u : 0u); aot_gpr_5 = (aot_gpr_5 & 255u); - ctx.gpr[31] = (0x088B5AF0u); + aot_gpr_31 = (0x088B5AF0u); aot_gpr_4 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0033_entry, 33u, 195u, 0x08888928u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B5AF0u) goto L_088B5AF0; AOT_REGCACHE_SYNC_OUT(); return; @@ -4124,7 +4125,7 @@ L_088B5AF0: goto L_088B5AF8; } L_088B5AF8: - ctx.gpr[31] = (0x088B5B00u); + aot_gpr_31 = (0x088B5B00u); aot_gpr_4 = (aot_gpr_16 | 0u); goto L_088B5D90; L_088B5B00: @@ -4136,12 +4137,12 @@ L_088B5B00: goto L_088B5B08; } L_088B5B08: - ctx.gpr[31] = (0x088B5B10u); + aot_gpr_31 = (0x088B5B10u); aot_gpr_4 = (aot_gpr_16 | 0u); goto L_088B5BEC; L_088B5B10: ctx.gpr[20] = (ctx.gpr[2] | 0u); - ctx.gpr[31] = (0x088B5B1Cu); + aot_gpr_31 = (0x088B5B1Cu); aot_gpr_4 = (aot_gpr_16 | 0u); goto L_088B5BF8; L_088B5B1C: @@ -4154,7 +4155,7 @@ L_088B5B1C: } L_088B5B24: aot_gpr_4 = (ctx.gpr[19] | 0u); - ctx.gpr[31] = (0x088B5B30u); + aot_gpr_31 = (0x088B5B30u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0033_entry, 33u, 196u, 0x08888934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B5B30u) goto L_088B5B30; AOT_REGCACHE_SYNC_OUT(); return; @@ -4170,7 +4171,7 @@ L_088B5B34: goto L_088B5B3C; } L_088B5B3C: - ctx.gpr[31] = (0x088B5B44u); + aot_gpr_31 = (0x088B5B44u); aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0211_entry, 211u, 158u, 0x08B50A54u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B5B44u) goto L_088B5B44; AOT_REGCACHE_SYNC_OUT(); return; @@ -4185,7 +4186,7 @@ L_088B5B44: goto L_088B5B54; } L_088B5B54: - ctx.gpr[31] = (0x088B5B5Cu); + aot_gpr_31 = (0x088B5B5Cu); aot_gpr_4 = (aot_gpr_16 | 0u); goto L_088B65A4; L_088B5B5C: @@ -4197,7 +4198,7 @@ L_088B5B5C: goto L_088B5B64; } L_088B5B64: - ctx.gpr[31] = (0x088B5B6Cu); + aot_gpr_31 = (0x088B5B6Cu); aot_gpr_4 = (aot_gpr_16 | 0u); goto L_088B5BF8; L_088B5B6C: @@ -4207,7 +4208,7 @@ L_088B5B6C: aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(8), static_cast(aot_gpr_4)); goto L_088B5B7C; L_088B5B7C: - ctx.gpr[31] = (0x088B5B84u); + aot_gpr_31 = (0x088B5B84u); aot_gpr_4 = (aot_gpr_16 | 0u); goto L_088B5BEC; L_088B5B84: @@ -4229,7 +4230,7 @@ L_088B5B8C: goto L_088B5B9C; } L_088B5B9C: - ctx.gpr[31] = (0x088B5BA4u); + aot_gpr_31 = (0x088B5BA4u); aot_gpr_4 = (aot_gpr_16 | 0u); goto L_088B68F4; L_088B5BA4: @@ -4240,8 +4241,8 @@ L_088B5BA4: ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -4250,11 +4251,11 @@ L_088B5BA4: L_088B5BCC: aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(8)))))); aot_gpr_5 = (aot_gpr_5 & 255u); - aot_gpr_7 = (0u + static_cast(-2)); - aot_gpr_6 = (aot_gpr_6 & aot_gpr_7); + ctx.gpr[7] = (0u + static_cast(-2)); + aot_gpr_6 = (aot_gpr_6 & ctx.gpr[7]); aot_gpr_5 = (aot_gpr_5 & 1u); aot_gpr_5 = (aot_gpr_6 | aot_gpr_5); - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(8), static_cast(aot_gpr_5)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -4262,7 +4263,7 @@ L_088B5BCC: AOT_REGCACHE_SYNC_OUT(); return; L_088B5BEC: ctx.gpr[2] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(8)))))); - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; ctx.gpr[2] = (ctx.gpr[2] & 1u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -4278,7 +4279,7 @@ L_088B5BF8: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[19]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), ctx.gpr[20]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), ctx.gpr[21]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), aot_gpr_31); ctx.gpr[17] = (aot_gpr_4 | 0u); aot_gpr_5 = (ctx.gpr[17] - ctx.gpr[17]); aot_gpr_6 = (0u | 12u); @@ -4296,7 +4297,7 @@ L_088B5BF8: L_088B5C44: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); - ctx.gpr[31] = (0x088B5C54u); + aot_gpr_31 = (0x088B5C54u); aot_gpr_4 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 319u, 0x08B655B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B5C54u) goto L_088B5C54; AOT_REGCACHE_SYNC_OUT(); return; @@ -4354,9 +4355,9 @@ L_088B5CA4: goto L_088B5CB0; } L_088B5CB0: - ctx.gpr[31] = (0x088B5CB8u); + aot_gpr_31 = (0x088B5CB8u); aot_gpr_4 = (ctx.gpr[21] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B5CB8u) goto L_088B5CB8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B5CB8u) goto L_088B5CB8; AOT_REGCACHE_SYNC_OUT(); return; L_088B5CB8: ctx.gpr[19] = (ctx.gpr[19] + static_cast(12)); @@ -4375,10 +4376,10 @@ L_088B5CC4: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_6 = (aot_gpr_4 - aot_gpr_4); - aot_gpr_7 = (static_cast(static_cast(aot_gpr_6) >> 3u)); - aot_gpr_7 = (aot_gpr_7 >> 29u); + ctx.gpr[7] = (static_cast(static_cast(aot_gpr_6) >> 3u)); + ctx.gpr[7] = (ctx.gpr[7] >> 29u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(5), static_cast(0u)); - aot_gpr_6 = (aot_gpr_6 + aot_gpr_7); + aot_gpr_6 = (aot_gpr_6 + ctx.gpr[7]); aot_gpr_6 = (static_cast(static_cast(aot_gpr_6) >> 3u)); { const bool branch_taken = static_cast(aot_gpr_6) <= 0; aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(6), static_cast(0u)); @@ -4388,9 +4389,9 @@ L_088B5CC4: goto L_088B5CF4; } L_088B5CF4: - aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_7); + aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), ctx.gpr[7]); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(4), ctx.gpr[8]); aot_gpr_4 = (aot_gpr_4 + static_cast(8)); aot_gpr_6 = (aot_gpr_6 + static_cast(-1)); @@ -4429,9 +4430,9 @@ L_088B5D34: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(8)))))); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(28), aot_gpr_5); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(0), static_cast(0u)); - aot_gpr_7 = (0u + static_cast(-5)); + ctx.gpr[7] = (0u + static_cast(-5)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(1), static_cast(0u)); - aot_gpr_4 = (aot_gpr_4 & aot_gpr_7); + aot_gpr_4 = (aot_gpr_4 & ctx.gpr[7]); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(40), aot_gpr_6); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(8), static_cast(aot_gpr_4)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(48), 0u); @@ -4446,8 +4447,8 @@ L_088B5D34: ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); ctx.gpr[21] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(28))); - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(32))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(32))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(48)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -4459,7 +4460,7 @@ L_088B5D90: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(256), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_5 & 8u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(260), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(260), aot_gpr_31); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -4468,11 +4469,11 @@ L_088B5D90: goto L_088B5DB0; } L_088B5DB0: - ctx.gpr[31] = (0x088B5DB8u); + aot_gpr_31 = (0x088B5DB8u); aot_gpr_4 = (aot_gpr_16 | 0u); goto L_088B5BF8; L_088B5DB8: - ctx.gpr[31] = (0x088B5DC0u); + aot_gpr_31 = (0x088B5DC0u); aot_gpr_4 = (aot_gpr_16 | 0u); goto L_088B6F30; L_088B5DC0: @@ -4502,27 +4503,27 @@ L_088B5DD0: L_088B5DD8: aot_gpr_6 = (2232u << 16u); aot_gpr_5 = (ctx.gpr[28] + static_cast(-24716)); - aot_gpr_7 = (ctx.gpr[28] + static_cast(-24708)); + ctx.gpr[7] = (ctx.gpr[28] + static_cast(-24708)); ctx.gpr[8] = (ctx.gpr[28] + static_cast(-24696)); aot_gpr_4 = (aot_gpr_29 | 0u); - ctx.gpr[31] = (0x088B5DF4u); + aot_gpr_31 = (0x088B5DF4u); aot_gpr_6 = (aot_gpr_6 + static_cast(-22360)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0212_entry, 212u, 576u, 0x08B562D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B5DF4u) goto L_088B5DF4; AOT_REGCACHE_SYNC_OUT(); return; L_088B5DF4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (aot_gpr_29 | 0u); - ctx.gpr[31] = (0x088B5E04u); + aot_gpr_31 = (0x088B5E04u); aot_gpr_6 = (0u | 1u); goto L_088B62A4; L_088B5E04: - ctx.gpr[31] = (0x088B5E0Cu); + aot_gpr_31 = (0x088B5E0Cu); aot_gpr_4 = (aot_gpr_16 | 0u); goto L_088B707C; L_088B5E0C: aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(256))); - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(260))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(260))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(272)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -4533,20 +4534,20 @@ L_088B5E1C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[8]); - aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); ctx.gpr[10] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); aot_gpr_4 = (ctx.gpr[9] & 255u); - aot_gpr_7 = (aot_gpr_7 - ctx.gpr[10]); - ctx.gpr[9] = (static_cast(static_cast(aot_gpr_7) >> 3u)); + ctx.gpr[7] = (ctx.gpr[7] - ctx.gpr[10]); + ctx.gpr[9] = (static_cast(static_cast(ctx.gpr[7]) >> 3u)); ctx.gpr[9] = (ctx.gpr[9] >> 29u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), ctx.gpr[17]); - ctx.gpr[17] = (aot_gpr_7 + ctx.gpr[9]); + ctx.gpr[17] = (ctx.gpr[7] + ctx.gpr[9]); ctx.gpr[17] = (static_cast(static_cast(ctx.gpr[17]) >> 3u)); - aot_gpr_7 = (ctx.gpr[17] < ctx.gpr[8] ? 1u : 0u); + ctx.gpr[7] = (ctx.gpr[17] < ctx.gpr[8] ? 1u : 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), ctx.gpr[19]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), ctx.gpr[31]); - { const bool branch_taken = aot_gpr_7 == 0u; + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), aot_gpr_31); + { const bool branch_taken = ctx.gpr[7] == 0u; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); if (branch_taken) { goto L_088B5E74; @@ -4554,18 +4555,18 @@ L_088B5E1C: goto L_088B5E68; } L_088B5E68: - aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); { const bool branch_taken = 0u == 0u; - ctx.gpr[17] = (ctx.gpr[17] + aot_gpr_7); + ctx.gpr[17] = (ctx.gpr[17] + ctx.gpr[7]); if (branch_taken) { goto L_088B5E80; } goto L_088B5E74; } L_088B5E74: - aot_gpr_7 = (aot_gpr_29 + static_cast(4)); - aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_7 + static_cast(0))); - ctx.gpr[17] = (ctx.gpr[17] + aot_gpr_7); + ctx.gpr[7] = (aot_gpr_29 + static_cast(4)); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(0))); + ctx.gpr[17] = (ctx.gpr[17] + ctx.gpr[7]); goto L_088B5E80; L_088B5E80: { const bool branch_taken = ctx.gpr[17] == 0u; @@ -4580,14 +4581,14 @@ L_088B5E88: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_6); aot_gpr_4 = (ctx.gpr[17] << 3u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_5); - ctx.gpr[31] = (0x088B5EA0u); + aot_gpr_31 = (0x088B5EA0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_4); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 474u, 0x08ABE308u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B5EA0u) goto L_088B5EA0; AOT_REGCACHE_SYNC_OUT(); return; L_088B5EA0: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); - aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); ctx.gpr[19] = (ctx.gpr[2] | 0u); { const bool branch_taken = ctx.gpr[19] != 0u; aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); @@ -4600,8 +4601,8 @@ L_088B5EB8: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_5); - ctx.gpr[31] = (0x088B5ECCu); - aot_gpr_4 = (aot_gpr_7 | 0u); + aot_gpr_31 = (0x088B5ECCu); + aot_gpr_4 = (ctx.gpr[7] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 289u, 0x08B65438u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B5ECCu) goto L_088B5ECC; AOT_REGCACHE_SYNC_OUT(); return; L_088B5ECC: @@ -4611,9 +4612,9 @@ L_088B5ECC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); goto L_088B5EDC; L_088B5EDC: - aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); ctx.gpr[18] = (ctx.gpr[19] | 0u); - { const bool branch_taken = aot_gpr_7 == aot_gpr_5; + { const bool branch_taken = ctx.gpr[7] == aot_gpr_5; aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(8), static_cast(0u)); if (branch_taken) { goto L_088B5F14; @@ -4623,19 +4624,19 @@ L_088B5EDC: L_088B5EEC: ctx.gpr[8] = (ctx.gpr[19] | 0u); if (ctx.gpr[8] == 0u) { - aot_gpr_7 = (aot_gpr_7 + static_cast(8)); + ctx.gpr[7] = (ctx.gpr[7] + static_cast(8)); goto L_088B5F0C; } goto L_088B5EF8; L_088B5EF8: - ctx.gpr[9] = (aot_mem.aot_direct_load32(aot_gpr_7 + static_cast(0))); + ctx.gpr[9] = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(0))); aot_mem.aot_direct_store32(ctx.gpr[8] + static_cast(0), ctx.gpr[9]); - ctx.gpr[9] = (aot_mem.aot_direct_load32(aot_gpr_7 + static_cast(4))); + ctx.gpr[9] = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(4))); aot_mem.aot_direct_store32(ctx.gpr[8] + static_cast(4), ctx.gpr[9]); - aot_gpr_7 = (aot_gpr_7 + static_cast(8)); + ctx.gpr[7] = (ctx.gpr[7] + static_cast(8)); goto L_088B5F0C; L_088B5F0C: - { const bool branch_taken = aot_gpr_7 != aot_gpr_5; + { const bool branch_taken = ctx.gpr[7] != aot_gpr_5; ctx.gpr[19] = (ctx.gpr[19] + static_cast(8)); if (branch_taken) { goto L_088B5EEC; @@ -4643,9 +4644,9 @@ L_088B5F0C: goto L_088B5F14; } L_088B5F14: - aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); ctx.gpr[8] = (0u | 1u); - { const bool branch_taken = aot_gpr_7 != ctx.gpr[8]; + { const bool branch_taken = ctx.gpr[7] != ctx.gpr[8]; // nop if (branch_taken) { goto L_088B5F4C; @@ -4653,8 +4654,8 @@ L_088B5F14: goto L_088B5F24; } L_088B5F24: - aot_gpr_7 = (ctx.gpr[19] | 0u); - { const bool branch_taken = aot_gpr_7 == 0u; + ctx.gpr[7] = (ctx.gpr[19] | 0u); + { const bool branch_taken = ctx.gpr[7] == 0u; // nop if (branch_taken) { goto L_088B5F40; @@ -4663,9 +4664,9 @@ L_088B5F24: } L_088B5F30: ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); - aot_mem.aot_direct_store32(aot_gpr_7 + static_cast(0), ctx.gpr[8]); + aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(0), ctx.gpr[8]); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(4))); - aot_mem.aot_direct_store32(aot_gpr_7 + static_cast(4), aot_gpr_6); + aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(4), aot_gpr_6); goto L_088B5F40; L_088B5F40: ctx.gpr[19] = (ctx.gpr[19] + static_cast(8)); @@ -4677,7 +4678,7 @@ L_088B5F40: goto L_088B5F4C; } L_088B5F4C: - { const bool branch_taken = aot_gpr_7 == 0u; + { const bool branch_taken = ctx.gpr[7] == 0u; aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(9), static_cast(0u)); if (branch_taken) { goto L_088B5F7C; @@ -4687,7 +4688,7 @@ L_088B5F4C: L_088B5F54: ctx.gpr[8] = (ctx.gpr[19] | 0u); if (ctx.gpr[8] == 0u) { - aot_gpr_7 = (aot_gpr_7 + static_cast(-1)); + ctx.gpr[7] = (ctx.gpr[7] + static_cast(-1)); goto L_088B5F74; } goto L_088B5F60; @@ -4696,10 +4697,10 @@ L_088B5F60: aot_mem.aot_direct_store32(ctx.gpr[8] + static_cast(0), ctx.gpr[9]); ctx.gpr[9] = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(4))); aot_mem.aot_direct_store32(ctx.gpr[8] + static_cast(4), ctx.gpr[9]); - aot_gpr_7 = (aot_gpr_7 + static_cast(-1)); + ctx.gpr[7] = (ctx.gpr[7] + static_cast(-1)); goto L_088B5F74; L_088B5F74: - { const bool branch_taken = aot_gpr_7 != 0u; + { const bool branch_taken = ctx.gpr[7] != 0u; ctx.gpr[19] = (ctx.gpr[19] + static_cast(8)); if (branch_taken) { goto L_088B5F54; @@ -4735,10 +4736,10 @@ L_088B5F98: } goto L_088B5FA4; L_088B5FA4: - aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(0), aot_gpr_7); - aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(4), aot_gpr_7); + ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(0), ctx.gpr[7]); + ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(4), ctx.gpr[7]); aot_gpr_4 = (aot_gpr_4 + static_cast(8)); goto L_088B5FB8; L_088B5FB8: @@ -4782,9 +4783,9 @@ L_088B5FE0: goto L_088B5FE8; } L_088B5FE8: - ctx.gpr[31] = (0x088B5FF0u); + aot_gpr_31 = (0x088B5FF0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B5FF0u) goto L_088B5FF0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B5FF0u) goto L_088B5FF0; AOT_REGCACHE_SYNC_OUT(); return; L_088B5FF0: aot_gpr_4 = (ctx.gpr[17] << 3u); @@ -4796,8 +4797,8 @@ L_088B5FF0: ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(32))); ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(36))); ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(40))); - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(44))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(44))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(48)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -4806,11 +4807,11 @@ L_088B5FF0: L_088B6020: aot_gpr_29 = (aot_gpr_29 + static_cast(-64)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[8]); - aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); ctx.gpr[10] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); ctx.gpr[11] = (0u | 12u); - aot_gpr_7 = (aot_gpr_7 - ctx.gpr[10]); - { const std::int32_t dividend = static_cast(aot_gpr_7); const std::int32_t divisor = static_cast(ctx.gpr[11]); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } + ctx.gpr[7] = (ctx.gpr[7] - ctx.gpr[10]); + { const std::int32_t dividend = static_cast(ctx.gpr[7]); const std::int32_t divisor = static_cast(ctx.gpr[11]); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), ctx.gpr[20]); aot_gpr_16 = (aot_gpr_4 | 0u); @@ -4824,7 +4825,7 @@ L_088B6020: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), ctx.gpr[22]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), ctx.gpr[23]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), ctx.gpr[30]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), aot_gpr_31); ctx.gpr[20] = (ctx.lo); aot_gpr_4 = (ctx.gpr[20] < ctx.gpr[8] ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; @@ -4860,7 +4861,7 @@ L_088B60A4: aot_gpr_4 = (ctx.gpr[20] + ctx.gpr[20]); aot_gpr_4 = (ctx.gpr[20] + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 << 2u); - ctx.gpr[31] = (0x088B60B8u); + aot_gpr_31 = (0x088B60B8u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_4); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 474u, 0x08ABE308u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B60B8u) goto L_088B60B8; AOT_REGCACHE_SYNC_OUT(); return; @@ -4874,7 +4875,7 @@ L_088B60B8: goto L_088B60C4; } L_088B60C4: - ctx.gpr[31] = (0x088B60CCu); + aot_gpr_31 = (0x088B60CCu); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 289u, 0x08B65438u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B60CCu) goto L_088B60CC; AOT_REGCACHE_SYNC_OUT(); return; @@ -4901,7 +4902,7 @@ L_088B60E0: L_088B60EC: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(4))); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(0))); - ctx.gpr[31] = (0x088B60FCu); + aot_gpr_31 = (0x088B60FCu); aot_gpr_4 = (ctx.gpr[30] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 283u, 0x08B653C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B60FCu) goto L_088B60FC; AOT_REGCACHE_SYNC_OUT(); return; @@ -4942,7 +4943,7 @@ L_088B6128: L_088B6134: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); - ctx.gpr[31] = (0x088B6144u); + aot_gpr_31 = (0x088B6144u); aot_gpr_4 = (ctx.gpr[22] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 283u, 0x08B653C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B6144u) goto L_088B6144; AOT_REGCACHE_SYNC_OUT(); return; @@ -4979,7 +4980,7 @@ L_088B6168: L_088B6174: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); - ctx.gpr[31] = (0x088B6184u); + aot_gpr_31 = (0x088B6184u); aot_gpr_4 = (ctx.gpr[30] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 283u, 0x08B653C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B6184u) goto L_088B6184; AOT_REGCACHE_SYNC_OUT(); return; @@ -5028,7 +5029,7 @@ L_088B61B8: L_088B61C4: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); - ctx.gpr[31] = (0x088B61D4u); + aot_gpr_31 = (0x088B61D4u); aot_gpr_4 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 283u, 0x08B653C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B61D4u) goto L_088B61D4; AOT_REGCACHE_SYNC_OUT(); return; @@ -5088,9 +5089,9 @@ L_088B6224: goto L_088B6230; } L_088B6230: - ctx.gpr[31] = (0x088B6238u); + aot_gpr_31 = (0x088B6238u); aot_gpr_4 = (ctx.gpr[22] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B6238u) goto L_088B6238; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B6238u) goto L_088B6238; AOT_REGCACHE_SYNC_OUT(); return; L_088B6238: ctx.gpr[18] = (ctx.gpr[18] + static_cast(12)); @@ -5115,9 +5116,9 @@ L_088B6248: goto L_088B6250; } L_088B6250: - ctx.gpr[31] = (0x088B6258u); + aot_gpr_31 = (0x088B6258u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B6258u) goto L_088B6258; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B6258u) goto L_088B6258; AOT_REGCACHE_SYNC_OUT(); return; L_088B6258: aot_gpr_4 = (ctx.gpr[20] + ctx.gpr[20]); @@ -5136,8 +5137,8 @@ L_088B6258: ctx.gpr[22] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(40))); ctx.gpr[23] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(44))); ctx.gpr[30] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(48))); - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(52))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(52))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(64)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -5147,10 +5148,10 @@ L_088B62A4: aot_gpr_29 = (aot_gpr_29 + static_cast(-720)); aot_gpr_6 = (aot_gpr_6 & 255u); ctx.gpr[8] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(8)))))); - aot_gpr_7 = (0u | 0u); + ctx.gpr[7] = (0u | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(664), aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(680), ctx.gpr[17]); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(672), static_cast(aot_gpr_7)); + aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(672), static_cast(ctx.gpr[7])); aot_gpr_6 = (ctx.gpr[8] & 8u); ctx.gpr[17] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(676), aot_gpr_16); @@ -5161,18 +5162,18 @@ L_088B62A4: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(700), ctx.gpr[22]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(704), ctx.gpr[23]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(708), ctx.gpr[30]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(712), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(712), aot_gpr_31); { const bool branch_taken = aot_gpr_6 == 0u; - aot_gpr_7 = (aot_gpr_5 | 0u); + ctx.gpr[7] = (aot_gpr_5 | 0u); if (branch_taken) { goto L_088B6378; } goto L_088B62F4; } L_088B62F4: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(668), aot_gpr_7); - ctx.gpr[31] = (0x088B6300u); - aot_gpr_4 = (aot_gpr_7 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(668), ctx.gpr[7]); + aot_gpr_31 = (0x088B6300u); + aot_gpr_4 = (ctx.gpr[7] | 0u); ctx.pc = 0x08B7366Cu; AOT_REGCACHE_SYNC_OUT(); return; L_088B6300: @@ -5194,10 +5195,10 @@ L_088B6308: aot_gpr_4 = (ctx.gpr[30] | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_6 = (0u | 352u); - aot_gpr_7 = (ctx.lo); - ctx.gpr[31] = (0x088B633Cu); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(256), aot_gpr_7); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B633Cu) goto L_088B633C; + ctx.gpr[7] = (ctx.lo); + aot_gpr_31 = (0x088B633Cu); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(256), ctx.gpr[7]); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B633Cu) goto L_088B633C; AOT_REGCACHE_SYNC_OUT(); return; L_088B633C: aot_gpr_4 = (ctx.gpr[28] + static_cast(-24680)); @@ -5239,7 +5240,7 @@ L_088B6380: goto L_088B6384; L_088B6384: aot_gpr_5 = (ctx.gpr[30] | 0u); - ctx.gpr[31] = (0x088B6390u); + aot_gpr_31 = (0x088B6390u); aot_gpr_4 = (aot_gpr_16 | 0u); ctx.pc = 0x08B7367Cu; AOT_REGCACHE_SYNC_OUT(); return; @@ -5266,12 +5267,12 @@ L_088B639C: L_088B63B0: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-24660))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-24664))); - aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(276))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(276))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(272))); - ctx.gpr[8] = (aot_gpr_7 ^ aot_gpr_5); + ctx.gpr[8] = (ctx.gpr[7] ^ aot_gpr_5); ctx.gpr[8] = (ctx.gpr[8] < static_cast(1) ? 1u : 0u); aot_gpr_4 = (aot_gpr_6 < aot_gpr_4 ? 1u : 0u); - ctx.gpr[9] = (static_cast(aot_gpr_7) < static_cast(aot_gpr_5) ? 1u : 0u); + ctx.gpr[9] = (static_cast(ctx.gpr[7]) < static_cast(aot_gpr_5) ? 1u : 0u); aot_gpr_4 = (ctx.gpr[8] & aot_gpr_4); aot_gpr_4 = (aot_gpr_4 | ctx.gpr[9]); { const bool branch_taken = aot_gpr_4 != 0u; @@ -5282,14 +5283,14 @@ L_088B63B0: goto L_088B63E0; } L_088B63E0: - ctx.gpr[31] = (0x088B63E8u); + aot_gpr_31 = (0x088B63E8u); aot_gpr_4 = (ctx.gpr[22] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B63E8u) goto L_088B63E8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B63E8u) goto L_088B63E8; AOT_REGCACHE_SYNC_OUT(); return; L_088B63E8: aot_gpr_4 = (aot_gpr_29 + ctx.gpr[2]); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(660))); - ctx.gpr[31] = (0x088B63F8u); + aot_gpr_31 = (0x088B63F8u); aot_gpr_4 = (aot_gpr_4 + static_cast(348)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 31u, 0x08B58180u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B63F8u) goto L_088B63F8; AOT_REGCACHE_SYNC_OUT(); return; @@ -5314,19 +5315,19 @@ L_088B640C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(656))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(668))); aot_gpr_4 = (aot_gpr_29 | 0u); - ctx.gpr[31] = (0x088B6420u); - aot_gpr_7 = (ctx.gpr[22] | 0u); + aot_gpr_31 = (0x088B6420u); + ctx.gpr[7] = (ctx.gpr[22] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0212_entry, 212u, 576u, 0x08B562D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B6420u) goto L_088B6420; AOT_REGCACHE_SYNC_OUT(); return; L_088B6420: - ctx.gpr[31] = (0x088B6428u); + aot_gpr_31 = (0x088B6428u); aot_gpr_4 = (aot_gpr_29 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B6428u) goto L_088B6428; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B6428u) goto L_088B6428; AOT_REGCACHE_SYNC_OUT(); return; L_088B6428: aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_5 = (aot_gpr_29 | 0u); - ctx.gpr[31] = (0x088B6438u); + aot_gpr_31 = (0x088B6438u); aot_gpr_6 = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 283u, 0x08B653C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B6438u) goto L_088B6438; AOT_REGCACHE_SYNC_OUT(); return; @@ -5337,7 +5338,7 @@ L_088B6438: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(633), static_cast(0u)); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(4))); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(0))); - ctx.gpr[31] = (0x088B6458u); + aot_gpr_31 = (0x088B6458u); aot_gpr_4 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 319u, 0x08B655B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B6458u) goto L_088B6458; AOT_REGCACHE_SYNC_OUT(); return; @@ -5351,9 +5352,9 @@ L_088B6458: goto L_088B6464; } L_088B6464: - ctx.gpr[31] = (0x088B646Cu); + aot_gpr_31 = (0x088B646Cu); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B646Cu) goto L_088B646C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B646Cu) goto L_088B646C; AOT_REGCACHE_SYNC_OUT(); return; L_088B646C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(16))); @@ -5375,7 +5376,7 @@ L_088B647C: } L_088B6484: aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(624))); - ctx.gpr[31] = (0x088B6490u); + aot_gpr_31 = (0x088B6490u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 283u, 0x08B653C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B6490u) goto L_088B6490; AOT_REGCACHE_SYNC_OUT(); return; @@ -5400,10 +5401,10 @@ L_088B64B4: aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(652))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(644), static_cast(0u)); - aot_gpr_7 = (aot_gpr_29 + static_cast(644)); + ctx.gpr[7] = (aot_gpr_29 + static_cast(644)); aot_gpr_6 = (ctx.gpr[20] | 0u); ctx.gpr[8] = (0u | 1u); - ctx.gpr[31] = (0x088B64D4u); + aot_gpr_31 = (0x088B64D4u); ctx.gpr[9] = (0u | 1u); goto L_088B6020; L_088B64D4: @@ -5418,9 +5419,9 @@ L_088B64D8: goto L_088B64E0; } L_088B64E0: - ctx.gpr[31] = (0x088B64E8u); + aot_gpr_31 = (0x088B64E8u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B64E8u) goto L_088B64E8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B64E8u) goto L_088B64E8; AOT_REGCACHE_SYNC_OUT(); return; L_088B64E8: { const bool branch_taken = 0u == 0u; @@ -5431,7 +5432,7 @@ L_088B64E8: goto L_088B64F0; } L_088B64F0: - ctx.gpr[31] = (0x088B64F8u); + aot_gpr_31 = (0x088B64F8u); // nop ctx.pc = 0x08B73684u; AOT_REGCACHE_SYNC_OUT(); return; @@ -5493,10 +5494,10 @@ L_088B6550: aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_4 = (ctx.gpr[17] + static_cast(24)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(645), static_cast(0u)); - aot_gpr_7 = (aot_gpr_29 + static_cast(645)); + ctx.gpr[7] = (aot_gpr_29 + static_cast(645)); aot_gpr_6 = (ctx.gpr[23] | 0u); ctx.gpr[8] = (0u | 1u); - ctx.gpr[31] = (0x088B6570u); + aot_gpr_31 = (0x088B6570u); ctx.gpr[9] = (0u | 1u); goto L_088B5E1C; L_088B6570: @@ -5512,8 +5513,8 @@ L_088B6574: ctx.gpr[22] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(700))); ctx.gpr[23] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(704))); ctx.gpr[30] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(708))); - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(712))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(712))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(720)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -5525,7 +5526,7 @@ L_088B65A4: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(256), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_5 & 8u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(260), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(260), aot_gpr_31); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -5534,7 +5535,7 @@ L_088B65A4: goto L_088B65C4; } L_088B65C4: - ctx.gpr[31] = (0x088B65CCu); + aot_gpr_31 = (0x088B65CCu); aot_gpr_4 = (aot_gpr_16 | 0u); goto L_088B6F30; L_088B65CC: @@ -5564,23 +5565,23 @@ L_088B65DC: L_088B65E4: aot_gpr_6 = (2232u << 16u); aot_gpr_5 = (ctx.gpr[28] + static_cast(-24716)); - aot_gpr_7 = (ctx.gpr[28] + static_cast(-24708)); + ctx.gpr[7] = (ctx.gpr[28] + static_cast(-24708)); ctx.gpr[8] = (ctx.gpr[28] + static_cast(-24696)); aot_gpr_4 = (aot_gpr_29 | 0u); - ctx.gpr[31] = (0x088B6600u); + aot_gpr_31 = (0x088B6600u); aot_gpr_6 = (aot_gpr_6 + static_cast(-22360)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0212_entry, 212u, 576u, 0x08B562D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B6600u) goto L_088B6600; AOT_REGCACHE_SYNC_OUT(); return; L_088B6600: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (aot_gpr_29 | 0u); - ctx.gpr[31] = (0x088B6610u); + aot_gpr_31 = (0x088B6610u); aot_gpr_6 = (0u | 1u); goto L_088B62A4; L_088B6610: aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(256))); - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(260))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(260))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(272)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -5589,33 +5590,33 @@ L_088B6610: L_088B6620: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[31]); - ctx.gpr[31] = (0x088B6634u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); + aot_gpr_31 = (0x088B6634u); // nop goto L_088B666C; L_088B6634: aot_gpr_4 = (2232u << 16u); aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(4))); - ctx.gpr[31] = (0x088B6644u); + aot_gpr_31 = (0x088B6644u); aot_gpr_4 = (aot_gpr_4 + static_cast(-22360)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B6644u) goto L_088B6644; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B6644u) goto L_088B6644; AOT_REGCACHE_SYNC_OUT(); return; L_088B6644: aot_gpr_4 = (aot_gpr_16 + ctx.gpr[2]); - ctx.gpr[31] = (0x088B6650u); + aot_gpr_31 = (0x088B6650u); aot_gpr_5 = (0u | 47u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 50u, 0x08B58294u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B6650u) goto L_088B6650; AOT_REGCACHE_SYNC_OUT(); return; L_088B6650: - ctx.gpr[31] = (0x088B6658u); + aot_gpr_31 = (0x088B6658u); aot_gpr_4 = (ctx.gpr[2] + static_cast(1)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B6658u) goto L_088B6658; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B6658u) goto L_088B6658; AOT_REGCACHE_SYNC_OUT(); return; L_088B6658: ctx.gpr[2] = (ctx.gpr[2] + static_cast(-3)); aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -5631,7 +5632,7 @@ L_088B666C: aot_gpr_4 = (aot_gpr_5 + aot_gpr_5); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 << 2u); - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; ctx.gpr[2] = (ctx.gpr[2] + aot_gpr_4); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -5646,7 +5647,7 @@ L_088B6698: ctx.gpr[17] = (0u | 47u); ctx.gpr[19] = (ctx.gpr[18] + static_cast(27840)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_16 = (aot_gpr_4 | 0u); if (branch_taken) { @@ -5663,7 +5664,7 @@ L_088B66C4: goto L_088B66CC; } L_088B66CC: - ctx.gpr[31] = (0x088B66D4u); + aot_gpr_31 = (0x088B66D4u); aot_gpr_4 = (aot_gpr_16 | 0u); goto L_088B666C; L_088B66D4: @@ -5671,21 +5672,21 @@ L_088B66D4: goto L_088B66D8; L_088B66D8: aot_gpr_4 = (2232u << 16u); - ctx.gpr[31] = (0x088B66E4u); + aot_gpr_31 = (0x088B66E4u); aot_gpr_4 = (aot_gpr_4 + static_cast(-22360)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B66E4u) goto L_088B66E4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B66E4u) goto L_088B66E4; AOT_REGCACHE_SYNC_OUT(); return; L_088B66E4: aot_gpr_4 = (aot_gpr_16 + ctx.gpr[2]); - ctx.gpr[31] = (0x088B66F0u); + aot_gpr_31 = (0x088B66F0u); aot_gpr_5 = (0u | 47u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 50u, 0x08B58294u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B66F0u) goto L_088B66F0; AOT_REGCACHE_SYNC_OUT(); return; L_088B66F0: aot_gpr_16 = (ctx.gpr[2] + static_cast(1)); - ctx.gpr[31] = (0x088B66FCu); + aot_gpr_31 = (0x088B66FCu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B66FCu) goto L_088B66FC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B66FCu) goto L_088B66FC; AOT_REGCACHE_SYNC_OUT(); return; L_088B66FC: aot_gpr_5 = (ctx.gpr[2] + static_cast(-3)); @@ -5697,17 +5698,17 @@ L_088B66FC: } goto L_088B6710; L_088B6710: - aot_gpr_7 = (aot_gpr_4 | 0u); + ctx.gpr[7] = (aot_gpr_4 | 0u); aot_gpr_4 = (0u | 0u); aot_gpr_5 = (0u | 0u); - aot_gpr_7 = (aot_gpr_7 + static_cast(-1)); + ctx.gpr[7] = (ctx.gpr[7] + static_cast(-1)); ctx.gpr[10] = (0u | 92u); ctx.gpr[11] = (0u | 126u); ctx.gpr[2] = (0u + static_cast(-127)); ctx.gpr[3] = (0u + static_cast(-95)); ctx.gpr[12] = (0u | 128u); aot_gpr_6 = (0u | 1u); - ctx.gpr[8] = (static_cast(aot_gpr_5) < static_cast(aot_gpr_7) ? 1u : 0u); + ctx.gpr[8] = (static_cast(aot_gpr_5) < static_cast(ctx.gpr[7]) ? 1u : 0u); goto L_088B673C; L_088B673C: { const bool branch_taken = ctx.gpr[8] == 0u; @@ -5817,7 +5818,7 @@ L_088B67C0: goto L_088B67D4; L_088B67D4: { const bool branch_taken = 0u == 0u; - ctx.gpr[8] = (static_cast(aot_gpr_5) < static_cast(aot_gpr_7) ? 1u : 0u); + ctx.gpr[8] = (static_cast(aot_gpr_5) < static_cast(ctx.gpr[7]) ? 1u : 0u); if (branch_taken) { goto L_088B673C; } @@ -5846,7 +5847,7 @@ L_088B67F4: } L_088B6800: aot_gpr_16 = (0u | 0u); - ctx.gpr[31] = (0x088B680Cu); + aot_gpr_31 = (0x088B680Cu); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B680Cu) goto L_088B680C; AOT_REGCACHE_SYNC_OUT(); return; @@ -5860,9 +5861,9 @@ L_088B680C: goto L_088B6818; } L_088B6818: - ctx.gpr[31] = (0x088B6820u); + aot_gpr_31 = (0x088B6820u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B6820u) goto L_088B6820; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B6820u) goto L_088B6820; AOT_REGCACHE_SYNC_OUT(); return; L_088B6820: aot_gpr_16 = (ctx.gpr[17] | 0u); @@ -5872,13 +5873,13 @@ L_088B6824: aot_gpr_5 = (ctx.gpr[28] + static_cast(-24656)); goto L_088B682C; L_088B682C: - ctx.gpr[31] = (0x088B6834u); + aot_gpr_31 = (0x088B6834u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B6834u) goto L_088B6834; AOT_REGCACHE_SYNC_OUT(); return; L_088B6834: aot_gpr_4 = (ctx.gpr[19] | 0u); - ctx.gpr[31] = (0x088B6840u); + aot_gpr_31 = (0x088B6840u); aot_gpr_5 = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0032_entry, 32u, 851u, 0x08887B80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B6840u) goto L_088B6840; AOT_REGCACHE_SYNC_OUT(); return; @@ -5888,8 +5889,8 @@ L_088B6840: ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -5899,12 +5900,12 @@ L_088B6860: aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(40))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(36))); aot_gpr_6 = (aot_gpr_6 - aot_gpr_5); - aot_gpr_7 = (static_cast(static_cast(aot_gpr_6) >> 2u)); - aot_gpr_7 = (aot_gpr_7 >> 30u); - aot_gpr_6 = (aot_gpr_6 + aot_gpr_7); + ctx.gpr[7] = (static_cast(static_cast(aot_gpr_6) >> 2u)); + ctx.gpr[7] = (ctx.gpr[7] >> 30u); + aot_gpr_6 = (aot_gpr_6 + ctx.gpr[7]); aot_gpr_6 = (static_cast(static_cast(aot_gpr_6) >> 2u)); - aot_gpr_7 = (0u | 0u); - ctx.gpr[8] = (aot_gpr_7 < aot_gpr_6 ? 1u : 0u); + ctx.gpr[7] = (0u | 0u); + ctx.gpr[8] = (ctx.gpr[7] < aot_gpr_6 ? 1u : 0u); { const bool branch_taken = ctx.gpr[8] == 0u; // nop if (branch_taken) { @@ -5942,8 +5943,8 @@ L_088B68B0: goto L_088B68C8; } L_088B68C8: - aot_gpr_7 = (aot_gpr_7 + static_cast(1)); - ctx.gpr[8] = (aot_gpr_7 < aot_gpr_6 ? 1u : 0u); + ctx.gpr[7] = (ctx.gpr[7] + static_cast(1)); + ctx.gpr[8] = (ctx.gpr[7] < aot_gpr_6 ? 1u : 0u); { const bool branch_taken = ctx.gpr[8] != 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(4)); if (branch_taken) { @@ -5971,7 +5972,7 @@ L_088B68E8: ctx.gpr[2] = (0u | 0u); goto L_088B68EC; L_088B68EC: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; // nop local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -5984,26 +5985,26 @@ L_088B68F4: aot_gpr_5 = (aot_gpr_5 << 2u); aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); - aot_gpr_7 = (aot_gpr_5 + aot_gpr_5); + ctx.gpr[7] = (aot_gpr_5 + aot_gpr_5); ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(12))); - aot_gpr_5 = (aot_gpr_5 + aot_gpr_7); + aot_gpr_5 = (aot_gpr_5 + ctx.gpr[7]); aot_gpr_5 = (aot_gpr_5 << 2u); aot_gpr_6 = (0u | 1u); aot_gpr_5 = (ctx.gpr[8] + aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[31]); - ctx.gpr[31] = (0x088B6930u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); + aot_gpr_31 = (0x088B6930u); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(8), static_cast(aot_gpr_6)); goto L_088B6998; L_088B6930: - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_088B693C: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(48))); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -6055,7 +6056,7 @@ L_088B698C: ctx.gpr[2] = (0u | 0u); goto L_088B6990; L_088B6990: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; // nop local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -6066,14 +6067,14 @@ L_088B6998: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(40))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(36))); aot_gpr_5 = (aot_gpr_5 - aot_gpr_6); - aot_gpr_7 = (static_cast(static_cast(aot_gpr_5) >> 2u)); - aot_gpr_7 = (aot_gpr_7 >> 30u); - aot_gpr_5 = (aot_gpr_5 + aot_gpr_7); + ctx.gpr[7] = (static_cast(static_cast(aot_gpr_5) >> 2u)); + ctx.gpr[7] = (ctx.gpr[7] >> 30u); + aot_gpr_5 = (aot_gpr_5 + ctx.gpr[7]); aot_gpr_5 = (static_cast(static_cast(aot_gpr_5) >> 2u)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); ctx.gpr[9] = (0u | 0u); - aot_gpr_7 = (ctx.gpr[9] < aot_gpr_5 ? 1u : 0u); - { const bool branch_taken = aot_gpr_7 == 0u; + ctx.gpr[7] = (ctx.gpr[9] < aot_gpr_5 ? 1u : 0u); + { const bool branch_taken = ctx.gpr[7] == 0u; // nop if (branch_taken) { goto L_088B6A5C; @@ -6081,7 +6082,7 @@ L_088B6998: goto L_088B69CC; } L_088B69CC: - aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(12))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(12))); ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(48))); goto L_088B69D4; L_088B69D4: @@ -6104,7 +6105,7 @@ L_088B69F0: ctx.gpr[11] = (ctx.gpr[10] + ctx.gpr[10]); ctx.gpr[10] = (ctx.gpr[10] + ctx.gpr[11]); ctx.gpr[10] = (ctx.gpr[10] << 2u); - ctx.gpr[10] = (aot_gpr_7 + ctx.gpr[10]); + ctx.gpr[10] = (ctx.gpr[7] + ctx.gpr[10]); ctx.gpr[10] = (aot_mem.aot_direct_load8(ctx.gpr[10] + static_cast(8))); { const bool branch_taken = ctx.gpr[10] == 0u; ctx.gpr[10] = (ctx.gpr[8] << 2u); @@ -6119,7 +6120,7 @@ L_088B6A18: ctx.gpr[11] = (ctx.gpr[10] + ctx.gpr[10]); ctx.gpr[10] = (ctx.gpr[10] + ctx.gpr[11]); ctx.gpr[10] = (ctx.gpr[10] << 2u); - ctx.gpr[10] = (aot_gpr_7 + ctx.gpr[10]); + ctx.gpr[10] = (ctx.gpr[7] + ctx.gpr[10]); ctx.gpr[10] = (aot_mem.aot_direct_load8(ctx.gpr[10] + static_cast(9))); { const bool branch_taken = ctx.gpr[10] != 0u; // nop @@ -6155,12 +6156,12 @@ L_088B6A54: goto L_088B6A5C; } L_088B6A5C: - ctx.gpr[31] = (0x088B6A64u); + aot_gpr_31 = (0x088B6A64u); // nop goto L_088B7034; L_088B6A64: - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -6171,14 +6172,14 @@ L_088B6A70: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(40))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(36))); aot_gpr_5 = (aot_gpr_5 - aot_gpr_6); - aot_gpr_7 = (static_cast(static_cast(aot_gpr_5) >> 2u)); - aot_gpr_7 = (aot_gpr_7 >> 30u); - aot_gpr_5 = (aot_gpr_5 + aot_gpr_7); + ctx.gpr[7] = (static_cast(static_cast(aot_gpr_5) >> 2u)); + ctx.gpr[7] = (ctx.gpr[7] >> 30u); + aot_gpr_5 = (aot_gpr_5 + ctx.gpr[7]); aot_gpr_5 = (static_cast(static_cast(aot_gpr_5) >> 2u)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); ctx.gpr[9] = (0u | 0u); - aot_gpr_7 = (ctx.gpr[9] < aot_gpr_5 ? 1u : 0u); - { const bool branch_taken = aot_gpr_7 == 0u; + ctx.gpr[7] = (ctx.gpr[9] < aot_gpr_5 ? 1u : 0u); + { const bool branch_taken = ctx.gpr[7] == 0u; // nop if (branch_taken) { goto L_088B6B30; @@ -6186,7 +6187,7 @@ L_088B6A70: goto L_088B6AA4; } L_088B6AA4: - aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(12))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(12))); ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(48))); goto L_088B6AAC; L_088B6AAC: @@ -6210,7 +6211,7 @@ L_088B6AC0: ctx.gpr[11] = (ctx.gpr[10] + ctx.gpr[10]); ctx.gpr[10] = (ctx.gpr[10] + ctx.gpr[11]); ctx.gpr[10] = (ctx.gpr[10] << 2u); - ctx.gpr[10] = (aot_gpr_7 + ctx.gpr[10]); + ctx.gpr[10] = (ctx.gpr[7] + ctx.gpr[10]); ctx.gpr[10] = (aot_mem.aot_direct_load8(ctx.gpr[10] + static_cast(8))); { const bool branch_taken = ctx.gpr[10] == 0u; ctx.gpr[10] = (ctx.gpr[8] << 2u); @@ -6225,7 +6226,7 @@ L_088B6AEC: ctx.gpr[11] = (ctx.gpr[10] + ctx.gpr[10]); ctx.gpr[10] = (ctx.gpr[10] + ctx.gpr[11]); ctx.gpr[10] = (ctx.gpr[10] << 2u); - ctx.gpr[10] = (aot_gpr_7 + ctx.gpr[10]); + ctx.gpr[10] = (ctx.gpr[7] + ctx.gpr[10]); ctx.gpr[10] = (aot_mem.aot_direct_load8(ctx.gpr[10] + static_cast(9))); { const bool branch_taken = ctx.gpr[10] != 0u; // nop @@ -6261,12 +6262,12 @@ L_088B6B28: goto L_088B6B30; } L_088B6B30: - ctx.gpr[31] = (0x088B6B38u); + aot_gpr_31 = (0x088B6B38u); // nop goto L_088B7034; L_088B6B38: - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -6280,10 +6281,10 @@ L_088B6B44: ctx.gpr[21] = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(36))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(0), static_cast(0u)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(16))); - aot_gpr_7 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(12))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(12))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), ctx.gpr[20]); aot_gpr_6 = (0u | 12u); - aot_gpr_4 = (aot_gpr_4 - aot_gpr_7); + aot_gpr_4 = (aot_gpr_4 - ctx.gpr[7]); ctx.gpr[20] = (aot_gpr_5 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), ctx.gpr[17]); @@ -6291,12 +6292,12 @@ L_088B6B44: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(60), ctx.gpr[22]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), ctx.gpr[23]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), ctx.gpr[30]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(72), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(72), aot_gpr_31); { const std::int32_t dividend = static_cast(aot_gpr_4); const std::int32_t divisor = static_cast(aot_gpr_6); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(1), static_cast(0u)); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(40), ctx.gpr[21]); aot_gpr_5 = (ctx.lo); - ctx.gpr[31] = (0x088B6BA8u); + aot_gpr_31 = (0x088B6BA8u); aot_gpr_4 = (ctx.gpr[18] + static_cast(36)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0217_entry, 217u, 96u, 0x08B685A0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B6BA8u) goto L_088B6BA8; AOT_REGCACHE_SYNC_OUT(); return; @@ -6345,12 +6346,12 @@ L_088B6C00: goto L_088B6C20; } L_088B6C20: - ctx.gpr[31] = (0x088B6C28u); + aot_gpr_31 = (0x088B6C28u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B6C28u) goto L_088B6C28; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0893685C, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B6C28u) goto L_088B6C28; AOT_REGCACHE_SYNC_OUT(); return; L_088B6C28: - ctx.gpr[31] = (0x088B6C30u); + aot_gpr_31 = (0x088B6C30u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0212_entry, 212u, 919u, 0x08B576C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B6C30u) goto L_088B6C30; AOT_REGCACHE_SYNC_OUT(); return; @@ -6383,12 +6384,12 @@ L_088B6C54: } goto L_088B6C70; L_088B6C70: - ctx.gpr[31] = (0x088B6C78u); + aot_gpr_31 = (0x088B6C78u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B6C78u) goto L_088B6C78; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0893685C, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B6C78u) goto L_088B6C78; AOT_REGCACHE_SYNC_OUT(); return; L_088B6C78: - ctx.gpr[31] = (0x088B6C80u); + aot_gpr_31 = (0x088B6C80u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0212_entry, 212u, 919u, 0x08B576C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B6C80u) goto L_088B6C80; AOT_REGCACHE_SYNC_OUT(); return; @@ -6438,10 +6439,10 @@ L_088B6CD0: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(36))); aot_gpr_6 = (0u | 1u); aot_gpr_5 = (aot_gpr_4 - aot_gpr_5); - aot_gpr_7 = (static_cast(static_cast(aot_gpr_5) >> 2u)); - aot_gpr_7 = (aot_gpr_7 >> 30u); + ctx.gpr[7] = (static_cast(static_cast(aot_gpr_5) >> 2u)); + ctx.gpr[7] = (ctx.gpr[7] >> 30u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(2), static_cast(0u)); - aot_gpr_5 = (aot_gpr_5 + aot_gpr_7); + aot_gpr_5 = (aot_gpr_5 + ctx.gpr[7]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_6); aot_gpr_5 = (static_cast(static_cast(aot_gpr_5) >> 2u)); aot_gpr_6 = (aot_gpr_5 < static_cast(1) ? 1u : 0u); @@ -6479,7 +6480,7 @@ L_088B6D24: aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_4 = (ctx.gpr[19] << 2u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_5); - ctx.gpr[31] = (0x088B6D38u); + aot_gpr_31 = (0x088B6D38u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_4); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 474u, 0x08ABE308u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B6D38u) goto L_088B6D38; AOT_REGCACHE_SYNC_OUT(); return; @@ -6495,7 +6496,7 @@ L_088B6D38: } L_088B6D48: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_4); - ctx.gpr[31] = (0x088B6D54u); + aot_gpr_31 = (0x088B6D54u); aot_gpr_4 = (aot_gpr_6 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 289u, 0x08B65438u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B6D54u) goto L_088B6D54; AOT_REGCACHE_SYNC_OUT(); return; @@ -6525,7 +6526,7 @@ L_088B6D70: aot_gpr_5 = (aot_gpr_6 | 0u); ctx.gpr[30] = (aot_gpr_4 - aot_gpr_6); aot_gpr_4 = (ctx.gpr[17] | 0u); - ctx.gpr[31] = (0x088B6D88u); + aot_gpr_31 = (0x088B6D88u); aot_gpr_6 = (ctx.gpr[30] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 164u, 0x08AF54A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B6D88u) goto L_088B6D88; AOT_REGCACHE_SYNC_OUT(); return; @@ -6567,9 +6568,9 @@ L_088B6DC0: goto L_088B6DCC; } L_088B6DCC: - ctx.gpr[31] = (0x088B6DD4u); + aot_gpr_31 = (0x088B6DD4u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B6DD4u) goto L_088B6DD4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B6DD4u) goto L_088B6DD4; AOT_REGCACHE_SYNC_OUT(); return; L_088B6DD4: aot_gpr_4 = (ctx.gpr[19] << 2u); @@ -6591,12 +6592,12 @@ L_088B6E00: } goto L_088B6E08; L_088B6E08: - ctx.gpr[31] = (0x088B6E10u); + aot_gpr_31 = (0x088B6E10u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B6E10u) goto L_088B6E10; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0893685C, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B6E10u) goto L_088B6E10; AOT_REGCACHE_SYNC_OUT(); return; L_088B6E10: - ctx.gpr[31] = (0x088B6E18u); + aot_gpr_31 = (0x088B6E18u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0212_entry, 212u, 919u, 0x08B576C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B6E18u) goto L_088B6E18; AOT_REGCACHE_SYNC_OUT(); return; @@ -6610,11 +6611,11 @@ L_088B6E1C: aot_gpr_5 = (aot_gpr_5 + ctx.gpr[22]); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(16))); aot_gpr_6 = (aot_gpr_4 + aot_gpr_4); - aot_gpr_7 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(12))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(12))); aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_5 = (aot_gpr_5 < static_cast(1) ? 1u : 0u); - aot_gpr_4 = (aot_gpr_7 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[7] + aot_gpr_4); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(9), static_cast(aot_gpr_5)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(16))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(12))); @@ -6663,8 +6664,8 @@ L_088B6EA4: ctx.gpr[22] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(60))); ctx.gpr[23] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); ctx.gpr[30] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(68))); - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(72))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(72))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(80)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -6673,9 +6674,9 @@ L_088B6EA4: L_088B6ED4: aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(12))); - aot_gpr_7 = (0u | 12u); + ctx.gpr[7] = (0u | 12u); aot_gpr_6 = (aot_gpr_6 - ctx.gpr[8]); - { const std::int32_t dividend = static_cast(aot_gpr_6); const std::int32_t divisor = static_cast(aot_gpr_7); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } + { const std::int32_t dividend = static_cast(aot_gpr_6); const std::int32_t divisor = static_cast(ctx.gpr[7]); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (ctx.lo); ctx.gpr[9] = (ctx.gpr[8] < ctx.gpr[9] ? 1u : 0u); @@ -6687,9 +6688,9 @@ L_088B6ED4: goto L_088B6EFC; } L_088B6EFC: - { const std::int32_t dividend = static_cast(aot_gpr_6); const std::int32_t divisor = static_cast(aot_gpr_7); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } + { const std::int32_t dividend = static_cast(aot_gpr_6); const std::int32_t divisor = static_cast(ctx.gpr[7]); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(36))); - aot_gpr_7 = (ctx.lo); + ctx.gpr[7] = (ctx.lo); goto L_088B6F08; L_088B6F08: ctx.gpr[9] = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); @@ -6705,7 +6706,7 @@ L_088B6F14: goto L_088B6F18; L_088B6F18: ctx.gpr[8] = (ctx.gpr[8] + static_cast(1)); - ctx.gpr[9] = (ctx.gpr[8] < aot_gpr_7 ? 1u : 0u); + ctx.gpr[9] = (ctx.gpr[8] < ctx.gpr[7] ? 1u : 0u); { const bool branch_taken = ctx.gpr[9] != 0u; aot_gpr_6 = (aot_gpr_6 + static_cast(4)); if (branch_taken) { @@ -6714,7 +6715,7 @@ L_088B6F18: goto L_088B6F28; } L_088B6F28: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; // nop local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -6725,11 +6726,11 @@ L_088B6F30: aot_gpr_5 = (578u << 16u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-24732)); aot_gpr_6 = (0u | 0u); - aot_gpr_7 = (0u | 0u); + ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (aot_gpr_29 | 0u); ctx.gpr[9] = (0u | 4u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[31]); - ctx.gpr[31] = (0x088B6F58u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); + aot_gpr_31 = (0x088B6F58u); aot_gpr_5 = (aot_gpr_5 + static_cast(22563)); ctx.pc = 0x08B7361Cu; AOT_REGCACHE_SYNC_OUT(); return; @@ -6755,8 +6756,8 @@ L_088B6F64: L_088B6F74: ctx.gpr[2] = (aot_gpr_4 ^ 1u); ctx.gpr[2] = (ctx.gpr[2] < static_cast(1) ? 1u : 0u); - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -6791,8 +6792,8 @@ L_088B6F88: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(40), 0u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(44), 0u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[31]); - ctx.gpr[31] = (0x088B7004u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); + aot_gpr_31 = (0x088B7004u); aot_gpr_4 = (aot_gpr_16 | 0u); goto L_088B6F30; L_088B7004: @@ -6805,8 +6806,8 @@ L_088B7004: aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(8), static_cast(aot_gpr_4)); ctx.gpr[2] = (aot_gpr_16 | 0u); aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -6815,13 +6816,13 @@ L_088B7004: L_088B7034: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[31]); - ctx.gpr[31] = (0x088B7048u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); + aot_gpr_31 = (0x088B7048u); aot_gpr_16 = (aot_gpr_4 | 0u); goto L_088B5BEC; L_088B7048: aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x088B7054u); + aot_gpr_31 = (0x088B7054u); aot_gpr_16 = (ctx.gpr[2] | 0u); goto L_088B5BF8; L_088B7054: @@ -6835,14 +6836,14 @@ L_088B7054: L_088B705C: aot_gpr_4 = (2237u << 16u); aot_gpr_5 = (0u | 1u); - ctx.gpr[31] = (0x088B706Cu); + aot_gpr_31 = (0x088B706Cu); aot_gpr_4 = (aot_gpr_4 + static_cast(-1008)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0033_entry, 33u, 196u, 0x08888934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B706Cu) goto L_088B706C; AOT_REGCACHE_SYNC_OUT(); return; L_088B706C: aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -6866,12 +6867,12 @@ L_088B707C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), ctx.gpr[20]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), ctx.gpr[21]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), ctx.gpr[23]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), aot_gpr_31); { const std::int32_t dividend = static_cast(ctx.gpr[22]); const std::int32_t divisor = static_cast(ctx.gpr[17]); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(5), static_cast(0u)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(40), ctx.gpr[30]); aot_gpr_5 = (ctx.lo); - ctx.gpr[31] = (0x088B70DCu); + aot_gpr_31 = (0x088B70DCu); aot_gpr_4 = (aot_gpr_16 + static_cast(36)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0217_entry, 217u, 96u, 0x08B685A0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B70DCu) goto L_088B70DC; AOT_REGCACHE_SYNC_OUT(); return; @@ -6973,7 +6974,7 @@ L_088B7194: aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_4 = (ctx.gpr[22] << 2u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_5); - ctx.gpr[31] = (0x088B71A8u); + aot_gpr_31 = (0x088B71A8u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_4); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 474u, 0x08ABE308u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B71A8u) goto L_088B71A8; AOT_REGCACHE_SYNC_OUT(); return; @@ -6989,7 +6990,7 @@ L_088B71A8: } L_088B71B8: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_4); - ctx.gpr[31] = (0x088B71C4u); + aot_gpr_31 = (0x088B71C4u); aot_gpr_4 = (aot_gpr_6 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 289u, 0x08B65438u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B71C4u) goto L_088B71C4; AOT_REGCACHE_SYNC_OUT(); return; @@ -7018,7 +7019,7 @@ L_088B71E0: aot_gpr_5 = (aot_gpr_6 | 0u); ctx.gpr[30] = (aot_gpr_4 - aot_gpr_6); aot_gpr_4 = (ctx.gpr[23] | 0u); - ctx.gpr[31] = (0x088B71F4u); + aot_gpr_31 = (0x088B71F4u); aot_gpr_6 = (ctx.gpr[30] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 164u, 0x08AF54A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B71F4u) goto L_088B71F4; AOT_REGCACHE_SYNC_OUT(); return; @@ -7054,9 +7055,9 @@ L_088B7214: goto L_088B7220; } L_088B7220: - ctx.gpr[31] = (0x088B7228u); + aot_gpr_31 = (0x088B7228u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B7228u) goto L_088B7228; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B7228u) goto L_088B7228; AOT_REGCACHE_SYNC_OUT(); return; L_088B7228: aot_gpr_4 = (ctx.gpr[22] << 2u); @@ -7108,8 +7109,8 @@ L_088B7288: ctx.gpr[22] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(52))); ctx.gpr[23] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(56))); ctx.gpr[30] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(60))); - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(80)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -7117,7 +7118,7 @@ L_088B7288: AOT_REGCACHE_SYNC_OUT(); return; L_088B72B8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -7151,13 +7152,13 @@ L_088B72E8: goto L_088B72F4; } L_088B72F4: - ctx.gpr[31] = (0x088B72FCu); + aot_gpr_31 = (0x088B72FCu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B72FCu) goto L_088B72FC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B72FCu) goto L_088B72FC; AOT_REGCACHE_SYNC_OUT(); return; L_088B72FC: - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -7167,7 +7168,7 @@ L_088B7308: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(0), static_cast(0u)); ctx.gpr[2] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(0)))))); - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -7254,15 +7255,15 @@ L_088B73B8: L_088B73C4: aot_gpr_4 = (32768u << 16u); aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); - aot_gpr_7 = (std::bit_cast(aot_fpr_12)); - aot_gpr_4 = (aot_gpr_7 + aot_gpr_4); + ctx.gpr[7] = (std::bit_cast(aot_fpr_12)); + aot_gpr_4 = (ctx.gpr[7] + aot_gpr_4); goto L_088B73D4; L_088B73D4: aot_gpr_4 = (aot_gpr_4 << 16u); aot_gpr_5 = (aot_gpr_5 << 8u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8544), aot_gpr_4); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -7279,8 +7280,8 @@ L_088B73EC: aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8504), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8500), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8496), std::bit_cast(aot_fpr_12)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[31]); - ctx.gpr[31] = (0x088B7420u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); + aot_gpr_31 = (0x088B7420u); aot_gpr_4 = (ctx.gpr[28] + static_cast(8464)); goto L_088B731C; L_088B7420: @@ -7300,11 +7301,11 @@ L_088B742C: aot_gpr_4 = (aot_gpr_4 + static_cast(24)); aot_gpr_6 = (std::bit_cast(aot_fpr_13)); aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8476))); - aot_gpr_7 = (std::bit_cast(aot_fpr_14)); + ctx.gpr[7] = (std::bit_cast(aot_fpr_14)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), aot_gpr_6); aot_gpr_5 = (std::bit_cast(aot_fpr_15)); - aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(8), aot_gpr_7); + aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(8), ctx.gpr[7]); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(12), aot_gpr_5); goto L_088B7460; L_088B7460: @@ -7324,16 +7325,16 @@ L_088B746C: aot_gpr_4 = (aot_gpr_4 + static_cast(24)); aot_gpr_6 = (std::bit_cast(aot_fpr_13)); aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8508))); - aot_gpr_7 = (std::bit_cast(aot_fpr_14)); + ctx.gpr[7] = (std::bit_cast(aot_fpr_14)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), aot_gpr_6); aot_gpr_5 = (std::bit_cast(aot_fpr_15)); - aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(8), aot_gpr_7); + aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(8), ctx.gpr[7]); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(12), aot_gpr_5); goto L_088B74A0; L_088B74A0: - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -7350,8 +7351,8 @@ L_088B74AC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), std::bit_cast(ctx.fpr[28])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), ctx.gpr[18]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(60), ctx.gpr[31]); - ctx.gpr[31] = (0x088B74E0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(60), aot_gpr_31); + aot_gpr_31 = (0x088B74E0u); aot_gpr_4 = (0u | 40u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B74E0u) goto L_088B74E0; AOT_REGCACHE_SYNC_OUT(); return; @@ -7367,7 +7368,7 @@ L_088B74E0: } L_088B74F0: aot_gpr_4 = (ctx.gpr[18] | 0u); - ctx.gpr[31] = (0x088B74FCu); + aot_gpr_31 = (0x088B74FCu); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 95u, 0x08944D14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B74FCu) goto L_088B74FC; AOT_REGCACHE_SYNC_OUT(); return; @@ -7388,15 +7389,15 @@ L_088B7500: ctx.gpr[8] = (std::bit_cast(ctx.fpr[22])); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-24628))); - aot_gpr_7 = (std::bit_cast(aot_fpr_12)); + ctx.gpr[7] = (std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_gpr_4 + static_cast(24)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), aot_gpr_6); - aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(8), aot_gpr_7); + aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(8), ctx.gpr[7]); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(12), ctx.gpr[8]); aot_gpr_16 = (0u | 0u); - ctx.gpr[31] = (0x088B755Cu); + aot_gpr_31 = (0x088B755Cu); aot_gpr_4 = (0u | 40u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B755Cu) goto L_088B755C; AOT_REGCACHE_SYNC_OUT(); return; @@ -7410,7 +7411,7 @@ L_088B755C: goto L_088B7568; } L_088B7568: - ctx.gpr[31] = (0x088B7570u); + aot_gpr_31 = (0x088B7570u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 95u, 0x08944D14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B7570u) goto L_088B7570; AOT_REGCACHE_SYNC_OUT(); return; @@ -7420,20 +7421,20 @@ L_088B7570: L_088B7574: aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-24624), aot_gpr_16); aot_gpr_4 = (16256u << 16u); - aot_gpr_7 = (16217u << 16u); + ctx.gpr[7] = (16217u << 16u); ctx.fpr[28] = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(2), static_cast(ctx.gpr[17])); aot_gpr_5 = (std::bit_cast(ctx.fpr[28])); - aot_gpr_7 = (aot_gpr_7 | 39322u); + ctx.gpr[7] = (ctx.gpr[7] | 39322u); aot_gpr_6 = (std::bit_cast(ctx.fpr[22])); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-24624))); - aot_fpr_12 = std::bit_cast(aot_gpr_7); - aot_gpr_7 = (16102u << 16u); + aot_fpr_12 = std::bit_cast(ctx.gpr[7]); + ctx.gpr[7] = (16102u << 16u); ctx.gpr[8] = (std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), std::bit_cast(ctx.fpr[28])); aot_gpr_4 = (aot_gpr_4 + static_cast(24)); - aot_gpr_7 = (aot_gpr_7 | 26214u); - aot_fpr_13 = std::bit_cast(aot_gpr_7); + ctx.gpr[7] = (ctx.gpr[7] | 26214u); + aot_fpr_13 = std::bit_cast(ctx.gpr[7]); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_5); aot_gpr_5 = (std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), ctx.gpr[8]); @@ -7442,27 +7443,27 @@ L_088B7574: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(12), aot_gpr_6); ctx.fpr[20] = std::bit_cast(aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-24624))); - ctx.gpr[31] = (0x088B75DCu); + aot_gpr_31 = (0x088B75DCu); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 96u, 0x08944D50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B75DCu) goto L_088B75DC; AOT_REGCACHE_SYNC_OUT(); return; L_088B75DC: - ctx.gpr[31] = (0x088B75E4u); + aot_gpr_31 = (0x088B75E4u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0091_entry, 91u, 622u, 0x08972DA4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B75E4u) goto L_088B75E4; AOT_REGCACHE_SYNC_OUT(); return; L_088B75E4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-24624))); ctx.fpr[24] = std::bit_cast(0u); - aot_gpr_7 = (17184u << 16u); + ctx.gpr[7] = (17184u << 16u); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), ctx.gpr[2]); - aot_fpr_12 = std::bit_cast(aot_gpr_7); + aot_fpr_12 = std::bit_cast(ctx.gpr[7]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), std::bit_cast(ctx.fpr[28])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), std::bit_cast(ctx.fpr[28])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), std::bit_cast(ctx.fpr[24])); aot_gpr_5 = (aot_gpr_29 + static_cast(16)); aot_gpr_4 = (ctx.gpr[2] | 0u); - ctx.gpr[31] = (0x088B7614u); + aot_gpr_31 = (0x088B7614u); aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0091_entry, 91u, 645u, 0x08972FD4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B7614u) goto L_088B7614; AOT_REGCACHE_SYNC_OUT(); return; @@ -7475,7 +7476,7 @@ L_088B7614: goto L_088B7628; L_088B7628: ctx.gpr[18] = (0u | 0u); - ctx.gpr[31] = (0x088B7634u); + aot_gpr_31 = (0x088B7634u); aot_gpr_4 = (0u | 40u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B7634u) goto L_088B7634; AOT_REGCACHE_SYNC_OUT(); return; @@ -7490,7 +7491,7 @@ L_088B7634: } L_088B7640: aot_gpr_4 = (ctx.gpr[17] | 0u); - ctx.gpr[31] = (0x088B764Cu); + aot_gpr_31 = (0x088B764Cu); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 95u, 0x08944D14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B764Cu) goto L_088B764C; AOT_REGCACHE_SYNC_OUT(); return; @@ -7501,7 +7502,7 @@ L_088B764C: L_088B7654: aot_gpr_5 = (std::bit_cast(ctx.fpr[26])); ctx.gpr[17] = (ctx.gpr[28] + aot_gpr_4); - aot_gpr_7 = (std::bit_cast(ctx.fpr[24])); + ctx.gpr[7] = (std::bit_cast(ctx.fpr[24])); aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(-24620), ctx.gpr[18]); aot_gpr_4 = (std::bit_cast(ctx.fpr[28])); aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(2), static_cast(0u)); @@ -7511,14 +7512,14 @@ L_088B7654: aot_gpr_6 = (aot_gpr_6 + static_cast(24)); aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(0), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(4), aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(8), aot_gpr_7); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(8), ctx.gpr[7]); aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(12), ctx.gpr[8]); - ctx.gpr[31] = (0x088B7694u); + aot_gpr_31 = (0x088B7694u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(-24620))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 96u, 0x08944D50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B7694u) goto L_088B7694; AOT_REGCACHE_SYNC_OUT(); return; L_088B7694: - ctx.gpr[31] = (0x088B769Cu); + aot_gpr_31 = (0x088B769Cu); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0091_entry, 91u, 622u, 0x08972DA4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B769Cu) goto L_088B769C; AOT_REGCACHE_SYNC_OUT(); return; @@ -7545,8 +7546,8 @@ L_088B76BC: aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(48))); ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(52))); ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(56))); - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(60))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(60))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(64)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -7558,16 +7559,16 @@ L_088B76E8: aot_gpr_5 = (std::bit_cast(aot_fpr_12)); aot_gpr_6 = (std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_gpr_4 + static_cast(24)); - aot_gpr_7 = (std::bit_cast(aot_fpr_12)); + ctx.gpr[7] = (std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), aot_gpr_6); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); - aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(8), aot_gpr_7); + aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(8), ctx.gpr[7]); aot_gpr_5 = (std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(12), aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-24624))); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(2), static_cast(0u)); - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -7583,7 +7584,7 @@ L_088B7728: aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[16])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(84), ctx.gpr[17]); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_15)) ? 0x00800000u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(88), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(88), aot_gpr_31); if (((ctx.fcr31 & 0x00800000u) != 0u)) { aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_15)); goto L_088B7758; @@ -7620,7 +7621,7 @@ L_088B7784: } L_088B778C: ctx.gpr[8] = (aot_gpr_16 | 0u); - aot_gpr_7 = (0u | 0u); + ctx.gpr[7] = (0u | 0u); aot_gpr_6 = (ctx.gpr[28] | 0u); goto L_088B7798; L_088B7798: @@ -7635,11 +7636,11 @@ L_088B7798: } L_088B77A8: ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(8552))); - aot_gpr_5 = (aot_gpr_7 | 0u); + aot_gpr_5 = (ctx.gpr[7] | 0u); goto L_088B77B0; L_088B77B0: - aot_gpr_7 = (aot_gpr_7 + static_cast(1)); - ctx.gpr[9] = (static_cast(aot_gpr_7) < 3 ? 1u : 0u); + ctx.gpr[7] = (ctx.gpr[7] + static_cast(1)); + ctx.gpr[9] = (static_cast(ctx.gpr[7]) < 3 ? 1u : 0u); { const bool branch_taken = ctx.gpr[9] != 0u; aot_gpr_6 = (aot_gpr_6 + static_cast(4)); if (branch_taken) { @@ -7692,15 +7693,15 @@ L_088B77C8: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - aot_gpr_7 = (std::bit_cast(aot_fpr_12)); + ctx.gpr[7] = (std::bit_cast(aot_fpr_12)); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); ctx.gpr[8] = (std::bit_cast(aot_fpr_13)); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); aot_gpr_4 = (std::bit_cast(aot_fpr_14)); - aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(0), aot_gpr_7); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(0), ctx.gpr[7]); aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(4), ctx.gpr[8]); aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(8), aot_gpr_4); - ctx.gpr[31] = (0x088B7854u); + aot_gpr_31 = (0x088B7854u); aot_gpr_4 = (aot_gpr_5 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0091_entry, 91u, 621u, 0x08972D80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B7854u) goto L_088B7854; AOT_REGCACHE_SYNC_OUT(); return; @@ -7724,8 +7725,8 @@ L_088B787C: L_088B7880: aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(80))); ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(84))); - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(88))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(88))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(96)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -7756,7 +7757,7 @@ L_088B78A8: goto L_088B78C4; } L_088B78C4: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-24608), 0u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -7783,13 +7784,13 @@ L_088B78CC: { const float fs = ctx.fpr[18]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8532), std::bit_cast(ctx.fpr[17])); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-24628))); - aot_gpr_7 = (std::bit_cast(aot_fpr_15)); + ctx.gpr[7] = (std::bit_cast(aot_fpr_15)); aot_gpr_6 = (aot_gpr_6 + static_cast(24)); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8536), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(0), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(4), aot_gpr_5); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8524))); - aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(8), aot_gpr_7); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(8), ctx.gpr[7]); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(12), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-24624))); @@ -7800,12 +7801,12 @@ L_088B78CC: aot_gpr_4 = (aot_gpr_4 + static_cast(24)); aot_gpr_6 = (std::bit_cast(aot_fpr_14)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8540))); - aot_gpr_7 = (std::bit_cast(aot_fpr_15)); + ctx.gpr[7] = (std::bit_cast(aot_fpr_15)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), aot_gpr_6); aot_gpr_5 = (std::bit_cast(aot_fpr_12)); - aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(8), aot_gpr_7); - jump_target = ctx.gpr[31]; + aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(8), ctx.gpr[7]); + jump_target = aot_gpr_31; aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(12), aot_gpr_5); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -7841,12 +7842,12 @@ L_088B797C: aot_gpr_6 = (std::bit_cast(ctx.fpr[16])); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8532), std::bit_cast(aot_fpr_15)); aot_fpr_12 = ctx.fpr[19] + aot_fpr_13; - aot_gpr_7 = (std::bit_cast(ctx.fpr[16])); + ctx.gpr[7] = (std::bit_cast(ctx.fpr[16])); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8536), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), aot_gpr_6); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8524))); - aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(8), aot_gpr_7); + aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(8), ctx.gpr[7]); aot_gpr_5 = (std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(12), aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-24624))); @@ -7857,12 +7858,12 @@ L_088B797C: aot_gpr_4 = (aot_gpr_4 + static_cast(24)); aot_gpr_6 = (std::bit_cast(aot_fpr_13)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8540))); - aot_gpr_7 = (std::bit_cast(aot_fpr_15)); + ctx.gpr[7] = (std::bit_cast(aot_fpr_15)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), aot_gpr_6); aot_gpr_5 = (std::bit_cast(aot_fpr_12)); - aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(8), aot_gpr_7); - jump_target = ctx.gpr[31]; + aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(8), ctx.gpr[7]); + jump_target = aot_gpr_31; aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(12), aot_gpr_5); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -7879,13 +7880,13 @@ L_088B7A4C: aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8476))); aot_gpr_6 = (std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_5); - aot_gpr_7 = (std::bit_cast(aot_fpr_14)); + ctx.gpr[7] = (std::bit_cast(aot_fpr_14)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), aot_gpr_6); aot_gpr_5 = (std::bit_cast(aot_fpr_15)); - aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(8), aot_gpr_7); + aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(8), ctx.gpr[7]); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(12), aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[31]); - ctx.gpr[31] = (0x088B7A94u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); + aot_gpr_31 = (0x088B7A94u); aot_gpr_4 = (ctx.gpr[28] + static_cast(8464)); goto L_088B731C; L_088B7A94: @@ -7898,13 +7899,13 @@ L_088B7A94: aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8508))); aot_gpr_6 = (std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_5); - aot_gpr_7 = (std::bit_cast(aot_fpr_14)); + ctx.gpr[7] = (std::bit_cast(aot_fpr_14)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), aot_gpr_6); aot_gpr_5 = (std::bit_cast(aot_fpr_15)); - aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(8), aot_gpr_7); + aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(8), ctx.gpr[7]); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(12), aot_gpr_5); - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -7912,7 +7913,7 @@ L_088B7A94: AOT_REGCACHE_SYNC_OUT(); return; L_088B7AD8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-24624))); - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(2), static_cast(0u)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -7921,7 +7922,7 @@ L_088B7AD8: L_088B7AE4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-24624))); aot_gpr_5 = (0u | 1u); - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(2), static_cast(aot_gpr_5)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -7936,12 +7937,12 @@ L_088B7AF4: aot_gpr_4 = (aot_gpr_4 + static_cast(24)); aot_gpr_6 = (std::bit_cast(aot_fpr_13)); aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-24592))); - aot_gpr_7 = (std::bit_cast(aot_fpr_14)); + ctx.gpr[7] = (std::bit_cast(aot_fpr_14)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), aot_gpr_6); aot_gpr_5 = (std::bit_cast(aot_fpr_15)); - aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(8), aot_gpr_7); - jump_target = ctx.gpr[31]; + aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(8), ctx.gpr[7]); + jump_target = aot_gpr_31; aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(12), aot_gpr_5); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -7958,18 +7959,18 @@ L_088B7B30: aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8476))); aot_gpr_6 = (std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_5); - aot_gpr_7 = (std::bit_cast(aot_fpr_14)); + ctx.gpr[7] = (std::bit_cast(aot_fpr_14)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), aot_gpr_6); aot_gpr_5 = (std::bit_cast(aot_fpr_15)); - aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(8), aot_gpr_7); + aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(8), ctx.gpr[7]); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(12), aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[31]); - ctx.gpr[31] = (0x088B7B78u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); + aot_gpr_31 = (0x088B7B78u); aot_gpr_4 = (ctx.gpr[28] + static_cast(8464)); goto L_088B731C; L_088B7B78: - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -7984,12 +7985,12 @@ L_088B7B84: aot_gpr_4 = (aot_gpr_4 + static_cast(24)); aot_gpr_6 = (std::bit_cast(aot_fpr_13)); aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8492))); - aot_gpr_7 = (std::bit_cast(aot_fpr_14)); + ctx.gpr[7] = (std::bit_cast(aot_fpr_14)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), aot_gpr_6); aot_gpr_5 = (std::bit_cast(aot_fpr_15)); - aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(8), aot_gpr_7); - jump_target = ctx.gpr[31]; + aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(8), ctx.gpr[7]); + jump_target = aot_gpr_31; aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(12), aot_gpr_5); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -8022,7 +8023,7 @@ L_088B7BC0: aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_6); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(29552))); aot_gpr_5 = (aot_gpr_5 + static_cast(4)); - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(29552), aot_gpr_5); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -8068,17 +8069,17 @@ L_088B7C68: } L_088B7C70: { const bool branch_taken = 0u == 0u; - aot_gpr_7 = (std::bit_cast(aot_fpr_14)); + ctx.gpr[7] = (std::bit_cast(aot_fpr_14)); if (branch_taken) { goto L_088B7C88; } goto L_088B7C78; } L_088B7C78: - aot_gpr_7 = (32768u << 16u); + ctx.gpr[7] = (32768u << 16u); aot_fpr_14 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_14)); aot_gpr_5 = (std::bit_cast(aot_fpr_14)); - aot_gpr_7 = (aot_gpr_5 + aot_gpr_7); + ctx.gpr[7] = (aot_gpr_5 + ctx.gpr[7]); goto L_088B7C88; L_088B7C88: aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(28))); @@ -8131,23 +8132,23 @@ L_088B7CE0: aot_gpr_5 = (aot_gpr_4 + aot_gpr_5); goto L_088B7CF0; L_088B7CF0: - aot_gpr_4 = (aot_gpr_7 | 0u); - aot_gpr_7 = (aot_gpr_4 < static_cast(256) ? 1u : 0u); - if (aot_gpr_7 == 0u) { + aot_gpr_4 = (ctx.gpr[7] | 0u); + ctx.gpr[7] = (aot_gpr_4 < static_cast(256) ? 1u : 0u); + if (ctx.gpr[7] == 0u) { aot_gpr_4 = (0u | 255u); goto L_088B7D00; } goto L_088B7D00; L_088B7D00: - aot_gpr_7 = (aot_gpr_6 < static_cast(256) ? 1u : 0u); - if (aot_gpr_7 == 0u) { + ctx.gpr[7] = (aot_gpr_6 < static_cast(256) ? 1u : 0u); + if (ctx.gpr[7] == 0u) { aot_gpr_6 = (0u | 255u); goto L_088B7D0C; } goto L_088B7D0C; L_088B7D0C: - aot_gpr_7 = (aot_gpr_5 < static_cast(256) ? 1u : 0u); - if (aot_gpr_7 == 0u) { + ctx.gpr[7] = (aot_gpr_5 < static_cast(256) ? 1u : 0u); + if (ctx.gpr[7] == 0u) { aot_gpr_5 = (0u | 255u); goto L_088B7D18; } @@ -8168,7 +8169,7 @@ L_088B7D18: aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(29552), aot_gpr_4); goto L_088B7D4C; L_088B7D4C: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; // nop local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -8182,7 +8183,7 @@ L_088B7D54: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), ctx.gpr[19]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), ctx.gpr[20]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), aot_gpr_31); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_16 = (aot_gpr_4 | 0u); if (branch_taken) { @@ -8201,7 +8202,7 @@ L_088B7D7C: } L_088B7D88: ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); - ctx.gpr[31] = (0x088B7D94u); + aot_gpr_31 = (0x088B7D94u); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0091_entry, 91u, 725u, 0x08973704u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B7D94u) goto L_088B7D94; AOT_REGCACHE_SYNC_OUT(); return; @@ -8294,39 +8295,39 @@ L_088B7E38: L_088B7E44: aot_gpr_6 = (32768u << 16u); aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); - aot_gpr_7 = (std::bit_cast(aot_fpr_12)); - aot_gpr_6 = (aot_gpr_7 + aot_gpr_6); + ctx.gpr[7] = (std::bit_cast(aot_fpr_12)); + aot_gpr_6 = (ctx.gpr[7] + aot_gpr_6); goto L_088B7E54; L_088B7E54: - aot_gpr_7 = (aot_gpr_4 < static_cast(256) ? 1u : 0u); - if (aot_gpr_7 == 0u) { + ctx.gpr[7] = (aot_gpr_4 < static_cast(256) ? 1u : 0u); + if (ctx.gpr[7] == 0u) { aot_gpr_4 = (0u | 255u); goto L_088B7E60; } goto L_088B7E60; L_088B7E60: - aot_gpr_7 = (aot_gpr_5 < static_cast(256) ? 1u : 0u); - if (aot_gpr_7 == 0u) { + ctx.gpr[7] = (aot_gpr_5 < static_cast(256) ? 1u : 0u); + if (ctx.gpr[7] == 0u) { aot_gpr_5 = (0u | 255u); goto L_088B7E6C; } goto L_088B7E6C; L_088B7E6C: - aot_gpr_7 = (aot_gpr_6 < static_cast(256) ? 1u : 0u); - if (aot_gpr_7 == 0u) { + ctx.gpr[7] = (aot_gpr_6 < static_cast(256) ? 1u : 0u); + if (ctx.gpr[7] == 0u) { aot_gpr_6 = (0u | 255u); goto L_088B7E78; } goto L_088B7E78; L_088B7E78: aot_gpr_4 = (aot_gpr_4 << 16u); - aot_gpr_7 = (65280u << 16u); - aot_gpr_4 = (aot_gpr_7 + aot_gpr_4); + ctx.gpr[7] = (65280u << 16u); + aot_gpr_4 = (ctx.gpr[7] + aot_gpr_4); aot_gpr_5 = (aot_gpr_5 << 8u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_6 = (aot_gpr_4 + aot_gpr_6); aot_gpr_4 = (ctx.gpr[20] | 0u); - ctx.gpr[31] = (0x088B7E9Cu); + aot_gpr_31 = (0x088B7E9Cu); aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0054_entry, 54u, 516u, 0x088DFDD4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B7E9Cu) goto L_088B7E9C; AOT_REGCACHE_SYNC_OUT(); return; @@ -8368,8 +8369,8 @@ L_088B7EF4: aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_6 = (0u | 0u); - aot_gpr_7 = (0u | 0u); - ctx.gpr[31] = (0x088B7F0Cu); + ctx.gpr[7] = (0u | 0u); + aot_gpr_31 = (0x088B7F0Cu); ctx.gpr[8] = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0054_entry, 54u, 506u, 0x088DFB74u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B7F0Cu) goto L_088B7F0C; AOT_REGCACHE_SYNC_OUT(); return; @@ -8390,8 +8391,8 @@ L_088B7F30: ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(28))); - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(32))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(32))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(48)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -8407,7 +8408,7 @@ L_088B7F50: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), std::bit_cast(ctx.fpr[22])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), ctx.gpr[17]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), aot_gpr_31); { const bool branch_taken = aot_gpr_5 == 0u; // nop if (branch_taken) { @@ -8427,12 +8428,12 @@ L_088B7F80: goto L_088B7F94; } L_088B7F94: - ctx.gpr[31] = (0x088B7F9Cu); + aot_gpr_31 = (0x088B7F9Cu); // nop goto L_088B7C30; L_088B7F9C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-24624))); - ctx.gpr[31] = (0x088B7FA8u); + aot_gpr_31 = (0x088B7FA8u); aot_gpr_5 = (0u | 0u); goto L_088B7D54; L_088B7FA8: @@ -8449,7 +8450,7 @@ L_088B7FA8: L_088B7FBC: ctx.gpr[17] = (aot_gpr_4 + static_cast(1)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(-24620))); - ctx.gpr[31] = (0x088B7FCCu); + aot_gpr_31 = (0x088B7FCCu); aot_gpr_5 = (ctx.gpr[17] & 255u); goto L_088B7D54; L_088B7FCC: @@ -8472,7 +8473,7 @@ L_088B7FE0: goto L_088B7FE8; } L_088B7FE8: - ctx.gpr[31] = (0x088B7FF0u); + aot_gpr_31 = (0x088B7FF0u); // nop goto L_088B7C30; L_088B7FF0: diff --git a/profiles/vcs/generated/generated_unit_0045.cpp b/profiles/vcs/generated/generated_unit_0045.cpp index 0615c88..60fc166 100644 --- a/profiles/vcs/generated/generated_unit_0045.cpp +++ b/profiles/vcs/generated/generated_unit_0045.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -137,20 +138,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0045[4055] = { }; void recomp_unit_0045_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,6,16,31 fprs=12,13,22,14 gpr_occ=4244 fpr_occ=528 gpr_total=6239 fpr_total=692 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,6,31,7 fprs=12,13,22,14 gpr_occ=4418 fpr_occ=533 gpr_total=6594 fpr_total=698 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_6 = ctx.gpr[6]; - std::uint32_t aot_gpr_16 = ctx.gpr[16]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; + std::uint32_t aot_gpr_7 = ctx.gpr[7]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_22 = ctx.fpr[22]; float aot_fpr_14 = ctx.fpr[14]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[6] = aot_gpr_6; ctx.gpr[16] = aot_gpr_16; ctx.gpr[31] = aot_gpr_31; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[22] = aot_fpr_22; ctx.fpr[14] = aot_fpr_14; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_31 = ctx.gpr[31]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_22 = ctx.fpr[22]; aot_fpr_14 = ctx.fpr[14]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[6] = aot_gpr_6; ctx.gpr[31] = aot_gpr_31; ctx.gpr[7] = aot_gpr_7; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[22] = aot_fpr_22; ctx.fpr[14] = aot_fpr_14; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_7 = ctx.gpr[7]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_22 = ctx.fpr[22]; aot_fpr_14 = ctx.fpr[14]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -971,14 +972,14 @@ L_088B8008: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), std::bit_cast(aot_fpr_22)); aot_gpr_6 = (std::bit_cast(aot_fpr_22)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), std::bit_cast(aot_fpr_22)); - ctx.gpr[7] = (std::bit_cast(aot_fpr_22)); + aot_gpr_7 = (std::bit_cast(aot_fpr_22)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), std::bit_cast(aot_fpr_22)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), std::bit_cast(aot_fpr_22)); aot_gpr_4 = (aot_gpr_4 + static_cast(24)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), aot_gpr_6); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); - aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(8), ctx.gpr[7]); + aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(8), aot_gpr_7); aot_gpr_5 = (std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(12), aot_gpr_5); aot_gpr_31 = (0x088B8050u); @@ -1015,11 +1016,11 @@ L_088B8060: aot_gpr_4 = (aot_gpr_4 + static_cast(24)); aot_gpr_6 = (std::bit_cast(aot_fpr_13)); ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(28))); - ctx.gpr[7] = (std::bit_cast(aot_fpr_14)); + aot_gpr_7 = (std::bit_cast(aot_fpr_14)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), aot_gpr_6); aot_gpr_5 = (std::bit_cast(ctx.fpr[15])); - aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(8), ctx.gpr[7]); + aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(8), aot_gpr_7); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(12), aot_gpr_5); aot_gpr_31 = (0x088B80C0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-24628))); @@ -1101,8 +1102,8 @@ L_088B8148: L_088B8154: aot_gpr_4 = (32768u << 16u); aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); - ctx.gpr[7] = (std::bit_cast(aot_fpr_12)); - aot_gpr_4 = (ctx.gpr[7] + aot_gpr_4); + aot_gpr_7 = (std::bit_cast(aot_fpr_12)); + aot_gpr_4 = (aot_gpr_7 + aot_gpr_4); goto L_088B8164; L_088B8164: aot_gpr_4 = (aot_gpr_4 & 255u); @@ -1139,7 +1140,7 @@ L_088B81B8: aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(32), aot_run_words); ctx.fpr[20] = std::bit_cast(aot_run_words[0]); aot_fpr_22 = std::bit_cast(aot_run_words[1]); - aot_gpr_16 = aot_run_words[2]; + ctx.gpr[16] = aot_run_words[2]; ctx.gpr[17] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; } @@ -1283,11 +1284,11 @@ L_088B8300: aot_gpr_4 = (aot_gpr_4 + static_cast(24)); aot_gpr_6 = (std::bit_cast(aot_fpr_13)); ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8476))); - ctx.gpr[7] = (std::bit_cast(aot_fpr_14)); + aot_gpr_7 = (std::bit_cast(aot_fpr_14)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), aot_gpr_6); aot_gpr_5 = (std::bit_cast(ctx.fpr[15])); - aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(8), ctx.gpr[7]); + aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(8), aot_gpr_7); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(12), aot_gpr_5); goto L_088B8338; L_088B8338: @@ -1344,9 +1345,9 @@ L_088B8344: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23440))); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(11224))); - ctx.gpr[7] = (ctx.gpr[7] << 4u); - aot_gpr_6 = (aot_gpr_6 + ctx.gpr[7]); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(11224))); + aot_gpr_7 = (aot_gpr_7 << 4u); + aot_gpr_6 = (aot_gpr_6 + aot_gpr_7); { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -1404,10 +1405,10 @@ L_088B8344: const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23440))); - ctx.gpr[8] = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(11224))); + aot_gpr_7 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23440))); + ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_7 + static_cast(11224))); ctx.gpr[8] = (ctx.gpr[8] << 4u); - ctx.gpr[7] = (ctx.gpr[7] + ctx.gpr[8]); + aot_gpr_7 = (aot_gpr_7 + ctx.gpr[8]); { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -1417,7 +1418,7 @@ L_088B8344: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = ctx.gpr[7] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_7 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -1722,10 +1723,10 @@ L_088B86C4: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); ctx.gpr[17] = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_16 = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); if (branch_taken) { goto L_088B870C; } @@ -1741,17 +1742,17 @@ L_088B86E0: } L_088B86E8: if (aot_gpr_4 == 0u) { - aot_gpr_4 = (aot_gpr_16 & 1u); + aot_gpr_4 = (ctx.gpr[16] & 1u); goto L_088B86FC; } goto L_088B86F0; L_088B86F0: aot_gpr_31 = (0x088B86F8u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B86F8u) goto L_088B86F8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B86F8u) goto L_088B86F8; AOT_REGCACHE_SYNC_OUT(); return; L_088B86F8: - aot_gpr_4 = (aot_gpr_16 & 1u); + aot_gpr_4 = (ctx.gpr[16] & 1u); goto L_088B86FC; L_088B86FC: { const bool branch_taken = aot_gpr_4 == 0u; @@ -1764,12 +1765,12 @@ L_088B86FC: L_088B8704: aot_gpr_31 = (0x088B870Cu); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B870Cu) goto L_088B870C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B870Cu) goto L_088B870C; AOT_REGCACHE_SYNC_OUT(); return; L_088B870C: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -1785,19 +1786,19 @@ L_088B8720: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), ctx.gpr[18]); ctx.gpr[17] = (aot_gpr_5 | 0u); ctx.gpr[18] = (aot_gpr_6 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), ctx.gpr[16]); { const std::uint32_t aot_run_words[6]{ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(44), aot_run_words); } { const bool branch_taken = ctx.gpr[17] == ctx.gpr[18]; - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_088B8920; } goto L_088B8758; } L_088B8758: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); ctx.gpr[19] = (ctx.gpr[18] - ctx.gpr[17]); aot_gpr_4 = (aot_gpr_4 - aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_4); @@ -1823,19 +1824,19 @@ L_088B8778: } L_088B8790: aot_gpr_31 = (0x088B8798u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 365u, 0x08B658A0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B8798u) goto L_088B8798; AOT_REGCACHE_SYNC_OUT(); return; L_088B8798: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); goto L_088B879C; L_088B879C: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - ctx.gpr[7] = (aot_gpr_4 + ctx.gpr[19]); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(8))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); + aot_gpr_7 = (aot_gpr_4 + ctx.gpr[19]); aot_gpr_5 = (aot_gpr_5 - aot_gpr_6); aot_gpr_5 = (aot_gpr_5 + static_cast(-1)); - aot_gpr_5 = (aot_gpr_5 < ctx.gpr[7] ? 1u : 0u); + aot_gpr_5 = (aot_gpr_5 < aot_gpr_7 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; // nop if (branch_taken) { @@ -1900,8 +1901,8 @@ L_088B8810: ctx.gpr[20] = (ctx.gpr[2] | 0u); goto L_088B8814; L_088B8814: - ctx.gpr[22] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - ctx.gpr[23] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + ctx.gpr[22] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); + ctx.gpr[23] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(19), static_cast(0u)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(19)))))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(22), static_cast(0u)); @@ -1970,7 +1971,7 @@ L_088B8898: L_088B889C: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(24), static_cast(0u)); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(0), static_cast(0u)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -1981,21 +1982,21 @@ L_088B889C: L_088B88B0: aot_gpr_31 = (0x088B88B8u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B88B8u) goto L_088B88B8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B88B8u) goto L_088B88B8; AOT_REGCACHE_SYNC_OUT(); return; L_088B88B8: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), ctx.gpr[21]); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), ctx.gpr[17]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), ctx.gpr[21]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(4), ctx.gpr[17]); aot_gpr_4 = (ctx.gpr[21] + ctx.gpr[19]); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(8), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(8), aot_gpr_4); if (branch_taken) { goto L_088B8920; } goto L_088B88CC; } L_088B88CC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_gpr_6 = (ctx.gpr[17] + static_cast(1)); { const bool branch_taken = ctx.gpr[18] != aot_gpr_6; aot_gpr_5 = (aot_gpr_4 + static_cast(1)); @@ -2014,31 +2015,31 @@ L_088B88DC: } L_088B88E4: aot_gpr_4 = (aot_gpr_5 | 0u); - ctx.gpr[7] = (ctx.gpr[18] - aot_gpr_6); + aot_gpr_7 = (ctx.gpr[18] - aot_gpr_6); aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x088B88F8u); - aot_gpr_6 = (ctx.gpr[7] | 0u); + aot_gpr_6 = (aot_gpr_7 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 164u, 0x08AF54A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B88F8u) goto L_088B88F8; AOT_REGCACHE_SYNC_OUT(); return; L_088B88F8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[19]); goto L_088B8900; L_088B8900: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(25), static_cast(0u)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(0u)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(0)))))); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_5)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[19]); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(4), aot_gpr_4); goto L_088B8920; L_088B8920: - ctx.gpr[2] = (aot_gpr_16 | 0u); + ctx.gpr[2] = (ctx.gpr[16] | 0u); { std::uint32_t aot_run_words[9]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(32), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -2078,15 +2079,15 @@ L_088B896C: AOT_REGCACHE_SYNC_OUT(); return; L_088B8978: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_5 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_5 | 0u); { const std::uint32_t aot_run_words[3]{ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(4), aot_run_words); } aot_gpr_31 = (0x088B8998u); ctx.gpr[18] = (0u | 0u); goto L_088B8950; L_088B8998: - if (ctx.gpr[2] == aot_gpr_16) { + if (ctx.gpr[2] == ctx.gpr[16]) { ctx.gpr[18] = (0u | 1u); goto L_088B89E0; } @@ -2097,7 +2098,7 @@ L_088B89A0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 463u, 0x08AC5950u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B89A8u) goto L_088B89A8; AOT_REGCACHE_SYNC_OUT(); return; L_088B89A8: - if (ctx.gpr[2] == aot_gpr_16) { + if (ctx.gpr[2] == ctx.gpr[16]) { ctx.gpr[17] = (0u | 1u); goto L_088B89D0; } @@ -2108,7 +2109,7 @@ L_088B89B0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0095_entry, 95u, 115u, 0x08980688u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B89B8u) goto L_088B89B8; AOT_REGCACHE_SYNC_OUT(); return; L_088B89B8: - aot_gpr_4 = (ctx.gpr[2] ^ aot_gpr_16); + aot_gpr_4 = (ctx.gpr[2] ^ ctx.gpr[16]); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 == 0u; @@ -2139,7 +2140,7 @@ L_088B89E0: ctx.gpr[2] = (ctx.gpr[18] & 255u); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; @@ -2152,7 +2153,7 @@ L_088B89E0: AOT_REGCACHE_SYNC_OUT(); return; L_088B89FC: aot_gpr_29 = (aot_gpr_29 + static_cast(-112)); - { const std::uint32_t aot_run_words[10]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; + { const std::uint32_t aot_run_words[10]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(68), aot_run_words); } aot_gpr_31 = (0x088B8A30u); ctx.gpr[18] = (aot_gpr_4 | 0u); @@ -2163,19 +2164,19 @@ L_088B8A30: aot_gpr_4 = (aot_gpr_4 + static_cast(22360)); ctx.gpr[20] = (ctx.gpr[18] + static_cast(220)); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(36), aot_gpr_4); - ctx.gpr[7] = (2231u << 16u); + aot_gpr_7 = (2231u << 16u); aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_5 = (0u | 9u); aot_gpr_6 = (0u | 12u); aot_gpr_31 = (0x088B8A58u); - ctx.gpr[7] = (ctx.gpr[7] + static_cast(-30968)); + aot_gpr_7 = (aot_gpr_7 + static_cast(-30968)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 158u, 0x08B60C7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B8A58u) goto L_088B8A58; AOT_REGCACHE_SYNC_OUT(); return; L_088B8A58: ctx.gpr[17] = (ctx.gpr[28] + static_cast(-24560)); aot_gpr_31 = (0x088B8A64u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B8A64u) goto L_088B8A64; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B8A64u) goto L_088B8A64; AOT_REGCACHE_SYNC_OUT(); return; L_088B8A64: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(224))); @@ -2203,16 +2204,16 @@ L_088B8A64: ctx.gpr[19] = (ctx.gpr[19] + static_cast(-24560)); ctx.gpr[9] = (ctx.gpr[28] + static_cast(-24496)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(60), ctx.gpr[8]); - aot_gpr_16 = (ctx.gpr[19] - ctx.gpr[17]); + ctx.gpr[16] = (ctx.gpr[19] - ctx.gpr[17]); aot_gpr_6 = (aot_gpr_4 - aot_gpr_5); ctx.gpr[10] = (ctx.gpr[18] + static_cast(316)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), ctx.gpr[9]); - ctx.gpr[7] = (aot_gpr_6 < aot_gpr_16 ? 1u : 0u); + aot_gpr_7 = (aot_gpr_6 < ctx.gpr[16] ? 1u : 0u); ctx.gpr[21] = (ctx.gpr[28] + static_cast(-24552)); ctx.gpr[30] = (ctx.gpr[18] + static_cast(232)); ctx.gpr[22] = (ctx.gpr[28] + static_cast(-24544)); ctx.gpr[23] = (ctx.gpr[28] + static_cast(-24536)); - { const bool branch_taken = ctx.gpr[7] != 0u; + { const bool branch_taken = aot_gpr_7 != 0u; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), ctx.gpr[10]); if (branch_taken) { goto L_088B8B54; @@ -2220,8 +2221,8 @@ L_088B8A64: goto L_088B8AF4; } L_088B8AF4: - if (aot_gpr_16 == 0u) { - ctx.gpr[17] = (aot_gpr_5 + aot_gpr_16); + if (ctx.gpr[16] == 0u) { + ctx.gpr[17] = (aot_gpr_5 + ctx.gpr[16]); goto L_088B8B18; } goto L_088B8AFC; @@ -2229,17 +2230,17 @@ L_088B8AFC: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088B8B0Cu); - aot_gpr_6 = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B8B0Cu) goto L_088B8B0C; AOT_REGCACHE_SYNC_OUT(); return; L_088B8B0C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(224))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(220))); - ctx.gpr[17] = (aot_gpr_5 + aot_gpr_16); + ctx.gpr[17] = (aot_gpr_5 + ctx.gpr[16]); goto L_088B8B18; L_088B8B18: - aot_gpr_16 = (aot_gpr_4 | 0u); - { const bool branch_taken = ctx.gpr[17] == aot_gpr_16; + ctx.gpr[16] = (aot_gpr_4 | 0u); + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; // nop if (branch_taken) { goto L_088B8B9C; @@ -2259,14 +2260,14 @@ L_088B8B24: L_088B8B34: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088B8B40u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 164u, 0x08AF54A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B8B40u) goto L_088B8B40; AOT_REGCACHE_SYNC_OUT(); return; L_088B8B40: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(224))); goto L_088B8B44; L_088B8B44: - aot_gpr_5 = (aot_gpr_16 - ctx.gpr[17]); + aot_gpr_5 = (ctx.gpr[16] - ctx.gpr[17]); aot_gpr_4 = (aot_gpr_4 - aot_gpr_5); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(224), aot_gpr_4); @@ -2299,7 +2300,7 @@ L_088B8B80: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(0), static_cast(0u)); aot_gpr_5 = (aot_gpr_5 + static_cast(-24560)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(1), static_cast(0u)); - ctx.gpr[7] = (aot_gpr_29 + static_cast(1)); + aot_gpr_7 = (aot_gpr_29 + static_cast(1)); aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x088B8B9Cu); aot_gpr_6 = (ctx.gpr[19] | 0u); @@ -2307,24 +2308,24 @@ L_088B8B80: L_088B8B9C: aot_gpr_31 = (0x088B8BA4u); aot_gpr_4 = (ctx.gpr[21] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B8BA4u) goto L_088B8BA4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B8BA4u) goto L_088B8BA4; AOT_REGCACHE_SYNC_OUT(); return; L_088B8BA4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(236))); ctx.gpr[17] = (ctx.gpr[28] + ctx.gpr[2]); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(232))); ctx.gpr[17] = (ctx.gpr[17] + static_cast(-24552)); - aot_gpr_16 = (ctx.gpr[17] - ctx.gpr[21]); + ctx.gpr[16] = (ctx.gpr[17] - ctx.gpr[21]); aot_gpr_6 = (aot_gpr_4 - aot_gpr_5); - ctx.gpr[7] = (aot_gpr_6 < aot_gpr_16 ? 1u : 0u); - if (ctx.gpr[7] != 0u) { + aot_gpr_7 = (aot_gpr_6 < ctx.gpr[16] ? 1u : 0u); + if (aot_gpr_7 != 0u) { aot_gpr_4 = (aot_gpr_6 | 0u); goto L_088B8C28; } goto L_088B8BC8; L_088B8BC8: - { const bool branch_taken = aot_gpr_16 == 0u; - ctx.gpr[17] = (aot_gpr_5 + aot_gpr_16); + { const bool branch_taken = ctx.gpr[16] == 0u; + ctx.gpr[17] = (aot_gpr_5 + ctx.gpr[16]); if (branch_taken) { goto L_088B8BEC; } @@ -2334,17 +2335,17 @@ L_088B8BD0: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x088B8BE0u); - aot_gpr_6 = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B8BE0u) goto L_088B8BE0; AOT_REGCACHE_SYNC_OUT(); return; L_088B8BE0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(236))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(232))); - ctx.gpr[17] = (aot_gpr_5 + aot_gpr_16); + ctx.gpr[17] = (aot_gpr_5 + ctx.gpr[16]); goto L_088B8BEC; L_088B8BEC: - aot_gpr_16 = (aot_gpr_4 | 0u); - { const bool branch_taken = ctx.gpr[17] == aot_gpr_16; + ctx.gpr[16] = (aot_gpr_4 | 0u); + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; // nop if (branch_taken) { goto L_088B8C6C; @@ -2364,14 +2365,14 @@ L_088B8BF8: L_088B8C08: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088B8C14u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 164u, 0x08AF54A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B8C14u) goto L_088B8C14; AOT_REGCACHE_SYNC_OUT(); return; L_088B8C14: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(236))); goto L_088B8C18; L_088B8C18: - aot_gpr_5 = (aot_gpr_16 - ctx.gpr[17]); + aot_gpr_5 = (ctx.gpr[16] - ctx.gpr[17]); aot_gpr_4 = (aot_gpr_4 - aot_gpr_5); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(236), aot_gpr_4); @@ -2403,7 +2404,7 @@ L_088B8C50: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(2), static_cast(0u)); aot_gpr_5 = (aot_gpr_5 + static_cast(-24552)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(3), static_cast(0u)); - ctx.gpr[7] = (aot_gpr_29 + static_cast(3)); + aot_gpr_7 = (aot_gpr_29 + static_cast(3)); aot_gpr_4 = (ctx.gpr[30] | 0u); aot_gpr_31 = (0x088B8C6Cu); aot_gpr_6 = (ctx.gpr[17] | 0u); @@ -2411,24 +2412,24 @@ L_088B8C50: L_088B8C6C: aot_gpr_31 = (0x088B8C74u); aot_gpr_4 = (ctx.gpr[22] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B8C74u) goto L_088B8C74; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B8C74u) goto L_088B8C74; AOT_REGCACHE_SYNC_OUT(); return; L_088B8C74: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(248))); ctx.gpr[17] = (ctx.gpr[28] + ctx.gpr[2]); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(244))); ctx.gpr[17] = (ctx.gpr[17] + static_cast(-24544)); - aot_gpr_16 = (ctx.gpr[17] - ctx.gpr[22]); + ctx.gpr[16] = (ctx.gpr[17] - ctx.gpr[22]); aot_gpr_6 = (aot_gpr_4 - aot_gpr_5); - ctx.gpr[7] = (aot_gpr_6 < aot_gpr_16 ? 1u : 0u); - if (ctx.gpr[7] != 0u) { + aot_gpr_7 = (aot_gpr_6 < ctx.gpr[16] ? 1u : 0u); + if (aot_gpr_7 != 0u) { aot_gpr_4 = (aot_gpr_6 | 0u); goto L_088B8CF8; } goto L_088B8C98; L_088B8C98: - { const bool branch_taken = aot_gpr_16 == 0u; - ctx.gpr[17] = (aot_gpr_5 + aot_gpr_16); + { const bool branch_taken = ctx.gpr[16] == 0u; + ctx.gpr[17] = (aot_gpr_5 + ctx.gpr[16]); if (branch_taken) { goto L_088B8CBC; } @@ -2438,17 +2439,17 @@ L_088B8CA0: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x088B8CB0u); - aot_gpr_6 = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B8CB0u) goto L_088B8CB0; AOT_REGCACHE_SYNC_OUT(); return; L_088B8CB0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(248))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(244))); - ctx.gpr[17] = (aot_gpr_5 + aot_gpr_16); + ctx.gpr[17] = (aot_gpr_5 + ctx.gpr[16]); goto L_088B8CBC; L_088B8CBC: - aot_gpr_16 = (aot_gpr_4 | 0u); - { const bool branch_taken = ctx.gpr[17] == aot_gpr_16; + ctx.gpr[16] = (aot_gpr_4 | 0u); + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; // nop if (branch_taken) { goto L_088B8D3C; @@ -2468,14 +2469,14 @@ L_088B8CC8: L_088B8CD8: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088B8CE4u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 164u, 0x08AF54A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B8CE4u) goto L_088B8CE4; AOT_REGCACHE_SYNC_OUT(); return; L_088B8CE4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(248))); goto L_088B8CE8; L_088B8CE8: - aot_gpr_5 = (aot_gpr_16 - ctx.gpr[17]); + aot_gpr_5 = (ctx.gpr[16] - ctx.gpr[17]); aot_gpr_4 = (aot_gpr_4 - aot_gpr_5); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(248), aot_gpr_4); @@ -2508,31 +2509,31 @@ L_088B8D20: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(4), static_cast(0u)); aot_gpr_5 = (aot_gpr_5 + static_cast(-24544)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(5), static_cast(0u)); - ctx.gpr[7] = (aot_gpr_29 + static_cast(5)); + aot_gpr_7 = (aot_gpr_29 + static_cast(5)); aot_gpr_31 = (0x088B8D3Cu); aot_gpr_6 = (ctx.gpr[17] | 0u); goto L_088B8720; L_088B8D3C: aot_gpr_31 = (0x088B8D44u); aot_gpr_4 = (ctx.gpr[23] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B8D44u) goto L_088B8D44; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B8D44u) goto L_088B8D44; AOT_REGCACHE_SYNC_OUT(); return; L_088B8D44: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(260))); ctx.gpr[17] = (ctx.gpr[28] + ctx.gpr[2]); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(256))); ctx.gpr[17] = (ctx.gpr[17] + static_cast(-24536)); - aot_gpr_16 = (ctx.gpr[17] - ctx.gpr[23]); + ctx.gpr[16] = (ctx.gpr[17] - ctx.gpr[23]); aot_gpr_6 = (aot_gpr_4 - aot_gpr_5); - ctx.gpr[7] = (aot_gpr_6 < aot_gpr_16 ? 1u : 0u); - if (ctx.gpr[7] != 0u) { + aot_gpr_7 = (aot_gpr_6 < ctx.gpr[16] ? 1u : 0u); + if (aot_gpr_7 != 0u) { aot_gpr_4 = (aot_gpr_6 | 0u); goto L_088B8DC8; } goto L_088B8D68; L_088B8D68: - { const bool branch_taken = aot_gpr_16 == 0u; - ctx.gpr[17] = (aot_gpr_5 + aot_gpr_16); + { const bool branch_taken = ctx.gpr[16] == 0u; + ctx.gpr[17] = (aot_gpr_5 + ctx.gpr[16]); if (branch_taken) { goto L_088B8D8C; } @@ -2542,17 +2543,17 @@ L_088B8D70: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (ctx.gpr[23] | 0u); aot_gpr_31 = (0x088B8D80u); - aot_gpr_6 = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B8D80u) goto L_088B8D80; AOT_REGCACHE_SYNC_OUT(); return; L_088B8D80: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(260))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(256))); - ctx.gpr[17] = (aot_gpr_5 + aot_gpr_16); + ctx.gpr[17] = (aot_gpr_5 + ctx.gpr[16]); goto L_088B8D8C; L_088B8D8C: - aot_gpr_16 = (aot_gpr_4 | 0u); - { const bool branch_taken = ctx.gpr[17] == aot_gpr_16; + ctx.gpr[16] = (aot_gpr_4 | 0u); + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; // nop if (branch_taken) { goto L_088B8E0C; @@ -2572,14 +2573,14 @@ L_088B8D98: L_088B8DA8: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088B8DB4u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 164u, 0x08AF54A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B8DB4u) goto L_088B8DB4; AOT_REGCACHE_SYNC_OUT(); return; L_088B8DB4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(260))); goto L_088B8DB8; L_088B8DB8: - aot_gpr_5 = (aot_gpr_16 - ctx.gpr[17]); + aot_gpr_5 = (ctx.gpr[16] - ctx.gpr[17]); aot_gpr_4 = (aot_gpr_4 - aot_gpr_5); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(260), aot_gpr_4); @@ -2612,7 +2613,7 @@ L_088B8DF0: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(6), static_cast(0u)); aot_gpr_5 = (aot_gpr_5 + static_cast(-24536)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(7), static_cast(0u)); - ctx.gpr[7] = (aot_gpr_29 + static_cast(7)); + aot_gpr_7 = (aot_gpr_29 + static_cast(7)); aot_gpr_31 = (0x088B8E0Cu); aot_gpr_6 = (ctx.gpr[17] | 0u); goto L_088B8720; @@ -2620,24 +2621,24 @@ L_088B8E0C: ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); aot_gpr_31 = (0x088B8E18u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B8E18u) goto L_088B8E18; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B8E18u) goto L_088B8E18; AOT_REGCACHE_SYNC_OUT(); return; L_088B8E18: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(272))); ctx.gpr[17] = (ctx.gpr[28] + ctx.gpr[2]); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(268))); ctx.gpr[17] = (ctx.gpr[17] + static_cast(-24528)); - aot_gpr_16 = (ctx.gpr[17] - ctx.gpr[19]); + ctx.gpr[16] = (ctx.gpr[17] - ctx.gpr[19]); aot_gpr_6 = (aot_gpr_4 - aot_gpr_5); - ctx.gpr[7] = (aot_gpr_6 < aot_gpr_16 ? 1u : 0u); - if (ctx.gpr[7] != 0u) { + aot_gpr_7 = (aot_gpr_6 < ctx.gpr[16] ? 1u : 0u); + if (aot_gpr_7 != 0u) { aot_gpr_4 = (aot_gpr_6 | 0u); goto L_088B8E9C; } goto L_088B8E3C; L_088B8E3C: - { const bool branch_taken = aot_gpr_16 == 0u; - ctx.gpr[17] = (aot_gpr_5 + aot_gpr_16); + { const bool branch_taken = ctx.gpr[16] == 0u; + ctx.gpr[17] = (aot_gpr_5 + ctx.gpr[16]); if (branch_taken) { goto L_088B8E60; } @@ -2647,17 +2648,17 @@ L_088B8E44: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x088B8E54u); - aot_gpr_6 = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B8E54u) goto L_088B8E54; AOT_REGCACHE_SYNC_OUT(); return; L_088B8E54: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(272))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(268))); - ctx.gpr[17] = (aot_gpr_5 + aot_gpr_16); + ctx.gpr[17] = (aot_gpr_5 + ctx.gpr[16]); goto L_088B8E60; L_088B8E60: - aot_gpr_16 = (aot_gpr_4 | 0u); - { const bool branch_taken = ctx.gpr[17] == aot_gpr_16; + ctx.gpr[16] = (aot_gpr_4 | 0u); + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; // nop if (branch_taken) { goto L_088B8EE0; @@ -2677,14 +2678,14 @@ L_088B8E6C: L_088B8E7C: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088B8E88u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 164u, 0x08AF54A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B8E88u) goto L_088B8E88; AOT_REGCACHE_SYNC_OUT(); return; L_088B8E88: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(272))); goto L_088B8E8C; L_088B8E8C: - aot_gpr_5 = (aot_gpr_16 - ctx.gpr[17]); + aot_gpr_5 = (ctx.gpr[16] - ctx.gpr[17]); aot_gpr_4 = (aot_gpr_4 - aot_gpr_5); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(272), aot_gpr_4); @@ -2717,7 +2718,7 @@ L_088B8EC4: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(8), static_cast(0u)); aot_gpr_5 = (aot_gpr_5 + static_cast(-24528)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(9), static_cast(0u)); - ctx.gpr[7] = (aot_gpr_29 + static_cast(9)); + aot_gpr_7 = (aot_gpr_29 + static_cast(9)); aot_gpr_31 = (0x088B8EE0u); aot_gpr_6 = (ctx.gpr[17] | 0u); goto L_088B8720; @@ -2725,24 +2726,24 @@ L_088B8EE0: ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); aot_gpr_31 = (0x088B8EECu); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B8EECu) goto L_088B8EEC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B8EECu) goto L_088B8EEC; AOT_REGCACHE_SYNC_OUT(); return; L_088B8EEC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(284))); ctx.gpr[17] = (ctx.gpr[28] + ctx.gpr[2]); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(280))); ctx.gpr[17] = (ctx.gpr[17] + static_cast(-24520)); - aot_gpr_16 = (ctx.gpr[17] - ctx.gpr[19]); + ctx.gpr[16] = (ctx.gpr[17] - ctx.gpr[19]); aot_gpr_6 = (aot_gpr_4 - aot_gpr_5); - ctx.gpr[7] = (aot_gpr_6 < aot_gpr_16 ? 1u : 0u); - if (ctx.gpr[7] != 0u) { + aot_gpr_7 = (aot_gpr_6 < ctx.gpr[16] ? 1u : 0u); + if (aot_gpr_7 != 0u) { aot_gpr_4 = (aot_gpr_6 | 0u); goto L_088B8F70; } goto L_088B8F10; L_088B8F10: - { const bool branch_taken = aot_gpr_16 == 0u; - ctx.gpr[17] = (aot_gpr_5 + aot_gpr_16); + { const bool branch_taken = ctx.gpr[16] == 0u; + ctx.gpr[17] = (aot_gpr_5 + ctx.gpr[16]); if (branch_taken) { goto L_088B8F34; } @@ -2752,17 +2753,17 @@ L_088B8F18: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x088B8F28u); - aot_gpr_6 = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B8F28u) goto L_088B8F28; AOT_REGCACHE_SYNC_OUT(); return; L_088B8F28: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(284))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(280))); - ctx.gpr[17] = (aot_gpr_5 + aot_gpr_16); + ctx.gpr[17] = (aot_gpr_5 + ctx.gpr[16]); goto L_088B8F34; L_088B8F34: - aot_gpr_16 = (aot_gpr_4 | 0u); - { const bool branch_taken = ctx.gpr[17] == aot_gpr_16; + ctx.gpr[16] = (aot_gpr_4 | 0u); + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; // nop if (branch_taken) { goto L_088B8FB4; @@ -2782,14 +2783,14 @@ L_088B8F40: L_088B8F50: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088B8F5Cu); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 164u, 0x08AF54A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B8F5Cu) goto L_088B8F5C; AOT_REGCACHE_SYNC_OUT(); return; L_088B8F5C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(284))); goto L_088B8F60; L_088B8F60: - aot_gpr_5 = (aot_gpr_16 - ctx.gpr[17]); + aot_gpr_5 = (ctx.gpr[16] - ctx.gpr[17]); aot_gpr_4 = (aot_gpr_4 - aot_gpr_5); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(284), aot_gpr_4); @@ -2822,7 +2823,7 @@ L_088B8F98: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(10), static_cast(0u)); aot_gpr_5 = (aot_gpr_5 + static_cast(-24520)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(11), static_cast(0u)); - ctx.gpr[7] = (aot_gpr_29 + static_cast(11)); + aot_gpr_7 = (aot_gpr_29 + static_cast(11)); aot_gpr_31 = (0x088B8FB4u); aot_gpr_6 = (ctx.gpr[17] | 0u); goto L_088B8720; @@ -2830,17 +2831,17 @@ L_088B8FB4: ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(32))); aot_gpr_31 = (0x088B8FC0u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B8FC0u) goto L_088B8FC0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B8FC0u) goto L_088B8FC0; AOT_REGCACHE_SYNC_OUT(); return; L_088B8FC0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(296))); - aot_gpr_16 = (ctx.gpr[28] + ctx.gpr[2]); + ctx.gpr[16] = (ctx.gpr[28] + ctx.gpr[2]); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(292))); - aot_gpr_16 = (aot_gpr_16 + static_cast(-24512)); - ctx.gpr[17] = (aot_gpr_16 - ctx.gpr[19]); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(-24512)); + ctx.gpr[17] = (ctx.gpr[16] - ctx.gpr[19]); aot_gpr_6 = (aot_gpr_4 - aot_gpr_5); - ctx.gpr[7] = (aot_gpr_6 < ctx.gpr[17] ? 1u : 0u); - if (ctx.gpr[7] != 0u) { + aot_gpr_7 = (aot_gpr_6 < ctx.gpr[17] ? 1u : 0u); + if (aot_gpr_7 != 0u) { aot_gpr_4 = (aot_gpr_6 | 0u); goto L_088B9044; } @@ -2864,8 +2865,8 @@ L_088B8FFC: ctx.gpr[17] = (aot_gpr_5 + ctx.gpr[17]); goto L_088B9008; L_088B9008: - aot_gpr_16 = (aot_gpr_4 | 0u); - { const bool branch_taken = ctx.gpr[17] == aot_gpr_16; + ctx.gpr[16] = (aot_gpr_4 | 0u); + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; // nop if (branch_taken) { goto L_088B9088; @@ -2885,14 +2886,14 @@ L_088B9014: L_088B9024: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088B9030u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 164u, 0x08AF54A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B9030u) goto L_088B9030; AOT_REGCACHE_SYNC_OUT(); return; L_088B9030: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(296))); goto L_088B9034; L_088B9034: - aot_gpr_5 = (aot_gpr_16 - ctx.gpr[17]); + aot_gpr_5 = (ctx.gpr[16] - ctx.gpr[17]); aot_gpr_4 = (aot_gpr_4 - aot_gpr_5); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(296), aot_gpr_4); @@ -2925,25 +2926,25 @@ L_088B906C: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(12), static_cast(0u)); aot_gpr_5 = (aot_gpr_5 + static_cast(-24512)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(13), static_cast(0u)); - ctx.gpr[7] = (aot_gpr_29 + static_cast(13)); + aot_gpr_7 = (aot_gpr_29 + static_cast(13)); aot_gpr_31 = (0x088B9088u); - aot_gpr_6 = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); goto L_088B8720; L_088B9088: ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(36))); aot_gpr_31 = (0x088B9094u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B9094u) goto L_088B9094; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B9094u) goto L_088B9094; AOT_REGCACHE_SYNC_OUT(); return; L_088B9094: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(308))); - aot_gpr_16 = (ctx.gpr[28] + ctx.gpr[2]); + ctx.gpr[16] = (ctx.gpr[28] + ctx.gpr[2]); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(304))); - aot_gpr_16 = (aot_gpr_16 + static_cast(-24504)); - ctx.gpr[17] = (aot_gpr_16 - ctx.gpr[19]); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(-24504)); + ctx.gpr[17] = (ctx.gpr[16] - ctx.gpr[19]); aot_gpr_6 = (aot_gpr_4 - aot_gpr_5); - ctx.gpr[7] = (aot_gpr_6 < ctx.gpr[17] ? 1u : 0u); - if (ctx.gpr[7] != 0u) { + aot_gpr_7 = (aot_gpr_6 < ctx.gpr[17] ? 1u : 0u); + if (aot_gpr_7 != 0u) { aot_gpr_4 = (aot_gpr_6 | 0u); goto L_088B9118; } @@ -2967,8 +2968,8 @@ L_088B90D0: ctx.gpr[17] = (aot_gpr_5 + ctx.gpr[17]); goto L_088B90DC; L_088B90DC: - aot_gpr_16 = (aot_gpr_4 | 0u); - { const bool branch_taken = ctx.gpr[17] == aot_gpr_16; + ctx.gpr[16] = (aot_gpr_4 | 0u); + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; // nop if (branch_taken) { goto L_088B915C; @@ -2988,14 +2989,14 @@ L_088B90E8: L_088B90F8: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088B9104u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 164u, 0x08AF54A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B9104u) goto L_088B9104; AOT_REGCACHE_SYNC_OUT(); return; L_088B9104: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(308))); goto L_088B9108; L_088B9108: - aot_gpr_5 = (aot_gpr_16 - ctx.gpr[17]); + aot_gpr_5 = (ctx.gpr[16] - ctx.gpr[17]); aot_gpr_4 = (aot_gpr_4 - aot_gpr_5); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(308), aot_gpr_4); @@ -3028,25 +3029,25 @@ L_088B9140: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(14), static_cast(0u)); aot_gpr_5 = (aot_gpr_5 + static_cast(-24504)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(15), static_cast(0u)); - ctx.gpr[7] = (aot_gpr_29 + static_cast(15)); + aot_gpr_7 = (aot_gpr_29 + static_cast(15)); aot_gpr_31 = (0x088B915Cu); - aot_gpr_6 = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); goto L_088B8720; L_088B915C: ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(40))); aot_gpr_31 = (0x088B9168u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B9168u) goto L_088B9168; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B9168u) goto L_088B9168; AOT_REGCACHE_SYNC_OUT(); return; L_088B9168: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(320))); - aot_gpr_16 = (ctx.gpr[28] + ctx.gpr[2]); + ctx.gpr[16] = (ctx.gpr[28] + ctx.gpr[2]); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(316))); - aot_gpr_16 = (aot_gpr_16 + static_cast(-24496)); - ctx.gpr[17] = (aot_gpr_16 - ctx.gpr[19]); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(-24496)); + ctx.gpr[17] = (ctx.gpr[16] - ctx.gpr[19]); aot_gpr_6 = (aot_gpr_4 - aot_gpr_5); - ctx.gpr[7] = (aot_gpr_6 < ctx.gpr[17] ? 1u : 0u); - if (ctx.gpr[7] != 0u) { + aot_gpr_7 = (aot_gpr_6 < ctx.gpr[17] ? 1u : 0u); + if (aot_gpr_7 != 0u) { aot_gpr_4 = (aot_gpr_6 | 0u); goto L_088B91EC; } @@ -3070,8 +3071,8 @@ L_088B91A4: ctx.gpr[17] = (aot_gpr_5 + ctx.gpr[17]); goto L_088B91B0; L_088B91B0: - aot_gpr_16 = (aot_gpr_4 | 0u); - { const bool branch_taken = ctx.gpr[17] == aot_gpr_16; + ctx.gpr[16] = (aot_gpr_4 | 0u); + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; // nop if (branch_taken) { goto L_088B9230; @@ -3091,14 +3092,14 @@ L_088B91BC: L_088B91CC: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088B91D8u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 164u, 0x08AF54A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B91D8u) goto L_088B91D8; AOT_REGCACHE_SYNC_OUT(); return; L_088B91D8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(320))); goto L_088B91DC; L_088B91DC: - aot_gpr_5 = (aot_gpr_16 - ctx.gpr[17]); + aot_gpr_5 = (ctx.gpr[16] - ctx.gpr[17]); aot_gpr_4 = (aot_gpr_4 - aot_gpr_5); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(320), aot_gpr_4); @@ -3131,9 +3132,9 @@ L_088B9214: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(16), static_cast(0u)); aot_gpr_5 = (aot_gpr_5 + static_cast(-24496)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(17), static_cast(0u)); - ctx.gpr[7] = (aot_gpr_29 + static_cast(17)); + aot_gpr_7 = (aot_gpr_29 + static_cast(17)); aot_gpr_31 = (0x088B9230u); - aot_gpr_6 = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); goto L_088B8720; L_088B9230: aot_gpr_4 = (ctx.gpr[28] + static_cast(-24488)); @@ -3156,7 +3157,7 @@ L_088B9254: ctx.gpr[2] = (ctx.gpr[18] | 0u); { std::uint32_t aot_run_words[10]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(68), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -3177,10 +3178,10 @@ L_088B9288: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); ctx.gpr[17] = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_16 = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); if (branch_taken) { goto L_088B9318; } @@ -3216,14 +3217,14 @@ L_088B92C8: goto L_088B92D8; } L_088B92D8: - ctx.gpr[7] = (2188u << 16u); + aot_gpr_7 = (2188u << 16u); aot_gpr_4 = (ctx.gpr[17] + static_cast(220)); aot_gpr_5 = (0u | 9u); aot_gpr_6 = (0u | 12u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); aot_gpr_31 = (0x088B92F8u); - ctx.gpr[7] = (ctx.gpr[7] + static_cast(-31036)); + aot_gpr_7 = (aot_gpr_7 + static_cast(-31036)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 173u, 0x08B60E20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B92F8u) goto L_088B92F8; AOT_REGCACHE_SYNC_OUT(); return; L_088B92F8: @@ -3233,7 +3234,7 @@ L_088B92F8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 486u, 0x08AC5AE8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B9304u) goto L_088B9304; AOT_REGCACHE_SYNC_OUT(); return; L_088B9304: - aot_gpr_4 = (aot_gpr_16 & 1u); + aot_gpr_4 = (ctx.gpr[16] & 1u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -3244,12 +3245,12 @@ L_088B9304: L_088B9310: aot_gpr_31 = (0x088B9318u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B9318u) goto L_088B9318; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B9318u) goto L_088B9318; AOT_REGCACHE_SYNC_OUT(); return; L_088B9318: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -3275,10 +3276,10 @@ L_088B9334: AOT_REGCACHE_SYNC_OUT(); return; L_088B933C: aot_gpr_29 = (aot_gpr_29 + static_cast(-80)); - { const std::uint32_t aot_run_words[9]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], aot_gpr_31}; + { const std::uint32_t aot_run_words[9]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(32), aot_run_words); } aot_gpr_31 = (0x088B936Cu); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 507u, 0x08AC5C90u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B936Cu) goto L_088B936C; AOT_REGCACHE_SYNC_OUT(); return; L_088B936C: @@ -3327,10 +3328,10 @@ L_088B939C: } L_088B93A4: ctx.gpr[18] = (0u | 0u); - ctx.gpr[19] = (aot_gpr_16 + static_cast(184)); - ctx.gpr[20] = (aot_gpr_16 + static_cast(76)); + ctx.gpr[19] = (ctx.gpr[16] + static_cast(184)); + ctx.gpr[20] = (ctx.gpr[16] + static_cast(76)); ctx.gpr[21] = (aot_gpr_29 + static_cast(16)); - ctx.gpr[22] = (aot_gpr_16 + static_cast(72)); + ctx.gpr[22] = (ctx.gpr[16] + static_cast(72)); ctx.gpr[23] = (aot_gpr_29 + static_cast(20)); goto L_088B93BC; L_088B93BC: @@ -3338,16 +3339,16 @@ L_088B93BC: aot_gpr_4 = (0u | 1u); aot_gpr_31 = (0x088B93CCu); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B93CCu) goto L_088B93CC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B93CCu) goto L_088B93CC; AOT_REGCACHE_SYNC_OUT(); return; L_088B93CC: aot_gpr_4 = (0u | 4u); aot_gpr_5 = (static_cast(aot_gpr_4) < static_cast(ctx.gpr[18]) ? 1u : 0u); ctx.gpr[8] = (aot_gpr_5 ^ 1u); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(12))); - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(12))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(20))); { const bool branch_taken = ctx.gpr[8] == 0u; - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); + aot_gpr_7 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(16))); if (branch_taken) { goto L_088B9434; } @@ -3356,9 +3357,9 @@ L_088B93CC: L_088B93E8: aot_gpr_6 = (aot_gpr_6 + static_cast(-45)); { const std::int32_t dividend = static_cast(aot_gpr_6); const std::int32_t divisor = static_cast(aot_gpr_4); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } - aot_gpr_4 = (ctx.gpr[7] + static_cast(45)); + aot_gpr_4 = (aot_gpr_7 + static_cast(45)); ctx.fpr[15] = std::bit_cast(aot_gpr_4); - aot_fpr_13 = std::bit_cast(ctx.gpr[7]); + aot_fpr_13 = std::bit_cast(aot_gpr_7); aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_13))); ctx.fpr[15] = static_cast(static_cast(std::bit_cast(ctx.fpr[15]))); aot_gpr_4 = (ctx.lo); @@ -3381,9 +3382,9 @@ L_088B93E8: L_088B9434: aot_gpr_6 = (aot_gpr_6 + static_cast(45)); { const std::int32_t dividend = static_cast(aot_gpr_6); const std::int32_t divisor = static_cast(aot_gpr_4); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(24))); aot_gpr_4 = (ctx.gpr[18] + static_cast(-4)); - aot_gpr_6 = (ctx.gpr[7] + aot_gpr_6); + aot_gpr_6 = (aot_gpr_7 + aot_gpr_6); aot_gpr_6 = (aot_gpr_6 + static_cast(-45)); aot_fpr_13 = std::bit_cast(aot_gpr_6); aot_gpr_4 = (aot_gpr_4 + static_cast(-1)); @@ -3406,7 +3407,7 @@ L_088B9434: L_088B9490: aot_gpr_31 = (0x088B9498u); aot_gpr_4 = (aot_gpr_29 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B9498u) goto L_088B9498; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, ctx.fpr[15]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B9498u) goto L_088B9498; AOT_REGCACHE_SYNC_OUT(); return; L_088B9498: { const bool branch_taken = ctx.gpr[18] != ctx.gpr[17]; @@ -3453,7 +3454,7 @@ L_088B94D0: L_088B94E0: { std::uint32_t aot_run_words[9]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(32), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -3541,8 +3542,8 @@ L_088B9564: AOT_REGCACHE_SYNC_OUT(); return; L_088B9570: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); { const std::uint32_t aot_run_words[3]{ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(4), aot_run_words); } aot_gpr_31 = (0x088B9590u); @@ -3551,7 +3552,7 @@ L_088B9570: AOT_REGCACHE_SYNC_OUT(); return; L_088B9590: aot_gpr_31 = (0x088B9598u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(328))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(328))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0170_entry, 170u, 584u, 0x08AAECA4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B9598u) goto L_088B9598; AOT_REGCACHE_SYNC_OUT(); return; L_088B9598: @@ -3561,7 +3562,7 @@ L_088B9598: AOT_REGCACHE_SYNC_OUT(); return; L_088B95A0: ctx.gpr[18] = (0u | 0u); - ctx.gpr[17] = (aot_gpr_16 + static_cast(220)); + ctx.gpr[17] = (ctx.gpr[16] + static_cast(220)); goto L_088B95A8; L_088B95A8: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); @@ -3570,12 +3571,12 @@ L_088B95A8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 398u, 0x08A65C4Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B95B4u) goto L_088B95B4; AOT_REGCACHE_SYNC_OUT(); return; L_088B95B4: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(184), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(184), ctx.gpr[2]); ctx.gpr[18] = (ctx.gpr[18] + static_cast(1)); ctx.gpr[17] = (ctx.gpr[17] + static_cast(12)); aot_gpr_4 = (static_cast(ctx.gpr[18]) < 9 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_16 = (aot_gpr_16 + static_cast(4)); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(4)); if (branch_taken) { goto L_088B95A8; } @@ -3589,7 +3590,7 @@ L_088B95CC: L_088B95D4: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; @@ -3742,8 +3743,8 @@ L_088B96E0: AOT_REGCACHE_SYNC_OUT(); return; L_088B96E8: aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); - { const bool branch_taken = aot_gpr_6 != ctx.gpr[7]; + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); + { const bool branch_taken = aot_gpr_6 != aot_gpr_7; // nop if (branch_taken) { goto L_088B970C; @@ -3751,8 +3752,8 @@ L_088B96E8: goto L_088B96F8; } L_088B96F8: - ctx.gpr[7] = (static_cast(aot_gpr_6) < 2 ? 1u : 0u); - { const bool branch_taken = ctx.gpr[7] != 0u; + aot_gpr_7 = (static_cast(aot_gpr_6) < 2 ? 1u : 0u); + { const bool branch_taken = aot_gpr_7 != 0u; // nop if (branch_taken) { goto L_088B9714; @@ -3761,7 +3762,7 @@ L_088B96F8: } L_088B9704: { const bool branch_taken = 0u == 0u; - ctx.gpr[7] = (static_cast(aot_gpr_6) < 3 ? 1u : 0u); + aot_gpr_7 = (static_cast(aot_gpr_6) < 3 ? 1u : 0u); if (branch_taken) { goto L_088B972C; } @@ -3800,7 +3801,7 @@ L_088B9724: goto L_088B972C; } L_088B972C: - { const bool branch_taken = ctx.gpr[7] != 0u; + { const bool branch_taken = aot_gpr_7 != 0u; aot_gpr_6 = (static_cast(aot_gpr_6) < 4 ? 1u : 0u); if (branch_taken) { goto L_088B9774; @@ -3871,9 +3872,9 @@ L_088B9798: AOT_REGCACHE_SYNC_OUT(); return; L_088B97A0: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[17]); - aot_gpr_16 = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); ctx.gpr[17] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); aot_gpr_31 = (0x088B97C0u); @@ -3884,7 +3885,7 @@ L_088B97C0: aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x088B97CCu); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B97CCu) goto L_088B97CC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B627F0, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B97CCu) goto L_088B97CC; AOT_REGCACHE_SYNC_OUT(); return; L_088B97CC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -3900,11 +3901,11 @@ L_088B97D8: aot_gpr_6 = (2234u << 16u); aot_gpr_6 = (aot_gpr_6 + static_cast(14520)); aot_gpr_6 = (aot_gpr_6 + static_cast(1)); - ctx.gpr[7] = (aot_gpr_5 & 255u); - ctx.gpr[7] = (aot_gpr_6 + ctx.gpr[7]); - ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[7] + static_cast(0)))))); - ctx.gpr[7] = (ctx.gpr[7] & 8u); - { const bool branch_taken = ctx.gpr[7] != 0u; + aot_gpr_7 = (aot_gpr_5 & 255u); + aot_gpr_7 = (aot_gpr_6 + aot_gpr_7); + aot_gpr_7 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_7 + static_cast(0)))))); + aot_gpr_7 = (aot_gpr_7 & 8u); + { const bool branch_taken = aot_gpr_7 != 0u; aot_gpr_4 = (aot_gpr_4 + static_cast(1)); if (branch_taken) { goto L_088B9810; @@ -3930,11 +3931,11 @@ L_088B9808: L_088B9810: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_4); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0)))))); - ctx.gpr[7] = (aot_gpr_5 & 255u); - ctx.gpr[7] = (aot_gpr_6 + ctx.gpr[7]); - ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[7] + static_cast(0)))))); - ctx.gpr[7] = (ctx.gpr[7] & 8u); - { const bool branch_taken = ctx.gpr[7] != 0u; + aot_gpr_7 = (aot_gpr_5 & 255u); + aot_gpr_7 = (aot_gpr_6 + aot_gpr_7); + aot_gpr_7 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_7 + static_cast(0)))))); + aot_gpr_7 = (aot_gpr_7 & 8u); + { const bool branch_taken = aot_gpr_7 != 0u; aot_gpr_4 = (aot_gpr_4 + static_cast(1)); if (branch_taken) { goto L_088B9810; @@ -3958,13 +3959,13 @@ L_088B9838: goto L_088B9840; } L_088B9840: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), std::bit_cast(aot_fpr_12)); ctx.gpr[2] = (0u | 1u); goto L_088B9848; L_088B9848: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(4), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -3978,21 +3979,21 @@ L_088B985C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); ctx.gpr[17] = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); - aot_gpr_16 = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); ctx.gpr[18] = (aot_gpr_4 | 0u); aot_gpr_4 = (0u | 4u); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(0), aot_gpr_4); aot_gpr_31 = (0x088B9890u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B9890u) goto L_088B9890; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B9890u) goto L_088B9890; AOT_REGCACHE_SYNC_OUT(); return; L_088B9890: aot_gpr_4 = (ctx.gpr[17] | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x088B98A0u); aot_gpr_6 = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 314u, 0x089D1D64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B98A0u) goto L_088B98A0; @@ -4024,7 +4025,7 @@ L_088B98D0: aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(8), aot_gpr_4); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; @@ -4038,7 +4039,7 @@ L_088B98D0: L_088B98EC: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_6); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), ctx.gpr[7]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_7); aot_gpr_6 = (0u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), ctx.gpr[8]); aot_gpr_6 = (aot_gpr_6 + static_cast(16)); @@ -4065,13 +4066,13 @@ L_088B9930: ctx.gpr[18] = (aot_gpr_4 | 0u); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0)))))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); - ctx.gpr[7] = (0u | 61u); + aot_gpr_7 = (0u | 61u); ctx.gpr[17] = (aot_gpr_5 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[19]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); - { const bool branch_taken = aot_gpr_4 != ctx.gpr[7]; - aot_gpr_16 = (aot_gpr_6 | 0u); + { const bool branch_taken = aot_gpr_4 != aot_gpr_7; + ctx.gpr[16] = (aot_gpr_6 | 0u); if (branch_taken) { goto L_088B997C; } @@ -4081,11 +4082,11 @@ L_088B9960: aot_gpr_5 = (ctx.gpr[17] + static_cast(1)); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x088B9970u); - aot_gpr_6 = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 200u, 0x08B58BA0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B9970u) goto L_088B9970; AOT_REGCACHE_SYNC_OUT(); return; L_088B9970: - aot_gpr_4 = (aot_gpr_16 + ctx.gpr[18]); + aot_gpr_4 = (ctx.gpr[16] + ctx.gpr[18]); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(-1), static_cast(0u)); if (branch_taken) { @@ -4104,20 +4105,20 @@ L_088B997C: } L_088B9988: ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); - ctx.gpr[19] = (aot_gpr_16 + static_cast(-8)); + ctx.gpr[19] = (ctx.gpr[16] + static_cast(-8)); aot_gpr_31 = (0x088B9998u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B9998u) goto L_088B9998; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B9998u) goto L_088B9998; AOT_REGCACHE_SYNC_OUT(); return; L_088B9998: - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (ctx.gpr[2] | 0u); aot_gpr_5 = (ctx.gpr[28] + static_cast(-24456)); aot_gpr_31 = (0x088B99A8u); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 63u, 0x08B5831Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B99A8u) goto L_088B99A8; AOT_REGCACHE_SYNC_OUT(); return; L_088B99A8: - aot_gpr_4 = (static_cast(ctx.gpr[19]) < static_cast(aot_gpr_16) ? 1u : 0u); + aot_gpr_4 = (static_cast(ctx.gpr[19]) < static_cast(ctx.gpr[16]) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -4126,7 +4127,7 @@ L_088B99A8: goto L_088B99B4; } L_088B99B4: - aot_gpr_4 = (aot_gpr_16 - ctx.gpr[19]); + aot_gpr_4 = (ctx.gpr[16] - ctx.gpr[19]); ctx.gpr[17] = (ctx.gpr[17] + aot_gpr_4); aot_gpr_5 = (ctx.gpr[28] + static_cast(-24452)); aot_gpr_31 = (0x088B99C8u); @@ -4148,16 +4149,16 @@ L_088B99D4: goto L_088B99DC; } L_088B99DC: - ctx.gpr[19] = (aot_gpr_16 | 0u); + ctx.gpr[19] = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[28] + static_cast(-24448)); aot_gpr_31 = (0x088B99ECu); aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 66u, 0x08B58360u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B99ECu) goto L_088B99EC; AOT_REGCACHE_SYNC_OUT(); return; L_088B99EC: - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (ctx.gpr[2] | 0u); aot_gpr_4 = (ctx.gpr[19] + static_cast(-17)); - aot_gpr_5 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_16) ? 1u : 0u); + aot_gpr_5 = (static_cast(aot_gpr_4) < static_cast(ctx.gpr[16]) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; // nop if (branch_taken) { @@ -4166,7 +4167,7 @@ L_088B99EC: goto L_088B9A00; } L_088B9A00: - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); goto L_088B9A04; L_088B9A04: aot_gpr_5 = (ctx.gpr[28] + static_cast(-24444)); @@ -4175,7 +4176,7 @@ L_088B9A04: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 63u, 0x08B5831Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B9A10u) goto L_088B9A10; AOT_REGCACHE_SYNC_OUT(); return; L_088B9A10: - aot_gpr_4 = (aot_gpr_16 + ctx.gpr[17]); + aot_gpr_4 = (ctx.gpr[16] + ctx.gpr[17]); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0)))))); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -4188,7 +4189,7 @@ L_088B9A20: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088B9A30u); - aot_gpr_6 = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 182u, 0x08B58AE4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088B9A30u) goto L_088B9A30; AOT_REGCACHE_SYNC_OUT(); return; L_088B9A30: @@ -4220,7 +4221,7 @@ L_088B9A50: L_088B9A5C: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -4234,12 +4235,12 @@ L_088B9A5C: AOT_REGCACHE_SYNC_OUT(); return; L_088B9A78: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[19]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[20]); ctx.gpr[20] = (aot_gpr_5 | 0u); - aot_gpr_16 = (aot_gpr_6 | 0u); + ctx.gpr[16] = (aot_gpr_6 | 0u); ctx.gpr[17] = (aot_gpr_4 | 0u); ctx.gpr[19] = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[18]); @@ -4377,8 +4378,8 @@ L_088B9B98: goto L_088B9BA0; } L_088B9BA0: - aot_gpr_16 = (aot_gpr_16 + static_cast(4)); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(-4))); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(4)); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(-4))); aot_gpr_31 = (0x088B9BB0u); aot_gpr_4 = (ctx.gpr[17] | 0u); goto L_088B985C; @@ -4391,8 +4392,8 @@ L_088B9BB0: goto L_088B9BB8; } L_088B9BB8: - aot_gpr_16 = (aot_gpr_16 + static_cast(4)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(-4))); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(4)); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(-4))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(1), static_cast(0u)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(0), static_cast(aot_gpr_4)); aot_gpr_4 = (ctx.gpr[17] | 0u); @@ -4411,8 +4412,8 @@ L_088B9BDC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); aot_gpr_5 = (0u | 3u); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_5); - aot_gpr_16 = (aot_gpr_16 + static_cast(4)); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(-4))); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(4)); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(-4))); aot_fpr_12 = std::bit_cast(aot_gpr_5); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), std::bit_cast(aot_fpr_12)); @@ -4446,8 +4447,8 @@ L_088B9C2C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); aot_gpr_5 = (0u | 3u); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_5); - aot_gpr_16 = (aot_gpr_16 + static_cast(4)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(-4))); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(4)); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(-4))); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(24))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); @@ -4492,7 +4493,7 @@ L_088B9C80: L_088B9C8C: { std::uint32_t aot_run_words[7]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(4), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -4568,7 +4569,7 @@ L_088B9CCC: const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(32), static_cast(ctx.gpr[7])); + aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(32), static_cast(aot_gpr_7)); jump_target = aot_gpr_31; aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(33), static_cast(ctx.gpr[8])); local_pc = jump_target; @@ -4606,9 +4607,9 @@ L_088B9CEC: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_6 = (aot_gpr_4 + static_cast(32)); aot_gpr_5 = (aot_gpr_5 + static_cast(32)); - ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0))); + aot_gpr_7 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(1))); - aot_mem.aot_direct_store8(aot_gpr_6 + static_cast(0), static_cast(ctx.gpr[7])); + aot_mem.aot_direct_store8(aot_gpr_6 + static_cast(0), static_cast(aot_gpr_7)); aot_mem.aot_direct_store8(aot_gpr_6 + static_cast(1), static_cast(aot_gpr_5)); jump_target = aot_gpr_31; ctx.gpr[2] = (aot_gpr_4 | 0u); @@ -4694,22 +4695,22 @@ L_088B9DE0: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), std::bit_cast(aot_fpr_22)); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[20])) ? 0x00800000u : 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), std::bit_cast(ctx.fpr[24])); - { const std::uint32_t aot_run_words[5]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; + { const std::uint32_t aot_run_words[5]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(52), aot_run_words); } { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_088B9F98; } goto L_088B9E24; } L_088B9E24: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(236))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(236))); aot_gpr_4 = (aot_gpr_4 & 256u); aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_4 = (aot_gpr_16 + static_cast(48)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(48)); if (branch_taken) { goto L_088B9F78; } @@ -4807,7 +4808,7 @@ L_088B9F14: L_088B9F28: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-24268))); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[26])); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[26])); aot_gpr_31 = (0x088B9F40u); { const float fs = aot_fpr_12; const float ft = ctx.fpr[24]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } @@ -4868,7 +4869,7 @@ L_088B9FA0: aot_fpr_22 = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); ctx.fpr[26] = std::bit_cast(aot_run_words[3]); - aot_gpr_16 = aot_run_words[4]; + ctx.gpr[16] = aot_run_words[4]; ctx.gpr[17] = aot_run_words[5]; ctx.gpr[18] = aot_run_words[6]; ctx.gpr[19] = aot_run_words[7]; @@ -4882,23 +4883,23 @@ L_088B9FA0: AOT_REGCACHE_SYNC_OUT(); return; L_088B9FCC: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(32), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.gpr[17] = (aot_gpr_29 + static_cast(16)); ctx.gpr[18] = (0u | 1u); aot_gpr_4 = (ctx.gpr[17] | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_6 = (0u | 1u); aot_gpr_31 = (0x088BA000u); - ctx.gpr[7] = (0u | 1u); + aot_gpr_7 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0075_entry, 75u, 315u, 0x08931AF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088BA000u) goto L_088BA000; AOT_REGCACHE_SYNC_OUT(); return; L_088BA000: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x088BA00Cu); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088BA00Cu) goto L_088BA00C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088BA00Cu) goto L_088BA00C; AOT_REGCACHE_SYNC_OUT(); return; L_088BA00C: { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); @@ -4923,14 +4924,14 @@ L_088BA020: aot_fpr_12 = std::bit_cast(ctx.gpr[2]); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_gpr_31 = (0x088BA030u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088BA030u) goto L_088BA030; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088BA030u) goto L_088BA030; AOT_REGCACHE_SYNC_OUT(); return; L_088BA030: ctx.gpr[2] = (ctx.gpr[18] | 0u); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(32), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; @@ -4943,28 +4944,28 @@ L_088BA030: AOT_REGCACHE_SYNC_OUT(); return; L_088BA04C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x088BA068u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088BA068u) goto L_088BA068; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088BA068u) goto L_088BA068; AOT_REGCACHE_SYNC_OUT(); return; L_088BA068: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[0])); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 2u); aot_gpr_31 = (0x088BA07Cu); ctx.gpr[17] = (std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088BA07Cu) goto L_088BA07C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088BA07Cu) goto L_088BA07C; AOT_REGCACHE_SYNC_OUT(); return; L_088BA07C: aot_fpr_13 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[0])); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 3u); aot_gpr_31 = (0x088BA090u); - aot_gpr_16 = (std::bit_cast(aot_fpr_13)); + ctx.gpr[16] = (std::bit_cast(aot_fpr_13)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0195_entry, 195u, 200u, 0x08B10D5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088BA090u) goto L_088BA090; AOT_REGCACHE_SYNC_OUT(); return; L_088BA090: @@ -4977,7 +4978,7 @@ L_088BA090: goto L_088BA09C; } L_088BA09C: - { const bool branch_taken = static_cast(aot_gpr_16) < 0; + { const bool branch_taken = static_cast(ctx.gpr[16]) < 0; // nop if (branch_taken) { goto L_088BA0B8; @@ -4986,7 +4987,7 @@ L_088BA09C: } L_088BA0A4: aot_gpr_6 = (aot_gpr_4 | 0u); - aot_gpr_5 = (aot_gpr_16 << 16u); + aot_gpr_5 = (ctx.gpr[16] << 16u); aot_gpr_4 = (ctx.gpr[17] & 255u); aot_gpr_31 = (0x088BA0B8u); aot_gpr_5 = (static_cast(static_cast(aot_gpr_5) >> 16u)); @@ -4996,7 +4997,7 @@ L_088BA0B8: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -5010,13 +5011,13 @@ L_088BA0D0: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), ctx.gpr[19]); ctx.gpr[19] = (aot_gpr_4 | 0u); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18]}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(20), aot_run_words); } { const std::uint32_t aot_run_words[3]{ctx.gpr[20], ctx.gpr[21], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(36), aot_run_words); } aot_gpr_31 = (0x088BA0FCu); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088BA0FCu) goto L_088BA0FC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088BA0FCu) goto L_088BA0FC; AOT_REGCACHE_SYNC_OUT(); return; L_088BA0FC: ctx.gpr[17] = (2237u << 16u); @@ -5025,7 +5026,7 @@ L_088BA0FC: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(100))); aot_gpr_4 = (ctx.gpr[19] | 0u); ctx.gpr[18] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(52))); - aot_gpr_16 = (std::bit_cast(aot_fpr_12)); + ctx.gpr[16] = (std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x088BA120u); aot_gpr_5 = (0u | 2u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0196_entry, 196u, 274u, 0x08B15604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088BA120u) goto L_088BA120; @@ -5174,7 +5175,7 @@ L_088BA1FC: goto L_088BA204; } L_088BA204: - { const bool branch_taken = static_cast(aot_gpr_16) < 0; + { const bool branch_taken = static_cast(ctx.gpr[16]) < 0; // nop if (branch_taken) { goto L_088BA220; @@ -5182,7 +5183,7 @@ L_088BA204: goto L_088BA20C; } L_088BA20C: - aot_gpr_5 = (aot_gpr_16 << 16u); + aot_gpr_5 = (ctx.gpr[16] << 16u); aot_gpr_4 = (ctx.gpr[18] & 255u); aot_gpr_5 = (static_cast(static_cast(aot_gpr_5) >> 16u)); aot_gpr_31 = (0x088BA220u); @@ -5193,7 +5194,7 @@ L_088BA220: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[7]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(20), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -5209,14 +5210,14 @@ L_088BA220: AOT_REGCACHE_SYNC_OUT(); return; L_088BA248: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.gpr[17] = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x088BA268u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088BA268u) goto L_088BA268; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088BA268u) goto L_088BA268; AOT_REGCACHE_SYNC_OUT(); return; L_088BA268: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[0])); @@ -5227,16 +5228,16 @@ L_088BA268: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0090_entry, 90u, 341u, 0x0896D3E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088BA27Cu) goto L_088BA27C; AOT_REGCACHE_SYNC_OUT(); return; L_088BA27C: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x088BA288u); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088BA288u) goto L_088BA288; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088BA288u) goto L_088BA288; AOT_REGCACHE_SYNC_OUT(); return; L_088BA288: ctx.gpr[2] = (ctx.gpr[17] | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -5248,19 +5249,19 @@ L_088BA288: AOT_REGCACHE_SYNC_OUT(); return; L_088BA2A0: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.gpr[18] = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); aot_gpr_31 = (0x088BA2C4u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088BA2C4u) goto L_088BA2C4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088BA2C4u) goto L_088BA2C4; AOT_REGCACHE_SYNC_OUT(); return; L_088BA2C4: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[0])); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 2u); aot_gpr_31 = (0x088BA2D8u); ctx.gpr[17] = (std::bit_cast(aot_fpr_12)); @@ -5318,10 +5319,10 @@ L_088BA31C: goto L_088BA324; } L_088BA324: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x088BA330u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088BA330u) goto L_088BA330; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088BA330u) goto L_088BA330; AOT_REGCACHE_SYNC_OUT(); return; L_088BA330: { const bool branch_taken = 0u == 0u; @@ -5353,10 +5354,10 @@ L_088BA360: goto L_088BA368; } L_088BA368: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x088BA374u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088BA374u) goto L_088BA374; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088BA374u) goto L_088BA374; AOT_REGCACHE_SYNC_OUT(); return; L_088BA374: { const bool branch_taken = 0u == 0u; @@ -5367,10 +5368,10 @@ L_088BA374: goto L_088BA37C; } L_088BA37C: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x088BA388u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088BA388u) goto L_088BA388; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088BA388u) goto L_088BA388; AOT_REGCACHE_SYNC_OUT(); return; L_088BA388: ctx.gpr[2] = (ctx.gpr[18] | 0u); @@ -5378,7 +5379,7 @@ L_088BA388: L_088BA38C: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; @@ -5391,25 +5392,25 @@ L_088BA38C: AOT_REGCACHE_SYNC_OUT(); return; L_088BA3A4: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.gpr[17] = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x088BA3C4u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088BA3C4u) goto L_088BA3C4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088BA3C4u) goto L_088BA3C4; AOT_REGCACHE_SYNC_OUT(); return; L_088BA3C4: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[0])); aot_gpr_5 = (std::bit_cast(aot_fpr_12)); aot_gpr_6 = (aot_gpr_5 + aot_gpr_5); - ctx.gpr[7] = (aot_gpr_5 << 7u); + aot_gpr_7 = (aot_gpr_5 << 7u); aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); aot_gpr_4 = (2246u << 16u); aot_gpr_5 = (aot_gpr_5 << 4u); aot_gpr_4 = (aot_gpr_4 + static_cast(17840)); - aot_gpr_5 = (ctx.gpr[7] + aot_gpr_5); + aot_gpr_5 = (aot_gpr_7 + aot_gpr_5); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); { const bool branch_taken = aot_gpr_4 == 0u; @@ -5420,10 +5421,10 @@ L_088BA3C4: goto L_088BA3F8; } L_088BA3F8: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x088BA404u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088BA404u) goto L_088BA404; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088BA404u) goto L_088BA404; AOT_REGCACHE_SYNC_OUT(); return; L_088BA404: { const bool branch_taken = 0u == 0u; @@ -5434,16 +5435,16 @@ L_088BA404: goto L_088BA40C; } L_088BA40C: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x088BA418u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088BA418u) goto L_088BA418; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088BA418u) goto L_088BA418; AOT_REGCACHE_SYNC_OUT(); return; L_088BA418: ctx.gpr[2] = (ctx.gpr[17] | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -5455,38 +5456,38 @@ L_088BA418: AOT_REGCACHE_SYNC_OUT(); return; L_088BA430: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.gpr[17] = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x088BA450u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088BA450u) goto L_088BA450; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088BA450u) goto L_088BA450; AOT_REGCACHE_SYNC_OUT(); return; L_088BA450: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[0])); aot_gpr_5 = (std::bit_cast(aot_fpr_12)); aot_gpr_6 = (aot_gpr_5 + aot_gpr_5); - ctx.gpr[7] = (aot_gpr_5 << 7u); + aot_gpr_7 = (aot_gpr_5 << 7u); aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); aot_gpr_4 = (2246u << 16u); aot_gpr_5 = (aot_gpr_5 << 4u); aot_gpr_4 = (aot_gpr_4 + static_cast(17840)); - aot_gpr_5 = (ctx.gpr[7] + aot_gpr_5); + aot_gpr_5 = (aot_gpr_7 + aot_gpr_5); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(62))); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_fpr_12 = std::bit_cast(aot_gpr_5); aot_gpr_31 = (0x088BA48Cu); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088BA48Cu) goto L_088BA48C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088BA48Cu) goto L_088BA48C; AOT_REGCACHE_SYNC_OUT(); return; L_088BA48C: ctx.gpr[2] = (ctx.gpr[17] | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -5498,26 +5499,26 @@ L_088BA48C: AOT_REGCACHE_SYNC_OUT(); return; L_088BA4A4: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x088BA4BCu); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088BA4BCu) goto L_088BA4BC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088BA4BCu) goto L_088BA4BC; AOT_REGCACHE_SYNC_OUT(); return; L_088BA4BC: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[0])); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 2u); aot_gpr_31 = (0x088BA4D0u); - aot_gpr_16 = (std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088BA4D0u) goto L_088BA4D0; + ctx.gpr[16] = (std::bit_cast(aot_fpr_12)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088BA4D0u) goto L_088BA4D0; AOT_REGCACHE_SYNC_OUT(); return; L_088BA4D0: - aot_gpr_4 = (aot_gpr_16 + aot_gpr_16); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + ctx.gpr[16]); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); aot_fpr_13 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[0])); - aot_gpr_5 = (aot_gpr_16 << 7u); + aot_gpr_5 = (ctx.gpr[16] << 7u); aot_gpr_4 = (aot_gpr_4 << 4u); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_5 = (2246u << 16u); @@ -5526,7 +5527,7 @@ L_088BA4D0: aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(62), static_cast(aot_gpr_6)); ctx.gpr[2] = (0u | 0u); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -5536,14 +5537,14 @@ L_088BA4D0: AOT_REGCACHE_SYNC_OUT(); return; L_088BA510: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.gpr[17] = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x088BA530u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088BA530u) goto L_088BA530; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880692C, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[16], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088BA530u) goto L_088BA530; AOT_REGCACHE_SYNC_OUT(); return; L_088BA530: { const bool branch_taken = ctx.gpr[2] != 0u; @@ -5562,10 +5563,10 @@ L_088BA538: goto L_088BA540; } L_088BA540: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x088BA54Cu); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088BA54Cu) goto L_088BA54C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088BA54Cu) goto L_088BA54C; AOT_REGCACHE_SYNC_OUT(); return; L_088BA54C: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[0])); @@ -5573,15 +5574,15 @@ L_088BA54C: aot_gpr_4 = (aot_gpr_4 + static_cast(17840)); aot_gpr_5 = (std::bit_cast(aot_fpr_12)); aot_gpr_6 = (aot_gpr_5 + aot_gpr_5); - ctx.gpr[7] = (aot_gpr_5 << 7u); + aot_gpr_7 = (aot_gpr_5 << 7u); aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); aot_gpr_5 = (aot_gpr_5 << 4u); - aot_gpr_5 = (ctx.gpr[7] + aot_gpr_5); + aot_gpr_5 = (aot_gpr_7 + aot_gpr_5); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(172))); aot_gpr_31 = (0x088BA580u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088BA580u) goto L_088BA580; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088BA580u) goto L_088BA580; AOT_REGCACHE_SYNC_OUT(); return; L_088BA580: ctx.gpr[2] = (ctx.gpr[17] | 0u); @@ -5589,7 +5590,7 @@ L_088BA580: L_088BA584: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -5658,17 +5659,17 @@ L_088BA5EC: AOT_REGCACHE_SYNC_OUT(); return; L_088BA5F8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_fpr_12 = std::bit_cast(0u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(12), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(12), 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x088BA618u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(16), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(16), std::bit_cast(aot_fpr_12)); goto L_088BA740; L_088BA618: - ctx.gpr[2] = (aot_gpr_16 | 0u); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (ctx.gpr[16] | 0u); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -5680,10 +5681,10 @@ L_088BA62C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); ctx.gpr[17] = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_16 = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); if (branch_taken) { goto L_088BA664; } @@ -5694,7 +5695,7 @@ L_088BA648: aot_gpr_4 = (ctx.gpr[17] | 0u); goto L_088BA6AC; L_088BA650: - aot_gpr_4 = (aot_gpr_16 & 1u); + aot_gpr_4 = (ctx.gpr[16] & 1u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -5705,12 +5706,12 @@ L_088BA650: L_088BA65C: aot_gpr_31 = (0x088BA664u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088BA664u) goto L_088BA664; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088BA664u) goto L_088BA664; AOT_REGCACHE_SYNC_OUT(); return; L_088BA664: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -5753,9 +5754,9 @@ L_088BA6A4: AOT_REGCACHE_SYNC_OUT(); return; L_088BA6AC: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(12))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(12))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -5770,7 +5771,7 @@ L_088BA6C8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 245u, 0x08B213BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088BA6D0u) goto L_088BA6D0; AOT_REGCACHE_SYNC_OUT(); return; L_088BA6D0: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(12), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(12), 0u); { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 1u); if (branch_taken) { @@ -5782,7 +5783,7 @@ L_088BA6DC: ctx.gpr[2] = (0u | 0u); goto L_088BA6E0; L_088BA6E0: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -5851,7 +5852,7 @@ L_088BA768: ctx.gpr[9] = (0u | 255u); ctx.gpr[10] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); ctx.gpr[8] = (ctx.gpr[9] | 0u); - ctx.gpr[7] = (ctx.gpr[9] | 0u); + aot_gpr_7 = (ctx.gpr[9] | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); { const bool branch_taken = ctx.gpr[2] == 0u; aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-16965))); @@ -5885,7 +5886,7 @@ L_088BA7B0: ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(32))); ctx.gpr[9] = (ctx.gpr[11] | 0u); { const bool branch_taken = static_cast(aot_gpr_6) >= 0; - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(36))); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(36))); if (branch_taken) { goto L_088BA7C4; } @@ -5905,7 +5906,7 @@ L_088BA7C4: L_088BA7CC: ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); ctx.gpr[9] = (ctx.gpr[10] | 0u); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); goto L_088BA7D8; L_088BA7D8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(44))); @@ -5932,7 +5933,7 @@ L_088BA7EC: L_088BA804: ctx.gpr[9] = (0u | 255u); ctx.gpr[8] = (0u | 180u); - ctx.gpr[7] = (ctx.gpr[9] | 0u); + aot_gpr_7 = (ctx.gpr[9] | 0u); { const bool branch_taken = 0u == 0u; aot_gpr_6 = (0u | 0u); if (branch_taken) { @@ -5943,7 +5944,7 @@ L_088BA804: L_088BA818: ctx.gpr[9] = (0u | 100u); ctx.gpr[8] = (0u | 220u); - ctx.gpr[7] = (0u | 230u); + aot_gpr_7 = (0u | 230u); { const bool branch_taken = 0u == 0u; aot_gpr_6 = (0u | 158u); if (branch_taken) { @@ -5954,7 +5955,7 @@ L_088BA818: L_088BA82C: ctx.gpr[9] = (0u | 80u); ctx.gpr[8] = (0u | 255u); - ctx.gpr[7] = (0u | 230u); + aot_gpr_7 = (0u | 230u); { const bool branch_taken = 0u == 0u; aot_gpr_6 = (0u | 138u); if (branch_taken) { @@ -5965,7 +5966,7 @@ L_088BA82C: L_088BA840: ctx.gpr[8] = (0u | 60u); ctx.gpr[9] = (0u | 255u); - ctx.gpr[7] = (ctx.gpr[8] | 0u); + aot_gpr_7 = (ctx.gpr[8] | 0u); { const bool branch_taken = 0u == 0u; aot_gpr_6 = (0u | 200u); if (branch_taken) { @@ -5976,7 +5977,7 @@ L_088BA840: L_088BA854: ctx.gpr[8] = (0u | 180u); ctx.gpr[9] = (0u | 255u); - ctx.gpr[7] = (ctx.gpr[8] | 0u); + aot_gpr_7 = (ctx.gpr[8] | 0u); { const bool branch_taken = 0u == 0u; aot_gpr_6 = (0u | 128u); if (branch_taken) { @@ -5987,7 +5988,7 @@ L_088BA854: L_088BA868: ctx.gpr[9] = (0u | 255u); ctx.gpr[8] = (ctx.gpr[9] | 0u); - ctx.gpr[7] = (ctx.gpr[9] | 0u); + aot_gpr_7 = (ctx.gpr[9] | 0u); { const bool branch_taken = 0u == 0u; aot_gpr_6 = (0u | 240u); if (branch_taken) { @@ -5998,7 +5999,7 @@ L_088BA868: L_088BA87C: ctx.gpr[9] = (0u | 255u); ctx.gpr[8] = (0u | 180u); - ctx.gpr[7] = (ctx.gpr[9] | 0u); + aot_gpr_7 = (ctx.gpr[9] | 0u); { const bool branch_taken = 0u == 0u; aot_gpr_6 = (0u | 120u); if (branch_taken) { @@ -6053,7 +6054,7 @@ L_088BA8CC: ctx.gpr[10] = (16256u << 16u); ctx.gpr[11] = (aot_gpr_5 - ctx.gpr[9]); ctx.gpr[2] = (aot_gpr_5 - ctx.gpr[8]); - aot_gpr_5 = (aot_gpr_5 - ctx.gpr[7]); + aot_gpr_5 = (aot_gpr_5 - aot_gpr_7); aot_fpr_14 = std::bit_cast(aot_gpr_4); aot_fpr_12 = aot_fpr_12 / aot_fpr_14; ctx.fpr[16] = std::bit_cast(ctx.gpr[10]); @@ -6074,7 +6075,7 @@ L_088BA8CC: aot_fpr_14 = ctx.fpr[18] + aot_fpr_14; aot_fpr_13 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_13)); ctx.fpr[17] = std::bit_cast(ctx.gpr[8]); - ctx.fpr[0] = std::bit_cast(ctx.gpr[7]); + ctx.fpr[0] = std::bit_cast(aot_gpr_7); ctx.fpr[17] = static_cast(static_cast(std::bit_cast(ctx.fpr[17]))); ctx.fpr[18] = static_cast(static_cast(std::bit_cast(ctx.fpr[0]))); { const float fs = ctx.fpr[19]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } @@ -6086,17 +6087,17 @@ L_088BA8CC: ctx.gpr[9] = (std::bit_cast(aot_fpr_14)); aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); ctx.gpr[8] = (std::bit_cast(aot_fpr_13)); - ctx.gpr[7] = (std::bit_cast(aot_fpr_12)); + aot_gpr_7 = (std::bit_cast(aot_fpr_12)); goto L_088BA978; L_088BA978: ctx.gpr[10] = (ctx.gpr[8] & 255u); ctx.gpr[8] = (aot_gpr_6 & 255u); aot_gpr_5 = (ctx.gpr[9] & 255u); - ctx.gpr[7] = (ctx.gpr[7] & 255u); + aot_gpr_7 = (aot_gpr_7 & 255u); aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_31 = (0x088BA994u); aot_gpr_6 = (ctx.gpr[10] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088BA994u) goto L_088BA994; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088BA994u) goto L_088BA994; AOT_REGCACHE_SYNC_OUT(); return; L_088BA994: aot_gpr_31 = (0x088BA99Cu); @@ -6137,9 +6138,9 @@ L_088BA9C8: ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_088BA9D4: - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - aot_gpr_6 = (ctx.gpr[7] - aot_gpr_6); + aot_gpr_6 = (aot_gpr_7 - aot_gpr_6); ctx.gpr[8] = (static_cast(static_cast(aot_gpr_6) >> 1u)); ctx.gpr[8] = (ctx.gpr[8] >> 31u); aot_gpr_6 = (aot_gpr_6 + ctx.gpr[8]); @@ -6161,7 +6162,7 @@ L_088BA9FC: goto L_088BAA04; } L_088BAA04: - aot_gpr_5 = (ctx.gpr[7] + aot_gpr_5); + aot_gpr_5 = (aot_gpr_7 + aot_gpr_5); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_5); if (branch_taken) { @@ -6199,19 +6200,19 @@ L_088BAA2C: aot_gpr_5 = (aot_gpr_5 + static_cast(-1)); goto L_088BAA4C; L_088BAA4C: - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(12))); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(12))); ctx.gpr[8] = (aot_gpr_5 << 2u); - ctx.gpr[7] = (ctx.gpr[7] + ctx.gpr[8]); - ctx.gpr[8] = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(0))); - aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(12), ctx.gpr[7]); + aot_gpr_7 = (aot_gpr_7 + ctx.gpr[8]); + ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_7 + static_cast(0))); + aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(12), aot_gpr_7); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), ctx.gpr[8]); aot_gpr_5 = (aot_gpr_5 << 6u); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_5 = (aot_gpr_6 - aot_gpr_5); ctx.gpr[8] = (ctx.gpr[8] + static_cast(128)); aot_gpr_5 = (aot_gpr_5 + aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(8), ctx.gpr[8]); - aot_gpr_5 = (ctx.gpr[7] + aot_gpr_5); + aot_gpr_5 = (aot_gpr_7 + aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_5); goto L_088BAA84; L_088BAA84: @@ -6224,13 +6225,13 @@ L_088BAA84: L_088BAA8C: aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - ctx.gpr[7] = (0u - aot_gpr_5); + aot_gpr_7 = (0u - aot_gpr_5); aot_gpr_5 = (aot_gpr_6 - ctx.gpr[8]); ctx.gpr[8] = (static_cast(static_cast(aot_gpr_5) >> 1u)); ctx.gpr[8] = (ctx.gpr[8] >> 31u); aot_gpr_5 = (aot_gpr_5 + ctx.gpr[8]); aot_gpr_5 = (static_cast(static_cast(aot_gpr_5) >> 1u)); - aot_gpr_5 = (ctx.gpr[7] + aot_gpr_5); + aot_gpr_5 = (aot_gpr_7 + aot_gpr_5); { const bool branch_taken = static_cast(aot_gpr_5) < 0; ctx.gpr[8] = (static_cast(aot_gpr_5) < 64 ? 1u : 0u); if (branch_taken) { @@ -6247,7 +6248,7 @@ L_088BAAB8: goto L_088BAAC0; } L_088BAAC0: - aot_gpr_5 = (ctx.gpr[7] + ctx.gpr[7]); + aot_gpr_5 = (aot_gpr_7 + aot_gpr_7); aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_5); @@ -6286,19 +6287,19 @@ L_088BAAEC: aot_gpr_6 = (aot_gpr_6 + static_cast(-1)); goto L_088BAB0C; L_088BAB0C: - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(12))); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(12))); ctx.gpr[8] = (aot_gpr_6 << 2u); - ctx.gpr[7] = (ctx.gpr[7] + ctx.gpr[8]); - ctx.gpr[8] = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(0))); - aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(12), ctx.gpr[7]); + aot_gpr_7 = (aot_gpr_7 + ctx.gpr[8]); + ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_7 + static_cast(0))); + aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(12), aot_gpr_7); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), ctx.gpr[8]); aot_gpr_6 = (aot_gpr_6 << 6u); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_5 = (aot_gpr_5 - aot_gpr_6); ctx.gpr[8] = (ctx.gpr[8] + static_cast(128)); aot_gpr_5 = (aot_gpr_5 + aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(8), ctx.gpr[8]); - aot_gpr_5 = (ctx.gpr[7] + aot_gpr_5); + aot_gpr_5 = (aot_gpr_7 + aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_5); goto L_088BAB44; L_088BAB44: @@ -6336,9 +6337,9 @@ L_088BAB60: AOT_REGCACHE_SYNC_OUT(); return; L_088BABB4: aot_gpr_29 = (aot_gpr_29 + static_cast(-144)); - { const std::uint32_t aot_run_words[6]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; + { const std::uint32_t aot_run_words[6]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(112), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); { const bool branch_taken = aot_gpr_4 == 0u; ctx.gpr[17] = (aot_gpr_5 | 0u); if (branch_taken) { @@ -6349,10 +6350,10 @@ L_088BABB4: L_088BABDC: aot_gpr_4 = (2234u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(22480)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(60), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(60), aot_gpr_4); aot_gpr_4 = (0u | 1u); aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-4784), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x088BABFCu); aot_gpr_5 = (0u | 1u); goto L_088BB4BC; @@ -6362,25 +6363,25 @@ L_088BABFC: aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); aot_gpr_4 = (aot_gpr_4 + static_cast(116)); aot_gpr_31 = (0x088BAC14u); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(0)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(0)))))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0076_entry, 76u, 41u, 0x08934334u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088BAC14u) goto L_088BAC14; AOT_REGCACHE_SYNC_OUT(); return; L_088BAC14: - aot_gpr_4 = (aot_gpr_16 + static_cast(48)); - ctx.gpr[18] = (aot_gpr_16 + static_cast(36)); - ctx.gpr[19] = (aot_gpr_16 + static_cast(24)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(48)); + ctx.gpr[18] = (ctx.gpr[16] + static_cast(36)); + ctx.gpr[19] = (ctx.gpr[16] + static_cast(24)); { const bool branch_taken = aot_gpr_4 == 0u; - ctx.gpr[20] = (aot_gpr_16 + static_cast(12)); + ctx.gpr[20] = (ctx.gpr[16] + static_cast(12)); if (branch_taken) { goto L_088BAC68; } goto L_088BAC28; } L_088BAC28: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(48))); - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(52))); - ctx.gpr[7] = (aot_gpr_5 | 0u); - { const bool branch_taken = ctx.gpr[7] == aot_gpr_6; + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(48))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(52))); + aot_gpr_7 = (aot_gpr_5 | 0u); + { const bool branch_taken = aot_gpr_7 == aot_gpr_6; aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(0), static_cast(0u)); if (branch_taken) { goto L_088BAC48; @@ -6388,11 +6389,11 @@ L_088BAC28: goto L_088BAC3C; } L_088BAC3C: - ctx.gpr[7] = (ctx.gpr[7] + static_cast(4)); + aot_gpr_7 = (aot_gpr_7 + static_cast(4)); goto L_088BAC40; L_088BAC40: - { const bool branch_taken = ctx.gpr[7] != aot_gpr_6; - ctx.gpr[7] = (ctx.gpr[7] + static_cast(4)); + { const bool branch_taken = aot_gpr_7 != aot_gpr_6; + aot_gpr_7 = (aot_gpr_7 + static_cast(4)); if (branch_taken) { goto L_088BAC40; } @@ -6425,7 +6426,7 @@ L_088BAC58: L_088BAC60: aot_gpr_31 = (0x088BAC68u); aot_gpr_4 = (aot_gpr_5 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088BAC68u) goto L_088BAC68; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088BAC68u) goto L_088BAC68; AOT_REGCACHE_SYNC_OUT(); return; L_088BAC68: { const bool branch_taken = ctx.gpr[18] == 0u; @@ -6436,8 +6437,8 @@ L_088BAC68: goto L_088BAC70; } L_088BAC70: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(36))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(40))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(36))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(40))); aot_gpr_6 = (aot_gpr_4 | 0u); { const bool branch_taken = aot_gpr_6 == aot_gpr_5; aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(1), static_cast(0u)); @@ -6484,7 +6485,7 @@ L_088BACA0: L_088BACA8: aot_gpr_31 = (0x088BACB0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088BACB0u) goto L_088BACB0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088BACB0u) goto L_088BACB0; AOT_REGCACHE_SYNC_OUT(); return; L_088BACB0: { const bool branch_taken = ctx.gpr[19] == 0u; @@ -6495,7 +6496,7 @@ L_088BACB0: goto L_088BACB8; } L_088BACB8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(24))); { const bool branch_taken = ctx.gpr[19] == 0u; aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(2), static_cast(0u)); if (branch_taken) { @@ -6522,7 +6523,7 @@ L_088BACCC: L_088BACD4: aot_gpr_31 = (0x088BACDCu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088BACDCu) goto L_088BACDC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088BACDCu) goto L_088BACDC; AOT_REGCACHE_SYNC_OUT(); return; L_088BACDC: { const bool branch_taken = ctx.gpr[20] == 0u; @@ -6533,8 +6534,8 @@ L_088BACDC: goto L_088BACE4; } L_088BACE4: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(12))); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(12))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(16))); { const bool branch_taken = aot_gpr_5 == aot_gpr_4; aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(3), static_cast(0u)); if (branch_taken) { @@ -6543,7 +6544,7 @@ L_088BACE4: goto L_088BACF4; } L_088BACF4: - ctx.gpr[7] = (aot_gpr_29 + static_cast(4)); + aot_gpr_7 = (aot_gpr_29 + static_cast(4)); ctx.gpr[8] = (aot_gpr_29 + static_cast(20)); ctx.gpr[9] = (aot_gpr_29 + static_cast(36)); ctx.gpr[10] = (aot_gpr_29 + static_cast(52)); @@ -6581,13 +6582,13 @@ L_088BAD1C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), ctx.gpr[3]); ctx.gpr[3] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(32))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), ctx.gpr[3]); - ctx.gpr[3] = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(0))); + ctx.gpr[3] = (aot_mem.aot_direct_load32(aot_gpr_7 + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), ctx.gpr[3]); - ctx.gpr[3] = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(4))); + ctx.gpr[3] = (aot_mem.aot_direct_load32(aot_gpr_7 + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), ctx.gpr[3]); - ctx.gpr[3] = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(8))); + ctx.gpr[3] = (aot_mem.aot_direct_load32(aot_gpr_7 + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), ctx.gpr[3]); - ctx.gpr[3] = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(12))); + ctx.gpr[3] = (aot_mem.aot_direct_load32(aot_gpr_7 + static_cast(12))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), ctx.gpr[3]); ctx.gpr[3] = (aot_mem.aot_direct_load32(ctx.gpr[8] + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), ctx.gpr[3]); @@ -6679,7 +6680,7 @@ L_088BAE74: ctx.gpr[10] = (aot_gpr_29 + static_cast(52)); ctx.gpr[9] = (aot_gpr_29 + static_cast(36)); ctx.gpr[8] = (aot_gpr_29 + static_cast(20)); - ctx.gpr[7] = (aot_gpr_29 + static_cast(4)); + aot_gpr_7 = (aot_gpr_29 + static_cast(4)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(104))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(108))); goto L_088BAE94; @@ -6703,7 +6704,7 @@ L_088BAEA0: goto L_088BAEA8; } L_088BAEA8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(12))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(12))); if (aot_gpr_4 == 0u) { aot_gpr_4 = (ctx.gpr[17] & 1u); goto L_088BAEC8; @@ -6718,7 +6719,7 @@ L_088BAEB4: L_088BAEBC: aot_gpr_31 = (0x088BAEC4u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088BAEC4u) goto L_088BAEC4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088BAEC4u) goto L_088BAEC4; AOT_REGCACHE_SYNC_OUT(); return; L_088BAEC4: aot_gpr_4 = (ctx.gpr[17] & 1u); @@ -6733,13 +6734,13 @@ L_088BAEC8: } L_088BAED0: aot_gpr_31 = (0x088BAED8u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088BAED8u) goto L_088BAED8; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088BAED8u) goto L_088BAED8; AOT_REGCACHE_SYNC_OUT(); return; L_088BAED8: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(112), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -6754,8 +6755,8 @@ L_088BAED8: AOT_REGCACHE_SYNC_OUT(); return; L_088BAEF8: aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(12))); - aot_gpr_6 = (aot_gpr_6 - ctx.gpr[7]); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(12))); + aot_gpr_6 = (aot_gpr_6 - aot_gpr_7); aot_gpr_4 = (0u | 56u); ctx.gpr[8] = (0u | 0u); { const std::int32_t dividend = static_cast(aot_gpr_6); const std::int32_t divisor = static_cast(aot_gpr_4); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } @@ -6769,7 +6770,7 @@ L_088BAEF8: goto L_088BAF20; } L_088BAF20: - ctx.gpr[9] = (aot_mem.aot_direct_load8(ctx.gpr[7] + static_cast(0))); + ctx.gpr[9] = (aot_mem.aot_direct_load8(aot_gpr_7 + static_cast(0))); { const bool branch_taken = ctx.gpr[9] == aot_gpr_5; // nop if (branch_taken) { @@ -6783,7 +6784,7 @@ L_088BAF2C: ctx.gpr[9] = (ctx.lo); ctx.gpr[9] = (ctx.gpr[8] < ctx.gpr[9] ? 1u : 0u); { const bool branch_taken = ctx.gpr[9] != 0u; - ctx.gpr[7] = (ctx.gpr[7] + static_cast(56)); + aot_gpr_7 = (aot_gpr_7 + static_cast(56)); if (branch_taken) { goto L_088BAF20; } @@ -6798,7 +6799,7 @@ L_088BAF44: goto L_088BAF4C; } L_088BAF4C: - aot_gpr_4 = (ctx.gpr[7] + static_cast(4)); + aot_gpr_4 = (aot_gpr_7 + static_cast(4)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); ctx.gpr[2] = (aot_gpr_5 ^ aot_gpr_4); @@ -6821,16 +6822,16 @@ L_088BAF68: AOT_REGCACHE_SYNC_OUT(); return; L_088BAF70: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - { const std::uint32_t aot_run_words[5]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; + { const std::uint32_t aot_run_words[5]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(28), aot_run_words); } aot_gpr_6 = (aot_gpr_5 | 0u); - aot_gpr_16 = (aot_gpr_4 | 0u); - ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(12))); - ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); + ctx.gpr[16] = (aot_gpr_4 | 0u); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(12))); + ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(16))); ctx.gpr[19] = (aot_gpr_29 + static_cast(16)); aot_gpr_5 = (2188u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(-15428)); - ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(8616)))))); + aot_gpr_7 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(8616)))))); aot_gpr_31 = (0x088BAFB0u); aot_gpr_4 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0217_entry, 217u, 323u, 0x08B6A1E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088BAFB0u) goto L_088BAFB0; @@ -6843,12 +6844,12 @@ L_088BAFB0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0217_entry, 217u, 294u, 0x08B6A05Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088BAFC0u) goto L_088BAFC0; AOT_REGCACHE_SYNC_OUT(); return; L_088BAFC0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(16))); ctx.gpr[2] = (ctx.gpr[2] ^ aot_gpr_4); ctx.gpr[2] = (0u < ctx.gpr[2] ? 1u : 0u); { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(28), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -6862,12 +6863,12 @@ L_088BAFC0: AOT_REGCACHE_SYNC_OUT(); return; L_088BAFE8: aot_gpr_29 = (aot_gpr_29 + static_cast(-64)); - { const std::uint32_t aot_run_words[6]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; + { const std::uint32_t aot_run_words[6]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(28), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.gpr[17] = (aot_gpr_5 | 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(28))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(32))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(28))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(32))); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; aot_gpr_5 = (aot_gpr_4 | 0u); if (branch_taken) { @@ -6885,12 +6886,12 @@ L_088BB01C: } L_088BB024: aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), ctx.gpr[17]); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(28))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(28))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); goto L_088BB030; L_088BB030: { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(28), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(28), aot_gpr_4); if (branch_taken) { goto L_088BB130; } @@ -6900,7 +6901,7 @@ L_088BB038: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(4), static_cast(0u)); aot_gpr_5 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_5); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(24))); aot_gpr_5 = (aot_gpr_4 - aot_gpr_5); aot_gpr_6 = (static_cast(static_cast(aot_gpr_5) >> 2u)); aot_gpr_6 = (aot_gpr_6 >> 30u); @@ -6965,7 +6966,7 @@ L_088BB0B8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); goto L_088BB0C0; L_088BB0C0: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(24))); { const bool branch_taken = aot_gpr_4 != aot_gpr_6; ctx.gpr[19] = (aot_gpr_5 | 0u); if (branch_taken) { @@ -7012,7 +7013,7 @@ L_088BB0F8: goto L_088BB108; } L_088BB108: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(24))); { const bool branch_taken = aot_gpr_4 == 0u; aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(16), static_cast(0u)); if (branch_taken) { @@ -7023,24 +7024,24 @@ L_088BB108: L_088BB114: aot_gpr_31 = (0x088BB11Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088BB11Cu) goto L_088BB11C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088BB11Cu) goto L_088BB11C; AOT_REGCACHE_SYNC_OUT(); return; L_088BB11C: aot_gpr_4 = (ctx.gpr[18] << 2u); aot_gpr_4 = (ctx.gpr[19] + aot_gpr_4); { const std::uint32_t aot_run_words[3]{ctx.gpr[19], ctx.gpr[20], aot_gpr_4}; - aot_mem.aot_direct_store32_block(aot_gpr_16 + static_cast(24), aot_run_words); } + aot_mem.aot_direct_store32_block(ctx.gpr[16] + static_cast(24), aot_run_words); } goto L_088BB130; L_088BB130: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088BB13Cu); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0165_entry, 165u, 468u, 0x08A9BB08u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088BB13Cu) goto L_088BB13C; AOT_REGCACHE_SYNC_OUT(); return; L_088BB13C: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(28), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -7055,39 +7056,39 @@ L_088BB13C: AOT_REGCACHE_SYNC_OUT(); return; L_088BB15C: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - { const std::uint32_t aot_run_words[5]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; + { const std::uint32_t aot_run_words[5]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(28), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_4 = (ctx.gpr[9] & 255u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[8]); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); - ctx.gpr[9] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - ctx.gpr[7] = (ctx.gpr[7] - ctx.gpr[9]); - ctx.gpr[9] = (static_cast(static_cast(ctx.gpr[7]) >> 3u)); + aot_gpr_7 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); + ctx.gpr[9] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); + aot_gpr_7 = (aot_gpr_7 - ctx.gpr[9]); + ctx.gpr[9] = (static_cast(static_cast(aot_gpr_7) >> 3u)); ctx.gpr[9] = (ctx.gpr[9] >> 29u); - ctx.gpr[17] = (ctx.gpr[7] + ctx.gpr[9]); + ctx.gpr[17] = (aot_gpr_7 + ctx.gpr[9]); ctx.gpr[17] = (static_cast(static_cast(ctx.gpr[17]) >> 3u)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); - ctx.gpr[7] = (ctx.gpr[17] < ctx.gpr[8] ? 1u : 0u); - { const bool branch_taken = ctx.gpr[7] == 0u; - ctx.gpr[7] = (aot_gpr_29 + static_cast(4)); + aot_gpr_7 = (ctx.gpr[17] < ctx.gpr[8] ? 1u : 0u); + { const bool branch_taken = aot_gpr_7 == 0u; + aot_gpr_7 = (aot_gpr_29 + static_cast(4)); if (branch_taken) { goto L_088BB1B8; } goto L_088BB1AC; } L_088BB1AC: - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); { const bool branch_taken = 0u == 0u; - ctx.gpr[17] = (ctx.gpr[17] + ctx.gpr[7]); + ctx.gpr[17] = (ctx.gpr[17] + aot_gpr_7); if (branch_taken) { goto L_088BB1C0; } goto L_088BB1B8; } L_088BB1B8: - ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(0))); - ctx.gpr[17] = (ctx.gpr[17] + ctx.gpr[7]); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_7 + static_cast(0))); + ctx.gpr[17] = (ctx.gpr[17] + aot_gpr_7); goto L_088BB1C0; L_088BB1C0: { const bool branch_taken = ctx.gpr[17] == 0u; @@ -7112,7 +7113,7 @@ L_088BB1E0: aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(12), aot_run_words); aot_gpr_5 = aot_run_words[0]; aot_gpr_6 = aot_run_words[1]; - ctx.gpr[7] = aot_run_words[2]; + aot_gpr_7 = aot_run_words[2]; } { const bool branch_taken = ctx.gpr[19] != 0u; aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); @@ -7126,7 +7127,7 @@ L_088BB1F8: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_5); aot_gpr_31 = (0x088BB20Cu); - aot_gpr_4 = (ctx.gpr[7] | 0u); + aot_gpr_4 = (aot_gpr_7 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 289u, 0x08B65438u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088BB20Cu) goto L_088BB20C; AOT_REGCACHE_SYNC_OUT(); return; L_088BB20C: @@ -7137,8 +7138,8 @@ L_088BB20C: goto L_088BB21C; L_088BB21C: ctx.gpr[18] = (ctx.gpr[19] | 0u); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - { const bool branch_taken = ctx.gpr[7] == aot_gpr_5; + aot_gpr_7 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); + { const bool branch_taken = aot_gpr_7 == aot_gpr_5; aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(8), static_cast(0u)); if (branch_taken) { goto L_088BB254; @@ -7148,19 +7149,19 @@ L_088BB21C: L_088BB22C: ctx.gpr[8] = (ctx.gpr[19] | 0u); if (ctx.gpr[8] == 0u) { - ctx.gpr[7] = (ctx.gpr[7] + static_cast(8)); + aot_gpr_7 = (aot_gpr_7 + static_cast(8)); goto L_088BB24C; } goto L_088BB238; L_088BB238: - ctx.gpr[9] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[7] + static_cast(0)))))); + ctx.gpr[9] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_7 + static_cast(0)))))); aot_mem.aot_direct_store16(ctx.gpr[8] + static_cast(0), static_cast(ctx.gpr[9])); - ctx.gpr[9] = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(4))); + ctx.gpr[9] = (aot_mem.aot_direct_load32(aot_gpr_7 + static_cast(4))); aot_mem.aot_direct_store32(ctx.gpr[8] + static_cast(4), ctx.gpr[9]); - ctx.gpr[7] = (ctx.gpr[7] + static_cast(8)); + aot_gpr_7 = (aot_gpr_7 + static_cast(8)); goto L_088BB24C; L_088BB24C: - { const bool branch_taken = ctx.gpr[7] != aot_gpr_5; + { const bool branch_taken = aot_gpr_7 != aot_gpr_5; ctx.gpr[19] = (ctx.gpr[19] + static_cast(8)); if (branch_taken) { goto L_088BB22C; @@ -7168,9 +7169,9 @@ L_088BB24C: goto L_088BB254; } L_088BB254: - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); ctx.gpr[8] = (0u | 1u); - { const bool branch_taken = ctx.gpr[7] != ctx.gpr[8]; + { const bool branch_taken = aot_gpr_7 != ctx.gpr[8]; // nop if (branch_taken) { goto L_088BB28C; @@ -7178,8 +7179,8 @@ L_088BB254: goto L_088BB264; } L_088BB264: - ctx.gpr[7] = (ctx.gpr[19] | 0u); - { const bool branch_taken = ctx.gpr[7] == 0u; + aot_gpr_7 = (ctx.gpr[19] | 0u); + { const bool branch_taken = aot_gpr_7 == 0u; // nop if (branch_taken) { goto L_088BB280; @@ -7188,21 +7189,21 @@ L_088BB264: } L_088BB270: ctx.gpr[8] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(0)))))); - aot_mem.aot_direct_store16(ctx.gpr[7] + static_cast(0), static_cast(ctx.gpr[8])); + aot_mem.aot_direct_store16(aot_gpr_7 + static_cast(0), static_cast(ctx.gpr[8])); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(4))); - aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(4), aot_gpr_6); + aot_mem.aot_direct_store32(aot_gpr_7 + static_cast(4), aot_gpr_6); goto L_088BB280; L_088BB280: ctx.gpr[19] = (ctx.gpr[19] + static_cast(8)); { const bool branch_taken = 0u == 0u; - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); if (branch_taken) { goto L_088BB2C0; } goto L_088BB28C; } L_088BB28C: - { const bool branch_taken = ctx.gpr[7] == 0u; + { const bool branch_taken = aot_gpr_7 == 0u; aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(9), static_cast(0u)); if (branch_taken) { goto L_088BB2BC; @@ -7212,7 +7213,7 @@ L_088BB28C: L_088BB294: ctx.gpr[8] = (ctx.gpr[19] | 0u); if (ctx.gpr[8] == 0u) { - ctx.gpr[7] = (ctx.gpr[7] + static_cast(-1)); + aot_gpr_7 = (aot_gpr_7 + static_cast(-1)); goto L_088BB2B4; } goto L_088BB2A0; @@ -7221,10 +7222,10 @@ L_088BB2A0: aot_mem.aot_direct_store16(ctx.gpr[8] + static_cast(0), static_cast(ctx.gpr[9])); ctx.gpr[9] = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(4))); aot_mem.aot_direct_store32(ctx.gpr[8] + static_cast(4), ctx.gpr[9]); - ctx.gpr[7] = (ctx.gpr[7] + static_cast(-1)); + aot_gpr_7 = (aot_gpr_7 + static_cast(-1)); goto L_088BB2B4; L_088BB2B4: - { const bool branch_taken = ctx.gpr[7] != 0u; + { const bool branch_taken = aot_gpr_7 != 0u; ctx.gpr[19] = (ctx.gpr[19] + static_cast(8)); if (branch_taken) { goto L_088BB294; @@ -7232,7 +7233,7 @@ L_088BB2B4: goto L_088BB2BC; } L_088BB2BC: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); goto L_088BB2C0; L_088BB2C0: { const bool branch_taken = aot_gpr_4 != 0u; @@ -7260,10 +7261,10 @@ L_088BB2D8: } goto L_088BB2E4; L_088BB2E4: - ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); - aot_mem.aot_direct_store16(aot_gpr_6 + static_cast(0), static_cast(ctx.gpr[7])); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(4), ctx.gpr[7]); + aot_gpr_7 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); + aot_mem.aot_direct_store16(aot_gpr_6 + static_cast(0), static_cast(aot_gpr_7)); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(4), aot_gpr_7); aot_gpr_4 = (aot_gpr_4 + static_cast(8)); goto L_088BB2F8; L_088BB2F8: @@ -7275,10 +7276,10 @@ L_088BB2F8: goto L_088BB300; } L_088BB300: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); goto L_088BB304; L_088BB304: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_5 = (aot_gpr_4 | 0u); { const bool branch_taken = aot_gpr_5 == aot_gpr_6; aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(11), static_cast(0u)); @@ -7309,16 +7310,16 @@ L_088BB320: L_088BB328: aot_gpr_31 = (0x088BB330u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088BB330u) goto L_088BB330; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088BB330u) goto L_088BB330; AOT_REGCACHE_SYNC_OUT(); return; L_088BB330: aot_gpr_4 = (ctx.gpr[17] << 3u); aot_gpr_4 = (ctx.gpr[18] + aot_gpr_4); { const std::uint32_t aot_run_words[3]{ctx.gpr[18], ctx.gpr[19], aot_gpr_4}; - aot_mem.aot_direct_store32_block(aot_gpr_16 + static_cast(0), aot_run_words); } + aot_mem.aot_direct_store32_block(ctx.gpr[16] + static_cast(0), aot_run_words); } { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(28), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -7332,7 +7333,7 @@ L_088BB330: AOT_REGCACHE_SYNC_OUT(); return; L_088BB360: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[16], ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(28), aot_run_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_5); aot_gpr_6 = (2237u << 16u); @@ -7352,16 +7353,16 @@ L_088BB360: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(40))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(44))); { const bool branch_taken = aot_gpr_5 == aot_gpr_6; - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_088BB3E8; } goto L_088BB3BC; } L_088BB3BC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(40))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(40))); if (aot_gpr_4 == 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(40))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(40))); goto L_088BB3DC; } goto L_088BB3C8; @@ -7370,23 +7371,23 @@ L_088BB3C8: aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_5)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), aot_gpr_5); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(40))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(40))); goto L_088BB3DC; L_088BB3DC: aot_gpr_4 = (aot_gpr_4 + static_cast(8)); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(40), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(40), aot_gpr_4); if (branch_taken) { goto L_088BB408; } goto L_088BB3E8; } L_088BB3E8: - aot_gpr_4 = (aot_gpr_16 + static_cast(36)); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(40))); + aot_gpr_4 = (ctx.gpr[16] + static_cast(36)); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(40))); aot_gpr_6 = (aot_gpr_29 + static_cast(4)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(24), static_cast(0u)); - ctx.gpr[7] = (aot_gpr_29 + static_cast(24)); + aot_gpr_7 = (aot_gpr_29 + static_cast(24)); ctx.gpr[8] = (0u | 1u); aot_gpr_31 = (0x088BB408u); ctx.gpr[9] = (0u | 1u); @@ -7398,8 +7399,8 @@ L_088BB408: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0165_entry, 165u, 468u, 0x08A9BB08u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088BB414u) goto L_088BB414; AOT_REGCACHE_SYNC_OUT(); return; L_088BB414: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); - ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(28))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(24))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(28))); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088BB428u); aot_gpr_6 = (aot_gpr_29 | 0u); @@ -7435,8 +7436,8 @@ L_088BB448: aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); goto L_088BB44C; L_088BB44C: - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - if (aot_gpr_6 == ctx.gpr[7]) { + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + if (aot_gpr_6 == aot_gpr_7) { aot_gpr_4 = (aot_gpr_4 + static_cast(4)); goto L_088BB468; } @@ -7454,7 +7455,7 @@ L_088BB468: } goto L_088BB470; L_088BB470: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(28))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(28))); aot_gpr_6 = (aot_gpr_4 | 0u); { const bool branch_taken = aot_gpr_6 == aot_gpr_6; aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(25), static_cast(0u)); @@ -7464,10 +7465,10 @@ L_088BB470: goto L_088BB480; } L_088BB480: - ctx.gpr[7] = (aot_gpr_4 | 0u); - ctx.gpr[17] = (aot_gpr_6 - ctx.gpr[7]); + aot_gpr_7 = (aot_gpr_4 | 0u); + ctx.gpr[17] = (aot_gpr_6 - aot_gpr_7); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (ctx.gpr[7] | 0u); + aot_gpr_5 = (aot_gpr_7 | 0u); aot_gpr_31 = (0x088BB498u); aot_gpr_6 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 164u, 0x08AF54A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088BB498u) goto L_088BB498; @@ -7482,10 +7483,10 @@ L_088BB498: } L_088BB4A0: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(26), static_cast(0u)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(28), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(28), aot_gpr_5); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(28), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -7497,11 +7498,11 @@ L_088BB4A0: AOT_REGCACHE_SYNC_OUT(); return; L_088BB4BC: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(28))); + ctx.gpr[16] = (aot_gpr_4 | 0u); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(24))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(28))); aot_gpr_5 = (aot_gpr_5 ^ aot_gpr_4); aot_gpr_5 = (aot_gpr_5 < static_cast(1) ? 1u : 0u); aot_gpr_5 = (aot_gpr_5 & 255u); @@ -7534,10 +7535,10 @@ L_088BB4F4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088BB510u) goto L_088BB510; AOT_REGCACHE_SYNC_OUT(); return; L_088BB510: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(28))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(28))); goto L_088BB514; L_088BB514: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(24))); aot_gpr_5 = (aot_gpr_5 ^ aot_gpr_4); aot_gpr_5 = (aot_gpr_5 < static_cast(1) ? 1u : 0u); aot_gpr_5 = (aot_gpr_5 & 255u); @@ -7549,7 +7550,7 @@ L_088BB514: goto L_088BB52C; } L_088BB52C: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -7560,10 +7561,10 @@ L_088BB52C: L_088BB53C: aot_gpr_29 = (aot_gpr_29 + static_cast(-144)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(136), aot_gpr_31); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(0), static_cast(0u)); ctx.gpr[9] = (aot_gpr_6 | 0u); - ctx.gpr[8] = (ctx.gpr[7] - ctx.gpr[9]); + ctx.gpr[8] = (aot_gpr_7 - ctx.gpr[9]); aot_gpr_6 = (aot_gpr_5 | 0u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(1), static_cast(0u)); ctx.gpr[10] = (0u | 56u); @@ -7617,11 +7618,11 @@ L_088BB598: goto L_088BB5EC; } L_088BB5EC: - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); goto L_088BB5F0; L_088BB5F0: ctx.gpr[8] = (aot_gpr_6 | 0u); - { const bool branch_taken = aot_gpr_6 == ctx.gpr[7]; + { const bool branch_taken = aot_gpr_6 == aot_gpr_7; aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(2), static_cast(0u)); if (branch_taken) { goto L_088BB7C0; @@ -7753,7 +7754,7 @@ L_088BB768: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(120), ctx.gpr[8]); goto L_088BB76C; L_088BB76C: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(116), ctx.gpr[7]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(116), aot_gpr_7); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(112), aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(108), aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(104), aot_gpr_4); @@ -7774,7 +7775,7 @@ L_088BB788: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(112), aot_run_words); aot_gpr_6 = aot_run_words[0]; - ctx.gpr[7] = aot_run_words[1]; + aot_gpr_7 = aot_run_words[1]; ctx.gpr[8] = aot_run_words[2]; } goto L_088BB7B4; @@ -7782,7 +7783,7 @@ L_088BB7B4: aot_gpr_6 = (aot_gpr_6 + static_cast(56)); goto L_088BB7B8; L_088BB7B8: - { const bool branch_taken = aot_gpr_6 != ctx.gpr[7]; + { const bool branch_taken = aot_gpr_6 != aot_gpr_7; // nop if (branch_taken) { goto L_088BB614; @@ -7801,18 +7802,18 @@ L_088BB7C0: AOT_REGCACHE_SYNC_OUT(); return; L_088BB7D4: aot_gpr_29 = (aot_gpr_29 + static_cast(-96)); - { const std::uint32_t aot_run_words[6]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; + { const std::uint32_t aot_run_words[6]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(64), aot_run_words); } aot_gpr_6 = (aot_gpr_5 | 0u); - aot_gpr_16 = (aot_gpr_4 | 0u); - ctx.gpr[18] = (aot_gpr_16 + static_cast(12)); - ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(12))); - ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); + ctx.gpr[16] = (aot_gpr_4 | 0u); + ctx.gpr[18] = (ctx.gpr[16] + static_cast(12)); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(12))); + ctx.gpr[20] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(16))); aot_gpr_4 = (aot_gpr_29 + static_cast(16)); aot_gpr_5 = (2188u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(-15428)); aot_gpr_31 = (0x088BB818u); - ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(8616)))))); + aot_gpr_7 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(8616)))))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0217_entry, 217u, 323u, 0x08B6A1E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088BB818u) goto L_088BB818; AOT_REGCACHE_SYNC_OUT(); return; L_088BB818: @@ -7840,7 +7841,7 @@ L_088BB840: goto L_088BB84C; } L_088BB84C: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(16))); goto L_088BB850; L_088BB850: aot_gpr_4 = (ctx.gpr[18] | 0u); @@ -7927,7 +7928,7 @@ L_088BB900: goto L_088BB908; L_088BB908: { const bool branch_taken = 0u == 0u; - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(16))); if (branch_taken) { goto L_088BB850; } @@ -7936,7 +7937,7 @@ L_088BB908: L_088BB910: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(64), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -7951,23 +7952,23 @@ L_088BB910: AOT_REGCACHE_SYNC_OUT(); return; L_088BB930: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); { const std::uint32_t aot_run_words[4]{0u, 0u, 0u, 0u}; - aot_mem.aot_direct_store32_block(aot_gpr_16 + static_cast(4), aot_run_words); } - aot_gpr_4 = (aot_gpr_16 + static_cast(4)); + aot_mem.aot_direct_store32_block(ctx.gpr[16] + static_cast(4), aot_run_words); } + aot_gpr_4 = (ctx.gpr[16] + static_cast(4)); { const std::uint32_t aot_run_words[6]{0u, 0u, 0u, 0u, 0u, 0u}; - aot_mem.aot_direct_store32_block(aot_gpr_16 + static_cast(20), aot_run_words); } + aot_mem.aot_direct_store32_block(ctx.gpr[16] + static_cast(20), aot_run_words); } aot_gpr_31 = (0x088BB974u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0217_entry, 217u, 130u, 0x08B687E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088BB974u) goto L_088BB974; AOT_REGCACHE_SYNC_OUT(); return; L_088BB974: - aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(44), static_cast(0u)); - aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(46), static_cast(0u)); - ctx.gpr[2] = (aot_gpr_16 | 0u); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_mem.aot_direct_store16(ctx.gpr[16] + static_cast(44), static_cast(0u)); + aot_mem.aot_direct_store16(ctx.gpr[16] + static_cast(46), static_cast(0u)); + ctx.gpr[2] = (ctx.gpr[16] | 0u); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -7977,32 +7978,32 @@ L_088BB974: AOT_REGCACHE_SYNC_OUT(); return; L_088BB990: aot_gpr_29 = (aot_gpr_29 + static_cast(-208)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(192), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(192), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(196), aot_gpr_31); - aot_gpr_16 = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(188), aot_gpr_4); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(28))); - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(12))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(28))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(12))); aot_gpr_5 = (aot_gpr_5 - aot_gpr_6); aot_gpr_6 = (static_cast(static_cast(aot_gpr_5) >> 2u)); aot_gpr_6 = (aot_gpr_6 >> 30u); aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); aot_gpr_5 = (static_cast(static_cast(aot_gpr_5) >> 2u)); aot_gpr_5 = (aot_gpr_5 << 6u); - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); - aot_gpr_6 = (aot_gpr_6 - ctx.gpr[7]); - ctx.gpr[7] = (static_cast(static_cast(aot_gpr_6) >> 1u)); - ctx.gpr[7] = (ctx.gpr[7] >> 31u); - aot_gpr_6 = (aot_gpr_6 + ctx.gpr[7]); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(16))); + aot_gpr_7 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(20))); + aot_gpr_6 = (aot_gpr_6 - aot_gpr_7); + aot_gpr_7 = (static_cast(static_cast(aot_gpr_6) >> 1u)); + aot_gpr_7 = (aot_gpr_7 >> 31u); + aot_gpr_6 = (aot_gpr_6 + aot_gpr_7); aot_gpr_6 = (static_cast(static_cast(aot_gpr_6) >> 1u)); aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - aot_gpr_6 = (aot_gpr_6 - ctx.gpr[7]); - ctx.gpr[7] = (static_cast(static_cast(aot_gpr_6) >> 1u)); - ctx.gpr[7] = (ctx.gpr[7] >> 31u); - aot_gpr_6 = (aot_gpr_6 + ctx.gpr[7]); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(8))); + aot_gpr_7 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); + aot_gpr_6 = (aot_gpr_6 - aot_gpr_7); + aot_gpr_7 = (static_cast(static_cast(aot_gpr_6) >> 1u)); + aot_gpr_7 = (aot_gpr_7 >> 31u); + aot_gpr_6 = (aot_gpr_6 + aot_gpr_7); aot_gpr_6 = (static_cast(static_cast(aot_gpr_6) >> 1u)); aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); aot_gpr_5 = (aot_gpr_5 + static_cast(-64)); @@ -8013,13 +8014,13 @@ L_088BB990: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0217_entry, 217u, 130u, 0x08B687E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088BBA34u) goto L_088BBA34; AOT_REGCACHE_SYNC_OUT(); return; L_088BBA34: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(76), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(80), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(84), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(12))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(12))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(88), aot_gpr_4); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(76), aot_run_words); @@ -8031,24 +8032,24 @@ L_088BBA34: aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(40), aot_run_words); } aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(88))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), aot_gpr_4); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(108), ctx.gpr[7]); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(112), ctx.gpr[7]); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(116), ctx.gpr[7]); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(28))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(120), ctx.gpr[7]); + aot_gpr_7 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(16))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(108), aot_gpr_7); + aot_gpr_7 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(20))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(112), aot_gpr_7); + aot_gpr_7 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(24))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(116), aot_gpr_7); + aot_gpr_7 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(28))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(120), aot_gpr_7); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(108), aot_run_words); - ctx.gpr[7] = aot_run_words[0]; + aot_gpr_7 = aot_run_words[0]; ctx.gpr[8] = aot_run_words[1]; ctx.gpr[9] = aot_run_words[2]; } - { const std::uint32_t aot_run_words[3]{ctx.gpr[7], ctx.gpr[8], ctx.gpr[9]}; + { const std::uint32_t aot_run_words[3]{aot_gpr_7, ctx.gpr[8], ctx.gpr[9]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(56), aot_run_words); } - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(120))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), ctx.gpr[7]); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(120))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), aot_gpr_7); ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(188))); ctx.gpr[10] = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[10]); @@ -8064,7 +8065,7 @@ L_088BBA34: { const std::uint32_t aot_run_words[4]{ctx.gpr[11], aot_gpr_5, aot_gpr_6, aot_gpr_4}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(140), aot_run_words); } aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(56))); - { const std::uint32_t aot_run_words[4]{aot_gpr_4, ctx.gpr[8], ctx.gpr[9], ctx.gpr[7]}; + { const std::uint32_t aot_run_words[4]{aot_gpr_4, ctx.gpr[8], ctx.gpr[9], aot_gpr_7}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(156), aot_run_words); } aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[10] + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_4); @@ -8156,7 +8157,7 @@ L_088BBBD0: } goto L_088BBBE8; L_088BBBE8: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(192))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(192))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(196))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(208)); @@ -8166,38 +8167,38 @@ L_088BBBE8: AOT_REGCACHE_SYNC_OUT(); return; L_088BBBF8: aot_gpr_29 = (aot_gpr_29 + static_cast(-208)); - { const std::uint32_t aot_run_words[5]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; + { const std::uint32_t aot_run_words[5]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(180), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_4 = (ctx.gpr[9] & 255u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[8]); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); - ctx.gpr[9] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - ctx.gpr[7] = (ctx.gpr[7] - ctx.gpr[9]); + aot_gpr_7 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); + ctx.gpr[9] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); + aot_gpr_7 = (aot_gpr_7 - ctx.gpr[9]); ctx.gpr[9] = (0u | 56u); - { const std::int32_t dividend = static_cast(ctx.gpr[7]); const std::int32_t divisor = static_cast(ctx.gpr[9]); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } + { const std::int32_t dividend = static_cast(aot_gpr_7); const std::int32_t divisor = static_cast(ctx.gpr[9]); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } ctx.gpr[17] = (ctx.lo); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); - ctx.gpr[7] = (ctx.gpr[17] < ctx.gpr[8] ? 1u : 0u); - { const bool branch_taken = ctx.gpr[7] == 0u; - ctx.gpr[7] = (aot_gpr_29 + static_cast(4)); + aot_gpr_7 = (ctx.gpr[17] < ctx.gpr[8] ? 1u : 0u); + { const bool branch_taken = aot_gpr_7 == 0u; + aot_gpr_7 = (aot_gpr_29 + static_cast(4)); if (branch_taken) { goto L_088BBC50; } goto L_088BBC44; } L_088BBC44: - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); { const bool branch_taken = 0u == 0u; - ctx.gpr[17] = (ctx.gpr[17] + ctx.gpr[7]); + ctx.gpr[17] = (ctx.gpr[17] + aot_gpr_7); if (branch_taken) { goto L_088BBC58; } goto L_088BBC50; } L_088BBC50: - ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(0))); - ctx.gpr[17] = (ctx.gpr[17] + ctx.gpr[7]); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_7 + static_cast(0))); + ctx.gpr[17] = (ctx.gpr[17] + aot_gpr_7); goto L_088BBC58; L_088BBC58: { const bool branch_taken = ctx.gpr[17] == 0u; @@ -8222,7 +8223,7 @@ L_088BBC80: ctx.gpr[19] = (ctx.gpr[2] | 0u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(112))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(116))); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(172))); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(172))); { const bool branch_taken = ctx.gpr[19] != 0u; aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(176))); if (branch_taken) { @@ -8235,7 +8236,7 @@ L_088BBC98: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(116), aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(112), aot_gpr_5); aot_gpr_31 = (0x088BBCACu); - aot_gpr_4 = (ctx.gpr[7] | 0u); + aot_gpr_4 = (aot_gpr_7 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 289u, 0x08B65438u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088BBCACu) goto L_088BBCAC; AOT_REGCACHE_SYNC_OUT(); return; L_088BBCAC: @@ -8246,8 +8247,8 @@ L_088BBCAC: goto L_088BBCBC; L_088BBCBC: ctx.gpr[18] = (ctx.gpr[19] | 0u); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - { const bool branch_taken = ctx.gpr[7] == aot_gpr_5; + aot_gpr_7 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); + { const bool branch_taken = aot_gpr_7 == aot_gpr_5; aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(8), static_cast(0u)); if (branch_taken) { goto L_088BBD50; @@ -8257,44 +8258,44 @@ L_088BBCBC: L_088BBCCC: ctx.gpr[8] = (ctx.gpr[19] | 0u); if (ctx.gpr[8] == 0u) { - ctx.gpr[7] = (ctx.gpr[7] + static_cast(56)); + aot_gpr_7 = (aot_gpr_7 + static_cast(56)); goto L_088BBD48; } goto L_088BBCD8; L_088BBCD8: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(176), aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(168), ctx.gpr[7]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(168), aot_gpr_7); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(164), ctx.gpr[8]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(116), aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(112), aot_gpr_5); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[7] + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_7 + static_cast(0))); aot_mem.aot_direct_store8(ctx.gpr[8] + static_cast(0), static_cast(aot_gpr_4)); aot_gpr_4 = (ctx.gpr[8] + static_cast(4)); aot_gpr_31 = (0x088BBD00u); - aot_gpr_5 = (ctx.gpr[7] + static_cast(4)); + aot_gpr_5 = (aot_gpr_7 + static_cast(4)); goto L_088BB990; L_088BBD00: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(164))); aot_gpr_5 = (aot_gpr_4 + static_cast(44)); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(168))); - aot_gpr_6 = (ctx.gpr[7] + static_cast(44)); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(168))); + aot_gpr_6 = (aot_gpr_7 + static_cast(44)); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(0)))))); aot_mem.aot_direct_store16(aot_gpr_5 + static_cast(0), static_cast(aot_gpr_6)); aot_gpr_5 = (aot_gpr_4 + static_cast(46)); - aot_gpr_6 = (ctx.gpr[7] + static_cast(46)); + aot_gpr_6 = (aot_gpr_7 + static_cast(46)); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(0)))))); aot_mem.aot_direct_store16(aot_gpr_5 + static_cast(0), static_cast(aot_gpr_6)); - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(48))); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_7 + static_cast(48))); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(48), aot_gpr_5); - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(52))); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_7 + static_cast(52))); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(52), aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(112))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(116))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(176))); - ctx.gpr[7] = (ctx.gpr[7] + static_cast(56)); + aot_gpr_7 = (aot_gpr_7 + static_cast(56)); goto L_088BBD48; L_088BBD48: - { const bool branch_taken = ctx.gpr[7] != aot_gpr_5; + { const bool branch_taken = aot_gpr_7 != aot_gpr_5; ctx.gpr[19] = (ctx.gpr[19] + static_cast(56)); if (branch_taken) { goto L_088BBCCC; @@ -8303,8 +8304,8 @@ L_088BBD48: } L_088BBD50: ctx.gpr[10] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - ctx.gpr[7] = (0u | 1u); - { const bool branch_taken = ctx.gpr[10] != ctx.gpr[7]; + aot_gpr_7 = (0u | 1u); + { const bool branch_taken = ctx.gpr[10] != aot_gpr_7; // nop if (branch_taken) { goto L_088BBDDC; @@ -8312,8 +8313,8 @@ L_088BBD50: goto L_088BBD60; } L_088BBD60: - ctx.gpr[7] = (ctx.gpr[19] | 0u); - { const bool branch_taken = ctx.gpr[7] == 0u; + aot_gpr_7 = (ctx.gpr[19] | 0u); + { const bool branch_taken = aot_gpr_7 == 0u; // nop if (branch_taken) { goto L_088BBDD0; @@ -8322,12 +8323,12 @@ L_088BBD60: } L_088BBD6C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(176), aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(160), ctx.gpr[7]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(160), aot_gpr_7); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(116), aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(112), aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_6 + static_cast(0))); - aot_mem.aot_direct_store8(ctx.gpr[7] + static_cast(0), static_cast(aot_gpr_4)); - aot_gpr_4 = (ctx.gpr[7] + static_cast(4)); + aot_mem.aot_direct_store8(aot_gpr_7 + static_cast(0), static_cast(aot_gpr_4)); + aot_gpr_4 = (aot_gpr_7 + static_cast(4)); aot_gpr_31 = (0x088BBD90u); aot_gpr_5 = (aot_gpr_6 + static_cast(4)); goto L_088BB990; @@ -8335,13 +8336,13 @@ L_088BBD90: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(160))); aot_gpr_5 = (aot_gpr_4 + static_cast(44)); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(116))); - ctx.gpr[7] = (aot_gpr_6 + static_cast(44)); - ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[7] + static_cast(0)))))); - aot_mem.aot_direct_store16(aot_gpr_5 + static_cast(0), static_cast(ctx.gpr[7])); + aot_gpr_7 = (aot_gpr_6 + static_cast(44)); + aot_gpr_7 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_7 + static_cast(0)))))); + aot_mem.aot_direct_store16(aot_gpr_5 + static_cast(0), static_cast(aot_gpr_7)); aot_gpr_5 = (aot_gpr_4 + static_cast(46)); - ctx.gpr[7] = (aot_gpr_6 + static_cast(46)); - ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[7] + static_cast(0)))))); - aot_mem.aot_direct_store16(aot_gpr_5 + static_cast(0), static_cast(ctx.gpr[7])); + aot_gpr_7 = (aot_gpr_6 + static_cast(46)); + aot_gpr_7 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_7 + static_cast(0)))))); + aot_mem.aot_direct_store16(aot_gpr_5 + static_cast(0), static_cast(aot_gpr_7)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(48))); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(48), aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(52))); @@ -8352,7 +8353,7 @@ L_088BBD90: L_088BBDD0: ctx.gpr[19] = (ctx.gpr[19] + static_cast(56)); { const bool branch_taken = 0u == 0u; - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); if (branch_taken) { goto L_088BBE88; } @@ -8367,7 +8368,7 @@ L_088BBDDC: goto L_088BBDE4; } L_088BBDE4: - ctx.gpr[7] = (aot_gpr_6 + static_cast(4)); + aot_gpr_7 = (aot_gpr_6 + static_cast(4)); ctx.gpr[8] = (aot_gpr_6 + static_cast(44)); ctx.gpr[9] = (aot_gpr_6 + static_cast(46)); goto L_088BBDF0; @@ -8380,7 +8381,7 @@ L_088BBDF0: goto L_088BBDFC; L_088BBDFC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(176), aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(156), ctx.gpr[7]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(156), aot_gpr_7); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(152), ctx.gpr[8]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(148), ctx.gpr[9]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(144), ctx.gpr[10]); @@ -8391,7 +8392,7 @@ L_088BBDFC: aot_mem.aot_direct_store8(ctx.gpr[11] + static_cast(0), static_cast(aot_gpr_4)); aot_gpr_4 = (ctx.gpr[11] + static_cast(4)); aot_gpr_31 = (0x088BBE30u); - aot_gpr_5 = (ctx.gpr[7] | 0u); + aot_gpr_5 = (aot_gpr_7 | 0u); goto L_088BB990; L_088BBE30: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(140))); @@ -8410,7 +8411,7 @@ L_088BBE30: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(52), aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(112))); ctx.gpr[10] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(144))); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(156))); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(156))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(176))); ctx.gpr[10] = (ctx.gpr[10] + static_cast(-1)); goto L_088BBE7C; @@ -8423,7 +8424,7 @@ L_088BBE7C: goto L_088BBE84; } L_088BBE84: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); goto L_088BBE88; L_088BBE88: { const bool branch_taken = aot_gpr_4 != 0u; @@ -8452,26 +8453,26 @@ L_088BBEA0: goto L_088BBEAC; L_088BBEAC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(136), aot_gpr_4); - ctx.gpr[7] = (aot_gpr_4 | 0u); + aot_gpr_7 = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(132), aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(128), aot_gpr_6); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[7] + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_7 + static_cast(0))); aot_mem.aot_direct_store8(aot_gpr_6 + static_cast(0), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_gpr_6 + static_cast(4)); aot_gpr_31 = (0x088BBED0u); - aot_gpr_5 = (ctx.gpr[7] + static_cast(4)); + aot_gpr_5 = (aot_gpr_7 + static_cast(4)); goto L_088BB990; L_088BBED0: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(128))); aot_gpr_6 = (aot_gpr_5 + static_cast(44)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(136))); - ctx.gpr[7] = (aot_gpr_4 + static_cast(44)); - ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[7] + static_cast(0)))))); - aot_mem.aot_direct_store16(aot_gpr_6 + static_cast(0), static_cast(ctx.gpr[7])); + aot_gpr_7 = (aot_gpr_4 + static_cast(44)); + aot_gpr_7 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_7 + static_cast(0)))))); + aot_mem.aot_direct_store16(aot_gpr_6 + static_cast(0), static_cast(aot_gpr_7)); aot_gpr_6 = (aot_gpr_5 + static_cast(46)); - ctx.gpr[7] = (aot_gpr_4 + static_cast(46)); - ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[7] + static_cast(0)))))); - aot_mem.aot_direct_store16(aot_gpr_6 + static_cast(0), static_cast(ctx.gpr[7])); + aot_gpr_7 = (aot_gpr_4 + static_cast(46)); + aot_gpr_7 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_7 + static_cast(0)))))); + aot_mem.aot_direct_store16(aot_gpr_6 + static_cast(0), static_cast(aot_gpr_7)); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(48))); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(48), aot_gpr_6); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(52))); @@ -8488,13 +8489,13 @@ L_088BBF10: goto L_088BBF18; } L_088BBF18: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); goto L_088BBF1C; L_088BBF1C: aot_gpr_4 = (aot_gpr_6 | 0u); goto L_088BBF20; L_088BBF20: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_5 = (aot_gpr_6 | 0u); { const bool branch_taken = aot_gpr_5 == aot_gpr_4; aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(11), static_cast(0u)); @@ -8504,7 +8505,7 @@ L_088BBF20: goto L_088BBF30; } L_088BBF30: - ctx.gpr[7] = (aot_gpr_29 + static_cast(12)); + aot_gpr_7 = (aot_gpr_29 + static_cast(12)); ctx.gpr[8] = (aot_gpr_29 + static_cast(28)); ctx.gpr[9] = (aot_gpr_29 + static_cast(44)); ctx.gpr[10] = (aot_gpr_29 + static_cast(60)); @@ -8542,13 +8543,13 @@ L_088BBF58: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), ctx.gpr[3]); ctx.gpr[3] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(32))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), ctx.gpr[3]); - ctx.gpr[3] = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(0))); + ctx.gpr[3] = (aot_mem.aot_direct_load32(aot_gpr_7 + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), ctx.gpr[3]); - ctx.gpr[3] = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(4))); + ctx.gpr[3] = (aot_mem.aot_direct_load32(aot_gpr_7 + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), ctx.gpr[3]); - ctx.gpr[3] = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(8))); + ctx.gpr[3] = (aot_mem.aot_direct_load32(aot_gpr_7 + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), ctx.gpr[3]); - ctx.gpr[3] = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(12))); + ctx.gpr[3] = (aot_mem.aot_direct_load32(aot_gpr_7 + static_cast(12))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), ctx.gpr[3]); ctx.gpr[3] = (aot_mem.aot_direct_load32(ctx.gpr[8] + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(60), ctx.gpr[3]); diff --git a/profiles/vcs/generated/generated_unit_0046.cpp b/profiles/vcs/generated/generated_unit_0046.cpp index 079c0e9..3881489 100644 --- a/profiles/vcs/generated/generated_unit_0046.cpp +++ b/profiles/vcs/generated/generated_unit_0046.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,7 +139,7 @@ static const std::uint16_t kEntryIds_recomp_unit_0046[4095] = { }; void recomp_unit_0046_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=29,5,4,7,6,8 fprs=12,13,14 gpr_occ=5657 fpr_occ=15 gpr_total=7504 fpr_total=15 +// PSPRECOMP_AOT_REGCACHE_META gprs=29,5,4,7,6,8 fprs=12,13,14 gpr_occ=5669 fpr_occ=15 gpr_total=7528 fpr_total=15 std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_4 = ctx.gpr[4]; @@ -678,7 +679,7 @@ L_088BC0E0: L_088BC0E8: ctx.gpr[31] = (0x088BC0F0u); aot_gpr_4 = (aot_gpr_6 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088BC0F0u) goto L_088BC0F0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088BC0F0u) goto L_088BC0F0; AOT_REGCACHE_SYNC_OUT(); return; L_088BC0F0: aot_gpr_4 = (ctx.gpr[17] << 6u); @@ -4189,7 +4190,7 @@ L_088BE9FC: L_088BEA04: ctx.gpr[31] = (0x088BEA0Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088BEA0Cu) goto L_088BEA0C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088BEA0Cu) goto L_088BEA0C; AOT_REGCACHE_SYNC_OUT(); return; L_088BEA0C: aot_gpr_4 = (ctx.gpr[17] << 2u); diff --git a/profiles/vcs/generated/generated_unit_0047.cpp b/profiles/vcs/generated/generated_unit_0047.cpp index d463b85..4f0e7ae 100644 --- a/profiles/vcs/generated/generated_unit_0047.cpp +++ b/profiles/vcs/generated/generated_unit_0047.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,7 +139,7 @@ static const std::uint16_t kEntryIds_recomp_unit_0047[4095] = { }; void recomp_unit_0047_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,6,31,16 fprs=12,13,22,14 gpr_occ=4481 fpr_occ=464 gpr_total=6123 fpr_total=735 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,6,31,16 fprs=12,13,22,14 gpr_occ=4560 fpr_occ=465 gpr_total=6267 fpr_total=736 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; @@ -3418,7 +3419,7 @@ L_088C1718: aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088C172Cu); aot_gpr_6 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C172Cu) goto L_088C172C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C172Cu) goto L_088C172C; AOT_REGCACHE_SYNC_OUT(); return; L_088C172C: ctx.gpr[2] = (0u | 0u); @@ -5097,7 +5098,7 @@ L_088C2D90: L_088C2DB4: aot_gpr_31 = (0x088C2DBCu); aot_gpr_4 = (ctx.gpr[28] + static_cast(-24040)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C2DBCu) goto L_088C2DBC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C2DBCu) goto L_088C2DBC; AOT_REGCACHE_SYNC_OUT(); return; L_088C2DBC: aot_gpr_4 = (2246u << 16u); @@ -5108,7 +5109,7 @@ L_088C2DBC: L_088C2DC8: aot_gpr_31 = (0x088C2DD0u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-24028)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C2DD0u) goto L_088C2DD0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C2DD0u) goto L_088C2DD0; AOT_REGCACHE_SYNC_OUT(); return; L_088C2DD0: aot_gpr_4 = (2246u << 16u); @@ -5119,7 +5120,7 @@ L_088C2DD0: L_088C2DDC: aot_gpr_31 = (0x088C2DE4u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-24016)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C2DE4u) goto L_088C2DE4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C2DE4u) goto L_088C2DE4; AOT_REGCACHE_SYNC_OUT(); return; L_088C2DE4: aot_gpr_4 = (2246u << 16u); @@ -5130,7 +5131,7 @@ L_088C2DE4: L_088C2DF0: aot_gpr_31 = (0x088C2DF8u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-24004)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C2DF8u) goto L_088C2DF8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C2DF8u) goto L_088C2DF8; AOT_REGCACHE_SYNC_OUT(); return; L_088C2DF8: aot_gpr_4 = (2246u << 16u); @@ -5141,7 +5142,7 @@ L_088C2DF8: L_088C2E04: aot_gpr_31 = (0x088C2E0Cu); aot_gpr_4 = (ctx.gpr[28] + static_cast(-23992)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C2E0Cu) goto L_088C2E0C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C2E0Cu) goto L_088C2E0C; AOT_REGCACHE_SYNC_OUT(); return; L_088C2E0C: aot_gpr_4 = (2246u << 16u); @@ -5152,7 +5153,7 @@ L_088C2E0C: L_088C2E18: aot_gpr_31 = (0x088C2E20u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-23980)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C2E20u) goto L_088C2E20; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C2E20u) goto L_088C2E20; AOT_REGCACHE_SYNC_OUT(); return; L_088C2E20: aot_gpr_4 = (2246u << 16u); @@ -5163,7 +5164,7 @@ L_088C2E20: L_088C2E2C: aot_gpr_31 = (0x088C2E34u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-23968)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C2E34u) goto L_088C2E34; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C2E34u) goto L_088C2E34; AOT_REGCACHE_SYNC_OUT(); return; L_088C2E34: aot_gpr_4 = (2246u << 16u); @@ -5174,7 +5175,7 @@ L_088C2E34: L_088C2E40: aot_gpr_31 = (0x088C2E48u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-23956)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C2E48u) goto L_088C2E48; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C2E48u) goto L_088C2E48; AOT_REGCACHE_SYNC_OUT(); return; L_088C2E48: aot_gpr_4 = (2246u << 16u); @@ -5185,7 +5186,7 @@ L_088C2E48: L_088C2E54: aot_gpr_31 = (0x088C2E5Cu); aot_gpr_4 = (ctx.gpr[28] + static_cast(-23944)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C2E5Cu) goto L_088C2E5C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C2E5Cu) goto L_088C2E5C; AOT_REGCACHE_SYNC_OUT(); return; L_088C2E5C: aot_gpr_4 = (2246u << 16u); @@ -5196,7 +5197,7 @@ L_088C2E5C: L_088C2E68: aot_gpr_31 = (0x088C2E70u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-23932)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C2E70u) goto L_088C2E70; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C2E70u) goto L_088C2E70; AOT_REGCACHE_SYNC_OUT(); return; L_088C2E70: aot_gpr_4 = (2246u << 16u); @@ -5207,7 +5208,7 @@ L_088C2E70: L_088C2E7C: aot_gpr_31 = (0x088C2E84u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-23920)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C2E84u) goto L_088C2E84; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C2E84u) goto L_088C2E84; AOT_REGCACHE_SYNC_OUT(); return; L_088C2E84: aot_gpr_4 = (2246u << 16u); @@ -5218,7 +5219,7 @@ L_088C2E84: L_088C2E90: aot_gpr_31 = (0x088C2E98u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-23908)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C2E98u) goto L_088C2E98; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C2E98u) goto L_088C2E98; AOT_REGCACHE_SYNC_OUT(); return; L_088C2E98: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -5330,7 +5331,7 @@ L_088C2F50: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); aot_gpr_31 = (0x088C2F5Cu); ctx.gpr[18] = (ctx.gpr[28] + static_cast(-23888)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C2F5Cu) goto L_088C2F5C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C2F5Cu) goto L_088C2F5C; AOT_REGCACHE_SYNC_OUT(); return; L_088C2F5C: aot_gpr_4 = (aot_gpr_29 | 0u); @@ -5345,7 +5346,7 @@ L_088C2F70: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), aot_gpr_4); aot_gpr_31 = (0x088C2F80u); aot_gpr_4 = (aot_gpr_29 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C2F80u) goto L_088C2F80; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C2F80u) goto L_088C2F80; AOT_REGCACHE_SYNC_OUT(); return; L_088C2F80: aot_gpr_4 = (ctx.gpr[17] | 0u); @@ -6641,7 +6642,7 @@ L_088C3A1C: L_088C3A24: aot_gpr_31 = (0x088C3A2Cu); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C3A2Cu) goto L_088C3A2C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C3A2Cu) goto L_088C3A2C; AOT_REGCACHE_SYNC_OUT(); return; L_088C3A2C: aot_gpr_4 = (ctx.gpr[2] | 0u); diff --git a/profiles/vcs/generated/generated_unit_0048.cpp b/profiles/vcs/generated/generated_unit_0048.cpp index 02aafd9..0c529ac 100644 --- a/profiles/vcs/generated/generated_unit_0048.cpp +++ b/profiles/vcs/generated/generated_unit_0048.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0048[4096] = { }; void recomp_unit_0048_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,6,16,29,19 fprs=12,13,20,14 gpr_occ=4354 fpr_occ=589 gpr_total=5787 fpr_total=677 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,6,16,31,29 fprs=12,13,20,14 gpr_occ=4421 fpr_occ=589 gpr_total=5908 fpr_total=677 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_6 = ctx.gpr[6]; std::uint32_t aot_gpr_16 = ctx.gpr[16]; + std::uint32_t aot_gpr_31 = ctx.gpr[31]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; - std::uint32_t aot_gpr_19 = ctx.gpr[19]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_20 = ctx.fpr[20]; float aot_fpr_14 = ctx.fpr[14]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[6] = aot_gpr_6; ctx.gpr[16] = aot_gpr_16; ctx.gpr[29] = aot_gpr_29; ctx.gpr[19] = aot_gpr_19; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; ctx.fpr[14] = aot_fpr_14; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_19 = ctx.gpr[19]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_14 = ctx.fpr[14]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[6] = aot_gpr_6; ctx.gpr[16] = aot_gpr_16; ctx.gpr[31] = aot_gpr_31; ctx.gpr[29] = aot_gpr_29; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; ctx.fpr[14] = aot_fpr_14; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_29 = ctx.gpr[29]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_14 = ctx.fpr[14]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -1009,9 +1010,9 @@ L_088C4024: aot_gpr_16 = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; - ctx.gpr[31] = aot_run_words[3]; + aot_gpr_31 = aot_run_words[3]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -1031,15 +1032,15 @@ L_088C403C: ctx.gpr[21] = (ctx.gpr[7] | 0u); aot_gpr_4 = (ctx.gpr[22] | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), ctx.gpr[18]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), aot_gpr_19); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), ctx.gpr[31]); - ctx.gpr[31] = (0x088C4080u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), ctx.gpr[19]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), aot_gpr_31); + aot_gpr_31 = (0x088C4080u); aot_gpr_5 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0047_entry, 47u, 349u, 0x088C2EA4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C4080u) goto L_088C4080; AOT_REGCACHE_SYNC_OUT(); return; L_088C4080: - aot_gpr_19 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_19 == 0u; + ctx.gpr[19] = (ctx.gpr[2] | 0u); + { const bool branch_taken = ctx.gpr[19] == 0u; aot_gpr_5 = (aot_gpr_29 + static_cast(8)); if (branch_taken) { goto L_088C41D0; @@ -1047,7 +1048,7 @@ L_088C4080: goto L_088C408C; } L_088C408C: - ctx.gpr[31] = (0x088C4094u); + aot_gpr_31 = (0x088C4094u); aot_gpr_4 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0047_entry, 47u, 349u, 0x088C2EA4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C4094u) goto L_088C4094; AOT_REGCACHE_SYNC_OUT(); return; @@ -1106,7 +1107,7 @@ L_088C40CC: L_088C40D4: aot_gpr_4 = (0u | 3u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), aot_gpr_4); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_19 + static_cast(4))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(4))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; { const bool branch_taken = 0u == 0u; @@ -1119,7 +1120,7 @@ L_088C40D4: L_088C40F0: aot_gpr_4 = (0u | 3u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), aot_gpr_4); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_19 + static_cast(4))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(4))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; { const bool branch_taken = 0u == 0u; @@ -1132,7 +1133,7 @@ L_088C40F0: L_088C410C: aot_gpr_4 = (0u | 3u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), aot_gpr_4); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_19 + static_cast(4))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(4))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } { const bool branch_taken = 0u == 0u; @@ -1145,7 +1146,7 @@ L_088C410C: L_088C4128: aot_gpr_4 = (0u | 3u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), aot_gpr_4); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_19 + static_cast(4))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(4))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); aot_fpr_12 = aot_fpr_12 / aot_fpr_13; { const bool branch_taken = 0u == 0u; @@ -1158,7 +1159,7 @@ L_088C4128: L_088C4144: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(16))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(124))); - ctx.gpr[31] = (0x088C4154u); + aot_gpr_31 = (0x088C4154u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(68))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 640u, 0x08A93FC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C4154u) goto L_088C4154; AOT_REGCACHE_SYNC_OUT(); return; @@ -1179,7 +1180,7 @@ L_088C4170: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_4); aot_gpr_5 = (2232u << 16u); aot_gpr_4 = (ctx.gpr[17] | 0u); - ctx.gpr[31] = (0x088C4184u); + aot_gpr_31 = (0x088C4184u); aot_gpr_5 = (aot_gpr_5 + static_cast(-21672)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0120_entry, 120u, 743u, 0x089E77C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C4184u) goto L_088C4184; AOT_REGCACHE_SYNC_OUT(); return; @@ -1189,8 +1190,8 @@ L_088C4184: L_088C4188: aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_4 = (ctx.gpr[17] | 0u); - aot_gpr_6 = (aot_gpr_19 | 0u); - ctx.gpr[31] = (0x088C419Cu); + aot_gpr_6 = (ctx.gpr[19] | 0u); + aot_gpr_31 = (0x088C419Cu); ctx.gpr[7] = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0047_entry, 47u, 387u, 0x088C312Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C419Cu) goto L_088C419C; AOT_REGCACHE_SYNC_OUT(); return; @@ -1224,7 +1225,7 @@ L_088C41D0: aot_gpr_5 = (ctx.gpr[22] | 0u); aot_gpr_6 = (ctx.gpr[21] | 0u); ctx.gpr[7] = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x088C41E8u); + aot_gpr_31 = (0x088C41E8u); ctx.gpr[8] = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0047_entry, 47u, 452u, 0x088C3708u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C41E8u) goto L_088C41E8; AOT_REGCACHE_SYNC_OUT(); return; @@ -1239,7 +1240,7 @@ L_088C41E8: L_088C41F0: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[22] | 0u); - ctx.gpr[31] = (0x088C4200u); + aot_gpr_31 = (0x088C4200u); aot_gpr_6 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0120_entry, 120u, 718u, 0x089E7584u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C4200u) goto L_088C4200; AOT_REGCACHE_SYNC_OUT(); return; @@ -1249,13 +1250,13 @@ L_088C4200: aot_gpr_16 = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; - aot_gpr_19 = aot_run_words[3]; + ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; ctx.gpr[21] = aot_run_words[5]; ctx.gpr[22] = aot_run_words[6]; - ctx.gpr[31] = aot_run_words[7]; + aot_gpr_31 = aot_run_words[7]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(64)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -1265,7 +1266,7 @@ L_088C4228: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); - { const std::uint32_t aot_run_words[8]{ctx.gpr[17], ctx.gpr[18], aot_gpr_19, ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[8]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(16), aot_run_words); } goto L_088C4254; L_088C4254: @@ -1281,7 +1282,7 @@ L_088C4264: aot_gpr_4 = (aot_gpr_16 | 0u); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(16), aot_gpr_29); aot_gpr_5 = (0u | 0u); - ctx.gpr[31] = (0x088C427Cu); + aot_gpr_31 = (0x088C427Cu); aot_gpr_6 = (0u + static_cast(-1)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 485u, 0x08871D88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C427Cu) goto L_088C427C; AOT_REGCACHE_SYNC_OUT(); return; @@ -1306,7 +1307,7 @@ L_088C42AC: aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(48))); aot_gpr_6 = (aot_gpr_4 + static_cast(4)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_6); - aot_gpr_19 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); + ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_4 = (aot_gpr_5 & 12u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -1336,7 +1337,7 @@ L_088C42DC: goto L_088C42EC; } L_088C42EC: - ctx.gpr[31] = (0x088C42F4u); + aot_gpr_31 = (0x088C42F4u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0047_entry, 47u, 365u, 0x088C2FB4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C42F4u) goto L_088C42F4; AOT_REGCACHE_SYNC_OUT(); return; @@ -1352,10 +1353,10 @@ L_088C42F4: goto L_088C4308; } L_088C4308: - aot_gpr_4 = (aot_gpr_19 >> 24u); + aot_gpr_4 = (ctx.gpr[19] >> 24u); ctx.gpr[23] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(12))); ctx.gpr[22] = (aot_gpr_4 << 3u); - aot_gpr_4 = (aot_gpr_19 & 63u); + aot_gpr_4 = (ctx.gpr[19] & 63u); aot_gpr_5 = (aot_gpr_4 < static_cast(35) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; ctx.gpr[22] = (ctx.gpr[23] + ctx.gpr[22]); @@ -1391,7 +1392,7 @@ L_088C433C: goto L_088C4360; } L_088C4360: - aot_gpr_4 = (aot_gpr_19 >> 15u); + aot_gpr_4 = (ctx.gpr[19] >> 15u); aot_gpr_4 = (aot_gpr_4 & 511u); aot_gpr_4 = (aot_gpr_4 << 3u); aot_gpr_4 = (ctx.gpr[23] + aot_gpr_4); @@ -1410,7 +1411,7 @@ L_088C4360: } L_088C4390: aot_gpr_5 = (4u << 16u); - aot_gpr_4 = (aot_gpr_19 >> 6u); + aot_gpr_4 = (ctx.gpr[19] >> 6u); aot_gpr_5 = (aot_gpr_5 + static_cast(-1)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_4 = (aot_gpr_4 << 3u); @@ -1430,11 +1431,11 @@ L_088C4390: } L_088C43C8: aot_gpr_4 = (0u | 1u); - aot_gpr_5 = (aot_gpr_19 >> 15u); + aot_gpr_5 = (ctx.gpr[19] >> 15u); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(0), aot_gpr_4); aot_gpr_4 = (aot_gpr_5 & 511u); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(4), aot_gpr_4); - aot_gpr_4 = (aot_gpr_19 >> 6u); + aot_gpr_4 = (ctx.gpr[19] >> 6u); aot_gpr_4 = (aot_gpr_4 & 511u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -1457,15 +1458,15 @@ L_088C43F8: goto L_088C4400; } L_088C4400: - aot_gpr_4 = (aot_gpr_19 >> 15u); + aot_gpr_4 = (ctx.gpr[19] >> 15u); aot_gpr_4 = (aot_gpr_4 & 511u); - aot_gpr_19 = (aot_gpr_4 << 3u); - aot_gpr_19 = (ctx.gpr[23] + aot_gpr_19); + ctx.gpr[19] = (aot_gpr_4 << 3u); + ctx.gpr[19] = (ctx.gpr[23] + ctx.gpr[19]); goto L_088C4410; L_088C4410: - aot_mem.aot_direct_store32(aot_gpr_19 + static_cast(0), 0u); - aot_gpr_19 = (aot_gpr_19 + static_cast(-8)); - aot_gpr_4 = (aot_gpr_19 < ctx.gpr[22] ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(0), 0u); + ctx.gpr[19] = (ctx.gpr[19] + static_cast(-8)); + aot_gpr_4 = (ctx.gpr[19] < ctx.gpr[22] ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -1482,7 +1483,7 @@ L_088C4424: goto L_088C442C; } L_088C442C: - aot_gpr_4 = (aot_gpr_19 >> 15u); + aot_gpr_4 = (ctx.gpr[19] >> 15u); aot_gpr_4 = (aot_gpr_4 & 511u); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (ctx.gpr[17] + aot_gpr_4); @@ -1503,13 +1504,13 @@ L_088C442C: } L_088C4464: aot_gpr_5 = (4u << 16u); - aot_gpr_4 = (aot_gpr_19 >> 6u); + aot_gpr_4 = (ctx.gpr[19] >> 6u); aot_gpr_5 = (aot_gpr_5 + static_cast(-1)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); ctx.gpr[20] = (aot_gpr_4 << 3u); ctx.gpr[20] = (ctx.gpr[18] + ctx.gpr[20]); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(20))); - ctx.gpr[31] = (0x088C4488u); + aot_gpr_31 = (0x088C4488u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(4))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 640u, 0x08A93FC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C4488u) goto L_088C4488; AOT_REGCACHE_SYNC_OUT(); return; @@ -1541,13 +1542,13 @@ L_088C44B8: aot_gpr_5 = (ctx.gpr[17] + static_cast(16)); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_6 = (ctx.gpr[20] | 0u); - ctx.gpr[31] = (0x088C44CCu); + aot_gpr_31 = (0x088C44CCu); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0047_entry, 47u, 397u, 0x088C32ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C44CCu) goto L_088C44CC; AOT_REGCACHE_SYNC_OUT(); return; L_088C44CC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(12))); - aot_gpr_5 = (aot_gpr_19 >> 24u); + aot_gpr_5 = (ctx.gpr[19] >> 24u); aot_gpr_5 = (aot_gpr_5 << 3u); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(0))); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); @@ -1567,10 +1568,10 @@ L_088C44F8: goto L_088C4500; } L_088C4500: - aot_gpr_4 = (aot_gpr_19 >> 15u); + aot_gpr_4 = (ctx.gpr[19] >> 15u); aot_gpr_4 = (aot_gpr_4 & 511u); ctx.gpr[20] = (aot_gpr_4 << 3u); - aot_gpr_4 = (aot_gpr_19 >> 6u); + aot_gpr_4 = (ctx.gpr[19] >> 6u); aot_gpr_4 = (aot_gpr_4 & 511u); aot_gpr_4 = (static_cast(aot_gpr_4) < 250 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; @@ -1581,7 +1582,7 @@ L_088C4500: goto L_088C4520; } L_088C4520: - aot_gpr_4 = (aot_gpr_19 >> 6u); + aot_gpr_4 = (ctx.gpr[19] >> 6u); aot_gpr_4 = (aot_gpr_4 & 511u); ctx.gpr[21] = (aot_gpr_4 << 3u); { const bool branch_taken = 0u == 0u; @@ -1592,7 +1593,7 @@ L_088C4520: goto L_088C4534; } L_088C4534: - aot_gpr_4 = (aot_gpr_19 >> 6u); + aot_gpr_4 = (ctx.gpr[19] >> 6u); aot_gpr_4 = (aot_gpr_4 & 511u); aot_gpr_4 = (aot_gpr_4 << 3u); ctx.gpr[21] = (ctx.gpr[18] + aot_gpr_4); @@ -1610,7 +1611,7 @@ L_088C4548: } L_088C4558: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(4))); - ctx.gpr[31] = (0x088C4564u); + aot_gpr_31 = (0x088C4564u); aot_gpr_5 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0164_entry, 164u, 6u, 0x08A9402Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C4564u) goto L_088C4564; AOT_REGCACHE_SYNC_OUT(); return; @@ -1642,13 +1643,13 @@ L_088C4594: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[20] | 0u); aot_gpr_6 = (ctx.gpr[21] | 0u); - ctx.gpr[31] = (0x088C45A8u); + aot_gpr_31 = (0x088C45A8u); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0047_entry, 47u, 397u, 0x088C32ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C45A8u) goto L_088C45A8; AOT_REGCACHE_SYNC_OUT(); return; L_088C45A8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(12))); - aot_gpr_5 = (aot_gpr_19 >> 24u); + aot_gpr_5 = (ctx.gpr[19] >> 24u); aot_gpr_5 = (aot_gpr_5 << 3u); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(0))); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); @@ -1671,13 +1672,13 @@ L_088C45DC: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[20] | 0u); aot_gpr_6 = (ctx.gpr[21] | 0u); - ctx.gpr[31] = (0x088C45F0u); + aot_gpr_31 = (0x088C45F0u); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0047_entry, 47u, 408u, 0x088C33B0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C45F0u) goto L_088C45F0; AOT_REGCACHE_SYNC_OUT(); return; L_088C45F0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(12))); - aot_gpr_5 = (aot_gpr_19 >> 24u); + aot_gpr_5 = (ctx.gpr[19] >> 24u); aot_gpr_5 = (aot_gpr_5 << 3u); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(0))); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); @@ -1698,14 +1699,14 @@ L_088C461C: } L_088C4624: aot_gpr_5 = (4u << 16u); - aot_gpr_4 = (aot_gpr_19 >> 6u); + aot_gpr_4 = (ctx.gpr[19] >> 6u); aot_gpr_6 = (aot_gpr_5 + static_cast(-1)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_6); aot_gpr_6 = (aot_gpr_4 << 3u); aot_gpr_5 = (ctx.gpr[17] + static_cast(16)); aot_gpr_6 = (ctx.gpr[18] + aot_gpr_6); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x088C464Cu); + aot_gpr_31 = (0x088C464Cu); ctx.gpr[7] = (ctx.gpr[22] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0047_entry, 47u, 427u, 0x088C3520u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C464Cu) goto L_088C464C; AOT_REGCACHE_SYNC_OUT(); return; @@ -1718,7 +1719,7 @@ L_088C464C: goto L_088C4654; } L_088C4654: - aot_gpr_4 = (aot_gpr_19 >> 15u); + aot_gpr_4 = (ctx.gpr[19] >> 15u); aot_gpr_4 = (aot_gpr_4 & 511u); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (ctx.gpr[17] + aot_gpr_4); @@ -1738,18 +1739,18 @@ L_088C4654: goto L_088C468C; } L_088C468C: - aot_gpr_4 = (aot_gpr_19 >> 15u); + aot_gpr_4 = (ctx.gpr[19] >> 15u); aot_gpr_4 = (aot_gpr_4 & 511u); aot_gpr_4 = (static_cast(aot_gpr_4) < 250 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_4 = (aot_gpr_19 >> 15u); + aot_gpr_4 = (ctx.gpr[19] >> 15u); if (branch_taken) { goto L_088C46B4; } goto L_088C46A0; } L_088C46A0: - aot_gpr_4 = (aot_gpr_19 >> 15u); + aot_gpr_4 = (ctx.gpr[19] >> 15u); aot_gpr_4 = (aot_gpr_4 & 511u); aot_gpr_4 = (aot_gpr_4 << 3u); { const bool branch_taken = 0u == 0u; @@ -1766,22 +1767,22 @@ L_088C46B4: aot_gpr_4 = (aot_gpr_4 + static_cast(-2000)); goto L_088C46C4; L_088C46C4: - aot_gpr_5 = (aot_gpr_19 >> 6u); + aot_gpr_5 = (ctx.gpr[19] >> 6u); aot_gpr_5 = (aot_gpr_5 & 511u); aot_gpr_5 = (static_cast(aot_gpr_5) < 250 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; - aot_gpr_5 = (aot_gpr_19 >> 6u); + aot_gpr_5 = (ctx.gpr[19] >> 6u); if (branch_taken) { goto L_088C46EC; } goto L_088C46D8; } L_088C46D8: - aot_gpr_5 = (aot_gpr_19 >> 6u); + aot_gpr_5 = (ctx.gpr[19] >> 6u); aot_gpr_5 = (aot_gpr_5 & 511u); - aot_gpr_19 = (aot_gpr_5 << 3u); + ctx.gpr[19] = (aot_gpr_5 << 3u); { const bool branch_taken = 0u == 0u; - aot_gpr_19 = (ctx.gpr[23] + aot_gpr_19); + ctx.gpr[19] = (ctx.gpr[23] + ctx.gpr[19]); if (branch_taken) { goto L_088C46FC; } @@ -1790,15 +1791,15 @@ L_088C46D8: L_088C46EC: aot_gpr_5 = (aot_gpr_5 & 511u); aot_gpr_5 = (aot_gpr_5 << 3u); - aot_gpr_19 = (ctx.gpr[18] + aot_gpr_5); - aot_gpr_19 = (aot_gpr_19 + static_cast(-2000)); + ctx.gpr[19] = (ctx.gpr[18] + aot_gpr_5); + ctx.gpr[19] = (ctx.gpr[19] + static_cast(-2000)); goto L_088C46FC; L_088C46FC: aot_gpr_6 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[22] | 0u); - ctx.gpr[31] = (0x088C4710u); - ctx.gpr[7] = (aot_gpr_19 | 0u); + aot_gpr_31 = (0x088C4710u); + ctx.gpr[7] = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0047_entry, 47u, 427u, 0x088C3520u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C4710u) goto L_088C4710; AOT_REGCACHE_SYNC_OUT(); return; L_088C4710: @@ -1810,16 +1811,16 @@ L_088C4710: goto L_088C4718; } L_088C4718: - aot_gpr_4 = (aot_gpr_19 >> 15u); + aot_gpr_4 = (ctx.gpr[19] >> 15u); aot_gpr_4 = (aot_gpr_4 & 511u); aot_gpr_5 = (aot_gpr_4 & 7u); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 3u)); aot_gpr_5 = (aot_gpr_5 << (aot_gpr_4 & 31u)); aot_gpr_4 = (0u | 5u); - aot_gpr_6 = (aot_gpr_19 >> 6u); + aot_gpr_6 = (ctx.gpr[19] >> 6u); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(0), aot_gpr_4); aot_gpr_6 = (aot_gpr_6 & 511u); - ctx.gpr[31] = (0x088C4744u); + aot_gpr_31 = (0x088C4744u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 588u, 0x08A93C14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C4744u) goto L_088C4744; AOT_REGCACHE_SYNC_OUT(); return; @@ -1837,7 +1838,7 @@ L_088C4744: goto L_088C4760; } L_088C4760: - ctx.gpr[31] = (0x088C4768u); + aot_gpr_31 = (0x088C4768u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0132_entry, 132u, 534u, 0x08A16D40u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C4768u) goto L_088C4768; AOT_REGCACHE_SYNC_OUT(); return; @@ -1850,10 +1851,10 @@ L_088C4768: goto L_088C4770; } L_088C4770: - aot_gpr_4 = (aot_gpr_19 >> 15u); + aot_gpr_4 = (ctx.gpr[19] >> 15u); aot_gpr_4 = (aot_gpr_4 & 511u); ctx.gpr[20] = (aot_gpr_4 << 3u); - aot_gpr_4 = (aot_gpr_19 >> 6u); + aot_gpr_4 = (ctx.gpr[19] >> 6u); aot_gpr_4 = (aot_gpr_4 & 511u); aot_gpr_4 = (static_cast(aot_gpr_4) < 250 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; @@ -1864,7 +1865,7 @@ L_088C4770: goto L_088C4790; } L_088C4790: - aot_gpr_4 = (aot_gpr_19 >> 6u); + aot_gpr_4 = (ctx.gpr[19] >> 6u); aot_gpr_4 = (aot_gpr_4 & 511u); ctx.gpr[21] = (aot_gpr_4 << 3u); { const bool branch_taken = 0u == 0u; @@ -1875,7 +1876,7 @@ L_088C4790: goto L_088C47A4; } L_088C47A4: - aot_gpr_4 = (aot_gpr_19 >> 6u); + aot_gpr_4 = (ctx.gpr[19] >> 6u); aot_gpr_4 = (aot_gpr_4 & 511u); aot_gpr_4 = (aot_gpr_4 << 3u); ctx.gpr[21] = (ctx.gpr[18] + aot_gpr_4); @@ -1911,7 +1912,7 @@ L_088C47C8: } L_088C47F8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(4))); - ctx.gpr[31] = (0x088C4804u); + aot_gpr_31 = (0x088C4804u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(4))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 640u, 0x08A93FC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C4804u) goto L_088C4804; AOT_REGCACHE_SYNC_OUT(); return; @@ -1943,13 +1944,13 @@ L_088C4834: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[20] | 0u); aot_gpr_6 = (ctx.gpr[21] | 0u); - ctx.gpr[31] = (0x088C4848u); + aot_gpr_31 = (0x088C4848u); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0047_entry, 47u, 397u, 0x088C32ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C4848u) goto L_088C4848; AOT_REGCACHE_SYNC_OUT(); return; L_088C4848: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(12))); - aot_gpr_5 = (aot_gpr_19 >> 24u); + aot_gpr_5 = (ctx.gpr[19] >> 24u); aot_gpr_5 = (aot_gpr_5 << 3u); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(0))); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); @@ -1972,13 +1973,13 @@ L_088C487C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[20] | 0u); aot_gpr_6 = (ctx.gpr[21] | 0u); - ctx.gpr[31] = (0x088C4890u); + aot_gpr_31 = (0x088C4890u); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0047_entry, 47u, 408u, 0x088C33B0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C4890u) goto L_088C4890; AOT_REGCACHE_SYNC_OUT(); return; L_088C4890: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(12))); - aot_gpr_5 = (aot_gpr_19 >> 24u); + aot_gpr_5 = (ctx.gpr[19] >> 24u); aot_gpr_5 = (aot_gpr_5 << 3u); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(0))); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); @@ -1998,18 +1999,18 @@ L_088C48BC: goto L_088C48C4; } L_088C48C4: - aot_gpr_4 = (aot_gpr_19 >> 15u); + aot_gpr_4 = (ctx.gpr[19] >> 15u); aot_gpr_4 = (aot_gpr_4 & 511u); aot_gpr_4 = (static_cast(aot_gpr_4) < 250 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_4 = (aot_gpr_19 >> 15u); + aot_gpr_4 = (ctx.gpr[19] >> 15u); if (branch_taken) { goto L_088C48EC; } goto L_088C48D8; } L_088C48D8: - aot_gpr_4 = (aot_gpr_19 >> 15u); + aot_gpr_4 = (ctx.gpr[19] >> 15u); aot_gpr_4 = (aot_gpr_4 & 511u); aot_gpr_4 = (aot_gpr_4 << 3u); { const bool branch_taken = 0u == 0u; @@ -2026,22 +2027,22 @@ L_088C48EC: aot_gpr_4 = (aot_gpr_4 + static_cast(-2000)); goto L_088C48FC; L_088C48FC: - aot_gpr_5 = (aot_gpr_19 >> 6u); + aot_gpr_5 = (ctx.gpr[19] >> 6u); aot_gpr_5 = (aot_gpr_5 & 511u); aot_gpr_5 = (static_cast(aot_gpr_5) < 250 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; - aot_gpr_5 = (aot_gpr_19 >> 6u); + aot_gpr_5 = (ctx.gpr[19] >> 6u); if (branch_taken) { goto L_088C4924; } goto L_088C4910; } L_088C4910: - aot_gpr_5 = (aot_gpr_19 >> 6u); + aot_gpr_5 = (ctx.gpr[19] >> 6u); aot_gpr_5 = (aot_gpr_5 & 511u); - aot_gpr_19 = (aot_gpr_5 << 3u); + ctx.gpr[19] = (aot_gpr_5 << 3u); { const bool branch_taken = 0u == 0u; - aot_gpr_19 = (ctx.gpr[23] + aot_gpr_19); + ctx.gpr[19] = (ctx.gpr[23] + ctx.gpr[19]); if (branch_taken) { goto L_088C4934; } @@ -2050,8 +2051,8 @@ L_088C4910: L_088C4924: aot_gpr_5 = (aot_gpr_5 & 511u); aot_gpr_5 = (aot_gpr_5 << 3u); - aot_gpr_19 = (ctx.gpr[18] + aot_gpr_5); - aot_gpr_19 = (aot_gpr_19 + static_cast(-2000)); + ctx.gpr[19] = (ctx.gpr[18] + aot_gpr_5); + ctx.gpr[19] = (ctx.gpr[19] + static_cast(-2000)); goto L_088C4934; L_088C4934: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); @@ -2064,7 +2065,7 @@ L_088C4934: goto L_088C4944; } L_088C4944: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_19 + static_cast(0))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(0))); aot_gpr_6 = (0u | 3u); { const bool branch_taken = aot_gpr_5 != aot_gpr_6; aot_gpr_5 = (0u | 3u); @@ -2076,7 +2077,7 @@ L_088C4944: L_088C4954: aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(0), aot_gpr_5); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_19 + static_cast(4))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(4))); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(4), std::bit_cast(aot_fpr_12)); @@ -2089,8 +2090,8 @@ L_088C496C: aot_gpr_6 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[22] | 0u); - ctx.gpr[7] = (aot_gpr_19 | 0u); - ctx.gpr[31] = (0x088C4984u); + ctx.gpr[7] = (ctx.gpr[19] | 0u); + aot_gpr_31 = (0x088C4984u); ctx.gpr[8] = (0u | 6u); goto L_088C403C; L_088C4984: @@ -2102,18 +2103,18 @@ L_088C4984: goto L_088C498C; } L_088C498C: - aot_gpr_4 = (aot_gpr_19 >> 15u); + aot_gpr_4 = (ctx.gpr[19] >> 15u); aot_gpr_4 = (aot_gpr_4 & 511u); aot_gpr_4 = (static_cast(aot_gpr_4) < 250 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_4 = (aot_gpr_19 >> 15u); + aot_gpr_4 = (ctx.gpr[19] >> 15u); if (branch_taken) { goto L_088C49B4; } goto L_088C49A0; } L_088C49A0: - aot_gpr_4 = (aot_gpr_19 >> 15u); + aot_gpr_4 = (ctx.gpr[19] >> 15u); aot_gpr_4 = (aot_gpr_4 & 511u); aot_gpr_4 = (aot_gpr_4 << 3u); { const bool branch_taken = 0u == 0u; @@ -2130,22 +2131,22 @@ L_088C49B4: aot_gpr_4 = (aot_gpr_4 + static_cast(-2000)); goto L_088C49C4; L_088C49C4: - aot_gpr_5 = (aot_gpr_19 >> 6u); + aot_gpr_5 = (ctx.gpr[19] >> 6u); aot_gpr_5 = (aot_gpr_5 & 511u); aot_gpr_5 = (static_cast(aot_gpr_5) < 250 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; - aot_gpr_5 = (aot_gpr_19 >> 6u); + aot_gpr_5 = (ctx.gpr[19] >> 6u); if (branch_taken) { goto L_088C49EC; } goto L_088C49D8; } L_088C49D8: - aot_gpr_5 = (aot_gpr_19 >> 6u); + aot_gpr_5 = (ctx.gpr[19] >> 6u); aot_gpr_5 = (aot_gpr_5 & 511u); - aot_gpr_19 = (aot_gpr_5 << 3u); + ctx.gpr[19] = (aot_gpr_5 << 3u); { const bool branch_taken = 0u == 0u; - aot_gpr_19 = (ctx.gpr[23] + aot_gpr_19); + ctx.gpr[19] = (ctx.gpr[23] + ctx.gpr[19]); if (branch_taken) { goto L_088C49FC; } @@ -2154,8 +2155,8 @@ L_088C49D8: L_088C49EC: aot_gpr_5 = (aot_gpr_5 & 511u); aot_gpr_5 = (aot_gpr_5 << 3u); - aot_gpr_19 = (ctx.gpr[18] + aot_gpr_5); - aot_gpr_19 = (aot_gpr_19 + static_cast(-2000)); + ctx.gpr[19] = (ctx.gpr[18] + aot_gpr_5); + ctx.gpr[19] = (ctx.gpr[19] + static_cast(-2000)); goto L_088C49FC; L_088C49FC: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); @@ -2168,7 +2169,7 @@ L_088C49FC: goto L_088C4A0C; } L_088C4A0C: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_19 + static_cast(0))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(0))); aot_gpr_6 = (0u | 3u); { const bool branch_taken = aot_gpr_5 != aot_gpr_6; aot_gpr_5 = (0u | 3u); @@ -2180,7 +2181,7 @@ L_088C4A0C: L_088C4A1C: aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(0), aot_gpr_5); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_19 + static_cast(4))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(4))); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(4), std::bit_cast(aot_fpr_12)); @@ -2193,8 +2194,8 @@ L_088C4A34: aot_gpr_6 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[22] | 0u); - ctx.gpr[7] = (aot_gpr_19 | 0u); - ctx.gpr[31] = (0x088C4A4Cu); + ctx.gpr[7] = (ctx.gpr[19] | 0u); + aot_gpr_31 = (0x088C4A4Cu); ctx.gpr[8] = (0u | 7u); goto L_088C403C; L_088C4A4C: @@ -2206,18 +2207,18 @@ L_088C4A4C: goto L_088C4A54; } L_088C4A54: - aot_gpr_4 = (aot_gpr_19 >> 15u); + aot_gpr_4 = (ctx.gpr[19] >> 15u); aot_gpr_4 = (aot_gpr_4 & 511u); aot_gpr_4 = (static_cast(aot_gpr_4) < 250 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_4 = (aot_gpr_19 >> 15u); + aot_gpr_4 = (ctx.gpr[19] >> 15u); if (branch_taken) { goto L_088C4A7C; } goto L_088C4A68; } L_088C4A68: - aot_gpr_4 = (aot_gpr_19 >> 15u); + aot_gpr_4 = (ctx.gpr[19] >> 15u); aot_gpr_4 = (aot_gpr_4 & 511u); aot_gpr_4 = (aot_gpr_4 << 3u); { const bool branch_taken = 0u == 0u; @@ -2234,22 +2235,22 @@ L_088C4A7C: aot_gpr_4 = (aot_gpr_4 + static_cast(-2000)); goto L_088C4A8C; L_088C4A8C: - aot_gpr_5 = (aot_gpr_19 >> 6u); + aot_gpr_5 = (ctx.gpr[19] >> 6u); aot_gpr_5 = (aot_gpr_5 & 511u); aot_gpr_5 = (static_cast(aot_gpr_5) < 250 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; - aot_gpr_5 = (aot_gpr_19 >> 6u); + aot_gpr_5 = (ctx.gpr[19] >> 6u); if (branch_taken) { goto L_088C4AB4; } goto L_088C4AA0; } L_088C4AA0: - aot_gpr_5 = (aot_gpr_19 >> 6u); + aot_gpr_5 = (ctx.gpr[19] >> 6u); aot_gpr_5 = (aot_gpr_5 & 511u); - aot_gpr_19 = (aot_gpr_5 << 3u); + ctx.gpr[19] = (aot_gpr_5 << 3u); { const bool branch_taken = 0u == 0u; - aot_gpr_19 = (ctx.gpr[23] + aot_gpr_19); + ctx.gpr[19] = (ctx.gpr[23] + ctx.gpr[19]); if (branch_taken) { goto L_088C4AC4; } @@ -2258,8 +2259,8 @@ L_088C4AA0: L_088C4AB4: aot_gpr_5 = (aot_gpr_5 & 511u); aot_gpr_5 = (aot_gpr_5 << 3u); - aot_gpr_19 = (ctx.gpr[18] + aot_gpr_5); - aot_gpr_19 = (aot_gpr_19 + static_cast(-2000)); + ctx.gpr[19] = (ctx.gpr[18] + aot_gpr_5); + ctx.gpr[19] = (ctx.gpr[19] + static_cast(-2000)); goto L_088C4AC4; L_088C4AC4: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); @@ -2272,7 +2273,7 @@ L_088C4AC4: goto L_088C4AD4; } L_088C4AD4: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_19 + static_cast(0))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(0))); aot_gpr_6 = (0u | 3u); { const bool branch_taken = aot_gpr_5 != aot_gpr_6; aot_gpr_5 = (0u | 3u); @@ -2284,7 +2285,7 @@ L_088C4AD4: L_088C4AE4: aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(0), aot_gpr_5); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_19 + static_cast(4))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(4))); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(4), std::bit_cast(aot_fpr_12)); @@ -2297,8 +2298,8 @@ L_088C4AFC: aot_gpr_6 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[22] | 0u); - ctx.gpr[7] = (aot_gpr_19 | 0u); - ctx.gpr[31] = (0x088C4B14u); + ctx.gpr[7] = (ctx.gpr[19] | 0u); + aot_gpr_31 = (0x088C4B14u); ctx.gpr[8] = (0u | 8u); goto L_088C403C; L_088C4B14: @@ -2310,18 +2311,18 @@ L_088C4B14: goto L_088C4B1C; } L_088C4B1C: - aot_gpr_4 = (aot_gpr_19 >> 15u); + aot_gpr_4 = (ctx.gpr[19] >> 15u); aot_gpr_4 = (aot_gpr_4 & 511u); aot_gpr_4 = (static_cast(aot_gpr_4) < 250 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_4 = (aot_gpr_19 >> 15u); + aot_gpr_4 = (ctx.gpr[19] >> 15u); if (branch_taken) { goto L_088C4B44; } goto L_088C4B30; } L_088C4B30: - aot_gpr_4 = (aot_gpr_19 >> 15u); + aot_gpr_4 = (ctx.gpr[19] >> 15u); aot_gpr_4 = (aot_gpr_4 & 511u); aot_gpr_4 = (aot_gpr_4 << 3u); { const bool branch_taken = 0u == 0u; @@ -2338,22 +2339,22 @@ L_088C4B44: aot_gpr_4 = (aot_gpr_4 + static_cast(-2000)); goto L_088C4B54; L_088C4B54: - aot_gpr_5 = (aot_gpr_19 >> 6u); + aot_gpr_5 = (ctx.gpr[19] >> 6u); aot_gpr_5 = (aot_gpr_5 & 511u); aot_gpr_5 = (static_cast(aot_gpr_5) < 250 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; - aot_gpr_5 = (aot_gpr_19 >> 6u); + aot_gpr_5 = (ctx.gpr[19] >> 6u); if (branch_taken) { goto L_088C4B7C; } goto L_088C4B68; } L_088C4B68: - aot_gpr_5 = (aot_gpr_19 >> 6u); + aot_gpr_5 = (ctx.gpr[19] >> 6u); aot_gpr_5 = (aot_gpr_5 & 511u); - aot_gpr_19 = (aot_gpr_5 << 3u); + ctx.gpr[19] = (aot_gpr_5 << 3u); { const bool branch_taken = 0u == 0u; - aot_gpr_19 = (ctx.gpr[23] + aot_gpr_19); + ctx.gpr[19] = (ctx.gpr[23] + ctx.gpr[19]); if (branch_taken) { goto L_088C4B8C; } @@ -2362,8 +2363,8 @@ L_088C4B68: L_088C4B7C: aot_gpr_5 = (aot_gpr_5 & 511u); aot_gpr_5 = (aot_gpr_5 << 3u); - aot_gpr_19 = (ctx.gpr[18] + aot_gpr_5); - aot_gpr_19 = (aot_gpr_19 + static_cast(-2000)); + ctx.gpr[19] = (ctx.gpr[18] + aot_gpr_5); + ctx.gpr[19] = (ctx.gpr[19] + static_cast(-2000)); goto L_088C4B8C; L_088C4B8C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); @@ -2376,7 +2377,7 @@ L_088C4B8C: goto L_088C4B9C; } L_088C4B9C: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_19 + static_cast(0))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(0))); aot_gpr_6 = (0u | 3u); { const bool branch_taken = aot_gpr_5 != aot_gpr_6; aot_gpr_5 = (0u | 3u); @@ -2388,7 +2389,7 @@ L_088C4B9C: L_088C4BAC: aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(0), aot_gpr_5); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_19 + static_cast(4))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(4))); aot_fpr_12 = aot_fpr_12 / aot_fpr_13; { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(4), std::bit_cast(aot_fpr_12)); @@ -2401,8 +2402,8 @@ L_088C4BC4: aot_gpr_6 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[22] | 0u); - ctx.gpr[7] = (aot_gpr_19 | 0u); - ctx.gpr[31] = (0x088C4BDCu); + ctx.gpr[7] = (ctx.gpr[19] | 0u); + aot_gpr_31 = (0x088C4BDCu); ctx.gpr[8] = (0u | 9u); goto L_088C403C; L_088C4BDC: @@ -2414,18 +2415,18 @@ L_088C4BDC: goto L_088C4BE4; } L_088C4BE4: - aot_gpr_4 = (aot_gpr_19 >> 15u); + aot_gpr_4 = (ctx.gpr[19] >> 15u); aot_gpr_4 = (aot_gpr_4 & 511u); aot_gpr_4 = (static_cast(aot_gpr_4) < 250 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_4 = (aot_gpr_19 >> 15u); + aot_gpr_4 = (ctx.gpr[19] >> 15u); if (branch_taken) { goto L_088C4C0C; } goto L_088C4BF8; } L_088C4BF8: - aot_gpr_4 = (aot_gpr_19 >> 15u); + aot_gpr_4 = (ctx.gpr[19] >> 15u); aot_gpr_4 = (aot_gpr_4 & 511u); aot_gpr_4 = (aot_gpr_4 << 3u); { const bool branch_taken = 0u == 0u; @@ -2442,22 +2443,22 @@ L_088C4C0C: aot_gpr_4 = (aot_gpr_4 + static_cast(-2000)); goto L_088C4C1C; L_088C4C1C: - aot_gpr_5 = (aot_gpr_19 >> 6u); + aot_gpr_5 = (ctx.gpr[19] >> 6u); aot_gpr_5 = (aot_gpr_5 & 511u); aot_gpr_5 = (static_cast(aot_gpr_5) < 250 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; - aot_gpr_5 = (aot_gpr_19 >> 6u); + aot_gpr_5 = (ctx.gpr[19] >> 6u); if (branch_taken) { goto L_088C4C44; } goto L_088C4C30; } L_088C4C30: - aot_gpr_5 = (aot_gpr_19 >> 6u); + aot_gpr_5 = (ctx.gpr[19] >> 6u); aot_gpr_5 = (aot_gpr_5 & 511u); - aot_gpr_19 = (aot_gpr_5 << 3u); + ctx.gpr[19] = (aot_gpr_5 << 3u); { const bool branch_taken = 0u == 0u; - aot_gpr_19 = (ctx.gpr[23] + aot_gpr_19); + ctx.gpr[19] = (ctx.gpr[23] + ctx.gpr[19]); if (branch_taken) { goto L_088C4C54; } @@ -2466,15 +2467,15 @@ L_088C4C30: L_088C4C44: aot_gpr_5 = (aot_gpr_5 & 511u); aot_gpr_5 = (aot_gpr_5 << 3u); - aot_gpr_19 = (ctx.gpr[18] + aot_gpr_5); - aot_gpr_19 = (aot_gpr_19 + static_cast(-2000)); + ctx.gpr[19] = (ctx.gpr[18] + aot_gpr_5); + ctx.gpr[19] = (ctx.gpr[19] + static_cast(-2000)); goto L_088C4C54; L_088C4C54: aot_gpr_6 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[22] | 0u); - ctx.gpr[7] = (aot_gpr_19 | 0u); - ctx.gpr[31] = (0x088C4C6Cu); + ctx.gpr[7] = (ctx.gpr[19] | 0u); + aot_gpr_31 = (0x088C4C6Cu); ctx.gpr[8] = (0u | 10u); goto L_088C403C; L_088C4C6C: @@ -2486,7 +2487,7 @@ L_088C4C6C: goto L_088C4C74; } L_088C4C74: - aot_gpr_4 = (aot_gpr_19 >> 15u); + aot_gpr_4 = (ctx.gpr[19] >> 15u); aot_gpr_4 = (aot_gpr_4 & 511u); aot_gpr_4 = (aot_gpr_4 << 3u); aot_gpr_4 = (ctx.gpr[23] + aot_gpr_4); @@ -2500,7 +2501,7 @@ L_088C4C74: goto L_088C4C94; } L_088C4C94: - ctx.gpr[31] = (0x088C4C9Cu); + aot_gpr_31 = (0x088C4C9Cu); aot_gpr_5 = (aot_gpr_29 + static_cast(4)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0047_entry, 47u, 349u, 0x088C2EA4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C4C9Cu) goto L_088C4C9C; AOT_REGCACHE_SYNC_OUT(); return; @@ -2526,7 +2527,7 @@ L_088C4CA8: goto L_088C4CC0; } L_088C4CC0: - aot_gpr_4 = (aot_gpr_19 >> 15u); + aot_gpr_4 = (ctx.gpr[19] >> 15u); aot_gpr_4 = (aot_gpr_4 & 511u); aot_gpr_5 = (aot_gpr_4 << 3u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), 0u); @@ -2534,7 +2535,7 @@ L_088C4CC0: aot_gpr_6 = (aot_gpr_29 + static_cast(4)); aot_gpr_4 = (aot_gpr_16 | 0u); ctx.gpr[7] = (ctx.gpr[22] | 0u); - ctx.gpr[31] = (0x088C4CE8u); + aot_gpr_31 = (0x088C4CE8u); ctx.gpr[8] = (0u | 11u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0047_entry, 47u, 452u, 0x088C3708u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C4CE8u) goto L_088C4CE8; AOT_REGCACHE_SYNC_OUT(); return; @@ -2547,12 +2548,12 @@ L_088C4CE8: goto L_088C4CF0; } L_088C4CF0: - aot_gpr_4 = (aot_gpr_19 >> 15u); + aot_gpr_4 = (ctx.gpr[19] >> 15u); aot_gpr_4 = (aot_gpr_4 & 511u); aot_gpr_5 = (aot_gpr_4 << 3u); aot_gpr_5 = (ctx.gpr[23] + aot_gpr_5); aot_gpr_6 = (aot_gpr_29 + static_cast(4)); - ctx.gpr[31] = (0x088C4D0Cu); + aot_gpr_31 = (0x088C4D0Cu); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0120_entry, 120u, 718u, 0x089E7584u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C4D0Cu) goto L_088C4D0C; AOT_REGCACHE_SYNC_OUT(); return; @@ -2565,7 +2566,7 @@ L_088C4D0C: goto L_088C4D14; } L_088C4D14: - aot_gpr_4 = (aot_gpr_19 >> 15u); + aot_gpr_4 = (ctx.gpr[19] >> 15u); aot_gpr_4 = (aot_gpr_4 & 511u); aot_gpr_5 = (aot_gpr_4 << 3u); aot_gpr_5 = (ctx.gpr[23] + aot_gpr_5); @@ -2578,14 +2579,14 @@ L_088C4D14: goto L_088C4D30; } L_088C4D30: - aot_gpr_5 = (aot_gpr_19 >> 15u); + aot_gpr_5 = (ctx.gpr[19] >> 15u); aot_gpr_5 = (aot_gpr_5 & 511u); aot_gpr_5 = (aot_gpr_5 << 3u); aot_gpr_5 = (ctx.gpr[23] + aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_gpr_6 = (0u | 1u); { const bool branch_taken = aot_gpr_5 != aot_gpr_6; - aot_gpr_5 = (aot_gpr_19 >> 15u); + aot_gpr_5 = (ctx.gpr[19] >> 15u); if (branch_taken) { goto L_088C4D6C; } @@ -2617,13 +2618,13 @@ L_088C4D6C: goto L_088C4D7C; } L_088C4D7C: - aot_gpr_4 = (aot_gpr_19 >> 15u); - aot_gpr_6 = (aot_gpr_19 >> 6u); + aot_gpr_4 = (ctx.gpr[19] >> 15u); + aot_gpr_6 = (ctx.gpr[19] >> 6u); ctx.gpr[20] = (aot_gpr_4 & 511u); aot_gpr_6 = (aot_gpr_6 & 511u); aot_gpr_5 = (aot_gpr_6 - ctx.gpr[20]); aot_gpr_5 = (aot_gpr_5 + static_cast(1)); - ctx.gpr[31] = (0x088C4D9Cu); + aot_gpr_31 = (0x088C4D9Cu); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0047_entry, 47u, 537u, 0x088C3C94u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C4D9Cu) goto L_088C4D9C; AOT_REGCACHE_SYNC_OUT(); return; @@ -2631,7 +2632,7 @@ L_088C4D9C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(12))); aot_gpr_5 = (ctx.gpr[20] << 3u); aot_gpr_5 = (aot_gpr_4 + aot_gpr_5); - aot_gpr_6 = (aot_gpr_19 >> 24u); + aot_gpr_6 = (ctx.gpr[19] >> 24u); aot_gpr_6 = (aot_gpr_6 << 3u); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); @@ -2653,7 +2654,7 @@ L_088C4D9C: goto L_088C4DE8; } L_088C4DE8: - ctx.gpr[31] = (0x088C4DF0u); + aot_gpr_31 = (0x088C4DF0u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0132_entry, 132u, 534u, 0x08A16D40u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C4DF0u) goto L_088C4DF0; AOT_REGCACHE_SYNC_OUT(); return; @@ -2667,7 +2668,7 @@ L_088C4DF0: } L_088C4DF8: aot_gpr_5 = (4u << 16u); - aot_gpr_4 = (aot_gpr_19 >> 6u); + aot_gpr_4 = (ctx.gpr[19] >> 6u); aot_gpr_5 = (aot_gpr_5 + static_cast(-1)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_5 = (8u << 16u); @@ -2684,7 +2685,7 @@ L_088C4DF8: goto L_088C4E28; } L_088C4E28: - aot_gpr_4 = (aot_gpr_19 >> 15u); + aot_gpr_4 = (ctx.gpr[19] >> 15u); aot_gpr_4 = (aot_gpr_4 & 511u); aot_gpr_4 = (static_cast(aot_gpr_4) < 250 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; @@ -2695,7 +2696,7 @@ L_088C4E28: goto L_088C4E3C; } L_088C4E3C: - aot_gpr_4 = (aot_gpr_19 >> 15u); + aot_gpr_4 = (ctx.gpr[19] >> 15u); aot_gpr_4 = (aot_gpr_4 & 511u); aot_gpr_4 = (aot_gpr_4 << 3u); { const bool branch_taken = 0u == 0u; @@ -2706,14 +2707,14 @@ L_088C4E3C: goto L_088C4E50; } L_088C4E50: - aot_gpr_4 = (aot_gpr_19 >> 15u); + aot_gpr_4 = (ctx.gpr[19] >> 15u); aot_gpr_4 = (aot_gpr_4 & 511u); aot_gpr_4 = (aot_gpr_4 << 3u); aot_gpr_4 = (ctx.gpr[18] + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(-2000)); goto L_088C4E64; L_088C4E64: - aot_gpr_5 = (aot_gpr_19 >> 6u); + aot_gpr_5 = (ctx.gpr[19] >> 6u); aot_gpr_5 = (aot_gpr_5 & 511u); aot_gpr_5 = (static_cast(aot_gpr_5) < 250 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; @@ -2724,7 +2725,7 @@ L_088C4E64: goto L_088C4E78; } L_088C4E78: - aot_gpr_5 = (aot_gpr_19 >> 6u); + aot_gpr_5 = (ctx.gpr[19] >> 6u); aot_gpr_5 = (aot_gpr_5 & 511u); aot_gpr_5 = (aot_gpr_5 << 3u); { const bool branch_taken = 0u == 0u; @@ -2735,7 +2736,7 @@ L_088C4E78: goto L_088C4E8C; } L_088C4E8C: - aot_gpr_5 = (aot_gpr_19 >> 6u); + aot_gpr_5 = (ctx.gpr[19] >> 6u); aot_gpr_5 = (aot_gpr_5 & 511u); aot_gpr_5 = (aot_gpr_5 << 3u); aot_gpr_5 = (ctx.gpr[18] + aot_gpr_5); @@ -2744,25 +2745,25 @@ L_088C4E8C: L_088C4EA0: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; - aot_gpr_4 = (aot_gpr_19 >> 24u); + aot_gpr_4 = (ctx.gpr[19] >> 24u); if (branch_taken) { goto L_088C4F3C; } goto L_088C4EAC; } L_088C4EAC: - aot_gpr_4 = (aot_gpr_19 >> 15u); + aot_gpr_4 = (ctx.gpr[19] >> 15u); aot_gpr_4 = (aot_gpr_4 & 511u); aot_gpr_4 = (static_cast(aot_gpr_4) < 250 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_4 = (aot_gpr_19 >> 15u); + aot_gpr_4 = (ctx.gpr[19] >> 15u); if (branch_taken) { goto L_088C4ED4; } goto L_088C4EC0; } L_088C4EC0: - aot_gpr_4 = (aot_gpr_19 >> 15u); + aot_gpr_4 = (ctx.gpr[19] >> 15u); aot_gpr_4 = (aot_gpr_4 & 511u); aot_gpr_4 = (aot_gpr_4 << 3u); { const bool branch_taken = 0u == 0u; @@ -2779,18 +2780,18 @@ L_088C4ED4: aot_gpr_4 = (aot_gpr_4 + static_cast(-2000)); goto L_088C4EE4; L_088C4EE4: - aot_gpr_5 = (aot_gpr_19 >> 6u); + aot_gpr_5 = (ctx.gpr[19] >> 6u); aot_gpr_5 = (aot_gpr_5 & 511u); aot_gpr_5 = (static_cast(aot_gpr_5) < 250 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; - aot_gpr_5 = (aot_gpr_19 >> 6u); + aot_gpr_5 = (ctx.gpr[19] >> 6u); if (branch_taken) { goto L_088C4F0C; } goto L_088C4EF8; } L_088C4EF8: - aot_gpr_5 = (aot_gpr_19 >> 6u); + aot_gpr_5 = (ctx.gpr[19] >> 6u); aot_gpr_5 = (aot_gpr_5 & 511u); aot_gpr_5 = (aot_gpr_5 << 3u); { const bool branch_taken = 0u == 0u; @@ -2809,13 +2810,13 @@ L_088C4F0C: L_088C4F1C: aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x088C4F2Cu); + aot_gpr_31 = (0x088C4F2Cu); aot_gpr_6 = (ctx.gpr[23] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0047_entry, 47u, 566u, 0x088C3EB8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C4F2Cu) goto L_088C4F2C; AOT_REGCACHE_SYNC_OUT(); return; L_088C4F2C: { const bool branch_taken = ctx.gpr[2] == 0u; - aot_gpr_4 = (aot_gpr_19 >> 24u); + aot_gpr_4 = (ctx.gpr[19] >> 24u); if (branch_taken) { goto L_088C4F3C; } @@ -2823,7 +2824,7 @@ L_088C4F2C: } L_088C4F34: ctx.gpr[20] = (0u | 1u); - aot_gpr_4 = (aot_gpr_19 >> 24u); + aot_gpr_4 = (ctx.gpr[19] >> 24u); goto L_088C4F3C; L_088C4F3C: if (ctx.gpr[20] == aot_gpr_4) { @@ -2863,18 +2864,18 @@ L_088C4F80: goto L_088C4F88; } L_088C4F88: - aot_gpr_4 = (aot_gpr_19 >> 15u); + aot_gpr_4 = (ctx.gpr[19] >> 15u); aot_gpr_4 = (aot_gpr_4 & 511u); aot_gpr_4 = (static_cast(aot_gpr_4) < 250 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_4 = (aot_gpr_19 >> 15u); + aot_gpr_4 = (ctx.gpr[19] >> 15u); if (branch_taken) { goto L_088C4FB0; } goto L_088C4F9C; } L_088C4F9C: - aot_gpr_4 = (aot_gpr_19 >> 15u); + aot_gpr_4 = (ctx.gpr[19] >> 15u); aot_gpr_4 = (aot_gpr_4 & 511u); aot_gpr_4 = (aot_gpr_4 << 3u); { const bool branch_taken = 0u == 0u; @@ -2891,18 +2892,18 @@ L_088C4FB0: aot_gpr_4 = (aot_gpr_4 + static_cast(-2000)); goto L_088C4FC0; L_088C4FC0: - aot_gpr_5 = (aot_gpr_19 >> 6u); + aot_gpr_5 = (ctx.gpr[19] >> 6u); aot_gpr_5 = (aot_gpr_5 & 511u); aot_gpr_5 = (static_cast(aot_gpr_5) < 250 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; - aot_gpr_5 = (aot_gpr_19 >> 6u); + aot_gpr_5 = (ctx.gpr[19] >> 6u); if (branch_taken) { goto L_088C4FE8; } goto L_088C4FD4; } L_088C4FD4: - aot_gpr_5 = (aot_gpr_19 >> 6u); + aot_gpr_5 = (ctx.gpr[19] >> 6u); aot_gpr_5 = (aot_gpr_5 & 511u); aot_gpr_5 = (aot_gpr_5 << 3u); { const bool branch_taken = 0u == 0u; @@ -2921,12 +2922,12 @@ L_088C4FE8: L_088C4FF8: aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x088C5008u); + aot_gpr_31 = (0x088C5008u); aot_gpr_6 = (ctx.gpr[23] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0047_entry, 47u, 504u, 0x088C3A8Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C5008u) goto L_088C5008; AOT_REGCACHE_SYNC_OUT(); return; L_088C5008: - aot_gpr_4 = (aot_gpr_19 >> 24u); + aot_gpr_4 = (ctx.gpr[19] >> 24u); if (ctx.gpr[2] == aot_gpr_4) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); goto L_088C5024; @@ -2964,18 +2965,18 @@ L_088C5050: goto L_088C5058; } L_088C5058: - aot_gpr_4 = (aot_gpr_19 >> 15u); + aot_gpr_4 = (ctx.gpr[19] >> 15u); aot_gpr_4 = (aot_gpr_4 & 511u); aot_gpr_4 = (static_cast(aot_gpr_4) < 250 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_4 = (aot_gpr_19 >> 15u); + aot_gpr_4 = (ctx.gpr[19] >> 15u); if (branch_taken) { goto L_088C5080; } goto L_088C506C; } L_088C506C: - aot_gpr_4 = (aot_gpr_19 >> 15u); + aot_gpr_4 = (ctx.gpr[19] >> 15u); aot_gpr_4 = (aot_gpr_4 & 511u); aot_gpr_4 = (aot_gpr_4 << 3u); { const bool branch_taken = 0u == 0u; @@ -2992,18 +2993,18 @@ L_088C5080: aot_gpr_4 = (aot_gpr_4 + static_cast(-2000)); goto L_088C5090; L_088C5090: - aot_gpr_5 = (aot_gpr_19 >> 6u); + aot_gpr_5 = (ctx.gpr[19] >> 6u); aot_gpr_5 = (aot_gpr_5 & 511u); aot_gpr_5 = (static_cast(aot_gpr_5) < 250 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; - aot_gpr_5 = (aot_gpr_19 >> 6u); + aot_gpr_5 = (ctx.gpr[19] >> 6u); if (branch_taken) { goto L_088C50B8; } goto L_088C50A4; } L_088C50A4: - aot_gpr_5 = (aot_gpr_19 >> 6u); + aot_gpr_5 = (ctx.gpr[19] >> 6u); aot_gpr_5 = (aot_gpr_5 & 511u); aot_gpr_5 = (aot_gpr_5 << 3u); { const bool branch_taken = 0u == 0u; @@ -3022,12 +3023,12 @@ L_088C50B8: L_088C50C8: aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x088C50D8u); + aot_gpr_31 = (0x088C50D8u); aot_gpr_6 = (ctx.gpr[23] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0047_entry, 47u, 519u, 0x088C3B78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C50D8u) goto L_088C50D8; AOT_REGCACHE_SYNC_OUT(); return; L_088C50D8: - aot_gpr_4 = (aot_gpr_19 >> 24u); + aot_gpr_4 = (ctx.gpr[19] >> 24u); if (ctx.gpr[2] == aot_gpr_4) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); goto L_088C50F4; @@ -3065,7 +3066,7 @@ L_088C5120: goto L_088C5128; } L_088C5128: - aot_gpr_4 = (aot_gpr_19 >> 15u); + aot_gpr_4 = (ctx.gpr[19] >> 15u); aot_gpr_4 = (aot_gpr_4 & 511u); aot_gpr_4 = (aot_gpr_4 << 3u); ctx.gpr[23] = (ctx.gpr[23] + aot_gpr_4); @@ -3081,7 +3082,7 @@ L_088C5144: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast(0))); aot_gpr_6 = (0u | 1u); { const bool branch_taken = aot_gpr_5 != aot_gpr_6; - aot_gpr_5 = (aot_gpr_19 >> 6u); + aot_gpr_5 = (ctx.gpr[19] >> 6u); if (branch_taken) { goto L_088C5168; } @@ -3090,7 +3091,7 @@ L_088C5144: L_088C5154: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast(4))); { const bool branch_taken = aot_gpr_5 != 0u; - aot_gpr_5 = (aot_gpr_19 >> 6u); + aot_gpr_5 = (ctx.gpr[19] >> 6u); if (branch_taken) { goto L_088C5168; } @@ -3098,7 +3099,7 @@ L_088C5154: } L_088C5160: aot_gpr_4 = (0u | 1u); - aot_gpr_5 = (aot_gpr_19 >> 6u); + aot_gpr_5 = (ctx.gpr[19] >> 6u); goto L_088C5168; L_088C5168: aot_gpr_5 = (aot_gpr_5 & 511u); @@ -3146,7 +3147,7 @@ L_088C51CC: goto L_088C51D4; } L_088C51D4: - aot_gpr_4 = (aot_gpr_19 >> 15u); + aot_gpr_4 = (ctx.gpr[19] >> 15u); aot_gpr_4 = (aot_gpr_4 & 511u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -3161,11 +3162,11 @@ L_088C51E4: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(8), aot_gpr_4); goto L_088C51F0; L_088C51F0: - aot_gpr_4 = (aot_gpr_19 >> 6u); + aot_gpr_4 = (ctx.gpr[19] >> 6u); ctx.gpr[20] = (aot_gpr_4 & 511u); ctx.gpr[20] = (ctx.gpr[20] + static_cast(-1)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x088C5208u); + aot_gpr_31 = (0x088C5208u); aot_gpr_5 = (ctx.gpr[22] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 522u, 0x08872148u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C5208u) goto L_088C5208; AOT_REGCACHE_SYNC_OUT(); return; @@ -3191,7 +3192,7 @@ L_088C5214: L_088C5224: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[20] | 0u); - ctx.gpr[31] = (0x088C5234u); + aot_gpr_31 = (0x088C5234u); aot_gpr_6 = (ctx.gpr[22] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 550u, 0x088723DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C5234u) goto L_088C5234; AOT_REGCACHE_SYNC_OUT(); return; @@ -3231,7 +3232,7 @@ L_088C5250: goto L_088C5270; } L_088C5270: - aot_gpr_4 = (aot_gpr_19 & 63u); + aot_gpr_4 = (ctx.gpr[19] & 63u); aot_gpr_5 = (0u | 25u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -3255,12 +3256,12 @@ L_088C5280: } L_088C529C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); - aot_gpr_5 = (aot_gpr_19 >> 24u); + aot_gpr_5 = (ctx.gpr[19] >> 24u); ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(-24))); - aot_gpr_19 = (aot_gpr_5 << 3u); + ctx.gpr[19] = (aot_gpr_5 << 3u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_19 = (ctx.gpr[17] + aot_gpr_19); + ctx.gpr[19] = (ctx.gpr[17] + ctx.gpr[19]); if (branch_taken) { goto L_088C52C4; } @@ -3268,7 +3269,7 @@ L_088C529C: } L_088C52B8: aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x088C52C4u); + aot_gpr_31 = (0x088C52C4u); aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0171_entry, 171u, 68u, 0x08AB05DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C52C4u) goto L_088C52C4; AOT_REGCACHE_SYNC_OUT(); return; @@ -3276,7 +3277,7 @@ L_088C52C4: aot_gpr_4 = (0u | 0u); aot_gpr_5 = (aot_gpr_4 << 3u); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); - aot_gpr_5 = (aot_gpr_19 + aot_gpr_5); + aot_gpr_5 = (ctx.gpr[19] + aot_gpr_5); aot_gpr_5 = (aot_gpr_5 < aot_gpr_6 ? 1u : 0u); if (aot_gpr_5 == 0u) { aot_gpr_4 = (aot_gpr_4 << 3u); @@ -3287,7 +3288,7 @@ L_088C52E0: aot_gpr_5 = (aot_gpr_4 << 3u); goto L_088C52E4; L_088C52E4: - aot_gpr_6 = (aot_gpr_19 + aot_gpr_5); + aot_gpr_6 = (ctx.gpr[19] + aot_gpr_5); aot_gpr_5 = (ctx.gpr[17] + aot_gpr_5); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); aot_gpr_5 = (aot_gpr_5 + static_cast(-8)); @@ -3300,7 +3301,7 @@ L_088C52E4: aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_6); aot_gpr_5 = (aot_gpr_4 << 3u); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); - aot_gpr_5 = (aot_gpr_19 + aot_gpr_5); + aot_gpr_5 = (ctx.gpr[19] + aot_gpr_5); aot_gpr_5 = (aot_gpr_5 < aot_gpr_6 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 != 0u; aot_gpr_5 = (aot_gpr_4 << 3u); @@ -3343,9 +3344,9 @@ L_088C5378: } L_088C5380: ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); - aot_gpr_19 = (aot_gpr_19 >> 15u); - aot_gpr_19 = (aot_gpr_19 & 511u); - { const bool branch_taken = aot_gpr_19 == 0u; + ctx.gpr[19] = (ctx.gpr[19] >> 15u); + ctx.gpr[19] = (ctx.gpr[19] & 511u); + { const bool branch_taken = ctx.gpr[19] == 0u; ctx.gpr[17] = (ctx.gpr[17] + static_cast(-24)); if (branch_taken) { goto L_088C53A4; @@ -3353,7 +3354,7 @@ L_088C5380: goto L_088C5394; } L_088C5394: - aot_gpr_4 = (aot_gpr_19 << 3u); + aot_gpr_4 = (ctx.gpr[19] << 3u); aot_gpr_4 = (ctx.gpr[22] + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(-8)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(8), aot_gpr_4); @@ -3367,7 +3368,7 @@ L_088C53A4: goto L_088C53B0; L_088C53B0: aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x088C53BCu); + aot_gpr_31 = (0x088C53BCu); aot_gpr_5 = (ctx.gpr[23] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0171_entry, 171u, 68u, 0x08AB05DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C53BCu) goto L_088C53BC; AOT_REGCACHE_SYNC_OUT(); return; @@ -3402,7 +3403,7 @@ L_088C53EC: aot_gpr_5 = (aot_gpr_5 >> 6u); aot_gpr_5 = (aot_gpr_5 & 511u); ctx.gpr[17] = (aot_gpr_5 + static_cast(-1)); - ctx.gpr[31] = (0x088C540Cu); + aot_gpr_31 = (0x088C540Cu); aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 550u, 0x088723DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C540Cu) goto L_088C540C; AOT_REGCACHE_SYNC_OUT(); return; @@ -3441,7 +3442,7 @@ L_088C5428: L_088C543C: aot_gpr_5 = (2232u << 16u); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x088C544Cu); + aot_gpr_31 = (0x088C544Cu); aot_gpr_5 = (aot_gpr_5 + static_cast(-21628)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0120_entry, 120u, 743u, 0x089E77C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C544Cu) goto L_088C544C; AOT_REGCACHE_SYNC_OUT(); return; @@ -3456,7 +3457,7 @@ L_088C544C: goto L_088C545C; } L_088C545C: - ctx.gpr[31] = (0x088C5464u); + aot_gpr_31 = (0x088C5464u); aot_gpr_4 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0047_entry, 47u, 349u, 0x088C2EA4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C5464u) goto L_088C5464; AOT_REGCACHE_SYNC_OUT(); return; @@ -3472,7 +3473,7 @@ L_088C5464: L_088C5470: aot_gpr_5 = (2232u << 16u); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x088C5480u); + aot_gpr_31 = (0x088C5480u); aot_gpr_5 = (aot_gpr_5 + static_cast(-21588)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0120_entry, 120u, 743u, 0x089E77C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C5480u) goto L_088C5480; AOT_REGCACHE_SYNC_OUT(); return; @@ -3487,7 +3488,7 @@ L_088C5480: goto L_088C5490; } L_088C5490: - ctx.gpr[31] = (0x088C5498u); + aot_gpr_31 = (0x088C5498u); aot_gpr_4 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0047_entry, 47u, 349u, 0x088C2EA4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C5498u) goto L_088C5498; AOT_REGCACHE_SYNC_OUT(); return; @@ -3503,7 +3504,7 @@ L_088C5498: L_088C54A4: aot_gpr_5 = (2232u << 16u); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x088C54B4u); + aot_gpr_31 = (0x088C54B4u); aot_gpr_5 = (aot_gpr_5 + static_cast(-21556)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0120_entry, 120u, 743u, 0x089E77C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C54B4u) goto L_088C54B4; AOT_REGCACHE_SYNC_OUT(); return; @@ -3555,7 +3556,7 @@ L_088C5500: goto L_088C5508; } L_088C5508: - aot_gpr_4 = (aot_gpr_19 >> 6u); + aot_gpr_4 = (ctx.gpr[19] >> 6u); aot_gpr_5 = (aot_gpr_5 + static_cast(-1)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_5 = (8u << 16u); @@ -3576,11 +3577,11 @@ L_088C5534: goto L_088C553C; } L_088C553C: - ctx.gpr[20] = (aot_gpr_19 | 0u); + ctx.gpr[20] = (ctx.gpr[19] | 0u); aot_gpr_4 = (ctx.gpr[20] >> 6u); - aot_gpr_19 = (aot_gpr_4 & 511u); - aot_gpr_19 = (aot_gpr_19 + static_cast(1)); - ctx.gpr[21] = (aot_gpr_19 << 3u); + ctx.gpr[19] = (aot_gpr_4 & 511u); + ctx.gpr[19] = (ctx.gpr[19] + static_cast(1)); + ctx.gpr[21] = (ctx.gpr[19] << 3u); aot_gpr_5 = (ctx.gpr[22] + ctx.gpr[21]); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(0))); aot_gpr_5 = (aot_gpr_5 + static_cast(16)); @@ -3611,8 +3612,8 @@ L_088C553C: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(8), ctx.gpr[7]); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x088C55D0u); - aot_gpr_6 = (aot_gpr_19 | 0u); + aot_gpr_31 = (0x088C55D0u); + aot_gpr_6 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 560u, 0x088724C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C55D0u) goto L_088C55D0; AOT_REGCACHE_SYNC_OUT(); return; L_088C55D0: @@ -3627,8 +3628,8 @@ L_088C55D0: aot_gpr_4 = (ctx.gpr[22] + ctx.gpr[21]); goto L_088C55F4; L_088C55F4: - aot_gpr_19 = (aot_gpr_19 + static_cast(-1)); - aot_gpr_5 = (aot_gpr_19 << 3u); + ctx.gpr[19] = (ctx.gpr[19] + static_cast(-1)); + aot_gpr_5 = (ctx.gpr[19] << 3u); aot_gpr_6 = (aot_gpr_4 + aot_gpr_5); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); aot_gpr_5 = (ctx.gpr[22] + aot_gpr_5); @@ -3637,7 +3638,7 @@ L_088C55F4: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); aot_gpr_5 = (aot_gpr_5 + static_cast(4)); aot_gpr_6 = (std::bit_cast(aot_fpr_12)); - { const bool branch_taken = static_cast(aot_gpr_19) > 0; + { const bool branch_taken = static_cast(ctx.gpr[19]) > 0; aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_6); if (branch_taken) { goto L_088C55F4; @@ -3703,20 +3704,20 @@ L_088C5684: ctx.gpr[20] = (ctx.gpr[28] + static_cast(-23872)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_5); ctx.gpr[21] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(68))); - ctx.gpr[31] = (0x088C56B4u); + aot_gpr_31 = (0x088C56B4u); aot_gpr_4 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C56B4u) goto L_088C56B4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C56B4u) goto L_088C56B4; AOT_REGCACHE_SYNC_OUT(); return; L_088C56B4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[20] | 0u); - ctx.gpr[31] = (0x088C56C4u); + aot_gpr_31 = (0x088C56C4u); aot_gpr_6 = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 314u, 0x089D1D64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C56C4u) goto L_088C56C4; AOT_REGCACHE_SYNC_OUT(); return; L_088C56C4: aot_gpr_4 = (ctx.gpr[21] | 0u); - ctx.gpr[31] = (0x088C56D0u); + aot_gpr_31 = (0x088C56D0u); aot_gpr_5 = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 640u, 0x08A93FC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C56D0u) goto L_088C56D0; AOT_REGCACHE_SYNC_OUT(); return; @@ -3731,7 +3732,7 @@ L_088C56D0: aot_gpr_5 = (4u << 16u); goto L_088C56F0; L_088C56F0: - aot_gpr_4 = (aot_gpr_19 >> 6u); + aot_gpr_4 = (ctx.gpr[19] >> 6u); aot_gpr_5 = (aot_gpr_5 + static_cast(-1)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_5 = (8u << 16u); @@ -3758,7 +3759,7 @@ L_088C571C: goto L_088C572C; } L_088C572C: - aot_gpr_4 = (aot_gpr_19 | 0u); + aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (4u << 16u); ctx.gpr[20] = (aot_gpr_4 >> 6u); aot_gpr_5 = (aot_gpr_5 + static_cast(-1)); @@ -3766,7 +3767,7 @@ L_088C572C: aot_gpr_4 = (aot_gpr_4 & 63u); aot_gpr_5 = (0u | 31u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; - aot_gpr_19 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(4))); + ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(4))); if (branch_taken) { goto L_088C5764; } @@ -3815,8 +3816,8 @@ L_088C5798: ctx.gpr[23] = (ctx.gpr[22] + aot_gpr_4); aot_gpr_6 = (ctx.gpr[20] + ctx.gpr[21]); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x088C57B0u); - aot_gpr_5 = (aot_gpr_19 | 0u); + aot_gpr_31 = (0x088C57B0u); + aot_gpr_5 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0164_entry, 164u, 28u, 0x08A94190u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C57B0u) goto L_088C57B0; AOT_REGCACHE_SYNC_OUT(); return; L_088C57B0: @@ -3844,7 +3845,7 @@ L_088C57D4: } L_088C57DC: aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x088C57E8u); + aot_gpr_31 = (0x088C57E8u); aot_gpr_5 = (ctx.gpr[22] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0171_entry, 171u, 68u, 0x08AB05DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C57E8u) goto L_088C57E8; AOT_REGCACHE_SYNC_OUT(); return; @@ -3859,7 +3860,7 @@ L_088C57E8: L_088C57F0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(12))); aot_gpr_6 = (4u << 16u); - aot_gpr_5 = (aot_gpr_19 >> 6u); + aot_gpr_5 = (ctx.gpr[19] >> 6u); aot_gpr_6 = (aot_gpr_6 + static_cast(-1)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); @@ -3867,17 +3868,17 @@ L_088C57F0: aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); ctx.gpr[21] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_6 = (ctx.gpr[17] + static_cast(16)); - aot_gpr_19 = (aot_mem.aot_direct_load8(ctx.gpr[21] + static_cast(68))); + ctx.gpr[19] = (aot_mem.aot_direct_load8(ctx.gpr[21] + static_cast(68))); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x088C5828u); - aot_gpr_5 = (aot_gpr_19 | 0u); + aot_gpr_31 = (0x088C5828u); + aot_gpr_5 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0171_entry, 171u, 56u, 0x08AB04C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C5828u) goto L_088C5828; AOT_REGCACHE_SYNC_OUT(); return; L_088C5828: ctx.gpr[20] = (ctx.gpr[2] | 0u); aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(12), ctx.gpr[21]); ctx.gpr[21] = (0u | 0u); - aot_gpr_4 = (static_cast(ctx.gpr[21]) < static_cast(aot_gpr_19) ? 1u : 0u); + aot_gpr_4 = (static_cast(ctx.gpr[21]) < static_cast(ctx.gpr[19]) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_4 = (0u | 6u); if (branch_taken) { @@ -3918,7 +3919,7 @@ L_088C5884: aot_gpr_5 = (aot_gpr_5 >> 15u); aot_gpr_5 = (aot_gpr_5 & 511u); aot_gpr_5 = (aot_gpr_5 << 3u); - ctx.gpr[31] = (0x088C58A0u); + aot_gpr_31 = (0x088C58A0u); aot_gpr_5 = (ctx.gpr[23] + aot_gpr_5); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0171_entry, 171u, 59u, 0x08AB0548u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C58A0u) goto L_088C58A0; AOT_REGCACHE_SYNC_OUT(); return; @@ -3932,7 +3933,7 @@ L_088C58AC: ctx.gpr[21] = (ctx.gpr[21] + static_cast(1)); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_4); - aot_gpr_4 = (static_cast(ctx.gpr[21]) < static_cast(aot_gpr_19) ? 1u : 0u); + aot_gpr_4 = (static_cast(ctx.gpr[21]) < static_cast(ctx.gpr[19]) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -3958,7 +3959,7 @@ L_088C58CC: goto L_088C58EC; } L_088C58EC: - ctx.gpr[31] = (0x088C58F4u); + aot_gpr_31 = (0x088C58F4u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0132_entry, 132u, 534u, 0x08A16D40u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C58F4u) goto L_088C58F4; AOT_REGCACHE_SYNC_OUT(); return; @@ -3976,14 +3977,14 @@ L_088C58FC: aot_gpr_16 = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; - aot_gpr_19 = aot_run_words[3]; + ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; ctx.gpr[21] = aot_run_words[5]; ctx.gpr[22] = aot_run_words[6]; ctx.gpr[23] = aot_run_words[7]; - ctx.gpr[31] = aot_run_words[8]; + aot_gpr_31 = aot_run_words[8]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(48)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -3994,7 +3995,7 @@ L_088C5928: aot_gpr_5 = (aot_gpr_5 + static_cast(22528)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(8), 0u); - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; ctx.gpr[2] = (aot_gpr_4 | 0u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -4002,7 +4003,7 @@ L_088C5928: AOT_REGCACHE_SYNC_OUT(); return; L_088C5940: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -4036,13 +4037,13 @@ L_088C5970: goto L_088C597C; } L_088C597C: - ctx.gpr[31] = (0x088C5984u); + aot_gpr_31 = (0x088C5984u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C5984u) goto L_088C5984; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C5984u) goto L_088C5984; AOT_REGCACHE_SYNC_OUT(); return; L_088C5984: - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -4050,7 +4051,7 @@ L_088C5984: AOT_REGCACHE_SYNC_OUT(); return; L_088C5990: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -4094,20 +4095,20 @@ L_088C59D0: goto L_088C59DC; } L_088C59DC: - ctx.gpr[31] = (0x088C59E4u); + aot_gpr_31 = (0x088C59E4u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C59E4u) goto L_088C59E4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C59E4u) goto L_088C59E4; AOT_REGCACHE_SYNC_OUT(); return; L_088C59E4: - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_088C59F0: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(8), aot_gpr_5); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -4275,7 +4276,7 @@ L_088C5B10: ctx.gpr[2] = (0u | 0u); goto L_088C5B14; L_088C5B14: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; // nop local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -4308,7 +4309,7 @@ L_088C5B50: aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-23835), static_cast(aot_gpr_4)); goto L_088C5B64; L_088C5B64: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; // nop local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -4318,25 +4319,25 @@ L_088C5B6C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[31]); - ctx.gpr[31] = (0x088C5B84u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); + aot_gpr_31 = (0x088C5B84u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C5B84u) goto L_088C5B84; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C5B84u) goto L_088C5B84; AOT_REGCACHE_SYNC_OUT(); return; L_088C5B84: aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_5 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x088C5B94u); + aot_gpr_31 = (0x088C5B94u); aot_gpr_6 = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 283u, 0x08B653C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C5B94u) goto L_088C5B94; AOT_REGCACHE_SYNC_OUT(); return; L_088C5B94: - ctx.gpr[31] = (0x088C5B9Cu); + aot_gpr_31 = (0x088C5B9Cu); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 542u, 0x08B59EE4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C5B9Cu) goto L_088C5B9C; AOT_REGCACHE_SYNC_OUT(); return; L_088C5B9C: - ctx.gpr[31] = (0x088C5BA4u); + aot_gpr_31 = (0x088C5BA4u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0162_entry, 162u, 75u, 0x08A8C7ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C5BA4u) goto L_088C5BA4; AOT_REGCACHE_SYNC_OUT(); return; @@ -4376,9 +4377,9 @@ L_088C5BD0: L_088C5BE0: aot_gpr_4 = (2236u << 16u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); - ctx.gpr[31] = (0x088C5BF0u); + aot_gpr_31 = (0x088C5BF0u); aot_gpr_4 = (aot_gpr_4 + static_cast(25856)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C5BF0u) goto L_088C5BF0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C5BF0u) goto L_088C5BF0; AOT_REGCACHE_SYNC_OUT(); return; L_088C5BF0: { const bool branch_taken = 0u == 0u; @@ -4401,19 +4402,19 @@ L_088C5BF8: } L_088C5C0C: aot_gpr_16 = (ctx.gpr[28] + static_cast(-23788)); - ctx.gpr[31] = (0x088C5C18u); + aot_gpr_31 = (0x088C5C18u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C5C18u) goto L_088C5C18; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C5C18u) goto L_088C5C18; AOT_REGCACHE_SYNC_OUT(); return; L_088C5C18: aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_5 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x088C5C28u); + aot_gpr_31 = (0x088C5C28u); aot_gpr_6 = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 319u, 0x08B655B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C5C28u) goto L_088C5C28; AOT_REGCACHE_SYNC_OUT(); return; L_088C5C28: - ctx.gpr[31] = (0x088C5C30u); + aot_gpr_31 = (0x088C5C30u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0162_entry, 162u, 75u, 0x08A8C7ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C5C30u) goto L_088C5C30; AOT_REGCACHE_SYNC_OUT(); return; @@ -4453,9 +4454,9 @@ L_088C5C5C: L_088C5C6C: aot_gpr_4 = (2236u << 16u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); - ctx.gpr[31] = (0x088C5C7Cu); + aot_gpr_31 = (0x088C5C7Cu); aot_gpr_4 = (aot_gpr_4 + static_cast(25856)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C5C7Cu) goto L_088C5C7C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C5C7Cu) goto L_088C5C7C; AOT_REGCACHE_SYNC_OUT(); return; L_088C5C7C: { const bool branch_taken = 0u == 0u; @@ -4490,17 +4491,17 @@ L_088C5C98: L_088C5CAC: aot_gpr_4 = (2236u << 16u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); - ctx.gpr[31] = (0x088C5CBCu); + aot_gpr_31 = (0x088C5CBCu); aot_gpr_4 = (aot_gpr_4 + static_cast(25856)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C5CBCu) goto L_088C5CBC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C5CBCu) goto L_088C5CBC; AOT_REGCACHE_SYNC_OUT(); return; L_088C5CBC: ctx.gpr[2] = (aot_gpr_16 | 0u); goto L_088C5CC0; L_088C5CC0: aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -4516,7 +4517,7 @@ L_088C5CD0: ctx.execute_vfpu_unary_ct<1u, 64u, 1u, 18u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<1u>()); ctx.fpr[0] = std::bit_cast(aot_gpr_4); - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; // nop local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -4534,11 +4535,11 @@ L_088C5CF4: ctx.gpr[8] = (static_cast(aot_gpr_4) < 20 ? 1u : 0u); ctx.gpr[7] = (0u - aot_gpr_6); aot_gpr_4 = (aot_gpr_6 << 4u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_19); - aot_gpr_19 = (aot_gpr_5 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[19]); + ctx.gpr[19] = (aot_gpr_5 | 0u); aot_gpr_4 = (ctx.gpr[7] + aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); { const bool branch_taken = ctx.gpr[8] == 0u; aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); if (branch_taken) { @@ -4566,7 +4567,7 @@ L_088C5D5C: aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); aot_gpr_5 = (aot_gpr_16 + aot_gpr_5); ctx.gpr[17] = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(1939))); - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_19 + static_cast(36))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[19] + static_cast(36))); ctx.gpr[18] = (ctx.gpr[17] << 4u); aot_gpr_6 = (ctx.gpr[18] + ctx.gpr[18]); ctx.gpr[18] = (ctx.gpr[18] + aot_gpr_6); @@ -4582,19 +4583,19 @@ L_088C5D5C: } L_088C5D94: aot_gpr_4 = (aot_gpr_4 + ctx.gpr[18]); - aot_gpr_5 = (aot_gpr_19 | 0u); - ctx.gpr[31] = (0x088C5DA4u); + aot_gpr_5 = (ctx.gpr[19] | 0u); + aot_gpr_31 = (0x088C5DA4u); aot_gpr_6 = (0u | 48u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C5DA4u) goto L_088C5DA4; AOT_REGCACHE_SYNC_OUT(); return; L_088C5DA4: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1962))); - aot_gpr_19 = (0u | 0u); + ctx.gpr[19] = (0u | 0u); aot_gpr_5 = (aot_gpr_4 << 4u); aot_gpr_6 = (aot_gpr_4 << 2u); aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); aot_gpr_5 = (aot_gpr_16 + aot_gpr_5); - ctx.gpr[7] = (static_cast(aot_gpr_19) < static_cast(ctx.gpr[17]) ? 1u : 0u); + ctx.gpr[7] = (static_cast(ctx.gpr[19]) < static_cast(ctx.gpr[17]) ? 1u : 0u); { const bool branch_taken = ctx.gpr[7] != 0u; aot_gpr_6 = (aot_gpr_5 | 0u); if (branch_taken) { @@ -4646,8 +4647,8 @@ L_088C5E18: aot_gpr_4 = (aot_gpr_6 + static_cast(1921)); ctx.gpr[7] = (0u | 19u); aot_gpr_5 = (aot_gpr_6 + static_cast(1920)); - ctx.gpr[31] = (0x088C5E2Cu); - aot_gpr_6 = (ctx.gpr[7] - aot_gpr_19); + aot_gpr_31 = (0x088C5E2Cu); + aot_gpr_6 = (ctx.gpr[7] - ctx.gpr[19]); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 164u, 0x08AF54A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C5E2Cu) goto L_088C5E2C; AOT_REGCACHE_SYNC_OUT(); return; L_088C5E2C: @@ -4657,18 +4658,18 @@ L_088C5E2C: aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_6 = (aot_gpr_16 + aot_gpr_4); { const bool branch_taken = 0u == 0u; - aot_gpr_6 = (aot_gpr_6 + aot_gpr_19); + aot_gpr_6 = (aot_gpr_6 + ctx.gpr[19]); if (branch_taken) { goto L_088C5E5C; } goto L_088C5E48; } L_088C5E48: - aot_gpr_19 = (aot_gpr_19 + static_cast(1)); - aot_gpr_19 = (aot_gpr_19 & 255u); - ctx.gpr[8] = (static_cast(aot_gpr_19) < static_cast(ctx.gpr[17]) ? 1u : 0u); + ctx.gpr[19] = (ctx.gpr[19] + static_cast(1)); + ctx.gpr[19] = (ctx.gpr[19] & 255u); + ctx.gpr[8] = (static_cast(ctx.gpr[19]) < static_cast(ctx.gpr[17]) ? 1u : 0u); { const bool branch_taken = ctx.gpr[8] != 0u; - aot_gpr_6 = (aot_gpr_5 + aot_gpr_19); + aot_gpr_6 = (aot_gpr_5 + ctx.gpr[19]); if (branch_taken) { goto L_088C5DF4; } @@ -4683,10 +4684,10 @@ L_088C5E60: aot_gpr_16 = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; - aot_gpr_19 = aot_run_words[3]; - ctx.gpr[31] = aot_run_words[4]; + ctx.gpr[19] = aot_run_words[3]; + aot_gpr_31 = aot_run_words[4]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -4699,7 +4700,7 @@ L_088C5E7C: aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(21256))); aot_gpr_4 = (0u | 0u); aot_gpr_6 = (aot_gpr_4 < aot_gpr_6 ? 1u : 0u); - { const std::uint32_t aot_run_words[3]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(4), aot_run_words); } { const bool branch_taken = aot_gpr_6 == 0u; ctx.gpr[17] = (ctx.gpr[28] + static_cast(7696)); @@ -4764,7 +4765,7 @@ L_088C5F1C: goto L_088C5F20; L_088C5F20: aot_gpr_5 = (ctx.gpr[18] & 255u); - ctx.gpr[31] = (0x088C5F2Cu); + aot_gpr_31 = (0x088C5F2Cu); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 435u, 0x088CA378u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C5F2Cu) goto L_088C5F2C; AOT_REGCACHE_SYNC_OUT(); return; @@ -4791,7 +4792,7 @@ L_088C5F44: } L_088C5F50: aot_gpr_4 = (ctx.gpr[17] | 0u); - ctx.gpr[31] = (0x088C5F5Cu); + aot_gpr_31 = (0x088C5F5Cu); aot_gpr_5 = (0u | 18u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 550u, 0x0880A680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C5F5Cu) goto L_088C5F5C; AOT_REGCACHE_SYNC_OUT(); return; @@ -4805,7 +4806,7 @@ L_088C5F5C: } L_088C5F64: aot_gpr_4 = (ctx.gpr[17] | 0u); - ctx.gpr[31] = (0x088C5F70u); + aot_gpr_31 = (0x088C5F70u); aot_gpr_5 = (0u | 21u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 550u, 0x0880A680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C5F70u) goto L_088C5F70; AOT_REGCACHE_SYNC_OUT(); return; @@ -4815,9 +4816,9 @@ L_088C5F70: aot_gpr_16 = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; - ctx.gpr[31] = aot_run_words[3]; + aot_gpr_31 = aot_run_words[3]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -4853,7 +4854,7 @@ L_088C5F88: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(80), ctx.gpr[10]); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(61), static_cast(0u)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(92), static_cast(ctx.gpr[10])); - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(113), static_cast(ctx.gpr[10])); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -4903,7 +4904,7 @@ L_088C6060: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(80), aot_gpr_5); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(61), static_cast(0u)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(92), static_cast(aot_gpr_5)); - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(113), static_cast(aot_gpr_5)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -4925,7 +4926,7 @@ L_088C608C: aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(0), static_cast(aot_gpr_4)); goto L_088C609C; L_088C609C: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; // nop local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -4938,8 +4939,8 @@ L_088C60A4: aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_5 = (0u | 2u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[31]); - ctx.gpr[31] = (0x088C60C8u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); + aot_gpr_31 = (0x088C60C8u); aot_gpr_6 = (aot_gpr_6 + static_cast(14864)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 508u, 0x089B6FC8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C60C8u) goto L_088C60C8; AOT_REGCACHE_SYNC_OUT(); return; @@ -4956,14 +4957,14 @@ L_088C60C8: L_088C60D8: aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x088C60E8u); + aot_gpr_31 = (0x088C60E8u); aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 568u, 0x089B7348u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C60E8u) goto L_088C60E8; AOT_REGCACHE_SYNC_OUT(); return; L_088C60E8: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 6u); - ctx.gpr[31] = (0x088C60F8u); + aot_gpr_31 = (0x088C60F8u); aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 508u, 0x089B6FC8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C60F8u) goto L_088C60F8; AOT_REGCACHE_SYNC_OUT(); return; @@ -4979,14 +4980,14 @@ L_088C60F8: L_088C6104: aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x088C6114u); + aot_gpr_31 = (0x088C6114u); aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 568u, 0x089B7348u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C6114u) goto L_088C6114; AOT_REGCACHE_SYNC_OUT(); return; L_088C6114: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 7u); - ctx.gpr[31] = (0x088C6124u); + aot_gpr_31 = (0x088C6124u); aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 508u, 0x089B6FC8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C6124u) goto L_088C6124; AOT_REGCACHE_SYNC_OUT(); return; @@ -5002,14 +5003,14 @@ L_088C6124: L_088C6130: aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x088C6140u); + aot_gpr_31 = (0x088C6140u); aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 568u, 0x089B7348u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C6140u) goto L_088C6140; AOT_REGCACHE_SYNC_OUT(); return; L_088C6140: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 8u); - ctx.gpr[31] = (0x088C6150u); + aot_gpr_31 = (0x088C6150u); aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 508u, 0x089B6FC8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C6150u) goto L_088C6150; AOT_REGCACHE_SYNC_OUT(); return; @@ -5025,14 +5026,14 @@ L_088C6150: L_088C615C: aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x088C616Cu); + aot_gpr_31 = (0x088C616Cu); aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 568u, 0x089B7348u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C616Cu) goto L_088C616C; AOT_REGCACHE_SYNC_OUT(); return; L_088C616C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 11u); - ctx.gpr[31] = (0x088C617Cu); + aot_gpr_31 = (0x088C617Cu); aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 508u, 0x089B6FC8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C617Cu) goto L_088C617C; AOT_REGCACHE_SYNC_OUT(); return; @@ -5048,14 +5049,14 @@ L_088C617C: L_088C6188: aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x088C6198u); + aot_gpr_31 = (0x088C6198u); aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 568u, 0x089B7348u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C6198u) goto L_088C6198; AOT_REGCACHE_SYNC_OUT(); return; L_088C6198: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 14u); - ctx.gpr[31] = (0x088C61A8u); + aot_gpr_31 = (0x088C61A8u); aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 508u, 0x089B6FC8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C61A8u) goto L_088C61A8; AOT_REGCACHE_SYNC_OUT(); return; @@ -5071,14 +5072,14 @@ L_088C61A8: L_088C61B4: aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x088C61C4u); + aot_gpr_31 = (0x088C61C4u); aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 568u, 0x089B7348u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C61C4u) goto L_088C61C4; AOT_REGCACHE_SYNC_OUT(); return; L_088C61C4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 12u); - ctx.gpr[31] = (0x088C61D4u); + aot_gpr_31 = (0x088C61D4u); aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 508u, 0x089B6FC8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C61D4u) goto L_088C61D4; AOT_REGCACHE_SYNC_OUT(); return; @@ -5094,14 +5095,14 @@ L_088C61D4: L_088C61E0: aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x088C61F0u); + aot_gpr_31 = (0x088C61F0u); aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 568u, 0x089B7348u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C61F0u) goto L_088C61F0; AOT_REGCACHE_SYNC_OUT(); return; L_088C61F0: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 5u); - ctx.gpr[31] = (0x088C6200u); + aot_gpr_31 = (0x088C6200u); aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 508u, 0x089B6FC8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C6200u) goto L_088C6200; AOT_REGCACHE_SYNC_OUT(); return; @@ -5117,7 +5118,7 @@ L_088C6200: L_088C620C: aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x088C621Cu); + aot_gpr_31 = (0x088C621Cu); aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 568u, 0x089B7348u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C621Cu) goto L_088C621C; AOT_REGCACHE_SYNC_OUT(); return; @@ -5151,7 +5152,7 @@ L_088C6228: } L_088C626C: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); - ctx.gpr[31] = (0x088C6278u); + aot_gpr_31 = (0x088C6278u); aot_gpr_4 = (aot_gpr_16 | 0u); goto L_088C5E7C; L_088C6278: @@ -5162,9 +5163,9 @@ L_088C6278: aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; - ctx.gpr[31] = aot_run_words[2]; + aot_gpr_31 = aot_run_words[2]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -5175,7 +5176,7 @@ L_088C6298: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(26152))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); { const bool branch_taken = static_cast(aot_gpr_4) < 0; // nop if (branch_taken) { @@ -5185,7 +5186,7 @@ L_088C6298: } L_088C62B4: aot_gpr_5 = (aot_gpr_4 | 0u); - ctx.gpr[31] = (0x088C62C0u); + aot_gpr_31 = (0x088C62C0u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 522u, 0x089B7090u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C62C0u) goto L_088C62C0; AOT_REGCACHE_SYNC_OUT(); return; @@ -5204,7 +5205,7 @@ L_088C62C8: } L_088C62D4: aot_gpr_5 = (aot_gpr_4 | 0u); - ctx.gpr[31] = (0x088C62E0u); + aot_gpr_31 = (0x088C62E0u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 522u, 0x089B7090u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C62E0u) goto L_088C62E0; AOT_REGCACHE_SYNC_OUT(); return; @@ -5223,7 +5224,7 @@ L_088C62E8: } L_088C62F4: aot_gpr_5 = (aot_gpr_4 | 0u); - ctx.gpr[31] = (0x088C6300u); + aot_gpr_31 = (0x088C6300u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 522u, 0x089B7090u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C6300u) goto L_088C6300; AOT_REGCACHE_SYNC_OUT(); return; @@ -5242,7 +5243,7 @@ L_088C6308: } L_088C6314: aot_gpr_5 = (aot_gpr_4 | 0u); - ctx.gpr[31] = (0x088C6320u); + aot_gpr_31 = (0x088C6320u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 522u, 0x089B7090u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C6320u) goto L_088C6320; AOT_REGCACHE_SYNC_OUT(); return; @@ -5261,7 +5262,7 @@ L_088C6328: } L_088C6334: aot_gpr_5 = (aot_gpr_4 | 0u); - ctx.gpr[31] = (0x088C6340u); + aot_gpr_31 = (0x088C6340u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 522u, 0x089B7090u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C6340u) goto L_088C6340; AOT_REGCACHE_SYNC_OUT(); return; @@ -5280,7 +5281,7 @@ L_088C6348: } L_088C6354: aot_gpr_5 = (aot_gpr_4 | 0u); - ctx.gpr[31] = (0x088C6360u); + aot_gpr_31 = (0x088C6360u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 522u, 0x089B7090u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C6360u) goto L_088C6360; AOT_REGCACHE_SYNC_OUT(); return; @@ -5299,7 +5300,7 @@ L_088C6368: } L_088C6374: aot_gpr_5 = (aot_gpr_4 | 0u); - ctx.gpr[31] = (0x088C6380u); + aot_gpr_31 = (0x088C6380u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 522u, 0x089B7090u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C6380u) goto L_088C6380; AOT_REGCACHE_SYNC_OUT(); return; @@ -5318,7 +5319,7 @@ L_088C6388: } L_088C6394: aot_gpr_5 = (aot_gpr_4 | 0u); - ctx.gpr[31] = (0x088C63A0u); + aot_gpr_31 = (0x088C63A0u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 522u, 0x089B7090u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C63A0u) goto L_088C63A0; AOT_REGCACHE_SYNC_OUT(); return; @@ -5328,15 +5329,15 @@ L_088C63A0: goto L_088C63A8; L_088C63A8: aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_088C63B8: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; // nop local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -5345,13 +5346,13 @@ L_088C63B8: L_088C63C0: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[31]); - ctx.gpr[31] = (0x088C63D4u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); + aot_gpr_31 = (0x088C63D4u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C63D4u) goto L_088C63D4; AOT_REGCACHE_SYNC_OUT(); return; L_088C63D4: - ctx.gpr[31] = (0x088C63DCu); + aot_gpr_31 = (0x088C63DCu); aot_gpr_16 = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C63DCu) goto L_088C63DC; AOT_REGCACHE_SYNC_OUT(); return; @@ -5399,8 +5400,8 @@ L_088C6414: L_088C6418: ctx.gpr[2] = (aot_gpr_16 | 0u); aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -5415,7 +5416,7 @@ L_088C642C: aot_gpr_6 = (aot_gpr_4 + aot_gpr_6); ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_6 + static_cast(6265))); aot_gpr_5 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); { const bool branch_taken = ctx.gpr[8] == 0u; aot_gpr_4 = (ctx.gpr[7] | 0u); if (branch_taken) { @@ -5456,7 +5457,7 @@ L_088C6480: L_088C648C: aot_gpr_6 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_5 | 0u); - ctx.gpr[31] = (0x088C649Cu); + aot_gpr_31 = (0x088C649Cu); aot_gpr_5 = (aot_gpr_6 | 0u); goto L_088C6600; L_088C649C: @@ -5479,7 +5480,7 @@ L_088C64A4: L_088C64B0: aot_gpr_6 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_5 | 0u); - ctx.gpr[31] = (0x088C64C0u); + aot_gpr_31 = (0x088C64C0u); aot_gpr_5 = (aot_gpr_6 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0053_entry, 53u, 127u, 0x088D85BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C64C0u) goto L_088C64C0; AOT_REGCACHE_SYNC_OUT(); return; @@ -5503,7 +5504,7 @@ L_088C64C8: L_088C64D4: aot_gpr_6 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_5 | 0u); - ctx.gpr[31] = (0x088C64E4u); + aot_gpr_31 = (0x088C64E4u); aot_gpr_5 = (aot_gpr_6 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0053_entry, 53u, 155u, 0x088D8878u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C64E4u) goto L_088C64E4; AOT_REGCACHE_SYNC_OUT(); return; @@ -5527,7 +5528,7 @@ L_088C64EC: L_088C64F8: aot_gpr_6 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_5 | 0u); - ctx.gpr[31] = (0x088C6508u); + aot_gpr_31 = (0x088C6508u); aot_gpr_5 = (aot_gpr_6 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 326u, 0x088C99ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C6508u) goto L_088C6508; AOT_REGCACHE_SYNC_OUT(); return; @@ -5568,7 +5569,7 @@ L_088C6528: L_088C6530: aot_gpr_6 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_5 | 0u); - ctx.gpr[31] = (0x088C6540u); + aot_gpr_31 = (0x088C6540u); aot_gpr_5 = (aot_gpr_6 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0053_entry, 53u, 326u, 0x088DA180u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C6540u) goto L_088C6540; AOT_REGCACHE_SYNC_OUT(); return; @@ -5581,7 +5582,7 @@ L_088C6540: goto L_088C6548; } L_088C6548: - ctx.gpr[31] = (0x088C6550u); + aot_gpr_31 = (0x088C6550u); aot_gpr_4 = (aot_gpr_5 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0053_entry, 53u, 421u, 0x088DAA78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C6550u) goto L_088C6550; AOT_REGCACHE_SYNC_OUT(); return; @@ -5603,7 +5604,7 @@ L_088C6558: goto L_088C6564; } L_088C6564: - ctx.gpr[31] = (0x088C656Cu); + aot_gpr_31 = (0x088C656Cu); aot_gpr_4 = (aot_gpr_5 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0053_entry, 53u, 507u, 0x088DB134u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C656Cu) goto L_088C656C; AOT_REGCACHE_SYNC_OUT(); return; @@ -5625,7 +5626,7 @@ L_088C6574: goto L_088C6580; } L_088C6580: - ctx.gpr[31] = (0x088C6588u); + aot_gpr_31 = (0x088C6588u); aot_gpr_4 = (aot_gpr_5 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 342u, 0x088C9B5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C6588u) goto L_088C6588; AOT_REGCACHE_SYNC_OUT(); return; @@ -5655,7 +5656,7 @@ L_088C6598: goto L_088C65A4; } L_088C65A4: - ctx.gpr[31] = (0x088C65ACu); + aot_gpr_31 = (0x088C65ACu); aot_gpr_4 = (aot_gpr_5 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0053_entry, 53u, 366u, 0x088DA5A0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C65ACu) goto L_088C65AC; AOT_REGCACHE_SYNC_OUT(); return; @@ -5677,7 +5678,7 @@ L_088C65B4: goto L_088C65C0; } L_088C65C0: - ctx.gpr[31] = (0x088C65C8u); + aot_gpr_31 = (0x088C65C8u); aot_gpr_4 = (aot_gpr_5 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 335u, 0x088C9A4Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C65C8u) goto L_088C65C8; AOT_REGCACHE_SYNC_OUT(); return; @@ -5701,7 +5702,7 @@ L_088C65D0: L_088C65DC: aot_gpr_6 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_5 | 0u); - ctx.gpr[31] = (0x088C65ECu); + aot_gpr_31 = (0x088C65ECu); aot_gpr_5 = (aot_gpr_6 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 317u, 0x088C9818u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C65ECu) goto L_088C65EC; AOT_REGCACHE_SYNC_OUT(); return; @@ -5714,8 +5715,8 @@ L_088C65EC: goto L_088C65F4; } L_088C65F4: - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -5728,7 +5729,7 @@ L_088C6600: aot_gpr_5 = (aot_gpr_6 - aot_gpr_5); aot_gpr_5 = (aot_gpr_4 + aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(6260))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); { const bool branch_taken = aot_gpr_5 == 0u; // nop if (branch_taken) { @@ -5766,7 +5767,7 @@ L_088C6648: goto L_088C6650; } L_088C6650: - ctx.gpr[31] = (0x088C6658u); + aot_gpr_31 = (0x088C6658u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 617u, 0x088CB124u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C6658u) goto L_088C6658; AOT_REGCACHE_SYNC_OUT(); return; @@ -5795,7 +5796,7 @@ L_088C6668: goto L_088C6670; } L_088C6670: - ctx.gpr[31] = (0x088C6678u); + aot_gpr_31 = (0x088C6678u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 177u, 0x088C9078u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C6678u) goto L_088C6678; AOT_REGCACHE_SYNC_OUT(); return; @@ -5821,7 +5822,7 @@ L_088C6680: goto L_088C669C; } L_088C669C: - ctx.gpr[31] = (0x088C66A4u); + aot_gpr_31 = (0x088C66A4u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0156_entry, 156u, 395u, 0x08A75DA4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C66A4u) goto L_088C66A4; AOT_REGCACHE_SYNC_OUT(); return; @@ -5834,7 +5835,7 @@ L_088C66A4: goto L_088C66AC; } L_088C66AC: - ctx.gpr[31] = (0x088C66B4u); + aot_gpr_31 = (0x088C66B4u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 180u, 0x088C90E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C66B4u) goto L_088C66B4; AOT_REGCACHE_SYNC_OUT(); return; @@ -5847,8 +5848,8 @@ L_088C66B4: goto L_088C66BC; } L_088C66BC: - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -5864,7 +5865,7 @@ L_088C66C8: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), std::bit_cast(aot_fpr_20)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); aot_gpr_16 = (aot_gpr_5 | 0u); if (branch_taken) { @@ -5887,7 +5888,7 @@ L_088C66F8: goto L_088C6718; } L_088C6718: - ctx.gpr[31] = (0x088C6720u); + aot_gpr_31 = (0x088C6720u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0170_entry, 170u, 538u, 0x08AAE9C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C6720u) goto L_088C6720; AOT_REGCACHE_SYNC_OUT(); return; @@ -5898,7 +5899,7 @@ L_088C6720: } goto L_088C6728; L_088C6728: - ctx.gpr[31] = (0x088C6730u); + aot_gpr_31 = (0x088C6730u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0170_entry, 170u, 542u, 0x08AAE9E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C6730u) goto L_088C6730; AOT_REGCACHE_SYNC_OUT(); return; @@ -5931,7 +5932,7 @@ L_088C675C: aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(696), static_cast(0u)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); aot_gpr_5 = (aot_gpr_16 + static_cast(4)); - ctx.gpr[31] = (0x088C6770u); + aot_gpr_31 = (0x088C6770u); aot_gpr_4 = (ctx.gpr[17] | 0u); goto L_088C6080; L_088C6770: @@ -5946,7 +5947,7 @@ L_088C6770: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(76))); aot_gpr_5 = (std::bit_cast(aot_fpr_14)); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); - ctx.gpr[31] = (0x088C67A4u); + aot_gpr_31 = (0x088C67A4u); aot_gpr_5 = (aot_gpr_5 & 255u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0109_entry, 109u, 21u, 0x089B8190u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C67A4u) goto L_088C67A4; AOT_REGCACHE_SYNC_OUT(); return; @@ -6014,7 +6015,7 @@ L_088C67F8: aot_gpr_5 = (0u | 0u); aot_gpr_6 = (ctx.hi); aot_gpr_6 = (aot_gpr_6 + static_cast(28000)); - ctx.gpr[31] = (0x088C6854u); + aot_gpr_31 = (0x088C6854u); aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(68), aot_gpr_6); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 703u, 0x089B7B80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C6854u) goto L_088C6854; AOT_REGCACHE_SYNC_OUT(); return; @@ -6024,9 +6025,9 @@ L_088C6854: aot_fpr_20 = std::bit_cast(aot_run_words[0]); aot_gpr_16 = aot_run_words[1]; ctx.gpr[17] = aot_run_words[2]; - ctx.gpr[31] = aot_run_words[3]; + aot_gpr_31 = aot_run_words[3]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -6042,7 +6043,7 @@ L_088C686C: aot_gpr_16 = (aot_gpr_4 | 0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), std::bit_cast(aot_fpr_20)); - { const std::uint32_t aot_run_words[6]{ctx.gpr[17], ctx.gpr[18], aot_gpr_19, ctx.gpr[20], ctx.gpr[21], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[6]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(28), aot_run_words); } { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); ctx.gpr[17] = (aot_gpr_5 | 0u); @@ -6053,7 +6054,7 @@ L_088C686C: } L_088C68B0: aot_gpr_4 = (ctx.gpr[28] + static_cast(7696)); - ctx.gpr[31] = (0x088C68BCu); + aot_gpr_31 = (0x088C68BCu); aot_gpr_5 = (0u | 18u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 481u, 0x0880A288u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C68BCu) goto L_088C68BC; AOT_REGCACHE_SYNC_OUT(); return; @@ -6067,7 +6068,7 @@ L_088C68BC: goto L_088C68C8; } L_088C68C8: - ctx.gpr[31] = (0x088C68D0u); + aot_gpr_31 = (0x088C68D0u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C68D0u) goto L_088C68D0; AOT_REGCACHE_SYNC_OUT(); return; @@ -6135,19 +6136,19 @@ L_088C692C: L_088C6934: aot_gpr_4 = (2238u << 16u); ctx.gpr[21] = (aot_gpr_4 + static_cast(-6640)); - ctx.gpr[31] = (0x088C6944u); + aot_gpr_31 = (0x088C6944u); aot_gpr_4 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0098_entry, 98u, 430u, 0x0898D2D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C6944u) goto L_088C6944; AOT_REGCACHE_SYNC_OUT(); return; L_088C6944: - aot_gpr_19 = (ctx.gpr[2] & 65535u); - ctx.gpr[31] = (0x088C6950u); + ctx.gpr[19] = (ctx.gpr[2] & 65535u); + aot_gpr_31 = (0x088C6950u); aot_gpr_4 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0098_entry, 98u, 388u, 0x0898D140u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C6950u) goto L_088C6950; AOT_REGCACHE_SYNC_OUT(); return; L_088C6950: ctx.gpr[20] = (ctx.gpr[2] & 65535u); - ctx.gpr[31] = (0x088C695Cu); + aot_gpr_31 = (0x088C695Cu); aot_gpr_4 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0098_entry, 98u, 90u, 0x0898C3A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C695Cu) goto L_088C695C; AOT_REGCACHE_SYNC_OUT(); return; @@ -6167,9 +6168,9 @@ L_088C6968: goto L_088C6974; L_088C6974: aot_gpr_4 = (aot_gpr_4 << 1u); - aot_gpr_5 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_19) ? 1u : 0u); + aot_gpr_5 = (static_cast(aot_gpr_4) < static_cast(ctx.gpr[19]) ? 1u : 0u); if (aot_gpr_5 != 0u) { - aot_gpr_4 = (aot_gpr_19 | 0u); + aot_gpr_4 = (ctx.gpr[19] | 0u); goto L_088C6984; } goto L_088C6984; @@ -6207,9 +6208,9 @@ L_088C69C4: goto L_088C69D4; L_088C69D4: aot_gpr_4 = (aot_gpr_5 << 2u); - aot_gpr_19 = (aot_gpr_5 + aot_gpr_4); + ctx.gpr[19] = (aot_gpr_5 + aot_gpr_4); { const bool branch_taken = ctx.gpr[18] == 0u; - aot_gpr_19 = (aot_gpr_19 + static_cast(22050)); + ctx.gpr[19] = (ctx.gpr[19] + static_cast(22050)); if (branch_taken) { goto L_088C6A20; } @@ -6217,7 +6218,7 @@ L_088C69D4: } L_088C69E4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23780))); - aot_gpr_5 = (aot_gpr_4 < aot_gpr_19 ? 1u : 0u); + aot_gpr_5 = (aot_gpr_4 < ctx.gpr[19] ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; // nop if (branch_taken) { @@ -6227,15 +6228,15 @@ L_088C69E4: } L_088C69F4: aot_gpr_4 = (aot_gpr_4 + static_cast(30)); - aot_gpr_5 = (aot_gpr_19 < aot_gpr_4 ? 1u : 0u); + aot_gpr_5 = (ctx.gpr[19] < aot_gpr_4 ? 1u : 0u); if (aot_gpr_5 != 0u) { - aot_gpr_4 = (aot_gpr_19 | 0u); + aot_gpr_4 = (ctx.gpr[19] | 0u); goto L_088C6A04; } goto L_088C6A04; L_088C6A04: { const bool branch_taken = 0u == 0u; - aot_gpr_19 = (aot_gpr_4 | 0u); + ctx.gpr[19] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_088C6A20; } @@ -6243,25 +6244,25 @@ L_088C6A04: } L_088C6A0C: aot_gpr_4 = (aot_gpr_4 + static_cast(-30)); - aot_gpr_5 = (aot_gpr_4 < aot_gpr_19 ? 1u : 0u); + aot_gpr_5 = (aot_gpr_4 < ctx.gpr[19] ? 1u : 0u); if (aot_gpr_5 != 0u) { - aot_gpr_4 = (aot_gpr_19 | 0u); + aot_gpr_4 = (ctx.gpr[19] | 0u); goto L_088C6A1C; } goto L_088C6A1C; L_088C6A1C: - aot_gpr_19 = (aot_gpr_4 | 0u); + ctx.gpr[19] = (aot_gpr_4 | 0u); goto L_088C6A20; L_088C6A20: aot_gpr_5 = (ctx.gpr[17] + static_cast(4)); - ctx.gpr[31] = (0x088C6A2Cu); + aot_gpr_31 = (0x088C6A2Cu); aot_gpr_4 = (aot_gpr_16 | 0u); goto L_088C6080; L_088C6A2C: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(76))); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x088C6A40u); + aot_gpr_31 = (0x088C6A40u); aot_gpr_5 = (0u | 70u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0109_entry, 109u, 21u, 0x089B8190u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C6A40u) goto L_088C6A40; AOT_REGCACHE_SYNC_OUT(); return; @@ -6284,7 +6285,7 @@ L_088C6A50: aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(61), static_cast(0u)); aot_gpr_4 = (0u | 3u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_19); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), ctx.gpr[19]); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(80), 0u); aot_gpr_4 = (16448u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); @@ -6296,7 +6297,7 @@ L_088C6A50: aot_gpr_4 = (2237u << 16u); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(113), static_cast(0u)); aot_gpr_5 = (0u | 0u); - ctx.gpr[31] = (0x088C6AA8u); + aot_gpr_31 = (0x088C6AA8u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28320)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 703u, 0x089B7B80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C6AA8u) goto L_088C6AA8; AOT_REGCACHE_SYNC_OUT(); return; @@ -6309,7 +6310,7 @@ L_088C6AA8: goto L_088C6AB0; } L_088C6AB0: - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-23780), aot_gpr_19); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-23780), ctx.gpr[19]); goto L_088C6AB4; L_088C6AB4: { std::uint32_t aot_run_words[8]{}; @@ -6318,12 +6319,12 @@ L_088C6AB4: aot_gpr_16 = aot_run_words[1]; ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; - aot_gpr_19 = aot_run_words[4]; + ctx.gpr[19] = aot_run_words[4]; ctx.gpr[20] = aot_run_words[5]; ctx.gpr[21] = aot_run_words[6]; - ctx.gpr[31] = aot_run_words[7]; + aot_gpr_31 = aot_run_words[7]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(64)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -6340,7 +6341,7 @@ L_088C6ADC: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[24] < aot_fpr_12)) ? 0x00800000u : 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), std::bit_cast(aot_fpr_20)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), std::bit_cast(ctx.fpr[22])); - { const std::uint32_t aot_run_words[3]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(16), aot_run_words); } { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); ctx.gpr[17] = (aot_gpr_5 | 0u); @@ -6410,7 +6411,7 @@ L_088C6B64: L_088C6B70: aot_gpr_5 = (ctx.gpr[17] + static_cast(4)); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[24])); - ctx.gpr[31] = (0x088C6B80u); + aot_gpr_31 = (0x088C6B80u); aot_gpr_4 = (aot_gpr_16 | 0u); goto L_088C6080; L_088C6B80: @@ -6477,7 +6478,7 @@ L_088C6BE8: aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[24])); aot_fpr_14 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_14)); aot_gpr_5 = (std::bit_cast(aot_fpr_14)); - ctx.gpr[31] = (0x088C6C0Cu); + aot_gpr_31 = (0x088C6C0Cu); aot_gpr_5 = (aot_gpr_5 & 255u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0109_entry, 109u, 21u, 0x089B8190u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C6C0Cu) goto L_088C6C0C; AOT_REGCACHE_SYNC_OUT(); return; @@ -6568,7 +6569,7 @@ L_088C6CAC: aot_gpr_4 = (2237u << 16u); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(113), static_cast(0u)); aot_gpr_5 = (0u | 0u); - ctx.gpr[31] = (0x088C6CE4u); + aot_gpr_31 = (0x088C6CE4u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28320)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 703u, 0x089B7B80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C6CE4u) goto L_088C6CE4; AOT_REGCACHE_SYNC_OUT(); return; @@ -6592,9 +6593,9 @@ L_088C6CF0: aot_gpr_16 = aot_run_words[3]; ctx.gpr[17] = aot_run_words[4]; ctx.gpr[18] = aot_run_words[5]; - ctx.gpr[31] = aot_run_words[6]; + aot_gpr_31 = aot_run_words[6]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -6608,7 +6609,7 @@ L_088C6D14: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), std::bit_cast(aot_fpr_20)); aot_fpr_20 = std::bit_cast(aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_16); - { const std::uint32_t aot_run_words[5]{ctx.gpr[18], aot_gpr_19, ctx.gpr[20], ctx.gpr[21], ctx.gpr[22]}; + { const std::uint32_t aot_run_words[5]{ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(12), aot_run_words); } aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); ctx.gpr[18] = (aot_gpr_4 | 0u); @@ -6617,9 +6618,9 @@ L_088C6D14: aot_gpr_5 = (aot_gpr_5 & 255u); ctx.gpr[21] = (ctx.gpr[8] & 255u); ctx.gpr[20] = (ctx.gpr[9] & 255u); - aot_gpr_19 = (ctx.gpr[10] & 255u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), ctx.gpr[31]); - ctx.gpr[31] = (0x088C6D70u); + ctx.gpr[19] = (ctx.gpr[10] & 255u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), aot_gpr_31); + aot_gpr_31 = (0x088C6D70u); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(76))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0109_entry, 109u, 21u, 0x089B8190u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C6D70u) goto L_088C6D70; AOT_REGCACHE_SYNC_OUT(); return; @@ -6647,7 +6648,7 @@ L_088C6D98: aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(60), static_cast(ctx.gpr[21])); aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(61), static_cast(0u)); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(64), 0u); - { const bool branch_taken = aot_gpr_19 == 0u; + { const bool branch_taken = ctx.gpr[19] == 0u; aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(68), ctx.gpr[17]); if (branch_taken) { goto L_088C6DC4; @@ -6677,7 +6678,7 @@ L_088C6DCC: aot_gpr_4 = (2237u << 16u); aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(113), static_cast(0u)); aot_gpr_5 = (0u | 0u); - ctx.gpr[31] = (0x088C6DF4u); + aot_gpr_31 = (0x088C6DF4u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28320)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 703u, 0x089B7B80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C6DF4u) goto L_088C6DF4; AOT_REGCACHE_SYNC_OUT(); return; @@ -6688,13 +6689,13 @@ L_088C6DF4: aot_gpr_16 = aot_run_words[1]; ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; - aot_gpr_19 = aot_run_words[4]; + ctx.gpr[19] = aot_run_words[4]; ctx.gpr[20] = aot_run_words[5]; ctx.gpr[21] = aot_run_words[6]; ctx.gpr[22] = aot_run_words[7]; - ctx.gpr[31] = aot_run_words[8]; + aot_gpr_31 = aot_run_words[8]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(48)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -6711,7 +6712,7 @@ L_088C6E20: ctx.gpr[17] = (aot_gpr_4 | 0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_20 < aot_fpr_12)) ? 0x00800000u : 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); aot_gpr_16 = (aot_gpr_5 | 0u); if (branch_taken) { @@ -6722,7 +6723,7 @@ L_088C6E20: L_088C6E54: aot_gpr_5 = (aot_gpr_16 + static_cast(4)); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); - ctx.gpr[31] = (0x088C6E64u); + aot_gpr_31 = (0x088C6E64u); aot_gpr_4 = (ctx.gpr[17] | 0u); goto L_088C6080; L_088C6E64: @@ -6731,7 +6732,7 @@ L_088C6E64: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(76))); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); - ctx.gpr[31] = (0x088C6E80u); + aot_gpr_31 = (0x088C6E80u); aot_gpr_5 = (0u | 80u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0109_entry, 109u, 21u, 0x089B8190u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C6E80u) goto L_088C6E80; AOT_REGCACHE_SYNC_OUT(); return; @@ -6766,7 +6767,7 @@ L_088C6E90: aot_gpr_4 = (2237u << 16u); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(113), static_cast(0u)); aot_gpr_5 = (0u | 0u); - ctx.gpr[31] = (0x088C6EE8u); + aot_gpr_31 = (0x088C6EE8u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28320)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 703u, 0x089B7B80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C6EE8u) goto L_088C6EE8; AOT_REGCACHE_SYNC_OUT(); return; @@ -6790,7 +6791,7 @@ L_088C6F08: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(76))); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); - ctx.gpr[31] = (0x088C6F24u); + aot_gpr_31 = (0x088C6F24u); aot_gpr_5 = (0u | 80u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0109_entry, 109u, 21u, 0x089B8190u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C6F24u) goto L_088C6F24; AOT_REGCACHE_SYNC_OUT(); return; @@ -6825,7 +6826,7 @@ L_088C6F34: aot_gpr_4 = (2237u << 16u); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(113), static_cast(0u)); aot_gpr_5 = (0u | 0u); - ctx.gpr[31] = (0x088C6F8Cu); + aot_gpr_31 = (0x088C6F8Cu); aot_gpr_4 = (aot_gpr_4 + static_cast(-28320)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 703u, 0x089B7B80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C6F8Cu) goto L_088C6F8C; AOT_REGCACHE_SYNC_OUT(); return; @@ -6835,9 +6836,9 @@ L_088C6F8C: aot_fpr_20 = std::bit_cast(aot_run_words[0]); aot_gpr_16 = aot_run_words[1]; ctx.gpr[17] = aot_run_words[2]; - ctx.gpr[31] = aot_run_words[3]; + aot_gpr_31 = aot_run_words[3]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -6857,14 +6858,14 @@ L_088C6FB0: aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-23836), static_cast(aot_gpr_4)); goto L_088C6FB8; L_088C6FB8: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; // nop local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_088C6FC0: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; // nop local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -6881,7 +6882,7 @@ L_088C6FC8: aot_gpr_16 = (aot_gpr_4 | 0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_20 < aot_fpr_12)) ? 0x00800000u : 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[17]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); ctx.gpr[17] = (aot_gpr_5 | 0u); if (branch_taken) { @@ -6915,7 +6916,7 @@ L_088C7010: L_088C7028: aot_gpr_5 = (ctx.gpr[17] + static_cast(4)); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); - ctx.gpr[31] = (0x088C7038u); + aot_gpr_31 = (0x088C7038u); aot_gpr_4 = (aot_gpr_16 | 0u); goto L_088C6080; L_088C7038: @@ -6945,7 +6946,7 @@ L_088C705C: aot_gpr_5 = (aot_gpr_4 | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(76))); - ctx.gpr[31] = (0x088C7070u); + aot_gpr_31 = (0x088C7070u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0109_entry, 109u, 21u, 0x089B8190u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C7070u) goto L_088C7070; AOT_REGCACHE_SYNC_OUT(); return; @@ -6968,9 +6969,9 @@ L_088C7080: aot_gpr_4 = (0u | 2u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), aot_gpr_4); aot_gpr_4 = (ctx.gpr[28] + static_cast(7696)); - ctx.gpr[31] = (0x088C70A8u); + aot_gpr_31 = (0x088C70A8u); aot_gpr_5 = (0u | 294u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C70A8u) goto L_088C70A8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C70A8u) goto L_088C70A8; AOT_REGCACHE_SYNC_OUT(); return; L_088C70A8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(48))); @@ -6992,7 +6993,7 @@ L_088C70A8: aot_gpr_4 = (2237u << 16u); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(113), static_cast(0u)); aot_gpr_5 = (0u | 0u); - ctx.gpr[31] = (0x088C70FCu); + aot_gpr_31 = (0x088C70FCu); aot_gpr_4 = (aot_gpr_4 + static_cast(-28320)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 703u, 0x089B7B80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C70FCu) goto L_088C70FC; AOT_REGCACHE_SYNC_OUT(); return; @@ -7013,9 +7014,9 @@ L_088C7108: aot_fpr_20 = std::bit_cast(aot_run_words[0]); aot_gpr_16 = aot_run_words[1]; ctx.gpr[17] = aot_run_words[2]; - ctx.gpr[31] = aot_run_words[3]; + aot_gpr_31 = aot_run_words[3]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -7032,7 +7033,7 @@ L_088C7120: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_20 < aot_fpr_12)) ? 0x00800000u : 0u); { const std::uint32_t aot_run_words[4]{std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(12), aot_run_words); } - { const std::uint32_t aot_run_words[9]{ctx.gpr[17], ctx.gpr[18], aot_gpr_19, ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[9]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(32), aot_run_words); } { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); ctx.gpr[17] = (aot_gpr_5 | 0u); @@ -7045,7 +7046,7 @@ L_088C717C: ctx.gpr[20] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(12))); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_5 = (ctx.gpr[17] + static_cast(4)); - ctx.gpr[31] = (0x088C7190u); + aot_gpr_31 = (0x088C7190u); aot_gpr_4 = (aot_gpr_16 | 0u); goto L_088C6080; L_088C7190: @@ -7063,7 +7064,7 @@ L_088C7190: ctx.gpr[17] = (0u | 0u); aot_gpr_4 = (16928u << 16u); ctx.fpr[26] = std::bit_cast(aot_gpr_4); - aot_gpr_19 = (0u | 2u); + ctx.gpr[19] = (0u | 2u); aot_gpr_4 = (16256u << 16u); ctx.gpr[30] = (0u | 6u); ctx.fpr[28] = std::bit_cast(aot_gpr_4); @@ -7074,13 +7075,13 @@ L_088C7190: goto L_088C71E8; L_088C71E8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - ctx.gpr[31] = (0x088C71F4u); + aot_gpr_31 = (0x088C71F4u); aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 382u, 0x08B0D940u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C71F4u) goto L_088C71F4; AOT_REGCACHE_SYNC_OUT(); return; L_088C71F4: aot_gpr_4 = (ctx.gpr[2] & 255u); - { const bool branch_taken = aot_gpr_4 != aot_gpr_19; + { const bool branch_taken = aot_gpr_4 != ctx.gpr[19]; // nop if (branch_taken) { goto L_088C72FC; @@ -7103,7 +7104,7 @@ L_088C7200: goto L_088C7224; } L_088C7224: - { const bool branch_taken = aot_gpr_5 != aot_gpr_19; + { const bool branch_taken = aot_gpr_5 != ctx.gpr[19]; // nop if (branch_taken) { goto L_088C72FC; @@ -7141,7 +7142,7 @@ L_088C725C: aot_fpr_14 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_14)); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[26])); aot_gpr_5 = (std::bit_cast(aot_fpr_14)); - ctx.gpr[31] = (0x088C727Cu); + aot_gpr_31 = (0x088C727Cu); aot_gpr_5 = (aot_gpr_5 & 255u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0109_entry, 109u, 21u, 0x089B8190u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C727Cu) goto L_088C727C; AOT_REGCACHE_SYNC_OUT(); return; @@ -7164,16 +7165,16 @@ L_088C728C: aot_gpr_4 = (ctx.gpr[23] | 0u); aot_gpr_5 = (ctx.hi); aot_gpr_5 = (aot_gpr_5 + static_cast(119)); - ctx.gpr[31] = (0x088C72B4u); + aot_gpr_31 = (0x088C72B4u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C72B4u) goto L_088C72B4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C72B4u) goto L_088C72B4; AOT_REGCACHE_SYNC_OUT(); return; L_088C72B4: ctx.gpr[23] = (ctx.gpr[2] | 0u); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x088C72C4u); + aot_gpr_31 = (0x088C72C4u); aot_gpr_5 = (0u | 1000u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C72C4u) goto L_088C72C4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089B7A84, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C72C4u) goto L_088C72C4; AOT_REGCACHE_SYNC_OUT(); return; L_088C72C4: aot_gpr_4 = (ctx.gpr[23] + ctx.gpr[2]); @@ -7186,7 +7187,7 @@ L_088C72C4: aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(92), static_cast(ctx.gpr[18])); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(113), static_cast(ctx.gpr[18])); aot_gpr_4 = (ctx.gpr[21] | 0u); - ctx.gpr[31] = (0x088C72F8u); + aot_gpr_31 = (0x088C72F8u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 703u, 0x089B7B80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C72F8u) goto L_088C72F8; AOT_REGCACHE_SYNC_OUT(); return; @@ -7226,15 +7227,15 @@ L_088C731C: aot_gpr_16 = aot_run_words[5]; ctx.gpr[17] = aot_run_words[6]; ctx.gpr[18] = aot_run_words[7]; - aot_gpr_19 = aot_run_words[8]; + ctx.gpr[19] = aot_run_words[8]; ctx.gpr[20] = aot_run_words[9]; ctx.gpr[21] = aot_run_words[10]; ctx.gpr[22] = aot_run_words[11]; ctx.gpr[23] = aot_run_words[12]; ctx.gpr[30] = aot_run_words[13]; - ctx.gpr[31] = aot_run_words[14]; + aot_gpr_31 = aot_run_words[14]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(80)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -7341,7 +7342,7 @@ L_088C7408: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), std::bit_cast(aot_fpr_13)); goto L_088C740C; L_088C740C: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; // nop local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -7555,7 +7556,7 @@ L_088C7598: } goto L_088C75AC; L_088C75AC: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(64)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -7622,7 +7623,7 @@ L_088C761C: } goto L_088C7630; L_088C7630: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(48)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -7698,7 +7699,7 @@ L_088C7680: ctx.gpr[2] = (0u | 0u); goto L_088C7684; L_088C7684: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; // nop local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -7706,8 +7707,8 @@ L_088C7684: AOT_REGCACHE_SYNC_OUT(); return; L_088C768C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[31]); - ctx.gpr[31] = (0x088C769Cu); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); + aot_gpr_31 = (0x088C769Cu); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(12))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 238u, 0x08B00E18u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C769Cu) goto L_088C769C; AOT_REGCACHE_SYNC_OUT(); return; @@ -7731,8 +7732,8 @@ L_088C76AC: ctx.gpr[2] = (0u | 0u); goto L_088C76B0; L_088C76B0: - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -7743,7 +7744,7 @@ L_088C76BC: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); aot_gpr_6 = (0u | 24u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); { const bool branch_taken = aot_gpr_5 == aot_gpr_6; aot_gpr_6 = (0u | 74u); if (branch_taken) { @@ -7760,7 +7761,7 @@ L_088C76D8: goto L_088C76E0; } L_088C76E0: - ctx.gpr[31] = (0x088C76E8u); + aot_gpr_31 = (0x088C76E8u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(12))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 238u, 0x08B00E18u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C76E8u) goto L_088C76E8; AOT_REGCACHE_SYNC_OUT(); return; @@ -7792,8 +7793,8 @@ L_088C7700: ctx.gpr[2] = (0u | 0u); goto L_088C7704; L_088C7704: - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -7808,7 +7809,7 @@ L_088C7710: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_20 < aot_fpr_12)) ? 0x00800000u : 0u); - { const std::uint32_t aot_run_words[4]{ctx.gpr[17], ctx.gpr[18], aot_gpr_19, ctx.gpr[31]}; + { const std::uint32_t aot_run_words[4]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(8), aot_run_words); } { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); ctx.gpr[18] = (aot_gpr_5 | 0u); @@ -7883,7 +7884,7 @@ L_088C77B0: L_088C77C4: aot_gpr_5 = (ctx.gpr[18] + static_cast(4)); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); - ctx.gpr[31] = (0x088C77D4u); + aot_gpr_31 = (0x088C77D4u); aot_gpr_4 = (aot_gpr_16 | 0u); goto L_088C6080; L_088C77D4: @@ -7897,7 +7898,7 @@ L_088C77D4: aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_5 = (ctx.hi); aot_gpr_5 = (aot_gpr_5 + static_cast(70)); - ctx.gpr[31] = (0x088C7804u); + aot_gpr_31 = (0x088C7804u); aot_gpr_5 = (aot_gpr_5 & 255u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0109_entry, 109u, 21u, 0x089B8190u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C7804u) goto L_088C7804; AOT_REGCACHE_SYNC_OUT(); return; @@ -7916,20 +7917,20 @@ L_088C7814: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(52), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), 0u); aot_gpr_4 = (ctx.gpr[28] + static_cast(7696)); - ctx.gpr[31] = (0x088C782Cu); + aot_gpr_31 = (0x088C782Cu); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C782Cu) goto L_088C782C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C782Cu) goto L_088C782C; AOT_REGCACHE_SYNC_OUT(); return; L_088C782C: - aot_gpr_19 = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (ctx.gpr[2] | 0u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), ctx.gpr[2]); - aot_gpr_5 = (aot_gpr_19 >> 4u); - ctx.gpr[31] = (0x088C7840u); + aot_gpr_5 = (ctx.gpr[19] >> 4u); + aot_gpr_31 = (0x088C7840u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C7840u) goto L_088C7840; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089B7A84, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C7840u) goto L_088C7840; AOT_REGCACHE_SYNC_OUT(); return; L_088C7840: - aot_gpr_4 = (aot_gpr_19 + ctx.gpr[2]); + aot_gpr_4 = (ctx.gpr[19] + ctx.gpr[2]); aot_fpr_12 = std::bit_cast(0u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_4); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(60), static_cast(0u)); @@ -7941,7 +7942,7 @@ L_088C7840: aot_gpr_4 = (2237u << 16u); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(113), static_cast(0u)); aot_gpr_5 = (0u | 0u); - ctx.gpr[31] = (0x088C787Cu); + aot_gpr_31 = (0x088C787Cu); aot_gpr_4 = (aot_gpr_4 + static_cast(-28320)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 703u, 0x089B7B80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C787Cu) goto L_088C787C; AOT_REGCACHE_SYNC_OUT(); return; @@ -7963,10 +7964,10 @@ L_088C7888: aot_gpr_16 = aot_run_words[1]; ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; - aot_gpr_19 = aot_run_words[4]; - ctx.gpr[31] = aot_run_words[5]; + ctx.gpr[19] = aot_run_words[4]; + aot_gpr_31 = aot_run_words[5]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -8104,7 +8105,7 @@ L_088C7934: goto L_088C793C; } L_088C793C: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; // nop local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -8120,7 +8121,7 @@ L_088C7944: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), std::bit_cast(aot_fpr_20)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_16); - { const std::uint32_t aot_run_words[3]{ctx.gpr[18], aot_gpr_19, ctx.gpr[31]}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(12), aot_run_words); } { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); aot_gpr_16 = (aot_gpr_5 | 0u); @@ -8183,11 +8184,11 @@ L_088C79E4: aot_gpr_5 = (0u | 80u); aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(56), aot_gpr_5); aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(64), aot_gpr_4); - aot_gpr_19 = (0u | 60u); + ctx.gpr[19] = (0u | 60u); aot_gpr_4 = (ctx.gpr[28] + static_cast(7696)); - ctx.gpr[31] = (0x088C7A00u); + aot_gpr_31 = (0x088C7A00u); aot_gpr_5 = (0u | 80u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C7A00u) goto L_088C7A00; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C7A00u) goto L_088C7A00; AOT_REGCACHE_SYNC_OUT(); return; L_088C7A00: aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(68), ctx.gpr[2]); @@ -8220,12 +8221,12 @@ L_088C7A1C: aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(64), aot_gpr_4); aot_gpr_4 = (0u | 27000u); aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(68), aot_gpr_4); - aot_gpr_19 = (0u | 30u); + ctx.gpr[19] = (0u | 30u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); goto L_088C7A38; L_088C7A38: aot_gpr_5 = (aot_gpr_16 + static_cast(4)); - ctx.gpr[31] = (0x088C7A44u); + aot_gpr_31 = (0x088C7A44u); aot_gpr_4 = (ctx.gpr[17] | 0u); goto L_088C6080; L_088C7A44: @@ -8240,15 +8241,15 @@ L_088C7A44: goto L_088C7A58; } L_088C7A58: - aot_gpr_19 = (static_cast(static_cast(aot_gpr_19) >> 2u)); - aot_gpr_19 = (aot_gpr_19 & 255u); + ctx.gpr[19] = (static_cast(static_cast(ctx.gpr[19]) >> 2u)); + ctx.gpr[19] = (ctx.gpr[19] & 255u); goto L_088C7A60; L_088C7A60: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(76))); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_4 = (ctx.gpr[17] | 0u); - ctx.gpr[31] = (0x088C7A74u); - aot_gpr_5 = (aot_gpr_19 | 0u); + aot_gpr_31 = (0x088C7A74u); + aot_gpr_5 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0109_entry, 109u, 21u, 0x089B8190u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C7A74u) goto L_088C7A74; AOT_REGCACHE_SYNC_OUT(); return; L_088C7A74: @@ -8276,7 +8277,7 @@ L_088C7A84: aot_gpr_4 = (2237u << 16u); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(113), static_cast(0u)); aot_gpr_5 = (0u | 0u); - ctx.gpr[31] = (0x088C7AC4u); + aot_gpr_31 = (0x088C7AC4u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28320)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 703u, 0x089B7B80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C7AC4u) goto L_088C7AC4; AOT_REGCACHE_SYNC_OUT(); return; @@ -8298,10 +8299,10 @@ L_088C7AD0: aot_gpr_16 = aot_run_words[1]; ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; - aot_gpr_19 = aot_run_words[4]; - ctx.gpr[31] = aot_run_words[5]; + ctx.gpr[19] = aot_run_words[4]; + aot_gpr_31 = aot_run_words[5]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -8317,7 +8318,7 @@ L_088C7AF0: aot_gpr_16 = (aot_gpr_4 | 0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_20 < aot_fpr_12)) ? 0x00800000u : 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[17]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); aot_gpr_4 = (aot_gpr_5 | 0u); if (branch_taken) { @@ -8411,7 +8412,7 @@ L_088C7B8C: L_088C7B94: aot_gpr_5 = (aot_gpr_4 + static_cast(4)); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); - ctx.gpr[31] = (0x088C7BA4u); + aot_gpr_31 = (0x088C7BA4u); aot_gpr_4 = (aot_gpr_16 | 0u); goto L_088C6080; L_088C7BA4: @@ -8420,7 +8421,7 @@ L_088C7BA4: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(76))); aot_gpr_4 = (aot_gpr_16 | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); - ctx.gpr[31] = (0x088C7BC0u); + aot_gpr_31 = (0x088C7BC0u); aot_gpr_5 = (0u | 60u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0109_entry, 109u, 21u, 0x089B8190u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C7BC0u) goto L_088C7BC0; AOT_REGCACHE_SYNC_OUT(); return; @@ -8443,9 +8444,9 @@ L_088C7BD0: aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(61), static_cast(0u)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), 0u); aot_gpr_4 = (ctx.gpr[28] + static_cast(7696)); - ctx.gpr[31] = (0x088C7BF8u); + aot_gpr_31 = (0x088C7BF8u); aot_gpr_5 = (0u | 164u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C7BF8u) goto L_088C7BF8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C7BF8u) goto L_088C7BF8; AOT_REGCACHE_SYNC_OUT(); return; L_088C7BF8: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), ctx.gpr[2]); @@ -8460,7 +8461,7 @@ L_088C7BF8: aot_gpr_4 = (2237u << 16u); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(113), static_cast(0u)); aot_gpr_5 = (0u | 0u); - ctx.gpr[31] = (0x088C7C30u); + aot_gpr_31 = (0x088C7C30u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28320)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 703u, 0x089B7B80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C7C30u) goto L_088C7C30; AOT_REGCACHE_SYNC_OUT(); return; @@ -8481,9 +8482,9 @@ L_088C7C3C: aot_fpr_20 = std::bit_cast(aot_run_words[0]); aot_gpr_16 = aot_run_words[1]; ctx.gpr[17] = aot_run_words[2]; - ctx.gpr[31] = aot_run_words[3]; + aot_gpr_31 = aot_run_words[3]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -8501,7 +8502,7 @@ L_088C7C54: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_20)) ? 0x00800000u : 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[18]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); aot_gpr_16 = (aot_gpr_5 | 0u); if (branch_taken) { @@ -8523,7 +8524,7 @@ L_088C7C8C: } L_088C7CA4: aot_gpr_5 = (aot_gpr_16 + static_cast(4)); - ctx.gpr[31] = (0x088C7CB0u); + aot_gpr_31 = (0x088C7CB0u); aot_gpr_4 = (ctx.gpr[17] | 0u); goto L_088C6080; L_088C7CB0: @@ -8563,9 +8564,9 @@ L_088C7CF0: aot_gpr_4 = (0u | 5u); aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(64), aot_gpr_4); aot_gpr_4 = (ctx.gpr[28] + static_cast(7696)); - ctx.gpr[31] = (0x088C7D18u); + aot_gpr_31 = (0x088C7D18u); aot_gpr_5 = (0u | 25u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C7D18u) goto L_088C7D18; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C7D18u) goto L_088C7D18; AOT_REGCACHE_SYNC_OUT(); return; L_088C7D18: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(48))); @@ -8592,7 +8593,7 @@ L_088C7D18: aot_gpr_5 = (0u | 0u); aot_gpr_6 = (ctx.hi); aot_gpr_6 = (ctx.gpr[2] + aot_gpr_6); - ctx.gpr[31] = (0x088C7D80u); + aot_gpr_31 = (0x088C7D80u); aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(68), aot_gpr_6); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 703u, 0x089B7B80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C7D80u) goto L_088C7D80; AOT_REGCACHE_SYNC_OUT(); return; @@ -8624,7 +8625,7 @@ L_088C7D80: aot_gpr_4 = (0u | 7u); aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(116), aot_gpr_4); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(113), static_cast(0u)); - ctx.gpr[31] = (0x088C7DF4u); + aot_gpr_31 = (0x088C7DF4u); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 703u, 0x089B7B80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C7DF4u) goto L_088C7DF4; AOT_REGCACHE_SYNC_OUT(); return; @@ -8646,9 +8647,9 @@ L_088C7E00: aot_gpr_16 = aot_run_words[1]; ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; - ctx.gpr[31] = aot_run_words[4]; + aot_gpr_31 = aot_run_words[4]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -8665,7 +8666,7 @@ L_088C7E1C: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), std::bit_cast(aot_fpr_20)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), std::bit_cast(ctx.fpr[22])); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_31); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); aot_gpr_4 = (aot_gpr_5 | 0u); if (branch_taken) { @@ -8717,7 +8718,7 @@ L_088C7EA4: aot_fpr_14 = std::bit_cast(aot_gpr_5); aot_fpr_20 = aot_fpr_20 / aot_fpr_14; aot_gpr_5 = (aot_gpr_4 + static_cast(4)); - ctx.gpr[31] = (0x088C7EC4u); + aot_gpr_31 = (0x088C7EC4u); aot_gpr_4 = (aot_gpr_16 | 0u); goto L_088C6080; L_088C7EC4: @@ -8729,7 +8730,7 @@ L_088C7EC4: aot_fpr_14 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_14)); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(76))); aot_gpr_5 = (std::bit_cast(aot_fpr_14)); - ctx.gpr[31] = (0x088C7EECu); + aot_gpr_31 = (0x088C7EECu); aot_gpr_5 = (aot_gpr_5 & 255u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0109_entry, 109u, 21u, 0x089B8190u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C7EECu) goto L_088C7EEC; AOT_REGCACHE_SYNC_OUT(); return; @@ -8794,7 +8795,7 @@ L_088C7F64: aot_gpr_4 = (2237u << 16u); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(113), static_cast(0u)); aot_gpr_5 = (0u | 0u); - ctx.gpr[31] = (0x088C7F9Cu); + aot_gpr_31 = (0x088C7F9Cu); aot_gpr_4 = (aot_gpr_4 + static_cast(-28320)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 703u, 0x089B7B80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C7F9Cu) goto L_088C7F9C; AOT_REGCACHE_SYNC_OUT(); return; @@ -8815,9 +8816,9 @@ L_088C7FA8: aot_fpr_20 = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); aot_gpr_16 = aot_run_words[2]; - ctx.gpr[31] = aot_run_words[3]; + aot_gpr_31 = aot_run_words[3]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -8836,7 +8837,7 @@ L_088C7FC0: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), std::bit_cast(aot_fpr_20)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), std::bit_cast(ctx.fpr[24])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), std::bit_cast(ctx.fpr[26])); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_31); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); aot_gpr_4 = (aot_gpr_5 | 0u); if (branch_taken) { diff --git a/profiles/vcs/generated/generated_unit_0049.cpp b/profiles/vcs/generated/generated_unit_0049.cpp index 168b31e..269486a 100644 --- a/profiles/vcs/generated/generated_unit_0049.cpp +++ b/profiles/vcs/generated/generated_unit_0049.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0049[4083] = { }; void recomp_unit_0049_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,16,31,17 fprs=12,13,20,14 gpr_occ=4106 fpr_occ=735 gpr_total=5277 fpr_total=882 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,31,16,6 fprs=12,13,20,14 gpr_occ=4134 fpr_occ=735 gpr_total=5337 fpr_total=882 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; - std::uint32_t aot_gpr_16 = ctx.gpr[16]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; - std::uint32_t aot_gpr_17 = ctx.gpr[17]; + std::uint32_t aot_gpr_16 = ctx.gpr[16]; + std::uint32_t aot_gpr_6 = ctx.gpr[6]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_20 = ctx.fpr[20]; float aot_fpr_14 = ctx.fpr[14]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[16] = aot_gpr_16; ctx.gpr[31] = aot_gpr_31; ctx.gpr[17] = aot_gpr_17; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; ctx.fpr[14] = aot_fpr_14; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_17 = ctx.gpr[17]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_14 = ctx.fpr[14]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[31] = aot_gpr_31; ctx.gpr[16] = aot_gpr_16; ctx.gpr[6] = aot_gpr_6; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; ctx.fpr[14] = aot_fpr_14; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_6 = ctx.gpr[6]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_14 = ctx.fpr[14]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -1180,10 +1181,10 @@ L_088C8178: L_088C8198: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); ctx.gpr[7] = (aot_gpr_5 | 0u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(20))); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(170)); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(20))); + aot_gpr_6 = (aot_gpr_6 + static_cast(170)); aot_gpr_5 = (aot_gpr_4 | 0u); - ctx.gpr[8] = (static_cast(ctx.gpr[6]) < -961 ? 1u : 0u); + ctx.gpr[8] = (static_cast(aot_gpr_6) < -961 ? 1u : 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); { const bool branch_taken = ctx.gpr[8] == 0u; aot_gpr_4 = (ctx.gpr[7] | 0u); @@ -1193,8 +1194,8 @@ L_088C8198: goto L_088C81BC; } L_088C81BC: - ctx.gpr[6] = (static_cast(ctx.gpr[6]) < -962 ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] != 0u; + aot_gpr_6 = (static_cast(aot_gpr_6) < -962 ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 != 0u; // nop if (branch_taken) { goto L_088C8204; @@ -1202,10 +1203,10 @@ L_088C81BC: goto L_088C81C8; } L_088C81C8: - ctx.gpr[6] = (aot_gpr_4 | 0u); + aot_gpr_6 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x088C81D8u); - aot_gpr_5 = (ctx.gpr[6] | 0u); + aot_gpr_5 = (aot_gpr_6 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0048_entry, 48u, 602u, 0x088C6E20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C81D8u) goto L_088C81D8; AOT_REGCACHE_SYNC_OUT(); return; L_088C81D8: @@ -1218,7 +1219,7 @@ L_088C81D8: } L_088C81E0: ctx.gpr[7] = (0u | 280u); - { const bool branch_taken = ctx.gpr[6] != ctx.gpr[7]; + { const bool branch_taken = aot_gpr_6 != ctx.gpr[7]; // nop if (branch_taken) { goto L_088C8204; @@ -1226,10 +1227,10 @@ L_088C81E0: goto L_088C81EC; } L_088C81EC: - ctx.gpr[6] = (aot_gpr_4 | 0u); + aot_gpr_6 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x088C81FCu); - aot_gpr_5 = (ctx.gpr[6] | 0u); + aot_gpr_5 = (aot_gpr_6 | 0u); goto L_088C8210; L_088C81FC: { const bool branch_taken = 0u == 0u; @@ -1249,12 +1250,12 @@ L_088C8204: AOT_REGCACHE_SYNC_OUT(); return; L_088C8210: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - ctx.gpr[6] = (18493u << 16u); + aot_gpr_6 = (18493u << 16u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(8))); - ctx.gpr[6] = (ctx.gpr[6] | 4096u); - aot_fpr_13 = std::bit_cast(ctx.gpr[6]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_4 | 0u); + aot_gpr_6 = (aot_gpr_6 | 4096u); + aot_fpr_13 = std::bit_cast(aot_gpr_6); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_4 | 0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); @@ -1268,7 +1269,7 @@ L_088C8210: L_088C8240: aot_gpr_5 = (aot_gpr_16 + static_cast(4)); aot_gpr_31 = (0x088C824Cu); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0048_entry, 48u, 397u, 0x088C6080u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C824Cu) goto L_088C824C; AOT_REGCACHE_SYNC_OUT(); return; L_088C824C: @@ -1344,7 +1345,7 @@ L_088C82C8: goto L_088C82E8; } L_088C82E8: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088C82F4u); aot_gpr_5 = (aot_gpr_16 | 0u); goto L_088C8808; @@ -1358,7 +1359,7 @@ L_088C82F4: } L_088C82FC: aot_gpr_31 = (0x088C8304u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); goto L_088C8394; L_088C8304: { const bool branch_taken = 0u == 0u; @@ -1369,7 +1370,7 @@ L_088C8304: goto L_088C830C; } L_088C830C: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088C8318u); aot_gpr_5 = (aot_gpr_16 | 0u); goto L_088C86D4; @@ -1383,7 +1384,7 @@ L_088C8318: } L_088C8320: aot_gpr_31 = (0x088C8328u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); goto L_088C8694; L_088C8328: { const bool branch_taken = 0u == 0u; @@ -1394,7 +1395,7 @@ L_088C8328: goto L_088C8330; } L_088C8330: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088C833Cu); aot_gpr_5 = (aot_gpr_16 | 0u); goto L_088C85B0; @@ -1421,7 +1422,7 @@ L_088C8344: goto L_088C8364; } L_088C8364: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088C8370u); aot_gpr_5 = (aot_gpr_16 | 0u); goto L_088C83E8; @@ -1435,13 +1436,13 @@ L_088C8370: } L_088C8378: aot_gpr_31 = (0x088C8380u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); goto L_088C8394; L_088C8380: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -1483,7 +1484,7 @@ L_088C83C8: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 18u); aot_gpr_31 = (0x088C83D8u); - ctx.gpr[6] = (0u | 29500u); + aot_gpr_6 = (0u | 29500u); goto L_088C8A4C; L_088C83D8: aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -1497,8 +1498,8 @@ L_088C83D8: L_088C83E8: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_17); - aot_gpr_17 = (aot_gpr_5 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_5 | 0u); aot_gpr_16 = (aot_gpr_4 | 0u); { const std::uint32_t aot_run_words[4]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(8), aot_run_words); } @@ -1517,7 +1518,7 @@ L_088C8418: L_088C8420: aot_gpr_4 = (aot_gpr_4 | 42501u); aot_fpr_13 = std::bit_cast(aot_gpr_4); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(952))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(952))); aot_gpr_4 = (16152u << 16u); aot_gpr_4 = (aot_gpr_4 | 48754u); ctx.fpr[22] = aot_fpr_12 - aot_fpr_13; @@ -1626,12 +1627,12 @@ L_088C8520: aot_fpr_12 = ctx.fpr[22] - ctx.fpr[26]; aot_gpr_5 = (32768u << 16u); aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); - ctx.gpr[6] = (std::bit_cast(aot_fpr_12)); - aot_gpr_5 = (ctx.gpr[6] + aot_gpr_5); + aot_gpr_6 = (std::bit_cast(aot_fpr_12)); + aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); aot_gpr_5 = (aot_gpr_5 + static_cast(16000)); goto L_088C8538; L_088C8538: - ctx.gpr[6] = (aot_gpr_5 | 0u); + aot_gpr_6 = (aot_gpr_5 | 0u); aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_31 = (0x088C8548u); aot_gpr_4 = (aot_gpr_16 | 0u); @@ -1662,7 +1663,7 @@ L_088C8568: aot_gpr_4 = (aot_gpr_4 + static_cast(29500)); goto L_088C857C; L_088C857C: - ctx.gpr[6] = (aot_gpr_4 | 0u); + aot_gpr_6 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088C858Cu); aot_gpr_5 = (0u | 18u); @@ -1675,7 +1676,7 @@ L_088C858C: ctx.fpr[24] = std::bit_cast(aot_run_words[2]); ctx.fpr[26] = std::bit_cast(aot_run_words[3]); aot_gpr_16 = aot_run_words[4]; - aot_gpr_17 = aot_run_words[5]; + ctx.gpr[17] = aot_run_words[5]; aot_gpr_31 = aot_run_words[6]; } jump_target = aot_gpr_31; @@ -1687,11 +1688,11 @@ L_088C858C: L_088C85B0: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(944)))))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9304))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9304))); aot_gpr_5 = (aot_gpr_5 << 2u); - aot_gpr_5 = (ctx.gpr[6] + aot_gpr_5); + aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(28))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(16))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(16))); aot_gpr_5 = (17302u << 16u); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), std::bit_cast(aot_fpr_20)); @@ -1701,10 +1702,10 @@ L_088C85B0: aot_fpr_13 = std::bit_cast(aot_gpr_5); { const float fs = aot_fpr_20; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_fpr_13 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_13)); - ctx.gpr[6] = (16256u << 16u); + aot_gpr_6 = (16256u << 16u); aot_gpr_5 = (std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_16); - aot_fpr_12 = std::bit_cast(ctx.gpr[6]); + aot_fpr_12 = std::bit_cast(aot_gpr_6); aot_gpr_5 = (aot_gpr_5 & 255u); aot_gpr_16 = (aot_gpr_4 | 0u); aot_fpr_20 = aot_fpr_12 - aot_fpr_20; @@ -1742,7 +1743,7 @@ L_088C8648: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 127u); aot_gpr_31 = (0x088C8658u); - ctx.gpr[6] = (0u | 22050u); + aot_gpr_6 = (0u | 22050u); goto L_088C8B24; L_088C8658: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -1755,7 +1756,7 @@ L_088C8658: L_088C8660: aot_fpr_12 = std::bit_cast(aot_gpr_4); { const float fs = aot_fpr_20; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - ctx.gpr[6] = (0u | 44100u); + aot_gpr_6 = (0u | 44100u); aot_gpr_4 = (aot_gpr_16 | 0u); aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); aot_gpr_5 = (std::bit_cast(aot_fpr_12)); @@ -1795,7 +1796,7 @@ L_088C86B4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 63u); aot_gpr_31 = (0x088C86C4u); - ctx.gpr[6] = (0u | 22050u); + aot_gpr_6 = (0u | 22050u); goto L_088C8B24; L_088C86C4: aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -1808,11 +1809,11 @@ L_088C86C4: AOT_REGCACHE_SYNC_OUT(); return; L_088C86D4: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9304))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9304))); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(944)))))); aot_gpr_5 = (aot_gpr_5 << 2u); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(20))); - aot_gpr_5 = (ctx.gpr[6] + aot_gpr_5); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(20))); + aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(28))); aot_gpr_5 = (17327u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), std::bit_cast(ctx.fpr[22])); @@ -1865,7 +1866,7 @@ L_088C8770: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 127u); aot_gpr_31 = (0x088C8780u); - ctx.gpr[6] = (0u | 22050u); + aot_gpr_6 = (0u | 22050u); goto L_088C8B24; L_088C8780: aot_gpr_4 = (18020u << 16u); @@ -1902,7 +1903,7 @@ L_088C87CC: aot_gpr_5 = (16784u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_5); { const float fs = aot_fpr_20; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - ctx.gpr[6] = (aot_gpr_4 | 0u); + aot_gpr_6 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_16 | 0u); aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); aot_gpr_5 = (std::bit_cast(aot_fpr_12)); @@ -1926,8 +1927,8 @@ L_088C87F0: L_088C8808: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_17); - aot_gpr_17 = (aot_gpr_5 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_5 | 0u); aot_gpr_16 = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); aot_gpr_31 = (0x088C8828u); @@ -1957,7 +1958,7 @@ L_088C883C: L_088C8844: aot_gpr_4 = (aot_gpr_4 | 42501u); aot_fpr_13 = std::bit_cast(aot_gpr_4); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(952))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(952))); aot_gpr_4 = (16152u << 16u); aot_gpr_4 = (aot_gpr_4 | 48754u); aot_fpr_13 = aot_fpr_12 - aot_fpr_13; @@ -2007,12 +2008,12 @@ L_088C88C8: aot_fpr_12 = aot_fpr_13 - aot_fpr_12; aot_gpr_4 = (32768u << 16u); aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); - ctx.gpr[6] = (std::bit_cast(aot_fpr_12)); - aot_gpr_4 = (ctx.gpr[6] + aot_gpr_4); + aot_gpr_6 = (std::bit_cast(aot_fpr_12)); + aot_gpr_4 = (aot_gpr_6 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(16000)); goto L_088C88E0; L_088C88E0: - ctx.gpr[6] = (aot_gpr_4 | 0u); + aot_gpr_6 = (aot_gpr_4 | 0u); aot_gpr_31 = (0x088C88ECu); aot_gpr_4 = (aot_gpr_16 | 0u); goto L_088C8B24; @@ -2020,13 +2021,13 @@ L_088C88EC: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 18u); aot_gpr_31 = (0x088C88FCu); - ctx.gpr[6] = (0u | 29500u); + aot_gpr_6 = (0u | 29500u); goto L_088C8A4C; L_088C88FC: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(8), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -2037,8 +2038,8 @@ L_088C88FC: AOT_REGCACHE_SYNC_OUT(); return; L_088C8910: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_17); - aot_gpr_17 = (aot_gpr_5 & 255u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_5 & 255u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(76))); aot_gpr_5 = (17204u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), std::bit_cast(aot_fpr_20)); @@ -2055,11 +2056,11 @@ L_088C8910: } L_088C8940: aot_fpr_13 = aot_fpr_12 / aot_fpr_20; - aot_gpr_4 = (static_cast(static_cast(aot_gpr_17) >> 1u)); + aot_gpr_4 = (static_cast(static_cast(ctx.gpr[17]) >> 1u)); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_5 = (16179u << 16u); aot_gpr_5 = (aot_gpr_5 | 13107u); - aot_gpr_17 = (0u | 1u); + ctx.gpr[17] = (0u | 1u); aot_fpr_14 = std::bit_cast(aot_gpr_4); aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); ctx.fpr[15] = std::bit_cast(aot_gpr_5); @@ -2078,12 +2079,12 @@ L_088C8940: } L_088C8984: aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23835))); - ctx.gpr[6] = (0u | 100u); + aot_gpr_6 = (0u | 100u); { const std::int64_t product = static_cast(static_cast(aot_gpr_4)) * static_cast(static_cast(aot_gpr_5)); ctx.lo = static_cast(product); ctx.hi = static_cast(static_cast(product) >> 32u); } aot_gpr_5 = (ctx.lo); // nop // nop - { const std::int32_t dividend = static_cast(aot_gpr_5); const std::int32_t divisor = static_cast(ctx.gpr[6]); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } + { const std::int32_t dividend = static_cast(aot_gpr_5); const std::int32_t divisor = static_cast(aot_gpr_6); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } aot_gpr_5 = (ctx.lo); aot_gpr_4 = (aot_gpr_4 - aot_gpr_5); aot_gpr_4 = (aot_gpr_4 & 255u); @@ -2107,12 +2108,12 @@ L_088C89C0: goto L_088C89D0; } L_088C89D0: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(52), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(52), ctx.gpr[17]); aot_gpr_4 = (0u | 228u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), aot_gpr_4); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(60), static_cast(0u)); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(61), static_cast(0u)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), ctx.gpr[17]); aot_gpr_31 = (0x088C89F0u); aot_gpr_4 = (aot_gpr_16 | 0u); goto L_088C8E10; @@ -2135,7 +2136,7 @@ L_088C89F0: AOT_REGCACHE_SYNC_OUT(); return; L_088C8A28: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_gpr_17 | 0u); + ctx.gpr[2] = (ctx.gpr[17] | 0u); if (branch_taken) { goto L_088C8A34; } @@ -2149,7 +2150,7 @@ L_088C8A34: aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); aot_gpr_16 = aot_run_words[1]; - aot_gpr_17 = aot_run_words[2]; + ctx.gpr[17] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } jump_target = aot_gpr_31; @@ -2166,13 +2167,13 @@ L_088C8A4C: aot_gpr_5 = (17194u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), std::bit_cast(aot_fpr_20)); aot_fpr_20 = std::bit_cast(aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_17); - aot_gpr_17 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_4 | 0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_20)) ? 0x00800000u : 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); - aot_gpr_16 = (ctx.gpr[6] | 0u); + aot_gpr_16 = (aot_gpr_6 | 0u); if (branch_taken) { goto L_088C8B04; } @@ -2180,15 +2181,15 @@ L_088C8A4C: } L_088C8A84: aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_12)); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_31 = (0x088C8A98u); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0109_entry, 109u, 21u, 0x089B8190u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C8A98u) goto L_088C8A98; AOT_REGCACHE_SYNC_OUT(); return; L_088C8A98: - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(72), static_cast(ctx.gpr[2])); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(72))); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(72), static_cast(ctx.gpr[2])); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(72))); { const bool branch_taken = static_cast(aot_gpr_4) <= 0; ctx.gpr[18] = (0u | 1u); if (branch_taken) { @@ -2198,23 +2199,23 @@ L_088C8A98: } L_088C8AA8: aot_gpr_4 = (0u | 2u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(52), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(52), aot_gpr_4); aot_gpr_4 = (0u | 229u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(56), aot_gpr_4); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(60), static_cast(0u)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(61), static_cast(0u)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(64), ctx.gpr[18]); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(68), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(80), 0u); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(56), aot_gpr_4); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(60), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(61), static_cast(0u)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(64), ctx.gpr[18]); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(68), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(80), 0u); aot_gpr_4 = (16512u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(88), std::bit_cast(aot_fpr_20)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(84), std::bit_cast(aot_fpr_12)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(92), static_cast(0u)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(88), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(84), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(92), static_cast(0u)); aot_gpr_4 = (0u | 4u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(116), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(116), aot_gpr_4); aot_gpr_4 = (2237u << 16u); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(113), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(113), static_cast(0u)); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x088C8AFCu); aot_gpr_4 = (aot_gpr_4 + static_cast(-28320)); @@ -2236,7 +2237,7 @@ L_088C8B08: aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); aot_gpr_16 = aot_run_words[1]; - aot_gpr_17 = aot_run_words[2]; + ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; } @@ -2254,13 +2255,13 @@ L_088C8B24: aot_gpr_5 = (17204u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), std::bit_cast(aot_fpr_20)); aot_fpr_20 = std::bit_cast(aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_17); - aot_gpr_17 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_4 | 0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_20)) ? 0x00800000u : 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); - aot_gpr_16 = (ctx.gpr[6] | 0u); + aot_gpr_16 = (aot_gpr_6 | 0u); if (branch_taken) { goto L_088C8C00; } @@ -2276,7 +2277,7 @@ L_088C8B5C: { const std::int32_t dividend = static_cast(aot_gpr_4); const std::int32_t divisor = static_cast(aot_gpr_5); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.lo); aot_gpr_5 = (ctx.gpr[18] - aot_gpr_5); aot_gpr_31 = (0x088C8B94u); @@ -2284,8 +2285,8 @@ L_088C8B5C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0109_entry, 109u, 21u, 0x089B8190u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C8B94u) goto L_088C8B94; AOT_REGCACHE_SYNC_OUT(); return; L_088C8B94: - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(72), static_cast(ctx.gpr[2])); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(72))); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(72), static_cast(ctx.gpr[2])); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(72))); { const bool branch_taken = static_cast(aot_gpr_4) <= 0; ctx.gpr[18] = (0u | 1u); if (branch_taken) { @@ -2295,23 +2296,23 @@ L_088C8B94: } L_088C8BA4: aot_gpr_4 = (0u | 3u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(52), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(52), aot_gpr_4); aot_gpr_4 = (0u | 225u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(56), aot_gpr_4); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(60), static_cast(0u)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(61), static_cast(0u)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(64), ctx.gpr[18]); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(68), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(80), 0u); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(56), aot_gpr_4); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(60), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(61), static_cast(0u)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(64), ctx.gpr[18]); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(68), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(80), 0u); aot_gpr_4 = (16512u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(88), std::bit_cast(aot_fpr_20)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(84), std::bit_cast(aot_fpr_12)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(92), static_cast(0u)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(88), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(84), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(92), static_cast(0u)); aot_gpr_4 = (0u | 4u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(116), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(116), aot_gpr_4); aot_gpr_4 = (2237u << 16u); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(113), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(113), static_cast(0u)); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x088C8BF8u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28320)); @@ -2333,7 +2334,7 @@ L_088C8C04: aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); aot_gpr_16 = aot_run_words[1]; - aot_gpr_17 = aot_run_words[2]; + ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; } @@ -2345,8 +2346,8 @@ L_088C8C04: AOT_REGCACHE_SYNC_OUT(); return; L_088C8C20: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_17); - aot_gpr_17 = (aot_gpr_5 & 255u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_5 & 255u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(76))); aot_gpr_5 = (17372u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), std::bit_cast(aot_fpr_20)); @@ -2366,14 +2367,14 @@ L_088C8C50: aot_gpr_4 = (aot_gpr_16 | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_31 = (0x088C8C64u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0109_entry, 109u, 21u, 0x089B8190u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C8C64u) goto L_088C8C64; AOT_REGCACHE_SYNC_OUT(); return; L_088C8C64: aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(72), static_cast(ctx.gpr[2])); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(72))); { const bool branch_taken = static_cast(aot_gpr_4) <= 0; - aot_gpr_17 = (0u | 1u); + ctx.gpr[17] = (0u | 1u); if (branch_taken) { goto L_088C8CD0; } @@ -2385,11 +2386,11 @@ L_088C8C74: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), aot_gpr_4); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(60), static_cast(0u)); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(61), static_cast(0u)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), ctx.gpr[17]); aot_gpr_4 = (ctx.gpr[28] + static_cast(7696)); aot_gpr_31 = (0x088C8C98u); aot_gpr_5 = (0u | 224u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C8C98u) goto L_088C8C98; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C8C98u) goto L_088C8C98; AOT_REGCACHE_SYNC_OUT(); return; L_088C8C98: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), ctx.gpr[2]); @@ -2410,7 +2411,7 @@ L_088C8C98: AOT_REGCACHE_SYNC_OUT(); return; L_088C8CD0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_gpr_17 | 0u); + ctx.gpr[2] = (ctx.gpr[17] | 0u); if (branch_taken) { goto L_088C8CDC; } @@ -2424,7 +2425,7 @@ L_088C8CDC: aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); aot_gpr_16 = aot_run_words[1]; - aot_gpr_17 = aot_run_words[2]; + ctx.gpr[17] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } jump_target = aot_gpr_31; @@ -2435,8 +2436,8 @@ L_088C8CDC: AOT_REGCACHE_SYNC_OUT(); return; L_088C8CF4: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_17); - aot_gpr_17 = (aot_gpr_5 & 255u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_5 & 255u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(76))); aot_gpr_5 = (17264u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), std::bit_cast(aot_fpr_20)); @@ -2457,14 +2458,14 @@ L_088C8D2C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_31 = (0x088C8D40u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0109_entry, 109u, 21u, 0x089B8190u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C8D40u) goto L_088C8D40; AOT_REGCACHE_SYNC_OUT(); return; L_088C8D40: aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(72), static_cast(ctx.gpr[2])); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(72))); { const bool branch_taken = static_cast(aot_gpr_4) <= 0; - aot_gpr_17 = (0u | 1u); + ctx.gpr[17] = (0u | 1u); if (branch_taken) { goto L_088C8DE4; } @@ -2476,12 +2477,12 @@ L_088C8D50: ctx.gpr[18] = (0u | 227u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), ctx.gpr[18]); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(60), static_cast(0u)); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(61), static_cast(aot_gpr_17)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), aot_gpr_17); + aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(61), static_cast(ctx.gpr[17])); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), ctx.gpr[17]); aot_gpr_4 = (ctx.gpr[28] + static_cast(7696)); aot_gpr_31 = (0x088C8D78u); aot_gpr_5 = (0u | 227u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C8D78u) goto L_088C8D78; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C8D78u) goto L_088C8D78; AOT_REGCACHE_SYNC_OUT(); return; L_088C8D78: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), ctx.gpr[2]); @@ -2518,7 +2519,7 @@ L_088C8DB8: AOT_REGCACHE_SYNC_OUT(); return; L_088C8DE4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_gpr_17 | 0u); + ctx.gpr[2] = (ctx.gpr[17] | 0u); if (branch_taken) { goto L_088C8DF0; } @@ -2532,7 +2533,7 @@ L_088C8DF0: aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); aot_gpr_16 = aot_run_words[1]; - aot_gpr_17 = aot_run_words[2]; + ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; ctx.gpr[19] = aot_run_words[4]; aot_gpr_31 = aot_run_words[5]; @@ -2587,12 +2588,12 @@ L_088C8E6C: AOT_REGCACHE_SYNC_OUT(); return; L_088C8E74: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(12))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(12))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - ctx.gpr[6] = (aot_mem.aot_direct_load8(ctx.gpr[6] + static_cast(1872))); + aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_6 + static_cast(1872))); aot_gpr_16 = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[6] == 0u; + { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_4 = (aot_gpr_5 | 0u); if (branch_taken) { goto L_088C8EEC; @@ -2739,9 +2740,9 @@ L_088C8FA8: aot_gpr_4 = (aot_gpr_4 + static_cast(-16560)); goto L_088C8FB4; L_088C8FB4: - ctx.gpr[6] = (aot_gpr_5 << 3u); - ctx.gpr[6] = (ctx.gpr[6] + aot_gpr_4); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(0))); + aot_gpr_6 = (aot_gpr_5 << 3u); + aot_gpr_6 = (aot_gpr_6 + aot_gpr_4); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 <= aot_fpr_12)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); @@ -2763,8 +2764,8 @@ L_088C8FD8: aot_gpr_5 = (aot_gpr_5 + static_cast(1)); aot_gpr_5 = (aot_gpr_5 << 16u); aot_gpr_5 = (static_cast(static_cast(aot_gpr_5) >> 16u)); - ctx.gpr[6] = (static_cast(aot_gpr_5) < 5 ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] != 0u; + aot_gpr_6 = (static_cast(aot_gpr_5) < 5 ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 != 0u; // nop if (branch_taken) { goto L_088C8FB4; @@ -2772,19 +2773,19 @@ L_088C8FD8: goto L_088C8FF0; } L_088C8FF0: - ctx.gpr[6] = (16256u << 16u); - aot_fpr_13 = std::bit_cast(ctx.gpr[6]); + aot_gpr_6 = (16256u << 16u); + aot_fpr_13 = std::bit_cast(aot_gpr_6); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); - ctx.gpr[6] = (0u | 5u); + aot_gpr_6 = (0u | 5u); if (branch_taken) { goto L_088C902C; } goto L_088C9008; } L_088C9008: - { const bool branch_taken = aot_gpr_5 == ctx.gpr[6]; + { const bool branch_taken = aot_gpr_5 == aot_gpr_6; // nop if (branch_taken) { goto L_088C902C; @@ -2856,10 +2857,10 @@ L_088C9070: AOT_REGCACHE_SYNC_OUT(); return; L_088C9078: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(12), aot_run_words); } aot_gpr_16 = (aot_gpr_5 | 0u); - aot_gpr_17 = (aot_gpr_4 | 0u); + ctx.gpr[17] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(0), static_cast(0u)); aot_fpr_12 = std::bit_cast(0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), std::bit_cast(aot_fpr_12)); @@ -2874,19 +2875,19 @@ L_088C9078: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_5 = (aot_gpr_17 + static_cast(96)); + aot_gpr_5 = (ctx.gpr[17] + static_cast(96)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(0), static_cast(0u)); aot_gpr_31 = (0x088C90BCu); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); goto L_088CA7B0; L_088C90BC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), std::bit_cast(ctx.fpr[0])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_16); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088C90D0u); aot_gpr_5 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0052_entry, 52u, 109u, 0x088D4AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C90D0u) goto L_088C90D0; @@ -2895,7 +2896,7 @@ L_088C90D0: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(12), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -2906,10 +2907,10 @@ L_088C90D0: AOT_REGCACHE_SYNC_OUT(); return; L_088C90E4: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(12), aot_run_words); } aot_gpr_16 = (aot_gpr_5 | 0u); - aot_gpr_17 = (aot_gpr_4 | 0u); + ctx.gpr[17] = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_16 + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; @@ -2920,19 +2921,19 @@ L_088C90E4: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_5 = (aot_gpr_17 + static_cast(96)); + aot_gpr_5 = (ctx.gpr[17] + static_cast(96)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(0), static_cast(0u)); aot_gpr_31 = (0x088C9118u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); goto L_088CA7B0; L_088C9118: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), std::bit_cast(ctx.fpr[0])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_16); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088C912Cu); aot_gpr_5 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0051_entry, 51u, 531u, 0x088D3090u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C912Cu) goto L_088C912C; @@ -2941,7 +2942,7 @@ L_088C912C: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(12), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -2971,7 +2972,7 @@ L_088C914C: L_088C9158: aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(21529), static_cast(aot_gpr_5)); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); - aot_gpr_5 = (aot_gpr_5 + ctx.gpr[6]); + aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(21532), aot_gpr_5); goto L_088C9168; L_088C9168: @@ -2983,7 +2984,7 @@ L_088C9168: AOT_REGCACHE_SYNC_OUT(); return; L_088C9170: { const bool branch_taken = aot_gpr_5 == 0u; - aot_gpr_4 = (ctx.gpr[6] & 255u); + aot_gpr_4 = (aot_gpr_6 & 255u); if (branch_taken) { goto L_088C917C; } @@ -3080,7 +3081,7 @@ L_088C9200: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x088C9218u); - aot_gpr_16 = (ctx.gpr[6] | 0u); + aot_gpr_16 = (aot_gpr_6 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C9218u) goto L_088C9218; AOT_REGCACHE_SYNC_OUT(); return; L_088C9218: @@ -3132,11 +3133,11 @@ L_088C9268: AOT_REGCACHE_SYNC_OUT(); return; L_088C9274: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(21532))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_5 = (aot_gpr_17 < aot_gpr_5 ? 1u : 0u); + aot_gpr_5 = (ctx.gpr[17] < aot_gpr_5 ? 1u : 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); { const bool branch_taken = aot_gpr_5 != 0u; aot_gpr_16 = (aot_gpr_4 | 0u); @@ -3223,7 +3224,7 @@ L_088C92F0: goto L_088C9300; } L_088C9300: - aot_gpr_5 = (aot_gpr_17 < aot_gpr_4 ? 1u : 0u); + aot_gpr_5 = (ctx.gpr[17] < aot_gpr_4 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 != 0u; // nop if (branch_taken) { @@ -3235,7 +3236,7 @@ L_088C930C: aot_gpr_5 = (3u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(-16608)); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); - aot_gpr_4 = (aot_gpr_17 < aot_gpr_4 ? 1u : 0u); + aot_gpr_4 = (ctx.gpr[17] < aot_gpr_4 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -3262,7 +3263,7 @@ L_088C9330: } L_088C9338: { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7976), aot_gpr_17); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7976), ctx.gpr[17]); if (branch_taken) { goto L_088C9344; } @@ -3275,7 +3276,7 @@ L_088C9344: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -3292,7 +3293,7 @@ L_088C9358: ctx.gpr[7] = (aot_gpr_5 < static_cast(29) ? 1u : 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); { const bool branch_taken = ctx.gpr[7] == 0u; - ctx.gpr[6] = (ctx.gpr[6] & 65535u); + aot_gpr_6 = (aot_gpr_6 & 65535u); if (branch_taken) { goto L_088C95CC; } @@ -3743,7 +3744,7 @@ L_088C95F0: aot_gpr_4 = (ctx.hi); aot_gpr_4 = (ctx.gpr[7] + aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_4); - ctx.gpr[9] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(0))); + ctx.gpr[9] = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); { const bool branch_taken = aot_gpr_4 != ctx.gpr[9]; // nop if (branch_taken) { @@ -3768,7 +3769,7 @@ L_088C9630: goto L_088C9638; L_088C9638: jump_target = aot_gpr_31; - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(0), aot_gpr_4); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(0), aot_gpr_4); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -3777,11 +3778,11 @@ L_088C9640: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); ctx.gpr[7] = (aot_gpr_5 | 0u); aot_gpr_5 = (0u | 1u); - ctx.gpr[6] = (ctx.gpr[6] & 65535u); + aot_gpr_6 = (aot_gpr_6 & 65535u); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(21540), static_cast(aot_gpr_5)); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(-102)); + aot_gpr_6 = (aot_gpr_6 + static_cast(-102)); aot_gpr_5 = (aot_gpr_4 | 0u); - ctx.gpr[8] = (ctx.gpr[6] < static_cast(37) ? 1u : 0u); + ctx.gpr[8] = (aot_gpr_6 < static_cast(37) ? 1u : 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); { const bool branch_taken = ctx.gpr[8] == 0u; aot_gpr_4 = (ctx.gpr[7] | 0u); @@ -3791,9 +3792,9 @@ L_088C9640: goto L_088C966C; } L_088C966C: - ctx.gpr[6] = (ctx.gpr[6] << 2u); + aot_gpr_6 = (aot_gpr_6 << 2u); ctx.gpr[1] = (2232u << 16u); - ctx.gpr[1] = (ctx.gpr[1] + ctx.gpr[6]); + ctx.gpr[1] = (ctx.gpr[1] + aot_gpr_6); ctx.gpr[1] = (aot_mem.aot_direct_load32(ctx.gpr[1] + static_cast(-20912))); jump_target = ctx.gpr[1]; // nop @@ -3802,7 +3803,7 @@ L_088C966C: ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_088C9684: - ctx.gpr[6] = (aot_gpr_4 + static_cast(1724)); + aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (aot_gpr_29 | 0u); ctx.gpr[7] = (0u | 2601u); @@ -3821,7 +3822,7 @@ L_088C96A0: goto L_088C96A8; } L_088C96A8: - ctx.gpr[6] = (aot_gpr_4 + static_cast(1724)); + aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (aot_gpr_29 | 0u); ctx.gpr[7] = (0u | 2573u); @@ -3837,7 +3838,7 @@ L_088C96C0: goto L_088C96C8; } L_088C96C8: - ctx.gpr[6] = (aot_gpr_4 + static_cast(1724)); + aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (aot_gpr_29 | 0u); ctx.gpr[7] = (0u | 2652u); @@ -3853,7 +3854,7 @@ L_088C96E0: goto L_088C96E8; } L_088C96E8: - ctx.gpr[6] = (aot_gpr_4 + static_cast(1724)); + aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (aot_gpr_29 | 0u); ctx.gpr[7] = (0u | 2673u); @@ -3884,11 +3885,11 @@ L_088C971C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); ctx.gpr[7] = (aot_gpr_5 | 0u); aot_gpr_5 = (0u | 1u); - ctx.gpr[6] = (ctx.gpr[6] & 65535u); + aot_gpr_6 = (aot_gpr_6 & 65535u); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(21540), static_cast(aot_gpr_5)); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(-102)); + aot_gpr_6 = (aot_gpr_6 + static_cast(-102)); aot_gpr_5 = (aot_gpr_4 | 0u); - ctx.gpr[8] = (ctx.gpr[6] < static_cast(37) ? 1u : 0u); + ctx.gpr[8] = (aot_gpr_6 < static_cast(37) ? 1u : 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); { const bool branch_taken = ctx.gpr[8] == 0u; aot_gpr_4 = (ctx.gpr[7] | 0u); @@ -3898,9 +3899,9 @@ L_088C971C: goto L_088C9748; } L_088C9748: - ctx.gpr[6] = (ctx.gpr[6] << 2u); + aot_gpr_6 = (aot_gpr_6 << 2u); ctx.gpr[1] = (2232u << 16u); - ctx.gpr[1] = (ctx.gpr[1] + ctx.gpr[6]); + ctx.gpr[1] = (ctx.gpr[1] + aot_gpr_6); ctx.gpr[1] = (aot_mem.aot_direct_load32(ctx.gpr[1] + static_cast(-20760))); jump_target = ctx.gpr[1]; // nop @@ -3909,7 +3910,7 @@ L_088C9748: ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_088C9760: - ctx.gpr[6] = (aot_gpr_4 + static_cast(1724)); + aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (aot_gpr_29 | 0u); ctx.gpr[7] = (0u | 1574u); @@ -3928,7 +3929,7 @@ L_088C977C: goto L_088C9784; } L_088C9784: - ctx.gpr[6] = (aot_gpr_4 + static_cast(1724)); + aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (aot_gpr_29 | 0u); ctx.gpr[7] = (0u | 1558u); @@ -3944,7 +3945,7 @@ L_088C979C: goto L_088C97A4; } L_088C97A4: - ctx.gpr[6] = (aot_gpr_4 + static_cast(1724)); + aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (aot_gpr_29 | 0u); ctx.gpr[7] = (0u | 1608u); @@ -3960,7 +3961,7 @@ L_088C97BC: goto L_088C97C4; } L_088C97C4: - ctx.gpr[6] = (aot_gpr_4 + static_cast(1724)); + aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (aot_gpr_29 | 0u); ctx.gpr[7] = (0u | 1619u); @@ -3976,7 +3977,7 @@ L_088C97DC: goto L_088C97E4; } L_088C97E4: - ctx.gpr[6] = (aot_gpr_4 + static_cast(1724)); + aot_gpr_6 = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (aot_gpr_29 | 0u); ctx.gpr[7] = (0u | 1632u); @@ -4023,11 +4024,11 @@ L_088C9818: aot_gpr_4 = (16384u << 16u); ctx.gpr[20] = (2237u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), std::bit_cast(ctx.fpr[24])); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[17]); { const std::uint32_t aot_run_words[4]{ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(36), aot_run_words); } ctx.fpr[24] = std::bit_cast(aot_gpr_4); - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_5); ctx.gpr[30] = (0u | 218u); ctx.gpr[23] = (0u | 15591u); @@ -4037,13 +4038,13 @@ L_088C9818: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), aot_gpr_31); goto L_088C989C; L_088C989C: - aot_gpr_4 = (aot_gpr_17 << 5u); + aot_gpr_4 = (ctx.gpr[17] << 5u); aot_gpr_5 = (0u + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 << 4u); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_5 = (aot_gpr_4 + ctx.gpr[19]); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); + { const bool branch_taken = aot_gpr_6 == 0u; // nop if (branch_taken) { goto L_088C995C; @@ -4052,10 +4053,10 @@ L_088C989C: } L_088C98BC: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(4)))))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_5 = (aot_gpr_5 << 4u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -4109,7 +4110,7 @@ L_088C9920: aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(60), static_cast(0u)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), ctx.gpr[23]); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), ctx.gpr[22]); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(52), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(52), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(84), std::bit_cast(ctx.fpr[24])); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(116), ctx.gpr[21]); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(61), static_cast(0u)); @@ -4122,9 +4123,9 @@ L_088C9920: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 703u, 0x089B7B80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C995Cu) goto L_088C995C; AOT_REGCACHE_SYNC_OUT(); return; L_088C995C: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - aot_gpr_17 = (aot_gpr_17 & 255u); - aot_gpr_4 = (static_cast(aot_gpr_17) < 3 ? 1u : 0u); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + ctx.gpr[17] = (ctx.gpr[17] & 255u); + aot_gpr_4 = (static_cast(ctx.gpr[17]) < 3 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -4139,7 +4140,7 @@ L_088C9970: ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); aot_gpr_16 = aot_run_words[3]; - aot_gpr_17 = aot_run_words[4]; + ctx.gpr[17] = aot_run_words[4]; ctx.gpr[18] = aot_run_words[5]; ctx.gpr[19] = aot_run_words[6]; ctx.gpr[20] = aot_run_words[7]; @@ -4160,9 +4161,9 @@ L_088C99AC: ctx.gpr[7] = (2237u << 16u); ctx.gpr[7] = (ctx.gpr[7] + static_cast(-1008)); ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[7] + static_cast(1400))); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); - { const bool branch_taken = ctx.gpr[8] == ctx.gpr[6]; + { const bool branch_taken = ctx.gpr[8] == aot_gpr_6; // nop if (branch_taken) { goto L_088C99E8; @@ -4218,7 +4219,7 @@ L_088C9A04: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[7] + static_cast(6308))); - { const bool branch_taken = ctx.gpr[8] != ctx.gpr[6]; + { const bool branch_taken = ctx.gpr[8] != aot_gpr_6; // nop if (branch_taken) { goto L_088C9A34; @@ -4305,8 +4306,8 @@ L_088C9AB4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0048_entry, 48u, 397u, 0x088C6080u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C9AC4u) goto L_088C9AC4; AOT_REGCACHE_SYNC_OUT(); return; L_088C9AC4: - ctx.gpr[6] = (16908u << 16u); - aot_fpr_20 = std::bit_cast(ctx.gpr[6]); + aot_gpr_6 = (16908u << 16u); + aot_fpr_20 = std::bit_cast(aot_gpr_6); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(76))); aot_gpr_4 = (aot_gpr_16 | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); @@ -4372,7 +4373,7 @@ L_088C9B5C: aot_gpr_4 = (ctx.gpr[23] < aot_gpr_5 ? 1u : 0u); { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - { const std::uint32_t aot_run_words[6]{aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22]}; + { const std::uint32_t aot_run_words[6]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(16), aot_run_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), aot_gpr_31); { const bool branch_taken = aot_gpr_4 == 0u; @@ -4384,7 +4385,7 @@ L_088C9B5C: } L_088C9BA8: ctx.fpr[24] = std::bit_cast(aot_gpr_4); - aot_gpr_17 = (2237u << 16u); + ctx.gpr[17] = (2237u << 16u); aot_gpr_4 = (16880u << 16u); ctx.fpr[22] = std::bit_cast(aot_gpr_4); ctx.gpr[22] = (aot_gpr_16 + static_cast(96)); @@ -4394,14 +4395,14 @@ L_088C9BA8: ctx.gpr[20] = (0u | 250u); ctx.gpr[19] = (0u | 3u); ctx.gpr[18] = (0u | 5u); - aot_gpr_17 = (aot_gpr_17 + static_cast(-28320)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(-28320)); goto L_088C9BD8; L_088C9BD8: aot_gpr_4 = (ctx.gpr[23] << 8u); aot_gpr_5 = (ctx.gpr[23] << 6u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8636))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8636))); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); - aot_gpr_5 = (ctx.gpr[6] + aot_gpr_4); + aot_gpr_5 = (aot_gpr_6 + aot_gpr_4); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(144))); { const bool branch_taken = aot_gpr_5 == 0u; // nop @@ -4477,12 +4478,12 @@ L_088C9C54: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(80), 0u); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(92), static_cast(0u)); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(113), static_cast(0u)); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (0u | 0u); - ctx.gpr[6] = (ctx.hi); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(3973)); + aot_gpr_6 = (ctx.hi); + aot_gpr_6 = (aot_gpr_6 + static_cast(3973)); aot_gpr_31 = (0x088C9CA8u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), ctx.gpr[6]); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_6); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 703u, 0x089B7B80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C9CA8u) goto L_088C9CA8; AOT_REGCACHE_SYNC_OUT(); return; L_088C9CA8: @@ -4504,7 +4505,7 @@ L_088C9CC0: ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); aot_gpr_16 = aot_run_words[3]; - aot_gpr_17 = aot_run_words[4]; + ctx.gpr[17] = aot_run_words[4]; ctx.gpr[18] = aot_run_words[5]; ctx.gpr[19] = aot_run_words[6]; ctx.gpr[20] = aot_run_words[7]; @@ -4526,12 +4527,12 @@ L_088C9CF8: aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); { const std::uint32_t aot_run_words[3]{ctx.gpr[20], ctx.gpr[21], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(16), aot_run_words); } { const bool branch_taken = aot_gpr_5 == 0u; - ctx.gpr[18] = (ctx.gpr[6] | 0u); + ctx.gpr[18] = (aot_gpr_6 | 0u); if (branch_taken) { goto L_088C9E00; } @@ -4553,8 +4554,8 @@ L_088C9D38: AOT_REGCACHE_SYNC_OUT(); return; L_088C9D40: ctx.gpr[18] = (ctx.gpr[2] | 0u); - aot_gpr_17 = (ctx.gpr[28] + static_cast(7696)); - aot_gpr_4 = (aot_gpr_17 | 0u); + ctx.gpr[17] = (ctx.gpr[28] + static_cast(7696)); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088C9D54u); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 515u, 0x0880A41Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C9D54u) goto L_088C9D54; @@ -4563,7 +4564,7 @@ L_088C9D54: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x088C9D64u); - ctx.gpr[6] = (ctx.gpr[2] | 0u); + aot_gpr_6 = (ctx.gpr[2] | 0u); goto L_088CA4E8; L_088C9D64: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16352))); @@ -4583,14 +4584,14 @@ L_088C9D74: aot_mem.aot_direct_store8(ctx.gpr[21] + static_cast(26268), static_cast(0u)); aot_mem.aot_direct_store8(ctx.gpr[21] + static_cast(26273), static_cast(0u)); aot_mem.aot_direct_store8(ctx.gpr[21] + static_cast(26278), static_cast(0u)); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088C9D9Cu); aot_gpr_5 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C9D9Cu) goto L_088C9D9C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C9D9Cu) goto L_088C9D9C; AOT_REGCACHE_SYNC_OUT(); return; L_088C9D9C: - aot_gpr_4 = (aot_gpr_17 | 0u); - aot_gpr_17 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); + ctx.gpr[17] = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x088C9DACu); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 515u, 0x0880A41Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C9DACu) goto L_088C9DAC; @@ -4601,19 +4602,19 @@ L_088C9DAC: aot_gpr_4 = (ctx.lo); // nop // nop - { const std::uint32_t dividend = aot_gpr_4; const std::uint32_t divisor = aot_gpr_17; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } + { const std::uint32_t dividend = aot_gpr_4; const std::uint32_t divisor = ctx.gpr[17]; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } aot_gpr_4 = (0u | 10u); aot_mem.aot_direct_store8(ctx.gpr[21] + static_cast(26304), static_cast(0u)); aot_gpr_5 = (0u | 1u); aot_mem.aot_direct_store8(ctx.gpr[21] + static_cast(26240), static_cast(aot_gpr_5)); aot_gpr_5 = (ctx.gpr[28] + ctx.gpr[19]); - ctx.gpr[6] = (ctx.lo); - ctx.gpr[7] = (ctx.gpr[6] << 3u); - ctx.gpr[7] = (ctx.gpr[6] + ctx.gpr[7]); - ctx.gpr[7] = (ctx.gpr[6] + ctx.gpr[7]); - ctx.gpr[7] = (ctx.gpr[6] + ctx.gpr[7]); + aot_gpr_6 = (ctx.lo); + ctx.gpr[7] = (aot_gpr_6 << 3u); + ctx.gpr[7] = (aot_gpr_6 + ctx.gpr[7]); + ctx.gpr[7] = (aot_gpr_6 + ctx.gpr[7]); + ctx.gpr[7] = (aot_gpr_6 + ctx.gpr[7]); { const std::uint32_t dividend = ctx.gpr[7]; const std::uint32_t divisor = aot_gpr_4; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } - aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(26284), ctx.gpr[6]); + aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(26284), aot_gpr_6); aot_gpr_4 = (ctx.lo); aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(26284), aot_gpr_4); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(-23834), static_cast(0u)); @@ -4622,7 +4623,7 @@ L_088C9E00: { std::uint32_t aot_run_words[7]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -4637,8 +4638,8 @@ L_088C9E00: AOT_REGCACHE_SYNC_OUT(); return; L_088C9E24: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_5 & 255u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_5 & 255u); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); @@ -4650,7 +4651,7 @@ L_088C9E24: goto L_088C9E44; } L_088C9E44: - aot_gpr_4 = (static_cast(aot_gpr_17) < 5 ? 1u : 0u); + aot_gpr_4 = (static_cast(ctx.gpr[17]) < 5 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -4661,11 +4662,11 @@ L_088C9E44: L_088C9E50: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088C9E5Cu); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0053_entry, 53u, 528u, 0x088DB3C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C9E5Cu) goto L_088C9E5C; AOT_REGCACHE_SYNC_OUT(); return; L_088C9E5C: - aot_gpr_4 = (aot_gpr_16 + aot_gpr_17); + aot_gpr_4 = (aot_gpr_16 + ctx.gpr[17]); { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(26268))); if (branch_taken) { @@ -4680,7 +4681,7 @@ L_088C9E6C: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -4718,8 +4719,8 @@ L_088C9EC8: ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_088C9ED4: - ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0))); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0))); + { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_5 = (aot_gpr_5 & 255u); if (branch_taken) { goto L_088C9F08; @@ -4727,8 +4728,8 @@ L_088C9ED4: goto L_088C9EE0; } L_088C9EE0: - ctx.gpr[6] = (static_cast(aot_gpr_5) < 5 ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_6 = (static_cast(aot_gpr_5) < 5 ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 == 0u; // nop if (branch_taken) { goto L_088C9F08; @@ -4736,9 +4737,9 @@ L_088C9EE0: goto L_088C9EEC; } L_088C9EEC: - ctx.gpr[6] = (aot_gpr_4 + aot_gpr_5); + aot_gpr_6 = (aot_gpr_4 + aot_gpr_5); aot_gpr_5 = (aot_gpr_5 << 4u); - aot_mem.aot_direct_store8(ctx.gpr[6] + static_cast(26240), static_cast(0u)); + aot_mem.aot_direct_store8(aot_gpr_6 + static_cast(26240), static_cast(0u)); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_13), std::bit_cast(aot_fpr_14)}; aot_mem.aot_direct_store32_block(aot_gpr_4 + static_cast(26160), aot_run_words); } @@ -4804,7 +4805,7 @@ L_088C9F70: aot_fpr_20 = aot_fpr_20 - aot_fpr_12; aot_gpr_31 = (0x088C9F88u); aot_gpr_4 = (ctx.gpr[28] + static_cast(7696)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C9F88u) goto L_088C9F88; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088C9F88u) goto L_088C9F88; AOT_REGCACHE_SYNC_OUT(); return; L_088C9F88: aot_fpr_12 = std::bit_cast(ctx.gpr[2]); @@ -4858,8 +4859,8 @@ L_088C9FE0: ctx.gpr[19] = (aot_gpr_5 & 255u); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[20]); - ctx.gpr[20] = (ctx.gpr[6] & 255u); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, ctx.gpr[18]}; + ctx.gpr[20] = (aot_gpr_6 & 255u); + { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_31); { const bool branch_taken = aot_gpr_5 == 0u; @@ -4882,19 +4883,19 @@ L_088CA01C: aot_gpr_4 = (ctx.gpr[19] << 2u); ctx.gpr[18] = (aot_gpr_16 + aot_gpr_4); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16352))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(26248))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(26248))); aot_gpr_5 = (aot_gpr_5 + static_cast(6028)); - { const bool branch_taken = ctx.gpr[6] == aot_gpr_5; - aot_gpr_17 = (aot_gpr_16 + ctx.gpr[19]); + { const bool branch_taken = aot_gpr_6 == aot_gpr_5; + ctx.gpr[17] = (aot_gpr_16 + ctx.gpr[19]); if (branch_taken) { goto L_088CA16C; } goto L_088CA038; } L_088CA038: - ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(26268))); + aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(26268))); aot_gpr_5 = (0u | 1u); - { const bool branch_taken = ctx.gpr[6] != aot_gpr_5; + { const bool branch_taken = aot_gpr_6 != aot_gpr_5; // nop if (branch_taken) { goto L_088CA16C; @@ -4902,8 +4903,8 @@ L_088CA038: goto L_088CA048; } L_088CA048: - ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(26273))); - { const bool branch_taken = ctx.gpr[6] == aot_gpr_5; + aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(26273))); + { const bool branch_taken = aot_gpr_6 == aot_gpr_5; // nop if (branch_taken) { goto L_088CA16C; @@ -4912,12 +4913,12 @@ L_088CA048: } L_088CA054: aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(2))); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(26314), static_cast(ctx.gpr[19])); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(26314), static_cast(ctx.gpr[19])); aot_gpr_5 = (aot_gpr_5 ^ 1u); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(2), static_cast(aot_gpr_5)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(26273), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(26273), static_cast(0u)); aot_gpr_5 = (0u | 1u); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(26304), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(26304), static_cast(aot_gpr_5)); aot_gpr_5 = (ctx.gpr[28] + ctx.gpr[19]); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(8640), static_cast(ctx.gpr[20])); aot_gpr_5 = (2246u << 16u); @@ -4966,7 +4967,7 @@ L_088CA0B4: L_088CA0C0: aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_5 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x088CA0D8u); ctx.gpr[8] = (0u | 1u); @@ -4983,7 +4984,7 @@ L_088CA0D8: L_088CA0E0: aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_5 = (0u + static_cast(-1)); - ctx.gpr[6] = (0u + static_cast(-1)); + aot_gpr_6 = (0u + static_cast(-1)); ctx.gpr[7] = (0u + static_cast(-1)); ctx.gpr[8] = (0u + static_cast(-1)); ctx.gpr[9] = (0u + static_cast(-1)); @@ -4994,16 +4995,16 @@ L_088CA0E0: AOT_REGCACHE_SYNC_OUT(); return; L_088CA104: ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(26248))); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(26278), static_cast(0u)); - aot_gpr_17 = (ctx.gpr[28] + static_cast(7696)); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(26278), static_cast(0u)); + ctx.gpr[17] = (ctx.gpr[28] + static_cast(7696)); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088CA11Cu); aot_gpr_5 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088CA11Cu) goto L_088CA11C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088CA11Cu) goto L_088CA11C; AOT_REGCACHE_SYNC_OUT(); return; L_088CA11C: - aot_gpr_4 = (aot_gpr_17 | 0u); - aot_gpr_17 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); + ctx.gpr[17] = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x088CA12Cu); aot_gpr_5 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 515u, 0x0880A41Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088CA12Cu) goto L_088CA12C; @@ -5014,14 +5015,14 @@ L_088CA12C: aot_gpr_4 = (ctx.lo); // nop // nop - { const std::uint32_t dividend = aot_gpr_4; const std::uint32_t divisor = aot_gpr_17; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } + { const std::uint32_t dividend = aot_gpr_4; const std::uint32_t divisor = ctx.gpr[17]; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } aot_gpr_4 = (0u | 10u); aot_gpr_5 = (ctx.lo); - ctx.gpr[6] = (aot_gpr_5 << 3u); - ctx.gpr[6] = (aot_gpr_5 + ctx.gpr[6]); - ctx.gpr[6] = (aot_gpr_5 + ctx.gpr[6]); - ctx.gpr[6] = (aot_gpr_5 + ctx.gpr[6]); - { const std::uint32_t dividend = ctx.gpr[6]; const std::uint32_t divisor = aot_gpr_4; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } + aot_gpr_6 = (aot_gpr_5 << 3u); + aot_gpr_6 = (aot_gpr_5 + aot_gpr_6); + aot_gpr_6 = (aot_gpr_5 + aot_gpr_6); + aot_gpr_6 = (aot_gpr_5 + aot_gpr_6); + { const std::uint32_t dividend = aot_gpr_6; const std::uint32_t divisor = aot_gpr_4; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(26284), aot_gpr_5); aot_gpr_4 = (ctx.lo); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(26284), aot_gpr_4); @@ -5030,7 +5031,7 @@ L_088CA16C: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -5053,10 +5054,10 @@ L_088CA18C: aot_gpr_16 = (aot_gpr_4 | 0u); ctx.gpr[18] = (aot_gpr_5 | 0u); ctx.gpr[20] = (ctx.gpr[20] + static_cast(30640)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[21]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_31); - aot_gpr_17 = (ctx.gpr[19] | 0u); + ctx.gpr[17] = (ctx.gpr[19] | 0u); ctx.gpr[21] = (0u | 0u); goto L_088CA1C8; L_088CA1C8: @@ -5083,9 +5084,9 @@ L_088CA1E0: goto L_088CA1E8; } L_088CA1E8: - aot_gpr_17 = (ctx.gpr[21] << 24u); + ctx.gpr[17] = (ctx.gpr[21] << 24u); { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (static_cast(static_cast(aot_gpr_17) >> 24u)); + ctx.gpr[17] = (static_cast(static_cast(ctx.gpr[17]) >> 24u)); if (branch_taken) { goto L_088CA204; } @@ -5102,7 +5103,7 @@ L_088CA1F4: goto L_088CA204; } L_088CA204: - { const bool branch_taken = aot_gpr_17 == ctx.gpr[19]; + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[19]; // nop if (branch_taken) { goto L_088CA24C; @@ -5111,7 +5112,7 @@ L_088CA204: } L_088CA20C: aot_gpr_5 = (2246u << 16u); - aot_gpr_4 = (aot_gpr_17 << 2u); + aot_gpr_4 = (ctx.gpr[17] << 2u); aot_gpr_5 = (aot_gpr_5 + static_cast(30664)); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); @@ -5128,21 +5129,21 @@ L_088CA228: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0173_entry, 173u, 405u, 0x08ABA450u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088CA230u) goto L_088CA230; AOT_REGCACHE_SYNC_OUT(); return; L_088CA230: - aot_gpr_17 = (aot_gpr_17 & 255u); + ctx.gpr[17] = (ctx.gpr[17] & 255u); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088CA240u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); goto L_088CA378; L_088CA240: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088CA24Cu); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); goto L_088CA578; L_088CA24C: { std::uint32_t aot_run_words[7]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -5156,8 +5157,8 @@ L_088CA24C: ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_088CA270: - ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0))); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0))); + { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_5 = (aot_gpr_5 & 255u); if (branch_taken) { goto L_088CA2B4; @@ -5165,8 +5166,8 @@ L_088CA270: goto L_088CA27C; } L_088CA27C: - ctx.gpr[6] = (static_cast(aot_gpr_5) < 5 ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_6 = (static_cast(aot_gpr_5) < 5 ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 == 0u; // nop if (branch_taken) { goto L_088CA2AC; @@ -5214,8 +5215,8 @@ L_088CA2B4: aot_gpr_5 = (aot_gpr_5 + static_cast(-16520)); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - ctx.gpr[6] = (aot_gpr_5 + static_cast(1)); - aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), ctx.gpr[6]); + aot_gpr_6 = (aot_gpr_5 + static_cast(1)); + aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_6); aot_gpr_4 = (aot_gpr_5 & 63u); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -5248,8 +5249,8 @@ L_088CA2EC: ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_088CA2F4: - ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0))); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0))); + { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_5 = (aot_gpr_5 & 255u); if (branch_taken) { goto L_088CA338; @@ -5257,8 +5258,8 @@ L_088CA2F4: goto L_088CA300; } L_088CA300: - ctx.gpr[6] = (static_cast(aot_gpr_5) < 5 ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_6 = (static_cast(aot_gpr_5) < 5 ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 == 0u; // nop if (branch_taken) { goto L_088CA330; @@ -5306,8 +5307,8 @@ L_088CA338: aot_gpr_5 = (aot_gpr_5 + static_cast(-16500)); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - ctx.gpr[6] = (aot_gpr_5 + static_cast(1)); - aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), ctx.gpr[6]); + aot_gpr_6 = (aot_gpr_5 + static_cast(1)); + aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_6); aot_gpr_4 = (aot_gpr_5 & 63u); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -5341,9 +5342,9 @@ L_088CA370: AOT_REGCACHE_SYNC_OUT(); return; L_088CA378: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0))); + aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); - { const bool branch_taken = ctx.gpr[6] == 0u; + { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_5 = (aot_gpr_5 & 255u); if (branch_taken) { goto L_088CA408; @@ -5351,9 +5352,9 @@ L_088CA378: goto L_088CA38C; } L_088CA38C: - ctx.gpr[6] = (static_cast(aot_gpr_5) < 5 ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] == 0u; - ctx.gpr[6] = (aot_gpr_4 | 0u); + aot_gpr_6 = (static_cast(aot_gpr_5) < 5 ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 == 0u; + aot_gpr_6 = (aot_gpr_4 | 0u); if (branch_taken) { goto L_088CA408; } @@ -5363,9 +5364,9 @@ L_088CA398: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16352))); ctx.gpr[7] = (aot_gpr_5 << 2u); aot_gpr_4 = (aot_gpr_4 + static_cast(6028)); - ctx.gpr[7] = (ctx.gpr[6] + ctx.gpr[7]); + ctx.gpr[7] = (aot_gpr_6 + ctx.gpr[7]); aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(26248), aot_gpr_4); - aot_gpr_4 = (ctx.gpr[6] + aot_gpr_5); + aot_gpr_4 = (aot_gpr_6 + aot_gpr_5); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(26268), static_cast(0u)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(26273), static_cast(0u)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(26278), static_cast(0u)); @@ -5375,8 +5376,8 @@ L_088CA398: aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(26284), 0u); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(26309), static_cast(0u)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(26314))); - ctx.gpr[6] = (aot_mem.aot_direct_load8(ctx.gpr[6] + static_cast(1))); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_6 + static_cast(1))); + { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_5 = (ctx.gpr[28] + static_cast(7696)); if (branch_taken) { goto L_088CA3F8; @@ -5384,10 +5385,10 @@ L_088CA398: goto L_088CA3E0; } L_088CA3E0: - ctx.gpr[6] = (aot_gpr_4 + static_cast(19)); + aot_gpr_6 = (aot_gpr_4 + static_cast(19)); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x088CA3F0u); - aot_gpr_5 = (ctx.gpr[6] | 0u); + aot_gpr_5 = (aot_gpr_6 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 550u, 0x0880A680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088CA3F0u) goto L_088CA3F0; AOT_REGCACHE_SYNC_OUT(); return; L_088CA3F0: @@ -5399,10 +5400,10 @@ L_088CA3F0: goto L_088CA3F8; } L_088CA3F8: - ctx.gpr[6] = (aot_gpr_4 + static_cast(22)); + aot_gpr_6 = (aot_gpr_4 + static_cast(22)); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x088CA408u); - aot_gpr_5 = (ctx.gpr[6] | 0u); + aot_gpr_5 = (aot_gpr_6 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 550u, 0x0880A680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088CA408u) goto L_088CA408; AOT_REGCACHE_SYNC_OUT(); return; L_088CA408: @@ -5415,8 +5416,8 @@ L_088CA408: AOT_REGCACHE_SYNC_OUT(); return; L_088CA414: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_5 & 255u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_5 & 255u); aot_gpr_5 = (2237u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(-1008)); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(1512))); @@ -5432,7 +5433,7 @@ L_088CA414: L_088CA43C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088CA448u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); goto L_088CA2F4; L_088CA448: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -5444,7 +5445,7 @@ L_088CA448: } L_088CA450: aot_gpr_31 = (0x088CA458u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); goto L_088CA494; L_088CA458: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -5486,7 +5487,7 @@ L_088CA480: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -5560,15 +5561,15 @@ L_088CA4E8: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16348))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 << 2u); - aot_gpr_4 = (aot_gpr_5 + ctx.gpr[6]); + aot_gpr_4 = (aot_gpr_5 + aot_gpr_6); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-16348), aot_gpr_4); aot_gpr_4 = (2246u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(30688)); aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), ctx.gpr[6]); + aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x088CA520u); - aot_gpr_4 = (ctx.gpr[6] | 0u); + aot_gpr_4 = (aot_gpr_6 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 468u, 0x08ABE29Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088CA520u) goto L_088CA520; AOT_REGCACHE_SYNC_OUT(); return; L_088CA520: @@ -5590,9 +5591,9 @@ L_088CA540: aot_gpr_4 = (0u | 1u); goto L_088CA54C; L_088CA54C: - ctx.gpr[6] = (aot_gpr_5 + ctx.gpr[28]); - ctx.gpr[6] = (aot_mem.aot_direct_load8(ctx.gpr[6] + static_cast(8656))); - { const bool branch_taken = ctx.gpr[6] != aot_gpr_4; + aot_gpr_6 = (aot_gpr_5 + ctx.gpr[28]); + aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_6 + static_cast(8656))); + { const bool branch_taken = aot_gpr_6 != aot_gpr_4; // nop if (branch_taken) { goto L_088CA560; @@ -5604,8 +5605,8 @@ L_088CA55C: goto L_088CA560; L_088CA560: aot_gpr_5 = (aot_gpr_5 + static_cast(1)); - ctx.gpr[6] = (static_cast(aot_gpr_5) < 5 ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] != 0u; + aot_gpr_6 = (static_cast(aot_gpr_5) < 5 ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 != 0u; // nop if (branch_taken) { goto L_088CA54C; @@ -5623,20 +5624,20 @@ L_088CA578: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_5 = (aot_gpr_5 & 255u); ctx.gpr[7] = (2237u << 16u); - ctx.gpr[6] = (aot_gpr_5 << 2u); + aot_gpr_6 = (aot_gpr_5 << 2u); ctx.gpr[7] = (ctx.gpr[7] + static_cast(23168)); - ctx.gpr[6] = (ctx.gpr[6] + ctx.gpr[7]); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(0))); + aot_gpr_6 = (aot_gpr_6 + ctx.gpr[7]); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); - { const bool branch_taken = ctx.gpr[6] == 0u; - ctx.gpr[6] = (ctx.gpr[28] + aot_gpr_5); + { const bool branch_taken = aot_gpr_6 == 0u; + aot_gpr_6 = (ctx.gpr[28] + aot_gpr_5); if (branch_taken) { goto L_088CA5C8; } goto L_088CA5A0; } L_088CA5A0: - ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[6] + static_cast(8648))); + ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_6 + static_cast(8648))); { const bool branch_taken = ctx.gpr[7] != 0u; // nop if (branch_taken) { @@ -5669,7 +5670,7 @@ L_088CA5C8: } L_088CA5D0: aot_gpr_4 = (0u | 1u); - aot_mem.aot_direct_store8(ctx.gpr[6] + static_cast(8648), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(aot_gpr_6 + static_cast(8648), static_cast(aot_gpr_4)); goto L_088CA5D8; L_088CA5D8: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -5686,49 +5687,49 @@ L_088CA5E4: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_5 & 255u); aot_gpr_4 = (2237u << 16u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_16 << 2u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_16 << 2u); aot_gpr_4 = (aot_gpr_4 + static_cast(23168)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[19]); - ctx.gpr[19] = (aot_gpr_17 + aot_gpr_4); + ctx.gpr[19] = (ctx.gpr[17] + aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); aot_gpr_31 = (0x088CA61Cu); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(0))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088CA61Cu) goto L_088CA61C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088CA61Cu) goto L_088CA61C; AOT_REGCACHE_SYNC_OUT(); return; L_088CA61C: aot_gpr_4 = (2246u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(30688)); - aot_gpr_4 = (aot_gpr_17 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[17] + aot_gpr_4); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16348))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16348))); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), 0u); - aot_gpr_4 = (ctx.gpr[6] - aot_gpr_5); + aot_gpr_4 = (aot_gpr_6 - aot_gpr_5); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-16348), aot_gpr_4); - ctx.gpr[6] = (2246u << 16u); + aot_gpr_6 = (2246u << 16u); aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(0), 0u); aot_gpr_4 = (ctx.gpr[28] + aot_gpr_16); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(30640)); + aot_gpr_6 = (aot_gpr_6 + static_cast(30640)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(8656), static_cast(0u)); aot_gpr_5 = (0u + static_cast(-1)); - ctx.gpr[6] = (aot_gpr_17 + ctx.gpr[6]); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(0), aot_gpr_5); + aot_gpr_6 = (ctx.gpr[17] + aot_gpr_6); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(0), aot_gpr_5); aot_gpr_5 = (0u | 1u); - ctx.gpr[6] = (2246u << 16u); + aot_gpr_6 = (2246u << 16u); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(8640), static_cast(aot_gpr_5)); - aot_gpr_5 = (ctx.gpr[6] + static_cast(30664)); - aot_gpr_5 = (aot_gpr_17 + aot_gpr_5); + aot_gpr_5 = (aot_gpr_6 + static_cast(30664)); + aot_gpr_5 = (ctx.gpr[17] + aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), 0u); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(8624), static_cast(0u)); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16352))); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(8648), static_cast(0u)); aot_gpr_4 = (aot_gpr_5 + static_cast(6028)); - aot_gpr_5 = (ctx.gpr[18] + aot_gpr_17); + aot_gpr_5 = (ctx.gpr[18] + ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(26248), aot_gpr_4); { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; @@ -5755,8 +5756,8 @@ L_088CA6BC: aot_gpr_5 = (aot_gpr_5 + static_cast(30640)); aot_gpr_5 = (aot_gpr_4 + aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); - ctx.gpr[6] = (0u + static_cast(-1)); - { const bool branch_taken = aot_gpr_5 != ctx.gpr[6]; + aot_gpr_6 = (0u + static_cast(-1)); + { const bool branch_taken = aot_gpr_5 != aot_gpr_6; aot_gpr_5 = (2246u << 16u); if (branch_taken) { goto L_088CA6EC; @@ -5795,7 +5796,7 @@ L_088CA6F8: L_088CA700: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0))); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_16 = (aot_gpr_4 | 0u); @@ -5805,18 +5806,18 @@ L_088CA700: goto L_088CA71C; } L_088CA71C: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); goto L_088CA720; L_088CA720: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088CA72Cu); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0053_entry, 53u, 528u, 0x088DB3C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088CA72Cu) goto L_088CA72C; AOT_REGCACHE_SYNC_OUT(); return; L_088CA72C: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - aot_gpr_17 = (aot_gpr_17 & 255u); - aot_gpr_4 = (static_cast(aot_gpr_17) < 5 ? 1u : 0u); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + ctx.gpr[17] = (ctx.gpr[17] & 255u); + aot_gpr_4 = (static_cast(ctx.gpr[17]) < 5 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -5881,7 +5882,7 @@ L_088CA794: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -5964,7 +5965,7 @@ L_088CA814: ctx.gpr[18] = (2237u << 16u); ctx.gpr[18] = (ctx.gpr[18] + static_cast(-28320)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); { const std::uint32_t aot_run_words[3]{ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(12), aot_run_words); } { const bool branch_taken = aot_gpr_5 != 0u; @@ -6021,21 +6022,21 @@ L_088CA8AC: } L_088CA8B4: aot_gpr_5 = (aot_gpr_4 << 4u); - ctx.gpr[6] = (aot_gpr_4 << 6u); + aot_gpr_6 = (aot_gpr_4 << 6u); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(1920))); - ctx.gpr[7] = (0u - ctx.gpr[6]); - aot_gpr_5 = (ctx.gpr[6] << 4u); + ctx.gpr[7] = (0u - aot_gpr_6); + aot_gpr_5 = (aot_gpr_6 << 4u); aot_gpr_4 = (aot_gpr_4 << 4u); aot_gpr_5 = (ctx.gpr[7] + aot_gpr_5); - ctx.gpr[6] = (aot_gpr_4 + aot_gpr_4); + aot_gpr_6 = (aot_gpr_4 + aot_gpr_4); aot_gpr_5 = (aot_gpr_16 + aot_gpr_5); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(40))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(40))); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(38))); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -6046,13 +6047,13 @@ L_088CA8B4: } L_088CA900: aot_gpr_4 = (2236u << 16u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_5 = (0u | 10u); aot_gpr_4 = (aot_gpr_4 + static_cast(-20624)); ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23761))); goto L_088CA914; L_088CA914: - ctx.gpr[7] = (ctx.gpr[7] + ctx.gpr[6]); + ctx.gpr[7] = (ctx.gpr[7] + aot_gpr_6); ctx.gpr[7] = (ctx.gpr[7] + static_cast(1)); { const std::int32_t dividend = static_cast(ctx.gpr[7]); const std::int32_t divisor = static_cast(aot_gpr_5); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } ctx.gpr[7] = (ctx.hi); @@ -6068,21 +6069,21 @@ L_088CA914: } L_088CA938: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1962))); - ctx.gpr[6] = (aot_gpr_4 << 4u); + aot_gpr_6 = (aot_gpr_4 << 4u); ctx.gpr[7] = (aot_gpr_4 << 6u); aot_gpr_4 = (aot_gpr_4 << 2u); - aot_gpr_4 = (ctx.gpr[6] + aot_gpr_4); + aot_gpr_4 = (aot_gpr_6 + aot_gpr_4); aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(1920))); ctx.gpr[8] = (0u - ctx.gpr[7]); - ctx.gpr[6] = (ctx.gpr[7] << 4u); + aot_gpr_6 = (ctx.gpr[7] << 4u); aot_gpr_4 = (aot_gpr_4 << 4u); - ctx.gpr[6] = (ctx.gpr[8] + ctx.gpr[6]); + aot_gpr_6 = (ctx.gpr[8] + aot_gpr_6); ctx.gpr[7] = (aot_gpr_4 + aot_gpr_4); - ctx.gpr[6] = (aot_gpr_16 + ctx.gpr[6]); + aot_gpr_6 = (aot_gpr_16 + aot_gpr_6); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[7]); aot_gpr_5 = (0u + static_cast(-1)); - aot_gpr_4 = (ctx.gpr[6] + aot_gpr_4); + aot_gpr_4 = (aot_gpr_6 + aot_gpr_4); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(37), static_cast(aot_gpr_5)); if (branch_taken) { @@ -6091,9 +6092,9 @@ L_088CA938: goto L_088CA980; } L_088CA980: - ctx.gpr[6] = (ctx.gpr[6] + static_cast(1)); - ctx.gpr[6] = (ctx.gpr[6] & 255u); - ctx.gpr[7] = (static_cast(ctx.gpr[6]) < 10 ? 1u : 0u); + aot_gpr_6 = (aot_gpr_6 + static_cast(1)); + aot_gpr_6 = (aot_gpr_6 & 255u); + ctx.gpr[7] = (static_cast(aot_gpr_6) < 10 ? 1u : 0u); if (ctx.gpr[7] != 0u) { ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23761))); goto L_088CA914; @@ -6125,7 +6126,7 @@ L_088CA9BC: aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_5 = (0u | 7u); aot_gpr_31 = (0x088CA9CCu); - ctx.gpr[6] = (ctx.gpr[19] | 0u); + aot_gpr_6 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 502u, 0x0880A390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088CA9CCu) goto L_088CA9CC; AOT_REGCACHE_SYNC_OUT(); return; L_088CA9CC: @@ -6205,7 +6206,7 @@ L_088CAA24: aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_5 = (0u | 7u); aot_gpr_31 = (0x088CAA34u); - ctx.gpr[6] = (ctx.gpr[19] | 0u); + aot_gpr_6 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 497u, 0x0880A350u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088CAA34u) goto L_088CAA34; AOT_REGCACHE_SYNC_OUT(); return; L_088CAA34: @@ -6233,18 +6234,18 @@ L_088CAA48: L_088CAA50: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1962))); aot_gpr_5 = (aot_gpr_4 << 4u); - ctx.gpr[6] = (aot_gpr_4 << 6u); + aot_gpr_6 = (aot_gpr_4 << 6u); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(1920))); - ctx.gpr[7] = (0u - ctx.gpr[6]); - aot_gpr_5 = (ctx.gpr[6] << 4u); + ctx.gpr[7] = (0u - aot_gpr_6); + aot_gpr_5 = (aot_gpr_6 << 4u); aot_gpr_4 = (aot_gpr_4 << 4u); aot_gpr_5 = (ctx.gpr[7] + aot_gpr_5); - ctx.gpr[6] = (aot_gpr_4 + aot_gpr_4); + aot_gpr_6 = (aot_gpr_4 + aot_gpr_4); aot_gpr_5 = (aot_gpr_16 + aot_gpr_5); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(52), 0u); @@ -6256,35 +6257,35 @@ L_088CAA50: aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(64), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1962))); aot_gpr_5 = (aot_gpr_4 << 4u); - ctx.gpr[6] = (aot_gpr_4 << 6u); + aot_gpr_6 = (aot_gpr_4 << 6u); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(1920))); - ctx.gpr[7] = (0u - ctx.gpr[6]); - aot_gpr_5 = (ctx.gpr[6] << 4u); + ctx.gpr[7] = (0u - aot_gpr_6); + aot_gpr_5 = (aot_gpr_6 << 4u); aot_gpr_4 = (aot_gpr_4 << 4u); aot_gpr_5 = (ctx.gpr[7] + aot_gpr_5); - ctx.gpr[6] = (aot_gpr_4 + aot_gpr_4); + aot_gpr_6 = (aot_gpr_4 + aot_gpr_4); aot_gpr_5 = (aot_gpr_16 + aot_gpr_5); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(36))); aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(72), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1962))); aot_gpr_5 = (aot_gpr_4 << 4u); - ctx.gpr[6] = (aot_gpr_4 << 6u); + aot_gpr_6 = (aot_gpr_4 << 6u); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(1920))); - ctx.gpr[7] = (0u - ctx.gpr[6]); - aot_gpr_5 = (ctx.gpr[6] << 4u); + ctx.gpr[7] = (0u - aot_gpr_6); + aot_gpr_5 = (aot_gpr_6 << 4u); aot_gpr_4 = (aot_gpr_4 << 4u); aot_gpr_5 = (ctx.gpr[7] + aot_gpr_5); - ctx.gpr[6] = (aot_gpr_4 + aot_gpr_4); + aot_gpr_6 = (aot_gpr_4 + aot_gpr_4); aot_gpr_5 = (aot_gpr_16 + aot_gpr_5); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(32))); aot_gpr_4 = (0u | 1u); @@ -6296,7 +6297,7 @@ L_088CAA50: aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(84), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_gpr_5); aot_gpr_5 = (0u | 158u); - { const bool branch_taken = aot_gpr_17 != aot_gpr_5; + { const bool branch_taken = ctx.gpr[17] != aot_gpr_5; aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(88), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_088CAB68; @@ -6311,11 +6312,11 @@ L_088CAB5C: L_088CAB68: aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(92), static_cast(aot_gpr_4)); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1962))); - ctx.gpr[6] = (aot_gpr_5 << 6u); - ctx.gpr[7] = (0u - ctx.gpr[6]); - ctx.gpr[6] = (ctx.gpr[6] << 4u); - ctx.gpr[6] = (ctx.gpr[7] + ctx.gpr[6]); - ctx.gpr[6] = (aot_gpr_16 + ctx.gpr[6]); + aot_gpr_6 = (aot_gpr_5 << 6u); + ctx.gpr[7] = (0u - aot_gpr_6); + aot_gpr_6 = (aot_gpr_6 << 4u); + aot_gpr_6 = (ctx.gpr[7] + aot_gpr_6); + aot_gpr_6 = (aot_gpr_16 + aot_gpr_6); ctx.gpr[7] = (aot_gpr_5 << 4u); aot_gpr_5 = (aot_gpr_5 << 2u); aot_gpr_5 = (ctx.gpr[7] + aot_gpr_5); @@ -6324,7 +6325,7 @@ L_088CAB68: aot_gpr_5 = (aot_gpr_5 << 4u); ctx.gpr[7] = (aot_gpr_5 + aot_gpr_5); aot_gpr_5 = (aot_gpr_5 + ctx.gpr[7]); - aot_gpr_5 = (ctx.gpr[6] + aot_gpr_5); + aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); aot_gpr_5 = (aot_gpr_5 + static_cast(16)); { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; @@ -6345,25 +6346,25 @@ L_088CAB68: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(56))); aot_gpr_31 = (0x088CABCCu); aot_gpr_4 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088CABCCu) goto L_088CABCC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088CABCCu) goto L_088CABCC; AOT_REGCACHE_SYNC_OUT(); return; L_088CABCC: - aot_gpr_17 = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (ctx.gpr[2] | 0u); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x088CABDCu); aot_gpr_5 = (0u | 750u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088CABDCu) goto L_088CABDC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089B7A84, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088CABDCu) goto L_088CABDC; AOT_REGCACHE_SYNC_OUT(); return; L_088CABDC: - aot_gpr_4 = (aot_gpr_17 + ctx.gpr[2]); + aot_gpr_4 = (ctx.gpr[17] + ctx.gpr[2]); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(68), aot_gpr_4); aot_gpr_4 = (0u + static_cast(-1)); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1962))); - ctx.gpr[6] = (aot_gpr_5 << 6u); - ctx.gpr[7] = (0u - ctx.gpr[6]); - ctx.gpr[6] = (ctx.gpr[6] << 4u); - ctx.gpr[6] = (ctx.gpr[7] + ctx.gpr[6]); - ctx.gpr[6] = (aot_gpr_16 + ctx.gpr[6]); + aot_gpr_6 = (aot_gpr_5 << 6u); + ctx.gpr[7] = (0u - aot_gpr_6); + aot_gpr_6 = (aot_gpr_6 << 4u); + aot_gpr_6 = (ctx.gpr[7] + aot_gpr_6); + aot_gpr_6 = (aot_gpr_16 + aot_gpr_6); ctx.gpr[7] = (aot_gpr_5 << 4u); aot_gpr_5 = (aot_gpr_5 << 2u); aot_gpr_5 = (ctx.gpr[7] + aot_gpr_5); @@ -6372,7 +6373,7 @@ L_088CABDC: aot_gpr_5 = (aot_gpr_5 << 4u); ctx.gpr[7] = (aot_gpr_5 + aot_gpr_5); aot_gpr_5 = (aot_gpr_5 + ctx.gpr[7]); - aot_gpr_5 = (ctx.gpr[6] + aot_gpr_5); + aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(37), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(38))); { const bool branch_taken = aot_gpr_4 != 0u; @@ -6385,9 +6386,9 @@ L_088CABDC: L_088CAC34: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23761))); aot_gpr_5 = (2236u << 16u); - ctx.gpr[6] = (aot_gpr_4 << 2u); + aot_gpr_6 = (aot_gpr_4 << 2u); aot_gpr_5 = (aot_gpr_5 + static_cast(-20624)); - aot_gpr_5 = (ctx.gpr[6] + aot_gpr_5); + aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), ctx.gpr[19]); aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-23761), static_cast(aot_gpr_4)); @@ -6430,7 +6431,7 @@ L_088CAC88: aot_gpr_4 = (0u | 1u); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(1962), static_cast(aot_gpr_4)); ctx.gpr[18] = (0u | 0u); - aot_gpr_17 = (aot_gpr_16 | 0u); + ctx.gpr[17] = (aot_gpr_16 | 0u); { const bool branch_taken = 0u == 0u; ctx.gpr[19] = (aot_gpr_16 | 0u); if (branch_taken) { @@ -6441,11 +6442,11 @@ L_088CAC88: L_088CACA0: aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(1962), static_cast(0u)); ctx.gpr[18] = (0u | 1u); - aot_gpr_17 = (aot_gpr_16 + static_cast(1)); + ctx.gpr[17] = (aot_gpr_16 + static_cast(1)); ctx.gpr[19] = (aot_gpr_16 + static_cast(20)); goto L_088CACB0; L_088CACB0: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(1960))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(1960))); ctx.gpr[20] = (0u | 0u); aot_gpr_4 = (static_cast(ctx.gpr[20]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; @@ -6465,8 +6466,8 @@ L_088CACC4: L_088CACD8: aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(1920))); aot_gpr_5 = (aot_gpr_5 << 4u); - ctx.gpr[6] = (aot_gpr_5 + aot_gpr_5); - aot_gpr_5 = (aot_gpr_5 + ctx.gpr[6]); + aot_gpr_6 = (aot_gpr_5 + aot_gpr_5); + aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); aot_gpr_5 = (ctx.gpr[18] + aot_gpr_5); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(37)))))); { const bool branch_taken = static_cast(aot_gpr_5) <= 0; @@ -6482,17 +6483,17 @@ L_088CACF8: aot_gpr_5 = (aot_gpr_4 + aot_gpr_4); aot_gpr_5 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (ctx.gpr[18] + aot_gpr_5); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(37)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(37)))))); aot_gpr_5 = (ctx.gpr[18] + aot_gpr_5); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(-1)); - aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(37), static_cast(ctx.gpr[6])); + aot_gpr_6 = (aot_gpr_6 + static_cast(-1)); + aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(37), static_cast(aot_gpr_6)); aot_gpr_31 = (0x088CAD24u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0048_entry, 48u, 364u, 0x088C5CF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088CAD24u) goto L_088CAD24; AOT_REGCACHE_SYNC_OUT(); return; L_088CAD24: ctx.gpr[20] = (ctx.gpr[20] + static_cast(1)); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(1960))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(1960))); ctx.gpr[20] = (ctx.gpr[20] & 255u); aot_gpr_4 = (static_cast(ctx.gpr[20]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; @@ -6507,12 +6508,12 @@ L_088CAD3C: aot_gpr_5 = (0u | 20u); goto L_088CAD44; L_088CAD44: - ctx.gpr[6] = (ctx.gpr[19] + aot_gpr_4); + aot_gpr_6 = (ctx.gpr[19] + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store8(ctx.gpr[6] + static_cast(1920), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(aot_gpr_6 + static_cast(1920), static_cast(aot_gpr_5)); aot_gpr_4 = (aot_gpr_4 & 255u); - ctx.gpr[6] = (static_cast(aot_gpr_4) < 20 ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] != 0u; + aot_gpr_6 = (static_cast(aot_gpr_4) < 20 ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 != 0u; // nop if (branch_taken) { goto L_088CAD44; @@ -6520,13 +6521,13 @@ L_088CAD44: goto L_088CAD60; } L_088CAD60: - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(1960), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(1960), static_cast(0u)); goto L_088CAD64; L_088CAD64: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -6544,7 +6545,7 @@ L_088CAD84: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); ctx.gpr[18] = (0u | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); { const std::uint32_t aot_run_words[4]{ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(12), aot_run_words); } { const bool branch_taken = aot_gpr_5 == 0u; @@ -6652,11 +6653,11 @@ L_088CAE30: L_088CAE38: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7800))); aot_gpr_5 = (aot_gpr_4 + aot_gpr_4); - ctx.gpr[6] = (aot_gpr_4 << 8u); + aot_gpr_6 = (aot_gpr_4 << 8u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_gpr_4 << 5u); aot_gpr_5 = (2238u << 16u); - aot_gpr_4 = (ctx.gpr[6] + aot_gpr_4); + aot_gpr_4 = (aot_gpr_6 + aot_gpr_4); aot_gpr_5 = (aot_gpr_5 + static_cast(-6992)); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_31 = (0x088CAE64u); @@ -6744,7 +6745,7 @@ L_088CAEC8: L_088CAED0: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(86)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_5 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_5) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; ctx.gpr[21] = (ctx.gpr[28] + static_cast(7696)); @@ -6757,11 +6758,11 @@ L_088CAEE8: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); goto L_088CAEF8; L_088CAEF8: { const bool branch_taken = 0u == 0u; - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(648))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(648))); if (branch_taken) { goto L_088CAF48; } @@ -6779,7 +6780,7 @@ L_088CAF00: L_088CAF0C: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(86)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_5 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_5) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 != 0u; ctx.gpr[21] = (ctx.gpr[28] + static_cast(7696)); @@ -6790,7 +6791,7 @@ L_088CAF0C: } L_088CAF24: { const bool branch_taken = 0u == 0u; - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(648))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(648))); if (branch_taken) { goto L_088CAF48; } @@ -6808,8 +6809,8 @@ L_088CAF34: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(648))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(648))); goto L_088CAF48; L_088CAF48: aot_gpr_5 = (aot_gpr_4 | 0u); @@ -6854,8 +6855,8 @@ L_088CAF74: L_088CAF7C: aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(4))); aot_gpr_4 = (0u | 0u); - ctx.gpr[6] = (aot_gpr_4 < aot_gpr_5 ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_6 = (aot_gpr_4 < aot_gpr_5 ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 == 0u; ctx.gpr[7] = (0u | 16u); if (branch_taken) { goto L_088CAFC4; @@ -6863,10 +6864,10 @@ L_088CAF7C: goto L_088CAF90; } L_088CAF90: - ctx.gpr[6] = (aot_gpr_16 | 0u); + aot_gpr_6 = (aot_gpr_16 | 0u); goto L_088CAF94; L_088CAF94: - ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[6] + static_cast(4312))); + ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_6 + static_cast(4312))); { const bool branch_taken = ctx.gpr[8] == 0u; // nop if (branch_taken) { @@ -6875,7 +6876,7 @@ L_088CAF94: goto L_088CAFA0; } L_088CAFA0: - ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[6] + static_cast(4252))); + ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_6 + static_cast(4252))); { const bool branch_taken = ctx.gpr[8] != ctx.gpr[7]; // nop if (branch_taken) { @@ -6895,7 +6896,7 @@ L_088CAFB4: aot_gpr_4 = (aot_gpr_4 + static_cast(1)); ctx.gpr[8] = (aot_gpr_4 < aot_gpr_5 ? 1u : 0u); { const bool branch_taken = ctx.gpr[8] != 0u; - ctx.gpr[6] = (ctx.gpr[6] + static_cast(96)); + aot_gpr_6 = (aot_gpr_6 + static_cast(96)); if (branch_taken) { goto L_088CAF94; } @@ -6916,7 +6917,7 @@ L_088CAFCC: } goto L_088CAFD4; L_088CAFD4: - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(648))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(648))); aot_gpr_31 = (0x088CAFE0u); aot_gpr_4 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 475u, 0x0880A244u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088CAFE0u) goto L_088CAFE0; @@ -6964,7 +6965,7 @@ L_088CB014: ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_088CB02C: - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(648))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(648))); aot_gpr_31 = (0x088CB038u); aot_gpr_4 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 475u, 0x0880A244u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088CB038u) goto L_088CB038; @@ -7041,7 +7042,7 @@ L_088CB088: AOT_REGCACHE_SYNC_OUT(); return; L_088CB0A0: { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (0u | 61u); + ctx.gpr[17] = (0u | 61u); if (branch_taken) { goto L_088CB0D4; } @@ -7049,7 +7050,7 @@ L_088CB0A0: } L_088CB0A8: { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (0u | 66u); + ctx.gpr[17] = (0u | 66u); if (branch_taken) { goto L_088CB0D4; } @@ -7057,7 +7058,7 @@ L_088CB0A8: } L_088CB0B0: { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (0u | 62u); + ctx.gpr[17] = (0u | 62u); if (branch_taken) { goto L_088CB0D4; } @@ -7065,7 +7066,7 @@ L_088CB0B0: } L_088CB0B8: { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (0u | 63u); + ctx.gpr[17] = (0u | 63u); if (branch_taken) { goto L_088CB0D4; } @@ -7073,7 +7074,7 @@ L_088CB0B8: } L_088CB0C0: { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (0u | 64u); + ctx.gpr[17] = (0u | 64u); if (branch_taken) { goto L_088CB0D4; } @@ -7081,17 +7082,17 @@ L_088CB0C0: } L_088CB0C8: { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (0u | 65u); + ctx.gpr[17] = (0u | 65u); if (branch_taken) { goto L_088CB0D4; } goto L_088CB0D0; } L_088CB0D0: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); goto L_088CB0D4; L_088CB0D4: - { const bool branch_taken = aot_gpr_17 == 0u; + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_088CB100; @@ -7100,7 +7101,7 @@ L_088CB0D4: } L_088CB0DC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(27028))); - { const bool branch_taken = aot_gpr_4 == aot_gpr_17; + { const bool branch_taken = aot_gpr_4 == ctx.gpr[17]; // nop if (branch_taken) { goto L_088CB100; @@ -7108,7 +7109,7 @@ L_088CB0DC: goto L_088CB0E8; } L_088CB0E8: - aot_gpr_5 = (aot_gpr_17 & 255u); + aot_gpr_5 = (ctx.gpr[17] & 255u); aot_gpr_31 = (0x088CB0F4u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0109_entry, 109u, 7u, 0x089B8068u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088CB0F4u) goto L_088CB0F4; @@ -7122,13 +7123,13 @@ L_088CB0F4: goto L_088CB0FC; } L_088CB0FC: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(27028), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(27028), ctx.gpr[17]); goto L_088CB100; L_088CB100: { std::uint32_t aot_run_words[7]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -7143,8 +7144,8 @@ L_088CB100: AOT_REGCACHE_SYNC_OUT(); return; L_088CB124: aot_gpr_29 = (aot_gpr_29 + static_cast(-64)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), aot_gpr_17); - aot_gpr_17 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_4 | 0u); aot_gpr_4 = (0u + static_cast(-1)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), std::bit_cast(aot_fpr_20)); @@ -7158,7 +7159,7 @@ L_088CB124: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), aot_gpr_31); aot_gpr_31 = (0x088CB170u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0048_entry, 48u, 454u, 0x088C63C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088CB170u) goto L_088CB170; AOT_REGCACHE_SYNC_OUT(); return; L_088CB170: @@ -7218,14 +7219,14 @@ L_088CB1B4: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_5 = (aot_gpr_17 + static_cast(96)); + aot_gpr_5 = (ctx.gpr[17] + static_cast(96)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(4), static_cast(0u)); aot_gpr_31 = (0x088CB1D0u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); goto L_088CA7B0; L_088CB1D0: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), std::bit_cast(ctx.fpr[0])); @@ -7309,10 +7310,10 @@ L_088CB238: L_088CB25C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(852))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-1044))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-1044))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_5); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(628))); - { const bool branch_taken = ctx.gpr[6] != ctx.gpr[18]; + { const bool branch_taken = aot_gpr_6 != ctx.gpr[18]; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_088CB28C; @@ -7321,7 +7322,7 @@ L_088CB25C: } L_088CB278: aot_gpr_31 = (0x088CB280u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0048_entry, 48u, 454u, 0x088C63C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088CB280u) goto L_088CB280; AOT_REGCACHE_SYNC_OUT(); return; L_088CB280: @@ -7355,19 +7356,19 @@ L_088CB29C: ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_088CB2B4: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088CB2C0u); aot_gpr_5 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0051_entry, 51u, 97u, 0x088D0610u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088CB2C0u) goto L_088CB2C0; AOT_REGCACHE_SYNC_OUT(); return; L_088CB2C0: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088CB2CCu); aot_gpr_5 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0051_entry, 51u, 41u, 0x088D02ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088CB2CCu) goto L_088CB2CC; AOT_REGCACHE_SYNC_OUT(); return; L_088CB2CC: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088CB2D8u); aot_gpr_5 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0048_entry, 48u, 743u, 0x088C7944u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088CB2D8u) goto L_088CB2D8; @@ -7381,13 +7382,13 @@ L_088CB2D8: goto L_088CB2E0; } L_088CB2E0: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088CB2ECu); aot_gpr_5 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0048_entry, 48u, 780u, 0x088C7C54u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088CB2ECu) goto L_088CB2EC; AOT_REGCACHE_SYNC_OUT(); return; L_088CB2EC: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088CB2F8u); aot_gpr_5 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0051_entry, 51u, 97u, 0x088D0610u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088CB2F8u) goto L_088CB2F8; @@ -7401,12 +7402,12 @@ L_088CB2F8: goto L_088CB300; } L_088CB300: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088CB30Cu); aot_gpr_5 = (aot_gpr_29 | 0u); goto L_088CB7B0; L_088CB30C: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088CB318u); aot_gpr_5 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0051_entry, 51u, 97u, 0x088D0610u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088CB318u) goto L_088CB318; @@ -7446,31 +7447,31 @@ L_088CB338: goto L_088CB340; } L_088CB340: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088CB34Cu); aot_gpr_5 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0050_entry, 50u, 247u, 0x088CD55Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088CB34Cu) goto L_088CB34C; AOT_REGCACHE_SYNC_OUT(); return; L_088CB34C: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088CB358u); aot_gpr_5 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0050_entry, 50u, 834u, 0x088CFFF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088CB358u) goto L_088CB358; AOT_REGCACHE_SYNC_OUT(); return; L_088CB358: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088CB364u); aot_gpr_5 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0048_entry, 48u, 743u, 0x088C7944u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088CB364u) goto L_088CB364; AOT_REGCACHE_SYNC_OUT(); return; L_088CB364: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088CB370u); aot_gpr_5 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0048_entry, 48u, 805u, 0x088C7FC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088CB370u) goto L_088CB370; AOT_REGCACHE_SYNC_OUT(); return; L_088CB370: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088CB37Cu); aot_gpr_5 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0051_entry, 51u, 97u, 0x088D0610u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088CB37Cu) goto L_088CB37C; @@ -7484,18 +7485,18 @@ L_088CB37C: goto L_088CB384; } L_088CB384: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088CB390u); aot_gpr_5 = (aot_gpr_29 | 0u); goto L_088CB7B0; L_088CB390: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088CB39Cu); aot_gpr_5 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0051_entry, 51u, 97u, 0x088D0610u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088CB39Cu) goto L_088CB39C; AOT_REGCACHE_SYNC_OUT(); return; L_088CB39C: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088CB3A8u); aot_gpr_5 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0048_entry, 48u, 743u, 0x088C7944u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088CB3A8u) goto L_088CB3A8; @@ -7509,18 +7510,18 @@ L_088CB3A8: goto L_088CB3B0; } L_088CB3B0: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088CB3BCu); aot_gpr_5 = (aot_gpr_29 | 0u); goto L_088C8198; L_088CB3BC: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088CB3C8u); aot_gpr_5 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0051_entry, 51u, 97u, 0x088D0610u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088CB3C8u) goto L_088CB3C8; AOT_REGCACHE_SYNC_OUT(); return; L_088CB3C8: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088CB3D4u); aot_gpr_5 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0050_entry, 50u, 735u, 0x088CF7BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088CB3D4u) goto L_088CB3D4; @@ -7534,13 +7535,13 @@ L_088CB3D4: goto L_088CB3DC; } L_088CB3DC: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088CB3E8u); aot_gpr_5 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0051_entry, 51u, 386u, 0x088D2248u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088CB3E8u) goto L_088CB3E8; AOT_REGCACHE_SYNC_OUT(); return; L_088CB3E8: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088CB3F4u); aot_gpr_5 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0051_entry, 51u, 97u, 0x088D0610u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088CB3F4u) goto L_088CB3F4; @@ -7565,7 +7566,7 @@ L_088CB3FC: goto L_088CB410; } L_088CB410: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088CB41Cu); aot_gpr_5 = (aot_gpr_29 | 0u); goto L_088CB7B0; @@ -7578,25 +7579,25 @@ L_088CB41C: goto L_088CB424; } L_088CB424: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088CB430u); aot_gpr_5 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0051_entry, 51u, 299u, 0x088D1C48u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088CB430u) goto L_088CB430; AOT_REGCACHE_SYNC_OUT(); return; L_088CB430: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088CB43Cu); aot_gpr_5 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0048_entry, 48u, 791u, 0x088C7E1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088CB43Cu) goto L_088CB43C; AOT_REGCACHE_SYNC_OUT(); return; L_088CB43C: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088CB448u); aot_gpr_5 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0051_entry, 51u, 97u, 0x088D0610u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088CB448u) goto L_088CB448; AOT_REGCACHE_SYNC_OUT(); return; L_088CB448: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088CB454u); aot_gpr_5 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0048_entry, 48u, 743u, 0x088C7944u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088CB454u) goto L_088CB454; @@ -7611,19 +7612,19 @@ L_088CB454: } L_088CB45C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (0x088CB46Cu); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0048_entry, 48u, 650u, 0x088C7360u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088CB46Cu) goto L_088CB46C; AOT_REGCACHE_SYNC_OUT(); return; L_088CB46C: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088CB478u); aot_gpr_5 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0050_entry, 50u, 769u, 0x088CFAC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088CB478u) goto L_088CB478; AOT_REGCACHE_SYNC_OUT(); return; L_088CB478: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088CB484u); aot_gpr_5 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0050_entry, 50u, 834u, 0x088CFFF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088CB484u) goto L_088CB484; @@ -7643,7 +7644,7 @@ L_088CB48C: goto L_088CB498; } L_088CB498: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088CB4A4u); aot_gpr_5 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0051_entry, 51u, 441u, 0x088D2660u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088CB4A4u) goto L_088CB4A4; @@ -7657,7 +7658,7 @@ L_088CB4A4: goto L_088CB4AC; } L_088CB4AC: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088CB4B8u); aot_gpr_5 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0051_entry, 51u, 488u, 0x088D2BC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088CB4B8u) goto L_088CB4B8; @@ -7673,13 +7674,13 @@ L_088CB4B8: } L_088CB4C4: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (0x088CB4D4u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0048_entry, 48u, 650u, 0x088C7360u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088CB4D4u) goto L_088CB4D4; AOT_REGCACHE_SYNC_OUT(); return; L_088CB4D4: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088CB4E0u); aot_gpr_5 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0050_entry, 50u, 292u, 0x088CD96Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088CB4E0u) goto L_088CB4E0; @@ -7704,7 +7705,7 @@ L_088CB4E8: goto L_088CB4FC; } L_088CB4FC: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088CB508u); aot_gpr_5 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0050_entry, 50u, 294u, 0x088CD97Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088CB508u) goto L_088CB508; @@ -7715,7 +7716,7 @@ L_088CB508: aot_gpr_4 = (aot_gpr_4 & 496u); aot_gpr_4 = (aot_gpr_4 >> 4u); { const bool branch_taken = aot_gpr_4 == ctx.gpr[18]; - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (branch_taken) { goto L_088CB528; } @@ -7727,43 +7728,43 @@ L_088CB520: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0050_entry, 50u, 769u, 0x088CFAC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088CB528u) goto L_088CB528; AOT_REGCACHE_SYNC_OUT(); return; L_088CB528: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088CB534u); aot_gpr_5 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0050_entry, 50u, 834u, 0x088CFFF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088CB534u) goto L_088CB534; AOT_REGCACHE_SYNC_OUT(); return; L_088CB534: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088CB540u); aot_gpr_5 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0051_entry, 51u, 41u, 0x088D02ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088CB540u) goto L_088CB540; AOT_REGCACHE_SYNC_OUT(); return; L_088CB540: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088CB54Cu); aot_gpr_5 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0048_entry, 48u, 762u, 0x088C7AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088CB54Cu) goto L_088CB54C; AOT_REGCACHE_SYNC_OUT(); return; L_088CB54C: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088CB558u); aot_gpr_5 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0048_entry, 48u, 743u, 0x088C7944u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088CB558u) goto L_088CB558; AOT_REGCACHE_SYNC_OUT(); return; L_088CB558: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088CB564u); aot_gpr_5 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0050_entry, 50u, 318u, 0x088CDBA4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088CB564u) goto L_088CB564; AOT_REGCACHE_SYNC_OUT(); return; L_088CB564: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088CB570u); aot_gpr_5 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0050_entry, 50u, 735u, 0x088CF7BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088CB570u) goto L_088CB570; AOT_REGCACHE_SYNC_OUT(); return; L_088CB570: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088CB57Cu); aot_gpr_5 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0051_entry, 51u, 97u, 0x088D0610u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088CB57Cu) goto L_088CB57C; @@ -7779,9 +7780,9 @@ L_088CB57C: } L_088CB588: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (0x088CB598u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0048_entry, 48u, 650u, 0x088C7360u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088CB598u) goto L_088CB598; AOT_REGCACHE_SYNC_OUT(); return; L_088CB598: @@ -7827,13 +7828,13 @@ L_088CB5C4: goto L_088CB5D0; } L_088CB5D0: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088CB5DCu); aot_gpr_5 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0048_entry, 48u, 534u, 0x088C686Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088CB5DCu) goto L_088CB5DC; AOT_REGCACHE_SYNC_OUT(); return; L_088CB5DC: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088CB5E8u); aot_gpr_5 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0048_entry, 48u, 743u, 0x088C7944u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088CB5E8u) goto L_088CB5E8; @@ -7855,13 +7856,13 @@ L_088CB5F0: goto L_088CB5F8; } L_088CB5F8: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088CB604u); aot_gpr_5 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0050_entry, 50u, 150u, 0x088CCD9Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088CB604u) goto L_088CB604; AOT_REGCACHE_SYNC_OUT(); return; L_088CB604: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088CB610u); aot_gpr_5 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0048_entry, 48u, 743u, 0x088C7944u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088CB610u) goto L_088CB610; @@ -7877,7 +7878,7 @@ L_088CB610: L_088CB618: aot_gpr_31 = (0x088CB620u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088CB620u) goto L_088CB620; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B01E00, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088CB620u) goto L_088CB620; AOT_REGCACHE_SYNC_OUT(); return; L_088CB620: aot_gpr_4 = (ctx.gpr[2] | 0u); @@ -7897,18 +7898,18 @@ L_088CB630: goto L_088CB63C; } L_088CB63C: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088CB648u); aot_gpr_5 = (aot_gpr_29 | 0u); goto L_088CB7B0; L_088CB648: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088CB654u); aot_gpr_5 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0050_entry, 50u, 735u, 0x088CF7BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088CB654u) goto L_088CB654; AOT_REGCACHE_SYNC_OUT(); return; L_088CB654: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088CB660u); aot_gpr_5 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0048_entry, 48u, 743u, 0x088C7944u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088CB660u) goto L_088CB660; @@ -7948,12 +7949,12 @@ L_088CB678: goto L_088CB688; } L_088CB688: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088CB694u); aot_gpr_5 = (aot_gpr_29 | 0u); goto L_088C8E74; L_088CB694: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088CB6A0u); aot_gpr_5 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0050_entry, 50u, 292u, 0x088CD96Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088CB6A0u) goto L_088CB6A0; @@ -7967,7 +7968,7 @@ L_088CB6A0: goto L_088CB6A8; } L_088CB6A8: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088CB6B4u); aot_gpr_5 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0048_entry, 48u, 567u, 0x088C6ADCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088CB6B4u) goto L_088CB6B4; @@ -7984,31 +7985,31 @@ L_088CB6B4: goto L_088CB6C8; } L_088CB6C8: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088CB6D4u); aot_gpr_5 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0050_entry, 50u, 294u, 0x088CD97Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088CB6D4u) goto L_088CB6D4; AOT_REGCACHE_SYNC_OUT(); return; L_088CB6D4: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088CB6E0u); aot_gpr_5 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0050_entry, 50u, 769u, 0x088CFAC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088CB6E0u) goto L_088CB6E0; AOT_REGCACHE_SYNC_OUT(); return; L_088CB6E0: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088CB6ECu); aot_gpr_5 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0050_entry, 50u, 735u, 0x088CF7BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088CB6ECu) goto L_088CB6EC; AOT_REGCACHE_SYNC_OUT(); return; L_088CB6EC: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088CB6F8u); aot_gpr_5 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0050_entry, 50u, 834u, 0x088CFFF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088CB6F8u) goto L_088CB6F8; AOT_REGCACHE_SYNC_OUT(); return; L_088CB6F8: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088CB704u); aot_gpr_5 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0051_entry, 51u, 41u, 0x088D02ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088CB704u) goto L_088CB704; @@ -8016,7 +8017,7 @@ L_088CB6F8: L_088CB704: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); aot_gpr_31 = (0x088CB710u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0048_entry, 48u, 687u, 0x088C7638u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088CB710u) goto L_088CB710; AOT_REGCACHE_SYNC_OUT(); return; L_088CB710: @@ -8028,7 +8029,7 @@ L_088CB710: goto L_088CB718; } L_088CB718: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088CB724u); aot_gpr_5 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0048_entry, 48u, 616u, 0x088C6FC8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088CB724u) goto L_088CB724; @@ -8036,7 +8037,7 @@ L_088CB718: L_088CB724: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); aot_gpr_31 = (0x088CB730u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0048_entry, 48u, 726u, 0x088C78A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088CB730u) goto L_088CB730; AOT_REGCACHE_SYNC_OUT(); return; L_088CB730: @@ -8048,37 +8049,37 @@ L_088CB730: goto L_088CB738; } L_088CB738: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088CB744u); aot_gpr_5 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0048_entry, 48u, 710u, 0x088C7710u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088CB744u) goto L_088CB744; AOT_REGCACHE_SYNC_OUT(); return; L_088CB744: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088CB750u); aot_gpr_5 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0048_entry, 48u, 762u, 0x088C7AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088CB750u) goto L_088CB750; AOT_REGCACHE_SYNC_OUT(); return; L_088CB750: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088CB75Cu); aot_gpr_5 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0050_entry, 50u, 318u, 0x088CDBA4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088CB75Cu) goto L_088CB75C; AOT_REGCACHE_SYNC_OUT(); return; L_088CB75C: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088CB768u); aot_gpr_5 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0048_entry, 48u, 743u, 0x088C7944u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088CB768u) goto L_088CB768; AOT_REGCACHE_SYNC_OUT(); return; L_088CB768: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088CB774u); aot_gpr_5 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0048_entry, 48u, 630u, 0x088C7120u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088CB774u) goto L_088CB774; AOT_REGCACHE_SYNC_OUT(); return; L_088CB774: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088CB780u); aot_gpr_5 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0051_entry, 51u, 97u, 0x088D0610u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088CB780u) goto L_088CB780; @@ -8088,7 +8089,7 @@ L_088CB780: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(1724), std::bit_cast(aot_fpr_12)); goto L_088CB788; L_088CB788: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088CB794u); aot_gpr_5 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0048_entry, 48u, 517u, 0x088C66C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088CB794u) goto L_088CB794; @@ -8098,7 +8099,7 @@ L_088CB794: aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(40), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); aot_gpr_16 = aot_run_words[1]; - aot_gpr_17 = aot_run_words[2]; + ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; } @@ -8110,15 +8111,15 @@ L_088CB794: AOT_REGCACHE_SYNC_OUT(); return; L_088CB7B0: aot_gpr_29 = (aot_gpr_29 + static_cast(-368)); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(72))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(72))); ctx.gpr[7] = (0u + static_cast(-2)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), 0u); - ctx.gpr[6] = (ctx.gpr[6] & ctx.gpr[7]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(72), ctx.gpr[6]); - ctx.gpr[6] = (18292u << 16u); + aot_gpr_6 = (aot_gpr_6 & ctx.gpr[7]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(72), aot_gpr_6); + aot_gpr_6 = (18292u << 16u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(8))); - ctx.gpr[6] = (ctx.gpr[6] | 9216u); - aot_fpr_13 = std::bit_cast(ctx.gpr[6]); + aot_gpr_6 = (aot_gpr_6 | 9216u); + aot_fpr_13 = std::bit_cast(aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(316), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(328), ctx.gpr[19]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(332), ctx.gpr[20]); @@ -8133,12 +8134,12 @@ L_088CB7B0: aot_gpr_16 = (aot_gpr_4 | 0u); { const std::uint32_t aot_run_words[4]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(300), aot_run_words); } - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(320), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(320), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(324), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(336), ctx.gpr[21]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(352), aot_gpr_31); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); - aot_gpr_17 = (aot_gpr_5 | 0u); + ctx.gpr[17] = (aot_gpr_5 | 0u); if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0050_entry, 50u, 145u, 0x088CCD34u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } @@ -8150,9 +8151,9 @@ L_088CB834: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088CB83Cu) goto L_088CB83C; AOT_REGCACHE_SYNC_OUT(); return; L_088CB83C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(12))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(12))); if (ctx.gpr[2] != aot_gpr_4) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(12))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(12))); goto L_088CB86C; } goto L_088CB848; @@ -8201,7 +8202,7 @@ L_088CB8A4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 7u, 0x08860358u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088CB8B4u) goto L_088CB8B4; AOT_REGCACHE_SYNC_OUT(); return; L_088CB8B4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(12))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(12))); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; @@ -8271,7 +8272,7 @@ L_088CB91C: aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_5 = (16128u << 16u); ctx.fpr[22] = ctx.fpr[22] + aot_fpr_12; - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(12))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(12))); aot_fpr_13 = std::bit_cast(aot_gpr_5); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(86)))))); aot_gpr_5 = (0u | 278u); @@ -8283,7 +8284,7 @@ L_088CB91C: goto L_088CB944; } L_088CB944: - ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(12))); + ctx.gpr[20] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(12))); aot_gpr_4 = (15969u << 16u); aot_gpr_4 = (aot_gpr_4 | 18350u); ctx.fpr[24] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(948))); @@ -8312,7 +8313,7 @@ L_088CB974: goto L_088CB97C; } L_088CB97C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(12))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(12))); aot_gpr_5 = (0u | 222u); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(86)))))); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; @@ -8323,7 +8324,7 @@ L_088CB97C: goto L_088CB990; } L_088CB990: - ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(12))); + ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(12))); aot_gpr_4 = (15969u << 16u); aot_gpr_4 = (aot_gpr_4 | 18350u); ctx.fpr[24] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(1980))); @@ -8352,7 +8353,7 @@ L_088CB9C0: goto L_088CB9C8; } L_088CB9C8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_gpr_5 = (0u | 4u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -8362,7 +8363,7 @@ L_088CB9C8: goto L_088CB9D8; } L_088CB9D8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(12))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(12))); aot_gpr_5 = (15969u << 16u); ctx.fpr[24] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1640))); aot_gpr_4 = (aot_gpr_5 | 18350u); @@ -8376,7 +8377,7 @@ L_088CB9D8: goto L_088CB9F8; } L_088CB9F8: - ctx.gpr[23] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(12))); + ctx.gpr[23] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(12))); aot_gpr_4 = (15969u << 16u); aot_gpr_4 = (aot_gpr_4 | 18350u); ctx.fpr[24] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast(1640))); @@ -8443,8 +8444,8 @@ L_088CBA68: ctx.fpr[24] = std::bit_cast(aot_gpr_4); goto L_088CBA70; L_088CBA70: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); - aot_gpr_5 = (aot_gpr_17 + static_cast(4)); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); + aot_gpr_5 = (ctx.gpr[17] + static_cast(4)); aot_gpr_31 = (0x088CBA80u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0048_entry, 48u, 397u, 0x088C6080u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088CBA80u) goto L_088CBA80; @@ -8520,9 +8521,9 @@ L_088CBB0C: } L_088CBB14: aot_gpr_5 = (aot_gpr_4 | 0u); - ctx.gpr[6] = (17274u << 16u); + aot_gpr_6 = (17274u << 16u); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(76))); - aot_fpr_12 = std::bit_cast(ctx.gpr[6]); + aot_fpr_12 = std::bit_cast(aot_gpr_6); aot_gpr_31 = (0x088CBB2Cu); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0109_entry, 109u, 21u, 0x089B8190u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088CBB2Cu) goto L_088CBB2C; @@ -8570,10 +8571,10 @@ L_088CBB68: aot_gpr_4 = (17420u << 16u); aot_gpr_5 = (aot_gpr_4 | 49152u); aot_fpr_12 = std::bit_cast(aot_gpr_5); - ctx.gpr[6] = (0u | 4600u); + aot_gpr_6 = (0u | 4600u); aot_gpr_5 = (ctx.gpr[21] | 0u); { const float fs = aot_fpr_20; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), ctx.gpr[6]); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_6); aot_gpr_4 = (0u | 563u); ctx.gpr[7] = (static_cast(aot_gpr_5) < static_cast(ctx.gpr[18]) ? 1u : 0u); if (ctx.gpr[7] != 0u) { @@ -8626,7 +8627,7 @@ L_088CBBF0: } goto L_088CBBFC; L_088CBBFC: - aot_gpr_4 = (ctx.gpr[6] + aot_gpr_5); + aot_gpr_4 = (aot_gpr_6 + aot_gpr_5); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_4); if (branch_taken) { @@ -8639,9 +8640,9 @@ L_088CBC08: aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_5 = (20224u << 16u); { const float fs = aot_fpr_20; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - ctx.gpr[6] = (0u | 3651u); + aot_gpr_6 = (0u | 3651u); aot_fpr_13 = std::bit_cast(aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), ctx.gpr[6]); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_6); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); @@ -8685,7 +8686,7 @@ L_088CBC7C: } goto L_088CBC88; L_088CBC88: - aot_gpr_4 = (ctx.gpr[6] + aot_gpr_5); + aot_gpr_4 = (aot_gpr_6 + aot_gpr_5); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_4); if (branch_taken) { @@ -8699,7 +8700,7 @@ L_088CBC94: aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(60), static_cast(0u)); aot_gpr_31 = (0x088CBCA8u); aot_gpr_4 = (ctx.gpr[28] + static_cast(7696)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088CBCA8u) goto L_088CBCA8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088CBCA8u) goto L_088CBCA8; AOT_REGCACHE_SYNC_OUT(); return; L_088CBCA8: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), ctx.gpr[2]); @@ -8734,7 +8735,7 @@ L_088CBCF0: } L_088CBCF8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast(92))); - ctx.gpr[6] = (aot_gpr_29 + static_cast(80)); + aot_gpr_6 = (aot_gpr_29 + static_cast(80)); aot_gpr_4 = (aot_gpr_4 + static_cast(248)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); @@ -8754,7 +8755,7 @@ L_088CBD18: goto L_088CBD20; } L_088CBD20: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_gpr_5 = (0u | 4u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -8764,7 +8765,7 @@ L_088CBD20: goto L_088CBD30; } L_088CBD30: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(12))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(12))); aot_fpr_12 = std::bit_cast(0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(176), std::bit_cast(aot_fpr_12)); aot_gpr_5 = (49440u << 16u); @@ -8850,7 +8851,7 @@ L_088CBD7C: goto L_088CBD8C; L_088CBD8C: aot_gpr_4 = (18073u << 16u); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); aot_gpr_4 = (aot_gpr_4 | 8192u); aot_fpr_13 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); @@ -8957,7 +8958,7 @@ L_088CBE78: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088CBE80u) goto L_088CBE80; AOT_REGCACHE_SYNC_OUT(); return; L_088CBE80: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(12))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(12))); { const bool branch_taken = ctx.gpr[2] != aot_gpr_4; // nop if (branch_taken) { @@ -8994,7 +8995,7 @@ L_088CBEA8: ctx.gpr[22] = (0u | 1300u); goto L_088CBEAC; L_088CBEAC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(12))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(12))); aot_gpr_5 = (0u | 275u); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(86)))))); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; @@ -9043,8 +9044,8 @@ L_088CBEE8: } L_088CBEF4: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(2228))); - ctx.gpr[6] = (0u | 61u); - { const bool branch_taken = aot_gpr_5 == ctx.gpr[6]; + aot_gpr_6 = (0u | 61u); + { const bool branch_taken = aot_gpr_5 == aot_gpr_6; // nop if (branch_taken) { goto L_088CBF30; @@ -9053,8 +9054,8 @@ L_088CBEF4: } L_088CBF04: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(2228))); - ctx.gpr[6] = (0u | 59u); - { const bool branch_taken = aot_gpr_5 == ctx.gpr[6]; + aot_gpr_6 = (0u | 59u); + { const bool branch_taken = aot_gpr_5 == aot_gpr_6; // nop if (branch_taken) { goto L_088CBF30; @@ -9152,10 +9153,10 @@ L_088CBF9C: aot_gpr_4 = (17673u << 16u); aot_gpr_5 = (aot_gpr_4 | 49152u); aot_fpr_12 = std::bit_cast(aot_gpr_5); - ctx.gpr[6] = (0u | 18000u); + aot_gpr_6 = (0u | 18000u); aot_gpr_5 = (ctx.gpr[21] | 0u); { const float fs = aot_fpr_20; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), ctx.gpr[6]); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_6); aot_gpr_4 = (0u | 2204u); ctx.gpr[8] = (static_cast(aot_gpr_5) < static_cast(ctx.gpr[18]) ? 1u : 0u); if (ctx.gpr[8] != 0u) { diff --git a/profiles/vcs/generated/generated_unit_0050.cpp b/profiles/vcs/generated/generated_unit_0050.cpp index 28162d1..54fe6b5 100644 --- a/profiles/vcs/generated/generated_unit_0050.cpp +++ b/profiles/vcs/generated/generated_unit_0050.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,7 +139,7 @@ static const std::uint16_t kEntryIds_recomp_unit_0050[4093] = { }; void recomp_unit_0050_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,6,16,7,29 fprs=12,13,20,14 gpr_occ=3354 fpr_occ=1455 gpr_total=4529 fpr_total=1872 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,6,16,7,29 fprs=12,13,20,14 gpr_occ=3356 fpr_occ=1455 gpr_total=4534 fpr_total=1872 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_6 = ctx.gpr[6]; @@ -4167,7 +4168,7 @@ L_088CDAB0: aot_gpr_5 = (0u | 296u); ctx.gpr[31] = (0x088CDAE4u); { const float fs = aot_fpr_12; const float ft = aot_fpr_20; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_20 = std::bit_cast(0x7FC00000u); else aot_fpr_20 = fs * ft; } - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088CDAE4u) goto L_088CDAE4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[28], ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088CDAE4u) goto L_088CDAE4; AOT_REGCACHE_SYNC_OUT(); return; L_088CDAE4: aot_gpr_4 = (ctx.gpr[2] | 0u); diff --git a/profiles/vcs/generated/generated_unit_0051.cpp b/profiles/vcs/generated/generated_unit_0051.cpp index 15d038d..d84c05f 100644 --- a/profiles/vcs/generated/generated_unit_0051.cpp +++ b/profiles/vcs/generated/generated_unit_0051.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0051[4094] = { }; void recomp_unit_0051_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,16,17,6,31 fprs=12,13,20,14 gpr_occ=4133 fpr_occ=989 gpr_total=5267 fpr_total=1184 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,16,31,2,28 fprs=12,13,20,14 gpr_occ=4184 fpr_occ=991 gpr_total=5742 fpr_total=1186 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_16 = ctx.gpr[16]; - std::uint32_t aot_gpr_17 = ctx.gpr[17]; - std::uint32_t aot_gpr_6 = ctx.gpr[6]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; + std::uint32_t aot_gpr_2 = ctx.gpr[2]; + std::uint32_t aot_gpr_28 = ctx.gpr[28]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_20 = ctx.fpr[20]; float aot_fpr_14 = ctx.fpr[14]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[16] = aot_gpr_16; ctx.gpr[17] = aot_gpr_17; ctx.gpr[6] = aot_gpr_6; ctx.gpr[31] = aot_gpr_31; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; ctx.fpr[14] = aot_fpr_14; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_17 = ctx.gpr[17]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_31 = ctx.gpr[31]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_14 = ctx.fpr[14]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[16] = aot_gpr_16; ctx.gpr[31] = aot_gpr_31; ctx.gpr[2] = aot_gpr_2; ctx.gpr[28] = aot_gpr_28; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; ctx.fpr[14] = aot_fpr_14; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_2 = ctx.gpr[2]; aot_gpr_28 = ctx.gpr[28]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_14 = ctx.fpr[14]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -805,17 +806,17 @@ L_088D0000: aot_gpr_16 = (aot_gpr_4 | 0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), std::bit_cast(aot_fpr_20)); - { const std::uint32_t aot_run_words[4]{aot_gpr_17, ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(8), aot_run_words); } { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); - aot_gpr_17 = (aot_gpr_5 | 0u); + ctx.gpr[17] = (aot_gpr_5 | 0u); if (branch_taken) { goto L_088D0288; } goto L_088D0028; } L_088D0028: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(12))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(12))); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(618)))))); aot_gpr_4 = (aot_gpr_4 & 32u); { const bool branch_taken = aot_gpr_4 == 0u; @@ -828,11 +829,11 @@ L_088D0028: L_088D003C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088D0048u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0048_entry, 48u, 702u, 0x088C76BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D0048u) goto L_088D0048; AOT_REGCACHE_SYNC_OUT(); return; L_088D0048: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_088D0084; @@ -840,10 +841,10 @@ L_088D0048: goto L_088D0050; } L_088D0050: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(12))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(12))); aot_gpr_5 = (0u | 244u); - aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(86)))))); - { const bool branch_taken = aot_gpr_6 == aot_gpr_5; + ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(86)))))); + { const bool branch_taken = ctx.gpr[6] == aot_gpr_5; // nop if (branch_taken) { goto L_088D007C; @@ -854,7 +855,7 @@ L_088D0064: aot_gpr_5 = (aot_gpr_4 | 0u); ctx.gpr[7] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(558))); { const bool branch_taken = ctx.gpr[7] != 0u; - aot_gpr_6 = (0u | 0u); + ctx.gpr[6] = (0u | 0u); if (branch_taken) { goto L_088D008C; } @@ -862,7 +863,7 @@ L_088D0064: } L_088D0074: { const bool branch_taken = 0u == 0u; - aot_gpr_5 = (aot_gpr_6 & 255u); + aot_gpr_5 = (ctx.gpr[6] & 255u); if (branch_taken) { goto L_088D00B4; } @@ -870,7 +871,7 @@ L_088D0074: } L_088D007C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (ctx.gpr[18] | 0u); + aot_gpr_2 = (ctx.gpr[18] | 0u); if (branch_taken) { goto L_088D028C; } @@ -878,7 +879,7 @@ L_088D007C: } L_088D0084: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (ctx.gpr[18] | 0u); + aot_gpr_2 = (ctx.gpr[18] | 0u); if (branch_taken) { goto L_088D028C; } @@ -887,7 +888,7 @@ L_088D0084: L_088D008C: ctx.gpr[8] = (0u | 65535u); if (ctx.gpr[7] == ctx.gpr[8]) { - aot_gpr_5 = (aot_gpr_6 & 255u); + aot_gpr_5 = (ctx.gpr[6] & 255u); goto L_088D00B4; } goto L_088D0098; @@ -896,15 +897,15 @@ L_088D0098: ctx.gpr[7] = (0u | 80u); aot_gpr_5 = (aot_gpr_5 & 496u); { const bool branch_taken = aot_gpr_5 == ctx.gpr[7]; - aot_gpr_5 = (aot_gpr_6 & 255u); + aot_gpr_5 = (ctx.gpr[6] & 255u); if (branch_taken) { goto L_088D00B4; } goto L_088D00AC; } L_088D00AC: - aot_gpr_6 = (0u | 1u); - aot_gpr_5 = (aot_gpr_6 & 255u); + ctx.gpr[6] = (0u | 1u); + aot_gpr_5 = (ctx.gpr[6] & 255u); goto L_088D00B4; L_088D00B4: { const bool branch_taken = aot_gpr_5 != 0u; @@ -915,7 +916,7 @@ L_088D00B4: goto L_088D00BC; } L_088D00BC: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); ctx.gpr[19] = (0u | 8u); { const bool branch_taken = aot_gpr_5 == ctx.gpr[19]; // nop @@ -943,7 +944,7 @@ L_088D00D8: } L_088D00E0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (ctx.gpr[18] | 0u); + aot_gpr_2 = (ctx.gpr[18] | 0u); if (branch_taken) { goto L_088D028C; } @@ -951,17 +952,17 @@ L_088D00E0: } L_088D00E8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (ctx.gpr[18] | 0u); + aot_gpr_2 = (ctx.gpr[18] | 0u); if (branch_taken) { goto L_088D028C; } goto L_088D00F0; } L_088D00F0: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); - aot_gpr_6 = (aot_gpr_6 & 496u); - aot_gpr_6 = (aot_gpr_6 >> 4u); - { const bool branch_taken = aot_gpr_6 == 0u; + ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); + ctx.gpr[6] = (ctx.gpr[6] & 496u); + ctx.gpr[6] = (ctx.gpr[6] >> 4u); + { const bool branch_taken = ctx.gpr[6] == 0u; // nop if (branch_taken) { goto L_088D0178; @@ -971,15 +972,15 @@ L_088D00F0: L_088D0104: ctx.gpr[7] = (aot_gpr_5 < static_cast(45) ? 1u : 0u); { const bool branch_taken = ctx.gpr[7] != 0u; - aot_gpr_6 = (0u | 44u); + ctx.gpr[6] = (0u | 44u); if (branch_taken) { goto L_088D011C; } goto L_088D0110; } L_088D0110: - aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(700), aot_gpr_6); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(12))); + aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(700), ctx.gpr[6]); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(12))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(700))); goto L_088D011C; L_088D011C: @@ -995,16 +996,16 @@ L_088D0128: aot_gpr_5 = (aot_gpr_5 + ctx.gpr[7]); aot_gpr_5 = (aot_gpr_5 & 7u); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(704), static_cast(aot_gpr_5)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(12))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(12))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(700))); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(704))); goto L_088D0148; L_088D0148: - aot_gpr_5 = (aot_gpr_6 - aot_gpr_5); - aot_gpr_6 = (aot_gpr_4 << 4u); - aot_gpr_4 = (aot_gpr_6 - aot_gpr_4); + aot_gpr_5 = (ctx.gpr[6] - aot_gpr_5); + ctx.gpr[6] = (aot_gpr_4 << 4u); + aot_gpr_4 = (ctx.gpr[6] - aot_gpr_4); aot_gpr_4 = (aot_gpr_4 << 2u); - aot_gpr_4 = (aot_gpr_4 - aot_gpr_6); + aot_gpr_4 = (aot_gpr_4 - ctx.gpr[6]); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_5 = (2233u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(-16944)); @@ -1018,14 +1019,14 @@ L_088D0148: goto L_088D0178; } L_088D0178: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); - aot_gpr_5 = (aot_gpr_17 + static_cast(4)); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); + aot_gpr_5 = (ctx.gpr[17] + static_cast(4)); aot_gpr_31 = (0x088D0188u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0048_entry, 48u, 397u, 0x088C6080u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D0188u) goto L_088D0188; AOT_REGCACHE_SYNC_OUT(); return; L_088D0188: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(12))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(12))); aot_gpr_5 = (16928u << 16u); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(617)))))); aot_gpr_4 = (aot_gpr_4 & 4u); @@ -1046,7 +1047,7 @@ L_088D01A0: } L_088D01A8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (ctx.gpr[18] | 0u); + aot_gpr_2 = (ctx.gpr[18] | 0u); if (branch_taken) { goto L_088D028C; } @@ -1064,12 +1065,12 @@ L_088D01B4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0109_entry, 109u, 21u, 0x089B8190u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D01C8u) goto L_088D01C8; AOT_REGCACHE_SYNC_OUT(); return; L_088D01C8: - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(72), static_cast(ctx.gpr[2])); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(12))); - aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); + aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(72), static_cast(aot_gpr_2)); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(12))); + ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7656))); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(86)))))); - aot_gpr_6 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_6) ? 1u : 0u); - { const bool branch_taken = aot_gpr_6 == 0u; + ctx.gpr[6] = (static_cast(aot_gpr_4) < static_cast(ctx.gpr[6]) ? 1u : 0u); + { const bool branch_taken = ctx.gpr[6] == 0u; aot_gpr_5 = (0u | 0u); if (branch_taken) { goto L_088D01F4; @@ -1077,7 +1078,7 @@ L_088D01C8: goto L_088D01E4; } L_088D01E4: - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(24))); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); @@ -1094,8 +1095,8 @@ L_088D01F4: L_088D0200: aot_gpr_4 = (0u | 4u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(52), aot_gpr_4); - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); - { const bool branch_taken = aot_gpr_6 != ctx.gpr[19]; + ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); + { const bool branch_taken = ctx.gpr[6] != ctx.gpr[19]; // nop if (branch_taken) { goto L_088D0230; @@ -1142,21 +1143,21 @@ L_088D0248: AOT_REGCACHE_SYNC_OUT(); return; L_088D0280: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (ctx.gpr[18] | 0u); + aot_gpr_2 = (ctx.gpr[18] | 0u); if (branch_taken) { goto L_088D028C; } goto L_088D0288; } L_088D0288: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_088D028C; L_088D028C: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(0), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); aot_gpr_16 = aot_run_words[1]; - aot_gpr_17 = aot_run_words[2]; + ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; ctx.gpr[19] = aot_run_words[4]; aot_gpr_31 = aot_run_words[5]; @@ -1169,19 +1170,19 @@ L_088D028C: AOT_REGCACHE_SYNC_OUT(); return; L_088D02AC: ctx.gpr[29] = (ctx.gpr[29] + static_cast(-48)); - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(12))); + ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(12))); aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(8), aot_gpr_16); - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(72))); + ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(72))); aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_4 = (aot_gpr_6 & 496u); + aot_gpr_4 = (ctx.gpr[6] & 496u); ctx.gpr[7] = (0u | 5u); aot_gpr_4 = (aot_gpr_4 >> 4u); aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), std::bit_cast(aot_fpr_20)); aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), std::bit_cast(ctx.fpr[22])); - { const std::uint32_t aot_run_words[6]{aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_31}; + { const std::uint32_t aot_run_words[6]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_31}; aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(12), aot_run_words); } { const bool branch_taken = aot_gpr_4 == ctx.gpr[7]; - aot_gpr_17 = (aot_gpr_5 | 0u); + ctx.gpr[17] = (aot_gpr_5 | 0u); if (branch_taken) { goto L_088D0310; } @@ -1193,8 +1194,8 @@ L_088D02F4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0036_entry, 36u, 262u, 0x08895420u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D02FCu) goto L_088D02FC; AOT_REGCACHE_SYNC_OUT(); return; L_088D02FC: - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(12))); - { const bool branch_taken = ctx.gpr[2] != ctx.gpr[7]; + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(12))); + { const bool branch_taken = aot_gpr_2 != ctx.gpr[7]; // nop if (branch_taken) { goto L_088D0318; @@ -1211,7 +1212,7 @@ L_088D0308: } L_088D0310: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_088D05E4; } @@ -1223,8 +1224,8 @@ L_088D0318: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D0320u) goto L_088D0320; AOT_REGCACHE_SYNC_OUT(); return; L_088D0320: - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(12))); - { const bool branch_taken = ctx.gpr[2] != ctx.gpr[7]; + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(12))); + { const bool branch_taken = aot_gpr_2 != ctx.gpr[7]; // nop if (branch_taken) { goto L_088D034C; @@ -1233,11 +1234,11 @@ L_088D0320: } L_088D032C: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[7] + static_cast(86)))))); - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7656))); ctx.gpr[18] = (0u | 0u); aot_gpr_5 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_5) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 != 0u; - aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); if (branch_taken) { goto L_088D0354; } @@ -1253,14 +1254,14 @@ L_088D0344: } L_088D034C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_088D05E4; } goto L_088D0354; } L_088D0354: - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(24))); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); @@ -1290,8 +1291,8 @@ L_088D0380: } L_088D0390: aot_gpr_4 = (ctx.gpr[7] | 0u); - aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(558))); - { const bool branch_taken = aot_gpr_6 == 0u; + ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(558))); + { const bool branch_taken = ctx.gpr[6] == 0u; aot_gpr_5 = (0u | 0u); if (branch_taken) { goto L_088D03C4; @@ -1300,16 +1301,16 @@ L_088D0390: } L_088D03A0: ctx.gpr[8] = (0u | 65535u); - if (aot_gpr_6 == ctx.gpr[8]) { + if (ctx.gpr[6] == ctx.gpr[8]) { aot_gpr_4 = (aot_gpr_5 & 255u); goto L_088D03C8; } goto L_088D03AC; L_088D03AC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); - aot_gpr_6 = (0u | 80u); + ctx.gpr[6] = (0u | 80u); aot_gpr_4 = (aot_gpr_4 & 496u); - { const bool branch_taken = aot_gpr_4 == aot_gpr_6; + { const bool branch_taken = aot_gpr_4 == ctx.gpr[6]; aot_gpr_4 = (aot_gpr_5 & 255u); if (branch_taken) { goto L_088D03C8; @@ -1332,8 +1333,8 @@ L_088D03C8: } L_088D03D0: aot_gpr_4 = (ctx.gpr[7] | 0u); - aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(558))); - { const bool branch_taken = aot_gpr_6 == 0u; + ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(558))); + { const bool branch_taken = ctx.gpr[6] == 0u; aot_gpr_5 = (0u | 0u); if (branch_taken) { goto L_088D0404; @@ -1342,16 +1343,16 @@ L_088D03D0: } L_088D03E0: ctx.gpr[8] = (0u | 65535u); - if (aot_gpr_6 == ctx.gpr[8]) { + if (ctx.gpr[6] == ctx.gpr[8]) { aot_gpr_4 = (aot_gpr_5 & 255u); goto L_088D0408; } goto L_088D03EC; L_088D03EC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); - aot_gpr_6 = (0u | 80u); + ctx.gpr[6] = (0u | 80u); aot_gpr_4 = (aot_gpr_4 & 496u); - { const bool branch_taken = aot_gpr_4 == aot_gpr_6; + { const bool branch_taken = aot_gpr_4 == ctx.gpr[6]; aot_gpr_4 = (aot_gpr_5 & 255u); if (branch_taken) { goto L_088D0408; @@ -1373,7 +1374,7 @@ L_088D0408: goto L_088D0410; } L_088D0410: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7660))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(700))); aot_gpr_5 = (aot_gpr_5 < aot_gpr_4 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; @@ -1386,7 +1387,7 @@ L_088D0410: L_088D0424: aot_gpr_5 = (aot_gpr_4 + static_cast(750)); aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(700), aot_gpr_5); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(12))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(12))); goto L_088D0430; L_088D0430: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(700))); @@ -1401,27 +1402,27 @@ L_088D0430: } L_088D0444: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (ctx.gpr[19] | 0u); + aot_gpr_2 = (ctx.gpr[19] | 0u); if (branch_taken) { goto L_088D05E4; } goto L_088D044C; } L_088D044C: - aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); goto L_088D0450; L_088D0450: - aot_gpr_5 = (aot_gpr_17 + static_cast(4)); + aot_gpr_5 = (ctx.gpr[17] + static_cast(4)); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_31 = (0x088D0460u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0048_entry, 48u, 397u, 0x088C6080u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D0460u) goto L_088D0460; AOT_REGCACHE_SYNC_OUT(); return; L_088D0460: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(12))); - aot_gpr_6 = (17116u << 16u); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(12))); + ctx.gpr[6] = (17116u << 16u); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(617)))))); - aot_fpr_20 = std::bit_cast(aot_gpr_6); + aot_fpr_20 = std::bit_cast(ctx.gpr[6]); aot_gpr_5 = (aot_gpr_5 & 4u); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_4 = (0u | 80u); @@ -1442,7 +1443,7 @@ L_088D0480: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0109_entry, 109u, 21u, 0x089B8190u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D0494u) goto L_088D0494; AOT_REGCACHE_SYNC_OUT(); return; L_088D0494: - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(72), static_cast(ctx.gpr[2])); + aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(72), static_cast(aot_gpr_2)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(72))); { const bool branch_taken = static_cast(aot_gpr_4) <= 0; // nop @@ -1456,11 +1457,11 @@ L_088D04A4: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(52), ctx.gpr[20]); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088D04B8u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0048_entry, 48u, 697u, 0x088C768Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D04B8u) goto L_088D04B8; AOT_REGCACHE_SYNC_OUT(); return; L_088D04B8: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088D058C; @@ -1468,7 +1469,7 @@ L_088D04B8: goto L_088D04C0; } L_088D04C0: - ctx.gpr[21] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(12))); + ctx.gpr[21] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(12))); aot_gpr_4 = (0u | 4u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(72))); aot_gpr_5 = (aot_gpr_5 & 496u); @@ -1484,7 +1485,7 @@ L_088D04DC: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(700))); ctx.fpr[22] = std::bit_cast(0u); ctx.gpr[21] = (2237u << 16u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(20))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(20))); { const bool branch_taken = aot_gpr_5 != 0u; ctx.gpr[21] = (ctx.gpr[21] + static_cast(-28320)); if (branch_taken) { @@ -1502,7 +1503,7 @@ L_088D04F4: } L_088D04FC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (ctx.gpr[19] | 0u); + aot_gpr_2 = (ctx.gpr[19] | 0u); if (branch_taken) { goto L_088D05E4; } @@ -1528,7 +1529,7 @@ L_088D0510: L_088D0518: aot_gpr_4 = (0u | 310u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(20))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(20))); aot_gpr_5 = (0u | 23u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -1547,13 +1548,13 @@ L_088D0530: goto L_088D053C; } L_088D053C: - aot_gpr_4 = (ctx.gpr[28] + static_cast(7696)); + aot_gpr_4 = (aot_gpr_28 + static_cast(7696)); aot_gpr_31 = (0x088D0548u); aot_gpr_5 = (0u | 310u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D0548u) goto L_088D0548; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D0548u) goto L_088D0548; AOT_REGCACHE_SYNC_OUT(); return; L_088D0548: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_2); goto L_088D054C; L_088D054C: aot_gpr_4 = (0u | 60u); @@ -1620,14 +1621,14 @@ L_088D05A8: AOT_REGCACHE_SYNC_OUT(); return; L_088D05D8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (ctx.gpr[19] | 0u); + aot_gpr_2 = (ctx.gpr[19] | 0u); if (branch_taken) { goto L_088D05E4; } goto L_088D05E0; } L_088D05E0: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_088D05E4; L_088D05E4: { std::uint32_t aot_run_words[9]{}; @@ -1635,7 +1636,7 @@ L_088D05E4: aot_fpr_20 = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); aot_gpr_16 = aot_run_words[2]; - aot_gpr_17 = aot_run_words[3]; + ctx.gpr[17] = aot_run_words[3]; ctx.gpr[18] = aot_run_words[4]; ctx.gpr[19] = aot_run_words[5]; ctx.gpr[20] = aot_run_words[6]; @@ -1654,27 +1655,27 @@ L_088D0610: aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(4), static_cast(0u)); aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(8), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(12), 0u); - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(12))); + ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(12))); aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(40), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(86)))))); - aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[6] + static_cast(86)))))); + ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7656))); aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(48), ctx.gpr[18]); ctx.gpr[18] = (0u | 0u); - aot_gpr_6 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_6) ? 1u : 0u); + ctx.gpr[6] = (static_cast(aot_gpr_4) < static_cast(ctx.gpr[6]) ? 1u : 0u); aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(36), std::bit_cast(aot_fpr_20)); - aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(44), aot_gpr_17); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(44), ctx.gpr[17]); { const std::uint32_t aot_run_words[6]{ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], aot_gpr_31}; aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(52), aot_run_words); } - { const bool branch_taken = aot_gpr_6 == 0u; - aot_gpr_17 = (aot_gpr_5 | 0u); + { const bool branch_taken = ctx.gpr[6] == 0u; + ctx.gpr[17] = (aot_gpr_5 | 0u); if (branch_taken) { goto L_088D067C; } goto L_088D066C; } L_088D066C: - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(24))); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); @@ -1791,32 +1792,32 @@ L_088D0724: aot_gpr_4 = (0u | 34u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(52), aot_gpr_4); aot_gpr_5 = (0u | 6u); - aot_gpr_4 = (ctx.gpr[28] + static_cast(7696)); - aot_gpr_6 = (ctx.hi); - aot_gpr_6 = (aot_gpr_6 << 2u); - aot_gpr_6 = (aot_gpr_16 + aot_gpr_6); - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(26320))); - { const std::uint32_t dividend = aot_gpr_6; const std::uint32_t divisor = aot_gpr_5; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } + aot_gpr_4 = (aot_gpr_28 + static_cast(7696)); + ctx.gpr[6] = (ctx.hi); + ctx.gpr[6] = (ctx.gpr[6] << 2u); + ctx.gpr[6] = (aot_gpr_16 + ctx.gpr[6]); + ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(26320))); + { const std::uint32_t dividend = ctx.gpr[6]; const std::uint32_t divisor = aot_gpr_5; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } aot_gpr_5 = (ctx.hi); aot_gpr_5 = (aot_gpr_5 + static_cast(31)); aot_gpr_31 = (0x088D0768u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D0768u) goto L_088D0768; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D0768u) goto L_088D0768; AOT_REGCACHE_SYNC_OUT(); return; L_088D0768: - ctx.gpr[22] = (ctx.gpr[2] | 0u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), ctx.gpr[2]); + ctx.gpr[22] = (aot_gpr_2 | 0u); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_2); aot_gpr_5 = (ctx.gpr[22] >> 5u); aot_gpr_31 = (0x088D077Cu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D077Cu) goto L_088D077C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089B7A84, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D077Cu) goto L_088D077C; AOT_REGCACHE_SYNC_OUT(); return; L_088D077C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(26332))); aot_gpr_5 = (0u | 20u); { const std::uint32_t dividend = aot_gpr_4; const std::uint32_t divisor = aot_gpr_5; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } aot_fpr_12 = std::bit_cast(0u); - aot_gpr_4 = (ctx.gpr[22] + ctx.gpr[2]); + aot_gpr_4 = (ctx.gpr[22] + aot_gpr_2); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_4); aot_gpr_4 = (0u | 7u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), aot_gpr_4); @@ -1850,13 +1851,13 @@ L_088D07D0: aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(60), static_cast(0u)); aot_gpr_4 = (0u | 36u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(52), aot_gpr_4); - aot_gpr_4 = (ctx.gpr[28] + static_cast(7696)); + aot_gpr_4 = (aot_gpr_28 + static_cast(7696)); aot_gpr_31 = (0x088D07F0u); aot_gpr_5 = (0u | 9u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D07F0u) goto L_088D07F0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D07F0u) goto L_088D07F0; AOT_REGCACHE_SYNC_OUT(); return; L_088D07F0: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_2); aot_fpr_12 = std::bit_cast(0u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), 0u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(84), std::bit_cast(aot_fpr_12)); @@ -1925,14 +1926,14 @@ L_088D0854: goto L_088D085C; } L_088D085C: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(4))); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(4))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(4), static_cast(aot_gpr_4)); aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(8), std::bit_cast(aot_fpr_12)); aot_gpr_5 = (ctx.gpr[29] + static_cast(4)); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088D087Cu); - aot_gpr_6 = (0u | 113u); + ctx.gpr[6] = (0u | 113u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0052_entry, 52u, 496u, 0x088D789Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D087Cu) goto L_088D087C; AOT_REGCACHE_SYNC_OUT(); return; L_088D087C: @@ -1955,7 +1956,7 @@ L_088D0884: ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_088D089C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(12))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(12))); aot_gpr_5 = (15969u << 16u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1640))); aot_gpr_4 = (aot_gpr_5 | 18350u); @@ -2004,14 +2005,14 @@ L_088D08F0: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), aot_gpr_4); { const float fs = aot_fpr_13; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(60), static_cast(0u)); - aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23712))); + aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23712))); aot_gpr_4 = (17561u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(89)); aot_fpr_13 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_13)); aot_gpr_4 = (aot_gpr_4 | 8192u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(52), aot_gpr_5); aot_fpr_20 = std::bit_cast(aot_gpr_4); - aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23712))); + aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23712))); aot_gpr_4 = (0u | 1u); ctx.gpr[22] = (std::bit_cast(aot_fpr_13)); { const bool branch_taken = aot_gpr_5 != aot_gpr_4; @@ -2023,16 +2024,16 @@ L_088D08F0: } L_088D0940: { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-23712), static_cast(0u)); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-23712), static_cast(0u)); if (branch_taken) { goto L_088D0954; } goto L_088D0948; } L_088D0948: - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23712))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23712))); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-23712), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-23712), static_cast(aot_gpr_4)); goto L_088D0954; L_088D0954: aot_gpr_4 = (17914u << 16u); @@ -2078,10 +2079,10 @@ L_088D09B4: aot_gpr_5 = (ctx.gpr[23] >> 5u); aot_gpr_31 = (0x088D09C8u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D09C8u) goto L_088D09C8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089B7A84, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D09C8u) goto L_088D09C8; AOT_REGCACHE_SYNC_OUT(); return; L_088D09C8: - aot_gpr_4 = (ctx.gpr[23] + ctx.gpr[2]); + aot_gpr_4 = (ctx.gpr[23] + aot_gpr_2); aot_fpr_12 = std::bit_cast(0u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_4); aot_gpr_4 = (0u | 2u); @@ -2101,22 +2102,22 @@ L_088D09F0: aot_gpr_5 = (0u | 30u); { const std::uint32_t dividend = aot_gpr_4; const std::uint32_t divisor = aot_gpr_5; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } aot_gpr_4 = (0u | 203u); - aot_gpr_6 = (17608u << 16u); + ctx.gpr[6] = (17608u << 16u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), aot_gpr_4); - aot_fpr_20 = std::bit_cast(aot_gpr_6); + aot_fpr_20 = std::bit_cast(ctx.gpr[6]); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(60), static_cast(0u)); aot_gpr_4 = (0u | 68u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(52), aot_gpr_4); - aot_gpr_4 = (ctx.gpr[28] + static_cast(7696)); + aot_gpr_4 = (aot_gpr_28 + static_cast(7696)); aot_gpr_5 = (0u | 203u); - aot_gpr_6 = (ctx.hi); - ctx.gpr[22] = (aot_gpr_6 + static_cast(80)); + ctx.gpr[6] = (ctx.hi); + ctx.gpr[22] = (ctx.gpr[6] + static_cast(80)); aot_gpr_31 = (0x088D0A30u); ctx.gpr[22] = (ctx.gpr[22] & 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D0A30u) goto L_088D0A30; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D0A30u) goto L_088D0A30; AOT_REGCACHE_SYNC_OUT(); return; L_088D0A30: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_2); aot_fpr_12 = std::bit_cast(0u); aot_gpr_4 = (0u | 5u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), aot_gpr_4); @@ -2163,8 +2164,8 @@ L_088D0A9C: aot_gpr_5 = (aot_gpr_5 | 16384u); aot_fpr_20 = std::bit_cast(aot_gpr_5); aot_gpr_5 = (static_cast(aot_gpr_4) < 2 ? 1u : 0u); - aot_gpr_6 = (ctx.hi); - ctx.gpr[22] = (aot_gpr_6 + static_cast(117)); + ctx.gpr[6] = (ctx.hi); + ctx.gpr[22] = (ctx.gpr[6] + static_cast(117)); { const bool branch_taken = aot_gpr_5 == 0u; ctx.gpr[22] = (ctx.gpr[22] & 255u); if (branch_taken) { @@ -2230,9 +2231,9 @@ L_088D0B08: L_088D0B10: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(48))); aot_gpr_5 = (ctx.gpr[19] + ctx.gpr[19]); - aot_gpr_6 = (aot_gpr_4 << 6u); + ctx.gpr[6] = (aot_gpr_4 << 6u); aot_gpr_4 = (aot_gpr_4 << 3u); - aot_gpr_4 = (aot_gpr_6 - aot_gpr_4); + aot_gpr_4 = (ctx.gpr[6] - aot_gpr_4); aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(60), static_cast(0u)); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); @@ -2240,12 +2241,12 @@ L_088D0B10: aot_gpr_4 = (aot_gpr_4 + static_cast(10)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(52), aot_gpr_4); aot_gpr_31 = (0x088D0B44u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(12))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D0B44u) goto L_088D0B44; + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(12))); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B01E00, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D0B44u) goto L_088D0B44; AOT_REGCACHE_SYNC_OUT(); return; L_088D0B44: aot_gpr_4 = (0u | 3u); - { const bool branch_taken = ctx.gpr[2] != aot_gpr_4; + { const bool branch_taken = aot_gpr_2 != aot_gpr_4; // nop if (branch_taken) { goto L_088D0B5C; @@ -2264,21 +2265,21 @@ L_088D0B50: L_088D0B5C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(56))); aot_gpr_31 = (0x088D0B68u); - aot_gpr_4 = (ctx.gpr[28] + static_cast(7696)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D0B68u) goto L_088D0B68; + aot_gpr_4 = (aot_gpr_28 + static_cast(7696)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D0B68u) goto L_088D0B68; AOT_REGCACHE_SYNC_OUT(); return; L_088D0B68: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_2); goto L_088D0B6C; L_088D0B6C: ctx.gpr[23] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(68))); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088D0B7Cu); aot_gpr_5 = (ctx.gpr[23] >> 5u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D0B7Cu) goto L_088D0B7C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089B7A84, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D0B7Cu) goto L_088D0B7C; AOT_REGCACHE_SYNC_OUT(); return; L_088D0B7C: - aot_gpr_4 = (ctx.gpr[23] + ctx.gpr[2]); + aot_gpr_4 = (ctx.gpr[23] + aot_gpr_2); aot_fpr_12 = std::bit_cast(0u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_4); aot_gpr_4 = (0u | 3u); @@ -2304,8 +2305,8 @@ L_088D0BAC: aot_gpr_5 = (aot_gpr_5 | 16384u); aot_fpr_20 = std::bit_cast(aot_gpr_5); aot_gpr_5 = (static_cast(aot_gpr_4) < 2 ? 1u : 0u); - aot_gpr_6 = (ctx.hi); - ctx.gpr[22] = (aot_gpr_6 + static_cast(122)); + ctx.gpr[6] = (ctx.hi); + ctx.gpr[22] = (ctx.gpr[6] + static_cast(122)); { const bool branch_taken = aot_gpr_5 == 0u; ctx.gpr[22] = (ctx.gpr[22] & 255u); if (branch_taken) { @@ -2371,9 +2372,9 @@ L_088D0C18: L_088D0C20: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(48))); aot_gpr_5 = (ctx.gpr[19] + ctx.gpr[19]); - aot_gpr_6 = (aot_gpr_4 << 6u); + ctx.gpr[6] = (aot_gpr_4 << 6u); aot_gpr_4 = (aot_gpr_4 << 3u); - aot_gpr_4 = (aot_gpr_6 - aot_gpr_4); + aot_gpr_4 = (ctx.gpr[6] - aot_gpr_4); aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(60), static_cast(0u)); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); @@ -2381,12 +2382,12 @@ L_088D0C20: aot_gpr_4 = (aot_gpr_4 + static_cast(22)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(52), aot_gpr_4); aot_gpr_31 = (0x088D0C54u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(12))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D0C54u) goto L_088D0C54; + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(12))); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B01E00, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D0C54u) goto L_088D0C54; AOT_REGCACHE_SYNC_OUT(); return; L_088D0C54: aot_gpr_4 = (0u | 3u); - { const bool branch_taken = ctx.gpr[2] != aot_gpr_4; + { const bool branch_taken = aot_gpr_2 != aot_gpr_4; // nop if (branch_taken) { goto L_088D0C6C; @@ -2405,21 +2406,21 @@ L_088D0C60: L_088D0C6C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(56))); aot_gpr_31 = (0x088D0C78u); - aot_gpr_4 = (ctx.gpr[28] + static_cast(7696)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D0C78u) goto L_088D0C78; + aot_gpr_4 = (aot_gpr_28 + static_cast(7696)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D0C78u) goto L_088D0C78; AOT_REGCACHE_SYNC_OUT(); return; L_088D0C78: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_2); goto L_088D0C7C; L_088D0C7C: ctx.gpr[23] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(68))); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088D0C8Cu); aot_gpr_5 = (ctx.gpr[23] >> 5u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D0C8Cu) goto L_088D0C8C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089B7A84, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D0C8Cu) goto L_088D0C8C; AOT_REGCACHE_SYNC_OUT(); return; L_088D0C8C: - aot_gpr_4 = (ctx.gpr[23] + ctx.gpr[2]); + aot_gpr_4 = (ctx.gpr[23] + aot_gpr_2); aot_fpr_12 = std::bit_cast(0u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_4); aot_gpr_4 = (0u | 3u); @@ -2438,12 +2439,12 @@ L_088D0C8C: } L_088D0CBC: aot_gpr_31 = (0x088D0CC4u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(12))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D0CC4u) goto L_088D0CC4; + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(12))); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B01E00, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D0CC4u) goto L_088D0CC4; AOT_REGCACHE_SYNC_OUT(); return; L_088D0CC4: aot_gpr_4 = (0u | 1u); - { const bool branch_taken = ctx.gpr[2] != aot_gpr_4; + { const bool branch_taken = aot_gpr_2 != aot_gpr_4; // nop if (branch_taken) { goto L_088D0CE4; @@ -2451,7 +2452,7 @@ L_088D0CC4: goto L_088D0CD0; } L_088D0CD0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(12))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(12))); aot_gpr_5 = (0u + static_cast(-1000)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(86)))))); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; @@ -2475,16 +2476,16 @@ L_088D0CEC: aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(60), static_cast(0u)); aot_gpr_4 = (0u | 33u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(52), aot_gpr_4); - aot_gpr_6 = (17505u << 16u); + ctx.gpr[6] = (17505u << 16u); ctx.gpr[22] = (0u | 60u); - aot_fpr_20 = std::bit_cast(aot_gpr_6); - aot_gpr_4 = (ctx.gpr[28] + static_cast(7696)); + aot_fpr_20 = std::bit_cast(ctx.gpr[6]); + aot_gpr_4 = (aot_gpr_28 + static_cast(7696)); aot_gpr_31 = (0x088D0D18u); aot_gpr_5 = (0u | 106u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D0D18u) goto L_088D0D18; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D0D18u) goto L_088D0D18; AOT_REGCACHE_SYNC_OUT(); return; L_088D0D18: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_2); aot_gpr_4 = (0u | 1u); aot_gpr_5 = (16384u << 16u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), aot_gpr_4); @@ -2506,14 +2507,14 @@ L_088D0D44: aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(60), static_cast(0u)); aot_gpr_4 = (0u | 37u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(52), aot_gpr_4); - aot_gpr_4 = (ctx.gpr[28] + static_cast(7696)); + aot_gpr_4 = (aot_gpr_28 + static_cast(7696)); aot_gpr_31 = (0x088D0D64u); aot_gpr_5 = (0u | 204u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D0D64u) goto L_088D0D64; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D0D64u) goto L_088D0D64; AOT_REGCACHE_SYNC_OUT(); return; L_088D0D64: - aot_gpr_4 = (ctx.gpr[2] << 3u); - aot_gpr_4 = (ctx.gpr[2] + aot_gpr_4); + aot_gpr_4 = (aot_gpr_2 << 3u); + aot_gpr_4 = (aot_gpr_2 + aot_gpr_4); ctx.gpr[22] = (0u | 10u); { const std::uint32_t dividend = aot_gpr_4; const std::uint32_t divisor = ctx.gpr[22]; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } aot_gpr_4 = (aot_gpr_16 | 0u); @@ -2521,13 +2522,13 @@ L_088D0D64: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), ctx.gpr[23]); aot_gpr_31 = (0x088D0D88u); aot_gpr_5 = (ctx.gpr[23] >> 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D0D88u) goto L_088D0D88; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089B7A84, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D0D88u) goto L_088D0D88; AOT_REGCACHE_SYNC_OUT(); return; L_088D0D88: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(26336))); { const std::uint32_t dividend = aot_gpr_4; const std::uint32_t divisor = ctx.gpr[22]; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } aot_fpr_12 = std::bit_cast(0u); - aot_gpr_4 = (ctx.gpr[23] + ctx.gpr[2]); + aot_gpr_4 = (ctx.gpr[23] + aot_gpr_2); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_4); aot_gpr_4 = (0u | 5u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), aot_gpr_4); @@ -2552,17 +2553,17 @@ L_088D0DCC: aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(60), static_cast(0u)); aot_gpr_4 = (0u | 81u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(52), aot_gpr_4); - aot_gpr_4 = (ctx.gpr[28] + static_cast(7696)); + aot_gpr_4 = (aot_gpr_28 + static_cast(7696)); aot_gpr_31 = (0x088D0DECu); aot_gpr_5 = (0u | 226u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D0DECu) goto L_088D0DEC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D0DECu) goto L_088D0DEC; AOT_REGCACHE_SYNC_OUT(); return; L_088D0DEC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(26336))); aot_gpr_5 = (0u | 25u); { const std::uint32_t dividend = aot_gpr_4; const std::uint32_t divisor = aot_gpr_5; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } aot_fpr_12 = std::bit_cast(0u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_2); aot_gpr_4 = (0u | 2u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(84), std::bit_cast(aot_fpr_12)); @@ -2587,25 +2588,25 @@ L_088D0E34: aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(60), static_cast(0u)); aot_gpr_4 = (0u | 87u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(52), aot_gpr_4); - aot_gpr_4 = (ctx.gpr[28] + static_cast(7696)); + aot_gpr_4 = (aot_gpr_28 + static_cast(7696)); aot_gpr_31 = (0x088D0E54u); aot_gpr_5 = (0u | 307u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D0E54u) goto L_088D0E54; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D0E54u) goto L_088D0E54; AOT_REGCACHE_SYNC_OUT(); return; L_088D0E54: - ctx.gpr[22] = (ctx.gpr[2] | 0u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), ctx.gpr[2]); + ctx.gpr[22] = (aot_gpr_2 | 0u); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_2); aot_gpr_5 = (ctx.gpr[22] >> 3u); aot_gpr_31 = (0x088D0E68u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D0E68u) goto L_088D0E68; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089B7A84, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D0E68u) goto L_088D0E68; AOT_REGCACHE_SYNC_OUT(); return; L_088D0E68: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(26324))); aot_gpr_5 = (0u | 15u); { const std::uint32_t dividend = aot_gpr_4; const std::uint32_t divisor = aot_gpr_5; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } aot_fpr_12 = std::bit_cast(0u); - aot_gpr_4 = (ctx.gpr[22] + ctx.gpr[2]); + aot_gpr_4 = (ctx.gpr[22] + aot_gpr_2); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_4); aot_gpr_4 = (0u | 5u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), aot_gpr_4); @@ -2628,9 +2629,9 @@ L_088D0E68: L_088D0EB4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(48))); aot_gpr_5 = (ctx.gpr[19] + ctx.gpr[19]); - aot_gpr_6 = (aot_gpr_4 << 6u); + ctx.gpr[6] = (aot_gpr_4 << 6u); aot_gpr_4 = (aot_gpr_4 << 3u); - aot_gpr_4 = (aot_gpr_6 - aot_gpr_4); + aot_gpr_4 = (ctx.gpr[6] - aot_gpr_4); aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(6266))); @@ -2665,14 +2666,14 @@ L_088D0EF4: aot_gpr_5 = (ctx.gpr[22] >> 3u); aot_gpr_31 = (0x088D0F18u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D0F18u) goto L_088D0F18; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089B7A84, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D0F18u) goto L_088D0F18; AOT_REGCACHE_SYNC_OUT(); return; L_088D0F18: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(26320))); aot_gpr_5 = (0u | 15u); { const std::uint32_t dividend = aot_gpr_4; const std::uint32_t divisor = aot_gpr_5; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } aot_fpr_12 = std::bit_cast(0u); - aot_gpr_4 = (ctx.gpr[22] + ctx.gpr[2]); + aot_gpr_4 = (ctx.gpr[22] + aot_gpr_2); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_4); aot_gpr_4 = (0u | 5u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), aot_gpr_4); @@ -2698,17 +2699,17 @@ L_088D0F64: aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(60), static_cast(0u)); aot_gpr_4 = (0u | 86u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(52), aot_gpr_4); - aot_gpr_4 = (ctx.gpr[28] + static_cast(7696)); + aot_gpr_4 = (aot_gpr_28 + static_cast(7696)); aot_gpr_31 = (0x088D0F84u); aot_gpr_5 = (0u | 324u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D0F84u) goto L_088D0F84; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D0F84u) goto L_088D0F84; AOT_REGCACHE_SYNC_OUT(); return; L_088D0F84: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(26320))); aot_gpr_5 = (0u | 15u); { const std::uint32_t dividend = aot_gpr_4; const std::uint32_t divisor = aot_gpr_5; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } aot_fpr_12 = std::bit_cast(0u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_2); aot_gpr_4 = (0u | 5u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(84), std::bit_cast(aot_fpr_12)); @@ -2732,7 +2733,7 @@ L_088D0F84: } L_088D0FD8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(26344))); - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23716))); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-23716))); aot_gpr_4 = (aot_gpr_5 < aot_gpr_4 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -2745,7 +2746,7 @@ L_088D0FEC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(26344))); aot_gpr_5 = (0u | 321u); aot_gpr_4 = (aot_gpr_4 + static_cast(6)); - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-23716), aot_gpr_4); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-23716), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), aot_gpr_5); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(60), static_cast(0u)); aot_gpr_4 = (0u | 15u); @@ -2753,14 +2754,14 @@ L_088D0FEC: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088D1018u); aot_gpr_5 = (0u | 1000u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D1018u) goto L_088D1018; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089B7A84, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D1018u) goto L_088D1018; AOT_REGCACHE_SYNC_OUT(); return; L_088D1018: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(26336))); aot_gpr_5 = (0u | 20u); { const std::uint32_t dividend = aot_gpr_4; const std::uint32_t divisor = aot_gpr_5; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } aot_fpr_12 = std::bit_cast(0u); - aot_gpr_4 = (ctx.gpr[2] + static_cast(16000)); + aot_gpr_4 = (aot_gpr_2 + static_cast(16000)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_4); aot_gpr_4 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), aot_gpr_4); @@ -2794,13 +2795,13 @@ L_088D106C: aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(60), static_cast(0u)); aot_gpr_4 = (0u | 80u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(52), aot_gpr_4); - aot_gpr_4 = (ctx.gpr[28] + static_cast(7696)); + aot_gpr_4 = (aot_gpr_28 + static_cast(7696)); aot_gpr_31 = (0x088D108Cu); aot_gpr_5 = (0u | 28u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D108Cu) goto L_088D108C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D108Cu) goto L_088D108C; AOT_REGCACHE_SYNC_OUT(); return; L_088D108C: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_2); aot_fpr_12 = std::bit_cast(0u); aot_gpr_4 = (0u | 3u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), aot_gpr_4); @@ -2822,9 +2823,9 @@ L_088D108C: L_088D10C4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(48))); aot_gpr_5 = (ctx.gpr[19] << 2u); - aot_gpr_6 = (aot_gpr_4 << 6u); + ctx.gpr[6] = (aot_gpr_4 << 6u); aot_gpr_4 = (aot_gpr_4 << 3u); - aot_gpr_4 = (aot_gpr_6 - aot_gpr_4); + aot_gpr_4 = (ctx.gpr[6] - aot_gpr_4); aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(6276))); @@ -2842,9 +2843,9 @@ L_088D10C4: L_088D10FC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(48))); aot_gpr_5 = (ctx.gpr[19] << 2u); - aot_gpr_6 = (aot_gpr_4 << 6u); + ctx.gpr[6] = (aot_gpr_4 << 6u); aot_gpr_4 = (aot_gpr_4 << 3u); - aot_gpr_4 = (aot_gpr_6 - aot_gpr_4); + aot_gpr_4 = (ctx.gpr[6] - aot_gpr_4); aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(6276))); @@ -2860,9 +2861,9 @@ L_088D10FC: L_088D1134: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(48))); aot_gpr_5 = (ctx.gpr[19] << 2u); - aot_gpr_6 = (aot_gpr_4 << 6u); + ctx.gpr[6] = (aot_gpr_4 << 6u); aot_gpr_4 = (aot_gpr_4 << 3u); - aot_gpr_4 = (aot_gpr_6 - aot_gpr_4); + aot_gpr_4 = (ctx.gpr[6] - aot_gpr_4); aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_5 = (17480u << 16u); @@ -2872,9 +2873,9 @@ L_088D1134: goto L_088D1160; L_088D1160: aot_gpr_5 = (ctx.gpr[19] << 2u); - aot_gpr_6 = (aot_gpr_4 << 6u); + ctx.gpr[6] = (aot_gpr_4 << 6u); aot_gpr_4 = (aot_gpr_4 << 3u); - aot_gpr_4 = (aot_gpr_6 - aot_gpr_4); + aot_gpr_4 = (ctx.gpr[6] - aot_gpr_4); aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(26320))); @@ -2887,14 +2888,14 @@ L_088D1160: aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(60), static_cast(0u)); aot_fpr_14 = std::bit_cast(aot_gpr_4); aot_gpr_5 = (17174u << 16u); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23720))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23720))); aot_fpr_13 = std::bit_cast(aot_gpr_5); aot_fpr_20 = aot_fpr_12 - aot_fpr_13; aot_gpr_5 = (aot_gpr_4 + static_cast(1)); aot_fpr_20 = aot_fpr_20 / aot_fpr_14; - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-23720), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-23720), static_cast(aot_gpr_5)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(52), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23720))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23720))); aot_gpr_4 = (static_cast(aot_gpr_4) < 47 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_4 = (17882u << 16u); @@ -2905,7 +2906,7 @@ L_088D1160: } L_088D11CC: aot_gpr_4 = (0u | 41u); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-23720), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-23720), static_cast(aot_gpr_4)); aot_gpr_4 = (17882u << 16u); goto L_088D11D8; L_088D11D8: @@ -2984,9 +2985,9 @@ L_088D128C: L_088D1294: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(48))); aot_gpr_5 = (ctx.gpr[19] + ctx.gpr[19]); - aot_gpr_6 = (aot_gpr_4 << 6u); + ctx.gpr[6] = (aot_gpr_4 << 6u); aot_gpr_4 = (aot_gpr_4 << 3u); - aot_gpr_4 = (aot_gpr_6 - aot_gpr_4); + aot_gpr_4 = (ctx.gpr[6] - aot_gpr_4); aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_5 = (17436u << 16u); @@ -3002,14 +3003,14 @@ L_088D1294: L_088D12CC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(48))); aot_gpr_5 = (ctx.gpr[19] << 2u); - aot_gpr_6 = (aot_gpr_4 << 6u); + ctx.gpr[6] = (aot_gpr_4 << 6u); aot_gpr_4 = (aot_gpr_4 << 3u); - aot_gpr_4 = (aot_gpr_6 - aot_gpr_4); + aot_gpr_4 = (ctx.gpr[6] - aot_gpr_4); aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); - aot_gpr_6 = (17008u << 16u); + ctx.gpr[6] = (17008u << 16u); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(6276))); - aot_fpr_12 = std::bit_cast(aot_gpr_6); + aot_fpr_12 = std::bit_cast(ctx.gpr[6]); aot_gpr_4 = (0u | 337u); { const float fs = aot_fpr_13; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), aot_gpr_4); @@ -3047,14 +3048,14 @@ L_088D133C: } L_088D134C: aot_gpr_5 = (ctx.gpr[19] << 2u); - aot_gpr_6 = (aot_gpr_4 << 6u); + ctx.gpr[6] = (aot_gpr_4 << 6u); aot_gpr_4 = (aot_gpr_4 << 3u); - aot_gpr_4 = (aot_gpr_6 - aot_gpr_4); + aot_gpr_4 = (ctx.gpr[6] - aot_gpr_4); aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); - aot_gpr_6 = (17096u << 16u); + ctx.gpr[6] = (17096u << 16u); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(6276))); - aot_fpr_12 = std::bit_cast(aot_gpr_6); + aot_fpr_12 = std::bit_cast(ctx.gpr[6]); aot_gpr_4 = (0u | 335u); { const float fs = aot_fpr_13; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), aot_gpr_4); @@ -3087,11 +3088,11 @@ L_088D13B8: goto L_088D13C4; L_088D13C4: aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(60), static_cast(0u)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23711))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23711))); aot_gpr_5 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-23711), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-23711), static_cast(aot_gpr_5)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(52), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23711))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23711))); aot_gpr_4 = (static_cast(aot_gpr_4) < 86 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -3102,26 +3103,26 @@ L_088D13C4: } L_088D13E8: aot_gpr_4 = (0u | 82u); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-23711), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-23711), static_cast(aot_gpr_4)); goto L_088D13F0; L_088D13F0: - aot_gpr_4 = (ctx.gpr[28] + static_cast(7696)); + aot_gpr_4 = (aot_gpr_28 + static_cast(7696)); aot_gpr_31 = (0x088D13FCu); aot_gpr_5 = (0u | 335u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D13FCu) goto L_088D13FC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D13FCu) goto L_088D13FC; AOT_REGCACHE_SYNC_OUT(); return; L_088D13FC: - ctx.gpr[23] = (ctx.gpr[2] | 0u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), ctx.gpr[2]); + ctx.gpr[23] = (aot_gpr_2 | 0u); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_2); aot_gpr_5 = (ctx.gpr[23] >> 4u); aot_gpr_31 = (0x088D1410u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D1410u) goto L_088D1410; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089B7A84, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D1410u) goto L_088D1410; AOT_REGCACHE_SYNC_OUT(); return; L_088D1410: - aot_gpr_4 = (ctx.gpr[23] + ctx.gpr[2]); + aot_gpr_4 = (ctx.gpr[23] + aot_gpr_2); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_gpr_5 = (0u | 6u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -3154,11 +3155,11 @@ L_088D1458: aot_gpr_4 = (0u | 336u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), aot_gpr_4); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(60), static_cast(0u)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23710))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23710))); aot_gpr_5 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-23710), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-23710), static_cast(aot_gpr_5)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(52), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23710))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23710))); aot_gpr_4 = (static_cast(aot_gpr_4) < 95 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -3169,28 +3170,28 @@ L_088D1458: } L_088D1484: aot_gpr_4 = (0u | 91u); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-23710), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-23710), static_cast(aot_gpr_4)); goto L_088D148C; L_088D148C: - aot_gpr_4 = (ctx.gpr[28] + static_cast(7696)); + aot_gpr_4 = (aot_gpr_28 + static_cast(7696)); aot_gpr_31 = (0x088D1498u); aot_gpr_5 = (0u | 336u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D1498u) goto L_088D1498; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D1498u) goto L_088D1498; AOT_REGCACHE_SYNC_OUT(); return; L_088D1498: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), ctx.gpr[2]); - ctx.gpr[22] = (ctx.gpr[2] | 0u); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_2); + ctx.gpr[22] = (aot_gpr_2 | 0u); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088D14ACu); aot_gpr_5 = (0u | 2000u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D14ACu) goto L_088D14AC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089B7A84, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D14ACu) goto L_088D14AC; AOT_REGCACHE_SYNC_OUT(); return; L_088D14AC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(26336))); aot_gpr_5 = (0u | 10u); { const std::uint32_t dividend = aot_gpr_4; const std::uint32_t divisor = aot_gpr_5; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } aot_fpr_12 = std::bit_cast(0u); - aot_gpr_4 = (ctx.gpr[22] + ctx.gpr[2]); + aot_gpr_4 = (ctx.gpr[22] + aot_gpr_2); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_4); aot_gpr_4 = (0u | 2u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), aot_gpr_4); @@ -3211,7 +3212,7 @@ L_088D14AC: goto L_088D14F8; } L_088D14F8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(12))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(12))); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(86)))))); aot_gpr_5 = (static_cast(aot_gpr_4) < 261 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; @@ -3282,7 +3283,7 @@ L_088D1558: } goto L_088D1560; L_088D1560: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(12))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(12))); aot_gpr_5 = (0u | 275u); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(86)))))); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; @@ -3299,11 +3300,11 @@ L_088D1574: AOT_REGCACHE_SYNC_OUT(); return; L_088D157C: aot_gpr_31 = (0x088D1584u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0098_entry, 98u, 367u, 0x0898D050u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D1584u) goto L_088D1584; AOT_REGCACHE_SYNC_OUT(); return; L_088D1584: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_088D15A0; @@ -3316,8 +3317,8 @@ L_088D158C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0048_entry, 48u, 454u, 0x088C63C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D1594u) goto L_088D1594; AOT_REGCACHE_SYNC_OUT(); return; L_088D1594: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(12))); - { const bool branch_taken = ctx.gpr[2] == aot_gpr_4; + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(12))); + { const bool branch_taken = aot_gpr_2 == aot_gpr_4; // nop if (branch_taken) { goto L_088D15B0; @@ -3350,12 +3351,12 @@ L_088D15C0: aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(60), static_cast(0u)); goto L_088D15CC; L_088D15CC: - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23719))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23719))); ctx.gpr[22] = (0u | 127u); aot_gpr_5 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-23719), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-23719), static_cast(aot_gpr_5)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(52), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23719))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23719))); aot_gpr_5 = (18017u << 16u); aot_gpr_4 = (static_cast(aot_gpr_4) < 59 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; @@ -3367,24 +3368,24 @@ L_088D15CC: } L_088D15F4: aot_gpr_4 = (0u | 53u); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-23719), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-23719), static_cast(aot_gpr_4)); goto L_088D15FC; L_088D15FC: - aot_gpr_4 = (ctx.gpr[28] + static_cast(7696)); + aot_gpr_4 = (aot_gpr_28 + static_cast(7696)); aot_gpr_31 = (0x088D1608u); aot_gpr_5 = (0u | 236u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D1608u) goto L_088D1608; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D1608u) goto L_088D1608; AOT_REGCACHE_SYNC_OUT(); return; L_088D1608: - ctx.gpr[20] = (ctx.gpr[2] | 0u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), ctx.gpr[2]); + ctx.gpr[20] = (aot_gpr_2 | 0u); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_2); aot_gpr_5 = (ctx.gpr[20] >> 4u); aot_gpr_31 = (0x088D161Cu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D161Cu) goto L_088D161C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089B7A84, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D161Cu) goto L_088D161C; AOT_REGCACHE_SYNC_OUT(); return; L_088D161C: - aot_gpr_4 = (ctx.gpr[20] + ctx.gpr[2]); + aot_gpr_4 = (ctx.gpr[20] + aot_gpr_2); aot_fpr_12 = std::bit_cast(0u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_4); aot_gpr_4 = (0u | 2u); @@ -3411,13 +3412,13 @@ L_088D1654: aot_gpr_4 = (0u | 340u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), aot_gpr_4); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(60), static_cast(0u)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23719))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23719))); aot_gpr_5 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-23719), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-23719), static_cast(aot_gpr_5)); aot_gpr_5 = (18017u << 16u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(52), aot_gpr_4); aot_fpr_20 = std::bit_cast(aot_gpr_5); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23719))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23719))); aot_gpr_4 = (static_cast(aot_gpr_4) < 59 ? 1u : 0u); aot_gpr_5 = (ctx.hi); ctx.gpr[22] = (aot_gpr_5 + static_cast(120)); @@ -3430,24 +3431,24 @@ L_088D1654: } L_088D1698: aot_gpr_4 = (0u | 53u); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-23719), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-23719), static_cast(aot_gpr_4)); goto L_088D16A0; L_088D16A0: - aot_gpr_4 = (ctx.gpr[28] + static_cast(7696)); + aot_gpr_4 = (aot_gpr_28 + static_cast(7696)); aot_gpr_31 = (0x088D16ACu); aot_gpr_5 = (0u | 340u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D16ACu) goto L_088D16AC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D16ACu) goto L_088D16AC; AOT_REGCACHE_SYNC_OUT(); return; L_088D16AC: - ctx.gpr[23] = (ctx.gpr[2] | 0u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), ctx.gpr[2]); + ctx.gpr[23] = (aot_gpr_2 | 0u); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_2); aot_gpr_5 = (ctx.gpr[23] >> 4u); aot_gpr_31 = (0x088D16C0u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D16C0u) goto L_088D16C0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089B7A84, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D16C0u) goto L_088D16C0; AOT_REGCACHE_SYNC_OUT(); return; L_088D16C0: - aot_gpr_4 = (ctx.gpr[23] + ctx.gpr[2]); + aot_gpr_4 = (ctx.gpr[23] + aot_gpr_2); aot_fpr_12 = std::bit_cast(0u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_4); aot_gpr_4 = (0u | 3u); @@ -3475,13 +3476,13 @@ L_088D16F4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088D1710u); aot_gpr_5 = (0u | 1000u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D1710u) goto L_088D1710; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089B7A84, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D1710u) goto L_088D1710; AOT_REGCACHE_SYNC_OUT(); return; L_088D1710: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(26324))); aot_gpr_5 = (0u | 20u); { const std::uint32_t dividend = aot_gpr_4; const std::uint32_t divisor = aot_gpr_5; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } - aot_gpr_4 = (ctx.gpr[2] + static_cast(11025)); + aot_gpr_4 = (aot_gpr_2 + static_cast(11025)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_4); aot_gpr_4 = (0u | 5u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), aot_gpr_4); @@ -3506,9 +3507,9 @@ L_088D1710: L_088D1760: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(48))); aot_gpr_5 = (ctx.gpr[19] << 2u); - aot_gpr_6 = (aot_gpr_4 << 6u); + ctx.gpr[6] = (aot_gpr_4 << 6u); aot_gpr_4 = (aot_gpr_4 << 3u); - aot_gpr_4 = (aot_gpr_6 - aot_gpr_4); + aot_gpr_4 = (ctx.gpr[6] - aot_gpr_4); aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(6276))); @@ -3527,9 +3528,9 @@ L_088D1760: L_088D17A4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(48))); aot_gpr_5 = (ctx.gpr[19] << 2u); - aot_gpr_6 = (aot_gpr_4 << 6u); + ctx.gpr[6] = (aot_gpr_4 << 6u); aot_gpr_4 = (aot_gpr_4 << 3u); - aot_gpr_4 = (aot_gpr_6 - aot_gpr_4); + aot_gpr_4 = (ctx.gpr[6] - aot_gpr_4); aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(6276))); @@ -3546,9 +3547,9 @@ L_088D17A4: } L_088D17DC: aot_gpr_5 = (ctx.gpr[19] << 2u); - aot_gpr_6 = (aot_gpr_4 << 6u); + ctx.gpr[6] = (aot_gpr_4 << 6u); aot_gpr_4 = (aot_gpr_4 << 3u); - aot_gpr_4 = (aot_gpr_6 - aot_gpr_4); + aot_gpr_4 = (ctx.gpr[6] - aot_gpr_4); aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(6276))); @@ -3571,14 +3572,14 @@ L_088D1820: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088D183Cu); aot_gpr_5 = (0u | 6000u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D183Cu) goto L_088D183C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089B7A84, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D183Cu) goto L_088D183C; AOT_REGCACHE_SYNC_OUT(); return; L_088D183C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(26336))); aot_gpr_5 = (0u | 20u); { const std::uint32_t dividend = aot_gpr_4; const std::uint32_t divisor = aot_gpr_5; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } aot_fpr_12 = std::bit_cast(0u); - aot_gpr_4 = (ctx.gpr[2] + static_cast(16000)); + aot_gpr_4 = (aot_gpr_2 + static_cast(16000)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_4); aot_gpr_4 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), aot_gpr_4); @@ -3601,9 +3602,9 @@ L_088D183C: L_088D1888: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(48))); aot_gpr_5 = (ctx.gpr[19] << 2u); - aot_gpr_6 = (aot_gpr_4 << 6u); + ctx.gpr[6] = (aot_gpr_4 << 6u); aot_gpr_4 = (aot_gpr_4 << 3u); - aot_gpr_4 = (aot_gpr_6 - aot_gpr_4); + aot_gpr_4 = (ctx.gpr[6] - aot_gpr_4); aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_gpr_4 + static_cast(6276)); @@ -3628,8 +3629,8 @@ L_088D18C4: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); aot_gpr_5 = (std::bit_cast(aot_fpr_12)); aot_gpr_5 = (aot_gpr_5 & 255u); - aot_gpr_6 = (aot_gpr_5 + aot_gpr_5); - ctx.gpr[22] = (aot_gpr_5 + aot_gpr_6); + ctx.gpr[6] = (aot_gpr_5 + aot_gpr_5); + ctx.gpr[22] = (aot_gpr_5 + ctx.gpr[6]); ctx.gpr[22] = (static_cast(static_cast(ctx.gpr[22]) >> 1u)); aot_gpr_5 = (static_cast(aot_gpr_4) < static_cast(ctx.gpr[22]) ? 1u : 0u); if (aot_gpr_5 != 0u) { @@ -3653,19 +3654,19 @@ L_088D1910: aot_gpr_4 = (0u | 50u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(52), aot_gpr_4); aot_gpr_31 = (0x088D192Cu); - aot_gpr_4 = (ctx.gpr[28] + static_cast(7696)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D192Cu) goto L_088D192C; + aot_gpr_4 = (aot_gpr_28 + static_cast(7696)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D192Cu) goto L_088D192C; AOT_REGCACHE_SYNC_OUT(); return; L_088D192C: - ctx.gpr[23] = (ctx.gpr[2] | 0u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), ctx.gpr[2]); + ctx.gpr[23] = (aot_gpr_2 | 0u); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_2); aot_gpr_5 = (ctx.gpr[23] >> 4u); aot_gpr_31 = (0x088D1940u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D1940u) goto L_088D1940; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089B7A84, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D1940u) goto L_088D1940; AOT_REGCACHE_SYNC_OUT(); return; L_088D1940: - aot_gpr_4 = (ctx.gpr[23] + ctx.gpr[2]); + aot_gpr_4 = (ctx.gpr[23] + aot_gpr_2); aot_fpr_12 = std::bit_cast(0u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_4); aot_gpr_4 = (0u | 1u); @@ -3691,14 +3692,14 @@ L_088D1970: goto L_088D1978; } L_088D1978: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(4))); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(4))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(4), static_cast(aot_gpr_4)); aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(8), std::bit_cast(aot_fpr_12)); aot_gpr_5 = (ctx.gpr[29] + static_cast(4)); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088D1998u); - aot_gpr_6 = (0u | 114u); + ctx.gpr[6] = (0u | 114u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0052_entry, 52u, 496u, 0x088D789Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D1998u) goto L_088D1998; AOT_REGCACHE_SYNC_OUT(); return; L_088D1998: @@ -3712,9 +3713,9 @@ L_088D1998: L_088D19A0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(48))); aot_gpr_5 = (ctx.gpr[19] << 2u); - aot_gpr_6 = (aot_gpr_4 << 6u); + ctx.gpr[6] = (aot_gpr_4 << 6u); aot_gpr_4 = (aot_gpr_4 << 3u); - aot_gpr_4 = (aot_gpr_6 - aot_gpr_4); + aot_gpr_4 = (ctx.gpr[6] - aot_gpr_4); aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(6276))); @@ -3811,7 +3812,7 @@ L_088D1A78: ctx.gpr[22] = (ctx.gpr[22] & 255u); goto L_088D1AD4; L_088D1AD4: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_20)) ? 0x00800000u : 0u); // nop if (!((ctx.fcr31 & 0x00800000u) != 0u)) { @@ -3820,8 +3821,8 @@ L_088D1AD4: } goto L_088D1AE8; L_088D1AE8: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); - aot_gpr_5 = (aot_gpr_17 + static_cast(4)); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); + aot_gpr_5 = (ctx.gpr[17] + static_cast(4)); aot_gpr_31 = (0x088D1AF8u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0048_entry, 48u, 397u, 0x088C6080u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D1AF8u) goto L_088D1AF8; @@ -3835,7 +3836,7 @@ L_088D1AF8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0109_entry, 109u, 21u, 0x089B8190u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D1B0Cu) goto L_088D1B0C; AOT_REGCACHE_SYNC_OUT(); return; L_088D1B0C: - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(72), static_cast(ctx.gpr[2])); + aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(72), static_cast(aot_gpr_2)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(72))); if (static_cast(aot_gpr_4) <= 0) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(48))); @@ -3929,11 +3930,11 @@ L_088D1BA0: aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(114), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_gpr_5 + static_cast(1)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23719))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23719))); aot_gpr_5 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-23719), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-23719), static_cast(aot_gpr_5)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(52), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23719))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23719))); aot_gpr_4 = (static_cast(aot_gpr_4) < 59 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -3944,7 +3945,7 @@ L_088D1BA0: } L_088D1BD0: aot_gpr_4 = (0u | 53u); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-23719), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-23719), static_cast(aot_gpr_4)); goto L_088D1BD8; L_088D1BD8: aot_gpr_4 = (2237u << 16u); @@ -3976,7 +3977,7 @@ L_088D1C18: aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(36), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); aot_gpr_16 = aot_run_words[1]; - aot_gpr_17 = aot_run_words[2]; + ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; ctx.gpr[19] = aot_run_words[4]; ctx.gpr[20] = aot_run_words[5]; @@ -3994,8 +3995,8 @@ L_088D1C18: L_088D1C48: ctx.gpr[29] = (ctx.gpr[29] + static_cast(-96)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(8))); - aot_gpr_6 = (18017u << 16u); - aot_fpr_13 = std::bit_cast(aot_gpr_6); + ctx.gpr[6] = (18017u << 16u); + aot_fpr_13 = std::bit_cast(ctx.gpr[6]); aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(56), aot_gpr_16); aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(84), ctx.gpr[23]); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); @@ -4003,7 +4004,7 @@ L_088D1C48: aot_gpr_16 = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(48), std::bit_cast(aot_fpr_20)); aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(52), std::bit_cast(ctx.fpr[22])); - { const std::uint32_t aot_run_words[6]{aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22]}; + { const std::uint32_t aot_run_words[6]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22]}; aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(60), aot_run_words); } aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(88), ctx.gpr[30]); aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(92), aot_gpr_31); @@ -4048,7 +4049,7 @@ L_088D1CCC: } L_088D1CD4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_088D2210; } @@ -4096,7 +4097,7 @@ L_088D1D14: } L_088D1D1C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_088D2210; } @@ -4190,8 +4191,8 @@ L_088D1DA4: ctx.fpr[22] = std::bit_cast(aot_gpr_4); goto L_088D1DC0; L_088D1DC0: - aot_gpr_17 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(12))); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(12))); + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_088D1DE0; @@ -4199,7 +4200,7 @@ L_088D1DC0: goto L_088D1DCC; } L_088D1DCC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1092))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1092))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -4217,14 +4218,14 @@ L_088D1DD8: } L_088D1DE0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_088D2210; } goto L_088D1DE8; } L_088D1DE8: - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(1092), ctx.gpr[18]); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(1092), ctx.gpr[18]); goto L_088D1DEC; L_088D1DEC: aot_gpr_31 = (0x088D1DF4u); @@ -4233,7 +4234,7 @@ L_088D1DEC: AOT_REGCACHE_SYNC_OUT(); return; L_088D1DF4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(12))); - { const bool branch_taken = ctx.gpr[2] != aot_gpr_4; + { const bool branch_taken = aot_gpr_2 != aot_gpr_4; // nop if (branch_taken) { goto L_088D1E50; @@ -4248,13 +4249,13 @@ L_088D1E00: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0098_entry, 98u, 430u, 0x0898D2D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D1E10u) goto L_088D1E10; AOT_REGCACHE_SYNC_OUT(); return; L_088D1E10: - ctx.gpr[21] = (ctx.gpr[2] | 0u); + ctx.gpr[21] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x088D1E1Cu); aot_gpr_4 = (ctx.gpr[30] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0098_entry, 98u, 388u, 0x0898D140u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D1E1Cu) goto L_088D1E1C; AOT_REGCACHE_SYNC_OUT(); return; L_088D1E1C: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (static_cast(aot_gpr_4) < static_cast(ctx.gpr[21]) ? 1u : 0u); if (aot_gpr_5 != 0u) { aot_gpr_4 = (ctx.gpr[21] | 0u); @@ -4277,9 +4278,9 @@ L_088D1E2C: goto L_088D1E50; } L_088D1E50: - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(604))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(604))); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_13) & 0x7FFFFFFFu); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(608))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(608))); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) & 0x7FFFFFFFu); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 <= aot_fpr_12)) ? 0x00800000u : 0u); // nop @@ -4324,7 +4325,7 @@ L_088D1EA0: L_088D1EBC: { const float fs = aot_fpr_12; const float ft = ctx.fpr[22]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } ctx.gpr[18] = (ctx.gpr[18] + aot_gpr_4); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(1060)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(1060)))))); aot_gpr_4 = (aot_gpr_4 & 2u); aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); aot_gpr_5 = (std::bit_cast(aot_fpr_12)); @@ -4350,7 +4351,7 @@ L_088D1EEC: goto L_088D1EF4; } L_088D1EF4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1092))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1092))); aot_gpr_4 = (aot_gpr_4 < ctx.gpr[18] ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -4368,7 +4369,7 @@ L_088D1F04: goto L_088D1F0C; } L_088D1F0C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1092))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1092))); aot_gpr_4 = (aot_gpr_4 + static_cast(100)); aot_gpr_5 = (ctx.gpr[18] < aot_gpr_4 ? 1u : 0u); if (aot_gpr_5 != 0u) { @@ -4385,7 +4386,7 @@ L_088D1F20: goto L_088D1F28; } L_088D1F28: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1092))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1092))); aot_gpr_4 = (aot_gpr_4 + static_cast(15)); aot_gpr_5 = (ctx.gpr[18] < aot_gpr_4 ? 1u : 0u); if (aot_gpr_5 != 0u) { @@ -4410,7 +4411,7 @@ L_088D1F44: goto L_088D1F4C; } L_088D1F4C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1092))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1092))); aot_gpr_4 = (aot_gpr_4 + static_cast(-100)); aot_gpr_5 = (aot_gpr_4 < ctx.gpr[18] ? 1u : 0u); if (aot_gpr_5 != 0u) { @@ -4427,7 +4428,7 @@ L_088D1F60: goto L_088D1F68; } L_088D1F68: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1092))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1092))); aot_gpr_4 = (aot_gpr_4 + static_cast(-15)); aot_gpr_5 = (aot_gpr_4 < ctx.gpr[18] ? 1u : 0u); if (aot_gpr_5 != 0u) { @@ -4439,7 +4440,7 @@ L_088D1F7C: ctx.gpr[18] = (aot_gpr_4 | 0u); goto L_088D1F80; L_088D1F80: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(1096))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(1096))); aot_gpr_4 = (static_cast(aot_gpr_4) < static_cast(ctx.gpr[19]) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -4449,7 +4450,7 @@ L_088D1F80: goto L_088D1F90; } L_088D1F90: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(1096))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(1096))); aot_gpr_4 = (aot_gpr_4 + static_cast(3)); aot_gpr_5 = (static_cast(ctx.gpr[19]) < static_cast(aot_gpr_4) ? 1u : 0u); if (aot_gpr_5 != 0u) { @@ -4466,7 +4467,7 @@ L_088D1FA4: goto L_088D1FAC; } L_088D1FAC: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(1096))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(1096))); aot_gpr_4 = (aot_gpr_4 + static_cast(-3)); aot_gpr_5 = (static_cast(aot_gpr_4) < static_cast(ctx.gpr[19]) ? 1u : 0u); if (aot_gpr_5 != 0u) { @@ -4478,7 +4479,7 @@ L_088D1FC0: ctx.gpr[19] = (aot_gpr_4 | 0u); goto L_088D1FC4; L_088D1FC4: - aot_gpr_4 = (aot_gpr_17 + static_cast(320)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(320)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -4509,11 +4510,11 @@ L_088D1FE4: } L_088D1FEC: aot_gpr_31 = (0x088D1FF4u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 922u, 0x08AFFD38u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D1FF4u) goto L_088D1FF4; AOT_REGCACHE_SYNC_OUT(); return; L_088D1FF4: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_088D2020; @@ -4521,7 +4522,7 @@ L_088D1FF4: goto L_088D1FFC; } L_088D1FFC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -4530,7 +4531,7 @@ L_088D1FFC: goto L_088D2008; } L_088D2008: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); aot_gpr_5 = (8u << 16u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); @@ -4549,16 +4550,16 @@ L_088D2020: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0048_entry, 48u, 397u, 0x088C6080u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D2030u) goto L_088D2030; AOT_REGCACHE_SYNC_OUT(); return; L_088D2030: - aot_gpr_6 = (17136u << 16u); + ctx.gpr[6] = (17136u << 16u); aot_gpr_5 = (ctx.gpr[19] & 255u); - aot_fpr_12 = std::bit_cast(aot_gpr_6); + aot_fpr_12 = std::bit_cast(ctx.gpr[6]); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(76))); aot_gpr_31 = (0x088D2048u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0109_entry, 109u, 21u, 0x089B8190u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D2048u) goto L_088D2048; AOT_REGCACHE_SYNC_OUT(); return; L_088D2048: - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(72), static_cast(ctx.gpr[2])); + aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(72), static_cast(aot_gpr_2)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(72))); { const bool branch_taken = static_cast(aot_gpr_4) <= 0; // nop @@ -4668,16 +4669,16 @@ L_088D2118: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0048_entry, 48u, 397u, 0x088C6080u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D2128u) goto L_088D2128; AOT_REGCACHE_SYNC_OUT(); return; L_088D2128: - aot_gpr_6 = (17136u << 16u); + ctx.gpr[6] = (17136u << 16u); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(76))); - aot_fpr_12 = std::bit_cast(aot_gpr_6); + aot_fpr_12 = std::bit_cast(ctx.gpr[6]); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088D2140u); aot_gpr_5 = (0u | 80u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0109_entry, 109u, 21u, 0x089B8190u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D2140u) goto L_088D2140; AOT_REGCACHE_SYNC_OUT(); return; L_088D2140: - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(72), static_cast(ctx.gpr[2])); + aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(72), static_cast(aot_gpr_2)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(72))); { const bool branch_taken = static_cast(aot_gpr_4) <= 0; // nop @@ -4694,17 +4695,17 @@ L_088D2150: goto L_088D2158; L_088D2158: aot_gpr_31 = (0x088D2160u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 922u, 0x08AFFD38u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D2160u) goto L_088D2160; AOT_REGCACHE_SYNC_OUT(); return; L_088D2160: - if (ctx.gpr[2] != 0u) { + if (aot_gpr_2 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(48))); goto L_088D2178; } goto L_088D2168; L_088D2168: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -4719,8 +4720,8 @@ L_088D2178: aot_gpr_5 = (0u | 1000u); aot_gpr_4 = (aot_gpr_4 << 16u); { const std::int32_t dividend = static_cast(aot_gpr_4); const std::int32_t divisor = static_cast(aot_gpr_5); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } - aot_gpr_6 = (0u | 6000u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_6); + ctx.gpr[6] = (0u | 6000u); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), ctx.gpr[6]); aot_gpr_4 = (0u | 39u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(52), aot_gpr_4); aot_gpr_4 = (0u | 190u); @@ -4744,9 +4745,9 @@ L_088D2178: aot_gpr_4 = (aot_gpr_4 + static_cast(-28320)); aot_gpr_5 = (0u | 0u); ctx.gpr[7] = (ctx.hi); - aot_gpr_6 = (aot_gpr_6 + ctx.gpr[7]); + ctx.gpr[6] = (ctx.gpr[6] + ctx.gpr[7]); aot_gpr_31 = (0x088D21F4u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_6); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), ctx.gpr[6]); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 703u, 0x089B7B80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D21F4u) goto L_088D21F4; AOT_REGCACHE_SYNC_OUT(); return; L_088D21F4: @@ -4758,19 +4759,19 @@ L_088D21F4: goto L_088D21FC; } L_088D21FC: - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(1096), static_cast(ctx.gpr[19])); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(1092), ctx.gpr[18]); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(1096), static_cast(ctx.gpr[19])); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(1092), ctx.gpr[18]); goto L_088D2204; L_088D2204: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_088D2210; } goto L_088D220C; } L_088D220C: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_088D2210; L_088D2210: { std::uint32_t aot_run_words[12]{}; @@ -4778,7 +4779,7 @@ L_088D2210: aot_fpr_20 = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); aot_gpr_16 = aot_run_words[2]; - aot_gpr_17 = aot_run_words[3]; + ctx.gpr[17] = aot_run_words[3]; ctx.gpr[18] = aot_run_words[4]; ctx.gpr[19] = aot_run_words[5]; ctx.gpr[20] = aot_run_words[6]; @@ -4797,24 +4798,24 @@ L_088D2210: L_088D2248: ctx.gpr[29] = (ctx.gpr[29] + static_cast(-80)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(8))); - aot_gpr_6 = (18017u << 16u); - aot_fpr_13 = std::bit_cast(aot_gpr_6); + ctx.gpr[6] = (18017u << 16u); + aot_fpr_13 = std::bit_cast(ctx.gpr[6]); aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(48), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(40), std::bit_cast(aot_fpr_20)); aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(44), std::bit_cast(ctx.fpr[22])); - { const std::uint32_t aot_run_words[7]{aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_31}; + { const std::uint32_t aot_run_words[7]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_31}; aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(52), aot_run_words); } { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); - aot_gpr_17 = (aot_gpr_5 | 0u); + ctx.gpr[17] = (aot_gpr_5 | 0u); if (branch_taken) { goto L_088D262C; } goto L_088D2290; } L_088D2290: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(12))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(12))); aot_gpr_5 = (0u | 5u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 496u); @@ -4827,7 +4828,7 @@ L_088D2290: goto L_088D22AC; } L_088D22AC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(12))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(12))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(900))); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -4840,7 +4841,7 @@ L_088D22BC: aot_gpr_4 = (17723u << 16u); aot_gpr_4 = (aot_gpr_4 | 32768u); aot_fpr_20 = std::bit_cast(aot_gpr_4); - ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(12))); + ctx.gpr[20] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(12))); aot_gpr_4 = (16856u << 16u); ctx.gpr[18] = (0u | 5000u); ctx.fpr[22] = std::bit_cast(aot_gpr_4); @@ -4857,8 +4858,8 @@ L_088D22E0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D22E8u) goto L_088D22E8; AOT_REGCACHE_SYNC_OUT(); return; L_088D22E8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(12))); - { const bool branch_taken = ctx.gpr[2] == aot_gpr_4; + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(12))); + { const bool branch_taken = aot_gpr_2 == aot_gpr_4; // nop if (branch_taken) { goto L_088D2314; @@ -4875,7 +4876,7 @@ L_088D22F4: } L_088D22FC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_088D2630; } @@ -4883,7 +4884,7 @@ L_088D22FC: } L_088D2304: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_088D2630; } @@ -4891,14 +4892,14 @@ L_088D2304: } L_088D230C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_088D2630; } goto L_088D2314; } L_088D2314: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(12))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(12))); aot_gpr_4 = (aot_gpr_4 + static_cast(320)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; @@ -5073,7 +5074,7 @@ L_088D2480: goto L_088D2488; } L_088D2488: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23708))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-23708))); aot_gpr_4 = (aot_gpr_4 < ctx.gpr[18] ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -5083,7 +5084,7 @@ L_088D2488: goto L_088D2498; } L_088D2498: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23708))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-23708))); aot_gpr_4 = (aot_gpr_4 + static_cast(25)); aot_gpr_5 = (ctx.gpr[18] < aot_gpr_4 ? 1u : 0u); if (aot_gpr_5 != 0u) { @@ -5100,7 +5101,7 @@ L_088D24AC: goto L_088D24B4; } L_088D24B4: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23708))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-23708))); aot_gpr_4 = (aot_gpr_4 + static_cast(-100)); aot_gpr_5 = (aot_gpr_4 < ctx.gpr[18] ? 1u : 0u); if (aot_gpr_5 != 0u) { @@ -5112,7 +5113,7 @@ L_088D24C8: ctx.gpr[18] = (aot_gpr_4 | 0u); goto L_088D24CC; L_088D24CC: - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23704))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23704))); aot_gpr_4 = (static_cast(aot_gpr_4) < static_cast(ctx.gpr[19]) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -5122,7 +5123,7 @@ L_088D24CC: goto L_088D24DC; } L_088D24DC: - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23704))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23704))); aot_gpr_4 = (aot_gpr_4 + static_cast(3)); aot_gpr_5 = (static_cast(ctx.gpr[19]) < static_cast(aot_gpr_4) ? 1u : 0u); if (aot_gpr_5 != 0u) { @@ -5139,7 +5140,7 @@ L_088D24F0: goto L_088D24F8; } L_088D24F8: - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23704))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23704))); aot_gpr_4 = (aot_gpr_4 + static_cast(-3)); aot_gpr_5 = (static_cast(aot_gpr_4) < static_cast(ctx.gpr[19]) ? 1u : 0u); if (aot_gpr_5 != 0u) { @@ -5172,7 +5173,7 @@ L_088D2520: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 922u, 0x08AFFD38u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D2528u) goto L_088D2528; AOT_REGCACHE_SYNC_OUT(); return; L_088D2528: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_088D2554; @@ -5201,23 +5202,23 @@ L_088D253C: goto L_088D2554; } L_088D2554: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); - aot_gpr_5 = (aot_gpr_17 + static_cast(4)); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); + aot_gpr_5 = (ctx.gpr[17] + static_cast(4)); aot_gpr_31 = (0x088D2564u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0048_entry, 48u, 397u, 0x088C6080u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D2564u) goto L_088D2564; AOT_REGCACHE_SYNC_OUT(); return; L_088D2564: - aot_gpr_6 = (17136u << 16u); + ctx.gpr[6] = (17136u << 16u); aot_gpr_5 = (ctx.gpr[19] & 255u); - aot_fpr_12 = std::bit_cast(aot_gpr_6); + aot_fpr_12 = std::bit_cast(ctx.gpr[6]); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(76))); aot_gpr_31 = (0x088D257Cu); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0109_entry, 109u, 21u, 0x089B8190u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D257Cu) goto L_088D257C; AOT_REGCACHE_SYNC_OUT(); return; L_088D257C: - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(72), static_cast(ctx.gpr[2])); + aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(72), static_cast(aot_gpr_2)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(72))); { const bool branch_taken = static_cast(aot_gpr_4) <= 0; // nop @@ -5280,19 +5281,19 @@ L_088D2614: goto L_088D261C; } L_088D261C: - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-23704), static_cast(ctx.gpr[19])); - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-23708), ctx.gpr[18]); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-23704), static_cast(ctx.gpr[19])); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-23708), ctx.gpr[18]); goto L_088D2624; L_088D2624: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_088D2630; } goto L_088D262C; } L_088D262C: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_088D2630; L_088D2630: { std::uint32_t aot_run_words[10]{}; @@ -5300,7 +5301,7 @@ L_088D2630: aot_fpr_20 = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); aot_gpr_16 = aot_run_words[2]; - aot_gpr_17 = aot_run_words[3]; + ctx.gpr[17] = aot_run_words[3]; ctx.gpr[18] = aot_run_words[4]; ctx.gpr[19] = aot_run_words[5]; ctx.gpr[20] = aot_run_words[6]; @@ -5317,39 +5318,39 @@ L_088D2630: L_088D2660: ctx.gpr[29] = (ctx.gpr[29] + static_cast(-96)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(24))); - aot_gpr_6 = (15395u << 16u); - aot_gpr_6 = (aot_gpr_6 | 55050u); + ctx.gpr[6] = (15395u << 16u); + ctx.gpr[6] = (ctx.gpr[6] | 55050u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) & 0x7FFFFFFFu); - aot_fpr_13 = std::bit_cast(aot_gpr_6); + aot_fpr_13 = std::bit_cast(ctx.gpr[6]); aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(48), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); { const std::uint32_t aot_run_words[6]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30])}; aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(24), aot_run_words); } - { const std::uint32_t aot_run_words[8]{aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], aot_gpr_31}; + { const std::uint32_t aot_run_words[8]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], aot_gpr_31}; aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(52), aot_run_words); } { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); - aot_gpr_17 = (aot_gpr_5 | 0u); + ctx.gpr[17] = (aot_gpr_5 | 0u); if (branch_taken) { goto L_088D2708; } goto L_088D26C4; } L_088D26C4: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); - aot_gpr_5 = (aot_gpr_17 + static_cast(4)); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); + aot_gpr_5 = (ctx.gpr[17] + static_cast(4)); aot_gpr_31 = (0x088D26D4u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0048_entry, 48u, 397u, 0x088C6080u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D26D4u) goto L_088D26D4; AOT_REGCACHE_SYNC_OUT(); return; L_088D26D4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(12))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(12))); ctx.fpr[26] = std::bit_cast(0u); aot_gpr_5 = (16544u << 16u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1588))); aot_fpr_13 = std::bit_cast(aot_gpr_5); aot_gpr_5 = (16968u << 16u); - ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23696))); + ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-23696))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); @@ -5377,7 +5378,7 @@ L_088D2708: } L_088D2710: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1596))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23700))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-23700))); aot_gpr_4 = (16608u << 16u); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_14 = std::bit_cast(aot_gpr_4); @@ -5403,7 +5404,7 @@ L_088D2734: L_088D2744: aot_gpr_4 = (16576u << 16u); ctx.fpr[22] = std::bit_cast(aot_gpr_4); - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-23696), std::bit_cast(ctx.fpr[22])); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-23696), std::bit_cast(ctx.fpr[22])); aot_gpr_4 = (16179u << 16u); goto L_088D2754; L_088D2754: @@ -5418,12 +5419,12 @@ L_088D2754: } goto L_088D2770; L_088D2770: - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-23696), std::bit_cast(ctx.fpr[22])); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(16))); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(24))); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-23696), std::bit_cast(ctx.fpr[22])); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(16))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(24))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(80))); aot_fpr_12 = aot_fpr_12 / aot_fpr_13; - ctx.gpr[22] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(12))); + ctx.gpr[22] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(12))); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[22] + static_cast(1493))); aot_gpr_4 = (aot_gpr_4 & 255u); ctx.gpr[23] = (aot_gpr_4 << 16u); @@ -5436,23 +5437,23 @@ L_088D2770: } goto L_088D27A8; L_088D27A8: - ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23684))); + ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-23684))); aot_gpr_31 = (0x088D27B4u); - ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23688))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D27B4u) goto L_088D27B4; + ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-23688))); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[29], aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D27B4u) goto L_088D27B4; AOT_REGCACHE_SYNC_OUT(); return; L_088D27B4: ctx.gpr[21] = (ctx.gpr[3] | 0u); - ctx.gpr[20] = (ctx.gpr[2] | 0u); + ctx.gpr[20] = (aot_gpr_2 | 0u); aot_gpr_5 = (ctx.gpr[21] | 0u); aot_gpr_4 = (ctx.gpr[20] | 0u); ctx.gpr[7] = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x088D27D0u); - aot_gpr_6 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D27D0u) goto L_088D27D0; + ctx.gpr[6] = (ctx.gpr[18] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B6256C, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_16, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D27D0u) goto L_088D27D0; AOT_REGCACHE_SYNC_OUT(); return; L_088D27D0: - if (static_cast(ctx.gpr[2]) >= 0) { + if (static_cast(aot_gpr_2) >= 0) { aot_gpr_5 = (ctx.gpr[19] | 0u); goto L_088D27E4; } @@ -5465,7 +5466,7 @@ L_088D27D8: L_088D27E4: aot_gpr_31 = (0x088D27ECu); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D27ECu) goto L_088D27EC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B627F0, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D27ECu) goto L_088D27EC; AOT_REGCACHE_SYNC_OUT(); return; L_088D27EC: aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[0])); @@ -5482,15 +5483,15 @@ L_088D2804: aot_gpr_4 = (16000u << 16u); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_fpr_13 = std::bit_cast(aot_gpr_4); - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23828))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-23828))); aot_fpr_20 = std::bit_cast(std::bit_cast(ctx.fpr[24])); aot_gpr_4 = (16800u << 16u); ctx.fpr[15] = std::bit_cast(aot_gpr_4); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } - ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23812))); + ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-23812))); aot_gpr_4 = (16384u << 16u); ctx.fpr[17] = std::bit_cast(aot_gpr_4); - ctx.fpr[18] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23816))); + ctx.fpr[18] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-23816))); { const float fs = ctx.fpr[16]; const float ft = aot_fpr_20; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[19] = std::bit_cast(0x7FC00000u); else ctx.fpr[19] = fs * ft; } { const float fs = aot_fpr_13; const float ft = aot_fpr_20; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_gpr_4 = (15872u << 16u); @@ -5504,10 +5505,10 @@ L_088D2804: aot_gpr_4 = (aot_gpr_5 + static_cast(432)); aot_fpr_13 = aot_fpr_13 + aot_fpr_14; aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); + ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_4 = (ctx.gpr[22] + aot_gpr_5); ctx.fpr[22] = ctx.fpr[22] + aot_fpr_12; - jump_target = aot_gpr_6; + jump_target = ctx.gpr[6]; aot_gpr_31 = (0x088D2880u); ctx.fpr[28] = aot_fpr_13 + ctx.fpr[28]; ctx.pc = jump_target; @@ -5515,12 +5516,12 @@ L_088D2804: AOT_REGCACHE_SYNC_OUT(); return; L_088D2880: aot_gpr_31 = (0x088D2888u); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(8))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(8))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0048_entry, 48u, 363u, 0x088C5CD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D2888u) goto L_088D2888; AOT_REGCACHE_SYNC_OUT(); return; L_088D2888: aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[0])); - ctx.gpr[22] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(12))); + ctx.gpr[22] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(12))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[26])) ? 0x00800000u : 0u); // nop if (((ctx.fcr31 & 0x00800000u) != 0u)) { @@ -5529,7 +5530,7 @@ L_088D2888: } goto L_088D28A0; L_088D28A0: - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23808))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-23808))); aot_gpr_4 = (16256u << 16u); { const float fs = aot_fpr_13; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_14 = std::bit_cast(aot_gpr_4); @@ -5569,13 +5570,13 @@ L_088D28E0: AOT_REGCACHE_SYNC_OUT(); return; L_088D28EC: aot_gpr_4 = (16800u << 16u); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23796))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-23796))); aot_fpr_12 = std::bit_cast(aot_gpr_4); { const float fs = ctx.fpr[0]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23792))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-23792))); { const float fs = aot_fpr_13; const float ft = ctx.fpr[24]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23804))); - aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23824))); + ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-23804))); + aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-23824))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[28] < ctx.fpr[26])) ? 0x00800000u : 0u); aot_fpr_12 = aot_fpr_12 + aot_fpr_14; aot_fpr_13 = ctx.fpr[15] + aot_fpr_13; @@ -5602,7 +5603,7 @@ L_088D292C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0109_entry, 109u, 21u, 0x089B8190u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D2948u) goto L_088D2948; AOT_REGCACHE_SYNC_OUT(); return; L_088D2948: - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(72), static_cast(ctx.gpr[2])); + aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(72), static_cast(aot_gpr_2)); aot_gpr_4 = (0u | 63u); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(114), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(72))); @@ -5650,8 +5651,8 @@ L_088D29B4: aot_fpr_12 = ctx.fpr[22] - aot_fpr_12; aot_gpr_4 = (32768u << 16u); aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); - aot_gpr_6 = (std::bit_cast(aot_fpr_12)); - aot_gpr_4 = (aot_gpr_6 + aot_gpr_4); + ctx.gpr[6] = (std::bit_cast(aot_fpr_12)); + aot_gpr_4 = (ctx.gpr[6] + aot_gpr_4); goto L_088D29C8; L_088D29C8: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_4); @@ -5693,7 +5694,7 @@ L_088D2A14: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0109_entry, 109u, 21u, 0x089B8190u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D2A30u) goto L_088D2A30; AOT_REGCACHE_SYNC_OUT(); return; L_088D2A30: - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(72), static_cast(ctx.gpr[2])); + aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(72), static_cast(aot_gpr_2)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(72))); { const bool branch_taken = static_cast(aot_gpr_4) <= 0; aot_gpr_5 = (0u | 38u); @@ -5740,8 +5741,8 @@ L_088D2A98: aot_fpr_12 = aot_fpr_13 - aot_fpr_12; aot_gpr_5 = (32768u << 16u); aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); - aot_gpr_6 = (std::bit_cast(aot_fpr_12)); - aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); + ctx.gpr[6] = (std::bit_cast(aot_fpr_12)); + aot_gpr_5 = (ctx.gpr[6] + aot_gpr_5); goto L_088D2AAC; L_088D2AAC: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_5); @@ -5764,7 +5765,7 @@ L_088D2AD4: goto L_088D2ADC; } L_088D2ADC: - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23703))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23703))); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_4 = (16128u << 16u); if (branch_taken) { @@ -5785,7 +5786,7 @@ L_088D2AE8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0109_entry, 109u, 21u, 0x089B8190u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D2B0Cu) goto L_088D2B0C; AOT_REGCACHE_SYNC_OUT(); return; L_088D2B0C: - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(72), static_cast(ctx.gpr[2])); + aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(72), static_cast(aot_gpr_2)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(72))); { const bool branch_taken = static_cast(aot_gpr_4) <= 0; aot_gpr_4 = (0u | 38u); @@ -5817,10 +5818,10 @@ L_088D2B1C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 703u, 0x089B7B80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D2B6Cu) goto L_088D2B6C; AOT_REGCACHE_SYNC_OUT(); return; L_088D2B6C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(12))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(12))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1596))); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-23703), static_cast(ctx.gpr[18])); - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-23700), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-23703), static_cast(ctx.gpr[18])); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-23700), std::bit_cast(aot_fpr_12)); goto L_088D2B7C; L_088D2B7C: { std::uint32_t aot_run_words[15]{}; @@ -5832,7 +5833,7 @@ L_088D2B7C: ctx.fpr[28] = std::bit_cast(aot_run_words[4]); ctx.fpr[30] = std::bit_cast(aot_run_words[5]); aot_gpr_16 = aot_run_words[6]; - aot_gpr_17 = aot_run_words[7]; + ctx.gpr[17] = aot_run_words[7]; ctx.gpr[18] = aot_run_words[8]; ctx.gpr[19] = aot_run_words[9]; ctx.gpr[20] = aot_run_words[10]; @@ -5850,40 +5851,40 @@ L_088D2B7C: L_088D2BC0: ctx.gpr[29] = (ctx.gpr[29] + static_cast(-96)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(24))); - aot_gpr_6 = (15395u << 16u); - aot_gpr_6 = (aot_gpr_6 | 55050u); + ctx.gpr[6] = (15395u << 16u); + ctx.gpr[6] = (ctx.gpr[6] | 55050u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) & 0x7FFFFFFFu); - aot_fpr_13 = std::bit_cast(aot_gpr_6); + aot_fpr_13 = std::bit_cast(ctx.gpr[6]); aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(52), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); { const std::uint32_t aot_run_words[6]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30])}; aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(28), aot_run_words); } - { const std::uint32_t aot_run_words[8]{aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], aot_gpr_31}; + { const std::uint32_t aot_run_words[8]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], aot_gpr_31}; aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(56), aot_run_words); } { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); - aot_gpr_17 = (aot_gpr_5 | 0u); + ctx.gpr[17] = (aot_gpr_5 | 0u); if (branch_taken) { goto L_088D2C80; } goto L_088D2C24; } L_088D2C24: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); - aot_gpr_5 = (aot_gpr_17 + static_cast(4)); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); + aot_gpr_5 = (ctx.gpr[17] + static_cast(4)); aot_gpr_31 = (0x088D2C34u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0048_entry, 48u, 397u, 0x088C6080u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D2C34u) goto L_088D2C34; AOT_REGCACHE_SYNC_OUT(); return; L_088D2C34: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(16))); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(24))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(16))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(24))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(80))); aot_fpr_12 = aot_fpr_12 / aot_fpr_13; - ctx.gpr[22] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(12))); + ctx.gpr[22] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(12))); aot_gpr_4 = (16800u << 16u); aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[22] + static_cast(1493))); - aot_gpr_6 = (16968u << 16u); + ctx.gpr[6] = (16968u << 16u); aot_gpr_5 = (aot_gpr_5 & 255u); ctx.gpr[23] = (aot_gpr_5 << 16u); ctx.gpr[23] = (static_cast(static_cast(ctx.gpr[23]) >> 16u)); @@ -5892,7 +5893,7 @@ L_088D2C34: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[26])) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); - ctx.fpr[30] = std::bit_cast(aot_gpr_6); + ctx.fpr[30] = std::bit_cast(ctx.gpr[6]); if (branch_taken) { goto L_088D2C88; } @@ -5900,7 +5901,7 @@ L_088D2C34: } L_088D2C78: { const bool branch_taken = 0u == 0u; - ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23684))); + ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-23684))); if (branch_taken) { goto L_088D2C90; } @@ -5916,25 +5917,25 @@ L_088D2C80: } L_088D2C88: aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); - ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23684))); + ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-23684))); goto L_088D2C90; L_088D2C90: aot_gpr_31 = (0x088D2C98u); - ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23688))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D2C98u) goto L_088D2C98; + ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-23688))); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[29], aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D2C98u) goto L_088D2C98; AOT_REGCACHE_SYNC_OUT(); return; L_088D2C98: ctx.gpr[21] = (ctx.gpr[3] | 0u); - ctx.gpr[20] = (ctx.gpr[2] | 0u); + ctx.gpr[20] = (aot_gpr_2 | 0u); aot_gpr_5 = (ctx.gpr[21] | 0u); aot_gpr_4 = (ctx.gpr[20] | 0u); ctx.gpr[7] = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x088D2CB4u); - aot_gpr_6 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D2CB4u) goto L_088D2CB4; + ctx.gpr[6] = (ctx.gpr[18] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B6256C, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_16, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D2CB4u) goto L_088D2CB4; AOT_REGCACHE_SYNC_OUT(); return; L_088D2CB4: - if (static_cast(ctx.gpr[2]) >= 0) { + if (static_cast(aot_gpr_2) >= 0) { aot_gpr_5 = (ctx.gpr[19] | 0u); goto L_088D2CC8; } @@ -5947,7 +5948,7 @@ L_088D2CBC: L_088D2CC8: aot_gpr_31 = (0x088D2CD0u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D2CD0u) goto L_088D2CD0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B627F0, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D2CD0u) goto L_088D2CD0; AOT_REGCACHE_SYNC_OUT(); return; L_088D2CD0: aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[0])); @@ -5963,11 +5964,11 @@ L_088D2CE8: aot_fpr_12 = std::bit_cast(ctx.gpr[23]); aot_gpr_4 = (16000u << 16u); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23812))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-23812))); aot_fpr_13 = std::bit_cast(aot_gpr_4); - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23828))); + ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-23828))); aot_fpr_20 = std::bit_cast(std::bit_cast(ctx.fpr[24])); - ctx.fpr[17] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23816))); + ctx.fpr[17] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-23816))); { const float fs = aot_fpr_14; const float ft = aot_fpr_20; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[16] = std::bit_cast(0x7FC00000u); else ctx.fpr[16] = fs * ft; } { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_gpr_4 = (15872u << 16u); @@ -5979,12 +5980,12 @@ L_088D2CE8: aot_gpr_4 = (aot_gpr_5 + static_cast(432)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); { const float fs = aot_fpr_13; const float ft = ctx.fpr[28]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); + ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); { const float fs = aot_fpr_12; const float ft = ctx.fpr[18]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_4 = (ctx.gpr[22] + aot_gpr_5); aot_fpr_13 = aot_fpr_13 + ctx.fpr[15]; ctx.fpr[22] = ctx.fpr[22] + aot_fpr_12; - jump_target = aot_gpr_6; + jump_target = ctx.gpr[6]; aot_gpr_31 = (0x088D2D50u); aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(20), std::bit_cast(aot_fpr_13)); ctx.pc = jump_target; @@ -5992,12 +5993,12 @@ L_088D2CE8: AOT_REGCACHE_SYNC_OUT(); return; L_088D2D50: aot_gpr_31 = (0x088D2D58u); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(8))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(8))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0048_entry, 48u, 363u, 0x088C5CD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D2D58u) goto L_088D2D58; AOT_REGCACHE_SYNC_OUT(); return; L_088D2D58: aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[0])); - ctx.gpr[22] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(12))); + ctx.gpr[22] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(12))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[26])) ? 0x00800000u : 0u); // nop if (((ctx.fcr31 & 0x00800000u) != 0u)) { @@ -6006,7 +6007,7 @@ L_088D2D58: } goto L_088D2D70; L_088D2D70: - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23808))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-23808))); aot_gpr_4 = (16256u << 16u); { const float fs = aot_fpr_13; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_14 = std::bit_cast(aot_gpr_4); @@ -6028,7 +6029,7 @@ L_088D2D90: L_088D2D9C: aot_fpr_20 = std::bit_cast(std::bit_cast(ctx.fpr[0])); { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (0u | 1u); + ctx.gpr[17] = (0u | 1u); if (branch_taken) { goto L_088D2DB0; } @@ -6036,7 +6037,7 @@ L_088D2D9C: } L_088D2DA8: aot_fpr_20 = std::bit_cast(std::bit_cast(ctx.fpr[26])); - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); goto L_088D2DB0; L_088D2DB0: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -6045,12 +6046,12 @@ L_088D2DB0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 160u, 0x088C8F68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D2DBCu) goto L_088D2DBC; AOT_REGCACHE_SYNC_OUT(); return; L_088D2DBC: - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23796))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-23796))); { const float fs = ctx.fpr[0]; const float ft = ctx.fpr[28]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23792))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-23792))); { const float fs = aot_fpr_13; const float ft = ctx.fpr[24]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23804))); - aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23824))); + ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-23804))); + aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-23824))); aot_fpr_12 = aot_fpr_12 + aot_fpr_14; ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(20))); aot_fpr_13 = ctx.fpr[15] + aot_fpr_13; @@ -6079,7 +6080,7 @@ L_088D2DF8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0109_entry, 109u, 21u, 0x089B8190u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D2E18u) goto L_088D2E18; AOT_REGCACHE_SYNC_OUT(); return; L_088D2E18: - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(72), static_cast(ctx.gpr[2])); + aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(72), static_cast(aot_gpr_2)); aot_gpr_4 = (0u | 63u); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(114), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(72))); @@ -6127,8 +6128,8 @@ L_088D2E84: aot_fpr_12 = ctx.fpr[22] - aot_fpr_12; aot_gpr_4 = (32768u << 16u); aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); - aot_gpr_6 = (std::bit_cast(aot_fpr_12)); - aot_gpr_4 = (aot_gpr_6 + aot_gpr_4); + ctx.gpr[6] = (std::bit_cast(aot_fpr_12)); + aot_gpr_4 = (ctx.gpr[6] + aot_gpr_4); goto L_088D2E98; L_088D2E98: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_4); @@ -6170,7 +6171,7 @@ L_088D2EE0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0109_entry, 109u, 21u, 0x089B8190u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D2EFCu) goto L_088D2EFC; AOT_REGCACHE_SYNC_OUT(); return; L_088D2EFC: - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(72), static_cast(ctx.gpr[2])); + aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(72), static_cast(aot_gpr_2)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(72))); { const bool branch_taken = static_cast(aot_gpr_4) <= 0; aot_gpr_5 = (0u | 38u); @@ -6217,8 +6218,8 @@ L_088D2F64: aot_fpr_12 = aot_fpr_13 - aot_fpr_12; aot_gpr_5 = (32768u << 16u); aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); - aot_gpr_6 = (std::bit_cast(aot_fpr_12)); - aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); + ctx.gpr[6] = (std::bit_cast(aot_fpr_12)); + aot_gpr_5 = (ctx.gpr[6] + aot_gpr_5); goto L_088D2F78; L_088D2F78: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_5); @@ -6236,7 +6237,7 @@ L_088D2F78: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 703u, 0x089B7B80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D2FA8u) goto L_088D2FA8; AOT_REGCACHE_SYNC_OUT(); return; L_088D2FA8: - { const bool branch_taken = aot_gpr_17 != 0u; + { const bool branch_taken = ctx.gpr[17] != 0u; // nop if (branch_taken) { goto L_088D3048; @@ -6244,7 +6245,7 @@ L_088D2FA8: goto L_088D2FB0; } L_088D2FB0: - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23680))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23680))); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_4 = (16128u << 16u); if (branch_taken) { @@ -6265,7 +6266,7 @@ L_088D2FBC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0109_entry, 109u, 21u, 0x089B8190u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D2FE0u) goto L_088D2FE0; AOT_REGCACHE_SYNC_OUT(); return; L_088D2FE0: - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(72), static_cast(ctx.gpr[2])); + aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(72), static_cast(aot_gpr_2)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(72))); { const bool branch_taken = static_cast(aot_gpr_4) <= 0; aot_gpr_4 = (0u | 38u); @@ -6300,7 +6301,7 @@ L_088D2FF0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 703u, 0x089B7B80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D3048u) goto L_088D3048; AOT_REGCACHE_SYNC_OUT(); return; L_088D3048: - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-23680), static_cast(aot_gpr_17)); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-23680), static_cast(ctx.gpr[17])); goto L_088D304C; L_088D304C: { std::uint32_t aot_run_words[15]{}; @@ -6312,7 +6313,7 @@ L_088D304C: ctx.fpr[28] = std::bit_cast(aot_run_words[4]); ctx.fpr[30] = std::bit_cast(aot_run_words[5]); aot_gpr_16 = aot_run_words[6]; - aot_gpr_17 = aot_run_words[7]; + ctx.gpr[17] = aot_run_words[7]; ctx.gpr[18] = aot_run_words[8]; ctx.gpr[19] = aot_run_words[9]; ctx.gpr[20] = aot_run_words[10]; @@ -6329,61 +6330,61 @@ L_088D304C: AOT_REGCACHE_SYNC_OUT(); return; L_088D3090: ctx.gpr[29] = (ctx.gpr[29] + static_cast(-96)); - aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(52), aot_gpr_17); - aot_gpr_17 = (aot_gpr_4 | 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(48))); - aot_gpr_6 = (aot_gpr_5 | 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(52), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_4 | 0u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(48))); + ctx.gpr[6] = (aot_gpr_5 | 0u); aot_gpr_5 = (aot_gpr_4 << 6u); aot_gpr_4 = (aot_gpr_4 << 3u); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); - aot_gpr_4 = (aot_gpr_17 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[17] + aot_gpr_4); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(6308))); aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(64), ctx.gpr[20]); ctx.gpr[20] = (0u | 0u); - aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(24), aot_gpr_6); - aot_gpr_6 = (static_cast(ctx.gpr[20]) < static_cast(aot_gpr_5) ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(24), ctx.gpr[6]); + ctx.gpr[6] = (static_cast(ctx.gpr[20]) < static_cast(aot_gpr_5) ? 1u : 0u); { const std::uint32_t aot_run_words[5]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), aot_gpr_16}; aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(32), aot_run_words); } aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(56), ctx.gpr[18]); aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(60), ctx.gpr[19]); { const std::uint32_t aot_run_words[5]{ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(68), aot_run_words); } - { const bool branch_taken = aot_gpr_6 == 0u; - aot_gpr_6 = (20224u << 16u); + { const bool branch_taken = ctx.gpr[6] == 0u; + ctx.gpr[6] = (20224u << 16u); if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0052_entry, 52u, 89u, 0x088D4948u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_088D3100; } L_088D3100: - ctx.gpr[19] = (ctx.gpr[28] + static_cast(7696)); - ctx.fpr[26] = std::bit_cast(aot_gpr_6); + ctx.gpr[19] = (aot_gpr_28 + static_cast(7696)); + ctx.fpr[26] = std::bit_cast(ctx.gpr[6]); ctx.gpr[30] = (ctx.gpr[29] + static_cast(16)); ctx.gpr[23] = (0u | 43u); ctx.gpr[22] = (ctx.gpr[29] + static_cast(17)); ctx.gpr[21] = (0u | 45u); goto L_088D3118; L_088D3118: - aot_gpr_6 = (0u | 0u); + ctx.gpr[6] = (0u | 0u); ctx.gpr[7] = (0u | 0u); - aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(20), static_cast(aot_gpr_6)); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(20), static_cast(ctx.gpr[6])); ctx.gpr[18] = (ctx.gpr[20] + ctx.gpr[20]); aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(28), static_cast(ctx.gpr[7])); - aot_gpr_6 = (aot_gpr_4 + ctx.gpr[18]); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(113), static_cast(0u)); - aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(6266))); - ctx.gpr[7] = (static_cast(aot_gpr_6) < 187 ? 1u : 0u); + ctx.gpr[6] = (aot_gpr_4 + ctx.gpr[18]); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(113), static_cast(0u)); + ctx.gpr[6] = (aot_mem.aot_direct_load16(ctx.gpr[6] + static_cast(6266))); + ctx.gpr[7] = (static_cast(ctx.gpr[6]) < 187 ? 1u : 0u); { const bool branch_taken = ctx.gpr[7] == 0u; - ctx.gpr[7] = (static_cast(aot_gpr_6) < 188 ? 1u : 0u); + ctx.gpr[7] = (static_cast(ctx.gpr[6]) < 188 ? 1u : 0u); if (branch_taken) { goto L_088D3170; } goto L_088D3144; } L_088D3144: - ctx.gpr[7] = (static_cast(aot_gpr_6) < 33 ? 1u : 0u); + ctx.gpr[7] = (static_cast(ctx.gpr[6]) < 33 ? 1u : 0u); { const bool branch_taken = ctx.gpr[7] != 0u; - ctx.gpr[7] = (static_cast(aot_gpr_6) < 57 ? 1u : 0u); + ctx.gpr[7] = (static_cast(ctx.gpr[6]) < 57 ? 1u : 0u); if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0052_entry, 52u, 87u, 0x088D4934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } @@ -6391,7 +6392,7 @@ L_088D3144: } L_088D3150: { const bool branch_taken = ctx.gpr[7] == 0u; - ctx.gpr[7] = (aot_gpr_6 + static_cast(-33)); + ctx.gpr[7] = (ctx.gpr[6] + static_cast(-33)); if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0052_entry, 52u, 87u, 0x088D4934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } @@ -6410,14 +6411,14 @@ L_088D3158: AOT_REGCACHE_SYNC_OUT(); return; L_088D3170: { const bool branch_taken = ctx.gpr[7] != 0u; - aot_gpr_6 = (static_cast(aot_gpr_6) < 189 ? 1u : 0u); + ctx.gpr[6] = (static_cast(ctx.gpr[6]) < 189 ? 1u : 0u); if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0052_entry, 52u, 68u, 0x088D4634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_088D3178; } L_088D3178: - { const bool branch_taken = aot_gpr_6 == 0u; + { const bool branch_taken = ctx.gpr[6] == 0u; // nop if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0052_entry, 52u, 87u, 0x088D4934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; @@ -6426,10 +6427,10 @@ L_088D3178: } L_088D3180: aot_gpr_5 = (0u | 189u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(56), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(56), aot_gpr_5); aot_gpr_5 = (0u | 18000u); ctx.fpr[24] = std::bit_cast(0u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(68), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(68), aot_gpr_5); aot_gpr_5 = (ctx.gpr[20] << 2u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_5 = (16880u << 16u); @@ -6448,10 +6449,10 @@ L_088D3180: goto L_088D31C4; } L_088D31C4: - aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(24))); - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(8))); - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(368))); - { const bool branch_taken = aot_gpr_6 != 0u; + ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(24))); + ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(8))); + ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(368))); + { const bool branch_taken = ctx.gpr[6] != 0u; // nop if (branch_taken) { goto L_088D31E4; @@ -6468,8 +6469,8 @@ L_088D31D8: goto L_088D31E4; } L_088D31E4: - aot_gpr_6 = (aot_gpr_6 + static_cast(-18)); - ctx.gpr[7] = (aot_gpr_6 < static_cast(20) ? 1u : 0u); + ctx.gpr[6] = (ctx.gpr[6] + static_cast(-18)); + ctx.gpr[7] = (ctx.gpr[6] < static_cast(20) ? 1u : 0u); { const bool branch_taken = ctx.gpr[7] == 0u; // nop if (branch_taken) { @@ -6478,9 +6479,9 @@ L_088D31E4: goto L_088D31F4; } L_088D31F4: - aot_gpr_6 = (aot_gpr_6 << 2u); + ctx.gpr[6] = (ctx.gpr[6] << 2u); ctx.gpr[1] = (2232u << 16u); - ctx.gpr[1] = (ctx.gpr[1] + aot_gpr_6); + ctx.gpr[1] = (ctx.gpr[1] + ctx.gpr[6]); ctx.gpr[1] = (aot_mem.aot_direct_load32(ctx.gpr[1] + static_cast(-19680))); jump_target = ctx.gpr[1]; // nop @@ -6490,43 +6491,43 @@ L_088D31F4: AOT_REGCACHE_SYNC_OUT(); return; L_088D320C: aot_gpr_4 = (0u | 284u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(56), aot_gpr_4); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(60), static_cast(0u)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23679))); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(56), aot_gpr_4); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(60), static_cast(0u)); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23679))); aot_gpr_16 = (0u | 1u); aot_gpr_5 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-23679), static_cast(aot_gpr_5)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(52), aot_gpr_4); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-23679), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(52), aot_gpr_4); aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(20), static_cast(aot_gpr_16)); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x088D323Cu); aot_gpr_5 = (0u | 284u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D323Cu) goto L_088D323C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D323Cu) goto L_088D323C; AOT_REGCACHE_SYNC_OUT(); return; L_088D323C: - ctx.gpr[18] = (ctx.gpr[2] | 0u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(68), ctx.gpr[2]); + ctx.gpr[18] = (aot_gpr_2 | 0u); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(68), aot_gpr_2); aot_gpr_5 = (ctx.gpr[18] >> 5u); aot_gpr_31 = (0x088D3250u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D3250u) goto L_088D3250; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089B7A84, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D3250u) goto L_088D3250; AOT_REGCACHE_SYNC_OUT(); return; L_088D3250: - aot_gpr_4 = (ctx.gpr[18] + ctx.gpr[2]); + aot_gpr_4 = (ctx.gpr[18] + aot_gpr_2); aot_fpr_12 = std::bit_cast(0u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(68), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(68), aot_gpr_4); aot_gpr_4 = (0u | 3u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(64), aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(84), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(64), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(84), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (17136u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); ctx.gpr[21] = (0u | 127u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(88), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(88), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (0u | 1u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(80), aot_gpr_4); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(61), static_cast(0u)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(92), static_cast(aot_gpr_4)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(113), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(80), aot_gpr_4); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(61), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(92), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(113), static_cast(aot_gpr_4)); aot_gpr_4 = (18017u << 16u); aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(28), static_cast(aot_gpr_16)); aot_fpr_20 = std::bit_cast(aot_gpr_4); @@ -6541,47 +6542,47 @@ L_088D3298: } L_088D32A0: aot_gpr_4 = (0u | 110u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(56), aot_gpr_4); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(60), static_cast(0u)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23679))); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(56), aot_gpr_4); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(60), static_cast(0u)); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23679))); aot_gpr_16 = (0u | 1u); aot_gpr_5 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-23679), static_cast(aot_gpr_5)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(52), aot_gpr_4); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-23679), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(52), aot_gpr_4); aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(20), static_cast(aot_gpr_16)); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x088D32D0u); aot_gpr_5 = (0u | 110u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D32D0u) goto L_088D32D0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D32D0u) goto L_088D32D0; AOT_REGCACHE_SYNC_OUT(); return; L_088D32D0: - ctx.gpr[18] = (ctx.gpr[2] | 0u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(68), ctx.gpr[2]); + ctx.gpr[18] = (aot_gpr_2 | 0u); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(68), aot_gpr_2); aot_gpr_5 = (ctx.gpr[18] >> 5u); aot_gpr_31 = (0x088D32E4u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D32E4u) goto L_088D32E4; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089B7A84, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D32E4u) goto L_088D32E4; AOT_REGCACHE_SYNC_OUT(); return; L_088D32E4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(26324))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(26324))); aot_gpr_5 = (0u | 10u); { const std::uint32_t dividend = aot_gpr_4; const std::uint32_t divisor = aot_gpr_5; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } aot_fpr_12 = std::bit_cast(0u); - aot_gpr_4 = (ctx.gpr[18] + ctx.gpr[2]); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(68), aot_gpr_4); + aot_gpr_4 = (ctx.gpr[18] + aot_gpr_2); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(68), aot_gpr_4); aot_gpr_4 = (0u | 3u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(64), aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(84), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(64), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(84), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (17136u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (18017u << 16u); aot_fpr_20 = std::bit_cast(aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(88), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(88), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (0u | 1u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(80), aot_gpr_4); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(61), static_cast(0u)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(92), static_cast(aot_gpr_4)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(113), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(80), aot_gpr_4); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(61), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(92), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(113), static_cast(aot_gpr_4)); aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(28), static_cast(aot_gpr_16)); aot_gpr_4 = (ctx.hi); ctx.gpr[21] = (aot_gpr_4 + static_cast(105)); @@ -6594,44 +6595,44 @@ L_088D32E4: } L_088D3344: aot_gpr_4 = (0u | 298u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(56), aot_gpr_4); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(60), static_cast(0u)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23679))); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(56), aot_gpr_4); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(60), static_cast(0u)); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23679))); aot_gpr_16 = (0u | 1u); aot_gpr_5 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-23679), static_cast(aot_gpr_5)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(52), aot_gpr_4); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-23679), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(52), aot_gpr_4); aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(20), static_cast(aot_gpr_16)); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x088D3374u); aot_gpr_5 = (0u | 298u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D3374u) goto L_088D3374; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D3374u) goto L_088D3374; AOT_REGCACHE_SYNC_OUT(); return; L_088D3374: - ctx.gpr[18] = (ctx.gpr[2] | 0u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(68), ctx.gpr[2]); + ctx.gpr[18] = (aot_gpr_2 | 0u); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(68), aot_gpr_2); aot_gpr_5 = (ctx.gpr[18] >> 5u); aot_gpr_31 = (0x088D3388u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D3388u) goto L_088D3388; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089B7A84, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D3388u) goto L_088D3388; AOT_REGCACHE_SYNC_OUT(); return; L_088D3388: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(26320))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(26320))); aot_gpr_5 = (0u | 20u); { const std::uint32_t dividend = aot_gpr_4; const std::uint32_t divisor = aot_gpr_5; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } aot_fpr_12 = std::bit_cast(0u); - aot_gpr_4 = (ctx.gpr[18] + ctx.gpr[2]); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(68), aot_gpr_4); + aot_gpr_4 = (ctx.gpr[18] + aot_gpr_2); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(68), aot_gpr_4); aot_gpr_4 = (0u | 1u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(64), aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(84), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(64), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(84), std::bit_cast(aot_fpr_12)); aot_gpr_5 = (17136u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(88), std::bit_cast(aot_fpr_12)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(80), aot_gpr_4); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(61), static_cast(0u)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(92), static_cast(aot_gpr_4)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(113), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(88), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(80), aot_gpr_4); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(61), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(92), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(113), static_cast(aot_gpr_4)); aot_gpr_5 = (18017u << 16u); aot_fpr_20 = std::bit_cast(aot_gpr_5); aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(28), static_cast(aot_gpr_16)); @@ -6646,36 +6647,36 @@ L_088D3388: } L_088D33E4: aot_gpr_4 = (0u | 191u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(56), aot_gpr_4); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(60), static_cast(0u)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(56), aot_gpr_4); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(60), static_cast(0u)); aot_gpr_4 = (0u | 9u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(52), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(52), aot_gpr_4); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x088D3404u); aot_gpr_5 = (0u | 191u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D3404u) goto L_088D3404; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D3404u) goto L_088D3404; AOT_REGCACHE_SYNC_OUT(); return; L_088D3404: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(48))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(48))); aot_gpr_5 = (aot_gpr_4 << 3u); aot_gpr_5 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_gpr_4 & 2047u); - aot_gpr_4 = (ctx.gpr[2] + aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(68), aot_gpr_4); + aot_gpr_4 = (aot_gpr_2 + aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(68), aot_gpr_4); aot_gpr_4 = (0u | 3u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(64), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(64), aot_gpr_4); aot_gpr_4 = (16512u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (17008u << 16u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(84), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(84), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(88), std::bit_cast(aot_fpr_12)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(80), 0u); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(61), static_cast(0u)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(92), static_cast(0u)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(88), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(80), 0u); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(61), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(92), static_cast(0u)); aot_gpr_4 = (0u | 6u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(116), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(116), aot_gpr_4); aot_gpr_4 = (0u | 0u); aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(28), static_cast(aot_gpr_4)); aot_gpr_4 = (17761u << 16u); @@ -6689,42 +6690,42 @@ L_088D3404: } L_088D346C: aot_gpr_4 = (0u | 236u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(56), aot_gpr_4); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(60), static_cast(0u)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23679))); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(56), aot_gpr_4); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(60), static_cast(0u)); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23679))); aot_gpr_16 = (0u | 1u); aot_gpr_5 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-23679), static_cast(aot_gpr_5)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(52), aot_gpr_4); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-23679), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(52), aot_gpr_4); aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(20), static_cast(aot_gpr_16)); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x088D349Cu); aot_gpr_5 = (0u | 236u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D349Cu) goto L_088D349C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D349Cu) goto L_088D349C; AOT_REGCACHE_SYNC_OUT(); return; L_088D349C: - ctx.gpr[18] = (ctx.gpr[2] | 0u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(68), ctx.gpr[2]); + ctx.gpr[18] = (aot_gpr_2 | 0u); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(68), aot_gpr_2); aot_gpr_5 = (ctx.gpr[18] >> 5u); aot_gpr_31 = (0x088D34B0u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D34B0u) goto L_088D34B0; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089B7A84, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D34B0u) goto L_088D34B0; AOT_REGCACHE_SYNC_OUT(); return; L_088D34B0: - aot_gpr_4 = (ctx.gpr[18] + ctx.gpr[2]); + aot_gpr_4 = (ctx.gpr[18] + aot_gpr_2); aot_fpr_12 = std::bit_cast(0u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(68), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(68), aot_gpr_4); aot_gpr_4 = (0u | 3u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(64), aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(84), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(64), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(84), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (17136u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); ctx.gpr[21] = (0u | 127u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(88), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(88), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (0u | 1u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(80), aot_gpr_4); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(61), static_cast(0u)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(92), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(80), aot_gpr_4); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(61), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(92), static_cast(aot_gpr_4)); aot_gpr_4 = (18017u << 16u); aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(28), static_cast(aot_gpr_16)); { const bool branch_taken = 0u == 0u; @@ -6736,46 +6737,46 @@ L_088D34B0: } L_088D34F8: aot_gpr_4 = (0u | 253u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(56), aot_gpr_4); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(60), static_cast(0u)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23679))); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(56), aot_gpr_4); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(60), static_cast(0u)); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23679))); aot_gpr_16 = (0u | 1u); aot_gpr_5 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-23679), static_cast(aot_gpr_5)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(52), aot_gpr_4); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-23679), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(52), aot_gpr_4); aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(20), static_cast(aot_gpr_16)); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x088D3528u); aot_gpr_5 = (0u | 253u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D3528u) goto L_088D3528; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D3528u) goto L_088D3528; AOT_REGCACHE_SYNC_OUT(); return; L_088D3528: - ctx.gpr[18] = (ctx.gpr[2] | 0u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(68), ctx.gpr[2]); + ctx.gpr[18] = (aot_gpr_2 | 0u); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(68), aot_gpr_2); aot_gpr_5 = (ctx.gpr[18] >> 5u); aot_gpr_31 = (0x088D353Cu); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D353Cu) goto L_088D353C; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089B7A84, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D353Cu) goto L_088D353C; AOT_REGCACHE_SYNC_OUT(); return; L_088D353C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(26332))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(26332))); aot_gpr_5 = (0u | 15u); { const std::uint32_t dividend = aot_gpr_4; const std::uint32_t divisor = aot_gpr_5; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } aot_fpr_12 = std::bit_cast(0u); - aot_gpr_4 = (ctx.gpr[18] + ctx.gpr[2]); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(68), aot_gpr_4); + aot_gpr_4 = (ctx.gpr[18] + aot_gpr_2); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(68), aot_gpr_4); aot_gpr_4 = (0u | 3u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(64), aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(84), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(64), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(84), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (17136u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (18017u << 16u); aot_fpr_20 = std::bit_cast(aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(88), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(88), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (0u | 1u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(80), aot_gpr_4); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(61), static_cast(0u)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(92), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(80), aot_gpr_4); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(61), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(92), static_cast(aot_gpr_4)); aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(28), static_cast(aot_gpr_16)); aot_gpr_4 = (ctx.hi); ctx.gpr[21] = (aot_gpr_4 + static_cast(113)); @@ -6788,38 +6789,38 @@ L_088D353C: } L_088D3598: aot_gpr_4 = (0u | 327u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(56), aot_gpr_4); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(60), static_cast(0u)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23679))); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(56), aot_gpr_4); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(60), static_cast(0u)); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23679))); aot_gpr_16 = (0u | 1u); aot_gpr_5 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-23679), static_cast(aot_gpr_5)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(52), aot_gpr_4); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-23679), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(52), aot_gpr_4); aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(20), static_cast(aot_gpr_16)); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088D35C8u); aot_gpr_5 = (0u | 500u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D35C8u) goto L_088D35C8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089B7A84, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D35C8u) goto L_088D35C8; AOT_REGCACHE_SYNC_OUT(); return; L_088D35C8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(26332))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(26332))); aot_gpr_5 = (0u | 15u); { const std::uint32_t dividend = aot_gpr_4; const std::uint32_t divisor = aot_gpr_5; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } aot_fpr_12 = std::bit_cast(0u); - aot_gpr_4 = (ctx.gpr[2] + static_cast(17000)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(68), aot_gpr_4); + aot_gpr_4 = (aot_gpr_2 + static_cast(17000)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(68), aot_gpr_4); aot_gpr_4 = (0u | 3u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(64), aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(84), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(64), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(84), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (17136u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (18017u << 16u); aot_fpr_20 = std::bit_cast(aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(88), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(88), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (0u | 1u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(80), aot_gpr_4); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(61), static_cast(0u)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(92), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(80), aot_gpr_4); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(61), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(92), static_cast(aot_gpr_4)); aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(28), static_cast(aot_gpr_16)); aot_gpr_4 = (ctx.hi); ctx.gpr[21] = (aot_gpr_4 + static_cast(85)); @@ -6832,39 +6833,39 @@ L_088D35C8: } L_088D3624: aot_gpr_4 = (0u | 327u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(56), aot_gpr_4); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(60), static_cast(0u)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23679))); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(56), aot_gpr_4); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(60), static_cast(0u)); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23679))); aot_gpr_16 = (0u | 1u); aot_gpr_5 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-23679), static_cast(aot_gpr_5)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(52), aot_gpr_4); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-23679), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(52), aot_gpr_4); aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(20), static_cast(aot_gpr_16)); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088D3654u); aot_gpr_5 = (0u | 1000u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D3654u) goto L_088D3654; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089B7A84, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D3654u) goto L_088D3654; AOT_REGCACHE_SYNC_OUT(); return; L_088D3654: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(26332))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(26332))); aot_gpr_5 = (0u | 15u); { const std::uint32_t dividend = aot_gpr_4; const std::uint32_t divisor = aot_gpr_5; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } aot_fpr_12 = std::bit_cast(0u); aot_gpr_4 = (0u | 34000u); - aot_gpr_4 = (ctx.gpr[2] + aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(68), aot_gpr_4); + aot_gpr_4 = (aot_gpr_2 + aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(68), aot_gpr_4); aot_gpr_4 = (0u | 3u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(64), aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(84), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(64), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(84), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (17136u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (18017u << 16u); aot_fpr_20 = std::bit_cast(aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(88), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(88), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (0u | 1u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(80), aot_gpr_4); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(61), static_cast(0u)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(92), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(80), aot_gpr_4); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(61), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(92), static_cast(aot_gpr_4)); aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(28), static_cast(aot_gpr_16)); aot_gpr_4 = (ctx.hi); ctx.gpr[21] = (aot_gpr_4 + static_cast(85)); @@ -6877,46 +6878,46 @@ L_088D3654: } L_088D36B4: aot_gpr_4 = (0u | 301u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(56), aot_gpr_4); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(60), static_cast(0u)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23679))); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(56), aot_gpr_4); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(60), static_cast(0u)); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23679))); aot_gpr_16 = (0u | 1u); aot_gpr_5 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-23679), static_cast(aot_gpr_5)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(52), aot_gpr_4); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-23679), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(52), aot_gpr_4); aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(20), static_cast(aot_gpr_16)); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x088D36E4u); aot_gpr_5 = (0u | 301u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D36E4u) goto L_088D36E4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D36E4u) goto L_088D36E4; AOT_REGCACHE_SYNC_OUT(); return; L_088D36E4: - ctx.gpr[18] = (ctx.gpr[2] | 0u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(68), ctx.gpr[2]); + ctx.gpr[18] = (aot_gpr_2 | 0u); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(68), aot_gpr_2); aot_gpr_5 = (ctx.gpr[18] >> 5u); aot_gpr_31 = (0x088D36F8u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D36F8u) goto L_088D36F8; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089B7A84, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D36F8u) goto L_088D36F8; AOT_REGCACHE_SYNC_OUT(); return; L_088D36F8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(26332))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(26332))); aot_gpr_5 = (0u | 15u); { const std::uint32_t dividend = aot_gpr_4; const std::uint32_t divisor = aot_gpr_5; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } aot_fpr_12 = std::bit_cast(0u); - aot_gpr_4 = (ctx.gpr[18] + ctx.gpr[2]); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(68), aot_gpr_4); + aot_gpr_4 = (ctx.gpr[18] + aot_gpr_2); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(68), aot_gpr_4); aot_gpr_4 = (0u | 3u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(64), aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(84), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(64), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(84), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (17136u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (18017u << 16u); aot_fpr_20 = std::bit_cast(aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(88), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(88), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (0u | 1u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(80), aot_gpr_4); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(61), static_cast(0u)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(92), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(80), aot_gpr_4); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(61), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(92), static_cast(aot_gpr_4)); aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(28), static_cast(aot_gpr_16)); aot_gpr_4 = (ctx.hi); ctx.gpr[21] = (aot_gpr_4 + static_cast(105)); @@ -6929,39 +6930,39 @@ L_088D36F8: } L_088D3754: aot_gpr_4 = (0u | 301u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(56), aot_gpr_4); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(60), static_cast(0u)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23679))); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(56), aot_gpr_4); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(60), static_cast(0u)); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23679))); aot_gpr_16 = (0u | 1u); aot_gpr_5 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-23679), static_cast(aot_gpr_5)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(52), aot_gpr_4); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-23679), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(52), aot_gpr_4); aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(20), static_cast(aot_gpr_16)); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088D3784u); aot_gpr_5 = (0u | 1000u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D3784u) goto L_088D3784; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089B7A84, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D3784u) goto L_088D3784; AOT_REGCACHE_SYNC_OUT(); return; L_088D3784: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(26332))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(26332))); aot_gpr_5 = (0u | 15u); { const std::uint32_t dividend = aot_gpr_4; const std::uint32_t divisor = aot_gpr_5; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } aot_fpr_12 = std::bit_cast(0u); aot_gpr_4 = (0u | 43150u); - aot_gpr_4 = (ctx.gpr[2] + aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(68), aot_gpr_4); + aot_gpr_4 = (aot_gpr_2 + aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(68), aot_gpr_4); aot_gpr_4 = (0u | 3u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(64), aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(84), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(64), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(84), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (17136u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (18017u << 16u); aot_fpr_20 = std::bit_cast(aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(88), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(88), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (0u | 1u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(80), aot_gpr_4); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(61), static_cast(0u)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(92), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(80), aot_gpr_4); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(61), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(92), static_cast(aot_gpr_4)); aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(28), static_cast(aot_gpr_16)); aot_gpr_4 = (ctx.hi); ctx.gpr[21] = (aot_gpr_4 + static_cast(105)); @@ -6974,46 +6975,46 @@ L_088D3784: } L_088D37E4: aot_gpr_4 = (0u | 340u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(56), aot_gpr_4); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(60), static_cast(0u)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23679))); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(56), aot_gpr_4); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(60), static_cast(0u)); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23679))); aot_gpr_16 = (0u | 1u); aot_gpr_5 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-23679), static_cast(aot_gpr_5)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(52), aot_gpr_4); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-23679), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(52), aot_gpr_4); aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(20), static_cast(aot_gpr_16)); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x088D3814u); aot_gpr_5 = (0u | 340u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D3814u) goto L_088D3814; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D3814u) goto L_088D3814; AOT_REGCACHE_SYNC_OUT(); return; L_088D3814: - ctx.gpr[18] = (ctx.gpr[2] | 0u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(68), ctx.gpr[2]); + ctx.gpr[18] = (aot_gpr_2 | 0u); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(68), aot_gpr_2); aot_gpr_5 = (ctx.gpr[18] >> 5u); aot_gpr_31 = (0x088D3828u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D3828u) goto L_088D3828; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089B7A84, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D3828u) goto L_088D3828; AOT_REGCACHE_SYNC_OUT(); return; L_088D3828: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(26332))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(26332))); aot_gpr_5 = (0u | 15u); { const std::uint32_t dividend = aot_gpr_4; const std::uint32_t divisor = aot_gpr_5; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } aot_fpr_12 = std::bit_cast(0u); - aot_gpr_4 = (ctx.gpr[18] + ctx.gpr[2]); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(68), aot_gpr_4); + aot_gpr_4 = (ctx.gpr[18] + aot_gpr_2); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(68), aot_gpr_4); aot_gpr_4 = (0u | 3u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(64), aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(84), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(64), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(84), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (17136u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (18017u << 16u); aot_fpr_20 = std::bit_cast(aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(88), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(88), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (0u | 1u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(80), aot_gpr_4); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(61), static_cast(0u)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(92), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(80), aot_gpr_4); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(61), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(92), static_cast(aot_gpr_4)); aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(28), static_cast(aot_gpr_16)); aot_gpr_4 = (ctx.hi); ctx.gpr[21] = (aot_gpr_4 + static_cast(113)); @@ -7026,12 +7027,12 @@ L_088D3828: } L_088D3884: aot_gpr_4 = (0u | 314u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(56), aot_gpr_4); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(60), static_cast(0u)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23679))); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(56), aot_gpr_4); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(60), static_cast(0u)); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23679))); aot_gpr_5 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-23679), static_cast(aot_gpr_5)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(52), aot_gpr_4); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-23679), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(52), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(24))); aot_gpr_5 = (0u | 1u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); @@ -7047,7 +7048,7 @@ L_088D3884: } L_088D38C0: aot_gpr_4 = (0u | 25472u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(68), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(68), aot_gpr_4); ctx.gpr[21] = (0u | 25472u); { const bool branch_taken = 0u == 0u; aot_gpr_4 = (0u | 796u); @@ -7058,36 +7059,36 @@ L_088D38C0: } L_088D38D4: aot_gpr_4 = (0u | 20182u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(68), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(68), aot_gpr_4); ctx.gpr[21] = (0u | 20182u); aot_gpr_4 = (0u | 630u); goto L_088D38E4; L_088D38E4: aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_31 = (0x088D38F0u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D38F0u) goto L_088D38F0; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089B7A84, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D38F0u) goto L_088D38F0; AOT_REGCACHE_SYNC_OUT(); return; L_088D38F0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(26336))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(26336))); aot_gpr_5 = (0u | 10u); { const std::uint32_t dividend = aot_gpr_4; const std::uint32_t divisor = aot_gpr_5; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } aot_fpr_12 = std::bit_cast(0u); - aot_gpr_4 = (ctx.gpr[21] + ctx.gpr[2]); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(68), aot_gpr_4); + aot_gpr_4 = (ctx.gpr[21] + aot_gpr_2); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(68), aot_gpr_4); aot_gpr_4 = (0u | 3u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(64), aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(84), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(64), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(84), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (17136u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (18017u << 16u); aot_fpr_20 = std::bit_cast(aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(88), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(88), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (0u | 1u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(80), aot_gpr_4); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(61), static_cast(0u)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(92), static_cast(aot_gpr_4)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(113), static_cast(0u)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(80), aot_gpr_4); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(61), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(92), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(113), static_cast(0u)); aot_gpr_4 = (0u | 1u); aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(28), static_cast(aot_gpr_4)); aot_gpr_4 = (ctx.hi); @@ -7101,47 +7102,47 @@ L_088D38F0: } L_088D3954: aot_gpr_4 = (0u | 317u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(56), aot_gpr_4); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(60), static_cast(0u)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23679))); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(56), aot_gpr_4); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(60), static_cast(0u)); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23679))); aot_gpr_16 = (0u | 1u); aot_gpr_5 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-23679), static_cast(aot_gpr_5)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(52), aot_gpr_4); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-23679), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(52), aot_gpr_4); aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(20), static_cast(aot_gpr_16)); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x088D3984u); aot_gpr_5 = (0u | 317u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D3984u) goto L_088D3984; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D3984u) goto L_088D3984; AOT_REGCACHE_SYNC_OUT(); return; L_088D3984: - ctx.gpr[18] = (ctx.gpr[2] | 0u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(68), ctx.gpr[2]); + ctx.gpr[18] = (aot_gpr_2 | 0u); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(68), aot_gpr_2); aot_gpr_5 = (ctx.gpr[18] >> 5u); aot_gpr_31 = (0x088D3998u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D3998u) goto L_088D3998; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089B7A84, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D3998u) goto L_088D3998; AOT_REGCACHE_SYNC_OUT(); return; L_088D3998: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(26328))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(26328))); aot_gpr_5 = (0u | 10u); { const std::uint32_t dividend = aot_gpr_4; const std::uint32_t divisor = aot_gpr_5; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } aot_fpr_12 = std::bit_cast(0u); - aot_gpr_4 = (ctx.gpr[18] + ctx.gpr[2]); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(68), aot_gpr_4); + aot_gpr_4 = (ctx.gpr[18] + aot_gpr_2); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(68), aot_gpr_4); aot_gpr_4 = (0u | 3u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(64), aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(84), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(64), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(84), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (17136u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (18017u << 16u); aot_fpr_20 = std::bit_cast(aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(88), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(88), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (0u | 1u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(80), aot_gpr_4); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(61), static_cast(0u)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(92), static_cast(aot_gpr_4)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(113), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(80), aot_gpr_4); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(61), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(92), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(113), static_cast(aot_gpr_4)); aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(28), static_cast(aot_gpr_16)); aot_gpr_4 = (ctx.hi); ctx.gpr[21] = (aot_gpr_4 + static_cast(115)); @@ -7154,47 +7155,47 @@ L_088D3998: } L_088D39F8: aot_gpr_4 = (0u | 308u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(56), aot_gpr_4); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(60), static_cast(0u)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23679))); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(56), aot_gpr_4); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(60), static_cast(0u)); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23679))); aot_gpr_16 = (0u | 1u); aot_gpr_5 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-23679), static_cast(aot_gpr_5)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(52), aot_gpr_4); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-23679), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(52), aot_gpr_4); aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(20), static_cast(aot_gpr_16)); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x088D3A28u); aot_gpr_5 = (0u | 308u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D3A28u) goto L_088D3A28; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D3A28u) goto L_088D3A28; AOT_REGCACHE_SYNC_OUT(); return; L_088D3A28: - ctx.gpr[18] = (ctx.gpr[2] | 0u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(68), ctx.gpr[2]); + ctx.gpr[18] = (aot_gpr_2 | 0u); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(68), aot_gpr_2); aot_gpr_5 = (ctx.gpr[18] >> 5u); aot_gpr_31 = (0x088D3A3Cu); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D3A3Cu) goto L_088D3A3C; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089B7A84, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D3A3Cu) goto L_088D3A3C; AOT_REGCACHE_SYNC_OUT(); return; L_088D3A3C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(26328))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(26328))); aot_gpr_5 = (0u | 10u); { const std::uint32_t dividend = aot_gpr_4; const std::uint32_t divisor = aot_gpr_5; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } aot_fpr_12 = std::bit_cast(0u); - aot_gpr_4 = (ctx.gpr[18] + ctx.gpr[2]); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(68), aot_gpr_4); + aot_gpr_4 = (ctx.gpr[18] + aot_gpr_2); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(68), aot_gpr_4); aot_gpr_4 = (0u | 3u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(64), aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(84), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(64), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(84), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (17136u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (18017u << 16u); aot_fpr_20 = std::bit_cast(aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(88), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(88), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (0u | 1u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(80), aot_gpr_4); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(61), static_cast(0u)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(92), static_cast(aot_gpr_4)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(113), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(80), aot_gpr_4); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(61), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(92), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(113), static_cast(aot_gpr_4)); aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(28), static_cast(aot_gpr_16)); aot_gpr_4 = (ctx.hi); ctx.gpr[21] = (aot_gpr_4 + static_cast(115)); @@ -7221,7 +7222,7 @@ L_088D3AA8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 481u, 0x0880A288u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D3AB4u) goto L_088D3AB4; AOT_REGCACHE_SYNC_OUT(); return; L_088D3AB4: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_088D3AEC; @@ -7235,12 +7236,12 @@ L_088D3ABC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 475u, 0x0880A244u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D3AC8u) goto L_088D3AC8; AOT_REGCACHE_SYNC_OUT(); return; L_088D3AC8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(48))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(48))); ctx.gpr[20] = (ctx.gpr[20] + static_cast(1)); aot_gpr_5 = (aot_gpr_4 << 6u); aot_gpr_4 = (aot_gpr_4 << 3u); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); - aot_gpr_4 = (aot_gpr_17 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[17] + aot_gpr_4); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(6308))); { const bool branch_taken = 0u == 0u; ctx.gpr[20] = (ctx.gpr[20] & 65535u); @@ -7252,32 +7253,32 @@ L_088D3AC8: L_088D3AEC: aot_gpr_4 = (0u | 5921u); aot_gpr_5 = (0u | 16u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(56), aot_gpr_4); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(60), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(56), aot_gpr_4); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(60), static_cast(aot_gpr_5)); aot_gpr_4 = (0u | 68u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(52), aot_gpr_4); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(52), aot_gpr_4); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088D3B10u); aot_gpr_5 = (0u | 500u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D3B10u) goto L_088D3B10; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089B7A84, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D3B10u) goto L_088D3B10; AOT_REGCACHE_SYNC_OUT(); return; L_088D3B10: - aot_gpr_4 = (ctx.gpr[2] + static_cast(22000)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(68), aot_gpr_4); + aot_gpr_4 = (aot_gpr_2 + static_cast(22000)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(68), aot_gpr_4); aot_gpr_4 = (0u | 2u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(64), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(64), aot_gpr_4); aot_gpr_4 = (16448u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (17008u << 16u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(84), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(84), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_gpr_4); ctx.gpr[21] = (0u | 100u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(88), std::bit_cast(aot_fpr_12)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(80), 0u); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(61), static_cast(0u)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(92), static_cast(0u)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(88), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(80), 0u); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(61), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(92), static_cast(0u)); aot_gpr_4 = (0u | 5u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(116), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(116), aot_gpr_4); aot_gpr_4 = (17761u << 16u); { const bool branch_taken = 0u == 0u; aot_fpr_20 = std::bit_cast(aot_gpr_4); @@ -7293,7 +7294,7 @@ L_088D3B5C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 481u, 0x0880A288u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D3B68u) goto L_088D3B68; AOT_REGCACHE_SYNC_OUT(); return; L_088D3B68: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; aot_gpr_4 = (0u | 5921u); if (branch_taken) { goto L_088D3BA0; @@ -7307,12 +7308,12 @@ L_088D3B70: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 475u, 0x0880A244u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D3B7Cu) goto L_088D3B7C; AOT_REGCACHE_SYNC_OUT(); return; L_088D3B7C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(48))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(48))); ctx.gpr[20] = (ctx.gpr[20] + static_cast(1)); aot_gpr_5 = (aot_gpr_4 << 6u); aot_gpr_4 = (aot_gpr_4 << 3u); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); - aot_gpr_4 = (aot_gpr_17 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[17] + aot_gpr_4); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(6308))); { const bool branch_taken = 0u == 0u; ctx.gpr[20] = (ctx.gpr[20] & 65535u); @@ -7323,26 +7324,26 @@ L_088D3B7C: } L_088D3BA0: aot_gpr_5 = (0u | 16u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(56), aot_gpr_4); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(60), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(56), aot_gpr_4); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(60), static_cast(aot_gpr_5)); aot_gpr_4 = (0u | 68u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(52), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(52), aot_gpr_4); aot_gpr_4 = (0u | 27000u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(68), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(68), aot_gpr_4); aot_gpr_4 = (0u | 2u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(64), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(64), aot_gpr_4); aot_gpr_4 = (16448u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (17008u << 16u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(84), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(84), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_gpr_4); ctx.gpr[21] = (0u | 100u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(88), std::bit_cast(aot_fpr_12)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(80), 0u); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(61), static_cast(0u)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(92), static_cast(0u)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(88), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(80), 0u); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(61), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(92), static_cast(0u)); aot_gpr_4 = (0u | 5u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(116), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(116), aot_gpr_4); aot_gpr_4 = (17761u << 16u); { const bool branch_taken = 0u == 0u; aot_fpr_20 = std::bit_cast(aot_gpr_4); @@ -7358,7 +7359,7 @@ L_088D3C00: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 481u, 0x0880A288u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D3C0Cu) goto L_088D3C0C; AOT_REGCACHE_SYNC_OUT(); return; L_088D3C0C: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; aot_gpr_4 = (0u | 5920u); if (branch_taken) { goto L_088D3C44; @@ -7372,12 +7373,12 @@ L_088D3C14: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 475u, 0x0880A244u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D3C20u) goto L_088D3C20; AOT_REGCACHE_SYNC_OUT(); return; L_088D3C20: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(48))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(48))); ctx.gpr[20] = (ctx.gpr[20] + static_cast(1)); aot_gpr_5 = (aot_gpr_4 << 6u); aot_gpr_4 = (aot_gpr_4 << 3u); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); - aot_gpr_4 = (aot_gpr_17 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[17] + aot_gpr_4); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(6308))); { const bool branch_taken = 0u == 0u; ctx.gpr[20] = (ctx.gpr[20] & 65535u); @@ -7388,25 +7389,25 @@ L_088D3C20: } L_088D3C44: aot_gpr_5 = (0u | 16u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(56), aot_gpr_4); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(60), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(56), aot_gpr_4); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(60), static_cast(aot_gpr_5)); aot_gpr_4 = (0u | 70u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(52), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(52), aot_gpr_4); aot_gpr_4 = (0u | 27000u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(68), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(68), aot_gpr_4); aot_gpr_4 = (0u | 3u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(64), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(64), aot_gpr_4); aot_gpr_4 = (16448u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (16968u << 16u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(84), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(84), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(88), std::bit_cast(aot_fpr_12)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(80), 0u); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(61), static_cast(0u)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(92), static_cast(0u)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(88), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(80), 0u); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(61), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(92), static_cast(0u)); aot_gpr_4 = (0u | 5u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(116), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(116), aot_gpr_4); aot_gpr_4 = (17692u << 16u); aot_gpr_4 = (aot_gpr_4 | 16384u); ctx.gpr[21] = (0u | 100u); @@ -7418,9 +7419,9 @@ L_088D3C44: goto L_088D3CA8; } L_088D3CA8: - aot_gpr_6 = (ctx.gpr[20] << 2u); - aot_gpr_6 = (aot_gpr_4 + aot_gpr_6); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(6276))); + ctx.gpr[6] = (ctx.gpr[20] << 2u); + ctx.gpr[6] = (aot_gpr_4 + ctx.gpr[6]); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(6276))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[26])) ? 0x00800000u : 0u); // nop if (!((ctx.fcr31 & 0x00800000u) != 0u)) { @@ -7431,21 +7432,21 @@ L_088D3CA8: L_088D3CC4: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); { const bool branch_taken = 0u == 0u; - aot_gpr_6 = (std::bit_cast(aot_fpr_12)); + ctx.gpr[6] = (std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_088D3CE0; } goto L_088D3CD0; } L_088D3CD0: - aot_gpr_6 = (32768u << 16u); + ctx.gpr[6] = (32768u << 16u); aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); ctx.gpr[7] = (std::bit_cast(aot_fpr_12)); - aot_gpr_6 = (ctx.gpr[7] + aot_gpr_6); + ctx.gpr[6] = (ctx.gpr[7] + ctx.gpr[6]); goto L_088D3CE0; L_088D3CE0: - aot_gpr_6 = (aot_gpr_6 + static_cast(-18)); - ctx.gpr[7] = (aot_gpr_6 < static_cast(20) ? 1u : 0u); + ctx.gpr[6] = (ctx.gpr[6] + static_cast(-18)); + ctx.gpr[7] = (ctx.gpr[6] < static_cast(20) ? 1u : 0u); { const bool branch_taken = ctx.gpr[7] == 0u; // nop if (branch_taken) { @@ -7454,9 +7455,9 @@ L_088D3CE0: goto L_088D3CF0; } L_088D3CF0: - aot_gpr_6 = (aot_gpr_6 << 2u); + ctx.gpr[6] = (ctx.gpr[6] << 2u); ctx.gpr[1] = (2232u << 16u); - ctx.gpr[1] = (ctx.gpr[1] + aot_gpr_6); + ctx.gpr[1] = (ctx.gpr[1] + ctx.gpr[6]); ctx.gpr[1] = (aot_mem.aot_direct_load32(ctx.gpr[1] + static_cast(-19600))); jump_target = ctx.gpr[1]; // nop @@ -7466,56 +7467,56 @@ L_088D3CF0: AOT_REGCACHE_SYNC_OUT(); return; L_088D3D08: aot_gpr_4 = (0u | 269u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(56), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23679))); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(56), aot_gpr_4); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23679))); aot_gpr_5 = (0u | 1u); - aot_gpr_6 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-23679), static_cast(aot_gpr_6)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(52), aot_gpr_4); + ctx.gpr[6] = (aot_gpr_4 + static_cast(1)); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-23679), static_cast(ctx.gpr[6])); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(52), aot_gpr_4); aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(20), static_cast(aot_gpr_5)); ctx.gpr[21] = (0u | 75u); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x088D3D38u); aot_gpr_5 = (0u | 269u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D3D38u) goto L_088D3D38; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D3D38u) goto L_088D3D38; AOT_REGCACHE_SYNC_OUT(); return; L_088D3D38: - ctx.gpr[19] = (ctx.gpr[2] | 0u); - aot_gpr_4 = (aot_gpr_17 | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088D3D48u); aot_gpr_5 = (0u | 300u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D3D48u) goto L_088D3D48; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089B7A84, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D3D48u) goto L_088D3D48; AOT_REGCACHE_SYNC_OUT(); return; L_088D3D48: aot_gpr_4 = (16880u << 16u); aot_fpr_20 = std::bit_cast(0u); ctx.fpr[22] = std::bit_cast(aot_gpr_4); - ctx.gpr[19] = (ctx.gpr[19] + ctx.gpr[2]); + ctx.gpr[19] = (ctx.gpr[19] + aot_gpr_2); aot_gpr_4 = (17505u << 16u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(68), ctx.gpr[19]); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(68), ctx.gpr[19]); ctx.fpr[24] = std::bit_cast(aot_gpr_4); aot_gpr_16 = (0u | 1u); ctx.gpr[18] = (0u | 5u); goto L_088D3D6C; L_088D3D6C: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088D3D78u); aot_gpr_5 = (0u | 300u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D3D78u) goto L_088D3D78; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089B7A84, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D3D78u) goto L_088D3D78; AOT_REGCACHE_SYNC_OUT(); return; L_088D3D78: - aot_gpr_4 = (ctx.gpr[19] + ctx.gpr[2]); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(68), aot_gpr_4); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(60), static_cast(0u)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(64), ctx.gpr[18]); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(84), std::bit_cast(aot_fpr_20)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(88), std::bit_cast(ctx.fpr[22])); + aot_gpr_4 = (ctx.gpr[19] + aot_gpr_2); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(68), aot_gpr_4); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(60), static_cast(0u)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(64), ctx.gpr[18]); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(84), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(88), std::bit_cast(ctx.fpr[22])); aot_fpr_20 = std::bit_cast(std::bit_cast(ctx.fpr[24])); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(80), aot_gpr_16); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(61), static_cast(0u)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(92), static_cast(aot_gpr_16)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(80), aot_gpr_16); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(61), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(92), static_cast(aot_gpr_16)); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(113), static_cast(aot_gpr_16)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(113), static_cast(aot_gpr_16)); if (branch_taken) { goto L_088D3298; } @@ -7523,16 +7524,16 @@ L_088D3D78: } L_088D3DA8: aot_gpr_4 = (0u | 2u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(56), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23679))); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(56), aot_gpr_4); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23679))); aot_fpr_20 = std::bit_cast(0u); aot_gpr_5 = (0u | 1u); - aot_gpr_6 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-23679), static_cast(aot_gpr_6)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(52), aot_gpr_4); + ctx.gpr[6] = (aot_gpr_4 + static_cast(1)); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-23679), static_cast(ctx.gpr[6])); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(52), aot_gpr_4); aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(20), static_cast(aot_gpr_5)); aot_gpr_4 = (0u | 39243u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(68), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(68), aot_gpr_4); aot_gpr_4 = (16880u << 16u); ctx.fpr[22] = std::bit_cast(aot_gpr_4); ctx.gpr[21] = (0u | 75u); @@ -7549,16 +7550,16 @@ L_088D3DA8: } L_088D3DF8: aot_gpr_4 = (0u | 2u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(56), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23679))); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(56), aot_gpr_4); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23679))); aot_fpr_20 = std::bit_cast(0u); aot_gpr_5 = (0u | 1u); - aot_gpr_6 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-23679), static_cast(aot_gpr_6)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(52), aot_gpr_4); + ctx.gpr[6] = (aot_gpr_4 + static_cast(1)); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-23679), static_cast(ctx.gpr[6])); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(52), aot_gpr_4); aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(20), static_cast(aot_gpr_5)); aot_gpr_4 = (0u | 30290u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(68), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(68), aot_gpr_4); aot_gpr_4 = (16880u << 16u); ctx.fpr[22] = std::bit_cast(aot_gpr_4); ctx.gpr[21] = (0u | 75u); @@ -7575,26 +7576,26 @@ L_088D3DF8: } L_088D3E48: aot_gpr_4 = (0u | 299u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(56), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23679))); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(56), aot_gpr_4); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23679))); aot_gpr_5 = (0u | 1u); - aot_gpr_6 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-23679), static_cast(aot_gpr_6)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(52), aot_gpr_4); + ctx.gpr[6] = (aot_gpr_4 + static_cast(1)); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-23679), static_cast(ctx.gpr[6])); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(52), aot_gpr_4); aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(20), static_cast(aot_gpr_5)); ctx.gpr[21] = (0u | 75u); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x088D3E78u); aot_gpr_5 = (0u | 299u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D3E78u) goto L_088D3E78; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D3E78u) goto L_088D3E78; AOT_REGCACHE_SYNC_OUT(); return; L_088D3E78: aot_gpr_4 = (16880u << 16u); aot_fpr_20 = std::bit_cast(0u); ctx.fpr[22] = std::bit_cast(aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(68), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(68), aot_gpr_2); aot_gpr_4 = (17505u << 16u); - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); ctx.fpr[24] = std::bit_cast(aot_gpr_4); aot_gpr_16 = (0u | 1u); { const bool branch_taken = 0u == 0u; @@ -7606,26 +7607,26 @@ L_088D3E78: } L_088D3EA0: aot_gpr_4 = (0u | 295u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(56), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23679))); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(56), aot_gpr_4); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23679))); aot_gpr_5 = (0u | 1u); - aot_gpr_6 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-23679), static_cast(aot_gpr_6)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(52), aot_gpr_4); + ctx.gpr[6] = (aot_gpr_4 + static_cast(1)); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-23679), static_cast(ctx.gpr[6])); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(52), aot_gpr_4); aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(20), static_cast(aot_gpr_5)); ctx.gpr[21] = (0u | 75u); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x088D3ED0u); aot_gpr_5 = (0u | 295u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D3ED0u) goto L_088D3ED0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D3ED0u) goto L_088D3ED0; AOT_REGCACHE_SYNC_OUT(); return; L_088D3ED0: aot_gpr_4 = (16880u << 16u); aot_fpr_20 = std::bit_cast(0u); ctx.fpr[22] = std::bit_cast(aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(68), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(68), aot_gpr_2); aot_gpr_4 = (17505u << 16u); - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); ctx.fpr[24] = std::bit_cast(aot_gpr_4); aot_gpr_16 = (0u | 1u); { const bool branch_taken = 0u == 0u; @@ -7658,11 +7659,11 @@ L_088D3F1C: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(10)))))); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088D3F2Cu); - aot_gpr_6 = (ctx.gpr[30] | 0u); + ctx.gpr[6] = (ctx.gpr[30] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D3F2Cu) goto L_088D3F2C; AOT_REGCACHE_SYNC_OUT(); return; L_088D3F2C: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(96), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(16))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); @@ -7690,11 +7691,11 @@ L_088D3F60: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(10)))))); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088D3F70u); - aot_gpr_6 = (ctx.gpr[22] | 0u); + ctx.gpr[6] = (ctx.gpr[22] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D3F70u) goto L_088D3F70; AOT_REGCACHE_SYNC_OUT(); return; L_088D3F70: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(96), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(17))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); @@ -7702,17 +7703,17 @@ L_088D3F70: L_088D3F80: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(180))); if (aot_gpr_4 != ctx.gpr[21]) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(26332))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(26332))); goto L_088D3FB0; } goto L_088D3F8C; L_088D3F8C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(48))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(48))); ctx.gpr[20] = (ctx.gpr[20] + static_cast(1)); aot_gpr_5 = (aot_gpr_4 << 6u); aot_gpr_4 = (aot_gpr_4 << 3u); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); - aot_gpr_4 = (aot_gpr_17 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[17] + aot_gpr_4); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(6308))); { const bool branch_taken = 0u == 0u; ctx.gpr[20] = (ctx.gpr[20] & 65535u); @@ -7742,13 +7743,13 @@ L_088D3FB0: } L_088D3FE4: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(10)))))); - aot_gpr_6 = (ctx.gpr[29] + static_cast(18)); + ctx.gpr[6] = (ctx.gpr[29] + static_cast(18)); aot_gpr_31 = (0x088D3FF4u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D3FF4u) goto L_088D3FF4; AOT_REGCACHE_SYNC_OUT(); return; L_088D3FF4: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(96), aot_gpr_2); aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(18))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); ctx.pc = 0x088D4000u; AOT_REGCACHE_SYNC_OUT(); return; diff --git a/profiles/vcs/generated/generated_unit_0052.cpp b/profiles/vcs/generated/generated_unit_0052.cpp index 9c139c7..02a6ca1 100644 --- a/profiles/vcs/generated/generated_unit_0052.cpp +++ b/profiles/vcs/generated/generated_unit_0052.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0052[4096] = { }; void recomp_unit_0052_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,16,29,17,6 fprs=14,12,15,20 gpr_occ=4178 fpr_occ=609 gpr_total=5696 fpr_total=771 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,16,2,31,28 fprs=14,12,15,20 gpr_occ=4076 fpr_occ=609 gpr_total=6177 fpr_total=771 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_16 = ctx.gpr[16]; - std::uint32_t aot_gpr_29 = ctx.gpr[29]; - std::uint32_t aot_gpr_17 = ctx.gpr[17]; - std::uint32_t aot_gpr_6 = ctx.gpr[6]; + std::uint32_t aot_gpr_2 = ctx.gpr[2]; + std::uint32_t aot_gpr_31 = ctx.gpr[31]; + std::uint32_t aot_gpr_28 = ctx.gpr[28]; float aot_fpr_14 = ctx.fpr[14]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_15 = ctx.fpr[15]; float aot_fpr_20 = ctx.fpr[20]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[16] = aot_gpr_16; ctx.gpr[29] = aot_gpr_29; ctx.gpr[17] = aot_gpr_17; ctx.gpr[6] = aot_gpr_6; ctx.fpr[14] = aot_fpr_14; ctx.fpr[12] = aot_fpr_12; ctx.fpr[15] = aot_fpr_15; ctx.fpr[20] = aot_fpr_20; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_17 = ctx.gpr[17]; aot_gpr_6 = ctx.gpr[6]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_15 = ctx.fpr[15]; aot_fpr_20 = ctx.fpr[20]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[16] = aot_gpr_16; ctx.gpr[2] = aot_gpr_2; ctx.gpr[31] = aot_gpr_31; ctx.gpr[28] = aot_gpr_28; ctx.fpr[14] = aot_fpr_14; ctx.fpr[12] = aot_fpr_12; ctx.fpr[15] = aot_fpr_15; ctx.fpr[20] = aot_fpr_20; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_2 = ctx.gpr[2]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_28 = ctx.gpr[28]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_15 = ctx.fpr[15]; aot_fpr_20 = ctx.fpr[20]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -804,16 +805,16 @@ L_088D4000: aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(4), static_cast(aot_gpr_5)); goto L_088D4004; L_088D4004: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(48))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(48))); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(342))); - aot_gpr_6 = (aot_gpr_5 << 6u); + ctx.gpr[6] = (aot_gpr_5 << 6u); aot_gpr_5 = (aot_gpr_5 << 3u); - aot_gpr_5 = (aot_gpr_6 - aot_gpr_5); - aot_gpr_5 = (aot_gpr_17 + aot_gpr_5); + aot_gpr_5 = (ctx.gpr[6] - aot_gpr_5); + aot_gpr_5 = (ctx.gpr[17] + aot_gpr_5); aot_gpr_4 = (aot_gpr_4 + static_cast(-2)); ctx.gpr[18] = (aot_gpr_5 + ctx.gpr[18]); - aot_gpr_6 = (aot_gpr_4 < static_cast(32) ? 1u : 0u); - { const bool branch_taken = aot_gpr_6 == 0u; + ctx.gpr[6] = (aot_gpr_4 < static_cast(32) ? 1u : 0u); + { const bool branch_taken = ctx.gpr[6] == 0u; ctx.gpr[18] = (aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(6266))); if (branch_taken) { goto L_088D421C; @@ -832,22 +833,22 @@ L_088D4030: ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_088D4048: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(27028))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(27028))); aot_gpr_5 = (0u | 61u); if (aot_gpr_4 != aot_gpr_5) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(26328))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(26328))); goto L_088D4078; } goto L_088D4058; L_088D4058: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(26324))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(26324))); { const std::uint32_t dividend = aot_gpr_4; const std::uint32_t divisor = ctx.gpr[22]; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } aot_gpr_4 = (0u | 61u); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(60), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(60), static_cast(aot_gpr_4)); aot_gpr_4 = (ctx.hi); aot_gpr_4 = (aot_gpr_4 + static_cast(5999)); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(56), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(56), aot_gpr_4); if (branch_taken) { goto L_088D408C; } @@ -855,10 +856,10 @@ L_088D4058: } L_088D4078: { const std::uint32_t dividend = aot_gpr_4; const std::uint32_t divisor = ctx.gpr[22]; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(60), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(60), static_cast(0u)); aot_gpr_4 = (ctx.hi); aot_gpr_4 = (aot_gpr_4 + static_cast(195)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(56), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(56), aot_gpr_4); goto L_088D408C; L_088D408C: { const bool branch_taken = 0u == 0u; @@ -869,34 +870,34 @@ L_088D408C: goto L_088D4094; } L_088D4094: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(26328))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(26328))); { const std::uint32_t dividend = aot_gpr_4; const std::uint32_t divisor = ctx.gpr[22]; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(60), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(60), static_cast(0u)); aot_gpr_4 = (ctx.hi); aot_gpr_4 = (aot_gpr_4 + static_cast(150)); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(56), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(56), aot_gpr_4); if (branch_taken) { goto L_088D4234; } goto L_088D40B0; } L_088D40B0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(27028))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(27028))); aot_gpr_5 = (0u | 66u); if (aot_gpr_4 != aot_gpr_5) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(26328))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(26328))); goto L_088D40DC; } goto L_088D40C0; L_088D40C0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(26336))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(26336))); aot_gpr_5 = (0u | 66u); aot_gpr_4 = (aot_gpr_4 & 3u); aot_gpr_4 = (aot_gpr_4 + static_cast(6023)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(56), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(56), aot_gpr_4); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(60), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(60), static_cast(aot_gpr_5)); if (branch_taken) { goto L_088D40F0; } @@ -904,10 +905,10 @@ L_088D40C0: } L_088D40DC: { const std::uint32_t dividend = aot_gpr_4; const std::uint32_t divisor = ctx.gpr[22]; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(60), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(60), static_cast(0u)); aot_gpr_4 = (ctx.hi); aot_gpr_4 = (aot_gpr_4 + static_cast(195)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(56), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(56), aot_gpr_4); goto L_088D40F0; L_088D40F0: { const bool branch_taken = 0u == 0u; @@ -918,22 +919,22 @@ L_088D40F0: goto L_088D40F8; } L_088D40F8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(27028))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(27028))); aot_gpr_5 = (0u | 62u); if (aot_gpr_4 != aot_gpr_5) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(26328))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(26328))); goto L_088D4128; } goto L_088D4108; L_088D4108: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(26336))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(26336))); { const std::uint32_t dividend = aot_gpr_4; const std::uint32_t divisor = ctx.gpr[22]; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } aot_gpr_4 = (0u | 62u); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(60), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(60), static_cast(aot_gpr_4)); aot_gpr_4 = (ctx.hi); aot_gpr_4 = (aot_gpr_4 + static_cast(6004)); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(56), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(56), aot_gpr_4); if (branch_taken) { goto L_088D413C; } @@ -941,10 +942,10 @@ L_088D4108: } L_088D4128: { const std::uint32_t dividend = aot_gpr_4; const std::uint32_t divisor = ctx.gpr[22]; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(60), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(60), static_cast(0u)); aot_gpr_4 = (ctx.hi); aot_gpr_4 = (aot_gpr_4 + static_cast(195)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(56), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(56), aot_gpr_4); goto L_088D413C; L_088D413C: { const bool branch_taken = 0u == 0u; @@ -955,12 +956,12 @@ L_088D413C: goto L_088D4144; } L_088D4144: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(26328))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(26328))); { const std::uint32_t dividend = aot_gpr_4; const std::uint32_t divisor = ctx.gpr[22]; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(27028))); - aot_gpr_6 = (0u | 63u); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(27028))); + ctx.gpr[6] = (0u | 63u); aot_gpr_4 = (ctx.hi); - { const bool branch_taken = aot_gpr_5 != aot_gpr_6; + { const bool branch_taken = aot_gpr_5 != ctx.gpr[6]; // nop if (branch_taken) { goto L_088D4174; @@ -969,10 +970,10 @@ L_088D4144: } L_088D4160: aot_gpr_4 = (aot_gpr_4 + static_cast(6009)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(56), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(56), aot_gpr_4); aot_gpr_5 = (0u | 63u); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(60), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(60), static_cast(aot_gpr_5)); if (branch_taken) { goto L_088D4180; } @@ -980,8 +981,8 @@ L_088D4160: } L_088D4174: aot_gpr_4 = (aot_gpr_4 + static_cast(195)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(56), aot_gpr_4); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(60), static_cast(0u)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(56), aot_gpr_4); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(60), static_cast(0u)); goto L_088D4180; L_088D4180: { const bool branch_taken = 0u == 0u; @@ -992,22 +993,22 @@ L_088D4180: goto L_088D4188; } L_088D4188: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(27028))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(27028))); aot_gpr_5 = (0u | 64u); if (aot_gpr_4 != aot_gpr_5) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(26328))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(26328))); goto L_088D41B8; } goto L_088D4198; L_088D4198: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(26320))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(26320))); { const std::uint32_t dividend = aot_gpr_4; const std::uint32_t divisor = ctx.gpr[22]; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } aot_gpr_4 = (0u | 64u); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(60), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(60), static_cast(aot_gpr_4)); aot_gpr_4 = (ctx.hi); aot_gpr_4 = (aot_gpr_4 + static_cast(6014)); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(56), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(56), aot_gpr_4); if (branch_taken) { goto L_088D41CC; } @@ -1015,10 +1016,10 @@ L_088D4198: } L_088D41B8: { const std::uint32_t dividend = aot_gpr_4; const std::uint32_t divisor = ctx.gpr[22]; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(60), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(60), static_cast(0u)); aot_gpr_4 = (ctx.hi); aot_gpr_4 = (aot_gpr_4 + static_cast(195)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(56), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(56), aot_gpr_4); goto L_088D41CC; L_088D41CC: { const bool branch_taken = 0u == 0u; @@ -1029,21 +1030,21 @@ L_088D41CC: goto L_088D41D4; } L_088D41D4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(27028))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(27028))); aot_gpr_5 = (0u | 65u); if (aot_gpr_4 != aot_gpr_5) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(26328))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(26328))); goto L_088D4200; } goto L_088D41E4; L_088D41E4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(26332))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(26332))); aot_gpr_5 = (0u | 65u); aot_gpr_4 = (aot_gpr_4 & 3u); aot_gpr_4 = (aot_gpr_4 + static_cast(6019)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(56), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(56), aot_gpr_4); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(60), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(60), static_cast(aot_gpr_5)); if (branch_taken) { goto L_088D4214; } @@ -1051,10 +1052,10 @@ L_088D41E4: } L_088D4200: { const std::uint32_t dividend = aot_gpr_4; const std::uint32_t divisor = ctx.gpr[22]; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(60), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(60), static_cast(0u)); aot_gpr_4 = (ctx.hi); aot_gpr_4 = (aot_gpr_4 + static_cast(195)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(56), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(56), aot_gpr_4); goto L_088D4214; L_088D4214: { const bool branch_taken = 0u == 0u; @@ -1065,35 +1066,35 @@ L_088D4214: goto L_088D421C; } L_088D421C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(26328))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(26328))); { const std::uint32_t dividend = aot_gpr_4; const std::uint32_t divisor = ctx.gpr[22]; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(60), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(60), static_cast(0u)); aot_gpr_4 = (ctx.hi); aot_gpr_4 = (aot_gpr_4 + static_cast(195)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(56), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(56), aot_gpr_4); goto L_088D4234; L_088D4234: aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_4 = (ctx.gpr[18] + static_cast(-32)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(52), aot_gpr_4); - ctx.gpr[31] = (0x088D4248u); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(52), aot_gpr_4); + aot_gpr_31 = (0x088D4248u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D4248u) goto L_088D4248; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D4248u) goto L_088D4248; AOT_REGCACHE_SYNC_OUT(); return; L_088D4248: - aot_gpr_16 = (ctx.gpr[2] | 0u); + aot_gpr_16 = (aot_gpr_2 | 0u); aot_gpr_4 = (0u | 17u); { const std::uint32_t dividend = aot_gpr_16; const std::uint32_t divisor = aot_gpr_4; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(68), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(68), aot_gpr_2); aot_gpr_5 = (ctx.lo); - ctx.gpr[31] = (0x088D4264u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D4264u) goto L_088D4264; + aot_gpr_31 = (0x088D4264u); + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089B7A84, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D4264u) goto L_088D4264; AOT_REGCACHE_SYNC_OUT(); return; L_088D4264: - aot_gpr_4 = (aot_gpr_16 + ctx.gpr[2]); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(68), aot_gpr_4); + aot_gpr_4 = (aot_gpr_16 + aot_gpr_2); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(24))); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(68), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(8))); ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(352))); ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(96))); @@ -1104,14 +1105,14 @@ L_088D4264: goto L_088D4284; L_088D4284: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(10)))))); - aot_gpr_6 = (aot_gpr_29 + static_cast(19)); - ctx.gpr[31] = (0x088D4294u); + ctx.gpr[6] = (ctx.gpr[29] + static_cast(19)); + aot_gpr_31 = (0x088D4294u); aot_gpr_4 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D4294u) goto L_088D4294; AOT_REGCACHE_SYNC_OUT(); return; L_088D4294: - aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(96), ctx.gpr[2]); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(19))); + aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(96), aot_gpr_2); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(19))); ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(96))); aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(4), static_cast(aot_gpr_4)); ctx.gpr[18] = (aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(344))); @@ -1143,69 +1144,69 @@ L_088D42BC: } L_088D42C4: if (ctx.gpr[18] != aot_gpr_4) { - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(64), ctx.gpr[22]); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(64), ctx.gpr[22]); goto L_088D4348; } goto L_088D42CC; L_088D42CC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(68))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(68))); aot_gpr_5 = (0u | 10u); - aot_gpr_6 = (aot_gpr_4 << 3u); - aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); + ctx.gpr[6] = (aot_gpr_4 << 3u); + aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); { const std::uint32_t dividend = aot_gpr_4; const std::uint32_t divisor = aot_gpr_5; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } ctx.gpr[21] = (static_cast(static_cast(ctx.gpr[21]) >> 2u)); ctx.gpr[21] = (ctx.gpr[21] & 255u); aot_gpr_4 = (ctx.lo); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(68), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(68), aot_gpr_4); if (branch_taken) { goto L_088D4344; } goto L_088D42F4; } L_088D42F4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(68))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(68))); aot_gpr_5 = (0u | 10u); - aot_gpr_6 = (aot_gpr_4 << 3u); - aot_gpr_6 = (aot_gpr_4 + aot_gpr_6); - aot_gpr_6 = (aot_gpr_4 + aot_gpr_6); - aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); + ctx.gpr[6] = (aot_gpr_4 << 3u); + ctx.gpr[6] = (aot_gpr_4 + ctx.gpr[6]); + ctx.gpr[6] = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); { const std::uint32_t dividend = aot_gpr_4; const std::uint32_t divisor = aot_gpr_5; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } ctx.gpr[21] = (static_cast(static_cast(ctx.gpr[21]) >> 1u)); ctx.gpr[21] = (ctx.gpr[21] & 255u); aot_gpr_4 = (ctx.lo); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(68), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(68), aot_gpr_4); if (branch_taken) { goto L_088D4344; } goto L_088D4324; } L_088D4324: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(68))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(68))); aot_gpr_5 = (0u | 10u); - aot_gpr_6 = (aot_gpr_4 + aot_gpr_4); - aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); + ctx.gpr[6] = (aot_gpr_4 + aot_gpr_4); + aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); aot_gpr_4 = (aot_gpr_4 << 2u); { const std::uint32_t dividend = aot_gpr_4; const std::uint32_t divisor = aot_gpr_5; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } aot_gpr_4 = (ctx.lo); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(68), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(68), aot_gpr_4); goto L_088D4344; L_088D4344: - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(64), ctx.gpr[22]); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(64), ctx.gpr[22]); goto L_088D4348; L_088D4348: aot_fpr_12 = std::bit_cast(0u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(84), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(84), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (16800u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (0u | 1u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(88), std::bit_cast(aot_fpr_12)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(80), aot_gpr_4); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(61), static_cast(0u)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(92), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(88), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(80), aot_gpr_4); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(61), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(92), static_cast(aot_gpr_4)); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(113), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(113), static_cast(aot_gpr_4)); if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0051_entry, 51u, 547u, 0x088D3298u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } @@ -1243,7 +1244,7 @@ L_088D439C: L_088D43B0: ctx.gpr[7] = (aot_gpr_5 & 255u); if (ctx.gpr[7] != aot_gpr_4) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(26336))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(26336))); goto L_088D44C0; } goto L_088D43BC; @@ -1271,7 +1272,7 @@ L_088D43D0: AOT_REGCACHE_SYNC_OUT(); return; L_088D43E8: aot_gpr_4 = (0u | 51u); - { const bool branch_taken = aot_gpr_6 != aot_gpr_4; + { const bool branch_taken = ctx.gpr[6] != aot_gpr_4; // nop if (branch_taken) { goto L_088D4404; @@ -1280,7 +1281,7 @@ L_088D43E8: } L_088D43F4: aot_gpr_4 = (0u | 232u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(56), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(56), aot_gpr_4); { const bool branch_taken = 0u == 0u; aot_gpr_4 = (0u | 232u); if (branch_taken) { @@ -1290,28 +1291,28 @@ L_088D43F4: } L_088D4404: aot_gpr_4 = (0u | 233u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(56), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(56), aot_gpr_4); aot_gpr_4 = (0u | 233u); goto L_088D4410; L_088D4410: aot_gpr_5 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(60), static_cast(0u)); - ctx.gpr[31] = (0x088D4420u); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(60), static_cast(0u)); + aot_gpr_31 = (0x088D4420u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D4420u) goto L_088D4420; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D4420u) goto L_088D4420; AOT_REGCACHE_SYNC_OUT(); return; L_088D4420: - aot_gpr_16 = (ctx.gpr[2] | 0u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(68), ctx.gpr[2]); + aot_gpr_16 = (aot_gpr_2 | 0u); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(68), aot_gpr_2); aot_gpr_5 = (aot_gpr_16 >> 5u); - ctx.gpr[31] = (0x088D4434u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D4434u) goto L_088D4434; + aot_gpr_31 = (0x088D4434u); + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089B7A84, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D4434u) goto L_088D4434; AOT_REGCACHE_SYNC_OUT(); return; L_088D4434: - aot_gpr_4 = (aot_gpr_16 + ctx.gpr[2]); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(68), aot_gpr_4); - ctx.gpr[19] = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23679))); + aot_gpr_4 = (aot_gpr_16 + aot_gpr_2); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(68), aot_gpr_4); + ctx.gpr[19] = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23679))); { const bool branch_taken = 0u == 0u; aot_gpr_4 = (ctx.gpr[19] + static_cast(1)); if (branch_taken) { @@ -1320,27 +1321,27 @@ L_088D4434: goto L_088D4448; } L_088D4448: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(26332))); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(60), static_cast(0u)); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(26332))); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(60), static_cast(0u)); aot_gpr_5 = (aot_gpr_4 & 1u); aot_gpr_5 = (aot_gpr_5 + static_cast(214)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(56), aot_gpr_5); - ctx.gpr[31] = (0x088D4464u); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(56), aot_gpr_5); + aot_gpr_31 = (0x088D4464u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D4464u) goto L_088D4464; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D4464u) goto L_088D4464; AOT_REGCACHE_SYNC_OUT(); return; L_088D4464: - aot_gpr_16 = (ctx.gpr[2] | 0u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(68), ctx.gpr[2]); + aot_gpr_16 = (aot_gpr_2 | 0u); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(68), aot_gpr_2); aot_gpr_5 = (aot_gpr_16 >> 5u); - ctx.gpr[31] = (0x088D4478u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D4478u) goto L_088D4478; + aot_gpr_31 = (0x088D4478u); + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089B7A84, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D4478u) goto L_088D4478; AOT_REGCACHE_SYNC_OUT(); return; L_088D4478: - aot_gpr_4 = (aot_gpr_16 + ctx.gpr[2]); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(68), aot_gpr_4); - ctx.gpr[19] = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23679))); + aot_gpr_4 = (aot_gpr_16 + aot_gpr_2); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(68), aot_gpr_4); + ctx.gpr[19] = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23679))); { const bool branch_taken = 0u == 0u; aot_gpr_4 = (ctx.gpr[19] + static_cast(1)); if (branch_taken) { @@ -1350,19 +1351,19 @@ L_088D4478: } L_088D448C: aot_gpr_4 = (0u | 14u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(56), aot_gpr_4); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(60), static_cast(0u)); - aot_gpr_4 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x088D44A4u); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(56), aot_gpr_4); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(60), static_cast(0u)); + aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_31 = (0x088D44A4u); aot_gpr_5 = (0u | 2000u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D44A4u) goto L_088D44A4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089B7A84, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D44A4u) goto L_088D44A4; AOT_REGCACHE_SYNC_OUT(); return; L_088D44A4: - aot_gpr_4 = (ctx.gpr[2] + static_cast(22000)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(68), aot_gpr_4); + aot_gpr_4 = (aot_gpr_2 + static_cast(22000)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(68), aot_gpr_4); aot_gpr_4 = (0u | 1u); - ctx.gpr[19] = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23679))); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(28), static_cast(aot_gpr_4)); + ctx.gpr[19] = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23679))); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(28), static_cast(aot_gpr_4)); { const bool branch_taken = 0u == 0u; aot_gpr_4 = (ctx.gpr[19] + static_cast(1)); if (branch_taken) { @@ -1373,50 +1374,50 @@ L_088D44A4: L_088D44C0: aot_gpr_5 = (0u | 6u); { const std::uint32_t dividend = aot_gpr_4; const std::uint32_t divisor = aot_gpr_5; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(60), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(60), static_cast(0u)); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (ctx.hi); aot_gpr_5 = (aot_gpr_5 + static_cast(119)); - ctx.gpr[31] = (0x088D44E0u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(56), aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D44E0u) goto L_088D44E0; + aot_gpr_31 = (0x088D44E0u); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(56), aot_gpr_5); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D44E0u) goto L_088D44E0; AOT_REGCACHE_SYNC_OUT(); return; L_088D44E0: - aot_gpr_16 = (ctx.gpr[2] | 0u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(68), ctx.gpr[2]); + aot_gpr_16 = (aot_gpr_2 | 0u); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(68), aot_gpr_2); aot_gpr_5 = (aot_gpr_16 >> 4u); - ctx.gpr[31] = (0x088D44F4u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D44F4u) goto L_088D44F4; + aot_gpr_31 = (0x088D44F4u); + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089B7A84, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D44F4u) goto L_088D44F4; AOT_REGCACHE_SYNC_OUT(); return; L_088D44F4: - aot_gpr_4 = (aot_gpr_16 + ctx.gpr[2]); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(68), aot_gpr_4); - ctx.gpr[19] = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23679))); + aot_gpr_4 = (aot_gpr_16 + aot_gpr_2); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(68), aot_gpr_4); + ctx.gpr[19] = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23679))); aot_gpr_4 = (ctx.gpr[19] + static_cast(1)); goto L_088D4504; L_088D4504: - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-23679), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(26328))); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-23679), static_cast(aot_gpr_4)); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(26328))); aot_gpr_5 = (0u | 20u); { const std::uint32_t dividend = aot_gpr_4; const std::uint32_t divisor = aot_gpr_5; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } aot_fpr_12 = std::bit_cast(0u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(52), ctx.gpr[19]); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(52), ctx.gpr[19]); aot_gpr_4 = (0u | 1u); aot_gpr_5 = (0u | 3u); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(20), static_cast(aot_gpr_4)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(64), aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(84), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(20), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(64), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(84), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (16880u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (17505u << 16u); aot_fpr_20 = std::bit_cast(aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(88), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(88), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (0u | 1u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(80), aot_gpr_4); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(61), static_cast(0u)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(92), static_cast(aot_gpr_4)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(113), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(80), aot_gpr_4); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(61), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(92), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(113), static_cast(aot_gpr_4)); aot_gpr_4 = (ctx.hi); ctx.gpr[21] = (aot_gpr_4 + static_cast(100)); { const bool branch_taken = 0u == 0u; @@ -1428,10 +1429,10 @@ L_088D4504: } L_088D4568: aot_gpr_5 = (0u | 186u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(56), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(56), aot_gpr_5); aot_gpr_5 = (0u | 18000u); ctx.fpr[24] = std::bit_cast(0u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(68), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(68), aot_gpr_5); aot_gpr_5 = (ctx.gpr[20] << 2u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_5 = (16880u << 16u); @@ -1451,10 +1452,10 @@ L_088D4568: } L_088D45AC: aot_gpr_5 = (0u | 186u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(56), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(56), aot_gpr_5); aot_gpr_5 = (0u | 16500u); ctx.fpr[24] = std::bit_cast(0u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(68), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(68), aot_gpr_5); aot_gpr_5 = (ctx.gpr[20] << 2u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_5 = (16880u << 16u); @@ -1474,10 +1475,10 @@ L_088D45AC: } L_088D45F0: aot_gpr_5 = (0u | 186u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(56), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(56), aot_gpr_5); aot_gpr_5 = (0u | 20000u); ctx.fpr[24] = std::bit_cast(0u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(68), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(68), aot_gpr_5); aot_gpr_5 = (ctx.gpr[20] << 2u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_5 = (16880u << 16u); @@ -1497,10 +1498,10 @@ L_088D45F0: } L_088D4634: aot_gpr_5 = (0u | 187u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(56), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(56), aot_gpr_5); aot_gpr_5 = (0u | 18000u); ctx.fpr[24] = std::bit_cast(0u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(68), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(68), aot_gpr_5); aot_gpr_5 = (ctx.gpr[20] << 2u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_5 = (16880u << 16u); @@ -1520,10 +1521,10 @@ L_088D4634: } L_088D4678: aot_gpr_5 = (0u | 187u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(56), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(56), aot_gpr_5); aot_gpr_5 = (0u | 16500u); ctx.fpr[24] = std::bit_cast(0u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(68), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(68), aot_gpr_5); aot_gpr_5 = (ctx.gpr[20] << 2u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_5 = (16880u << 16u); @@ -1543,10 +1544,10 @@ L_088D4678: } L_088D46BC: aot_gpr_5 = (0u | 187u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(56), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(56), aot_gpr_5); aot_gpr_5 = (0u | 20000u); ctx.fpr[24] = std::bit_cast(0u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(68), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(68), aot_gpr_5); aot_gpr_5 = (ctx.gpr[20] << 2u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_5 = (16880u << 16u); @@ -1566,10 +1567,10 @@ L_088D46BC: } L_088D4700: aot_gpr_5 = (0u | 188u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(56), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(56), aot_gpr_5); aot_gpr_5 = (0u | 18000u); ctx.fpr[24] = std::bit_cast(0u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(68), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(68), aot_gpr_5); aot_gpr_5 = (ctx.gpr[20] << 2u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_5 = (16880u << 16u); @@ -1589,10 +1590,10 @@ L_088D4700: } L_088D4744: aot_gpr_5 = (0u | 188u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(56), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(56), aot_gpr_5); aot_gpr_5 = (0u | 16500u); ctx.fpr[24] = std::bit_cast(0u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(68), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(68), aot_gpr_5); aot_gpr_5 = (ctx.gpr[20] << 2u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_5 = (16880u << 16u); @@ -1612,10 +1613,10 @@ L_088D4744: } L_088D4788: aot_gpr_5 = (0u | 188u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(56), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(56), aot_gpr_5); aot_gpr_5 = (0u | 20000u); ctx.fpr[24] = std::bit_cast(0u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(68), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(68), aot_gpr_5); aot_gpr_5 = (ctx.gpr[20] << 2u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_5 = (16880u << 16u); @@ -1635,10 +1636,10 @@ L_088D4788: } L_088D47CC: aot_gpr_5 = (0u | 189u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(56), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(56), aot_gpr_5); aot_gpr_5 = (0u | 16500u); ctx.fpr[24] = std::bit_cast(0u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(68), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(68), aot_gpr_5); aot_gpr_5 = (ctx.gpr[20] << 2u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_5 = (16880u << 16u); @@ -1658,10 +1659,10 @@ L_088D47CC: } L_088D4810: aot_gpr_5 = (0u | 189u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(56), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(56), aot_gpr_5); aot_gpr_5 = (0u | 20000u); ctx.fpr[24] = std::bit_cast(0u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(68), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(68), aot_gpr_5); aot_gpr_5 = (ctx.gpr[20] << 2u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_5 = (16880u << 16u); @@ -1694,13 +1695,13 @@ L_088D4860: L_088D486C: aot_gpr_5 = (32768u << 16u); aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); - aot_gpr_6 = (std::bit_cast(aot_fpr_12)); - aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); + ctx.gpr[6] = (std::bit_cast(aot_fpr_12)); + aot_gpr_5 = (ctx.gpr[6] + aot_gpr_5); goto L_088D487C; L_088D487C: - aot_gpr_6 = (aot_gpr_5 & 255u); - if (aot_gpr_6 != aot_gpr_4) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(26336))); + ctx.gpr[6] = (aot_gpr_5 & 255u); + if (ctx.gpr[6] != aot_gpr_4) { + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(26336))); goto L_088D48AC; } goto L_088D4888; @@ -1708,16 +1709,16 @@ L_088D4888: aot_gpr_4 = (aot_gpr_5 >> 8u); aot_gpr_5 = (0u | 1u); if (aot_gpr_4 != aot_gpr_5) { - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(60), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(60), static_cast(0u)); goto L_088D48E8; } goto L_088D4898; L_088D4898: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(26332))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(26332))); aot_gpr_4 = (aot_gpr_4 & 1u); aot_gpr_4 = (aot_gpr_4 + static_cast(214)); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(56), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(56), aot_gpr_4); if (branch_taken) { goto L_088D48E4; } @@ -1729,41 +1730,41 @@ L_088D48AC: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (ctx.hi); aot_gpr_5 = (aot_gpr_5 + static_cast(119)); - ctx.gpr[31] = (0x088D48C8u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(56), aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D48C8u) goto L_088D48C8; + aot_gpr_31 = (0x088D48C8u); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(56), aot_gpr_5); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D48C8u) goto L_088D48C8; AOT_REGCACHE_SYNC_OUT(); return; L_088D48C8: - ctx.gpr[19] = (ctx.gpr[2] | 0u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(68), ctx.gpr[2]); + ctx.gpr[19] = (aot_gpr_2 | 0u); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(68), aot_gpr_2); aot_gpr_5 = (ctx.gpr[19] >> 4u); - ctx.gpr[31] = (0x088D48DCu); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D48DCu) goto L_088D48DC; + aot_gpr_31 = (0x088D48DCu); + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089B7A84, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D48DCu) goto L_088D48DC; AOT_REGCACHE_SYNC_OUT(); return; L_088D48DC: - aot_gpr_4 = (ctx.gpr[19] + ctx.gpr[2]); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(68), aot_gpr_4); + aot_gpr_4 = (ctx.gpr[19] + aot_gpr_2); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(68), aot_gpr_4); goto L_088D48E4; L_088D48E4: - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(60), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(60), static_cast(0u)); goto L_088D48E8; L_088D48E8: - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23679))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23679))); aot_gpr_5 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-23679), static_cast(aot_gpr_5)); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(26332))); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-23679), static_cast(aot_gpr_5)); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(26332))); { const std::uint32_t dividend = aot_gpr_5; const std::uint32_t divisor = ctx.gpr[18]; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(52), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(52), aot_gpr_4); aot_gpr_4 = (0u | 1u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(64), ctx.gpr[21]); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(20), static_cast(aot_gpr_4)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(84), std::bit_cast(ctx.fpr[24])); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(88), std::bit_cast(ctx.fpr[22])); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(80), aot_gpr_16); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(61), static_cast(0u)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(92), static_cast(aot_gpr_16)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(113), static_cast(aot_gpr_16)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(64), ctx.gpr[21]); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(20), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(84), std::bit_cast(ctx.fpr[24])); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(88), std::bit_cast(ctx.fpr[22])); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(80), aot_gpr_16); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(61), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(92), static_cast(aot_gpr_16)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(113), static_cast(aot_gpr_16)); aot_gpr_4 = (ctx.hi); ctx.gpr[21] = (aot_gpr_4 + static_cast(100)); { const bool branch_taken = 0u == 0u; @@ -1778,8 +1779,8 @@ L_088D4934: ctx.gpr[20] = (ctx.gpr[20] & 65535u); goto L_088D493C; L_088D493C: - aot_gpr_6 = (static_cast(ctx.gpr[20]) < static_cast(aot_gpr_5) ? 1u : 0u); - { const bool branch_taken = aot_gpr_6 != 0u; + ctx.gpr[6] = (static_cast(ctx.gpr[20]) < static_cast(aot_gpr_5) ? 1u : 0u); + { const bool branch_taken = ctx.gpr[6] != 0u; // nop if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0051_entry, 51u, 533u, 0x088D3118u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; @@ -1787,16 +1788,16 @@ L_088D493C: goto L_088D4948; } L_088D4948: - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(20))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(20))); { const bool branch_taken = aot_gpr_5 == 0u; - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(24))); if (branch_taken) { goto L_088D496C; } goto L_088D4954; } L_088D4954: - aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23679))); + aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23679))); aot_gpr_5 = (static_cast(aot_gpr_5) < 61 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 != 0u; // nop @@ -1807,7 +1808,7 @@ L_088D4954: } L_088D4964: aot_gpr_5 = (0u | 21u); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-23679), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-23679), static_cast(aot_gpr_5)); goto L_088D496C; L_088D496C: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); @@ -1822,21 +1823,21 @@ L_088D496C: } L_088D4980: aot_gpr_5 = (aot_gpr_4 | 0u); - ctx.gpr[31] = (0x088D498Cu); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_31 = (0x088D498Cu); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0048_entry, 48u, 397u, 0x088C6080u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D498Cu) goto L_088D498C; AOT_REGCACHE_SYNC_OUT(); return; L_088D498C: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(88))); - ctx.fpr[13] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(76))); - aot_gpr_4 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x088D49A0u); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(88))); + ctx.fpr[13] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(76))); + aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_31 = (0x088D49A0u); aot_gpr_5 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0109_entry, 109u, 21u, 0x089B8190u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D49A0u) goto L_088D49A0; AOT_REGCACHE_SYNC_OUT(); return; L_088D49A0: - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(72), static_cast(ctx.gpr[2])); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(72))); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(72), static_cast(aot_gpr_2)); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(72))); { const bool branch_taken = static_cast(aot_gpr_4) <= 0; // nop if (branch_taken) { @@ -1845,7 +1846,7 @@ L_088D49A0: goto L_088D49B0; } L_088D49B0: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(28))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(28))); aot_gpr_16 = (2237u << 16u); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_16 = (aot_gpr_16 + static_cast(-28320)); @@ -1856,10 +1857,10 @@ L_088D49B0: } L_088D49C0: aot_gpr_4 = (15948u << 16u); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(88))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(88))); aot_gpr_4 = (aot_gpr_4 | 52429u); ctx.fpr[13] = std::bit_cast(aot_gpr_4); - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(76))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(76))); { const float fs = aot_fpr_12; const float ft = ctx.fpr[13]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_14 < aot_fpr_12)) ? 0x00800000u : 0u); // nop @@ -1872,9 +1873,9 @@ L_088D49C0: } L_088D49E8: aot_gpr_4 = (0u | 1u); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(61), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(61), static_cast(aot_gpr_4)); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(114), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(114), static_cast(0u)); if (branch_taken) { goto L_088D4A00; } @@ -1882,16 +1883,16 @@ L_088D49E8: } L_088D49F8: aot_gpr_4 = (0u | 0u); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(28), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(28), static_cast(aot_gpr_4)); goto L_088D4A00; L_088D4A00: aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x088D4A0Cu); + aot_gpr_31 = (0x088D4A0Cu); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 703u, 0x089B7B80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D4A0Cu) goto L_088D4A0C; AOT_REGCACHE_SYNC_OUT(); return; L_088D4A0C: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(28))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(28))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -1900,40 +1901,40 @@ L_088D4A0C: goto L_088D4A18; } L_088D4A18: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(48))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(48))); aot_gpr_5 = (0u | 127u); - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(56))); + ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(56))); ctx.gpr[7] = (aot_gpr_4 << 6u); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(114), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(114), static_cast(aot_gpr_5)); aot_gpr_4 = (aot_gpr_4 << 3u); - aot_gpr_5 = (aot_gpr_6 + static_cast(1)); + aot_gpr_5 = (ctx.gpr[6] + static_cast(1)); aot_gpr_4 = (ctx.gpr[7] - aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(56), aot_gpr_5); - aot_gpr_4 = (aot_gpr_17 + aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(56), aot_gpr_5); + aot_gpr_4 = (ctx.gpr[17] + aot_gpr_4); aot_gpr_5 = (ctx.gpr[20] + ctx.gpr[20]); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(6266))); aot_gpr_5 = (0u | 55u); if (aot_gpr_4 != aot_gpr_5) { - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23679))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23679))); goto L_088D4A80; } goto L_088D4A58; L_088D4A58: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(24))); aot_gpr_5 = (0u | 33u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(368))); if (aot_gpr_4 != aot_gpr_5) { - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23679))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23679))); goto L_088D4A80; } goto L_088D4A70; L_088D4A70: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(52))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(52))); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(52), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(52), aot_gpr_4); if (branch_taken) { goto L_088D4AA4; } @@ -1941,9 +1942,9 @@ L_088D4A70: } L_088D4A80: aot_gpr_5 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-23679), static_cast(aot_gpr_5)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(52), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23679))); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-23679), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(52), aot_gpr_4); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23679))); aot_gpr_4 = (static_cast(aot_gpr_4) < 61 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -1954,23 +1955,23 @@ L_088D4A80: } L_088D4A9C: aot_gpr_4 = (0u | 21u); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-23679), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-23679), static_cast(aot_gpr_4)); goto L_088D4AA4; L_088D4AA4: aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x088D4AB0u); + aot_gpr_31 = (0x088D4AB0u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 703u, 0x089B7B80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D4AB0u) goto L_088D4AB0; AOT_REGCACHE_SYNC_OUT(); return; L_088D4AB0: { std::uint32_t aot_run_words[14]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(32), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(32), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); ctx.fpr[26] = std::bit_cast(aot_run_words[3]); aot_gpr_16 = aot_run_words[4]; - aot_gpr_17 = aot_run_words[5]; + ctx.gpr[17] = aot_run_words[5]; ctx.gpr[18] = aot_run_words[6]; ctx.gpr[19] = aot_run_words[7]; ctx.gpr[20] = aot_run_words[8]; @@ -1978,70 +1979,70 @@ L_088D4AB0: ctx.gpr[22] = aot_run_words[10]; ctx.gpr[23] = aot_run_words[11]; ctx.gpr[30] = aot_run_words[12]; - ctx.gpr[31] = aot_run_words[13]; + aot_gpr_31 = aot_run_words[13]; } - jump_target = ctx.gpr[31]; - aot_gpr_29 = (aot_gpr_29 + static_cast(96)); + jump_target = aot_gpr_31; + ctx.gpr[29] = (ctx.gpr[29] + static_cast(96)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_088D4AF0: - aot_gpr_29 = (aot_gpr_29 + static_cast(-176)); - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(48))); - ctx.gpr[8] = (aot_gpr_6 << 6u); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-176)); + ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(48))); + ctx.gpr[8] = (ctx.gpr[6] << 6u); ctx.gpr[7] = (0u | 0u); - aot_gpr_6 = (aot_gpr_6 << 3u); + ctx.gpr[6] = (ctx.gpr[6] << 3u); ctx.gpr[10] = (0u | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), ctx.gpr[7]); - ctx.gpr[8] = (ctx.gpr[8] - aot_gpr_6); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(36), ctx.gpr[7]); + ctx.gpr[8] = (ctx.gpr[8] - ctx.gpr[6]); ctx.gpr[8] = (aot_gpr_4 + ctx.gpr[8]); - aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(32), static_cast(ctx.gpr[10])); + aot_mem.aot_direct_store16(ctx.gpr[29] + static_cast(32), static_cast(ctx.gpr[10])); ctx.gpr[9] = (aot_mem.aot_direct_load8(ctx.gpr[8] + static_cast(6308))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(132), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(132), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(112), std::bit_cast(ctx.fpr[22])); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(112), std::bit_cast(ctx.fpr[22])); ctx.fpr[22] = std::bit_cast(0u); aot_gpr_4 = (static_cast(ctx.gpr[10]) < static_cast(ctx.gpr[9]) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(108), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(108), std::bit_cast(aot_fpr_20)); { const std::uint32_t aot_run_words[4]{std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30])}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(116), aot_run_words); } - { const std::uint32_t aot_run_words[9]{aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], ctx.gpr[31]}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(136), aot_run_words); } + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(116), aot_run_words); } + { const std::uint32_t aot_run_words[9]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(136), aot_run_words); } { const bool branch_taken = aot_gpr_4 == 0u; - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(28), aot_gpr_5); if (branch_taken) { goto L_088D7854; } goto L_088D4B70; } L_088D4B70: - aot_gpr_4 = (ctx.gpr[28] + static_cast(-23664)); - aot_gpr_5 = (ctx.gpr[28] + static_cast(-23656)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(100), aot_gpr_4); - aot_gpr_6 = (ctx.gpr[28] + static_cast(-23648)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(96), aot_gpr_5); - aot_gpr_4 = (ctx.gpr[28] + static_cast(-23640)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(92), aot_gpr_6); - aot_gpr_5 = (ctx.gpr[28] + static_cast(-23632)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(88), aot_gpr_4); - aot_gpr_6 = (ctx.gpr[28] + static_cast(-23624)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(84), aot_gpr_5); - aot_gpr_4 = (ctx.gpr[28] + static_cast(-23616)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(80), aot_gpr_6); - aot_gpr_5 = (ctx.gpr[28] + static_cast(-23608)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(76), aot_gpr_4); - aot_gpr_6 = (ctx.gpr[28] + static_cast(-23600)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(72), aot_gpr_5); - aot_gpr_4 = (ctx.gpr[28] + static_cast(-23592)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), aot_gpr_6); - aot_gpr_5 = (ctx.gpr[28] + static_cast(-23584)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), aot_gpr_4); - aot_gpr_6 = (ctx.gpr[28] + static_cast(-23576)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(60), aot_gpr_5); - aot_gpr_4 = (ctx.gpr[28] + static_cast(-23568)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), aot_gpr_6); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), aot_gpr_4); + aot_gpr_4 = (aot_gpr_28 + static_cast(-23664)); + aot_gpr_5 = (aot_gpr_28 + static_cast(-23656)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(100), aot_gpr_4); + ctx.gpr[6] = (aot_gpr_28 + static_cast(-23648)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(96), aot_gpr_5); + aot_gpr_4 = (aot_gpr_28 + static_cast(-23640)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(92), ctx.gpr[6]); + aot_gpr_5 = (aot_gpr_28 + static_cast(-23632)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(88), aot_gpr_4); + ctx.gpr[6] = (aot_gpr_28 + static_cast(-23624)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(84), aot_gpr_5); + aot_gpr_4 = (aot_gpr_28 + static_cast(-23616)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(80), ctx.gpr[6]); + aot_gpr_5 = (aot_gpr_28 + static_cast(-23608)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(76), aot_gpr_4); + ctx.gpr[6] = (aot_gpr_28 + static_cast(-23600)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(72), aot_gpr_5); + aot_gpr_4 = (aot_gpr_28 + static_cast(-23592)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(68), ctx.gpr[6]); + aot_gpr_5 = (aot_gpr_28 + static_cast(-23584)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(64), aot_gpr_4); + ctx.gpr[6] = (aot_gpr_28 + static_cast(-23576)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(60), aot_gpr_5); + aot_gpr_4 = (aot_gpr_28 + static_cast(-23568)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(56), ctx.gpr[6]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(52), aot_gpr_4); aot_gpr_4 = (20224u << 16u); ctx.fpr[24] = std::bit_cast(aot_gpr_4); aot_gpr_4 = (17174u << 16u); @@ -2052,7 +2053,7 @@ L_088D4B70: aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); aot_gpr_4 = (17505u << 16u); ctx.fpr[30] = std::bit_cast(aot_gpr_4); - ctx.gpr[19] = (ctx.gpr[28] + static_cast(7696)); + ctx.gpr[19] = (aot_gpr_28 + static_cast(7696)); aot_gpr_4 = (17136u << 16u); ctx.fpr[26] = std::bit_cast(aot_gpr_4); ctx.gpr[18] = (0u | 1u); @@ -2062,38 +2063,38 @@ L_088D4B70: ctx.gpr[24] = (0u | 209u); ctx.gpr[15] = (0u | 186u); ctx.gpr[3] = (0u | 18000u); - ctx.gpr[2] = (0u | 16500u); + aot_gpr_2 = (0u | 16500u); ctx.gpr[11] = (0u | 20000u); ctx.gpr[14] = (0u | 187u); ctx.gpr[13] = (0u | 188u); ctx.gpr[12] = (0u | 189u); - ctx.gpr[23] = (ctx.gpr[28] + static_cast(-23672)); - ctx.gpr[22] = (aot_gpr_29 + static_cast(16)); - ctx.gpr[21] = (aot_gpr_29 + static_cast(20)); - ctx.gpr[20] = (aot_gpr_29 + static_cast(24)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), aot_gpr_5); + ctx.gpr[23] = (aot_gpr_28 + static_cast(-23672)); + ctx.gpr[22] = (ctx.gpr[29] + static_cast(16)); + ctx.gpr[21] = (ctx.gpr[29] + static_cast(20)); + ctx.gpr[20] = (ctx.gpr[29] + static_cast(24)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(48), aot_gpr_5); ctx.gpr[25] = (32768u << 16u); goto L_088D4C54; L_088D4C54: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(32))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[29] + static_cast(32))); aot_gpr_5 = (16256u << 16u); - aot_gpr_17 = (aot_gpr_4 << 2u); + ctx.gpr[17] = (aot_gpr_4 << 2u); aot_fpr_12 = std::bit_cast(aot_gpr_5); - aot_gpr_5 = (ctx.gpr[8] + aot_gpr_17); + aot_gpr_5 = (ctx.gpr[8] + ctx.gpr[17]); ctx.fpr[13] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(6292))); aot_fpr_12 = aot_fpr_12 / ctx.fpr[13]; - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(24), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(24), static_cast(0u)); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(113), static_cast(0u)); - aot_gpr_6 = (0u | 0u); + ctx.gpr[6] = (0u | 0u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_4); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(25), static_cast(aot_gpr_6)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), aot_gpr_4); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(25), static_cast(ctx.gpr[6])); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(40), aot_gpr_4); ctx.gpr[10] = (ctx.gpr[8] + aot_gpr_4); ctx.gpr[10] = (aot_mem.aot_direct_load16(ctx.gpr[10] + static_cast(6266))); aot_gpr_4 = (ctx.gpr[10] + static_cast(-24)); - aot_gpr_6 = (aot_gpr_4 < static_cast(213) ? 1u : 0u); - { const bool branch_taken = aot_gpr_6 == 0u; - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), std::bit_cast(aot_fpr_12)); + ctx.gpr[6] = (aot_gpr_4 < static_cast(213) ? 1u : 0u); + { const bool branch_taken = ctx.gpr[6] == 0u; + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(44), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_088D7624; } @@ -2135,14 +2136,14 @@ L_088D4CDC: aot_gpr_4 = (0u | 320u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), aot_gpr_4); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(60), static_cast(0u)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23672))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23672))); aot_gpr_5 = (17786u << 16u); - aot_gpr_6 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-23672), static_cast(aot_gpr_6)); + ctx.gpr[6] = (aot_gpr_4 + static_cast(1)); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-23672), static_cast(ctx.gpr[6])); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(52), aot_gpr_4); aot_gpr_4 = (18076u << 16u); aot_gpr_4 = (aot_gpr_4 | 16384u); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(24), static_cast(ctx.gpr[18])); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(24), static_cast(ctx.gpr[18])); aot_fpr_14 = std::bit_cast(aot_gpr_4); aot_fpr_12 = std::bit_cast(aot_gpr_5); { const float fs = aot_fpr_15; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } @@ -2150,7 +2151,7 @@ L_088D4CDC: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_14 < ctx.fpr[24])) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); - ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(24))); + ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(24))); if (branch_taken) { goto L_088D4D44; } @@ -2180,16 +2181,16 @@ L_088D4D54: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(84), std::bit_cast(ctx.fpr[22])); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(88), std::bit_cast(aot_fpr_12)); aot_fpr_14 = std::bit_cast(aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), std::bit_cast(ctx.fpr[28])); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(20), std::bit_cast(ctx.fpr[28])); aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[13])); aot_gpr_5 = (0u | 0u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(80), ctx.gpr[18]); aot_fpr_15 = std::bit_cast(std::bit_cast(ctx.fpr[28])); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(25), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(25), static_cast(aot_gpr_5)); aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(61), static_cast(0u)); aot_gpr_5 = (std::bit_cast(aot_fpr_12)); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(16), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(16), static_cast(aot_gpr_5)); aot_gpr_5 = (0u | 5u); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(92), static_cast(ctx.gpr[18])); { const bool branch_taken = 0u == 0u; @@ -2203,10 +2204,10 @@ L_088D4DAC: aot_gpr_4 = (0u | 174u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), aot_gpr_4); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(60), static_cast(0u)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23672))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23672))); aot_gpr_5 = (0u | 14000u); - aot_gpr_6 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-23672), static_cast(aot_gpr_6)); + ctx.gpr[6] = (aot_gpr_4 + static_cast(1)); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-23672), static_cast(ctx.gpr[6])); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(52), aot_gpr_4); aot_gpr_4 = (0u | 5u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_5); @@ -2219,15 +2220,15 @@ L_088D4DAC: aot_gpr_4 = (0u | 60u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(88), std::bit_cast(ctx.fpr[13])); aot_fpr_15 = std::bit_cast(std::bit_cast(ctx.fpr[28])); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(16), static_cast(aot_gpr_4)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), std::bit_cast(ctx.fpr[28])); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(16), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(20), std::bit_cast(ctx.fpr[28])); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(80), ctx.gpr[18]); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(61), static_cast(0u)); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(92), static_cast(ctx.gpr[18])); aot_gpr_5 = (18010u << 16u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(116), 0u); aot_gpr_5 = (aot_gpr_5 | 49152u); - ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(24))); + ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(24))); aot_fpr_14 = std::bit_cast(aot_gpr_5); { const bool branch_taken = 0u == 0u; aot_gpr_4 = (0u | 14000u); @@ -2237,17 +2238,17 @@ L_088D4DAC: goto L_088D4E28; } L_088D4E28: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(28))); - ctx.gpr[31] = (0x088D4E34u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(28))); + aot_gpr_31 = (0x088D4E34u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D4E34u) goto L_088D4E34; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D4E34u) goto L_088D4E34; AOT_REGCACHE_SYNC_OUT(); return; L_088D4E34: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(48))); aot_gpr_5 = (aot_gpr_4 << 6u); aot_gpr_4 = (aot_gpr_4 << 3u); ctx.gpr[8] = (aot_gpr_5 - aot_gpr_4); - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; ctx.gpr[8] = (aot_gpr_16 + ctx.gpr[8]); if (branch_taken) { goto L_088D4E54; @@ -2263,7 +2264,7 @@ L_088D4E4C: goto L_088D4E54; } L_088D4E54: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(28))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(28))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(8))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(1152))); { const bool branch_taken = aot_gpr_4 != 0u; @@ -2282,7 +2283,7 @@ L_088D4E68: goto L_088D4E70; } L_088D4E70: - aot_gpr_4 = (ctx.gpr[8] + aot_gpr_17); + aot_gpr_4 = (ctx.gpr[8] + ctx.gpr[17]); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(6276))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_14 <= ctx.fpr[22])) ? 0x00800000u : 0u); // nop @@ -2294,8 +2295,8 @@ L_088D4E70: goto L_088D4E88; } L_088D4E88: - aot_gpr_6 = (16256u << 16u); - aot_fpr_15 = std::bit_cast(aot_gpr_6); + ctx.gpr[6] = (16256u << 16u); + aot_fpr_15 = std::bit_cast(ctx.gpr[6]); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_14 <= aot_fpr_15)) ? 0x00800000u : 0u); // nop if (((ctx.fcr31 & 0x00800000u) != 0u)) { @@ -2304,7 +2305,7 @@ L_088D4E88: } goto L_088D4EA0; L_088D4EA0: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(28))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(28))); aot_fpr_14 = std::bit_cast(std::bit_cast(aot_fpr_15)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(6276), std::bit_cast(aot_fpr_15)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(8))); @@ -2315,7 +2316,7 @@ L_088D4EB4: { const float fs = aot_fpr_14; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(16), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(16), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(1152))); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(86)))))); aot_gpr_5 = (static_cast(aot_gpr_4) < -967 ? 1u : 0u); @@ -2425,12 +2426,12 @@ L_088D4F7C: aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_4 = (0u | 71u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(52), aot_gpr_4); - ctx.gpr[31] = (0x088D4F90u); + aot_gpr_31 = (0x088D4F90u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D4F90u) goto L_088D4F90; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D4F90u) goto L_088D4F90; AOT_REGCACHE_SYNC_OUT(); return; L_088D4F90: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_2); aot_gpr_4 = (16448u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), ctx.gpr[30]); @@ -2440,14 +2441,14 @@ L_088D4F90: aot_gpr_4 = (17249u << 16u); aot_fpr_15 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(88), std::bit_cast(aot_fpr_12)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), std::bit_cast(aot_fpr_15)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(20), std::bit_cast(aot_fpr_15)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(80), 0u); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(61), static_cast(0u)); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(92), static_cast(0u)); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(116), ctx.gpr[30]); aot_fpr_14 = std::bit_cast(aot_gpr_4); - ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(24))); + ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(24))); { const bool branch_taken = 0u == 0u; aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); if (branch_taken) { @@ -2462,13 +2463,13 @@ L_088D4FE0: aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(60), static_cast(0u)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(52), aot_gpr_4); aot_gpr_4 = (ctx.gpr[19] | 0u); - ctx.gpr[31] = (0x088D5000u); + aot_gpr_31 = (0x088D5000u); aot_gpr_5 = (0u | 247u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D5000u) goto L_088D5000; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D5000u) goto L_088D5000; AOT_REGCACHE_SYNC_OUT(); return; L_088D5000: aot_gpr_4 = (0u | 2u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_2); aot_gpr_5 = (16448u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), aot_gpr_4); @@ -2480,15 +2481,15 @@ L_088D5000: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(88), std::bit_cast(aot_fpr_12)); aot_gpr_5 = (aot_gpr_5 | 51200u); aot_fpr_15 = std::bit_cast(aot_gpr_5); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(16), static_cast(aot_gpr_4)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), std::bit_cast(aot_fpr_15)); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(16), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(20), std::bit_cast(aot_fpr_15)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(80), 0u); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(61), static_cast(0u)); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(92), static_cast(0u)); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(116), ctx.gpr[30]); aot_fpr_14 = std::bit_cast(aot_gpr_4); - ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(24))); + ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(24))); { const bool branch_taken = 0u == 0u; aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); if (branch_taken) { @@ -2505,10 +2506,10 @@ L_088D5060: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(52), aot_gpr_4); aot_gpr_4 = (17150u << 16u); ctx.fpr[13] = std::bit_cast(aot_gpr_4); - aot_gpr_6 = (0u | 18569u); + ctx.gpr[6] = (0u | 18569u); { const float fs = aot_fpr_12; const float ft = ctx.fpr[13]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_4 = (0u | 2u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_6); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), ctx.gpr[6]); aot_gpr_5 = (16448u << 16u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), aot_gpr_4); aot_fpr_14 = std::bit_cast(aot_gpr_5); @@ -2519,15 +2520,15 @@ L_088D5060: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(88), std::bit_cast(ctx.fpr[16])); aot_fpr_15 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), std::bit_cast(aot_fpr_15)); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(16), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(20), std::bit_cast(aot_fpr_15)); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(16), static_cast(aot_gpr_4)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(80), 0u); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(61), static_cast(0u)); aot_gpr_5 = (18065u << 16u); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(92), static_cast(0u)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(116), ctx.gpr[30]); aot_gpr_5 = (aot_gpr_5 | 4608u); - ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(24))); + ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(24))); aot_fpr_14 = std::bit_cast(aot_gpr_5); { const bool branch_taken = 0u == 0u; aot_gpr_4 = (0u | 18569u); @@ -2540,18 +2541,18 @@ L_088D50E8: aot_gpr_4 = (0u | 248u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), aot_gpr_4); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(60), static_cast(0u)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23672))); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(24), static_cast(ctx.gpr[18])); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23672))); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(24), static_cast(ctx.gpr[18])); aot_gpr_5 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-23672), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-23672), static_cast(aot_gpr_5)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(52), aot_gpr_4); aot_gpr_4 = (ctx.gpr[19] | 0u); - ctx.gpr[31] = (0x088D5114u); + aot_gpr_31 = (0x088D5114u); aot_gpr_5 = (0u | 248u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D5114u) goto L_088D5114; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D5114u) goto L_088D5114; AOT_REGCACHE_SYNC_OUT(); return; L_088D5114: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_2); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), ctx.gpr[30]); aot_gpr_4 = (17174u << 16u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(84), std::bit_cast(ctx.fpr[22])); @@ -2561,15 +2562,15 @@ L_088D5114: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(88), std::bit_cast(aot_fpr_12)); aot_gpr_5 = (aot_gpr_5 | 51200u); aot_fpr_15 = std::bit_cast(aot_gpr_5); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(16), static_cast(aot_gpr_4)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), std::bit_cast(aot_fpr_15)); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(16), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(20), std::bit_cast(aot_fpr_15)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(80), ctx.gpr[18]); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(61), static_cast(0u)); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(92), static_cast(ctx.gpr[18])); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(113), static_cast(ctx.gpr[18])); aot_fpr_14 = std::bit_cast(aot_gpr_4); - ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(24))); + ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(24))); { const bool branch_taken = 0u == 0u; aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); if (branch_taken) { @@ -2580,14 +2581,14 @@ L_088D5114: L_088D5168: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), ctx.gpr[24]); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(60), static_cast(0u)); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(24), static_cast(ctx.gpr[18])); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(24), static_cast(ctx.gpr[18])); aot_gpr_5 = (0u | 209u); - ctx.gpr[31] = (0x088D5180u); + aot_gpr_31 = (0x088D5180u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D5180u) goto L_088D5180; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D5180u) goto L_088D5180; AOT_REGCACHE_SYNC_OUT(); return; L_088D5180: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_2); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), 0u); aot_gpr_4 = (17096u << 16u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(84), std::bit_cast(ctx.fpr[22])); @@ -2597,15 +2598,15 @@ L_088D5180: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(88), std::bit_cast(aot_fpr_12)); aot_gpr_5 = (aot_gpr_5 | 16384u); aot_fpr_15 = std::bit_cast(aot_gpr_5); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(16), static_cast(aot_gpr_4)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), std::bit_cast(aot_fpr_15)); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(16), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(20), std::bit_cast(aot_fpr_15)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(80), ctx.gpr[18]); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(61), static_cast(0u)); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(92), static_cast(ctx.gpr[18])); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(113), static_cast(0u)); aot_fpr_14 = std::bit_cast(aot_gpr_4); - ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(24))); + ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(24))); { const bool branch_taken = 0u == 0u; aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); if (branch_taken) { @@ -2670,21 +2671,21 @@ L_088D523C: aot_gpr_5 = (aot_gpr_5 + static_cast(311)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), aot_gpr_5); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(60), static_cast(0u)); - aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23672))); - aot_gpr_6 = (0u | 1000u); + aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23672))); + ctx.gpr[6] = (0u | 1000u); ctx.gpr[7] = (aot_gpr_5 + static_cast(1)); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-23672), static_cast(ctx.gpr[7])); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-23672), static_cast(ctx.gpr[7])); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(26324))); - { const std::uint32_t dividend = ctx.gpr[7]; const std::uint32_t divisor = aot_gpr_6; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } + { const std::uint32_t dividend = ctx.gpr[7]; const std::uint32_t divisor = ctx.gpr[6]; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(52), aot_gpr_5); - aot_gpr_6 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(24), static_cast(ctx.gpr[18])); - ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(24))); + ctx.gpr[6] = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(24), static_cast(ctx.gpr[18])); + ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(24))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(26328))); ctx.gpr[7] = (0u | 2u); aot_gpr_4 = (ctx.hi); aot_gpr_4 = (aot_gpr_4 + static_cast(17000)); - { const bool branch_taken = aot_gpr_6 != ctx.gpr[7]; + { const bool branch_taken = ctx.gpr[6] != ctx.gpr[7]; aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_4); if (branch_taken) { goto L_088D529C; @@ -2692,51 +2693,51 @@ L_088D523C: goto L_088D528C; } L_088D528C: - aot_gpr_6 = (aot_gpr_4 + aot_gpr_4); - aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); + ctx.gpr[6] = (aot_gpr_4 + aot_gpr_4); + aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); aot_gpr_4 = (aot_gpr_4 >> 2u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_4); goto L_088D529C; L_088D529C: - aot_gpr_6 = (0u | 20u); - { const std::uint32_t dividend = aot_gpr_5; const std::uint32_t divisor = aot_gpr_6; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } - aot_gpr_6 = (0u | 6u); + ctx.gpr[6] = (0u | 20u); + { const std::uint32_t dividend = aot_gpr_5; const std::uint32_t divisor = ctx.gpr[6]; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } + ctx.gpr[6] = (0u | 6u); ctx.gpr[7] = (16448u << 16u); aot_fpr_12 = std::bit_cast(ctx.gpr[7]); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), aot_gpr_6); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), ctx.gpr[6]); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(84), std::bit_cast(aot_fpr_12)); - aot_gpr_6 = (16800u << 16u); - aot_fpr_12 = std::bit_cast(aot_gpr_6); + ctx.gpr[6] = (16800u << 16u); + aot_fpr_12 = std::bit_cast(ctx.gpr[6]); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(88), std::bit_cast(aot_fpr_12)); - aot_gpr_6 = (17352u << 16u); - aot_fpr_15 = std::bit_cast(aot_gpr_6); + ctx.gpr[6] = (17352u << 16u); + aot_fpr_15 = std::bit_cast(ctx.gpr[6]); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(80), ctx.gpr[18]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), std::bit_cast(aot_fpr_15)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(20), std::bit_cast(aot_fpr_15)); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(61), static_cast(0u)); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(92), static_cast(ctx.gpr[18])); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(113), static_cast(ctx.gpr[18])); aot_gpr_5 = (0u | 127u); aot_fpr_14 = std::bit_cast(aot_gpr_4); aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); - aot_gpr_6 = (ctx.hi); - aot_gpr_6 = (aot_gpr_6 + static_cast(70)); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(16), static_cast(aot_gpr_6)); - aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(16))); - { const std::int64_t product = static_cast(static_cast(aot_gpr_6)) * static_cast(static_cast(ctx.gpr[9])); ctx.lo = static_cast(product); ctx.hi = static_cast(static_cast(product) >> 32u); } - aot_gpr_6 = (ctx.lo); + ctx.gpr[6] = (ctx.hi); + ctx.gpr[6] = (ctx.gpr[6] + static_cast(70)); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(16), static_cast(ctx.gpr[6])); + ctx.gpr[6] = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(16))); + { const std::int64_t product = static_cast(static_cast(ctx.gpr[6])) * static_cast(static_cast(ctx.gpr[9])); ctx.lo = static_cast(product); ctx.hi = static_cast(static_cast(product) >> 32u); } + ctx.gpr[6] = (ctx.lo); // nop // nop - { const std::uint32_t dividend = aot_gpr_6; const std::uint32_t divisor = aot_gpr_5; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } + { const std::uint32_t dividend = ctx.gpr[6]; const std::uint32_t divisor = aot_gpr_5; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } aot_gpr_5 = (ctx.lo); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(16), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(16), static_cast(aot_gpr_5)); if (branch_taken) { goto L_088D7650; } goto L_088D531C; } L_088D531C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(28))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(28))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(456))); aot_gpr_5 = (aot_gpr_5 & 4096u); @@ -2757,15 +2758,15 @@ L_088D5334: } L_088D533C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(26332))); - aot_gpr_6 = (0u | 20u); - { const std::uint32_t dividend = aot_gpr_4; const std::uint32_t divisor = aot_gpr_6; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), std::bit_cast(ctx.fpr[30])); - aot_gpr_6 = (0u | 19u); + ctx.gpr[6] = (0u | 20u); + { const std::uint32_t dividend = aot_gpr_4; const std::uint32_t divisor = ctx.gpr[6]; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(20), std::bit_cast(ctx.fpr[30])); + ctx.gpr[6] = (0u | 19u); ctx.gpr[7] = (ctx.hi); ctx.gpr[7] = (ctx.gpr[7] + static_cast(100)); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(16), static_cast(ctx.gpr[7])); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(16), static_cast(ctx.gpr[7])); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(311))); - { const bool branch_taken = aot_gpr_5 != aot_gpr_6; + { const bool branch_taken = aot_gpr_5 != ctx.gpr[6]; // nop if (branch_taken) { goto L_088D53AC; @@ -2774,8 +2775,8 @@ L_088D533C: } L_088D5368: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(27028))); - aot_gpr_6 = (0u | 65u); - if (aot_gpr_5 != aot_gpr_6) { + ctx.gpr[6] = (0u | 65u); + if (aot_gpr_5 != ctx.gpr[6]) { aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(26328))); goto L_088D5390; } @@ -2833,25 +2834,25 @@ L_088D53D4: aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(60), static_cast(0u)); goto L_088D53D8; L_088D53D8: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(104), ctx.gpr[20]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(104), ctx.gpr[20]); aot_gpr_5 = (aot_gpr_4 | 0u); - aot_gpr_17 = (0u | 17u); + ctx.gpr[17] = (0u | 17u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(52), ctx.gpr[18]); - ctx.gpr[31] = (0x088D53F0u); + aot_gpr_31 = (0x088D53F0u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D53F0u) goto L_088D53F0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D53F0u) goto L_088D53F0; AOT_REGCACHE_SYNC_OUT(); return; L_088D53F0: - ctx.gpr[20] = (ctx.gpr[2] | 0u); - { const std::uint32_t dividend = ctx.gpr[20]; const std::uint32_t divisor = aot_gpr_17; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), ctx.gpr[2]); + ctx.gpr[20] = (aot_gpr_2 | 0u); + { const std::uint32_t dividend = ctx.gpr[20]; const std::uint32_t divisor = ctx.gpr[17]; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_2); aot_gpr_5 = (ctx.lo); - ctx.gpr[31] = (0x088D5408u); + aot_gpr_31 = (0x088D5408u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D5408u) goto L_088D5408; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089B7A84, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D5408u) goto L_088D5408; AOT_REGCACHE_SYNC_OUT(); return; L_088D5408: - aot_gpr_4 = (ctx.gpr[20] + ctx.gpr[2]); + aot_gpr_4 = (ctx.gpr[20] + aot_gpr_2); aot_gpr_5 = (0u | 2u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), aot_gpr_5); @@ -2865,18 +2866,18 @@ L_088D5408: aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(61), static_cast(0u)); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(92), static_cast(ctx.gpr[18])); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(113), static_cast(ctx.gpr[18])); - ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(24))); - aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); + ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(24))); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(20))); { const bool branch_taken = 0u == 0u; - ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(104))); + ctx.gpr[20] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(104))); if (branch_taken) { goto L_088D7650; } goto L_088D5450; } L_088D5450: - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(28))); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(28))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(456))); aot_gpr_4 = (aot_gpr_4 & 4096u); if (aot_gpr_4 == 0u) { @@ -2897,40 +2898,40 @@ L_088D5470: { const std::uint32_t dividend = aot_gpr_5; const std::uint32_t divisor = aot_gpr_4; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } aot_gpr_4 = (ctx.hi); aot_gpr_4 = (aot_gpr_4 + static_cast(80)); - ctx.gpr[31] = (0x088D5488u); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(16), static_cast(aot_gpr_4)); + aot_gpr_31 = (0x088D5488u); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(16), static_cast(aot_gpr_4)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D5488u) goto L_088D5488; AOT_REGCACHE_SYNC_OUT(); return; L_088D5488: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(48))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(40))); - aot_gpr_6 = (aot_gpr_4 << 6u); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(40))); + ctx.gpr[6] = (aot_gpr_4 << 6u); aot_gpr_4 = (aot_gpr_4 << 3u); - aot_gpr_4 = (aot_gpr_6 - aot_gpr_4); + aot_gpr_4 = (ctx.gpr[6] - aot_gpr_4); aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(6260))); + ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(6260))); aot_gpr_5 = (aot_gpr_4 + aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(6266))); - { const bool branch_taken = ctx.gpr[2] == aot_gpr_6; - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + { const bool branch_taken = aot_gpr_2 == ctx.gpr[6]; + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); if (branch_taken) { goto L_088D54C0; } goto L_088D54B4; } L_088D54B4: - aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(16))); - aot_gpr_6 = (static_cast(static_cast(aot_gpr_6) >> 1u)); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(16), static_cast(aot_gpr_6)); + ctx.gpr[6] = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(16))); + ctx.gpr[6] = (static_cast(static_cast(ctx.gpr[6]) >> 1u)); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(16), static_cast(ctx.gpr[6])); goto L_088D54C0; L_088D54C0: - aot_gpr_6 = (17352u << 16u); - aot_fpr_12 = std::bit_cast(aot_gpr_6); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), std::bit_cast(aot_fpr_12)); + ctx.gpr[6] = (17352u << 16u); + aot_fpr_12 = std::bit_cast(ctx.gpr[6]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(20), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(311))); aot_gpr_4 = (aot_gpr_4 + static_cast(-2)); - aot_gpr_6 = (aot_gpr_4 < static_cast(32) ? 1u : 0u); - { const bool branch_taken = aot_gpr_6 == 0u; + ctx.gpr[6] = (aot_gpr_4 < static_cast(32) ? 1u : 0u); + { const bool branch_taken = ctx.gpr[6] == 0u; ctx.gpr[9] = (0u | 5u); if (branch_taken) { goto L_088D56E0; @@ -2950,8 +2951,8 @@ L_088D54E0: AOT_REGCACHE_SYNC_OUT(); return; L_088D54F8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(27028))); - aot_gpr_6 = (0u | 61u); - if (aot_gpr_4 != aot_gpr_6) { + ctx.gpr[6] = (0u | 61u); + if (aot_gpr_4 != ctx.gpr[6]) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(26328))); goto L_088D5528; } @@ -3000,20 +3001,20 @@ L_088D5544: } L_088D5560: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(27028))); - aot_gpr_6 = (0u | 66u); - if (aot_gpr_4 != aot_gpr_6) { + ctx.gpr[6] = (0u | 66u); + if (aot_gpr_4 != ctx.gpr[6]) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(26328))); goto L_088D558C; } goto L_088D5570; L_088D5570: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(26336))); - aot_gpr_6 = (0u | 66u); + ctx.gpr[6] = (0u | 66u); aot_gpr_4 = (aot_gpr_4 & 3u); aot_gpr_4 = (aot_gpr_4 + static_cast(6023)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), aot_gpr_4); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(60), static_cast(aot_gpr_6)); + aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(60), static_cast(ctx.gpr[6])); if (branch_taken) { goto L_088D55A0; } @@ -3036,8 +3037,8 @@ L_088D55A0: } L_088D55A8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(27028))); - aot_gpr_6 = (0u | 62u); - if (aot_gpr_4 != aot_gpr_6) { + ctx.gpr[6] = (0u | 62u); + if (aot_gpr_4 != ctx.gpr[6]) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(26328))); goto L_088D55D8; } @@ -3074,10 +3075,10 @@ L_088D55EC: L_088D55F4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(26328))); { const std::uint32_t dividend = aot_gpr_4; const std::uint32_t divisor = ctx.gpr[9]; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(27028))); + ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(27028))); ctx.gpr[7] = (0u | 63u); aot_gpr_4 = (ctx.hi); - { const bool branch_taken = aot_gpr_6 != ctx.gpr[7]; + { const bool branch_taken = ctx.gpr[6] != ctx.gpr[7]; // nop if (branch_taken) { goto L_088D5624; @@ -3086,10 +3087,10 @@ L_088D55F4: } L_088D5610: aot_gpr_4 = (aot_gpr_4 + static_cast(6009)); - aot_gpr_6 = (0u | 63u); + ctx.gpr[6] = (0u | 63u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), aot_gpr_4); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(60), static_cast(aot_gpr_6)); + aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(60), static_cast(ctx.gpr[6])); if (branch_taken) { goto L_088D5630; } @@ -3110,8 +3111,8 @@ L_088D5630: } L_088D5638: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(27028))); - aot_gpr_6 = (0u | 64u); - if (aot_gpr_4 != aot_gpr_6) { + ctx.gpr[6] = (0u | 64u); + if (aot_gpr_4 != ctx.gpr[6]) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(26328))); goto L_088D5668; } @@ -3147,14 +3148,14 @@ L_088D567C: } L_088D5684: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(26332))); - aot_gpr_6 = (0u | 15u); - { const std::uint32_t dividend = aot_gpr_4; const std::uint32_t divisor = aot_gpr_6; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(27028))); + ctx.gpr[6] = (0u | 15u); + { const std::uint32_t dividend = aot_gpr_4; const std::uint32_t divisor = ctx.gpr[6]; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } + ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(27028))); ctx.gpr[7] = (0u | 65u); ctx.gpr[8] = (ctx.hi); ctx.gpr[8] = (ctx.gpr[8] + static_cast(30)); - { const bool branch_taken = aot_gpr_6 != ctx.gpr[7]; - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(16), static_cast(ctx.gpr[8])); + { const bool branch_taken = ctx.gpr[6] != ctx.gpr[7]; + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(16), static_cast(ctx.gpr[8])); if (branch_taken) { goto L_088D56C0; } @@ -3163,10 +3164,10 @@ L_088D5684: L_088D56A8: aot_gpr_4 = (aot_gpr_4 & 3u); aot_gpr_4 = (aot_gpr_4 + static_cast(6019)); - aot_gpr_6 = (0u | 65u); + ctx.gpr[6] = (0u | 65u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), aot_gpr_4); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(60), static_cast(aot_gpr_6)); + aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(60), static_cast(ctx.gpr[6])); if (branch_taken) { goto L_088D56D8; } @@ -3189,70 +3190,70 @@ L_088D56D8: goto L_088D56E0; } L_088D56E0: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(26328))); + ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(26328))); aot_gpr_4 = (0u | 5u); - { const std::uint32_t dividend = aot_gpr_6; const std::uint32_t divisor = aot_gpr_4; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } + { const std::uint32_t dividend = ctx.gpr[6]; const std::uint32_t divisor = aot_gpr_4; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(60), static_cast(0u)); aot_gpr_4 = (ctx.hi); aot_gpr_4 = (aot_gpr_4 + static_cast(195)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), aot_gpr_4); goto L_088D56FC; L_088D56FC: - aot_gpr_6 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(104), ctx.gpr[20]); + ctx.gpr[6] = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(104), ctx.gpr[20]); aot_gpr_4 = (aot_gpr_5 + static_cast(-32)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(52), aot_gpr_4); aot_gpr_4 = (ctx.gpr[19] | 0u); - ctx.gpr[31] = (0x088D5718u); - aot_gpr_5 = (aot_gpr_6 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D5718u) goto L_088D5718; + aot_gpr_31 = (0x088D5718u); + aot_gpr_5 = (ctx.gpr[6] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D5718u) goto L_088D5718; AOT_REGCACHE_SYNC_OUT(); return; L_088D5718: aot_gpr_4 = (0u | 17u); - ctx.gpr[20] = (ctx.gpr[2] | 0u); + ctx.gpr[20] = (aot_gpr_2 | 0u); { const std::uint32_t dividend = ctx.gpr[20]; const std::uint32_t divisor = aot_gpr_4; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_2); aot_gpr_5 = (ctx.lo); - ctx.gpr[31] = (0x088D5734u); + aot_gpr_31 = (0x088D5734u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D5734u) goto L_088D5734; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089B7A84, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D5734u) goto L_088D5734; AOT_REGCACHE_SYNC_OUT(); return; L_088D5734: - aot_gpr_4 = (ctx.gpr[20] + ctx.gpr[2]); + aot_gpr_4 = (ctx.gpr[20] + aot_gpr_2); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_4); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); - ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(24))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); + ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(24))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(2244))); - aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); - aot_gpr_6 = (0u | 6u); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(20))); + ctx.gpr[6] = (0u | 6u); ctx.gpr[9] = (0u | 5u); ctx.gpr[10] = (0u | 10u); - { const bool branch_taken = aot_gpr_5 == aot_gpr_6; - ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(104))); + { const bool branch_taken = aot_gpr_5 == ctx.gpr[6]; + ctx.gpr[20] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(104))); if (branch_taken) { goto L_088D577C; } goto L_088D5760; } L_088D5760: - aot_gpr_6 = (0u | 5u); - { const bool branch_taken = aot_gpr_5 == aot_gpr_6; - aot_gpr_6 = (0u | 4u); + ctx.gpr[6] = (0u | 5u); + { const bool branch_taken = aot_gpr_5 == ctx.gpr[6]; + ctx.gpr[6] = (0u | 4u); if (branch_taken) { goto L_088D57CC; } goto L_088D576C; } L_088D576C: - { const bool branch_taken = aot_gpr_5 == aot_gpr_6; - aot_gpr_6 = (0u | 2u); + { const bool branch_taken = aot_gpr_5 == ctx.gpr[6]; + ctx.gpr[6] = (0u | 2u); if (branch_taken) { goto L_088D57A0; } goto L_088D5774; } L_088D5774: - { const bool branch_taken = aot_gpr_5 != aot_gpr_6; + { const bool branch_taken = aot_gpr_5 != ctx.gpr[6]; // nop if (branch_taken) { goto L_088D57E4; @@ -3263,9 +3264,9 @@ L_088D577C: aot_gpr_5 = (aot_gpr_4 << 3u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); { const std::uint32_t dividend = aot_gpr_4; const std::uint32_t divisor = ctx.gpr[10]; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(16))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(16))); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 2u)); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(16), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(16), static_cast(aot_gpr_4)); aot_gpr_4 = (ctx.lo); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_4); @@ -3280,9 +3281,9 @@ L_088D57A0: aot_gpr_5 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); { const std::uint32_t dividend = aot_gpr_4; const std::uint32_t divisor = ctx.gpr[10]; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(16))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(16))); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 1u)); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(16), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(16), static_cast(aot_gpr_4)); aot_gpr_4 = (ctx.lo); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_4); @@ -3345,8 +3346,8 @@ L_088D5834: goto L_088D5844; L_088D5844: aot_gpr_4 = (aot_gpr_5 + static_cast(-22)); - aot_gpr_6 = (aot_gpr_4 < static_cast(16) ? 1u : 0u); - { const bool branch_taken = aot_gpr_6 == 0u; + ctx.gpr[6] = (aot_gpr_4 < static_cast(16) ? 1u : 0u); + { const bool branch_taken = ctx.gpr[6] == 0u; // nop if (branch_taken) { goto L_088D58A0; @@ -3417,10 +3418,10 @@ L_088D58A0: } L_088D58A8: aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(60), static_cast(0u)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23672))); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(24), static_cast(ctx.gpr[18])); - aot_gpr_6 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-23672), static_cast(aot_gpr_6)); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23672))); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(24), static_cast(ctx.gpr[18])); + ctx.gpr[6] = (aot_gpr_4 + static_cast(1)); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-23672), static_cast(ctx.gpr[6])); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(52), aot_gpr_4); aot_gpr_4 = (aot_gpr_5 + static_cast(-24)); aot_gpr_5 = (aot_gpr_4 < static_cast(8) ? 1u : 0u); @@ -3445,7 +3446,7 @@ L_088D58D0: L_088D58E8: aot_gpr_4 = (0u | 26000u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_4); - aot_gpr_17 = (0u | 26000u); + ctx.gpr[17] = (0u | 26000u); { const bool branch_taken = 0u == 0u; aot_gpr_4 = (0u | 1625u); if (branch_taken) { @@ -3456,7 +3457,7 @@ L_088D58E8: L_088D58FC: aot_gpr_4 = (0u | 13000u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_4); - aot_gpr_17 = (0u | 13000u); + ctx.gpr[17] = (0u | 13000u); { const bool branch_taken = 0u == 0u; aot_gpr_4 = (0u | 812u); if (branch_taken) { @@ -3467,7 +3468,7 @@ L_088D58FC: L_088D5910: aot_gpr_4 = (0u | 15600u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_4); - aot_gpr_17 = (0u | 15600u); + ctx.gpr[17] = (0u | 15600u); { const bool branch_taken = 0u == 0u; aot_gpr_4 = (0u | 975u); if (branch_taken) { @@ -3478,7 +3479,7 @@ L_088D5910: L_088D5924: aot_gpr_4 = (0u | 7904u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_4); - aot_gpr_17 = (0u | 7904u); + ctx.gpr[17] = (0u | 7904u); { const bool branch_taken = 0u == 0u; aot_gpr_4 = (0u | 494u); if (branch_taken) { @@ -3489,7 +3490,7 @@ L_088D5924: L_088D5938: aot_gpr_4 = (0u | 9959u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_4); - aot_gpr_17 = (0u | 9959u); + ctx.gpr[17] = (0u | 9959u); { const bool branch_taken = 0u == 0u; aot_gpr_4 = (0u | 622u); if (branch_taken) { @@ -3499,43 +3500,43 @@ L_088D5938: } L_088D594C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(56))); - ctx.gpr[31] = (0x088D5958u); + aot_gpr_31 = (0x088D5958u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D5958u) goto L_088D5958; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D5958u) goto L_088D5958; AOT_REGCACHE_SYNC_OUT(); return; L_088D5958: - aot_gpr_17 = (ctx.gpr[2] | 0u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), ctx.gpr[2]); - aot_gpr_4 = (aot_gpr_17 >> 4u); + ctx.gpr[17] = (aot_gpr_2 | 0u); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_2); + aot_gpr_4 = (ctx.gpr[17] >> 4u); goto L_088D5964; L_088D5964: aot_gpr_5 = (aot_gpr_4 | 0u); - ctx.gpr[31] = (0x088D5970u); + aot_gpr_31 = (0x088D5970u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D5970u) goto L_088D5970; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089B7A84, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D5970u) goto L_088D5970; AOT_REGCACHE_SYNC_OUT(); return; L_088D5970: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(26336))); aot_gpr_4 = (0u | 10u); { const std::uint32_t dividend = aot_gpr_5; const std::uint32_t divisor = aot_gpr_4; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } - aot_gpr_4 = (aot_gpr_17 + ctx.gpr[2]); + aot_gpr_4 = (ctx.gpr[17] + aot_gpr_2); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), ctx.gpr[30]); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(84), std::bit_cast(ctx.fpr[22])); aot_fpr_14 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(88), std::bit_cast(ctx.fpr[26])); aot_fpr_15 = std::bit_cast(std::bit_cast(aot_fpr_20)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(20), std::bit_cast(aot_fpr_20)); aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(80), ctx.gpr[18]); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(61), static_cast(0u)); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(92), static_cast(ctx.gpr[18])); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(113), static_cast(ctx.gpr[18])); - ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(24))); + ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(24))); aot_gpr_5 = (ctx.hi); aot_gpr_5 = (aot_gpr_5 + static_cast(95)); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(16), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(16), static_cast(aot_gpr_5)); if (branch_taken) { goto L_088D7650; } @@ -3545,25 +3546,25 @@ L_088D59C4: aot_gpr_4 = (0u | 193u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), aot_gpr_4); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(60), static_cast(0u)); - aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23672))); + aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23672))); aot_gpr_4 = (ctx.gpr[19] | 0u); - aot_gpr_6 = (aot_gpr_5 + static_cast(1)); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-23672), static_cast(aot_gpr_6)); + ctx.gpr[6] = (aot_gpr_5 + static_cast(1)); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-23672), static_cast(ctx.gpr[6])); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(52), aot_gpr_5); - ctx.gpr[31] = (0x088D59ECu); + aot_gpr_31 = (0x088D59ECu); aot_gpr_5 = (0u | 193u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D59ECu) goto L_088D59EC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D59ECu) goto L_088D59EC; AOT_REGCACHE_SYNC_OUT(); return; L_088D59EC: - aot_gpr_17 = (ctx.gpr[2] | 0u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), ctx.gpr[2]); - aot_gpr_5 = (aot_gpr_17 >> 4u); - ctx.gpr[31] = (0x088D5A00u); + ctx.gpr[17] = (aot_gpr_2 | 0u); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_2); + aot_gpr_5 = (ctx.gpr[17] >> 4u); + aot_gpr_31 = (0x088D5A00u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D5A00u) goto L_088D5A00; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089B7A84, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D5A00u) goto L_088D5A00; AOT_REGCACHE_SYNC_OUT(); return; L_088D5A00: - aot_gpr_4 = (aot_gpr_17 + ctx.gpr[2]); + aot_gpr_4 = (ctx.gpr[17] + aot_gpr_2); aot_gpr_5 = (16512u << 16u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_4); aot_fpr_12 = std::bit_cast(aot_gpr_5); @@ -3575,33 +3576,33 @@ L_088D5A00: aot_fpr_14 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(88), std::bit_cast(ctx.fpr[13])); aot_fpr_15 = std::bit_cast(std::bit_cast(ctx.fpr[28])); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(16), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(16), static_cast(aot_gpr_5)); aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), std::bit_cast(ctx.fpr[28])); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(20), std::bit_cast(ctx.fpr[28])); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(80), ctx.gpr[18]); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(61), static_cast(0u)); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(92), static_cast(ctx.gpr[18])); aot_gpr_5 = (0u | 1u); - ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(24))); + ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(24))); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(25), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(25), static_cast(aot_gpr_5)); if (branch_taken) { goto L_088D7650; } goto L_088D5A58; } L_088D5A58: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(28))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(28))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); ctx.gpr[10] = (0u | 10u); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(1929)))))); ctx.gpr[11] = (0u | 15u); - aot_gpr_6 = (aot_gpr_5 << 5u); + ctx.gpr[6] = (aot_gpr_5 << 5u); aot_gpr_5 = (aot_gpr_5 << 2u); - aot_gpr_5 = (aot_gpr_6 - aot_gpr_5); + aot_gpr_5 = (ctx.gpr[6] - aot_gpr_5); ctx.gpr[12] = (aot_gpr_4 + aot_gpr_5); ctx.gpr[12] = (ctx.gpr[12] + static_cast(1396)); - ctx.gpr[2] = (0u | 301u); + aot_gpr_2 = (0u | 301u); { const bool branch_taken = ctx.gpr[12] != 0u; ctx.gpr[3] = (0u | 327u); if (branch_taken) { @@ -3611,7 +3612,7 @@ L_088D5A58: } L_088D5A8C: { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), ctx.gpr[12]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(36), ctx.gpr[12]); if (branch_taken) { goto L_088D7810; } @@ -3622,7 +3623,7 @@ L_088D5A94: aot_gpr_4 = (aot_gpr_4 + static_cast(-18)); aot_gpr_5 = (aot_gpr_4 < static_cast(20) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), ctx.gpr[12]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(36), ctx.gpr[12]); if (branch_taken) { goto L_088D631C; } @@ -3634,7 +3635,7 @@ L_088D5AA8: ctx.gpr[1] = (ctx.gpr[1] + aot_gpr_4); ctx.gpr[1] = (aot_mem.aot_direct_load32(ctx.gpr[1] + static_cast(-18160))); jump_target = ctx.gpr[1]; - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), ctx.gpr[12]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(36), ctx.gpr[12]); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -3643,27 +3644,27 @@ L_088D5AC0: aot_gpr_4 = (0u | 284u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), aot_gpr_4); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(60), static_cast(0u)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), ctx.gpr[12]); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23672))); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(24), static_cast(ctx.gpr[18])); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(36), ctx.gpr[12]); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23672))); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(24), static_cast(ctx.gpr[18])); aot_gpr_5 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-23672), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-23672), static_cast(aot_gpr_5)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(52), aot_gpr_4); aot_gpr_4 = (ctx.gpr[19] | 0u); - ctx.gpr[31] = (0x088D5AF0u); + aot_gpr_31 = (0x088D5AF0u); aot_gpr_5 = (0u | 284u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D5AF0u) goto L_088D5AF0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D5AF0u) goto L_088D5AF0; AOT_REGCACHE_SYNC_OUT(); return; L_088D5AF0: - aot_gpr_17 = (ctx.gpr[2] | 0u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), ctx.gpr[2]); - aot_gpr_5 = (aot_gpr_17 >> 5u); - ctx.gpr[31] = (0x088D5B04u); + ctx.gpr[17] = (aot_gpr_2 | 0u); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_2); + aot_gpr_5 = (ctx.gpr[17] >> 5u); + aot_gpr_31 = (0x088D5B04u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D5B04u) goto L_088D5B04; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089B7A84, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D5B04u) goto L_088D5B04; AOT_REGCACHE_SYNC_OUT(); return; L_088D5B04: - aot_gpr_4 = (aot_gpr_17 + ctx.gpr[2]); + aot_gpr_4 = (ctx.gpr[17] + aot_gpr_2); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), ctx.gpr[30]); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(84), std::bit_cast(ctx.fpr[22])); @@ -3671,72 +3672,72 @@ L_088D5B04: aot_gpr_5 = (0u | 127u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(88), std::bit_cast(ctx.fpr[26])); aot_fpr_15 = std::bit_cast(std::bit_cast(aot_fpr_20)); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(16), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(16), static_cast(aot_gpr_5)); aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(20), std::bit_cast(aot_fpr_20)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(80), ctx.gpr[18]); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(61), static_cast(0u)); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(92), static_cast(ctx.gpr[18])); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(113), static_cast(ctx.gpr[18])); aot_gpr_5 = (0u | 1u); - ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(24))); + ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(24))); goto L_088D5B48; L_088D5B48: { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(25), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(25), static_cast(aot_gpr_5)); if (branch_taken) { goto L_088D7650; } goto L_088D5B50; } L_088D5B50: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(104), ctx.gpr[20]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(104), ctx.gpr[20]); aot_gpr_4 = (0u | 110u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), aot_gpr_4); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(60), static_cast(0u)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), ctx.gpr[12]); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23672))); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(24), static_cast(ctx.gpr[18])); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(36), ctx.gpr[12]); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23672))); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(24), static_cast(ctx.gpr[18])); aot_gpr_5 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-23672), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-23672), static_cast(aot_gpr_5)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(52), aot_gpr_4); - aot_gpr_17 = (ctx.gpr[10] | 0u); + ctx.gpr[17] = (ctx.gpr[10] | 0u); aot_gpr_4 = (ctx.gpr[19] | 0u); - ctx.gpr[31] = (0x088D5B88u); + aot_gpr_31 = (0x088D5B88u); aot_gpr_5 = (0u | 110u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D5B88u) goto L_088D5B88; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D5B88u) goto L_088D5B88; AOT_REGCACHE_SYNC_OUT(); return; L_088D5B88: - ctx.gpr[20] = (ctx.gpr[2] | 0u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), ctx.gpr[2]); + ctx.gpr[20] = (aot_gpr_2 | 0u); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_2); aot_gpr_5 = (ctx.gpr[20] >> 5u); - ctx.gpr[31] = (0x088D5B9Cu); + aot_gpr_31 = (0x088D5B9Cu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D5B9Cu) goto L_088D5B9C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089B7A84, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D5B9Cu) goto L_088D5B9C; AOT_REGCACHE_SYNC_OUT(); return; L_088D5B9C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(26324))); - { const std::uint32_t dividend = aot_gpr_4; const std::uint32_t divisor = aot_gpr_17; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } - aot_gpr_4 = (ctx.gpr[20] + ctx.gpr[2]); + { const std::uint32_t dividend = aot_gpr_4; const std::uint32_t divisor = ctx.gpr[17]; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } + aot_gpr_4 = (ctx.gpr[20] + aot_gpr_2); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), ctx.gpr[30]); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(84), std::bit_cast(ctx.fpr[22])); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(88), std::bit_cast(ctx.fpr[26])); aot_fpr_14 = std::bit_cast(aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(20), std::bit_cast(aot_fpr_20)); aot_fpr_15 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(80), ctx.gpr[18]); aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(61), static_cast(0u)); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(92), static_cast(ctx.gpr[18])); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(113), static_cast(ctx.gpr[18])); - ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(24))); + ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(24))); aot_gpr_5 = (0u | 1u); - aot_gpr_6 = (ctx.hi); - aot_gpr_6 = (aot_gpr_6 + static_cast(105)); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(16), static_cast(aot_gpr_6)); + ctx.gpr[6] = (ctx.hi); + ctx.gpr[6] = (ctx.gpr[6] + static_cast(105)); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(16), static_cast(ctx.gpr[6])); { const bool branch_taken = 0u == 0u; - ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(104))); + ctx.gpr[20] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(104))); if (branch_taken) { goto L_088D5B48; } @@ -3746,65 +3747,65 @@ L_088D5BF4: aot_gpr_4 = (0u | 298u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), aot_gpr_4); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(60), static_cast(0u)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), ctx.gpr[12]); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23672))); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(24), static_cast(ctx.gpr[18])); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(36), ctx.gpr[12]); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23672))); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(24), static_cast(ctx.gpr[18])); aot_gpr_5 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-23672), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-23672), static_cast(aot_gpr_5)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(52), aot_gpr_4); aot_gpr_4 = (ctx.gpr[19] | 0u); - ctx.gpr[31] = (0x088D5C24u); + aot_gpr_31 = (0x088D5C24u); aot_gpr_5 = (0u | 298u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D5C24u) goto L_088D5C24; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D5C24u) goto L_088D5C24; AOT_REGCACHE_SYNC_OUT(); return; L_088D5C24: - aot_gpr_17 = (ctx.gpr[2] | 0u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), ctx.gpr[2]); - aot_gpr_5 = (aot_gpr_17 >> 5u); - ctx.gpr[31] = (0x088D5C38u); + ctx.gpr[17] = (aot_gpr_2 | 0u); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_2); + aot_gpr_5 = (ctx.gpr[17] >> 5u); + aot_gpr_31 = (0x088D5C38u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D5C38u) goto L_088D5C38; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089B7A84, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D5C38u) goto L_088D5C38; AOT_REGCACHE_SYNC_OUT(); return; L_088D5C38: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(26320))); aot_gpr_4 = (0u | 20u); { const std::uint32_t dividend = aot_gpr_5; const std::uint32_t divisor = aot_gpr_4; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } - aot_gpr_4 = (aot_gpr_17 + ctx.gpr[2]); + aot_gpr_4 = (ctx.gpr[17] + aot_gpr_2); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(84), std::bit_cast(ctx.fpr[22])); aot_fpr_14 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(88), std::bit_cast(ctx.fpr[26])); aot_fpr_15 = std::bit_cast(std::bit_cast(aot_fpr_20)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(20), std::bit_cast(aot_fpr_20)); aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(80), ctx.gpr[18]); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(61), static_cast(0u)); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(92), static_cast(ctx.gpr[18])); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(113), static_cast(ctx.gpr[18])); - ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(24))); + ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(24))); aot_gpr_5 = (0u | 1u); - aot_gpr_6 = (ctx.hi); - aot_gpr_6 = (aot_gpr_6 + static_cast(95)); + ctx.gpr[6] = (ctx.hi); + ctx.gpr[6] = (ctx.gpr[6] + static_cast(95)); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(16), static_cast(aot_gpr_6)); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(16), static_cast(ctx.gpr[6])); if (branch_taken) { goto L_088D5B48; } goto L_088D5C90; } L_088D5C90: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), ctx.gpr[12]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(36), ctx.gpr[12]); aot_gpr_4 = (0u | 191u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), aot_gpr_4); aot_gpr_4 = (0u | 9u); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(60), static_cast(0u)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(52), aot_gpr_4); - aot_gpr_17 = (0u | 105u); + ctx.gpr[17] = (0u | 105u); aot_gpr_4 = (ctx.gpr[19] | 0u); - ctx.gpr[31] = (0x088D5CB8u); + aot_gpr_31 = (0x088D5CB8u); aot_gpr_5 = (0u | 191u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D5CB8u) goto L_088D5CB8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D5CB8u) goto L_088D5CB8; AOT_REGCACHE_SYNC_OUT(); return; L_088D5CB8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(48))); @@ -3812,7 +3813,7 @@ L_088D5CB8: aot_gpr_5 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_gpr_4 & 2047u); - aot_gpr_4 = (ctx.gpr[2] + aot_gpr_4); + aot_gpr_4 = (aot_gpr_2 + aot_gpr_4); aot_gpr_5 = (16512u << 16u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_4); aot_fpr_12 = std::bit_cast(aot_gpr_5); @@ -3822,9 +3823,9 @@ L_088D5CB8: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(84), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(88), std::bit_cast(ctx.fpr[13])); aot_fpr_14 = std::bit_cast(aot_gpr_4); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(16), static_cast(aot_gpr_17)); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(16), static_cast(ctx.gpr[17])); aot_fpr_15 = std::bit_cast(std::bit_cast(ctx.fpr[28])); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), std::bit_cast(ctx.fpr[28])); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(20), std::bit_cast(ctx.fpr[28])); aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(80), 0u); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(61), static_cast(0u)); @@ -3833,7 +3834,7 @@ L_088D5CB8: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(116), aot_gpr_5); aot_gpr_5 = (0u | 0u); { const bool branch_taken = 0u == 0u; - ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(24))); + ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(24))); if (branch_taken) { goto L_088D5B48; } @@ -3843,27 +3844,27 @@ L_088D5D24: aot_gpr_4 = (0u | 236u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), aot_gpr_4); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(60), static_cast(0u)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), ctx.gpr[12]); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23672))); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(24), static_cast(ctx.gpr[18])); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(36), ctx.gpr[12]); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23672))); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(24), static_cast(ctx.gpr[18])); aot_gpr_5 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-23672), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-23672), static_cast(aot_gpr_5)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(52), aot_gpr_4); aot_gpr_4 = (ctx.gpr[19] | 0u); - ctx.gpr[31] = (0x088D5D54u); + aot_gpr_31 = (0x088D5D54u); aot_gpr_5 = (0u | 236u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D5D54u) goto L_088D5D54; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D5D54u) goto L_088D5D54; AOT_REGCACHE_SYNC_OUT(); return; L_088D5D54: - aot_gpr_17 = (ctx.gpr[2] | 0u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), ctx.gpr[2]); - aot_gpr_5 = (aot_gpr_17 >> 5u); - ctx.gpr[31] = (0x088D5D68u); + ctx.gpr[17] = (aot_gpr_2 | 0u); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_2); + aot_gpr_5 = (ctx.gpr[17] >> 5u); + aot_gpr_31 = (0x088D5D68u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D5D68u) goto L_088D5D68; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089B7A84, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D5D68u) goto L_088D5D68; AOT_REGCACHE_SYNC_OUT(); return; L_088D5D68: - aot_gpr_4 = (aot_gpr_17 + ctx.gpr[2]); + aot_gpr_4 = (ctx.gpr[17] + aot_gpr_2); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), ctx.gpr[30]); aot_fpr_14 = std::bit_cast(aot_gpr_4); @@ -3872,66 +3873,66 @@ L_088D5D68: aot_gpr_5 = (0u | 127u); aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(88), std::bit_cast(ctx.fpr[26])); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(16), static_cast(aot_gpr_5)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(16), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(20), std::bit_cast(aot_fpr_20)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(80), ctx.gpr[18]); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(61), static_cast(0u)); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(92), static_cast(ctx.gpr[18])); aot_gpr_5 = (0u | 1u); { const bool branch_taken = 0u == 0u; - ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(24))); + ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(24))); if (branch_taken) { goto L_088D5B48; } goto L_088D5DAC; } L_088D5DAC: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(104), ctx.gpr[20]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(104), ctx.gpr[20]); aot_gpr_4 = (0u | 253u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), aot_gpr_4); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(60), static_cast(0u)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), ctx.gpr[12]); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23672))); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(24), static_cast(ctx.gpr[18])); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(36), ctx.gpr[12]); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23672))); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(24), static_cast(ctx.gpr[18])); aot_gpr_5 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-23672), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-23672), static_cast(aot_gpr_5)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(52), aot_gpr_4); - aot_gpr_17 = (ctx.gpr[11] | 0u); + ctx.gpr[17] = (ctx.gpr[11] | 0u); aot_gpr_4 = (ctx.gpr[19] | 0u); - ctx.gpr[31] = (0x088D5DE4u); + aot_gpr_31 = (0x088D5DE4u); aot_gpr_5 = (0u | 253u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D5DE4u) goto L_088D5DE4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D5DE4u) goto L_088D5DE4; AOT_REGCACHE_SYNC_OUT(); return; L_088D5DE4: - ctx.gpr[20] = (ctx.gpr[2] | 0u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), ctx.gpr[2]); + ctx.gpr[20] = (aot_gpr_2 | 0u); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_2); aot_gpr_5 = (ctx.gpr[20] >> 5u); - ctx.gpr[31] = (0x088D5DF8u); + aot_gpr_31 = (0x088D5DF8u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D5DF8u) goto L_088D5DF8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089B7A84, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D5DF8u) goto L_088D5DF8; AOT_REGCACHE_SYNC_OUT(); return; L_088D5DF8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(26332))); - { const std::uint32_t dividend = aot_gpr_4; const std::uint32_t divisor = aot_gpr_17; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } - aot_gpr_4 = (ctx.gpr[20] + ctx.gpr[2]); + { const std::uint32_t dividend = aot_gpr_4; const std::uint32_t divisor = ctx.gpr[17]; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } + aot_gpr_4 = (ctx.gpr[20] + aot_gpr_2); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), ctx.gpr[30]); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(84), std::bit_cast(ctx.fpr[22])); aot_fpr_14 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(88), std::bit_cast(ctx.fpr[26])); aot_fpr_15 = std::bit_cast(std::bit_cast(aot_fpr_20)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(20), std::bit_cast(aot_fpr_20)); aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(80), ctx.gpr[18]); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(61), static_cast(0u)); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(92), static_cast(ctx.gpr[18])); - ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(24))); + ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(24))); aot_gpr_5 = (0u | 1u); - aot_gpr_6 = (ctx.hi); - aot_gpr_6 = (aot_gpr_6 + static_cast(113)); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(16), static_cast(aot_gpr_6)); + ctx.gpr[6] = (ctx.hi); + ctx.gpr[6] = (ctx.gpr[6] + static_cast(113)); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(16), static_cast(ctx.gpr[6])); { const bool branch_taken = 0u == 0u; - ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(104))); + ctx.gpr[20] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(104))); if (branch_taken) { goto L_088D5B48; } @@ -3940,22 +3941,22 @@ L_088D5DF8: L_088D5E4C: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), ctx.gpr[3]); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(60), static_cast(0u)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), ctx.gpr[12]); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23672))); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(24), static_cast(ctx.gpr[18])); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(36), ctx.gpr[12]); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23672))); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(24), static_cast(ctx.gpr[18])); aot_gpr_5 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-23672), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-23672), static_cast(aot_gpr_5)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(52), aot_gpr_4); - aot_gpr_17 = (ctx.gpr[11] | 0u); + ctx.gpr[17] = (ctx.gpr[11] | 0u); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x088D5E7Cu); + aot_gpr_31 = (0x088D5E7Cu); aot_gpr_5 = (0u | 500u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D5E7Cu) goto L_088D5E7C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089B7A84, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D5E7Cu) goto L_088D5E7C; AOT_REGCACHE_SYNC_OUT(); return; L_088D5E7C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(26332))); - { const std::uint32_t dividend = aot_gpr_4; const std::uint32_t divisor = aot_gpr_17; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } - aot_gpr_4 = (ctx.gpr[2] + static_cast(17000)); + { const std::uint32_t dividend = aot_gpr_4; const std::uint32_t divisor = ctx.gpr[17]; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } + aot_gpr_4 = (aot_gpr_2 + static_cast(17000)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), ctx.gpr[30]); aot_fpr_14 = std::bit_cast(aot_gpr_4); @@ -3963,207 +3964,207 @@ L_088D5E7C: aot_fpr_15 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(88), std::bit_cast(ctx.fpr[26])); aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(20), std::bit_cast(aot_fpr_20)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(80), ctx.gpr[18]); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(61), static_cast(0u)); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(92), static_cast(ctx.gpr[18])); - ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(24))); + ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(24))); aot_gpr_5 = (0u | 1u); - aot_gpr_6 = (ctx.hi); - aot_gpr_6 = (aot_gpr_6 + static_cast(85)); + ctx.gpr[6] = (ctx.hi); + ctx.gpr[6] = (ctx.gpr[6] + static_cast(85)); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(16), static_cast(aot_gpr_6)); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(16), static_cast(ctx.gpr[6])); if (branch_taken) { goto L_088D5B48; } goto L_088D5ECC; } L_088D5ECC: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(104), ctx.gpr[20]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(104), ctx.gpr[20]); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), ctx.gpr[3]); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(60), static_cast(0u)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), ctx.gpr[12]); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23672))); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(24), static_cast(ctx.gpr[18])); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(36), ctx.gpr[12]); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23672))); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(24), static_cast(ctx.gpr[18])); aot_gpr_5 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-23672), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-23672), static_cast(aot_gpr_5)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(52), aot_gpr_4); - aot_gpr_17 = (0u | 34000u); + ctx.gpr[17] = (0u | 34000u); ctx.gpr[20] = (ctx.gpr[11] | 0u); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x088D5F04u); + aot_gpr_31 = (0x088D5F04u); aot_gpr_5 = (0u | 1000u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D5F04u) goto L_088D5F04; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089B7A84, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D5F04u) goto L_088D5F04; AOT_REGCACHE_SYNC_OUT(); return; L_088D5F04: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(26332))); { const std::uint32_t dividend = aot_gpr_4; const std::uint32_t divisor = ctx.gpr[20]; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } - aot_gpr_4 = (ctx.gpr[2] + aot_gpr_17); + aot_gpr_4 = (aot_gpr_2 + ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), ctx.gpr[30]); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(84), std::bit_cast(ctx.fpr[22])); aot_fpr_14 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(88), std::bit_cast(ctx.fpr[26])); aot_fpr_15 = std::bit_cast(std::bit_cast(aot_fpr_20)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(20), std::bit_cast(aot_fpr_20)); aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(80), ctx.gpr[18]); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(61), static_cast(0u)); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(92), static_cast(ctx.gpr[18])); - ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(24))); + ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(24))); aot_gpr_5 = (0u | 1u); - aot_gpr_6 = (ctx.hi); - aot_gpr_6 = (aot_gpr_6 + static_cast(85)); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(16), static_cast(aot_gpr_6)); + ctx.gpr[6] = (ctx.hi); + ctx.gpr[6] = (ctx.gpr[6] + static_cast(85)); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(16), static_cast(ctx.gpr[6])); { const bool branch_taken = 0u == 0u; - ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(104))); + ctx.gpr[20] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(104))); if (branch_taken) { goto L_088D5B48; } goto L_088D5F58; } L_088D5F58: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(104), ctx.gpr[20]); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(104), ctx.gpr[20]); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), aot_gpr_2); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(60), static_cast(0u)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), ctx.gpr[12]); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23672))); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(24), static_cast(ctx.gpr[18])); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(36), ctx.gpr[12]); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23672))); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(24), static_cast(ctx.gpr[18])); aot_gpr_5 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-23672), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-23672), static_cast(aot_gpr_5)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(52), aot_gpr_4); - aot_gpr_17 = (ctx.gpr[11] | 0u); + ctx.gpr[17] = (ctx.gpr[11] | 0u); aot_gpr_4 = (ctx.gpr[19] | 0u); - ctx.gpr[31] = (0x088D5F8Cu); + aot_gpr_31 = (0x088D5F8Cu); aot_gpr_5 = (0u | 301u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D5F8Cu) goto L_088D5F8C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D5F8Cu) goto L_088D5F8C; AOT_REGCACHE_SYNC_OUT(); return; L_088D5F8C: - ctx.gpr[20] = (ctx.gpr[2] | 0u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), ctx.gpr[2]); + ctx.gpr[20] = (aot_gpr_2 | 0u); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_2); aot_gpr_5 = (ctx.gpr[20] >> 5u); - ctx.gpr[31] = (0x088D5FA0u); + aot_gpr_31 = (0x088D5FA0u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D5FA0u) goto L_088D5FA0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089B7A84, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D5FA0u) goto L_088D5FA0; AOT_REGCACHE_SYNC_OUT(); return; L_088D5FA0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(26332))); - { const std::uint32_t dividend = aot_gpr_4; const std::uint32_t divisor = aot_gpr_17; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } - aot_gpr_4 = (ctx.gpr[20] + ctx.gpr[2]); + { const std::uint32_t dividend = aot_gpr_4; const std::uint32_t divisor = ctx.gpr[17]; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } + aot_gpr_4 = (ctx.gpr[20] + aot_gpr_2); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), ctx.gpr[30]); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(84), std::bit_cast(ctx.fpr[22])); aot_fpr_14 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(88), std::bit_cast(ctx.fpr[26])); aot_fpr_15 = std::bit_cast(std::bit_cast(aot_fpr_20)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(20), std::bit_cast(aot_fpr_20)); aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(80), ctx.gpr[18]); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(61), static_cast(0u)); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(92), static_cast(ctx.gpr[18])); - ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(24))); + ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(24))); aot_gpr_5 = (0u | 1u); - aot_gpr_6 = (ctx.hi); - aot_gpr_6 = (aot_gpr_6 + static_cast(105)); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(16), static_cast(aot_gpr_6)); + ctx.gpr[6] = (ctx.hi); + ctx.gpr[6] = (ctx.gpr[6] + static_cast(105)); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(16), static_cast(ctx.gpr[6])); { const bool branch_taken = 0u == 0u; - ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(104))); + ctx.gpr[20] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(104))); if (branch_taken) { goto L_088D5B48; } goto L_088D5FF4; } L_088D5FF4: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(104), ctx.gpr[20]); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(104), ctx.gpr[20]); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), aot_gpr_2); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(60), static_cast(0u)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), ctx.gpr[12]); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23672))); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(24), static_cast(ctx.gpr[18])); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(36), ctx.gpr[12]); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23672))); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(24), static_cast(ctx.gpr[18])); aot_gpr_5 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-23672), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-23672), static_cast(aot_gpr_5)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(52), aot_gpr_4); - aot_gpr_17 = (0u | 43150u); + ctx.gpr[17] = (0u | 43150u); ctx.gpr[20] = (ctx.gpr[11] | 0u); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x088D602Cu); + aot_gpr_31 = (0x088D602Cu); aot_gpr_5 = (0u | 1000u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D602Cu) goto L_088D602C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089B7A84, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D602Cu) goto L_088D602C; AOT_REGCACHE_SYNC_OUT(); return; L_088D602C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(26332))); { const std::uint32_t dividend = aot_gpr_4; const std::uint32_t divisor = ctx.gpr[20]; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } - aot_gpr_4 = (ctx.gpr[2] + aot_gpr_17); + aot_gpr_4 = (aot_gpr_2 + ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), ctx.gpr[30]); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(84), std::bit_cast(ctx.fpr[22])); aot_fpr_14 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(88), std::bit_cast(ctx.fpr[26])); aot_fpr_15 = std::bit_cast(std::bit_cast(aot_fpr_20)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(20), std::bit_cast(aot_fpr_20)); aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(80), ctx.gpr[18]); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(61), static_cast(0u)); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(92), static_cast(ctx.gpr[18])); - ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(24))); + ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(24))); aot_gpr_5 = (0u | 1u); - aot_gpr_6 = (ctx.hi); - aot_gpr_6 = (aot_gpr_6 + static_cast(105)); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(16), static_cast(aot_gpr_6)); + ctx.gpr[6] = (ctx.hi); + ctx.gpr[6] = (ctx.gpr[6] + static_cast(105)); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(16), static_cast(ctx.gpr[6])); { const bool branch_taken = 0u == 0u; - ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(104))); + ctx.gpr[20] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(104))); if (branch_taken) { goto L_088D5B48; } goto L_088D6080; } L_088D6080: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(104), ctx.gpr[20]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(104), ctx.gpr[20]); aot_gpr_4 = (0u | 340u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), aot_gpr_4); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(60), static_cast(0u)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), ctx.gpr[12]); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23672))); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(24), static_cast(ctx.gpr[18])); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(36), ctx.gpr[12]); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23672))); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(24), static_cast(ctx.gpr[18])); aot_gpr_5 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-23672), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-23672), static_cast(aot_gpr_5)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(52), aot_gpr_4); - aot_gpr_17 = (ctx.gpr[11] | 0u); + ctx.gpr[17] = (ctx.gpr[11] | 0u); aot_gpr_4 = (ctx.gpr[19] | 0u); - ctx.gpr[31] = (0x088D60B8u); + aot_gpr_31 = (0x088D60B8u); aot_gpr_5 = (0u | 340u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D60B8u) goto L_088D60B8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D60B8u) goto L_088D60B8; AOT_REGCACHE_SYNC_OUT(); return; L_088D60B8: - ctx.gpr[20] = (ctx.gpr[2] | 0u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), ctx.gpr[2]); + ctx.gpr[20] = (aot_gpr_2 | 0u); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_2); aot_gpr_5 = (ctx.gpr[20] >> 5u); - ctx.gpr[31] = (0x088D60CCu); + aot_gpr_31 = (0x088D60CCu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D60CCu) goto L_088D60CC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089B7A84, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D60CCu) goto L_088D60CC; AOT_REGCACHE_SYNC_OUT(); return; L_088D60CC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(26332))); - { const std::uint32_t dividend = aot_gpr_4; const std::uint32_t divisor = aot_gpr_17; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } - aot_gpr_4 = (ctx.gpr[20] + ctx.gpr[2]); + { const std::uint32_t dividend = aot_gpr_4; const std::uint32_t divisor = ctx.gpr[17]; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } + aot_gpr_4 = (ctx.gpr[20] + aot_gpr_2); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), ctx.gpr[30]); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(84), std::bit_cast(ctx.fpr[22])); aot_fpr_14 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(88), std::bit_cast(ctx.fpr[26])); aot_fpr_15 = std::bit_cast(std::bit_cast(aot_fpr_20)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(20), std::bit_cast(aot_fpr_20)); aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(80), ctx.gpr[18]); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(61), static_cast(0u)); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(92), static_cast(ctx.gpr[18])); - ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(24))); + ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(24))); aot_gpr_5 = (0u | 1u); - aot_gpr_6 = (ctx.hi); - aot_gpr_6 = (aot_gpr_6 + static_cast(113)); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(16), static_cast(aot_gpr_6)); + ctx.gpr[6] = (ctx.hi); + ctx.gpr[6] = (ctx.gpr[6] + static_cast(113)); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(16), static_cast(ctx.gpr[6])); { const bool branch_taken = 0u == 0u; - ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(104))); + ctx.gpr[20] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(104))); if (branch_taken) { goto L_088D5B48; } @@ -4173,12 +4174,12 @@ L_088D6120: aot_gpr_4 = (0u | 314u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), aot_gpr_4); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(60), static_cast(0u)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23672))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), ctx.gpr[12]); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23672))); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(36), ctx.gpr[12]); aot_gpr_5 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-23672), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-23672), static_cast(aot_gpr_5)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(52), aot_gpr_4); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(24), static_cast(ctx.gpr[18])); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(24), static_cast(ctx.gpr[18])); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[12] + static_cast(4))); aot_gpr_5 = (0u | 30u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; @@ -4191,7 +4192,7 @@ L_088D6120: L_088D6154: aot_gpr_4 = (0u | 25472u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_4); - aot_gpr_17 = (0u | 25472u); + ctx.gpr[17] = (0u | 25472u); { const bool branch_taken = 0u == 0u; aot_gpr_4 = (0u | 796u); if (branch_taken) { @@ -4202,142 +4203,142 @@ L_088D6154: L_088D6168: aot_gpr_4 = (0u | 20182u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_4); - aot_gpr_17 = (0u | 20182u); + ctx.gpr[17] = (0u | 20182u); aot_gpr_4 = (0u | 630u); goto L_088D6178; L_088D6178: aot_gpr_5 = (aot_gpr_4 | 0u); - ctx.gpr[31] = (0x088D6184u); + aot_gpr_31 = (0x088D6184u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D6184u) goto L_088D6184; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089B7A84, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D6184u) goto L_088D6184; AOT_REGCACHE_SYNC_OUT(); return; L_088D6184: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(26336))); aot_gpr_4 = (0u | 10u); { const std::uint32_t dividend = aot_gpr_5; const std::uint32_t divisor = aot_gpr_4; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } - aot_gpr_4 = (aot_gpr_17 + ctx.gpr[2]); + aot_gpr_4 = (ctx.gpr[17] + aot_gpr_2); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), ctx.gpr[30]); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(84), std::bit_cast(ctx.fpr[22])); aot_fpr_14 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(88), std::bit_cast(ctx.fpr[26])); aot_fpr_15 = std::bit_cast(std::bit_cast(aot_fpr_20)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(20), std::bit_cast(aot_fpr_20)); aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(80), ctx.gpr[18]); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(61), static_cast(0u)); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(92), static_cast(ctx.gpr[18])); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(113), static_cast(ctx.gpr[18])); - ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(24))); + ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(24))); aot_gpr_5 = (0u | 1u); - aot_gpr_6 = (ctx.hi); - aot_gpr_6 = (aot_gpr_6 + static_cast(115)); + ctx.gpr[6] = (ctx.hi); + ctx.gpr[6] = (ctx.gpr[6] + static_cast(115)); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(16), static_cast(aot_gpr_6)); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(16), static_cast(ctx.gpr[6])); if (branch_taken) { goto L_088D5B48; } goto L_088D61DC; } L_088D61DC: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(104), ctx.gpr[20]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(104), ctx.gpr[20]); aot_gpr_4 = (0u | 317u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), aot_gpr_4); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(60), static_cast(0u)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23672))); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(24), static_cast(ctx.gpr[18])); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23672))); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(24), static_cast(ctx.gpr[18])); aot_gpr_5 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-23672), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-23672), static_cast(aot_gpr_5)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(52), aot_gpr_4); - aot_gpr_17 = (ctx.gpr[10] | 0u); + ctx.gpr[17] = (ctx.gpr[10] | 0u); aot_gpr_4 = (ctx.gpr[19] | 0u); - ctx.gpr[31] = (0x088D6210u); + aot_gpr_31 = (0x088D6210u); aot_gpr_5 = (0u | 317u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D6210u) goto L_088D6210; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D6210u) goto L_088D6210; AOT_REGCACHE_SYNC_OUT(); return; L_088D6210: - ctx.gpr[20] = (ctx.gpr[2] | 0u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), ctx.gpr[2]); + ctx.gpr[20] = (aot_gpr_2 | 0u); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_2); aot_gpr_5 = (ctx.gpr[20] >> 5u); - ctx.gpr[31] = (0x088D6224u); + aot_gpr_31 = (0x088D6224u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D6224u) goto L_088D6224; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089B7A84, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D6224u) goto L_088D6224; AOT_REGCACHE_SYNC_OUT(); return; L_088D6224: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(26328))); - { const std::uint32_t dividend = aot_gpr_4; const std::uint32_t divisor = aot_gpr_17; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } - aot_gpr_4 = (ctx.gpr[20] + ctx.gpr[2]); + { const std::uint32_t dividend = aot_gpr_4; const std::uint32_t divisor = ctx.gpr[17]; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } + aot_gpr_4 = (ctx.gpr[20] + aot_gpr_2); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), ctx.gpr[30]); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(84), std::bit_cast(ctx.fpr[22])); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(88), std::bit_cast(ctx.fpr[26])); aot_fpr_14 = std::bit_cast(aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(20), std::bit_cast(aot_fpr_20)); aot_fpr_15 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(80), ctx.gpr[18]); aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(61), static_cast(0u)); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(92), static_cast(ctx.gpr[18])); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(113), static_cast(ctx.gpr[18])); - ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(24))); + ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(24))); aot_gpr_5 = (0u | 1u); - aot_gpr_6 = (ctx.hi); - aot_gpr_6 = (aot_gpr_6 + static_cast(115)); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(16), static_cast(aot_gpr_6)); + ctx.gpr[6] = (ctx.hi); + ctx.gpr[6] = (ctx.gpr[6] + static_cast(115)); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(16), static_cast(ctx.gpr[6])); { const bool branch_taken = 0u == 0u; - ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(104))); + ctx.gpr[20] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(104))); if (branch_taken) { goto L_088D5B48; } goto L_088D627C; } L_088D627C: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(104), ctx.gpr[20]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(104), ctx.gpr[20]); aot_gpr_4 = (0u | 308u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), aot_gpr_4); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(60), static_cast(0u)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23672))); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(24), static_cast(ctx.gpr[18])); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23672))); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(24), static_cast(ctx.gpr[18])); aot_gpr_5 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-23672), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-23672), static_cast(aot_gpr_5)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(52), aot_gpr_4); - aot_gpr_17 = (ctx.gpr[10] | 0u); + ctx.gpr[17] = (ctx.gpr[10] | 0u); aot_gpr_4 = (ctx.gpr[19] | 0u); - ctx.gpr[31] = (0x088D62B0u); + aot_gpr_31 = (0x088D62B0u); aot_gpr_5 = (0u | 308u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D62B0u) goto L_088D62B0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D62B0u) goto L_088D62B0; AOT_REGCACHE_SYNC_OUT(); return; L_088D62B0: - ctx.gpr[20] = (ctx.gpr[2] | 0u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), ctx.gpr[2]); + ctx.gpr[20] = (aot_gpr_2 | 0u); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_2); aot_gpr_5 = (ctx.gpr[20] >> 5u); - ctx.gpr[31] = (0x088D62C4u); + aot_gpr_31 = (0x088D62C4u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D62C4u) goto L_088D62C4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089B7A84, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D62C4u) goto L_088D62C4; AOT_REGCACHE_SYNC_OUT(); return; L_088D62C4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(26328))); - { const std::uint32_t dividend = aot_gpr_4; const std::uint32_t divisor = aot_gpr_17; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } - aot_gpr_4 = (ctx.gpr[20] + ctx.gpr[2]); + { const std::uint32_t dividend = aot_gpr_4; const std::uint32_t divisor = ctx.gpr[17]; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } + aot_gpr_4 = (ctx.gpr[20] + aot_gpr_2); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), ctx.gpr[30]); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(84), std::bit_cast(ctx.fpr[22])); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(88), std::bit_cast(ctx.fpr[26])); aot_fpr_14 = std::bit_cast(aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(20), std::bit_cast(aot_fpr_20)); aot_fpr_15 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(80), ctx.gpr[18]); aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(61), static_cast(0u)); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(92), static_cast(ctx.gpr[18])); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(113), static_cast(ctx.gpr[18])); - ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(24))); + ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(24))); aot_gpr_5 = (0u | 1u); - aot_gpr_6 = (ctx.hi); - aot_gpr_6 = (aot_gpr_6 + static_cast(115)); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(16), static_cast(aot_gpr_6)); + ctx.gpr[6] = (ctx.hi); + ctx.gpr[6] = (ctx.gpr[6] + static_cast(115)); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(16), static_cast(ctx.gpr[6])); { const bool branch_taken = 0u == 0u; - ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(104))); + ctx.gpr[20] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(104))); if (branch_taken) { goto L_088D5B48; } @@ -4402,36 +4403,36 @@ L_088D6368: L_088D6380: aot_gpr_4 = (0u | 269u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23672))); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(24), static_cast(ctx.gpr[18])); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23672))); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(24), static_cast(ctx.gpr[18])); aot_gpr_5 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-23672), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-23672), static_cast(aot_gpr_5)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(52), aot_gpr_4); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(16), static_cast(ctx.gpr[10])); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(16), static_cast(ctx.gpr[10])); aot_gpr_4 = (ctx.gpr[19] | 0u); - ctx.gpr[31] = (0x088D63ACu); + aot_gpr_31 = (0x088D63ACu); aot_gpr_5 = (0u | 269u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D63ACu) goto L_088D63AC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D63ACu) goto L_088D63AC; AOT_REGCACHE_SYNC_OUT(); return; L_088D63AC: - aot_gpr_17 = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x088D63BCu); + aot_gpr_31 = (0x088D63BCu); aot_gpr_5 = (0u | 300u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D63BCu) goto L_088D63BC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089B7A84, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D63BCu) goto L_088D63BC; AOT_REGCACHE_SYNC_OUT(); return; L_088D63BC: - aot_gpr_17 = (aot_gpr_17 + ctx.gpr[2]); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_17); + ctx.gpr[17] = (ctx.gpr[17] + aot_gpr_2); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), ctx.gpr[17]); goto L_088D63C4; L_088D63C4: aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x088D63D0u); + aot_gpr_31 = (0x088D63D0u); aot_gpr_5 = (0u | 300u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D63D0u) goto L_088D63D0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089B7A84, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D63D0u) goto L_088D63D0; AOT_REGCACHE_SYNC_OUT(); return; L_088D63D0: - aot_gpr_4 = (aot_gpr_17 + ctx.gpr[2]); + aot_gpr_4 = (ctx.gpr[17] + aot_gpr_2); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_4); aot_gpr_5 = (0u | 5u); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(60), static_cast(0u)); @@ -4442,14 +4443,14 @@ L_088D63D0: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(84), std::bit_cast(ctx.fpr[22])); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(88), std::bit_cast(aot_fpr_12)); aot_fpr_15 = std::bit_cast(std::bit_cast(ctx.fpr[30])); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), std::bit_cast(ctx.fpr[30])); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(20), std::bit_cast(ctx.fpr[30])); aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(80), ctx.gpr[18]); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(61), static_cast(0u)); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(92), static_cast(ctx.gpr[18])); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(113), static_cast(ctx.gpr[18])); { const bool branch_taken = 0u == 0u; - ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(24))); + ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(24))); if (branch_taken) { goto L_088D7650; } @@ -4457,16 +4458,16 @@ L_088D63D0: } L_088D641C: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), ctx.gpr[11]); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23672))); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(24), static_cast(ctx.gpr[18])); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23672))); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(24), static_cast(ctx.gpr[18])); aot_gpr_5 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-23672), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-23672), static_cast(aot_gpr_5)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(52), aot_gpr_4); aot_gpr_4 = (0u | 39243u); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(16), static_cast(ctx.gpr[10])); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(16), static_cast(ctx.gpr[10])); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_4); { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (0u | 39243u); + ctx.gpr[17] = (0u | 39243u); if (branch_taken) { goto L_088D63C4; } @@ -4474,16 +4475,16 @@ L_088D641C: } L_088D6448: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), ctx.gpr[11]); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23672))); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(24), static_cast(ctx.gpr[18])); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23672))); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(24), static_cast(ctx.gpr[18])); aot_gpr_5 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-23672), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-23672), static_cast(aot_gpr_5)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(52), aot_gpr_4); aot_gpr_4 = (0u | 30290u); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(16), static_cast(ctx.gpr[10])); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(16), static_cast(ctx.gpr[10])); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_4); { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (0u | 30290u); + ctx.gpr[17] = (0u | 30290u); if (branch_taken) { goto L_088D63C4; } @@ -4492,21 +4493,21 @@ L_088D6448: L_088D6474: aot_gpr_4 = (0u | 299u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23672))); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(24), static_cast(ctx.gpr[18])); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23672))); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(24), static_cast(ctx.gpr[18])); aot_gpr_5 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-23672), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-23672), static_cast(aot_gpr_5)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(52), aot_gpr_4); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(16), static_cast(ctx.gpr[10])); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(16), static_cast(ctx.gpr[10])); aot_gpr_4 = (ctx.gpr[19] | 0u); - ctx.gpr[31] = (0x088D64A0u); + aot_gpr_31 = (0x088D64A0u); aot_gpr_5 = (0u | 299u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D64A0u) goto L_088D64A0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D64A0u) goto L_088D64A0; AOT_REGCACHE_SYNC_OUT(); return; L_088D64A0: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_2); { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); if (branch_taken) { goto L_088D63C4; } @@ -4515,22 +4516,22 @@ L_088D64A0: L_088D64AC: aot_gpr_4 = (0u | 295u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23672))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23672))); aot_gpr_5 = (0u | 75u); - aot_gpr_6 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-23672), static_cast(aot_gpr_6)); + ctx.gpr[6] = (aot_gpr_4 + static_cast(1)); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-23672), static_cast(ctx.gpr[6])); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(52), aot_gpr_4); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(24), static_cast(ctx.gpr[18])); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(16), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(24), static_cast(ctx.gpr[18])); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(16), static_cast(aot_gpr_5)); aot_gpr_4 = (ctx.gpr[19] | 0u); - ctx.gpr[31] = (0x088D64DCu); + aot_gpr_31 = (0x088D64DCu); aot_gpr_5 = (0u | 295u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D64DCu) goto L_088D64DC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D64DCu) goto L_088D64DC; AOT_REGCACHE_SYNC_OUT(); return; L_088D64DC: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_2); { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); if (branch_taken) { goto L_088D63C4; } @@ -4548,29 +4549,29 @@ L_088D64F0: aot_gpr_4 = (0u | 36u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), aot_gpr_4); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(60), static_cast(0u)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23672))); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(24), static_cast(ctx.gpr[18])); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23672))); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(24), static_cast(ctx.gpr[18])); aot_gpr_5 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-23672), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-23672), static_cast(aot_gpr_5)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(52), aot_gpr_4); aot_gpr_4 = (ctx.gpr[19] | 0u); - ctx.gpr[31] = (0x088D651Cu); + aot_gpr_31 = (0x088D651Cu); aot_gpr_5 = (0u | 36u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D651Cu) goto L_088D651C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D651Cu) goto L_088D651C; AOT_REGCACHE_SYNC_OUT(); return; L_088D651C: - aot_gpr_17 = (ctx.gpr[2] | 0u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), ctx.gpr[2]); - aot_gpr_5 = (aot_gpr_17 >> 3u); - ctx.gpr[31] = (0x088D6530u); + ctx.gpr[17] = (aot_gpr_2 | 0u); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_2); + aot_gpr_5 = (ctx.gpr[17] >> 3u); + aot_gpr_31 = (0x088D6530u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D6530u) goto L_088D6530; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089B7A84, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D6530u) goto L_088D6530; AOT_REGCACHE_SYNC_OUT(); return; L_088D6530: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(26320))); aot_gpr_4 = (0u | 20u); { const std::uint32_t dividend = aot_gpr_5; const std::uint32_t divisor = aot_gpr_4; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } - aot_gpr_4 = (aot_gpr_17 + ctx.gpr[2]); + aot_gpr_4 = (ctx.gpr[17] + aot_gpr_2); aot_gpr_5 = (0u | 7u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), aot_gpr_5); @@ -4580,28 +4581,28 @@ L_088D6530: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(84), std::bit_cast(ctx.fpr[22])); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(88), std::bit_cast(aot_fpr_12)); aot_fpr_15 = std::bit_cast(std::bit_cast(ctx.fpr[30])); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), std::bit_cast(ctx.fpr[30])); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(20), std::bit_cast(ctx.fpr[30])); aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(80), ctx.gpr[18]); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(61), static_cast(0u)); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(92), static_cast(ctx.gpr[18])); - ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(24))); + ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(24))); aot_gpr_5 = (ctx.hi); aot_gpr_5 = (aot_gpr_5 + static_cast(90)); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(16), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(16), static_cast(aot_gpr_5)); if (branch_taken) { goto L_088D7650; } goto L_088D658C; } L_088D658C: - ctx.gpr[31] = (0x088D6594u); + aot_gpr_31 = (0x088D6594u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0048_entry, 48u, 454u, 0x088C63C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D6594u) goto L_088D6594; AOT_REGCACHE_SYNC_OUT(); return; L_088D6594: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088D65B8; @@ -4623,12 +4624,12 @@ L_088D659C: } L_088D65B8: aot_gpr_4 = (ctx.gpr[19] | 0u); - ctx.gpr[31] = (0x088D65C4u); + aot_gpr_31 = (0x088D65C4u); aot_gpr_5 = (0u | 16u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 481u, 0x0880A288u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D65C4u) goto L_088D65C4; AOT_REGCACHE_SYNC_OUT(); return; L_088D65C4: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_088D65F4; @@ -4637,7 +4638,7 @@ L_088D65C4: } L_088D65CC: aot_gpr_4 = (ctx.gpr[19] | 0u); - ctx.gpr[31] = (0x088D65D8u); + aot_gpr_31 = (0x088D65D8u); aot_gpr_5 = (0u | 16u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 475u, 0x0880A244u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D65D8u) goto L_088D65D8; AOT_REGCACHE_SYNC_OUT(); return; @@ -4656,17 +4657,17 @@ L_088D65D8: } L_088D65F4: aot_gpr_4 = (ctx.gpr[19] | 0u); - ctx.gpr[31] = (0x088D6600u); + aot_gpr_31 = (0x088D6600u); aot_gpr_5 = (0u | 16u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 481u, 0x0880A288u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D6600u) goto L_088D6600; AOT_REGCACHE_SYNC_OUT(); return; L_088D6600: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(48))); aot_gpr_5 = (0u | 2u); - aot_gpr_6 = (aot_gpr_4 << 6u); + ctx.gpr[6] = (aot_gpr_4 << 6u); aot_gpr_4 = (aot_gpr_4 << 3u); - ctx.gpr[8] = (aot_gpr_6 - aot_gpr_4); - { const bool branch_taken = ctx.gpr[2] != aot_gpr_5; + ctx.gpr[8] = (ctx.gpr[6] - aot_gpr_4); + { const bool branch_taken = aot_gpr_2 != aot_gpr_5; ctx.gpr[8] = (aot_gpr_16 + ctx.gpr[8]); if (branch_taken) { goto L_088D6624; @@ -4682,7 +4683,7 @@ L_088D661C: goto L_088D6624; } L_088D6624: - aot_gpr_4 = (ctx.gpr[8] + aot_gpr_17); + aot_gpr_4 = (ctx.gpr[8] + ctx.gpr[17]); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(6276))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_14 < ctx.fpr[24])) ? 0x00800000u : 0u); // nop @@ -4716,16 +4717,16 @@ L_088D6658: goto L_088D6664; } L_088D6664: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(28))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(28))); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[22])); ctx.gpr[9] = (15800u << 16u); - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(8))); + ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(8))); ctx.gpr[9] = (ctx.gpr[9] | 20972u); aot_gpr_4 = (aot_gpr_16 | 0u); ctx.fpr[13] = std::bit_cast(ctx.gpr[9]); ctx.gpr[7] = (0u | 6u); - aot_gpr_5 = (aot_gpr_6 | 0u); - ctx.gpr[31] = (0x088D6690u); + aot_gpr_5 = (ctx.gpr[6] | 0u); + aot_gpr_31 = (0x088D6690u); ctx.gpr[8] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0130_entry, 130u, 413u, 0x08A0E6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D6690u) goto L_088D6690; AOT_REGCACHE_SYNC_OUT(); return; @@ -4736,14 +4737,14 @@ L_088D6690: aot_gpr_4 = (0u | 68u); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(60), static_cast(aot_gpr_5)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(52), aot_gpr_4); - aot_gpr_17 = (0u | 100u); + ctx.gpr[17] = (0u | 100u); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x088D66B8u); + aot_gpr_31 = (0x088D66B8u); aot_gpr_5 = (0u | 500u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D66B8u) goto L_088D66B8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089B7A84, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D66B8u) goto L_088D66B8; AOT_REGCACHE_SYNC_OUT(); return; L_088D66B8: - aot_gpr_4 = (ctx.gpr[2] + static_cast(22000)); + aot_gpr_4 = (aot_gpr_2 + static_cast(22000)); aot_gpr_5 = (0u | 2u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), aot_gpr_5); @@ -4754,9 +4755,9 @@ L_088D66B8: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(84), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(88), std::bit_cast(ctx.fpr[13])); aot_fpr_14 = std::bit_cast(aot_gpr_4); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(16), static_cast(aot_gpr_17)); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(16), static_cast(ctx.gpr[17])); aot_fpr_15 = std::bit_cast(std::bit_cast(ctx.fpr[28])); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), std::bit_cast(ctx.fpr[28])); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(20), std::bit_cast(ctx.fpr[28])); aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(80), 0u); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(61), static_cast(0u)); @@ -4764,19 +4765,19 @@ L_088D66B8: aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(92), static_cast(0u)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(116), aot_gpr_5); { const bool branch_taken = 0u == 0u; - ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(24))); + ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(24))); if (branch_taken) { goto L_088D7650; } goto L_088D6710; } L_088D6710: - ctx.gpr[31] = (0x088D6718u); + aot_gpr_31 = (0x088D6718u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0048_entry, 48u, 454u, 0x088C63C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D6718u) goto L_088D6718; AOT_REGCACHE_SYNC_OUT(); return; L_088D6718: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088D673C; @@ -4798,12 +4799,12 @@ L_088D6720: } L_088D673C: aot_gpr_4 = (ctx.gpr[19] | 0u); - ctx.gpr[31] = (0x088D6748u); + aot_gpr_31 = (0x088D6748u); aot_gpr_5 = (0u | 16u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 481u, 0x0880A288u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D6748u) goto L_088D6748; AOT_REGCACHE_SYNC_OUT(); return; L_088D6748: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_088D6778; @@ -4812,7 +4813,7 @@ L_088D6748: } L_088D6750: aot_gpr_4 = (ctx.gpr[19] | 0u); - ctx.gpr[31] = (0x088D675Cu); + aot_gpr_31 = (0x088D675Cu); aot_gpr_5 = (0u | 16u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 475u, 0x0880A244u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D675Cu) goto L_088D675C; AOT_REGCACHE_SYNC_OUT(); return; @@ -4831,13 +4832,13 @@ L_088D675C: } L_088D6778: aot_gpr_4 = (ctx.gpr[19] | 0u); - ctx.gpr[31] = (0x088D6784u); + aot_gpr_31 = (0x088D6784u); aot_gpr_5 = (0u | 16u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 481u, 0x0880A288u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D6784u) goto L_088D6784; AOT_REGCACHE_SYNC_OUT(); return; L_088D6784: aot_gpr_4 = (0u | 2u); - { const bool branch_taken = ctx.gpr[2] != aot_gpr_4; + { const bool branch_taken = aot_gpr_2 != aot_gpr_4; aot_gpr_4 = (0u | 5921u); if (branch_taken) { goto L_088D67AC; @@ -4875,8 +4876,8 @@ L_088D67AC: aot_gpr_4 = (0u | 100u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(88), std::bit_cast(ctx.fpr[13])); aot_fpr_15 = std::bit_cast(std::bit_cast(ctx.fpr[28])); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(16), static_cast(aot_gpr_4)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), std::bit_cast(ctx.fpr[28])); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(16), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(20), std::bit_cast(ctx.fpr[28])); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(80), 0u); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(61), static_cast(0u)); aot_gpr_4 = (0u | 5u); @@ -4884,7 +4885,7 @@ L_088D67AC: aot_gpr_5 = (18130u << 16u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(116), aot_gpr_4); aot_gpr_5 = (aot_gpr_5 | 61440u); - ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(24))); + ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(24))); aot_fpr_14 = std::bit_cast(aot_gpr_5); { const bool branch_taken = 0u == 0u; aot_gpr_4 = (0u | 27000u); @@ -4894,13 +4895,13 @@ L_088D67AC: goto L_088D6824; } L_088D6824: - ctx.gpr[31] = (0x088D682Cu); + aot_gpr_31 = (0x088D682Cu); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0048_entry, 48u, 454u, 0x088C63C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D682Cu) goto L_088D682C; AOT_REGCACHE_SYNC_OUT(); return; L_088D682C: - if (ctx.gpr[2] == 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(28))); + if (aot_gpr_2 == 0u) { + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(28))); goto L_088D6850; } goto L_088D6834; @@ -4945,12 +4946,12 @@ L_088D686C: } L_088D6888: aot_gpr_4 = (ctx.gpr[19] | 0u); - ctx.gpr[31] = (0x088D6894u); + aot_gpr_31 = (0x088D6894u); aot_gpr_5 = (0u | 16u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 481u, 0x0880A288u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D6894u) goto L_088D6894; AOT_REGCACHE_SYNC_OUT(); return; L_088D6894: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_088D68C4; @@ -4959,7 +4960,7 @@ L_088D6894: } L_088D689C: aot_gpr_4 = (ctx.gpr[19] | 0u); - ctx.gpr[31] = (0x088D68A8u); + aot_gpr_31 = (0x088D68A8u); aot_gpr_5 = (0u | 16u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 475u, 0x0880A244u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D68A8u) goto L_088D68A8; AOT_REGCACHE_SYNC_OUT(); return; @@ -4978,13 +4979,13 @@ L_088D68A8: } L_088D68C4: aot_gpr_4 = (ctx.gpr[19] | 0u); - ctx.gpr[31] = (0x088D68D0u); + aot_gpr_31 = (0x088D68D0u); aot_gpr_5 = (0u | 16u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 481u, 0x0880A288u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D68D0u) goto L_088D68D0; AOT_REGCACHE_SYNC_OUT(); return; L_088D68D0: aot_gpr_4 = (0u | 2u); - { const bool branch_taken = ctx.gpr[2] != aot_gpr_4; + { const bool branch_taken = aot_gpr_2 != aot_gpr_4; aot_gpr_4 = (0u | 5920u); if (branch_taken) { goto L_088D68F8; @@ -5023,8 +5024,8 @@ L_088D68F8: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(88), std::bit_cast(aot_fpr_12)); aot_gpr_5 = (aot_gpr_5 | 16384u); aot_fpr_15 = std::bit_cast(aot_gpr_5); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(16), static_cast(aot_gpr_4)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), std::bit_cast(aot_fpr_15)); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(16), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(20), std::bit_cast(aot_fpr_15)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(80), 0u); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(61), static_cast(0u)); aot_gpr_4 = (0u | 5u); @@ -5032,7 +5033,7 @@ L_088D68F8: aot_gpr_5 = (18130u << 16u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(116), aot_gpr_4); aot_gpr_5 = (aot_gpr_5 | 61440u); - ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(24))); + ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(24))); aot_fpr_14 = std::bit_cast(aot_gpr_5); { const bool branch_taken = 0u == 0u; aot_gpr_4 = (0u | 27000u); @@ -5066,8 +5067,8 @@ L_088D6994: goto L_088D69A0; L_088D69A0: aot_gpr_5 = (aot_gpr_4 & 255u); - aot_gpr_6 = (0u | 3u); - if (aot_gpr_5 != aot_gpr_6) { + ctx.gpr[6] = (0u | 3u); + if (aot_gpr_5 != ctx.gpr[6]) { aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(26336))); goto L_088D6AB4; } @@ -5121,22 +5122,22 @@ L_088D69F8: L_088D6A04: aot_gpr_5 = (aot_gpr_4 | 0u); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(60), static_cast(0u)); - ctx.gpr[31] = (0x088D6A14u); + aot_gpr_31 = (0x088D6A14u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D6A14u) goto L_088D6A14; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D6A14u) goto L_088D6A14; AOT_REGCACHE_SYNC_OUT(); return; L_088D6A14: - aot_gpr_17 = (ctx.gpr[2] | 0u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), ctx.gpr[2]); - aot_gpr_5 = (aot_gpr_17 >> 5u); - ctx.gpr[31] = (0x088D6A28u); + ctx.gpr[17] = (aot_gpr_2 | 0u); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_2); + aot_gpr_5 = (ctx.gpr[17] >> 5u); + aot_gpr_31 = (0x088D6A28u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D6A28u) goto L_088D6A28; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089B7A84, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D6A28u) goto L_088D6A28; AOT_REGCACHE_SYNC_OUT(); return; L_088D6A28: - aot_gpr_4 = (aot_gpr_17 + ctx.gpr[2]); + aot_gpr_4 = (ctx.gpr[17] + aot_gpr_2); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23672))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23672))); { const bool branch_taken = 0u == 0u; aot_gpr_5 = (aot_gpr_4 + static_cast(1)); if (branch_taken) { @@ -5150,22 +5151,22 @@ L_088D6A3C: aot_gpr_5 = (aot_gpr_4 & 1u); aot_gpr_5 = (aot_gpr_5 + static_cast(214)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), aot_gpr_5); - ctx.gpr[31] = (0x088D6A58u); + aot_gpr_31 = (0x088D6A58u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D6A58u) goto L_088D6A58; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D6A58u) goto L_088D6A58; AOT_REGCACHE_SYNC_OUT(); return; L_088D6A58: - aot_gpr_17 = (ctx.gpr[2] | 0u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), ctx.gpr[2]); - aot_gpr_5 = (aot_gpr_17 >> 5u); - ctx.gpr[31] = (0x088D6A6Cu); + ctx.gpr[17] = (aot_gpr_2 | 0u); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_2); + aot_gpr_5 = (ctx.gpr[17] >> 5u); + aot_gpr_31 = (0x088D6A6Cu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D6A6Cu) goto L_088D6A6C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089B7A84, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D6A6Cu) goto L_088D6A6C; AOT_REGCACHE_SYNC_OUT(); return; L_088D6A6C: - aot_gpr_4 = (aot_gpr_17 + ctx.gpr[2]); + aot_gpr_4 = (ctx.gpr[17] + aot_gpr_2); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23672))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23672))); { const bool branch_taken = 0u == 0u; aot_gpr_5 = (aot_gpr_4 + static_cast(1)); if (branch_taken) { @@ -5178,16 +5179,16 @@ L_088D6A80: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), aot_gpr_4); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(60), static_cast(0u)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x088D6A98u); + aot_gpr_31 = (0x088D6A98u); aot_gpr_5 = (0u | 2000u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D6A98u) goto L_088D6A98; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089B7A84, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D6A98u) goto L_088D6A98; AOT_REGCACHE_SYNC_OUT(); return; L_088D6A98: - aot_gpr_4 = (ctx.gpr[2] + static_cast(22000)); + aot_gpr_4 = (aot_gpr_2 + static_cast(22000)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_4); aot_gpr_5 = (0u | 1u); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23672))); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(25), static_cast(aot_gpr_5)); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23672))); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(25), static_cast(aot_gpr_5)); { const bool branch_taken = 0u == 0u; aot_gpr_5 = (aot_gpr_4 + static_cast(1)); if (branch_taken) { @@ -5202,37 +5203,37 @@ L_088D6AB4: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (ctx.hi); aot_gpr_5 = (aot_gpr_5 + static_cast(119)); - ctx.gpr[31] = (0x088D6AD4u); + aot_gpr_31 = (0x088D6AD4u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D6AD4u) goto L_088D6AD4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D6AD4u) goto L_088D6AD4; AOT_REGCACHE_SYNC_OUT(); return; L_088D6AD4: - aot_gpr_17 = (ctx.gpr[2] | 0u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), ctx.gpr[2]); - aot_gpr_5 = (aot_gpr_17 >> 4u); - ctx.gpr[31] = (0x088D6AE8u); + ctx.gpr[17] = (aot_gpr_2 | 0u); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_2); + aot_gpr_5 = (ctx.gpr[17] >> 4u); + aot_gpr_31 = (0x088D6AE8u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D6AE8u) goto L_088D6AE8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089B7A84, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D6AE8u) goto L_088D6AE8; AOT_REGCACHE_SYNC_OUT(); return; L_088D6AE8: - aot_gpr_4 = (aot_gpr_17 + ctx.gpr[2]); + aot_gpr_4 = (ctx.gpr[17] + aot_gpr_2); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23672))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23672))); aot_gpr_5 = (aot_gpr_4 + static_cast(1)); goto L_088D6AF8; L_088D6AF8: - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-23672), static_cast(aot_gpr_5)); - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(26328))); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-23672), static_cast(aot_gpr_5)); + ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(26328))); aot_gpr_5 = (0u | 20u); - { const std::uint32_t dividend = aot_gpr_6; const std::uint32_t divisor = aot_gpr_5; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } + { const std::uint32_t dividend = ctx.gpr[6]; const std::uint32_t divisor = aot_gpr_5; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(52), aot_gpr_4); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(24), static_cast(ctx.gpr[18])); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(24), static_cast(ctx.gpr[18])); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), ctx.gpr[30]); aot_gpr_4 = (16880u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(84), std::bit_cast(ctx.fpr[22])); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(88), std::bit_cast(aot_fpr_12)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), std::bit_cast(ctx.fpr[30])); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(20), std::bit_cast(ctx.fpr[30])); aot_fpr_15 = std::bit_cast(std::bit_cast(ctx.fpr[30])); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(80), ctx.gpr[18]); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(61), static_cast(0u)); @@ -5240,12 +5241,12 @@ L_088D6AF8: aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(92), static_cast(ctx.gpr[18])); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(113), static_cast(ctx.gpr[18])); aot_fpr_14 = std::bit_cast(aot_gpr_4); - ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(24))); + ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(24))); aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); aot_gpr_5 = (ctx.hi); aot_gpr_5 = (aot_gpr_5 + static_cast(100)); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(16), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(16), static_cast(aot_gpr_5)); if (branch_taken) { goto L_088D7650; } @@ -5263,7 +5264,7 @@ L_088D6B5C: } L_088D6B6C: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), ctx.gpr[15]); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_2); { const bool branch_taken = 0u == 0u; aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(6276))); if (branch_taken) { @@ -5293,7 +5294,7 @@ L_088D6B8C: } L_088D6B9C: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), ctx.gpr[14]); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_2); { const bool branch_taken = 0u == 0u; aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(6276))); if (branch_taken) { @@ -5323,7 +5324,7 @@ L_088D6BBC: } L_088D6BCC: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), ctx.gpr[13]); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_2); { const bool branch_taken = 0u == 0u; aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(6276))); if (branch_taken) { @@ -5353,7 +5354,7 @@ L_088D6BEC: } L_088D6BFC: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), ctx.gpr[12]); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_2); { const bool branch_taken = 0u == 0u; aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(6276))); if (branch_taken) { @@ -5403,38 +5404,38 @@ L_088D6C50: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (ctx.hi); aot_gpr_5 = (aot_gpr_5 + static_cast(119)); - ctx.gpr[31] = (0x088D6C70u); + aot_gpr_31 = (0x088D6C70u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D6C70u) goto L_088D6C70; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D6C70u) goto L_088D6C70; AOT_REGCACHE_SYNC_OUT(); return; L_088D6C70: - aot_gpr_17 = (ctx.gpr[2] | 0u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), ctx.gpr[2]); - aot_gpr_5 = (aot_gpr_17 >> 4u); - ctx.gpr[31] = (0x088D6C84u); + ctx.gpr[17] = (aot_gpr_2 | 0u); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_2); + aot_gpr_5 = (ctx.gpr[17] >> 4u); + aot_gpr_31 = (0x088D6C84u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D6C84u) goto L_088D6C84; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089B7A84, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D6C84u) goto L_088D6C84; AOT_REGCACHE_SYNC_OUT(); return; L_088D6C84: - aot_gpr_4 = (aot_gpr_17 + ctx.gpr[2]); + aot_gpr_4 = (ctx.gpr[17] + aot_gpr_2); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_4); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(60), static_cast(0u)); goto L_088D6C90; L_088D6C90: - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23672))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23672))); aot_gpr_5 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-23672), static_cast(aot_gpr_5)); - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(26332))); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-23672), static_cast(aot_gpr_5)); + ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(26332))); aot_gpr_5 = (0u | 26u); - { const std::uint32_t dividend = aot_gpr_6; const std::uint32_t divisor = aot_gpr_5; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } + { const std::uint32_t dividend = ctx.gpr[6]; const std::uint32_t divisor = aot_gpr_5; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(52), aot_gpr_4); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(24), static_cast(ctx.gpr[18])); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(24), static_cast(ctx.gpr[18])); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), ctx.gpr[30]); aot_gpr_4 = (16880u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(84), std::bit_cast(ctx.fpr[22])); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(88), std::bit_cast(aot_fpr_12)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), std::bit_cast(ctx.fpr[30])); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(20), std::bit_cast(ctx.fpr[30])); aot_fpr_15 = std::bit_cast(std::bit_cast(ctx.fpr[30])); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(80), ctx.gpr[18]); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(61), static_cast(0u)); @@ -5442,12 +5443,12 @@ L_088D6C90: aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(92), static_cast(ctx.gpr[18])); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(113), static_cast(ctx.gpr[18])); aot_fpr_14 = std::bit_cast(aot_gpr_4); - ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(24))); + ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(24))); aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); aot_gpr_5 = (ctx.hi); aot_gpr_5 = (aot_gpr_5 + static_cast(100)); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(16), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(16), static_cast(aot_gpr_5)); if (branch_taken) { goto L_088D7650; } @@ -5456,18 +5457,18 @@ L_088D6C90: L_088D6CFC: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 238u); - aot_gpr_6 = (ctx.gpr[23] | 0u); + ctx.gpr[6] = (ctx.gpr[23] | 0u); ctx.gpr[7] = (ctx.gpr[22] | 0u); ctx.gpr[8] = (ctx.gpr[21] | 0u); - ctx.gpr[31] = (0x088D6D18u); + aot_gpr_31 = (0x088D6D18u); ctx.gpr[9] = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0048_entry, 48u, 392u, 0x088C5F88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D6D18u) goto L_088D6D18; AOT_REGCACHE_SYNC_OUT(); return; L_088D6D18: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(68))); - ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(24))); + ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(24))); aot_fpr_14 = std::bit_cast(aot_gpr_4); - aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(20))); { const bool branch_taken = 0u == 0u; aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); if (branch_taken) { @@ -5478,18 +5479,18 @@ L_088D6D18: L_088D6D30: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 239u); - aot_gpr_6 = (ctx.gpr[23] | 0u); + ctx.gpr[6] = (ctx.gpr[23] | 0u); ctx.gpr[7] = (ctx.gpr[22] | 0u); ctx.gpr[8] = (ctx.gpr[21] | 0u); - ctx.gpr[31] = (0x088D6D4Cu); + aot_gpr_31 = (0x088D6D4Cu); ctx.gpr[9] = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0048_entry, 48u, 392u, 0x088C5F88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D6D4Cu) goto L_088D6D4C; AOT_REGCACHE_SYNC_OUT(); return; L_088D6D4C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(68))); - ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(24))); + ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(24))); aot_fpr_14 = std::bit_cast(aot_gpr_4); - aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(20))); { const bool branch_taken = 0u == 0u; aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); if (branch_taken) { @@ -5500,18 +5501,18 @@ L_088D6D4C: L_088D6D64: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 240u); - aot_gpr_6 = (ctx.gpr[23] | 0u); + ctx.gpr[6] = (ctx.gpr[23] | 0u); ctx.gpr[7] = (ctx.gpr[22] | 0u); ctx.gpr[8] = (ctx.gpr[21] | 0u); - ctx.gpr[31] = (0x088D6D80u); + aot_gpr_31 = (0x088D6D80u); ctx.gpr[9] = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0048_entry, 48u, 392u, 0x088C5F88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D6D80u) goto L_088D6D80; AOT_REGCACHE_SYNC_OUT(); return; L_088D6D80: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(68))); - ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(24))); + ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(24))); aot_fpr_14 = std::bit_cast(aot_gpr_4); - aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(20))); { const bool branch_taken = 0u == 0u; aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); if (branch_taken) { @@ -5522,18 +5523,18 @@ L_088D6D80: L_088D6D98: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 241u); - aot_gpr_6 = (ctx.gpr[23] | 0u); + ctx.gpr[6] = (ctx.gpr[23] | 0u); ctx.gpr[7] = (ctx.gpr[22] | 0u); ctx.gpr[8] = (ctx.gpr[21] | 0u); - ctx.gpr[31] = (0x088D6DB4u); + aot_gpr_31 = (0x088D6DB4u); ctx.gpr[9] = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0048_entry, 48u, 392u, 0x088C5F88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D6DB4u) goto L_088D6DB4; AOT_REGCACHE_SYNC_OUT(); return; L_088D6DB4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(68))); - ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(24))); + ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(24))); aot_fpr_14 = std::bit_cast(aot_gpr_4); - aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(20))); { const bool branch_taken = 0u == 0u; aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); if (branch_taken) { @@ -5544,18 +5545,18 @@ L_088D6DB4: L_088D6DCC: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 242u); - aot_gpr_6 = (ctx.gpr[23] | 0u); + ctx.gpr[6] = (ctx.gpr[23] | 0u); ctx.gpr[7] = (ctx.gpr[22] | 0u); ctx.gpr[8] = (ctx.gpr[21] | 0u); - ctx.gpr[31] = (0x088D6DE8u); + aot_gpr_31 = (0x088D6DE8u); ctx.gpr[9] = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0048_entry, 48u, 392u, 0x088C5F88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D6DE8u) goto L_088D6DE8; AOT_REGCACHE_SYNC_OUT(); return; L_088D6DE8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(68))); - ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(24))); + ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(24))); aot_fpr_14 = std::bit_cast(aot_gpr_4); - aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(20))); { const bool branch_taken = 0u == 0u; aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); if (branch_taken) { @@ -5566,18 +5567,18 @@ L_088D6DE8: L_088D6E00: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 243u); - aot_gpr_6 = (ctx.gpr[23] | 0u); + ctx.gpr[6] = (ctx.gpr[23] | 0u); ctx.gpr[7] = (ctx.gpr[22] | 0u); ctx.gpr[8] = (ctx.gpr[21] | 0u); - ctx.gpr[31] = (0x088D6E1Cu); + aot_gpr_31 = (0x088D6E1Cu); ctx.gpr[9] = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0048_entry, 48u, 392u, 0x088C5F88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D6E1Cu) goto L_088D6E1C; AOT_REGCACHE_SYNC_OUT(); return; L_088D6E1C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(68))); - ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(24))); + ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(24))); aot_fpr_14 = std::bit_cast(aot_gpr_4); - aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(20))); { const bool branch_taken = 0u == 0u; aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); if (branch_taken) { @@ -5588,18 +5589,18 @@ L_088D6E1C: L_088D6E34: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 244u); - aot_gpr_6 = (ctx.gpr[23] | 0u); + ctx.gpr[6] = (ctx.gpr[23] | 0u); ctx.gpr[7] = (ctx.gpr[22] | 0u); ctx.gpr[8] = (ctx.gpr[21] | 0u); - ctx.gpr[31] = (0x088D6E50u); + aot_gpr_31 = (0x088D6E50u); ctx.gpr[9] = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0048_entry, 48u, 392u, 0x088C5F88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D6E50u) goto L_088D6E50; AOT_REGCACHE_SYNC_OUT(); return; L_088D6E50: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(68))); - ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(24))); + ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(24))); aot_fpr_14 = std::bit_cast(aot_gpr_4); - aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(20))); { const bool branch_taken = 0u == 0u; aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); if (branch_taken) { @@ -5610,18 +5611,18 @@ L_088D6E50: L_088D6E68: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 245u); - aot_gpr_6 = (ctx.gpr[23] | 0u); + ctx.gpr[6] = (ctx.gpr[23] | 0u); ctx.gpr[7] = (ctx.gpr[22] | 0u); ctx.gpr[8] = (ctx.gpr[21] | 0u); - ctx.gpr[31] = (0x088D6E84u); + aot_gpr_31 = (0x088D6E84u); ctx.gpr[9] = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0048_entry, 48u, 392u, 0x088C5F88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D6E84u) goto L_088D6E84; AOT_REGCACHE_SYNC_OUT(); return; L_088D6E84: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(68))); - ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(24))); + ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(24))); aot_fpr_14 = std::bit_cast(aot_gpr_4); - aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(20))); { const bool branch_taken = 0u == 0u; aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); if (branch_taken) { @@ -5632,18 +5633,18 @@ L_088D6E84: L_088D6E9C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 178u); - aot_gpr_6 = (ctx.gpr[23] | 0u); + ctx.gpr[6] = (ctx.gpr[23] | 0u); ctx.gpr[7] = (ctx.gpr[22] | 0u); ctx.gpr[8] = (ctx.gpr[21] | 0u); - ctx.gpr[31] = (0x088D6EB8u); + aot_gpr_31 = (0x088D6EB8u); ctx.gpr[9] = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0048_entry, 48u, 392u, 0x088C5F88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D6EB8u) goto L_088D6EB8; AOT_REGCACHE_SYNC_OUT(); return; L_088D6EB8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(68))); - ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(24))); + ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(24))); aot_fpr_14 = std::bit_cast(aot_gpr_4); - aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(20))); { const bool branch_taken = 0u == 0u; aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); if (branch_taken) { @@ -5654,18 +5655,18 @@ L_088D6EB8: L_088D6ED0: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 179u); - aot_gpr_6 = (ctx.gpr[23] | 0u); + ctx.gpr[6] = (ctx.gpr[23] | 0u); ctx.gpr[7] = (ctx.gpr[22] | 0u); ctx.gpr[8] = (ctx.gpr[21] | 0u); - ctx.gpr[31] = (0x088D6EECu); + aot_gpr_31 = (0x088D6EECu); ctx.gpr[9] = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0048_entry, 48u, 392u, 0x088C5F88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D6EECu) goto L_088D6EEC; AOT_REGCACHE_SYNC_OUT(); return; L_088D6EEC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(68))); - ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(24))); + ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(24))); aot_fpr_14 = std::bit_cast(aot_gpr_4); - aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(20))); { const bool branch_taken = 0u == 0u; aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); if (branch_taken) { @@ -5676,18 +5677,18 @@ L_088D6EEC: L_088D6F04: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 180u); - aot_gpr_6 = (ctx.gpr[23] | 0u); + ctx.gpr[6] = (ctx.gpr[23] | 0u); ctx.gpr[7] = (ctx.gpr[22] | 0u); ctx.gpr[8] = (ctx.gpr[21] | 0u); - ctx.gpr[31] = (0x088D6F20u); + aot_gpr_31 = (0x088D6F20u); ctx.gpr[9] = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0048_entry, 48u, 392u, 0x088C5F88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D6F20u) goto L_088D6F20; AOT_REGCACHE_SYNC_OUT(); return; L_088D6F20: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(68))); - ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(24))); + ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(24))); aot_fpr_14 = std::bit_cast(aot_gpr_4); - aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(20))); { const bool branch_taken = 0u == 0u; aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); if (branch_taken) { @@ -5698,18 +5699,18 @@ L_088D6F20: L_088D6F38: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 181u); - aot_gpr_6 = (ctx.gpr[23] | 0u); + ctx.gpr[6] = (ctx.gpr[23] | 0u); ctx.gpr[7] = (ctx.gpr[22] | 0u); ctx.gpr[8] = (ctx.gpr[21] | 0u); - ctx.gpr[31] = (0x088D6F54u); + aot_gpr_31 = (0x088D6F54u); ctx.gpr[9] = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0048_entry, 48u, 392u, 0x088C5F88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D6F54u) goto L_088D6F54; AOT_REGCACHE_SYNC_OUT(); return; L_088D6F54: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(68))); - ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(24))); + ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(24))); aot_fpr_14 = std::bit_cast(aot_gpr_4); - aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(20))); { const bool branch_taken = 0u == 0u; aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); if (branch_taken) { @@ -5720,18 +5721,18 @@ L_088D6F54: L_088D6F6C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 182u); - aot_gpr_6 = (ctx.gpr[23] | 0u); + ctx.gpr[6] = (ctx.gpr[23] | 0u); ctx.gpr[7] = (ctx.gpr[22] | 0u); ctx.gpr[8] = (ctx.gpr[21] | 0u); - ctx.gpr[31] = (0x088D6F88u); + aot_gpr_31 = (0x088D6F88u); ctx.gpr[9] = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0048_entry, 48u, 392u, 0x088C5F88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D6F88u) goto L_088D6F88; AOT_REGCACHE_SYNC_OUT(); return; L_088D6F88: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(68))); - ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(24))); + ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(24))); aot_fpr_14 = std::bit_cast(aot_gpr_4); - aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(20))); { const bool branch_taken = 0u == 0u; aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); if (branch_taken) { @@ -5742,18 +5743,18 @@ L_088D6F88: L_088D6FA0: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 183u); - aot_gpr_6 = (ctx.gpr[23] | 0u); + ctx.gpr[6] = (ctx.gpr[23] | 0u); ctx.gpr[7] = (ctx.gpr[22] | 0u); ctx.gpr[8] = (ctx.gpr[21] | 0u); - ctx.gpr[31] = (0x088D6FBCu); + aot_gpr_31 = (0x088D6FBCu); ctx.gpr[9] = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0048_entry, 48u, 392u, 0x088C5F88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D6FBCu) goto L_088D6FBC; AOT_REGCACHE_SYNC_OUT(); return; L_088D6FBC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(68))); - ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(24))); + ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(24))); aot_fpr_14 = std::bit_cast(aot_gpr_4); - aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(20))); { const bool branch_taken = 0u == 0u; aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); if (branch_taken) { @@ -5764,18 +5765,18 @@ L_088D6FBC: L_088D6FD4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 184u); - aot_gpr_6 = (ctx.gpr[23] | 0u); + ctx.gpr[6] = (ctx.gpr[23] | 0u); ctx.gpr[7] = (ctx.gpr[22] | 0u); ctx.gpr[8] = (ctx.gpr[21] | 0u); - ctx.gpr[31] = (0x088D6FF0u); + aot_gpr_31 = (0x088D6FF0u); ctx.gpr[9] = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0048_entry, 48u, 392u, 0x088C5F88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D6FF0u) goto L_088D6FF0; AOT_REGCACHE_SYNC_OUT(); return; L_088D6FF0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(68))); - ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(24))); + ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(24))); aot_fpr_14 = std::bit_cast(aot_gpr_4); - aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(20))); { const bool branch_taken = 0u == 0u; aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); if (branch_taken) { @@ -5786,18 +5787,18 @@ L_088D6FF0: L_088D7008: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 185u); - aot_gpr_6 = (ctx.gpr[23] | 0u); + ctx.gpr[6] = (ctx.gpr[23] | 0u); ctx.gpr[7] = (ctx.gpr[22] | 0u); ctx.gpr[8] = (ctx.gpr[21] | 0u); - ctx.gpr[31] = (0x088D7024u); + aot_gpr_31 = (0x088D7024u); ctx.gpr[9] = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0048_entry, 48u, 392u, 0x088C5F88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D7024u) goto L_088D7024; AOT_REGCACHE_SYNC_OUT(); return; L_088D7024: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(68))); - ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(24))); + ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(24))); aot_fpr_14 = std::bit_cast(aot_gpr_4); - aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(20))); { const bool branch_taken = 0u == 0u; aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); if (branch_taken) { @@ -5806,24 +5807,24 @@ L_088D7024: goto L_088D703C; } L_088D703C: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(100))); + aot_gpr_2 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(100))); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 12u); - aot_gpr_6 = (ctx.gpr[23] | 0u); + ctx.gpr[6] = (ctx.gpr[23] | 0u); ctx.gpr[7] = (ctx.gpr[22] | 0u); ctx.gpr[8] = (ctx.gpr[21] | 0u); ctx.gpr[9] = (ctx.gpr[20] | 0u); ctx.gpr[10] = (0u | 16500u); ctx.gpr[11] = (0u | 127u); - ctx.gpr[31] = (0x088D7068u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[2]); + aot_gpr_31 = (0x088D7068u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), aot_gpr_2); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0048_entry, 48u, 393u, 0x088C6004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D7068u) goto L_088D7068; AOT_REGCACHE_SYNC_OUT(); return; L_088D7068: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(68))); - ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(24))); + ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(24))); aot_fpr_14 = std::bit_cast(aot_gpr_4); - aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(20))); { const bool branch_taken = 0u == 0u; aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); if (branch_taken) { @@ -5832,24 +5833,24 @@ L_088D7068: goto L_088D7080; } L_088D7080: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(96))); + aot_gpr_2 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(96))); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 13u); - aot_gpr_6 = (ctx.gpr[23] | 0u); + ctx.gpr[6] = (ctx.gpr[23] | 0u); ctx.gpr[7] = (ctx.gpr[22] | 0u); ctx.gpr[8] = (ctx.gpr[21] | 0u); ctx.gpr[9] = (ctx.gpr[20] | 0u); ctx.gpr[10] = (0u | 16500u); ctx.gpr[11] = (0u | 127u); - ctx.gpr[31] = (0x088D70ACu); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[2]); + aot_gpr_31 = (0x088D70ACu); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), aot_gpr_2); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0048_entry, 48u, 393u, 0x088C6004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D70ACu) goto L_088D70AC; AOT_REGCACHE_SYNC_OUT(); return; L_088D70AC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(68))); - ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(24))); + ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(24))); aot_fpr_14 = std::bit_cast(aot_gpr_4); - aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(20))); { const bool branch_taken = 0u == 0u; aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); if (branch_taken) { @@ -5858,24 +5859,24 @@ L_088D70AC: goto L_088D70C4; } L_088D70C4: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(92))); + aot_gpr_2 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(92))); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 167u); - aot_gpr_6 = (ctx.gpr[23] | 0u); + ctx.gpr[6] = (ctx.gpr[23] | 0u); ctx.gpr[7] = (ctx.gpr[22] | 0u); ctx.gpr[8] = (ctx.gpr[21] | 0u); ctx.gpr[9] = (ctx.gpr[20] | 0u); ctx.gpr[10] = (0u | 22000u); ctx.gpr[11] = (0u | 127u); - ctx.gpr[31] = (0x088D70F0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[2]); + aot_gpr_31 = (0x088D70F0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), aot_gpr_2); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0048_entry, 48u, 393u, 0x088C6004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D70F0u) goto L_088D70F0; AOT_REGCACHE_SYNC_OUT(); return; L_088D70F0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(68))); - ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(24))); + ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(24))); aot_fpr_14 = std::bit_cast(aot_gpr_4); - aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(20))); { const bool branch_taken = 0u == 0u; aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); if (branch_taken) { @@ -5884,24 +5885,24 @@ L_088D70F0: goto L_088D7108; } L_088D7108: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(88))); + aot_gpr_2 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(88))); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 230u); - aot_gpr_6 = (ctx.gpr[23] | 0u); + ctx.gpr[6] = (ctx.gpr[23] | 0u); ctx.gpr[7] = (ctx.gpr[22] | 0u); ctx.gpr[8] = (ctx.gpr[21] | 0u); ctx.gpr[9] = (ctx.gpr[20] | 0u); ctx.gpr[10] = (0u | 22000u); ctx.gpr[11] = (0u | 127u); - ctx.gpr[31] = (0x088D7134u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[2]); + aot_gpr_31 = (0x088D7134u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), aot_gpr_2); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0048_entry, 48u, 393u, 0x088C6004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D7134u) goto L_088D7134; AOT_REGCACHE_SYNC_OUT(); return; L_088D7134: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(68))); - ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(24))); + ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(24))); aot_fpr_14 = std::bit_cast(aot_gpr_4); - aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(20))); { const bool branch_taken = 0u == 0u; aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); if (branch_taken) { @@ -5910,24 +5911,24 @@ L_088D7134: goto L_088D714C; } L_088D714C: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(84))); + aot_gpr_2 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(84))); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 231u); - aot_gpr_6 = (ctx.gpr[23] | 0u); + ctx.gpr[6] = (ctx.gpr[23] | 0u); ctx.gpr[7] = (ctx.gpr[22] | 0u); ctx.gpr[8] = (ctx.gpr[21] | 0u); ctx.gpr[9] = (ctx.gpr[20] | 0u); ctx.gpr[10] = (0u | 22000u); ctx.gpr[11] = (0u | 127u); - ctx.gpr[31] = (0x088D7178u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[2]); + aot_gpr_31 = (0x088D7178u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), aot_gpr_2); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0048_entry, 48u, 393u, 0x088C6004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D7178u) goto L_088D7178; AOT_REGCACHE_SYNC_OUT(); return; L_088D7178: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(68))); - ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(24))); + ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(24))); aot_fpr_14 = std::bit_cast(aot_gpr_4); - aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(20))); { const bool branch_taken = 0u == 0u; aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); if (branch_taken) { @@ -5936,24 +5937,24 @@ L_088D7178: goto L_088D7190; } L_088D7190: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(80))); + aot_gpr_2 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(80))); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 282u); - aot_gpr_6 = (ctx.gpr[23] | 0u); + ctx.gpr[6] = (ctx.gpr[23] | 0u); ctx.gpr[7] = (ctx.gpr[22] | 0u); ctx.gpr[8] = (ctx.gpr[21] | 0u); ctx.gpr[9] = (ctx.gpr[20] | 0u); ctx.gpr[10] = (0u | 22000u); ctx.gpr[11] = (0u | 127u); - ctx.gpr[31] = (0x088D71BCu); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[2]); + aot_gpr_31 = (0x088D71BCu); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), aot_gpr_2); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0048_entry, 48u, 393u, 0x088C6004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D71BCu) goto L_088D71BC; AOT_REGCACHE_SYNC_OUT(); return; L_088D71BC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(68))); - ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(24))); + ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(24))); aot_fpr_14 = std::bit_cast(aot_gpr_4); - aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(20))); { const bool branch_taken = 0u == 0u; aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); if (branch_taken) { @@ -5962,24 +5963,24 @@ L_088D71BC: goto L_088D71D4; } L_088D71D4: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(76))); + aot_gpr_2 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(76))); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 283u); - aot_gpr_6 = (ctx.gpr[23] | 0u); + ctx.gpr[6] = (ctx.gpr[23] | 0u); ctx.gpr[7] = (ctx.gpr[22] | 0u); ctx.gpr[8] = (ctx.gpr[21] | 0u); ctx.gpr[9] = (ctx.gpr[20] | 0u); ctx.gpr[10] = (0u | 20000u); ctx.gpr[11] = (0u | 127u); - ctx.gpr[31] = (0x088D7200u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[2]); + aot_gpr_31 = (0x088D7200u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), aot_gpr_2); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0048_entry, 48u, 393u, 0x088C6004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D7200u) goto L_088D7200; AOT_REGCACHE_SYNC_OUT(); return; L_088D7200: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(68))); - ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(24))); + ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(24))); aot_fpr_14 = std::bit_cast(aot_gpr_4); - aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(20))); { const bool branch_taken = 0u == 0u; aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); if (branch_taken) { @@ -5988,24 +5989,24 @@ L_088D7200: goto L_088D7218; } L_088D7218: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(72))); + aot_gpr_2 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(72))); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 323u); - aot_gpr_6 = (ctx.gpr[23] | 0u); + ctx.gpr[6] = (ctx.gpr[23] | 0u); ctx.gpr[7] = (ctx.gpr[22] | 0u); ctx.gpr[8] = (ctx.gpr[21] | 0u); ctx.gpr[9] = (ctx.gpr[20] | 0u); ctx.gpr[10] = (0u | 22000u); ctx.gpr[11] = (0u | 127u); - ctx.gpr[31] = (0x088D7244u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[2]); + aot_gpr_31 = (0x088D7244u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), aot_gpr_2); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0048_entry, 48u, 393u, 0x088C6004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D7244u) goto L_088D7244; AOT_REGCACHE_SYNC_OUT(); return; L_088D7244: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(68))); - ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(24))); + ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(24))); aot_fpr_14 = std::bit_cast(aot_gpr_4); - aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(20))); { const bool branch_taken = 0u == 0u; aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); if (branch_taken) { @@ -6014,24 +6015,24 @@ L_088D7244: goto L_088D725C; } L_088D725C: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(68))); + aot_gpr_2 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(68))); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 342u); - aot_gpr_6 = (ctx.gpr[23] | 0u); + ctx.gpr[6] = (ctx.gpr[23] | 0u); ctx.gpr[7] = (ctx.gpr[22] | 0u); ctx.gpr[8] = (ctx.gpr[21] | 0u); ctx.gpr[9] = (ctx.gpr[20] | 0u); ctx.gpr[10] = (0u | 18500u); ctx.gpr[11] = (0u | 127u); - ctx.gpr[31] = (0x088D7288u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[2]); + aot_gpr_31 = (0x088D7288u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), aot_gpr_2); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0048_entry, 48u, 393u, 0x088C6004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D7288u) goto L_088D7288; AOT_REGCACHE_SYNC_OUT(); return; L_088D7288: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(68))); - ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(24))); + ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(24))); aot_fpr_14 = std::bit_cast(aot_gpr_4); - aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(20))); { const bool branch_taken = 0u == 0u; aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); if (branch_taken) { @@ -6040,24 +6041,24 @@ L_088D7288: goto L_088D72A0; } L_088D72A0: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); + aot_gpr_2 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(64))); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 255u); - aot_gpr_6 = (ctx.gpr[23] | 0u); + ctx.gpr[6] = (ctx.gpr[23] | 0u); ctx.gpr[7] = (ctx.gpr[22] | 0u); ctx.gpr[8] = (ctx.gpr[21] | 0u); ctx.gpr[9] = (ctx.gpr[20] | 0u); ctx.gpr[10] = (0u | 22050u); ctx.gpr[11] = (0u | 127u); - ctx.gpr[31] = (0x088D72CCu); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[2]); + aot_gpr_31 = (0x088D72CCu); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), aot_gpr_2); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0048_entry, 48u, 393u, 0x088C6004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D72CCu) goto L_088D72CC; AOT_REGCACHE_SYNC_OUT(); return; L_088D72CC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(68))); - ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(24))); + ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(24))); aot_fpr_14 = std::bit_cast(aot_gpr_4); - aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(20))); { const bool branch_taken = 0u == 0u; aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); if (branch_taken) { @@ -6067,29 +6068,29 @@ L_088D72CC: } L_088D72E4: aot_gpr_4 = (ctx.gpr[19] | 0u); - ctx.gpr[31] = (0x088D72F0u); + aot_gpr_31 = (0x088D72F0u); aot_gpr_5 = (0u | 233u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D72F0u) goto L_088D72F0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D72F0u) goto L_088D72F0; AOT_REGCACHE_SYNC_OUT(); return; L_088D72F0: - ctx.gpr[3] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(60))); + ctx.gpr[3] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(60))); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 233u); - aot_gpr_6 = (ctx.gpr[23] | 0u); + ctx.gpr[6] = (ctx.gpr[23] | 0u); ctx.gpr[7] = (ctx.gpr[22] | 0u); ctx.gpr[8] = (ctx.gpr[21] | 0u); ctx.gpr[9] = (ctx.gpr[20] | 0u); - ctx.gpr[10] = (ctx.gpr[2] | 0u); + ctx.gpr[10] = (aot_gpr_2 | 0u); ctx.gpr[11] = (0u | 127u); - ctx.gpr[31] = (0x088D731Cu); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[3]); + aot_gpr_31 = (0x088D731Cu); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), ctx.gpr[3]); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0048_entry, 48u, 393u, 0x088C6004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D731Cu) goto L_088D731C; AOT_REGCACHE_SYNC_OUT(); return; L_088D731C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(68))); - ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(24))); + ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(24))); aot_fpr_14 = std::bit_cast(aot_gpr_4); - aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(20))); { const bool branch_taken = 0u == 0u; aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); if (branch_taken) { @@ -6099,29 +6100,29 @@ L_088D731C: } L_088D7334: aot_gpr_4 = (ctx.gpr[19] | 0u); - ctx.gpr[31] = (0x088D7340u); + aot_gpr_31 = (0x088D7340u); aot_gpr_5 = (0u | 234u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D7340u) goto L_088D7340; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D7340u) goto L_088D7340; AOT_REGCACHE_SYNC_OUT(); return; L_088D7340: - ctx.gpr[3] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(56))); + ctx.gpr[3] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(56))); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 234u); - aot_gpr_6 = (ctx.gpr[23] | 0u); + ctx.gpr[6] = (ctx.gpr[23] | 0u); ctx.gpr[7] = (ctx.gpr[22] | 0u); ctx.gpr[8] = (ctx.gpr[21] | 0u); ctx.gpr[9] = (ctx.gpr[20] | 0u); - ctx.gpr[10] = (ctx.gpr[2] | 0u); + ctx.gpr[10] = (aot_gpr_2 | 0u); ctx.gpr[11] = (0u | 127u); - ctx.gpr[31] = (0x088D736Cu); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[3]); + aot_gpr_31 = (0x088D736Cu); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), ctx.gpr[3]); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0048_entry, 48u, 393u, 0x088C6004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D736Cu) goto L_088D736C; AOT_REGCACHE_SYNC_OUT(); return; L_088D736C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(68))); - ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(24))); + ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(24))); aot_fpr_14 = std::bit_cast(aot_gpr_4); - aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(20))); { const bool branch_taken = 0u == 0u; aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); if (branch_taken) { @@ -6131,29 +6132,29 @@ L_088D736C: } L_088D7384: aot_gpr_4 = (ctx.gpr[19] | 0u); - ctx.gpr[31] = (0x088D7390u); + aot_gpr_31 = (0x088D7390u); aot_gpr_5 = (0u | 232u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D7390u) goto L_088D7390; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D7390u) goto L_088D7390; AOT_REGCACHE_SYNC_OUT(); return; L_088D7390: - ctx.gpr[3] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(52))); + ctx.gpr[3] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(52))); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 232u); - aot_gpr_6 = (ctx.gpr[23] | 0u); + ctx.gpr[6] = (ctx.gpr[23] | 0u); ctx.gpr[7] = (ctx.gpr[22] | 0u); ctx.gpr[8] = (ctx.gpr[21] | 0u); ctx.gpr[9] = (ctx.gpr[20] | 0u); - ctx.gpr[10] = (ctx.gpr[2] | 0u); + ctx.gpr[10] = (aot_gpr_2 | 0u); ctx.gpr[11] = (0u | 127u); - ctx.gpr[31] = (0x088D73BCu); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[3]); + aot_gpr_31 = (0x088D73BCu); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), ctx.gpr[3]); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0048_entry, 48u, 393u, 0x088C6004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D73BCu) goto L_088D73BC; AOT_REGCACHE_SYNC_OUT(); return; L_088D73BC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(68))); - ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(24))); + ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(24))); aot_fpr_14 = std::bit_cast(aot_gpr_4); - aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(20))); { const bool branch_taken = 0u == 0u; aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); if (branch_taken) { @@ -6163,7 +6164,7 @@ L_088D73BC: } L_088D73D4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(26344))); - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23668))); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-23668))); aot_gpr_5 = (aot_gpr_5 < aot_gpr_4 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_4 = (aot_gpr_4 + static_cast(6)); @@ -6174,24 +6175,24 @@ L_088D73D4: } L_088D73E8: aot_gpr_5 = (0u | 321u); - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-23668), aot_gpr_4); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-23668), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), aot_gpr_5); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(60), static_cast(0u)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23672))); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(24), static_cast(ctx.gpr[18])); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23672))); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(24), static_cast(ctx.gpr[18])); aot_gpr_5 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-23672), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-23672), static_cast(aot_gpr_5)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(52), aot_gpr_4); - aot_gpr_17 = (0u | 30u); + ctx.gpr[17] = (0u | 30u); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x088D741Cu); + aot_gpr_31 = (0x088D741Cu); aot_gpr_5 = (0u | 1400u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D741Cu) goto L_088D741C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089B7A84, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D741Cu) goto L_088D741C; AOT_REGCACHE_SYNC_OUT(); return; L_088D741C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(26328))); - { const std::uint32_t dividend = aot_gpr_4; const std::uint32_t divisor = aot_gpr_17; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } - aot_gpr_4 = (ctx.gpr[2] + static_cast(20000)); + { const std::uint32_t dividend = aot_gpr_4; const std::uint32_t divisor = ctx.gpr[17]; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } + aot_gpr_4 = (aot_gpr_2 + static_cast(20000)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), ctx.gpr[18]); aot_gpr_5 = (16928u << 16u); @@ -6203,15 +6204,15 @@ L_088D741C: aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); aot_fpr_15 = std::bit_cast(aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(80), ctx.gpr[18]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), std::bit_cast(aot_fpr_15)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(20), std::bit_cast(aot_fpr_15)); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(61), static_cast(0u)); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(92), static_cast(ctx.gpr[18])); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(113), static_cast(ctx.gpr[18])); - ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(24))); + ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(24))); aot_gpr_5 = (ctx.hi); aot_gpr_5 = (aot_gpr_5 + static_cast(70)); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(16), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(16), static_cast(aot_gpr_5)); if (branch_taken) { goto L_088D7650; } @@ -6232,15 +6233,15 @@ L_088D7480: aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(60), static_cast(0u)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(52), aot_gpr_4); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x088D74A0u); + aot_gpr_31 = (0x088D74A0u); aot_gpr_5 = (0u | 6000u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D74A0u) goto L_088D74A0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089B7A84, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D74A0u) goto L_088D74A0; AOT_REGCACHE_SYNC_OUT(); return; L_088D74A0: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(26336))); aot_gpr_4 = (0u | 20u); { const std::uint32_t dividend = aot_gpr_5; const std::uint32_t divisor = aot_gpr_4; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } - aot_gpr_4 = (ctx.gpr[2] + static_cast(16000)); + aot_gpr_4 = (aot_gpr_2 + static_cast(16000)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_4); aot_fpr_14 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), ctx.gpr[18]); @@ -6252,12 +6253,12 @@ L_088D74A0: aot_gpr_5 = (17608u << 16u); aot_fpr_15 = std::bit_cast(aot_gpr_5); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(113), static_cast(ctx.gpr[18])); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), std::bit_cast(aot_fpr_15)); - ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(24))); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(20), std::bit_cast(aot_fpr_15)); + ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(24))); aot_gpr_5 = (ctx.hi); aot_gpr_5 = (aot_gpr_5 + static_cast(55)); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(16), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(16), static_cast(aot_gpr_5)); if (branch_taken) { goto L_088D7650; } @@ -6274,9 +6275,9 @@ L_088D74F4: goto L_088D7508; L_088D7508: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_14)); - aot_gpr_17 = (std::bit_cast(aot_fpr_12)); + ctx.gpr[17] = (std::bit_cast(aot_fpr_12)); { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (aot_gpr_17 >> 8u); + ctx.gpr[17] = (ctx.gpr[17] >> 8u); if (branch_taken) { goto L_088D7528; } @@ -6285,11 +6286,11 @@ L_088D7508: L_088D7518: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); - aot_gpr_17 = (aot_gpr_4 + ctx.gpr[25]); - aot_gpr_17 = (aot_gpr_17 >> 8u); + ctx.gpr[17] = (aot_gpr_4 + ctx.gpr[25]); + ctx.gpr[17] = (ctx.gpr[17] >> 8u); goto L_088D7528; L_088D7528: - aot_gpr_4 = (aot_gpr_17 + static_cast(-2)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(-2)); aot_gpr_5 = (aot_gpr_4 < static_cast(9) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; // nop @@ -6322,28 +6323,28 @@ L_088D755C: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), ctx.gpr[24]); goto L_088D7560; L_088D7560: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(104), ctx.gpr[20]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(104), ctx.gpr[20]); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(60), static_cast(0u)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23672))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23672))); aot_gpr_5 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-23672), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-23672), static_cast(aot_gpr_5)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(52), aot_gpr_4); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(56))); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(24), static_cast(ctx.gpr[18])); - ctx.gpr[31] = (0x088D7588u); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(24), static_cast(ctx.gpr[18])); + aot_gpr_31 = (0x088D7588u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D7588u) goto L_088D7588; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D7588u) goto L_088D7588; AOT_REGCACHE_SYNC_OUT(); return; L_088D7588: - ctx.gpr[20] = (ctx.gpr[2] | 0u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), ctx.gpr[2]); + ctx.gpr[20] = (aot_gpr_2 | 0u); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_2); aot_gpr_5 = (ctx.gpr[20] >> 4u); - ctx.gpr[31] = (0x088D759Cu); + aot_gpr_31 = (0x088D759Cu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D759Cu) goto L_088D759C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089B7A84, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D759Cu) goto L_088D759C; AOT_REGCACHE_SYNC_OUT(); return; L_088D759C: - aot_gpr_4 = (ctx.gpr[20] + ctx.gpr[2]); + aot_gpr_4 = (ctx.gpr[20] + aot_gpr_2); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_4); aot_fpr_14 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), ctx.gpr[30]); @@ -6352,9 +6353,9 @@ L_088D759C: aot_fpr_12 = std::bit_cast(aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(84), std::bit_cast(ctx.fpr[22])); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(88), std::bit_cast(aot_fpr_12)); - ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(24))); - { const bool branch_taken = aot_gpr_17 == 0u; - ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(104))); + ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(24))); + { const bool branch_taken = ctx.gpr[17] == 0u; + ctx.gpr[20] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(104))); if (branch_taken) { goto L_088D75D8; } @@ -6362,19 +6363,19 @@ L_088D759C: } L_088D75CC: aot_gpr_5 = (0u | 1u); - if (aot_gpr_17 != aot_gpr_5) { - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(26328))); + if (ctx.gpr[17] != aot_gpr_5) { + ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(26328))); goto L_088D75F4; } goto L_088D75D8; L_088D75D8: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(26324))); + ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(26324))); aot_gpr_5 = (0u | 10u); - { const std::uint32_t dividend = aot_gpr_6; const std::uint32_t divisor = aot_gpr_5; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } + { const std::uint32_t dividend = ctx.gpr[6]; const std::uint32_t divisor = aot_gpr_5; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } aot_gpr_5 = (ctx.hi); aot_gpr_5 = (aot_gpr_5 + static_cast(35)); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(16), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(16), static_cast(aot_gpr_5)); if (branch_taken) { goto L_088D7608; } @@ -6382,13 +6383,13 @@ L_088D75D8: } L_088D75F4: aot_gpr_5 = (0u | 20u); - { const std::uint32_t dividend = aot_gpr_6; const std::uint32_t divisor = aot_gpr_5; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } + { const std::uint32_t dividend = ctx.gpr[6]; const std::uint32_t divisor = aot_gpr_5; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } aot_gpr_5 = (ctx.hi); aot_gpr_5 = (aot_gpr_5 + static_cast(70)); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(16), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(16), static_cast(aot_gpr_5)); goto L_088D7608; L_088D7608: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), std::bit_cast(ctx.fpr[30])); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(20), std::bit_cast(ctx.fpr[30])); aot_fpr_15 = std::bit_cast(std::bit_cast(ctx.fpr[30])); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(80), ctx.gpr[18]); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(61), static_cast(0u)); @@ -6401,10 +6402,10 @@ L_088D7608: goto L_088D7624; } L_088D7624: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(28))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(28))); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x088D7634u); - aot_gpr_6 = (ctx.gpr[10] | 0u); + aot_gpr_31 = (0x088D7634u); + ctx.gpr[6] = (ctx.gpr[10] | 0u); goto L_088D789C; L_088D7634: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(48))); @@ -6432,7 +6433,7 @@ L_088D7658: aot_fpr_14 = aot_fpr_14 + aot_fpr_12; goto L_088D7660; L_088D7660: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(44))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(44))); aot_fpr_14 = aot_fpr_14 / aot_fpr_12; ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_14 < ctx.fpr[24])) ? 0x00800000u : 0u); // nop @@ -6465,7 +6466,7 @@ L_088D7694: goto L_088D769C; } L_088D769C: - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23672))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23672))); aot_gpr_4 = (static_cast(aot_gpr_4) < 61 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -6476,10 +6477,10 @@ L_088D769C: } L_088D76AC: aot_gpr_4 = (0u | 21u); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-23672), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-23672), static_cast(aot_gpr_4)); goto L_088D76B4; L_088D76B4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(28))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(28))); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_15)); aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_15 < aot_fpr_12)) ? 0x00800000u : 0u); @@ -6494,20 +6495,20 @@ L_088D76B4: L_088D76D0: aot_gpr_5 = (aot_gpr_4 | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_15)); - ctx.gpr[31] = (0x088D76E0u); + aot_gpr_31 = (0x088D76E0u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0048_entry, 48u, 397u, 0x088C6080u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D76E0u) goto L_088D76E0; AOT_REGCACHE_SYNC_OUT(); return; L_088D76E0: - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(16))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(16))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(88))); ctx.fpr[13] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(76))); - ctx.gpr[31] = (0x088D76F4u); + aot_gpr_31 = (0x088D76F4u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0109_entry, 109u, 21u, 0x089B8190u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D76F4u) goto L_088D76F4; AOT_REGCACHE_SYNC_OUT(); return; L_088D76F4: - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(72), static_cast(ctx.gpr[2])); + aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(72), static_cast(aot_gpr_2)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(72))); { const bool branch_taken = static_cast(aot_gpr_4) <= 0; // nop @@ -6517,7 +6518,7 @@ L_088D76F4: goto L_088D7704; } L_088D7704: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(25))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(25))); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_4 = (15948u << 16u); if (branch_taken) { @@ -6551,17 +6552,17 @@ L_088D7734: } L_088D7740: aot_gpr_4 = (0u | 0u); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(25), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(25), static_cast(aot_gpr_4)); goto L_088D7748; L_088D7748: - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(48))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(48))); aot_gpr_5 = (0u | 0u); - ctx.gpr[31] = (0x088D7758u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_31 = (0x088D7758u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 703u, 0x089B7B80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D7758u) goto L_088D7758; AOT_REGCACHE_SYNC_OUT(); return; L_088D7758: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(25))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(25))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -6572,29 +6573,29 @@ L_088D7758: L_088D7764: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(48))); aot_gpr_5 = (0u | 127u); - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(56))); + ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(56))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(114), static_cast(aot_gpr_5)); aot_gpr_5 = (aot_gpr_4 << 6u); aot_gpr_4 = (aot_gpr_4 << 3u); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(40))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(40))); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); - aot_gpr_6 = (aot_gpr_6 + static_cast(1)); + ctx.gpr[6] = (ctx.gpr[6] + static_cast(1)); aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), aot_gpr_6); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), ctx.gpr[6]); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[7]); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(6266))); aot_gpr_5 = (0u | 55u); if (aot_gpr_4 != aot_gpr_5) { - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23672))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23672))); goto L_088D77C8; } goto L_088D77A4; L_088D77A4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(36))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(36))); aot_gpr_5 = (0u | 33u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); if (aot_gpr_4 != aot_gpr_5) { - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23672))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23672))); goto L_088D77C8; } goto L_088D77B8; @@ -6610,9 +6611,9 @@ L_088D77B8: } L_088D77C8: aot_gpr_5 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-23672), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-23672), static_cast(aot_gpr_5)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(52), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23672))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23672))); aot_gpr_4 = (static_cast(aot_gpr_4) < 61 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -6623,11 +6624,11 @@ L_088D77C8: } L_088D77E4: aot_gpr_4 = (0u | 21u); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-23672), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-23672), static_cast(aot_gpr_4)); goto L_088D77EC; L_088D77EC: - aot_gpr_4 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x088D77F8u); + aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_31 = (0x088D77F8u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 703u, 0x089B7B80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D77F8u) goto L_088D77F8; AOT_REGCACHE_SYNC_OUT(); return; @@ -6640,14 +6641,14 @@ L_088D77F8: ctx.gpr[9] = (aot_mem.aot_direct_load8(ctx.gpr[8] + static_cast(6308))); goto L_088D7810; L_088D7810: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(32))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[29] + static_cast(32))); ctx.gpr[11] = (0u | 20000u); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); aot_gpr_4 = (aot_gpr_4 & 65535u); aot_gpr_5 = (static_cast(aot_gpr_4) < static_cast(ctx.gpr[9]) ? 1u : 0u); - aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(32), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store16(ctx.gpr[29] + static_cast(32), static_cast(aot_gpr_4)); aot_gpr_4 = (17174u << 16u); - ctx.gpr[2] = (0u | 16500u); + aot_gpr_2 = (0u | 16500u); ctx.fpr[16] = std::bit_cast(aot_gpr_4); ctx.gpr[3] = (0u | 18000u); ctx.gpr[12] = (0u | 189u); @@ -6664,7 +6665,7 @@ L_088D7810: } L_088D7854: { std::uint32_t aot_run_words[16]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(108), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(108), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); @@ -6672,7 +6673,7 @@ L_088D7854: ctx.fpr[28] = std::bit_cast(aot_run_words[4]); ctx.fpr[30] = std::bit_cast(aot_run_words[5]); aot_gpr_16 = aot_run_words[6]; - aot_gpr_17 = aot_run_words[7]; + ctx.gpr[17] = aot_run_words[7]; ctx.gpr[18] = aot_run_words[8]; ctx.gpr[19] = aot_run_words[9]; ctx.gpr[20] = aot_run_words[10]; @@ -6680,26 +6681,26 @@ L_088D7854: ctx.gpr[22] = aot_run_words[12]; ctx.gpr[23] = aot_run_words[13]; ctx.gpr[30] = aot_run_words[14]; - ctx.gpr[31] = aot_run_words[15]; + aot_gpr_31 = aot_run_words[15]; } - jump_target = ctx.gpr[31]; - aot_gpr_29 = (aot_gpr_29 + static_cast(176)); + jump_target = aot_gpr_31; + ctx.gpr[29] = (ctx.gpr[29] + static_cast(176)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_088D789C: - aot_gpr_29 = (aot_gpr_29 + static_cast(-96)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(84), ctx.gpr[20]); - ctx.gpr[20] = (aot_gpr_6 & 65535u); - aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7080))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), aot_gpr_16); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-96)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(84), ctx.gpr[20]); + ctx.gpr[20] = (ctx.gpr[6] & 65535u); + ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-7080))); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(68), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), std::bit_cast(aot_fpr_20)); - { const std::uint32_t aot_run_words[3]{aot_gpr_17, ctx.gpr[18], ctx.gpr[19]}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(72), aot_run_words); } - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(88), ctx.gpr[31]); - { const bool branch_taken = aot_gpr_6 != 0u; + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(64), std::bit_cast(aot_fpr_20)); + { const std::uint32_t aot_run_words[3]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19]}; + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(72), aot_run_words); } + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(88), aot_gpr_31); + { const bool branch_taken = ctx.gpr[6] != 0u; ctx.gpr[18] = (aot_gpr_5 | 0u); if (branch_taken) { goto L_088D78E4; @@ -6745,14 +6746,14 @@ L_088D78FC: aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(21540), static_cast(0u)); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x088D7910u); - aot_gpr_6 = (ctx.gpr[20] | 0u); + aot_gpr_31 = (0x088D7910u); + ctx.gpr[6] = (ctx.gpr[20] | 0u); goto L_088D7B3C; L_088D7910: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16352))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-16352))); aot_gpr_4 = (aot_gpr_4 + static_cast(6028)); - { const bool branch_taken = ctx.gpr[2] == aot_gpr_4; - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[2]); + { const bool branch_taken = aot_gpr_2 == aot_gpr_4; + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(16), aot_gpr_2); if (branch_taken) { goto L_088D7938; } @@ -6822,7 +6823,7 @@ L_088D7968: aot_gpr_4 = (ctx.hi); aot_gpr_4 = (aot_gpr_4 + static_cast(2601)); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(16), aot_gpr_4); if (branch_taken) { goto L_088D79F4; } @@ -6859,7 +6860,7 @@ L_088D79B8: aot_fpr_20 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (ctx.hi); aot_gpr_4 = (aot_gpr_4 + static_cast(1574)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(16), aot_gpr_4); goto L_088D79F4; L_088D79F4: ctx.fpr[13] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); @@ -6883,7 +6884,7 @@ L_088D7A08: L_088D7A10: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x088D7A20u); + aot_gpr_31 = (0x088D7A20u); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0048_entry, 48u, 397u, 0x088C6080u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D7A20u) goto L_088D7A20; AOT_REGCACHE_SYNC_OUT(); return; @@ -6891,22 +6892,22 @@ L_088D7A20: aot_gpr_4 = (2236u << 16u); ctx.gpr[18] = (aot_gpr_4 + static_cast(32304)); ctx.gpr[18] = (ctx.gpr[18] + static_cast(48)); - aot_gpr_17 = (aot_gpr_16 + static_cast(96)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); + ctx.gpr[17] = (aot_gpr_16 + static_cast(96)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), 0u); aot_gpr_4 = (ctx.gpr[18] | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); - aot_gpr_6 = (0u | 1u); + aot_gpr_5 = (ctx.gpr[17] | 0u); + ctx.gpr[6] = (0u | 1u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[11] = (0u | 0u); - ctx.gpr[31] = (0x088D7A5Cu); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), 0u); + aot_gpr_31 = (0x088D7A5Cu); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0036_entry, 36u, 527u, 0x088967ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D7A5Cu) goto L_088D7A5C; AOT_REGCACHE_SYNC_OUT(); return; L_088D7A5C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088D7A6C; @@ -6928,15 +6929,15 @@ L_088D7A70: aot_gpr_5 = (aot_gpr_4 | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); ctx.fpr[13] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(76))); - ctx.gpr[31] = (0x088D7A84u); + aot_gpr_31 = (0x088D7A84u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0109_entry, 109u, 21u, 0x089B8190u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D7A84u) goto L_088D7A84; AOT_REGCACHE_SYNC_OUT(); return; L_088D7A84: - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(72), static_cast(ctx.gpr[2])); + aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(72), static_cast(aot_gpr_2)); aot_gpr_4 = (0u | 10u); { const bool branch_taken = ctx.gpr[20] != ctx.gpr[19]; - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(53), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(53), static_cast(aot_gpr_4)); if (branch_taken) { goto L_088D7AB4; } @@ -6957,7 +6958,7 @@ L_088D7A94: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_4 = (aot_gpr_29 + static_cast(32)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(32)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; @@ -6974,8 +6975,8 @@ L_088D7AB4: } L_088D7AC0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(48))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_4); - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(20), aot_gpr_4); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -6984,16 +6985,16 @@ L_088D7AC0: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_4 = (aot_gpr_29 + static_cast(32)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(32)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(76))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(48), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(72))); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(52), static_cast(aot_gpr_4)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), ctx.gpr[20]); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(52), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(56), ctx.gpr[20]); aot_gpr_4 = (static_cast(ctx.gpr[20]) < 103 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_4 = (static_cast(ctx.gpr[20]) < 106 ? 1u : 0u); @@ -7013,50 +7014,50 @@ L_088D7AF4: L_088D7AFC: aot_gpr_4 = (0u | 1u); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(54), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(54), static_cast(aot_gpr_4)); if (branch_taken) { goto L_088D7B0C; } goto L_088D7B08; } L_088D7B08: - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(54), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(54), static_cast(0u)); goto L_088D7B0C; L_088D7B0C: aot_gpr_4 = (aot_gpr_16 + static_cast(21552)); - ctx.gpr[31] = (0x088D7B18u); - aot_gpr_5 = (aot_gpr_29 + static_cast(16)); + aot_gpr_31 = (0x088D7B18u); + aot_gpr_5 = (ctx.gpr[29] + static_cast(16)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0048_entry, 48u, 364u, 0x088C5CF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D7B18u) goto L_088D7B18; AOT_REGCACHE_SYNC_OUT(); return; L_088D7B18: { std::uint32_t aot_run_words[7]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(64), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(64), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); aot_gpr_16 = aot_run_words[1]; - aot_gpr_17 = aot_run_words[2]; + ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; ctx.gpr[19] = aot_run_words[4]; ctx.gpr[20] = aot_run_words[5]; - ctx.gpr[31] = aot_run_words[6]; + aot_gpr_31 = aot_run_words[6]; } - jump_target = ctx.gpr[31]; - aot_gpr_29 = (aot_gpr_29 + static_cast(96)); + jump_target = aot_gpr_31; + ctx.gpr[29] = (ctx.gpr[29] + static_cast(96)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_088D7B3C: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); - ctx.gpr[18] = (aot_gpr_6 & 65535u); - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(2228))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(8), ctx.gpr[18]); + ctx.gpr[18] = (ctx.gpr[6] & 65535u); + ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(2228))); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), aot_gpr_16); ctx.gpr[7] = (0u | 45u); aot_gpr_16 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[31]); - { const bool branch_taken = aot_gpr_6 != ctx.gpr[7]; - aot_gpr_17 = (aot_gpr_5 | 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), ctx.gpr[17]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(12), aot_gpr_31); + { const bool branch_taken = ctx.gpr[6] != ctx.gpr[7]; + ctx.gpr[17] = (aot_gpr_5 | 0u); if (branch_taken) { goto L_088D7B94; } @@ -7089,16 +7090,16 @@ L_088D7B80: goto L_088D7B88; } L_088D7B88: - ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16352))); + aot_gpr_2 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-16352))); { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (ctx.gpr[2] + static_cast(6028)); + aot_gpr_2 = (aot_gpr_2 + static_cast(6028)); if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0053_entry, 53u, 24u, 0x088D80FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_088D7B94; } L_088D7B94: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1732))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1732))); aot_gpr_5 = (0u + static_cast(-1)); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -7108,8 +7109,8 @@ L_088D7B94: goto L_088D7BA4; } L_088D7BA4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1732))); - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1732))); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7660))); aot_gpr_4 = (aot_gpr_5 < aot_gpr_4 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -7145,21 +7146,21 @@ L_088D7BD0: goto L_088D7BD8; } L_088D7BD8: - ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16352))); + aot_gpr_2 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-16352))); { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (ctx.gpr[2] + static_cast(6028)); + aot_gpr_2 = (aot_gpr_2 + static_cast(6028)); if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0053_entry, 53u, 24u, 0x088D80FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_088D7BE4; } L_088D7BE4: - ctx.gpr[31] = (0x088D7BECu); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D7BECu) goto L_088D7BEC; + aot_gpr_31 = (0x088D7BECu); + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D7BECu) goto L_088D7BEC; AOT_REGCACHE_SYNC_OUT(); return; L_088D7BEC: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088D7C0C; @@ -7168,9 +7169,9 @@ L_088D7BEC: } L_088D7BF4: aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x088D7C04u); - aot_gpr_6 = (ctx.gpr[18] | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_31 = (0x088D7C04u); + ctx.gpr[6] = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0053_entry, 53u, 25u, 0x088D8114u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D7C04u) goto L_088D7C04; AOT_REGCACHE_SYNC_OUT(); return; L_088D7C04: @@ -7182,7 +7183,7 @@ L_088D7C04: goto L_088D7C0C; } L_088D7C0C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(2280))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(2280))); aot_gpr_5 = (0u + static_cast(-1)); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -7192,7 +7193,7 @@ L_088D7C0C: goto L_088D7C1C; } L_088D7C1C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(2280))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(2280))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -7201,7 +7202,7 @@ L_088D7C1C: goto L_088D7C28; } L_088D7C28: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(2276))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(2276))); aot_gpr_5 = (0u | 2u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -7211,16 +7212,16 @@ L_088D7C28: goto L_088D7C38; } L_088D7C38: - aot_gpr_4 = (ctx.gpr[28] + static_cast(8629)); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x088D7C48u); - aot_gpr_6 = (ctx.gpr[18] | 0u); + aot_gpr_4 = (aot_gpr_28 + static_cast(8629)); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_31 = (0x088D7C48u); + ctx.gpr[6] = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 572u, 0x0885E4C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D7C48u) goto L_088D7C48; AOT_REGCACHE_SYNC_OUT(); return; L_088D7C48: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16352))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-16352))); aot_gpr_4 = (aot_gpr_4 + static_cast(6028)); - { const bool branch_taken = ctx.gpr[2] != aot_gpr_4; + { const bool branch_taken = aot_gpr_2 != aot_gpr_4; // nop if (branch_taken) { goto L_088D7C70; @@ -7228,7 +7229,7 @@ L_088D7C48: goto L_088D7C58; } L_088D7C58: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(86)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(86)))))); aot_gpr_5 = (static_cast(aot_gpr_4) < 95 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 != 0u; aot_gpr_5 = (static_cast(aot_gpr_4) < 13 ? 1u : 0u); @@ -7255,9 +7256,9 @@ L_088D7C70: } L_088D7C78: aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x088D7C88u); - aot_gpr_6 = (ctx.gpr[18] | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_31 = (0x088D7C88u); + ctx.gpr[6] = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 223u, 0x088C9358u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D7C88u) goto L_088D7C88; AOT_REGCACHE_SYNC_OUT(); return; L_088D7C88: @@ -7297,10 +7298,10 @@ L_088D7CA0: AOT_REGCACHE_SYNC_OUT(); return; L_088D7CB8: aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x088D7CC8u); - aot_gpr_6 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D7CC8u) goto L_088D7CC8; + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_31 = (0x088D7CC8u); + ctx.gpr[6] = (ctx.gpr[18] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C9640, 49u, 289u, 0x088C9640u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 289u, 0x088C9640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D7CC8u) goto L_088D7CC8; AOT_REGCACHE_SYNC_OUT(); return; L_088D7CC8: { const bool branch_taken = 0u == 0u; @@ -7320,10 +7321,10 @@ L_088D7CD0: } L_088D7CD8: aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x088D7CE8u); - aot_gpr_6 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D7CE8u) goto L_088D7CE8; + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_31 = (0x088D7CE8u); + ctx.gpr[6] = (ctx.gpr[18] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C971C, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 302u, 0x088C971Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D7CE8u) goto L_088D7CE8; AOT_REGCACHE_SYNC_OUT(); return; L_088D7CE8: { const bool branch_taken = 0u == 0u; @@ -7351,10 +7352,10 @@ L_088D7CF8: goto L_088D7D04; } L_088D7D04: - aot_gpr_4 = (ctx.gpr[28] + static_cast(8629)); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x088D7D14u); - aot_gpr_6 = (ctx.gpr[18] | 0u); + aot_gpr_4 = (aot_gpr_28 + static_cast(8629)); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_31 = (0x088D7D14u); + ctx.gpr[6] = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0021_entry, 21u, 207u, 0x08858C88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D7D14u) goto L_088D7D14; AOT_REGCACHE_SYNC_OUT(); return; L_088D7D14: @@ -7394,9 +7395,9 @@ L_088D7D2C: AOT_REGCACHE_SYNC_OUT(); return; L_088D7D44: aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x088D7D54u); - aot_gpr_6 = (ctx.gpr[18] | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_31 = (0x088D7D54u); + ctx.gpr[6] = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0053_entry, 53u, 25u, 0x088D8114u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D7D54u) goto L_088D7D54; AOT_REGCACHE_SYNC_OUT(); return; L_088D7D54: @@ -7408,10 +7409,10 @@ L_088D7D54: goto L_088D7D5C; } L_088D7D5C: - aot_gpr_4 = (ctx.gpr[28] + static_cast(8629)); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x088D7D6Cu); - aot_gpr_6 = (ctx.gpr[18] | 0u); + aot_gpr_4 = (aot_gpr_28 + static_cast(8629)); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_31 = (0x088D7D6Cu); + ctx.gpr[6] = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0021_entry, 21u, 222u, 0x08858D64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D7D6Cu) goto L_088D7D6C; AOT_REGCACHE_SYNC_OUT(); return; L_088D7D6C: @@ -7423,10 +7424,10 @@ L_088D7D6C: goto L_088D7D74; } L_088D7D74: - aot_gpr_4 = (ctx.gpr[28] + static_cast(8629)); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x088D7D84u); - aot_gpr_6 = (ctx.gpr[18] | 0u); + aot_gpr_4 = (aot_gpr_28 + static_cast(8629)); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_31 = (0x088D7D84u); + ctx.gpr[6] = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0021_entry, 21u, 297u, 0x088591B0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D7D84u) goto L_088D7D84; AOT_REGCACHE_SYNC_OUT(); return; L_088D7D84: @@ -7438,10 +7439,10 @@ L_088D7D84: goto L_088D7D8C; } L_088D7D8C: - aot_gpr_4 = (ctx.gpr[28] + static_cast(8629)); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x088D7D9Cu); - aot_gpr_6 = (ctx.gpr[18] | 0u); + aot_gpr_4 = (aot_gpr_28 + static_cast(8629)); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_31 = (0x088D7D9Cu); + ctx.gpr[6] = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0021_entry, 21u, 312u, 0x0885928Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D7D9Cu) goto L_088D7D9C; AOT_REGCACHE_SYNC_OUT(); return; L_088D7D9C: @@ -7453,10 +7454,10 @@ L_088D7D9C: goto L_088D7DA4; } L_088D7DA4: - aot_gpr_4 = (ctx.gpr[28] + static_cast(8629)); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x088D7DB4u); - aot_gpr_6 = (ctx.gpr[18] | 0u); + aot_gpr_4 = (aot_gpr_28 + static_cast(8629)); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_31 = (0x088D7DB4u); + ctx.gpr[6] = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0020_entry, 20u, 838u, 0x08857520u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D7DB4u) goto L_088D7DB4; AOT_REGCACHE_SYNC_OUT(); return; L_088D7DB4: @@ -7468,10 +7469,10 @@ L_088D7DB4: goto L_088D7DBC; } L_088D7DBC: - aot_gpr_4 = (ctx.gpr[28] + static_cast(8629)); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x088D7DCCu); - aot_gpr_6 = (ctx.gpr[18] | 0u); + aot_gpr_4 = (aot_gpr_28 + static_cast(8629)); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_31 = (0x088D7DCCu); + ctx.gpr[6] = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0020_entry, 20u, 30u, 0x088541C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D7DCCu) goto L_088D7DCC; AOT_REGCACHE_SYNC_OUT(); return; L_088D7DCC: @@ -7529,10 +7530,10 @@ L_088D7E0C: goto L_088D7E14; } L_088D7E14: - aot_gpr_4 = (ctx.gpr[28] + static_cast(8629)); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x088D7E24u); - aot_gpr_6 = (ctx.gpr[18] | 0u); + aot_gpr_4 = (aot_gpr_28 + static_cast(8629)); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_31 = (0x088D7E24u); + ctx.gpr[6] = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0019_entry, 19u, 729u, 0x08852DE4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D7E24u) goto L_088D7E24; AOT_REGCACHE_SYNC_OUT(); return; L_088D7E24: @@ -7544,10 +7545,10 @@ L_088D7E24: goto L_088D7E2C; } L_088D7E2C: - aot_gpr_4 = (ctx.gpr[28] + static_cast(8629)); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x088D7E3Cu); - aot_gpr_6 = (ctx.gpr[18] | 0u); + aot_gpr_4 = (aot_gpr_28 + static_cast(8629)); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_31 = (0x088D7E3Cu); + ctx.gpr[6] = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0019_entry, 19u, 748u, 0x08852F24u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D7E3Cu) goto L_088D7E3C; AOT_REGCACHE_SYNC_OUT(); return; L_088D7E3C: @@ -7559,10 +7560,10 @@ L_088D7E3C: goto L_088D7E44; } L_088D7E44: - aot_gpr_4 = (ctx.gpr[28] + static_cast(8629)); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x088D7E54u); - aot_gpr_6 = (ctx.gpr[18] | 0u); + aot_gpr_4 = (aot_gpr_28 + static_cast(8629)); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_31 = (0x088D7E54u); + ctx.gpr[6] = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0019_entry, 19u, 767u, 0x08853064u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D7E54u) goto L_088D7E54; AOT_REGCACHE_SYNC_OUT(); return; L_088D7E54: @@ -7574,10 +7575,10 @@ L_088D7E54: goto L_088D7E5C; } L_088D7E5C: - aot_gpr_4 = (ctx.gpr[28] + static_cast(8629)); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x088D7E6Cu); - aot_gpr_6 = (ctx.gpr[18] | 0u); + aot_gpr_4 = (aot_gpr_28 + static_cast(8629)); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_31 = (0x088D7E6Cu); + ctx.gpr[6] = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0019_entry, 19u, 786u, 0x088531A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D7E6Cu) goto L_088D7E6C; AOT_REGCACHE_SYNC_OUT(); return; L_088D7E6C: @@ -7589,10 +7590,10 @@ L_088D7E6C: goto L_088D7E74; } L_088D7E74: - aot_gpr_4 = (ctx.gpr[28] + static_cast(8629)); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x088D7E84u); - aot_gpr_6 = (ctx.gpr[18] | 0u); + aot_gpr_4 = (aot_gpr_28 + static_cast(8629)); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_31 = (0x088D7E84u); + ctx.gpr[6] = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0019_entry, 19u, 805u, 0x088532E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D7E84u) goto L_088D7E84; AOT_REGCACHE_SYNC_OUT(); return; L_088D7E84: @@ -7604,9 +7605,9 @@ L_088D7E84: goto L_088D7E8C; } L_088D7E8C: - ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16352))); + aot_gpr_2 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-16352))); { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (ctx.gpr[2] + static_cast(6028)); + aot_gpr_2 = (aot_gpr_2 + static_cast(6028)); if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0053_entry, 53u, 24u, 0x088D80FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } @@ -7645,9 +7646,9 @@ L_088D7EB8: goto L_088D7EC0; } L_088D7EC0: - ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16352))); + aot_gpr_2 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-16352))); { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (ctx.gpr[2] + static_cast(6028)); + aot_gpr_2 = (aot_gpr_2 + static_cast(6028)); if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0053_entry, 53u, 24u, 0x088D80FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } @@ -7662,10 +7663,10 @@ L_088D7ECC: goto L_088D7ED4; } L_088D7ED4: - aot_gpr_4 = (ctx.gpr[28] + static_cast(8629)); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x088D7EE4u); - aot_gpr_6 = (ctx.gpr[18] | 0u); + aot_gpr_4 = (aot_gpr_28 + static_cast(8629)); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_31 = (0x088D7EE4u); + ctx.gpr[6] = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0021_entry, 21u, 369u, 0x088595D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D7EE4u) goto L_088D7EE4; AOT_REGCACHE_SYNC_OUT(); return; L_088D7EE4: @@ -7677,10 +7678,10 @@ L_088D7EE4: goto L_088D7EEC; } L_088D7EEC: - aot_gpr_4 = (ctx.gpr[28] + static_cast(8629)); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x088D7EFCu); - aot_gpr_6 = (ctx.gpr[18] | 0u); + aot_gpr_4 = (aot_gpr_28 + static_cast(8629)); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_31 = (0x088D7EFCu); + ctx.gpr[6] = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0021_entry, 21u, 357u, 0x08859520u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D7EFCu) goto L_088D7EFC; AOT_REGCACHE_SYNC_OUT(); return; L_088D7EFC: @@ -7724,9 +7725,9 @@ L_088D7F24: goto L_088D7F2C; } L_088D7F2C: - ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16352))); + aot_gpr_2 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-16352))); { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (ctx.gpr[2] + static_cast(6028)); + aot_gpr_2 = (aot_gpr_2 + static_cast(6028)); if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0053_entry, 53u, 24u, 0x088D80FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } @@ -7741,10 +7742,10 @@ L_088D7F38: goto L_088D7F40; } L_088D7F40: - aot_gpr_4 = (ctx.gpr[28] + static_cast(8629)); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x088D7F50u); - aot_gpr_6 = (ctx.gpr[18] | 0u); + aot_gpr_4 = (aot_gpr_28 + static_cast(8629)); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_31 = (0x088D7F50u); + ctx.gpr[6] = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0021_entry, 21u, 37u, 0x08858218u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D7F50u) goto L_088D7F50; AOT_REGCACHE_SYNC_OUT(); return; L_088D7F50: @@ -7756,10 +7757,10 @@ L_088D7F50: goto L_088D7F58; } L_088D7F58: - aot_gpr_4 = (ctx.gpr[28] + static_cast(8629)); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x088D7F68u); - aot_gpr_6 = (ctx.gpr[18] | 0u); + aot_gpr_4 = (aot_gpr_28 + static_cast(8629)); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_31 = (0x088D7F68u); + ctx.gpr[6] = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0021_entry, 21u, 24u, 0x08858154u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D7F68u) goto L_088D7F68; AOT_REGCACHE_SYNC_OUT(); return; L_088D7F68: @@ -7803,9 +7804,9 @@ L_088D7F90: goto L_088D7F98; } L_088D7F98: - ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16352))); + aot_gpr_2 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-16352))); { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (ctx.gpr[2] + static_cast(6028)); + aot_gpr_2 = (aot_gpr_2 + static_cast(6028)); if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0053_entry, 53u, 24u, 0x088D80FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } @@ -7820,10 +7821,10 @@ L_088D7FA4: goto L_088D7FAC; } L_088D7FAC: - aot_gpr_4 = (ctx.gpr[28] + static_cast(8629)); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x088D7FBCu); - aot_gpr_6 = (ctx.gpr[18] | 0u); + aot_gpr_4 = (aot_gpr_28 + static_cast(8629)); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_31 = (0x088D7FBCu); + ctx.gpr[6] = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0020_entry, 20u, 490u, 0x08855F14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D7FBCu) goto L_088D7FBC; AOT_REGCACHE_SYNC_OUT(); return; L_088D7FBC: @@ -7835,10 +7836,10 @@ L_088D7FBC: goto L_088D7FC4; } L_088D7FC4: - aot_gpr_4 = (ctx.gpr[28] + static_cast(8629)); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x088D7FD4u); - aot_gpr_6 = (ctx.gpr[18] | 0u); + aot_gpr_4 = (aot_gpr_28 + static_cast(8629)); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_31 = (0x088D7FD4u); + ctx.gpr[6] = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0020_entry, 20u, 475u, 0x08855E38u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D7FD4u) goto L_088D7FD4; AOT_REGCACHE_SYNC_OUT(); return; L_088D7FD4: diff --git a/profiles/vcs/generated/generated_unit_0053.cpp b/profiles/vcs/generated/generated_unit_0053.cpp index fa1adfd..700c714 100644 --- a/profiles/vcs/generated/generated_unit_0053.cpp +++ b/profiles/vcs/generated/generated_unit_0053.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0053[4082] = { }; void recomp_unit_0053_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,16,5,31,18,29 fprs=12,20,13,22 gpr_occ=3788 fpr_occ=651 gpr_total=5101 fpr_total=879 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,16,31,28,2 fprs=12,20,13,22 gpr_occ=4044 fpr_occ=652 gpr_total=5552 fpr_total=880 std::uint32_t aot_gpr_4 = ctx.gpr[4]; - std::uint32_t aot_gpr_16 = ctx.gpr[16]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; + std::uint32_t aot_gpr_16 = ctx.gpr[16]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; - std::uint32_t aot_gpr_18 = ctx.gpr[18]; - std::uint32_t aot_gpr_29 = ctx.gpr[29]; + std::uint32_t aot_gpr_28 = ctx.gpr[28]; + std::uint32_t aot_gpr_2 = ctx.gpr[2]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_20 = ctx.fpr[20]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_22 = ctx.fpr[22]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[16] = aot_gpr_16; ctx.gpr[5] = aot_gpr_5; ctx.gpr[31] = aot_gpr_31; ctx.gpr[18] = aot_gpr_18; ctx.gpr[29] = aot_gpr_29; ctx.fpr[12] = aot_fpr_12; ctx.fpr[20] = aot_fpr_20; ctx.fpr[13] = aot_fpr_13; ctx.fpr[22] = aot_fpr_22; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_18 = ctx.gpr[18]; aot_gpr_29 = ctx.gpr[29]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_22 = ctx.fpr[22]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[16] = aot_gpr_16; ctx.gpr[31] = aot_gpr_31; ctx.gpr[28] = aot_gpr_28; ctx.gpr[2] = aot_gpr_2; ctx.fpr[12] = aot_fpr_12; ctx.fpr[20] = aot_fpr_20; ctx.fpr[13] = aot_fpr_13; ctx.fpr[22] = aot_fpr_22; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_28 = ctx.gpr[28]; aot_gpr_2 = ctx.gpr[2]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_22 = ctx.fpr[22]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -877,9 +878,9 @@ LOCAL_DISPATCH: } } L_088D8004: - ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16352))); + aot_gpr_2 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-16352))); { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (ctx.gpr[2] + static_cast(6028)); + aot_gpr_2 = (aot_gpr_2 + static_cast(6028)); if (branch_taken) { goto L_088D80FC; } @@ -894,10 +895,10 @@ L_088D8010: goto L_088D8018; } L_088D8018: - aot_gpr_4 = (ctx.gpr[28] + static_cast(8629)); + aot_gpr_4 = (aot_gpr_28 + static_cast(8629)); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088D8028u); - ctx.gpr[6] = (aot_gpr_18 | 0u); + ctx.gpr[6] = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0021_entry, 21u, 396u, 0x08859764u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D8028u) goto L_088D8028; AOT_REGCACHE_SYNC_OUT(); return; L_088D8028: @@ -909,10 +910,10 @@ L_088D8028: goto L_088D8030; } L_088D8030: - aot_gpr_4 = (ctx.gpr[28] + static_cast(8629)); + aot_gpr_4 = (aot_gpr_28 + static_cast(8629)); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088D8040u); - ctx.gpr[6] = (aot_gpr_18 | 0u); + ctx.gpr[6] = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0021_entry, 21u, 381u, 0x08859688u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D8040u) goto L_088D8040; AOT_REGCACHE_SYNC_OUT(); return; L_088D8040: @@ -970,10 +971,10 @@ L_088D8078: goto L_088D8080; } L_088D8080: - aot_gpr_4 = (ctx.gpr[28] + static_cast(8629)); + aot_gpr_4 = (aot_gpr_28 + static_cast(8629)); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088D8090u); - ctx.gpr[6] = (aot_gpr_18 | 0u); + ctx.gpr[6] = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0021_entry, 21u, 237u, 0x08858E40u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D8090u) goto L_088D8090; AOT_REGCACHE_SYNC_OUT(); return; L_088D8090: @@ -1001,10 +1002,10 @@ L_088D80A0: goto L_088D80A8; } L_088D80A8: - aot_gpr_4 = (ctx.gpr[28] + static_cast(8629)); + aot_gpr_4 = (aot_gpr_28 + static_cast(8629)); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088D80B8u); - ctx.gpr[6] = (aot_gpr_18 | 0u); + ctx.gpr[6] = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0021_entry, 21u, 282u, 0x088590D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D80B8u) goto L_088D80B8; AOT_REGCACHE_SYNC_OUT(); return; L_088D80B8: @@ -1016,10 +1017,10 @@ L_088D80B8: goto L_088D80C0; } L_088D80C0: - aot_gpr_4 = (ctx.gpr[28] + static_cast(8629)); + aot_gpr_4 = (aot_gpr_28 + static_cast(8629)); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088D80D0u); - ctx.gpr[6] = (aot_gpr_18 | 0u); + ctx.gpr[6] = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0021_entry, 21u, 252u, 0x08858F1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D80D0u) goto L_088D80D0; AOT_REGCACHE_SYNC_OUT(); return; L_088D80D0: @@ -1031,10 +1032,10 @@ L_088D80D0: goto L_088D80D8; } L_088D80D8: - aot_gpr_4 = (ctx.gpr[28] + static_cast(8629)); + aot_gpr_4 = (aot_gpr_28 + static_cast(8629)); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088D80E8u); - ctx.gpr[6] = (aot_gpr_18 | 0u); + ctx.gpr[6] = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0021_entry, 21u, 267u, 0x08858FF8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D80E8u) goto L_088D80E8; AOT_REGCACHE_SYNC_OUT(); return; L_088D80E8: @@ -1046,9 +1047,9 @@ L_088D80E8: goto L_088D80F0; } L_088D80F0: - ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16352))); + aot_gpr_2 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-16352))); { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (ctx.gpr[2] + static_cast(6028)); + aot_gpr_2 = (aot_gpr_2 + static_cast(6028)); if (branch_taken) { goto L_088D80FC; } @@ -1056,25 +1057,25 @@ L_088D80F0: } L_088D80FC: { std::uint32_t aot_run_words[4]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; - aot_gpr_18 = aot_run_words[2]; + ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_088D8114: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); ctx.gpr[7] = (aot_gpr_5 | 0u); ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(21528))); aot_gpr_5 = (aot_gpr_4 | 0u); ctx.gpr[6] = (ctx.gpr[6] & 65535u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); { const bool branch_taken = ctx.gpr[8] != 0u; aot_gpr_4 = (ctx.gpr[7] | 0u); if (branch_taken) { @@ -1100,16 +1101,16 @@ L_088D8140: goto L_088D8148; } L_088D8148: - ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16352))); + aot_gpr_2 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-16352))); { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (ctx.gpr[2] + static_cast(6028)); + aot_gpr_2 = (aot_gpr_2 + static_cast(6028)); if (branch_taken) { goto L_088D85B0; } goto L_088D8154; } L_088D8154: - ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23560))); + ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23560))); { const bool branch_taken = ctx.gpr[7] == 0u; // nop if (branch_taken) { @@ -1119,19 +1120,19 @@ L_088D8154: } L_088D8160: aot_gpr_4 = (ctx.gpr[7] + static_cast(1)); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-23560), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23560))); - ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16352))); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-23560), static_cast(aot_gpr_4)); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23560))); + aot_gpr_2 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-16352))); aot_gpr_5 = (0u | 4u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; - ctx.gpr[2] = (ctx.gpr[2] + static_cast(6028)); + aot_gpr_2 = (aot_gpr_2 + static_cast(6028)); if (branch_taken) { goto L_088D8180; } goto L_088D817C; } L_088D817C: - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-23560), static_cast(0u)); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-23560), static_cast(0u)); goto L_088D8180; L_088D8180: { const bool branch_taken = 0u == 0u; @@ -1143,7 +1144,7 @@ L_088D8180: } L_088D8188: ctx.gpr[7] = (0u | 1u); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-23560), static_cast(ctx.gpr[7])); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-23560), static_cast(ctx.gpr[7])); goto L_088D8190; L_088D8190: ctx.gpr[7] = (0u | 115u); @@ -1155,7 +1156,7 @@ L_088D8190: goto L_088D819C; } L_088D819C: - ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23559))); + ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23559))); { const bool branch_taken = ctx.gpr[7] == 0u; // nop if (branch_taken) { @@ -1165,19 +1166,19 @@ L_088D819C: } L_088D81A8: aot_gpr_4 = (ctx.gpr[7] + static_cast(1)); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-23559), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23559))); - ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16352))); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-23559), static_cast(aot_gpr_4)); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23559))); + aot_gpr_2 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-16352))); aot_gpr_5 = (0u | 8u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; - ctx.gpr[2] = (ctx.gpr[2] + static_cast(6028)); + aot_gpr_2 = (aot_gpr_2 + static_cast(6028)); if (branch_taken) { goto L_088D81C8; } goto L_088D81C4; } L_088D81C4: - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-23559), static_cast(0u)); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-23559), static_cast(0u)); goto L_088D81C8; L_088D81C8: { const bool branch_taken = 0u == 0u; @@ -1189,7 +1190,7 @@ L_088D81C8: } L_088D81D0: ctx.gpr[7] = (0u | 1u); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-23559), static_cast(ctx.gpr[7])); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-23559), static_cast(ctx.gpr[7])); goto L_088D81D8; L_088D81D8: ctx.gpr[7] = (0u | 147u); @@ -1201,7 +1202,7 @@ L_088D81D8: goto L_088D81E4; } L_088D81E4: - ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23558))); + ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23558))); { const bool branch_taken = ctx.gpr[7] == 0u; // nop if (branch_taken) { @@ -1211,19 +1212,19 @@ L_088D81E4: } L_088D81F0: aot_gpr_4 = (ctx.gpr[7] + static_cast(1)); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-23558), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23558))); - ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16352))); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-23558), static_cast(aot_gpr_4)); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23558))); + aot_gpr_2 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-16352))); aot_gpr_5 = (0u | 4u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; - ctx.gpr[2] = (ctx.gpr[2] + static_cast(6028)); + aot_gpr_2 = (aot_gpr_2 + static_cast(6028)); if (branch_taken) { goto L_088D8210; } goto L_088D820C; } L_088D820C: - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-23558), static_cast(0u)); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-23558), static_cast(0u)); goto L_088D8210; L_088D8210: { const bool branch_taken = 0u == 0u; @@ -1235,7 +1236,7 @@ L_088D8210: } L_088D8218: ctx.gpr[7] = (0u | 1u); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-23558), static_cast(ctx.gpr[7])); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-23558), static_cast(ctx.gpr[7])); goto L_088D8220; L_088D8220: ctx.gpr[7] = (0u | 120u); @@ -1247,7 +1248,7 @@ L_088D8220: goto L_088D822C; } L_088D822C: - ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23557))); + ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23557))); { const bool branch_taken = ctx.gpr[7] == 0u; // nop if (branch_taken) { @@ -1257,19 +1258,19 @@ L_088D822C: } L_088D8238: aot_gpr_4 = (ctx.gpr[7] + static_cast(1)); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-23557), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23557))); - ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16352))); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-23557), static_cast(aot_gpr_4)); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23557))); + aot_gpr_2 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-16352))); aot_gpr_5 = (0u | 4u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; - ctx.gpr[2] = (ctx.gpr[2] + static_cast(6028)); + aot_gpr_2 = (aot_gpr_2 + static_cast(6028)); if (branch_taken) { goto L_088D8258; } goto L_088D8254; } L_088D8254: - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-23557), static_cast(0u)); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-23557), static_cast(0u)); goto L_088D8258; L_088D8258: { const bool branch_taken = 0u == 0u; @@ -1281,7 +1282,7 @@ L_088D8258: } L_088D8260: ctx.gpr[7] = (0u | 1u); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-23557), static_cast(ctx.gpr[7])); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-23557), static_cast(ctx.gpr[7])); goto L_088D8268; L_088D8268: ctx.gpr[7] = (0u | 122u); @@ -1293,7 +1294,7 @@ L_088D8268: goto L_088D8274; } L_088D8274: - ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23556))); + ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23556))); { const bool branch_taken = ctx.gpr[7] == 0u; // nop if (branch_taken) { @@ -1303,19 +1304,19 @@ L_088D8274: } L_088D8280: aot_gpr_4 = (ctx.gpr[7] + static_cast(1)); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-23556), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23556))); - ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16352))); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-23556), static_cast(aot_gpr_4)); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23556))); + aot_gpr_2 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-16352))); aot_gpr_5 = (0u | 2u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; - ctx.gpr[2] = (ctx.gpr[2] + static_cast(6028)); + aot_gpr_2 = (aot_gpr_2 + static_cast(6028)); if (branch_taken) { goto L_088D82A0; } goto L_088D829C; } L_088D829C: - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-23556), static_cast(0u)); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-23556), static_cast(0u)); goto L_088D82A0; L_088D82A0: { const bool branch_taken = 0u == 0u; @@ -1327,7 +1328,7 @@ L_088D82A0: } L_088D82A8: ctx.gpr[7] = (0u | 1u); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-23556), static_cast(ctx.gpr[7])); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-23556), static_cast(ctx.gpr[7])); goto L_088D82B0; L_088D82B0: ctx.gpr[7] = (0u | 145u); @@ -1355,7 +1356,7 @@ L_088D82C4: goto L_088D82CC; } L_088D82CC: - ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23555))); + ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23555))); { const bool branch_taken = ctx.gpr[7] == 0u; // nop if (branch_taken) { @@ -1365,19 +1366,19 @@ L_088D82CC: } L_088D82D8: aot_gpr_4 = (ctx.gpr[7] + static_cast(1)); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-23555), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23555))); - ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16352))); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-23555), static_cast(aot_gpr_4)); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23555))); + aot_gpr_2 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-16352))); aot_gpr_5 = (0u | 4u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; - ctx.gpr[2] = (ctx.gpr[2] + static_cast(6028)); + aot_gpr_2 = (aot_gpr_2 + static_cast(6028)); if (branch_taken) { goto L_088D82F8; } goto L_088D82F4; } L_088D82F4: - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-23555), static_cast(0u)); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-23555), static_cast(0u)); goto L_088D82F8; L_088D82F8: { const bool branch_taken = 0u == 0u; @@ -1389,7 +1390,7 @@ L_088D82F8: } L_088D8300: ctx.gpr[7] = (0u | 1u); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-23555), static_cast(ctx.gpr[7])); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-23555), static_cast(ctx.gpr[7])); goto L_088D8308; L_088D8308: ctx.gpr[7] = (0u | 135u); @@ -1401,7 +1402,7 @@ L_088D8308: goto L_088D8314; } L_088D8314: - ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23554))); + ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23554))); { const bool branch_taken = ctx.gpr[7] == 0u; // nop if (branch_taken) { @@ -1411,19 +1412,19 @@ L_088D8314: } L_088D8320: aot_gpr_4 = (ctx.gpr[7] + static_cast(1)); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-23554), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23554))); - ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16352))); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-23554), static_cast(aot_gpr_4)); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23554))); + aot_gpr_2 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-16352))); aot_gpr_5 = (0u | 4u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; - ctx.gpr[2] = (ctx.gpr[2] + static_cast(6028)); + aot_gpr_2 = (aot_gpr_2 + static_cast(6028)); if (branch_taken) { goto L_088D8340; } goto L_088D833C; } L_088D833C: - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-23554), static_cast(0u)); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-23554), static_cast(0u)); goto L_088D8340; L_088D8340: { const bool branch_taken = 0u == 0u; @@ -1435,7 +1436,7 @@ L_088D8340: } L_088D8348: ctx.gpr[7] = (0u | 1u); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-23554), static_cast(ctx.gpr[7])); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-23554), static_cast(ctx.gpr[7])); goto L_088D8350; L_088D8350: ctx.gpr[7] = (0u | 107u); @@ -1467,7 +1468,7 @@ L_088D8370: ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(21529))); ctx.gpr[8] = (static_cast(ctx.gpr[7]) < 2 ? 1u : 0u); { const bool branch_taken = ctx.gpr[8] != 0u; - aot_gpr_5 = (ctx.gpr[28] + static_cast(8629)); + aot_gpr_5 = (aot_gpr_28 + static_cast(8629)); if (branch_taken) { goto L_088D83DC; } @@ -1484,15 +1485,15 @@ L_088D8380: L_088D8388: ctx.gpr[6] = (aot_gpr_4 + static_cast(1724)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); ctx.gpr[7] = (0u | 3336u); aot_gpr_31 = (0x088D83A0u); ctx.gpr[8] = (0u | 19u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D83A0u) goto L_088D83A0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088C95D8, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0049_entry, 49u, 283u, 0x088C95D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D83A0u) goto L_088D83A0; AOT_REGCACHE_SYNC_OUT(); return; L_088D83A0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_2 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); if (branch_taken) { goto L_088D85B0; } @@ -1518,7 +1519,7 @@ L_088D83B8: ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(21529))); ctx.gpr[8] = (static_cast(ctx.gpr[7]) < 2 ? 1u : 0u); { const bool branch_taken = ctx.gpr[8] != 0u; - aot_gpr_5 = (ctx.gpr[28] + static_cast(8629)); + aot_gpr_5 = (aot_gpr_28 + static_cast(8629)); if (branch_taken) { goto L_088D8520; } @@ -1533,9 +1534,9 @@ L_088D83C8: goto L_088D83D0; } L_088D83D0: - ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16352))); + aot_gpr_2 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-16352))); { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (ctx.gpr[2] + static_cast(6028)); + aot_gpr_2 = (aot_gpr_2 + static_cast(6028)); if (branch_taken) { goto L_088D85B0; } @@ -1652,7 +1653,7 @@ L_088D8474: ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(21529))); ctx.gpr[8] = (static_cast(ctx.gpr[7]) < 2 ? 1u : 0u); { const bool branch_taken = ctx.gpr[8] == 0u; - aot_gpr_5 = (ctx.gpr[28] + static_cast(8629)); + aot_gpr_5 = (aot_gpr_28 + static_cast(8629)); if (branch_taken) { goto L_088D84AC; } @@ -1866,59 +1867,59 @@ L_088D85A0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0021_entry, 21u, 583u, 0x0885A314u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D85B0u) goto L_088D85B0; AOT_REGCACHE_SYNC_OUT(); return; L_088D85B0: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_088D85BC: - aot_gpr_29 = (aot_gpr_29 + static_cast(-64)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), ctx.gpr[20]); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-64)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(24), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(40), ctx.gpr[20]); ctx.gpr[20] = (aot_gpr_4 + static_cast(96)); aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_4 = (18204u << 16u); aot_gpr_4 = (aot_gpr_4 | 16384u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), std::bit_cast(aot_fpr_20)); aot_fpr_20 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (18095u << 16u); aot_gpr_4 = (aot_gpr_4 | 51200u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), std::bit_cast(ctx.fpr[26])); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(12), std::bit_cast(ctx.fpr[26])); ctx.fpr[26] = std::bit_cast(aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), std::bit_cast(ctx.fpr[24])); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(8), std::bit_cast(ctx.fpr[24])); aot_gpr_4 = (17224u << 16u); ctx.fpr[24] = std::bit_cast(aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), std::bit_cast(ctx.fpr[28])); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(16), std::bit_cast(ctx.fpr[28])); aot_gpr_4 = (17174u << 16u); ctx.fpr[28] = std::bit_cast(aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), ctx.gpr[21]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(44), ctx.gpr[21]); ctx.gpr[21] = (2237u << 16u); aot_gpr_4 = (16384u << 16u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), std::bit_cast(ctx.fpr[30])); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), aot_gpr_18); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), ctx.gpr[19]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(20), std::bit_cast(ctx.fpr[30])); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(32), ctx.gpr[18]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(36), ctx.gpr[19]); { const std::uint32_t aot_run_words[3]{ctx.gpr[22], ctx.gpr[23], ctx.gpr[30]}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(48), aot_run_words); } + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(48), aot_run_words); } ctx.fpr[30] = std::bit_cast(aot_gpr_4); - aot_gpr_18 = (0u | 0u); + ctx.gpr[18] = (0u | 0u); ctx.gpr[19] = (0u | 1u); ctx.gpr[30] = (0u | 175u); ctx.gpr[23] = (0u | 6u); ctx.gpr[22] = (0u | 10u); ctx.gpr[21] = (ctx.gpr[21] + static_cast(-28320)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), std::bit_cast(aot_fpr_22)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), ctx.gpr[17]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(60), aot_gpr_31); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), std::bit_cast(aot_fpr_22)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(28), ctx.gpr[17]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(60), aot_gpr_31); goto L_088D8654; L_088D8654: aot_gpr_31 = (0x088D865Cu); - aot_gpr_4 = (aot_gpr_18 | 0u); + aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0121_entry, 121u, 245u, 0x089E93CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D865Cu) goto L_088D865C; AOT_REGCACHE_SYNC_OUT(); return; L_088D865C: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_088D866C; @@ -1935,12 +1936,12 @@ L_088D8664: } L_088D866C: aot_gpr_31 = (0x088D8674u); - aot_gpr_4 = (aot_gpr_18 | 0u); + aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0121_entry, 121u, 243u, 0x089E9384u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D8674u) goto L_088D8674; AOT_REGCACHE_SYNC_OUT(); return; L_088D8674: aot_gpr_4 = (0u | 1u); - { const bool branch_taken = ctx.gpr[2] != aot_gpr_4; + { const bool branch_taken = aot_gpr_2 != aot_gpr_4; // nop if (branch_taken) { goto L_088D881C; @@ -1949,16 +1950,16 @@ L_088D8674: } L_088D8680: aot_gpr_31 = (0x088D8688u); - aot_gpr_4 = (aot_gpr_18 | 0u); + aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0121_entry, 121u, 244u, 0x089E93A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D8688u) goto L_088D8688; AOT_REGCACHE_SYNC_OUT(); return; L_088D8688: aot_gpr_31 = (0x088D8690u); - aot_gpr_4 = (aot_gpr_18 | 0u); + aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0121_entry, 121u, 246u, 0x089E93F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D8690u) goto L_088D8690; AOT_REGCACHE_SYNC_OUT(); return; L_088D8690: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); aot_gpr_4 = (ctx.gpr[17] < static_cast(12) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -1986,10 +1987,10 @@ L_088D86B8: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088D86D4u); aot_gpr_5 = (0u | 1000u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D86D4u) goto L_088D86D4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089B7A84, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D86D4u) goto L_088D86D4; AOT_REGCACHE_SYNC_OUT(); return; L_088D86D4: - aot_gpr_4 = (ctx.gpr[2] + static_cast(19000)); + aot_gpr_4 = (aot_gpr_2 + static_cast(19000)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), 0u); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(60), static_cast(0u)); @@ -2009,10 +2010,10 @@ L_088D86F0: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088D870Cu); aot_gpr_5 = (0u | 1000u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D870Cu) goto L_088D870C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089B7A84, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D870Cu) goto L_088D870C; AOT_REGCACHE_SYNC_OUT(); return; L_088D870C: - aot_gpr_4 = (ctx.gpr[2] + static_cast(12347)); + aot_gpr_4 = (aot_gpr_2 + static_cast(12347)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), 0u); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(60), static_cast(0u)); @@ -2032,10 +2033,10 @@ L_088D8728: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088D8744u); aot_gpr_5 = (0u | 1000u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D8744u) goto L_088D8744; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089B7A84, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D8744u) goto L_088D8744; AOT_REGCACHE_SYNC_OUT(); return; L_088D8744: - aot_gpr_4 = (ctx.gpr[2] + static_cast(19000)); + aot_gpr_4 = (aot_gpr_2 + static_cast(19000)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), 0u); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(60), static_cast(0u)); @@ -2054,10 +2055,10 @@ L_088D8760: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088D8778u); aot_gpr_5 = (0u | 1000u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D8778u) goto L_088D8778; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089B7A84, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D8778u) goto L_088D8778; AOT_REGCACHE_SYNC_OUT(); return; L_088D8778: - aot_gpr_4 = (ctx.gpr[2] + static_cast(19500)); + aot_gpr_4 = (aot_gpr_2 + static_cast(19500)); { const bool branch_taken = ctx.gpr[17] != ctx.gpr[23]; aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_4); if (branch_taken) { @@ -2079,11 +2080,11 @@ L_088D8798: goto L_088D87A4; L_088D87A4: aot_gpr_31 = (0x088D87ACu); - aot_gpr_4 = (aot_gpr_18 | 0u); + aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0121_entry, 121u, 247u, 0x089E9414u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D87ACu) goto L_088D87AC; AOT_REGCACHE_SYNC_OUT(); return; L_088D87AC: - { const std::uint32_t vfpu_address = ctx.gpr[2] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_2 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -2122,7 +2123,7 @@ L_088D87D4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0109_entry, 109u, 21u, 0x089B8190u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D87ECu) goto L_088D87EC; AOT_REGCACHE_SYNC_OUT(); return; L_088D87EC: - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(72), static_cast(ctx.gpr[2])); + aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(72), static_cast(aot_gpr_2)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(72))); { const bool branch_taken = static_cast(aot_gpr_4) <= 0; // nop @@ -2132,7 +2133,7 @@ L_088D87EC: goto L_088D87FC; } L_088D87FC: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(52), aot_gpr_18); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(52), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(84), std::bit_cast(ctx.fpr[30])); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(61), static_cast(0u)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(80), ctx.gpr[19]); @@ -2143,9 +2144,9 @@ L_088D87FC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 703u, 0x089B7B80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D881Cu) goto L_088D881C; AOT_REGCACHE_SYNC_OUT(); return; L_088D881C: - aot_gpr_18 = (aot_gpr_18 + static_cast(1)); - aot_gpr_18 = (aot_gpr_18 & 255u); - aot_gpr_4 = (static_cast(aot_gpr_18) < 48 ? 1u : 0u); + ctx.gpr[18] = (ctx.gpr[18] + static_cast(1)); + ctx.gpr[18] = (ctx.gpr[18] & 255u); + aot_gpr_4 = (static_cast(ctx.gpr[18]) < 48 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -2155,7 +2156,7 @@ L_088D881C: } L_088D8830: { std::uint32_t aot_run_words[16]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(0), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); aot_fpr_22 = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); @@ -2164,7 +2165,7 @@ L_088D8830: ctx.fpr[30] = std::bit_cast(aot_run_words[5]); aot_gpr_16 = aot_run_words[6]; ctx.gpr[17] = aot_run_words[7]; - aot_gpr_18 = aot_run_words[8]; + ctx.gpr[18] = aot_run_words[8]; ctx.gpr[19] = aot_run_words[9]; ctx.gpr[20] = aot_run_words[10]; ctx.gpr[21] = aot_run_words[11]; @@ -2174,57 +2175,57 @@ L_088D8830: aot_gpr_31 = aot_run_words[15]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(64)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(64)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_088D8878: - aot_gpr_29 = (aot_gpr_29 + static_cast(-80)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), aot_gpr_16); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-80)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(40), aot_gpr_16); ctx.gpr[6] = (aot_gpr_4 + static_cast(96)); aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_4 = (17864u << 16u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), std::bit_cast(ctx.fpr[24])); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(24), std::bit_cast(ctx.fpr[24])); ctx.fpr[24] = std::bit_cast(aot_gpr_4); aot_gpr_5 = (2238u << 16u); aot_gpr_4 = (17056u << 16u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), std::bit_cast(aot_fpr_22)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(20), std::bit_cast(aot_fpr_22)); aot_gpr_5 = (aot_gpr_5 + static_cast(14864)); aot_fpr_22 = std::bit_cast(aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(8), aot_gpr_5); aot_gpr_4 = (16840u << 16u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), std::bit_cast(ctx.fpr[30])); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(36), std::bit_cast(ctx.fpr[30])); aot_gpr_5 = (aot_gpr_5 + static_cast(32)); ctx.fpr[30] = std::bit_cast(aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(12), aot_gpr_5); aot_gpr_4 = (16384u << 16u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), std::bit_cast(ctx.fpr[26])); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(28), std::bit_cast(ctx.fpr[26])); aot_gpr_5 = (2237u << 16u); ctx.fpr[26] = std::bit_cast(aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[6]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), ctx.gpr[6]); aot_gpr_5 = (aot_gpr_5 + static_cast(-28320)); aot_gpr_4 = (17352u << 16u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), std::bit_cast(ctx.fpr[28])); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), aot_gpr_18); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(32), std::bit_cast(ctx.fpr[28])); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(48), ctx.gpr[18]); { const std::uint32_t aot_run_words[4]{ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30]}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(60), aot_run_words); } + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(60), aot_run_words); } ctx.fpr[28] = std::bit_cast(aot_gpr_4); ctx.gpr[30] = (0u | 0u); - aot_gpr_18 = (0u | 0u); + ctx.gpr[18] = (0u | 0u); ctx.gpr[23] = (0u | 80u); - ctx.gpr[21] = (ctx.gpr[28] + static_cast(7696)); + ctx.gpr[21] = (aot_gpr_28 + static_cast(7696)); ctx.gpr[22] = (0u | 10u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), std::bit_cast(aot_fpr_20)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), ctx.gpr[17]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), ctx.gpr[19]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), ctx.gpr[20]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(76), aot_gpr_31); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(16), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(44), ctx.gpr[17]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(52), ctx.gpr[19]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(56), ctx.gpr[20]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(76), aot_gpr_31); goto L_088D8924; L_088D8924: - ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); - ctx.gpr[20] = (aot_gpr_18 << 6u); + ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(8))); + ctx.gpr[20] = (ctx.gpr[18] << 6u); ctx.gpr[19] = (ctx.gpr[20] + ctx.gpr[19]); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[19] + static_cast(16))); { const bool branch_taken = aot_gpr_4 == 0u; @@ -2259,17 +2260,17 @@ L_088D8954: aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x088D896Cu); aot_gpr_5 = (0u | 80u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D896Cu) goto L_088D896C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D896Cu) goto L_088D896C; AOT_REGCACHE_SYNC_OUT(); return; L_088D896C: - aot_gpr_4 = (ctx.gpr[2] >> 8u); - { const std::int64_t product = static_cast(static_cast(aot_gpr_18)) * static_cast(static_cast(aot_gpr_4)); ctx.lo = static_cast(product); ctx.hi = static_cast(static_cast(product) >> 32u); } - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), ctx.gpr[2]); + aot_gpr_4 = (aot_gpr_2 >> 8u); + { const std::int64_t product = static_cast(static_cast(ctx.gpr[18])) * static_cast(static_cast(aot_gpr_4)); ctx.lo = static_cast(product); ctx.hi = static_cast(static_cast(product) >> 32u); } + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_2); aot_gpr_4 = (0u | 8u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), aot_gpr_4); ctx.gpr[17] = (0u | 80u); aot_gpr_4 = (ctx.lo); - aot_gpr_4 = (ctx.gpr[2] + aot_gpr_4); + aot_gpr_4 = (aot_gpr_2 + aot_gpr_4); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_4); if (branch_taken) { @@ -2305,10 +2306,10 @@ L_088D89B8: aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x088D89D0u); aot_gpr_5 = (0u | 80u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D89D0u) goto L_088D89D0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D89D0u) goto L_088D89D0; AOT_REGCACHE_SYNC_OUT(); return; L_088D89D0: - aot_gpr_4 = (ctx.gpr[2] << 3u); + aot_gpr_4 = (aot_gpr_2 << 3u); { const std::uint32_t dividend = aot_gpr_4; const std::uint32_t divisor = ctx.gpr[22]; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } aot_gpr_4 = (0u | 6u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), aot_gpr_4); @@ -2316,7 +2317,7 @@ L_088D89D0: aot_gpr_4 = (ctx.lo); aot_gpr_5 = (aot_gpr_4 >> 8u); // nop - { const std::int64_t product = static_cast(static_cast(aot_gpr_18)) * static_cast(static_cast(aot_gpr_5)); ctx.lo = static_cast(product); ctx.hi = static_cast(static_cast(product) >> 32u); } + { const std::int64_t product = static_cast(static_cast(ctx.gpr[18])) * static_cast(static_cast(aot_gpr_5)); ctx.lo = static_cast(product); ctx.hi = static_cast(static_cast(product) >> 32u); } aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_4); aot_gpr_5 = (ctx.lo); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); @@ -2345,16 +2346,16 @@ L_088D8A10: aot_gpr_5 = (0u | 268u); aot_gpr_31 = (0x088D8A34u); aot_gpr_4 = (ctx.gpr[21] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D8A34u) goto L_088D8A34; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D8A34u) goto L_088D8A34; AOT_REGCACHE_SYNC_OUT(); return; L_088D8A34: - aot_gpr_4 = (ctx.gpr[2] >> 8u); - { const std::int64_t product = static_cast(static_cast(aot_gpr_18)) * static_cast(static_cast(aot_gpr_4)); ctx.lo = static_cast(product); ctx.hi = static_cast(static_cast(product) >> 32u); } - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), ctx.gpr[2]); + aot_gpr_4 = (aot_gpr_2 >> 8u); + { const std::int64_t product = static_cast(static_cast(ctx.gpr[18])) * static_cast(static_cast(aot_gpr_4)); ctx.lo = static_cast(product); ctx.hi = static_cast(static_cast(product) >> 32u); } + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_2); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), ctx.gpr[22]); ctx.gpr[17] = (0u | 60u); aot_gpr_4 = (ctx.lo); - aot_gpr_4 = (ctx.gpr[2] + aot_gpr_4); + aot_gpr_4 = (aot_gpr_2 + aot_gpr_4); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_4); if (branch_taken) { @@ -2369,21 +2370,21 @@ L_088D8A58: aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x088D8A70u); aot_gpr_5 = (0u | 80u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D8A70u) goto L_088D8A70; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D8A70u) goto L_088D8A70; AOT_REGCACHE_SYNC_OUT(); return; L_088D8A70: - aot_gpr_4 = (ctx.gpr[2] >> 8u); - { const std::int64_t product = static_cast(static_cast(aot_gpr_18)) * static_cast(static_cast(aot_gpr_4)); ctx.lo = static_cast(product); ctx.hi = static_cast(static_cast(product) >> 32u); } - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), ctx.gpr[2]); + aot_gpr_4 = (aot_gpr_2 >> 8u); + { const std::int64_t product = static_cast(static_cast(ctx.gpr[18])) * static_cast(static_cast(aot_gpr_4)); ctx.lo = static_cast(product); ctx.hi = static_cast(static_cast(product) >> 32u); } + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_2); aot_gpr_4 = (0u | 8u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), aot_gpr_4); ctx.gpr[17] = (0u | 80u); aot_gpr_4 = (ctx.lo); - aot_gpr_4 = (ctx.gpr[2] + aot_gpr_4); + aot_gpr_4 = (aot_gpr_2 + aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_4); goto L_088D8A94; L_088D8A94: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(12))); aot_gpr_4 = (ctx.gpr[20] + aot_gpr_4); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; @@ -2394,7 +2395,7 @@ L_088D8A94: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; @@ -2432,7 +2433,7 @@ L_088D8ACC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0109_entry, 109u, 21u, 0x089B8190u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D8AE4u) goto L_088D8AE4; AOT_REGCACHE_SYNC_OUT(); return; L_088D8AE4: - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(72), static_cast(ctx.gpr[2])); + aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(72), static_cast(aot_gpr_2)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(72))); { const bool branch_taken = static_cast(aot_gpr_4) <= 0; // nop @@ -2442,14 +2443,14 @@ L_088D8AE4: goto L_088D8AF4; } L_088D8AF4: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(52), aot_gpr_18); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(52), ctx.gpr[18]); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(60), static_cast(0u)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(84), std::bit_cast(ctx.fpr[26])); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(116), ctx.gpr[22]); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(61), static_cast(0u)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(80), 0u); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(92), static_cast(0u)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); ctx.gpr[30] = (ctx.gpr[30] + static_cast(1)); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(113), static_cast(0u)); aot_gpr_31 = (0x088D8B24u); @@ -2479,10 +2480,10 @@ L_088D8B30: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0109_entry, 109u, 21u, 0x089B8190u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D8B58u) goto L_088D8B58; AOT_REGCACHE_SYNC_OUT(); return; L_088D8B58: - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(72), static_cast(ctx.gpr[2])); + aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(72), static_cast(aot_gpr_2)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(72))); { const bool branch_taken = static_cast(aot_gpr_4) <= 0; - aot_gpr_4 = (aot_gpr_18 << 5u); + aot_gpr_4 = (ctx.gpr[18] << 5u); if (branch_taken) { goto L_088D8BCC; } @@ -2490,9 +2491,9 @@ L_088D8B58: } L_088D8B68: aot_gpr_5 = (0u | 228u); - aot_gpr_4 = (aot_gpr_18 - aot_gpr_4); + aot_gpr_4 = (ctx.gpr[18] - aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), aot_gpr_5); - aot_gpr_5 = (aot_gpr_18 + aot_gpr_4); + aot_gpr_5 = (ctx.gpr[18] + aot_gpr_4); aot_gpr_5 = (aot_gpr_5 << 2u); ctx.gpr[6] = (0u | 23000u); aot_gpr_4 = (aot_gpr_4 - aot_gpr_5); @@ -2501,7 +2502,7 @@ L_088D8B68: aot_gpr_5 = (0u | 9u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), aot_gpr_5); - aot_gpr_4 = (aot_gpr_18 + static_cast(40)); + aot_gpr_4 = (ctx.gpr[18] + static_cast(40)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(52), aot_gpr_4); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(60), static_cast(0u)); aot_gpr_4 = (0u | 20u); @@ -2510,16 +2511,16 @@ L_088D8B68: aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(61), static_cast(0u)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(80), 0u); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(92), static_cast(0u)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(113), static_cast(0u)); aot_gpr_31 = (0x088D8BCCu); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 703u, 0x089B7B80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D8BCCu) goto L_088D8BCC; AOT_REGCACHE_SYNC_OUT(); return; L_088D8BCC: - aot_gpr_18 = (aot_gpr_18 + static_cast(1)); - aot_gpr_18 = (aot_gpr_18 & 255u); - aot_gpr_4 = (static_cast(aot_gpr_18) < 40 ? 1u : 0u); + ctx.gpr[18] = (ctx.gpr[18] + static_cast(1)); + ctx.gpr[18] = (ctx.gpr[18] & 255u); + aot_gpr_4 = (static_cast(ctx.gpr[18]) < 40 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -2529,7 +2530,7 @@ L_088D8BCC: } L_088D8BE0: { std::uint32_t aot_run_words[16]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(16), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); aot_fpr_22 = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); @@ -2538,7 +2539,7 @@ L_088D8BE0: ctx.fpr[30] = std::bit_cast(aot_run_words[5]); aot_gpr_16 = aot_run_words[6]; ctx.gpr[17] = aot_run_words[7]; - aot_gpr_18 = aot_run_words[8]; + ctx.gpr[18] = aot_run_words[8]; ctx.gpr[19] = aot_run_words[9]; ctx.gpr[20] = aot_run_words[10]; ctx.gpr[21] = aot_run_words[11]; @@ -2548,20 +2549,20 @@ L_088D8BE0: aot_gpr_31 = aot_run_words[15]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(80)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(80)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_088D8C28: - aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_16); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-48)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(28), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_5 & 255u); aot_gpr_5 = (aot_gpr_4 < static_cast(88) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), std::bit_cast(aot_fpr_20)); - { const std::uint32_t aot_run_words[4]{ctx.gpr[17], aot_gpr_18, ctx.gpr[19], aot_gpr_31}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(32), aot_run_words); } + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(24), std::bit_cast(aot_fpr_20)); + { const std::uint32_t aot_run_words[4]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(32), aot_run_words); } { const bool branch_taken = aot_gpr_5 == 0u; ctx.gpr[17] = (0u | 0u); if (branch_taken) { @@ -2590,16 +2591,16 @@ L_088D8C70: aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(60), static_cast(0u)); aot_fpr_20 = std::bit_cast(ctx.gpr[6]); aot_gpr_31 = (0x088D8C98u); - aot_gpr_4 = (ctx.gpr[28] + static_cast(7696)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D8C98u) goto L_088D8C98; + aot_gpr_4 = (aot_gpr_28 + static_cast(7696)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D8C98u) goto L_088D8C98; AOT_REGCACHE_SYNC_OUT(); return; L_088D8C98: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_2); aot_gpr_4 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), aot_gpr_4); aot_gpr_4 = (16256u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_gpr_18 = (0u | 70u); + ctx.gpr[18] = (0u | 70u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(84), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(61), static_cast(0u)); { const bool branch_taken = 0u == 0u; @@ -2619,16 +2620,16 @@ L_088D8CC0: aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(60), static_cast(0u)); aot_fpr_20 = std::bit_cast(ctx.gpr[6]); aot_gpr_31 = (0x088D8CE8u); - aot_gpr_4 = (ctx.gpr[28] + static_cast(7696)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D8CE8u) goto L_088D8CE8; + aot_gpr_4 = (aot_gpr_28 + static_cast(7696)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D8CE8u) goto L_088D8CE8; AOT_REGCACHE_SYNC_OUT(); return; L_088D8CE8: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_2); aot_gpr_4 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), aot_gpr_4); aot_gpr_4 = (16256u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_gpr_18 = (0u | 70u); + ctx.gpr[18] = (0u | 70u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(84), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(61), static_cast(0u)); { const bool branch_taken = 0u == 0u; @@ -2648,16 +2649,16 @@ L_088D8D10: aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(60), static_cast(0u)); aot_fpr_20 = std::bit_cast(ctx.gpr[6]); aot_gpr_31 = (0x088D8D38u); - aot_gpr_4 = (ctx.gpr[28] + static_cast(7696)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D8D38u) goto L_088D8D38; + aot_gpr_4 = (aot_gpr_28 + static_cast(7696)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D8D38u) goto L_088D8D38; AOT_REGCACHE_SYNC_OUT(); return; L_088D8D38: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_2); aot_gpr_4 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), aot_gpr_4); aot_gpr_4 = (16256u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_gpr_18 = (0u | 70u); + ctx.gpr[18] = (0u | 70u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(84), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(61), static_cast(0u)); { const bool branch_taken = 0u == 0u; @@ -2677,16 +2678,16 @@ L_088D8D60: aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(60), static_cast(0u)); aot_fpr_20 = std::bit_cast(ctx.gpr[6]); aot_gpr_31 = (0x088D8D88u); - aot_gpr_4 = (ctx.gpr[28] + static_cast(7696)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D8D88u) goto L_088D8D88; + aot_gpr_4 = (aot_gpr_28 + static_cast(7696)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D8D88u) goto L_088D8D88; AOT_REGCACHE_SYNC_OUT(); return; L_088D8D88: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_2); aot_gpr_4 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), aot_gpr_4); aot_gpr_4 = (16256u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_gpr_18 = (0u | 70u); + ctx.gpr[18] = (0u | 70u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(84), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(61), static_cast(0u)); { const bool branch_taken = 0u == 0u; @@ -2706,16 +2707,16 @@ L_088D8DB0: aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(60), static_cast(0u)); aot_fpr_20 = std::bit_cast(ctx.gpr[6]); aot_gpr_31 = (0x088D8DD8u); - aot_gpr_4 = (ctx.gpr[28] + static_cast(7696)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D8DD8u) goto L_088D8DD8; + aot_gpr_4 = (aot_gpr_28 + static_cast(7696)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D8DD8u) goto L_088D8DD8; AOT_REGCACHE_SYNC_OUT(); return; L_088D8DD8: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_2); aot_gpr_4 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), aot_gpr_4); aot_gpr_4 = (16256u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_gpr_18 = (0u | 70u); + ctx.gpr[18] = (0u | 70u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(84), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(61), static_cast(0u)); { const bool branch_taken = 0u == 0u; @@ -2735,16 +2736,16 @@ L_088D8E00: aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(60), static_cast(0u)); aot_fpr_20 = std::bit_cast(ctx.gpr[6]); aot_gpr_31 = (0x088D8E28u); - aot_gpr_4 = (ctx.gpr[28] + static_cast(7696)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D8E28u) goto L_088D8E28; + aot_gpr_4 = (aot_gpr_28 + static_cast(7696)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D8E28u) goto L_088D8E28; AOT_REGCACHE_SYNC_OUT(); return; L_088D8E28: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_2); aot_gpr_4 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), aot_gpr_4); aot_gpr_4 = (16256u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_gpr_18 = (0u | 70u); + ctx.gpr[18] = (0u | 70u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(84), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(61), static_cast(0u)); { const bool branch_taken = 0u == 0u; @@ -2764,16 +2765,16 @@ L_088D8E50: aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(60), static_cast(0u)); aot_fpr_20 = std::bit_cast(ctx.gpr[6]); aot_gpr_31 = (0x088D8E78u); - aot_gpr_4 = (ctx.gpr[28] + static_cast(7696)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D8E78u) goto L_088D8E78; + aot_gpr_4 = (aot_gpr_28 + static_cast(7696)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D8E78u) goto L_088D8E78; AOT_REGCACHE_SYNC_OUT(); return; L_088D8E78: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_2); aot_gpr_4 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), aot_gpr_4); aot_gpr_4 = (16256u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_gpr_18 = (0u | 70u); + ctx.gpr[18] = (0u | 70u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(84), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(61), static_cast(0u)); { const bool branch_taken = 0u == 0u; @@ -2793,16 +2794,16 @@ L_088D8EA0: aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(60), static_cast(0u)); aot_fpr_20 = std::bit_cast(ctx.gpr[6]); aot_gpr_31 = (0x088D8EC8u); - aot_gpr_4 = (ctx.gpr[28] + static_cast(7696)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D8EC8u) goto L_088D8EC8; + aot_gpr_4 = (aot_gpr_28 + static_cast(7696)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D8EC8u) goto L_088D8EC8; AOT_REGCACHE_SYNC_OUT(); return; L_088D8EC8: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_2); aot_gpr_4 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), aot_gpr_4); aot_gpr_4 = (16256u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_gpr_18 = (0u | 70u); + ctx.gpr[18] = (0u | 70u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(84), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(61), static_cast(0u)); { const bool branch_taken = 0u == 0u; @@ -2822,16 +2823,16 @@ L_088D8EF0: aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(60), static_cast(0u)); aot_fpr_20 = std::bit_cast(ctx.gpr[6]); aot_gpr_31 = (0x088D8F18u); - aot_gpr_4 = (ctx.gpr[28] + static_cast(7696)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D8F18u) goto L_088D8F18; + aot_gpr_4 = (aot_gpr_28 + static_cast(7696)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D8F18u) goto L_088D8F18; AOT_REGCACHE_SYNC_OUT(); return; L_088D8F18: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_2); aot_gpr_4 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), aot_gpr_4); aot_gpr_4 = (16256u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_gpr_18 = (0u | 70u); + ctx.gpr[18] = (0u | 70u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(84), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(61), static_cast(0u)); { const bool branch_taken = 0u == 0u; @@ -2844,29 +2845,29 @@ L_088D8F18: L_088D8F40: aot_gpr_4 = (0u | 269u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), aot_gpr_4); - aot_gpr_18 = (0u | 75u); - aot_gpr_4 = (ctx.gpr[28] + static_cast(7696)); + ctx.gpr[18] = (0u | 75u); + aot_gpr_4 = (aot_gpr_28 + static_cast(7696)); aot_gpr_31 = (0x088D8F58u); aot_gpr_5 = (0u | 269u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D8F58u) goto L_088D8F58; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D8F58u) goto L_088D8F58; AOT_REGCACHE_SYNC_OUT(); return; L_088D8F58: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088D8F68u); aot_gpr_5 = (0u | 300u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D8F68u) goto L_088D8F68; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089B7A84, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D8F68u) goto L_088D8F68; AOT_REGCACHE_SYNC_OUT(); return; L_088D8F68: - ctx.gpr[19] = (ctx.gpr[19] + ctx.gpr[2]); + ctx.gpr[19] = (ctx.gpr[19] + aot_gpr_2); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), ctx.gpr[19]); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088D8F7Cu); aot_gpr_5 = (0u | 300u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D8F7Cu) goto L_088D8F7C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089B7A84, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D8F7Cu) goto L_088D8F7C; AOT_REGCACHE_SYNC_OUT(); return; L_088D8F7C: - aot_gpr_4 = (ctx.gpr[19] + ctx.gpr[2]); + aot_gpr_4 = (ctx.gpr[19] + aot_gpr_2); aot_fpr_12 = std::bit_cast(0u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_4); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(60), static_cast(0u)); @@ -2893,15 +2894,15 @@ L_088D8FC4: aot_gpr_4 = (0u | 2u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), aot_gpr_4); ctx.gpr[19] = (0u | 39243u); - aot_gpr_18 = (0u | 75u); + ctx.gpr[18] = (0u | 75u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), ctx.gpr[19]); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088D8FE4u); aot_gpr_5 = (0u | 300u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D8FE4u) goto L_088D8FE4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089B7A84, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D8FE4u) goto L_088D8FE4; AOT_REGCACHE_SYNC_OUT(); return; L_088D8FE4: - aot_gpr_4 = (ctx.gpr[19] + ctx.gpr[2]); + aot_gpr_4 = (ctx.gpr[19] + aot_gpr_2); aot_fpr_12 = std::bit_cast(0u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_4); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(60), static_cast(0u)); @@ -2928,15 +2929,15 @@ L_088D902C: aot_gpr_4 = (0u | 235u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), aot_gpr_4); ctx.gpr[19] = (0u | 16000u); - aot_gpr_18 = (0u | 127u); + ctx.gpr[18] = (0u | 127u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), ctx.gpr[19]); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088D904Cu); aot_gpr_5 = (0u | 300u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D904Cu) goto L_088D904C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089B7A84, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D904Cu) goto L_088D904C; AOT_REGCACHE_SYNC_OUT(); return; L_088D904C: - aot_gpr_4 = (ctx.gpr[19] + ctx.gpr[2]); + aot_gpr_4 = (ctx.gpr[19] + aot_gpr_2); aot_fpr_12 = std::bit_cast(0u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_4); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(60), static_cast(0u)); @@ -2962,14 +2963,14 @@ L_088D904C: L_088D9094: aot_gpr_4 = (0u | 208u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), aot_gpr_4); - aot_gpr_18 = (0u | 127u); - aot_gpr_4 = (ctx.gpr[28] + static_cast(7696)); + ctx.gpr[18] = (0u | 127u); + aot_gpr_4 = (aot_gpr_28 + static_cast(7696)); aot_gpr_31 = (0x088D90ACu); aot_gpr_5 = (0u | 208u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D90ACu) goto L_088D90AC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D90ACu) goto L_088D90AC; AOT_REGCACHE_SYNC_OUT(); return; L_088D90AC: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_2); aot_fpr_12 = std::bit_cast(0u); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(60), static_cast(0u)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), 0u); @@ -2993,7 +2994,7 @@ L_088D90AC: } L_088D90F0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7660))); aot_gpr_4 = (aot_gpr_5 < aot_gpr_4 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -3009,7 +3010,7 @@ L_088D9104: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 456u, 0x08A93144u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D9110u) goto L_088D9110; AOT_REGCACHE_SYNC_OUT(); return; L_088D9110: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_088D91A0; @@ -3017,7 +3018,7 @@ L_088D9110: goto L_088D9118; } L_088D9118: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7660))); aot_gpr_4 = (aot_gpr_4 + static_cast(400)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(20), aot_gpr_4); aot_gpr_4 = (aot_gpr_16 + static_cast(96)); @@ -3037,16 +3038,16 @@ L_088D9118: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (0u | 29u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), aot_gpr_4); - aot_gpr_18 = (0u | 75u); + ctx.gpr[18] = (0u | 75u); ctx.gpr[19] = (0u | 16000u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), ctx.gpr[19]); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088D9154u); aot_gpr_5 = (0u | 300u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D9154u) goto L_088D9154; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089B7A84, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D9154u) goto L_088D9154; AOT_REGCACHE_SYNC_OUT(); return; L_088D9154: - aot_gpr_4 = (ctx.gpr[19] + ctx.gpr[2]); + aot_gpr_4 = (ctx.gpr[19] + aot_gpr_2); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_4); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(60), static_cast(0u)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), 0u); @@ -3082,15 +3083,15 @@ L_088D91A8: aot_gpr_4 = (0u | 11u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), aot_gpr_4); ctx.gpr[19] = (0u | 22050u); - aot_gpr_18 = (0u | 75u); + ctx.gpr[18] = (0u | 75u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), ctx.gpr[19]); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088D91C8u); aot_gpr_5 = (0u | 300u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D91C8u) goto L_088D91C8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089B7A84, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D91C8u) goto L_088D91C8; AOT_REGCACHE_SYNC_OUT(); return; L_088D91C8: - aot_gpr_4 = (ctx.gpr[19] + ctx.gpr[2]); + aot_gpr_4 = (ctx.gpr[19] + aot_gpr_2); aot_fpr_12 = std::bit_cast(0u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_4); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(60), static_cast(0u)); @@ -3114,14 +3115,14 @@ L_088D91C8: goto L_088D9210; } L_088D9210: - aot_gpr_4 = (ctx.gpr[28] + static_cast(7696)); + aot_gpr_4 = (aot_gpr_28 + static_cast(7696)); aot_gpr_31 = (0x088D921Cu); aot_gpr_5 = (0u | 35u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 481u, 0x0880A288u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D921Cu) goto L_088D921C; AOT_REGCACHE_SYNC_OUT(); return; L_088D921C: aot_gpr_4 = (0u | 1u); - { const bool branch_taken = ctx.gpr[2] != aot_gpr_4; + { const bool branch_taken = aot_gpr_2 != aot_gpr_4; // nop if (branch_taken) { goto L_088D9280; @@ -3139,19 +3140,19 @@ L_088D9228: aot_gpr_5 = (aot_gpr_5 | 9216u); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(60), static_cast(aot_gpr_4)); aot_fpr_20 = std::bit_cast(aot_gpr_5); - aot_gpr_4 = (ctx.gpr[28] + static_cast(7696)); + aot_gpr_4 = (aot_gpr_28 + static_cast(7696)); aot_gpr_31 = (0x088D925Cu); aot_gpr_5 = (0u | 35u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D925Cu) goto L_088D925C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D925Cu) goto L_088D925C; AOT_REGCACHE_SYNC_OUT(); return; L_088D925C: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_2); aot_fpr_12 = std::bit_cast(0u); aot_gpr_4 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(84), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(61), static_cast(aot_gpr_4)); - aot_gpr_18 = (0u | 100u); + ctx.gpr[18] = (0u | 100u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(113), static_cast(0u)); if (branch_taken) { @@ -3176,14 +3177,14 @@ L_088D9288: aot_gpr_5 = (ctx.gpr[17] >> 5u); aot_gpr_31 = (0x088D92A8u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D92A8u) goto L_088D92A8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089B7A84, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D92A8u) goto L_088D92A8; AOT_REGCACHE_SYNC_OUT(); return; L_088D92A8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(26336))); aot_gpr_5 = (0u | 10u); { const std::uint32_t dividend = aot_gpr_4; const std::uint32_t divisor = aot_gpr_5; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } aot_fpr_12 = std::bit_cast(0u); - aot_gpr_4 = (ctx.gpr[17] + ctx.gpr[2]); + aot_gpr_4 = (ctx.gpr[17] + aot_gpr_2); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_4); aot_gpr_4 = (0u | 3u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), aot_gpr_4); @@ -3200,9 +3201,9 @@ L_088D92A8: aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(113), static_cast(0u)); ctx.gpr[17] = (0u | 1u); aot_gpr_4 = (ctx.hi); - aot_gpr_18 = (aot_gpr_4 + static_cast(115)); + ctx.gpr[18] = (aot_gpr_4 + static_cast(115)); { const bool branch_taken = 0u == 0u; - aot_gpr_18 = (aot_gpr_18 & 255u); + ctx.gpr[18] = (ctx.gpr[18] & 255u); if (branch_taken) { goto L_088D9CCC; } @@ -3221,7 +3222,7 @@ L_088D9308: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), aot_gpr_4); aot_gpr_4 = (16256u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_gpr_18 = (0u | 70u); + ctx.gpr[18] = (0u | 70u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(84), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(61), static_cast(0u)); aot_gpr_4 = (17608u << 16u); @@ -3246,7 +3247,7 @@ L_088D9354: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), aot_gpr_4); aot_gpr_4 = (16256u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_gpr_18 = (0u | 127u); + ctx.gpr[18] = (0u | 127u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(84), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(61), static_cast(0u)); aot_gpr_4 = (17608u << 16u); @@ -3271,7 +3272,7 @@ L_088D93A0: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), aot_gpr_4); aot_gpr_4 = (16256u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_gpr_18 = (0u | 127u); + ctx.gpr[18] = (0u | 127u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(84), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(61), static_cast(0u)); aot_gpr_4 = (17608u << 16u); @@ -3296,7 +3297,7 @@ L_088D93EC: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), aot_gpr_4); aot_gpr_4 = (16256u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_gpr_18 = (0u | 127u); + ctx.gpr[18] = (0u | 127u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(84), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(61), static_cast(0u)); aot_gpr_4 = (17608u << 16u); @@ -3321,7 +3322,7 @@ L_088D9438: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), aot_gpr_4); aot_gpr_4 = (16256u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_gpr_18 = (0u | 70u); + ctx.gpr[18] = (0u | 70u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(84), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(61), static_cast(0u)); aot_gpr_4 = (17608u << 16u); @@ -3348,7 +3349,7 @@ L_088D9484: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(116), aot_gpr_5); aot_gpr_5 = (16256u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_5); - aot_gpr_18 = (0u | 90u); + ctx.gpr[18] = (0u | 90u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(84), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(61), static_cast(0u)); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(113), static_cast(0u)); @@ -3374,7 +3375,7 @@ L_088D94DC: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), aot_gpr_4); aot_gpr_4 = (16256u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_gpr_18 = (0u | 70u); + ctx.gpr[18] = (0u | 70u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(84), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(61), static_cast(0u)); aot_gpr_4 = (17608u << 16u); @@ -3399,7 +3400,7 @@ L_088D9528: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), aot_gpr_4); aot_gpr_4 = (16256u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_gpr_18 = (0u | 70u); + ctx.gpr[18] = (0u | 70u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(84), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(61), static_cast(0u)); aot_gpr_4 = (17608u << 16u); @@ -3424,7 +3425,7 @@ L_088D9574: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), aot_gpr_4); aot_gpr_4 = (16256u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_gpr_18 = (0u | 100u); + ctx.gpr[18] = (0u | 100u); aot_gpr_4 = (17817u << 16u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(84), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_gpr_4 | 8192u); @@ -3450,7 +3451,7 @@ L_088D95C4: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), aot_gpr_4); aot_gpr_4 = (16256u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_gpr_18 = (0u | 50u); + ctx.gpr[18] = (0u | 50u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(84), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(61), static_cast(0u)); aot_gpr_4 = (17608u << 16u); @@ -3474,14 +3475,14 @@ L_088D9610: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088D963Cu); aot_gpr_5 = (0u | 1500u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D963Cu) goto L_088D963C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089B7A84, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D963Cu) goto L_088D963C; AOT_REGCACHE_SYNC_OUT(); return; L_088D963C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(26328))); aot_gpr_5 = (0u | 20u); { const std::uint32_t dividend = aot_gpr_4; const std::uint32_t divisor = aot_gpr_5; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } aot_fpr_12 = std::bit_cast(0u); - aot_gpr_4 = (ctx.gpr[2] + static_cast(18600)); + aot_gpr_4 = (aot_gpr_2 + static_cast(18600)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_4); aot_gpr_4 = (0u | 3u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), aot_gpr_4); @@ -3490,9 +3491,9 @@ L_088D963C: aot_gpr_4 = (0u | 1u); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(113), static_cast(aot_gpr_4)); aot_gpr_4 = (ctx.hi); - aot_gpr_18 = (aot_gpr_4 + static_cast(80)); + ctx.gpr[18] = (aot_gpr_4 + static_cast(80)); { const bool branch_taken = 0u == 0u; - aot_gpr_18 = (aot_gpr_18 & 255u); + ctx.gpr[18] = (ctx.gpr[18] & 255u); if (branch_taken) { goto L_088D9CCC; } @@ -3510,14 +3511,14 @@ L_088D967C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088D96A8u); aot_gpr_5 = (0u | 1500u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D96A8u) goto L_088D96A8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089B7A84, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D96A8u) goto L_088D96A8; AOT_REGCACHE_SYNC_OUT(); return; L_088D96A8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(26328))); aot_gpr_5 = (0u | 20u); { const std::uint32_t dividend = aot_gpr_4; const std::uint32_t divisor = aot_gpr_5; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } aot_fpr_12 = std::bit_cast(0u); - aot_gpr_4 = (ctx.gpr[2] + static_cast(18600)); + aot_gpr_4 = (aot_gpr_2 + static_cast(18600)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_4); aot_gpr_4 = (0u | 3u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), aot_gpr_4); @@ -3526,9 +3527,9 @@ L_088D96A8: aot_gpr_4 = (0u | 1u); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(113), static_cast(aot_gpr_4)); aot_gpr_4 = (ctx.hi); - aot_gpr_18 = (aot_gpr_4 + static_cast(80)); + ctx.gpr[18] = (aot_gpr_4 + static_cast(80)); { const bool branch_taken = 0u == 0u; - aot_gpr_18 = (aot_gpr_18 & 255u); + ctx.gpr[18] = (ctx.gpr[18] & 255u); if (branch_taken) { goto L_088D9CCC; } @@ -3544,27 +3545,27 @@ L_088D96E8: aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(60), static_cast(0u)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(88), std::bit_cast(aot_fpr_12)); - aot_gpr_4 = (ctx.gpr[28] + static_cast(7696)); + aot_gpr_4 = (aot_gpr_28 + static_cast(7696)); aot_gpr_5 = (ctx.hi); aot_gpr_5 = (aot_gpr_5 + static_cast(114)); aot_gpr_31 = (0x088D9720u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D9720u) goto L_088D9720; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D9720u) goto L_088D9720; AOT_REGCACHE_SYNC_OUT(); return; L_088D9720: - aot_gpr_18 = (ctx.gpr[2] | 0u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), ctx.gpr[2]); - aot_gpr_5 = (aot_gpr_18 >> 4u); + ctx.gpr[18] = (aot_gpr_2 | 0u); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_2); + aot_gpr_5 = (ctx.gpr[18] >> 4u); aot_gpr_31 = (0x088D9734u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D9734u) goto L_088D9734; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089B7A84, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D9734u) goto L_088D9734; AOT_REGCACHE_SYNC_OUT(); return; L_088D9734: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(26328))); aot_gpr_5 = (0u | 30u); { const std::uint32_t dividend = aot_gpr_4; const std::uint32_t divisor = aot_gpr_5; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } aot_fpr_12 = std::bit_cast(0u); - aot_gpr_4 = (aot_gpr_18 + ctx.gpr[2]); + aot_gpr_4 = (ctx.gpr[18] + aot_gpr_2); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_4); aot_gpr_4 = (0u | 3u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), aot_gpr_4); @@ -3573,9 +3574,9 @@ L_088D9734: aot_gpr_4 = (0u | 1u); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(113), static_cast(aot_gpr_4)); aot_gpr_4 = (ctx.hi); - aot_gpr_18 = (aot_gpr_4 + static_cast(70)); + ctx.gpr[18] = (aot_gpr_4 + static_cast(70)); { const bool branch_taken = 0u == 0u; - aot_gpr_18 = (aot_gpr_18 & 255u); + ctx.gpr[18] = (ctx.gpr[18] & 255u); if (branch_taken) { goto L_088D9CCC; } @@ -3591,23 +3592,23 @@ L_088D9774: aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(60), static_cast(0u)); aot_fpr_20 = std::bit_cast(ctx.gpr[6]); aot_gpr_31 = (0x088D979Cu); - aot_gpr_4 = (ctx.gpr[28] + static_cast(7696)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D979Cu) goto L_088D979C; + aot_gpr_4 = (aot_gpr_28 + static_cast(7696)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D979Cu) goto L_088D979C; AOT_REGCACHE_SYNC_OUT(); return; L_088D979C: - aot_gpr_18 = (ctx.gpr[2] | 0u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), ctx.gpr[2]); - aot_gpr_5 = (aot_gpr_18 >> 4u); + ctx.gpr[18] = (aot_gpr_2 | 0u); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_2); + aot_gpr_5 = (ctx.gpr[18] >> 4u); aot_gpr_31 = (0x088D97B0u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D97B0u) goto L_088D97B0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089B7A84, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D97B0u) goto L_088D97B0; AOT_REGCACHE_SYNC_OUT(); return; L_088D97B0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(26328))); aot_gpr_5 = (0u | 30u); { const std::uint32_t dividend = aot_gpr_4; const std::uint32_t divisor = aot_gpr_5; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } aot_fpr_12 = std::bit_cast(0u); - aot_gpr_4 = (aot_gpr_18 + ctx.gpr[2]); + aot_gpr_4 = (ctx.gpr[18] + aot_gpr_2); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_4); aot_gpr_4 = (0u | 3u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), aot_gpr_4); @@ -3616,9 +3617,9 @@ L_088D97B0: aot_gpr_4 = (0u | 1u); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(113), static_cast(aot_gpr_4)); aot_gpr_4 = (ctx.hi); - aot_gpr_18 = (aot_gpr_4 + static_cast(60)); + ctx.gpr[18] = (aot_gpr_4 + static_cast(60)); { const bool branch_taken = 0u == 0u; - aot_gpr_18 = (aot_gpr_18 & 255u); + ctx.gpr[18] = (ctx.gpr[18] & 255u); if (branch_taken) { goto L_088D9CCC; } @@ -3634,23 +3635,23 @@ L_088D97F0: aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(60), static_cast(0u)); aot_fpr_20 = std::bit_cast(ctx.gpr[6]); aot_gpr_31 = (0x088D9818u); - aot_gpr_4 = (ctx.gpr[28] + static_cast(7696)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D9818u) goto L_088D9818; + aot_gpr_4 = (aot_gpr_28 + static_cast(7696)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D9818u) goto L_088D9818; AOT_REGCACHE_SYNC_OUT(); return; L_088D9818: - aot_gpr_18 = (ctx.gpr[2] | 0u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), ctx.gpr[2]); - aot_gpr_5 = (aot_gpr_18 >> 4u); + ctx.gpr[18] = (aot_gpr_2 | 0u); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_2); + aot_gpr_5 = (ctx.gpr[18] >> 4u); aot_gpr_31 = (0x088D982Cu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D982Cu) goto L_088D982C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089B7A84, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D982Cu) goto L_088D982C; AOT_REGCACHE_SYNC_OUT(); return; L_088D982C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(26328))); aot_gpr_5 = (0u | 30u); { const std::uint32_t dividend = aot_gpr_4; const std::uint32_t divisor = aot_gpr_5; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } aot_fpr_12 = std::bit_cast(0u); - aot_gpr_4 = (aot_gpr_18 + ctx.gpr[2]); + aot_gpr_4 = (ctx.gpr[18] + aot_gpr_2); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_4); aot_gpr_4 = (0u | 5u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), aot_gpr_4); @@ -3659,9 +3660,9 @@ L_088D982C: aot_gpr_4 = (0u | 1u); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(113), static_cast(aot_gpr_4)); aot_gpr_4 = (ctx.hi); - aot_gpr_18 = (aot_gpr_4 + static_cast(60)); + ctx.gpr[18] = (aot_gpr_4 + static_cast(60)); { const bool branch_taken = 0u == 0u; - aot_gpr_18 = (aot_gpr_18 & 255u); + ctx.gpr[18] = (ctx.gpr[18] & 255u); if (branch_taken) { goto L_088D9CCC; } @@ -3673,7 +3674,7 @@ L_088D986C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D9874u) goto L_088D9874; AOT_REGCACHE_SYNC_OUT(); return; L_088D9874: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -3725,10 +3726,10 @@ L_088D98BC: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088D98D0u); aot_gpr_5 = (0u | 1500u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D98D0u) goto L_088D98D0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089B7A84, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D98D0u) goto L_088D98D0; AOT_REGCACHE_SYNC_OUT(); return; L_088D98D0: - aot_gpr_4 = (ctx.gpr[2] + static_cast(30000)); + aot_gpr_4 = (aot_gpr_2 + static_cast(30000)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_4); aot_gpr_4 = (0u | 15u); { const bool branch_taken = 0u == 0u; @@ -3744,10 +3745,10 @@ L_088D98E4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088D98F8u); aot_gpr_5 = (0u | 600u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D98F8u) goto L_088D98F8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089B7A84, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D98F8u) goto L_088D98F8; AOT_REGCACHE_SYNC_OUT(); return; L_088D98F8: - aot_gpr_4 = (ctx.gpr[2] + static_cast(10600)); + aot_gpr_4 = (aot_gpr_2 + static_cast(10600)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_4); aot_gpr_4 = (0u | 18u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), aot_gpr_4); @@ -3766,9 +3767,9 @@ L_088D9908: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(84), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(61), static_cast(0u)); aot_gpr_4 = (ctx.hi); - aot_gpr_18 = (aot_gpr_4 + static_cast(10)); + ctx.gpr[18] = (aot_gpr_4 + static_cast(10)); { const bool branch_taken = 0u == 0u; - aot_gpr_18 = (aot_gpr_18 & 255u); + ctx.gpr[18] = (ctx.gpr[18] & 255u); if (branch_taken) { goto L_088D9CCC; } @@ -3778,7 +3779,7 @@ L_088D9948: aot_gpr_4 = (16908u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(88), std::bit_cast(aot_fpr_12)); - aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23553))); + aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23553))); aot_gpr_4 = (0u | 5u); { const std::int32_t dividend = static_cast(aot_gpr_5); const std::int32_t divisor = static_cast(aot_gpr_4); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(60), static_cast(0u)); @@ -3786,7 +3787,7 @@ L_088D9948: aot_gpr_4 = (17561u << 16u); aot_gpr_4 = (aot_gpr_4 | 8192u); aot_fpr_20 = std::bit_cast(aot_gpr_4); - aot_gpr_4 = (ctx.gpr[28] + static_cast(7696)); + aot_gpr_4 = (aot_gpr_28 + static_cast(7696)); ctx.gpr[6] = (ctx.hi); ctx.gpr[6] = (ctx.gpr[6] << 2u); ctx.gpr[6] = (aot_gpr_16 + ctx.gpr[6]); @@ -3796,31 +3797,31 @@ L_088D9948: aot_gpr_5 = (aot_gpr_5 + static_cast(39)); aot_gpr_31 = (0x088D999Cu); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D999Cu) goto L_088D999C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D999Cu) goto L_088D999C; AOT_REGCACHE_SYNC_OUT(); return; L_088D999C: - aot_gpr_18 = (ctx.gpr[2] | 0u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), ctx.gpr[2]); - aot_gpr_5 = (aot_gpr_18 >> 5u); + ctx.gpr[18] = (aot_gpr_2 | 0u); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_2); + aot_gpr_5 = (ctx.gpr[18] >> 5u); aot_gpr_31 = (0x088D99B0u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D99B0u) goto L_088D99B0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089B7A84, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D99B0u) goto L_088D99B0; AOT_REGCACHE_SYNC_OUT(); return; L_088D99B0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(26328))); aot_gpr_5 = (0u | 20u); { const std::uint32_t dividend = aot_gpr_4; const std::uint32_t divisor = aot_gpr_5; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } aot_fpr_12 = std::bit_cast(0u); - aot_gpr_4 = (aot_gpr_18 + ctx.gpr[2]); + aot_gpr_4 = (ctx.gpr[18] + aot_gpr_2); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_4); aot_gpr_4 = (0u | 9u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(84), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(61), static_cast(0u)); aot_gpr_4 = (ctx.hi); - aot_gpr_18 = (aot_gpr_4 + static_cast(90)); + ctx.gpr[18] = (aot_gpr_4 + static_cast(90)); { const bool branch_taken = 0u == 0u; - aot_gpr_18 = (aot_gpr_18 & 255u); + ctx.gpr[18] = (ctx.gpr[18] & 255u); if (branch_taken) { goto L_088D9CCC; } @@ -3835,18 +3836,18 @@ L_088D99E8: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(88), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), aot_gpr_4); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(60), static_cast(0u)); - aot_gpr_4 = (ctx.gpr[28] + static_cast(7696)); + aot_gpr_4 = (aot_gpr_28 + static_cast(7696)); aot_gpr_31 = (0x088D9A14u); aot_gpr_5 = (0u | 265u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D9A14u) goto L_088D9A14; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D9A14u) goto L_088D9A14; AOT_REGCACHE_SYNC_OUT(); return; L_088D9A14: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_2); aot_gpr_4 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), aot_gpr_4); aot_gpr_4 = (16384u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_gpr_18 = (0u | 80u); + ctx.gpr[18] = (0u | 80u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(84), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(61), static_cast(0u)); { const bool branch_taken = 0u == 0u; @@ -3865,18 +3866,18 @@ L_088D9A3C: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(88), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), aot_gpr_4); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(60), static_cast(0u)); - aot_gpr_4 = (ctx.gpr[28] + static_cast(7696)); + aot_gpr_4 = (aot_gpr_28 + static_cast(7696)); aot_gpr_31 = (0x088D9A68u); aot_gpr_5 = (0u | 208u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D9A68u) goto L_088D9A68; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D9A68u) goto L_088D9A68; AOT_REGCACHE_SYNC_OUT(); return; L_088D9A68: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_2); aot_fpr_12 = std::bit_cast(0u); aot_gpr_4 = (0u | 3u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(84), std::bit_cast(aot_fpr_12)); - aot_gpr_18 = (0u | 70u); + ctx.gpr[18] = (0u | 70u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(61), static_cast(0u)); if (branch_taken) { @@ -3893,18 +3894,18 @@ L_088D9A88: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(88), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), aot_gpr_4); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(60), static_cast(0u)); - aot_gpr_4 = (ctx.gpr[28] + static_cast(7696)); + aot_gpr_4 = (aot_gpr_28 + static_cast(7696)); aot_gpr_31 = (0x088D9AB4u); aot_gpr_5 = (0u | 208u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D9AB4u) goto L_088D9AB4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D9AB4u) goto L_088D9AB4; AOT_REGCACHE_SYNC_OUT(); return; L_088D9AB4: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_2); aot_fpr_12 = std::bit_cast(0u); aot_gpr_4 = (0u | 3u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(84), std::bit_cast(aot_fpr_12)); - aot_gpr_18 = (0u | 60u); + ctx.gpr[18] = (0u | 60u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(61), static_cast(0u)); if (branch_taken) { @@ -3921,20 +3922,20 @@ L_088D9AD4: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(88), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), aot_gpr_4); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(60), static_cast(0u)); - aot_gpr_4 = (ctx.gpr[28] + static_cast(7696)); + aot_gpr_4 = (aot_gpr_28 + static_cast(7696)); aot_gpr_31 = (0x088D9B00u); aot_gpr_5 = (0u | 203u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D9B00u) goto L_088D9B00; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D9B00u) goto L_088D9B00; AOT_REGCACHE_SYNC_OUT(); return; L_088D9B00: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_2); aot_fpr_12 = std::bit_cast(0u); aot_gpr_4 = (0u | 3u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(84), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(61), static_cast(0u)); aot_gpr_4 = (0u | 1u); - aot_gpr_18 = (0u | 70u); + ctx.gpr[18] = (0u | 70u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(113), static_cast(aot_gpr_4)); if (branch_taken) { @@ -3957,10 +3958,10 @@ L_088D9B28: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088D9B60u); aot_gpr_5 = (0u | 2000u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D9B60u) goto L_088D9B60; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089B7A84, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D9B60u) goto L_088D9B60; AOT_REGCACHE_SYNC_OUT(); return; L_088D9B60: - aot_gpr_4 = (ctx.gpr[2] + static_cast(19000)); + aot_gpr_4 = (aot_gpr_2 + static_cast(19000)); aot_fpr_12 = std::bit_cast(0u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_4); aot_gpr_4 = (0u | 9u); @@ -3969,11 +3970,11 @@ L_088D9B60: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088D9B84u); aot_gpr_5 = (0u | 11u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D9B84u) goto L_088D9B84; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089B7A84, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D9B84u) goto L_088D9B84; AOT_REGCACHE_SYNC_OUT(); return; L_088D9B84: - aot_gpr_18 = (ctx.gpr[2] + static_cast(25)); - aot_gpr_18 = (aot_gpr_18 & 255u); + ctx.gpr[18] = (aot_gpr_2 + static_cast(25)); + ctx.gpr[18] = (ctx.gpr[18] & 255u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(61), static_cast(0u)); if (branch_taken) { @@ -3983,18 +3984,18 @@ L_088D9B84: } L_088D9B94: aot_fpr_12 = std::bit_cast(0u); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(0), static_cast(0u)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), std::bit_cast(aot_fpr_12)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), 0u); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(0), static_cast(0u)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(8), 0u); aot_gpr_5 = (aot_gpr_16 + static_cast(96)); aot_gpr_31 = (0x088D9BB0u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 494u, 0x088CA7B0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D9BB0u) goto L_088D9BB0; AOT_REGCACHE_SYNC_OUT(); return; L_088D9BB0: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), std::bit_cast(ctx.fpr[0])); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), std::bit_cast(ctx.fpr[0])); aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_31 = (0x088D9BC4u); ctx.gpr[6] = (0u | 201u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0052_entry, 52u, 496u, 0x088D789Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D9BC4u) goto L_088D9BC4; @@ -4009,18 +4010,18 @@ L_088D9BC4: } L_088D9BCC: aot_fpr_12 = std::bit_cast(0u); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(12), static_cast(0u)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), std::bit_cast(aot_fpr_12)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), 0u); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(12), static_cast(0u)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(16), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(20), 0u); aot_gpr_5 = (aot_gpr_16 + static_cast(96)); aot_gpr_31 = (0x088D9BE8u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 494u, 0x088CA7B0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D9BE8u) goto L_088D9BE8; AOT_REGCACHE_SYNC_OUT(); return; L_088D9BE8: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), std::bit_cast(ctx.fpr[0])); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(16), std::bit_cast(ctx.fpr[0])); aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_29 + static_cast(12)); + aot_gpr_5 = (ctx.gpr[29] + static_cast(12)); aot_gpr_31 = (0x088D9BFCu); ctx.gpr[6] = (0u | 202u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0052_entry, 52u, 496u, 0x088D789Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D9BFCu) goto L_088D9BFC; @@ -4036,21 +4037,21 @@ L_088D9BFC: L_088D9C04: aot_gpr_4 = (16928u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_gpr_18 = (0u | 10600u); + ctx.gpr[18] = (0u | 10600u); aot_gpr_4 = (0u | 127u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(88), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), aot_gpr_4); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(60), static_cast(0u)); ctx.gpr[6] = (17608u << 16u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_18); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), ctx.gpr[18]); aot_fpr_20 = std::bit_cast(ctx.gpr[6]); - aot_gpr_5 = (aot_gpr_18 >> 5u); + aot_gpr_5 = (ctx.gpr[18] >> 5u); aot_gpr_31 = (0x088D9C38u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D9C38u) goto L_088D9C38; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089B7A84, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D9C38u) goto L_088D9C38; AOT_REGCACHE_SYNC_OUT(); return; L_088D9C38: - aot_gpr_4 = (aot_gpr_18 + ctx.gpr[2]); + aot_gpr_4 = (ctx.gpr[18] + aot_gpr_2); aot_fpr_12 = std::bit_cast(0u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_4); aot_gpr_4 = (0u | 3u); @@ -4058,7 +4059,7 @@ L_088D9C38: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(84), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(61), static_cast(0u)); aot_gpr_4 = (0u | 1u); - aot_gpr_18 = (0u | 60u); + ctx.gpr[18] = (0u | 60u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(113), static_cast(aot_gpr_4)); if (branch_taken) { @@ -4069,21 +4070,21 @@ L_088D9C38: L_088D9C64: aot_gpr_4 = (17056u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_gpr_18 = (0u | 22000u); + ctx.gpr[18] = (0u | 22000u); aot_gpr_4 = (0u | 120u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(88), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), aot_gpr_4); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(60), static_cast(0u)); ctx.gpr[6] = (17864u << 16u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_18); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), ctx.gpr[18]); aot_fpr_20 = std::bit_cast(ctx.gpr[6]); - aot_gpr_5 = (aot_gpr_18 >> 5u); + aot_gpr_5 = (ctx.gpr[18] >> 5u); aot_gpr_31 = (0x088D9C98u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D9C98u) goto L_088D9C98; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089B7A84, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D9C98u) goto L_088D9C98; AOT_REGCACHE_SYNC_OUT(); return; L_088D9C98: - aot_gpr_4 = (aot_gpr_18 + ctx.gpr[2]); + aot_gpr_4 = (ctx.gpr[18] + aot_gpr_2); aot_fpr_12 = std::bit_cast(0u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_4); aot_gpr_4 = (0u | 4u); @@ -4091,7 +4092,7 @@ L_088D9C98: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(84), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(61), static_cast(0u)); aot_gpr_4 = (0u | 1u); - aot_gpr_18 = (0u | 60u); + ctx.gpr[18] = (0u | 60u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(113), static_cast(aot_gpr_4)); if (branch_taken) { @@ -4130,11 +4131,11 @@ L_088D9CEC: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(88))); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088D9D04u); - aot_gpr_5 = (aot_gpr_18 | 0u); + aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0109_entry, 109u, 21u, 0x089B8190u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D9D04u) goto L_088D9D04; AOT_REGCACHE_SYNC_OUT(); return; L_088D9D04: - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(72), static_cast(ctx.gpr[2])); + aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(72), static_cast(aot_gpr_2)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(72))); { const bool branch_taken = static_cast(aot_gpr_4) <= 0; // nop @@ -4144,10 +4145,10 @@ L_088D9D04: goto L_088D9D14; } L_088D9D14: - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23553))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23553))); aot_gpr_5 = (0u | 1u); ctx.gpr[6] = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-23553), static_cast(ctx.gpr[6])); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-23553), static_cast(ctx.gpr[6])); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(52), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(80), aot_gpr_5); { const bool branch_taken = ctx.gpr[17] == 0u; @@ -4191,29 +4192,29 @@ L_088D9D58: AOT_REGCACHE_SYNC_OUT(); return; L_088D9D7C: { std::uint32_t aot_run_words[6]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(24), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(24), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); aot_gpr_16 = aot_run_words[1]; ctx.gpr[17] = aot_run_words[2]; - aot_gpr_18 = aot_run_words[3]; + ctx.gpr[18] = aot_run_words[3]; ctx.gpr[19] = aot_run_words[4]; aot_gpr_31 = aot_run_words[5]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(48)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(48)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_088D9D9C: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_16); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_5 & 255u); aot_gpr_5 = (static_cast(aot_gpr_4) < 43 ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), std::bit_cast(aot_fpr_20)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[17]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(8), ctx.gpr[17]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(12), aot_gpr_31); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_5 = (static_cast(aot_gpr_4) < 52 ? 1u : 0u); if (branch_taken) { @@ -4265,14 +4266,14 @@ L_088D9DF8: aot_gpr_4 = (0u | 80u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), aot_gpr_4); ctx.gpr[6] = (17608u << 16u); - aot_gpr_4 = (ctx.gpr[28] + static_cast(7696)); + aot_gpr_4 = (aot_gpr_28 + static_cast(7696)); aot_fpr_20 = std::bit_cast(ctx.gpr[6]); aot_gpr_31 = (0x088D9E24u); aot_gpr_5 = (0u | 80u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D9E24u) goto L_088D9E24; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D9E24u) goto L_088D9E24; AOT_REGCACHE_SYNC_OUT(); return; L_088D9E24: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_2); aot_gpr_4 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), aot_gpr_4); aot_gpr_5 = (0u | 2u); @@ -4410,14 +4411,14 @@ L_088D9F44: aot_gpr_4 = (0u | 166u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), aot_gpr_4); ctx.gpr[6] = (17608u << 16u); - aot_gpr_4 = (ctx.gpr[28] + static_cast(7696)); + aot_gpr_4 = (aot_gpr_28 + static_cast(7696)); aot_fpr_20 = std::bit_cast(ctx.gpr[6]); aot_gpr_31 = (0x088D9F70u); aot_gpr_5 = (0u | 166u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D9F70u) goto L_088D9F70; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D9F70u) goto L_088D9F70; AOT_REGCACHE_SYNC_OUT(); return; L_088D9F70: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_2); aot_gpr_4 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), aot_gpr_4); aot_gpr_5 = (0u | 2u); @@ -4446,11 +4447,11 @@ L_088D9FA8: aot_gpr_4 = (0u | 41u); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(60), static_cast(aot_gpr_4)); aot_gpr_31 = (0x088D9FD0u); - aot_gpr_4 = (ctx.gpr[28] + static_cast(7696)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D9FD0u) goto L_088D9FD0; + aot_gpr_4 = (aot_gpr_28 + static_cast(7696)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088D9FD0u) goto L_088D9FD0; AOT_REGCACHE_SYNC_OUT(); return; L_088D9FD0: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_2); aot_gpr_4 = (0u | 6u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), aot_gpr_4); aot_gpr_4 = (0u | 3u); @@ -4474,13 +4475,13 @@ L_088D9FF8: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(88), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), aot_gpr_4); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(60), static_cast(0u)); - aot_gpr_4 = (ctx.gpr[28] + static_cast(7696)); + aot_gpr_4 = (aot_gpr_28 + static_cast(7696)); aot_gpr_31 = (0x088DA024u); aot_gpr_5 = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DA024u) goto L_088DA024; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DA024u) goto L_088DA024; AOT_REGCACHE_SYNC_OUT(); return; L_088DA024: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_2); aot_gpr_4 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), aot_gpr_4); aot_gpr_4 = (16384u << 16u); @@ -4505,13 +4506,13 @@ L_088DA050: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(88), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), aot_gpr_4); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(60), static_cast(0u)); - aot_gpr_4 = (ctx.gpr[28] + static_cast(7696)); + aot_gpr_4 = (aot_gpr_28 + static_cast(7696)); aot_gpr_31 = (0x088DA07Cu); aot_gpr_5 = (0u | 200u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DA07Cu) goto L_088DA07C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DA07Cu) goto L_088DA07C; AOT_REGCACHE_SYNC_OUT(); return; L_088DA07C: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_2); aot_gpr_4 = (0u | 3u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(116), aot_gpr_4); @@ -4536,13 +4537,13 @@ L_088DA0A8: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(88), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), aot_gpr_4); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(60), static_cast(0u)); - aot_gpr_4 = (ctx.gpr[28] + static_cast(7696)); + aot_gpr_4 = (aot_gpr_28 + static_cast(7696)); aot_gpr_31 = (0x088DA0D4u); aot_gpr_5 = (0u | 326u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DA0D4u) goto L_088DA0D4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DA0D4u) goto L_088DA0D4; AOT_REGCACHE_SYNC_OUT(); return; L_088DA0D4: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_2); aot_gpr_4 = (0u | 4u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), aot_gpr_4); aot_gpr_4 = (0u | 3u); @@ -4581,7 +4582,7 @@ L_088DA120: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0109_entry, 109u, 21u, 0x089B8190u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DA138u) goto L_088DA138; AOT_REGCACHE_SYNC_OUT(); return; L_088DA138: - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(72), static_cast(ctx.gpr[2])); + aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(72), static_cast(aot_gpr_2)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(72))); { const bool branch_taken = static_cast(aot_gpr_4) <= 0; // nop @@ -4603,41 +4604,41 @@ L_088DA148: AOT_REGCACHE_SYNC_OUT(); return; L_088DA168: { std::uint32_t aot_run_words[4]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(0), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); aot_gpr_16 = aot_run_words[1]; ctx.gpr[17] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_088DA180: - aot_gpr_29 = (aot_gpr_29 + static_cast(-64)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-64)); ctx.gpr[6] = (aot_gpr_5 << 6u); aot_gpr_5 = (aot_gpr_5 << 3u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), ctx.gpr[17]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(44), ctx.gpr[17]); ctx.gpr[17] = (ctx.gpr[6] - aot_gpr_5); ctx.gpr[6] = (16672u << 16u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(24), std::bit_cast(aot_fpr_20)); ctx.gpr[17] = (aot_gpr_4 + ctx.gpr[17]); aot_fpr_20 = std::bit_cast(ctx.gpr[6]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), aot_gpr_18); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(48), ctx.gpr[18]); aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(6308))); - aot_gpr_18 = (2236u << 16u); + ctx.gpr[18] = (2236u << 16u); ctx.gpr[6] = (16256u << 16u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), std::bit_cast(ctx.fpr[24])); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), std::bit_cast(ctx.fpr[26])); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(32), std::bit_cast(ctx.fpr[24])); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(36), std::bit_cast(ctx.fpr[26])); ctx.fpr[24] = std::bit_cast(0u); - aot_gpr_18 = (aot_gpr_18 + static_cast(32304)); + ctx.gpr[18] = (ctx.gpr[18] + static_cast(32304)); ctx.fpr[26] = std::bit_cast(ctx.gpr[6]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), std::bit_cast(aot_fpr_22)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), ctx.gpr[19]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), aot_gpr_31); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(28), std::bit_cast(aot_fpr_22)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(40), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(52), ctx.gpr[19]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(56), aot_gpr_31); { const bool branch_taken = static_cast(aot_gpr_5) <= 0; aot_gpr_16 = (aot_gpr_4 | 0u); if (branch_taken) { @@ -4676,13 +4677,13 @@ L_088DA210: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088DA228u); aot_gpr_5 = (0u | 700u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DA228u) goto L_088DA228; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089B7A84, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DA228u) goto L_088DA228; AOT_REGCACHE_SYNC_OUT(); return; L_088DA228: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(6276))); { const float fs = aot_fpr_12; const float ft = aot_fpr_22; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = aot_fpr_12 / aot_fpr_20; - aot_gpr_4 = (ctx.gpr[2] + static_cast(3500)); + aot_gpr_4 = (aot_gpr_2 + static_cast(3500)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_4); aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); @@ -4702,7 +4703,7 @@ L_088DA254: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088DA26Cu); aot_gpr_5 = (0u | 700u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DA26Cu) goto L_088DA26C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089B7A84, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DA26Cu) goto L_088DA26C; AOT_REGCACHE_SYNC_OUT(); return; L_088DA26C: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(6276))); @@ -4711,7 +4712,7 @@ L_088DA26C: aot_fpr_13 = std::bit_cast(aot_gpr_4); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = aot_fpr_12 / aot_fpr_20; - aot_gpr_4 = (ctx.gpr[2] + static_cast(3500)); + aot_gpr_4 = (aot_gpr_2 + static_cast(3500)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_4); aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); @@ -4720,7 +4721,7 @@ L_088DA26C: aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(72), static_cast(aot_gpr_4)); goto L_088DA2A0; L_088DA2A0: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(2024))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(2024))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_22)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); @@ -4736,20 +4737,20 @@ L_088DA2B4: aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(72), static_cast(aot_gpr_4)); goto L_088DA2C0; L_088DA2C0: - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23552))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23552))); aot_gpr_5 = (0u | 4u); if (aot_gpr_4 != aot_gpr_5) { - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23552))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23552))); goto L_088DA2D8; } goto L_088DA2D0; L_088DA2D0: - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-23552), static_cast(0u)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23552))); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-23552), static_cast(0u)); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23552))); goto L_088DA2D8; L_088DA2D8: aot_gpr_5 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-23552), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-23552), static_cast(aot_gpr_5)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(26328))); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(52), aot_gpr_4); aot_gpr_4 = (aot_gpr_5 & 15u); @@ -4767,7 +4768,7 @@ L_088DA2D8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 703u, 0x089B7B80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DA318u) goto L_088DA318; AOT_REGCACHE_SYNC_OUT(); return; L_088DA318: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7896))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7896))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[24])) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); @@ -4783,7 +4784,7 @@ L_088DA32C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0170_entry, 170u, 538u, 0x08AAE9C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DA334u) goto L_088DA334; AOT_REGCACHE_SYNC_OUT(); return; L_088DA334: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088DA34C; @@ -4796,7 +4797,7 @@ L_088DA33C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0170_entry, 170u, 542u, 0x08AAE9E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DA344u) goto L_088DA344; AOT_REGCACHE_SYNC_OUT(); return; L_088DA344: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_088DA3C4; @@ -4806,14 +4807,14 @@ L_088DA344: L_088DA34C: aot_gpr_4 = (0u | 290u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), aot_gpr_4); - aot_gpr_4 = (ctx.gpr[28] + static_cast(7696)); + aot_gpr_4 = (aot_gpr_28 + static_cast(7696)); aot_gpr_31 = (0x088DA360u); aot_gpr_5 = (0u | 290u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DA360u) goto L_088DA360; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DA360u) goto L_088DA360; AOT_REGCACHE_SYNC_OUT(); return; L_088DA360: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), ctx.gpr[2]); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7896))); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_2); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7896))); aot_gpr_4 = (16840u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } @@ -4840,9 +4841,9 @@ L_088DA360: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 703u, 0x089B7B80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DA3C4u) goto L_088DA3C4; AOT_REGCACHE_SYNC_OUT(); return; L_088DA3C4: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), std::bit_cast(ctx.fpr[24])); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), std::bit_cast(ctx.fpr[24])); - aot_gpr_4 = (aot_gpr_18 + static_cast(48)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(16), std::bit_cast(ctx.fpr[24])); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(20), std::bit_cast(ctx.fpr[24])); + aot_gpr_4 = (ctx.gpr[18] + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -4853,17 +4854,17 @@ L_088DA3C4: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[29] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_5 = (aot_gpr_29 + static_cast(16)); - ctx.gpr[6] = (aot_gpr_29 + static_cast(20)); + aot_gpr_5 = (ctx.gpr[29] + static_cast(16)); + ctx.gpr[6] = (ctx.gpr[29] + static_cast(20)); aot_gpr_31 = (0x088DA3E8u); - aot_gpr_4 = (aot_gpr_29 | 0u); + aot_gpr_4 = (ctx.gpr[29] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0118_entry, 118u, 197u, 0x089DD460u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DA3E8u) goto L_088DA3E8; AOT_REGCACHE_SYNC_OUT(); return; L_088DA3E8: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(16))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[24])) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); @@ -4874,12 +4875,12 @@ L_088DA3E8: goto L_088DA3FC; } L_088DA3FC: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(16))); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(16), std::bit_cast(aot_fpr_12)); goto L_088DA408; L_088DA408: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(20))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[24])) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); @@ -4890,13 +4891,13 @@ L_088DA408: goto L_088DA41C; } L_088DA41C: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(20))); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(20), std::bit_cast(aot_fpr_12)); goto L_088DA428; L_088DA428: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(16))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(20))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); @@ -4907,7 +4908,7 @@ L_088DA428: goto L_088DA440; } L_088DA440: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(16))); { const bool branch_taken = 0u == 0u; { const float fs = aot_fpr_12; const float ft = aot_fpr_20; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_20 = std::bit_cast(0x7FC00000u); else aot_fpr_20 = fs * ft; } if (branch_taken) { @@ -4916,7 +4917,7 @@ L_088DA440: goto L_088DA44C; } L_088DA44C: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(20))); { const float fs = aot_fpr_12; const float ft = aot_fpr_20; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_20 = std::bit_cast(0x7FC00000u); else aot_fpr_20 = fs * ft; } goto L_088DA454; L_088DA454: @@ -4933,7 +4934,7 @@ L_088DA464: aot_fpr_20 = std::bit_cast(std::bit_cast(ctx.fpr[26])); goto L_088DA468; L_088DA468: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8348))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8348))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_20)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); @@ -4952,7 +4953,7 @@ L_088DA47C: goto L_088DA484; } L_088DA484: - aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8348))); + aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8348))); goto L_088DA488; L_088DA488: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_20 <= ctx.fpr[24])) ? 0x00800000u : 0u); @@ -4965,7 +4966,7 @@ L_088DA488: goto L_088DA498; } L_088DA498: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30400))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-30400))); aot_gpr_4 = (17046u << 16u); aot_fpr_22 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_22)) ? 0x00800000u : 0u); @@ -4980,17 +4981,17 @@ L_088DA498: L_088DA4B4: aot_gpr_4 = (0u | 261u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), aot_gpr_4); - aot_gpr_4 = (ctx.gpr[28] + static_cast(7696)); + aot_gpr_4 = (aot_gpr_28 + static_cast(7696)); aot_gpr_31 = (0x088DA4C8u); aot_gpr_5 = (0u | 261u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DA4C8u) goto L_088DA4C8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DA4C8u) goto L_088DA4C8; AOT_REGCACHE_SYNC_OUT(); return; L_088DA4C8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(26324))); aot_gpr_5 = (0u | 10u); { const std::uint32_t dividend = aot_gpr_4; const std::uint32_t divisor = aot_gpr_5; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), ctx.gpr[2]); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30400))); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_2); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-30400))); aot_gpr_4 = (2237u << 16u); aot_fpr_12 = aot_fpr_22 - aot_fpr_12; aot_gpr_4 = (aot_gpr_4 + static_cast(-28320)); @@ -5039,35 +5040,35 @@ L_088DA564: aot_gpr_4 = (18804u << 16u); aot_gpr_4 = (aot_gpr_4 | 9214u); aot_fpr_13 = std::bit_cast(aot_gpr_4); - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-30400), std::bit_cast(aot_fpr_13)); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-30400), std::bit_cast(aot_fpr_13)); goto L_088DA574; L_088DA574: { std::uint32_t aot_run_words[9]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(24), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(24), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); aot_fpr_22 = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); ctx.fpr[26] = std::bit_cast(aot_run_words[3]); aot_gpr_16 = aot_run_words[4]; ctx.gpr[17] = aot_run_words[5]; - aot_gpr_18 = aot_run_words[6]; + ctx.gpr[18] = aot_run_words[6]; ctx.gpr[19] = aot_run_words[7]; aot_gpr_31 = aot_run_words[8]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(64)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(64)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_088DA5A0: - aot_gpr_29 = (aot_gpr_29 + static_cast(-80)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-80)); aot_gpr_5 = (0u | 0u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-17328))); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(1), static_cast(aot_gpr_5)); + ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-17328))); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(1), static_cast(aot_gpr_5)); aot_gpr_5 = (aot_gpr_5 < ctx.gpr[6] ? 1u : 0u); - { const std::uint32_t aot_run_words[15]{std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_22), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), aot_gpr_16, ctx.gpr[17], aot_gpr_18, ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(16), aot_run_words); } + { const std::uint32_t aot_run_words[15]{std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_22), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(16), aot_run_words); } { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_16 = (aot_gpr_4 | 0u); if (branch_taken) { @@ -5078,13 +5079,13 @@ L_088DA5A0: L_088DA5F8: aot_gpr_4 = (2246u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(17840)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(12), aot_gpr_4); aot_gpr_4 = (aot_gpr_16 + static_cast(96)); ctx.fpr[28] = std::bit_cast(0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_4); aot_gpr_4 = (17864u << 16u); aot_fpr_22 = std::bit_cast(aot_gpr_4); - aot_gpr_5 = (ctx.gpr[28] + static_cast(7696)); + aot_gpr_5 = (aot_gpr_28 + static_cast(7696)); aot_gpr_4 = (17056u << 16u); ctx.fpr[24] = std::bit_cast(aot_gpr_4); ctx.gpr[22] = (2237u << 16u); @@ -5094,12 +5095,12 @@ L_088DA5F8: ctx.gpr[21] = (0u | 120u); ctx.gpr[19] = (0u | 1u); ctx.gpr[23] = (0u | 32u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(8), aot_gpr_5); ctx.gpr[22] = (ctx.gpr[22] + static_cast(-28320)); goto L_088DA648; L_088DA648: - ctx.gpr[17] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(1))); - ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); + ctx.gpr[17] = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(1))); + ctx.gpr[20] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(12))); aot_gpr_4 = (ctx.gpr[17] + ctx.gpr[17]); aot_gpr_4 = (ctx.gpr[17] + aot_gpr_4); aot_gpr_5 = (ctx.gpr[17] << 7u); @@ -5108,7 +5109,7 @@ L_088DA648: ctx.gpr[20] = (aot_gpr_4 + ctx.gpr[20]); aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[20] + static_cast(61))); { const bool branch_taken = aot_gpr_5 == 0u; - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); if (branch_taken) { goto L_088DAA18; } @@ -5182,7 +5183,7 @@ L_088DA6AC: goto L_088DA6BC; L_088DA6BC: aot_gpr_5 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(0), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(0), static_cast(0u)); aot_gpr_31 = (0x088DA6CCu); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 494u, 0x088CA7B0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DA6CCu) goto L_088DA6CC; @@ -5228,7 +5229,7 @@ L_088DA710: aot_gpr_4 = (aot_gpr_16 | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_31 = (0x088DA720u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0048_entry, 48u, 397u, 0x088C6080u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DA720u) goto L_088DA720; AOT_REGCACHE_SYNC_OUT(); return; L_088DA720: @@ -5240,7 +5241,7 @@ L_088DA720: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0109_entry, 109u, 21u, 0x089B8190u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DA734u) goto L_088DA734; AOT_REGCACHE_SYNC_OUT(); return; L_088DA734: - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(72), static_cast(ctx.gpr[2])); + aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(72), static_cast(aot_gpr_2)); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(72))); { const bool branch_taken = static_cast(aot_gpr_5) <= 0; aot_gpr_4 = (0u | 3u); @@ -5307,29 +5308,29 @@ L_088DA79C: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), aot_gpr_4); goto L_088DA7B0; L_088DA7B0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(8))); aot_gpr_31 = (0x088DA7BCu); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(56))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DA7BCu) goto L_088DA7BC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DA7BCu) goto L_088DA7BC; AOT_REGCACHE_SYNC_OUT(); return; L_088DA7BC: - ctx.gpr[17] = (ctx.gpr[2] >> 1u); + ctx.gpr[17] = (aot_gpr_2 >> 1u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), ctx.gpr[17]); aot_gpr_5 = (ctx.gpr[17] >> 4u); aot_gpr_31 = (0x088DA7D0u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DA7D0u) goto L_088DA7D0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089B7A84, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DA7D0u) goto L_088DA7D0; AOT_REGCACHE_SYNC_OUT(); return; L_088DA7D0: - aot_gpr_4 = (ctx.gpr[17] + ctx.gpr[2]); + aot_gpr_4 = (ctx.gpr[17] + aot_gpr_2); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(80), ctx.gpr[19]); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(92), static_cast(ctx.gpr[19])); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23551))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23551))); aot_gpr_5 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-23551), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-23551), static_cast(aot_gpr_5)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(52), aot_gpr_4); - aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23551))); + aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23551))); aot_gpr_5 = (static_cast(aot_gpr_5) < 32 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_4 = (0u | 3u); @@ -5340,7 +5341,7 @@ L_088DA7D0: } L_088DA800: { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-23551), static_cast(ctx.gpr[23])); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-23551), static_cast(ctx.gpr[23])); if (branch_taken) { goto L_088DA854; } @@ -5395,13 +5396,13 @@ L_088DA878: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(48))); goto L_088DA87C; L_088DA87C: - aot_gpr_18 = (0u | 0u); + ctx.gpr[18] = (0u | 0u); aot_gpr_5 = (aot_gpr_4 << 6u); aot_gpr_4 = (aot_gpr_4 << 3u); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(6308))); - aot_gpr_4 = (static_cast(aot_gpr_18) < static_cast(aot_gpr_4) ? 1u : 0u); + aot_gpr_4 = (static_cast(ctx.gpr[18]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -5413,7 +5414,7 @@ L_088DA8A0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(48))); goto L_088DA8A4; L_088DA8A4: - ctx.gpr[17] = (aot_gpr_18 + aot_gpr_18); + ctx.gpr[17] = (ctx.gpr[18] + ctx.gpr[18]); aot_gpr_5 = (aot_gpr_4 << 6u); aot_gpr_4 = (aot_gpr_4 << 3u); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); @@ -5458,7 +5459,7 @@ L_088DA8EC: aot_gpr_4 = (aot_gpr_16 | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_31 = (0x088DA8FCu); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0048_entry, 48u, 397u, 0x088C6080u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DA8FCu) goto L_088DA8FC; AOT_REGCACHE_SYNC_OUT(); return; L_088DA8FC: @@ -5470,7 +5471,7 @@ L_088DA8FC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0109_entry, 109u, 21u, 0x089B8190u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DA910u) goto L_088DA910; AOT_REGCACHE_SYNC_OUT(); return; L_088DA910: - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(72), static_cast(ctx.gpr[2])); + aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(72), static_cast(aot_gpr_2)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(72))); { const bool branch_taken = static_cast(aot_gpr_4) <= 0; // nop @@ -5536,11 +5537,11 @@ L_088DA980: aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(61), static_cast(0u)); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(92), static_cast(ctx.gpr[19])); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(80), ctx.gpr[19]); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23551))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23551))); aot_gpr_5 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-23551), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-23551), static_cast(aot_gpr_5)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(52), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23551))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23551))); aot_gpr_4 = (static_cast(aot_gpr_4) < 32 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -5574,7 +5575,7 @@ L_088DA9D0: goto L_088DA9D8; } L_088DA9D8: - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-23551), static_cast(ctx.gpr[23])); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-23551), static_cast(ctx.gpr[23])); goto L_088DA9DC; L_088DA9DC: aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(113), static_cast(ctx.gpr[19])); @@ -5587,27 +5588,27 @@ L_088DA9EC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(48))); goto L_088DA9F0; L_088DA9F0: - aot_gpr_18 = (aot_gpr_18 + static_cast(1)); + ctx.gpr[18] = (ctx.gpr[18] + static_cast(1)); aot_gpr_5 = (aot_gpr_4 << 6u); aot_gpr_4 = (aot_gpr_4 << 3u); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(6308))); - aot_gpr_18 = (aot_gpr_18 & 255u); - aot_gpr_4 = (static_cast(aot_gpr_18) < static_cast(aot_gpr_4) ? 1u : 0u); + ctx.gpr[18] = (ctx.gpr[18] & 255u); + aot_gpr_4 = (static_cast(ctx.gpr[18]) < static_cast(aot_gpr_4) ? 1u : 0u); if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(48))); goto L_088DA8A4; } goto L_088DAA18; L_088DAA18: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(1))); - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-17328))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(1))); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-17328))); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_5 = (aot_gpr_4 < aot_gpr_5 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 != 0u; - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(1), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(1), static_cast(aot_gpr_4)); if (branch_taken) { goto L_088DA648; } @@ -5615,7 +5616,7 @@ L_088DAA18: } L_088DAA34: { std::uint32_t aot_run_words[15]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(16), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); aot_fpr_22 = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); @@ -5623,7 +5624,7 @@ L_088DAA34: ctx.fpr[28] = std::bit_cast(aot_run_words[4]); aot_gpr_16 = aot_run_words[5]; ctx.gpr[17] = aot_run_words[6]; - aot_gpr_18 = aot_run_words[7]; + ctx.gpr[18] = aot_run_words[7]; ctx.gpr[19] = aot_run_words[8]; ctx.gpr[20] = aot_run_words[9]; ctx.gpr[21] = aot_run_words[10]; @@ -5633,30 +5634,30 @@ L_088DAA34: aot_gpr_31 = aot_run_words[14]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(80)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(80)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_088DAA78: - aot_gpr_29 = (aot_gpr_29 + static_cast(-64)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-64)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(48))); ctx.gpr[6] = (aot_gpr_5 << 6u); aot_gpr_5 = (aot_gpr_5 << 3u); ctx.gpr[7] = (ctx.gpr[6] - aot_gpr_5); ctx.gpr[7] = (aot_gpr_4 + ctx.gpr[7]); ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[7] + static_cast(6308))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), ctx.gpr[20]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(16), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(32), ctx.gpr[20]); ctx.gpr[20] = (0u | 0u); aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_4 = (static_cast(ctx.gpr[20]) < static_cast(ctx.gpr[8]) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), std::bit_cast(aot_fpr_20)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), std::bit_cast(aot_fpr_22)); - { const std::uint32_t aot_run_words[3]{ctx.gpr[17], aot_gpr_18, ctx.gpr[19]}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(20), aot_run_words); } + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(8), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(12), std::bit_cast(aot_fpr_22)); + { const std::uint32_t aot_run_words[3]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19]}; + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(20), aot_run_words); } { const std::uint32_t aot_run_words[5]{ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(36), aot_run_words); } + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(36), aot_run_words); } { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_4 = (2237u << 16u); if (branch_taken) { @@ -5666,12 +5667,12 @@ L_088DAA78: } L_088DAAD8: aot_gpr_4 = (aot_gpr_4 + static_cast(-1008)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), aot_gpr_4); aot_gpr_4 = (16256u << 16u); aot_fpr_20 = std::bit_cast(aot_gpr_4); ctx.gpr[22] = (2237u << 16u); aot_gpr_4 = (17096u << 16u); - ctx.gpr[30] = (ctx.gpr[28] + static_cast(7696)); + ctx.gpr[30] = (aot_gpr_28 + static_cast(7696)); aot_fpr_22 = std::bit_cast(aot_gpr_4); ctx.gpr[23] = (0u | 1u); ctx.gpr[22] = (ctx.gpr[22] + static_cast(-28320)); @@ -5683,10 +5684,10 @@ L_088DAB00: ctx.gpr[9] = (0u | 0u); ctx.gpr[11] = (0u | 0u); ctx.gpr[17] = (0u | 0u); - aot_gpr_18 = (0u | 0u); + ctx.gpr[18] = (0u | 0u); ctx.gpr[19] = (0u | 0u); ctx.gpr[10] = (0u | 0u); - ctx.gpr[2] = (0u | 249u); + aot_gpr_2 = (0u | 249u); aot_gpr_5 = (static_cast(aot_gpr_4) < 59 ? 1u : 0u); ctx.gpr[3] = (0u | 344u); { const bool branch_taken = aot_gpr_5 != 0u; @@ -5720,7 +5721,7 @@ L_088DAB5C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(26324))); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 == 0u; - ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23540))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-23540))); if (branch_taken) { goto L_088DAB7C; } @@ -5755,7 +5756,7 @@ L_088DAB90: goto L_088DAB98; L_088DAB98: { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-23540), aot_gpr_4); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-23540), aot_gpr_4); if (branch_taken) { goto L_088DAD64; } @@ -5786,7 +5787,7 @@ L_088DABC0: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), aot_gpr_4); ctx.gpr[17] = (0u | 1u); { const bool branch_taken = 0u == 0u; - aot_gpr_18 = (0u | 0u); + ctx.gpr[18] = (0u | 0u); if (branch_taken) { goto L_088DAD64; } @@ -5797,7 +5798,7 @@ L_088DABD4: ctx.gpr[17] = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), aot_gpr_4); { const bool branch_taken = 0u == 0u; - aot_gpr_18 = (ctx.gpr[17] | 0u); + ctx.gpr[18] = (ctx.gpr[17] | 0u); if (branch_taken) { goto L_088DAD64; } @@ -5806,7 +5807,7 @@ L_088DABD4: L_088DABE8: ctx.gpr[17] = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), ctx.gpr[12]); - aot_gpr_18 = (ctx.gpr[17] | 0u); + ctx.gpr[18] = (ctx.gpr[17] | 0u); { const bool branch_taken = 0u == 0u; ctx.gpr[11] = (ctx.gpr[17] | 0u); if (branch_taken) { @@ -5817,7 +5818,7 @@ L_088DABE8: L_088DABFC: aot_gpr_4 = (0u | 331u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); aot_gpr_5 = (0u | 1u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(1512), static_cast(aot_gpr_5)); @@ -5829,7 +5830,7 @@ L_088DABFC: L_088DAC14: ctx.gpr[9] = (0u | 1u); ctx.gpr[17] = (ctx.gpr[9] | 0u); - aot_gpr_18 = (ctx.gpr[9] | 0u); + ctx.gpr[18] = (ctx.gpr[9] | 0u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), ctx.gpr[3]); if (branch_taken) { @@ -5841,7 +5842,7 @@ L_088DAC28: ctx.gpr[9] = (0u | 1u); ctx.gpr[17] = (ctx.gpr[9] | 0u); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), aot_gpr_2); if (branch_taken) { goto L_088DAD64; } @@ -5850,7 +5851,7 @@ L_088DAC28: L_088DAC38: ctx.gpr[9] = (0u | 1u); ctx.gpr[17] = (ctx.gpr[9] | 0u); - aot_gpr_18 = (ctx.gpr[9] | 0u); + ctx.gpr[18] = (ctx.gpr[9] | 0u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), ctx.gpr[12]); if (branch_taken) { @@ -5862,7 +5863,7 @@ L_088DAC4C: ctx.gpr[9] = (0u | 1u); ctx.gpr[17] = (ctx.gpr[9] | 0u); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), aot_gpr_2); if (branch_taken) { goto L_088DAD64; } @@ -5872,7 +5873,7 @@ L_088DAC5C: ctx.gpr[9] = (0u | 1u); ctx.gpr[17] = (ctx.gpr[9] | 0u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), ctx.gpr[3]); - aot_gpr_18 = (ctx.gpr[9] | 0u); + ctx.gpr[18] = (ctx.gpr[9] | 0u); { const bool branch_taken = 0u == 0u; ctx.gpr[10] = (ctx.gpr[9] | 0u); if (branch_taken) { @@ -5883,7 +5884,7 @@ L_088DAC5C: L_088DAC74: ctx.gpr[17] = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), ctx.gpr[3]); - aot_gpr_18 = (ctx.gpr[17] | 0u); + ctx.gpr[18] = (ctx.gpr[17] | 0u); { const bool branch_taken = 0u == 0u; ctx.gpr[10] = (ctx.gpr[17] | 0u); if (branch_taken) { @@ -5895,7 +5896,7 @@ L_088DAC88: ctx.gpr[9] = (0u | 1u); ctx.gpr[17] = (ctx.gpr[9] | 0u); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), aot_gpr_2); if (branch_taken) { goto L_088DAD64; } @@ -5905,7 +5906,7 @@ L_088DAC98: aot_gpr_4 = (0u | 16u); ctx.gpr[17] = (0u | 0u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), aot_gpr_4); - aot_gpr_18 = (0u | 0u); + ctx.gpr[18] = (0u | 0u); { const bool branch_taken = 0u == 0u; ctx.gpr[10] = (0u | 0u); if (branch_taken) { @@ -5917,7 +5918,7 @@ L_088DACB0: aot_gpr_4 = (0u | 281u); ctx.gpr[17] = (0u | 0u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), aot_gpr_4); - aot_gpr_18 = (0u | 0u); + ctx.gpr[18] = (0u | 0u); { const bool branch_taken = 0u == 0u; ctx.gpr[10] = (0u | 0u); if (branch_taken) { @@ -6028,7 +6029,7 @@ L_088DAD64: } L_088DAD6C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(26344))); - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23548))); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-23548))); aot_gpr_5 = (aot_gpr_5 < aot_gpr_4 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; // nop @@ -6040,7 +6041,7 @@ L_088DAD6C: L_088DAD80: aot_gpr_4 = (aot_gpr_4 + static_cast(5)); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-23548), aot_gpr_4); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-23548), aot_gpr_4); if (branch_taken) { goto L_088DADEC; } @@ -6067,7 +6068,7 @@ L_088DADA8: goto L_088DADB0; L_088DADB0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(26344))); - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23544))); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-23544))); aot_gpr_5 = (aot_gpr_5 < aot_gpr_4 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; // nop @@ -6079,7 +6080,7 @@ L_088DADB0: L_088DADC4: aot_gpr_4 = (aot_gpr_4 + static_cast(5)); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-23544), aot_gpr_4); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-23544), aot_gpr_4); if (branch_taken) { goto L_088DADEC; } @@ -6163,27 +6164,27 @@ L_088DAE4C: goto L_088DAE54; } L_088DAE54: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[22]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), ctx.gpr[22]); aot_gpr_4 = (ctx.gpr[30] | 0u); aot_gpr_31 = (0x088DAE64u); aot_gpr_5 = (ctx.gpr[7] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DAE64u) goto L_088DAE64; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DAE64u) goto L_088DAE64; AOT_REGCACHE_SYNC_OUT(); return; L_088DAE64: - ctx.gpr[22] = (ctx.gpr[2] | 0u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), ctx.gpr[2]); + ctx.gpr[22] = (aot_gpr_2 | 0u); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_2); aot_gpr_5 = (ctx.gpr[22] >> 5u); aot_gpr_31 = (0x088DAE78u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DAE78u) goto L_088DAE78; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089B7A84, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DAE78u) goto L_088DAE78; AOT_REGCACHE_SYNC_OUT(); return; L_088DAE78: - aot_gpr_4 = (ctx.gpr[22] + ctx.gpr[2]); + aot_gpr_4 = (ctx.gpr[22] + aot_gpr_2); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(56))); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_4); aot_gpr_4 = (ctx.gpr[7] < static_cast(287) ? 1u : 0u); { const bool branch_taken = 0u == 0u; - ctx.gpr[22] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + ctx.gpr[22] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); if (branch_taken) { goto L_088DAEF8; } @@ -6211,13 +6212,13 @@ L_088DAEA8: aot_gpr_4 = (ctx.gpr[30] | 0u); aot_gpr_31 = (0x088DAEB4u); aot_gpr_5 = (ctx.gpr[7] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DAEB4u) goto L_088DAEB4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DAEB4u) goto L_088DAEB4; AOT_REGCACHE_SYNC_OUT(); return; L_088DAEB4: ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(56))); aot_gpr_4 = (ctx.gpr[7] < static_cast(287) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_2); if (branch_taken) { goto L_088DAEF8; } @@ -6233,19 +6234,19 @@ L_088DAEC4: goto L_088DAED0; } L_088DAED0: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[22]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), ctx.gpr[22]); ctx.gpr[22] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(68))); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088DAEE4u); aot_gpr_5 = (0u | 1500u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DAEE4u) goto L_088DAEE4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089B7A84, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DAEE4u) goto L_088DAEE4; AOT_REGCACHE_SYNC_OUT(); return; L_088DAEE4: - aot_gpr_4 = (ctx.gpr[22] + ctx.gpr[2]); + aot_gpr_4 = (ctx.gpr[22] + aot_gpr_2); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(56))); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_4); aot_gpr_4 = (ctx.gpr[7] < static_cast(287) ? 1u : 0u); - ctx.gpr[22] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + ctx.gpr[22] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); goto L_088DAEF8; L_088DAEF8: { const bool branch_taken = aot_gpr_4 != 0u; @@ -6286,7 +6287,7 @@ L_088DAF1C: goto L_088DAF28; } L_088DAF28: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8348))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8348))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_20)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); @@ -6307,9 +6308,9 @@ L_088DAF3C: aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(72), static_cast(aot_gpr_4)); goto L_088DAF5C; L_088DAF5C: - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23550))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23550))); aot_gpr_5 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-23550), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-23550), static_cast(aot_gpr_5)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(52), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(80), ctx.gpr[23]); { const bool branch_taken = ctx.gpr[19] == 0u; @@ -6433,10 +6434,10 @@ L_088DB050: L_088DB058: aot_gpr_4 = (ctx.gpr[17] + static_cast(1)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23550))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23550))); aot_gpr_5 = (0u | 127u); ctx.gpr[6] = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-23550), static_cast(ctx.gpr[6])); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-23550), static_cast(ctx.gpr[6])); ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(114))); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(52), aot_gpr_4); aot_gpr_4 = (aot_gpr_5 - ctx.gpr[6]); @@ -6447,7 +6448,7 @@ L_088DB058: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 703u, 0x089B7B80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DB08Cu) goto L_088DB08C; AOT_REGCACHE_SYNC_OUT(); return; L_088DB08C: - { const bool branch_taken = aot_gpr_18 == 0u; + { const bool branch_taken = ctx.gpr[18] == 0u; aot_gpr_4 = (ctx.gpr[17] + static_cast(-1)); if (branch_taken) { goto L_088DB0D0; @@ -6456,20 +6457,20 @@ L_088DB08C: } L_088DB094: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-23550))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-23550))); aot_gpr_5 = (0u | 63u); ctx.gpr[6] = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-23550), static_cast(ctx.gpr[6])); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-23550), static_cast(ctx.gpr[6])); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(52), aot_gpr_4); ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(56))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(114), static_cast(aot_gpr_5)); aot_gpr_4 = (ctx.gpr[30] | 0u); aot_gpr_31 = (0x088DB0C0u); aot_gpr_5 = (ctx.gpr[6] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DB0C0u) goto L_088DB0C0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DB0C0u) goto L_088DB0C0; AOT_REGCACHE_SYNC_OUT(); return; L_088DB0C0: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_2); aot_gpr_4 = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x088DB0D0u); aot_gpr_5 = (0u | 0u); @@ -6496,12 +6497,12 @@ L_088DB0E8: } L_088DB0FC: { std::uint32_t aot_run_words[12]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(8), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(8), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); aot_fpr_22 = std::bit_cast(aot_run_words[1]); aot_gpr_16 = aot_run_words[2]; ctx.gpr[17] = aot_run_words[3]; - aot_gpr_18 = aot_run_words[4]; + ctx.gpr[18] = aot_run_words[4]; ctx.gpr[19] = aot_run_words[5]; ctx.gpr[20] = aot_run_words[6]; ctx.gpr[21] = aot_run_words[7]; @@ -6511,57 +6512,57 @@ L_088DB0FC: aot_gpr_31 = aot_run_words[11]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(64)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(64)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_088DB134: - aot_gpr_29 = (aot_gpr_29 + static_cast(-64)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), ctx.gpr[21]); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-64)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(24), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(44), ctx.gpr[21]); ctx.gpr[21] = (aot_gpr_4 + static_cast(96)); aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_4 = (16512u << 16u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), std::bit_cast(aot_fpr_22)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), std::bit_cast(aot_fpr_22)); aot_fpr_22 = std::bit_cast(aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), std::bit_cast(ctx.fpr[30])); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(20), std::bit_cast(ctx.fpr[30])); aot_gpr_4 = (17505u << 16u); ctx.fpr[30] = std::bit_cast(aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), std::bit_cast(ctx.fpr[28])); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(16), std::bit_cast(ctx.fpr[28])); aot_gpr_4 = (16880u << 16u); ctx.fpr[28] = std::bit_cast(aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), std::bit_cast(ctx.fpr[26])); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(12), std::bit_cast(ctx.fpr[26])); aot_gpr_4 = (17608u << 16u); ctx.fpr[26] = std::bit_cast(aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), ctx.gpr[20]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), ctx.gpr[30]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(40), ctx.gpr[20]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(56), ctx.gpr[30]); ctx.gpr[20] = (2240u << 16u); ctx.gpr[30] = (2237u << 16u); aot_gpr_4 = (16928u << 16u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), std::bit_cast(ctx.fpr[24])); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), aot_gpr_18); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), ctx.gpr[19]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), ctx.gpr[22]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), ctx.gpr[23]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(8), std::bit_cast(ctx.fpr[24])); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(32), ctx.gpr[18]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(36), ctx.gpr[19]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(48), ctx.gpr[22]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(52), ctx.gpr[23]); ctx.fpr[24] = std::bit_cast(aot_gpr_4); - aot_gpr_18 = (0u | 0u); - ctx.gpr[23] = (ctx.gpr[28] + static_cast(7696)); + ctx.gpr[18] = (0u | 0u); + ctx.gpr[23] = (aot_gpr_28 + static_cast(7696)); ctx.gpr[19] = (0u | 3u); ctx.gpr[22] = (0u | 7u); ctx.gpr[20] = (ctx.gpr[20] + static_cast(-25136)); ctx.gpr[30] = (ctx.gpr[30] + static_cast(-28320)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), std::bit_cast(aot_fpr_20)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), ctx.gpr[17]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(60), aot_gpr_31); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(28), ctx.gpr[17]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(60), aot_gpr_31); goto L_088DB1C8; L_088DB1C8: aot_gpr_31 = (0x088DB1D0u); - aot_gpr_4 = (aot_gpr_18 | 0u); + aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0031_entry, 31u, 31u, 0x08880328u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DB1D0u) goto L_088DB1D0; AOT_REGCACHE_SYNC_OUT(); return; L_088DB1D0: - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(12))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(12))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -6571,11 +6572,11 @@ L_088DB1D0: } L_088DB1DC: aot_gpr_31 = (0x088DB1E4u); - aot_gpr_4 = (aot_gpr_18 | 0u); + aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0031_entry, 31u, 31u, 0x08880328u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DB1E4u) goto L_088DB1E4; AOT_REGCACHE_SYNC_OUT(); return; L_088DB1E4: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(0))); aot_gpr_5 = (static_cast(aot_gpr_4) < 17 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_5 = (static_cast(aot_gpr_4) < 18 ? 1u : 0u); @@ -6630,13 +6631,13 @@ L_088DB218: aot_gpr_4 = (ctx.gpr[23] | 0u); aot_gpr_31 = (0x088DB248u); aot_gpr_5 = (0u | 297u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DB248u) goto L_088DB248; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DB248u) goto L_088DB248; AOT_REGCACHE_SYNC_OUT(); return; L_088DB248: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_2); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), ctx.gpr[19]); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(84), std::bit_cast(aot_fpr_22)); - aot_gpr_4 = (aot_gpr_18 << 2u); + aot_gpr_4 = (ctx.gpr[18] << 2u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(116), ctx.gpr[19]); { const bool branch_taken = 0u == 0u; aot_gpr_4 = (aot_gpr_4 + ctx.gpr[20]); @@ -6655,16 +6656,16 @@ L_088DB264: aot_gpr_4 = (ctx.gpr[23] | 0u); aot_gpr_31 = (0x088DB288u); aot_gpr_5 = (0u | 268u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DB288u) goto L_088DB288; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DB288u) goto L_088DB288; AOT_REGCACHE_SYNC_OUT(); return; L_088DB288: aot_gpr_4 = (0u | 25u); - aot_gpr_5 = (ctx.gpr[2] << 5u); + aot_gpr_5 = (aot_gpr_2 << 5u); { const std::uint32_t dividend = aot_gpr_5; const std::uint32_t divisor = aot_gpr_4; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), ctx.gpr[22]); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(84), std::bit_cast(aot_fpr_22)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(116), ctx.gpr[19]); - aot_gpr_4 = (aot_gpr_18 << 2u); + aot_gpr_4 = (ctx.gpr[18] << 2u); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[20]); aot_gpr_5 = (ctx.lo); { const bool branch_taken = 0u == 0u; @@ -6676,17 +6677,17 @@ L_088DB288: } L_088DB2B4: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(88), std::bit_cast(ctx.fpr[24])); - aot_gpr_5 = (aot_gpr_18 << 3u); + aot_gpr_5 = (ctx.gpr[18] << 3u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), aot_gpr_4); aot_fpr_20 = std::bit_cast(std::bit_cast(ctx.fpr[26])); - aot_gpr_4 = (aot_gpr_18 + aot_gpr_5); - aot_gpr_4 = (aot_gpr_18 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[18] + aot_gpr_5); + aot_gpr_4 = (ctx.gpr[18] + aot_gpr_4); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(60), static_cast(0u)); aot_gpr_4 = (aot_gpr_4 + static_cast(13879)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), ctx.gpr[22]); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(84), std::bit_cast(aot_fpr_22)); - aot_gpr_4 = (aot_gpr_18 << 2u); + aot_gpr_4 = (ctx.gpr[18] << 2u); ctx.gpr[17] = (0u | 80u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(116), ctx.gpr[19]); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[20]); @@ -6733,7 +6734,7 @@ L_088DB320: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0109_entry, 109u, 21u, 0x089B8190u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DB338u) goto L_088DB338; AOT_REGCACHE_SYNC_OUT(); return; L_088DB338: - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(72), static_cast(ctx.gpr[2])); + aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(72), static_cast(aot_gpr_2)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(72))); { const bool branch_taken = static_cast(aot_gpr_4) <= 0; // nop @@ -6743,7 +6744,7 @@ L_088DB338: goto L_088DB348; } L_088DB348: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(52), aot_gpr_18); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(52), ctx.gpr[18]); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(61), static_cast(0u)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(80), 0u); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(92), static_cast(0u)); @@ -6754,9 +6755,9 @@ L_088DB348: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 703u, 0x089B7B80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DB368u) goto L_088DB368; AOT_REGCACHE_SYNC_OUT(); return; L_088DB368: - aot_gpr_18 = (aot_gpr_18 + static_cast(1)); - aot_gpr_18 = (aot_gpr_18 & 255u); - aot_gpr_4 = (static_cast(aot_gpr_18) < 32 ? 1u : 0u); + ctx.gpr[18] = (ctx.gpr[18] + static_cast(1)); + ctx.gpr[18] = (ctx.gpr[18] & 255u); + aot_gpr_4 = (static_cast(ctx.gpr[18]) < 32 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -6766,7 +6767,7 @@ L_088DB368: } L_088DB37C: { std::uint32_t aot_run_words[16]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(0), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); aot_fpr_22 = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); @@ -6775,7 +6776,7 @@ L_088DB37C: ctx.fpr[30] = std::bit_cast(aot_run_words[5]); aot_gpr_16 = aot_run_words[6]; ctx.gpr[17] = aot_run_words[7]; - aot_gpr_18 = aot_run_words[8]; + ctx.gpr[18] = aot_run_words[8]; ctx.gpr[19] = aot_run_words[9]; ctx.gpr[20] = aot_run_words[10]; ctx.gpr[21] = aot_run_words[11]; @@ -6785,32 +6786,32 @@ L_088DB37C: aot_gpr_31 = aot_run_words[15]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(64)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(64)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_088DB3C4: - aot_gpr_29 = (aot_gpr_29 + static_cast(-80)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), ctx.gpr[20]); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-80)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(36), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(52), ctx.gpr[20]); aot_gpr_16 = (aot_gpr_4 | 0u); ctx.gpr[20] = (aot_gpr_5 & 255u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), ctx.gpr[19]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(48), ctx.gpr[19]); ctx.gpr[19] = (aot_gpr_16 + ctx.gpr[20]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), ctx.gpr[17]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(60), ctx.gpr[22]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(40), ctx.gpr[17]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(60), ctx.gpr[22]); ctx.gpr[22] = (aot_mem.aot_direct_load8(ctx.gpr[19] + static_cast(26314))); - ctx.gpr[17] = (ctx.gpr[28] + ctx.gpr[20]); + ctx.gpr[17] = (aot_gpr_28 + ctx.gpr[20]); aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(8648))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), ctx.gpr[21]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), ctx.gpr[23]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(56), ctx.gpr[21]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(64), ctx.gpr[23]); ctx.gpr[21] = (ctx.gpr[20] << 2u); ctx.gpr[23] = (0u | 0u); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[19] + static_cast(26268))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), std::bit_cast(aot_fpr_20)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), aot_gpr_18); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), aot_gpr_31); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(32), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(44), ctx.gpr[18]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(68), aot_gpr_31); { const bool branch_taken = aot_gpr_5 == 0u; ctx.gpr[21] = (aot_gpr_16 + ctx.gpr[21]); if (branch_taken) { @@ -6837,7 +6838,7 @@ L_088DB434: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[19] + static_cast(26268))); goto L_088DB438; L_088DB438: - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16352))); + ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-16352))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(26248))); ctx.gpr[6] = (ctx.gpr[6] + static_cast(6028)); { const bool branch_taken = aot_gpr_5 != ctx.gpr[6]; @@ -6873,13 +6874,13 @@ L_088DB45C: } L_088DB464: ctx.gpr[6] = (aot_gpr_5 | 0u); - aot_gpr_4 = (ctx.gpr[28] + static_cast(7696)); + aot_gpr_4 = (aot_gpr_28 + static_cast(7696)); aot_gpr_31 = (0x088DB474u); aot_gpr_5 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 497u, 0x0880A350u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DB474u) goto L_088DB474; AOT_REGCACHE_SYNC_OUT(); return; L_088DB474: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_088DB4C4; @@ -6912,15 +6913,15 @@ L_088DB48C: } L_088DB494: ctx.gpr[6] = (aot_gpr_5 | 0u); - aot_gpr_18 = (ctx.gpr[28] + static_cast(7696)); - aot_gpr_4 = (aot_gpr_18 | 0u); + ctx.gpr[18] = (aot_gpr_28 + static_cast(7696)); + aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x088DB4A8u); aot_gpr_5 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 502u, 0x0880A390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DB4A8u) goto L_088DB4A8; AOT_REGCACHE_SYNC_OUT(); return; L_088DB4A8: aot_gpr_4 = (0u | 1u); - { const bool branch_taken = ctx.gpr[2] == aot_gpr_4; + { const bool branch_taken = aot_gpr_2 == aot_gpr_4; // nop if (branch_taken) { goto L_088DB4E0; @@ -7028,7 +7029,7 @@ L_088DB540: } L_088DB548: ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(26248))); - aot_gpr_4 = (aot_gpr_18 | 0u); + aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x088DB558u); aot_gpr_5 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 497u, 0x0880A350u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DB558u) goto L_088DB558; @@ -7060,14 +7061,14 @@ L_088DB568: } L_088DB574: { const bool branch_taken = 0u == 0u; - aot_gpr_18 = (0u | 19u); + ctx.gpr[18] = (0u | 19u); if (branch_taken) { goto L_088DB580; } goto L_088DB57C; } L_088DB57C: - aot_gpr_18 = (0u | 22u); + ctx.gpr[18] = (0u | 22u); goto L_088DB580; L_088DB580: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(-23834))); @@ -7094,14 +7095,14 @@ L_088DB598: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 435u, 0x088CA378u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DB5A4u) goto L_088DB5A4; AOT_REGCACHE_SYNC_OUT(); return; L_088DB5A4: - aot_gpr_16 = (ctx.gpr[28] + static_cast(7696)); + aot_gpr_16 = (aot_gpr_28 + static_cast(7696)); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088DB5B4u); aot_gpr_5 = (0u | 21u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 550u, 0x0880A680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DB5B4u) goto L_088DB5B4; AOT_REGCACHE_SYNC_OUT(); return; L_088DB5B4: - aot_gpr_5 = (aot_gpr_18 + ctx.gpr[22]); + aot_gpr_5 = (ctx.gpr[18] + ctx.gpr[22]); aot_gpr_31 = (0x088DB5C0u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 550u, 0x0880A680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DB5C0u) goto L_088DB5C0; @@ -7148,7 +7149,7 @@ L_088DB5F8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 476u, 0x088CA6A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DB610u) goto L_088DB610; AOT_REGCACHE_SYNC_OUT(); return; L_088DB610: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088DBAD8; @@ -7188,11 +7189,11 @@ L_088DB638: goto L_088DB644; } L_088DB644: - aot_gpr_4 = (aot_gpr_18 | 0u); - aot_gpr_18 = (ctx.gpr[28] + static_cast(7696)); + aot_gpr_4 = (ctx.gpr[18] | 0u); + ctx.gpr[18] = (aot_gpr_28 + static_cast(7696)); ctx.gpr[22] = (aot_gpr_4 + ctx.gpr[22]); ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(26248))); - aot_gpr_4 = (aot_gpr_18 | 0u); + aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (ctx.gpr[22] | 0u); ctx.gpr[7] = (0u | 67u); ctx.gpr[8] = (0u | 1u); @@ -7210,7 +7211,7 @@ L_088DB66C: goto L_088DB678; } L_088DB678: - aot_gpr_4 = (aot_gpr_18 | 0u); + aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x088DB688u); ctx.gpr[6] = (0u | 0u); @@ -7227,14 +7228,14 @@ L_088DB688: L_088DB690: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(26248))); aot_gpr_31 = (0x088DB69Cu); - aot_gpr_4 = (aot_gpr_18 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DB69Cu) goto L_088DB69C; + aot_gpr_4 = (ctx.gpr[18] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DB69Cu) goto L_088DB69C; AOT_REGCACHE_SYNC_OUT(); return; L_088DB69C: - aot_gpr_4 = (aot_gpr_18 | 0u); + aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x088DB6ACu); - ctx.gpr[6] = (ctx.gpr[2] | 0u); + ctx.gpr[6] = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 539u, 0x0880A5B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DB6ACu) goto L_088DB6AC; AOT_REGCACHE_SYNC_OUT(); return; L_088DB6AC: @@ -7249,7 +7250,7 @@ L_088DB6B0: goto L_088DB6B8; } L_088DB6B8: - aot_gpr_4 = (aot_gpr_18 | 0u); + aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (ctx.gpr[22] | 0u); ctx.gpr[6] = (0u | 127u); aot_gpr_31 = (0x088DB6CCu); @@ -7257,14 +7258,14 @@ L_088DB6B8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 516u, 0x0880A438u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DB6CCu) goto L_088DB6CC; AOT_REGCACHE_SYNC_OUT(); return; L_088DB6CC: - aot_gpr_4 = (aot_gpr_18 | 0u); + aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x088DB6DCu); ctx.gpr[6] = (0u | 63u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 536u, 0x0880A584u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DB6DCu) goto L_088DB6DC; AOT_REGCACHE_SYNC_OUT(); return; L_088DB6DC: - aot_gpr_4 = (aot_gpr_18 | 0u); + aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x088DB6ECu); ctx.gpr[6] = (0u | 63u); @@ -7312,23 +7313,23 @@ L_088DB728: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0109_entry, 109u, 21u, 0x089B8190u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DB748u) goto L_088DB748; AOT_REGCACHE_SYNC_OUT(); return; L_088DB748: - ctx.gpr[20] = (ctx.gpr[2] | 0u); + ctx.gpr[20] = (aot_gpr_2 | 0u); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x088DB75Cu); - ctx.gpr[6] = (aot_gpr_29 | 0u); + ctx.gpr[6] = (ctx.gpr[29] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0109_entry, 109u, 30u, 0x089B8234u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DB75Cu) goto L_088DB75C; AOT_REGCACHE_SYNC_OUT(); return; L_088DB75C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_31 = (0x088DB76Cu); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0109_entry, 109u, 13u, 0x089B80C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DB76Cu) goto L_088DB76C; AOT_REGCACHE_SYNC_OUT(); return; L_088DB76C: { const bool branch_taken = 0u == 0u; - aot_gpr_16 = (ctx.gpr[2] | 0u); + aot_gpr_16 = (aot_gpr_2 | 0u); if (branch_taken) { goto L_088DB77C; } @@ -7339,7 +7340,7 @@ L_088DB774: aot_gpr_16 = (0u | 63u); goto L_088DB77C; L_088DB77C: - aot_gpr_4 = (aot_gpr_18 | 0u); + aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (ctx.gpr[22] | 0u); ctx.gpr[6] = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x088DB790u); @@ -7347,14 +7348,14 @@ L_088DB77C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 516u, 0x0880A438u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DB790u) goto L_088DB790; AOT_REGCACHE_SYNC_OUT(); return; L_088DB790: - aot_gpr_4 = (aot_gpr_18 | 0u); + aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x088DB7A0u); ctx.gpr[6] = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 536u, 0x0880A584u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DB7A0u) goto L_088DB7A0; AOT_REGCACHE_SYNC_OUT(); return; L_088DB7A0: - aot_gpr_4 = (aot_gpr_18 | 0u); + aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x088DB7ACu); aot_gpr_5 = (ctx.gpr[22] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 546u, 0x0880A624u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DB7ACu) goto L_088DB7AC; @@ -7395,7 +7396,7 @@ L_088DB7D8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 493u, 0x088CA7A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DB7E4u) goto L_088DB7E4; AOT_REGCACHE_SYNC_OUT(); return; L_088DB7E4: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_088DB824; @@ -7417,14 +7418,14 @@ L_088DB7F4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 435u, 0x088CA378u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DB800u) goto L_088DB800; AOT_REGCACHE_SYNC_OUT(); return; L_088DB800: - aot_gpr_16 = (ctx.gpr[28] + static_cast(7696)); + aot_gpr_16 = (aot_gpr_28 + static_cast(7696)); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088DB810u); aot_gpr_5 = (0u | 21u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 550u, 0x0880A680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DB810u) goto L_088DB810; AOT_REGCACHE_SYNC_OUT(); return; L_088DB810: - aot_gpr_5 = (aot_gpr_18 + ctx.gpr[22]); + aot_gpr_5 = (ctx.gpr[18] + ctx.gpr[22]); aot_gpr_31 = (0x088DB81Cu); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 550u, 0x0880A680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DB81Cu) goto L_088DB81C; @@ -7500,7 +7501,7 @@ L_088DB874: AOT_REGCACHE_SYNC_OUT(); return; L_088DB87C: aot_gpr_4 = (0u | 2u); - { const bool branch_taken = ctx.gpr[2] != aot_gpr_4; + { const bool branch_taken = aot_gpr_2 != aot_gpr_4; // nop if (branch_taken) { goto L_088DB88C; @@ -7521,7 +7522,7 @@ L_088DB88C: L_088DB894: aot_gpr_4 = (0u | 2u); aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(26273), static_cast(aot_gpr_4)); - aot_gpr_4 = (ctx.gpr[28] + static_cast(7696)); + aot_gpr_4 = (aot_gpr_28 + static_cast(7696)); aot_gpr_31 = (0x088DB8A8u); aot_gpr_5 = (0u | 21u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 550u, 0x0880A680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DB8A8u) goto L_088DB8A8; @@ -7545,9 +7546,9 @@ L_088DB8B0: } L_088DB8BC: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(-23834))); - ctx.gpr[17] = (ctx.gpr[28] + static_cast(7696)); + ctx.gpr[17] = (aot_gpr_28 + static_cast(7696)); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_18 = (aot_gpr_18 + ctx.gpr[22]); + ctx.gpr[18] = (ctx.gpr[18] + ctx.gpr[22]); if (branch_taken) { goto L_088DB8F4; } @@ -7584,11 +7585,11 @@ L_088DB8EC: L_088DB8F4: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088DB900u); - aot_gpr_5 = (aot_gpr_18 | 0u); + aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 542u, 0x0880A5E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DB900u) goto L_088DB900; AOT_REGCACHE_SYNC_OUT(); return; L_088DB900: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_088DB90C; @@ -7612,7 +7613,7 @@ L_088DB914: aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(26304), static_cast(0u)); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088DB92Cu); - aot_gpr_5 = (aot_gpr_18 | 0u); + aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 550u, 0x0880A680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DB92Cu) goto L_088DB92C; AOT_REGCACHE_SYNC_OUT(); return; L_088DB92C: @@ -7623,7 +7624,7 @@ L_088DB92C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 476u, 0x088CA6A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DB93Cu) goto L_088DB93C; AOT_REGCACHE_SYNC_OUT(); return; L_088DB93C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088DBAD8; @@ -7655,7 +7656,7 @@ L_088DB958: } L_088DB964: aot_gpr_4 = (ctx.gpr[17] | 0u); - aot_gpr_5 = (aot_gpr_18 | 0u); + aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x088DB974u); ctx.gpr[6] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 539u, 0x0880A5B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DB974u) goto L_088DB974; @@ -7672,13 +7673,13 @@ L_088DB97C: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(26248))); aot_gpr_31 = (0x088DB988u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DB988u) goto L_088DB988; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DB988u) goto L_088DB988; AOT_REGCACHE_SYNC_OUT(); return; L_088DB988: aot_gpr_4 = (ctx.gpr[17] | 0u); - aot_gpr_5 = (aot_gpr_18 | 0u); + aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x088DB998u); - ctx.gpr[6] = (ctx.gpr[2] | 0u); + ctx.gpr[6] = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 539u, 0x0880A5B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DB998u) goto L_088DB998; AOT_REGCACHE_SYNC_OUT(); return; L_088DB998: @@ -7696,7 +7697,7 @@ L_088DB998: } L_088DB9B4: aot_gpr_4 = (ctx.gpr[17] | 0u); - aot_gpr_5 = (aot_gpr_18 | 0u); + aot_gpr_5 = (ctx.gpr[18] | 0u); ctx.gpr[6] = (0u | 127u); aot_gpr_31 = (0x088DB9C8u); ctx.gpr[7] = (0u | 0u); @@ -7745,8 +7746,8 @@ L_088DBA08: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0109_entry, 109u, 21u, 0x089B8190u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DBA28u) goto L_088DBA28; AOT_REGCACHE_SYNC_OUT(); return; L_088DBA28: - ctx.gpr[21] = (aot_gpr_29 + static_cast(16)); - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[21] = (ctx.gpr[29] + static_cast(16)); + aot_gpr_16 = (aot_gpr_2 | 0u); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x088DBA40u); @@ -7762,7 +7763,7 @@ L_088DBA40: AOT_REGCACHE_SYNC_OUT(); return; L_088DBA50: { const bool branch_taken = 0u == 0u; - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); if (branch_taken) { goto L_088DBA60; } @@ -7774,7 +7775,7 @@ L_088DBA58: goto L_088DBA60; L_088DBA60: aot_gpr_4 = (ctx.gpr[17] | 0u); - aot_gpr_5 = (aot_gpr_18 | 0u); + aot_gpr_5 = (ctx.gpr[18] | 0u); ctx.gpr[6] = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088DBA74u); ctx.gpr[7] = (0u | 0u); @@ -7782,7 +7783,7 @@ L_088DBA60: AOT_REGCACHE_SYNC_OUT(); return; L_088DBA74: aot_gpr_4 = (ctx.gpr[17] | 0u); - aot_gpr_5 = (aot_gpr_18 | 0u); + aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x088DBA84u); ctx.gpr[6] = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 536u, 0x0880A584u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DBA84u) goto L_088DBA84; @@ -7805,7 +7806,7 @@ L_088DBA8C: goto L_088DBA98; } L_088DBA98: - aot_gpr_4 = (ctx.gpr[20] + ctx.gpr[28]); + aot_gpr_4 = (ctx.gpr[20] + aot_gpr_28); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(-23536))); ctx.gpr[6] = (aot_gpr_5 + static_cast(-1)); { const bool branch_taken = aot_gpr_5 != 0u; @@ -7825,13 +7826,13 @@ L_088DBAAC: goto L_088DBAB8; } L_088DBAB8: - aot_gpr_4 = (ctx.gpr[28] + static_cast(7696)); + aot_gpr_4 = (aot_gpr_28 + static_cast(7696)); aot_gpr_31 = (0x088DBAC4u); - aot_gpr_5 = (aot_gpr_18 + ctx.gpr[22]); + aot_gpr_5 = (ctx.gpr[18] + ctx.gpr[22]); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 542u, 0x0880A5E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DBAC4u) goto L_088DBAC4; AOT_REGCACHE_SYNC_OUT(); return; L_088DBAC4: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088DBAD8; @@ -7845,11 +7846,11 @@ L_088DBACC: goto L_088DBAD8; L_088DBAD8: { std::uint32_t aot_run_words[10]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(32), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(32), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); aot_gpr_16 = aot_run_words[1]; ctx.gpr[17] = aot_run_words[2]; - aot_gpr_18 = aot_run_words[3]; + ctx.gpr[18] = aot_run_words[3]; ctx.gpr[19] = aot_run_words[4]; ctx.gpr[20] = aot_run_words[5]; ctx.gpr[21] = aot_run_words[6]; @@ -7858,25 +7859,25 @@ L_088DBAD8: aot_gpr_31 = aot_run_words[9]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(80)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(80)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_088DBB08: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23860))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23864))); - ctx.fpr[14] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23848))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-23860))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-23864))); + ctx.fpr[14] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-23848))); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23852))); + ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-23852))); aot_gpr_4 = (50306u << 16u); ctx.fpr[14] = ctx.fpr[14] - ctx.fpr[15]; aot_gpr_4 = (aot_gpr_4 | 20857u); aot_gpr_5 = (17073u << 16u); - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-23856), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-23856), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_5 = (aot_gpr_5 | 38535u); - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-23844), std::bit_cast(ctx.fpr[14])); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-23844), std::bit_cast(ctx.fpr[14])); aot_gpr_4 = (2233u << 16u); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(-16592), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_gpr_5); @@ -7896,15 +7897,15 @@ L_088DBB08: aot_fpr_13 = std::bit_cast(aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(8), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23816))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23820))); - ctx.fpr[14] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23800))); - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23804))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-23816))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-23820))); + ctx.fpr[14] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-23800))); + ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-23804))); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; ctx.fpr[14] = ctx.fpr[14] - ctx.fpr[15]; - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-23812), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-23812), std::bit_cast(aot_fpr_12)); jump_target = aot_gpr_31; - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-23796), std::bit_cast(ctx.fpr[14])); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-23796), std::bit_cast(ctx.fpr[14])); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -7974,30 +7975,30 @@ L_088DBC20: ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_088DBC28: - aot_gpr_29 = (aot_gpr_29 + static_cast(-112)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), std::bit_cast(ctx.fpr[26])); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-112)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(68), std::bit_cast(ctx.fpr[26])); ctx.fpr[26] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[8] + static_cast(0))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(96), ctx.gpr[22]); - ctx.gpr[22] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(112))); - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(6052), std::bit_cast(ctx.fpr[26])); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(96), ctx.gpr[22]); + ctx.gpr[22] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(112))); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(6052), std::bit_cast(ctx.fpr[26])); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(88))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(72), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(72), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); - { const std::uint32_t aot_run_words[3]{ctx.gpr[17], aot_gpr_18, ctx.gpr[19]}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(76), aot_run_words); } - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(92), ctx.gpr[21]); + { const std::uint32_t aot_run_words[3]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19]}; + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(76), aot_run_words); } + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(92), ctx.gpr[21]); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[26] < aot_fpr_12)) ? 0x00800000u : 0u); ctx.gpr[21] = (ctx.gpr[11] & 255u); ctx.gpr[22] = (ctx.gpr[22] & 255u); ctx.gpr[17] = (aot_gpr_5 | 0u); - aot_gpr_18 = (ctx.gpr[6] | 0u); + ctx.gpr[18] = (ctx.gpr[6] | 0u); aot_gpr_4 = (ctx.gpr[7] | 0u); ctx.gpr[19] = (ctx.gpr[9] | 0u); { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_22), std::bit_cast(ctx.fpr[24])}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(56), aot_run_words); } - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(88), ctx.gpr[20]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(100), ctx.gpr[23]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(104), aot_gpr_31); + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(56), aot_run_words); } + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(88), ctx.gpr[20]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(100), ctx.gpr[23]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(104), aot_gpr_31); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); ctx.gpr[20] = (ctx.gpr[10] | 0u); if (branch_taken) { @@ -8017,7 +8018,7 @@ L_088DBC98: goto L_088DBCAC; } L_088DBCAC: - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_18 + static_cast(0))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(0))); ctx.gpr[6] = (aot_gpr_5 + aot_gpr_5); ctx.gpr[6] = (aot_gpr_5 + ctx.gpr[6]); ctx.gpr[6] = (ctx.gpr[6] << 2u); @@ -8079,16 +8080,16 @@ L_088DBCF4: L_088DBD0C: ctx.gpr[7] = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_5 + static_cast(1)); - aot_mem.aot_direct_store8(aot_gpr_18 + static_cast(0), static_cast(aot_gpr_4)); - ctx.gpr[8] = (ctx.gpr[28] + static_cast(6052)); + aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(0), static_cast(aot_gpr_4)); + ctx.gpr[8] = (aot_gpr_28 + static_cast(6052)); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); - ctx.gpr[6] = (aot_gpr_18 | 0u); + ctx.gpr[6] = (ctx.gpr[18] | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[11] = (0u | 0u); aot_gpr_31 = (0x088DBD3Cu); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), 0u); goto L_088DBC28; L_088DBD3C: { const bool branch_taken = 0u == 0u; @@ -8140,16 +8141,16 @@ L_088DBD68: L_088DBD80: ctx.gpr[7] = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_5 + static_cast(-1)); - aot_mem.aot_direct_store8(aot_gpr_18 + static_cast(0), static_cast(aot_gpr_4)); - ctx.gpr[8] = (ctx.gpr[28] + static_cast(6052)); + aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(0), static_cast(aot_gpr_4)); + ctx.gpr[8] = (aot_gpr_28 + static_cast(6052)); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); - ctx.gpr[6] = (aot_gpr_18 | 0u); + ctx.gpr[6] = (ctx.gpr[18] | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[11] = (0u | 0u); aot_gpr_31 = (0x088DBDB0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), 0u); goto L_088DBC28; L_088DBDB0: { const bool branch_taken = 0u == 0u; @@ -8168,7 +8169,7 @@ L_088DBDB8: ctx.gpr[23] = (0u | 1u); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 24u)); { const bool branch_taken = aot_gpr_4 != ctx.gpr[23]; - ctx.fpr[24] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); + ctx.fpr[24] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7676))); if (branch_taken) { goto L_088DBDE8; } @@ -8212,21 +8213,21 @@ L_088DBE04: aot_fpr_12 = aot_fpr_12 / aot_fpr_13; aot_gpr_31 = (0x088DBE28u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DBE28u) goto L_088DBE28; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[29], aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DBE28u) goto L_088DBE28; AOT_REGCACHE_SYNC_OUT(); return; L_088DBE28: - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23460))); - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23464))); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-23460))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-23464))); ctx.gpr[7] = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x088DBE3Cu); - ctx.gpr[6] = (ctx.gpr[2] | 0u); + ctx.gpr[6] = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 395u, 0x08B61F5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DBE3Cu) goto L_088DBE3C; AOT_REGCACHE_SYNC_OUT(); return; L_088DBE3C: aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x088DBE48u); - aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DBE48u) goto L_088DBE48; + aot_gpr_4 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B627F0, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DBE48u) goto L_088DBE48; AOT_REGCACHE_SYNC_OUT(); return; L_088DBE48: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(95))); @@ -8281,7 +8282,7 @@ L_088DBEA4: aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_22)); goto L_088DBEA8; L_088DBEA8: - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(6056), std::bit_cast(aot_fpr_22)); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(6056), std::bit_cast(aot_fpr_22)); { const bool branch_taken = ctx.gpr[22] != ctx.gpr[23]; ctx.fpr[15] = std::bit_cast(std::bit_cast(aot_fpr_22)); if (branch_taken) { @@ -8290,9 +8291,9 @@ L_088DBEA8: goto L_088DBEB4; } L_088DBEB4: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23504))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-23504))); { const float fs = ctx.fpr[15]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[15] = std::bit_cast(0x7FC00000u); else ctx.fpr[15] = fs * ft; } - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(6056), std::bit_cast(ctx.fpr[15])); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(6056), std::bit_cast(ctx.fpr[15])); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); { const bool branch_taken = 0u == 0u; ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); @@ -8312,7 +8313,7 @@ L_088DBECC: goto L_088DBEDC; } L_088DBEDC: - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23500))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-23500))); { const float fs = aot_fpr_13; const float ft = aot_fpr_22; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } goto L_088DBEE4; L_088DBEE4: @@ -8325,7 +8326,7 @@ L_088DBEE4: { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } { const float fs = aot_fpr_12; const float ft = ctx.fpr[24]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } { const bool branch_taken = ctx.gpr[19] == 0u; - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-23476), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-23476), std::bit_cast(aot_fpr_12)); if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0054_entry, 54u, 10u, 0x088DC094u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } @@ -8333,7 +8334,7 @@ L_088DBEE4: } L_088DBF0C: if (ctx.gpr[20] == 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_18 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(0))); (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0054_entry, 54u, 11u, 0x088DC098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_088DBF14; @@ -8352,7 +8353,7 @@ L_088DBF14: L_088DBF2C: ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); ctx.fpr[15] = std::bit_cast(std::bit_cast(ctx.fpr[15]) & 0x7FFFFFFFu); - ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23512))); + ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-23512))); { const float fs = ctx.fpr[16]; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[15] = std::bit_cast(0x7FC00000u); else ctx.fpr[15] = fs * ft; } { const float fs = ctx.fpr[15]; const float ft = ctx.fpr[24]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[15] = std::bit_cast(0x7FC00000u); else ctx.fpr[15] = fs * ft; } ctx.fpr[24] = ctx.fpr[15] / aot_fpr_13; @@ -8374,8 +8375,8 @@ L_088DBF58: goto L_088DBF64; } L_088DBF64: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_18 + static_cast(0))); - ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23476))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(0))); + ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-23476))); aot_gpr_5 = (aot_gpr_4 + aot_gpr_4); aot_gpr_5 = (aot_gpr_4 + aot_gpr_5); aot_gpr_5 = (aot_gpr_5 << 2u); @@ -8394,7 +8395,7 @@ L_088DBF80: ctx.fpr[17] = std::bit_cast(aot_gpr_4); ctx.fpr[17] = static_cast(static_cast(std::bit_cast(ctx.fpr[17]))); ctx.fpr[15] = ctx.fpr[15] / ctx.fpr[17]; - ctx.fpr[18] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23516))); + ctx.fpr[18] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-23516))); ctx.fpr[19] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(8))); ctx.fpr[18] = aot_fpr_22 - ctx.fpr[18]; { const float fs = ctx.fpr[15]; const float ft = ctx.fpr[18]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[15] = std::bit_cast(0x7FC00000u); else ctx.fpr[15] = fs * ft; } @@ -8424,7 +8425,7 @@ L_088DBFC8: ctx.fpr[18] = std::bit_cast(aot_gpr_4); ctx.fpr[18] = static_cast(static_cast(std::bit_cast(ctx.fpr[18]))); ctx.fpr[17] = ctx.fpr[17] / ctx.fpr[18]; - ctx.fpr[19] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23516))); + ctx.fpr[19] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-23516))); ctx.fpr[19] = aot_fpr_22 - ctx.fpr[19]; { const float fs = ctx.fpr[17]; const float ft = ctx.fpr[19]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[17] = std::bit_cast(0x7FC00000u); else ctx.fpr[17] = fs * ft; } ctx.fpr[26] = ctx.fpr[26] + ctx.fpr[17]; diff --git a/profiles/vcs/generated/generated_unit_0054.cpp b/profiles/vcs/generated/generated_unit_0054.cpp index b55115f..99e2441 100644 --- a/profiles/vcs/generated/generated_unit_0054.cpp +++ b/profiles/vcs/generated/generated_unit_0054.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,7 +139,7 @@ static const std::uint16_t kEntryIds_recomp_unit_0054[4095] = { }; void recomp_unit_0054_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,6,16,7 fprs=12,13,14,15 gpr_occ=4010 fpr_occ=1070 gpr_total=5712 fpr_total=1773 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,6,16,7 fprs=12,13,14,15 gpr_occ=4067 fpr_occ=1070 gpr_total=5845 fpr_total=1773 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; @@ -922,7 +923,7 @@ L_088DC1C4: L_088DC1D0: ctx.gpr[31] = (0x088DC1D8u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DC1D8u) goto L_088DC1D8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DC1D8u) goto L_088DC1D8; AOT_REGCACHE_SYNC_OUT(); return; L_088DC1D8: ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -2545,7 +2546,7 @@ L_088DD04C: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } ctx.gpr[31] = (0x088DD060u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DD060u) goto L_088DD060; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DD060u) goto L_088DD060; AOT_REGCACHE_SYNC_OUT(); return; L_088DD060: ctx.gpr[21] = (8u << 16u); @@ -2568,14 +2569,14 @@ L_088DD080: aot_gpr_5 = (0u | 0u); ctx.gpr[31] = (0x088DD090u); aot_gpr_6 = (0u | 1448u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DD090u) goto L_088DD090; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DD090u) goto L_088DD090; AOT_REGCACHE_SYNC_OUT(); return; L_088DD090: aot_gpr_4 = (aot_gpr_16 + static_cast(1494)); aot_gpr_5 = (0u | 0u); ctx.gpr[31] = (0x088DD0A0u); aot_gpr_6 = (0u | 16u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DD0A0u) goto L_088DD0A0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DD0A0u) goto L_088DD0A0; AOT_REGCACHE_SYNC_OUT(); return; L_088DD0A0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(460))); @@ -2857,7 +2858,7 @@ L_088DD2C4: aot_gpr_5 = (0u | 0u); ctx.gpr[31] = (0x088DD2FCu); aot_gpr_6 = (0u | 10u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DD2FCu) goto L_088DD2FC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DD2FCu) goto L_088DD2FC; AOT_REGCACHE_SYNC_OUT(); return; L_088DD2FC: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(904)))))); @@ -4019,7 +4020,7 @@ L_088DDDA8: aot_gpr_5 = (ctx.gpr[17] | 0u); ctx.gpr[31] = (0x088DDDBCu); aot_gpr_6 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DDDBCu) goto L_088DDDBC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DDDBCu) goto L_088DDDBC; AOT_REGCACHE_SYNC_OUT(); return; L_088DDDBC: ctx.gpr[2] = (0u | 0u); @@ -4078,7 +4079,7 @@ L_088DDE44: aot_gpr_5 = (ctx.gpr[17] | 0u); ctx.gpr[31] = (0x088DDE58u); aot_gpr_6 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DDE58u) goto L_088DDE58; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DDE58u) goto L_088DDE58; AOT_REGCACHE_SYNC_OUT(); return; L_088DDE58: ctx.gpr[2] = (0u | 0u); @@ -4188,7 +4189,7 @@ L_088DDF58: aot_gpr_5 = (ctx.gpr[17] | 0u); ctx.gpr[31] = (0x088DDF68u); aot_gpr_6 = (0u | 11u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DDF68u) goto L_088DDF68; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DDF68u) goto L_088DDF68; AOT_REGCACHE_SYNC_OUT(); return; L_088DDF68: ctx.gpr[2] = (0u | 0u); @@ -4360,7 +4361,7 @@ L_088DE0BC: ctx.gpr[23] = (static_cast(static_cast(ctx.gpr[17]) >> 31u)); ctx.gpr[31] = (0x088DE0C8u); ctx.gpr[22] = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DE0C8u) goto L_088DE0C8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DE0C8u) goto L_088DE0C8; AOT_REGCACHE_SYNC_OUT(); return; L_088DE0C8: aot_gpr_6 = (aot_gpr_16 - ctx.gpr[17]); @@ -4368,7 +4369,7 @@ L_088DE0C8: aot_gpr_5 = (0u | 0u); ctx.gpr[31] = (0x088DE0DCu); aot_gpr_7 = (static_cast(static_cast(aot_gpr_6) >> 31u)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DE0DCu) goto L_088DE0DC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[9], ctx.gpr[10], ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DE0DCu) goto L_088DE0DC; AOT_REGCACHE_SYNC_OUT(); return; L_088DE0DC: ctx.gpr[1] = (ctx.gpr[3] << 1u); @@ -6238,7 +6239,7 @@ L_088DF6FC: L_088DF70C: ctx.gpr[31] = (0x088DF714u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DF714u) goto L_088DF714; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DF714u) goto L_088DF714; AOT_REGCACHE_SYNC_OUT(); return; L_088DF714: ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -6576,7 +6577,7 @@ L_088DF98C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(12))); ctx.gpr[31] = (0x088DF99Cu); aot_gpr_4 = (aot_gpr_4 + static_cast(31984)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DF99Cu) goto L_088DF99C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088DF99Cu) goto L_088DF99C; AOT_REGCACHE_SYNC_OUT(); return; L_088DF99C: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(12), 0u); diff --git a/profiles/vcs/generated/generated_unit_0055.cpp b/profiles/vcs/generated/generated_unit_0055.cpp index eae968b..5d106f8 100644 --- a/profiles/vcs/generated/generated_unit_0055.cpp +++ b/profiles/vcs/generated/generated_unit_0055.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0055[4092] = { }; void recomp_unit_0055_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,16,6,29,31 fprs=12,13,22,20 gpr_occ=5397 fpr_occ=188 gpr_total=6564 fpr_total=226 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,16,6,31,29 fprs=12,13,22,20 gpr_occ=5464 fpr_occ=188 gpr_total=6668 fpr_total=226 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_16 = ctx.gpr[16]; std::uint32_t aot_gpr_6 = ctx.gpr[6]; - std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; + std::uint32_t aot_gpr_29 = ctx.gpr[29]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_22 = ctx.fpr[22]; float aot_fpr_20 = ctx.fpr[20]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[16] = aot_gpr_16; ctx.gpr[6] = aot_gpr_6; ctx.gpr[29] = aot_gpr_29; ctx.gpr[31] = aot_gpr_31; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[22] = aot_fpr_22; ctx.fpr[20] = aot_fpr_20; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_31 = ctx.gpr[31]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_22 = ctx.fpr[22]; aot_fpr_20 = ctx.fpr[20]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[16] = aot_gpr_16; ctx.gpr[6] = aot_gpr_6; ctx.gpr[31] = aot_gpr_31; ctx.gpr[29] = aot_gpr_29; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[22] = aot_fpr_22; ctx.fpr[20] = aot_fpr_20; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_29 = ctx.gpr[29]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_22 = ctx.fpr[22]; aot_fpr_20 = ctx.fpr[20]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -3150,7 +3151,7 @@ L_088E1F00: L_088E1F0C: aot_gpr_31 = (0x088E1F14u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E1F14u) goto L_088E1F14; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E1F14u) goto L_088E1F14; AOT_REGCACHE_SYNC_OUT(); return; L_088E1F14: { std::uint32_t aot_run_words[3]{}; @@ -4706,7 +4707,7 @@ L_088E2ABC: aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); aot_gpr_31 = (0x088E2ADCu); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E2ADCu) goto L_088E2ADC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E2ADCu) goto L_088E2ADC; AOT_REGCACHE_SYNC_OUT(); return; L_088E2ADC: ctx.gpr[17] = (ctx.gpr[2] | 0u); @@ -5537,7 +5538,7 @@ L_088E3124: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(692), 0u); aot_gpr_31 = (0x088E3144u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 454u, 0x08909B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E3144u) goto L_088E3144; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08909B60, 65u, 454u, 0x08909B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 454u, 0x08909B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E3144u) goto L_088E3144; AOT_REGCACHE_SYNC_OUT(); return; L_088E3144: aot_gpr_31 = (0x088E314Cu); @@ -5566,7 +5567,7 @@ L_088E3164: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088E3170u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E3170u) goto L_088E3170; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E3170u) goto L_088E3170; AOT_REGCACHE_SYNC_OUT(); return; L_088E3170: aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -5599,7 +5600,7 @@ L_088E31B4: ctx.gpr[18] = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x088E31C0u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E31C0u) goto L_088E31C0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E31C0u) goto L_088E31C0; AOT_REGCACHE_SYNC_OUT(); return; L_088E31C0: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -5758,7 +5759,7 @@ L_088E32C0: L_088E32DC: aot_gpr_31 = (0x088E32E4u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E32E4u) goto L_088E32E4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E32E4u) goto L_088E32E4; AOT_REGCACHE_SYNC_OUT(); return; L_088E32E4: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -5992,7 +5993,7 @@ L_088E3464: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); aot_gpr_31 = (0x088E3488u); ctx.gpr[18] = (aot_gpr_6 & 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E3488u) goto L_088E3488; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E3488u) goto L_088E3488; AOT_REGCACHE_SYNC_OUT(); return; L_088E3488: { const bool branch_taken = ctx.gpr[2] != 0u; @@ -6083,7 +6084,7 @@ L_088E34EC: L_088E3510: aot_gpr_31 = (0x088E3518u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 454u, 0x08909B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E3518u) goto L_088E3518; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08909B60, 65u, 454u, 0x08909B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 454u, 0x08909B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E3518u) goto L_088E3518; AOT_REGCACHE_SYNC_OUT(); return; L_088E3518: aot_gpr_31 = (0x088E3520u); @@ -6143,7 +6144,7 @@ L_088E3570: aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); aot_gpr_31 = (0x088E358Cu); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E358Cu) goto L_088E358C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E358Cu) goto L_088E358C; AOT_REGCACHE_SYNC_OUT(); return; L_088E358C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); @@ -6247,7 +6248,7 @@ L_088E3634: aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(4), aot_run_words); } aot_gpr_31 = (0x088E366Cu); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E366Cu) goto L_088E366C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E366Cu) goto L_088E366C; AOT_REGCACHE_SYNC_OUT(); return; L_088E366C: ctx.gpr[18] = (ctx.gpr[2] | 0u); @@ -6389,7 +6390,7 @@ L_088E3768: aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); aot_gpr_31 = (0x088E3784u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E3784u) goto L_088E3784; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E3784u) goto L_088E3784; AOT_REGCACHE_SYNC_OUT(); return; L_088E3784: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(0))); @@ -6447,7 +6448,7 @@ L_088E37CC: aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(24), aot_run_words); } aot_gpr_31 = (0x088E380Cu); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E380Cu) goto L_088E380C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E380Cu) goto L_088E380C; AOT_REGCACHE_SYNC_OUT(); return; L_088E380C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(2228))); @@ -6659,7 +6660,7 @@ L_088E3980: aot_gpr_6 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088E3998u); aot_gpr_5 = (aot_gpr_5 + static_cast(-11988)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E3998u) goto L_088E3998; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E3998u) goto L_088E3998; AOT_REGCACHE_SYNC_OUT(); return; L_088E3998: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); @@ -6812,7 +6813,7 @@ L_088E3ABC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x088E3ADCu); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E3ADCu) goto L_088E3ADC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E3ADCu) goto L_088E3ADC; AOT_REGCACHE_SYNC_OUT(); return; L_088E3ADC: { const bool branch_taken = ctx.gpr[2] != 0u; @@ -7022,7 +7023,7 @@ L_088E3C30: L_088E3C38: aot_gpr_31 = (0x088E3C40u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(900))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E3C40u) goto L_088E3C40; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E3C40u) goto L_088E3C40; AOT_REGCACHE_SYNC_OUT(); return; L_088E3C40: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -7232,13 +7233,13 @@ L_088E3E0C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); aot_gpr_31 = (0x088E3E20u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 251u, 0x08969194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E3E20u) goto L_088E3E20; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08969194, 89u, 251u, 0x08969194u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 251u, 0x08969194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E3E20u) goto L_088E3E20; AOT_REGCACHE_SYNC_OUT(); return; L_088E3E20: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088E3E2Cu); ctx.gpr[17] = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E3E2Cu) goto L_088E3E2C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0896918C, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E3E2Cu) goto L_088E3E2C; AOT_REGCACHE_SYNC_OUT(); return; L_088E3E2C: ctx.gpr[7] = (ctx.gpr[17] << 6u); @@ -7350,13 +7351,13 @@ L_088E3EE4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088E3EF0u); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 251u, 0x08969194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E3EF0u) goto L_088E3EF0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08969194, 89u, 251u, 0x08969194u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 251u, 0x08969194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E3EF0u) goto L_088E3EF0; AOT_REGCACHE_SYNC_OUT(); return; L_088E3EF0: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088E3EFCu); aot_gpr_16 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E3EFCu) goto L_088E3EFC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0896918C, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E3EFCu) goto L_088E3EFC; AOT_REGCACHE_SYNC_OUT(); return; L_088E3EFC: ctx.gpr[7] = (aot_gpr_16 << 6u); diff --git a/profiles/vcs/generated/generated_unit_0056.cpp b/profiles/vcs/generated/generated_unit_0056.cpp index 00ebef3..7fff27a 100644 --- a/profiles/vcs/generated/generated_unit_0056.cpp +++ b/profiles/vcs/generated/generated_unit_0056.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0056[4096] = { }; void recomp_unit_0056_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,6,18,16,31 fprs=12,13,20,14 gpr_occ=4158 fpr_occ=504 gpr_total=5537 fpr_total=619 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,6,31,2,18 fprs=12,13,20,14 gpr_occ=4249 fpr_occ=504 gpr_total=5813 fpr_total=619 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_6 = ctx.gpr[6]; - std::uint32_t aot_gpr_18 = ctx.gpr[18]; - std::uint32_t aot_gpr_16 = ctx.gpr[16]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; + std::uint32_t aot_gpr_2 = ctx.gpr[2]; + std::uint32_t aot_gpr_18 = ctx.gpr[18]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_20 = ctx.fpr[20]; float aot_fpr_14 = ctx.fpr[14]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[6] = aot_gpr_6; ctx.gpr[18] = aot_gpr_18; ctx.gpr[16] = aot_gpr_16; ctx.gpr[31] = aot_gpr_31; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; ctx.fpr[14] = aot_fpr_14; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_18 = ctx.gpr[18]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_31 = ctx.gpr[31]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_14 = ctx.fpr[14]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[6] = aot_gpr_6; ctx.gpr[31] = aot_gpr_31; ctx.gpr[2] = aot_gpr_2; ctx.gpr[18] = aot_gpr_18; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; ctx.fpr[14] = aot_fpr_14; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_2 = ctx.gpr[2]; aot_gpr_18 = ctx.gpr[18]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_14 = ctx.fpr[14]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -1142,7 +1143,7 @@ L_088E4000: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 287u, 0x08891DD4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E40E0u) goto L_088E40E0; AOT_REGCACHE_SYNC_OUT(); return; L_088E40E0: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088E4110; @@ -1163,7 +1164,7 @@ L_088E40E8: } L_088E4100: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(176))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1328))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1328))); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; aot_gpr_4 = (16204u << 16u); if (branch_taken) { @@ -1244,7 +1245,7 @@ L_088E4110: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 287u, 0x08891DD4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E4180u) goto L_088E4180; AOT_REGCACHE_SYNC_OUT(); return; L_088E4180: - if (ctx.gpr[2] != 0u) { + if (aot_gpr_2 != 0u) { aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(152))); goto L_088E41E4; } @@ -1267,20 +1268,20 @@ L_088E4194: aot_fpr_14 = std::bit_cast(aot_gpr_4); ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(132))); aot_fpr_12 = aot_fpr_12 + aot_fpr_14; - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(456))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(456))); aot_gpr_5 = (0u + static_cast(-2)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(48), std::bit_cast(aot_fpr_13)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(48), std::bit_cast(aot_fpr_13)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(52), std::bit_cast(ctx.fpr[15])); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(52), std::bit_cast(ctx.fpr[15])); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(56), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_gpr_4 | 1u); aot_gpr_5 = (0u + static_cast(-3)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(456), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(456), aot_gpr_4); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_4 = (aot_gpr_4 | 2u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(456), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(456), aot_gpr_4); { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (ctx.gpr[22] | 0u); + aot_gpr_2 = (ctx.gpr[22] | 0u); if (branch_taken) { goto L_088E425C; } @@ -1299,7 +1300,7 @@ L_088E41E4: } L_088E41F8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(176))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1328))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1328))); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; aot_gpr_4 = (16204u << 16u); if (branch_taken) { @@ -1314,27 +1315,27 @@ L_088E4208: aot_fpr_14 = std::bit_cast(aot_gpr_4); ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(132))); aot_fpr_12 = aot_fpr_12 + aot_fpr_14; - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(456))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(456))); aot_gpr_5 = (0u + static_cast(-2)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(48), std::bit_cast(aot_fpr_13)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(48), std::bit_cast(aot_fpr_13)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(52), std::bit_cast(ctx.fpr[15])); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(52), std::bit_cast(ctx.fpr[15])); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(56), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_gpr_4 | 1u); aot_gpr_5 = (0u + static_cast(-3)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(456), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(456), aot_gpr_4); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_4 = (aot_gpr_4 | 2u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(456), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(456), aot_gpr_4); { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (ctx.gpr[22] | 0u); + aot_gpr_2 = (ctx.gpr[22] | 0u); if (branch_taken) { goto L_088E425C; } goto L_088E4258; } L_088E4258: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_088E425C; L_088E425C: { std::uint32_t aot_run_words[12]{}; @@ -1342,7 +1343,7 @@ L_088E425C: aot_fpr_20 = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); - aot_gpr_16 = aot_run_words[3]; + ctx.gpr[16] = aot_run_words[3]; ctx.gpr[17] = aot_run_words[4]; aot_gpr_18 = aot_run_words[5]; ctx.gpr[19] = aot_run_words[6]; @@ -1360,18 +1361,18 @@ L_088E425C: AOT_REGCACHE_SYNC_OUT(); return; L_088E4294: ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); - aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), std::bit_cast(aot_fpr_20)); aot_fpr_20 = std::bit_cast(std::bit_cast(aot_fpr_12)); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(80))); aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x088E42B8u); aot_gpr_6 = (0u | 214u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E42B8u) goto L_088E42B8; AOT_REGCACHE_SYNC_OUT(); return; L_088E42B8: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -1386,14 +1387,14 @@ L_088E42C4: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(8), aot_gpr_5); goto L_088E42D4; L_088E42D4: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(80))); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x088E42E4u); aot_gpr_6 = (0u | 215u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E42E4u) goto L_088E42E4; AOT_REGCACHE_SYNC_OUT(); return; L_088E42E4: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -1408,14 +1409,14 @@ L_088E42F0: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(8), aot_gpr_5); goto L_088E4300; L_088E4300: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(80))); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x088E4310u); aot_gpr_6 = (0u | 218u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E4310u) goto L_088E4310; AOT_REGCACHE_SYNC_OUT(); return; L_088E4310: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -1430,14 +1431,14 @@ L_088E431C: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(8), aot_gpr_5); goto L_088E432C; L_088E432C: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(80))); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x088E433Cu); aot_gpr_6 = (0u | 216u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E433Cu) goto L_088E433C; AOT_REGCACHE_SYNC_OUT(); return; L_088E433C: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -1452,14 +1453,14 @@ L_088E4348: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(8), aot_gpr_5); goto L_088E4358; L_088E4358: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(80))); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x088E4368u); aot_gpr_6 = (0u | 217u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E4368u) goto L_088E4368; AOT_REGCACHE_SYNC_OUT(); return; L_088E4368: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -1490,10 +1491,10 @@ L_088E4394: goto L_088E439C; } L_088E439C: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(80))); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20) ^ 0x80000000u); - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(776))); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(776))); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x088E43B4u); ctx.gpr[7] = (0u | 6u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 163u, 0x089088F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E43B4u) goto L_088E43B4; @@ -1502,7 +1503,7 @@ L_088E43B4: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(0), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); - aot_gpr_16 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -1513,21 +1514,21 @@ L_088E43B4: AOT_REGCACHE_SYNC_OUT(); return; L_088E43C8: jump_target = aot_gpr_31; - ctx.gpr[2] = (0u | 4u); + aot_gpr_2 = (0u | 4u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_088E43D0: jump_target = aot_gpr_31; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_088E43D8: jump_target = aot_gpr_31; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -1541,10 +1542,10 @@ L_088E43E0: aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(12), ctx.gpr[19]); ctx.gpr[19] = (0u | 0u); ctx.gpr[17] = (aot_gpr_5 | 0u); - aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(16), aot_gpr_31); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_16 = (aot_gpr_6 | 0u); + ctx.gpr[16] = (aot_gpr_6 | 0u); if (branch_taken) { goto L_088E442C; } @@ -1570,10 +1571,10 @@ L_088E4430: ctx.gpr[19] = (ctx.gpr[19] & 255u); aot_gpr_31 = (0x088E443Cu); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E443Cu) goto L_088E443C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E443Cu) goto L_088E443C; AOT_REGCACHE_SYNC_OUT(); return; L_088E443C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088E4450; @@ -1583,14 +1584,14 @@ L_088E443C: L_088E4444: aot_gpr_4 = (0u | 1u); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(0), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(0), static_cast(aot_gpr_4)); if (branch_taken) { goto L_088E4454; } goto L_088E4450; } L_088E4450: - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(0), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(0), static_cast(0u)); goto L_088E4454; L_088E4454: aot_gpr_31 = (0x088E445Cu); @@ -1598,7 +1599,7 @@ L_088E4454: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 319u, 0x0890D46Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E445Cu) goto L_088E445C; AOT_REGCACHE_SYNC_OUT(); return; L_088E445C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; aot_gpr_4 = (aot_gpr_18 | 0u); if (branch_taken) { goto L_088E4478; @@ -1611,7 +1612,7 @@ L_088E4464: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 762u, 0x089AB910u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E446Cu) goto L_088E446C; AOT_REGCACHE_SYNC_OUT(); return; L_088E446C: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_088E4478; @@ -1635,7 +1636,7 @@ L_088E4488: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 3u, 0x08910020u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E4490u) goto L_088E4490; AOT_REGCACHE_SYNC_OUT(); return; L_088E4490: - { const bool branch_taken = aot_gpr_18 != ctx.gpr[2]; + { const bool branch_taken = aot_gpr_18 != aot_gpr_2; // nop if (branch_taken) { goto L_088E44A4; @@ -1656,10 +1657,10 @@ L_088E449C: L_088E44A4: aot_gpr_31 = (0x088E44ACu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E44ACu) goto L_088E44AC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E44ACu) goto L_088E44AC; AOT_REGCACHE_SYNC_OUT(); return; L_088E44AC: - aot_gpr_4 = (ctx.gpr[2] & 65535u); + aot_gpr_4 = (aot_gpr_2 & 65535u); ctx.gpr[19] = (aot_gpr_4 & 31u); ctx.gpr[19] = (ctx.gpr[19] < static_cast(1) ? 1u : 0u); goto L_088E44B8; @@ -1669,7 +1670,7 @@ L_088E44B8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 620u, 0x08906DE4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E44C0u) goto L_088E44C0; AOT_REGCACHE_SYNC_OUT(); return; L_088E44C0: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_088E44E0; @@ -1687,7 +1688,7 @@ L_088E44C8: goto L_088E44D8; } L_088E44D8: - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(0), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(0), static_cast(0u)); ctx.gpr[19] = (0u | 0u); goto L_088E44E0; L_088E44E0: @@ -1715,10 +1716,10 @@ L_088E44F0: L_088E4500: aot_gpr_31 = (0x088E4508u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E4508u) goto L_088E4508; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E4508u) goto L_088E4508; AOT_REGCACHE_SYNC_OUT(); return; L_088E4508: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088E4528; @@ -1740,10 +1741,10 @@ L_088E4524: ctx.gpr[19] = (0u | 0u); goto L_088E4528; L_088E4528: - ctx.gpr[2] = (ctx.gpr[19] | 0u); + aot_gpr_2 = (ctx.gpr[19] | 0u); { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_18 = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -1757,17 +1758,17 @@ L_088E4528: AOT_REGCACHE_SYNC_OUT(); return; L_088E4548: ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); - aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), ctx.gpr[17]); - ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2120))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2120))); aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x088E4568u); ctx.gpr[17] = (ctx.gpr[17] < static_cast(1) ? 1u : 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 620u, 0x08906DE4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E4568u) goto L_088E4568; AOT_REGCACHE_SYNC_OUT(); return; L_088E4568: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_088E4584; @@ -1775,7 +1776,7 @@ L_088E4568: goto L_088E4570; } L_088E4570: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2228))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2228))); aot_gpr_5 = (0u | 55u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -1788,10 +1789,10 @@ L_088E4580: ctx.gpr[17] = (0u | 0u); goto L_088E4584; L_088E4584: - ctx.gpr[2] = (ctx.gpr[17] | 0u); + aot_gpr_2 = (ctx.gpr[17] | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -1804,10 +1805,10 @@ L_088E4584: L_088E459C: ctx.gpr[29] = (ctx.gpr[29] + static_cast(-48)); aot_gpr_5 = (aot_gpr_5 & 255u); - { const std::uint32_t aot_run_words[9]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), aot_gpr_16, ctx.gpr[17], aot_gpr_18, ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_31}; + { const std::uint32_t aot_run_words[9]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), ctx.gpr[16], ctx.gpr[17], aot_gpr_18, ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_31}; aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(0), aot_run_words); } { const bool branch_taken = aot_gpr_5 != 0u; - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_088E45E0; } @@ -1815,10 +1816,10 @@ L_088E459C: } L_088E45D0: aot_gpr_31 = (0x088E45D8u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_088E43D8; L_088E45D8: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088E45F4; @@ -1826,7 +1827,7 @@ L_088E45D8: goto L_088E45E0; } L_088E45E0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(420))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(420))); { const bool branch_taken = static_cast(aot_gpr_4) <= 0; // nop if (branch_taken) { @@ -1852,10 +1853,10 @@ L_088E45F4: } L_088E45FC: aot_gpr_31 = (0x088E4604u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_088E43D8; L_088E4604: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088E47F8; @@ -1864,30 +1865,30 @@ L_088E4604: } L_088E460C: aot_gpr_31 = (0x088E4614u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_088E43D0; L_088E4614: - ctx.gpr[20] = (ctx.gpr[2] | 0u); + ctx.gpr[20] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x088E4620u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_088E43C8; L_088E4620: ctx.gpr[21] = (static_cast(static_cast(ctx.gpr[20]) >> 31u)); aot_gpr_31 = (0x088E462Cu); - aot_gpr_18 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E462Cu) goto L_088E462C; + aot_gpr_18 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E462Cu) goto L_088E462C; AOT_REGCACHE_SYNC_OUT(); return; L_088E462C: aot_gpr_6 = (aot_gpr_18 - ctx.gpr[20]); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x088E4640u); ctx.gpr[7] = (static_cast(static_cast(aot_gpr_6) >> 31u)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E4640u) goto L_088E4640; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E4640u) goto L_088E4640; AOT_REGCACHE_SYNC_OUT(); return; L_088E4640: ctx.gpr[1] = (ctx.gpr[3] << 1u); - aot_gpr_4 = (ctx.gpr[2] >> 31u); + aot_gpr_4 = (aot_gpr_2 >> 31u); aot_gpr_5 = (static_cast(static_cast(ctx.gpr[3]) >> 31u)); aot_gpr_4 = (ctx.gpr[1] | aot_gpr_4); aot_gpr_6 = (ctx.gpr[20] + aot_gpr_4); @@ -1897,20 +1898,20 @@ L_088E4640: aot_gpr_4 = (aot_gpr_4 | 0u); aot_gpr_5 = (ctx.gpr[7] + aot_gpr_5); aot_gpr_31 = (0x088E4670u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(420), aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E4670u) goto L_088E4670; + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(420), aot_gpr_4); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E4670u) goto L_088E4670; AOT_REGCACHE_SYNC_OUT(); return; L_088E4670: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23292))); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23296))); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x088E4684u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E4684u) goto L_088E4684; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E4684u) goto L_088E4684; AOT_REGCACHE_SYNC_OUT(); return; L_088E4684: ctx.gpr[1] = (ctx.gpr[3] << 1u); - aot_gpr_4 = (ctx.gpr[2] >> 31u); + aot_gpr_4 = (aot_gpr_2 >> 31u); aot_gpr_5 = (static_cast(static_cast(ctx.gpr[3]) >> 31u)); aot_gpr_4 = (ctx.gpr[1] | aot_gpr_4); aot_gpr_4 = (aot_gpr_4 | 0u); @@ -1924,10 +1925,10 @@ L_088E4684: } L_088E46A4: aot_gpr_31 = (0x088E46ACu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_088E43D8; L_088E46AC: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_088E46C8; @@ -1935,7 +1936,7 @@ L_088E46AC: goto L_088E46B4; } L_088E46B4: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x088E46C0u); aot_gpr_5 = (0u | 138u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 16u, 0x08860424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E46C0u) goto L_088E46C0; @@ -1956,11 +1957,11 @@ L_088E46C8: aot_gpr_4 = (aot_gpr_4 | 39322u); aot_gpr_31 = (0x088E46E4u); aot_fpr_20 = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E46E4u) goto L_088E46E4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E46E4u) goto L_088E46E4; AOT_REGCACHE_SYNC_OUT(); return; L_088E46E4: aot_fpr_12 = aot_fpr_20 - ctx.fpr[22]; - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1360))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1360))); ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23284))); aot_gpr_5 = (aot_gpr_4 ^ 20u); aot_gpr_4 = (aot_gpr_4 ^ 5u); @@ -1982,21 +1983,21 @@ L_088E46E4: L_088E4720: aot_gpr_31 = (0x088E4728u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E4728u) goto L_088E4728; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E4728u) goto L_088E4728; AOT_REGCACHE_SYNC_OUT(); return; L_088E4728: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 0u); ctx.gpr[7] = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x088E473Cu); aot_gpr_6 = (aot_gpr_18 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E473Cu) goto L_088E473C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E473Cu) goto L_088E473C; AOT_REGCACHE_SYNC_OUT(); return; L_088E473C: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23276))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23280))); ctx.gpr[1] = (ctx.gpr[3] << 1u); - aot_gpr_6 = (ctx.gpr[2] >> 31u); + aot_gpr_6 = (aot_gpr_2 >> 31u); ctx.gpr[7] = (static_cast(static_cast(ctx.gpr[3]) >> 31u)); aot_gpr_6 = (ctx.gpr[1] | aot_gpr_6); ctx.gpr[8] = (aot_gpr_6 + aot_gpr_4); @@ -2007,7 +2008,7 @@ L_088E473C: aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); aot_gpr_4 = (ctx.gpr[8] | 0u); aot_gpr_6 = (aot_gpr_4 | 0u); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(96))); aot_gpr_6 = (aot_gpr_6 & 65535u); aot_gpr_31 = (0x088E4784u); aot_gpr_4 = (ctx.gpr[17] | 0u); @@ -2024,21 +2025,21 @@ L_088E4784: L_088E478C: aot_gpr_31 = (0x088E4794u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E4794u) goto L_088E4794; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E4794u) goto L_088E4794; AOT_REGCACHE_SYNC_OUT(); return; L_088E4794: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 0u); ctx.gpr[7] = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x088E47A8u); aot_gpr_6 = (aot_gpr_18 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E47A8u) goto L_088E47A8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E47A8u) goto L_088E47A8; AOT_REGCACHE_SYNC_OUT(); return; L_088E47A8: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23268))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23272))); ctx.gpr[1] = (ctx.gpr[3] << 1u); - aot_gpr_6 = (ctx.gpr[2] >> 31u); + aot_gpr_6 = (aot_gpr_2 >> 31u); ctx.gpr[7] = (static_cast(static_cast(ctx.gpr[3]) >> 31u)); aot_gpr_6 = (ctx.gpr[1] | aot_gpr_6); ctx.gpr[8] = (aot_gpr_6 + aot_gpr_4); @@ -2049,7 +2050,7 @@ L_088E47A8: aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); aot_gpr_4 = (ctx.gpr[8] | 0u); aot_gpr_6 = (aot_gpr_4 | 0u); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(96))); aot_gpr_6 = (aot_gpr_6 & 65535u); aot_gpr_31 = (0x088E47F0u); aot_gpr_4 = (ctx.gpr[17] | 0u); @@ -2064,16 +2065,16 @@ L_088E47F0: goto L_088E47F8; } L_088E47F8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(420))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(420))); aot_gpr_4 = (aot_gpr_4 + static_cast(-1)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(420), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(420), aot_gpr_4); goto L_088E4804; L_088E4804: { std::uint32_t aot_run_words[9]{}; aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(0), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); - aot_gpr_16 = aot_run_words[2]; + ctx.gpr[16] = aot_run_words[2]; ctx.gpr[17] = aot_run_words[3]; aot_gpr_18 = aot_run_words[4]; ctx.gpr[19] = aot_run_words[5]; @@ -2092,10 +2093,10 @@ L_088E4830: aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(40), ctx.gpr[17]); ctx.gpr[17] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(32), std::bit_cast(aot_fpr_20)); - aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(36), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(36), ctx.gpr[16]); aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(44), aot_gpr_31); { const bool branch_taken = aot_gpr_5 == 0u; - aot_gpr_16 = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); if (branch_taken) { goto L_088E48F4; } @@ -2115,7 +2116,7 @@ L_088E4850: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0143_entry, 143u, 161u, 0x08A40D58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E4878u) goto L_088E4878; AOT_REGCACHE_SYNC_OUT(); return; L_088E4878: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088E488C; @@ -2144,7 +2145,7 @@ L_088E489C: aot_fpr_20 = aot_fpr_20 + aot_fpr_12; goto L_088E48AC; L_088E48AC: - aot_gpr_4 = (aot_gpr_16 + static_cast(48)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -2192,20 +2193,20 @@ L_088E48AC: goto L_088E48EC; L_088E48EC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (ctx.gpr[17] & 255u); + aot_gpr_2 = (ctx.gpr[17] & 255u); if (branch_taken) { goto L_088E48F8; } goto L_088E48F4; } L_088E48F4: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_088E48F8; L_088E48F8: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(32), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); - aot_gpr_16 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[1]; ctx.gpr[17] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -2217,9 +2218,9 @@ L_088E48F8: AOT_REGCACHE_SYNC_OUT(); return; L_088E4910: ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); - aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), ctx.gpr[17]); - aot_gpr_16 = (aot_gpr_6 | 0u); + ctx.gpr[16] = (aot_gpr_6 | 0u); ctx.gpr[17] = (aot_gpr_5 | 0u); aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(8), aot_gpr_18); aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(12), aot_gpr_31); @@ -2228,7 +2229,7 @@ L_088E4910: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E4934u) goto L_088E4934; AOT_REGCACHE_SYNC_OUT(); return; L_088E4934: - { const bool branch_taken = aot_gpr_16 != ctx.gpr[2]; + { const bool branch_taken = ctx.gpr[16] != aot_gpr_2; // nop if (branch_taken) { goto L_088E49F8; @@ -2290,7 +2291,7 @@ L_088E4978: aot_gpr_4 = (0u | 18u); aot_gpr_5 = (0u | 1u); aot_gpr_6 = (aot_gpr_18 | 0u); - ctx.gpr[7] = (aot_gpr_16 | 0u); + ctx.gpr[7] = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x088E4990u); ctx.gpr[8] = (0u | 2000u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0095_entry, 95u, 24u, 0x0898019Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E4990u) goto L_088E4990; @@ -2307,7 +2308,7 @@ L_088E4998: aot_gpr_4 = (0u | 17u); aot_gpr_5 = (0u | 1u); aot_gpr_6 = (aot_gpr_18 | 0u); - ctx.gpr[7] = (aot_gpr_16 | 0u); + ctx.gpr[7] = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x088E49B0u); ctx.gpr[8] = (0u | 2000u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0095_entry, 95u, 24u, 0x0898019Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E49B0u) goto L_088E49B0; @@ -2332,7 +2333,7 @@ L_088E49C0: aot_gpr_4 = (0u | 3u); aot_gpr_5 = (0u | 1u); aot_gpr_6 = (aot_gpr_18 | 0u); - ctx.gpr[7] = (aot_gpr_16 | 0u); + ctx.gpr[7] = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x088E49D8u); ctx.gpr[8] = (0u | 2000u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0095_entry, 95u, 24u, 0x0898019Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E49D8u) goto L_088E49D8; @@ -2349,7 +2350,7 @@ L_088E49E0: aot_gpr_4 = (0u | 1u); aot_gpr_5 = (0u | 1u); aot_gpr_6 = (aot_gpr_18 | 0u); - ctx.gpr[7] = (aot_gpr_16 | 0u); + ctx.gpr[7] = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x088E49F8u); ctx.gpr[8] = (0u | 2000u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0095_entry, 95u, 24u, 0x0898019Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E49F8u) goto L_088E49F8; @@ -2357,7 +2358,7 @@ L_088E49E0: L_088E49F8: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_18 = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; @@ -2390,11 +2391,11 @@ L_088E4A10: AOT_REGCACHE_SYNC_OUT(); return; L_088E4A4C: ctx.gpr[29] = (ctx.gpr[29] + static_cast(-48)); - aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(28), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(28), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), ctx.gpr[8]); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); ctx.gpr[10] = (0u | 12u); aot_gpr_4 = (aot_gpr_4 - ctx.gpr[7]); { const std::int32_t dividend = static_cast(aot_gpr_4); const std::int32_t divisor = static_cast(ctx.gpr[10]); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } @@ -2451,7 +2452,7 @@ L_088E4AD4: aot_gpr_6 = aot_run_words[1]; ctx.gpr[7] = aot_run_words[2]; } - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[19] != 0u; aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(24))); if (branch_taken) { @@ -2470,11 +2471,11 @@ L_088E4AEC: L_088E4B00: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(12))); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(16))); - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(24))); goto L_088E4B10; L_088E4B10: - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_18 = (ctx.gpr[19] | 0u); { const bool branch_taken = ctx.gpr[7] == aot_gpr_5; aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(8), static_cast(0u)); @@ -2536,7 +2537,7 @@ L_088E4B64: L_088E4B7C: ctx.gpr[19] = (ctx.gpr[19] + static_cast(12)); { const bool branch_taken = 0u == 0u; - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); if (branch_taken) { goto L_088E4BC0; } @@ -2576,7 +2577,7 @@ L_088E4BB4: goto L_088E4BBC; } L_088E4BBC: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); goto L_088E4BC0; L_088E4BC0: { const bool branch_taken = aot_gpr_4 != 0u; @@ -2622,10 +2623,10 @@ L_088E4BFC: goto L_088E4C04; } L_088E4C04: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); goto L_088E4C08; L_088E4C08: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_5 = (aot_gpr_4 | 0u); { const bool branch_taken = aot_gpr_5 == aot_gpr_6; aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(11), static_cast(0u)); @@ -2656,19 +2657,19 @@ L_088E4C24: L_088E4C2C: aot_gpr_31 = (0x088E4C34u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E4C34u) goto L_088E4C34; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], aot_gpr_18, ctx.gpr[19], ctx.gpr[20], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E4C34u) goto L_088E4C34; AOT_REGCACHE_SYNC_OUT(); return; L_088E4C34: aot_gpr_4 = (ctx.gpr[17] + ctx.gpr[17]); aot_gpr_4 = (ctx.gpr[17] + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 << 2u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), aot_gpr_18); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), aot_gpr_18); aot_gpr_4 = (aot_gpr_18 + aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), ctx.gpr[19]); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(8), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(4), ctx.gpr[19]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(8), aot_gpr_4); { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(28), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_18 = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -2767,14 +2768,14 @@ L_088E4CE8: } L_088E4D18: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_088E4D24; } goto L_088E4D20; } L_088E4D20: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(20))); + aot_gpr_2 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(20))); goto L_088E4D24; L_088E4D24: jump_target = aot_gpr_31; @@ -2785,7 +2786,7 @@ L_088E4D24: AOT_REGCACHE_SYNC_OUT(); return; L_088E4D2C: ctx.gpr[29] = (ctx.gpr[29] + static_cast(-128)); - { const std::uint32_t aot_run_words[16]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), aot_gpr_16, ctx.gpr[17], aot_gpr_18, ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; + { const std::uint32_t aot_run_words[16]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), ctx.gpr[16], ctx.gpr[17], aot_gpr_18, ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(60), aot_run_words); } aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-1040))); ctx.gpr[17] = (aot_gpr_4 | 0u); @@ -2798,7 +2799,7 @@ L_088E4D2C: } L_088E4D80: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_088E5148; } @@ -2852,9 +2853,9 @@ L_088E4DF4: L_088E4E04: aot_gpr_4 = (aot_gpr_18 << 2u); aot_gpr_4 = (ctx.gpr[17] + aot_gpr_4); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1784))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1784))); { const bool branch_taken = 0u == 0u; - aot_gpr_4 = (aot_gpr_16 + static_cast(48)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(48)); if (branch_taken) { goto L_088E4E34; } @@ -2866,8 +2867,8 @@ L_088E4E18: aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (ctx.gpr[17] + aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1824))); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(112))); - aot_gpr_4 = (aot_gpr_16 + static_cast(48)); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(112))); + aot_gpr_4 = (ctx.gpr[16] + static_cast(48)); goto L_088E4E34; L_088E4E34: { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); @@ -2969,11 +2970,11 @@ L_088E4ED8: goto L_088E4EE4; L_088E4EE4: aot_gpr_31 = (0x088E4EECu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0055_entry, 55u, 244u, 0x088E289Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E4EECu) goto L_088E4EEC; AOT_REGCACHE_SYNC_OUT(); return; L_088E4EEC: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 45u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; aot_gpr_5 = (0u | 46u); @@ -3047,14 +3048,14 @@ L_088E4F44: } L_088E4F50: { const bool branch_taken = 0u == 0u; - ctx.gpr[22] = (aot_gpr_16 | 0u); + ctx.gpr[22] = (ctx.gpr[16] | 0u); if (branch_taken) { goto L_088E50B0; } goto L_088E4F58; } L_088E4F58: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 14u); aot_gpr_4 = (aot_gpr_4 ^ 6u); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); @@ -3067,27 +3068,27 @@ L_088E4F58: goto L_088E4F74; } L_088E4F74: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x088E4F80u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[28])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0055_entry, 55u, 563u, 0x088E3DD8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E4F80u) goto L_088E4F80; AOT_REGCACHE_SYNC_OUT(); return; L_088E4F80: { const bool branch_taken = 0u == 0u; - aot_gpr_4 = (0u < ctx.gpr[2] ? 1u : 0u); + aot_gpr_4 = (0u < aot_gpr_2 ? 1u : 0u); if (branch_taken) { goto L_088E4F98; } goto L_088E4F88; } L_088E4F88: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(352))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(352))); aot_gpr_31 = (0x088E4F94u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[28])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 576u, 0x089D3298u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E4F94u) goto L_088E4F94; AOT_REGCACHE_SYNC_OUT(); return; L_088E4F94: - aot_gpr_4 = (0u < ctx.gpr[2] ? 1u : 0u); + aot_gpr_4 = (0u < aot_gpr_2 ? 1u : 0u); goto L_088E4F98; L_088E4F98: { const bool branch_taken = aot_gpr_4 != 0u; @@ -3107,7 +3108,7 @@ L_088E4FA0: goto L_088E4FAC; } L_088E4FAC: - ctx.gpr[21] = (aot_gpr_16 | 0u); + ctx.gpr[21] = (ctx.gpr[16] | 0u); goto L_088E4FB0; L_088E4FB0: { const bool branch_taken = 0u == 0u; @@ -3229,11 +3230,11 @@ L_088E5074: } L_088E5080: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(56))); - aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), ctx.gpr[16]); goto L_088E5088; L_088E5088: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_gpr_4 | 0u); + aot_gpr_2 = (aot_gpr_4 | 0u); if (branch_taken) { goto L_088E5148; } @@ -3259,7 +3260,7 @@ L_088E50A0: goto L_088E50AC; } L_088E50AC: - ctx.gpr[23] = (aot_gpr_16 | 0u); + ctx.gpr[23] = (ctx.gpr[16] | 0u); goto L_088E50B0; L_088E50B0: aot_gpr_18 = (aot_gpr_18 + static_cast(1)); @@ -3298,7 +3299,7 @@ L_088E50E4: goto L_088E50EC; L_088E50EC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 2u); + aot_gpr_2 = (0u | 2u); if (branch_taken) { goto L_088E5148; } @@ -3328,7 +3329,7 @@ L_088E510C: goto L_088E5114; L_088E5114: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 3u); + aot_gpr_2 = (0u | 3u); if (branch_taken) { goto L_088E5148; } @@ -3346,7 +3347,7 @@ L_088E511C: L_088E5128: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(56))); { const bool branch_taken = aot_gpr_4 == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_088E513C; } @@ -3365,7 +3366,7 @@ L_088E513C: goto L_088E5144; } L_088E5144: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_088E5148; L_088E5148: { std::uint32_t aot_run_words[16]{}; @@ -3376,7 +3377,7 @@ L_088E5148: ctx.fpr[26] = std::bit_cast(aot_run_words[3]); ctx.fpr[28] = std::bit_cast(aot_run_words[4]); ctx.fpr[30] = std::bit_cast(aot_run_words[5]); - aot_gpr_16 = aot_run_words[6]; + ctx.gpr[16] = aot_run_words[6]; ctx.gpr[17] = aot_run_words[7]; aot_gpr_18 = aot_run_words[8]; ctx.gpr[19] = aot_run_words[9]; @@ -3395,24 +3396,24 @@ L_088E5148: AOT_REGCACHE_SYNC_OUT(); return; L_088E5190: ctx.gpr[29] = (ctx.gpr[29] + static_cast(-208)); - { const std::uint32_t aot_run_words[13]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), aot_gpr_16, ctx.gpr[17], aot_gpr_18, ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; + { const std::uint32_t aot_run_words[13]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), ctx.gpr[16], ctx.gpr[17], aot_gpr_18, ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(152), aot_run_words); } ctx.gpr[19] = (aot_gpr_5 | 0u); aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(208), aot_gpr_6); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_18 = (2237u << 16u); aot_gpr_18 = (aot_gpr_18 + static_cast(-28736)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(100))); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(52))); - aot_gpr_6 = (aot_mem.aot_direct_load_word_right(aot_gpr_16 + static_cast(43), aot_gpr_6)); - aot_gpr_6 = (aot_mem.aot_direct_load_word_left(aot_gpr_16 + static_cast(46), aot_gpr_6)); + aot_gpr_6 = (aot_mem.aot_direct_load_word_right(ctx.gpr[16] + static_cast(43), aot_gpr_6)); + aot_gpr_6 = (aot_mem.aot_direct_load_word_left(ctx.gpr[16] + static_cast(46), aot_gpr_6)); aot_gpr_6 = (aot_gpr_6 & 65535u); aot_gpr_31 = (0x088E51F8u); aot_gpr_4 = (aot_gpr_18 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 192u, 0x08ADCA6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E51F8u) goto L_088E51F8; AOT_REGCACHE_SYNC_OUT(); return; L_088E51F8: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { @@ -3430,8 +3431,8 @@ L_088E5204: goto L_088E5210; } L_088E5210: - aot_gpr_6 = (aot_mem.aot_direct_load_word_right(aot_gpr_16 + static_cast(45), aot_gpr_6)); - aot_gpr_6 = (aot_mem.aot_direct_load_word_left(aot_gpr_16 + static_cast(48), aot_gpr_6)); + aot_gpr_6 = (aot_mem.aot_direct_load_word_right(ctx.gpr[16] + static_cast(45), aot_gpr_6)); + aot_gpr_6 = (aot_mem.aot_direct_load_word_left(ctx.gpr[16] + static_cast(48), aot_gpr_6)); aot_gpr_6 = (aot_gpr_6 & 65535u); aot_gpr_4 = (aot_gpr_18 | 0u); aot_gpr_31 = (0x088E5228u); @@ -3439,7 +3440,7 @@ L_088E5210: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 192u, 0x08ADCA6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E5228u) goto L_088E5228; AOT_REGCACHE_SYNC_OUT(); return; L_088E5228: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[19] == 0u; // nop if (branch_taken) { @@ -3448,13 +3449,13 @@ L_088E5228: goto L_088E5234; } L_088E5234: - aot_gpr_18 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(51))); + aot_gpr_18 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(51))); aot_gpr_31 = (0x088E5240u); aot_gpr_4 = (aot_gpr_18 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E5240u) goto L_088E5240; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E5240u) goto L_088E5240; AOT_REGCACHE_SYNC_OUT(); return; L_088E5240: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088E52F8; @@ -3463,7 +3464,7 @@ L_088E5240: } L_088E5248: aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(148), aot_gpr_18); - aot_gpr_18 = (aot_gpr_16 | 0u); + aot_gpr_18 = (ctx.gpr[16] | 0u); aot_gpr_4 = (aot_gpr_18 + static_cast(3)); aot_gpr_31 = (0x088E525Cu); aot_gpr_5 = (ctx.gpr[29] | 0u); @@ -3484,12 +3485,12 @@ L_088E525C: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (aot_gpr_18 + static_cast(15)); - aot_gpr_16 = (ctx.gpr[29] + static_cast(16)); + ctx.gpr[16] = (ctx.gpr[29] + static_cast(16)); aot_gpr_31 = (0x088E5278u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); goto L_088E4A10; L_088E5278: - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -3504,12 +3505,12 @@ L_088E5278: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (aot_gpr_18 + static_cast(27)); - aot_gpr_16 = (ctx.gpr[29] + static_cast(32)); + ctx.gpr[16] = (ctx.gpr[29] + static_cast(32)); aot_gpr_31 = (0x088E5294u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); goto L_088E4A10; L_088E5294: - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -3523,7 +3524,7 @@ L_088E5294: const std::uint32_t vfpu_address = ctx.gpr[23] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_16 = (aot_mem.aot_direct_load8(aot_gpr_18 + static_cast(52))); + ctx.gpr[16] = (aot_mem.aot_direct_load8(aot_gpr_18 + static_cast(52))); ctx.gpr[20] = (aot_mem.aot_direct_load8(aot_gpr_18 + static_cast(53))); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_18 + static_cast(49))); aot_fpr_20 = std::bit_cast(aot_gpr_4); @@ -3591,10 +3592,10 @@ L_088E5310: L_088E5318: aot_gpr_31 = (0x088E5320u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E5320u) goto L_088E5320; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E5320u) goto L_088E5320; AOT_REGCACHE_SYNC_OUT(); return; L_088E5320: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088E5338; @@ -3647,20 +3648,20 @@ L_088E5350: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E5368u) goto L_088E5368; AOT_REGCACHE_SYNC_OUT(); return; L_088E5368: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(36))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(36))); aot_gpr_5 = (aot_gpr_4 + static_cast(8)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); jump_target = aot_gpr_5; aot_gpr_31 = (0x088E5380u); - aot_gpr_4 = (ctx.gpr[2] + aot_gpr_4); + aot_gpr_4 = (aot_gpr_2 + aot_gpr_4); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E5380u) goto L_088E5380; AOT_REGCACHE_SYNC_OUT(); return; L_088E5380: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30640))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); - aot_gpr_5 = (ctx.gpr[2] << 6u); + aot_gpr_5 = (aot_gpr_2 << 6u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(44)))))); aot_gpr_4 = (aot_gpr_4 & 256u); @@ -3711,7 +3712,7 @@ L_088E53F4: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23244))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23248))); aot_gpr_5 = (ctx.gpr[3] & aot_gpr_5); - aot_gpr_4 = (ctx.gpr[2] & aot_gpr_4); + aot_gpr_4 = (aot_gpr_2 & aot_gpr_4); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23236))); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23240))); { const bool branch_taken = aot_gpr_4 != aot_gpr_6; @@ -3788,20 +3789,20 @@ L_088E5458: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E5470u) goto L_088E5470; AOT_REGCACHE_SYNC_OUT(); return; L_088E5470: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(36))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(36))); aot_gpr_5 = (aot_gpr_4 + static_cast(8)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); jump_target = aot_gpr_5; aot_gpr_31 = (0x088E5488u); - aot_gpr_4 = (ctx.gpr[2] + aot_gpr_4); + aot_gpr_4 = (aot_gpr_2 + aot_gpr_4); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E5488u) goto L_088E5488; AOT_REGCACHE_SYNC_OUT(); return; L_088E5488: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30640))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); - aot_gpr_5 = (ctx.gpr[2] << 6u); + aot_gpr_5 = (aot_gpr_2 << 6u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(44)))))); aot_gpr_4 = (aot_gpr_4 & 8u); @@ -3836,7 +3837,7 @@ L_088E54E0: aot_gpr_4 = (ctx.gpr[17] | 0u); goto L_088E4548; L_088E54E8: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; ctx.gpr[30] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(144))); if (branch_taken) { goto L_088E5564; @@ -3845,7 +3846,7 @@ L_088E54E8: } L_088E54F0: aot_gpr_4 = (0u | 255u); - { const bool branch_taken = aot_gpr_16 == aot_gpr_4; + { const bool branch_taken = ctx.gpr[16] == aot_gpr_4; // nop if (branch_taken) { goto L_088E5524; @@ -3855,7 +3856,7 @@ L_088E54F0: L_088E54FC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30640))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); - aot_gpr_5 = (aot_gpr_16 << 6u); + aot_gpr_5 = (ctx.gpr[16] << 6u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(42)))))); aot_gpr_4 = (aot_gpr_4 & 8u); @@ -3881,7 +3882,7 @@ L_088E5524: AOT_REGCACHE_SYNC_OUT(); return; L_088E553C: ctx.gpr[10] = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(112))); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_6 = (ctx.gpr[30] | 0u); ctx.gpr[7] = (aot_gpr_18 | 0u); @@ -3910,7 +3911,7 @@ L_088E5570: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 195u, 0x08910B38u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E5578u) goto L_088E5578; AOT_REGCACHE_SYNC_OUT(); return; L_088E5578: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_088E5640; @@ -3927,8 +3928,8 @@ L_088E5580: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 461u, 0x08A93198u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E559Cu) goto L_088E559C; AOT_REGCACHE_SYNC_OUT(); return; L_088E559C: - { const bool branch_taken = ctx.gpr[2] == 0u; - aot_gpr_16 = (0u | 17u); + { const bool branch_taken = aot_gpr_2 == 0u; + ctx.gpr[16] = (0u | 17u); if (branch_taken) { goto L_088E55C8; } @@ -3962,7 +3963,7 @@ L_088E55C8: AOT_REGCACHE_SYNC_OUT(); return; L_088E55E0: ctx.gpr[10] = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(112))); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_6 = (ctx.gpr[30] | 0u); ctx.gpr[7] = (aot_gpr_18 | 0u); @@ -3973,7 +3974,7 @@ L_088E55E0: AOT_REGCACHE_SYNC_OUT(); return; L_088E5600: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(2228))); - { const bool branch_taken = aot_gpr_4 == aot_gpr_16; + { const bool branch_taken = aot_gpr_4 == ctx.gpr[16]; // nop if (branch_taken) { goto L_088E5618; @@ -4020,7 +4021,7 @@ L_088E5640: AOT_REGCACHE_SYNC_OUT(); return; L_088E5658: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(112))); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_6 = (ctx.gpr[20] | 0u); ctx.gpr[7] = (aot_gpr_18 | 0u); aot_gpr_31 = (0x088E5670u); @@ -4048,12 +4049,12 @@ L_088E5670: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>(); - aot_gpr_16 = (ctx.gpr[29] + static_cast(96)); + ctx.gpr[16] = (ctx.gpr[29] + static_cast(96)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -4070,7 +4071,7 @@ L_088E5670: ctx.execute_vfpu_vscl_ct<1u, 1u, 28u, 3u>(); ctx.execute_vfpu_vcmov_ct<1u, 0u, 3u, 0u, false>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<1u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(92))); @@ -4084,12 +4085,12 @@ L_088E5670: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E56C0u) goto L_088E56C0; AOT_REGCACHE_SYNC_OUT(); return; L_088E56C0: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_6 = (ctx.gpr[20] | 0u); ctx.gpr[7] = (aot_gpr_18 | 0u); ctx.gpr[8] = (ctx.gpr[21] | 0u); - ctx.gpr[9] = (aot_gpr_16 | 0u); + ctx.gpr[9] = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x088E56E0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[22])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0007_entry, 7u, 439u, 0x08822484u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E56E0u) goto L_088E56E0; @@ -4100,7 +4101,7 @@ L_088E56E0: aot_fpr_20 = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); - aot_gpr_16 = aot_run_words[3]; + ctx.gpr[16] = aot_run_words[3]; ctx.gpr[17] = aot_run_words[4]; aot_gpr_18 = aot_run_words[5]; ctx.gpr[19] = aot_run_words[6]; @@ -4119,7 +4120,7 @@ L_088E56E0: AOT_REGCACHE_SYNC_OUT(); return; L_088E571C: ctx.gpr[29] = (ctx.gpr[29] + static_cast(-304)); - { const std::uint32_t aot_run_words[14]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), aot_gpr_16, ctx.gpr[17], aot_gpr_18, ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; + { const std::uint32_t aot_run_words[14]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), ctx.gpr[16], ctx.gpr[17], aot_gpr_18, ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(248), aot_run_words); } aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(2228))); aot_gpr_6 = (0u | 17u); @@ -4139,10 +4140,10 @@ L_088E5768: aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); aot_gpr_31 = (0x088E5788u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E5788u) goto L_088E5788; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E5788u) goto L_088E5788; AOT_REGCACHE_SYNC_OUT(); return; L_088E5788: - ctx.gpr[30] = (ctx.gpr[2] | 0u); + ctx.gpr[30] = (aot_gpr_2 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(456))); ctx.gpr[19] = (aot_gpr_4 & 4u); ctx.gpr[19] = (0u < ctx.gpr[19] ? 1u : 0u); @@ -4221,7 +4222,7 @@ L_088E5820: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E5830u) goto L_088E5830; AOT_REGCACHE_SYNC_OUT(); return; L_088E5830: - ctx.gpr[20] = (ctx.gpr[2] | 0u); + ctx.gpr[20] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[20] == 0u; // nop if (branch_taken) { @@ -4241,8 +4242,8 @@ L_088E583C: } L_088E584C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(1360))); - aot_gpr_16 = (0u | 6u); - { const bool branch_taken = aot_gpr_4 != aot_gpr_16; + ctx.gpr[16] = (0u | 6u); + { const bool branch_taken = aot_gpr_4 != ctx.gpr[16]; // nop if (branch_taken) { goto L_088E58DC; @@ -4282,7 +4283,7 @@ L_088E5898: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E58A8u) goto L_088E58A8; AOT_REGCACHE_SYNC_OUT(); return; L_088E58A8: - ctx.gpr[20] = (ctx.gpr[2] | 0u); + ctx.gpr[20] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[20] == 0u; // nop if (branch_taken) { @@ -4309,13 +4310,13 @@ L_088E58B4: L_088E58DC: aot_gpr_31 = (0x088E58E4u); aot_gpr_4 = (aot_gpr_18 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E58E4u) goto L_088E58E4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E58E4u) goto L_088E58E4; AOT_REGCACHE_SYNC_OUT(); return; L_088E58E4: ctx.gpr[23] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23252))); ctx.gpr[22] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23256))); ctx.gpr[21] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23236))); - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; ctx.gpr[20] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23240))); if (branch_taken) { goto L_088E59B8; @@ -4324,7 +4325,7 @@ L_088E58E4: } L_088E58F8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(1360))); - { const bool branch_taken = aot_gpr_4 == aot_gpr_16; + { const bool branch_taken = aot_gpr_4 == ctx.gpr[16]; // nop if (branch_taken) { goto L_088E59B8; @@ -4351,7 +4352,7 @@ L_088E5938: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23228))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23232))); aot_gpr_5 = (ctx.gpr[3] & aot_gpr_5); - aot_gpr_4 = (ctx.gpr[2] & aot_gpr_4); + aot_gpr_4 = (aot_gpr_2 & aot_gpr_4); { const bool branch_taken = aot_gpr_4 != ctx.gpr[20]; // nop if (branch_taken) { @@ -4375,7 +4376,7 @@ L_088E5958: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E5968u) goto L_088E5968; AOT_REGCACHE_SYNC_OUT(); return; L_088E5968: - ctx.gpr[20] = (ctx.gpr[2] | 0u); + ctx.gpr[20] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[20] != 0u; // nop if (branch_taken) { @@ -4391,7 +4392,7 @@ L_088E5974: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E5984u) goto L_088E5984; AOT_REGCACHE_SYNC_OUT(); return; L_088E5984: - ctx.gpr[20] = (ctx.gpr[2] | 0u); + ctx.gpr[20] = (aot_gpr_2 | 0u); goto L_088E5988; L_088E5988: { const bool branch_taken = ctx.gpr[20] == 0u; @@ -4442,7 +4443,7 @@ L_088E59DC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E59FCu) goto L_088E59FC; AOT_REGCACHE_SYNC_OUT(); return; L_088E59FC: - ctx.gpr[20] = (ctx.gpr[2] | 0u); + ctx.gpr[20] = (aot_gpr_2 | 0u); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_18 + static_cast(1929)))))); aot_gpr_5 = (aot_gpr_4 << 5u); aot_gpr_4 = (aot_gpr_4 << 2u); @@ -4462,7 +4463,7 @@ L_088E5A34: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23220))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23224))); aot_gpr_5 = (ctx.gpr[3] & aot_gpr_5); - aot_gpr_4 = (ctx.gpr[2] & aot_gpr_4); + aot_gpr_4 = (aot_gpr_2 & aot_gpr_4); { const bool branch_taken = aot_gpr_4 != ctx.gpr[22]; // nop if (branch_taken) { @@ -4523,7 +4524,7 @@ L_088E5AA4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E5AB0u) goto L_088E5AB0; AOT_REGCACHE_SYNC_OUT(); return; L_088E5AB0: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); goto L_088E5AB4; L_088E5AB4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[30] + static_cast(0))); @@ -4564,7 +4565,7 @@ L_088E5AF4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E5B00u) goto L_088E5B00; AOT_REGCACHE_SYNC_OUT(); return; L_088E5B00: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); goto L_088E5B04; L_088E5B04: { const bool branch_taken = ctx.gpr[17] == 0u; @@ -4587,10 +4588,10 @@ L_088E5B0C: L_088E5B1C: aot_gpr_31 = (0x088E5B24u); aot_gpr_4 = (aot_gpr_18 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E5B24u) goto L_088E5B24; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E5B24u) goto L_088E5B24; AOT_REGCACHE_SYNC_OUT(); return; L_088E5B24: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088E5B44; @@ -4685,7 +4686,7 @@ L_088E5BC4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E5BD0u) goto L_088E5BD0; AOT_REGCACHE_SYNC_OUT(); return; L_088E5BD0: - aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(232), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(232), aot_gpr_2); aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(228), ctx.gpr[17]); goto L_088E5BD8; L_088E5BD8: @@ -4745,7 +4746,7 @@ L_088E5C3C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E5C4Cu) goto L_088E5C4C; AOT_REGCACHE_SYNC_OUT(); return; L_088E5C4C: - ctx.gpr[20] = (ctx.gpr[2] | 0u); + ctx.gpr[20] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[20] == 0u; // nop if (branch_taken) { @@ -4756,10 +4757,10 @@ L_088E5C4C: L_088E5C58: aot_gpr_31 = (0x088E5C60u); aot_gpr_4 = (aot_gpr_18 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E5C60u) goto L_088E5C60; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E5C60u) goto L_088E5C60; AOT_REGCACHE_SYNC_OUT(); return; L_088E5C60: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088E5C6C; @@ -4887,7 +4888,7 @@ L_088E5D1C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E5D2Cu) goto L_088E5D2C; AOT_REGCACHE_SYNC_OUT(); return; L_088E5D2C: - ctx.gpr[20] = (ctx.gpr[2] | 0u); + ctx.gpr[20] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[20] == 0u; // nop if (branch_taken) { @@ -4973,7 +4974,7 @@ L_088E5DC0: AOT_REGCACHE_SYNC_OUT(); return; L_088E5DD0: { const bool branch_taken = 0u == 0u; - ctx.gpr[20] = (ctx.gpr[2] | 0u); + ctx.gpr[20] = (aot_gpr_2 | 0u); if (branch_taken) { goto L_088E5DEC; } @@ -4987,7 +4988,7 @@ L_088E5DD8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E5DE8u) goto L_088E5DE8; AOT_REGCACHE_SYNC_OUT(); return; L_088E5DE8: - ctx.gpr[20] = (ctx.gpr[2] | 0u); + ctx.gpr[20] = (aot_gpr_2 | 0u); goto L_088E5DEC; L_088E5DEC: { const bool branch_taken = ctx.gpr[20] == 0u; @@ -5008,10 +5009,10 @@ L_088E5DF4: L_088E5E00: aot_gpr_31 = (0x088E5E08u); aot_gpr_4 = (aot_gpr_18 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E5E08u) goto L_088E5E08; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E5E08u) goto L_088E5E08; AOT_REGCACHE_SYNC_OUT(); return; L_088E5E08: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088E5ED0; @@ -5022,7 +5023,7 @@ L_088E5E10: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_18 + static_cast(3262)))))); aot_gpr_4 = (aot_gpr_4 & 8u); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); if (branch_taken) { goto L_088E5E40; } @@ -5031,7 +5032,7 @@ L_088E5E10: L_088E5E20: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(1152))); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_4 = (aot_gpr_16 & 255u); + aot_gpr_4 = (ctx.gpr[16] & 255u); if (branch_taken) { goto L_088E5E44; } @@ -5043,18 +5044,18 @@ L_088E5E2C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 195u, 0x08910B38u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E5E34u) goto L_088E5E34; AOT_REGCACHE_SYNC_OUT(); return; L_088E5E34: - { const bool branch_taken = ctx.gpr[2] == 0u; - aot_gpr_4 = (aot_gpr_16 & 255u); + { const bool branch_taken = aot_gpr_2 == 0u; + aot_gpr_4 = (ctx.gpr[16] & 255u); if (branch_taken) { goto L_088E5E44; } goto L_088E5E3C; } L_088E5E3C: - aot_gpr_16 = (0u | 1u); + ctx.gpr[16] = (0u | 1u); goto L_088E5E40; L_088E5E40: - aot_gpr_4 = (aot_gpr_16 & 255u); + aot_gpr_4 = (ctx.gpr[16] & 255u); goto L_088E5E44; L_088E5E44: { const bool branch_taken = aot_gpr_4 == 0u; @@ -5084,22 +5085,22 @@ L_088E5E4C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0038_entry, 38u, 621u, 0x0889EB08u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E5E60u) goto L_088E5E60; AOT_REGCACHE_SYNC_OUT(); return; L_088E5E60: - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (aot_gpr_2 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(724))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); aot_gpr_31 = (0x088E5E74u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 251u, 0x08969194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E5E74u) goto L_088E5E74; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08969194, 89u, 251u, 0x08969194u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 251u, 0x08969194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E5E74u) goto L_088E5E74; AOT_REGCACHE_SYNC_OUT(); return; L_088E5E74: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x088E5E80u); - aot_gpr_16 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E5E80u) goto L_088E5E80; + ctx.gpr[16] = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0896918C, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E5E80u) goto L_088E5E80; AOT_REGCACHE_SYNC_OUT(); return; L_088E5E80: - ctx.gpr[7] = (aot_gpr_16 << 6u); - ctx.gpr[7] = (ctx.gpr[2] + ctx.gpr[7]); + ctx.gpr[7] = (ctx.gpr[16] << 6u); + ctx.gpr[7] = (aot_gpr_2 + ctx.gpr[7]); aot_gpr_4 = (ctx.gpr[29] | 0u); aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_31 = (0x088E5E98u); @@ -5146,7 +5147,7 @@ L_088E5ED8: aot_gpr_4 = (aot_gpr_4 | 52429u); aot_fpr_12 = std::bit_cast(aot_gpr_4); { const float fs = aot_fpr_20; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - aot_gpr_16 = (0u | 11u); + ctx.gpr[16] = (0u | 11u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 <= aot_fpr_12)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); @@ -5261,7 +5262,7 @@ L_088E5FB4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0006_entry, 6u, 315u, 0x0881E094u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E5FD4u) goto L_088E5FD4; AOT_REGCACHE_SYNC_OUT(); return; L_088E5FD4: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_18 + static_cast(1929)))))); aot_gpr_6 = (aot_gpr_5 << 5u); aot_gpr_5 = (aot_gpr_5 << 2u); @@ -5269,7 +5270,7 @@ L_088E5FD4: aot_gpr_5 = (aot_gpr_18 + aot_gpr_5); aot_gpr_5 = (aot_gpr_5 + static_cast(1396)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); - { const bool branch_taken = aot_gpr_5 != aot_gpr_16; + { const bool branch_taken = aot_gpr_5 != ctx.gpr[16]; // nop if (branch_taken) { goto L_088E61C0; @@ -5341,7 +5342,7 @@ L_088E6048: ctx.fpr[26] = std::bit_cast(ctx.gpr[7]); ctx.gpr[17] = (0u | 4u); { const bool branch_taken = aot_gpr_5 != aot_gpr_6; - aot_gpr_16 = (ctx.gpr[28] + static_cast(7768)); + ctx.gpr[16] = (ctx.gpr[28] + static_cast(7768)); if (branch_taken) { goto L_088E6090; } @@ -5469,7 +5470,7 @@ L_088E6118: goto L_088E6130; L_088E6130: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(96))); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_6 = (0u | 54u); aot_gpr_31 = (0x088E6144u); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[26])); @@ -5478,10 +5479,10 @@ L_088E6130: L_088E6144: aot_gpr_31 = (0x088E614Cu); aot_gpr_4 = (aot_gpr_18 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E614Cu) goto L_088E614C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E614Cu) goto L_088E614C; AOT_REGCACHE_SYNC_OUT(); return; L_088E614C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088E616C; @@ -5494,7 +5495,7 @@ L_088E6154: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E615Cu) goto L_088E615C; AOT_REGCACHE_SYNC_OUT(); return; L_088E615C: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 240u); aot_gpr_31 = (0x088E616Cu); aot_gpr_6 = (0u | 180u); @@ -5511,7 +5512,7 @@ L_088E616C: L_088E6174: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(96))); aot_fpr_12 = std::bit_cast(0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_6 = (0u | 53u); aot_gpr_31 = (0x088E618Cu); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[26])); @@ -5520,10 +5521,10 @@ L_088E6174: L_088E618C: aot_gpr_31 = (0x088E6194u); aot_gpr_4 = (aot_gpr_18 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E6194u) goto L_088E6194; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E6194u) goto L_088E6194; AOT_REGCACHE_SYNC_OUT(); return; L_088E6194: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088E61B4; @@ -5536,7 +5537,7 @@ L_088E619C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E61A4u) goto L_088E61A4; AOT_REGCACHE_SYNC_OUT(); return; L_088E61A4: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 240u); aot_gpr_31 = (0x088E61B4u); aot_gpr_6 = (0u | 90u); @@ -5559,7 +5560,7 @@ L_088E61C0: aot_gpr_5 = (aot_gpr_18 + aot_gpr_5); aot_gpr_5 = (aot_gpr_5 + static_cast(1396)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); - { const bool branch_taken = aot_gpr_5 != aot_gpr_16; + { const bool branch_taken = aot_gpr_5 != ctx.gpr[16]; // nop if (branch_taken) { goto L_088E6208; @@ -5653,7 +5654,7 @@ L_088E6250: } L_088E6270: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[30] + static_cast(64))); - { const bool branch_taken = aot_gpr_4 != aot_gpr_16; + { const bool branch_taken = aot_gpr_4 != ctx.gpr[16]; // nop if (branch_taken) { goto L_088E62E4; @@ -5842,7 +5843,7 @@ L_088E6324: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0038_entry, 38u, 621u, 0x0889EB08u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E632Cu) goto L_088E632C; AOT_REGCACHE_SYNC_OUT(); return; L_088E632C: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[20] + static_cast(48)))))); aot_gpr_5 = (0u | 215u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; @@ -5867,11 +5868,11 @@ L_088E6350: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); aot_gpr_31 = (0x088E6360u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 251u, 0x08969194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E6360u) goto L_088E6360; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08969194, 89u, 251u, 0x08969194u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 251u, 0x08969194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E6360u) goto L_088E6360; AOT_REGCACHE_SYNC_OUT(); return; L_088E6360: { const bool branch_taken = 0u == 0u; - aot_gpr_16 = (ctx.gpr[2] << 6u); + ctx.gpr[16] = (aot_gpr_2 << 6u); if (branch_taken) { goto L_088E637C; } @@ -5882,18 +5883,18 @@ L_088E6368: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); aot_gpr_31 = (0x088E6378u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 251u, 0x08969194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E6378u) goto L_088E6378; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08969194, 89u, 251u, 0x08969194u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 251u, 0x08969194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E6378u) goto L_088E6378; AOT_REGCACHE_SYNC_OUT(); return; L_088E6378: - aot_gpr_16 = (ctx.gpr[2] << 6u); + ctx.gpr[16] = (aot_gpr_2 << 6u); goto L_088E637C; L_088E637C: aot_gpr_31 = (0x088E6384u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E6384u) goto L_088E6384; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0896918C, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E6384u) goto L_088E6384; AOT_REGCACHE_SYNC_OUT(); return; L_088E6384: - ctx.gpr[7] = (ctx.gpr[2] + aot_gpr_16); + ctx.gpr[7] = (aot_gpr_2 + ctx.gpr[16]); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x088E6398u); @@ -5903,10 +5904,10 @@ L_088E6384: L_088E6398: aot_gpr_31 = (0x088E63A0u); aot_gpr_4 = (aot_gpr_18 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E63A0u) goto L_088E63A0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E63A0u) goto L_088E63A0; AOT_REGCACHE_SYNC_OUT(); return; L_088E63A0: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088E6414; @@ -6088,10 +6089,10 @@ L_088E6524: aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); aot_gpr_31 = (0x088E6544u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E6544u) goto L_088E6544; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E6544u) goto L_088E6544; AOT_REGCACHE_SYNC_OUT(); return; L_088E6544: - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(96))); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(96))); aot_gpr_31 = (0x088E6550u); aot_gpr_4 = (aot_gpr_18 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 922u, 0x08907F9Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E6550u) goto L_088E6550; @@ -6126,7 +6127,7 @@ L_088E6580: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E6588u) goto L_088E6588; AOT_REGCACHE_SYNC_OUT(); return; L_088E6588: - { const bool branch_taken = ctx.gpr[2] == aot_gpr_18; + { const bool branch_taken = aot_gpr_2 == aot_gpr_18; // nop if (branch_taken) { goto L_088E6598; @@ -6462,9 +6463,9 @@ L_088E67F4: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_16 = (ctx.gpr[29] + static_cast(112)); + ctx.gpr[16] = (ctx.gpr[29] + static_cast(112)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_31 = (0x088E680Cu); @@ -6472,30 +6473,30 @@ L_088E67F4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0038_entry, 38u, 621u, 0x0889EB08u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E680Cu) goto L_088E680C; AOT_REGCACHE_SYNC_OUT(); return; L_088E680C: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(724))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); aot_gpr_31 = (0x088E6820u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 251u, 0x08969194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E6820u) goto L_088E6820; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08969194, 89u, 251u, 0x08969194u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 251u, 0x08969194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E6820u) goto L_088E6820; AOT_REGCACHE_SYNC_OUT(); return; L_088E6820: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088E682Cu); - ctx.gpr[17] = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E682Cu) goto L_088E682C; + ctx.gpr[17] = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0896918C, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E682Cu) goto L_088E682C; AOT_REGCACHE_SYNC_OUT(); return; L_088E682C: ctx.gpr[7] = (ctx.gpr[17] << 6u); - ctx.gpr[7] = (ctx.gpr[2] + ctx.gpr[7]); - aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); + ctx.gpr[7] = (aot_gpr_2 + ctx.gpr[7]); + aot_gpr_4 = (ctx.gpr[16] | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x088E6844u); aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 239u, 0x088619ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E6844u) goto L_088E6844; AOT_REGCACHE_SYNC_OUT(); return; L_088E6844: - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -6587,10 +6588,10 @@ L_088E6920: L_088E693C: aot_gpr_31 = (0x088E6944u); aot_gpr_4 = (aot_gpr_18 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E6944u) goto L_088E6944; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E6944u) goto L_088E6944; AOT_REGCACHE_SYNC_OUT(); return; L_088E6944: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088E6A4C; @@ -6711,10 +6712,10 @@ L_088E6A28: L_088E6A4C: aot_gpr_31 = (0x088E6A54u); aot_gpr_4 = (aot_gpr_18 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E6A54u) goto L_088E6A54; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E6A54u) goto L_088E6A54; AOT_REGCACHE_SYNC_OUT(); return; L_088E6A54: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088E6A94; @@ -6728,11 +6729,11 @@ L_088E6A5C: AOT_REGCACHE_SYNC_OUT(); return; L_088E6A64: aot_gpr_31 = (0x088E6A6Cu); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0098_entry, 98u, 543u, 0x0898D7C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E6A6Cu) goto L_088E6A6C; AOT_REGCACHE_SYNC_OUT(); return; L_088E6A6C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088E6A94; @@ -6764,7 +6765,7 @@ L_088E6A94: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[22])) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); - aot_gpr_16 = (0u + static_cast(-5)); + ctx.gpr[16] = (0u + static_cast(-5)); if (branch_taken) { goto L_088E6AEC; } @@ -6939,7 +6940,7 @@ L_088E6BE4: AOT_REGCACHE_SYNC_OUT(); return; L_088E6BFC: { const bool branch_taken = 0u == 0u; - ctx.gpr[20] = (ctx.gpr[2] | 0u); + ctx.gpr[20] = (aot_gpr_2 | 0u); if (branch_taken) { goto L_088E6C44; } @@ -6968,7 +6969,7 @@ L_088E6C28: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 163u, 0x089088F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E6C40u) goto L_088E6C40; AOT_REGCACHE_SYNC_OUT(); return; L_088E6C40: - ctx.gpr[20] = (ctx.gpr[2] | 0u); + ctx.gpr[20] = (aot_gpr_2 | 0u); goto L_088E6C44; L_088E6C44: { const bool branch_taken = ctx.gpr[20] == 0u; @@ -6984,12 +6985,12 @@ L_088E6C4C: aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x088E6C60u); aot_gpr_6 = (aot_gpr_18 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E6C60u) goto L_088E6C60; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E6C60u) goto L_088E6C60; AOT_REGCACHE_SYNC_OUT(); return; L_088E6C60: aot_gpr_31 = (0x088E6C68u); aot_gpr_4 = (aot_gpr_18 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 454u, 0x08909B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E6C68u) goto L_088E6C68; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08909B60, 65u, 454u, 0x08909B60u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 454u, 0x08909B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E6C68u) goto L_088E6C68; AOT_REGCACHE_SYNC_OUT(); return; L_088E6C68: aot_gpr_31 = (0x088E6C70u); @@ -7001,7 +7002,7 @@ L_088E6C70: aot_gpr_5 = (0u + static_cast(-9)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_18 + static_cast(456), aot_gpr_4); - aot_gpr_4 = (aot_gpr_4 & aot_gpr_16); + aot_gpr_4 = (aot_gpr_4 & ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_18 + static_cast(456), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_mem.aot_direct_store32(aot_gpr_18 + static_cast(1748), aot_gpr_4); @@ -7180,7 +7181,7 @@ L_088E6E04: aot_gpr_5 = (0u | 0u); goto L_088E4D2C; L_088E6E10: - aot_gpr_4 = (ctx.gpr[2] & 255u); + aot_gpr_4 = (aot_gpr_2 & 255u); aot_gpr_5 = (static_cast(aot_gpr_4) < 2 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; // nop @@ -7364,7 +7365,7 @@ L_088E6F74: AOT_REGCACHE_SYNC_OUT(); return; L_088E6F84: { const bool branch_taken = 0u == 0u; - ctx.gpr[20] = (ctx.gpr[2] | 0u); + ctx.gpr[20] = (aot_gpr_2 | 0u); if (branch_taken) { goto L_088E6FA4; } @@ -7379,14 +7380,14 @@ L_088E6F8C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 163u, 0x089088F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E6FA0u) goto L_088E6FA0; AOT_REGCACHE_SYNC_OUT(); return; L_088E6FA0: - ctx.gpr[20] = (ctx.gpr[2] | 0u); + ctx.gpr[20] = (aot_gpr_2 | 0u); goto L_088E6FA4; L_088E6FA4: aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088E6FB4u); aot_gpr_6 = (aot_gpr_18 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E6FB4u) goto L_088E6FB4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E6FB4u) goto L_088E6FB4; AOT_REGCACHE_SYNC_OUT(); return; L_088E6FB4: { const bool branch_taken = 0u == 0u; @@ -7442,7 +7443,7 @@ L_088E700C: AOT_REGCACHE_SYNC_OUT(); return; L_088E7020: { const bool branch_taken = 0u == 0u; - ctx.gpr[20] = (ctx.gpr[2] | 0u); + ctx.gpr[20] = (aot_gpr_2 | 0u); if (branch_taken) { goto L_088E7060; } @@ -7469,14 +7470,14 @@ L_088E704C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 163u, 0x089088F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E705Cu) goto L_088E705C; AOT_REGCACHE_SYNC_OUT(); return; L_088E705C: - ctx.gpr[20] = (ctx.gpr[2] | 0u); + ctx.gpr[20] = (aot_gpr_2 | 0u); goto L_088E7060; L_088E7060: aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088E7070u); aot_gpr_6 = (aot_gpr_18 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E7070u) goto L_088E7070; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E7070u) goto L_088E7070; AOT_REGCACHE_SYNC_OUT(); return; L_088E7070: { const bool branch_taken = 0u == 0u; @@ -7523,10 +7524,10 @@ L_088E70B4: L_088E70BC: aot_gpr_31 = (0x088E70C4u); aot_gpr_4 = (aot_gpr_18 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E70C4u) goto L_088E70C4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E70C4u) goto L_088E70C4; AOT_REGCACHE_SYNC_OUT(); return; L_088E70C4: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088E7184; @@ -7701,7 +7702,7 @@ L_088E7254: goto L_088E7258; L_088E7258: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(456))); - aot_gpr_4 = (aot_gpr_4 & aot_gpr_16); + aot_gpr_4 = (aot_gpr_4 & ctx.gpr[16]); aot_gpr_5 = (ctx.gpr[19] & 1u); aot_gpr_5 = (aot_gpr_5 << 2u); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); @@ -7765,10 +7766,10 @@ L_088E72B0: L_088E72B8: aot_gpr_31 = (0x088E72C0u); aot_gpr_4 = (aot_gpr_18 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E72C0u) goto L_088E72C0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E72C0u) goto L_088E72C0; AOT_REGCACHE_SYNC_OUT(); return; L_088E72C0: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088E72D8; @@ -7840,27 +7841,27 @@ L_088E7314: L_088E7330: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(80))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[30] + static_cast(64))); - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[30] + static_cast(0))); aot_gpr_6 = (ctx.gpr[7] & aot_gpr_6); aot_gpr_6 = (0u < aot_gpr_6 ? 1u : 0u); aot_gpr_6 = (aot_gpr_6 & 255u); if (aot_gpr_6 != 0u) { - aot_gpr_16 = (0u | 215u); + ctx.gpr[16] = (0u | 215u); goto L_088E7354; } goto L_088E7354; L_088E7354: aot_gpr_6 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_18 | 0u); - ctx.gpr[7] = (aot_gpr_16 | 0u); + ctx.gpr[7] = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x088E7368u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 163u, 0x089088F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E7368u) goto L_088E7368; AOT_REGCACHE_SYNC_OUT(); return; L_088E7368: { const bool branch_taken = 0u == 0u; - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (aot_gpr_2 | 0u); if (branch_taken) { goto L_088E7628; } @@ -7881,10 +7882,10 @@ L_088E7370: L_088E7388: aot_gpr_31 = (0x088E7390u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E7390u) goto L_088E7390; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E7390u) goto L_088E7390; AOT_REGCACHE_SYNC_OUT(); return; L_088E7390: - aot_gpr_4 = (ctx.gpr[2] & 65535u); + aot_gpr_4 = (aot_gpr_2 & 65535u); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -7896,27 +7897,27 @@ L_088E7390: L_088E73A0: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(80))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[30] + static_cast(64))); - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[30] + static_cast(0))); aot_gpr_6 = (aot_gpr_6 & 4096u); aot_gpr_6 = (0u < aot_gpr_6 ? 1u : 0u); aot_gpr_6 = (aot_gpr_6 & 255u); if (aot_gpr_6 != 0u) { - aot_gpr_16 = (0u | 215u); + ctx.gpr[16] = (0u | 215u); goto L_088E73C4; } goto L_088E73C4; L_088E73C4: aot_gpr_6 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_18 | 0u); - ctx.gpr[7] = (aot_gpr_16 | 0u); + ctx.gpr[7] = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x088E73D8u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 163u, 0x089088F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E73D8u) goto L_088E73D8; AOT_REGCACHE_SYNC_OUT(); return; L_088E73D8: { const bool branch_taken = 0u == 0u; - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (aot_gpr_2 | 0u); if (branch_taken) { goto L_088E7628; } @@ -7973,7 +7974,7 @@ L_088E7430: aot_gpr_5 = (0u | 0u); goto L_088E4D2C; L_088E7438: - aot_gpr_4 = (static_cast(ctx.gpr[2]) < 2 ? 1u : 0u); + aot_gpr_4 = (static_cast(aot_gpr_2) < 2 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -7989,35 +7990,35 @@ L_088E7444: aot_gpr_6 = (0u < aot_gpr_6 ? 1u : 0u); aot_gpr_6 = (aot_gpr_6 & 255u); { const bool branch_taken = aot_gpr_6 != 0u; - aot_gpr_16 = (0u | 215u); + ctx.gpr[16] = (0u | 215u); if (branch_taken) { goto L_088E7484; } goto L_088E7464; } L_088E7464: - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[30] + static_cast(0))); ctx.gpr[7] = (8u << 16u); aot_gpr_6 = (aot_gpr_6 & ctx.gpr[7]); aot_gpr_6 = (0u < aot_gpr_6 ? 1u : 0u); aot_gpr_6 = (aot_gpr_6 & 255u); if (aot_gpr_6 != 0u) { - aot_gpr_16 = (0u | 218u); + ctx.gpr[16] = (0u | 218u); goto L_088E7484; } goto L_088E7484; L_088E7484: aot_gpr_6 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_18 | 0u); - ctx.gpr[7] = (aot_gpr_16 | 0u); + ctx.gpr[7] = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x088E7498u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 163u, 0x089088F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E7498u) goto L_088E7498; AOT_REGCACHE_SYNC_OUT(); return; L_088E7498: { const bool branch_taken = 0u == 0u; - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (aot_gpr_2 | 0u); if (branch_taken) { goto L_088E7628; } @@ -8025,8 +8026,8 @@ L_088E7498: } L_088E74A0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(1360))); - aot_gpr_16 = (0u | 6u); - { const bool branch_taken = aot_gpr_4 != aot_gpr_16; + ctx.gpr[16] = (0u | 6u); + { const bool branch_taken = aot_gpr_4 != ctx.gpr[16]; // nop if (branch_taken) { goto L_088E750C; @@ -8049,27 +8050,27 @@ L_088E74B0: L_088E74CC: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(80))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[30] + static_cast(64))); - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[30] + static_cast(0))); aot_gpr_6 = (ctx.gpr[7] & aot_gpr_6); aot_gpr_6 = (0u < aot_gpr_6 ? 1u : 0u); aot_gpr_6 = (aot_gpr_6 & 255u); if (aot_gpr_6 != 0u) { - aot_gpr_16 = (0u | 218u); + ctx.gpr[16] = (0u | 218u); goto L_088E74F0; } goto L_088E74F0; L_088E74F0: aot_gpr_6 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_18 | 0u); - ctx.gpr[7] = (aot_gpr_16 | 0u); + ctx.gpr[7] = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x088E7504u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 163u, 0x089088F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E7504u) goto L_088E7504; AOT_REGCACHE_SYNC_OUT(); return; L_088E7504: { const bool branch_taken = 0u == 0u; - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (aot_gpr_2 | 0u); if (branch_taken) { goto L_088E7628; } @@ -8078,10 +8079,10 @@ L_088E7504: L_088E750C: aot_gpr_31 = (0x088E7514u); aot_gpr_4 = (aot_gpr_18 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E7514u) goto L_088E7514; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E7514u) goto L_088E7514; AOT_REGCACHE_SYNC_OUT(); return; L_088E7514: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_088E75E4; @@ -8090,7 +8091,7 @@ L_088E7514: } L_088E751C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(1360))); - { const bool branch_taken = aot_gpr_4 == aot_gpr_16; + { const bool branch_taken = aot_gpr_4 == ctx.gpr[16]; // nop if (branch_taken) { goto L_088E75E4; @@ -8117,7 +8118,7 @@ L_088E755C: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23228))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23232))); aot_gpr_5 = (ctx.gpr[3] & aot_gpr_5); - aot_gpr_4 = (ctx.gpr[2] & aot_gpr_4); + aot_gpr_4 = (aot_gpr_2 & aot_gpr_4); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23236))); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23240))); { const bool branch_taken = aot_gpr_4 != aot_gpr_6; @@ -8160,7 +8161,7 @@ L_088E75A4: AOT_REGCACHE_SYNC_OUT(); return; L_088E75BC: { const bool branch_taken = 0u == 0u; - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (aot_gpr_2 | 0u); if (branch_taken) { goto L_088E7628; } @@ -8177,14 +8178,14 @@ L_088E75C4: AOT_REGCACHE_SYNC_OUT(); return; L_088E75DC: { const bool branch_taken = 0u == 0u; - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (aot_gpr_2 | 0u); if (branch_taken) { goto L_088E7628; } goto L_088E75E4; } L_088E75E4: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(80))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(80))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[30] + static_cast(64))); aot_gpr_5 = (0u | 214u); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[30] + static_cast(0))); @@ -8201,27 +8202,27 @@ L_088E760C: ctx.gpr[7] = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_18 | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x088E7624u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 163u, 0x089088F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E7624u) goto L_088E7624; AOT_REGCACHE_SYNC_OUT(); return; L_088E7624: - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (aot_gpr_2 | 0u); goto L_088E7628; L_088E7628: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088E7638u); aot_gpr_6 = (aot_gpr_18 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E7638u) goto L_088E7638; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E7638u) goto L_088E7638; AOT_REGCACHE_SYNC_OUT(); return; L_088E7638: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(8))); aot_gpr_4 = (aot_gpr_4 | 1u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(8), aot_gpr_4); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(40))); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(32))); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(8), aot_gpr_4); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(40))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(32))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(32))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(aot_fpr_13)) && aot_fpr_12 == aot_fpr_13)) ? 0x00800000u : 0u); // nop @@ -8235,16 +8236,16 @@ L_088E7638: L_088E7660: aot_fpr_12 = std::bit_cast(0u); aot_gpr_31 = (0x088E766Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 73u, 0x08890474u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E766Cu) goto L_088E766C; AOT_REGCACHE_SYNC_OUT(); return; L_088E766C: aot_gpr_31 = (0x088E7674u); aot_gpr_4 = (aot_gpr_18 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E7674u) goto L_088E7674; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E7674u) goto L_088E7674; AOT_REGCACHE_SYNC_OUT(); return; L_088E7674: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088E7694; @@ -8266,7 +8267,7 @@ L_088E7694: ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); ctx.fpr[26] = std::bit_cast(aot_run_words[3]); - aot_gpr_16 = aot_run_words[4]; + ctx.gpr[16] = aot_run_words[4]; ctx.gpr[17] = aot_run_words[5]; aot_gpr_18 = aot_run_words[6]; ctx.gpr[19] = aot_run_words[7]; @@ -8285,23 +8286,23 @@ L_088E7694: AOT_REGCACHE_SYNC_OUT(); return; L_088E76D4: ctx.gpr[29] = (ctx.gpr[29] + static_cast(-288)); - { const std::uint32_t aot_run_words[9]{std::bit_cast(aot_fpr_20), aot_gpr_16, ctx.gpr[17], aot_gpr_18, ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_31}; + { const std::uint32_t aot_run_words[9]{std::bit_cast(aot_fpr_20), ctx.gpr[16], ctx.gpr[17], aot_gpr_18, ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_31}; aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(240), aot_run_words); } ctx.gpr[17] = (aot_gpr_5 | 0u); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_18 = (0u | 0u); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1929)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(1929)))))); aot_gpr_5 = (aot_gpr_4 << 5u); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); aot_gpr_31 = (0x088E7728u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E7728u) goto L_088E7728; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E7728u) goto L_088E7728; AOT_REGCACHE_SYNC_OUT(); return; L_088E7728: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { @@ -8326,7 +8327,7 @@ L_088E7750: aot_gpr_18 = (ctx.gpr[17] | 0u); goto L_088E7754; L_088E7754: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(236))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(236))); aot_gpr_4 = (aot_gpr_4 & 256u); aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); @@ -8347,7 +8348,7 @@ L_088E776C: goto L_088E7778; } L_088E7778: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1744))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1744))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_4 = (aot_gpr_5 < aot_gpr_4 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; @@ -8358,7 +8359,7 @@ L_088E7778: goto L_088E778C; } L_088E778C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2236))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2236))); aot_gpr_5 = (0u | 11u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -8368,10 +8369,10 @@ L_088E778C: goto L_088E779C; } L_088E779C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(460))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(460))); aot_gpr_4 = (aot_gpr_4 & 8192u); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(460))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(460))); goto L_088E77E0; } goto L_088E77AC; @@ -8400,7 +8401,7 @@ L_088E77BC: goto L_088E77C4; } L_088E77C4: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x088E77D0u); aot_gpr_5 = (aot_gpr_18 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0055_entry, 55u, 384u, 0x088E3180u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E77D0u) goto L_088E77D0; @@ -8431,16 +8432,16 @@ L_088E77E0: goto L_088E77EC; } L_088E77EC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2228))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2228))); ctx.gpr[20] = (0u | 17u); if (aot_gpr_4 == ctx.gpr[20]) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(92))); goto L_088E782C; } goto L_088E77FC; L_088E77FC: { const bool branch_taken = 0u == 0u; - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2228))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2228))); if (branch_taken) { goto L_088E780C; } @@ -8457,12 +8458,12 @@ L_088E7804: L_088E780C: aot_gpr_5 = (0u | 22u); if (aot_gpr_4 == aot_gpr_5) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(92))); goto L_088E782C; } goto L_088E7818; L_088E7818: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2228))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2228))); aot_gpr_5 = (0u | 1u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -8472,7 +8473,7 @@ L_088E7818: goto L_088E7828; } L_088E7828: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(92))); goto L_088E782C; L_088E782C: aot_gpr_5 = (aot_gpr_4 + static_cast(216)); @@ -8480,12 +8481,12 @@ L_088E782C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); jump_target = aot_gpr_5; aot_gpr_31 = (0x088E7840u); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E7840u) goto L_088E7840; AOT_REGCACHE_SYNC_OUT(); return; L_088E7840: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(8))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(8))); aot_gpr_4 = (aot_gpr_4 & 512u); aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); @@ -8497,23 +8498,23 @@ L_088E7840: goto L_088E7858; } L_088E7858: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(92))); aot_gpr_5 = (aot_gpr_4 + static_cast(216)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); jump_target = aot_gpr_5; aot_gpr_31 = (0x088E7870u); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E7870u) goto L_088E7870; AOT_REGCACHE_SYNC_OUT(); return; L_088E7870: aot_gpr_31 = (0x088E7878u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0006_entry, 6u, 563u, 0x0881F274u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E7878u) goto L_088E7878; AOT_REGCACHE_SYNC_OUT(); return; L_088E7878: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_088E78E8; @@ -8521,31 +8522,31 @@ L_088E7878: goto L_088E7880; } L_088E7880: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(92))); aot_gpr_5 = (aot_gpr_4 + static_cast(216)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); jump_target = aot_gpr_5; aot_gpr_31 = (0x088E7898u); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E7898u) goto L_088E7898; AOT_REGCACHE_SYNC_OUT(); return; L_088E7898: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(36))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(36))); aot_gpr_5 = (aot_gpr_4 + static_cast(8)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); jump_target = aot_gpr_5; aot_gpr_31 = (0x088E78B0u); - aot_gpr_4 = (ctx.gpr[2] + aot_gpr_4); + aot_gpr_4 = (aot_gpr_2 + aot_gpr_4); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E78B0u) goto L_088E78B0; AOT_REGCACHE_SYNC_OUT(); return; L_088E78B0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30640))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); - aot_gpr_5 = (ctx.gpr[2] << 6u); + aot_gpr_5 = (aot_gpr_2 << 6u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(44)))))); aot_gpr_4 = (aot_gpr_4 & 4u); @@ -8583,7 +8584,7 @@ L_088E78E8: goto L_088E78F0; } L_088E78F0: - aot_gpr_4 = (aot_gpr_16 + static_cast(48)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -8683,7 +8684,7 @@ L_088E7978: } goto L_088E7990; L_088E7990: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(80))); aot_gpr_4 = (0u | 0u); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(0))); aot_gpr_6 = (aot_gpr_6 & 32768u); @@ -8697,11 +8698,11 @@ L_088E7990: L_088E79B0: aot_gpr_6 = (aot_gpr_4 | 0u); aot_gpr_31 = (0x088E79BCu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E79BCu) goto L_088E79BC; AOT_REGCACHE_SYNC_OUT(); return; L_088E79BC: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_088E7A10; @@ -8723,7 +8724,7 @@ L_088E79C8: goto L_088E79DC; } L_088E79DC: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(80))); aot_gpr_4 = (0u | 0u); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(0))); aot_gpr_6 = (aot_gpr_6 & 32768u); @@ -8737,11 +8738,11 @@ L_088E79DC: L_088E79FC: aot_gpr_6 = (aot_gpr_4 | 0u); aot_gpr_31 = (0x088E7A08u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E7A08u) goto L_088E7A08; AOT_REGCACHE_SYNC_OUT(); return; L_088E7A08: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088E7A68; @@ -8750,11 +8751,11 @@ L_088E7A08: } L_088E7A10: aot_gpr_31 = (0x088E7A18u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E7A18u) goto L_088E7A18; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E7A18u) goto L_088E7A18; AOT_REGCACHE_SYNC_OUT(); return; L_088E7A18: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088E7A50; @@ -8762,7 +8763,7 @@ L_088E7A18: goto L_088E7A20; } L_088E7A20: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2228))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2228))); aot_gpr_5 = (0u | 16u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -8772,7 +8773,7 @@ L_088E7A20: goto L_088E7A30; } L_088E7A30: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(3261)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(3261)))))); aot_gpr_4 = (aot_gpr_4 & 2u); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -8782,20 +8783,20 @@ L_088E7A30: goto L_088E7A40; } L_088E7A40: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(456))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(456))); aot_gpr_4 = (aot_gpr_4 | 4u); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(456), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(456), aot_gpr_4); if (branch_taken) { goto L_088E7A60; } goto L_088E7A50; } L_088E7A50: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(456))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(456))); aot_gpr_5 = (0u + static_cast(-5)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(456), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(456), aot_gpr_4); goto L_088E7A60; L_088E7A60: { const bool branch_taken = 0u == 0u; @@ -8806,11 +8807,11 @@ L_088E7A60: goto L_088E7A68; } L_088E7A68: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1929)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(1929)))))); aot_gpr_5 = (aot_gpr_4 << 5u); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); { const bool branch_taken = aot_gpr_4 == 0u; @@ -8821,11 +8822,11 @@ L_088E7A68: goto L_088E7A8C; } L_088E7A8C: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1929)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(1929)))))); aot_gpr_5 = (aot_gpr_4 << 5u); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); ctx.gpr[21] = (0u | 1u); @@ -8851,11 +8852,11 @@ L_088E7AB4: } L_088E7AD0: aot_gpr_31 = (0x088E7AD8u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E7AD8u) goto L_088E7AD8; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E7AD8u) goto L_088E7AD8; AOT_REGCACHE_SYNC_OUT(); return; L_088E7AD8: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_088E7B54; @@ -8863,7 +8864,7 @@ L_088E7AD8: goto L_088E7AE0; } L_088E7AE0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2228))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2228))); { const bool branch_taken = aot_gpr_4 == ctx.gpr[20]; // nop if (branch_taken) { @@ -8872,7 +8873,7 @@ L_088E7AE0: goto L_088E7AEC; } L_088E7AEC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2244))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2244))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -8881,7 +8882,7 @@ L_088E7AEC: goto L_088E7AF8; } L_088E7AF8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2244))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2244))); aot_gpr_5 = (0u | 1u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -8891,7 +8892,7 @@ L_088E7AF8: goto L_088E7B08; } L_088E7B08: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1364))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1364))); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(20))); aot_gpr_4 = (aot_gpr_4 & 64u); { const bool branch_taken = aot_gpr_4 != 0u; @@ -8917,10 +8918,10 @@ L_088E7B1C: L_088E7B38: aot_gpr_31 = (0x088E7B40u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E7B40u) goto L_088E7B40; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E7B40u) goto L_088E7B40; AOT_REGCACHE_SYNC_OUT(); return; L_088E7B40: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x088E7B4Cu); aot_gpr_5 = (aot_gpr_18 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0055_entry, 55u, 384u, 0x088E3180u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E7B4Cu) goto L_088E7B4C; @@ -8947,7 +8948,7 @@ L_088E7B54: goto L_088E7B70; } L_088E7B70: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2228))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2228))); aot_gpr_5 = (0u | 16u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; aot_gpr_18 = (ctx.gpr[17] | 0u); @@ -8957,17 +8958,17 @@ L_088E7B70: goto L_088E7B80; } L_088E7B80: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x088E7B8Cu); aot_gpr_5 = (0u | 16u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 240u, 0x08908D60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E7B8Cu) goto L_088E7B8C; AOT_REGCACHE_SYNC_OUT(); return; L_088E7B8C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(456))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(456))); aot_gpr_5 = (0u + static_cast(-5)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(456), aot_gpr_4); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(456), aot_gpr_4); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(80))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(64))); ctx.gpr[17] = (0u | 0u); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(0))); @@ -8985,13 +8986,13 @@ L_088E7BC8: aot_gpr_6 = (aot_gpr_4 | 0u); aot_gpr_4 = (16640u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x088E7BE0u); ctx.gpr[7] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 163u, 0x089088F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E7BE0u) goto L_088E7BE0; AOT_REGCACHE_SYNC_OUT(); return; L_088E7BE0: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); aot_gpr_4 = (aot_gpr_4 | 1u); aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(8), aot_gpr_4); @@ -9017,8 +9018,8 @@ L_088E7C18: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x088E7C28u); - aot_gpr_6 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E7C28u) goto L_088E7C28; + aot_gpr_6 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E7C28u) goto L_088E7C28; AOT_REGCACHE_SYNC_OUT(); return; L_088E7C28: { const bool branch_taken = 0u == 0u; @@ -9043,17 +9044,17 @@ L_088E7C30: } L_088E7C4C: aot_gpr_31 = (0x088E7C54u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E7C54u) goto L_088E7C54; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E7C54u) goto L_088E7C54; AOT_REGCACHE_SYNC_OUT(); return; L_088E7C54: - if (ctx.gpr[2] == 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2244))); + if (aot_gpr_2 == 0u) { + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2244))); goto L_088E7C7C; } goto L_088E7C5C; L_088E7C5C: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(3156))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(3156))); aot_gpr_4 = (16256u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); @@ -9066,7 +9067,7 @@ L_088E7C5C: goto L_088E7C78; } L_088E7C78: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2244))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2244))); goto L_088E7C7C; L_088E7C7C: aot_gpr_5 = (0u | 2u); @@ -9078,7 +9079,7 @@ L_088E7C7C: goto L_088E7C88; } L_088E7C88: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2244))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2244))); aot_gpr_5 = (0u | 6u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -9088,7 +9089,7 @@ L_088E7C88: goto L_088E7C98; } L_088E7C98: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2244))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2244))); aot_gpr_5 = (0u | 4u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -9098,7 +9099,7 @@ L_088E7C98: goto L_088E7CA8; } L_088E7CA8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2228))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2228))); aot_gpr_5 = (0u | 16u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -9108,17 +9109,17 @@ L_088E7CA8: goto L_088E7CB8; } L_088E7CB8: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x088E7CC4u); aot_gpr_5 = (0u | 16u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 240u, 0x08908D60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E7CC4u) goto L_088E7CC4; AOT_REGCACHE_SYNC_OUT(); return; L_088E7CC4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(456))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(456))); aot_gpr_5 = (0u + static_cast(-5)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(456), aot_gpr_4); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(456), aot_gpr_4); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(80))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(64))); ctx.gpr[17] = (0u | 0u); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(0))); @@ -9136,13 +9137,13 @@ L_088E7D00: aot_gpr_6 = (aot_gpr_4 | 0u); aot_gpr_4 = (16640u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x088E7D18u); ctx.gpr[7] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 163u, 0x089088F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E7D18u) goto L_088E7D18; AOT_REGCACHE_SYNC_OUT(); return; L_088E7D18: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); aot_gpr_4 = (aot_gpr_4 | 1u); aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(8), aot_gpr_4); @@ -9168,8 +9169,8 @@ L_088E7D50: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x088E7D60u); - aot_gpr_6 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E7D60u) goto L_088E7D60; + aot_gpr_6 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E7D60u) goto L_088E7D60; AOT_REGCACHE_SYNC_OUT(); return; L_088E7D60: { const bool branch_taken = 0u == 0u; @@ -9180,7 +9181,7 @@ L_088E7D60: goto L_088E7D68; } L_088E7D68: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x088E7D74u); aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 50u, 0x0891034Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E7D74u) goto L_088E7D74; @@ -9212,7 +9213,7 @@ L_088E7D98: aot_fpr_20 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (std::bit_cast(aot_fpr_20)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); - aot_gpr_4 = (aot_gpr_16 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(16)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -9233,7 +9234,7 @@ L_088E7D98: aot_fpr_12 = std::bit_cast(aot_gpr_5); aot_gpr_5 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_5); - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -9281,7 +9282,7 @@ L_088E7D98: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_4 = (aot_gpr_16 + static_cast(48)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -9316,7 +9317,7 @@ L_088E7D98: aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); - aot_gpr_4 = (aot_gpr_16 + static_cast(32)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(32)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -9365,7 +9366,7 @@ L_088E7E4C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0037_entry, 37u, 487u, 0x0889ACD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E7E84u) goto L_088E7E84; AOT_REGCACHE_SYNC_OUT(); return; L_088E7E84: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088E7F14; @@ -9398,11 +9399,11 @@ L_088E7E8C: } L_088E7ED4: aot_gpr_31 = (0x088E7EDCu); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E7EDCu) goto L_088E7EDC; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E7EDCu) goto L_088E7EDC; AOT_REGCACHE_SYNC_OUT(); return; L_088E7EDC: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_088E7F0C; @@ -9410,19 +9411,19 @@ L_088E7EDC: goto L_088E7EE4; } L_088E7EE4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(460))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(460))); aot_gpr_5 = (64u << 16u); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(460), aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(1748), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(460), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(1748), 0u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-20328))); aot_gpr_31 = (0x088E7F04u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 598u, 0x0890A484u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E7F04u) goto L_088E7F04; AOT_REGCACHE_SYNC_OUT(); return; L_088E7F04: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(1772), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(1772), aot_gpr_4); goto L_088E7F0C; L_088E7F0C: { const bool branch_taken = 0u == 0u; @@ -9433,7 +9434,7 @@ L_088E7F0C: goto L_088E7F14; } L_088E7F14: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(1716), ctx.gpr[17]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(1716), ctx.gpr[17]); { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { @@ -9442,13 +9443,13 @@ L_088E7F14: goto L_088E7F20; } L_088E7F20: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1716))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1716))); aot_gpr_31 = (0x088E7F2Cu); - aot_gpr_5 = (aot_gpr_16 + static_cast(1716)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E7F2Cu) goto L_088E7F2C; + aot_gpr_5 = (ctx.gpr[16] + static_cast(1716)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E7F2Cu) goto L_088E7F2C; AOT_REGCACHE_SYNC_OUT(); return; L_088E7F2C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1716))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1716))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -9457,9 +9458,9 @@ L_088E7F2C: goto L_088E7F38; } L_088E7F38: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1716))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1716))); aot_gpr_31 = (0x088E7F44u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 405u, 0x08909804u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E7F44u) goto L_088E7F44; AOT_REGCACHE_SYNC_OUT(); return; L_088E7F44: @@ -9483,9 +9484,9 @@ L_088E7F4C: goto L_088E7F64; } L_088E7F64: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2256))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2256))); aot_gpr_31 = (0x088E7F70u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 397u, 0x08909744u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E7F70u) goto L_088E7F70; AOT_REGCACHE_SYNC_OUT(); return; L_088E7F70: @@ -9502,7 +9503,7 @@ L_088E7F78: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E7F80u) goto L_088E7F80; AOT_REGCACHE_SYNC_OUT(); return; L_088E7F80: - { const bool branch_taken = aot_gpr_16 != ctx.gpr[2]; + { const bool branch_taken = ctx.gpr[16] != aot_gpr_2; ctx.gpr[20] = (2236u << 16u); if (branch_taken) { goto L_088E7FB4; @@ -9516,7 +9517,7 @@ L_088E7F88: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0101_entry, 101u, 124u, 0x08999134u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E7F94u) goto L_088E7F94; AOT_REGCACHE_SYNC_OUT(); return; L_088E7F94: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088E7FB4; @@ -9524,9 +9525,9 @@ L_088E7F94: goto L_088E7F9C; } L_088E7F9C: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2256))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2256))); aot_gpr_31 = (0x088E7FA8u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 397u, 0x08909744u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E7FA8u) goto L_088E7FA8; AOT_REGCACHE_SYNC_OUT(); return; L_088E7FA8: @@ -9535,10 +9536,10 @@ L_088E7FA8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0134_entry, 134u, 36u, 0x08A1C438u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E7FB0u) goto L_088E7FB0; AOT_REGCACHE_SYNC_OUT(); return; L_088E7FB0: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(3228), std::bit_cast(ctx.fpr[0])); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(3228), std::bit_cast(ctx.fpr[0])); goto L_088E7FB4; L_088E7FB4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2228))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2228))); aot_gpr_5 = (0u | 16u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -9548,7 +9549,7 @@ L_088E7FB4: goto L_088E7FC4; } L_088E7FC4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2228))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2228))); aot_gpr_5 = (0u | 12u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -9559,11 +9560,11 @@ L_088E7FC4: } L_088E7FD4: aot_gpr_31 = (0x088E7FDCu); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E7FDCu) goto L_088E7FDC; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E7FDCu) goto L_088E7FDC; AOT_REGCACHE_SYNC_OUT(); return; L_088E7FDC: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0057_entry, 57u, 5u, 0x088E807Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; @@ -9576,7 +9577,7 @@ L_088E7FE4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E7FECu) goto L_088E7FEC; AOT_REGCACHE_SYNC_OUT(); return; L_088E7FEC: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0057_entry, 57u, 5u, 0x088E807Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; @@ -9589,7 +9590,7 @@ L_088E7FF4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E7FFCu) goto L_088E7FFC; AOT_REGCACHE_SYNC_OUT(); return; L_088E7FFC: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(3262)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(3262)))))); ctx.pc = 0x088E8000u; AOT_REGCACHE_SYNC_OUT(); return; } diff --git a/profiles/vcs/generated/generated_unit_0057.cpp b/profiles/vcs/generated/generated_unit_0057.cpp index bb44835..cbf97a5 100644 --- a/profiles/vcs/generated/generated_unit_0057.cpp +++ b/profiles/vcs/generated/generated_unit_0057.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0057[4095] = { }; void recomp_unit_0057_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,16,29,31,6 fprs=12,13,20,22 gpr_occ=4470 fpr_occ=306 gpr_total=5776 fpr_total=379 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,31,2,6,16 fprs=12,13,20,22 gpr_occ=4576 fpr_occ=306 gpr_total=6110 fpr_total=379 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; - std::uint32_t aot_gpr_16 = ctx.gpr[16]; - std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; + std::uint32_t aot_gpr_2 = ctx.gpr[2]; std::uint32_t aot_gpr_6 = ctx.gpr[6]; + std::uint32_t aot_gpr_16 = ctx.gpr[16]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_20 = ctx.fpr[20]; float aot_fpr_22 = ctx.fpr[22]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[16] = aot_gpr_16; ctx.gpr[29] = aot_gpr_29; ctx.gpr[31] = aot_gpr_31; ctx.gpr[6] = aot_gpr_6; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; ctx.fpr[22] = aot_fpr_22; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_6 = ctx.gpr[6]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_22 = ctx.fpr[22]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[31] = aot_gpr_31; ctx.gpr[2] = aot_gpr_2; ctx.gpr[6] = aot_gpr_6; ctx.gpr[16] = aot_gpr_16; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; ctx.fpr[22] = aot_fpr_22; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_2 = ctx.gpr[2]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_16 = ctx.gpr[16]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_22 = ctx.fpr[22]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -1119,10 +1120,10 @@ L_088E8054: L_088E807C: aot_gpr_31 = (0x088E8084u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E8084u) goto L_088E8084; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E8084u) goto L_088E8084; AOT_REGCACHE_SYNC_OUT(); return; L_088E8084: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088E80B8; @@ -1136,7 +1137,7 @@ L_088E808C: AOT_REGCACHE_SYNC_OUT(); return; L_088E8094: aot_gpr_31 = (0x088E809Cu); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0098_entry, 98u, 758u, 0x0898E250u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E809Cu) goto L_088E809C; AOT_REGCACHE_SYNC_OUT(); return; L_088E809C: @@ -1172,7 +1173,7 @@ L_088E80C0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 620u, 0x08906DE4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E80C8u) goto L_088E80C8; AOT_REGCACHE_SYNC_OUT(); return; L_088E80C8: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_088E814C; @@ -1339,10 +1340,10 @@ L_088E81E8: L_088E81F8: aot_gpr_31 = (0x088E8200u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E8200u) goto L_088E8200; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E8200u) goto L_088E8200; AOT_REGCACHE_SYNC_OUT(); return; L_088E8200: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088E8230; @@ -1352,10 +1353,10 @@ L_088E8200: L_088E8208: aot_gpr_31 = (0x088E8210u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E8210u) goto L_088E8210; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E8210u) goto L_088E8210; AOT_REGCACHE_SYNC_OUT(); return; L_088E8210: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088E829C; @@ -1377,17 +1378,17 @@ L_088E8218: L_088E8230: aot_gpr_31 = (0x088E8238u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E8238u) goto L_088E8238; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E8238u) goto L_088E8238; AOT_REGCACHE_SYNC_OUT(); return; L_088E8238: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x088E8248u); - aot_gpr_6 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0055_entry, 55u, 313u, 0x088E2C98u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E8248u) goto L_088E8248; AOT_REGCACHE_SYNC_OUT(); return; L_088E8248: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { @@ -1419,10 +1420,10 @@ L_088E8264: L_088E826C: aot_gpr_31 = (0x088E8274u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E8274u) goto L_088E8274; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E8274u) goto L_088E8274; AOT_REGCACHE_SYNC_OUT(); return; L_088E8274: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_088E8288; @@ -1508,10 +1509,10 @@ L_088E82EC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E8304u) goto L_088E8304; AOT_REGCACHE_SYNC_OUT(); return; L_088E8304: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(36))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(36))); aot_gpr_5 = (aot_gpr_4 + static_cast(40)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); - aot_gpr_4 = (ctx.gpr[2] + aot_gpr_4); + aot_gpr_4 = (aot_gpr_2 + aot_gpr_4); ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); aot_gpr_5 = (aot_gpr_16 | 0u); aot_gpr_6 = (0u | 0u); @@ -1531,7 +1532,7 @@ L_088E8334: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088E8340u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E8340u) goto L_088E8340; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E8340u) goto L_088E8340; AOT_REGCACHE_SYNC_OUT(); return; L_088E8340: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(460))); @@ -1586,7 +1587,7 @@ L_088E839C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E83ACu) goto L_088E83AC; AOT_REGCACHE_SYNC_OUT(); return; L_088E83AC: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[18] == 0u; // nop if (branch_taken) { @@ -1632,7 +1633,7 @@ L_088E8400: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(32))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0)))))); - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(32))); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(32))); { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(4)); if (branch_taken) { @@ -1721,7 +1722,7 @@ L_088E8488: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 163u, 0x089088F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E84A0u) goto L_088E84A0; AOT_REGCACHE_SYNC_OUT(); return; L_088E84A0: - ctx.gpr[20] = (ctx.gpr[2] | 0u); + ctx.gpr[20] = (aot_gpr_2 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(8))); aot_gpr_4 = (aot_gpr_4 | 1u); aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(8), aot_gpr_4); @@ -1839,7 +1840,7 @@ L_088E8578: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0056_entry, 56u, 178u, 0x088E4D2Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E8580u) goto L_088E8580; AOT_REGCACHE_SYNC_OUT(); return; L_088E8580: - aot_gpr_4 = (ctx.gpr[2] & 255u); + aot_gpr_4 = (aot_gpr_2 & 255u); aot_gpr_5 = (static_cast(aot_gpr_4) < 2 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; // nop @@ -1978,10 +1979,10 @@ L_088E8664: L_088E8684: aot_gpr_31 = (0x088E868Cu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E868Cu) goto L_088E868C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E868Cu) goto L_088E868C; AOT_REGCACHE_SYNC_OUT(); return; L_088E868C: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_088E8730; @@ -2018,7 +2019,7 @@ L_088E86D8: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23228))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23232))); aot_gpr_5 = (ctx.gpr[3] & aot_gpr_5); - aot_gpr_4 = (ctx.gpr[2] & aot_gpr_4); + aot_gpr_4 = (aot_gpr_2 & aot_gpr_4); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23236))); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23240))); { const bool branch_taken = aot_gpr_4 != aot_gpr_6; @@ -2070,7 +2071,7 @@ L_088E8730: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E8740u) goto L_088E8740; AOT_REGCACHE_SYNC_OUT(); return; L_088E8740: - ctx.gpr[20] = (ctx.gpr[2] | 0u); + ctx.gpr[20] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[20] == 0u; // nop if (branch_taken) { @@ -2103,7 +2104,7 @@ L_088E8770: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(32))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0)))))); - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(32))); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(32))); { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(4)); if (branch_taken) { @@ -2195,7 +2196,7 @@ L_088E87F4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 607u, 0x08AD3698u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E87FCu) goto L_088E87FC; AOT_REGCACHE_SYNC_OUT(); return; L_088E87FC: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088E898C; @@ -2206,10 +2207,10 @@ L_088E8804: ctx.gpr[19] = (0u | 0u); aot_gpr_31 = (0x088E8810u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E8810u) goto L_088E8810; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E8810u) goto L_088E8810; AOT_REGCACHE_SYNC_OUT(); return; L_088E8810: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088E8894; @@ -2295,7 +2296,7 @@ L_088E889C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E88ACu) goto L_088E88AC; AOT_REGCACHE_SYNC_OUT(); return; L_088E88AC: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_088E8900; @@ -2310,7 +2311,7 @@ L_088E88B4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E88C4u) goto L_088E88C4; AOT_REGCACHE_SYNC_OUT(); return; L_088E88C4: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_088E8900; @@ -2325,7 +2326,7 @@ L_088E88CC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E88DCu) goto L_088E88DC; AOT_REGCACHE_SYNC_OUT(); return; L_088E88DC: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_088E8900; @@ -2352,7 +2353,7 @@ L_088E8900: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 163u, 0x089088F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E8918u) goto L_088E8918; AOT_REGCACHE_SYNC_OUT(); return; L_088E8918: - ctx.gpr[20] = (ctx.gpr[2] | 0u); + ctx.gpr[20] = (aot_gpr_2 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(8))); aot_gpr_4 = (aot_gpr_4 | 1u); aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(8), aot_gpr_4); @@ -2420,11 +2421,11 @@ L_088E8994: aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x088E89A8u); aot_gpr_6 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E89A8u) goto L_088E89A8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E89A8u) goto L_088E89A8; AOT_REGCACHE_SYNC_OUT(); return; L_088E89A8: { std::uint32_t aot_run_words[9]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(240), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(240), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); aot_gpr_16 = aot_run_words[1]; ctx.gpr[17] = aot_run_words[2]; @@ -2436,15 +2437,15 @@ L_088E89A8: aot_gpr_31 = aot_run_words[8]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(288)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(288)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_088E89D4: - aot_gpr_29 = (aot_gpr_29 + static_cast(-112)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-112)); { const std::uint32_t aot_run_words[7]{std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_22), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(80), aot_run_words); } + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(80), aot_run_words); } aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(2236))); aot_gpr_6 = (0u | 10u); { const bool branch_taken = aot_gpr_5 == aot_gpr_6; @@ -2540,27 +2541,27 @@ L_088E8A74: goto L_088E8A80; } L_088E8A80: - aot_gpr_4 = (aot_gpr_29 + static_cast(8)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(8)); aot_gpr_31 = (0x088E8A8Cu); aot_gpr_5 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 28u, 0x089101ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E8A8Cu) goto L_088E8A8C; AOT_REGCACHE_SYNC_OUT(); return; L_088E8A8C: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(8))); ctx.gpr[17] = (aot_gpr_16 + static_cast(48)); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_fpr_20 = aot_fpr_12 - aot_fpr_13; - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), std::bit_cast(aot_fpr_20)); - aot_gpr_4 = (aot_gpr_29 + static_cast(16)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), std::bit_cast(aot_fpr_20)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(16)); aot_gpr_31 = (0x088E8AACu); aot_gpr_5 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 28u, 0x089101ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E8AACu) goto L_088E8AAC; AOT_REGCACHE_SYNC_OUT(); return; L_088E8AAC: - ctx.fpr[14] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); + ctx.fpr[14] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(20))); ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); ctx.fpr[14] = ctx.fpr[14] - ctx.fpr[15]; - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), std::bit_cast(ctx.fpr[14])); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), std::bit_cast(ctx.fpr[14])); { const float fs = aot_fpr_20; const float ft = aot_fpr_20; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_20 = std::bit_cast(0x7FC00000u); else aot_fpr_20 = fs * ft; } { const float fs = ctx.fpr[14]; const float ft = ctx.fpr[14]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_20 = aot_fpr_20 + aot_fpr_12; @@ -2576,25 +2577,25 @@ L_088E8AAC: goto L_088E8AE0; } L_088E8AE0: - aot_gpr_4 = (aot_gpr_29 + static_cast(48)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(48)); aot_gpr_31 = (0x088E8AECu); aot_gpr_5 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 28u, 0x089101ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E8AECu) goto L_088E8AEC; AOT_REGCACHE_SYNC_OUT(); return; L_088E8AEC: - aot_fpr_22 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(48))); - aot_gpr_4 = (aot_gpr_29 + static_cast(56)); + aot_fpr_22 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(48))); + aot_gpr_4 = (ctx.gpr[29] + static_cast(56)); aot_gpr_31 = (0x088E8AFCu); aot_gpr_5 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 28u, 0x089101ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E8AFCu) goto L_088E8AFC; AOT_REGCACHE_SYNC_OUT(); return; L_088E8AFC: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(60))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(60))); aot_gpr_4 = (aot_gpr_16 + static_cast(48)); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_22), std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_13)}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(32), aot_run_words); } - aot_gpr_5 = (aot_gpr_29 + static_cast(32)); + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(32), aot_run_words); } + aot_gpr_5 = (ctx.gpr[29] + static_cast(32)); aot_gpr_31 = (0x088E8B20u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 34u, 0x08910218u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E8B20u) goto L_088E8B20; @@ -2633,7 +2634,7 @@ L_088E8B5C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088E8B68u); aot_gpr_5 = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E8B68u) goto L_088E8B68; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E8B68u) goto L_088E8B68; AOT_REGCACHE_SYNC_OUT(); return; L_088E8B68: { const bool branch_taken = 0u == 0u; @@ -2680,7 +2681,7 @@ L_088E8BAC: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088E8BB8u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E8BB8u) goto L_088E8BB8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E8BB8u) goto L_088E8BB8; AOT_REGCACHE_SYNC_OUT(); return; L_088E8BB8: { const bool branch_taken = 0u == 0u; @@ -2703,32 +2704,32 @@ L_088E8BC0: goto L_088E8BD8; } L_088E8BD8: - aot_gpr_4 = (aot_gpr_29 + static_cast(64)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(64)); aot_gpr_31 = (0x088E8BE4u); aot_gpr_5 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 28u, 0x089101ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E8BE4u) goto L_088E8BE4; AOT_REGCACHE_SYNC_OUT(); return; L_088E8BE4: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(64))); aot_gpr_4 = (ctx.gpr[17] << 2u); ctx.gpr[19] = (aot_gpr_16 + aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(1784))); aot_gpr_4 = (aot_gpr_4 + static_cast(48)); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_fpr_20 = aot_fpr_12 - aot_fpr_13; - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), std::bit_cast(aot_fpr_20)); - aot_gpr_4 = (aot_gpr_29 + static_cast(72)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), std::bit_cast(aot_fpr_20)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(72)); aot_gpr_31 = (0x088E8C10u); aot_gpr_5 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 28u, 0x089101ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E8C10u) goto L_088E8C10; AOT_REGCACHE_SYNC_OUT(); return; L_088E8C10: - ctx.fpr[14] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(76))); + ctx.fpr[14] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(76))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(1784))); aot_gpr_4 = (aot_gpr_4 + static_cast(48)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_fpr_12 = ctx.fpr[14] - aot_fpr_12; - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), std::bit_cast(aot_fpr_12)); { const float fs = aot_fpr_20; const float ft = aot_fpr_20; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } { const float fs = aot_fpr_12; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = aot_fpr_13 + aot_fpr_12; @@ -2748,7 +2749,7 @@ L_088E8C50: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088E8C5Cu); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E8C5Cu) goto L_088E8C5C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E8C5Cu) goto L_088E8C5C; AOT_REGCACHE_SYNC_OUT(); return; L_088E8C5C: ctx.gpr[18] = (0u | 1u); @@ -2784,7 +2785,7 @@ L_088E8C8C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088E8C98u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E8C98u) goto L_088E8C98; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E8C98u) goto L_088E8C98; AOT_REGCACHE_SYNC_OUT(); return; L_088E8C98: { const bool branch_taken = 0u == 0u; @@ -2798,7 +2799,7 @@ L_088E8CA0: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088E8CACu); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E8CACu) goto L_088E8CAC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E8CACu) goto L_088E8CAC; AOT_REGCACHE_SYNC_OUT(); return; L_088E8CAC: { const bool branch_taken = 0u == 0u; @@ -2809,10 +2810,10 @@ L_088E8CAC: goto L_088E8CB4; } L_088E8CB4: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); aot_gpr_31 = (0x088E8CC4u); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 28u, 0x08964540u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E8CC4u) goto L_088E8CC4; AOT_REGCACHE_SYNC_OUT(); return; L_088E8CC4: @@ -2820,7 +2821,7 @@ L_088E8CC4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088E8CD4u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E8CD4u) goto L_088E8CD4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E8CD4u) goto L_088E8CD4; AOT_REGCACHE_SYNC_OUT(); return; L_088E8CD4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(688))); @@ -2863,7 +2864,7 @@ L_088E8D14: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E8D24u) goto L_088E8D24; AOT_REGCACHE_SYNC_OUT(); return; L_088E8D24: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -2898,20 +2899,20 @@ L_088E8D54: L_088E8D6C: aot_gpr_31 = (0x088E8D74u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E8D74u) goto L_088E8D74; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E8D74u) goto L_088E8D74; AOT_REGCACHE_SYNC_OUT(); return; L_088E8D74: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 0u); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23212))); aot_gpr_31 = (0x088E8D88u); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23216))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E8D88u) goto L_088E8D88; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E8D88u) goto L_088E8D88; AOT_REGCACHE_SYNC_OUT(); return; L_088E8D88: ctx.gpr[1] = (ctx.gpr[3] << 1u); aot_gpr_5 = (static_cast(static_cast(ctx.gpr[3]) >> 31u)); - aot_gpr_4 = (ctx.gpr[2] >> 31u); + aot_gpr_4 = (aot_gpr_2 >> 31u); aot_gpr_4 = (ctx.gpr[1] | aot_gpr_4); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23204))); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23208))); @@ -2936,10 +2937,10 @@ L_088E8DC0: L_088E8DC8: aot_gpr_31 = (0x088E8DD0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E8DD0u) goto L_088E8DD0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E8DD0u) goto L_088E8DD0; AOT_REGCACHE_SYNC_OUT(); return; L_088E8DD0: - aot_gpr_4 = (ctx.gpr[2] & 65535u); + aot_gpr_4 = (aot_gpr_2 & 65535u); aot_gpr_4 = (aot_gpr_4 & 3u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -2951,7 +2952,7 @@ L_088E8DD0: L_088E8DE0: aot_gpr_31 = (0x088E8DE8u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 454u, 0x08909B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E8DE8u) goto L_088E8DE8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08909B60, 65u, 454u, 0x08909B60u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_16, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 454u, 0x08909B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E8DE8u) goto L_088E8DE8; AOT_REGCACHE_SYNC_OUT(); return; L_088E8DE8: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); @@ -2966,20 +2967,20 @@ L_088E8DE8: L_088E8E04: aot_gpr_31 = (0x088E8E0Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E8E0Cu) goto L_088E8E0C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E8E0Cu) goto L_088E8E0C; AOT_REGCACHE_SYNC_OUT(); return; L_088E8E0C: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 0u); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23204))); aot_gpr_31 = (0x088E8E20u); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23208))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E8E20u) goto L_088E8E20; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E8E20u) goto L_088E8E20; AOT_REGCACHE_SYNC_OUT(); return; L_088E8E20: ctx.gpr[1] = (ctx.gpr[3] << 1u); aot_gpr_5 = (static_cast(static_cast(ctx.gpr[3]) >> 31u)); - aot_gpr_4 = (ctx.gpr[2] >> 31u); + aot_gpr_4 = (aot_gpr_2 >> 31u); aot_gpr_4 = (ctx.gpr[1] | aot_gpr_4); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23196))); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23200))); @@ -3050,7 +3051,7 @@ L_088E8EA4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E8EB4u) goto L_088E8EB4; AOT_REGCACHE_SYNC_OUT(); return; L_088E8EB4: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -3066,7 +3067,7 @@ L_088E8EC0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E8ED0u) goto L_088E8ED0; AOT_REGCACHE_SYNC_OUT(); return; L_088E8ED0: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -3082,7 +3083,7 @@ L_088E8EDC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E8EECu) goto L_088E8EEC; AOT_REGCACHE_SYNC_OUT(); return; L_088E8EEC: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); goto L_088E8EF0; L_088E8EF0: { const bool branch_taken = aot_gpr_4 == 0u; @@ -3115,20 +3116,20 @@ L_088E8F08: L_088E8F24: aot_gpr_31 = (0x088E8F2Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E8F2Cu) goto L_088E8F2C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E8F2Cu) goto L_088E8F2C; AOT_REGCACHE_SYNC_OUT(); return; L_088E8F2C: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 0u); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23204))); aot_gpr_31 = (0x088E8F40u); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23208))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E8F40u) goto L_088E8F40; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E8F40u) goto L_088E8F40; AOT_REGCACHE_SYNC_OUT(); return; L_088E8F40: ctx.gpr[1] = (ctx.gpr[3] << 1u); aot_gpr_5 = (static_cast(static_cast(ctx.gpr[3]) >> 31u)); - aot_gpr_4 = (ctx.gpr[2] >> 31u); + aot_gpr_4 = (aot_gpr_2 >> 31u); aot_gpr_4 = (ctx.gpr[1] | aot_gpr_4); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23196))); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23200))); @@ -3153,10 +3154,10 @@ L_088E8F78: L_088E8F80: aot_gpr_31 = (0x088E8F88u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E8F88u) goto L_088E8F88; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E8F88u) goto L_088E8F88; AOT_REGCACHE_SYNC_OUT(); return; L_088E8F88: - aot_gpr_4 = (ctx.gpr[2] & 65535u); + aot_gpr_4 = (aot_gpr_2 & 65535u); aot_gpr_4 = (aot_gpr_4 & 3u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -3178,22 +3179,22 @@ L_088E8F98: L_088E8FB4: aot_gpr_31 = (0x088E8FBCu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E8FBCu) goto L_088E8FBC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E8FBCu) goto L_088E8FBC; AOT_REGCACHE_SYNC_OUT(); return; L_088E8FBC: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 0u); ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23212))); ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23216))); ctx.gpr[7] = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x088E8FD8u); aot_gpr_6 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E8FD8u) goto L_088E8FD8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E8FD8u) goto L_088E8FD8; AOT_REGCACHE_SYNC_OUT(); return; L_088E8FD8: ctx.gpr[1] = (ctx.gpr[3] << 1u); aot_gpr_5 = (static_cast(static_cast(ctx.gpr[3]) >> 31u)); - aot_gpr_4 = (ctx.gpr[2] >> 31u); + aot_gpr_4 = (aot_gpr_2 >> 31u); aot_gpr_4 = (ctx.gpr[1] | aot_gpr_4); aot_gpr_6 = (aot_gpr_4 + ctx.gpr[18]); ctx.gpr[7] = (aot_gpr_6 < ctx.gpr[18] ? 1u : 0u); @@ -3255,7 +3256,7 @@ L_088E9044: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E9054u) goto L_088E9054; AOT_REGCACHE_SYNC_OUT(); return; L_088E9054: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -3271,7 +3272,7 @@ L_088E9060: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E9070u) goto L_088E9070; AOT_REGCACHE_SYNC_OUT(); return; L_088E9070: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); goto L_088E9074; L_088E9074: { const bool branch_taken = aot_gpr_4 != 0u; @@ -3289,7 +3290,7 @@ L_088E907C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E908Cu) goto L_088E908C; AOT_REGCACHE_SYNC_OUT(); return; L_088E908C: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); goto L_088E9090; L_088E9090: { const bool branch_taken = aot_gpr_4 != 0u; @@ -3307,7 +3308,7 @@ L_088E9098: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E90A8u) goto L_088E90A8; AOT_REGCACHE_SYNC_OUT(); return; L_088E90A8: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); goto L_088E90AC; L_088E90AC: { const bool branch_taken = aot_gpr_4 == 0u; @@ -3340,10 +3341,10 @@ L_088E90C4: L_088E90D4: aot_gpr_31 = (0x088E90DCu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E90DCu) goto L_088E90DC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E90DCu) goto L_088E90DC; AOT_REGCACHE_SYNC_OUT(); return; L_088E90DC: - aot_gpr_4 = (ctx.gpr[2] & 65535u); + aot_gpr_4 = (aot_gpr_2 & 65535u); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -3383,20 +3384,20 @@ L_088E9110: L_088E912C: aot_gpr_31 = (0x088E9134u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E9134u) goto L_088E9134; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E9134u) goto L_088E9134; AOT_REGCACHE_SYNC_OUT(); return; L_088E9134: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 0u); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23212))); aot_gpr_31 = (0x088E9148u); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23216))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E9148u) goto L_088E9148; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E9148u) goto L_088E9148; AOT_REGCACHE_SYNC_OUT(); return; L_088E9148: ctx.gpr[1] = (ctx.gpr[3] << 1u); aot_gpr_5 = (static_cast(static_cast(ctx.gpr[3]) >> 31u)); - aot_gpr_4 = (ctx.gpr[2] >> 31u); + aot_gpr_4 = (aot_gpr_2 >> 31u); aot_gpr_4 = (ctx.gpr[1] | aot_gpr_4); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23204))); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23208))); @@ -3445,10 +3446,10 @@ L_088E91A0: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(8), aot_gpr_5); aot_gpr_31 = (0x088E91C0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E91C0u) goto L_088E91C0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E91C0u) goto L_088E91C0; AOT_REGCACHE_SYNC_OUT(); return; L_088E91C0: - aot_gpr_4 = (ctx.gpr[2] & 65535u); + aot_gpr_4 = (aot_gpr_2 & 65535u); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -3488,20 +3489,20 @@ L_088E91F4: L_088E9210: aot_gpr_31 = (0x088E9218u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E9218u) goto L_088E9218; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E9218u) goto L_088E9218; AOT_REGCACHE_SYNC_OUT(); return; L_088E9218: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 0u); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23204))); aot_gpr_31 = (0x088E922Cu); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23208))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E922Cu) goto L_088E922C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E922Cu) goto L_088E922C; AOT_REGCACHE_SYNC_OUT(); return; L_088E922C: ctx.gpr[1] = (ctx.gpr[3] << 1u); aot_gpr_5 = (static_cast(static_cast(ctx.gpr[3]) >> 31u)); - aot_gpr_4 = (ctx.gpr[2] >> 31u); + aot_gpr_4 = (aot_gpr_2 >> 31u); aot_gpr_4 = (ctx.gpr[1] | aot_gpr_4); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23196))); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23200))); @@ -3526,10 +3527,10 @@ L_088E9264: L_088E926C: aot_gpr_31 = (0x088E9274u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E9274u) goto L_088E9274; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E9274u) goto L_088E9274; AOT_REGCACHE_SYNC_OUT(); return; L_088E9274: - aot_gpr_4 = (ctx.gpr[2] & 65535u); + aot_gpr_4 = (aot_gpr_2 & 65535u); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -3569,20 +3570,20 @@ L_088E92A8: L_088E92C4: aot_gpr_31 = (0x088E92CCu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E92CCu) goto L_088E92CC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E92CCu) goto L_088E92CC; AOT_REGCACHE_SYNC_OUT(); return; L_088E92CC: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 0u); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23204))); aot_gpr_31 = (0x088E92E0u); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23208))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E92E0u) goto L_088E92E0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E92E0u) goto L_088E92E0; AOT_REGCACHE_SYNC_OUT(); return; L_088E92E0: ctx.gpr[1] = (ctx.gpr[3] << 1u); aot_gpr_5 = (static_cast(static_cast(ctx.gpr[3]) >> 31u)); - aot_gpr_4 = (ctx.gpr[2] >> 31u); + aot_gpr_4 = (aot_gpr_2 >> 31u); aot_gpr_4 = (ctx.gpr[1] | aot_gpr_4); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23196))); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23200))); @@ -3649,7 +3650,7 @@ L_088E9360: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E9370u) goto L_088E9370; AOT_REGCACHE_SYNC_OUT(); return; L_088E9370: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -3678,20 +3679,20 @@ L_088E9384: L_088E93A0: aot_gpr_31 = (0x088E93A8u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E93A8u) goto L_088E93A8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E93A8u) goto L_088E93A8; AOT_REGCACHE_SYNC_OUT(); return; L_088E93A8: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 0u); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23204))); aot_gpr_31 = (0x088E93BCu); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23208))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E93BCu) goto L_088E93BC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E93BCu) goto L_088E93BC; AOT_REGCACHE_SYNC_OUT(); return; L_088E93BC: ctx.gpr[1] = (ctx.gpr[3] << 1u); aot_gpr_5 = (static_cast(static_cast(ctx.gpr[3]) >> 31u)); - aot_gpr_4 = (ctx.gpr[2] >> 31u); + aot_gpr_4 = (aot_gpr_2 >> 31u); aot_gpr_4 = (ctx.gpr[1] | aot_gpr_4); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23196))); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23200))); @@ -3760,20 +3761,20 @@ L_088E9448: L_088E9464: aot_gpr_31 = (0x088E946Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E946Cu) goto L_088E946C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E946Cu) goto L_088E946C; AOT_REGCACHE_SYNC_OUT(); return; L_088E946C: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 0u); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23188))); aot_gpr_31 = (0x088E9480u); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23192))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E9480u) goto L_088E9480; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E9480u) goto L_088E9480; AOT_REGCACHE_SYNC_OUT(); return; L_088E9480: ctx.gpr[1] = (ctx.gpr[3] << 1u); aot_gpr_5 = (static_cast(static_cast(ctx.gpr[3]) >> 31u)); - aot_gpr_4 = (ctx.gpr[2] >> 31u); + aot_gpr_4 = (aot_gpr_2 >> 31u); aot_gpr_4 = (ctx.gpr[1] | aot_gpr_4); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23180))); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23184))); @@ -3803,7 +3804,7 @@ L_088E94C0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E94D0u) goto L_088E94D0; AOT_REGCACHE_SYNC_OUT(); return; L_088E94D0: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -3819,7 +3820,7 @@ L_088E94DC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E94ECu) goto L_088E94EC; AOT_REGCACHE_SYNC_OUT(); return; L_088E94EC: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -3880,7 +3881,7 @@ L_088E9550: } L_088E9558: { std::uint32_t aot_run_words[7]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(80), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(80), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); aot_fpr_22 = std::bit_cast(aot_run_words[1]); aot_gpr_16 = aot_run_words[2]; @@ -3890,22 +3891,22 @@ L_088E9558: aot_gpr_31 = aot_run_words[6]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(112)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(112)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_088E957C: - aot_gpr_29 = (aot_gpr_29 + static_cast(-832)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-832)); { const std::uint32_t aot_run_words[12]{std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_22), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(776), aot_run_words); } + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(776), aot_run_words); } aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_31 = (0x088E95BCu); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0055_entry, 55u, 412u, 0x088E335Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E95BCu) goto L_088E95BC; AOT_REGCACHE_SYNC_OUT(); return; L_088E95BC: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_088E973C; @@ -3913,7 +3914,7 @@ L_088E95BC: goto L_088E95C4; } L_088E95C4: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(736), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(736), aot_gpr_16); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1929)))))); aot_gpr_5 = (aot_gpr_4 << 5u); aot_gpr_4 = (aot_gpr_4 << 2u); @@ -3921,10 +3922,10 @@ L_088E95C4: aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(756), ctx.gpr[17]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(756), ctx.gpr[17]); aot_gpr_31 = (0x088E95F0u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E95F0u) goto L_088E95F0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E95F0u) goto L_088E95F0; AOT_REGCACHE_SYNC_OUT(); return; L_088E95F0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); @@ -3938,7 +3939,7 @@ L_088E95F0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E9608u) goto L_088E9608; AOT_REGCACHE_SYNC_OUT(); return; L_088E9608: - ctx.gpr[23] = (ctx.gpr[2] | 0u); + ctx.gpr[23] = (aot_gpr_2 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast(16))); ctx.gpr[18] = (aot_gpr_4 & 255u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast(36))); @@ -3954,24 +3955,24 @@ L_088E9608: L_088E962C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30640))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); - aot_gpr_5 = (ctx.gpr[2] << 6u); + aot_gpr_5 = (aot_gpr_2 << 6u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(764), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(764), aot_gpr_4); aot_gpr_31 = (0x088E9648u); aot_gpr_5 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0006_entry, 6u, 348u, 0x0881E25Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E9648u) goto L_088E9648; AOT_REGCACHE_SYNC_OUT(); return; L_088E9648: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(0))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(752), ctx.gpr[2]); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(0))); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(752), aot_gpr_2); aot_gpr_5 = (ctx.gpr[18] << 3u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); ctx.gpr[18] = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(2))); ctx.gpr[19] = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0))); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(762), static_cast(ctx.gpr[18])); - aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(760), static_cast(ctx.gpr[19])); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(762), static_cast(ctx.gpr[18])); + aot_mem.aot_direct_store16(ctx.gpr[29] + static_cast(760), static_cast(ctx.gpr[19])); { const std::uint32_t aot_run_words[3]{0u, 0u, 0u}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(60), aot_run_words); } + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(60), aot_run_words); } aot_gpr_4 = (aot_gpr_16 + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; @@ -3982,8 +3983,8 @@ L_088E9648: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_5 = (aot_gpr_29 + static_cast(96)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(748), aot_gpr_4); + aot_gpr_5 = (ctx.gpr[29] + static_cast(96)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(748), aot_gpr_4); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; @@ -3996,7 +3997,7 @@ L_088E9648: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0006_entry, 6u, 257u, 0x0881DD84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E969Cu) goto L_088E969C; AOT_REGCACHE_SYNC_OUT(); return; L_088E969C: - ctx.gpr[20] = (ctx.gpr[2] | 0u); + ctx.gpr[20] = (aot_gpr_2 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30640))); aot_gpr_4 = (aot_gpr_4 + static_cast(16)); aot_gpr_5 = (ctx.gpr[18] | 0u); @@ -4006,7 +4007,7 @@ L_088E969C: AOT_REGCACHE_SYNC_OUT(); return; L_088E96B4: aot_fpr_20 = std::bit_cast(std::bit_cast(ctx.fpr[0])); - ctx.gpr[21] = (aot_gpr_29 + static_cast(112)); + ctx.gpr[21] = (ctx.gpr[29] + static_cast(112)); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x088E96CCu); @@ -4055,7 +4056,7 @@ L_088E96CC: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<7u, 4u>(vfpu_value); } ctx.execute_vfpu_vtfm_ct<0u, 36u, 7u, 3u, 3u>(); - aot_gpr_5 = (aot_gpr_29 + static_cast(128)); + aot_gpr_5 = (ctx.gpr[29] + static_cast(128)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; @@ -4074,13 +4075,13 @@ L_088E9700: AOT_REGCACHE_SYNC_OUT(); return; L_088E9714: ctx.gpr[17] = (0u | 0u); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(744), static_cast(ctx.gpr[2])); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(744), static_cast(aot_gpr_2)); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(1914))); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(1912))); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (static_cast(ctx.gpr[17]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; - ctx.gpr[22] = (aot_gpr_29 + static_cast(176)); + ctx.gpr[22] = (ctx.gpr[29] + static_cast(176)); if (branch_taken) { goto L_088E9744; } @@ -4096,14 +4097,14 @@ L_088E9734: } L_088E973C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_088EA3F0; } goto L_088E9744; } L_088E9744: - ctx.gpr[21] = (aot_gpr_29 + static_cast(80)); + ctx.gpr[21] = (ctx.gpr[29] + static_cast(80)); aot_gpr_4 = (16384u << 16u); aot_fpr_22 = std::bit_cast(aot_gpr_4); { const float fs = aot_fpr_22; const float ft = aot_fpr_22; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_22 = std::bit_cast(0x7FC00000u); else aot_fpr_22 = fs * ft; } @@ -4111,9 +4112,9 @@ L_088E9744: ctx.gpr[20] = (0u + static_cast(-2)); aot_gpr_4 = (2237u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(736))); - ctx.gpr[30] = (aot_gpr_29 + static_cast(514)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(740), aot_gpr_4); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(736))); + ctx.gpr[30] = (ctx.gpr[29] + static_cast(514)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(740), aot_gpr_4); ctx.gpr[19] = (aot_gpr_16 | 0u); goto L_088E9774; L_088E9774: @@ -4134,7 +4135,7 @@ L_088E9784: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1824))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(112))); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(48), aot_gpr_4); if (branch_taken) { goto L_088E97AC; } @@ -4142,11 +4143,11 @@ L_088E9784: } L_088E97A4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(1784))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(48), aot_gpr_4); goto L_088E97AC; L_088E97AC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast(12))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(48))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(48))); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop if (branch_taken) { @@ -4155,7 +4156,7 @@ L_088E97AC: goto L_088E97BC; } L_088E97BC: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(744))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(744))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -4172,7 +4173,7 @@ L_088E97C8: goto L_088E97D0; } L_088E97D0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(48))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(48))); aot_gpr_4 = (aot_gpr_4 + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; @@ -4183,7 +4184,7 @@ L_088E97D0: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_4 = (aot_gpr_29 + static_cast(96)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(96)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -4211,7 +4212,7 @@ L_088E97D0: const std::uint32_t vfpu_address = ctx.gpr[21] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(48))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(48))); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(86)))))); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); @@ -4250,9 +4251,9 @@ L_088E97D0: goto L_088E9858; } L_088E9858: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(56)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(56)))))); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[18]); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(56), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(56), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(1914))); aot_gpr_4 = (static_cast(ctx.gpr[17]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; @@ -4263,7 +4264,7 @@ L_088E9858: goto L_088E9874; } L_088E9874: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(48))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(48))); aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(352))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); if (aot_gpr_4 != 0u) { @@ -4273,20 +4274,20 @@ L_088E9874: goto L_088E9888; L_088E9888: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(10)))))); - aot_gpr_6 = (aot_gpr_29 + static_cast(512)); + aot_gpr_6 = (ctx.gpr[29] + static_cast(512)); aot_gpr_31 = (0x088E9898u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E9898u) goto L_088E9898; AOT_REGCACHE_SYNC_OUT(); return; L_088E9898: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(96), ctx.gpr[2]); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(512))); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(96), aot_gpr_2); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(512))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); goto L_088E98A8; L_088E98A8: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(180))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(52), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); @@ -4295,28 +4296,28 @@ L_088E98A8: goto L_088E98BC; L_088E98BC: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(10)))))); - aot_gpr_6 = (aot_gpr_29 + static_cast(513)); + aot_gpr_6 = (ctx.gpr[29] + static_cast(513)); aot_gpr_31 = (0x088E98CCu); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E98CCu) goto L_088E98CC; AOT_REGCACHE_SYNC_OUT(); return; L_088E98CC: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(96), ctx.gpr[2]); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(513))); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(96), aot_gpr_2); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(513))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); goto L_088E98DC; L_088E98DC: aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(176))); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(56)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(56)))))); aot_gpr_5 = (aot_gpr_5 & ctx.gpr[20]); aot_gpr_6 = (aot_gpr_4 ^ 65535u); aot_gpr_6 = (0u < aot_gpr_6 ? 1u : 0u); aot_gpr_6 = (aot_gpr_6 & 255u); aot_gpr_6 = (aot_gpr_6 & 1u); aot_gpr_5 = (aot_gpr_5 | aot_gpr_6); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(56), static_cast(aot_gpr_5)); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(56)))))); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(56), static_cast(aot_gpr_5)); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(56)))))); aot_gpr_5 = (aot_gpr_5 & 1u); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_6 = (aot_gpr_4 | 0u); @@ -4326,13 +4327,13 @@ L_088E98DC: goto L_088E9910; } L_088E9910: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(740))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(740))); aot_gpr_31 = (0x088E991Cu); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(3)))))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 192u, 0x08ADCA6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E991Cu) goto L_088E991C; AOT_REGCACHE_SYNC_OUT(); return; L_088E991C: - aot_gpr_16 = (ctx.gpr[2] | 0u); + aot_gpr_16 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_16 == 0u; // nop if (branch_taken) { @@ -4352,40 +4353,40 @@ L_088E9928: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E9940u) goto L_088E9940; AOT_REGCACHE_SYNC_OUT(); return; L_088E9940: - aot_gpr_4 = (ctx.gpr[2] ^ 3u); + aot_gpr_4 = (aot_gpr_2 ^ 3u); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_4 = (aot_gpr_4 & 1u); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(56)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(56)))))); aot_gpr_5 = (aot_gpr_5 & ctx.gpr[18]); aot_gpr_4 = (aot_gpr_4 << 1u); aot_gpr_4 = (aot_gpr_5 | aot_gpr_4); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(56), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(56), static_cast(aot_gpr_4)); goto L_088E9964; L_088E9964: { const bool branch_taken = 0u == 0u; - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(736))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(736))); if (branch_taken) { goto L_088E99D8; } goto L_088E996C; } L_088E996C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(48))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(48))); aot_gpr_5 = (aot_gpr_4 + static_cast(2228)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(52), aot_gpr_5); aot_gpr_31 = (0x088E9984u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 195u, 0x08910B38u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E9984u) goto L_088E9984; AOT_REGCACHE_SYNC_OUT(); return; L_088E9984: - aot_gpr_4 = (ctx.gpr[2] & 1u); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(56)))))); + aot_gpr_4 = (aot_gpr_2 & 1u); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(56)))))); aot_gpr_5 = (aot_gpr_5 & ctx.gpr[20]); aot_gpr_4 = (aot_gpr_5 | aot_gpr_4); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(56), static_cast(aot_gpr_4)); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(56)))))); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(56), static_cast(aot_gpr_4)); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(56)))))); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -4395,21 +4396,21 @@ L_088E9984: goto L_088E99A8; } L_088E99A8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(48))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(48))); aot_gpr_31 = (0x088E99B4u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1152))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E99B4u) goto L_088E99B4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B01E00, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E99B4u) goto L_088E99B4; AOT_REGCACHE_SYNC_OUT(); return; L_088E99B4: - aot_gpr_4 = (ctx.gpr[2] ^ 2u); + aot_gpr_4 = (aot_gpr_2 ^ 2u); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_4 = (aot_gpr_4 & 1u); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(56)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(56)))))); aot_gpr_5 = (aot_gpr_5 & ctx.gpr[18]); aot_gpr_4 = (aot_gpr_4 << 1u); aot_gpr_4 = (aot_gpr_5 | aot_gpr_4); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(56), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(56), static_cast(aot_gpr_4)); goto L_088E99D8; L_088E99D8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); @@ -4423,13 +4424,13 @@ L_088E99D8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E99F0u) goto L_088E99F0; AOT_REGCACHE_SYNC_OUT(); return; L_088E99F0: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(48))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(48))); aot_gpr_31 = (0x088E99FCu); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0006_entry, 6u, 657u, 0x0881F9F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E99FCu) goto L_088E99FC; AOT_REGCACHE_SYNC_OUT(); return; L_088E99FC: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_088E9AEC; @@ -4437,26 +4438,26 @@ L_088E99FC: goto L_088E9A04; } L_088E9A04: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(48))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(48))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 512u); aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); if (aot_gpr_4 != 0u) { - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(768), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(768), aot_gpr_16); goto L_088E9A44; } goto L_088E9A20; L_088E9A20: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(52))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(52))); aot_gpr_5 = (0u | 58u); if (aot_gpr_4 == aot_gpr_5) { - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(768), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(768), aot_gpr_16); goto L_088E9A44; } goto L_088E9A30; L_088E9A30: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(56)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(56)))))); aot_gpr_4 = (aot_gpr_4 & 2u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -4466,34 +4467,34 @@ L_088E9A30: goto L_088E9A40; } L_088E9A40: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(768), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(768), aot_gpr_16); goto L_088E9A44; L_088E9A44: aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2192))); aot_gpr_31 = (0x088E9A50u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(772), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(772), aot_gpr_16); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E9A50u) goto L_088E9A50; AOT_REGCACHE_SYNC_OUT(); return; L_088E9A50: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(772))); - { const bool branch_taken = aot_gpr_4 != ctx.gpr[2]; - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(768))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(772))); + { const bool branch_taken = aot_gpr_4 != aot_gpr_2; + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(768))); if (branch_taken) { goto L_088E9A78; } goto L_088E9A5C; } L_088E9A5C: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(768), aot_gpr_16); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(48))); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(768), aot_gpr_16); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(48))); aot_gpr_31 = (0x088E9A6Cu); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(772), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(772), aot_gpr_16); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E9A6Cu) goto L_088E9A6C; AOT_REGCACHE_SYNC_OUT(); return; L_088E9A6C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(772))); - { const bool branch_taken = aot_gpr_4 != ctx.gpr[2]; - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(768))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(772))); + { const bool branch_taken = aot_gpr_4 != aot_gpr_2; + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(768))); if (branch_taken) { goto L_088E9AEC; } @@ -4501,11 +4502,11 @@ L_088E9A6C: } L_088E9A78: aot_gpr_4 = (0u + static_cast(-5)); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(56)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(56)))))); aot_gpr_4 = (aot_gpr_5 & aot_gpr_4); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(56), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(68))); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(56), static_cast(aot_gpr_4)); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(64))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(68))); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop if (branch_taken) { @@ -4514,37 +4515,37 @@ L_088E9A78: goto L_088E9A98; } L_088E9A98: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(64))); if (aot_gpr_4 == 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(64))); goto L_088E9AC0; } goto L_088E9AA4; L_088E9AA4: { std::uint32_t aot_run_words[3]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(48), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(48), aot_run_words); aot_gpr_5 = aot_run_words[0]; aot_gpr_6 = aot_run_words[1]; ctx.gpr[7] = aot_run_words[2]; } { const std::uint32_t aot_run_words[3]{aot_gpr_5, aot_gpr_6, ctx.gpr[7]}; aot_mem.aot_direct_store32_block(aot_gpr_4 + static_cast(0), aot_run_words); } - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(64))); goto L_088E9AC0; L_088E9AC0: aot_gpr_4 = (aot_gpr_4 + static_cast(12)); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(64), aot_gpr_4); if (branch_taken) { goto L_088E9AEC; } goto L_088E9ACC; } L_088E9ACC: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(514), static_cast(0u)); - aot_gpr_4 = (aot_gpr_29 + static_cast(60)); - aot_gpr_6 = (aot_gpr_29 + static_cast(48)); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(64))); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(514), static_cast(0u)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(60)); + aot_gpr_6 = (ctx.gpr[29] + static_cast(48)); ctx.gpr[7] = (ctx.gpr[30] | 0u); ctx.gpr[8] = (0u | 1u); aot_gpr_31 = (0x088E9AECu); @@ -4565,7 +4566,7 @@ L_088E9AEC: goto L_088E9B08; } L_088E9B08: - ctx.gpr[19] = (aot_gpr_29 + static_cast(112)); + ctx.gpr[19] = (ctx.gpr[29] + static_cast(112)); { const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -4575,7 +4576,7 @@ L_088E9B08: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_4 = (aot_gpr_29 + static_cast(32)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(32)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; @@ -4588,15 +4589,15 @@ L_088E9B08: ctx.gpr[9] = (0u | 1u); ctx.gpr[10] = (0u | 0u); ctx.gpr[11] = (0u | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), 0u); aot_gpr_31 = (0x088E9B44u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0037_entry, 37u, 487u, 0x0889ACD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E9B44u) goto L_088E9B44; AOT_REGCACHE_SYNC_OUT(); return; L_088E9B44: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[17] == 0u; - ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(752))); + ctx.gpr[20] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(752))); if (branch_taken) { goto L_088E9F24; } @@ -4609,7 +4610,7 @@ L_088E9B50: aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 == 0u; - ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(736))); + ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(736))); if (branch_taken) { goto L_088E9CF8; } @@ -4636,13 +4637,13 @@ L_088E9B78: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E9B90u) goto L_088E9B90; AOT_REGCACHE_SYNC_OUT(); return; L_088E9B90: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x088E9B9Cu); aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0006_entry, 6u, 657u, 0x0881F9F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E9B9Cu) goto L_088E9B9C; AOT_REGCACHE_SYNC_OUT(); return; L_088E9B9C: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_088E9CF0; @@ -4794,7 +4795,7 @@ L_088E9CCC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E9CE4u) goto L_088E9CE4; AOT_REGCACHE_SYNC_OUT(); return; L_088E9CE4: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x088E9CF0u); aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0006_entry, 6u, 634u, 0x0881F874u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E9CF0u) goto L_088E9CF0; @@ -4841,13 +4842,13 @@ L_088E9D20: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E9D38u) goto L_088E9D38; AOT_REGCACHE_SYNC_OUT(); return; L_088E9D38: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x088E9D44u); aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0006_entry, 6u, 657u, 0x0881F9F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E9D44u) goto L_088E9D44; AOT_REGCACHE_SYNC_OUT(); return; L_088E9D44: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_088E9EA8; @@ -4957,7 +4958,7 @@ L_088E9DFC: goto L_088E9E04; L_088E9E04: if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(756))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(756))); goto L_088E9F18; } goto L_088E9E0C; @@ -4982,7 +4983,7 @@ L_088E9E0C: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>(); - aot_gpr_4 = (aot_gpr_29 + static_cast(208)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(208)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; @@ -5022,13 +5023,13 @@ L_088E9E0C: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); - aot_gpr_4 = (aot_gpr_29 + static_cast(192)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(192)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { std::uint32_t aot_run_words[3]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(192), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(192), aot_run_words); aot_fpr_12 = std::bit_cast(aot_run_words[0]); aot_fpr_13 = std::bit_cast(aot_run_words[1]); ctx.fpr[14] = std::bit_cast(aot_run_words[2]); @@ -5049,14 +5050,14 @@ L_088E9E7C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E9E94u) goto L_088E9E94; AOT_REGCACHE_SYNC_OUT(); return; L_088E9E94: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x088E9EA0u); aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0006_entry, 6u, 634u, 0x0881F874u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E9EA0u) goto L_088E9EA0; AOT_REGCACHE_SYNC_OUT(); return; L_088E9EA0: { const bool branch_taken = 0u == 0u; - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(756))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(756))); if (branch_taken) { goto L_088E9F18; } @@ -5073,7 +5074,7 @@ L_088E9EA8: L_088E9EB8: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(478)))))); if (aot_gpr_4 == 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(756))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(756))); goto L_088E9F18; } goto L_088E9EC4; @@ -5084,7 +5085,7 @@ L_088E9EC8: aot_gpr_5 = (8192u << 16u); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(756))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(756))); goto L_088E9F18; } goto L_088E9ED8; @@ -5109,13 +5110,13 @@ L_088E9EF0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E9F08u) goto L_088E9F08; AOT_REGCACHE_SYNC_OUT(); return; L_088E9F08: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x088E9F14u); aot_gpr_5 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0006_entry, 6u, 634u, 0x0881F874u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E9F14u) goto L_088E9F14; AOT_REGCACHE_SYNC_OUT(); return; L_088E9F14: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(756))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(756))); goto L_088E9F18; L_088E9F18: aot_gpr_4 = (aot_gpr_4 << 24u); @@ -5123,24 +5124,24 @@ L_088E9F18: aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(91), static_cast(aot_gpr_4)); goto L_088E9F24; L_088E9F24: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(64))); aot_gpr_5 = (0u | 12u); - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(60))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(60))); aot_gpr_4 = (aot_gpr_4 - aot_gpr_6); { const std::int32_t dividend = static_cast(aot_gpr_4); const std::int32_t divisor = static_cast(aot_gpr_5); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } aot_gpr_4 = (ctx.lo); { const bool branch_taken = aot_gpr_4 != 0u; - ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(736))); + ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(736))); if (branch_taken) { goto L_088E9F88; } goto L_088E9F44; } L_088E9F44: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(60))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(60))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(64))); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(560), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(560), static_cast(0u)); if (branch_taken) { goto L_088E9F60; } @@ -5158,7 +5159,7 @@ L_088E9F58: goto L_088E9F60; } L_088E9F60: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(60))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(60))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -5167,7 +5168,7 @@ L_088E9F60: goto L_088E9F6C; } L_088E9F6C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(60))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(60))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -5178,7 +5179,7 @@ L_088E9F6C: L_088E9F78: aot_gpr_31 = (0x088E9F80u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E9F80u) goto L_088E9F80; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088E9F80u) goto L_088E9F80; AOT_REGCACHE_SYNC_OUT(); return; L_088E9F80: { const bool branch_taken = 0u == 0u; @@ -5189,15 +5190,15 @@ L_088E9F80: goto L_088E9F88; } L_088E9F88: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(764))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(764))); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(44)))))); aot_gpr_4 = (aot_gpr_4 & 192u); aot_gpr_4 = (aot_gpr_4 ^ 128u); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); aot_gpr_5 = (0u | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(728), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(728), aot_gpr_4); { const bool branch_taken = aot_gpr_4 == 0u; - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(724), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(724), static_cast(aot_gpr_5)); if (branch_taken) { goto L_088EA064; } @@ -5213,7 +5214,7 @@ L_088E9FAC: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_16 = (aot_gpr_29 + static_cast(144)); + aot_gpr_16 = (ctx.gpr[29] + static_cast(144)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; @@ -5227,7 +5228,7 @@ L_088E9FAC: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_4 = (aot_gpr_29 + static_cast(96)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(96)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -5238,7 +5239,7 @@ L_088E9FAC: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>(); - ctx.gpr[17] = (aot_gpr_29 + static_cast(272)); + ctx.gpr[17] = (ctx.gpr[29] + static_cast(272)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; @@ -5276,7 +5277,7 @@ L_088E9FAC: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); - ctx.gpr[19] = (aot_gpr_29 + static_cast(224)); + ctx.gpr[19] = (ctx.gpr[29] + static_cast(224)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; @@ -5296,9 +5297,9 @@ L_088E9FAC: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30640))); aot_gpr_4 = (aot_gpr_4 + static_cast(16)); - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(762))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(762))); aot_gpr_31 = (0x088EA018u); - aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(760))); + aot_gpr_6 = (aot_mem.aot_direct_load16(ctx.gpr[29] + static_cast(760))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0006_entry, 6u, 284u, 0x0881DEBCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EA018u) goto L_088EA018; AOT_REGCACHE_SYNC_OUT(); return; L_088EA018: @@ -5315,7 +5316,7 @@ L_088EA018: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); - aot_gpr_4 = (aot_gpr_29 + static_cast(256)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(256)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; @@ -5339,7 +5340,7 @@ L_088EA018: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 0u>(); - aot_gpr_4 = (aot_gpr_29 + static_cast(240)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(240)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; @@ -5376,7 +5377,7 @@ L_088EA018: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_4 = (aot_gpr_29 + static_cast(160)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(160)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; @@ -5384,15 +5385,15 @@ L_088EA018: goto L_088EA064; L_088EA064: ctx.gpr[21] = (0u | 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(64))); aot_gpr_5 = (0u | 12u); - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(60))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(60))); aot_gpr_4 = (aot_gpr_4 - aot_gpr_6); { const std::int32_t dividend = static_cast(aot_gpr_4); const std::int32_t divisor = static_cast(aot_gpr_5); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } aot_gpr_4 = (ctx.lo); aot_gpr_4 = (ctx.gpr[21] < aot_gpr_4 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; - ctx.gpr[20] = (aot_gpr_29 + static_cast(368)); + ctx.gpr[20] = (ctx.gpr[29] + static_cast(368)); if (branch_taken) { goto L_088EA3B0; } @@ -5403,15 +5404,15 @@ L_088EA08C: aot_gpr_4 = (aot_gpr_4 | 9200u); aot_fpr_22 = std::bit_cast(aot_gpr_4); { std::uint32_t aot_run_words[3]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(340), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(340), aot_run_words); aot_gpr_4 = aot_run_words[0]; ctx.gpr[30] = aot_run_words[1]; ctx.gpr[23] = aot_run_words[2]; } - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(720), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(720), aot_gpr_4); goto L_088EA0A8; L_088EA0A8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(60))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(60))); aot_gpr_5 = (ctx.gpr[21] + ctx.gpr[21]); ctx.gpr[19] = (ctx.gpr[21] + aot_gpr_5); ctx.gpr[19] = (ctx.gpr[19] << 2u); @@ -5427,8 +5428,8 @@ L_088EA0A8: } L_088EA0CC: aot_gpr_4 = (0u | 0u); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(60))); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(732), static_cast(aot_gpr_4)); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(60))); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(732), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_gpr_5 + ctx.gpr[19]); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(86)))))); @@ -5448,7 +5449,7 @@ L_088EA0F4: ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); goto L_088EA104; L_088EA104: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(60))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(60))); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[19]); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(80))); @@ -5457,8 +5458,8 @@ L_088EA104: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0063_entry, 63u, 678u, 0x08903BB0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EA11Cu) goto L_088EA11C; AOT_REGCACHE_SYNC_OUT(); return; L_088EA11C: - ctx.gpr[18] = (ctx.gpr[2] | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(352), std::bit_cast(aot_fpr_22)); + ctx.gpr[18] = (aot_gpr_2 | 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(352), std::bit_cast(aot_fpr_22)); ctx.gpr[17] = (0u | 0u); aot_gpr_16 = (0u | 0u); goto L_088EA12C; @@ -5473,7 +5474,7 @@ L_088EA12C: goto L_088EA13C; } L_088EA13C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(60))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(60))); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[19]); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(8)))))); aot_gpr_4 = (aot_gpr_4 & 4u); @@ -5494,7 +5495,7 @@ L_088EA154: ctx.gpr[7] = aot_run_words[2]; } { const std::uint32_t aot_run_words[3]{aot_gpr_5, aot_gpr_6, ctx.gpr[7]}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(288), aot_run_words); } + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(288), aot_run_words); } { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_4 + static_cast(12), aot_run_words); aot_gpr_5 = aot_run_words[0]; @@ -5502,21 +5503,21 @@ L_088EA154: ctx.gpr[7] = aot_run_words[2]; } { const std::uint32_t aot_run_words[3]{aot_gpr_5, aot_gpr_6, ctx.gpr[7]}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(300), aot_run_words); } + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(300), aot_run_words); } aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(24))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(28))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(312), aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(316), aot_gpr_4); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(300))); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(312), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(316), aot_gpr_4); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(300))); aot_fpr_12 = aot_fpr_12 + aot_fpr_20; { const float fs = aot_fpr_12; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(288))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(384), std::bit_cast(aot_fpr_13)); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(292))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(388), std::bit_cast(aot_fpr_13)); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(296))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(392), std::bit_cast(aot_fpr_13)); - aot_gpr_4 = (aot_gpr_29 + static_cast(384)); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(288))); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(384), std::bit_cast(aot_fpr_13)); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(292))); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(388), std::bit_cast(aot_fpr_13)); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(296))); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(392), std::bit_cast(aot_fpr_13)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(384)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -5526,7 +5527,7 @@ L_088EA154: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_4 = (aot_gpr_29 + static_cast(112)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(112)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -5565,32 +5566,32 @@ L_088EA154: L_088EA1F8: aot_gpr_4 = (0u | 1u); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(732), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(732), static_cast(aot_gpr_4)); if (branch_taken) { goto L_088EA278; } goto L_088EA204; } L_088EA204: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(728))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(728))); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_4 = (aot_gpr_29 + static_cast(144)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(144)); if (branch_taken) { goto L_088EA26C; } goto L_088EA210; } L_088EA210: - aot_gpr_5 = (aot_gpr_29 + static_cast(288)); - aot_gpr_6 = (aot_gpr_29 + static_cast(400)); + aot_gpr_5 = (ctx.gpr[29] + static_cast(288)); + aot_gpr_6 = (ctx.gpr[29] + static_cast(400)); aot_gpr_31 = (0x088EA220u); - ctx.gpr[7] = (aot_gpr_29 + static_cast(352)); + ctx.gpr[7] = (ctx.gpr[29] + static_cast(352)); ctx.pc = 0x088B1554u; ([&]() { AOT_REGCACHE_SYNC_OUT(); rt.invoke_native_fast_path(0x088B1554u, ctx); AOT_REGCACHE_SYNC_IN(); }()); if (ctx.pc == 0x088EA220u) goto L_088EA220; AOT_REGCACHE_SYNC_OUT(); return; L_088EA220: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088EA26C; @@ -5600,26 +5601,26 @@ L_088EA220: L_088EA228: aot_gpr_4 = (0u | 1u); ctx.gpr[22] = (ctx.gpr[21] | 0u); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(724), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(724), static_cast(aot_gpr_4)); { std::uint32_t aot_run_words[3]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(288), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(288), aot_run_words); aot_gpr_4 = aot_run_words[0]; aot_gpr_5 = aot_run_words[1]; aot_gpr_6 = aot_run_words[2]; } { const std::uint32_t aot_run_words[3]{aot_gpr_4, aot_gpr_5, aot_gpr_6}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(320), aot_run_words); } + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(320), aot_run_words); } { std::uint32_t aot_run_words[3]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(300), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(300), aot_run_words); aot_gpr_4 = aot_run_words[0]; aot_gpr_5 = aot_run_words[1]; aot_gpr_6 = aot_run_words[2]; } - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(332), aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(336), aot_gpr_5); - ctx.gpr[30] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(312))); - ctx.gpr[23] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(316))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(720), aot_gpr_6); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(332), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(336), aot_gpr_5); + ctx.gpr[30] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(312))); + ctx.gpr[23] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(316))); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(720), aot_gpr_6); goto L_088EA26C; L_088EA26C: ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); @@ -5631,9 +5632,9 @@ L_088EA26C: goto L_088EA278; } L_088EA278: - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(724))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(724))); { const bool branch_taken = aot_gpr_5 == 0u; - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(732))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(732))); if (branch_taken) { goto L_088EA2C4; } @@ -5641,18 +5642,18 @@ L_088EA278: } L_088EA284: { std::uint32_t aot_run_words[3]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(320), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(320), aot_run_words); aot_gpr_4 = aot_run_words[0]; aot_gpr_5 = aot_run_words[1]; aot_gpr_6 = aot_run_words[2]; } { const std::uint32_t aot_run_words[3]{aot_gpr_4, aot_gpr_5, aot_gpr_6}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(288), aot_run_words); } - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(332))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(720))); - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(336))); + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(288), aot_run_words); } + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(332))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(720))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(336))); { const std::uint32_t aot_run_words[5]{aot_gpr_4, aot_gpr_6, aot_gpr_5, ctx.gpr[30], ctx.gpr[23]}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(300), aot_run_words); } + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(300), aot_run_words); } ctx.gpr[21] = (ctx.gpr[22] | 0u); aot_gpr_4 = (0u | 1u); goto L_088EA2C4; @@ -5665,19 +5666,19 @@ L_088EA2C4: goto L_088EA2CC; } L_088EA2CC: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(288))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(464), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(292))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(468), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(296))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(472), std::bit_cast(aot_fpr_12)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(60))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(288))); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(464), std::bit_cast(aot_fpr_12)); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(292))); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(468), std::bit_cast(aot_fpr_12)); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(296))); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(472), std::bit_cast(aot_fpr_12)); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(60))); aot_gpr_5 = (ctx.gpr[21] + ctx.gpr[21]); aot_gpr_5 = (ctx.gpr[21] + aot_gpr_5); aot_gpr_16 = (aot_gpr_5 << 2u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_16); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(748))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(748))); { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -5698,7 +5699,7 @@ L_088EA2CC: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>(); - aot_gpr_5 = (aot_gpr_29 + static_cast(448)); + aot_gpr_5 = (ctx.gpr[29] + static_cast(448)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; @@ -5712,7 +5713,7 @@ L_088EA2CC: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_5 = (aot_gpr_29 + static_cast(432)); + aot_gpr_5 = (ctx.gpr[29] + static_cast(432)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; @@ -5722,22 +5723,22 @@ L_088EA2CC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 658u, 0x08A6734Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EA32Cu) goto L_088EA32C; AOT_REGCACHE_SYNC_OUT(); return; L_088EA32C: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(305))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(60))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(305))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(60))); aot_gpr_5 = (aot_gpr_5 + aot_gpr_16); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_gpr_4 = (aot_gpr_4 & 255u); ctx.gpr[9] = (aot_gpr_4 << 16u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(736))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(736))); ctx.gpr[9] = (static_cast(static_cast(ctx.gpr[9]) >> 16u)); - aot_gpr_6 = (aot_gpr_29 + static_cast(112)); - ctx.gpr[7] = (aot_gpr_29 + static_cast(464)); - ctx.gpr[8] = (ctx.gpr[2] | 0u); + aot_gpr_6 = (ctx.gpr[29] + static_cast(112)); + ctx.gpr[7] = (ctx.gpr[29] + static_cast(464)); + ctx.gpr[8] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x088EA360u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); goto L_088EA428; L_088EA360: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(60))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(60))); aot_gpr_4 = (aot_gpr_4 + aot_gpr_16); aot_gpr_4 = (aot_gpr_4 + static_cast(8)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0)))))); @@ -5746,9 +5747,9 @@ L_088EA360: goto L_088EA378; L_088EA378: ctx.gpr[21] = (ctx.gpr[21] + static_cast(1)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(64))); aot_gpr_5 = (0u | 12u); - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(60))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(60))); aot_gpr_4 = (aot_gpr_4 - aot_gpr_6); { const std::int32_t dividend = static_cast(aot_gpr_4); const std::int32_t divisor = static_cast(aot_gpr_5); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } aot_gpr_4 = (ctx.lo); @@ -5761,15 +5762,15 @@ L_088EA378: goto L_088EA3A0; } L_088EA3A0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(720))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(720))); { const std::uint32_t aot_run_words[3]{aot_gpr_4, ctx.gpr[30], ctx.gpr[23]}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(340), aot_run_words); } + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(340), aot_run_words); } goto L_088EA3B0; L_088EA3B0: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(60))); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(60))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(64))); { const bool branch_taken = aot_gpr_5 == aot_gpr_4; - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(672), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(672), static_cast(0u)); if (branch_taken) { goto L_088EA3CC; } @@ -5787,7 +5788,7 @@ L_088EA3C4: goto L_088EA3CC; } L_088EA3CC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(60))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(60))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -5796,7 +5797,7 @@ L_088EA3CC: goto L_088EA3D8; } L_088EA3D8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(60))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(60))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -5807,14 +5808,14 @@ L_088EA3D8: L_088EA3E4: aot_gpr_31 = (0x088EA3ECu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EA3ECu) goto L_088EA3EC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EA3ECu) goto L_088EA3EC; AOT_REGCACHE_SYNC_OUT(); return; L_088EA3EC: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_088EA3F0; L_088EA3F0: { std::uint32_t aot_run_words[12]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(776), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(776), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); aot_fpr_22 = std::bit_cast(aot_run_words[1]); aot_gpr_16 = aot_run_words[2]; @@ -5829,20 +5830,20 @@ L_088EA3F0: aot_gpr_31 = aot_run_words[11]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(832)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(832)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_088EA428: - aot_gpr_29 = (aot_gpr_29 + static_cast(-352)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-352)); { const std::uint32_t aot_run_words[13]{std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_22), std::bit_cast(ctx.fpr[24]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(288), aot_run_words); } + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(288), aot_run_words); } aot_fpr_20 = std::bit_cast(std::bit_cast(aot_fpr_12)); aot_gpr_16 = (ctx.gpr[8] | 0u); ctx.gpr[18] = (aot_gpr_5 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(252), ctx.gpr[7]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(240), aot_gpr_6); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(252), ctx.gpr[7]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(240), aot_gpr_6); ctx.gpr[21] = (aot_gpr_4 | 0u); aot_gpr_4 = (ctx.gpr[9] << 16u); ctx.gpr[23] = (static_cast(static_cast(aot_gpr_4) >> 16u)); @@ -5857,7 +5858,7 @@ L_088EA428: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EA498u) goto L_088EA498; AOT_REGCACHE_SYNC_OUT(); return; L_088EA498: - ctx.gpr[22] = (ctx.gpr[2] | 0u); + ctx.gpr[22] = (aot_gpr_2 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(36))); aot_gpr_5 = (aot_gpr_4 + static_cast(8)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); @@ -5871,7 +5872,7 @@ L_088EA498: L_088EA4B4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30640))); ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); - aot_gpr_4 = (ctx.gpr[2] << 6u); + aot_gpr_4 = (aot_gpr_2 << 6u); ctx.gpr[20] = (ctx.gpr[20] + aot_gpr_4); aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x088EA4D0u); @@ -5879,18 +5880,18 @@ L_088EA4B4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0006_entry, 6u, 348u, 0x0881E25Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EA4D0u) goto L_088EA4D0; AOT_REGCACHE_SYNC_OUT(); return; L_088EA4D0: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); aot_gpr_4 = (0u | 0u); ctx.gpr[17] = (0u | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(232), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(232), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 14u); aot_gpr_4 = (aot_gpr_4 ^ 14u); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); - aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(244), static_cast(ctx.gpr[23])); + aot_mem.aot_direct_store16(ctx.gpr[29] + static_cast(244), static_cast(ctx.gpr[23])); { const bool branch_taken = aot_gpr_4 == 0u; - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(248), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(248), aot_gpr_16); if (branch_taken) { goto L_088EA50C; } @@ -5899,7 +5900,7 @@ L_088EA4D0: L_088EA500: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(352))); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(232), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(232), aot_gpr_4); if (branch_taken) { goto L_088EA510; } @@ -5937,8 +5938,8 @@ L_088EA530: aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_31 = (0x088EA554u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(228), aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EA554u) goto L_088EA554; + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(228), aot_gpr_4); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EA554u) goto L_088EA554; AOT_REGCACHE_SYNC_OUT(); return; L_088EA554: if (ctx.gpr[17] != 0u) { @@ -6007,18 +6008,18 @@ L_088EA590: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EA5A8u) goto L_088EA5A8; AOT_REGCACHE_SYNC_OUT(); return; L_088EA5A8: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(36))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(36))); aot_gpr_5 = (aot_gpr_4 + static_cast(8)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); jump_target = aot_gpr_5; aot_gpr_31 = (0x088EA5C0u); - aot_gpr_4 = (ctx.gpr[2] + aot_gpr_4); + aot_gpr_4 = (aot_gpr_2 + aot_gpr_4); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EA5C0u) goto L_088EA5C0; AOT_REGCACHE_SYNC_OUT(); return; L_088EA5C0: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30640))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(8))); aot_gpr_6 = (aot_gpr_4 << 6u); @@ -6041,7 +6042,7 @@ L_088EA5EC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0006_entry, 6u, 309u, 0x0881E044u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EA5F8u) goto L_088EA5F8; AOT_REGCACHE_SYNC_OUT(); return; L_088EA5F8: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_088EA610; @@ -6080,7 +6081,7 @@ L_088EA61C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0006_entry, 6u, 372u, 0x0881E3E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EA628u) goto L_088EA628; AOT_REGCACHE_SYNC_OUT(); return; L_088EA628: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_088EA638; @@ -6101,7 +6102,7 @@ L_088EA638: aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); if (aot_gpr_4 == 0u) { - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(236), ctx.gpr[18]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(236), ctx.gpr[18]); goto L_088EA66C; } goto L_088EA650; @@ -6113,7 +6114,7 @@ L_088EA650: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0006_entry, 6u, 591u, 0x0881F588u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EA660u) goto L_088EA660; AOT_REGCACHE_SYNC_OUT(); return; L_088EA660: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088EA750; @@ -6121,7 +6122,7 @@ L_088EA660: goto L_088EA668; } L_088EA668: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(236), ctx.gpr[18]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(236), ctx.gpr[18]); goto L_088EA66C; L_088EA66C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(92))); @@ -6135,7 +6136,7 @@ L_088EA66C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EA684u) goto L_088EA684; AOT_REGCACHE_SYNC_OUT(); return; L_088EA684: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x088EA690u); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0006_entry, 6u, 634u, 0x0881F874u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EA690u) goto L_088EA690; @@ -6152,27 +6153,27 @@ L_088EA690: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EA6A8u) goto L_088EA6A8; AOT_REGCACHE_SYNC_OUT(); return; L_088EA6A8: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(36))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(36))); aot_gpr_5 = (aot_gpr_4 + static_cast(8)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); jump_target = aot_gpr_5; aot_gpr_31 = (0x088EA6C0u); - aot_gpr_4 = (ctx.gpr[2] + aot_gpr_4); + aot_gpr_4 = (aot_gpr_2 + aot_gpr_4); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EA6C0u) goto L_088EA6C0; AOT_REGCACHE_SYNC_OUT(); return; L_088EA6C0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30640))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); - aot_gpr_5 = (ctx.gpr[2] << 6u); + aot_gpr_5 = (aot_gpr_2 << 6u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_31 = (0x088EA6D8u); aot_gpr_5 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0006_entry, 6u, 348u, 0x0881E25Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EA6D8u) goto L_088EA6D8; AOT_REGCACHE_SYNC_OUT(); return; L_088EA6D8: - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(20))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(20))); aot_fpr_22 = std::bit_cast(aot_gpr_4); aot_fpr_22 = static_cast(static_cast(std::bit_cast(aot_fpr_22))); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[21] + static_cast(1929)))))); @@ -6194,11 +6195,11 @@ L_088EA718: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23244))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23248))); aot_gpr_5 = (ctx.gpr[3] & aot_gpr_5); - aot_gpr_4 = (ctx.gpr[2] & aot_gpr_4); + aot_gpr_4 = (aot_gpr_2 & aot_gpr_4); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23236))); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23240))); ctx.fpr[24] = std::bit_cast(0u); - aot_gpr_16 = (aot_gpr_29 + static_cast(16)); + aot_gpr_16 = (ctx.gpr[29] + static_cast(16)); { const bool branch_taken = aot_gpr_4 != aot_gpr_6; // nop if (branch_taken) { @@ -6216,7 +6217,7 @@ L_088EA740: } L_088EA748: { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(224), ctx.gpr[20]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(224), ctx.gpr[20]); if (branch_taken) { goto L_088EA764; } @@ -6232,8 +6233,8 @@ L_088EA750: } L_088EA758: aot_gpr_4 = (0u | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(228), aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(224), ctx.gpr[20]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(228), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(224), ctx.gpr[20]); goto L_088EA764; L_088EA764: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(92))); @@ -6247,7 +6248,7 @@ L_088EA764: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EA77Cu) goto L_088EA77C; AOT_REGCACHE_SYNC_OUT(); return; L_088EA77C: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (ctx.gpr[21] | 0u); aot_gpr_6 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x088EA790u); @@ -6255,7 +6256,7 @@ L_088EA77C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0006_entry, 6u, 501u, 0x0881EE20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EA790u) goto L_088EA790; AOT_REGCACHE_SYNC_OUT(); return; L_088EA790: - ctx.gpr[23] = (ctx.gpr[2] | 0u); + ctx.gpr[23] = (aot_gpr_2 | 0u); ctx.gpr[18] = (ctx.gpr[23] & 255u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(36))); aot_gpr_5 = (aot_gpr_4 + static_cast(8)); @@ -6268,18 +6269,18 @@ L_088EA790: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EA7B0u) goto L_088EA7B0; AOT_REGCACHE_SYNC_OUT(); return; L_088EA7B0: - ctx.gpr[30] = (ctx.gpr[2] | 0u); + ctx.gpr[30] = (aot_gpr_2 | 0u); { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[24])}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(16), aot_run_words); } + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(16), aot_run_words); } { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[24])}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(0), aot_run_words); } aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x088EA7D8u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 461u, 0x08A93198u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EA7D8u) goto L_088EA7D8; AOT_REGCACHE_SYNC_OUT(); return; L_088EA7D8: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088EA86C; @@ -6287,7 +6288,7 @@ L_088EA7D8: goto L_088EA7E0; } L_088EA7E0: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(224), ctx.gpr[20]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(224), ctx.gpr[20]); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[20] + static_cast(42)))))); aot_gpr_4 = (aot_gpr_4 & 32768u); aot_gpr_4 = (aot_gpr_4 >> 15u); @@ -6302,7 +6303,7 @@ L_088EA7E0: goto L_088EA804; } L_088EA804: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(224), ctx.gpr[20]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(224), ctx.gpr[20]); { const std::uint32_t vfpu_address = ctx.gpr[20] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -6353,7 +6354,7 @@ L_088EA804: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<7u, 4u>(vfpu_value); } ctx.execute_vfpu_vtfm_ct<0u, 36u, 7u, 3u, 3u>(); - aot_gpr_4 = (aot_gpr_29 + static_cast(32)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(32)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; @@ -6371,7 +6372,7 @@ L_088EA804: const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(232))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(232))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -6391,15 +6392,15 @@ L_088EA840: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EA858u) goto L_088EA858; AOT_REGCACHE_SYNC_OUT(); return; L_088EA858: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(8))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(8))); aot_gpr_5 = (0u + static_cast(-4097)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_4 = (aot_gpr_4 | 4096u); - aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(8), aot_gpr_4); + aot_mem.aot_direct_store32(aot_gpr_2 + static_cast(8), aot_gpr_4); goto L_088EA86C; L_088EA86C: { const bool branch_taken = ctx.gpr[17] == 0u; - ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(228))); + ctx.gpr[20] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(228))); if (branch_taken) { goto L_088EADD0; } @@ -6414,7 +6415,7 @@ L_088EA874: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(2228))); aot_gpr_5 = (0u | 57u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; - ctx.gpr[23] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(240))); + ctx.gpr[23] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(240))); if (branch_taken) { goto L_088EA934; } @@ -6442,27 +6443,27 @@ L_088EA8A8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EA8C0u) goto L_088EA8C0; AOT_REGCACHE_SYNC_OUT(); return; L_088EA8C0: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(36))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(36))); aot_gpr_5 = (aot_gpr_4 + static_cast(8)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); jump_target = aot_gpr_5; aot_gpr_31 = (0x088EA8D8u); - aot_gpr_4 = (ctx.gpr[2] + aot_gpr_4); + aot_gpr_4 = (aot_gpr_2 + aot_gpr_4); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EA8D8u) goto L_088EA8D8; AOT_REGCACHE_SYNC_OUT(); return; L_088EA8D8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30640))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); - aot_gpr_5 = (ctx.gpr[2] << 6u); + aot_gpr_5 = (aot_gpr_2 << 6u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(44)))))); aot_gpr_4 = (aot_gpr_4 & 8u); aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); if (aot_gpr_4 == 0u) { - ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(248))); + ctx.gpr[8] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(248))); goto L_088EA914; } goto L_088EA900; @@ -6471,28 +6472,28 @@ L_088EA900: aot_gpr_4 = (aot_gpr_4 | 52429u); aot_fpr_12 = std::bit_cast(aot_gpr_4); { const float fs = aot_fpr_12; const float ft = aot_fpr_22; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_22 = std::bit_cast(0x7FC00000u); else aot_fpr_22 = fs * ft; } - ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(248))); + ctx.gpr[8] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(248))); goto L_088EA914; L_088EA914: ctx.gpr[8] = (ctx.gpr[8] & 255u); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[21] | 0u); - ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(244)))))); + ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[29] + static_cast(244)))))); aot_gpr_6 = (ctx.gpr[20] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_22)); aot_gpr_31 = (0x088EA934u); ctx.gpr[9] = (ctx.gpr[23] | 0u); goto L_088EB674; L_088EA934: - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(48), static_cast(0u)); - aot_gpr_6 = (aot_gpr_29 + static_cast(48)); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(48), static_cast(0u)); + aot_gpr_6 = (ctx.gpr[29] + static_cast(48)); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088EA948u); aot_gpr_5 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0056_entry, 56u, 36u, 0x088E43E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EA948u) goto L_088EA948; AOT_REGCACHE_SYNC_OUT(); return; L_088EA948: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_088EA9DC; @@ -6502,7 +6503,7 @@ L_088EA948: L_088EA950: aot_gpr_4 = (0u | 255u); if (ctx.gpr[18] == aot_gpr_4) { - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(248))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(248))); goto L_088EA988; } goto L_088EA95C; @@ -6523,7 +6524,7 @@ L_088EA95C: goto L_088EA984; } L_088EA984: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(248))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(248))); goto L_088EA988; L_088EA988: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(92))); @@ -6537,7 +6538,7 @@ L_088EA988: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EA9A0u) goto L_088EA9A0; AOT_REGCACHE_SYNC_OUT(); return; L_088EA9A0: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_6 = (ctx.gpr[30] | 0u); ctx.gpr[7] = (ctx.gpr[20] | 0u); @@ -6548,9 +6549,9 @@ L_088EA9A0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0006_entry, 6u, 486u, 0x0881ECDCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EA9C0u) goto L_088EA9C0; AOT_REGCACHE_SYNC_OUT(); return; L_088EA9C0: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(48))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(48))); if (aot_gpr_4 == 0u) { - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(252))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(252))); goto L_088EAD2C; } goto L_088EA9CC; @@ -6561,7 +6562,7 @@ L_088EA9CC: AOT_REGCACHE_SYNC_OUT(); return; L_088EA9D4: { const bool branch_taken = 0u == 0u; - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(252))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(252))); if (branch_taken) { goto L_088EAD2C; } @@ -6579,8 +6580,8 @@ L_088EA9E8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 195u, 0x08910B38u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EA9F0u) goto L_088EA9F0; AOT_REGCACHE_SYNC_OUT(); return; L_088EA9F0: - if (ctx.gpr[2] != 0u) { - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(252))); + if (aot_gpr_2 != 0u) { + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(252))); goto L_088EAD2C; } goto L_088EA9F8; @@ -6596,10 +6597,10 @@ L_088EA9F8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EAA10u) goto L_088EAA10; AOT_REGCACHE_SYNC_OUT(); return; L_088EAA10: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(0))); aot_gpr_5 = (aot_gpr_4 + static_cast(32)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); - aot_gpr_4 = (ctx.gpr[2] + aot_gpr_4); + aot_gpr_4 = (aot_gpr_2 + aot_gpr_4); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); jump_target = aot_gpr_6; aot_gpr_31 = (0x088EAA2Cu); @@ -6609,14 +6610,14 @@ L_088EAA10: AOT_REGCACHE_SYNC_OUT(); return; L_088EAA2C: { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[24])}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(80), aot_run_words); } - aot_gpr_5 = (aot_gpr_29 + static_cast(80)); + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(80), aot_run_words); } + aot_gpr_5 = (ctx.gpr[29] + static_cast(80)); aot_gpr_31 = (0x088EAA44u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 461u, 0x08A93198u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EAA44u) goto L_088EAA44; AOT_REGCACHE_SYNC_OUT(); return; L_088EAA44: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088EAA70; @@ -6629,7 +6630,7 @@ L_088EAA4C: aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(456), aot_gpr_4); { std::uint32_t aot_run_words[3]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(16), aot_run_words); aot_fpr_12 = std::bit_cast(aot_run_words[0]); aot_fpr_13 = std::bit_cast(aot_run_words[1]); ctx.fpr[14] = std::bit_cast(aot_run_words[2]); @@ -6661,7 +6662,7 @@ L_088EAA7C: L_088EAA94: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30640))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); - aot_gpr_5 = (ctx.gpr[2] << 6u); + aot_gpr_5 = (aot_gpr_2 << 6u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(42)))))); aot_gpr_4 = (aot_gpr_4 & 8u); @@ -6686,12 +6687,12 @@ L_088EAABC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EAAD4u) goto L_088EAAD4; AOT_REGCACHE_SYNC_OUT(); return; L_088EAAD4: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(8))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(8))); aot_gpr_4 = (aot_gpr_4 & 1024u); aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); if (aot_gpr_4 == 0u) { - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(248))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(248))); goto L_088EAB8C; } goto L_088EAAEC; @@ -6707,7 +6708,7 @@ L_088EAAEC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EAB04u) goto L_088EAB04; AOT_REGCACHE_SYNC_OUT(); return; L_088EAB04: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_6 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x088EAB18u); @@ -6715,7 +6716,7 @@ L_088EAB04: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0006_entry, 6u, 501u, 0x0881EE20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EAB18u) goto L_088EAB18; AOT_REGCACHE_SYNC_OUT(); return; L_088EAB18: - aot_gpr_16 = (ctx.gpr[2] | 0u); + aot_gpr_16 = (aot_gpr_2 | 0u); aot_gpr_4 = (0u | 255u); { const bool branch_taken = aot_gpr_16 == aot_gpr_4; // nop @@ -6736,18 +6737,18 @@ L_088EAB28: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EAB40u) goto L_088EAB40; AOT_REGCACHE_SYNC_OUT(); return; L_088EAB40: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(36))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(36))); aot_gpr_5 = (aot_gpr_4 + static_cast(8)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); jump_target = aot_gpr_5; aot_gpr_31 = (0x088EAB58u); - aot_gpr_4 = (ctx.gpr[2] + aot_gpr_4); + aot_gpr_4 = (aot_gpr_2 + aot_gpr_4); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EAB58u) goto L_088EAB58; AOT_REGCACHE_SYNC_OUT(); return; L_088EAB58: - { const bool branch_taken = aot_gpr_16 == ctx.gpr[2]; + { const bool branch_taken = aot_gpr_16 == aot_gpr_2; // nop if (branch_taken) { goto L_088EAB88; @@ -6766,14 +6767,14 @@ L_088EAB60: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EAB78u) goto L_088EAB78; AOT_REGCACHE_SYNC_OUT(); return; L_088EAB78: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088EAB88u); aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0006_entry, 6u, 583u, 0x0881F474u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EAB88u) goto L_088EAB88; AOT_REGCACHE_SYNC_OUT(); return; L_088EAB88: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(248))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(248))); goto L_088EAB8C; L_088EAB8C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(92))); @@ -6787,7 +6788,7 @@ L_088EAB8C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EABA4u) goto L_088EABA4; AOT_REGCACHE_SYNC_OUT(); return; L_088EABA4: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (ctx.gpr[21] | 0u); aot_gpr_6 = (ctx.gpr[30] | 0u); ctx.gpr[7] = (ctx.gpr[20] | 0u); @@ -6811,7 +6812,7 @@ L_088EABC4: L_088EABDC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30640))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); - aot_gpr_5 = (ctx.gpr[2] << 6u); + aot_gpr_5 = (aot_gpr_2 << 6u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_31 = (0x088EABF4u); aot_gpr_5 = (ctx.gpr[21] | 0u); @@ -6829,7 +6830,7 @@ L_088EABF4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EAC0Cu) goto L_088EAC0C; AOT_REGCACHE_SYNC_OUT(); return; L_088EAC0C: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_6 = (ctx.gpr[30] | 0u); ctx.gpr[7] = (ctx.gpr[20] | 0u); @@ -6853,7 +6854,7 @@ L_088EAC2C: L_088EAC44: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30640))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); - aot_gpr_5 = (ctx.gpr[2] << 6u); + aot_gpr_5 = (aot_gpr_2 << 6u); ctx.gpr[18] = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x088EAC60u); @@ -6861,7 +6862,7 @@ L_088EAC44: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0006_entry, 6u, 348u, 0x0881E25Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EAC60u) goto L_088EAC60; AOT_REGCACHE_SYNC_OUT(); return; L_088EAC60: - aot_gpr_16 = (ctx.gpr[2] | 0u); + aot_gpr_16 = (aot_gpr_2 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(92))); aot_gpr_5 = (aot_gpr_4 + static_cast(216)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); @@ -6873,13 +6874,13 @@ L_088EAC60: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EAC7Cu) goto L_088EAC7C; AOT_REGCACHE_SYNC_OUT(); return; L_088EAC7C: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(36))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(36))); aot_gpr_5 = (aot_gpr_4 + static_cast(8)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); jump_target = aot_gpr_5; aot_gpr_31 = (0x088EAC94u); - aot_gpr_4 = (ctx.gpr[2] + aot_gpr_4); + aot_gpr_4 = (aot_gpr_2 + aot_gpr_4); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EAC94u) goto L_088EAC94; AOT_REGCACHE_SYNC_OUT(); return; @@ -6968,7 +6969,7 @@ L_088EAD1C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0055_entry, 55u, 428u, 0x088E3464u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EAD28u) goto L_088EAD28; AOT_REGCACHE_SYNC_OUT(); return; L_088EAD28: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(252))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(252))); goto L_088EAD2C; L_088EAD2C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(36))); @@ -6984,7 +6985,7 @@ L_088EAD2C: L_088EAD44: aot_gpr_4 = (ctx.gpr[22] | 0u); aot_gpr_5 = (ctx.gpr[21] | 0u); - aot_gpr_6 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); ctx.gpr[7] = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x088EAD5Cu); ctx.gpr[8] = (0u | 1u); @@ -7010,7 +7011,7 @@ L_088EAD5C: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>(); - aot_gpr_16 = (aot_gpr_29 + static_cast(64)); + aot_gpr_16 = (ctx.gpr[29] + static_cast(64)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; @@ -7048,7 +7049,7 @@ L_088EAD5C: L_088EADA8: aot_gpr_4 = (ctx.gpr[22] | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); - aot_gpr_6 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); ctx.gpr[7] = (ctx.gpr[20] | 0u); ctx.gpr[8] = (ctx.gpr[23] | 0u); ctx.gpr[9] = (aot_gpr_16 | 0u); @@ -7065,7 +7066,7 @@ L_088EADC8: goto L_088EADD0; } L_088EADD0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(232))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(232))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -7085,9 +7086,9 @@ L_088EADDC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EADF4u) goto L_088EADF4; AOT_REGCACHE_SYNC_OUT(); return; L_088EADF4: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(224))); - aot_gpr_4 = (ctx.gpr[2] | 0u); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(228))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(224))); + aot_gpr_4 = (aot_gpr_2 | 0u); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(228))); aot_gpr_5 = (ctx.gpr[21] | 0u); ctx.gpr[7] = (aot_gpr_16 | 0u); ctx.gpr[8] = (0u | 4u); @@ -7110,14 +7111,14 @@ L_088EAE18: L_088EAE30: aot_gpr_4 = (ctx.gpr[22] | 0u); aot_gpr_5 = (ctx.gpr[21] | 0u); - aot_gpr_6 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); ctx.gpr[7] = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088EAE48u); ctx.gpr[8] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0006_entry, 6u, 675u, 0x0881FB44u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EAE48u) goto L_088EAE48; AOT_REGCACHE_SYNC_OUT(); return; L_088EAE48: - ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(240))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(240))); { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -7127,7 +7128,7 @@ L_088EAE48: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(252))); + ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(252))); { const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -7137,9 +7138,9 @@ L_088EAE48: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(260), ctx.gpr[18]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(260), ctx.gpr[18]); ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>(); - ctx.gpr[19] = (aot_gpr_29 + static_cast(96)); + ctx.gpr[19] = (ctx.gpr[29] + static_cast(96)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; @@ -7175,9 +7176,9 @@ L_088EAE48: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EAEA0u) goto L_088EAEA0; AOT_REGCACHE_SYNC_OUT(); return; L_088EAEA0: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(236))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(236))); aot_gpr_4 = (ctx.gpr[22] | 0u); - aot_gpr_6 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); ctx.gpr[7] = (aot_gpr_16 | 0u); ctx.gpr[8] = (ctx.gpr[17] | 0u); ctx.gpr[9] = (ctx.gpr[19] | 0u); @@ -7187,30 +7188,30 @@ L_088EAEA0: AOT_REGCACHE_SYNC_OUT(); return; L_088EAEC0: aot_gpr_4 = (0u | 54u); - aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(112), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store16(ctx.gpr[29] + static_cast(112), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(8681))); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(114), static_cast(aot_gpr_4)); - ctx.gpr[20] = (aot_gpr_29 + static_cast(115)); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(114), static_cast(aot_gpr_4)); + ctx.gpr[20] = (ctx.gpr[29] + static_cast(115)); ctx.gpr[22] = (ctx.gpr[20] + static_cast(4)); ctx.gpr[19] = (ctx.gpr[20] + static_cast(8)); - ctx.gpr[18] = (aot_gpr_29 + static_cast(127)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(264), ctx.gpr[19]); + ctx.gpr[18] = (ctx.gpr[29] + static_cast(127)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(264), ctx.gpr[19]); ctx.gpr[19] = (ctx.gpr[18] + static_cast(4)); ctx.gpr[18] = (ctx.gpr[18] + static_cast(8)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(272), ctx.gpr[18]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(276), ctx.gpr[19]); - ctx.gpr[18] = (aot_gpr_29 + static_cast(139)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(272), ctx.gpr[18]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(276), ctx.gpr[19]); + ctx.gpr[18] = (ctx.gpr[29] + static_cast(139)); ctx.gpr[19] = (ctx.gpr[18] + static_cast(4)); ctx.gpr[18] = (ctx.gpr[18] + static_cast(8)); aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_22)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(284), ctx.gpr[18]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(284), ctx.gpr[18]); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(161), static_cast(aot_gpr_4)); - ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(232))); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(161), static_cast(aot_gpr_4)); + ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(232))); aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(8))); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(155), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(155), static_cast(aot_gpr_4)); ctx.gpr[1] = (static_cast(static_cast(aot_gpr_4) >> 8u)); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(156), static_cast(ctx.gpr[1])); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(156), static_cast(ctx.gpr[1])); aot_gpr_4 = (2237u << 16u); ctx.gpr[18] = (aot_gpr_4 + static_cast(-28736)); aot_gpr_4 = (ctx.gpr[18] | 0u); @@ -7219,19 +7220,19 @@ L_088EAEC0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0056_entry, 56u, 164u, 0x088E4C6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EAF38u) goto L_088EAF38; AOT_REGCACHE_SYNC_OUT(); return; L_088EAF38: - aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(8))); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(244)))))); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(157), static_cast(aot_gpr_4)); + aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(8))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[29] + static_cast(244)))))); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(157), static_cast(aot_gpr_4)); ctx.gpr[1] = (static_cast(static_cast(aot_gpr_4) >> 8u)); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(158), static_cast(ctx.gpr[1])); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(248))); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(159), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(158), static_cast(ctx.gpr[1])); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(248))); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(159), static_cast(aot_gpr_5)); ctx.gpr[1] = (static_cast(static_cast(aot_gpr_5) >> 8u)); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(160), static_cast(ctx.gpr[1])); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(162), static_cast(aot_gpr_4)); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(163), static_cast(aot_gpr_16)); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(164), static_cast(ctx.gpr[23])); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(165), static_cast(ctx.gpr[30])); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(160), static_cast(ctx.gpr[1])); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(162), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(163), static_cast(aot_gpr_16)); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(164), static_cast(ctx.gpr[23])); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(165), static_cast(ctx.gpr[30])); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store_word_left(ctx.gpr[20] + static_cast(3), aot_gpr_4); @@ -7242,52 +7243,52 @@ L_088EAF38: aot_mem.aot_direct_store_word_right(ctx.gpr[22] + static_cast(0), aot_gpr_4); ctx.fpr[14] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); aot_gpr_4 = (std::bit_cast(ctx.fpr[14])); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(264))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(264))); aot_mem.aot_direct_store_word_left(aot_gpr_5 + static_cast(3), aot_gpr_4); aot_mem.aot_direct_store_word_right(aot_gpr_5 + static_cast(0), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(260))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(260))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_5 = (std::bit_cast(aot_fpr_12)); - aot_gpr_6 = (aot_gpr_29 + static_cast(127)); + aot_gpr_6 = (ctx.gpr[29] + static_cast(127)); aot_mem.aot_direct_store_word_left(aot_gpr_6 + static_cast(3), aot_gpr_5); aot_mem.aot_direct_store_word_right(aot_gpr_6 + static_cast(0), aot_gpr_5); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_5 = (std::bit_cast(aot_fpr_13)); - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(276))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(276))); aot_mem.aot_direct_store_word_left(aot_gpr_6 + static_cast(3), aot_gpr_5); aot_mem.aot_direct_store_word_right(aot_gpr_6 + static_cast(0), aot_gpr_5); ctx.fpr[14] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); aot_gpr_4 = (std::bit_cast(ctx.fpr[14])); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(272))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(272))); aot_mem.aot_direct_store_word_left(aot_gpr_5 + static_cast(3), aot_gpr_4); aot_mem.aot_direct_store_word_right(aot_gpr_5 + static_cast(0), aot_gpr_4); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(16))); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); - aot_gpr_5 = (aot_gpr_29 + static_cast(139)); + aot_gpr_5 = (ctx.gpr[29] + static_cast(139)); aot_mem.aot_direct_store_word_left(aot_gpr_5 + static_cast(3), aot_gpr_4); aot_mem.aot_direct_store_word_right(aot_gpr_5 + static_cast(0), aot_gpr_4); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(20))); aot_gpr_4 = (std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store_word_left(ctx.gpr[19] + static_cast(3), aot_gpr_4); aot_mem.aot_direct_store_word_right(ctx.gpr[19] + static_cast(0), aot_gpr_4); - ctx.fpr[14] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); + ctx.fpr[14] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(24))); aot_gpr_4 = (std::bit_cast(ctx.fpr[14])); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(284))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(284))); aot_mem.aot_direct_store_word_left(aot_gpr_5 + static_cast(3), aot_gpr_4); aot_mem.aot_direct_store_word_right(aot_gpr_5 + static_cast(0), aot_gpr_4); ctx.gpr[1] = (std::bit_cast(aot_fpr_20)); - aot_mem.aot_direct_store_word_right(aot_gpr_29 + static_cast(151), ctx.gpr[1]); - aot_mem.aot_direct_store_word_left(aot_gpr_29 + static_cast(154), ctx.gpr[1]); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(232))); + aot_mem.aot_direct_store_word_right(ctx.gpr[29] + static_cast(151), ctx.gpr[1]); + aot_mem.aot_direct_store_word_left(ctx.gpr[29] + static_cast(154), ctx.gpr[1]); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(232))); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(3)))))); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x088EB038u); - aot_gpr_5 = (aot_gpr_29 + static_cast(112)); + aot_gpr_5 = (ctx.gpr[29] + static_cast(112)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 189u, 0x08ADCA34u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EB038u) goto L_088EB038; AOT_REGCACHE_SYNC_OUT(); return; L_088EB038: { std::uint32_t aot_run_words[13]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(288), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(288), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); aot_fpr_22 = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); @@ -7303,15 +7304,15 @@ L_088EB038: aot_gpr_31 = aot_run_words[12]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(352)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(352)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_088EB074: - aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-48)); { const std::uint32_t aot_run_words[8]{std::bit_cast(aot_fpr_20), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_31}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(12), aot_run_words); } + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(12), aot_run_words); } ctx.gpr[17] = (aot_gpr_5 | 0u); aot_gpr_16 = (aot_gpr_4 | 0u); ctx.gpr[18] = (aot_gpr_6 & 255u); @@ -7323,10 +7324,10 @@ L_088EB074: aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); aot_gpr_31 = (0x088EB0C4u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EB0C4u) goto L_088EB0C4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EB0C4u) goto L_088EB0C4; AOT_REGCACHE_SYNC_OUT(); return; L_088EB0C4: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(4))); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -7341,7 +7342,7 @@ L_088EB0D4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 327u, 0x08911284u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EB0DCu) goto L_088EB0DC; AOT_REGCACHE_SYNC_OUT(); return; L_088EB0DC: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088EB0F4; @@ -7417,7 +7418,7 @@ L_088EB144: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0036_entry, 36u, 273u, 0x088954ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EB14Cu) goto L_088EB14C; AOT_REGCACHE_SYNC_OUT(); return; L_088EB14C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088EB1DC; @@ -7448,7 +7449,7 @@ L_088EB17C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EB18Cu) goto L_088EB18C; AOT_REGCACHE_SYNC_OUT(); return; L_088EB18C: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -7464,7 +7465,7 @@ L_088EB198: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EB1A8u) goto L_088EB1A8; AOT_REGCACHE_SYNC_OUT(); return; L_088EB1A8: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); goto L_088EB1AC; L_088EB1AC: { const bool branch_taken = aot_gpr_4 == 0u; @@ -7521,10 +7522,10 @@ L_088EB1F0: L_088EB200: aot_gpr_31 = (0x088EB208u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EB208u) goto L_088EB208; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EB208u) goto L_088EB208; AOT_REGCACHE_SYNC_OUT(); return; L_088EB208: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088EB238; @@ -7611,10 +7612,10 @@ L_088EB26C: L_088EB274: aot_gpr_31 = (0x088EB27Cu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EB27Cu) goto L_088EB27C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EB27Cu) goto L_088EB27C; AOT_REGCACHE_SYNC_OUT(); return; L_088EB27C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088EB2E8; @@ -7649,7 +7650,7 @@ L_088EB290: L_088EB2C4: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23172))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23176))); - aot_gpr_4 = (ctx.gpr[2] & aot_gpr_4); + aot_gpr_4 = (aot_gpr_2 & aot_gpr_4); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23236))); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23240))); { const bool branch_taken = aot_gpr_4 != aot_gpr_6; @@ -7680,7 +7681,7 @@ L_088EB2F4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088EB30Cu); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EB30Cu) goto L_088EB30C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EB30Cu) goto L_088EB30C; AOT_REGCACHE_SYNC_OUT(); return; L_088EB30C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(0))); @@ -7696,15 +7697,15 @@ L_088EB30C: } L_088EB324: aot_gpr_5 = (0u | 5u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), aot_gpr_5); aot_gpr_5 = (0u | 8u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_5); aot_gpr_5 = (0u | 9u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(8), aot_gpr_5); ctx.gpr[18] = (0u | 0u); aot_gpr_5 = (49520u << 16u); aot_fpr_20 = std::bit_cast(aot_gpr_5); - ctx.gpr[20] = (aot_gpr_29 | 0u); + ctx.gpr[20] = (ctx.gpr[29] | 0u); goto L_088EB34C; L_088EB34C: aot_gpr_5 = (aot_gpr_4 | 0u); @@ -7714,7 +7715,7 @@ L_088EB34C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EB35Cu) goto L_088EB35C; AOT_REGCACHE_SYNC_OUT(); return; L_088EB35C: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -7786,7 +7787,7 @@ L_088EB3CC: AOT_REGCACHE_SYNC_OUT(); return; L_088EB3DC: { const bool branch_taken = 0u == 0u; - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (branch_taken) { goto L_088EB3F8; } @@ -7802,7 +7803,7 @@ L_088EB3E8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EB3F4u) goto L_088EB3F4; AOT_REGCACHE_SYNC_OUT(); return; L_088EB3F4: - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); goto L_088EB3F8; L_088EB3F8: if (aot_gpr_5 == 0u) { @@ -7895,7 +7896,7 @@ L_088EB480: AOT_REGCACHE_SYNC_OUT(); return; L_088EB498: { const bool branch_taken = 0u == 0u; - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); if (branch_taken) { goto L_088EB60C; } @@ -7941,7 +7942,7 @@ L_088EB4F4: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23228))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23232))); aot_gpr_5 = (ctx.gpr[3] & aot_gpr_5); - aot_gpr_4 = (ctx.gpr[2] & aot_gpr_4); + aot_gpr_4 = (aot_gpr_2 & aot_gpr_4); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23236))); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23240))); { const bool branch_taken = aot_gpr_4 != aot_gpr_6; @@ -7970,10 +7971,10 @@ L_088EB51C: L_088EB524: aot_gpr_31 = (0x088EB52Cu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EB52Cu) goto L_088EB52C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EB52Cu) goto L_088EB52C; AOT_REGCACHE_SYNC_OUT(); return; L_088EB52C: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); if (branch_taken) { goto L_088EB5F4; @@ -8009,7 +8010,7 @@ L_088EB574: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23228))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23232))); aot_gpr_5 = (ctx.gpr[3] & aot_gpr_5); - aot_gpr_4 = (ctx.gpr[2] & aot_gpr_4); + aot_gpr_4 = (aot_gpr_2 & aot_gpr_4); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23236))); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23240))); { const bool branch_taken = aot_gpr_4 != aot_gpr_6; @@ -8051,7 +8052,7 @@ L_088EB5BC: AOT_REGCACHE_SYNC_OUT(); return; L_088EB5D0: { const bool branch_taken = 0u == 0u; - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); if (branch_taken) { goto L_088EB60C; } @@ -8067,7 +8068,7 @@ L_088EB5D8: AOT_REGCACHE_SYNC_OUT(); return; L_088EB5EC: { const bool branch_taken = 0u == 0u; - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); if (branch_taken) { goto L_088EB60C; } @@ -8082,7 +8083,7 @@ L_088EB5F4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 175u, 0x089089B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EB608u) goto L_088EB608; AOT_REGCACHE_SYNC_OUT(); return; L_088EB608: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); goto L_088EB60C; L_088EB60C: { const bool branch_taken = ctx.gpr[18] == 0u; @@ -8110,10 +8111,10 @@ L_088EB628: L_088EB630: aot_gpr_31 = (0x088EB638u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EB638u) goto L_088EB638; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EB638u) goto L_088EB638; AOT_REGCACHE_SYNC_OUT(); return; L_088EB638: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_088EB64C; @@ -8128,7 +8129,7 @@ L_088EB640: AOT_REGCACHE_SYNC_OUT(); return; L_088EB64C: { std::uint32_t aot_run_words[8]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(12), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(12), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); aot_gpr_16 = aot_run_words[1]; ctx.gpr[17] = aot_run_words[2]; @@ -8139,21 +8140,21 @@ L_088EB64C: aot_gpr_31 = aot_run_words[7]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(48)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(48)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_088EB674: - aot_gpr_29 = (aot_gpr_29 + static_cast(-208)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-208)); { const std::uint32_t aot_run_words[16]{std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_22), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(132), aot_run_words); } + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(132), aot_run_words); } ctx.gpr[22] = (ctx.gpr[8] & 255u); aot_fpr_20 = std::bit_cast(std::bit_cast(aot_fpr_12)); ctx.gpr[8] = (0u | 0u); ctx.gpr[10] = (0u | 0u); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(120), static_cast(ctx.gpr[8])); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(121), static_cast(ctx.gpr[10])); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(120), static_cast(ctx.gpr[8])); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(121), static_cast(ctx.gpr[10])); ctx.gpr[20] = (0u | 16u); ctx.gpr[8] = (16512u << 16u); aot_fpr_22 = std::bit_cast(ctx.gpr[8]); @@ -8166,7 +8167,7 @@ L_088EB674: ctx.gpr[23] = (aot_gpr_6 | 0u); ctx.gpr[30] = (ctx.gpr[7] | 0u); { const bool branch_taken = ctx.gpr[8] == 0u; - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(124), ctx.gpr[9]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(124), ctx.gpr[9]); if (branch_taken) { goto L_088EB758; } @@ -8177,11 +8178,11 @@ L_088EB704: aot_gpr_16 = (aot_gpr_16 + static_cast(-28736)); aot_gpr_31 = (0x088EB714u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EB714u) goto L_088EB714; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC734, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EB714u) goto L_088EB714; AOT_REGCACHE_SYNC_OUT(); return; L_088EB714: aot_gpr_4 = (0u | 4u); - { const bool branch_taken = ctx.gpr[2] != aot_gpr_4; + { const bool branch_taken = aot_gpr_2 != aot_gpr_4; aot_gpr_4 = (0u | 46u); if (branch_taken) { goto L_088EB758; @@ -8202,7 +8203,7 @@ L_088EB728: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 195u, 0x08910B38u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EB730u) goto L_088EB730; AOT_REGCACHE_SYNC_OUT(); return; L_088EB730: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088EB758; @@ -8235,7 +8236,7 @@ L_088EB758: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EB760u) goto L_088EB760; AOT_REGCACHE_SYNC_OUT(); return; L_088EB760: - { const bool branch_taken = ctx.gpr[21] == ctx.gpr[2]; + { const bool branch_taken = ctx.gpr[21] == aot_gpr_2; aot_gpr_16 = (0u | 17u); if (branch_taken) { goto L_088EB778; @@ -8252,7 +8253,7 @@ L_088EB768: } L_088EB770: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0058_entry, 58u, 308u, 0x088ED0E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } @@ -8310,7 +8311,7 @@ L_088EB7D8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EB7E0u) goto L_088EB7E0; AOT_REGCACHE_SYNC_OUT(); return; L_088EB7E0: - { const bool branch_taken = ctx.gpr[19] != ctx.gpr[2]; + { const bool branch_taken = ctx.gpr[19] != aot_gpr_2; // nop if (branch_taken) { goto L_088EB8DC; @@ -8323,7 +8324,7 @@ L_088EB7E8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EB7F0u) goto L_088EB7F0; AOT_REGCACHE_SYNC_OUT(); return; L_088EB7F0: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(3261)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(3261)))))); aot_gpr_4 = (aot_gpr_4 & 16u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -8350,7 +8351,7 @@ L_088EB808: } L_088EB810: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0058_entry, 58u, 308u, 0x088ED0E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } @@ -8390,7 +8391,7 @@ L_088EB858: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 762u, 0x089AB910u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EB860u) goto L_088EB860; AOT_REGCACHE_SYNC_OUT(); return; L_088EB860: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088EB878; @@ -8413,7 +8414,7 @@ L_088EB870: } L_088EB878: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0058_entry, 58u, 308u, 0x088ED0E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } @@ -8453,7 +8454,7 @@ L_088EB8B8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EB8C0u) goto L_088EB8C0; AOT_REGCACHE_SYNC_OUT(); return; L_088EB8C0: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x088EB8CCu); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 668u, 0x0894751Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EB8CCu) goto L_088EB8CC; @@ -8468,7 +8469,7 @@ L_088EB8CC: } L_088EB8D4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0058_entry, 58u, 308u, 0x088ED0E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } @@ -8511,7 +8512,7 @@ L_088EB908: } L_088EB910: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0058_entry, 58u, 308u, 0x088ED0E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } @@ -8549,7 +8550,7 @@ L_088EB940: } L_088EB948: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0058_entry, 58u, 308u, 0x088ED0E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } @@ -8561,7 +8562,7 @@ L_088EB950: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 195u, 0x08910B38u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EB958u) goto L_088EB958; AOT_REGCACHE_SYNC_OUT(); return; L_088EB958: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088EB970; @@ -8607,7 +8608,7 @@ L_088EB98C: } L_088EB994: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0058_entry, 58u, 308u, 0x088ED0E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } @@ -8619,7 +8620,7 @@ L_088EB99C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EB9A4u) goto L_088EB9A4; AOT_REGCACHE_SYNC_OUT(); return; L_088EB9A4: - { const bool branch_taken = ctx.gpr[21] == ctx.gpr[2]; + { const bool branch_taken = ctx.gpr[21] == aot_gpr_2; // nop if (branch_taken) { goto L_088EB9CC; @@ -8632,7 +8633,7 @@ L_088EB9AC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EB9B4u) goto L_088EB9B4; AOT_REGCACHE_SYNC_OUT(); return; L_088EB9B4: - { const bool branch_taken = ctx.gpr[21] == ctx.gpr[2]; + { const bool branch_taken = ctx.gpr[21] == aot_gpr_2; // nop if (branch_taken) { goto L_088EB9CC; @@ -8658,10 +8659,10 @@ L_088EB9C4: L_088EB9CC: aot_gpr_31 = (0x088EB9D4u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EB9D4u) goto L_088EB9D4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EB9D4u) goto L_088EB9D4; AOT_REGCACHE_SYNC_OUT(); return; L_088EB9D4: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088EB9F8; @@ -8681,7 +8682,7 @@ L_088EB9DC: } L_088EB9F0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0058_entry, 58u, 308u, 0x088ED0E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } @@ -8733,10 +8734,10 @@ L_088EBA2C: L_088EBA34: aot_gpr_31 = (0x088EBA3Cu); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EBA3Cu) goto L_088EBA3C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EBA3Cu) goto L_088EBA3C; AOT_REGCACHE_SYNC_OUT(); return; L_088EBA3C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088EBB1C; @@ -8747,16 +8748,16 @@ L_088EBA44: ctx.gpr[17] = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x088EBA50u); aot_gpr_4 = (ctx.gpr[23] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EBA50u) goto L_088EBA50; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EBA50u) goto L_088EBA50; AOT_REGCACHE_SYNC_OUT(); return; L_088EBA50: - aot_gpr_16 = (ctx.gpr[2] | 0u); + aot_gpr_16 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x088EBA5Cu); aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 58u, 0x08AD0600u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EBA5Cu) goto L_088EBA5C; AOT_REGCACHE_SYNC_OUT(); return; L_088EBA5C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088EBA84; @@ -8811,10 +8812,10 @@ L_088EBAA0: } L_088EBAB4: aot_gpr_4 = (0u | 5u); - aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(24), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store16(ctx.gpr[29] + static_cast(24), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(8680))); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(26), static_cast(aot_gpr_4)); - ctx.gpr[18] = (aot_gpr_29 + static_cast(24)); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(26), static_cast(aot_gpr_4)); + ctx.gpr[18] = (ctx.gpr[29] + static_cast(24)); aot_gpr_16 = (2237u << 16u); aot_gpr_16 = (aot_gpr_16 + static_cast(-28736)); aot_gpr_4 = (aot_gpr_16 | 0u); @@ -8823,8 +8824,8 @@ L_088EBAB4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0056_entry, 56u, 164u, 0x088E4C6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EBADCu) goto L_088EBADC; AOT_REGCACHE_SYNC_OUT(); return; L_088EBADC: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(3)))))); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(27), static_cast(aot_gpr_4)); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(3)))))); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(27), static_cast(aot_gpr_4)); aot_gpr_4 = (17279u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); @@ -8838,7 +8839,7 @@ L_088EBADC: L_088EBB00: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_13)); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(28), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(28), static_cast(aot_gpr_4)); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(3)))))); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088EBB1Cu); @@ -8848,10 +8849,10 @@ L_088EBB00: L_088EBB1C: aot_gpr_31 = (0x088EBB24u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EBB24u) goto L_088EBB24; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EBB24u) goto L_088EBB24; AOT_REGCACHE_SYNC_OUT(); return; L_088EBB24: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; aot_gpr_4 = (0u | 2u); if (branch_taken) { goto L_088EBB64; @@ -8930,7 +8931,7 @@ L_088EBB78: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0055_entry, 55u, 563u, 0x088E3DD8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EBB8Cu) goto L_088EBB8C; AOT_REGCACHE_SYNC_OUT(); return; L_088EBB8C: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_088EBC68; @@ -8946,7 +8947,7 @@ L_088EBB94: L_088EBBA0: aot_gpr_4 = (16384u << 16u); ctx.fpr[24] = std::bit_cast(aot_gpr_4); - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; { const float fs = aot_fpr_22; const float ft = ctx.fpr[24]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[24] = std::bit_cast(0x7FC00000u); else ctx.fpr[24] = fs * ft; } if (branch_taken) { goto L_088EBBB8; @@ -8991,7 +8992,7 @@ L_088EBBDC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 211u, 0x0886D4F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EBBE8u) goto L_088EBBE8; AOT_REGCACHE_SYNC_OUT(); return; L_088EBBE8: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -9135,7 +9136,7 @@ L_088EBCB8: } L_088EBCC0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0058_entry, 58u, 308u, 0x088ED0E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } @@ -9150,7 +9151,7 @@ L_088EBCC8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0055_entry, 55u, 563u, 0x088E3DD8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EBCDCu) goto L_088EBCDC; AOT_REGCACHE_SYNC_OUT(); return; L_088EBCDC: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_088EBD18; @@ -9165,7 +9166,7 @@ L_088EBCE4: AOT_REGCACHE_SYNC_OUT(); return; L_088EBCF0: aot_gpr_4 = (16384u << 16u); - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; ctx.fpr[28] = std::bit_cast(aot_gpr_4); if (branch_taken) { goto L_088EBD04; @@ -9319,7 +9320,7 @@ L_088EBDA8: } L_088EBDB0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0058_entry, 58u, 308u, 0x088ED0E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } @@ -9334,7 +9335,7 @@ L_088EBDB8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0055_entry, 55u, 563u, 0x088E3DD8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EBDCCu) goto L_088EBDCC; AOT_REGCACHE_SYNC_OUT(); return; L_088EBDCC: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_088EBE08; @@ -9349,7 +9350,7 @@ L_088EBDD4: AOT_REGCACHE_SYNC_OUT(); return; L_088EBDE0: aot_gpr_4 = (16384u << 16u); - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; ctx.fpr[28] = std::bit_cast(aot_gpr_4); if (branch_taken) { goto L_088EBDF4; @@ -9486,10 +9487,10 @@ L_088EBE74: L_088EBE88: aot_gpr_31 = (0x088EBE90u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EBE90u) goto L_088EBE90; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EBE90u) goto L_088EBE90; AOT_REGCACHE_SYNC_OUT(); return; L_088EBE90: - if (ctx.gpr[2] != 0u) { + if (aot_gpr_2 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7080))); goto L_088EBEB8; } @@ -9504,7 +9505,7 @@ L_088EBE98: } L_088EBEA0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0058_entry, 58u, 308u, 0x088ED0E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } @@ -9599,10 +9600,10 @@ L_088EBEFC: L_088EBF08: aot_gpr_31 = (0x088EBF10u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EBF10u) goto L_088EBF10; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EBF10u) goto L_088EBF10; AOT_REGCACHE_SYNC_OUT(); return; L_088EBF10: - aot_gpr_4 = (ctx.gpr[2] & 65535u); + aot_gpr_4 = (aot_gpr_2 & 65535u); { const bool branch_taken = 0u == 0u; aot_gpr_4 = (aot_gpr_4 & 7u); if (branch_taken) { @@ -9613,10 +9614,10 @@ L_088EBF10: L_088EBF1C: aot_gpr_31 = (0x088EBF24u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EBF24u) goto L_088EBF24; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EBF24u) goto L_088EBF24; AOT_REGCACHE_SYNC_OUT(); return; L_088EBF24: - aot_gpr_4 = (ctx.gpr[2] & 65535u); + aot_gpr_4 = (aot_gpr_2 & 65535u); aot_gpr_4 = (aot_gpr_4 & 15u); goto L_088EBF2C; L_088EBF2C: @@ -9719,7 +9720,7 @@ L_088EBF9C: L_088EBFA0: aot_gpr_4 = (0u | 0u); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(120), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(120), static_cast(aot_gpr_4)); if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0058_entry, 58u, 18u, 0x088EC0E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } @@ -9756,9 +9757,9 @@ L_088EBFD0: AOT_REGCACHE_SYNC_OUT(); return; L_088EBFE8: aot_gpr_4 = (0u | 1u); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(120), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(120), static_cast(aot_gpr_4)); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(121), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(121), static_cast(aot_gpr_4)); if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0058_entry, 58u, 18u, 0x088EC0E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } diff --git a/profiles/vcs/generated/generated_unit_0058.cpp b/profiles/vcs/generated/generated_unit_0058.cpp index baf6e2a..ebc237a 100644 --- a/profiles/vcs/generated/generated_unit_0058.cpp +++ b/profiles/vcs/generated/generated_unit_0058.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0058[4096] = { }; void recomp_unit_0058_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,31,16,19 fprs=12,13,14,20 gpr_occ=3428 fpr_occ=682 gpr_total=4630 fpr_total=876 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,31,2,6,29 fprs=12,13,14,20 gpr_occ=3543 fpr_occ=687 gpr_total=4985 fpr_total=881 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; - std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; - std::uint32_t aot_gpr_16 = ctx.gpr[16]; - std::uint32_t aot_gpr_19 = ctx.gpr[19]; + std::uint32_t aot_gpr_2 = ctx.gpr[2]; + std::uint32_t aot_gpr_6 = ctx.gpr[6]; + std::uint32_t aot_gpr_29 = ctx.gpr[29]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_14 = ctx.fpr[14]; float aot_fpr_20 = ctx.fpr[20]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[31] = aot_gpr_31; ctx.gpr[16] = aot_gpr_16; ctx.gpr[19] = aot_gpr_19; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[20] = aot_fpr_20; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_19 = ctx.gpr[19]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_20 = ctx.fpr[20]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[31] = aot_gpr_31; ctx.gpr[2] = aot_gpr_2; ctx.gpr[6] = aot_gpr_6; ctx.gpr[29] = aot_gpr_29; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[20] = aot_fpr_20; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_2 = ctx.gpr[2]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_29 = ctx.gpr[29]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_20 = ctx.fpr[20]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -1103,9 +1104,9 @@ L_088EC018: } L_088EC024: ctx.gpr[20] = (0u | 22u); - ctx.gpr[6] = (ctx.gpr[22] << 24u); - ctx.gpr[6] = (static_cast(static_cast(ctx.gpr[6]) >> 24u)); - aot_gpr_4 = (aot_gpr_19 | 0u); + aot_gpr_6 = (ctx.gpr[22] << 24u); + aot_gpr_6 = (static_cast(static_cast(aot_gpr_6) >> 24u)); + aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x088EC03Cu); aot_gpr_5 = (0u | 3u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0055_entry, 55u, 547u, 0x088E3C60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EC03Cu) goto L_088EC03C; @@ -1133,9 +1134,9 @@ L_088EC04C: } L_088EC058: ctx.gpr[20] = (0u | 23u); - ctx.gpr[6] = (ctx.gpr[22] << 24u); - ctx.gpr[6] = (static_cast(static_cast(ctx.gpr[6]) >> 24u)); - aot_gpr_4 = (aot_gpr_19 | 0u); + aot_gpr_6 = (ctx.gpr[22] << 24u); + aot_gpr_6 = (static_cast(static_cast(aot_gpr_6) >> 24u)); + aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x088EC070u); aot_gpr_5 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0055_entry, 55u, 547u, 0x088E3C60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EC070u) goto L_088EC070; @@ -1163,9 +1164,9 @@ L_088EC080: } L_088EC08C: ctx.gpr[20] = (0u | 24u); - ctx.gpr[6] = (ctx.gpr[22] << 24u); - ctx.gpr[6] = (static_cast(static_cast(ctx.gpr[6]) >> 24u)); - aot_gpr_4 = (aot_gpr_19 | 0u); + aot_gpr_6 = (ctx.gpr[22] << 24u); + aot_gpr_6 = (static_cast(static_cast(aot_gpr_6) >> 24u)); + aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x088EC0A4u); aot_gpr_5 = (0u | 7u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0055_entry, 55u, 547u, 0x088E3C60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EC0A4u) goto L_088EC0A4; @@ -1193,9 +1194,9 @@ L_088EC0B4: } L_088EC0C0: ctx.gpr[20] = (0u | 25u); - ctx.gpr[6] = (ctx.gpr[22] << 24u); - ctx.gpr[6] = (static_cast(static_cast(ctx.gpr[6]) >> 24u)); - aot_gpr_4 = (aot_gpr_19 | 0u); + aot_gpr_6 = (ctx.gpr[22] << 24u); + aot_gpr_6 = (static_cast(static_cast(aot_gpr_6) >> 24u)); + aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x088EC0D8u); aot_gpr_5 = (0u | 8u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0055_entry, 55u, 547u, 0x088E3C60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EC0D8u) goto L_088EC0D8; @@ -1213,7 +1214,7 @@ L_088EC0E0: goto L_088EC0E8; } L_088EC0E8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_19 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(72))); aot_gpr_5 = (2048u << 16u); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); { const bool branch_taken = aot_gpr_4 != 0u; @@ -1234,14 +1235,14 @@ L_088EC0FC: } L_088EC108: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_088ED0E4; } goto L_088EC110; } L_088EC110: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_19 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(72))); aot_gpr_5 = (4u << 16u); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); { const bool branch_taken = aot_gpr_4 != 0u; @@ -1270,7 +1271,7 @@ L_088EC130: } L_088EC138: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_088ED0E4; } @@ -1278,11 +1279,11 @@ L_088EC138: } L_088EC140: aot_gpr_31 = (0x088EC148u); - aot_gpr_4 = (aot_gpr_19 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EC148u) goto L_088EC148; + aot_gpr_4 = (ctx.gpr[19] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EC148u) goto L_088EC148; AOT_REGCACHE_SYNC_OUT(); return; L_088EC148: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_088EC24C; @@ -1291,11 +1292,11 @@ L_088EC148: } L_088EC150: aot_gpr_31 = (0x088EC158u); - aot_gpr_4 = (aot_gpr_19 | 0u); + aot_gpr_4 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 195u, 0x08910B38u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EC158u) goto L_088EC158; AOT_REGCACHE_SYNC_OUT(); return; L_088EC158: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; aot_gpr_4 = (16256u << 16u); if (branch_taken) { goto L_088EC24C; @@ -1305,8 +1306,8 @@ L_088EC158: L_088EC160: aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_12 = aot_fpr_20 + aot_fpr_12; - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_19 + static_cast(1256))); - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_19 + static_cast(1252))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(1256))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(1252))); aot_fpr_13 = aot_fpr_13 + aot_fpr_14; ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); // nop @@ -1320,11 +1321,11 @@ L_088EC160: L_088EC184: aot_gpr_31 = (0x088EC18Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EC18Cu) goto L_088EC18C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EC18Cu) goto L_088EC18C; AOT_REGCACHE_SYNC_OUT(); return; L_088EC18C: - aot_gpr_16 = (ctx.gpr[2] & 65535u); - aot_gpr_4 = (aot_gpr_16 & 1u); + ctx.gpr[16] = (aot_gpr_2 & 65535u); + aot_gpr_4 = (ctx.gpr[16] & 1u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -1333,15 +1334,15 @@ L_088EC18C: goto L_088EC19C; } L_088EC19C: - ctx.gpr[6] = (ctx.gpr[22] << 24u); - ctx.gpr[6] = (static_cast(static_cast(ctx.gpr[6]) >> 24u)); - aot_gpr_4 = (aot_gpr_19 | 0u); + aot_gpr_6 = (ctx.gpr[22] << 24u); + aot_gpr_6 = (static_cast(static_cast(aot_gpr_6) >> 24u)); + aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x088EC1B0u); aot_gpr_5 = (0u | 3u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0055_entry, 55u, 547u, 0x088E3C60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EC1B0u) goto L_088EC1B0; AOT_REGCACHE_SYNC_OUT(); return; L_088EC1B0: - aot_gpr_4 = (aot_gpr_16 & 2u); + aot_gpr_4 = (ctx.gpr[16] & 2u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -1350,15 +1351,15 @@ L_088EC1B0: goto L_088EC1BC; } L_088EC1BC: - ctx.gpr[6] = (ctx.gpr[22] << 24u); - ctx.gpr[6] = (static_cast(static_cast(ctx.gpr[6]) >> 24u)); - aot_gpr_4 = (aot_gpr_19 | 0u); + aot_gpr_6 = (ctx.gpr[22] << 24u); + aot_gpr_6 = (static_cast(static_cast(aot_gpr_6) >> 24u)); + aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x088EC1D0u); aot_gpr_5 = (0u | 8u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0055_entry, 55u, 547u, 0x088E3C60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EC1D0u) goto L_088EC1D0; AOT_REGCACHE_SYNC_OUT(); return; L_088EC1D0: - aot_gpr_4 = (aot_gpr_16 & 4u); + aot_gpr_4 = (ctx.gpr[16] & 4u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -1367,15 +1368,15 @@ L_088EC1D0: goto L_088EC1DC; } L_088EC1DC: - ctx.gpr[6] = (ctx.gpr[22] << 24u); - ctx.gpr[6] = (static_cast(static_cast(ctx.gpr[6]) >> 24u)); - aot_gpr_4 = (aot_gpr_19 | 0u); + aot_gpr_6 = (ctx.gpr[22] << 24u); + aot_gpr_6 = (static_cast(static_cast(aot_gpr_6) >> 24u)); + aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x088EC1F0u); aot_gpr_5 = (0u | 2u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0055_entry, 55u, 547u, 0x088E3C60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EC1F0u) goto L_088EC1F0; AOT_REGCACHE_SYNC_OUT(); return; L_088EC1F0: - aot_gpr_4 = (aot_gpr_16 & 8u); + aot_gpr_4 = (ctx.gpr[16] & 8u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -1384,15 +1385,15 @@ L_088EC1F0: goto L_088EC1FC; } L_088EC1FC: - ctx.gpr[6] = (ctx.gpr[22] << 24u); - ctx.gpr[6] = (static_cast(static_cast(ctx.gpr[6]) >> 24u)); - aot_gpr_4 = (aot_gpr_19 | 0u); + aot_gpr_6 = (ctx.gpr[22] << 24u); + aot_gpr_6 = (static_cast(static_cast(aot_gpr_6) >> 24u)); + aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x088EC210u); aot_gpr_5 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0055_entry, 55u, 547u, 0x088E3C60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EC210u) goto L_088EC210; AOT_REGCACHE_SYNC_OUT(); return; L_088EC210: - aot_gpr_4 = (aot_gpr_16 & 16u); + aot_gpr_4 = (ctx.gpr[16] & 16u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -1401,15 +1402,15 @@ L_088EC210: goto L_088EC21C; } L_088EC21C: - ctx.gpr[6] = (ctx.gpr[22] << 24u); - ctx.gpr[6] = (static_cast(static_cast(ctx.gpr[6]) >> 24u)); - aot_gpr_4 = (aot_gpr_19 | 0u); + aot_gpr_6 = (ctx.gpr[22] << 24u); + aot_gpr_6 = (static_cast(static_cast(aot_gpr_6) >> 24u)); + aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x088EC230u); aot_gpr_5 = (0u | 7u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0055_entry, 55u, 547u, 0x088E3C60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EC230u) goto L_088EC230; AOT_REGCACHE_SYNC_OUT(); return; L_088EC230: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_19 + static_cast(456))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(456))); aot_gpr_5 = (64u << 16u); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); { const bool branch_taken = aot_gpr_4 == 0u; @@ -1424,7 +1425,7 @@ L_088EC244: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(120), static_cast(aot_gpr_4)); goto L_088EC24C; L_088EC24C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_19 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(72))); aot_gpr_5 = (4u << 16u); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); { const bool branch_taken = aot_gpr_4 != 0u; @@ -1453,7 +1454,7 @@ L_088EC26C: } L_088EC274: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_088ED0E4; } @@ -1539,11 +1540,11 @@ L_088EC2CC: } L_088EC2D4: aot_gpr_31 = (0x088EC2DCu); - aot_gpr_4 = (aot_gpr_19 | 0u); + aot_gpr_4 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0036_entry, 36u, 266u, 0x08895454u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EC2DCu) goto L_088EC2DC; AOT_REGCACHE_SYNC_OUT(); return; L_088EC2DC: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088EC2F0; @@ -1558,14 +1559,14 @@ L_088EC2E4: L_088EC2F0: aot_gpr_31 = (0x088EC2F8u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EC2F8u) goto L_088EC2F8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EC2F8u) goto L_088EC2F8; AOT_REGCACHE_SYNC_OUT(); return; L_088EC2F8: - aot_gpr_4 = (ctx.gpr[2] & 65535u); + aot_gpr_4 = (aot_gpr_2 & 65535u); aot_gpr_4 = (aot_gpr_4 & 3u); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_19 + static_cast(72))); - ctx.gpr[6] = (4096u << 16u); - aot_gpr_5 = (aot_gpr_5 & ctx.gpr[6]); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(72))); + aot_gpr_6 = (4096u << 16u); + aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); { const bool branch_taken = aot_gpr_5 != 0u; // nop if (branch_taken) { @@ -1575,9 +1576,9 @@ L_088EC2F8: } L_088EC314: aot_gpr_5 = (static_cast(ctx.gpr[22]) < 2 ? 1u : 0u); - ctx.gpr[6] = (16384u << 16u); + aot_gpr_6 = (16384u << 16u); { const bool branch_taken = aot_gpr_5 != 0u; - ctx.fpr[30] = std::bit_cast(ctx.gpr[6]); + ctx.fpr[30] = std::bit_cast(aot_gpr_6); if (branch_taken) { goto L_088EC334; } @@ -1593,7 +1594,7 @@ L_088EC324: } L_088EC32C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_088ED0E4; } @@ -1649,8 +1650,8 @@ L_088EC360: goto L_088EC368; } L_088EC368: - ctx.gpr[6] = (0u | 2u); - { const bool branch_taken = ctx.gpr[30] != ctx.gpr[6]; + aot_gpr_6 = (0u | 2u); + { const bool branch_taken = ctx.gpr[30] != aot_gpr_6; aot_gpr_5 = (0u | 1u); if (branch_taken) { goto L_088EC384; @@ -1719,7 +1720,7 @@ L_088EC3B0: goto L_088EC3B8; } L_088EC3B8: - { const bool branch_taken = aot_gpr_4 != ctx.gpr[6]; + { const bool branch_taken = aot_gpr_4 != aot_gpr_6; // nop if (branch_taken) { goto L_088EC3C8; @@ -1746,7 +1747,7 @@ L_088EC3CC: goto L_088EC3D4; } L_088EC3D4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_19 + static_cast(2228))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(2228))); aot_gpr_5 = (0u | 48u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -1775,8 +1776,8 @@ L_088EC3F0: goto L_088EC3F8; } L_088EC3F8: - ctx.gpr[6] = (0u | 2u); - { const bool branch_taken = ctx.gpr[30] != ctx.gpr[6]; + aot_gpr_6 = (0u | 2u); + { const bool branch_taken = ctx.gpr[30] != aot_gpr_6; aot_gpr_5 = (0u | 1u); if (branch_taken) { goto L_088EC414; @@ -1845,7 +1846,7 @@ L_088EC440: goto L_088EC448; } L_088EC448: - { const bool branch_taken = aot_gpr_4 != ctx.gpr[6]; + { const bool branch_taken = aot_gpr_4 != aot_gpr_6; // nop if (branch_taken) { goto L_088EC458; @@ -1872,7 +1873,7 @@ L_088EC45C: goto L_088EC464; } L_088EC464: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_19 + static_cast(2228))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(2228))); aot_gpr_5 = (0u | 48u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -1976,21 +1977,21 @@ L_088EC4C4: aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_gpr_31 = (0x088EC50Cu); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EC50Cu) goto L_088EC50C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EC50Cu) goto L_088EC50C; AOT_REGCACHE_SYNC_OUT(); return; L_088EC50C: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23156))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23160))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23160))); aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x088EC520u); - aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EC520u) goto L_088EC520; + aot_gpr_4 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61EF4, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EC520u) goto L_088EC520; AOT_REGCACHE_SYNC_OUT(); return; L_088EC520: aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x088EC52Cu); - aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EC52Cu) goto L_088EC52C; + aot_gpr_4 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B627F0, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EC52Cu) goto L_088EC52C; AOT_REGCACHE_SYNC_OUT(); return; L_088EC52C: ctx.fpr[28] = std::bit_cast(std::bit_cast(ctx.fpr[0])); @@ -2026,7 +2027,7 @@ L_088EC54C: goto L_088EC558; } L_088EC558: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_19 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(72))); aot_gpr_5 = (4096u << 16u); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); { const bool branch_taken = aot_gpr_4 != 0u; @@ -2055,7 +2056,7 @@ L_088EC578: } L_088EC580: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_088ED0E4; } @@ -2140,7 +2141,7 @@ L_088EC5D8: goto L_088EC5E0; } L_088EC5E0: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_19 + static_cast(1256))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(1256))); aot_gpr_4 = (16256u << 16u); ctx.fpr[30] = std::bit_cast(aot_gpr_4); ctx.gpr[18] = (0u | 47u); @@ -2191,7 +2192,7 @@ L_088EC620: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EC628u) goto L_088EC628; AOT_REGCACHE_SYNC_OUT(); return; L_088EC628: - { const bool branch_taken = aot_gpr_19 != ctx.gpr[2]; + { const bool branch_taken = ctx.gpr[19] != aot_gpr_2; // nop if (branch_taken) { goto L_088EC65C; @@ -2201,18 +2202,18 @@ L_088EC628: L_088EC630: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7800))); - ctx.gpr[6] = (aot_gpr_5 << 8u); + aot_gpr_6 = (aot_gpr_5 << 8u); ctx.gpr[7] = (aot_gpr_5 + aot_gpr_5); aot_gpr_5 = (aot_gpr_5 + ctx.gpr[7]); aot_gpr_5 = (aot_gpr_5 << 5u); - aot_gpr_5 = (ctx.gpr[6] + aot_gpr_5); - ctx.gpr[6] = (2238u << 16u); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(-6992)); - aot_gpr_5 = (aot_gpr_5 + ctx.gpr[6]); + aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); + aot_gpr_6 = (2238u << 16u); + aot_gpr_6 = (aot_gpr_6 + static_cast(-6992)); + aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(228), aot_gpr_4); goto L_088EC65C; L_088EC65C: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_19 + static_cast(1256))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(1256))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_20 < aot_fpr_12)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); @@ -2223,19 +2224,19 @@ L_088EC65C: goto L_088EC670; } L_088EC670: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_19 + static_cast(1256))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(1256))); aot_fpr_20 = aot_fpr_20 - aot_fpr_12; { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_19 + static_cast(1256), std::bit_cast(ctx.fpr[26])); + aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(1256), std::bit_cast(ctx.fpr[26])); if (branch_taken) { goto L_088EC690; } goto L_088EC680; } L_088EC680: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_19 + static_cast(1256))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(1256))); aot_fpr_12 = aot_fpr_12 - aot_fpr_20; - aot_mem.aot_direct_store32(aot_gpr_19 + static_cast(1256), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(1256), std::bit_cast(aot_fpr_12)); aot_fpr_20 = std::bit_cast(std::bit_cast(ctx.fpr[26])); goto L_088EC690; L_088EC690: @@ -2254,7 +2255,7 @@ L_088EC6A0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EC6A8u) goto L_088EC6A8; AOT_REGCACHE_SYNC_OUT(); return; L_088EC6A8: - { const bool branch_taken = aot_gpr_19 != ctx.gpr[2]; + { const bool branch_taken = ctx.gpr[19] != aot_gpr_2; // nop if (branch_taken) { goto L_088EC6DC; @@ -2264,21 +2265,21 @@ L_088EC6A8: L_088EC6B0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7800))); - ctx.gpr[6] = (aot_gpr_5 << 8u); + aot_gpr_6 = (aot_gpr_5 << 8u); ctx.gpr[7] = (aot_gpr_5 + aot_gpr_5); aot_gpr_5 = (aot_gpr_5 + ctx.gpr[7]); aot_gpr_5 = (aot_gpr_5 << 5u); - aot_gpr_5 = (ctx.gpr[6] + aot_gpr_5); - ctx.gpr[6] = (2238u << 16u); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(-6992)); - aot_gpr_5 = (aot_gpr_5 + ctx.gpr[6]); + aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); + aot_gpr_6 = (2238u << 16u); + aot_gpr_6 = (aot_gpr_6 + static_cast(-6992)); + aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(224), aot_gpr_4); goto L_088EC6DC; L_088EC6DC: aot_gpr_4 = (ctx.gpr[23] << 24u); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 24u)); - aot_mem.aot_direct_store8(aot_gpr_19 + static_cast(91), static_cast(aot_gpr_4)); - aot_mem.aot_direct_store32(aot_gpr_19 + static_cast(1864), ctx.gpr[21]); + aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(91), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(1864), ctx.gpr[21]); goto L_088EC6EC; L_088EC6EC: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-1040))); @@ -2332,7 +2333,7 @@ L_088EC72C: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_4 = (aot_gpr_19 + static_cast(48)); + aot_gpr_4 = (ctx.gpr[19] + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -2343,9 +2344,9 @@ L_088EC72C: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>(); - aot_gpr_16 = (aot_gpr_29 + static_cast(32)); + ctx.gpr[16] = (aot_gpr_29 + static_cast(32)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-1040))); @@ -2365,10 +2366,10 @@ L_088EC758: aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); aot_gpr_31 = (0x088EC778u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EC778u) goto L_088EC778; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EC778u) goto L_088EC778; AOT_REGCACHE_SYNC_OUT(); return; L_088EC778: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(64))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(64))); aot_gpr_5 = (0u | 9u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -2379,11 +2380,11 @@ L_088EC778: } L_088EC788: aot_gpr_31 = (0x088EC790u); - aot_gpr_4 = (aot_gpr_19 | 0u); + aot_gpr_4 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 50u, 0x08AD0530u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EC790u) goto L_088EC790; AOT_REGCACHE_SYNC_OUT(); return; L_088EC790: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088EC8E4; @@ -2408,7 +2409,7 @@ L_088EC798: const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -2427,7 +2428,7 @@ L_088EC798: aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<1u>(aot_gpr_4); ctx.execute_vfpu_unary_ct<1u, 1u, 1u, 16u>(); - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -2438,12 +2439,12 @@ L_088EC798: ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 1u, 3u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (0u | 8u); aot_gpr_5 = (ctx.gpr[17] | 0u); - ctx.gpr[6] = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); ctx.gpr[7] = (0u | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[26])); ctx.gpr[8] = (0u | 0u); @@ -2456,7 +2457,7 @@ L_088EC798: L_088EC810: aot_gpr_4 = (0u | 8u); aot_gpr_5 = (ctx.gpr[17] | 0u); - ctx.gpr[6] = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); ctx.gpr[7] = (0u | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[26])); ctx.gpr[8] = (0u | 0u); @@ -2469,10 +2470,10 @@ L_088EC810: L_088EC838: aot_gpr_31 = (0x088EC840u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EC840u) goto L_088EC840; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EC840u) goto L_088EC840; AOT_REGCACHE_SYNC_OUT(); return; L_088EC840: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(128))); if (branch_taken) { goto L_088EC898; @@ -2482,7 +2483,7 @@ L_088EC840: L_088EC848: aot_gpr_4 = (0u | 8u); aot_gpr_5 = (ctx.gpr[17] | 0u); - ctx.gpr[6] = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); ctx.gpr[7] = (0u | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[26])); ctx.gpr[8] = (0u | 0u); @@ -2495,7 +2496,7 @@ L_088EC848: L_088EC870: aot_gpr_4 = (0u | 8u); aot_gpr_5 = (ctx.gpr[17] | 0u); - ctx.gpr[6] = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); ctx.gpr[7] = (0u | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[26])); ctx.gpr[8] = (0u | 0u); @@ -2508,10 +2509,10 @@ L_088EC870: L_088EC898: aot_gpr_31 = (0x088EC8A0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EC8A0u) goto L_088EC8A0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EC8A0u) goto L_088EC8A0; AOT_REGCACHE_SYNC_OUT(); return; L_088EC8A0: - aot_gpr_4 = (ctx.gpr[2] & 65535u); + aot_gpr_4 = (aot_gpr_2 & 65535u); aot_gpr_4 = (aot_gpr_4 & 3u); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -2523,7 +2524,7 @@ L_088EC8A0: L_088EC8B0: { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[26])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(64), aot_run_words); } - ctx.gpr[6] = (aot_gpr_29 + static_cast(64)); + aot_gpr_6 = (aot_gpr_29 + static_cast(64)); aot_gpr_4 = (0u | 81u); aot_gpr_5 = (ctx.gpr[17] | 0u); ctx.gpr[7] = (0u | 0u); @@ -2536,10 +2537,10 @@ L_088EC8B0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0062_entry, 62u, 716u, 0x088FF060u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EC8E4u) goto L_088EC8E4; AOT_REGCACHE_SYNC_OUT(); return; L_088EC8E4: - aot_gpr_4 = (aot_gpr_19 | 0u); + aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (ctx.gpr[23] | 0u); aot_gpr_31 = (0x088EC8F4u); - ctx.gpr[6] = (ctx.gpr[21] | 0u); + aot_gpr_6 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0056_entry, 56u, 113u, 0x088E4910u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EC8F4u) goto L_088EC8F4; AOT_REGCACHE_SYNC_OUT(); return; L_088EC8F4: @@ -2551,14 +2552,14 @@ L_088EC8F4: goto L_088EC8FC; } L_088EC8FC: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_19 + static_cast(80))); - aot_gpr_4 = (aot_gpr_19 | 0u); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(80))); + aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x088EC90Cu); - ctx.gpr[6] = (0u | 130u); + aot_gpr_6 = (0u | 130u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EC90Cu) goto L_088EC90C; AOT_REGCACHE_SYNC_OUT(); return; L_088EC90C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088EC98C; @@ -2566,7 +2567,7 @@ L_088EC90C: goto L_088EC914; } L_088EC914: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_19 + static_cast(1252))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(1252))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[30])) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); @@ -2577,7 +2578,7 @@ L_088EC914: goto L_088EC928; } L_088EC928: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_19 + static_cast(1252))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(1252))); aot_fpr_13 = aot_fpr_12 - aot_fpr_20; aot_gpr_4 = (16544u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); @@ -2591,16 +2592,16 @@ L_088EC928: goto L_088EC948; } L_088EC948: - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_19 + static_cast(1252))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(1252))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 < aot_fpr_12)) ? 0x00800000u : 0u); // nop if (((ctx.fcr31 & 0x00800000u) != 0u)) { - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_19 + static_cast(1252))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(1252))); goto L_088EC95C; } goto L_088EC95C; L_088EC95C: - aot_mem.aot_direct_store32(aot_gpr_19 + static_cast(1252), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(1252), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7080))); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -2615,7 +2616,7 @@ L_088EC96C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EC974u) goto L_088EC974; AOT_REGCACHE_SYNC_OUT(); return; L_088EC974: - { const bool branch_taken = aot_gpr_19 != ctx.gpr[2]; + { const bool branch_taken = ctx.gpr[19] != aot_gpr_2; // nop if (branch_taken) { goto L_088EC984; @@ -2636,7 +2637,7 @@ L_088EC984: goto L_088EC98C; } L_088EC98C: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_19 + static_cast(1252))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(1252))); aot_fpr_12 = aot_fpr_12 - aot_fpr_20; ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[30])) ? 0x00800000u : 0u); // nop @@ -2657,9 +2658,9 @@ L_088EC9A4: goto L_088EC9B0; } L_088EC9B0: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_19 + static_cast(1252))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(1252))); aot_fpr_12 = aot_fpr_12 - aot_fpr_20; - aot_mem.aot_direct_store32(aot_gpr_19 + static_cast(1252), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(1252), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7080))); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -2674,7 +2675,7 @@ L_088EC9C8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EC9D0u) goto L_088EC9D0; AOT_REGCACHE_SYNC_OUT(); return; L_088EC9D0: - { const bool branch_taken = aot_gpr_19 != ctx.gpr[2]; + { const bool branch_taken = ctx.gpr[19] != aot_gpr_2; // nop if (branch_taken) { goto L_088ED0E0; @@ -2696,11 +2697,11 @@ L_088EC9E0: } L_088EC9E8: aot_gpr_31 = (0x088EC9F0u); - aot_gpr_4 = (aot_gpr_19 | 0u); + aot_gpr_4 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 195u, 0x08910B38u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EC9F0u) goto L_088EC9F0; AOT_REGCACHE_SYNC_OUT(); return; L_088EC9F0: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_088ECC34; @@ -2708,25 +2709,25 @@ L_088EC9F0: goto L_088EC9F8; } L_088EC9F8: - aot_mem.aot_direct_store32(aot_gpr_19 + static_cast(1252), std::bit_cast(ctx.fpr[26])); + aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(1252), std::bit_cast(ctx.fpr[26])); aot_gpr_4 = (0u | 152u); { const bool branch_taken = ctx.gpr[20] != aot_gpr_4; - aot_gpr_16 = (0u | 1u); + ctx.gpr[16] = (0u | 1u); if (branch_taken) { goto L_088ECA0C; } goto L_088ECA08; } L_088ECA08: - aot_mem.aot_direct_store32(aot_gpr_19 + static_cast(2092), std::bit_cast(ctx.fpr[26])); + aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(2092), std::bit_cast(ctx.fpr[26])); goto L_088ECA0C; L_088ECA0C: - aot_gpr_4 = (aot_gpr_19 | 0u); + aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (ctx.gpr[20] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[24])); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[28])); aot_gpr_31 = (0x088ECA24u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0070_entry, 70u, 653u, 0x0891F338u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ECA24u) goto L_088ECA24; AOT_REGCACHE_SYNC_OUT(); return; L_088ECA24: @@ -2735,7 +2736,7 @@ L_088ECA24: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ECA2Cu) goto L_088ECA2C; AOT_REGCACHE_SYNC_OUT(); return; L_088ECA2C: - { const bool branch_taken = ctx.gpr[21] == ctx.gpr[2]; + { const bool branch_taken = ctx.gpr[21] == aot_gpr_2; // nop if (branch_taken) { goto L_088ECA4C; @@ -2756,7 +2757,7 @@ L_088ECA3C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ECA44u) goto L_088ECA44; AOT_REGCACHE_SYNC_OUT(); return; L_088ECA44: - { const bool branch_taken = ctx.gpr[21] != ctx.gpr[2]; + { const bool branch_taken = ctx.gpr[21] != aot_gpr_2; // nop if (branch_taken) { goto L_088ECABC; @@ -2764,8 +2765,8 @@ L_088ECA44: goto L_088ECA4C; } L_088ECA4C: - ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(121))); - aot_gpr_4 = (aot_gpr_19 | 0u); + aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(121))); + aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x088ECA5Cu); aot_gpr_5 = (ctx.gpr[23] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 510u, 0x08A360ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ECA5Cu) goto L_088ECA5C; @@ -2773,8 +2774,8 @@ L_088ECA4C: L_088ECA5C: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7800))); aot_gpr_5 = (aot_gpr_4 << 8u); - ctx.gpr[6] = (aot_gpr_4 + aot_gpr_4); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_6 = (aot_gpr_4 + aot_gpr_4); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); aot_gpr_4 = (aot_gpr_4 << 5u); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_5 = (2238u << 16u); @@ -2793,9 +2794,9 @@ L_088ECA5C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ECAA8u) goto L_088ECAA8; AOT_REGCACHE_SYNC_OUT(); return; L_088ECAA8: - aot_gpr_4 = (aot_gpr_19 | 0u); + aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x088ECAB4u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 69u, 0x08910440u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ECAB4u) goto L_088ECAB4; AOT_REGCACHE_SYNC_OUT(); return; L_088ECAB4: @@ -2807,7 +2808,7 @@ L_088ECAB4: goto L_088ECABC; } L_088ECABC: - aot_gpr_4 = (aot_gpr_19 | 0u); + aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x088ECAC8u); aot_gpr_5 = (ctx.gpr[23] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 543u, 0x08A362ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ECAC8u) goto L_088ECAC8; @@ -2821,16 +2822,16 @@ L_088ECAC8: goto L_088ECAD0; } L_088ECAD0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_19 + static_cast(456))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(456))); aot_gpr_5 = (0u + static_cast(-4097)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_19 + static_cast(456), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(456), aot_gpr_4); aot_gpr_31 = (0x088ECAE8u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ECAE8u) goto L_088ECAE8; AOT_REGCACHE_SYNC_OUT(); return; L_088ECAE8: - { const bool branch_taken = aot_gpr_19 != ctx.gpr[2]; + { const bool branch_taken = ctx.gpr[19] != aot_gpr_2; // nop if (branch_taken) { goto L_088ECAFC; @@ -2853,11 +2854,11 @@ L_088ECAFC: } L_088ECB08: aot_gpr_31 = (0x088ECB10u); - aot_gpr_4 = (aot_gpr_19 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ECB10u) goto L_088ECB10; + aot_gpr_4 = (ctx.gpr[19] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ECB10u) goto L_088ECB10; AOT_REGCACHE_SYNC_OUT(); return; L_088ECB10: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088ECC2C; @@ -2896,13 +2897,13 @@ L_088ECB40: goto L_088ECB50; L_088ECB50: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[21] + static_cast(10)))))); - ctx.gpr[6] = (aot_gpr_29 + static_cast(112)); + aot_gpr_6 = (aot_gpr_29 + static_cast(112)); aot_gpr_31 = (0x088ECB60u); aot_gpr_4 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ECB60u) goto L_088ECB60; AOT_REGCACHE_SYNC_OUT(); return; L_088ECB60: - aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast(96), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(112))); aot_mem.aot_direct_store8(ctx.gpr[21] + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(96))); @@ -2943,13 +2944,13 @@ L_088ECBA0: goto L_088ECBAC; L_088ECBAC: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[21] + static_cast(10)))))); - ctx.gpr[6] = (aot_gpr_29 + static_cast(113)); + aot_gpr_6 = (aot_gpr_29 + static_cast(113)); aot_gpr_31 = (0x088ECBBCu); aot_gpr_4 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ECBBCu) goto L_088ECBBC; AOT_REGCACHE_SYNC_OUT(); return; L_088ECBBC: - aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast(96), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(113))); aot_mem.aot_direct_store8(ctx.gpr[21] + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(96))); @@ -2975,13 +2976,13 @@ L_088ECBD8: } L_088ECBE8: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[21] + static_cast(10)))))); - ctx.gpr[6] = (aot_gpr_29 + static_cast(114)); + aot_gpr_6 = (aot_gpr_29 + static_cast(114)); aot_gpr_31 = (0x088ECBF8u); aot_gpr_4 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ECBF8u) goto L_088ECBF8; AOT_REGCACHE_SYNC_OUT(); return; L_088ECBF8: - aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast(96), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(114))); aot_mem.aot_direct_store8(ctx.gpr[21] + static_cast(4), static_cast(aot_gpr_4)); goto L_088ECC04; @@ -3009,7 +3010,7 @@ L_088ECC1C: AOT_REGCACHE_SYNC_OUT(); return; L_088ECC2C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_gpr_16 | 0u); + aot_gpr_2 = (ctx.gpr[16] | 0u); if (branch_taken) { goto L_088ED0E4; } @@ -3024,34 +3025,34 @@ L_088ECC34: goto L_088ECC3C; } L_088ECC3C: - aot_mem.aot_direct_store32(aot_gpr_19 + static_cast(1252), std::bit_cast(ctx.fpr[26])); + aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(1252), std::bit_cast(ctx.fpr[26])); aot_gpr_31 = (0x088ECC48u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ECC48u) goto L_088ECC48; AOT_REGCACHE_SYNC_OUT(); return; L_088ECC48: - { const bool branch_taken = aot_gpr_19 != ctx.gpr[2]; - aot_gpr_16 = (0u | 1u); + { const bool branch_taken = ctx.gpr[19] != aot_gpr_2; + ctx.gpr[16] = (0u | 1u); if (branch_taken) { goto L_088ECC68; } goto L_088ECC50; } L_088ECC50: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_19 + static_cast(1152))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(1152))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); - ctx.gpr[6] = (0u + static_cast(-497)); - aot_gpr_5 = (aot_gpr_5 & ctx.gpr[6]); + aot_gpr_6 = (0u + static_cast(-497)); + aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); aot_gpr_5 = (aot_gpr_5 | 80u); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(72), aot_gpr_5); goto L_088ECC68; L_088ECC68: - aot_gpr_4 = (aot_gpr_19 | 0u); + aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (0u | 173u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[22])); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[26])); aot_gpr_31 = (0x088ECC80u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0070_entry, 70u, 653u, 0x0891F338u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ECC80u) goto L_088ECC80; AOT_REGCACHE_SYNC_OUT(); return; L_088ECC80: @@ -3060,7 +3061,7 @@ L_088ECC80: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ECC88u) goto L_088ECC88; AOT_REGCACHE_SYNC_OUT(); return; L_088ECC88: - { const bool branch_taken = aot_gpr_19 != ctx.gpr[2]; + { const bool branch_taken = ctx.gpr[19] != aot_gpr_2; // nop if (branch_taken) { goto L_088ECC9C; @@ -3083,11 +3084,11 @@ L_088ECC9C: } L_088ECCA8: aot_gpr_31 = (0x088ECCB0u); - aot_gpr_4 = (aot_gpr_19 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ECCB0u) goto L_088ECCB0; + aot_gpr_4 = (ctx.gpr[19] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ECCB0u) goto L_088ECCB0; AOT_REGCACHE_SYNC_OUT(); return; L_088ECCB0: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088ECCC8; @@ -3103,14 +3104,14 @@ L_088ECCB8: AOT_REGCACHE_SYNC_OUT(); return; L_088ECCC8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_gpr_16 | 0u); + aot_gpr_2 = (ctx.gpr[16] | 0u); if (branch_taken) { goto L_088ED0E4; } goto L_088ECCD0; } L_088ECCD0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_19 + static_cast(1152))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(1152))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -3119,7 +3120,7 @@ L_088ECCD0: goto L_088ECCDC; } L_088ECCDC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_19 + static_cast(464))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(464))); aot_gpr_5 = (aot_gpr_4 & 512u); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_4 = (0u | 6u); @@ -3129,7 +3130,7 @@ L_088ECCDC: goto L_088ECCEC; } L_088ECCEC: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_19 + static_cast(1152))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(1152))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(852))); { const bool branch_taken = aot_gpr_5 == aot_gpr_4; // nop @@ -3139,10 +3140,10 @@ L_088ECCEC: goto L_088ECCFC; } L_088ECCFC: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_19 + static_cast(1152))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(1152))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(852))); - ctx.gpr[6] = (0u | 1u); - { const bool branch_taken = aot_gpr_5 != ctx.gpr[6]; + aot_gpr_6 = (0u | 1u); + { const bool branch_taken = aot_gpr_5 != aot_gpr_6; // nop if (branch_taken) { goto L_088ED0DC; @@ -3150,7 +3151,7 @@ L_088ECCFC: goto L_088ECD10; } L_088ECD10: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_19 + static_cast(1252))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(1252))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[30])) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); @@ -3162,7 +3163,7 @@ L_088ECD10: } L_088ECD24: ctx.gpr[17] = (0u | 0u); - ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_19 + static_cast(1152))); + ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(1152))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(852))); { const bool branch_taken = aot_gpr_5 == aot_gpr_4; // nop @@ -3172,10 +3173,10 @@ L_088ECD24: goto L_088ECD38; } L_088ECD38: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_19 + static_cast(1152))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(1152))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(852))); - aot_gpr_16 = (0u | 2u); - { const bool branch_taken = aot_gpr_4 != aot_gpr_16; + ctx.gpr[16] = (0u | 2u); + { const bool branch_taken = aot_gpr_4 != ctx.gpr[16]; // nop if (branch_taken) { goto L_088ECD70; @@ -3183,11 +3184,11 @@ L_088ECD38: goto L_088ECD4C; } L_088ECD4C: - aot_mem.aot_direct_store32(aot_gpr_19 + static_cast(1252), std::bit_cast(ctx.fpr[26])); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_19 + static_cast(1152))); + aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(1252), std::bit_cast(ctx.fpr[26])); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(1152))); aot_gpr_5 = (ctx.gpr[23] | 0u); - ctx.gpr[6] = (ctx.gpr[22] | 0u); - ctx.gpr[7] = (aot_gpr_19 | 0u); + aot_gpr_6 = (ctx.gpr[22] | 0u); + ctx.gpr[7] = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x088ECD68u); ctx.gpr[8] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0192_entry, 192u, 212u, 0x08B04D14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ECD68u) goto L_088ECD68; @@ -3201,9 +3202,9 @@ L_088ECD68: goto L_088ECD70; } L_088ECD70: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_19 + static_cast(1152))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(1152))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(900))); - { const bool branch_taken = aot_gpr_4 != aot_gpr_19; + { const bool branch_taken = aot_gpr_4 != ctx.gpr[19]; // nop if (branch_taken) { goto L_088ECED4; @@ -3212,12 +3213,12 @@ L_088ECD70: } L_088ECD80: aot_gpr_31 = (0x088ECD88u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_19 + static_cast(1152))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ECD88u) goto L_088ECD88; + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(1152))); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B01E00, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ECD88u) goto L_088ECD88; AOT_REGCACHE_SYNC_OUT(); return; L_088ECD88: aot_gpr_4 = (0u | 1u); - { const bool branch_taken = ctx.gpr[2] != aot_gpr_4; + { const bool branch_taken = aot_gpr_2 != aot_gpr_4; // nop if (branch_taken) { goto L_088ECE14; @@ -3225,11 +3226,11 @@ L_088ECD88: goto L_088ECD94; } L_088ECD94: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_19 + static_cast(1152))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(1152))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 496u); aot_gpr_4 = (aot_gpr_4 >> 4u); - { const bool branch_taken = aot_gpr_4 != aot_gpr_16; + { const bool branch_taken = aot_gpr_4 != ctx.gpr[16]; // nop if (branch_taken) { goto L_088ECDCC; @@ -3237,30 +3238,30 @@ L_088ECD94: goto L_088ECDAC; } L_088ECDAC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_19 + static_cast(1152))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(1152))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); - ctx.gpr[6] = (0u + static_cast(-497)); - aot_gpr_5 = (aot_gpr_5 & ctx.gpr[6]); + aot_gpr_6 = (0u + static_cast(-497)); + aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); aot_gpr_5 = (aot_gpr_5 | 48u); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(72), aot_gpr_5); aot_gpr_31 = (0x088ECDCCu); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_19 + static_cast(1152))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(1152))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0207_entry, 207u, 365u, 0x08B41608u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ECDCCu) goto L_088ECDCC; AOT_REGCACHE_SYNC_OUT(); return; L_088ECDCC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_19 + static_cast(1152))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(1152))); aot_gpr_4 = (aot_gpr_4 + static_cast(384)); aot_gpr_5 = (0u | 0u); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(151), static_cast(aot_gpr_5)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_19 + static_cast(1152))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(1152))); aot_gpr_4 = (aot_gpr_4 + static_cast(384)); aot_gpr_5 = (0u | 0u); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(149), static_cast(aot_gpr_5)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_19 + static_cast(1152))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(1152))); aot_gpr_4 = (aot_gpr_4 + static_cast(384)); aot_gpr_5 = (0u | 5u); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(150), static_cast(aot_gpr_5)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_19 + static_cast(1152))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(1152))); aot_gpr_4 = (aot_gpr_4 + static_cast(384)); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_5 = (aot_gpr_5 + static_cast(2000)); @@ -3273,12 +3274,12 @@ L_088ECDCC: } L_088ECE14: aot_gpr_31 = (0x088ECE1Cu); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_19 + static_cast(1152))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ECE1Cu) goto L_088ECE1C; + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(1152))); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B01E00, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ECE1Cu) goto L_088ECE1C; AOT_REGCACHE_SYNC_OUT(); return; L_088ECE1C: aot_gpr_4 = (0u | 3u); - { const bool branch_taken = ctx.gpr[2] != aot_gpr_4; + { const bool branch_taken = aot_gpr_2 != aot_gpr_4; // nop if (branch_taken) { goto L_088ECED4; @@ -3286,7 +3287,7 @@ L_088ECE1C: goto L_088ECE28; } L_088ECE28: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_19 + static_cast(1152))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(1152))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -3295,7 +3296,7 @@ L_088ECE28: goto L_088ECE34; } L_088ECE34: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_19 + static_cast(1152))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(1152))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(852))); aot_gpr_5 = (0u | 4u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; @@ -3308,20 +3309,20 @@ L_088ECE34: L_088ECE48: aot_gpr_31 = (0x088ECE50u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ECE50u) goto L_088ECE50; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ECE50u) goto L_088ECE50; AOT_REGCACHE_SYNC_OUT(); return; L_088ECE50: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 0u); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23300))); aot_gpr_31 = (0x088ECE64u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23304))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ECE64u) goto L_088ECE64; + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23304))); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ECE64u) goto L_088ECE64; AOT_REGCACHE_SYNC_OUT(); return; L_088ECE64: ctx.gpr[1] = (ctx.gpr[3] << 1u); aot_gpr_5 = (static_cast(static_cast(ctx.gpr[3]) >> 31u)); - aot_gpr_4 = (ctx.gpr[2] >> 31u); + aot_gpr_4 = (aot_gpr_2 >> 31u); aot_gpr_4 = (ctx.gpr[1] | aot_gpr_4); aot_gpr_4 = (aot_gpr_4 | 0u); { const bool branch_taken = aot_gpr_4 != 0u; @@ -3346,39 +3347,39 @@ L_088ECE90: aot_fpr_12 = std::bit_cast(aot_gpr_4); goto L_088ECE98; L_088ECE98: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_19 + static_cast(1152))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(1152))); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(1720), std::bit_cast(aot_fpr_12)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_19 + static_cast(1152))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(1152))); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(1969), static_cast(0u)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_19 + static_cast(1152))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(1152))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(92))); aot_gpr_5 = (aot_gpr_5 + static_cast(328)); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); aot_gpr_5 = (ctx.gpr[21] | 0u); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x088ECECCu); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ECECCu) goto L_088ECECC; AOT_REGCACHE_SYNC_OUT(); return; L_088ECECC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (ctx.gpr[17] | 0u); + aot_gpr_2 = (ctx.gpr[17] | 0u); if (branch_taken) { goto L_088ED0E4; } goto L_088ECED4; } L_088ECED4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_19 + static_cast(1152))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(1152))); aot_gpr_31 = (0x088ECEE0u); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 339u, 0x08B012BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ECEE0u) goto L_088ECEE0; AOT_REGCACHE_SYNC_OUT(); return; L_088ECEE0: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088ECF00; @@ -3386,8 +3387,8 @@ L_088ECEE0: goto L_088ECEE8; } L_088ECEE8: - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_19 + static_cast(1152))); - aot_gpr_4 = (aot_gpr_19 | 0u); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(1152))); + aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x088ECEF8u); aot_gpr_5 = (0u | 38u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0178_entry, 178u, 482u, 0x08ACD698u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ECEF8u) goto L_088ECEF8; @@ -3401,8 +3402,8 @@ L_088ECEF8: goto L_088ECF00; } L_088ECF00: - aot_mem.aot_direct_store32(aot_gpr_19 + static_cast(1252), std::bit_cast(ctx.fpr[26])); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_19 + static_cast(1152))); + aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(1252), std::bit_cast(ctx.fpr[26])); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(1152))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -3411,9 +3412,9 @@ L_088ECF00: goto L_088ECF10; } L_088ECF10: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_19 + static_cast(1152))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(1152))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(900))); - { const bool branch_taken = aot_gpr_4 != aot_gpr_19; + { const bool branch_taken = aot_gpr_4 != ctx.gpr[19]; // nop if (branch_taken) { goto L_088ECF40; @@ -3422,24 +3423,24 @@ L_088ECF10: } L_088ECF20: aot_gpr_31 = (0x088ECF28u); - aot_gpr_4 = (aot_gpr_19 | 0u); + aot_gpr_4 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 264u, 0x08910F00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ECF28u) goto L_088ECF28; AOT_REGCACHE_SYNC_OUT(); return; L_088ECF28: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_19 + static_cast(1152))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(1152))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); - ctx.gpr[6] = (0u + static_cast(-497)); - aot_gpr_5 = (aot_gpr_5 & ctx.gpr[6]); + aot_gpr_6 = (0u + static_cast(-497)); + aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); aot_gpr_5 = (aot_gpr_5 | 64u); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(72), aot_gpr_5); goto L_088ECF40; L_088ECF40: - aot_gpr_4 = (aot_gpr_19 | 0u); + aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (ctx.gpr[20] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[24])); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[28])); aot_gpr_31 = (0x088ECF58u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0070_entry, 70u, 653u, 0x0891F338u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ECF58u) goto L_088ECF58; AOT_REGCACHE_SYNC_OUT(); return; L_088ECF58: @@ -3448,7 +3449,7 @@ L_088ECF58: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ECF60u) goto L_088ECF60; AOT_REGCACHE_SYNC_OUT(); return; L_088ECF60: - { const bool branch_taken = ctx.gpr[21] != ctx.gpr[2]; + { const bool branch_taken = ctx.gpr[21] != aot_gpr_2; // nop if (branch_taken) { goto L_088ECFB4; @@ -3456,7 +3457,7 @@ L_088ECF60: goto L_088ECF68; } L_088ECF68: - { const bool branch_taken = ctx.gpr[21] == aot_gpr_19; + { const bool branch_taken = ctx.gpr[21] == ctx.gpr[19]; // nop if (branch_taken) { goto L_088ECFB4; @@ -3466,8 +3467,8 @@ L_088ECF68: L_088ECF70: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7800))); aot_gpr_5 = (aot_gpr_4 << 8u); - ctx.gpr[6] = (aot_gpr_4 + aot_gpr_4); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_6 = (aot_gpr_4 + aot_gpr_4); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); aot_gpr_4 = (aot_gpr_4 << 5u); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_5 = (2238u << 16u); @@ -3483,16 +3484,16 @@ L_088ECF70: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(320), std::bit_cast(aot_fpr_12)); goto L_088ECFB4; L_088ECFB4: - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); goto L_088ECFB8; L_088ECFB8: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x088ECFC4u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ECFC4u) goto L_088ECFC4; AOT_REGCACHE_SYNC_OUT(); return; L_088ECFC4: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; aot_gpr_4 = (ctx.gpr[18] | 0u); if (branch_taken) { goto L_088ECFFC; @@ -3501,11 +3502,11 @@ L_088ECFC4: } L_088ECFCC: aot_gpr_31 = (0x088ECFD4u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ECFD4u) goto L_088ECFD4; AOT_REGCACHE_SYNC_OUT(); return; L_088ECFD4: - { const bool branch_taken = ctx.gpr[2] == aot_gpr_19; + { const bool branch_taken = aot_gpr_2 == ctx.gpr[19]; // nop if (branch_taken) { goto L_088ECFFC; @@ -3523,20 +3524,20 @@ L_088ECFDC: L_088ECFE4: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x088ECFF0u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ECFF0u) goto L_088ECFF0; AOT_REGCACHE_SYNC_OUT(); return; L_088ECFF0: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x088ECFFCu); aot_gpr_5 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0077_entry, 77u, 108u, 0x089387ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ECFFCu) goto L_088ECFFC; AOT_REGCACHE_SYNC_OUT(); return; L_088ECFFC: - aot_gpr_4 = (aot_gpr_16 + static_cast(1)); - aot_gpr_16 = (aot_gpr_4 << 16u); - aot_gpr_16 = (static_cast(static_cast(aot_gpr_16) >> 16u)); - aot_gpr_4 = (static_cast(aot_gpr_16) < 8 ? 1u : 0u); + aot_gpr_4 = (ctx.gpr[16] + static_cast(1)); + ctx.gpr[16] = (aot_gpr_4 << 16u); + ctx.gpr[16] = (static_cast(static_cast(ctx.gpr[16]) >> 16u)); + aot_gpr_4 = (static_cast(ctx.gpr[16]) < 8 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -3555,7 +3556,7 @@ L_088ED014: } L_088ED020: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(900))); - { const bool branch_taken = aot_gpr_4 == aot_gpr_19; + { const bool branch_taken = aot_gpr_4 == ctx.gpr[19]; // nop if (branch_taken) { goto L_088ED040; @@ -3582,7 +3583,7 @@ L_088ED040: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ED048u) goto L_088ED048; AOT_REGCACHE_SYNC_OUT(); return; L_088ED048: - { const bool branch_taken = ctx.gpr[21] == ctx.gpr[2]; + { const bool branch_taken = ctx.gpr[21] == aot_gpr_2; // nop if (branch_taken) { goto L_088ED068; @@ -3603,7 +3604,7 @@ L_088ED058: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ED060u) goto L_088ED060; AOT_REGCACHE_SYNC_OUT(); return; L_088ED060: - { const bool branch_taken = ctx.gpr[21] != ctx.gpr[2]; + { const bool branch_taken = ctx.gpr[21] != aot_gpr_2; // nop if (branch_taken) { goto L_088ED094; @@ -3611,8 +3612,8 @@ L_088ED060: goto L_088ED068; } L_088ED068: - ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(121))); - aot_gpr_4 = (aot_gpr_19 | 0u); + aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(121))); + aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x088ED078u); aot_gpr_5 = (ctx.gpr[23] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 510u, 0x08A360ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ED078u) goto L_088ED078; @@ -3623,9 +3624,9 @@ L_088ED078: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ED080u) goto L_088ED080; AOT_REGCACHE_SYNC_OUT(); return; L_088ED080: - aot_gpr_4 = (aot_gpr_19 | 0u); + aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x088ED08Cu); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 69u, 0x08910440u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ED08Cu) goto L_088ED08C; AOT_REGCACHE_SYNC_OUT(); return; L_088ED08C: @@ -3637,7 +3638,7 @@ L_088ED08C: goto L_088ED094; } L_088ED094: - aot_gpr_4 = (aot_gpr_19 | 0u); + aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x088ED0A0u); aot_gpr_5 = (ctx.gpr[23] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 543u, 0x08A362ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ED0A0u) goto L_088ED0A0; @@ -3653,11 +3654,11 @@ L_088ED0A0: } L_088ED0AC: aot_gpr_31 = (0x088ED0B4u); - aot_gpr_4 = (aot_gpr_19 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ED0B4u) goto L_088ED0B4; + aot_gpr_4 = (ctx.gpr[19] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ED0B4u) goto L_088ED0B4; AOT_REGCACHE_SYNC_OUT(); return; L_088ED0B4: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088ED0CC; @@ -3681,17 +3682,17 @@ L_088ED0CC: } L_088ED0D4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_088ED0E4; } goto L_088ED0DC; } L_088ED0DC: - aot_mem.aot_direct_store32(aot_gpr_19 + static_cast(1252), std::bit_cast(ctx.fpr[30])); + aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(1252), std::bit_cast(ctx.fpr[30])); goto L_088ED0E0; L_088ED0E0: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_088ED0E4; L_088ED0E4: { std::uint32_t aot_run_words[16]{}; @@ -3702,10 +3703,10 @@ L_088ED0E4: ctx.fpr[26] = std::bit_cast(aot_run_words[3]); ctx.fpr[28] = std::bit_cast(aot_run_words[4]); ctx.fpr[30] = std::bit_cast(aot_run_words[5]); - aot_gpr_16 = aot_run_words[6]; + ctx.gpr[16] = aot_run_words[6]; ctx.gpr[17] = aot_run_words[7]; ctx.gpr[18] = aot_run_words[8]; - aot_gpr_19 = aot_run_words[9]; + ctx.gpr[19] = aot_run_words[9]; ctx.gpr[20] = aot_run_words[10]; ctx.gpr[21] = aot_run_words[11]; ctx.gpr[22] = aot_run_words[12]; @@ -3721,24 +3722,24 @@ L_088ED0E4: AOT_REGCACHE_SYNC_OUT(); return; L_088ED12C: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - { const std::uint32_t aot_run_words[6]{std::bit_cast(aot_fpr_20), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_19, aot_gpr_31}; + { const std::uint32_t aot_run_words[6]{std::bit_cast(aot_fpr_20), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - aot_gpr_19 = (aot_gpr_4 | 0u); + ctx.gpr[19] = (aot_gpr_4 | 0u); ctx.gpr[18] = (0u | 0u); - aot_gpr_16 = (aot_gpr_5 | 0u); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1929)))))); + ctx.gpr[16] = (aot_gpr_5 | 0u); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(1929)))))); aot_gpr_5 = (aot_gpr_4 << 5u); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); aot_gpr_31 = (0x088ED174u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ED174u) goto L_088ED174; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ED174u) goto L_088ED174; AOT_REGCACHE_SYNC_OUT(); return; L_088ED174: - ctx.gpr[17] = (ctx.gpr[2] | 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2228))); + ctx.gpr[17] = (aot_gpr_2 | 0u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2228))); aot_gpr_5 = (0u | 16u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -3748,7 +3749,7 @@ L_088ED174: goto L_088ED188; } L_088ED188: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(460))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(460))); aot_gpr_4 = (aot_gpr_4 & 8192u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -3759,11 +3760,11 @@ L_088ED188: } L_088ED198: aot_gpr_31 = (0x088ED1A0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 620u, 0x08906DE4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ED1A0u) goto L_088ED1A0; AOT_REGCACHE_SYNC_OUT(); return; L_088ED1A0: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088ED27C; @@ -3771,7 +3772,7 @@ L_088ED1A0: goto L_088ED1A8; } L_088ED1A8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2228))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2228))); aot_gpr_5 = (0u | 17u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -3794,7 +3795,7 @@ L_088ED1B8: } L_088ED1D0: aot_gpr_5 = (aot_gpr_4 | 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(80))); ctx.gpr[18] = (0u | 0u); if (aot_gpr_5 != 0u) { ctx.gpr[18] = (0u | 217u); @@ -3803,13 +3804,13 @@ L_088ED1D0: goto L_088ED1E4; L_088ED1E4: aot_gpr_5 = (aot_gpr_4 | 0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x088ED1F4u); - ctx.gpr[6] = (ctx.gpr[18] | 0u); + aot_gpr_6 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ED1F4u) goto L_088ED1F4; AOT_REGCACHE_SYNC_OUT(); return; L_088ED1F4: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); goto L_088ED1FC; L_088ED1FC: @@ -3825,7 +3826,7 @@ L_088ED1FC: goto L_088ED214; } L_088ED214: - { const bool branch_taken = aot_gpr_19 == 0u; + { const bool branch_taken = ctx.gpr[19] == 0u; // nop if (branch_taken) { goto L_088ED27C; @@ -3833,15 +3834,15 @@ L_088ED214: goto L_088ED21C; } L_088ED21C: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_19 + static_cast(48)))))); - aot_gpr_19 = (0u | 0u); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(48)))))); + ctx.gpr[19] = (0u | 0u); if (aot_gpr_5 != 0u) { - aot_gpr_19 = (0u | 215u); + ctx.gpr[19] = (0u | 215u); goto L_088ED22C; } goto L_088ED22C; L_088ED22C: - { const bool branch_taken = aot_gpr_4 != aot_gpr_19; + { const bool branch_taken = aot_gpr_4 != ctx.gpr[19]; // nop if (branch_taken) { goto L_088ED27C; @@ -3857,28 +3858,28 @@ L_088ED234: goto L_088ED23C; } L_088ED23C: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(80))); aot_gpr_4 = (16640u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x088ED258u); ctx.gpr[7] = (0u | 155u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 163u, 0x089088F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ED258u) goto L_088ED258; AOT_REGCACHE_SYNC_OUT(); return; L_088ED258: - aot_gpr_16 = (ctx.gpr[2] | 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(32))); + ctx.gpr[16] = (aot_gpr_2 | 0u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(32))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(32))); aot_gpr_31 = (0x088ED26Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 73u, 0x08890474u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ED26Cu) goto L_088ED26C; AOT_REGCACHE_SYNC_OUT(); return; L_088ED26C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(8))); aot_gpr_5 = (0u + static_cast(-2)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(8), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(8), aot_gpr_4); goto L_088ED27C; L_088ED27C: { const bool branch_taken = 0u == 0u; @@ -3889,7 +3890,7 @@ L_088ED27C: goto L_088ED284; } L_088ED284: - { const bool branch_taken = aot_gpr_19 == 0u; + { const bool branch_taken = ctx.gpr[19] == 0u; // nop if (branch_taken) { goto L_088ED364; @@ -3897,7 +3898,7 @@ L_088ED284: goto L_088ED28C; } L_088ED28C: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_19 + static_cast(48)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(48)))))); aot_gpr_5 = (0u | 216u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -3918,14 +3919,14 @@ L_088ED29C: } L_088ED2AC: aot_gpr_31 = (0x088ED2B4u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ED2B4u) goto L_088ED2B4; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ED2B4u) goto L_088ED2B4; AOT_REGCACHE_SYNC_OUT(); return; L_088ED2B4: aot_gpr_4 = (50298u << 16u); aot_fpr_20 = std::bit_cast(aot_gpr_4); ctx.gpr[18] = (2191u << 16u); - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; ctx.gpr[18] = (ctx.gpr[18] + static_cast(-11988)); if (branch_taken) { goto L_088ED300; @@ -3933,7 +3934,7 @@ L_088ED2B4: goto L_088ED2C8; } L_088ED2C8: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(3261)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(3261)))))); aot_gpr_4 = (aot_gpr_4 & 2u); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -3943,11 +3944,11 @@ L_088ED2C8: goto L_088ED2D8; } L_088ED2D8: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1929)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(1929)))))); aot_gpr_5 = (aot_gpr_4 << 5u); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_5 = (0u | 14u); @@ -3960,11 +3961,11 @@ L_088ED2D8: } L_088ED300: aot_gpr_31 = (0x088ED308u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ED308u) goto L_088ED308; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ED308u) goto L_088ED308; AOT_REGCACHE_SYNC_OUT(); return; L_088ED308: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_088ED330; @@ -3972,40 +3973,40 @@ L_088ED308: goto L_088ED310; } L_088ED310: - aot_mem.aot_direct_store32(aot_gpr_19 + static_cast(36), std::bit_cast(aot_fpr_20)); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(64))); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(36), std::bit_cast(aot_fpr_20)); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(80))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(64))); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x088ED328u); ctx.gpr[7] = (0u | 214u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 175u, 0x089089B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ED328u) goto L_088ED328; AOT_REGCACHE_SYNC_OUT(); return; L_088ED328: { const bool branch_taken = 0u == 0u; - aot_gpr_19 = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); if (branch_taken) { goto L_088ED34C; } goto L_088ED330; } L_088ED330: - aot_mem.aot_direct_store32(aot_gpr_19 + static_cast(36), std::bit_cast(aot_fpr_20)); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(64))); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(36), std::bit_cast(aot_fpr_20)); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(80))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(64))); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x088ED348u); ctx.gpr[7] = (0u | 215u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 175u, 0x089089B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ED348u) goto L_088ED348; AOT_REGCACHE_SYNC_OUT(); return; L_088ED348: - aot_gpr_19 = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); goto L_088ED34C; L_088ED34C: - aot_gpr_4 = (aot_gpr_19 | 0u); + aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x088ED35Cu); - ctx.gpr[6] = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ED35Cu) goto L_088ED35C; + aot_gpr_6 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ED35Cu) goto L_088ED35C; AOT_REGCACHE_SYNC_OUT(); return; L_088ED35C: { const bool branch_taken = 0u == 0u; @@ -4016,9 +4017,9 @@ L_088ED35C: goto L_088ED364; } L_088ED364: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(460))); - ctx.gpr[6] = (aot_gpr_5 & 8192u); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(460))); + aot_gpr_6 = (aot_gpr_5 & 8192u); + { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); if (branch_taken) { goto L_088ED43C; @@ -4039,28 +4040,28 @@ L_088ED380: aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); aot_gpr_5 = (aot_gpr_5 & 255u); { const bool branch_taken = aot_gpr_5 == 0u; - ctx.gpr[6] = (aot_gpr_5 | 0u); + aot_gpr_6 = (aot_gpr_5 | 0u); if (branch_taken) { goto L_088ED3B8; } goto L_088ED394; } L_088ED394: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(80))); aot_gpr_4 = (0u | 0u); - if (ctx.gpr[6] != 0u) { + if (aot_gpr_6 != 0u) { aot_gpr_4 = (0u | 217u); goto L_088ED3A4; } goto L_088ED3A4; L_088ED3A4: - ctx.gpr[6] = (aot_gpr_4 | 0u); + aot_gpr_6 = (aot_gpr_4 | 0u); aot_gpr_31 = (0x088ED3B0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ED3B0u) goto L_088ED3B0; AOT_REGCACHE_SYNC_OUT(); return; L_088ED3B0: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); goto L_088ED3B8; L_088ED3B8: @@ -4076,7 +4077,7 @@ L_088ED3B8: goto L_088ED3D0; } L_088ED3D0: - { const bool branch_taken = aot_gpr_19 == 0u; + { const bool branch_taken = ctx.gpr[19] == 0u; aot_gpr_5 = (aot_gpr_4 | 0u); if (branch_taken) { goto L_088ED6B8; @@ -4084,15 +4085,15 @@ L_088ED3D0: goto L_088ED3D8; } L_088ED3D8: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_19 + static_cast(48)))))); - aot_gpr_19 = (0u | 0u); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(48)))))); + ctx.gpr[19] = (0u | 0u); if (aot_gpr_5 != 0u) { - aot_gpr_19 = (0u | 215u); + ctx.gpr[19] = (0u | 215u); goto L_088ED3E8; } goto L_088ED3E8; L_088ED3E8: - { const bool branch_taken = aot_gpr_4 != aot_gpr_19; + { const bool branch_taken = aot_gpr_4 != ctx.gpr[19]; // nop if (branch_taken) { goto L_088ED6B8; @@ -4108,17 +4109,17 @@ L_088ED3F0: goto L_088ED3F8; } L_088ED3F8: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(80))); aot_gpr_4 = (16640u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x088ED414u); ctx.gpr[7] = (0u | 155u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 163u, 0x089088F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ED414u) goto L_088ED414; AOT_REGCACHE_SYNC_OUT(); return; L_088ED414: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(32))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(32))); aot_gpr_31 = (0x088ED428u); @@ -4148,7 +4149,7 @@ L_088ED43C: goto L_088ED450; } L_088ED450: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(456))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(456))); aot_gpr_5 = (aot_gpr_5 & 4u); { const bool branch_taken = aot_gpr_5 == 0u; // nop @@ -4159,8 +4160,8 @@ L_088ED450: } L_088ED460: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(64))); - ctx.gpr[6] = (0u | 22u); - { const bool branch_taken = aot_gpr_5 == ctx.gpr[6]; + aot_gpr_6 = (0u | 22u); + { const bool branch_taken = aot_gpr_5 == aot_gpr_6; // nop if (branch_taken) { goto L_088ED5D0; @@ -4169,11 +4170,11 @@ L_088ED460: } L_088ED470: aot_gpr_5 = (0u | 1u); - ctx.gpr[6] = (aot_gpr_4 & 8192u); - ctx.gpr[6] = (0u < ctx.gpr[6] ? 1u : 0u); - ctx.gpr[6] = (ctx.gpr[6] & 255u); - { const bool branch_taken = ctx.gpr[6] != 0u; - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); + aot_gpr_6 = (aot_gpr_4 & 8192u); + aot_gpr_6 = (0u < aot_gpr_6 ? 1u : 0u); + aot_gpr_6 = (aot_gpr_6 & 255u); + { const bool branch_taken = aot_gpr_6 != 0u; + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(80))); if (branch_taken) { goto L_088ED49C; } @@ -4195,7 +4196,7 @@ L_088ED49C: goto L_088ED4A4; } L_088ED4A4: - { const bool branch_taken = ctx.gpr[6] != 0u; + { const bool branch_taken = aot_gpr_6 != 0u; aot_gpr_5 = (0u | 215u); if (branch_taken) { goto L_088ED4C8; @@ -4204,8 +4205,8 @@ L_088ED4A4: } L_088ED4AC: aot_gpr_5 = (0u | 0u); - ctx.gpr[6] = (8u << 16u); - aot_gpr_4 = (aot_gpr_4 & ctx.gpr[6]); + aot_gpr_6 = (8u << 16u); + aot_gpr_4 = (aot_gpr_4 & aot_gpr_6); aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); if (aot_gpr_4 != 0u) { @@ -4214,29 +4215,29 @@ L_088ED4AC: } goto L_088ED4C8; L_088ED4C8: - ctx.gpr[6] = (aot_gpr_5 | 0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_6 = (aot_gpr_5 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x088ED4D8u); aot_gpr_5 = (ctx.gpr[7] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ED4D8u) goto L_088ED4D8; AOT_REGCACHE_SYNC_OUT(); return; L_088ED4D8: { const bool branch_taken = 0u == 0u; - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (branch_taken) { goto L_088ED4F4; } goto L_088ED4E0; } L_088ED4E0: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[7] | 0u); aot_gpr_31 = (0x088ED4F0u); - ctx.gpr[6] = (0u | 57u); + aot_gpr_6 = (0u | 57u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ED4F0u) goto L_088ED4F0; AOT_REGCACHE_SYNC_OUT(); return; L_088ED4F0: - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); goto L_088ED4F4; L_088ED4F4: { const bool branch_taken = aot_gpr_5 == 0u; @@ -4273,12 +4274,12 @@ L_088ED51C: goto L_088ED534; } L_088ED534: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(80))); aot_gpr_5 = (16640u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(64))); ctx.gpr[18] = (2191u << 16u); - { const bool branch_taken = aot_gpr_19 != 0u; + { const bool branch_taken = ctx.gpr[19] != 0u; ctx.gpr[18] = (ctx.gpr[18] + static_cast(-11988)); if (branch_taken) { goto L_088ED560; @@ -4287,7 +4288,7 @@ L_088ED534: } L_088ED550: { const bool branch_taken = 0u == 0u; - ctx.gpr[6] = (aot_gpr_5 | 0u); + aot_gpr_6 = (aot_gpr_5 | 0u); if (branch_taken) { goto L_088ED5A8; } @@ -4302,37 +4303,37 @@ L_088ED558: goto L_088ED560; } L_088ED560: - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_19 + static_cast(48)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(48)))))); ctx.gpr[7] = (0u | 214u); - { const bool branch_taken = ctx.gpr[6] != ctx.gpr[7]; - ctx.gpr[6] = (aot_gpr_5 | 0u); + { const bool branch_taken = aot_gpr_6 != ctx.gpr[7]; + aot_gpr_6 = (aot_gpr_5 | 0u); if (branch_taken) { goto L_088ED5A8; } goto L_088ED570; } L_088ED570: - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); ctx.gpr[7] = (ctx.gpr[7] & 4096u); ctx.gpr[7] = (0u < ctx.gpr[7] ? 1u : 0u); ctx.gpr[7] = (ctx.gpr[7] & 255u); if (ctx.gpr[7] != 0u) { - ctx.gpr[6] = (0u | 215u); + aot_gpr_6 = (0u | 215u); goto L_088ED58C; } goto L_088ED58C; L_088ED58C: - ctx.gpr[7] = (ctx.gpr[6] | 0u); - ctx.gpr[6] = (aot_gpr_5 | 0u); + ctx.gpr[7] = (aot_gpr_6 | 0u); + aot_gpr_6 = (aot_gpr_5 | 0u); aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_31 = (0x088ED5A0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 163u, 0x089088F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ED5A0u) goto L_088ED5A0; AOT_REGCACHE_SYNC_OUT(); return; L_088ED5A0: { const bool branch_taken = 0u == 0u; - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (branch_taken) { goto L_088ED5BC; } @@ -4340,19 +4341,19 @@ L_088ED5A0: } L_088ED5A8: aot_gpr_5 = (aot_gpr_4 | 0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x088ED5B8u); ctx.gpr[7] = (0u | 214u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 163u, 0x089088F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ED5B8u) goto L_088ED5B8; AOT_REGCACHE_SYNC_OUT(); return; L_088ED5B8: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); goto L_088ED5BC; L_088ED5BC: aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x088ED5C8u); - ctx.gpr[6] = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ED5C8u) goto L_088ED5C8; + aot_gpr_6 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ED5C8u) goto L_088ED5C8; AOT_REGCACHE_SYNC_OUT(); return; L_088ED5C8: { const bool branch_taken = 0u == 0u; @@ -4363,7 +4364,7 @@ L_088ED5C8: goto L_088ED5D0; } L_088ED5D0: - { const bool branch_taken = aot_gpr_19 == 0u; + { const bool branch_taken = ctx.gpr[19] == 0u; // nop if (branch_taken) { goto L_088ED5F8; @@ -4371,7 +4372,7 @@ L_088ED5D0: goto L_088ED5D8; } L_088ED5D8: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_19 + static_cast(48)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(48)))))); aot_gpr_5 = (0u | 214u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -4391,7 +4392,7 @@ L_088ED5E8: goto L_088ED5F8; } L_088ED5F8: - if (aot_gpr_19 != 0u) { + if (ctx.gpr[19] != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(64))); goto L_088ED630; } @@ -4407,12 +4408,12 @@ L_088ED600: L_088ED608: aot_gpr_4 = (49408u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_19 + static_cast(36), std::bit_cast(aot_fpr_12)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_19 + static_cast(8))); + aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(36), std::bit_cast(aot_fpr_12)); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(8))); aot_gpr_4 = (aot_gpr_4 | 4u); - aot_mem.aot_direct_store32(aot_gpr_19 + static_cast(8), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(8), aot_gpr_4); aot_gpr_31 = (0x088ED628u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0055_entry, 55u, 261u, 0x088E29C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ED628u) goto L_088ED628; AOT_REGCACHE_SYNC_OUT(); return; L_088ED628: @@ -4433,9 +4434,9 @@ L_088ED630: goto L_088ED63C; } L_088ED63C: - aot_gpr_19 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_19 + static_cast(48)))))); + ctx.gpr[19] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(48)))))); aot_gpr_4 = (0u | 214u); - { const bool branch_taken = aot_gpr_19 == aot_gpr_4; + { const bool branch_taken = ctx.gpr[19] == aot_gpr_4; aot_gpr_4 = (0u | 215u); if (branch_taken) { goto L_088ED654; @@ -4443,7 +4444,7 @@ L_088ED63C: goto L_088ED64C; } L_088ED64C: - { const bool branch_taken = aot_gpr_19 != aot_gpr_4; + { const bool branch_taken = ctx.gpr[19] != aot_gpr_4; // nop if (branch_taken) { goto L_088ED6B8; @@ -4451,11 +4452,11 @@ L_088ED64C: goto L_088ED654; } L_088ED654: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1929)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(1929)))))); aot_gpr_5 = (aot_gpr_4 << 5u); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); { const bool branch_taken = static_cast(aot_gpr_5) <= 0; @@ -4468,33 +4469,33 @@ L_088ED654: L_088ED678: aot_gpr_31 = (0x088ED680u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ED680u) goto L_088ED680; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ED680u) goto L_088ED680; AOT_REGCACHE_SYNC_OUT(); return; L_088ED680: - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(96))); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(96))); aot_gpr_31 = (0x088ED68Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 922u, 0x08907F9Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ED68Cu) goto L_088ED68C; AOT_REGCACHE_SYNC_OUT(); return; L_088ED68C: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1929)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(1929)))))); aot_gpr_5 = (aot_gpr_4 << 5u); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); aot_gpr_31 = (0x088ED6ACu); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ED6ACu) goto L_088ED6AC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ED6ACu) goto L_088ED6AC; AOT_REGCACHE_SYNC_OUT(); return; L_088ED6AC: - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(96))); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(96))); aot_gpr_31 = (0x088ED6B8u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 897u, 0x08907E38u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ED6B8u) goto L_088ED6B8; AOT_REGCACHE_SYNC_OUT(); return; L_088ED6B8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(456))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(456))); aot_gpr_4 = (aot_gpr_4 & 4u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -4513,17 +4514,17 @@ L_088ED6C8: } L_088ED6D0: aot_gpr_31 = (0x088ED6D8u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0055_entry, 55u, 261u, 0x088E29C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ED6D8u) goto L_088ED6D8; AOT_REGCACHE_SYNC_OUT(); return; L_088ED6D8: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); - aot_gpr_16 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[1]; ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; - aot_gpr_19 = aot_run_words[4]; + ctx.gpr[19] = aot_run_words[4]; aot_gpr_31 = aot_run_words[5]; } jump_target = aot_gpr_31; @@ -4534,16 +4535,16 @@ L_088ED6D8: AOT_REGCACHE_SYNC_OUT(); return; L_088ED6F8: aot_gpr_29 = (aot_gpr_29 + static_cast(-752)); - { const std::uint32_t aot_run_words[8]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_19, ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_31}; + { const std::uint32_t aot_run_words[8]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(720), aot_run_words); } - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(2276))); - ctx.gpr[18] = (ctx.gpr[6] ^ 2u); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(2276))); + ctx.gpr[18] = (aot_gpr_6 ^ 2u); ctx.gpr[18] = (ctx.gpr[18] < static_cast(1) ? 1u : 0u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(2276))); - aot_gpr_19 = (ctx.gpr[6] ^ 2u); - aot_gpr_19 = (aot_gpr_19 < static_cast(1) ? 1u : 0u); - ctx.gpr[6] = (aot_gpr_5 + static_cast(48)); - { const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(2276))); + ctx.gpr[19] = (aot_gpr_6 ^ 2u); + ctx.gpr[19] = (ctx.gpr[19] < static_cast(1) ? 1u : 0u); + aot_gpr_6 = (aot_gpr_5 + static_cast(48)); + { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -4552,8 +4553,8 @@ L_088ED6F8: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - ctx.gpr[6] = (aot_gpr_4 + static_cast(48)); - { const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + aot_gpr_6 = (aot_gpr_4 + static_cast(48)); + { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -4577,8 +4578,8 @@ L_088ED6F8: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - ctx.gpr[6] = (aot_gpr_4 + static_cast(16)); - { const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + aot_gpr_6 = (aot_gpr_4 + static_cast(16)); + { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -4588,10 +4589,10 @@ L_088ED6F8: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 0u, 1u, 3u>(); - ctx.gpr[6] = (ctx.vfpu_scalar_bits_ct<28u>()); - aot_fpr_12 = std::bit_cast(ctx.gpr[6]); + aot_gpr_6 = (ctx.vfpu_scalar_bits_ct<28u>()); + aot_fpr_12 = std::bit_cast(aot_gpr_6); aot_fpr_13 = std::bit_cast(0u); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); @@ -4654,23 +4655,23 @@ L_088ED7B8: goto L_088ED7C0; } L_088ED7C0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(92))); aot_gpr_5 = (aot_gpr_4 + static_cast(216)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); jump_target = aot_gpr_5; aot_gpr_31 = (0x088ED7D8u); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ED7D8u) goto L_088ED7D8; AOT_REGCACHE_SYNC_OUT(); return; L_088ED7D8: aot_gpr_31 = (0x088ED7E0u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0006_entry, 6u, 563u, 0x0881F274u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ED7E0u) goto L_088ED7E0; AOT_REGCACHE_SYNC_OUT(); return; L_088ED7E0: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088ED950; @@ -4683,7 +4684,7 @@ L_088ED7E8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 321u, 0x08911220u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ED7F0u) goto L_088ED7F0; AOT_REGCACHE_SYNC_OUT(); return; L_088ED7F0: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_088ED950; @@ -4730,7 +4731,7 @@ L_088ED820: aot_gpr_4 = (aot_gpr_4 | 52429u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), std::bit_cast(aot_fpr_12)); - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -4762,7 +4763,7 @@ L_088ED820: aot_fpr_14 = std::bit_cast(aot_run_words[2]); } aot_gpr_31 = (0x088ED868u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 600u, 0x08A66CD8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ED868u) goto L_088ED868; AOT_REGCACHE_SYNC_OUT(); return; L_088ED868: @@ -4797,7 +4798,7 @@ L_088ED884: aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -4851,7 +4852,7 @@ L_088ED884: aot_fpr_14 = std::bit_cast(aot_run_words[2]); } aot_gpr_31 = (0x088ED8ECu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 600u, 0x08A66CD8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ED8ECu) goto L_088ED8EC; AOT_REGCACHE_SYNC_OUT(); return; L_088ED8EC: @@ -4874,7 +4875,7 @@ L_088ED8FC: ctx.gpr[22] = (0u | 27u); goto L_088ED900; L_088ED900: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2228))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2228))); aot_gpr_5 = (0u | 16u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -4889,7 +4890,7 @@ L_088ED910: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 620u, 0x08906DE4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ED918u) goto L_088ED918; AOT_REGCACHE_SYNC_OUT(); return; L_088ED918: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088ED93C; @@ -4898,18 +4899,18 @@ L_088ED918: } L_088ED920: aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(96))); aot_fpr_12 = std::bit_cast(0u); - ctx.gpr[6] = (16256u << 16u); - aot_fpr_13 = std::bit_cast(ctx.gpr[6]); + aot_gpr_6 = (16256u << 16u); + aot_fpr_13 = std::bit_cast(aot_gpr_6); aot_gpr_31 = (0x088ED93Cu); - ctx.gpr[6] = (0u | 49u); + aot_gpr_6 = (0u | 49u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 503u, 0x08A05F80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ED93Cu) goto L_088ED93C; AOT_REGCACHE_SYNC_OUT(); return; L_088ED93C: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (0u | 3000u); - ctx.gpr[6] = (ctx.gpr[22] | 0u); + aot_gpr_6 = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x088ED950u); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0070_entry, 70u, 14u, 0x0891C0E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ED950u) goto L_088ED950; @@ -4920,7 +4921,7 @@ L_088ED950: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 327u, 0x08911284u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ED958u) goto L_088ED958; AOT_REGCACHE_SYNC_OUT(); return; L_088ED958: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088ED970; @@ -4954,10 +4955,10 @@ L_088ED970: L_088ED978: aot_gpr_31 = (0x088ED980u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ED980u) goto L_088ED980; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ED980u) goto L_088ED980; AOT_REGCACHE_SYNC_OUT(); return; L_088ED980: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088EDA04; @@ -4975,9 +4976,9 @@ L_088ED988: goto L_088ED998; } L_088ED998: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2244))); - ctx.gpr[6] = (0u | 4u); - { const bool branch_taken = aot_gpr_5 == ctx.gpr[6]; + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2244))); + aot_gpr_6 = (0u | 4u); + { const bool branch_taken = aot_gpr_5 == aot_gpr_6; aot_gpr_4 = (0u | 0u); if (branch_taken) { goto L_088ED9B8; @@ -4985,9 +4986,9 @@ L_088ED998: goto L_088ED9A8; } L_088ED9A8: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2244))); - ctx.gpr[6] = (0u | 5u); - { const bool branch_taken = aot_gpr_5 != ctx.gpr[6]; + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2244))); + aot_gpr_6 = (0u | 5u); + { const bool branch_taken = aot_gpr_5 != aot_gpr_6; ctx.gpr[18] = (aot_gpr_4 & 255u); if (branch_taken) { goto L_088ED9C0; @@ -4999,20 +5000,20 @@ L_088ED9B8: ctx.gpr[18] = (aot_gpr_4 & 255u); goto L_088ED9C0; L_088ED9C0: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088ED9D0u); - ctx.gpr[6] = (0u | 5000u); + aot_gpr_6 = (0u | 5000u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 803u, 0x0890B27Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ED9D0u) goto L_088ED9D0; AOT_REGCACHE_SYNC_OUT(); return; L_088ED9D0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(456))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(456))); aot_gpr_5 = (16384u << 16u); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(456), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(456), aot_gpr_4); aot_gpr_31 = (0x088ED9E8u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ED9E8u) goto L_088ED9E8; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890FF64, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ED9E8u) goto L_088ED9E8; AOT_REGCACHE_SYNC_OUT(); return; L_088ED9E8: { const bool branch_taken = ctx.gpr[18] != 0u; @@ -5023,10 +5024,10 @@ L_088ED9E8: goto L_088ED9F0; } L_088ED9F0: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x088ED9FCu); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ED9FCu) goto L_088ED9FC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088ED9FCu) goto L_088ED9FC; AOT_REGCACHE_SYNC_OUT(); return; L_088ED9FC: { const bool branch_taken = 0u == 0u; @@ -5037,7 +5038,7 @@ L_088ED9FC: goto L_088EDA04; } L_088EDA04: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2236))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2236))); aot_gpr_5 = (0u | 28u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -5057,7 +5058,7 @@ L_088EDA14: goto L_088EDA24; } L_088EDA24: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2244))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2244))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -5067,7 +5068,7 @@ L_088EDA24: } L_088EDA30: { const bool branch_taken = 0u == 0u; - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2244))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2244))); if (branch_taken) { goto L_088EDA58; } @@ -5088,7 +5089,7 @@ L_088EDA40: } L_088EDA48: aot_gpr_31 = (0x088EDA50u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0070_entry, 70u, 70u, 0x0891C44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EDA50u) goto L_088EDA50; AOT_REGCACHE_SYNC_OUT(); return; L_088EDA50: @@ -5110,11 +5111,11 @@ L_088EDA58: } L_088EDA64: aot_gpr_31 = (0x088EDA6Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 620u, 0x08906DE4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EDA6Cu) goto L_088EDA6C; AOT_REGCACHE_SYNC_OUT(); return; L_088EDA6C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088EDAA8; @@ -5141,10 +5142,10 @@ L_088EDA80: goto L_088EDA90; } L_088EDA90: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1360))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1360))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1360))); if (aot_gpr_4 == aot_gpr_5) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1360))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1360))); goto L_088EDAB0; } goto L_088EDAA0; @@ -5174,7 +5175,7 @@ L_088EDAB0: goto L_088EDABC; } L_088EDABC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1360))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1360))); aot_gpr_5 = (0u | 5u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -5202,7 +5203,7 @@ L_088EDAD4: goto L_088EDAE4; } L_088EDAE4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2228))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2228))); aot_gpr_5 = (0u | 31u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -5212,7 +5213,7 @@ L_088EDAE4: goto L_088EDAF4; } L_088EDAF4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2072))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2072))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_4 = (aot_gpr_4 < aot_gpr_5 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; @@ -5223,17 +5224,17 @@ L_088EDAF4: goto L_088EDB08; } L_088EDB08: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088EDB18u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0070_entry, 70u, 480u, 0x0891E8B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EDB18u) goto L_088EDB18; AOT_REGCACHE_SYNC_OUT(); return; L_088EDB18: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_4 = (aot_gpr_4 + static_cast(3000)); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2072), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(2072), aot_gpr_4); if (branch_taken) { goto L_088EE988; } @@ -5260,7 +5261,7 @@ L_088EDB38: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(23)))))); aot_gpr_5 = (0u | 100u); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1364))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1364))); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(22)))))); aot_gpr_4 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_5) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; @@ -5273,10 +5274,10 @@ L_088EDB38: L_088EDB5C: aot_gpr_31 = (0x088EDB64u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EDB64u) goto L_088EDB64; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EDB64u) goto L_088EDB64; AOT_REGCACHE_SYNC_OUT(); return; L_088EDB64: - aot_gpr_4 = (ctx.gpr[2] & 65535u); + aot_gpr_4 = (aot_gpr_2 & 65535u); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -5286,7 +5287,7 @@ L_088EDB64: goto L_088EDB74; } L_088EDB74: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2072))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2072))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_4 = (aot_gpr_5 < aot_gpr_4 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; @@ -5297,17 +5298,17 @@ L_088EDB74: goto L_088EDB88; } L_088EDB88: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088EDB98u); - ctx.gpr[6] = (0u | 2u); + aot_gpr_6 = (0u | 2u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0070_entry, 70u, 480u, 0x0891E8B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EDB98u) goto L_088EDB98; AOT_REGCACHE_SYNC_OUT(); return; L_088EDB98: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_4 = (aot_gpr_4 + static_cast(3000)); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2072), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(2072), aot_gpr_4); if (branch_taken) { goto L_088EE988; } @@ -5336,8 +5337,8 @@ L_088EDBB8: L_088EDBC8: aot_gpr_4 = (0u | 2000u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_4); - ctx.gpr[6] = (aot_gpr_29 + static_cast(16)); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_6 = (aot_gpr_29 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 14u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x088EDBE8u); @@ -5354,11 +5355,11 @@ L_088EDBE8: } L_088EDBF0: aot_gpr_31 = (0x088EDBF8u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EDBF8u) goto L_088EDBF8; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EDBF8u) goto L_088EDBF8; AOT_REGCACHE_SYNC_OUT(); return; L_088EDBF8: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088EDC20; @@ -5366,7 +5367,7 @@ L_088EDBF8: goto L_088EDC00; } L_088EDC00: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(3156))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(3156))); aot_gpr_4 = (16358u << 16u); aot_gpr_4 = (aot_gpr_4 | 26214u); aot_fpr_13 = std::bit_cast(aot_gpr_4); @@ -5381,11 +5382,11 @@ L_088EDC00: } L_088EDC20: aot_gpr_31 = (0x088EDC28u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EDC28u) goto L_088EDC28; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EDC28u) goto L_088EDC28; AOT_REGCACHE_SYNC_OUT(); return; L_088EDC28: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_088EE048; @@ -5393,8 +5394,8 @@ L_088EDC28: goto L_088EDC30; } L_088EDC30: - if (aot_gpr_19 == 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2244))); + if (ctx.gpr[19] == 0u) { + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2244))); goto L_088EDC44; } goto L_088EDC38; @@ -5407,17 +5408,17 @@ L_088EDC38: goto L_088EDC40; } L_088EDC40: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2244))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2244))); goto L_088EDC44; L_088EDC44: aot_gpr_5 = (0u | 4u); if (aot_gpr_4 == aot_gpr_5) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2196))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2196))); goto L_088EDC64; } goto L_088EDC50; L_088EDC50: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2244))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2244))); aot_gpr_5 = (0u | 5u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -5427,7 +5428,7 @@ L_088EDC50: goto L_088EDC60; } L_088EDC60: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2196))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2196))); goto L_088EDC64; L_088EDC64: aot_gpr_5 = (0u | 15u); @@ -5437,7 +5438,7 @@ L_088EDC64: } goto L_088EDC70; L_088EDC70: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2192))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2192))); { const bool branch_taken = aot_gpr_4 == ctx.gpr[17]; // nop if (branch_taken) { @@ -5459,7 +5460,7 @@ L_088EDC80: } L_088EDC8C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(2192))); - { const bool branch_taken = aot_gpr_4 == aot_gpr_16; + { const bool branch_taken = aot_gpr_4 == ctx.gpr[16]; // nop if (branch_taken) { goto L_088EE048; @@ -5467,7 +5468,7 @@ L_088EDC8C: goto L_088EDC98; } L_088EDC98: - { const bool branch_taken = aot_gpr_19 != 0u; + { const bool branch_taken = ctx.gpr[19] != 0u; // nop if (branch_taken) { goto L_088EDE40; @@ -5489,7 +5490,7 @@ L_088EDCA0: goto L_088EDCC0; } L_088EDCC0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1364))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1364))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1364))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); @@ -5542,7 +5543,7 @@ L_088EDD08: aot_gpr_4 = (aot_gpr_4 | 52429u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(136), std::bit_cast(aot_fpr_12)); - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -5574,7 +5575,7 @@ L_088EDD08: aot_fpr_14 = std::bit_cast(aot_run_words[2]); } aot_gpr_31 = (0x088EDD50u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 600u, 0x08A66CD8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EDD50u) goto L_088EDD50; AOT_REGCACHE_SYNC_OUT(); return; L_088EDD50: @@ -5609,7 +5610,7 @@ L_088EDD6C: aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -5663,7 +5664,7 @@ L_088EDD6C: aot_fpr_14 = std::bit_cast(aot_run_words[2]); } aot_gpr_31 = (0x088EDDD4u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 600u, 0x08A66CD8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EDDD4u) goto L_088EDDD4; AOT_REGCACHE_SYNC_OUT(); return; L_088EDDD4: @@ -5686,7 +5687,7 @@ L_088EDDE4: ctx.gpr[18] = (0u | 27u); goto L_088EDDE8; L_088EDDE8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2228))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2228))); aot_gpr_5 = (0u | 16u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -5701,7 +5702,7 @@ L_088EDDF8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 620u, 0x08906DE4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EDE00u) goto L_088EDE00; AOT_REGCACHE_SYNC_OUT(); return; L_088EDE00: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088EDE24; @@ -5710,18 +5711,18 @@ L_088EDE00: } L_088EDE08: aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(96))); aot_fpr_12 = std::bit_cast(0u); - ctx.gpr[6] = (16256u << 16u); - aot_fpr_13 = std::bit_cast(ctx.gpr[6]); + aot_gpr_6 = (16256u << 16u); + aot_fpr_13 = std::bit_cast(aot_gpr_6); aot_gpr_31 = (0x088EDE24u); - ctx.gpr[6] = (0u | 49u); + aot_gpr_6 = (0u | 49u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 503u, 0x08A05F80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EDE24u) goto L_088EDE24; AOT_REGCACHE_SYNC_OUT(); return; L_088EDE24: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (0u | 3000u); - ctx.gpr[6] = (ctx.gpr[18] | 0u); + aot_gpr_6 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x088EDE38u); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0070_entry, 70u, 14u, 0x0891C0E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EDE38u) goto L_088EDE38; @@ -5782,7 +5783,7 @@ L_088EDE70: aot_gpr_4 = (aot_gpr_4 | 52429u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(216), std::bit_cast(aot_fpr_12)); - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -5814,7 +5815,7 @@ L_088EDE70: aot_fpr_14 = std::bit_cast(aot_run_words[2]); } aot_gpr_31 = (0x088EDEB8u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 600u, 0x08A66CD8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EDEB8u) goto L_088EDEB8; AOT_REGCACHE_SYNC_OUT(); return; L_088EDEB8: @@ -5869,7 +5870,7 @@ L_088EDEF4: aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -5923,7 +5924,7 @@ L_088EDEF4: aot_fpr_14 = std::bit_cast(aot_run_words[2]); } aot_gpr_31 = (0x088EDF5Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 600u, 0x08A66CD8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EDF5Cu) goto L_088EDF5C; AOT_REGCACHE_SYNC_OUT(); return; L_088EDF5C: @@ -6002,7 +6003,7 @@ L_088EDFBC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 620u, 0x08906DE4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EDFC4u) goto L_088EDFC4; AOT_REGCACHE_SYNC_OUT(); return; L_088EDFC4: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088EE988; @@ -6025,19 +6026,19 @@ L_088EDFE0: aot_gpr_4 = (16640u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (ctx.gpr[17] | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x088EDFFCu); ctx.gpr[7] = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 163u, 0x089088F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EDFFCu) goto L_088EDFFC; AOT_REGCACHE_SYNC_OUT(); return; L_088EDFFC: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(8))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(8))); aot_gpr_4 = (aot_gpr_4 | 8u); - aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(8), aot_gpr_4); + aot_mem.aot_direct_store32(aot_gpr_2 + static_cast(8), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_4 = (aot_gpr_4 + static_cast(1000)); aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(2072), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2228))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2228))); aot_gpr_5 = (0u | 16u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -6048,12 +6049,12 @@ L_088EDFFC: } L_088EE024: aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(96))); aot_fpr_12 = std::bit_cast(0u); - ctx.gpr[6] = (16256u << 16u); - aot_fpr_13 = std::bit_cast(ctx.gpr[6]); + aot_gpr_6 = (16256u << 16u); + aot_fpr_13 = std::bit_cast(aot_gpr_6); aot_gpr_31 = (0x088EE040u); - ctx.gpr[6] = (0u | 49u); + aot_gpr_6 = (0u | 49u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 503u, 0x08A05F80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EE040u) goto L_088EE040; AOT_REGCACHE_SYNC_OUT(); return; L_088EE040: @@ -6065,7 +6066,7 @@ L_088EE040: goto L_088EE048; } L_088EE048: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2196))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2196))); aot_gpr_5 = (0u | 15u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -6075,7 +6076,7 @@ L_088EE048: goto L_088EE058; } L_088EE058: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2196))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2196))); aot_gpr_5 = (0u | 12u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -6085,7 +6086,7 @@ L_088EE058: goto L_088EE068; } L_088EE068: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2192))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2192))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -6094,15 +6095,15 @@ L_088EE068: goto L_088EE074; } L_088EE074: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2192))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2192))); if (ctx.gpr[17] == aot_gpr_4) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2072))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2072))); goto L_088EE094; } goto L_088EE080; L_088EE080: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(2192))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2192))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2192))); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop if (branch_taken) { @@ -6111,7 +6112,7 @@ L_088EE080: goto L_088EE090; } L_088EE090: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2072))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2072))); goto L_088EE094; L_088EE094: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); @@ -6132,17 +6133,17 @@ L_088EE0A4: goto L_088EE0AC; } L_088EE0AC: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088EE0BCu); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0070_entry, 70u, 480u, 0x0891E8B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EE0BCu) goto L_088EE0BC; AOT_REGCACHE_SYNC_OUT(); return; L_088EE0BC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_4 = (aot_gpr_4 + static_cast(3000)); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2072), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(2072), aot_gpr_4); if (branch_taken) { goto L_088EE988; } @@ -6158,11 +6159,11 @@ L_088EE0CC: } L_088EE0D4: aot_gpr_31 = (0x088EE0DCu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 620u, 0x08906DE4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EE0DCu) goto L_088EE0DC; AOT_REGCACHE_SYNC_OUT(); return; L_088EE0DC: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088EE988; @@ -6170,7 +6171,7 @@ L_088EE0DC: goto L_088EE0E4; } L_088EE0E4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1364))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1364))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1364))); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -6180,7 +6181,7 @@ L_088EE0E4: goto L_088EE0F4; } L_088EE0F4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1364))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1364))); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(23)))))); aot_gpr_5 = (0u | 100u); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); @@ -6197,10 +6198,10 @@ L_088EE0F4: L_088EE118: aot_gpr_31 = (0x088EE120u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EE120u) goto L_088EE120; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EE120u) goto L_088EE120; AOT_REGCACHE_SYNC_OUT(); return; L_088EE120: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_088EE194; @@ -6208,7 +6209,7 @@ L_088EE120: goto L_088EE128; } L_088EE128: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2072))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2072))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_4 = (aot_gpr_4 < aot_gpr_5 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; @@ -6219,9 +6220,9 @@ L_088EE128: goto L_088EE13C; } L_088EE13C: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x088EE154u); ctx.gpr[8] = (0u | 0u); @@ -6229,27 +6230,27 @@ L_088EE13C: AOT_REGCACHE_SYNC_OUT(); return; L_088EE154: aot_gpr_31 = (0x088EE15Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 332u, 0x0890932Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EE15Cu) goto L_088EE15C; AOT_REGCACHE_SYNC_OUT(); return; L_088EE15C: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(80))); aot_gpr_4 = (16640u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x088EE178u); ctx.gpr[7] = (0u | 56u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 163u, 0x089088F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EE178u) goto L_088EE178; AOT_REGCACHE_SYNC_OUT(); return; L_088EE178: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(8))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(8))); aot_gpr_4 = (aot_gpr_4 | 8u); - aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(8), aot_gpr_4); + aot_mem.aot_direct_store32(aot_gpr_2 + static_cast(8), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_4 = (aot_gpr_4 + static_cast(2000)); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2072), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(2072), aot_gpr_4); if (branch_taken) { goto L_088EE988; } @@ -6258,10 +6259,10 @@ L_088EE178: L_088EE194: aot_gpr_31 = (0x088EE19Cu); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EE19Cu) goto L_088EE19C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EE19Cu) goto L_088EE19C; AOT_REGCACHE_SYNC_OUT(); return; L_088EE19C: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_088EE1F4; @@ -6332,7 +6333,7 @@ L_088EE1F4: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -6355,29 +6356,29 @@ L_088EE1F4: goto L_088EE21C; } L_088EE21C: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2256))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2264))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2256))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2264))); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2256), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(2256), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_088EE988; } goto L_088EE230; } L_088EE230: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2256))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2264))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2256))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2264))); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2256), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(2256), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_088EE988; } goto L_088EE244; } L_088EE244: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2072))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2072))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_4 = (aot_gpr_4 < aot_gpr_5 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; @@ -6388,7 +6389,7 @@ L_088EE244: goto L_088EE258; } L_088EE258: - { const bool branch_taken = aot_gpr_19 != 0u; + { const bool branch_taken = ctx.gpr[19] != 0u; // nop if (branch_taken) { goto L_088EE3A0; @@ -6414,7 +6415,7 @@ L_088EE268: goto L_088EE278; } L_088EE278: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1364))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1364))); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(22)))))); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(23)))))); aot_gpr_4 = (static_cast(aot_gpr_5) < static_cast(aot_gpr_4) ? 1u : 0u); @@ -6426,11 +6427,11 @@ L_088EE278: goto L_088EE290; } L_088EE290: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1929)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(1929)))))); aot_gpr_5 = (aot_gpr_4 << 5u); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); { const bool branch_taken = aot_gpr_4 != 0u; @@ -6441,7 +6442,7 @@ L_088EE290: goto L_088EE2B4; } L_088EE2B4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2276))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2276))); aot_gpr_5 = (0u | 2u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -6462,7 +6463,7 @@ L_088EE2C4: } L_088EE2D4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1360))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1360))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1360))); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop if (branch_taken) { @@ -6486,14 +6487,14 @@ L_088EE2E4: goto L_088EE308; } L_088EE308: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 8u); aot_gpr_31 = (0x088EE318u); - ctx.gpr[6] = (ctx.gpr[17] | 0u); + aot_gpr_6 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0178_entry, 178u, 482u, 0x08ACD698u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EE318u) goto L_088EE318; AOT_REGCACHE_SYNC_OUT(); return; L_088EE318: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x088EE324u); aot_gpr_5 = (0u | 2000u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1084u, 0x08AC7F30u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EE324u) goto L_088EE324; @@ -6507,13 +6508,13 @@ L_088EE324: goto L_088EE32C; } L_088EE32C: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x088EE338u); aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0074_entry, 74u, 213u, 0x0892D2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EE338u) goto L_088EE338; AOT_REGCACHE_SYNC_OUT(); return; L_088EE338: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x088EE344u); aot_gpr_5 = (0u | 155u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 16u, 0x08860424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EE344u) goto L_088EE344; @@ -6521,25 +6522,25 @@ L_088EE338: L_088EE344: aot_gpr_31 = (0x088EE34Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EE34Cu) goto L_088EE34C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EE34Cu) goto L_088EE34C; AOT_REGCACHE_SYNC_OUT(); return; L_088EE34C: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 0u); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23148))); aot_gpr_31 = (0x088EE360u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23152))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EE360u) goto L_088EE360; + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23152))); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EE360u) goto L_088EE360; AOT_REGCACHE_SYNC_OUT(); return; L_088EE360: ctx.gpr[1] = (ctx.gpr[3] << 1u); aot_gpr_5 = (static_cast(static_cast(ctx.gpr[3]) >> 31u)); - aot_gpr_4 = (ctx.gpr[2] >> 31u); + aot_gpr_4 = (aot_gpr_2 >> 31u); aot_gpr_4 = (ctx.gpr[1] | aot_gpr_4); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23140))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23144))); - ctx.gpr[8] = (aot_gpr_4 + ctx.gpr[6]); - ctx.gpr[9] = (ctx.gpr[8] < ctx.gpr[6] ? 1u : 0u); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23144))); + ctx.gpr[8] = (aot_gpr_4 + aot_gpr_6); + ctx.gpr[9] = (ctx.gpr[8] < aot_gpr_6 ? 1u : 0u); aot_gpr_4 = (ctx.gpr[9] + aot_gpr_5); aot_gpr_5 = (aot_gpr_4 + ctx.gpr[7]); aot_gpr_4 = (ctx.gpr[8] | 0u); @@ -6547,7 +6548,7 @@ L_088EE360: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2072), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(2072), aot_gpr_4); if (branch_taken) { goto L_088EE988; } @@ -6571,7 +6572,7 @@ L_088EE3AC: goto L_088EE3B4; } L_088EE3B4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2228))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2228))); aot_gpr_5 = (0u | 6u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -6581,7 +6582,7 @@ L_088EE3B4: goto L_088EE3C4; } L_088EE3C4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2228))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2228))); aot_gpr_5 = (0u | 7u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -6603,10 +6604,10 @@ L_088EE3D4: L_088EE3E4: aot_gpr_31 = (0x088EE3ECu); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EE3ECu) goto L_088EE3EC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EE3ECu) goto L_088EE3EC; AOT_REGCACHE_SYNC_OUT(); return; L_088EE3EC: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088EE418; @@ -6616,10 +6617,10 @@ L_088EE3EC: L_088EE3F4: aot_gpr_31 = (0x088EE3FCu); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EE3FCu) goto L_088EE3FC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EE3FCu) goto L_088EE3FC; AOT_REGCACHE_SYNC_OUT(); return; L_088EE3FC: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088EE5B8; @@ -6632,7 +6633,7 @@ L_088EE404: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EE40Cu) goto L_088EE40C; AOT_REGCACHE_SYNC_OUT(); return; L_088EE40C: - aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(154))); + aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(154))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -6642,13 +6643,13 @@ L_088EE40C: } L_088EE418: ctx.gpr[18] = (aot_gpr_29 + static_cast(304)); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x088EE428u); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 10u, 0x08910074u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EE428u) goto L_088EE428; AOT_REGCACHE_SYNC_OUT(); return; L_088EE428: - aot_gpr_4 = (aot_gpr_16 + static_cast(48)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -6668,9 +6669,9 @@ L_088EE428: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>(); - aot_gpr_19 = (aot_gpr_29 + static_cast(288)); + ctx.gpr[19] = (aot_gpr_29 + static_cast(288)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_19 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(288))); @@ -6691,9 +6692,9 @@ L_088EE428: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(320), std::bit_cast(ctx.fpr[16])); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(276))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(324), std::bit_cast(aot_fpr_12)); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x088EE494u); - aot_gpr_5 = (aot_gpr_19 | 0u); + aot_gpr_5 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 10u, 0x08910074u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EE494u) goto L_088EE494; AOT_REGCACHE_SYNC_OUT(); return; L_088EE494: @@ -6707,7 +6708,7 @@ L_088EE494: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = aot_gpr_19 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -6776,8 +6777,8 @@ L_088EE520: L_088EE54C: aot_gpr_4 = (0u | 500u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_4); - ctx.gpr[6] = (aot_gpr_29 + static_cast(16)); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_6 = (aot_gpr_29 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 3u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x088EE56Cu); @@ -6789,7 +6790,7 @@ L_088EE56C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2072), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(2072), aot_gpr_4); if (branch_taken) { goto L_088EE5B0; } @@ -6798,7 +6799,7 @@ L_088EE56C: L_088EE580: aot_gpr_4 = (0u | 1000u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_4); - ctx.gpr[6] = (aot_gpr_29 + static_cast(16)); + aot_gpr_6 = (aot_gpr_29 + static_cast(16)); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (0u | 3u); ctx.gpr[7] = (0u | 0u); @@ -6831,7 +6832,7 @@ L_088EE5B8: goto L_088EE5C8; } L_088EE5C8: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x088EE5D4u); aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0074_entry, 74u, 213u, 0x0892D2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EE5D4u) goto L_088EE5D4; @@ -6846,11 +6847,11 @@ L_088EE5D4: } L_088EE5DC: aot_gpr_31 = (0x088EE5E4u); - aot_gpr_19 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2192))); + ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2192))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EE5E4u) goto L_088EE5E4; AOT_REGCACHE_SYNC_OUT(); return; L_088EE5E4: - { const bool branch_taken = aot_gpr_19 != ctx.gpr[2]; + { const bool branch_taken = ctx.gpr[19] != aot_gpr_2; // nop if (branch_taken) { goto L_088EE8CC; @@ -6858,15 +6859,15 @@ L_088EE5E4: goto L_088EE5EC; } L_088EE5EC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2196))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2196))); aot_gpr_5 = (0u | 8u); if (aot_gpr_4 == aot_gpr_5) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2192))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2192))); goto L_088EE610; } goto L_088EE5FC; L_088EE5FC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2196))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2196))); aot_gpr_5 = (0u | 9u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -6876,7 +6877,7 @@ L_088EE5FC: goto L_088EE60C; } L_088EE60C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2192))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2192))); goto L_088EE610; L_088EE610: { const bool branch_taken = ctx.gpr[17] == aot_gpr_4; @@ -6897,17 +6898,17 @@ L_088EE618: goto L_088EE628; } L_088EE628: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1929)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(1929)))))); aot_gpr_5 = (aot_gpr_4 << 5u); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); aot_gpr_31 = (0x088EE644u); aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0143_entry, 143u, 159u, 0x08A40D34u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EE644u) goto L_088EE644; AOT_REGCACHE_SYNC_OUT(); return; L_088EE644: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088EE8B8; @@ -6916,7 +6917,7 @@ L_088EE644: } L_088EE64C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(2192))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2192))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2192))); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop if (branch_taken) { @@ -6925,9 +6926,9 @@ L_088EE64C: goto L_088EE65C; } L_088EE65C: - ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2192))); - aot_gpr_19 = (0u + static_cast(-1)); - ctx.gpr[20] = (aot_gpr_19 | 0u); + ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2192))); + ctx.gpr[19] = (0u + static_cast(-1)); + ctx.gpr[20] = (ctx.gpr[19] | 0u); aot_gpr_4 = (0u | 0u); aot_gpr_5 = (static_cast(aot_gpr_4) < 6 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; @@ -6939,10 +6940,10 @@ L_088EE65C: } L_088EE678: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(3292))); - ctx.gpr[6] = (aot_gpr_4 << 2u); - aot_gpr_5 = (aot_gpr_5 + ctx.gpr[6]); + aot_gpr_6 = (aot_gpr_4 << 2u); + aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(6288))); - { const bool branch_taken = aot_gpr_5 != aot_gpr_16; + { const bool branch_taken = aot_gpr_5 != ctx.gpr[16]; // nop if (branch_taken) { goto L_088EE69C; @@ -6950,9 +6951,9 @@ L_088EE678: goto L_088EE690; } L_088EE690: - aot_gpr_19 = (aot_gpr_4 << 16u); + ctx.gpr[19] = (aot_gpr_4 << 16u); { const bool branch_taken = 0u == 0u; - aot_gpr_19 = (static_cast(static_cast(aot_gpr_19) >> 16u)); + ctx.gpr[19] = (static_cast(static_cast(ctx.gpr[19]) >> 16u)); if (branch_taken) { goto L_088EE6BC; } @@ -6960,8 +6961,8 @@ L_088EE690: } L_088EE69C: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(3292))); - ctx.gpr[6] = (aot_gpr_4 << 2u); - aot_gpr_5 = (aot_gpr_5 + ctx.gpr[6]); + aot_gpr_6 = (aot_gpr_4 << 2u); + aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(6288))); { const bool branch_taken = aot_gpr_5 != ctx.gpr[17]; // nop @@ -6986,13 +6987,13 @@ L_088EE6BC: } L_088EE6CC: ctx.gpr[21] = (aot_gpr_29 + static_cast(384)); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x088EE6DCu); aot_gpr_5 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 10u, 0x08910074u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EE6DCu) goto L_088EE6DC; AOT_REGCACHE_SYNC_OUT(); return; L_088EE6DC: - aot_gpr_4 = (aot_gpr_16 + static_cast(48)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -7035,7 +7036,7 @@ L_088EE6DC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(400), std::bit_cast(ctx.fpr[16])); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(356))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(404), std::bit_cast(aot_fpr_12)); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x088EE748u); aot_gpr_5 = (ctx.gpr[22] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 10u, 0x08910074u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EE748u) goto L_088EE748; @@ -7101,7 +7102,7 @@ L_088EE748: goto L_088EE7D8; L_088EE7D8: aot_gpr_4 = (aot_gpr_4 & 255u); - { const bool branch_taken = static_cast(aot_gpr_19) <= 0; + { const bool branch_taken = static_cast(ctx.gpr[19]) <= 0; // nop if (branch_taken) { goto L_088EE878; @@ -7127,8 +7128,8 @@ L_088EE7EC: L_088EE7F4: aot_gpr_4 = (0u | 300u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_4); - ctx.gpr[6] = (aot_gpr_29 + static_cast(16)); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_6 = (aot_gpr_29 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 3u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x088EE814u); @@ -7140,7 +7141,7 @@ L_088EE814: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2072), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(2072), aot_gpr_4); if (branch_taken) { goto L_088EE8B0; } @@ -7148,11 +7149,11 @@ L_088EE814: } L_088EE828: aot_gpr_31 = (0x088EE830u); - aot_gpr_19 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(2192))); + ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(2192))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EE830u) goto L_088EE830; AOT_REGCACHE_SYNC_OUT(); return; L_088EE830: - { const bool branch_taken = aot_gpr_19 != ctx.gpr[2]; + { const bool branch_taken = ctx.gpr[19] != aot_gpr_2; // nop if (branch_taken) { goto L_088EE8B0; @@ -7162,14 +7163,14 @@ L_088EE830: L_088EE838: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x088EE844u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 649u, 0x08947420u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EE844u) goto L_088EE844; AOT_REGCACHE_SYNC_OUT(); return; L_088EE844: aot_gpr_4 = (0u | 500u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_4); - ctx.gpr[6] = (aot_gpr_29 + static_cast(16)); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_6 = (aot_gpr_29 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 3u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x088EE864u); @@ -7181,7 +7182,7 @@ L_088EE864: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2072), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(2072), aot_gpr_4); if (branch_taken) { goto L_088EE8B0; } @@ -7198,8 +7199,8 @@ L_088EE878: L_088EE880: aot_gpr_4 = (0u | 300u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_4); - ctx.gpr[6] = (aot_gpr_29 + static_cast(16)); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_6 = (aot_gpr_29 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 3u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x088EE8A0u); @@ -7210,7 +7211,7 @@ L_088EE8A0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2072), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(2072), aot_gpr_4); goto L_088EE8B0; L_088EE8B0: { const bool branch_taken = 0u == 0u; @@ -7221,7 +7222,7 @@ L_088EE8B0: goto L_088EE8B8; } L_088EE8B8: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x088EE8C4u); aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0074_entry, 74u, 213u, 0x0892D2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EE8C4u) goto L_088EE8C4; @@ -7247,7 +7248,7 @@ L_088EE8D4: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(23)))))); aot_gpr_5 = (0u | 100u); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1364))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1364))); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(22)))))); aot_gpr_4 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_5) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; @@ -7260,10 +7261,10 @@ L_088EE8D4: L_088EE8F8: aot_gpr_31 = (0x088EE900u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EE900u) goto L_088EE900; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EE900u) goto L_088EE900; AOT_REGCACHE_SYNC_OUT(); return; L_088EE900: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_088EE924; @@ -7292,10 +7293,10 @@ L_088EE914: L_088EE924: aot_gpr_31 = (0x088EE92Cu); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EE92Cu) goto L_088EE92C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EE92Cu) goto L_088EE92C; AOT_REGCACHE_SYNC_OUT(); return; L_088EE92C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088EE968; @@ -7316,10 +7317,10 @@ L_088EE934: goto L_088EE950; } L_088EE950: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088EE960u); - ctx.gpr[6] = (0u | 2u); + aot_gpr_6 = (0u | 2u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0070_entry, 70u, 480u, 0x0891E8B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EE960u) goto L_088EE960; AOT_REGCACHE_SYNC_OUT(); return; L_088EE960: @@ -7331,7 +7332,7 @@ L_088EE960: goto L_088EE968; } L_088EE968: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x088EE974u); aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0074_entry, 74u, 213u, 0x0892D2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EE974u) goto L_088EE974; @@ -7345,18 +7346,18 @@ L_088EE974: goto L_088EE97C; } L_088EE97C: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x088EE988u); aot_gpr_5 = (0u | 155u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 16u, 0x08860424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EE988u) goto L_088EE988; AOT_REGCACHE_SYNC_OUT(); return; L_088EE988: aot_gpr_31 = (0x088EE990u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EE990u) goto L_088EE990; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EE990u) goto L_088EE990; AOT_REGCACHE_SYNC_OUT(); return; L_088EE990: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088EE9BC; @@ -7364,16 +7365,16 @@ L_088EE990: goto L_088EE998; } L_088EE998: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x088EE9B0u); ctx.gpr[8] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 442u, 0x08909A64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EE9B0u) goto L_088EE9B0; AOT_REGCACHE_SYNC_OUT(); return; L_088EE9B0: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x088EE9BCu); aot_gpr_5 = (0u | 800u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 326u, 0x089092DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EE9BCu) goto L_088EE9BC; @@ -7381,10 +7382,10 @@ L_088EE9B0: L_088EE9BC: { std::uint32_t aot_run_words[8]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(720), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; - aot_gpr_19 = aot_run_words[3]; + ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; ctx.gpr[21] = aot_run_words[5]; ctx.gpr[22] = aot_run_words[6]; @@ -7398,13 +7399,13 @@ L_088EE9BC: AOT_REGCACHE_SYNC_OUT(); return; L_088EE9E4: aot_gpr_29 = (aot_gpr_29 + static_cast(-1200)); - { const std::uint32_t aot_run_words[16]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_19, ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; + { const std::uint32_t aot_run_words[16]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(1128), aot_run_words); } - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(2228))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(2228))); ctx.gpr[7] = (0u | 45u); ctx.gpr[17] = (aot_gpr_4 | 0u); - aot_gpr_19 = (aot_gpr_5 | 0u); - { const bool branch_taken = ctx.gpr[6] == ctx.gpr[7]; + ctx.gpr[19] = (aot_gpr_5 | 0u); + { const bool branch_taken = aot_gpr_6 == ctx.gpr[7]; aot_fpr_20 = std::bit_cast(std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_088EEA50; @@ -7431,7 +7432,7 @@ L_088EEA50: goto L_088EEA5C; } L_088EEA5C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_19 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 496u); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -7441,7 +7442,7 @@ L_088EEA5C: goto L_088EEA6C; } L_088EEA6C: - aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(2116), aot_gpr_19); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(2116), ctx.gpr[19]); goto L_088EEA70; L_088EEA70: { const bool branch_taken = 0u == 0u; @@ -7522,10 +7523,10 @@ L_088EEAD4: L_088EEAE8: aot_gpr_31 = (0x088EEAF0u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EEAF0u) goto L_088EEAF0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EEAF0u) goto L_088EEAF0; AOT_REGCACHE_SYNC_OUT(); return; L_088EEAF0: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_088EEB34; @@ -7543,7 +7544,7 @@ L_088EEAF8: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_4 = (aot_gpr_19 + static_cast(48)); + aot_gpr_4 = (ctx.gpr[19] + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -7572,7 +7573,7 @@ L_088EEAF8: } L_088EEB2C: { const bool branch_taken = 0u == 0u; - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_19 + static_cast(86)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(86)))))); if (branch_taken) { goto L_088EEB44; } @@ -7606,10 +7607,10 @@ L_088EEB44: L_088EEB50: aot_gpr_31 = (0x088EEB58u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EEB58u) goto L_088EEB58; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EEB58u) goto L_088EEB58; AOT_REGCACHE_SYNC_OUT(); return; L_088EEB58: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_088EF6D8; @@ -7620,10 +7621,10 @@ L_088EEB60: aot_gpr_4 = (0u | 0u); aot_gpr_31 = (0x088EEB6Cu); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(1104), static_cast(aot_gpr_4)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EEB6Cu) goto L_088EEB6C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EEB6Cu) goto L_088EEB6C; AOT_REGCACHE_SYNC_OUT(); return; L_088EEB6C: - ctx.gpr[22] = (ctx.gpr[2] & 65535u); + ctx.gpr[22] = (aot_gpr_2 & 65535u); ctx.gpr[22] = (ctx.gpr[22] & 3u); aot_gpr_4 = (0u | 42u); aot_gpr_31 = (0x088EEB80u); @@ -7632,14 +7633,14 @@ L_088EEB6C: AOT_REGCACHE_SYNC_OUT(); return; L_088EEB80: ctx.gpr[21] = (0u | 1u); - aot_gpr_16 = (0u + static_cast(-939)); - ctx.gpr[20] = (aot_gpr_19 + static_cast(320)); - ctx.gpr[23] = (aot_gpr_19 + static_cast(32)); + ctx.gpr[16] = (0u + static_cast(-939)); + ctx.gpr[20] = (ctx.gpr[19] + static_cast(320)); + ctx.gpr[23] = (ctx.gpr[19] + static_cast(32)); ctx.fpr[28] = std::bit_cast(0u); aot_gpr_4 = (16256u << 16u); ctx.fpr[26] = std::bit_cast(aot_gpr_4); aot_gpr_4 = (17530u << 16u); - { const bool branch_taken = aot_gpr_19 != ctx.gpr[2]; + { const bool branch_taken = ctx.gpr[19] != aot_gpr_2; ctx.fpr[24] = std::bit_cast(aot_gpr_4); if (branch_taken) { goto L_088EEC40; @@ -7668,7 +7669,7 @@ L_088EEBA8: aot_gpr_4 = (17658u << 16u); ctx.fpr[15] = std::bit_cast(aot_gpr_4); { const float fs = aot_fpr_13; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } - ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_19 + static_cast(208))); + ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(208))); aot_fpr_13 = aot_fpr_13 / ctx.fpr[16]; aot_gpr_4 = (17056u << 16u); aot_fpr_14 = std::bit_cast(aot_gpr_4); @@ -7696,9 +7697,9 @@ L_088EEC00: L_088EEC28: aot_gpr_5 = (ctx.gpr[21] << 16u); aot_gpr_5 = (static_cast(static_cast(aot_gpr_5) >> 16u)); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x088EEC3Cu); - ctx.gpr[6] = (ctx.gpr[18] | 0u); + aot_gpr_6 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0097_entry, 97u, 954u, 0x0898BB3Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EEC3Cu) goto L_088EEC3C; AOT_REGCACHE_SYNC_OUT(); return; L_088EEC3C: @@ -7709,9 +7710,9 @@ L_088EEC40: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(456))); aot_gpr_4 = (aot_gpr_5 & aot_gpr_4); aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(456), aot_gpr_4); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_19 + static_cast(320))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(320))); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_19 + static_cast(324))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(324))); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_13) ^ 0x80000000u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), std::bit_cast(aot_fpr_13)); @@ -7721,11 +7722,11 @@ L_088EEC40: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 618u, 0x08906DC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EEC74u) goto L_088EEC74; AOT_REGCACHE_SYNC_OUT(); return; L_088EEC74: - ctx.gpr[18] = (ctx.gpr[2] | 0u); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_19 + static_cast(86)))))); + ctx.gpr[18] = (aot_gpr_2 | 0u); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(86)))))); aot_gpr_5 = (aot_gpr_4 << 2u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); - aot_gpr_5 = (ctx.gpr[6] + aot_gpr_5); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); + aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(20))); aot_gpr_5 = (aot_gpr_5 + static_cast(32)); @@ -7739,7 +7740,7 @@ L_088EEC74: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = aot_gpr_19 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -7772,7 +7773,7 @@ L_088EEC74: ctx.execute_vfpu_vdot_ct<28u, 0u, 1u, 3u>(); aot_gpr_5 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_12 = std::bit_cast(aot_gpr_5); - { const bool branch_taken = aot_gpr_4 != aot_gpr_16; + { const bool branch_taken = aot_gpr_4 != ctx.gpr[16]; // nop if (branch_taken) { goto L_088EED48; @@ -7839,8 +7840,8 @@ L_088EED1C: } L_088EED28: aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_19 + static_cast(96))); - ctx.gpr[6] = (0u | 166u); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(96))); + aot_gpr_6 = (0u | 166u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[26])); aot_gpr_31 = (0x088EED40u); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[26])); @@ -7864,7 +7865,7 @@ L_088EED48: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - ctx.gpr[21] = (aot_gpr_19 + static_cast(16)); + ctx.gpr[21] = (ctx.gpr[19] + static_cast(16)); { const std::uint32_t vfpu_address = ctx.gpr[21] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -7880,7 +7881,7 @@ L_088EED48: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[15] < ctx.fpr[28])) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1108))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1108))); if (branch_taken) { goto L_088EF498; } @@ -7955,7 +7956,7 @@ L_088EEDC8: aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) & 0x7FFFFFFFu); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_19 + static_cast(86)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(86)))))); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); @@ -8063,8 +8064,8 @@ L_088EEE88: } L_088EEE94: aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_19 + static_cast(96))); - ctx.gpr[6] = (0u | 166u); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(96))); + aot_gpr_6 = (0u | 166u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[26])); aot_gpr_31 = (0x088EEEACu); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[26])); @@ -8109,23 +8110,23 @@ L_088EEED8: } L_088EEEE0: aot_gpr_4 = (0u | 1u); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_19 + static_cast(86)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(86)))))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(1104), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_gpr_5 << 2u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); - aot_gpr_4 = (ctx.gpr[6] + aot_gpr_4); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); + aot_gpr_4 = (aot_gpr_6 + aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); aot_gpr_4 = (aot_gpr_4 + static_cast(32)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_4 = (aot_gpr_5 << 2u); - aot_gpr_4 = (ctx.gpr[6] + aot_gpr_4); + aot_gpr_4 = (aot_gpr_6 + aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); aot_gpr_4 = (aot_gpr_4 + static_cast(16)); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_4 = (aot_gpr_5 << 2u); - aot_gpr_4 = (ctx.gpr[6] + aot_gpr_4); + aot_gpr_4 = (aot_gpr_6 + aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); aot_gpr_4 = (aot_gpr_4 + static_cast(32)); @@ -8164,7 +8165,7 @@ L_088EEF64: const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -8267,7 +8268,7 @@ L_088EEFE0: const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -8387,7 +8388,7 @@ L_088EF098: const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -8412,7 +8413,7 @@ L_088EF098: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(280))); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_19 + static_cast(86)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(86)))))); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); @@ -8423,7 +8424,7 @@ L_088EF098: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1124), ctx.gpr[17]); goto L_088EF0EC; L_088EF0EC: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1120), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1120), ctx.gpr[16]); { const std::uint32_t vfpu_address = ctx.gpr[20] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -8443,50 +8444,50 @@ L_088EF0EC: ctx.fpr[30] = aot_fpr_14 / aot_fpr_12; aot_gpr_31 = (0x088EF11Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EF11Cu) goto L_088EF11C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EF11Cu) goto L_088EF11C; AOT_REGCACHE_SYNC_OUT(); return; L_088EF11C: - aot_gpr_4 = (ctx.gpr[2] & 65535u); + aot_gpr_4 = (aot_gpr_2 & 65535u); aot_gpr_31 = (0x088EF128u); aot_gpr_4 = (aot_gpr_4 & 255u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 482u, 0x08B625C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EF128u) goto L_088EF128; AOT_REGCACHE_SYNC_OUT(); return; L_088EF128: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23132))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23136))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23136))); aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x088EF13Cu); - aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EF13Cu) goto L_088EF13C; + aot_gpr_4 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EF13Cu) goto L_088EF13C; AOT_REGCACHE_SYNC_OUT(); return; L_088EF13C: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23124))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23128))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23128))); aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x088EF150u); - aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EF150u) goto L_088EF150; + aot_gpr_4 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61EF4, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EF150u) goto L_088EF150; AOT_REGCACHE_SYNC_OUT(); return; L_088EF150: ctx.gpr[17] = (ctx.gpr[3] | 0u); - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x088EF160u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[30])); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EF160u) goto L_088EF160; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EF160u) goto L_088EF160; AOT_REGCACHE_SYNC_OUT(); return; L_088EF160: aot_gpr_5 = (ctx.gpr[17] | 0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); ctx.gpr[7] = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x088EF174u); - ctx.gpr[6] = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EF174u) goto L_088EF174; + aot_gpr_6 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EF174u) goto L_088EF174; AOT_REGCACHE_SYNC_OUT(); return; L_088EF174: aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x088EF180u); - aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EF180u) goto L_088EF180; + aot_gpr_4 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B627F0, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EF180u) goto L_088EF180; AOT_REGCACHE_SYNC_OUT(); return; L_088EF180: aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[0])); @@ -8554,7 +8555,7 @@ L_088EF180: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (0u | 1u); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1120))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1120))); { const bool branch_taken = ctx.gpr[18] == aot_gpr_4; ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1124))); if (branch_taken) { @@ -8639,7 +8640,7 @@ L_088EF278: ctx.gpr[18] = (ctx.gpr[18] + static_cast(-4)); goto L_088EF27C; L_088EF27C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_19 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 14u); aot_gpr_4 = (aot_gpr_4 ^ 4u); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); @@ -8652,7 +8653,7 @@ L_088EF27C: goto L_088EF298; } L_088EF298: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_19 + static_cast(852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(852))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -8662,12 +8663,12 @@ L_088EF298: } L_088EF2A4: aot_gpr_31 = (0x088EF2ACu); - aot_gpr_4 = (aot_gpr_19 | 0u); + aot_gpr_4 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 385u, 0x08831B44u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EF2ACu) goto L_088EF2AC; AOT_REGCACHE_SYNC_OUT(); return; L_088EF2AC: - aot_gpr_16 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_088EF3E0; @@ -8677,15 +8678,15 @@ L_088EF2AC: L_088EF2B8: aot_gpr_31 = (0x088EF2C0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EF2C0u) goto L_088EF2C0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EF2C0u) goto L_088EF2C0; AOT_REGCACHE_SYNC_OUT(); return; L_088EF2C0: - aot_gpr_4 = (ctx.gpr[2] & 65535u); + aot_gpr_4 = (aot_gpr_2 & 65535u); aot_gpr_5 = (aot_gpr_4 & 1u); aot_gpr_4 = (ctx.gpr[17] + static_cast(320)); - ctx.gpr[6] = (16128u << 16u); + aot_gpr_6 = (16128u << 16u); { const bool branch_taken = aot_gpr_5 == 0u; - aot_fpr_12 = std::bit_cast(ctx.gpr[6]); + aot_fpr_12 = std::bit_cast(aot_gpr_6); if (branch_taken) { goto L_088EF340; } @@ -8694,7 +8695,7 @@ L_088EF2C0: L_088EF2D8: aot_gpr_5 = (std::bit_cast(aot_fpr_20)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_5); - { const std::uint32_t vfpu_address = aot_gpr_19 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -8775,7 +8776,7 @@ L_088EF2D8: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_31 = (0x088EF338u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 538u, 0x08A666C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EF338u) goto L_088EF338; AOT_REGCACHE_SYNC_OUT(); return; L_088EF338: @@ -8789,7 +8790,7 @@ L_088EF338: L_088EF340: aot_gpr_5 = (std::bit_cast(aot_fpr_20)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_5); - { const std::uint32_t vfpu_address = aot_gpr_19 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -8870,7 +8871,7 @@ L_088EF340: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_31 = (0x088EF3A0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 538u, 0x08A666C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EF3A0u) goto L_088EF3A0; AOT_REGCACHE_SYNC_OUT(); return; L_088EF3A0: @@ -8906,11 +8907,11 @@ L_088EF3A0: ctx.fpr[17] = std::bit_cast(aot_run_words[2]); } aot_gpr_31 = (0x088EF3E0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 611u, 0x08A66E08u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EF3E0u) goto L_088EF3E0; AOT_REGCACHE_SYNC_OUT(); return; L_088EF3E0: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1108))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1108))); goto L_088EF3E4; L_088EF3E4: { const std::uint32_t vfpu_address = ctx.gpr[30] + static_cast(0); @@ -8922,7 +8923,7 @@ L_088EF3E4: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -9045,28 +9046,28 @@ L_088EF474: } L_088EF480: aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_19 + static_cast(96))); - ctx.gpr[6] = (0u | 166u); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(96))); + aot_gpr_6 = (0u | 166u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[26])); aot_gpr_31 = (0x088EF498u); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[26])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 503u, 0x08A05F80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EF498u) goto L_088EF498; AOT_REGCACHE_SYNC_OUT(); return; L_088EF498: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_19 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 14u); aot_gpr_4 = (aot_gpr_4 ^ 4u); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_16 = (ctx.gpr[18] & 255u); + ctx.gpr[16] = (ctx.gpr[18] & 255u); if (branch_taken) { goto L_088EF50C; } goto L_088EF4B4; } L_088EF4B4: - aot_gpr_4 = (aot_gpr_19 | 0u); + aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(900))); { const bool branch_taken = aot_gpr_5 == 0u; // nop @@ -9077,8 +9078,8 @@ L_088EF4B4: } L_088EF4C4: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1360))); - ctx.gpr[6] = (0u | 6u); - { const bool branch_taken = aot_gpr_5 != ctx.gpr[6]; + aot_gpr_6 = (0u | 6u); + { const bool branch_taken = aot_gpr_5 != aot_gpr_6; // nop if (branch_taken) { goto L_088EF4F4; @@ -9089,7 +9090,7 @@ L_088EF4D4: ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(900))); aot_gpr_4 = (0u | 10u); aot_gpr_5 = (0u | 1u); - ctx.gpr[6] = (ctx.gpr[17] | 0u); + aot_gpr_6 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088EF4ECu); ctx.gpr[8] = (0u | 1000u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0095_entry, 95u, 24u, 0x0898019Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EF4ECu) goto L_088EF4EC; @@ -9106,7 +9107,7 @@ L_088EF4F4: ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(900))); aot_gpr_4 = (0u | 9u); aot_gpr_5 = (0u | 1u); - ctx.gpr[6] = (ctx.gpr[17] | 0u); + aot_gpr_6 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088EF50Cu); ctx.gpr[8] = (0u | 1000u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0095_entry, 95u, 24u, 0x0898019Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EF50Cu) goto L_088EF50C; @@ -9130,12 +9131,12 @@ L_088EF51C: goto L_088EF52C; } L_088EF52C: - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1116))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1116))); aot_gpr_4 = (ctx.gpr[17] | 0u); - aot_gpr_5 = (aot_gpr_19 | 0u); + aot_gpr_5 = (ctx.gpr[19] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[24])); ctx.gpr[7] = (0u | 6u); - ctx.gpr[8] = (aot_gpr_16 | 0u); + ctx.gpr[8] = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x088EF54Cu); ctx.gpr[9] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0057_entry, 57u, 692u, 0x088EB674u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EF54Cu) goto L_088EF54C; @@ -9161,7 +9162,7 @@ L_088EF560: aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(1104))); aot_gpr_5 = (static_cast(aot_gpr_5) < 5 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; - ctx.gpr[6] = (aot_gpr_4 | 0u); + aot_gpr_6 = (aot_gpr_4 | 0u); if (branch_taken) { goto L_088EF5BC; } @@ -9169,10 +9170,10 @@ L_088EF560: } L_088EF570: aot_gpr_4 = (ctx.gpr[17] | 0u); - aot_gpr_5 = (aot_gpr_19 | 0u); + aot_gpr_5 = (ctx.gpr[19] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[24])); ctx.gpr[7] = (0u | 3u); - ctx.gpr[8] = (aot_gpr_16 | 0u); + ctx.gpr[8] = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x088EF58Cu); ctx.gpr[9] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0057_entry, 57u, 692u, 0x088EB674u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EF58Cu) goto L_088EF58C; @@ -9186,12 +9187,12 @@ L_088EF58C: goto L_088EF594; } L_088EF594: - ctx.gpr[6] = (aot_gpr_4 | 0u); + aot_gpr_6 = (aot_gpr_4 | 0u); aot_gpr_4 = (ctx.gpr[17] | 0u); - aot_gpr_5 = (aot_gpr_19 | 0u); + aot_gpr_5 = (ctx.gpr[19] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[24])); ctx.gpr[7] = (0u | 2u); - ctx.gpr[8] = (aot_gpr_16 | 0u); + ctx.gpr[8] = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x088EF5B4u); ctx.gpr[9] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0057_entry, 57u, 692u, 0x088EB674u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EF5B4u) goto L_088EF5B4; @@ -9205,12 +9206,12 @@ L_088EF5B4: goto L_088EF5BC; } L_088EF5BC: - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1116))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1116))); aot_gpr_4 = (ctx.gpr[17] | 0u); - aot_gpr_5 = (aot_gpr_19 | 0u); + aot_gpr_5 = (ctx.gpr[19] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[24])); ctx.gpr[7] = (0u | 1u); - ctx.gpr[8] = (aot_gpr_16 | 0u); + ctx.gpr[8] = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x088EF5DCu); ctx.gpr[9] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0057_entry, 57u, 692u, 0x088EB674u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EF5DCu) goto L_088EF5DC; @@ -9256,7 +9257,7 @@ L_088EF610: goto L_088EF61C; } L_088EF61C: - aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(2116), aot_gpr_19); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(2116), ctx.gpr[19]); goto L_088EF620; L_088EF620: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(1104))); @@ -9304,7 +9305,7 @@ L_088EF64C: const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_19 + static_cast(208))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(208))); aot_gpr_4 = (17583u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_12 = aot_fpr_12 / aot_fpr_13; @@ -9343,7 +9344,7 @@ L_088EF68C: aot_fpr_14 = std::bit_cast(aot_run_words[2]); } aot_gpr_31 = (0x088EF6C4u); - aot_gpr_4 = (aot_gpr_19 | 0u); + aot_gpr_4 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 600u, 0x08A66CD8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EF6C4u) goto L_088EF6C4; AOT_REGCACHE_SYNC_OUT(); return; L_088EF6C4: @@ -9403,10 +9404,10 @@ L_088EF714: L_088EF728: aot_gpr_31 = (0x088EF730u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EF730u) goto L_088EF730; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EF730u) goto L_088EF730; AOT_REGCACHE_SYNC_OUT(); return; L_088EF730: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; aot_gpr_4 = (16672u << 16u); if (branch_taken) { goto L_088EF74C; @@ -9429,9 +9430,9 @@ L_088EF74C: ctx.gpr[23] = (0u + static_cast(-2)); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[23]); aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(456), aot_gpr_4); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_19 + static_cast(320))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(320))); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_19 + static_cast(324))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(324))); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_13) ^ 0x80000000u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(528), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(532), std::bit_cast(aot_fpr_13)); @@ -9441,23 +9442,23 @@ L_088EF74C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 618u, 0x08906DC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EF780u) goto L_088EF780; AOT_REGCACHE_SYNC_OUT(); return; L_088EF780: - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x088EF78Cu); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EF78Cu) goto L_088EF78C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EF78Cu) goto L_088EF78C; AOT_REGCACHE_SYNC_OUT(); return; L_088EF78C: ctx.gpr[20] = (0u + static_cast(-939)); - ctx.gpr[30] = (aot_gpr_19 + static_cast(320)); + ctx.gpr[30] = (ctx.gpr[19] + static_cast(320)); aot_fpr_20 = std::bit_cast(0u); aot_gpr_4 = (16256u << 16u); ctx.fpr[22] = std::bit_cast(aot_gpr_4); aot_gpr_5 = (ctx.gpr[17] + static_cast(320)); - aot_gpr_4 = (aot_gpr_16 & 255u); + aot_gpr_4 = (ctx.gpr[16] & 255u); ctx.gpr[21] = (aot_gpr_29 + static_cast(544)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1112), aot_gpr_5); ctx.gpr[18] = (aot_gpr_29 + static_cast(560)); - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; ctx.gpr[22] = (aot_gpr_29 + static_cast(496)); if (branch_taken) { goto L_088EF7F4; @@ -9465,7 +9466,7 @@ L_088EF78C: goto L_088EF7BC; } L_088EF7BC: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_19 + static_cast(86)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(86)))))); { const bool branch_taken = aot_gpr_5 != ctx.gpr[20]; ctx.gpr[8] = (aot_gpr_4 | 0u); if (branch_taken) { @@ -9478,8 +9479,8 @@ L_088EF7C8: aot_gpr_4 = (17174u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (ctx.gpr[17] | 0u); - aot_gpr_5 = (aot_gpr_19 | 0u); - ctx.gpr[6] = (0u | 42u); + aot_gpr_5 = (ctx.gpr[19] | 0u); + aot_gpr_6 = (0u | 42u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x088EF7ECu); ctx.gpr[9] = (0u | 0u); @@ -9500,15 +9501,15 @@ L_088EF7F8: aot_gpr_4 = (16880u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (ctx.gpr[17] | 0u); - aot_gpr_5 = (aot_gpr_19 | 0u); - ctx.gpr[6] = (0u | 42u); + aot_gpr_5 = (ctx.gpr[19] | 0u); + aot_gpr_6 = (0u | 42u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x088EF818u); ctx.gpr[9] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0057_entry, 57u, 692u, 0x088EB674u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EF818u) goto L_088EF818; AOT_REGCACHE_SYNC_OUT(); return; L_088EF818: - ctx.gpr[6] = (aot_gpr_16 + static_cast(28)); + aot_gpr_6 = (ctx.gpr[16] + static_cast(28)); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (0u | 1000u); aot_gpr_31 = (0x088EF82Cu); @@ -9555,10 +9556,10 @@ L_088EF860: L_088EF868: aot_gpr_31 = (0x088EF870u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EF870u) goto L_088EF870; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EF870u) goto L_088EF870; AOT_REGCACHE_SYNC_OUT(); return; L_088EF870: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088EF8A8; @@ -9576,7 +9577,7 @@ L_088EF878: goto L_088EF888; } L_088EF888: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_19 + static_cast(86)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(86)))))); { const bool branch_taken = aot_gpr_4 == ctx.gpr[20]; // nop if (branch_taken) { @@ -9596,7 +9597,7 @@ L_088EF894: goto L_088EF8A8; } L_088EF8A8: - aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(2116), aot_gpr_19); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(2116), ctx.gpr[19]); goto L_088EF8AC; L_088EF8AC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(464))); @@ -9616,7 +9617,7 @@ L_088EF8AC: const std::uint32_t vfpu_address = ctx.gpr[21] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_19 + static_cast(86)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(86)))))); { const bool branch_taken = aot_gpr_4 == ctx.gpr[20]; // nop if (branch_taken) { @@ -9897,7 +9898,7 @@ L_088EFA74: AOT_REGCACHE_SYNC_OUT(); return; L_088EFA88: ctx.gpr[22] = (aot_gpr_29 + static_cast(496)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_19 + static_cast(208))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(208))); aot_gpr_4 = (17530u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_12 = aot_fpr_12 / aot_fpr_13; @@ -9925,7 +9926,7 @@ L_088EFAC4: aot_fpr_14 = std::bit_cast(aot_run_words[2]); } aot_gpr_31 = (0x088EFAD8u); - aot_gpr_4 = (aot_gpr_19 | 0u); + aot_gpr_4 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 600u, 0x08A66CD8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EFAD8u) goto L_088EFAD8; AOT_REGCACHE_SYNC_OUT(); return; L_088EFAD8: @@ -9949,7 +9950,7 @@ L_088EFAF0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 319u, 0x0890D46Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EFAF8u) goto L_088EFAF8; AOT_REGCACHE_SYNC_OUT(); return; L_088EFAF8: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088EFB28; @@ -9957,7 +9958,7 @@ L_088EFAF8: goto L_088EFB00; } L_088EFB00: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_19 + static_cast(900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(900))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -9967,11 +9968,11 @@ L_088EFB00: } L_088EFB0C: aot_gpr_31 = (0x088EFB14u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_19 + static_cast(900))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EFB14u) goto L_088EFB14; + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(900))); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EFB14u) goto L_088EFB14; AOT_REGCACHE_SYNC_OUT(); return; L_088EFB14: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088EFB28; @@ -9979,7 +9980,7 @@ L_088EFB14: goto L_088EFB1C; } L_088EFB1C: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_19 + static_cast(900))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(900))); aot_gpr_31 = (0x088EFB28u); aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 119u, 0x089B4624u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EFB28u) goto L_088EFB28; @@ -9993,10 +9994,10 @@ L_088EFB28: ctx.fpr[26] = std::bit_cast(aot_run_words[3]); ctx.fpr[28] = std::bit_cast(aot_run_words[4]); ctx.fpr[30] = std::bit_cast(aot_run_words[5]); - aot_gpr_16 = aot_run_words[6]; + ctx.gpr[16] = aot_run_words[6]; ctx.gpr[17] = aot_run_words[7]; ctx.gpr[18] = aot_run_words[8]; - aot_gpr_19 = aot_run_words[9]; + ctx.gpr[19] = aot_run_words[9]; ctx.gpr[20] = aot_run_words[10]; ctx.gpr[21] = aot_run_words[11]; ctx.gpr[22] = aot_run_words[12]; @@ -10012,10 +10013,10 @@ L_088EFB28: AOT_REGCACHE_SYNC_OUT(); return; L_088EFB70: aot_gpr_29 = (aot_gpr_29 + static_cast(-176)); - { const std::uint32_t aot_run_words[16]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_19, ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; + { const std::uint32_t aot_run_words[16]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(100), aot_run_words); } ctx.gpr[18] = (aot_gpr_4 | 0u); - aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(1152))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(1152))); aot_gpr_4 = (16256u << 16u); ctx.fpr[30] = std::bit_cast(aot_gpr_4); ctx.fpr[28] = std::bit_cast(std::bit_cast(ctx.fpr[30])); @@ -10024,40 +10025,40 @@ L_088EFB70: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(80))); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x088EFBE0u); - ctx.gpr[6] = (0u | 189u); + aot_gpr_6 = (0u | 189u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EFBE0u) goto L_088EFBE0; AOT_REGCACHE_SYNC_OUT(); return; L_088EFBE0: - ctx.gpr[23] = (ctx.gpr[2] | 0u); + ctx.gpr[23] = (aot_gpr_2 | 0u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(80))); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x088EFBF4u); - ctx.gpr[6] = (0u | 190u); + aot_gpr_6 = (0u | 190u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EFBF4u) goto L_088EFBF4; AOT_REGCACHE_SYNC_OUT(); return; L_088EFBF4: - ctx.gpr[22] = (ctx.gpr[2] | 0u); + ctx.gpr[22] = (aot_gpr_2 | 0u); ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(80))); aot_gpr_31 = (0x088EFC04u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0149_entry, 149u, 307u, 0x08A59578u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EFC04u) goto L_088EFC04; AOT_REGCACHE_SYNC_OUT(); return; L_088EFC04: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088EFC14u); - ctx.gpr[6] = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EFC14u) goto L_088EFC14; AOT_REGCACHE_SYNC_OUT(); return; L_088EFC14: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x088EFC20u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EFC20u) goto L_088EFC20; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EFC20u) goto L_088EFC20; AOT_REGCACHE_SYNC_OUT(); return; L_088EFC20: - aot_gpr_4 = (aot_gpr_16 + static_cast(16)); - { const bool branch_taken = ctx.gpr[2] == 0u; + aot_gpr_4 = (ctx.gpr[16] + static_cast(16)); + { const bool branch_taken = aot_gpr_2 == 0u; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(76), aot_gpr_4); if (branch_taken) { goto L_088EFC54; @@ -10068,43 +10069,43 @@ L_088EFC2C: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(80))); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x088EFC3Cu); - ctx.gpr[6] = (0u | 192u); + aot_gpr_6 = (0u | 192u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EFC3Cu) goto L_088EFC3C; AOT_REGCACHE_SYNC_OUT(); return; L_088EFC3C: - ctx.gpr[21] = (ctx.gpr[2] | 0u); + ctx.gpr[21] = (aot_gpr_2 | 0u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(80))); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x088EFC50u); - ctx.gpr[6] = (0u | 191u); + aot_gpr_6 = (0u | 191u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EFC50u) goto L_088EFC50; AOT_REGCACHE_SYNC_OUT(); return; L_088EFC50: - ctx.gpr[20] = (ctx.gpr[2] | 0u); + ctx.gpr[20] = (aot_gpr_2 | 0u); goto L_088EFC54; L_088EFC54: - aot_gpr_19 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(80))); + ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(80))); aot_gpr_31 = (0x088EFC60u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0149_entry, 149u, 303u, 0x08A59554u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EFC60u) goto L_088EFC60; AOT_REGCACHE_SYNC_OUT(); return; L_088EFC60: aot_gpr_4 = (ctx.gpr[18] | 0u); - aot_gpr_5 = (aot_gpr_19 | 0u); + aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x088EFC70u); - ctx.gpr[6] = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EFC70u) goto L_088EFC70; AOT_REGCACHE_SYNC_OUT(); return; L_088EFC70: - aot_gpr_19 = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(80))); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x088EFC84u); - ctx.gpr[6] = (0u | 201u); + aot_gpr_6 = (0u | 201u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EFC84u) goto L_088EFC84; AOT_REGCACHE_SYNC_OUT(); return; L_088EFC84: - ctx.gpr[30] = (ctx.gpr[2] | 0u); + ctx.gpr[30] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[30] != 0u; // nop if (branch_taken) { @@ -10116,11 +10117,11 @@ L_088EFC90: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(80))); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x088EFCA0u); - ctx.gpr[6] = (0u | 202u); + aot_gpr_6 = (0u | 202u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EFCA0u) goto L_088EFCA0; AOT_REGCACHE_SYNC_OUT(); return; L_088EFCA0: - ctx.gpr[30] = (ctx.gpr[2] | 0u); + ctx.gpr[30] = (aot_gpr_2 | 0u); goto L_088EFCA4; L_088EFCA4: { const bool branch_taken = ctx.gpr[30] != 0u; @@ -10134,14 +10135,14 @@ L_088EFCAC: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(80))); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x088EFCBCu); - ctx.gpr[6] = (0u | 203u); + aot_gpr_6 = (0u | 203u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EFCBCu) goto L_088EFCBC; AOT_REGCACHE_SYNC_OUT(); return; L_088EFCBC: - ctx.gpr[30] = (ctx.gpr[2] | 0u); + ctx.gpr[30] = (aot_gpr_2 | 0u); goto L_088EFCC0; L_088EFCC0: - aot_gpr_4 = (aot_gpr_16 + static_cast(320)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(320)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -10190,22 +10191,22 @@ L_088EFCC0: goto L_088EFD0C; } L_088EFD0C: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 47u); - ctx.gpr[6] = (0u | 2u); + aot_gpr_6 = (0u | 2u); ctx.gpr[7] = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x088EFD24u); ctx.gpr[8] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0192_entry, 192u, 212u, 0x08B04D14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EFD24u) goto L_088EFD24; AOT_REGCACHE_SYNC_OUT(); return; L_088EFD24: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x088EFD30u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EFD30u) goto L_088EFD30; AOT_REGCACHE_SYNC_OUT(); return; L_088EFD30: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088EFD5C; @@ -10213,16 +10214,16 @@ L_088EFD30: goto L_088EFD38; } L_088EFD38: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x088EFD44u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EFD44u) goto L_088EFD44; AOT_REGCACHE_SYNC_OUT(); return; L_088EFD44: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 47u); - ctx.gpr[6] = (0u | 2u); - ctx.gpr[7] = (ctx.gpr[2] | 0u); + aot_gpr_6 = (0u | 2u); + ctx.gpr[7] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x088EFD5Cu); ctx.gpr[8] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0192_entry, 192u, 212u, 0x08B04D14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EFD5Cu) goto L_088EFD5C; @@ -10290,20 +10291,20 @@ L_088EFDC8: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(80), ctx.gpr[30]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(72), std::bit_cast(ctx.fpr[22])); ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(80))); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(92))); aot_gpr_5 = (aot_gpr_4 + static_cast(376)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); jump_target = aot_gpr_5; aot_gpr_31 = (0x088EFDECu); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EFDECu) goto L_088EFDEC; AOT_REGCACHE_SYNC_OUT(); return; L_088EFDEC: - ctx.gpr[30] = (ctx.gpr[2] | 0u); + ctx.gpr[30] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x088EFDF8u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0149_entry, 149u, 307u, 0x08A59578u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EFDF8u) goto L_088EFDF8; AOT_REGCACHE_SYNC_OUT(); return; L_088EFDF8: @@ -10311,13 +10312,13 @@ L_088EFDF8: aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); - ctx.gpr[6] = (ctx.gpr[30] | 0u); + aot_gpr_6 = (ctx.gpr[30] | 0u); aot_gpr_31 = (0x088EFE14u); - ctx.gpr[7] = (ctx.gpr[2] | 0u); + ctx.gpr[7] = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 163u, 0x089088F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EFE14u) goto L_088EFE14; AOT_REGCACHE_SYNC_OUT(); return; L_088EFE14: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); { const bool branch_taken = 0u == 0u; ctx.gpr[30] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(80))); if (branch_taken) { @@ -10336,7 +10337,7 @@ L_088EFE20: goto L_088EFE30; } L_088EFE30: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(352))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(352))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(88))); aot_gpr_4 = (16480u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); @@ -10351,9 +10352,9 @@ L_088EFE30: goto L_088EFE54; } L_088EFE54: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1493))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(1493))); { const bool branch_taken = static_cast(aot_gpr_4) > 0; - aot_gpr_4 = (aot_gpr_16 + static_cast(32)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(32)); if (branch_taken) { goto L_088EFE7C; } @@ -10373,22 +10374,22 @@ L_088EFE60: goto L_088EFE7C; } L_088EFE7C: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 47u); - ctx.gpr[6] = (0u | 2u); + aot_gpr_6 = (0u | 2u); ctx.gpr[7] = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x088EFE94u); ctx.gpr[8] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0192_entry, 192u, 212u, 0x08B04D14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EFE94u) goto L_088EFE94; AOT_REGCACHE_SYNC_OUT(); return; L_088EFE94: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x088EFEA0u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EFEA0u) goto L_088EFEA0; AOT_REGCACHE_SYNC_OUT(); return; L_088EFEA0: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088EFECC; @@ -10396,16 +10397,16 @@ L_088EFEA0: goto L_088EFEA8; } L_088EFEA8: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x088EFEB4u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EFEB4u) goto L_088EFEB4; AOT_REGCACHE_SYNC_OUT(); return; L_088EFEB4: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 47u); - ctx.gpr[6] = (0u | 2u); - ctx.gpr[7] = (ctx.gpr[2] | 0u); + aot_gpr_6 = (0u | 2u); + ctx.gpr[7] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x088EFECCu); ctx.gpr[8] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0192_entry, 192u, 212u, 0x08B04D14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EFECCu) goto L_088EFECC; @@ -10419,7 +10420,7 @@ L_088EFECC: goto L_088EFED4; } L_088EFED4: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(604))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(604))); aot_gpr_4 = (49024u << 16u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_20)) ? 0x00800000u : 0u); // nop @@ -10432,38 +10433,38 @@ L_088EFED4: } L_088EFEEC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(88), ctx.gpr[18]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(84), aot_gpr_19); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(84), ctx.gpr[19]); aot_gpr_31 = (0x088EFEFCu); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[22])); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EFEFCu) goto L_088EFEFC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EFEFCu) goto L_088EFEFC; AOT_REGCACHE_SYNC_OUT(); return; L_088EFEFC: - aot_gpr_19 = (ctx.gpr[3] | 0u); - ctx.gpr[18] = (ctx.gpr[2] | 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(352))); + ctx.gpr[19] = (ctx.gpr[3] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(352))); aot_gpr_31 = (0x088EFF10u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(88))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EFF10u) goto L_088EFF10; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EFF10u) goto L_088EFF10; AOT_REGCACHE_SYNC_OUT(); return; L_088EFF10: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23124))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23128))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23128))); aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x088EFF24u); - aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EFF24u) goto L_088EFF24; + aot_gpr_4 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EFF24u) goto L_088EFF24; AOT_REGCACHE_SYNC_OUT(); return; L_088EFF24: - aot_gpr_5 = (aot_gpr_19 | 0u); + aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_4 = (ctx.gpr[18] | 0u); ctx.gpr[7] = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x088EFF38u); - ctx.gpr[6] = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EFF38u) goto L_088EFF38; + aot_gpr_6 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B6256C, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EFF38u) goto L_088EFF38; AOT_REGCACHE_SYNC_OUT(); return; L_088EFF38: - aot_gpr_19 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(84))); - { const bool branch_taken = static_cast(ctx.gpr[2]) <= 0; + ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(84))); + { const bool branch_taken = static_cast(aot_gpr_2) <= 0; ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(88))); if (branch_taken) { goto L_088EFFD4; @@ -10471,14 +10472,14 @@ L_088EFF38: goto L_088EFF44; } L_088EFF44: - if (aot_gpr_19 == 0u) { + if (ctx.gpr[19] == 0u) { aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(80), ctx.gpr[30]); goto L_088EFF80; } goto L_088EFF4C; L_088EFF4C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(72), std::bit_cast(ctx.fpr[22])); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_19 + static_cast(16))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(16))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[30])) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); @@ -10490,7 +10491,7 @@ L_088EFF4C: } L_088EFF64: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(72), std::bit_cast(ctx.fpr[22])); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_19 + static_cast(36))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(36))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_20)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); @@ -10505,19 +10506,19 @@ L_088EFF7C: goto L_088EFF80; L_088EFF80: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(72), std::bit_cast(ctx.fpr[22])); - aot_gpr_19 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(80))); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); + ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(80))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(92))); aot_gpr_5 = (aot_gpr_4 + static_cast(376)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); jump_target = aot_gpr_5; aot_gpr_31 = (0x088EFFA0u); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EFFA0u) goto L_088EFFA0; AOT_REGCACHE_SYNC_OUT(); return; L_088EFFA0: - ctx.gpr[30] = (ctx.gpr[2] | 0u); + ctx.gpr[30] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x088EFFACu); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(1152))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0149_entry, 149u, 303u, 0x08A59554u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EFFACu) goto L_088EFFAC; @@ -10526,14 +10527,14 @@ L_088EFFAC: aot_gpr_4 = (16512u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (ctx.gpr[18] | 0u); - aot_gpr_5 = (aot_gpr_19 | 0u); - ctx.gpr[6] = (ctx.gpr[30] | 0u); + aot_gpr_5 = (ctx.gpr[19] | 0u); + aot_gpr_6 = (ctx.gpr[30] | 0u); aot_gpr_31 = (0x088EFFC8u); - ctx.gpr[7] = (ctx.gpr[2] | 0u); + ctx.gpr[7] = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 163u, 0x089088F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EFFC8u) goto L_088EFFC8; AOT_REGCACHE_SYNC_OUT(); return; L_088EFFC8: - aot_gpr_19 = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); { const bool branch_taken = 0u == 0u; ctx.gpr[30] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(80))); if (branch_taken) { @@ -10545,10 +10546,10 @@ L_088EFFD4: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(72), std::bit_cast(ctx.fpr[22])); aot_gpr_31 = (0x088EFFE0u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EFFE0u) goto L_088EFFE0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EFFE0u) goto L_088EFFE0; AOT_REGCACHE_SYNC_OUT(); return; L_088EFFE0: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0059_entry, 59u, 6u, 0x088F0048u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; @@ -10557,14 +10558,14 @@ L_088EFFE0: } L_088EFFE8: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(88), ctx.gpr[18]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(84), aot_gpr_19); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(84), ctx.gpr[19]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(72), std::bit_cast(ctx.fpr[22])); aot_gpr_31 = (0x088EFFFCu); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[22])); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EFFFCu) goto L_088EFFFC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088EFFFCu) goto L_088EFFFC; AOT_REGCACHE_SYNC_OUT(); return; L_088EFFFC: - aot_gpr_19 = (ctx.gpr[3] | 0u); + ctx.gpr[19] = (ctx.gpr[3] | 0u); ctx.pc = 0x088F0000u; AOT_REGCACHE_SYNC_OUT(); return; } diff --git a/profiles/vcs/generated/generated_unit_0059.cpp b/profiles/vcs/generated/generated_unit_0059.cpp index 67e3647..5a67792 100644 --- a/profiles/vcs/generated/generated_unit_0059.cpp +++ b/profiles/vcs/generated/generated_unit_0059.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0059[4092] = { }; void recomp_unit_0059_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,16,6,31,29 fprs=12,13,20,22 gpr_occ=3220 fpr_occ=1094 gpr_total=4463 fpr_total=1555 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,31,6,2,16 fprs=12,13,20,22 gpr_occ=3281 fpr_occ=1099 gpr_total=4698 fpr_total=1560 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; - std::uint32_t aot_gpr_16 = ctx.gpr[16]; - std::uint32_t aot_gpr_6 = ctx.gpr[6]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; - std::uint32_t aot_gpr_29 = ctx.gpr[29]; + std::uint32_t aot_gpr_6 = ctx.gpr[6]; + std::uint32_t aot_gpr_2 = ctx.gpr[2]; + std::uint32_t aot_gpr_16 = ctx.gpr[16]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_20 = ctx.fpr[20]; float aot_fpr_22 = ctx.fpr[22]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[16] = aot_gpr_16; ctx.gpr[6] = aot_gpr_6; ctx.gpr[31] = aot_gpr_31; ctx.gpr[29] = aot_gpr_29; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; ctx.fpr[22] = aot_fpr_22; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_29 = ctx.gpr[29]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_22 = ctx.fpr[22]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[31] = aot_gpr_31; ctx.gpr[6] = aot_gpr_6; ctx.gpr[2] = aot_gpr_2; ctx.gpr[16] = aot_gpr_16; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; ctx.fpr[22] = aot_fpr_22; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_2 = ctx.gpr[2]; aot_gpr_16 = ctx.gpr[16]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_22 = ctx.fpr[22]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -977,32 +978,32 @@ LOCAL_DISPATCH: } } L_088F0000: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(352))); aot_gpr_31 = (0x088F0010u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(88))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F0010u) goto L_088F0010; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[29], aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F0010u) goto L_088F0010; AOT_REGCACHE_SYNC_OUT(); return; L_088F0010: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23124))); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23128))); aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x088F0024u); - aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F0024u) goto L_088F0024; + aot_gpr_4 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_16, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F0024u) goto L_088F0024; AOT_REGCACHE_SYNC_OUT(); return; L_088F0024: aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_4 = (ctx.gpr[18] | 0u); ctx.gpr[7] = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x088F0038u); - aot_gpr_6 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F0038u) goto L_088F0038; + aot_gpr_6 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B6256C, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_16, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F0038u) goto L_088F0038; AOT_REGCACHE_SYNC_OUT(); return; L_088F0038: - ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(84))); - { const bool branch_taken = static_cast(ctx.gpr[2]) >= 0; - ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(88))); + ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(84))); + { const bool branch_taken = static_cast(aot_gpr_2) >= 0; + ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(88))); if (branch_taken) { goto L_088F0048; } @@ -1206,7 +1207,7 @@ L_088F01A4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F01BCu) goto L_088F01BC; AOT_REGCACHE_SYNC_OUT(); return; L_088F01BC: - aot_fpr_22 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(8))); + aot_fpr_22 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(8))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1072))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); aot_fpr_22 = aot_fpr_22 / aot_fpr_12; @@ -1244,7 +1245,7 @@ L_088F01F8: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_22 < ctx.fpr[26])) ? 0x00800000u : 0u); // nop if (!((ctx.fcr31 & 0x00800000u) != 0u)) { - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(96), std::bit_cast(aot_fpr_22)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(96), std::bit_cast(aot_fpr_22)); goto L_088F0210; } goto L_088F0208; @@ -1252,10 +1253,10 @@ L_088F0208: aot_fpr_22 = std::bit_cast(std::bit_cast(ctx.fpr[26])); goto L_088F020C; L_088F020C: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(96), std::bit_cast(aot_fpr_22)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(96), std::bit_cast(aot_fpr_22)); goto L_088F0210; L_088F0210: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(92), std::bit_cast(ctx.fpr[26])); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(92), std::bit_cast(ctx.fpr[26])); aot_gpr_4 = (16220u << 16u); aot_gpr_4 = (aot_gpr_4 | 10486u); aot_fpr_12 = std::bit_cast(aot_gpr_4); @@ -1282,7 +1283,7 @@ L_088F0210: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F0268u) goto L_088F0268; AOT_REGCACHE_SYNC_OUT(); return; L_088F0268: - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(20))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(20))); { const float fs = aot_fpr_13; const float ft = ctx.fpr[26]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_22 = aot_fpr_22 + aot_fpr_12; aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); @@ -1296,15 +1297,15 @@ L_088F0268: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F028Cu) goto L_088F028C; AOT_REGCACHE_SYNC_OUT(); return; L_088F028C: - aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(20), std::bit_cast(aot_fpr_22)); + aot_mem.aot_direct_store32(aot_gpr_2 + static_cast(20), std::bit_cast(aot_fpr_22)); aot_gpr_31 = (0x088F0298u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F0298u) goto L_088F0298; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F0298u) goto L_088F0298; AOT_REGCACHE_SYNC_OUT(); return; L_088F0298: - ctx.fpr[26] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(92))); - { const bool branch_taken = ctx.gpr[2] != 0u; - aot_fpr_22 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(96))); + ctx.fpr[26] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(92))); + { const bool branch_taken = aot_gpr_2 != 0u; + aot_fpr_22 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(96))); if (branch_taken) { goto L_088F02AC; } @@ -1322,7 +1323,7 @@ L_088F02AC: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[24] <= ctx.fpr[26])) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); - ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(76))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(76))); if (branch_taken) { goto L_088F0584; } @@ -1340,7 +1341,7 @@ L_088F02BC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F02D4u) goto L_088F02D4; AOT_REGCACHE_SYNC_OUT(); return; L_088F02D4: - ctx.fpr[24] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(16))); + ctx.fpr[24] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(16))); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[30])); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1280)))))); aot_gpr_5 = (0u + static_cast(-17)); @@ -1350,7 +1351,7 @@ L_088F02D4: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(ctx.fpr[14]) || std::isnan(aot_fpr_20)) && ctx.fpr[14] == aot_fpr_20)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(72))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(72))); if (branch_taken) { goto L_088F038C; } @@ -1668,10 +1669,10 @@ L_088F0580: L_088F0584: aot_gpr_31 = (0x088F058Cu); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F058Cu) goto L_088F058C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F058Cu) goto L_088F058C; AOT_REGCACHE_SYNC_OUT(); return; L_088F058C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088F0614; @@ -1705,7 +1706,7 @@ L_088F0594: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F05E8u) goto L_088F05E8; AOT_REGCACHE_SYNC_OUT(); return; L_088F05E8: - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(24))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(24))); { const float fs = aot_fpr_13; const float ft = aot_fpr_22; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } ctx.fpr[24] = ctx.fpr[24] + aot_fpr_12; aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); @@ -1720,7 +1721,7 @@ L_088F05E8: AOT_REGCACHE_SYNC_OUT(); return; L_088F060C: { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(24), std::bit_cast(ctx.fpr[24])); + aot_mem.aot_direct_store32(aot_gpr_2 + static_cast(24), std::bit_cast(ctx.fpr[24])); if (branch_taken) { goto L_088F0630; } @@ -1738,7 +1739,7 @@ L_088F0614: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F062Cu) goto L_088F062C; AOT_REGCACHE_SYNC_OUT(); return; L_088F062C: - aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(24), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(aot_gpr_2 + static_cast(24), std::bit_cast(aot_fpr_20)); goto L_088F0630; L_088F0630: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); @@ -1752,7 +1753,7 @@ L_088F0630: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F0648u) goto L_088F0648; AOT_REGCACHE_SYNC_OUT(); return; L_088F0648: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(20))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(20))); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) & 0x7FFFFFFFu); aot_gpr_4 = (16143u << 16u); aot_gpr_4 = (aot_gpr_4 | 23593u); @@ -1769,10 +1770,10 @@ L_088F0648: L_088F066C: aot_gpr_31 = (0x088F0674u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F0674u) goto L_088F0674; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F0674u) goto L_088F0674; AOT_REGCACHE_SYNC_OUT(); return; L_088F0674: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_088F0688; @@ -1800,7 +1801,7 @@ L_088F0688: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F06A0u) goto L_088F06A0; AOT_REGCACHE_SYNC_OUT(); return; L_088F06A0: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(24))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(24))); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) & 0x7FFFFFFFu); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_22)) ? 0x00800000u : 0u); // nop @@ -1832,7 +1833,7 @@ L_088F06C4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F06DCu) goto L_088F06DC; AOT_REGCACHE_SYNC_OUT(); return; L_088F06DC: - aot_fpr_22 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(24))); + aot_fpr_22 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(24))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); aot_gpr_5 = (aot_gpr_4 + static_cast(432)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); @@ -1844,7 +1845,7 @@ L_088F06DC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F06F8u) goto L_088F06F8; AOT_REGCACHE_SYNC_OUT(); return; L_088F06F8: - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(20))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(20))); { const float fs = aot_fpr_22; const float ft = aot_fpr_22; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } { const float fs = aot_fpr_13; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[14] = std::bit_cast(0x7FC00000u); else ctx.fpr[14] = fs * ft; } aot_fpr_12 = aot_fpr_12 + ctx.fpr[14]; @@ -1895,10 +1896,10 @@ L_088F075C: L_088F0764: aot_gpr_31 = (0x088F076Cu); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F076Cu) goto L_088F076C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F076Cu) goto L_088F076C; AOT_REGCACHE_SYNC_OUT(); return; L_088F076C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088F097C; @@ -1928,13 +1929,13 @@ L_088F077C: L_088F0798: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); - aot_gpr_6 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x088F07ACu); ctx.gpr[7] = (0u | 192u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 175u, 0x089089B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F07ACu) goto L_088F07AC; AOT_REGCACHE_SYNC_OUT(); return; L_088F07AC: - ctx.gpr[21] = (ctx.gpr[2] | 0u); + ctx.gpr[21] = (aot_gpr_2 | 0u); goto L_088F07B0; L_088F07B0: { const bool branch_taken = ctx.gpr[20] != 0u; @@ -1959,13 +1960,13 @@ L_088F07B8: L_088F07D4: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); - aot_gpr_6 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x088F07E8u); ctx.gpr[7] = (0u | 191u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 175u, 0x089089B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F07E8u) goto L_088F07E8; AOT_REGCACHE_SYNC_OUT(); return; L_088F07E8: - ctx.gpr[20] = (ctx.gpr[2] | 0u); + ctx.gpr[20] = (aot_gpr_2 | 0u); goto L_088F07EC; L_088F07EC: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7080))); @@ -1988,7 +1989,7 @@ L_088F07F8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F0810u) goto L_088F0810; AOT_REGCACHE_SYNC_OUT(); return; L_088F0810: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(24))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(24))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_20)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); @@ -2013,7 +2014,7 @@ L_088F0824: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F0848u) goto L_088F0848; AOT_REGCACHE_SYNC_OUT(); return; L_088F0848: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(24))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(24))); { const float fs = aot_fpr_22; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_31 = (0x088F0858u); aot_gpr_4 = (ctx.gpr[21] | 0u); @@ -2049,7 +2050,7 @@ L_088F0870: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F0894u) goto L_088F0894; AOT_REGCACHE_SYNC_OUT(); return; L_088F0894: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(24))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(24))); { const float fs = aot_fpr_22; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); aot_gpr_31 = (0x088F08A8u); @@ -2083,7 +2084,7 @@ L_088F08C0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F08D8u) goto L_088F08D8; AOT_REGCACHE_SYNC_OUT(); return; L_088F08D8: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(24))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(24))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_20)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); @@ -2108,7 +2109,7 @@ L_088F08EC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F0910u) goto L_088F0910; AOT_REGCACHE_SYNC_OUT(); return; L_088F0910: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(24))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(24))); { const float fs = aot_fpr_22; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_31 = (0x088F0920u); aot_gpr_4 = (ctx.gpr[21] | 0u); @@ -2140,7 +2141,7 @@ L_088F0934: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F0958u) goto L_088F0958; AOT_REGCACHE_SYNC_OUT(); return; L_088F0958: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(24))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(24))); { const float fs = aot_fpr_22; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); aot_gpr_31 = (0x088F096Cu); @@ -2176,13 +2177,13 @@ L_088F0984: L_088F09A0: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); - aot_gpr_6 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x088F09B4u); ctx.gpr[7] = (0u | 189u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 175u, 0x089089B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F09B4u) goto L_088F09B4; AOT_REGCACHE_SYNC_OUT(); return; L_088F09B4: - ctx.gpr[23] = (ctx.gpr[2] | 0u); + ctx.gpr[23] = (aot_gpr_2 | 0u); goto L_088F09B8; L_088F09B8: { const bool branch_taken = ctx.gpr[22] != 0u; @@ -2207,13 +2208,13 @@ L_088F09C0: L_088F09DC: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); - aot_gpr_6 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x088F09F0u); ctx.gpr[7] = (0u | 190u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 175u, 0x089089B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F09F0u) goto L_088F09F0; AOT_REGCACHE_SYNC_OUT(); return; L_088F09F0: - ctx.gpr[22] = (ctx.gpr[2] | 0u); + ctx.gpr[22] = (aot_gpr_2 | 0u); goto L_088F09F4; L_088F09F4: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7080))); @@ -2236,7 +2237,7 @@ L_088F0A00: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F0A18u) goto L_088F0A18; AOT_REGCACHE_SYNC_OUT(); return; L_088F0A18: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(20))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(20))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_20)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); @@ -2261,7 +2262,7 @@ L_088F0A2C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F0A50u) goto L_088F0A50; AOT_REGCACHE_SYNC_OUT(); return; L_088F0A50: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(20))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(20))); { const float fs = aot_fpr_22; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_31 = (0x088F0A60u); aot_gpr_4 = (ctx.gpr[22] | 0u); @@ -2297,7 +2298,7 @@ L_088F0A78: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F0A9Cu) goto L_088F0A9C; AOT_REGCACHE_SYNC_OUT(); return; L_088F0A9C: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(20))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(20))); { const float fs = aot_fpr_22; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); aot_gpr_31 = (0x088F0AB0u); @@ -2331,7 +2332,7 @@ L_088F0AC8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F0AE0u) goto L_088F0AE0; AOT_REGCACHE_SYNC_OUT(); return; L_088F0AE0: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(20))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(20))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_20)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); @@ -2356,7 +2357,7 @@ L_088F0AF4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F0B18u) goto L_088F0B18; AOT_REGCACHE_SYNC_OUT(); return; L_088F0B18: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(20))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(20))); { const float fs = aot_fpr_22; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_31 = (0x088F0B28u); aot_gpr_4 = (ctx.gpr[22] | 0u); @@ -2388,7 +2389,7 @@ L_088F0B3C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F0B60u) goto L_088F0B60; AOT_REGCACHE_SYNC_OUT(); return; L_088F0B60: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(20))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(20))); { const float fs = aot_fpr_22; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); aot_gpr_31 = (0x088F0B74u); @@ -2402,7 +2403,7 @@ L_088F0B74: aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(16), std::bit_cast(aot_fpr_20)); goto L_088F0B84; L_088F0B84: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(72))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(72))); aot_gpr_4 = (16025u << 16u); aot_gpr_4 = (aot_gpr_4 | 39322u); aot_fpr_13 = std::bit_cast(aot_gpr_4); @@ -2419,7 +2420,7 @@ L_088F0BA4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(708))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); { const std::uint32_t aot_run_words[6]{std::bit_cast(ctx.fpr[30]), std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[30]), std::bit_cast(aot_fpr_20)}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(44), aot_run_words); } + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(44), aot_run_words); } aot_gpr_16 = (aot_gpr_4 + static_cast(8)); aot_gpr_4 = (49344u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); @@ -2428,14 +2429,14 @@ L_088F0BA4: ctx.fpr[14] = std::bit_cast(aot_gpr_4); aot_gpr_31 = (0x088F0BE4u); { const float fs = aot_fpr_12; const float ft = ctx.fpr[14]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_22 = std::bit_cast(0x7FC00000u); else aot_fpr_22 = fs * ft; } - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F0BE4u) goto L_088F0BE4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F0BE4u) goto L_088F0BE4; AOT_REGCACHE_SYNC_OUT(); return; L_088F0BE4: ctx.fpr[15] = aot_fpr_22 - aot_fpr_20; { const float fs = ctx.fpr[15]; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = aot_fpr_20 + aot_fpr_12; aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_29 + static_cast(44)); + aot_gpr_5 = (ctx.gpr[29] + static_cast(44)); aot_gpr_31 = (0x088F0C00u); aot_gpr_6 = (0u | 2u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 220u, 0x08968D2Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F0C00u) goto L_088F0C00; @@ -2443,14 +2444,14 @@ L_088F0BE4: L_088F0C00: aot_gpr_31 = (0x088F0C08u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F0C08u) goto L_088F0C08; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F0C08u) goto L_088F0C08; AOT_REGCACHE_SYNC_OUT(); return; L_088F0C08: aot_fpr_12 = aot_fpr_22 - aot_fpr_20; { const float fs = aot_fpr_12; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = aot_fpr_20 + aot_fpr_12; aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_29 + static_cast(56)); + aot_gpr_5 = (ctx.gpr[29] + static_cast(56)); aot_gpr_31 = (0x088F0C24u); aot_gpr_6 = (0u | 2u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 220u, 0x08968D2Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F0C24u) goto L_088F0C24; @@ -2462,7 +2463,7 @@ L_088F0C24: goto L_088F0C30; L_088F0C30: { std::uint32_t aot_run_words[16]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(100), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(100), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); aot_fpr_22 = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); @@ -2481,15 +2482,15 @@ L_088F0C30: aot_gpr_31 = aot_run_words[15]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(176)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(176)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_088F0C78: - aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-48)); { const std::uint32_t aot_run_words[9]{std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_22), std::bit_cast(ctx.fpr[24]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(0), aot_run_words); } aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1152))); aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(600))); @@ -2523,7 +2524,7 @@ L_088F0CD8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F0CE8u) goto L_088F0CE8; AOT_REGCACHE_SYNC_OUT(); return; L_088F0CE8: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -2552,7 +2553,7 @@ L_088F0D10: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F0D20u) goto L_088F0D20; AOT_REGCACHE_SYNC_OUT(); return; L_088F0D20: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088F0D34u); @@ -2560,7 +2561,7 @@ L_088F0D20: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F0D34u) goto L_088F0D34; AOT_REGCACHE_SYNC_OUT(); return; L_088F0D34: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088F0D48u); @@ -2568,7 +2569,7 @@ L_088F0D34: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F0D48u) goto L_088F0D48; AOT_REGCACHE_SYNC_OUT(); return; L_088F0D48: - ctx.gpr[20] = (ctx.gpr[2] | 0u); + ctx.gpr[20] = (aot_gpr_2 | 0u); { const bool branch_taken = 0u == 0u; ctx.fpr[24] = std::bit_cast(0u); if (branch_taken) { @@ -2602,7 +2603,7 @@ L_088F0D6C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F0D7Cu) goto L_088F0D7C; AOT_REGCACHE_SYNC_OUT(); return; L_088F0D7C: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -2631,7 +2632,7 @@ L_088F0DA4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F0DB4u) goto L_088F0DB4; AOT_REGCACHE_SYNC_OUT(); return; L_088F0DB4: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088F0DC8u); @@ -2639,7 +2640,7 @@ L_088F0DB4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F0DC8u) goto L_088F0DC8; AOT_REGCACHE_SYNC_OUT(); return; L_088F0DC8: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); ctx.gpr[20] = (0u | 0u); { const bool branch_taken = 0u == 0u; ctx.fpr[24] = std::bit_cast(0u); @@ -2663,7 +2664,7 @@ L_088F0DE0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F0DECu) goto L_088F0DEC; AOT_REGCACHE_SYNC_OUT(); return; L_088F0DEC: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -2692,7 +2693,7 @@ L_088F0E14: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F0E24u) goto L_088F0E24; AOT_REGCACHE_SYNC_OUT(); return; L_088F0E24: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088F0E38u); @@ -2700,7 +2701,7 @@ L_088F0E24: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F0E38u) goto L_088F0E38; AOT_REGCACHE_SYNC_OUT(); return; L_088F0E38: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088F0E4Cu); @@ -2708,7 +2709,7 @@ L_088F0E38: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F0E4Cu) goto L_088F0E4C; AOT_REGCACHE_SYNC_OUT(); return; L_088F0E4C: - ctx.gpr[20] = (ctx.gpr[2] | 0u); + ctx.gpr[20] = (aot_gpr_2 | 0u); { const bool branch_taken = 0u == 0u; ctx.fpr[24] = std::bit_cast(0u); if (branch_taken) { @@ -2773,7 +2774,7 @@ L_088F0EB4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F0EC4u) goto L_088F0EC4; AOT_REGCACHE_SYNC_OUT(); return; L_088F0EC4: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -2789,7 +2790,7 @@ L_088F0ED0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F0EE0u) goto L_088F0EE0; AOT_REGCACHE_SYNC_OUT(); return; L_088F0EE0: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); goto L_088F0EE4; L_088F0EE4: { const bool branch_taken = aot_gpr_4 != 0u; @@ -2807,7 +2808,7 @@ L_088F0EEC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F0EFCu) goto L_088F0EFC; AOT_REGCACHE_SYNC_OUT(); return; L_088F0EFC: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); goto L_088F0F00; L_088F0F00: { const bool branch_taken = aot_gpr_4 != 0u; @@ -2825,7 +2826,7 @@ L_088F0F08: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F0F18u) goto L_088F0F18; AOT_REGCACHE_SYNC_OUT(); return; L_088F0F18: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); goto L_088F0F1C; L_088F0F1C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1152))); @@ -3337,7 +3338,7 @@ L_088F1250: goto L_088F125C; L_088F125C: { std::uint32_t aot_run_words[9]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(0), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); aot_fpr_22 = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); @@ -3349,15 +3350,15 @@ L_088F125C: aot_gpr_31 = aot_run_words[8]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(48)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(48)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_088F1288: - aot_gpr_29 = (aot_gpr_29 + static_cast(-160)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-160)); { const std::uint32_t aot_run_words[16]{std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_22), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(84), aot_run_words); } + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(84), aot_run_words); } aot_gpr_16 = (aot_gpr_4 | 0u); ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1152))); aot_gpr_4 = (16256u << 16u); @@ -3372,7 +3373,7 @@ L_088F1288: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F12F8u) goto L_088F12F8; AOT_REGCACHE_SYNC_OUT(); return; L_088F12F8: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088F130Cu); @@ -3380,7 +3381,7 @@ L_088F12F8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F130Cu) goto L_088F130C; AOT_REGCACHE_SYNC_OUT(); return; L_088F130C: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); aot_gpr_31 = (0x088F131Cu); aot_gpr_4 = (ctx.gpr[17] | 0u); @@ -3390,17 +3391,17 @@ L_088F131C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x088F132Cu); - aot_gpr_6 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F132Cu) goto L_088F132C; AOT_REGCACHE_SYNC_OUT(); return; L_088F132C: - ctx.gpr[20] = (ctx.gpr[2] | 0u); + ctx.gpr[20] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x088F1338u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F1338u) goto L_088F1338; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F1338u) goto L_088F1338; AOT_REGCACHE_SYNC_OUT(); return; L_088F1338: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088F1368; @@ -3415,7 +3416,7 @@ L_088F1340: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F1350u) goto L_088F1350; AOT_REGCACHE_SYNC_OUT(); return; L_088F1350: - ctx.gpr[21] = (ctx.gpr[2] | 0u); + ctx.gpr[21] = (aot_gpr_2 | 0u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088F1364u); @@ -3423,7 +3424,7 @@ L_088F1350: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F1364u) goto L_088F1364; AOT_REGCACHE_SYNC_OUT(); return; L_088F1364: - ctx.gpr[22] = (ctx.gpr[2] | 0u); + ctx.gpr[22] = (aot_gpr_2 | 0u); goto L_088F1368; L_088F1368: ctx.gpr[23] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); @@ -3435,11 +3436,11 @@ L_088F1374: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[23] | 0u); aot_gpr_31 = (0x088F1384u); - aot_gpr_6 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F1384u) goto L_088F1384; AOT_REGCACHE_SYNC_OUT(); return; L_088F1384: - ctx.gpr[23] = (ctx.gpr[2] | 0u); + ctx.gpr[23] = (aot_gpr_2 | 0u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088F1398u); @@ -3447,7 +3448,7 @@ L_088F1384: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F1398u) goto L_088F1398; AOT_REGCACHE_SYNC_OUT(); return; L_088F1398: - ctx.gpr[30] = (ctx.gpr[2] | 0u); + ctx.gpr[30] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[30] != 0u; // nop if (branch_taken) { @@ -3463,7 +3464,7 @@ L_088F13A4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F13B4u) goto L_088F13B4; AOT_REGCACHE_SYNC_OUT(); return; L_088F13B4: - ctx.gpr[30] = (ctx.gpr[2] | 0u); + ctx.gpr[30] = (aot_gpr_2 | 0u); goto L_088F13B8; L_088F13B8: { const bool branch_taken = ctx.gpr[30] != 0u; @@ -3481,7 +3482,7 @@ L_088F13C0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F13D0u) goto L_088F13D0; AOT_REGCACHE_SYNC_OUT(); return; L_088F13D0: - ctx.gpr[30] = (ctx.gpr[2] | 0u); + ctx.gpr[30] = (aot_gpr_2 | 0u); goto L_088F13D4; L_088F13D4: aot_gpr_4 = (ctx.gpr[17] + static_cast(320)); @@ -3548,7 +3549,7 @@ L_088F1438: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F1444u) goto L_088F1444; AOT_REGCACHE_SYNC_OUT(); return; L_088F1444: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088F1470; @@ -3565,7 +3566,7 @@ L_088F1458: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (0u | 47u); aot_gpr_6 = (0u | 2u); - ctx.gpr[7] = (ctx.gpr[2] | 0u); + ctx.gpr[7] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x088F1470u); ctx.gpr[8] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0192_entry, 192u, 212u, 0x08B04D14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F1470u) goto L_088F1470; @@ -3580,7 +3581,7 @@ L_088F1470: } L_088F1478: if (ctx.gpr[30] != 0u) { - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(68), std::bit_cast(aot_fpr_20)); goto L_088F1534; } goto L_088F1480; @@ -3592,7 +3593,7 @@ L_088F1480: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); // nop if (!((ctx.fcr31 & 0x00800000u) != 0u)) { - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(68), std::bit_cast(aot_fpr_20)); goto L_088F1534; } goto L_088F14A0; @@ -3606,7 +3607,7 @@ L_088F14A0: goto L_088F14AC; } L_088F14AC: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(68), std::bit_cast(aot_fpr_20)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(16))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[30])) ? 0x00800000u : 0u); // nop @@ -3618,7 +3619,7 @@ L_088F14AC: goto L_088F14C4; } L_088F14C4: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(68), std::bit_cast(aot_fpr_20)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(36))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_22)) ? 0x00800000u : 0u); // nop @@ -3630,8 +3631,8 @@ L_088F14C4: goto L_088F14DC; } L_088F14DC: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(72), ctx.gpr[30]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(72), ctx.gpr[30]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(68), std::bit_cast(aot_fpr_20)); ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(92))); aot_gpr_5 = (aot_gpr_4 + static_cast(376)); @@ -3644,7 +3645,7 @@ L_088F14DC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F1500u) goto L_088F1500; AOT_REGCACHE_SYNC_OUT(); return; L_088F1500: - ctx.gpr[30] = (ctx.gpr[2] | 0u); + ctx.gpr[30] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x088F150Cu); aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0149_entry, 149u, 307u, 0x08A59578u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F150Cu) goto L_088F150C; @@ -3656,13 +3657,13 @@ L_088F150C: aot_gpr_5 = (ctx.gpr[20] | 0u); aot_gpr_6 = (ctx.gpr[30] | 0u); aot_gpr_31 = (0x088F1528u); - ctx.gpr[7] = (ctx.gpr[2] | 0u); + ctx.gpr[7] = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 163u, 0x089088F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F1528u) goto L_088F1528; AOT_REGCACHE_SYNC_OUT(); return; L_088F1528: - ctx.gpr[20] = (ctx.gpr[2] | 0u); + ctx.gpr[20] = (aot_gpr_2 | 0u); { const bool branch_taken = 0u == 0u; - ctx.gpr[30] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(72))); + ctx.gpr[30] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(72))); if (branch_taken) { goto L_088F1808; } @@ -3722,7 +3723,7 @@ L_088F159C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F15A8u) goto L_088F15A8; AOT_REGCACHE_SYNC_OUT(); return; L_088F15A8: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088F15D4; @@ -3739,7 +3740,7 @@ L_088F15BC: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (0u | 47u); aot_gpr_6 = (0u | 2u); - ctx.gpr[7] = (ctx.gpr[2] | 0u); + ctx.gpr[7] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x088F15D4u); ctx.gpr[8] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0192_entry, 192u, 212u, 0x08B04D14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F15D4u) goto L_088F15D4; @@ -3765,47 +3766,47 @@ L_088F15DC: goto L_088F15F4; } L_088F15F4: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(80), ctx.gpr[18]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(76), ctx.gpr[19]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(80), ctx.gpr[18]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(76), ctx.gpr[19]); aot_gpr_31 = (0x088F1604u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F1604u) goto L_088F1604; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[29], aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F1604u) goto L_088F1604; AOT_REGCACHE_SYNC_OUT(); return; L_088F1604: ctx.gpr[19] = (ctx.gpr[3] | 0u); - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(352))); aot_gpr_31 = (0x088F1618u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(88))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F1618u) goto L_088F1618; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[29], aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F1618u) goto L_088F1618; AOT_REGCACHE_SYNC_OUT(); return; L_088F1618: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23124))); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23128))); aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x088F162Cu); - aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F162Cu) goto L_088F162C; + aot_gpr_4 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_16, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F162Cu) goto L_088F162C; AOT_REGCACHE_SYNC_OUT(); return; L_088F162C: aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_4 = (ctx.gpr[18] | 0u); ctx.gpr[7] = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x088F1640u); - aot_gpr_6 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F1640u) goto L_088F1640; + aot_gpr_6 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B6256C, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_16, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F1640u) goto L_088F1640; AOT_REGCACHE_SYNC_OUT(); return; L_088F1640: - ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(76))); - { const bool branch_taken = static_cast(ctx.gpr[2]) <= 0; - ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(80))); + ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(76))); + { const bool branch_taken = static_cast(aot_gpr_2) <= 0; + ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(80))); if (branch_taken) { goto L_088F16EC; } goto L_088F164C; } L_088F164C: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(68), std::bit_cast(aot_fpr_20)); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7080))); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -3816,12 +3817,12 @@ L_088F164C: } L_088F165C: if (ctx.gpr[23] == 0u) { - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(72), ctx.gpr[30]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(72), ctx.gpr[30]); goto L_088F1698; } goto L_088F1664; L_088F1664: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(68), std::bit_cast(aot_fpr_20)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast(16))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[30])) ? 0x00800000u : 0u); // nop @@ -3833,7 +3834,7 @@ L_088F1664: goto L_088F167C; } L_088F167C: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(68), std::bit_cast(aot_fpr_20)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast(36))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_22)) ? 0x00800000u : 0u); // nop @@ -3845,10 +3846,10 @@ L_088F167C: goto L_088F1694; } L_088F1694: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(72), ctx.gpr[30]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(72), ctx.gpr[30]); goto L_088F1698; L_088F1698: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(68), std::bit_cast(aot_fpr_20)); ctx.gpr[23] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(92))); aot_gpr_5 = (aot_gpr_4 + static_cast(376)); @@ -3861,7 +3862,7 @@ L_088F1698: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F16B8u) goto L_088F16B8; AOT_REGCACHE_SYNC_OUT(); return; L_088F16B8: - ctx.gpr[30] = (ctx.gpr[2] | 0u); + ctx.gpr[30] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x088F16C4u); aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0149_entry, 149u, 303u, 0x08A59554u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F16C4u) goto L_088F16C4; @@ -3873,26 +3874,26 @@ L_088F16C4: aot_gpr_5 = (ctx.gpr[23] | 0u); aot_gpr_6 = (ctx.gpr[30] | 0u); aot_gpr_31 = (0x088F16E0u); - ctx.gpr[7] = (ctx.gpr[2] | 0u); + ctx.gpr[7] = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 163u, 0x089088F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F16E0u) goto L_088F16E0; AOT_REGCACHE_SYNC_OUT(); return; L_088F16E0: - ctx.gpr[23] = (ctx.gpr[2] | 0u); + ctx.gpr[23] = (aot_gpr_2 | 0u); { const bool branch_taken = 0u == 0u; - ctx.gpr[30] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(72))); + ctx.gpr[30] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(72))); if (branch_taken) { goto L_088F1808; } goto L_088F16EC; } L_088F16EC: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(68), std::bit_cast(aot_fpr_20)); aot_gpr_31 = (0x088F16F8u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F16F8u) goto L_088F16F8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F16F8u) goto L_088F16F8; AOT_REGCACHE_SYNC_OUT(); return; L_088F16F8: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088F1760; @@ -3900,41 +3901,41 @@ L_088F16F8: goto L_088F1700; } L_088F1700: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(80), ctx.gpr[18]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(76), ctx.gpr[19]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(80), ctx.gpr[18]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(76), ctx.gpr[19]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(68), std::bit_cast(aot_fpr_20)); aot_gpr_31 = (0x088F1714u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F1714u) goto L_088F1714; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[29], aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F1714u) goto L_088F1714; AOT_REGCACHE_SYNC_OUT(); return; L_088F1714: ctx.gpr[19] = (ctx.gpr[3] | 0u); - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(352))); aot_gpr_31 = (0x088F1728u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(88))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F1728u) goto L_088F1728; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[29], aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F1728u) goto L_088F1728; AOT_REGCACHE_SYNC_OUT(); return; L_088F1728: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23124))); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23128))); aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x088F173Cu); - aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F173Cu) goto L_088F173C; + aot_gpr_4 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_16, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F173Cu) goto L_088F173C; AOT_REGCACHE_SYNC_OUT(); return; L_088F173C: aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_4 = (ctx.gpr[18] | 0u); ctx.gpr[7] = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x088F1750u); - aot_gpr_6 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F1750u) goto L_088F1750; + aot_gpr_6 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B6256C, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_16, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F1750u) goto L_088F1750; AOT_REGCACHE_SYNC_OUT(); return; L_088F1750: - ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(76))); - { const bool branch_taken = static_cast(ctx.gpr[2]) >= 0; - ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(80))); + ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(76))); + { const bool branch_taken = static_cast(aot_gpr_2) >= 0; + ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(80))); if (branch_taken) { goto L_088F1760; } @@ -4199,13 +4200,13 @@ L_088F1918: aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(1112), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x088F196Cu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F196Cu) goto L_088F196C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F196Cu) goto L_088F196C; AOT_REGCACHE_SYNC_OUT(); return; L_088F196C: - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(68))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(68))); aot_gpr_4 = (16025u << 16u); aot_gpr_4 = (aot_gpr_4 | 39322u); - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; ctx.fpr[14] = std::bit_cast(aot_gpr_4); if (branch_taken) { goto L_088F1988; @@ -4356,10 +4357,10 @@ L_088F1A98: L_088F1A9C: aot_gpr_31 = (0x088F1AA4u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F1AA4u) goto L_088F1AA4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F1AA4u) goto L_088F1AA4; AOT_REGCACHE_SYNC_OUT(); return; L_088F1AA4: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088F1AFC; @@ -4413,10 +4414,10 @@ L_088F1B00: L_088F1B24: aot_gpr_31 = (0x088F1B2Cu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F1B2Cu) goto L_088F1B2C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F1B2Cu) goto L_088F1B2C; AOT_REGCACHE_SYNC_OUT(); return; L_088F1B2C: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_088F1B40; @@ -4506,10 +4507,10 @@ L_088F1BCC: L_088F1BD4: aot_gpr_31 = (0x088F1BDCu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F1BDCu) goto L_088F1BDC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F1BDCu) goto L_088F1BDC; AOT_REGCACHE_SYNC_OUT(); return; L_088F1BDC: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088F1D5C; @@ -4539,13 +4540,13 @@ L_088F1BEC: L_088F1C08: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[20] | 0u); - aot_gpr_6 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x088F1C1Cu); ctx.gpr[7] = (0u | 192u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 175u, 0x089089B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F1C1Cu) goto L_088F1C1C; AOT_REGCACHE_SYNC_OUT(); return; L_088F1C1C: - ctx.gpr[21] = (ctx.gpr[2] | 0u); + ctx.gpr[21] = (aot_gpr_2 | 0u); goto L_088F1C20; L_088F1C20: { const bool branch_taken = ctx.gpr[22] != 0u; @@ -4570,13 +4571,13 @@ L_088F1C28: L_088F1C44: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[20] | 0u); - aot_gpr_6 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x088F1C58u); ctx.gpr[7] = (0u | 191u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 175u, 0x089089B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F1C58u) goto L_088F1C58; AOT_REGCACHE_SYNC_OUT(); return; L_088F1C58: - ctx.gpr[22] = (ctx.gpr[2] | 0u); + ctx.gpr[22] = (aot_gpr_2 | 0u); goto L_088F1C5C; L_088F1C5C: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7080))); @@ -4721,13 +4722,13 @@ L_088F1D64: L_088F1D80: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); - aot_gpr_6 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x088F1D94u); ctx.gpr[7] = (0u | 189u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 175u, 0x089089B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F1D94u) goto L_088F1D94; AOT_REGCACHE_SYNC_OUT(); return; L_088F1D94: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); goto L_088F1D98; L_088F1D98: { const bool branch_taken = ctx.gpr[19] != 0u; @@ -4752,13 +4753,13 @@ L_088F1DA0: L_088F1DBC: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); - aot_gpr_6 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x088F1DD0u); ctx.gpr[7] = (0u | 190u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 175u, 0x089089B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F1DD0u) goto L_088F1DD0; AOT_REGCACHE_SYNC_OUT(); return; L_088F1DD0: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); goto L_088F1DD4; L_088F1DD4: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7080))); @@ -4881,7 +4882,7 @@ L_088F1EC4: aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(16), std::bit_cast(aot_fpr_22)); goto L_088F1ED4; L_088F1ED4: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(68))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(68))); aot_gpr_4 = (16025u << 16u); aot_gpr_4 = (aot_gpr_4 | 39322u); aot_fpr_13 = std::bit_cast(aot_gpr_4); @@ -4898,7 +4899,7 @@ L_088F1EF4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(708))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); { const std::uint32_t aot_run_words[6]{std::bit_cast(ctx.fpr[30]), std::bit_cast(aot_fpr_22), std::bit_cast(aot_fpr_22), std::bit_cast(aot_fpr_22), std::bit_cast(ctx.fpr[30]), std::bit_cast(aot_fpr_22)}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(40), aot_run_words); } + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(40), aot_run_words); } ctx.gpr[17] = (aot_gpr_4 + static_cast(8)); aot_gpr_4 = (49344u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); @@ -4907,14 +4908,14 @@ L_088F1EF4: ctx.fpr[14] = std::bit_cast(aot_gpr_4); aot_gpr_31 = (0x088F1F34u); { const float fs = aot_fpr_12; const float ft = ctx.fpr[14]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_22 = std::bit_cast(0x7FC00000u); else aot_fpr_22 = fs * ft; } - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F1F34u) goto L_088F1F34; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F1F34u) goto L_088F1F34; AOT_REGCACHE_SYNC_OUT(); return; L_088F1F34: ctx.fpr[15] = aot_fpr_22 - aot_fpr_20; { const float fs = ctx.fpr[15]; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = aot_fpr_20 + aot_fpr_12; aot_gpr_4 = (ctx.gpr[17] | 0u); - aot_gpr_5 = (aot_gpr_29 + static_cast(40)); + aot_gpr_5 = (ctx.gpr[29] + static_cast(40)); aot_gpr_31 = (0x088F1F50u); aot_gpr_6 = (0u | 2u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 220u, 0x08968D2Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F1F50u) goto L_088F1F50; @@ -4922,14 +4923,14 @@ L_088F1F34: L_088F1F50: aot_gpr_31 = (0x088F1F58u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F1F58u) goto L_088F1F58; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F1F58u) goto L_088F1F58; AOT_REGCACHE_SYNC_OUT(); return; L_088F1F58: aot_fpr_12 = aot_fpr_22 - aot_fpr_20; { const float fs = aot_fpr_12; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = aot_fpr_20 + aot_fpr_12; aot_gpr_4 = (ctx.gpr[17] | 0u); - aot_gpr_5 = (aot_gpr_29 + static_cast(52)); + aot_gpr_5 = (ctx.gpr[29] + static_cast(52)); aot_gpr_31 = (0x088F1F74u); aot_gpr_6 = (0u | 2u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 220u, 0x08968D2Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F1F74u) goto L_088F1F74; @@ -4941,7 +4942,7 @@ L_088F1F74: goto L_088F1F80; L_088F1F80: { std::uint32_t aot_run_words[16]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(84), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(84), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); aot_fpr_22 = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); @@ -4960,15 +4961,15 @@ L_088F1F80: aot_gpr_31 = aot_run_words[15]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(160)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(160)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_088F1FC8: - aot_gpr_29 = (aot_gpr_29 + static_cast(-272)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-272)); { const std::uint32_t aot_run_words[8]{std::bit_cast(aot_fpr_20), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_31}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(228), aot_run_words); } + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(228), aot_run_words); } ctx.gpr[17] = (aot_gpr_4 | 0u); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_16 = (aot_gpr_5 | 0u); @@ -4999,7 +5000,7 @@ L_088F2008: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F2020u) goto L_088F2020; AOT_REGCACHE_SYNC_OUT(); return; L_088F2020: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(4))); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -5028,7 +5029,7 @@ L_088F2038: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F2050u) goto L_088F2050; AOT_REGCACHE_SYNC_OUT(); return; L_088F2050: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_6 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088F2064u); @@ -5047,7 +5048,7 @@ L_088F2064: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F207Cu) goto L_088F207C; AOT_REGCACHE_SYNC_OUT(); return; L_088F207C: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_6 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088F2090u); @@ -5086,14 +5087,14 @@ L_088F20A0: L_088F20C0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30640))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); - aot_gpr_5 = (ctx.gpr[2] << 6u); + aot_gpr_5 = (aot_gpr_2 << 6u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_31 = (0x088F20D8u); aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0006_entry, 6u, 348u, 0x0881E25Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F20D8u) goto L_088F20D8; AOT_REGCACHE_SYNC_OUT(); return; L_088F20D8: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(0))); aot_gpr_5 = (ctx.gpr[18] << 3u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); ctx.gpr[18] = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(2))); @@ -5106,7 +5107,7 @@ L_088F20D8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0006_entry, 6u, 257u, 0x0881DD84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F2100u) goto L_088F2100; AOT_REGCACHE_SYNC_OUT(); return; L_088F2100: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30640))); aot_gpr_4 = (aot_gpr_4 + static_cast(16)); aot_gpr_5 = (ctx.gpr[18] | 0u); @@ -5115,7 +5116,7 @@ L_088F2100: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0006_entry, 6u, 266u, 0x0881DDE8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F2118u) goto L_088F2118; AOT_REGCACHE_SYNC_OUT(); return; L_088F2118: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[19] == 0u; // nop if (branch_taken) { @@ -5133,7 +5134,7 @@ L_088F2124: } L_088F212C: aot_gpr_4 = (ctx.gpr[17] | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_31 = (0x088F213Cu); aot_gpr_6 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0055_entry, 55u, 571u, 0x088E3E88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F213Cu) goto L_088F213C; @@ -5150,7 +5151,7 @@ L_088F213C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F2154u) goto L_088F2154; AOT_REGCACHE_SYNC_OUT(); return; L_088F2154: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(4))); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -5175,14 +5176,14 @@ L_088F2164: L_088F2184: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30640))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); - aot_gpr_5 = (ctx.gpr[2] << 6u); + aot_gpr_5 = (aot_gpr_2 << 6u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_31 = (0x088F219Cu); aot_gpr_5 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0006_entry, 6u, 348u, 0x0881E25Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F219Cu) goto L_088F219C; AOT_REGCACHE_SYNC_OUT(); return; L_088F219C: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(0))); aot_gpr_5 = (ctx.gpr[20] << 3u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); ctx.gpr[19] = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(2))); @@ -5195,7 +5196,7 @@ L_088F219C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0006_entry, 6u, 257u, 0x0881DD84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F21C4u) goto L_088F21C4; AOT_REGCACHE_SYNC_OUT(); return; L_088F21C4: - ctx.gpr[20] = (ctx.gpr[2] | 0u); + ctx.gpr[20] = (aot_gpr_2 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30640))); aot_gpr_4 = (aot_gpr_4 + static_cast(16)); aot_gpr_5 = (ctx.gpr[19] | 0u); @@ -5204,7 +5205,7 @@ L_088F21C4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0006_entry, 6u, 266u, 0x0881DDE8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F21DCu) goto L_088F21DC; AOT_REGCACHE_SYNC_OUT(); return; L_088F21DC: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[20] == 0u; // nop if (branch_taken) { @@ -5221,7 +5222,7 @@ L_088F21E8: goto L_088F21F0; } L_088F21F0: - ctx.gpr[21] = (aot_gpr_29 + static_cast(32)); + ctx.gpr[21] = (ctx.gpr[29] + static_cast(32)); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x088F2204u); @@ -5240,7 +5241,7 @@ L_088F2204: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_4 = (aot_gpr_29 + static_cast(48)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(48)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; @@ -5264,7 +5265,7 @@ L_088F2204: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>(); - ctx.gpr[20] = (aot_gpr_29 + static_cast(64)); + ctx.gpr[20] = (ctx.gpr[29] + static_cast(64)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[20] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; @@ -5306,7 +5307,7 @@ L_088F2204: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<7u, 4u>(vfpu_value); } ctx.execute_vfpu_vtfm_ct<0u, 36u, 7u, 3u, 3u>(); - aot_gpr_5 = (aot_gpr_29 + static_cast(80)); + aot_gpr_5 = (ctx.gpr[29] + static_cast(80)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; @@ -5353,7 +5354,7 @@ L_088F2250: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<8u, 4u>(vfpu_value); } ctx.execute_vfpu_vtfm_ct<0u, 4u, 8u, 3u, 3u>(); - ctx.gpr[19] = (aot_gpr_29 + static_cast(16)); + ctx.gpr[19] = (ctx.gpr[29] + static_cast(16)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; @@ -5371,7 +5372,7 @@ L_088F2250: const std::uint32_t vfpu_address = ctx.gpr[20] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - { const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[29] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -5391,7 +5392,7 @@ L_088F2250: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>(); - ctx.gpr[21] = (aot_gpr_29 + static_cast(96)); + ctx.gpr[21] = (ctx.gpr[29] + static_cast(96)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[21] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; @@ -5502,8 +5503,8 @@ L_088F22B8: AOT_REGCACHE_SYNC_OUT(); return; L_088F22E8: { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_20)}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(208), aot_run_words); } - aot_gpr_4 = (aot_gpr_29 + static_cast(208)); + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(208), aot_run_words); } + aot_gpr_4 = (ctx.gpr[29] + static_cast(208)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -5544,10 +5545,10 @@ L_088F22E8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F232Cu) goto L_088F232C; AOT_REGCACHE_SYNC_OUT(); return; L_088F232C: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(36))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(36))); aot_gpr_5 = (aot_gpr_4 + static_cast(24)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); - aot_gpr_4 = (ctx.gpr[2] + aot_gpr_4); + aot_gpr_4 = (aot_gpr_2 + aot_gpr_4); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); jump_target = aot_gpr_6; aot_gpr_31 = (0x088F2348u); @@ -5556,7 +5557,7 @@ L_088F232C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F2348u) goto L_088F2348; AOT_REGCACHE_SYNC_OUT(); return; L_088F2348: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); aot_gpr_4 = (0u | 5u); { const bool branch_taken = ctx.gpr[17] == aot_gpr_4; // nop @@ -5588,7 +5589,7 @@ L_088F236C: goto L_088F2374; L_088F2374: { std::uint32_t aot_run_words[8]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(228), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(228), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); aot_gpr_16 = aot_run_words[1]; ctx.gpr[17] = aot_run_words[2]; @@ -5599,7 +5600,7 @@ L_088F2374: aot_gpr_31 = aot_run_words[7]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(272)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(272)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -5663,11 +5664,11 @@ L_088F239C: ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_088F23C4: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(32))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -5743,37 +5744,37 @@ L_088F2450: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(36), 0u); goto L_088F2454; L_088F2454: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_088F2464: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), ctx.gpr[17]); ctx.gpr[17] = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), aot_gpr_16); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(32))); aot_gpr_16 = (aot_gpr_5 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(8), ctx.gpr[18]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(12), aot_gpr_31); aot_gpr_31 = (0x088F248Cu); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(86)))))); goto L_088F2D04; L_088F248C: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x088F2498u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F2498u) goto L_088F2498; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F2498u) goto L_088F2498; AOT_REGCACHE_SYNC_OUT(); return; L_088F2498: aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(56))); aot_gpr_6 = (0u | 1u); { const bool branch_taken = aot_gpr_5 == aot_gpr_6; - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(104))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(104))); if (branch_taken) { goto L_088F2578; } @@ -5873,22 +5874,22 @@ L_088F256C: goto L_088F2578; L_088F2578: { std::uint32_t aot_run_words[4]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_088F2590: - aot_gpr_29 = (aot_gpr_29 + static_cast(-192)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-192)); { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_20), aot_gpr_16, aot_gpr_31}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(176), aot_run_words); } + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(176), aot_run_words); } aot_fpr_20 = std::bit_cast(std::bit_cast(aot_fpr_12)); aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_31 = (0x088F25B0u); @@ -5896,7 +5897,7 @@ L_088F2590: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F25B0u) goto L_088F25B0; AOT_REGCACHE_SYNC_OUT(); return; L_088F25B0: - aot_gpr_4 = (ctx.gpr[2] + static_cast(48)); + aot_gpr_4 = (aot_gpr_2 + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -5906,7 +5907,7 @@ L_088F25B0: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_5 = (aot_gpr_29 + static_cast(16)); + aot_gpr_5 = (ctx.gpr[29] + static_cast(16)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; @@ -5920,13 +5921,13 @@ L_088F25B0: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_4 = (aot_gpr_29 + static_cast(32)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(32)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(40))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(24))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(40))); aot_fpr_13 = aot_fpr_13 - aot_fpr_12; aot_fpr_12 = std::bit_cast(0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 < aot_fpr_12)) ? 0x00800000u : 0u); @@ -5949,10 +5950,10 @@ L_088F25EC: goto L_088F2604; } L_088F2604: - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); - ctx.fpr[14] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(32))); - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); - ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(36))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(16))); + ctx.fpr[14] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(32))); + ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(20))); + ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(36))); aot_fpr_13 = aot_fpr_13 - ctx.fpr[14]; ctx.fpr[15] = ctx.fpr[15] - ctx.fpr[16]; aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7080))); @@ -5976,7 +5977,7 @@ L_088F2630: goto L_088F2644; L_088F2644: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_gpr_4 & 255u); + aot_gpr_2 = (aot_gpr_4 & 255u); if (branch_taken) { goto L_088F27D0; } @@ -6034,16 +6035,16 @@ L_088F2684: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>(); - aot_gpr_6 = (aot_gpr_29 + static_cast(48)); + aot_gpr_6 = (ctx.gpr[29] + static_cast(48)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(48))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(48))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_13) || std::isnan(aot_fpr_12)) && aot_fpr_13 == aot_fpr_12)) ? 0x00800000u : 0u); // nop if (((ctx.fcr31 & 0x00800000u) != 0u)) { - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(52))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(52))); goto L_088F26E4; } goto L_088F26AC; @@ -6073,7 +6074,7 @@ L_088F26B4: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_088F27D0; } @@ -6081,7 +6082,7 @@ L_088F26B4: } L_088F26D0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_088F27D0; } @@ -6090,7 +6091,7 @@ L_088F26D0: L_088F26D8: aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(59), static_cast(0u)); { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_088F27D0; } @@ -6107,10 +6108,10 @@ L_088F26E4: goto L_088F26F4; } L_088F26F4: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(32))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); - ctx.fpr[14] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(36))); - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(32))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(16))); + ctx.fpr[14] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(36))); + ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(20))); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; ctx.fpr[14] = ctx.fpr[14] - ctx.fpr[15]; { const float fs = aot_fpr_12; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } @@ -6142,13 +6143,13 @@ L_088F271C: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>(); - aot_gpr_4 = (aot_gpr_29 + static_cast(80)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(80)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), std::bit_cast(aot_fpr_12)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(88), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(56), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(88), std::bit_cast(aot_fpr_12)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -6204,7 +6205,7 @@ L_088F271C: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); - aot_gpr_4 = (aot_gpr_29 + static_cast(64)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(64)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; @@ -6228,17 +6229,17 @@ L_088F271C: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 0u>(); - aot_gpr_4 = (aot_gpr_29 + static_cast(96)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(96)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(32))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(96))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(32))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(96))); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; { const float fs = aot_fpr_12; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - ctx.fpr[14] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(36))); - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(100))); + ctx.fpr[14] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(36))); + ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(100))); ctx.fpr[14] = ctx.fpr[14] - ctx.fpr[15]; { const float fs = ctx.fpr[14]; const float ft = ctx.fpr[14]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[14] = std::bit_cast(0x7FC00000u); else ctx.fpr[14] = fs * ft; } aot_fpr_12 = aot_fpr_12 + ctx.fpr[14]; @@ -6255,24 +6256,24 @@ L_088F27B4: } L_088F27C4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_088F27D0; } goto L_088F27CC; } L_088F27CC: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_088F27D0; L_088F27D0: { std::uint32_t aot_run_words[3]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(176), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(176), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); aot_gpr_16 = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(192)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(192)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -6333,19 +6334,19 @@ L_088F2864: ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_088F286C: - aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), ctx.gpr[18]); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-48)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(24), ctx.gpr[18]); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7080))); ctx.gpr[18] = (2246u << 16u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[17]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), ctx.gpr[19]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(16), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(20), ctx.gpr[17]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(28), ctx.gpr[19]); ctx.gpr[19] = (2237u << 16u); aot_gpr_16 = (0u | 6u); ctx.gpr[17] = (0u | 320u); ctx.gpr[18] = (ctx.gpr[18] + static_cast(31024)); { const std::uint32_t aot_run_words[4]{ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_31}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(32), aot_run_words); } + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(32), aot_run_words); } { const bool branch_taken = aot_gpr_4 == 0u; ctx.gpr[19] = (ctx.gpr[19] + static_cast(-28736)); if (branch_taken) { @@ -6363,11 +6364,11 @@ L_088F28B4: AOT_REGCACHE_SYNC_OUT(); return; L_088F28BC: aot_gpr_31 = (0x088F28C4u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0098_entry, 98u, 605u, 0x0898DAB0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F28C4u) goto L_088F28C4; AOT_REGCACHE_SYNC_OUT(); return; L_088F28C4: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23116))); if (branch_taken) { goto L_088F28D4; @@ -6462,7 +6463,7 @@ L_088F2980: AOT_REGCACHE_SYNC_OUT(); return; L_088F2988: aot_gpr_31 = (0x088F2990u); - ctx.gpr[21] = (ctx.gpr[2] | 0u); + ctx.gpr[21] = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F2990u) goto L_088F2990; AOT_REGCACHE_SYNC_OUT(); return; L_088F2990: @@ -6470,10 +6471,10 @@ L_088F2990: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x088F29A4u); - aot_gpr_6 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); goto L_088F3DA0; L_088F29A4: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088F2A30; @@ -6583,7 +6584,7 @@ L_088F2A54: AOT_REGCACHE_SYNC_OUT(); return; L_088F2A5C: aot_gpr_31 = (0x088F2A64u); - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F2A64u) goto L_088F2A64; AOT_REGCACHE_SYNC_OUT(); return; L_088F2A64: @@ -6591,10 +6592,10 @@ L_088F2A64: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088F2A78u); - aot_gpr_6 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); goto L_088F3DA0; L_088F2A78: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088F2B04; @@ -6686,7 +6687,7 @@ L_088F2B04: } L_088F2B14: { std::uint32_t aot_run_words[8]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(16), aot_run_words); aot_gpr_16 = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; @@ -6697,15 +6698,15 @@ L_088F2B14: aot_gpr_31 = aot_run_words[7]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(48)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(48)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_088F2B3C: - aot_gpr_29 = (aot_gpr_29 + static_cast(-64)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-64)); { const std::uint32_t aot_run_words[6]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(32), aot_run_words); } + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(32), aot_run_words); } aot_gpr_16 = (ctx.gpr[9] | 0u); ctx.gpr[17] = (ctx.gpr[7] | 0u); ctx.gpr[18] = (aot_gpr_6 & 255u); @@ -6719,7 +6720,7 @@ L_088F2B3C: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - ctx.gpr[20] = (aot_gpr_29 + static_cast(16)); + ctx.gpr[20] = (ctx.gpr[29] + static_cast(16)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[20] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; @@ -6729,7 +6730,7 @@ L_088F2B3C: goto L_088F2CE4; L_088F2B7C: aot_gpr_4 = (ctx.gpr[20] | 0u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); aot_gpr_6 = (ctx.gpr[18] | 0u); ctx.gpr[7] = (ctx.gpr[17] | 0u); ctx.gpr[8] = (0u | 0u); @@ -6739,7 +6740,7 @@ L_088F2B7C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0060_entry, 60u, 409u, 0x088F5A3Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F2B9Cu) goto L_088F2B9C; AOT_REGCACHE_SYNC_OUT(); return; L_088F2B9C: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7080))); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -6755,7 +6756,7 @@ L_088F2BAC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F2BB8u) goto L_088F2BB8; AOT_REGCACHE_SYNC_OUT(); return; L_088F2BB8: - aot_gpr_16 = (ctx.gpr[2] | 0u); + aot_gpr_16 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_16 == 0u; aot_gpr_4 = (aot_gpr_16 | 0u); if (branch_taken) { @@ -6780,15 +6781,15 @@ L_088F2BD0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0075_entry, 75u, 759u, 0x08933F0Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F2BE4u) goto L_088F2BE4; AOT_REGCACHE_SYNC_OUT(); return; L_088F2BE4: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x088F2BF0u); aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0045_entry, 45u, 623u, 0x088BAFE8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F2BF0u) goto L_088F2BF0; AOT_REGCACHE_SYNC_OUT(); return; L_088F2BF0: - ctx.gpr[2] = (ctx.gpr[18] | 0u); + aot_gpr_2 = (ctx.gpr[18] | 0u); { std::uint32_t aot_run_words[6]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(32), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(32), aot_run_words); aot_gpr_16 = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; @@ -6797,29 +6798,29 @@ L_088F2BF0: aot_gpr_31 = aot_run_words[5]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(64)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(64)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_088F2C14: - aot_gpr_29 = (aot_gpr_29 + static_cast(-80)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-80)); { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18]}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(56), aot_run_words); } + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(56), aot_run_words); } ctx.gpr[17] = (aot_gpr_4 | 0u); aot_gpr_16 = (ctx.gpr[7] | 0u); ctx.gpr[18] = (aot_gpr_6 & 255u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), aot_gpr_31); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(68), aot_gpr_31); aot_gpr_31 = (0x088F2C3Cu); aot_gpr_4 = (aot_gpr_5 | 0u); goto L_088F2CE4; L_088F2C3C: aot_gpr_5 = (2246u << 16u); ctx.gpr[8] = (16624u << 16u); - ctx.gpr[7] = (ctx.gpr[2] | 0u); + ctx.gpr[7] = (aot_gpr_2 | 0u); aot_fpr_12 = std::bit_cast(ctx.gpr[8]); aot_gpr_6 = (0u | 0u); - aot_gpr_4 = (aot_gpr_29 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(16)); aot_gpr_5 = (aot_gpr_5 + static_cast(31024)); goto L_088F2C58; L_088F2C58: @@ -6888,7 +6889,7 @@ L_088F2C70: } L_088F2CA4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(44))); - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_16); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(44), aot_gpr_4); @@ -6908,43 +6909,43 @@ L_088F2CB8: goto L_088F2CC8; } L_088F2CC8: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_088F2CCC; L_088F2CCC: { std::uint32_t aot_run_words[4]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(56), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(56), aot_run_words); aot_gpr_16 = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(80)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(80)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_088F2CE4: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), aot_gpr_31); aot_gpr_31 = (0x088F2CF4u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F2CF4u) goto L_088F2CF4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F2CF4u) goto L_088F2CF4; AOT_REGCACHE_SYNC_OUT(); return; L_088F2CF4: - ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(96))); - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_2 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(96))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_088F2D04: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(104))); aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(158))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), aot_gpr_31); { const bool branch_taken = aot_gpr_4 == aot_gpr_6; // nop if (branch_taken) { @@ -6999,7 +7000,7 @@ L_088F2D50: } L_088F2D58: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_088F2D90; } @@ -7007,7 +7008,7 @@ L_088F2D58: } L_088F2D60: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 41u); + aot_gpr_2 = (0u | 41u); if (branch_taken) { goto L_088F2D90; } @@ -7015,7 +7016,7 @@ L_088F2D60: } L_088F2D68: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 40u); + aot_gpr_2 = (0u | 40u); if (branch_taken) { goto L_088F2D90; } @@ -7023,7 +7024,7 @@ L_088F2D68: } L_088F2D70: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 41u); + aot_gpr_2 = (0u | 41u); if (branch_taken) { goto L_088F2D90; } @@ -7041,9 +7042,9 @@ L_088F2D88: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0195_entry, 195u, 334u, 0x08B1150Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F2D90u) goto L_088F2D90; AOT_REGCACHE_SYNC_OUT(); return; L_088F2D90: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -7074,7 +7075,7 @@ L_088F2DB4: } L_088F2DC4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_088F2DD4; } @@ -7082,7 +7083,7 @@ L_088F2DC4: } L_088F2DCC: aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), 0u); - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); goto L_088F2DD4; L_088F2DD4: jump_target = aot_gpr_31; @@ -7092,14 +7093,14 @@ L_088F2DD4: ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_088F2DDC: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x088F2DF0u); // nop goto L_088F352C; L_088F2DF0: - aot_gpr_16 = (ctx.gpr[2] | 0u); + aot_gpr_16 = (aot_gpr_2 | 0u); aot_gpr_4 = (0u + static_cast(-1)); { const bool branch_taken = aot_gpr_16 == aot_gpr_4; // nop @@ -7195,18 +7196,18 @@ L_088F2E90: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(40), 0u); goto L_088F2EA0; L_088F2EA0: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_088F2EB0: - aot_gpr_29 = (aot_gpr_29 + static_cast(-96)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-96)); { const std::uint32_t aot_run_words[7]{std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_22), std::bit_cast(ctx.fpr[24]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(64), aot_run_words); } + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(64), aot_run_words); } aot_gpr_5 = (aot_gpr_4 + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; @@ -7217,7 +7218,7 @@ L_088F2EB0: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - ctx.gpr[17] = (aot_gpr_29 + static_cast(32)); + ctx.gpr[17] = (ctx.gpr[29] + static_cast(32)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; @@ -7244,7 +7245,7 @@ L_088F2EB0: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>(); - aot_gpr_5 = (aot_gpr_29 + static_cast(16)); + aot_gpr_5 = (ctx.gpr[29] + static_cast(16)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; @@ -7344,11 +7345,11 @@ L_088F2F5C: ctx.gpr[11] = (0u | 0u); ctx.fpr[17] = std::bit_cast(std::bit_cast(aot_fpr_20)); ctx.fpr[18] = std::bit_cast(std::bit_cast(ctx.fpr[24])); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), 0u); ctx.fpr[19] = std::bit_cast(std::bit_cast(aot_fpr_22)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), 0u); aot_gpr_31 = (0x088F3030u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), std::bit_cast(aot_fpr_22)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(8), std::bit_cast(aot_fpr_22)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0164_entry, 164u, 490u, 0x08A97518u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F3030u) goto L_088F3030; AOT_REGCACHE_SYNC_OUT(); return; L_088F3030: @@ -7367,10 +7368,10 @@ L_088F3030: ctx.gpr[10] = (0u | 7u); ctx.gpr[11] = (0u | 0u); { const std::uint32_t aot_run_words[3]{0u, 0u, 0u}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(0), aot_run_words); } ctx.fpr[14] = std::bit_cast(std::bit_cast(aot_fpr_22)); aot_gpr_31 = (0x088F3080u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(12), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0095_entry, 95u, 311u, 0x08981324u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F3080u) goto L_088F3080; AOT_REGCACHE_SYNC_OUT(); return; L_088F3080: @@ -7420,7 +7421,7 @@ L_088F30A0: { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_22), std::bit_cast(aot_fpr_22), std::bit_cast(aot_fpr_20)}; aot_mem.aot_direct_store32_block(aot_gpr_16 + static_cast(32), aot_run_words); } { std::uint32_t aot_run_words[7]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(64), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(64), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); aot_fpr_22 = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); @@ -7430,15 +7431,15 @@ L_088F30A0: aot_gpr_31 = aot_run_words[6]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(96)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(96)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_088F3134: - aot_gpr_29 = (aot_gpr_29 + static_cast(-96)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-96)); { const std::uint32_t aot_run_words[7]{std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_22), std::bit_cast(ctx.fpr[24]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(64), aot_run_words); } + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(64), aot_run_words); } aot_gpr_5 = (aot_gpr_4 + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; @@ -7449,7 +7450,7 @@ L_088F3134: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - ctx.gpr[17] = (aot_gpr_29 + static_cast(32)); + ctx.gpr[17] = (ctx.gpr[29] + static_cast(32)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; @@ -7476,7 +7477,7 @@ L_088F3134: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>(); - aot_gpr_5 = (aot_gpr_29 + static_cast(16)); + aot_gpr_5 = (ctx.gpr[29] + static_cast(16)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; @@ -7572,11 +7573,11 @@ L_088F31E0: ctx.gpr[11] = (ctx.gpr[18] | 0u); ctx.fpr[17] = std::bit_cast(std::bit_cast(aot_fpr_20)); ctx.fpr[18] = std::bit_cast(std::bit_cast(ctx.fpr[24])); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), 0u); ctx.fpr[19] = std::bit_cast(std::bit_cast(aot_fpr_22)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), 0u); aot_gpr_31 = (0x088F32A4u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), std::bit_cast(aot_fpr_22)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(8), std::bit_cast(aot_fpr_22)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0164_entry, 164u, 490u, 0x08A97518u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F32A4u) goto L_088F32A4; AOT_REGCACHE_SYNC_OUT(); return; L_088F32A4: @@ -7595,10 +7596,10 @@ L_088F32A4: ctx.gpr[10] = (0u | 5u); ctx.gpr[11] = (0u | 0u); { const std::uint32_t aot_run_words[3]{0u, 0u, 0u}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(0), aot_run_words); } ctx.fpr[14] = std::bit_cast(std::bit_cast(aot_fpr_22)); aot_gpr_31 = (0x088F32F4u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(12), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0095_entry, 95u, 311u, 0x08981324u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F32F4u) goto L_088F32F4; AOT_REGCACHE_SYNC_OUT(); return; L_088F32F4: @@ -7648,7 +7649,7 @@ L_088F3314: { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_22), std::bit_cast(aot_fpr_22), std::bit_cast(aot_fpr_20)}; aot_mem.aot_direct_store32_block(aot_gpr_16 + static_cast(32), aot_run_words); } { std::uint32_t aot_run_words[7]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(64), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(64), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); aot_fpr_22 = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); @@ -7658,19 +7659,19 @@ L_088F3314: aot_gpr_31 = aot_run_words[6]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(96)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(96)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_088F33A8: - aot_gpr_29 = (aot_gpr_29 + static_cast(-64)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-64)); ctx.gpr[7] = (aot_gpr_4 | 0u); aot_gpr_4 = (2246u << 16u); aot_gpr_5 = (0u | 0u); ctx.gpr[8] = (aot_gpr_4 + static_cast(31024)); aot_gpr_6 = (0u | 0u); - aot_gpr_4 = (aot_gpr_29 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(16)); aot_gpr_5 = (aot_gpr_5 + ctx.gpr[8]); goto L_088F33C8; L_088F33C8: @@ -7721,7 +7722,7 @@ L_088F33C8: } L_088F33FC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_088F3418; } @@ -7738,11 +7739,11 @@ L_088F3404: goto L_088F3414; } L_088F3414: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_088F3418; L_088F3418: jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(64)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(64)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -7849,9 +7850,9 @@ L_088F34D4: aot_gpr_5 = (aot_gpr_4 << 6u); aot_gpr_6 = (aot_gpr_6 + static_cast(31024)); aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); - ctx.gpr[2] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(54))); + aot_gpr_2 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(54))); aot_gpr_6 = (0u | 65534u); - aot_gpr_6 = (static_cast(ctx.gpr[2]) < static_cast(aot_gpr_6) ? 1u : 0u); + aot_gpr_6 = (static_cast(aot_gpr_2) < static_cast(aot_gpr_6) ? 1u : 0u); { const bool branch_taken = aot_gpr_6 == 0u; // nop if (branch_taken) { @@ -7860,12 +7861,12 @@ L_088F34D4: goto L_088F34F8; } L_088F34F8: - aot_gpr_6 = (ctx.gpr[2] + static_cast(1)); + aot_gpr_6 = (aot_gpr_2 + static_cast(1)); aot_mem.aot_direct_store16(aot_gpr_5 + static_cast(54), static_cast(aot_gpr_6)); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(54))); - ctx.gpr[2] = (aot_gpr_5 << 16u); + aot_gpr_2 = (aot_gpr_5 << 16u); { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_gpr_4 | ctx.gpr[2]); + aot_gpr_2 = (aot_gpr_4 | aot_gpr_2); if (branch_taken) { goto L_088F3524; } @@ -7875,8 +7876,8 @@ L_088F3510: aot_gpr_6 = (0u | 1u); aot_mem.aot_direct_store16(aot_gpr_5 + static_cast(54), static_cast(aot_gpr_6)); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(54))); - ctx.gpr[2] = (aot_gpr_5 << 16u); - ctx.gpr[2] = (aot_gpr_4 | ctx.gpr[2]); + aot_gpr_2 = (aot_gpr_5 << 16u); + aot_gpr_2 = (aot_gpr_4 | aot_gpr_2); goto L_088F3524; L_088F3524: jump_target = aot_gpr_31; @@ -7886,8 +7887,8 @@ L_088F3524: ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_088F352C: - ctx.gpr[2] = (0u + static_cast(-1)); - { const bool branch_taken = aot_gpr_4 == ctx.gpr[2]; + aot_gpr_2 = (0u + static_cast(-1)); + { const bool branch_taken = aot_gpr_4 == aot_gpr_2; aot_gpr_5 = (aot_gpr_4 & 65535u); if (branch_taken) { goto L_088F3568; @@ -7912,7 +7913,7 @@ L_088F3538: } L_088F3560: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_gpr_5 | 0u); + aot_gpr_2 = (aot_gpr_5 | 0u); if (branch_taken) { goto L_088F3570; } @@ -7934,15 +7935,15 @@ L_088F3570: ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_088F3578: - aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-32)); { const std::uint32_t aot_run_words[8]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_31}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(0), aot_run_words); } aot_gpr_31 = (0x088F35A4u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F35A4u) goto L_088F35A4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F35A4u) goto L_088F35A4; AOT_REGCACHE_SYNC_OUT(); return; L_088F35A4: - ctx.gpr[22] = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(104))); + ctx.gpr[22] = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(104))); aot_gpr_4 = (ctx.gpr[22] ^ 4u); aot_gpr_5 = (ctx.gpr[22] ^ 5u); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); @@ -8006,11 +8007,11 @@ L_088F3618: goto L_088F2D04; L_088F3620: aot_gpr_31 = (0x088F3628u); - aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F3628u) goto L_088F3628; + aot_gpr_4 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F3628u) goto L_088F3628; AOT_REGCACHE_SYNC_OUT(); return; L_088F3628: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(104))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(104))); { const bool branch_taken = ctx.gpr[22] != aot_gpr_4; // nop if (branch_taken) { @@ -8071,7 +8072,7 @@ L_088F3680: } L_088F3690: { std::uint32_t aot_run_words[8]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; @@ -8082,23 +8083,23 @@ L_088F3690: aot_gpr_31 = aot_run_words[7]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(32)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(32)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_088F36B8: - aot_gpr_29 = (aot_gpr_29 + static_cast(-96)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-96)); aot_gpr_6 = (0u | 30u); { const std::int32_t dividend = static_cast(aot_gpr_5); const std::int32_t divisor = static_cast(aot_gpr_6); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), ctx.gpr[17]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(56), ctx.gpr[17]); ctx.gpr[17] = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(52), aot_gpr_16); aot_gpr_16 = (0u | 4u); { const std::uint32_t aot_run_words[5]{std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_22), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28])}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(32), aot_run_words); } + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(32), aot_run_words); } { const std::uint32_t aot_run_words[6]{ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_31}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(60), aot_run_words); } + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(60), aot_run_words); } aot_gpr_4 = (ctx.lo); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); aot_gpr_6 = (static_cast(aot_gpr_4) < 4 ? 1u : 0u); @@ -8122,20 +8123,20 @@ L_088F3714: L_088F372C: aot_gpr_4 = (aot_gpr_4 | 4059u); ctx.fpr[24] = std::bit_cast(aot_gpr_4); - ctx.gpr[19] = (aot_gpr_29 + static_cast(12)); + ctx.gpr[19] = (ctx.gpr[29] + static_cast(12)); aot_gpr_4 = (16320u << 16u); aot_fpr_22 = std::bit_cast(aot_gpr_4); - ctx.gpr[18] = (aot_gpr_29 + static_cast(16)); + ctx.gpr[18] = (ctx.gpr[29] + static_cast(16)); aot_gpr_4 = (16128u << 16u); aot_fpr_20 = std::bit_cast(aot_gpr_4); goto L_088F374C; L_088F374C: aot_gpr_31 = (0x088F3754u); ctx.fpr[26] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F3754u) goto L_088F3754; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F3754u) goto L_088F3754; AOT_REGCACHE_SYNC_OUT(); return; L_088F3754: - aot_gpr_4 = (ctx.gpr[2] & 65535u); + aot_gpr_4 = (aot_gpr_2 & 65535u); aot_gpr_4 = (aot_gpr_4 & 255u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); @@ -8154,10 +8155,10 @@ L_088F3754: aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x088F3798u); ctx.fpr[28] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F3798u) goto L_088F3798; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F3798u) goto L_088F3798; AOT_REGCACHE_SYNC_OUT(); return; L_088F3798: - aot_gpr_4 = (ctx.gpr[2] & 65535u); + aot_gpr_4 = (aot_gpr_2 & 65535u); aot_gpr_4 = (aot_gpr_4 & 255u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); @@ -8183,7 +8184,7 @@ L_088F3798: L_088F37E4: aot_fpr_12 = ctx.fpr[0] + aot_fpr_20; aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(8), std::bit_cast(aot_fpr_12)); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(12))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(12))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -8208,10 +8209,10 @@ L_088F37F8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(104))); aot_gpr_31 = (0x088F380Cu); ctx.gpr[22] = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(80))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F380Cu) goto L_088F380C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F380Cu) goto L_088F380C; AOT_REGCACHE_SYNC_OUT(); return; L_088F380C: - aot_gpr_4 = (ctx.gpr[2] & 65535u); + aot_gpr_4 = (aot_gpr_2 & 65535u); ctx.gpr[7] = (aot_gpr_4 & 3u); ctx.gpr[7] = (ctx.gpr[21] + ctx.gpr[7]); aot_gpr_4 = (ctx.gpr[18] | 0u); @@ -8235,7 +8236,7 @@ L_088F3834: } L_088F3844: { std::uint32_t aot_run_words[13]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(32), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(32), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); aot_fpr_22 = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); @@ -8251,18 +8252,18 @@ L_088F3844: aot_gpr_31 = aot_run_words[12]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(96)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(96)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_088F3880: - ctx.gpr[2] = (2246u << 16u); + aot_gpr_2 = (2246u << 16u); aot_gpr_5 = (0u | 0u); - ctx.gpr[2] = (ctx.gpr[2] + static_cast(31024)); + aot_gpr_2 = (aot_gpr_2 + static_cast(31024)); goto L_088F388C; L_088F388C: - aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(56))); + aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(56))); { const bool branch_taken = aot_gpr_6 == 0u; // nop if (branch_taken) { @@ -8271,7 +8272,7 @@ L_088F388C: goto L_088F3898; } L_088F3898: - aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(32))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(32))); { const bool branch_taken = aot_gpr_6 == aot_gpr_4; // nop if (branch_taken) { @@ -8280,7 +8281,7 @@ L_088F3898: goto L_088F38A4; } L_088F38A4: - aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(36))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(36))); { const bool branch_taken = aot_gpr_6 == aot_gpr_4; // nop if (branch_taken) { @@ -8292,7 +8293,7 @@ L_088F38B0: aot_gpr_5 = (aot_gpr_5 + static_cast(1)); aot_gpr_6 = (static_cast(aot_gpr_5) < 336 ? 1u : 0u); { const bool branch_taken = aot_gpr_6 != 0u; - ctx.gpr[2] = (ctx.gpr[2] + static_cast(64)); + aot_gpr_2 = (aot_gpr_2 + static_cast(64)); if (branch_taken) { goto L_088F388C; } @@ -8300,7 +8301,7 @@ L_088F38B0: } L_088F38C0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_088F38C8; } @@ -8314,12 +8315,12 @@ L_088F38C8: ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_088F38D0: - aot_gpr_29 = (aot_gpr_29 + static_cast(-80)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), ctx.gpr[20]); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-80)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(56), ctx.gpr[20]); ctx.gpr[20] = (2246u << 16u); { const std::uint32_t aot_run_words[5]{std::bit_cast(aot_fpr_20), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19]}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(36), aot_run_words); } - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(60), ctx.gpr[21]); + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(36), aot_run_words); } + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(60), ctx.gpr[21]); aot_fpr_20 = std::bit_cast(std::bit_cast(aot_fpr_12)); ctx.gpr[21] = (0u | 0u); ctx.gpr[19] = (0u | 4u); @@ -8327,7 +8328,7 @@ L_088F38D0: ctx.gpr[17] = (0u | 1u); aot_gpr_16 = (aot_gpr_4 | 0u); ctx.gpr[20] = (ctx.gpr[20] + static_cast(31024)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), aot_gpr_31); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(64), aot_gpr_31); goto L_088F3914; L_088F3914: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[20] + static_cast(56))); @@ -8368,10 +8369,10 @@ L_088F392C: ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[29] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - { const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[29] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -8413,7 +8414,7 @@ L_088F3970: } L_088F3980: { std::uint32_t aot_run_words[8]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(36), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(36), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); aot_gpr_16 = aot_run_words[1]; ctx.gpr[17] = aot_run_words[2]; @@ -8424,18 +8425,18 @@ L_088F3980: aot_gpr_31 = aot_run_words[7]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(80)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(80)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_088F39A8: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(104))); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(166))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); { const bool branch_taken = aot_gpr_16 == aot_gpr_5; // nop if (branch_taken) { @@ -8489,7 +8490,7 @@ L_088F39F8: } L_088F3A00: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_088F3AB4; } @@ -8497,7 +8498,7 @@ L_088F3A00: } L_088F3A08: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_088F3AB4; } @@ -8509,7 +8510,7 @@ L_088F3A10: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F3A18u) goto L_088F3A18; AOT_REGCACHE_SYNC_OUT(); return; L_088F3A18: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -8565,7 +8566,7 @@ L_088F3A5C: } L_088F3A64: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_088F3AB4; } @@ -8573,7 +8574,7 @@ L_088F3A64: } L_088F3A6C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_088F3AB4; } @@ -8589,7 +8590,7 @@ L_088F3A74: } L_088F3A7C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_088F3AB4; } @@ -8624,34 +8625,34 @@ L_088F3A9C: } L_088F3AA8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_088F3AB4; } goto L_088F3AB0; } L_088F3AB0: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_088F3AB4; L_088F3AB4: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_088F3AC4: - aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-32)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), ctx.gpr[17]); ctx.gpr[17] = (2246u << 16u); ctx.gpr[17] = (ctx.gpr[17] + static_cast(31024)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), aot_gpr_16); { const std::uint32_t aot_run_words[4]{ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(8), aot_run_words); } + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(8), aot_run_words); } aot_gpr_16 = (2237u << 16u); - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); ctx.gpr[18] = (0u | 0u); aot_gpr_16 = (aot_gpr_16 + static_cast(-28736)); goto L_088F3AF8; @@ -8719,7 +8720,7 @@ L_088F3B70: aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(40), 0u); goto L_088F3B74; L_088F3B74: - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); goto L_088F3B78; L_088F3B78: ctx.gpr[18] = (ctx.gpr[18] + static_cast(1)); @@ -8733,7 +8734,7 @@ L_088F3B78: } L_088F3B88: { std::uint32_t aot_run_words[6]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; @@ -8742,26 +8743,26 @@ L_088F3B88: aot_gpr_31 = aot_run_words[5]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(32)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(32)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_088F3BA8: - aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-48)); { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], aot_gpr_31}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(32), aot_run_words); } + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(32), aot_run_words); } aot_gpr_31 = (0x088F3BC0u); aot_gpr_16 = (aot_gpr_4 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F3BC0u) goto L_088F3BC0; AOT_REGCACHE_SYNC_OUT(); return; L_088F3BC0: aot_gpr_31 = (0x088F3BC8u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 695u, 0x0894763Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F3BC8u) goto L_088F3BC8; AOT_REGCACHE_SYNC_OUT(); return; L_088F3BC8: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_088F3BE8; @@ -8775,11 +8776,11 @@ L_088F3BD0: AOT_REGCACHE_SYNC_OUT(); return; L_088F3BD8: aot_gpr_31 = (0x088F3BE0u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 710u, 0x089476E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F3BE0u) goto L_088F3BE0; AOT_REGCACHE_SYNC_OUT(); return; L_088F3BE0: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088F3C34; @@ -8787,21 +8788,21 @@ L_088F3BE0: goto L_088F3BE8; } L_088F3BE8: - ctx.gpr[17] = (aot_gpr_29 + static_cast(16)); - aot_gpr_6 = (aot_gpr_29 + static_cast(20)); - ctx.gpr[7] = (aot_gpr_29 + static_cast(24)); + ctx.gpr[17] = (ctx.gpr[29] + static_cast(16)); + aot_gpr_6 = (ctx.gpr[29] + static_cast(20)); + ctx.gpr[7] = (ctx.gpr[29] + static_cast(24)); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088F3C00u); aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0060_entry, 60u, 869u, 0x088F7DF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F3C00u) goto L_088F3C00; AOT_REGCACHE_SYNC_OUT(); return; L_088F3C00: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(24))); aot_gpr_4 = (16153u << 16u); aot_gpr_4 = (aot_gpr_4 | 39322u); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(24), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x088F3C20u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F3C20u) goto L_088F3C20; @@ -8817,32 +8818,32 @@ L_088F3C20: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[29] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x088F3C34u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 751u, 0x08947990u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F3C34u) goto L_088F3C34; AOT_REGCACHE_SYNC_OUT(); return; L_088F3C34: { std::uint32_t aot_run_words[3]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(32), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(32), aot_run_words); aot_gpr_16 = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(48)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(48)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_088F3C48: - aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-48)); aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-1040))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), aot_gpr_31); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(32), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(36), aot_gpr_31); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_16 = (aot_gpr_4 | 0u); if (branch_taken) { @@ -9005,7 +9006,7 @@ L_088F3D3C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 195u, 0x08910B38u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F3D44u) goto L_088F3D44; AOT_REGCACHE_SYNC_OUT(); return; L_088F3D44: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_088F3D64; @@ -9058,37 +9059,37 @@ L_088F3D74: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[29] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(1918))); aot_gpr_31 = (0x088F3D8Cu); - aot_gpr_4 = (aot_gpr_29 | 0u); + aot_gpr_4 = (ctx.gpr[29] | 0u); goto L_088F36B8; L_088F3D8C: aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(1918), static_cast(0u)); goto L_088F3D90; L_088F3D90: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(32))); - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(36))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(32))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(36))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(48)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(48)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_088F3DA0: - aot_gpr_29 = (aot_gpr_29 + static_cast(-272)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-272)); { const std::uint32_t aot_run_words[12]{std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_22), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(220), aot_run_words); } + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(220), aot_run_words); } ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(32))); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(212), static_cast(ctx.gpr[8])); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(212), static_cast(ctx.gpr[8])); ctx.gpr[19] = (aot_gpr_4 | 0u); ctx.gpr[23] = (aot_gpr_5 | 0u); ctx.gpr[30] = (aot_gpr_6 | 0u); { const bool branch_taken = ctx.gpr[9] == 0u; - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(208), ctx.gpr[7]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(208), ctx.gpr[7]); if (branch_taken) { goto L_088F3E38; } @@ -9260,19 +9261,19 @@ L_088F3EF0: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_5 = (aot_gpr_29 + static_cast(64)); + aot_gpr_5 = (ctx.gpr[29] + static_cast(64)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(72))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(72))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); aot_gpr_4 = (15395u << 16u); aot_gpr_4 = (aot_gpr_4 | 55050u); ctx.fpr[14] = std::bit_cast(aot_gpr_4); { const float fs = aot_fpr_13; const float ft = ctx.fpr[14]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_fpr_12 = aot_fpr_12 - aot_fpr_13; - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(72), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(72), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x088F3F2Cu); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(32))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 538u, 0x08A666C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F3F2Cu) goto L_088F3F2C; @@ -9293,7 +9294,7 @@ L_088F3F2C: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); - aot_gpr_5 = (aot_gpr_29 + static_cast(48)); + aot_gpr_5 = (ctx.gpr[29] + static_cast(48)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; @@ -9318,13 +9319,13 @@ L_088F3F2C: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 0u>(); - aot_gpr_5 = (aot_gpr_29 + static_cast(32)); + aot_gpr_5 = (ctx.gpr[29] + static_cast(32)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { std::uint32_t aot_run_words[3]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(32), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(32), aot_run_words); aot_fpr_12 = std::bit_cast(aot_run_words[0]); aot_fpr_13 = std::bit_cast(aot_run_words[1]); ctx.fpr[14] = std::bit_cast(aot_run_words[2]); @@ -9351,13 +9352,13 @@ L_088F3F90: aot_gpr_4 = (16544u << 16u); ctx.fpr[15] = std::bit_cast(aot_gpr_4); ctx.fpr[14] = ctx.fpr[14] + ctx.fpr[15]; - aot_gpr_4 = (aot_gpr_29 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(16)); aot_gpr_31 = (0x088F3FB8u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0189_entry, 189u, 115u, 0x08AF8668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F3FB8u) goto L_088F3FB8; AOT_REGCACHE_SYNC_OUT(); return; L_088F3FB8: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088F3FE4; @@ -9365,7 +9366,7 @@ L_088F3FB8: goto L_088F3FC0; } L_088F3FC0: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(16))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(32))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(56))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); diff --git a/profiles/vcs/generated/generated_unit_0060.cpp b/profiles/vcs/generated/generated_unit_0060.cpp index 765dc73..8830572 100644 --- a/profiles/vcs/generated/generated_unit_0060.cpp +++ b/profiles/vcs/generated/generated_unit_0060.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -137,20 +138,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0060[4060] = { }; void recomp_unit_0060_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,16,31,29,17 fprs=12,13,14,22 gpr_occ=3767 fpr_occ=567 gpr_total=5400 fpr_total=731 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,31,6,2,28 fprs=12,13,14,22 gpr_occ=3759 fpr_occ=567 gpr_total=5613 fpr_total=731 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; - std::uint32_t aot_gpr_16 = ctx.gpr[16]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; - std::uint32_t aot_gpr_29 = ctx.gpr[29]; - std::uint32_t aot_gpr_17 = ctx.gpr[17]; + std::uint32_t aot_gpr_6 = ctx.gpr[6]; + std::uint32_t aot_gpr_2 = ctx.gpr[2]; + std::uint32_t aot_gpr_28 = ctx.gpr[28]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_14 = ctx.fpr[14]; float aot_fpr_22 = ctx.fpr[22]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[16] = aot_gpr_16; ctx.gpr[31] = aot_gpr_31; ctx.gpr[29] = aot_gpr_29; ctx.gpr[17] = aot_gpr_17; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[22] = aot_fpr_22; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_17 = ctx.gpr[17]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_22 = ctx.fpr[22]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[31] = aot_gpr_31; ctx.gpr[6] = aot_gpr_6; ctx.gpr[2] = aot_gpr_2; ctx.gpr[28] = aot_gpr_28; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[22] = aot_fpr_22; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_2 = ctx.gpr[2]; aot_gpr_28 = ctx.gpr[28]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_22 = ctx.fpr[22]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -1046,13 +1047,13 @@ LOCAL_DISPATCH: L_088F4000: ctx.fpr[15] = std::bit_cast(aot_gpr_4); aot_fpr_14 = aot_fpr_14 + ctx.fpr[15]; - aot_gpr_4 = (aot_gpr_29 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(16)); aot_gpr_31 = (0x088F4014u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0189_entry, 189u, 115u, 0x08AF8668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F4014u) goto L_088F4014; AOT_REGCACHE_SYNC_OUT(); return; L_088F4014: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088F4028; @@ -1060,7 +1061,7 @@ L_088F4014: goto L_088F401C; } L_088F401C: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(16))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(32))); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(56), std::bit_cast(aot_fpr_12)); goto L_088F4028; @@ -1097,7 +1098,7 @@ L_088F4040: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 213u, 0x08AD1028u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F406Cu) goto L_088F406C; AOT_REGCACHE_SYNC_OUT(); return; L_088F406C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088F40A0; @@ -1113,15 +1114,15 @@ L_088F407C: aot_gpr_4 = (0u | 1u); aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(57), static_cast(aot_gpr_4)); aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(56), static_cast(0u)); - aot_gpr_16 = (0u | 1u); - aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); + ctx.gpr[16] = (0u | 1u); + aot_gpr_4 = (aot_gpr_28 + static_cast(7768)); aot_gpr_5 = (0u | 89u); aot_gpr_31 = (0x088F409Cu); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 553u, 0x08A062F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F409Cu) goto L_088F409C; AOT_REGCACHE_SYNC_OUT(); return; L_088F409C: - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(212), static_cast(aot_gpr_16)); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(212), static_cast(ctx.gpr[16])); goto L_088F40A0; L_088F40A0: { const bool branch_taken = 0u == 0u; @@ -1139,7 +1140,7 @@ L_088F40A8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0059_entry, 59u, 708u, 0x088F39A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F40B8u) goto L_088F40B8; AOT_REGCACHE_SYNC_OUT(); return; L_088F40B8: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088F4154; @@ -1155,7 +1156,7 @@ L_088F40C0: goto L_088F40C8; } L_088F40C8: - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7080))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-7080))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -1171,7 +1172,7 @@ L_088F40D4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0059_entry, 59u, 497u, 0x088F2590u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F40E4u) goto L_088F40E4; AOT_REGCACHE_SYNC_OUT(); return; L_088F40E4: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088F417C; @@ -1201,7 +1202,7 @@ L_088F40F4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 213u, 0x08AD1028u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F4120u) goto L_088F4120; AOT_REGCACHE_SYNC_OUT(); return; L_088F4120: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088F417C; @@ -1225,7 +1226,7 @@ L_088F4130: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0059_entry, 59u, 497u, 0x088F2590u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F4144u) goto L_088F4144; AOT_REGCACHE_SYNC_OUT(); return; L_088F4144: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088F417C; @@ -1257,7 +1258,7 @@ L_088F415C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0059_entry, 59u, 497u, 0x088F2590u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F4170u) goto L_088F4170; AOT_REGCACHE_SYNC_OUT(); return; L_088F4170: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088F417C; @@ -1297,9 +1298,9 @@ L_088F41A0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0059_entry, 59u, 589u, 0x088F2D04u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F41ACu) goto L_088F41AC; AOT_REGCACHE_SYNC_OUT(); return; L_088F41AC: - aot_gpr_16 = (ctx.gpr[2] | 0u); - aot_gpr_17 = (static_cast(aot_gpr_16) < 40 ? 1u : 0u); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[16] = (aot_gpr_2 | 0u); + ctx.gpr[17] = (static_cast(ctx.gpr[16]) < 40 ? 1u : 0u); + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_088F4244; @@ -1312,7 +1313,7 @@ L_088F41BC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 562u, 0x08A363C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F41C4u) goto L_088F41C4; AOT_REGCACHE_SYNC_OUT(); return; L_088F41C4: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088F4244; @@ -1322,7 +1323,7 @@ L_088F41C4: L_088F41CC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(32))); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(86)))))); - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(104))); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(104))); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(166))); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -1334,7 +1335,7 @@ L_088F41CC: L_088F41E4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(32))); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(86)))))); - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(104))); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(104))); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(162))); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -1346,7 +1347,7 @@ L_088F41E4: L_088F41FC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(32))); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(86)))))); - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(104))); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(104))); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(158))); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -1358,7 +1359,7 @@ L_088F41FC: L_088F4214: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(32))); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(86)))))); - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(104))); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(104))); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(80))); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -1380,7 +1381,7 @@ L_088F422C: goto L_088F4244; } L_088F4244: - { const bool branch_taken = aot_gpr_17 == 0u; + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_088F44BC; @@ -1388,7 +1389,7 @@ L_088F4244: goto L_088F424C; } L_088F424C: - { const bool branch_taken = aot_gpr_16 == 0u; + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_088F44BC; @@ -1396,15 +1397,15 @@ L_088F424C: goto L_088F4254; } L_088F4254: - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(213), static_cast(ctx.gpr[22])); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(213), static_cast(ctx.gpr[22])); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x088F4264u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(216), aot_gpr_16); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F4264u) goto L_088F4264; + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(216), ctx.gpr[16]); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F4264u) goto L_088F4264; AOT_REGCACHE_SYNC_OUT(); return; L_088F4264: - aot_gpr_16 = (ctx.gpr[2] | 0u); - ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(104))); + ctx.gpr[16] = (aot_gpr_2 | 0u); + ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(104))); aot_gpr_31 = (0x088F4274u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F4274u) goto L_088F4274; @@ -1413,33 +1414,33 @@ L_088F4274: ctx.gpr[21] = (ctx.gpr[18] << 5u); aot_gpr_4 = (ctx.gpr[18] << 2u); ctx.gpr[21] = (ctx.gpr[21] - aot_gpr_4); - aot_gpr_4 = (ctx.gpr[2] + ctx.gpr[21]); + aot_gpr_4 = (aot_gpr_2 + ctx.gpr[21]); aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); aot_gpr_31 = (0x088F4290u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F4290u) goto L_088F4290; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F4290u) goto L_088F4290; AOT_REGCACHE_SYNC_OUT(); return; L_088F4290: - aot_gpr_17 = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x088F429Cu); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F429Cu) goto L_088F429C; AOT_REGCACHE_SYNC_OUT(); return; L_088F429C: - aot_gpr_4 = (ctx.gpr[2] + ctx.gpr[21]); + aot_gpr_4 = (aot_gpr_2 + ctx.gpr[21]); aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(216))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(216))); { const bool branch_taken = ctx.gpr[20] == aot_gpr_4; - ctx.gpr[22] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(213))); + ctx.gpr[22] = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(213))); if (branch_taken) { goto L_088F44BC; } goto L_088F42B4; } L_088F42B4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(104))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(104))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(104))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(104))); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop if (branch_taken) { @@ -1453,7 +1454,7 @@ L_088F42C4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F42CCu) goto L_088F42CC; AOT_REGCACHE_SYNC_OUT(); return; L_088F42CC: - aot_gpr_4 = (ctx.gpr[2] + ctx.gpr[21]); + aot_gpr_4 = (aot_gpr_2 + ctx.gpr[21]); aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); { const bool branch_taken = static_cast(aot_gpr_4) > 0; @@ -1478,7 +1479,7 @@ L_088F42E8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 607u, 0x08AD3698u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F42F4u) goto L_088F42F4; AOT_REGCACHE_SYNC_OUT(); return; L_088F42F4: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_088F4304; @@ -1507,8 +1508,8 @@ L_088F430C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F4314u) goto L_088F4314; AOT_REGCACHE_SYNC_OUT(); return; L_088F4314: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(3252))); - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(3252))); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7660))); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); aot_gpr_4 = (aot_gpr_4 < static_cast(1500) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; @@ -1522,7 +1523,7 @@ L_088F432C: ctx.gpr[22] = (0u | 0u); aot_gpr_4 = (0u | 6u); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-23116), aot_gpr_4); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-23116), aot_gpr_4); if (branch_taken) { goto L_088F44BC; } @@ -1530,7 +1531,7 @@ L_088F432C: } L_088F433C: aot_gpr_4 = (0u | 6u); - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-23116), aot_gpr_4); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-23116), aot_gpr_4); aot_gpr_4 = (ctx.gpr[18] ^ 4u); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); aot_gpr_5 = (ctx.gpr[18] ^ 5u); @@ -1589,7 +1590,7 @@ L_088F43AC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F43B4u) goto L_088F43B4; AOT_REGCACHE_SYNC_OUT(); return; L_088F43B4: - aot_gpr_4 = (ctx.gpr[2] + ctx.gpr[21]); + aot_gpr_4 = (aot_gpr_2 + ctx.gpr[21]); aot_gpr_31 = (0x088F43C0u); aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0143_entry, 143u, 212u, 0x08A40FCCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F43C0u) goto L_088F43C0; @@ -1605,9 +1606,9 @@ L_088F43C0: goto L_088F43D0; } L_088F43D0: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5848))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5848))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); goto L_088F43E8; } goto L_088F43DC; @@ -1617,48 +1618,48 @@ L_088F43DC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 351u, 0x08B657E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F43E4u) goto L_088F43E4; AOT_REGCACHE_SYNC_OUT(); return; L_088F43E4: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); goto L_088F43E8; L_088F43E8: { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5848))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5848))); if (branch_taken) { goto L_088F4418; } goto L_088F43F0; } L_088F43F0: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_31 = (0x088F43FCu); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F43FCu) goto L_088F43FC; AOT_REGCACHE_SYNC_OUT(); return; L_088F43FC: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); if (ctx.gpr[18] == 0u) { - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); goto L_088F4418; } goto L_088F4408; L_088F4408: aot_gpr_31 = (0x088F4410u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F4410u) goto L_088F4410; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F4410u) goto L_088F4410; AOT_REGCACHE_SYNC_OUT(); return; L_088F4410: - aot_gpr_17 = (ctx.gpr[18] | 0u); - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_17); + ctx.gpr[17] = (ctx.gpr[18] | 0u); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); goto L_088F4418; L_088F4418: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); aot_gpr_31 = (0x088F4424u); - aot_gpr_5 = (ctx.gpr[28] + static_cast(-23104)); + aot_gpr_5 = (aot_gpr_28 + static_cast(-23104)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F4424u) goto L_088F4424; AOT_REGCACHE_SYNC_OUT(); return; L_088F4424: - aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); + aot_gpr_6 = (0u | 0u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x088F443Cu); ctx.gpr[8] = (0u | 1u); @@ -1670,7 +1671,7 @@ L_088F443C: aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(58), static_cast(aot_gpr_4)); goto L_088F4448; L_088F4448: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23120))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-23120))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -1697,9 +1698,9 @@ L_088F445C: goto L_088F446C; } L_088F446C: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5848))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5848))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5848))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5848))); goto L_088F4484; } goto L_088F4478; @@ -1709,11 +1710,11 @@ L_088F4478: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 351u, 0x08B657E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F4480u) goto L_088F4480; AOT_REGCACHE_SYNC_OUT(); return; L_088F4480: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5848))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5848))); goto L_088F4484; L_088F4484: aot_gpr_5 = (0u | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x088F4498u); ctx.gpr[8] = (0u | 1u); @@ -1725,8 +1726,8 @@ L_088F4498: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F44A0u) goto L_088F44A0; AOT_REGCACHE_SYNC_OUT(); return; L_088F44A0: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(3252))); - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(3252))); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7660))); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); aot_gpr_4 = (aot_gpr_4 < static_cast(1500) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; @@ -1758,9 +1759,9 @@ L_088F44C4: goto L_088F44D4; } L_088F44D4: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5848))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5848))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5848))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5848))); goto L_088F44EC; } goto L_088F44E0; @@ -1770,11 +1771,11 @@ L_088F44E0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 351u, 0x08B657E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F44E8u) goto L_088F44E8; AOT_REGCACHE_SYNC_OUT(); return; L_088F44E8: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5848))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5848))); goto L_088F44EC; L_088F44EC: aot_gpr_5 = (0u | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x088F4500u); ctx.gpr[8] = (0u | 1u); @@ -1787,7 +1788,7 @@ L_088F4500: aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(58), static_cast(aot_gpr_4)); goto L_088F4510; L_088F4510: - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7080))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-7080))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -1798,7 +1799,7 @@ L_088F4510: L_088F451C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(32))); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(86)))))); - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(104))); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(104))); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(146))); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -1810,7 +1811,7 @@ L_088F451C: L_088F4534: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(32))); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(86)))))); - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(104))); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(104))); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(148))); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -1822,7 +1823,7 @@ L_088F4534: L_088F454C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(32))); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(86)))))); - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(104))); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(104))); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(150))); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -1834,7 +1835,7 @@ L_088F454C: L_088F4564: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(32))); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(86)))))); - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(104))); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(104))); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(168))); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -1849,7 +1850,7 @@ L_088F457C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 695u, 0x0894763Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F4584u) goto L_088F4584; AOT_REGCACHE_SYNC_OUT(); return; L_088F4584: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088F4590; @@ -1870,7 +1871,7 @@ L_088F4590: L_088F4598: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(32))); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(86)))))); - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(104))); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(104))); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(158))); if (aot_gpr_4 != aot_gpr_5) { aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(32))); @@ -1878,11 +1879,11 @@ L_088F4598: } goto L_088F45B0; L_088F45B0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(208))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(208))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast(1256))); aot_gpr_5 = (aot_gpr_4 << 8u); - ctx.gpr[6] = (aot_gpr_4 + aot_gpr_4); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_6 = (aot_gpr_4 + aot_gpr_4); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); aot_gpr_4 = (aot_gpr_4 << 5u); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_5 = (2238u << 16u); @@ -1909,10 +1910,10 @@ L_088F4604: goto L_088F4608; L_088F4608: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(86)))))); - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(104))); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(104))); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(162))); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(208))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(208))); if (branch_taken) { goto L_088F466C; } @@ -1920,9 +1921,9 @@ L_088F4608: } L_088F461C: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast(1252))); - aot_gpr_4 = (aot_gpr_16 << 8u); - aot_gpr_5 = (aot_gpr_16 + aot_gpr_16); - aot_gpr_5 = (aot_gpr_16 + aot_gpr_5); + aot_gpr_4 = (ctx.gpr[16] << 8u); + aot_gpr_5 = (ctx.gpr[16] + ctx.gpr[16]); + aot_gpr_5 = (ctx.gpr[16] + aot_gpr_5); aot_gpr_5 = (aot_gpr_5 << 5u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_5 = (2238u << 16u); @@ -1947,7 +1948,7 @@ L_088F461C: L_088F466C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(32))); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(86)))))); - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(104))); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(104))); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(166))); if (aot_gpr_4 != aot_gpr_5) { aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(32))); @@ -1968,7 +1969,7 @@ L_088F4690: goto L_088F4694; L_088F4694: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(86)))))); - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(104))); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(104))); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(168))); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -1980,7 +1981,7 @@ L_088F4694: L_088F46A8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(32))); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(86)))))); - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(104))); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(104))); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(170))); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -1995,7 +1996,7 @@ L_088F46C0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 617u, 0x088634F8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F46C8u) goto L_088F46C8; AOT_REGCACHE_SYNC_OUT(); return; L_088F46C8: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_088F480C; @@ -2003,8 +2004,8 @@ L_088F46C8: goto L_088F46D0; } L_088F46D0: - aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(60), static_cast(aot_gpr_16)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7080))); + aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(60), static_cast(ctx.gpr[16])); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-7080))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -2013,10 +2014,10 @@ L_088F46D0: goto L_088F46E0; } L_088F46E0: - aot_gpr_16 = (0u | 1u); + ctx.gpr[16] = (0u | 1u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(32))); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(86)))))); - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(104))); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(104))); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(154))); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -2028,7 +2029,7 @@ L_088F46E0: L_088F46FC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(32))); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(86)))))); - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(104))); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(104))); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(152))); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -2046,8 +2047,8 @@ L_088F4714: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 16u, 0x08ADC120u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F4728u) goto L_088F4728; AOT_REGCACHE_SYNC_OUT(); return; L_088F4728: - aot_gpr_17 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_088F477C; @@ -2055,24 +2056,24 @@ L_088F4728: goto L_088F4734; } L_088F4734: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(96))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(96))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); goto L_088F4760; } goto L_088F4740; L_088F4740: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(10)))))); - ctx.gpr[6] = (aot_gpr_29 + static_cast(192)); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(10)))))); + aot_gpr_6 = (ctx.gpr[29] + static_cast(192)); aot_gpr_31 = (0x088F4750u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F4750u) goto L_088F4750; AOT_REGCACHE_SYNC_OUT(); return; L_088F4750: - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(96), ctx.gpr[2]); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(192))); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(4), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(96))); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(96), aot_gpr_2); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(192))); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(4), static_cast(aot_gpr_4)); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); goto L_088F4760; L_088F4760: aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(176))); @@ -2087,10 +2088,10 @@ L_088F4760: goto L_088F4778; } L_088F4778: - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); goto L_088F477C; L_088F477C: - { const bool branch_taken = aot_gpr_16 == 0u; + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_088F47A0; @@ -2102,7 +2103,7 @@ L_088F4784: aot_gpr_5 = (2237u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(-28736)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(100))); - ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(52))); + aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(52))); aot_gpr_31 = (0x088F47A0u); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(96)))))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0129_entry, 129u, 375u, 0x08A0A700u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F47A0u) goto L_088F47A0; @@ -2118,8 +2119,8 @@ L_088F47A0: L_088F47A8: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (ctx.gpr[23] | 0u); - ctx.gpr[6] = (ctx.gpr[30] | 0u); - ctx.gpr[7] = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[30] | 0u); + ctx.gpr[7] = (ctx.gpr[16] | 0u); ctx.gpr[8] = (0u | 100u); aot_gpr_31 = (0x088F47C4u); ctx.gpr[9] = (0u + static_cast(-1)); @@ -2128,14 +2129,14 @@ L_088F47C4: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[19] + static_cast(58)))))); aot_gpr_4 = (aot_gpr_4 & 2u); { const bool branch_taken = aot_gpr_4 == 0u; - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(212), static_cast(ctx.gpr[2])); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(212), static_cast(aot_gpr_2)); if (branch_taken) { goto L_088F480C; } goto L_088F47D4; } L_088F47D4: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(212))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(212))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -2144,9 +2145,9 @@ L_088F47D4: goto L_088F47E0; } L_088F47E0: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5848))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5848))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5848))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5848))); goto L_088F47F8; } goto L_088F47EC; @@ -2156,11 +2157,11 @@ L_088F47EC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 351u, 0x08B657E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F47F4u) goto L_088F47F4; AOT_REGCACHE_SYNC_OUT(); return; L_088F47F4: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5848))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5848))); goto L_088F47F8; L_088F47F8: aot_gpr_5 = (0u | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x088F480Cu); ctx.gpr[8] = (0u | 1u); @@ -2213,7 +2214,7 @@ L_088F4858: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(48))); goto L_088F485C; L_088F485C: - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7660))); aot_gpr_4 = (aot_gpr_4 < aot_gpr_5 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -2239,7 +2240,7 @@ L_088F4874: } L_088F4884: aot_gpr_4 = (0u | 1u); - aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7080))); + aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-7080))); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_5 = (aot_gpr_4 | 0u); if (branch_taken) { @@ -2264,7 +2265,7 @@ L_088F48AC: aot_gpr_5 = (aot_gpr_4 | 0u); goto L_088F48B4; L_088F48B4: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7660))); { const bool branch_taken = aot_gpr_5 == 0u; // nop if (branch_taken) { @@ -2283,8 +2284,8 @@ L_088F48C0: goto L_088F48D0; } L_088F48D0: - aot_gpr_17 = (0u | 0u); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7080))); + ctx.gpr[17] = (0u | 0u); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-7080))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -2294,9 +2295,9 @@ L_088F48D0: } L_088F48E0: ctx.gpr[18] = (0u | 1u); - aot_gpr_16 = (2237u << 16u); - aot_gpr_16 = (aot_gpr_16 + static_cast(-28736)); - ctx.gpr[20] = (aot_gpr_29 + static_cast(80)); + ctx.gpr[16] = (2237u << 16u); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(-28736)); + ctx.gpr[20] = (ctx.gpr[29] + static_cast(80)); ctx.gpr[21] = (0u | 1u); aot_gpr_4 = (17658u << 16u); ctx.fpr[20] = std::bit_cast(aot_gpr_4); @@ -2305,11 +2306,11 @@ L_088F48E0: goto L_088F4904; L_088F4904: aot_gpr_31 = (0x088F490Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 348u, 0x08ADD468u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F490Cu) goto L_088F490C; AOT_REGCACHE_SYNC_OUT(); return; L_088F490C: - aot_gpr_4 = (static_cast(ctx.gpr[18]) < static_cast(ctx.gpr[2]) ? 1u : 0u); + aot_gpr_4 = (static_cast(ctx.gpr[18]) < static_cast(aot_gpr_2) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -2318,13 +2319,13 @@ L_088F490C: goto L_088F4918; } L_088F4918: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x088F4924u); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 12u, 0x08ADC0F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F4924u) goto L_088F4924; AOT_REGCACHE_SYNC_OUT(); return; L_088F4924: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_088F4934; @@ -2340,18 +2341,18 @@ L_088F492C: goto L_088F4934; } L_088F4934: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x088F4940u); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 12u, 0x08ADC0F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F4940u) goto L_088F4940; AOT_REGCACHE_SYNC_OUT(); return; L_088F4940: aot_gpr_31 = (0x088F4948u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0008_entry, 8u, 19u, 0x08824204u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F4948u) goto L_088F4948; AOT_REGCACHE_SYNC_OUT(); return; L_088F4948: - { const std::uint32_t vfpu_address = ctx.gpr[2] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_2 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -2365,11 +2366,11 @@ L_088F4948: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_31 = (0x088F4958u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F4958u) goto L_088F4958; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC734, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F4958u) goto L_088F4958; AOT_REGCACHE_SYNC_OUT(); return; L_088F4958: - { const bool branch_taken = ctx.gpr[2] != ctx.gpr[21]; + { const bool branch_taken = aot_gpr_2 != ctx.gpr[21]; // nop if (branch_taken) { goto L_088F4968; @@ -2385,11 +2386,11 @@ L_088F4960: goto L_088F4968; } L_088F4968: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(80))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(80))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(0))); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; { const float fs = aot_fpr_12; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(84))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(84))); ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(4))); aot_fpr_14 = aot_fpr_14 - ctx.fpr[15]; { const float fs = aot_fpr_14; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } @@ -2406,7 +2407,7 @@ L_088F498C: goto L_088F499C; } L_088F499C: - aot_gpr_17 = (0u | 1u); + ctx.gpr[17] = (0u | 1u); { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { @@ -2426,7 +2427,7 @@ L_088F49AC: goto L_088F49B4; } L_088F49B4: - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7080))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-7080))); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_4 = (2237u << 16u); if (branch_taken) { @@ -2437,11 +2438,11 @@ L_088F49B4: L_088F49C0: aot_gpr_31 = (0x088F49C8u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F49C8u) goto L_088F49C8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC734, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F49C8u) goto L_088F49C8; AOT_REGCACHE_SYNC_OUT(); return; L_088F49C8: aot_gpr_4 = (0u | 1u); - { const bool branch_taken = ctx.gpr[2] != aot_gpr_4; + { const bool branch_taken = aot_gpr_2 != aot_gpr_4; // nop if (branch_taken) { goto L_088F49E0; @@ -2459,43 +2460,43 @@ L_088F49D4: } L_088F49E0: aot_gpr_31 = (0x088F49E8u); - aot_gpr_4 = (aot_gpr_29 + static_cast(96)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(96)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 16u, 0x08960154u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F49E8u) goto L_088F49E8; AOT_REGCACHE_SYNC_OUT(); return; L_088F49E8: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(96))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(96))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(0))); ctx.fpr[20] = aot_fpr_12 - aot_fpr_13; aot_gpr_31 = (0x088F49FCu); - aot_gpr_4 = (aot_gpr_29 + static_cast(112)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(112)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 16u, 0x08960154u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F49FCu) goto L_088F49FC; AOT_REGCACHE_SYNC_OUT(); return; L_088F49FC: - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(112))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(112))); ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(0))); aot_fpr_14 = aot_fpr_14 - ctx.fpr[15]; { const float fs = ctx.fpr[20]; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[20] = std::bit_cast(0x7FC00000u); else ctx.fpr[20] = fs * ft; } aot_gpr_31 = (0x088F4A14u); - aot_gpr_4 = (aot_gpr_29 + static_cast(128)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(128)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 16u, 0x08960154u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F4A14u) goto L_088F4A14; AOT_REGCACHE_SYNC_OUT(); return; L_088F4A14: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(132))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(132))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(4))); aot_fpr_22 = aot_fpr_12 - aot_fpr_13; aot_gpr_31 = (0x088F4A28u); - aot_gpr_4 = (aot_gpr_29 + static_cast(144)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(144)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 16u, 0x08960154u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F4A28u) goto L_088F4A28; AOT_REGCACHE_SYNC_OUT(); return; L_088F4A28: - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(148))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(148))); ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(4))); aot_fpr_14 = aot_fpr_14 - ctx.fpr[15]; { const float fs = aot_fpr_22; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = ctx.fpr[20] + aot_fpr_12; goto L_088F4A3C; L_088F4A3C: - { const bool branch_taken = aot_gpr_17 != 0u; + { const bool branch_taken = ctx.gpr[17] != 0u; aot_gpr_4 = (17096u << 16u); if (branch_taken) { goto L_088F4A58; @@ -2537,7 +2538,7 @@ L_088F4A68: } L_088F4A80: aot_gpr_5 = (ctx.gpr[19] + static_cast(32)); - ctx.gpr[6] = (ctx.gpr[19] + static_cast(36)); + aot_gpr_6 = (ctx.gpr[19] + static_cast(36)); aot_gpr_4 = (ctx.gpr[19] | 0u); ctx.gpr[7] = (0u + static_cast(-1)); aot_gpr_31 = (0x088F4A98u); @@ -2573,13 +2574,13 @@ L_088F4ABC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 224u, 0x08891A2Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F4AC4u) goto L_088F4AC4; AOT_REGCACHE_SYNC_OUT(); return; L_088F4AC4: - ctx.gpr[2] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(212))); + aot_gpr_2 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(212))); { std::uint32_t aot_run_words[12]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(220), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(220), aot_run_words); ctx.fpr[20] = std::bit_cast(aot_run_words[0]); aot_fpr_22 = std::bit_cast(aot_run_words[1]); - aot_gpr_16 = aot_run_words[2]; - aot_gpr_17 = aot_run_words[3]; + ctx.gpr[16] = aot_run_words[2]; + ctx.gpr[17] = aot_run_words[3]; ctx.gpr[18] = aot_run_words[4]; ctx.gpr[19] = aot_run_words[5]; ctx.gpr[20] = aot_run_words[6]; @@ -2590,25 +2591,25 @@ L_088F4AC4: aot_gpr_31 = aot_run_words[11]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(272)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(272)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_088F4B00: - aot_gpr_29 = (aot_gpr_29 + static_cast(-80)); - { const std::uint32_t aot_run_words[11]{std::bit_cast(ctx.fpr[20]), std::bit_cast(aot_fpr_22), aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], aot_gpr_31}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(32), aot_run_words); } - aot_gpr_17 = (aot_gpr_5 | 0u); - aot_gpr_16 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(0), 0u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), 0u); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-80)); + { const std::uint32_t aot_run_words[11]{std::bit_cast(ctx.fpr[20]), std::bit_cast(aot_fpr_22), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], aot_gpr_31}; + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(32), aot_run_words); } + ctx.gpr[17] = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(0), 0u); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), 0u); ctx.gpr[21] = (0u + static_cast(-1)); - aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(52))); + aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(52))); aot_gpr_4 = (0u | 0u); - ctx.gpr[9] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); + ctx.gpr[9] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7656))); ctx.gpr[9] = (static_cast(aot_gpr_5) < static_cast(ctx.gpr[9]) ? 1u : 0u); - ctx.gpr[18] = (ctx.gpr[6] | 0u); + ctx.gpr[18] = (aot_gpr_6 | 0u); ctx.gpr[19] = (ctx.gpr[7] | 0u); { const bool branch_taken = ctx.gpr[9] == 0u; ctx.gpr[20] = (ctx.gpr[8] | 0u); @@ -2619,7 +2620,7 @@ L_088F4B00: } L_088F4B64: aot_gpr_4 = (aot_gpr_5 << 2u); - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(24))); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); goto L_088F4B74; @@ -2634,8 +2635,8 @@ L_088F4B74: goto L_088F4B84; } L_088F4B84: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(52))); - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(52))); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7656))); aot_gpr_5 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_5) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; ctx.gpr[21] = (0u | 0u); @@ -2646,7 +2647,7 @@ L_088F4B84: } L_088F4B98: aot_gpr_4 = (aot_gpr_4 << 2u); - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(24))); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); ctx.gpr[21] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); goto L_088F4BA8; @@ -2657,15 +2658,15 @@ L_088F4BA8: AOT_REGCACHE_SYNC_OUT(); return; L_088F4BB0: aot_gpr_31 = (0x088F4BB8u); - aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F4BB8u) goto L_088F4BB8; + aot_gpr_4 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F4BB8u) goto L_088F4BB8; AOT_REGCACHE_SYNC_OUT(); return; L_088F4BB8: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(96))); ctx.gpr[21] = (aot_gpr_5 << 16u); ctx.gpr[21] = (static_cast(static_cast(ctx.gpr[21]) >> 16u)); - aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(52))); + aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(52))); { const bool branch_taken = ctx.gpr[21] != aot_gpr_5; // nop if (branch_taken) { @@ -2705,7 +2706,7 @@ L_088F4BF8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0099_entry, 99u, 2u, 0x08990018u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F4C00u) goto L_088F4C00; AOT_REGCACHE_SYNC_OUT(); return; L_088F4C00: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_5 = (ctx.gpr[19] | 0u); if (branch_taken) { @@ -2721,22 +2722,22 @@ L_088F4C0C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0009_entry, 9u, 394u, 0x0882B9B0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F4C1Cu) goto L_088F4C1C; AOT_REGCACHE_SYNC_OUT(); return; L_088F4C1C: - ctx.gpr[22] = (ctx.gpr[2] | 0u); + ctx.gpr[22] = (aot_gpr_2 | 0u); if (ctx.gpr[22] == 0u) { - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), ctx.gpr[19]); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), ctx.gpr[19]); goto L_088F4C40; } goto L_088F4C28; L_088F4C28: - aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(52))); + aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(52))); aot_gpr_4 = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x088F4C38u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0009_entry, 9u, 351u, 0x0882B688u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F4C38u) goto L_088F4C38; AOT_REGCACHE_SYNC_OUT(); return; L_088F4C38: ctx.gpr[19] = (ctx.gpr[22] | 0u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), ctx.gpr[19]); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), ctx.gpr[19]); goto L_088F4C40; L_088F4C40: { const bool branch_taken = static_cast(ctx.gpr[20]) < 0; @@ -2771,7 +2772,7 @@ L_088F4C5C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0009_entry, 9u, 394u, 0x0882B9B0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F4C6Cu) goto L_088F4C6C; AOT_REGCACHE_SYNC_OUT(); return; L_088F4C6C: - ctx.gpr[20] = (ctx.gpr[2] | 0u); + ctx.gpr[20] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[20] == 0u; aot_gpr_4 = (ctx.gpr[20] | 0u); if (branch_taken) { @@ -2782,7 +2783,7 @@ L_088F4C6C: L_088F4C78: aot_gpr_5 = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x088F4C84u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0009_entry, 9u, 351u, 0x0882B688u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F4C84u) goto L_088F4C84; AOT_REGCACHE_SYNC_OUT(); return; L_088F4C84: @@ -2803,22 +2804,22 @@ L_088F4C90: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0009_entry, 9u, 392u, 0x0882B994u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F4C9Cu) goto L_088F4C9C; AOT_REGCACHE_SYNC_OUT(); return; L_088F4C9C: - ctx.gpr[20] = (ctx.gpr[2] | 0u); + ctx.gpr[20] = (aot_gpr_2 | 0u); if (ctx.gpr[20] == 0u) { - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), ctx.gpr[19]); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), ctx.gpr[19]); goto L_088F4CC0; } goto L_088F4CA8; L_088F4CA8: - aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(52))); + aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(52))); aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x088F4CB8u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0009_entry, 9u, 351u, 0x0882B688u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F4CB8u) goto L_088F4CB8; AOT_REGCACHE_SYNC_OUT(); return; L_088F4CB8: ctx.gpr[19] = (ctx.gpr[20] | 0u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), ctx.gpr[19]); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), ctx.gpr[19]); goto L_088F4CC0; L_088F4CC0: aot_gpr_4 = (0u + static_cast(-1)); @@ -2836,7 +2837,7 @@ L_088F4CCC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0009_entry, 9u, 392u, 0x0882B994u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F4CD8u) goto L_088F4CD8; AOT_REGCACHE_SYNC_OUT(); return; L_088F4CD8: - ctx.gpr[20] = (ctx.gpr[2] | 0u); + ctx.gpr[20] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[20] == 0u; aot_gpr_4 = (ctx.gpr[20] | 0u); if (branch_taken) { @@ -2847,7 +2848,7 @@ L_088F4CD8: L_088F4CE4: aot_gpr_5 = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x088F4CF0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0009_entry, 9u, 351u, 0x0882B688u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F4CF0u) goto L_088F4CF0; AOT_REGCACHE_SYNC_OUT(); return; L_088F4CF0: @@ -2857,7 +2858,7 @@ L_088F4CF4: aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(0), ctx.gpr[19]); goto L_088F4CF8; L_088F4CF8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -2866,19 +2867,19 @@ L_088F4CF8: goto L_088F4D04; } L_088F4D04: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_gpr_5 = (0u | 2u); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(476), static_cast(aot_gpr_5)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); { std::uint32_t aot_run_words[3]{}; - aot_mem.aot_direct_load32_block(aot_gpr_16 + static_cast(0), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[16] + static_cast(0), aot_run_words); aot_fpr_12 = std::bit_cast(aot_run_words[0]); aot_fpr_13 = std::bit_cast(aot_run_words[1]); aot_fpr_14 = std::bit_cast(aot_run_words[2]); } { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_13), std::bit_cast(aot_fpr_14)}; aot_mem.aot_direct_store32_block(aot_gpr_4 + static_cast(48), aot_run_words); } - ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_gpr_4 = (ctx.gpr[19] + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; @@ -2890,7 +2891,7 @@ L_088F4D04: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[29] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } ctx.fpr[20] = std::bit_cast(0u); @@ -2906,7 +2907,7 @@ L_088F4D04: AOT_REGCACHE_SYNC_OUT(); return; L_088F4D60: { std::uint32_t aot_run_words[3]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(0), aot_run_words); aot_fpr_12 = std::bit_cast(aot_run_words[0]); aot_fpr_13 = std::bit_cast(aot_run_words[1]); aot_fpr_14 = std::bit_cast(aot_run_words[2]); @@ -2917,50 +2918,50 @@ L_088F4D60: AOT_REGCACHE_SYNC_OUT(); return; L_088F4D74: aot_gpr_31 = (0x088F4D7Cu); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 936u, 0x0885FF14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F4D7Cu) goto L_088F4D7C; AOT_REGCACHE_SYNC_OUT(); return; L_088F4D7C: aot_gpr_31 = (0x088F4D84u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 66u, 0x08AD065Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F4D84u) goto L_088F4D84; AOT_REGCACHE_SYNC_OUT(); return; L_088F4D84: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(236))); ctx.gpr[19] = (0u + static_cast(-3)); aot_gpr_5 = (aot_gpr_5 & ctx.gpr[19]); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(236), aot_gpr_5); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); ctx.gpr[20] = (65532u << 16u); ctx.gpr[20] = (ctx.gpr[20] + static_cast(-1)); aot_gpr_5 = (aot_gpr_5 & ctx.gpr[20]); - ctx.gpr[6] = (4u << 16u); - aot_gpr_5 = (aot_gpr_5 | ctx.gpr[6]); + aot_gpr_6 = (4u << 16u); + aot_gpr_5 = (aot_gpr_5 | aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(72), aot_gpr_5); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); ctx.gpr[21] = (0u + static_cast(-513)); aot_gpr_5 = (aot_gpr_5 & ctx.gpr[21]); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(72), aot_gpr_5); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(482)))))); ctx.gpr[22] = (0u + static_cast(-2)); aot_gpr_5 = (aot_gpr_5 & ctx.gpr[22]); aot_gpr_5 = (aot_gpr_5 | 1u); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(482), static_cast(aot_gpr_5)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(482)))))); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(58)))))); - ctx.gpr[6] = (ctx.gpr[6] & 1u); - ctx.gpr[6] = (ctx.gpr[6] & 255u); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(58)))))); + aot_gpr_6 = (aot_gpr_6 & 1u); + aot_gpr_6 = (aot_gpr_6 & 255u); aot_gpr_5 = (aot_gpr_5 & ctx.gpr[19]); - ctx.gpr[6] = (ctx.gpr[6] & 1u); - ctx.gpr[6] = (ctx.gpr[6] << 1u); - aot_gpr_5 = (aot_gpr_5 | ctx.gpr[6]); + aot_gpr_6 = (aot_gpr_6 & 1u); + aot_gpr_6 = (aot_gpr_6 << 1u); + aot_gpr_5 = (aot_gpr_5 | aot_gpr_6); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(482), static_cast(aot_gpr_5)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(76))); aot_gpr_5 = (aot_gpr_5 | 16384u); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(76), aot_gpr_5); @@ -2994,7 +2995,7 @@ L_088F4E38: aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(476), static_cast(aot_gpr_5)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); { std::uint32_t aot_run_words[3]{}; - aot_mem.aot_direct_load32_block(aot_gpr_16 + static_cast(0), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[16] + static_cast(0), aot_run_words); aot_fpr_12 = std::bit_cast(aot_run_words[0]); aot_fpr_13 = std::bit_cast(aot_run_words[1]); aot_fpr_14 = std::bit_cast(aot_run_words[2]); @@ -3012,7 +3013,7 @@ L_088F4E38: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_4 = (aot_gpr_29 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(16)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; @@ -3026,7 +3027,7 @@ L_088F4E38: AOT_REGCACHE_SYNC_OUT(); return; L_088F4E88: { std::uint32_t aot_run_words[3]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(16), aot_run_words); aot_fpr_12 = std::bit_cast(aot_run_words[0]); aot_fpr_13 = std::bit_cast(aot_run_words[1]); aot_fpr_14 = std::bit_cast(aot_run_words[2]); @@ -3053,8 +3054,8 @@ L_088F4EAC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); aot_gpr_5 = (aot_gpr_5 & ctx.gpr[20]); - ctx.gpr[6] = (4u << 16u); - aot_gpr_5 = (aot_gpr_5 | ctx.gpr[6]); + aot_gpr_6 = (4u << 16u); + aot_gpr_5 = (aot_gpr_5 | aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(72), aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); @@ -3079,18 +3080,18 @@ L_088F4EAC: aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(472), static_cast(aot_gpr_5)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(482)))))); - ctx.gpr[6] = (0u + static_cast(-5)); - aot_gpr_5 = (aot_gpr_5 & ctx.gpr[6]); + aot_gpr_6 = (0u + static_cast(-5)); + aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(482), static_cast(aot_gpr_5)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(482)))))); - ctx.gpr[6] = (0u + static_cast(-9)); - aot_gpr_5 = (aot_gpr_5 & ctx.gpr[6]); + aot_gpr_6 = (0u + static_cast(-9)); + aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(482), static_cast(aot_gpr_5)); goto L_088F4F50; L_088F4F50: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(52))); - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(104))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(52))); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(104))); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(164))); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -3100,8 +3101,8 @@ L_088F4F50: goto L_088F4F64; } L_088F4F64: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(44))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(44))); aot_gpr_5 = (aot_gpr_5 & 255u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(472), static_cast(aot_gpr_5)); @@ -3111,8 +3112,8 @@ L_088F4F64: goto L_088F4F78; } L_088F4F78: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(52))); - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(104))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(52))); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(104))); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(182))); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -3122,8 +3123,8 @@ L_088F4F78: goto L_088F4F8C; } L_088F4F8C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(44))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(44))); aot_gpr_5 = (aot_gpr_5 & 255u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(472), static_cast(aot_gpr_5)); @@ -3133,12 +3134,12 @@ L_088F4F8C: goto L_088F4FA0; } L_088F4FA0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_gpr_5 = (0u | 0u); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(472), static_cast(aot_gpr_5)); goto L_088F4FAC; L_088F4FAC: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(56))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(56))); aot_gpr_4 = (aot_gpr_4 + static_cast(-1)); aot_gpr_5 = (aot_gpr_4 < static_cast(16) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; @@ -3160,19 +3161,19 @@ L_088F4FC0: ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_088F4FD8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(482)))))); - ctx.gpr[6] = (0u + static_cast(-5)); - aot_gpr_5 = (aot_gpr_5 & ctx.gpr[6]); + aot_gpr_6 = (0u + static_cast(-5)); + aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); aot_gpr_5 = (aot_gpr_5 | 4u); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(482), static_cast(aot_gpr_5)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(482)))))); - ctx.gpr[6] = (0u + static_cast(-9)); - aot_gpr_5 = (aot_gpr_5 & ctx.gpr[6]); + aot_gpr_6 = (0u + static_cast(-9)); + aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(482), static_cast(aot_gpr_5)); - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(52))); - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(104))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(52))); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(104))); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(162))); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -3182,8 +3183,8 @@ L_088F4FD8: goto L_088F5018; } L_088F5018: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(52))); - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(104))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(52))); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(104))); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(156))); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -3193,27 +3194,27 @@ L_088F5018: goto L_088F502C; } L_088F502C: - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_gpr_31 = (0x088F5038u); - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(52))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(52))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0059_entry, 59u, 589u, 0x088F2D04u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F5038u) goto L_088F5038; AOT_REGCACHE_SYNC_OUT(); return; L_088F5038: - aot_gpr_4 = (ctx.gpr[2] + ctx.gpr[2]); + aot_gpr_4 = (aot_gpr_2 + aot_gpr_2); aot_gpr_5 = (2233u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(-5024)); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); aot_gpr_4 = (aot_gpr_4 & 65535u); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store16(aot_gpr_17 + static_cast(468), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store16(ctx.gpr[17] + static_cast(468), static_cast(aot_gpr_4)); if (branch_taken) { goto L_088F5064; } goto L_088F5058; } L_088F5058: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_gpr_5 = (0u | 0u); aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(468), static_cast(aot_gpr_5)); goto L_088F5064; @@ -3226,15 +3227,15 @@ L_088F5064: goto L_088F506C; } L_088F506C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(482)))))); - ctx.gpr[6] = (0u + static_cast(-5)); - aot_gpr_5 = (aot_gpr_5 & ctx.gpr[6]); + aot_gpr_6 = (0u + static_cast(-5)); + aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(482), static_cast(aot_gpr_5)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(482)))))); - ctx.gpr[6] = (0u + static_cast(-9)); - aot_gpr_5 = (aot_gpr_5 & ctx.gpr[6]); + aot_gpr_6 = (0u + static_cast(-9)); + aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(482), static_cast(aot_gpr_5)); { const bool branch_taken = 0u == 0u; // nop @@ -3244,21 +3245,21 @@ L_088F506C: goto L_088F509C; } L_088F509C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(482)))))); - ctx.gpr[6] = (0u + static_cast(-5)); - aot_gpr_5 = (aot_gpr_5 & ctx.gpr[6]); + aot_gpr_6 = (0u + static_cast(-5)); + aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(482), static_cast(aot_gpr_5)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(482)))))); - ctx.gpr[6] = (0u + static_cast(-9)); - aot_gpr_5 = (aot_gpr_5 & ctx.gpr[6]); + aot_gpr_6 = (0u + static_cast(-9)); + aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); aot_gpr_5 = (aot_gpr_5 | 8u); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(482), static_cast(aot_gpr_5)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); - ctx.gpr[6] = (32u << 16u); - aot_gpr_5 = (aot_gpr_5 | ctx.gpr[6]); + aot_gpr_6 = (32u << 16u); + aot_gpr_5 = (aot_gpr_5 | aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(72), aot_gpr_5); { const bool branch_taken = 0u == 0u; // nop @@ -3269,11 +3270,11 @@ L_088F509C: } L_088F50E4: { std::uint32_t aot_run_words[11]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(32), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(32), aot_run_words); ctx.fpr[20] = std::bit_cast(aot_run_words[0]); aot_fpr_22 = std::bit_cast(aot_run_words[1]); - aot_gpr_16 = aot_run_words[2]; - aot_gpr_17 = aot_run_words[3]; + ctx.gpr[16] = aot_run_words[2]; + ctx.gpr[17] = aot_run_words[3]; ctx.gpr[18] = aot_run_words[4]; ctx.gpr[19] = aot_run_words[5]; ctx.gpr[20] = aot_run_words[6]; @@ -3283,23 +3284,23 @@ L_088F50E4: aot_gpr_31 = aot_run_words[10]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(80)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(80)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_088F5118: - aot_gpr_29 = (aot_gpr_29 + static_cast(-64)); - { const std::uint32_t aot_run_words[10]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(20), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-64)); + { const std::uint32_t aot_run_words[10]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(20), aot_run_words); } + ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.gpr[21] = (ctx.gpr[8] & 255u); ctx.gpr[20] = (ctx.gpr[9] << 16u); ctx.gpr[20] = (static_cast(static_cast(ctx.gpr[20]) >> 16u)); - ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(32))); + ctx.gpr[8] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(32))); aot_gpr_4 = (0u + static_cast(-1)); - aot_gpr_17 = (aot_gpr_5 | 0u); - ctx.gpr[22] = (ctx.gpr[6] | 0u); + ctx.gpr[17] = (aot_gpr_5 | 0u); + ctx.gpr[22] = (aot_gpr_6 | 0u); { const bool branch_taken = ctx.gpr[8] != 0u; ctx.gpr[18] = (ctx.gpr[7] | 0u); if (branch_taken) { @@ -3334,18 +3335,18 @@ L_088F5180: } L_088F5188: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_088F5A0C; } goto L_088F5190; } L_088F5190: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(32))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(32))); ctx.gpr[20] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(86)))))); goto L_088F5198; L_088F5198: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(104))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(104))); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(178))); { const bool branch_taken = ctx.gpr[20] == aot_gpr_4; // nop @@ -3355,7 +3356,7 @@ L_088F5198: goto L_088F51A8; } L_088F51A8: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(104))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(104))); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(180))); { const bool branch_taken = ctx.gpr[20] == aot_gpr_4; // nop @@ -3370,14 +3371,14 @@ L_088F51B8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F51C0u) goto L_088F51C0; AOT_REGCACHE_SYNC_OUT(); return; L_088F51C0: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 120u); aot_gpr_31 = (0x088F51D0u); - ctx.gpr[6] = (0u | 100u); + aot_gpr_6 = (0u | 100u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0097_entry, 97u, 954u, 0x0898BB3Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F51D0u) goto L_088F51D0; AOT_REGCACHE_SYNC_OUT(); return; L_088F51D0: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(104))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(104))); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(154))); { const bool branch_taken = ctx.gpr[20] == aot_gpr_4; // nop @@ -3387,7 +3388,7 @@ L_088F51D0: goto L_088F51E0; } L_088F51E0: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(104))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(104))); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(152))); { const bool branch_taken = ctx.gpr[20] != aot_gpr_4; // nop @@ -3397,7 +3398,7 @@ L_088F51E0: goto L_088F51F0; } L_088F51F0: - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7080))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-7080))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -3413,7 +3414,7 @@ L_088F51FC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 16u, 0x08ADC120u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F520Cu) goto L_088F520C; AOT_REGCACHE_SYNC_OUT(); return; L_088F520C: - ctx.gpr[21] = (ctx.gpr[2] | 0u); + ctx.gpr[21] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[21] == 0u; // nop if (branch_taken) { @@ -3430,14 +3431,14 @@ L_088F5218: goto L_088F5224; L_088F5224: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[21] + static_cast(10)))))); - ctx.gpr[6] = (aot_gpr_29 + static_cast(16)); + aot_gpr_6 = (ctx.gpr[29] + static_cast(16)); aot_gpr_31 = (0x088F5234u); aot_gpr_4 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F5234u) goto L_088F5234; AOT_REGCACHE_SYNC_OUT(); return; L_088F5234: - aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast(96), ctx.gpr[2]); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(16))); + aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast(96), aot_gpr_2); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(16))); aot_mem.aot_direct_store8(ctx.gpr[21] + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(96))); goto L_088F5244; @@ -3454,7 +3455,7 @@ L_088F5244: goto L_088F525C; } L_088F525C: - { const bool branch_taken = aot_gpr_17 == 0u; + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_088F527C; @@ -3463,11 +3464,11 @@ L_088F525C: } L_088F5264: aot_gpr_31 = (0x088F526Cu); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 195u, 0x08910B38u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F526Cu) goto L_088F526C; AOT_REGCACHE_SYNC_OUT(); return; L_088F526C: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_088F527C; @@ -3476,7 +3477,7 @@ L_088F526C: } L_088F5274: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_088F5A0C; } @@ -3488,8 +3489,8 @@ L_088F527C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0059_entry, 59u, 589u, 0x088F2D04u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F5284u) goto L_088F5284; AOT_REGCACHE_SYNC_OUT(); return; L_088F5284: - ctx.gpr[21] = (ctx.gpr[2] | 0u); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(56))); + ctx.gpr[21] = (aot_gpr_2 | 0u); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(56))); aot_gpr_4 = (aot_gpr_4 + static_cast(-1)); aot_gpr_5 = (aot_gpr_4 < static_cast(16) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; @@ -3539,7 +3540,7 @@ L_088F52F8: aot_gpr_5 = (ctx.gpr[18] | 0u); goto L_088F74EC; L_088F5304: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_088F536C; @@ -3547,14 +3548,14 @@ L_088F5304: goto L_088F530C; } L_088F530C: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x088F531Cu); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 630u, 0x08947340u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F531Cu) goto L_088F531C; AOT_REGCACHE_SYNC_OUT(); return; L_088F531C: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_088F532C; @@ -3573,23 +3574,23 @@ L_088F532C: aot_gpr_4 = (2233u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-5184)); aot_gpr_4 = (ctx.gpr[23] + aot_gpr_4); - ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0))); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0))); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x088F534Cu); ctx.gpr[7] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0069_entry, 69u, 600u, 0x0891B7DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F534Cu) goto L_088F534C; AOT_REGCACHE_SYNC_OUT(); return; L_088F534C: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088F5358u); aot_gpr_5 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 51u, 0x089082A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F5358u) goto L_088F5358; AOT_REGCACHE_SYNC_OUT(); return; L_088F5358: - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(3256), static_cast(ctx.gpr[2])); - aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); - ctx.gpr[6] = (ctx.gpr[20] + static_cast(-342)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(3256), static_cast(aot_gpr_2)); + aot_gpr_4 = (aot_gpr_28 + static_cast(7768)); + aot_gpr_6 = (ctx.gpr[20] + static_cast(-342)); aot_gpr_31 = (0x088F536Cu); aot_gpr_5 = (0u | 77u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 553u, 0x08A062F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F536Cu) goto L_088F536C; @@ -3601,25 +3602,25 @@ L_088F536C: aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(172), aot_gpr_4); ctx.gpr[19] = (0u | 1u); aot_gpr_31 = (0x088F5388u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0059_entry, 59u, 472u, 0x088F23C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F5388u) goto L_088F5388; AOT_REGCACHE_SYNC_OUT(); return; L_088F5388: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7660))); aot_gpr_4 = (aot_gpr_4 + static_cast(5000)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(48), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(48), aot_gpr_4); aot_gpr_4 = (0u | 1u); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(57), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(57), static_cast(aot_gpr_4)); if (branch_taken) { goto L_088F53B4; } goto L_088F53A0; } L_088F53A0: - aot_gpr_4 = (ctx.gpr[28] + static_cast(-23096)); + aot_gpr_4 = (aot_gpr_28 + static_cast(-23096)); aot_gpr_5 = (0u + static_cast(-1)); - ctx.gpr[6] = (0u | 6000u); + aot_gpr_6 = (0u | 6000u); aot_gpr_31 = (0x088F53B4u); ctx.gpr[7] = (0u + static_cast(-1)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0090_entry, 90u, 399u, 0x0896D898u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F53B4u) goto L_088F53B4; @@ -3645,7 +3646,7 @@ L_088F53C4: aot_gpr_5 = (ctx.gpr[18] | 0u); goto L_088F74EC; L_088F53CC: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_088F557C; @@ -3653,14 +3654,14 @@ L_088F53CC: goto L_088F53D4; } L_088F53D4: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x088F53E4u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 630u, 0x08947340u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F53E4u) goto L_088F53E4; AOT_REGCACHE_SYNC_OUT(); return; L_088F53E4: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_088F53F4; @@ -3684,7 +3685,7 @@ L_088F53F4: goto L_088F53FC; } L_088F53FC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(44))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(44))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -3693,22 +3694,22 @@ L_088F53FC: goto L_088F5408; } L_088F5408: - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(44))); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(44))); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x088F541Cu); ctx.gpr[7] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0069_entry, 69u, 600u, 0x0891B7DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F541Cu) goto L_088F541C; AOT_REGCACHE_SYNC_OUT(); return; L_088F541C: - ctx.gpr[18] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(3256)))))); - aot_gpr_4 = (aot_gpr_17 | 0u); + ctx.gpr[18] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(3256)))))); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088F542Cu); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 51u, 0x089082A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F542Cu) goto L_088F542C; AOT_REGCACHE_SYNC_OUT(); return; L_088F542C: - { const bool branch_taken = ctx.gpr[18] != ctx.gpr[2]; + { const bool branch_taken = ctx.gpr[18] != aot_gpr_2; // nop if (branch_taken) { goto L_088F5444; @@ -3716,16 +3717,16 @@ L_088F542C: goto L_088F5434; } L_088F5434: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088F5440u); aot_gpr_5 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 51u, 0x089082A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F5440u) goto L_088F5440; AOT_REGCACHE_SYNC_OUT(); return; L_088F5440: - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(3256), static_cast(ctx.gpr[2])); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(3256), static_cast(aot_gpr_2)); goto L_088F5444; L_088F5444: - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7080))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-7080))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -3735,11 +3736,11 @@ L_088F5444: } L_088F5450: aot_gpr_31 = (0x088F5458u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 195u, 0x08910B38u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F5458u) goto L_088F5458; AOT_REGCACHE_SYNC_OUT(); return; L_088F5458: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088F550C; @@ -3748,7 +3749,7 @@ L_088F5458: } L_088F5460: aot_gpr_31 = (0x088F5468u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 84u, 0x0890850Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F5468u) goto L_088F5468; AOT_REGCACHE_SYNC_OUT(); return; L_088F5468: @@ -3760,7 +3761,7 @@ L_088F5468: goto L_088F5470; } L_088F5470: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(58)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(58)))))); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -3774,8 +3775,8 @@ L_088F5480: aot_gpr_5 = (2233u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(-5104)); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); - ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0))); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0))); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x088F54A4u); ctx.gpr[7] = (0u | 1u); @@ -3790,22 +3791,22 @@ L_088F54A4: goto L_088F54AC; } L_088F54AC: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[21] | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x088F54C0u); ctx.gpr[7] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0069_entry, 69u, 600u, 0x0891B7DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F54C0u) goto L_088F54C0; AOT_REGCACHE_SYNC_OUT(); return; L_088F54C0: - ctx.gpr[18] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(3256)))))); - aot_gpr_4 = (aot_gpr_17 | 0u); + ctx.gpr[18] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(3256)))))); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088F54D0u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 51u, 0x089082A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F54D0u) goto L_088F54D0; AOT_REGCACHE_SYNC_OUT(); return; L_088F54D0: - { const bool branch_taken = ctx.gpr[18] != ctx.gpr[2]; + { const bool branch_taken = ctx.gpr[18] != aot_gpr_2; // nop if (branch_taken) { goto L_088F54E8; @@ -3813,16 +3814,16 @@ L_088F54D0: goto L_088F54D8; } L_088F54D8: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088F54E4u); aot_gpr_5 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 51u, 0x089082A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F54E4u) goto L_088F54E4; AOT_REGCACHE_SYNC_OUT(); return; L_088F54E4: - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(3256), static_cast(ctx.gpr[2])); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(3256), static_cast(aot_gpr_2)); goto L_088F54E8; L_088F54E8: - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7080))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-7080))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -3832,11 +3833,11 @@ L_088F54E8: } L_088F54F4: aot_gpr_31 = (0x088F54FCu); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 195u, 0x08910B38u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F54FCu) goto L_088F54FC; AOT_REGCACHE_SYNC_OUT(); return; L_088F54FC: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088F550C; @@ -3845,12 +3846,12 @@ L_088F54FC: } L_088F5504: aot_gpr_31 = (0x088F550Cu); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 84u, 0x0890850Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F550Cu) goto L_088F550C; AOT_REGCACHE_SYNC_OUT(); return; L_088F550C: - aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); - ctx.gpr[6] = (ctx.gpr[20] + static_cast(-342)); + aot_gpr_4 = (aot_gpr_28 + static_cast(7768)); + aot_gpr_6 = (ctx.gpr[20] + static_cast(-342)); aot_gpr_31 = (0x088F551Cu); aot_gpr_5 = (0u | 78u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 553u, 0x08A062F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F551Cu) goto L_088F551C; @@ -3864,7 +3865,7 @@ L_088F551C: goto L_088F5524; } L_088F5524: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(104))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(104))); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(172))); { const bool branch_taken = ctx.gpr[20] != aot_gpr_4; // nop @@ -3882,22 +3883,22 @@ L_088F5534: goto L_088F553C; } L_088F553C: - aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); + aot_gpr_4 = (aot_gpr_28 + static_cast(7768)); aot_gpr_5 = (0u | 84u); aot_gpr_31 = (0x088F554Cu); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 553u, 0x08A062F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F554Cu) goto L_088F554C; AOT_REGCACHE_SYNC_OUT(); return; L_088F554C: aot_gpr_4 = (0u | 1u); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(8692), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(8692), static_cast(aot_gpr_4)); aot_gpr_31 = (0x088F555Cu); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F555Cu) goto L_088F555C; AOT_REGCACHE_SYNC_OUT(); return; L_088F555C: - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8696), ctx.gpr[2]); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(32))); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(8696), aot_gpr_2); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(32))); aot_gpr_4 = (aot_gpr_4 + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; @@ -3908,16 +3909,16 @@ L_088F555C: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_4 = (ctx.gpr[28] + static_cast(8704)); + aot_gpr_4 = (aot_gpr_28 + static_cast(8704)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8720), aot_gpr_4); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7660))); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(8720), aot_gpr_4); goto L_088F557C; L_088F557C: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(56))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(56))); aot_gpr_5 = (static_cast(aot_gpr_4) < 3 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_5 = (0u | 11u); @@ -3936,9 +3937,9 @@ L_088F558C: goto L_088F5598; } L_088F5598: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7660))); aot_gpr_4 = (aot_gpr_4 + static_cast(30000)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(48), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(48), aot_gpr_4); { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { @@ -3955,7 +3956,7 @@ L_088F55AC: goto L_088F55B4; } L_088F55B4: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(104))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(104))); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(166))); { const bool branch_taken = ctx.gpr[20] != aot_gpr_4; // nop @@ -3965,23 +3966,23 @@ L_088F55B4: goto L_088F55C4; } L_088F55C4: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7660))); aot_gpr_5 = (5u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(-27680)); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(48), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(48), aot_gpr_4); if (branch_taken) { goto L_088F55F0; } goto L_088F55DC; } L_088F55DC: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7660))); aot_gpr_5 = (5u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(32320)); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(48), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(48), aot_gpr_4); goto L_088F55F0; L_088F55F0: { const bool branch_taken = 0u == 0u; @@ -3994,12 +3995,12 @@ L_088F55F0: L_088F55F8: ctx.gpr[19] = (0u | 1u); aot_gpr_31 = (0x088F5604u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0059_entry, 59u, 472u, 0x088F23C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F5604u) goto L_088F5604; AOT_REGCACHE_SYNC_OUT(); return; L_088F5604: aot_gpr_4 = (0u | 1u); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(57), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(57), static_cast(aot_gpr_4)); { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { @@ -4021,7 +4022,7 @@ L_088F561C: aot_gpr_5 = (ctx.gpr[18] | 0u); goto L_088F74EC; L_088F5628: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_088F56FC; @@ -4029,14 +4030,14 @@ L_088F5628: goto L_088F5630; } L_088F5630: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x088F5640u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 630u, 0x08947340u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F5640u) goto L_088F5640; AOT_REGCACHE_SYNC_OUT(); return; L_088F5640: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_088F565C; @@ -4044,9 +4045,9 @@ L_088F5640: goto L_088F5648; } L_088F5648: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x088F5654u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0059_entry, 59u, 483u, 0x088F2464u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F5654u) goto L_088F5654; AOT_REGCACHE_SYNC_OUT(); return; L_088F5654: @@ -4066,7 +4067,7 @@ L_088F565C: goto L_088F5664; } L_088F5664: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(44))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(44))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -4075,8 +4076,8 @@ L_088F5664: goto L_088F5670; } L_088F5670: - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(44))); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(44))); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x088F5684u); ctx.gpr[7] = (0u | 1u); @@ -4091,7 +4092,7 @@ L_088F5684: goto L_088F568C; } L_088F568C: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(58)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(58)))))); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -4101,9 +4102,9 @@ L_088F568C: goto L_088F569C; } L_088F569C: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[21] | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x088F56B0u); ctx.gpr[7] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0069_entry, 69u, 600u, 0x0891B7DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F56B0u) goto L_088F56B0; @@ -4121,15 +4122,15 @@ L_088F56B8: aot_gpr_5 = (2233u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(-5184)); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); - ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0))); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0))); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x088F56DCu); ctx.gpr[7] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0069_entry, 69u, 600u, 0x0891B7DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F56DCu) goto L_088F56DC; AOT_REGCACHE_SYNC_OUT(); return; L_088F56DC: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(104))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(104))); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(176))); { const bool branch_taken = ctx.gpr[20] == aot_gpr_4; // nop @@ -4139,8 +4140,8 @@ L_088F56DC: goto L_088F56EC; } L_088F56EC: - aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); - ctx.gpr[6] = (ctx.gpr[20] + static_cast(-342)); + aot_gpr_4 = (aot_gpr_28 + static_cast(7768)); + aot_gpr_6 = (ctx.gpr[20] + static_cast(-342)); aot_gpr_31 = (0x088F56FCu); aot_gpr_5 = (0u | 78u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 553u, 0x08A062F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F56FCu) goto L_088F56FC; @@ -4148,14 +4149,14 @@ L_088F56EC: L_088F56FC: ctx.gpr[19] = (0u | 1u); aot_gpr_31 = (0x088F5708u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0059_entry, 59u, 472u, 0x088F23C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F5708u) goto L_088F5708; AOT_REGCACHE_SYNC_OUT(); return; L_088F5708: aot_gpr_4 = (0u | 1u); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(57), static_cast(aot_gpr_4)); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(56), static_cast(0u)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7080))); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(57), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(56), static_cast(0u)); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-7080))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -4164,7 +4165,7 @@ L_088F5708: goto L_088F5720; } L_088F5720: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(40))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(40))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -4173,7 +4174,7 @@ L_088F5720: goto L_088F572C; } L_088F572C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(40))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(40))); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(3)))))); aot_gpr_5 = (2237u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(-28736)); @@ -4188,7 +4189,7 @@ L_088F572C: } L_088F574C: aot_gpr_31 = (0x088F5754u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(40))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(40))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0129_entry, 129u, 373u, 0x08A0A6A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F5754u) goto L_088F5754; AOT_REGCACHE_SYNC_OUT(); return; L_088F5754: @@ -4217,34 +4218,34 @@ L_088F5764: aot_gpr_5 = (aot_gpr_5 + static_cast(-6992)); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(172))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(44))); - aot_gpr_5 = (aot_gpr_5 + ctx.gpr[6]); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(44))); + aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(172), aot_gpr_5); aot_gpr_4 = (2238u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(14304)); - aot_gpr_5 = (ctx.gpr[28] + static_cast(-23088)); + aot_gpr_5 = (aot_gpr_28 + static_cast(-23088)); aot_gpr_31 = (0x088F57A8u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(44))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(44))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0212_entry, 212u, 576u, 0x08B562D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F57A8u) goto L_088F57A8; AOT_REGCACHE_SYNC_OUT(); return; L_088F57A8: ctx.gpr[19] = (0u | 1u); aot_gpr_31 = (0x088F57B4u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0059_entry, 59u, 472u, 0x088F23C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F57B4u) goto L_088F57B4; AOT_REGCACHE_SYNC_OUT(); return; L_088F57B4: aot_gpr_4 = (0u | 1u); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(57), static_cast(aot_gpr_4)); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(56), static_cast(0u)); - aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(57), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(56), static_cast(0u)); + aot_gpr_4 = (aot_gpr_28 + static_cast(7768)); aot_gpr_5 = (0u | 85u); aot_gpr_31 = (0x088F57D0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 553u, 0x08A062F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F57D0u) goto L_088F57D0; AOT_REGCACHE_SYNC_OUT(); return; L_088F57D0: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088F57DCu); aot_gpr_5 = (0u | 121u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 16u, 0x08860424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F57DCu) goto L_088F57DC; @@ -4274,7 +4275,7 @@ L_088F57EC: goto L_088F57F4; } L_088F57F4: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23120))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-23120))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -4288,7 +4289,7 @@ L_088F5800: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 617u, 0x088634F8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F5808u) goto L_088F5808; AOT_REGCACHE_SYNC_OUT(); return; L_088F5808: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088F5884; @@ -4296,9 +4297,9 @@ L_088F5808: goto L_088F5810; } L_088F5810: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5848))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5848))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); goto L_088F5828; } goto L_088F581C; @@ -4308,48 +4309,48 @@ L_088F581C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 351u, 0x08B657E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F5824u) goto L_088F5824; AOT_REGCACHE_SYNC_OUT(); return; L_088F5824: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); goto L_088F5828; L_088F5828: { const bool branch_taken = aot_gpr_4 != 0u; - ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5848))); + ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5848))); if (branch_taken) { goto L_088F5858; } goto L_088F5830; } L_088F5830: - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); aot_gpr_31 = (0x088F583Cu); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F583Cu) goto L_088F583C; AOT_REGCACHE_SYNC_OUT(); return; L_088F583C: - aot_gpr_17 = (ctx.gpr[2] | 0u); - if (aot_gpr_17 == 0u) { - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); + ctx.gpr[17] = (aot_gpr_2 | 0u); + if (ctx.gpr[17] == 0u) { + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[16]); goto L_088F5858; } goto L_088F5848; L_088F5848: aot_gpr_31 = (0x088F5850u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F5850u) goto L_088F5850; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F5850u) goto L_088F5850; AOT_REGCACHE_SYNC_OUT(); return; L_088F5850: - aot_gpr_16 = (aot_gpr_17 | 0u); - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); + ctx.gpr[16] = (ctx.gpr[17] | 0u); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[16]); goto L_088F5858; L_088F5858: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); aot_gpr_31 = (0x088F5864u); - aot_gpr_5 = (ctx.gpr[28] + static_cast(-23084)); + aot_gpr_5 = (aot_gpr_28 + static_cast(-23084)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F5864u) goto L_088F5864; AOT_REGCACHE_SYNC_OUT(); return; L_088F5864: aot_gpr_4 = (ctx.gpr[18] | 0u); - aot_gpr_5 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_5 = (aot_gpr_2 | 0u); + aot_gpr_6 = (0u | 1u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x088F587Cu); ctx.gpr[8] = (0u | 1u); @@ -4364,18 +4365,18 @@ L_088F587C: goto L_088F5884; } L_088F5884: - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7800))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(7800))); aot_gpr_5 = (aot_gpr_4 << 8u); - ctx.gpr[6] = (aot_gpr_4 + aot_gpr_4); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_6 = (aot_gpr_4 + aot_gpr_4); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); aot_gpr_4 = (aot_gpr_4 << 5u); aot_gpr_5 = (aot_gpr_5 + aot_gpr_4); aot_gpr_4 = (2238u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-6992)); aot_gpr_5 = (aot_gpr_5 + aot_gpr_4); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(172))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(44))); - aot_gpr_5 = (aot_gpr_5 < ctx.gpr[6] ? 1u : 0u); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(44))); + aot_gpr_5 = (aot_gpr_5 < aot_gpr_6 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 != 0u; // nop if (branch_taken) { @@ -4384,20 +4385,20 @@ L_088F5884: goto L_088F58BC; } L_088F58BC: - aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7800))); - ctx.gpr[6] = (aot_gpr_5 << 8u); + aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(7800))); + aot_gpr_6 = (aot_gpr_5 << 8u); ctx.gpr[7] = (aot_gpr_5 + aot_gpr_5); aot_gpr_5 = (aot_gpr_5 + ctx.gpr[7]); aot_gpr_5 = (aot_gpr_5 << 5u); - aot_gpr_5 = (ctx.gpr[6] + aot_gpr_5); + aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(172))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(44))); - aot_gpr_5 = (aot_gpr_5 - ctx.gpr[6]); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(44))); + aot_gpr_5 = (aot_gpr_5 - aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(172), aot_gpr_5); - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5848))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5848))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5848))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5848))); goto L_088F5900; } goto L_088F58F4; @@ -4407,11 +4408,11 @@ L_088F58F4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 351u, 0x08B657E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F58FCu) goto L_088F58FC; AOT_REGCACHE_SYNC_OUT(); return; L_088F58FC: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5848))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5848))); goto L_088F5900; L_088F5900: aot_gpr_5 = (0u | 0u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x088F5914u); ctx.gpr[8] = (0u | 1u); @@ -4420,23 +4421,23 @@ L_088F5900: L_088F5914: ctx.gpr[19] = (0u | 1u); aot_gpr_31 = (0x088F5920u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0059_entry, 59u, 472u, 0x088F23C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F5920u) goto L_088F5920; AOT_REGCACHE_SYNC_OUT(); return; L_088F5920: aot_gpr_4 = (0u | 1u); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(57), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(57), static_cast(aot_gpr_4)); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(56), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(56), static_cast(0u)); if (branch_taken) { goto L_088F599C; } goto L_088F5930; } L_088F5930: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5848))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5848))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); goto L_088F5948; } goto L_088F593C; @@ -4446,48 +4447,48 @@ L_088F593C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 351u, 0x08B657E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F5944u) goto L_088F5944; AOT_REGCACHE_SYNC_OUT(); return; L_088F5944: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); goto L_088F5948; L_088F5948: { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5848))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5848))); if (branch_taken) { goto L_088F5978; } goto L_088F5950; } L_088F5950: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_31 = (0x088F595Cu); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F595Cu) goto L_088F595C; AOT_REGCACHE_SYNC_OUT(); return; L_088F595C: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); if (ctx.gpr[18] == 0u) { - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); goto L_088F5978; } goto L_088F5968; L_088F5968: aot_gpr_31 = (0x088F5970u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F5970u) goto L_088F5970; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F5970u) goto L_088F5970; AOT_REGCACHE_SYNC_OUT(); return; L_088F5970: - aot_gpr_17 = (ctx.gpr[18] | 0u); - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_17); + ctx.gpr[17] = (ctx.gpr[18] | 0u); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); goto L_088F5978; L_088F5978: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); aot_gpr_31 = (0x088F5984u); - aot_gpr_5 = (ctx.gpr[28] + static_cast(-23076)); + aot_gpr_5 = (aot_gpr_28 + static_cast(-23076)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F5984u) goto L_088F5984; AOT_REGCACHE_SYNC_OUT(); return; L_088F5984: - aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_4 = (ctx.gpr[16] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); + aot_gpr_6 = (0u | 1u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x088F599Cu); ctx.gpr[8] = (0u | 1u); @@ -4502,7 +4503,7 @@ L_088F599C: goto L_088F59A4; } L_088F59A4: - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7080))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-7080))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -4511,17 +4512,17 @@ L_088F59A4: goto L_088F59B0; } L_088F59B0: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(44), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(44), 0u); ctx.gpr[19] = (0u | 1u); aot_gpr_31 = (0x088F59C0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0059_entry, 59u, 472u, 0x088F23C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F59C0u) goto L_088F59C0; AOT_REGCACHE_SYNC_OUT(); return; L_088F59C0: aot_gpr_4 = (0u | 1u); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(57), static_cast(aot_gpr_4)); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(56), static_cast(0u)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(40))); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(57), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(56), static_cast(0u)); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(40))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -4530,7 +4531,7 @@ L_088F59C0: goto L_088F59D8; } L_088F59D8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(40))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(40))); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(3)))))); aot_gpr_5 = (2237u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(-28736)); @@ -4545,7 +4546,7 @@ L_088F59D8: } L_088F59F8: aot_gpr_31 = (0x088F5A00u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(40))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(40))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0129_entry, 129u, 373u, 0x08A0A6A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F5A00u) goto L_088F5A00; AOT_REGCACHE_SYNC_OUT(); return; L_088F5A00: @@ -4557,13 +4558,13 @@ L_088F5A00: goto L_088F5A08; } L_088F5A08: - ctx.gpr[2] = (ctx.gpr[19] | 0u); + aot_gpr_2 = (ctx.gpr[19] | 0u); goto L_088F5A0C; L_088F5A0C: { std::uint32_t aot_run_words[10]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(20), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(20), aot_run_words); + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -4574,32 +4575,32 @@ L_088F5A0C: aot_gpr_31 = aot_run_words[9]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(64)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(64)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_088F5A3C: - aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - { const std::uint32_t aot_run_words[8]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_31}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(4), aot_run_words); } - ctx.gpr[18] = (ctx.gpr[6] & 255u); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-48)); + { const std::uint32_t aot_run_words[8]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_31}; + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(4), aot_run_words); } + ctx.gpr[18] = (aot_gpr_6 & 255u); ctx.gpr[19] = (ctx.gpr[9] & 255u); ctx.gpr[20] = (aot_gpr_4 | 0u); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7080))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-7080))); ctx.gpr[21] = (0u + static_cast(-1)); - aot_gpr_16 = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_17 = (ctx.gpr[7] | 0u); + ctx.gpr[17] = (ctx.gpr[7] | 0u); if (branch_taken) { goto L_088F5A98; } goto L_088F5A80; } L_088F5A80: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(104))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(104))); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(132))); - { const bool branch_taken = aot_gpr_16 != aot_gpr_4; + { const bool branch_taken = ctx.gpr[16] != aot_gpr_4; // nop if (branch_taken) { goto L_088F5A98; @@ -4613,11 +4614,11 @@ L_088F5A90: AOT_REGCACHE_SYNC_OUT(); return; L_088F5A98: aot_gpr_31 = (0x088F5AA0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15960))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-15960))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0217_entry, 217u, 337u, 0x08B6A2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F5AA0u) goto L_088F5AA0; AOT_REGCACHE_SYNC_OUT(); return; L_088F5AA0: - aot_gpr_4 = (static_cast(ctx.gpr[2]) < 8 ? 1u : 0u); + aot_gpr_4 = (static_cast(aot_gpr_2) < 8 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -4645,7 +4646,7 @@ L_088F5ABC: } L_088F5AC4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (ctx.gpr[21] | 0u); + aot_gpr_2 = (ctx.gpr[21] | 0u); if (branch_taken) { goto L_088F5D70; } @@ -4674,8 +4675,8 @@ L_088F5AE4: goto L_088F5AEC; } L_088F5AEC: - ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(56))); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(56))); + { const bool branch_taken = aot_gpr_6 == 0u; // nop if (branch_taken) { goto L_088F5B08; @@ -4713,8 +4714,8 @@ L_088F5B14: } L_088F5B1C: ctx.gpr[22] = (0u | 0u); - ctx.gpr[6] = (2246u << 16u); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(31024)); + aot_gpr_6 = (2246u << 16u); + aot_gpr_6 = (aot_gpr_6 + static_cast(31024)); aot_gpr_5 = (0u | 1u); goto L_088F5B2C; L_088F5B2C: @@ -4726,7 +4727,7 @@ L_088F5B2C: goto L_088F5B34; } L_088F5B34: - ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[6] + static_cast(56))); + ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_6 + static_cast(56))); { const bool branch_taken = ctx.gpr[7] == 0u; // nop if (branch_taken) { @@ -4736,7 +4737,7 @@ L_088F5B34: } L_088F5B40: ctx.gpr[22] = (ctx.gpr[22] + static_cast(1)); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(64)); + aot_gpr_6 = (aot_gpr_6 + static_cast(64)); { const bool branch_taken = 0u == 0u; aot_gpr_5 = (static_cast(ctx.gpr[22]) < 320 ? 1u : 0u); if (branch_taken) { @@ -4768,7 +4769,7 @@ L_088F5B64: ctx.gpr[7] = (2246u << 16u); ctx.gpr[7] = (ctx.gpr[7] + static_cast(31024)); aot_gpr_4 = (0u | 8u); - ctx.gpr[6] = (ctx.gpr[7] | 0u); + aot_gpr_6 = (ctx.gpr[7] | 0u); aot_gpr_5 = (0u | 1u); goto L_088F5B7C; L_088F5B7C: @@ -4780,7 +4781,7 @@ L_088F5B7C: goto L_088F5B84; } L_088F5B84: - ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[6] + static_cast(56))); + ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_6 + static_cast(56))); { const bool branch_taken = ctx.gpr[8] == aot_gpr_4; // nop if (branch_taken) { @@ -4790,7 +4791,7 @@ L_088F5B84: } L_088F5B90: ctx.gpr[22] = (ctx.gpr[22] + static_cast(1)); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(64)); + aot_gpr_6 = (aot_gpr_6 + static_cast(64)); { const bool branch_taken = 0u == 0u; aot_gpr_5 = (static_cast(ctx.gpr[22]) < 320 ? 1u : 0u); if (branch_taken) { @@ -4808,7 +4809,7 @@ L_088F5BA0: } L_088F5BA8: ctx.gpr[22] = (0u | 0u); - ctx.gpr[6] = (0u | 4u); + aot_gpr_6 = (0u | 4u); aot_gpr_5 = (0u | 5u); aot_gpr_4 = (0u | 1u); goto L_088F5BB8; @@ -4822,7 +4823,7 @@ L_088F5BB8: } L_088F5BC0: ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[7] + static_cast(56))); - { const bool branch_taken = ctx.gpr[8] == ctx.gpr[6]; + { const bool branch_taken = ctx.gpr[8] == aot_gpr_6; // nop if (branch_taken) { goto L_088F5BE8; @@ -4859,7 +4860,7 @@ L_088F5BE8: L_088F5BF0: aot_gpr_4 = (static_cast(ctx.gpr[22]) < 336 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; - ctx.gpr[6] = (ctx.gpr[19] | 0u); + aot_gpr_6 = (ctx.gpr[19] | 0u); if (branch_taken) { goto L_088F5C68; } @@ -4872,22 +4873,22 @@ L_088F5BFC: ctx.gpr[19] = (aot_gpr_4 + aot_gpr_5); aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(56), static_cast(ctx.gpr[18])); aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(57), static_cast(0u)); - aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(44), aot_gpr_17); - ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); + aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(44), ctx.gpr[17]); + ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7660))); aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(48), ctx.gpr[7]); ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[19] + static_cast(58)))))); ctx.gpr[8] = (0u + static_cast(-2)); ctx.gpr[7] = (ctx.gpr[7] & ctx.gpr[8]); - ctx.gpr[6] = (ctx.gpr[6] & 1u); - ctx.gpr[6] = (ctx.gpr[7] | ctx.gpr[6]); - aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(58), static_cast(ctx.gpr[6])); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[19] + static_cast(58)))))); + aot_gpr_6 = (aot_gpr_6 & 1u); + aot_gpr_6 = (ctx.gpr[7] | aot_gpr_6); + aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(58), static_cast(aot_gpr_6)); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[19] + static_cast(58)))))); ctx.gpr[7] = (0u + static_cast(-3)); - ctx.gpr[6] = (ctx.gpr[6] & ctx.gpr[7]); - aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(58), static_cast(ctx.gpr[6])); + aot_gpr_6 = (aot_gpr_6 & ctx.gpr[7]); + aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(58), static_cast(aot_gpr_6)); aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(60), static_cast(ctx.gpr[21])); ctx.gpr[9] = (0u | 16u); - ctx.gpr[6] = (0u | 8u); + aot_gpr_6 = (0u | 8u); ctx.gpr[7] = (0u | 4u); { const bool branch_taken = ctx.gpr[18] == ctx.gpr[9]; ctx.gpr[8] = (0u | 5u); @@ -4906,7 +4907,7 @@ L_088F5C60: } L_088F5C68: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (ctx.gpr[21] | 0u); + aot_gpr_2 = (ctx.gpr[21] | 0u); if (branch_taken) { goto L_088F5D70; } @@ -4914,20 +4915,20 @@ L_088F5C68: } L_088F5C70: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (ctx.gpr[21] | 0u); + aot_gpr_2 = (ctx.gpr[21] | 0u); if (branch_taken) { goto L_088F5D70; } goto L_088F5C78; } L_088F5C78: - ctx.gpr[9] = (aot_gpr_17 << 3u); + ctx.gpr[9] = (ctx.gpr[17] << 3u); ctx.gpr[10] = (0u + ctx.gpr[9]); ctx.gpr[9] = (ctx.gpr[9] << 2u); ctx.gpr[10] = (ctx.gpr[10] - ctx.gpr[9]); ctx.gpr[9] = (ctx.gpr[9] << 5u); ctx.gpr[9] = (ctx.gpr[10] + ctx.gpr[9]); - ctx.gpr[10] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); + ctx.gpr[10] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7660))); ctx.gpr[9] = (ctx.gpr[10] + ctx.gpr[9]); aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(48), ctx.gpr[9]); goto L_088F5C9C; @@ -4940,7 +4941,7 @@ L_088F5C9C: goto L_088F5CA4; } L_088F5CA4: - ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7660))); ctx.gpr[7] = (ctx.gpr[7] + static_cast(20000)); aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(48), ctx.gpr[7]); goto L_088F5CB0; @@ -4953,14 +4954,14 @@ L_088F5CB0: goto L_088F5CB8; } L_088F5CB8: - ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7660))); ctx.gpr[8] = (2u << 16u); ctx.gpr[8] = (ctx.gpr[8] + static_cast(-11072)); ctx.gpr[7] = (ctx.gpr[7] + ctx.gpr[8]); aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(48), ctx.gpr[7]); goto L_088F5CCC; L_088F5CCC: - { const bool branch_taken = ctx.gpr[18] != ctx.gpr[6]; + { const bool branch_taken = ctx.gpr[18] != aot_gpr_6; // nop if (branch_taken) { goto L_088F5CE0; @@ -4968,12 +4969,12 @@ L_088F5CCC: goto L_088F5CD4; } L_088F5CD4: - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(22000)); - aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(48), ctx.gpr[6]); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7660))); + aot_gpr_6 = (aot_gpr_6 + static_cast(22000)); + aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(48), aot_gpr_6); goto L_088F5CE0; L_088F5CE0: - aot_mem.aot_direct_store16(ctx.gpr[19] + static_cast(52), static_cast(aot_gpr_16)); + aot_mem.aot_direct_store16(ctx.gpr[19] + static_cast(52), static_cast(ctx.gpr[16])); { const std::uint32_t vfpu_address = ctx.gpr[20] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -4987,10 +4988,10 @@ L_088F5CE0: const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - ctx.gpr[6] = (aot_gpr_5 + static_cast(32)); - ctx.gpr[7] = (aot_gpr_4 + ctx.gpr[6]); - ctx.gpr[6] = (aot_gpr_5 + static_cast(36)); - ctx.gpr[6] = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_6 = (aot_gpr_5 + static_cast(32)); + ctx.gpr[7] = (aot_gpr_4 + aot_gpr_6); + aot_gpr_6 = (aot_gpr_5 + static_cast(36)); + aot_gpr_6 = (aot_gpr_4 + aot_gpr_6); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (ctx.gpr[7] | 0u); ctx.gpr[7] = (0u + static_cast(-1)); @@ -5026,7 +5027,7 @@ L_088F5D30: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 224u, 0x08891A2Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F5D38u) goto L_088F5D38; AOT_REGCACHE_SYNC_OUT(); return; L_088F5D38: - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7080))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-7080))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -5035,9 +5036,9 @@ L_088F5D38: goto L_088F5D44; } L_088F5D44: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(104))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(104))); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(132))); - { const bool branch_taken = aot_gpr_16 != aot_gpr_4; + { const bool branch_taken = ctx.gpr[16] != aot_gpr_4; // nop if (branch_taken) { goto L_088F5D68; @@ -5069,9 +5070,9 @@ L_088F5D68: AOT_REGCACHE_SYNC_OUT(); return; L_088F5D70: { std::uint32_t aot_run_words[8]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(4), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(4), aot_run_words); + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -5080,17 +5081,17 @@ L_088F5D70: aot_gpr_31 = aot_run_words[7]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(48)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(48)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_088F5D98: - aot_gpr_29 = (aot_gpr_29 + static_cast(-592)); - { const std::uint32_t aot_run_words[16]{std::bit_cast(ctx.fpr[20]), std::bit_cast(aot_fpr_22), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(520), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_17 = (0u | 0u); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-592)); + { const std::uint32_t aot_run_words[16]{std::bit_cast(ctx.fpr[20]), std::bit_cast(aot_fpr_22), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(520), aot_run_words); } + ctx.gpr[16] = (aot_gpr_4 | 0u); + ctx.gpr[17] = (0u | 0u); ctx.gpr[18] = (0u | 1u); ctx.gpr[19] = (0u | 0u); aot_gpr_31 = (0x088F5DF4u); @@ -5098,7 +5099,7 @@ L_088F5D98: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0059_entry, 59u, 693u, 0x088F3880u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F5DF4u) goto L_088F5DF4; AOT_REGCACHE_SYNC_OUT(); return; L_088F5DF4: - ctx.gpr[20] = (ctx.gpr[2] | 0u); + ctx.gpr[20] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[20] == 0u; // nop if (branch_taken) { @@ -5107,8 +5108,8 @@ L_088F5DF4: goto L_088F5E00; } L_088F5E00: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(104))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(86)))))); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(104))); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(168))); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -5119,7 +5120,7 @@ L_088F5E00: } L_088F5E14: { const bool branch_taken = 0u == 0u; - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(86)))))); if (branch_taken) { goto L_088F5E24; } @@ -5134,7 +5135,7 @@ L_088F5E1C: goto L_088F5E24; } L_088F5E24: - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(104))); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(104))); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(170))); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -5149,7 +5150,7 @@ L_088F5E34: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 617u, 0x088634F8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F5E3Cu) goto L_088F5E3C; AOT_REGCACHE_SYNC_OUT(); return; L_088F5E3C: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_088F5E54; @@ -5162,7 +5163,7 @@ L_088F5E44: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 562u, 0x08A363C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F5E4Cu) goto L_088F5E4C; AOT_REGCACHE_SYNC_OUT(); return; L_088F5E4C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088F5E64; @@ -5170,23 +5171,23 @@ L_088F5E4C: goto L_088F5E54; } L_088F5E54: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(76))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(76))); aot_gpr_4 = (aot_gpr_4 | 64u); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(76), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(76), aot_gpr_4); if (branch_taken) { goto L_088F5E74; } goto L_088F5E64; } L_088F5E64: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(76))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(76))); aot_gpr_5 = (0u + static_cast(-65)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(76), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(76), aot_gpr_4); goto L_088F5E74; L_088F5E74: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(76))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(76))); aot_gpr_4 = (aot_gpr_4 & 64u); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -5196,10 +5197,10 @@ L_088F5E74: goto L_088F5E84; } L_088F5E84: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(104))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(86)))))); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(104))); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(156))); - ctx.gpr[21] = (aot_gpr_29 + static_cast(32)); + ctx.gpr[21] = (ctx.gpr[29] + static_cast(32)); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; aot_fpr_22 = std::bit_cast(0u); if (branch_taken) { @@ -5209,7 +5210,7 @@ L_088F5E84: } L_088F5E9C: { const bool branch_taken = 0u == 0u; - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(86)))))); if (branch_taken) { goto L_088F5EAC; } @@ -5224,7 +5225,7 @@ L_088F5EA4: goto L_088F5EAC; } L_088F5EAC: - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(104))); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(104))); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(172))); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -5236,15 +5237,15 @@ L_088F5EAC: L_088F5EBC: ctx.gpr[18] = (0u | 0u); { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (0u | 40u); + ctx.gpr[17] = (0u | 40u); if (branch_taken) { goto L_088F6104; } goto L_088F5EC8; } L_088F5EC8: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(104))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(86)))))); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(104))); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(158))); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -5255,15 +5256,15 @@ L_088F5EC8: } L_088F5EDC: { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (0u | 41u); + ctx.gpr[17] = (0u | 41u); if (branch_taken) { goto L_088F6104; } goto L_088F5EE4; } L_088F5EE4: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(104))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(86)))))); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(104))); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(166))); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -5282,8 +5283,8 @@ L_088F5EF8: goto L_088F5F04; } L_088F5F04: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(104))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(86)))))); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(104))); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(160))); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -5293,8 +5294,8 @@ L_088F5F04: goto L_088F5F18; } L_088F5F18: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(104))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(86)))))); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(104))); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(168))); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -5304,8 +5305,8 @@ L_088F5F18: goto L_088F5F2C; } L_088F5F2C: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(104))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(86)))))); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(104))); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(170))); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -5324,8 +5325,8 @@ L_088F5F40: goto L_088F5F4C; } L_088F5F4C: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(104))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(86)))))); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(104))); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(162))); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -5335,8 +5336,8 @@ L_088F5F4C: goto L_088F5F60; } L_088F5F60: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(104))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(86)))))); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(104))); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(164))); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -5349,15 +5350,15 @@ L_088F5F74: ctx.gpr[18] = (0u | 0u); ctx.gpr[19] = (0u | 1u); { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (0u | 40u); + ctx.gpr[17] = (0u | 40u); if (branch_taken) { goto L_088F6104; } goto L_088F5F84; } L_088F5F84: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(104))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(86)))))); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(104))); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(178))); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -5376,8 +5377,8 @@ L_088F5F98: goto L_088F5FA4; } L_088F5FA4: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(104))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(86)))))); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(104))); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(180))); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -5396,8 +5397,8 @@ L_088F5FB8: goto L_088F5FC4; } L_088F5FC4: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(104))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(86)))))); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(104))); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(174))); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -5416,8 +5417,8 @@ L_088F5FD8: goto L_088F5FE4; } L_088F5FE4: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(104))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(86)))))); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(104))); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(176))); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -5436,8 +5437,8 @@ L_088F5FF8: goto L_088F6004; } L_088F6004: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(104))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(86)))))); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(104))); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(182))); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -5450,15 +5451,15 @@ L_088F6018: ctx.gpr[18] = (0u | 0u); ctx.gpr[19] = (0u | 1u); { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (0u | 40u); + ctx.gpr[17] = (0u | 40u); if (branch_taken) { goto L_088F6104; } goto L_088F6028; } L_088F6028: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(104))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(86)))))); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(104))); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(146))); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -5471,15 +5472,15 @@ L_088F603C: ctx.gpr[18] = (0u | 0u); ctx.gpr[19] = (0u | 1u); { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (0u | 40u); + ctx.gpr[17] = (0u | 40u); if (branch_taken) { goto L_088F6104; } goto L_088F604C; } L_088F604C: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(104))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(86)))))); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(104))); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(148))); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -5492,15 +5493,15 @@ L_088F6060: ctx.gpr[18] = (0u | 0u); ctx.gpr[19] = (0u | 1u); { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (0u | 40u); + ctx.gpr[17] = (0u | 40u); if (branch_taken) { goto L_088F6104; } goto L_088F6070; } L_088F6070: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(104))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(86)))))); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(104))); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(150))); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -5513,15 +5514,15 @@ L_088F6084: ctx.gpr[18] = (0u | 0u); ctx.gpr[19] = (0u | 1u); { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (0u | 40u); + ctx.gpr[17] = (0u | 40u); if (branch_taken) { goto L_088F6104; } goto L_088F6094; } L_088F6094: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(104))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(86)))))); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(104))); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(132))); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -5540,8 +5541,8 @@ L_088F60A8: goto L_088F60B4; } L_088F60B4: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(104))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(86)))))); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(104))); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(152))); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -5560,8 +5561,8 @@ L_088F60C8: goto L_088F60D4; } L_088F60D4: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(104))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(86)))))); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(104))); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(154))); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -5581,12 +5582,12 @@ L_088F60E8: } L_088F60F4: aot_gpr_31 = (0x088F60FCu); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(86)))))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0059_entry, 59u, 589u, 0x088F2D04u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F60FCu) goto L_088F60FC; AOT_REGCACHE_SYNC_OUT(); return; L_088F60FC: - aot_gpr_17 = (ctx.gpr[2] << 16u); - aot_gpr_17 = (static_cast(static_cast(aot_gpr_17) >> 16u)); + ctx.gpr[17] = (aot_gpr_2 << 16u); + ctx.gpr[17] = (static_cast(static_cast(ctx.gpr[17]) >> 16u)); goto L_088F6104; L_088F6104: { const std::uint32_t vfpu_address = ctx.gpr[20] + static_cast(0); @@ -5610,14 +5611,14 @@ L_088F6104: goto L_088F6114; } L_088F6114: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7660))); ctx.gpr[22] = (aot_gpr_4 >> 9u); ctx.gpr[22] = (ctx.gpr[22] & 7u); aot_gpr_4 = (static_cast(ctx.gpr[22]) < 3 ? 1u : 0u); aot_gpr_5 = (17026u << 16u); ctx.fpr[20] = std::bit_cast(aot_gpr_5); { const bool branch_taken = aot_gpr_4 == 0u; - ctx.gpr[30] = (aot_gpr_16 + static_cast(1)); + ctx.gpr[30] = (ctx.gpr[16] + static_cast(1)); if (branch_taken) { goto L_088F613C; } @@ -5643,10 +5644,10 @@ L_088F613C: L_088F6148: aot_gpr_31 = (0x088F6150u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F6150u) goto L_088F6150; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F6150u) goto L_088F6150; AOT_REGCACHE_SYNC_OUT(); return; L_088F6150: - aot_gpr_4 = (ctx.gpr[2] & 65535u); + aot_gpr_4 = (aot_gpr_2 & 65535u); ctx.gpr[23] = (aot_gpr_4 & 3u); { const bool branch_taken = 0u == 0u; ctx.gpr[23] = (0u < ctx.gpr[23] ? 1u : 0u); @@ -5689,10 +5690,10 @@ L_088F6180: L_088F618C: aot_gpr_31 = (0x088F6194u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F6194u) goto L_088F6194; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F6194u) goto L_088F6194; AOT_REGCACHE_SYNC_OUT(); return; L_088F6194: - aot_gpr_4 = (ctx.gpr[2] & 65535u); + aot_gpr_4 = (aot_gpr_2 & 65535u); ctx.gpr[22] = (aot_gpr_4 & 3u); { const bool branch_taken = 0u == 0u; ctx.gpr[22] = (0u < ctx.gpr[22] ? 1u : 0u); @@ -5705,7 +5706,7 @@ L_088F61A4: ctx.gpr[22] = (0u | 1u); goto L_088F61A8; L_088F61A8: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(482)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(482)))))); aot_gpr_4 = (aot_gpr_4 & 2u); aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); @@ -5729,9 +5730,9 @@ L_088F61C8: goto L_088F61D0; } L_088F61D0: - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(516), static_cast(ctx.gpr[22])); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(512), ctx.gpr[30]); - aot_gpr_4 = (aot_gpr_17 << 3u); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(516), static_cast(ctx.gpr[22])); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(512), ctx.gpr[30]); + aot_gpr_4 = (ctx.gpr[17] << 3u); aot_gpr_5 = (2233u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(-4940)); ctx.gpr[30] = (aot_gpr_4 + aot_gpr_5); @@ -5750,8 +5751,8 @@ L_088F61D0: aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); { const float fs = aot_fpr_14; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } aot_fpr_14 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_14)); - ctx.gpr[6] = (std::bit_cast(aot_fpr_14)); - ctx.gpr[6] = (ctx.gpr[6] & 255u); + aot_gpr_6 = (std::bit_cast(aot_fpr_14)); + aot_gpr_6 = (aot_gpr_6 & 255u); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[30] + static_cast(2))); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); @@ -5765,21 +5766,21 @@ L_088F61D0: aot_gpr_4 = (48844u << 16u); aot_gpr_4 = (aot_gpr_4 | 52429u); ctx.fpr[15] = std::bit_cast(aot_gpr_4); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); ctx.gpr[8] = (0u | 255u); ctx.gpr[9] = (ctx.gpr[21] | 0u); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[20])); ctx.gpr[10] = (0u | 7u); ctx.gpr[11] = (0u | 0u); { const std::uint32_t aot_run_words[3]{0u, 0u, 0u}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(0), aot_run_words); } aot_fpr_14 = std::bit_cast(std::bit_cast(aot_fpr_22)); aot_gpr_31 = (0x088F6290u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(12), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0095_entry, 95u, 311u, 0x08981324u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F6290u) goto L_088F6290; AOT_REGCACHE_SYNC_OUT(); return; L_088F6290: - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-5048))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-5048))); aot_gpr_4 = (16384u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (49152u << 16u); @@ -5814,17 +5815,17 @@ L_088F6290: ctx.fpr[17] = std::bit_cast(aot_gpr_4); aot_gpr_4 = (16928u << 16u); ctx.fpr[18] = std::bit_cast(aot_gpr_4); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 2u); ctx.gpr[7] = (ctx.gpr[21] | 0u); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_22)); aot_fpr_14 = std::bit_cast(std::bit_cast(aot_fpr_22)); ctx.gpr[8] = (0u | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), 0u); ctx.fpr[19] = std::bit_cast(std::bit_cast(aot_fpr_22)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), 0u); aot_gpr_31 = (0x088F6348u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), std::bit_cast(aot_fpr_22)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(8), std::bit_cast(aot_fpr_22)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0164_entry, 164u, 490u, 0x08A97518u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F6348u) goto L_088F6348; AOT_REGCACHE_SYNC_OUT(); return; L_088F6348: @@ -5837,19 +5838,19 @@ L_088F6348: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - ctx.gpr[22] = (aot_gpr_29 + static_cast(64)); + ctx.gpr[22] = (ctx.gpr[29] + static_cast(64)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[22] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(80), std::bit_cast(aot_fpr_22)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(84), std::bit_cast(aot_fpr_22)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(80), std::bit_cast(aot_fpr_22)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(84), std::bit_cast(aot_fpr_22)); aot_gpr_31 = (0x088F6364u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(88), std::bit_cast(aot_fpr_22)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F6364u) goto L_088F6364; + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(88), std::bit_cast(aot_fpr_22)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F6364u) goto L_088F6364; AOT_REGCACHE_SYNC_OUT(); return; L_088F6364: - aot_gpr_4 = (ctx.gpr[2] & 65535u); + aot_gpr_4 = (aot_gpr_2 & 65535u); aot_gpr_4 = (aot_gpr_4 & 15u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); @@ -5876,16 +5877,16 @@ L_088F6364: { const float fs = ctx.fpr[16]; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[15] = std::bit_cast(0x7FC00000u); else ctx.fpr[15] = fs * ft; } aot_gpr_4 = (0u | 0u); aot_gpr_5 = (ctx.gpr[22] | 0u); - ctx.gpr[6] = (aot_gpr_29 + static_cast(80)); + aot_gpr_6 = (ctx.gpr[29] + static_cast(80)); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x088F63E0u); ctx.gpr[8] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0200_entry, 200u, 403u, 0x08B25C64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F63E0u) goto L_088F63E0; AOT_REGCACHE_SYNC_OUT(); return; L_088F63E0: - ctx.gpr[30] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(512))); + ctx.gpr[30] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(512))); { const bool branch_taken = 0u == 0u; - ctx.gpr[22] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(516))); + ctx.gpr[22] = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(516))); if (branch_taken) { goto L_088F643C; } @@ -5897,9 +5898,9 @@ L_088F63EC: aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (16320u << 16u); ctx.fpr[15] = std::bit_cast(aot_gpr_4); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 255u); ctx.gpr[9] = (ctx.gpr[21] | 0u); @@ -5907,10 +5908,10 @@ L_088F63EC: ctx.gpr[10] = (0u | 7u); ctx.gpr[11] = (0u | 0u); { const std::uint32_t aot_run_words[3]{0u, 0u, 0u}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(0), aot_run_words); } aot_fpr_14 = std::bit_cast(std::bit_cast(aot_fpr_22)); aot_gpr_31 = (0x088F643Cu); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(12), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0095_entry, 95u, 311u, 0x08981324u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F643Cu) goto L_088F643C; AOT_REGCACHE_SYNC_OUT(); return; L_088F643C: @@ -5922,7 +5923,7 @@ L_088F643C: goto L_088F6444; } L_088F6444: - ctx.gpr[22] = (aot_gpr_17 << 3u); + ctx.gpr[22] = (ctx.gpr[17] << 3u); aot_gpr_4 = (2233u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-4940)); ctx.gpr[22] = (ctx.gpr[22] + aot_gpr_4); @@ -5941,8 +5942,8 @@ L_088F6444: aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); { const float fs = aot_fpr_14; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } aot_fpr_14 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_14)); - ctx.gpr[6] = (std::bit_cast(aot_fpr_14)); - ctx.gpr[6] = (ctx.gpr[6] & 255u); + aot_gpr_6 = (std::bit_cast(aot_fpr_14)); + aot_gpr_6 = (aot_gpr_6 & 255u); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[22] + static_cast(2))); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); @@ -5963,10 +5964,10 @@ L_088F6444: ctx.gpr[10] = (0u | 7u); ctx.gpr[11] = (0u | 0u); { const std::uint32_t aot_run_words[3]{0u, 0u, 0u}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(0), aot_run_words); } aot_fpr_14 = std::bit_cast(std::bit_cast(aot_fpr_22)); aot_gpr_31 = (0x088F64FCu); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(12), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0095_entry, 95u, 311u, 0x08981324u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F64FCu) goto L_088F64FC; AOT_REGCACHE_SYNC_OUT(); return; L_088F64FC: @@ -5978,7 +5979,7 @@ L_088F64FC: goto L_088F6504; } L_088F6504: - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-5048))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-5048))); aot_gpr_4 = (16384u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (49152u << 16u); @@ -6012,17 +6013,17 @@ L_088F6504: ctx.fpr[17] = std::bit_cast(aot_gpr_4); aot_gpr_4 = (16928u << 16u); ctx.fpr[18] = std::bit_cast(aot_gpr_4); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 2u); ctx.gpr[7] = (ctx.gpr[21] | 0u); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_22)); aot_fpr_14 = std::bit_cast(std::bit_cast(aot_fpr_22)); ctx.gpr[8] = (0u | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), 0u); ctx.fpr[19] = std::bit_cast(std::bit_cast(aot_fpr_22)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), 0u); aot_gpr_31 = (0x088F65B8u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), std::bit_cast(aot_fpr_22)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(8), std::bit_cast(aot_fpr_22)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0164_entry, 164u, 490u, 0x08A97518u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F65B8u) goto L_088F65B8; AOT_REGCACHE_SYNC_OUT(); return; L_088F65B8: @@ -6041,7 +6042,7 @@ L_088F65C0: ctx.fpr[15] = std::bit_cast(aot_gpr_4); aot_gpr_4 = (ctx.gpr[30] | 0u); aot_gpr_5 = (0u | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 255u); ctx.gpr[9] = (ctx.gpr[21] | 0u); @@ -6049,14 +6050,14 @@ L_088F65C0: ctx.gpr[10] = (0u | 7u); ctx.gpr[11] = (0u | 0u); { const std::uint32_t aot_run_words[3]{0u, 0u, 0u}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(0), aot_run_words); } aot_fpr_14 = std::bit_cast(std::bit_cast(aot_fpr_22)); aot_gpr_31 = (0x088F6610u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(12), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0095_entry, 95u, 311u, 0x08981324u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F6610u) goto L_088F6610; AOT_REGCACHE_SYNC_OUT(); return; L_088F6610: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(482)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(482)))))); aot_gpr_4 = (aot_gpr_4 & 4u); aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); @@ -6068,7 +6069,7 @@ L_088F6610: goto L_088F6628; } L_088F6628: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(482)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(482)))))); aot_gpr_4 = (aot_gpr_4 & 8u); aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); @@ -6080,7 +6081,7 @@ L_088F6628: goto L_088F6640; } L_088F6640: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(472))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(472))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -6089,7 +6090,7 @@ L_088F6640: goto L_088F664C; } L_088F664C: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(468))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(468))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -6102,7 +6103,7 @@ L_088F6658: aot_gpr_4 = (aot_gpr_4 + static_cast(32304)); aot_gpr_5 = (aot_gpr_4 + static_cast(48)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); - aot_gpr_4 = (aot_gpr_16 + static_cast(48)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(48)); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; { const float fs = aot_fpr_12; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } @@ -6124,7 +6125,7 @@ L_088F6658: goto L_088F66A8; } L_088F66A8: - aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[28] + static_cast(8688))); + aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_28 + static_cast(8688))); aot_gpr_5 = (static_cast(aot_gpr_5) < 16 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; // nop @@ -6135,25 +6136,25 @@ L_088F66A8: } L_088F66B8: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(112), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(112), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(116), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(116), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); aot_gpr_4 = (16179u << 16u); aot_gpr_4 = (aot_gpr_4 | 13107u); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(120), std::bit_cast(aot_fpr_12)); - aot_gpr_4 = (aot_gpr_29 + static_cast(112)); - aot_gpr_5 = (aot_gpr_29 + static_cast(96)); - ctx.gpr[6] = (aot_gpr_29 + static_cast(128)); - ctx.gpr[7] = (aot_gpr_29 + static_cast(132)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(120), std::bit_cast(aot_fpr_12)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(112)); + aot_gpr_5 = (ctx.gpr[29] + static_cast(96)); + aot_gpr_6 = (ctx.gpr[29] + static_cast(128)); + ctx.gpr[7] = (ctx.gpr[29] + static_cast(132)); aot_gpr_31 = (0x088F66F8u); ctx.gpr[8] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0169_entry, 169u, 32u, 0x08AA82D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F66F8u) goto L_088F66F8; AOT_REGCACHE_SYNC_OUT(); return; L_088F66F8: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088F6838; @@ -6161,8 +6162,8 @@ L_088F66F8: goto L_088F6700; } L_088F6700: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(96))); - aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[28] + static_cast(8688))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(96))); + aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_28 + static_cast(8688))); aot_gpr_5 = (aot_gpr_4 << 5u); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); @@ -6170,31 +6171,31 @@ L_088F6700: ctx.gpr[21] = (ctx.gpr[21] + static_cast(-13008)); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[21]); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(100))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(100))); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(128))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(128))); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(12), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(132))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(132))); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(16), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x088F6744u); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(86)))))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0059_entry, 59u, 589u, 0x088F2D04u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F6744u) goto L_088F6744; AOT_REGCACHE_SYNC_OUT(); return; L_088F6744: - aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[28] + static_cast(8688))); + aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_28 + static_cast(8688))); aot_gpr_5 = (aot_gpr_4 << 5u); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[21]); - aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(8), ctx.gpr[2]); - aot_gpr_5 = (aot_gpr_17 << 3u); - ctx.gpr[6] = (2233u << 16u); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(-4940)); - aot_gpr_5 = (aot_gpr_5 + ctx.gpr[6]); - ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0))); - aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(20), static_cast(ctx.gpr[6])); - ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(1))); - aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(21), static_cast(ctx.gpr[6])); + aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(8), aot_gpr_2); + aot_gpr_5 = (ctx.gpr[17] << 3u); + aot_gpr_6 = (2233u << 16u); + aot_gpr_6 = (aot_gpr_6 + static_cast(-4940)); + aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); + aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0))); + aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(20), static_cast(aot_gpr_6)); + aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(1))); + aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(21), static_cast(aot_gpr_6)); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(2))); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(22), static_cast(aot_gpr_5)); aot_fpr_12 = ctx.fpr[20] / ctx.fpr[24]; @@ -6207,7 +6208,7 @@ L_088F6744: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); aot_gpr_5 = (std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(23), static_cast(aot_gpr_5)); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(482)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(482)))))); aot_gpr_4 = (aot_gpr_4 & 8u); aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); @@ -6219,7 +6220,7 @@ L_088F6744: goto L_088F67C4; } L_088F67C4: - aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[28] + static_cast(8688))); + aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_28 + static_cast(8688))); aot_gpr_5 = (aot_gpr_4 << 5u); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); @@ -6234,66 +6235,66 @@ L_088F67C4: goto L_088F67E8; } L_088F67E8: - aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[28] + static_cast(8688))); + aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_28 + static_cast(8688))); aot_gpr_5 = (aot_gpr_4 << 5u); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[21]); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(24)))))); - ctx.gpr[6] = (0u + static_cast(-2)); - aot_gpr_5 = (aot_gpr_5 & ctx.gpr[6]); + aot_gpr_6 = (0u + static_cast(-2)); + aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(24), static_cast(aot_gpr_5)); goto L_088F680C; L_088F680C: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(472))); - aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[28] + static_cast(8688))); - ctx.gpr[6] = (aot_gpr_5 << 5u); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(472))); + aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_28 + static_cast(8688))); + aot_gpr_6 = (aot_gpr_5 << 5u); ctx.gpr[7] = (aot_gpr_5 << 2u); - ctx.gpr[6] = (ctx.gpr[6] - ctx.gpr[7]); - ctx.gpr[6] = (ctx.gpr[6] + ctx.gpr[21]); - aot_mem.aot_direct_store8(ctx.gpr[6] + static_cast(25), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(468))); - aot_mem.aot_direct_store16(ctx.gpr[6] + static_cast(26), static_cast(aot_gpr_4)); + aot_gpr_6 = (aot_gpr_6 - ctx.gpr[7]); + aot_gpr_6 = (aot_gpr_6 + ctx.gpr[21]); + aot_mem.aot_direct_store8(aot_gpr_6 + static_cast(25), static_cast(aot_gpr_4)); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(468))); + aot_mem.aot_direct_store16(aot_gpr_6 + static_cast(26), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_gpr_5 + static_cast(1)); - aot_mem.aot_direct_store16(ctx.gpr[28] + static_cast(8688), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store16(aot_gpr_28 + static_cast(8688), static_cast(aot_gpr_4)); goto L_088F6838; L_088F6838: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(86)))))); aot_gpr_5 = (aot_gpr_4 << 2u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); - aot_gpr_5 = (ctx.gpr[6] + aot_gpr_5); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(24))); + aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(20))); aot_gpr_5 = (aot_gpr_5 + static_cast(32)); ctx.fpr[20] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_gpr_5 = (aot_gpr_4 << 2u); - aot_gpr_5 = (ctx.gpr[6] + aot_gpr_5); + aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(20))); aot_gpr_5 = (aot_gpr_5 + static_cast(16)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); ctx.fpr[20] = ctx.fpr[20] - aot_fpr_12; aot_gpr_5 = (aot_gpr_4 << 2u); - aot_gpr_5 = (ctx.gpr[6] + aot_gpr_5); + aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(20))); aot_gpr_5 = (aot_gpr_5 + static_cast(32)); ctx.fpr[24] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); aot_gpr_5 = (aot_gpr_4 << 2u); - aot_gpr_5 = (ctx.gpr[6] + aot_gpr_5); + aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(20))); aot_gpr_5 = (aot_gpr_5 + static_cast(16)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); ctx.fpr[24] = ctx.fpr[24] - aot_fpr_12; aot_gpr_5 = (aot_gpr_4 << 2u); - aot_gpr_5 = (ctx.gpr[6] + aot_gpr_5); + aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(20))); aot_gpr_5 = (aot_gpr_5 + static_cast(32)); ctx.fpr[26] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(8))); aot_gpr_4 = (aot_gpr_4 << 2u); - aot_gpr_4 = (ctx.gpr[6] + aot_gpr_4); + aot_gpr_4 = (aot_gpr_6 + aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); aot_gpr_4 = (aot_gpr_4 + static_cast(16)); @@ -6366,9 +6367,9 @@ L_088F6948: ctx.fpr[15] = std::bit_cast(aot_gpr_5); { const float fs = aot_fpr_14; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } aot_fpr_12 = aot_fpr_14 + aot_fpr_12; - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); - ctx.gpr[6] = (0u | 362u); - { const bool branch_taken = aot_gpr_5 == ctx.gpr[6]; + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(86)))))); + aot_gpr_6 = (0u | 362u); + { const bool branch_taken = aot_gpr_5 == aot_gpr_6; // nop if (branch_taken) { goto L_088F697C; @@ -6376,7 +6377,7 @@ L_088F6948: goto L_088F6970; } L_088F6970: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(86)))))); { const bool branch_taken = aot_gpr_5 != aot_gpr_4; // nop if (branch_taken) { @@ -6388,7 +6389,7 @@ L_088F697C: aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_13)); goto L_088F6980; L_088F6980: - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7660))); aot_gpr_5 = (aot_gpr_5 & 2047u); aot_fpr_13 = std::bit_cast(aot_gpr_5); { const bool branch_taken = static_cast(aot_gpr_5) >= 0; @@ -6429,13 +6430,13 @@ L_088F69A0: ctx.fpr[15] = std::bit_cast(aot_gpr_5); { const float fs = ctx.fpr[15]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_14), std::bit_cast(aot_fpr_13), std::bit_cast(aot_fpr_22)}; - aot_mem.aot_direct_store32_block(aot_gpr_16 + static_cast(0), aot_run_words); } + aot_mem.aot_direct_store32_block(ctx.gpr[16] + static_cast(0), aot_run_words); } aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_13) ^ 0x80000000u); { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_13), std::bit_cast(aot_fpr_14), std::bit_cast(aot_fpr_22)}; - aot_mem.aot_direct_store32_block(aot_gpr_16 + static_cast(16), aot_run_words); } + aot_mem.aot_direct_store32_block(ctx.gpr[16] + static_cast(16), aot_run_words); } { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_22), std::bit_cast(aot_fpr_22), std::bit_cast(aot_fpr_12)}; - aot_mem.aot_direct_store32_block(aot_gpr_16 + static_cast(32), aot_run_words); } - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); + aot_mem.aot_direct_store32_block(ctx.gpr[16] + static_cast(32), aot_run_words); } + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(86)))))); { const bool branch_taken = aot_gpr_5 != aot_gpr_4; // nop if (branch_taken) { @@ -6444,22 +6445,22 @@ L_088F69A0: goto L_088F6A24; } L_088F6A24: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(304), 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(312))); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(304), 0u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(312))); aot_gpr_5 = (0u + static_cast(-2)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(312), aot_gpr_4); - ctx.gpr[21] = (aot_gpr_29 + static_cast(240)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(384), 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(392))); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(312), aot_gpr_4); + ctx.gpr[21] = (ctx.gpr[29] + static_cast(240)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(384), 0u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(392))); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(392), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(392), aot_gpr_4); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(0))); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(48), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(48), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(4))); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(52), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(52), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(8))); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(56), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x088F6A70u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_22)); @@ -6483,35 +6484,35 @@ L_088F6A9C: aot_gpr_4 = (16212u << 16u); aot_gpr_4 = (aot_gpr_4 | 14680u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(144), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(144), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (47747u << 16u); aot_gpr_4 = (aot_gpr_4 | 4719u); aot_fpr_13 = std::bit_cast(aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(148), std::bit_cast(aot_fpr_13)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(148), std::bit_cast(aot_fpr_13)); aot_gpr_4 = (15975u << 16u); aot_gpr_4 = (aot_gpr_4 | 27787u); aot_fpr_14 = std::bit_cast(aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(152), std::bit_cast(aot_fpr_14)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(152), std::bit_cast(aot_fpr_14)); aot_gpr_31 = (0x088F6AD4u); aot_gpr_4 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 4u, 0x08860094u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F6AD4u) goto L_088F6AD4; AOT_REGCACHE_SYNC_OUT(); return; L_088F6AD4: - ctx.gpr[20] = (aot_gpr_29 + static_cast(160)); + ctx.gpr[20] = (ctx.gpr[29] + static_cast(160)); aot_gpr_4 = (ctx.gpr[20] | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x088F6AE8u); - ctx.gpr[6] = (ctx.gpr[21] | 0u); + aot_gpr_6 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 935u, 0x0885FEC8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F6AE8u) goto L_088F6AE8; AOT_REGCACHE_SYNC_OUT(); return; L_088F6AE8: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x088F6AF4u); aot_gpr_5 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 7u, 0x08860358u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F6AF4u) goto L_088F6AF4; AOT_REGCACHE_SYNC_OUT(); return; L_088F6AF4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(232))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(232))); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -6521,7 +6522,7 @@ L_088F6AF4: goto L_088F6B04; } L_088F6B04: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(224))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(224))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -6531,31 +6532,31 @@ L_088F6B04: } L_088F6B10: aot_gpr_31 = (0x088F6B18u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(224))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(224))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 129u, 0x089D89E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F6B18u) goto L_088F6B18; AOT_REGCACHE_SYNC_OUT(); return; L_088F6B18: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(392))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(392))); aot_gpr_4 = (aot_gpr_4 & 1u); if (aot_gpr_4 == 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(312))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(312))); goto L_088F6B40; } goto L_088F6B28; L_088F6B28: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(384))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(384))); if (aot_gpr_4 == 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(312))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(312))); goto L_088F6B40; } goto L_088F6B34; L_088F6B34: aot_gpr_31 = (0x088F6B3Cu); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(384))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(384))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 129u, 0x089D89E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F6B3Cu) goto L_088F6B3C; AOT_REGCACHE_SYNC_OUT(); return; L_088F6B3C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(312))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(312))); goto L_088F6B40; L_088F6B40: aot_gpr_4 = (aot_gpr_4 & 1u); @@ -6567,7 +6568,7 @@ L_088F6B40: goto L_088F6B4C; } L_088F6B4C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(304))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(304))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -6577,7 +6578,7 @@ L_088F6B4C: } L_088F6B58: aot_gpr_31 = (0x088F6B60u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(304))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(304))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 129u, 0x089D89E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F6B60u) goto L_088F6B60; AOT_REGCACHE_SYNC_OUT(); return; L_088F6B60: @@ -6590,40 +6591,40 @@ L_088F6B60: } L_088F6B68: aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); - aot_gpr_17 = (aot_gpr_17 << 3u); + ctx.gpr[17] = (ctx.gpr[17] << 3u); aot_gpr_4 = (2233u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-4940)); - aot_gpr_17 = (aot_gpr_17 + aot_gpr_4); + ctx.gpr[17] = (ctx.gpr[17] + aot_gpr_4); aot_gpr_4 = (17026u << 16u); ctx.fpr[20] = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(ctx.fpr[26]) || std::isnan(aot_fpr_12)) && ctx.fpr[26] == aot_fpr_12)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); - ctx.gpr[18] = (aot_gpr_29 + static_cast(400)); + ctx.gpr[18] = (ctx.gpr[29] + static_cast(400)); if (branch_taken) { goto L_088F6BF0; } goto L_088F6B94; } L_088F6B94: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(86)))))); aot_gpr_5 = (aot_gpr_4 << 2u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); - aot_gpr_5 = (ctx.gpr[6] + aot_gpr_5); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(24))); + aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(20))); aot_gpr_5 = (aot_gpr_5 + static_cast(32)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_gpr_4 = (aot_gpr_4 << 2u); - aot_gpr_4 = (ctx.gpr[6] + aot_gpr_4); + aot_gpr_4 = (aot_gpr_6 + aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); aot_gpr_4 = (aot_gpr_4 + static_cast(16)); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_22), std::bit_cast(aot_fpr_22)}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(432), aot_run_words); } - aot_gpr_4 = (aot_gpr_29 + static_cast(432)); + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(432), aot_run_words); } + aot_gpr_4 = (ctx.gpr[29] + static_cast(432)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -6655,24 +6656,24 @@ L_088F6BF0: goto L_088F6C00; } L_088F6C00: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(86)))))); aot_gpr_5 = (aot_gpr_4 << 2u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); - aot_gpr_5 = (ctx.gpr[6] + aot_gpr_5); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(24))); + aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(20))); aot_gpr_5 = (aot_gpr_5 + static_cast(32)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); aot_gpr_4 = (aot_gpr_4 << 2u); - aot_gpr_4 = (ctx.gpr[6] + aot_gpr_4); + aot_gpr_4 = (aot_gpr_6 + aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); aot_gpr_4 = (aot_gpr_4 + static_cast(16)); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_22), std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_22)}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(448), aot_run_words); } - aot_gpr_4 = (aot_gpr_29 + static_cast(448)); + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(448), aot_run_words); } + aot_gpr_4 = (ctx.gpr[29] + static_cast(448)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -6694,24 +6695,24 @@ L_088F6C00: goto L_088F6C5C; } L_088F6C5C: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(86)))))); aot_gpr_5 = (aot_gpr_4 << 2u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); - aot_gpr_5 = (ctx.gpr[6] + aot_gpr_5); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(24))); + aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(20))); aot_gpr_5 = (aot_gpr_5 + static_cast(32)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(8))); aot_gpr_4 = (aot_gpr_4 << 2u); - aot_gpr_4 = (ctx.gpr[6] + aot_gpr_4); + aot_gpr_4 = (aot_gpr_6 + aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); aot_gpr_4 = (aot_gpr_4 + static_cast(16)); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_22), std::bit_cast(aot_fpr_22), std::bit_cast(aot_fpr_12)}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(464), aot_run_words); } - aot_gpr_4 = (aot_gpr_29 + static_cast(464)); + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(464), aot_run_words); } + aot_gpr_4 = (ctx.gpr[29] + static_cast(464)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -6730,8 +6731,8 @@ L_088F6CB0: ctx.gpr[20] = (0u | 0u); aot_gpr_4 = (16448u << 16u); ctx.fpr[24] = std::bit_cast(aot_gpr_4); - ctx.gpr[21] = (aot_gpr_29 + static_cast(480)); - ctx.gpr[22] = (aot_gpr_29 + static_cast(416)); + ctx.gpr[21] = (ctx.gpr[29] + static_cast(480)); + ctx.gpr[22] = (ctx.gpr[29] + static_cast(416)); aot_gpr_4 = (15897u << 16u); aot_gpr_4 = (aot_gpr_4 | 39322u); ctx.fpr[26] = std::bit_cast(aot_gpr_4); @@ -6739,7 +6740,7 @@ L_088F6CB0: ctx.fpr[28] = std::bit_cast(aot_gpr_4); aot_gpr_4 = (48896u << 16u); ctx.fpr[30] = std::bit_cast(aot_gpr_4); - ctx.gpr[23] = (aot_gpr_16 + static_cast(8)); + ctx.gpr[23] = (ctx.gpr[16] + static_cast(8)); goto L_088F6CE4; L_088F6CE4: aot_fpr_12 = std::bit_cast(ctx.gpr[20]); @@ -6775,9 +6776,9 @@ L_088F6CE4: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (ctx.gpr[21] | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x088F6D1Cu); - ctx.gpr[6] = (ctx.gpr[22] | 0u); + aot_gpr_6 = (ctx.gpr[22] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0059_entry, 59u, 471u, 0x088F239Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F6D1Cu) goto L_088F6D1C; AOT_REGCACHE_SYNC_OUT(); return; L_088F6D1C: @@ -6794,21 +6795,21 @@ L_088F6D1C: const std::uint32_t vfpu_address = ctx.gpr[22] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(0))); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); { const float fs = aot_fpr_12; const float ft = ctx.fpr[26]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); aot_gpr_5 = (std::bit_cast(aot_fpr_12)); aot_gpr_5 = (aot_gpr_5 & 255u); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(1))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(1))); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_13))); { const float fs = aot_fpr_13; const float ft = ctx.fpr[26]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_fpr_13 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_13)); - ctx.gpr[6] = (std::bit_cast(aot_fpr_13)); - ctx.gpr[6] = (ctx.gpr[6] & 255u); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(2))); + aot_gpr_6 = (std::bit_cast(aot_fpr_13)); + aot_gpr_6 = (aot_gpr_6 & 255u); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(2))); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); { const float fs = aot_fpr_12; const float ft = ctx.fpr[26]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } @@ -6823,9 +6824,9 @@ L_088F6D1C: ctx.gpr[10] = (0u | 0u); ctx.gpr[11] = (0u | 0u); { const std::uint32_t aot_run_words[3]{0u, 0u, 0u}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(0), aot_run_words); } aot_fpr_14 = std::bit_cast(std::bit_cast(aot_fpr_22)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(12), 0u); aot_gpr_31 = (0x088F6DB0u); ctx.fpr[15] = std::bit_cast(std::bit_cast(ctx.fpr[30])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0095_entry, 95u, 311u, 0x08981324u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F6DB0u) goto L_088F6DB0; @@ -6849,40 +6850,40 @@ L_088F6DC0: goto L_088F6DC8; } L_088F6DC8: - aot_gpr_4 = (aot_gpr_16 + static_cast(9)); - ctx.gpr[9] = (aot_gpr_16 + static_cast(48)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(9)); + ctx.gpr[9] = (ctx.gpr[16] + static_cast(48)); aot_gpr_5 = (49049u << 16u); aot_gpr_5 = (aot_gpr_5 | 39322u); aot_fpr_12 = std::bit_cast(aot_gpr_5); aot_gpr_5 = (16968u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_5); - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); aot_gpr_5 = (16320u << 16u); ctx.fpr[15] = std::bit_cast(aot_gpr_5); aot_gpr_5 = (0u | 82u); - ctx.gpr[6] = (0u | 94u); + aot_gpr_6 = (0u | 94u); ctx.gpr[7] = (0u | 150u); ctx.gpr[8] = (0u | 255u); ctx.gpr[10] = (0u | 0u); ctx.gpr[11] = (0u | 0u); - { const std::uint32_t aot_run_words[3]{ctx.gpr[2], 0u, ctx.gpr[2]}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } + { const std::uint32_t aot_run_words[3]{aot_gpr_2, 0u, aot_gpr_2}; + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(0), aot_run_words); } aot_fpr_14 = std::bit_cast(std::bit_cast(aot_fpr_22)); aot_gpr_31 = (0x088F6E20u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(12), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0095_entry, 95u, 311u, 0x08981324u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F6E20u) goto L_088F6E20; AOT_REGCACHE_SYNC_OUT(); return; L_088F6E20: { std::uint32_t aot_run_words[16]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(520), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(520), aot_run_words); ctx.fpr[20] = std::bit_cast(aot_run_words[0]); aot_fpr_22 = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); ctx.fpr[26] = std::bit_cast(aot_run_words[3]); ctx.fpr[28] = std::bit_cast(aot_run_words[4]); ctx.fpr[30] = std::bit_cast(aot_run_words[5]); - aot_gpr_16 = aot_run_words[6]; - aot_gpr_17 = aot_run_words[7]; + ctx.gpr[16] = aot_run_words[6]; + ctx.gpr[17] = aot_run_words[7]; ctx.gpr[18] = aot_run_words[8]; ctx.gpr[19] = aot_run_words[9]; ctx.gpr[20] = aot_run_words[10]; @@ -6893,17 +6894,17 @@ L_088F6E20: aot_gpr_31 = aot_run_words[15]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(592)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(592)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_088F6E68: - aot_gpr_29 = (aot_gpr_29 + static_cast(-112)); - { const std::uint32_t aot_run_words[10]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(60), aot_run_words); } + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-112)); + { const std::uint32_t aot_run_words[10]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(60), aot_run_words); } ctx.gpr[19] = (0u | 0u); - aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[28] + static_cast(8688))); + aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_28 + static_cast(8688))); aot_gpr_4 = (static_cast(ctx.gpr[19]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_4 = (2247u << 16u); @@ -6916,48 +6917,48 @@ L_088F6EA8: aot_gpr_4 = (aot_gpr_4 + static_cast(-13008)); ctx.gpr[21] = (2238u << 16u); ctx.gpr[21] = (ctx.gpr[21] + static_cast(14304)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), aot_gpr_4); - ctx.gpr[22] = (ctx.gpr[28] + static_cast(-23088)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(56), aot_gpr_4); + ctx.gpr[22] = (aot_gpr_28 + static_cast(-23088)); ctx.gpr[20] = (2238u << 16u); ctx.gpr[20] = (ctx.gpr[20] + static_cast(-8144)); - aot_gpr_4 = (ctx.gpr[28] + static_cast(-23068)); + aot_gpr_4 = (aot_gpr_28 + static_cast(-23068)); aot_gpr_5 = (2233u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(-5024)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), aot_gpr_4); - aot_gpr_4 = (ctx.gpr[28] + static_cast(-23060)); - ctx.gpr[6] = (ctx.gpr[28] + static_cast(-23052)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), aot_gpr_5); - aot_gpr_5 = (ctx.gpr[28] + static_cast(-23044)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), aot_gpr_4); - aot_gpr_4 = (ctx.gpr[28] + static_cast(-23036)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), ctx.gpr[6]); - ctx.gpr[6] = (ctx.gpr[28] + static_cast(-23028)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), aot_gpr_5); - aot_gpr_5 = (ctx.gpr[28] + static_cast(-23020)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), aot_gpr_4); - aot_gpr_4 = (ctx.gpr[28] + static_cast(-23012)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), ctx.gpr[6]); - ctx.gpr[6] = (ctx.gpr[28] + static_cast(-23004)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_5); - aot_gpr_5 = (ctx.gpr[28] + static_cast(-22996)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_4); - aot_gpr_4 = (ctx.gpr[28] + static_cast(-22988)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[6]); - ctx.gpr[6] = (ctx.gpr[28] + static_cast(-22980)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_5); - ctx.gpr[30] = (ctx.gpr[28] + static_cast(-22972)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_4); - ctx.gpr[23] = (ctx.gpr[28] + static_cast(-22964)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[6]); - ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(56))); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(52), aot_gpr_4); + aot_gpr_4 = (aot_gpr_28 + static_cast(-23060)); + aot_gpr_6 = (aot_gpr_28 + static_cast(-23052)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(48), aot_gpr_5); + aot_gpr_5 = (aot_gpr_28 + static_cast(-23044)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(44), aot_gpr_4); + aot_gpr_4 = (aot_gpr_28 + static_cast(-23036)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(40), aot_gpr_6); + aot_gpr_6 = (aot_gpr_28 + static_cast(-23028)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(36), aot_gpr_5); + aot_gpr_5 = (aot_gpr_28 + static_cast(-23020)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(32), aot_gpr_4); + aot_gpr_4 = (aot_gpr_28 + static_cast(-23012)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(28), aot_gpr_6); + aot_gpr_6 = (aot_gpr_28 + static_cast(-23004)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(24), aot_gpr_5); + aot_gpr_5 = (aot_gpr_28 + static_cast(-22996)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(20), aot_gpr_4); + aot_gpr_4 = (aot_gpr_28 + static_cast(-22988)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(16), aot_gpr_6); + aot_gpr_6 = (aot_gpr_28 + static_cast(-22980)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(12), aot_gpr_5); + ctx.gpr[30] = (aot_gpr_28 + static_cast(-22972)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(8), aot_gpr_4); + ctx.gpr[23] = (aot_gpr_28 + static_cast(-22964)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_6); + ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(56))); goto L_088F6F3C; L_088F6F3C: aot_gpr_4 = (ctx.gpr[19] << 5u); aot_gpr_5 = (ctx.gpr[19] << 2u); aot_gpr_4 = (aot_gpr_4 - aot_gpr_5); ctx.gpr[18] = (aot_gpr_4 + ctx.gpr[18]); - ctx.gpr[6] = (aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(26))); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_6 = (aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(26))); + { const bool branch_taken = aot_gpr_6 == 0u; // nop if (branch_taken) { goto L_088F6F78; @@ -6978,15 +6979,15 @@ L_088F6F64: AOT_REGCACHE_SYNC_OUT(); return; L_088F6F70: { const bool branch_taken = 0u == 0u; - aot_gpr_16 = (ctx.gpr[20] | 0u); + ctx.gpr[16] = (ctx.gpr[20] | 0u); if (branch_taken) { goto L_088F7424; } goto L_088F6F78; } L_088F6F78: - ctx.gpr[6] = (aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(25))); - aot_gpr_4 = (ctx.gpr[6] < static_cast(14) ? 1u : 0u); + aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(25))); + aot_gpr_4 = (aot_gpr_6 < static_cast(14) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -6995,9 +6996,9 @@ L_088F6F78: goto L_088F6F88; } L_088F6F88: - ctx.gpr[6] = (ctx.gpr[6] << 2u); + aot_gpr_6 = (aot_gpr_6 << 2u); ctx.gpr[1] = (2232u << 16u); - ctx.gpr[1] = (ctx.gpr[1] + ctx.gpr[6]); + ctx.gpr[1] = (ctx.gpr[1] + aot_gpr_6); ctx.gpr[1] = (aot_mem.aot_direct_load32(ctx.gpr[1] + static_cast(-15872))); jump_target = ctx.gpr[1]; // nop @@ -7006,9 +7007,9 @@ L_088F6F88: ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_088F6FA0: - aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); aot_gpr_4 = (0u | 40u); - { const bool branch_taken = aot_gpr_16 == aot_gpr_4; + { const bool branch_taken = ctx.gpr[16] == aot_gpr_4; aot_gpr_4 = (0u | 41u); if (branch_taken) { goto L_088F6FB8; @@ -7016,7 +7017,7 @@ L_088F6FA0: goto L_088F6FB0; } L_088F6FB0: - { const bool branch_taken = aot_gpr_16 != aot_gpr_4; + { const bool branch_taken = ctx.gpr[16] != aot_gpr_4; // nop if (branch_taken) { goto L_088F6FC0; @@ -7025,7 +7026,7 @@ L_088F6FB0: } L_088F6FB8: { const bool branch_taken = 0u == 0u; - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); if (branch_taken) { goto L_088F7040; } @@ -7035,59 +7036,59 @@ L_088F6FC0: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(24)))))); aot_gpr_4 = (aot_gpr_4 & 1u); if (aot_gpr_4 == 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(48))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(48))); goto L_088F7018; } goto L_088F6FD0; L_088F6FD0: - aot_gpr_17 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); - if (aot_gpr_17 != 0u) { - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(52))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + if (ctx.gpr[17] != 0u) { + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(52))); goto L_088F7008; } goto L_088F6FDC; L_088F6FDC: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_31 = (0x088F6FE8u); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F6FE8u) goto L_088F6FE8; AOT_REGCACHE_SYNC_OUT(); return; L_088F6FE8: - aot_gpr_16 = (ctx.gpr[2] | 0u); - if (aot_gpr_16 == 0u) { - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_17); + ctx.gpr[16] = (aot_gpr_2 | 0u); + if (ctx.gpr[16] == 0u) { + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); goto L_088F7004; } goto L_088F6FF4; L_088F6FF4: aot_gpr_31 = (0x088F6FFCu); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F6FFCu) goto L_088F6FFC; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F6FFCu) goto L_088F6FFC; AOT_REGCACHE_SYNC_OUT(); return; L_088F6FFC: - aot_gpr_17 = (aot_gpr_16 | 0u); - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_17); + ctx.gpr[17] = (ctx.gpr[16] | 0u); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); goto L_088F7004; L_088F7004: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(52))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(52))); goto L_088F7008; L_088F7008: aot_gpr_31 = (0x088F7010u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F7010u) goto L_088F7010; AOT_REGCACHE_SYNC_OUT(); return; L_088F7010: { const bool branch_taken = 0u == 0u; - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (aot_gpr_2 | 0u); if (branch_taken) { goto L_088F7040; } goto L_088F7018; } L_088F7018: - aot_gpr_5 = (aot_gpr_16 + aot_gpr_16); + aot_gpr_5 = (ctx.gpr[16] + ctx.gpr[16]); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x088F7030u); aot_gpr_5 = (ctx.gpr[22] | 0u); @@ -7100,7 +7101,7 @@ L_088F7030: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0032_entry, 32u, 843u, 0x08887B04u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F703Cu) goto L_088F703C; AOT_REGCACHE_SYNC_OUT(); return; L_088F703C: - aot_gpr_16 = (ctx.gpr[20] | 0u); + ctx.gpr[16] = (ctx.gpr[20] | 0u); goto L_088F7040; L_088F7040: { const bool branch_taken = 0u == 0u; @@ -7111,44 +7112,44 @@ L_088F7040: goto L_088F7048; } L_088F7048: - aot_gpr_17 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); - if (aot_gpr_17 != 0u) { - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(44))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + if (ctx.gpr[17] != 0u) { + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(44))); goto L_088F7080; } goto L_088F7054; L_088F7054: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_31 = (0x088F7060u); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F7060u) goto L_088F7060; AOT_REGCACHE_SYNC_OUT(); return; L_088F7060: - aot_gpr_16 = (ctx.gpr[2] | 0u); - if (aot_gpr_16 == 0u) { - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_17); + ctx.gpr[16] = (aot_gpr_2 | 0u); + if (ctx.gpr[16] == 0u) { + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); goto L_088F707C; } goto L_088F706C; L_088F706C: aot_gpr_31 = (0x088F7074u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F7074u) goto L_088F7074; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F7074u) goto L_088F7074; AOT_REGCACHE_SYNC_OUT(); return; L_088F7074: - aot_gpr_17 = (aot_gpr_16 | 0u); - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_17); + ctx.gpr[17] = (ctx.gpr[16] | 0u); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); goto L_088F707C; L_088F707C: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(44))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(44))); goto L_088F7080; L_088F7080: aot_gpr_31 = (0x088F7088u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F7088u) goto L_088F7088; AOT_REGCACHE_SYNC_OUT(); return; L_088F7088: - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (aot_gpr_2 | 0u); { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { @@ -7157,44 +7158,44 @@ L_088F7088: goto L_088F7094; } L_088F7094: - aot_gpr_17 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); - if (aot_gpr_17 != 0u) { - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(40))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + if (ctx.gpr[17] != 0u) { + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(40))); goto L_088F70CC; } goto L_088F70A0; L_088F70A0: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_31 = (0x088F70ACu); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F70ACu) goto L_088F70AC; AOT_REGCACHE_SYNC_OUT(); return; L_088F70AC: - aot_gpr_16 = (ctx.gpr[2] | 0u); - if (aot_gpr_16 == 0u) { - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_17); + ctx.gpr[16] = (aot_gpr_2 | 0u); + if (ctx.gpr[16] == 0u) { + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); goto L_088F70C8; } goto L_088F70B8; L_088F70B8: aot_gpr_31 = (0x088F70C0u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F70C0u) goto L_088F70C0; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F70C0u) goto L_088F70C0; AOT_REGCACHE_SYNC_OUT(); return; L_088F70C0: - aot_gpr_17 = (aot_gpr_16 | 0u); - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_17); + ctx.gpr[17] = (ctx.gpr[16] | 0u); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); goto L_088F70C8; L_088F70C8: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(40))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(40))); goto L_088F70CC; L_088F70CC: aot_gpr_31 = (0x088F70D4u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F70D4u) goto L_088F70D4; AOT_REGCACHE_SYNC_OUT(); return; L_088F70D4: - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (aot_gpr_2 | 0u); { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { @@ -7203,44 +7204,44 @@ L_088F70D4: goto L_088F70E0; } L_088F70E0: - aot_gpr_17 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); - if (aot_gpr_17 != 0u) { - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(36))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + if (ctx.gpr[17] != 0u) { + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(36))); goto L_088F7118; } goto L_088F70EC; L_088F70EC: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_31 = (0x088F70F8u); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F70F8u) goto L_088F70F8; AOT_REGCACHE_SYNC_OUT(); return; L_088F70F8: - aot_gpr_16 = (ctx.gpr[2] | 0u); - if (aot_gpr_16 == 0u) { - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_17); + ctx.gpr[16] = (aot_gpr_2 | 0u); + if (ctx.gpr[16] == 0u) { + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); goto L_088F7114; } goto L_088F7104; L_088F7104: aot_gpr_31 = (0x088F710Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F710Cu) goto L_088F710C; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F710Cu) goto L_088F710C; AOT_REGCACHE_SYNC_OUT(); return; L_088F710C: - aot_gpr_17 = (aot_gpr_16 | 0u); - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_17); + ctx.gpr[17] = (ctx.gpr[16] | 0u); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); goto L_088F7114; L_088F7114: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(36))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(36))); goto L_088F7118; L_088F7118: aot_gpr_31 = (0x088F7120u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F7120u) goto L_088F7120; AOT_REGCACHE_SYNC_OUT(); return; L_088F7120: - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (aot_gpr_2 | 0u); { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { @@ -7249,44 +7250,44 @@ L_088F7120: goto L_088F712C; } L_088F712C: - aot_gpr_17 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); - if (aot_gpr_17 != 0u) { - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(32))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + if (ctx.gpr[17] != 0u) { + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(32))); goto L_088F7164; } goto L_088F7138; L_088F7138: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_31 = (0x088F7144u); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F7144u) goto L_088F7144; AOT_REGCACHE_SYNC_OUT(); return; L_088F7144: - aot_gpr_16 = (ctx.gpr[2] | 0u); - if (aot_gpr_16 == 0u) { - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_17); + ctx.gpr[16] = (aot_gpr_2 | 0u); + if (ctx.gpr[16] == 0u) { + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); goto L_088F7160; } goto L_088F7150; L_088F7150: aot_gpr_31 = (0x088F7158u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F7158u) goto L_088F7158; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F7158u) goto L_088F7158; AOT_REGCACHE_SYNC_OUT(); return; L_088F7158: - aot_gpr_17 = (aot_gpr_16 | 0u); - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_17); + ctx.gpr[17] = (ctx.gpr[16] | 0u); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); goto L_088F7160; L_088F7160: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(32))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(32))); goto L_088F7164; L_088F7164: aot_gpr_31 = (0x088F716Cu); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F716Cu) goto L_088F716C; AOT_REGCACHE_SYNC_OUT(); return; L_088F716C: - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (aot_gpr_2 | 0u); { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { @@ -7295,44 +7296,44 @@ L_088F716C: goto L_088F7178; } L_088F7178: - aot_gpr_17 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); - if (aot_gpr_17 != 0u) { - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(28))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + if (ctx.gpr[17] != 0u) { + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(28))); goto L_088F71B0; } goto L_088F7184; L_088F7184: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_31 = (0x088F7190u); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F7190u) goto L_088F7190; AOT_REGCACHE_SYNC_OUT(); return; L_088F7190: - aot_gpr_16 = (ctx.gpr[2] | 0u); - if (aot_gpr_16 == 0u) { - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_17); + ctx.gpr[16] = (aot_gpr_2 | 0u); + if (ctx.gpr[16] == 0u) { + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); goto L_088F71AC; } goto L_088F719C; L_088F719C: aot_gpr_31 = (0x088F71A4u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F71A4u) goto L_088F71A4; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F71A4u) goto L_088F71A4; AOT_REGCACHE_SYNC_OUT(); return; L_088F71A4: - aot_gpr_17 = (aot_gpr_16 | 0u); - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_17); + ctx.gpr[17] = (ctx.gpr[16] | 0u); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); goto L_088F71AC; L_088F71AC: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(28))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(28))); goto L_088F71B0; L_088F71B0: aot_gpr_31 = (0x088F71B8u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F71B8u) goto L_088F71B8; AOT_REGCACHE_SYNC_OUT(); return; L_088F71B8: - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (aot_gpr_2 | 0u); { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { @@ -7341,44 +7342,44 @@ L_088F71B8: goto L_088F71C4; } L_088F71C4: - aot_gpr_17 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); - if (aot_gpr_17 != 0u) { - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + if (ctx.gpr[17] != 0u) { + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(24))); goto L_088F71FC; } goto L_088F71D0; L_088F71D0: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_31 = (0x088F71DCu); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F71DCu) goto L_088F71DC; AOT_REGCACHE_SYNC_OUT(); return; L_088F71DC: - aot_gpr_16 = (ctx.gpr[2] | 0u); - if (aot_gpr_16 == 0u) { - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_17); + ctx.gpr[16] = (aot_gpr_2 | 0u); + if (ctx.gpr[16] == 0u) { + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); goto L_088F71F8; } goto L_088F71E8; L_088F71E8: aot_gpr_31 = (0x088F71F0u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F71F0u) goto L_088F71F0; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F71F0u) goto L_088F71F0; AOT_REGCACHE_SYNC_OUT(); return; L_088F71F0: - aot_gpr_17 = (aot_gpr_16 | 0u); - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_17); + ctx.gpr[17] = (ctx.gpr[16] | 0u); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); goto L_088F71F8; L_088F71F8: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(24))); goto L_088F71FC; L_088F71FC: aot_gpr_31 = (0x088F7204u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F7204u) goto L_088F7204; AOT_REGCACHE_SYNC_OUT(); return; L_088F7204: - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (aot_gpr_2 | 0u); { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { @@ -7387,44 +7388,44 @@ L_088F7204: goto L_088F7210; } L_088F7210: - aot_gpr_17 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); - if (aot_gpr_17 != 0u) { - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + if (ctx.gpr[17] != 0u) { + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(20))); goto L_088F7248; } goto L_088F721C; L_088F721C: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_31 = (0x088F7228u); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F7228u) goto L_088F7228; AOT_REGCACHE_SYNC_OUT(); return; L_088F7228: - aot_gpr_16 = (ctx.gpr[2] | 0u); - if (aot_gpr_16 == 0u) { - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_17); + ctx.gpr[16] = (aot_gpr_2 | 0u); + if (ctx.gpr[16] == 0u) { + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); goto L_088F7244; } goto L_088F7234; L_088F7234: aot_gpr_31 = (0x088F723Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F723Cu) goto L_088F723C; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F723Cu) goto L_088F723C; AOT_REGCACHE_SYNC_OUT(); return; L_088F723C: - aot_gpr_17 = (aot_gpr_16 | 0u); - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_17); + ctx.gpr[17] = (ctx.gpr[16] | 0u); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); goto L_088F7244; L_088F7244: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(20))); goto L_088F7248; L_088F7248: aot_gpr_31 = (0x088F7250u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F7250u) goto L_088F7250; AOT_REGCACHE_SYNC_OUT(); return; L_088F7250: - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (aot_gpr_2 | 0u); { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { @@ -7433,44 +7434,44 @@ L_088F7250: goto L_088F725C; } L_088F725C: - aot_gpr_17 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); - if (aot_gpr_17 != 0u) { - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + if (ctx.gpr[17] != 0u) { + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(16))); goto L_088F7294; } goto L_088F7268; L_088F7268: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_31 = (0x088F7274u); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F7274u) goto L_088F7274; AOT_REGCACHE_SYNC_OUT(); return; L_088F7274: - aot_gpr_16 = (ctx.gpr[2] | 0u); - if (aot_gpr_16 == 0u) { - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_17); + ctx.gpr[16] = (aot_gpr_2 | 0u); + if (ctx.gpr[16] == 0u) { + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); goto L_088F7290; } goto L_088F7280; L_088F7280: aot_gpr_31 = (0x088F7288u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F7288u) goto L_088F7288; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F7288u) goto L_088F7288; AOT_REGCACHE_SYNC_OUT(); return; L_088F7288: - aot_gpr_17 = (aot_gpr_16 | 0u); - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_17); + ctx.gpr[17] = (ctx.gpr[16] | 0u); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); goto L_088F7290; L_088F7290: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(16))); goto L_088F7294; L_088F7294: aot_gpr_31 = (0x088F729Cu); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F729Cu) goto L_088F729C; AOT_REGCACHE_SYNC_OUT(); return; L_088F729C: - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (aot_gpr_2 | 0u); { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { @@ -7479,44 +7480,44 @@ L_088F729C: goto L_088F72A8; } L_088F72A8: - aot_gpr_17 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); - if (aot_gpr_17 != 0u) { - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + if (ctx.gpr[17] != 0u) { + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(12))); goto L_088F72E0; } goto L_088F72B4; L_088F72B4: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_31 = (0x088F72C0u); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F72C0u) goto L_088F72C0; AOT_REGCACHE_SYNC_OUT(); return; L_088F72C0: - aot_gpr_16 = (ctx.gpr[2] | 0u); - if (aot_gpr_16 == 0u) { - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_17); + ctx.gpr[16] = (aot_gpr_2 | 0u); + if (ctx.gpr[16] == 0u) { + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); goto L_088F72DC; } goto L_088F72CC; L_088F72CC: aot_gpr_31 = (0x088F72D4u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F72D4u) goto L_088F72D4; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F72D4u) goto L_088F72D4; AOT_REGCACHE_SYNC_OUT(); return; L_088F72D4: - aot_gpr_17 = (aot_gpr_16 | 0u); - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_17); + ctx.gpr[17] = (ctx.gpr[16] | 0u); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); goto L_088F72DC; L_088F72DC: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(12))); goto L_088F72E0; L_088F72E0: aot_gpr_31 = (0x088F72E8u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F72E8u) goto L_088F72E8; AOT_REGCACHE_SYNC_OUT(); return; L_088F72E8: - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (aot_gpr_2 | 0u); { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { @@ -7525,44 +7526,44 @@ L_088F72E8: goto L_088F72F4; } L_088F72F4: - aot_gpr_17 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); - if (aot_gpr_17 != 0u) { - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + if (ctx.gpr[17] != 0u) { + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(8))); goto L_088F732C; } goto L_088F7300; L_088F7300: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_31 = (0x088F730Cu); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F730Cu) goto L_088F730C; AOT_REGCACHE_SYNC_OUT(); return; L_088F730C: - aot_gpr_16 = (ctx.gpr[2] | 0u); - if (aot_gpr_16 == 0u) { - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_17); + ctx.gpr[16] = (aot_gpr_2 | 0u); + if (ctx.gpr[16] == 0u) { + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); goto L_088F7328; } goto L_088F7318; L_088F7318: aot_gpr_31 = (0x088F7320u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F7320u) goto L_088F7320; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F7320u) goto L_088F7320; AOT_REGCACHE_SYNC_OUT(); return; L_088F7320: - aot_gpr_17 = (aot_gpr_16 | 0u); - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_17); + ctx.gpr[17] = (ctx.gpr[16] | 0u); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); goto L_088F7328; L_088F7328: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(8))); goto L_088F732C; L_088F732C: aot_gpr_31 = (0x088F7334u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F7334u) goto L_088F7334; AOT_REGCACHE_SYNC_OUT(); return; L_088F7334: - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (aot_gpr_2 | 0u); { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { @@ -7571,44 +7572,44 @@ L_088F7334: goto L_088F7340; } L_088F7340: - aot_gpr_17 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); - if (aot_gpr_17 != 0u) { - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + if (ctx.gpr[17] != 0u) { + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); goto L_088F7378; } goto L_088F734C; L_088F734C: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_31 = (0x088F7358u); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F7358u) goto L_088F7358; AOT_REGCACHE_SYNC_OUT(); return; L_088F7358: - aot_gpr_16 = (ctx.gpr[2] | 0u); - if (aot_gpr_16 == 0u) { - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_17); + ctx.gpr[16] = (aot_gpr_2 | 0u); + if (ctx.gpr[16] == 0u) { + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); goto L_088F7374; } goto L_088F7364; L_088F7364: aot_gpr_31 = (0x088F736Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F736Cu) goto L_088F736C; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F736Cu) goto L_088F736C; AOT_REGCACHE_SYNC_OUT(); return; L_088F736C: - aot_gpr_17 = (aot_gpr_16 | 0u); - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_17); + ctx.gpr[17] = (ctx.gpr[16] | 0u); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); goto L_088F7374; L_088F7374: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); goto L_088F7378; L_088F7378: aot_gpr_31 = (0x088F7380u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F7380u) goto L_088F7380; AOT_REGCACHE_SYNC_OUT(); return; L_088F7380: - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (aot_gpr_2 | 0u); { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { @@ -7617,38 +7618,38 @@ L_088F7380: goto L_088F738C; } L_088F738C: - aot_gpr_17 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); - { const bool branch_taken = aot_gpr_17 != 0u; - aot_gpr_4 = (aot_gpr_17 | 0u); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + { const bool branch_taken = ctx.gpr[17] != 0u; + aot_gpr_4 = (ctx.gpr[17] | 0u); if (branch_taken) { goto L_088F73C4; } goto L_088F7398; } L_088F7398: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_31 = (0x088F73A4u); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F73A4u) goto L_088F73A4; AOT_REGCACHE_SYNC_OUT(); return; L_088F73A4: - aot_gpr_16 = (ctx.gpr[2] | 0u); - if (aot_gpr_16 == 0u) { - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_17); + ctx.gpr[16] = (aot_gpr_2 | 0u); + if (ctx.gpr[16] == 0u) { + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); goto L_088F73C0; } goto L_088F73B0; L_088F73B0: aot_gpr_31 = (0x088F73B8u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F73B8u) goto L_088F73B8; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F73B8u) goto L_088F73B8; AOT_REGCACHE_SYNC_OUT(); return; L_088F73B8: - aot_gpr_17 = (aot_gpr_16 | 0u); - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_17); + ctx.gpr[17] = (ctx.gpr[16] | 0u); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); goto L_088F73C0; L_088F73C0: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); goto L_088F73C4; L_088F73C4: aot_gpr_31 = (0x088F73CCu); @@ -7656,7 +7657,7 @@ L_088F73C4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F73CCu) goto L_088F73CC; AOT_REGCACHE_SYNC_OUT(); return; L_088F73CC: - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (aot_gpr_2 | 0u); { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { @@ -7665,38 +7666,38 @@ L_088F73CC: goto L_088F73D8; } L_088F73D8: - aot_gpr_17 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); - { const bool branch_taken = aot_gpr_17 != 0u; - aot_gpr_4 = (aot_gpr_17 | 0u); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + { const bool branch_taken = ctx.gpr[17] != 0u; + aot_gpr_4 = (ctx.gpr[17] | 0u); if (branch_taken) { goto L_088F7410; } goto L_088F73E4; } L_088F73E4: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_31 = (0x088F73F0u); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F73F0u) goto L_088F73F0; AOT_REGCACHE_SYNC_OUT(); return; L_088F73F0: - aot_gpr_16 = (ctx.gpr[2] | 0u); - if (aot_gpr_16 == 0u) { - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_17); + ctx.gpr[16] = (aot_gpr_2 | 0u); + if (ctx.gpr[16] == 0u) { + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); goto L_088F740C; } goto L_088F73FC; L_088F73FC: aot_gpr_31 = (0x088F7404u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F7404u) goto L_088F7404; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F7404u) goto L_088F7404; AOT_REGCACHE_SYNC_OUT(); return; L_088F7404: - aot_gpr_17 = (aot_gpr_16 | 0u); - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_17); + ctx.gpr[17] = (ctx.gpr[16] | 0u); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); goto L_088F740C; L_088F740C: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); goto L_088F7410; L_088F7410: aot_gpr_31 = (0x088F7418u); @@ -7704,7 +7705,7 @@ L_088F7410: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F7418u) goto L_088F7418; AOT_REGCACHE_SYNC_OUT(); return; L_088F7418: - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (aot_gpr_2 | 0u); { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { @@ -7713,7 +7714,7 @@ L_088F7418: goto L_088F7424; } L_088F7424: - { const bool branch_taken = aot_gpr_16 == 0u; + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_088F749C; @@ -7723,34 +7724,34 @@ L_088F7424: L_088F742C: aot_gpr_31 = (0x088F7434u); aot_gpr_4 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F7434u) goto L_088F7434; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C498, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F7434u) goto L_088F7434; AOT_REGCACHE_SYNC_OUT(); return; L_088F7434: aot_gpr_31 = (0x088F743Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F743Cu) goto L_088F743C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C05C, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[16], aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F743Cu) goto L_088F743C; AOT_REGCACHE_SYNC_OUT(); return; L_088F743C: aot_gpr_31 = (0x088F7444u); aot_gpr_4 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F7444u) goto L_088F7444; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C604, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F7444u) goto L_088F7444; AOT_REGCACHE_SYNC_OUT(); return; L_088F7444: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(20))); aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(21))); - ctx.gpr[6] = (aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(22))); + aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(22))); ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(23))); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_5 = (aot_gpr_5 & 255u); - ctx.gpr[6] = (ctx.gpr[6] & 255u); + aot_gpr_6 = (aot_gpr_6 & 255u); ctx.gpr[7] = (ctx.gpr[7] & 255u); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(0), static_cast(aot_gpr_4)); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(1), static_cast(aot_gpr_5)); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(2), static_cast(ctx.gpr[6])); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(3), static_cast(ctx.gpr[7])); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(0), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(1), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(2), static_cast(aot_gpr_6)); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(3), static_cast(ctx.gpr[7])); aot_gpr_31 = (0x088F747Cu); - aot_gpr_4 = (aot_gpr_29 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F747Cu) goto L_088F747C; + aot_gpr_4 = (ctx.gpr[29] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C4A8, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F747Cu) goto L_088F747C; AOT_REGCACHE_SYNC_OUT(); return; L_088F747C: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); @@ -7758,28 +7759,28 @@ L_088F747C: aot_gpr_5 = (std::bit_cast(aot_fpr_12)); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); aot_fpr_13 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_13)); - ctx.gpr[6] = (std::bit_cast(aot_fpr_13)); + aot_gpr_6 = (std::bit_cast(aot_fpr_13)); aot_gpr_31 = (0x088F749Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F749Cu) goto L_088F749C; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F749Cu) goto L_088F749C; AOT_REGCACHE_SYNC_OUT(); return; L_088F749C: aot_gpr_4 = (ctx.gpr[19] + static_cast(1)); ctx.gpr[19] = (aot_gpr_4 << 16u); ctx.gpr[19] = (static_cast(static_cast(ctx.gpr[19]) >> 16u)); - aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[28] + static_cast(8688))); + aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_28 + static_cast(8688))); aot_gpr_4 = (static_cast(ctx.gpr[19]) < static_cast(aot_gpr_4) ? 1u : 0u); if (aot_gpr_4 != 0u) { - ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(56))); + ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(56))); goto L_088F6F3C; } goto L_088F74B8; L_088F74B8: - aot_mem.aot_direct_store16(ctx.gpr[28] + static_cast(8688), static_cast(0u)); + aot_mem.aot_direct_store16(aot_gpr_28 + static_cast(8688), static_cast(0u)); { std::uint32_t aot_run_words[10]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(60), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(60), aot_run_words); + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -7790,16 +7791,16 @@ L_088F74B8: aot_gpr_31 = aot_run_words[9]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(112)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(112)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_088F74EC: - aot_gpr_29 = (aot_gpr_29 + static_cast(-96)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(76), aot_run_words); } - aot_gpr_17 = (aot_gpr_4 & 65535u); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-96)); + { const std::uint32_t aot_run_words[3]{ctx.gpr[16], ctx.gpr[17], aot_gpr_31}; + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(76), aot_run_words); } + ctx.gpr[17] = (aot_gpr_4 & 65535u); { const bool branch_taken = static_cast(aot_gpr_5) <= 0; aot_gpr_4 = (aot_gpr_5 | 0u); if (branch_taken) { @@ -7809,36 +7810,36 @@ L_088F74EC: } L_088F7508: aot_gpr_5 = (aot_gpr_4 << 8u); - ctx.gpr[6] = (aot_gpr_4 + aot_gpr_4); - ctx.gpr[6] = (aot_gpr_4 + ctx.gpr[6]); - ctx.gpr[6] = (ctx.gpr[6] << 5u); - aot_gpr_5 = (aot_gpr_5 + ctx.gpr[6]); - ctx.gpr[6] = (2238u << 16u); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(-6992)); - aot_gpr_5 = (aot_gpr_5 + ctx.gpr[6]); + aot_gpr_6 = (aot_gpr_4 + aot_gpr_4); + aot_gpr_6 = (aot_gpr_4 + aot_gpr_6); + aot_gpr_6 = (aot_gpr_6 << 5u); + aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); + aot_gpr_6 = (2238u << 16u); + aot_gpr_6 = (aot_gpr_6 + static_cast(-6992)); + aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); { const bool branch_taken = 0u == 0u; - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); if (branch_taken) { goto L_088F7558; } goto L_088F7530; } L_088F7530: - aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7800))); - ctx.gpr[6] = (aot_gpr_5 << 8u); + aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(7800))); + aot_gpr_6 = (aot_gpr_5 << 8u); ctx.gpr[7] = (aot_gpr_5 + aot_gpr_5); aot_gpr_5 = (aot_gpr_5 + ctx.gpr[7]); aot_gpr_5 = (aot_gpr_5 << 5u); - aot_gpr_5 = (ctx.gpr[6] + aot_gpr_5); - ctx.gpr[6] = (2238u << 16u); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(-6992)); - aot_gpr_5 = (aot_gpr_5 + ctx.gpr[6]); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); + aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); + aot_gpr_6 = (2238u << 16u); + aot_gpr_6 = (aot_gpr_6 + static_cast(-6992)); + aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); goto L_088F7558; L_088F7558: - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(104))); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(104))); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(156))); - { const bool branch_taken = aot_gpr_17 == aot_gpr_5; + { const bool branch_taken = ctx.gpr[17] == aot_gpr_5; // nop if (branch_taken) { goto L_088F7680; @@ -7846,9 +7847,9 @@ L_088F7558: goto L_088F7568; } L_088F7568: - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(104))); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(104))); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(158))); - { const bool branch_taken = aot_gpr_17 == aot_gpr_5; + { const bool branch_taken = ctx.gpr[17] == aot_gpr_5; // nop if (branch_taken) { goto L_088F7638; @@ -7856,9 +7857,9 @@ L_088F7568: goto L_088F7578; } L_088F7578: - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(104))); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(104))); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(160))); - { const bool branch_taken = aot_gpr_17 == aot_gpr_5; + { const bool branch_taken = ctx.gpr[17] == aot_gpr_5; // nop if (branch_taken) { goto L_088F7620; @@ -7866,9 +7867,9 @@ L_088F7578: goto L_088F7588; } L_088F7588: - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(104))); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(104))); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(162))); - { const bool branch_taken = aot_gpr_17 == aot_gpr_5; + { const bool branch_taken = ctx.gpr[17] == aot_gpr_5; // nop if (branch_taken) { goto L_088F75D8; @@ -7876,9 +7877,9 @@ L_088F7588: goto L_088F7598; } L_088F7598: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(104))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(104))); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(164))); - { const bool branch_taken = aot_gpr_17 == aot_gpr_4; + { const bool branch_taken = ctx.gpr[17] == aot_gpr_4; // nop if (branch_taken) { goto L_088F75C0; @@ -7886,9 +7887,9 @@ L_088F7598: goto L_088F75A8; } L_088F75A8: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(104))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(104))); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(166))); - { const bool branch_taken = aot_gpr_17 == aot_gpr_4; + { const bool branch_taken = ctx.gpr[17] == aot_gpr_4; // nop if (branch_taken) { goto L_088F76B8; @@ -7904,15 +7905,15 @@ L_088F75B8: goto L_088F75C0; } L_088F75C0: - aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); + aot_gpr_4 = (aot_gpr_28 + static_cast(7768)); aot_gpr_5 = (0u | 84u); aot_gpr_31 = (0x088F75D0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 553u, 0x08A062F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F75D0u) goto L_088F75D0; AOT_REGCACHE_SYNC_OUT(); return; L_088F75D0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_088F79A8; } @@ -7920,8 +7921,8 @@ L_088F75D0: } L_088F75D8: aot_gpr_5 = (aot_gpr_4 << 8u); - ctx.gpr[6] = (aot_gpr_4 + aot_gpr_4); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_6 = (aot_gpr_4 + aot_gpr_4); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); aot_gpr_4 = (aot_gpr_4 << 5u); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_5 = (2238u << 16u); @@ -7930,31 +7931,31 @@ L_088F75D8: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(336))); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(1252), std::bit_cast(aot_fpr_12)); - aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(1252), std::bit_cast(aot_fpr_12)); + aot_gpr_4 = (aot_gpr_28 + static_cast(7768)); aot_gpr_5 = (0u | 79u); aot_gpr_31 = (0x088F7618u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 553u, 0x08A062F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F7618u) goto L_088F7618; AOT_REGCACHE_SYNC_OUT(); return; L_088F7618: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_088F79A8; } goto L_088F7620; } L_088F7620: - aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); + aot_gpr_4 = (aot_gpr_28 + static_cast(7768)); aot_gpr_5 = (0u | 84u); aot_gpr_31 = (0x088F7630u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 553u, 0x08A062F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F7630u) goto L_088F7630; AOT_REGCACHE_SYNC_OUT(); return; L_088F7630: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_088F79A8; } @@ -7962,8 +7963,8 @@ L_088F7630: } L_088F7638: aot_gpr_5 = (aot_gpr_4 << 8u); - ctx.gpr[6] = (aot_gpr_4 + aot_gpr_4); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_6 = (aot_gpr_4 + aot_gpr_4); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); aot_gpr_4 = (aot_gpr_4 << 5u); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_5 = (2238u << 16u); @@ -7972,39 +7973,39 @@ L_088F7638: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(337))); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(1256), std::bit_cast(aot_fpr_12)); - aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(1256), std::bit_cast(aot_fpr_12)); + aot_gpr_4 = (aot_gpr_28 + static_cast(7768)); aot_gpr_5 = (0u | 83u); aot_gpr_31 = (0x088F7678u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 553u, 0x08A062F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F7678u) goto L_088F7678; AOT_REGCACHE_SYNC_OUT(); return; L_088F7678: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_088F79A8; } goto L_088F7680; } L_088F7680: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(3261)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(3261)))))); aot_gpr_4 = (aot_gpr_4 | 8u); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(3261), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(3261), static_cast(aot_gpr_4)); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7660))); aot_gpr_4 = (aot_gpr_4 + static_cast(20000)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(3192), aot_gpr_4); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(3160))); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(3264), std::bit_cast(aot_fpr_12)); - aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(3192), aot_gpr_4); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(3160))); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(3264), std::bit_cast(aot_fpr_12)); + aot_gpr_4 = (aot_gpr_28 + static_cast(7768)); aot_gpr_5 = (0u | 82u); aot_gpr_31 = (0x088F76B0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 553u, 0x08A062F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F76B0u) goto L_088F76B0; AOT_REGCACHE_SYNC_OUT(); return; L_088F76B0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_088F79A8; } @@ -8012,43 +8013,43 @@ L_088F76B0: } L_088F76B8: aot_gpr_31 = (0x088F76C0u); - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F76C0u) goto L_088F76C0; AOT_REGCACHE_SYNC_OUT(); return; L_088F76C0: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(2320))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(2320))); aot_gpr_4 = (aot_gpr_4 + static_cast(-1)); - aot_gpr_5 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_17) ? 1u : 0u); + aot_gpr_5 = (static_cast(aot_gpr_4) < static_cast(ctx.gpr[17]) ? 1u : 0u); if (aot_gpr_5 != 0u) { - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); goto L_088F76D4; } goto L_088F76D4; L_088F76D4: aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_31 = (0x088F76E0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 655u, 0x08947470u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F76E0u) goto L_088F76E0; AOT_REGCACHE_SYNC_OUT(); return; L_088F76E0: - aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); + aot_gpr_4 = (aot_gpr_28 + static_cast(7768)); aot_gpr_5 = (0u | 84u); aot_gpr_31 = (0x088F76F0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 553u, 0x08A062F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F76F0u) goto L_088F76F0; AOT_REGCACHE_SYNC_OUT(); return; L_088F76F0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_088F79A8; } goto L_088F76F8; } L_088F76F8: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(104))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(104))); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(168))); - { const bool branch_taken = aot_gpr_17 == aot_gpr_4; + { const bool branch_taken = ctx.gpr[17] == aot_gpr_4; // nop if (branch_taken) { goto L_088F7718; @@ -8056,9 +8057,9 @@ L_088F76F8: goto L_088F7708; } L_088F7708: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(104))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(104))); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(170))); - { const bool branch_taken = aot_gpr_17 != aot_gpr_4; + { const bool branch_taken = ctx.gpr[17] != aot_gpr_4; // nop if (branch_taken) { goto L_088F7750; @@ -8066,16 +8067,16 @@ L_088F7708: goto L_088F7718; } L_088F7718: - aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); + aot_gpr_4 = (aot_gpr_28 + static_cast(7768)); aot_gpr_5 = (0u | 84u); aot_gpr_31 = (0x088F7728u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 553u, 0x08A062F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F7728u) goto L_088F7728; AOT_REGCACHE_SYNC_OUT(); return; L_088F7728: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(104))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(104))); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(168))); - { const bool branch_taken = aot_gpr_17 != aot_gpr_4; + { const bool branch_taken = ctx.gpr[17] != aot_gpr_4; // nop if (branch_taken) { goto L_088F7744; @@ -8085,27 +8086,27 @@ L_088F7728: L_088F7738: aot_gpr_4 = (0u | 1u); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(8725), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(8725), static_cast(aot_gpr_4)); if (branch_taken) { goto L_088F7748; } goto L_088F7744; } L_088F7744: - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(8725), static_cast(0u)); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(8725), static_cast(0u)); goto L_088F7748; L_088F7748: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_088F79A8; } goto L_088F7750; } L_088F7750: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(104))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(104))); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(152))); - { const bool branch_taken = aot_gpr_17 != aot_gpr_4; + { const bool branch_taken = ctx.gpr[17] != aot_gpr_4; // nop if (branch_taken) { goto L_088F7918; @@ -8118,7 +8119,7 @@ L_088F7760: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F7768u) goto L_088F7768; AOT_REGCACHE_SYNC_OUT(); return; L_088F7768: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(1152))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(1152))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -8128,11 +8129,11 @@ L_088F7768: } L_088F7774: aot_gpr_31 = (0x088F777Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 195u, 0x08910B38u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F777Cu) goto L_088F777C; AOT_REGCACHE_SYNC_OUT(); return; L_088F777C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088F7910; @@ -8140,81 +8141,81 @@ L_088F777C: goto L_088F7784; } L_088F7784: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); goto L_088F77BC; } goto L_088F7790; L_088F7790: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_31 = (0x088F779Cu); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F779Cu) goto L_088F779C; AOT_REGCACHE_SYNC_OUT(); return; L_088F779C: - aot_gpr_16 = (ctx.gpr[2] | 0u); - if (aot_gpr_16 == 0u) { - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_17); + ctx.gpr[16] = (aot_gpr_2 | 0u); + if (ctx.gpr[16] == 0u) { + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); goto L_088F77B8; } goto L_088F77A8; L_088F77A8: aot_gpr_31 = (0x088F77B0u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F77B0u) goto L_088F77B0; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F77B0u) goto L_088F77B0; AOT_REGCACHE_SYNC_OUT(); return; L_088F77B0: - aot_gpr_17 = (aot_gpr_16 | 0u); - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_17); + ctx.gpr[17] = (ctx.gpr[16] | 0u); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); goto L_088F77B8; L_088F77B8: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); goto L_088F77BC; L_088F77BC: aot_gpr_31 = (0x088F77C4u); - aot_gpr_5 = (ctx.gpr[28] + static_cast(-22956)); + aot_gpr_5 = (aot_gpr_28 + static_cast(-22956)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F77C4u) goto L_088F77C4; AOT_REGCACHE_SYNC_OUT(); return; L_088F77C4: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 1000u); aot_gpr_31 = (0x088F77D4u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0173_entry, 173u, 246u, 0x08AB9448u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F77D4u) goto L_088F77D4; AOT_REGCACHE_SYNC_OUT(); return; L_088F77D4: aot_gpr_4 = (0u | 11u); - aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(26), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(8724))); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(28), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store16(ctx.gpr[29] + static_cast(26), static_cast(aot_gpr_4)); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(8724))); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(28), static_cast(aot_gpr_4)); aot_gpr_4 = (2237u << 16u); - aot_gpr_16 = (aot_gpr_4 + static_cast(-28736)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(100))); + ctx.gpr[16] = (aot_gpr_4 + static_cast(-28736)); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(100))); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(52))); - aot_mem.aot_direct_store_word_right(aot_gpr_29 + static_cast(29), aot_gpr_4); - aot_mem.aot_direct_store_word_left(aot_gpr_29 + static_cast(32), aot_gpr_4); + aot_mem.aot_direct_store_word_right(ctx.gpr[29] + static_cast(29), aot_gpr_4); + aot_mem.aot_direct_store_word_left(ctx.gpr[29] + static_cast(32), aot_gpr_4); aot_gpr_31 = (0x088F7804u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F7804u) goto L_088F7804; AOT_REGCACHE_SYNC_OUT(); return; L_088F7804: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(104))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(104))); aot_gpr_4 = (aot_gpr_5 + static_cast(4)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); { const bool branch_taken = aot_gpr_4 == 0u; - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(1152))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(1152))); if (branch_taken) { goto L_088F784C; } goto L_088F7818; } L_088F7818: - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(52), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(52), static_cast(0u)); goto L_088F781C; L_088F781C: ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); - ctx.gpr[7] = (ctx.gpr[7] < ctx.gpr[6] ? 1u : 0u); + ctx.gpr[7] = (ctx.gpr[7] < aot_gpr_6 ? 1u : 0u); ctx.gpr[7] = (ctx.gpr[7] & 255u); if (ctx.gpr[7] != 0u) { aot_gpr_4 = (aot_gpr_4 + static_cast(12)); @@ -8236,7 +8237,7 @@ L_088F7840: goto L_088F7844; L_088F7844: if (aot_gpr_4 != 0u) { - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(52), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(52), static_cast(0u)); goto L_088F781C; } goto L_088F784C; @@ -8252,12 +8253,12 @@ L_088F784C: goto L_088F7860; } L_088F7860: - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(53), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(53), static_cast(0u)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(16))); - aot_gpr_4 = (ctx.gpr[6] < aot_gpr_4 ? 1u : 0u); + aot_gpr_4 = (aot_gpr_6 < aot_gpr_4 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); if (aot_gpr_4 == 0u) { - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(48), aot_gpr_5); goto L_088F7888; } goto L_088F7878; @@ -8267,24 +8268,24 @@ L_088F7878: L_088F787C: aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(104))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(48), aot_gpr_5); goto L_088F7888; L_088F7888: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(48))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), aot_gpr_4); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(48))); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(44), aot_gpr_4); aot_gpr_4 = (2237u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(104))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(44))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(40))); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(64), aot_gpr_4); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(64))); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(40), aot_gpr_4); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(44))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(40))); aot_gpr_4 = (aot_gpr_4 ^ aot_gpr_5); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); if (aot_gpr_4 == 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(44))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(44))); goto L_088F78CC; } goto L_088F78C4; @@ -8301,38 +8302,38 @@ L_088F78CC: goto L_088F78D0; L_088F78D0: aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(8))); - aot_mem.aot_direct_store_word_right(aot_gpr_29 + static_cast(33), aot_gpr_4); - aot_mem.aot_direct_store_word_left(aot_gpr_29 + static_cast(36), aot_gpr_4); + aot_mem.aot_direct_store_word_right(ctx.gpr[29] + static_cast(33), aot_gpr_4); + aot_mem.aot_direct_store_word_left(ctx.gpr[29] + static_cast(36), aot_gpr_4); aot_gpr_4 = (2237u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); - aot_gpr_16 = (aot_gpr_29 + static_cast(26)); - aot_gpr_5 = (aot_gpr_16 | 0u); + ctx.gpr[16] = (ctx.gpr[29] + static_cast(26)); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x088F78F4u); - ctx.gpr[6] = (0u + static_cast(-1)); + aot_gpr_6 = (0u + static_cast(-1)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 189u, 0x08ADCA34u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F78F4u) goto L_088F78F4; AOT_REGCACHE_SYNC_OUT(); return; L_088F78F4: - aot_gpr_5 = (aot_mem.aot_direct_load_word_right(aot_gpr_29 + static_cast(29), aot_gpr_5)); - aot_gpr_5 = (aot_mem.aot_direct_load_word_left(aot_gpr_29 + static_cast(32), aot_gpr_5)); - aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(24), static_cast(0u)); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(24)))))); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_5 = (aot_mem.aot_direct_load_word_right(ctx.gpr[29] + static_cast(29), aot_gpr_5)); + aot_gpr_5 = (aot_mem.aot_direct_load_word_left(ctx.gpr[29] + static_cast(32), aot_gpr_5)); + aot_mem.aot_direct_store16(ctx.gpr[29] + static_cast(24), static_cast(0u)); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[29] + static_cast(24)))))); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x088F7910u); ctx.gpr[7] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 795u, 0x08A3716Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F7910u) goto L_088F7910; AOT_REGCACHE_SYNC_OUT(); return; L_088F7910: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_088F79A8; } goto L_088F7918; } L_088F7918: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(104))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(104))); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(154))); - { const bool branch_taken = aot_gpr_17 != aot_gpr_4; + { const bool branch_taken = ctx.gpr[17] != aot_gpr_4; // nop if (branch_taken) { goto L_088F79A4; @@ -8341,11 +8342,11 @@ L_088F7918: } L_088F7928: aot_gpr_31 = (0x088F7930u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 195u, 0x08910B38u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F7930u) goto L_088F7930; AOT_REGCACHE_SYNC_OUT(); return; L_088F7930: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088F799C; @@ -8353,47 +8354,47 @@ L_088F7930: goto L_088F7938; } L_088F7938: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); goto L_088F7970; } goto L_088F7944; L_088F7944: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_31 = (0x088F7950u); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F7950u) goto L_088F7950; AOT_REGCACHE_SYNC_OUT(); return; L_088F7950: - aot_gpr_16 = (ctx.gpr[2] | 0u); - if (aot_gpr_16 == 0u) { - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_17); + ctx.gpr[16] = (aot_gpr_2 | 0u); + if (ctx.gpr[16] == 0u) { + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); goto L_088F796C; } goto L_088F795C; L_088F795C: aot_gpr_31 = (0x088F7964u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F7964u) goto L_088F7964; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F7964u) goto L_088F7964; AOT_REGCACHE_SYNC_OUT(); return; L_088F7964: - aot_gpr_17 = (aot_gpr_16 | 0u); - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_17); + ctx.gpr[17] = (ctx.gpr[16] | 0u); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); goto L_088F796C; L_088F796C: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); goto L_088F7970; L_088F7970: aot_gpr_31 = (0x088F7978u); - aot_gpr_5 = (ctx.gpr[28] + static_cast(-22948)); + aot_gpr_5 = (aot_gpr_28 + static_cast(-22948)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F7978u) goto L_088F7978; AOT_REGCACHE_SYNC_OUT(); return; L_088F7978: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 1000u); aot_gpr_31 = (0x088F7988u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0173_entry, 173u, 246u, 0x08AB9448u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F7988u) goto L_088F7988; AOT_REGCACHE_SYNC_OUT(); return; L_088F7988: @@ -8402,46 +8403,46 @@ L_088F7988: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F7990u) goto L_088F7990; AOT_REGCACHE_SYNC_OUT(); return; L_088F7990: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x088F799Cu); aot_gpr_5 = (0u | 30000u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 726u, 0x089477FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F799Cu) goto L_088F799C; AOT_REGCACHE_SYNC_OUT(); return; L_088F799C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_088F79A8; } goto L_088F79A4; } L_088F79A4: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_088F79A8; L_088F79A8: { std::uint32_t aot_run_words[3]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(76), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(76), aot_run_words); + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(96)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(96)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_088F79BC: - aot_gpr_29 = (aot_gpr_29 + static_cast(-208)); - { const std::uint32_t aot_run_words[11]{std::bit_cast(ctx.fpr[20]), aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(152), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-208)); + { const std::uint32_t aot_run_words[11]{std::bit_cast(ctx.fpr[20]), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(152), aot_run_words); } + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_31 = (0x088F79F8u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 195u, 0x08910B38u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F79F8u) goto L_088F79F8; AOT_REGCACHE_SYNC_OUT(); return; L_088F79F8: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_088F7A14; @@ -8449,7 +8450,7 @@ L_088F79F8: goto L_088F7A00; } L_088F7A00: - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7080))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-7080))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -8475,11 +8476,11 @@ L_088F7A14: } L_088F7A1C: aot_gpr_31 = (0x088F7A24u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F7A24u) goto L_088F7A24; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F7A24u) goto L_088F7A24; AOT_REGCACHE_SYNC_OUT(); return; L_088F7A24: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088F7DB4; @@ -8492,7 +8493,7 @@ L_088F7A2C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 562u, 0x08A363C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F7A34u) goto L_088F7A34; AOT_REGCACHE_SYNC_OUT(); return; L_088F7A34: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088F7B10; @@ -8506,32 +8507,32 @@ L_088F7A3C: AOT_REGCACHE_SYNC_OUT(); return; L_088F7A44: aot_gpr_31 = (0x088F7A4Cu); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 745u, 0x08947944u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F7A4Cu) goto L_088F7A4C; AOT_REGCACHE_SYNC_OUT(); return; L_088F7A4C: - ctx.gpr[6] = (aot_gpr_29 + static_cast(4)); - ctx.gpr[7] = (aot_gpr_29 + static_cast(8)); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[29] + static_cast(4)); + ctx.gpr[7] = (ctx.gpr[29] + static_cast(8)); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x088F7A60u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); goto L_088F7DF0; L_088F7A60: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(8))); aot_gpr_4 = (16153u << 16u); aot_gpr_4 = (aot_gpr_4 | 39322u); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), std::bit_cast(aot_fpr_12)); - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8728))); - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8732))); - aot_gpr_5 = (aot_gpr_5 - ctx.gpr[6]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(8), std::bit_cast(aot_fpr_12)); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8728))); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7660))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8732))); + aot_gpr_5 = (aot_gpr_5 - aot_gpr_6); aot_gpr_4 = (aot_gpr_4 - aot_gpr_5); aot_gpr_5 = (0u | 1000u); { const std::int32_t dividend = static_cast(aot_gpr_4); const std::int32_t divisor = static_cast(aot_gpr_5); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } ctx.gpr[7] = (ctx.lo); - { const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[29] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -8540,28 +8541,28 @@ L_088F7A60: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_4 = (aot_gpr_29 + static_cast(48)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(48)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(104))); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(104))); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(168))); - ctx.gpr[6] = (0u | 16u); + aot_gpr_6 = (0u | 16u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); aot_gpr_31 = (0x088F7AC0u); ctx.gpr[10] = (0u | 0u); goto L_088F5A3C; L_088F7AC0: - aot_gpr_17 = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); ctx.gpr[18] = (0u | 0u); aot_gpr_31 = (0x088F7AD0u); aot_gpr_4 = (0u | 132u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F7AD0u) goto L_088F7AD0; AOT_REGCACHE_SYNC_OUT(); return; L_088F7AD0: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[19] == 0u; aot_gpr_4 = (ctx.gpr[19] | 0u); if (branch_taken) { @@ -8571,7 +8572,7 @@ L_088F7AD0: } L_088F7ADC: aot_gpr_31 = (0x088F7AE4u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0129_entry, 129u, 314u, 0x08A0A1DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F7AE4u) goto L_088F7AE4; AOT_REGCACHE_SYNC_OUT(); return; L_088F7AE4: @@ -8586,7 +8587,7 @@ L_088F7AE8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0075_entry, 75u, 759u, 0x08933F0Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F7AFCu) goto L_088F7AFC; AOT_REGCACHE_SYNC_OUT(); return; L_088F7AFC: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x088F7B08u); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0045_entry, 45u, 623u, 0x088BAFE8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F7B08u) goto L_088F7B08; @@ -8606,11 +8607,11 @@ L_088F7B10: AOT_REGCACHE_SYNC_OUT(); return; L_088F7B18: aot_gpr_31 = (0x088F7B20u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 695u, 0x0894763Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F7B20u) goto L_088F7B20; AOT_REGCACHE_SYNC_OUT(); return; L_088F7B20: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_088F7B40; @@ -8624,11 +8625,11 @@ L_088F7B28: AOT_REGCACHE_SYNC_OUT(); return; L_088F7B30: aot_gpr_31 = (0x088F7B38u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 710u, 0x089476E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F7B38u) goto L_088F7B38; AOT_REGCACHE_SYNC_OUT(); return; L_088F7B38: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088F7B90; @@ -8636,25 +8637,25 @@ L_088F7B38: goto L_088F7B40; } L_088F7B40: - ctx.gpr[6] = (aot_gpr_29 + static_cast(4)); - ctx.gpr[7] = (aot_gpr_29 + static_cast(8)); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[29] + static_cast(4)); + ctx.gpr[7] = (ctx.gpr[29] + static_cast(8)); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x088F7B54u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); goto L_088F7DF0; L_088F7B54: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(8))); aot_gpr_4 = (16153u << 16u); aot_gpr_4 = (aot_gpr_4 | 39322u); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(8), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x088F7B74u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F7B74u) goto L_088F7B74; AOT_REGCACHE_SYNC_OUT(); return; L_088F7B74: - { const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[29] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -8663,13 +8664,13 @@ L_088F7B74: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_5 = (aot_gpr_29 + static_cast(64)); + aot_gpr_5 = (ctx.gpr[29] + static_cast(64)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_31 = (0x088F7B88u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 751u, 0x08947990u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F7B88u) goto L_088F7B88; AOT_REGCACHE_SYNC_OUT(); return; L_088F7B88: @@ -8681,23 +8682,23 @@ L_088F7B88: goto L_088F7B90; } L_088F7B90: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1929)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(1929)))))); aot_gpr_5 = (aot_gpr_4 << 5u); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - aot_gpr_4 = (static_cast(aot_gpr_17) < 38 ? 1u : 0u); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); + aot_gpr_4 = (static_cast(ctx.gpr[17]) < 38 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_4 = (static_cast(aot_gpr_17) < 51 ? 1u : 0u); + aot_gpr_4 = (static_cast(ctx.gpr[17]) < 51 ? 1u : 0u); if (branch_taken) { goto L_088F7BC8; } goto L_088F7BB8; } L_088F7BB8: - { const bool branch_taken = aot_gpr_17 == 0u; + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_088F7BD0; @@ -8730,7 +8731,7 @@ L_088F7BD0: } L_088F7BD8: aot_gpr_4 = (0u | 13u); - { const bool branch_taken = aot_gpr_17 != aot_gpr_4; + { const bool branch_taken = ctx.gpr[17] != aot_gpr_4; // nop if (branch_taken) { goto L_088F7BE8; @@ -8738,31 +8739,31 @@ L_088F7BD8: goto L_088F7BE4; } L_088F7BE4: - aot_gpr_17 = (0u | 36u); + ctx.gpr[17] = (0u | 36u); goto L_088F7BE8; L_088F7BE8: - ctx.gpr[6] = (aot_gpr_29 + static_cast(4)); - ctx.gpr[7] = (aot_gpr_29 + static_cast(8)); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[29] + static_cast(4)); + ctx.gpr[7] = (ctx.gpr[29] + static_cast(8)); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x088F7BFCu); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); goto L_088F7DF0; L_088F7BFC: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(8))); aot_gpr_4 = (16025u << 16u); aot_gpr_4 = (aot_gpr_4 | 39322u); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), std::bit_cast(aot_fpr_12)); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1929)))))); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(8), std::bit_cast(aot_fpr_12)); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(1929)))))); aot_gpr_5 = (aot_gpr_4 << 5u); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); ctx.gpr[7] = (ctx.gpr[7] & 65535u); - { const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[29] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -8771,13 +8772,13 @@ L_088F7BFC: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_4 = (aot_gpr_29 + static_cast(80)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(80)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[6] = (0u | 4u); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_6 = (0u | 4u); ctx.gpr[8] = (0u | 0u); aot_gpr_31 = (0x088F7C54u); ctx.gpr[9] = (0u | 0u); @@ -8794,21 +8795,21 @@ L_088F7C54: L_088F7C5C: ctx.gpr[19] = (0u | 0u); ctx.gpr[21] = (0u | 36u); - aot_gpr_17 = (aot_gpr_29 + static_cast(4)); - ctx.gpr[18] = (aot_gpr_29 + static_cast(8)); + ctx.gpr[17] = (ctx.gpr[29] + static_cast(4)); + ctx.gpr[18] = (ctx.gpr[29] + static_cast(8)); aot_gpr_4 = (16025u << 16u); aot_gpr_4 = (aot_gpr_4 | 39322u); ctx.fpr[20] = std::bit_cast(aot_gpr_4); - ctx.gpr[22] = (aot_gpr_29 + static_cast(96)); + ctx.gpr[22] = (ctx.gpr[29] + static_cast(96)); ctx.gpr[23] = (2233u << 16u); ctx.gpr[23] = (ctx.gpr[23] + static_cast(-5104)); - ctx.gpr[30] = (aot_gpr_29 + static_cast(128)); + ctx.gpr[30] = (ctx.gpr[29] + static_cast(128)); goto L_088F7C88; L_088F7C88: aot_gpr_4 = (ctx.gpr[19] << 5u); aot_gpr_5 = (ctx.gpr[19] << 2u); aot_gpr_4 = (aot_gpr_4 - aot_gpr_5); - ctx.gpr[20] = (aot_gpr_16 + aot_gpr_4); + ctx.gpr[20] = (ctx.gpr[16] + aot_gpr_4); ctx.gpr[20] = (ctx.gpr[20] + static_cast(1396)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(4))); { const bool branch_taken = aot_gpr_4 == 0u; @@ -8842,7 +8843,7 @@ L_088F7CC0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0143_entry, 143u, 159u, 0x08A40D34u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F7CC8u) goto L_088F7CC8; AOT_REGCACHE_SYNC_OUT(); return; L_088F7CC8: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_088F7D9C; @@ -8850,17 +8851,17 @@ L_088F7CC8: goto L_088F7CD0; } L_088F7CD0: - aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_29 | 0u); - ctx.gpr[6] = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); + aot_gpr_6 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088F7CE4u); ctx.gpr[7] = (ctx.gpr[18] | 0u); goto L_088F7DF0; L_088F7CE4: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(8))); aot_fpr_12 = aot_fpr_12 + ctx.fpr[20]; - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), std::bit_cast(aot_fpr_12)); - { const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(8), std::bit_cast(aot_fpr_12)); + { const std::uint32_t vfpu_address = ctx.gpr[29] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -8875,30 +8876,30 @@ L_088F7CE4: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(4))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(16))); - ctx.gpr[6] = (aot_gpr_4 + aot_gpr_4); - ctx.gpr[6] = (ctx.gpr[6] + ctx.gpr[23]); - ctx.gpr[6] = (aot_mem.aot_direct_load16(ctx.gpr[6] + static_cast(0))); - ctx.gpr[7] = (static_cast(static_cast(ctx.gpr[6]) >> 1u)); + aot_gpr_6 = (aot_gpr_4 + aot_gpr_4); + aot_gpr_6 = (aot_gpr_6 + ctx.gpr[23]); + aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(0))); + ctx.gpr[7] = (static_cast(static_cast(aot_gpr_6) >> 1u)); ctx.gpr[7] = (ctx.gpr[7] >> 31u); - ctx.gpr[6] = (ctx.gpr[6] + ctx.gpr[7]); - ctx.gpr[6] = (static_cast(static_cast(ctx.gpr[6]) >> 1u)); - ctx.gpr[7] = (static_cast(aot_gpr_5) < static_cast(ctx.gpr[6]) ? 1u : 0u); + aot_gpr_6 = (aot_gpr_6 + ctx.gpr[7]); + aot_gpr_6 = (static_cast(static_cast(aot_gpr_6) >> 1u)); + ctx.gpr[7] = (static_cast(aot_gpr_5) < static_cast(aot_gpr_6) ? 1u : 0u); if (ctx.gpr[7] != 0u) { - ctx.gpr[6] = (aot_gpr_5 | 0u); + aot_gpr_6 = (aot_gpr_5 | 0u); goto L_088F7D28; } goto L_088F7D28; L_088F7D28: - ctx.gpr[7] = (ctx.gpr[6] | 0u); + ctx.gpr[7] = (aot_gpr_6 | 0u); aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_4 = (ctx.gpr[22] | 0u); - ctx.gpr[6] = (0u | 4u); + aot_gpr_6 = (0u | 4u); aot_gpr_31 = (0x088F7D40u); ctx.gpr[8] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0059_entry, 59u, 578u, 0x088F2C14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F7D40u) goto L_088F7D40; AOT_REGCACHE_SYNC_OUT(); return; L_088F7D40: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_088F7D9C; @@ -8906,7 +8907,7 @@ L_088F7D40: goto L_088F7D48; } L_088F7D48: - { const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[29] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -8921,24 +8922,24 @@ L_088F7D48: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(4))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(16))); - ctx.gpr[6] = (aot_gpr_4 + aot_gpr_4); - ctx.gpr[6] = (ctx.gpr[6] + ctx.gpr[23]); - ctx.gpr[6] = (aot_mem.aot_direct_load16(ctx.gpr[6] + static_cast(0))); - ctx.gpr[7] = (static_cast(static_cast(ctx.gpr[6]) >> 1u)); + aot_gpr_6 = (aot_gpr_4 + aot_gpr_4); + aot_gpr_6 = (aot_gpr_6 + ctx.gpr[23]); + aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(0))); + ctx.gpr[7] = (static_cast(static_cast(aot_gpr_6) >> 1u)); ctx.gpr[7] = (ctx.gpr[7] >> 31u); - ctx.gpr[6] = (ctx.gpr[6] + ctx.gpr[7]); - ctx.gpr[6] = (static_cast(static_cast(ctx.gpr[6]) >> 1u)); - ctx.gpr[7] = (static_cast(aot_gpr_5) < static_cast(ctx.gpr[6]) ? 1u : 0u); + aot_gpr_6 = (aot_gpr_6 + ctx.gpr[7]); + aot_gpr_6 = (static_cast(static_cast(aot_gpr_6) >> 1u)); + ctx.gpr[7] = (static_cast(aot_gpr_5) < static_cast(aot_gpr_6) ? 1u : 0u); if (ctx.gpr[7] != 0u) { - ctx.gpr[6] = (aot_gpr_5 | 0u); + aot_gpr_6 = (aot_gpr_5 | 0u); goto L_088F7D80; } goto L_088F7D80; L_088F7D80: - ctx.gpr[7] = (ctx.gpr[6] | 0u); + ctx.gpr[7] = (aot_gpr_6 | 0u); aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_4 = (ctx.gpr[30] | 0u); - ctx.gpr[6] = (0u | 4u); + aot_gpr_6 = (0u | 4u); ctx.gpr[8] = (0u | 0u); aot_gpr_31 = (0x088F7D9Cu); ctx.gpr[9] = (0u | 0u); @@ -8958,15 +8959,15 @@ L_088F7D9C: } L_088F7DB4: aot_gpr_31 = (0x088F7DBCu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 79u, 0x0890849Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F7DBCu) goto L_088F7DBC; AOT_REGCACHE_SYNC_OUT(); return; L_088F7DBC: { std::uint32_t aot_run_words[11]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(152), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(152), aot_run_words); ctx.fpr[20] = std::bit_cast(aot_run_words[0]); - aot_gpr_16 = aot_run_words[1]; - aot_gpr_17 = aot_run_words[2]; + ctx.gpr[16] = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; ctx.gpr[19] = aot_run_words[4]; ctx.gpr[20] = aot_run_words[5]; @@ -8977,33 +8978,33 @@ L_088F7DBC: aot_gpr_31 = aot_run_words[10]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(208)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(208)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_088F7DF0: - aot_gpr_29 = (aot_gpr_29 + static_cast(-368)); - { const std::uint32_t aot_run_words[16]{std::bit_cast(ctx.fpr[20]), std::bit_cast(aot_fpr_22), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(296), aot_run_words); } + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-368)); + { const std::uint32_t aot_run_words[16]{std::bit_cast(ctx.fpr[20]), std::bit_cast(aot_fpr_22), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(296), aot_run_words); } ctx.gpr[19] = (0u | 0u); aot_gpr_4 = (aot_gpr_4 + static_cast(48)); - ctx.gpr[20] = (aot_gpr_29 + static_cast(16)); + ctx.gpr[20] = (ctx.gpr[29] + static_cast(16)); ctx.gpr[8] = (15561u << 16u); ctx.gpr[8] = (ctx.gpr[8] | 4059u); aot_fpr_22 = std::bit_cast(ctx.gpr[8]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(272), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(272), aot_gpr_4); aot_gpr_4 = (16320u << 16u); ctx.fpr[20] = std::bit_cast(aot_gpr_4); - ctx.gpr[18] = (aot_gpr_29 + static_cast(32)); - aot_gpr_17 = (aot_gpr_29 + static_cast(48)); - ctx.gpr[30] = (aot_gpr_29 + static_cast(112)); - ctx.gpr[23] = (aot_gpr_29 + static_cast(144)); - ctx.gpr[22] = (aot_gpr_29 + static_cast(128)); + ctx.gpr[18] = (ctx.gpr[29] + static_cast(32)); + ctx.gpr[17] = (ctx.gpr[29] + static_cast(48)); + ctx.gpr[30] = (ctx.gpr[29] + static_cast(112)); + ctx.gpr[23] = (ctx.gpr[29] + static_cast(144)); + ctx.gpr[22] = (ctx.gpr[29] + static_cast(128)); aot_gpr_4 = (16076u << 16u); aot_gpr_4 = (aot_gpr_4 | 52429u); ctx.fpr[24] = std::bit_cast(aot_gpr_4); - ctx.gpr[21] = (aot_gpr_29 + static_cast(96)); + ctx.gpr[21] = (ctx.gpr[29] + static_cast(96)); aot_gpr_4 = (16384u << 16u); ctx.fpr[30] = std::bit_cast(aot_gpr_4); aot_gpr_4 = (16294u << 16u); @@ -9012,13 +9013,13 @@ L_088F7DF0: aot_gpr_4 = (16281u << 16u); aot_gpr_4 = (aot_gpr_4 | 39322u); ctx.fpr[26] = std::bit_cast(aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(284), aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(276), ctx.gpr[7]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(280), ctx.gpr[6]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(288), std::bit_cast(ctx.fpr[26])); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(284), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(276), ctx.gpr[7]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(280), aot_gpr_6); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(288), std::bit_cast(ctx.fpr[26])); goto L_088F7EAC; L_088F7EAC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(272))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(272))); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -9033,11 +9034,11 @@ L_088F7EAC: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_31 = (0x088F7EC0u); - ctx.fpr[26] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F7EC0u) goto L_088F7EC0; + ctx.fpr[26] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(16))); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F7EC0u) goto L_088F7EC0; AOT_REGCACHE_SYNC_OUT(); return; L_088F7EC0: - aot_gpr_4 = (ctx.gpr[2] & 65535u); + aot_gpr_4 = (aot_gpr_2 & 65535u); aot_gpr_4 = (aot_gpr_4 & 255u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); @@ -9053,13 +9054,13 @@ L_088F7EC0: aot_fpr_13 = std::bit_cast(aot_gpr_4); { const float fs = aot_fpr_13; const float ft = ctx.fpr[20]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = ctx.fpr[26] + aot_fpr_12; - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(16), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x088F7F04u); - ctx.fpr[26] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F7F04u) goto L_088F7F04; + ctx.fpr[26] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(20))); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F7F04u) goto L_088F7F04; AOT_REGCACHE_SYNC_OUT(); return; L_088F7F04: - aot_gpr_4 = (ctx.gpr[2] & 65535u); + aot_gpr_4 = (aot_gpr_2 & 65535u); aot_gpr_4 = (aot_gpr_4 & 255u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); @@ -9075,30 +9076,30 @@ L_088F7F04: aot_fpr_13 = std::bit_cast(aot_gpr_4); { const float fs = aot_fpr_13; const float ft = ctx.fpr[20]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_fpr_13 = ctx.fpr[26] + aot_fpr_13; - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), std::bit_cast(aot_fpr_13)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(20), std::bit_cast(aot_fpr_13)); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(16))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(24))); aot_gpr_31 = (0x088F7F50u); - aot_gpr_4 = (aot_gpr_29 + static_cast(64)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(64)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 519u, 0x08893460u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F7F50u) goto L_088F7F50; AOT_REGCACHE_SYNC_OUT(); return; L_088F7F50: aot_gpr_4 = (16128u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_12 = ctx.fpr[0] + aot_fpr_12; - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), std::bit_cast(aot_fpr_12)); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(64))); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(24), std::bit_cast(aot_fpr_12)); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(64))); { const bool branch_taken = aot_gpr_4 == 0u; - ctx.fpr[26] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(288))); + ctx.fpr[26] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(288))); if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0061_entry, 61u, 17u, 0x088F817Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_088F7F6C; } L_088F7F6C: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(292), std::bit_cast(ctx.fpr[28])); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(288), std::bit_cast(ctx.fpr[26])); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(272))); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(292), std::bit_cast(ctx.fpr[28])); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(288), std::bit_cast(ctx.fpr[26])); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(272))); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -9115,9 +9116,9 @@ L_088F7F6C: aot_gpr_4 = (16025u << 16u); aot_gpr_4 = (aot_gpr_4 | 39322u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(40))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(40))); aot_fpr_12 = aot_fpr_13 + aot_fpr_12; - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(40), std::bit_cast(aot_fpr_12)); { const std::uint32_t vfpu_address = ctx.gpr[20] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -9128,10 +9129,10 @@ L_088F7F6C: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -9154,7 +9155,7 @@ L_088F7F6C: const std::uint32_t vfpu_address = ctx.gpr[30] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -9190,7 +9191,7 @@ L_088F7F6C: ctx.execute_vfpu_unary_ct<28u, 28u, 1u, 22u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_12 = std::bit_cast(aot_gpr_4); - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ diff --git a/profiles/vcs/generated/generated_unit_0061.cpp b/profiles/vcs/generated/generated_unit_0061.cpp index 89015ac..c5ceccf 100644 --- a/profiles/vcs/generated/generated_unit_0061.cpp +++ b/profiles/vcs/generated/generated_unit_0061.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0061[4095] = { }; void recomp_unit_0061_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,6,31,16 fprs=12,20,13,14 gpr_occ=3704 fpr_occ=130 gpr_total=5787 fpr_total=164 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,31,6,16 fprs=12,20,13,14 gpr_occ=3949 fpr_occ=130 gpr_total=6315 fpr_total=164 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; - std::uint32_t aot_gpr_6 = ctx.gpr[6]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; + std::uint32_t aot_gpr_6 = ctx.gpr[6]; std::uint32_t aot_gpr_16 = ctx.gpr[16]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_20 = ctx.fpr[20]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_14 = ctx.fpr[14]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[6] = aot_gpr_6; ctx.gpr[31] = aot_gpr_31; ctx.gpr[16] = aot_gpr_16; ctx.fpr[12] = aot_fpr_12; ctx.fpr[20] = aot_fpr_20; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_16 = ctx.gpr[16]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[31] = aot_gpr_31; ctx.gpr[6] = aot_gpr_6; ctx.gpr[16] = aot_gpr_16; ctx.fpr[12] = aot_fpr_12; ctx.fpr[20] = aot_fpr_20; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_16 = ctx.gpr[16]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -1470,7 +1471,7 @@ L_088F822C: L_088F8238: aot_gpr_31 = (0x088F8240u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F8240u) goto L_088F8240; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F8240u) goto L_088F8240; AOT_REGCACHE_SYNC_OUT(); return; L_088F8240: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -1911,7 +1912,7 @@ L_088F8624: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(72), aot_gpr_5); aot_gpr_31 = (0x088F8640u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-22920)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F8640u) goto L_088F8640; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F8640u) goto L_088F8640; AOT_REGCACHE_SYNC_OUT(); return; L_088F8640: aot_gpr_4 = (ctx.gpr[28] + static_cast(8736)); @@ -1953,7 +1954,7 @@ L_088F8674: L_088F8684: aot_gpr_31 = (0x088F868Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F868Cu) goto L_088F868C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F868Cu) goto L_088F868C; AOT_REGCACHE_SYNC_OUT(); return; L_088F868C: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -3074,7 +3075,7 @@ L_088F8DF8: L_088F8E00: aot_gpr_31 = (0x088F8E08u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(36))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F8E08u) goto L_088F8E08; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F8E08u) goto L_088F8E08; AOT_REGCACHE_SYNC_OUT(); return; L_088F8E08: ctx.gpr[2] = (aot_gpr_16 + ctx.gpr[2]); @@ -4971,7 +4972,7 @@ L_088F9AF0: L_088F9AF8: aot_gpr_31 = (0x088F9B00u); aot_gpr_4 = (ctx.gpr[22] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F9B00u) goto L_088F9B00; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F9B00u) goto L_088F9B00; AOT_REGCACHE_SYNC_OUT(); return; L_088F9B00: aot_gpr_4 = (ctx.gpr[18] + ctx.gpr[2]); @@ -5034,7 +5035,7 @@ L_088F9B78: L_088F9B84: aot_gpr_31 = (0x088F9B8Cu); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F9B8Cu) goto L_088F9B8C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F9B8Cu) goto L_088F9B8C; AOT_REGCACHE_SYNC_OUT(); return; L_088F9B8C: { std::uint32_t aot_run_words[3]{}; @@ -5503,7 +5504,7 @@ L_088F9F60: L_088F9F6C: aot_gpr_31 = (0x088F9F74u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F9F74u) goto L_088F9F74; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2E4, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F9F74u) goto L_088F9F74; AOT_REGCACHE_SYNC_OUT(); return; L_088F9F74: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), 0u); @@ -5519,7 +5520,7 @@ L_088F9F74: L_088F9F88: aot_gpr_31 = (0x088F9F90u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F9F90u) goto L_088F9F90; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2E4, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088F9F90u) goto L_088F9F90; AOT_REGCACHE_SYNC_OUT(); return; L_088F9F90: { const std::uint32_t aot_run_words[3]{0u, 0u, 0u}; @@ -5607,7 +5608,7 @@ L_088FA030: L_088FA03C: aot_gpr_31 = (0x088FA044u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FA044u) goto L_088FA044; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2E4, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FA044u) goto L_088FA044; AOT_REGCACHE_SYNC_OUT(); return; L_088FA044: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(84), 0u); @@ -5623,7 +5624,7 @@ L_088FA044: L_088FA058: aot_gpr_31 = (0x088FA060u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FA060u) goto L_088FA060; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2E4, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FA060u) goto L_088FA060; AOT_REGCACHE_SYNC_OUT(); return; L_088FA060: { const std::uint32_t aot_run_words[3]{0u, 0u, 0u}; @@ -5708,7 +5709,7 @@ L_088FA0FC: L_088FA108: aot_gpr_31 = (0x088FA110u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FA110u) goto L_088FA110; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2E4, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FA110u) goto L_088FA110; AOT_REGCACHE_SYNC_OUT(); return; L_088FA110: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(136), 0u); @@ -5724,7 +5725,7 @@ L_088FA110: L_088FA124: aot_gpr_31 = (0x088FA12Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FA12Cu) goto L_088FA12C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2E4, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FA12Cu) goto L_088FA12C; AOT_REGCACHE_SYNC_OUT(); return; L_088FA12C: { const std::uint32_t aot_run_words[3]{0u, 0u, 0u}; @@ -6091,7 +6092,7 @@ L_088FA3C4: L_088FA3D0: aot_gpr_31 = (0x088FA3D8u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FA3D8u) goto L_088FA3D8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2E4, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FA3D8u) goto L_088FA3D8; AOT_REGCACHE_SYNC_OUT(); return; L_088FA3D8: aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(60), 0u); @@ -6118,7 +6119,7 @@ L_088FA3F0: L_088FA3FC: aot_gpr_31 = (0x088FA404u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FA404u) goto L_088FA404; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FA404u) goto L_088FA404; AOT_REGCACHE_SYNC_OUT(); return; L_088FA404: { std::uint32_t aot_run_words[3]{}; @@ -6324,7 +6325,7 @@ L_088FA594: L_088FA5A0: aot_gpr_31 = (0x088FA5A8u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FA5A8u) goto L_088FA5A8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2E4, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FA5A8u) goto L_088FA5A8; AOT_REGCACHE_SYNC_OUT(); return; L_088FA5A8: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); @@ -6373,7 +6374,7 @@ L_088FA5E0: L_088FA5EC: aot_gpr_31 = (0x088FA5F4u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FA5F4u) goto L_088FA5F4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2E4, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FA5F4u) goto L_088FA5F4; AOT_REGCACHE_SYNC_OUT(); return; L_088FA5F4: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); @@ -6506,7 +6507,7 @@ L_088FA6C8: L_088FA6D4: aot_gpr_31 = (0x088FA6DCu); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FA6DCu) goto L_088FA6DC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2E4, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FA6DCu) goto L_088FA6DC; AOT_REGCACHE_SYNC_OUT(); return; L_088FA6DC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); @@ -6559,7 +6560,7 @@ L_088FA718: L_088FA724: aot_gpr_31 = (0x088FA72Cu); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FA72Cu) goto L_088FA72C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2E4, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FA72Cu) goto L_088FA72C; AOT_REGCACHE_SYNC_OUT(); return; L_088FA72C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); @@ -6608,7 +6609,7 @@ L_088FA764: L_088FA770: aot_gpr_31 = (0x088FA778u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FA778u) goto L_088FA778; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2E4, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FA778u) goto L_088FA778; AOT_REGCACHE_SYNC_OUT(); return; L_088FA778: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); @@ -6692,7 +6693,7 @@ L_088FA800: L_088FA80C: aot_gpr_31 = (0x088FA814u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FA814u) goto L_088FA814; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2E4, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FA814u) goto L_088FA814; AOT_REGCACHE_SYNC_OUT(); return; L_088FA814: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); @@ -6748,7 +6749,7 @@ L_088FA858: L_088FA868: aot_gpr_31 = (0x088FA870u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FA870u) goto L_088FA870; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2E4, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FA870u) goto L_088FA870; AOT_REGCACHE_SYNC_OUT(); return; L_088FA870: { const std::uint32_t aot_run_words[3]{0u, 0u, 0u}; @@ -6800,7 +6801,7 @@ L_088FA8C4: ctx.gpr[20] = (aot_gpr_4 + aot_gpr_5); aot_gpr_31 = (0x088FA8E4u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(0))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FA8E4u) goto L_088FA8E4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FA8E4u) goto L_088FA8E4; AOT_REGCACHE_SYNC_OUT(); return; L_088FA8E4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(4))); @@ -6845,7 +6846,7 @@ L_088FA90C: L_088FA940: aot_gpr_31 = (0x088FA948u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FA948u) goto L_088FA948; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2E4, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FA948u) goto L_088FA948; AOT_REGCACHE_SYNC_OUT(); return; L_088FA948: { const std::uint32_t aot_run_words[3]{0u, 0u, 0u}; @@ -6881,7 +6882,7 @@ L_088FA96C: L_088FA980: aot_gpr_31 = (0x088FA988u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FA988u) goto L_088FA988; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2E4, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FA988u) goto L_088FA988; AOT_REGCACHE_SYNC_OUT(); return; L_088FA988: { const std::uint32_t aot_run_words[3]{0u, 0u, 0u}; @@ -7178,7 +7179,7 @@ L_088FAB98: L_088FABA4: aot_gpr_31 = (0x088FABACu); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FABACu) goto L_088FABAC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2E4, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FABACu) goto L_088FABAC; AOT_REGCACHE_SYNC_OUT(); return; L_088FABAC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); @@ -7240,7 +7241,7 @@ L_088FAC04: L_088FAC10: aot_gpr_31 = (0x088FAC18u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FAC18u) goto L_088FAC18; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2E4, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FAC18u) goto L_088FAC18; AOT_REGCACHE_SYNC_OUT(); return; L_088FAC18: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); @@ -7267,7 +7268,7 @@ L_088FAC2C: L_088FAC38: aot_gpr_31 = (0x088FAC40u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FAC40u) goto L_088FAC40; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2E4, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FAC40u) goto L_088FAC40; AOT_REGCACHE_SYNC_OUT(); return; L_088FAC40: { const std::uint32_t aot_run_words[3]{0u, 0u, 0u}; @@ -7324,7 +7325,7 @@ L_088FAC90: L_088FAC9C: aot_gpr_31 = (0x088FACA4u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FACA4u) goto L_088FACA4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2E4, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FACA4u) goto L_088FACA4; AOT_REGCACHE_SYNC_OUT(); return; L_088FACA4: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); @@ -7390,7 +7391,7 @@ L_088FACF8: L_088FAD08: aot_gpr_31 = (0x088FAD10u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FAD10u) goto L_088FAD10; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2E4, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FAD10u) goto L_088FAD10; AOT_REGCACHE_SYNC_OUT(); return; L_088FAD10: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); @@ -7431,7 +7432,7 @@ L_088FAD44: L_088FAD50: aot_gpr_31 = (0x088FAD58u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FAD58u) goto L_088FAD58; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2E4, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FAD58u) goto L_088FAD58; AOT_REGCACHE_SYNC_OUT(); return; L_088FAD58: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); @@ -7514,7 +7515,7 @@ L_088FADF8: L_088FAE04: aot_gpr_31 = (0x088FAE0Cu); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FAE0Cu) goto L_088FAE0C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2E4, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FAE0Cu) goto L_088FAE0C; AOT_REGCACHE_SYNC_OUT(); return; L_088FAE0C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); @@ -7608,7 +7609,7 @@ L_088FAEA4: L_088FAEB0: aot_gpr_31 = (0x088FAEB8u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FAEB8u) goto L_088FAEB8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2E4, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FAEB8u) goto L_088FAEB8; AOT_REGCACHE_SYNC_OUT(); return; L_088FAEB8: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); @@ -7709,7 +7710,7 @@ L_088FAF38: L_088FAF44: aot_gpr_31 = (0x088FAF4Cu); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FAF4Cu) goto L_088FAF4C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2E4, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FAF4Cu) goto L_088FAF4C; AOT_REGCACHE_SYNC_OUT(); return; L_088FAF4C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); @@ -7748,7 +7749,7 @@ L_088FAF74: L_088FAF80: aot_gpr_31 = (0x088FAF88u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FAF88u) goto L_088FAF88; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2E4, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FAF88u) goto L_088FAF88; AOT_REGCACHE_SYNC_OUT(); return; L_088FAF88: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); @@ -9069,7 +9070,7 @@ L_088FB80C: aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x088FB820u); aot_gpr_6 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FB820u) goto L_088FB820; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FB820u) goto L_088FB820; AOT_REGCACHE_SYNC_OUT(); return; L_088FB820: { const bool branch_taken = 0u == 0u; @@ -9098,7 +9099,7 @@ L_088FB840: aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x088FB858u); aot_gpr_6 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FB858u) goto L_088FB858; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FB858u) goto L_088FB858; AOT_REGCACHE_SYNC_OUT(); return; L_088FB858: ctx.gpr[2] = (0u | 0u); @@ -9247,7 +9248,7 @@ L_088FB974: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FB98Cu); aot_gpr_6 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FB98Cu) goto L_088FB98C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FB98Cu) goto L_088FB98C; AOT_REGCACHE_SYNC_OUT(); return; L_088FB98C: { const bool branch_taken = 0u == 0u; @@ -9264,7 +9265,7 @@ L_088FB994: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FB9ACu); aot_gpr_6 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FB9ACu) goto L_088FB9AC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FB9ACu) goto L_088FB9AC; AOT_REGCACHE_SYNC_OUT(); return; L_088FB9AC: ctx.gpr[2] = (0u | 0u); @@ -9477,7 +9478,7 @@ L_088FBB3C: aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088FBB68u); aot_gpr_6 = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FBB68u) goto L_088FBB68; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FBB68u) goto L_088FBB68; AOT_REGCACHE_SYNC_OUT(); return; L_088FBB68: ctx.gpr[2] = (0u | 0u); @@ -9747,7 +9748,7 @@ L_088FBD84: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FBD9Cu); aot_gpr_6 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FBD9Cu) goto L_088FBD9C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FBD9Cu) goto L_088FBD9C; AOT_REGCACHE_SYNC_OUT(); return; L_088FBD9C: { const bool branch_taken = 0u == 0u; @@ -9764,7 +9765,7 @@ L_088FBDA4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FBDBCu); aot_gpr_6 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FBDBCu) goto L_088FBDBC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FBDBCu) goto L_088FBDBC; AOT_REGCACHE_SYNC_OUT(); return; L_088FBDBC: ctx.gpr[2] = (0u | 0u); @@ -10005,7 +10006,7 @@ L_088FBF90: aot_gpr_5 = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x088FBFBCu); aot_gpr_6 = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FBFBCu) goto L_088FBFBC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FBFBCu) goto L_088FBFBC; AOT_REGCACHE_SYNC_OUT(); return; L_088FBFBC: ctx.gpr[2] = (0u | 0u); diff --git a/profiles/vcs/generated/generated_unit_0062.cpp b/profiles/vcs/generated/generated_unit_0062.cpp index a9ef95f..5e8c103 100644 --- a/profiles/vcs/generated/generated_unit_0062.cpp +++ b/profiles/vcs/generated/generated_unit_0062.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0062[4079] = { }; void recomp_unit_0062_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,31,16,29,6 fprs=12,13,22,20 gpr_occ=4446 fpr_occ=464 gpr_total=5699 fpr_total=656 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,31,6,29,16 fprs=12,13,22,20 gpr_occ=5851 fpr_occ=575 gpr_total=7484 fpr_total=767 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; - std::uint32_t aot_gpr_16 = ctx.gpr[16]; - std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_6 = ctx.gpr[6]; + std::uint32_t aot_gpr_29 = ctx.gpr[29]; + std::uint32_t aot_gpr_16 = ctx.gpr[16]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_22 = ctx.fpr[22]; float aot_fpr_20 = ctx.fpr[20]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[31] = aot_gpr_31; ctx.gpr[16] = aot_gpr_16; ctx.gpr[29] = aot_gpr_29; ctx.gpr[6] = aot_gpr_6; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[22] = aot_fpr_22; ctx.fpr[20] = aot_fpr_20; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_6 = ctx.gpr[6]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_22 = ctx.fpr[22]; aot_fpr_20 = ctx.fpr[20]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[31] = aot_gpr_31; ctx.gpr[6] = aot_gpr_6; ctx.gpr[29] = aot_gpr_29; ctx.gpr[16] = aot_gpr_16; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[22] = aot_fpr_22; ctx.fpr[20] = aot_fpr_20; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_16 = ctx.gpr[16]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_22 = ctx.fpr[22]; aot_fpr_20 = ctx.fpr[20]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -1061,7 +1062,7 @@ L_088FC05C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FC06Cu); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FC06Cu) goto L_088FC06C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FC06Cu) goto L_088FC06C; AOT_REGCACHE_SYNC_OUT(); return; L_088FC06C: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -1100,7 +1101,7 @@ L_088FC0CC: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FC0E0u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FC0E0u) goto L_088FC0E0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880692C, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FC0E0u) goto L_088FC0E0; AOT_REGCACHE_SYNC_OUT(); return; L_088FC0E0: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -1114,7 +1115,7 @@ L_088FC0E8: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FC0F4u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FC0F4u) goto L_088FC0F4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FC0F4u) goto L_088FC0F4; AOT_REGCACHE_SYNC_OUT(); return; L_088FC0F4: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[0])); @@ -1201,7 +1202,7 @@ L_088FC16C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FC178u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FC178u) goto L_088FC178; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806888, 0u, 324u, 0x08806888u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FC178u) goto L_088FC178; AOT_REGCACHE_SYNC_OUT(); return; L_088FC178: aot_gpr_4 = (0u | 6u); @@ -1230,7 +1231,7 @@ L_088FC1A0: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FC1B0u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FC1B0u) goto L_088FC1B0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880682C, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FC1B0u) goto L_088FC1B0; AOT_REGCACHE_SYNC_OUT(); return; L_088FC1B0: { const bool branch_taken = 0u == 0u; @@ -1385,7 +1386,7 @@ L_088FC2D4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FC2E0u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FC2E0u) goto L_088FC2E0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880682C, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FC2E0u) goto L_088FC2E0; AOT_REGCACHE_SYNC_OUT(); return; L_088FC2E0: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -1488,7 +1489,7 @@ L_088FC3AC: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FC3B8u); aot_gpr_5 = (0u + static_cast(-2)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FC3B8u) goto L_088FC3B8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880682C, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FC3B8u) goto L_088FC3B8; AOT_REGCACHE_SYNC_OUT(); return; L_088FC3B8: { const bool branch_taken = 0u == 0u; @@ -1800,7 +1801,7 @@ L_088FC5F4: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088FC600u); aot_gpr_5 = (0u + static_cast(-1)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FC600u) goto L_088FC600; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806888, 0u, 324u, 0x08806888u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FC600u) goto L_088FC600; AOT_REGCACHE_SYNC_OUT(); return; L_088FC600: aot_gpr_4 = (0u | 6u); @@ -1836,7 +1837,7 @@ L_088FC638: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088FC648u); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FC648u) goto L_088FC648; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FC648u) goto L_088FC648; AOT_REGCACHE_SYNC_OUT(); return; L_088FC648: { const bool branch_taken = 0u == 0u; @@ -1870,7 +1871,7 @@ L_088FC670: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x088FC67Cu); aot_gpr_5 = (0u + static_cast(-2)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FC67Cu) goto L_088FC67C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806654, 0u, 303u, 0x08806654u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FC67Cu) goto L_088FC67C; AOT_REGCACHE_SYNC_OUT(); return; L_088FC67C: { std::uint32_t aot_run_words[3]{}; @@ -2029,7 +2030,7 @@ L_088FC77C: aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(4), aot_run_words); } aot_gpr_31 = (0x088FC79Cu); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FC79Cu) goto L_088FC79C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806888, 0u, 324u, 0x08806888u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FC79Cu) goto L_088FC79C; AOT_REGCACHE_SYNC_OUT(); return; L_088FC79C: { const bool branch_taken = static_cast(ctx.gpr[2]) > 0; @@ -2043,7 +2044,7 @@ L_088FC7A4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FC7B0u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FC7B0u) goto L_088FC7B0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806654, 0u, 303u, 0x08806654u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FC7B0u) goto L_088FC7B0; AOT_REGCACHE_SYNC_OUT(); return; L_088FC7B0: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -2110,7 +2111,7 @@ L_088FC83C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FC848u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FC848u) goto L_088FC848; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880682C, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FC848u) goto L_088FC848; AOT_REGCACHE_SYNC_OUT(); return; L_088FC848: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -2213,7 +2214,7 @@ L_088FC8FC: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FC90Cu); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FC90Cu) goto L_088FC90C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FC90Cu) goto L_088FC90C; AOT_REGCACHE_SYNC_OUT(); return; L_088FC90C: ctx.gpr[2] = (0u | 3u); @@ -2296,7 +2297,7 @@ L_088FC9A0: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FC9ACu); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FC9ACu) goto L_088FC9AC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806654, 0u, 303u, 0x08806654u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FC9ACu) goto L_088FC9AC; AOT_REGCACHE_SYNC_OUT(); return; L_088FC9AC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(15532))); @@ -2334,7 +2335,7 @@ L_088FC9D4: aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(140), aot_run_words); } aot_gpr_31 = (0x088FCA10u); aot_gpr_16 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FCA10u) goto L_088FCA10; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806634, 0u, 302u, 0x08806634u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FCA10u) goto L_088FCA10; AOT_REGCACHE_SYNC_OUT(); return; L_088FCA10: { const bool branch_taken = ctx.gpr[2] != 0u; @@ -2710,7 +2711,7 @@ L_088FCCB0: L_088FCCC4: aot_gpr_31 = (0x088FCCCCu); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FCCCCu) goto L_088FCCCC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806634, 0u, 302u, 0x08806634u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FCCCCu) goto L_088FCCCC; AOT_REGCACHE_SYNC_OUT(); return; L_088FCCCC: aot_gpr_4 = (ctx.gpr[19] | 0u); @@ -2729,7 +2730,7 @@ L_088FCCD8: L_088FCCE0: aot_gpr_31 = (0x088FCCE8u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FCCE8u) goto L_088FCCE8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806634, 0u, 302u, 0x08806634u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FCCE8u) goto L_088FCCE8; AOT_REGCACHE_SYNC_OUT(); return; L_088FCCE8: aot_gpr_4 = (ctx.gpr[19] | 0u); @@ -2791,7 +2792,7 @@ L_088FCD70: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FCD7Cu); aot_gpr_5 = (0u + static_cast(-10001)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FCD7Cu) goto L_088FCD7C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FCD7Cu) goto L_088FCD7C; AOT_REGCACHE_SYNC_OUT(); return; L_088FCD7C: ctx.gpr[2] = (0u | 1u); @@ -2891,7 +2892,7 @@ L_088FCE1C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x088FCE38u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FCE38u) goto L_088FCE38; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC734, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FCE38u) goto L_088FCE38; AOT_REGCACHE_SYNC_OUT(); return; L_088FCE38: aot_gpr_4 = (2236u << 16u); @@ -2900,7 +2901,7 @@ L_088FCE38: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FCE50u); aot_gpr_6 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FCE50u) goto L_088FCE50; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FCE50u) goto L_088FCE50; AOT_REGCACHE_SYNC_OUT(); return; L_088FCE50: ctx.gpr[2] = (0u | 0u); @@ -3131,7 +3132,7 @@ L_088FCFFC: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FD014u); aot_gpr_6 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FD014u) goto L_088FD014; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FD014u) goto L_088FD014; AOT_REGCACHE_SYNC_OUT(); return; L_088FD014: ctx.gpr[2] = (0u | 0u); @@ -3200,7 +3201,7 @@ L_088FD0BC: aot_fpr_20 = std::bit_cast(std::bit_cast(ctx.fpr[0])); aot_gpr_31 = (0x088FD0C8u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FD0C8u) goto L_088FD0C8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806634, 0u, 302u, 0x08806634u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FD0C8u) goto L_088FD0C8; AOT_REGCACHE_SYNC_OUT(); return; L_088FD0C8: aot_gpr_4 = (static_cast(ctx.gpr[2]) < 2 ? 1u : 0u); @@ -3269,7 +3270,7 @@ L_088FD158: aot_fpr_20 = std::bit_cast(std::bit_cast(ctx.fpr[0])); aot_gpr_31 = (0x088FD164u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FD164u) goto L_088FD164; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806634, 0u, 302u, 0x08806634u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FD164u) goto L_088FD164; AOT_REGCACHE_SYNC_OUT(); return; L_088FD164: aot_gpr_4 = (static_cast(ctx.gpr[2]) < 2 ? 1u : 0u); @@ -3339,7 +3340,7 @@ L_088FD1F0: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FD1FCu); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FD1FCu) goto L_088FD1FC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FD1FCu) goto L_088FD1FC; AOT_REGCACHE_SYNC_OUT(); return; L_088FD1FC: ctx.gpr[2] = (0u | 1u); @@ -3432,7 +3433,7 @@ L_088FD320: aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_31 = (0x088FD344u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FD344u) goto L_088FD344; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806634, 0u, 302u, 0x08806634u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FD344u) goto L_088FD344; AOT_REGCACHE_SYNC_OUT(); return; L_088FD344: ctx.gpr[17] = (ctx.gpr[2] | 0u); @@ -3673,7 +3674,7 @@ L_088FD5E8: aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_31 = (0x088FD610u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FD610u) goto L_088FD610; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806634, 0u, 302u, 0x08806634u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FD610u) goto L_088FD610; AOT_REGCACHE_SYNC_OUT(); return; L_088FD610: ctx.gpr[20] = (ctx.gpr[2] | 0u); @@ -3682,7 +3683,7 @@ L_088FD610: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FD628u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FD628u) goto L_088FD628; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FD628u) goto L_088FD628; AOT_REGCACHE_SYNC_OUT(); return; L_088FD628: aot_fpr_12 = std::bit_cast(0u); @@ -3830,7 +3831,7 @@ L_088FD770: L_088FD780: aot_gpr_31 = (0x088FD788u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FD788u) goto L_088FD788; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FD788u) goto L_088FD788; AOT_REGCACHE_SYNC_OUT(); return; L_088FD788: ctx.gpr[17] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(8749)))))); @@ -3902,7 +3903,7 @@ L_088FD7FC: L_088FD80C: aot_gpr_31 = (0x088FD814u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FD814u) goto L_088FD814; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FD814u) goto L_088FD814; AOT_REGCACHE_SYNC_OUT(); return; L_088FD814: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5892))); @@ -4009,7 +4010,7 @@ L_088FD918: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FD924u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FD924u) goto L_088FD924; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FD924u) goto L_088FD924; AOT_REGCACHE_SYNC_OUT(); return; L_088FD924: aot_gpr_5 = (ctx.gpr[28] + static_cast(-22188)); @@ -4030,7 +4031,7 @@ L_088FD948: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FD954u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FD954u) goto L_088FD954; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FD954u) goto L_088FD954; AOT_REGCACHE_SYNC_OUT(); return; L_088FD954: aot_gpr_5 = (ctx.gpr[28] + static_cast(-22180)); @@ -4051,7 +4052,7 @@ L_088FD978: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FD984u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FD984u) goto L_088FD984; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FD984u) goto L_088FD984; AOT_REGCACHE_SYNC_OUT(); return; L_088FD984: aot_gpr_5 = (ctx.gpr[28] + static_cast(-22172)); @@ -4072,7 +4073,7 @@ L_088FD9A8: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FD9B4u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FD9B4u) goto L_088FD9B4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FD9B4u) goto L_088FD9B4; AOT_REGCACHE_SYNC_OUT(); return; L_088FD9B4: aot_gpr_5 = (ctx.gpr[28] + static_cast(-22164)); @@ -4093,7 +4094,7 @@ L_088FD9D8: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FD9E4u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FD9E4u) goto L_088FD9E4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FD9E4u) goto L_088FD9E4; AOT_REGCACHE_SYNC_OUT(); return; L_088FD9E4: aot_gpr_5 = (ctx.gpr[28] + static_cast(-22156)); @@ -4114,7 +4115,7 @@ L_088FDA08: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FDA14u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDA14u) goto L_088FDA14; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDA14u) goto L_088FDA14; AOT_REGCACHE_SYNC_OUT(); return; L_088FDA14: aot_gpr_5 = (ctx.gpr[28] + static_cast(-22148)); @@ -4135,7 +4136,7 @@ L_088FDA38: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FDA44u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDA44u) goto L_088FDA44; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDA44u) goto L_088FDA44; AOT_REGCACHE_SYNC_OUT(); return; L_088FDA44: aot_gpr_5 = (ctx.gpr[28] + static_cast(-22140)); @@ -4156,7 +4157,7 @@ L_088FDA68: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FDA74u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDA74u) goto L_088FDA74; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDA74u) goto L_088FDA74; AOT_REGCACHE_SYNC_OUT(); return; L_088FDA74: aot_gpr_5 = (ctx.gpr[28] + static_cast(-22132)); @@ -4174,7 +4175,7 @@ L_088FDA8C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FDA98u); aot_gpr_5 = (0u + static_cast(-10001)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDA98u) goto L_088FDA98; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDA98u) goto L_088FDA98; AOT_REGCACHE_SYNC_OUT(); return; L_088FDA98: aot_gpr_31 = (0x088FDAA0u); @@ -4194,13 +4195,13 @@ L_088FDAB4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FDAC4u); aot_fpr_12 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDAC4u) goto L_088FDAC4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDAC4u) goto L_088FDAC4; AOT_REGCACHE_SYNC_OUT(); return; L_088FDAC4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FDAD0u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDAD0u) goto L_088FDAD0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDAD0u) goto L_088FDAD0; AOT_REGCACHE_SYNC_OUT(); return; L_088FDAD0: aot_gpr_5 = (ctx.gpr[28] + static_cast(-22108)); @@ -4218,7 +4219,7 @@ L_088FDAE8: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FDAF4u); aot_gpr_5 = (0u + static_cast(-10001)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDAF4u) goto L_088FDAF4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDAF4u) goto L_088FDAF4; AOT_REGCACHE_SYNC_OUT(); return; L_088FDAF4: aot_gpr_31 = (0x088FDAFCu); @@ -4238,13 +4239,13 @@ L_088FDB0C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FDB20u); aot_fpr_12 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDB20u) goto L_088FDB20; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDB20u) goto L_088FDB20; AOT_REGCACHE_SYNC_OUT(); return; L_088FDB20: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FDB2Cu); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDB2Cu) goto L_088FDB2C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDB2Cu) goto L_088FDB2C; AOT_REGCACHE_SYNC_OUT(); return; L_088FDB2C: aot_gpr_5 = (ctx.gpr[28] + static_cast(-22092)); @@ -4258,13 +4259,13 @@ L_088FDB3C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FDB4Cu); aot_fpr_12 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDB4Cu) goto L_088FDB4C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDB4Cu) goto L_088FDB4C; AOT_REGCACHE_SYNC_OUT(); return; L_088FDB4C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FDB58u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDB58u) goto L_088FDB58; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDB58u) goto L_088FDB58; AOT_REGCACHE_SYNC_OUT(); return; L_088FDB58: aot_gpr_5 = (ctx.gpr[28] + static_cast(-22080)); @@ -4278,13 +4279,13 @@ L_088FDB68: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FDB78u); aot_fpr_12 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDB78u) goto L_088FDB78; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDB78u) goto L_088FDB78; AOT_REGCACHE_SYNC_OUT(); return; L_088FDB78: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FDB84u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDB84u) goto L_088FDB84; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDB84u) goto L_088FDB84; AOT_REGCACHE_SYNC_OUT(); return; L_088FDB84: aot_gpr_5 = (ctx.gpr[28] + static_cast(-22072)); @@ -4298,13 +4299,13 @@ L_088FDB94: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FDBA4u); aot_fpr_12 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDBA4u) goto L_088FDBA4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDBA4u) goto L_088FDBA4; AOT_REGCACHE_SYNC_OUT(); return; L_088FDBA4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FDBB0u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDBB0u) goto L_088FDBB0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDBB0u) goto L_088FDBB0; AOT_REGCACHE_SYNC_OUT(); return; L_088FDBB0: aot_gpr_5 = (ctx.gpr[28] + static_cast(-22064)); @@ -4318,13 +4319,13 @@ L_088FDBC0: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FDBD0u); aot_fpr_12 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDBD0u) goto L_088FDBD0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDBD0u) goto L_088FDBD0; AOT_REGCACHE_SYNC_OUT(); return; L_088FDBD0: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FDBDCu); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDBDCu) goto L_088FDBDC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDBDCu) goto L_088FDBDC; AOT_REGCACHE_SYNC_OUT(); return; L_088FDBDC: aot_gpr_5 = (ctx.gpr[28] + static_cast(-22052)); @@ -4338,13 +4339,13 @@ L_088FDBEC: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FDBFCu); aot_fpr_12 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDBFCu) goto L_088FDBFC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDBFCu) goto L_088FDBFC; AOT_REGCACHE_SYNC_OUT(); return; L_088FDBFC: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FDC08u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDC08u) goto L_088FDC08; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDC08u) goto L_088FDC08; AOT_REGCACHE_SYNC_OUT(); return; L_088FDC08: aot_gpr_5 = (ctx.gpr[28] + static_cast(-22040)); @@ -4358,13 +4359,13 @@ L_088FDC18: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FDC28u); aot_fpr_12 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDC28u) goto L_088FDC28; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDC28u) goto L_088FDC28; AOT_REGCACHE_SYNC_OUT(); return; L_088FDC28: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FDC34u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDC34u) goto L_088FDC34; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDC34u) goto L_088FDC34; AOT_REGCACHE_SYNC_OUT(); return; L_088FDC34: aot_gpr_5 = (ctx.gpr[28] + static_cast(-22032)); @@ -4378,13 +4379,13 @@ L_088FDC44: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FDC54u); aot_fpr_12 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDC54u) goto L_088FDC54; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDC54u) goto L_088FDC54; AOT_REGCACHE_SYNC_OUT(); return; L_088FDC54: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FDC60u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDC60u) goto L_088FDC60; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDC60u) goto L_088FDC60; AOT_REGCACHE_SYNC_OUT(); return; L_088FDC60: aot_gpr_5 = (ctx.gpr[28] + static_cast(-22024)); @@ -4398,13 +4399,13 @@ L_088FDC70: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FDC80u); aot_fpr_12 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDC80u) goto L_088FDC80; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDC80u) goto L_088FDC80; AOT_REGCACHE_SYNC_OUT(); return; L_088FDC80: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FDC8Cu); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDC8Cu) goto L_088FDC8C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDC8Cu) goto L_088FDC8C; AOT_REGCACHE_SYNC_OUT(); return; L_088FDC8C: aot_gpr_5 = (ctx.gpr[28] + static_cast(-22012)); @@ -4418,13 +4419,13 @@ L_088FDC9C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FDCACu); aot_fpr_12 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDCACu) goto L_088FDCAC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDCACu) goto L_088FDCAC; AOT_REGCACHE_SYNC_OUT(); return; L_088FDCAC: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FDCB8u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDCB8u) goto L_088FDCB8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDCB8u) goto L_088FDCB8; AOT_REGCACHE_SYNC_OUT(); return; L_088FDCB8: aot_gpr_5 = (ctx.gpr[28] + static_cast(-22004)); @@ -4438,13 +4439,13 @@ L_088FDCC8: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FDCD8u); aot_fpr_12 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDCD8u) goto L_088FDCD8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDCD8u) goto L_088FDCD8; AOT_REGCACHE_SYNC_OUT(); return; L_088FDCD8: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FDCE4u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDCE4u) goto L_088FDCE4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDCE4u) goto L_088FDCE4; AOT_REGCACHE_SYNC_OUT(); return; L_088FDCE4: aot_gpr_5 = (ctx.gpr[28] + static_cast(-21996)); @@ -4458,13 +4459,13 @@ L_088FDCF4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FDD04u); aot_fpr_12 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDD04u) goto L_088FDD04; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDD04u) goto L_088FDD04; AOT_REGCACHE_SYNC_OUT(); return; L_088FDD04: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FDD10u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDD10u) goto L_088FDD10; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDD10u) goto L_088FDD10; AOT_REGCACHE_SYNC_OUT(); return; L_088FDD10: aot_gpr_5 = (ctx.gpr[28] + static_cast(-21988)); @@ -4478,13 +4479,13 @@ L_088FDD20: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FDD30u); aot_fpr_12 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDD30u) goto L_088FDD30; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDD30u) goto L_088FDD30; AOT_REGCACHE_SYNC_OUT(); return; L_088FDD30: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FDD3Cu); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDD3Cu) goto L_088FDD3C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDD3Cu) goto L_088FDD3C; AOT_REGCACHE_SYNC_OUT(); return; L_088FDD3C: aot_gpr_5 = (ctx.gpr[28] + static_cast(-21980)); @@ -4498,13 +4499,13 @@ L_088FDD4C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FDD5Cu); aot_fpr_12 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDD5Cu) goto L_088FDD5C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDD5Cu) goto L_088FDD5C; AOT_REGCACHE_SYNC_OUT(); return; L_088FDD5C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FDD68u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDD68u) goto L_088FDD68; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDD68u) goto L_088FDD68; AOT_REGCACHE_SYNC_OUT(); return; L_088FDD68: aot_gpr_5 = (ctx.gpr[28] + static_cast(-21968)); @@ -4518,13 +4519,13 @@ L_088FDD78: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FDD88u); aot_fpr_12 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDD88u) goto L_088FDD88; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDD88u) goto L_088FDD88; AOT_REGCACHE_SYNC_OUT(); return; L_088FDD88: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FDD94u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDD94u) goto L_088FDD94; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDD94u) goto L_088FDD94; AOT_REGCACHE_SYNC_OUT(); return; L_088FDD94: aot_gpr_5 = (ctx.gpr[28] + static_cast(-21956)); @@ -4538,13 +4539,13 @@ L_088FDDA4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FDDB4u); aot_fpr_12 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDDB4u) goto L_088FDDB4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDDB4u) goto L_088FDDB4; AOT_REGCACHE_SYNC_OUT(); return; L_088FDDB4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FDDC0u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDDC0u) goto L_088FDDC0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDDC0u) goto L_088FDDC0; AOT_REGCACHE_SYNC_OUT(); return; L_088FDDC0: aot_gpr_5 = (ctx.gpr[28] + static_cast(-21948)); @@ -4558,13 +4559,13 @@ L_088FDDD0: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FDDE0u); aot_fpr_12 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDDE0u) goto L_088FDDE0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDDE0u) goto L_088FDDE0; AOT_REGCACHE_SYNC_OUT(); return; L_088FDDE0: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FDDECu); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDDECu) goto L_088FDDEC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDDECu) goto L_088FDDEC; AOT_REGCACHE_SYNC_OUT(); return; L_088FDDEC: aot_gpr_5 = (ctx.gpr[28] + static_cast(-21940)); @@ -4579,13 +4580,13 @@ L_088FDDFC: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FDE10u); aot_fpr_12 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDE10u) goto L_088FDE10; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDE10u) goto L_088FDE10; AOT_REGCACHE_SYNC_OUT(); return; L_088FDE10: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FDE1Cu); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDE1Cu) goto L_088FDE1C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDE1Cu) goto L_088FDE1C; AOT_REGCACHE_SYNC_OUT(); return; L_088FDE1C: aot_gpr_5 = (ctx.gpr[28] + static_cast(-21932)); @@ -4599,13 +4600,13 @@ L_088FDE2C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FDE3Cu); aot_fpr_12 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDE3Cu) goto L_088FDE3C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDE3Cu) goto L_088FDE3C; AOT_REGCACHE_SYNC_OUT(); return; L_088FDE3C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FDE48u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDE48u) goto L_088FDE48; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDE48u) goto L_088FDE48; AOT_REGCACHE_SYNC_OUT(); return; L_088FDE48: aot_gpr_5 = (ctx.gpr[28] + static_cast(-21920)); @@ -4619,13 +4620,13 @@ L_088FDE58: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FDE68u); aot_fpr_12 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDE68u) goto L_088FDE68; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDE68u) goto L_088FDE68; AOT_REGCACHE_SYNC_OUT(); return; L_088FDE68: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FDE74u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDE74u) goto L_088FDE74; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDE74u) goto L_088FDE74; AOT_REGCACHE_SYNC_OUT(); return; L_088FDE74: aot_gpr_5 = (ctx.gpr[28] + static_cast(-21912)); @@ -4639,13 +4640,13 @@ L_088FDE84: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FDE94u); aot_fpr_12 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDE94u) goto L_088FDE94; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDE94u) goto L_088FDE94; AOT_REGCACHE_SYNC_OUT(); return; L_088FDE94: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FDEA0u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDEA0u) goto L_088FDEA0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDEA0u) goto L_088FDEA0; AOT_REGCACHE_SYNC_OUT(); return; L_088FDEA0: aot_gpr_5 = (ctx.gpr[28] + static_cast(-21904)); @@ -4659,13 +4660,13 @@ L_088FDEB0: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FDEC0u); aot_fpr_12 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDEC0u) goto L_088FDEC0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDEC0u) goto L_088FDEC0; AOT_REGCACHE_SYNC_OUT(); return; L_088FDEC0: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FDECCu); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDECCu) goto L_088FDECC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDECCu) goto L_088FDECC; AOT_REGCACHE_SYNC_OUT(); return; L_088FDECC: aot_gpr_5 = (ctx.gpr[28] + static_cast(-21892)); @@ -4679,13 +4680,13 @@ L_088FDEDC: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FDEECu); aot_fpr_12 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDEECu) goto L_088FDEEC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDEECu) goto L_088FDEEC; AOT_REGCACHE_SYNC_OUT(); return; L_088FDEEC: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FDEF8u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDEF8u) goto L_088FDEF8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDEF8u) goto L_088FDEF8; AOT_REGCACHE_SYNC_OUT(); return; L_088FDEF8: aot_gpr_5 = (ctx.gpr[28] + static_cast(-21884)); @@ -4700,13 +4701,13 @@ L_088FDF08: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FDF1Cu); aot_fpr_12 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDF1Cu) goto L_088FDF1C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDF1Cu) goto L_088FDF1C; AOT_REGCACHE_SYNC_OUT(); return; L_088FDF1C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FDF28u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDF28u) goto L_088FDF28; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDF28u) goto L_088FDF28; AOT_REGCACHE_SYNC_OUT(); return; L_088FDF28: aot_gpr_5 = (ctx.gpr[28] + static_cast(-21876)); @@ -4721,13 +4722,13 @@ L_088FDF38: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FDF4Cu); aot_fpr_12 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDF4Cu) goto L_088FDF4C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDF4Cu) goto L_088FDF4C; AOT_REGCACHE_SYNC_OUT(); return; L_088FDF4C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FDF58u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDF58u) goto L_088FDF58; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDF58u) goto L_088FDF58; AOT_REGCACHE_SYNC_OUT(); return; L_088FDF58: aot_gpr_5 = (ctx.gpr[28] + static_cast(-21868)); @@ -4742,13 +4743,13 @@ L_088FDF68: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FDF7Cu); aot_fpr_12 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDF7Cu) goto L_088FDF7C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDF7Cu) goto L_088FDF7C; AOT_REGCACHE_SYNC_OUT(); return; L_088FDF7C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FDF88u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDF88u) goto L_088FDF88; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDF88u) goto L_088FDF88; AOT_REGCACHE_SYNC_OUT(); return; L_088FDF88: aot_gpr_5 = (ctx.gpr[28] + static_cast(-21860)); @@ -4762,13 +4763,13 @@ L_088FDF98: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FDFA8u); aot_fpr_12 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDFA8u) goto L_088FDFA8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDFA8u) goto L_088FDFA8; AOT_REGCACHE_SYNC_OUT(); return; L_088FDFA8: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FDFB4u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDFB4u) goto L_088FDFB4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDFB4u) goto L_088FDFB4; AOT_REGCACHE_SYNC_OUT(); return; L_088FDFB4: aot_gpr_5 = (ctx.gpr[28] + static_cast(-21852)); @@ -4783,13 +4784,13 @@ L_088FDFC4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FDFD8u); aot_fpr_12 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDFD8u) goto L_088FDFD8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDFD8u) goto L_088FDFD8; AOT_REGCACHE_SYNC_OUT(); return; L_088FDFD8: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FDFE4u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDFE4u) goto L_088FDFE4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FDFE4u) goto L_088FDFE4; AOT_REGCACHE_SYNC_OUT(); return; L_088FDFE4: aot_gpr_5 = (ctx.gpr[28] + static_cast(-21844)); @@ -4803,13 +4804,13 @@ L_088FDFF4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FE004u); aot_fpr_12 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE004u) goto L_088FE004; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE004u) goto L_088FE004; AOT_REGCACHE_SYNC_OUT(); return; L_088FE004: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FE010u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE010u) goto L_088FE010; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE010u) goto L_088FE010; AOT_REGCACHE_SYNC_OUT(); return; L_088FE010: aot_gpr_5 = (ctx.gpr[28] + static_cast(-21832)); @@ -4824,13 +4825,13 @@ L_088FE020: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FE034u); aot_fpr_12 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE034u) goto L_088FE034; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE034u) goto L_088FE034; AOT_REGCACHE_SYNC_OUT(); return; L_088FE034: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FE040u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE040u) goto L_088FE040; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE040u) goto L_088FE040; AOT_REGCACHE_SYNC_OUT(); return; L_088FE040: aot_gpr_5 = (ctx.gpr[28] + static_cast(-21824)); @@ -4845,13 +4846,13 @@ L_088FE050: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FE064u); aot_fpr_12 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE064u) goto L_088FE064; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE064u) goto L_088FE064; AOT_REGCACHE_SYNC_OUT(); return; L_088FE064: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FE070u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE070u) goto L_088FE070; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE070u) goto L_088FE070; AOT_REGCACHE_SYNC_OUT(); return; L_088FE070: aot_gpr_5 = (ctx.gpr[28] + static_cast(-21816)); @@ -4865,13 +4866,13 @@ L_088FE080: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FE090u); aot_fpr_12 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE090u) goto L_088FE090; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE090u) goto L_088FE090; AOT_REGCACHE_SYNC_OUT(); return; L_088FE090: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FE09Cu); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE09Cu) goto L_088FE09C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE09Cu) goto L_088FE09C; AOT_REGCACHE_SYNC_OUT(); return; L_088FE09C: aot_gpr_5 = (ctx.gpr[28] + static_cast(-21808)); @@ -4886,13 +4887,13 @@ L_088FE0AC: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FE0C0u); aot_fpr_12 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE0C0u) goto L_088FE0C0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE0C0u) goto L_088FE0C0; AOT_REGCACHE_SYNC_OUT(); return; L_088FE0C0: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FE0CCu); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE0CCu) goto L_088FE0CC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE0CCu) goto L_088FE0CC; AOT_REGCACHE_SYNC_OUT(); return; L_088FE0CC: aot_gpr_5 = (ctx.gpr[28] + static_cast(-21800)); @@ -4906,13 +4907,13 @@ L_088FE0DC: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FE0ECu); aot_fpr_12 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE0ECu) goto L_088FE0EC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE0ECu) goto L_088FE0EC; AOT_REGCACHE_SYNC_OUT(); return; L_088FE0EC: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FE0F8u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE0F8u) goto L_088FE0F8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE0F8u) goto L_088FE0F8; AOT_REGCACHE_SYNC_OUT(); return; L_088FE0F8: aot_gpr_5 = (ctx.gpr[28] + static_cast(-21792)); @@ -4927,13 +4928,13 @@ L_088FE108: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FE11Cu); aot_fpr_12 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE11Cu) goto L_088FE11C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE11Cu) goto L_088FE11C; AOT_REGCACHE_SYNC_OUT(); return; L_088FE11C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FE128u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE128u) goto L_088FE128; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE128u) goto L_088FE128; AOT_REGCACHE_SYNC_OUT(); return; L_088FE128: aot_gpr_5 = (ctx.gpr[28] + static_cast(-21784)); @@ -4948,13 +4949,13 @@ L_088FE138: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FE14Cu); aot_fpr_12 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE14Cu) goto L_088FE14C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE14Cu) goto L_088FE14C; AOT_REGCACHE_SYNC_OUT(); return; L_088FE14C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FE158u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE158u) goto L_088FE158; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE158u) goto L_088FE158; AOT_REGCACHE_SYNC_OUT(); return; L_088FE158: aot_gpr_5 = (ctx.gpr[28] + static_cast(-21776)); @@ -4969,13 +4970,13 @@ L_088FE168: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FE17Cu); aot_fpr_12 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE17Cu) goto L_088FE17C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE17Cu) goto L_088FE17C; AOT_REGCACHE_SYNC_OUT(); return; L_088FE17C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FE188u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE188u) goto L_088FE188; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE188u) goto L_088FE188; AOT_REGCACHE_SYNC_OUT(); return; L_088FE188: aot_gpr_5 = (ctx.gpr[28] + static_cast(-21768)); @@ -4989,13 +4990,13 @@ L_088FE198: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FE1A8u); aot_fpr_12 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE1A8u) goto L_088FE1A8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE1A8u) goto L_088FE1A8; AOT_REGCACHE_SYNC_OUT(); return; L_088FE1A8: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FE1B4u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE1B4u) goto L_088FE1B4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE1B4u) goto L_088FE1B4; AOT_REGCACHE_SYNC_OUT(); return; L_088FE1B4: aot_gpr_5 = (ctx.gpr[28] + static_cast(-21756)); @@ -5009,13 +5010,13 @@ L_088FE1C4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FE1D4u); aot_fpr_12 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE1D4u) goto L_088FE1D4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE1D4u) goto L_088FE1D4; AOT_REGCACHE_SYNC_OUT(); return; L_088FE1D4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FE1E0u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE1E0u) goto L_088FE1E0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE1E0u) goto L_088FE1E0; AOT_REGCACHE_SYNC_OUT(); return; L_088FE1E0: aot_gpr_5 = (ctx.gpr[28] + static_cast(-21748)); @@ -5030,13 +5031,13 @@ L_088FE1F0: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FE204u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[24])); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE204u) goto L_088FE204; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE204u) goto L_088FE204; AOT_REGCACHE_SYNC_OUT(); return; L_088FE204: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FE210u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE210u) goto L_088FE210; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE210u) goto L_088FE210; AOT_REGCACHE_SYNC_OUT(); return; L_088FE210: aot_gpr_5 = (ctx.gpr[28] + static_cast(-21740)); @@ -5050,13 +5051,13 @@ L_088FE220: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FE230u); aot_fpr_12 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE230u) goto L_088FE230; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE230u) goto L_088FE230; AOT_REGCACHE_SYNC_OUT(); return; L_088FE230: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FE23Cu); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE23Cu) goto L_088FE23C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE23Cu) goto L_088FE23C; AOT_REGCACHE_SYNC_OUT(); return; L_088FE23C: aot_gpr_5 = (ctx.gpr[28] + static_cast(-21732)); @@ -5070,13 +5071,13 @@ L_088FE24C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FE25Cu); aot_fpr_12 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE25Cu) goto L_088FE25C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE25Cu) goto L_088FE25C; AOT_REGCACHE_SYNC_OUT(); return; L_088FE25C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FE268u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE268u) goto L_088FE268; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE268u) goto L_088FE268; AOT_REGCACHE_SYNC_OUT(); return; L_088FE268: aot_gpr_5 = (ctx.gpr[28] + static_cast(-21724)); @@ -5090,13 +5091,13 @@ L_088FE278: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FE288u); aot_fpr_12 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE288u) goto L_088FE288; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE288u) goto L_088FE288; AOT_REGCACHE_SYNC_OUT(); return; L_088FE288: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FE294u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE294u) goto L_088FE294; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE294u) goto L_088FE294; AOT_REGCACHE_SYNC_OUT(); return; L_088FE294: aot_gpr_5 = (ctx.gpr[28] + static_cast(-21716)); @@ -5110,13 +5111,13 @@ L_088FE2A4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FE2B4u); aot_fpr_12 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE2B4u) goto L_088FE2B4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE2B4u) goto L_088FE2B4; AOT_REGCACHE_SYNC_OUT(); return; L_088FE2B4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FE2C0u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE2C0u) goto L_088FE2C0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE2C0u) goto L_088FE2C0; AOT_REGCACHE_SYNC_OUT(); return; L_088FE2C0: aot_gpr_5 = (ctx.gpr[28] + static_cast(-21704)); @@ -5129,13 +5130,13 @@ L_088FE2D0: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FE2DCu); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[24])); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE2DCu) goto L_088FE2DC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE2DCu) goto L_088FE2DC; AOT_REGCACHE_SYNC_OUT(); return; L_088FE2DC: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FE2E8u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE2E8u) goto L_088FE2E8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE2E8u) goto L_088FE2E8; AOT_REGCACHE_SYNC_OUT(); return; L_088FE2E8: aot_gpr_5 = (ctx.gpr[28] + static_cast(-21696)); @@ -5149,13 +5150,13 @@ L_088FE2F8: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FE308u); aot_fpr_12 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE308u) goto L_088FE308; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE308u) goto L_088FE308; AOT_REGCACHE_SYNC_OUT(); return; L_088FE308: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FE314u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE314u) goto L_088FE314; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE314u) goto L_088FE314; AOT_REGCACHE_SYNC_OUT(); return; L_088FE314: aot_gpr_5 = (ctx.gpr[28] + static_cast(-21688)); @@ -5169,13 +5170,13 @@ L_088FE324: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FE334u); aot_fpr_12 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE334u) goto L_088FE334; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE334u) goto L_088FE334; AOT_REGCACHE_SYNC_OUT(); return; L_088FE334: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FE340u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE340u) goto L_088FE340; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE340u) goto L_088FE340; AOT_REGCACHE_SYNC_OUT(); return; L_088FE340: aot_gpr_5 = (ctx.gpr[28] + static_cast(-21680)); @@ -5189,13 +5190,13 @@ L_088FE350: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FE360u); aot_fpr_12 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE360u) goto L_088FE360; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE360u) goto L_088FE360; AOT_REGCACHE_SYNC_OUT(); return; L_088FE360: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FE36Cu); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE36Cu) goto L_088FE36C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE36Cu) goto L_088FE36C; AOT_REGCACHE_SYNC_OUT(); return; L_088FE36C: aot_gpr_5 = (ctx.gpr[28] + static_cast(-21668)); @@ -5210,13 +5211,13 @@ L_088FE37C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FE390u); aot_fpr_12 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE390u) goto L_088FE390; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE390u) goto L_088FE390; AOT_REGCACHE_SYNC_OUT(); return; L_088FE390: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FE39Cu); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE39Cu) goto L_088FE39C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE39Cu) goto L_088FE39C; AOT_REGCACHE_SYNC_OUT(); return; L_088FE39C: aot_gpr_5 = (ctx.gpr[28] + static_cast(-21660)); @@ -5231,13 +5232,13 @@ L_088FE3AC: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FE3C0u); aot_fpr_12 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE3C0u) goto L_088FE3C0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE3C0u) goto L_088FE3C0; AOT_REGCACHE_SYNC_OUT(); return; L_088FE3C0: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FE3CCu); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE3CCu) goto L_088FE3CC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE3CCu) goto L_088FE3CC; AOT_REGCACHE_SYNC_OUT(); return; L_088FE3CC: aot_gpr_5 = (ctx.gpr[28] + static_cast(-21648)); @@ -5251,13 +5252,13 @@ L_088FE3DC: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FE3ECu); aot_fpr_12 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE3ECu) goto L_088FE3EC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE3ECu) goto L_088FE3EC; AOT_REGCACHE_SYNC_OUT(); return; L_088FE3EC: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FE3F8u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE3F8u) goto L_088FE3F8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE3F8u) goto L_088FE3F8; AOT_REGCACHE_SYNC_OUT(); return; L_088FE3F8: ctx.gpr[18] = (ctx.gpr[28] + static_cast(-21636)); @@ -5272,13 +5273,13 @@ L_088FE40C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FE41Cu); aot_fpr_12 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE41Cu) goto L_088FE41C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE41Cu) goto L_088FE41C; AOT_REGCACHE_SYNC_OUT(); return; L_088FE41C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FE428u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE428u) goto L_088FE428; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE428u) goto L_088FE428; AOT_REGCACHE_SYNC_OUT(); return; L_088FE428: aot_gpr_5 = (ctx.gpr[28] + static_cast(-21628)); @@ -5292,13 +5293,13 @@ L_088FE438: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FE448u); aot_fpr_12 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE448u) goto L_088FE448; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE448u) goto L_088FE448; AOT_REGCACHE_SYNC_OUT(); return; L_088FE448: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FE454u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE454u) goto L_088FE454; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE454u) goto L_088FE454; AOT_REGCACHE_SYNC_OUT(); return; L_088FE454: aot_gpr_5 = (ctx.gpr[28] + static_cast(-21620)); @@ -5312,13 +5313,13 @@ L_088FE464: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FE474u); aot_fpr_12 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE474u) goto L_088FE474; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE474u) goto L_088FE474; AOT_REGCACHE_SYNC_OUT(); return; L_088FE474: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FE480u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE480u) goto L_088FE480; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE480u) goto L_088FE480; AOT_REGCACHE_SYNC_OUT(); return; L_088FE480: aot_gpr_5 = (ctx.gpr[28] + static_cast(-21612)); @@ -5332,13 +5333,13 @@ L_088FE490: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FE4A0u); aot_fpr_12 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE4A0u) goto L_088FE4A0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE4A0u) goto L_088FE4A0; AOT_REGCACHE_SYNC_OUT(); return; L_088FE4A0: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FE4ACu); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE4ACu) goto L_088FE4AC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE4ACu) goto L_088FE4AC; AOT_REGCACHE_SYNC_OUT(); return; L_088FE4AC: aot_gpr_5 = (ctx.gpr[28] + static_cast(-21600)); @@ -5352,13 +5353,13 @@ L_088FE4BC: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FE4CCu); aot_fpr_12 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE4CCu) goto L_088FE4CC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE4CCu) goto L_088FE4CC; AOT_REGCACHE_SYNC_OUT(); return; L_088FE4CC: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FE4D8u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE4D8u) goto L_088FE4D8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE4D8u) goto L_088FE4D8; AOT_REGCACHE_SYNC_OUT(); return; L_088FE4D8: aot_gpr_5 = (ctx.gpr[28] + static_cast(-21592)); @@ -5372,13 +5373,13 @@ L_088FE4E8: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FE4F8u); aot_fpr_12 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE4F8u) goto L_088FE4F8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE4F8u) goto L_088FE4F8; AOT_REGCACHE_SYNC_OUT(); return; L_088FE4F8: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FE504u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE504u) goto L_088FE504; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE504u) goto L_088FE504; AOT_REGCACHE_SYNC_OUT(); return; L_088FE504: aot_gpr_5 = (ctx.gpr[28] + static_cast(-21580)); @@ -5392,13 +5393,13 @@ L_088FE514: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FE524u); aot_fpr_12 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE524u) goto L_088FE524; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE524u) goto L_088FE524; AOT_REGCACHE_SYNC_OUT(); return; L_088FE524: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FE530u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE530u) goto L_088FE530; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE530u) goto L_088FE530; AOT_REGCACHE_SYNC_OUT(); return; L_088FE530: aot_gpr_5 = (ctx.gpr[28] + static_cast(-21568)); @@ -5413,13 +5414,13 @@ L_088FE540: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FE554u); aot_fpr_12 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE554u) goto L_088FE554; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE554u) goto L_088FE554; AOT_REGCACHE_SYNC_OUT(); return; L_088FE554: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FE560u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE560u) goto L_088FE560; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE560u) goto L_088FE560; AOT_REGCACHE_SYNC_OUT(); return; L_088FE560: aot_gpr_5 = (ctx.gpr[28] + static_cast(-21560)); @@ -5433,13 +5434,13 @@ L_088FE570: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FE580u); aot_fpr_12 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE580u) goto L_088FE580; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE580u) goto L_088FE580; AOT_REGCACHE_SYNC_OUT(); return; L_088FE580: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FE58Cu); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE58Cu) goto L_088FE58C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE58Cu) goto L_088FE58C; AOT_REGCACHE_SYNC_OUT(); return; L_088FE58C: aot_gpr_5 = (ctx.gpr[28] + static_cast(-21548)); @@ -5453,13 +5454,13 @@ L_088FE59C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FE5ACu); aot_fpr_12 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE5ACu) goto L_088FE5AC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE5ACu) goto L_088FE5AC; AOT_REGCACHE_SYNC_OUT(); return; L_088FE5AC: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FE5B8u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE5B8u) goto L_088FE5B8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE5B8u) goto L_088FE5B8; AOT_REGCACHE_SYNC_OUT(); return; L_088FE5B8: aot_gpr_5 = (ctx.gpr[28] + static_cast(-21540)); @@ -5473,13 +5474,13 @@ L_088FE5C8: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FE5D8u); aot_fpr_12 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE5D8u) goto L_088FE5D8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE5D8u) goto L_088FE5D8; AOT_REGCACHE_SYNC_OUT(); return; L_088FE5D8: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FE5E4u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE5E4u) goto L_088FE5E4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE5E4u) goto L_088FE5E4; AOT_REGCACHE_SYNC_OUT(); return; L_088FE5E4: aot_gpr_5 = (ctx.gpr[28] + static_cast(-21532)); @@ -5494,13 +5495,13 @@ L_088FE5F4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FE608u); aot_fpr_12 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE608u) goto L_088FE608; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE608u) goto L_088FE608; AOT_REGCACHE_SYNC_OUT(); return; L_088FE608: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FE614u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE614u) goto L_088FE614; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE614u) goto L_088FE614; AOT_REGCACHE_SYNC_OUT(); return; L_088FE614: aot_gpr_5 = (ctx.gpr[28] + static_cast(-21524)); @@ -5515,13 +5516,13 @@ L_088FE624: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FE638u); aot_fpr_12 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE638u) goto L_088FE638; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE638u) goto L_088FE638; AOT_REGCACHE_SYNC_OUT(); return; L_088FE638: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FE644u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE644u) goto L_088FE644; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE644u) goto L_088FE644; AOT_REGCACHE_SYNC_OUT(); return; L_088FE644: aot_gpr_5 = (ctx.gpr[28] + static_cast(-21516)); @@ -5535,13 +5536,13 @@ L_088FE654: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FE664u); aot_fpr_12 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE664u) goto L_088FE664; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE664u) goto L_088FE664; AOT_REGCACHE_SYNC_OUT(); return; L_088FE664: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FE670u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE670u) goto L_088FE670; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE670u) goto L_088FE670; AOT_REGCACHE_SYNC_OUT(); return; L_088FE670: aot_gpr_5 = (ctx.gpr[28] + static_cast(-21508)); @@ -5555,13 +5556,13 @@ L_088FE680: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FE690u); aot_fpr_12 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE690u) goto L_088FE690; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE690u) goto L_088FE690; AOT_REGCACHE_SYNC_OUT(); return; L_088FE690: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FE69Cu); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE69Cu) goto L_088FE69C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE69Cu) goto L_088FE69C; AOT_REGCACHE_SYNC_OUT(); return; L_088FE69C: aot_gpr_5 = (ctx.gpr[28] + static_cast(-21500)); @@ -5575,13 +5576,13 @@ L_088FE6AC: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FE6BCu); aot_fpr_12 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE6BCu) goto L_088FE6BC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE6BCu) goto L_088FE6BC; AOT_REGCACHE_SYNC_OUT(); return; L_088FE6BC: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FE6C8u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE6C8u) goto L_088FE6C8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE6C8u) goto L_088FE6C8; AOT_REGCACHE_SYNC_OUT(); return; L_088FE6C8: aot_gpr_5 = (ctx.gpr[28] + static_cast(-21492)); @@ -5595,13 +5596,13 @@ L_088FE6D8: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FE6E8u); aot_fpr_12 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE6E8u) goto L_088FE6E8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE6E8u) goto L_088FE6E8; AOT_REGCACHE_SYNC_OUT(); return; L_088FE6E8: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FE6F4u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE6F4u) goto L_088FE6F4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE6F4u) goto L_088FE6F4; AOT_REGCACHE_SYNC_OUT(); return; L_088FE6F4: aot_gpr_5 = (ctx.gpr[28] + static_cast(-21480)); @@ -5616,13 +5617,13 @@ L_088FE704: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FE718u); aot_fpr_12 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE718u) goto L_088FE718; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE718u) goto L_088FE718; AOT_REGCACHE_SYNC_OUT(); return; L_088FE718: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FE724u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE724u) goto L_088FE724; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE724u) goto L_088FE724; AOT_REGCACHE_SYNC_OUT(); return; L_088FE724: aot_gpr_5 = (ctx.gpr[28] + static_cast(-21468)); @@ -5636,13 +5637,13 @@ L_088FE734: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FE744u); aot_fpr_12 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE744u) goto L_088FE744; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE744u) goto L_088FE744; AOT_REGCACHE_SYNC_OUT(); return; L_088FE744: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FE750u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE750u) goto L_088FE750; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE750u) goto L_088FE750; AOT_REGCACHE_SYNC_OUT(); return; L_088FE750: aot_gpr_5 = (ctx.gpr[28] + static_cast(-21460)); @@ -5655,13 +5656,13 @@ L_088FE760: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FE76Cu); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_22)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE76Cu) goto L_088FE76C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE76Cu) goto L_088FE76C; AOT_REGCACHE_SYNC_OUT(); return; L_088FE76C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FE778u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE778u) goto L_088FE778; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE778u) goto L_088FE778; AOT_REGCACHE_SYNC_OUT(); return; L_088FE778: ctx.gpr[19] = (ctx.gpr[28] + static_cast(-21448)); @@ -5680,7 +5681,7 @@ L_088FE794: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FE7A0u); aot_gpr_5 = (0u + static_cast(-10001)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE7A0u) goto L_088FE7A0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE7A0u) goto L_088FE7A0; AOT_REGCACHE_SYNC_OUT(); return; L_088FE7A0: aot_gpr_31 = (0x088FE7A8u); @@ -5701,13 +5702,13 @@ L_088FE7B8: aot_fpr_12 = std::bit_cast(aot_gpr_5); aot_gpr_31 = (0x088FE7D0u); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE7D0u) goto L_088FE7D0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE7D0u) goto L_088FE7D0; AOT_REGCACHE_SYNC_OUT(); return; L_088FE7D0: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FE7DCu); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE7DCu) goto L_088FE7DC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE7DCu) goto L_088FE7DC; AOT_REGCACHE_SYNC_OUT(); return; L_088FE7DC: aot_gpr_5 = (ctx.gpr[28] + static_cast(-21436)); @@ -5723,13 +5724,13 @@ L_088FE7EC: aot_fpr_12 = std::bit_cast(aot_gpr_5); aot_gpr_31 = (0x088FE804u); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE804u) goto L_088FE804; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE804u) goto L_088FE804; AOT_REGCACHE_SYNC_OUT(); return; L_088FE804: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FE810u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE810u) goto L_088FE810; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE810u) goto L_088FE810; AOT_REGCACHE_SYNC_OUT(); return; L_088FE810: aot_gpr_5 = (ctx.gpr[28] + static_cast(-21428)); @@ -5745,13 +5746,13 @@ L_088FE820: aot_fpr_12 = std::bit_cast(aot_gpr_5); aot_gpr_31 = (0x088FE838u); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE838u) goto L_088FE838; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE838u) goto L_088FE838; AOT_REGCACHE_SYNC_OUT(); return; L_088FE838: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FE844u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE844u) goto L_088FE844; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE844u) goto L_088FE844; AOT_REGCACHE_SYNC_OUT(); return; L_088FE844: aot_gpr_5 = (ctx.gpr[28] + static_cast(-21416)); @@ -5767,13 +5768,13 @@ L_088FE854: aot_fpr_12 = std::bit_cast(aot_gpr_5); aot_gpr_31 = (0x088FE86Cu); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE86Cu) goto L_088FE86C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE86Cu) goto L_088FE86C; AOT_REGCACHE_SYNC_OUT(); return; L_088FE86C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FE878u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE878u) goto L_088FE878; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE878u) goto L_088FE878; AOT_REGCACHE_SYNC_OUT(); return; L_088FE878: aot_gpr_5 = (ctx.gpr[28] + static_cast(-21404)); @@ -5789,13 +5790,13 @@ L_088FE888: aot_fpr_12 = std::bit_cast(aot_gpr_5); aot_gpr_31 = (0x088FE8A0u); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE8A0u) goto L_088FE8A0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE8A0u) goto L_088FE8A0; AOT_REGCACHE_SYNC_OUT(); return; L_088FE8A0: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FE8ACu); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE8ACu) goto L_088FE8AC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE8ACu) goto L_088FE8AC; AOT_REGCACHE_SYNC_OUT(); return; L_088FE8AC: aot_gpr_5 = (ctx.gpr[28] + static_cast(-21392)); @@ -5811,13 +5812,13 @@ L_088FE8BC: aot_fpr_12 = std::bit_cast(aot_gpr_5); aot_gpr_31 = (0x088FE8D4u); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE8D4u) goto L_088FE8D4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE8D4u) goto L_088FE8D4; AOT_REGCACHE_SYNC_OUT(); return; L_088FE8D4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FE8E0u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE8E0u) goto L_088FE8E0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE8E0u) goto L_088FE8E0; AOT_REGCACHE_SYNC_OUT(); return; L_088FE8E0: aot_gpr_5 = (ctx.gpr[28] + static_cast(-21380)); @@ -5833,13 +5834,13 @@ L_088FE8F0: aot_fpr_12 = std::bit_cast(aot_gpr_5); aot_gpr_31 = (0x088FE908u); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE908u) goto L_088FE908; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE908u) goto L_088FE908; AOT_REGCACHE_SYNC_OUT(); return; L_088FE908: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FE914u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE914u) goto L_088FE914; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE914u) goto L_088FE914; AOT_REGCACHE_SYNC_OUT(); return; L_088FE914: aot_gpr_5 = (ctx.gpr[28] + static_cast(-21368)); @@ -5855,13 +5856,13 @@ L_088FE924: aot_fpr_12 = std::bit_cast(aot_gpr_5); aot_gpr_31 = (0x088FE93Cu); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE93Cu) goto L_088FE93C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE93Cu) goto L_088FE93C; AOT_REGCACHE_SYNC_OUT(); return; L_088FE93C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FE948u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE948u) goto L_088FE948; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE948u) goto L_088FE948; AOT_REGCACHE_SYNC_OUT(); return; L_088FE948: aot_gpr_5 = (ctx.gpr[28] + static_cast(-21360)); @@ -5877,13 +5878,13 @@ L_088FE958: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FE970u); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE970u) goto L_088FE970; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE970u) goto L_088FE970; AOT_REGCACHE_SYNC_OUT(); return; L_088FE970: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FE97Cu); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE97Cu) goto L_088FE97C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE97Cu) goto L_088FE97C; AOT_REGCACHE_SYNC_OUT(); return; L_088FE97C: ctx.gpr[20] = (ctx.gpr[28] + static_cast(-21348)); @@ -5900,13 +5901,13 @@ L_088FE990: aot_fpr_12 = std::bit_cast(aot_gpr_5); aot_gpr_31 = (0x088FE9A8u); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE9A8u) goto L_088FE9A8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE9A8u) goto L_088FE9A8; AOT_REGCACHE_SYNC_OUT(); return; L_088FE9A8: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FE9B4u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE9B4u) goto L_088FE9B4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE9B4u) goto L_088FE9B4; AOT_REGCACHE_SYNC_OUT(); return; L_088FE9B4: aot_gpr_5 = (ctx.gpr[28] + static_cast(-21336)); @@ -5920,13 +5921,13 @@ L_088FE9C4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FE9D4u); aot_fpr_12 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE9D4u) goto L_088FE9D4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE9D4u) goto L_088FE9D4; AOT_REGCACHE_SYNC_OUT(); return; L_088FE9D4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FE9E0u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE9E0u) goto L_088FE9E0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FE9E0u) goto L_088FE9E0; AOT_REGCACHE_SYNC_OUT(); return; L_088FE9E0: aot_gpr_5 = (ctx.gpr[28] + static_cast(-21332)); @@ -5941,13 +5942,13 @@ L_088FE9F0: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FEA04u); aot_fpr_12 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FEA04u) goto L_088FEA04; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FEA04u) goto L_088FEA04; AOT_REGCACHE_SYNC_OUT(); return; L_088FEA04: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FEA10u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FEA10u) goto L_088FEA10; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FEA10u) goto L_088FEA10; AOT_REGCACHE_SYNC_OUT(); return; L_088FEA10: aot_gpr_5 = (ctx.gpr[28] + static_cast(-21320)); @@ -5961,13 +5962,13 @@ L_088FEA20: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FEA30u); aot_fpr_12 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FEA30u) goto L_088FEA30; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FEA30u) goto L_088FEA30; AOT_REGCACHE_SYNC_OUT(); return; L_088FEA30: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FEA3Cu); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FEA3Cu) goto L_088FEA3C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FEA3Cu) goto L_088FEA3C; AOT_REGCACHE_SYNC_OUT(); return; L_088FEA3C: aot_gpr_5 = (ctx.gpr[28] + static_cast(-21312)); @@ -5982,13 +5983,13 @@ L_088FEA4C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FEA60u); aot_fpr_12 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FEA60u) goto L_088FEA60; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FEA60u) goto L_088FEA60; AOT_REGCACHE_SYNC_OUT(); return; L_088FEA60: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FEA6Cu); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FEA6Cu) goto L_088FEA6C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FEA6Cu) goto L_088FEA6C; AOT_REGCACHE_SYNC_OUT(); return; L_088FEA6C: aot_gpr_5 = (ctx.gpr[28] + static_cast(-21300)); @@ -6002,13 +6003,13 @@ L_088FEA7C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FEA8Cu); aot_fpr_12 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FEA8Cu) goto L_088FEA8C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FEA8Cu) goto L_088FEA8C; AOT_REGCACHE_SYNC_OUT(); return; L_088FEA8C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FEA98u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FEA98u) goto L_088FEA98; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FEA98u) goto L_088FEA98; AOT_REGCACHE_SYNC_OUT(); return; L_088FEA98: aot_gpr_5 = (ctx.gpr[28] + static_cast(-21292)); @@ -6022,13 +6023,13 @@ L_088FEAA8: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FEAB8u); aot_fpr_12 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FEAB8u) goto L_088FEAB8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FEAB8u) goto L_088FEAB8; AOT_REGCACHE_SYNC_OUT(); return; L_088FEAB8: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FEAC4u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FEAC4u) goto L_088FEAC4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FEAC4u) goto L_088FEAC4; AOT_REGCACHE_SYNC_OUT(); return; L_088FEAC4: aot_gpr_5 = (ctx.gpr[28] + static_cast(-21284)); @@ -6043,13 +6044,13 @@ L_088FEAD4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FEAE8u); aot_fpr_12 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FEAE8u) goto L_088FEAE8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FEAE8u) goto L_088FEAE8; AOT_REGCACHE_SYNC_OUT(); return; L_088FEAE8: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FEAF4u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FEAF4u) goto L_088FEAF4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FEAF4u) goto L_088FEAF4; AOT_REGCACHE_SYNC_OUT(); return; L_088FEAF4: aot_gpr_5 = (ctx.gpr[28] + static_cast(-21276)); @@ -6064,13 +6065,13 @@ L_088FEB04: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FEB18u); aot_fpr_12 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FEB18u) goto L_088FEB18; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FEB18u) goto L_088FEB18; AOT_REGCACHE_SYNC_OUT(); return; L_088FEB18: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FEB24u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FEB24u) goto L_088FEB24; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FEB24u) goto L_088FEB24; AOT_REGCACHE_SYNC_OUT(); return; L_088FEB24: aot_gpr_5 = (ctx.gpr[28] + static_cast(-21268)); @@ -6084,13 +6085,13 @@ L_088FEB34: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FEB44u); aot_fpr_12 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FEB44u) goto L_088FEB44; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FEB44u) goto L_088FEB44; AOT_REGCACHE_SYNC_OUT(); return; L_088FEB44: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FEB50u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FEB50u) goto L_088FEB50; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FEB50u) goto L_088FEB50; AOT_REGCACHE_SYNC_OUT(); return; L_088FEB50: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -6105,13 +6106,13 @@ L_088FEB60: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FEB74u); aot_fpr_12 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FEB74u) goto L_088FEB74; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FEB74u) goto L_088FEB74; AOT_REGCACHE_SYNC_OUT(); return; L_088FEB74: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FEB80u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FEB80u) goto L_088FEB80; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FEB80u) goto L_088FEB80; AOT_REGCACHE_SYNC_OUT(); return; L_088FEB80: aot_gpr_5 = (ctx.gpr[28] + static_cast(-21260)); @@ -6126,13 +6127,13 @@ L_088FEB90: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FEBA4u); aot_fpr_12 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FEBA4u) goto L_088FEBA4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FEBA4u) goto L_088FEBA4; AOT_REGCACHE_SYNC_OUT(); return; L_088FEBA4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FEBB0u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FEBB0u) goto L_088FEBB0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FEBB0u) goto L_088FEBB0; AOT_REGCACHE_SYNC_OUT(); return; L_088FEBB0: aot_gpr_5 = (ctx.gpr[28] + static_cast(-21252)); @@ -6150,7 +6151,7 @@ L_088FEBC8: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FEBD4u); aot_gpr_5 = (0u + static_cast(-10001)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FEBD4u) goto L_088FEBD4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FEBD4u) goto L_088FEBD4; AOT_REGCACHE_SYNC_OUT(); return; L_088FEBD4: aot_gpr_31 = (0x088FEBDCu); @@ -6169,13 +6170,13 @@ L_088FEBEC: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FEBFCu); aot_fpr_12 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FEBFCu) goto L_088FEBFC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FEBFCu) goto L_088FEBFC; AOT_REGCACHE_SYNC_OUT(); return; L_088FEBFC: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FEC08u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FEC08u) goto L_088FEC08; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FEC08u) goto L_088FEC08; AOT_REGCACHE_SYNC_OUT(); return; L_088FEC08: aot_gpr_5 = (ctx.gpr[28] + static_cast(-21236)); @@ -6189,13 +6190,13 @@ L_088FEC18: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FEC28u); aot_fpr_12 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FEC28u) goto L_088FEC28; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FEC28u) goto L_088FEC28; AOT_REGCACHE_SYNC_OUT(); return; L_088FEC28: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FEC34u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FEC34u) goto L_088FEC34; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FEC34u) goto L_088FEC34; AOT_REGCACHE_SYNC_OUT(); return; L_088FEC34: aot_gpr_5 = (ctx.gpr[28] + static_cast(-21228)); @@ -6209,13 +6210,13 @@ L_088FEC44: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FEC54u); aot_fpr_12 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FEC54u) goto L_088FEC54; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FEC54u) goto L_088FEC54; AOT_REGCACHE_SYNC_OUT(); return; L_088FEC54: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FEC60u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FEC60u) goto L_088FEC60; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FEC60u) goto L_088FEC60; AOT_REGCACHE_SYNC_OUT(); return; L_088FEC60: aot_gpr_5 = (ctx.gpr[28] + static_cast(-21216)); @@ -6229,13 +6230,13 @@ L_088FEC70: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FEC80u); aot_fpr_12 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FEC80u) goto L_088FEC80; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FEC80u) goto L_088FEC80; AOT_REGCACHE_SYNC_OUT(); return; L_088FEC80: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FEC8Cu); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FEC8Cu) goto L_088FEC8C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FEC8Cu) goto L_088FEC8C; AOT_REGCACHE_SYNC_OUT(); return; L_088FEC8C: aot_gpr_5 = (ctx.gpr[28] + static_cast(-21208)); @@ -6249,13 +6250,13 @@ L_088FEC9C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FECACu); aot_fpr_12 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FECACu) goto L_088FECAC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FECACu) goto L_088FECAC; AOT_REGCACHE_SYNC_OUT(); return; L_088FECAC: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FECB8u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FECB8u) goto L_088FECB8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FECB8u) goto L_088FECB8; AOT_REGCACHE_SYNC_OUT(); return; L_088FECB8: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -6269,13 +6270,13 @@ L_088FECC8: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FECD8u); aot_fpr_12 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FECD8u) goto L_088FECD8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FECD8u) goto L_088FECD8; AOT_REGCACHE_SYNC_OUT(); return; L_088FECD8: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FECE4u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FECE4u) goto L_088FECE4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FECE4u) goto L_088FECE4; AOT_REGCACHE_SYNC_OUT(); return; L_088FECE4: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -6289,13 +6290,13 @@ L_088FECF4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FED04u); aot_fpr_12 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FED04u) goto L_088FED04; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FED04u) goto L_088FED04; AOT_REGCACHE_SYNC_OUT(); return; L_088FED04: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FED10u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FED10u) goto L_088FED10; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FED10u) goto L_088FED10; AOT_REGCACHE_SYNC_OUT(); return; L_088FED10: aot_gpr_5 = (ctx.gpr[28] + static_cast(-21196)); @@ -6309,13 +6310,13 @@ L_088FED20: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FED30u); aot_fpr_12 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FED30u) goto L_088FED30; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FED30u) goto L_088FED30; AOT_REGCACHE_SYNC_OUT(); return; L_088FED30: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FED3Cu); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FED3Cu) goto L_088FED3C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FED3Cu) goto L_088FED3C; AOT_REGCACHE_SYNC_OUT(); return; L_088FED3C: aot_gpr_5 = (ctx.gpr[28] + static_cast(-21184)); @@ -6329,13 +6330,13 @@ L_088FED4C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FED5Cu); aot_fpr_12 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FED5Cu) goto L_088FED5C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FED5Cu) goto L_088FED5C; AOT_REGCACHE_SYNC_OUT(); return; L_088FED5C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FED68u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FED68u) goto L_088FED68; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FED68u) goto L_088FED68; AOT_REGCACHE_SYNC_OUT(); return; L_088FED68: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -6349,13 +6350,13 @@ L_088FED78: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FED88u); aot_fpr_12 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FED88u) goto L_088FED88; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FED88u) goto L_088FED88; AOT_REGCACHE_SYNC_OUT(); return; L_088FED88: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FED94u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FED94u) goto L_088FED94; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FED94u) goto L_088FED94; AOT_REGCACHE_SYNC_OUT(); return; L_088FED94: aot_gpr_5 = (ctx.gpr[28] + static_cast(-21168)); @@ -6369,13 +6370,13 @@ L_088FEDA4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FEDB4u); aot_fpr_12 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FEDB4u) goto L_088FEDB4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FEDB4u) goto L_088FEDB4; AOT_REGCACHE_SYNC_OUT(); return; L_088FEDB4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FEDC0u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FEDC0u) goto L_088FEDC0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FEDC0u) goto L_088FEDC0; AOT_REGCACHE_SYNC_OUT(); return; L_088FEDC0: aot_gpr_5 = (ctx.gpr[28] + static_cast(-21160)); @@ -6389,13 +6390,13 @@ L_088FEDD0: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FEDE0u); aot_fpr_12 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FEDE0u) goto L_088FEDE0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FEDE0u) goto L_088FEDE0; AOT_REGCACHE_SYNC_OUT(); return; L_088FEDE0: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FEDECu); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FEDECu) goto L_088FEDEC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FEDECu) goto L_088FEDEC; AOT_REGCACHE_SYNC_OUT(); return; L_088FEDEC: aot_gpr_5 = (ctx.gpr[28] + static_cast(-21152)); @@ -6409,13 +6410,13 @@ L_088FEDFC: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FEE0Cu); aot_fpr_12 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FEE0Cu) goto L_088FEE0C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FEE0Cu) goto L_088FEE0C; AOT_REGCACHE_SYNC_OUT(); return; L_088FEE0C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FEE18u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FEE18u) goto L_088FEE18; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FEE18u) goto L_088FEE18; AOT_REGCACHE_SYNC_OUT(); return; L_088FEE18: aot_gpr_5 = (ctx.gpr[28] + static_cast(-21144)); @@ -6433,7 +6434,7 @@ L_088FEE30: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FEE3Cu); aot_gpr_5 = (0u + static_cast(-10001)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FEE3Cu) goto L_088FEE3C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FEE3Cu) goto L_088FEE3C; AOT_REGCACHE_SYNC_OUT(); return; L_088FEE3C: aot_gpr_31 = (0x088FEE44u); @@ -6452,13 +6453,13 @@ L_088FEE54: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FEE64u); aot_fpr_12 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FEE64u) goto L_088FEE64; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FEE64u) goto L_088FEE64; AOT_REGCACHE_SYNC_OUT(); return; L_088FEE64: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FEE70u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FEE70u) goto L_088FEE70; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FEE70u) goto L_088FEE70; AOT_REGCACHE_SYNC_OUT(); return; L_088FEE70: aot_gpr_5 = (ctx.gpr[28] + static_cast(-21128)); @@ -6471,13 +6472,13 @@ L_088FEE80: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FEE8Cu); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FEE8Cu) goto L_088FEE8C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FEE8Cu) goto L_088FEE8C; AOT_REGCACHE_SYNC_OUT(); return; L_088FEE8C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FEE98u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FEE98u) goto L_088FEE98; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FEE98u) goto L_088FEE98; AOT_REGCACHE_SYNC_OUT(); return; L_088FEE98: aot_gpr_5 = (ctx.gpr[28] + static_cast(-21120)); @@ -6495,7 +6496,7 @@ L_088FEEB0: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x088FEEBCu); aot_gpr_5 = (0u + static_cast(-10001)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FEEBCu) goto L_088FEEBC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FEEBCu) goto L_088FEEBC; AOT_REGCACHE_SYNC_OUT(); return; L_088FEEBC: { std::uint32_t aot_run_words[9]{}; @@ -6955,7 +6956,7 @@ L_088FF28C: aot_gpr_4 = (aot_gpr_4 | 52429u); aot_gpr_31 = (0x088FF2A8u); ctx.fpr[24] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FF2A8u) goto L_088FF2A8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FF2A8u) goto L_088FF2A8; AOT_REGCACHE_SYNC_OUT(); return; L_088FF2A8: aot_fpr_12 = ctx.fpr[24] - aot_fpr_22; @@ -6964,7 +6965,7 @@ L_088FF2A8: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x088FF2C0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FF2C0u) goto L_088FF2C0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FF2C0u) goto L_088FF2C0; AOT_REGCACHE_SYNC_OUT(); return; L_088FF2C0: aot_fpr_12 = ctx.fpr[24] - aot_fpr_22; @@ -6978,7 +6979,7 @@ L_088FF2C0: aot_gpr_4 = (aot_gpr_4 | 39322u); aot_gpr_31 = (0x088FF2ECu); ctx.fpr[24] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FF2ECu) goto L_088FF2EC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FF2ECu) goto L_088FF2EC; AOT_REGCACHE_SYNC_OUT(); return; L_088FF2EC: aot_fpr_12 = ctx.fpr[24] - ctx.fpr[26]; @@ -7052,14 +7053,14 @@ L_088FF344: L_088FF388: aot_gpr_31 = (0x088FF390u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(84), std::bit_cast(ctx.fpr[28])); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FF390u) goto L_088FF390; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FF390u) goto L_088FF390; AOT_REGCACHE_SYNC_OUT(); return; L_088FF390: aot_fpr_12 = ctx.fpr[30] - aot_fpr_22; { const float fs = aot_fpr_12; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_31 = (0x088FF3A0u); ctx.fpr[28] = aot_fpr_22 + aot_fpr_12; - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FF3A0u) goto L_088FF3A0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FF3A0u) goto L_088FF3A0; AOT_REGCACHE_SYNC_OUT(); return; L_088FF3A0: aot_fpr_13 = ctx.fpr[30] - aot_fpr_22; @@ -7067,7 +7068,7 @@ L_088FF3A0: { const float fs = aot_fpr_13; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_gpr_31 = (0x088FF3B4u); ctx.fpr[30] = aot_fpr_22 + aot_fpr_13; - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FF3B4u) goto L_088FF3B4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FF3B4u) goto L_088FF3B4; AOT_REGCACHE_SYNC_OUT(); return; L_088FF3B4: ctx.fpr[14] = ctx.fpr[24] - aot_fpr_22; @@ -7094,21 +7095,21 @@ L_088FF3B4: L_088FF400: aot_gpr_31 = (0x088FF408u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FF408u) goto L_088FF408; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FF408u) goto L_088FF408; AOT_REGCACHE_SYNC_OUT(); return; L_088FF408: aot_fpr_12 = ctx.fpr[26] - aot_fpr_20; { const float fs = aot_fpr_12; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_31 = (0x088FF418u); aot_fpr_22 = aot_fpr_20 + aot_fpr_12; - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FF418u) goto L_088FF418; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FF418u) goto L_088FF418; AOT_REGCACHE_SYNC_OUT(); return; L_088FF418: aot_fpr_13 = ctx.fpr[26] - aot_fpr_20; { const float fs = aot_fpr_13; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_gpr_31 = (0x088FF428u); ctx.fpr[30] = aot_fpr_20 + aot_fpr_13; - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FF428u) goto L_088FF428; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FF428u) goto L_088FF428; AOT_REGCACHE_SYNC_OUT(); return; L_088FF428: ctx.fpr[28] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(84))); @@ -7135,14 +7136,14 @@ L_088FF428: L_088FF474: aot_gpr_31 = (0x088FF47Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FF47Cu) goto L_088FF47C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FF47Cu) goto L_088FF47C; AOT_REGCACHE_SYNC_OUT(); return; L_088FF47C: aot_fpr_12 = ctx.fpr[26] - aot_fpr_20; { const float fs = aot_fpr_12; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_31 = (0x088FF48Cu); ctx.fpr[30] = aot_fpr_20 + aot_fpr_12; - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FF48Cu) goto L_088FF48C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FF48Cu) goto L_088FF48C; AOT_REGCACHE_SYNC_OUT(); return; L_088FF48C: aot_fpr_13 = ctx.fpr[26] - aot_fpr_20; @@ -7150,7 +7151,7 @@ L_088FF48C: { const float fs = aot_fpr_13; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_gpr_31 = (0x088FF4A0u); ctx.fpr[26] = aot_fpr_20 + aot_fpr_13; - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FF4A0u) goto L_088FF4A0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FF4A0u) goto L_088FF4A0; AOT_REGCACHE_SYNC_OUT(); return; L_088FF4A0: ctx.fpr[14] = ctx.fpr[28] - ctx.fpr[24]; @@ -7299,14 +7300,14 @@ L_088FF5FC: L_088FF640: aot_gpr_31 = (0x088FF648u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), std::bit_cast(ctx.fpr[28])); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FF648u) goto L_088FF648; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FF648u) goto L_088FF648; AOT_REGCACHE_SYNC_OUT(); return; L_088FF648: aot_fpr_12 = ctx.fpr[30] - aot_fpr_22; { const float fs = aot_fpr_12; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_31 = (0x088FF658u); ctx.fpr[28] = aot_fpr_22 + aot_fpr_12; - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FF658u) goto L_088FF658; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FF658u) goto L_088FF658; AOT_REGCACHE_SYNC_OUT(); return; L_088FF658: aot_fpr_13 = ctx.fpr[30] - aot_fpr_22; @@ -7314,7 +7315,7 @@ L_088FF658: { const float fs = aot_fpr_13; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_gpr_31 = (0x088FF66Cu); ctx.fpr[30] = aot_fpr_22 + aot_fpr_13; - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FF66Cu) goto L_088FF66C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FF66Cu) goto L_088FF66C; AOT_REGCACHE_SYNC_OUT(); return; L_088FF66C: ctx.fpr[14] = ctx.fpr[24] - aot_fpr_22; @@ -7341,21 +7342,21 @@ L_088FF66C: L_088FF6B8: aot_gpr_31 = (0x088FF6C0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FF6C0u) goto L_088FF6C0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FF6C0u) goto L_088FF6C0; AOT_REGCACHE_SYNC_OUT(); return; L_088FF6C0: aot_fpr_12 = ctx.fpr[26] - aot_fpr_20; { const float fs = aot_fpr_12; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_31 = (0x088FF6D0u); aot_fpr_22 = aot_fpr_20 + aot_fpr_12; - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FF6D0u) goto L_088FF6D0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FF6D0u) goto L_088FF6D0; AOT_REGCACHE_SYNC_OUT(); return; L_088FF6D0: aot_fpr_13 = ctx.fpr[26] - aot_fpr_20; { const float fs = aot_fpr_13; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_gpr_31 = (0x088FF6E0u); ctx.fpr[30] = aot_fpr_20 + aot_fpr_13; - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FF6E0u) goto L_088FF6E0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FF6E0u) goto L_088FF6E0; AOT_REGCACHE_SYNC_OUT(); return; L_088FF6E0: ctx.fpr[28] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(68))); @@ -7382,14 +7383,14 @@ L_088FF6E0: L_088FF72C: aot_gpr_31 = (0x088FF734u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FF734u) goto L_088FF734; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FF734u) goto L_088FF734; AOT_REGCACHE_SYNC_OUT(); return; L_088FF734: aot_fpr_12 = ctx.fpr[26] - aot_fpr_20; { const float fs = aot_fpr_12; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_31 = (0x088FF744u); ctx.fpr[30] = aot_fpr_20 + aot_fpr_12; - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FF744u) goto L_088FF744; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FF744u) goto L_088FF744; AOT_REGCACHE_SYNC_OUT(); return; L_088FF744: aot_fpr_13 = ctx.fpr[26] - aot_fpr_20; @@ -7397,7 +7398,7 @@ L_088FF744: { const float fs = aot_fpr_13; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_gpr_31 = (0x088FF758u); ctx.fpr[26] = aot_fpr_20 + aot_fpr_13; - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FF758u) goto L_088FF758; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x088FF758u) goto L_088FF758; AOT_REGCACHE_SYNC_OUT(); return; L_088FF758: ctx.fpr[14] = ctx.fpr[28] - ctx.fpr[24]; diff --git a/profiles/vcs/generated/generated_unit_0063.cpp b/profiles/vcs/generated/generated_unit_0063.cpp index 513c6aa..0ae2c44 100644 --- a/profiles/vcs/generated/generated_unit_0063.cpp +++ b/profiles/vcs/generated/generated_unit_0063.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0063[4095] = { }; void recomp_unit_0063_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,29,5,6,18,31 fprs=12,13,14,15 gpr_occ=3236 fpr_occ=1361 gpr_total=4633 fpr_total=1782 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,6,31,2 fprs=12,13,14,15 gpr_occ=3593 fpr_occ=1364 gpr_total=5312 fpr_total=1785 std::uint32_t aot_gpr_4 = ctx.gpr[4]; - std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; + std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_6 = ctx.gpr[6]; - std::uint32_t aot_gpr_18 = ctx.gpr[18]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; + std::uint32_t aot_gpr_2 = ctx.gpr[2]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_14 = ctx.fpr[14]; float aot_fpr_15 = ctx.fpr[15]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[29] = aot_gpr_29; ctx.gpr[5] = aot_gpr_5; ctx.gpr[6] = aot_gpr_6; ctx.gpr[18] = aot_gpr_18; ctx.gpr[31] = aot_gpr_31; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[15] = aot_fpr_15; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_18 = ctx.gpr[18]; aot_gpr_31 = ctx.gpr[31]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_15 = ctx.fpr[15]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[6] = aot_gpr_6; ctx.gpr[31] = aot_gpr_31; ctx.gpr[2] = aot_gpr_2; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[15] = aot_fpr_15; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_2 = ctx.gpr[2]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_15 = ctx.fpr[15]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -910,7 +911,7 @@ L_08900000: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 398u, 0x08A65C4Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08900040u) goto L_08900040; AOT_REGCACHE_SYNC_OUT(); return; L_08900040: - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(6456), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(6456), aot_gpr_2); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(6456))); aot_gpr_4 = (ctx.gpr[28] + static_cast(-20772)); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); @@ -920,7 +921,7 @@ L_08900040: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 398u, 0x08A65C4Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890005Cu) goto L_0890005C; AOT_REGCACHE_SYNC_OUT(); return; L_0890005C: - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(6460), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(6460), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(6460))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_31 = (0x08900070u); @@ -961,12 +962,12 @@ L_08900070: ctx.gpr[9] = (ctx.gpr[28] + static_cast(7840)); ctx.gpr[8] = (ctx.gpr[28] + static_cast(6284)); ctx.gpr[13] = (ctx.gpr[28] + static_cast(6308)); - ctx.gpr[2] = (ctx.gpr[28] + static_cast(6380)); + aot_gpr_2 = (ctx.gpr[28] + static_cast(6380)); ctx.gpr[30] = (ctx.gpr[28] + static_cast(8792)); ctx.gpr[22] = (ctx.gpr[20] + static_cast(16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), aot_gpr_6); ctx.gpr[19] = (ctx.gpr[28] + static_cast(8800)); - aot_gpr_18 = (ctx.gpr[28] + static_cast(6360)); + ctx.gpr[18] = (ctx.gpr[28] + static_cast(6360)); ctx.gpr[17] = (ctx.gpr[28] + static_cast(6412)); ctx.gpr[16] = (ctx.gpr[28] + static_cast(6420)); ctx.gpr[12] = (0u | 0u); @@ -1508,7 +1509,7 @@ L_08900358: } L_08900360: { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(124), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(124), aot_gpr_2); if (branch_taken) { goto L_089003FC; } @@ -1516,7 +1517,7 @@ L_08900360: } L_08900368: { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(124), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(124), aot_gpr_2); if (branch_taken) { goto L_089003FC; } @@ -1524,7 +1525,7 @@ L_08900368: } L_08900370: { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(124), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(124), aot_gpr_2); if (branch_taken) { goto L_089003FC; } @@ -1532,7 +1533,7 @@ L_08900370: } L_08900378: { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(124), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(124), aot_gpr_2); if (branch_taken) { goto L_089003FC; } @@ -1606,7 +1607,7 @@ L_089003C0: } L_089003C8: { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(124), aot_gpr_18); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(124), ctx.gpr[18]); if (branch_taken) { goto L_089003FC; } @@ -1668,7 +1669,7 @@ L_0890040C: aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(100), aot_run_words); ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; - aot_gpr_18 = aot_run_words[2]; + ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; ctx.gpr[21] = aot_run_words[5]; @@ -1688,15 +1689,15 @@ L_0890043C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(208), ctx.gpr[16]); ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(256))); - ctx.gpr[2] = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(8360))); + aot_gpr_2 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(8360))); ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7713))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(212), ctx.gpr[17]); ctx.gpr[17] = (aot_gpr_5 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(188), std::bit_cast(ctx.fpr[20])); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(216), aot_gpr_18); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(216), ctx.gpr[18]); ctx.fpr[20] = std::bit_cast(std::bit_cast(aot_fpr_12)); - aot_gpr_5 = (ctx.gpr[2] | ctx.gpr[7]); - aot_gpr_18 = (ctx.gpr[9] | 0u); + aot_gpr_5 = (aot_gpr_2 | ctx.gpr[7]); + ctx.gpr[18] = (ctx.gpr[9] | 0u); { const std::uint32_t aot_run_words[4]{std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(192), aot_run_words); } { const std::uint32_t aot_run_words[6]{ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], aot_gpr_31}; @@ -1744,7 +1745,7 @@ L_089004D8: } L_089004E0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08900ED4; } @@ -1752,7 +1753,7 @@ L_089004E0: } L_089004E8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08900ED4; } @@ -1824,7 +1825,7 @@ L_089004F0: } L_08900540: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08900ED4; } @@ -1998,19 +1999,19 @@ L_08900664: ctx.gpr[16] = (0u - ctx.gpr[23]); aot_gpr_31 = (0x0890067Cu); ctx.gpr[17] = (static_cast(static_cast(ctx.gpr[16]) >> 31u)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890067Cu) goto L_0890067C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890067Cu) goto L_0890067C; AOT_REGCACHE_SYNC_OUT(); return; L_0890067C: aot_gpr_6 = (ctx.gpr[23] - ctx.gpr[16]); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08900690u); ctx.gpr[7] = (static_cast(static_cast(aot_gpr_6) >> 31u)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08900690u) goto L_08900690; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08900690u) goto L_08900690; AOT_REGCACHE_SYNC_OUT(); return; L_08900690: ctx.gpr[1] = (ctx.gpr[3] << 1u); - aot_gpr_4 = (ctx.gpr[2] >> 31u); + aot_gpr_4 = (aot_gpr_2 >> 31u); aot_gpr_5 = (static_cast(static_cast(ctx.gpr[3]) >> 31u)); aot_gpr_4 = (ctx.gpr[1] | aot_gpr_4); aot_gpr_6 = (ctx.gpr[16] + aot_gpr_4); @@ -2133,7 +2134,7 @@ L_0890077C: aot_mem.aot_direct_store8(ctx.gpr[22] + static_cast(2), static_cast(aot_gpr_6)); goto L_08900788; L_08900788: - { const bool branch_taken = aot_gpr_18 == 0u; + { const bool branch_taken = ctx.gpr[18] == 0u; aot_mem.aot_direct_store16(ctx.gpr[20] + static_cast(64), static_cast(ctx.gpr[19])); if (branch_taken) { goto L_08900798; @@ -2142,7 +2143,7 @@ L_08900788: } L_08900790: { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store16(ctx.gpr[20] + static_cast(62), static_cast(aot_gpr_18)); + aot_mem.aot_direct_store16(ctx.gpr[20] + static_cast(62), static_cast(ctx.gpr[18])); if (branch_taken) { goto L_089007A0; } @@ -2155,10 +2156,10 @@ L_08900798: L_089007A0: aot_gpr_31 = (0x089007A8u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089007A8u) goto L_089007A8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089007A8u) goto L_089007A8; AOT_REGCACHE_SYNC_OUT(); return; L_089007A8: - aot_gpr_4 = (ctx.gpr[2] & 65535u); + aot_gpr_4 = (aot_gpr_2 & 65535u); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -2186,34 +2187,34 @@ L_089007C4: L_089007D8: aot_gpr_31 = (0x089007E0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089007E0u) goto L_089007E0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089007E0u) goto L_089007E0; AOT_REGCACHE_SYNC_OUT(); return; L_089007E0: - aot_gpr_4 = (ctx.gpr[2] & 65535u); + aot_gpr_4 = (aot_gpr_2 & 65535u); ctx.gpr[19] = (0u | 20u); { const std::int32_t dividend = static_cast(aot_gpr_4); const std::int32_t divisor = static_cast(ctx.gpr[19]); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } - aot_gpr_18 = (2247u << 16u); + ctx.gpr[18] = (2247u << 16u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(68))); - aot_gpr_18 = (aot_gpr_18 + static_cast(-12400)); + ctx.gpr[18] = (ctx.gpr[18] + static_cast(-12400)); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(0))); aot_gpr_4 = (ctx.hi); aot_gpr_4 = (aot_gpr_4 << 2u); - aot_gpr_4 = (aot_gpr_4 + aot_gpr_18); + aot_gpr_4 = (aot_gpr_4 + ctx.gpr[18]); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); { const float fs = aot_fpr_12; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = aot_fpr_13 + aot_fpr_12; aot_gpr_31 = (0x0890081Cu); aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(0), std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890081Cu) goto L_0890081C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890081Cu) goto L_0890081C; AOT_REGCACHE_SYNC_OUT(); return; L_0890081C: - aot_gpr_4 = (ctx.gpr[2] & 65535u); + aot_gpr_4 = (aot_gpr_2 & 65535u); { const std::int32_t dividend = static_cast(aot_gpr_4); const std::int32_t divisor = static_cast(ctx.gpr[19]); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(68))); aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(4))); aot_gpr_4 = (ctx.hi); aot_gpr_4 = (aot_gpr_4 << 2u); - aot_gpr_4 = (aot_gpr_4 + aot_gpr_18); + aot_gpr_4 = (aot_gpr_4 + ctx.gpr[18]); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = aot_fpr_15 + aot_fpr_12; @@ -2230,16 +2231,16 @@ L_0890081C: L_08900858: aot_gpr_31 = (0x08900860u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08900860u) goto L_08900860; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08900860u) goto L_08900860; AOT_REGCACHE_SYNC_OUT(); return; L_08900860: - aot_gpr_4 = (ctx.gpr[2] & 65535u); + aot_gpr_4 = (aot_gpr_2 & 65535u); { const std::int32_t dividend = static_cast(aot_gpr_4); const std::int32_t divisor = static_cast(ctx.gpr[19]); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(68))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(8))); aot_gpr_4 = (ctx.hi); aot_gpr_4 = (aot_gpr_4 << 2u); - aot_gpr_4 = (aot_gpr_4 + aot_gpr_18); + aot_gpr_4 = (aot_gpr_4 + ctx.gpr[18]); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); { const float fs = aot_fpr_12; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = aot_fpr_13 + aot_fpr_12; @@ -2259,12 +2260,12 @@ L_0890088C: L_089008A0: aot_gpr_31 = (0x089008A8u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089008A8u) goto L_089008A8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089008A8u) goto L_089008A8; AOT_REGCACHE_SYNC_OUT(); return; L_089008A8: - aot_gpr_4 = (ctx.gpr[2] & 65535u); - aot_gpr_18 = (0u | 20u); - { const std::int32_t dividend = static_cast(aot_gpr_4); const std::int32_t divisor = static_cast(aot_gpr_18); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } + aot_gpr_4 = (aot_gpr_2 & 65535u); + ctx.gpr[18] = (0u | 20u); + { const std::int32_t dividend = static_cast(aot_gpr_4); const std::int32_t divisor = static_cast(ctx.gpr[18]); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } ctx.gpr[19] = (2247u << 16u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(72))); ctx.gpr[19] = (ctx.gpr[19] + static_cast(-12400)); @@ -2277,11 +2278,11 @@ L_089008A8: aot_fpr_12 = aot_fpr_13 + aot_fpr_12; aot_gpr_31 = (0x089008E4u); aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(16), std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089008E4u) goto L_089008E4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089008E4u) goto L_089008E4; AOT_REGCACHE_SYNC_OUT(); return; L_089008E4: - aot_gpr_4 = (ctx.gpr[2] & 65535u); - { const std::int32_t dividend = static_cast(aot_gpr_4); const std::int32_t divisor = static_cast(aot_gpr_18); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } + aot_gpr_4 = (aot_gpr_2 & 65535u); + { const std::int32_t dividend = static_cast(aot_gpr_4); const std::int32_t divisor = static_cast(ctx.gpr[18]); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(72))); aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(20))); aot_gpr_4 = (ctx.hi); @@ -2303,11 +2304,11 @@ L_089008E4: L_08900920: aot_gpr_31 = (0x08900928u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08900928u) goto L_08900928; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08900928u) goto L_08900928; AOT_REGCACHE_SYNC_OUT(); return; L_08900928: - aot_gpr_4 = (ctx.gpr[2] & 65535u); - { const std::int32_t dividend = static_cast(aot_gpr_4); const std::int32_t divisor = static_cast(aot_gpr_18); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } + aot_gpr_4 = (aot_gpr_2 & 65535u); + { const std::int32_t dividend = static_cast(aot_gpr_4); const std::int32_t divisor = static_cast(ctx.gpr[18]); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(72))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(24))); aot_gpr_4 = (ctx.hi); @@ -2342,10 +2343,10 @@ L_08900968: L_08900978: aot_gpr_31 = (0x08900980u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08900980u) goto L_08900980; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08900980u) goto L_08900980; AOT_REGCACHE_SYNC_OUT(); return; L_08900980: - aot_gpr_4 = (ctx.gpr[2] & 65535u); + aot_gpr_4 = (aot_gpr_2 & 65535u); aot_gpr_5 = (0u | 20u); { const std::int32_t dividend = static_cast(aot_gpr_4); const std::int32_t divisor = static_cast(aot_gpr_5); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } aot_gpr_4 = (2247u << 16u); @@ -2373,11 +2374,11 @@ L_089009BC: L_089009C8: aot_gpr_31 = (0x089009D0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089009D0u) goto L_089009D0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089009D0u) goto L_089009D0; AOT_REGCACHE_SYNC_OUT(); return; L_089009D0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(80))); - aot_gpr_5 = (ctx.gpr[2] & 65535u); + aot_gpr_5 = (aot_gpr_2 & 65535u); aot_gpr_6 = (aot_gpr_4 + aot_gpr_4); { const std::uint32_t dividend = aot_gpr_5; const std::uint32_t divisor = aot_gpr_6; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[20] + static_cast(62)))))); @@ -2400,10 +2401,10 @@ L_089009FC: L_08900A08: aot_gpr_31 = (0x08900A10u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08900A10u) goto L_08900A10; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08900A10u) goto L_08900A10; AOT_REGCACHE_SYNC_OUT(); return; L_08900A10: - aot_gpr_4 = (ctx.gpr[2] & 65535u); + aot_gpr_4 = (aot_gpr_2 & 65535u); aot_gpr_5 = (0u | 20u); { const std::int32_t dividend = static_cast(aot_gpr_4); const std::int32_t divisor = static_cast(aot_gpr_5); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } aot_gpr_5 = (20224u << 16u); @@ -2603,7 +2604,7 @@ L_08900B94: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 456u, 0x08A93144u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08900B9Cu) goto L_08900B9C; AOT_REGCACHE_SYNC_OUT(); return; L_08900B9C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08900BB0; @@ -2667,7 +2668,7 @@ L_08900BB0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 287u, 0x08891DD4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08900C14u) goto L_08900C14; AOT_REGCACHE_SYNC_OUT(); return; L_08900C14: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08900C64; @@ -2715,7 +2716,7 @@ L_08900C34: } L_08900C5C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08900ED4; } @@ -2723,7 +2724,7 @@ L_08900C5C: } L_08900C64: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08900ED4; } @@ -2779,7 +2780,7 @@ L_08900CB4: } L_08900CC0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08900ED4; } @@ -2820,10 +2821,10 @@ L_08900CE4: L_08900CFC: aot_gpr_31 = (0x08900D04u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08900D04u) goto L_08900D04; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08900D04u) goto L_08900D04; AOT_REGCACHE_SYNC_OUT(); return; L_08900D04: - aot_gpr_4 = (ctx.gpr[2] & 65535u); + aot_gpr_4 = (aot_gpr_2 & 65535u); aot_gpr_5 = (0u | 20u); { const std::int32_t dividend = static_cast(aot_gpr_4); const std::int32_t divisor = static_cast(aot_gpr_5); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } aot_gpr_4 = (16800u << 16u); @@ -2852,7 +2853,7 @@ L_08900D4C: aot_gpr_4 = (16448u << 16u); aot_gpr_31 = (0x08900D60u); ctx.fpr[26] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08900D60u) goto L_08900D60; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08900D60u) goto L_08900D60; AOT_REGCACHE_SYNC_OUT(); return; L_08900D60: aot_fpr_12 = ctx.fpr[26] - ctx.fpr[24]; @@ -2870,10 +2871,10 @@ L_08900D60: L_08900D7C: aot_gpr_31 = (0x08900D84u); ctx.gpr[16] = (aot_mem.aot_direct_load8(ctx.gpr[20] + static_cast(44))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08900D84u) goto L_08900D84; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08900D84u) goto L_08900D84; AOT_REGCACHE_SYNC_OUT(); return; L_08900D84: - aot_gpr_4 = (ctx.gpr[2] & 65535u); + aot_gpr_4 = (aot_gpr_2 & 65535u); aot_gpr_4 = (aot_gpr_4 & 1u); aot_gpr_5 = (aot_gpr_4 << 5u); aot_gpr_5 = (aot_gpr_5 - aot_gpr_4); @@ -2881,10 +2882,10 @@ L_08900D84: aot_gpr_4 = (ctx.gpr[16] - aot_gpr_4); aot_gpr_31 = (0x08900DA4u); aot_mem.aot_direct_store8(ctx.gpr[20] + static_cast(44), static_cast(aot_gpr_4)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08900DA4u) goto L_08900DA4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08900DA4u) goto L_08900DA4; AOT_REGCACHE_SYNC_OUT(); return; L_08900DA4: - aot_gpr_4 = (ctx.gpr[2] & 65535u); + aot_gpr_4 = (aot_gpr_2 & 65535u); aot_gpr_4 = (aot_gpr_4 & 7u); aot_mem.aot_direct_store16(ctx.gpr[20] + static_cast(60), static_cast(aot_gpr_4)); aot_gpr_4 = (16025u << 16u); @@ -2894,7 +2895,7 @@ L_08900DA4: aot_gpr_4 = (aot_gpr_4 | 52429u); aot_gpr_31 = (0x08900DCCu); ctx.fpr[26] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08900DCCu) goto L_08900DCC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08900DCCu) goto L_08900DCC; AOT_REGCACHE_SYNC_OUT(); return; L_08900DCC: aot_fpr_12 = ctx.fpr[26] - ctx.fpr[24]; @@ -2908,7 +2909,7 @@ L_08900DCC: aot_fpr_12 = ctx.fpr[24] + aot_fpr_12; aot_gpr_31 = (0x08900DF8u); aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(48), std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08900DF8u) goto L_08900DF8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08900DF8u) goto L_08900DF8; AOT_REGCACHE_SYNC_OUT(); return; L_08900DF8: aot_fpr_12 = ctx.fpr[26] - ctx.fpr[28]; @@ -2926,10 +2927,10 @@ L_08900DF8: L_08900E14: aot_gpr_31 = (0x08900E1Cu); ctx.gpr[16] = (aot_mem.aot_direct_load8(ctx.gpr[20] + static_cast(44))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08900E1Cu) goto L_08900E1C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08900E1Cu) goto L_08900E1C; AOT_REGCACHE_SYNC_OUT(); return; L_08900E1C: - aot_gpr_4 = (ctx.gpr[2] & 65535u); + aot_gpr_4 = (aot_gpr_2 & 65535u); aot_gpr_4 = (aot_gpr_4 & 1u); aot_gpr_5 = (aot_gpr_4 << 5u); aot_gpr_5 = (aot_gpr_5 - aot_gpr_4); @@ -2937,10 +2938,10 @@ L_08900E1C: aot_gpr_4 = (ctx.gpr[16] - aot_gpr_4); aot_gpr_31 = (0x08900E3Cu); aot_mem.aot_direct_store8(ctx.gpr[20] + static_cast(44), static_cast(aot_gpr_4)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08900E3Cu) goto L_08900E3C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08900E3Cu) goto L_08900E3C; AOT_REGCACHE_SYNC_OUT(); return; L_08900E3C: - aot_gpr_4 = (ctx.gpr[2] & 65535u); + aot_gpr_4 = (aot_gpr_2 & 65535u); aot_gpr_4 = (aot_gpr_4 & 7u); aot_mem.aot_direct_store16(ctx.gpr[20] + static_cast(60), static_cast(aot_gpr_4)); aot_gpr_4 = (16204u << 16u); @@ -2950,7 +2951,7 @@ L_08900E3C: aot_gpr_4 = (aot_gpr_4 | 13107u); aot_gpr_31 = (0x08900E64u); ctx.fpr[26] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08900E64u) goto L_08900E64; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08900E64u) goto L_08900E64; AOT_REGCACHE_SYNC_OUT(); return; L_08900E64: aot_fpr_12 = ctx.fpr[26] - ctx.fpr[24]; @@ -2964,7 +2965,7 @@ L_08900E64: aot_fpr_12 = ctx.fpr[24] + aot_fpr_12; aot_gpr_31 = (0x08900E90u); aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(48), std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08900E90u) goto L_08900E90; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08900E90u) goto L_08900E90; AOT_REGCACHE_SYNC_OUT(); return; L_08900E90: aot_fpr_12 = ctx.fpr[26] - ctx.fpr[28]; @@ -2989,7 +2990,7 @@ L_08900EB8: goto L_08900EBC; L_08900EBC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(72))); - ctx.gpr[2] = (ctx.gpr[20] | 0u); + aot_gpr_2 = (ctx.gpr[20] | 0u); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8812), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(128))); aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(72), aot_gpr_4); @@ -3005,7 +3006,7 @@ L_08900ED4: ctx.fpr[28] = std::bit_cast(aot_run_words[4]); ctx.gpr[16] = aot_run_words[5]; ctx.gpr[17] = aot_run_words[6]; - aot_gpr_18 = aot_run_words[7]; + ctx.gpr[18] = aot_run_words[7]; ctx.gpr[19] = aot_run_words[8]; ctx.gpr[20] = aot_run_words[9]; ctx.gpr[21] = aot_run_words[10]; @@ -3025,7 +3026,7 @@ L_08900F14: aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7713))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(596), std::bit_cast(ctx.fpr[20])); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); - { const std::uint32_t aot_run_words[12]{std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), ctx.gpr[16], ctx.gpr[17], aot_gpr_18, ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], aot_gpr_31}; + { const std::uint32_t aot_run_words[12]{std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(600), aot_run_words); } { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -3206,7 +3207,7 @@ L_08901108: ctx.gpr[7] = (0u | 255u); aot_gpr_31 = (0x08901168u); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08901168u) goto L_08901168; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08901168u) goto L_08901168; AOT_REGCACHE_SYNC_OUT(); return; L_08901168: ctx.gpr[3] = (0u | 1000u); @@ -3215,7 +3216,7 @@ L_08901168: aot_gpr_5 = (aot_gpr_29 + static_cast(48)); aot_gpr_6 = (aot_gpr_29 + static_cast(64)); ctx.gpr[7] = (0u | 0u); - ctx.gpr[8] = (ctx.gpr[2] | 0u); + ctx.gpr[8] = (aot_gpr_2 | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[11] = (0u | 1u); @@ -3238,8 +3239,8 @@ L_089011A8: aot_gpr_5 = (ctx.gpr[16] << 2u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); ctx.gpr[17] = (ctx.gpr[17] + aot_gpr_4); - aot_gpr_18 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(128))); - { const bool branch_taken = aot_gpr_18 == 0u; + ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(128))); + { const bool branch_taken = ctx.gpr[18] == 0u; ctx.gpr[19] = (0u | 0u); if (branch_taken) { goto L_089023A8; @@ -3254,7 +3255,7 @@ L_089011C8: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); - aot_gpr_4 = (aot_gpr_18 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[18] + static_cast(16)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -3270,7 +3271,7 @@ L_089011C8: const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - { const std::uint32_t vfpu_address = aot_gpr_18 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -3294,7 +3295,7 @@ L_089011C8: goto L_08901218; } L_08901218: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_18 + static_cast(64)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(64)))))); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_gpr_4 = (16457u << 16u); @@ -3322,17 +3323,17 @@ L_08901218: aot_gpr_5 = (16000u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_5); { const float fs = aot_fpr_13; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - aot_mem.aot_direct_store32(aot_gpr_18 + static_cast(24), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(24), std::bit_cast(aot_fpr_12)); aot_gpr_5 = (2247u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(-8224)); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - aot_mem.aot_direct_store32(aot_gpr_18 + static_cast(20), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(20), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (16128u << 16u); aot_fpr_14 = std::bit_cast(aot_gpr_4); { const float fs = aot_fpr_12; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - aot_mem.aot_direct_store32(aot_gpr_18 + static_cast(16), std::bit_cast(aot_fpr_12)); - aot_gpr_4 = (aot_gpr_18 + static_cast(16)); + aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(16), std::bit_cast(aot_fpr_12)); + aot_gpr_4 = (ctx.gpr[18] + static_cast(16)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -3480,7 +3481,7 @@ L_089013A4: aot_gpr_4 = (16288u << 16u); aot_gpr_31 = (0x089013B8u); ctx.fpr[22] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089013B8u) goto L_089013B8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089013B8u) goto L_089013B8; AOT_REGCACHE_SYNC_OUT(); return; L_089013B8: aot_fpr_12 = ctx.fpr[22] - ctx.fpr[20]; @@ -3492,7 +3493,7 @@ L_089013B8: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(96), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x089013DCu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089013DCu) goto L_089013DC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089013DCu) goto L_089013DC; AOT_REGCACHE_SYNC_OUT(); return; L_089013DC: aot_fpr_12 = ctx.fpr[22] - ctx.fpr[20]; @@ -3525,7 +3526,7 @@ L_089013DC: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_31 = (0x0890142Cu); - aot_gpr_4 = (aot_gpr_18 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[18] + static_cast(16)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890142Cu) goto L_0890142C; AOT_REGCACHE_SYNC_OUT(); return; L_0890142C: @@ -3601,7 +3602,7 @@ L_0890148C: L_0890149C: aot_gpr_31 = (0x089014A4u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089014A4u) goto L_089014A4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089014A4u) goto L_089014A4; AOT_REGCACHE_SYNC_OUT(); return; L_089014A4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); @@ -3636,7 +3637,7 @@ L_089014C4: AOT_REGCACHE_SYNC_OUT(); return; L_089014E4: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(136))); - ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(48))); + ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(48))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(176))); aot_fpr_12 = aot_fpr_12 + ctx.fpr[16]; ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); @@ -3663,7 +3664,7 @@ L_0890150C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0134_entry, 134u, 56u, 0x08A1C658u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08901518u) goto L_08901518; AOT_REGCACHE_SYNC_OUT(); return; L_08901518: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = static_cast(aot_gpr_4) <= 0; aot_gpr_4 = (static_cast(aot_gpr_4) < 4 ? 1u : 0u); if (branch_taken) { @@ -3745,7 +3746,7 @@ L_08901534: aot_fpr_12 = std::bit_cast(aot_gpr_4); goto L_08901578; L_08901578: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(32))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(32))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_4 = (aot_gpr_4 < aot_gpr_5 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; @@ -3756,7 +3757,7 @@ L_08901578: goto L_0890158C; } L_0890158C: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_18 + static_cast(45))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(45))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -3773,7 +3774,7 @@ L_08901598: goto L_089015A0; } L_089015A0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(36))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(36))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -3782,7 +3783,7 @@ L_089015A0: goto L_089015AC; } L_089015AC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(36))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(36))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_4 = (aot_gpr_5 < aot_gpr_4 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; @@ -3793,7 +3794,7 @@ L_089015AC: goto L_089015C0; } L_089015C0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(36))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(36))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_4 = (aot_gpr_4 - aot_gpr_5); aot_fpr_12 = std::bit_cast(aot_gpr_4); @@ -3838,7 +3839,7 @@ L_08901600: aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_6 + static_cast(2))); ctx.gpr[11] = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(2))); aot_gpr_6 = (aot_gpr_6 - ctx.gpr[11]); - aot_gpr_4 = (aot_gpr_18 + static_cast(68)); + aot_gpr_4 = (ctx.gpr[18] + static_cast(68)); aot_fpr_14 = std::bit_cast(ctx.gpr[7]); aot_fpr_15 = std::bit_cast(ctx.gpr[9]); aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); @@ -3952,7 +3953,7 @@ L_089016DC: L_089016EC: aot_gpr_4 = (ctx.gpr[17] + static_cast(104)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - aot_gpr_5 = (aot_gpr_18 + static_cast(68)); + aot_gpr_5 = (ctx.gpr[18] + static_cast(68)); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_4); goto L_089016FC; L_089016FC: @@ -3969,7 +3970,7 @@ L_0890170C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-8744))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-8740))); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(0))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); aot_fpr_15 = std::bit_cast(aot_gpr_5); aot_gpr_4 = (49440u << 16u); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); @@ -3987,7 +3988,7 @@ L_0890170C: goto L_08901748; } L_08901748: - aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(0))); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_15 <= aot_fpr_12)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); @@ -3998,7 +3999,7 @@ L_08901748: goto L_0890175C; } L_0890175C: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(4))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); @@ -4009,7 +4010,7 @@ L_0890175C: goto L_08901770; } L_08901770: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(4))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_14)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); @@ -4039,11 +4040,11 @@ L_0890178C: } L_0890179C: aot_fpr_13 = std::bit_cast(0u); - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(52))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(52))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_14 <= aot_fpr_13)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(48))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(48))); if (branch_taken) { goto L_089018C4; } @@ -4166,17 +4167,17 @@ L_0890185C: L_08901874: aot_gpr_4 = (16256u << 16u); aot_fpr_14 = std::bit_cast(aot_gpr_4); - aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(52))); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(52))); aot_fpr_13 = aot_fpr_13 + aot_fpr_14; aot_gpr_4 = (15897u << 16u); - ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(24))); + ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(24))); aot_gpr_4 = (aot_gpr_4 | 39322u); ctx.fpr[17] = std::bit_cast(aot_gpr_4); { const float fs = aot_fpr_15; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } ctx.fpr[16] = ctx.fpr[16] - ctx.fpr[17]; aot_fpr_12 = aot_fpr_12 - aot_fpr_13; { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_18 + static_cast(24), std::bit_cast(ctx.fpr[16])); + aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(24), std::bit_cast(ctx.fpr[16])); if (branch_taken) { goto L_089018BC; } @@ -4184,7 +4185,7 @@ L_08901874: } L_089018A8: aot_fpr_14 = std::bit_cast(aot_gpr_4); - aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(52))); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(52))); aot_fpr_13 = aot_fpr_13 + aot_fpr_14; { const float fs = aot_fpr_15; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_fpr_12 = aot_fpr_12 + aot_fpr_13; @@ -4198,7 +4199,7 @@ L_089018BC: goto L_089018C4; } L_089018C4: - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(52))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(52))); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; goto L_089018CC; L_089018CC: @@ -4221,7 +4222,7 @@ L_089018E0: goto L_089018E8; } L_089018E8: - aot_mem.aot_direct_store32(aot_gpr_18 + static_cast(48), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(48), std::bit_cast(aot_fpr_12)); goto L_089018EC; L_089018EC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(60))); @@ -4268,7 +4269,7 @@ L_08901920: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<1u>(aot_gpr_4); - aot_gpr_4 = (aot_gpr_18 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[18] + static_cast(16)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -4311,7 +4312,7 @@ L_08901958: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<1u>(aot_gpr_4); - aot_gpr_4 = (aot_gpr_18 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[18] + static_cast(16)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -4356,7 +4357,7 @@ L_0890199C: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(28))); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<1u>(aot_gpr_4); - aot_gpr_4 = (aot_gpr_18 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[18] + static_cast(16)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -4382,7 +4383,7 @@ L_089019C0: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(32))); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<1u>(aot_gpr_4); - aot_gpr_4 = (aot_gpr_18 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[18] + static_cast(16)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -4408,7 +4409,7 @@ L_089019E4: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(36))); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<1u>(aot_gpr_4); - aot_gpr_4 = (aot_gpr_18 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[18] + static_cast(16)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -4434,7 +4435,7 @@ L_08901A08: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(40))); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<1u>(aot_gpr_4); - aot_gpr_4 = (aot_gpr_18 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[18] + static_cast(16)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -4472,7 +4473,7 @@ L_08901A44: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(56))); aot_gpr_4 = (49736u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(24))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(24))); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_14 <= aot_fpr_12)) ? 0x00800000u : 0u); // nop @@ -4486,10 +4487,10 @@ L_08901A44: L_08901A68: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(56))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(24))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(24))); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = aot_fpr_14 - aot_fpr_12; - aot_mem.aot_direct_store32(aot_gpr_18 + static_cast(24), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(24), std::bit_cast(aot_fpr_12)); goto L_08901A80; L_08901A80: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(92))); @@ -4502,8 +4503,8 @@ L_08901A80: goto L_08901A90; } L_08901A90: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(8))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(40))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(40))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); @@ -4538,10 +4539,10 @@ L_08901ABC: L_08901AD4: aot_gpr_31 = (0x08901ADCu); ctx.gpr[20] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08901ADCu) goto L_08901ADC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08901ADCu) goto L_08901ADC; AOT_REGCACHE_SYNC_OUT(); return; L_08901ADC: - aot_gpr_4 = (ctx.gpr[2] & 65535u); + aot_gpr_4 = (aot_gpr_2 & 65535u); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_4 = (15692u << 16u); @@ -4552,12 +4553,12 @@ L_08901ADC: } L_08901AEC: aot_gpr_4 = (15692u << 16u); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(40))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(40))); aot_gpr_4 = (aot_gpr_4 | 52429u); aot_fpr_14 = std::bit_cast(aot_gpr_4); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(0))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); aot_fpr_14 = aot_fpr_12 + aot_fpr_14; - aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(4))); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(256), std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(260), std::bit_cast(aot_fpr_15)); aot_gpr_5 = (aot_gpr_29 + static_cast(256)); @@ -4584,12 +4585,12 @@ L_08901B48: goto L_08901B50; } L_08901B50: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(40))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(40))); aot_gpr_4 = (aot_gpr_4 | 52429u); aot_fpr_14 = std::bit_cast(aot_gpr_4); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(0))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); aot_fpr_14 = aot_fpr_12 + aot_fpr_14; - aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(4))); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(288), std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(292), std::bit_cast(aot_fpr_15)); aot_gpr_5 = (aot_gpr_29 + static_cast(288)); @@ -4618,10 +4619,10 @@ L_08901BA8: L_08901BB0: aot_gpr_31 = (0x08901BB8u); ctx.gpr[20] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08901BB8u) goto L_08901BB8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08901BB8u) goto L_08901BB8; AOT_REGCACHE_SYNC_OUT(); return; L_08901BB8: - aot_gpr_4 = (ctx.gpr[2] & 65535u); + aot_gpr_4 = (aot_gpr_2 & 65535u); aot_gpr_5 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_5 = (0u | 5u); @@ -4642,12 +4643,12 @@ L_08901BC8: } L_08901BD8: aot_gpr_4 = (15692u << 16u); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(40))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(40))); aot_gpr_4 = (aot_gpr_4 | 52429u); aot_fpr_14 = std::bit_cast(aot_gpr_4); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(0))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); aot_fpr_14 = aot_fpr_12 + aot_fpr_14; - aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(4))); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(320), std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(324), std::bit_cast(aot_fpr_15)); aot_gpr_5 = (aot_gpr_29 + static_cast(320)); @@ -4674,12 +4675,12 @@ L_08901C34: goto L_08901C3C; } L_08901C3C: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(40))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(40))); aot_gpr_4 = (aot_gpr_4 | 52429u); aot_fpr_14 = std::bit_cast(aot_gpr_4); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(0))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); aot_fpr_14 = aot_fpr_12 + aot_fpr_14; - aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(4))); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(352), std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(356), std::bit_cast(aot_fpr_15)); aot_gpr_5 = (aot_gpr_29 + static_cast(352)); @@ -4707,7 +4708,7 @@ L_08901C94: } L_08901C9C: ctx.gpr[20] = (0u | 1u); - { const std::uint32_t vfpu_address = aot_gpr_18 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -4749,21 +4750,21 @@ L_08901CDC: aot_gpr_4 = (16512u << 16u); aot_gpr_31 = (0x08901D04u); ctx.fpr[26] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08901D04u) goto L_08901D04; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08901D04u) goto L_08901D04; AOT_REGCACHE_SYNC_OUT(); return; L_08901D04: - aot_gpr_4 = (ctx.gpr[2] & 65535u); + aot_gpr_4 = (aot_gpr_2 & 65535u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[22])); ctx.gpr[11] = (aot_gpr_4 & 4095u); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[20])); - ctx.gpr[2] = (16256u << 16u); + aot_gpr_2 = (16256u << 16u); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[20])); ctx.gpr[11] = (ctx.gpr[11] + static_cast(2000)); aot_fpr_15 = std::bit_cast(std::bit_cast(ctx.fpr[24])); aot_gpr_4 = (0u | 1u); ctx.fpr[16] = std::bit_cast(std::bit_cast(ctx.fpr[26])); aot_gpr_5 = (ctx.gpr[21] | 0u); - ctx.fpr[17] = std::bit_cast(ctx.gpr[2]); + ctx.fpr[17] = std::bit_cast(aot_gpr_2); aot_gpr_6 = (aot_gpr_29 + static_cast(384)); ctx.gpr[7] = (0u | 255u); ctx.gpr[8] = (0u | 255u); @@ -4802,21 +4803,21 @@ L_08901D68: aot_gpr_4 = (16512u << 16u); aot_gpr_31 = (0x08901D90u); ctx.fpr[26] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08901D90u) goto L_08901D90; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08901D90u) goto L_08901D90; AOT_REGCACHE_SYNC_OUT(); return; L_08901D90: - aot_gpr_4 = (ctx.gpr[2] & 65535u); + aot_gpr_4 = (aot_gpr_2 & 65535u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[22])); ctx.gpr[11] = (aot_gpr_4 & 4095u); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[20])); - ctx.gpr[2] = (16256u << 16u); + aot_gpr_2 = (16256u << 16u); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[20])); ctx.gpr[11] = (ctx.gpr[11] + static_cast(8000)); aot_fpr_15 = std::bit_cast(std::bit_cast(ctx.fpr[24])); aot_gpr_4 = (0u | 1u); ctx.fpr[16] = std::bit_cast(std::bit_cast(ctx.fpr[26])); aot_gpr_5 = (ctx.gpr[21] | 0u); - ctx.fpr[17] = std::bit_cast(ctx.gpr[2]); + ctx.fpr[17] = std::bit_cast(aot_gpr_2); aot_gpr_6 = (aot_gpr_29 + static_cast(384)); ctx.gpr[7] = (0u | 255u); ctx.gpr[8] = (0u | 255u); @@ -4857,7 +4858,7 @@ L_08901DF8: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), 0u); aot_gpr_5 = (aot_gpr_29 + static_cast(208)); aot_gpr_6 = (aot_gpr_29 + static_cast(240)); - aot_gpr_4 = (aot_gpr_18 | 0u); + aot_gpr_4 = (ctx.gpr[18] | 0u); ctx.gpr[7] = (0u | 1u); ctx.gpr[8] = (0u | 1u); ctx.gpr[9] = (0u | 0u); @@ -4868,7 +4869,7 @@ L_08901DF8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 287u, 0x08891DD4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08901E2Cu) goto L_08901E2C; AOT_REGCACHE_SYNC_OUT(); return; L_08901E2C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089020F0; @@ -4901,64 +4902,64 @@ L_08901E4C: } L_08901E64: aot_gpr_31 = (0x08901E6Cu); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(16))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08901E6Cu) goto L_08901E6C; + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(16))); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08901E6Cu) goto L_08901E6C; AOT_REGCACHE_SYNC_OUT(); return; L_08901E6C: ctx.gpr[23] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-20748))); ctx.gpr[22] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-20752))); aot_gpr_5 = (ctx.gpr[3] | 0u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); ctx.gpr[7] = (ctx.gpr[23] | 0u); aot_gpr_31 = (0x08901E88u); aot_gpr_6 = (ctx.gpr[22] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08901E88u) goto L_08901E88; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08901E88u) goto L_08901E88; AOT_REGCACHE_SYNC_OUT(); return; L_08901E88: aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08901E94u); - aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08901E94u) goto L_08901E94; + aot_gpr_4 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B627F0, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08901E94u) goto L_08901E94; AOT_REGCACHE_SYNC_OUT(); return; L_08901E94: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(20))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(20))); aot_gpr_31 = (0x08901EA0u); - aot_mem.aot_direct_store32(aot_gpr_18 + static_cast(16), std::bit_cast(ctx.fpr[0])); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08901EA0u) goto L_08901EA0; + aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(16), std::bit_cast(ctx.fpr[0])); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08901EA0u) goto L_08901EA0; AOT_REGCACHE_SYNC_OUT(); return; L_08901EA0: aot_gpr_5 = (ctx.gpr[3] | 0u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); ctx.gpr[7] = (ctx.gpr[23] | 0u); aot_gpr_31 = (0x08901EB4u); aot_gpr_6 = (ctx.gpr[22] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08901EB4u) goto L_08901EB4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08901EB4u) goto L_08901EB4; AOT_REGCACHE_SYNC_OUT(); return; L_08901EB4: aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08901EC0u); - aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08901EC0u) goto L_08901EC0; + aot_gpr_4 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B627F0, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08901EC0u) goto L_08901EC0; AOT_REGCACHE_SYNC_OUT(); return; L_08901EC0: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(24))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(24))); aot_gpr_31 = (0x08901ECCu); - aot_mem.aot_direct_store32(aot_gpr_18 + static_cast(20), std::bit_cast(ctx.fpr[0])); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08901ECCu) goto L_08901ECC; + aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(20), std::bit_cast(ctx.fpr[0])); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08901ECCu) goto L_08901ECC; AOT_REGCACHE_SYNC_OUT(); return; L_08901ECC: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-20740))); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-20744))); aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08901EE0u); - aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08901EE0u) goto L_08901EE0; + aot_gpr_4 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08901EE0u) goto L_08901EE0; AOT_REGCACHE_SYNC_OUT(); return; L_08901EE0: aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08901EECu); - aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08901EECu) goto L_08901EEC; + aot_gpr_4 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B627F0, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08901EECu) goto L_08901EEC; AOT_REGCACHE_SYNC_OUT(); return; L_08901EEC: aot_gpr_4 = (15267u << 16u); @@ -4967,7 +4968,7 @@ L_08901EEC: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[0] < aot_fpr_12)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); - aot_mem.aot_direct_store32(aot_gpr_18 + static_cast(24), std::bit_cast(ctx.fpr[0])); + aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(24), std::bit_cast(ctx.fpr[0])); if (branch_taken) { goto L_089020F0; } @@ -4976,7 +4977,7 @@ L_08901EEC: L_08901F08: aot_fpr_12 = std::bit_cast(0u); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_18 + static_cast(24), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(24), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_089020F0; } @@ -4993,8 +4994,8 @@ L_08901F14: goto L_08901F24; } L_08901F24: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(8))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(40))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(40))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); @@ -5064,7 +5065,7 @@ L_08901F78: aot_gpr_4 = (aot_gpr_4 | 55050u); aot_gpr_31 = (0x08901F98u); ctx.fpr[22] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08901F98u) goto L_08901F98; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08901F98u) goto L_08901F98; AOT_REGCACHE_SYNC_OUT(); return; L_08901F98: aot_fpr_12 = ctx.fpr[22] - ctx.fpr[20]; @@ -5072,7 +5073,7 @@ L_08901F98: aot_fpr_12 = ctx.fpr[20] + aot_fpr_12; aot_gpr_31 = (0x08901FACu); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(416), std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08901FACu) goto L_08901FAC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08901FACu) goto L_08901FAC; AOT_REGCACHE_SYNC_OUT(); return; L_08901FAC: aot_fpr_12 = ctx.fpr[22] - ctx.fpr[20]; @@ -5086,7 +5087,7 @@ L_08901FAC: aot_fpr_12 = ctx.fpr[20] + aot_fpr_12; aot_gpr_31 = (0x08901FD8u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(420), std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08901FD8u) goto L_08901FD8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08901FD8u) goto L_08901FD8; AOT_REGCACHE_SYNC_OUT(); return; L_08901FD8: aot_fpr_12 = ctx.fpr[22] - ctx.fpr[24]; @@ -5100,20 +5101,20 @@ L_08901FD8: ctx.gpr[10] = (0u | 0u); ctx.gpr[11] = (0u | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(424), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(40))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(0))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(40))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); aot_fpr_12 = aot_fpr_12 + ctx.fpr[24]; - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(4))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_13), std::bit_cast(aot_fpr_14), std::bit_cast(aot_fpr_12)}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(400), aot_run_words); } - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(48))); - ctx.gpr[9] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_18 + static_cast(62)))))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(48))); + ctx.gpr[9] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(62)))))); aot_gpr_31 = (0x08902030u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); goto L_0890043C; L_08902030: aot_gpr_4 = (0u | 86u); - aot_gpr_5 = (aot_gpr_18 | 0u); + aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08902040u); aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0018_entry, 18u, 46u, 0x0884C57Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08902040u) goto L_08902040; @@ -5138,7 +5139,7 @@ L_08902048: ctx.fpr[22] = std::bit_cast(aot_gpr_4); aot_gpr_31 = (0x08902074u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(452), std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08902074u) goto L_08902074; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08902074u) goto L_08902074; AOT_REGCACHE_SYNC_OUT(); return; L_08902074: aot_fpr_12 = ctx.fpr[22] - ctx.fpr[20]; @@ -5154,22 +5155,22 @@ L_08902074: ctx.gpr[7] = (0u | 0u); ctx.gpr[9] = (0u | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(456), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(40))); - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(0))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(40))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; - aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(4))); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(432), std::bit_cast(aot_fpr_14)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(436), std::bit_cast(aot_fpr_15)); ctx.gpr[10] = (0u | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(440), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(48))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(48))); ctx.gpr[11] = (0u | 0u); aot_gpr_31 = (0x089020D8u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); goto L_0890043C; L_089020D8: aot_gpr_4 = (0u | 87u); - aot_gpr_5 = (aot_gpr_18 | 0u); + aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x089020E8u); aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0018_entry, 18u, 46u, 0x0884C57Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089020E8u) goto L_089020E8; @@ -5206,7 +5207,7 @@ L_08902110: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(56))); aot_gpr_4 = (49312u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(24))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(24))); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_14 < aot_fpr_12)) ? 0x00800000u : 0u); // nop @@ -5220,10 +5221,10 @@ L_08902110: L_08902134: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(56))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(24))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(24))); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = aot_fpr_14 - aot_fpr_12; - aot_mem.aot_direct_store32(aot_gpr_18 + static_cast(24), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(24), std::bit_cast(aot_fpr_12)); goto L_0890214C; L_0890214C: { const bool branch_taken = 0u == 0u; @@ -5249,7 +5250,7 @@ L_08902164: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), 0u); aot_gpr_5 = (aot_gpr_29 + static_cast(464)); aot_gpr_6 = (aot_gpr_29 + static_cast(496)); - aot_gpr_4 = (aot_gpr_18 | 0u); + aot_gpr_4 = (ctx.gpr[18] | 0u); ctx.gpr[7] = (0u | 1u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); @@ -5260,7 +5261,7 @@ L_08902164: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 287u, 0x08891DD4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08902198u) goto L_08902198; AOT_REGCACHE_SYNC_OUT(); return; L_08902198: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08902228; @@ -5298,11 +5299,11 @@ L_089021D0: aot_gpr_4 = (aot_gpr_4 | 52429u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(516), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_gpr_4); - ctx.gpr[2] = (15948u << 16u); + aot_gpr_2 = (15948u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(520), std::bit_cast(aot_fpr_12)); - ctx.gpr[2] = (ctx.gpr[2] | 52429u); + aot_gpr_2 = (aot_gpr_2 | 52429u); ctx.gpr[20] = (0u | 1u); - aot_fpr_12 = std::bit_cast(ctx.gpr[2]); + aot_fpr_12 = std::bit_cast(aot_gpr_2); aot_gpr_5 = (aot_gpr_29 + static_cast(128)); aot_gpr_6 = (aot_gpr_29 + static_cast(512)); aot_gpr_4 = (0u | 28u); @@ -5323,7 +5324,7 @@ L_08902220: goto L_08902228; } L_08902228: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_18 + static_cast(56)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(56)))))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -5332,8 +5333,8 @@ L_08902228: goto L_08902234; } L_08902234: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_18 + static_cast(44))); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_18 + static_cast(56)))))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(44))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(56)))))); aot_gpr_4 = (aot_gpr_4 - aot_gpr_5); { const bool branch_taken = static_cast(aot_gpr_4) >= 0; // nop @@ -5363,10 +5364,10 @@ L_0890225C: aot_gpr_4 = (0u | 255u); goto L_08902260; L_08902260: - aot_mem.aot_direct_store8(aot_gpr_18 + static_cast(44), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(44), static_cast(aot_gpr_4)); goto L_08902264; L_08902264: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_18 + static_cast(58)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(58)))))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -5375,8 +5376,8 @@ L_08902264: goto L_08902270; } L_08902270: - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_18 + static_cast(45))); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_18 + static_cast(58)))))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(45))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(58)))))); aot_gpr_5 = (aot_gpr_5 - aot_gpr_4); { const bool branch_taken = static_cast(aot_gpr_5) >= 0; // nop @@ -5410,8 +5411,8 @@ L_089022A0: } goto L_089022AC; L_089022AC: - aot_mem.aot_direct_store8(aot_gpr_18 + static_cast(45), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_18 + static_cast(45))); + aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(45), static_cast(aot_gpr_4)); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(45))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -5438,7 +5439,7 @@ L_089022C4: } L_089022D0: aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(50))); - aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_18 + static_cast(60))); + aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(60))); aot_gpr_4 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_5) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -5448,12 +5449,12 @@ L_089022D0: goto L_089022E4; } L_089022E4: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_18 + static_cast(66))); - aot_mem.aot_direct_store16(aot_gpr_18 + static_cast(60), static_cast(0u)); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(66))); + aot_mem.aot_direct_store16(ctx.gpr[18] + static_cast(60), static_cast(0u)); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store8(aot_gpr_18 + static_cast(66), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(66), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(49))); - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_18 + static_cast(66))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(66))); aot_gpr_4 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_5) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -5475,29 +5476,29 @@ L_08902308: L_08902318: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(48))); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_18 + static_cast(66), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(66), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08902340; } goto L_08902324; } L_08902324: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_18 + static_cast(66))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(66))); aot_gpr_4 = (aot_gpr_4 + static_cast(-1)); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_18 + static_cast(66), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(66), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08902340; } goto L_08902334; } L_08902334: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_18 + static_cast(60))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(60))); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store16(aot_gpr_18 + static_cast(60), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store16(ctx.gpr[18] + static_cast(60), static_cast(aot_gpr_4)); goto L_08902340; L_08902340: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_18 + static_cast(62)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(62)))))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -5506,10 +5507,10 @@ L_08902340: goto L_0890234C; } L_0890234C: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_18 + static_cast(64)))))); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_18 + static_cast(62)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(64)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(62)))))); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); - aot_mem.aot_direct_store16(aot_gpr_18 + static_cast(64), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store16(ctx.gpr[18] + static_cast(64), static_cast(aot_gpr_4)); goto L_0890235C; L_0890235C: aot_gpr_4 = (aot_gpr_29 + static_cast(128)); @@ -5523,7 +5524,7 @@ L_0890235C: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_18 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } goto L_08902368; @@ -5536,7 +5537,7 @@ L_08902368: goto L_08902370; } L_08902370: - aot_gpr_4 = (aot_gpr_18 | 0u); + aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08902380u); aot_gpr_6 = (ctx.gpr[17] | 0u); @@ -5552,7 +5553,7 @@ L_08902380: } L_08902388: { const bool branch_taken = 0u == 0u; - aot_gpr_18 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(72))); + ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(72))); if (branch_taken) { goto L_089023A0; } @@ -5560,18 +5561,18 @@ L_08902388: } L_08902390: { const bool branch_taken = 0u == 0u; - aot_gpr_18 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(128))); + ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(128))); if (branch_taken) { goto L_089023A0; } goto L_08902398; } L_08902398: - ctx.gpr[19] = (aot_gpr_18 | 0u); - aot_gpr_18 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(72))); + ctx.gpr[19] = (ctx.gpr[18] | 0u); + ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(72))); goto L_089023A0; L_089023A0: - { const bool branch_taken = aot_gpr_18 != 0u; + { const bool branch_taken = ctx.gpr[18] != 0u; // nop if (branch_taken) { goto L_089011C8; @@ -5597,7 +5598,7 @@ L_089023B8: ctx.fpr[26] = std::bit_cast(aot_run_words[3]); ctx.gpr[16] = aot_run_words[4]; ctx.gpr[17] = aot_run_words[5]; - aot_gpr_18 = aot_run_words[6]; + ctx.gpr[18] = aot_run_words[6]; ctx.gpr[19] = aot_run_words[7]; ctx.gpr[20] = aot_run_words[8]; ctx.gpr[21] = aot_run_words[9]; @@ -5613,36 +5614,36 @@ L_089023B8: AOT_REGCACHE_SYNC_OUT(); return; L_089023F4: aot_gpr_29 = (aot_gpr_29 + static_cast(-320)); - { const std::uint32_t aot_run_words[16]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), ctx.gpr[16], ctx.gpr[17], aot_gpr_18, ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; + { const std::uint32_t aot_run_words[16]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(244), aot_run_words); } aot_gpr_4 = (0u | 2u); aot_gpr_31 = (0x08902444u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08902444u) goto L_08902444; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08902444u) goto L_08902444; AOT_REGCACHE_SYNC_OUT(); return; L_08902444: aot_gpr_4 = (0u | 3u); aot_gpr_31 = (0x08902450u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08902450u) goto L_08902450; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08902450u) goto L_08902450; AOT_REGCACHE_SYNC_OUT(); return; L_08902450: aot_gpr_4 = (0u | 11u); aot_gpr_31 = (0x0890245Cu); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890245Cu) goto L_0890245C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890245Cu) goto L_0890245C; AOT_REGCACHE_SYNC_OUT(); return; L_0890245C: aot_gpr_4 = (0u | 6u); aot_gpr_31 = (0x08902468u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08902468u) goto L_08902468; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08902468u) goto L_08902468; AOT_REGCACHE_SYNC_OUT(); return; L_08902468: aot_gpr_4 = (0u | 10u); aot_gpr_31 = (0x08902474u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08902474u) goto L_08902474; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08902474u) goto L_08902474; AOT_REGCACHE_SYNC_OUT(); return; L_08902474: aot_gpr_4 = (0u | 4u); @@ -5650,13 +5651,13 @@ L_08902474: aot_gpr_4 = (0u | 8u); aot_gpr_31 = (0x08902488u); aot_gpr_5 = (0u | 5u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08902488u) goto L_08902488; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08902488u) goto L_08902488; AOT_REGCACHE_SYNC_OUT(); return; L_08902488: aot_gpr_4 = (0u | 9u); aot_gpr_31 = (0x08902494u); aot_gpr_5 = (0u | 6u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08902494u) goto L_08902494; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08902494u) goto L_08902494; AOT_REGCACHE_SYNC_OUT(); return; L_08902494: aot_gpr_4 = (0u | 0u); @@ -5706,9 +5707,9 @@ L_0890252C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8816))); ctx.gpr[19] = (aot_gpr_4 + ctx.gpr[19]); ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(128))); - aot_gpr_18 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(124))); + ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(124))); { const bool branch_taken = ctx.gpr[17] == 0u; - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(196), aot_gpr_18); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(196), ctx.gpr[18]); if (branch_taken) { goto L_0890262C; } @@ -5756,13 +5757,13 @@ L_0890258C: aot_gpr_4 = (0u | 8u); aot_gpr_31 = (0x08902598u); aot_gpr_5 = (0u | 5u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08902598u) goto L_08902598; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08902598u) goto L_08902598; AOT_REGCACHE_SYNC_OUT(); return; L_08902598: aot_gpr_4 = (0u | 9u); aot_gpr_31 = (0x089025A4u); aot_gpr_5 = (0u | 6u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089025A4u) goto L_089025A4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089025A4u) goto L_089025A4; AOT_REGCACHE_SYNC_OUT(); return; L_089025A4: { const bool branch_taken = 0u == 0u; @@ -5786,13 +5787,13 @@ L_089025BC: aot_gpr_4 = (0u | 8u); aot_gpr_31 = (0x089025C8u); aot_gpr_5 = (0u | 5u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089025C8u) goto L_089025C8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089025C8u) goto L_089025C8; AOT_REGCACHE_SYNC_OUT(); return; L_089025C8: aot_gpr_4 = (0u | 9u); aot_gpr_31 = (0x089025D4u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089025D4u) goto L_089025D4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089025D4u) goto L_089025D4; AOT_REGCACHE_SYNC_OUT(); return; L_089025D4: { const bool branch_taken = 0u == 0u; @@ -5806,20 +5807,20 @@ L_089025DC: aot_gpr_4 = (0u | 8u); aot_gpr_31 = (0x089025E8u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089025E8u) goto L_089025E8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089025E8u) goto L_089025E8; AOT_REGCACHE_SYNC_OUT(); return; L_089025E8: aot_gpr_4 = (0u | 9u); aot_gpr_31 = (0x089025F4u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089025F4u) goto L_089025F4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089025F4u) goto L_089025F4; AOT_REGCACHE_SYNC_OUT(); return; L_089025F4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(92))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(232), aot_gpr_4); goto L_089025FC; L_089025FC: - { const bool branch_taken = aot_gpr_18 == 0u; + { const bool branch_taken = ctx.gpr[18] == 0u; // nop if (branch_taken) { goto L_0890262C; @@ -5827,7 +5828,7 @@ L_089025FC: goto L_08902604; } L_08902604: - ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(0))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(200))); { const bool branch_taken = ctx.gpr[16] == aot_gpr_4; // nop @@ -5845,7 +5846,7 @@ L_0890261C: aot_gpr_4 = (0u | 1u); aot_gpr_31 = (0x08902628u); aot_gpr_5 = (ctx.gpr[16] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08902628u) goto L_08902628; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08902628u) goto L_08902628; AOT_REGCACHE_SYNC_OUT(); return; L_08902628: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(200), ctx.gpr[16]); @@ -5900,7 +5901,7 @@ L_08902648: aot_gpr_4 = (0u | 4u); aot_gpr_31 = (0x089026B8u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089026B8u) goto L_089026B8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089026B8u) goto L_089026B8; AOT_REGCACHE_SYNC_OUT(); return; L_089026B8: { const bool branch_taken = ctx.gpr[17] == 0u; @@ -5913,14 +5914,14 @@ L_089026B8: L_089026C0: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(45))); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_18 = (0u | 1u); + ctx.gpr[18] = (0u | 1u); if (branch_taken) { goto L_089026D0; } goto L_089026CC; } L_089026CC: - aot_gpr_18 = (0u | 0u); + ctx.gpr[18] = (0u | 0u); goto L_089026D0; L_089026D0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[30] + static_cast(4))); @@ -5942,10 +5943,10 @@ L_089026D0: goto L_08902704; } L_08902704: - aot_gpr_18 = (0u | 0u); + ctx.gpr[18] = (0u | 0u); goto L_08902708; L_08902708: - { const bool branch_taken = aot_gpr_18 == 0u; + { const bool branch_taken = ctx.gpr[18] == 0u; // nop if (branch_taken) { goto L_0890275C; @@ -5992,7 +5993,7 @@ L_0890274C: aot_gpr_4 = (0u | 1u); aot_gpr_31 = (0x08902758u); aot_gpr_5 = (ctx.gpr[16] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08902758u) goto L_08902758; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08902758u) goto L_08902758; AOT_REGCACHE_SYNC_OUT(); return; L_08902758: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(200), ctx.gpr[16]); @@ -6003,7 +6004,7 @@ L_0890275C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_4); ctx.gpr[22] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(16))); ctx.gpr[21] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(17))); - { const bool branch_taken = aot_gpr_18 == 0u; + { const bool branch_taken = ctx.gpr[18] == 0u; ctx.gpr[16] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(18))); if (branch_taken) { goto L_0890290C; @@ -6053,7 +6054,7 @@ L_089027A4: L_089027AC: aot_gpr_31 = (0x089027B4u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(240), std::bit_cast(ctx.fpr[28])); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089027B4u) goto L_089027B4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089027B4u) goto L_089027B4; AOT_REGCACHE_SYNC_OUT(); return; L_089027B4: aot_fpr_12 = ctx.fpr[22] - ctx.fpr[24]; @@ -6069,7 +6070,7 @@ L_089027B4: { const float fs = aot_fpr_12; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[20] = std::bit_cast(0x7FC00000u); else ctx.fpr[20] = fs * ft; } aot_gpr_31 = (0x089027E8u); ctx.fpr[20] = ctx.fpr[28] + ctx.fpr[20]; - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089027E8u) goto L_089027E8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089027E8u) goto L_089027E8; AOT_REGCACHE_SYNC_OUT(); return; L_089027E8: aot_fpr_15 = ctx.fpr[22] - ctx.fpr[24]; @@ -6092,7 +6093,7 @@ L_089027E8: L_08902818: aot_gpr_31 = (0x08902820u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(240), std::bit_cast(ctx.fpr[28])); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08902820u) goto L_08902820; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08902820u) goto L_08902820; AOT_REGCACHE_SYNC_OUT(); return; L_08902820: aot_fpr_12 = ctx.fpr[22] - ctx.fpr[24]; @@ -6104,7 +6105,7 @@ L_08902820: { const float fs = aot_fpr_13; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[20] = std::bit_cast(0x7FC00000u); else ctx.fpr[20] = fs * ft; } aot_gpr_31 = (0x08902844u); ctx.fpr[20] = ctx.fpr[28] + ctx.fpr[20]; - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08902844u) goto L_08902844; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08902844u) goto L_08902844; AOT_REGCACHE_SYNC_OUT(); return; L_08902844: aot_fpr_14 = ctx.fpr[22] - ctx.fpr[24]; @@ -6116,7 +6117,7 @@ L_08902844: ctx.fpr[28] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(240))); goto L_08902860; L_08902860: - { const bool branch_taken = aot_gpr_18 == 0u; + { const bool branch_taken = ctx.gpr[18] == 0u; // nop if (branch_taken) { goto L_08902900; @@ -6179,7 +6180,7 @@ L_089028D0: AOT_REGCACHE_SYNC_OUT(); return; L_08902900: aot_gpr_4 = (20352u << 16u); - aot_gpr_18 = (0u | 0u); + ctx.gpr[18] = (0u | 0u); ctx.fpr[20] = std::bit_cast(aot_gpr_4); goto L_0890290C; L_0890290C: @@ -6212,7 +6213,7 @@ L_08902924: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(72), std::bit_cast(aot_fpr_12)); goto L_08902934; L_08902934: - { const bool branch_taken = aot_gpr_18 == 0u; + { const bool branch_taken = ctx.gpr[18] == 0u; aot_gpr_4 = (aot_gpr_6 | 0u); if (branch_taken) { goto L_0890324C; @@ -6228,7 +6229,7 @@ L_0890293C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0169_entry, 169u, 32u, 0x08AA82D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08902950u) goto L_08902950; AOT_REGCACHE_SYNC_OUT(); return; L_08902950: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_0890324C; @@ -6408,7 +6409,7 @@ L_08902A60: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0134_entry, 134u, 56u, 0x08A1C658u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08902A68u) goto L_08902A68; AOT_REGCACHE_SYNC_OUT(); return; L_08902A68: - aot_gpr_6 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); { const bool branch_taken = static_cast(aot_gpr_6) <= 0; aot_gpr_4 = (static_cast(aot_gpr_6) < 3 ? 1u : 0u); if (branch_taken) { @@ -6427,7 +6428,7 @@ L_08902A74: L_08902A7C: aot_gpr_31 = (0x08902A84u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08902A84u) goto L_08902A84; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08902A84u) goto L_08902A84; AOT_REGCACHE_SYNC_OUT(); return; L_08902A84: aot_gpr_4 = (16624u << 16u); @@ -6441,7 +6442,7 @@ L_08902A84: aot_fpr_12 = aot_fpr_14 + aot_fpr_12; aot_gpr_31 = (0x08902AB0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08902AB0u) goto L_08902AB0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08902AB0u) goto L_08902AB0; AOT_REGCACHE_SYNC_OUT(); return; L_08902AB0: aot_fpr_12 = ctx.fpr[22] - ctx.fpr[24]; @@ -6461,7 +6462,7 @@ L_08902AB0: L_08902AD4: aot_gpr_31 = (0x08902ADCu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08902ADCu) goto L_08902ADC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08902ADCu) goto L_08902ADC; AOT_REGCACHE_SYNC_OUT(); return; L_08902ADC: aot_fpr_12 = ctx.fpr[22] - ctx.fpr[24]; @@ -6473,7 +6474,7 @@ L_08902ADC: aot_fpr_12 = aot_fpr_14 + aot_fpr_12; aot_gpr_31 = (0x08902B00u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08902B00u) goto L_08902B00; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08902B00u) goto L_08902B00; AOT_REGCACHE_SYNC_OUT(); return; L_08902B00: aot_fpr_12 = ctx.fpr[22] - ctx.fpr[24]; @@ -6613,7 +6614,7 @@ L_08902C0C: L_08902C14: aot_gpr_31 = (0x08902C1Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08902C1Cu) goto L_08902C1C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08902C1Cu) goto L_08902C1C; AOT_REGCACHE_SYNC_OUT(); return; L_08902C1C: aot_fpr_12 = ctx.fpr[22] - ctx.fpr[24]; @@ -6625,7 +6626,7 @@ L_08902C1C: aot_fpr_12 = aot_fpr_14 + aot_fpr_12; aot_gpr_31 = (0x08902C40u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08902C40u) goto L_08902C40; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08902C40u) goto L_08902C40; AOT_REGCACHE_SYNC_OUT(); return; L_08902C40: aot_fpr_12 = ctx.fpr[22] - ctx.fpr[24]; @@ -7004,7 +7005,7 @@ L_08902F68: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0169_entry, 169u, 32u, 0x08AA82D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08902F94u) goto L_08902F94; AOT_REGCACHE_SYNC_OUT(); return; L_08902F94: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08903014; @@ -7327,7 +7328,7 @@ L_0890327C: aot_gpr_4 = (0u | 4u); aot_gpr_31 = (0x089032F0u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089032F0u) goto L_089032F0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089032F0u) goto L_089032F0; AOT_REGCACHE_SYNC_OUT(); return; L_089032F0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(236))); @@ -7353,31 +7354,31 @@ L_08903308: aot_gpr_4 = (0u | 10u); aot_gpr_31 = (0x08903334u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08903334u) goto L_08903334; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08903334u) goto L_08903334; AOT_REGCACHE_SYNC_OUT(); return; L_08903334: aot_gpr_4 = (0u | 6u); aot_gpr_31 = (0x08903340u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08903340u) goto L_08903340; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08903340u) goto L_08903340; AOT_REGCACHE_SYNC_OUT(); return; L_08903340: aot_gpr_4 = (0u | 4u); aot_gpr_31 = (0x0890334Cu); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890334Cu) goto L_0890334C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890334Cu) goto L_0890334C; AOT_REGCACHE_SYNC_OUT(); return; L_0890334C: aot_gpr_4 = (0u | 8u); aot_gpr_31 = (0x08903358u); aot_gpr_5 = (0u | 5u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08903358u) goto L_08903358; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08903358u) goto L_08903358; AOT_REGCACHE_SYNC_OUT(); return; L_08903358: aot_gpr_4 = (0u | 9u); aot_gpr_31 = (0x08903364u); aot_gpr_5 = (0u | 6u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08903364u) goto L_08903364; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08903364u) goto L_08903364; AOT_REGCACHE_SYNC_OUT(); return; L_08903364: { std::uint32_t aot_run_words[16]{}; @@ -7390,7 +7391,7 @@ L_08903364: ctx.fpr[30] = std::bit_cast(aot_run_words[5]); ctx.gpr[16] = aot_run_words[6]; ctx.gpr[17] = aot_run_words[7]; - aot_gpr_18 = aot_run_words[8]; + ctx.gpr[18] = aot_run_words[8]; ctx.gpr[19] = aot_run_words[9]; ctx.gpr[20] = aot_run_words[10]; ctx.gpr[21] = aot_run_words[11]; @@ -7410,7 +7411,7 @@ L_089033AC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); aot_gpr_31 = (0x089033BCu); aot_gpr_4 = (ctx.gpr[28] + static_cast(-20736)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089033BCu) goto L_089033BC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089033BCu) goto L_089033BC; AOT_REGCACHE_SYNC_OUT(); return; L_089033BC: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -7422,14 +7423,14 @@ L_089033BC: AOT_REGCACHE_SYNC_OUT(); return; L_089033C8: jump_target = aot_gpr_31; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(40))); + aot_gpr_2 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(40))); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_089033D0: jump_target = aot_gpr_31; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(44))); + aot_gpr_2 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(44))); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -7501,7 +7502,7 @@ L_0890343C: L_08903444: aot_gpr_31 = (0x0890344Cu); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890344Cu) goto L_0890344C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890344Cu) goto L_0890344C; AOT_REGCACHE_SYNC_OUT(); return; L_0890344C: { std::uint32_t aot_run_words[3]{}; @@ -7520,7 +7521,7 @@ L_08903460: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); ctx.gpr[16] = (aot_gpr_4 | 0u); - { const std::uint32_t aot_run_words[4]{ctx.gpr[17], aot_gpr_18, ctx.gpr[19], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(4), aot_run_words); } aot_gpr_4 = (ctx.gpr[16] + static_cast(64)); aot_gpr_31 = (0x08903488u); @@ -7528,12 +7529,12 @@ L_08903460: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0030_entry, 30u, 736u, 0x0887F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08903488u) goto L_08903488; AOT_REGCACHE_SYNC_OUT(); return; L_08903488: - aot_gpr_18 = (ctx.gpr[16] | 0u); + ctx.gpr[18] = (ctx.gpr[16] | 0u); ctx.gpr[19] = (0u | 0u); - ctx.gpr[17] = (aot_gpr_18 + static_cast(180)); + ctx.gpr[17] = (ctx.gpr[18] + static_cast(180)); goto L_08903494; L_08903494: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_18 + static_cast(180))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(180))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -7549,7 +7550,7 @@ L_089034A0: AOT_REGCACHE_SYNC_OUT(); return; L_089034AC: ctx.gpr[19] = (ctx.gpr[19] + static_cast(1)); - aot_gpr_18 = (aot_gpr_18 + static_cast(8)); + ctx.gpr[18] = (ctx.gpr[18] + static_cast(8)); aot_gpr_4 = (ctx.gpr[19] < static_cast(6) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; ctx.gpr[17] = (ctx.gpr[17] + static_cast(8)); @@ -7569,7 +7570,7 @@ L_089034C8: aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; - aot_gpr_18 = aot_run_words[2]; + ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; } @@ -7590,7 +7591,7 @@ L_089034E8: aot_gpr_6 = (static_cast(ctx.gpr[8]) < static_cast(ctx.gpr[7]) ? 1u : 0u); ctx.gpr[17] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[16]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_18); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_31); { const bool branch_taken = aot_gpr_6 == 0u; ctx.gpr[16] = (aot_gpr_5 | 0u); @@ -7610,9 +7611,9 @@ L_08903520: } L_0890352C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7688))); - aot_gpr_18 = (2237u << 16u); + ctx.gpr[18] = (2237u << 16u); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_18 = (aot_gpr_18 + static_cast(-28416)); + ctx.gpr[18] = (ctx.gpr[18] + static_cast(-28416)); if (branch_taken) { goto L_08903554; } @@ -7622,21 +7623,21 @@ L_0890353C: aot_gpr_4 = (0u | 1u); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7688), aot_gpr_4); aot_gpr_31 = (0x0890354Cu); - aot_gpr_4 = (aot_gpr_18 | 0u); + aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0010_entry, 10u, 286u, 0x0882D794u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890354Cu) goto L_0890354C; AOT_REGCACHE_SYNC_OUT(); return; L_0890354C: aot_gpr_31 = (0x08903554u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-20648)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08903554u) goto L_08903554; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08903554u) goto L_08903554; AOT_REGCACHE_SYNC_OUT(); return; L_08903554: aot_gpr_31 = (0x0890355Cu); - aot_gpr_4 = (aot_gpr_18 | 0u); + aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0010_entry, 10u, 611u, 0x0882E9B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890355Cu) goto L_0890355C; AOT_REGCACHE_SYNC_OUT(); return; L_0890355C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08903598; @@ -7655,21 +7656,21 @@ L_08903564: L_08903570: aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7688), aot_gpr_4); aot_gpr_31 = (0x0890357Cu); - aot_gpr_4 = (aot_gpr_18 | 0u); + aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0010_entry, 10u, 286u, 0x0882D794u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890357Cu) goto L_0890357C; AOT_REGCACHE_SYNC_OUT(); return; L_0890357C: aot_gpr_31 = (0x08903584u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-20648)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08903584u) goto L_08903584; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08903584u) goto L_08903584; AOT_REGCACHE_SYNC_OUT(); return; L_08903584: aot_gpr_31 = (0x0890358Cu); - aot_gpr_4 = (aot_gpr_18 | 0u); + aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0010_entry, 10u, 609u, 0x0882E9A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890358Cu) goto L_0890358C; AOT_REGCACHE_SYNC_OUT(); return; L_0890358C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08903598; @@ -7681,7 +7682,7 @@ L_08903594: goto L_08903598; L_08903598: aot_gpr_4 = (0u | 0u); - aot_gpr_18 = (0u | 0u); + ctx.gpr[18] = (0u | 0u); ctx.gpr[16] = (ctx.gpr[16] + aot_gpr_4); goto L_089035A4; L_089035A4: @@ -7700,16 +7701,16 @@ L_089035B0: ctx.gpr[7] = (0u | 255u); aot_gpr_31 = (0x089035C8u); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089035C8u) goto L_089035C8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089035C8u) goto L_089035C8; AOT_REGCACHE_SYNC_OUT(); return; L_089035C8: - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(0))); aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(0), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(1))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(1))); aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(1), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(2))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(2))); aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(2), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(3))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(3))); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(3), static_cast(aot_gpr_4)); if (branch_taken) { @@ -7721,10 +7722,10 @@ L_089035EC: aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(70))); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089035FCu); - aot_gpr_6 = (aot_gpr_18 | 0u); + aot_gpr_6 = (ctx.gpr[18] | 0u); goto L_08903DD8; L_089035FC: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(4))); @@ -7737,8 +7738,8 @@ L_089035FC: aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(3), static_cast(aot_gpr_5)); goto L_08903628; L_08903628: - aot_gpr_18 = (aot_gpr_18 + static_cast(1)); - aot_gpr_4 = (static_cast(aot_gpr_18) < 6 ? 1u : 0u); + ctx.gpr[18] = (ctx.gpr[18] + static_cast(1)); + aot_gpr_4 = (static_cast(ctx.gpr[18]) < 6 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; ctx.gpr[16] = (ctx.gpr[16] + static_cast(4)); if (branch_taken) { @@ -7747,12 +7748,12 @@ L_08903628: goto L_08903638; } L_08903638: - ctx.gpr[2] = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(70))); + aot_gpr_2 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(70))); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(12), aot_run_words); ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; - aot_gpr_18 = aot_run_words[2]; + ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } jump_target = aot_gpr_31; @@ -7767,11 +7768,11 @@ L_08903654: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[17]); ctx.gpr[17] = (aot_gpr_4 | 0u); ctx.gpr[16] = (aot_gpr_5 | 0u); - { const std::uint32_t aot_run_words[3]{aot_gpr_18, ctx.gpr[19], aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(20), aot_run_words); } - aot_gpr_18 = (0u | 0u); + ctx.gpr[18] = (0u | 0u); ctx.gpr[19] = (0u | 0u); - aot_gpr_18 = (aot_gpr_6 + aot_gpr_18); + ctx.gpr[18] = (aot_gpr_6 + ctx.gpr[18]); goto L_08903680; L_08903680: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(71))); @@ -7789,18 +7790,18 @@ L_0890368C: ctx.gpr[7] = (0u | 255u); aot_gpr_31 = (0x089036A4u); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089036A4u) goto L_089036A4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089036A4u) goto L_089036A4; AOT_REGCACHE_SYNC_OUT(); return; L_089036A4: - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(0))); - aot_mem.aot_direct_store8(aot_gpr_18 + static_cast(0), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(1))); - aot_mem.aot_direct_store8(aot_gpr_18 + static_cast(1), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(2))); - aot_mem.aot_direct_store8(aot_gpr_18 + static_cast(2), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(3))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(0))); + aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(0), static_cast(aot_gpr_4)); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(1))); + aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(1), static_cast(aot_gpr_4)); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(2))); + aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(2), static_cast(aot_gpr_4)); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(3))); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_18 + static_cast(3), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(3), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08903704; } @@ -7813,23 +7814,23 @@ L_089036C8: aot_gpr_6 = (ctx.gpr[19] | 0u); goto L_08903DD8; L_089036D8: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(4))); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(5))); - aot_mem.aot_direct_store8(aot_gpr_18 + static_cast(0), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(0), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(6))); - aot_mem.aot_direct_store8(aot_gpr_18 + static_cast(1), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(1), static_cast(aot_gpr_5)); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(7))); - aot_mem.aot_direct_store8(aot_gpr_18 + static_cast(2), static_cast(aot_gpr_4)); - aot_mem.aot_direct_store8(aot_gpr_18 + static_cast(3), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(2), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(3), static_cast(aot_gpr_5)); goto L_08903704; L_08903704: ctx.gpr[19] = (ctx.gpr[19] + static_cast(1)); aot_gpr_4 = (static_cast(ctx.gpr[19]) < 6 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_18 = (aot_gpr_18 + static_cast(4)); + ctx.gpr[18] = (ctx.gpr[18] + static_cast(4)); if (branch_taken) { goto L_08903680; } @@ -7840,7 +7841,7 @@ L_08903714: aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(12), aot_run_words); ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; - aot_gpr_18 = aot_run_words[2]; + ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; } @@ -7856,11 +7857,11 @@ L_08903730: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[17]); ctx.gpr[17] = (aot_gpr_4 | 0u); ctx.gpr[16] = (aot_gpr_5 | 0u); - { const std::uint32_t aot_run_words[3]{aot_gpr_18, ctx.gpr[19], aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(20), aot_run_words); } - aot_gpr_18 = (0u | 0u); + ctx.gpr[18] = (0u | 0u); ctx.gpr[19] = (0u | 0u); - aot_gpr_18 = (aot_gpr_6 + aot_gpr_18); + ctx.gpr[18] = (aot_gpr_6 + ctx.gpr[18]); goto L_0890375C; L_0890375C: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(71))); @@ -7878,18 +7879,18 @@ L_08903768: ctx.gpr[7] = (0u | 255u); aot_gpr_31 = (0x08903780u); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08903780u) goto L_08903780; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08903780u) goto L_08903780; AOT_REGCACHE_SYNC_OUT(); return; L_08903780: - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(0))); - aot_mem.aot_direct_store8(aot_gpr_18 + static_cast(0), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(1))); - aot_mem.aot_direct_store8(aot_gpr_18 + static_cast(1), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(2))); - aot_mem.aot_direct_store8(aot_gpr_18 + static_cast(2), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(3))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(0))); + aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(0), static_cast(aot_gpr_4)); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(1))); + aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(1), static_cast(aot_gpr_4)); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(2))); + aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(2), static_cast(aot_gpr_4)); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(3))); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_18 + static_cast(3), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(3), static_cast(aot_gpr_4)); if (branch_taken) { goto L_089037E0; } @@ -7902,23 +7903,23 @@ L_089037A4: aot_gpr_6 = (ctx.gpr[19] | 0u); goto L_08903E70; L_089037B4: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(4))); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(5))); - aot_mem.aot_direct_store8(aot_gpr_18 + static_cast(0), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(0), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(6))); - aot_mem.aot_direct_store8(aot_gpr_18 + static_cast(1), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(1), static_cast(aot_gpr_5)); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(7))); - aot_mem.aot_direct_store8(aot_gpr_18 + static_cast(2), static_cast(aot_gpr_4)); - aot_mem.aot_direct_store8(aot_gpr_18 + static_cast(3), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(2), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(3), static_cast(aot_gpr_5)); goto L_089037E0; L_089037E0: ctx.gpr[19] = (ctx.gpr[19] + static_cast(1)); aot_gpr_4 = (static_cast(ctx.gpr[19]) < 6 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_18 = (aot_gpr_18 + static_cast(4)); + ctx.gpr[18] = (ctx.gpr[18] + static_cast(4)); if (branch_taken) { goto L_0890375C; } @@ -7929,7 +7930,7 @@ L_089037F0: aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(12), aot_run_words); ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; - aot_gpr_18 = aot_run_words[2]; + ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; } @@ -7981,7 +7982,7 @@ L_0890384C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(84), ctx.gpr[16]); ctx.gpr[16] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(80), std::bit_cast(ctx.fpr[20])); - { const std::uint32_t aot_run_words[4]{ctx.gpr[17], aot_gpr_18, ctx.gpr[19], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(88), aot_run_words); } aot_gpr_31 = (0x08903874u); aot_gpr_4 = (aot_gpr_5 | 0u); @@ -7996,8 +7997,8 @@ L_08903874: L_08903880: ctx.gpr[19] = (2234u << 16u); ctx.fpr[20] = std::bit_cast(0u); - aot_gpr_18 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_18 == 0u; + ctx.gpr[18] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[18] == 0u; ctx.gpr[19] = (ctx.gpr[19] + static_cast(-9500)); if (branch_taken) { goto L_089038A0; @@ -8006,11 +8007,11 @@ L_08903880: } L_08903894: aot_gpr_31 = (0x0890389Cu); - aot_gpr_4 = (aot_gpr_18 | 0u); + aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0099_entry, 99u, 67u, 0x089903B0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890389Cu) goto L_0890389C; AOT_REGCACHE_SYNC_OUT(); return; L_0890389C: - ctx.gpr[17] = (aot_gpr_18 | 0u); + ctx.gpr[17] = (ctx.gpr[18] | 0u); goto L_089038A0; L_089038A0: aot_gpr_31 = (0x089038A8u); @@ -8019,7 +8020,7 @@ L_089038A0: AOT_REGCACHE_SYNC_OUT(); return; L_089038A8: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), std::bit_cast(ctx.fpr[20])); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), std::bit_cast(ctx.fpr[20])); ctx.gpr[8] = (0u | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), std::bit_cast(ctx.fpr[20])); @@ -8048,23 +8049,23 @@ L_089038D8: { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[20])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(64), aot_run_words); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[9] + static_cast(0))); - ctx.gpr[2] = (std::bit_cast(aot_fpr_12)); + aot_gpr_2 = (std::bit_cast(aot_fpr_12)); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[9] + static_cast(4))); ctx.gpr[3] = (std::bit_cast(aot_fpr_13)); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[9] + static_cast(8))); ctx.gpr[12] = (std::bit_cast(aot_fpr_14)); - { const std::uint32_t aot_run_words[3]{ctx.gpr[2], ctx.gpr[3], ctx.gpr[12]}; + { const std::uint32_t aot_run_words[3]{aot_gpr_2, ctx.gpr[3], ctx.gpr[12]}; aot_mem.aot_direct_store32_block(ctx.gpr[8] + static_cast(0), aot_run_words); } aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(20))); aot_mem.aot_direct_store32(ctx.gpr[10] + static_cast(12), std::bit_cast(aot_fpr_15)); aot_mem.aot_direct_store8(ctx.gpr[10] + static_cast(16), static_cast(ctx.gpr[11])); - ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(8))); - aot_mem.aot_direct_store8(ctx.gpr[10] + static_cast(17), static_cast(ctx.gpr[2])); + aot_gpr_2 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(8))); + aot_mem.aot_direct_store8(ctx.gpr[10] + static_cast(17), static_cast(aot_gpr_2)); aot_gpr_6 = (aot_gpr_6 + static_cast(1)); ctx.gpr[8] = (ctx.gpr[8] + static_cast(32)); ctx.gpr[19] = (ctx.gpr[19] + static_cast(24)); - ctx.gpr[2] = (static_cast(aot_gpr_6) < 10 ? 1u : 0u); - { const bool branch_taken = ctx.gpr[2] != 0u; + aot_gpr_2 = (static_cast(aot_gpr_6) < 10 ? 1u : 0u); + { const bool branch_taken = aot_gpr_2 != 0u; ctx.gpr[10] = (ctx.gpr[10] + static_cast(32)); if (branch_taken) { goto L_089038D8; @@ -8111,13 +8112,13 @@ L_08903968: L_089039B8: aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(55), static_cast(0u)); aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(64), ctx.gpr[17]); - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(80), aot_run_words); ctx.fpr[20] = std::bit_cast(aot_run_words[0]); ctx.gpr[16] = aot_run_words[1]; ctx.gpr[17] = aot_run_words[2]; - aot_gpr_18 = aot_run_words[3]; + ctx.gpr[18] = aot_run_words[3]; ctx.gpr[19] = aot_run_words[4]; aot_gpr_31 = aot_run_words[5]; } @@ -8132,7 +8133,7 @@ L_089039E4: ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(64))); aot_gpr_6 = (aot_gpr_5 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(208), aot_gpr_4); - { const std::uint32_t aot_run_words[11]{std::bit_cast(ctx.fpr[20]), ctx.gpr[16], ctx.gpr[17], aot_gpr_18, ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; + { const std::uint32_t aot_run_words[11]{std::bit_cast(ctx.fpr[20]), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(220), aot_run_words); } { const bool branch_taken = ctx.gpr[7] != 0u; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(212), aot_gpr_6); @@ -8149,7 +8150,7 @@ L_08903A28: goto L_0890384C; L_08903A38: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(64))); + aot_gpr_2 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(64))); if (branch_taken) { goto L_08903B7C; } @@ -8163,15 +8164,15 @@ L_08903A40: AOT_REGCACHE_SYNC_OUT(); return; L_08903A4C: ctx.fpr[20] = std::bit_cast(0u); - aot_gpr_18 = (aot_gpr_29 + static_cast(32)); + ctx.gpr[18] = (aot_gpr_29 + static_cast(32)); { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[20])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); - ctx.gpr[23] = (ctx.gpr[2] | 0u); + ctx.gpr[23] = (aot_gpr_2 | 0u); ctx.gpr[16] = (aot_gpr_29 + static_cast(96)); aot_gpr_5 = (aot_gpr_5 + static_cast(16)); aot_gpr_31 = (0x08903A78u); - aot_gpr_4 = (aot_gpr_18 | 0u); + aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 149u, 0x089D8C3Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08903A78u) goto L_08903A78; AOT_REGCACHE_SYNC_OUT(); return; L_08903A78: @@ -8197,7 +8198,7 @@ L_08903A94: const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - { const std::uint32_t vfpu_address = aot_gpr_18 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -8206,7 +8207,7 @@ L_08903A94: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = aot_gpr_18 + static_cast(16); + { const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(16); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -8215,7 +8216,7 @@ L_08903A94: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = aot_gpr_18 + static_cast(32); + { const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(32); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -8224,7 +8225,7 @@ L_08903A94: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<2u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = aot_gpr_18 + static_cast(48); + { const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(48); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -8233,7 +8234,7 @@ L_08903A94: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<3u, 4u>(vfpu_value); } - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(216), aot_gpr_18); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(216), ctx.gpr[18]); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; @@ -8257,18 +8258,18 @@ L_08903A94: L_08903AC8: aot_gpr_4 = (ctx.gpr[23] | 0u); aot_gpr_31 = (0x08903AD4u); - aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 251u, 0x08969194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08903AD4u) goto L_08903AD4; + aot_gpr_5 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08969194, 89u, 251u, 0x08969194u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 251u, 0x08969194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08903AD4u) goto L_08903AD4; AOT_REGCACHE_SYNC_OUT(); return; L_08903AD4: - aot_gpr_18 = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08903AE0u); aot_gpr_4 = (ctx.gpr[23] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08903AE0u) goto L_08903AE0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0896918C, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08903AE0u) goto L_08903AE0; AOT_REGCACHE_SYNC_OUT(); return; L_08903AE0: - aot_gpr_5 = (aot_gpr_18 << 6u); - aot_gpr_5 = (ctx.gpr[2] + aot_gpr_5); + aot_gpr_5 = (ctx.gpr[18] << 6u); + aot_gpr_5 = (aot_gpr_2 + aot_gpr_5); aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08903AF4u); aot_gpr_6 = (0u | 1u); @@ -8327,14 +8328,14 @@ L_08903B08: ctx.gpr[20] = (ctx.gpr[20] + static_cast(32)); aot_gpr_5 = (static_cast(ctx.gpr[21]) < 10 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 != 0u; - aot_gpr_18 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(216))); + ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(216))); if (branch_taken) { goto L_08903A94; } goto L_08903B78; } L_08903B78: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(64))); + aot_gpr_2 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(64))); goto L_08903B7C; L_08903B7C: { std::uint32_t aot_run_words[11]{}; @@ -8342,7 +8343,7 @@ L_08903B7C: ctx.fpr[20] = std::bit_cast(aot_run_words[0]); ctx.gpr[16] = aot_run_words[1]; ctx.gpr[17] = aot_run_words[2]; - aot_gpr_18 = aot_run_words[3]; + ctx.gpr[18] = aot_run_words[3]; ctx.gpr[19] = aot_run_words[4]; ctx.gpr[20] = aot_run_words[5]; ctx.gpr[21] = aot_run_words[6]; @@ -8366,7 +8367,7 @@ L_08903BB0: ctx.gpr[23] = (aot_gpr_4 | 0u); ctx.gpr[16] = (ctx.gpr[16] + static_cast(-9500)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(80), std::bit_cast(ctx.fpr[20])); - { const std::uint32_t aot_run_words[6]{ctx.gpr[17], aot_gpr_18, ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22]}; + { const std::uint32_t aot_run_words[6]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(88), aot_run_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(116), ctx.gpr[30]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(120), aot_gpr_31); @@ -8389,14 +8390,14 @@ L_08903C04: AOT_REGCACHE_SYNC_OUT(); return; L_08903C0C: ctx.fpr[20] = std::bit_cast(0u); - ctx.gpr[21] = (ctx.gpr[2] | 0u); + ctx.gpr[21] = (aot_gpr_2 | 0u); { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[20])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } ctx.gpr[19] = (0u | 0u); ctx.gpr[17] = (aot_gpr_29 + static_cast(16)); ctx.gpr[22] = (aot_gpr_29 + static_cast(48)); ctx.gpr[20] = (aot_gpr_29 + static_cast(32)); - aot_gpr_18 = (0u | 0u); + ctx.gpr[18] = (0u | 0u); goto L_08903C34; L_08903C34: { const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); @@ -8419,18 +8420,18 @@ L_08903C34: L_08903C44: aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x08903C50u); - aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 251u, 0x08969194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08903C50u) goto L_08903C50; + aot_gpr_5 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08969194, 89u, 251u, 0x08969194u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 251u, 0x08969194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08903C50u) goto L_08903C50; AOT_REGCACHE_SYNC_OUT(); return; L_08903C50: - ctx.gpr[30] = (ctx.gpr[2] | 0u); + ctx.gpr[30] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08903C5Cu); aot_gpr_4 = (ctx.gpr[21] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08903C5Cu) goto L_08903C5C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0896918C, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08903C5Cu) goto L_08903C5C; AOT_REGCACHE_SYNC_OUT(); return; L_08903C5C: ctx.gpr[7] = (ctx.gpr[30] << 6u); - ctx.gpr[7] = (ctx.gpr[2] + ctx.gpr[7]); + ctx.gpr[7] = (aot_gpr_2 + ctx.gpr[7]); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08903C74u); @@ -8440,7 +8441,7 @@ L_08903C5C: L_08903C74: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast(64))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(56))); - aot_gpr_4 = (aot_gpr_4 + aot_gpr_18); + aot_gpr_4 = (aot_gpr_4 + ctx.gpr[18]); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(12))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(16))); { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_12), std::bit_cast(ctx.fpr[20]), std::bit_cast(aot_fpr_13)}; @@ -8480,20 +8481,20 @@ L_08903C74: ctx.gpr[16] = (ctx.gpr[16] + static_cast(24)); aot_gpr_4 = (static_cast(ctx.gpr[19]) < 10 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_18 = (aot_gpr_18 + static_cast(32)); + ctx.gpr[18] = (ctx.gpr[18] + static_cast(32)); if (branch_taken) { goto L_08903C34; } goto L_08903CDC; } L_08903CDC: - ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast(64))); + aot_gpr_2 = (aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast(64))); { std::uint32_t aot_run_words[11]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(80), aot_run_words); ctx.fpr[20] = std::bit_cast(aot_run_words[0]); ctx.gpr[16] = aot_run_words[1]; ctx.gpr[17] = aot_run_words[2]; - aot_gpr_18 = aot_run_words[3]; + ctx.gpr[18] = aot_run_words[3]; ctx.gpr[19] = aot_run_words[4]; ctx.gpr[20] = aot_run_words[5]; ctx.gpr[21] = aot_run_words[6]; @@ -8514,13 +8515,13 @@ L_08903D14: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); ctx.gpr[17] = (aot_gpr_4 | 0u); ctx.gpr[16] = (aot_gpr_6 | 0u); - { const std::uint32_t aot_run_words[6]{aot_gpr_18, ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_31}; + { const std::uint32_t aot_run_words[6]{ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(8), aot_run_words); } ctx.gpr[22] = (aot_gpr_5 | 0u); ctx.gpr[19] = (ctx.gpr[17] | 0u); ctx.gpr[21] = (0u | 0u); ctx.gpr[20] = (ctx.gpr[22] | 0u); - aot_gpr_18 = (ctx.gpr[19] + static_cast(180)); + ctx.gpr[18] = (ctx.gpr[19] + static_cast(180)); goto L_08903D54; L_08903D54: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(8))); @@ -8532,7 +8533,7 @@ L_08903D54: goto L_08903D60; } L_08903D60: - aot_gpr_4 = (aot_gpr_18 | 0u); + aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (0u | 2u); aot_gpr_31 = (0x08903D70u); aot_gpr_6 = (0u | 1u); @@ -8544,7 +8545,7 @@ L_08903D70: ctx.gpr[19] = (ctx.gpr[19] + static_cast(8)); aot_gpr_4 = (ctx.gpr[21] < static_cast(6) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_18 = (aot_gpr_18 + static_cast(8)); + ctx.gpr[18] = (ctx.gpr[18] + static_cast(8)); if (branch_taken) { goto L_08903D54; } @@ -8571,7 +8572,7 @@ L_08903DB0: aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; - aot_gpr_18 = aot_run_words[2]; + ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; ctx.gpr[21] = aot_run_words[5]; @@ -8643,7 +8644,7 @@ L_08903E48: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(3), static_cast(aot_gpr_4)); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - ctx.gpr[2] = aot_run_words[0]; + aot_gpr_2 = aot_run_words[0]; ctx.gpr[16] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -8712,7 +8713,7 @@ L_08903EE0: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(3), static_cast(aot_gpr_4)); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - ctx.gpr[2] = aot_run_words[0]; + aot_gpr_2 = aot_run_words[0]; ctx.gpr[16] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -8749,7 +8750,7 @@ L_08903F30: aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(64), 0u); aot_gpr_31 = (0x08903F50u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-20616)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08903F50u) goto L_08903F50; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08903F50u) goto L_08903F50; AOT_REGCACHE_SYNC_OUT(); return; L_08903F50: aot_gpr_4 = (ctx.gpr[28] + static_cast(8824)); @@ -8778,13 +8779,13 @@ L_08903F74: L_08903F7C: aot_gpr_29 = (aot_gpr_29 + static_cast(-80)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), ctx.gpr[17]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), aot_gpr_18); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), ctx.gpr[18]); ctx.gpr[17] = (aot_gpr_5 | 0u); - aot_gpr_18 = (aot_gpr_6 | 0u); + ctx.gpr[18] = (aot_gpr_6 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), ctx.gpr[16]); { const std::uint32_t aot_run_words[6]{ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(44), aot_run_words); } - { const bool branch_taken = ctx.gpr[17] == aot_gpr_18; + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[18]; ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 26u, 0x0890417Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; @@ -8794,7 +8795,7 @@ L_08903F7C: L_08903FB4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); - ctx.gpr[19] = (aot_gpr_18 - ctx.gpr[17]); + ctx.gpr[19] = (ctx.gpr[18] - ctx.gpr[17]); aot_gpr_4 = (aot_gpr_4 - aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_4); aot_gpr_4 = (ctx.gpr[19] < static_cast(-1) ? 1u : 0u); diff --git a/profiles/vcs/generated/generated_unit_0064.cpp b/profiles/vcs/generated/generated_unit_0064.cpp index a2b387c..de7a167 100644 --- a/profiles/vcs/generated/generated_unit_0064.cpp +++ b/profiles/vcs/generated/generated_unit_0064.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0064[4095] = { }; void recomp_unit_0064_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,31,16,6 fprs=12,13,14,20 gpr_occ=4142 fpr_occ=497 gpr_total=5498 fpr_total=695 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,31,29,6,16 fprs=12,13,14,15 gpr_occ=4346 fpr_occ=501 gpr_total=5839 fpr_total=703 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; - std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; - std::uint32_t aot_gpr_16 = ctx.gpr[16]; + std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_6 = ctx.gpr[6]; + std::uint32_t aot_gpr_16 = ctx.gpr[16]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_14 = ctx.fpr[14]; - float aot_fpr_20 = ctx.fpr[20]; + float aot_fpr_15 = ctx.fpr[15]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[31] = aot_gpr_31; ctx.gpr[16] = aot_gpr_16; ctx.gpr[6] = aot_gpr_6; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[20] = aot_fpr_20; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_6 = ctx.gpr[6]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_20 = ctx.fpr[20]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[31] = aot_gpr_31; ctx.gpr[29] = aot_gpr_29; ctx.gpr[6] = aot_gpr_6; ctx.gpr[16] = aot_gpr_16; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[15] = aot_fpr_15; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_16 = ctx.gpr[16]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_15 = ctx.fpr[15]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -1247,7 +1248,7 @@ L_089040F8: L_0890410C: aot_gpr_31 = (0x08904114u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08904114u) goto L_08904114; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08904114u) goto L_08904114; AOT_REGCACHE_SYNC_OUT(); return; L_08904114: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), ctx.gpr[21]); @@ -1514,7 +1515,7 @@ L_0890430C: L_08904314: aot_gpr_31 = (0x0890431Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890431Cu) goto L_0890431C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890431Cu) goto L_0890431C; AOT_REGCACHE_SYNC_OUT(); return; L_0890431C: { const bool branch_taken = ctx.gpr[18] == 0u; @@ -1541,7 +1542,7 @@ L_0890432C: L_08904334: aot_gpr_31 = (0x0890433Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890433Cu) goto L_0890433C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890433Cu) goto L_0890433C; AOT_REGCACHE_SYNC_OUT(); return; L_0890433C: aot_gpr_4 = (ctx.gpr[17] | 0u); @@ -1563,7 +1564,7 @@ L_08904348: L_08904354: aot_gpr_31 = (0x0890435Cu); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890435Cu) goto L_0890435C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890435Cu) goto L_0890435C; AOT_REGCACHE_SYNC_OUT(); return; L_0890435C: { std::uint32_t aot_run_words[4]{}; @@ -1606,7 +1607,7 @@ L_0890439C: aot_gpr_4 = (0u | 1u); aot_gpr_31 = (0x089043ACu); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089043ACu) goto L_089043AC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089043ACu) goto L_089043AC; AOT_REGCACHE_SYNC_OUT(); return; L_089043AC: { std::uint32_t aot_run_words[3]{}; @@ -1623,13 +1624,13 @@ L_089043AC: aot_fpr_14 = std::bit_cast(aot_gpr_4); ctx.gpr[17] = (aot_gpr_29 + static_cast(4)); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); - ctx.fpr[15] = std::bit_cast(aot_gpr_5); + aot_fpr_15 = std::bit_cast(aot_gpr_5); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_13))); aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); aot_gpr_31 = (0x089043F0u); - ctx.fpr[15] = static_cast(static_cast(std::bit_cast(ctx.fpr[15]))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089043F0u) goto L_089043F0; + aot_fpr_15 = static_cast(static_cast(std::bit_cast(aot_fpr_15))); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089043F0u) goto L_089043F0; AOT_REGCACHE_SYNC_OUT(); return; L_089043F0: aot_gpr_4 = (aot_gpr_16 + static_cast(72)); @@ -1666,7 +1667,7 @@ L_08904434: aot_gpr_4 = (0u | 1u); aot_gpr_31 = (0x08904444u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08904444u) goto L_08904444; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08904444u) goto L_08904444; AOT_REGCACHE_SYNC_OUT(); return; L_08904444: { std::uint32_t aot_run_words[3]{}; @@ -1683,13 +1684,13 @@ L_08904444: aot_fpr_14 = std::bit_cast(aot_gpr_4); ctx.gpr[17] = (aot_gpr_29 + static_cast(4)); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); - ctx.fpr[15] = std::bit_cast(aot_gpr_5); + aot_fpr_15 = std::bit_cast(aot_gpr_5); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_13))); aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); aot_gpr_31 = (0x08904488u); - ctx.fpr[15] = static_cast(static_cast(std::bit_cast(ctx.fpr[15]))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08904488u) goto L_08904488; + aot_fpr_15 = static_cast(static_cast(std::bit_cast(aot_fpr_15))); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08904488u) goto L_08904488; AOT_REGCACHE_SYNC_OUT(); return; L_08904488: aot_gpr_4 = (aot_gpr_16 + static_cast(76)); @@ -1789,7 +1790,7 @@ L_08904534: L_0890453C: aot_gpr_31 = (0x08904544u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08904544u) goto L_08904544; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08904544u) goto L_08904544; AOT_REGCACHE_SYNC_OUT(); return; L_08904544: ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(24))); @@ -1810,7 +1811,7 @@ L_08904554: L_0890455C: aot_gpr_31 = (0x08904564u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08904564u) goto L_08904564; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08904564u) goto L_08904564; AOT_REGCACHE_SYNC_OUT(); return; L_08904564: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(192))); @@ -1935,7 +1936,7 @@ L_08904640: L_0890464C: aot_gpr_31 = (0x08904654u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08904654u) goto L_08904654; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08904654u) goto L_08904654; AOT_REGCACHE_SYNC_OUT(); return; L_08904654: ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(24))); @@ -1956,7 +1957,7 @@ L_08904664: L_0890466C: aot_gpr_31 = (0x08904674u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08904674u) goto L_08904674; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08904674u) goto L_08904674; AOT_REGCACHE_SYNC_OUT(); return; L_08904674: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); @@ -2154,7 +2155,7 @@ L_089047C4: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x08904818u); aot_gpr_6 = (0u | 8u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08904818u) goto L_08904818; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08904818u) goto L_08904818; AOT_REGCACHE_SYNC_OUT(); return; L_08904818: ctx.gpr[2] = (aot_gpr_16 | 0u); @@ -2801,9 +2802,9 @@ L_08904C10: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[0] = std::bit_cast(0x7FC00000u); else ctx.fpr[0] = fs * ft; } - { const float fs = aot_fpr_14; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } + { const float fs = aot_fpr_14; const float ft = aot_fpr_15; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } jump_target = aot_gpr_31; ctx.fpr[0] = ctx.fpr[0] + aot_fpr_14; local_pc = jump_target; @@ -2823,9 +2824,9 @@ L_08904C40: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(4))); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(4))); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; - aot_fpr_14 = aot_fpr_14 - ctx.fpr[15]; + aot_fpr_14 = aot_fpr_14 - aot_fpr_15; aot_gpr_5 = (std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_5); aot_gpr_5 = (std::bit_cast(aot_fpr_14)); @@ -2904,7 +2905,7 @@ L_08904CD4: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); aot_gpr_31 = (0x08904CE4u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08904CE4u) goto L_08904CE4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08904CE4u) goto L_08904CE4; AOT_REGCACHE_SYNC_OUT(); return; L_08904CE4: ctx.gpr[2] = (ctx.gpr[2] & 65535u); @@ -2924,10 +2925,10 @@ L_08904CF4: AOT_REGCACHE_SYNC_OUT(); return; L_08904CFC: aot_gpr_29 = (aot_gpr_29 + static_cast(-144)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(80), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(80), std::bit_cast(ctx.fpr[20])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(96), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(100), ctx.gpr[17]); - aot_fpr_20 = std::bit_cast(std::bit_cast(aot_fpr_12)); + ctx.fpr[20] = std::bit_cast(std::bit_cast(aot_fpr_12)); ctx.gpr[17] = (aot_gpr_5 | 0u); aot_gpr_16 = (aot_gpr_6 | 0u); { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26])}; @@ -2977,7 +2978,7 @@ L_08904D90: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_31 = (0x08904DA0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08904DA0u) goto L_08904DA0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08904DA0u) goto L_08904DA0; AOT_REGCACHE_SYNC_OUT(); return; L_08904DA0: aot_fpr_12 = ctx.fpr[26] - ctx.fpr[24]; @@ -2988,7 +2989,7 @@ L_08904DA0: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08904DC0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08904DC0u) goto L_08904DC0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08904DC0u) goto L_08904DC0; AOT_REGCACHE_SYNC_OUT(); return; L_08904DC0: aot_fpr_12 = ctx.fpr[26] - ctx.fpr[24]; @@ -3015,7 +3016,7 @@ L_08904DC0: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_31 = (0x08904DF4u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08904DF4u) goto L_08904DF4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08904DF4u) goto L_08904DF4; AOT_REGCACHE_SYNC_OUT(); return; L_08904DF4: ctx.gpr[11] = (ctx.gpr[2] & 65535u); @@ -3024,7 +3025,7 @@ L_08904DF4: aot_gpr_5 = (ctx.gpr[22] | 0u); aot_gpr_6 = (ctx.gpr[20] | 0u); ctx.gpr[7] = (0u | 0u); - aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); + aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); ctx.gpr[8] = (ctx.gpr[19] | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); @@ -3045,7 +3046,7 @@ L_08904E24: L_08904E34: { std::uint32_t aot_run_words[13]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(80), aot_run_words); - aot_fpr_20 = std::bit_cast(aot_run_words[0]); + ctx.fpr[20] = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); ctx.fpr[26] = std::bit_cast(aot_run_words[3]); @@ -3086,9 +3087,9 @@ L_08904E84: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(76), std::bit_cast(ctx.fpr[26])); ctx.fpr[26] = std::bit_cast(ctx.gpr[7]); aot_gpr_4 = (aot_gpr_4 + static_cast(-1)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), std::bit_cast(ctx.fpr[20])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(84), ctx.gpr[17]); - aot_fpr_20 = std::bit_cast(std::bit_cast(aot_fpr_12)); + ctx.fpr[20] = std::bit_cast(std::bit_cast(aot_fpr_12)); ctx.gpr[7] = (aot_gpr_4 < static_cast(34) ? 1u : 0u); ctx.gpr[17] = (aot_gpr_5 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), std::bit_cast(ctx.fpr[22])); @@ -3146,7 +3147,7 @@ L_08904F24: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_31 = (0x08904F34u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08904F34u) goto L_08904F34; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08904F34u) goto L_08904F34; AOT_REGCACHE_SYNC_OUT(); return; L_08904F34: aot_fpr_12 = ctx.fpr[26] - ctx.fpr[24]; @@ -3157,7 +3158,7 @@ L_08904F34: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08904F54u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08904F54u) goto L_08904F54; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08904F54u) goto L_08904F54; AOT_REGCACHE_SYNC_OUT(); return; L_08904F54: aot_fpr_12 = ctx.fpr[26] - ctx.fpr[24]; @@ -3172,7 +3173,7 @@ L_08904F54: aot_gpr_5 = (ctx.gpr[20] | 0u); aot_gpr_6 = (ctx.gpr[19] | 0u); ctx.gpr[7] = (0u | 0u); - aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); + aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); ctx.gpr[8] = (ctx.gpr[18] | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); @@ -3202,7 +3203,7 @@ L_08904FB4: L_08904FBC: { std::uint32_t aot_run_words[11]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(64), aot_run_words); - aot_fpr_20 = std::bit_cast(aot_run_words[0]); + ctx.fpr[20] = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); ctx.fpr[26] = std::bit_cast(aot_run_words[3]); @@ -3240,13 +3241,13 @@ L_08905018: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); aot_gpr_31 = (0x08905034u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 251u, 0x08969194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08905034u) goto L_08905034; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08969194, 89u, 251u, 0x08969194u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 251u, 0x08969194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08905034u) goto L_08905034; AOT_REGCACHE_SYNC_OUT(); return; L_08905034: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08905040u); aot_gpr_16 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08905040u) goto L_08905040; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0896918C, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08905040u) goto L_08905040; AOT_REGCACHE_SYNC_OUT(); return; L_08905040: ctx.gpr[7] = (aot_gpr_16 << 6u); @@ -3286,13 +3287,13 @@ L_08905090: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089050A0u); aot_gpr_5 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 251u, 0x08969194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089050A0u) goto L_089050A0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08969194, 89u, 251u, 0x08969194u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 251u, 0x08969194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089050A0u) goto L_089050A0; AOT_REGCACHE_SYNC_OUT(); return; L_089050A0: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089050ACu); aot_gpr_16 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089050ACu) goto L_089050AC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0896918C, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089050ACu) goto L_089050AC; AOT_REGCACHE_SYNC_OUT(); return; L_089050AC: aot_gpr_4 = (aot_gpr_16 << 6u); @@ -3591,7 +3592,7 @@ L_08905288: aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5836))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), std::bit_cast(ctx.fpr[20])); { const std::uint32_t aot_run_words[5]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(8), aot_run_words); } { const bool branch_taken = aot_gpr_6 != 0u; @@ -3629,7 +3630,7 @@ L_089052D8: } L_089052E4: ctx.gpr[18] = (0u | 40u); - aot_fpr_20 = std::bit_cast(aot_gpr_4); + ctx.fpr[20] = std::bit_cast(aot_gpr_4); ctx.gpr[19] = (1u << 16u); goto L_089052F0; L_089052F0: @@ -3675,7 +3676,7 @@ L_08905330: goto L_08905344; } L_08905344: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(36), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(36), std::bit_cast(ctx.fpr[20])); goto L_08905348; L_08905348: aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); @@ -3689,7 +3690,7 @@ L_08905348: L_08905354: { std::uint32_t aot_run_words[7]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_fpr_20 = std::bit_cast(aot_run_words[0]); + ctx.fpr[20] = std::bit_cast(aot_run_words[0]); aot_gpr_16 = aot_run_words[1]; ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; @@ -3936,7 +3937,7 @@ L_089054FC: L_08905504: aot_gpr_31 = (0x0890550Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890550Cu) goto L_0890550C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890550Cu) goto L_0890550C; AOT_REGCACHE_SYNC_OUT(); return; L_0890550C: aot_gpr_4 = (ctx.gpr[2] | 0u); @@ -3944,7 +3945,7 @@ L_0890550C: ctx.gpr[7] = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x08905520u); aot_gpr_6 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08905520u) goto L_08905520; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08905520u) goto L_08905520; AOT_REGCACHE_SYNC_OUT(); return; L_08905520: ctx.gpr[1] = (ctx.gpr[3] << 1u); @@ -3985,7 +3986,7 @@ L_08905564: aot_gpr_6 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0890557Cu); aot_gpr_5 = (aot_gpr_5 + static_cast(-13204)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890557Cu) goto L_0890557C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890557Cu) goto L_0890557C; AOT_REGCACHE_SYNC_OUT(); return; L_0890557C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); @@ -4002,7 +4003,7 @@ L_0890557C: L_08905594: aot_gpr_31 = (0x0890559Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890559Cu) goto L_0890559C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890559Cu) goto L_0890559C; AOT_REGCACHE_SYNC_OUT(); return; L_0890559C: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-20316))); @@ -4010,7 +4011,7 @@ L_0890559C: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x089055B0u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089055B0u) goto L_089055B0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089055B0u) goto L_089055B0; AOT_REGCACHE_SYNC_OUT(); return; L_089055B0: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-20308))); @@ -4148,7 +4149,7 @@ L_089056F8: aot_gpr_6 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08905710u); aot_gpr_5 = (aot_gpr_5 + static_cast(22060)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08905710u) goto L_08905710; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08905710u) goto L_08905710; AOT_REGCACHE_SYNC_OUT(); return; L_08905710: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-20384))); @@ -4229,7 +4230,7 @@ L_089057B8: aot_gpr_6 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x089057D0u); aot_gpr_5 = (aot_gpr_5 + static_cast(22148)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089057D0u) goto L_089057D0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089057D0u) goto L_089057D0; AOT_REGCACHE_SYNC_OUT(); return; L_089057D0: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-20384))); @@ -4310,7 +4311,7 @@ L_0890587C: aot_gpr_6 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08905890u); aot_gpr_5 = (aot_gpr_5 + static_cast(22060)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08905890u) goto L_08905890; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08905890u) goto L_08905890; AOT_REGCACHE_SYNC_OUT(); return; L_08905890: { const bool branch_taken = 0u == 0u; @@ -4361,7 +4362,7 @@ L_089058F0: aot_gpr_6 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0890590Cu); aot_gpr_5 = (aot_gpr_5 + static_cast(22340)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890590Cu) goto L_0890590C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890590Cu) goto L_0890590C; AOT_REGCACHE_SYNC_OUT(); return; L_0890590C: ctx.gpr[7] = (16256u << 16u); @@ -4680,9 +4681,9 @@ L_08905B2C: AOT_REGCACHE_SYNC_OUT(); return; L_08905B34: aot_gpr_4 = (16968u << 16u); - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); aot_fpr_14 = std::bit_cast(aot_gpr_4); - ctx.fpr[16] = ctx.fpr[15] / aot_fpr_14; + ctx.fpr[16] = aot_fpr_15 / aot_fpr_14; aot_gpr_4 = (17530u << 16u); aot_gpr_5 = (20224u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); @@ -4698,7 +4699,7 @@ L_08905B34: goto L_08905B68; } L_08905B68: - aot_fpr_12 = ctx.fpr[15] / aot_fpr_14; + aot_fpr_12 = aot_fpr_15 / aot_fpr_14; { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); { const bool branch_taken = 0u == 0u; @@ -4709,7 +4710,7 @@ L_08905B68: goto L_08905B7C; } L_08905B7C: - aot_fpr_14 = ctx.fpr[15] / aot_fpr_14; + aot_fpr_14 = aot_fpr_15 / aot_fpr_14; ctx.gpr[2] = (32768u << 16u); { const float fs = aot_fpr_14; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_fpr_12 = aot_fpr_13 - aot_fpr_12; @@ -5006,7 +5007,7 @@ L_08905D98: aot_fpr_12 = aot_fpr_14 - aot_fpr_12; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); aot_gpr_31 = (0x08905DACu); - aot_fpr_13 = aot_fpr_13 - ctx.fpr[15]; + aot_fpr_13 = aot_fpr_13 - aot_fpr_15; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 28u, 0x08964540u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08905DACu) goto L_08905DAC; AOT_REGCACHE_SYNC_OUT(); return; L_08905DAC: @@ -5399,7 +5400,7 @@ L_08906044: L_08906054: aot_gpr_31 = (0x0890605Cu); aot_gpr_5 = (aot_gpr_16 + static_cast(448)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890605Cu) goto L_0890605C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A93004, 163u, 430u, 0x08A93004u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890605Cu) goto L_0890605C; AOT_REGCACHE_SYNC_OUT(); return; L_0890605C: aot_gpr_31 = (0x08906064u); @@ -5531,7 +5532,7 @@ L_08906134: L_08906140: aot_gpr_31 = (0x08906148u); aot_gpr_5 = (aot_gpr_16 + static_cast(1136)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08906148u) goto L_08906148; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A93004, 163u, 430u, 0x08A93004u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08906148u) goto L_08906148; AOT_REGCACHE_SYNC_OUT(); return; L_08906148: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -5661,7 +5662,7 @@ L_08906224: L_0890622C: aot_gpr_31 = (0x08906234u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08906234u) goto L_08906234; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08906234u) goto L_08906234; AOT_REGCACHE_SYNC_OUT(); return; L_08906234: aot_gpr_4 = (aot_gpr_16 + static_cast(1168)); @@ -5991,7 +5992,7 @@ L_08906484: aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(8), aot_run_words); } aot_gpr_31 = (0x089064ACu); ctx.gpr[18] = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089064ACu) goto L_089064AC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089064ACu) goto L_089064AC; AOT_REGCACHE_SYNC_OUT(); return; L_089064AC: { const bool branch_taken = ctx.gpr[2] != 0u; @@ -6098,7 +6099,7 @@ L_08906558: aot_gpr_29 = (aot_gpr_29 + static_cast(-64)); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1360))); ctx.gpr[7] = (0u | 6u); - { const std::uint32_t aot_run_words[7]{std::bit_cast(aot_fpr_20), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; + { const std::uint32_t aot_run_words[7]{std::bit_cast(ctx.fpr[20]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(36), aot_run_words); } { const bool branch_taken = aot_gpr_6 == ctx.gpr[7]; aot_gpr_16 = (aot_gpr_5 | 0u); @@ -6162,7 +6163,7 @@ L_089065D0: L_089065DC: aot_gpr_31 = (0x089065E4u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089065E4u) goto L_089065E4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089065E4u) goto L_089065E4; AOT_REGCACHE_SYNC_OUT(); return; L_089065E4: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -6217,7 +6218,7 @@ L_08906618: } L_08906620: ctx.gpr[17] = (aot_gpr_16 + static_cast(48)); - aot_fpr_20 = std::bit_cast(aot_gpr_4); + ctx.fpr[20] = std::bit_cast(aot_gpr_4); ctx.gpr[19] = (aot_gpr_16 | 0u); goto L_0890662C; L_0890662C: @@ -6267,7 +6268,7 @@ L_08906638: ctx.execute_vfpu_vdot_ct<28u, 0u, 0u, 3u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_12 = std::bit_cast(aot_gpr_4); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_20)) ? 0x00800000u : 0u); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[20])) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -6342,7 +6343,7 @@ L_089066DC: L_089066E0: { std::uint32_t aot_run_words[7]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(36), aot_run_words); - aot_fpr_20 = std::bit_cast(aot_run_words[0]); + ctx.fpr[20] = std::bit_cast(aot_run_words[0]); aot_gpr_16 = aot_run_words[1]; ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; @@ -6367,7 +6368,7 @@ L_08906704: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); aot_gpr_31 = (0x0890672Cu); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890672Cu) goto L_0890672C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890672Cu) goto L_0890672C; AOT_REGCACHE_SYNC_OUT(); return; L_0890672C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(0))); @@ -6404,12 +6405,12 @@ L_0890675C: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); - { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24])}; + { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); aot_gpr_31 = (0x08906780u); - aot_fpr_20 = std::bit_cast(std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08906780u) goto L_08906780; + ctx.fpr[20] = std::bit_cast(std::bit_cast(aot_fpr_12)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08906780u) goto L_08906780; AOT_REGCACHE_SYNC_OUT(); return; L_08906780: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -6523,13 +6524,13 @@ L_0890682C: L_08906830: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(3224))); aot_gpr_31 = (0x0890683Cu); - aot_fpr_12 = aot_fpr_20 + aot_fpr_12; + aot_fpr_12 = ctx.fpr[20] + aot_fpr_12; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0162_entry, 162u, 580u, 0x08A8F0B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890683Cu) goto L_0890683C; AOT_REGCACHE_SYNC_OUT(); return; L_0890683C: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_fpr_20 = std::bit_cast(aot_run_words[0]); + ctx.fpr[20] = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); aot_gpr_16 = aot_run_words[3]; @@ -6625,23 +6626,23 @@ L_089068C8: ctx.gpr[8] = (aot_gpr_4 + static_cast(48)); ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(0))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[8] + static_cast(0))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), std::bit_cast(aot_fpr_20)); - aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(4))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), std::bit_cast(ctx.fpr[20])); + ctx.fpr[20] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(4))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[8] + static_cast(4))); ctx.fpr[22] = ctx.fpr[22] - aot_fpr_12; ctx.gpr[7] = (aot_gpr_4 + static_cast(16)); - aot_fpr_20 = aot_fpr_20 - aot_fpr_13; + ctx.fpr[20] = ctx.fpr[20] - aot_fpr_13; aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(0))); - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(4))); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(4))); { const float fs = aot_fpr_14; const float ft = ctx.fpr[22]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - { const float fs = ctx.fpr[15]; const float ft = aot_fpr_20; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[15] = std::bit_cast(0x7FC00000u); else ctx.fpr[15] = fs * ft; } - aot_fpr_12 = aot_fpr_12 + ctx.fpr[15]; + { const float fs = aot_fpr_15; const float ft = ctx.fpr[20]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_15 = std::bit_cast(0x7FC00000u); else aot_fpr_15 = fs * ft; } + aot_fpr_12 = aot_fpr_12 + aot_fpr_15; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), std::bit_cast(ctx.fpr[22])); ctx.fpr[16] = std::bit_cast(0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), ctx.gpr[18]); ctx.gpr[18] = (aot_gpr_6 & 255u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), std::bit_cast(ctx.fpr[20])); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[16])) ? 0x00800000u : 0u); ctx.gpr[17] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_16); @@ -6669,7 +6670,7 @@ L_08906944: L_0890694C: { const float fs = ctx.fpr[22]; const float ft = ctx.fpr[22]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_4 = (17608u << 16u); - { const float fs = aot_fpr_20; const float ft = aot_fpr_20; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } + { const float fs = ctx.fpr[20]; const float ft = ctx.fpr[20]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_fpr_14 = std::bit_cast(aot_gpr_4); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_14)) ? 0x00800000u : 0u); @@ -6701,7 +6702,7 @@ L_08906988: L_0890698C: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(8), aot_run_words); - aot_fpr_20 = std::bit_cast(aot_run_words[0]); + ctx.fpr[20] = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); aot_gpr_16 = aot_run_words[2]; ctx.gpr[17] = aot_run_words[3]; @@ -7183,8 +7184,8 @@ L_08906CBC: L_08906CD8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), std::bit_cast(aot_fpr_20)); - aot_fpr_20 = std::bit_cast(std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), std::bit_cast(ctx.fpr[20])); + ctx.fpr[20] = std::bit_cast(std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), std::bit_cast(ctx.fpr[22])); ctx.fpr[22] = std::bit_cast(0u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_13) ^ 0x80000000u); @@ -7225,12 +7226,12 @@ L_08906D28: aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[0])); goto L_08906D2C; L_08906D2C: - aot_fpr_20 = aot_fpr_12 - aot_fpr_20; + ctx.fpr[20] = aot_fpr_12 - ctx.fpr[20]; aot_gpr_4 = (16201u << 16u); aot_gpr_4 = (aot_gpr_4 | 4059u); aot_fpr_13 = std::bit_cast(aot_gpr_4); - aot_fpr_20 = aot_fpr_20 + aot_fpr_13; - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_20 < ctx.fpr[22])) ? 0x00800000u : 0u); + ctx.fpr[20] = ctx.fpr[20] + aot_fpr_13; + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[20] < ctx.fpr[22])) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); aot_gpr_4 = (16329u << 16u); @@ -7245,8 +7246,8 @@ L_08906D50: aot_fpr_12 = std::bit_cast(aot_gpr_4); goto L_08906D5C; L_08906D5C: - aot_fpr_20 = aot_fpr_20 + aot_fpr_12; - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_20 < ctx.fpr[22])) ? 0x00800000u : 0u); + ctx.fpr[20] = ctx.fpr[20] + aot_fpr_12; + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[20] < ctx.fpr[22])) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -7261,7 +7262,7 @@ L_08906D70: L_08906D74: aot_gpr_4 = (aot_gpr_4 | 4059u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_fpr_12 = aot_fpr_20 / aot_fpr_12; + aot_fpr_12 = ctx.fpr[20] / aot_fpr_12; aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); aot_gpr_5 = (static_cast(aot_gpr_4) < 4 ? 1u : 0u); @@ -7286,7 +7287,7 @@ L_08906DA4: ctx.gpr[2] = (aot_gpr_4 & 255u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_fpr_20 = std::bit_cast(aot_run_words[0]); + ctx.fpr[20] = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); aot_gpr_31 = aot_run_words[2]; } @@ -7876,8 +7877,8 @@ L_08907090: aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; aot_gpr_4 = (aot_gpr_4 | 39322u); - ctx.fpr[15] = std::bit_cast(aot_gpr_4); - aot_fpr_14 = aot_fpr_14 - ctx.fpr[15]; + aot_fpr_15 = std::bit_cast(aot_gpr_4); + aot_fpr_14 = aot_fpr_14 - aot_fpr_15; aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(8), std::bit_cast(aot_fpr_12)); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(4), std::bit_cast(aot_fpr_14)); @@ -8205,7 +8206,7 @@ L_089072A4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x089072B0u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089072B0u) goto L_089072B0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089072B0u) goto L_089072B0; AOT_REGCACHE_SYNC_OUT(); return; L_089072B0: { const bool branch_taken = 0u == 0u; @@ -8228,7 +8229,7 @@ L_089072B8: L_089072C8: aot_gpr_31 = (0x089072D0u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089072D0u) goto L_089072D0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089072D0u) goto L_089072D0; AOT_REGCACHE_SYNC_OUT(); return; L_089072D0: { const bool branch_taken = ctx.gpr[2] != 0u; @@ -8242,7 +8243,7 @@ L_089072D8: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x089072E4u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089072E4u) goto L_089072E4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089072E4u) goto L_089072E4; AOT_REGCACHE_SYNC_OUT(); return; L_089072E4: aot_fpr_12 = std::bit_cast(0u); @@ -8664,8 +8665,8 @@ L_0890759C: { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_4 = (16457u << 16u); aot_gpr_4 = (aot_gpr_4 | 4059u); - ctx.fpr[15] = std::bit_cast(aot_gpr_4); - aot_fpr_12 = aot_fpr_12 / ctx.fpr[15]; + aot_fpr_15 = std::bit_cast(aot_gpr_4); + aot_fpr_12 = aot_fpr_12 / aot_fpr_15; aot_gpr_4 = (15502u << 16u); aot_gpr_4 = (aot_gpr_4 | 64012u); ctx.fpr[16] = std::bit_cast(aot_gpr_4); @@ -8683,7 +8684,7 @@ L_0890759C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), std::bit_cast(aot_fpr_14)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2256))); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - aot_fpr_12 = aot_fpr_12 / ctx.fpr[15]; + aot_fpr_12 = aot_fpr_12 / aot_fpr_15; { const float fs = aot_fpr_12; const float ft = ctx.fpr[16]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<0u>(aot_gpr_4); @@ -8695,14 +8696,14 @@ L_0890759C: aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<1u>()); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), std::bit_cast(aot_fpr_13)); - { const float fs = aot_fpr_14; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[15] = std::bit_cast(0x7FC00000u); else ctx.fpr[15] = fs * ft; } + { const float fs = aot_fpr_14; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_15 = std::bit_cast(0x7FC00000u); else aot_fpr_15 = fs * ft; } { const float fs = aot_fpr_13; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - ctx.fpr[15] = ctx.fpr[15] + aot_fpr_12; + aot_fpr_15 = aot_fpr_15 + aot_fpr_12; aot_gpr_4 = (16256u << 16u); ctx.fpr[16] = std::bit_cast(aot_gpr_4); aot_gpr_4 = (ctx.gpr[17] + static_cast(48)); aot_gpr_5 = (16288u << 16u); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[15] <= ctx.fpr[17])) ? 0x00800000u : 0u); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_15 <= ctx.fpr[17])) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); aot_fpr_12 = std::bit_cast(aot_gpr_5); @@ -8715,7 +8716,7 @@ L_08907660: ctx.fpr[17] = std::bit_cast(std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), std::bit_cast(ctx.fpr[16])); { const float fs = ctx.fpr[16]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); { const bool branch_taken = 0u == 0u; { const float fs = ctx.fpr[17]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } @@ -8725,7 +8726,7 @@ L_08907660: goto L_0890767C; } L_0890767C: - aot_gpr_5 = (std::bit_cast(ctx.fpr[15])); + aot_gpr_5 = (std::bit_cast(aot_fpr_15)); ctx.set_vfpu_scalar_bits_ct<0u>(aot_gpr_5); ctx.execute_vfpu_unary_ct<0u, 0u, 1u, 17u>(); aot_gpr_5 = (ctx.vfpu_scalar_bits_ct<0u>()); @@ -8736,14 +8737,14 @@ L_0890767C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), std::bit_cast(ctx.fpr[18])); { const float fs = aot_fpr_13; const float ft = ctx.fpr[17]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[17] = std::bit_cast(0x7FC00000u); else ctx.fpr[17] = fs * ft; } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), std::bit_cast(ctx.fpr[17])); - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); { const float fs = ctx.fpr[18]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } { const float fs = ctx.fpr[17]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } goto L_089076B8; L_089076B8: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), std::bit_cast(ctx.fpr[15])); - aot_gpr_4 = (std::bit_cast(ctx.fpr[15])); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), std::bit_cast(aot_fpr_15)); + aot_gpr_4 = (std::bit_cast(aot_fpr_15)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(60), std::bit_cast(aot_fpr_14)); aot_gpr_5 = (std::bit_cast(aot_fpr_14)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), aot_gpr_4); @@ -8752,11 +8753,11 @@ L_089076B8: ctx.fpr[18] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(52))); aot_gpr_5 = (aot_gpr_16 + static_cast(48)); aot_gpr_4 = (std::bit_cast(ctx.fpr[17])); - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_gpr_6 = (std::bit_cast(ctx.fpr[18])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_4); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); - aot_fpr_13 = ctx.fpr[15] + aot_fpr_13; + aot_fpr_13 = aot_fpr_15 + aot_fpr_13; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_6); aot_fpr_12 = aot_fpr_14 + aot_fpr_12; ctx.fpr[17] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); @@ -8777,12 +8778,12 @@ L_089076B8: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_5); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(72), std::bit_cast(ctx.fpr[17])); - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); { const float fs = aot_fpr_12; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[17] = std::bit_cast(0x7FC00000u); else ctx.fpr[17] = fs * ft; } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(76), std::bit_cast(ctx.fpr[18])); - { const float fs = ctx.fpr[15]; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[18] = std::bit_cast(0x7FC00000u); else ctx.fpr[18] = fs * ft; } + { const float fs = aot_fpr_15; const float ft = aot_fpr_15; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[18] = std::bit_cast(0x7FC00000u); else ctx.fpr[18] = fs * ft; } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), std::bit_cast(aot_fpr_12)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), std::bit_cast(ctx.fpr[15])); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), std::bit_cast(aot_fpr_15)); aot_fpr_12 = ctx.fpr[17] + ctx.fpr[18]; aot_fpr_12 = std::sqrt(aot_fpr_12); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[16])) ? 0x00800000u : 0u); @@ -8854,7 +8855,7 @@ L_089077FC: L_08907814: aot_gpr_31 = (0x0890781Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890781Cu) goto L_0890781C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890781Cu) goto L_0890781C; AOT_REGCACHE_SYNC_OUT(); return; L_0890781C: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-20292))); @@ -8862,7 +8863,7 @@ L_0890781C: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08907830u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08907830u) goto L_08907830; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08907830u) goto L_08907830; AOT_REGCACHE_SYNC_OUT(); return; L_08907830: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-20284))); @@ -8896,7 +8897,7 @@ L_08907868: AOT_REGCACHE_SYNC_OUT(); return; L_0890787C: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - { const std::uint32_t aot_run_words[5]{std::bit_cast(aot_fpr_20), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[5]{std::bit_cast(ctx.fpr[20]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(16), aot_run_words); } aot_gpr_31 = (0x0890789Cu); aot_gpr_16 = (aot_gpr_4 | 0u); @@ -9059,7 +9060,7 @@ L_08907978: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 129u, 0x089107C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08907980u) goto L_08907980; AOT_REGCACHE_SYNC_OUT(); return; L_08907980: - aot_fpr_20 = std::bit_cast(std::bit_cast(ctx.fpr[0])); + ctx.fpr[20] = std::bit_cast(std::bit_cast(ctx.fpr[0])); ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1248))); aot_gpr_31 = (0x08907990u); aot_gpr_4 = (aot_gpr_16 | 0u); @@ -9067,7 +9068,7 @@ L_08907980: AOT_REGCACHE_SYNC_OUT(); return; L_08907990: ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1136))); - aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); + aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (aot_gpr_29 | 0u); aot_gpr_6 = (ctx.gpr[18] | 0u); @@ -9079,7 +9080,7 @@ L_08907990: L_089079B0: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); - aot_fpr_20 = std::bit_cast(aot_run_words[0]); + ctx.fpr[20] = std::bit_cast(aot_run_words[0]); aot_gpr_16 = aot_run_words[1]; ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; @@ -9126,7 +9127,7 @@ L_089079FC: L_08907A04: aot_gpr_31 = (0x08907A0Cu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08907A0Cu) goto L_08907A0C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089101A4, 67u, 27u, 0x089101A4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08907A0Cu) goto L_08907A0C; AOT_REGCACHE_SYNC_OUT(); return; L_08907A0C: { const bool branch_taken = ctx.gpr[2] != 0u; @@ -9183,7 +9184,7 @@ L_08907A54: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x08907A68u); aot_gpr_16 = (aot_gpr_4 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08907A68u) goto L_08907A68; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089101A4, 67u, 27u, 0x089101A4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08907A68u) goto L_08907A68; AOT_REGCACHE_SYNC_OUT(); return; L_08907A68: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -9196,7 +9197,7 @@ L_08907A68: L_08907A70: aot_gpr_31 = (0x08907A78u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08907A78u) goto L_08907A78; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089101A4, 67u, 27u, 0x089101A4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08907A78u) goto L_08907A78; AOT_REGCACHE_SYNC_OUT(); return; L_08907A78: aot_gpr_31 = (0x08907A80u); @@ -9247,7 +9248,7 @@ L_08907AB4: L_08907ABC: aot_gpr_31 = (0x08907AC4u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08907AC4u) goto L_08907AC4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089101A4, 67u, 27u, 0x089101A4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08907AC4u) goto L_08907AC4; AOT_REGCACHE_SYNC_OUT(); return; L_08907AC4: { const bool branch_taken = ctx.gpr[2] != 0u; @@ -9367,7 +9368,7 @@ L_08907B5C: L_08907B8C: aot_gpr_31 = (0x08907B94u); aot_gpr_5 = (aot_gpr_16 + static_cast(2076)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08907B94u) goto L_08907B94; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A93004, 163u, 430u, 0x08A93004u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08907B94u) goto L_08907B94; AOT_REGCACHE_SYNC_OUT(); return; L_08907B94: { const bool branch_taken = ctx.gpr[17] == 0u; @@ -9381,7 +9382,7 @@ L_08907B9C: aot_gpr_5 = (aot_gpr_16 + static_cast(2076)); aot_gpr_31 = (0x08907BA8u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08907BA8u) goto L_08907BA8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08907BA8u) goto L_08907BA8; AOT_REGCACHE_SYNC_OUT(); return; L_08907BA8: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7080))); @@ -9708,7 +9709,7 @@ L_08907DB8: L_08907DD8: aot_gpr_31 = (0x08907DE0u); aot_gpr_5 = (ctx.gpr[17] + static_cast(2080)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08907DE0u) goto L_08907DE0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A93004, 163u, 430u, 0x08A93004u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08907DE0u) goto L_08907DE0; AOT_REGCACHE_SYNC_OUT(); return; L_08907DE0: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -9730,7 +9731,7 @@ L_08907DEC: L_08907DF4: aot_gpr_31 = (0x08907DFCu); aot_gpr_5 = (ctx.gpr[17] + static_cast(2080)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08907DFCu) goto L_08907DFC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08907DFCu) goto L_08907DFC; AOT_REGCACHE_SYNC_OUT(); return; L_08907DFC: { std::uint32_t aot_run_words[3]{}; @@ -9891,7 +9892,7 @@ L_08907F24: L_08907F30: aot_gpr_31 = (0x08907F38u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08907F38u) goto L_08907F38; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08907F38u) goto L_08907F38; AOT_REGCACHE_SYNC_OUT(); return; L_08907F38: { const bool branch_taken = ctx.gpr[2] == 0u; diff --git a/profiles/vcs/generated/generated_unit_0065.cpp b/profiles/vcs/generated/generated_unit_0065.cpp index f16fc10..3ba8ebb 100644 --- a/profiles/vcs/generated/generated_unit_0065.cpp +++ b/profiles/vcs/generated/generated_unit_0065.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0065[4095] = { }; void recomp_unit_0065_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,16,29,31,6 fprs=12,13,20,14 gpr_occ=4683 fpr_occ=445 gpr_total=5607 fpr_total=502 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,31,16,6,29 fprs=12,13,20,14 gpr_occ=4850 fpr_occ=445 gpr_total=5878 fpr_total=502 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; - std::uint32_t aot_gpr_16 = ctx.gpr[16]; - std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; + std::uint32_t aot_gpr_16 = ctx.gpr[16]; std::uint32_t aot_gpr_6 = ctx.gpr[6]; + std::uint32_t aot_gpr_29 = ctx.gpr[29]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_20 = ctx.fpr[20]; float aot_fpr_14 = ctx.fpr[14]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[16] = aot_gpr_16; ctx.gpr[29] = aot_gpr_29; ctx.gpr[31] = aot_gpr_31; ctx.gpr[6] = aot_gpr_6; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; ctx.fpr[14] = aot_fpr_14; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_6 = ctx.gpr[6]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_14 = ctx.fpr[14]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[31] = aot_gpr_31; ctx.gpr[16] = aot_gpr_16; ctx.gpr[6] = aot_gpr_6; ctx.gpr[29] = aot_gpr_29; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; ctx.fpr[14] = aot_fpr_14; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_29 = ctx.gpr[29]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_14 = ctx.fpr[14]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -1198,7 +1199,7 @@ L_08908024: L_08908028: aot_gpr_31 = (0x08908030u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08908030u) goto L_08908030; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08908030u) goto L_08908030; AOT_REGCACHE_SYNC_OUT(); return; L_08908030: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -1293,7 +1294,7 @@ L_089080A4: L_089080C8: aot_gpr_31 = (0x089080D0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089080D0u) goto L_089080D0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089080D0u) goto L_089080D0; AOT_REGCACHE_SYNC_OUT(); return; L_089080D0: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(96))); @@ -1318,7 +1319,7 @@ L_089080E4: L_089080F0: aot_gpr_31 = (0x089080F8u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089080F8u) goto L_089080F8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089080F8u) goto L_089080F8; AOT_REGCACHE_SYNC_OUT(); return; L_089080F8: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -1355,7 +1356,7 @@ L_08908128: aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); aot_gpr_31 = (0x08908148u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08908148u) goto L_08908148; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08908148u) goto L_08908148; AOT_REGCACHE_SYNC_OUT(); return; L_08908148: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(96))); @@ -1432,13 +1433,13 @@ L_089081BC: L_089081E8: aot_gpr_31 = (0x089081F0u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089081F0u) goto L_089081F0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089081F0u) goto L_089081F0; AOT_REGCACHE_SYNC_OUT(); return; L_089081F0: ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(96))); aot_gpr_31 = (0x089081FCu); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1680))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089081FCu) goto L_089081FC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089081FCu) goto L_089081FC; AOT_REGCACHE_SYNC_OUT(); return; L_089081FC: ctx.gpr[17] = (0u + static_cast(-1)); @@ -1561,7 +1562,7 @@ L_089082A8: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); aot_gpr_31 = (0x089082B8u); aot_gpr_4 = (aot_gpr_5 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089082B8u) goto L_089082B8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089082B8u) goto L_089082B8; AOT_REGCACHE_SYNC_OUT(); return; L_089082B8: ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(104))); @@ -1875,7 +1876,7 @@ L_0890850C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08908528u); ctx.gpr[17] = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08908528u) goto L_08908528; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08908528u) goto L_08908528; AOT_REGCACHE_SYNC_OUT(); return; L_08908528: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -1905,7 +1906,7 @@ L_08908538: L_08908544: aot_gpr_31 = (0x0890854Cu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890854Cu) goto L_0890854C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089474C4, 80u, 661u, 0x089474C4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890854Cu) goto L_0890854C; AOT_REGCACHE_SYNC_OUT(); return; L_0890854C: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(340))); @@ -2015,7 +2016,7 @@ L_089085E8: aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); aot_gpr_31 = (0x08908604u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08908604u) goto L_08908604; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08908604u) goto L_08908604; AOT_REGCACHE_SYNC_OUT(); return; L_08908604: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(96))); @@ -2047,7 +2048,7 @@ L_08908630: aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_31 = (0x08908648u); aot_gpr_16 = (aot_gpr_4 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08908648u) goto L_08908648; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08908648u) goto L_08908648; AOT_REGCACHE_SYNC_OUT(); return; L_08908648: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -2086,7 +2087,7 @@ L_08908680: aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); aot_gpr_31 = (0x089086A0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089086A0u) goto L_089086A0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089086A0u) goto L_089086A0; AOT_REGCACHE_SYNC_OUT(); return; L_089086A0: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(96))); @@ -2493,7 +2494,7 @@ L_08908920: L_08908934: aot_gpr_31 = (0x0890893Cu); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890893Cu) goto L_0890893C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890893Cu) goto L_0890893C; AOT_REGCACHE_SYNC_OUT(); return; L_0890893C: aot_gpr_4 = (ctx.gpr[2] | 0u); @@ -2528,7 +2529,7 @@ L_08908968: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08908974u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08908974u) goto L_08908974; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08908974u) goto L_08908974; AOT_REGCACHE_SYNC_OUT(); return; L_08908974: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5836))); @@ -2799,7 +2800,7 @@ L_08908B20: L_08908B38: aot_gpr_31 = (0x08908B40u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08908B40u) goto L_08908B40; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08908B40u) goto L_08908B40; AOT_REGCACHE_SYNC_OUT(); return; L_08908B40: { const bool branch_taken = ctx.gpr[2] != 0u; @@ -2838,7 +2839,7 @@ L_08908B60: L_08908B78: aot_gpr_31 = (0x08908B80u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08908B80u) goto L_08908B80; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08908B80u) goto L_08908B80; AOT_REGCACHE_SYNC_OUT(); return; L_08908B80: { const bool branch_taken = ctx.gpr[2] != 0u; @@ -2934,7 +2935,7 @@ L_08908C34: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (0x08908C40u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08908C40u) goto L_08908C40; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0886D4BC, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08908C40u) goto L_08908C40; AOT_REGCACHE_SYNC_OUT(); return; L_08908C40: aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); @@ -3211,7 +3212,7 @@ L_08908DD4: L_08908DDC: aot_gpr_31 = (0x08908DE4u); aot_gpr_5 = (ctx.gpr[17] + static_cast(1136)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08908DE4u) goto L_08908DE4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A93004, 163u, 430u, 0x08A93004u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08908DE4u) goto L_08908DE4; AOT_REGCACHE_SYNC_OUT(); return; L_08908DE4: aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(1136), 0u); @@ -3639,7 +3640,7 @@ L_08909104: L_08909110: aot_gpr_31 = (0x08909118u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08909118u) goto L_08909118; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08909118u) goto L_08909118; AOT_REGCACHE_SYNC_OUT(); return; L_08909118: ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-20268))); @@ -3649,7 +3650,7 @@ L_08909118: ctx.gpr[7] = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08909134u); aot_gpr_6 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08909134u) goto L_08909134; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08909134u) goto L_08909134; AOT_REGCACHE_SYNC_OUT(); return; L_08909134: ctx.gpr[1] = (ctx.gpr[3] << 1u); @@ -4147,7 +4148,7 @@ L_08909504: L_0890950C: aot_gpr_31 = (0x08909514u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08909514u) goto L_08909514; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08909514u) goto L_08909514; AOT_REGCACHE_SYNC_OUT(); return; L_08909514: ctx.gpr[18] = (aot_gpr_16 + static_cast(816)); @@ -4265,7 +4266,7 @@ L_089095AC: L_089095B8: aot_gpr_31 = (0x089095C0u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089095C0u) goto L_089095C0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089095C0u) goto L_089095C0; AOT_REGCACHE_SYNC_OUT(); return; L_089095C0: { const bool branch_taken = ctx.gpr[2] != 0u; @@ -4331,7 +4332,7 @@ L_0890962C: L_08909634: aot_gpr_31 = (0x0890963Cu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890963Cu) goto L_0890963C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890963Cu) goto L_0890963C; AOT_REGCACHE_SYNC_OUT(); return; L_0890963C: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -4420,7 +4421,7 @@ L_089096D8: L_089096E0: aot_gpr_31 = (0x089096E8u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089096E8u) goto L_089096E8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089096E8u) goto L_089096E8; AOT_REGCACHE_SYNC_OUT(); return; L_089096E8: { const bool branch_taken = ctx.gpr[2] != 0u; @@ -4518,7 +4519,7 @@ L_089097A8: aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); aot_gpr_31 = (0x089097C4u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089097C4u) goto L_089097C4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089097C4u) goto L_089097C4; AOT_REGCACHE_SYNC_OUT(); return; L_089097C4: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(0))); @@ -4579,14 +4580,14 @@ L_08909804: L_08909840: aot_gpr_31 = (0x08909848u); aot_gpr_5 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08909848u) goto L_08909848; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A93004, 163u, 430u, 0x08A93004u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08909848u) goto L_08909848; AOT_REGCACHE_SYNC_OUT(); return; L_08909848: aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(1716), aot_gpr_16); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08909858u); aot_gpr_5 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08909858u) goto L_08909858; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08909858u) goto L_08909858; AOT_REGCACHE_SYNC_OUT(); return; L_08909858: aot_gpr_4 = (ctx.gpr[17] | 0u); @@ -4637,7 +4638,7 @@ L_089098A0: L_089098C4: aot_gpr_31 = (0x089098CCu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089098CCu) goto L_089098CC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089098CCu) goto L_089098CC; AOT_REGCACHE_SYNC_OUT(); return; L_089098CC: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -4963,7 +4964,7 @@ L_08909ADC: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(1716), aot_gpr_4); aot_gpr_31 = (0x08909AFCu); aot_gpr_5 = (aot_gpr_16 + static_cast(1716)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08909AFCu) goto L_08909AFC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08909AFCu) goto L_08909AFC; AOT_REGCACHE_SYNC_OUT(); return; L_08909AFC: aot_gpr_4 = (18804u << 16u); @@ -5059,7 +5060,7 @@ L_08909BB8: L_08909BC8: aot_gpr_31 = (0x08909BD0u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08909BD0u) goto L_08909BD0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08909BD0u) goto L_08909BD0; AOT_REGCACHE_SYNC_OUT(); return; L_08909BD0: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -6064,7 +6065,7 @@ L_0890A2F4: L_0890A2F8: aot_gpr_31 = (0x0890A300u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890A300u) goto L_0890A300; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890A300u) goto L_0890A300; AOT_REGCACHE_SYNC_OUT(); return; L_0890A300: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -6145,7 +6146,7 @@ L_0890A370: L_0890A38C: aot_gpr_31 = (0x0890A394u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890A394u) goto L_0890A394; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890A394u) goto L_0890A394; AOT_REGCACHE_SYNC_OUT(); return; L_0890A394: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -6246,7 +6247,7 @@ L_0890A440: aot_gpr_6 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0890A454u); aot_gpr_5 = (aot_gpr_5 + static_cast(-13684)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890A454u) goto L_0890A454; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890A454u) goto L_0890A454; AOT_REGCACHE_SYNC_OUT(); return; L_0890A454: { const bool branch_taken = 0u == 0u; @@ -6315,7 +6316,7 @@ L_0890A4CC: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); aot_gpr_31 = (0x0890A4ECu); ctx.gpr[20] = (std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890A4ECu) goto L_0890A4EC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890A4ECu) goto L_0890A4EC; AOT_REGCACHE_SYNC_OUT(); return; L_0890A4EC: aot_gpr_6 = (ctx.gpr[20] - ctx.gpr[17]); @@ -6323,7 +6324,7 @@ L_0890A4EC: aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x0890A500u); ctx.gpr[7] = (static_cast(static_cast(aot_gpr_6) >> 31u)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890A500u) goto L_0890A500; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890A500u) goto L_0890A500; AOT_REGCACHE_SYNC_OUT(); return; L_0890A500: ctx.gpr[1] = (ctx.gpr[3] << 1u); @@ -6464,7 +6465,7 @@ L_0890A604: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); aot_gpr_31 = (0x0890A624u); ctx.gpr[20] = (std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890A624u) goto L_0890A624; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890A624u) goto L_0890A624; AOT_REGCACHE_SYNC_OUT(); return; L_0890A624: aot_gpr_6 = (ctx.gpr[20] - ctx.gpr[17]); @@ -6472,7 +6473,7 @@ L_0890A624: aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x0890A638u); ctx.gpr[7] = (static_cast(static_cast(aot_gpr_6) >> 31u)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890A638u) goto L_0890A638; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890A638u) goto L_0890A638; AOT_REGCACHE_SYNC_OUT(); return; L_0890A638: ctx.gpr[1] = (ctx.gpr[3] << 1u); @@ -6611,7 +6612,7 @@ L_0890A728: L_0890A750: aot_gpr_31 = (0x0890A758u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890A758u) goto L_0890A758; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890A758u) goto L_0890A758; AOT_REGCACHE_SYNC_OUT(); return; L_0890A758: { const bool branch_taken = ctx.gpr[2] != 0u; @@ -6757,7 +6758,7 @@ L_0890A818: L_0890A820: aot_gpr_31 = (0x0890A828u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890A828u) goto L_0890A828; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890A828u) goto L_0890A828; AOT_REGCACHE_SYNC_OUT(); return; L_0890A828: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-20260))); @@ -6765,7 +6766,7 @@ L_0890A828: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x0890A83Cu); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890A83Cu) goto L_0890A83C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890A83Cu) goto L_0890A83C; AOT_REGCACHE_SYNC_OUT(); return; L_0890A83C: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-20252))); @@ -8101,7 +8102,7 @@ L_0890B1BC: aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(456), aot_gpr_4); aot_gpr_31 = (0x0890B1D4u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890B1D4u) goto L_0890B1D4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890FF64, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890B1D4u) goto L_0890B1D4; AOT_REGCACHE_SYNC_OUT(); return; L_0890B1D4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); @@ -8503,7 +8504,7 @@ L_0890B4F0: L_0890B508: aot_gpr_31 = (0x0890B510u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890B510u) goto L_0890B510; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890B510u) goto L_0890B510; AOT_REGCACHE_SYNC_OUT(); return; L_0890B510: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -8759,7 +8760,7 @@ L_0890B6BC: L_0890B6C8: aot_gpr_31 = (0x0890B6D0u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890B6D0u) goto L_0890B6D0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890B6D0u) goto L_0890B6D0; AOT_REGCACHE_SYNC_OUT(); return; L_0890B6D0: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -8847,7 +8848,7 @@ L_0890B754: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0890B760u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890B760u) goto L_0890B760; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890B760u) goto L_0890B760; AOT_REGCACHE_SYNC_OUT(); return; L_0890B760: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1929)))))); @@ -8859,7 +8860,7 @@ L_0890B760: aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); aot_gpr_31 = (0x0890B784u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890B784u) goto L_0890B784; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890B784u) goto L_0890B784; AOT_REGCACHE_SYNC_OUT(); return; L_0890B784: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(96))); @@ -8924,7 +8925,7 @@ L_0890B7E8: L_0890B7F0: aot_gpr_31 = (0x0890B7F8u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890B7F8u) goto L_0890B7F8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890B7F8u) goto L_0890B7F8; AOT_REGCACHE_SYNC_OUT(); return; L_0890B7F8: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-20244))); @@ -8932,7 +8933,7 @@ L_0890B7F8: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x0890B80Cu); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890B80Cu) goto L_0890B80C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890B80Cu) goto L_0890B80C; AOT_REGCACHE_SYNC_OUT(); return; L_0890B80C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1360))); @@ -9216,7 +9217,7 @@ L_0890BAA4: aot_gpr_6 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0890BAB8u); aot_gpr_5 = (aot_gpr_5 + static_cast(20748)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890BAB8u) goto L_0890BAB8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890BAB8u) goto L_0890BAB8; AOT_REGCACHE_SYNC_OUT(); return; L_0890BAB8: aot_gpr_4 = (32768u << 16u); @@ -9317,7 +9318,7 @@ L_0890BB7C: aot_gpr_6 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0890BB90u); aot_gpr_5 = (aot_gpr_5 + static_cast(20812)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890BB90u) goto L_0890BB90; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890BB90u) goto L_0890BB90; AOT_REGCACHE_SYNC_OUT(); return; L_0890BB90: { const bool branch_taken = 0u == 0u; @@ -9366,7 +9367,7 @@ L_0890BBCC: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0890BBD8u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890BBD8u) goto L_0890BBD8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890BBD8u) goto L_0890BBD8; AOT_REGCACHE_SYNC_OUT(); return; L_0890BBD8: { std::uint32_t aot_run_words[3]{}; @@ -9493,7 +9494,7 @@ L_0890BCBC: L_0890BCC8: aot_gpr_31 = (0x0890BCD0u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890BCD0u) goto L_0890BCD0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890BCD0u) goto L_0890BCD0; AOT_REGCACHE_SYNC_OUT(); return; L_0890BCD0: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -9575,7 +9576,7 @@ L_0890BD44: L_0890BD50: aot_gpr_31 = (0x0890BD58u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890BD58u) goto L_0890BD58; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890BD58u) goto L_0890BD58; AOT_REGCACHE_SYNC_OUT(); return; L_0890BD58: { const bool branch_taken = ctx.gpr[2] == 0u; diff --git a/profiles/vcs/generated/generated_unit_0066.cpp b/profiles/vcs/generated/generated_unit_0066.cpp index 468cf88..3a45fec 100644 --- a/profiles/vcs/generated/generated_unit_0066.cpp +++ b/profiles/vcs/generated/generated_unit_0066.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0066[4090] = { }; void recomp_unit_0066_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,16,31,6 fprs=12,13,20,14 gpr_occ=4572 fpr_occ=542 gpr_total=5430 fpr_total=602 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,31,16,6 fprs=12,13,20,14 gpr_occ=4735 fpr_occ=542 gpr_total=5669 fpr_total=602 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; - std::uint32_t aot_gpr_16 = ctx.gpr[16]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; + std::uint32_t aot_gpr_16 = ctx.gpr[16]; std::uint32_t aot_gpr_6 = ctx.gpr[6]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_20 = ctx.fpr[20]; float aot_fpr_14 = ctx.fpr[14]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[16] = aot_gpr_16; ctx.gpr[31] = aot_gpr_31; ctx.gpr[6] = aot_gpr_6; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; ctx.fpr[14] = aot_fpr_14; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_6 = ctx.gpr[6]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_14 = ctx.fpr[14]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[31] = aot_gpr_31; ctx.gpr[16] = aot_gpr_16; ctx.gpr[6] = aot_gpr_6; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; ctx.fpr[14] = aot_fpr_14; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_6 = ctx.gpr[6]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_14 = ctx.fpr[14]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -1100,7 +1101,7 @@ L_0890C030: L_0890C038: aot_gpr_31 = (0x0890C040u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 454u, 0x08909B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890C040u) goto L_0890C040; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08909B60, 65u, 454u, 0x08909B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 454u, 0x08909B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890C040u) goto L_0890C040; AOT_REGCACHE_SYNC_OUT(); return; L_0890C040: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); @@ -1206,7 +1207,7 @@ L_0890C110: L_0890C118: aot_gpr_31 = (0x0890C120u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 454u, 0x08909B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890C120u) goto L_0890C120; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08909B60, 65u, 454u, 0x08909B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 454u, 0x08909B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890C120u) goto L_0890C120; AOT_REGCACHE_SYNC_OUT(); return; L_0890C120: ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1716))); @@ -1321,7 +1322,7 @@ L_0890C1BC: L_0890C1CC: aot_gpr_31 = (0x0890C1D4u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890C1D4u) goto L_0890C1D4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890C1D4u) goto L_0890C1D4; AOT_REGCACHE_SYNC_OUT(); return; L_0890C1D4: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -1385,7 +1386,7 @@ L_0890C238: L_0890C240: aot_gpr_31 = (0x0890C248u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890C248u) goto L_0890C248; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890C248u) goto L_0890C248; AOT_REGCACHE_SYNC_OUT(); return; L_0890C248: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -1461,7 +1462,7 @@ L_0890C2C8: ctx.gpr[17] = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x0890C2DCu); ctx.fpr[22] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890C2DCu) goto L_0890C2DC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890C2DCu) goto L_0890C2DC; AOT_REGCACHE_SYNC_OUT(); return; L_0890C2DC: aot_fpr_12 = ctx.fpr[22] - aot_fpr_20; @@ -1557,7 +1558,7 @@ L_0890C394: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(456), aot_gpr_4); aot_gpr_31 = (0x0890C3ACu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 454u, 0x08909B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890C3ACu) goto L_0890C3AC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08909B60, 65u, 454u, 0x08909B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 454u, 0x08909B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890C3ACu) goto L_0890C3AC; AOT_REGCACHE_SYNC_OUT(); return; L_0890C3AC: aot_gpr_31 = (0x0890C3B4u); @@ -1586,7 +1587,7 @@ L_0890C3C4: L_0890C3DC: aot_gpr_31 = (0x0890C3E4u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890C3E4u) goto L_0890C3E4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890C3E4u) goto L_0890C3E4; AOT_REGCACHE_SYNC_OUT(); return; L_0890C3E4: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-20236))); @@ -1594,7 +1595,7 @@ L_0890C3E4: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x0890C3F8u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890C3F8u) goto L_0890C3F8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890C3F8u) goto L_0890C3F8; AOT_REGCACHE_SYNC_OUT(); return; L_0890C3F8: ctx.gpr[1] = (ctx.gpr[3] << 1u); @@ -1638,7 +1639,7 @@ L_0890C458: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x0890C464u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890C464u) goto L_0890C464; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08908E78, 65u, 261u, 0x08908E78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890C464u) goto L_0890C464; AOT_REGCACHE_SYNC_OUT(); return; L_0890C464: aot_gpr_31 = (0x0890C46Cu); @@ -1655,7 +1656,7 @@ L_0890C478: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x0890C484u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890C484u) goto L_0890C484; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890C484u) goto L_0890C484; AOT_REGCACHE_SYNC_OUT(); return; L_0890C484: aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(1736), 0u); @@ -2019,7 +2020,7 @@ L_0890C6C0: ctx.gpr[21] = (0u | 0u); aot_gpr_31 = (0x0890C6D0u); aot_gpr_4 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890C6D0u) goto L_0890C6D0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC734, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890C6D0u) goto L_0890C6D0; AOT_REGCACHE_SYNC_OUT(); return; L_0890C6D0: ctx.gpr[19] = (0u | 1u); @@ -2095,7 +2096,7 @@ L_0890C73C: L_0890C744: aot_gpr_31 = (0x0890C74Cu); aot_gpr_4 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890C74Cu) goto L_0890C74C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC784, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890C74Cu) goto L_0890C74C; AOT_REGCACHE_SYNC_OUT(); return; L_0890C74C: { const bool branch_taken = ctx.gpr[2] != ctx.gpr[19]; @@ -2365,7 +2366,7 @@ L_0890C8D8: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0890C8E4u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890C8E4u) goto L_0890C8E4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890C8E4u) goto L_0890C8E4; AOT_REGCACHE_SYNC_OUT(); return; L_0890C8E4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); @@ -2383,7 +2384,7 @@ L_0890C900: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0890C90Cu); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890C90Cu) goto L_0890C90C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890C90Cu) goto L_0890C90C; AOT_REGCACHE_SYNC_OUT(); return; L_0890C90C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); @@ -2470,7 +2471,7 @@ L_0890C998: L_0890C9A4: aot_gpr_31 = (0x0890C9ACu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890C9ACu) goto L_0890C9AC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890C9ACu) goto L_0890C9AC; AOT_REGCACHE_SYNC_OUT(); return; L_0890C9AC: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-20236))); @@ -2478,7 +2479,7 @@ L_0890C9AC: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x0890C9C0u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890C9C0u) goto L_0890C9C0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890C9C0u) goto L_0890C9C0; AOT_REGCACHE_SYNC_OUT(); return; L_0890C9C0: ctx.gpr[1] = (ctx.gpr[3] << 1u); @@ -2535,7 +2536,7 @@ L_0890CA20: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0890CA2Cu); aot_gpr_5 = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890CA2Cu) goto L_0890CA2C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890CA2Cu) goto L_0890CA2C; AOT_REGCACHE_SYNC_OUT(); return; L_0890CA2C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); @@ -2550,7 +2551,7 @@ L_0890CA38: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0890CA44u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890CA44u) goto L_0890CA44; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890CA44u) goto L_0890CA44; AOT_REGCACHE_SYNC_OUT(); return; L_0890CA44: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); @@ -2678,7 +2679,7 @@ L_0890CB24: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(456), aot_gpr_4); aot_gpr_31 = (0x0890CB3Cu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 454u, 0x08909B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890CB3Cu) goto L_0890CB3C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08909B60, 65u, 454u, 0x08909B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 454u, 0x08909B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890CB3Cu) goto L_0890CB3C; AOT_REGCACHE_SYNC_OUT(); return; L_0890CB3C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2228))); @@ -2727,7 +2728,7 @@ L_0890CB80: L_0890CB98: aot_gpr_31 = (0x0890CBA0u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 454u, 0x08909B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890CBA0u) goto L_0890CBA0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08909B60, 65u, 454u, 0x08909B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 454u, 0x08909B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890CBA0u) goto L_0890CBA0; AOT_REGCACHE_SYNC_OUT(); return; L_0890CBA0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2228))); @@ -2791,7 +2792,7 @@ L_0890CBF4: L_0890CC00: aot_gpr_31 = (0x0890CC08u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 454u, 0x08909B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890CC08u) goto L_0890CC08; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08909B60, 65u, 454u, 0x08909B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 454u, 0x08909B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890CC08u) goto L_0890CC08; AOT_REGCACHE_SYNC_OUT(); return; L_0890CC08: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2228))); @@ -2827,7 +2828,7 @@ L_0890CC28: L_0890CC30: aot_gpr_31 = (0x0890CC38u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 454u, 0x08909B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890CC38u) goto L_0890CC38; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08909B60, 65u, 454u, 0x08909B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 454u, 0x08909B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890CC38u) goto L_0890CC38; AOT_REGCACHE_SYNC_OUT(); return; L_0890CC38: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2228))); @@ -3099,7 +3100,7 @@ L_0890CE38: L_0890CE40: aot_gpr_31 = (0x0890CE48u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 454u, 0x08909B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890CE48u) goto L_0890CE48; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08909B60, 65u, 454u, 0x08909B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 454u, 0x08909B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890CE48u) goto L_0890CE48; AOT_REGCACHE_SYNC_OUT(); return; L_0890CE48: aot_gpr_31 = (0x0890CE50u); @@ -3381,7 +3382,7 @@ L_0890D030: aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(456), aot_gpr_4); aot_gpr_31 = (0x0890D05Cu); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 454u, 0x08909B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890D05Cu) goto L_0890D05C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08909B60, 65u, 454u, 0x08909B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 454u, 0x08909B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890D05Cu) goto L_0890D05C; AOT_REGCACHE_SYNC_OUT(); return; L_0890D05C: aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(1732), 0u); @@ -3567,7 +3568,7 @@ L_0890D1C8: aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(692), aot_gpr_4); aot_gpr_31 = (0x0890D1D4u); aot_gpr_5 = (ctx.gpr[17] + static_cast(692)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890D1D4u) goto L_0890D1D4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890D1D4u) goto L_0890D1D4; AOT_REGCACHE_SYNC_OUT(); return; L_0890D1D4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(456))); @@ -4851,7 +4852,7 @@ L_0890DB38: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0890DB44u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890DB44u) goto L_0890DB44; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890DB44u) goto L_0890DB44; AOT_REGCACHE_SYNC_OUT(); return; L_0890DB44: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(32))); @@ -5137,7 +5138,7 @@ L_0890DD30: L_0890DD3C: aot_gpr_31 = (0x0890DD44u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890DD44u) goto L_0890DD44; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890DD44u) goto L_0890DD44; AOT_REGCACHE_SYNC_OUT(); return; L_0890DD44: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-20236))); @@ -5145,7 +5146,7 @@ L_0890DD44: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x0890DD58u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890DD58u) goto L_0890DD58; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890DD58u) goto L_0890DD58; AOT_REGCACHE_SYNC_OUT(); return; L_0890DD58: ctx.gpr[1] = (ctx.gpr[3] << 1u); @@ -5176,7 +5177,7 @@ L_0890DD84: L_0890DD90: aot_gpr_31 = (0x0890DD98u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890DD98u) goto L_0890DD98; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890DD98u) goto L_0890DD98; AOT_REGCACHE_SYNC_OUT(); return; L_0890DD98: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-20236))); @@ -5184,7 +5185,7 @@ L_0890DD98: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x0890DDACu); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890DDACu) goto L_0890DDAC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890DDACu) goto L_0890DDAC; AOT_REGCACHE_SYNC_OUT(); return; L_0890DDAC: ctx.gpr[1] = (ctx.gpr[3] << 1u); @@ -5418,7 +5419,7 @@ L_0890DF4C: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x0890DF58u); aot_gpr_5 = (aot_gpr_6 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890DF58u) goto L_0890DF58; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890DF58u) goto L_0890DF58; AOT_REGCACHE_SYNC_OUT(); return; L_0890DF58: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -6359,7 +6360,7 @@ L_0890E5B8: aot_gpr_6 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0890E5CCu); aot_gpr_5 = (aot_gpr_5 + static_cast(-16080)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890E5CCu) goto L_0890E5CC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890E5CCu) goto L_0890E5CC; AOT_REGCACHE_SYNC_OUT(); return; L_0890E5CC: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2256))); @@ -7179,7 +7180,7 @@ L_0890EBA4: aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); aot_gpr_31 = (0x0890EBC4u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890EBC4u) goto L_0890EBC4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890EBC4u) goto L_0890EBC4; AOT_REGCACHE_SYNC_OUT(); return; L_0890EBC4: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(96))); @@ -7612,7 +7613,7 @@ L_0890EF40: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0890EF4Cu); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890EF4Cu) goto L_0890EF4C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08908E78, 65u, 261u, 0x08908E78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890EF4Cu) goto L_0890EF4C; AOT_REGCACHE_SYNC_OUT(); return; L_0890EF4C: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2196), 0u); @@ -8095,7 +8096,7 @@ L_0890F2C8: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x0890F2DCu); aot_gpr_16 = (aot_gpr_4 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890F2DCu) goto L_0890F2DC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890F2DCu) goto L_0890F2DC; AOT_REGCACHE_SYNC_OUT(); return; L_0890F2DC: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-20300))); @@ -8103,7 +8104,7 @@ L_0890F2DC: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x0890F2F0u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890F2F0u) goto L_0890F2F0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890F2F0u) goto L_0890F2F0; AOT_REGCACHE_SYNC_OUT(); return; L_0890F2F0: ctx.gpr[1] = (ctx.gpr[3] << 1u); @@ -8750,7 +8751,7 @@ L_0890F71C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(448))); aot_gpr_31 = (0x0890F728u); aot_gpr_5 = (ctx.gpr[18] + static_cast(448)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890F728u) goto L_0890F728; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A93004, 163u, 430u, 0x08A93004u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890F728u) goto L_0890F728; AOT_REGCACHE_SYNC_OUT(); return; L_0890F728: { const bool branch_taken = ctx.gpr[17] == 0u; @@ -8773,7 +8774,7 @@ L_0890F73C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(448))); aot_gpr_31 = (0x0890F748u); aot_gpr_5 = (ctx.gpr[18] + static_cast(448)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890F748u) goto L_0890F748; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890F748u) goto L_0890F748; AOT_REGCACHE_SYNC_OUT(); return; L_0890F748: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(448))); @@ -9330,7 +9331,7 @@ L_0890F994: L_0890F9B0: aot_gpr_31 = (0x0890F9B8u); aot_gpr_5 = (aot_gpr_16 + static_cast(448)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890F9B8u) goto L_0890F9B8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A93004, 163u, 430u, 0x08A93004u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0890F9B8u) goto L_0890F9B8; AOT_REGCACHE_SYNC_OUT(); return; L_0890F9B8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(236))); diff --git a/profiles/vcs/generated/generated_unit_0067.cpp b/profiles/vcs/generated/generated_unit_0067.cpp index 22c1505..ae8aa14 100644 --- a/profiles/vcs/generated/generated_unit_0067.cpp +++ b/profiles/vcs/generated/generated_unit_0067.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -128,20 +129,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0067[3758] = { }; void recomp_unit_0067_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,31,16,17 fprs=12,13,20,14 gpr_occ=4220 fpr_occ=444 gpr_total=5659 fpr_total=506 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,31,29,6,16 fprs=12,13,20,14 gpr_occ=4420 fpr_occ=444 gpr_total=5974 fpr_total=506 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; - std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; + std::uint32_t aot_gpr_29 = ctx.gpr[29]; + std::uint32_t aot_gpr_6 = ctx.gpr[6]; std::uint32_t aot_gpr_16 = ctx.gpr[16]; - std::uint32_t aot_gpr_17 = ctx.gpr[17]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_20 = ctx.fpr[20]; float aot_fpr_14 = ctx.fpr[14]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[31] = aot_gpr_31; ctx.gpr[16] = aot_gpr_16; ctx.gpr[17] = aot_gpr_17; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; ctx.fpr[14] = aot_fpr_14; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_17 = ctx.gpr[17]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_14 = ctx.fpr[14]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[31] = aot_gpr_31; ctx.gpr[29] = aot_gpr_29; ctx.gpr[6] = aot_gpr_6; ctx.gpr[16] = aot_gpr_16; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; ctx.fpr[14] = aot_fpr_14; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_16 = ctx.gpr[16]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_14 = ctx.fpr[14]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -1025,7 +1026,7 @@ L_08910004: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; @@ -1093,22 +1094,22 @@ L_08910068: AOT_REGCACHE_SYNC_OUT(); return; L_08910074: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - ctx.gpr[6] = (aot_gpr_5 | 0u); + aot_gpr_6 = (aot_gpr_5 | 0u); ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(4199))); aot_gpr_5 = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); { const bool branch_taken = ctx.gpr[7] == 0u; - aot_gpr_4 = (ctx.gpr[6] | 0u); + aot_gpr_4 = (aot_gpr_6 | 0u); if (branch_taken) { goto L_089100A8; } goto L_08910090; } L_08910090: - ctx.gpr[6] = (aot_gpr_4 | 0u); + aot_gpr_6 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_5 + static_cast(864)); aot_gpr_31 = (0x089100A0u); - aot_gpr_5 = (ctx.gpr[6] | 0u); + aot_gpr_5 = (aot_gpr_6 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 621u, 0x08A9FD80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089100A0u) goto L_089100A0; AOT_REGCACHE_SYNC_OUT(); return; L_089100A0: @@ -1145,11 +1146,11 @@ L_089100B4: AOT_REGCACHE_SYNC_OUT(); return; L_089100C0: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - ctx.gpr[6] = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(4199))); + aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(4199))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), aot_gpr_31); - { const bool branch_taken = ctx.gpr[6] == 0u; + { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_4 = (aot_gpr_5 | 0u); if (branch_taken) { goto L_08910124; @@ -1268,32 +1269,32 @@ L_089101AC: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); aot_gpr_5 = (std::bit_cast(aot_fpr_12)); - ctx.gpr[6] = (std::bit_cast(aot_fpr_13)); + aot_gpr_6 = (std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_5); jump_target = aot_gpr_31; - aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), ctx.gpr[6]); + aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), aot_gpr_6); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_089101CC: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - ctx.gpr[6] = (aot_gpr_5 | 0u); + aot_gpr_6 = (aot_gpr_5 | 0u); ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(4199))); aot_gpr_5 = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); { const bool branch_taken = ctx.gpr[7] == 0u; - aot_gpr_4 = (ctx.gpr[6] | 0u); + aot_gpr_4 = (aot_gpr_6 | 0u); if (branch_taken) { goto L_08910200; } goto L_089101E8; } L_089101E8: - ctx.gpr[6] = (aot_gpr_4 | 0u); + aot_gpr_6 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_5 + static_cast(864)); aot_gpr_31 = (0x089101F8u); - aot_gpr_5 = (ctx.gpr[6] | 0u); + aot_gpr_5 = (aot_gpr_6 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 565u, 0x08A9F948u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089101F8u) goto L_089101F8; AOT_REGCACHE_SYNC_OUT(); return; L_089101F8: @@ -1330,10 +1331,10 @@ L_0891020C: AOT_REGCACHE_SYNC_OUT(); return; L_08910218: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(32), aot_run_words); } aot_gpr_16 = (aot_gpr_5 | 0u); - aot_gpr_17 = (aot_gpr_4 | 0u); + ctx.gpr[17] = (aot_gpr_4 | 0u); { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -1343,13 +1344,13 @@ L_08910218: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_4 = (aot_gpr_17 + static_cast(1088)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(1088)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_31 = (0x08910244u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 778u, 0x0890F644u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08910244u) goto L_08910244; AOT_REGCACHE_SYNC_OUT(); return; L_08910244: @@ -1385,7 +1386,7 @@ L_08910268: goto L_0891027C; } L_0891027C: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(900)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(900)))))); aot_gpr_4 = (aot_gpr_4 & 30u); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); @@ -1397,7 +1398,7 @@ L_0891027C: goto L_08910294; } L_08910294: - aot_gpr_16 = (aot_gpr_17 + static_cast(864)); + aot_gpr_16 = (ctx.gpr[17] + static_cast(864)); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x089102A4u); aot_gpr_5 = (aot_gpr_29 | 0u); @@ -1419,14 +1420,14 @@ L_089102B0: } L_089102B8: aot_gpr_31 = (0x089102C0u); - aot_gpr_4 = (aot_gpr_17 + static_cast(864)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(864)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 563u, 0x08A9F908u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089102C0u) goto L_089102C0; AOT_REGCACHE_SYNC_OUT(); return; L_089102C0: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(32), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -1441,9 +1442,9 @@ L_089102D4: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(1108), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(1112), std::bit_cast(aot_fpr_12)); - ctx.gpr[6] = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(4199))); + aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(4199))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); - { const bool branch_taken = ctx.gpr[6] == 0u; + { const bool branch_taken = aot_gpr_6 == 0u; // nop if (branch_taken) { goto L_0891032C; @@ -1498,9 +1499,9 @@ L_08910338: AOT_REGCACHE_SYNC_OUT(); return; L_0891034C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_4 | 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1104))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_4 | 0u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1104))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); { const bool branch_taken = aot_gpr_4 == 0u; @@ -1512,12 +1513,12 @@ L_0891034C: } L_0891036C: aot_gpr_31 = (0x08910374u); - aot_gpr_5 = (aot_gpr_17 + static_cast(1104)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08910374u) goto L_08910374; + aot_gpr_5 = (ctx.gpr[17] + static_cast(1104)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A93004, 163u, 430u, 0x08A93004u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08910374u) goto L_08910374; AOT_REGCACHE_SYNC_OUT(); return; L_08910374: { const bool branch_taken = aot_gpr_16 == 0u; - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(1104), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(1104), aot_gpr_16); if (branch_taken) { goto L_0891039C; } @@ -1526,11 +1527,11 @@ L_08910374: L_0891037C: aot_gpr_5 = (aot_gpr_16 + static_cast(48)); aot_gpr_31 = (0x08910388u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 778u, 0x0890F644u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08910388u) goto L_08910388; AOT_REGCACHE_SYNC_OUT(); return; L_08910388: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1104))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1104))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -1540,8 +1541,8 @@ L_08910388: } L_08910394: aot_gpr_31 = (0x0891039Cu); - aot_gpr_5 = (aot_gpr_17 + static_cast(1104)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891039Cu) goto L_0891039C; + aot_gpr_5 = (ctx.gpr[17] + static_cast(1104)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891039Cu) goto L_0891039C; AOT_REGCACHE_SYNC_OUT(); return; L_0891039C: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(4199))); @@ -1562,14 +1563,14 @@ L_089103A8: } L_089103B0: aot_gpr_31 = (0x089103B8u); - aot_gpr_4 = (aot_gpr_17 + static_cast(864)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(864)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 563u, 0x08A9F908u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089103B8u) goto L_089103B8; AOT_REGCACHE_SYNC_OUT(); return; L_089103B8: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -1580,9 +1581,9 @@ L_089103B8: AOT_REGCACHE_SYNC_OUT(); return; L_089103CC: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_4 | 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1116))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_4 | 0u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1116))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); { const bool branch_taken = aot_gpr_4 == 0u; @@ -1594,13 +1595,13 @@ L_089103CC: } L_089103EC: aot_gpr_31 = (0x089103F4u); - aot_gpr_5 = (aot_gpr_17 + static_cast(1116)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089103F4u) goto L_089103F4; + aot_gpr_5 = (ctx.gpr[17] + static_cast(1116)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A93004, 163u, 430u, 0x08A93004u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089103F4u) goto L_089103F4; AOT_REGCACHE_SYNC_OUT(); return; L_089103F4: aot_gpr_4 = (aot_gpr_16 | 0u); { const bool branch_taken = aot_gpr_4 == 0u; - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(1116), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(1116), aot_gpr_16); if (branch_taken) { goto L_08910410; } @@ -1616,8 +1617,8 @@ L_08910400: } L_08910408: aot_gpr_31 = (0x08910410u); - aot_gpr_5 = (aot_gpr_17 + static_cast(1116)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08910410u) goto L_08910410; + aot_gpr_5 = (ctx.gpr[17] + static_cast(1116)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08910410u) goto L_08910410; AOT_REGCACHE_SYNC_OUT(); return; L_08910410: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(4199))); @@ -1638,14 +1639,14 @@ L_0891041C: } L_08910424: aot_gpr_31 = (0x0891042Cu); - aot_gpr_4 = (aot_gpr_17 + static_cast(864)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(864)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 563u, 0x08A9F908u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891042Cu) goto L_0891042C; AOT_REGCACHE_SYNC_OUT(); return; L_0891042C: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -1656,9 +1657,9 @@ L_0891042C: AOT_REGCACHE_SYNC_OUT(); return; L_08910440: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_4 | 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1128))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_4 | 0u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1128))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); { const bool branch_taken = aot_gpr_4 == 0u; @@ -1670,13 +1671,13 @@ L_08910440: } L_08910460: aot_gpr_31 = (0x08910468u); - aot_gpr_5 = (aot_gpr_17 + static_cast(1128)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08910468u) goto L_08910468; + aot_gpr_5 = (ctx.gpr[17] + static_cast(1128)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A93004, 163u, 430u, 0x08A93004u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08910468u) goto L_08910468; AOT_REGCACHE_SYNC_OUT(); return; L_08910468: aot_gpr_4 = (aot_gpr_16 | 0u); { const bool branch_taken = aot_gpr_4 == 0u; - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(1128), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(1128), aot_gpr_16); if (branch_taken) { goto L_08910484; } @@ -1692,14 +1693,14 @@ L_08910474: } L_0891047C: aot_gpr_31 = (0x08910484u); - aot_gpr_5 = (aot_gpr_17 + static_cast(1128)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08910484u) goto L_08910484; + aot_gpr_5 = (ctx.gpr[17] + static_cast(1128)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08910484u) goto L_08910484; AOT_REGCACHE_SYNC_OUT(); return; L_08910484: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -1710,9 +1711,9 @@ L_08910484: AOT_REGCACHE_SYNC_OUT(); return; L_08910498: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_4 | 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(940))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_4 | 0u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(940))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); { const bool branch_taken = aot_gpr_4 == 0u; @@ -1724,19 +1725,19 @@ L_08910498: } L_089104B8: aot_gpr_31 = (0x089104C0u); - aot_gpr_5 = (aot_gpr_17 + static_cast(940)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089104C0u) goto L_089104C0; + aot_gpr_5 = (ctx.gpr[17] + static_cast(940)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A93004, 163u, 430u, 0x08A93004u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089104C0u) goto L_089104C0; AOT_REGCACHE_SYNC_OUT(); return; L_089104C0: { const bool branch_taken = aot_gpr_16 == 0u; - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(940), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(940), aot_gpr_16); if (branch_taken) { goto L_089104DC; } goto L_089104C8; } L_089104C8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(940))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(940))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -1746,14 +1747,14 @@ L_089104C8: } L_089104D4: aot_gpr_31 = (0x089104DCu); - aot_gpr_5 = (aot_gpr_17 + static_cast(940)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089104DCu) goto L_089104DC; + aot_gpr_5 = (ctx.gpr[17] + static_cast(940)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089104DCu) goto L_089104DC; AOT_REGCACHE_SYNC_OUT(); return; L_089104DC: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -1825,11 +1826,11 @@ L_08910530: AOT_REGCACHE_SYNC_OUT(); return; L_08910538: aot_gpr_29 = (aot_gpr_29 + static_cast(-80)); - ctx.gpr[6] = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(4199))); + aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(4199))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), aot_gpr_31); - { const bool branch_taken = ctx.gpr[6] == 0u; + { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_4 = (aot_gpr_5 | 0u); if (branch_taken) { goto L_0891059C; @@ -1864,10 +1865,10 @@ L_08910560: goto L_0891059C; } L_0891059C: - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(906)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(906)))))); aot_gpr_5 = (aot_gpr_29 + static_cast(32)); - ctx.gpr[6] = (ctx.gpr[6] << 2u); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_6 = (aot_gpr_6 << 2u); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); aot_gpr_31 = (0x089105B4u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(908))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 398u, 0x08905E50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089105B4u) goto L_089105B4; @@ -1898,22 +1899,22 @@ L_089105D8: AOT_REGCACHE_SYNC_OUT(); return; L_089105E8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - ctx.gpr[6] = (aot_gpr_5 | 0u); + aot_gpr_6 = (aot_gpr_5 | 0u); ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(4199))); aot_gpr_5 = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); { const bool branch_taken = ctx.gpr[7] == 0u; - aot_gpr_4 = (ctx.gpr[6] | 0u); + aot_gpr_4 = (aot_gpr_6 | 0u); if (branch_taken) { goto L_0891061C; } goto L_08910604; } L_08910604: - ctx.gpr[6] = (aot_gpr_4 | 0u); + aot_gpr_6 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_5 + static_cast(864)); aot_gpr_31 = (0x08910614u); - aot_gpr_5 = (ctx.gpr[6] | 0u); + aot_gpr_5 = (aot_gpr_6 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 565u, 0x08A9F948u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08910614u) goto L_08910614; AOT_REGCACHE_SYNC_OUT(); return; L_08910614: @@ -1925,12 +1926,12 @@ L_08910614: goto L_0891061C; } L_0891061C: - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(76))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(76))); ctx.gpr[7] = (16320u << 16u); - ctx.gpr[6] = (ctx.gpr[6] & ctx.gpr[7]); + aot_gpr_6 = (aot_gpr_6 & ctx.gpr[7]); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(1032))); aot_gpr_31 = (0x08910634u); - ctx.gpr[6] = (ctx.gpr[6] >> 22u); + aot_gpr_6 = (aot_gpr_6 >> 22u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0093_entry, 93u, 98u, 0x08978C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08910634u) goto L_08910634; AOT_REGCACHE_SYNC_OUT(); return; L_08910634: @@ -2018,8 +2019,8 @@ L_08910694: ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0891069C: - ctx.gpr[6] = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(4199))); - { const bool branch_taken = ctx.gpr[6] != 0u; + aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(4199))); + { const bool branch_taken = aot_gpr_6 != 0u; // nop if (branch_taken) { goto L_089106BC; @@ -2027,8 +2028,8 @@ L_0891069C: goto L_089106A8; } L_089106A8: - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1032))); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1032))); + { const bool branch_taken = aot_gpr_6 == 0u; // nop if (branch_taken) { goto L_089106D8; @@ -2052,7 +2053,7 @@ L_089106BC: goto L_089106C4; } L_089106C4: - { const bool branch_taken = ctx.gpr[6] == aot_gpr_5; + { const bool branch_taken = aot_gpr_6 == aot_gpr_5; // nop if (branch_taken) { goto L_089106D8; @@ -2061,7 +2062,7 @@ L_089106C4: } L_089106CC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1028))); - { const bool branch_taken = ctx.gpr[6] != aot_gpr_4; + { const bool branch_taken = aot_gpr_6 != aot_gpr_4; // nop if (branch_taken) { goto L_089106E0; @@ -2090,14 +2091,14 @@ L_089106EC: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_4 = (ctx.gpr[6] | 0u); - ctx.gpr[6] = (aot_gpr_5 & 255u); + aot_gpr_4 = (aot_gpr_6 | 0u); + aot_gpr_6 = (aot_gpr_5 & 255u); aot_gpr_5 = (ctx.gpr[7] & 255u); ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(4199))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_31); { const bool branch_taken = ctx.gpr[7] == 0u; - aot_gpr_17 = (0u | 1u); + ctx.gpr[17] = (0u | 1u); if (branch_taken) { goto L_08910720; } @@ -2112,7 +2113,7 @@ L_08910718: goto L_08910720; } L_08910720: - ctx.gpr[9] = (ctx.gpr[6] | 0u); + ctx.gpr[9] = (aot_gpr_6 | 0u); ctx.gpr[11] = (aot_gpr_5 | 0u); ctx.gpr[10] = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16928))); @@ -2134,7 +2135,7 @@ L_08910720: ctx.gpr[8] = (aot_gpr_16 + static_cast(1032)); aot_gpr_5 = (0u | 1u); aot_gpr_31 = (0x08910750u); - ctx.gpr[6] = (aot_gpr_29 | 0u); + aot_gpr_6 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0093_entry, 93u, 219u, 0x089798CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08910750u) goto L_08910750; AOT_REGCACHE_SYNC_OUT(); return; L_08910750: @@ -2155,13 +2156,13 @@ L_0891075C: goto L_08910764; } L_08910764: - ctx.gpr[2] = (aot_gpr_17 | 0u); + ctx.gpr[2] = (ctx.gpr[17] | 0u); goto L_08910768; L_08910768: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -2248,7 +2249,7 @@ L_089107EC: L_089107F8: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(904)))))); { const bool branch_taken = aot_gpr_5 == 0u; - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (branch_taken) { goto L_08910840; } @@ -2294,10 +2295,10 @@ L_0891082C: goto L_08910840; } L_08910840: - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); goto L_08910844; L_08910844: - ctx.gpr[2] = (ctx.gpr[6] & 255u); + ctx.gpr[2] = (aot_gpr_6 & 255u); goto L_08910848; L_08910848: jump_target = aot_gpr_31; @@ -2307,8 +2308,8 @@ L_08910848: ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08910850: - ctx.gpr[6] = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(4199))); - { const bool branch_taken = ctx.gpr[6] != 0u; + aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(4199))); + { const bool branch_taken = aot_gpr_6 != 0u; // nop if (branch_taken) { goto L_08910868; @@ -2438,14 +2439,14 @@ L_08910934: AOT_REGCACHE_SYNC_OUT(); return; L_08910944: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - ctx.gpr[6] = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(4199))); + aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(4199))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), std::bit_cast(aot_fpr_20)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[17]); aot_fpr_20 = std::bit_cast(std::bit_cast(aot_fpr_12)); - aot_gpr_17 = (aot_gpr_4 | 0u); + ctx.gpr[17] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); - { const bool branch_taken = ctx.gpr[6] == 0u; + { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_16 = (aot_gpr_5 | 0u); if (branch_taken) { goto L_08910988; @@ -2453,9 +2454,9 @@ L_08910944: goto L_0891096C; } L_0891096C: - aot_gpr_17 = (aot_gpr_17 + static_cast(864)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(864)); aot_gpr_31 = (0x08910978u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 586u, 0x08A9FB14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08910978u) goto L_08910978; AOT_REGCACHE_SYNC_OUT(); return; L_08910978: @@ -2484,7 +2485,7 @@ L_08910988: } L_08910990: aot_gpr_31 = (0x08910998u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 598u, 0x08A9FC1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08910998u) goto L_08910998; AOT_REGCACHE_SYNC_OUT(); return; L_08910998: @@ -2549,7 +2550,7 @@ L_089109FC: aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); aot_gpr_16 = aot_run_words[1]; - aot_gpr_17 = aot_run_words[2]; + ctx.gpr[17] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } jump_target = aot_gpr_31; @@ -2575,9 +2576,9 @@ L_08910A1C: AOT_REGCACHE_SYNC_OUT(); return; L_08910A24: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_4 | 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1152))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_4 | 0u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1152))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); { const bool branch_taken = aot_gpr_5 == aot_gpr_4; @@ -2605,7 +2606,7 @@ L_08910A4C: } L_08910A54: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(900))); - { const bool branch_taken = aot_gpr_5 != aot_gpr_17; + { const bool branch_taken = aot_gpr_5 != ctx.gpr[17]; // nop if (branch_taken) { goto L_08910A70; @@ -2619,7 +2620,7 @@ L_08910A60: AOT_REGCACHE_SYNC_OUT(); return; L_08910A68: { const bool branch_taken = 0u == 0u; - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1152))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1152))); if (branch_taken) { goto L_08910A7C; } @@ -2627,11 +2628,11 @@ L_08910A68: } L_08910A70: aot_gpr_31 = (0x08910A78u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 40u, 0x08B00384u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08910A78u) goto L_08910A78; AOT_REGCACHE_SYNC_OUT(); return; L_08910A78: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1152))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1152))); goto L_08910A7C; L_08910A7C: { const bool branch_taken = aot_gpr_4 == 0u; @@ -2643,14 +2644,14 @@ L_08910A7C: } L_08910A84: aot_gpr_31 = (0x08910A8Cu); - aot_gpr_5 = (aot_gpr_17 + static_cast(1152)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08910A8Cu) goto L_08910A8C; + aot_gpr_5 = (ctx.gpr[17] + static_cast(1152)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A93004, 163u, 430u, 0x08A93004u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08910A8Cu) goto L_08910A8C; AOT_REGCACHE_SYNC_OUT(); return; L_08910A8C: - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(1152), 0u); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(1152), 0u); goto L_08910A90; L_08910A90: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1152))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1152))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -2660,19 +2661,19 @@ L_08910A90: } L_08910A9C: aot_gpr_31 = (0x08910AA4u); - aot_gpr_5 = (aot_gpr_17 + static_cast(1152)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08910AA4u) goto L_08910AA4; + aot_gpr_5 = (ctx.gpr[17] + static_cast(1152)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A93004, 163u, 430u, 0x08A93004u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08910AA4u) goto L_08910AA4; AOT_REGCACHE_SYNC_OUT(); return; L_08910AA4: { const bool branch_taken = aot_gpr_16 == 0u; - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(1152), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(1152), aot_gpr_16); if (branch_taken) { goto L_08910AC0; } goto L_08910AAC; } L_08910AAC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1152))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1152))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -2682,14 +2683,14 @@ L_08910AAC: } L_08910AB8: aot_gpr_31 = (0x08910AC0u); - aot_gpr_5 = (aot_gpr_17 + static_cast(1152)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08910AC0u) goto L_08910AC0; + aot_gpr_5 = (ctx.gpr[17] + static_cast(1152)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08910AC0u) goto L_08910AC0; AOT_REGCACHE_SYNC_OUT(); return; L_08910AC0: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -2700,9 +2701,9 @@ L_08910AC0: AOT_REGCACHE_SYNC_OUT(); return; L_08910AD4: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_4 | 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1156))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_4 | 0u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1156))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); { const bool branch_taken = aot_gpr_4 == 0u; @@ -2714,19 +2715,19 @@ L_08910AD4: } L_08910AF4: aot_gpr_31 = (0x08910AFCu); - aot_gpr_5 = (aot_gpr_17 + static_cast(1156)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08910AFCu) goto L_08910AFC; + aot_gpr_5 = (ctx.gpr[17] + static_cast(1156)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A93004, 163u, 430u, 0x08A93004u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08910AFCu) goto L_08910AFC; AOT_REGCACHE_SYNC_OUT(); return; L_08910AFC: { const bool branch_taken = aot_gpr_16 == 0u; - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(1156), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(1156), aot_gpr_16); if (branch_taken) { goto L_08910B18; } goto L_08910B04; } L_08910B04: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1156))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1156))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -2736,14 +2737,14 @@ L_08910B04: } L_08910B10: aot_gpr_31 = (0x08910B18u); - aot_gpr_5 = (aot_gpr_17 + static_cast(1156)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08910B18u) goto L_08910B18; + aot_gpr_5 = (ctx.gpr[17] + static_cast(1156)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08910B18u) goto L_08910B18; AOT_REGCACHE_SYNC_OUT(); return; L_08910B18: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -2772,10 +2773,10 @@ L_08910B38: goto L_08910B4C; } L_08910B4C: - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(2228))); - ctx.gpr[7] = (static_cast(ctx.gpr[6]) < 16 ? 1u : 0u); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(2228))); + ctx.gpr[7] = (static_cast(aot_gpr_6) < 16 ? 1u : 0u); { const bool branch_taken = ctx.gpr[7] != 0u; - ctx.gpr[7] = (static_cast(ctx.gpr[6]) < 70 ? 1u : 0u); + ctx.gpr[7] = (static_cast(aot_gpr_6) < 70 ? 1u : 0u); if (branch_taken) { goto L_08910B7C; } @@ -2783,16 +2784,16 @@ L_08910B4C: } L_08910B5C: { const bool branch_taken = ctx.gpr[7] == 0u; - ctx.gpr[6] = (ctx.gpr[6] + static_cast(-16)); + aot_gpr_6 = (aot_gpr_6 + static_cast(-16)); if (branch_taken) { goto L_08910B7C; } goto L_08910B64; } L_08910B64: - ctx.gpr[6] = (ctx.gpr[6] << 2u); + aot_gpr_6 = (aot_gpr_6 << 2u); ctx.gpr[1] = (2232u << 16u); - ctx.gpr[1] = (ctx.gpr[1] + ctx.gpr[6]); + ctx.gpr[1] = (ctx.gpr[1] + aot_gpr_6); ctx.gpr[1] = (aot_mem.aot_direct_load32(ctx.gpr[1] + static_cast(-12904))); jump_target = ctx.gpr[1]; // nop @@ -2817,10 +2818,10 @@ L_08910B84: goto L_08910B8C; } L_08910B8C: - ctx.gpr[6] = (aot_gpr_4 | 0u); + aot_gpr_6 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x08910B9Cu); - aot_gpr_5 = (ctx.gpr[6] | 0u); + aot_gpr_5 = (aot_gpr_6 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 169u, 0x08B00A50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08910B9Cu) goto L_08910B9C; AOT_REGCACHE_SYNC_OUT(); return; L_08910B9C: @@ -2833,8 +2834,8 @@ L_08910B9C: } L_08910BA4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(2196))); - ctx.gpr[6] = (0u | 16u); - { const bool branch_taken = aot_gpr_4 == ctx.gpr[6]; + aot_gpr_6 = (0u | 16u); + { const bool branch_taken = aot_gpr_4 == aot_gpr_6; aot_gpr_5 = (0u | 0u); if (branch_taken) { goto L_08910BC4; @@ -2842,8 +2843,8 @@ L_08910BA4: goto L_08910BB4; } L_08910BB4: - ctx.gpr[6] = (0u | 38u); - { const bool branch_taken = aot_gpr_4 == ctx.gpr[6]; + aot_gpr_6 = (0u | 38u); + { const bool branch_taken = aot_gpr_4 == aot_gpr_6; // nop if (branch_taken) { goto L_08910BC4; @@ -2883,7 +2884,7 @@ L_08910BE4: aot_gpr_29 = (aot_gpr_29 + static_cast(-112)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(96), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(100), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(100), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(104), aot_gpr_31); aot_gpr_31 = (0x08910C00u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); @@ -2891,21 +2892,21 @@ L_08910BE4: AOT_REGCACHE_SYNC_OUT(); return; L_08910C00: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(704))); - aot_gpr_17 = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (ctx.gpr[2] | 0u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); aot_gpr_31 = (0x08910C14u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 251u, 0x08969194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08910C14u) goto L_08910C14; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08969194, 89u, 251u, 0x08969194u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 251u, 0x08969194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08910C14u) goto L_08910C14; AOT_REGCACHE_SYNC_OUT(); return; L_08910C14: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08910C20u); - aot_gpr_17 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08910C20u) goto L_08910C20; + ctx.gpr[17] = (ctx.gpr[2] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0896918C, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08910C20u) goto L_08910C20; AOT_REGCACHE_SYNC_OUT(); return; L_08910C20: - aot_gpr_17 = (aot_gpr_17 << 6u); - aot_gpr_17 = (ctx.gpr[2] + aot_gpr_17); + ctx.gpr[17] = (ctx.gpr[17] << 6u); + ctx.gpr[17] = (ctx.gpr[2] + ctx.gpr[17]); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), 0u); if (branch_taken) { @@ -2917,7 +2918,7 @@ L_08910C30: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 1u); if (aot_gpr_4 == 0u) { - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), ctx.gpr[17]); goto L_08910C4C; } goto L_08910C40; @@ -2927,7 +2928,7 @@ L_08910C40: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 129u, 0x089D89E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08910C48u) goto L_08910C48; AOT_REGCACHE_SYNC_OUT(); return; L_08910C48: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), ctx.gpr[17]); goto L_08910C4C; L_08910C4C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(72))); @@ -2988,7 +2989,7 @@ L_08910CB8: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(96), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -2999,9 +3000,9 @@ L_08910CB8: AOT_REGCACHE_SYNC_OUT(); return; L_08910CCC: aot_gpr_29 = (aot_gpr_29 + static_cast(-80)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), aot_gpr_17); - aot_gpr_17 = (aot_gpr_4 | 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1152))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_4 | 0u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1152))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(72), aot_gpr_31); { const bool branch_taken = aot_gpr_4 == 0u; @@ -3013,7 +3014,7 @@ L_08910CCC: } L_08910CEC: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(900))); - { const bool branch_taken = aot_gpr_5 != aot_gpr_17; + { const bool branch_taken = aot_gpr_5 != ctx.gpr[17]; // nop if (branch_taken) { goto L_08910D18; @@ -3026,10 +3027,10 @@ L_08910CF8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 78u, 0x08B00578u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08910D00u) goto L_08910D00; AOT_REGCACHE_SYNC_OUT(); return; L_08910D00: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1152))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1152))); aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_31 = (0x08910D10u); - ctx.gpr[6] = (0u | 10u); + aot_gpr_6 = (0u | 10u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 78u, 0x089A8ACCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08910D10u) goto L_08910D10; AOT_REGCACHE_SYNC_OUT(); return; L_08910D10: @@ -3042,18 +3043,18 @@ L_08910D10: } L_08910D18: aot_gpr_31 = (0x08910D20u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 40u, 0x08B00384u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08910D20u) goto L_08910D20; AOT_REGCACHE_SYNC_OUT(); return; L_08910D20: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1152))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1152))); aot_gpr_31 = (0x08910D2Cu); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08910D2Cu) goto L_08910D2C; AOT_REGCACHE_SYNC_OUT(); return; L_08910D2C: - { const bool branch_taken = ctx.gpr[2] != aot_gpr_17; - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1152))); + { const bool branch_taken = ctx.gpr[2] != ctx.gpr[17]; + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1152))); if (branch_taken) { goto L_08910D48; } @@ -3063,11 +3064,11 @@ L_08910D34: aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_29 + static_cast(16)); aot_gpr_31 = (0x08910D44u); - ctx.gpr[6] = (0u | 8u); + aot_gpr_6 = (0u | 8u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 78u, 0x089A8ACCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08910D44u) goto L_08910D44; AOT_REGCACHE_SYNC_OUT(); return; L_08910D44: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1152))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1152))); goto L_08910D48; L_08910D48: aot_gpr_31 = (0x08910D50u); @@ -3075,8 +3076,8 @@ L_08910D48: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08910D50u) goto L_08910D50; AOT_REGCACHE_SYNC_OUT(); return; L_08910D50: - { const bool branch_taken = ctx.gpr[2] != aot_gpr_17; - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1152))); + { const bool branch_taken = ctx.gpr[2] != ctx.gpr[17]; + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1152))); if (branch_taken) { goto L_08910D6C; } @@ -3086,11 +3087,11 @@ L_08910D58: aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_29 + static_cast(32)); aot_gpr_31 = (0x08910D68u); - ctx.gpr[6] = (0u | 11u); + aot_gpr_6 = (0u | 11u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 78u, 0x089A8ACCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08910D68u) goto L_08910D68; AOT_REGCACHE_SYNC_OUT(); return; L_08910D68: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1152))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1152))); goto L_08910D6C; L_08910D6C: aot_gpr_31 = (0x08910D74u); @@ -3098,7 +3099,7 @@ L_08910D6C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08910D74u) goto L_08910D74; AOT_REGCACHE_SYNC_OUT(); return; L_08910D74: - { const bool branch_taken = ctx.gpr[2] != aot_gpr_17; + { const bool branch_taken = ctx.gpr[2] != ctx.gpr[17]; // nop if (branch_taken) { goto L_08910D8C; @@ -3106,20 +3107,20 @@ L_08910D74: goto L_08910D7C; } L_08910D7C: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1152))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1152))); aot_gpr_4 = (aot_gpr_29 + static_cast(48)); aot_gpr_31 = (0x08910D8Cu); - ctx.gpr[6] = (0u | 9u); + aot_gpr_6 = (0u | 9u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 78u, 0x089A8ACCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08910D8Cu) goto L_08910D8C; AOT_REGCACHE_SYNC_OUT(); return; L_08910D8C: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08910D98u); aot_gpr_5 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 240u, 0x08908D60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08910D98u) goto L_08910D98; AOT_REGCACHE_SYNC_OUT(); return; L_08910D98: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08910DA4u); aot_gpr_5 = (0u | 0u); goto L_08910A24; @@ -3127,7 +3128,7 @@ L_08910DA4: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(64), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -3139,9 +3140,9 @@ L_08910DA4: L_08910DB8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(1929)))))); - ctx.gpr[6] = (aot_gpr_5 << 5u); + aot_gpr_6 = (aot_gpr_5 << 5u); aot_gpr_5 = (aot_gpr_5 << 2u); - aot_gpr_5 = (ctx.gpr[6] - aot_gpr_5); + aot_gpr_5 = (aot_gpr_6 - aot_gpr_5); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); @@ -3157,8 +3158,8 @@ L_08910DB8: } L_08910DEC: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - ctx.gpr[6] = (0u | 19u); - { const bool branch_taken = aot_gpr_5 == ctx.gpr[6]; + aot_gpr_6 = (0u | 19u); + { const bool branch_taken = aot_gpr_5 == aot_gpr_6; // nop if (branch_taken) { goto L_08910EDC; @@ -3167,8 +3168,8 @@ L_08910DEC: } L_08910DFC: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - ctx.gpr[6] = (0u | 20u); - { const bool branch_taken = aot_gpr_5 == ctx.gpr[6]; + aot_gpr_6 = (0u | 20u); + { const bool branch_taken = aot_gpr_5 == aot_gpr_6; // nop if (branch_taken) { goto L_08910EDC; @@ -3177,8 +3178,8 @@ L_08910DFC: } L_08910E0C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - ctx.gpr[6] = (0u | 24u); - { const bool branch_taken = aot_gpr_5 == ctx.gpr[6]; + aot_gpr_6 = (0u | 24u); + { const bool branch_taken = aot_gpr_5 == aot_gpr_6; // nop if (branch_taken) { goto L_08910EDC; @@ -3187,8 +3188,8 @@ L_08910E0C: } L_08910E1C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - ctx.gpr[6] = (0u | 25u); - { const bool branch_taken = aot_gpr_5 == ctx.gpr[6]; + aot_gpr_6 = (0u | 25u); + { const bool branch_taken = aot_gpr_5 == aot_gpr_6; // nop if (branch_taken) { goto L_08910EDC; @@ -3197,8 +3198,8 @@ L_08910E1C: } L_08910E2C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - ctx.gpr[6] = (0u | 26u); - { const bool branch_taken = aot_gpr_5 == ctx.gpr[6]; + aot_gpr_6 = (0u | 26u); + { const bool branch_taken = aot_gpr_5 == aot_gpr_6; // nop if (branch_taken) { goto L_08910EDC; @@ -3207,8 +3208,8 @@ L_08910E2C: } L_08910E3C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - ctx.gpr[6] = (0u | 27u); - { const bool branch_taken = aot_gpr_5 == ctx.gpr[6]; + aot_gpr_6 = (0u | 27u); + { const bool branch_taken = aot_gpr_5 == aot_gpr_6; // nop if (branch_taken) { goto L_08910EDC; @@ -3217,8 +3218,8 @@ L_08910E3C: } L_08910E4C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - ctx.gpr[6] = (0u | 3u); - { const bool branch_taken = aot_gpr_5 == ctx.gpr[6]; + aot_gpr_6 = (0u | 3u); + { const bool branch_taken = aot_gpr_5 == aot_gpr_6; // nop if (branch_taken) { goto L_08910EDC; @@ -3227,8 +3228,8 @@ L_08910E4C: } L_08910E5C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - ctx.gpr[6] = (0u | 10u); - { const bool branch_taken = aot_gpr_5 == ctx.gpr[6]; + aot_gpr_6 = (0u | 10u); + { const bool branch_taken = aot_gpr_5 == aot_gpr_6; // nop if (branch_taken) { goto L_08910EDC; @@ -3237,8 +3238,8 @@ L_08910E5C: } L_08910E6C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - ctx.gpr[6] = (0u | 6u); - { const bool branch_taken = aot_gpr_5 == ctx.gpr[6]; + aot_gpr_6 = (0u | 6u); + { const bool branch_taken = aot_gpr_5 == aot_gpr_6; // nop if (branch_taken) { goto L_08910EDC; @@ -3247,8 +3248,8 @@ L_08910E6C: } L_08910E7C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - ctx.gpr[6] = (0u | 9u); - { const bool branch_taken = aot_gpr_5 == ctx.gpr[6]; + aot_gpr_6 = (0u | 9u); + { const bool branch_taken = aot_gpr_5 == aot_gpr_6; // nop if (branch_taken) { goto L_08910EDC; @@ -3257,8 +3258,8 @@ L_08910E7C: } L_08910E8C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - ctx.gpr[6] = (0u | 11u); - { const bool branch_taken = aot_gpr_5 == ctx.gpr[6]; + aot_gpr_6 = (0u | 11u); + { const bool branch_taken = aot_gpr_5 == aot_gpr_6; // nop if (branch_taken) { goto L_08910ED4; @@ -3277,8 +3278,8 @@ L_08910E9C: } L_08910EAC: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - ctx.gpr[6] = (0u | 35u); - { const bool branch_taken = aot_gpr_5 == ctx.gpr[6]; + aot_gpr_6 = (0u | 35u); + { const bool branch_taken = aot_gpr_5 == aot_gpr_6; // nop if (branch_taken) { goto L_08910ED4; @@ -3348,12 +3349,12 @@ L_08910F00: aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_gpr_5 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_5) ? 1u : 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); { const bool branch_taken = aot_gpr_5 == 0u; - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); if (branch_taken) { goto L_08910F3C; } @@ -3363,12 +3364,12 @@ L_08910F2C: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); goto L_08910F3C; L_08910F3C: aot_gpr_31 = (0x08910F44u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08910F44u) goto L_08910F44; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08910F44u) goto L_08910F44; AOT_REGCACHE_SYNC_OUT(); return; L_08910F44: { const bool branch_taken = ctx.gpr[2] != 0u; @@ -3398,16 +3399,16 @@ L_08910F58: } L_08910F64: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); - ctx.gpr[6] = (0u | 103u); - { const bool branch_taken = aot_gpr_4 == ctx.gpr[6]; - ctx.gpr[6] = (0u | 104u); + aot_gpr_6 = (0u | 103u); + { const bool branch_taken = aot_gpr_4 == aot_gpr_6; + aot_gpr_6 = (0u | 104u); if (branch_taken) { goto L_08910F7C; } goto L_08910F74; } L_08910F74: - { const bool branch_taken = aot_gpr_4 != ctx.gpr[6]; + { const bool branch_taken = aot_gpr_4 != aot_gpr_6; // nop if (branch_taken) { goto L_08910F94; @@ -3432,7 +3433,7 @@ L_08910F8C: goto L_08910F94; } L_08910F94: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(68)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(68)))))); ctx.gpr[18] = (0u | 9u); { const bool branch_taken = aot_gpr_4 == ctx.gpr[18]; // nop @@ -3442,8 +3443,8 @@ L_08910F94: goto L_08910FA4; } L_08910FA4: - ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(695))); - { const bool branch_taken = ctx.gpr[6] == aot_gpr_4; + aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(695))); + { const bool branch_taken = aot_gpr_6 == aot_gpr_4; // nop if (branch_taken) { goto L_08910FC4; @@ -3451,7 +3452,7 @@ L_08910FA4: goto L_08910FB0; } L_08910FB0: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(69)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(69)))))); if (aot_gpr_4 != ctx.gpr[18]) { aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(695))); goto L_08910FCC; @@ -3484,15 +3485,15 @@ L_08910FCC: L_08910FD4: aot_gpr_31 = (0x08910FDCu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08910FDCu) goto L_08910FDC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08910FDCu) goto L_08910FDC; AOT_REGCACHE_SYNC_OUT(); return; L_08910FDC: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-20300))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-20304))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-20304))); aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08910FF0u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08910FF0u) goto L_08910FF0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08910FF0u) goto L_08910FF0; AOT_REGCACHE_SYNC_OUT(); return; L_08910FF0: ctx.gpr[1] = (ctx.gpr[3] << 1u); @@ -3535,24 +3536,24 @@ L_08911020: goto L_08911028; } L_08911028: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(68)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(68)))))); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(695), static_cast(aot_gpr_5)); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1152))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1152))); { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(695))); + ctx.gpr[17] = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(695))); if (branch_taken) { goto L_0891104C; } goto L_0891103C; } L_0891103C: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(69)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(69)))))); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(695), static_cast(aot_gpr_5)); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1152))); - aot_gpr_17 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(695))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1152))); + ctx.gpr[17] = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(695))); goto L_0891104C; L_0891104C: - { const bool branch_taken = aot_gpr_17 != ctx.gpr[18]; + { const bool branch_taken = ctx.gpr[17] != ctx.gpr[18]; // nop if (branch_taken) { goto L_08911074; @@ -3562,7 +3563,7 @@ L_0891104C: L_08911054: aot_gpr_31 = (0x0891105Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891105Cu) goto L_0891105C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891105Cu) goto L_0891105C; AOT_REGCACHE_SYNC_OUT(); return; L_0891105C: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -3580,7 +3581,7 @@ L_08911074: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -3611,7 +3612,7 @@ L_0891109C: L_089110A4: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(1952), aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); - aot_gpr_5 = (aot_gpr_5 + ctx.gpr[6]); + aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(1956), aot_gpr_5); goto L_089110B4; L_089110B4: @@ -3649,15 +3650,15 @@ L_089110EC: AOT_REGCACHE_SYNC_OUT(); return; L_089110F4: aot_fpr_12 = aot_fpr_20 / ctx.fpr[0]; - ctx.gpr[6] = (16512u << 16u); + aot_gpr_6 = (16512u << 16u); aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_5 = (0u | 2u); - aot_fpr_13 = std::bit_cast(ctx.gpr[6]); + aot_fpr_13 = std::bit_cast(aot_gpr_6); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); - ctx.gpr[6] = (std::bit_cast(aot_fpr_12)); + aot_gpr_6 = (std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x0891111Cu); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(891), static_cast(ctx.gpr[6])); + aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(891), static_cast(aot_gpr_6)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0183_entry, 183u, 875u, 0x08AE3358u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891111Cu) goto L_0891111C; AOT_REGCACHE_SYNC_OUT(); return; L_0891111C: @@ -3690,7 +3691,7 @@ L_08911138: L_08911140: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(80))); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_31 = (0x08911160u); aot_gpr_16 = (aot_gpr_5 | 0u); @@ -3699,7 +3700,7 @@ L_08911140: L_08911160: ctx.gpr[18] = (ctx.gpr[2] | 0u); { const bool branch_taken = ctx.gpr[18] == 0u; - aot_gpr_17 = (4u << 16u); + ctx.gpr[17] = (4u << 16u); if (branch_taken) { goto L_089111FC; } @@ -3723,7 +3724,7 @@ L_08911180: L_08911184: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(50)))))); aot_gpr_31 = (0x08911190u); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(48)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(48)))))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 633u, 0x0893E8D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08911190u) goto L_08911190; AOT_REGCACHE_SYNC_OUT(); return; L_08911190: @@ -3736,11 +3737,11 @@ L_08911190: } L_08911198: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); - ctx.gpr[6] = (aot_gpr_4 & 16u); - ctx.gpr[6] = (0u < ctx.gpr[6] ? 1u : 0u); - ctx.gpr[6] = (ctx.gpr[6] & 255u); - { const bool branch_taken = ctx.gpr[6] == 0u; - aot_gpr_4 = (aot_gpr_4 & aot_gpr_17); + aot_gpr_6 = (aot_gpr_4 & 16u); + aot_gpr_6 = (0u < aot_gpr_6 ? 1u : 0u); + aot_gpr_6 = (aot_gpr_6 & 255u); + { const bool branch_taken = aot_gpr_6 == 0u; + aot_gpr_4 = (aot_gpr_4 & ctx.gpr[17]); if (branch_taken) { goto L_089111D8; } @@ -3806,7 +3807,7 @@ L_089111FC: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -3883,10 +3884,10 @@ L_08911270: L_08911284: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(2228))); - ctx.gpr[6] = (0u | 17u); + aot_gpr_6 = (0u | 17u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = aot_gpr_5 != ctx.gpr[6]; + { const bool branch_taken = aot_gpr_5 != aot_gpr_6; aot_gpr_16 = (0u | 0u); if (branch_taken) { goto L_089112F8; @@ -3896,11 +3897,11 @@ L_08911284: L_089112A0: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(92))); aot_gpr_5 = (aot_gpr_5 + static_cast(216)); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); jump_target = aot_gpr_5; aot_gpr_31 = (0x089112B8u); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089112B8u) goto L_089112B8; AOT_REGCACHE_SYNC_OUT(); return; @@ -3908,8 +3909,8 @@ L_089112B8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(36))); aot_gpr_4 = (aot_gpr_4 + static_cast(8)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - jump_target = ctx.gpr[6]; + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); + jump_target = aot_gpr_6; aot_gpr_31 = (0x089112D0u); aot_gpr_4 = (ctx.gpr[2] + aot_gpr_5); ctx.pc = jump_target; @@ -3963,8 +3964,8 @@ L_08911320: goto L_0891132C; } L_0891132C: - ctx.gpr[6] = (0u | 2u); - { const bool branch_taken = aot_gpr_5 != ctx.gpr[6]; + aot_gpr_6 = (0u | 2u); + { const bool branch_taken = aot_gpr_5 != aot_gpr_6; // nop if (branch_taken) { goto L_08911350; @@ -3972,10 +3973,10 @@ L_0891132C: goto L_08911338; } L_08911338: - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8880))); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(1)); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8880))); + aot_gpr_6 = (aot_gpr_6 + static_cast(1)); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8880), ctx.gpr[6]); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8880), aot_gpr_6); if (branch_taken) { goto L_08911364; } @@ -3990,7 +3991,7 @@ L_08911348: goto L_08911350; } L_08911350: - { const bool branch_taken = ctx.gpr[7] != ctx.gpr[6]; + { const bool branch_taken = ctx.gpr[7] != aot_gpr_6; // nop if (branch_taken) { goto L_08911364; @@ -3998,9 +3999,9 @@ L_08911350: goto L_08911358; } L_08911358: - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8880))); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(-1)); - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8880), ctx.gpr[6]); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8880))); + aot_gpr_6 = (aot_gpr_6 + static_cast(-1)); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8880), aot_gpr_6); goto L_08911364; L_08911364: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(2276), aot_gpr_5); @@ -4014,12 +4015,12 @@ L_08911368: AOT_REGCACHE_SYNC_OUT(); return; L_08911370: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(2144))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_4 | 0u); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(2144))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); - { const bool branch_taken = ctx.gpr[6] == 0u; + { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_16 = (aot_gpr_5 | 0u); if (branch_taken) { goto L_0891139C; @@ -4027,10 +4028,10 @@ L_08911370: goto L_08911390; } L_08911390: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(2144))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(2144))); aot_gpr_31 = (0x0891139Cu); - aot_gpr_5 = (aot_gpr_17 + static_cast(2144)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891139Cu) goto L_0891139C; + aot_gpr_5 = (ctx.gpr[17] + static_cast(2144)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A93004, 163u, 430u, 0x08A93004u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891139Cu) goto L_0891139C; AOT_REGCACHE_SYNC_OUT(); return; L_0891139C: { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); @@ -4042,37 +4043,37 @@ L_0891139C: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_4 = (aot_gpr_17 + static_cast(2128)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(2128)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(2144), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(2144), aot_gpr_4); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(2148), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(2148), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(2152), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(2152), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(28))); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(2156), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(2156), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(32))); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(2160), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(2160), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(36))); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(2164), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(2164), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(40))); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(2168), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(2168), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(44))); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(2172), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(2172), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(48))); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(2176), std::bit_cast(aot_fpr_12)); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(2180)))))); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(2176), std::bit_cast(aot_fpr_12)); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(2180)))))); aot_gpr_5 = (0u + static_cast(-2)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(52)))))); aot_gpr_5 = (aot_gpr_5 & 1u); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(2180), static_cast(aot_gpr_4)); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(2180)))))); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(2180), static_cast(aot_gpr_4)); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(2180)))))); aot_gpr_5 = (0u + static_cast(-3)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(52)))))); @@ -4081,8 +4082,8 @@ L_0891139C: aot_gpr_5 = (aot_gpr_5 & 1u); aot_gpr_5 = (aot_gpr_5 << 1u); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(2180), static_cast(aot_gpr_4)); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(2180)))))); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(2180), static_cast(aot_gpr_4)); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(2180)))))); aot_gpr_5 = (0u + static_cast(-5)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(52)))))); @@ -4091,8 +4092,8 @@ L_0891139C: aot_gpr_5 = (aot_gpr_5 & 1u); aot_gpr_5 = (aot_gpr_5 << 2u); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(2180), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(2144))); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(2180), static_cast(aot_gpr_4)); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(2144))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -4101,7 +4102,7 @@ L_0891139C: goto L_08911468; } L_08911468: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(2144))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(2144))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -4110,16 +4111,16 @@ L_08911468: goto L_08911474; } L_08911474: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(2144))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(2144))); aot_gpr_31 = (0x08911480u); - aot_gpr_5 = (aot_gpr_17 + static_cast(2144)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08911480u) goto L_08911480; + aot_gpr_5 = (ctx.gpr[17] + static_cast(2144)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08911480u) goto L_08911480; AOT_REGCACHE_SYNC_OUT(); return; L_08911480: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -4133,14 +4134,14 @@ L_08911494: ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(476))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), ctx.gpr[18]); ctx.gpr[18] = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), ctx.gpr[17]); aot_gpr_4 = (ctx.gpr[7] & 1u); - aot_gpr_17 = (aot_gpr_5 | 0u); + ctx.gpr[17] = (aot_gpr_5 | 0u); { const std::uint32_t aot_run_words[5]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), aot_gpr_16}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(32), aot_run_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(60), aot_gpr_31); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_16 = (ctx.gpr[6] | 0u); + aot_gpr_16 = (aot_gpr_6 | 0u); if (branch_taken) { goto L_08911518; } @@ -4168,7 +4169,7 @@ L_089114EC: goto L_089114F0; L_089114F0: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(80))); - ctx.gpr[6] = (0u | 89u); + aot_gpr_6 = (0u | 89u); aot_gpr_31 = (0x08911500u); ctx.gpr[7] = (0u | 414u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 635u, 0x0893E914u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08911500u) goto L_08911500; @@ -4177,7 +4178,7 @@ L_08911500: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x0891150Cu); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891150Cu) goto L_0891150C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891150Cu) goto L_0891150C; AOT_REGCACHE_SYNC_OUT(); return; L_0891150C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(476))); @@ -4195,7 +4196,7 @@ L_08911518: L_08911520: aot_gpr_31 = (0x08911528u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08911528u) goto L_08911528; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08911528u) goto L_08911528; AOT_REGCACHE_SYNC_OUT(); return; L_08911528: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -4208,7 +4209,7 @@ L_08911528: L_08911530: aot_gpr_31 = (0x08911538u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08911538u) goto L_08911538; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08911538u) goto L_08911538; AOT_REGCACHE_SYNC_OUT(); return; L_08911538: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(48)))))); @@ -4223,7 +4224,7 @@ L_08911538: L_08911548: aot_gpr_31 = (0x08911550u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08911550u) goto L_08911550; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08911550u) goto L_08911550; AOT_REGCACHE_SYNC_OUT(); return; L_08911550: aot_gpr_4 = (50298u << 16u); @@ -4247,7 +4248,7 @@ L_08911574: ctx.gpr[8] = (16256u << 16u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(80))); aot_fpr_12 = std::bit_cast(ctx.gpr[8]); - ctx.gpr[6] = (0u | 89u); + aot_gpr_6 = (0u | 89u); aot_gpr_31 = (0x0891158Cu); ctx.gpr[7] = (0u | 414u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 650u, 0x0893EA14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891158Cu) goto L_0891158C; @@ -4256,7 +4257,7 @@ L_0891158C: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08911598u); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08911598u) goto L_08911598; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08911598u) goto L_08911598; AOT_REGCACHE_SYNC_OUT(); return; L_08911598: { const bool branch_taken = 0u == 0u; @@ -4267,7 +4268,7 @@ L_08911598: goto L_089115A0; } L_089115A0: - { const bool branch_taken = aot_gpr_17 == 0u; + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_08911728; @@ -4275,7 +4276,7 @@ L_089115A0: goto L_089115A8; } L_089115A8: - aot_gpr_4 = (aot_gpr_17 + static_cast(48)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -4324,7 +4325,7 @@ L_089115A8: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), std::bit_cast(aot_fpr_20)); aot_gpr_31 = (0x089115F0u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089115F0u) goto L_089115F0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089115F0u) goto L_089115F0; AOT_REGCACHE_SYNC_OUT(); return; L_089115F0: aot_gpr_4 = (16256u << 16u); @@ -4338,7 +4339,7 @@ L_089115F0: L_089115FC: aot_gpr_31 = (0x08911604u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08911604u) goto L_08911604; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08911604u) goto L_08911604; AOT_REGCACHE_SYNC_OUT(); return; L_08911604: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(48)))))); @@ -4353,7 +4354,7 @@ L_08911604: L_08911614: aot_gpr_31 = (0x0891161Cu); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891161Cu) goto L_0891161C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891161Cu) goto L_0891161C; AOT_REGCACHE_SYNC_OUT(); return; L_0891161C: aot_gpr_4 = (50298u << 16u); @@ -4378,7 +4379,7 @@ L_0891163C: L_08911640: aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[22])); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(80))); - ctx.gpr[6] = (0u | 89u); + aot_gpr_6 = (0u | 89u); aot_gpr_31 = (0x08911654u); ctx.gpr[7] = (0u | 413u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 650u, 0x0893EA14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08911654u) goto L_08911654; @@ -4387,12 +4388,12 @@ L_08911654: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08911660u); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08911660u) goto L_08911660; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08911660u) goto L_08911660; AOT_REGCACHE_SYNC_OUT(); return; L_08911660: aot_gpr_31 = (0x08911668u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08911668u) goto L_08911668; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08911668u) goto L_08911668; AOT_REGCACHE_SYNC_OUT(); return; L_08911668: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -4430,7 +4431,7 @@ L_08911670: { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[24] = std::bit_cast(0x7FC00000u); else ctx.fpr[24] = fs * ft; } aot_gpr_31 = (0x0891169Cu); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891169Cu) goto L_0891169C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891169Cu) goto L_0891169C; AOT_REGCACHE_SYNC_OUT(); return; L_0891169C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(32))); @@ -4438,13 +4439,13 @@ L_0891169C: { const float fs = ctx.fpr[24]; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[22] = std::bit_cast(0x7FC00000u); else ctx.fpr[22] = fs * ft; } aot_gpr_31 = (0x089116B0u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089116B0u) goto L_089116B0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089116B0u) goto L_089116B0; AOT_REGCACHE_SYNC_OUT(); return; L_089116B0: ctx.fpr[26] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(40))); aot_gpr_31 = (0x089116BCu); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089116BCu) goto L_089116BC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089116BCu) goto L_089116BC; AOT_REGCACHE_SYNC_OUT(); return; L_089116BC: aot_fpr_12 = ctx.fpr[22] - ctx.fpr[26]; @@ -4460,7 +4461,7 @@ L_089116BC: L_089116DC: aot_gpr_31 = (0x089116E4u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089116E4u) goto L_089116E4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089116E4u) goto L_089116E4; AOT_REGCACHE_SYNC_OUT(); return; L_089116E4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(8))); @@ -4503,7 +4504,7 @@ L_089116F4: L_0891171C: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08911728u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); goto L_08912718; L_08911728: { std::uint32_t aot_run_words[8]{}; @@ -4513,7 +4514,7 @@ L_08911728: ctx.fpr[24] = std::bit_cast(aot_run_words[2]); ctx.fpr[26] = std::bit_cast(aot_run_words[3]); aot_gpr_16 = aot_run_words[4]; - aot_gpr_17 = aot_run_words[5]; + ctx.gpr[17] = aot_run_words[5]; ctx.gpr[18] = aot_run_words[6]; aot_gpr_31 = aot_run_words[7]; } @@ -4624,7 +4625,7 @@ L_089117B8: ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(8), aot_run_words); } - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), ctx.gpr[18]); { const std::uint32_t aot_run_words[3]{ctx.gpr[20], ctx.gpr[21], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(36), aot_run_words); } @@ -4642,7 +4643,7 @@ L_089117F4: goto L_08911800; } L_08911800: - aot_gpr_17 = (aot_gpr_29 + static_cast(4)); + ctx.gpr[17] = (aot_gpr_29 + static_cast(4)); aot_fpr_20 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(48)))))); goto L_0891180C; @@ -4664,7 +4665,7 @@ L_0891180C: L_08911830: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); - ctx.gpr[6] = (aot_gpr_17 | 0u); + aot_gpr_6 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08911844u); ctx.gpr[7] = (aot_gpr_29 | 0u); goto L_089119D0; @@ -4680,7 +4681,7 @@ L_08911844: L_08911850: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); - ctx.gpr[6] = (aot_gpr_17 | 0u); + aot_gpr_6 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08911864u); ctx.gpr[7] = (aot_gpr_29 | 0u); goto L_08911A90; @@ -4700,7 +4701,7 @@ L_08911874: ctx.gpr[20] = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(16))); ctx.gpr[7] = (aot_gpr_4 | 0u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); ctx.fpr[24] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(36))); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08911894u); @@ -4742,8 +4743,8 @@ L_089118E8: goto L_089118F4; L_089118F4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2228))); - ctx.gpr[6] = (0u | 58u); - { const bool branch_taken = aot_gpr_4 == ctx.gpr[6]; + aot_gpr_6 = (0u | 58u); + { const bool branch_taken = aot_gpr_4 == aot_gpr_6; aot_gpr_5 = (0u | 0u); if (branch_taken) { goto L_08911910; @@ -4751,8 +4752,8 @@ L_089118F4: goto L_08911904; } L_08911904: - ctx.gpr[6] = (0u | 57u); - { const bool branch_taken = aot_gpr_4 != ctx.gpr[6]; + aot_gpr_6 = (0u | 57u); + { const bool branch_taken = aot_gpr_4 != aot_gpr_6; aot_gpr_4 = (aot_gpr_5 & 255u); if (branch_taken) { goto L_08911918; @@ -4788,7 +4789,7 @@ L_08911938: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); aot_fpr_12 = std::bit_cast(ctx.gpr[8]); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x08911954u); ctx.gpr[7] = (0u | 152u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 163u, 0x089088F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08911954u) goto L_08911954; @@ -4824,7 +4825,7 @@ L_089119A0: ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); aot_gpr_16 = aot_run_words[3]; - aot_gpr_17 = aot_run_words[4]; + ctx.gpr[17] = aot_run_words[4]; ctx.gpr[18] = aot_run_words[5]; ctx.gpr[19] = aot_run_words[6]; ctx.gpr[20] = aot_run_words[7]; @@ -4861,7 +4862,7 @@ L_089119E4: AOT_REGCACHE_SYNC_OUT(); return; L_089119FC: aot_gpr_4 = (0u | 60u); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(0), aot_gpr_4); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(0), aot_gpr_4); aot_gpr_4 = (0u | 250u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(0), aot_gpr_4); @@ -4872,7 +4873,7 @@ L_089119FC: } L_08911A10: aot_gpr_4 = (0u | 60u); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(0), aot_gpr_4); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(0), aot_gpr_4); aot_gpr_4 = (0u | 251u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(0), aot_gpr_4); @@ -4883,7 +4884,7 @@ L_08911A10: } L_08911A24: aot_gpr_4 = (0u | 60u); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(0), aot_gpr_4); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(0), aot_gpr_4); aot_gpr_4 = (0u | 252u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(0), aot_gpr_4); @@ -4894,7 +4895,7 @@ L_08911A24: } L_08911A38: aot_gpr_4 = (0u | 60u); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(0), aot_gpr_4); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(0), aot_gpr_4); aot_gpr_4 = (0u | 253u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(0), aot_gpr_4); @@ -4905,7 +4906,7 @@ L_08911A38: } L_08911A4C: aot_gpr_4 = (0u | 60u); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(0), aot_gpr_4); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(0), aot_gpr_4); aot_gpr_4 = (0u | 256u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(0), aot_gpr_4); @@ -4916,7 +4917,7 @@ L_08911A4C: } L_08911A60: aot_gpr_4 = (0u | 60u); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(0), aot_gpr_4); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(0), aot_gpr_4); aot_gpr_4 = (0u | 254u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(0), aot_gpr_4); @@ -4927,7 +4928,7 @@ L_08911A60: } L_08911A74: aot_gpr_4 = (0u | 60u); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(0), aot_gpr_4); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(0), aot_gpr_4); aot_gpr_4 = (0u | 255u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(0), aot_gpr_4); @@ -4949,16 +4950,16 @@ L_08911A90: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); aot_gpr_16 = (ctx.gpr[7] | 0u); ctx.gpr[18] = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); aot_gpr_31 = (0x08911AB4u); - aot_gpr_17 = (ctx.gpr[6] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08911AB4u) goto L_08911AB4; + ctx.gpr[17] = (aot_gpr_6 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08911AB4u) goto L_08911AB4; AOT_REGCACHE_SYNC_OUT(); return; L_08911AB4: aot_gpr_31 = (0x08911ABCu); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08911ABCu) goto L_08911ABC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08911ABCu) goto L_08911ABC; AOT_REGCACHE_SYNC_OUT(); return; L_08911ABC: { const bool branch_taken = ctx.gpr[2] != 0u; @@ -4969,7 +4970,7 @@ L_08911ABC: goto L_08911AC4; } L_08911AC4: - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), 0u); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), 0u); { const bool branch_taken = 0u == 0u; ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); if (branch_taken) { @@ -4982,7 +4983,7 @@ L_08911AD0: aot_gpr_4 = (ctx.gpr[18] | 0u); goto L_08910DB8; L_08911AD8: - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), ctx.gpr[2]); ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); goto L_08911AE0; L_08911AE0: @@ -5052,7 +5053,7 @@ L_08911B38: goto L_08911B44; } L_08911B44: - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), 0u); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), 0u); aot_gpr_4 = (0u | 8u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), aot_gpr_4); @@ -5062,7 +5063,7 @@ L_08911B44: goto L_08911B54; } L_08911B54: - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), 0u); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), 0u); aot_gpr_4 = (0u | 9u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), aot_gpr_4); @@ -5075,7 +5076,7 @@ L_08911B64: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -5091,8 +5092,8 @@ L_08911B7C: aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_5 = (2234u << 16u); aot_gpr_4 = (aot_gpr_29 | 0u); - ctx.gpr[6] = (0u | 76u); - { const std::uint32_t aot_run_words[3]{aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + aot_gpr_6 = (0u | 76u); + { const std::uint32_t aot_run_words[3]{ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(80), aot_run_words); } aot_gpr_31 = (0x08911BA8u); aot_gpr_5 = (aot_gpr_5 + static_cast(-9256)); @@ -5101,8 +5102,8 @@ L_08911B7C: L_08911BA8: ctx.gpr[18] = (aot_gpr_29 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); - aot_gpr_17 = (0u | 173u); - { const bool branch_taken = aot_gpr_4 == aot_gpr_17; + ctx.gpr[17] = (0u | 173u); + { const bool branch_taken = aot_gpr_4 == ctx.gpr[17]; // nop if (branch_taken) { goto L_08911BF0; @@ -5110,7 +5111,7 @@ L_08911BA8: goto L_08911BBC; } L_08911BBC: - ctx.gpr[6] = (aot_gpr_4 | 0u); + aot_gpr_6 = (aot_gpr_4 | 0u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); aot_gpr_31 = (0x08911BCCu); aot_gpr_4 = (aot_gpr_16 | 0u); @@ -5133,7 +5134,7 @@ L_08911BD8: L_08911BE0: ctx.gpr[18] = (ctx.gpr[18] + static_cast(4)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); - { const bool branch_taken = aot_gpr_4 != aot_gpr_17; + { const bool branch_taken = aot_gpr_4 != ctx.gpr[17]; // nop if (branch_taken) { goto L_08911BBC; @@ -5144,7 +5145,7 @@ L_08911BF0: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(76), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -5158,18 +5159,18 @@ L_08911C08: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08911C24u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08911C24u) goto L_08911C24; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08911C24u) goto L_08911C24; AOT_REGCACHE_SYNC_OUT(); return; L_08911C24: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1152))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(852))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(852))); aot_gpr_5 = (0u | 6u); - { const bool branch_taken = ctx.gpr[6] == aot_gpr_5; - aot_gpr_17 = (32768u << 16u); + { const bool branch_taken = aot_gpr_6 == aot_gpr_5; + ctx.gpr[17] = (32768u << 16u); if (branch_taken) { goto L_08911D14; } @@ -5177,8 +5178,8 @@ L_08911C24: } L_08911C38: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(852))); - ctx.gpr[6] = (0u | 9u); - { const bool branch_taken = aot_gpr_5 != ctx.gpr[6]; + aot_gpr_6 = (0u | 9u); + { const bool branch_taken = aot_gpr_5 != aot_gpr_6; // nop if (branch_taken) { goto L_08911C8C; @@ -5194,7 +5195,7 @@ L_08911C48: L_08911C54: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (0u | 59u); + aot_gpr_6 = (0u | 59u); aot_gpr_31 = (0x08911C68u); ctx.gpr[7] = (0u | 249u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 175u, 0x089089B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08911C68u) goto L_08911C68; @@ -5210,8 +5211,8 @@ L_08911C68: } L_08911C74: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); - ctx.gpr[6] = (0u + static_cast(-2)); - aot_gpr_5 = (aot_gpr_5 & ctx.gpr[6]); + aot_gpr_6 = (0u + static_cast(-2)); + aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(8), aot_gpr_5); goto L_08911C84; L_08911C84: @@ -5252,10 +5253,10 @@ L_08911CA8: L_08911CB0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(468))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); - aot_gpr_4 = (aot_gpr_4 | aot_gpr_17); + aot_gpr_4 = (aot_gpr_4 | ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(468), aot_gpr_4); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (0u | 59u); + aot_gpr_6 = (0u | 59u); aot_gpr_31 = (0x08911CD0u); ctx.gpr[7] = (0u | 242u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 175u, 0x089089B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08911CD0u) goto L_08911CD0; @@ -5276,7 +5277,7 @@ L_08911CD8: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(468), aot_gpr_4); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (0u | 59u); + aot_gpr_6 = (0u | 59u); aot_gpr_31 = (0x08911D00u); ctx.gpr[7] = (0u | 235u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 175u, 0x089089B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08911D00u) goto L_08911D00; @@ -5286,28 +5287,28 @@ L_08911D00: goto L_08911D04; L_08911D04: aot_gpr_5 = (2193u << 16u); - ctx.gpr[6] = (aot_gpr_16 | 0u); + aot_gpr_6 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08911D14u); aot_gpr_5 = (aot_gpr_5 + static_cast(-12812)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08911D14u) goto L_08911D14; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08911D14u) goto L_08911D14; AOT_REGCACHE_SYNC_OUT(); return; L_08911D14: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(472))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(468))); - aot_gpr_5 = (aot_gpr_5 & aot_gpr_17); - aot_gpr_17 = (aot_gpr_4 | 1u); + aot_gpr_5 = (aot_gpr_5 & ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_4 | 1u); { const bool branch_taken = aot_gpr_5 == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(472), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(472), ctx.gpr[17]); if (branch_taken) { goto L_08911D3C; } goto L_08911D2C; } L_08911D2C: - aot_gpr_17 = (aot_gpr_17 | 2u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(472), aot_gpr_17); + ctx.gpr[17] = (ctx.gpr[17] | 2u); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(472), ctx.gpr[17]); { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (aot_gpr_17 | 4u); + ctx.gpr[17] = (ctx.gpr[17] | 4u); if (branch_taken) { goto L_08911D4C; } @@ -5315,18 +5316,18 @@ L_08911D2C: } L_08911D3C: aot_gpr_4 = (0u + static_cast(-3)); - aot_gpr_17 = (aot_gpr_17 & aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(472), aot_gpr_17); - aot_gpr_17 = (aot_gpr_17 | 4u); + ctx.gpr[17] = (ctx.gpr[17] & aot_gpr_4); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(472), ctx.gpr[17]); + ctx.gpr[17] = (ctx.gpr[17] | 4u); goto L_08911D4C; L_08911D4C: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(472), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(472), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(1744), 0u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(1748), 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -5340,7 +5341,7 @@ L_08911D6C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1152))); - { const std::uint32_t aot_run_words[3]{aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(4), aot_run_words); } { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -5351,8 +5352,8 @@ L_08911D6C: } L_08911D90: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(852))); - ctx.gpr[6] = (0u | 1u); - { const bool branch_taken = aot_gpr_5 == ctx.gpr[6]; + aot_gpr_6 = (0u | 1u); + { const bool branch_taken = aot_gpr_5 == aot_gpr_6; // nop if (branch_taken) { goto L_08911DBC; @@ -5364,7 +5365,7 @@ L_08911DA0: ctx.gpr[18] = (0u | 1u); aot_gpr_5 = (aot_gpr_5 & 8u); { const bool branch_taken = aot_gpr_5 == 0u; - aot_gpr_17 = (aot_gpr_16 + static_cast(1396)); + ctx.gpr[17] = (aot_gpr_16 + static_cast(1396)); if (branch_taken) { goto L_08911DC4; } @@ -5439,9 +5440,9 @@ L_08911E00: aot_gpr_5 = (aot_gpr_4 << 5u); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); - aot_gpr_4 = (aot_gpr_17 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[17] + aot_gpr_4); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); if (branch_taken) { goto L_08911E60; } @@ -5449,25 +5450,25 @@ L_08911E00: } L_08911E1C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - ctx.gpr[6] = (0u | 24u); - if (aot_gpr_5 == ctx.gpr[6]) { - aot_gpr_17 = (0u | 1u); + aot_gpr_6 = (0u | 24u); + if (aot_gpr_5 == aot_gpr_6) { + ctx.gpr[17] = (0u | 1u); goto L_08911E60; } goto L_08911E2C; L_08911E2C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - ctx.gpr[6] = (0u | 25u); - if (aot_gpr_5 == ctx.gpr[6]) { - aot_gpr_17 = (0u | 1u); + aot_gpr_6 = (0u | 25u); + if (aot_gpr_5 == aot_gpr_6) { + ctx.gpr[17] = (0u | 1u); goto L_08911E60; } goto L_08911E3C; L_08911E3C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - ctx.gpr[6] = (0u | 26u); - if (aot_gpr_5 == ctx.gpr[6]) { - aot_gpr_17 = (0u | 1u); + aot_gpr_6 = (0u | 26u); + if (aot_gpr_5 == aot_gpr_6) { + ctx.gpr[17] = (0u | 1u); goto L_08911E60; } goto L_08911E4C; @@ -5475,17 +5476,17 @@ L_08911E4C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_5 = (0u | 27u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; - aot_gpr_4 = (aot_gpr_17 & 255u); + aot_gpr_4 = (ctx.gpr[17] & 255u); if (branch_taken) { goto L_08911E64; } goto L_08911E5C; } L_08911E5C: - aot_gpr_17 = (0u | 1u); + ctx.gpr[17] = (0u | 1u); goto L_08911E60; L_08911E60: - aot_gpr_4 = (aot_gpr_17 & 255u); + aot_gpr_4 = (ctx.gpr[17] & 255u); goto L_08911E64; L_08911E64: { const bool branch_taken = aot_gpr_4 != 0u; @@ -5566,8 +5567,8 @@ L_08911ED0: L_08911ED8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1152))); aot_gpr_5 = (0u | 6u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(852))); - { const bool branch_taken = ctx.gpr[6] != aot_gpr_5; + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(852))); + { const bool branch_taken = aot_gpr_6 != aot_gpr_5; // nop if (branch_taken) { goto L_08911F08; @@ -5631,7 +5632,7 @@ L_08911F3C: L_08911F48: aot_gpr_31 = (0x08911F50u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08911F50u) goto L_08911F50; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08911F50u) goto L_08911F50; AOT_REGCACHE_SYNC_OUT(); return; L_08911F50: { const bool branch_taken = ctx.gpr[2] != 0u; @@ -5671,7 +5672,7 @@ L_08911F80: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -5683,7 +5684,7 @@ L_08911F80: AOT_REGCACHE_SYNC_OUT(); return; L_08911F98: aot_gpr_29 = (aot_gpr_29 + static_cast(-160)); - { const std::uint32_t aot_run_words[7]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; + { const std::uint32_t aot_run_words[7]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(128), aot_run_words); } aot_gpr_16 = (aot_gpr_4 | 0u); { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); @@ -5695,9 +5696,9 @@ L_08911F98: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_17 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[17] = (aot_gpr_29 + static_cast(16)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(96), 0u); @@ -5722,7 +5723,7 @@ L_08911FEC: aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08912018u); - ctx.gpr[6] = (aot_gpr_17 | 0u); + aot_gpr_6 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 178u, 0x08904B64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08912018u) goto L_08912018; AOT_REGCACHE_SYNC_OUT(); return; L_08912018: @@ -5736,10 +5737,10 @@ L_08912018: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -5756,7 +5757,7 @@ L_08912018: ctx.execute_vfpu_vscl_ct<1u, 1u, 28u, 3u>(); ctx.execute_vfpu_vcmov_ct<1u, 0u, 3u, 0u, false>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<1u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); @@ -5768,7 +5769,7 @@ L_08912018: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -5782,7 +5783,7 @@ L_08912018: aot_fpr_12 = std::bit_cast(aot_gpr_4); { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[22]), std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_20)}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -5812,9 +5813,9 @@ L_08912018: } goto L_08912088; L_08912088: - ctx.gpr[6] = (16128u << 16u); + aot_gpr_6 = (16128u << 16u); aot_gpr_5 = (aot_gpr_4 & 255u); - aot_fpr_13 = std::bit_cast(ctx.gpr[6]); + aot_fpr_13 = std::bit_cast(aot_gpr_6); aot_gpr_4 = (0u | 0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); // nop @@ -5836,7 +5837,7 @@ L_089120B4: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x089120C4u); - ctx.gpr[6] = (0u | 203u); + aot_gpr_6 = (0u | 203u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089120C4u) goto L_089120C4; AOT_REGCACHE_SYNC_OUT(); return; L_089120C4: @@ -5869,14 +5870,14 @@ L_089120EC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1152))); goto L_089120F0; L_089120F0: - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(92))); aot_gpr_5 = (aot_gpr_5 + static_cast(376)); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); jump_target = aot_gpr_5; aot_gpr_31 = (0x0891210Cu); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891210Cu) goto L_0891210C; AOT_REGCACHE_SYNC_OUT(); return; @@ -5884,8 +5885,8 @@ L_0891210C: ctx.gpr[8] = (16640u << 16u); aot_gpr_4 = (aot_gpr_16 | 0u); aot_fpr_12 = std::bit_cast(ctx.gpr[8]); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[6] = (ctx.gpr[2] | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_6 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08912128u); ctx.gpr[7] = (0u | 203u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 163u, 0x089088F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08912128u) goto L_08912128; @@ -5910,7 +5911,7 @@ L_08912138: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08912148u); - ctx.gpr[6] = (0u | 202u); + aot_gpr_6 = (0u | 202u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08912148u) goto L_08912148; AOT_REGCACHE_SYNC_OUT(); return; L_08912148: @@ -5943,14 +5944,14 @@ L_08912170: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1152))); goto L_08912174; L_08912174: - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(92))); aot_gpr_5 = (aot_gpr_5 + static_cast(376)); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); jump_target = aot_gpr_5; aot_gpr_31 = (0x08912190u); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08912190u) goto L_08912190; AOT_REGCACHE_SYNC_OUT(); return; @@ -5958,8 +5959,8 @@ L_08912190: ctx.gpr[8] = (16640u << 16u); aot_gpr_4 = (aot_gpr_16 | 0u); aot_fpr_12 = std::bit_cast(ctx.gpr[8]); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[6] = (ctx.gpr[2] | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_6 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x089121ACu); ctx.gpr[7] = (0u | 202u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 163u, 0x089088F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089121ACu) goto L_089121AC; @@ -5976,7 +5977,7 @@ L_089121B4: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x089121C4u); - ctx.gpr[6] = (0u | 201u); + aot_gpr_6 = (0u | 201u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089121C4u) goto L_089121C4; AOT_REGCACHE_SYNC_OUT(); return; L_089121C4: @@ -6009,14 +6010,14 @@ L_089121EC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1152))); goto L_089121F0; L_089121F0: - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(92))); aot_gpr_5 = (aot_gpr_5 + static_cast(376)); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); jump_target = aot_gpr_5; aot_gpr_31 = (0x0891220Cu); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891220Cu) goto L_0891220C; AOT_REGCACHE_SYNC_OUT(); return; @@ -6024,8 +6025,8 @@ L_0891220C: ctx.gpr[8] = (16640u << 16u); aot_gpr_4 = (aot_gpr_16 | 0u); aot_fpr_12 = std::bit_cast(ctx.gpr[8]); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[6] = (ctx.gpr[2] | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_6 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08912228u); ctx.gpr[7] = (0u | 201u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 163u, 0x089088F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08912228u) goto L_08912228; @@ -6063,7 +6064,7 @@ L_08912258: aot_fpr_20 = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); aot_gpr_16 = aot_run_words[2]; - aot_gpr_17 = aot_run_words[3]; + ctx.gpr[17] = aot_run_words[3]; ctx.gpr[18] = aot_run_words[4]; ctx.gpr[19] = aot_run_words[5]; aot_gpr_31 = aot_run_words[6]; @@ -6076,7 +6077,7 @@ L_08912258: AOT_REGCACHE_SYNC_OUT(); return; L_0891227C: aot_gpr_29 = (aot_gpr_29 + static_cast(-160)); - { const std::uint32_t aot_run_words[8]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; + { const std::uint32_t aot_run_words[8]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(128), aot_run_words); } aot_gpr_16 = (aot_gpr_4 | 0u); { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); @@ -6088,9 +6089,9 @@ L_0891227C: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_17 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[17] = (aot_gpr_29 + static_cast(16)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(96), 0u); @@ -6115,7 +6116,7 @@ L_089122D4: aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08912300u); - ctx.gpr[6] = (aot_gpr_17 | 0u); + aot_gpr_6 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 178u, 0x08904B64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08912300u) goto L_08912300; AOT_REGCACHE_SYNC_OUT(); return; L_08912300: @@ -6129,10 +6130,10 @@ L_08912300: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -6149,7 +6150,7 @@ L_08912300: ctx.execute_vfpu_vscl_ct<1u, 1u, 28u, 3u>(); ctx.execute_vfpu_vcmov_ct<1u, 0u, 3u, 0u, false>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<1u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); @@ -6161,7 +6162,7 @@ L_08912300: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -6175,7 +6176,7 @@ L_08912300: aot_fpr_12 = std::bit_cast(aot_gpr_4); { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[24])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -6206,12 +6207,12 @@ L_08912300: goto L_08912370; L_08912370: aot_gpr_5 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(80))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(80))); aot_gpr_16 = (aot_gpr_4 & 255u); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (ctx.gpr[6] | 0u); + aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x0891238Cu); - ctx.gpr[6] = (0u | 249u); + aot_gpr_6 = (0u | 249u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891238Cu) goto L_0891238C; AOT_REGCACHE_SYNC_OUT(); return; L_0891238C: @@ -6279,7 +6280,7 @@ L_089123F4: ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); aot_gpr_16 = aot_run_words[3]; - aot_gpr_17 = aot_run_words[4]; + ctx.gpr[17] = aot_run_words[4]; ctx.gpr[18] = aot_run_words[5]; ctx.gpr[19] = aot_run_words[6]; aot_gpr_31 = aot_run_words[7]; @@ -6294,12 +6295,12 @@ L_0891241C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1152))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(852))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(852))); aot_gpr_5 = (0u | 9u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); - { const bool branch_taken = ctx.gpr[6] == aot_gpr_5; + { const bool branch_taken = aot_gpr_6 == aot_gpr_5; aot_gpr_16 = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08912528; @@ -6320,7 +6321,7 @@ L_08912454: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08912464u); - ctx.gpr[6] = (0u | 203u); + aot_gpr_6 = (0u | 203u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08912464u) goto L_08912464; AOT_REGCACHE_SYNC_OUT(); return; L_08912464: @@ -6328,15 +6329,15 @@ L_08912464: ctx.gpr[18] = (ctx.gpr[2] | 0u); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08912478u); - ctx.gpr[6] = (0u | 201u); + aot_gpr_6 = (0u | 201u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08912478u) goto L_08912478; AOT_REGCACHE_SYNC_OUT(); return; L_08912478: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); - aot_gpr_17 = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (ctx.gpr[2] | 0u); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0891248Cu); - ctx.gpr[6] = (0u | 202u); + aot_gpr_6 = (0u | 202u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891248Cu) goto L_0891248C; AOT_REGCACHE_SYNC_OUT(); return; L_0891248C: @@ -6353,7 +6354,7 @@ L_08912494: aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(36), std::bit_cast(aot_fpr_12)); goto L_089124A0; L_089124A0: - { const bool branch_taken = aot_gpr_17 == 0u; + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_089124B4; @@ -6363,7 +6364,7 @@ L_089124A0: L_089124A8: aot_gpr_5 = (50298u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(36), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(36), std::bit_cast(aot_fpr_12)); goto L_089124B4; L_089124B4: if (aot_gpr_4 == 0u) { @@ -6378,14 +6379,14 @@ L_089124BC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1152))); goto L_089124CC; L_089124CC: - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(92))); aot_gpr_5 = (aot_gpr_5 + static_cast(376)); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); jump_target = aot_gpr_5; aot_gpr_31 = (0x089124E8u); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089124E8u) goto L_089124E8; AOT_REGCACHE_SYNC_OUT(); return; @@ -6393,8 +6394,8 @@ L_089124E8: ctx.gpr[8] = (16256u << 16u); aot_gpr_4 = (aot_gpr_16 | 0u); aot_fpr_12 = std::bit_cast(ctx.gpr[8]); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[6] = (ctx.gpr[2] | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_6 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08912504u); ctx.gpr[7] = (0u | 204u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 163u, 0x089088F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08912504u) goto L_08912504; @@ -6412,7 +6413,7 @@ L_0891250C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_fpr_12 = std::bit_cast(ctx.gpr[8]); aot_gpr_5 = (ctx.gpr[18] | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x08912528u); ctx.gpr[7] = (0u | 99u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 163u, 0x089088F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08912528u) goto L_08912528; @@ -6431,7 +6432,7 @@ L_0891252C: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -6446,10 +6447,10 @@ L_08912560: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); - { const std::uint32_t aot_run_words[5]{aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; + { const std::uint32_t aot_run_words[5]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(20), aot_run_words); } aot_gpr_31 = (0x0891258Cu); - ctx.gpr[6] = (0u | 235u); + aot_gpr_6 = (0u | 235u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891258Cu) goto L_0891258C; AOT_REGCACHE_SYNC_OUT(); return; L_0891258C: @@ -6475,7 +6476,7 @@ L_089125A8: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x089125B8u); - ctx.gpr[6] = (0u | 242u); + aot_gpr_6 = (0u | 242u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089125B8u) goto L_089125B8; AOT_REGCACHE_SYNC_OUT(); return; L_089125B8: @@ -6524,11 +6525,11 @@ L_089125E8: aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); aot_gpr_31 = (0x0891260Cu); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891260Cu) goto L_0891260C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891260Cu) goto L_0891260C; AOT_REGCACHE_SYNC_OUT(); return; L_0891260C: - aot_gpr_17 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_17 != 0u; + ctx.gpr[17] = (ctx.gpr[2] | 0u); + { const bool branch_taken = ctx.gpr[17] != 0u; // nop if (branch_taken) { goto L_08912628; @@ -6564,7 +6565,7 @@ L_08912630: goto L_08912638; } L_08912638: - aot_gpr_4 = (aot_gpr_17 + static_cast(48)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -6583,22 +6584,22 @@ L_08912638: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0038_entry, 38u, 621u, 0x0889EB08u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891264Cu) goto L_0891264C; AOT_REGCACHE_SYNC_OUT(); return; L_0891264C: - aot_gpr_17 = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (ctx.gpr[2] | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(724))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); aot_gpr_31 = (0x08912660u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 251u, 0x08969194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08912660u) goto L_08912660; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08969194, 89u, 251u, 0x08969194u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 251u, 0x08969194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08912660u) goto L_08912660; AOT_REGCACHE_SYNC_OUT(); return; L_08912660: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0891266Cu); - aot_gpr_17 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891266Cu) goto L_0891266C; + ctx.gpr[17] = (ctx.gpr[2] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0896918C, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891266Cu) goto L_0891266C; AOT_REGCACHE_SYNC_OUT(); return; L_0891266C: - aot_gpr_17 = (aot_gpr_17 << 6u); - aot_gpr_17 = (ctx.gpr[2] + aot_gpr_17); + ctx.gpr[17] = (ctx.gpr[17] << 6u); + ctx.gpr[17] = (ctx.gpr[2] + ctx.gpr[17]); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); ctx.gpr[19] = (aot_gpr_4 + static_cast(240)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(0)))))); @@ -6607,9 +6608,9 @@ L_0891266C: aot_gpr_4 = (aot_gpr_16 | 0u); goto L_089101A4; L_0891268C: - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(4))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(4))); aot_gpr_4 = (ctx.gpr[20] | 0u); - jump_target = ctx.gpr[6]; + jump_target = aot_gpr_6; aot_gpr_31 = (0x0891269Cu); aot_gpr_5 = (ctx.gpr[2] | 0u); ctx.pc = jump_target; @@ -6626,14 +6627,14 @@ L_0891269C: L_089126A4: aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_5 = (aot_gpr_29 | 0u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_gpr_31 = (0x089126B8u); - ctx.gpr[7] = (aot_gpr_17 | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 239u, 0x088619ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089126B8u) goto L_089126B8; AOT_REGCACHE_SYNC_OUT(); return; L_089126B8: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1929)))))); - ctx.gpr[6] = (aot_gpr_29 | 0u); + aot_gpr_6 = (aot_gpr_29 | 0u); aot_gpr_5 = (aot_gpr_4 << 5u); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); @@ -6647,11 +6648,11 @@ L_089126DC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); aot_gpr_5 = (0u | 0u); aot_gpr_4 = (aot_gpr_4 + static_cast(240)); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x089126F8u); - aot_gpr_4 = (aot_gpr_16 + ctx.gpr[6]); + aot_gpr_4 = (aot_gpr_16 + aot_gpr_6); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089126F8u) goto L_089126F8; AOT_REGCACHE_SYNC_OUT(); return; @@ -6659,7 +6660,7 @@ L_089126F8: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -6673,8 +6674,8 @@ L_089126F8: AOT_REGCACHE_SYNC_OUT(); return; L_08912718: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_17); - aot_gpr_17 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_16); { const std::uint32_t aot_run_words[3]{ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(24), aot_run_words); } @@ -6682,16 +6683,16 @@ L_08912718: aot_gpr_16 = (aot_gpr_5 | 0u); goto L_08912E78; L_0891273C: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(1929)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(1929)))))); aot_gpr_5 = (aot_gpr_4 << 5u); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); - aot_gpr_4 = (aot_gpr_17 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[17] + aot_gpr_4); ctx.gpr[18] = (ctx.gpr[2] | 0u); aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); aot_gpr_31 = (0x08912760u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08912760u) goto L_08912760; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08912760u) goto L_08912760; AOT_REGCACHE_SYNC_OUT(); return; L_08912760: aot_gpr_4 = (ctx.gpr[2] | 0u); @@ -6718,32 +6719,32 @@ L_0891276C: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_31 = (0x08912780u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(80))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(80))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0038_entry, 38u, 621u, 0x0889EB08u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08912780u) goto L_08912780; AOT_REGCACHE_SYNC_OUT(); return; L_08912780: aot_gpr_16 = (ctx.gpr[2] | 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(724))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(724))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); aot_gpr_31 = (0x08912794u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 251u, 0x08969194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08912794u) goto L_08912794; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08969194, 89u, 251u, 0x08969194u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 251u, 0x08969194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08912794u) goto L_08912794; AOT_REGCACHE_SYNC_OUT(); return; L_08912794: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x089127A0u); aot_gpr_16 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089127A0u) goto L_089127A0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0896918C, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089127A0u) goto L_089127A0; AOT_REGCACHE_SYNC_OUT(); return; L_089127A0: aot_gpr_16 = (aot_gpr_16 << 6u); aot_gpr_16 = (ctx.gpr[2] + aot_gpr_16); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(92))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(92))); aot_gpr_5 = (aot_gpr_4 + static_cast(240)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); - aot_gpr_4 = (aot_gpr_17 + aot_gpr_4); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); - jump_target = ctx.gpr[6]; + aot_gpr_4 = (ctx.gpr[17] + aot_gpr_4); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); + jump_target = aot_gpr_6; aot_gpr_31 = (0x089127C4u); aot_gpr_5 = (ctx.gpr[19] | 0u); ctx.pc = jump_target; @@ -6760,32 +6761,32 @@ L_089127C4: L_089127CC: aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_5 = (aot_gpr_29 | 0u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_gpr_31 = (0x089127E0u); ctx.gpr[7] = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 239u, 0x088619ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089127E0u) goto L_089127E0; AOT_REGCACHE_SYNC_OUT(); return; L_089127E0: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(1929)))))); - ctx.gpr[6] = (aot_gpr_29 | 0u); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(1929)))))); + aot_gpr_6 = (aot_gpr_29 | 0u); aot_gpr_5 = (aot_gpr_4 << 5u); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); - aot_gpr_4 = (aot_gpr_17 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[17] + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); aot_gpr_31 = (0x08912804u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0144_entry, 144u, 206u, 0x08A45338u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08912804u) goto L_08912804; AOT_REGCACHE_SYNC_OUT(); return; L_08912804: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(92))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(92))); aot_gpr_5 = (0u | 0u); aot_gpr_4 = (aot_gpr_4 + static_cast(240)); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x08912820u); - aot_gpr_4 = (aot_gpr_17 + ctx.gpr[6]); + aot_gpr_4 = (ctx.gpr[17] + aot_gpr_6); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08912820u) goto L_08912820; AOT_REGCACHE_SYNC_OUT(); return; @@ -6793,7 +6794,7 @@ L_08912820: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; @@ -6816,9 +6817,9 @@ L_0891283C: goto L_08912850; } L_08912850: - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(614)))))); - ctx.gpr[6] = (ctx.gpr[6] & 1u); - { const bool branch_taken = ctx.gpr[6] != 0u; + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(614)))))); + aot_gpr_6 = (aot_gpr_6 & 1u); + { const bool branch_taken = aot_gpr_6 != 0u; // nop if (branch_taken) { goto L_08912878; @@ -6826,9 +6827,9 @@ L_08912850: goto L_08912860; } L_08912860: - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(472))); - ctx.gpr[6] = (ctx.gpr[6] & 8u); - { const bool branch_taken = ctx.gpr[6] != 0u; + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(472))); + aot_gpr_6 = (aot_gpr_6 & 8u); + { const bool branch_taken = aot_gpr_6 != 0u; // nop if (branch_taken) { goto L_08912880; @@ -6853,7 +6854,7 @@ L_08912878: } L_08912880: { const bool branch_taken = aot_gpr_5 == 0u; - ctx.gpr[6] = (aot_gpr_4 | 0u); + aot_gpr_6 = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08912870; } @@ -6862,7 +6863,7 @@ L_08912880: L_08912888: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x08912894u); - aot_gpr_5 = (ctx.gpr[6] | 0u); + aot_gpr_5 = (aot_gpr_6 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 169u, 0x08B00A50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08912894u) goto L_08912894; AOT_REGCACHE_SYNC_OUT(); return; L_08912894: @@ -6889,11 +6890,11 @@ L_089128AC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2228))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (0u | 0u); - ctx.gpr[6] = (0u | 58u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (0u | 0u); + aot_gpr_6 = (0u | 58u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); - { const bool branch_taken = aot_gpr_4 == ctx.gpr[6]; + { const bool branch_taken = aot_gpr_4 == aot_gpr_6; aot_gpr_5 = (0u | 0u); if (branch_taken) { goto L_089128E0; @@ -6901,8 +6902,8 @@ L_089128AC: goto L_089128D4; } L_089128D4: - ctx.gpr[6] = (0u | 57u); - { const bool branch_taken = aot_gpr_4 != ctx.gpr[6]; + aot_gpr_6 = (0u | 57u); + { const bool branch_taken = aot_gpr_4 != aot_gpr_6; aot_gpr_4 = (aot_gpr_5 & 255u); if (branch_taken) { goto L_089128E8; @@ -6936,9 +6937,9 @@ L_089128F8: L_08912900: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(456))); aot_gpr_5 = (32768u << 16u); - ctx.gpr[6] = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-20211))); + aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-20211))); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); - aot_gpr_4 = (aot_gpr_4 | ctx.gpr[6]); + aot_gpr_4 = (aot_gpr_4 | aot_gpr_6); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -6947,14 +6948,14 @@ L_08912900: goto L_0891291C; } L_0891291C: - aot_gpr_17 = (0u | 1u); + ctx.gpr[17] = (0u | 1u); goto L_08912920; L_08912920: - ctx.gpr[2] = (aot_gpr_17 & 255u); + ctx.gpr[2] = (ctx.gpr[17] & 255u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -6968,11 +6969,11 @@ L_08912938: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2228))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (0u | 0u); - ctx.gpr[6] = (0u | 58u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (0u | 0u); + aot_gpr_6 = (0u | 58u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); - { const bool branch_taken = aot_gpr_4 == ctx.gpr[6]; + { const bool branch_taken = aot_gpr_4 == aot_gpr_6; aot_gpr_5 = (0u | 0u); if (branch_taken) { goto L_0891296C; @@ -6980,8 +6981,8 @@ L_08912938: goto L_08912960; } L_08912960: - ctx.gpr[6] = (0u | 57u); - { const bool branch_taken = aot_gpr_4 != ctx.gpr[6]; + aot_gpr_6 = (0u | 57u); + { const bool branch_taken = aot_gpr_4 != aot_gpr_6; aot_gpr_4 = (aot_gpr_5 & 255u); if (branch_taken) { goto L_08912974; @@ -7025,7 +7026,7 @@ L_0891298C: L_0891299C: aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-20210))); if (aot_gpr_5 != 0u) { - aot_gpr_17 = (0u | 1u); + ctx.gpr[17] = (0u | 1u); goto L_089129D8; } goto L_089129A8; @@ -7043,11 +7044,11 @@ L_089129AC: L_089129B4: aot_gpr_31 = (0x089129BCu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089129BCu) goto L_089129BC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089129BCu) goto L_089129BC; AOT_REGCACHE_SYNC_OUT(); return; L_089129BC: if (ctx.gpr[2] != 0u) { - aot_gpr_17 = (0u | 1u); + ctx.gpr[17] = (0u | 1u); goto L_089129D8; } goto L_089129C4; @@ -7062,14 +7063,14 @@ L_089129C4: goto L_089129D4; } L_089129D4: - aot_gpr_17 = (0u | 1u); + ctx.gpr[17] = (0u | 1u); goto L_089129D8; L_089129D8: - ctx.gpr[2] = (aot_gpr_17 & 255u); + ctx.gpr[2] = (ctx.gpr[17] & 255u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -7083,11 +7084,11 @@ L_089129F0: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2228))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (0u | 0u); - ctx.gpr[6] = (0u | 58u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (0u | 0u); + aot_gpr_6 = (0u | 58u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); - { const bool branch_taken = aot_gpr_4 == ctx.gpr[6]; + { const bool branch_taken = aot_gpr_4 == aot_gpr_6; aot_gpr_5 = (0u | 0u); if (branch_taken) { goto L_08912A24; @@ -7095,8 +7096,8 @@ L_089129F0: goto L_08912A18; } L_08912A18: - ctx.gpr[6] = (0u | 57u); - { const bool branch_taken = aot_gpr_4 != ctx.gpr[6]; + aot_gpr_6 = (0u | 57u); + { const bool branch_taken = aot_gpr_4 != aot_gpr_6; aot_gpr_4 = (aot_gpr_5 & 255u); if (branch_taken) { goto L_08912A2C; @@ -7138,14 +7139,14 @@ L_08912A44: goto L_08912A54; } L_08912A54: - aot_gpr_17 = (0u | 1u); + ctx.gpr[17] = (0u | 1u); goto L_08912A58; L_08912A58: - ctx.gpr[2] = (aot_gpr_17 & 255u); + ctx.gpr[2] = (ctx.gpr[17] & 255u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -7200,7 +7201,7 @@ L_08912AD4: L_08912ADC: aot_gpr_31 = (0x08912AE4u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08912AE4u) goto L_08912AE4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08912AE4u) goto L_08912AE4; AOT_REGCACHE_SYNC_OUT(); return; L_08912AE4: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -7213,7 +7214,7 @@ L_08912AE4: L_08912AEC: aot_gpr_31 = (0x08912AF4u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08912AF4u) goto L_08912AF4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089474C4, 80u, 661u, 0x089474C4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08912AF4u) goto L_08912AF4; AOT_REGCACHE_SYNC_OUT(); return; L_08912AF4: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(332))); @@ -7335,14 +7336,14 @@ L_08912BCC: AOT_REGCACHE_SYNC_OUT(); return; L_08912BE0: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_4 | 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(2228))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_4 | 0u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(2228))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_5 | 0u); - ctx.gpr[6] = (0u | 43u); + aot_gpr_6 = (0u | 43u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); - { const bool branch_taken = aot_gpr_4 == ctx.gpr[6]; + { const bool branch_taken = aot_gpr_4 == aot_gpr_6; aot_gpr_5 = (0u | 0u); if (branch_taken) { goto L_08912C14; @@ -7350,8 +7351,8 @@ L_08912BE0: goto L_08912C08; } L_08912C08: - ctx.gpr[6] = (0u | 44u); - { const bool branch_taken = aot_gpr_4 != ctx.gpr[6]; + aot_gpr_6 = (0u | 44u); + { const bool branch_taken = aot_gpr_4 != aot_gpr_6; aot_gpr_5 = (aot_gpr_5 & 255u); if (branch_taken) { goto L_08912C1C; @@ -7379,10 +7380,10 @@ L_08912C24: goto L_08912C2C; } L_08912C2C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(456))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(456))); aot_gpr_4 = (aot_gpr_4 & 8192u); if (aot_gpr_4 == 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(236))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(236))); goto L_08912C44; } goto L_08912C3C; @@ -7397,38 +7398,38 @@ L_08912C3C: L_08912C44: aot_gpr_5 = (0u + static_cast(-3)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(72))); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(236), aot_gpr_4); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(72))); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(236), aot_gpr_4); aot_gpr_4 = (0u + static_cast(-513)); aot_gpr_4 = (aot_gpr_5 & aot_gpr_4); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(472))); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(72), aot_gpr_4); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(472))); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(72), aot_gpr_4); aot_gpr_4 = (0u + static_cast(-1793)); aot_gpr_4 = (aot_gpr_5 & aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(472), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(472), aot_gpr_4); aot_gpr_31 = (0x08912C78u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0129_entry, 129u, 36u, 0x08A08730u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08912C78u) goto L_08912C78; AOT_REGCACHE_SYNC_OUT(); return; L_08912C78: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08912C84u); aot_gpr_5 = (0u | 44u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 240u, 0x08908D60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08912C84u) goto L_08912C84; AOT_REGCACHE_SYNC_OUT(); return; L_08912C84: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); - ctx.gpr[6] = (aot_gpr_16 + static_cast(16)); + aot_gpr_6 = (aot_gpr_16 + static_cast(16)); aot_gpr_31 = (0x08912C94u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 789u, 0x0890F6ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08912C94u) goto L_08912C94; AOT_REGCACHE_SYNC_OUT(); return; L_08912C94: ctx.gpr[8] = (17530u << 16u); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(80))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(80))); aot_fpr_12 = std::bit_cast(ctx.gpr[8]); - aot_gpr_4 = (aot_gpr_17 | 0u); - ctx.gpr[6] = (0u | 60u); + aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_6 = (0u | 60u); aot_gpr_31 = (0x08912CB0u); ctx.gpr[7] = (0u | 257u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 163u, 0x089088F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08912CB0u) goto L_08912CB0; @@ -7437,22 +7438,22 @@ L_08912CB0: aot_gpr_16 = (ctx.gpr[2] | 0u); aot_gpr_5 = (2192u << 16u); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (aot_gpr_17 | 0u); + aot_gpr_6 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08912CC8u); aot_gpr_5 = (aot_gpr_5 + static_cast(22564)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08912CC8u) goto L_08912CC8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08912CC8u) goto L_08912CC8; AOT_REGCACHE_SYNC_OUT(); return; L_08912CC8: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-20384))); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(44), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(2256))); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(2260), std::bit_cast(aot_fpr_12)); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(2256))); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(2260), std::bit_cast(aot_fpr_12)); goto L_08912CD8; L_08912CD8: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -7464,10 +7465,10 @@ L_08912CD8: L_08912CEC: aot_gpr_29 = (aot_gpr_29 + static_cast(-80)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(2228))); - ctx.gpr[6] = (0u | 17u); - { const std::uint32_t aot_run_words[7]{std::bit_cast(aot_fpr_20), aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; + aot_gpr_6 = (0u | 17u); + { const std::uint32_t aot_run_words[7]{std::bit_cast(aot_fpr_20), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(52), aot_run_words); } - { const bool branch_taken = aot_gpr_5 == ctx.gpr[6]; + { const bool branch_taken = aot_gpr_5 == aot_gpr_6; aot_gpr_16 = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08912DA8; @@ -7478,8 +7479,8 @@ L_08912D1C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); aot_gpr_4 = (aot_gpr_4 + static_cast(216)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - jump_target = ctx.gpr[6]; + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); + jump_target = aot_gpr_6; aot_gpr_31 = (0x08912D34u); aot_gpr_4 = (aot_gpr_16 + aot_gpr_5); ctx.pc = jump_target; @@ -7489,8 +7490,8 @@ L_08912D34: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(36))); aot_gpr_4 = (aot_gpr_4 + static_cast(8)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - jump_target = ctx.gpr[6]; + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); + jump_target = aot_gpr_6; aot_gpr_31 = (0x08912D4Cu); aot_gpr_4 = (ctx.gpr[2] + aot_gpr_5); ctx.pc = jump_target; @@ -7498,11 +7499,11 @@ L_08912D34: AOT_REGCACHE_SYNC_OUT(); return; L_08912D4C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30640))); - ctx.gpr[6] = (ctx.gpr[2] << 6u); + aot_gpr_6 = (ctx.gpr[2] << 6u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); aot_gpr_5 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08912D64u); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0006_entry, 6u, 348u, 0x0881E25Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08912D64u) goto L_08912D64; AOT_REGCACHE_SYNC_OUT(); return; L_08912D64: @@ -7558,7 +7559,7 @@ L_08912DB0: aot_gpr_4 = (aot_gpr_4 | 2706u); ctx.gpr[18] = (aot_gpr_16 + static_cast(48)); aot_fpr_20 = std::bit_cast(aot_gpr_4); - aot_gpr_17 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[17] = (aot_gpr_29 + static_cast(16)); ctx.gpr[19] = (aot_gpr_16 | 0u); goto L_08912DC4; L_08912DC4: @@ -7629,7 +7630,7 @@ L_08912E18: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(16), static_cast(0u)); aot_gpr_5 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08912E2Cu); - ctx.gpr[6] = (aot_gpr_17 | 0u); + aot_gpr_6 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0056_entry, 56u, 36u, 0x088E43E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08912E2Cu) goto L_08912E2C; AOT_REGCACHE_SYNC_OUT(); return; L_08912E2C: @@ -7662,7 +7663,7 @@ L_08912E54: aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(52), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); aot_gpr_16 = aot_run_words[1]; - aot_gpr_17 = aot_run_words[2]; + ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; ctx.gpr[19] = aot_run_words[4]; ctx.gpr[20] = aot_run_words[5]; @@ -7700,15 +7701,15 @@ L_08912E9C: L_08912EA8: aot_gpr_31 = (0x08912EB0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08912EB0u) goto L_08912EB0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08912EB0u) goto L_08912EB0; AOT_REGCACHE_SYNC_OUT(); return; L_08912EB0: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-20300))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-20304))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-20304))); aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08912EC4u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08912EC4u) goto L_08912EC4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08912EC4u) goto L_08912EC4; AOT_REGCACHE_SYNC_OUT(); return; L_08912EC4: ctx.gpr[1] = (ctx.gpr[3] << 1u); @@ -7771,7 +7772,7 @@ L_08912F04: L_08912F14: aot_gpr_31 = (0x08912F1Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08912F1Cu) goto L_08912F1C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08912F1Cu) goto L_08912F1C; AOT_REGCACHE_SYNC_OUT(); return; L_08912F1C: ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-20284))); @@ -7780,19 +7781,19 @@ L_08912F1C: aot_gpr_5 = (0u | 0u); ctx.gpr[7] = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08912F38u); - ctx.gpr[6] = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08912F38u) goto L_08912F38; + aot_gpr_6 = (ctx.gpr[18] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08912F38u) goto L_08912F38; AOT_REGCACHE_SYNC_OUT(); return; L_08912F38: ctx.gpr[1] = (ctx.gpr[3] << 1u); aot_gpr_4 = (ctx.gpr[2] >> 31u); aot_gpr_5 = (static_cast(static_cast(ctx.gpr[3]) >> 31u)); aot_gpr_4 = (ctx.gpr[1] | aot_gpr_4); - ctx.gpr[6] = (aot_gpr_4 + ctx.gpr[18]); - ctx.gpr[7] = (ctx.gpr[6] < ctx.gpr[18] ? 1u : 0u); + aot_gpr_6 = (aot_gpr_4 + ctx.gpr[18]); + ctx.gpr[7] = (aot_gpr_6 < ctx.gpr[18] ? 1u : 0u); aot_gpr_4 = (ctx.gpr[7] + aot_gpr_5); aot_gpr_5 = (aot_gpr_4 + ctx.gpr[19]); - aot_gpr_4 = (ctx.gpr[6] | 0u); + aot_gpr_4 = (aot_gpr_6 | 0u); aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_31 = (0x08912F68u); aot_gpr_4 = (aot_gpr_16 | 0u); @@ -7852,10 +7853,10 @@ L_08912FB0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); aot_gpr_4 = (aot_gpr_4 + static_cast(216)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - { const std::uint32_t aot_run_words[3]{aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); + { const std::uint32_t aot_run_words[3]{ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(4), aot_run_words); } - jump_target = ctx.gpr[6]; + jump_target = aot_gpr_6; aot_gpr_31 = (0x08912FE0u); aot_gpr_4 = (aot_gpr_16 + aot_gpr_5); ctx.pc = jump_target; @@ -7874,8 +7875,8 @@ L_08912FEC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); aot_gpr_4 = (aot_gpr_4 + static_cast(216)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - jump_target = ctx.gpr[6]; + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); + jump_target = aot_gpr_6; aot_gpr_31 = (0x08913004u); aot_gpr_4 = (aot_gpr_16 + aot_gpr_5); ctx.pc = jump_target; @@ -7899,8 +7900,8 @@ L_08913024: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); aot_gpr_4 = (aot_gpr_4 + static_cast(216)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - jump_target = ctx.gpr[6]; + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); + jump_target = aot_gpr_6; aot_gpr_31 = (0x0891303Cu); aot_gpr_4 = (aot_gpr_16 + aot_gpr_5); ctx.pc = jump_target; @@ -7911,7 +7912,7 @@ L_0891303C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(2228))); aot_gpr_5 = (0u | 58u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); if (branch_taken) { goto L_08913060; } @@ -7928,11 +7929,11 @@ L_08913050: goto L_08913060; } L_08913060: - aot_gpr_17 = (0u | 1u); + ctx.gpr[17] = (0u | 1u); goto L_08913064; L_08913064: aot_gpr_31 = (0x0891306Cu); - aot_gpr_17 = (aot_gpr_17 & 255u); + ctx.gpr[17] = (ctx.gpr[17] & 255u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891306Cu) goto L_0891306C; AOT_REGCACHE_SYNC_OUT(); return; L_0891306C: @@ -7957,7 +7958,7 @@ L_0891307C: goto L_08913084; } L_08913084: - { const bool branch_taken = aot_gpr_17 != 0u; + { const bool branch_taken = ctx.gpr[17] != 0u; // nop if (branch_taken) { goto L_08913098; @@ -7974,7 +7975,7 @@ L_08913098: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -7987,10 +7988,10 @@ L_08913098: L_089130B0: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(2228))); - ctx.gpr[6] = (0u | 17u); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; + aot_gpr_6 = (0u | 17u); + { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(4), aot_run_words); } - { const bool branch_taken = aot_gpr_5 == ctx.gpr[6]; + { const bool branch_taken = aot_gpr_5 == aot_gpr_6; aot_gpr_16 = (aot_gpr_4 | 0u); if (branch_taken) { goto L_089130F4; @@ -8001,8 +8002,8 @@ L_089130D0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); aot_gpr_4 = (aot_gpr_4 + static_cast(216)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - jump_target = ctx.gpr[6]; + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); + jump_target = aot_gpr_6; aot_gpr_31 = (0x089130E8u); aot_gpr_4 = (aot_gpr_16 + aot_gpr_5); ctx.pc = jump_target; @@ -8027,7 +8028,7 @@ L_089130F4: L_08913104: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_17 = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (ctx.gpr[2] | 0u); if (branch_taken) { goto L_08913220; } @@ -8066,7 +8067,7 @@ L_08913138: goto L_08913140; } L_08913140: - aot_gpr_4 = (static_cast(aot_gpr_17) < 3 ? 1u : 0u); + aot_gpr_4 = (static_cast(ctx.gpr[17]) < 3 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -8078,8 +8079,8 @@ L_0891314C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); aot_gpr_4 = (aot_gpr_4 + static_cast(216)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - jump_target = ctx.gpr[6]; + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); + jump_target = aot_gpr_6; aot_gpr_31 = (0x08913164u); aot_gpr_4 = (aot_gpr_16 + aot_gpr_5); ctx.pc = jump_target; @@ -8148,8 +8149,8 @@ L_089131B8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); aot_gpr_4 = (aot_gpr_4 + static_cast(216)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - jump_target = ctx.gpr[6]; + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); + jump_target = aot_gpr_6; aot_gpr_31 = (0x089131D0u); aot_gpr_4 = (aot_gpr_16 + aot_gpr_5); ctx.pc = jump_target; @@ -8273,7 +8274,7 @@ L_08913260: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(4), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -8285,10 +8286,10 @@ L_08913260: L_08913274: aot_gpr_29 = (aot_gpr_29 + static_cast(-128)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(2228))); - ctx.gpr[6] = (0u | 11u); - { const std::uint32_t aot_run_words[6]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; + aot_gpr_6 = (0u | 11u); + { const std::uint32_t aot_run_words[6]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(96), aot_run_words); } - { const bool branch_taken = aot_gpr_5 == ctx.gpr[6]; + { const bool branch_taken = aot_gpr_5 == aot_gpr_6; aot_gpr_16 = (aot_gpr_4 | 0u); if (branch_taken) { goto L_089132B8; @@ -8320,8 +8321,8 @@ L_089132B8: goto L_089132C0; } L_089132C0: - ctx.gpr[6] = (0u | 1u); - { const bool branch_taken = aot_gpr_5 == ctx.gpr[6]; + aot_gpr_6 = (0u | 1u); + { const bool branch_taken = aot_gpr_5 == aot_gpr_6; // nop if (branch_taken) { goto L_089132F8; @@ -8330,8 +8331,8 @@ L_089132C0: } L_089132CC: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2276))); - ctx.gpr[6] = (0u | 2u); - { const bool branch_taken = aot_gpr_5 == ctx.gpr[6]; + aot_gpr_6 = (0u | 2u); + { const bool branch_taken = aot_gpr_5 == aot_gpr_6; // nop if (branch_taken) { goto L_089132E8; @@ -8370,13 +8371,13 @@ L_08913300: goto L_08913308; } L_08913308: - aot_gpr_17 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[17] = (aot_gpr_29 + static_cast(16)); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08913318u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); goto L_08910074; L_08913318: - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -8385,8 +8386,8 @@ L_08913318: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_17 = (aot_gpr_16 + static_cast(48)); - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + ctx.gpr[17] = (aot_gpr_16 + static_cast(48)); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -8486,7 +8487,7 @@ L_089133A4: } L_089133AC: ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16928))); - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -8495,9 +8496,9 @@ L_089133AC: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_17 = (aot_gpr_29 + static_cast(48)); + ctx.gpr[17] = (aot_gpr_29 + static_cast(48)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } ctx.gpr[19] = (0u + static_cast(-1)); @@ -8517,7 +8518,7 @@ L_089133D0: ctx.gpr[2] = (aot_gpr_4 & 255u); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (0u | 1u); - ctx.gpr[6] = (aot_gpr_17 | 0u); + aot_gpr_6 = (ctx.gpr[17] | 0u); ctx.gpr[7] = (0u + static_cast(-1)); ctx.gpr[8] = (ctx.gpr[20] | 0u); ctx.gpr[11] = (0u | 8u); @@ -8580,7 +8581,7 @@ L_08913478: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(96), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -8657,7 +8658,7 @@ L_089134D4: } L_089134EC: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(10)))))); - ctx.gpr[6] = (aot_gpr_29 + static_cast(16)); + aot_gpr_6 = (aot_gpr_29 + static_cast(16)); aot_gpr_31 = (0x089134FCu); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089134FCu) goto L_089134FC; @@ -8690,16 +8691,16 @@ L_08913524: ctx.gpr[18] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[19]); ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(80))); - { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_20), aot_gpr_16, aot_gpr_17}; + { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_20), aot_gpr_16, ctx.gpr[17]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_fpr_20 = std::bit_cast(std::bit_cast(aot_fpr_12)); - aot_gpr_17 = (aot_gpr_5 | 0u); - aot_gpr_16 = (ctx.gpr[6] | 0u); + ctx.gpr[17] = (aot_gpr_5 | 0u); + aot_gpr_16 = (aot_gpr_6 | 0u); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_31); aot_gpr_31 = (0x08913560u); aot_gpr_5 = (0u | 6u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08913560u) goto L_08913560; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0886D4BC, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08913560u) goto L_08913560; AOT_REGCACHE_SYNC_OUT(); return; L_08913560: aot_gpr_4 = (ctx.gpr[2] | 0u); @@ -8714,7 +8715,7 @@ L_0891356C: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08913578u); aot_gpr_5 = (0u | 250u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08913578u) goto L_08913578; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0886D4BC, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08913578u) goto L_08913578; AOT_REGCACHE_SYNC_OUT(); return; L_08913578: aot_gpr_4 = (ctx.gpr[2] | 0u); @@ -8729,7 +8730,7 @@ L_08913584: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08913590u); aot_gpr_5 = (0u | 44u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08913590u) goto L_08913590; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0886D4BC, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08913590u) goto L_08913590; AOT_REGCACHE_SYNC_OUT(); return; L_08913590: aot_gpr_4 = (ctx.gpr[2] | 0u); @@ -8755,7 +8756,7 @@ L_0891359C: goto L_089135B4; } L_089135B4: - { const bool branch_taken = aot_gpr_17 == 0u; + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_089135C8; @@ -8763,9 +8764,9 @@ L_089135B4: goto L_089135BC; } L_089135BC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); aot_gpr_4 = (aot_gpr_4 | 4u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(8), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(8), aot_gpr_4); goto L_089135C8; L_089135C8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(2228))); @@ -8781,14 +8782,14 @@ L_089135D8: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_5 = (ctx.gpr[19] | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x089135F0u); ctx.gpr[7] = (0u | 44u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 163u, 0x089088F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089135F0u) goto L_089135F0; AOT_REGCACHE_SYNC_OUT(); return; L_089135F0: { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (ctx.gpr[2] | 0u); if (branch_taken) { goto L_0891364C; } @@ -8810,14 +8811,14 @@ L_08913610: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_5 = (ctx.gpr[19] | 0u); - ctx.gpr[6] = (0u | 60u); + aot_gpr_6 = (0u | 60u); aot_gpr_31 = (0x08913628u); ctx.gpr[7] = (0u | 250u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 163u, 0x089088F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08913628u) goto L_08913628; AOT_REGCACHE_SYNC_OUT(); return; L_08913628: { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (ctx.gpr[2] | 0u); if (branch_taken) { goto L_0891364C; } @@ -8827,21 +8828,21 @@ L_08913630: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_5 = (ctx.gpr[19] | 0u); - ctx.gpr[6] = (aot_gpr_16 | 0u); + aot_gpr_6 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08913648u); ctx.gpr[7] = (0u | 6u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 163u, 0x089088F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08913648u) goto L_08913648; AOT_REGCACHE_SYNC_OUT(); return; L_08913648: - aot_gpr_17 = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (ctx.gpr[2] | 0u); goto L_0891364C; L_0891364C: - ctx.gpr[2] = (aot_gpr_17 | 0u); + ctx.gpr[2] = (ctx.gpr[17] | 0u); { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); aot_gpr_16 = aot_run_words[1]; - aot_gpr_17 = aot_run_words[2]; + ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; ctx.gpr[19] = aot_run_words[4]; aot_gpr_31 = aot_run_words[5]; @@ -8855,17 +8856,17 @@ L_0891364C: L_08913670: aot_gpr_29 = (aot_gpr_29 + static_cast(-112)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(84), ctx.gpr[22]); - ctx.gpr[6] = (aot_gpr_4 + static_cast(1984)); + aot_gpr_6 = (aot_gpr_4 + static_cast(1984)); ctx.gpr[7] = (aot_gpr_4 + static_cast(2000)); ctx.gpr[8] = (aot_gpr_4 + static_cast(2096)); ctx.gpr[22] = (aot_gpr_4 | 0u); aot_gpr_4 = (17096u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), std::bit_cast(ctx.fpr[22])); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), ctx.gpr[6]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), aot_gpr_6); ctx.fpr[22] = std::bit_cast(aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), ctx.gpr[7]); - aot_gpr_17 = (65535u << 16u); + ctx.gpr[17] = (65535u << 16u); aot_gpr_4 = (16256u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), std::bit_cast(aot_fpr_20)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), std::bit_cast(ctx.fpr[24])); @@ -8882,7 +8883,7 @@ L_08913670: ctx.gpr[18] = (0u + static_cast(-8193)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), ctx.gpr[8]); aot_gpr_16 = (aot_gpr_5 | 0u); - aot_gpr_17 = (aot_gpr_17 + static_cast(-1)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(-1)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(76), ctx.gpr[20]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(80), ctx.gpr[21]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(96), aot_gpr_31); @@ -8918,7 +8919,7 @@ L_0891373C: ctx.gpr[7] = (ctx.gpr[7] + static_cast(23992)); aot_gpr_5 = (0u | 8u); aot_gpr_31 = (0x08913754u); - ctx.gpr[6] = (0u | 10u); + aot_gpr_6 = (0u | 10u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 158u, 0x08B60C7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08913754u) goto L_08913754; AOT_REGCACHE_SYNC_OUT(); return; L_08913754: @@ -8938,7 +8939,7 @@ L_08913754: ctx.gpr[7] = (ctx.gpr[7] + static_cast(24488)); aot_gpr_5 = (0u | 10u); aot_gpr_31 = (0x08913798u); - ctx.gpr[6] = (0u | 28u); + aot_gpr_6 = (0u | 28u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 158u, 0x08B60C7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08913798u) goto L_08913798; AOT_REGCACHE_SYNC_OUT(); return; L_08913798: @@ -8987,7 +8988,7 @@ L_089137F8: aot_gpr_4 = (aot_gpr_4 | 8192u); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(72), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(72))); - aot_gpr_4 = (aot_gpr_4 & aot_gpr_17); + aot_gpr_4 = (aot_gpr_4 & ctx.gpr[17]); aot_gpr_5 = (1u << 16u); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(72), aot_gpr_4); @@ -9103,8 +9104,8 @@ L_08913938: L_0891397C: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(908), 0u); aot_gpr_5 = (aot_gpr_5 + static_cast(1)); - ctx.gpr[6] = (static_cast(aot_gpr_5) < 8 ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] != 0u; + aot_gpr_6 = (static_cast(aot_gpr_5) < 8 ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 != 0u; aot_gpr_4 = (aot_gpr_4 + static_cast(4)); if (branch_taken) { goto L_0891397C; @@ -9126,7 +9127,7 @@ L_08913990: aot_mem.aot_direct_store16(ctx.gpr[22] + static_cast(1146), static_cast(0u)); aot_gpr_31 = (0x089139C8u); aot_gpr_4 = (ctx.gpr[22] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089139C8u) goto L_089139C8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890FF64, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089139C8u) goto L_089139C8; AOT_REGCACHE_SYNC_OUT(); return; L_089139C8: aot_gpr_4 = (ctx.gpr[22] | 0u); @@ -9175,13 +9176,13 @@ L_08913A0C: aot_gpr_4 = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x08913A48u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08913A48u) goto L_08913A48; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08908E78, 65u, 261u, 0x08908E78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08913A48u) goto L_08913A48; AOT_REGCACHE_SYNC_OUT(); return; L_08913A48: aot_gpr_4 = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x08913A54u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08913A54u) goto L_08913A54; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08913A54u) goto L_08913A54; AOT_REGCACHE_SYNC_OUT(); return; L_08913A54: aot_gpr_4 = (ctx.gpr[22] | 0u); @@ -9208,15 +9209,15 @@ L_08913A6C: aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(1904), 0u); aot_gpr_31 = (0x08913AA0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08913AA0u) goto L_08913AA0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08913AA0u) goto L_08913AA0; AOT_REGCACHE_SYNC_OUT(); return; L_08913AA0: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_5 = (0u | 0u); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-20172))); aot_gpr_31 = (0x08913AB4u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-20176))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08913AB4u) goto L_08913AB4; + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-20176))); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08913AB4u) goto L_08913AB4; AOT_REGCACHE_SYNC_OUT(); return; L_08913AB4: ctx.gpr[1] = (ctx.gpr[3] << 1u); @@ -9224,9 +9225,9 @@ L_08913AB4: aot_gpr_4 = (ctx.gpr[2] >> 31u); aot_gpr_4 = (ctx.gpr[1] | aot_gpr_4); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-20164))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-20168))); - ctx.gpr[8] = (aot_gpr_4 + ctx.gpr[6]); - ctx.gpr[9] = (ctx.gpr[8] < ctx.gpr[6] ? 1u : 0u); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-20168))); + ctx.gpr[8] = (aot_gpr_4 + aot_gpr_6); + ctx.gpr[9] = (ctx.gpr[8] < aot_gpr_6 ? 1u : 0u); aot_gpr_4 = (ctx.gpr[9] + aot_gpr_5); aot_gpr_5 = (aot_gpr_4 + ctx.gpr[7]); aot_gpr_4 = (ctx.gpr[8] | 0u); @@ -9264,59 +9265,59 @@ L_08913AB4: aot_gpr_5 = (aot_gpr_5 & aot_gpr_4); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(456), aot_gpr_5); aot_gpr_5 = (0u + static_cast(-9)); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(456))); - ctx.gpr[6] = (ctx.gpr[6] & aot_gpr_5); - aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(456), ctx.gpr[6]); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(456))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(456))); + aot_gpr_6 = (aot_gpr_6 & aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(456), aot_gpr_6); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(456))); ctx.gpr[7] = (0u + static_cast(-17)); - ctx.gpr[6] = (ctx.gpr[6] & ctx.gpr[7]); - aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(456), ctx.gpr[6]); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(456))); + aot_gpr_6 = (aot_gpr_6 & ctx.gpr[7]); + aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(456), aot_gpr_6); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(456))); ctx.gpr[8] = (0u + static_cast(-33)); - ctx.gpr[6] = (ctx.gpr[6] & ctx.gpr[8]); - aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(456), ctx.gpr[6]); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(456))); + aot_gpr_6 = (aot_gpr_6 & ctx.gpr[8]); + aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(456), aot_gpr_6); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(456))); ctx.gpr[9] = (0u + static_cast(-65)); - ctx.gpr[6] = (ctx.gpr[6] & ctx.gpr[9]); - aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(456), ctx.gpr[6]); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(456))); + aot_gpr_6 = (aot_gpr_6 & ctx.gpr[9]); + aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(456), aot_gpr_6); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(456))); ctx.gpr[10] = (0u + static_cast(-129)); - ctx.gpr[6] = (ctx.gpr[6] & ctx.gpr[10]); - aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(456), ctx.gpr[6]); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(456))); + aot_gpr_6 = (aot_gpr_6 & ctx.gpr[10]); + aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(456), aot_gpr_6); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(456))); ctx.gpr[11] = (0u + static_cast(-257)); - ctx.gpr[6] = (ctx.gpr[6] & ctx.gpr[11]); - aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(456), ctx.gpr[6]); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(472))); - ctx.gpr[6] = (ctx.gpr[6] & ctx.gpr[10]); - aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(472), ctx.gpr[6]); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(472))); + aot_gpr_6 = (aot_gpr_6 & ctx.gpr[11]); + aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(456), aot_gpr_6); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(472))); + aot_gpr_6 = (aot_gpr_6 & ctx.gpr[10]); + aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(472), aot_gpr_6); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(472))); ctx.gpr[2] = (32768u << 16u); ctx.gpr[2] = (ctx.gpr[2] + static_cast(-1)); - ctx.gpr[6] = (ctx.gpr[6] & ctx.gpr[2]); - aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(472), ctx.gpr[6]); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(476))); + aot_gpr_6 = (aot_gpr_6 & ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(472), aot_gpr_6); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(476))); ctx.gpr[3] = (0u + static_cast(-513)); - ctx.gpr[6] = (ctx.gpr[6] & ctx.gpr[3]); - aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(476), ctx.gpr[6]); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(456))); - ctx.gpr[6] = (ctx.gpr[6] & ctx.gpr[3]); - aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(456), ctx.gpr[6]); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(456))); + aot_gpr_6 = (aot_gpr_6 & ctx.gpr[3]); + aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(476), aot_gpr_6); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(456))); + aot_gpr_6 = (aot_gpr_6 & ctx.gpr[3]); + aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(456), aot_gpr_6); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(456))); ctx.gpr[12] = (0u + static_cast(-1025)); - ctx.gpr[6] = (ctx.gpr[6] & ctx.gpr[12]); - aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(456), ctx.gpr[6]); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(456))); + aot_gpr_6 = (aot_gpr_6 & ctx.gpr[12]); + aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(456), aot_gpr_6); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(456))); ctx.gpr[13] = (0u + static_cast(-2049)); - ctx.gpr[6] = (ctx.gpr[6] & ctx.gpr[13]); - aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(456), ctx.gpr[6]); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(456))); + aot_gpr_6 = (aot_gpr_6 & ctx.gpr[13]); + aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(456), aot_gpr_6); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(456))); ctx.gpr[14] = (0u + static_cast(-4097)); - ctx.gpr[6] = (ctx.gpr[6] & ctx.gpr[14]); - aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(456), ctx.gpr[6]); - ctx.gpr[6] = (0u + static_cast(-8193)); + aot_gpr_6 = (aot_gpr_6 & ctx.gpr[14]); + aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(456), aot_gpr_6); + aot_gpr_6 = (0u + static_cast(-8193)); ctx.gpr[15] = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(456))); - ctx.gpr[15] = (ctx.gpr[15] & ctx.gpr[6]); + ctx.gpr[15] = (ctx.gpr[15] & aot_gpr_6); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(456), ctx.gpr[15]); ctx.gpr[15] = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(456))); ctx.gpr[24] = (0u + static_cast(-16385)); @@ -9343,17 +9344,17 @@ L_08913AB4: aot_gpr_31 = (aot_gpr_31 & aot_gpr_16); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(456), aot_gpr_31); aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(456))); - aot_gpr_17 = (4u << 16u); - aot_gpr_31 = (aot_gpr_31 | aot_gpr_17); + ctx.gpr[17] = (4u << 16u); + aot_gpr_31 = (aot_gpr_31 | ctx.gpr[17]); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(456), aot_gpr_31); aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(456))); - aot_gpr_17 = (8u << 16u); - aot_gpr_31 = (aot_gpr_31 | aot_gpr_17); + ctx.gpr[17] = (8u << 16u); + aot_gpr_31 = (aot_gpr_31 | ctx.gpr[17]); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(456), aot_gpr_31); aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(456))); - aot_gpr_17 = (65520u << 16u); - aot_gpr_17 = (aot_gpr_17 + static_cast(-1)); - aot_gpr_31 = (aot_gpr_31 & aot_gpr_17); + ctx.gpr[17] = (65520u << 16u); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(-1)); + aot_gpr_31 = (aot_gpr_31 & ctx.gpr[17]); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(456), aot_gpr_31); aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(456))); ctx.gpr[18] = (65504u << 16u); @@ -9422,7 +9423,7 @@ L_08913AB4: aot_gpr_4 = (aot_gpr_4 & ctx.gpr[14]); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(460), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(460))); - aot_gpr_4 = (aot_gpr_4 & ctx.gpr[6]); + aot_gpr_4 = (aot_gpr_4 & aot_gpr_6); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(460), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(460))); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[24]); @@ -9446,7 +9447,7 @@ L_08913AB4: aot_gpr_4 = (aot_gpr_4 & ctx.gpr[13]); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(460), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(460))); - aot_gpr_4 = (aot_gpr_4 & aot_gpr_17); + aot_gpr_4 = (aot_gpr_4 & ctx.gpr[17]); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(460), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(460))); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[18]); diff --git a/profiles/vcs/generated/generated_unit_0068.cpp b/profiles/vcs/generated/generated_unit_0068.cpp index 924e30b..c3ee381 100644 --- a/profiles/vcs/generated/generated_unit_0068.cpp +++ b/profiles/vcs/generated/generated_unit_0068.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0068[4096] = { }; void recomp_unit_0068_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,16,29,6,31 fprs=12,13,14,15 gpr_occ=4060 fpr_occ=910 gpr_total=5139 fpr_total=1216 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,16,29,31,6 fprs=12,13,14,15 gpr_occ=4205 fpr_occ=914 gpr_total=5375 fpr_total=1220 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_16 = ctx.gpr[16]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; - std::uint32_t aot_gpr_6 = ctx.gpr[6]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; + std::uint32_t aot_gpr_6 = ctx.gpr[6]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_14 = ctx.fpr[14]; float aot_fpr_15 = ctx.fpr[15]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[16] = aot_gpr_16; ctx.gpr[29] = aot_gpr_29; ctx.gpr[6] = aot_gpr_6; ctx.gpr[31] = aot_gpr_31; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[15] = aot_fpr_15; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_31 = ctx.gpr[31]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_15 = ctx.fpr[15]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[16] = aot_gpr_16; ctx.gpr[29] = aot_gpr_29; ctx.gpr[31] = aot_gpr_31; ctx.gpr[6] = aot_gpr_6; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[15] = aot_fpr_15; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_6 = ctx.gpr[6]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_15 = ctx.fpr[15]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -1120,7 +1121,7 @@ L_08914000: aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(476), aot_gpr_4); aot_gpr_31 = (0x089142F0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089142F0u) goto L_089142F0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089142F0u) goto L_089142F0; AOT_REGCACHE_SYNC_OUT(); return; L_089142F0: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -1153,7 +1154,7 @@ L_08914318: L_08914328: aot_gpr_31 = (0x08914330u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08914330u) goto L_08914330; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08914330u) goto L_08914330; AOT_REGCACHE_SYNC_OUT(); return; L_08914330: aot_fpr_12 = ctx.fpr[24] - ctx.fpr[20]; @@ -1314,7 +1315,7 @@ L_089144BC: aot_mem.aot_direct_store8(ctx.gpr[22] + static_cast(400), static_cast(0u)); aot_gpr_31 = (0x089144F0u); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(416), std::bit_cast(ctx.fpr[20])); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089144F0u) goto L_089144F0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089144F0u) goto L_089144F0; AOT_REGCACHE_SYNC_OUT(); return; L_089144F0: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -2914,7 +2915,7 @@ L_08915160: L_08915190: aot_gpr_31 = (0x08915198u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08915198u) goto L_08915198; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08915198u) goto L_08915198; AOT_REGCACHE_SYNC_OUT(); return; L_08915198: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -2961,7 +2962,7 @@ L_089151E0: L_089151EC: aot_gpr_31 = (0x089151F4u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089151F4u) goto L_089151F4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089151F4u) goto L_089151F4; AOT_REGCACHE_SYNC_OUT(); return; L_089151F4: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -3491,7 +3492,7 @@ L_0891567C: L_08915684: aot_gpr_31 = (0x0891568Cu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891568Cu) goto L_0891568C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891568Cu) goto L_0891568C; AOT_REGCACHE_SYNC_OUT(); return; L_0891568C: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -3887,7 +3888,7 @@ L_089159C0: L_089159C8: aot_gpr_31 = (0x089159D0u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089159D0u) goto L_089159D0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089159D0u) goto L_089159D0; AOT_REGCACHE_SYNC_OUT(); return; L_089159D0: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -3930,7 +3931,7 @@ L_08915A00: L_08915A0C: aot_gpr_31 = (0x08915A14u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08915A14u) goto L_08915A14; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08915A14u) goto L_08915A14; AOT_REGCACHE_SYNC_OUT(); return; L_08915A14: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -4605,7 +4606,7 @@ L_08915F80: aot_fpr_12 = std::sqrt(ctx.fpr[20]); aot_gpr_31 = (0x08915F8Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08915F8Cu) goto L_08915F8C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08915F8Cu) goto L_08915F8C; AOT_REGCACHE_SYNC_OUT(); return; L_08915F8C: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-20140))); @@ -4613,13 +4614,13 @@ L_08915F8C: aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08915FA0u); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08915FA0u) goto L_08915FA0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_16, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08915FA0u) goto L_08915FA0; AOT_REGCACHE_SYNC_OUT(); return; L_08915FA0: aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08915FACu); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08915FACu) goto L_08915FAC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B627F0, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08915FACu) goto L_08915FAC; AOT_REGCACHE_SYNC_OUT(); return; L_08915FAC: aot_gpr_4 = (16000u << 16u); @@ -4761,7 +4762,7 @@ L_08915FF0: aot_gpr_4 = (aot_gpr_4 | 49807u); aot_gpr_31 = (0x0891609Cu); ctx.fpr[24] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891609Cu) goto L_0891609C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891609Cu) goto L_0891609C; AOT_REGCACHE_SYNC_OUT(); return; L_0891609C: aot_fpr_12 = ctx.fpr[24] - ctx.fpr[22]; @@ -4777,7 +4778,7 @@ L_0891609C: ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x089160D0u); ctx.gpr[8] = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089160D0u) goto L_089160D0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089160D0u) goto L_089160D0; AOT_REGCACHE_SYNC_OUT(); return; L_089160D0: aot_gpr_4 = (0u | 44u); @@ -4878,7 +4879,7 @@ L_08916158: ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x089161C4u); ctx.gpr[8] = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089161C4u) goto L_089161C4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089161C4u) goto L_089161C4; AOT_REGCACHE_SYNC_OUT(); return; L_089161C4: aot_gpr_4 = (0u | 44u); @@ -4902,7 +4903,7 @@ L_089161F0: aot_gpr_4 = (aot_gpr_4 | 52429u); aot_gpr_31 = (0x0891620Cu); ctx.fpr[22] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891620Cu) goto L_0891620C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891620Cu) goto L_0891620C; AOT_REGCACHE_SYNC_OUT(); return; L_0891620C: aot_fpr_12 = ctx.fpr[22] - ctx.fpr[20]; @@ -4913,7 +4914,7 @@ L_0891620C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(560), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x0891622Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891622Cu) goto L_0891622C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891622Cu) goto L_0891622C; AOT_REGCACHE_SYNC_OUT(); return; L_0891622C: aot_fpr_12 = ctx.fpr[22] - ctx.fpr[20]; @@ -4926,7 +4927,7 @@ L_0891622C: aot_gpr_4 = (aot_gpr_4 | 52429u); aot_gpr_31 = (0x08916254u); ctx.fpr[24] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08916254u) goto L_08916254; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08916254u) goto L_08916254; AOT_REGCACHE_SYNC_OUT(); return; L_08916254: aot_fpr_12 = ctx.fpr[22] - ctx.fpr[24]; @@ -5040,7 +5041,7 @@ L_0891634C: L_08916354: aot_gpr_31 = (0x0891635Cu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891635Cu) goto L_0891635C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891635Cu) goto L_0891635C; AOT_REGCACHE_SYNC_OUT(); return; L_0891635C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(464))); @@ -5345,7 +5346,7 @@ L_08916538: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0891656Cu); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(44), std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891656Cu) goto L_0891656C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891656Cu) goto L_0891656C; AOT_REGCACHE_SYNC_OUT(); return; L_0891656C: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -5485,7 +5486,7 @@ L_0891665C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08916668u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08916668u) goto L_08916668; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08916668u) goto L_08916668; AOT_REGCACHE_SYNC_OUT(); return; L_08916668: aot_gpr_5 = (16256u << 16u); @@ -5700,7 +5701,7 @@ L_089167FC: L_08916804: aot_gpr_31 = (0x0891680Cu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891680Cu) goto L_0891680C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890FF64, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891680Cu) goto L_0891680C; AOT_REGCACHE_SYNC_OUT(); return; L_0891680C: ctx.gpr[23] = (aot_gpr_29 + static_cast(48)); @@ -5771,21 +5772,21 @@ L_08916874: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(0))); aot_gpr_31 = (0x08916888u); ctx.gpr[20] = (ctx.gpr[20] + static_cast(-13152)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08916888u) goto L_08916888; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08916888u) goto L_08916888; AOT_REGCACHE_SYNC_OUT(); return; L_08916888: ctx.gpr[17] = (ctx.gpr[3] | 0u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(4))); aot_gpr_31 = (0x08916898u); aot_gpr_16 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08916898u) goto L_08916898; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08916898u) goto L_08916898; AOT_REGCACHE_SYNC_OUT(); return; L_08916898: ctx.gpr[19] = (ctx.gpr[3] | 0u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(8))); aot_gpr_31 = (0x089168A8u); ctx.gpr[18] = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089168A8u) goto L_089168A8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089168A8u) goto L_089168A8; AOT_REGCACHE_SYNC_OUT(); return; L_089168A8: aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(2276))); @@ -5892,7 +5893,7 @@ L_08916964: L_08916970: aot_gpr_31 = (0x08916978u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08916978u) goto L_08916978; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890FF64, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08916978u) goto L_08916978; AOT_REGCACHE_SYNC_OUT(); return; L_08916978: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); @@ -5955,7 +5956,7 @@ L_089169CC: L_089169D4: aot_gpr_31 = (0x089169DCu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089169DCu) goto L_089169DC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890FF64, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089169DCu) goto L_089169DC; AOT_REGCACHE_SYNC_OUT(); return; L_089169DC: { const bool branch_taken = 0u == 0u; @@ -6535,7 +6536,7 @@ L_08916E48: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(212))); aot_gpr_31 = (0x08916E54u); aot_gpr_5 = (aot_gpr_29 + static_cast(212)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08916E54u) goto L_08916E54; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A93004, 163u, 430u, 0x08A93004u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08916E54u) goto L_08916E54; AOT_REGCACHE_SYNC_OUT(); return; L_08916E54: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1076), ctx.gpr[17]); @@ -6571,7 +6572,7 @@ L_08916E8C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(212))); aot_gpr_31 = (0x08916E98u); aot_gpr_5 = (aot_gpr_29 + static_cast(212)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08916E98u) goto L_08916E98; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08916E98u) goto L_08916E98; AOT_REGCACHE_SYNC_OUT(); return; L_08916E98: { const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); @@ -7078,7 +7079,7 @@ L_089171C0: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x089171CCu); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089171CCu) goto L_089171CC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089171CCu) goto L_089171CC; AOT_REGCACHE_SYNC_OUT(); return; L_089171CC: { const bool branch_taken = 0u == 0u; @@ -7186,7 +7187,7 @@ L_08917254: L_08917264: aot_gpr_31 = (0x0891726Cu); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2192))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891726Cu) goto L_0891726C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891726Cu) goto L_0891726C; AOT_REGCACHE_SYNC_OUT(); return; L_0891726C: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -7683,7 +7684,7 @@ L_08917558: L_08917570: aot_gpr_31 = (0x08917578u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08917578u) goto L_08917578; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890FF64, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08917578u) goto L_08917578; AOT_REGCACHE_SYNC_OUT(); return; L_08917578: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(456))); @@ -8086,7 +8087,7 @@ L_089178D4: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); aot_gpr_31 = (0x089178E0u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089178E0u) goto L_089178E0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089178E0u) goto L_089178E0; AOT_REGCACHE_SYNC_OUT(); return; L_089178E0: { const bool branch_taken = 0u == 0u; @@ -8129,7 +8130,7 @@ L_08917914: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); aot_gpr_31 = (0x08917920u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08917920u) goto L_08917920; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08917920u) goto L_08917920; AOT_REGCACHE_SYNC_OUT(); return; L_08917920: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); @@ -8309,7 +8310,7 @@ L_08917AA0: L_08917AB0: aot_gpr_31 = (0x08917AB8u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08917AB8u) goto L_08917AB8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08917AB8u) goto L_08917AB8; AOT_REGCACHE_SYNC_OUT(); return; L_08917AB8: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -8520,7 +8521,7 @@ L_08917C34: L_08917C40: aot_gpr_31 = (0x08917C48u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08917C48u) goto L_08917C48; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890FF64, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08917C48u) goto L_08917C48; AOT_REGCACHE_SYNC_OUT(); return; L_08917C48: aot_gpr_31 = (0x08917C50u); @@ -8583,7 +8584,7 @@ L_08917CA0: L_08917CA8: aot_gpr_31 = (0x08917CB0u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08917CB0u) goto L_08917CB0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890FF64, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08917CB0u) goto L_08917CB0; AOT_REGCACHE_SYNC_OUT(); return; L_08917CB0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(456))); @@ -8593,7 +8594,7 @@ L_08917CB0: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08917CCCu); aot_gpr_5 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08917CCCu) goto L_08917CCC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08917CCCu) goto L_08917CCC; AOT_REGCACHE_SYNC_OUT(); return; L_08917CCC: aot_gpr_31 = (0x08917CD4u); @@ -8747,7 +8748,7 @@ L_08917DC4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08917DE4u); aot_gpr_5 = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08917DE4u) goto L_08917DE4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08917DE4u) goto L_08917DE4; AOT_REGCACHE_SYNC_OUT(); return; L_08917DE4: aot_gpr_31 = (0x08917DECu); @@ -8901,7 +8902,7 @@ L_08917F08: aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08917F1Cu); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08917F1Cu) goto L_08917F1C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_16, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08917F1Cu) goto L_08917F1C; AOT_REGCACHE_SYNC_OUT(); return; L_08917F1C: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-20108))); @@ -8915,7 +8916,7 @@ L_08917F30: aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08917F3Cu); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08917F3Cu) goto L_08917F3C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B627F0, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08917F3Cu) goto L_08917F3C; AOT_REGCACHE_SYNC_OUT(); return; L_08917F3C: aot_gpr_4 = (16320u << 16u); diff --git a/profiles/vcs/generated/generated_unit_0069.cpp b/profiles/vcs/generated/generated_unit_0069.cpp index 8b0de5c..281bebc 100644 --- a/profiles/vcs/generated/generated_unit_0069.cpp +++ b/profiles/vcs/generated/generated_unit_0069.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0069[4096] = { }; void recomp_unit_0069_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,16,31,6 fprs=12,13,14,20 gpr_occ=3798 fpr_occ=1315 gpr_total=4767 fpr_total=1582 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,31,16,6 fprs=12,13,14,20 gpr_occ=4045 fpr_occ=1326 gpr_total=5238 fpr_total=1593 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; - std::uint32_t aot_gpr_16 = ctx.gpr[16]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; + std::uint32_t aot_gpr_16 = ctx.gpr[16]; std::uint32_t aot_gpr_6 = ctx.gpr[6]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_14 = ctx.fpr[14]; float aot_fpr_20 = ctx.fpr[20]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[16] = aot_gpr_16; ctx.gpr[31] = aot_gpr_31; ctx.gpr[6] = aot_gpr_6; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[20] = aot_fpr_20; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_6 = ctx.gpr[6]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_20 = ctx.fpr[20]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[31] = aot_gpr_31; ctx.gpr[16] = aot_gpr_16; ctx.gpr[6] = aot_gpr_6; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[20] = aot_fpr_20; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_6 = ctx.gpr[6]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_20 = ctx.fpr[20]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -931,7 +932,7 @@ L_08918028: L_08918040: aot_gpr_31 = (0x08918048u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[24])); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08918048u) goto L_08918048; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08918048u) goto L_08918048; AOT_REGCACHE_SYNC_OUT(); return; L_08918048: ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-20100))); @@ -949,26 +950,26 @@ L_08918064: aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08918078u); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08918078u) goto L_08918078; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_16, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08918078u) goto L_08918078; AOT_REGCACHE_SYNC_OUT(); return; L_08918078: aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08918084u); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08918084u) goto L_08918084; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B627F0, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08918084u) goto L_08918084; AOT_REGCACHE_SYNC_OUT(); return; L_08918084: ctx.fpr[24] = std::bit_cast(std::bit_cast(ctx.fpr[0])); aot_gpr_31 = (0x08918090u); { const float fs = ctx.fpr[24]; const float ft = aot_fpr_20; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08918090u) goto L_08918090; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08918090u) goto L_08918090; AOT_REGCACHE_SYNC_OUT(); return; L_08918090: ctx.gpr[21] = (ctx.gpr[3] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[24])); aot_gpr_31 = (0x089180A0u); ctx.gpr[20] = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089180A0u) goto L_089180A0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089180A0u) goto L_089180A0; AOT_REGCACHE_SYNC_OUT(); return; L_089180A0: aot_gpr_5 = (ctx.gpr[19] | 0u); @@ -983,7 +984,7 @@ L_089180B4: aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[22])); aot_gpr_31 = (0x089180C4u); ctx.gpr[18] = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089180C4u) goto L_089180C4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089180C4u) goto L_089180C4; AOT_REGCACHE_SYNC_OUT(); return; L_089180C4: aot_gpr_5 = (ctx.gpr[19] | 0u); @@ -991,7 +992,7 @@ L_089180C4: ctx.gpr[7] = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x089180D8u); aot_gpr_6 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089180D8u) goto L_089180D8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_16, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089180D8u) goto L_089180D8; AOT_REGCACHE_SYNC_OUT(); return; L_089180D8: aot_gpr_5 = (ctx.gpr[21] | 0u); @@ -999,13 +1000,13 @@ L_089180D8: ctx.gpr[7] = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x089180ECu); aot_gpr_6 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089180ECu) goto L_089180EC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61EF4, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089180ECu) goto L_089180EC; AOT_REGCACHE_SYNC_OUT(); return; L_089180EC: aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x089180F8u); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089180F8u) goto L_089180F8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B627F0, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089180F8u) goto L_089180F8; AOT_REGCACHE_SYNC_OUT(); return; L_089180F8: { const bool branch_taken = 0u == 0u; @@ -1018,7 +1019,7 @@ L_089180F8: L_08918100: aot_gpr_31 = (0x08918108u); aot_fpr_12 = aot_fpr_20 + ctx.fpr[22]; - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08918108u) goto L_08918108; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08918108u) goto L_08918108; AOT_REGCACHE_SYNC_OUT(); return; L_08918108: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-20092))); @@ -1026,13 +1027,13 @@ L_08918108: aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x0891811Cu); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891811Cu) goto L_0891811C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_16, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891811Cu) goto L_0891811C; AOT_REGCACHE_SYNC_OUT(); return; L_0891811C: aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08918128u); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08918128u) goto L_08918128; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B627F0, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08918128u) goto L_08918128; AOT_REGCACHE_SYNC_OUT(); return; L_08918128: aot_gpr_4 = (16457u << 16u); @@ -1462,7 +1463,7 @@ L_08918464: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(692), aot_gpr_4); aot_gpr_31 = (0x08918470u); aot_gpr_5 = (aot_gpr_16 + static_cast(692)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08918470u) goto L_08918470; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08918470u) goto L_08918470; AOT_REGCACHE_SYNC_OUT(); return; L_08918470: { const bool branch_taken = 0u == 0u; @@ -1545,7 +1546,7 @@ L_08918508: aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); aot_gpr_31 = (0x08918514u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1784))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08918514u) goto L_08918514; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08918514u) goto L_08918514; AOT_REGCACHE_SYNC_OUT(); return; L_08918514: { const bool branch_taken = ctx.gpr[2] != 0u; @@ -2988,7 +2989,7 @@ L_08918FB4: L_08918FC8: aot_gpr_31 = (0x08918FD0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08918FD0u) goto L_08918FD0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08918FD0u) goto L_08918FD0; AOT_REGCACHE_SYNC_OUT(); return; L_08918FD0: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -3213,7 +3214,7 @@ L_08919148: L_08919158: aot_gpr_31 = (0x08919160u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08919160u) goto L_08919160; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08919160u) goto L_08919160; AOT_REGCACHE_SYNC_OUT(); return; L_08919160: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -3435,7 +3436,7 @@ L_089192B8: aot_fpr_20 = std::bit_cast(0u); aot_gpr_31 = (0x089192C8u); ctx.fpr[22] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089192C8u) goto L_089192C8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089192C8u) goto L_089192C8; AOT_REGCACHE_SYNC_OUT(); return; L_089192C8: aot_fpr_12 = ctx.fpr[22] - aot_fpr_20; @@ -3596,7 +3597,7 @@ L_089193C0: L_089193C8: aot_gpr_31 = (0x089193D0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089193D0u) goto L_089193D0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089193D0u) goto L_089193D0; AOT_REGCACHE_SYNC_OUT(); return; L_089193D0: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -4789,7 +4790,7 @@ L_08919DC8: L_08919DD0: aot_gpr_31 = (0x08919DD8u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08919DD8u) goto L_08919DD8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08919DD8u) goto L_08919DD8; AOT_REGCACHE_SYNC_OUT(); return; L_08919DD8: { const bool branch_taken = ctx.gpr[2] != 0u; @@ -5047,7 +5048,7 @@ L_08919F38: L_08919F4C: aot_gpr_31 = (0x08919F54u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(48))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08919F54u) goto L_08919F54; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08919F54u) goto L_08919F54; AOT_REGCACHE_SYNC_OUT(); return; L_08919F54: ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-20084))); @@ -5057,19 +5058,19 @@ L_08919F54: aot_gpr_6 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08919F70u); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08919F70u) goto L_08919F70; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_16, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08919F70u) goto L_08919F70; AOT_REGCACHE_SYNC_OUT(); return; L_08919F70: aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08919F7Cu); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08919F7Cu) goto L_08919F7C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B627F0, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08919F7Cu) goto L_08919F7C; AOT_REGCACHE_SYNC_OUT(); return; L_08919F7C: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(52))); aot_gpr_31 = (0x08919F88u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), std::bit_cast(ctx.fpr[0])); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08919F88u) goto L_08919F88; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08919F88u) goto L_08919F88; AOT_REGCACHE_SYNC_OUT(); return; L_08919F88: aot_gpr_5 = (ctx.gpr[3] | 0u); @@ -5077,13 +5078,13 @@ L_08919F88: aot_gpr_6 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08919F9Cu); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08919F9Cu) goto L_08919F9C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_16, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08919F9Cu) goto L_08919F9C; AOT_REGCACHE_SYNC_OUT(); return; L_08919F9C: aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08919FA8u); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08919FA8u) goto L_08919FA8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B627F0, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08919FA8u) goto L_08919FA8; AOT_REGCACHE_SYNC_OUT(); return; L_08919FA8: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), std::bit_cast(ctx.fpr[0])); @@ -5947,7 +5948,7 @@ L_0891A6CC: ctx.gpr[20] = (std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x0891A740u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891A740u) goto L_0891A740; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891A740u) goto L_0891A740; AOT_REGCACHE_SYNC_OUT(); return; L_0891A740: aot_gpr_4 = (ctx.gpr[2] | 0u); @@ -5957,7 +5958,7 @@ L_0891A740: ctx.gpr[7] = (ctx.gpr[23] | 0u); aot_gpr_31 = (0x0891A75Cu); aot_gpr_6 = (ctx.gpr[22] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891A75Cu) goto L_0891A75C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891A75Cu) goto L_0891A75C; AOT_REGCACHE_SYNC_OUT(); return; L_0891A75C: ctx.gpr[1] = (ctx.gpr[3] << 1u); @@ -6206,14 +6207,14 @@ L_0891A940: L_0891A948: aot_gpr_31 = (0x0891A950u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891A950u) goto L_0891A950; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891A950u) goto L_0891A950; AOT_REGCACHE_SYNC_OUT(); return; L_0891A950: ctx.gpr[19] = (ctx.gpr[3] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_31 = (0x0891A960u); ctx.gpr[18] = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891A960u) goto L_0891A960; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891A960u) goto L_0891A960; AOT_REGCACHE_SYNC_OUT(); return; L_0891A960: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-20060))); @@ -6221,7 +6222,7 @@ L_0891A960: aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x0891A974u); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891A974u) goto L_0891A974; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_16, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891A974u) goto L_0891A974; AOT_REGCACHE_SYNC_OUT(); return; L_0891A974: aot_gpr_5 = (ctx.gpr[19] | 0u); @@ -6229,7 +6230,7 @@ L_0891A974: ctx.gpr[7] = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x0891A988u); aot_gpr_6 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891A988u) goto L_0891A988; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B6256C, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891A988u) goto L_0891A988; AOT_REGCACHE_SYNC_OUT(); return; L_0891A988: { const bool branch_taken = static_cast(ctx.gpr[2]) <= 0; @@ -6270,14 +6271,14 @@ L_0891A9B0: L_0891A9C4: aot_gpr_31 = (0x0891A9CCu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891A9CCu) goto L_0891A9CC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891A9CCu) goto L_0891A9CC; AOT_REGCACHE_SYNC_OUT(); return; L_0891A9CC: ctx.gpr[19] = (ctx.gpr[3] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_31 = (0x0891A9DCu); ctx.gpr[18] = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891A9DCu) goto L_0891A9DC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891A9DCu) goto L_0891A9DC; AOT_REGCACHE_SYNC_OUT(); return; L_0891A9DC: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-20052))); @@ -6285,7 +6286,7 @@ L_0891A9DC: aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x0891A9F0u); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891A9F0u) goto L_0891A9F0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_16, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891A9F0u) goto L_0891A9F0; AOT_REGCACHE_SYNC_OUT(); return; L_0891A9F0: aot_gpr_5 = (ctx.gpr[19] | 0u); @@ -6293,7 +6294,7 @@ L_0891A9F0: ctx.gpr[7] = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x0891AA04u); aot_gpr_6 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891AA04u) goto L_0891AA04; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B6256C, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891AA04u) goto L_0891AA04; AOT_REGCACHE_SYNC_OUT(); return; L_0891AA04: { const bool branch_taken = static_cast(ctx.gpr[2]) >= 0; @@ -6463,7 +6464,7 @@ L_0891AB6C: ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(150))); aot_gpr_31 = (0x0891AB84u); ctx.gpr[8] = (0u | 100u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891AB84u) goto L_0891AB84; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891AB84u) goto L_0891AB84; AOT_REGCACHE_SYNC_OUT(); return; L_0891AB84: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2244))); @@ -6649,7 +6650,7 @@ L_0891AD0C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(200), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x0891AD34u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(328), std::bit_cast(aot_fpr_13)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891AD34u) goto L_0891AD34; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891AD34u) goto L_0891AD34; AOT_REGCACHE_SYNC_OUT(); return; L_0891AD34: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-20044))); @@ -6657,7 +6658,7 @@ L_0891AD34: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x0891AD48u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891AD48u) goto L_0891AD48; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891AD48u) goto L_0891AD48; AOT_REGCACHE_SYNC_OUT(); return; L_0891AD48: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-20036))); @@ -6906,7 +6907,7 @@ L_0891AF38: ctx.gpr[7] = (0u | 255u); aot_gpr_31 = (0x0891AF80u); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891AF80u) goto L_0891AF80; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891AF80u) goto L_0891AF80; AOT_REGCACHE_SYNC_OUT(); return; L_0891AF80: aot_gpr_4 = (0u | 44u); @@ -7001,7 +7002,7 @@ L_0891B054: ctx.gpr[18] = (ctx.gpr[28] + static_cast(7768)); aot_gpr_31 = (0x0891B060u); ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891B060u) goto L_0891B060; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891B060u) goto L_0891B060; AOT_REGCACHE_SYNC_OUT(); return; L_0891B060: ctx.gpr[21] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-20284))); @@ -7011,7 +7012,7 @@ L_0891B060: ctx.gpr[7] = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x0891B07Cu); aot_gpr_6 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891B07Cu) goto L_0891B07C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891B07Cu) goto L_0891B07C; AOT_REGCACHE_SYNC_OUT(); return; L_0891B07C: ctx.gpr[1] = (ctx.gpr[3] << 1u); @@ -7628,7 +7629,7 @@ L_0891B5A0: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_31 = (0x0891B5C0u); ctx.fpr[22] = std::bit_cast(std::bit_cast(aot_fpr_20) ^ 0x80000000u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891B5C0u) goto L_0891B5C0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891B5C0u) goto L_0891B5C0; AOT_REGCACHE_SYNC_OUT(); return; L_0891B5C0: aot_fpr_12 = aot_fpr_20 - ctx.fpr[22]; @@ -7639,7 +7640,7 @@ L_0891B5C0: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(608), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x0891B5E0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891B5E0u) goto L_0891B5E0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891B5E0u) goto L_0891B5E0; AOT_REGCACHE_SYNC_OUT(); return; L_0891B5E0: aot_fpr_12 = aot_fpr_20 - ctx.fpr[22]; @@ -8047,7 +8048,7 @@ L_0891B950: L_0891B954: aot_gpr_31 = (0x0891B95Cu); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891B95Cu) goto L_0891B95C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891B95Cu) goto L_0891B95C; AOT_REGCACHE_SYNC_OUT(); return; L_0891B95C: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(96))); @@ -8071,13 +8072,13 @@ L_0891B970: L_0891B978: aot_gpr_31 = (0x0891B980u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891B980u) goto L_0891B980; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891B980u) goto L_0891B980; AOT_REGCACHE_SYNC_OUT(); return; L_0891B980: ctx.gpr[22] = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(96))); aot_gpr_31 = (0x0891B98Cu); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891B98Cu) goto L_0891B98C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891B98Cu) goto L_0891B98C; AOT_REGCACHE_SYNC_OUT(); return; L_0891B98C: { const bool branch_taken = static_cast(ctx.gpr[22]) < 0; @@ -8194,7 +8195,7 @@ L_0891BA20: aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); aot_gpr_31 = (0x0891BA40u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891BA40u) goto L_0891BA40; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891BA40u) goto L_0891BA40; AOT_REGCACHE_SYNC_OUT(); return; L_0891BA40: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(96))); @@ -8333,7 +8334,7 @@ L_0891BB60: L_0891BB70: aot_gpr_31 = (0x0891BB78u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891BB78u) goto L_0891BB78; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891BB78u) goto L_0891BB78; AOT_REGCACHE_SYNC_OUT(); return; L_0891BB78: { const bool branch_taken = ctx.gpr[2] != 0u; @@ -8401,7 +8402,7 @@ L_0891BBF8: L_0891BC00: aot_gpr_31 = (0x0891BC08u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891BC08u) goto L_0891BC08; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891BC08u) goto L_0891BC08; AOT_REGCACHE_SYNC_OUT(); return; L_0891BC08: { const bool branch_taken = ctx.gpr[2] != 0u; @@ -8482,7 +8483,7 @@ L_0891BC90: L_0891BC9C: aot_gpr_31 = (0x0891BCA4u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891BCA4u) goto L_0891BCA4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891BCA4u) goto L_0891BCA4; AOT_REGCACHE_SYNC_OUT(); return; L_0891BCA4: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -8634,7 +8635,7 @@ L_0891BD9C: L_0891BDAC: aot_gpr_31 = (0x0891BDB4u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 454u, 0x08909B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891BDB4u) goto L_0891BDB4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08909B60, 65u, 454u, 0x08909B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 454u, 0x08909B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891BDB4u) goto L_0891BDB4; AOT_REGCACHE_SYNC_OUT(); return; L_0891BDB4: { const bool branch_taken = 0u == 0u; @@ -8744,7 +8745,7 @@ L_0891BE40: L_0891BE50: aot_gpr_31 = (0x0891BE58u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 454u, 0x08909B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891BE58u) goto L_0891BE58; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08909B60, 65u, 454u, 0x08909B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 454u, 0x08909B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891BE58u) goto L_0891BE58; AOT_REGCACHE_SYNC_OUT(); return; L_0891BE58: { const bool branch_taken = 0u == 0u; @@ -8850,7 +8851,7 @@ L_0891BF14: ctx.gpr[17] = (ctx.gpr[17] & 255u); aot_gpr_31 = (0x0891BF20u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891BF20u) goto L_0891BF20; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891BF20u) goto L_0891BF20; AOT_REGCACHE_SYNC_OUT(); return; L_0891BF20: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -8972,7 +8973,7 @@ L_0891BFCC: L_0891BFD4: aot_gpr_31 = (0x0891BFDCu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891BFDCu) goto L_0891BFDC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891BFDCu) goto L_0891BFDC; AOT_REGCACHE_SYNC_OUT(); return; L_0891BFDC: aot_gpr_4 = (ctx.gpr[2] & 65535u); diff --git a/profiles/vcs/generated/generated_unit_0070.cpp b/profiles/vcs/generated/generated_unit_0070.cpp index 8f7a0c1..16fa18e 100644 --- a/profiles/vcs/generated/generated_unit_0070.cpp +++ b/profiles/vcs/generated/generated_unit_0070.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0070[4095] = { }; void recomp_unit_0070_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,16,29,31,6 fprs=12,13,20,14 gpr_occ=3479 fpr_occ=610 gpr_total=4914 fpr_total=788 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,31,29,16,6 fprs=12,13,20,14 gpr_occ=3645 fpr_occ=611 gpr_total=5139 fpr_total=789 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; - std::uint32_t aot_gpr_16 = ctx.gpr[16]; - std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; + std::uint32_t aot_gpr_29 = ctx.gpr[29]; + std::uint32_t aot_gpr_16 = ctx.gpr[16]; std::uint32_t aot_gpr_6 = ctx.gpr[6]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_20 = ctx.fpr[20]; float aot_fpr_14 = ctx.fpr[14]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[16] = aot_gpr_16; ctx.gpr[29] = aot_gpr_29; ctx.gpr[31] = aot_gpr_31; ctx.gpr[6] = aot_gpr_6; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; ctx.fpr[14] = aot_fpr_14; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_6 = ctx.gpr[6]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_14 = ctx.fpr[14]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[31] = aot_gpr_31; ctx.gpr[29] = aot_gpr_29; ctx.gpr[16] = aot_gpr_16; ctx.gpr[6] = aot_gpr_6; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; ctx.fpr[14] = aot_fpr_14; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_6 = ctx.gpr[6]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_14 = ctx.fpr[14]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -1130,7 +1131,7 @@ L_0891C094: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(456), aot_gpr_4); aot_gpr_31 = (0x0891C0ACu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 454u, 0x08909B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891C0ACu) goto L_0891C0AC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08909B60, 65u, 454u, 0x08909B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 454u, 0x08909B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891C0ACu) goto L_0891C0AC; AOT_REGCACHE_SYNC_OUT(); return; L_0891C0AC: { const bool branch_taken = 0u == 0u; @@ -1147,7 +1148,7 @@ L_0891C0B4: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(456), aot_gpr_4); aot_gpr_31 = (0x0891C0CCu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 454u, 0x08909B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891C0CCu) goto L_0891C0CC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08909B60, 65u, 454u, 0x08909B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 454u, 0x08909B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891C0CCu) goto L_0891C0CC; AOT_REGCACHE_SYNC_OUT(); return; L_0891C0CC: { std::uint32_t aot_run_words[5]{}; @@ -1244,7 +1245,7 @@ L_0891C160: L_0891C168: aot_gpr_31 = (0x0891C170u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 454u, 0x08909B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891C170u) goto L_0891C170; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08909B60, 65u, 454u, 0x08909B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 454u, 0x08909B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891C170u) goto L_0891C170; AOT_REGCACHE_SYNC_OUT(); return; L_0891C170: aot_gpr_31 = (0x0891C178u); @@ -1382,7 +1383,7 @@ L_0891C24C: L_0891C254: aot_gpr_31 = (0x0891C25Cu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891C25Cu) goto L_0891C25C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891C25Cu) goto L_0891C25C; AOT_REGCACHE_SYNC_OUT(); return; L_0891C25C: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -1439,7 +1440,7 @@ L_0891C29C: L_0891C2AC: aot_gpr_31 = (0x0891C2B4u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891C2B4u) goto L_0891C2B4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891C2B4u) goto L_0891C2B4; AOT_REGCACHE_SYNC_OUT(); return; L_0891C2B4: ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(464))); @@ -1745,7 +1746,7 @@ L_0891C51C: L_0891C528: aot_gpr_31 = (0x0891C530u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891C530u) goto L_0891C530; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891C530u) goto L_0891C530; AOT_REGCACHE_SYNC_OUT(); return; L_0891C530: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -1789,7 +1790,7 @@ L_0891C564: L_0891C56C: aot_gpr_31 = (0x0891C574u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[0])); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891C574u) goto L_0891C574; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891C574u) goto L_0891C574; AOT_REGCACHE_SYNC_OUT(); return; L_0891C574: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-20012))); @@ -1803,7 +1804,7 @@ L_0891C588: aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x0891C594u); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891C594u) goto L_0891C594; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B627F0, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891C594u) goto L_0891C594; AOT_REGCACHE_SYNC_OUT(); return; L_0891C594: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(456))); @@ -1956,7 +1957,7 @@ L_0891C6C0: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(460), aot_gpr_4); aot_gpr_31 = (0x0891C6D8u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891C6D8u) goto L_0891C6D8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891C6D8u) goto L_0891C6D8; AOT_REGCACHE_SYNC_OUT(); return; L_0891C6D8: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -2176,7 +2177,7 @@ L_0891C88C: aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x0891C898u); aot_gpr_6 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891C898u) goto L_0891C898; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891C898u) goto L_0891C898; AOT_REGCACHE_SYNC_OUT(); return; L_0891C898: { const bool branch_taken = 0u == 0u; @@ -2362,7 +2363,7 @@ L_0891C9E8: aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x0891C9F4u); aot_gpr_6 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891C9F4u) goto L_0891C9F4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891C9F4u) goto L_0891C9F4; AOT_REGCACHE_SYNC_OUT(); return; L_0891C9F4: { std::uint32_t aot_run_words[9]{}; @@ -2741,7 +2742,7 @@ L_0891CC24: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1136))); aot_gpr_31 = (0x0891CC30u); aot_gpr_5 = (ctx.gpr[17] + static_cast(1136)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891CC30u) goto L_0891CC30; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A93004, 163u, 430u, 0x08A93004u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891CC30u) goto L_0891CC30; AOT_REGCACHE_SYNC_OUT(); return; L_0891CC30: { const bool branch_taken = ctx.gpr[18] == 0u; @@ -2764,7 +2765,7 @@ L_0891CC44: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1136))); aot_gpr_31 = (0x0891CC50u); aot_gpr_5 = (ctx.gpr[17] + static_cast(1136)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891CC50u) goto L_0891CC50; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891CC50u) goto L_0891CC50; AOT_REGCACHE_SYNC_OUT(); return; L_0891CC50: { const bool branch_taken = ctx.gpr[18] == 0u; @@ -3624,7 +3625,7 @@ L_0891D228: aot_mem.aot_direct_store32(ctx.gpr[30] + static_cast(1024), aot_gpr_4); aot_gpr_31 = (0x0891D24Cu); aot_gpr_4 = (ctx.gpr[30] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891D24Cu) goto L_0891D24C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08908E78, 65u, 261u, 0x08908E78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891D24Cu) goto L_0891D24C; AOT_REGCACHE_SYNC_OUT(); return; L_0891D24C: aot_gpr_31 = (0x0891D254u); @@ -3644,7 +3645,7 @@ L_0891D260: aot_gpr_4 = (ctx.gpr[30] | 0u); aot_gpr_31 = (0x0891D26Cu); aot_gpr_5 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891D26Cu) goto L_0891D26C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08908E78, 65u, 261u, 0x08908E78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891D26Cu) goto L_0891D26C; AOT_REGCACHE_SYNC_OUT(); return; L_0891D26C: aot_gpr_16 = (0u | 1u); @@ -3657,7 +3658,7 @@ L_0891D27C: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[30] + static_cast(1248))); aot_gpr_31 = (0x0891D288u); aot_gpr_4 = (ctx.gpr[30] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891D288u) goto L_0891D288; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891D288u) goto L_0891D288; AOT_REGCACHE_SYNC_OUT(); return; L_0891D288: ctx.gpr[2] = (aot_gpr_16 | 0u); @@ -7323,7 +7324,7 @@ L_0891E824: ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(2232))); aot_gpr_31 = (0x0891E838u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891E838u) goto L_0891E838; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08908E78, 65u, 261u, 0x08908E78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891E838u) goto L_0891E838; AOT_REGCACHE_SYNC_OUT(); return; L_0891E838: aot_gpr_31 = (0x0891E840u); @@ -7343,7 +7344,7 @@ L_0891E84C: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x0891E858u); aot_gpr_5 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891E858u) goto L_0891E858; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08908E78, 65u, 261u, 0x08908E78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891E858u) goto L_0891E858; AOT_REGCACHE_SYNC_OUT(); return; L_0891E858: aot_gpr_4 = (ctx.gpr[18] | 0u); @@ -7355,7 +7356,7 @@ L_0891E864: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(1248))); aot_gpr_31 = (0x0891E870u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891E870u) goto L_0891E870; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891E870u) goto L_0891E870; AOT_REGCACHE_SYNC_OUT(); return; L_0891E870: ctx.gpr[2] = (aot_gpr_16 | 0u); @@ -7480,7 +7481,7 @@ L_0891E948: L_0891E950: aot_gpr_31 = (0x0891E958u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891E958u) goto L_0891E958; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891E958u) goto L_0891E958; AOT_REGCACHE_SYNC_OUT(); return; L_0891E958: { const bool branch_taken = ctx.gpr[2] != 0u; @@ -7600,7 +7601,7 @@ L_0891EA3C: ctx.gpr[19] = (0u | 1u); aot_gpr_31 = (0x0891EA48u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891EA48u) goto L_0891EA48; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891EA48u) goto L_0891EA48; AOT_REGCACHE_SYNC_OUT(); return; L_0891EA48: { const bool branch_taken = ctx.gpr[2] != 0u; @@ -7661,7 +7662,7 @@ L_0891EA84: L_0891EA9C: aot_gpr_31 = (0x0891EAA4u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891EAA4u) goto L_0891EAA4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891EAA4u) goto L_0891EAA4; AOT_REGCACHE_SYNC_OUT(); return; L_0891EAA4: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -7836,7 +7837,7 @@ L_0891EB98: aot_gpr_6 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0891EBBCu); aot_gpr_5 = (aot_gpr_5 + static_cast(-13576)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891EBBCu) goto L_0891EBBC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891EBBCu) goto L_0891EBBC; AOT_REGCACHE_SYNC_OUT(); return; L_0891EBBC: { const bool branch_taken = 0u == 0u; @@ -7889,7 +7890,7 @@ L_0891EC00: aot_gpr_6 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0891EC24u); aot_gpr_5 = (aot_gpr_5 + static_cast(-13576)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891EC24u) goto L_0891EC24; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891EC24u) goto L_0891EC24; AOT_REGCACHE_SYNC_OUT(); return; L_0891EC24: { const bool branch_taken = ctx.gpr[18] != 0u; @@ -7921,7 +7922,7 @@ L_0891EC4C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0891EC5Cu); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891EC5Cu) goto L_0891EC5C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08908E78, 65u, 261u, 0x08908E78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891EC5Cu) goto L_0891EC5C; AOT_REGCACHE_SYNC_OUT(); return; L_0891EC5C: aot_gpr_31 = (0x0891EC64u); @@ -7941,7 +7942,7 @@ L_0891EC70: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0891EC7Cu); aot_gpr_5 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891EC7Cu) goto L_0891EC7C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08908E78, 65u, 261u, 0x08908E78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891EC7Cu) goto L_0891EC7C; AOT_REGCACHE_SYNC_OUT(); return; L_0891EC7C: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -8087,7 +8088,7 @@ L_0891ED80: L_0891ED8C: aot_gpr_31 = (0x0891ED94u); aot_gpr_4 = (ctx.gpr[22] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891ED94u) goto L_0891ED94; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891ED94u) goto L_0891ED94; AOT_REGCACHE_SYNC_OUT(); return; L_0891ED94: { const bool branch_taken = ctx.gpr[2] != 0u; @@ -8111,7 +8112,7 @@ L_0891EDA0: L_0891EDA8: aot_gpr_31 = (0x0891EDB0u); aot_gpr_4 = (ctx.gpr[22] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891EDB0u) goto L_0891EDB0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891EDB0u) goto L_0891EDB0; AOT_REGCACHE_SYNC_OUT(); return; L_0891EDB0: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -8135,7 +8136,7 @@ L_0891EDC8: aot_gpr_5 = (ctx.gpr[22] + static_cast(3172)); aot_gpr_31 = (0x0891EDD4u); aot_gpr_4 = (ctx.gpr[23] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891EDD4u) goto L_0891EDD4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891EDD4u) goto L_0891EDD4; AOT_REGCACHE_SYNC_OUT(); return; L_0891EDD4: { const bool branch_taken = 0u == 0u; @@ -8216,7 +8217,7 @@ L_0891EE70: L_0891EE80: aot_gpr_31 = (0x0891EE88u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891EE88u) goto L_0891EE88; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891EE88u) goto L_0891EE88; AOT_REGCACHE_SYNC_OUT(); return; L_0891EE88: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -8231,7 +8232,7 @@ L_0891EE88: L_0891EE98: aot_gpr_31 = (0x0891EEA0u); aot_fpr_20 = aot_fpr_20 + ctx.fpr[24]; - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891EEA0u) goto L_0891EEA0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891EEA0u) goto L_0891EEA0; AOT_REGCACHE_SYNC_OUT(); return; L_0891EEA0: ctx.gpr[21] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-20252))); @@ -8267,7 +8268,7 @@ L_0891EECC: L_0891EED4: aot_gpr_31 = (0x0891EEDCu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891EEDCu) goto L_0891EEDC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891EEDCu) goto L_0891EEDC; AOT_REGCACHE_SYNC_OUT(); return; L_0891EEDC: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -8346,7 +8347,7 @@ L_0891EF4C: L_0891EF54: aot_gpr_31 = (0x0891EF5Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891EF5Cu) goto L_0891EF5C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891EF5Cu) goto L_0891EF5C; AOT_REGCACHE_SYNC_OUT(); return; L_0891EF5C: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -8549,7 +8550,7 @@ L_0891F0CC: L_0891F0D4: aot_gpr_31 = (0x0891F0DCu); aot_gpr_4 = (ctx.gpr[22] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891F0DCu) goto L_0891F0DC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891F0DCu) goto L_0891F0DC; AOT_REGCACHE_SYNC_OUT(); return; L_0891F0DC: { const bool branch_taken = ctx.gpr[2] != 0u; @@ -8574,7 +8575,7 @@ L_0891F0F8: aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(2256), std::bit_cast(aot_fpr_20)); aot_gpr_31 = (0x0891F104u); aot_gpr_4 = (ctx.gpr[22] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 454u, 0x08909B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891F104u) goto L_0891F104; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08909B60, 65u, 454u, 0x08909B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 454u, 0x08909B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891F104u) goto L_0891F104; AOT_REGCACHE_SYNC_OUT(); return; L_0891F104: aot_gpr_31 = (0x0891F10Cu); @@ -8625,14 +8626,14 @@ L_0891F158: aot_gpr_6 = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x0891F17Cu); aot_gpr_5 = (aot_gpr_5 + static_cast(-13576)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891F17Cu) goto L_0891F17C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891F17Cu) goto L_0891F17C; AOT_REGCACHE_SYNC_OUT(); return; L_0891F17C: aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(2232))); aot_gpr_4 = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x0891F18Cu); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891F18Cu) goto L_0891F18C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08908E78, 65u, 261u, 0x08908E78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891F18Cu) goto L_0891F18C; AOT_REGCACHE_SYNC_OUT(); return; L_0891F18C: aot_gpr_31 = (0x0891F194u); @@ -8668,7 +8669,7 @@ L_0891F1B0: aot_gpr_4 = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x0891F1BCu); aot_gpr_5 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891F1BCu) goto L_0891F1BC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08908E78, 65u, 261u, 0x08908E78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891F1BCu) goto L_0891F1BC; AOT_REGCACHE_SYNC_OUT(); return; L_0891F1BC: aot_gpr_4 = (ctx.gpr[22] | 0u); @@ -8692,7 +8693,7 @@ L_0891F1E0: aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(2256), std::bit_cast(aot_fpr_20)); aot_gpr_31 = (0x0891F1ECu); aot_gpr_4 = (ctx.gpr[22] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 454u, 0x08909B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891F1ECu) goto L_0891F1EC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08909B60, 65u, 454u, 0x08909B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 454u, 0x08909B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891F1ECu) goto L_0891F1EC; AOT_REGCACHE_SYNC_OUT(); return; L_0891F1EC: aot_gpr_31 = (0x0891F1F4u); @@ -8726,7 +8727,7 @@ L_0891F224: aot_gpr_6 = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x0891F238u); aot_gpr_5 = (aot_gpr_5 + static_cast(-13576)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891F238u) goto L_0891F238; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891F238u) goto L_0891F238; AOT_REGCACHE_SYNC_OUT(); return; L_0891F238: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast(72))); @@ -8765,7 +8766,7 @@ L_0891F264: L_0891F270: aot_gpr_31 = (0x0891F278u); aot_gpr_4 = (ctx.gpr[23] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891F278u) goto L_0891F278; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891F278u) goto L_0891F278; AOT_REGCACHE_SYNC_OUT(); return; L_0891F278: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -9073,7 +9074,7 @@ L_0891F4C0: L_0891F4E8: aot_gpr_31 = (0x0891F4F0u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891F4F0u) goto L_0891F4F0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891F4F0u) goto L_0891F4F0; AOT_REGCACHE_SYNC_OUT(); return; L_0891F4F0: { const bool branch_taken = ctx.gpr[2] != 0u; @@ -9138,7 +9139,7 @@ L_0891F540: L_0891F548: aot_gpr_31 = (0x0891F550u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891F550u) goto L_0891F550; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891F550u) goto L_0891F550; AOT_REGCACHE_SYNC_OUT(); return; L_0891F550: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -9151,7 +9152,7 @@ L_0891F550: L_0891F558: aot_gpr_31 = (0x0891F560u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891F560u) goto L_0891F560; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891F560u) goto L_0891F560; AOT_REGCACHE_SYNC_OUT(); return; L_0891F560: aot_gpr_4 = (50298u << 16u); @@ -9336,7 +9337,7 @@ L_0891F698: aot_gpr_6 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x0891F6ACu); aot_gpr_5 = (aot_gpr_5 + static_cast(-13152)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891F6ACu) goto L_0891F6AC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891F6ACu) goto L_0891F6AC; AOT_REGCACHE_SYNC_OUT(); return; L_0891F6AC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(456))); @@ -9644,7 +9645,7 @@ L_0891F890: L_0891F89C: aot_gpr_31 = (0x0891F8A4u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891F8A4u) goto L_0891F8A4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891F8A4u) goto L_0891F8A4; AOT_REGCACHE_SYNC_OUT(); return; L_0891F8A4: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -9902,7 +9903,7 @@ L_0891FA28: L_0891FA30: aot_gpr_31 = (0x0891FA38u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 454u, 0x08909B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891FA38u) goto L_0891FA38; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08909B60, 65u, 454u, 0x08909B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 454u, 0x08909B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891FA38u) goto L_0891FA38; AOT_REGCACHE_SYNC_OUT(); return; L_0891FA38: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2244))); @@ -10323,7 +10324,7 @@ L_0891FD5C: ctx.gpr[17] = (0u | 0u); aot_gpr_31 = (0x0891FD7Cu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891FD7Cu) goto L_0891FD7C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0891FD7Cu) goto L_0891FD7C; AOT_REGCACHE_SYNC_OUT(); return; L_0891FD7C: { const bool branch_taken = ctx.gpr[2] != 0u; diff --git a/profiles/vcs/generated/generated_unit_0071.cpp b/profiles/vcs/generated/generated_unit_0071.cpp index bef8966..2ee9aea 100644 --- a/profiles/vcs/generated/generated_unit_0071.cpp +++ b/profiles/vcs/generated/generated_unit_0071.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0071[4090] = { }; void recomp_unit_0071_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,16,5,31,2,29 fprs=12,13,22,20 gpr_occ=4122 fpr_occ=826 gpr_total=4778 fpr_total=1065 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,31,5,16,2,6 fprs=12,13,22,20 gpr_occ=4200 fpr_occ=826 gpr_total=4869 fpr_total=1065 std::uint32_t aot_gpr_4 = ctx.gpr[4]; - std::uint32_t aot_gpr_16 = ctx.gpr[16]; - std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; + std::uint32_t aot_gpr_5 = ctx.gpr[5]; + std::uint32_t aot_gpr_16 = ctx.gpr[16]; std::uint32_t aot_gpr_2 = ctx.gpr[2]; - std::uint32_t aot_gpr_29 = ctx.gpr[29]; + std::uint32_t aot_gpr_6 = ctx.gpr[6]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_22 = ctx.fpr[22]; float aot_fpr_20 = ctx.fpr[20]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[16] = aot_gpr_16; ctx.gpr[5] = aot_gpr_5; ctx.gpr[31] = aot_gpr_31; ctx.gpr[2] = aot_gpr_2; ctx.gpr[29] = aot_gpr_29; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[22] = aot_fpr_22; ctx.fpr[20] = aot_fpr_20; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_2 = ctx.gpr[2]; aot_gpr_29 = ctx.gpr[29]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_22 = ctx.fpr[22]; aot_fpr_20 = ctx.fpr[20]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[31] = aot_gpr_31; ctx.gpr[5] = aot_gpr_5; ctx.gpr[16] = aot_gpr_16; ctx.gpr[2] = aot_gpr_2; ctx.gpr[6] = aot_gpr_6; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[22] = aot_fpr_22; ctx.fpr[20] = aot_fpr_20; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_2 = ctx.gpr[2]; aot_gpr_6 = ctx.gpr[6]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_22 = ctx.fpr[22]; aot_fpr_20 = ctx.fpr[20]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -1361,7 +1362,7 @@ L_08920090: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>(); - aot_gpr_4 = (aot_gpr_29 + static_cast(48)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(48)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; @@ -1390,18 +1391,18 @@ L_08920090: } L_089200D8: aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1784))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1784))); aot_gpr_5 = (0u | 200u); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(1768), aot_gpr_5); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(1768), aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1784))); - ctx.gpr[6] = (0u + static_cast(-12289)); + aot_gpr_6 = (0u + static_cast(-12289)); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(472))); - ctx.gpr[6] = (ctx.gpr[7] & ctx.gpr[6]); - ctx.gpr[6] = (ctx.gpr[6] | 4096u); - aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(472), ctx.gpr[6]); + aot_gpr_6 = (ctx.gpr[7] & aot_gpr_6); + aot_gpr_6 = (aot_gpr_6 | 4096u); + aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(472), aot_gpr_6); aot_gpr_31 = (0x08920108u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1784))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08920108u) goto L_08920108; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08920108u) goto L_08920108; AOT_REGCACHE_SYNC_OUT(); return; L_08920108: { const bool branch_taken = aot_gpr_2 == 0u; @@ -1453,11 +1454,11 @@ L_08920160: aot_gpr_4 = (aot_gpr_4 + static_cast(32304)); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(80))); aot_gpr_5 = (aot_gpr_5 << 5u); - ctx.gpr[6] = (0u - aot_gpr_5); + aot_gpr_6 = (0u - aot_gpr_5); aot_gpr_5 = (aot_gpr_5 << 2u); - ctx.gpr[6] = (ctx.gpr[6] + aot_gpr_5); + aot_gpr_6 = (aot_gpr_6 + aot_gpr_5); aot_gpr_5 = (aot_gpr_5 << 2u); - aot_gpr_5 = (ctx.gpr[6] + aot_gpr_5); + aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(112)))))); aot_gpr_5 = (0u | 7u); @@ -1472,11 +1473,11 @@ L_08920194: aot_gpr_4 = (aot_gpr_4 + static_cast(32304)); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(80))); aot_gpr_5 = (aot_gpr_5 << 5u); - ctx.gpr[6] = (0u - aot_gpr_5); + aot_gpr_6 = (0u - aot_gpr_5); aot_gpr_5 = (aot_gpr_5 << 2u); - ctx.gpr[6] = (ctx.gpr[6] + aot_gpr_5); + aot_gpr_6 = (aot_gpr_6 + aot_gpr_5); aot_gpr_5 = (aot_gpr_5 << 2u); - aot_gpr_5 = (ctx.gpr[6] + aot_gpr_5); + aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(112)))))); aot_gpr_5 = (0u | 46u); @@ -1491,11 +1492,11 @@ L_089201C8: aot_gpr_4 = (aot_gpr_4 + static_cast(32304)); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(80))); aot_gpr_5 = (aot_gpr_5 << 5u); - ctx.gpr[6] = (0u - aot_gpr_5); + aot_gpr_6 = (0u - aot_gpr_5); aot_gpr_5 = (aot_gpr_5 << 2u); - ctx.gpr[6] = (ctx.gpr[6] + aot_gpr_5); + aot_gpr_6 = (aot_gpr_6 + aot_gpr_5); aot_gpr_5 = (aot_gpr_5 << 2u); - aot_gpr_5 = (ctx.gpr[6] + aot_gpr_5); + aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(112)))))); aot_gpr_5 = (0u | 47u); @@ -1510,11 +1511,11 @@ L_089201FC: aot_gpr_4 = (aot_gpr_4 + static_cast(32304)); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(80))); aot_gpr_5 = (aot_gpr_5 << 5u); - ctx.gpr[6] = (0u - aot_gpr_5); + aot_gpr_6 = (0u - aot_gpr_5); aot_gpr_5 = (aot_gpr_5 << 2u); - ctx.gpr[6] = (ctx.gpr[6] + aot_gpr_5); + aot_gpr_6 = (aot_gpr_6 + aot_gpr_5); aot_gpr_5 = (aot_gpr_5 << 2u); - aot_gpr_5 = (ctx.gpr[6] + aot_gpr_5); + aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(112)))))); aot_gpr_5 = (0u | 8u); @@ -1529,11 +1530,11 @@ L_08920230: aot_gpr_4 = (aot_gpr_4 + static_cast(32304)); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(80))); aot_gpr_5 = (aot_gpr_5 << 5u); - ctx.gpr[6] = (0u - aot_gpr_5); + aot_gpr_6 = (0u - aot_gpr_5); aot_gpr_5 = (aot_gpr_5 << 2u); - ctx.gpr[6] = (ctx.gpr[6] + aot_gpr_5); + aot_gpr_6 = (aot_gpr_6 + aot_gpr_5); aot_gpr_5 = (aot_gpr_5 << 2u); - aot_gpr_5 = (ctx.gpr[6] + aot_gpr_5); + aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(112)))))); aot_gpr_5 = (0u | 34u); @@ -1548,11 +1549,11 @@ L_08920264: aot_gpr_4 = (aot_gpr_4 + static_cast(32304)); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(80))); aot_gpr_5 = (aot_gpr_5 << 5u); - ctx.gpr[6] = (0u - aot_gpr_5); + aot_gpr_6 = (0u - aot_gpr_5); aot_gpr_5 = (aot_gpr_5 << 2u); - ctx.gpr[6] = (ctx.gpr[6] + aot_gpr_5); + aot_gpr_6 = (aot_gpr_6 + aot_gpr_5); aot_gpr_5 = (aot_gpr_5 << 2u); - aot_gpr_5 = (ctx.gpr[6] + aot_gpr_5); + aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(112)))))); aot_gpr_5 = (0u | 16u); @@ -1567,11 +1568,11 @@ L_08920298: aot_gpr_4 = (aot_gpr_4 + static_cast(32304)); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(80))); aot_gpr_5 = (aot_gpr_5 << 5u); - ctx.gpr[6] = (0u - aot_gpr_5); + aot_gpr_6 = (0u - aot_gpr_5); aot_gpr_5 = (aot_gpr_5 << 2u); - ctx.gpr[6] = (ctx.gpr[6] + aot_gpr_5); + aot_gpr_6 = (aot_gpr_6 + aot_gpr_5); aot_gpr_5 = (aot_gpr_5 << 2u); - aot_gpr_5 = (ctx.gpr[6] + aot_gpr_5); + aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(112)))))); aot_gpr_5 = (0u | 45u); @@ -1587,11 +1588,11 @@ L_089202CC: aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(80))); aot_gpr_4 = (aot_gpr_4 + static_cast(112)); aot_gpr_5 = (aot_gpr_5 << 5u); - ctx.gpr[6] = (0u - aot_gpr_5); + aot_gpr_6 = (0u - aot_gpr_5); aot_gpr_5 = (aot_gpr_5 << 2u); - ctx.gpr[6] = (ctx.gpr[6] + aot_gpr_5); + aot_gpr_6 = (aot_gpr_6 + aot_gpr_5); aot_gpr_5 = (aot_gpr_5 << 2u); - aot_gpr_5 = (ctx.gpr[6] + aot_gpr_5); + aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); aot_gpr_31 = (0x089202F8u); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0101_entry, 101u, 119u, 0x089990E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089202F8u) goto L_089202F8; @@ -1609,7 +1610,7 @@ L_08920300: ctx.gpr[19] = (aot_gpr_16 + aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(1784))); aot_gpr_5 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x08920320u); ctx.gpr[8] = (0u | 0u); @@ -1653,7 +1654,7 @@ L_08920350: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_4 = (aot_gpr_29 + static_cast(64)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(64)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; @@ -1670,10 +1671,10 @@ L_08920350: L_08920370: aot_fpr_12 = std::bit_cast(ctx.gpr[17]); aot_gpr_5 = (aot_gpr_16 + static_cast(17)); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-5028))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-5028))); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); { const bool branch_taken = static_cast(ctx.gpr[17]) >= 0; - aot_gpr_4 = (aot_gpr_29 + static_cast(64)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(64)); if (branch_taken) { goto L_08920394; } @@ -1715,11 +1716,11 @@ L_089203BC: aot_gpr_4 = (16512u << 16u); ctx.fpr[16] = std::bit_cast(aot_gpr_4); ctx.gpr[9] = (16928u << 16u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), 0u); ctx.fpr[17] = std::bit_cast(ctx.gpr[8]); aot_gpr_4 = (aot_gpr_5 | 0u); ctx.fpr[18] = std::bit_cast(ctx.gpr[9]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), 0u); ctx.fpr[14] = std::bit_cast(std::bit_cast(aot_fpr_13)); aot_gpr_5 = (0u | 1u); ctx.gpr[8] = (0u | 255u); @@ -1727,7 +1728,7 @@ L_089203BC: ctx.gpr[10] = (0u | 0u); ctx.gpr[11] = (0u | 0u); aot_gpr_31 = (0x08920420u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), std::bit_cast(aot_fpr_13)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(8), std::bit_cast(aot_fpr_13)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0164_entry, 164u, 490u, 0x08A97518u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08920420u) goto L_08920420; AOT_REGCACHE_SYNC_OUT(); return; L_08920420: @@ -1762,7 +1763,7 @@ L_08920438: aot_gpr_2 = (16256u << 16u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-5028))); ctx.fpr[17] = std::bit_cast(aot_gpr_2); - ctx.gpr[6] = (aot_gpr_29 + static_cast(64)); + aot_gpr_6 = (ctx.gpr[29] + static_cast(64)); ctx.gpr[11] = (0u | 40000u); aot_gpr_4 = (0u | 1u); ctx.gpr[7] = (0u | 255u); @@ -1810,15 +1811,15 @@ L_089204B0: L_089204C8: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(456))); aot_gpr_4 = (0u | 0u); - ctx.gpr[6] = (0u + static_cast(-2)); + aot_gpr_6 = (0u + static_cast(-2)); aot_gpr_4 = (aot_gpr_4 & 1u); - aot_gpr_5 = (aot_gpr_5 & ctx.gpr[6]); + aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); aot_gpr_4 = (aot_gpr_5 | aot_gpr_4); aot_gpr_5 = (0u | 0u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(456), aot_gpr_4); aot_gpr_5 = (aot_gpr_5 & 1u); - ctx.gpr[6] = (0u + static_cast(-3)); - aot_gpr_4 = (aot_gpr_4 & ctx.gpr[6]); + aot_gpr_6 = (0u + static_cast(-3)); + aot_gpr_4 = (aot_gpr_4 & aot_gpr_6); aot_gpr_5 = (aot_gpr_5 << 1u); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(456), aot_gpr_4); @@ -1857,7 +1858,7 @@ L_08920520: goto L_0892052C; } L_0892052C: - aot_gpr_4 = (aot_gpr_29 + static_cast(96)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(96)); aot_gpr_31 = (0x08920538u); aot_gpr_5 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 912u, 0x0885F828u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08920538u) goto L_08920538; @@ -1866,54 +1867,54 @@ L_08920538: aot_gpr_4 = (0u | 0u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 1u); - ctx.gpr[6] = (0u + static_cast(-16385)); - aot_gpr_5 = (aot_gpr_5 & ctx.gpr[6]); + aot_gpr_6 = (0u + static_cast(-16385)); + aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); aot_gpr_4 = (aot_gpr_4 << 14u); aot_gpr_4 = (aot_gpr_5 | aot_gpr_4); aot_gpr_5 = (0u | 0u); - ctx.gpr[6] = (0u + static_cast(-4097)); + aot_gpr_6 = (0u + static_cast(-4097)); aot_gpr_5 = (aot_gpr_5 & 1u); - ctx.gpr[6] = (aot_gpr_4 & ctx.gpr[6]); + aot_gpr_6 = (aot_gpr_4 & aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(72), aot_gpr_4); aot_gpr_4 = (aot_gpr_5 << 12u); - aot_gpr_4 = (ctx.gpr[6] | aot_gpr_4); + aot_gpr_4 = (aot_gpr_6 | aot_gpr_4); aot_gpr_5 = (0u | 0u); - ctx.gpr[6] = (65535u << 16u); + aot_gpr_6 = (65535u << 16u); aot_gpr_5 = (aot_gpr_5 & 1u); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(32767)); + aot_gpr_6 = (aot_gpr_6 + static_cast(32767)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(72), aot_gpr_4); - aot_gpr_4 = (aot_gpr_4 & ctx.gpr[6]); + aot_gpr_4 = (aot_gpr_4 & aot_gpr_6); aot_gpr_5 = (aot_gpr_5 << 15u); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); aot_gpr_5 = (0u | 0u); - ctx.gpr[6] = (65534u << 16u); + aot_gpr_6 = (65534u << 16u); aot_gpr_5 = (aot_gpr_5 & 1u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(72), aot_gpr_4); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(-1)); - aot_gpr_4 = (aot_gpr_4 & ctx.gpr[6]); + aot_gpr_6 = (aot_gpr_6 + static_cast(-1)); + aot_gpr_4 = (aot_gpr_4 & aot_gpr_6); aot_gpr_5 = (aot_gpr_5 << 17u); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); aot_gpr_5 = (0u | 0u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(76))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(76))); aot_gpr_5 = (aot_gpr_5 & 1u); ctx.gpr[7] = (0u + static_cast(-3)); aot_fpr_12 = std::bit_cast(0u); - ctx.gpr[6] = (ctx.gpr[6] & ctx.gpr[7]); + aot_gpr_6 = (aot_gpr_6 & ctx.gpr[7]); aot_gpr_5 = (aot_gpr_5 << 1u); ctx.gpr[7] = (0u | 1u); - aot_gpr_5 = (ctx.gpr[6] | aot_gpr_5); + aot_gpr_5 = (aot_gpr_6 | aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(72), aot_gpr_4); - ctx.gpr[6] = (ctx.gpr[7] & 1u); + aot_gpr_6 = (ctx.gpr[7] & 1u); ctx.gpr[7] = (0u + static_cast(-513)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(76), aot_gpr_5); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[7]); - aot_gpr_5 = (ctx.gpr[6] << 9u); + aot_gpr_5 = (aot_gpr_6 << 9u); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(328))); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(72), aot_gpr_4); { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_13)}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(80), aot_run_words); } - aot_gpr_5 = (aot_gpr_29 + static_cast(80)); + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(80), aot_run_words); } + aot_gpr_5 = (ctx.gpr[29] + static_cast(80)); aot_gpr_31 = (0x08920610u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 538u, 0x08A666C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08920610u) goto L_08920610; @@ -1922,8 +1923,8 @@ L_08920610: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); aot_gpr_4 = (aot_gpr_4 + static_cast(192)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - jump_target = ctx.gpr[6]; + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); + jump_target = aot_gpr_6; aot_gpr_31 = (0x08920628u); aot_gpr_4 = (aot_gpr_16 + aot_gpr_5); ctx.pc = jump_target; @@ -1943,7 +1944,7 @@ L_08920630: goto L_08920638; } L_08920638: - aot_gpr_5 = (aot_gpr_29 + static_cast(96)); + aot_gpr_5 = (ctx.gpr[29] + static_cast(96)); aot_gpr_31 = (0x08920644u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 7u, 0x08860358u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08920644u) goto L_08920644; @@ -1953,24 +1954,24 @@ L_08920644: goto L_08920648; L_08920648: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); - ctx.gpr[6] = (65535u << 16u); + aot_gpr_6 = (65535u << 16u); aot_gpr_4 = (aot_gpr_4 & 1u); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(32767)); - aot_gpr_5 = (aot_gpr_5 & ctx.gpr[6]); + aot_gpr_6 = (aot_gpr_6 + static_cast(32767)); + aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); aot_gpr_4 = (aot_gpr_4 << 15u); aot_gpr_4 = (aot_gpr_5 | aot_gpr_4); aot_gpr_5 = (0u | 0u); aot_gpr_5 = (aot_gpr_5 & 1u); - ctx.gpr[6] = (0u + static_cast(-16385)); + aot_gpr_6 = (0u + static_cast(-16385)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(72), aot_gpr_4); - aot_gpr_4 = (aot_gpr_4 & ctx.gpr[6]); + aot_gpr_4 = (aot_gpr_4 & aot_gpr_6); aot_gpr_5 = (aot_gpr_5 << 14u); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); aot_gpr_5 = (0u | 0u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(72), aot_gpr_4); aot_gpr_5 = (aot_gpr_5 & 1u); - ctx.gpr[6] = (0u + static_cast(-513)); - aot_gpr_4 = (aot_gpr_4 & ctx.gpr[6]); + aot_gpr_6 = (0u + static_cast(-513)); + aot_gpr_4 = (aot_gpr_4 & aot_gpr_6); aot_gpr_5 = (aot_gpr_5 << 9u); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(72), aot_gpr_4); @@ -1979,7 +1980,7 @@ L_08920648: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 540u, 0x08A666DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089206A8u) goto L_089206A8; AOT_REGCACHE_SYNC_OUT(); return; L_089206A8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(168))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(168))); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -1989,7 +1990,7 @@ L_089206A8: goto L_089206B8; } L_089206B8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(160))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(160))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -1999,7 +2000,7 @@ L_089206B8: } L_089206C4: aot_gpr_31 = (0x089206CCu); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(160))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(160))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 129u, 0x089D89E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089206CCu) goto L_089206CC; AOT_REGCACHE_SYNC_OUT(); return; L_089206CC: @@ -2019,8 +2020,8 @@ L_089206DC: aot_gpr_4 = (0u | 0u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(456))); aot_gpr_4 = (aot_gpr_4 & 1u); - ctx.gpr[6] = (0u + static_cast(-3)); - aot_gpr_5 = (aot_gpr_5 & ctx.gpr[6]); + aot_gpr_6 = (0u + static_cast(-3)); + aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); aot_gpr_4 = (aot_gpr_4 << 1u); aot_gpr_4 = (aot_gpr_5 | aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(456), aot_gpr_4); @@ -2085,10 +2086,10 @@ L_0892074C: L_08920754: aot_gpr_4 = (0u | 1u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); - ctx.gpr[6] = (65534u << 16u); + aot_gpr_6 = (65534u << 16u); aot_gpr_4 = (aot_gpr_4 & 1u); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(-1)); - aot_gpr_5 = (aot_gpr_5 & ctx.gpr[6]); + aot_gpr_6 = (aot_gpr_6 + static_cast(-1)); + aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); aot_gpr_4 = (aot_gpr_4 << 17u); aot_gpr_4 = (aot_gpr_5 | aot_gpr_4); { const bool branch_taken = 0u == 0u; @@ -2216,7 +2217,7 @@ L_08920848: aot_fpr_12 = std::bit_cast(ctx.gpr[7]); aot_gpr_5 = (0u | 16u); aot_gpr_31 = (0x08920864u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0070_entry, 70u, 653u, 0x0891F338u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08920864u) goto L_08920864; AOT_REGCACHE_SYNC_OUT(); return; L_08920864: @@ -2229,7 +2230,7 @@ L_08920864: L_08920870: aot_gpr_31 = (0x08920878u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08920878u) goto L_08920878; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08920878u) goto L_08920878; AOT_REGCACHE_SYNC_OUT(); return; L_08920878: if (aot_gpr_2 == 0u) { @@ -2251,10 +2252,10 @@ L_08920894: aot_gpr_5 = (0u + static_cast(-33)); ctx.gpr[18] = (aot_gpr_4 & 32u); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(464))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(464))); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(468), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); - aot_gpr_5 = (ctx.gpr[6] & aot_gpr_5); + aot_gpr_5 = (aot_gpr_6 & aot_gpr_5); aot_gpr_4 = (aot_gpr_4 & 512u); aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); ctx.gpr[18] = (0u < ctx.gpr[18] ? 1u : 0u); @@ -2288,7 +2289,7 @@ L_089208D4: L_089208EC: aot_gpr_31 = (0x089208F4u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089208F4u) goto L_089208F4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089208F4u) goto L_089208F4; AOT_REGCACHE_SYNC_OUT(); return; L_089208F4: { const bool branch_taken = aot_gpr_2 == 0u; @@ -2328,7 +2329,7 @@ L_08920924: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0127_entry, 127u, 371u, 0x08A01528u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892092Cu) goto L_0892092C; AOT_REGCACHE_SYNC_OUT(); return; L_0892092C: - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1340))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1340))); aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x0892093Cu); aot_gpr_5 = (aot_gpr_16 | 0u); @@ -2368,7 +2369,7 @@ L_0892095C: L_08920964: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 12u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x0892097Cu); ctx.gpr[8] = (0u | 0u); @@ -2424,9 +2425,9 @@ L_089209C0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0158_entry, 158u, 666u, 0x08A7FAA4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089209D8u) goto L_089209D8; AOT_REGCACHE_SYNC_OUT(); return; L_089209D8: - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(4))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(4))); aot_gpr_4 = (ctx.gpr[21] | 0u); - jump_target = ctx.gpr[6]; + jump_target = aot_gpr_6; aot_gpr_31 = (0x089209E8u); aot_gpr_5 = (aot_gpr_2 | 0u); ctx.pc = jump_target; @@ -2493,7 +2494,7 @@ L_08920A38: L_08920A48: aot_gpr_31 = (0x08920A50u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08920A50u) goto L_08920A50; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08920A50u) goto L_08920A50; AOT_REGCACHE_SYNC_OUT(); return; L_08920A50: { const bool branch_taken = aot_gpr_2 == 0u; @@ -2519,10 +2520,10 @@ L_08920A70: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(320))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(324))); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); - aot_gpr_5 = (aot_gpr_29 + static_cast(192)); + aot_gpr_5 = (ctx.gpr[29] + static_cast(192)); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_13) ^ 0x80000000u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(192), std::bit_cast(aot_fpr_12)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(196), std::bit_cast(aot_fpr_13)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(192), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(196), std::bit_cast(aot_fpr_13)); aot_gpr_31 = (0x08920A94u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 618u, 0x08906DC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08920A94u) goto L_08920A94; @@ -2530,13 +2531,13 @@ L_08920A70: L_08920A94: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(456))); aot_gpr_4 = (0u | 0u); - ctx.gpr[6] = (0u + static_cast(-2)); + aot_gpr_6 = (0u + static_cast(-2)); aot_gpr_4 = (aot_gpr_4 & 1u); - aot_gpr_5 = (aot_gpr_5 & ctx.gpr[6]); + aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); aot_gpr_4 = (aot_gpr_5 | aot_gpr_4); ctx.gpr[18] = (aot_gpr_2 | 0u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(456), aot_gpr_4); - ctx.gpr[6] = (ctx.gpr[18] + static_cast(28)); + aot_gpr_6 = (ctx.gpr[18] + static_cast(28)); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 1000u); aot_gpr_31 = (0x08920AC8u); @@ -2555,7 +2556,7 @@ L_08920AD4: aot_fpr_12 = std::bit_cast(ctx.gpr[10]); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); - ctx.gpr[6] = (0u | 42u); + aot_gpr_6 = (0u | 42u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x08920AF8u); ctx.gpr[9] = (0u | 0u); @@ -2586,7 +2587,7 @@ L_08920B1C: aot_fpr_22 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(268))); aot_gpr_31 = (0x08920B28u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08920B28u) goto L_08920B28; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08920B28u) goto L_08920B28; AOT_REGCACHE_SYNC_OUT(); return; L_08920B28: { const bool branch_taken = aot_gpr_2 == 0u; @@ -2621,7 +2622,7 @@ L_08920B40: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); - aot_gpr_4 = (aot_gpr_29 + static_cast(208)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(208)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; @@ -2695,13 +2696,13 @@ L_08920BD4: aot_fpr_13 = std::bit_cast(ctx.gpr[7]); aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); aot_gpr_31 = (0x08920BF0u); - ctx.gpr[6] = (0u | 167u); + aot_gpr_6 = (0u | 167u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 503u, 0x08A05F80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08920BF0u) goto L_08920BF0; AOT_REGCACHE_SYNC_OUT(); return; L_08920BF0: aot_gpr_31 = (0x08920BF8u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08920BF8u) goto L_08920BF8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08920BF8u) goto L_08920BF8; AOT_REGCACHE_SYNC_OUT(); return; L_08920BF8: { const bool branch_taken = aot_gpr_2 == 0u; @@ -2826,15 +2827,15 @@ L_08920CB0: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_4 = (aot_gpr_29 + static_cast(272)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(272)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[22] + static_cast(86)))))); aot_gpr_5 = (aot_gpr_5 << 2u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); - aot_gpr_5 = (ctx.gpr[6] + aot_gpr_5); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); + aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(20))); aot_gpr_5 = (aot_gpr_5 + static_cast(32)); @@ -2847,7 +2848,7 @@ L_08920CB0: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_5 = (aot_gpr_29 + static_cast(288)); + aot_gpr_5 = (ctx.gpr[29] + static_cast(288)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; @@ -2871,7 +2872,7 @@ L_08920CB0: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 0u>(); - aot_gpr_4 = (aot_gpr_29 + static_cast(240)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(240)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; @@ -2891,7 +2892,7 @@ L_08920CB0: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); - aot_gpr_4 = (aot_gpr_29 + static_cast(304)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(304)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; @@ -2943,7 +2944,7 @@ L_08920CB0: ctx.write_vfpu_vector_ct<7u, 4u>(vfpu_value); } ctx.execute_vfpu_vtfm_ct<0u, 36u, 1u, 3u, 3u>(); ctx.execute_vfpu_vec3_ct<0u, 0u, 7u, 3u, 0u>(); - aot_gpr_5 = (aot_gpr_29 + static_cast(256)); + aot_gpr_5 = (ctx.gpr[29] + static_cast(256)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; @@ -2970,8 +2971,8 @@ L_08920CB0: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - ctx.gpr[6] = (aot_gpr_16 + static_cast(48)); - { const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + aot_gpr_6 = (aot_gpr_16 + static_cast(48)); + { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -2998,13 +2999,13 @@ L_08920CB0: const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(304))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(304))); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); ctx.fpr[14] = std::bit_cast(0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(ctx.fpr[14])) && aot_fpr_12 == ctx.fpr[14])) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(308))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(308))); if (branch_taken) { goto L_08920DB8; } @@ -3043,13 +3044,13 @@ L_08920DC4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0162_entry, 162u, 580u, 0x08A8F0B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08920DCCu) goto L_08920DCC; AOT_REGCACHE_SYNC_OUT(); return; L_08920DCC: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(288))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(272))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(288))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(272))); ctx.fpr[14] = std::bit_cast(0u); - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(292))); + ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(292))); aot_fpr_22 = std::bit_cast(std::bit_cast(ctx.fpr[0])); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(276))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(276))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(ctx.fpr[14])) && aot_fpr_12 == ctx.fpr[14])) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); @@ -3108,7 +3109,7 @@ L_08920E20: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>(); - aot_gpr_4 = (aot_gpr_29 + static_cast(320)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(320)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; @@ -3163,7 +3164,7 @@ L_08920E78: goto L_08920E98; } L_08920E98: - aot_gpr_4 = (aot_gpr_29 + static_cast(320)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(320)); aot_gpr_31 = (0x08920EA4u); aot_gpr_5 = (ctx.gpr[22] + static_cast(320)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 179u, 0x08904B8Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08920EA4u) goto L_08920EA4; @@ -3188,11 +3189,11 @@ L_08920EAC: goto L_08920EC0; } L_08920EC0: - ctx.gpr[23] = (aot_gpr_29 + static_cast(336)); + ctx.gpr[23] = (ctx.gpr[29] + static_cast(336)); aot_fpr_22 = std::bit_cast(std::bit_cast(aot_fpr_20)); - ctx.gpr[6] = (49024u << 16u); + aot_gpr_6 = (49024u << 16u); aot_gpr_4 = (ctx.gpr[23] | 0u); - aot_fpr_12 = std::bit_cast(ctx.gpr[6]); + aot_fpr_12 = std::bit_cast(aot_gpr_6); aot_gpr_31 = (0x08920EDCu); aot_gpr_5 = (ctx.gpr[22] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 182u, 0x08904BD8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08920EDCu) goto L_08920EDC; @@ -3256,7 +3257,7 @@ L_08920F20: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); - aot_gpr_4 = (aot_gpr_29 + static_cast(320)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(320)); if (branch_taken) { goto L_08920F78; } @@ -3282,7 +3283,7 @@ L_08920F68: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x08920F78u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0070_entry, 70u, 480u, 0x0891E8B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08920F78u) goto L_08920F78; AOT_REGCACHE_SYNC_OUT(); return; L_08920F78: @@ -3371,7 +3372,7 @@ L_08921010: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 400u, 0x08905EB8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08921018u) goto L_08921018; AOT_REGCACHE_SYNC_OUT(); return; L_08921018: - aot_gpr_4 = (aot_gpr_29 + static_cast(320)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(320)); aot_gpr_31 = (0x08921024u); aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 179u, 0x08904B8Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08921024u) goto L_08921024; @@ -3391,7 +3392,7 @@ L_08921038: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x08921048u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0070_entry, 70u, 480u, 0x0891E8B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08921048u) goto L_08921048; AOT_REGCACHE_SYNC_OUT(); return; L_08921048: @@ -3442,7 +3443,7 @@ L_08921090: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 336u, 0x08905804u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892109Cu) goto L_0892109C; AOT_REGCACHE_SYNC_OUT(); return; L_0892109C: - ctx.gpr[23] = (aot_gpr_29 + static_cast(352)); + ctx.gpr[23] = (ctx.gpr[29] + static_cast(352)); aot_gpr_31 = (0x089210A8u); aot_gpr_4 = (ctx.gpr[22] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 400u, 0x08905EB8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089210A8u) goto L_089210A8; @@ -3470,7 +3471,7 @@ L_089210CC: AOT_REGCACHE_SYNC_OUT(); return; L_089210D8: ctx.gpr[23] = (aot_gpr_2 | 0u); - ctx.gpr[6] = (ctx.gpr[23] + static_cast(28)); + aot_gpr_6 = (ctx.gpr[23] + static_cast(28)); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 1000u); aot_gpr_31 = (0x089210F0u); @@ -3525,7 +3526,7 @@ L_0892112C: ctx.gpr[8] = (ctx.gpr[23] & 255u); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); - ctx.gpr[6] = (0u | 42u); + aot_gpr_6 = (0u | 42u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x08921148u); ctx.gpr[9] = (0u | 0u); @@ -3599,7 +3600,7 @@ L_089211A0: L_089211B0: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x089211C8u); ctx.gpr[8] = (0u | 0u); @@ -3673,7 +3674,7 @@ L_08921220: L_08921228: aot_gpr_31 = (0x08921230u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08921230u) goto L_08921230; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08921230u) goto L_08921230; AOT_REGCACHE_SYNC_OUT(); return; L_08921230: { const bool branch_taken = aot_gpr_2 == 0u; @@ -3835,7 +3836,7 @@ L_08921300: L_0892130C: aot_gpr_31 = (0x08921314u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08921314u) goto L_08921314; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08921314u) goto L_08921314; AOT_REGCACHE_SYNC_OUT(); return; L_08921314: { const bool branch_taken = aot_gpr_2 != 0u; @@ -3877,7 +3878,7 @@ L_08921338: L_08921354: aot_gpr_5 = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x08921360u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 479u, 0x0890DF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08921360u) goto L_08921360; AOT_REGCACHE_SYNC_OUT(); return; L_08921360: @@ -3956,11 +3957,11 @@ L_089213C8: L_089213D0: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7800))); aot_gpr_5 = (aot_gpr_4 + aot_gpr_4); - ctx.gpr[6] = (aot_gpr_4 << 8u); + aot_gpr_6 = (aot_gpr_4 << 8u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_gpr_4 << 5u); aot_gpr_5 = (2238u << 16u); - aot_gpr_4 = (ctx.gpr[6] + aot_gpr_4); + aot_gpr_4 = (aot_gpr_6 + aot_gpr_4); aot_gpr_5 = (aot_gpr_5 + static_cast(-6992)); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(180))); @@ -4002,7 +4003,7 @@ L_0892142C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x0892143Cu); - ctx.gpr[6] = (0u | 4000u); + aot_gpr_6 = (0u | 4000u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 803u, 0x0890B27Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892143Cu) goto L_0892143C; AOT_REGCACHE_SYNC_OUT(); return; L_0892143C: @@ -4014,7 +4015,7 @@ L_0892143C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0892145Cu); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892145Cu) goto L_0892145C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892145Cu) goto L_0892145C; AOT_REGCACHE_SYNC_OUT(); return; L_0892145C: { const bool branch_taken = 0u == 0u; @@ -4062,14 +4063,14 @@ L_08921490: L_0892149C: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7800))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2072))); - ctx.gpr[6] = (aot_gpr_4 + aot_gpr_4); + aot_gpr_6 = (aot_gpr_4 + aot_gpr_4); ctx.gpr[7] = (aot_gpr_4 << 8u); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); aot_gpr_4 = (aot_gpr_4 << 5u); - ctx.gpr[6] = (2238u << 16u); + aot_gpr_6 = (2238u << 16u); aot_gpr_4 = (ctx.gpr[7] + aot_gpr_4); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(-6992)); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_6 = (aot_gpr_6 + static_cast(-6992)); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(180), aot_gpr_5); if (branch_taken) { @@ -4115,14 +4116,14 @@ L_089214F8: L_08921504: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7800))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2072))); - ctx.gpr[6] = (aot_gpr_4 + aot_gpr_4); + aot_gpr_6 = (aot_gpr_4 + aot_gpr_4); ctx.gpr[7] = (aot_gpr_4 << 8u); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); aot_gpr_4 = (aot_gpr_4 << 5u); - ctx.gpr[6] = (2238u << 16u); + aot_gpr_6 = (2238u << 16u); aot_gpr_4 = (ctx.gpr[7] + aot_gpr_4); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(-6992)); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_6 = (aot_gpr_6 + static_cast(-6992)); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(180), aot_gpr_5); if (branch_taken) { @@ -4133,7 +4134,7 @@ L_08921504: L_08921534: aot_gpr_31 = (0x0892153Cu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892153Cu) goto L_0892153C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892153Cu) goto L_0892153C; AOT_REGCACHE_SYNC_OUT(); return; L_0892153C: if (aot_gpr_2 == 0u) { @@ -4266,7 +4267,7 @@ L_089215F4: L_08921600: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x08921618u); ctx.gpr[8] = (0u | 0u); @@ -4384,7 +4385,7 @@ L_089216B4: L_089216C4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x089216DCu); ctx.gpr[8] = (0u | 0u); @@ -4441,7 +4442,7 @@ L_0892171C: L_08921728: aot_gpr_31 = (0x08921730u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08921730u) goto L_08921730; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08921730u) goto L_08921730; AOT_REGCACHE_SYNC_OUT(); return; L_08921730: { const bool branch_taken = aot_gpr_2 == 0u; @@ -4531,7 +4532,7 @@ L_089217AC: L_089217B8: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x089217D0u); ctx.gpr[8] = (0u | 0u); @@ -4735,7 +4736,7 @@ L_089218F0: L_0892190C: aot_gpr_31 = (0x08921914u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08921914u) goto L_08921914; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08921914u) goto L_08921914; AOT_REGCACHE_SYNC_OUT(); return; L_08921914: { const bool branch_taken = aot_gpr_2 != 0u; @@ -4762,7 +4763,7 @@ L_08921928: L_08921930: aot_gpr_31 = (0x08921938u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08921938u) goto L_08921938; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08921938u) goto L_08921938; AOT_REGCACHE_SYNC_OUT(); return; L_08921938: { const bool branch_taken = aot_gpr_2 != 0u; @@ -4815,9 +4816,9 @@ L_08921990: AOT_REGCACHE_SYNC_OUT(); return; L_0892199C: aot_fpr_12 = ctx.fpr[0] - ctx.fpr[26]; - aot_gpr_4 = (aot_gpr_29 + static_cast(360)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(360)); aot_gpr_31 = (0x089219ACu); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(360), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(360), std::bit_cast(aot_fpr_12)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 175u, 0x08904B3Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089219ACu) goto L_089219AC; AOT_REGCACHE_SYNC_OUT(); return; L_089219AC: @@ -4915,7 +4916,7 @@ L_08921A40: L_08921A48: aot_gpr_31 = (0x08921A50u); aot_gpr_4 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08921A50u) goto L_08921A50; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08921A50u) goto L_08921A50; AOT_REGCACHE_SYNC_OUT(); return; L_08921A50: { const bool branch_taken = aot_gpr_2 == 0u; @@ -4948,7 +4949,7 @@ L_08921A70: goto L_08921A80; } L_08921A80: - ctx.gpr[6] = (aot_gpr_16 + static_cast(288)); + aot_gpr_6 = (aot_gpr_16 + static_cast(288)); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08921A90u); aot_gpr_5 = (ctx.gpr[19] | 0u); @@ -5005,7 +5006,7 @@ L_08921ACC: L_08921AD8: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 16u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x08921AF0u); ctx.gpr[8] = (0u | 0u); @@ -5025,7 +5026,7 @@ L_08921AFC: L_08921B04: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (aot_gpr_2 | 0u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x08921B1Cu); ctx.gpr[8] = (0u | 0u); @@ -5087,7 +5088,7 @@ L_08921B64: L_08921B70: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 13u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x08921B88u); ctx.gpr[8] = (0u | 0u); @@ -5114,7 +5115,7 @@ L_08921B9C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1716))); aot_gpr_31 = (0x08921BA8u); aot_gpr_5 = (aot_gpr_16 + static_cast(1716)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08921BA8u) goto L_08921BA8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A93004, 163u, 430u, 0x08A93004u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08921BA8u) goto L_08921BA8; AOT_REGCACHE_SYNC_OUT(); return; L_08921BA8: aot_gpr_31 = (0x08921BB0u); @@ -5133,7 +5134,7 @@ L_08921BB8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1716))); aot_gpr_31 = (0x08921BC4u); aot_gpr_5 = (aot_gpr_16 + static_cast(1716)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08921BC4u) goto L_08921BC4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08921BC4u) goto L_08921BC4; AOT_REGCACHE_SYNC_OUT(); return; L_08921BC4: aot_gpr_31 = (0x08921BCCu); @@ -5235,7 +5236,7 @@ L_08921C58: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08921C68u); - ctx.gpr[6] = (0u | 4u); + aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08921C68u) goto L_08921C68; AOT_REGCACHE_SYNC_OUT(); return; L_08921C68: @@ -5251,7 +5252,7 @@ L_08921C74: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08921C84u); - ctx.gpr[6] = (0u | 5u); + aot_gpr_6 = (0u | 5u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08921C84u) goto L_08921C84; AOT_REGCACHE_SYNC_OUT(); return; L_08921C84: @@ -5299,7 +5300,7 @@ L_08921CBC: L_08921CC4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 9u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x08921CDCu); ctx.gpr[8] = (0u | 0u); @@ -5321,7 +5322,7 @@ L_08921CE4: goto L_08921CF4; } L_08921CF4: - ctx.gpr[18] = (aot_gpr_29 + static_cast(372)); + ctx.gpr[18] = (ctx.gpr[29] + static_cast(372)); aot_gpr_31 = (0x08921D00u); aot_gpr_4 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 359u, 0x08905A60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08921D00u) goto L_08921D00; @@ -5336,7 +5337,7 @@ L_08921D0C: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(4))); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_31 = (0x08921D1Cu); - aot_gpr_4 = (aot_gpr_29 + static_cast(364)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(364)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 185u, 0x08904C30u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08921D1Cu) goto L_08921D1C; AOT_REGCACHE_SYNC_OUT(); return; L_08921D1C: @@ -5350,7 +5351,7 @@ L_08921D28: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08921D3Cu); - ctx.gpr[6] = (0u | 5000u); + aot_gpr_6 = (0u | 5000u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 779u, 0x0890B0A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08921D3Cu) goto L_08921D3C; AOT_REGCACHE_SYNC_OUT(); return; L_08921D3C: @@ -5428,7 +5429,7 @@ L_08921DA8: aot_gpr_5 = (aot_gpr_16 + static_cast(1376)); aot_gpr_31 = (0x08921DC0u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08921DC0u) goto L_08921DC0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08921DC0u) goto L_08921DC0; AOT_REGCACHE_SYNC_OUT(); return; L_08921DC0: aot_gpr_31 = (0x08921DC8u); @@ -5447,7 +5448,7 @@ L_08921DC8: L_08921DD4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 10u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x08921DECu); ctx.gpr[8] = (0u | 0u); @@ -5488,7 +5489,7 @@ L_08921E0C: } L_08921E28: aot_fpr_22 = std::bit_cast(0u); - aot_gpr_4 = (aot_gpr_29 + static_cast(384)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(384)); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_22)); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_22)); aot_gpr_31 = (0x08921E40u); @@ -5496,14 +5497,14 @@ L_08921E28: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 206u, 0x08904E70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08921E40u) goto L_08921E40; AOT_REGCACHE_SYNC_OUT(); return; L_08921E40: - aot_gpr_4 = (aot_gpr_29 + static_cast(448)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(448)); aot_gpr_31 = (0x08921E4Cu); aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 363u, 0x08905AB0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08921E4Cu) goto L_08921E4C; AOT_REGCACHE_SYNC_OUT(); return; L_08921E4C: ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16928))); - ctx.gpr[19] = (aot_gpr_29 + static_cast(400)); + ctx.gpr[19] = (ctx.gpr[29] + static_cast(400)); aot_gpr_31 = (0x08921E5Cu); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 359u, 0x08905A60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08921E5Cu) goto L_08921E5C; @@ -5514,10 +5515,10 @@ L_08921E5C: aot_gpr_5 = (16512u << 16u); ctx.gpr[20] = (aot_gpr_2 | 0u); aot_fpr_22 = std::bit_cast(aot_gpr_5); - ctx.gpr[21] = (aot_gpr_29 + static_cast(416)); + ctx.gpr[21] = (ctx.gpr[29] + static_cast(416)); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(292))); aot_gpr_31 = (0x08921E80u); - aot_gpr_4 = (aot_gpr_29 + static_cast(432)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(432)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 206u, 0x08904E70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08921E80u) goto L_08921E80; AOT_REGCACHE_SYNC_OUT(); return; L_08921E80: @@ -5531,7 +5532,7 @@ L_08921E90: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08921EA0u); - ctx.gpr[6] = (ctx.gpr[21] | 0u); + aot_gpr_6 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 180u, 0x08904BA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08921EA0u) goto L_08921EA0; AOT_REGCACHE_SYNC_OUT(); return; L_08921EA0: @@ -5539,7 +5540,7 @@ L_08921EA0: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_fpr_12 = std::bit_cast(aot_gpr_2); aot_gpr_5 = (ctx.gpr[19] | 0u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); @@ -5880,34 +5881,34 @@ L_08922164: aot_gpr_5 = (ctx.gpr[18] + aot_gpr_5); aot_gpr_5 = (ctx.gpr[18] + aot_gpr_5); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); - ctx.gpr[18] = (aot_gpr_29 + static_cast(464)); - ctx.gpr[19] = (aot_gpr_29 + static_cast(448)); + ctx.gpr[18] = (ctx.gpr[29] + static_cast(464)); + ctx.gpr[19] = (ctx.gpr[29] + static_cast(448)); aot_gpr_31 = (0x0892218Cu); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 398u, 0x08905E50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892218Cu) goto L_0892218C; AOT_REGCACHE_SYNC_OUT(); return; L_0892218C: - aot_gpr_4 = (aot_gpr_29 + static_cast(528)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(528)); aot_gpr_31 = (0x08922198u); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 364u, 0x08905AC8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08922198u) goto L_08922198; AOT_REGCACHE_SYNC_OUT(); return; L_08922198: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(528))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(532))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(528))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(532))); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); - ctx.gpr[20] = (aot_gpr_29 + static_cast(456)); + ctx.gpr[20] = (ctx.gpr[29] + static_cast(456)); aot_gpr_5 = (std::bit_cast(aot_fpr_13)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(456), aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(460), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(456), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(460), aot_gpr_5); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x089221C0u); aot_gpr_5 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 365u, 0x08905AE4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089221C0u) goto L_089221C0; AOT_REGCACHE_SYNC_OUT(); return; L_089221C0: - aot_fpr_22 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(448))); - ctx.fpr[24] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(452))); + aot_fpr_22 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(448))); + ctx.fpr[24] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(452))); aot_gpr_31 = (0x089221D0u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 359u, 0x08905A60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089221D0u) goto L_089221D0; @@ -5928,46 +5929,46 @@ L_089221DC: AOT_REGCACHE_SYNC_OUT(); return; L_089221F0: aot_fpr_22 = std::bit_cast(std::bit_cast(ctx.fpr[0])); - ctx.gpr[21] = (aot_gpr_29 + static_cast(512)); + ctx.gpr[21] = (ctx.gpr[29] + static_cast(512)); aot_gpr_31 = (0x08922200u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 359u, 0x08905A60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08922200u) goto L_08922200; AOT_REGCACHE_SYNC_OUT(); return; L_08922200: - aot_gpr_4 = (aot_gpr_29 + static_cast(544)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(544)); aot_gpr_31 = (0x0892220Cu); aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 364u, 0x08905AC8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892220Cu) goto L_0892220C; AOT_REGCACHE_SYNC_OUT(); return; L_0892220C: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(544))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(548))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(544))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(548))); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); - ctx.gpr[22] = (aot_gpr_29 + static_cast(480)); + ctx.gpr[22] = (ctx.gpr[29] + static_cast(480)); aot_gpr_5 = (std::bit_cast(aot_fpr_13)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(480), aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(484), aot_gpr_5); - aot_gpr_4 = (aot_gpr_29 + static_cast(536)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(480), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(484), aot_gpr_5); + aot_gpr_4 = (ctx.gpr[29] + static_cast(536)); aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08922238u); - ctx.gpr[6] = (ctx.gpr[22] | 0u); + aot_gpr_6 = (ctx.gpr[22] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 186u, 0x08904C40u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08922238u) goto L_08922238; AOT_REGCACHE_SYNC_OUT(); return; L_08922238: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(536))); - ctx.fpr[14] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(540))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(536))); + ctx.fpr[14] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(540))); aot_gpr_5 = (std::bit_cast(aot_fpr_12)); aot_gpr_4 = (ctx.gpr[21] | 0u); - ctx.gpr[6] = (std::bit_cast(ctx.fpr[14])); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(456), aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(460), ctx.gpr[6]); + aot_gpr_6 = (std::bit_cast(ctx.fpr[14])); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(456), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(460), aot_gpr_6); aot_gpr_31 = (0x0892225Cu); aot_gpr_5 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 365u, 0x08905AE4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892225Cu) goto L_0892225C; AOT_REGCACHE_SYNC_OUT(); return; L_0892225C: - ctx.gpr[20] = (aot_gpr_29 + static_cast(496)); - ctx.gpr[19] = (aot_gpr_29 + static_cast(520)); + ctx.gpr[20] = (ctx.gpr[29] + static_cast(496)); + ctx.gpr[19] = (ctx.gpr[29] + static_cast(520)); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08922270u); aot_gpr_5 = (ctx.gpr[20] | 0u); @@ -5982,23 +5983,23 @@ L_08922278: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08922288u); - ctx.gpr[6] = (aot_gpr_2 | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 181u, 0x08904BC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08922288u) goto L_08922288; AOT_REGCACHE_SYNC_OUT(); return; L_08922288: - aot_gpr_4 = (aot_gpr_29 + static_cast(552)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(552)); aot_gpr_31 = (0x08922294u); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 364u, 0x08905AC8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08922294u) goto L_08922294; AOT_REGCACHE_SYNC_OUT(); return; L_08922294: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(552))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(556))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(552))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(556))); aot_gpr_5 = (std::bit_cast(aot_fpr_12)); aot_gpr_4 = (ctx.gpr[19] | 0u); - ctx.gpr[6] = (std::bit_cast(aot_fpr_13)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(480), aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(484), ctx.gpr[6]); + aot_gpr_6 = (std::bit_cast(aot_fpr_13)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(480), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(484), aot_gpr_6); aot_gpr_31 = (0x089222B8u); aot_gpr_5 = (ctx.gpr[22] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 365u, 0x08905AE4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089222B8u) goto L_089222B8; @@ -6074,33 +6075,33 @@ L_08922314: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 849u, 0x0890FD1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08922334u) goto L_08922334; AOT_REGCACHE_SYNC_OUT(); return; L_08922334: - ctx.gpr[18] = (aot_gpr_29 + static_cast(576)); + ctx.gpr[18] = (ctx.gpr[29] + static_cast(576)); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08922344u); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 94u, 0x089105E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08922344u) goto L_08922344; AOT_REGCACHE_SYNC_OUT(); return; L_08922344: - aot_gpr_4 = (aot_gpr_29 + static_cast(592)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(592)); aot_gpr_31 = (0x08922350u); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 364u, 0x08905AC8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08922350u) goto L_08922350; AOT_REGCACHE_SYNC_OUT(); return; L_08922350: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(592))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(596))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(592))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(596))); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); - aot_gpr_5 = (aot_gpr_29 + static_cast(560)); - ctx.gpr[6] = (std::bit_cast(aot_fpr_13)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(560), aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(564), ctx.gpr[6]); + aot_gpr_5 = (ctx.gpr[29] + static_cast(560)); + aot_gpr_6 = (std::bit_cast(aot_fpr_13)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(560), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(564), aot_gpr_6); aot_gpr_31 = (0x08922374u); - aot_gpr_4 = (aot_gpr_29 + static_cast(448)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(448)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 365u, 0x08905AE4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08922374u) goto L_08922374; AOT_REGCACHE_SYNC_OUT(); return; L_08922374: - aot_fpr_22 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(448))); - ctx.fpr[24] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(452))); + aot_fpr_22 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(448))); + ctx.fpr[24] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(452))); aot_gpr_31 = (0x08922384u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 359u, 0x08905A60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08922384u) goto L_08922384; @@ -6143,26 +6144,26 @@ L_089223B4: goto L_089223C4; } L_089223C4: - aot_gpr_4 = (aot_gpr_29 + static_cast(608)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(608)); aot_gpr_31 = (0x089223D0u); aot_gpr_5 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 88u, 0x08910538u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089223D0u) goto L_089223D0; AOT_REGCACHE_SYNC_OUT(); return; L_089223D0: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(608))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(612))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(608))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(612))); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); - aot_gpr_5 = (aot_gpr_29 + static_cast(600)); - ctx.gpr[6] = (std::bit_cast(aot_fpr_13)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(600), aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(604), ctx.gpr[6]); + aot_gpr_5 = (ctx.gpr[29] + static_cast(600)); + aot_gpr_6 = (std::bit_cast(aot_fpr_13)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(600), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(604), aot_gpr_6); aot_gpr_31 = (0x089223F4u); - aot_gpr_4 = (aot_gpr_29 + static_cast(448)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(448)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 365u, 0x08905AE4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089223F4u) goto L_089223F4; AOT_REGCACHE_SYNC_OUT(); return; L_089223F4: - aot_fpr_22 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(448))); - ctx.fpr[24] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(452))); + aot_fpr_22 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(448))); + ctx.fpr[24] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(452))); aot_gpr_31 = (0x08922404u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 359u, 0x08905A60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08922404u) goto L_08922404; @@ -6196,13 +6197,13 @@ L_0892242C: aot_gpr_5 = (ctx.gpr[18] + aot_gpr_5); aot_gpr_5 = (ctx.gpr[18] + aot_gpr_5); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); - ctx.gpr[18] = (aot_gpr_29 + static_cast(616)); + ctx.gpr[18] = (ctx.gpr[29] + static_cast(616)); aot_gpr_31 = (0x08922450u); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 399u, 0x08905E94u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08922450u) goto L_08922450; AOT_REGCACHE_SYNC_OUT(); return; L_08922450: - aot_gpr_5 = (aot_gpr_29 + static_cast(448)); + aot_gpr_5 = (ctx.gpr[29] + static_cast(448)); aot_gpr_31 = (0x0892245Cu); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 187u, 0x08904C6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892245Cu) goto L_0892245C; @@ -6216,9 +6217,9 @@ L_0892245C: goto L_08922464; } L_08922464: - aot_gpr_4 = (aot_gpr_29 + static_cast(448)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(448)); aot_gpr_31 = (0x08922470u); - aot_gpr_5 = (aot_gpr_29 + static_cast(616)); + aot_gpr_5 = (ctx.gpr[29] + static_cast(616)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 365u, 0x08905AE4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08922470u) goto L_08922470; AOT_REGCACHE_SYNC_OUT(); return; L_08922470: @@ -6230,17 +6231,17 @@ L_08922470: goto L_08922478; } L_08922478: - ctx.gpr[18] = (aot_gpr_29 + static_cast(624)); - ctx.gpr[19] = (aot_gpr_29 + static_cast(640)); + ctx.gpr[18] = (ctx.gpr[29] + static_cast(624)); + ctx.gpr[19] = (ctx.gpr[29] + static_cast(640)); aot_gpr_31 = (0x08922488u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 359u, 0x08905A60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08922488u) goto L_08922488; AOT_REGCACHE_SYNC_OUT(); return; L_08922488: - ctx.gpr[20] = (aot_gpr_29 + static_cast(656)); - ctx.gpr[6] = (16448u << 16u); + ctx.gpr[20] = (ctx.gpr[29] + static_cast(656)); + aot_gpr_6 = (16448u << 16u); ctx.gpr[21] = (aot_gpr_2 | 0u); - aot_fpr_12 = std::bit_cast(ctx.gpr[6]); + aot_fpr_12 = std::bit_cast(aot_gpr_6); aot_gpr_5 = (aot_gpr_16 + static_cast(288)); aot_gpr_31 = (0x089224A4u); aot_gpr_4 = (ctx.gpr[20] | 0u); @@ -6250,7 +6251,7 @@ L_089224A4: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x089224B4u); - ctx.gpr[6] = (ctx.gpr[20] | 0u); + aot_gpr_6 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 180u, 0x08904BA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089224B4u) goto L_089224B4; AOT_REGCACHE_SYNC_OUT(); return; L_089224B4: @@ -6276,7 +6277,7 @@ L_089224E8: aot_gpr_4 = (aot_gpr_2 & 511u); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_13))); - aot_gpr_4 = (aot_gpr_29 + static_cast(672)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(672)); ctx.fpr[14] = std::bit_cast(0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[26])); { const float fs = aot_fpr_13; const float ft = aot_fpr_22; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } @@ -6288,18 +6289,18 @@ L_0892250C: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x0892251Cu); - ctx.gpr[6] = (aot_gpr_2 | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 180u, 0x08904BA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892251Cu) goto L_0892251C; AOT_REGCACHE_SYNC_OUT(); return; L_0892251C: - aot_gpr_4 = (aot_gpr_29 + static_cast(448)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(448)); aot_gpr_31 = (0x08922528u); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 366u, 0x08905AFCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08922528u) goto L_08922528; AOT_REGCACHE_SYNC_OUT(); return; L_08922528: - aot_fpr_22 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(448))); - ctx.fpr[24] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(452))); + aot_fpr_22 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(448))); + ctx.fpr[24] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(452))); aot_gpr_31 = (0x08922538u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 359u, 0x08905A60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08922538u) goto L_08922538; @@ -6522,7 +6523,7 @@ L_089226C0: L_089226D0: aot_gpr_31 = (0x089226D8u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089226D8u) goto L_089226D8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890FF64, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089226D8u) goto L_089226D8; AOT_REGCACHE_SYNC_OUT(); return; L_089226D8: { const bool branch_taken = 0u == 0u; @@ -6558,7 +6559,7 @@ L_089226F8: goto L_08922714; } L_08922714: - ctx.gpr[6] = (aot_gpr_16 + static_cast(288)); + aot_gpr_6 = (aot_gpr_16 + static_cast(288)); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08922724u); aot_gpr_5 = (ctx.gpr[19] | 0u); @@ -6627,7 +6628,7 @@ L_0892276C: goto L_08922780; } L_08922780: - aot_gpr_4 = (aot_gpr_29 + static_cast(176)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(176)); aot_gpr_31 = (0x0892278Cu); aot_gpr_5 = (aot_gpr_16 + static_cast(288)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 354u, 0x089059FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892278Cu) goto L_0892278C; @@ -6636,7 +6637,7 @@ L_0892278C: aot_fpr_12 = std::bit_cast(0u); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0892279Cu); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(184), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(184), std::bit_cast(aot_fpr_12)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 521u, 0x08909F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892279Cu) goto L_0892279C; AOT_REGCACHE_SYNC_OUT(); return; L_0892279C: @@ -6649,7 +6650,7 @@ L_0892279C: } L_089227A4: aot_gpr_5 = (16512u << 16u); - aot_gpr_4 = (aot_gpr_29 + static_cast(176)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(176)); aot_gpr_31 = (0x089227B4u); aot_fpr_12 = std::bit_cast(aot_gpr_5); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 355u, 0x08905A0Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089227B4u) goto L_089227B4; @@ -6664,13 +6665,13 @@ L_089227B4: } L_089227BC: aot_gpr_5 = (16128u << 16u); - aot_gpr_4 = (aot_gpr_29 + static_cast(176)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(176)); aot_gpr_31 = (0x089227CCu); aot_fpr_12 = std::bit_cast(aot_gpr_5); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 355u, 0x08905A0Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089227CCu) goto L_089227CC; AOT_REGCACHE_SYNC_OUT(); return; L_089227CC: - aot_gpr_5 = (aot_gpr_29 + static_cast(176)); + aot_gpr_5 = (ctx.gpr[29] + static_cast(176)); aot_gpr_31 = (0x089227D8u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 405u, 0x08905EECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089227D8u) goto L_089227D8; @@ -6760,7 +6761,7 @@ L_08922850: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2072))); aot_gpr_4 = (aot_gpr_4 < static_cast(1001) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(784), 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(784), 0u); if (branch_taken) { goto L_0892286C; } @@ -6790,14 +6791,14 @@ L_0892287C: AOT_REGCACHE_SYNC_OUT(); return; L_08922888: aot_fpr_12 = std::bit_cast(0u); - aot_gpr_4 = (aot_gpr_29 + static_cast(800)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(800)); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x0892289Cu); ctx.fpr[14] = std::bit_cast(std::bit_cast(aot_fpr_12)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 206u, 0x08904E70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892289Cu) goto L_0892289C; AOT_REGCACHE_SYNC_OUT(); return; L_0892289C: - aot_gpr_4 = (aot_gpr_29 + static_cast(176)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(176)); aot_gpr_31 = (0x089228A8u); aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 354u, 0x089059FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089228A8u) goto L_089228A8; @@ -6811,20 +6812,20 @@ L_089228A8: goto L_089228B0; } L_089228B0: - ctx.gpr[18] = (aot_gpr_29 + static_cast(816)); + ctx.gpr[18] = (ctx.gpr[29] + static_cast(816)); aot_gpr_31 = (0x089228BCu); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 359u, 0x08905A60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089228BCu) goto L_089228BC; AOT_REGCACHE_SYNC_OUT(); return; L_089228BC: - ctx.gpr[6] = (aot_gpr_16 + static_cast(1696)); + aot_gpr_6 = (aot_gpr_16 + static_cast(1696)); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x089228CCu); aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 181u, 0x08904BC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089228CCu) goto L_089228CC; AOT_REGCACHE_SYNC_OUT(); return; L_089228CC: - aot_gpr_4 = (aot_gpr_29 + static_cast(176)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(176)); aot_gpr_31 = (0x089228D8u); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 354u, 0x089059FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089228D8u) goto L_089228D8; @@ -6850,14 +6851,14 @@ L_089228FC: aot_gpr_4 = (16128u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_31 = (0x0892290Cu); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(688), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(688), std::bit_cast(aot_fpr_12)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 373u, 0x08905BA0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892290Cu) goto L_0892290C; AOT_REGCACHE_SYNC_OUT(); return; L_0892290C: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(692), std::bit_cast(ctx.fpr[0])); - aot_gpr_5 = (aot_gpr_29 + static_cast(692)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(692), std::bit_cast(ctx.fpr[0])); + aot_gpr_5 = (ctx.gpr[29] + static_cast(692)); aot_gpr_31 = (0x0892291Cu); - aot_gpr_4 = (aot_gpr_29 + static_cast(688)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(688)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 192u, 0x08904CACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892291Cu) goto L_0892291C; AOT_REGCACHE_SYNC_OUT(); return; L_0892291C: @@ -6876,7 +6877,7 @@ L_0892291C: goto L_08922944; L_08922944: aot_gpr_31 = (0x0892294Cu); - aot_gpr_4 = (aot_gpr_29 + static_cast(176)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(176)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 353u, 0x089059E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892294Cu) goto L_0892294C; AOT_REGCACHE_SYNC_OUT(); return; L_0892294C: @@ -6940,14 +6941,14 @@ L_089229B8: aot_gpr_4 = (16128u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_31 = (0x089229C8u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(696), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(696), std::bit_cast(aot_fpr_12)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 373u, 0x08905BA0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089229C8u) goto L_089229C8; AOT_REGCACHE_SYNC_OUT(); return; L_089229C8: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(700), std::bit_cast(ctx.fpr[0])); - aot_gpr_5 = (aot_gpr_29 + static_cast(700)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(700), std::bit_cast(ctx.fpr[0])); + aot_gpr_5 = (ctx.gpr[29] + static_cast(700)); aot_gpr_31 = (0x089229D8u); - aot_gpr_4 = (aot_gpr_29 + static_cast(696)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(696)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 192u, 0x08904CACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089229D8u) goto L_089229D8; AOT_REGCACHE_SYNC_OUT(); return; L_089229D8: @@ -6968,7 +6969,7 @@ L_089229D8: } L_08922A00: aot_gpr_31 = (0x08922A08u); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(184))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(184))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 350u, 0x08905990u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08922A08u) goto L_08922A08; AOT_REGCACHE_SYNC_OUT(); return; L_08922A08: @@ -7026,8 +7027,8 @@ L_08922A70: } aot_gpr_5 = (16256u << 16u); ctx.fpr[15] = std::bit_cast(aot_gpr_5); - ctx.gpr[18] = (aot_gpr_29 + static_cast(768)); - aot_gpr_4 = (aot_gpr_29 + static_cast(832)); + ctx.gpr[18] = (ctx.gpr[29] + static_cast(768)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(832)); aot_gpr_31 = (0x08922A94u); ctx.fpr[14] = ctx.fpr[14] + ctx.fpr[15]; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 206u, 0x08904E70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08922A94u) goto L_08922A94; @@ -7042,12 +7043,12 @@ L_08922AA0: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(56))); aot_gpr_4 = (16261u << 16u); aot_gpr_4 = (aot_gpr_4 | 7864u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), 0u); aot_fpr_13 = std::bit_cast(aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), 0u); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; - aot_gpr_5 = (aot_gpr_29 + static_cast(704)); - ctx.gpr[6] = (aot_gpr_29 + static_cast(784)); + aot_gpr_5 = (ctx.gpr[29] + static_cast(704)); + aot_gpr_6 = (ctx.gpr[29] + static_cast(784)); aot_gpr_4 = (ctx.gpr[18] | 0u); ctx.gpr[7] = (0u | 1u); ctx.gpr[8] = (0u | 1u); @@ -7055,7 +7056,7 @@ L_08922AA0: ctx.gpr[10] = (0u | 1u); ctx.gpr[11] = (0u | 0u); aot_gpr_31 = (0x08922AE4u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(8), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 287u, 0x08891DD4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08922AE4u) goto L_08922AE4; AOT_REGCACHE_SYNC_OUT(); return; L_08922AE4: @@ -7079,7 +7080,7 @@ L_08922AEC: } L_08922B00: aot_gpr_31 = (0x08922B08u); - aot_gpr_4 = (aot_gpr_29 + static_cast(704)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(704)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 390u, 0x08905D48u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08922B08u) goto L_08922B08; AOT_REGCACHE_SYNC_OUT(); return; L_08922B08: @@ -7100,7 +7101,7 @@ L_08922B08: } L_08922B30: aot_gpr_31 = (0x08922B38u); - aot_gpr_4 = (aot_gpr_29 + static_cast(704)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(704)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 390u, 0x08905D48u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08922B38u) goto L_08922B38; AOT_REGCACHE_SYNC_OUT(); return; L_08922B38: @@ -7154,7 +7155,7 @@ L_08922B94: L_08922B9C: aot_gpr_31 = (0x08922BA4u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08922BA4u) goto L_08922BA4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08922BA4u) goto L_08922BA4; AOT_REGCACHE_SYNC_OUT(); return; L_08922BA4: { const bool branch_taken = aot_gpr_2 == 0u; @@ -7329,14 +7330,14 @@ L_08922CD0: AOT_REGCACHE_SYNC_OUT(); return; L_08922CDC: aot_fpr_12 = std::bit_cast(0u); - aot_gpr_4 = (aot_gpr_29 + static_cast(848)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(848)); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08922CF0u); ctx.fpr[14] = std::bit_cast(std::bit_cast(aot_fpr_12)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 206u, 0x08904E70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08922CF0u) goto L_08922CF0; AOT_REGCACHE_SYNC_OUT(); return; L_08922CF0: - aot_gpr_4 = (aot_gpr_29 + static_cast(176)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(176)); aot_gpr_31 = (0x08922CFCu); aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 354u, 0x089059FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08922CFCu) goto L_08922CFC; @@ -7352,7 +7353,7 @@ L_08922CFC: L_08922D04: aot_gpr_31 = (0x08922D0Cu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08922D0Cu) goto L_08922D0C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08922D0Cu) goto L_08922D0C; AOT_REGCACHE_SYNC_OUT(); return; L_08922D0C: { const bool branch_taken = aot_gpr_2 == 0u; @@ -7480,7 +7481,7 @@ L_08922DF8: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08922E08u); - ctx.gpr[6] = (0u | 137u); + aot_gpr_6 = (0u | 137u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08922E08u) goto L_08922E08; AOT_REGCACHE_SYNC_OUT(); return; L_08922E08: @@ -7496,7 +7497,7 @@ L_08922E14: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08922E24u); - ctx.gpr[6] = (0u | 140u); + aot_gpr_6 = (0u | 140u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08922E24u) goto L_08922E24; AOT_REGCACHE_SYNC_OUT(); return; L_08922E24: @@ -7554,7 +7555,7 @@ L_08922E70: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08922E80u); - ctx.gpr[6] = (0u | 137u); + aot_gpr_6 = (0u | 137u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08922E80u) goto L_08922E80; AOT_REGCACHE_SYNC_OUT(); return; L_08922E80: @@ -7570,7 +7571,7 @@ L_08922E8C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08922E9Cu); - ctx.gpr[6] = (0u | 140u); + aot_gpr_6 = (0u | 140u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08922E9Cu) goto L_08922E9C; AOT_REGCACHE_SYNC_OUT(); return; L_08922E9C: @@ -7656,14 +7657,14 @@ L_08922F14: aot_gpr_4 = (16128u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_31 = (0x08922F24u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(864), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(864), std::bit_cast(aot_fpr_12)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 373u, 0x08905BA0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08922F24u) goto L_08922F24; AOT_REGCACHE_SYNC_OUT(); return; L_08922F24: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(868), std::bit_cast(ctx.fpr[0])); - aot_gpr_5 = (aot_gpr_29 + static_cast(868)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(868), std::bit_cast(ctx.fpr[0])); + aot_gpr_5 = (ctx.gpr[29] + static_cast(868)); aot_gpr_31 = (0x08922F34u); - aot_gpr_4 = (aot_gpr_29 + static_cast(864)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(864)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 192u, 0x08904CACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08922F34u) goto L_08922F34; AOT_REGCACHE_SYNC_OUT(); return; L_08922F34: @@ -7684,7 +7685,7 @@ L_08922F34: } L_08922F5C: aot_gpr_31 = (0x08922F64u); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(184))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(184))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 350u, 0x08905990u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08922F64u) goto L_08922F64; AOT_REGCACHE_SYNC_OUT(); return; L_08922F64: @@ -7718,21 +7719,21 @@ L_08922F84: goto L_08922FA4; } L_08922FA4: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(180))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(176))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(180))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(176))); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); aot_gpr_4 = (16256u << 16u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(768), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(768), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(772), std::bit_cast(aot_fpr_13)); - ctx.gpr[18] = (aot_gpr_29 + static_cast(768)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(776), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(772), std::bit_cast(aot_fpr_13)); + ctx.gpr[18] = (ctx.gpr[29] + static_cast(768)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(776), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08922FD0u); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 352u, 0x089059BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08922FD0u) goto L_08922FD0; AOT_REGCACHE_SYNC_OUT(); return; L_08922FD0: - ctx.gpr[19] = (aot_gpr_29 + static_cast(880)); + ctx.gpr[19] = (ctx.gpr[29] + static_cast(880)); aot_gpr_31 = (0x08922FDCu); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 359u, 0x08905A60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08922FDCu) goto L_08922FDC; @@ -7741,16 +7742,16 @@ L_08922FDC: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08922FECu); - ctx.gpr[6] = (ctx.gpr[18] | 0u); + aot_gpr_6 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 180u, 0x08904BA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08922FECu) goto L_08922FEC; AOT_REGCACHE_SYNC_OUT(); return; L_08922FEC: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), 0u); aot_gpr_2 = (49568u << 16u); - aot_gpr_5 = (aot_gpr_29 + static_cast(704)); + aot_gpr_5 = (ctx.gpr[29] + static_cast(704)); aot_fpr_12 = std::bit_cast(aot_gpr_2); - ctx.gpr[6] = (aot_gpr_29 + static_cast(784)); + aot_gpr_6 = (ctx.gpr[29] + static_cast(784)); aot_gpr_4 = (ctx.gpr[19] | 0u); ctx.gpr[7] = (0u | 1u); ctx.gpr[8] = (0u | 0u); @@ -7758,7 +7759,7 @@ L_08922FEC: ctx.gpr[10] = (0u | 0u); ctx.gpr[11] = (0u | 0u); aot_gpr_31 = (0x08923024u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(8), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 287u, 0x08891DD4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08923024u) goto L_08923024; AOT_REGCACHE_SYNC_OUT(); return; L_08923024: @@ -7771,7 +7772,7 @@ L_08923024: } L_0892302C: aot_gpr_31 = (0x08923034u); - aot_gpr_4 = (aot_gpr_29 + static_cast(704)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(704)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 390u, 0x08905D48u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08923034u) goto L_08923034; AOT_REGCACHE_SYNC_OUT(); return; L_08923034: @@ -7787,25 +7788,25 @@ L_0892303C: aot_fpr_20 = std::bit_cast(aot_gpr_4); goto L_08923044; L_08923044: - ctx.gpr[18] = (aot_gpr_29 + static_cast(880)); + ctx.gpr[18] = (ctx.gpr[29] + static_cast(880)); aot_gpr_31 = (0x08923050u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 359u, 0x08905A60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08923050u) goto L_08923050; AOT_REGCACHE_SYNC_OUT(); return; L_08923050: - ctx.gpr[6] = (aot_gpr_29 + static_cast(768)); + aot_gpr_6 = (ctx.gpr[29] + static_cast(768)); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08923060u); aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 181u, 0x08904BC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08923060u) goto L_08923060; AOT_REGCACHE_SYNC_OUT(); return; L_08923060: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), 0u); aot_gpr_2 = (49568u << 16u); - aot_gpr_5 = (aot_gpr_29 + static_cast(736)); + aot_gpr_5 = (ctx.gpr[29] + static_cast(736)); aot_fpr_12 = std::bit_cast(aot_gpr_2); - ctx.gpr[6] = (aot_gpr_29 + static_cast(784)); + aot_gpr_6 = (ctx.gpr[29] + static_cast(784)); aot_gpr_4 = (ctx.gpr[18] | 0u); ctx.gpr[7] = (0u | 1u); ctx.gpr[8] = (0u | 0u); @@ -7813,7 +7814,7 @@ L_08923060: ctx.gpr[10] = (0u | 0u); ctx.gpr[11] = (0u | 0u); aot_gpr_31 = (0x08923098u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(8), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 287u, 0x08891DD4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08923098u) goto L_08923098; AOT_REGCACHE_SYNC_OUT(); return; L_08923098: @@ -7826,7 +7827,7 @@ L_08923098: } L_089230A0: aot_gpr_31 = (0x089230A8u); - aot_gpr_4 = (aot_gpr_29 + static_cast(736)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(736)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 390u, 0x08905D48u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089230A8u) goto L_089230A8; AOT_REGCACHE_SYNC_OUT(); return; L_089230A8: @@ -7987,11 +7988,11 @@ L_089231C4: } L_089231D0: aot_gpr_31 = (0x089231D8u); - aot_gpr_4 = (aot_gpr_29 + static_cast(736)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(736)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 390u, 0x08905D48u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089231D8u) goto L_089231D8; AOT_REGCACHE_SYNC_OUT(); return; L_089231D8: - aot_gpr_4 = (aot_gpr_29 + static_cast(912)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(912)); aot_gpr_31 = (0x089231E4u); aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 351u, 0x0890599Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089231E4u) goto L_089231E4; @@ -8012,11 +8013,11 @@ L_089231F0: } L_089231F8: aot_gpr_31 = (0x08923200u); - aot_gpr_4 = (aot_gpr_29 + static_cast(704)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(704)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 390u, 0x08905D48u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08923200u) goto L_08923200; AOT_REGCACHE_SYNC_OUT(); return; L_08923200: - aot_gpr_4 = (aot_gpr_29 + static_cast(928)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(928)); aot_gpr_31 = (0x0892320Cu); aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 351u, 0x0890599Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892320Cu) goto L_0892320C; @@ -8062,11 +8063,11 @@ L_0892324C: goto L_0892325C; } L_0892325C: - ctx.gpr[18] = (aot_gpr_29 + static_cast(768)); - ctx.gpr[19] = (aot_gpr_29 + static_cast(944)); - ctx.gpr[6] = (49024u << 16u); + ctx.gpr[18] = (ctx.gpr[29] + static_cast(768)); + ctx.gpr[19] = (ctx.gpr[29] + static_cast(944)); + aot_gpr_6 = (49024u << 16u); aot_gpr_4 = (ctx.gpr[19] | 0u); - aot_fpr_12 = std::bit_cast(ctx.gpr[6]); + aot_fpr_12 = std::bit_cast(aot_gpr_6); aot_gpr_31 = (0x08923278u); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 182u, 0x08904BD8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08923278u) goto L_08923278; @@ -8080,12 +8081,12 @@ L_08923278: L_08923284: aot_gpr_4 = (16256u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - ctx.gpr[18] = (aot_gpr_29 + static_cast(880)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(776), std::bit_cast(aot_fpr_12)); - ctx.gpr[19] = (aot_gpr_29 + static_cast(768)); - ctx.gpr[6] = (16512u << 16u); + ctx.gpr[18] = (ctx.gpr[29] + static_cast(880)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(776), std::bit_cast(aot_fpr_12)); + ctx.gpr[19] = (ctx.gpr[29] + static_cast(768)); + aot_gpr_6 = (16512u << 16u); aot_gpr_4 = (ctx.gpr[18] | 0u); - aot_fpr_12 = std::bit_cast(ctx.gpr[6]); + aot_fpr_12 = std::bit_cast(aot_gpr_6); aot_gpr_31 = (0x089232ACu); aot_gpr_5 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 182u, 0x08904BD8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089232ACu) goto L_089232AC; @@ -8102,10 +8103,10 @@ L_089232B8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 359u, 0x08905A60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089232C0u) goto L_089232C0; AOT_REGCACHE_SYNC_OUT(); return; L_089232C0: - ctx.gpr[20] = (aot_gpr_29 + static_cast(896)); - ctx.gpr[6] = (16000u << 16u); + ctx.gpr[20] = (ctx.gpr[29] + static_cast(896)); + aot_gpr_6 = (16000u << 16u); ctx.gpr[21] = (aot_gpr_2 | 0u); - aot_fpr_12 = std::bit_cast(ctx.gpr[6]); + aot_fpr_12 = std::bit_cast(aot_gpr_6); aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x089232DCu); aot_gpr_5 = (ctx.gpr[19] | 0u); @@ -8115,7 +8116,7 @@ L_089232DC: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x089232ECu); - ctx.gpr[6] = (ctx.gpr[20] | 0u); + aot_gpr_6 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 180u, 0x08904BA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089232ECu) goto L_089232EC; AOT_REGCACHE_SYNC_OUT(); return; L_089232EC: @@ -8125,9 +8126,9 @@ L_089232EC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 358u, 0x08905A44u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089232F8u) goto L_089232F8; AOT_REGCACHE_SYNC_OUT(); return; L_089232F8: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(768))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(768))); aot_fpr_20 = std::bit_cast(0u); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(772))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(772))); ctx.fpr[14] = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_31 = (0x08923310u); ctx.fpr[15] = std::bit_cast(std::bit_cast(aot_fpr_20)); @@ -8197,7 +8198,7 @@ L_0892336C: L_08923380: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 1000u); - ctx.gpr[6] = (0u | 30u); + aot_gpr_6 = (0u | 30u); aot_gpr_31 = (0x08923394u); ctx.gpr[7] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0070_entry, 70u, 14u, 0x0891C0E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08923394u) goto L_08923394; @@ -8299,7 +8300,7 @@ L_08923424: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 276u, 0x08905380u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08923430u) goto L_08923430; AOT_REGCACHE_SYNC_OUT(); return; L_08923430: - ctx.gpr[18] = (aot_gpr_29 + static_cast(176)); + ctx.gpr[18] = (ctx.gpr[29] + static_cast(176)); aot_gpr_5 = (aot_gpr_16 + static_cast(288)); aot_gpr_31 = (0x08923440u); aot_gpr_4 = (ctx.gpr[18] | 0u); @@ -8309,13 +8310,13 @@ L_08923440: aot_fpr_20 = std::bit_cast(0u); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08923450u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(184), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(184), std::bit_cast(aot_fpr_20)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 175u, 0x08904B3Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08923450u) goto L_08923450; AOT_REGCACHE_SYNC_OUT(); return; L_08923450: aot_fpr_22 = std::bit_cast(std::bit_cast(ctx.fpr[0])); aot_gpr_31 = (0x0892345Cu); - aot_gpr_4 = (aot_gpr_29 + static_cast(180)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(180)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 175u, 0x08904B3Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892345Cu) goto L_0892345C; AOT_REGCACHE_SYNC_OUT(); return; L_0892345C: @@ -8331,7 +8332,7 @@ L_0892345C: } L_08923470: aot_gpr_31 = (0x08923478u); - aot_gpr_4 = (aot_gpr_29 + static_cast(176)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(176)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 352u, 0x089059BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08923478u) goto L_08923478; AOT_REGCACHE_SYNC_OUT(); return; L_08923478: @@ -8362,10 +8363,10 @@ L_08923490: goto L_0892349C; } L_0892349C: - ctx.gpr[18] = (aot_gpr_29 + static_cast(960)); - ctx.gpr[6] = (49280u << 16u); - aot_gpr_5 = (aot_gpr_29 + static_cast(176)); - aot_fpr_12 = std::bit_cast(ctx.gpr[6]); + ctx.gpr[18] = (ctx.gpr[29] + static_cast(960)); + aot_gpr_6 = (49280u << 16u); + aot_gpr_5 = (ctx.gpr[29] + static_cast(176)); + aot_fpr_12 = std::bit_cast(aot_gpr_6); aot_gpr_31 = (0x089234B4u); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 182u, 0x08904BD8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089234B4u) goto L_089234B4; @@ -8385,10 +8386,10 @@ L_089234C0: goto L_089234C8; } L_089234C8: - ctx.gpr[18] = (aot_gpr_29 + static_cast(976)); - ctx.gpr[6] = (16384u << 16u); - aot_gpr_5 = (aot_gpr_29 + static_cast(176)); - aot_fpr_12 = std::bit_cast(ctx.gpr[6]); + ctx.gpr[18] = (ctx.gpr[29] + static_cast(976)); + aot_gpr_6 = (16384u << 16u); + aot_gpr_5 = (ctx.gpr[29] + static_cast(176)); + aot_fpr_12 = std::bit_cast(aot_gpr_6); aot_gpr_31 = (0x089234E0u); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 182u, 0x08904BD8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089234E0u) goto L_089234E0; @@ -8575,7 +8576,7 @@ L_0892360C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 16u); aot_gpr_31 = (0x0892361Cu); - ctx.gpr[6] = (aot_gpr_2 | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0178_entry, 178u, 482u, 0x08ACD698u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892361Cu) goto L_0892361C; AOT_REGCACHE_SYNC_OUT(); return; L_0892361C: @@ -8617,7 +8618,7 @@ L_08923648: goto L_08923664; } L_08923664: - ctx.gpr[18] = (aot_gpr_29 + static_cast(992)); + ctx.gpr[18] = (ctx.gpr[29] + static_cast(992)); aot_gpr_31 = (0x08923670u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 400u, 0x08905EB8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08923670u) goto L_08923670; @@ -8653,7 +8654,7 @@ L_089236AC: ctx.gpr[18] = (0u | 0u); aot_gpr_31 = (0x089236B8u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089236B8u) goto L_089236B8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089236B8u) goto L_089236B8; AOT_REGCACHE_SYNC_OUT(); return; L_089236B8: { const bool branch_taken = aot_gpr_2 != 0u; @@ -8904,7 +8905,7 @@ L_0892383C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 402u, 0x08905EC8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08923858u) goto L_08923858; AOT_REGCACHE_SYNC_OUT(); return; L_08923858: - ctx.gpr[18] = (aot_gpr_29 + static_cast(1008)); + ctx.gpr[18] = (ctx.gpr[29] + static_cast(1008)); aot_fpr_20 = std::bit_cast(0u); ctx.gpr[19] = (aot_gpr_16 + static_cast(144)); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); @@ -8999,7 +9000,7 @@ L_089238F4: L_08923900: aot_gpr_31 = (0x08923908u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08923908u) goto L_08923908; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08923908u) goto L_08923908; AOT_REGCACHE_SYNC_OUT(); return; L_08923908: { const bool branch_taken = aot_gpr_2 != 0u; @@ -9102,7 +9103,7 @@ L_0892398C: L_08923994: aot_gpr_31 = (0x0892399Cu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892399Cu) goto L_0892399C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892399Cu) goto L_0892399C; AOT_REGCACHE_SYNC_OUT(); return; L_0892399C: { const bool branch_taken = aot_gpr_2 == 0u; @@ -9121,8 +9122,8 @@ L_089239AC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); aot_gpr_4 = (aot_gpr_4 + static_cast(216)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - jump_target = ctx.gpr[6]; + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); + jump_target = aot_gpr_6; aot_gpr_31 = (0x089239C4u); aot_gpr_4 = (aot_gpr_16 + aot_gpr_5); ctx.pc = jump_target; @@ -9257,7 +9258,7 @@ L_08923A74: L_08923A7C: aot_gpr_31 = (0x08923A84u); aot_gpr_4 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08923A84u) goto L_08923A84; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08923A84u) goto L_08923A84; AOT_REGCACHE_SYNC_OUT(); return; L_08923A84: ctx.gpr[18] = (aot_gpr_2 | 0u); @@ -9265,7 +9266,7 @@ L_08923A84: ctx.gpr[20] = (0u | 0u); aot_gpr_31 = (0x08923A98u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08923A98u) goto L_08923A98; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08923A98u) goto L_08923A98; AOT_REGCACHE_SYNC_OUT(); return; L_08923A98: { const bool branch_taken = aot_gpr_2 != 0u; @@ -9334,7 +9335,7 @@ L_08923AF0: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08923B00u); - ctx.gpr[6] = (aot_gpr_2 | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08923B00u) goto L_08923B00; AOT_REGCACHE_SYNC_OUT(); return; L_08923B00: @@ -9356,7 +9357,7 @@ L_08923B18: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08923B28u); - ctx.gpr[6] = (aot_gpr_2 | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08923B28u) goto L_08923B28; AOT_REGCACHE_SYNC_OUT(); return; L_08923B28: @@ -9636,7 +9637,7 @@ L_08923CE4: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08923CF4u); - ctx.gpr[6] = (0u | 157u); + aot_gpr_6 = (0u | 157u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08923CF4u) goto L_08923CF4; AOT_REGCACHE_SYNC_OUT(); return; L_08923CF4: @@ -9650,7 +9651,7 @@ L_08923CF4: L_08923CFC: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x08923D10u); ctx.gpr[7] = (0u | 157u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 175u, 0x089089B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08923D10u) goto L_08923D10; @@ -9659,7 +9660,7 @@ L_08923D10: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 118u); aot_gpr_31 = (0x08923D20u); - ctx.gpr[6] = (0u | 1500u); + aot_gpr_6 = (0u | 1500u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 294u, 0x0891108Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08923D20u) goto L_08923D20; AOT_REGCACHE_SYNC_OUT(); return; L_08923D20: @@ -9674,7 +9675,7 @@ L_08923D28: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08923D38u); - ctx.gpr[6] = (0u | 156u); + aot_gpr_6 = (0u | 156u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08923D38u) goto L_08923D38; AOT_REGCACHE_SYNC_OUT(); return; L_08923D38: @@ -9688,7 +9689,7 @@ L_08923D38: L_08923D40: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x08923D54u); ctx.gpr[7] = (0u | 156u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 175u, 0x089089B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08923D54u) goto L_08923D54; @@ -9829,8 +9830,8 @@ L_08923E08: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); aot_gpr_4 = (aot_gpr_4 + static_cast(160)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - jump_target = ctx.gpr[6]; + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); + jump_target = aot_gpr_6; aot_gpr_31 = (0x08923E20u); aot_gpr_4 = (aot_gpr_16 + aot_gpr_5); ctx.pc = jump_target; @@ -9883,7 +9884,7 @@ L_08923E50: L_08923E58: aot_gpr_31 = (0x08923E60u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08923E60u) goto L_08923E60; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08923E60u) goto L_08923E60; AOT_REGCACHE_SYNC_OUT(); return; L_08923E60: { const bool branch_taken = aot_gpr_2 == 0u; @@ -9999,7 +10000,7 @@ L_08923EF8: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 50u); aot_gpr_31 = (0x08923F08u); - ctx.gpr[6] = (aot_gpr_2 | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0178_entry, 178u, 482u, 0x08ACD698u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08923F08u) goto L_08923F08; AOT_REGCACHE_SYNC_OUT(); return; L_08923F08: @@ -10087,19 +10088,19 @@ L_08923F6C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 359u, 0x08905A60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08923F74u) goto L_08923F74; AOT_REGCACHE_SYNC_OUT(); return; L_08923F74: - aot_gpr_4 = (aot_gpr_29 + static_cast(1040)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(1040)); aot_gpr_31 = (0x08923F80u); aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 364u, 0x08905AC8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08923F80u) goto L_08923F80; AOT_REGCACHE_SYNC_OUT(); return; L_08923F80: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1040))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1044))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(1040))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(1044))); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); - aot_gpr_5 = (aot_gpr_29 + static_cast(1032)); - ctx.gpr[6] = (std::bit_cast(aot_fpr_13)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1032), aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1036), ctx.gpr[6]); + aot_gpr_5 = (ctx.gpr[29] + static_cast(1032)); + aot_gpr_6 = (std::bit_cast(aot_fpr_13)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(1032), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(1036), aot_gpr_6); aot_gpr_31 = (0x08923FA4u); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 365u, 0x08905AE4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08923FA4u) goto L_08923FA4; @@ -10136,19 +10137,19 @@ L_08923FCC: } L_08923FD4: ctx.gpr[18] = (ctx.gpr[28] + static_cast(8864)); - aot_gpr_4 = (aot_gpr_29 + static_cast(1048)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(1048)); aot_gpr_31 = (0x08923FE4u); aot_gpr_5 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 15u, 0x089100C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08923FE4u) goto L_08923FE4; AOT_REGCACHE_SYNC_OUT(); return; L_08923FE4: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1048))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1052))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(1048))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(1052))); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); - aot_gpr_5 = (aot_gpr_29 + static_cast(1024)); - ctx.gpr[6] = (std::bit_cast(aot_fpr_13)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1024), aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1028), ctx.gpr[6]); + aot_gpr_5 = (ctx.gpr[29] + static_cast(1024)); + aot_gpr_6 = (std::bit_cast(aot_fpr_13)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(1024), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(1028), aot_gpr_6); ctx.pc = 0x08924000u; AOT_REGCACHE_SYNC_OUT(); return; } diff --git a/profiles/vcs/generated/generated_unit_0072.cpp b/profiles/vcs/generated/generated_unit_0072.cpp index 196fa02..9b79ac3 100644 --- a/profiles/vcs/generated/generated_unit_0072.cpp +++ b/profiles/vcs/generated/generated_unit_0072.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0072[4093] = { }; void recomp_unit_0072_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,31,17,16,29 fprs=12,13,20,14 gpr_occ=4085 fpr_occ=569 gpr_total=5142 fpr_total=721 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,31,2,6,16 fprs=12,13,20,14 gpr_occ=4214 fpr_occ=571 gpr_total=5578 fpr_total=723 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; - std::uint32_t aot_gpr_17 = ctx.gpr[17]; + std::uint32_t aot_gpr_2 = ctx.gpr[2]; + std::uint32_t aot_gpr_6 = ctx.gpr[6]; std::uint32_t aot_gpr_16 = ctx.gpr[16]; - std::uint32_t aot_gpr_29 = ctx.gpr[29]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_20 = ctx.fpr[20]; float aot_fpr_14 = ctx.fpr[14]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[31] = aot_gpr_31; ctx.gpr[17] = aot_gpr_17; ctx.gpr[16] = aot_gpr_16; ctx.gpr[29] = aot_gpr_29; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; ctx.fpr[14] = aot_fpr_14; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_17 = ctx.gpr[17]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_29 = ctx.gpr[29]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_14 = ctx.fpr[14]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[31] = aot_gpr_31; ctx.gpr[2] = aot_gpr_2; ctx.gpr[6] = aot_gpr_6; ctx.gpr[16] = aot_gpr_16; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; ctx.fpr[14] = aot_fpr_14; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_2 = ctx.gpr[2]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_16 = ctx.gpr[16]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_14 = ctx.fpr[14]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -1208,23 +1209,23 @@ L_08924030: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 169u, 0x08910A14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08924038u) goto L_08924038; AOT_REGCACHE_SYNC_OUT(); return; L_08924038: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[18] == 0u; - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(1056), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(1056), static_cast(0u)); if (branch_taken) { goto L_08924068; } goto L_08924044; } L_08924044: - ctx.gpr[6] = (aot_gpr_29 + static_cast(1056)); + aot_gpr_6 = (ctx.gpr[29] + static_cast(1056)); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08924054u); aot_gpr_5 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0056_entry, 56u, 36u, 0x088E43E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08924054u) goto L_08924054; AOT_REGCACHE_SYNC_OUT(); return; L_08924054: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08924068; @@ -1251,7 +1252,7 @@ L_08924070: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 511u, 0x0890652Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08924078u) goto L_08924078; AOT_REGCACHE_SYNC_OUT(); return; L_08924078: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089240D4; @@ -1265,11 +1266,11 @@ L_08924080: AOT_REGCACHE_SYNC_OUT(); return; L_08924088: aot_gpr_31 = (0x08924090u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 378u, 0x08905BDCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08924090u) goto L_08924090; AOT_REGCACHE_SYNC_OUT(); return; L_08924090: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089240D4; @@ -1287,11 +1288,11 @@ L_089240A0: aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_5 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x089240B8u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 627u, 0x089AB048u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089240B8u) goto L_089240B8; AOT_REGCACHE_SYNC_OUT(); return; L_089240B8: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089240D4; @@ -1304,7 +1305,7 @@ L_089240C0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 511u, 0x0890652Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089240C8u) goto L_089240C8; AOT_REGCACHE_SYNC_OUT(); return; L_089240C8: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x089240D4u); aot_gpr_5 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0077_entry, 77u, 14u, 0x089380CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089240D4u) goto L_089240D4; @@ -1502,10 +1503,10 @@ L_089241B4: L_089241BC: aot_gpr_31 = (0x089241C4u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089241C4u) goto L_089241C4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089241C4u) goto L_089241C4; AOT_REGCACHE_SYNC_OUT(); return; L_089241C4: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_089242E0; @@ -1528,7 +1529,7 @@ L_089241D8: AOT_REGCACHE_SYNC_OUT(); return; L_089241E0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1368))); - aot_gpr_4 = (aot_gpr_4 < ctx.gpr[2] ? 1u : 0u); + aot_gpr_4 = (aot_gpr_4 < aot_gpr_2 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -1565,7 +1566,7 @@ L_08924210: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 20u, 0x08910150u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08924218u) goto L_08924218; AOT_REGCACHE_SYNC_OUT(); return; L_08924218: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_0892426C; @@ -1580,23 +1581,23 @@ L_08924220: AOT_REGCACHE_SYNC_OUT(); return; L_0892422C: aot_gpr_31 = (0x08924234u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 359u, 0x08905A60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08924234u) goto L_08924234; AOT_REGCACHE_SYNC_OUT(); return; L_08924234: - aot_gpr_4 = (aot_gpr_29 + static_cast(1068)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(1068)); aot_gpr_31 = (0x08924240u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 364u, 0x08905AC8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08924240u) goto L_08924240; AOT_REGCACHE_SYNC_OUT(); return; L_08924240: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1068))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1072))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(1068))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(1072))); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); - aot_gpr_5 = (aot_gpr_29 + static_cast(1060)); - ctx.gpr[6] = (std::bit_cast(aot_fpr_13)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1060), aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1064), ctx.gpr[6]); + aot_gpr_5 = (ctx.gpr[29] + static_cast(1060)); + aot_gpr_6 = (std::bit_cast(aot_fpr_13)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(1060), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(1064), aot_gpr_6); aot_gpr_31 = (0x08924264u); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 365u, 0x08905AE4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08924264u) goto L_08924264; @@ -1611,19 +1612,19 @@ L_08924264: } L_0892426C: ctx.gpr[18] = (ctx.gpr[28] + static_cast(8864)); - aot_gpr_4 = (aot_gpr_29 + static_cast(1084)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(1084)); aot_gpr_31 = (0x0892427Cu); aot_gpr_5 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 15u, 0x089100C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892427Cu) goto L_0892427C; AOT_REGCACHE_SYNC_OUT(); return; L_0892427C: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1084))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1088))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(1084))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(1088))); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); - aot_gpr_5 = (aot_gpr_29 + static_cast(1076)); - ctx.gpr[6] = (std::bit_cast(aot_fpr_13)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1076), aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1080), ctx.gpr[6]); + aot_gpr_5 = (ctx.gpr[29] + static_cast(1076)); + aot_gpr_6 = (std::bit_cast(aot_fpr_13)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(1076), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(1080), aot_gpr_6); aot_gpr_31 = (0x089242A0u); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 365u, 0x08905AE4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089242A0u) goto L_089242A0; @@ -1645,7 +1646,7 @@ L_089242B0: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x089242BCu); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089242BCu) goto L_089242BC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08908E78, 65u, 261u, 0x08908E78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089242BCu) goto L_089242BC; AOT_REGCACHE_SYNC_OUT(); return; L_089242BC: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -1656,7 +1657,7 @@ L_089242BC: L_089242C8: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 20u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x089242E0u); ctx.gpr[8] = (0u | 0u); @@ -1671,11 +1672,11 @@ L_089242E8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); aot_gpr_5 = (0u | 0u); aot_gpr_4 = (aot_gpr_4 + static_cast(248)); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x08924304u); - aot_gpr_4 = (aot_gpr_16 + ctx.gpr[6]); + aot_gpr_4 = (aot_gpr_16 + aot_gpr_6); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08924304u) goto L_08924304; AOT_REGCACHE_SYNC_OUT(); return; @@ -1726,7 +1727,7 @@ L_08924348: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7764))); aot_gpr_4 = (aot_gpr_4 & 7u); { const bool branch_taken = aot_gpr_4 != 0u; - ctx.gpr[18] = (aot_gpr_29 + static_cast(1104)); + ctx.gpr[18] = (ctx.gpr[29] + static_cast(1104)); if (branch_taken) { goto L_08924498; } @@ -1739,7 +1740,7 @@ L_08924358: AOT_REGCACHE_SYNC_OUT(); return; L_08924360: aot_gpr_4 = (2236u << 16u); - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08924370u); aot_gpr_4 = (aot_gpr_4 + static_cast(32304)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 359u, 0x08905A60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08924370u) goto L_08924370; @@ -1748,7 +1749,7 @@ L_08924370: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08924380u); - ctx.gpr[6] = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 181u, 0x08904BC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08924380u) goto L_08924380; AOT_REGCACHE_SYNC_OUT(); return; L_08924380: @@ -1775,7 +1776,7 @@ L_089243A4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 195u, 0x08904CD4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089243ACu) goto L_089243AC; AOT_REGCACHE_SYNC_OUT(); return; L_089243AC: - aot_gpr_4 = (ctx.gpr[2] & 127u); + aot_gpr_4 = (aot_gpr_2 & 127u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_gpr_4 = (15044u << 16u); @@ -1791,7 +1792,7 @@ L_089243AC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 195u, 0x08904CD4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089243E0u) goto L_089243E0; AOT_REGCACHE_SYNC_OUT(); return; L_089243E0: - aot_gpr_4 = (ctx.gpr[2] & 127u); + aot_gpr_4 = (aot_gpr_2 & 127u); aot_gpr_4 = (aot_gpr_4 + static_cast(-64)); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_13))); @@ -1802,11 +1803,11 @@ L_089243E0: { const float fs = aot_fpr_12; const float ft = ctx.fpr[24]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = aot_fpr_20 + aot_fpr_12; aot_gpr_31 = (0x08924410u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1120), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(1120), std::bit_cast(aot_fpr_12)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 195u, 0x08904CD4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08924410u) goto L_08924410; AOT_REGCACHE_SYNC_OUT(); return; L_08924410: - aot_gpr_4 = (ctx.gpr[2] & 127u); + aot_gpr_4 = (aot_gpr_2 & 127u); aot_gpr_4 = (aot_gpr_4 + static_cast(-64)); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(56))); @@ -1818,16 +1819,16 @@ L_08924410: aot_gpr_4 = (16512u << 16u); { const float fs = aot_fpr_12; const float ft = ctx.fpr[24]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } ctx.fpr[28] = std::bit_cast(0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1128), std::bit_cast(aot_fpr_13)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(1128), std::bit_cast(aot_fpr_13)); ctx.fpr[30] = std::bit_cast(std::bit_cast(ctx.fpr[22]) ^ 0x80000000u); aot_fpr_12 = ctx.fpr[26] + aot_fpr_12; ctx.fpr[24] = std::bit_cast(aot_gpr_4); aot_gpr_31 = (0x08924458u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1124), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(1124), std::bit_cast(aot_fpr_12)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 195u, 0x08904CD4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08924458u) goto L_08924458; AOT_REGCACHE_SYNC_OUT(); return; L_08924458: - ctx.gpr[11] = (ctx.gpr[2] & 4095u); + ctx.gpr[11] = (aot_gpr_2 & 4095u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[22])); ctx.gpr[11] = (ctx.gpr[11] + static_cast(2000)); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[28])); @@ -1835,7 +1836,7 @@ L_08924458: aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[28])); aot_gpr_5 = (ctx.gpr[18] | 0u); ctx.fpr[15] = std::bit_cast(std::bit_cast(ctx.fpr[30])); - ctx.gpr[6] = (aot_gpr_29 + static_cast(1120)); + aot_gpr_6 = (ctx.gpr[29] + static_cast(1120)); ctx.fpr[16] = std::bit_cast(std::bit_cast(ctx.fpr[24])); ctx.gpr[7] = (0u | 255u); ctx.fpr[17] = std::bit_cast(std::bit_cast(aot_fpr_20)); @@ -1856,7 +1857,7 @@ L_089244A0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 195u, 0x08910B38u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089244A8u) goto L_089244A8; AOT_REGCACHE_SYNC_OUT(); return; L_089244A8: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089244FC; @@ -1869,7 +1870,7 @@ L_089244B0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 240u, 0x089051A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089244B8u) goto L_089244B8; AOT_REGCACHE_SYNC_OUT(); return; L_089244B8: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_089244FC; @@ -1883,7 +1884,7 @@ L_089244C0: AOT_REGCACHE_SYNC_OUT(); return; L_089244C8: aot_gpr_4 = (0u | 17u); - { const bool branch_taken = ctx.gpr[2] == aot_gpr_4; + { const bool branch_taken = aot_gpr_2 == aot_gpr_4; // nop if (branch_taken) { goto L_089244E8; @@ -1897,7 +1898,7 @@ L_089244D4: AOT_REGCACHE_SYNC_OUT(); return; L_089244DC: aot_gpr_4 = (0u | 18u); - { const bool branch_taken = ctx.gpr[2] != aot_gpr_4; + { const bool branch_taken = aot_gpr_2 != aot_gpr_4; // nop if (branch_taken) { goto L_089244F0; @@ -1932,7 +1933,7 @@ L_08924510: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 240u, 0x089051A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08924518u) goto L_08924518; AOT_REGCACHE_SYNC_OUT(); return; L_08924518: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089245A0; @@ -1946,11 +1947,11 @@ L_08924520: AOT_REGCACHE_SYNC_OUT(); return; L_08924528: aot_gpr_31 = (0x08924530u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 409u, 0x08905F98u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08924530u) goto L_08924530; AOT_REGCACHE_SYNC_OUT(); return; L_08924530: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089245A0; @@ -1964,16 +1965,16 @@ L_08924538: AOT_REGCACHE_SYNC_OUT(); return; L_08924540: aot_gpr_31 = (0x08924548u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 409u, 0x08905F98u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08924548u) goto L_08924548; AOT_REGCACHE_SYNC_OUT(); return; L_08924548: aot_gpr_31 = (0x08924550u); - aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08924550u) goto L_08924550; + aot_gpr_4 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08924550u) goto L_08924550; AOT_REGCACHE_SYNC_OUT(); return; L_08924550: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089245A0; @@ -1987,11 +1988,11 @@ L_08924558: AOT_REGCACHE_SYNC_OUT(); return; L_08924560: aot_gpr_31 = (0x08924568u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 259u, 0x08B00ED4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08924568u) goto L_08924568; AOT_REGCACHE_SYNC_OUT(); return; L_08924568: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089245A0; @@ -2035,7 +2036,7 @@ L_089245AC: AOT_REGCACHE_SYNC_OUT(); return; L_089245B4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1956))); - aot_gpr_4 = (aot_gpr_4 < ctx.gpr[2] ? 1u : 0u); + aot_gpr_4 = (aot_gpr_4 < aot_gpr_2 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -2091,16 +2092,16 @@ L_08924608: L_08924610: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0892461Cu); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 475u, 0x0890DF20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892461Cu) goto L_0892461C; AOT_REGCACHE_SYNC_OUT(); return; L_0892461C: aot_gpr_31 = (0x08924624u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08924624u) goto L_08924624; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08924624u) goto L_08924624; AOT_REGCACHE_SYNC_OUT(); return; L_08924624: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_0892468C; @@ -2114,12 +2115,12 @@ L_0892462C: AOT_REGCACHE_SYNC_OUT(); return; L_08924634: aot_gpr_31 = (0x0892463Cu); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 412u, 0x08905FB8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892463Cu) goto L_0892463C; AOT_REGCACHE_SYNC_OUT(); return; L_0892463C: aot_gpr_4 = (0u | 11u); - { const bool branch_taken = ctx.gpr[2] != aot_gpr_4; + { const bool branch_taken = aot_gpr_2 != aot_gpr_4; // nop if (branch_taken) { goto L_0892468C; @@ -2132,7 +2133,7 @@ L_08924648: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 231u, 0x08905104u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08924650u) goto L_08924650; AOT_REGCACHE_SYNC_OUT(); return; L_08924650: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(0))); aot_gpr_5 = (0u | 16u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -2147,7 +2148,7 @@ L_08924660: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 195u, 0x08910B38u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08924668u) goto L_08924668; AOT_REGCACHE_SYNC_OUT(); return; L_08924668: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_0892468C; @@ -2161,11 +2162,11 @@ L_08924670: aot_fpr_13 = std::bit_cast(ctx.gpr[7]); aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); aot_gpr_31 = (0x0892468Cu); - ctx.gpr[6] = (0u | 52u); + aot_gpr_6 = (0u | 52u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 503u, 0x08A05F80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892468Cu) goto L_0892468C; AOT_REGCACHE_SYNC_OUT(); return; L_0892468C: - if (aot_gpr_17 == 0u) { + if (ctx.gpr[17] == 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(472))); goto L_089246C0; } @@ -2174,16 +2175,16 @@ L_08924694: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); aot_gpr_4 = (aot_gpr_4 + static_cast(216)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - jump_target = ctx.gpr[6]; + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); + jump_target = aot_gpr_6; aot_gpr_31 = (0x089246ACu); aot_gpr_4 = (aot_gpr_16 + aot_gpr_5); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089246ACu) goto L_089246AC; AOT_REGCACHE_SYNC_OUT(); return; L_089246AC: - ctx.gpr[6] = (aot_gpr_29 + static_cast(16)); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (ctx.gpr[29] + static_cast(16)); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x089246BCu); aot_gpr_5 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0006_entry, 6u, 465u, 0x0881EB08u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089246BCu) goto L_089246BC; @@ -2193,18 +2194,18 @@ L_089246BC: goto L_089246C0; L_089246C0: aot_gpr_5 = (61440u << 16u); - ctx.gpr[6] = (aot_gpr_4 & 32768u); + aot_gpr_6 = (aot_gpr_4 & 32768u); aot_gpr_5 = (aot_gpr_5 + static_cast(-1)); - ctx.gpr[6] = (ctx.gpr[6] >> 15u); + aot_gpr_6 = (aot_gpr_6 >> 15u); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); - aot_gpr_5 = (ctx.gpr[6] & 1u); + aot_gpr_5 = (aot_gpr_6 & 1u); aot_gpr_5 = (aot_gpr_5 << 28u); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(472), aot_gpr_4); goto L_089246E4; L_089246E4: { std::uint32_t aot_run_words[15]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(1256), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(1256), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); @@ -2212,7 +2213,7 @@ L_089246E4: ctx.fpr[28] = std::bit_cast(aot_run_words[4]); ctx.fpr[30] = std::bit_cast(aot_run_words[5]); aot_gpr_16 = aot_run_words[6]; - aot_gpr_17 = aot_run_words[7]; + ctx.gpr[17] = aot_run_words[7]; ctx.gpr[18] = aot_run_words[8]; ctx.gpr[19] = aot_run_words[9]; ctx.gpr[20] = aot_run_words[10]; @@ -2222,23 +2223,23 @@ L_089246E4: aot_gpr_31 = aot_run_words[14]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(1328)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(1328)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08924728: - aot_gpr_29 = (aot_gpr_29 + static_cast(-192)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(168), aot_gpr_17); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-192)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(168), ctx.gpr[17]); aot_fpr_12 = std::bit_cast(0u); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1156))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1156))); { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_12)}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(32), aot_run_words); } - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(160), std::bit_cast(aot_fpr_20)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(164), aot_gpr_16); + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(32), aot_run_words); } + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(160), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(164), aot_gpr_16); { const std::uint32_t aot_run_words[3]{ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(172), aot_run_words); } - { const bool branch_taken = aot_gpr_17 == 0u; + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(172), aot_run_words); } + { const bool branch_taken = ctx.gpr[17] == 0u; aot_gpr_16 = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08924774; @@ -2278,10 +2279,10 @@ L_0892477C: L_08924784: aot_gpr_31 = (0x0892478Cu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892478Cu) goto L_0892478C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892478Cu) goto L_0892478C; AOT_REGCACHE_SYNC_OUT(); return; L_0892478C: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_089247A4; @@ -2289,7 +2290,7 @@ L_0892478C: goto L_08924794; } L_08924794: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 496u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -2309,7 +2310,7 @@ L_089247A4: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_4 = (aot_gpr_29 + static_cast(48)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(48)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; @@ -2337,25 +2338,25 @@ L_089247CC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 441u, 0x089AA5B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089247D4u) goto L_089247D4; AOT_REGCACHE_SYNC_OUT(); return; L_089247D4: - aot_gpr_4 = (aot_gpr_17 + static_cast(48)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(48)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(128), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(128), std::bit_cast(aot_fpr_12)); aot_gpr_5 = (std::bit_cast(aot_fpr_13)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(88), aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(92), aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(132), std::bit_cast(aot_fpr_13)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(88))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(92))); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(88), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(92), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(132), std::bit_cast(aot_fpr_13)); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(88))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(92))); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); - aot_gpr_5 = (aot_gpr_29 + static_cast(80)); - ctx.gpr[6] = (std::bit_cast(aot_fpr_13)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(80), aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(84), ctx.gpr[6]); + aot_gpr_5 = (ctx.gpr[29] + static_cast(80)); + aot_gpr_6 = (std::bit_cast(aot_fpr_13)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(80), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(84), aot_gpr_6); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08924820u); - ctx.gpr[6] = (0u | 4000u); + aot_gpr_6 = (0u | 4000u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 779u, 0x0890B0A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08924820u) goto L_08924820; AOT_REGCACHE_SYNC_OUT(); return; L_08924820: @@ -2378,7 +2379,7 @@ L_08924828: goto L_0892483C; } L_0892483C: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(86)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(86)))))); aot_gpr_5 = (0u | 237u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -2388,10 +2389,10 @@ L_0892483C: goto L_0892484C; } L_0892484C: - ctx.gpr[6] = (aot_gpr_29 + static_cast(32)); + aot_gpr_6 = (ctx.gpr[29] + static_cast(32)); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0892485Cu); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0106_entry, 106u, 784u, 0x089AF330u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892485Cu) goto L_0892485C; AOT_REGCACHE_SYNC_OUT(); return; L_0892485C: @@ -2406,7 +2407,7 @@ L_08924864: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08924870u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08924870u) goto L_08924870; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08924870u) goto L_08924870; AOT_REGCACHE_SYNC_OUT(); return; L_08924870: { const bool branch_taken = 0u == 0u; @@ -2417,7 +2418,7 @@ L_08924870: goto L_08924878; } L_08924878: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(852))); aot_gpr_5 = (0u | 3u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -2427,7 +2428,7 @@ L_08924878: goto L_08924888; } L_08924888: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(72))); aot_gpr_5 = (0u | 112u); aot_gpr_4 = (aot_gpr_4 & 496u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; @@ -2438,14 +2439,14 @@ L_08924888: goto L_0892489C; } L_0892489C: - ctx.gpr[6] = (aot_gpr_29 + static_cast(32)); + aot_gpr_6 = (ctx.gpr[29] + static_cast(32)); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x089248ACu); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 325u, 0x089A9AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089248ACu) goto L_089248AC; AOT_REGCACHE_SYNC_OUT(); return; L_089248AC: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089248D4; @@ -2453,12 +2454,12 @@ L_089248AC: goto L_089248B4; } L_089248B4: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(32))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(32))); aot_fpr_13 = std::bit_cast(0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(aot_fpr_13)) && aot_fpr_12 == aot_fpr_13)) ? 0x00800000u : 0u); // nop if (((ctx.fcr31 & 0x00800000u) != 0u)) { - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(36))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(36))); goto L_08924AF8; } goto L_089248CC; @@ -2507,14 +2508,14 @@ L_089248FC: goto L_08924904; } L_08924904: - ctx.gpr[6] = (aot_gpr_29 + static_cast(32)); + aot_gpr_6 = (ctx.gpr[29] + static_cast(32)); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08924914u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0106_entry, 106u, 863u, 0x089AF91Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08924914u) goto L_08924914; AOT_REGCACHE_SYNC_OUT(); return; L_08924914: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08924968; @@ -2523,12 +2524,12 @@ L_08924914: } L_0892491C: aot_gpr_31 = (0x08924924u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 559u, 0x08B021B0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08924924u) goto L_08924924; AOT_REGCACHE_SYNC_OUT(); return; L_08924924: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(565))); - { const bool branch_taken = ctx.gpr[2] != aot_gpr_4; + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(565))); + { const bool branch_taken = aot_gpr_2 != aot_gpr_4; // nop if (branch_taken) { goto L_08924948; @@ -2557,7 +2558,7 @@ L_08924948: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08924954u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08924954u) goto L_08924954; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08924954u) goto L_08924954; AOT_REGCACHE_SYNC_OUT(); return; L_08924954: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(456))); @@ -2583,9 +2584,9 @@ L_08924968: goto L_08924980; } L_08924980: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(852))); - ctx.gpr[6] = (0u | 6u); - { const bool branch_taken = aot_gpr_5 == ctx.gpr[6]; + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(852))); + aot_gpr_6 = (0u | 6u); + { const bool branch_taken = aot_gpr_5 == aot_gpr_6; aot_gpr_4 = (0u | 0u); if (branch_taken) { goto L_089249C0; @@ -2593,25 +2594,25 @@ L_08924980: goto L_08924990; } L_08924990: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(852))); - ctx.gpr[6] = (0u | 8u); - if (aot_gpr_5 == ctx.gpr[6]) { + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(852))); + aot_gpr_6 = (0u | 8u); + if (aot_gpr_5 == aot_gpr_6) { aot_gpr_4 = (0u | 1u); goto L_089249C4; } goto L_089249A0; L_089249A0: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(852))); - ctx.gpr[6] = (0u | 9u); - if (aot_gpr_5 == ctx.gpr[6]) { + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(852))); + aot_gpr_6 = (0u | 9u); + if (aot_gpr_5 == aot_gpr_6) { aot_gpr_4 = (0u | 1u); goto L_089249C4; } goto L_089249B0; L_089249B0: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(852))); - ctx.gpr[6] = (0u | 2u); - { const bool branch_taken = aot_gpr_5 != ctx.gpr[6]; + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(852))); + aot_gpr_6 = (0u | 2u); + { const bool branch_taken = aot_gpr_5 != aot_gpr_6; aot_gpr_4 = (aot_gpr_4 & 255u); if (branch_taken) { goto L_089249C8; @@ -2633,10 +2634,10 @@ L_089249C8: goto L_089249D0; } L_089249D0: - ctx.gpr[6] = (aot_gpr_29 + static_cast(32)); + aot_gpr_6 = (ctx.gpr[29] + static_cast(32)); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x089249E0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0106_entry, 106u, 784u, 0x089AF330u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089249E0u) goto L_089249E0; AOT_REGCACHE_SYNC_OUT(); return; L_089249E0: @@ -2669,11 +2670,11 @@ L_089249F4: L_08924A04: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08924A10u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 726u, 0x089AB6C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08924A10u) goto L_08924A10; AOT_REGCACHE_SYNC_OUT(); return; L_08924A10: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08924A44; @@ -2681,10 +2682,10 @@ L_08924A10: goto L_08924A18; } L_08924A18: - ctx.gpr[18] = (aot_gpr_29 + static_cast(96)); - ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(2274))); + ctx.gpr[18] = (ctx.gpr[29] + static_cast(96)); + aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(2274))); aot_gpr_4 = (ctx.gpr[18] | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08924A30u); ctx.gpr[7] = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0107_entry, 107u, 395u, 0x089B16E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08924A30u) goto L_08924A30; @@ -2699,7 +2700,7 @@ L_08924A30: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_4 = (aot_gpr_29 + static_cast(32)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(32)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; @@ -2722,10 +2723,10 @@ L_08924A44: goto L_08924A54; } L_08924A54: - ctx.gpr[18] = (aot_gpr_29 + static_cast(112)); + ctx.gpr[18] = (ctx.gpr[29] + static_cast(112)); aot_gpr_4 = (ctx.gpr[18] | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[6] = (0u | 8u); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_6 = (0u | 8u); aot_gpr_31 = (0x08924A6Cu); ctx.gpr[7] = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0107_entry, 107u, 395u, 0x089B16E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08924A6Cu) goto L_08924A6C; @@ -2740,7 +2741,7 @@ L_08924A6C: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_4 = (aot_gpr_29 + static_cast(32)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(32)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; @@ -2756,7 +2757,7 @@ L_08924A80: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08924A8Cu); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08924A8Cu) goto L_08924A8C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08924A8Cu) goto L_08924A8C; AOT_REGCACHE_SYNC_OUT(); return; L_08924A8C: { const bool branch_taken = 0u == 0u; @@ -2767,19 +2768,19 @@ L_08924A8C: goto L_08924A94; } L_08924A94: - ctx.gpr[6] = (aot_gpr_29 + static_cast(32)); + aot_gpr_6 = (ctx.gpr[29] + static_cast(32)); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08924AA4u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0106_entry, 106u, 784u, 0x089AF330u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08924AA4u) goto L_08924AA4; AOT_REGCACHE_SYNC_OUT(); return; L_08924AA4: aot_gpr_31 = (0x08924AACu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08924AACu) goto L_08924AAC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08924AACu) goto L_08924AAC; AOT_REGCACHE_SYNC_OUT(); return; L_08924AAC: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089248B4; @@ -2796,7 +2797,7 @@ L_08924AB4: goto L_08924AC0; } L_08924AC0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -2805,7 +2806,7 @@ L_08924AC0: goto L_08924ACC; } L_08924ACC: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(620)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(620)))))); { const bool branch_taken = static_cast(aot_gpr_4) < 0; // nop if (branch_taken) { @@ -2850,11 +2851,11 @@ L_08924AF8: L_08924B0C: aot_gpr_31 = (0x08924B14u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08924B14u) goto L_08924B14; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08924B14u) goto L_08924B14; AOT_REGCACHE_SYNC_OUT(); return; L_08924B14: - if (ctx.gpr[2] != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(900))); + if (aot_gpr_2 != 0u) { + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); goto L_08924B30; } goto L_08924B1C; @@ -2869,11 +2870,11 @@ L_08924B1C: goto L_08924B2C; } L_08924B2C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); goto L_08924B30; L_08924B30: { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (branch_taken) { goto L_08924BF8; } @@ -2885,7 +2886,7 @@ L_08924B38: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 296u, 0x08B01088u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08924B40u) goto L_08924B40; AOT_REGCACHE_SYNC_OUT(); return; L_08924B40: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08924BF8; @@ -2893,7 +2894,7 @@ L_08924B40: goto L_08924B48; } L_08924B48: - aot_gpr_4 = (aot_gpr_17 + static_cast(48)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -2903,7 +2904,7 @@ L_08924B48: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_4 = (aot_gpr_29 + static_cast(32)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(32)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; @@ -2918,22 +2919,22 @@ L_08924B48: goto L_08924B68; } L_08924B68: - ctx.gpr[19] = (aot_gpr_29 + static_cast(32)); + ctx.gpr[19] = (ctx.gpr[29] + static_cast(32)); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08924B7Cu); - ctx.gpr[6] = (aot_gpr_17 | 0u); + aot_gpr_6 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0073_entry, 73u, 765u, 0x0892B110u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08924B7Cu) goto L_08924B7C; AOT_REGCACHE_SYNC_OUT(); return; L_08924B7C: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08924B8Cu); aot_gpr_5 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 34u, 0x08910218u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08924B8Cu) goto L_08924B8C; AOT_REGCACHE_SYNC_OUT(); return; L_08924B8C: - ctx.gpr[19] = (aot_gpr_29 + static_cast(16)); + ctx.gpr[19] = (ctx.gpr[29] + static_cast(16)); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08924B9Cu); aot_gpr_5 = (ctx.gpr[19] | 0u); @@ -2949,7 +2950,7 @@ L_08924B9C: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_4 = (aot_gpr_29 + static_cast(48)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -2961,10 +2962,10 @@ L_08924B9C: ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[29] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - { const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[29] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -2973,7 +2974,7 @@ L_08924B9C: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_4 = (aot_gpr_29 + static_cast(64)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(64)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; @@ -3001,7 +3002,7 @@ L_08924B9C: } L_08924BDC: { const bool branch_taken = 0u == 0u; - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); if (branch_taken) { goto L_08924C74; } @@ -3010,7 +3011,7 @@ L_08924BDC: L_08924BE4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08924BF0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0073_entry, 73u, 878u, 0x0892BA54u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08924BF0u) goto L_08924BF0; AOT_REGCACHE_SYNC_OUT(); return; L_08924BF0: @@ -3029,10 +3030,10 @@ L_08924BF8: L_08924C00: aot_gpr_31 = (0x08924C08u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08924C08u) goto L_08924C08; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08924C08u) goto L_08924C08; AOT_REGCACHE_SYNC_OUT(); return; L_08924C08: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08924C20; @@ -3071,15 +3072,15 @@ L_08924C3C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08924C48u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08924C48u) goto L_08924C48; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08924C48u) goto L_08924C48; AOT_REGCACHE_SYNC_OUT(); return; L_08924C48: aot_gpr_31 = (0x08924C50u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08924C50u) goto L_08924C50; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08924C50u) goto L_08924C50; AOT_REGCACHE_SYNC_OUT(); return; L_08924C50: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08924C64; @@ -3094,7 +3095,7 @@ L_08924C58: AOT_REGCACHE_SYNC_OUT(); return; L_08924C64: aot_gpr_31 = (0x08924C6Cu); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0207_entry, 207u, 369u, 0x08B41658u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08924C6Cu) goto L_08924C6C; AOT_REGCACHE_SYNC_OUT(); return; L_08924C6C: @@ -3125,7 +3126,7 @@ L_08924C7C: goto L_08924C90; } L_08924C90: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(320))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(320))); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) & 0x7FFFFFFFu); aot_gpr_4 = (15395u << 16u); aot_gpr_4 = (aot_gpr_4 | 55050u); @@ -3140,7 +3141,7 @@ L_08924C90: goto L_08924CB4; } L_08924CB4: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(324))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(324))); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) & 0x7FFFFFFFu); aot_gpr_4 = (15395u << 16u); aot_gpr_4 = (aot_gpr_4 | 55050u); @@ -3158,7 +3159,7 @@ L_08924CD8: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08924CE4u); aot_gpr_5 = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08924CE4u) goto L_08924CE4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08924CE4u) goto L_08924CE4; AOT_REGCACHE_SYNC_OUT(); return; L_08924CE4: { const bool branch_taken = 0u == 0u; @@ -3184,7 +3185,7 @@ L_08924D04: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08924D10u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08924D10u) goto L_08924D10; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08924D10u) goto L_08924D10; AOT_REGCACHE_SYNC_OUT(); return; L_08924D10: aot_gpr_4 = (16256u << 16u); @@ -3199,7 +3200,7 @@ L_08924D10: goto L_08924D28; } L_08924D28: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(86)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(86)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); @@ -3298,7 +3299,7 @@ L_08924DDC: aot_gpr_4 = (0u | 0u); goto L_08924DE0; L_08924DE0: - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(563))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(563))); aot_gpr_4 = (aot_gpr_5 & aot_gpr_4); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -3331,7 +3332,7 @@ L_08924E18: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0068_entry, 68u, 461u, 0x08916ABCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08924E20u) goto L_08924E20; AOT_REGCACHE_SYNC_OUT(); return; L_08924E20: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089253D8; @@ -3351,7 +3352,7 @@ L_08924E30: aot_gpr_4 = (16332u << 16u); aot_gpr_4 = (aot_gpr_4 | 52429u); aot_fpr_14 = std::bit_cast(aot_gpr_4); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(40))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(40))); aot_fpr_12 = aot_fpr_12 + aot_fpr_14; ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 < aot_fpr_12)) ? 0x00800000u : 0u); // nop @@ -3367,7 +3368,7 @@ L_08924E58: aot_gpr_4 = (16179u << 16u); aot_gpr_4 = (aot_gpr_4 | 13107u); aot_fpr_14 = std::bit_cast(aot_gpr_4); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(40))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(40))); aot_fpr_12 = aot_fpr_12 - aot_fpr_14; ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 <= aot_fpr_12)) ? 0x00800000u : 0u); // nop @@ -3392,13 +3393,13 @@ L_08924E80: } L_08924E98: aot_gpr_4 = (0u | 0u); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(72))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 1u); - ctx.gpr[6] = (0u + static_cast(-2049)); - aot_gpr_5 = (aot_gpr_5 & ctx.gpr[6]); + aot_gpr_6 = (0u + static_cast(-2049)); + aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); aot_gpr_4 = (aot_gpr_4 << 11u); aot_gpr_4 = (aot_gpr_5 | aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(72), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(72), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2196))); aot_gpr_5 = (0u | 31u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; @@ -3426,7 +3427,7 @@ L_08924EDC: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08924EE8u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08924EE8u) goto L_08924EE8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08924EE8u) goto L_08924EE8; AOT_REGCACHE_SYNC_OUT(); return; L_08924EE8: { const bool branch_taken = 0u == 0u; @@ -3460,8 +3461,8 @@ L_08924F08: goto L_08924F10; } L_08924F10: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(565))); - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(562))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(565))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(562))); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); aot_gpr_4 = (static_cast(aot_gpr_5) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; @@ -3473,11 +3474,11 @@ L_08924F10: } L_08924F28: aot_gpr_31 = (0x08924F30u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 327u, 0x08B011C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08924F30u) goto L_08924F30; AOT_REGCACHE_SYNC_OUT(); return; L_08924F30: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089253D0; @@ -3485,7 +3486,7 @@ L_08924F30: goto L_08924F38; } L_08924F38: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 496u); aot_gpr_4 = (aot_gpr_4 >> 4u); aot_gpr_5 = (aot_gpr_4 < static_cast(14) ? 1u : 0u); @@ -3508,7 +3509,7 @@ L_08924F50: ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08924F68: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(852))); aot_gpr_5 = (0u | 6u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -3518,7 +3519,7 @@ L_08924F68: goto L_08924F78; } L_08924F78: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(852))); aot_gpr_5 = (0u | 8u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -3536,7 +3537,7 @@ L_08924F88: goto L_08924F94; L_08924F94: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(676))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(900))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop if (branch_taken) { @@ -3550,7 +3551,7 @@ L_08924FA4: L_08924FA8: aot_gpr_5 = (0u | 10u); if (aot_gpr_4 == aot_gpr_5) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); goto L_08924FD8; } goto L_08924FB4; @@ -3558,7 +3559,7 @@ L_08924FB4: aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(2274))); aot_gpr_5 = (0u | 8u); if (aot_gpr_4 == aot_gpr_5) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); goto L_08924FD8; } goto L_08924FC4; @@ -3571,7 +3572,7 @@ L_08924FC4: } goto L_08924FD4; L_08924FD4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); goto L_08924FD8; L_08924FD8: { const bool branch_taken = aot_gpr_4 != 0u; @@ -3587,7 +3588,7 @@ L_08924FE0: L_08924FE4: aot_gpr_5 = (0u | 11u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (branch_taken) { goto L_08925004; } @@ -3604,7 +3605,7 @@ L_08924FF0: goto L_08925000; } L_08925000: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); goto L_08925004; L_08925004: aot_gpr_31 = (0x0892500Cu); @@ -3612,7 +3613,7 @@ L_08925004: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892500Cu) goto L_0892500C; AOT_REGCACHE_SYNC_OUT(); return; L_0892500C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08925028; @@ -3622,7 +3623,7 @@ L_0892500C: L_08925014: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08925020u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 148u, 0x089A9038u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08925020u) goto L_08925020; AOT_REGCACHE_SYNC_OUT(); return; L_08925020: @@ -3634,9 +3635,9 @@ L_08925020: goto L_08925028; } L_08925028: - ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(2274))); + aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(2274))); aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0892503Cu); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 231u, 0x089A95B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892503Cu) goto L_0892503C; @@ -3650,7 +3651,7 @@ L_0892503C: goto L_08925044; } L_08925044: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(614)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(614)))))); aot_gpr_4 = (aot_gpr_4 & 2u); { const bool branch_taken = aot_gpr_4 != 0u; ctx.gpr[18] = (0u | 0u); @@ -3668,7 +3669,7 @@ L_08925054: goto L_08925060; L_08925060: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(676))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(900))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop if (branch_taken) { @@ -3687,7 +3688,7 @@ L_08925074: } goto L_08925080; L_08925080: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); if (aot_gpr_4 != 0u) { ctx.gpr[18] = (0u | 1u); goto L_08925118; @@ -3699,7 +3700,7 @@ L_0892508C: L_08925090: aot_gpr_5 = (0u | 8u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (branch_taken) { goto L_089250D4; } @@ -3711,13 +3712,13 @@ L_0892509C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089250A4u) goto L_089250A4; AOT_REGCACHE_SYNC_OUT(); return; L_089250A4: - if (ctx.gpr[2] != 0u) { + if (aot_gpr_2 != 0u) { ctx.gpr[18] = (0u | 1u); goto L_08925118; } goto L_089250AC; L_089250AC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(352))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(352))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(208))); aot_gpr_4 = (aot_gpr_4 & 16384u); aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); @@ -3728,7 +3729,7 @@ L_089250AC: } goto L_089250C8; L_089250C8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); if (aot_gpr_4 != 0u) { ctx.gpr[18] = (0u | 1u); goto L_08925118; @@ -3740,7 +3741,7 @@ L_089250D4: L_089250D8: aot_gpr_5 = (0u | 11u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (branch_taken) { goto L_089250F4; } @@ -3752,7 +3753,7 @@ L_089250E4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089250ECu) goto L_089250EC; AOT_REGCACHE_SYNC_OUT(); return; L_089250EC: - if (ctx.gpr[2] != 0u) { + if (aot_gpr_2 != 0u) { ctx.gpr[18] = (0u | 1u); goto L_08925118; } @@ -3761,7 +3762,7 @@ L_089250F4: aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(2274))); aot_gpr_5 = (0u | 9u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (branch_taken) { goto L_08925118; } @@ -3773,7 +3774,7 @@ L_08925104: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892510Cu) goto L_0892510C; AOT_REGCACHE_SYNC_OUT(); return; L_0892510C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08925118; @@ -3797,7 +3798,7 @@ L_08925128: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2196))); aot_gpr_5 = (0u | 18u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (branch_taken) { goto L_08925198; } @@ -3809,7 +3810,7 @@ L_08925138: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08925140u) goto L_08925140; AOT_REGCACHE_SYNC_OUT(); return; L_08925140: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08925198; @@ -3817,7 +3818,7 @@ L_08925140: goto L_08925148; } L_08925148: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -3826,7 +3827,7 @@ L_08925148: goto L_08925154; } L_08925154: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(476))); aot_gpr_4 = (aot_gpr_4 & 256u); { const bool branch_taken = aot_gpr_4 == 0u; @@ -3837,23 +3838,23 @@ L_08925154: goto L_08925168; } L_08925168: - ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(900))); + ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); aot_gpr_5 = (0u | 51u); aot_gpr_31 = (0x08925178u); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 240u, 0x08908D60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08925178u) goto L_08925178; AOT_REGCACHE_SYNC_OUT(); return; L_08925178: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08925184u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 72u, 0x08B00520u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08925184u) goto L_08925184; AOT_REGCACHE_SYNC_OUT(); return; L_08925184: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08925194u); - ctx.gpr[6] = (ctx.gpr[18] | 0u); + aot_gpr_6 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 664u, 0x08AFEF90u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08925194u) goto L_08925194; AOT_REGCACHE_SYNC_OUT(); return; L_08925194: @@ -3870,7 +3871,7 @@ L_08925198: L_089251A0: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x089251ACu); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 148u, 0x089A9038u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089251ACu) goto L_089251AC; AOT_REGCACHE_SYNC_OUT(); return; L_089251AC: @@ -3884,7 +3885,7 @@ L_089251AC: goto L_089251BC; } L_089251BC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -3903,7 +3904,7 @@ L_089251C8: goto L_089251D8; } L_089251D8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); aot_gpr_4 = (aot_gpr_4 + static_cast(460)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_5 = (aot_gpr_5 | 32768u); @@ -3915,9 +3916,9 @@ L_089251D8: goto L_089251F0; } L_089251F0: - ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(2274))); + aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(2274))); aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08925204u); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 231u, 0x089A95B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08925204u) goto L_08925204; @@ -3931,7 +3932,7 @@ L_08925204: goto L_0892520C; } L_0892520C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(852))); aot_gpr_5 = (0u | 6u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -3941,7 +3942,7 @@ L_0892520C: goto L_0892521C; } L_0892521C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(852))); aot_gpr_5 = (0u | 8u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -3951,7 +3952,7 @@ L_0892521C: goto L_0892522C; } L_0892522C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(852))); aot_gpr_5 = (0u | 2u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -3964,7 +3965,7 @@ L_0892523C: aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(2274))); aot_gpr_5 = (0u | 11u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (branch_taken) { goto L_08925260; } @@ -3981,7 +3982,7 @@ L_0892524C: goto L_0892525C; } L_0892525C: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); goto L_08925260; L_08925260: aot_gpr_31 = (0x08925268u); @@ -3989,7 +3990,7 @@ L_08925260: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08925268u) goto L_08925268; AOT_REGCACHE_SYNC_OUT(); return; L_08925268: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089252EC; @@ -3997,17 +3998,17 @@ L_08925268: goto L_08925270; } L_08925270: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0892527Cu); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892527Cu) goto L_0892527C; AOT_REGCACHE_SYNC_OUT(); return; L_0892527C: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(460))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(460))); aot_gpr_5 = (4u << 16u); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (branch_taken) { goto L_089252AC; } @@ -4019,7 +4020,7 @@ L_08925290: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08925298u) goto L_08925298; AOT_REGCACHE_SYNC_OUT(); return; L_08925298: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(464))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(464))); aot_gpr_5 = (32768u << 16u); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); { const bool branch_taken = aot_gpr_4 == 0u; @@ -4032,10 +4033,10 @@ L_08925298: L_089252AC: aot_gpr_31 = (0x089252B4u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089252B4u) goto L_089252B4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089252B4u) goto L_089252B4; AOT_REGCACHE_SYNC_OUT(); return; L_089252B4: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089253B8; @@ -4043,9 +4044,9 @@ L_089252B4: goto L_089252BC; } L_089252BC: - ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(2274))); + aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(2274))); aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089252D0u); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 231u, 0x089A95B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089252D0u) goto L_089252D0; @@ -4061,7 +4062,7 @@ L_089252D0: L_089252D8: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x089252E4u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 148u, 0x089A9038u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089252E4u) goto L_089252E4; AOT_REGCACHE_SYNC_OUT(); return; L_089252E4: @@ -4073,9 +4074,9 @@ L_089252E4: goto L_089252EC; } L_089252EC: - ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(2274))); + aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(2274))); aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08925300u); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 231u, 0x089A95B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08925300u) goto L_08925300; @@ -4092,7 +4093,7 @@ L_08925308: aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(2274))); aot_gpr_5 = (0u | 8u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (branch_taken) { goto L_089253A4; } @@ -4104,7 +4105,7 @@ L_08925318: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08925320u) goto L_08925320; AOT_REGCACHE_SYNC_OUT(); return; L_08925320: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089253A4; @@ -4112,17 +4113,17 @@ L_08925320: goto L_08925328; } L_08925328: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08925334u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08925334u) goto L_08925334; AOT_REGCACHE_SYNC_OUT(); return; L_08925334: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(460))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(460))); aot_gpr_5 = (4u << 16u); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (branch_taken) { goto L_08925364; } @@ -4134,7 +4135,7 @@ L_08925348: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08925350u) goto L_08925350; AOT_REGCACHE_SYNC_OUT(); return; L_08925350: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(464))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(464))); aot_gpr_5 = (32768u << 16u); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); { const bool branch_taken = aot_gpr_4 == 0u; @@ -4147,10 +4148,10 @@ L_08925350: L_08925364: aot_gpr_31 = (0x0892536Cu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892536Cu) goto L_0892536C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892536Cu) goto L_0892536C; AOT_REGCACHE_SYNC_OUT(); return; L_0892536C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089253B8; @@ -4158,9 +4159,9 @@ L_0892536C: goto L_08925374; } L_08925374: - ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(2274))); + aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(2274))); aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08925388u); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 231u, 0x089A95B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08925388u) goto L_08925388; @@ -4176,7 +4177,7 @@ L_08925388: L_08925390: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0892539Cu); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 148u, 0x089A9038u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892539Cu) goto L_0892539C; AOT_REGCACHE_SYNC_OUT(); return; L_0892539C: @@ -4188,9 +4189,9 @@ L_0892539C: goto L_089253A4; } L_089253A4: - ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(2274))); + aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(2274))); aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089253B8u); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 231u, 0x089A95B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089253B8u) goto L_089253B8; @@ -4223,29 +4224,29 @@ L_089253D0: AOT_REGCACHE_SYNC_OUT(); return; L_089253D8: { std::uint32_t aot_run_words[6]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(160), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(160), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); aot_gpr_16 = aot_run_words[1]; - aot_gpr_17 = aot_run_words[2]; + ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; ctx.gpr[19] = aot_run_words[4]; aot_gpr_31 = aot_run_words[5]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(192)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(192)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_089253F8: - aot_gpr_29 = (aot_gpr_29 + static_cast(-544)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-544)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(76))); - ctx.gpr[6] = (16u << 16u); - aot_gpr_5 = (aot_gpr_5 & ctx.gpr[6]); + aot_gpr_6 = (16u << 16u); + aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); aot_gpr_5 = (aot_gpr_5 & 255u); - { const std::uint32_t aot_run_words[12]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(488), aot_run_words); } + { const std::uint32_t aot_run_words[12]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(488), aot_run_words); } { const bool branch_taken = aot_gpr_5 != 0u; aot_gpr_16 = (aot_gpr_4 | 0u); if (branch_taken) { @@ -4259,7 +4260,7 @@ L_08925448: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08925450u) goto L_08925450; AOT_REGCACHE_SYNC_OUT(); return; L_08925450: - if (aot_gpr_16 == ctx.gpr[2]) { + if (aot_gpr_16 == aot_gpr_2) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(76))); goto L_08925468; } @@ -4315,15 +4316,15 @@ L_089254A8: L_089254B0: aot_gpr_4 = (16256u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); ctx.gpr[18] = (0u | 0u); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x089254CCu); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089254CCu) goto L_089254CC; + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(16), std::bit_cast(aot_fpr_12)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089254CCu) goto L_089254CC; AOT_REGCACHE_SYNC_OUT(); return; L_089254CC: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_089254E4; @@ -4358,17 +4359,17 @@ L_089254E4: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[29] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_5 = (aot_gpr_29 + static_cast(16)); - aot_gpr_4 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] + static_cast(16)); + aot_gpr_4 = (ctx.gpr[29] | 0u); aot_gpr_31 = (0x08925500u); - ctx.gpr[6] = (aot_gpr_5 | 0u); + aot_gpr_6 = (aot_gpr_5 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0118_entry, 118u, 197u, 0x089DD460u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08925500u) goto L_08925500; AOT_REGCACHE_SYNC_OUT(); return; L_08925500: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_0892551C; @@ -4381,7 +4382,7 @@ L_08925508: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0170_entry, 170u, 542u, 0x08AAE9E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08925510u) goto L_08925510; AOT_REGCACHE_SYNC_OUT(); return; L_08925510: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_0892551C; @@ -4389,7 +4390,7 @@ L_08925510: goto L_08925518; } L_08925518: - aot_gpr_17 = (0u | 1u); + ctx.gpr[17] = (0u | 1u); goto L_0892551C; L_0892551C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2228))); @@ -4425,7 +4426,7 @@ L_0892554C: ctx.gpr[18] = (0u | 1u); goto L_08925550; L_08925550: - aot_gpr_4 = (aot_gpr_17 | ctx.gpr[18]); + aot_gpr_4 = (ctx.gpr[17] | ctx.gpr[18]); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -4479,29 +4480,29 @@ L_08925564: goto L_089255A0; } L_089255A0: - ctx.gpr[6] = (aot_gpr_4 | 52429u); - aot_fpr_12 = std::bit_cast(ctx.gpr[6]); - ctx.gpr[6] = (16153u << 16u); + aot_gpr_6 = (aot_gpr_4 | 52429u); + aot_fpr_12 = std::bit_cast(aot_gpr_6); + aot_gpr_6 = (16153u << 16u); aot_fpr_12 = aot_fpr_20 - aot_fpr_12; - ctx.gpr[6] = (ctx.gpr[6] | 39322u); - aot_fpr_13 = std::bit_cast(ctx.gpr[6]); + aot_gpr_6 = (aot_gpr_6 | 39322u); + aot_fpr_13 = std::bit_cast(aot_gpr_6); aot_fpr_12 = aot_fpr_12 / aot_fpr_13; ctx.gpr[7] = (16256u << 16u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); - ctx.gpr[6] = (0u | 203u); + aot_gpr_6 = (0u | 203u); aot_gpr_31 = (0x089255D4u); aot_fpr_13 = std::bit_cast(ctx.gpr[7]); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 503u, 0x08A05F80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089255D4u) goto L_089255D4; AOT_REGCACHE_SYNC_OUT(); return; L_089255D4: - if (aot_gpr_17 == 0u) { + if (ctx.gpr[17] == 0u) { aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-20352))); goto L_08925618; } goto L_089255DC; L_089255DC: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(16))); aot_gpr_4 = (16256u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; @@ -4514,7 +4515,7 @@ L_089255DC: } goto L_08925600; L_08925600: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(16))); aot_gpr_4 = (16256u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_20 = aot_fpr_12 - aot_fpr_13; @@ -4528,7 +4529,7 @@ L_08925618: ctx.fpr[24] = ctx.fpr[22] - aot_fpr_12; aot_gpr_31 = (0x08925630u); ctx.fpr[26] = aot_fpr_12 + ctx.fpr[22]; - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08925630u) goto L_08925630; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08925630u) goto L_08925630; AOT_REGCACHE_SYNC_OUT(); return; L_08925630: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-20352))); @@ -4539,8 +4540,8 @@ L_08925630: ctx.fpr[30] = aot_fpr_13 + ctx.fpr[22]; aot_fpr_12 = ctx.fpr[24] + aot_fpr_14; aot_gpr_31 = (0x08925654u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08925654u) goto L_08925654; + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(20), std::bit_cast(aot_fpr_12)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08925654u) goto L_08925654; AOT_REGCACHE_SYNC_OUT(); return; L_08925654: aot_fpr_12 = ctx.fpr[30] - ctx.fpr[28]; @@ -4551,8 +4552,8 @@ L_08925654: ctx.fpr[26] = ctx.fpr[15] + ctx.fpr[22]; aot_fpr_12 = ctx.fpr[28] + aot_fpr_12; aot_gpr_31 = (0x08925678u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08925678u) goto L_08925678; + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(24), std::bit_cast(aot_fpr_12)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08925678u) goto L_08925678; AOT_REGCACHE_SYNC_OUT(); return; L_08925678: aot_fpr_12 = ctx.fpr[26] - ctx.fpr[24]; @@ -4560,34 +4561,34 @@ L_08925678: { const float fs = aot_fpr_12; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = ctx.fpr[24] + aot_fpr_12; aot_gpr_31 = (0x08925690u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(28), std::bit_cast(aot_fpr_12)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0038_entry, 38u, 621u, 0x0889EB08u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08925690u) goto L_08925690; AOT_REGCACHE_SYNC_OUT(); return; L_08925690: - aot_gpr_17 = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x0892569Cu); aot_gpr_4 = (0u | 17u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0171_entry, 171u, 289u, 0x08AB1020u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892569Cu) goto L_0892569C; AOT_REGCACHE_SYNC_OUT(); return; L_0892569C: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089256A8u); - aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 251u, 0x08969194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089256A8u) goto L_089256A8; + aot_gpr_5 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08969194, 89u, 251u, 0x08969194u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 251u, 0x08969194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089256A8u) goto L_089256A8; AOT_REGCACHE_SYNC_OUT(); return; L_089256A8: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x089256B4u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089256B4u) goto L_089256B4; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0896918C, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089256B4u) goto L_089256B4; AOT_REGCACHE_SYNC_OUT(); return; L_089256B4: aot_gpr_4 = (ctx.gpr[18] << 6u); - ctx.gpr[18] = (aot_gpr_29 + static_cast(20)); - aot_gpr_4 = (ctx.gpr[2] + aot_gpr_4); + ctx.gpr[18] = (ctx.gpr[29] + static_cast(20)); + aot_gpr_4 = (aot_gpr_2 + aot_gpr_4); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x089256CCu); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 151u, 0x089D8C6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089256CCu) goto L_089256CC; AOT_REGCACHE_SYNC_OUT(); return; L_089256CC: @@ -4596,7 +4597,7 @@ L_089256CC: ctx.fpr[24] = ctx.fpr[22] - aot_fpr_12; aot_gpr_31 = (0x089256E0u); ctx.fpr[26] = aot_fpr_12 + ctx.fpr[22]; - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089256E0u) goto L_089256E0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089256E0u) goto L_089256E0; AOT_REGCACHE_SYNC_OUT(); return; L_089256E0: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-20348))); @@ -4607,8 +4608,8 @@ L_089256E0: ctx.fpr[30] = aot_fpr_13 + ctx.fpr[22]; aot_fpr_12 = ctx.fpr[24] + aot_fpr_14; aot_gpr_31 = (0x08925704u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08925704u) goto L_08925704; + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(20), std::bit_cast(aot_fpr_12)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08925704u) goto L_08925704; AOT_REGCACHE_SYNC_OUT(); return; L_08925704: aot_fpr_12 = ctx.fpr[30] - ctx.fpr[28]; @@ -4619,8 +4620,8 @@ L_08925704: ctx.fpr[26] = ctx.fpr[15] + ctx.fpr[22]; aot_fpr_12 = ctx.fpr[28] + aot_fpr_12; aot_gpr_31 = (0x08925728u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08925728u) goto L_08925728; + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(24), std::bit_cast(aot_fpr_12)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08925728u) goto L_08925728; AOT_REGCACHE_SYNC_OUT(); return; L_08925728: aot_fpr_12 = ctx.fpr[26] - ctx.fpr[24]; @@ -4628,27 +4629,27 @@ L_08925728: { const float fs = aot_fpr_12; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = ctx.fpr[24] + aot_fpr_12; aot_gpr_31 = (0x08925740u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(28), std::bit_cast(aot_fpr_12)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0171_entry, 171u, 289u, 0x08AB1020u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08925740u) goto L_08925740; AOT_REGCACHE_SYNC_OUT(); return; L_08925740: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0892574Cu); - aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 251u, 0x08969194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892574Cu) goto L_0892574C; + aot_gpr_5 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08969194, 89u, 251u, 0x08969194u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 251u, 0x08969194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892574Cu) goto L_0892574C; AOT_REGCACHE_SYNC_OUT(); return; L_0892574C: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08925758u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08925758u) goto L_08925758; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0896918C, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08925758u) goto L_08925758; AOT_REGCACHE_SYNC_OUT(); return; L_08925758: aot_gpr_4 = (ctx.gpr[19] << 6u); - aot_gpr_4 = (ctx.gpr[2] + aot_gpr_4); + aot_gpr_4 = (aot_gpr_2 + aot_gpr_4); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x0892576Cu); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 151u, 0x089D8C6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892576Cu) goto L_0892576C; AOT_REGCACHE_SYNC_OUT(); return; L_0892576C: @@ -4657,23 +4658,23 @@ L_0892576C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0171_entry, 171u, 289u, 0x08AB1020u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08925774u) goto L_08925774; AOT_REGCACHE_SYNC_OUT(); return; L_08925774: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08925780u); - aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 251u, 0x08969194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08925780u) goto L_08925780; + aot_gpr_5 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08969194, 89u, 251u, 0x08969194u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 251u, 0x08969194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08925780u) goto L_08925780; AOT_REGCACHE_SYNC_OUT(); return; L_08925780: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x0892578Cu); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892578Cu) goto L_0892578C; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0896918C, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892578Cu) goto L_0892578C; AOT_REGCACHE_SYNC_OUT(); return; L_0892578C: aot_gpr_4 = (ctx.gpr[19] << 6u); - aot_gpr_4 = (ctx.gpr[2] + aot_gpr_4); + aot_gpr_4 = (aot_gpr_2 + aot_gpr_4); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x089257A0u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 151u, 0x089D8C6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089257A0u) goto L_089257A0; AOT_REGCACHE_SYNC_OUT(); return; L_089257A0: @@ -4682,23 +4683,23 @@ L_089257A0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0171_entry, 171u, 289u, 0x08AB1020u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089257A8u) goto L_089257A8; AOT_REGCACHE_SYNC_OUT(); return; L_089257A8: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089257B4u); - aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 251u, 0x08969194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089257B4u) goto L_089257B4; + aot_gpr_5 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08969194, 89u, 251u, 0x08969194u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 251u, 0x08969194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089257B4u) goto L_089257B4; AOT_REGCACHE_SYNC_OUT(); return; L_089257B4: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x089257C0u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089257C0u) goto L_089257C0; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0896918C, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089257C0u) goto L_089257C0; AOT_REGCACHE_SYNC_OUT(); return; L_089257C0: aot_gpr_4 = (ctx.gpr[19] << 6u); - aot_gpr_4 = (ctx.gpr[2] + aot_gpr_4); + aot_gpr_4 = (aot_gpr_2 + aot_gpr_4); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x089257D4u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 151u, 0x089D8C6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089257D4u) goto L_089257D4; AOT_REGCACHE_SYNC_OUT(); return; L_089257D4: @@ -4707,7 +4708,7 @@ L_089257D4: ctx.fpr[24] = ctx.fpr[22] - aot_fpr_12; aot_gpr_31 = (0x089257E8u); ctx.fpr[26] = aot_fpr_12 + ctx.fpr[22]; - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089257E8u) goto L_089257E8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089257E8u) goto L_089257E8; AOT_REGCACHE_SYNC_OUT(); return; L_089257E8: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-20344))); @@ -4718,8 +4719,8 @@ L_089257E8: ctx.fpr[30] = aot_fpr_13 + ctx.fpr[22]; aot_fpr_12 = ctx.fpr[24] + aot_fpr_14; aot_gpr_31 = (0x0892580Cu); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892580Cu) goto L_0892580C; + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(20), std::bit_cast(aot_fpr_12)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892580Cu) goto L_0892580C; AOT_REGCACHE_SYNC_OUT(); return; L_0892580C: aot_fpr_12 = ctx.fpr[30] - ctx.fpr[28]; @@ -4730,8 +4731,8 @@ L_0892580C: aot_fpr_12 = ctx.fpr[28] + aot_fpr_12; ctx.fpr[22] = ctx.fpr[15] + ctx.fpr[22]; aot_gpr_31 = (0x08925830u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08925830u) goto L_08925830; + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(24), std::bit_cast(aot_fpr_12)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08925830u) goto L_08925830; AOT_REGCACHE_SYNC_OUT(); return; L_08925830: aot_fpr_12 = ctx.fpr[22] - ctx.fpr[24]; @@ -4739,27 +4740,27 @@ L_08925830: { const float fs = aot_fpr_12; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = ctx.fpr[24] + aot_fpr_12; aot_gpr_31 = (0x08925848u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(28), std::bit_cast(aot_fpr_12)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0171_entry, 171u, 289u, 0x08AB1020u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08925848u) goto L_08925848; AOT_REGCACHE_SYNC_OUT(); return; L_08925848: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08925854u); - aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 251u, 0x08969194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08925854u) goto L_08925854; + aot_gpr_5 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08969194, 89u, 251u, 0x08969194u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 251u, 0x08969194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08925854u) goto L_08925854; AOT_REGCACHE_SYNC_OUT(); return; L_08925854: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08925860u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08925860u) goto L_08925860; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0896918C, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08925860u) goto L_08925860; AOT_REGCACHE_SYNC_OUT(); return; L_08925860: aot_gpr_4 = (ctx.gpr[19] << 6u); - aot_gpr_4 = (ctx.gpr[2] + aot_gpr_4); + aot_gpr_4 = (aot_gpr_2 + aot_gpr_4); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08925874u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 151u, 0x089D8C6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08925874u) goto L_08925874; AOT_REGCACHE_SYNC_OUT(); return; L_08925874: @@ -4768,23 +4769,23 @@ L_08925874: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0171_entry, 171u, 289u, 0x08AB1020u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892587Cu) goto L_0892587C; AOT_REGCACHE_SYNC_OUT(); return; L_0892587C: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08925888u); - aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 251u, 0x08969194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08925888u) goto L_08925888; + aot_gpr_5 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08969194, 89u, 251u, 0x08969194u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 251u, 0x08969194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08925888u) goto L_08925888; AOT_REGCACHE_SYNC_OUT(); return; L_08925888: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08925894u); - aot_gpr_17 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08925894u) goto L_08925894; + ctx.gpr[17] = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0896918C, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08925894u) goto L_08925894; AOT_REGCACHE_SYNC_OUT(); return; L_08925894: - aot_gpr_4 = (aot_gpr_17 << 6u); - aot_gpr_4 = (ctx.gpr[2] + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[17] << 6u); + aot_gpr_4 = (aot_gpr_2 + aot_gpr_4); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x089258A8u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 151u, 0x089D8C6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089258A8u) goto L_089258A8; AOT_REGCACHE_SYNC_OUT(); return; L_089258A8: @@ -4802,34 +4803,34 @@ L_089258B4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0038_entry, 38u, 621u, 0x0889EB08u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089258BCu) goto L_089258BC; AOT_REGCACHE_SYNC_OUT(); return; L_089258BC: - aot_gpr_17 = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x089258C8u); aot_gpr_4 = (0u | 2u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0171_entry, 171u, 289u, 0x08AB1020u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089258C8u) goto L_089258C8; AOT_REGCACHE_SYNC_OUT(); return; L_089258C8: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089258D4u); - aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 251u, 0x08969194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089258D4u) goto L_089258D4; + aot_gpr_5 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08969194, 89u, 251u, 0x08969194u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 251u, 0x08969194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089258D4u) goto L_089258D4; AOT_REGCACHE_SYNC_OUT(); return; L_089258D4: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089258E0u); - aot_gpr_17 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089258E0u) goto L_089258E0; + ctx.gpr[17] = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0896918C, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089258E0u) goto L_089258E0; AOT_REGCACHE_SYNC_OUT(); return; L_089258E0: aot_gpr_5 = (16416u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_5); - aot_gpr_4 = (aot_gpr_17 << 6u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), std::bit_cast(aot_fpr_12)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), std::bit_cast(aot_fpr_12)); - aot_gpr_4 = (ctx.gpr[2] + aot_gpr_4); - aot_gpr_5 = (aot_gpr_29 + static_cast(32)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), std::bit_cast(aot_fpr_12)); + aot_gpr_4 = (ctx.gpr[17] << 6u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(32), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(36), std::bit_cast(aot_fpr_12)); + aot_gpr_4 = (aot_gpr_2 + aot_gpr_4); + aot_gpr_5 = (ctx.gpr[29] + static_cast(32)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(40), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08925908u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 151u, 0x089D8C6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08925908u) goto L_08925908; AOT_REGCACHE_SYNC_OUT(); return; L_08925908: @@ -4859,50 +4860,50 @@ L_0892592C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0038_entry, 38u, 621u, 0x0889EB08u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08925934u) goto L_08925934; AOT_REGCACHE_SYNC_OUT(); return; L_08925934: - aot_gpr_17 = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08925940u); aot_gpr_4 = (0u | 2u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0171_entry, 171u, 289u, 0x08AB1020u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08925940u) goto L_08925940; AOT_REGCACHE_SYNC_OUT(); return; L_08925940: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0892594Cu); - aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 251u, 0x08969194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892594Cu) goto L_0892594C; + aot_gpr_5 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08969194, 89u, 251u, 0x08969194u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 251u, 0x08969194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892594Cu) goto L_0892594C; AOT_REGCACHE_SYNC_OUT(); return; L_0892594C: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08925958u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08925958u) goto L_08925958; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0896918C, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08925958u) goto L_08925958; AOT_REGCACHE_SYNC_OUT(); return; L_08925958: aot_fpr_12 = std::bit_cast(0u); aot_gpr_4 = (ctx.gpr[18] << 6u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), std::bit_cast(aot_fpr_12)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), std::bit_cast(aot_fpr_12)); - aot_gpr_4 = (ctx.gpr[2] + aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), std::bit_cast(aot_fpr_12)); - aot_gpr_5 = (aot_gpr_29 + static_cast(44)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(44), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(48), std::bit_cast(aot_fpr_12)); + aot_gpr_4 = (aot_gpr_2 + aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(52), std::bit_cast(aot_fpr_12)); + aot_gpr_5 = (ctx.gpr[29] + static_cast(44)); aot_gpr_31 = (0x0892597Cu); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 151u, 0x089D8C6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892597Cu) goto L_0892597C; AOT_REGCACHE_SYNC_OUT(); return; L_0892597C: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08925988u); aot_gpr_5 = (0u | 6u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 251u, 0x08969194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08925988u) goto L_08925988; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08969194, 89u, 251u, 0x08969194u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 251u, 0x08969194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08925988u) goto L_08925988; AOT_REGCACHE_SYNC_OUT(); return; L_08925988: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08925994u); - aot_gpr_17 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08925994u) goto L_08925994; + ctx.gpr[17] = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0896918C, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08925994u) goto L_08925994; AOT_REGCACHE_SYNC_OUT(); return; L_08925994: - aot_gpr_4 = (aot_gpr_17 << 6u); - aot_gpr_4 = (ctx.gpr[2] + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[17] << 6u); + aot_gpr_4 = (aot_gpr_2 + aot_gpr_4); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -4911,9 +4912,9 @@ L_08925994: goto L_089259A4; } L_089259A4: - aot_gpr_5 = (aot_gpr_29 + static_cast(44)); + aot_gpr_5 = (ctx.gpr[29] + static_cast(44)); aot_gpr_31 = (0x089259B0u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 151u, 0x089D8C6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089259B0u) goto L_089259B0; AOT_REGCACHE_SYNC_OUT(); return; L_089259B0: @@ -4961,40 +4962,40 @@ L_089259E8: } L_089259FC: aot_fpr_12 = std::bit_cast(0u); - aot_gpr_17 = (aot_gpr_29 + static_cast(64)); + ctx.gpr[17] = (ctx.gpr[29] + static_cast(64)); { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_12)}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(64), aot_run_words); } - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(80), std::bit_cast(aot_fpr_12)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(84), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(64), aot_run_words); } + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(80), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(84), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); aot_gpr_31 = (0x08925A24u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(88), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(88), std::bit_cast(aot_fpr_12)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0038_entry, 38u, 621u, 0x0889EB08u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08925A24u) goto L_08925A24; AOT_REGCACHE_SYNC_OUT(); return; L_08925A24: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1926)))))); - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(700))); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08925A44u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(20))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 251u, 0x08969194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08925A44u) goto L_08925A44; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08969194, 89u, 251u, 0x08969194u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 251u, 0x08969194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08925A44u) goto L_08925A44; AOT_REGCACHE_SYNC_OUT(); return; L_08925A44: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08925A50u); - ctx.gpr[18] = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08925A50u) goto L_08925A50; + ctx.gpr[18] = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0896918C, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08925A50u) goto L_08925A50; AOT_REGCACHE_SYNC_OUT(); return; L_08925A50: ctx.gpr[7] = (ctx.gpr[18] << 6u); - ctx.gpr[7] = (ctx.gpr[2] + ctx.gpr[7]); - aot_gpr_4 = (aot_gpr_17 | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + ctx.gpr[7] = (aot_gpr_2 + ctx.gpr[7]); + aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08925A68u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 239u, 0x088619ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08925A68u) goto L_08925A68; AOT_REGCACHE_SYNC_OUT(); return; L_08925A68: @@ -5036,7 +5037,7 @@ L_08925A94: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); - aot_gpr_4 = (aot_gpr_29 + static_cast(96)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(96)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; @@ -5050,7 +5051,7 @@ L_08925A94: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_4 = (aot_gpr_29 + static_cast(80)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(80)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; @@ -5078,7 +5079,7 @@ L_08925AD0: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); - aot_gpr_4 = (aot_gpr_29 + static_cast(112)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(112)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; @@ -5099,7 +5100,7 @@ L_08925AD0: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); - aot_gpr_5 = (aot_gpr_29 + static_cast(128)); + aot_gpr_5 = (ctx.gpr[29] + static_cast(128)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; @@ -5123,7 +5124,7 @@ L_08925AD0: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 0u>(); - aot_gpr_4 = (aot_gpr_29 + static_cast(96)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(96)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; @@ -5137,7 +5138,7 @@ L_08925AD0: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_4 = (aot_gpr_29 + static_cast(80)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(80)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; @@ -5165,7 +5166,7 @@ L_08925B44: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); - aot_gpr_4 = (aot_gpr_29 + static_cast(112)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(112)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; @@ -5183,7 +5184,7 @@ L_08925B44: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); - aot_gpr_5 = (aot_gpr_29 + static_cast(96)); + aot_gpr_5 = (ctx.gpr[29] + static_cast(96)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; @@ -5207,7 +5208,7 @@ L_08925B44: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 0u>(); - aot_gpr_4 = (aot_gpr_29 + static_cast(128)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(128)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; @@ -5221,7 +5222,7 @@ L_08925B44: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_4 = (aot_gpr_29 + static_cast(80)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(80)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; @@ -5250,7 +5251,7 @@ L_08925BAC: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); - aot_gpr_4 = (aot_gpr_29 + static_cast(112)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(112)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; @@ -5271,7 +5272,7 @@ L_08925BAC: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); - aot_gpr_5 = (aot_gpr_29 + static_cast(96)); + aot_gpr_5 = (ctx.gpr[29] + static_cast(96)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; @@ -5295,7 +5296,7 @@ L_08925BAC: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 0u>(); - aot_gpr_4 = (aot_gpr_29 + static_cast(128)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(128)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; @@ -5309,7 +5310,7 @@ L_08925BAC: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_4 = (aot_gpr_29 + static_cast(80)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(80)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; @@ -5338,7 +5339,7 @@ L_08925C24: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); - aot_gpr_4 = (aot_gpr_29 + static_cast(112)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(112)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; @@ -5359,7 +5360,7 @@ L_08925C24: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); - aot_gpr_5 = (aot_gpr_29 + static_cast(96)); + aot_gpr_5 = (ctx.gpr[29] + static_cast(96)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; @@ -5383,7 +5384,7 @@ L_08925C24: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 0u>(); - aot_gpr_4 = (aot_gpr_29 + static_cast(128)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(128)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; @@ -5397,7 +5398,7 @@ L_08925C24: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_4 = (aot_gpr_29 + static_cast(80)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(80)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; @@ -5412,8 +5413,8 @@ L_08925C24: L_08925C9C: aot_fpr_12 = std::bit_cast(0u); { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_12)}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(128), aot_run_words); } - aot_gpr_4 = (aot_gpr_29 + static_cast(128)); + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(128), aot_run_words); } + aot_gpr_4 = (ctx.gpr[29] + static_cast(128)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -5423,15 +5424,15 @@ L_08925C9C: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_4 = (aot_gpr_29 + static_cast(80)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(80)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } goto L_08925CBC; L_08925CBC: - aot_gpr_17 = (0u | 0u); - aot_gpr_4 = (static_cast(aot_gpr_17) < 4 ? 1u : 0u); + ctx.gpr[17] = (0u | 0u); + aot_gpr_4 = (static_cast(ctx.gpr[17]) < 4 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -5440,9 +5441,9 @@ L_08925CBC: goto L_08925CCC; } L_08925CCC: - aot_gpr_5 = (aot_gpr_29 + static_cast(64)); + aot_gpr_5 = (ctx.gpr[29] + static_cast(64)); aot_fpr_12 = std::bit_cast(0u); - ctx.gpr[6] = (aot_gpr_29 + static_cast(80)); + aot_gpr_6 = (ctx.gpr[29] + static_cast(80)); aot_gpr_4 = (0u | 8u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 0u); @@ -5453,9 +5454,9 @@ L_08925CCC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0062_entry, 62u, 716u, 0x088FF060u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08925CF4u) goto L_08925CF4; AOT_REGCACHE_SYNC_OUT(); return; L_08925CF4: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - aot_gpr_17 = (aot_gpr_17 & 255u); - aot_gpr_4 = (static_cast(aot_gpr_17) < 4 ? 1u : 0u); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + ctx.gpr[17] = (ctx.gpr[17] & 255u); + aot_gpr_4 = (static_cast(ctx.gpr[17]) < 4 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -5517,7 +5518,7 @@ L_08925D48: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>(); - aot_gpr_4 = (aot_gpr_29 + static_cast(144)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(144)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; @@ -5557,14 +5558,14 @@ L_08925DA4: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); ctx.gpr[18] = (0u | 1u); aot_gpr_31 = (0x08925DC8u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 22u, 0x08960240u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08925DC8u) goto L_08925DC8; AOT_REGCACHE_SYNC_OUT(); return; L_08925DC8: - { const std::uint32_t vfpu_address = ctx.gpr[2] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_2 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -5573,22 +5574,22 @@ L_08925DC8: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_4 = (aot_gpr_29 + static_cast(160)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(160)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(160))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(160))); aot_fpr_13 = std::bit_cast(0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); // nop if (!((ctx.fcr31 & 0x00800000u) != 0u)) { - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(160))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(160))); goto L_08925DF8; } goto L_08925DEC; L_08925DEC: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(160))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(160))); { const bool branch_taken = 0u == 0u; aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); if (branch_taken) { @@ -5610,17 +5611,17 @@ L_08925DF8: goto L_08925E14; } L_08925E14: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(164))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(164))); aot_fpr_13 = std::bit_cast(0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); // nop if (!((ctx.fcr31 & 0x00800000u) != 0u)) { - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(164))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(164))); goto L_08925E38; } goto L_08925E2C; L_08925E2C: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(164))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(164))); { const bool branch_taken = 0u == 0u; aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); if (branch_taken) { @@ -5716,7 +5717,7 @@ L_08925EB4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0055_entry, 55u, 563u, 0x088E3DD8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08925EC8u) goto L_08925EC8; AOT_REGCACHE_SYNC_OUT(); return; L_08925EC8: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08925ED8; @@ -5735,11 +5736,11 @@ L_08925ED8: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08925EE8u); - ctx.gpr[6] = (0u | 12u); + aot_gpr_6 = (0u | 12u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08925EE8u) goto L_08925EE8; AOT_REGCACHE_SYNC_OUT(); return; L_08925EE8: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08925EF4; @@ -5752,7 +5753,7 @@ L_08925EF0: L_08925EF4: aot_gpr_4 = (ctx.gpr[18] | 0u); { const bool branch_taken = aot_gpr_4 == 0u; - ctx.gpr[18] = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(52))); + ctx.gpr[18] = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(52))); if (branch_taken) { goto L_08926050; } @@ -5769,13 +5770,13 @@ L_08925F00: goto L_08925F10; } L_08925F10: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(56))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(56))); aot_gpr_5 = (ctx.gpr[19] << 5u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(17))); - ctx.gpr[6] = (static_cast(aot_gpr_5) < 4 ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] == 0u; - ctx.gpr[6] = (0u | 6u); + aot_gpr_6 = (static_cast(aot_gpr_5) < 4 ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 == 0u; + aot_gpr_6 = (0u | 6u); if (branch_taken) { goto L_08925F40; } @@ -5799,7 +5800,7 @@ L_08925F38: goto L_08925F40; } L_08925F40: - { const bool branch_taken = aot_gpr_5 != ctx.gpr[6]; + { const bool branch_taken = aot_gpr_5 != aot_gpr_6; // nop if (branch_taken) { goto L_08925F38; @@ -5808,12 +5809,12 @@ L_08925F40: } L_08925F48: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(176), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(176), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(180), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(180), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(184), std::bit_cast(aot_fpr_12)); - aot_gpr_5 = (aot_gpr_29 + static_cast(176)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(184), std::bit_cast(aot_fpr_12)); + aot_gpr_5 = (ctx.gpr[29] + static_cast(176)); { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -5861,19 +5862,19 @@ L_08925F48: ctx.write_vfpu_vector_ct<7u, 4u>(vfpu_value); } ctx.execute_vfpu_vtfm_ct<0u, 36u, 1u, 3u, 3u>(); ctx.execute_vfpu_vec3_ct<0u, 0u, 7u, 3u, 0u>(); - aot_gpr_5 = (aot_gpr_29 + static_cast(208)); + aot_gpr_5 = (ctx.gpr[29] + static_cast(208)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(216))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(216))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(12))); aot_gpr_4 = (16179u << 16u); aot_gpr_4 = (aot_gpr_4 | 13107u); aot_fpr_14 = std::bit_cast(aot_gpr_4); { const float fs = aot_fpr_13; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_fpr_12 = aot_fpr_12 + aot_fpr_13; - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(216), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(216), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (15897u << 16u); aot_gpr_4 = (aot_gpr_4 | 39322u); aot_fpr_20 = std::bit_cast(aot_gpr_4); @@ -5886,46 +5887,46 @@ L_08925F48: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - ctx.gpr[20] = (aot_gpr_29 + static_cast(224)); + ctx.gpr[20] = (ctx.gpr[29] + static_cast(224)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[20] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_31 = (0x08925FC8u); ctx.fpr[22] = std::bit_cast(std::bit_cast(aot_fpr_20) ^ 0x80000000u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08925FC8u) goto L_08925FC8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08925FC8u) goto L_08925FC8; AOT_REGCACHE_SYNC_OUT(); return; L_08925FC8: aot_fpr_12 = aot_fpr_20 - ctx.fpr[22]; { const float fs = aot_fpr_12; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = ctx.fpr[22] + aot_fpr_12; - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(224))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(224))); aot_fpr_12 = aot_fpr_13 + aot_fpr_12; - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(224), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(224), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08925FE8u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08925FE8u) goto L_08925FE8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08925FE8u) goto L_08925FE8; AOT_REGCACHE_SYNC_OUT(); return; L_08925FE8: aot_fpr_12 = aot_fpr_20 - ctx.fpr[22]; { const float fs = aot_fpr_12; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = ctx.fpr[22] + aot_fpr_12; - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(228))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(228))); aot_fpr_12 = aot_fpr_14 + aot_fpr_12; - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(228), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(228), std::bit_cast(aot_fpr_12)); ctx.fpr[24] = std::bit_cast(0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(192), std::bit_cast(ctx.fpr[24])); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(196), std::bit_cast(ctx.fpr[24])); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(192), std::bit_cast(ctx.fpr[24])); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(196), std::bit_cast(ctx.fpr[24])); aot_gpr_31 = (0x08926014u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(200), std::bit_cast(ctx.fpr[24])); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08926014u) goto L_08926014; + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(200), std::bit_cast(ctx.fpr[24])); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08926014u) goto L_08926014; AOT_REGCACHE_SYNC_OUT(); return; L_08926014: - ctx.gpr[10] = (ctx.gpr[2] & 65535u); + ctx.gpr[10] = (aot_gpr_2 & 65535u); ctx.gpr[10] = (ctx.gpr[10] & 1u); aot_gpr_4 = (0u | 38u); aot_gpr_5 = (ctx.gpr[20] | 0u); - ctx.gpr[6] = (aot_gpr_29 + static_cast(192)); + aot_gpr_6 = (ctx.gpr[29] + static_cast(192)); ctx.gpr[7] = (0u | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[24])); ctx.gpr[8] = (0u | 0u); @@ -5946,7 +5947,7 @@ L_08926040: } L_08926050: { std::uint32_t aot_run_words[12]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(488), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(488), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); @@ -5954,28 +5955,28 @@ L_08926050: ctx.fpr[28] = std::bit_cast(aot_run_words[4]); ctx.fpr[30] = std::bit_cast(aot_run_words[5]); aot_gpr_16 = aot_run_words[6]; - aot_gpr_17 = aot_run_words[7]; + ctx.gpr[17] = aot_run_words[7]; ctx.gpr[18] = aot_run_words[8]; ctx.gpr[19] = aot_run_words[9]; ctx.gpr[20] = aot_run_words[10]; aot_gpr_31 = aot_run_words[11]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(544)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(544)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08926088: - aot_gpr_29 = (aot_gpr_29 + static_cast(-320)); - { const std::uint32_t aot_run_words[6]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(288), aot_run_words); } + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-320)); + { const std::uint32_t aot_run_words[6]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(288), aot_run_words); } aot_gpr_31 = (0x089260ACu); aot_gpr_16 = (aot_gpr_4 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 195u, 0x08910B38u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089260ACu) goto L_089260AC; AOT_REGCACHE_SYNC_OUT(); return; L_089260AC: - if (ctx.gpr[2] == 0u) { + if (aot_gpr_2 == 0u) { aot_fpr_12 = std::bit_cast(0u); goto L_0892620C; } @@ -6005,9 +6006,9 @@ L_089260D0: goto L_089260E0; L_089260E0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1152))); - aot_gpr_17 = (0u | 6u); + ctx.gpr[17] = (0u | 6u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(852))); - if (aot_gpr_4 == aot_gpr_17) { + if (aot_gpr_4 == ctx.gpr[17]) { aot_fpr_12 = std::bit_cast(0u); goto L_0892620C; } @@ -6024,10 +6025,10 @@ L_089260F4: L_08926108: aot_gpr_31 = (0x08926110u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08926110u) goto L_08926110; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08926110u) goto L_08926110; AOT_REGCACHE_SYNC_OUT(); return; L_08926110: - if (ctx.gpr[2] != 0u) { + if (aot_gpr_2 != 0u) { aot_fpr_12 = std::bit_cast(0u); goto L_0892620C; } @@ -6094,10 +6095,10 @@ L_0892614C: ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[29] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - { const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[29] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -6111,8 +6112,8 @@ L_0892614C: aot_fpr_12 = std::bit_cast(aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1152))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(852))); - ctx.gpr[6] = (0u | 1u); - if (aot_gpr_5 == ctx.gpr[6]) { + aot_gpr_6 = (0u | 1u); + if (aot_gpr_5 == aot_gpr_6) { aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1960))); goto L_089261B8; } @@ -6120,16 +6121,16 @@ L_0892614C: L_08926190: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1152))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(852))); - if (aot_gpr_5 == aot_gpr_17) { + if (aot_gpr_5 == ctx.gpr[17]) { aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1960))); goto L_089261B8; } goto L_089261A0; L_089261A0: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1152))); - ctx.gpr[6] = (0u | 2u); + aot_gpr_6 = (0u | 2u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(852))); - if (aot_gpr_5 != ctx.gpr[6]) { + if (aot_gpr_5 != aot_gpr_6) { aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1960))); goto L_089261E0; } @@ -6192,10 +6193,10 @@ L_0892620C: aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); aot_gpr_5 = (2236u << 16u); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(29552))); - ctx.gpr[6] = (std::bit_cast(aot_fpr_12)); + aot_gpr_6 = (std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(0), ctx.gpr[8]); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(29552))); - ctx.gpr[6] = (ctx.gpr[6] >> 8u); + aot_gpr_6 = (aot_gpr_6 >> 8u); ctx.gpr[7] = (ctx.gpr[7] + static_cast(4)); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(29552), ctx.gpr[7]); aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(0), aot_gpr_4); @@ -6203,33 +6204,33 @@ L_0892620C: ctx.gpr[7] = (19200u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(29552), aot_gpr_4); - ctx.gpr[6] = (ctx.gpr[6] | ctx.gpr[7]); - aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), ctx.gpr[6]); - ctx.gpr[6] = (16256u << 16u); + aot_gpr_6 = (aot_gpr_6 | ctx.gpr[7]); + aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_6); + aot_gpr_6 = (16256u << 16u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(29552))); - aot_fpr_12 = std::bit_cast(ctx.gpr[6]); - ctx.gpr[6] = (std::bit_cast(aot_fpr_12)); + aot_fpr_12 = std::bit_cast(aot_gpr_6); + aot_gpr_6 = (std::bit_cast(aot_fpr_12)); ctx.gpr[7] = (18432u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); ctx.gpr[8] = (std::bit_cast(aot_fpr_12)); - ctx.gpr[6] = (ctx.gpr[6] >> 8u); + aot_gpr_6 = (aot_gpr_6 >> 8u); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(29552), aot_gpr_4); - ctx.gpr[6] = (ctx.gpr[6] | ctx.gpr[7]); - aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), ctx.gpr[6]); + aot_gpr_6 = (aot_gpr_6 | ctx.gpr[7]); + aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_6); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(29552))); - ctx.gpr[6] = (ctx.gpr[8] >> 8u); + aot_gpr_6 = (ctx.gpr[8] >> 8u); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); ctx.gpr[7] = (18688u << 16u); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(29552), aot_gpr_4); - ctx.gpr[6] = (ctx.gpr[6] | ctx.gpr[7]); - aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), ctx.gpr[6]); + aot_gpr_6 = (aot_gpr_6 | ctx.gpr[7]); + aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_6); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(29552))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(29552), aot_gpr_4); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); - ctx.gpr[6] = (static_cast(aot_gpr_4) < static_cast(ctx.gpr[6]) ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_6 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_6) ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_5 = (0u | 0u); if (branch_taken) { goto L_089262D4; @@ -6281,57 +6282,57 @@ L_0892630C: AOT_REGCACHE_SYNC_OUT(); return; L_08926314: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(724))); - aot_gpr_17 = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); aot_gpr_31 = (0x08926328u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 251u, 0x08969194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08926328u) goto L_08926328; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08969194, 89u, 251u, 0x08969194u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 251u, 0x08969194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08926328u) goto L_08926328; AOT_REGCACHE_SYNC_OUT(); return; L_08926328: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08926334u); - aot_gpr_17 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08926334u) goto L_08926334; + ctx.gpr[17] = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0896918C, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08926334u) goto L_08926334; AOT_REGCACHE_SYNC_OUT(); return; L_08926334: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(772))); - aot_gpr_17 = (aot_gpr_17 << 6u); - aot_gpr_17 = (ctx.gpr[2] + aot_gpr_17); + ctx.gpr[17] = (ctx.gpr[17] << 6u); + ctx.gpr[17] = (aot_gpr_2 + ctx.gpr[17]); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); - ctx.gpr[6] = (aot_gpr_4 + static_cast(16)); - ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(0), aot_gpr_5); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(12))); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(4), ctx.gpr[7]); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(16))); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(8), ctx.gpr[8]); - ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(20))); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(12), aot_gpr_5); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(24))); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(16), ctx.gpr[7]); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(28))); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(20), ctx.gpr[8]); - ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(32))); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(24), aot_gpr_5); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(36))); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(28), ctx.gpr[7]); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(40))); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(32), ctx.gpr[8]); - ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(44))); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(36), aot_gpr_5); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(48))); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(40), ctx.gpr[7]); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(52))); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(44), ctx.gpr[8]); - ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(56))); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(48), aot_gpr_5); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(60))); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(52), ctx.gpr[7]); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(56), ctx.gpr[8]); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); + aot_gpr_6 = (aot_gpr_4 + static_cast(16)); + ctx.gpr[8] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(0), aot_gpr_5); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(12))); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(4), ctx.gpr[7]); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(16))); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(8), ctx.gpr[8]); + ctx.gpr[8] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(20))); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(12), aot_gpr_5); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(24))); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(16), ctx.gpr[7]); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(28))); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(20), ctx.gpr[8]); + ctx.gpr[8] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(32))); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(24), aot_gpr_5); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(36))); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(28), ctx.gpr[7]); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(40))); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(32), ctx.gpr[8]); + ctx.gpr[8] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(44))); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(36), aot_gpr_5); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(48))); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(40), ctx.gpr[7]); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(52))); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(44), ctx.gpr[8]); + ctx.gpr[8] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(56))); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(48), aot_gpr_5); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(60))); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(52), ctx.gpr[7]); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(56), ctx.gpr[8]); aot_gpr_31 = (0x089263CCu); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(60), aot_gpr_5); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(60), aot_gpr_5); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0091_entry, 91u, 621u, 0x08972D80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089263CCu) goto L_089263CC; AOT_REGCACHE_SYNC_OUT(); return; L_089263CC: @@ -6346,9 +6347,9 @@ L_089263CC: } L_089263DC: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(36))); - ctx.gpr[6] = (43691u << 16u); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(-21846)); - { const bool branch_taken = aot_gpr_5 == ctx.gpr[6]; + aot_gpr_6 = (43691u << 16u); + aot_gpr_6 = (aot_gpr_6 + static_cast(-21846)); + { const bool branch_taken = aot_gpr_5 == aot_gpr_6; // nop if (branch_taken) { goto L_08926404; @@ -6379,10 +6380,10 @@ L_08926404: L_0892640C: aot_gpr_31 = (0x08926414u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08926414u) goto L_08926414; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08926414u) goto L_08926414; AOT_REGCACHE_SYNC_OUT(); return; L_08926414: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089266B8; @@ -6400,39 +6401,39 @@ L_0892641C: } L_08926428: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(3240))); - aot_gpr_5 = (aot_gpr_17 | 0u); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); + aot_gpr_5 = (ctx.gpr[17] | 0u); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); - ctx.gpr[18] = (aot_gpr_17 + static_cast(16)); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); + ctx.gpr[18] = (ctx.gpr[17] + static_cast(16)); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(8))); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(0), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(12))); - aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(4), ctx.gpr[6]); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(16))); + aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(4), aot_gpr_6); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(16))); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(8), ctx.gpr[7]); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(20))); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(12), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(24))); - aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(16), ctx.gpr[6]); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(28))); + aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(16), aot_gpr_6); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(28))); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(20), ctx.gpr[7]); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(32))); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(24), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(36))); - aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(28), ctx.gpr[6]); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(40))); + aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(28), aot_gpr_6); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(40))); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(32), ctx.gpr[7]); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(44))); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(36), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(48))); - aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(40), ctx.gpr[6]); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(52))); + aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(40), aot_gpr_6); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(52))); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(44), ctx.gpr[7]); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(56))); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(48), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(60))); - { const std::uint32_t aot_run_words[3]{ctx.gpr[6], ctx.gpr[7], aot_gpr_4}; + { const std::uint32_t aot_run_words[3]{aot_gpr_6, ctx.gpr[7], aot_gpr_4}; aot_mem.aot_direct_store32_block(ctx.gpr[18] + static_cast(52), aot_run_words); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(3244))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); @@ -6441,7 +6442,7 @@ L_08926428: aot_gpr_4 = (16585u << 16u); aot_gpr_4 = (aot_gpr_4 | 4059u); ctx.gpr[19] = (0u + static_cast(-2)); - ctx.gpr[20] = (aot_gpr_29 + static_cast(112)); + ctx.gpr[20] = (ctx.gpr[29] + static_cast(112)); aot_fpr_13 = aot_fpr_14 + aot_fpr_13; aot_fpr_12 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 <= aot_fpr_12)) ? 0x00800000u : 0u); @@ -6459,46 +6460,46 @@ L_089264F0: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(3248), std::bit_cast(aot_fpr_12)); goto L_089264FC; L_089264FC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(184))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(176), 0u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(184))); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(176), 0u); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[19]); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(184), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(184), aot_gpr_4); if (branch_taken) { goto L_08926528; } goto L_08926510; } L_08926510: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(184))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(184))); aot_gpr_4 = (aot_gpr_4 & 1u); if (aot_gpr_4 == 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(184))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(184))); goto L_0892652C; } goto L_08926520; L_08926520: aot_gpr_31 = (0x08926528u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(176))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(176))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 129u, 0x089D89E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08926528u) goto L_08926528; AOT_REGCACHE_SYNC_OUT(); return; L_08926528: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(184))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(184))); goto L_0892652C; L_0892652C: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(176), ctx.gpr[18]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(176), ctx.gpr[18]); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[19]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(184), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(184), aot_gpr_4); aot_gpr_31 = (0x08926540u); aot_gpr_4 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 939u, 0x0885FF48u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08926540u) goto L_08926540; AOT_REGCACHE_SYNC_OUT(); return; L_08926540: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(264))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(256), 0u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(264))); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(256), 0u); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[19]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(264), aot_gpr_4); - ctx.gpr[18] = (aot_gpr_29 + static_cast(192)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(264), aot_gpr_4); + ctx.gpr[18] = (ctx.gpr[29] + static_cast(192)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(3248))); aot_gpr_31 = (0x08926560u); aot_gpr_4 = (ctx.gpr[18] | 0u); @@ -6531,22 +6532,22 @@ L_089265A4: aot_gpr_4 = (47747u << 16u); aot_gpr_4 = (aot_gpr_4 | 4719u); aot_fpr_13 = std::bit_cast(aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(16), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (15975u << 16u); aot_gpr_4 = (aot_gpr_4 | 27787u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), std::bit_cast(aot_fpr_13)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(20), std::bit_cast(aot_fpr_13)); aot_fpr_14 = std::bit_cast(aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), std::bit_cast(aot_fpr_14)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(24), std::bit_cast(aot_fpr_14)); aot_gpr_31 = (0x089265DCu); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 4u, 0x08860094u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089265DCu) goto L_089265DC; AOT_REGCACHE_SYNC_OUT(); return; L_089265DC: - ctx.gpr[19] = (aot_gpr_29 + static_cast(32)); + ctx.gpr[19] = (ctx.gpr[29] + static_cast(32)); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x089265F0u); - ctx.gpr[6] = (ctx.gpr[18] | 0u); + aot_gpr_6 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 935u, 0x0885FEC8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089265F0u) goto L_089265F0; AOT_REGCACHE_SYNC_OUT(); return; L_089265F0: @@ -6556,7 +6557,7 @@ L_089265F0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 7u, 0x08860358u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089265FCu) goto L_089265FC; AOT_REGCACHE_SYNC_OUT(); return; L_089265FC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(104))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(104))); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -6566,7 +6567,7 @@ L_089265FC: goto L_0892660C; } L_0892660C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(96))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(96))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -6576,7 +6577,7 @@ L_0892660C: } L_08926618: aot_gpr_31 = (0x08926620u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(96))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(96))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 129u, 0x089D89E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08926620u) goto L_08926620; AOT_REGCACHE_SYNC_OUT(); return; L_08926620: @@ -6586,7 +6587,7 @@ L_08926620: AOT_REGCACHE_SYNC_OUT(); return; L_08926628: aot_gpr_31 = (0x08926630u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0091_entry, 91u, 621u, 0x08972D80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08926630u) goto L_08926630; AOT_REGCACHE_SYNC_OUT(); return; L_08926630: @@ -6632,27 +6633,27 @@ L_08926668: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0085_entry, 85u, 528u, 0x0895BBA4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08926670u) goto L_08926670; AOT_REGCACHE_SYNC_OUT(); return; L_08926670: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(264))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(264))); aot_gpr_4 = (aot_gpr_4 & 1u); if (aot_gpr_4 == 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(184))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(184))); goto L_08926698; } goto L_08926680; L_08926680: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(256))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(256))); if (aot_gpr_4 == 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(184))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(184))); goto L_08926698; } goto L_0892668C; L_0892668C: aot_gpr_31 = (0x08926694u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(256))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(256))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 129u, 0x089D89E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08926694u) goto L_08926694; AOT_REGCACHE_SYNC_OUT(); return; L_08926694: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(184))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(184))); goto L_08926698; L_08926698: aot_gpr_4 = (aot_gpr_4 & 1u); @@ -6664,7 +6665,7 @@ L_08926698: goto L_089266A4; } L_089266A4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(176))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(176))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -6674,56 +6675,56 @@ L_089266A4: } L_089266B0: aot_gpr_31 = (0x089266B8u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(176))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(176))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 129u, 0x089D89E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089266B8u) goto L_089266B8; AOT_REGCACHE_SYNC_OUT(); return; L_089266B8: { std::uint32_t aot_run_words[6]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(288), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(288), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; aot_gpr_31 = aot_run_words[5]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(320)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(320)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_089266D8: - aot_gpr_29 = (aot_gpr_29 + static_cast(-368)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(328), aot_gpr_17); - aot_gpr_17 = (aot_gpr_5 | 0u); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(304)))))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(72))); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-368)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(328), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_5 | 0u); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(304)))))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(72))); aot_gpr_5 = (aot_gpr_5 | 1u); ctx.gpr[7] = (0u + static_cast(-513)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(304), static_cast(aot_gpr_5)); - aot_gpr_5 = (ctx.gpr[6] & ctx.gpr[7]); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(304), static_cast(aot_gpr_5)); + aot_gpr_5 = (aot_gpr_6 & ctx.gpr[7]); aot_gpr_5 = (aot_gpr_5 | 512u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(312), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(312), std::bit_cast(aot_fpr_20)); aot_fpr_20 = std::bit_cast(0u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(72), aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), std::bit_cast(aot_fpr_20)); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(464))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), std::bit_cast(aot_fpr_20)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(2064), std::bit_cast(aot_fpr_20)); - ctx.gpr[6] = (0u + static_cast(-1025)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(2068), std::bit_cast(aot_fpr_20)); - aot_gpr_5 = (aot_gpr_5 & ctx.gpr[6]); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(464), aot_gpr_5); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1152))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(324), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(332), ctx.gpr[18]); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(72), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(16), std::bit_cast(aot_fpr_20)); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(464))); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(20), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(2064), std::bit_cast(aot_fpr_20)); + aot_gpr_6 = (0u + static_cast(-1025)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(2068), std::bit_cast(aot_fpr_20)); + aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(464), aot_gpr_5); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1152))); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(324), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(332), ctx.gpr[18]); ctx.gpr[18] = (0u | 0u); aot_gpr_16 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(316), std::bit_cast(ctx.fpr[22])); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(320), std::bit_cast(ctx.fpr[24])); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(316), std::bit_cast(ctx.fpr[22])); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(320), std::bit_cast(ctx.fpr[24])); { const std::uint32_t aot_run_words[6]{ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], aot_gpr_31}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(336), aot_run_words); } + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(336), aot_run_words); } { const bool branch_taken = aot_gpr_5 == 0u; ctx.gpr[21] = (8192u << 16u); if (branch_taken) { @@ -6732,7 +6733,7 @@ L_089266D8: goto L_08926768; } L_08926768: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1152))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1152))); aot_gpr_5 = (0u | 1u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(852))); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; @@ -6743,18 +6744,18 @@ L_08926768: goto L_0892677C; } L_0892677C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(92))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(92))); aot_gpr_4 = (aot_gpr_4 + static_cast(192)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - jump_target = ctx.gpr[6]; + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); + jump_target = aot_gpr_6; aot_gpr_31 = (0x08926794u); - aot_gpr_4 = (aot_gpr_17 + aot_gpr_5); + aot_gpr_4 = (ctx.gpr[17] + aot_gpr_5); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08926794u) goto L_08926794; AOT_REGCACHE_SYNC_OUT(); return; L_08926794: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(2196))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(2196))); aot_gpr_5 = (0u | 16u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -6765,7 +6766,7 @@ L_08926794: } L_089267A4: aot_gpr_31 = (0x089267ACu); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1089u, 0x08AC7F64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089267ACu) goto L_089267AC; AOT_REGCACHE_SYNC_OUT(); return; L_089267AC: @@ -6779,11 +6780,11 @@ L_089267AC: } L_089267B8: aot_gpr_31 = (0x089267C0u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089267C0u) goto L_089267C0; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089267C0u) goto L_089267C0; AOT_REGCACHE_SYNC_OUT(); return; L_089267C0: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08926838; @@ -6791,17 +6792,17 @@ L_089267C0: goto L_089267C8; } L_089267C8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(460))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(460))); aot_gpr_4 = (aot_gpr_4 | 32768u); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(460), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(460), aot_gpr_4); if (branch_taken) { goto L_08926838; } goto L_089267D8; } L_089267D8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(2196))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(2196))); aot_gpr_5 = (0u | 38u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -6813,13 +6814,13 @@ L_089267D8: L_089267E8: ctx.gpr[7] = (16512u << 16u); aot_fpr_12 = std::bit_cast(ctx.gpr[7]); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(1252), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(1252), std::bit_cast(aot_fpr_20)); ctx.gpr[7] = (16128u << 16u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_fpr_13 = std::bit_cast(ctx.gpr[7]); aot_gpr_5 = (0u | 40u); aot_gpr_31 = (0x0892680Cu); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0070_entry, 70u, 653u, 0x0891F338u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892680Cu) goto L_0892680C; AOT_REGCACHE_SYNC_OUT(); return; L_0892680C: @@ -6833,11 +6834,11 @@ L_0892680C: } L_08926818: aot_gpr_31 = (0x08926820u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08926820u) goto L_08926820; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08926820u) goto L_08926820; AOT_REGCACHE_SYNC_OUT(); return; L_08926820: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08926838; @@ -6852,7 +6853,7 @@ L_08926828: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 173u, 0x08ADC8D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08926838u) goto L_08926838; AOT_REGCACHE_SYNC_OUT(); return; L_08926838: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(2196))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(2196))); aot_gpr_5 = (0u | 17u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -6862,7 +6863,7 @@ L_08926838: goto L_08926848; } L_08926848: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(2196))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(2196))); aot_gpr_5 = (0u | 18u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -6873,17 +6874,17 @@ L_08926848: } L_08926858: aot_gpr_31 = (0x08926860u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 441u, 0x089AA5B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08926860u) goto L_08926860; AOT_REGCACHE_SYNC_OUT(); return; L_08926860: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0892686Cu); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 209u, 0x08910BDCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892686Cu) goto L_0892686C; AOT_REGCACHE_SYNC_OUT(); return; L_0892686C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1152))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1152))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -6892,7 +6893,7 @@ L_0892686C: goto L_08926878; } L_08926878: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1152))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1152))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(852))); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -6902,7 +6903,7 @@ L_08926878: goto L_08926888; } L_08926888: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1152))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1152))); aot_gpr_5 = (0u | 6u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(852))); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; @@ -6913,7 +6914,7 @@ L_08926888: goto L_0892689C; } L_0892689C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1152))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1152))); aot_gpr_5 = (0u | 2u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(852))); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; @@ -6924,15 +6925,15 @@ L_0892689C: goto L_089268B0; } L_089268B0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1152))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1152))); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8068), aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), std::bit_cast(aot_fpr_20)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(64), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(68), std::bit_cast(aot_fpr_20)); aot_gpr_4 = (15948u << 16u); aot_gpr_4 = (aot_gpr_4 | 52429u); ctx.fpr[22] = std::bit_cast(aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(72), std::bit_cast(ctx.fpr[22])); - ctx.gpr[19] = (aot_gpr_17 + static_cast(48)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(72), std::bit_cast(ctx.fpr[22])); + ctx.gpr[19] = (ctx.gpr[17] + static_cast(48)); { const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -6942,7 +6943,7 @@ L_089268B0: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_4 = (aot_gpr_29 + static_cast(64)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(64)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -6953,7 +6954,7 @@ L_089268B0: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>(); - aot_gpr_4 = (aot_gpr_29 + static_cast(48)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(48)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; @@ -6961,22 +6962,22 @@ L_089268B0: aot_gpr_5 = (16076u << 16u); aot_gpr_5 = (aot_gpr_5 | 52429u); ctx.fpr[24] = std::bit_cast(aot_gpr_5); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1152))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1152))); ctx.gpr[20] = (0u | 1u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[24])); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); ctx.gpr[7] = (0u | 1u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[11] = (0u | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), 0u); aot_gpr_31 = (0x08926928u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[20]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), ctx.gpr[20]); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0037_entry, 37u, 487u, 0x0889ACD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08926928u) goto L_08926928; AOT_REGCACHE_SYNC_OUT(); return; L_08926928: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_089269C0; @@ -6985,7 +6986,7 @@ L_08926928: } L_08926930: { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22])}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(96), aot_run_words); } + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(96), aot_run_words); } { const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -6995,7 +6996,7 @@ L_08926930: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_4 = (aot_gpr_29 + static_cast(96)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(96)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -7006,26 +7007,26 @@ L_08926930: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 0u>(); - aot_gpr_4 = (aot_gpr_29 + static_cast(80)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(80)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1152))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1152))); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[24])); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); ctx.gpr[7] = (0u | 1u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[11] = (0u | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), 0u); aot_gpr_31 = (0x08926980u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[20]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), ctx.gpr[20]); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0037_entry, 37u, 487u, 0x0889ACD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08926980u) goto L_08926980; AOT_REGCACHE_SYNC_OUT(); return; L_08926980: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_089269C0; @@ -7033,22 +7034,22 @@ L_08926980: goto L_08926988; } L_08926988: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1152))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1152))); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_4 = (aot_gpr_4 + static_cast(48)); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 1u); ctx.gpr[10] = (0u | 0u); ctx.gpr[11] = (0u | 0u); aot_gpr_31 = (0x089269B8u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[20]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), ctx.gpr[20]); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0036_entry, 36u, 527u, 0x088967ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089269B8u) goto L_089269B8; AOT_REGCACHE_SYNC_OUT(); return; L_089269B8: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_089269CC; @@ -7058,14 +7059,14 @@ L_089269B8: L_089269C0: aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8068), 0u); aot_gpr_31 = (0x089269CCu); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0130_entry, 130u, 138u, 0x08A0CDECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089269CCu) goto L_089269CC; AOT_REGCACHE_SYNC_OUT(); return; L_089269CC: aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8068), 0u); goto L_089269D0; L_089269D0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(2228))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(2228))); aot_gpr_5 = (0u | 63u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -7075,7 +7076,7 @@ L_089269D0: goto L_089269E0; } L_089269E0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1360))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1360))); aot_gpr_5 = (0u | 6u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -7086,11 +7087,11 @@ L_089269E0: } L_089269F0: aot_gpr_31 = (0x089269F8u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 282u, 0x0890905Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089269F8u) goto L_089269F8; AOT_REGCACHE_SYNC_OUT(); return; L_089269F8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(2308))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(2308))); aot_gpr_5 = (0u | 5u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -7100,7 +7101,7 @@ L_089269F8: goto L_08926A08; } L_08926A08: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1152))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1152))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -7109,9 +7110,9 @@ L_08926A08: goto L_08926A14; } L_08926A14: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1152))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1152))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(900))); - { const bool branch_taken = aot_gpr_4 != aot_gpr_17; + { const bool branch_taken = aot_gpr_4 != ctx.gpr[17]; // nop if (branch_taken) { goto L_08926A50; @@ -7121,11 +7122,11 @@ L_08926A14: L_08926A24: ctx.gpr[7] = (16256u << 16u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(96))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); aot_fpr_13 = std::bit_cast(ctx.gpr[7]); aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); aot_gpr_31 = (0x08926A40u); - ctx.gpr[6] = (0u | 110u); + aot_gpr_6 = (0u | 110u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 503u, 0x08A05F80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08926A40u) goto L_08926A40; AOT_REGCACHE_SYNC_OUT(); return; L_08926A40: @@ -7138,16 +7139,16 @@ L_08926A40: } L_08926A48: aot_gpr_31 = (0x08926A50u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0129_entry, 129u, 78u, 0x08A08AE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08926A50u) goto L_08926A50; AOT_REGCACHE_SYNC_OUT(); return; L_08926A50: aot_gpr_31 = (0x08926A58u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08926A58u) goto L_08926A58; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08926A58u) goto L_08926A58; AOT_REGCACHE_SYNC_OUT(); return; L_08926A58: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08926A70; @@ -7156,7 +7157,7 @@ L_08926A58: } L_08926A60: aot_gpr_31 = (0x08926A68u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 282u, 0x0890905Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08926A68u) goto L_08926A68; AOT_REGCACHE_SYNC_OUT(); return; L_08926A68: @@ -7168,7 +7169,7 @@ L_08926A68: goto L_08926A70; } L_08926A70: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(460))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(460))); aot_gpr_4 = (aot_gpr_4 & 32768u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -7178,7 +7179,7 @@ L_08926A70: goto L_08926A80; } L_08926A80: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1152))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1152))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -7188,17 +7189,17 @@ L_08926A80: } L_08926A8C: aot_gpr_31 = (0x08926A94u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 319u, 0x0890D46Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08926A94u) goto L_08926A94; AOT_REGCACHE_SYNC_OUT(); return; L_08926A94: - if (ctx.gpr[2] == 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(460))); + if (aot_gpr_2 == 0u) { + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(460))); goto L_08926AB0; } goto L_08926A9C; L_08926A9C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(2276))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(2276))); aot_gpr_5 = (0u | 2u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -7208,51 +7209,51 @@ L_08926A9C: goto L_08926AAC; } L_08926AAC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(460))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(460))); goto L_08926AB0; L_08926AB0: aot_gpr_5 = (65535u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(32767)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1152))); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(460), aot_gpr_4); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1152))); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(460), aot_gpr_4); aot_gpr_4 = (aot_gpr_5 + static_cast(48)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(256), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(256), std::bit_cast(aot_fpr_12)); aot_gpr_5 = (std::bit_cast(aot_fpr_13)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(120), aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(124), aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(260), std::bit_cast(aot_fpr_13)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(120))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(124))); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(120), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(124), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(260), std::bit_cast(aot_fpr_13)); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(120))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(124))); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); - aot_gpr_5 = (aot_gpr_29 + static_cast(112)); - ctx.gpr[6] = (std::bit_cast(aot_fpr_13)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(112), aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(116), ctx.gpr[6]); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[29] + static_cast(112)); + aot_gpr_6 = (std::bit_cast(aot_fpr_13)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(112), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(116), aot_gpr_6); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08926B10u); - ctx.gpr[6] = (0u | 12000u); + aot_gpr_6 = (0u | 12000u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 779u, 0x0890B0A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08926B10u) goto L_08926B10; AOT_REGCACHE_SYNC_OUT(); return; L_08926B10: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(456))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(456))); aot_gpr_5 = (16384u << 16u); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(456), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(456), aot_gpr_4); aot_gpr_31 = (0x08926B28u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08926B28u) goto L_08926B28; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890FF64, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08926B28u) goto L_08926B28; AOT_REGCACHE_SYNC_OUT(); return; L_08926B28: aot_gpr_31 = (0x08926B30u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08926B30u) goto L_08926B30; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08926B30u) goto L_08926B30; AOT_REGCACHE_SYNC_OUT(); return; L_08926B30: - aot_gpr_4 = (ctx.gpr[2] & 65535u); + aot_gpr_4 = (aot_gpr_2 & 65535u); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -7262,7 +7263,7 @@ L_08926B30: goto L_08926B40; } L_08926B40: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1364))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1364))); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(22)))))); aot_gpr_4 = (static_cast(aot_gpr_4) < 71 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; @@ -7273,13 +7274,13 @@ L_08926B40: goto L_08926B54; } L_08926B54: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08926B60u); aot_gpr_5 = (0u | 5u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08926B60u) goto L_08926B60; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08926B60u) goto L_08926B60; AOT_REGCACHE_SYNC_OUT(); return; L_08926B60: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08926B6Cu); aot_gpr_5 = (0u | 119u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 16u, 0x08860424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08926B6Cu) goto L_08926B6C; @@ -7293,13 +7294,13 @@ L_08926B6C: goto L_08926B74; } L_08926B74: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08926B80u); aot_gpr_5 = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08926B80u) goto L_08926B80; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08926B80u) goto L_08926B80; AOT_REGCACHE_SYNC_OUT(); return; L_08926B80: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08926B8Cu); aot_gpr_5 = (0u | 142u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 16u, 0x08860424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08926B8Cu) goto L_08926B8C; @@ -7308,10 +7309,10 @@ L_08926B8C: ctx.gpr[18] = (0u | 1u); goto L_08926B90; L_08926B90: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08926B9Cu); aot_gpr_5 = (0u | 5u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08926B9Cu) goto L_08926B9C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08908E78, 65u, 261u, 0x08908E78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08926B9Cu) goto L_08926B9C; AOT_REGCACHE_SYNC_OUT(); return; L_08926B9C: { const bool branch_taken = 0u == 0u; @@ -7322,7 +7323,7 @@ L_08926B9C: goto L_08926BA4; } L_08926BA4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(460))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(460))); aot_gpr_5 = (1u << 16u); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); { const bool branch_taken = aot_gpr_4 == 0u; @@ -7335,35 +7336,35 @@ L_08926BA4: L_08926BB8: aot_gpr_31 = (0x08926BC0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08926BC0u) goto L_08926BC0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08926BC0u) goto L_08926BC0; AOT_REGCACHE_SYNC_OUT(); return; L_08926BC0: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-20236))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-20240))); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-20240))); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08926BD4u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08926BD4u) goto L_08926BD4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08926BD4u) goto L_08926BD4; AOT_REGCACHE_SYNC_OUT(); return; L_08926BD4: ctx.gpr[1] = (ctx.gpr[3] << 1u); - aot_gpr_4 = (ctx.gpr[2] >> 31u); + aot_gpr_4 = (aot_gpr_2 >> 31u); aot_gpr_5 = (static_cast(static_cast(ctx.gpr[3]) >> 31u)); aot_gpr_4 = (ctx.gpr[1] | aot_gpr_4); aot_gpr_4 = (aot_gpr_4 | 0u); aot_gpr_5 = (aot_gpr_4 << 24u); aot_gpr_5 = (static_cast(static_cast(aot_gpr_5) >> 24u)); aot_gpr_31 = (0x08926BF8u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 631u, 0x0890A728u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08926BF8u) goto L_08926BF8; AOT_REGCACHE_SYNC_OUT(); return; L_08926BF8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(460))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(460))); aot_gpr_5 = (65535u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(-1)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(460), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1360))); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(460), aot_gpr_4); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1360))); aot_gpr_5 = (0u | 20u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -7373,16 +7374,16 @@ L_08926BF8: goto L_08926C1C; } L_08926C1C: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08926C28u); aot_gpr_5 = (0u | 30000u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1084u, 0x08AC7F30u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08926C28u) goto L_08926C28; AOT_REGCACHE_SYNC_OUT(); return; L_08926C28: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08926C34u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08926C34u) goto L_08926C34; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08908E78, 65u, 261u, 0x08908E78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08926C34u) goto L_08926C34; AOT_REGCACHE_SYNC_OUT(); return; L_08926C34: { const bool branch_taken = 0u == 0u; @@ -7393,7 +7394,7 @@ L_08926C34: goto L_08926C3C; } L_08926C3C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(460))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(460))); ctx.gpr[19] = (16384u << 16u); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[19]); { const bool branch_taken = aot_gpr_4 == 0u; @@ -7404,21 +7405,21 @@ L_08926C3C: goto L_08926C50; } L_08926C50: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(460))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(460))); aot_gpr_5 = (49152u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(-1)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_5 = (65535u << 16u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(460), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(460), aot_gpr_4); aot_gpr_5 = (aot_gpr_5 + static_cast(32767)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(460), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(460), aot_gpr_4); aot_gpr_31 = (0x08926C7Cu); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 319u, 0x0890D46Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08926C7Cu) goto L_08926C7C; AOT_REGCACHE_SYNC_OUT(); return; L_08926C7C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08926CF8; @@ -7426,7 +7427,7 @@ L_08926C7C: goto L_08926C84; } L_08926C84: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(2276))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(2276))); aot_gpr_5 = (0u | 2u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -7441,7 +7442,7 @@ L_08926C94: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08926C9Cu) goto L_08926C9C; AOT_REGCACHE_SYNC_OUT(); return; L_08926C9C: - aot_gpr_4 = (aot_gpr_17 + static_cast(48)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -7451,7 +7452,7 @@ L_08926C9C: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_4 = (ctx.gpr[2] + static_cast(48)); + aot_gpr_4 = (aot_gpr_2 + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -7462,7 +7463,7 @@ L_08926C9C: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>(); - aot_gpr_4 = (aot_gpr_29 + static_cast(128)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(128)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; @@ -7497,13 +7498,13 @@ L_08926CE4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08926CECu) goto L_08926CEC; AOT_REGCACHE_SYNC_OUT(); return; L_08926CEC: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08926CF8u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 840u, 0x0890FC94u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08926CF8u) goto L_08926CF8; AOT_REGCACHE_SYNC_OUT(); return; L_08926CF8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(2192))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(2192))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -7512,7 +7513,7 @@ L_08926CF8: goto L_08926D04; } L_08926D04: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(2196))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(2196))); aot_gpr_5 = (0u | 8u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -7522,8 +7523,8 @@ L_08926D04: goto L_08926D14; } L_08926D14: - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(2192))); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(2192))); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08926D24u); aot_gpr_5 = (0u | 8u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0178_entry, 178u, 482u, 0x08ACD698u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08926D24u) goto L_08926D24; @@ -7537,7 +7538,7 @@ L_08926D24: goto L_08926D2C; } L_08926D2C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1152))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1152))); ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(900))); { const bool branch_taken = ctx.gpr[20] == 0u; ctx.gpr[18] = (0u | 0u); @@ -7547,7 +7548,7 @@ L_08926D2C: goto L_08926D3C; } L_08926D3C: - { const bool branch_taken = ctx.gpr[20] == aot_gpr_17; + { const bool branch_taken = ctx.gpr[20] == ctx.gpr[17]; // nop if (branch_taken) { goto L_08926DBC; @@ -7557,10 +7558,10 @@ L_08926D3C: L_08926D44: aot_gpr_31 = (0x08926D4Cu); aot_gpr_4 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08926D4Cu) goto L_08926D4C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08926D4Cu) goto L_08926D4C; AOT_REGCACHE_SYNC_OUT(); return; L_08926D4C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08926D6C; @@ -7573,7 +7574,7 @@ L_08926D54: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 617u, 0x088634F8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08926D5Cu) goto L_08926D5C; AOT_REGCACHE_SYNC_OUT(); return; L_08926D5C: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08926DBC; @@ -7589,7 +7590,7 @@ L_08926D64: goto L_08926D6C; } L_08926D6C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(2276))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(2276))); aot_gpr_5 = (0u | 1u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; ctx.gpr[18] = (0u | 1u); @@ -7636,10 +7637,10 @@ L_08926DA0: L_08926DA8: aot_gpr_31 = (0x08926DB0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(2192))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08926DB0u) goto L_08926DB0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08926DB0u) goto L_08926DB0; AOT_REGCACHE_SYNC_OUT(); return; L_08926DB0: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08926DBC; @@ -7651,18 +7652,18 @@ L_08926DB8: goto L_08926DBC; L_08926DBC: if (ctx.gpr[18] == 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1152))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1152))); goto L_08926DE4; } goto L_08926DC4; L_08926DC4: aot_gpr_31 = (0x08926DCCu); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1022u, 0x08AC7C60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08926DCCu) goto L_08926DCC; AOT_REGCACHE_SYNC_OUT(); return; L_08926DCC: - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1152))); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1152))); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08926DDCu); aot_gpr_5 = (0u | 18u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0178_entry, 178u, 482u, 0x08ACD698u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08926DDCu) goto L_08926DDC; @@ -7680,42 +7681,42 @@ L_08926DE4: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(288), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(288), std::bit_cast(aot_fpr_12)); aot_gpr_5 = (std::bit_cast(aot_fpr_13)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(156), aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(160), aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(292), std::bit_cast(aot_fpr_13)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(156))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(160))); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(156), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(160), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(292), std::bit_cast(aot_fpr_13)); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(156))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(160))); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); - aot_gpr_5 = (aot_gpr_29 + static_cast(148)); - ctx.gpr[6] = (std::bit_cast(aot_fpr_13)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(148), aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(152), ctx.gpr[6]); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[29] + static_cast(148)); + aot_gpr_6 = (std::bit_cast(aot_fpr_13)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(148), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(152), aot_gpr_6); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08926E30u); - ctx.gpr[6] = (0u | 14000u); + aot_gpr_6 = (0u | 14000u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 779u, 0x0890B0A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08926E30u) goto L_08926E30; AOT_REGCACHE_SYNC_OUT(); return; L_08926E30: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(456))); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(456))); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (aot_gpr_5 | ctx.gpr[19]); aot_gpr_31 = (0x08926E44u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(456), aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08926E44u) goto L_08926E44; + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(456), aot_gpr_5); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890FF64, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08926E44u) goto L_08926E44; AOT_REGCACHE_SYNC_OUT(); return; L_08926E44: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08926E50u); aot_gpr_5 = (0u | 142u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 16u, 0x08860424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08926E50u) goto L_08926E50; AOT_REGCACHE_SYNC_OUT(); return; L_08926E50: aot_gpr_4 = (0u | 1500u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(144), aot_gpr_4); - ctx.gpr[6] = (aot_gpr_29 + static_cast(144)); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(144), aot_gpr_4); + aot_gpr_6 = (ctx.gpr[29] + static_cast(144)); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (0u | 15u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x08926E70u); @@ -7723,10 +7724,10 @@ L_08926E50: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0074_entry, 74u, 613u, 0x0892F140u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08926E70u) goto L_08926E70; AOT_REGCACHE_SYNC_OUT(); return; L_08926E70: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08926E7Cu); aot_gpr_5 = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08926E7Cu) goto L_08926E7C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08926E7Cu) goto L_08926E7C; AOT_REGCACHE_SYNC_OUT(); return; L_08926E7C: { const bool branch_taken = 0u == 0u; @@ -7737,7 +7738,7 @@ L_08926E7C: goto L_08926E84; } L_08926E84: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(2196))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(2196))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -7746,7 +7747,7 @@ L_08926E84: goto L_08926E90; } L_08926E90: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(2276))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(2276))); aot_gpr_5 = (0u | 2u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -7756,7 +7757,7 @@ L_08926E90: goto L_08926EA0; } L_08926EA0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(2228))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(2228))); aot_gpr_5 = (0u | 1u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -7767,11 +7768,11 @@ L_08926EA0: } L_08926EB0: aot_gpr_31 = (0x08926EB8u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08926EB8u) goto L_08926EB8; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08926EB8u) goto L_08926EB8; AOT_REGCACHE_SYNC_OUT(); return; L_08926EB8: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08926F24; @@ -7781,26 +7782,26 @@ L_08926EB8: L_08926EC0: aot_gpr_31 = (0x08926EC8u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08926EC8u) goto L_08926EC8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08926EC8u) goto L_08926EC8; AOT_REGCACHE_SYNC_OUT(); return; L_08926EC8: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-20236))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-20240))); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-20240))); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08926EDCu); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08926EDCu) goto L_08926EDC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08926EDCu) goto L_08926EDC; AOT_REGCACHE_SYNC_OUT(); return; L_08926EDC: ctx.gpr[1] = (ctx.gpr[3] << 1u); - aot_gpr_4 = (ctx.gpr[2] >> 31u); + aot_gpr_4 = (aot_gpr_2 >> 31u); aot_gpr_5 = (static_cast(static_cast(ctx.gpr[3]) >> 31u)); aot_gpr_4 = (ctx.gpr[1] | aot_gpr_4); aot_gpr_4 = (aot_gpr_4 | 0u); aot_gpr_5 = (aot_gpr_4 << 24u); aot_gpr_5 = (static_cast(static_cast(aot_gpr_5) >> 24u)); aot_gpr_31 = (0x08926F00u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 631u, 0x0890A728u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08926F00u) goto L_08926F00; AOT_REGCACHE_SYNC_OUT(); return; L_08926F00: @@ -7812,7 +7813,7 @@ L_08926F00: goto L_08926F08; } L_08926F08: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(2228))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(2228))); aot_gpr_5 = (0u | 55u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -7822,7 +7823,7 @@ L_08926F08: goto L_08926F18; } L_08926F18: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08926F24u); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 240u, 0x08908D60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08926F24u) goto L_08926F24; @@ -7842,25 +7843,25 @@ L_08926F2C: goto L_08926F38; L_08926F38: aot_gpr_31 = (0x08926F40u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 976u, 0x0890BDFCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08926F40u) goto L_08926F40; AOT_REGCACHE_SYNC_OUT(); return; L_08926F40: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08926F4Cu); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08926F4Cu) goto L_08926F4C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08926F4Cu) goto L_08926F4C; AOT_REGCACHE_SYNC_OUT(); return; L_08926F4C: { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_20)}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(32), aot_run_words); } - aot_gpr_5 = (aot_gpr_29 + static_cast(32)); + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(32), aot_run_words); } + aot_gpr_5 = (ctx.gpr[29] + static_cast(32)); aot_gpr_31 = (0x08926F64u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 538u, 0x08A666C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08926F64u) goto L_08926F64; AOT_REGCACHE_SYNC_OUT(); return; L_08926F64: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1152))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1152))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -7869,7 +7870,7 @@ L_08926F64: goto L_08926F70; } L_08926F70: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1360))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1360))); aot_gpr_5 = (0u | 20u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -7879,7 +7880,7 @@ L_08926F70: goto L_08926F80; } L_08926F80: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1152))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1152))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(900))); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -7889,13 +7890,13 @@ L_08926F80: goto L_08926F90; } L_08926F90: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1152))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1152))); aot_gpr_31 = (0x08926F9Cu); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(900))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08926F9Cu) goto L_08926F9C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08926F9Cu) goto L_08926F9C; AOT_REGCACHE_SYNC_OUT(); return; L_08926F9C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_0892706C; @@ -7903,7 +7904,7 @@ L_08926F9C: goto L_08926FA4; } L_08926FA4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(2276))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(2276))); aot_gpr_5 = (0u | 1u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -7915,10 +7916,10 @@ L_08926FA4: L_08926FB4: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7800))); aot_gpr_5 = (aot_gpr_4 + aot_gpr_4); - ctx.gpr[6] = (aot_gpr_4 << 8u); + aot_gpr_6 = (aot_gpr_4 << 8u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_gpr_4 << 5u); - aot_gpr_5 = (ctx.gpr[6] + aot_gpr_4); + aot_gpr_5 = (aot_gpr_6 + aot_gpr_4); aot_gpr_4 = (2238u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-6992)); aot_gpr_5 = (aot_gpr_5 + aot_gpr_4); @@ -7932,62 +7933,62 @@ L_08926FB4: goto L_08926FEC; L_08926FEC: aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7800))); - ctx.gpr[6] = (aot_gpr_5 + aot_gpr_5); + aot_gpr_6 = (aot_gpr_5 + aot_gpr_5); ctx.gpr[7] = (aot_gpr_5 << 8u); - aot_gpr_5 = (aot_gpr_5 + ctx.gpr[6]); + aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); aot_gpr_5 = (aot_gpr_5 << 5u); aot_gpr_5 = (ctx.gpr[7] + aot_gpr_5); aot_gpr_5 = (aot_gpr_5 + aot_gpr_4); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(204))); - ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(1918))); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(100)); - aot_mem.aot_direct_store16(aot_gpr_5 + static_cast(1918), static_cast(ctx.gpr[6])); + aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(1918))); + aot_gpr_6 = (aot_gpr_6 + static_cast(100)); + aot_mem.aot_direct_store16(aot_gpr_5 + static_cast(1918), static_cast(aot_gpr_6)); aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7800))); goto L_0892701C; L_0892701C: - ctx.gpr[6] = (aot_gpr_5 + aot_gpr_5); + aot_gpr_6 = (aot_gpr_5 + aot_gpr_5); ctx.gpr[7] = (aot_gpr_5 << 8u); - aot_gpr_5 = (aot_gpr_5 + ctx.gpr[6]); + aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); aot_gpr_5 = (aot_gpr_5 << 5u); aot_gpr_5 = (ctx.gpr[7] + aot_gpr_5); aot_gpr_5 = (aot_gpr_5 + aot_gpr_4); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(172))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(172))); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(204), 0u); - aot_gpr_5 = (ctx.gpr[6] + static_cast(-100)); - ctx.gpr[6] = (static_cast(aot_gpr_5) < 0 ? 1u : 0u); - if (ctx.gpr[6] != 0u) { + aot_gpr_5 = (aot_gpr_6 + static_cast(-100)); + aot_gpr_6 = (static_cast(aot_gpr_5) < 0 ? 1u : 0u); + if (aot_gpr_6 != 0u) { aot_gpr_5 = (0u | 0u); goto L_0892704C; } goto L_0892704C; L_0892704C: - ctx.gpr[6] = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7800))); - ctx.gpr[7] = (ctx.gpr[6] + ctx.gpr[6]); - ctx.gpr[8] = (ctx.gpr[6] << 8u); - ctx.gpr[6] = (ctx.gpr[6] + ctx.gpr[7]); - ctx.gpr[6] = (ctx.gpr[6] << 5u); - ctx.gpr[6] = (ctx.gpr[8] + ctx.gpr[6]); - aot_gpr_4 = (ctx.gpr[6] + aot_gpr_4); + aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7800))); + ctx.gpr[7] = (aot_gpr_6 + aot_gpr_6); + ctx.gpr[8] = (aot_gpr_6 << 8u); + aot_gpr_6 = (aot_gpr_6 + ctx.gpr[7]); + aot_gpr_6 = (aot_gpr_6 << 5u); + aot_gpr_6 = (ctx.gpr[8] + aot_gpr_6); + aot_gpr_4 = (aot_gpr_6 + aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(172), aot_gpr_5); goto L_0892706C; L_0892706C: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1152))); - ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(2274))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1152))); + aot_gpr_6 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(2274))); aot_gpr_31 = (0x0892707Cu); - aot_gpr_4 = (aot_gpr_29 + static_cast(164)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(164)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 78u, 0x089A8ACCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892707Cu) goto L_0892707C; AOT_REGCACHE_SYNC_OUT(); return; L_0892707C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1152))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(172))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1152))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(172))); aot_gpr_4 = (aot_gpr_4 + static_cast(564)); - ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0))); + aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0))); aot_gpr_5 = (~(aot_gpr_5 | 0u)); - aot_gpr_5 = (ctx.gpr[6] & aot_gpr_5); + aot_gpr_5 = (aot_gpr_6 & aot_gpr_5); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_5)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1152))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1152))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(900))); - { const bool branch_taken = aot_gpr_4 != aot_gpr_17; + { const bool branch_taken = aot_gpr_4 != ctx.gpr[17]; // nop if (branch_taken) { goto L_089271BC; @@ -7996,17 +7997,17 @@ L_0892707C: } L_089270A8: aot_gpr_31 = (0x089270B0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1152))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1152))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 78u, 0x08B00578u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089270B0u) goto L_089270B0; AOT_REGCACHE_SYNC_OUT(); return; L_089270B0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1152))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1152))); aot_gpr_5 = (0u + static_cast(-497)); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); - aot_gpr_5 = (ctx.gpr[6] & aot_gpr_5); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); + aot_gpr_5 = (aot_gpr_6 & aot_gpr_5); aot_gpr_5 = (aot_gpr_5 | 64u); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(72), aot_gpr_5); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1152))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1152))); aot_gpr_5 = (0u | 5u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(680))); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; @@ -8017,12 +8018,12 @@ L_089270B0: goto L_089270DC; } L_089270DC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1152))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1152))); aot_gpr_5 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(680), aot_gpr_5); goto L_089270E8; L_089270E8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1360))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1360))); { const bool branch_taken = aot_gpr_4 != aot_gpr_16; // nop if (branch_taken) { @@ -8032,11 +8033,11 @@ L_089270E8: } L_089270F4: aot_gpr_31 = (0x089270FCu); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1152))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1152))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 456u, 0x08B01BA4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089270FCu) goto L_089270FC; AOT_REGCACHE_SYNC_OUT(); return; L_089270FC: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08927110; @@ -8044,21 +8045,21 @@ L_089270FC: goto L_08927104; } L_08927104: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1152))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1152))); aot_gpr_31 = (0x08927110u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 450u, 0x08B01B4Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08927110u) goto L_08927110; AOT_REGCACHE_SYNC_OUT(); return; L_08927110: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1152))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1152))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(852))); if (aot_gpr_4 == aot_gpr_16) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1152))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1152))); goto L_08927138; } goto L_08927120; L_08927120: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1152))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1152))); aot_gpr_5 = (0u | 8u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(852))); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; @@ -8069,7 +8070,7 @@ L_08927120: goto L_08927134; } L_08927134: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1152))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1152))); goto L_08927138; L_08927138: aot_gpr_4 = (aot_gpr_4 + static_cast(320)); @@ -8077,20 +8078,20 @@ L_08927138: aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) & 0x7FFFFFFFu); aot_gpr_31 = (0x0892714Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892714Cu) goto L_0892714C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[29], aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892714Cu) goto L_0892714C; AOT_REGCACHE_SYNC_OUT(); return; L_0892714C: ctx.gpr[23] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-20004))); ctx.gpr[22] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-20008))); aot_gpr_5 = (ctx.gpr[3] | 0u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); ctx.gpr[7] = (ctx.gpr[23] | 0u); aot_gpr_31 = (0x08927168u); - ctx.gpr[6] = (ctx.gpr[22] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08927168u) goto L_08927168; + aot_gpr_6 = (ctx.gpr[22] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B6256C, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_16, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08927168u) goto L_08927168; AOT_REGCACHE_SYNC_OUT(); return; L_08927168: - { const bool branch_taken = static_cast(ctx.gpr[2]) >= 0; + { const bool branch_taken = static_cast(aot_gpr_2) >= 0; // nop if (branch_taken) { goto L_089271C8; @@ -8098,24 +8099,24 @@ L_08927168: goto L_08927170; } L_08927170: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1152))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1152))); aot_gpr_4 = (aot_gpr_4 + static_cast(320)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) & 0x7FFFFFFFu); aot_gpr_31 = (0x08927188u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08927188u) goto L_08927188; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[29], aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08927188u) goto L_08927188; AOT_REGCACHE_SYNC_OUT(); return; L_08927188: aot_gpr_5 = (ctx.gpr[3] | 0u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); ctx.gpr[7] = (ctx.gpr[23] | 0u); aot_gpr_31 = (0x0892719Cu); - ctx.gpr[6] = (ctx.gpr[22] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892719Cu) goto L_0892719C; + aot_gpr_6 = (ctx.gpr[22] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B6256C, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_16, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892719Cu) goto L_0892719C; AOT_REGCACHE_SYNC_OUT(); return; L_0892719C: - { const bool branch_taken = static_cast(ctx.gpr[2]) >= 0; + { const bool branch_taken = static_cast(aot_gpr_2) >= 0; // nop if (branch_taken) { goto L_089271C8; @@ -8123,7 +8124,7 @@ L_0892719C: goto L_089271A4; } L_089271A4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1152))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1152))); aot_gpr_4 = (aot_gpr_4 + static_cast(1280)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0)))))); aot_gpr_5 = (aot_gpr_5 | 2u); @@ -8135,13 +8136,13 @@ L_089271A4: goto L_089271BC; } L_089271BC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1152))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1152))); aot_gpr_31 = (0x089271C8u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 40u, 0x08B00384u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089271C8u) goto L_089271C8; AOT_REGCACHE_SYNC_OUT(); return; L_089271C8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1152))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1152))); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(614)))))); aot_gpr_4 = (aot_gpr_4 & 2u); { const bool branch_taken = aot_gpr_4 == 0u; @@ -8153,11 +8154,11 @@ L_089271C8: } L_089271DC: aot_gpr_31 = (0x089271E4u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1152))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1152))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 229u, 0x08B00D78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089271E4u) goto L_089271E4; AOT_REGCACHE_SYNC_OUT(); return; L_089271E4: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08927228; @@ -8166,11 +8167,11 @@ L_089271E4: } L_089271EC: aot_gpr_31 = (0x089271F4u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1152))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1152))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 233u, 0x08B00DBCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089271F4u) goto L_089271F4; AOT_REGCACHE_SYNC_OUT(); return; L_089271F4: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08927228; @@ -8178,11 +8179,11 @@ L_089271F4: goto L_089271FC; } L_089271FC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(468))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(468))); aot_gpr_5 = (8u << 16u); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(460))); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(468), aot_gpr_4); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(460))); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(468), aot_gpr_4); aot_gpr_4 = (aot_gpr_5 & ctx.gpr[21]); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -8192,13 +8193,13 @@ L_089271FC: goto L_0892721C; } L_0892721C: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08927228u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08927228u) goto L_08927228; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08927228u) goto L_08927228; AOT_REGCACHE_SYNC_OUT(); return; L_08927228: - aot_gpr_4 = (aot_gpr_17 + static_cast(48)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -8208,7 +8209,7 @@ L_08927228: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_4 = (aot_gpr_29 + static_cast(192)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(192)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; @@ -8218,7 +8219,7 @@ L_08927228: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0090_entry, 90u, 465u, 0x0896DCA0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08927240u) goto L_08927240; AOT_REGCACHE_SYNC_OUT(); return; L_08927240: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08927260; @@ -8226,20 +8227,20 @@ L_08927240: goto L_08927248; } L_08927248: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1152))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1152))); aot_gpr_5 = (0u + static_cast(-65)); aot_gpr_4 = (aot_gpr_4 + static_cast(613)); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0)))))); - aot_gpr_5 = (ctx.gpr[6] & aot_gpr_5); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0)))))); + aot_gpr_5 = (aot_gpr_6 & aot_gpr_5); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_5)); goto L_08927260; L_08927260: aot_gpr_31 = (0x08927268u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08927268u) goto L_08927268; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08927268u) goto L_08927268; AOT_REGCACHE_SYNC_OUT(); return; L_08927268: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08927294; @@ -8253,24 +8254,24 @@ L_08927270: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0048_entry, 48u, 615u, 0x088C6FC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892727Cu) goto L_0892727C; AOT_REGCACHE_SYNC_OUT(); return; L_0892727C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(468))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(468))); aot_gpr_5 = (51200u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(-1)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_4 = (aot_gpr_4 | ctx.gpr[21]); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(468), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(468), aot_gpr_4); goto L_08927294; L_08927294: aot_gpr_31 = (0x0892729Cu); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 107u, 0x08908630u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892729Cu) goto L_0892729C; AOT_REGCACHE_SYNC_OUT(); return; L_0892729C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(460))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(460))); aot_gpr_5 = (61440u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(-1)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(460), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(460), aot_gpr_4); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[21]); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -8280,19 +8281,19 @@ L_0892729C: goto L_089272BC; } L_089272BC: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (0u | 1500u); - ctx.gpr[6] = (0u | 30u); + aot_gpr_6 = (0u | 30u); aot_gpr_31 = (0x089272D0u); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0070_entry, 70u, 14u, 0x0891C0E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089272D0u) goto L_089272D0; AOT_REGCACHE_SYNC_OUT(); return; L_089272D0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(460))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(460))); aot_gpr_5 = (57344u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(-1)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(460), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(460), aot_gpr_4); goto L_089272E4; L_089272E4: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7080))); @@ -8304,27 +8305,27 @@ L_089272E4: goto L_089272F0; } L_089272F0: - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(2116), 0u); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(2116), 0u); goto L_089272F4; L_089272F4: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08927300u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 304u, 0x08911138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08927300u) goto L_08927300; AOT_REGCACHE_SYNC_OUT(); return; L_08927300: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0892730Cu); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 171u, 0x08910A24u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892730Cu) goto L_0892730C; AOT_REGCACHE_SYNC_OUT(); return; L_0892730C: aot_gpr_31 = (0x08927314u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08927314u) goto L_08927314; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08927314u) goto L_08927314; AOT_REGCACHE_SYNC_OUT(); return; L_08927314: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08927340; @@ -8332,7 +8333,7 @@ L_08927314: goto L_0892731C; } L_0892731C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(2276))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(2276))); aot_gpr_5 = (0u | 2u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -8350,24 +8351,24 @@ L_0892732C: goto L_08927334; } L_08927334: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08927340u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08927340u) goto L_08927340; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08927340u) goto L_08927340; AOT_REGCACHE_SYNC_OUT(); return; L_08927340: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(464))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(464))); aot_gpr_5 = (64512u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(-1)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(464), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(464), aot_gpr_4); { std::uint32_t aot_run_words[12]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(312), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(312), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); aot_gpr_16 = aot_run_words[3]; - aot_gpr_17 = aot_run_words[4]; + ctx.gpr[17] = aot_run_words[4]; ctx.gpr[18] = aot_run_words[5]; ctx.gpr[19] = aot_run_words[6]; ctx.gpr[20] = aot_run_words[7]; @@ -8377,21 +8378,21 @@ L_08927340: aot_gpr_31 = aot_run_words[11]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(368)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(368)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0892738C: - aot_gpr_29 = (aot_gpr_29 + static_cast(-112)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(92), ctx.gpr[21]); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-112)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(92), ctx.gpr[21]); ctx.gpr[21] = (aot_gpr_5 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(88), ctx.gpr[20]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(88), ctx.gpr[20]); ctx.gpr[20] = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(1152))); - { const std::uint32_t aot_run_words[5]{std::bit_cast(aot_fpr_20), aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19]}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(68), aot_run_words); } + { const std::uint32_t aot_run_words[5]{std::bit_cast(aot_fpr_20), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19]}; + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(68), aot_run_words); } { const std::uint32_t aot_run_words[4]{ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(96), aot_run_words); } + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(96), aot_run_words); } { const bool branch_taken = ctx.gpr[20] == 0u; // nop if (branch_taken) { @@ -8488,10 +8489,10 @@ L_0892745C: L_0892746C: aot_gpr_31 = (0x08927474u); aot_gpr_4 = (ctx.gpr[21] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08927474u) goto L_08927474; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08927474u) goto L_08927474; AOT_REGCACHE_SYNC_OUT(); return; L_08927474: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; aot_gpr_16 = (0u | 2u); if (branch_taken) { goto L_08927498; @@ -8510,10 +8511,10 @@ L_0892747C: L_08927488: aot_gpr_31 = (0x08927490u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(900))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08927490u) goto L_08927490; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08927490u) goto L_08927490; AOT_REGCACHE_SYNC_OUT(); return; L_08927490: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08927540; @@ -8539,11 +8540,11 @@ L_089274B0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(900))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(92))); aot_gpr_5 = (aot_gpr_5 + static_cast(160)); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); jump_target = aot_gpr_5; aot_gpr_31 = (0x089274CCu); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089274CCu) goto L_089274CC; AOT_REGCACHE_SYNC_OUT(); return; @@ -8683,7 +8684,7 @@ L_089275A4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089275B8u) goto L_089275B8; AOT_REGCACHE_SYNC_OUT(); return; L_089275B8: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -8775,10 +8776,10 @@ L_08927634: L_08927640: aot_gpr_31 = (0x08927648u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(900))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08927648u) goto L_08927648; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08927648u) goto L_08927648; AOT_REGCACHE_SYNC_OUT(); return; L_08927648: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089276A0; @@ -8797,19 +8798,19 @@ L_08927650: L_0892765C: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7800))); aot_gpr_5 = (0u | 1000u); - ctx.gpr[6] = (aot_gpr_4 + aot_gpr_4); + aot_gpr_6 = (aot_gpr_4 + aot_gpr_4); ctx.gpr[7] = (aot_gpr_4 << 8u); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); aot_gpr_4 = (aot_gpr_4 << 5u); - ctx.gpr[6] = (2238u << 16u); + aot_gpr_6 = (2238u << 16u); aot_gpr_4 = (ctx.gpr[7] + aot_gpr_4); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(-6992)); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); + aot_gpr_6 = (aot_gpr_6 + static_cast(-6992)); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(200), aot_gpr_5); - aot_gpr_5 = (ctx.gpr[6] + static_cast(1000)); + aot_gpr_5 = (aot_gpr_6 + static_cast(1000)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(196), aot_gpr_5); - aot_gpr_5 = (ctx.gpr[6] + static_cast(3000)); + aot_gpr_5 = (aot_gpr_6 + static_cast(3000)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(192), aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(204), ctx.gpr[21]); goto L_089276A0; @@ -8855,10 +8856,10 @@ L_089276D8: L_089276E4: aot_gpr_31 = (0x089276ECu); aot_gpr_4 = (ctx.gpr[21] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089276ECu) goto L_089276EC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089276ECu) goto L_089276EC; AOT_REGCACHE_SYNC_OUT(); return; L_089276EC: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_0892770C; @@ -8907,10 +8908,10 @@ L_08927724: L_08927730: aot_gpr_31 = (0x08927738u); aot_gpr_4 = (ctx.gpr[21] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08927738u) goto L_08927738; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08927738u) goto L_08927738; AOT_REGCACHE_SYNC_OUT(); return; L_08927738: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089277E8; @@ -8937,7 +8938,7 @@ L_0892775C: aot_fpr_13 = std::bit_cast(ctx.gpr[7]); aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); aot_gpr_31 = (0x08927778u); - ctx.gpr[6] = (0u | 24u); + aot_gpr_6 = (0u | 24u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 503u, 0x08A05F80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08927778u) goto L_08927778; AOT_REGCACHE_SYNC_OUT(); return; L_08927778: @@ -8969,8 +8970,8 @@ L_08927794: AOT_REGCACHE_SYNC_OUT(); return; L_089277B4: { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_20)}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(16), aot_run_words); } - aot_gpr_4 = (aot_gpr_29 + static_cast(16)); + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(16), aot_run_words); } + aot_gpr_4 = (ctx.gpr[29] + static_cast(16)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -9049,10 +9050,10 @@ L_08927838: L_08927840: aot_gpr_31 = (0x08927848u); aot_gpr_4 = (ctx.gpr[21] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08927848u) goto L_08927848; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08927848u) goto L_08927848; AOT_REGCACHE_SYNC_OUT(); return; L_08927848: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08927864; @@ -9062,12 +9063,12 @@ L_08927848: L_08927850: aot_gpr_31 = (0x08927858u); aot_gpr_4 = (ctx.gpr[21] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08927858u) goto L_08927858; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08927858u) goto L_08927858; AOT_REGCACHE_SYNC_OUT(); return; L_08927858: aot_gpr_4 = (50298u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(36), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(aot_gpr_2 + static_cast(36), std::bit_cast(aot_fpr_12)); goto L_08927864; L_08927864: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(472))); @@ -9090,10 +9091,10 @@ L_08927884: L_0892788C: aot_gpr_31 = (0x08927894u); aot_gpr_4 = (ctx.gpr[21] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08927894u) goto L_08927894; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08927894u) goto L_08927894; AOT_REGCACHE_SYNC_OUT(); return; L_08927894: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08927930; @@ -9151,8 +9152,8 @@ L_089278DC: AOT_REGCACHE_SYNC_OUT(); return; L_089278F4: { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_20)}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(32), aot_run_words); } - aot_gpr_4 = (aot_gpr_29 + static_cast(32)); + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(32), aot_run_words); } + aot_gpr_4 = (ctx.gpr[29] + static_cast(32)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -9218,8 +9219,8 @@ L_08927950: AOT_REGCACHE_SYNC_OUT(); return; L_08927968: { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_20)}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(48), aot_run_words); } - aot_gpr_4 = (aot_gpr_29 + static_cast(48)); + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(48), aot_run_words); } + aot_gpr_4 = (ctx.gpr[29] + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -9264,7 +9265,7 @@ L_089279A4: } L_089279B8: ctx.gpr[18] = (1024u << 16u); - aot_gpr_17 = (2u << 16u); + ctx.gpr[17] = (2u << 16u); goto L_089279C0; L_089279C0: aot_gpr_4 = (ctx.gpr[20] | 0u); @@ -9273,7 +9274,7 @@ L_089279C0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089279CCu) goto L_089279CC; AOT_REGCACHE_SYNC_OUT(); return; L_089279CC: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; aot_gpr_4 = (ctx.gpr[20] | 0u); if (branch_taken) { goto L_08927A64; @@ -9286,7 +9287,7 @@ L_089279D4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089279DCu) goto L_089279DC; AOT_REGCACHE_SYNC_OUT(); return; L_089279DC: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(464))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(464))); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[19]); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_4 = (ctx.gpr[20] | 0u); @@ -9301,7 +9302,7 @@ L_089279EC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089279F4u) goto L_089279F4; AOT_REGCACHE_SYNC_OUT(); return; L_089279F4: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(464))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(464))); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[18]); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -9317,7 +9318,7 @@ L_08927A04: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08927A10u) goto L_08927A10; AOT_REGCACHE_SYNC_OUT(); return; L_08927A10: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(676))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(676))); { const bool branch_taken = aot_gpr_4 != ctx.gpr[21]; // nop if (branch_taken) { @@ -9327,7 +9328,7 @@ L_08927A10: } L_08927A1C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(460))); - aot_gpr_4 = (aot_gpr_4 & aot_gpr_17); + aot_gpr_4 = (aot_gpr_4 & ctx.gpr[17]); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -9336,29 +9337,29 @@ L_08927A1C: goto L_08927A2C; } L_08927A2C: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), aot_gpr_17); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(64), ctx.gpr[17]); aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08927A3Cu); aot_gpr_5 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08927A3Cu) goto L_08927A3C; AOT_REGCACHE_SYNC_OUT(); return; L_08927A3C: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 16u); aot_gpr_31 = (0x08927A4Cu); - ctx.gpr[6] = (ctx.gpr[20] | 0u); + aot_gpr_6 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0178_entry, 178u, 482u, 0x08ACD698u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08927A4Cu) goto L_08927A4C; AOT_REGCACHE_SYNC_OUT(); return; L_08927A4C: - aot_gpr_17 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08927A5Cu); aot_gpr_5 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08927A5Cu) goto L_08927A5C; AOT_REGCACHE_SYNC_OUT(); return; L_08927A5C: - aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(1728), aot_gpr_17); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); + aot_mem.aot_direct_store32(aot_gpr_2 + static_cast(1728), ctx.gpr[17]); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(64))); goto L_08927A64; L_08927A64: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[20] + static_cast(565))); @@ -9469,7 +9470,7 @@ L_08927B34: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 456u, 0x08B01BA4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08927B3Cu) goto L_08927B3C; AOT_REGCACHE_SYNC_OUT(); return; L_08927B3C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08927B50; @@ -9502,7 +9503,7 @@ L_08927B60: aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08927B88u); - ctx.gpr[6] = (0u | 18u); + aot_gpr_6 = (0u | 18u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 503u, 0x08A05F80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08927B88u) goto L_08927B88; AOT_REGCACHE_SYNC_OUT(); return; L_08927B88: @@ -9529,7 +9530,7 @@ L_08927BA0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08927BA8u) goto L_08927BA8; AOT_REGCACHE_SYNC_OUT(); return; L_08927BA8: - { const bool branch_taken = ctx.gpr[21] == ctx.gpr[2]; + { const bool branch_taken = ctx.gpr[21] == aot_gpr_2; // nop if (branch_taken) { goto L_08927BE4; @@ -9642,7 +9643,7 @@ L_08927C5C: aot_gpr_16 = (0u | 0u); ctx.gpr[18] = (0u | 17u); { const bool branch_taken = aot_gpr_5 != ctx.gpr[18]; - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); if (branch_taken) { goto L_08927C8C; } @@ -9667,7 +9668,7 @@ L_08927C7C: goto L_08927C88; } L_08927C88: - aot_gpr_17 = (0u | 1u); + ctx.gpr[17] = (0u | 1u); goto L_08927C8C; L_08927C8C: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(2228))); @@ -9694,7 +9695,7 @@ L_08927CA4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08927CB0u) goto L_08927CB0; AOT_REGCACHE_SYNC_OUT(); return; L_08927CB0: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08927CD0; @@ -9705,7 +9706,7 @@ L_08927CB8: aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_5 = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x08927CC8u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 24u, 0x08B00214u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08927CC8u) goto L_08927CC8; AOT_REGCACHE_SYNC_OUT(); return; L_08927CC8: @@ -9725,7 +9726,7 @@ L_08927CD0: L_08927CDC: aot_gpr_16 = (0u | 1u); { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); if (branch_taken) { goto L_08927DC4; } @@ -9755,7 +9756,7 @@ L_08927D08: aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_5 = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x08927D18u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 24u, 0x08B00214u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08927D18u) goto L_08927D18; AOT_REGCACHE_SYNC_OUT(); return; L_08927D18: @@ -9821,7 +9822,7 @@ L_08927D68: aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_5 = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x08927D78u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 24u, 0x08B00214u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08927D78u) goto L_08927D78; AOT_REGCACHE_SYNC_OUT(); return; L_08927D78: @@ -9844,7 +9845,7 @@ L_08927D88: aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_5 = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x08927D98u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 24u, 0x08B00214u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08927D98u) goto L_08927D98; AOT_REGCACHE_SYNC_OUT(); return; L_08927D98: @@ -9859,7 +9860,7 @@ L_08927DA0: aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_5 = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x08927DB0u); - ctx.gpr[6] = (0u | 2u); + aot_gpr_6 = (0u | 2u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 24u, 0x08B00214u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08927DB0u) goto L_08927DB0; AOT_REGCACHE_SYNC_OUT(); return; L_08927DB0: @@ -9891,10 +9892,10 @@ L_08927DD0: L_08927DDC: aot_gpr_31 = (0x08927DE4u); aot_gpr_4 = (ctx.gpr[21] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08927DE4u) goto L_08927DE4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08927DE4u) goto L_08927DE4; AOT_REGCACHE_SYNC_OUT(); return; L_08927DE4: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08927E04; @@ -9976,11 +9977,11 @@ L_08927E58: aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_5 = (0u | 16u); aot_gpr_31 = (0x08927E68u); - ctx.gpr[6] = (ctx.gpr[20] | 0u); + aot_gpr_6 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0178_entry, 178u, 482u, 0x08ACD698u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08927E68u) goto L_08927E68; AOT_REGCACHE_SYNC_OUT(); return; L_08927E68: - { const bool branch_taken = aot_gpr_17 == 0u; + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_08927E78; @@ -9992,14 +9993,14 @@ L_08927E70: aot_mem.aot_direct_store8(ctx.gpr[20] + static_cast(535), static_cast(aot_gpr_4)); goto L_08927E78; L_08927E78: - ctx.gpr[6] = (aot_mem.aot_direct_load16(ctx.gpr[21] + static_cast(2274))); - aot_gpr_4 = (aot_gpr_29 | 0u); + aot_gpr_6 = (aot_mem.aot_direct_load16(ctx.gpr[21] + static_cast(2274))); + aot_gpr_4 = (ctx.gpr[29] | 0u); aot_gpr_31 = (0x08927E88u); aot_gpr_5 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 78u, 0x089A8ACCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08927E88u) goto L_08927E88; AOT_REGCACHE_SYNC_OUT(); return; L_08927E88: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(8))); aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[20] + static_cast(563))); aot_gpr_4 = (~(aot_gpr_4 | 0u)); aot_gpr_4 = (aot_gpr_5 & aot_gpr_4); @@ -10026,7 +10027,7 @@ L_08927EB8: aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_5 = (0u | 1000u); aot_gpr_31 = (0x08927EC8u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 623u, 0x08832ADCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08927EC8u) goto L_08927EC8; AOT_REGCACHE_SYNC_OUT(); return; L_08927EC8: @@ -10069,8 +10070,8 @@ L_08927F08: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(900))); aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_5 = (aot_gpr_5 ^ ctx.gpr[21]); - ctx.gpr[6] = (aot_gpr_5 < static_cast(1) ? 1u : 0u); - ctx.gpr[6] = (ctx.gpr[6] & 255u); + aot_gpr_6 = (aot_gpr_5 < static_cast(1) ? 1u : 0u); + aot_gpr_6 = (aot_gpr_6 & 255u); aot_gpr_31 = (0x08927F24u); aot_gpr_5 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 307u, 0x089B56FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08927F24u) goto L_08927F24; @@ -10078,10 +10079,10 @@ L_08927F08: L_08927F24: aot_gpr_31 = (0x08927F2Cu); aot_gpr_4 = (ctx.gpr[21] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08927F2Cu) goto L_08927F2C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08927F2Cu) goto L_08927F2C; AOT_REGCACHE_SYNC_OUT(); return; L_08927F2C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08927F48; @@ -10122,10 +10123,10 @@ L_08927F58: L_08927F6C: aot_gpr_31 = (0x08927F74u); aot_gpr_4 = (ctx.gpr[21] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08927F74u) goto L_08927F74; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08927F74u) goto L_08927F74; AOT_REGCACHE_SYNC_OUT(); return; L_08927F74: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08927FE0; @@ -10138,7 +10139,7 @@ L_08927F7C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0207_entry, 207u, 505u, 0x08B4223Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08927F84u) goto L_08927F84; AOT_REGCACHE_SYNC_OUT(); return; L_08927F84: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08927FE0; @@ -10181,7 +10182,7 @@ L_08927FB0: L_08927FBC: aot_gpr_4 = (0u | 8u); aot_gpr_5 = (0u | 2u); - ctx.gpr[6] = (ctx.gpr[20] | 0u); + aot_gpr_6 = (ctx.gpr[20] | 0u); ctx.gpr[7] = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x08927FD4u); ctx.gpr[8] = (0u | 1500u); @@ -10200,10 +10201,10 @@ L_08927FE0: goto L_08927FF0; L_08927FF0: { std::uint32_t aot_run_words[4]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(68), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(68), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); aot_gpr_16 = aot_run_words[1]; - aot_gpr_17 = aot_run_words[2]; + ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; } ctx.pc = 0x08928000u; AOT_REGCACHE_SYNC_OUT(); return; diff --git a/profiles/vcs/generated/generated_unit_0073.cpp b/profiles/vcs/generated/generated_unit_0073.cpp index 3bc6939..9f821ab 100644 --- a/profiles/vcs/generated/generated_unit_0073.cpp +++ b/profiles/vcs/generated/generated_unit_0073.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0073[4092] = { }; void recomp_unit_0073_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,16,31,29,6 fprs=12,13,20,14 gpr_occ=3891 fpr_occ=754 gpr_total=4936 fpr_total=839 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,31,16,6,29 fprs=12,13,20,14 gpr_occ=4058 fpr_occ=755 gpr_total=5206 fpr_total=840 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; - std::uint32_t aot_gpr_16 = ctx.gpr[16]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; - std::uint32_t aot_gpr_29 = ctx.gpr[29]; + std::uint32_t aot_gpr_16 = ctx.gpr[16]; std::uint32_t aot_gpr_6 = ctx.gpr[6]; + std::uint32_t aot_gpr_29 = ctx.gpr[29]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_20 = ctx.fpr[20]; float aot_fpr_14 = ctx.fpr[14]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[16] = aot_gpr_16; ctx.gpr[31] = aot_gpr_31; ctx.gpr[29] = aot_gpr_29; ctx.gpr[6] = aot_gpr_6; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; ctx.fpr[14] = aot_fpr_14; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_6 = ctx.gpr[6]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_14 = ctx.fpr[14]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[31] = aot_gpr_31; ctx.gpr[16] = aot_gpr_16; ctx.gpr[6] = aot_gpr_6; ctx.gpr[29] = aot_gpr_29; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; ctx.fpr[14] = aot_fpr_14; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_29 = ctx.gpr[29]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_14 = ctx.fpr[14]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -1173,7 +1174,7 @@ L_08928024: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_31); aot_gpr_31 = (0x0892804Cu); aot_gpr_5 = (0u | 64u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892804Cu) goto L_0892804C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0886D4BC, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892804Cu) goto L_0892804C; AOT_REGCACHE_SYNC_OUT(); return; L_0892804C: ctx.gpr[18] = (ctx.gpr[2] | 0u); @@ -1323,7 +1324,7 @@ L_08928144: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08928150u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08928150u) goto L_08928150; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08908E78, 65u, 261u, 0x08908E78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08928150u) goto L_08928150; AOT_REGCACHE_SYNC_OUT(); return; L_08928150: { const bool branch_taken = aot_gpr_16 == 0u; @@ -1347,7 +1348,7 @@ L_0892816C: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08928178u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08928178u) goto L_08928178; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08928178u) goto L_08928178; AOT_REGCACHE_SYNC_OUT(); return; L_08928178: aot_gpr_4 = (ctx.gpr[17] | 0u); @@ -1469,7 +1470,7 @@ L_0892823C: L_08928248: aot_gpr_31 = (0x08928250u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08928250u) goto L_08928250; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08928250u) goto L_08928250; AOT_REGCACHE_SYNC_OUT(); return; L_08928250: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -1861,7 +1862,7 @@ L_08928594: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(2116))); aot_gpr_31 = (0x089285A0u); aot_gpr_5 = (ctx.gpr[17] + static_cast(2116)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089285A0u) goto L_089285A0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089285A0u) goto L_089285A0; AOT_REGCACHE_SYNC_OUT(); return; L_089285A0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(464))); @@ -2204,7 +2205,7 @@ L_089287B8: aot_fpr_20 = aot_fpr_14 / aot_fpr_12; aot_gpr_31 = (0x089287E8u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089287E8u) goto L_089287E8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089287E8u) goto L_089287E8; AOT_REGCACHE_SYNC_OUT(); return; L_089287E8: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -2218,7 +2219,7 @@ L_089287F4: aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08928808u); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08928808u) goto L_08928808; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_16, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08928808u) goto L_08928808; AOT_REGCACHE_SYNC_OUT(); return; L_08928808: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-19988))); @@ -2226,14 +2227,14 @@ L_08928808: aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x0892881Cu); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892881Cu) goto L_0892881C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61EF4, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892881Cu) goto L_0892881C; AOT_REGCACHE_SYNC_OUT(); return; L_0892881C: ctx.gpr[23] = (ctx.gpr[3] | 0u); ctx.gpr[22] = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x0892882Cu); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892882Cu) goto L_0892882C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892882Cu) goto L_0892882C; AOT_REGCACHE_SYNC_OUT(); return; L_0892882C: aot_gpr_5 = (ctx.gpr[23] | 0u); @@ -2241,13 +2242,13 @@ L_0892882C: ctx.gpr[7] = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08928840u); aot_gpr_6 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08928840u) goto L_08928840; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_16, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08928840u) goto L_08928840; AOT_REGCACHE_SYNC_OUT(); return; L_08928840: aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x0892884Cu); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892884Cu) goto L_0892884C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B627F0, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892884Cu) goto L_0892884C; AOT_REGCACHE_SYNC_OUT(); return; L_0892884C: aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[0])); @@ -3909,7 +3910,7 @@ L_08929328: L_0892933C: aot_gpr_31 = (0x08929344u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08929344u) goto L_08929344; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08929344u) goto L_08929344; AOT_REGCACHE_SYNC_OUT(); return; L_08929344: aot_gpr_4 = (ctx.gpr[22] + static_cast(48)); @@ -4946,7 +4947,7 @@ L_08929A74: aot_gpr_4 = (aot_gpr_4 >> 22u); aot_gpr_31 = (0x08929A90u); aot_gpr_16 = (aot_gpr_4 & 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08929A90u) goto L_08929A90; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08929A90u) goto L_08929A90; AOT_REGCACHE_SYNC_OUT(); return; L_08929A90: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -5044,7 +5045,7 @@ L_08929B2C: aot_gpr_4 = (16256u << 16u); aot_gpr_31 = (0x08929B4Cu); ctx.fpr[22] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08929B4Cu) goto L_08929B4C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08929B4Cu) goto L_08929B4C; AOT_REGCACHE_SYNC_OUT(); return; L_08929B4C: aot_gpr_6 = (aot_gpr_16 + static_cast(-8000)); @@ -5052,7 +5053,7 @@ L_08929B4C: aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08929B60u); ctx.gpr[7] = (static_cast(static_cast(aot_gpr_6) >> 31u)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08929B60u) goto L_08929B60; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08929B60u) goto L_08929B60; AOT_REGCACHE_SYNC_OUT(); return; L_08929B60: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-19980))); @@ -5672,7 +5673,7 @@ L_08929FA8: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08929FB4u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08929FB4u) goto L_08929FB4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08929FB4u) goto L_08929FB4; AOT_REGCACHE_SYNC_OUT(); return; L_08929FB4: { const bool branch_taken = 0u == 0u; @@ -5696,7 +5697,7 @@ L_08929FBC: L_08929FD0: aot_gpr_31 = (0x08929FD8u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08929FD8u) goto L_08929FD8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08929FD8u) goto L_08929FD8; AOT_REGCACHE_SYNC_OUT(); return; L_08929FD8: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -5868,7 +5869,7 @@ L_0892A0EC: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0892A0F8u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892A0F8u) goto L_0892A0F8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892A0F8u) goto L_0892A0F8; AOT_REGCACHE_SYNC_OUT(); return; L_0892A0F8: { const bool branch_taken = 0u == 0u; @@ -6071,7 +6072,7 @@ L_0892A264: aot_gpr_6 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0892A278u); aot_gpr_5 = (aot_gpr_5 + static_cast(-13204)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892A278u) goto L_0892A278; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892A278u) goto L_0892A278; AOT_REGCACHE_SYNC_OUT(); return; L_0892A278: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); @@ -6291,7 +6292,7 @@ L_0892A3EC: L_0892A3F8: aot_gpr_31 = (0x0892A400u); ctx.gpr[18] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892A400u) goto L_0892A400; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892A400u) goto L_0892A400; AOT_REGCACHE_SYNC_OUT(); return; L_0892A400: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -6330,7 +6331,7 @@ L_0892A440: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0892A44Cu); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892A44Cu) goto L_0892A44C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892A44Cu) goto L_0892A44C; AOT_REGCACHE_SYNC_OUT(); return; L_0892A44C: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -6436,12 +6437,12 @@ L_0892A4C8: aot_gpr_6 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0892A4D8u); aot_gpr_5 = (aot_gpr_5 + static_cast(-13204)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892A4D8u) goto L_0892A4D8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892A4D8u) goto L_0892A4D8; AOT_REGCACHE_SYNC_OUT(); return; L_0892A4D8: aot_gpr_31 = (0x0892A4E0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892A4E0u) goto L_0892A4E0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892A4E0u) goto L_0892A4E0; AOT_REGCACHE_SYNC_OUT(); return; L_0892A4E0: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-19964))); @@ -6449,7 +6450,7 @@ L_0892A4E0: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x0892A4F4u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892A4F4u) goto L_0892A4F4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892A4F4u) goto L_0892A4F4; AOT_REGCACHE_SYNC_OUT(); return; L_0892A4F4: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-19956))); @@ -6713,13 +6714,13 @@ L_0892A6C0: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(456), aot_gpr_4); aot_gpr_31 = (0x0892A6D8u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892A6D8u) goto L_0892A6D8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890FF64, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892A6D8u) goto L_0892A6D8; AOT_REGCACHE_SYNC_OUT(); return; L_0892A6D8: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0892A6E4u); aot_gpr_5 = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892A6E4u) goto L_0892A6E4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892A6E4u) goto L_0892A6E4; AOT_REGCACHE_SYNC_OUT(); return; L_0892A6E4: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -6798,7 +6799,7 @@ L_0892A764: L_0892A770: aot_gpr_31 = (0x0892A778u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892A778u) goto L_0892A778; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892A778u) goto L_0892A778; AOT_REGCACHE_SYNC_OUT(); return; L_0892A778: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-20236))); @@ -6806,7 +6807,7 @@ L_0892A778: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x0892A78Cu); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892A78Cu) goto L_0892A78C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892A78Cu) goto L_0892A78C; AOT_REGCACHE_SYNC_OUT(); return; L_0892A78C: ctx.gpr[1] = (ctx.gpr[3] << 1u); @@ -6873,7 +6874,7 @@ L_0892A7FC: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(456), aot_gpr_4); aot_gpr_31 = (0x0892A814u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892A814u) goto L_0892A814; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890FF64, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892A814u) goto L_0892A814; AOT_REGCACHE_SYNC_OUT(); return; L_0892A814: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2244))); @@ -6888,7 +6889,7 @@ L_0892A820: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0892A82Cu); aot_gpr_5 = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892A82Cu) goto L_0892A82C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892A82Cu) goto L_0892A82C; AOT_REGCACHE_SYNC_OUT(); return; L_0892A82C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1360))); @@ -6909,7 +6910,7 @@ L_0892A844: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0892A850u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892A850u) goto L_0892A850; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892A850u) goto L_0892A850; AOT_REGCACHE_SYNC_OUT(); return; L_0892A850: { const bool branch_taken = 0u == 0u; @@ -6928,7 +6929,7 @@ L_0892A858: L_0892A864: aot_gpr_31 = (0x0892A86Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892A86Cu) goto L_0892A86C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892A86Cu) goto L_0892A86C; AOT_REGCACHE_SYNC_OUT(); return; L_0892A86C: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-20236))); @@ -6936,7 +6937,7 @@ L_0892A86C: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x0892A880u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892A880u) goto L_0892A880; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892A880u) goto L_0892A880; AOT_REGCACHE_SYNC_OUT(); return; L_0892A880: ctx.gpr[1] = (ctx.gpr[3] << 1u); @@ -7206,7 +7207,7 @@ L_0892AA28: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1716))); aot_gpr_31 = (0x0892AA34u); aot_gpr_5 = (aot_gpr_16 + static_cast(1716)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892AA34u) goto L_0892AA34; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A93004, 163u, 430u, 0x08A93004u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892AA34u) goto L_0892AA34; AOT_REGCACHE_SYNC_OUT(); return; L_0892AA34: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2192))); @@ -7221,7 +7222,7 @@ L_0892AA40: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1716))); aot_gpr_31 = (0x0892AA4Cu); aot_gpr_5 = (aot_gpr_16 + static_cast(1716)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892AA4Cu) goto L_0892AA4C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892AA4Cu) goto L_0892AA4C; AOT_REGCACHE_SYNC_OUT(); return; L_0892AA4C: aot_gpr_31 = (0x0892AA54u); @@ -7438,12 +7439,12 @@ L_0892ABD0: L_0892ABE8: aot_gpr_31 = (0x0892ABF0u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892ABF0u) goto L_0892ABF0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890FF64, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892ABF0u) goto L_0892ABF0; AOT_REGCACHE_SYNC_OUT(); return; L_0892ABF0: aot_gpr_31 = (0x0892ABF8u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892ABF8u) goto L_0892ABF8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089101A4, 67u, 27u, 0x089101A4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892ABF8u) goto L_0892ABF8; AOT_REGCACHE_SYNC_OUT(); return; L_0892ABF8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(464))); @@ -7505,12 +7506,12 @@ L_0892AC54: L_0892AC5C: aot_gpr_31 = (0x0892AC64u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892AC64u) goto L_0892AC64; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890FF64, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892AC64u) goto L_0892AC64; AOT_REGCACHE_SYNC_OUT(); return; L_0892AC64: aot_gpr_31 = (0x0892AC6Cu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892AC6Cu) goto L_0892AC6C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089101A4, 67u, 27u, 0x089101A4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892AC6Cu) goto L_0892AC6C; AOT_REGCACHE_SYNC_OUT(); return; L_0892AC6C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(464))); @@ -7697,7 +7698,7 @@ L_0892ADA8: L_0892ADB8: aot_gpr_31 = (0x0892ADC0u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892ADC0u) goto L_0892ADC0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890FF64, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892ADC0u) goto L_0892ADC0; AOT_REGCACHE_SYNC_OUT(); return; L_0892ADC0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(464))); @@ -7737,7 +7738,7 @@ L_0892ADE8: L_0892AE08: aot_gpr_31 = (0x0892AE10u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892AE10u) goto L_0892AE10; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890FF64, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892AE10u) goto L_0892AE10; AOT_REGCACHE_SYNC_OUT(); return; L_0892AE10: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(464))); @@ -7774,7 +7775,7 @@ L_0892AE48: aot_fpr_20 = std::bit_cast(0u); aot_gpr_31 = (0x0892AE54u); ctx.fpr[22] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892AE54u) goto L_0892AE54; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892AE54u) goto L_0892AE54; AOT_REGCACHE_SYNC_OUT(); return; L_0892AE54: aot_fpr_12 = ctx.fpr[22] - aot_fpr_20; @@ -7795,7 +7796,7 @@ L_0892AE54: L_0892AE7C: aot_gpr_31 = (0x0892AE84u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892AE84u) goto L_0892AE84; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890FF64, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892AE84u) goto L_0892AE84; AOT_REGCACHE_SYNC_OUT(); return; L_0892AE84: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(464))); @@ -7852,12 +7853,12 @@ L_0892AECC: L_0892AED4: aot_gpr_31 = (0x0892AEDCu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892AEDCu) goto L_0892AEDC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890FF64, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892AEDCu) goto L_0892AEDC; AOT_REGCACHE_SYNC_OUT(); return; L_0892AEDC: aot_gpr_31 = (0x0892AEE4u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892AEE4u) goto L_0892AEE4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089101A4, 67u, 27u, 0x089101A4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892AEE4u) goto L_0892AEE4; AOT_REGCACHE_SYNC_OUT(); return; L_0892AEE4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(464))); @@ -8113,7 +8114,7 @@ L_0892AFD4: L_0892B040: aot_gpr_31 = (0x0892B048u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892B048u) goto L_0892B048; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890FF64, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892B048u) goto L_0892B048; AOT_REGCACHE_SYNC_OUT(); return; L_0892B048: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(464))); @@ -9950,7 +9951,7 @@ L_0892BC20: L_0892BC28: aot_gpr_31 = (0x0892BC30u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892BC30u) goto L_0892BC30; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892BC30u) goto L_0892BC30; AOT_REGCACHE_SYNC_OUT(); return; L_0892BC30: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -9983,7 +9984,7 @@ L_0892BC4C: L_0892BC58: aot_gpr_31 = (0x0892BC60u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(900))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892BC60u) goto L_0892BC60; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892BC60u) goto L_0892BC60; AOT_REGCACHE_SYNC_OUT(); return; L_0892BC60: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -10408,7 +10409,7 @@ L_0892BF70: L_0892BF80: aot_gpr_31 = (0x0892BF88u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892BF88u) goto L_0892BF88; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892BF88u) goto L_0892BF88; AOT_REGCACHE_SYNC_OUT(); return; L_0892BF88: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -10441,7 +10442,7 @@ L_0892BFA4: L_0892BFB0: aot_gpr_31 = (0x0892BFB8u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892BFB8u) goto L_0892BFB8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892BFB8u) goto L_0892BFB8; AOT_REGCACHE_SYNC_OUT(); return; L_0892BFB8: { const bool branch_taken = ctx.gpr[2] == 0u; diff --git a/profiles/vcs/generated/generated_unit_0074.cpp b/profiles/vcs/generated/generated_unit_0074.cpp index ad25430..67a1450 100644 --- a/profiles/vcs/generated/generated_unit_0074.cpp +++ b/profiles/vcs/generated/generated_unit_0074.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0074[4096] = { }; void recomp_unit_0074_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,16,6,31 fprs=12,13,14,22 gpr_occ=3594 fpr_occ=1101 gpr_total=4356 fpr_total=1384 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,31,6,16 fprs=12,13,14,22 gpr_occ=3703 fpr_occ=1101 gpr_total=4515 fpr_total=1384 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; - std::uint32_t aot_gpr_16 = ctx.gpr[16]; - std::uint32_t aot_gpr_6 = ctx.gpr[6]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; + std::uint32_t aot_gpr_6 = ctx.gpr[6]; + std::uint32_t aot_gpr_16 = ctx.gpr[16]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_14 = ctx.fpr[14]; float aot_fpr_22 = ctx.fpr[22]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[16] = aot_gpr_16; ctx.gpr[6] = aot_gpr_6; ctx.gpr[31] = aot_gpr_31; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[22] = aot_fpr_22; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_31 = ctx.gpr[31]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_22 = ctx.fpr[22]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[31] = aot_gpr_31; ctx.gpr[6] = aot_gpr_6; ctx.gpr[16] = aot_gpr_16; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[22] = aot_fpr_22; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_16 = ctx.gpr[16]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_22 = ctx.fpr[22]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -1386,7 +1387,7 @@ L_0892C37C: aot_gpr_6 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x0892C3A0u); aot_gpr_5 = (aot_gpr_5 + static_cast(-6248)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892C3A0u) goto L_0892C3A0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892C3A0u) goto L_0892C3A0; AOT_REGCACHE_SYNC_OUT(); return; L_0892C3A0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(456))); @@ -1448,7 +1449,7 @@ L_0892C400: L_0892C408: aot_gpr_31 = (0x0892C410u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892C410u) goto L_0892C410; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892C410u) goto L_0892C410; AOT_REGCACHE_SYNC_OUT(); return; L_0892C410: { const bool branch_taken = ctx.gpr[2] != 0u; @@ -1470,7 +1471,7 @@ L_0892C418: L_0892C424: aot_gpr_31 = (0x0892C42Cu); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(2192))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892C42Cu) goto L_0892C42C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892C42Cu) goto L_0892C42C; AOT_REGCACHE_SYNC_OUT(); return; L_0892C42C: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -1783,13 +1784,13 @@ L_0892C6D4: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); aot_gpr_31 = (0x0892C6E8u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 251u, 0x08969194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892C6E8u) goto L_0892C6E8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08969194, 89u, 251u, 0x08969194u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 251u, 0x08969194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892C6E8u) goto L_0892C6E8; AOT_REGCACHE_SYNC_OUT(); return; L_0892C6E8: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x0892C6F4u); ctx.gpr[19] = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892C6F4u) goto L_0892C6F4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0896918C, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892C6F4u) goto L_0892C6F4; AOT_REGCACHE_SYNC_OUT(); return; L_0892C6F4: aot_gpr_4 = (ctx.gpr[19] << 6u); @@ -1916,13 +1917,13 @@ L_0892C7F4: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); aot_gpr_31 = (0x0892C808u); aot_gpr_4 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 251u, 0x08969194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892C808u) goto L_0892C808; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08969194, 89u, 251u, 0x08969194u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 251u, 0x08969194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892C808u) goto L_0892C808; AOT_REGCACHE_SYNC_OUT(); return; L_0892C808: aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x0892C814u); ctx.gpr[20] = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892C814u) goto L_0892C814; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0896918C, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892C814u) goto L_0892C814; AOT_REGCACHE_SYNC_OUT(); return; L_0892C814: ctx.gpr[7] = (ctx.gpr[20] << 6u); @@ -2101,7 +2102,7 @@ L_0892C984: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(2120))); aot_gpr_31 = (0x0892C990u); aot_gpr_5 = (ctx.gpr[17] + static_cast(2120)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892C990u) goto L_0892C990; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892C990u) goto L_0892C990; AOT_REGCACHE_SYNC_OUT(); return; L_0892C990: { const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); @@ -2122,7 +2123,7 @@ L_0892C990: aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(1888), std::bit_cast(ctx.fpr[20])); aot_gpr_31 = (0x0892C9ACu); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892C9ACu) goto L_0892C9AC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892C9ACu) goto L_0892C9AC; AOT_REGCACHE_SYNC_OUT(); return; L_0892C9AC: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -2162,7 +2163,7 @@ L_0892C9E4: L_0892C9E8: aot_gpr_31 = (0x0892C9F0u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892C9F0u) goto L_0892C9F0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892C9F0u) goto L_0892C9F0; AOT_REGCACHE_SYNC_OUT(); return; L_0892C9F0: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -2248,7 +2249,7 @@ L_0892CA9C: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0892CAC0u); aot_mem.aot_direct_store16(ctx.gpr[17] + static_cast(1922), static_cast(aot_gpr_5)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892CAC0u) goto L_0892CAC0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892CAC0u) goto L_0892CAC0; AOT_REGCACHE_SYNC_OUT(); return; L_0892CAC0: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -2334,7 +2335,7 @@ L_0892CB50: L_0892CB60: aot_gpr_31 = (0x0892CB68u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892CB68u) goto L_0892CB68; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892CB68u) goto L_0892CB68; AOT_REGCACHE_SYNC_OUT(); return; L_0892CB68: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -2377,7 +2378,7 @@ L_0892CB94: aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); aot_gpr_31 = (0x0892CBB4u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892CBB4u) goto L_0892CBB4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892CBB4u) goto L_0892CBB4; AOT_REGCACHE_SYNC_OUT(); return; L_0892CBB4: ctx.gpr[18] = (ctx.gpr[2] | 0u); @@ -3090,7 +3091,7 @@ L_0892D064: L_0892D06C: aot_gpr_31 = (0x0892D074u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892D074u) goto L_0892D074; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892D074u) goto L_0892D074; AOT_REGCACHE_SYNC_OUT(); return; L_0892D074: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -3795,7 +3796,7 @@ L_0892D584: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(456), aot_gpr_4); aot_gpr_31 = (0x0892D59Cu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892D59Cu) goto L_0892D59C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890FF64, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892D59Cu) goto L_0892D59C; AOT_REGCACHE_SYNC_OUT(); return; L_0892D59C: { const bool branch_taken = ctx.gpr[18] != 0u; @@ -3809,7 +3810,7 @@ L_0892D5A4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0892D5B0u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892D5B0u) goto L_0892D5B0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892D5B0u) goto L_0892D5B0; AOT_REGCACHE_SYNC_OUT(); return; L_0892D5B0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(200))); @@ -4414,7 +4415,7 @@ L_0892D994: L_0892D998: aot_gpr_31 = (0x0892D9A0u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892D9A0u) goto L_0892D9A0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892D9A0u) goto L_0892D9A0; AOT_REGCACHE_SYNC_OUT(); return; L_0892D9A0: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -4599,7 +4600,7 @@ L_0892DAA8: ctx.gpr[18] = (0u | 1u); aot_gpr_31 = (0x0892DAB4u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892DAB4u) goto L_0892DAB4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892DAB4u) goto L_0892DAB4; AOT_REGCACHE_SYNC_OUT(); return; L_0892DAB4: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -6904,12 +6905,12 @@ L_0892E83C: aot_gpr_5 = (aot_gpr_16 + static_cast(1376)); aot_gpr_31 = (0x0892E84Cu); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892E84Cu) goto L_0892E84C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892E84Cu) goto L_0892E84C; AOT_REGCACHE_SYNC_OUT(); return; L_0892E84C: aot_gpr_31 = (0x0892E854u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892E854u) goto L_0892E854; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892E854u) goto L_0892E854; AOT_REGCACHE_SYNC_OUT(); return; L_0892E854: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -8285,7 +8286,7 @@ L_0892F20C: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2240), aot_gpr_5); aot_gpr_31 = (0x0892F224u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892F224u) goto L_0892F224; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892F224u) goto L_0892F224; AOT_REGCACHE_SYNC_OUT(); return; L_0892F224: { const bool branch_taken = 0u == 0u; @@ -8337,7 +8338,7 @@ L_0892F278: L_0892F280: aot_gpr_31 = (0x0892F288u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892F288u) goto L_0892F288; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892F288u) goto L_0892F288; AOT_REGCACHE_SYNC_OUT(); return; L_0892F288: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-20308))); @@ -8345,7 +8346,7 @@ L_0892F288: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x0892F29Cu); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892F29Cu) goto L_0892F29C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892F29Cu) goto L_0892F29C; AOT_REGCACHE_SYNC_OUT(); return; L_0892F29C: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-20268))); @@ -8542,7 +8543,7 @@ L_0892F42C: aot_gpr_6 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0892F444u); aot_gpr_5 = (aot_gpr_5 + static_cast(-13204)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892F444u) goto L_0892F444; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892F444u) goto L_0892F444; AOT_REGCACHE_SYNC_OUT(); return; L_0892F444: { const bool branch_taken = 0u == 0u; @@ -8574,7 +8575,7 @@ L_0892F47C: aot_gpr_6 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0892F494u); aot_gpr_5 = (aot_gpr_5 + static_cast(-13204)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892F494u) goto L_0892F494; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892F494u) goto L_0892F494; AOT_REGCACHE_SYNC_OUT(); return; L_0892F494: { const bool branch_taken = 0u == 0u; @@ -8589,7 +8590,7 @@ L_0892F49C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0892F4ACu); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892F4ACu) goto L_0892F4AC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892F4ACu) goto L_0892F4AC; AOT_REGCACHE_SYNC_OUT(); return; L_0892F4AC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); @@ -8681,7 +8682,7 @@ L_0892F54C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0892F558u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892F558u) goto L_0892F558; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892F558u) goto L_0892F558; AOT_REGCACHE_SYNC_OUT(); return; L_0892F558: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); @@ -8953,7 +8954,7 @@ L_0892F778: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0892F784u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892F784u) goto L_0892F784; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892F784u) goto L_0892F784; AOT_REGCACHE_SYNC_OUT(); return; L_0892F784: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); @@ -9007,7 +9008,7 @@ L_0892F7F4: aot_gpr_6 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0892F80Cu); aot_gpr_5 = (aot_gpr_5 + static_cast(-13204)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892F80Cu) goto L_0892F80C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892F80Cu) goto L_0892F80C; AOT_REGCACHE_SYNC_OUT(); return; L_0892F80C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); @@ -9038,7 +9039,7 @@ L_0892F840: aot_gpr_6 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0892F858u); aot_gpr_5 = (aot_gpr_5 + static_cast(-13204)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892F858u) goto L_0892F858; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892F858u) goto L_0892F858; AOT_REGCACHE_SYNC_OUT(); return; L_0892F858: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); @@ -9089,7 +9090,7 @@ L_0892F8A8: aot_gpr_4 = (aot_gpr_4 | 24576u); aot_gpr_31 = (0x0892F8C4u); aot_fpr_22 = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892F8C4u) goto L_0892F8C4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892F8C4u) goto L_0892F8C4; AOT_REGCACHE_SYNC_OUT(); return; L_0892F8C4: aot_fpr_12 = aot_fpr_22 - ctx.fpr[20]; @@ -9163,7 +9164,7 @@ L_0892F94C: aot_gpr_6 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0892F964u); aot_gpr_5 = (aot_gpr_5 + static_cast(-13204)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892F964u) goto L_0892F964; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892F964u) goto L_0892F964; AOT_REGCACHE_SYNC_OUT(); return; L_0892F964: { const bool branch_taken = ctx.gpr[18] == 0u; @@ -9226,7 +9227,7 @@ L_0892F9D0: aot_gpr_4 = (aot_gpr_4 | 20480u); aot_gpr_31 = (0x0892F9ECu); aot_fpr_22 = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892F9ECu) goto L_0892F9EC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892F9ECu) goto L_0892F9EC; AOT_REGCACHE_SYNC_OUT(); return; L_0892F9EC: aot_fpr_12 = aot_fpr_22 - ctx.fpr[20]; @@ -9335,7 +9336,7 @@ L_0892FAAC: aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); aot_gpr_31 = (0x0892FACCu); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892FACCu) goto L_0892FACC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0892FACCu) goto L_0892FACC; AOT_REGCACHE_SYNC_OUT(); return; L_0892FACC: ctx.gpr[18] = (ctx.gpr[2] | 0u); diff --git a/profiles/vcs/generated/generated_unit_0075.cpp b/profiles/vcs/generated/generated_unit_0075.cpp index 9332d6c..22eb1c0 100644 --- a/profiles/vcs/generated/generated_unit_0075.cpp +++ b/profiles/vcs/generated/generated_unit_0075.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0075[4096] = { }; void recomp_unit_0075_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,29,5,16,31,6 fprs=12,13,14,20 gpr_occ=3890 fpr_occ=875 gpr_total=5035 fpr_total=1133 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,31,6,16 fprs=12,13,14,20 gpr_occ=4266 fpr_occ=885 gpr_total=5578 fpr_total=1143 std::uint32_t aot_gpr_4 = ctx.gpr[4]; - std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; - std::uint32_t aot_gpr_16 = ctx.gpr[16]; + std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; std::uint32_t aot_gpr_6 = ctx.gpr[6]; + std::uint32_t aot_gpr_16 = ctx.gpr[16]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_14 = ctx.fpr[14]; float aot_fpr_20 = ctx.fpr[20]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[29] = aot_gpr_29; ctx.gpr[5] = aot_gpr_5; ctx.gpr[16] = aot_gpr_16; ctx.gpr[31] = aot_gpr_31; ctx.gpr[6] = aot_gpr_6; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[20] = aot_fpr_20; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_6 = ctx.gpr[6]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_20 = ctx.fpr[20]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[31] = aot_gpr_31; ctx.gpr[6] = aot_gpr_6; ctx.gpr[16] = aot_gpr_16; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[20] = aot_fpr_20; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_16 = ctx.gpr[16]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_20 = ctx.fpr[20]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -2159,7 +2160,7 @@ L_0893075C: aot_gpr_5 = (aot_gpr_5 & ctx.gpr[20]); aot_gpr_31 = (0x08930770u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(860), aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 454u, 0x08909B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08930770u) goto L_08930770; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08909B60, 65u, 454u, 0x08909B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 454u, 0x08909B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08930770u) goto L_08930770; AOT_REGCACHE_SYNC_OUT(); return; L_08930770: aot_gpr_31 = (0x08930778u); @@ -2190,7 +2191,7 @@ L_08930798: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x089307BCu); aot_gpr_6 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089307BCu) goto L_089307BC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089307BCu) goto L_089307BC; AOT_REGCACHE_SYNC_OUT(); return; L_089307BC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(456))); @@ -2480,7 +2481,7 @@ L_089309DC: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(460), aot_gpr_4); aot_gpr_31 = (0x08930A34u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08930A34u) goto L_08930A34; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08930A34u) goto L_08930A34; AOT_REGCACHE_SYNC_OUT(); return; L_08930A34: { const bool branch_taken = ctx.gpr[2] != 0u; @@ -3079,7 +3080,7 @@ L_08930F00: aot_gpr_5 = (aot_gpr_16 + static_cast(1300)); aot_gpr_31 = (0x08930F0Cu); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08930F0Cu) goto L_08930F0C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08930F0Cu) goto L_08930F0C; AOT_REGCACHE_SYNC_OUT(); return; L_08930F0C: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -3139,7 +3140,7 @@ L_08930F0C: L_08930F58: aot_gpr_31 = (0x08930F60u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08930F60u) goto L_08930F60; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08930F60u) goto L_08930F60; AOT_REGCACHE_SYNC_OUT(); return; L_08930F60: aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(400), static_cast(0u)); @@ -3213,7 +3214,7 @@ L_08930FD8: aot_gpr_5 = (aot_gpr_16 + static_cast(1328)); aot_gpr_31 = (0x08930FE4u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08930FE4u) goto L_08930FE4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08930FE4u) goto L_08930FE4; AOT_REGCACHE_SYNC_OUT(); return; L_08930FE4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(464))); @@ -3551,7 +3552,7 @@ L_08931290: L_089312B0: aot_gpr_31 = (0x089312B8u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089312B8u) goto L_089312B8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089312B8u) goto L_089312B8; AOT_REGCACHE_SYNC_OUT(); return; L_089312B8: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -3988,7 +3989,7 @@ L_089315BC: L_089315E0: aot_gpr_31 = (0x089315E8u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089315E8u) goto L_089315E8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089315E8u) goto L_089315E8; AOT_REGCACHE_SYNC_OUT(); return; L_089315E8: if (ctx.gpr[2] == 0u) { @@ -4567,7 +4568,7 @@ L_08931A60: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08931A6Cu); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[24])); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08931A6Cu) goto L_08931A6C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08931A6Cu) goto L_08931A6C; AOT_REGCACHE_SYNC_OUT(); return; L_08931A6C: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -4580,7 +4581,7 @@ L_08931A7C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08931A88u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[22])); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08931A88u) goto L_08931A88; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08931A88u) goto L_08931A88; AOT_REGCACHE_SYNC_OUT(); return; L_08931A88: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -4593,7 +4594,7 @@ L_08931A98: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08931AA4u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08931AA4u) goto L_08931AA4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08931AA4u) goto L_08931AA4; AOT_REGCACHE_SYNC_OUT(); return; L_08931AA4: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -4652,7 +4653,7 @@ L_08931AF4: L_08931B20: aot_gpr_31 = (0x08931B28u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08931B28u) goto L_08931B28; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806634, 0u, 302u, 0x08806634u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08931B28u) goto L_08931B28; AOT_REGCACHE_SYNC_OUT(); return; L_08931B28: aot_gpr_16 = (ctx.gpr[2] + aot_gpr_16); @@ -4662,7 +4663,7 @@ L_08931B30: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08931B3Cu); aot_gpr_5 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08931B3Cu) goto L_08931B3C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806888, 0u, 324u, 0x08806888u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08931B3Cu) goto L_08931B3C; AOT_REGCACHE_SYNC_OUT(); return; L_08931B3C: aot_gpr_4 = (0u | 5u); @@ -4835,7 +4836,7 @@ L_08931C3C: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08931C48u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08931C48u) goto L_08931C48; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880692C, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08931C48u) goto L_08931C48; AOT_REGCACHE_SYNC_OUT(); return; L_08931C48: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -4848,7 +4849,7 @@ L_08931C48: L_08931C50: aot_gpr_31 = (0x08931C58u); aot_gpr_5 = (0u + static_cast(-2)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08931C58u) goto L_08931C58; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880692C, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08931C58u) goto L_08931C58; AOT_REGCACHE_SYNC_OUT(); return; L_08931C58: { const bool branch_taken = ctx.gpr[2] != 0u; @@ -4886,21 +4887,21 @@ L_08931C84: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08931C90u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08931C90u) goto L_08931C90; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08931C90u) goto L_08931C90; AOT_REGCACHE_SYNC_OUT(); return; L_08931C90: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), std::bit_cast(ctx.fpr[0])); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08931CA0u); aot_gpr_5 = (0u + static_cast(-2)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08931CA0u) goto L_08931CA0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08931CA0u) goto L_08931CA0; AOT_REGCACHE_SYNC_OUT(); return; L_08931CA0: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), std::bit_cast(ctx.fpr[0])); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08931CB0u); aot_gpr_5 = (0u + static_cast(-1)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08931CB0u) goto L_08931CB0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880692C, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08931CB0u) goto L_08931CB0; AOT_REGCACHE_SYNC_OUT(); return; L_08931CB0: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -4914,7 +4915,7 @@ L_08931CB8: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08931CC4u); aot_gpr_5 = (0u + static_cast(-1)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08931CC4u) goto L_08931CC4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08931CC4u) goto L_08931CC4; AOT_REGCACHE_SYNC_OUT(); return; L_08931CC4: { const bool branch_taken = 0u == 0u; @@ -4932,7 +4933,7 @@ L_08931CD0: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08931CE0u); aot_gpr_5 = (0u + static_cast(-4)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08931CE0u) goto L_08931CE0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806654, 0u, 303u, 0x08806654u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08931CE0u) goto L_08931CE0; AOT_REGCACHE_SYNC_OUT(); return; L_08931CE0: aot_gpr_4 = (aot_gpr_29 + static_cast(16)); @@ -4975,7 +4976,7 @@ L_08931D08: aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(28), aot_run_words); } aot_gpr_31 = (0x08931D3Cu); aot_gpr_16 = (aot_gpr_4 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08931D3Cu) goto L_08931D3C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880692C, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08931D3Cu) goto L_08931D3C; AOT_REGCACHE_SYNC_OUT(); return; L_08931D3C: { const bool branch_taken = ctx.gpr[2] != 0u; @@ -4988,14 +4989,14 @@ L_08931D3C: L_08931D44: aot_gpr_31 = (0x08931D4Cu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08931D4Cu) goto L_08931D4C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806634, 0u, 302u, 0x08806634u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08931D4Cu) goto L_08931D4C; AOT_REGCACHE_SYNC_OUT(); return; L_08931D4C: ctx.gpr[18] = (ctx.gpr[2] | 0u); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08931D5Cu); aot_gpr_5 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08931D5Cu) goto L_08931D5C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806888, 0u, 324u, 0x08806888u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08931D5Cu) goto L_08931D5C; AOT_REGCACHE_SYNC_OUT(); return; L_08931D5C: aot_gpr_5 = (20224u << 16u); @@ -5047,7 +5048,7 @@ L_08931DA8: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08931DB4u); aot_gpr_5 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08931DB4u) goto L_08931DB4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880682C, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08931DB4u) goto L_08931DB4; AOT_REGCACHE_SYNC_OUT(); return; L_08931DB4: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -5058,7 +5059,7 @@ L_08931DB4: L_08931DC0: aot_gpr_31 = (0x08931DC8u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08931DC8u) goto L_08931DC8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806634, 0u, 302u, 0x08806634u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08931DC8u) goto L_08931DC8; AOT_REGCACHE_SYNC_OUT(); return; L_08931DC8: ctx.gpr[17] = (ctx.gpr[2] | 0u); @@ -5074,7 +5075,7 @@ L_08931DDC: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08931DE8u); aot_gpr_5 = (0u + static_cast(-1)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08931DE8u) goto L_08931DE8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08931DE8u) goto L_08931DE8; AOT_REGCACHE_SYNC_OUT(); return; L_08931DE8: aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[0])); @@ -5138,7 +5139,7 @@ L_08931E54: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08931E60u); aot_gpr_5 = (0u + static_cast(-1)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08931E60u) goto L_08931E60; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08931E60u) goto L_08931E60; AOT_REGCACHE_SYNC_OUT(); return; L_08931E60: aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[0])); @@ -5202,7 +5203,7 @@ L_08931ECC: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08931ED8u); aot_gpr_5 = (0u + static_cast(-1)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08931ED8u) goto L_08931ED8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08931ED8u) goto L_08931ED8; AOT_REGCACHE_SYNC_OUT(); return; L_08931ED8: aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[0])); @@ -5267,7 +5268,7 @@ L_08931F44: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08931F54u); aot_gpr_5 = (0u + static_cast(-1)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08931F54u) goto L_08931F54; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880692C, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08931F54u) goto L_08931F54; AOT_REGCACHE_SYNC_OUT(); return; L_08931F54: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -5280,7 +5281,7 @@ L_08931F54: L_08931F5C: aot_gpr_31 = (0x08931F64u); aot_gpr_5 = (0u + static_cast(-1)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08931F64u) goto L_08931F64; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08931F64u) goto L_08931F64; AOT_REGCACHE_SYNC_OUT(); return; L_08931F64: aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[0])); @@ -5336,7 +5337,7 @@ L_08931FC4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08931FD0u); aot_gpr_5 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08931FD0u) goto L_08931FD0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806654, 0u, 303u, 0x08806654u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08931FD0u) goto L_08931FD0; AOT_REGCACHE_SYNC_OUT(); return; L_08931FD0: aot_gpr_4 = (ctx.gpr[21] << 8u); @@ -5377,7 +5378,7 @@ L_08932014: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_31); aot_gpr_31 = (0x08932040u); aot_gpr_5 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08932040u) goto L_08932040; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806888, 0u, 324u, 0x08806888u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08932040u) goto L_08932040; AOT_REGCACHE_SYNC_OUT(); return; L_08932040: aot_gpr_4 = (0u | 5u); @@ -5431,7 +5432,7 @@ L_089320A0: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089320ACu); aot_gpr_5 = (0u + static_cast(-1)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089320ACu) goto L_089320AC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880692C, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089320ACu) goto L_089320AC; AOT_REGCACHE_SYNC_OUT(); return; L_089320AC: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -5445,7 +5446,7 @@ L_089320B4: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089320C0u); aot_gpr_5 = (0u + static_cast(-1)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089320C0u) goto L_089320C0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089320C0u) goto L_089320C0; AOT_REGCACHE_SYNC_OUT(); return; L_089320C0: aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(4), std::bit_cast(ctx.fpr[0])); @@ -5461,7 +5462,7 @@ L_089320D4: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089320E0u); aot_gpr_5 = (0u + static_cast(-1)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089320E0u) goto L_089320E0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880692C, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089320E0u) goto L_089320E0; AOT_REGCACHE_SYNC_OUT(); return; L_089320E0: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -5475,7 +5476,7 @@ L_089320E8: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089320F4u); aot_gpr_5 = (0u + static_cast(-1)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089320F4u) goto L_089320F4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089320F4u) goto L_089320F4; AOT_REGCACHE_SYNC_OUT(); return; L_089320F4: aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(8), std::bit_cast(ctx.fpr[0])); @@ -5484,7 +5485,7 @@ L_089320F8: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08932104u); aot_gpr_5 = (0u + static_cast(-4)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08932104u) goto L_08932104; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806654, 0u, 303u, 0x08806654u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08932104u) goto L_08932104; AOT_REGCACHE_SYNC_OUT(); return; L_08932104: { std::uint32_t aot_run_words[4]{}; @@ -5560,7 +5561,7 @@ L_0893216C: aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_31 = (0x08932198u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08932198u) goto L_08932198; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08932198u) goto L_08932198; AOT_REGCACHE_SYNC_OUT(); return; L_08932198: ctx.gpr[2] = (ctx.gpr[18] | 0u); @@ -5629,7 +5630,7 @@ L_089321F8: aot_fpr_12 = std::sqrt(aot_fpr_12); aot_gpr_31 = (0x08932270u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08932270u) goto L_08932270; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08932270u) goto L_08932270; AOT_REGCACHE_SYNC_OUT(); return; L_08932270: ctx.gpr[2] = (ctx.gpr[17] | 0u); @@ -5775,7 +5776,7 @@ L_08932374: L_0893237C: aot_gpr_31 = (0x08932384u); aot_gpr_5 = (0u + static_cast(-10001)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08932384u) goto L_08932384; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08932384u) goto L_08932384; AOT_REGCACHE_SYNC_OUT(); return; L_08932384: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5892))); @@ -5842,7 +5843,7 @@ L_089323E8: L_089323F0: aot_gpr_31 = (0x089323F8u); aot_gpr_5 = (0u + static_cast(-10001)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089323F8u) goto L_089323F8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089323F8u) goto L_089323F8; AOT_REGCACHE_SYNC_OUT(); return; L_089323F8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5892))); @@ -5909,7 +5910,7 @@ L_0893245C: L_08932464: aot_gpr_31 = (0x0893246Cu); aot_gpr_5 = (0u + static_cast(-10001)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0893246Cu) goto L_0893246C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0893246Cu) goto L_0893246C; AOT_REGCACHE_SYNC_OUT(); return; L_0893246C: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -5927,7 +5928,7 @@ L_08932478: ctx.gpr[17] = (0u | 1u); aot_gpr_31 = (0x0893249Cu); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0893249Cu) goto L_0893249C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0893249Cu) goto L_0893249C; AOT_REGCACHE_SYNC_OUT(); return; L_0893249C: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[0])); @@ -5935,7 +5936,7 @@ L_0893249C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x089324B0u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089324B0u) goto L_089324B0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089324B0u) goto L_089324B0; AOT_REGCACHE_SYNC_OUT(); return; L_089324B0: aot_fpr_13 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[0])); @@ -5980,7 +5981,7 @@ L_08932510: ctx.gpr[17] = (0u | 1u); aot_gpr_31 = (0x08932530u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08932530u) goto L_08932530; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08932530u) goto L_08932530; AOT_REGCACHE_SYNC_OUT(); return; L_08932530: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[0])); @@ -5994,7 +5995,7 @@ L_08932530: aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_gpr_31 = (0x0893255Cu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0893255Cu) goto L_0893255C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0893255Cu) goto L_0893255C; AOT_REGCACHE_SYNC_OUT(); return; L_0893255C: ctx.gpr[2] = (ctx.gpr[17] | 0u); @@ -6020,7 +6021,7 @@ L_08932574: aot_gpr_5 = (aot_gpr_5 < static_cast(1) ? 1u : 0u); aot_gpr_31 = (0x08932598u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08932598u) goto L_08932598; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08932598u) goto L_08932598; AOT_REGCACHE_SYNC_OUT(); return; L_08932598: ctx.gpr[2] = (0u | 1u); @@ -6083,7 +6084,7 @@ L_08932608: L_08932614: aot_gpr_31 = (0x0893261Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0893261Cu) goto L_0893261C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0893261Cu) goto L_0893261C; AOT_REGCACHE_SYNC_OUT(); return; L_0893261C: { const bool branch_taken = 0u == 0u; @@ -6115,7 +6116,7 @@ L_0893263C: ctx.gpr[19] = (0u | 1u); aot_gpr_31 = (0x08932668u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08932668u) goto L_08932668; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08932668u) goto L_08932668; AOT_REGCACHE_SYNC_OUT(); return; L_08932668: aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[0])); @@ -6147,7 +6148,7 @@ L_089326A0: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x089326ACu); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089326ACu) goto L_089326AC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089326ACu) goto L_089326AC; AOT_REGCACHE_SYNC_OUT(); return; L_089326AC: aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[0])); @@ -6177,7 +6178,7 @@ L_089326DC: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x089326E8u); aot_gpr_5 = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089326E8u) goto L_089326E8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089326E8u) goto L_089326E8; AOT_REGCACHE_SYNC_OUT(); return; L_089326E8: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[0])); @@ -6227,7 +6228,7 @@ L_08932720: L_0893272C: aot_gpr_31 = (0x08932734u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08932734u) goto L_08932734; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08932734u) goto L_08932734; AOT_REGCACHE_SYNC_OUT(); return; L_08932734: ctx.gpr[2] = (ctx.gpr[19] | 0u); @@ -6295,7 +6296,7 @@ L_089327CC: aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_31 = (0x089327E4u); aot_gpr_5 = (0u + static_cast(-1)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089327E4u) goto L_089327E4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880692C, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089327E4u) goto L_089327E4; AOT_REGCACHE_SYNC_OUT(); return; L_089327E4: { const bool branch_taken = ctx.gpr[2] != 0u; @@ -6317,7 +6318,7 @@ L_089327F4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08932800u); aot_gpr_5 = (0u + static_cast(-1)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08932800u) goto L_08932800; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08932800u) goto L_08932800; AOT_REGCACHE_SYNC_OUT(); return; L_08932800: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[0])); @@ -6388,7 +6389,7 @@ L_08932880: L_08932888: aot_gpr_31 = (0x08932890u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08932890u) goto L_08932890; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2E4, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08932890u) goto L_08932890; AOT_REGCACHE_SYNC_OUT(); return; L_08932890: ctx.gpr[2] = (0u | 0u); @@ -6406,7 +6407,7 @@ L_089328A0: aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_31 = (0x089328BCu); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089328BCu) goto L_089328BC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880692C, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089328BCu) goto L_089328BC; AOT_REGCACHE_SYNC_OUT(); return; L_089328BC: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -6420,7 +6421,7 @@ L_089328C4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x089328D0u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089328D0u) goto L_089328D0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880692C, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089328D0u) goto L_089328D0; AOT_REGCACHE_SYNC_OUT(); return; L_089328D0: { const bool branch_taken = ctx.gpr[2] != 0u; @@ -6450,7 +6451,7 @@ L_089328E8: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x089328F4u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089328F4u) goto L_089328F4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089328F4u) goto L_089328F4; AOT_REGCACHE_SYNC_OUT(); return; L_089328F4: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[0])); @@ -6458,7 +6459,7 @@ L_089328F4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08932908u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08932908u) goto L_08932908; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08932908u) goto L_08932908; AOT_REGCACHE_SYNC_OUT(); return; L_08932908: aot_fpr_13 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[0])); @@ -6491,7 +6492,7 @@ L_0893293C: ctx.gpr[17] = (0u | 1u); aot_gpr_31 = (0x0893295Cu); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0893295Cu) goto L_0893295C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880692C, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0893295Cu) goto L_0893295C; AOT_REGCACHE_SYNC_OUT(); return; L_0893295C: { const bool branch_taken = ctx.gpr[2] != 0u; @@ -6513,7 +6514,7 @@ L_0893296C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08932978u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08932978u) goto L_08932978; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08932978u) goto L_08932978; AOT_REGCACHE_SYNC_OUT(); return; L_08932978: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[0])); @@ -6527,7 +6528,7 @@ L_08932978: aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_gpr_31 = (0x089329A4u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089329A4u) goto L_089329A4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089329A4u) goto L_089329A4; AOT_REGCACHE_SYNC_OUT(); return; L_089329A4: ctx.gpr[2] = (ctx.gpr[17] | 0u); @@ -6553,7 +6554,7 @@ L_089329BC: ctx.gpr[17] = (0u | 1u); aot_gpr_31 = (0x089329DCu); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089329DCu) goto L_089329DC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880692C, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089329DCu) goto L_089329DC; AOT_REGCACHE_SYNC_OUT(); return; L_089329DC: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -6567,7 +6568,7 @@ L_089329E4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x089329F0u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089329F0u) goto L_089329F0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806888, 0u, 324u, 0x08806888u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089329F0u) goto L_089329F0; AOT_REGCACHE_SYNC_OUT(); return; L_089329F0: { const bool branch_taken = ctx.gpr[2] == ctx.gpr[17]; @@ -6597,7 +6598,7 @@ L_08932A08: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08932A14u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08932A14u) goto L_08932A14; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08932A14u) goto L_08932A14; AOT_REGCACHE_SYNC_OUT(); return; L_08932A14: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[0])); @@ -6605,7 +6606,7 @@ L_08932A14: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08932A28u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08932A28u) goto L_08932A28; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806AE0, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08932A28u) goto L_08932A28; AOT_REGCACHE_SYNC_OUT(); return; L_08932A28: aot_gpr_4 = (0u < ctx.gpr[2] ? 1u : 0u); @@ -6668,14 +6669,14 @@ L_08932AC0: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08932ACCu); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08932ACCu) goto L_08932ACC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08932ACCu) goto L_08932ACC; AOT_REGCACHE_SYNC_OUT(); return; L_08932ACC: ctx.fpr[22] = std::bit_cast(std::bit_cast(ctx.fpr[0])); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08932ADCu); aot_gpr_5 = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08932ADCu) goto L_08932ADC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08932ADCu) goto L_08932ADC; AOT_REGCACHE_SYNC_OUT(); return; L_08932ADC: aot_fpr_20 = std::bit_cast(std::bit_cast(ctx.fpr[0])); @@ -6745,7 +6746,7 @@ L_08932B3C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08932B48u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08932B48u) goto L_08932B48; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08932B48u) goto L_08932B48; AOT_REGCACHE_SYNC_OUT(); return; L_08932B48: { const bool branch_taken = 0u == 0u; @@ -6767,7 +6768,7 @@ L_08932B58: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08932B64u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08932B64u) goto L_08932B64; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08932B64u) goto L_08932B64; AOT_REGCACHE_SYNC_OUT(); return; L_08932B64: ctx.gpr[2] = (ctx.gpr[20] | 0u); @@ -6805,7 +6806,7 @@ L_08932B90: L_08932BA8: aot_gpr_31 = (0x08932BB0u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08932BB0u) goto L_08932BB0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08932BB0u) goto L_08932BB0; AOT_REGCACHE_SYNC_OUT(); return; L_08932BB0: { const bool branch_taken = 0u == 0u; @@ -6818,7 +6819,7 @@ L_08932BB0: L_08932BB8: aot_gpr_31 = (0x08932BC0u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08932BC0u) goto L_08932BC0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08932BC0u) goto L_08932BC0; AOT_REGCACHE_SYNC_OUT(); return; L_08932BC0: ctx.gpr[2] = (aot_gpr_16 | 0u); @@ -6855,7 +6856,7 @@ L_08932C00: aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_gpr_31 = (0x08932C14u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08932C14u) goto L_08932C14; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08932C14u) goto L_08932C14; AOT_REGCACHE_SYNC_OUT(); return; L_08932C14: ctx.gpr[2] = (ctx.gpr[17] | 0u); @@ -6892,7 +6893,7 @@ L_08932C48: L_08932C50: aot_gpr_31 = (0x08932C58u); aot_gpr_5 = (0u + static_cast(-10001)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08932C58u) goto L_08932C58; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880682C, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08932C58u) goto L_08932C58; AOT_REGCACHE_SYNC_OUT(); return; L_08932C58: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5892))); @@ -8022,7 +8023,7 @@ L_089335B4: aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x089335C8u); aot_gpr_6 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089335C8u) goto L_089335C8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089335C8u) goto L_089335C8; AOT_REGCACHE_SYNC_OUT(); return; L_089335C8: ctx.gpr[2] = (0u | 0u); @@ -8059,7 +8060,7 @@ L_08933614: aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08933624u); aot_gpr_6 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08933624u) goto L_08933624; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08933624u) goto L_08933624; AOT_REGCACHE_SYNC_OUT(); return; L_08933624: ctx.gpr[2] = (0u | 0u); @@ -8120,7 +8121,7 @@ L_08933698: aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x089336B0u); aot_gpr_6 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089336B0u) goto L_089336B0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089336B0u) goto L_089336B0; AOT_REGCACHE_SYNC_OUT(); return; L_089336B0: ctx.gpr[2] = (0u | 0u); @@ -8189,7 +8190,7 @@ L_08933734: aot_gpr_5 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x0893375Cu); aot_gpr_6 = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0893375Cu) goto L_0893375C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0893375Cu) goto L_0893375C; AOT_REGCACHE_SYNC_OUT(); return; L_0893375C: ctx.gpr[2] = (0u | 0u); diff --git a/profiles/vcs/generated/generated_unit_0076.cpp b/profiles/vcs/generated/generated_unit_0076.cpp index c7db4cb..9e486ce 100644 --- a/profiles/vcs/generated/generated_unit_0076.cpp +++ b/profiles/vcs/generated/generated_unit_0076.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include "vcs_config.hpp" #include #include @@ -154,20 +155,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0076[4092] = { }; void recomp_unit_0076_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,31,5,29,28,16 fprs=12,13,20,14 gpr_occ=3693 fpr_occ=413 gpr_total=4982 fpr_total=535 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,31,5,29,2,6 fprs=12,13,14,15 gpr_occ=3860 fpr_occ=449 gpr_total=5589 fpr_total=595 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; - std::uint32_t aot_gpr_28 = ctx.gpr[28]; - std::uint32_t aot_gpr_16 = ctx.gpr[16]; + std::uint32_t aot_gpr_2 = ctx.gpr[2]; + std::uint32_t aot_gpr_6 = ctx.gpr[6]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; - float aot_fpr_20 = ctx.fpr[20]; float aot_fpr_14 = ctx.fpr[14]; + float aot_fpr_15 = ctx.fpr[15]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[31] = aot_gpr_31; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[28] = aot_gpr_28; ctx.gpr[16] = aot_gpr_16; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; ctx.fpr[14] = aot_fpr_14; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_28 = ctx.gpr[28]; aot_gpr_16 = ctx.gpr[16]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_14 = ctx.fpr[14]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[31] = aot_gpr_31; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[2] = aot_gpr_2; ctx.gpr[6] = aot_gpr_6; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[15] = aot_fpr_15; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_2 = ctx.gpr[2]; aot_gpr_6 = ctx.gpr[6]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_15 = ctx.fpr[15]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -1341,22 +1342,22 @@ L_08934000: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(60))); aot_gpr_5 = (aot_gpr_5 + static_cast(40)); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); jump_target = aot_gpr_5; aot_gpr_31 = (0x08934024u); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08934024u) goto L_08934024; AOT_REGCACHE_SYNC_OUT(); return; L_08934024: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); - ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(20))); + aot_gpr_2 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); + aot_gpr_2 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(20))); goto L_0893402C; L_0893402C: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(48), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -1370,12 +1371,12 @@ L_0893402C: AOT_REGCACHE_SYNC_OUT(); return; L_08934048: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[17]); ctx.gpr[17] = (aot_gpr_5 & 255u); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_31); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_4 = (aot_gpr_5 + static_cast(8)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_5); @@ -1402,12 +1403,12 @@ L_08934090: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0217_entry, 217u, 391u, 0x08B6A5DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0893409Cu) goto L_0893409C; AOT_REGCACHE_SYNC_OUT(); return; L_0893409C: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - aot_gpr_4 = (ctx.gpr[2] | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[2]); - ctx.gpr[6] = (aot_gpr_4 ^ aot_gpr_5); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); + aot_gpr_4 = (aot_gpr_2 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_2); + aot_gpr_6 = (aot_gpr_4 ^ aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_5); - aot_gpr_5 = (0u < ctx.gpr[6] ? 1u : 0u); + aot_gpr_5 = (0u < aot_gpr_6 ? 1u : 0u); aot_gpr_5 = (aot_gpr_5 & 255u); { const bool branch_taken = aot_gpr_5 != 0u; // nop @@ -1419,7 +1420,7 @@ L_0893409C: L_089340C0: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -1431,10 +1432,10 @@ L_089340C0: AOT_REGCACHE_SYNC_OUT(); return; L_089340D4: aot_gpr_29 = (aot_gpr_29 + static_cast(-80)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(60), ctx.gpr[18]); - ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_4 = (ctx.gpr[18] + static_cast(4)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), ctx.gpr[17]); @@ -1446,12 +1447,12 @@ L_089340D4: } goto L_08934108; L_08934108: - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(32), static_cast(0u)); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); goto L_08934114; L_08934114: - ctx.gpr[7] = (static_cast(ctx.gpr[7]) < static_cast(ctx.gpr[6]) ? 1u : 0u); + ctx.gpr[7] = (static_cast(ctx.gpr[7]) < static_cast(aot_gpr_6) ? 1u : 0u); ctx.gpr[7] = (ctx.gpr[7] & 255u); if (ctx.gpr[7] != 0u) { aot_gpr_4 = (aot_gpr_4 + static_cast(12)); @@ -1481,10 +1482,10 @@ L_08934140: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), ctx.gpr[18]); goto L_08934144; L_08934144: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - ctx.gpr[6] = (aot_gpr_4 + static_cast(4)); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(0))); - if (ctx.gpr[6] == 0u) { + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); + aot_gpr_6 = (aot_gpr_4 + static_cast(4)); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); + if (aot_gpr_6 == 0u) { aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); goto L_08934194; } @@ -1492,32 +1493,32 @@ L_08934144: L_08934158: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(33), static_cast(0u)); - ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(16))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(16))); goto L_08934164; L_08934164: ctx.gpr[7] = (static_cast(aot_gpr_5) < static_cast(ctx.gpr[7]) ? 1u : 0u); ctx.gpr[7] = (ctx.gpr[7] & 255u); if (ctx.gpr[7] == 0u) { - ctx.gpr[6] = (ctx.gpr[6] + static_cast(12)); + aot_gpr_6 = (aot_gpr_6 + static_cast(12)); goto L_08934184; } goto L_08934174; L_08934174: - aot_gpr_4 = (ctx.gpr[6] | 0u); - ctx.gpr[6] = (aot_gpr_4 + static_cast(8)); + aot_gpr_4 = (aot_gpr_6 | 0u); + aot_gpr_6 = (aot_gpr_4 + static_cast(8)); { const bool branch_taken = 0u == 0u; - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(0))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); if (branch_taken) { goto L_08934188; } goto L_08934184; } L_08934184: - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(0))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); goto L_08934188; L_08934188: - if (ctx.gpr[6] != 0u) { - ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(16))); + if (aot_gpr_6 != 0u) { + ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(16))); goto L_08934164; } goto L_08934190; @@ -1530,11 +1531,11 @@ L_08934194: ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(16), static_cast(0u)); aot_gpr_5 = (ctx.gpr[18] | 0u); - ctx.gpr[6] = (aot_gpr_5 ^ aot_gpr_4); - ctx.gpr[6] = (0u < ctx.gpr[6] ? 1u : 0u); + aot_gpr_6 = (aot_gpr_5 ^ aot_gpr_4); + aot_gpr_6 = (0u < aot_gpr_6 ? 1u : 0u); ctx.gpr[17] = (0u | 0u); - ctx.gpr[6] = (ctx.gpr[6] & 255u); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_6 = (aot_gpr_6 & 255u); + { const bool branch_taken = aot_gpr_6 == 0u; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[18]); if (branch_taken) { goto L_089341EC; @@ -1548,12 +1549,12 @@ L_089341C0: AOT_REGCACHE_SYNC_OUT(); return; L_089341C8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); - aot_gpr_5 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (aot_gpr_5 ^ aot_gpr_4); - ctx.gpr[6] = (0u < ctx.gpr[6] ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[2]); - ctx.gpr[6] = (ctx.gpr[6] & 255u); - { const bool branch_taken = ctx.gpr[6] != 0u; + aot_gpr_5 = (aot_gpr_2 | 0u); + aot_gpr_6 = (aot_gpr_5 ^ aot_gpr_4); + aot_gpr_6 = (0u < aot_gpr_6 ? 1u : 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_2); + aot_gpr_6 = (aot_gpr_6 & 255u); + { const bool branch_taken = aot_gpr_6 != 0u; ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); if (branch_taken) { goto L_089341C0; @@ -1566,7 +1567,7 @@ L_089341E8: L_089341EC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); ctx.gpr[18] = (aot_gpr_29 | 0u); aot_gpr_4 = (aot_gpr_4 + static_cast(8)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); @@ -1583,7 +1584,7 @@ L_089341EC: goto L_08934220; } L_08934220: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), aot_gpr_4); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(0))); aot_gpr_4 = (aot_gpr_5 ^ aot_gpr_4); @@ -1595,7 +1596,7 @@ L_08934220: } goto L_08934240; L_08934240: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -1604,25 +1605,25 @@ L_08934240: goto L_0893424C; } L_0893424C: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (aot_gpr_5 + static_cast(4)); aot_gpr_31 = (0x08934260u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0217_entry, 217u, 462u, 0x08B6AA64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08934260u) goto L_08934260; AOT_REGCACHE_SYNC_OUT(); return; L_08934260: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_5 = (aot_gpr_4 + static_cast(8)); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_5 = (aot_gpr_4 + static_cast(12)); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_4); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(4), 0u); if (branch_taken) { goto L_08934310; } @@ -1651,33 +1652,33 @@ L_089342A8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0217_entry, 217u, 391u, 0x08B6A5DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089342B8u) goto L_089342B8; AOT_REGCACHE_SYNC_OUT(); return; L_089342B8: - aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(0), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(0), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(0))); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_5 = (ctx.gpr[7] + static_cast(4)); - ctx.gpr[6] = (ctx.gpr[7] + static_cast(8)); + aot_gpr_6 = (ctx.gpr[7] + static_cast(8)); aot_gpr_31 = (0x089342D4u); ctx.gpr[7] = (ctx.gpr[7] + static_cast(12)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0217_entry, 217u, 484u, 0x08B6AC34u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089342D4u) goto L_089342D4; AOT_REGCACHE_SYNC_OUT(); return; L_089342D4: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (aot_gpr_4 == 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); goto L_089342EC; } goto L_089342E0; L_089342E0: aot_gpr_31 = (0x089342E8u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089342E8u) goto L_089342E8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089342E8u) goto L_089342E8; AOT_REGCACHE_SYNC_OUT(); return; L_089342E8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); goto L_089342EC; L_089342EC: aot_gpr_4 = (aot_gpr_4 + static_cast(-1)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(4), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(0))); aot_gpr_4 = (aot_gpr_4 ^ aot_gpr_5); @@ -1691,10 +1692,10 @@ L_089342EC: goto L_08934310; } L_08934310: - ctx.gpr[2] = (ctx.gpr[17] | 0u); + aot_gpr_2 = (ctx.gpr[17] | 0u); { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(52), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -1724,9 +1725,9 @@ L_08934348: AOT_REGCACHE_SYNC_OUT(); return; L_08934354: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.gpr[18] = (0u | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); @@ -1735,7 +1736,7 @@ L_08934354: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08934378u) goto L_08934378; AOT_REGCACHE_SYNC_OUT(); return; L_08934378: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { @@ -1752,10 +1753,10 @@ L_0893438C: ctx.gpr[18] = (ctx.gpr[17] | 0u); goto L_08934390; L_08934390: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(24), ctx.gpr[18]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(24), ctx.gpr[18]); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; @@ -1768,7 +1769,7 @@ L_08934390: AOT_REGCACHE_SYNC_OUT(); return; L_089343AC: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5868))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5868))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -1783,7 +1784,7 @@ L_089343C0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 452u, 0x08B65D8Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089343C8u) goto L_089343C8; AOT_REGCACHE_SYNC_OUT(); return; L_089343C8: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5868))); + aot_gpr_2 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5868))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -1793,7 +1794,7 @@ L_089343C8: AOT_REGCACHE_SYNC_OUT(); return; L_089343D8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5896))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5896))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -1808,7 +1809,7 @@ L_089343EC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0217_entry, 217u, 34u, 0x08B68290u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089343F4u) goto L_089343F4; AOT_REGCACHE_SYNC_OUT(); return; L_089343F4: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5896))); + aot_gpr_2 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5896))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -1853,26 +1854,26 @@ L_0893442C: ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08934438: - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); jump_target = aot_gpr_31; - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(4189), static_cast(ctx.gpr[2])); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(4189), static_cast(aot_gpr_2)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08934444: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x08934458u); aot_gpr_4 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 598u, 0x08AD3610u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08934458u) goto L_08934458; AOT_REGCACHE_SYNC_OUT(); return; L_08934458: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5864))); - aot_gpr_16 = (2236u << 16u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5864))); + ctx.gpr[16] = (2236u << 16u); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_16 = (aot_gpr_16 + static_cast(31984)); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(31984)); if (branch_taken) { goto L_08934470; } @@ -1885,11 +1886,11 @@ L_08934468: AOT_REGCACHE_SYNC_OUT(); return; L_08934470: aot_gpr_31 = (0x08934478u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5864))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5864))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0084_entry, 84u, 121u, 0x08954778u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08934478u) goto L_08934478; AOT_REGCACHE_SYNC_OUT(); return; L_08934478: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_0893448C; @@ -1897,7 +1898,7 @@ L_08934478: goto L_08934480; } L_08934480: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5864))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5864))); aot_gpr_31 = (0x0893448Cu); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0084_entry, 84u, 507u, 0x089567C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0893448Cu) goto L_0893448C; @@ -1909,11 +1910,11 @@ L_0893448C: AOT_REGCACHE_SYNC_OUT(); return; L_08934494: aot_gpr_31 = (0x0893449Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 641u, 0x08ABEFDCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0893449Cu) goto L_0893449C; AOT_REGCACHE_SYNC_OUT(); return; L_0893449C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089344AC; @@ -1922,11 +1923,11 @@ L_0893449C: } L_089344A4: aot_gpr_31 = (0x089344ACu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 650u, 0x08ABF048u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089344ACu) goto L_089344AC; AOT_REGCACHE_SYNC_OUT(); return; L_089344AC: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -1936,10 +1937,10 @@ L_089344AC: AOT_REGCACHE_SYNC_OUT(); return; L_089344BC: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-19632))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_16); + aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-19632))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); - { const bool branch_taken = ctx.gpr[6] != 0u; + { const bool branch_taken = aot_gpr_6 != 0u; // nop if (branch_taken) { goto L_08934538; @@ -1951,13 +1952,13 @@ L_089344D4: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_4); aot_gpr_4 = (0u | 1u); aot_gpr_31 = (0x089344E8u); - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-19632), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-19632), static_cast(aot_gpr_4)); goto L_08934444; L_089344E8: aot_gpr_4 = (2236u << 16u); - aot_gpr_16 = (aot_gpr_4 + static_cast(31984)); + ctx.gpr[16] = (aot_gpr_4 + static_cast(31984)); aot_gpr_31 = (0x089344F8u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 620u, 0x08ABEE2Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089344F8u) goto L_089344F8; AOT_REGCACHE_SYNC_OUT(); return; L_089344F8: @@ -1977,7 +1978,7 @@ L_08934508: AOT_REGCACHE_SYNC_OUT(); return; L_08934510: aot_gpr_31 = (0x08934518u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 620u, 0x08ABEE2Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08934518u) goto L_08934518; AOT_REGCACHE_SYNC_OUT(); return; L_08934518: @@ -1986,7 +1987,7 @@ L_08934518: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0030_entry, 30u, 746u, 0x0887F804u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08934520u) goto L_08934520; AOT_REGCACHE_SYNC_OUT(); return; L_08934520: - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-19632), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-19632), static_cast(0u)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (0x08934530u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); @@ -2001,11 +2002,11 @@ L_08934530: goto L_08934538; } L_08934538: - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-19632), static_cast(0u)); - ctx.gpr[2] = (0u | 0u); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-19632), static_cast(0u)); + aot_gpr_2 = (0u | 0u); goto L_08934540; L_08934540: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -2020,8 +2021,8 @@ L_08934550: aot_gpr_4 = (2236u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); ctx.gpr[18] = (aot_gpr_4 + static_cast(29232)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_5 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_5 | 0u); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); aot_gpr_31 = (0x08934580u); @@ -2037,13 +2038,13 @@ L_08934580: L_0893458C: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08934598u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 501u, 0x08ABE57Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08934598u) goto L_08934598; AOT_REGCACHE_SYNC_OUT(); return; L_08934598: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; @@ -2056,23 +2057,23 @@ L_08934598: AOT_REGCACHE_SYNC_OUT(); return; L_089345B0: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-19631))); + aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-19631))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); ctx.gpr[17] = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); { const std::uint32_t aot_run_words[4]{ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(8), aot_run_words); } - { const bool branch_taken = ctx.gpr[6] != 0u; - aot_gpr_16 = (aot_gpr_5 | 0u); + { const bool branch_taken = aot_gpr_6 != 0u; + ctx.gpr[16] = (aot_gpr_5 | 0u); if (branch_taken) { goto L_08934704; } goto L_089345DC; } L_089345DC: - ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-15976))); + ctx.gpr[20] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15976))); aot_gpr_4 = (0u | 1u); - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-19631), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-19631), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(8))); ctx.gpr[19] = (0u | 0u); aot_gpr_4 = (static_cast(ctx.gpr[19]) < static_cast(aot_gpr_4) ? 1u : 0u); @@ -2090,7 +2091,7 @@ L_089345FC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08934608u) goto L_08934608; AOT_REGCACHE_SYNC_OUT(); return; L_08934608: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[18] == 0u; // nop if (branch_taken) { @@ -2104,7 +2105,7 @@ L_08934614: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 128u, 0x0890C798u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0893461Cu) goto L_0893461C; AOT_REGCACHE_SYNC_OUT(); return; L_0893461C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08934654; @@ -2129,11 +2130,11 @@ L_08934638: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(92))); aot_gpr_5 = (0u | 3u); aot_gpr_4 = (aot_gpr_4 + static_cast(24)); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x08934654u); - aot_gpr_4 = (ctx.gpr[18] + ctx.gpr[6]); + aot_gpr_4 = (ctx.gpr[18] + aot_gpr_6); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08934654u) goto L_08934654; AOT_REGCACHE_SYNC_OUT(); return; @@ -2149,7 +2150,7 @@ L_08934654: goto L_08934668; } L_08934668: - ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-15972))); + ctx.gpr[20] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); ctx.gpr[19] = (0u | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(8))); aot_gpr_4 = (static_cast(ctx.gpr[19]) < static_cast(aot_gpr_4) ? 1u : 0u); @@ -2167,7 +2168,7 @@ L_08934680: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0893468Cu) goto L_0893468C; AOT_REGCACHE_SYNC_OUT(); return; L_0893468C: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[18] == 0u; // nop if (branch_taken) { @@ -2181,7 +2182,7 @@ L_08934698: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 772u, 0x08AFF508u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089346A0u) goto L_089346A0; AOT_REGCACHE_SYNC_OUT(); return; L_089346A0: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089346D8; @@ -2206,11 +2207,11 @@ L_089346BC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(92))); aot_gpr_5 = (0u | 3u); aot_gpr_4 = (aot_gpr_4 + static_cast(24)); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x089346D8u); - aot_gpr_4 = (ctx.gpr[18] + ctx.gpr[6]); + aot_gpr_4 = (ctx.gpr[18] + aot_gpr_6); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089346D8u) goto L_089346D8; AOT_REGCACHE_SYNC_OUT(); return; @@ -2226,10 +2227,10 @@ L_089346D8: goto L_089346EC; } L_089346EC: - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-19631), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-19631), static_cast(0u)); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089346FCu); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 501u, 0x08ABE57Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089346FCu) goto L_089346FC; AOT_REGCACHE_SYNC_OUT(); return; L_089346FC: @@ -2241,13 +2242,13 @@ L_089346FC: goto L_08934704; } L_08934704: - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-19631), static_cast(0u)); - ctx.gpr[2] = (0u | 0u); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-19631), static_cast(0u)); + aot_gpr_2 = (0u | 0u); goto L_0893470C; L_0893470C: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -2269,7 +2270,7 @@ L_0893472C: AOT_REGCACHE_SYNC_OUT(); return; L_08934734: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(6548))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(6548))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); aot_gpr_31 = (0x08934748u); aot_gpr_5 = (0u | 0u); @@ -2277,8 +2278,8 @@ L_08934734: AOT_REGCACHE_SYNC_OUT(); return; L_08934748: aot_gpr_5 = (2195u << 16u); - aot_gpr_4 = (aot_gpr_28 + static_cast(-19628)); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(4160))); + aot_gpr_4 = (ctx.gpr[28] + static_cast(-19628)); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(4160))); ctx.gpr[8] = (0u | 16384u); ctx.gpr[9] = (0u | 0u); aot_gpr_5 = (aot_gpr_5 + static_cast(26752)); @@ -2287,11 +2288,11 @@ L_08934748: ctx.pc = 0x08B734B4u; AOT_REGCACHE_SYNC_OUT(); return; L_08934768: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(6544), ctx.gpr[2]); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(6544), aot_gpr_2); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x0893477Cu); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); ctx.pc = 0x08B73464u; AOT_REGCACHE_SYNC_OUT(); return; L_0893477C: @@ -2300,7 +2301,7 @@ L_0893477C: ctx.pc = 0x08B734F4u; AOT_REGCACHE_SYNC_OUT(); return; L_08934784: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -2310,8 +2311,8 @@ L_08934784: AOT_REGCACHE_SYNC_OUT(); return; L_08934794: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_5 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_5 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x089347B0u); @@ -2320,10 +2321,10 @@ L_08934794: L_089347B0: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089347BCu); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); goto L_08934438; L_089347BC: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_089347CC; @@ -2332,7 +2333,7 @@ L_089347BC: } L_089347C4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08934814; } @@ -2344,10 +2345,10 @@ L_089347CC: ctx.pc = 0x08B7347Cu; AOT_REGCACHE_SYNC_OUT(); return; L_089347D4: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(6548), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(6548), aot_gpr_2); aot_gpr_5 = (2195u << 16u); - aot_gpr_4 = (aot_gpr_28 + static_cast(-19616)); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(4160))); + aot_gpr_4 = (ctx.gpr[28] + static_cast(-19616)); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(4160))); ctx.gpr[7] = (0u | 2048u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); @@ -2356,24 +2357,24 @@ L_089347D4: ctx.pc = 0x08B734B4u; AOT_REGCACHE_SYNC_OUT(); return; L_089347F8: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08934808u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); ctx.pc = 0x08B73464u; AOT_REGCACHE_SYNC_OUT(); return; L_08934808: aot_gpr_31 = (0x08934810u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(6548))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(6548))); ctx.pc = 0x08B734F4u; AOT_REGCACHE_SYNC_OUT(); return; L_08934810: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_08934814; L_08934814: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -2385,7 +2386,7 @@ L_08934814: AOT_REGCACHE_SYNC_OUT(); return; L_08934828: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x0893483Cu); // nop @@ -2418,9 +2419,9 @@ L_08934864: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0097_entry, 97u, 819u, 0x0898B354u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0893486Cu) goto L_0893486C; AOT_REGCACHE_SYNC_OUT(); return; L_0893486C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7872))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7872))); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_16 = (0u | 1u); + ctx.gpr[16] = (0u | 1u); if (branch_taken) { goto L_08934888; } @@ -2428,17 +2429,17 @@ L_0893486C: } L_08934878: aot_gpr_4 = (0u | 1u); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(7872), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7872), aot_gpr_4); aot_gpr_31 = (0x08934888u); - aot_gpr_4 = (aot_gpr_28 + static_cast(7864)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(7864)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0112_entry, 112u, 464u, 0x089C6318u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08934888u) goto L_08934888; AOT_REGCACHE_SYNC_OUT(); return; L_08934888: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(7864), 0u); - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-1039), static_cast(0u)); - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-1038), static_cast(0u)); - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-1040), static_cast(aot_gpr_16)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7864), 0u); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-1039), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-1038), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-1040), static_cast(ctx.gpr[16])); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -2452,7 +2453,7 @@ L_089348A4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 466u, 0x08B65E44u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089348ACu) goto L_089348AC; AOT_REGCACHE_SYNC_OUT(); return; L_089348AC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); goto L_089348B0; L_089348B0: aot_gpr_31 = (0x089348B8u); @@ -2460,7 +2461,7 @@ L_089348B0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0112_entry, 112u, 630u, 0x089C6D70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089348B8u) goto L_089348B8; AOT_REGCACHE_SYNC_OUT(); return; L_089348B8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -2474,7 +2475,7 @@ L_089348C4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 466u, 0x08B65E44u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089348CCu) goto L_089348CC; AOT_REGCACHE_SYNC_OUT(); return; L_089348CC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); goto L_089348D0; L_089348D0: aot_gpr_31 = (0x089348D8u); @@ -2488,9 +2489,9 @@ L_089348D8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 30u, 0x088301F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089348E4u) goto L_089348E4; AOT_REGCACHE_SYNC_OUT(); return; L_089348E4: - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-1040), static_cast(aot_gpr_16)); - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-1038), static_cast(0u)); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-1040), static_cast(ctx.gpr[16])); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-1038), static_cast(0u)); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -2503,15 +2504,15 @@ L_089348FC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_gpr_4 = (90u << 16u); ctx.gpr[17] = (0u | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x0893491Cu); aot_gpr_4 = (aot_gpr_4 + static_cast(20160)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0893491Cu) goto L_0893491C; AOT_REGCACHE_SYNC_OUT(); return; L_0893491C: - aot_gpr_16 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08934934; @@ -2520,16 +2521,16 @@ L_0893491C: } L_08934928: aot_gpr_31 = (0x08934930u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 315u, 0x08AFDA60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08934930u) goto L_08934930; AOT_REGCACHE_SYNC_OUT(); return; L_08934930: - ctx.gpr[17] = (aot_gpr_16 | 0u); + ctx.gpr[17] = (ctx.gpr[16] | 0u); goto L_08934934; L_08934934: aot_gpr_5 = (2232u << 16u); ctx.gpr[7] = (2u << 16u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (aot_gpr_5 + static_cast(-11272)); aot_gpr_31 = (0x08934950u); @@ -2539,7 +2540,7 @@ L_08934934: L_08934950: aot_gpr_5 = (2232u << 16u); aot_gpr_4 = (ctx.gpr[17] | 0u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); ctx.gpr[7] = (0u + static_cast(-1)); aot_gpr_31 = (0x08934968u); aot_gpr_5 = (aot_gpr_5 + static_cast(-11220)); @@ -2562,16 +2563,16 @@ L_0893497C: ctx.pc = 0x08B7347Cu; AOT_REGCACHE_SYNC_OUT(); return; L_08934984: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(4160))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(4160))); aot_gpr_31 = (0x08934990u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); ctx.pc = 0x08B734ECu; AOT_REGCACHE_SYNC_OUT(); return; L_08934990: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -2609,7 +2610,7 @@ L_089349C8: goto L_089349E0; } L_089349E0: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-19670))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-19670))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -2632,7 +2633,7 @@ L_089349F4: L_089349FC: aot_gpr_4 = (0u | 1u); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-19670), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-19670), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08934A10; } @@ -2659,17 +2660,17 @@ L_08934A1C: AOT_REGCACHE_SYNC_OUT(); return; L_08934A24: aot_gpr_29 = (aot_gpr_29 + static_cast(-64)); - { const std::uint32_t aot_run_words[9]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], aot_gpr_31}; + { const std::uint32_t aot_run_words[9]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(24), aot_run_words); } ctx.gpr[17] = (ctx.gpr[10] | 0u); ctx.gpr[18] = (ctx.gpr[9] | 0u); ctx.gpr[19] = (ctx.gpr[8] | 0u); ctx.gpr[20] = (ctx.gpr[7] | 0u); - ctx.gpr[21] = (ctx.gpr[6] | 0u); + ctx.gpr[21] = (aot_gpr_6 | 0u); ctx.gpr[22] = (aot_gpr_5 | 0u); ctx.gpr[23] = (aot_gpr_4 | 0u); - aot_gpr_16 = (ctx.gpr[17] << 16u); - aot_gpr_16 = (static_cast(static_cast(aot_gpr_16) >> 16u)); + ctx.gpr[16] = (ctx.gpr[17] << 16u); + ctx.gpr[16] = (static_cast(static_cast(ctx.gpr[16]) >> 16u)); aot_gpr_31 = (0x08934A78u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0092_entry, 92u, 438u, 0x08975D4Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08934A78u) goto L_08934A78; @@ -2683,7 +2684,7 @@ L_08934A78: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(5), static_cast(ctx.gpr[19])); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(6), static_cast(ctx.gpr[18])); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(7), static_cast(ctx.gpr[17])); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-16976))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16976))); aot_gpr_4 = (15374u << 16u); aot_gpr_4 = (aot_gpr_4 | 64053u); aot_fpr_13 = std::bit_cast(aot_gpr_4); @@ -2698,7 +2699,7 @@ L_08934A78: ctx.execute_vfpu_vec3_ct<0u, 33u, 1u, 1u, 3u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<0u>()); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8896))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8896))); aot_gpr_5 = (16355u << 16u); aot_gpr_5 = (aot_gpr_5 | 36409u); aot_fpr_13 = get_effective_aspect_ratio(std::bit_cast(aot_gpr_5)); @@ -2709,16 +2710,16 @@ L_08934A78: AOT_REGCACHE_SYNC_OUT(); return; L_08934AE4: aot_gpr_31 = (0x08934AECu); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8896))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8896))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 394u, 0x08946158u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08934AECu) goto L_08934AEC; AOT_REGCACHE_SYNC_OUT(); return; L_08934AEC: aot_gpr_31 = (0x08934AF4u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8896))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8896))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0119_entry, 119u, 276u, 0x089E1640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08934AF4u) goto L_08934AF4; AOT_REGCACHE_SYNC_OUT(); return; L_08934AF4: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08934B24; @@ -2726,10 +2727,10 @@ L_08934AF4: goto L_08934AFC; } L_08934AFC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8896))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8896))); aot_gpr_5 = (aot_gpr_29 | 0u); aot_gpr_31 = (0x08934B0Cu); - ctx.gpr[6] = (0u | 6u); + aot_gpr_6 = (0u | 6u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 130u, 0x088908D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08934B0Cu) goto L_08934B0C; AOT_REGCACHE_SYNC_OUT(); return; L_08934B0C: @@ -2738,7 +2739,7 @@ L_08934B0C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 36u, 0x08AF431Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08934B14u) goto L_08934B14; AOT_REGCACHE_SYNC_OUT(); return; L_08934B14: - { const bool branch_taken = aot_gpr_16 != 0u; + { const bool branch_taken = ctx.gpr[16] != 0u; // nop if (branch_taken) { goto L_08934B2C; @@ -2755,41 +2756,41 @@ L_08934B1C: } L_08934B24: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08934B70; } goto L_08934B2C; } L_08934B2C: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-8744))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-8744))); aot_fpr_12 = std::bit_cast(0u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-8740))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-8740))); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_12)); aot_fpr_14 = std::bit_cast(aot_gpr_5); aot_gpr_4 = (aot_gpr_29 + static_cast(8)); - ctx.fpr[15] = std::bit_cast(ctx.gpr[6]); + aot_fpr_15 = std::bit_cast(aot_gpr_6); aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); aot_gpr_31 = (0x08934B54u); - ctx.fpr[15] = static_cast(static_cast(std::bit_cast(ctx.fpr[15]))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08934B54u) goto L_08934B54; + aot_fpr_15 = static_cast(static_cast(std::bit_cast(aot_fpr_15))); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08934B54u) goto L_08934B54; AOT_REGCACHE_SYNC_OUT(); return; L_08934B54: aot_gpr_5 = (aot_gpr_29 + static_cast(4)); - aot_gpr_4 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (aot_gpr_5 | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); + aot_gpr_6 = (aot_gpr_5 | 0u); ctx.gpr[7] = (aot_gpr_29 | 0u); aot_gpr_31 = (0x08934B6Cu); ctx.gpr[8] = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 138u, 0x08AF5328u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08934B6Cu) goto L_08934B6C; AOT_REGCACHE_SYNC_OUT(); return; L_08934B6C: - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); goto L_08934B70; L_08934B70: { std::uint32_t aot_run_words[9]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(24), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -2807,14 +2808,14 @@ L_08934B70: AOT_REGCACHE_SYNC_OUT(); return; L_08934B9C: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - { const std::uint32_t aot_run_words[11]{std::bit_cast(aot_fpr_20), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; + { const std::uint32_t aot_run_words[11]{std::bit_cast(ctx.fpr[20]), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(4), aot_run_words); } aot_gpr_4 = (aot_gpr_4 << 16u); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 16u)); ctx.gpr[30] = (aot_gpr_5 << 16u); ctx.gpr[30] = (static_cast(static_cast(ctx.gpr[30]) >> 16u)); aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(0), static_cast(aot_gpr_4)); - ctx.gpr[23] = (ctx.gpr[6] << 16u); + ctx.gpr[23] = (aot_gpr_6 << 16u); ctx.gpr[23] = (static_cast(static_cast(ctx.gpr[23]) >> 16u)); ctx.gpr[22] = (ctx.gpr[7] << 16u); ctx.gpr[22] = (static_cast(static_cast(ctx.gpr[22]) >> 16u)); @@ -2824,7 +2825,7 @@ L_08934B9C: ctx.gpr[20] = (static_cast(static_cast(ctx.gpr[20]) >> 16u)); ctx.gpr[19] = (ctx.gpr[10] << 16u); ctx.gpr[19] = (static_cast(static_cast(ctx.gpr[19]) >> 16u)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-16976))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16976))); aot_gpr_4 = (15374u << 16u); aot_gpr_4 = (aot_gpr_4 | 64053u); aot_fpr_13 = std::bit_cast(aot_gpr_4); @@ -2838,34 +2839,34 @@ L_08934B9C: ctx.execute_vfpu_vrot_ct<1u, 64u, 2u, 4u>(); ctx.execute_vfpu_vec3_ct<0u, 33u, 1u, 1u, 3u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<0u>()); - aot_fpr_20 = std::bit_cast(aot_gpr_4); + ctx.fpr[20] = std::bit_cast(aot_gpr_4); aot_gpr_31 = (0x08934C44u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0092_entry, 92u, 438u, 0x08975D4Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08934C44u) goto L_08934C44; AOT_REGCACHE_SYNC_OUT(); return; L_08934C44: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8896))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8896))); aot_gpr_5 = (16355u << 16u); aot_gpr_5 = (aot_gpr_5 | 36409u); aot_fpr_13 = get_effective_aspect_ratio(std::bit_cast(aot_gpr_5)); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08934C60u); - aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); + aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_fpr_12 = widen_horizontal_extent(aot_fpr_12); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0077_entry, 77u, 586u, 0x0893A7A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08934C60u) goto L_08934C60; AOT_REGCACHE_SYNC_OUT(); return; L_08934C60: aot_gpr_31 = (0x08934C68u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8896))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8896))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 394u, 0x08946158u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08934C68u) goto L_08934C68; AOT_REGCACHE_SYNC_OUT(); return; L_08934C68: aot_gpr_31 = (0x08934C70u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8896))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8896))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0119_entry, 119u, 276u, 0x089E1640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08934C70u) goto L_08934C70; AOT_REGCACHE_SYNC_OUT(); return; L_08934C70: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; ctx.gpr[17] = (2236u << 16u); if (branch_taken) { goto L_08934CB8; @@ -2883,10 +2884,10 @@ L_08934C78: aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[17]); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(112)))))); - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); aot_gpr_5 = (0u | 16u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; - ctx.gpr[18] = (aot_gpr_28 + static_cast(8892)); + ctx.gpr[18] = (ctx.gpr[28] + static_cast(8892)); if (branch_taken) { goto L_08934CC0; } @@ -2902,7 +2903,7 @@ L_08934CB0: } L_08934CB8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08934D60; } @@ -2914,7 +2915,7 @@ L_08934CC0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08934CC8u) goto L_08934CC8; AOT_REGCACHE_SYNC_OUT(); return; L_08934CC8: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08934CF4; @@ -2927,7 +2928,7 @@ L_08934CD0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08934CD8u) goto L_08934CD8; AOT_REGCACHE_SYNC_OUT(); return; L_08934CD8: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(852))); aot_gpr_5 = (0u | 4u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; aot_gpr_5 = (0u | 5u); @@ -2945,11 +2946,11 @@ L_08934CE8: goto L_08934CF0; } L_08934CF0: - aot_gpr_16 = (0u | 1u); + ctx.gpr[16] = (0u | 1u); goto L_08934CF4; L_08934CF4: - { const bool branch_taken = aot_gpr_16 == 0u; - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8896))); + { const bool branch_taken = ctx.gpr[16] == 0u; + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8896))); if (branch_taken) { goto L_08934D10; } @@ -2958,7 +2959,7 @@ L_08934CF4: L_08934CFC: aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08934D08u); - ctx.gpr[6] = (0u | 7u); + aot_gpr_6 = (0u | 7u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 130u, 0x088908D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08934D08u) goto L_08934D08; AOT_REGCACHE_SYNC_OUT(); return; L_08934D08: @@ -2972,7 +2973,7 @@ L_08934D08: L_08934D10: aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08934D1Cu); - ctx.gpr[6] = (0u | 6u); + aot_gpr_6 = (0u | 6u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 130u, 0x088908D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08934D1Cu) goto L_08934D1C; AOT_REGCACHE_SYNC_OUT(); return; L_08934D1C: @@ -2981,21 +2982,21 @@ L_08934D1C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0134_entry, 134u, 270u, 0x08A1D628u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08934D24u) goto L_08934D24; AOT_REGCACHE_SYNC_OUT(); return; L_08934D24: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(1360))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1360))); aot_gpr_31 = (0x08934D30u); aot_gpr_4 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08934D30u) goto L_08934D30; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08934D30u) goto L_08934D30; AOT_REGCACHE_SYNC_OUT(); return; L_08934D30: aot_gpr_4 = (0u | 7u); aot_gpr_31 = (0x08934D3Cu); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08934D3Cu) goto L_08934D3C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08934D3Cu) goto L_08934D3C; AOT_REGCACHE_SYNC_OUT(); return; L_08934D3C: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(0)))))); aot_gpr_5 = (ctx.gpr[30] | 0u); - ctx.gpr[6] = (ctx.gpr[23] | 0u); + aot_gpr_6 = (ctx.gpr[23] | 0u); ctx.gpr[7] = (ctx.gpr[22] | 0u); ctx.gpr[8] = (ctx.gpr[21] | 0u); ctx.gpr[9] = (ctx.gpr[20] | 0u); @@ -3004,13 +3005,13 @@ L_08934D3C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0034_entry, 34u, 374u, 0x0888DF50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08934D5Cu) goto L_08934D5C; AOT_REGCACHE_SYNC_OUT(); return; L_08934D5C: - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); goto L_08934D60; L_08934D60: { std::uint32_t aot_run_words[11]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(4), aot_run_words); - aot_fpr_20 = std::bit_cast(aot_run_words[0]); - aot_gpr_16 = aot_run_words[1]; + ctx.fpr[20] = std::bit_cast(aot_run_words[0]); + ctx.gpr[16] = aot_run_words[1]; ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; ctx.gpr[19] = aot_run_words[4]; @@ -3044,14 +3045,14 @@ L_08934DA4: AOT_REGCACHE_SYNC_OUT(); return; L_08934DB0: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[16], ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_31 = (0x08934DC8u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 744u, 0x08A071F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08934DC8u) goto L_08934DC8; AOT_REGCACHE_SYNC_OUT(); return; L_08934DC8: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08934DFC; @@ -3059,8 +3060,8 @@ L_08934DC8: goto L_08934DD0; } L_08934DD0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-8808))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(6552))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-8808))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(6552))); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop if (branch_taken) { @@ -3069,10 +3070,10 @@ L_08934DD0: goto L_08934DE0; } L_08934DE0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-8808))); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(6552), aot_gpr_4); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); - { const bool branch_taken = aot_gpr_16 == 0u; + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-8808))); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(6552), aot_gpr_4); + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08934E04; @@ -3096,13 +3097,13 @@ L_08934DFC: goto L_08934E04; } L_08934E04: - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); aot_gpr_31 = (0x08934E10u); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08934E10u) goto L_08934E10; AOT_REGCACHE_SYNC_OUT(); return; L_08934E10: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { @@ -3113,21 +3114,21 @@ L_08934E10: L_08934E1C: aot_gpr_31 = (0x08934E24u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08934E24u) goto L_08934E24; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08934E24u) goto L_08934E24; AOT_REGCACHE_SYNC_OUT(); return; L_08934E24: - aot_gpr_16 = (ctx.gpr[17] | 0u); + ctx.gpr[16] = (ctx.gpr[17] | 0u); goto L_08934E28; L_08934E28: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), ctx.gpr[16]); goto L_08934E2C; L_08934E2C: aot_gpr_31 = (0x08934E34u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 411u, 0x089F6318u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08934E34u) goto L_08934E34; AOT_REGCACHE_SYNC_OUT(); return; L_08934E34: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08934EA4; @@ -3135,22 +3136,22 @@ L_08934E34: goto L_08934E3C; } L_08934E3C: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); - { const bool branch_taken = aot_gpr_16 != 0u; - aot_gpr_5 = (aot_gpr_28 + static_cast(-19600)); + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); + { const bool branch_taken = ctx.gpr[16] != 0u; + aot_gpr_5 = (ctx.gpr[28] + static_cast(-19600)); if (branch_taken) { goto L_08934E74; } goto L_08934E48; } L_08934E48: - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); aot_gpr_31 = (0x08934E54u); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08934E54u) goto L_08934E54; AOT_REGCACHE_SYNC_OUT(); return; L_08934E54: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { @@ -3161,22 +3162,22 @@ L_08934E54: L_08934E60: aot_gpr_31 = (0x08934E68u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08934E68u) goto L_08934E68; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08934E68u) goto L_08934E68; AOT_REGCACHE_SYNC_OUT(); return; L_08934E68: - aot_gpr_16 = (ctx.gpr[17] | 0u); + ctx.gpr[16] = (ctx.gpr[17] | 0u); goto L_08934E6C; L_08934E6C: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); - aot_gpr_5 = (aot_gpr_28 + static_cast(-19600)); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), ctx.gpr[16]); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-19600)); goto L_08934E74; L_08934E74: aot_gpr_31 = (0x08934E7Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 441u, 0x089F64FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08934E7Cu) goto L_08934E7C; AOT_REGCACHE_SYNC_OUT(); return; L_08934E7C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08934EA4; @@ -3184,7 +3185,7 @@ L_08934E7C: goto L_08934E84; } L_08934E84: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-19656))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-19656))); aot_fpr_13 = std::bit_cast(0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(aot_fpr_13)) && aot_fpr_12 == aot_fpr_13)) ? 0x00800000u : 0u); // nop @@ -3217,7 +3218,7 @@ L_08934EAC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0077_entry, 77u, 302u, 0x08939298u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08934EB4u) goto L_08934EB4; AOT_REGCACHE_SYNC_OUT(); return; L_08934EB4: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08934F0C; @@ -3227,7 +3228,7 @@ L_08934EB4: L_08934EBC: aot_gpr_4 = (0u | 0u); aot_gpr_5 = (0u | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); @@ -3235,7 +3236,7 @@ L_08934EBC: ctx.gpr[10] = (0u | 255u); goto L_08934A24; L_08934EDC: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08934F14; @@ -3275,7 +3276,7 @@ L_08934F0C: L_08934F14: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -3288,10 +3289,10 @@ L_08934F14: L_08934F28: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_4 = (aot_gpr_4 & 255u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), std::bit_cast(ctx.fpr[20])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); { const bool branch_taken = aot_gpr_4 == 0u; - aot_fpr_20 = std::bit_cast(0u); + ctx.fpr[20] = std::bit_cast(0u); if (branch_taken) { goto L_08934FBC; } @@ -3305,7 +3306,7 @@ L_08934F40: AOT_REGCACHE_SYNC_OUT(); return; L_08934F4C: aot_gpr_4 = (0u | 2u); - { const bool branch_taken = ctx.gpr[2] != aot_gpr_4; + { const bool branch_taken = aot_gpr_2 != aot_gpr_4; // nop if (branch_taken) { goto L_08934FBC; @@ -3313,8 +3314,8 @@ L_08934F4C: goto L_08934F58; } L_08934F58: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-19656))); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(aot_fpr_20)) && aot_fpr_12 == aot_fpr_20)) ? 0x00800000u : 0u); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-19656))); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(ctx.fpr[20])) && aot_fpr_12 == ctx.fpr[20])) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -3331,9 +3332,9 @@ L_08934F6C: L_08934F74: ctx.gpr[7] = (aot_gpr_29 + static_cast(4)); aot_gpr_5 = (ctx.gpr[3] | 0u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08934F88u); - ctx.gpr[6] = (aot_gpr_29 | 0u); + aot_gpr_6 = (aot_gpr_29 | 0u); ctx.pc = 0x08B7343Cu; AOT_REGCACHE_SYNC_OUT(); return; L_08934F88: @@ -3349,14 +3350,14 @@ L_08934F88: { const float fs = aot_fpr_12; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = aot_fpr_12 + aot_fpr_13; { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-19656), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-19656), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_08934FC0; } goto L_08934FBC; } L_08934FBC: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-19656), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-19656), std::bit_cast(ctx.fpr[20])); goto L_08934FC0; L_08934FC0: aot_gpr_31 = (0x08934FC8u); @@ -3364,7 +3365,7 @@ L_08934FC0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0075_entry, 75u, 590u, 0x08932C9Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08934FC8u) goto L_08934FC8; AOT_REGCACHE_SYNC_OUT(); return; L_08934FC8: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-7080))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7080))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -3376,16 +3377,16 @@ L_08934FD4: aot_gpr_4 = (15395u << 16u); aot_gpr_4 = (aot_gpr_4 | 55050u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8896))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8896))); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-8728), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-8728), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_08935034; } goto L_08934FEC; } L_08934FEC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5864))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5864))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -3400,12 +3401,12 @@ L_08934FF8: AOT_REGCACHE_SYNC_OUT(); return; L_08935000: aot_gpr_31 = (0x08935008u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5864))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5864))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0084_entry, 84u, 121u, 0x08954778u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08935008u) goto L_08935008; AOT_REGCACHE_SYNC_OUT(); return; L_08935008: - { const bool branch_taken = ctx.gpr[2] != 0u; - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8896))); + { const bool branch_taken = aot_gpr_2 != 0u; + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8896))); if (branch_taken) { goto L_08935024; } @@ -3416,7 +3417,7 @@ L_08935010: aot_gpr_5 = (aot_gpr_5 | 4719u); aot_fpr_12 = std::bit_cast(aot_gpr_5); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-8728), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-8728), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_08935034; } @@ -3426,7 +3427,7 @@ L_08935024: aot_gpr_5 = (14545u << 16u); aot_gpr_5 = (aot_gpr_5 | 46871u); aot_fpr_12 = std::bit_cast(aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-8728), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-8728), std::bit_cast(aot_fpr_12)); goto L_08935034; L_08935034: aot_gpr_31 = (0x0893503Cu); @@ -3435,11 +3436,11 @@ L_08935034: AOT_REGCACHE_SYNC_OUT(); return; L_0893503C: aot_gpr_31 = (0x08935044u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8896))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8896))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0119_entry, 119u, 274u, 0x089E1620u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08935044u) goto L_08935044; AOT_REGCACHE_SYNC_OUT(); return; L_08935044: - aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); + ctx.fpr[20] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -3449,7 +3450,7 @@ L_08935044: AOT_REGCACHE_SYNC_OUT(); return; L_08935054: jump_target = aot_gpr_31; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -3462,7 +3463,7 @@ L_0893505C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0119_entry, 119u, 312u, 0x089E17DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0893506Cu) goto L_0893506C; AOT_REGCACHE_SYNC_OUT(); return; L_0893506C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08935084; @@ -3483,7 +3484,7 @@ L_0893507C: goto L_08935084; } L_08935084: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_08935088; L_08935088: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -3495,7 +3496,7 @@ L_08935088: AOT_REGCACHE_SYNC_OUT(); return; L_08935094: jump_target = aot_gpr_31; - ctx.gpr[2] = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-19682))); + aot_gpr_2 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-19682))); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -3503,12 +3504,12 @@ L_08935094: L_0893509C: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[17]); - ctx.gpr[17] = (aot_gpr_28 + static_cast(-19652)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_16); + ctx.gpr[17] = (ctx.gpr[28] + static_cast(-19652)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[16]); { const std::uint32_t aot_run_words[4]{ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(16), aot_run_words); } { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_089350F4; } @@ -3516,15 +3517,15 @@ L_0893509C: } L_089350C4: aot_gpr_4 = (0u | 1u); - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-19682), static_cast(aot_gpr_4)); - ctx.gpr[18] = (aot_gpr_28 + static_cast(-19592)); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-19682), static_cast(aot_gpr_4)); + ctx.gpr[18] = (ctx.gpr[28] + static_cast(-19592)); aot_gpr_31 = (0x089350D8u); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0170_entry, 170u, 584u, 0x08AAECA4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089350D8u) goto L_089350D8; AOT_REGCACHE_SYNC_OUT(); return; L_089350D8: ctx.gpr[20] = (2237u << 16u); - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); aot_gpr_4 = (0u + static_cast(-1)); { const bool branch_taken = ctx.gpr[19] == aot_gpr_4; ctx.gpr[20] = (ctx.gpr[20] + static_cast(-28416)); @@ -3543,7 +3544,7 @@ L_089350EC: } L_089350F4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (ctx.gpr[17] | 0u); + aot_gpr_2 = (ctx.gpr[17] | 0u); if (branch_taken) { goto L_089352C4; } @@ -3555,7 +3556,7 @@ L_089350FC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0170_entry, 170u, 571u, 0x08AAEBC8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08935104u) goto L_08935104; AOT_REGCACHE_SYNC_OUT(); return; L_08935104: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); goto L_08935108; L_08935108: { const bool branch_taken = static_cast(ctx.gpr[19]) < 0; @@ -3566,7 +3567,7 @@ L_08935108: goto L_08935110; } L_08935110: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-2816))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-2816))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); aot_gpr_5 = (static_cast(ctx.gpr[19]) < static_cast(aot_gpr_5) ? 1u : 0u); if (aot_gpr_5 != 0u) { @@ -3605,8 +3606,8 @@ L_08935144: } L_08935150: aot_gpr_5 = (ctx.gpr[19] << 5u); - ctx.gpr[6] = (ctx.gpr[19] << 2u); - aot_gpr_5 = (aot_gpr_5 - ctx.gpr[6]); + aot_gpr_6 = (ctx.gpr[19] << 2u); + aot_gpr_5 = (aot_gpr_5 - aot_gpr_6); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); goto L_08935164; @@ -3620,11 +3621,11 @@ L_08935164: } L_0893516C: aot_gpr_31 = (0x08935174u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 359u, 0x08A65A24u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08935174u) goto L_08935174; AOT_REGCACHE_SYNC_OUT(); return; L_08935174: - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); goto L_08935178; L_08935178: { const bool branch_taken = aot_gpr_5 == 0u; @@ -3648,7 +3649,7 @@ L_0893518C: // nop goto L_089352E4; L_08935194: - ctx.gpr[18] = (aot_gpr_28 + static_cast(5824)); + ctx.gpr[18] = (ctx.gpr[28] + static_cast(5824)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); aot_gpr_5 = (2232u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[18]); @@ -3660,11 +3661,11 @@ L_08935194: L_089351B0: aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_31 = (0x089351BCu); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 737u, 0x08B670D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089351BCu) goto L_089351BC; AOT_REGCACHE_SYNC_OUT(); return; L_089351BC: - aot_gpr_5 = (aot_gpr_28 + static_cast(-19584)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-19584)); aot_gpr_31 = (0x089351C8u); aot_gpr_4 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 737u, 0x08B670D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089351C8u) goto L_089351C8; @@ -3682,7 +3683,7 @@ L_089351D4: } goto L_089351DC; L_089351DC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-2816))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-2816))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); aot_gpr_5 = (static_cast(ctx.gpr[19]) < static_cast(aot_gpr_5) ? 1u : 0u); if (aot_gpr_5 != 0u) { @@ -3721,8 +3722,8 @@ L_08935210: } L_0893521C: aot_gpr_5 = (ctx.gpr[19] << 5u); - ctx.gpr[6] = (ctx.gpr[19] << 2u); - aot_gpr_5 = (aot_gpr_5 - ctx.gpr[6]); + aot_gpr_6 = (ctx.gpr[19] << 2u); + aot_gpr_5 = (aot_gpr_5 - aot_gpr_6); ctx.gpr[19] = (aot_gpr_4 + aot_gpr_5); ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(0))); goto L_08935230; @@ -3733,20 +3734,20 @@ L_08935230: AOT_REGCACHE_SYNC_OUT(); return; L_08935238: aot_gpr_31 = (0x08935240u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 377u, 0x08A65B34u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08935240u) goto L_08935240; AOT_REGCACHE_SYNC_OUT(); return; L_08935240: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-19652), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-19652), aot_gpr_2); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (0u | 1u); aot_gpr_31 = (0x08935254u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0030_entry, 30u, 728u, 0x0887F5E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08935254u) goto L_08935254; AOT_REGCACHE_SYNC_OUT(); return; L_08935254: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); - { const bool branch_taken = aot_gpr_16 == ctx.gpr[18]; + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + { const bool branch_taken = ctx.gpr[16] == ctx.gpr[18]; aot_gpr_4 = (2236u << 16u); if (branch_taken) { goto L_0893526C; @@ -3754,13 +3755,13 @@ L_08935254: goto L_08935260; } L_08935260: - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x0893526Cu); aot_gpr_4 = (aot_gpr_4 + static_cast(25856)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0893526Cu) goto L_0893526C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0893526Cu) goto L_0893526C; AOT_REGCACHE_SYNC_OUT(); return; L_0893526C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7688))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7688))); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_4 = (0u | 1u); if (branch_taken) { @@ -3769,15 +3770,15 @@ L_0893526C: goto L_08935278; } L_08935278: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(7688), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7688), aot_gpr_4); aot_gpr_31 = (0x08935284u); aot_gpr_4 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0010_entry, 10u, 286u, 0x0882D794u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08935284u) goto L_08935284; AOT_REGCACHE_SYNC_OUT(); return; L_08935284: aot_gpr_31 = (0x0893528Cu); - aot_gpr_4 = (aot_gpr_28 + static_cast(-19644)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0893528Cu) goto L_0893528C; + aot_gpr_4 = (ctx.gpr[28] + static_cast(-19644)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0893528Cu) goto L_0893528C; AOT_REGCACHE_SYNC_OUT(); return; L_0893528C: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[20] + static_cast(43))); @@ -3789,7 +3790,7 @@ L_0893528C: goto L_08935298; } L_08935298: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7688))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7688))); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_4 = (0u | 1u); if (branch_taken) { @@ -3798,15 +3799,15 @@ L_08935298: goto L_089352A4; } L_089352A4: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(7688), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7688), aot_gpr_4); aot_gpr_31 = (0x089352B0u); aot_gpr_4 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0010_entry, 10u, 286u, 0x0882D794u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089352B0u) goto L_089352B0; AOT_REGCACHE_SYNC_OUT(); return; L_089352B0: aot_gpr_31 = (0x089352B8u); - aot_gpr_4 = (aot_gpr_28 + static_cast(-19644)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089352B8u) goto L_089352B8; + aot_gpr_4 = (ctx.gpr[28] + static_cast(-19644)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089352B8u) goto L_089352B8; AOT_REGCACHE_SYNC_OUT(); return; L_089352B8: aot_gpr_31 = (0x089352C0u); @@ -3814,12 +3815,12 @@ L_089352B8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0010_entry, 10u, 616u, 0x0882E9E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089352C0u) goto L_089352C0; AOT_REGCACHE_SYNC_OUT(); return; L_089352C0: - ctx.gpr[2] = (ctx.gpr[17] | 0u); + aot_gpr_2 = (ctx.gpr[17] | 0u); goto L_089352C4; L_089352C4: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(8), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -3834,17 +3835,17 @@ L_089352C4: AOT_REGCACHE_SYNC_OUT(); return; L_089352E4: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-19682), static_cast(0u)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-19682), static_cast(0u)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x089352FCu); - aot_gpr_4 = (aot_gpr_28 + static_cast(-19592)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(-19592)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0170_entry, 170u, 584u, 0x08AAECA4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089352FCu) goto L_089352FC; AOT_REGCACHE_SYNC_OUT(); return; L_089352FC: - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (aot_gpr_2 | 0u); aot_gpr_4 = (0u + static_cast(-1)); - { const bool branch_taken = aot_gpr_16 == aot_gpr_4; + { const bool branch_taken = ctx.gpr[16] == aot_gpr_4; // nop if (branch_taken) { goto L_08935390; @@ -3852,7 +3853,7 @@ L_089352FC: goto L_0893530C; } L_0893530C: - { const bool branch_taken = static_cast(aot_gpr_16) < 0; + { const bool branch_taken = static_cast(ctx.gpr[16]) < 0; aot_gpr_4 = (0u | 0u); if (branch_taken) { goto L_0893532C; @@ -3860,9 +3861,9 @@ L_0893530C: goto L_08935314; } L_08935314: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-2816))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-2816))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); - aot_gpr_5 = (static_cast(aot_gpr_16) < static_cast(aot_gpr_5) ? 1u : 0u); + aot_gpr_5 = (static_cast(ctx.gpr[16]) < static_cast(aot_gpr_5) ? 1u : 0u); if (aot_gpr_5 != 0u) { aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); goto L_08935334; @@ -3880,7 +3881,7 @@ L_0893532C: goto L_08935334; } L_08935334: - aot_gpr_5 = (aot_gpr_5 + aot_gpr_16); + aot_gpr_5 = (aot_gpr_5 + ctx.gpr[16]); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0))); aot_gpr_5 = (aot_gpr_5 & 128u); if (aot_gpr_5 == 0u) { @@ -3898,9 +3899,9 @@ L_08935348: goto L_08935354; } L_08935354: - aot_gpr_5 = (aot_gpr_16 << 5u); - ctx.gpr[6] = (aot_gpr_16 << 2u); - aot_gpr_5 = (aot_gpr_5 - ctx.gpr[6]); + aot_gpr_5 = (ctx.gpr[16] << 5u); + aot_gpr_6 = (ctx.gpr[16] << 2u); + aot_gpr_5 = (aot_gpr_5 - aot_gpr_6); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); goto L_08935368; @@ -3918,19 +3919,19 @@ L_08935370: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 787u, 0x08A07508u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08935378u) goto L_08935378; AOT_REGCACHE_SYNC_OUT(); return; L_08935378: - aot_gpr_4 = (aot_gpr_28 + static_cast(-19652)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(-19652)); aot_gpr_31 = (0x08935384u); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0030_entry, 30u, 736u, 0x0887F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08935384u) goto L_08935384; AOT_REGCACHE_SYNC_OUT(); return; L_08935384: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-19652), 0u); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-19652), 0u); aot_gpr_31 = (0x08935390u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0170_entry, 170u, 621u, 0x08AAEEA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08935390u) goto L_08935390; AOT_REGCACHE_SYNC_OUT(); return; L_08935390: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -3940,9 +3941,9 @@ L_08935390: AOT_REGCACHE_SYNC_OUT(); return; L_089353A0: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-19564))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-19564))); aot_gpr_5 = (0u + static_cast(-1)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -3954,72 +3955,72 @@ L_089353A0: L_089353BC: aot_gpr_31 = (0x089353C4u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089353C4u) goto L_089353C4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089353C4u) goto L_089353C4; AOT_REGCACHE_SYNC_OUT(); return; L_089353C4: - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-19540))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-19544))); - aot_gpr_4 = (ctx.gpr[2] | 0u); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-19540))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-19544))); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x089353D8u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089353D8u) goto L_089353D8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089353D8u) goto L_089353D8; AOT_REGCACHE_SYNC_OUT(); return; L_089353D8: ctx.gpr[1] = (ctx.gpr[3] << 1u); - aot_gpr_4 = (ctx.gpr[2] >> 31u); + aot_gpr_4 = (aot_gpr_2 >> 31u); aot_gpr_5 = (static_cast(static_cast(ctx.gpr[3]) >> 31u)); aot_gpr_4 = (ctx.gpr[1] | aot_gpr_4); aot_gpr_4 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-19564), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-19564), aot_gpr_4); goto L_089353F0; L_089353F0: aot_gpr_31 = (0x089353F8u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089353F8u) goto L_089353F8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089353F8u) goto L_089353F8; AOT_REGCACHE_SYNC_OUT(); return; L_089353F8: - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-19532))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-19536))); - aot_gpr_4 = (ctx.gpr[2] | 0u); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-19532))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-19536))); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x0893540Cu); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0893540Cu) goto L_0893540C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0893540Cu) goto L_0893540C; AOT_REGCACHE_SYNC_OUT(); return; L_0893540C: ctx.gpr[1] = (ctx.gpr[3] << 1u); - aot_gpr_4 = (ctx.gpr[2] >> 31u); + aot_gpr_4 = (aot_gpr_2 >> 31u); aot_gpr_5 = (static_cast(static_cast(ctx.gpr[3]) >> 31u)); aot_gpr_4 = (ctx.gpr[1] | aot_gpr_4); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-19564))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-19564))); aot_gpr_4 = (aot_gpr_4 | 0u); - aot_gpr_5 = (ctx.gpr[6] + ctx.gpr[6]); - aot_gpr_5 = (aot_gpr_28 + aot_gpr_5); + aot_gpr_5 = (aot_gpr_6 + aot_gpr_6); + aot_gpr_5 = (ctx.gpr[28] + aot_gpr_5); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(-19579))); - aot_gpr_5 = (ctx.gpr[6] + static_cast(1)); - ctx.gpr[6] = (0u | 6u); - { const bool branch_taken = aot_gpr_5 != ctx.gpr[6]; - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-19564), aot_gpr_5); + aot_gpr_5 = (aot_gpr_6 + static_cast(1)); + aot_gpr_6 = (0u | 6u); + { const bool branch_taken = aot_gpr_5 != aot_gpr_6; + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-19564), aot_gpr_5); if (branch_taken) { goto L_08935448; } goto L_08935444; } L_08935444: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-19564), 0u); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-19564), 0u); goto L_08935448; L_08935448: - ctx.gpr[6] = (aot_gpr_4 | 0u); + aot_gpr_6 = (aot_gpr_4 | 0u); aot_gpr_4 = (2236u << 16u); - aot_gpr_16 = (aot_gpr_4 + static_cast(-19296)); - aot_gpr_5 = (aot_gpr_28 + static_cast(-19560)); + ctx.gpr[16] = (aot_gpr_4 + static_cast(-19296)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-19560)); aot_gpr_31 = (0x08935460u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0212_entry, 212u, 576u, 0x08B562D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08935460u) goto L_08935460; AOT_REGCACHE_SYNC_OUT(); return; L_08935460: - ctx.gpr[2] = (aot_gpr_16 | 0u); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_2 = (ctx.gpr[16] | 0u); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -4031,7 +4032,7 @@ L_08935474: aot_gpr_4 = (2234u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-9176)); jump_target = aot_gpr_31; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); + aot_gpr_2 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -4039,113 +4040,113 @@ L_08935474: L_08935484: aot_fpr_12 = std::bit_cast(0u); jump_target = aot_gpr_31; - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-19668), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-19668), std::bit_cast(aot_fpr_12)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08935490: aot_gpr_29 = (aot_gpr_29 + static_cast(-64)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-8744))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-8744))); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_13))); aot_gpr_4 = (16448u << 16u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), std::bit_cast(aot_fpr_20)); - aot_fpr_20 = std::bit_cast(aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-8740))); - { const float fs = aot_fpr_13; const float ft = aot_fpr_20; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), std::bit_cast(ctx.fpr[20])); + ctx.fpr[20] = std::bit_cast(aot_gpr_4); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-8740))); + { const float fs = aot_fpr_13; const float ft = ctx.fpr[20]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_fpr_14 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), std::bit_cast(ctx.fpr[22])); aot_gpr_4 = (16000u << 16u); ctx.fpr[22] = std::bit_cast(aot_gpr_4); aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); { const float fs = aot_fpr_13; const float ft = ctx.fpr[22]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } - ctx.fpr[15] = aot_fpr_13 / aot_fpr_14; + aot_fpr_15 = aot_fpr_13 / aot_fpr_14; aot_gpr_4 = (17297u << 16u); aot_gpr_5 = (aot_gpr_4 | 32768u); aot_fpr_13 = std::bit_cast(aot_gpr_5); - aot_fpr_13 = aot_fpr_13 / ctx.fpr[15]; + aot_fpr_13 = aot_fpr_13 / aot_fpr_15; aot_gpr_4 = (17305u << 16u); - ctx.gpr[6] = (aot_gpr_4 | 32768u); + aot_gpr_6 = (aot_gpr_4 | 32768u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), std::bit_cast(ctx.fpr[24])); ctx.gpr[7] = (16864u << 16u); ctx.gpr[8] = (17166u << 16u); aot_gpr_4 = (aot_gpr_29 | 0u); - { const std::uint32_t aot_run_words[6]{std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), aot_gpr_16, ctx.gpr[17], aot_gpr_31}; + { const std::uint32_t aot_run_words[6]{std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), ctx.gpr[16], ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(32), aot_run_words); } ctx.fpr[24] = std::bit_cast(std::bit_cast(aot_fpr_12)); - ctx.fpr[16] = std::bit_cast(ctx.gpr[6]); + ctx.fpr[16] = std::bit_cast(aot_gpr_6); aot_fpr_12 = std::bit_cast(ctx.gpr[7]); - ctx.fpr[15] = ctx.fpr[16] / ctx.fpr[15]; + aot_fpr_15 = ctx.fpr[16] / aot_fpr_15; aot_gpr_31 = (0x08935528u); aot_fpr_14 = std::bit_cast(ctx.gpr[8]); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08935528u) goto L_08935528; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08935528u) goto L_08935528; AOT_REGCACHE_SYNC_OUT(); return; L_08935528: - aot_gpr_16 = (aot_gpr_29 + static_cast(16)); - ctx.gpr[17] = (ctx.gpr[2] | 0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + ctx.gpr[16] = (aot_gpr_29 + static_cast(16)); + ctx.gpr[17] = (aot_gpr_2 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x08935548u); ctx.gpr[8] = (0u | 204u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08935548u) goto L_08935548; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08935548u) goto L_08935548; AOT_REGCACHE_SYNC_OUT(); return; L_08935548: aot_gpr_4 = (ctx.gpr[17] | 0u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08935558u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 107u, 0x08AF5130u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08935558u) goto L_08935558; AOT_REGCACHE_SYNC_OUT(); return; L_08935558: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-8744))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-8744))); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); - { const float fs = aot_fpr_12; const float ft = aot_fpr_20; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-8740))); + { const float fs = aot_fpr_12; const float ft = ctx.fpr[20]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-8740))); aot_fpr_13 = std::bit_cast(aot_gpr_5); aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_13))); { const float fs = aot_fpr_12; const float ft = ctx.fpr[22]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - ctx.fpr[15] = aot_fpr_12 / aot_fpr_13; + aot_fpr_15 = aot_fpr_12 / aot_fpr_13; aot_gpr_5 = (17296u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_5); - aot_fpr_13 = aot_fpr_13 / ctx.fpr[15]; - ctx.gpr[6] = (17304u << 16u); + aot_fpr_13 = aot_fpr_13 / aot_fpr_15; + aot_gpr_6 = (17304u << 16u); ctx.gpr[8] = (17163u << 16u); ctx.gpr[7] = (16840u << 16u); aot_gpr_4 = (aot_gpr_29 | 0u); - ctx.fpr[16] = std::bit_cast(ctx.gpr[6]); + ctx.fpr[16] = std::bit_cast(aot_gpr_6); aot_fpr_14 = std::bit_cast(ctx.gpr[8]); - ctx.fpr[15] = ctx.fpr[16] / ctx.fpr[15]; + aot_fpr_15 = ctx.fpr[16] / aot_fpr_15; aot_gpr_31 = (0x089355ACu); aot_fpr_12 = std::bit_cast(ctx.gpr[7]); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089355ACu) goto L_089355AC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089355ACu) goto L_089355AC; AOT_REGCACHE_SYNC_OUT(); return; L_089355AC: - ctx.gpr[17] = (ctx.gpr[2] | 0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x089355C8u); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089355C8u) goto L_089355C8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089355C8u) goto L_089355C8; AOT_REGCACHE_SYNC_OUT(); return; L_089355C8: aot_gpr_4 = (ctx.gpr[17] | 0u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x089355D8u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 107u, 0x08AF5130u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089355D8u) goto L_089355D8; AOT_REGCACHE_SYNC_OUT(); return; L_089355D8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-8744))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-8744))); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); - { const float fs = aot_fpr_12; const float ft = aot_fpr_20; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-8740))); + { const float fs = aot_fpr_12; const float ft = ctx.fpr[20]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-8740))); aot_fpr_13 = std::bit_cast(aot_gpr_5); aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_13))); { const float fs = aot_fpr_12; const float ft = ctx.fpr[22]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } @@ -4153,11 +4154,11 @@ L_089355D8: aot_gpr_4 = (17296u << 16u); aot_gpr_5 = (aot_gpr_4 | 32768u); aot_gpr_4 = (17303u << 16u); - ctx.gpr[6] = (aot_gpr_4 | 32768u); + aot_gpr_6 = (aot_gpr_4 | 32768u); ctx.fpr[26] = std::bit_cast(aot_gpr_5); - ctx.fpr[28] = std::bit_cast(ctx.gpr[6]); + ctx.fpr[28] = std::bit_cast(aot_gpr_6); aot_fpr_13 = ctx.fpr[26] / aot_fpr_12; - ctx.fpr[15] = ctx.fpr[28] / aot_fpr_12; + aot_fpr_15 = ctx.fpr[28] / aot_fpr_12; ctx.gpr[7] = (16848u << 16u); ctx.gpr[8] = (17162u << 16u); aot_gpr_4 = (aot_gpr_29 | 0u); @@ -4165,73 +4166,73 @@ L_089355D8: aot_fpr_14 = std::bit_cast(ctx.gpr[8]); aot_gpr_31 = (0x08935638u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[30])); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08935638u) goto L_08935638; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08935638u) goto L_08935638; AOT_REGCACHE_SYNC_OUT(); return; L_08935638: - ctx.gpr[17] = (ctx.gpr[2] | 0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 255u); - ctx.gpr[6] = (0u | 255u); + aot_gpr_6 = (0u | 255u); ctx.gpr[7] = (0u | 255u); aot_gpr_31 = (0x08935654u); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08935654u) goto L_08935654; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08935654u) goto L_08935654; AOT_REGCACHE_SYNC_OUT(); return; L_08935654: aot_gpr_4 = (ctx.gpr[17] | 0u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08935664u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 107u, 0x08AF5130u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08935664u) goto L_08935664; AOT_REGCACHE_SYNC_OUT(); return; L_08935664: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-8744))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-8744))); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); - { const float fs = aot_fpr_12; const float ft = aot_fpr_20; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-8740))); + { const float fs = aot_fpr_12; const float ft = ctx.fpr[20]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-8740))); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_13))); { const float fs = aot_fpr_12; const float ft = ctx.fpr[22]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - ctx.fpr[15] = aot_fpr_12 / aot_fpr_13; - aot_fpr_13 = ctx.fpr[26] / ctx.fpr[15]; + aot_fpr_15 = aot_fpr_12 / aot_fpr_13; + aot_fpr_13 = ctx.fpr[26] / aot_fpr_15; aot_gpr_5 = (17120u << 16u); aot_fpr_14 = std::bit_cast(aot_gpr_5); { const float fs = ctx.fpr[24]; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } aot_gpr_4 = (aot_gpr_29 | 0u); - ctx.fpr[15] = ctx.fpr[28] / ctx.fpr[15]; + aot_fpr_15 = ctx.fpr[28] / aot_fpr_15; aot_fpr_14 = aot_fpr_14 + ctx.fpr[30]; aot_gpr_31 = (0x089356ACu); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[30])); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089356ACu) goto L_089356AC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089356ACu) goto L_089356AC; AOT_REGCACHE_SYNC_OUT(); return; L_089356AC: - aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_16 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); + ctx.gpr[16] = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 255u); - ctx.gpr[6] = (0u | 140u); + aot_gpr_6 = (0u | 140u); ctx.gpr[7] = (0u | 255u); aot_gpr_31 = (0x089356C8u); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089356C8u) goto L_089356C8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089356C8u) goto L_089356C8; AOT_REGCACHE_SYNC_OUT(); return; L_089356C8: - aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x089356D8u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 107u, 0x08AF5130u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089356D8u) goto L_089356D8; AOT_REGCACHE_SYNC_OUT(); return; L_089356D8: { std::uint32_t aot_run_words[9]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(20), aot_run_words); - aot_fpr_20 = std::bit_cast(aot_run_words[0]); + ctx.fpr[20] = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); ctx.fpr[26] = std::bit_cast(aot_run_words[3]); ctx.fpr[28] = std::bit_cast(aot_run_words[4]); ctx.fpr[30] = std::bit_cast(aot_run_words[5]); - aot_gpr_16 = aot_run_words[6]; + ctx.gpr[16] = aot_run_words[6]; ctx.gpr[17] = aot_run_words[7]; aot_gpr_31 = aot_run_words[8]; } @@ -4243,19 +4244,19 @@ L_089356D8: AOT_REGCACHE_SYNC_OUT(); return; L_08935704: jump_target = aot_gpr_31; - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-19648), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-19648), aot_gpr_4); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0893570C: aot_gpr_29 = (aot_gpr_29 + static_cast(-224)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18]}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(184), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); - ctx.gpr[18] = (ctx.gpr[6] | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); + ctx.gpr[18] = (aot_gpr_6 | 0u); ctx.gpr[17] = (ctx.gpr[7] & 255u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(180), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(180), std::bit_cast(ctx.fpr[20])); { const std::uint32_t aot_run_words[4]{ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(196), aot_run_words); } aot_gpr_31 = (0x08935744u); @@ -4271,14 +4272,14 @@ L_0893574C: aot_gpr_4 = (aot_gpr_4 + static_cast(96)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(24))); { const bool branch_taken = aot_gpr_4 != 0u; - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); if (branch_taken) { goto L_08935770; } goto L_08935760; } L_08935760: - { const bool branch_taken = aot_gpr_16 != 0u; + { const bool branch_taken = ctx.gpr[16] != 0u; ctx.gpr[19] = (0u | 0u); if (branch_taken) { goto L_08935778; @@ -4302,13 +4303,13 @@ L_08935770: goto L_08935778; } L_08935778: - aot_gpr_5 = (aot_gpr_28 + static_cast(-19520)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-19520)); aot_gpr_31 = (0x08935784u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 56u, 0x08B582CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08935784u) goto L_08935784; AOT_REGCACHE_SYNC_OUT(); return; L_08935784: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08935790; @@ -4329,14 +4330,14 @@ L_0893579C: ctx.gpr[10] = (aot_gpr_4 | 0u); aot_gpr_4 = (0u | 0u); aot_gpr_5 = (0u | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 0u); aot_gpr_31 = (0x089357BCu); ctx.gpr[9] = (0u | 0u); goto L_08934A24; L_089357BC: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_0893580C; @@ -4355,16 +4356,16 @@ L_089357CC: AOT_REGCACHE_SYNC_OUT(); return; L_089357D4: aot_gpr_5 = (17392u << 16u); - aot_fpr_20 = std::bit_cast(0u); + ctx.fpr[20] = std::bit_cast(0u); aot_fpr_14 = std::bit_cast(aot_gpr_5); ctx.gpr[19] = (aot_gpr_29 + static_cast(160)); aot_gpr_5 = (17288u << 16u); - aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); + aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_gpr_4 = (ctx.gpr[19] | 0u); - aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); + aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_gpr_31 = (0x089357FCu); - ctx.fpr[15] = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089357FCu) goto L_089357FC; + aot_fpr_15 = std::bit_cast(aot_gpr_5); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089357FCu) goto L_089357FC; AOT_REGCACHE_SYNC_OUT(); return; L_089357FC: { const bool branch_taken = ctx.gpr[21] != 0u; @@ -4391,9 +4392,9 @@ L_0893580C: goto L_08935814; } L_08935814: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(160), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(160), std::bit_cast(ctx.fpr[20])); aot_gpr_4 = (16256u << 16u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(172), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(172), std::bit_cast(ctx.fpr[20])); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(168), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(164), std::bit_cast(aot_fpr_12)); @@ -4402,27 +4403,27 @@ L_0893582C: ctx.gpr[21] = (aot_gpr_29 + static_cast(176)); aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_5 = (0u | 255u); - ctx.gpr[6] = (0u | 255u); + aot_gpr_6 = (0u | 255u); ctx.gpr[7] = (0u | 255u); aot_gpr_31 = (0x08935848u); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08935848u) goto L_08935848; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08935848u) goto L_08935848; AOT_REGCACHE_SYNC_OUT(); return; L_08935848: aot_gpr_4 = (0u | 2u); aot_gpr_31 = (0x08935854u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08935854u) goto L_08935854; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08935854u) goto L_08935854; AOT_REGCACHE_SYNC_OUT(); return; L_08935854: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08935864u); - ctx.gpr[6] = (ctx.gpr[21] | 0u); + aot_gpr_6 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 72u, 0x08AF4650u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08935864u) goto L_08935864; AOT_REGCACHE_SYNC_OUT(); return; L_08935864: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-19648))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-19648))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -4434,20 +4435,20 @@ L_08935870: ctx.gpr[18] = (0u | 1u); aot_gpr_31 = (0x0893587Cu); aot_gpr_4 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0893587Cu) goto L_0893587C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C498, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0893587Cu) goto L_0893587C; AOT_REGCACHE_SYNC_OUT(); return; L_0893587C: aot_gpr_31 = (0x08935884u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08935884u) goto L_08935884; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C05C, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[16], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08935884u) goto L_08935884; AOT_REGCACHE_SYNC_OUT(); return; L_08935884: aot_gpr_31 = (0x0893588Cu); aot_gpr_4 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0893588Cu) goto L_0893588C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C604, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0893588Cu) goto L_0893588C; AOT_REGCACHE_SYNC_OUT(); return; L_0893588C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-19648))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-19648))); { const bool branch_taken = aot_gpr_4 != ctx.gpr[18]; // nop if (branch_taken) { @@ -4456,9 +4457,9 @@ L_0893588C: goto L_08935898; } L_08935898: - ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); { const bool branch_taken = ctx.gpr[18] != 0u; - aot_gpr_5 = (aot_gpr_28 + static_cast(-19508)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-19508)); if (branch_taken) { goto L_089358D0; } @@ -4471,7 +4472,7 @@ L_089358A4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089358B0u) goto L_089358B0; AOT_REGCACHE_SYNC_OUT(); return; L_089358B0: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[19] == 0u; // nop if (branch_taken) { @@ -4482,14 +4483,14 @@ L_089358B0: L_089358BC: aot_gpr_31 = (0x089358C4u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089358C4u) goto L_089358C4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089358C4u) goto L_089358C4; AOT_REGCACHE_SYNC_OUT(); return; L_089358C4: ctx.gpr[18] = (ctx.gpr[19] | 0u); goto L_089358C8; L_089358C8: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[18]); - aot_gpr_5 = (aot_gpr_28 + static_cast(-19508)); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), ctx.gpr[18]); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-19508)); goto L_089358D0; L_089358D0: aot_gpr_31 = (0x089358D8u); @@ -4497,11 +4498,11 @@ L_089358D0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089358D8u) goto L_089358D8; AOT_REGCACHE_SYNC_OUT(); return; L_089358D8: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x089358E8u); - ctx.gpr[6] = (0u | 240u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089358E8u) goto L_089358E8; + aot_gpr_6 = (0u | 240u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089358E8u) goto L_089358E8; AOT_REGCACHE_SYNC_OUT(); return; L_089358E8: { const bool branch_taken = 0u == 0u; @@ -4520,9 +4521,9 @@ L_089358F0: goto L_089358F8; } L_089358F8: - ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); { const bool branch_taken = ctx.gpr[18] != 0u; - aot_gpr_5 = (aot_gpr_28 + static_cast(-19500)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-19500)); if (branch_taken) { goto L_08935930; } @@ -4535,7 +4536,7 @@ L_08935904: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08935910u) goto L_08935910; AOT_REGCACHE_SYNC_OUT(); return; L_08935910: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[19] == 0u; // nop if (branch_taken) { @@ -4546,14 +4547,14 @@ L_08935910: L_0893591C: aot_gpr_31 = (0x08935924u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08935924u) goto L_08935924; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08935924u) goto L_08935924; AOT_REGCACHE_SYNC_OUT(); return; L_08935924: ctx.gpr[18] = (ctx.gpr[19] | 0u); goto L_08935928; L_08935928: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[18]); - aot_gpr_5 = (aot_gpr_28 + static_cast(-19500)); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), ctx.gpr[18]); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-19500)); goto L_08935930; L_08935930: aot_gpr_31 = (0x08935938u); @@ -4561,11 +4562,11 @@ L_08935930: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08935938u) goto L_08935938; AOT_REGCACHE_SYNC_OUT(); return; L_08935938: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08935948u); - ctx.gpr[6] = (0u | 96u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08935948u) goto L_08935948; + aot_gpr_6 = (0u | 96u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08935948u) goto L_08935948; AOT_REGCACHE_SYNC_OUT(); return; L_08935948: { const bool branch_taken = 0u == 0u; @@ -4585,9 +4586,9 @@ L_08935950: goto L_0893595C; } L_0893595C: - ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); { const bool branch_taken = ctx.gpr[18] != 0u; - aot_gpr_5 = (aot_gpr_28 + static_cast(-19492)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-19492)); if (branch_taken) { goto L_08935994; } @@ -4600,7 +4601,7 @@ L_08935968: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08935974u) goto L_08935974; AOT_REGCACHE_SYNC_OUT(); return; L_08935974: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[19] == 0u; // nop if (branch_taken) { @@ -4611,14 +4612,14 @@ L_08935974: L_08935980: aot_gpr_31 = (0x08935988u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08935988u) goto L_08935988; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08935988u) goto L_08935988; AOT_REGCACHE_SYNC_OUT(); return; L_08935988: ctx.gpr[18] = (ctx.gpr[19] | 0u); goto L_0893598C; L_0893598C: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[18]); - aot_gpr_5 = (aot_gpr_28 + static_cast(-19492)); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), ctx.gpr[18]); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-19492)); goto L_08935994; L_08935994: aot_gpr_31 = (0x0893599Cu); @@ -4626,16 +4627,16 @@ L_08935994: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0893599Cu) goto L_0893599C; AOT_REGCACHE_SYNC_OUT(); return; L_0893599C: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x089359ACu); - ctx.gpr[6] = (0u | 96u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089359ACu) goto L_089359AC; + aot_gpr_6 = (0u | 96u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089359ACu) goto L_089359AC; AOT_REGCACHE_SYNC_OUT(); return; L_089359AC: - ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); { const bool branch_taken = ctx.gpr[18] != 0u; - aot_gpr_5 = (aot_gpr_28 + static_cast(-19484)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-19484)); if (branch_taken) { goto L_089359E4; } @@ -4648,7 +4649,7 @@ L_089359B8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089359C4u) goto L_089359C4; AOT_REGCACHE_SYNC_OUT(); return; L_089359C4: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[19] == 0u; // nop if (branch_taken) { @@ -4659,14 +4660,14 @@ L_089359C4: L_089359D0: aot_gpr_31 = (0x089359D8u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089359D8u) goto L_089359D8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089359D8u) goto L_089359D8; AOT_REGCACHE_SYNC_OUT(); return; L_089359D8: ctx.gpr[18] = (ctx.gpr[19] | 0u); goto L_089359DC; L_089359DC: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[18]); - aot_gpr_5 = (aot_gpr_28 + static_cast(-19484)); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), ctx.gpr[18]); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-19484)); goto L_089359E4; L_089359E4: aot_gpr_31 = (0x089359ECu); @@ -4674,14 +4675,14 @@ L_089359E4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089359ECu) goto L_089359EC; AOT_REGCACHE_SYNC_OUT(); return; L_089359EC: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x089359FCu); - ctx.gpr[6] = (0u | 150u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089359FCu) goto L_089359FC; + aot_gpr_6 = (0u | 150u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089359FCu) goto L_089359FC; AOT_REGCACHE_SYNC_OUT(); return; L_089359FC: - { const bool branch_taken = aot_gpr_16 == 0u; + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08935A74; @@ -4689,12 +4690,12 @@ L_089359FC: goto L_08935A04; } L_08935A04: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-19668))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-19668))); aot_gpr_4 = (16256u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; { const bool branch_taken = ctx.gpr[17] == 0u; - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-19668), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-19668), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_08935A48; } @@ -4713,7 +4714,7 @@ L_08935A1C: goto L_08935A34; } L_08935A34: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-19668), std::bit_cast(aot_fpr_13)); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-19668), std::bit_cast(aot_fpr_13)); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_13)); goto L_08935A3C; L_08935A3C: @@ -4737,17 +4738,17 @@ L_08935A54: L_08935A5C: aot_gpr_31 = (0x08935A64u); aot_gpr_4 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08935A64u) goto L_08935A64; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C498, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08935A64u) goto L_08935A64; AOT_REGCACHE_SYNC_OUT(); return; L_08935A64: aot_gpr_31 = (0x08935A6Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08935A6Cu) goto L_08935A6C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C05C, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[16], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08935A6Cu) goto L_08935A6C; AOT_REGCACHE_SYNC_OUT(); return; L_08935A6C: aot_gpr_31 = (0x08935A74u); aot_gpr_4 = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08935A74u) goto L_08935A74; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C604, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08935A74u) goto L_08935A74; AOT_REGCACHE_SYNC_OUT(); return; L_08935A74: aot_gpr_31 = (0x08935A7Cu); @@ -4756,8 +4757,8 @@ L_08935A74: L_08935A7C: { std::uint32_t aot_run_words[8]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(180), aot_run_words); - aot_fpr_20 = std::bit_cast(aot_run_words[0]); - aot_gpr_16 = aot_run_words[1]; + ctx.fpr[20] = std::bit_cast(aot_run_words[0]); + ctx.gpr[16] = aot_run_words[1]; ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; ctx.gpr[19] = aot_run_words[4]; @@ -4773,27 +4774,27 @@ L_08935A7C: AOT_REGCACHE_SYNC_OUT(); return; L_08935AA4: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(16), aot_run_words); } aot_gpr_31 = (0x08935AC0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7652))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7652))); goto L_08935474; L_08935AC0: aot_gpr_31 = (0x08935AC8u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); goto L_0893509C; L_08935AC8: - aot_gpr_16 = (2236u << 16u); - aot_gpr_16 = (aot_gpr_16 + static_cast(32304)); - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (2236u << 16u); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(32304)); + ctx.gpr[18] = (aot_gpr_2 | 0u); ctx.gpr[17] = (0u | 0u); aot_gpr_31 = (0x08935AE0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0134_entry, 134u, 74u, 0x08A1C770u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08935AE0u) goto L_08935AE0; AOT_REGCACHE_SYNC_OUT(); return; L_08935AE0: aot_gpr_4 = (0u | 2u); - { const bool branch_taken = ctx.gpr[2] == aot_gpr_4; + { const bool branch_taken = aot_gpr_2 == aot_gpr_4; // nop if (branch_taken) { goto L_08935B08; @@ -4803,14 +4804,14 @@ L_08935AE0: L_08935AEC: ctx.gpr[17] = (0u | 1u); aot_fpr_12 = std::bit_cast(0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08935B00u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0134_entry, 134u, 4u, 0x08A1C044u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08935B00u) goto L_08935B00; AOT_REGCACHE_SYNC_OUT(); return; L_08935B00: aot_gpr_31 = (0x08935B08u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0134_entry, 134u, 91u, 0x08A1C8D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08935B08u) goto L_08935B08; AOT_REGCACHE_SYNC_OUT(); return; L_08935B08: @@ -4821,7 +4822,7 @@ L_08935B08: L_08935B10: aot_gpr_4 = (0u | 0u); aot_gpr_5 = (0u | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); @@ -4829,7 +4830,7 @@ L_08935B10: ctx.gpr[10] = (0u | 255u); goto L_08934A24; L_08935B30: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08935C1C; @@ -4855,40 +4856,40 @@ L_08935B48: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 283u, 0x08B217D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08935B5Cu) goto L_08935B5C; AOT_REGCACHE_SYNC_OUT(); return; L_08935B5C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-8744))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-8740))); - ctx.gpr[6] = (2236u << 16u); - ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(29552))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-8744))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-8740))); + aot_gpr_6 = (2236u << 16u); + ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(29552))); ctx.gpr[8] = (54272u << 16u); aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(0), ctx.gpr[8]); - ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(29552))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(29552))); aot_gpr_5 = (aot_gpr_5 & 1023u); aot_gpr_5 = (aot_gpr_5 << 10u); ctx.gpr[8] = (54528u << 16u); ctx.gpr[7] = (ctx.gpr[7] + static_cast(4)); aot_gpr_5 = (aot_gpr_5 | ctx.gpr[8]); aot_gpr_4 = (aot_gpr_4 & 1023u); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(29552), ctx.gpr[7]); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(29552), ctx.gpr[7]); aot_gpr_4 = (aot_gpr_5 | aot_gpr_4); aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(0), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(29552))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(29552))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(29552), aot_gpr_4); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(29552), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); - ctx.gpr[9] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-8744))); + ctx.gpr[9] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-8744))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - ctx.gpr[10] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-8740))); - aot_gpr_4 = (ctx.gpr[6] + static_cast(29552)); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(10)))))); + ctx.gpr[10] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-8740))); + aot_gpr_4 = (aot_gpr_6 + static_cast(29552)); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(10)))))); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(11)))))); ctx.gpr[7] = (0u | 1u); aot_gpr_5 = (aot_gpr_5 & 63u); - ctx.gpr[11] = (ctx.gpr[6] & 63u); - ctx.gpr[2] = (ctx.gpr[7] << (aot_gpr_5 & 31u)); + ctx.gpr[11] = (aot_gpr_6 & 63u); + aot_gpr_2 = (ctx.gpr[7] << (aot_gpr_5 & 31u)); ctx.gpr[11] = (ctx.gpr[7] << (ctx.gpr[11] & 31u)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_2); aot_gpr_5 = (0u | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 0u); aot_gpr_31 = (0x08935BF4u); @@ -4935,20 +4936,20 @@ L_08935C1C: } L_08935C24: aot_fpr_12 = std::bit_cast(0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08935C34u); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0134_entry, 134u, 4u, 0x08A1C044u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08935C34u) goto L_08935C34; AOT_REGCACHE_SYNC_OUT(); return; L_08935C34: aot_gpr_31 = (0x08935C3Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0134_entry, 134u, 91u, 0x08A1C8D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08935C3Cu) goto L_08935C3C; AOT_REGCACHE_SYNC_OUT(); return; L_08935C3C: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; @@ -4968,38 +4969,38 @@ L_08935C54: AOT_REGCACHE_SYNC_OUT(); return; L_08935C5C: aot_gpr_29 = (aot_gpr_29 + static_cast(-64)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), aot_gpr_31); aot_gpr_31 = (0x08935C70u); aot_gpr_4 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08935C70u) goto L_08935C70; AOT_REGCACHE_SYNC_OUT(); return; L_08935C70: - ctx.gpr[8] = (ctx.gpr[2] + static_cast(2)); + ctx.gpr[8] = (aot_gpr_2 + static_cast(2)); aot_gpr_5 = (ctx.gpr[8] | 0u); ctx.gpr[7] = (0u | 0u); - ctx.gpr[6] = (0u | 12u); + aot_gpr_6 = (0u | 12u); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); - aot_gpr_16 = (aot_gpr_29 | 0u); + ctx.gpr[16] = (aot_gpr_29 | 0u); goto L_08935C88; L_08935C88: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(2)))))); - aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(0), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store16(ctx.gpr[16] + static_cast(0), static_cast(aot_gpr_4)); ctx.gpr[7] = (ctx.gpr[7] + static_cast(4)); - aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(2), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store16(ctx.gpr[16] + static_cast(2), static_cast(aot_gpr_5)); aot_gpr_5 = (ctx.gpr[8] + ctx.gpr[7]); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(-1)); + aot_gpr_6 = (aot_gpr_6 + static_cast(-1)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); - { const bool branch_taken = ctx.gpr[6] != 0u; - aot_gpr_16 = (aot_gpr_29 + ctx.gpr[7]); + { const bool branch_taken = aot_gpr_6 != 0u; + ctx.gpr[16] = (aot_gpr_29 + ctx.gpr[7]); if (branch_taken) { goto L_08935C88; } goto L_08935CAC; } L_08935CAC: - aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(0), static_cast(aot_gpr_4)); - aot_gpr_16 = (0u | 1u); + aot_mem.aot_direct_store16(ctx.gpr[16] + static_cast(0), static_cast(aot_gpr_4)); + ctx.gpr[16] = (0u | 1u); goto L_08935CB4; L_08935CB4: aot_gpr_31 = (0x08935CBCu); @@ -5007,9 +5008,9 @@ L_08935CB4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08935CBCu) goto L_08935CBC; AOT_REGCACHE_SYNC_OUT(); return; L_08935CBC: - aot_gpr_5 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(36)))))); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_5 = (aot_gpr_2 | 0u); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(36)))))); + { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_4 = (0u | 0u); if (branch_taken) { goto L_08935CDC; @@ -5045,7 +5046,7 @@ L_08935CE8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08935CF0u) goto L_08935CF0; AOT_REGCACHE_SYNC_OUT(); return; L_08935CF0: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(34)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(34)))))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -5054,7 +5055,7 @@ L_08935CF0: goto L_08935CFC; } L_08935CFC: - { const bool branch_taken = aot_gpr_16 == 0u; + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08935D10; @@ -5067,7 +5068,7 @@ L_08935D04: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0131_entry, 131u, 127u, 0x08A11208u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08935D0Cu) goto L_08935D0C; AOT_REGCACHE_SYNC_OUT(); return; L_08935D0C: - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); goto L_08935D10; L_08935D10: aot_gpr_31 = (0x08935D18u); @@ -5076,12 +5077,12 @@ L_08935D10: AOT_REGCACHE_SYNC_OUT(); return; L_08935D18: aot_gpr_31 = (0x08935D20u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8896))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8896))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 157u, 0x08890F48u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08935D20u) goto L_08935D20; AOT_REGCACHE_SYNC_OUT(); return; L_08935D20: aot_gpr_31 = (0x08935D28u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8896))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8896))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 97u, 0x08890618u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08935D28u) goto L_08935D28; AOT_REGCACHE_SYNC_OUT(); return; L_08935D28: @@ -5090,9 +5091,9 @@ L_08935D28: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08935D30u) goto L_08935D30; AOT_REGCACHE_SYNC_OUT(); return; L_08935D30: - aot_gpr_5 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(36)))))); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_5 = (aot_gpr_2 | 0u); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(36)))))); + { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_4 = (0u | 0u); if (branch_taken) { goto L_08935D50; @@ -5128,7 +5129,7 @@ L_08935D5C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08935D64u) goto L_08935D64; AOT_REGCACHE_SYNC_OUT(); return; L_08935D64: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(34)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(34)))))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -5158,21 +5159,21 @@ L_08935D80: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08935D88u) goto L_08935D88; AOT_REGCACHE_SYNC_OUT(); return; L_08935D88: - ctx.gpr[9] = (ctx.gpr[2] + static_cast(52)); - ctx.gpr[6] = (aot_gpr_29 | 0u); + ctx.gpr[9] = (aot_gpr_2 + static_cast(52)); + aot_gpr_6 = (aot_gpr_29 | 0u); ctx.gpr[8] = (0u | 0u); ctx.gpr[7] = (0u | 12u); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[6] + static_cast(0)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(0)))))); aot_gpr_4 = (ctx.gpr[9] | 0u); goto L_08935DA0; L_08935DA0: - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[6] + static_cast(2)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(2)))))); aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_5)); ctx.gpr[8] = (ctx.gpr[8] + static_cast(4)); - aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(2), static_cast(ctx.gpr[6])); - ctx.gpr[6] = (aot_gpr_29 + ctx.gpr[8]); + aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(2), static_cast(aot_gpr_6)); + aot_gpr_6 = (aot_gpr_29 + ctx.gpr[8]); ctx.gpr[7] = (ctx.gpr[7] + static_cast(-1)); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[6] + static_cast(0)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(0)))))); { const bool branch_taken = ctx.gpr[7] != 0u; aot_gpr_4 = (ctx.gpr[9] + ctx.gpr[8]); if (branch_taken) { @@ -5187,21 +5188,21 @@ L_08935DC4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08935DD0u) goto L_08935DD0; AOT_REGCACHE_SYNC_OUT(); return; L_08935DD0: - ctx.gpr[9] = (ctx.gpr[2] + static_cast(2)); - ctx.gpr[6] = (aot_gpr_29 | 0u); + ctx.gpr[9] = (aot_gpr_2 + static_cast(2)); + aot_gpr_6 = (aot_gpr_29 | 0u); ctx.gpr[8] = (0u | 0u); ctx.gpr[7] = (0u | 12u); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[6] + static_cast(0)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(0)))))); aot_gpr_5 = (ctx.gpr[9] | 0u); goto L_08935DE8; L_08935DE8: - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[6] + static_cast(2)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(2)))))); aot_mem.aot_direct_store16(aot_gpr_5 + static_cast(0), static_cast(aot_gpr_4)); ctx.gpr[8] = (ctx.gpr[8] + static_cast(4)); - aot_mem.aot_direct_store16(aot_gpr_5 + static_cast(2), static_cast(ctx.gpr[6])); - ctx.gpr[6] = (aot_gpr_29 + ctx.gpr[8]); + aot_mem.aot_direct_store16(aot_gpr_5 + static_cast(2), static_cast(aot_gpr_6)); + aot_gpr_6 = (aot_gpr_29 + ctx.gpr[8]); ctx.gpr[7] = (ctx.gpr[7] + static_cast(-1)); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[6] + static_cast(0)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(0)))))); { const bool branch_taken = ctx.gpr[7] != 0u; aot_gpr_5 = (ctx.gpr[9] + ctx.gpr[8]); if (branch_taken) { @@ -5211,7 +5212,7 @@ L_08935DE8: } L_08935E0C: aot_mem.aot_direct_store16(aot_gpr_5 + static_cast(0), static_cast(aot_gpr_4)); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(52))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(52))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(56))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(64)); @@ -5228,17 +5229,17 @@ L_08935E20: AOT_REGCACHE_SYNC_OUT(); return; L_08935E28: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - { const std::uint32_t aot_run_words[6]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; + { const std::uint32_t aot_run_words[6]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_31 = (0x08935E4Cu); - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-19672), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-19672), static_cast(0u)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0172_entry, 172u, 536u, 0x08AB5FCCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08935E4Cu) goto L_08935E4C; AOT_REGCACHE_SYNC_OUT(); return; L_08935E4C: ctx.gpr[18] = (0u | 1u); ctx.gpr[17] = (0u | 1u); - { const bool branch_taken = ctx.gpr[2] != ctx.gpr[18]; - aot_gpr_16 = (aot_gpr_28 + static_cast(7768)); + { const bool branch_taken = aot_gpr_2 != ctx.gpr[18]; + ctx.gpr[16] = (ctx.gpr[28] + static_cast(7768)); if (branch_taken) { goto L_08935F3C; } @@ -5249,10 +5250,10 @@ L_08935E5C: aot_gpr_4 = (0u | 2u); goto L_08935704; L_08935E64: - ctx.gpr[20] = (aot_gpr_28 + static_cast(-19432)); + ctx.gpr[20] = (ctx.gpr[28] + static_cast(-19432)); aot_gpr_4 = (0u | 0u); aot_gpr_5 = (0u | 0u); - ctx.gpr[6] = (ctx.gpr[20] | 0u); + aot_gpr_6 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08935E7Cu); ctx.gpr[7] = (0u | 0u); goto L_0893570C; @@ -5262,7 +5263,7 @@ L_08935E7C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0172_entry, 172u, 525u, 0x08AB5F30u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08935E84u) goto L_08935E84; AOT_REGCACHE_SYNC_OUT(); return; L_08935E84: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-19672))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-19672))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -5271,9 +5272,9 @@ L_08935E84: goto L_08935E90; } L_08935E90: - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(4211), static_cast(ctx.gpr[17])); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(4211), static_cast(ctx.gpr[17])); aot_gpr_4 = (31u << 16u); - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-19672), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-19672), static_cast(0u)); aot_gpr_31 = (0x08935EA4u); aot_gpr_4 = (aot_gpr_4 + static_cast(-31616)); ctx.pc = 0x08B7340Cu; @@ -5299,22 +5300,22 @@ L_08935EB8: L_08935EC0: aot_gpr_4 = (0u | 0u); aot_gpr_5 = (0u | 0u); - ctx.gpr[6] = (ctx.gpr[20] | 0u); + aot_gpr_6 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08935ED4u); ctx.gpr[7] = (0u | 0u); goto L_0893570C; L_08935ED4: - ctx.gpr[19] = (aot_gpr_28 + static_cast(6556)); - ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-19424))); + ctx.gpr[19] = (ctx.gpr[28] + static_cast(6556)); + ctx.gpr[20] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-19424))); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08935EE8u); aot_gpr_5 = (0u | 1u); ctx.pc = 0x08B73234u; AOT_REGCACHE_SYNC_OUT(); return; L_08935EE8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(6560))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(6560))); aot_gpr_5 = (aot_gpr_4 ^ ctx.gpr[20]); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-19424), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-19424), aot_gpr_4); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_4 = (aot_gpr_4 & 16384u); { const bool branch_taken = aot_gpr_4 != 0u; @@ -5341,9 +5342,9 @@ L_08935F14: ctx.pc = 0x08B73234u; AOT_REGCACHE_SYNC_OUT(); return; L_08935F20: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(6560))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(6560))); aot_gpr_5 = (aot_gpr_4 ^ ctx.gpr[20]); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-19424), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-19424), aot_gpr_4); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_4 = (aot_gpr_4 & 16384u); { const bool branch_taken = aot_gpr_4 == 0u; @@ -5369,9 +5370,9 @@ L_08935F4C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0175_entry, 175u, 1044u, 0x08AC3E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08935F58u) goto L_08935F58; AOT_REGCACHE_SYNC_OUT(); return; L_08935F58: - aot_gpr_4 = (aot_gpr_28 + static_cast(-19420)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(-19420)); aot_gpr_5 = (0u | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x08935F6Cu); ctx.gpr[7] = (0u | 0u); goto L_0893570C; @@ -5380,7 +5381,7 @@ L_08935F6C: // nop goto L_08935C54; L_08935F74: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-2240))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-2240))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -5390,11 +5391,11 @@ L_08935F74: } L_08935F80: aot_gpr_31 = (0x08935F88u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7652))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7652))); goto L_08935474; L_08935F88: aot_gpr_31 = (0x08935F90u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); goto L_0893509C; L_08935F90: aot_gpr_31 = (0x08935F98u); @@ -5403,11 +5404,11 @@ L_08935F90: AOT_REGCACHE_SYNC_OUT(); return; L_08935F98: aot_gpr_31 = (0x08935FA0u); - aot_gpr_4 = (aot_gpr_28 + static_cast(7696)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(7696)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 405u, 0x08809E18u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08935FA0u) goto L_08935FA0; AOT_REGCACHE_SYNC_OUT(); return; L_08935FA0: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-7080))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7080))); goto L_08935FA4; L_08935FA4: { const bool branch_taken = aot_gpr_4 != 0u; @@ -5423,10 +5424,10 @@ L_08935FAC: goto L_089353A0; L_08935FB4: aot_gpr_31 = (0x08935FBCu); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); goto L_0893509C; L_08935FBC: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(4212))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(4212))); goto L_08935FC0; L_08935FC0: { const bool branch_taken = aot_gpr_4 == ctx.gpr[18]; @@ -5437,7 +5438,7 @@ L_08935FC0: goto L_08935FC8; } L_08935FC8: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-2240))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-2240))); { const bool branch_taken = aot_gpr_4 == ctx.gpr[18]; // nop if (branch_taken) { @@ -5450,7 +5451,7 @@ L_08935FD4: // nop goto L_08937A28; L_08935FDC: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08935FEC; @@ -5467,7 +5468,7 @@ L_08935FE4: } L_08935FEC: { const bool branch_taken = 0u == 0u; - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(4212))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(4212))); if (branch_taken) { goto L_08935FC0; } @@ -5484,7 +5485,7 @@ L_08935FFC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0097_entry, 97u, 844u, 0x0898B4F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08936004u) goto L_08936004; AOT_REGCACHE_SYNC_OUT(); return; L_08936004: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08936010u); aot_gpr_5 = (0u | 3u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 565u, 0x08A063CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08936010u) goto L_08936010; @@ -5500,9 +5501,9 @@ L_08936018: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0131_entry, 131u, 127u, 0x08A11208u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08936020u) goto L_08936020; AOT_REGCACHE_SYNC_OUT(); return; L_08936020: - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(4212))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(4212))); { const bool branch_taken = aot_gpr_5 == ctx.gpr[18]; - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-2240))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-2240))); if (branch_taken) { goto L_08936034; } @@ -5525,8 +5526,8 @@ L_08936034: goto L_0893603C; } L_0893603C: - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(4212), static_cast(ctx.gpr[17])); - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(4211), static_cast(ctx.gpr[17])); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(4212), static_cast(ctx.gpr[17])); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(4211), static_cast(ctx.gpr[17])); goto L_08936044; L_08936044: aot_gpr_31 = (0x0893604Cu); @@ -5534,15 +5535,15 @@ L_08936044: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0175_entry, 175u, 772u, 0x08AC327Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0893604Cu) goto L_0893604C; AOT_REGCACHE_SYNC_OUT(); return; L_0893604C: - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(4212), static_cast(0u)); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(4212), static_cast(0u)); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x0893605Cu); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 565u, 0x08A063CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0893605Cu) goto L_0893605C; AOT_REGCACHE_SYNC_OUT(); return; L_0893605C: { const bool branch_taken = 0u == 0u; - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-7080))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7080))); if (branch_taken) { goto L_08935FA4; } @@ -5550,13 +5551,13 @@ L_0893605C: } L_08936064: aot_gpr_31 = (0x0893606Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 493u, 0x08A05EDCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0893606Cu) goto L_0893606C; AOT_REGCACHE_SYNC_OUT(); return; L_0893606C: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -5581,7 +5582,7 @@ L_0893609C: // nop goto L_08934D94; L_089360A4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5856))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5856))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -5595,7 +5596,7 @@ L_089360B0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 399u, 0x08B65A54u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089360B8u) goto L_089360B8; AOT_REGCACHE_SYNC_OUT(); return; L_089360B8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5856))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5856))); goto L_089360BC; L_089360BC: aot_gpr_31 = (0x089360C4u); @@ -5613,7 +5614,7 @@ L_089360CC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0038_entry, 38u, 579u, 0x0889E7C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089360D4u) goto L_089360D4; AOT_REGCACHE_SYNC_OUT(); return; L_089360D4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5856))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5856))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -5627,7 +5628,7 @@ L_089360E0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 399u, 0x08B65A54u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089360E8u) goto L_089360E8; AOT_REGCACHE_SYNC_OUT(); return; L_089360E8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5856))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5856))); goto L_089360EC; L_089360EC: aot_gpr_31 = (0x089360F4u); @@ -5640,7 +5641,7 @@ L_089360F4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0157_entry, 157u, 450u, 0x08A7A300u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089360FCu) goto L_089360FC; AOT_REGCACHE_SYNC_OUT(); return; L_089360FC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5856))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5856))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -5654,7 +5655,7 @@ L_08936108: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 399u, 0x08B65A54u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08936110u) goto L_08936110; AOT_REGCACHE_SYNC_OUT(); return; L_08936110: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5856))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5856))); goto L_08936114; L_08936114: aot_gpr_31 = (0x0893611Cu); @@ -5719,9 +5720,9 @@ L_08936170: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0157_entry, 157u, 540u, 0x08A7A94Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08936178u) goto L_08936178; AOT_REGCACHE_SYNC_OUT(); return; L_08936178: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5864))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5864))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5864))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5864))); goto L_08936190; } goto L_08936184; @@ -5731,7 +5732,7 @@ L_08936184: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 413u, 0x08B65B0Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0893618Cu) goto L_0893618C; AOT_REGCACHE_SYNC_OUT(); return; L_0893618C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5864))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5864))); goto L_08936190; L_08936190: aot_gpr_31 = (0x08936198u); @@ -5739,7 +5740,7 @@ L_08936190: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0085_entry, 85u, 127u, 0x08958D28u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08936198u) goto L_08936198; AOT_REGCACHE_SYNC_OUT(); return; L_08936198: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5856))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5856))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -5754,7 +5755,7 @@ L_089361A4: AOT_REGCACHE_SYNC_OUT(); return; L_089361AC: aot_gpr_31 = (0x089361B4u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5856))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5856))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 199u, 0x08805630u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089361B4u) goto L_089361B4; AOT_REGCACHE_SYNC_OUT(); return; L_089361B4: @@ -5780,12 +5781,12 @@ L_089361CC: L_089361D4: aot_gpr_4 = (2236u << 16u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(29552))); - ctx.gpr[6] = (5888u << 16u); - aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), ctx.gpr[6]); + aot_gpr_6 = (5888u << 16u); + aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_6); aot_gpr_5 = (0u | 0u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(29552))); - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-24632), static_cast(aot_gpr_5)); - aot_gpr_5 = (ctx.gpr[6] + static_cast(4)); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(29552))); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-24632), static_cast(aot_gpr_5)); + aot_gpr_5 = (aot_gpr_6 + static_cast(4)); aot_gpr_31 = (0x089361FCu); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(29552), aot_gpr_5); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0160_entry, 160u, 332u, 0x08A8626Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089361FCu) goto L_089361FC; @@ -5846,42 +5847,42 @@ L_08936244: L_08936250: aot_gpr_29 = (aot_gpr_29 + static_cast(-80)); aot_gpr_4 = (0u | 4u); - { const std::uint32_t aot_run_words[7]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[7]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(52), aot_run_words); } aot_gpr_31 = (0x0893627Cu); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0893627Cu) goto L_0893627C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0893627Cu) goto L_0893627C; AOT_REGCACHE_SYNC_OUT(); return; L_0893627C: aot_gpr_4 = (0u | 6u); aot_gpr_31 = (0x08936288u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08936288u) goto L_08936288; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08936288u) goto L_08936288; AOT_REGCACHE_SYNC_OUT(); return; L_08936288: aot_gpr_4 = (0u | 10u); aot_gpr_31 = (0x08936294u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08936294u) goto L_08936294; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08936294u) goto L_08936294; AOT_REGCACHE_SYNC_OUT(); return; L_08936294: ctx.gpr[17] = (0u | 8u); aot_gpr_4 = (0u | 8u); aot_gpr_31 = (0x089362A4u); aot_gpr_5 = (0u | 5u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089362A4u) goto L_089362A4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089362A4u) goto L_089362A4; AOT_REGCACHE_SYNC_OUT(); return; L_089362A4: aot_gpr_4 = (0u | 9u); aot_gpr_31 = (0x089362B0u); aot_gpr_5 = (0u | 6u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089362B0u) goto L_089362B0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089362B0u) goto L_089362B0; AOT_REGCACHE_SYNC_OUT(); return; L_089362B0: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-24904))); - aot_gpr_16 = (2236u << 16u); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-24904))); + ctx.gpr[16] = (2236u << 16u); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_16 = (aot_gpr_16 + static_cast(32304)); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(32304)); if (branch_taken) { goto L_089362C8; } @@ -5898,7 +5899,7 @@ L_089362C8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0060_entry, 60u, 600u, 0x088F6E68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089362D0u) goto L_089362D0; AOT_REGCACHE_SYNC_OUT(); return; L_089362D0: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(2052))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(2052))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -5908,25 +5909,25 @@ L_089362D0: } L_089362DC: aot_gpr_31 = (0x089362E4u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 616u, 0x08A1BF34u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089362E4u) goto L_089362E4; AOT_REGCACHE_SYNC_OUT(); return; L_089362E4: - ctx.gpr[18] = (aot_gpr_16 | 0u); + ctx.gpr[18] = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089362F0u); - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089362F0u) goto L_089362F0; AOT_REGCACHE_SYNC_OUT(); return; L_089362F0: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(80))); aot_gpr_4 = (aot_gpr_4 << 5u); - ctx.gpr[6] = (0u - aot_gpr_4); + aot_gpr_6 = (0u - aot_gpr_4); aot_gpr_4 = (aot_gpr_4 << 2u); - ctx.gpr[6] = (ctx.gpr[6] + aot_gpr_4); + aot_gpr_6 = (aot_gpr_6 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 << 2u); - aot_gpr_4 = (ctx.gpr[6] + aot_gpr_4); + aot_gpr_4 = (aot_gpr_6 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[18]); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(112)))))); if (branch_taken) { @@ -5935,17 +5936,17 @@ L_089362F0: goto L_0893631C; } L_0893631C: - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(1929)))))); - ctx.gpr[7] = (ctx.gpr[6] << 5u); - ctx.gpr[6] = (ctx.gpr[6] << 2u); - ctx.gpr[6] = (ctx.gpr[7] - ctx.gpr[6]); - aot_gpr_5 = (aot_gpr_5 + ctx.gpr[6]); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(1929)))))); + ctx.gpr[7] = (aot_gpr_6 << 5u); + aot_gpr_6 = (aot_gpr_6 << 2u); + aot_gpr_6 = (ctx.gpr[7] - aot_gpr_6); + aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); aot_gpr_5 = (aot_gpr_5 + static_cast(1396)); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); goto L_08936338; L_08936338: - ctx.gpr[6] = (0u | 7u); - { const bool branch_taken = aot_gpr_4 == ctx.gpr[6]; + aot_gpr_6 = (0u | 7u); + { const bool branch_taken = aot_gpr_4 == aot_gpr_6; aot_gpr_5 = (0u | 0u); if (branch_taken) { goto L_08936370; @@ -5953,8 +5954,8 @@ L_08936338: goto L_08936344; } L_08936344: - ctx.gpr[6] = (0u | 39u); - { const bool branch_taken = aot_gpr_4 == ctx.gpr[6]; + aot_gpr_6 = (0u | 39u); + { const bool branch_taken = aot_gpr_4 == aot_gpr_6; // nop if (branch_taken) { goto L_08936370; @@ -5963,30 +5964,30 @@ L_08936344: } L_08936350: { const bool branch_taken = aot_gpr_4 == ctx.gpr[17]; - ctx.gpr[6] = (0u | 40u); + aot_gpr_6 = (0u | 40u); if (branch_taken) { goto L_08936370; } goto L_08936358; } L_08936358: - { const bool branch_taken = aot_gpr_4 == ctx.gpr[6]; - ctx.gpr[6] = (0u | 46u); + { const bool branch_taken = aot_gpr_4 == aot_gpr_6; + aot_gpr_6 = (0u | 46u); if (branch_taken) { goto L_08936370; } goto L_08936360; } L_08936360: - { const bool branch_taken = aot_gpr_4 == ctx.gpr[6]; - ctx.gpr[6] = (0u | 47u); + { const bool branch_taken = aot_gpr_4 == aot_gpr_6; + aot_gpr_6 = (0u | 47u); if (branch_taken) { goto L_08936370; } goto L_08936368; } L_08936368: - { const bool branch_taken = aot_gpr_4 != ctx.gpr[6]; + { const bool branch_taken = aot_gpr_4 != aot_gpr_6; // nop if (branch_taken) { goto L_08936374; @@ -5998,7 +5999,7 @@ L_08936370: goto L_08936374; L_08936374: aot_gpr_4 = (0u | 30u); - { const bool branch_taken = aot_gpr_16 == aot_gpr_4; + { const bool branch_taken = ctx.gpr[16] == aot_gpr_4; aot_gpr_4 = (0u | 18u); if (branch_taken) { goto L_08936390; @@ -6006,7 +6007,7 @@ L_08936374: goto L_08936380; } L_08936380: - { const bool branch_taken = aot_gpr_16 == aot_gpr_4; + { const bool branch_taken = ctx.gpr[16] == aot_gpr_4; aot_gpr_4 = (0u | 31u); if (branch_taken) { goto L_08936390; @@ -6014,8 +6015,8 @@ L_08936380: goto L_08936388; } L_08936388: - if (aot_gpr_16 != aot_gpr_4) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5848))); + if (ctx.gpr[16] != aot_gpr_4) { + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5848))); goto L_0893639C; } goto L_08936390; @@ -6028,7 +6029,7 @@ L_08936390: goto L_08936398; } L_08936398: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5848))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5848))); goto L_0893639C; L_0893639C: if (aot_gpr_4 != 0u) { @@ -6042,7 +6043,7 @@ L_089363A4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 351u, 0x08B657E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089363ACu) goto L_089363AC; AOT_REGCACHE_SYNC_OUT(); return; L_089363AC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5848))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5848))); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(11244))); goto L_089363B4; L_089363B4: @@ -6054,15 +6055,15 @@ L_089363B4: goto L_089363BC; } L_089363BC: - ctx.gpr[17] = (aot_gpr_16 | 0u); - aot_gpr_16 = (aot_gpr_29 + static_cast(16)); - aot_gpr_4 = (aot_gpr_16 | 0u); + ctx.gpr[17] = (ctx.gpr[16] | 0u); + ctx.gpr[16] = (aot_gpr_29 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x089363DCu); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089363DCu) goto L_089363DC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089363DCu) goto L_089363DC; AOT_REGCACHE_SYNC_OUT(); return; L_089363DC: aot_gpr_5 = (17392u << 16u); @@ -6071,7 +6072,7 @@ L_089363DC: aot_gpr_4 = (0u | 18u); aot_gpr_5 = (17288u << 16u); { const bool branch_taken = ctx.gpr[17] != aot_gpr_4; - aot_fpr_20 = std::bit_cast(aot_gpr_5); + ctx.fpr[20] = std::bit_cast(aot_gpr_5); if (branch_taken) { goto L_0893645C; } @@ -6085,14 +6086,14 @@ L_089363F8: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[22])); aot_gpr_31 = (0x08936418u); - ctx.fpr[15] = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08936418u) goto L_08936418; + aot_fpr_15 = std::bit_cast(aot_gpr_5); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08936418u) goto L_08936418; AOT_REGCACHE_SYNC_OUT(); return; L_08936418: - aot_gpr_4 = (ctx.gpr[2] | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08936428u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 107u, 0x08AF5130u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08936428u) goto L_08936428; AOT_REGCACHE_SYNC_OUT(); return; L_08936428: @@ -6102,14 +6103,14 @@ L_08936428: aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[22])); aot_fpr_13 = std::bit_cast(aot_gpr_5); aot_gpr_31 = (0x08936444u); - ctx.fpr[15] = std::bit_cast(std::bit_cast(aot_fpr_20)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08936444u) goto L_08936444; + aot_fpr_15 = std::bit_cast(std::bit_cast(ctx.fpr[20])); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08936444u) goto L_08936444; AOT_REGCACHE_SYNC_OUT(); return; L_08936444: - aot_gpr_4 = (ctx.gpr[2] | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08936454u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 107u, 0x08AF5130u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08936454u) goto L_08936454; AOT_REGCACHE_SYNC_OUT(); return; L_08936454: @@ -6128,14 +6129,14 @@ L_0893645C: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[22])); aot_gpr_31 = (0x0893647Cu); - ctx.fpr[15] = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0893647Cu) goto L_0893647C; + aot_fpr_15 = std::bit_cast(aot_gpr_5); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0893647Cu) goto L_0893647C; AOT_REGCACHE_SYNC_OUT(); return; L_0893647C: - aot_gpr_4 = (ctx.gpr[2] | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x0893648Cu); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 107u, 0x08AF5130u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0893648Cu) goto L_0893648C; AOT_REGCACHE_SYNC_OUT(); return; L_0893648C: @@ -6145,14 +6146,14 @@ L_0893648C: aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[22])); aot_fpr_13 = std::bit_cast(aot_gpr_5); aot_gpr_31 = (0x089364A8u); - ctx.fpr[15] = std::bit_cast(std::bit_cast(aot_fpr_20)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089364A8u) goto L_089364A8; + aot_fpr_15 = std::bit_cast(std::bit_cast(ctx.fpr[20])); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089364A8u) goto L_089364A8; AOT_REGCACHE_SYNC_OUT(); return; L_089364A8: - aot_gpr_4 = (ctx.gpr[2] | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089364B8u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 107u, 0x08AF5130u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089364B8u) goto L_089364B8; AOT_REGCACHE_SYNC_OUT(); return; L_089364B8: @@ -6162,14 +6163,14 @@ L_089364B8: aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[24])); aot_fpr_14 = std::bit_cast(aot_gpr_5); aot_gpr_31 = (0x089364D4u); - ctx.fpr[15] = std::bit_cast(std::bit_cast(aot_fpr_20)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089364D4u) goto L_089364D4; + aot_fpr_15 = std::bit_cast(std::bit_cast(ctx.fpr[20])); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089364D4u) goto L_089364D4; AOT_REGCACHE_SYNC_OUT(); return; L_089364D4: - aot_gpr_4 = (ctx.gpr[2] | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089364E4u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 107u, 0x08AF5130u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089364E4u) goto L_089364E4; AOT_REGCACHE_SYNC_OUT(); return; L_089364E4: @@ -6179,14 +6180,14 @@ L_089364E4: aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[22])); aot_fpr_12 = std::bit_cast(aot_gpr_5); aot_gpr_31 = (0x08936500u); - ctx.fpr[15] = std::bit_cast(std::bit_cast(aot_fpr_20)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08936500u) goto L_08936500; + aot_fpr_15 = std::bit_cast(std::bit_cast(ctx.fpr[20])); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08936500u) goto L_08936500; AOT_REGCACHE_SYNC_OUT(); return; L_08936500: - aot_gpr_4 = (ctx.gpr[2] | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08936510u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 107u, 0x08AF5130u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08936510u) goto L_08936510; AOT_REGCACHE_SYNC_OUT(); return; L_08936510: @@ -6196,7 +6197,7 @@ L_08936510: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0033_entry, 33u, 748u, 0x0888AC84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0893651Cu) goto L_0893651C; AOT_REGCACHE_SYNC_OUT(); return; L_0893651C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5888))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5888))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -6211,11 +6212,11 @@ L_08936528: AOT_REGCACHE_SYNC_OUT(); return; L_08936530: aot_gpr_31 = (0x08936538u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5888))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5888))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 275u, 0x0886DADCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08936538u) goto L_08936538; AOT_REGCACHE_SYNC_OUT(); return; L_08936538: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5848))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5848))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -6229,7 +6230,7 @@ L_08936544: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 351u, 0x08B657E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0893654Cu) goto L_0893654C; AOT_REGCACHE_SYNC_OUT(); return; L_0893654C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5848))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5848))); goto L_08936550; L_08936550: aot_gpr_31 = (0x08936558u); @@ -6237,7 +6238,7 @@ L_08936550: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0109_entry, 109u, 480u, 0x089BA6ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08936558u) goto L_08936558; AOT_REGCACHE_SYNC_OUT(); return; L_08936558: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-24904))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-24904))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -6279,10 +6280,10 @@ L_08936590: L_08936598: { std::uint32_t aot_run_words[7]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(52), aot_run_words); - aot_fpr_20 = std::bit_cast(aot_run_words[0]); + ctx.fpr[20] = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); - aot_gpr_16 = aot_run_words[3]; + ctx.gpr[16] = aot_run_words[3]; ctx.gpr[17] = aot_run_words[4]; ctx.gpr[18] = aot_run_words[5]; aot_gpr_31 = aot_run_words[6]; @@ -6295,12 +6296,12 @@ L_08936598: AOT_REGCACHE_SYNC_OUT(); return; L_089365BC: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7688))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), aot_gpr_16); - aot_gpr_16 = (2237u << 16u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7688))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), ctx.gpr[16]); + ctx.gpr[16] = (2237u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), aot_gpr_31); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_16 = (aot_gpr_16 + static_cast(-28416)); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(-28416)); if (branch_taken) { goto L_089365F0; } @@ -6308,23 +6309,23 @@ L_089365BC: } L_089365D8: aot_gpr_4 = (0u | 1u); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(7688), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7688), aot_gpr_4); aot_gpr_31 = (0x089365E8u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0010_entry, 10u, 286u, 0x0882D794u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089365E8u) goto L_089365E8; AOT_REGCACHE_SYNC_OUT(); return; L_089365E8: aot_gpr_31 = (0x089365F0u); - aot_gpr_4 = (aot_gpr_28 + static_cast(-19644)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089365F0u) goto L_089365F0; + aot_gpr_4 = (ctx.gpr[28] + static_cast(-19644)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089365F0u) goto L_089365F0; AOT_REGCACHE_SYNC_OUT(); return; L_089365F0: aot_gpr_31 = (0x089365F8u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0010_entry, 10u, 611u, 0x0882E9B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089365F8u) goto L_089365F8; AOT_REGCACHE_SYNC_OUT(); return; L_089365F8: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089366C8; @@ -6332,7 +6333,7 @@ L_089365F8: goto L_08936600; } L_08936600: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7688))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7688))); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_4 = (0u | 1u); if (branch_taken) { @@ -6341,23 +6342,23 @@ L_08936600: goto L_0893660C; } L_0893660C: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(7688), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7688), aot_gpr_4); aot_gpr_31 = (0x08936618u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0010_entry, 10u, 286u, 0x0882D794u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08936618u) goto L_08936618; AOT_REGCACHE_SYNC_OUT(); return; L_08936618: aot_gpr_31 = (0x08936620u); - aot_gpr_4 = (aot_gpr_28 + static_cast(-19644)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08936620u) goto L_08936620; + aot_gpr_4 = (ctx.gpr[28] + static_cast(-19644)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08936620u) goto L_08936620; AOT_REGCACHE_SYNC_OUT(); return; L_08936620: aot_gpr_31 = (0x08936628u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0010_entry, 10u, 524u, 0x0882E518u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08936628u) goto L_08936628; AOT_REGCACHE_SYNC_OUT(); return; L_08936628: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -6372,16 +6373,16 @@ L_08936634: AOT_REGCACHE_SYNC_OUT(); return; L_0893663C: aot_gpr_31 = (0x08936644u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0112_entry, 112u, 631u, 0x089C6D78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08936644u) goto L_08936644; AOT_REGCACHE_SYNC_OUT(); return; L_08936644: - aot_gpr_4 = (ctx.gpr[2] + static_cast(-128)); + aot_gpr_4 = (aot_gpr_2 + static_cast(-128)); aot_gpr_4 = (aot_gpr_4 >> 1u); aot_gpr_5 = (0u - aot_gpr_4); aot_gpr_5 = (aot_gpr_5 + static_cast(127)); - ctx.gpr[6] = (static_cast(aot_gpr_5) < 0 ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] != 0u; + aot_gpr_6 = (static_cast(aot_gpr_5) < 0 ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 != 0u; aot_gpr_4 = (0u | 0u); if (branch_taken) { goto L_08936674; @@ -6399,36 +6400,36 @@ L_08936660: goto L_08936674; L_08936674: ctx.gpr[8] = (aot_gpr_4 & 255u); - aot_gpr_16 = (aot_gpr_29 + static_cast(28)); - aot_gpr_4 = (aot_gpr_16 | 0u); + ctx.gpr[16] = (aot_gpr_29 + static_cast(28)); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x08936690u); ctx.gpr[7] = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08936690u) goto L_08936690; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08936690u) goto L_08936690; AOT_REGCACHE_SYNC_OUT(); return; L_08936690: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-8744))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-8744))); aot_fpr_12 = std::bit_cast(0u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-8740))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-8740))); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_12)); aot_fpr_14 = std::bit_cast(aot_gpr_5); aot_gpr_4 = (aot_gpr_29 + static_cast(8)); - ctx.fpr[15] = std::bit_cast(ctx.gpr[6]); + aot_fpr_15 = std::bit_cast(aot_gpr_6); aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); aot_gpr_31 = (0x089366B8u); - ctx.fpr[15] = static_cast(static_cast(std::bit_cast(ctx.fpr[15]))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089366B8u) goto L_089366B8; + aot_fpr_15 = static_cast(static_cast(std::bit_cast(aot_fpr_15))); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089366B8u) goto L_089366B8; AOT_REGCACHE_SYNC_OUT(); return; L_089366B8: - aot_gpr_4 = (ctx.gpr[2] | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089366C8u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 107u, 0x08AF5130u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089366C8u) goto L_089366C8; AOT_REGCACHE_SYNC_OUT(); return; L_089366C8: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(32))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(32))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(36))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(48)); @@ -6438,7 +6439,7 @@ L_089366C8: AOT_REGCACHE_SYNC_OUT(); return; L_089366D8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-19682))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-19682))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -6448,7 +6449,7 @@ L_089366D8: goto L_089366EC; } L_089366EC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5848))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5848))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -6463,7 +6464,7 @@ L_089366F8: AOT_REGCACHE_SYNC_OUT(); return; L_08936700: aot_gpr_31 = (0x08936708u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5848))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5848))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0110_entry, 110u, 403u, 0x089BDF2Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08936708u) goto L_08936708; AOT_REGCACHE_SYNC_OUT(); return; L_08936708: @@ -6480,9 +6481,9 @@ L_08936710: AOT_REGCACHE_SYNC_OUT(); return; L_0893671C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - ctx.gpr[6] = (aot_gpr_4 < static_cast(22) ? 1u : 0u); + aot_gpr_6 = (aot_gpr_4 < static_cast(22) ? 1u : 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); - { const bool branch_taken = ctx.gpr[6] == 0u; + { const bool branch_taken = aot_gpr_6 == 0u; // nop if (branch_taken) { goto L_08936800; @@ -6511,7 +6512,7 @@ L_08936750: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0119_entry, 119u, 339u, 0x089E18E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08936758u) goto L_08936758; AOT_REGCACHE_SYNC_OUT(); return; L_08936758: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08936768; @@ -6520,7 +6521,7 @@ L_08936758: } L_08936760: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08936804; } @@ -6528,14 +6529,14 @@ L_08936760: } L_08936768: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_08936804; } goto L_08936770; } L_08936770: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-16976))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16976))); aot_gpr_4 = (15374u << 16u); aot_gpr_4 = (aot_gpr_4 | 64053u); aot_fpr_13 = std::bit_cast(aot_gpr_4); @@ -6550,17 +6551,17 @@ L_08936770: ctx.execute_vfpu_vec3_ct<0u, 33u, 1u, 1u, 3u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<0u>()); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8896))); - ctx.gpr[6] = (16355u << 16u); - ctx.gpr[6] = (ctx.gpr[6] | 36409u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8896))); + aot_gpr_6 = (16355u << 16u); + aot_gpr_6 = (aot_gpr_6 | 36409u); aot_gpr_31 = (0x089367B8u); - aot_fpr_13 = get_effective_aspect_ratio(std::bit_cast(ctx.gpr[6])); + aot_fpr_13 = get_effective_aspect_ratio(std::bit_cast(aot_gpr_6)); aot_fpr_12 = widen_horizontal_extent(aot_fpr_12); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0077_entry, 77u, 586u, 0x0893A7A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089367B8u) goto L_089367B8; AOT_REGCACHE_SYNC_OUT(); return; L_089367B8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_08936804; } @@ -6571,7 +6572,7 @@ L_089367C0: aot_gpr_4 = (aot_gpr_5 | 0u); goto L_0893505C; L_089367C8: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089367D8; @@ -6580,7 +6581,7 @@ L_089367C8: } L_089367D0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_08936804; } @@ -6588,7 +6589,7 @@ L_089367D0: } L_089367D8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08936804; } @@ -6596,7 +6597,7 @@ L_089367D8: } L_089367E0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_08936804; } @@ -6604,7 +6605,7 @@ L_089367E0: } L_089367E8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_08936804; } @@ -6616,14 +6617,14 @@ L_089367F0: goto L_08935054; L_089367F8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u < ctx.gpr[2] ? 1u : 0u); + aot_gpr_2 = (0u < aot_gpr_2 ? 1u : 0u); if (branch_taken) { goto L_08936804; } goto L_08936800; } L_08936800: - ctx.gpr[2] = (0u | 2u); + aot_gpr_2 = (0u | 2u); goto L_08936804; L_08936804: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -6634,17 +6635,17 @@ L_08936804: ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08936810: - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-19660), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-19660), static_cast(0u)); jump_target = aot_gpr_31; - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-19681), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-19681), static_cast(0u)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0893681C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - ctx.gpr[8] = (ctx.gpr[6] | 0u); - ctx.gpr[6] = (aot_gpr_4 | 0u); + ctx.gpr[8] = (aot_gpr_6 | 0u); + aot_gpr_6 = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); { const bool branch_taken = ctx.gpr[7] == 0u; aot_gpr_4 = (ctx.gpr[8] | 0u); @@ -6659,8 +6660,8 @@ L_08936834: L_08936838: ctx.gpr[7] = (aot_gpr_5 | 0u); aot_gpr_5 = (aot_gpr_4 | 0u); - aot_gpr_4 = (ctx.gpr[6] | 0u); - ctx.gpr[6] = (ctx.gpr[7] | 0u); + aot_gpr_4 = (aot_gpr_6 | 0u); + aot_gpr_6 = (ctx.gpr[7] | 0u); aot_gpr_31 = (0x08936850u); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 80u, 0x08B64728u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08936850u) goto L_08936850; @@ -6675,7 +6676,7 @@ L_08936850: AOT_REGCACHE_SYNC_OUT(); return; L_0893685C: jump_target = aot_gpr_31; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -6694,31 +6695,31 @@ L_08936864: AOT_REGCACHE_SYNC_OUT(); return; L_08936880: aot_gpr_29 = (aot_gpr_29 + static_cast(-784)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[16], ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(768), aot_run_words); } aot_gpr_31 = (0x08936898u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0205_entry, 205u, 815u, 0x08B3AE5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08936898u) goto L_08936898; AOT_REGCACHE_SYNC_OUT(); return; L_08936898: - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(3688), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(3688), static_cast(0u)); ctx.gpr[8] = (ctx.fcr31); ctx.gpr[9] = (0u + static_cast(-3969)); ctx.gpr[8] = (ctx.gpr[8] & ctx.gpr[9]); ctx.fcr31 = ctx.gpr[8] & 0x0181FFFFu; - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(4164))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(4164))); aot_gpr_31 = (0x089368B8u); aot_gpr_4 = (0u + static_cast(-1)); ctx.pc = 0x08B73664u; AOT_REGCACHE_SYNC_OUT(); return; L_089368B8: - aot_gpr_5 = (aot_gpr_28 + static_cast(-19388)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-19388)); aot_gpr_31 = (0x089368C4u); aot_gpr_4 = (0u | 1u); ctx.pc = 0x08B73134u; AOT_REGCACHE_SYNC_OUT(); return; L_089368C4: - { const bool branch_taken = static_cast(ctx.gpr[2]) >= 0; + { const bool branch_taken = static_cast(aot_gpr_2) >= 0; // nop if (branch_taken) { goto L_089368D4; @@ -6739,7 +6740,7 @@ L_089368D4: ctx.pc = 0x08B73114u; AOT_REGCACHE_SYNC_OUT(); return; L_089368DC: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); goto L_089368E0; L_089368E0: aot_gpr_5 = (aot_gpr_4 & 8u); @@ -6771,7 +6772,7 @@ L_08936900: AOT_REGCACHE_SYNC_OUT(); return; L_08936908: { const bool branch_taken = 0u == 0u; - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (branch_taken) { goto L_089368E0; } @@ -6793,7 +6794,7 @@ L_08936920: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0205_entry, 205u, 733u, 0x08B3AAE8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08936928u) goto L_08936928; AOT_REGCACHE_SYNC_OUT(); return; L_08936928: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08936940; @@ -6821,7 +6822,7 @@ L_08936940: L_08936948: aot_gpr_4 = (2232u << 16u); aot_gpr_5 = (0u | 0u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_gpr_31 = (0x0893695Cu); aot_gpr_4 = (aot_gpr_4 + static_cast(-11096)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0044_entry, 44u, 186u, 0x088B5310u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0893695Cu) goto L_0893695C; @@ -6832,7 +6833,7 @@ L_0893695C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0205_entry, 205u, 733u, 0x08B3AAE8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08936964u) goto L_08936964; AOT_REGCACHE_SYNC_OUT(); return; L_08936964: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08936920; @@ -6845,7 +6846,7 @@ L_0893696C: ctx.pc = 0x08B73114u; AOT_REGCACHE_SYNC_OUT(); return; L_08936974: - aot_gpr_4 = (ctx.gpr[2] & 32u); + aot_gpr_4 = (aot_gpr_2 & 32u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -6865,105 +6866,105 @@ L_08936988: AOT_REGCACHE_SYNC_OUT(); return; L_08936990: aot_gpr_4 = (2236u << 16u); - aot_gpr_16 = (aot_gpr_4 + static_cast(25856)); - aot_gpr_4 = (aot_gpr_16 | 0u); + ctx.gpr[16] = (aot_gpr_4 + static_cast(25856)); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 4u); aot_gpr_31 = (0x089369A8u); - ctx.gpr[6] = (0u | 8192u); + aot_gpr_6 = (0u | 8192u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 681u, 0x08ABF268u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089369A8u) goto L_089369A8; AOT_REGCACHE_SYNC_OUT(); return; L_089369A8: - ctx.gpr[6] = (1u << 16u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_6 = (1u << 16u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 8u); aot_gpr_31 = (0x089369BCu); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(1024)); + aot_gpr_6 = (aot_gpr_6 + static_cast(1024)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 681u, 0x08ABF268u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089369BCu) goto L_089369BC; AOT_REGCACHE_SYNC_OUT(); return; L_089369BC: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 12u); aot_gpr_31 = (0x089369CCu); - ctx.gpr[6] = (0u | 6144u); + aot_gpr_6 = (0u | 6144u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 681u, 0x08ABF268u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089369CCu) goto L_089369CC; AOT_REGCACHE_SYNC_OUT(); return; L_089369CC: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 16u); aot_gpr_31 = (0x089369DCu); - ctx.gpr[6] = (0u | 6144u); + aot_gpr_6 = (0u | 6144u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 681u, 0x08ABF268u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089369DCu) goto L_089369DC; AOT_REGCACHE_SYNC_OUT(); return; L_089369DC: - ctx.gpr[6] = (2u << 16u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_6 = (2u << 16u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 24u); aot_gpr_31 = (0x089369F0u); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(-11264)); + aot_gpr_6 = (aot_gpr_6 + static_cast(-11264)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 681u, 0x08ABF268u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089369F0u) goto L_089369F0; AOT_REGCACHE_SYNC_OUT(); return; L_089369F0: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 32u); aot_gpr_31 = (0x08936A00u); - ctx.gpr[6] = (0u | 11264u); + aot_gpr_6 = (0u | 11264u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 681u, 0x08ABF268u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08936A00u) goto L_08936A00; AOT_REGCACHE_SYNC_OUT(); return; L_08936A00: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 40u); aot_gpr_31 = (0x08936A10u); - ctx.gpr[6] = (0u | 1024u); + aot_gpr_6 = (0u | 1024u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 681u, 0x08ABF268u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08936A10u) goto L_08936A10; AOT_REGCACHE_SYNC_OUT(); return; L_08936A10: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 48u); aot_gpr_31 = (0x08936A20u); - ctx.gpr[6] = (0u | 3072u); + aot_gpr_6 = (0u | 3072u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 681u, 0x08ABF268u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08936A20u) goto L_08936A20; AOT_REGCACHE_SYNC_OUT(); return; L_08936A20: - ctx.gpr[6] = (0u | 46080u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_6 = (0u | 46080u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08936A30u); aot_gpr_5 = (0u | 56u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 681u, 0x08ABF268u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08936A30u) goto L_08936A30; AOT_REGCACHE_SYNC_OUT(); return; L_08936A30: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 64u); aot_gpr_31 = (0x08936A40u); - ctx.gpr[6] = (0u | 1024u); + aot_gpr_6 = (0u | 1024u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 681u, 0x08ABF268u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08936A40u) goto L_08936A40; AOT_REGCACHE_SYNC_OUT(); return; L_08936A40: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 80u); aot_gpr_31 = (0x08936A50u); - ctx.gpr[6] = (0u | 4096u); + aot_gpr_6 = (0u | 4096u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 681u, 0x08ABF268u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08936A50u) goto L_08936A50; AOT_REGCACHE_SYNC_OUT(); return; L_08936A50: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 96u); aot_gpr_31 = (0x08936A60u); - ctx.gpr[6] = (0u | 2048u); + aot_gpr_6 = (0u | 2048u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 681u, 0x08ABF268u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08936A60u) goto L_08936A60; AOT_REGCACHE_SYNC_OUT(); return; L_08936A60: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 112u); aot_gpr_31 = (0x08936A70u); - ctx.gpr[6] = (0u | 30720u); + aot_gpr_6 = (0u | 30720u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 681u, 0x08ABF268u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08936A70u) goto L_08936A70; AOT_REGCACHE_SYNC_OUT(); return; L_08936A70: - ctx.gpr[6] = (3u << 16u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_6 = (3u << 16u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 176u); aot_gpr_31 = (0x08936A84u); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(8192)); + aot_gpr_6 = (aot_gpr_6 + static_cast(8192)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 681u, 0x08ABF268u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08936A84u) goto L_08936A84; AOT_REGCACHE_SYNC_OUT(); return; L_08936A84: @@ -6991,7 +6992,7 @@ L_08936AAC: AOT_REGCACHE_SYNC_OUT(); return; L_08936ABC: aot_gpr_5 = (2195u << 16u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08936ACCu); aot_gpr_5 = (aot_gpr_5 + static_cast(17840)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 690u, 0x08ABF324u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08936ACCu) goto L_08936ACC; @@ -7003,7 +7004,7 @@ L_08936ACC: AOT_REGCACHE_SYNC_OUT(); return; L_08936AD4: aot_gpr_31 = (0x08936ADCu); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 107u, 0x08B2090Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08936ADCu) goto L_08936ADC; AOT_REGCACHE_SYNC_OUT(); return; L_08936ADC: @@ -7012,7 +7013,7 @@ L_08936ADC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0077_entry, 77u, 294u, 0x08939238u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08936AE4u) goto L_08936AE4; AOT_REGCACHE_SYNC_OUT(); return; L_08936AE4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5864))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5864))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -7027,11 +7028,11 @@ L_08936AF0: AOT_REGCACHE_SYNC_OUT(); return; L_08936AF8: aot_gpr_31 = (0x08936B00u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5864))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5864))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0083_entry, 83u, 874u, 0x08953E60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08936B00u) goto L_08936B00; AOT_REGCACHE_SYNC_OUT(); return; L_08936B00: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5868))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5868))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -7049,7 +7050,7 @@ L_08936B14: // nop goto L_089343AC; L_08936B1C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5896))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5896))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -7068,7 +7069,7 @@ L_08936B30: goto L_089343D8; L_08936B38: aot_gpr_31 = (0x08936B40u); - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-19661), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-19661), static_cast(0u)); goto L_08934828; L_08936B40: aot_gpr_4 = (0u | 20u); @@ -7077,7 +7078,7 @@ L_08936B40: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0119_entry, 119u, 285u, 0x089E16B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08936B4Cu) goto L_08936B4C; AOT_REGCACHE_SYNC_OUT(); return; L_08936B4C: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08936B5C; @@ -7086,7 +7087,7 @@ L_08936B4C: } L_08936B54: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08936F44; } @@ -7095,7 +7096,7 @@ L_08936B54: L_08936B5C: aot_gpr_4 = (2247u << 16u); aot_gpr_5 = (2247u << 16u); - ctx.gpr[6] = (aot_gpr_28 + static_cast(8888)); + aot_gpr_6 = (ctx.gpr[28] + static_cast(8888)); ctx.gpr[7] = (0u | 1u); aot_gpr_4 = (aot_gpr_4 + static_cast(-32)); aot_gpr_31 = (0x08936B78u); @@ -7103,7 +7104,7 @@ L_08936B5C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0172_entry, 172u, 502u, 0x08AB5E04u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08936B78u) goto L_08936B78; AOT_REGCACHE_SYNC_OUT(); return; L_08936B78: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8888))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8888))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -7117,7 +7118,7 @@ L_08936B84: ctx.pc = 0x08B73114u; AOT_REGCACHE_SYNC_OUT(); return; L_08936B8C: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); goto L_08936B90; L_08936B90: aot_gpr_5 = (aot_gpr_4 & 8u); @@ -7149,14 +7150,14 @@ L_08936BB0: AOT_REGCACHE_SYNC_OUT(); return; L_08936BB8: { const bool branch_taken = 0u == 0u; - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (branch_taken) { goto L_08936B90; } goto L_08936BC0; } L_08936BC0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -7171,8 +7172,8 @@ L_08936BCC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08936BD8u) goto L_08936BD8; AOT_REGCACHE_SYNC_OUT(); return; L_08936BD8: - aot_gpr_16 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08936BF0; @@ -7181,22 +7182,22 @@ L_08936BD8: } L_08936BE4: aot_gpr_31 = (0x08936BECu); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08936BECu) goto L_08936BEC; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08936BECu) goto L_08936BEC; AOT_REGCACHE_SYNC_OUT(); return; L_08936BEC: - ctx.gpr[17] = (aot_gpr_16 | 0u); + ctx.gpr[17] = (ctx.gpr[16] | 0u); goto L_08936BF0; L_08936BF0: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), ctx.gpr[17]); goto L_08936BF4; L_08936BF4: aot_gpr_31 = (0x08936BFCu); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 447u, 0x089F656Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08936BFCu) goto L_08936BFC; AOT_REGCACHE_SYNC_OUT(); return; L_08936BFC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8888))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8888))); aot_gpr_5 = (0u | 1u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -7206,9 +7207,9 @@ L_08936BFC: goto L_08936C0C; } L_08936C0C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); goto L_08936C44; } goto L_08936C18; @@ -7219,8 +7220,8 @@ L_08936C18: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08936C24u) goto L_08936C24; AOT_REGCACHE_SYNC_OUT(); return; L_08936C24: - aot_gpr_16 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08936C3C; @@ -7229,27 +7230,27 @@ L_08936C24: } L_08936C30: aot_gpr_31 = (0x08936C38u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08936C38u) goto L_08936C38; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08936C38u) goto L_08936C38; AOT_REGCACHE_SYNC_OUT(); return; L_08936C38: - ctx.gpr[17] = (aot_gpr_16 | 0u); + ctx.gpr[17] = (ctx.gpr[16] | 0u); goto L_08936C3C; L_08936C3C: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), ctx.gpr[17]); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); goto L_08936C44; L_08936C44: - aot_gpr_5 = (aot_gpr_28 + static_cast(-19380)); - ctx.gpr[6] = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-19380)); + aot_gpr_6 = (aot_gpr_29 | 0u); aot_gpr_31 = (0x08936C54u); ctx.gpr[7] = (0u | 255u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 426u, 0x089F63FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08936C54u) goto L_08936C54; AOT_REGCACHE_SYNC_OUT(); return; L_08936C54: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_16 = (aot_gpr_29 + static_cast(256)); + ctx.gpr[16] = (aot_gpr_29 + static_cast(256)); if (branch_taken) { goto L_08936C8C; } @@ -7262,8 +7263,8 @@ L_08936C60: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08936C6Cu) goto L_08936C6C; AOT_REGCACHE_SYNC_OUT(); return; L_08936C6C: - aot_gpr_16 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08936C84; @@ -7272,20 +7273,20 @@ L_08936C6C: } L_08936C78: aot_gpr_31 = (0x08936C80u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08936C80u) goto L_08936C80; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08936C80u) goto L_08936C80; AOT_REGCACHE_SYNC_OUT(); return; L_08936C80: - ctx.gpr[17] = (aot_gpr_16 | 0u); + ctx.gpr[17] = (ctx.gpr[16] | 0u); goto L_08936C84; L_08936C84: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); - aot_gpr_16 = (aot_gpr_29 + static_cast(256)); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), ctx.gpr[17]); + ctx.gpr[16] = (aot_gpr_29 + static_cast(256)); goto L_08936C8C; L_08936C8C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); - aot_gpr_5 = (aot_gpr_28 + static_cast(-19372)); - ctx.gpr[6] = (aot_gpr_16 | 0u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-19372)); + aot_gpr_6 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08936CA0u); ctx.gpr[7] = (0u | 255u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 426u, 0x089F63FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08936CA0u) goto L_08936CA0; @@ -7293,9 +7294,9 @@ L_08936C8C: L_08936CA0: aot_gpr_4 = (2247u << 16u); ctx.gpr[7] = (2247u << 16u); - aot_gpr_5 = (aot_gpr_28 + static_cast(-19364)); - ctx.gpr[6] = (aot_gpr_29 | 0u); - ctx.gpr[8] = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-19364)); + aot_gpr_6 = (aot_gpr_29 | 0u); + ctx.gpr[8] = (ctx.gpr[16] | 0u); aot_gpr_4 = (aot_gpr_4 + static_cast(-544)); aot_gpr_31 = (0x08936CC0u); ctx.gpr[7] = (ctx.gpr[7] + static_cast(32)); @@ -7310,7 +7311,7 @@ L_08936CC0: goto L_08936CC8; } L_08936CC8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8888))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8888))); aot_gpr_5 = (0u | 2u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -7320,9 +7321,9 @@ L_08936CC8: goto L_08936CD8; } L_08936CD8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); goto L_08936D10; } goto L_08936CE4; @@ -7333,8 +7334,8 @@ L_08936CE4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08936CF0u) goto L_08936CF0; AOT_REGCACHE_SYNC_OUT(); return; L_08936CF0: - aot_gpr_16 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08936D08; @@ -7343,27 +7344,27 @@ L_08936CF0: } L_08936CFC: aot_gpr_31 = (0x08936D04u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08936D04u) goto L_08936D04; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08936D04u) goto L_08936D04; AOT_REGCACHE_SYNC_OUT(); return; L_08936D04: - ctx.gpr[17] = (aot_gpr_16 | 0u); + ctx.gpr[17] = (ctx.gpr[16] | 0u); goto L_08936D08; L_08936D08: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), ctx.gpr[17]); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); goto L_08936D10; L_08936D10: - aot_gpr_5 = (aot_gpr_28 + static_cast(-19352)); - ctx.gpr[6] = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-19352)); + aot_gpr_6 = (aot_gpr_29 | 0u); aot_gpr_31 = (0x08936D20u); ctx.gpr[7] = (0u | 255u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 426u, 0x089F63FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08936D20u) goto L_08936D20; AOT_REGCACHE_SYNC_OUT(); return; L_08936D20: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_16 = (aot_gpr_29 + static_cast(256)); + ctx.gpr[16] = (aot_gpr_29 + static_cast(256)); if (branch_taken) { goto L_08936D58; } @@ -7376,8 +7377,8 @@ L_08936D2C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08936D38u) goto L_08936D38; AOT_REGCACHE_SYNC_OUT(); return; L_08936D38: - aot_gpr_16 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08936D50; @@ -7386,20 +7387,20 @@ L_08936D38: } L_08936D44: aot_gpr_31 = (0x08936D4Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08936D4Cu) goto L_08936D4C; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08936D4Cu) goto L_08936D4C; AOT_REGCACHE_SYNC_OUT(); return; L_08936D4C: - ctx.gpr[17] = (aot_gpr_16 | 0u); + ctx.gpr[17] = (ctx.gpr[16] | 0u); goto L_08936D50; L_08936D50: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); - aot_gpr_16 = (aot_gpr_29 + static_cast(256)); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), ctx.gpr[17]); + ctx.gpr[16] = (aot_gpr_29 + static_cast(256)); goto L_08936D58; L_08936D58: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); - aot_gpr_5 = (aot_gpr_28 + static_cast(-19344)); - ctx.gpr[6] = (aot_gpr_16 | 0u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-19344)); + aot_gpr_6 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08936D6Cu); ctx.gpr[7] = (0u | 255u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 426u, 0x089F63FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08936D6Cu) goto L_08936D6C; @@ -7407,9 +7408,9 @@ L_08936D58: L_08936D6C: aot_gpr_4 = (2247u << 16u); ctx.gpr[7] = (2247u << 16u); - aot_gpr_5 = (aot_gpr_28 + static_cast(-19364)); - ctx.gpr[6] = (aot_gpr_29 | 0u); - ctx.gpr[8] = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-19364)); + aot_gpr_6 = (aot_gpr_29 | 0u); + ctx.gpr[8] = (ctx.gpr[16] | 0u); aot_gpr_4 = (aot_gpr_4 + static_cast(-544)); aot_gpr_31 = (0x08936D8Cu); ctx.gpr[7] = (ctx.gpr[7] + static_cast(32)); @@ -7450,7 +7451,7 @@ L_08936DB8: aot_gpr_4 = (2236u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(29552)); aot_gpr_5 = (0u | 1u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); ctx.gpr[7] = (0u | 1u); ctx.gpr[8] = (0u | 0u); aot_gpr_31 = (0x08936DD8u); @@ -7470,7 +7471,7 @@ L_08936DE0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0172_entry, 172u, 636u, 0x08AB650Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08936DF0u) goto L_08936DF0; AOT_REGCACHE_SYNC_OUT(); return; L_08936DF0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-2236))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-2236))); aot_gpr_5 = (32768u << 16u); aot_gpr_4 = (aot_gpr_4 < aot_gpr_5 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; @@ -7489,7 +7490,7 @@ L_08936E0C: aot_gpr_4 = (2236u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(29552)); aot_gpr_5 = (0u | 1u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); ctx.gpr[7] = (0u | 1u); ctx.gpr[8] = (0u | 0u); aot_gpr_31 = (0x08936E2Cu); @@ -7500,7 +7501,7 @@ L_08936E2C: aot_gpr_4 = (15477u << 16u); aot_gpr_4 = (aot_gpr_4 | 49807u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-8728), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-8728), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08936E44u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 723u, 0x08A06FE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08936E44u) goto L_08936E44; @@ -7511,7 +7512,7 @@ L_08936E44: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 787u, 0x08A07508u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08936E4Cu) goto L_08936E4C; AOT_REGCACHE_SYNC_OUT(); return; L_08936E4C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-2236))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-2236))); aot_gpr_5 = (32768u << 16u); aot_gpr_4 = (aot_gpr_4 < aot_gpr_5 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; @@ -7527,7 +7528,7 @@ L_08936E60: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 691u, 0x08A06CBCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08936E68u) goto L_08936E68; AOT_REGCACHE_SYNC_OUT(); return; L_08936E68: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -7542,8 +7543,8 @@ L_08936E74: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08936E80u) goto L_08936E80; AOT_REGCACHE_SYNC_OUT(); return; L_08936E80: - aot_gpr_16 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08936E98; @@ -7552,22 +7553,22 @@ L_08936E80: } L_08936E8C: aot_gpr_31 = (0x08936E94u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08936E94u) goto L_08936E94; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08936E94u) goto L_08936E94; AOT_REGCACHE_SYNC_OUT(); return; L_08936E94: - ctx.gpr[17] = (aot_gpr_16 | 0u); + ctx.gpr[17] = (ctx.gpr[16] | 0u); goto L_08936E98; L_08936E98: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), ctx.gpr[17]); goto L_08936E9C; L_08936E9C: aot_gpr_31 = (0x08936EA4u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 412u, 0x089F6324u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08936EA4u) goto L_08936EA4; AOT_REGCACHE_SYNC_OUT(); return; L_08936EA4: - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); goto L_08936EA8; L_08936EA8: aot_gpr_31 = (0x08936EB0u); @@ -7575,7 +7576,7 @@ L_08936EA8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0205_entry, 205u, 733u, 0x08B3AAE8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08936EB0u) goto L_08936EB0; AOT_REGCACHE_SYNC_OUT(); return; L_08936EB0: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08936EC8; @@ -7589,14 +7590,14 @@ L_08936EB8: AOT_REGCACHE_SYNC_OUT(); return; L_08936EC0: { const bool branch_taken = 0u == 0u; - aot_gpr_16 = (0u | 1u); + ctx.gpr[16] = (0u | 1u); if (branch_taken) { goto L_08936EA8; } goto L_08936EC8; } L_08936EC8: - { const bool branch_taken = aot_gpr_16 == 0u; + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08936ED8; @@ -7614,8 +7615,8 @@ L_08936ED0: L_08936ED8: aot_gpr_4 = (2236u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(29232)); - aot_gpr_16 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(301))); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(301))); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08936EFC; @@ -7634,7 +7635,7 @@ L_08936EFC: // nop goto L_089349A8; L_08936F04: - { const bool branch_taken = aot_gpr_16 == 0u; + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08936F1C; @@ -7668,12 +7669,12 @@ L_08936F38: // nop goto L_08935E28; L_08936F40: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_08936F44; L_08936F44: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(768), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -7685,15 +7686,15 @@ L_08936F44: AOT_REGCACHE_SYNC_OUT(); return; L_08936F58: aot_gpr_29 = (aot_gpr_29 + static_cast(-112)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7688))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(88), aot_gpr_16); - aot_gpr_16 = (2237u << 16u); - { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24])}; + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7688))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(88), ctx.gpr[16]); + ctx.gpr[16] = (2237u << 16u); + { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(76), aot_run_words); } { const std::uint32_t aot_run_words[5]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(92), aot_run_words); } { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_16 = (aot_gpr_16 + static_cast(-28416)); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(-28416)); if (branch_taken) { goto L_08936FA8; } @@ -7701,23 +7702,23 @@ L_08936F58: } L_08936F90: aot_gpr_4 = (0u | 1u); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(7688), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7688), aot_gpr_4); aot_gpr_31 = (0x08936FA0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0010_entry, 10u, 286u, 0x0882D794u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08936FA0u) goto L_08936FA0; AOT_REGCACHE_SYNC_OUT(); return; L_08936FA0: aot_gpr_31 = (0x08936FA8u); - aot_gpr_4 = (aot_gpr_28 + static_cast(-19644)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08936FA8u) goto L_08936FA8; + aot_gpr_4 = (ctx.gpr[28] + static_cast(-19644)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08936FA8u) goto L_08936FA8; AOT_REGCACHE_SYNC_OUT(); return; L_08936FA8: aot_gpr_31 = (0x08936FB0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0010_entry, 10u, 611u, 0x0882E9B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08936FB0u) goto L_08936FB0; AOT_REGCACHE_SYNC_OUT(); return; L_08936FB0: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08936FE4; @@ -7725,7 +7726,7 @@ L_08936FB0: goto L_08936FB8; } L_08936FB8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7688))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7688))); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_4 = (0u | 1u); if (branch_taken) { @@ -7734,18 +7735,18 @@ L_08936FB8: goto L_08936FC4; } L_08936FC4: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(7688), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7688), aot_gpr_4); aot_gpr_31 = (0x08936FD0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0010_entry, 10u, 286u, 0x0882D794u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08936FD0u) goto L_08936FD0; AOT_REGCACHE_SYNC_OUT(); return; L_08936FD0: aot_gpr_31 = (0x08936FD8u); - aot_gpr_4 = (aot_gpr_28 + static_cast(-19644)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08936FD8u) goto L_08936FD8; + aot_gpr_4 = (ctx.gpr[28] + static_cast(-19644)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08936FD8u) goto L_08936FD8; AOT_REGCACHE_SYNC_OUT(); return; L_08936FD8: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(42))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(42))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -7754,8 +7755,8 @@ L_08936FD8: goto L_08936FE4; } L_08936FE4: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-19682))); - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-16965))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-19682))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-16965))); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -7766,7 +7767,7 @@ L_08936FE4: } L_08936FF8: { const bool branch_taken = 0u == 0u; - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); if (branch_taken) { goto L_08937008; } @@ -7774,7 +7775,7 @@ L_08936FF8: } L_08937000: { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-19682), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-19682), static_cast(0u)); if (branch_taken) { goto L_08937294; } @@ -7794,7 +7795,7 @@ L_08937010: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 466u, 0x08B65E44u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08937018u) goto L_08937018; AOT_REGCACHE_SYNC_OUT(); return; L_08937018: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); goto L_0893701C; L_0893701C: aot_gpr_31 = (0x08937024u); @@ -7802,7 +7803,7 @@ L_0893701C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0112_entry, 112u, 631u, 0x089C6D78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08937024u) goto L_08937024; AOT_REGCACHE_SYNC_OUT(); return; L_08937024: - aot_gpr_4 = (ctx.gpr[2] < static_cast(256) ? 1u : 0u); + aot_gpr_4 = (aot_gpr_2 < static_cast(256) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -7816,17 +7817,17 @@ L_08937030: goto L_0893509C; L_08937038: ctx.gpr[18] = (aot_gpr_29 + static_cast(32)); - ctx.gpr[17] = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-16965))); - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-16965))); + ctx.gpr[16] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x0893704Cu); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 291u, 0x089D1AECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0893704Cu) goto L_0893704C; AOT_REGCACHE_SYNC_OUT(); return; L_0893704C: aot_gpr_4 = (17392u << 16u); - aot_fpr_20 = std::bit_cast(0u); + ctx.fpr[20] = std::bit_cast(0u); ctx.fpr[22] = std::bit_cast(aot_gpr_4); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); ctx.gpr[19] = (2236u << 16u); aot_gpr_4 = (17288u << 16u); ctx.gpr[19] = (ctx.gpr[19] + static_cast(32304)); @@ -7844,7 +7845,7 @@ L_08937074: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 466u, 0x08B65E44u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0893707Cu) goto L_0893707C; AOT_REGCACHE_SYNC_OUT(); return; L_0893707C: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); goto L_08937080; L_08937080: aot_gpr_31 = (0x08937088u); @@ -7852,7 +7853,7 @@ L_08937080: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0112_entry, 112u, 631u, 0x089C6D78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08937088u) goto L_08937088; AOT_REGCACHE_SYNC_OUT(); return; L_08937088: - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); aot_gpr_4 = (0u | 256u); aot_gpr_4 = (aot_gpr_4 < aot_gpr_5 ? 1u : 0u); if (aot_gpr_4 != 0u) { @@ -7862,8 +7863,8 @@ L_08937088: goto L_0893709C; L_0893709C: aot_gpr_4 = (0u | 50u); - ctx.gpr[6] = (static_cast(aot_gpr_4) < static_cast(aot_gpr_5) ? 1u : 0u); - if (ctx.gpr[6] != 0u) { + aot_gpr_6 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_5) ? 1u : 0u); + if (aot_gpr_6 != 0u) { aot_gpr_4 = (aot_gpr_5 | 0u); goto L_089370AC; } @@ -7884,7 +7885,7 @@ L_089370BC: aot_gpr_5 = (ctx.gpr[17] - aot_gpr_4); aot_gpr_5 = (aot_gpr_5 + static_cast(256)); if (aot_gpr_5 != 0u) { - ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-16968))); + aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-16968))); goto L_089370E0; } goto L_089370CC; @@ -7900,9 +7901,9 @@ L_089370CC: goto L_089370E0; } L_089370E0: - ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-16967))); - { const std::int64_t product = static_cast(static_cast(ctx.gpr[6])) * static_cast(static_cast(ctx.gpr[17])); ctx.lo = static_cast(product); ctx.hi = static_cast(static_cast(product) >> 32u); } - ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-16966))); + ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-16967))); + { const std::int64_t product = static_cast(static_cast(aot_gpr_6)) * static_cast(static_cast(ctx.gpr[17])); ctx.lo = static_cast(product); ctx.hi = static_cast(static_cast(product) >> 32u); } + aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-16966))); ctx.gpr[8] = (ctx.lo); // nop // nop @@ -7910,8 +7911,8 @@ L_089370E0: ctx.gpr[7] = (ctx.lo); // nop // nop - { const std::int64_t product = static_cast(static_cast(ctx.gpr[6])) * static_cast(static_cast(ctx.gpr[17])); ctx.lo = static_cast(product); ctx.hi = static_cast(static_cast(product) >> 32u); } - ctx.gpr[6] = (ctx.lo); + { const std::int64_t product = static_cast(static_cast(aot_gpr_6)) * static_cast(static_cast(ctx.gpr[17])); ctx.lo = static_cast(product); ctx.hi = static_cast(static_cast(product) >> 32u); } + aot_gpr_6 = (ctx.lo); // nop // nop { const std::int32_t dividend = static_cast(ctx.gpr[8]); const std::int32_t divisor = static_cast(aot_gpr_5); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } @@ -7926,7 +7927,7 @@ L_089370E0: ctx.gpr[7] = (ctx.lo); // nop // nop - { const std::int32_t dividend = static_cast(ctx.gpr[6]); const std::int32_t divisor = static_cast(aot_gpr_5); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } + { const std::int32_t dividend = static_cast(aot_gpr_6); const std::int32_t divisor = static_cast(aot_gpr_5); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(25), static_cast(ctx.gpr[7])); aot_gpr_5 = (ctx.lo); // nop @@ -7971,12 +7972,12 @@ L_089371CC: goto L_089371D0; L_089371D0: aot_gpr_4 = (aot_gpr_29 + static_cast(8)); - aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); - aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); + aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); + aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[22])); aot_gpr_31 = (0x089371E8u); - ctx.fpr[15] = std::bit_cast(std::bit_cast(ctx.fpr[24])); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089371E8u) goto L_089371E8; + aot_fpr_15 = std::bit_cast(std::bit_cast(ctx.fpr[24])); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089371E8u) goto L_089371E8; AOT_REGCACHE_SYNC_OUT(); return; L_089371E8: { std::uint32_t aot_run_words[3]{}; @@ -7986,22 +7987,22 @@ L_089371E8: aot_fpr_14 = std::bit_cast(aot_run_words[2]); } aot_gpr_4 = (std::bit_cast(aot_fpr_12)); - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); aot_gpr_5 = (std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), aot_gpr_4); - ctx.gpr[6] = (std::bit_cast(aot_fpr_14)); + aot_gpr_6 = (std::bit_cast(aot_fpr_14)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), aot_gpr_5); - aot_gpr_4 = (std::bit_cast(ctx.fpr[15])); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), ctx.gpr[6]); + aot_gpr_4 = (std::bit_cast(aot_fpr_15)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), aot_gpr_4); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08937228u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 107u, 0x08AF5130u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08937228u) goto L_08937228; AOT_REGCACHE_SYNC_OUT(); return; L_08937228: - ctx.gpr[18] = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-16965))); + ctx.gpr[18] = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-16965))); { const bool branch_taken = ctx.gpr[18] == 0u; // nop if (branch_taken) { @@ -8020,22 +8021,22 @@ L_08937234: } L_08937240: aot_gpr_4 = (0u | 255u); - aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); + aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(24), static_cast(aot_gpr_4)); - aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); + aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(25), static_cast(aot_gpr_4)); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[22])); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(26), static_cast(aot_gpr_4)); - ctx.fpr[15] = std::bit_cast(std::bit_cast(ctx.fpr[24])); + aot_fpr_15 = std::bit_cast(std::bit_cast(ctx.fpr[24])); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(27), static_cast(ctx.gpr[18])); aot_gpr_31 = (0x0893726Cu); aot_gpr_4 = (aot_gpr_29 + static_cast(60)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0893726Cu) goto L_0893726C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0893726Cu) goto L_0893726C; AOT_REGCACHE_SYNC_OUT(); return; L_0893726C: - aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (ctx.gpr[20] | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); + aot_gpr_6 = (ctx.gpr[20] | 0u); ctx.gpr[7] = (ctx.gpr[20] | 0u); ctx.gpr[8] = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08937288u); @@ -8051,15 +8052,15 @@ L_08937288: goto L_08937290; } L_08937290: - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-19682), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-19682), static_cast(0u)); goto L_08937294; L_08937294: { std::uint32_t aot_run_words[9]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(76), aot_run_words); - aot_fpr_20 = std::bit_cast(aot_run_words[0]); + ctx.fpr[20] = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); - aot_gpr_16 = aot_run_words[3]; + ctx.gpr[16] = aot_run_words[3]; ctx.gpr[17] = aot_run_words[4]; ctx.gpr[18] = aot_run_words[5]; ctx.gpr[19] = aot_run_words[6]; @@ -8074,13 +8075,13 @@ L_08937294: AOT_REGCACHE_SYNC_OUT(); return; L_089372C0: aot_gpr_29 = (aot_gpr_29 + static_cast(-96)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), aot_gpr_16); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); - { const std::uint32_t aot_run_words[4]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26])}; + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), ctx.gpr[16]); + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); + { const std::uint32_t aot_run_words[4]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(52), aot_run_words); } { const std::uint32_t aot_run_words[5]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(72), aot_run_words); } - { const bool branch_taken = aot_gpr_16 != 0u; + { const bool branch_taken = ctx.gpr[16] != 0u; // nop if (branch_taken) { goto L_08937320; @@ -8088,13 +8089,13 @@ L_089372C0: goto L_089372F8; } L_089372F8: - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); aot_gpr_31 = (0x08937304u); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08937304u) goto L_08937304; AOT_REGCACHE_SYNC_OUT(); return; L_08937304: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { @@ -8105,21 +8106,21 @@ L_08937304: L_08937310: aot_gpr_31 = (0x08937318u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08937318u) goto L_08937318; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08937318u) goto L_08937318; AOT_REGCACHE_SYNC_OUT(); return; L_08937318: - aot_gpr_16 = (ctx.gpr[17] | 0u); + ctx.gpr[16] = (ctx.gpr[17] | 0u); goto L_0893731C; L_0893731C: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), ctx.gpr[16]); goto L_08937320; L_08937320: aot_gpr_31 = (0x08937328u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 411u, 0x089F6318u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08937328u) goto L_08937328; AOT_REGCACHE_SYNC_OUT(); return; L_08937328: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089373A8; @@ -8127,9 +8128,9 @@ L_08937328: goto L_08937330; } L_08937330: - ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); { const bool branch_taken = ctx.gpr[17] != 0u; - aot_gpr_16 = (aot_gpr_28 + static_cast(-19600)); + ctx.gpr[16] = (ctx.gpr[28] + static_cast(-19600)); if (branch_taken) { goto L_08937364; } @@ -8142,7 +8143,7 @@ L_0893733C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08937348u) goto L_08937348; AOT_REGCACHE_SYNC_OUT(); return; L_08937348: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[18] == 0u; // nop if (branch_taken) { @@ -8153,22 +8154,22 @@ L_08937348: L_08937354: aot_gpr_31 = (0x0893735Cu); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0893735Cu) goto L_0893735C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0893735Cu) goto L_0893735C; AOT_REGCACHE_SYNC_OUT(); return; L_0893735C: ctx.gpr[17] = (ctx.gpr[18] | 0u); goto L_08937360; L_08937360: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), ctx.gpr[17]); goto L_08937364; L_08937364: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08937370u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 441u, 0x089F64FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08937370u) goto L_08937370; AOT_REGCACHE_SYNC_OUT(); return; L_08937370: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089373A8; @@ -8181,11 +8182,11 @@ L_08937378: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0077_entry, 77u, 302u, 0x08939298u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08937380u) goto L_08937380; AOT_REGCACHE_SYNC_OUT(); return; L_08937380: - ctx.gpr[18] = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-19332))); - aot_fpr_20 = std::bit_cast(0u); - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(7713), static_cast(ctx.gpr[2])); - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-19332), static_cast(0u)); - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-16968))); + ctx.gpr[18] = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-19332))); + ctx.fpr[20] = std::bit_cast(0u); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(7713), static_cast(aot_gpr_2)); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-19332), static_cast(0u)); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-16968))); aot_gpr_4 = (0u | 255u); { const bool branch_taken = aot_gpr_5 == aot_gpr_4; ctx.gpr[17] = (0u | 0u); @@ -8211,7 +8212,7 @@ L_089373A8: goto L_089373B0; } L_089373B0: - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-16967))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-16967))); { const bool branch_taken = aot_gpr_5 != aot_gpr_4; // nop if (branch_taken) { @@ -8220,7 +8221,7 @@ L_089373B0: goto L_089373BC; } L_089373BC: - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-16966))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-16966))); { const bool branch_taken = aot_gpr_5 != aot_gpr_4; // nop if (branch_taken) { @@ -8232,8 +8233,8 @@ L_089373C8: ctx.gpr[17] = (0u | 1u); goto L_089373CC; L_089373CC: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-19656))); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(aot_fpr_20)) && aot_fpr_12 == aot_fpr_20)) ? 0x00800000u : 0u); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-19656))); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(ctx.fpr[20])) && aot_fpr_12 == ctx.fpr[20])) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -8243,7 +8244,7 @@ L_089373CC: goto L_089373E0; } L_089373E0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7688))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7688))); ctx.gpr[19] = (2237u << 16u); { const bool branch_taken = aot_gpr_4 != 0u; ctx.gpr[19] = (ctx.gpr[19] + static_cast(-28416)); @@ -8254,15 +8255,15 @@ L_089373E0: } L_089373F0: aot_gpr_4 = (0u | 1u); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(7688), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7688), aot_gpr_4); aot_gpr_31 = (0x08937400u); aot_gpr_4 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0010_entry, 10u, 286u, 0x0882D794u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08937400u) goto L_08937400; AOT_REGCACHE_SYNC_OUT(); return; L_08937400: aot_gpr_31 = (0x08937408u); - aot_gpr_4 = (aot_gpr_28 + static_cast(-19644)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08937408u) goto L_08937408; + aot_gpr_4 = (ctx.gpr[28] + static_cast(-19644)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08937408u) goto L_08937408; AOT_REGCACHE_SYNC_OUT(); return; L_08937408: aot_gpr_31 = (0x08937410u); @@ -8270,7 +8271,7 @@ L_08937408: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0010_entry, 10u, 611u, 0x0882E9B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08937410u) goto L_08937410; AOT_REGCACHE_SYNC_OUT(); return; L_08937410: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08937570; @@ -8294,7 +8295,7 @@ L_0893742C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08937434u) goto L_08937434; AOT_REGCACHE_SYNC_OUT(); return; L_08937434: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08937494; @@ -8307,7 +8308,7 @@ L_0893743C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08937444u) goto L_08937444; AOT_REGCACHE_SYNC_OUT(); return; L_08937444: - aot_gpr_4 = (ctx.gpr[2] + static_cast(2228)); + aot_gpr_4 = (aot_gpr_2 + static_cast(2228)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_5 = (0u | 57u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; @@ -8323,7 +8324,7 @@ L_08937458: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08937460u) goto L_08937460; AOT_REGCACHE_SYNC_OUT(); return; L_08937460: - aot_gpr_4 = (ctx.gpr[2] + static_cast(2228)); + aot_gpr_4 = (aot_gpr_2 + static_cast(2228)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_5 = (0u | 58u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; @@ -8339,7 +8340,7 @@ L_08937474: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0893747Cu) goto L_0893747C; AOT_REGCACHE_SYNC_OUT(); return; L_0893747C: - aot_gpr_4 = (ctx.gpr[2] + static_cast(2228)); + aot_gpr_4 = (aot_gpr_2 + static_cast(2228)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_5 = (0u | 65u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; @@ -8358,11 +8359,11 @@ L_08937494: ctx.pc = 0x08B73514u; AOT_REGCACHE_SYNC_OUT(); return; L_0893749C: - ctx.gpr[6] = (aot_gpr_29 + static_cast(20)); + aot_gpr_6 = (aot_gpr_29 + static_cast(20)); ctx.gpr[7] = (aot_gpr_29 + static_cast(24)); aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x089374B0u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); ctx.pc = 0x08B7343Cu; AOT_REGCACHE_SYNC_OUT(); return; L_089374B0: @@ -8371,7 +8372,7 @@ L_089374B0: aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_fpr_13 = std::bit_cast(aot_gpr_5); - ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-19656))); + ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-19656))); aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_13))); { const float fs = aot_fpr_12; const float ft = ctx.fpr[26]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = aot_fpr_12 + aot_fpr_13; @@ -8397,7 +8398,7 @@ L_089374DC: L_089374F4: aot_gpr_4 = (0u | 1u); { const bool branch_taken = ctx.gpr[18] != 0u; - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-19332), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-19332), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08937544; } @@ -8409,11 +8410,11 @@ L_08937500: ctx.pc = 0x08B73514u; AOT_REGCACHE_SYNC_OUT(); return; L_08937508: - ctx.gpr[6] = (aot_gpr_29 + static_cast(28)); + aot_gpr_6 = (aot_gpr_29 + static_cast(28)); ctx.gpr[7] = (aot_gpr_29 + static_cast(32)); aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x0893751Cu); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); ctx.pc = 0x08B7343Cu; AOT_REGCACHE_SYNC_OUT(); return; L_0893751C: @@ -8426,7 +8427,7 @@ L_0893751C: { const float fs = aot_fpr_12; const float ft = ctx.fpr[26]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = aot_fpr_12 + aot_fpr_13; aot_fpr_12 = aot_fpr_12 - ctx.fpr[22]; - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-19656), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-19656), std::bit_cast(aot_fpr_12)); goto L_08937544; L_08937544: aot_gpr_4 = (16384u << 16u); @@ -8441,10 +8442,10 @@ L_08937558: aot_gpr_4 = (17279u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-19336), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-19336), std::bit_cast(aot_fpr_12)); goto L_08937570; L_08937570: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-19332))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-19332))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -8453,8 +8454,8 @@ L_08937570: goto L_0893757C; } L_0893757C: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-19336))); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(aot_fpr_20)) && aot_fpr_12 == aot_fpr_20)) ? 0x00800000u : 0u); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-19336))); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(ctx.fpr[20])) && aot_fpr_12 == ctx.fpr[20])) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -8467,17 +8468,17 @@ L_08937590: aot_gpr_4 = (16896u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_20)) ? 0x00800000u : 0u); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[20])) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-19336), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-19336), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_089375B0; } goto L_089375AC; } L_089375AC: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-19336), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-19336), std::bit_cast(ctx.fpr[20])); goto L_089375B0; L_089375B0: aot_gpr_31 = (0x089375B8u); @@ -8485,7 +8486,7 @@ L_089375B0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0077_entry, 77u, 302u, 0x08939298u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089375B8u) goto L_089375B8; AOT_REGCACHE_SYNC_OUT(); return; L_089375B8: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08937680; @@ -8495,10 +8496,10 @@ L_089375B8: L_089375C0: aot_gpr_4 = (13702u << 16u); aot_gpr_4 = (aot_gpr_4 | 14269u); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-19328))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-19328))); ctx.fpr[22] = std::bit_cast(aot_gpr_4); aot_gpr_4 = (16384u << 16u); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(aot_fpr_20)) && aot_fpr_12 == aot_fpr_20)) ? 0x00800000u : 0u); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(ctx.fpr[20])) && aot_fpr_12 == ctx.fpr[20])) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); ctx.fpr[24] = std::bit_cast(aot_gpr_4); @@ -8513,11 +8514,11 @@ L_089375E4: ctx.pc = 0x08B73514u; AOT_REGCACHE_SYNC_OUT(); return; L_089375EC: - ctx.gpr[6] = (aot_gpr_29 + static_cast(36)); + aot_gpr_6 = (aot_gpr_29 + static_cast(36)); ctx.gpr[7] = (aot_gpr_29 + static_cast(40)); aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08937600u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); ctx.pc = 0x08B7343Cu; AOT_REGCACHE_SYNC_OUT(); return; L_08937600: @@ -8529,7 +8530,7 @@ L_08937600: aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_13))); { const float fs = aot_fpr_12; const float ft = ctx.fpr[22]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = aot_fpr_12 + aot_fpr_13; - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-19328), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-19328), std::bit_cast(aot_fpr_12)); goto L_08937624; L_08937624: aot_gpr_31 = (0x0893762Cu); @@ -8537,11 +8538,11 @@ L_08937624: ctx.pc = 0x08B73514u; AOT_REGCACHE_SYNC_OUT(); return; L_0893762C: - ctx.gpr[6] = (aot_gpr_29 + static_cast(44)); + aot_gpr_6 = (aot_gpr_29 + static_cast(44)); ctx.gpr[7] = (aot_gpr_29 + static_cast(48)); aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08937640u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); ctx.pc = 0x08B7343Cu; AOT_REGCACHE_SYNC_OUT(); return; L_08937640: @@ -8550,7 +8551,7 @@ L_08937640: aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_fpr_13 = std::bit_cast(aot_gpr_5); - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-19328))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-19328))); aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_13))); { const float fs = aot_fpr_12; const float ft = ctx.fpr[22]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = aot_fpr_12 + aot_fpr_13; @@ -8571,7 +8572,7 @@ L_08937678: goto L_08937680; } L_08937680: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-19328), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-19328), std::bit_cast(ctx.fpr[20])); goto L_08937684; L_08937684: { const bool branch_taken = ctx.gpr[18] != 0u; @@ -8582,8 +8583,8 @@ L_08937684: goto L_0893768C; } L_0893768C: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-19336))); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(aot_fpr_20)) && aot_fpr_12 == aot_fpr_20)) ? 0x00800000u : 0u); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-19336))); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(ctx.fpr[20])) && aot_fpr_12 == ctx.fpr[20])) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -8595,12 +8596,12 @@ L_0893768C: L_089376A0: aot_gpr_31 = (0x089376A8u); aot_gpr_4 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089376A8u) goto L_089376A8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C498, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089376A8u) goto L_089376A8; AOT_REGCACHE_SYNC_OUT(); return; L_089376A8: aot_gpr_31 = (0x089376B0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089376B0u) goto L_089376B0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C05C, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[16], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089376B0u) goto L_089376B0; AOT_REGCACHE_SYNC_OUT(); return; L_089376B0: { const bool branch_taken = ctx.gpr[18] == 0u; @@ -8630,7 +8631,7 @@ L_089376C4: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(7), static_cast(aot_gpr_5)); aot_gpr_31 = (0x089376ECu); aot_gpr_4 = (aot_gpr_29 + static_cast(4)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089376ECu) goto L_089376EC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C4A8, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089376ECu) goto L_089376EC; AOT_REGCACHE_SYNC_OUT(); return; L_089376EC: { const bool branch_taken = 0u == 0u; @@ -8651,12 +8652,12 @@ L_089376F4: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(11), static_cast(aot_gpr_5)); aot_gpr_31 = (0x0893771Cu); aot_gpr_4 = (aot_gpr_29 + static_cast(8)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0893771Cu) goto L_0893771C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C4A8, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0893771Cu) goto L_0893771C; AOT_REGCACHE_SYNC_OUT(); return; L_0893771C: aot_gpr_31 = (0x08937724u); aot_gpr_4 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08937724u) goto L_08937724; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C604, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08937724u) goto L_08937724; AOT_REGCACHE_SYNC_OUT(); return; L_08937724: aot_gpr_31 = (0x0893772Cu); @@ -8664,7 +8665,7 @@ L_08937724: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0077_entry, 77u, 306u, 0x089392C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0893772Cu) goto L_0893772C; AOT_REGCACHE_SYNC_OUT(); return; L_0893772C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08937798; @@ -8672,7 +8673,7 @@ L_0893772C: goto L_08937734; } L_08937734: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-19332))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-19332))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -8681,22 +8682,22 @@ L_08937734: goto L_08937740; } L_08937740: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); - { const bool branch_taken = aot_gpr_16 != 0u; - ctx.gpr[19] = (aot_gpr_28 + static_cast(-19324)); + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); + { const bool branch_taken = ctx.gpr[16] != 0u; + ctx.gpr[19] = (ctx.gpr[28] + static_cast(-19324)); if (branch_taken) { goto L_08937774; } goto L_0893774C; } L_0893774C: - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); aot_gpr_31 = (0x08937758u); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08937758u) goto L_08937758; AOT_REGCACHE_SYNC_OUT(); return; L_08937758: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[18] == 0u; // nop if (branch_taken) { @@ -8707,26 +8708,26 @@ L_08937758: L_08937764: aot_gpr_31 = (0x0893776Cu); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0893776Cu) goto L_0893776C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0893776Cu) goto L_0893776C; AOT_REGCACHE_SYNC_OUT(); return; L_0893776C: - aot_gpr_16 = (ctx.gpr[18] | 0u); + ctx.gpr[16] = (ctx.gpr[18] | 0u); goto L_08937770; L_08937770: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), ctx.gpr[16]); goto L_08937774; L_08937774: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08937780u); aot_gpr_5 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08937780u) goto L_08937780; AOT_REGCACHE_SYNC_OUT(); return; L_08937780: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08937790u); - ctx.gpr[6] = (0u | 136u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08937790u) goto L_08937790; + aot_gpr_6 = (0u | 136u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08937790u) goto L_08937790; AOT_REGCACHE_SYNC_OUT(); return; L_08937790: { const bool branch_taken = 0u == 0u; @@ -8737,7 +8738,7 @@ L_08937790: goto L_08937798; } L_08937798: - ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); { const bool branch_taken = ctx.gpr[18] != 0u; aot_gpr_4 = (ctx.gpr[18] | 0u); if (branch_taken) { @@ -8752,7 +8753,7 @@ L_089377A4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089377B0u) goto L_089377B0; AOT_REGCACHE_SYNC_OUT(); return; L_089377B0: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[19] == 0u; // nop if (branch_taken) { @@ -8763,29 +8764,29 @@ L_089377B0: L_089377BC: aot_gpr_31 = (0x089377C4u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089377C4u) goto L_089377C4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089377C4u) goto L_089377C4; AOT_REGCACHE_SYNC_OUT(); return; L_089377C4: ctx.gpr[18] = (ctx.gpr[19] | 0u); goto L_089377C8; L_089377C8: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[18]); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), ctx.gpr[18]); aot_gpr_4 = (ctx.gpr[18] | 0u); goto L_089377D0; L_089377D0: aot_gpr_31 = (0x089377D8u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089377D8u) goto L_089377D8; AOT_REGCACHE_SYNC_OUT(); return; L_089377D8: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x089377E8u); - ctx.gpr[6] = (0u | 136u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089377E8u) goto L_089377E8; + aot_gpr_6 = (0u | 136u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089377E8u) goto L_089377E8; AOT_REGCACHE_SYNC_OUT(); return; L_089377E8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7688))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7688))); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_4 = (ctx.gpr[20] | 0u); if (branch_taken) { @@ -8795,15 +8796,15 @@ L_089377E8: } L_089377F4: aot_gpr_4 = (0u | 1u); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(7688), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7688), aot_gpr_4); aot_gpr_31 = (0x08937804u); aot_gpr_4 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0010_entry, 10u, 286u, 0x0882D794u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08937804u) goto L_08937804; AOT_REGCACHE_SYNC_OUT(); return; L_08937804: aot_gpr_31 = (0x0893780Cu); - aot_gpr_4 = (aot_gpr_28 + static_cast(-19644)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0893780Cu) goto L_0893780C; + aot_gpr_4 = (ctx.gpr[28] + static_cast(-19644)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0893780Cu) goto L_0893780C; AOT_REGCACHE_SYNC_OUT(); return; L_0893780C: aot_gpr_4 = (ctx.gpr[20] | 0u); @@ -8814,8 +8815,8 @@ L_08937810: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0010_entry, 10u, 615u, 0x0882E9D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08937818u) goto L_08937818; AOT_REGCACHE_SYNC_OUT(); return; L_08937818: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-19336))); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(aot_fpr_20)) && aot_fpr_12 == aot_fpr_20)) ? 0x00800000u : 0u); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-19336))); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(ctx.fpr[20])) && aot_fpr_12 == ctx.fpr[20])) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -8828,11 +8829,11 @@ L_0893782C: ctx.gpr[18] = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08937838u); aot_gpr_4 = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08937838u) goto L_08937838; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C604, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08937838u) goto L_08937838; AOT_REGCACHE_SYNC_OUT(); return; L_08937838: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-19336))); - aot_gpr_16 = (aot_gpr_28 + static_cast(-19324)); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-19336))); + ctx.gpr[16] = (ctx.gpr[28] + static_cast(-19324)); aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); ctx.gpr[17] = (std::bit_cast(aot_fpr_12)); { const bool branch_taken = ctx.gpr[18] == 0u; @@ -8844,20 +8845,20 @@ L_08937838: } L_08937850: aot_gpr_5 = (0u | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(12), static_cast(aot_gpr_5)); aot_gpr_5 = (0u | 0u); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(13), static_cast(ctx.gpr[6])); + aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(13), static_cast(aot_gpr_6)); aot_gpr_4 = (ctx.gpr[17] & 255u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(14), static_cast(aot_gpr_5)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(15), static_cast(aot_gpr_4)); aot_gpr_31 = (0x08937878u); aot_gpr_4 = (aot_gpr_29 + static_cast(12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08937878u) goto L_08937878; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C4A8, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08937878u) goto L_08937878; AOT_REGCACHE_SYNC_OUT(); return; L_08937878: { const bool branch_taken = 0u == 0u; - ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); if (branch_taken) { goto L_089378AC; } @@ -8865,19 +8866,19 @@ L_08937878: } L_08937880: aot_gpr_5 = (0u | 237u); - ctx.gpr[6] = (0u | 130u); + aot_gpr_6 = (0u | 130u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(16), static_cast(aot_gpr_5)); aot_gpr_5 = (0u | 180u); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(17), static_cast(ctx.gpr[6])); + aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(17), static_cast(aot_gpr_6)); aot_gpr_4 = (ctx.gpr[17] & 255u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(18), static_cast(aot_gpr_5)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(19), static_cast(aot_gpr_4)); aot_gpr_31 = (0x089378A8u); aot_gpr_4 = (aot_gpr_29 + static_cast(16)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089378A8u) goto L_089378A8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C4A8, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089378A8u) goto L_089378A8; AOT_REGCACHE_SYNC_OUT(); return; L_089378A8: - ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); goto L_089378AC; L_089378AC: { const bool branch_taken = ctx.gpr[17] != 0u; @@ -8894,7 +8895,7 @@ L_089378B4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089378C0u) goto L_089378C0; AOT_REGCACHE_SYNC_OUT(); return; L_089378C0: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[18] == 0u; // nop if (branch_taken) { @@ -8905,26 +8906,26 @@ L_089378C0: L_089378CC: aot_gpr_31 = (0x089378D4u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089378D4u) goto L_089378D4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089378D4u) goto L_089378D4; AOT_REGCACHE_SYNC_OUT(); return; L_089378D4: ctx.gpr[17] = (ctx.gpr[18] | 0u); goto L_089378D8; L_089378D8: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), ctx.gpr[17]); aot_gpr_4 = (ctx.gpr[17] | 0u); goto L_089378E0; L_089378E0: aot_gpr_31 = (0x089378E8u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089378E8u) goto L_089378E8; AOT_REGCACHE_SYNC_OUT(); return; L_089378E8: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x089378F8u); - ctx.gpr[6] = (0u | 5u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089378F8u) goto L_089378F8; + aot_gpr_6 = (0u | 5u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089378F8u) goto L_089378F8; AOT_REGCACHE_SYNC_OUT(); return; L_089378F8: { const bool branch_taken = 0u == 0u; @@ -8935,10 +8936,10 @@ L_089378F8: goto L_08937900; } L_08937900: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7688))); - aot_gpr_16 = (2237u << 16u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7688))); + ctx.gpr[16] = (2237u << 16u); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_16 = (aot_gpr_16 + static_cast(-28416)); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(-28416)); if (branch_taken) { goto L_08937928; } @@ -8946,23 +8947,23 @@ L_08937900: } L_08937910: aot_gpr_4 = (0u | 1u); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(7688), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7688), aot_gpr_4); aot_gpr_31 = (0x08937920u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0010_entry, 10u, 286u, 0x0882D794u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08937920u) goto L_08937920; AOT_REGCACHE_SYNC_OUT(); return; L_08937920: aot_gpr_31 = (0x08937928u); - aot_gpr_4 = (aot_gpr_28 + static_cast(-19644)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08937928u) goto L_08937928; + aot_gpr_4 = (ctx.gpr[28] + static_cast(-19644)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08937928u) goto L_08937928; AOT_REGCACHE_SYNC_OUT(); return; L_08937928: aot_gpr_31 = (0x08937930u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0010_entry, 10u, 611u, 0x0882E9B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08937930u) goto L_08937930; AOT_REGCACHE_SYNC_OUT(); return; L_08937930: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089379F8; @@ -8970,7 +8971,7 @@ L_08937930: goto L_08937938; } L_08937938: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7688))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7688))); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_4 = (0u | 1u); if (branch_taken) { @@ -8979,18 +8980,18 @@ L_08937938: goto L_08937944; } L_08937944: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(7688), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7688), aot_gpr_4); aot_gpr_31 = (0x08937950u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0010_entry, 10u, 286u, 0x0882D794u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08937950u) goto L_08937950; AOT_REGCACHE_SYNC_OUT(); return; L_08937950: aot_gpr_31 = (0x08937958u); - aot_gpr_4 = (aot_gpr_28 + static_cast(-19644)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08937958u) goto L_08937958; + aot_gpr_4 = (ctx.gpr[28] + static_cast(-19644)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08937958u) goto L_08937958; AOT_REGCACHE_SYNC_OUT(); return; L_08937958: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(52))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(52))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -8999,27 +9000,27 @@ L_08937958: goto L_08937964; } L_08937964: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7688))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7688))); if (aot_gpr_4 != 0u) { - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(43))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(43))); goto L_08937990; } goto L_08937970; L_08937970: aot_gpr_4 = (0u | 1u); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(7688), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7688), aot_gpr_4); aot_gpr_31 = (0x08937980u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0010_entry, 10u, 286u, 0x0882D794u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08937980u) goto L_08937980; AOT_REGCACHE_SYNC_OUT(); return; L_08937980: aot_gpr_31 = (0x08937988u); - aot_gpr_4 = (aot_gpr_28 + static_cast(-19644)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08937988u) goto L_08937988; + aot_gpr_4 = (ctx.gpr[28] + static_cast(-19644)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08937988u) goto L_08937988; AOT_REGCACHE_SYNC_OUT(); return; L_08937988: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7688))); - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(43))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7688))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(43))); goto L_08937990; L_08937990: { const bool branch_taken = aot_gpr_5 == 0u; @@ -9031,7 +9032,7 @@ L_08937990: } L_08937998: { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (branch_taken) { goto L_089379BC; } @@ -9039,18 +9040,18 @@ L_08937998: } L_089379A0: aot_gpr_4 = (0u | 1u); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(7688), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7688), aot_gpr_4); aot_gpr_31 = (0x089379B0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0010_entry, 10u, 286u, 0x0882D794u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089379B0u) goto L_089379B0; AOT_REGCACHE_SYNC_OUT(); return; L_089379B0: aot_gpr_31 = (0x089379B8u); - aot_gpr_4 = (aot_gpr_28 + static_cast(-19644)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089379B8u) goto L_089379B8; + aot_gpr_4 = (ctx.gpr[28] + static_cast(-19644)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089379B8u) goto L_089379B8; AOT_REGCACHE_SYNC_OUT(); return; L_089379B8: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_089379BC; L_089379BC: aot_gpr_31 = (0x089379C4u); @@ -9067,7 +9068,7 @@ L_089379C4: } L_089379CC: { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (branch_taken) { goto L_089379F0; } @@ -9075,18 +9076,18 @@ L_089379CC: } L_089379D4: aot_gpr_4 = (0u | 1u); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(7688), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7688), aot_gpr_4); aot_gpr_31 = (0x089379E4u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0010_entry, 10u, 286u, 0x0882D794u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089379E4u) goto L_089379E4; AOT_REGCACHE_SYNC_OUT(); return; L_089379E4: aot_gpr_31 = (0x089379ECu); - aot_gpr_4 = (aot_gpr_28 + static_cast(-19644)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089379ECu) goto L_089379EC; + aot_gpr_4 = (ctx.gpr[28] + static_cast(-19644)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089379ECu) goto L_089379EC; AOT_REGCACHE_SYNC_OUT(); return; L_089379EC: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_089379F0; L_089379F0: aot_gpr_31 = (0x089379F8u); @@ -9096,11 +9097,11 @@ L_089379F0: L_089379F8: { std::uint32_t aot_run_words[10]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(52), aot_run_words); - aot_fpr_20 = std::bit_cast(aot_run_words[0]); + ctx.fpr[20] = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); ctx.fpr[26] = std::bit_cast(aot_run_words[3]); - aot_gpr_16 = aot_run_words[4]; + ctx.gpr[16] = aot_run_words[4]; ctx.gpr[17] = aot_run_words[5]; ctx.gpr[18] = aot_run_words[6]; ctx.gpr[19] = aot_run_words[7]; @@ -9116,7 +9117,7 @@ L_089379F8: L_08937A28: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_gpr_4 = (2236u << 16u); - { const std::uint32_t aot_run_words[8]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_31}; + { const std::uint32_t aot_run_words[8]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_31 = (0x08937A58u); aot_gpr_4 = (aot_gpr_4 + static_cast(25856)); @@ -9153,7 +9154,7 @@ L_08937A8C: ctx.pc = 0x08B73114u; AOT_REGCACHE_SYNC_OUT(); return; L_08937A94: - aot_gpr_4 = (ctx.gpr[2] & 32u); + aot_gpr_4 = (aot_gpr_2 & 32u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -9167,7 +9168,7 @@ L_08937AA0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0077_entry, 77u, 298u, 0x08939268u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08937AA8u) goto L_08937AA8; AOT_REGCACHE_SYNC_OUT(); return; L_08937AA8: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08937B9C; @@ -9176,19 +9177,19 @@ L_08937AA8: } L_08937AB0: ctx.gpr[17] = (2237u << 16u); - aot_gpr_16 = (0u | 0u); - ctx.gpr[18] = (aot_gpr_28 + static_cast(7696)); - ctx.gpr[19] = (aot_gpr_28 + static_cast(7768)); + ctx.gpr[16] = (0u | 0u); + ctx.gpr[18] = (ctx.gpr[28] + static_cast(7696)); + ctx.gpr[19] = (ctx.gpr[28] + static_cast(7768)); ctx.gpr[17] = (ctx.gpr[17] + static_cast(-28320)); goto L_08937AC4; L_08937AC4: - aot_gpr_5 = (aot_gpr_16 & 255u); + aot_gpr_5 = (ctx.gpr[16] & 255u); aot_gpr_31 = (0x08937AD0u); aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 425u, 0x088CA2F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08937AD0u) goto L_08937AD0; AOT_REGCACHE_SYNC_OUT(); return; L_08937AD0: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08937AE4; @@ -9196,14 +9197,14 @@ L_08937AD0: goto L_08937AD8; } L_08937AD8: - aot_gpr_5 = (aot_gpr_16 + static_cast(22)); + aot_gpr_5 = (ctx.gpr[16] + static_cast(22)); aot_gpr_31 = (0x08937AE4u); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 550u, 0x0880A680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08937AE4u) goto L_08937AE4; AOT_REGCACHE_SYNC_OUT(); return; L_08937AE4: - aot_gpr_16 = (aot_gpr_16 + static_cast(1)); - aot_gpr_4 = (static_cast(aot_gpr_16) < 5 ? 1u : 0u); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(1)); + aot_gpr_4 = (static_cast(ctx.gpr[16]) < 5 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -9227,7 +9228,7 @@ L_08937B08: aot_gpr_4 = (0u | 1u); goto L_08935704; L_08937B10: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-7080))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7080))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -9236,9 +9237,9 @@ L_08937B10: goto L_08937B1C; } L_08937B1C: - aot_gpr_4 = (aot_gpr_28 + static_cast(-19520)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(-19520)); aot_gpr_5 = (0u | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x08937B30u); ctx.gpr[7] = (0u | 0u); goto L_0893570C; @@ -9253,12 +9254,12 @@ L_08937B30: L_08937B38: aot_gpr_4 = (0u | 0u); aot_gpr_5 = (0u | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x08937B4Cu); ctx.gpr[7] = (0u | 0u); goto L_0893570C; L_08937B4C: - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); goto L_08937B50; L_08937B50: aot_gpr_31 = (0x08937B58u); @@ -9273,12 +9274,12 @@ L_08937B58: AOT_REGCACHE_SYNC_OUT(); return; L_08937B64: aot_gpr_31 = (0x08937B6Cu); - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); ctx.pc = 0x08B73114u; AOT_REGCACHE_SYNC_OUT(); return; L_08937B6C: { const bool branch_taken = ctx.gpr[17] != 0u; - aot_gpr_4 = (ctx.gpr[2] & 32u); + aot_gpr_4 = (aot_gpr_2 & 32u); if (branch_taken) { goto L_08937B80; } @@ -9293,10 +9294,10 @@ L_08937B74: goto L_08937B7C; } L_08937B7C: - aot_gpr_16 = (0u | 1u); + ctx.gpr[16] = (0u | 1u); goto L_08937B80; L_08937B80: - { const bool branch_taken = aot_gpr_16 == 0u; + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08937B50; @@ -9314,9 +9315,9 @@ L_08937B90: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 528u, 0x08A0611Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08937B9Cu) goto L_08937B9C; AOT_REGCACHE_SYNC_OUT(); return; L_08937B9C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5884))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5884))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5884))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5884))); goto L_08937BB4; } goto L_08937BA8; @@ -9326,7 +9327,7 @@ L_08937BA8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 683u, 0x08B66DBCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08937BB0u) goto L_08937BB0; AOT_REGCACHE_SYNC_OUT(); return; L_08937BB0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5884))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5884))); goto L_08937BB4; L_08937BB4: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(19))); @@ -9349,7 +9350,7 @@ L_08937BC0: L_08937BCC: aot_gpr_4 = (0u | 0u); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-8752), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-8752), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08937BE0; } @@ -9357,10 +9358,10 @@ L_08937BCC: } L_08937BD8: aot_gpr_4 = (0u | 1u); - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-8752), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-8752), static_cast(aot_gpr_4)); goto L_08937BE0; L_08937BE0: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-7080))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7080))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -9380,11 +9381,11 @@ L_08937BF4: AOT_REGCACHE_SYNC_OUT(); return; L_08937BFC: aot_gpr_31 = (0x08937C04u); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(7908), 0u); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7908), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 71u, 0x08AC4318u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08937C04u) goto L_08937C04; AOT_REGCACHE_SYNC_OUT(); return; L_08937C04: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-7080))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7080))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -9398,7 +9399,7 @@ L_08937C10: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0139_entry, 139u, 67u, 0x08A30774u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08937C18u) goto L_08937C18; AOT_REGCACHE_SYNC_OUT(); return; L_08937C18: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-32480))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-32480))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -9407,7 +9408,7 @@ L_08937C18: goto L_08937C24; } L_08937C24: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(4211))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(4211))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -9417,7 +9418,7 @@ L_08937C24: } L_08937C30: aot_gpr_31 = (0x08937C38u); - aot_gpr_4 = (aot_gpr_28 + static_cast(7768)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 495u, 0x08A05EFCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08937C38u) goto L_08937C38; AOT_REGCACHE_SYNC_OUT(); return; L_08937C38: @@ -9426,7 +9427,7 @@ L_08937C38: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0045_entry, 45u, 17u, 0x088B81D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08937C40u) goto L_08937C40; AOT_REGCACHE_SYNC_OUT(); return; L_08937C40: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-19683))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-19683))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -9447,13 +9448,13 @@ L_08937C5C: goto L_089353A0; L_08937C64: aot_gpr_31 = (0x08937C6Cu); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); goto L_0893509C; L_08937C6C: - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-19683), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-19683), static_cast(0u)); aot_mem.aot_direct_store8(ctx.gpr[20] + static_cast(1948), static_cast(ctx.gpr[21])); aot_gpr_4 = (0u | 255u); - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-16965), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-16965), static_cast(aot_gpr_4)); goto L_08937C7C; L_08937C7C: aot_gpr_31 = (0x08937C84u); @@ -9461,7 +9462,7 @@ L_08937C7C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0134_entry, 134u, 74u, 0x08A1C770u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08937C84u) goto L_08937C84; AOT_REGCACHE_SYNC_OUT(); return; L_08937C84: - { const bool branch_taken = ctx.gpr[2] != ctx.gpr[22]; + { const bool branch_taken = aot_gpr_2 != ctx.gpr[22]; // nop if (branch_taken) { goto L_08937CAC; @@ -9474,7 +9475,7 @@ L_08937C8C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0173_entry, 173u, 483u, 0x08ABAAD8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08937C94u) goto L_08937C94; AOT_REGCACHE_SYNC_OUT(); return; L_08937C94: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-19672))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-19672))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -9483,12 +9484,12 @@ L_08937C94: goto L_08937CA0; } L_08937CA0: - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(4211), static_cast(ctx.gpr[21])); - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(4212), static_cast(ctx.gpr[21])); - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-19672), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(4211), static_cast(ctx.gpr[21])); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(4212), static_cast(ctx.gpr[21])); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-19672), static_cast(0u)); goto L_08937CAC; L_08937CAC: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(4212))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(4212))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -9497,8 +9498,8 @@ L_08937CAC: goto L_08937CB8; } L_08937CB8: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-19660))); - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-19681))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-19660))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-19681))); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -9516,9 +9517,9 @@ L_08937CCC: goto L_08937CD4; } L_08937CD4: - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-19681), static_cast(ctx.gpr[21])); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-19681), static_cast(ctx.gpr[21])); aot_fpr_12 = std::bit_cast(0u); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-19656), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-19656), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08937CECu); aot_gpr_5 = (0u | 0u); @@ -9533,23 +9534,23 @@ L_08937CEC: L_08937CF8: aot_gpr_4 = (0u | 0u); aot_gpr_5 = (0u | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x08937D0Cu); ctx.gpr[7] = (0u | 0u); goto L_0893570C; L_08937D0C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08937FA0; } goto L_08937D14; } L_08937D14: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7688))); - aot_gpr_16 = (2237u << 16u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7688))); + ctx.gpr[16] = (2237u << 16u); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_16 = (aot_gpr_16 + static_cast(-28416)); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(-28416)); if (branch_taken) { goto L_08937D3C; } @@ -9557,23 +9558,23 @@ L_08937D14: } L_08937D24: aot_gpr_4 = (0u | 1u); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(7688), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7688), aot_gpr_4); aot_gpr_31 = (0x08937D34u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0010_entry, 10u, 286u, 0x0882D794u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08937D34u) goto L_08937D34; AOT_REGCACHE_SYNC_OUT(); return; L_08937D34: aot_gpr_31 = (0x08937D3Cu); - aot_gpr_4 = (aot_gpr_28 + static_cast(-19644)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08937D3Cu) goto L_08937D3C; + aot_gpr_4 = (ctx.gpr[28] + static_cast(-19644)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08937D3Cu) goto L_08937D3C; AOT_REGCACHE_SYNC_OUT(); return; L_08937D3C: aot_gpr_31 = (0x08937D44u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0010_entry, 10u, 611u, 0x0882E9B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08937D44u) goto L_08937D44; AOT_REGCACHE_SYNC_OUT(); return; L_08937D44: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08937E64; @@ -9586,7 +9587,7 @@ L_08937D4C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0134_entry, 134u, 74u, 0x08A1C770u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08937D54u) goto L_08937D54; AOT_REGCACHE_SYNC_OUT(); return; L_08937D54: - { const bool branch_taken = ctx.gpr[2] == ctx.gpr[22]; + { const bool branch_taken = aot_gpr_2 == ctx.gpr[22]; // nop if (branch_taken) { goto L_08937E64; @@ -9594,7 +9595,7 @@ L_08937D54: goto L_08937D5C; } L_08937D5C: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-7080))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7080))); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_4 = (2237u << 16u); if (branch_taken) { @@ -9613,9 +9614,9 @@ L_08937D68: goto L_08937D78; } L_08937D78: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(8592))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(8592))); if (aot_gpr_4 == 0u) { - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-23440))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23440))); goto L_08937DBC; } goto L_08937D84; @@ -9625,15 +9626,15 @@ L_08937D84: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0170_entry, 170u, 538u, 0x08AAE9C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08937D8Cu) goto L_08937D8C; AOT_REGCACHE_SYNC_OUT(); return; L_08937D8C: - if (ctx.gpr[2] != 0u) { - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-23440))); + if (aot_gpr_2 != 0u) { + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23440))); goto L_08937DBC; } goto L_08937D94; L_08937D94: aot_gpr_4 = (0u | 255u); aot_gpr_5 = (0u | 255u); - ctx.gpr[6] = (0u | 255u); + aot_gpr_6 = (0u | 255u); ctx.gpr[7] = (0u | 255u); ctx.gpr[8] = (0u | 255u); ctx.gpr[9] = (0u | 255u); @@ -9653,7 +9654,7 @@ L_08937DBC: aot_mem.aot_direct_load32_block(ctx.gpr[7] + static_cast(11068), aot_run_words); aot_gpr_4 = aot_run_words[0]; aot_gpr_5 = aot_run_words[1]; - ctx.gpr[6] = aot_run_words[2]; + aot_gpr_6 = aot_run_words[2]; ctx.gpr[8] = aot_run_words[3]; ctx.gpr[9] = aot_run_words[4]; } @@ -9663,11 +9664,11 @@ L_08937DBC: ctx.gpr[8] = (ctx.gpr[9] << 16u); aot_gpr_4 = (aot_gpr_4 << 16u); aot_gpr_5 = (aot_gpr_5 << 16u); - ctx.gpr[6] = (ctx.gpr[6] << 16u); + aot_gpr_6 = (aot_gpr_6 << 16u); ctx.gpr[9] = (ctx.gpr[10] << 16u); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 16u)); aot_gpr_5 = (static_cast(static_cast(aot_gpr_5) >> 16u)); - ctx.gpr[6] = (static_cast(static_cast(ctx.gpr[6]) >> 16u)); + aot_gpr_6 = (static_cast(static_cast(aot_gpr_6) >> 16u)); ctx.gpr[8] = (static_cast(static_cast(ctx.gpr[8]) >> 16u)); ctx.gpr[9] = (static_cast(static_cast(ctx.gpr[9]) >> 16u)); aot_gpr_31 = (0x08937E0Cu); @@ -9679,17 +9680,17 @@ L_08937E0C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0038_entry, 38u, 579u, 0x0889E7C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08937E14u) goto L_08937E14; AOT_REGCACHE_SYNC_OUT(); return; L_08937E14: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-23440))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23440))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(11148))); aot_gpr_31 = (0x08937E24u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8896))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8896))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 117u, 0x088907E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08937E24u) goto L_08937E24; AOT_REGCACHE_SYNC_OUT(); return; L_08937E24: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-23440))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23440))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(11152))); aot_gpr_31 = (0x08937E34u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8896))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8896))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 137u, 0x08890970u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08937E34u) goto L_08937E34; AOT_REGCACHE_SYNC_OUT(); return; L_08937E34: @@ -9727,7 +9728,7 @@ L_08937E64: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0092_entry, 92u, 438u, 0x08975D4Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08937E6Cu) goto L_08937E6C; AOT_REGCACHE_SYNC_OUT(); return; L_08937E6C: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-16976))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16976))); aot_gpr_4 = (15374u << 16u); aot_gpr_4 = (aot_gpr_4 | 64053u); aot_fpr_13 = std::bit_cast(aot_gpr_4); @@ -9742,7 +9743,7 @@ L_08937E6C: ctx.execute_vfpu_vec3_ct<0u, 33u, 1u, 1u, 3u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<0u>()); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8896))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8896))); aot_gpr_5 = (16355u << 16u); aot_gpr_5 = (aot_gpr_5 | 36409u); aot_fpr_13 = get_effective_aspect_ratio(std::bit_cast(aot_gpr_5)); @@ -9753,19 +9754,19 @@ L_08937E6C: AOT_REGCACHE_SYNC_OUT(); return; L_08937EB8: aot_gpr_31 = (0x08937EC0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8896))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8896))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 394u, 0x08946158u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08937EC0u) goto L_08937EC0; AOT_REGCACHE_SYNC_OUT(); return; L_08937EC0: aot_gpr_31 = (0x08937EC8u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8896))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8896))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0119_entry, 119u, 276u, 0x089E1640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08937EC8u) goto L_08937EC8; AOT_REGCACHE_SYNC_OUT(); return; L_08937EC8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8896))); - aot_gpr_5 = (aot_gpr_28 + static_cast(8892)); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8896))); + aot_gpr_5 = (ctx.gpr[28] + static_cast(8892)); aot_gpr_31 = (0x08937ED8u); - ctx.gpr[6] = (0u | 2u); + aot_gpr_6 = (0u | 2u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 130u, 0x088908D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08937ED8u) goto L_08937ED8; AOT_REGCACHE_SYNC_OUT(); return; L_08937ED8: @@ -9777,7 +9778,7 @@ L_08937EE0: // nop goto L_08936F58; L_08937EE8: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-19683))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-19683))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -9786,7 +9787,7 @@ L_08937EE8: goto L_08937EF4; } L_08937EF4: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(4211))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(4211))); aot_gpr_5 = (0u | 1u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -9822,7 +9823,7 @@ L_08937F24: goto L_08934F28; L_08937F2C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08937FA0; } @@ -9834,7 +9835,7 @@ L_08937F34: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 751u, 0x08A07260u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08937F3Cu) goto L_08937F3C; AOT_REGCACHE_SYNC_OUT(); return; L_08937F3C: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-19683))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-19683))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -9848,7 +9849,7 @@ L_08937F48: goto L_089353A0; L_08937F50: aot_gpr_31 = (0x08937F58u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); goto L_0893509C; L_08937F58: aot_fpr_12 = std::bit_cast(0u); @@ -9858,10 +9859,10 @@ L_08937F58: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0134_entry, 134u, 4u, 0x08A1C044u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08937F68u) goto L_08937F68; AOT_REGCACHE_SYNC_OUT(); return; L_08937F68: - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-19683), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-19683), static_cast(0u)); aot_mem.aot_direct_store8(ctx.gpr[20] + static_cast(1948), static_cast(ctx.gpr[21])); aot_gpr_4 = (0u | 255u); - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-16965), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-16965), static_cast(aot_gpr_4)); goto L_08937F78; L_08937F78: aot_gpr_31 = (0x08937F80u); @@ -9873,7 +9874,7 @@ L_08937F80: // nop goto L_08935E20; L_08937F88: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-16160))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-16160))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -9886,12 +9887,12 @@ L_08937F94: // nop goto L_08935C5C; L_08937F9C: - ctx.gpr[2] = (ctx.gpr[21] | 0u); + aot_gpr_2 = (ctx.gpr[21] | 0u); goto L_08937FA0; L_08937FA0: { std::uint32_t aot_run_words[8]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -9910,13 +9911,13 @@ L_08937FC8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); aot_gpr_31 = (0x08937FD8u); - aot_gpr_4 = (aot_gpr_28 + static_cast(-19652)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08937FD8u) goto L_08937FD8; + aot_gpr_4 = (ctx.gpr[28] + static_cast(-19652)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42C4, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08937FD8u) goto L_08937FD8; AOT_REGCACHE_SYNC_OUT(); return; L_08937FD8: aot_gpr_31 = (0x08937FE0u); - aot_gpr_4 = (aot_gpr_28 + static_cast(-19316)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08937FE0u) goto L_08937FE0; + aot_gpr_4 = (ctx.gpr[28] + static_cast(-19316)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08937FE0u) goto L_08937FE0; AOT_REGCACHE_SYNC_OUT(); return; L_08937FE0: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -9928,9 +9929,9 @@ L_08937FE0: AOT_REGCACHE_SYNC_OUT(); return; L_08937FEC: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1360))); - ctx.gpr[7] = (ctx.gpr[6] ^ 13u); - ctx.gpr[6] = (ctx.gpr[6] ^ 15u); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1360))); + ctx.gpr[7] = (aot_gpr_6 ^ 13u); + aot_gpr_6 = (aot_gpr_6 ^ 15u); ctx.gpr[7] = (ctx.gpr[7] < static_cast(1) ? 1u : 0u); ctx.pc = 0x08938000u; AOT_REGCACHE_SYNC_OUT(); return; } diff --git a/profiles/vcs/generated/generated_unit_0077.cpp b/profiles/vcs/generated/generated_unit_0077.cpp index ff3f6f0..33d0fe2 100644 --- a/profiles/vcs/generated/generated_unit_0077.cpp +++ b/profiles/vcs/generated/generated_unit_0077.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0077[4096] = { }; void recomp_unit_0077_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,31,16,6 fprs=12,13,14,15 gpr_occ=4381 fpr_occ=147 gpr_total=6263 fpr_total=170 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,31,29,6,16 fprs=12,13,14,15 gpr_occ=4509 fpr_occ=147 gpr_total=6485 fpr_total=170 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; - std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; - std::uint32_t aot_gpr_16 = ctx.gpr[16]; + std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_6 = ctx.gpr[6]; + std::uint32_t aot_gpr_16 = ctx.gpr[16]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_14 = ctx.fpr[14]; float aot_fpr_15 = ctx.fpr[15]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[31] = aot_gpr_31; ctx.gpr[16] = aot_gpr_16; ctx.gpr[6] = aot_gpr_6; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[15] = aot_fpr_15; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_6 = ctx.gpr[6]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_15 = ctx.fpr[15]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[31] = aot_gpr_31; ctx.gpr[29] = aot_gpr_29; ctx.gpr[6] = aot_gpr_6; ctx.gpr[16] = aot_gpr_16; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[15] = aot_fpr_15; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_16 = ctx.gpr[16]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_15 = ctx.fpr[15]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -1053,7 +1054,7 @@ L_08938024: L_08938040: aot_gpr_31 = (0x08938048u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08938048u) goto L_08938048; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08938048u) goto L_08938048; AOT_REGCACHE_SYNC_OUT(); return; L_08938048: { const bool branch_taken = ctx.gpr[2] != 0u; @@ -1066,7 +1067,7 @@ L_08938048: L_08938050: aot_gpr_31 = (0x08938058u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08938058u) goto L_08938058; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08938058u) goto L_08938058; AOT_REGCACHE_SYNC_OUT(); return; L_08938058: if (ctx.gpr[2] != 0u) { @@ -1161,7 +1162,7 @@ L_089380CC: aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(100), aot_run_words); } aot_gpr_31 = (0x08938144u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08938144u) goto L_08938144; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08938144u) goto L_08938144; AOT_REGCACHE_SYNC_OUT(); return; L_08938144: { const bool branch_taken = ctx.gpr[2] != 0u; @@ -1416,7 +1417,7 @@ L_089382B8: L_089382C8: aot_gpr_31 = (0x089382D0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089382D0u) goto L_089382D0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089382D0u) goto L_089382D0; AOT_REGCACHE_SYNC_OUT(); return; L_089382D0: ctx.gpr[21] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-19292))); @@ -1426,7 +1427,7 @@ L_089382D0: ctx.gpr[7] = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x089382ECu); aot_gpr_6 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089382ECu) goto L_089382EC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089382ECu) goto L_089382EC; AOT_REGCACHE_SYNC_OUT(); return; L_089382EC: ctx.gpr[1] = (ctx.gpr[3] << 1u); @@ -1460,13 +1461,13 @@ L_08938340: aot_gpr_5 = (aot_gpr_16 + static_cast(1716)); aot_gpr_31 = (0x08938350u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08938350u) goto L_08938350; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08938350u) goto L_08938350; AOT_REGCACHE_SYNC_OUT(); return; L_08938350: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0893835Cu); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0893835Cu) goto L_0893835C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0893835Cu) goto L_0893835C; AOT_REGCACHE_SYNC_OUT(); return; L_0893835C: { const bool branch_taken = 0u == 0u; @@ -1551,7 +1552,7 @@ L_089383B8: L_089383C4: aot_gpr_31 = (0x089383CCu); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089383CCu) goto L_089383CC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089383CCu) goto L_089383CC; AOT_REGCACHE_SYNC_OUT(); return; L_089383CC: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -1605,7 +1606,7 @@ L_0893840C: L_08938414: aot_gpr_31 = (0x0893841Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0893841Cu) goto L_0893841C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0893841Cu) goto L_0893841C; AOT_REGCACHE_SYNC_OUT(); return; L_0893841C: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-19284))); @@ -1613,7 +1614,7 @@ L_0893841C: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08938430u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08938430u) goto L_08938430; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08938430u) goto L_08938430; AOT_REGCACHE_SYNC_OUT(); return; L_08938430: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-19276))); @@ -1679,7 +1680,7 @@ L_089384A8: L_089384B4: aot_gpr_31 = (0x089384BCu); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089384BCu) goto L_089384BC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089384BCu) goto L_089384BC; AOT_REGCACHE_SYNC_OUT(); return; L_089384BC: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -1727,7 +1728,7 @@ L_089384E4: L_089384F4: aot_gpr_31 = (0x089384FCu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089384FCu) goto L_089384FC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089384FCu) goto L_089384FC; AOT_REGCACHE_SYNC_OUT(); return; L_089384FC: ctx.gpr[23] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-19292))); @@ -1737,7 +1738,7 @@ L_089384FC: ctx.gpr[7] = (ctx.gpr[23] | 0u); aot_gpr_31 = (0x08938518u); aot_gpr_6 = (ctx.gpr[22] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08938518u) goto L_08938518; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08938518u) goto L_08938518; AOT_REGCACHE_SYNC_OUT(); return; L_08938518: ctx.gpr[1] = (ctx.gpr[3] << 1u); @@ -1770,13 +1771,13 @@ L_08938568: aot_gpr_5 = (aot_gpr_16 + static_cast(1716)); aot_gpr_31 = (0x08938578u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08938578u) goto L_08938578; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08938578u) goto L_08938578; AOT_REGCACHE_SYNC_OUT(); return; L_08938578: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08938584u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08938584u) goto L_08938584; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08938584u) goto L_08938584; AOT_REGCACHE_SYNC_OUT(); return; L_08938584: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2228))); @@ -1819,7 +1820,7 @@ L_089385AC: L_089385BC: aot_gpr_31 = (0x089385C4u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089385C4u) goto L_089385C4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089385C4u) goto L_089385C4; AOT_REGCACHE_SYNC_OUT(); return; L_089385C4: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-19268))); @@ -1827,7 +1828,7 @@ L_089385C4: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x089385D8u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089385D8u) goto L_089385D8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089385D8u) goto L_089385D8; AOT_REGCACHE_SYNC_OUT(); return; L_089385D8: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-19260))); @@ -1885,7 +1886,7 @@ L_08938658: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_31 = (0x08938668u); ctx.fpr[26] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08938668u) goto L_08938668; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08938668u) goto L_08938668; AOT_REGCACHE_SYNC_OUT(); return; L_08938668: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -1907,7 +1908,7 @@ L_08938668: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x089386ACu); ctx.fpr[28] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089386ACu) goto L_089386AC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089386ACu) goto L_089386AC; AOT_REGCACHE_SYNC_OUT(); return; L_089386AC: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -1961,7 +1962,7 @@ L_0893870C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(104))); aot_gpr_31 = (0x08938720u); ctx.gpr[30] = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(80))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08938720u) goto L_08938720; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08938720u) goto L_08938720; AOT_REGCACHE_SYNC_OUT(); return; L_08938720: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -2112,7 +2113,7 @@ L_08938848: L_08938854: aot_gpr_31 = (0x0893885Cu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0893885Cu) goto L_0893885C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0893885Cu) goto L_0893885C; AOT_REGCACHE_SYNC_OUT(); return; L_0893885C: { const bool branch_taken = ctx.gpr[2] != 0u; @@ -2505,7 +2506,7 @@ L_08938AB4: L_08938ABC: aot_gpr_31 = (0x08938AC4u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08938AC4u) goto L_08938AC4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08938AC4u) goto L_08938AC4; AOT_REGCACHE_SYNC_OUT(); return; L_08938AC4: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-19284))); @@ -2513,7 +2514,7 @@ L_08938AC4: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08938AD8u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08938AD8u) goto L_08938AD8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08938AD8u) goto L_08938AD8; AOT_REGCACHE_SYNC_OUT(); return; L_08938AD8: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-19276))); @@ -2566,7 +2567,7 @@ L_08938B4C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08938B58u); aot_gpr_5 = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08938B58u) goto L_08938B58; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08938B58u) goto L_08938B58; AOT_REGCACHE_SYNC_OUT(); return; L_08938B58: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(1929)))))); @@ -2867,7 +2868,7 @@ L_08938D1C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08938D28u); aot_gpr_5 = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08938D28u) goto L_08938D28; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08938D28u) goto L_08938D28; AOT_REGCACHE_SYNC_OUT(); return; L_08938D28: { const bool branch_taken = 0u == 0u; @@ -2888,7 +2889,7 @@ L_08938D40: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08938D4Cu); aot_gpr_5 = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08938D4Cu) goto L_08938D4C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08938D4Cu) goto L_08938D4C; AOT_REGCACHE_SYNC_OUT(); return; L_08938D4C: { std::uint32_t aot_run_words[7]{}; @@ -2954,7 +2955,7 @@ L_08938DB4: L_08938DBC: aot_gpr_31 = (0x08938DC4u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08938DC4u) goto L_08938DC4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08938DC4u) goto L_08938DC4; AOT_REGCACHE_SYNC_OUT(); return; L_08938DC4: ctx.gpr[18] = (ctx.gpr[18] + static_cast(12)); @@ -2991,7 +2992,7 @@ L_08938DE4: L_08938DEC: aot_gpr_31 = (0x08938DF4u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08938DF4u) goto L_08938DF4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08938DF4u) goto L_08938DF4; AOT_REGCACHE_SYNC_OUT(); return; L_08938DF4: aot_gpr_4 = (aot_gpr_16 & 1u); @@ -3007,7 +3008,7 @@ L_08938DF8: L_08938E00: aot_gpr_31 = (0x08938E08u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08938E08u) goto L_08938E08; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08938E08u) goto L_08938E08; AOT_REGCACHE_SYNC_OUT(); return; L_08938E08: { std::uint32_t aot_run_words[5]{}; @@ -3031,7 +3032,7 @@ L_08938E24: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x08938E40u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-18576)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08938E40u) goto L_08938E40; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08938E40u) goto L_08938E40; AOT_REGCACHE_SYNC_OUT(); return; L_08938E40: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); @@ -5339,7 +5340,7 @@ L_0893A0EC: L_0893A0F8: aot_gpr_31 = (0x0893A100u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0893A100u) goto L_0893A100; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0893A100u) goto L_0893A100; AOT_REGCACHE_SYNC_OUT(); return; L_0893A100: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -5624,7 +5625,7 @@ L_0893A2F0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_31 = (0x0893A310u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0893A310u) goto L_0893A310; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0893A310u) goto L_0893A310; AOT_REGCACHE_SYNC_OUT(); return; L_0893A310: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); @@ -7745,7 +7746,7 @@ L_0893B604: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); aot_gpr_31 = (0x0893B634u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0893B634u) goto L_0893B634; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0893B634u) goto L_0893B634; AOT_REGCACHE_SYNC_OUT(); return; L_0893B634: aot_gpr_4 = (ctx.gpr[19] | 0u); @@ -8760,7 +8761,7 @@ L_0893BF28: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1560), aot_gpr_31); aot_gpr_31 = (0x0893BF58u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0893BF58u) goto L_0893BF58; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0893BF58u) goto L_0893BF58; AOT_REGCACHE_SYNC_OUT(); return; L_0893BF58: aot_gpr_4 = (ctx.gpr[17] | 0u); diff --git a/profiles/vcs/generated/generated_unit_0078.cpp b/profiles/vcs/generated/generated_unit_0078.cpp index fa6031c..b68aa6c 100644 --- a/profiles/vcs/generated/generated_unit_0078.cpp +++ b/profiles/vcs/generated/generated_unit_0078.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -137,7 +138,7 @@ static const std::uint16_t kEntryIds_recomp_unit_0078[4060] = { }; void recomp_unit_0078_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,31,16,17 fprs=12,13,20,14 gpr_occ=4310 fpr_occ=200 gpr_total=6063 fpr_total=233 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,31,16,17 fprs=12,13,20,14 gpr_occ=4338 fpr_occ=200 gpr_total=6115 fpr_total=233 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; @@ -5920,7 +5921,7 @@ L_0893E598: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(32))); aot_gpr_31 = (0x0893E5A8u); aot_gpr_4 = (aot_gpr_4 + static_cast(31984)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0893E5A8u) goto L_0893E5A8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0893E5A8u) goto L_0893E5A8; AOT_REGCACHE_SYNC_OUT(); return; L_0893E5A8: aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(32), 0u); @@ -7756,25 +7757,25 @@ L_0893F3D4: aot_gpr_4 = (0u | 10u); aot_gpr_31 = (0x0893F3E0u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0893F3E0u) goto L_0893F3E0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0893F3E0u) goto L_0893F3E0; AOT_REGCACHE_SYNC_OUT(); return; L_0893F3E0: aot_gpr_4 = (0u | 8u); aot_gpr_31 = (0x0893F3ECu); aot_gpr_5 = (0u | 5u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0893F3ECu) goto L_0893F3EC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0893F3ECu) goto L_0893F3EC; AOT_REGCACHE_SYNC_OUT(); return; L_0893F3EC: aot_gpr_4 = (0u | 9u); aot_gpr_31 = (0x0893F3F8u); aot_gpr_5 = (0u | 6u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0893F3F8u) goto L_0893F3F8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0893F3F8u) goto L_0893F3F8; AOT_REGCACHE_SYNC_OUT(); return; L_0893F3F8: aot_gpr_4 = (0u | 1u); aot_gpr_31 = (0x0893F404u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0893F404u) goto L_0893F404; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0893F404u) goto L_0893F404; AOT_REGCACHE_SYNC_OUT(); return; L_0893F404: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -7944,7 +7945,7 @@ L_0893F524: L_0893F530: aot_gpr_31 = (0x0893F538u); aot_gpr_4 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0893F538u) goto L_0893F538; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0893F538u) goto L_0893F538; AOT_REGCACHE_SYNC_OUT(); return; L_0893F538: ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1044))); @@ -8354,7 +8355,7 @@ L_0893F80C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1048))); aot_gpr_31 = (0x0893F818u); aot_gpr_5 = (aot_gpr_16 + static_cast(1048)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0893F818u) goto L_0893F818; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0893F818u) goto L_0893F818; AOT_REGCACHE_SYNC_OUT(); return; L_0893F818: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1048))); diff --git a/profiles/vcs/generated/generated_unit_0079.cpp b/profiles/vcs/generated/generated_unit_0079.cpp index 13b8be1..625a4ea 100644 --- a/profiles/vcs/generated/generated_unit_0079.cpp +++ b/profiles/vcs/generated/generated_unit_0079.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0079[4084] = { }; void recomp_unit_0079_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,29,5,31,16,6 fprs=12,13,20,28 gpr_occ=3184 fpr_occ=1445 gpr_total=4595 fpr_total=2140 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,29,5,31,6,7 fprs=12,13,20,28 gpr_occ=3469 fpr_occ=1445 gpr_total=5191 fpr_total=2140 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; - std::uint32_t aot_gpr_16 = ctx.gpr[16]; std::uint32_t aot_gpr_6 = ctx.gpr[6]; + std::uint32_t aot_gpr_7 = ctx.gpr[7]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_20 = ctx.fpr[20]; float aot_fpr_28 = ctx.fpr[28]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[29] = aot_gpr_29; ctx.gpr[5] = aot_gpr_5; ctx.gpr[31] = aot_gpr_31; ctx.gpr[16] = aot_gpr_16; ctx.gpr[6] = aot_gpr_6; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; ctx.fpr[28] = aot_fpr_28; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_6 = ctx.gpr[6]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_28 = ctx.fpr[28]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[29] = aot_gpr_29; ctx.gpr[5] = aot_gpr_5; ctx.gpr[31] = aot_gpr_31; ctx.gpr[6] = aot_gpr_6; ctx.gpr[7] = aot_gpr_7; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; ctx.fpr[28] = aot_fpr_28; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_7 = ctx.gpr[7]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_28 = ctx.fpr[28]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -770,8 +771,8 @@ L_08940000: } L_08940030: aot_gpr_6 = (aot_gpr_6 + static_cast(1)); - ctx.gpr[7] = (static_cast(aot_gpr_6) < 8 ? 1u : 0u); - { const bool branch_taken = ctx.gpr[7] != 0u; + aot_gpr_7 = (static_cast(aot_gpr_6) < 8 ? 1u : 0u); + { const bool branch_taken = aot_gpr_7 != 0u; // nop if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 860u, 0x0893FEE4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; @@ -790,9 +791,9 @@ L_08940044: AOT_REGCACHE_SYNC_OUT(); return; L_0894004C: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[16], ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(32), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_31 = (0x08940068u); aot_gpr_4 = (0u | 9u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 607u, 0x08AD3698u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08940068u) goto L_08940068; @@ -808,7 +809,7 @@ L_08940068: L_08940070: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-18208))); aot_gpr_4 = (aot_gpr_4 + static_cast(100)); - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -824,7 +825,7 @@ L_08940070: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } ctx.gpr[17] = (0u | 1u); aot_gpr_5 = (0u | 1u); - ctx.gpr[7] = (0u | 0u); + aot_gpr_7 = (0u | 0u); aot_gpr_31 = (0x08940098u); ctx.gpr[8] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 828u, 0x0893FA88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08940098u) goto L_08940098; @@ -840,23 +841,23 @@ L_08940098: L_089400A0: aot_gpr_4 = (0u | 6u); aot_gpr_5 = (0u | 3u); - aot_gpr_6 = (aot_gpr_16 | 0u); - ctx.gpr[7] = (0u | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); + aot_gpr_7 = (0u | 0u); aot_gpr_31 = (0x089400B8u); ctx.gpr[8] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0113_entry, 113u, 729u, 0x089CAC6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089400B8u) goto L_089400B8; AOT_REGCACHE_SYNC_OUT(); return; L_089400B8: - aot_gpr_16 = (ctx.gpr[2] | 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); + ctx.gpr[16] = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(72))); aot_gpr_5 = (0u + static_cast(-513)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(72), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(72), aot_gpr_4); aot_gpr_4 = (0u | 1u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2316), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(2316), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-18208))); aot_gpr_4 = (aot_gpr_4 + static_cast(100)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2320), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(2320), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5836))); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -898,12 +899,12 @@ L_0894010C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5836))); goto L_08940110; L_08940110: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(80))); aot_gpr_6 = (16512u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_6); aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x08940128u); - ctx.gpr[7] = (0u | 167u); + aot_gpr_7 = (0u | 167u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 650u, 0x0893EA14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08940128u) goto L_08940128; AOT_REGCACHE_SYNC_OUT(); return; L_08940128: @@ -916,7 +917,7 @@ L_08940128: L_0894013C: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(32), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -1017,11 +1018,11 @@ L_089401EC: AOT_REGCACHE_SYNC_OUT(); return; L_089401F4: aot_gpr_29 = (aot_gpr_29 + static_cast(-320)); - { const std::uint32_t aot_run_words[12]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; + { const std::uint32_t aot_run_words[12]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(272), aot_run_words); } aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1048))); { const bool branch_taken = aot_gpr_5 != 0u; - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08940630; } @@ -1107,7 +1108,7 @@ L_0894029C: goto L_089402B8; } L_089402B8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1044))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1044))); { const bool branch_taken = ctx.gpr[17] == aot_gpr_4; // nop if (branch_taken) { @@ -1176,7 +1177,7 @@ L_089402CC: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } ctx.gpr[18] = (0u | 0u); - aot_gpr_4 = (aot_gpr_16 + static_cast(512)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(512)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -1192,14 +1193,14 @@ L_089402CC: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_31 = (0x0894031Cu); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1044))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1044))); goto L_08940174; L_0894031C: { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[0])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(48), aot_run_words); } ctx.gpr[23] = (aot_gpr_29 + static_cast(48)); ctx.gpr[30] = (aot_gpr_29 + static_cast(64)); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1044))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1044))); aot_gpr_31 = (0x0894033Cu); aot_gpr_4 = (ctx.gpr[30] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 912u, 0x0885F828u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894033Cu) goto L_0894033C; @@ -1313,7 +1314,7 @@ L_08940374: goto L_089403B0; } L_089403B0: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(1048), ctx.gpr[17]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(1048), ctx.gpr[17]); { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { @@ -1322,26 +1323,26 @@ L_089403B0: goto L_089403BC; } L_089403BC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1048))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1048))); aot_gpr_31 = (0x089403C8u); - aot_gpr_5 = (aot_gpr_16 + static_cast(1048)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089403C8u) goto L_089403C8; + aot_gpr_5 = (ctx.gpr[16] + static_cast(1048)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089403C8u) goto L_089403C8; AOT_REGCACHE_SYNC_OUT(); return; L_089403C8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1048))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1048))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(236))); aot_gpr_6 = (8192u << 16u); aot_gpr_5 = (aot_gpr_5 | aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(236), aot_gpr_5); - ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1044))); - ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1048))); + ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1044))); + ctx.gpr[20] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1048))); aot_gpr_31 = (0x089403ECu); aot_gpr_4 = (ctx.gpr[17] | 0u); goto L_08940150; L_089403EC: aot_fpr_20 = std::bit_cast(std::bit_cast(ctx.fpr[0])); aot_gpr_31 = (0x089403F8u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1044))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1044))); goto L_08940174; L_089403F8: aot_fpr_12 = aot_fpr_20 - ctx.fpr[0]; @@ -1363,16 +1364,16 @@ L_0894041C: } { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_13), std::bit_cast(ctx.fpr[14])}; aot_mem.aot_direct_store32_block(ctx.gpr[19] + static_cast(48), aot_run_words); } - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1044))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1044))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); aot_gpr_6 = (0u | 0u); aot_gpr_6 = (aot_gpr_6 & 1u); - ctx.gpr[7] = (0u + static_cast(-513)); - aot_gpr_5 = (aot_gpr_5 & ctx.gpr[7]); + aot_gpr_7 = (0u + static_cast(-513)); + aot_gpr_5 = (aot_gpr_5 & aot_gpr_7); aot_gpr_6 = (aot_gpr_6 << 9u); aot_gpr_5 = (aot_gpr_5 | aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(72), aot_gpr_5); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1048))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1048))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(72))); aot_gpr_6 = (aot_gpr_6 & 2048u); { const bool branch_taken = aot_gpr_6 != 0u; @@ -1405,32 +1406,32 @@ L_08940484: goto L_0894048C; } L_0894048C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1048))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1048))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); aot_gpr_6 = (0u | 0u); aot_gpr_6 = (aot_gpr_6 & 1u); - ctx.gpr[7] = (0u + static_cast(-2049)); - aot_gpr_5 = (aot_gpr_5 & ctx.gpr[7]); + aot_gpr_7 = (0u + static_cast(-2049)); + aot_gpr_5 = (aot_gpr_5 & aot_gpr_7); aot_gpr_6 = (aot_gpr_6 << 11u); aot_gpr_5 = (aot_gpr_5 | aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(72), aot_gpr_5); aot_gpr_31 = (0x089404B8u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1048))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1048))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 463u, 0x08A66048u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089404B8u) goto L_089404B8; AOT_REGCACHE_SYNC_OUT(); return; L_089404B8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1048))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1048))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); aot_gpr_6 = (0u + static_cast(-497)); aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); aot_gpr_5 = (aot_gpr_5 | 48u); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(72), aot_gpr_5); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1048))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1048))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); aot_gpr_6 = (0u | 1u); aot_gpr_6 = (aot_gpr_6 & 1u); - ctx.gpr[7] = (0u + static_cast(-513)); - aot_gpr_5 = (aot_gpr_5 & ctx.gpr[7]); + aot_gpr_7 = (0u + static_cast(-513)); + aot_gpr_5 = (aot_gpr_5 & aot_gpr_7); aot_gpr_6 = (aot_gpr_6 << 9u); aot_gpr_5 = (aot_gpr_5 | aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(72), aot_gpr_5); @@ -1454,24 +1455,24 @@ L_089404FC: } L_0894051C: aot_gpr_31 = (0x08940524u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); goto L_08940198; L_08940524: ctx.fpr[22] = std::bit_cast(std::bit_cast(ctx.fpr[0])); aot_gpr_31 = (0x08940530u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); goto L_08940198; L_08940530: aot_gpr_4 = (15616u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); { const float fs = ctx.fpr[0]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1056))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1056))); ctx.fpr[14] = aot_fpr_20 / ctx.fpr[22]; aot_fpr_20 = aot_fpr_13 - ctx.fpr[14]; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(1056), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(1056), std::bit_cast(aot_fpr_20)); aot_fpr_12 = aot_fpr_12 / ctx.fpr[22]; aot_fpr_20 = aot_fpr_20 - aot_fpr_12; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(1056), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(1056), std::bit_cast(aot_fpr_20)); aot_gpr_4 = (15395u << 16u); aot_gpr_4 = (aot_gpr_4 | 55050u); ctx.fpr[15] = std::bit_cast(aot_gpr_4); @@ -1489,7 +1490,7 @@ L_08940574: aot_fpr_20 = std::bit_cast(aot_gpr_4); goto L_0894057C; L_0894057C: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(1056), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(1056), std::bit_cast(aot_fpr_20)); goto L_08940580; L_08940580: { const bool branch_taken = static_cast(ctx.gpr[18]) <= 0; @@ -1501,7 +1502,7 @@ L_08940580: } L_08940588: ctx.gpr[18] = (ctx.gpr[18] + static_cast(-1)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1048))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1048))); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -1516,7 +1517,7 @@ L_08940588: const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1048))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1048))); aot_gpr_6 = (aot_gpr_5 + static_cast(32)); { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; @@ -1531,7 +1532,7 @@ L_08940588: const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1048))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1048))); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -1638,7 +1639,7 @@ L_08940630: aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(272), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); - aot_gpr_16 = aot_run_words[2]; + ctx.gpr[16] = aot_run_words[2]; ctx.gpr[17] = aot_run_words[3]; ctx.gpr[18] = aot_run_words[4]; ctx.gpr[19] = aot_run_words[5]; @@ -1657,7 +1658,7 @@ L_08940630: AOT_REGCACHE_SYNC_OUT(); return; L_08940668: aot_gpr_29 = (aot_gpr_29 + static_cast(-992)); - { const std::uint32_t aot_run_words[13]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], aot_gpr_31}; + { const std::uint32_t aot_run_words[13]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(940), aot_run_words); } ctx.gpr[22] = (aot_gpr_4 | 0u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(1056))); @@ -1749,8 +1750,8 @@ L_08940780: goto L_08940788; } L_08940788: - aot_gpr_16 = (ctx.gpr[17] + static_cast(48)); - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + ctx.gpr[16] = (ctx.gpr[17] + static_cast(48)); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -1864,7 +1865,7 @@ L_08940818: const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -1906,9 +1907,9 @@ L_08940818: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_16 = (aot_gpr_29 + static_cast(128)); + ctx.gpr[16] = (aot_gpr_29 + static_cast(128)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = ctx.gpr[20] + static_cast(0); @@ -2060,7 +2061,7 @@ L_08940818: const std::uint32_t vfpu_address = ctx.gpr[20] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08940918u); aot_gpr_5 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 464u, 0x08A931D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08940918u) goto L_08940918; @@ -2119,7 +2120,7 @@ L_08940918: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -2160,17 +2161,17 @@ L_08940974: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_31 = (0x08940994u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 464u, 0x08A931D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08940994u) goto L_08940994; AOT_REGCACHE_SYNC_OUT(); return; L_08940994: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089409A0u); aot_gpr_5 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089409A0u) goto L_089409A0; AOT_REGCACHE_SYNC_OUT(); return; L_089409A0: - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -2189,9 +2190,9 @@ L_089409A0: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>(); - aot_gpr_16 = (aot_gpr_29 + static_cast(208)); + ctx.gpr[16] = (aot_gpr_29 + static_cast(208)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (16256u << 16u); @@ -2199,7 +2200,7 @@ L_089409A0: aot_fpr_12 = aot_fpr_12 - ctx.fpr[22]; aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -2246,7 +2247,7 @@ L_089409F4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(1040))); aot_gpr_5 = (std::bit_cast(ctx.fpr[22])); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_5); - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -2585,10 +2586,10 @@ L_08940D34: goto L_08940D40; } L_08940D40: - aot_gpr_16 = (aot_gpr_29 + static_cast(464)); + ctx.gpr[16] = (aot_gpr_29 + static_cast(464)); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(1048))); aot_gpr_31 = (0x08940D50u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 912u, 0x0885F828u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08940D50u) goto L_08940D50; AOT_REGCACHE_SYNC_OUT(); return; L_08940D50: @@ -2637,7 +2638,7 @@ L_08940DA0: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(1044))); aot_gpr_31 = (0x08940DB8u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 7u, 0x08860358u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08940DB8u) goto L_08940DB8; AOT_REGCACHE_SYNC_OUT(); return; L_08940DB8: @@ -2728,8 +2729,8 @@ L_08940E38: L_08940E44: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(1048))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(76))); - aot_gpr_16 = (32u << 16u); - aot_gpr_4 = (aot_gpr_4 & aot_gpr_16); + ctx.gpr[16] = (32u << 16u); + aot_gpr_4 = (aot_gpr_4 & ctx.gpr[16]); aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 != 0u; @@ -2756,7 +2757,7 @@ L_08940E6C: L_08940E78: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(1048))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); - aot_gpr_4 = (aot_gpr_4 & aot_gpr_16); + aot_gpr_4 = (aot_gpr_4 & ctx.gpr[16]); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -2860,7 +2861,7 @@ L_08940F1C: ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); ctx.fpr[26] = std::bit_cast(aot_run_words[3]); - aot_gpr_16 = aot_run_words[4]; + ctx.gpr[16] = aot_run_words[4]; ctx.gpr[17] = aot_run_words[5]; ctx.gpr[18] = aot_run_words[6]; ctx.gpr[19] = aot_run_words[7]; @@ -2878,21 +2879,21 @@ L_08940F1C: AOT_REGCACHE_SYNC_OUT(); return; L_08940F58: aot_gpr_29 = (aot_gpr_29 + static_cast(-864)); - { const std::uint32_t aot_run_words[5]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; + { const std::uint32_t aot_run_words[5]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(844), aot_run_words); } ctx.gpr[18] = (aot_gpr_6 | 0u); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.gpr[19] = (aot_gpr_5 | 0u); ctx.gpr[17] = (0u | 0u); aot_gpr_31 = (0x08940F88u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); goto L_08940198; L_08940F88: aot_gpr_4 = (15616u << 16u); ctx.fpr[14] = std::bit_cast(aot_gpr_4); { const float fs = ctx.fpr[0]; const float ft = ctx.fpr[14]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[14] = std::bit_cast(0x7FC00000u); else ctx.fpr[14] = fs * ft; } aot_gpr_4 = (ctx.gpr[17] << 4u); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(16)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; @@ -2959,7 +2960,7 @@ L_08940F88: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_4 = (aot_gpr_16 + static_cast(512)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(512)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; @@ -2996,8 +2997,8 @@ L_08941014: } L_08941028: aot_gpr_6 = (aot_gpr_5 << 4u); - ctx.gpr[7] = (aot_gpr_16 + aot_gpr_6); - { const std::uint32_t vfpu_address = ctx.gpr[7] + static_cast(0); + aot_gpr_7 = (ctx.gpr[16] + aot_gpr_6); + { const std::uint32_t vfpu_address = aot_gpr_7 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -3011,7 +3012,7 @@ L_08941028: const std::uint32_t vfpu_address = ctx.gpr[8] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_6 = (aot_gpr_16 + aot_gpr_6); + aot_gpr_6 = (ctx.gpr[16] + aot_gpr_6); aot_gpr_6 = (aot_gpr_6 + static_cast(16)); { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; @@ -3022,7 +3023,7 @@ L_08941028: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = ctx.gpr[7] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_7 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -3061,10 +3062,10 @@ L_08941028: } L_0894107C: aot_gpr_6 = (aot_gpr_5 << 4u); - ctx.gpr[7] = (aot_gpr_16 + aot_gpr_6); - aot_gpr_6 = (aot_gpr_16 + aot_gpr_6); + aot_gpr_7 = (ctx.gpr[16] + aot_gpr_6); + aot_gpr_6 = (ctx.gpr[16] + aot_gpr_6); ctx.gpr[8] = (aot_gpr_6 + static_cast(16)); - { const std::uint32_t vfpu_address = ctx.gpr[7] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_7 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -3097,7 +3098,7 @@ L_0894107C: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = ctx.gpr[7] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_7 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -3177,11 +3178,11 @@ L_0894107C: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = ctx.gpr[7] + static_cast(0); + const std::uint32_t vfpu_address = aot_gpr_7 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_6 = (aot_gpr_6 + static_cast(512)); - { const std::uint32_t vfpu_address = ctx.gpr[7] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_7 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -3190,8 +3191,8 @@ L_0894107C: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - ctx.gpr[7] = (aot_gpr_29 + static_cast(64)); - { const std::uint32_t vfpu_address = ctx.gpr[7] + static_cast(0); + aot_gpr_7 = (aot_gpr_29 + static_cast(64)); + { const std::uint32_t vfpu_address = aot_gpr_7 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -3206,8 +3207,8 @@ L_0894107C: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); - ctx.gpr[7] = (std::bit_cast(aot_fpr_12)); - ctx.set_vfpu_scalar_bits_ct<28u>(ctx.gpr[7]); + aot_gpr_7 = (std::bit_cast(aot_fpr_12)); + ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_7); ctx.execute_vfpu_unary_ct<28u, 28u, 1u, 16u>(); { const std::uint32_t vfpu_address = ctx.gpr[9] + static_cast(0); std::uint32_t vfpu_words[4]{}; @@ -3269,9 +3270,9 @@ L_0894115C: } L_0894116C: aot_gpr_6 = (aot_gpr_5 << 4u); - ctx.gpr[7] = (aot_gpr_16 + aot_gpr_6); - ctx.gpr[7] = (ctx.gpr[7] + static_cast(16)); - { const std::uint32_t vfpu_address = ctx.gpr[7] + static_cast(0); + aot_gpr_7 = (ctx.gpr[16] + aot_gpr_6); + aot_gpr_7 = (aot_gpr_7 + static_cast(16)); + { const std::uint32_t vfpu_address = aot_gpr_7 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -3285,8 +3286,8 @@ L_0894116C: const std::uint32_t vfpu_address = ctx.gpr[8] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_6 = (aot_gpr_16 + aot_gpr_6); - { const std::uint32_t vfpu_address = ctx.gpr[7] + static_cast(0); + aot_gpr_6 = (ctx.gpr[16] + aot_gpr_6); + { const std::uint32_t vfpu_address = aot_gpr_7 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -3334,10 +3335,10 @@ L_0894116C: } L_089411C0: aot_gpr_6 = (aot_gpr_5 << 4u); - ctx.gpr[7] = (aot_gpr_16 + aot_gpr_6); - ctx.gpr[7] = (ctx.gpr[7] + static_cast(16)); - aot_gpr_6 = (aot_gpr_16 + aot_gpr_6); - { const std::uint32_t vfpu_address = ctx.gpr[7] + static_cast(0); + aot_gpr_7 = (ctx.gpr[16] + aot_gpr_6); + aot_gpr_7 = (aot_gpr_7 + static_cast(16)); + aot_gpr_6 = (ctx.gpr[16] + aot_gpr_6); + { const std::uint32_t vfpu_address = aot_gpr_7 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -3361,7 +3362,7 @@ L_089411C0: const std::uint32_t vfpu_address = ctx.gpr[8] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - { const std::uint32_t vfpu_address = ctx.gpr[7] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_7 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -3450,7 +3451,7 @@ L_089411C0: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = ctx.gpr[7] + static_cast(0); + const std::uint32_t vfpu_address = aot_gpr_7 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } goto L_08941244; @@ -3487,7 +3488,7 @@ L_08941264: } L_08941278: aot_gpr_5 = (aot_gpr_4 << 4u); - aot_gpr_6 = (aot_gpr_16 + aot_gpr_5); + aot_gpr_6 = (ctx.gpr[16] + aot_gpr_5); { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -3497,12 +3498,12 @@ L_08941278: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - ctx.gpr[7] = (aot_gpr_29 + static_cast(256)); + aot_gpr_7 = (aot_gpr_29 + static_cast(256)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = ctx.gpr[7] + static_cast(0); + const std::uint32_t vfpu_address = aot_gpr_7 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_5 = (aot_gpr_16 + aot_gpr_5); + aot_gpr_5 = (ctx.gpr[16] + aot_gpr_5); aot_gpr_5 = (aot_gpr_5 + static_cast(16)); { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; @@ -3552,8 +3553,8 @@ L_08941278: } L_089412CC: aot_gpr_5 = (aot_gpr_4 << 4u); - aot_gpr_6 = (aot_gpr_16 + aot_gpr_5); - aot_gpr_5 = (aot_gpr_16 + aot_gpr_5); + aot_gpr_6 = (ctx.gpr[16] + aot_gpr_5); + aot_gpr_5 = (ctx.gpr[16] + aot_gpr_5); aot_gpr_5 = (aot_gpr_5 + static_cast(16)); { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; @@ -3574,9 +3575,9 @@ L_089412CC: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>(); - ctx.gpr[7] = (aot_gpr_29 + static_cast(304)); + aot_gpr_7 = (aot_gpr_29 + static_cast(304)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = ctx.gpr[7] + static_cast(0); + const std::uint32_t vfpu_address = aot_gpr_7 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); @@ -3619,7 +3620,7 @@ L_089412CC: aot_fpr_12 = ctx.fpr[14] / aot_fpr_12; ctx.gpr[8] = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(ctx.gpr[8]); - { const std::uint32_t vfpu_address = ctx.gpr[7] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_7 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -3629,9 +3630,9 @@ L_089412CC: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); - ctx.gpr[7] = (aot_gpr_29 + static_cast(288)); + aot_gpr_7 = (aot_gpr_29 + static_cast(288)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = ctx.gpr[7] + static_cast(0); + const std::uint32_t vfpu_address = aot_gpr_7 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); @@ -3643,7 +3644,7 @@ L_089412CC: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = ctx.gpr[7] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_7 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -3811,7 +3812,7 @@ L_089413CC: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_5 = (ctx.gpr[18] << 4u); - aot_gpr_5 = (aot_gpr_16 + aot_gpr_5); + aot_gpr_5 = (ctx.gpr[16] + aot_gpr_5); aot_gpr_5 = (aot_gpr_5 + static_cast(16)); aot_gpr_6 = (ctx.gpr[18] - ctx.gpr[17]); aot_fpr_12 = std::bit_cast(aot_gpr_6); @@ -3891,7 +3892,7 @@ L_08941464: L_0894146C: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(844), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -3908,8 +3909,8 @@ L_08941488: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); aot_gpr_4 = (2247u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(160)); - ctx.gpr[7] = (2196u << 16u); - ctx.gpr[7] = (ctx.gpr[7] + static_cast(-4060)); + aot_gpr_7 = (2196u << 16u); + aot_gpr_7 = (aot_gpr_7 + static_cast(-4060)); aot_gpr_5 = (0u | 8u); aot_gpr_31 = (0x089414ACu); aot_gpr_6 = (0u | 1072u); @@ -3942,10 +3943,10 @@ L_089414D0: AOT_REGCACHE_SYNC_OUT(); return; L_089414D8: aot_gpr_29 = (aot_gpr_29 + static_cast(-64)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), ctx.gpr[20]); - ctx.gpr[20] = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(0))); + ctx.gpr[20] = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(0))); aot_gpr_4 = (ctx.gpr[20] + static_cast(1)); aot_gpr_4 = (aot_gpr_4 & 32767u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), std::bit_cast(aot_fpr_20)); @@ -3953,8 +3954,8 @@ L_089414D8: aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(36), aot_run_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), ctx.gpr[21]); aot_fpr_20 = std::bit_cast(std::bit_cast(aot_fpr_12)); - ctx.gpr[19] = (ctx.gpr[7] | 0u); - aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(0), static_cast(aot_gpr_4)); + ctx.gpr[19] = (aot_gpr_7 | 0u); + aot_mem.aot_direct_store16(ctx.gpr[16] + static_cast(0), static_cast(aot_gpr_4)); ctx.gpr[18] = (aot_gpr_6 | 0u); ctx.gpr[17] = (aot_gpr_5 | 0u); ctx.gpr[21] = (0u | 0u); @@ -3977,7 +3978,7 @@ L_0894153C: aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_4 = (ctx.gpr[22] | 0u); aot_gpr_6 = (ctx.gpr[17] | 0u); - ctx.gpr[7] = (ctx.gpr[18] | 0u); + aot_gpr_7 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08941554u); ctx.gpr[8] = (ctx.gpr[19] | 0u); goto L_08941804; @@ -3985,8 +3986,8 @@ L_08941554: ctx.gpr[21] = (ctx.gpr[22] | 0u); goto L_08941558; L_08941558: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(12))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(8))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(12))); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; aot_gpr_5 = (aot_gpr_4 | 0u); if (branch_taken) { @@ -4004,25 +4005,25 @@ L_08941568: } L_08941570: aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), ctx.gpr[21]); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(8))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); goto L_0894157C; L_0894157C: { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(8), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(8), aot_gpr_4); if (branch_taken) { goto L_08941680; } goto L_08941584; } L_08941584: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_gpr_6 = (0u | 1u); aot_gpr_5 = (aot_gpr_4 - aot_gpr_5); - ctx.gpr[7] = (static_cast(static_cast(aot_gpr_5) >> 2u)); - ctx.gpr[7] = (ctx.gpr[7] >> 30u); + aot_gpr_7 = (static_cast(static_cast(aot_gpr_5) >> 2u)); + aot_gpr_7 = (aot_gpr_7 >> 30u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(4), static_cast(0u)); - aot_gpr_5 = (aot_gpr_5 + ctx.gpr[7]); + aot_gpr_5 = (aot_gpr_5 + aot_gpr_7); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_6); aot_gpr_5 = (static_cast(static_cast(aot_gpr_5) >> 2u)); aot_gpr_6 = (aot_gpr_5 < static_cast(1) ? 1u : 0u); @@ -4085,7 +4086,7 @@ L_08941608: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); goto L_08941610; L_08941610: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); { const bool branch_taken = aot_gpr_4 != aot_gpr_6; ctx.gpr[18] = (aot_gpr_5 | 0u); if (branch_taken) { @@ -4132,7 +4133,7 @@ L_08941648: goto L_08941658; } L_08941658: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); { const bool branch_taken = aot_gpr_4 == 0u; aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(16), static_cast(0u)); if (branch_taken) { @@ -4143,21 +4144,21 @@ L_08941658: L_08941664: aot_gpr_31 = (0x0894166Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894166Cu) goto L_0894166C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894166Cu) goto L_0894166C; AOT_REGCACHE_SYNC_OUT(); return; L_0894166C: aot_gpr_4 = (ctx.gpr[17] << 2u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), ctx.gpr[18]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(4), ctx.gpr[18]); aot_gpr_4 = (ctx.gpr[18] + aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(8), ctx.gpr[19]); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(12), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(8), ctx.gpr[19]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(12), aot_gpr_4); goto L_08941680; L_08941680: ctx.gpr[2] = (ctx.gpr[20] | 0u); { std::uint32_t aot_run_words[9]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(28), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); - aot_gpr_16 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[1]; ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; ctx.gpr[19] = aot_run_words[4]; @@ -4174,12 +4175,12 @@ L_08941680: AOT_REGCACHE_SYNC_OUT(); return; L_089416B0: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); - ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); { const bool branch_taken = ctx.gpr[17] == aot_gpr_4; // nop if (branch_taken) { @@ -4189,8 +4190,8 @@ L_089416B0: } L_089416D4: aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); - ctx.gpr[7] = (aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(0))); - { const bool branch_taken = ctx.gpr[7] != aot_gpr_5; + aot_gpr_7 = (aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(0))); + { const bool branch_taken = aot_gpr_7 != aot_gpr_5; // nop if (branch_taken) { goto L_08941728; @@ -4200,10 +4201,10 @@ L_089416D4: L_089416E4: aot_gpr_31 = (0x089416ECu); aot_gpr_4 = (aot_gpr_6 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089416ECu) goto L_089416EC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089416ECu) goto L_089416EC; AOT_REGCACHE_SYNC_OUT(); return; L_089416EC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(8))); aot_gpr_5 = (ctx.gpr[17] + static_cast(4)); { const bool branch_taken = aot_gpr_5 == aot_gpr_4; // nop @@ -4229,12 +4230,12 @@ L_08941708: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 164u, 0x08AF54A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08941718u) goto L_08941718; AOT_REGCACHE_SYNC_OUT(); return; L_08941718: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(8))); goto L_0894171C; L_0894171C: aot_gpr_4 = (aot_gpr_4 + static_cast(-4)); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(8), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(8), aot_gpr_4); if (branch_taken) { goto L_08941734; } @@ -4252,7 +4253,7 @@ L_08941728: L_08941734: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(4), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -4264,10 +4265,10 @@ L_08941734: AOT_REGCACHE_SYNC_OUT(); return; L_08941748: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); ctx.gpr[17] = (aot_gpr_5 | 0u); @@ -4281,11 +4282,11 @@ L_08941748: L_08941770: aot_gpr_31 = (0x08941778u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08941778u) goto L_08941778; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08941778u) goto L_08941778; AOT_REGCACHE_SYNC_OUT(); return; L_08941778: aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(8))); ctx.gpr[17] = (ctx.gpr[17] + static_cast(4)); { const bool branch_taken = ctx.gpr[17] != aot_gpr_4; // nop @@ -4295,15 +4296,15 @@ L_08941778: goto L_0894178C; } L_0894178C: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); goto L_08941790; L_08941790: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(0), static_cast(0u)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(1), static_cast(0u)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(8), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(8), aot_gpr_5); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(4), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -4315,12 +4316,12 @@ L_08941790: AOT_REGCACHE_SYNC_OUT(); return; L_089417B0: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); - ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(8))); { const bool branch_taken = ctx.gpr[17] == aot_gpr_4; // nop if (branch_taken) { @@ -4331,10 +4332,10 @@ L_089417B0: L_089417D4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_gpr_31 = (0x089417E0u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); goto L_08941890; L_089417E0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(8))); ctx.gpr[17] = (ctx.gpr[17] + static_cast(4)); { const bool branch_taken = ctx.gpr[17] != aot_gpr_4; // nop @@ -4346,7 +4347,7 @@ L_089417E0: L_089417F0: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -4358,7 +4359,7 @@ L_089417F0: AOT_REGCACHE_SYNC_OUT(); return; L_08941804: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_5)); { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); @@ -4375,7 +4376,7 @@ L_08941804: const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - { const std::uint32_t vfpu_address = ctx.gpr[7] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_7 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -4404,24 +4405,24 @@ L_08941804: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_0894187C; } goto L_0894186C; } L_0894186C: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(16))); aot_gpr_31 = (0x08941878u); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(20))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 514u, 0x088933E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08941878u) goto L_08941878; AOT_REGCACHE_SYNC_OUT(); return; L_08941878: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(24), std::bit_cast(ctx.fpr[0])); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(24), std::bit_cast(ctx.fpr[0])); goto L_0894187C; L_0894187C: - ctx.gpr[2] = (aot_gpr_16 | 0u); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[2] = (ctx.gpr[16] | 0u); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -4447,7 +4448,7 @@ L_089418B0: ctx.fpr[14] = std::bit_cast(std::bit_cast(aot_fpr_12)); aot_gpr_5 = (aot_gpr_5 | 13107u); aot_fpr_12 = std::bit_cast(aot_gpr_5); - ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(52))); + aot_gpr_7 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(52))); { const float fs = aot_fpr_13; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(53))); ctx.gpr[9] = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(54))); @@ -4522,7 +4523,7 @@ L_08941948: AOT_REGCACHE_SYNC_OUT(); return; L_08941988: aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7648))); - ctx.gpr[7] = (aot_gpr_5 & 255u); + aot_gpr_7 = (aot_gpr_5 & 255u); aot_gpr_5 = (aot_gpr_6 << 6u); aot_gpr_6 = (aot_gpr_6 << 2u); aot_gpr_4 = (aot_gpr_4 & 255u); @@ -4532,7 +4533,7 @@ L_08941988: aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_6 - aot_gpr_4); aot_gpr_5 = (aot_gpr_5 + ctx.gpr[8]); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[7]); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_7); aot_gpr_6 = (aot_gpr_4 < aot_gpr_5 ? 1u : 0u); { const bool branch_taken = aot_gpr_6 == 0u; // nop @@ -4631,8 +4632,8 @@ L_08941A50: goto L_08941A58; } L_08941A58: - ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8900))); - aot_gpr_6 = (ctx.gpr[8] - ctx.gpr[7]); + aot_gpr_7 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8900))); + aot_gpr_6 = (ctx.gpr[8] - aot_gpr_7); ctx.gpr[9] = (aot_gpr_5 < aot_gpr_6 ? 1u : 0u); { const bool branch_taken = ctx.gpr[9] != 0u; aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(4180))); @@ -4649,11 +4650,11 @@ L_08941A6C: goto L_08941A74; L_08941A74: aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7649))); - ctx.gpr[7] = (ctx.gpr[7] + aot_gpr_5); + aot_gpr_7 = (aot_gpr_7 + aot_gpr_5); aot_gpr_6 = (aot_gpr_6 + static_cast(1)); aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(7649), static_cast(aot_gpr_6)); { const bool branch_taken = aot_gpr_4 == 0u; - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8900), ctx.gpr[7]); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8900), aot_gpr_7); if (branch_taken) { goto L_08941A90; } @@ -4736,8 +4737,8 @@ L_08941B38: aot_gpr_6 = (aot_gpr_5 & 255u); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7648))); - ctx.gpr[7] = (static_cast(aot_gpr_6) < static_cast(aot_gpr_4) ? 1u : 0u); - { const bool branch_taken = ctx.gpr[7] != 0u; + aot_gpr_7 = (static_cast(aot_gpr_6) < static_cast(aot_gpr_4) ? 1u : 0u); + { const bool branch_taken = aot_gpr_7 != 0u; aot_gpr_4 = (static_cast(aot_gpr_5) < static_cast(aot_gpr_4) ? 1u : 0u); if (branch_taken) { goto L_08941B68; @@ -4830,20 +4831,20 @@ L_08941BB0: AOT_REGCACHE_SYNC_OUT(); return; L_08941BCC: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x08941BE0u); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0170_entry, 170u, 783u, 0x08AAF864u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08941BE0u) goto L_08941BE0; AOT_REGCACHE_SYNC_OUT(); return; L_08941BE0: - aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(140), static_cast(0u)); - aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(142), static_cast(0u)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(80), 0u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(84), 0u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(92), 0u); - ctx.gpr[2] = (aot_gpr_16 | 0u); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_mem.aot_direct_store16(ctx.gpr[16] + static_cast(140), static_cast(0u)); + aot_mem.aot_direct_store16(ctx.gpr[16] + static_cast(142), static_cast(0u)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(80), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(84), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(92), 0u); + ctx.gpr[2] = (ctx.gpr[16] | 0u); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -4855,10 +4856,10 @@ L_08941C08: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); ctx.gpr[17] = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_16 = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); if (branch_taken) { goto L_08941C6C; } @@ -4866,7 +4867,7 @@ L_08941C08: } L_08941C24: { const bool branch_taken = ctx.gpr[17] == 0u; - aot_gpr_4 = (aot_gpr_16 & 1u); + aot_gpr_4 = (ctx.gpr[16] & 1u); if (branch_taken) { goto L_08941C5C; } @@ -4874,7 +4875,7 @@ L_08941C24: } L_08941C2C: { const bool branch_taken = ctx.gpr[17] == 0u; - aot_gpr_4 = (aot_gpr_16 & 1u); + aot_gpr_4 = (ctx.gpr[16] & 1u); if (branch_taken) { goto L_08941C5C; } @@ -4884,7 +4885,7 @@ L_08941C34: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_4 = (aot_gpr_16 & 1u); + aot_gpr_4 = (ctx.gpr[16] & 1u); if (branch_taken) { goto L_08941C5C; } @@ -4893,7 +4894,7 @@ L_08941C34: L_08941C44: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(64))); if (aot_gpr_4 == 0u) { - aot_gpr_4 = (aot_gpr_16 & 1u); + aot_gpr_4 = (ctx.gpr[16] & 1u); goto L_08941C5C; } goto L_08941C50; @@ -4903,7 +4904,7 @@ L_08941C50: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 129u, 0x089D89E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08941C58u) goto L_08941C58; AOT_REGCACHE_SYNC_OUT(); return; L_08941C58: - aot_gpr_4 = (aot_gpr_16 & 1u); + aot_gpr_4 = (ctx.gpr[16] & 1u); goto L_08941C5C; L_08941C5C: { const bool branch_taken = aot_gpr_4 == 0u; @@ -4916,12 +4917,12 @@ L_08941C5C: L_08941C64: aot_gpr_31 = (0x08941C6Cu); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08941C6Cu) goto L_08941C6C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08941C6Cu) goto L_08941C6C; AOT_REGCACHE_SYNC_OUT(); return; L_08941C6C: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -4937,13 +4938,13 @@ L_08941C80: { const std::uint32_t aot_run_words[3]{0u, 0u, aot_gpr_5}; aot_mem.aot_direct_store32_block(ctx.gpr[28] + static_cast(-18160), aot_run_words); } ctx.gpr[8] = (aot_gpr_5 | 0u); - ctx.gpr[7] = (aot_gpr_5 + static_cast(-160)); + aot_gpr_7 = (aot_gpr_5 + static_cast(-160)); ctx.gpr[10] = (0u | 0u); aot_gpr_5 = (aot_gpr_5 + static_cast(160)); ctx.gpr[9] = (0u | 0u); aot_gpr_6 = (0u | 69u); aot_gpr_4 = (0u | 3u); - ctx.gpr[7] = (ctx.gpr[10] + ctx.gpr[7]); + aot_gpr_7 = (ctx.gpr[10] + aot_gpr_7); aot_gpr_5 = (ctx.gpr[10] + aot_gpr_5); goto L_08941CB8; L_08941CB8: @@ -4963,7 +4964,7 @@ L_08941CC0: goto L_08941CC8; } L_08941CC8: - aot_mem.aot_direct_store32(ctx.gpr[8] + static_cast(84), ctx.gpr[7]); + aot_mem.aot_direct_store32(ctx.gpr[8] + static_cast(84), aot_gpr_7); goto L_08941CCC; L_08941CCC: { const bool branch_taken = ctx.gpr[9] != aot_gpr_6; @@ -4988,7 +4989,7 @@ L_08941CE0: aot_mem.aot_direct_store16(ctx.gpr[8] + static_cast(142), static_cast(aot_gpr_4)); ctx.gpr[9] = (ctx.gpr[9] + static_cast(1)); ctx.gpr[8] = (ctx.gpr[8] + static_cast(160)); - ctx.gpr[7] = (ctx.gpr[7] + static_cast(160)); + aot_gpr_7 = (aot_gpr_7 + static_cast(160)); ctx.gpr[10] = (static_cast(ctx.gpr[9]) < 70 ? 1u : 0u); { const bool branch_taken = ctx.gpr[10] != 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(160)); @@ -5020,7 +5021,7 @@ L_08941D04: aot_gpr_6 = (aot_gpr_29 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_31); aot_gpr_31 = (0x08941D44u); - ctx.gpr[7] = (0u | 0u); + aot_gpr_7 = (0u | 0u); goto L_089421CC; L_08941D44: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); @@ -5032,9 +5033,9 @@ L_08941D44: AOT_REGCACHE_SYNC_OUT(); return; L_08941D50: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(142))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(142))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_5 = (static_cast(aot_gpr_4) < 2 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; @@ -5056,12 +5057,12 @@ L_08941D78: aot_gpr_4 = (ctx.gpr[28] + static_cast(-18160)); aot_gpr_5 = (ctx.gpr[28] + static_cast(-18152)); aot_gpr_31 = (0x08941D88u); - aot_gpr_6 = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); goto L_08941FE4; L_08941D88: aot_gpr_4 = (0u | 3u); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(142), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store16(ctx.gpr[16] + static_cast(142), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08941DC8; } @@ -5095,19 +5096,19 @@ L_08941DAC: aot_gpr_4 = (ctx.gpr[28] + static_cast(-18156)); aot_gpr_5 = (ctx.gpr[28] + static_cast(-18152)); aot_gpr_31 = (0x08941DBCu); - aot_gpr_6 = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); goto L_08941FE4; L_08941DBC: aot_gpr_4 = (0u | 3u); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(142), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store16(ctx.gpr[16] + static_cast(142), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08941DC8; } goto L_08941DC8; } L_08941DC8: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -5117,9 +5118,9 @@ L_08941DC8: AOT_REGCACHE_SYNC_OUT(); return; L_08941DD8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(92))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); if (aot_gpr_4 == 0u) { aot_gpr_4 = (2236u << 16u); @@ -5140,12 +5141,12 @@ L_08941E04: aot_gpr_4 = (ctx.gpr[28] + static_cast(-18156)); aot_gpr_5 = (ctx.gpr[28] + static_cast(-18152)); aot_gpr_31 = (0x08941E14u); - aot_gpr_6 = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); goto L_08941FE4; L_08941E14: aot_gpr_4 = (0u | 3u); - aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(142), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); + aot_mem.aot_direct_store16(ctx.gpr[16] + static_cast(142), static_cast(aot_gpr_4)); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(96))); aot_gpr_5 = (0u | 5u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; aot_gpr_4 = (2236u << 16u); @@ -5156,17 +5157,17 @@ L_08941E14: } L_08941E2C: aot_gpr_31 = (0x08941E34u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_08942110; L_08941E34: aot_gpr_4 = (2236u << 16u); goto L_08941E38; L_08941E38: aot_gpr_4 = (aot_gpr_4 + static_cast(32304)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(48))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(48))); aot_gpr_4 = (aot_gpr_4 + static_cast(48)); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - ctx.fpr[14] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(52))); + ctx.fpr[14] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(52))); ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; ctx.fpr[14] = ctx.fpr[14] - ctx.fpr[15]; @@ -5189,14 +5190,14 @@ L_08941E80: aot_gpr_4 = (ctx.gpr[28] + static_cast(-18156)); aot_gpr_5 = (ctx.gpr[28] + static_cast(-18160)); aot_gpr_31 = (0x08941E90u); - aot_gpr_6 = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); goto L_08941FE4; L_08941E90: aot_gpr_4 = (0u | 1u); - aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(142), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store16(ctx.gpr[16] + static_cast(142), static_cast(aot_gpr_4)); goto L_08941E98; L_08941E98: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -5207,7 +5208,7 @@ L_08941E98: L_08941EA8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-18160))); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -5218,10 +5219,10 @@ L_08941EA8: } L_08941EC8: aot_gpr_31 = (0x08941ED0u); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(80))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(80))); goto L_0894268C; L_08941ED0: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -5230,18 +5231,18 @@ L_08941ED0: goto L_08941EDC; } L_08941EDC: - aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7764))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7764))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-18156))); ctx.gpr[17] = (0u | 0u); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_16 = (aot_gpr_16 & 31u); + ctx.gpr[16] = (ctx.gpr[16] & 31u); if (branch_taken) { goto L_08941F10; } goto L_08941EF0; } L_08941EF0: - { const bool branch_taken = aot_gpr_16 != ctx.gpr[17]; + { const bool branch_taken = ctx.gpr[16] != ctx.gpr[17]; ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(80))); if (branch_taken) { goto L_08941F04; @@ -5253,7 +5254,7 @@ L_08941EF8: // nop goto L_08941DD8; L_08941F00: - aot_gpr_16 = (aot_gpr_16 + static_cast(32)); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(32)); goto L_08941F04; L_08941F04: aot_gpr_4 = (ctx.gpr[18] | 0u); @@ -5267,7 +5268,7 @@ L_08941F04: L_08941F10: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; @@ -5282,7 +5283,7 @@ L_08941F28: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-18160))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); { const std::uint32_t aot_run_words[3]{ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(12), aot_run_words); } @@ -5295,7 +5296,7 @@ L_08941F28: } L_08941F50: ctx.gpr[17] = (ctx.gpr[28] + static_cast(-18152)); - aot_gpr_16 = (0u | 3u); + ctx.gpr[16] = (0u | 3u); goto L_08941F58; L_08941F58: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(92))); @@ -5313,7 +5314,7 @@ L_08941F64: aot_gpr_6 = (ctx.gpr[18] | 0u); goto L_08941FE4; L_08941F74: - aot_mem.aot_direct_store16(ctx.gpr[18] + static_cast(142), static_cast(aot_gpr_16)); + aot_mem.aot_direct_store16(ctx.gpr[18] + static_cast(142), static_cast(ctx.gpr[16])); goto L_08941F78; L_08941F78: ctx.gpr[18] = (ctx.gpr[20] | 0u); @@ -5335,7 +5336,7 @@ L_08941F84: } L_08941F90: ctx.gpr[17] = (ctx.gpr[28] + static_cast(-18152)); - aot_gpr_16 = (0u | 3u); + ctx.gpr[16] = (0u | 3u); goto L_08941F98; L_08941F98: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(92))); @@ -5353,7 +5354,7 @@ L_08941FA4: aot_gpr_6 = (ctx.gpr[18] | 0u); goto L_08941FE4; L_08941FB4: - aot_mem.aot_direct_store16(ctx.gpr[18] + static_cast(142), static_cast(aot_gpr_16)); + aot_mem.aot_direct_store16(ctx.gpr[18] + static_cast(142), static_cast(ctx.gpr[16])); goto L_08941FB8; L_08941FB8: ctx.gpr[18] = (ctx.gpr[20] | 0u); @@ -5367,7 +5368,7 @@ L_08941FB8: L_08941FC4: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -5383,16 +5384,16 @@ L_08941FC4: L_08941FE4: ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(84))); { const bool branch_taken = ctx.gpr[8] != 0u; - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(80))); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(80))); if (branch_taken) { goto L_08942008; } goto L_08941FF0; } L_08941FF0: - aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), ctx.gpr[7]); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - { const bool branch_taken = ctx.gpr[7] == 0u; + aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_7); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); + { const bool branch_taken = aot_gpr_7 == 0u; // nop if (branch_taken) { goto L_08942024; @@ -5401,14 +5402,14 @@ L_08941FF0: } L_08942000: { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(84), 0u); + aot_mem.aot_direct_store32(aot_gpr_7 + static_cast(84), 0u); if (branch_taken) { goto L_08942024; } goto L_08942008; } L_08942008: - { const bool branch_taken = ctx.gpr[7] != 0u; + { const bool branch_taken = aot_gpr_7 != 0u; // nop if (branch_taken) { goto L_08942018; @@ -5424,7 +5425,7 @@ L_08942010: goto L_08942018; } L_08942018: - aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(84), ctx.gpr[8]); + aot_mem.aot_direct_store32(aot_gpr_7 + static_cast(84), ctx.gpr[8]); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(80))); aot_mem.aot_direct_store32(ctx.gpr[8] + static_cast(80), aot_gpr_4); goto L_08942024; @@ -5433,8 +5434,8 @@ L_08942024: aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(84), 0u); aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(80), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_6); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(80))); - { const bool branch_taken = ctx.gpr[7] == 0u; + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(80))); + { const bool branch_taken = aot_gpr_7 == 0u; // nop if (branch_taken) { goto L_08942044; @@ -5442,7 +5443,7 @@ L_08942024: goto L_08942040; } L_08942040: - aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(84), aot_gpr_6); + aot_mem.aot_direct_store32(aot_gpr_7 + static_cast(84), aot_gpr_6); goto L_08942044; L_08942044: jump_target = aot_gpr_31; @@ -5465,8 +5466,8 @@ L_08942060: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); ctx.gpr[17] = (2234u << 16u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.gpr[17] = (ctx.gpr[17] + static_cast(2224)); { const std::uint32_t aot_run_words[3]{ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(8), aot_run_words); } @@ -5487,7 +5488,7 @@ L_08942098: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (0u | 10u); aot_gpr_31 = (0x089420ACu); - aot_gpr_6 = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 497u, 0x08A05F1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089420ACu) goto L_089420AC; AOT_REGCACHE_SYNC_OUT(); return; L_089420AC: @@ -5516,7 +5517,7 @@ L_089420C0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 501u, 0x08A05F5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089420D4u) goto L_089420D4; AOT_REGCACHE_SYNC_OUT(); return; L_089420D4: - aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(4), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(4), ctx.gpr[16]); { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (ctx.gpr[19] | 0u); if (branch_taken) { @@ -5540,7 +5541,7 @@ L_089420F0: L_089420F4: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -5556,8 +5557,8 @@ L_08942110: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[19]); ctx.gpr[19] = (2234u << 16u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.gpr[19] = (ctx.gpr[19] + static_cast(2224)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); @@ -5569,7 +5570,7 @@ L_08942110: goto L_08942144; L_08942144: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(4))); - { const bool branch_taken = aot_gpr_4 != aot_gpr_16; + { const bool branch_taken = aot_gpr_4 != ctx.gpr[16]; // nop if (branch_taken) { goto L_08942164; @@ -5599,7 +5600,7 @@ L_08942164: L_08942174: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -5615,7 +5616,7 @@ L_08942174: L_08942194: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_4 = (2234u << 16u); - ctx.gpr[7] = (2196u << 16u); + aot_gpr_7 = (2196u << 16u); aot_gpr_5 = (0u | 70u); aot_gpr_6 = (0u | 160u); ctx.gpr[8] = (0u | 0u); @@ -5623,7 +5624,7 @@ L_08942194: aot_gpr_4 = (aot_gpr_4 + static_cast(-8976)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); aot_gpr_31 = (0x089421C0u); - ctx.gpr[7] = (ctx.gpr[7] + static_cast(7176)); + aot_gpr_7 = (aot_gpr_7 + static_cast(7176)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 173u, 0x08B60E20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089421C0u) goto L_089421C0; AOT_REGCACHE_SYNC_OUT(); return; L_089421C0: @@ -5648,11 +5649,11 @@ L_089421CC: ctx.gpr[21] = (ctx.gpr[9] & 255u); ctx.gpr[19] = (aot_gpr_5 | 0u); ctx.gpr[18] = (aot_gpr_6 | 0u); - ctx.gpr[17] = (ctx.gpr[7] | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(116), aot_gpr_16); + ctx.gpr[17] = (aot_gpr_7 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(116), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(144), aot_gpr_31); { const bool branch_taken = ctx.gpr[20] == 0u; - aot_gpr_16 = (ctx.gpr[8] | 0u); + ctx.gpr[16] = (ctx.gpr[8] | 0u); if (branch_taken) { goto L_08942288; } @@ -5725,7 +5726,7 @@ L_08942290: aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(92), 0u); goto L_08942294; L_08942294: - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(3))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(3))); { const bool branch_taken = aot_gpr_5 == 0u; // nop if (branch_taken) { @@ -5734,7 +5735,7 @@ L_08942294: goto L_089422A0; } L_089422A0: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_6 = (ctx.gpr[20] + static_cast(136)); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(0), aot_gpr_5); @@ -6182,7 +6183,7 @@ L_08942660: { std::uint32_t aot_run_words[9]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(112), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); - aot_gpr_16 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[1]; ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; ctx.gpr[19] = aot_run_words[4]; @@ -6200,7 +6201,7 @@ L_08942660: L_0894268C: aot_gpr_29 = (aot_gpr_29 + static_cast(-1296)); aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-1036))); - { const std::uint32_t aot_run_words[16]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(aot_fpr_28), std::bit_cast(ctx.fpr[30]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; + { const std::uint32_t aot_run_words[16]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(aot_fpr_28), std::bit_cast(ctx.fpr[30]), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(1228), aot_run_words); } { const bool branch_taken = aot_gpr_5 != 0u; ctx.gpr[23] = (aot_gpr_4 | 0u); @@ -6237,7 +6238,7 @@ L_089426DC: L_08942728: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[23] + static_cast(144))); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_16 = (ctx.gpr[28] + static_cast(-18160)); + ctx.gpr[16] = (ctx.gpr[28] + static_cast(-18160)); if (branch_taken) { goto L_08942768; } @@ -6259,7 +6260,7 @@ L_08942744: goto L_08942110; L_0894274C: aot_gpr_5 = (ctx.gpr[28] + static_cast(-18152)); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x0894275Cu); aot_gpr_6 = (ctx.gpr[23] | 0u); goto L_08941FE4; @@ -6274,7 +6275,7 @@ L_0894275C: } L_08942768: aot_gpr_5 = (ctx.gpr[28] + static_cast(-18156)); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08942778u); aot_gpr_6 = (ctx.gpr[23] | 0u); goto L_08941FE4; @@ -6317,7 +6318,7 @@ L_089427A8: L_089427B8: aot_gpr_31 = (0x089427C0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089427C0u) goto L_089427C0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089427C0u) goto L_089427C0; AOT_REGCACHE_SYNC_OUT(); return; L_089427C0: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[23] + static_cast(145)))))); @@ -6402,9 +6403,9 @@ L_08942830: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_16 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[16] = (aot_gpr_29 + static_cast(16)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast(132))); @@ -6421,7 +6422,7 @@ L_08942830: aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_gpr_31 = (0x0894287Cu); { const float fs = aot_fpr_20; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[24] = std::bit_cast(0x7FC00000u); else ctx.fpr[24] = fs * ft; } - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894287Cu) goto L_0894287C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894287Cu) goto L_0894287C; AOT_REGCACHE_SYNC_OUT(); return; L_0894287C: ctx.fpr[14] = ctx.fpr[24] - ctx.fpr[22]; @@ -6430,8 +6431,8 @@ L_0894287C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), std::bit_cast(aot_fpr_12)); aot_gpr_6 = (aot_gpr_29 + static_cast(32)); aot_gpr_4 = (0u | 13u); - aot_gpr_5 = (aot_gpr_16 | 0u); - ctx.gpr[7] = (0u | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); + aot_gpr_7 = (0u | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); @@ -6441,7 +6442,7 @@ L_0894287C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0062_entry, 62u, 716u, 0x088FF060u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089428B4u) goto L_089428B4; AOT_REGCACHE_SYNC_OUT(); return; L_089428B4: - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -6450,9 +6451,9 @@ L_089428B4: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_16 = (aot_gpr_29 + static_cast(48)); + ctx.gpr[16] = (aot_gpr_29 + static_cast(48)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (48928u << 16u); @@ -6462,7 +6463,7 @@ L_089428B4: aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_gpr_31 = (0x089428DCu); { const float fs = aot_fpr_20; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[24] = std::bit_cast(0x7FC00000u); else ctx.fpr[24] = fs * ft; } - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089428DCu) goto L_089428DC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089428DCu) goto L_089428DC; AOT_REGCACHE_SYNC_OUT(); return; L_089428DC: ctx.fpr[14] = ctx.fpr[24] - ctx.fpr[22]; @@ -6473,7 +6474,7 @@ L_089428DC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x089428FCu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089428FCu) goto L_089428FC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089428FCu) goto L_089428FC; AOT_REGCACHE_SYNC_OUT(); return; L_089428FC: aot_fpr_12 = ctx.fpr[24] - ctx.fpr[22]; @@ -6486,7 +6487,7 @@ L_089428FC: aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_31 = (0x08942924u); { const float fs = aot_fpr_20; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_20 = std::bit_cast(0x7FC00000u); else aot_fpr_20 = fs * ft; } - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08942924u) goto L_08942924; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08942924u) goto L_08942924; AOT_REGCACHE_SYNC_OUT(); return; L_08942924: ctx.fpr[14] = aot_fpr_20 - ctx.fpr[24]; @@ -6498,8 +6499,8 @@ L_08942924: aot_gpr_6 = (ctx.gpr[23] + static_cast(112)); aot_fpr_12 = std::bit_cast(0u); aot_gpr_4 = (0u | 57u); - aot_gpr_5 = (aot_gpr_16 | 0u); - ctx.gpr[7] = (0u | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); + aot_gpr_7 = (0u | 0u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); @@ -6526,9 +6527,9 @@ L_0894296C: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_16 = (aot_gpr_29 + static_cast(64)); + ctx.gpr[16] = (aot_gpr_29 + static_cast(64)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } ctx.fpr[24] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast(132))); @@ -6549,7 +6550,7 @@ L_0894296C: ctx.fpr[14] = std::bit_cast(aot_gpr_4); aot_gpr_31 = (0x089429C4u); { const float fs = aot_fpr_12; const float ft = ctx.fpr[14]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[22] = std::bit_cast(0x7FC00000u); else ctx.fpr[22] = fs * ft; } - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089429C4u) goto L_089429C4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089429C4u) goto L_089429C4; AOT_REGCACHE_SYNC_OUT(); return; L_089429C4: ctx.fpr[15] = ctx.fpr[22] - aot_fpr_20; @@ -6562,8 +6563,8 @@ L_089429C4: aot_fpr_12 = std::bit_cast(aot_gpr_4); { const float fs = ctx.fpr[24]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_4 = (0u | 13u); - aot_gpr_5 = (aot_gpr_16 | 0u); - ctx.gpr[7] = (0u | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); + aot_gpr_7 = (0u | 0u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); @@ -6587,7 +6588,7 @@ L_08942A08: ctx.fpr[26] = std::bit_cast(0u); goto L_08942A3C; L_08942A3C: - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -6602,7 +6603,7 @@ L_08942A3C: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_31 = (0x08942A4Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08942A4Cu) goto L_08942A4C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08942A4Cu) goto L_08942A4C; AOT_REGCACHE_SYNC_OUT(); return; L_08942A4C: aot_fpr_12 = ctx.fpr[22] - aot_fpr_20; @@ -6613,7 +6614,7 @@ L_08942A4C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(96), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08942A6Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08942A6Cu) goto L_08942A6C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08942A6Cu) goto L_08942A6C; AOT_REGCACHE_SYNC_OUT(); return; L_08942A6C: aot_fpr_12 = ctx.fpr[22] - aot_fpr_20; @@ -6624,7 +6625,7 @@ L_08942A6C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(100), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08942A8Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08942A8Cu) goto L_08942A8C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08942A8Cu) goto L_08942A8C; AOT_REGCACHE_SYNC_OUT(); return; L_08942A8C: aot_fpr_12 = ctx.fpr[24] - ctx.fpr[22]; @@ -6636,7 +6637,7 @@ L_08942A8C: aot_gpr_4 = (0u | 57u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_6 = (ctx.gpr[19] | 0u); - ctx.gpr[7] = (0u | 0u); + aot_gpr_7 = (0u | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[26])); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); @@ -6665,7 +6666,7 @@ L_08942ADC: } L_08942AE4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast(88))); - aot_gpr_16 = (ctx.gpr[23] + static_cast(48)); + ctx.gpr[16] = (ctx.gpr[23] + static_cast(48)); { const bool branch_taken = aot_gpr_4 != 0u; ctx.gpr[17] = (ctx.gpr[23] + static_cast(112)); if (branch_taken) { @@ -6675,7 +6676,7 @@ L_08942AE4: } L_08942AF4: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1152), ctx.gpr[23]); - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -6712,7 +6713,7 @@ L_08942AF4: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (0u | 40u); - ctx.gpr[7] = (0u | 0u); + aot_gpr_7 = (0u | 0u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); @@ -6731,7 +6732,7 @@ L_08942B4C: } L_08942B58: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1152), ctx.gpr[23]); - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -6740,9 +6741,9 @@ L_08942B58: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_16 = (aot_gpr_29 + static_cast(144)); + ctx.gpr[16] = (aot_gpr_29 + static_cast(144)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast(132))); @@ -6800,7 +6801,7 @@ L_08942BC0: ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(176))); aot_gpr_31 = (0x08942BCCu); ctx.fpr[24] = std::bit_cast(std::bit_cast(ctx.fpr[22]) ^ 0x80000000u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08942BCCu) goto L_08942BCC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08942BCCu) goto L_08942BCC; AOT_REGCACHE_SYNC_OUT(); return; L_08942BCC: aot_fpr_12 = ctx.fpr[22] - ctx.fpr[24]; @@ -6812,7 +6813,7 @@ L_08942BCC: aot_fpr_12 = aot_fpr_13 + aot_fpr_12; aot_gpr_31 = (0x08942BF0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(160), std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08942BF0u) goto L_08942BF0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08942BF0u) goto L_08942BF0; AOT_REGCACHE_SYNC_OUT(); return; L_08942BF0: aot_fpr_12 = ctx.fpr[26] - aot_fpr_28; @@ -6824,7 +6825,7 @@ L_08942BF0: aot_fpr_12 = ctx.fpr[14] + aot_fpr_12; aot_gpr_31 = (0x08942C14u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(164), std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08942C14u) goto L_08942C14; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08942C14u) goto L_08942C14; AOT_REGCACHE_SYNC_OUT(); return; L_08942C14: aot_fpr_12 = ctx.fpr[22] - ctx.fpr[24]; @@ -6833,20 +6834,20 @@ L_08942C14: aot_gpr_5 = (0u | 80u); { const float fs = aot_fpr_12; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_6 = (0u | 80u); - ctx.gpr[7] = (0u | 80u); + aot_gpr_7 = (0u | 80u); ctx.gpr[8] = (0u | 255u); aot_fpr_12 = ctx.fpr[24] + aot_fpr_12; aot_fpr_12 = aot_fpr_13 + aot_fpr_12; aot_gpr_31 = (0x08942C44u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(168), std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08942C44u) goto L_08942C44; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08942C44u) goto L_08942C44; AOT_REGCACHE_SYNC_OUT(); return; L_08942C44: aot_gpr_4 = (0u | 58u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_6 = (ctx.gpr[17] | 0u); - ctx.gpr[7] = (0u | 0u); + aot_gpr_7 = (0u | 0u); ctx.gpr[8] = (ctx.gpr[2] | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); @@ -6917,7 +6918,7 @@ L_08942C9C: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (0u | 40u); - ctx.gpr[7] = (0u | 0u); + aot_gpr_7 = (0u | 0u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); @@ -6946,9 +6947,9 @@ L_08942CE8: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_16 = (aot_gpr_29 + static_cast(240)); + ctx.gpr[16] = (aot_gpr_29 + static_cast(240)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(132))); @@ -7001,9 +7002,9 @@ L_08942CE8: L_08942D4C: aot_gpr_4 = (0u | 58u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_6 = (ctx.gpr[17] | 0u); - ctx.gpr[7] = (0u | 0u); + aot_gpr_7 = (0u | 0u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); @@ -7046,7 +7047,7 @@ L_08942DA8: ctx.gpr[30] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1152))); aot_fpr_20 = std::bit_cast(0u); ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-18132))); - aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-18136))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-18136))); ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-18124))); ctx.gpr[21] = (aot_gpr_29 + static_cast(272)); ctx.gpr[22] = (ctx.gpr[30] + static_cast(112)); @@ -7081,7 +7082,7 @@ L_08942DE8: ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[30] + static_cast(128))); aot_gpr_31 = (0x08942DF4u); ctx.fpr[24] = std::bit_cast(std::bit_cast(ctx.fpr[22]) ^ 0x80000000u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08942DF4u) goto L_08942DF4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08942DF4u) goto L_08942DF4; AOT_REGCACHE_SYNC_OUT(); return; L_08942DF4: aot_fpr_12 = ctx.fpr[22] - ctx.fpr[24]; @@ -7106,7 +7107,7 @@ L_08942E20: ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[30] + static_cast(128))); aot_gpr_31 = (0x08942E2Cu); ctx.fpr[24] = std::bit_cast(std::bit_cast(ctx.fpr[22]) ^ 0x80000000u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08942E2Cu) goto L_08942E2C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08942E2Cu) goto L_08942E2C; AOT_REGCACHE_SYNC_OUT(); return; L_08942E2C: aot_fpr_12 = ctx.fpr[22] - ctx.fpr[24]; @@ -7131,7 +7132,7 @@ L_08942E58: ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[30] + static_cast(128))); aot_gpr_31 = (0x08942E64u); ctx.fpr[24] = std::bit_cast(std::bit_cast(ctx.fpr[22]) ^ 0x80000000u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08942E64u) goto L_08942E64; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08942E64u) goto L_08942E64; AOT_REGCACHE_SYNC_OUT(); return; L_08942E64: aot_fpr_12 = ctx.fpr[22] - ctx.fpr[24]; @@ -7146,15 +7147,15 @@ L_08942E7C: ctx.gpr[22] = (aot_mem.aot_direct_load32(ctx.gpr[30] + static_cast(100))); aot_gpr_31 = (0x08942E8Cu); ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[30] + static_cast(132))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08942E8Cu) goto L_08942E8C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08942E8Cu) goto L_08942E8C; AOT_REGCACHE_SYNC_OUT(); return; L_08942E8C: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_5 = (0u | 0u); - ctx.gpr[7] = (ctx.gpr[17] | 0u); + aot_gpr_7 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08942EA0u); - aot_gpr_6 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08942EA0u) goto L_08942EA0; + aot_gpr_6 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08942EA0u) goto L_08942EA0; AOT_REGCACHE_SYNC_OUT(); return; L_08942EA0: ctx.gpr[1] = (ctx.gpr[3] << 1u); @@ -7163,15 +7164,15 @@ L_08942EA0: aot_gpr_4 = (ctx.gpr[1] | aot_gpr_4); aot_gpr_6 = (aot_gpr_4 + ctx.gpr[18]); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[22])); - ctx.gpr[7] = (aot_gpr_6 < ctx.gpr[18] ? 1u : 0u); - aot_gpr_4 = (ctx.gpr[7] + aot_gpr_5); + aot_gpr_7 = (aot_gpr_6 < ctx.gpr[18] ? 1u : 0u); + aot_gpr_4 = (aot_gpr_7 + aot_gpr_5); aot_gpr_5 = (aot_gpr_4 + ctx.gpr[19]); aot_gpr_4 = (aot_gpr_6 | 0u); ctx.gpr[8] = (aot_gpr_4 | 0u); aot_gpr_4 = (ctx.gpr[22] | 0u); aot_gpr_5 = (ctx.gpr[23] | 0u); aot_gpr_6 = (ctx.gpr[21] | 0u); - ctx.gpr[7] = (0u | 0u); + aot_gpr_7 = (0u | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); aot_gpr_31 = (0x08942EECu); @@ -7258,7 +7259,7 @@ L_08942F08: aot_gpr_4 = (aot_gpr_4 | 52429u); ctx.fpr[30] = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1164), ctx.gpr[23]); - aot_gpr_16 = (aot_gpr_29 + static_cast(352)); + ctx.gpr[16] = (aot_gpr_29 + static_cast(352)); ctx.gpr[20] = (aot_gpr_29 + static_cast(336)); ctx.gpr[17] = (aot_gpr_29 + static_cast(368)); ctx.gpr[19] = (aot_gpr_29 + static_cast(288)); @@ -7273,7 +7274,7 @@ L_08942FBC: aot_fpr_28 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast(0))); aot_gpr_31 = (0x08942FD4u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08942FD4u) goto L_08942FD4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08942FD4u) goto L_08942FD4; AOT_REGCACHE_SYNC_OUT(); return; L_08942FD4: aot_fpr_12 = ctx.fpr[30] - aot_fpr_20; @@ -7292,7 +7293,7 @@ L_08942FD4: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (16192u << 16u); @@ -7306,7 +7307,7 @@ L_08942FD4: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1208), std::bit_cast(ctx.fpr[30])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(344), std::bit_cast(aot_fpr_20)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1204), std::bit_cast(aot_fpr_20)); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x0894302Cu); aot_gpr_5 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894302Cu) goto L_0894302C; @@ -7336,7 +7337,7 @@ L_0894302C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(372), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08943060u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08943060u) goto L_08943060; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08943060u) goto L_08943060; AOT_REGCACHE_SYNC_OUT(); return; L_08943060: aot_fpr_28 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1180))); @@ -7347,9 +7348,9 @@ L_08943060: aot_fpr_12 = aot_fpr_13 + aot_fpr_12; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(376), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (0u | 66u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_6 = (ctx.gpr[17] | 0u); - ctx.gpr[7] = (0u | 0u); + aot_gpr_7 = (0u | 0u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1188))); ctx.gpr[8] = (ctx.gpr[19] | 0u); ctx.gpr[9] = (0u | 0u); @@ -7362,7 +7363,7 @@ L_08943060: L_089430A8: aot_gpr_31 = (0x089430B0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089430B0u) goto L_089430B0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089430B0u) goto L_089430B0; AOT_REGCACHE_SYNC_OUT(); return; L_089430B0: aot_gpr_4 = (16128u << 16u); @@ -7373,9 +7374,9 @@ L_089430B0: { const float fs = aot_fpr_12; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = aot_fpr_20 + aot_fpr_12; aot_gpr_4 = (0u | 44u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_6 = (ctx.gpr[17] | 0u); - ctx.gpr[7] = (0u | 0u); + aot_gpr_7 = (0u | 0u); ctx.gpr[8] = (ctx.gpr[22] | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); @@ -7387,7 +7388,7 @@ L_089430B0: L_089430F4: aot_gpr_31 = (0x089430FCu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089430FCu) goto L_089430FC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089430FCu) goto L_089430FC; AOT_REGCACHE_SYNC_OUT(); return; L_089430FC: ctx.fpr[30] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1184))); @@ -7404,7 +7405,7 @@ L_089430FC: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1192))); @@ -7415,7 +7416,7 @@ L_089430FC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1188), std::bit_cast(aot_fpr_20)); aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1204))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(344), std::bit_cast(aot_fpr_20)); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08943140u); aot_gpr_5 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08943140u) goto L_08943140; @@ -7444,7 +7445,7 @@ L_08943140: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(372), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08943170u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08943170u) goto L_08943170; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08943170u) goto L_08943170; AOT_REGCACHE_SYNC_OUT(); return; L_08943170: aot_fpr_28 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1180))); @@ -7455,9 +7456,9 @@ L_08943170: aot_fpr_12 = aot_fpr_13 + aot_fpr_12; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(376), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (0u | 66u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_6 = (ctx.gpr[17] | 0u); - ctx.gpr[7] = (0u | 0u); + aot_gpr_7 = (0u | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[30])); ctx.gpr[8] = (ctx.gpr[19] | 0u); ctx.gpr[9] = (0u | 0u); @@ -7470,7 +7471,7 @@ L_08943170: L_089431B8: aot_gpr_31 = (0x089431C0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089431C0u) goto L_089431C0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089431C0u) goto L_089431C0; AOT_REGCACHE_SYNC_OUT(); return; L_089431C0: aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1196))); @@ -7479,9 +7480,9 @@ L_089431C0: { const float fs = aot_fpr_12; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = aot_fpr_20 + aot_fpr_12; aot_gpr_4 = (0u | 44u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_6 = (ctx.gpr[17] | 0u); - ctx.gpr[7] = (0u | 0u); + aot_gpr_7 = (0u | 0u); ctx.gpr[8] = (ctx.gpr[22] | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); @@ -7493,7 +7494,7 @@ L_089431C0: L_089431FC: aot_gpr_31 = (0x08943204u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08943204u) goto L_08943204; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08943204u) goto L_08943204; AOT_REGCACHE_SYNC_OUT(); return; L_08943204: ctx.fpr[30] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1184))); @@ -7510,7 +7511,7 @@ L_08943204: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1192))); @@ -7521,7 +7522,7 @@ L_08943204: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(340), std::bit_cast(ctx.fpr[14])); aot_fpr_28 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1204))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(344), std::bit_cast(aot_fpr_28)); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08943248u); aot_gpr_5 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08943248u) goto L_08943248; @@ -7549,7 +7550,7 @@ L_08943248: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(372), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08943274u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08943274u) goto L_08943274; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08943274u) goto L_08943274; AOT_REGCACHE_SYNC_OUT(); return; L_08943274: aot_fpr_28 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1180))); @@ -7560,9 +7561,9 @@ L_08943274: aot_fpr_12 = aot_fpr_13 + aot_fpr_12; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(376), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (0u | 66u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_6 = (ctx.gpr[17] | 0u); - ctx.gpr[7] = (0u | 0u); + aot_gpr_7 = (0u | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[30])); ctx.gpr[8] = (ctx.gpr[19] | 0u); ctx.gpr[9] = (0u | 0u); @@ -7575,7 +7576,7 @@ L_08943274: L_089432BC: aot_gpr_31 = (0x089432C4u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089432C4u) goto L_089432C4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089432C4u) goto L_089432C4; AOT_REGCACHE_SYNC_OUT(); return; L_089432C4: ctx.fpr[26] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1212))); @@ -7583,9 +7584,9 @@ L_089432C4: { const float fs = aot_fpr_12; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = aot_fpr_20 + aot_fpr_12; aot_gpr_4 = (0u | 44u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_6 = (ctx.gpr[17] | 0u); - ctx.gpr[7] = (0u | 0u); + aot_gpr_7 = (0u | 0u); ctx.gpr[8] = (ctx.gpr[22] | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); @@ -7597,7 +7598,7 @@ L_089432C4: L_089432FC: aot_gpr_31 = (0x08943304u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08943304u) goto L_08943304; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08943304u) goto L_08943304; AOT_REGCACHE_SYNC_OUT(); return; L_08943304: ctx.fpr[30] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1184))); @@ -7614,7 +7615,7 @@ L_08943304: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1220))); @@ -7623,7 +7624,7 @@ L_08943304: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(340), std::bit_cast(aot_fpr_13)); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1204))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(344), std::bit_cast(aot_fpr_13)); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08943340u); aot_gpr_5 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08943340u) goto L_08943340; @@ -7651,7 +7652,7 @@ L_08943340: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(372), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x0894336Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894336Cu) goto L_0894336C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894336Cu) goto L_0894336C; AOT_REGCACHE_SYNC_OUT(); return; L_0894336C: aot_fpr_12 = aot_fpr_28 - ctx.fpr[22]; @@ -7661,9 +7662,9 @@ L_0894336C: aot_fpr_12 = ctx.fpr[14] + aot_fpr_12; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(376), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (0u | 66u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_6 = (ctx.gpr[17] | 0u); - ctx.gpr[7] = (0u | 0u); + aot_gpr_7 = (0u | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[30])); ctx.gpr[8] = (ctx.gpr[19] | 0u); ctx.gpr[9] = (0u | 0u); @@ -7676,16 +7677,16 @@ L_0894336C: L_089433B0: aot_gpr_31 = (0x089433B8u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089433B8u) goto L_089433B8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089433B8u) goto L_089433B8; AOT_REGCACHE_SYNC_OUT(); return; L_089433B8: aot_fpr_12 = ctx.fpr[26] - aot_fpr_20; { const float fs = aot_fpr_12; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = aot_fpr_20 + aot_fpr_12; aot_gpr_4 = (0u | 44u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_6 = (ctx.gpr[17] | 0u); - ctx.gpr[7] = (0u | 0u); + aot_gpr_7 = (0u | 0u); ctx.gpr[8] = (ctx.gpr[22] | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); @@ -7723,7 +7724,7 @@ L_08943414: ctx.gpr[17] = (aot_gpr_29 + static_cast(400)); ctx.fpr[30] = std::bit_cast(aot_gpr_4); ctx.gpr[18] = (aot_gpr_29 + static_cast(384)); - aot_gpr_16 = (aot_gpr_29 + static_cast(416)); + ctx.gpr[16] = (aot_gpr_29 + static_cast(416)); ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1164))); ctx.gpr[19] = (aot_gpr_29 + static_cast(432)); goto L_08943450; @@ -7734,7 +7735,7 @@ L_08943450: ctx.fpr[26] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(720))); aot_gpr_31 = (0x08943468u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1184), std::bit_cast(ctx.fpr[26])); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08943468u) goto L_08943468; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08943468u) goto L_08943468; AOT_REGCACHE_SYNC_OUT(); return; L_08943468: aot_gpr_4 = (16256u << 16u); @@ -7788,12 +7789,12 @@ L_08943468: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_31 = (0x089434D0u); aot_fpr_28 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(320))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089434D0u) goto L_089434D0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089434D0u) goto L_089434D0; AOT_REGCACHE_SYNC_OUT(); return; L_089434D0: aot_fpr_12 = ctx.fpr[24] - aot_fpr_20; @@ -7805,7 +7806,7 @@ L_089434D0: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(432), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x089434F4u); aot_fpr_28 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(324))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089434F4u) goto L_089434F4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089434F4u) goto L_089434F4; AOT_REGCACHE_SYNC_OUT(); return; L_089434F4: aot_fpr_12 = ctx.fpr[24] - aot_fpr_20; @@ -7816,7 +7817,7 @@ L_089434F4: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(436), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08943514u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08943514u) goto L_08943514; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08943514u) goto L_08943514; AOT_REGCACHE_SYNC_OUT(); return; L_08943514: ctx.fpr[26] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1200))); @@ -7827,9 +7828,9 @@ L_08943514: aot_fpr_12 = aot_fpr_13 + aot_fpr_12; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(440), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (0u | 44u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_6 = (ctx.gpr[19] | 0u); - ctx.gpr[7] = (0u | 0u); + aot_gpr_7 = (0u | 0u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1176))); ctx.gpr[8] = (ctx.gpr[22] | 0u); ctx.gpr[9] = (0u | 0u); @@ -7842,7 +7843,7 @@ L_08943514: L_0894355C: aot_gpr_31 = (0x08943564u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08943564u) goto L_08943564; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08943564u) goto L_08943564; AOT_REGCACHE_SYNC_OUT(); return; L_08943564: ctx.fpr[30] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1180))); @@ -7891,12 +7892,12 @@ L_08943564: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_31 = (0x089435B8u); ctx.fpr[30] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(320))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089435B8u) goto L_089435B8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089435B8u) goto L_089435B8; AOT_REGCACHE_SYNC_OUT(); return; L_089435B8: aot_fpr_12 = ctx.fpr[24] - aot_fpr_20; @@ -7908,7 +7909,7 @@ L_089435B8: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(432), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x089435DCu); ctx.fpr[30] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(324))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089435DCu) goto L_089435DC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089435DCu) goto L_089435DC; AOT_REGCACHE_SYNC_OUT(); return; L_089435DC: aot_fpr_12 = ctx.fpr[24] - aot_fpr_20; @@ -7921,7 +7922,7 @@ L_089435DC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(436), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08943604u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08943604u) goto L_08943604; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08943604u) goto L_08943604; AOT_REGCACHE_SYNC_OUT(); return; L_08943604: aot_fpr_12 = ctx.fpr[24] - ctx.fpr[26]; @@ -7931,9 +7932,9 @@ L_08943604: aot_fpr_12 = aot_fpr_13 + aot_fpr_12; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(440), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (0u | 44u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_6 = (ctx.gpr[19] | 0u); - ctx.gpr[7] = (0u | 0u); + aot_gpr_7 = (0u | 0u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1176))); ctx.gpr[8] = (ctx.gpr[22] | 0u); ctx.gpr[9] = (0u | 0u); @@ -7946,7 +7947,7 @@ L_08943604: L_08943648: aot_gpr_31 = (0x08943650u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08943650u) goto L_08943650; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08943650u) goto L_08943650; AOT_REGCACHE_SYNC_OUT(); return; L_08943650: ctx.fpr[30] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1180))); @@ -7995,12 +7996,12 @@ L_08943650: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_31 = (0x089436A4u); aot_fpr_28 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(320))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089436A4u) goto L_089436A4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089436A4u) goto L_089436A4; AOT_REGCACHE_SYNC_OUT(); return; L_089436A4: aot_fpr_12 = ctx.fpr[24] - aot_fpr_20; @@ -8013,7 +8014,7 @@ L_089436A4: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(432), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x089436CCu); aot_fpr_28 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(324))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089436CCu) goto L_089436CC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089436CCu) goto L_089436CC; AOT_REGCACHE_SYNC_OUT(); return; L_089436CC: aot_fpr_12 = ctx.fpr[24] - aot_fpr_20; @@ -8025,7 +8026,7 @@ L_089436CC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(436), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x089436F0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089436F0u) goto L_089436F0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089436F0u) goto L_089436F0; AOT_REGCACHE_SYNC_OUT(); return; L_089436F0: aot_fpr_12 = ctx.fpr[24] - ctx.fpr[26]; @@ -8035,9 +8036,9 @@ L_089436F0: aot_fpr_12 = aot_fpr_13 + aot_fpr_12; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(440), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (0u | 44u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_6 = (ctx.gpr[19] | 0u); - ctx.gpr[7] = (0u | 0u); + aot_gpr_7 = (0u | 0u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1208))); ctx.gpr[8] = (ctx.gpr[22] | 0u); ctx.gpr[9] = (0u | 0u); @@ -8050,7 +8051,7 @@ L_089436F0: L_08943734: aot_gpr_31 = (0x0894373Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894373Cu) goto L_0894373C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894373Cu) goto L_0894373C; AOT_REGCACHE_SYNC_OUT(); return; L_0894373C: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1180))); @@ -8097,12 +8098,12 @@ L_0894373C: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_31 = (0x08943788u); aot_fpr_28 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(320))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08943788u) goto L_08943788; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08943788u) goto L_08943788; AOT_REGCACHE_SYNC_OUT(); return; L_08943788: aot_fpr_12 = ctx.fpr[24] - aot_fpr_20; @@ -8115,7 +8116,7 @@ L_08943788: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(432), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x089437B0u); aot_fpr_28 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(324))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089437B0u) goto L_089437B0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089437B0u) goto L_089437B0; AOT_REGCACHE_SYNC_OUT(); return; L_089437B0: aot_fpr_12 = ctx.fpr[24] - aot_fpr_20; @@ -8127,7 +8128,7 @@ L_089437B0: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(436), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x089437D4u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089437D4u) goto L_089437D4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089437D4u) goto L_089437D4; AOT_REGCACHE_SYNC_OUT(); return; L_089437D4: aot_fpr_12 = ctx.fpr[24] - ctx.fpr[26]; @@ -8137,9 +8138,9 @@ L_089437D4: aot_fpr_12 = aot_fpr_13 + aot_fpr_12; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(440), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (0u | 44u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_6 = (ctx.gpr[19] | 0u); - ctx.gpr[7] = (0u | 0u); + aot_gpr_7 = (0u | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[22])); ctx.gpr[8] = (ctx.gpr[22] | 0u); ctx.gpr[9] = (0u | 0u); @@ -8221,7 +8222,7 @@ L_08943840: aot_gpr_4 = (16416u << 16u); aot_gpr_31 = (0x089438ACu); ctx.fpr[24] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089438ACu) goto L_089438AC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089438ACu) goto L_089438AC; AOT_REGCACHE_SYNC_OUT(); return; L_089438AC: aot_fpr_12 = ctx.fpr[24] - aot_fpr_28; @@ -8234,7 +8235,7 @@ L_089438AC: aot_gpr_4 = (2247u << 16u); ctx.gpr[23] = (aot_gpr_4 + static_cast(-12320)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1168), ctx.gpr[30]); - aot_gpr_16 = (aot_gpr_29 + static_cast(512)); + ctx.gpr[16] = (aot_gpr_29 + static_cast(512)); ctx.fpr[24] = std::bit_cast(0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1164), ctx.gpr[23]); ctx.gpr[20] = (aot_gpr_29 + static_cast(496)); @@ -8261,7 +8262,7 @@ L_089438FC: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (16384u << 16u); @@ -8274,7 +8275,7 @@ L_089438FC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1200), std::bit_cast(ctx.fpr[30])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(504), std::bit_cast(ctx.fpr[24])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1184), std::bit_cast(ctx.fpr[24])); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x0894394Cu); aot_gpr_5 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894394Cu) goto L_0894394C; @@ -8295,7 +8296,7 @@ L_0894394C: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_31 = (0x0894395Cu); ctx.fpr[30] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(528))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894395Cu) goto L_0894395C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894395Cu) goto L_0894395C; AOT_REGCACHE_SYNC_OUT(); return; L_0894395C: aot_fpr_13 = ctx.fpr[26] - aot_fpr_20; @@ -8307,7 +8308,7 @@ L_0894395C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(528), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08943980u); ctx.fpr[30] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(532))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08943980u) goto L_08943980; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08943980u) goto L_08943980; AOT_REGCACHE_SYNC_OUT(); return; L_08943980: aot_fpr_12 = ctx.fpr[26] - aot_fpr_20; @@ -8319,7 +8320,7 @@ L_08943980: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(532), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x089439A4u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089439A4u) goto L_089439A4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089439A4u) goto L_089439A4; AOT_REGCACHE_SYNC_OUT(); return; L_089439A4: aot_gpr_4 = (15605u << 16u); @@ -8332,9 +8333,9 @@ L_089439A4: aot_fpr_12 = aot_fpr_13 + aot_fpr_12; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(536), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (0u | 66u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_6 = (ctx.gpr[17] | 0u); - ctx.gpr[7] = (0u | 0u); + aot_gpr_7 = (0u | 0u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1224))); ctx.gpr[8] = (ctx.gpr[19] | 0u); ctx.gpr[9] = (0u | 0u); @@ -8346,9 +8347,9 @@ L_089439A4: AOT_REGCACHE_SYNC_OUT(); return; L_089439F4: aot_gpr_4 = (0u | 44u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_6 = (ctx.gpr[17] | 0u); - ctx.gpr[7] = (0u | 0u); + aot_gpr_7 = (0u | 0u); ctx.fpr[24] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1184))); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[24])); ctx.gpr[8] = (ctx.gpr[22] | 0u); @@ -8370,7 +8371,7 @@ L_08943A24: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_28 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1216))); @@ -8380,7 +8381,7 @@ L_08943A24: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(500), std::bit_cast(aot_fpr_28)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1220), std::bit_cast(aot_fpr_28)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(504), std::bit_cast(ctx.fpr[24])); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08943A54u); aot_gpr_5 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08943A54u) goto L_08943A54; @@ -8401,7 +8402,7 @@ L_08943A54: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_31 = (0x08943A64u); aot_fpr_28 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(528))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08943A64u) goto L_08943A64; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08943A64u) goto L_08943A64; AOT_REGCACHE_SYNC_OUT(); return; L_08943A64: aot_fpr_12 = ctx.fpr[26] - aot_fpr_20; @@ -8413,7 +8414,7 @@ L_08943A64: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(528), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08943A88u); aot_fpr_28 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(532))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08943A88u) goto L_08943A88; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08943A88u) goto L_08943A88; AOT_REGCACHE_SYNC_OUT(); return; L_08943A88: aot_fpr_12 = ctx.fpr[26] - aot_fpr_20; @@ -8426,7 +8427,7 @@ L_08943A88: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(532), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08943AB0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08943AB0u) goto L_08943AB0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08943AB0u) goto L_08943AB0; AOT_REGCACHE_SYNC_OUT(); return; L_08943AB0: aot_fpr_12 = ctx.fpr[30] - ctx.fpr[22]; @@ -8436,9 +8437,9 @@ L_08943AB0: aot_fpr_12 = aot_fpr_13 + aot_fpr_12; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(536), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (0u | 66u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_6 = (ctx.gpr[17] | 0u); - ctx.gpr[7] = (0u | 0u); + aot_gpr_7 = (0u | 0u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1224))); ctx.gpr[8] = (ctx.gpr[19] | 0u); ctx.gpr[9] = (0u | 0u); @@ -8450,9 +8451,9 @@ L_08943AB0: AOT_REGCACHE_SYNC_OUT(); return; L_08943AF4: aot_gpr_4 = (0u | 44u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_6 = (ctx.gpr[17] | 0u); - ctx.gpr[7] = (0u | 0u); + aot_gpr_7 = (0u | 0u); ctx.fpr[24] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1184))); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[24])); ctx.gpr[8] = (ctx.gpr[22] | 0u); @@ -8474,7 +8475,7 @@ L_08943B24: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1216))); @@ -8484,7 +8485,7 @@ L_08943B24: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1200))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(500), std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(504), std::bit_cast(ctx.fpr[24])); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08943B54u); aot_gpr_5 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08943B54u) goto L_08943B54; @@ -8505,7 +8506,7 @@ L_08943B54: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_31 = (0x08943B64u); ctx.fpr[24] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(528))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08943B64u) goto L_08943B64; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08943B64u) goto L_08943B64; AOT_REGCACHE_SYNC_OUT(); return; L_08943B64: aot_fpr_12 = ctx.fpr[26] - aot_fpr_20; @@ -8518,7 +8519,7 @@ L_08943B64: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(528), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08943B8Cu); ctx.fpr[24] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(532))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08943B8Cu) goto L_08943B8C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08943B8Cu) goto L_08943B8C; AOT_REGCACHE_SYNC_OUT(); return; L_08943B8C: aot_fpr_12 = ctx.fpr[26] - aot_fpr_20; @@ -8530,7 +8531,7 @@ L_08943B8C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(532), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08943BB0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08943BB0u) goto L_08943BB0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08943BB0u) goto L_08943BB0; AOT_REGCACHE_SYNC_OUT(); return; L_08943BB0: aot_fpr_12 = ctx.fpr[30] - ctx.fpr[22]; @@ -8540,9 +8541,9 @@ L_08943BB0: aot_fpr_12 = aot_fpr_13 + aot_fpr_12; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(536), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (0u | 66u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_6 = (ctx.gpr[17] | 0u); - ctx.gpr[7] = (0u | 0u); + aot_gpr_7 = (0u | 0u); aot_fpr_28 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1224))); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_28)); ctx.gpr[8] = (ctx.gpr[19] | 0u); @@ -8555,9 +8556,9 @@ L_08943BB0: AOT_REGCACHE_SYNC_OUT(); return; L_08943BF8: aot_gpr_4 = (0u | 44u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_6 = (ctx.gpr[17] | 0u); - ctx.gpr[7] = (0u | 0u); + aot_gpr_7 = (0u | 0u); ctx.fpr[24] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1184))); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[24])); ctx.gpr[8] = (ctx.gpr[22] | 0u); @@ -8579,7 +8580,7 @@ L_08943C28: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1176))); @@ -8587,7 +8588,7 @@ L_08943C28: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1220))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(500), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(504), std::bit_cast(ctx.fpr[24])); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08943C50u); aot_gpr_5 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08943C50u) goto L_08943C50; @@ -8608,7 +8609,7 @@ L_08943C50: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_31 = (0x08943C60u); ctx.fpr[24] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(528))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08943C60u) goto L_08943C60; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08943C60u) goto L_08943C60; AOT_REGCACHE_SYNC_OUT(); return; L_08943C60: aot_fpr_12 = ctx.fpr[26] - aot_fpr_20; @@ -8621,7 +8622,7 @@ L_08943C60: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(528), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08943C88u); ctx.fpr[24] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(532))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08943C88u) goto L_08943C88; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08943C88u) goto L_08943C88; AOT_REGCACHE_SYNC_OUT(); return; L_08943C88: aot_fpr_12 = ctx.fpr[26] - aot_fpr_20; @@ -8634,7 +8635,7 @@ L_08943C88: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(532), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08943CB0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08943CB0u) goto L_08943CB0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08943CB0u) goto L_08943CB0; AOT_REGCACHE_SYNC_OUT(); return; L_08943CB0: aot_fpr_12 = ctx.fpr[30] - ctx.fpr[22]; @@ -8644,9 +8645,9 @@ L_08943CB0: aot_fpr_12 = ctx.fpr[14] + aot_fpr_12; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(536), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (0u | 66u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_6 = (ctx.gpr[17] | 0u); - ctx.gpr[7] = (0u | 0u); + aot_gpr_7 = (0u | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_28)); ctx.gpr[8] = (ctx.gpr[19] | 0u); ctx.gpr[9] = (0u | 0u); @@ -8658,9 +8659,9 @@ L_08943CB0: AOT_REGCACHE_SYNC_OUT(); return; L_08943CF4: aot_gpr_4 = (0u | 44u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_6 = (ctx.gpr[17] | 0u); - ctx.gpr[7] = (0u | 0u); + aot_gpr_7 = (0u | 0u); ctx.fpr[24] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1184))); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[24])); ctx.gpr[8] = (ctx.gpr[22] | 0u); @@ -8702,7 +8703,7 @@ L_08943D44: aot_gpr_4 = (16288u << 16u); ctx.gpr[18] = (aot_gpr_29 + static_cast(544)); aot_fpr_28 = std::bit_cast(aot_gpr_4); - aot_gpr_16 = (aot_gpr_29 + static_cast(576)); + ctx.gpr[16] = (aot_gpr_29 + static_cast(576)); ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1164))); ctx.gpr[19] = (aot_gpr_29 + static_cast(592)); goto L_08943D90; @@ -8753,12 +8754,12 @@ L_08943D90: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_31 = (0x08943DE4u); aot_fpr_28 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(480))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08943DE4u) goto L_08943DE4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08943DE4u) goto L_08943DE4; AOT_REGCACHE_SYNC_OUT(); return; L_08943DE4: aot_fpr_12 = ctx.fpr[30] - aot_fpr_20; @@ -8770,7 +8771,7 @@ L_08943DE4: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(592), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08943E08u); aot_fpr_28 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(484))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08943E08u) goto L_08943E08; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08943E08u) goto L_08943E08; AOT_REGCACHE_SYNC_OUT(); return; L_08943E08: aot_fpr_12 = ctx.fpr[30] - aot_fpr_20; @@ -8782,7 +8783,7 @@ L_08943E08: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(596), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08943E2Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08943E2Cu) goto L_08943E2C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08943E2Cu) goto L_08943E2C; AOT_REGCACHE_SYNC_OUT(); return; L_08943E2C: ctx.fpr[26] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1184))); @@ -8793,9 +8794,9 @@ L_08943E2C: aot_fpr_12 = aot_fpr_13 + aot_fpr_12; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(600), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (0u | 44u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_6 = (ctx.gpr[19] | 0u); - ctx.gpr[7] = (0u | 0u); + aot_gpr_7 = (0u | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[24])); ctx.gpr[8] = (ctx.gpr[22] | 0u); ctx.gpr[9] = (0u | 0u); @@ -8846,12 +8847,12 @@ L_08943E74: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_31 = (0x08943EB0u); aot_fpr_28 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(480))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08943EB0u) goto L_08943EB0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08943EB0u) goto L_08943EB0; AOT_REGCACHE_SYNC_OUT(); return; L_08943EB0: aot_fpr_12 = ctx.fpr[30] - aot_fpr_20; @@ -8863,7 +8864,7 @@ L_08943EB0: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(592), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08943ED4u); aot_fpr_28 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(484))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08943ED4u) goto L_08943ED4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08943ED4u) goto L_08943ED4; AOT_REGCACHE_SYNC_OUT(); return; L_08943ED4: aot_fpr_12 = ctx.fpr[30] - aot_fpr_20; @@ -8876,7 +8877,7 @@ L_08943ED4: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(596), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08943EFCu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08943EFCu) goto L_08943EFC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08943EFCu) goto L_08943EFC; AOT_REGCACHE_SYNC_OUT(); return; L_08943EFC: ctx.fpr[26] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1184))); @@ -8887,9 +8888,9 @@ L_08943EFC: aot_fpr_12 = aot_fpr_13 + aot_fpr_12; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(600), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (0u | 44u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_6 = (ctx.gpr[19] | 0u); - ctx.gpr[7] = (0u | 0u); + aot_gpr_7 = (0u | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[24])); ctx.gpr[8] = (ctx.gpr[22] | 0u); ctx.gpr[9] = (0u | 0u); @@ -8940,12 +8941,12 @@ L_08943F44: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_31 = (0x08943F80u); ctx.fpr[26] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(480))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08943F80u) goto L_08943F80; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08943F80u) goto L_08943F80; AOT_REGCACHE_SYNC_OUT(); return; L_08943F80: aot_fpr_12 = ctx.fpr[30] - aot_fpr_20; @@ -8958,7 +8959,7 @@ L_08943F80: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(592), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08943FA8u); ctx.fpr[26] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(484))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08943FA8u) goto L_08943FA8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08943FA8u) goto L_08943FA8; AOT_REGCACHE_SYNC_OUT(); return; L_08943FA8: aot_fpr_12 = ctx.fpr[30] - aot_fpr_20; @@ -8970,7 +8971,7 @@ L_08943FA8: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(596), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08943FCCu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08943FCCu) goto L_08943FCC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08943FCCu) goto L_08943FCC; AOT_REGCACHE_SYNC_OUT(); return; L_08943FCC: ctx.fpr[26] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1184))); @@ -8981,9 +8982,9 @@ L_08943FCC: aot_fpr_12 = aot_fpr_13 + aot_fpr_12; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(600), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (0u | 44u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_6 = (ctx.gpr[19] | 0u); - ctx.gpr[7] = (0u | 0u); + aot_gpr_7 = (0u | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[24])); ctx.gpr[8] = (ctx.gpr[22] | 0u); ctx.pc = 0x08944000u; AOT_REGCACHE_SYNC_OUT(); return; diff --git a/profiles/vcs/generated/generated_unit_0080.cpp b/profiles/vcs/generated/generated_unit_0080.cpp index d2bdb68..b53aae9 100644 --- a/profiles/vcs/generated/generated_unit_0080.cpp +++ b/profiles/vcs/generated/generated_unit_0080.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0080[4096] = { }; void recomp_unit_0080_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,29,5,31,16,17 fprs=12,13,14,0 gpr_occ=3803 fpr_occ=953 gpr_total=5027 fpr_total=1353 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,29,5,31,6,2 fprs=12,13,14,0 gpr_occ=3745 fpr_occ=954 gpr_total=5345 fpr_total=1354 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; - std::uint32_t aot_gpr_16 = ctx.gpr[16]; - std::uint32_t aot_gpr_17 = ctx.gpr[17]; + std::uint32_t aot_gpr_6 = ctx.gpr[6]; + std::uint32_t aot_gpr_2 = ctx.gpr[2]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_14 = ctx.fpr[14]; float aot_fpr_0 = ctx.fpr[0]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[29] = aot_gpr_29; ctx.gpr[5] = aot_gpr_5; ctx.gpr[31] = aot_gpr_31; ctx.gpr[16] = aot_gpr_16; ctx.gpr[17] = aot_gpr_17; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[0] = aot_fpr_0; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_17 = ctx.gpr[17]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_0 = ctx.fpr[0]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[29] = aot_gpr_29; ctx.gpr[5] = aot_gpr_5; ctx.gpr[31] = aot_gpr_31; ctx.gpr[6] = aot_gpr_6; ctx.gpr[2] = aot_gpr_2; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[0] = aot_fpr_0; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_2 = ctx.gpr[2]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_0 = ctx.fpr[0]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -1072,10 +1073,10 @@ L_08944014: ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 0u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -1085,12 +1086,12 @@ L_08944014: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_31 = (0x08944048u); ctx.fpr[26] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(480))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08944048u) goto L_08944048; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08944048u) goto L_08944048; AOT_REGCACHE_SYNC_OUT(); return; L_08944048: aot_fpr_12 = ctx.fpr[30] - ctx.fpr[20]; @@ -1103,7 +1104,7 @@ L_08944048: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(592), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08944070u); ctx.fpr[26] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(484))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08944070u) goto L_08944070; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08944070u) goto L_08944070; AOT_REGCACHE_SYNC_OUT(); return; L_08944070: aot_fpr_12 = ctx.fpr[30] - ctx.fpr[20]; @@ -1115,7 +1116,7 @@ L_08944070: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(596), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08944094u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08944094u) goto L_08944094; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08944094u) goto L_08944094; AOT_REGCACHE_SYNC_OUT(); return; L_08944094: ctx.fpr[26] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1184))); @@ -1126,8 +1127,8 @@ L_08944094: aot_fpr_12 = aot_fpr_13 + aot_fpr_12; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(600), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (0u | 44u); - aot_gpr_5 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (ctx.gpr[19] | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); + aot_gpr_6 = (ctx.gpr[19] | 0u); ctx.gpr[7] = (0u | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[24])); ctx.gpr[8] = (ctx.gpr[22] | 0u); @@ -1170,14 +1171,14 @@ L_089440FC: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_16 = (aot_gpr_29 + static_cast(608)); + ctx.gpr[16] = (aot_gpr_29 + static_cast(608)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_17 = (aot_mem.aot_direct_load8(ctx.gpr[23] + static_cast(146))); + ctx.gpr[17] = (aot_mem.aot_direct_load8(ctx.gpr[23] + static_cast(146))); ctx.gpr[18] = (0u | 0u); - aot_gpr_4 = (static_cast(ctx.gpr[18]) < static_cast(aot_gpr_17) ? 1u : 0u); + aot_gpr_4 = (static_cast(ctx.gpr[18]) < static_cast(ctx.gpr[17]) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_4 = (15820u << 16u); if (branch_taken) { @@ -1199,7 +1200,7 @@ L_08944124: ctx.gpr[21] = (aot_gpr_29 + static_cast(656)); goto L_08944150; L_08944150: - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -1214,7 +1215,7 @@ L_08944150: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_31 = (0x08944160u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08944160u) goto L_08944160; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08944160u) goto L_08944160; AOT_REGCACHE_SYNC_OUT(); return; L_08944160: aot_fpr_12 = ctx.fpr[22] - ctx.fpr[24]; @@ -1225,7 +1226,7 @@ L_08944160: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(624), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08944180u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08944180u) goto L_08944180; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08944180u) goto L_08944180; AOT_REGCACHE_SYNC_OUT(); return; L_08944180: aot_fpr_12 = ctx.fpr[22] - ctx.fpr[24]; @@ -1236,10 +1237,10 @@ L_08944180: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(628), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x089441A0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089441A0u) goto L_089441A0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089441A0u) goto L_089441A0; AOT_REGCACHE_SYNC_OUT(); return; L_089441A0: - aot_gpr_4 = (ctx.gpr[2] & 65535u); + aot_gpr_4 = (aot_gpr_2 & 65535u); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -1255,7 +1256,7 @@ L_089441B0: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(648), std::bit_cast(ctx.fpr[28])); aot_gpr_4 = (0u | 36u); aot_gpr_5 = (ctx.gpr[19] | 0u); - ctx.gpr[6] = (ctx.gpr[20] | 0u); + aot_gpr_6 = (ctx.gpr[20] | 0u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (ctx.gpr[22] | 0u); ctx.gpr[9] = (0u | 0u); @@ -1280,7 +1281,7 @@ L_089441F0: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(664), std::bit_cast(ctx.fpr[28])); aot_gpr_4 = (0u | 38u); aot_gpr_5 = (ctx.gpr[19] | 0u); - ctx.gpr[6] = (ctx.gpr[21] | 0u); + aot_gpr_6 = (ctx.gpr[21] | 0u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (ctx.gpr[22] | 0u); ctx.gpr[9] = (0u | 0u); @@ -1292,7 +1293,7 @@ L_089441F0: AOT_REGCACHE_SYNC_OUT(); return; L_08944228: ctx.gpr[18] = (ctx.gpr[18] + static_cast(1)); - aot_gpr_4 = (static_cast(ctx.gpr[18]) < static_cast(aot_gpr_17) ? 1u : 0u); + aot_gpr_4 = (static_cast(ctx.gpr[18]) < static_cast(ctx.gpr[17]) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -1421,9 +1422,9 @@ L_089442F4: aot_gpr_4 = (aot_gpr_4 | 49807u); ctx.gpr[22] = (0u | 0u); ctx.fpr[22] = std::bit_cast(aot_gpr_4); - aot_gpr_16 = (aot_gpr_29 + static_cast(752)); + ctx.gpr[16] = (aot_gpr_29 + static_cast(752)); ctx.gpr[19] = (aot_gpr_29 + static_cast(736)); - aot_gpr_17 = (aot_gpr_29 + static_cast(768)); + ctx.gpr[17] = (aot_gpr_29 + static_cast(768)); ctx.gpr[20] = (aot_gpr_5 + static_cast(-12320)); ctx.gpr[18] = (0u | 300u); goto L_08944338; @@ -1442,7 +1443,7 @@ L_08944338: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const float fs = ctx.fpr[20]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[24] = std::bit_cast(0x7FC00000u); else ctx.fpr[24] = fs * ft; } @@ -1452,7 +1453,7 @@ L_08944338: { const float fs = ctx.fpr[20]; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[20] = std::bit_cast(0x7FC00000u); else ctx.fpr[20] = fs * ft; } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(740), std::bit_cast(ctx.fpr[20])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(744), std::bit_cast(ctx.fpr[30])); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08944378u); aot_gpr_5 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08944378u) goto L_08944378; @@ -1468,12 +1469,12 @@ L_08944378: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_31 = (0x08944388u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08944388u) goto L_08944388; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08944388u) goto L_08944388; AOT_REGCACHE_SYNC_OUT(); return; L_08944388: aot_fpr_14 = ctx.fpr[26] - ctx.fpr[28]; @@ -1484,7 +1485,7 @@ L_08944388: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(776), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x089443A8u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089443A8u) goto L_089443A8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089443A8u) goto L_089443A8; AOT_REGCACHE_SYNC_OUT(); return; L_089443A8: ctx.fpr[24] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1204))); @@ -1492,8 +1493,8 @@ L_089443A8: { const float fs = aot_fpr_12; const float ft = aot_fpr_0; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = ctx.fpr[24] + aot_fpr_12; aot_gpr_4 = (0u | 44u); - aot_gpr_5 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); + aot_gpr_6 = (ctx.gpr[17] | 0u); ctx.gpr[7] = (0u | 0u); ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1148))); ctx.gpr[8] = (ctx.gpr[20] | 0u); @@ -1515,7 +1516,7 @@ L_089443E4: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } ctx.fpr[24] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1176))); @@ -1524,7 +1525,7 @@ L_089443E4: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(740), std::bit_cast(ctx.fpr[24])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1192), std::bit_cast(ctx.fpr[24])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(744), std::bit_cast(ctx.fpr[30])); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08944410u); aot_gpr_5 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08944410u) goto L_08944410; @@ -1540,12 +1541,12 @@ L_08944410: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_31 = (0x08944420u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08944420u) goto L_08944420; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08944420u) goto L_08944420; AOT_REGCACHE_SYNC_OUT(); return; L_08944420: aot_fpr_12 = ctx.fpr[26] - ctx.fpr[28]; @@ -1556,7 +1557,7 @@ L_08944420: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(776), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08944440u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08944440u) goto L_08944440; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08944440u) goto L_08944440; AOT_REGCACHE_SYNC_OUT(); return; L_08944440: ctx.fpr[24] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1204))); @@ -1564,8 +1565,8 @@ L_08944440: { const float fs = aot_fpr_12; const float ft = aot_fpr_0; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = ctx.fpr[24] + aot_fpr_12; aot_gpr_4 = (0u | 44u); - aot_gpr_5 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); + aot_gpr_6 = (ctx.gpr[17] | 0u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (ctx.gpr[20] | 0u); ctx.gpr[9] = (0u | 0u); @@ -1586,7 +1587,7 @@ L_08944478: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1176))); @@ -1595,7 +1596,7 @@ L_08944478: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1200), std::bit_cast(ctx.fpr[24])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(740), std::bit_cast(ctx.fpr[20])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(744), std::bit_cast(ctx.fpr[30])); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089444A4u); aot_gpr_5 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089444A4u) goto L_089444A4; @@ -1611,12 +1612,12 @@ L_089444A4: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_31 = (0x089444B4u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089444B4u) goto L_089444B4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089444B4u) goto L_089444B4; AOT_REGCACHE_SYNC_OUT(); return; L_089444B4: aot_fpr_13 = ctx.fpr[26] - ctx.fpr[28]; @@ -1627,7 +1628,7 @@ L_089444B4: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(776), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x089444D4u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089444D4u) goto L_089444D4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089444D4u) goto L_089444D4; AOT_REGCACHE_SYNC_OUT(); return; L_089444D4: ctx.fpr[24] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1204))); @@ -1635,8 +1636,8 @@ L_089444D4: { const float fs = aot_fpr_12; const float ft = aot_fpr_0; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = ctx.fpr[24] + aot_fpr_12; aot_gpr_4 = (0u | 44u); - aot_gpr_5 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); + aot_gpr_6 = (ctx.gpr[17] | 0u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (ctx.gpr[20] | 0u); ctx.gpr[9] = (0u | 0u); @@ -1657,7 +1658,7 @@ L_0894450C: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1200))); @@ -1665,7 +1666,7 @@ L_0894450C: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1192))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(740), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(744), std::bit_cast(ctx.fpr[30])); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08944534u); aot_gpr_5 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08944534u) goto L_08944534; @@ -1681,12 +1682,12 @@ L_08944534: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_31 = (0x08944544u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08944544u) goto L_08944544; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08944544u) goto L_08944544; AOT_REGCACHE_SYNC_OUT(); return; L_08944544: aot_fpr_12 = ctx.fpr[26] - ctx.fpr[28]; @@ -1697,15 +1698,15 @@ L_08944544: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(776), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08944564u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08944564u) goto L_08944564; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08944564u) goto L_08944564; AOT_REGCACHE_SYNC_OUT(); return; L_08944564: aot_fpr_12 = ctx.fpr[22] - ctx.fpr[24]; { const float fs = aot_fpr_12; const float ft = aot_fpr_0; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = ctx.fpr[24] + aot_fpr_12; aot_gpr_4 = (0u | 44u); - aot_gpr_5 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); + aot_gpr_6 = (ctx.gpr[17] | 0u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (ctx.gpr[20] | 0u); ctx.gpr[9] = (0u | 0u); @@ -1730,11 +1731,11 @@ L_08944598: } L_089445B4: ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1152))); - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(146))); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1148))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1148))); ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1156))); - aot_gpr_4 = (static_cast(aot_gpr_16) < static_cast(aot_gpr_4) ? 1u : 0u); + aot_gpr_4 = (static_cast(ctx.gpr[16]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1160))); if (branch_taken) { @@ -1746,9 +1747,9 @@ L_089445D4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(100))); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[30])); aot_gpr_5 = (ctx.gpr[20] | 0u); - ctx.gpr[6] = (ctx.gpr[19] | 0u); + aot_gpr_6 = (ctx.gpr[19] | 0u); ctx.gpr[7] = (0u | 0u); - ctx.gpr[8] = (aot_gpr_17 | 0u); + ctx.gpr[8] = (ctx.gpr[17] | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[11] = (0u | 0u); @@ -1758,8 +1759,8 @@ L_089445D4: AOT_REGCACHE_SYNC_OUT(); return; L_08944600: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(146))); - aot_gpr_16 = (aot_gpr_16 + static_cast(1)); - aot_gpr_4 = (static_cast(aot_gpr_16) < static_cast(aot_gpr_4) ? 1u : 0u); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(1)); + aot_gpr_4 = (static_cast(ctx.gpr[16]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -1835,10 +1836,10 @@ L_0894461C: ctx.gpr[30] = (aot_gpr_5 + static_cast(-8224)); aot_gpr_4 = (2247u << 16u); ctx.gpr[23] = (aot_gpr_4 + static_cast(-12320)); - aot_gpr_16 = (aot_gpr_29 + static_cast(848)); + ctx.gpr[16] = (aot_gpr_29 + static_cast(848)); ctx.fpr[30] = std::bit_cast(0u); ctx.gpr[20] = (aot_gpr_29 + static_cast(832)); - aot_gpr_17 = (aot_gpr_29 + static_cast(864)); + ctx.gpr[17] = (aot_gpr_29 + static_cast(864)); ctx.gpr[22] = (ctx.gpr[22] + static_cast(136)); goto L_089446C4; L_089446C4: @@ -1857,7 +1858,7 @@ L_089446C4: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const float fs = ctx.fpr[24]; const float ft = ctx.fpr[28]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[28] = std::bit_cast(0x7FC00000u); else ctx.fpr[28] = fs * ft; } @@ -1867,7 +1868,7 @@ L_089446C4: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(836), std::bit_cast(ctx.fpr[28])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1176), std::bit_cast(ctx.fpr[28])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(840), std::bit_cast(ctx.fpr[30])); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08944708u); aot_gpr_5 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08944708u) goto L_08944708; @@ -1883,7 +1884,7 @@ L_08944708: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(864))); @@ -1899,7 +1900,7 @@ L_08944708: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(868), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08944744u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08944744u) goto L_08944744; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08944744u) goto L_08944744; AOT_REGCACHE_SYNC_OUT(); return; L_08944744: aot_fpr_12 = ctx.fpr[22] - ctx.fpr[20]; @@ -1910,7 +1911,7 @@ L_08944744: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(872), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08944764u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08944764u) goto L_08944764; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08944764u) goto L_08944764; AOT_REGCACHE_SYNC_OUT(); return; L_08944764: ctx.fpr[28] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1184))); @@ -1919,8 +1920,8 @@ L_08944764: { const float fs = aot_fpr_12; const float ft = aot_fpr_0; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = ctx.fpr[28] + aot_fpr_12; aot_gpr_4 = (0u | 26u); - aot_gpr_5 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); + aot_gpr_6 = (ctx.gpr[17] | 0u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (ctx.gpr[22] | 0u); ctx.gpr[9] = (0u | 0u); @@ -1941,7 +1942,7 @@ L_089447A0: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } ctx.fpr[26] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1200))); @@ -1951,7 +1952,7 @@ L_089447A0: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(836), std::bit_cast(ctx.fpr[26])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1192), std::bit_cast(ctx.fpr[26])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(840), std::bit_cast(ctx.fpr[30])); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089447D0u); aot_gpr_5 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089447D0u) goto L_089447D0; @@ -1967,7 +1968,7 @@ L_089447D0: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(864))); @@ -1981,7 +1982,7 @@ L_089447D0: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(868), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08944804u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08944804u) goto L_08944804; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08944804u) goto L_08944804; AOT_REGCACHE_SYNC_OUT(); return; L_08944804: aot_fpr_12 = ctx.fpr[22] - ctx.fpr[20]; @@ -1992,7 +1993,7 @@ L_08944804: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(872), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08944824u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08944824u) goto L_08944824; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08944824u) goto L_08944824; AOT_REGCACHE_SYNC_OUT(); return; L_08944824: ctx.fpr[26] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1204))); @@ -2000,8 +2001,8 @@ L_08944824: { const float fs = aot_fpr_12; const float ft = aot_fpr_0; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = ctx.fpr[28] + aot_fpr_12; aot_gpr_4 = (0u | 26u); - aot_gpr_5 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); + aot_gpr_6 = (ctx.gpr[17] | 0u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (ctx.gpr[22] | 0u); ctx.gpr[9] = (0u | 0u); @@ -2022,7 +2023,7 @@ L_0894485C: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1200))); @@ -2032,7 +2033,7 @@ L_0894485C: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1176))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(836), std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(840), std::bit_cast(ctx.fpr[30])); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x0894488Cu); aot_gpr_5 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894488Cu) goto L_0894488C; @@ -2048,7 +2049,7 @@ L_0894488C: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(864))); @@ -2062,7 +2063,7 @@ L_0894488C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(868), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x089448C0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089448C0u) goto L_089448C0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089448C0u) goto L_089448C0; AOT_REGCACHE_SYNC_OUT(); return; L_089448C0: aot_fpr_12 = ctx.fpr[22] - ctx.fpr[20]; @@ -2073,7 +2074,7 @@ L_089448C0: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(872), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x089448E0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089448E0u) goto L_089448E0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089448E0u) goto L_089448E0; AOT_REGCACHE_SYNC_OUT(); return; L_089448E0: ctx.fpr[26] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1204))); @@ -2081,8 +2082,8 @@ L_089448E0: { const float fs = aot_fpr_12; const float ft = aot_fpr_0; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = ctx.fpr[28] + aot_fpr_12; aot_gpr_4 = (0u | 26u); - aot_gpr_5 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); + aot_gpr_6 = (ctx.gpr[17] | 0u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (ctx.gpr[22] | 0u); ctx.gpr[9] = (0u | 0u); @@ -2103,7 +2104,7 @@ L_08944918: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1180))); @@ -2111,7 +2112,7 @@ L_08944918: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1192))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(836), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(840), std::bit_cast(ctx.fpr[30])); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08944940u); aot_gpr_5 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08944940u) goto L_08944940; @@ -2127,7 +2128,7 @@ L_08944940: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(864))); @@ -2140,7 +2141,7 @@ L_08944940: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(868), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08944970u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08944970u) goto L_08944970; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08944970u) goto L_08944970; AOT_REGCACHE_SYNC_OUT(); return; L_08944970: aot_fpr_12 = ctx.fpr[22] - ctx.fpr[20]; @@ -2151,15 +2152,15 @@ L_08944970: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(872), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08944990u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08944990u) goto L_08944990; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08944990u) goto L_08944990; AOT_REGCACHE_SYNC_OUT(); return; L_08944990: aot_fpr_12 = ctx.fpr[26] - ctx.fpr[28]; { const float fs = aot_fpr_12; const float ft = aot_fpr_0; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = ctx.fpr[28] + aot_fpr_12; aot_gpr_4 = (0u | 26u); - aot_gpr_5 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); + aot_gpr_6 = (ctx.gpr[17] | 0u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (ctx.gpr[22] | 0u); ctx.gpr[9] = (0u | 0u); @@ -2202,9 +2203,9 @@ L_089449EC: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_16 = (aot_gpr_29 + static_cast(880)); + ctx.gpr[16] = (aot_gpr_29 + static_cast(880)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (ctx.gpr[23] + static_cast(112)); @@ -2217,9 +2218,9 @@ L_089449EC: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_17 = (aot_gpr_29 + static_cast(896)); + ctx.gpr[17] = (aot_gpr_29 + static_cast(896)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (14979u << 16u); @@ -2232,7 +2233,7 @@ L_089449EC: ctx.gpr[22] = (ctx.gpr[23] + static_cast(136)); goto L_08944A2C; L_08944A2C: - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -2245,7 +2246,7 @@ L_08944A2C: const std::uint32_t vfpu_address = ctx.gpr[20] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -2260,7 +2261,7 @@ L_08944A2C: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (0u | 44u); aot_gpr_5 = (ctx.gpr[20] | 0u); - ctx.gpr[6] = (ctx.gpr[21] | 0u); + aot_gpr_6 = (ctx.gpr[21] | 0u); ctx.gpr[7] = (0u | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); ctx.gpr[8] = (ctx.gpr[22] | 0u); @@ -2304,8 +2305,8 @@ L_08944A80: L_08944A98: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1152), ctx.gpr[23]); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[23] + static_cast(146))); - aot_gpr_16 = (0u | 0u); - aot_gpr_4 = (static_cast(aot_gpr_16) < static_cast(aot_gpr_4) ? 1u : 0u); + ctx.gpr[16] = (0u | 0u); + aot_gpr_4 = (static_cast(ctx.gpr[16]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -2315,7 +2316,7 @@ L_08944A98: } L_08944AB0: ctx.gpr[21] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1152))); - aot_gpr_17 = (aot_gpr_29 + static_cast(944)); + ctx.gpr[17] = (aot_gpr_29 + static_cast(944)); ctx.gpr[19] = (ctx.gpr[21] + static_cast(112)); ctx.gpr[20] = (ctx.gpr[21] + static_cast(48)); ctx.gpr[18] = (ctx.gpr[21] + static_cast(136)); @@ -2331,7 +2332,7 @@ L_08944AC4: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(944))); @@ -2348,7 +2349,7 @@ L_08944AE0: ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(128))); aot_gpr_31 = (0x08944AECu); ctx.fpr[24] = std::bit_cast(std::bit_cast(ctx.fpr[22]) ^ 0x80000000u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08944AECu) goto L_08944AEC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08944AECu) goto L_08944AEC; AOT_REGCACHE_SYNC_OUT(); return; L_08944AEC: aot_fpr_12 = ctx.fpr[22] - ctx.fpr[24]; @@ -2373,7 +2374,7 @@ L_08944B18: ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(128))); aot_gpr_31 = (0x08944B24u); ctx.fpr[24] = std::bit_cast(std::bit_cast(ctx.fpr[22]) ^ 0x80000000u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08944B24u) goto L_08944B24; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08944B24u) goto L_08944B24; AOT_REGCACHE_SYNC_OUT(); return; L_08944B24: aot_fpr_12 = ctx.fpr[22] - ctx.fpr[24]; @@ -2398,7 +2399,7 @@ L_08944B50: ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(128))); aot_gpr_31 = (0x08944B5Cu); ctx.fpr[24] = std::bit_cast(std::bit_cast(ctx.fpr[22]) ^ 0x80000000u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08944B5Cu) goto L_08944B5C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08944B5Cu) goto L_08944B5C; AOT_REGCACHE_SYNC_OUT(); return; L_08944B5C: aot_fpr_12 = ctx.fpr[22] - ctx.fpr[24]; @@ -2412,7 +2413,7 @@ L_08944B74: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(100))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(132))); aot_gpr_5 = (ctx.gpr[20] | 0u); - ctx.gpr[6] = (aot_gpr_17 | 0u); + aot_gpr_6 = (ctx.gpr[17] | 0u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (ctx.gpr[18] | 0u); ctx.gpr[9] = (0u | 0u); @@ -2424,8 +2425,8 @@ L_08944B74: AOT_REGCACHE_SYNC_OUT(); return; L_08944BA0: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[21] + static_cast(146))); - aot_gpr_16 = (aot_gpr_16 + static_cast(1)); - aot_gpr_4 = (static_cast(aot_gpr_16) < static_cast(aot_gpr_4) ? 1u : 0u); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(1)); + aot_gpr_4 = (static_cast(ctx.gpr[16]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -2455,15 +2456,15 @@ L_08944BBC: } L_08944BD4: ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1152))); - aot_gpr_16 = (ctx.gpr[20] + static_cast(48)); - aot_gpr_17 = (ctx.gpr[20] + static_cast(112)); + ctx.gpr[16] = (ctx.gpr[20] + static_cast(48)); + ctx.gpr[17] = (ctx.gpr[20] + static_cast(112)); ctx.gpr[18] = (ctx.gpr[20] + static_cast(136)); goto L_08944BE4; L_08944BE4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(100))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(132))); - aot_gpr_5 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); + aot_gpr_6 = (ctx.gpr[17] | 0u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (ctx.gpr[18] | 0u); ctx.gpr[9] = (0u | 0u); @@ -2511,7 +2512,7 @@ L_08944C48: aot_gpr_4 = (ctx.gpr[28] + static_cast(-18160)); aot_gpr_5 = (ctx.gpr[28] + static_cast(-18152)); aot_gpr_31 = (0x08944C58u); - ctx.gpr[6] = (ctx.gpr[23] | 0u); + aot_gpr_6 = (ctx.gpr[23] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0079_entry, 79u, 324u, 0x08941FE4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08944C58u) goto L_08944C58; AOT_REGCACHE_SYNC_OUT(); return; L_08944C58: @@ -2540,8 +2541,8 @@ L_08944C78: ctx.fpr[26] = std::bit_cast(aot_run_words[3]); ctx.fpr[28] = std::bit_cast(aot_run_words[4]); ctx.fpr[30] = std::bit_cast(aot_run_words[5]); - aot_gpr_16 = aot_run_words[6]; - aot_gpr_17 = aot_run_words[7]; + ctx.gpr[16] = aot_run_words[6]; + ctx.gpr[17] = aot_run_words[7]; ctx.gpr[18] = aot_run_words[8]; ctx.gpr[19] = aot_run_words[9]; ctx.gpr[20] = aot_run_words[10]; @@ -2562,7 +2563,7 @@ L_08944CC0: aot_gpr_4 = (2234u << 16u); ctx.gpr[7] = (2196u << 16u); aot_gpr_5 = (0u | 70u); - ctx.gpr[6] = (0u | 160u); + aot_gpr_6 = (0u | 160u); aot_gpr_4 = (aot_gpr_4 + static_cast(-8976)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); aot_gpr_31 = (0x08944CE4u); @@ -2572,13 +2573,13 @@ L_08944CC0: L_08944CE4: aot_gpr_31 = (0x08944CECu); aot_gpr_4 = (ctx.gpr[28] + static_cast(-18120)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08944CECu) goto L_08944CEC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08944CECu) goto L_08944CEC; AOT_REGCACHE_SYNC_OUT(); return; L_08944CEC: aot_gpr_4 = (2234u << 16u); ctx.gpr[7] = (2196u << 16u); aot_gpr_5 = (0u | 8u); - ctx.gpr[6] = (0u | 8u); + aot_gpr_6 = (0u | 8u); aot_gpr_4 = (aot_gpr_4 + static_cast(2224)); aot_gpr_31 = (0x08944D08u); ctx.gpr[7] = (ctx.gpr[7] + static_cast(8268)); @@ -2599,15 +2600,15 @@ L_08944D14: aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(3), static_cast(0u)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), 0u); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(20), std::bit_cast(aot_fpr_12)); - ctx.gpr[6] = (16256u << 16u); - aot_fpr_12 = std::bit_cast(ctx.gpr[6]); + aot_gpr_6 = (16256u << 16u); + aot_fpr_12 = std::bit_cast(aot_gpr_6); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(2), static_cast(aot_gpr_5)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(36), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(32), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(28), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(24), std::bit_cast(aot_fpr_12)); jump_target = aot_gpr_31; - ctx.gpr[2] = (aot_gpr_4 | 0u); + aot_gpr_2 = (aot_gpr_4 | 0u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -2640,7 +2641,7 @@ L_08944D74: AOT_REGCACHE_SYNC_OUT(); return; L_08944D80: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(7))); - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); jump_target = aot_gpr_31; aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(0), static_cast(aot_gpr_4)); local_pc = jump_target; @@ -2650,7 +2651,7 @@ L_08944D80: L_08944D90: aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(7), static_cast(aot_gpr_5)); jump_target = aot_gpr_31; - ctx.gpr[2] = (aot_gpr_4 | 0u); + aot_gpr_2 = (aot_gpr_4 | 0u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -2658,9 +2659,9 @@ L_08944D90: L_08944D9C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_4 = (2247u << 16u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 + static_cast(8736)); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 + static_cast(8736)); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), std::bit_cast(ctx.fpr[20])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), std::bit_cast(ctx.fpr[22])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); @@ -2672,40 +2673,40 @@ L_08944DC4: aot_gpr_4 = (19646u << 16u); ctx.fpr[20] = std::bit_cast(0u); aot_gpr_4 = (aot_gpr_4 | 48160u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), std::bit_cast(ctx.fpr[20])); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(4), std::bit_cast(ctx.fpr[20])); ctx.fpr[22] = std::bit_cast(aot_gpr_4); aot_gpr_4 = (2247u << 16u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(20), std::bit_cast(ctx.fpr[22])); - aot_gpr_16 = (aot_gpr_4 + static_cast(8808)); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(20), std::bit_cast(ctx.fpr[22])); + ctx.gpr[16] = (aot_gpr_4 + static_cast(8808)); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08944DF0u); aot_gpr_5 = (0u | 6u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0217_entry, 217u, 694u, 0x08B6B8C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08944DF0u) goto L_08944DF0; AOT_REGCACHE_SYNC_OUT(); return; L_08944DF0: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), std::bit_cast(ctx.fpr[20])); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(24), std::bit_cast(ctx.fpr[22])); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(4), std::bit_cast(ctx.fpr[20])); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(24), std::bit_cast(ctx.fpr[22])); aot_gpr_4 = (2238u << 16u); - aot_gpr_16 = (aot_gpr_4 + static_cast(17440)); - aot_gpr_4 = (aot_gpr_16 | 0u); + ctx.gpr[16] = (aot_gpr_4 + static_cast(17440)); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08944E0Cu); aot_gpr_5 = (0u | 200u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0217_entry, 217u, 667u, 0x08B6B6ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08944E0Cu) goto L_08944E0C; AOT_REGCACHE_SYNC_OUT(); return; L_08944E0C: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), std::bit_cast(ctx.fpr[20])); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(20), std::bit_cast(ctx.fpr[22])); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(4), std::bit_cast(ctx.fpr[20])); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(20), std::bit_cast(ctx.fpr[22])); aot_gpr_4 = (2247u << 16u); - aot_gpr_16 = (aot_gpr_4 + static_cast(8896)); - aot_gpr_4 = (aot_gpr_16 | 0u); + ctx.gpr[16] = (aot_gpr_4 + static_cast(8896)); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08944E28u); aot_gpr_5 = (0u | 30u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0217_entry, 217u, 667u, 0x08B6B6ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08944E28u) goto L_08944E28; AOT_REGCACHE_SYNC_OUT(); return; L_08944E28: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), std::bit_cast(ctx.fpr[20])); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(4), std::bit_cast(ctx.fpr[20])); aot_gpr_4 = (2198u << 16u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(20), std::bit_cast(ctx.fpr[22])); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(20), std::bit_cast(ctx.fpr[22])); aot_gpr_31 = (0x08944E3Cu); aot_gpr_4 = (aot_gpr_4 + static_cast(-17500)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0139_entry, 139u, 306u, 0x08A31530u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08944E3Cu) goto L_08944E3C; @@ -2823,7 +2824,7 @@ L_08944F14: aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); ctx.fpr[20] = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); - aot_gpr_16 = aot_run_words[2]; + ctx.gpr[16] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } jump_target = aot_gpr_31; @@ -2888,13 +2889,13 @@ L_08944F8C: AOT_REGCACHE_SYNC_OUT(); return; L_08944F98: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (2247u << 16u); - aot_gpr_17 = (aot_gpr_17 + static_cast(8736)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(24))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (2247u << 16u); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(8736)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(24))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); - { const bool branch_taken = aot_gpr_16 == aot_gpr_17; + { const bool branch_taken = ctx.gpr[16] == ctx.gpr[17]; // nop if (branch_taken) { goto L_08944FD0; @@ -2903,12 +2904,12 @@ L_08944F98: } L_08944FBC: aot_gpr_31 = (0x08944FC4u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0085_entry, 85u, 528u, 0x0895BBA4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08944FC4u) goto L_08944FC4; AOT_REGCACHE_SYNC_OUT(); return; L_08944FC4: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); - { const bool branch_taken = aot_gpr_16 != aot_gpr_17; + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(8))); + { const bool branch_taken = ctx.gpr[16] != ctx.gpr[17]; // nop if (branch_taken) { goto L_08944FBC; @@ -2918,8 +2919,8 @@ L_08944FC4: L_08944FD0: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -2933,36 +2934,36 @@ L_08944FE4: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); ctx.gpr[18] = (2247u << 16u); ctx.gpr[18] = (ctx.gpr[18] + static_cast(8808)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(32))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(32))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); - { const bool branch_taken = aot_gpr_17 == ctx.gpr[18]; - aot_gpr_16 = (2196u << 16u); + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[18]; + ctx.gpr[16] = (2196u << 16u); if (branch_taken) { goto L_08945038; } goto L_0894500C; } L_0894500C: - aot_gpr_16 = (aot_gpr_16 + static_cast(19856)); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(19856)); goto L_08945010; L_08945010: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); - ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(8))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); + aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(8))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); aot_gpr_31 = (0x08945024u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0006_entry, 6u, 248u, 0x0881DCCCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08945024u) goto L_08945024; AOT_REGCACHE_SYNC_OUT(); return; L_08945024: aot_gpr_31 = (0x0894502Cu); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0085_entry, 85u, 528u, 0x0895BBA4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894502Cu) goto L_0894502C; AOT_REGCACHE_SYNC_OUT(); return; L_0894502C: - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(12))); - { const bool branch_taken = aot_gpr_17 != ctx.gpr[18]; + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(12))); + { const bool branch_taken = ctx.gpr[17] != ctx.gpr[18]; // nop if (branch_taken) { goto L_08945010; @@ -2972,8 +2973,8 @@ L_0894502C: L_08945038: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -3002,19 +3003,19 @@ L_08945070: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[19]); ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(24))); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, ctx.gpr[18]}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[20]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_31); { const bool branch_taken = ctx.gpr[19] == aot_gpr_4; - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08945138; } goto L_08945098; } L_08945098: - aot_gpr_17 = (0u | 1u); + ctx.gpr[17] = (0u | 1u); goto L_0894509C; L_0894509C: ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(0))); @@ -3045,7 +3046,7 @@ L_089450C0: goto L_089450D0; L_089450D0: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[20] + static_cast(16))); - { const bool branch_taken = aot_gpr_4 != aot_gpr_17; + { const bool branch_taken = aot_gpr_4 != ctx.gpr[17]; // nop if (branch_taken) { goto L_089450F8; @@ -3066,7 +3067,7 @@ L_089450EC: aot_gpr_4 = (0u | 6u); aot_gpr_31 = (0x089450F8u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089450F8u) goto L_089450F8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089450F8u) goto L_089450F8; AOT_REGCACHE_SYNC_OUT(); return; L_089450F8: aot_gpr_4 = (ctx.gpr[18] | 0u); @@ -3076,7 +3077,7 @@ L_089450F8: AOT_REGCACHE_SYNC_OUT(); return; L_08945104: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[20] + static_cast(16))); - { const bool branch_taken = aot_gpr_4 != aot_gpr_17; + { const bool branch_taken = aot_gpr_4 != ctx.gpr[17]; // nop if (branch_taken) { goto L_0894512C; @@ -3097,11 +3098,11 @@ L_08945120: aot_gpr_4 = (0u | 6u); aot_gpr_31 = (0x0894512Cu); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894512Cu) goto L_0894512C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894512Cu) goto L_0894512C; AOT_REGCACHE_SYNC_OUT(); return; L_0894512C: ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(8))); - { const bool branch_taken = ctx.gpr[19] != aot_gpr_16; + { const bool branch_taken = ctx.gpr[19] != ctx.gpr[16]; // nop if (branch_taken) { goto L_0894509C; @@ -3111,8 +3112,8 @@ L_0894512C: L_08945138: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -3142,7 +3143,7 @@ L_0894516C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(20), static_cast(aot_gpr_5)); aot_gpr_5 = (2196u << 16u); - ctx.gpr[6] = (aot_gpr_29 + static_cast(20)); + aot_gpr_6 = (aot_gpr_29 + static_cast(20)); aot_gpr_31 = (0x08945190u); aot_gpr_5 = (aot_gpr_5 + static_cast(19840)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0006_entry, 6u, 248u, 0x0881DCCCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08945190u) goto L_08945190; @@ -3158,7 +3159,7 @@ L_08945190: AOT_REGCACHE_SYNC_OUT(); return; L_089451A8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u < ctx.gpr[2] ? 1u : 0u); + aot_gpr_2 = (0u < aot_gpr_2 ? 1u : 0u); if (branch_taken) { goto L_089451CC; } @@ -3174,7 +3175,7 @@ L_089451B0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0217_entry, 217u, 677u, 0x08B6B79Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089451C8u) goto L_089451C8; AOT_REGCACHE_SYNC_OUT(); return; L_089451C8: - ctx.gpr[2] = (0u < ctx.gpr[2] ? 1u : 0u); + aot_gpr_2 = (0u < aot_gpr_2 ? 1u : 0u); goto L_089451CC; L_089451CC: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); @@ -3205,7 +3206,7 @@ L_089451F4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0217_entry, 217u, 677u, 0x08B6B79Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08945204u) goto L_08945204; AOT_REGCACHE_SYNC_OUT(); return; L_08945204: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08945214; @@ -3214,7 +3215,7 @@ L_08945204: } L_0894520C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_08945228; } @@ -3228,7 +3229,7 @@ L_08945214: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0217_entry, 217u, 677u, 0x08B6B79Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08945224u) goto L_08945224; AOT_REGCACHE_SYNC_OUT(); return; L_08945224: - ctx.gpr[2] = (0u < ctx.gpr[2] ? 1u : 0u); + aot_gpr_2 = (0u < aot_gpr_2 ? 1u : 0u); goto L_08945228; L_08945228: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); @@ -3247,7 +3248,7 @@ L_08945234: goto L_0894523C; } L_0894523C: - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); ctx.gpr[9] = (0u | 0u); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); goto L_08945248; @@ -3255,7 +3256,7 @@ L_08945248: ctx.gpr[8] = (0u | 0u); ctx.gpr[10] = (static_cast(ctx.gpr[9]) < static_cast(ctx.gpr[7]) ? 1u : 0u); if (ctx.gpr[10] != 0u) { - ctx.gpr[8] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(0))); + ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); goto L_08945258; } goto L_08945258; @@ -3271,7 +3272,7 @@ L_08945260: ctx.gpr[9] = (ctx.gpr[9] + static_cast(1)); ctx.gpr[8] = (static_cast(ctx.gpr[9]) < 9000 ? 1u : 0u); { const bool branch_taken = ctx.gpr[8] != 0u; - ctx.gpr[6] = (ctx.gpr[6] + static_cast(4)); + aot_gpr_6 = (aot_gpr_6 + static_cast(4)); if (branch_taken) { goto L_08945248; } @@ -3310,7 +3311,7 @@ L_08945298: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); aot_gpr_5 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_5) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 != 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_089452B8; } @@ -3326,7 +3327,7 @@ L_089452A8: } L_089452B0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_089452C8; } @@ -3336,7 +3337,7 @@ L_089452B8: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); + aot_gpr_2 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); goto L_089452C8; L_089452C8: jump_target = aot_gpr_31; @@ -3346,8 +3347,8 @@ L_089452C8: ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_089452D0: - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(42)))))); - aot_gpr_5 = (ctx.gpr[6] | aot_gpr_5); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(42)))))); + aot_gpr_5 = (aot_gpr_6 | aot_gpr_5); jump_target = aot_gpr_31; aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(42), static_cast(aot_gpr_5)); local_pc = jump_target; @@ -3355,9 +3356,9 @@ L_089452D0: ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_089452E0: - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(42)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(42)))))); aot_gpr_5 = (~(aot_gpr_5 | 0u)); - aot_gpr_5 = (ctx.gpr[6] & aot_gpr_5); + aot_gpr_5 = (aot_gpr_6 & aot_gpr_5); jump_target = aot_gpr_31; aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(42), static_cast(aot_gpr_5)); local_pc = jump_target; @@ -3366,14 +3367,14 @@ L_089452E0: AOT_REGCACHE_SYNC_OUT(); return; L_089452F4: jump_target = aot_gpr_31; - ctx.gpr[2] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(42)))))); + aot_gpr_2 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(42)))))); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_089452FC: jump_target = aot_gpr_31; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(172))); + aot_gpr_2 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(172))); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -3387,7 +3388,7 @@ L_08945304: AOT_REGCACHE_SYNC_OUT(); return; L_0894530C: jump_target = aot_gpr_31; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); + aot_gpr_2 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -3395,10 +3396,10 @@ L_0894530C: L_08945314: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0))); - ctx.gpr[6] = (0u | 2u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_16); + aot_gpr_6 = (0u | 2u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); - { const bool branch_taken = aot_gpr_5 != ctx.gpr[6]; + { const bool branch_taken = aot_gpr_5 != aot_gpr_6; // nop if (branch_taken) { goto L_089453A0; @@ -3406,22 +3407,22 @@ L_08945314: goto L_08945330; } L_08945330: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_31 = (0x0894533Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_089462F0; L_0894533C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-18092))); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(64))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(64))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(68))); + ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(68))); aot_fpr_12 = aot_fpr_13 - aot_fpr_12; aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(6572), std::bit_cast(aot_fpr_0)); ctx.fpr[15] = aot_fpr_14 - ctx.fpr[15]; { const float fs = aot_fpr_12; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[17] = std::bit_cast(0x7FC00000u); else ctx.fpr[17] = fs * ft; } aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); - ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); + ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(72))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), std::bit_cast(aot_fpr_12)); { const float fs = ctx.fpr[15]; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), std::bit_cast(ctx.fpr[15])); @@ -3482,7 +3483,7 @@ L_089453C8: aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(6576), std::bit_cast(aot_fpr_12)); goto L_089453CC; L_089453CC: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); @@ -3494,11 +3495,11 @@ L_089453DC: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8916))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(6572))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08945410; } @@ -3506,16 +3507,16 @@ L_089453DC: } L_089453FC: aot_gpr_31 = (0x08945404u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(24))); goto L_0894530C; L_08945404: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08945410u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); goto L_0894628C; L_08945410: - ctx.gpr[2] = (aot_gpr_16 | 0u); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_2 = (ctx.gpr[16] | 0u); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -3527,20 +3528,20 @@ L_08945424: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8916))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(6572))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); - { const std::uint32_t aot_run_words[4]{aot_gpr_17, ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(4), aot_run_words); } { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_0894551C; } goto L_08945450; } L_08945450: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(24))); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08945460u); ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); goto L_089452F4; @@ -3550,14 +3551,14 @@ L_08945460: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); - aot_gpr_17 = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); if (branch_taken) { goto L_08945514; } goto L_08945478; } L_08945478: - aot_gpr_4 = (aot_gpr_17 & 2048u); + aot_gpr_4 = (ctx.gpr[17] & 2048u); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_4 = (15948u << 16u); if (branch_taken) { @@ -3579,7 +3580,7 @@ L_08945484: goto L_089454A0; } L_089454A0: - ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_gpr_31 = (0x089454ACu); aot_gpr_4 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0091_entry, 91u, 725u, 0x08973704u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089454ACu) goto L_089454AC; @@ -3594,7 +3595,7 @@ L_089454B8: aot_gpr_5 = (ctx.gpr[18] + static_cast(80)); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x089454C8u); - ctx.gpr[6] = (aot_gpr_17 | 0u); + aot_gpr_6 = (ctx.gpr[17] | 0u); goto L_08946354; L_089454C8: aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_0)); @@ -3602,7 +3603,7 @@ L_089454C8: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); - aot_gpr_4 = (aot_gpr_17 & 256u); + aot_gpr_4 = (ctx.gpr[17] & 256u); if (branch_taken) { goto L_08945514; } @@ -3633,7 +3634,7 @@ L_089454E8: } L_0894550C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_gpr_16 | 0u); + aot_gpr_2 = (ctx.gpr[16] | 0u); if (branch_taken) { goto L_08945520; } @@ -3641,17 +3642,17 @@ L_0894550C: } L_08945514: aot_gpr_31 = (0x0894551Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0085_entry, 85u, 528u, 0x0895BBA4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894551Cu) goto L_0894551C; AOT_REGCACHE_SYNC_OUT(); return; L_0894551C: - ctx.gpr[2] = (aot_gpr_16 | 0u); + aot_gpr_2 = (ctx.gpr[16] | 0u); goto L_08945520; L_08945520: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; @@ -3666,32 +3667,32 @@ L_0894553C: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8916))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(6572))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); - { const std::uint32_t aot_run_words[4]{aot_gpr_17, ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(4), aot_run_words); } { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08945690; } goto L_08945568; } L_08945568: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(24))); ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_gpr_31 = (0x0894557Cu); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0091_entry, 91u, 725u, 0x08973704u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894557Cu) goto L_0894557C; AOT_REGCACHE_SYNC_OUT(); return; L_0894557C: - ctx.gpr[19] = (aot_gpr_17 + static_cast(80)); + ctx.gpr[19] = (ctx.gpr[17] + static_cast(80)); aot_gpr_31 = (0x08945588u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_089452F4; L_08945588: - aot_gpr_17 = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08945594u); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0091_entry, 91u, 725u, 0x08973704u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08945594u) goto L_08945594; @@ -3700,7 +3701,7 @@ L_08945594: aot_gpr_5 = (ctx.gpr[18] + static_cast(80)); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x089455A4u); - ctx.gpr[6] = (aot_gpr_17 | 0u); + aot_gpr_6 = (ctx.gpr[17] | 0u); goto L_08946354; L_089455A4: aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8944))); @@ -3715,7 +3716,7 @@ L_089455A4: goto L_089455BC; } L_089455BC: - aot_gpr_4 = (aot_gpr_17 & 2048u); + aot_gpr_4 = (ctx.gpr[17] & 2048u); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_4 = (15948u << 16u); if (branch_taken) { @@ -3741,7 +3742,7 @@ L_089455E4: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_14)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); - aot_gpr_4 = (aot_gpr_17 & 256u); + aot_gpr_4 = (ctx.gpr[17] & 256u); if (branch_taken) { goto L_08945620; } @@ -3770,7 +3771,7 @@ L_08945600: goto L_08945620; } L_08945620: - aot_gpr_4 = (aot_gpr_17 & 64u); + aot_gpr_4 = (ctx.gpr[17] & 64u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -3788,7 +3789,7 @@ L_0894562C: } L_08945634: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_gpr_16 | 0u); + aot_gpr_2 = (ctx.gpr[16] | 0u); if (branch_taken) { goto L_08945694; } @@ -3799,12 +3800,12 @@ L_0894563C: aot_gpr_4 = (aot_gpr_4 | 46871u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_5 = (0u | 0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08945658u); aot_fpr_12 = aot_fpr_13 - aot_fpr_12; goto L_08945158; L_08945658: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08945668; @@ -3813,12 +3814,12 @@ L_08945658: } L_08945660: aot_gpr_31 = (0x08945668u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0085_entry, 85u, 528u, 0x0895BBA4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08945668u) goto L_08945668; AOT_REGCACHE_SYNC_OUT(); return; L_08945668: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_gpr_16 | 0u); + aot_gpr_2 = (ctx.gpr[16] | 0u); if (branch_taken) { goto L_08945694; } @@ -3826,12 +3827,12 @@ L_08945668: } L_08945670: aot_fpr_12 = aot_fpr_12 + aot_fpr_13; - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08945680u); aot_gpr_5 = (0u | 0u); goto L_08945158; L_08945680: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08945690; @@ -3840,17 +3841,17 @@ L_08945680: } L_08945688: aot_gpr_31 = (0x08945690u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0085_entry, 85u, 528u, 0x0895BBA4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08945690u) goto L_08945690; AOT_REGCACHE_SYNC_OUT(); return; L_08945690: - ctx.gpr[2] = (aot_gpr_16 | 0u); + aot_gpr_2 = (ctx.gpr[16] | 0u); goto L_08945694; L_08945694: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; @@ -3865,20 +3866,20 @@ L_089456B0: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8932))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(6572))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); - { const std::uint32_t aot_run_words[4]{aot_gpr_17, ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(4), aot_run_words); } { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_089457A8; } goto L_089456DC; } L_089456DC: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(24))); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089456ECu); ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); goto L_089452F4; @@ -3888,14 +3889,14 @@ L_089456EC: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); - aot_gpr_17 = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); if (branch_taken) { goto L_089457A0; } goto L_08945704; } L_08945704: - aot_gpr_4 = (aot_gpr_17 & 2048u); + aot_gpr_4 = (ctx.gpr[17] & 2048u); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_4 = (15948u << 16u); if (branch_taken) { @@ -3917,7 +3918,7 @@ L_08945710: goto L_0894572C; } L_0894572C: - ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_gpr_31 = (0x08945738u); aot_gpr_4 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0091_entry, 91u, 725u, 0x08973704u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08945738u) goto L_08945738; @@ -3932,7 +3933,7 @@ L_08945744: aot_gpr_5 = (ctx.gpr[18] + static_cast(80)); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08945754u); - ctx.gpr[6] = (aot_gpr_17 | 0u); + aot_gpr_6 = (ctx.gpr[17] | 0u); goto L_08946354; L_08945754: aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_0)); @@ -3940,7 +3941,7 @@ L_08945754: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); - aot_gpr_4 = (aot_gpr_17 & 256u); + aot_gpr_4 = (ctx.gpr[17] & 256u); if (branch_taken) { goto L_089457A0; } @@ -3971,7 +3972,7 @@ L_08945774: } L_08945798: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_gpr_16 | 0u); + aot_gpr_2 = (ctx.gpr[16] | 0u); if (branch_taken) { goto L_089457AC; } @@ -3979,17 +3980,17 @@ L_08945798: } L_089457A0: aot_gpr_31 = (0x089457A8u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0085_entry, 85u, 528u, 0x0895BBA4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089457A8u) goto L_089457A8; AOT_REGCACHE_SYNC_OUT(); return; L_089457A8: - ctx.gpr[2] = (aot_gpr_16 | 0u); + aot_gpr_2 = (ctx.gpr[16] | 0u); goto L_089457AC; L_089457AC: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; @@ -4004,32 +4005,32 @@ L_089457C8: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8932))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(6572))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); - { const std::uint32_t aot_run_words[4]{aot_gpr_17, ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(4), aot_run_words); } { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08945910; } goto L_089457F4; } L_089457F4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(24))); ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_gpr_31 = (0x08945808u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0091_entry, 91u, 725u, 0x08973704u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08945808u) goto L_08945808; AOT_REGCACHE_SYNC_OUT(); return; L_08945808: - ctx.gpr[19] = (aot_gpr_17 + static_cast(80)); + ctx.gpr[19] = (ctx.gpr[17] + static_cast(80)); aot_gpr_31 = (0x08945814u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_089452F4; L_08945814: - aot_gpr_17 = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08945820u); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0091_entry, 91u, 725u, 0x08973704u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08945820u) goto L_08945820; @@ -4038,7 +4039,7 @@ L_08945820: aot_gpr_5 = (ctx.gpr[18] + static_cast(80)); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08945830u); - ctx.gpr[6] = (aot_gpr_17 | 0u); + aot_gpr_6 = (ctx.gpr[17] | 0u); goto L_08946354; L_08945830: aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8944))); @@ -4053,7 +4054,7 @@ L_08945830: goto L_08945848; } L_08945848: - aot_gpr_4 = (aot_gpr_17 & 2048u); + aot_gpr_4 = (ctx.gpr[17] & 2048u); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_4 = (15948u << 16u); if (branch_taken) { @@ -4079,7 +4080,7 @@ L_08945870: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_14)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); - aot_gpr_4 = (aot_gpr_17 & 256u); + aot_gpr_4 = (ctx.gpr[17] & 256u); if (branch_taken) { goto L_089458AC; } @@ -4108,7 +4109,7 @@ L_0894588C: goto L_089458AC; } L_089458AC: - aot_gpr_4 = (aot_gpr_17 & 64u); + aot_gpr_4 = (ctx.gpr[17] & 64u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -4126,20 +4127,20 @@ L_089458B8: } L_089458C0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_gpr_16 | 0u); + aot_gpr_2 = (ctx.gpr[16] | 0u); if (branch_taken) { goto L_08945914; } goto L_089458C8; } L_089458C8: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_13)); aot_gpr_31 = (0x089458D8u); aot_gpr_5 = (0u | 0u); goto L_08945158; L_089458D8: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_089458E8; @@ -4148,12 +4149,12 @@ L_089458D8: } L_089458E0: aot_gpr_31 = (0x089458E8u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0085_entry, 85u, 528u, 0x0895BBA4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089458E8u) goto L_089458E8; AOT_REGCACHE_SYNC_OUT(); return; L_089458E8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_gpr_16 | 0u); + aot_gpr_2 = (ctx.gpr[16] | 0u); if (branch_taken) { goto L_08945914; } @@ -4161,12 +4162,12 @@ L_089458E8: } L_089458F0: aot_fpr_12 = aot_fpr_12 + aot_fpr_13; - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08945900u); aot_gpr_5 = (0u | 0u); goto L_08945158; L_08945900: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08945910; @@ -4175,17 +4176,17 @@ L_08945900: } L_08945908: aot_gpr_31 = (0x08945910u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0085_entry, 85u, 528u, 0x0895BBA4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08945910u) goto L_08945910; AOT_REGCACHE_SYNC_OUT(); return; L_08945910: - ctx.gpr[2] = (aot_gpr_16 | 0u); + aot_gpr_2 = (ctx.gpr[16] | 0u); goto L_08945914; L_08945914: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; @@ -4198,20 +4199,20 @@ L_08945914: AOT_REGCACHE_SYNC_OUT(); return; L_08945930: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x08945944u); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); goto L_08945288; L_08945944: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(6572))); aot_fpr_12 = std::sqrt(aot_fpr_12); aot_gpr_31 = (0x08945954u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0170_entry, 170u, 384u, 0x08AAE058u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08945954u) goto L_08945954; AOT_REGCACHE_SYNC_OUT(); return; L_08945954: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -4221,7 +4222,7 @@ L_08945954: } L_08945960: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(20))); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop if (branch_taken) { @@ -4231,19 +4232,19 @@ L_08945960: } L_08945970: aot_gpr_5 = (aot_gpr_4 | 0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08945980u); - ctx.gpr[6] = (0u | 4u); + aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0085_entry, 85u, 455u, 0x0895B470u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08945980u) goto L_08945980; AOT_REGCACHE_SYNC_OUT(); return; L_08945980: aot_gpr_31 = (0x08945988u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0085_entry, 85u, 528u, 0x0895BBA4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08945988u) goto L_08945988; AOT_REGCACHE_SYNC_OUT(); return; L_08945988: - ctx.gpr[2] = (aot_gpr_16 | 0u); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_2 = (ctx.gpr[16] | 0u); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -4255,39 +4256,39 @@ L_0894599C: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8932))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(6572))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[16]); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); - { const std::uint32_t aot_run_words[3]{aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(16), aot_run_words); } { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08945A60; } goto L_089459C4; } L_089459C4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(24))); ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_gpr_31 = (0x089459D8u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0091_entry, 91u, 725u, 0x08973704u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089459D8u) goto L_089459D8; AOT_REGCACHE_SYNC_OUT(); return; L_089459D8: - aot_gpr_17 = (aot_gpr_17 + static_cast(80)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(80)); aot_gpr_31 = (0x089459E4u); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0091_entry, 91u, 725u, 0x08973704u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089459E4u) goto L_089459E4; AOT_REGCACHE_SYNC_OUT(); return; L_089459E4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-18092))); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(48))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(48))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(52))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(52))); ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; - ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(56))); + ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(56))); aot_gpr_5 = (ctx.gpr[18] + static_cast(80)); aot_fpr_14 = aot_fpr_14 - ctx.fpr[15]; ctx.fpr[17] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); @@ -4300,7 +4301,7 @@ L_089459E4: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), std::bit_cast(aot_fpr_14)); { const float fs = aot_fpr_14; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), std::bit_cast(ctx.fpr[16])); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 1u); { const float fs = ctx.fpr[16]; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } aot_fpr_12 = ctx.fpr[18] + aot_fpr_12; @@ -4310,7 +4311,7 @@ L_089459E4: aot_fpr_12 = aot_fpr_12 + ctx.fpr[16]; goto L_08945158; L_08945A50: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08945A60; @@ -4319,15 +4320,15 @@ L_08945A50: } L_08945A58: aot_gpr_31 = (0x08945A60u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0085_entry, 85u, 528u, 0x0895BBA4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08945A60u) goto L_08945A60; AOT_REGCACHE_SYNC_OUT(); return; L_08945A60: - ctx.gpr[2] = (aot_gpr_16 | 0u); + aot_gpr_2 = (ctx.gpr[16] | 0u); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(12), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -4341,39 +4342,39 @@ L_08945A7C: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8916))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(6572))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[16]); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); - { const std::uint32_t aot_run_words[3]{aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(16), aot_run_words); } { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08945B44; } goto L_08945AA4; } L_08945AA4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(24))); ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_gpr_31 = (0x08945AB8u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0091_entry, 91u, 725u, 0x08973704u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08945AB8u) goto L_08945AB8; AOT_REGCACHE_SYNC_OUT(); return; L_08945AB8: - aot_gpr_17 = (aot_gpr_17 + static_cast(80)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(80)); aot_gpr_31 = (0x08945AC4u); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0091_entry, 91u, 725u, 0x08973704u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08945AC4u) goto L_08945AC4; AOT_REGCACHE_SYNC_OUT(); return; L_08945AC4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-18092))); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(48))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(48))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(52))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(52))); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(56))); + ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(56))); aot_gpr_5 = (ctx.gpr[18] + static_cast(80)); aot_fpr_14 = aot_fpr_14 - ctx.fpr[15]; ctx.fpr[17] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); @@ -4388,7 +4389,7 @@ L_08945AC4: { const float fs = ctx.fpr[16]; const float ft = ctx.fpr[19]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_13 = ctx.fpr[18] + aot_fpr_13; aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(6572))); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 1u); aot_fpr_12 = aot_fpr_13 + aot_fpr_12; aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); @@ -4396,7 +4397,7 @@ L_08945AC4: aot_fpr_12 = aot_fpr_12 + aot_fpr_14; goto L_08945158; L_08945B34: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08945B44; @@ -4405,15 +4406,15 @@ L_08945B34: } L_08945B3C: aot_gpr_31 = (0x08945B44u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0085_entry, 85u, 528u, 0x0895BBA4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08945B44u) goto L_08945B44; AOT_REGCACHE_SYNC_OUT(); return; L_08945B44: - ctx.gpr[2] = (aot_gpr_16 | 0u); + aot_gpr_2 = (ctx.gpr[16] | 0u); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(12), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -4427,11 +4428,11 @@ L_08945B60: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8932))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(6572))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08945B88; } @@ -4439,12 +4440,12 @@ L_08945B60: } L_08945B80: aot_gpr_31 = (0x08945B88u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0085_entry, 85u, 528u, 0x0895BBA4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08945B88u) goto L_08945B88; AOT_REGCACHE_SYNC_OUT(); return; L_08945B88: - ctx.gpr[2] = (aot_gpr_16 | 0u); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_2 = (ctx.gpr[16] | 0u); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -4456,12 +4457,12 @@ L_08945B9C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8928))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(6572))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 <= aot_fpr_12)) ? 0x00800000u : 0u); - { const std::uint32_t aot_run_words[3]{aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(4), aot_run_words); } { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08945C78; } @@ -4479,12 +4480,12 @@ L_08945BC4: goto L_08945BD8; } L_08945BD8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(24))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8944))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 < aot_fpr_12)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); if (branch_taken) { goto L_08945C70; } @@ -4492,10 +4493,10 @@ L_08945BD8: } L_08945BF0: aot_gpr_31 = (0x08945BF8u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_089452F4; L_08945BF8: - aot_gpr_4 = (ctx.gpr[2] & 2048u); + aot_gpr_4 = (aot_gpr_2 & 2048u); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_4 = (15948u << 16u); if (branch_taken) { @@ -4517,7 +4518,7 @@ L_08945C04: goto L_08945C20; } L_08945C20: - ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_gpr_31 = (0x08945C2Cu); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0091_entry, 91u, 725u, 0x08973704u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08945C2Cu) goto L_08945C2C; @@ -4525,19 +4526,19 @@ L_08945C20: L_08945C2C: ctx.gpr[18] = (ctx.gpr[18] + static_cast(80)); aot_gpr_31 = (0x08945C38u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0091_entry, 91u, 725u, 0x08973704u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08945C38u) goto L_08945C38; AOT_REGCACHE_SYNC_OUT(); return; L_08945C38: - aot_gpr_17 = (aot_gpr_17 + static_cast(80)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(80)); aot_gpr_31 = (0x08945C44u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_089452F4; L_08945C44: aot_gpr_4 = (ctx.gpr[18] | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08945C54u); - ctx.gpr[6] = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); goto L_08946354; L_08945C54: aot_fpr_12 = std::bit_cast(0u); @@ -4552,7 +4553,7 @@ L_08945C54: } L_08945C68: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_gpr_16 | 0u); + aot_gpr_2 = (ctx.gpr[16] | 0u); if (branch_taken) { goto L_08945C7C; } @@ -4560,17 +4561,17 @@ L_08945C68: } L_08945C70: aot_gpr_31 = (0x08945C78u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0085_entry, 85u, 528u, 0x0895BBA4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08945C78u) goto L_08945C78; AOT_REGCACHE_SYNC_OUT(); return; L_08945C78: - ctx.gpr[2] = (aot_gpr_16 | 0u); + aot_gpr_2 = (ctx.gpr[16] | 0u); goto L_08945C7C; L_08945C7C: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -4584,24 +4585,24 @@ L_08945C94: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8928))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(6572))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 <= aot_fpr_12)) ? 0x00800000u : 0u); - { const std::uint32_t aot_run_words[3]{aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(4), aot_run_words); } { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08945D5C; } goto L_08945CBC; } L_08945CBC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(24))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8944))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 < aot_fpr_12)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); if (branch_taken) { goto L_08945D54; } @@ -4609,10 +4610,10 @@ L_08945CBC: } L_08945CD4: aot_gpr_31 = (0x08945CDCu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_089452F4; L_08945CDC: - aot_gpr_4 = (ctx.gpr[2] & 2048u); + aot_gpr_4 = (aot_gpr_2 & 2048u); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_4 = (15948u << 16u); if (branch_taken) { @@ -4634,7 +4635,7 @@ L_08945CE8: goto L_08945D04; } L_08945D04: - ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_gpr_31 = (0x08945D10u); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0091_entry, 91u, 725u, 0x08973704u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08945D10u) goto L_08945D10; @@ -4642,19 +4643,19 @@ L_08945D04: L_08945D10: ctx.gpr[18] = (ctx.gpr[18] + static_cast(80)); aot_gpr_31 = (0x08945D1Cu); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0091_entry, 91u, 725u, 0x08973704u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08945D1Cu) goto L_08945D1C; AOT_REGCACHE_SYNC_OUT(); return; L_08945D1C: - aot_gpr_17 = (aot_gpr_17 + static_cast(80)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(80)); aot_gpr_31 = (0x08945D28u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_089452F4; L_08945D28: aot_gpr_4 = (ctx.gpr[18] | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08945D38u); - ctx.gpr[6] = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); goto L_08946354; L_08945D38: aot_fpr_12 = std::bit_cast(0u); @@ -4669,7 +4670,7 @@ L_08945D38: } L_08945D4C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_gpr_16 | 0u); + aot_gpr_2 = (ctx.gpr[16] | 0u); if (branch_taken) { goto L_08945D60; } @@ -4677,17 +4678,17 @@ L_08945D4C: } L_08945D54: aot_gpr_31 = (0x08945D5Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0085_entry, 85u, 528u, 0x0895BBA4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08945D5Cu) goto L_08945D5C; AOT_REGCACHE_SYNC_OUT(); return; L_08945D5C: - ctx.gpr[2] = (aot_gpr_16 | 0u); + aot_gpr_2 = (ctx.gpr[16] | 0u); goto L_08945D60; L_08945D60: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -4701,12 +4702,12 @@ L_08945D78: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8928))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(6572))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); - { const std::uint32_t aot_run_words[4]{aot_gpr_17, ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(4), aot_run_words); } { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08945E74; } @@ -4724,20 +4725,20 @@ L_08945DA4: goto L_08945DB8; } L_08945DB8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(24))); ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_gpr_31 = (0x08945DCCu); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0091_entry, 91u, 725u, 0x08973704u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08945DCCu) goto L_08945DCC; AOT_REGCACHE_SYNC_OUT(); return; L_08945DCC: - ctx.gpr[19] = (aot_gpr_17 + static_cast(80)); + ctx.gpr[19] = (ctx.gpr[17] + static_cast(80)); aot_gpr_31 = (0x08945DD8u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_089452F4; L_08945DD8: - aot_gpr_17 = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08945DE4u); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0091_entry, 91u, 725u, 0x08973704u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08945DE4u) goto L_08945DE4; @@ -4746,7 +4747,7 @@ L_08945DE4: aot_gpr_5 = (ctx.gpr[18] + static_cast(80)); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08945DF4u); - ctx.gpr[6] = (aot_gpr_17 | 0u); + aot_gpr_6 = (ctx.gpr[17] | 0u); goto L_08946354; L_08945DF4: aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_0)); @@ -4765,7 +4766,7 @@ L_08945E0C: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_14 < aot_fpr_13)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); - aot_gpr_4 = (aot_gpr_17 & 2048u); + aot_gpr_4 = (ctx.gpr[17] & 2048u); if (branch_taken) { goto L_08945E44; } @@ -4794,12 +4795,12 @@ L_08945E28: } L_08945E44: aot_fpr_12 = aot_fpr_12 + aot_fpr_13; - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08945E54u); aot_gpr_5 = (0u | 0u); goto L_08945158; L_08945E54: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08945E6C; @@ -4816,7 +4817,7 @@ L_08945E5C: } L_08945E64: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_gpr_16 | 0u); + aot_gpr_2 = (ctx.gpr[16] | 0u); if (branch_taken) { goto L_08945E78; } @@ -4824,17 +4825,17 @@ L_08945E64: } L_08945E6C: aot_gpr_31 = (0x08945E74u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0085_entry, 85u, 528u, 0x0895BBA4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08945E74u) goto L_08945E74; AOT_REGCACHE_SYNC_OUT(); return; L_08945E74: - ctx.gpr[2] = (aot_gpr_16 | 0u); + aot_gpr_2 = (ctx.gpr[16] | 0u); goto L_08945E78; L_08945E78: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; @@ -4849,32 +4850,32 @@ L_08945E94: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8928))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(6572))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); - { const std::uint32_t aot_run_words[4]{aot_gpr_17, ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(4), aot_run_words); } { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08945FA8; } goto L_08945EC0; } L_08945EC0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(24))); ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_gpr_31 = (0x08945ED4u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0091_entry, 91u, 725u, 0x08973704u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08945ED4u) goto L_08945ED4; AOT_REGCACHE_SYNC_OUT(); return; L_08945ED4: - ctx.gpr[19] = (aot_gpr_17 + static_cast(80)); + ctx.gpr[19] = (ctx.gpr[17] + static_cast(80)); aot_gpr_31 = (0x08945EE0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_089452F4; L_08945EE0: - aot_gpr_17 = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08945EECu); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0091_entry, 91u, 725u, 0x08973704u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08945EECu) goto L_08945EEC; @@ -4883,7 +4884,7 @@ L_08945EEC: aot_gpr_5 = (ctx.gpr[18] + static_cast(80)); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08945EFCu); - ctx.gpr[6] = (aot_gpr_17 | 0u); + aot_gpr_6 = (ctx.gpr[17] | 0u); goto L_08946354; L_08945EFC: aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8944))); @@ -4898,7 +4899,7 @@ L_08945EFC: goto L_08945F14; } L_08945F14: - aot_gpr_4 = (aot_gpr_17 & 2048u); + aot_gpr_4 = (ctx.gpr[17] & 2048u); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_4 = (15948u << 16u); if (branch_taken) { @@ -4924,7 +4925,7 @@ L_08945F3C: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_14)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); - aot_gpr_4 = (aot_gpr_17 & 256u); + aot_gpr_4 = (ctx.gpr[17] & 256u); if (branch_taken) { goto L_08945F78; } @@ -4954,12 +4955,12 @@ L_08945F58: } L_08945F78: aot_fpr_12 = aot_fpr_12 + aot_fpr_13; - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08945F88u); aot_gpr_5 = (0u | 0u); goto L_08945158; L_08945F88: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08945FA0; @@ -4976,7 +4977,7 @@ L_08945F90: } L_08945F98: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_gpr_16 | 0u); + aot_gpr_2 = (ctx.gpr[16] | 0u); if (branch_taken) { goto L_08945FAC; } @@ -4984,17 +4985,17 @@ L_08945F98: } L_08945FA0: aot_gpr_31 = (0x08945FA8u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0085_entry, 85u, 528u, 0x0895BBA4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08945FA8u) goto L_08945FA8; AOT_REGCACHE_SYNC_OUT(); return; L_08945FA8: - ctx.gpr[2] = (aot_gpr_16 | 0u); + aot_gpr_2 = (ctx.gpr[16] | 0u); goto L_08945FAC; L_08945FAC: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; @@ -5009,11 +5010,11 @@ L_08945FC8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8916))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(6572))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08945FF0; } @@ -5021,12 +5022,12 @@ L_08945FC8: } L_08945FE8: aot_gpr_31 = (0x08945FF0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0085_entry, 85u, 528u, 0x0895BBA4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08945FF0u) goto L_08945FF0; AOT_REGCACHE_SYNC_OUT(); return; L_08945FF0: - ctx.gpr[2] = (aot_gpr_16 | 0u); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_2 = (ctx.gpr[16] | 0u); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -5038,11 +5039,11 @@ L_08946004: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8916))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(6572))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08946038; } @@ -5050,16 +5051,16 @@ L_08946004: } L_08946024: aot_gpr_31 = (0x0894602Cu); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(24))); goto L_0894530C; L_0894602C: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08946038u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); goto L_0894628C; L_08946038: - ctx.gpr[2] = (aot_gpr_16 | 0u); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_2 = (ctx.gpr[16] | 0u); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -5071,11 +5072,11 @@ L_0894604C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8932))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(6572))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08946074; } @@ -5083,12 +5084,12 @@ L_0894604C: } L_0894606C: aot_gpr_31 = (0x08946074u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0085_entry, 85u, 528u, 0x0895BBA4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08946074u) goto L_08946074; AOT_REGCACHE_SYNC_OUT(); return; L_08946074: - ctx.gpr[2] = (aot_gpr_16 | 0u); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_2 = (ctx.gpr[16] | 0u); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -5100,11 +5101,11 @@ L_08946088: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8932))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(6572))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_089460BC; } @@ -5112,16 +5113,16 @@ L_08946088: } L_089460A8: aot_gpr_31 = (0x089460B0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(24))); goto L_0894530C; L_089460B0: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089460BCu); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); goto L_0894628C; L_089460BC: - ctx.gpr[2] = (aot_gpr_16 | 0u); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_2 = (ctx.gpr[16] | 0u); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -5131,13 +5132,13 @@ L_089460BC: AOT_REGCACHE_SYNC_OUT(); return; L_089460D0: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(24))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x089460F0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); goto L_089462F0; L_089460F0: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8936))); @@ -5152,19 +5153,19 @@ L_089460F0: } L_08946104: aot_gpr_31 = (0x0894610Cu); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); goto L_0894530C; L_0894610C: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08946118u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); goto L_0894628C; L_08946118: - ctx.gpr[2] = (aot_gpr_16 | 0u); + aot_gpr_2 = (ctx.gpr[16] | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -5216,17 +5217,17 @@ L_08946168: aot_gpr_5 = (aot_gpr_5 + static_cast(32304)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(80))); aot_gpr_4 = (aot_gpr_4 << 5u); - ctx.gpr[6] = (ctx.gpr[2] + static_cast(64)); + aot_gpr_6 = (aot_gpr_2 + static_cast(64)); ctx.gpr[7] = (0u - aot_gpr_4); aot_gpr_4 = (aot_gpr_4 << 2u); - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-18092), ctx.gpr[6]); - ctx.gpr[6] = (ctx.gpr[7] + aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-18092), aot_gpr_6); + aot_gpr_6 = (ctx.gpr[7] + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 << 2u); - aot_gpr_4 = (ctx.gpr[6] + aot_gpr_4); + aot_gpr_4 = (aot_gpr_6 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(112)))))); - ctx.gpr[6] = (0u | 1u); - { const bool branch_taken = aot_gpr_4 == ctx.gpr[6]; + aot_gpr_6 = (0u | 1u); + { const bool branch_taken = aot_gpr_4 == aot_gpr_6; aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(1960))); if (branch_taken) { goto L_089461B4; @@ -5234,8 +5235,8 @@ L_08946168: goto L_089461A8; } L_089461A8: - ctx.gpr[6] = (0u | 37u); - { const bool branch_taken = aot_gpr_4 != ctx.gpr[6]; + aot_gpr_6 = (0u | 37u); + { const bool branch_taken = aot_gpr_4 != aot_gpr_6; aot_gpr_4 = (16800u << 16u); if (branch_taken) { goto L_089461C8; @@ -5315,28 +5316,28 @@ L_0894624C: AOT_REGCACHE_SYNC_OUT(); return; L_0894628C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - ctx.gpr[6] = (23808u << 16u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_5 = (aot_gpr_5 | ctx.gpr[6]); - aot_gpr_16 = (2236u << 16u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29552))); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(0), aot_gpr_5); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29552))); + aot_gpr_6 = (23808u << 16u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + aot_gpr_5 = (aot_gpr_5 | aot_gpr_6); + ctx.gpr[16] = (2236u << 16u); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(29552))); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(0), aot_gpr_5); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(29552))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_5 = (aot_gpr_5 + static_cast(4)); aot_gpr_31 = (0x089462BCu); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(29552), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(29552), aot_gpr_5); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0085_entry, 85u, 528u, 0x0895BBA4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089462BCu) goto L_089462BC; AOT_REGCACHE_SYNC_OUT(); return; L_089462BC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29552))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(29552))); aot_gpr_5 = (23808u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(255)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_5); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29552))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(29552))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(29552), aot_gpr_4); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(29552), aot_gpr_4); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -5346,21 +5347,21 @@ L_089462BC: AOT_REGCACHE_SYNC_OUT(); return; L_089462E8: jump_target = aot_gpr_31; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_089462F0: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); aot_gpr_31 = (0x08946304u); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0091_entry, 91u, 725u, 0x08973704u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08946304u) goto L_08946304; AOT_REGCACHE_SYNC_OUT(); return; L_08946304: - aot_gpr_4 = (aot_gpr_16 + static_cast(128)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(128)); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-18092))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); @@ -5376,7 +5377,7 @@ L_08946304: { const float fs = ctx.fpr[16]; const float ft = ctx.fpr[16]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_0 = std::bit_cast(0x7FC00000u); else aot_fpr_0 = fs * ft; } aot_fpr_12 = aot_fpr_12 + aot_fpr_14; aot_fpr_0 = aot_fpr_12 + aot_fpr_0; - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); @@ -5395,7 +5396,7 @@ L_08946354: ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(56))); ctx.fpr[17] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(8))); aot_fpr_14 = aot_fpr_14 - ctx.fpr[15]; - aot_gpr_4 = (ctx.gpr[6] & 48u); + aot_gpr_4 = (aot_gpr_6 & 48u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), std::bit_cast(aot_fpr_12)); aot_fpr_12 = ctx.fpr[16] - ctx.fpr[17]; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), std::bit_cast(aot_fpr_14)); @@ -5425,7 +5426,7 @@ L_08946394: goto L_089463C4; } L_089463C4: - aot_gpr_4 = (ctx.gpr[6] & 12u); + aot_gpr_4 = (aot_gpr_6 & 12u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -5455,7 +5456,7 @@ L_08946400: aot_fpr_0 = std::bit_cast(0u); goto L_08946404; L_08946404: - aot_gpr_4 = (ctx.gpr[6] & 36u); + aot_gpr_4 = (aot_gpr_6 & 36u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -5467,7 +5468,7 @@ L_08946410: aot_fpr_0 = std::bit_cast(std::bit_cast(aot_fpr_0) ^ 0x80000000u); goto L_08946414; L_08946414: - aot_gpr_4 = (ctx.gpr[6] & 1536u); + aot_gpr_4 = (aot_gpr_6 & 1536u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -5476,7 +5477,7 @@ L_08946414: goto L_08946420; } L_08946420: - aot_gpr_4 = (ctx.gpr[6] & 512u); + aot_gpr_4 = (aot_gpr_6 & 512u); { const bool branch_taken = aot_gpr_4 == 0u; aot_fpr_13 = std::bit_cast(0u); if (branch_taken) { @@ -5504,7 +5505,7 @@ L_0894642C: goto L_08946460; } L_08946460: - aot_gpr_4 = (ctx.gpr[6] & 1024u); + aot_gpr_4 = (aot_gpr_6 & 1024u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -5598,24 +5599,24 @@ L_089464E8: AOT_REGCACHE_SYNC_OUT(); return; L_0894651C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_16 = (aot_gpr_5 | 0u); - aot_gpr_17 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[16] = (aot_gpr_5 | 0u); + ctx.gpr[17] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x0894653Cu); aot_gpr_5 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 555u, 0x088079D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894653Cu) goto L_0894653C; AOT_REGCACHE_SYNC_OUT(); return; L_0894653C: - aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_2 + static_cast(0), ctx.gpr[16]); aot_gpr_5 = (ctx.gpr[28] + static_cast(-18004)); aot_gpr_31 = (0x0894654Cu); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0038_entry, 38u, 249u, 0x0889D344u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894654Cu) goto L_0894654C; AOT_REGCACHE_SYNC_OUT(); return; L_0894654C: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08946558u); aot_gpr_5 = (0u + static_cast(-2)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 492u, 0x08807510u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08946558u) goto L_08946558; @@ -5623,8 +5624,8 @@ L_0894654C: L_08946558: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -5635,24 +5636,24 @@ L_08946558: AOT_REGCACHE_SYNC_OUT(); return; L_0894656C: aot_gpr_29 = (aot_gpr_29 + static_cast(-64)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), aot_gpr_17); - aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_17 = (0u | 1u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), ctx.gpr[16]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), ctx.gpr[17]); + ctx.gpr[16] = (aot_gpr_4 | 0u); + ctx.gpr[17] = (0u | 1u); { const std::uint32_t aot_run_words[5]{ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(40), aot_run_words); } aot_gpr_31 = (0x0894659Cu); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894659Cu) goto L_0894659C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894659Cu) goto L_0894659C; AOT_REGCACHE_SYNC_OUT(); return; L_0894659C: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_0)); ctx.gpr[21] = (aot_gpr_29 + static_cast(16)); ctx.gpr[20] = (0u | 0u); aot_gpr_4 = (ctx.gpr[21] | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); ctx.gpr[18] = (std::bit_cast(aot_fpr_12)); - ctx.gpr[6] = (0u | 2u); + aot_gpr_6 = (0u | 2u); aot_gpr_31 = (0x089465C0u); ctx.gpr[7] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0075_entry, 75u, 315u, 0x08931AF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089465C0u) goto L_089465C0; @@ -5671,10 +5672,10 @@ L_089465C0: goto L_089465DC; } L_089465DC: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089465E8u); aot_gpr_5 = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089465E8u) goto L_089465E8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089465E8u) goto L_089465E8; AOT_REGCACHE_SYNC_OUT(); return; L_089465E8: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_0)); @@ -5698,11 +5699,11 @@ L_08946604: goto L_0894660C; } L_0894660C: - ctx.gpr[6] = (2232u << 16u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_6 = (2232u << 16u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 2u); aot_gpr_31 = (0x08946620u); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(-9496)); + aot_gpr_6 = (aot_gpr_6 + static_cast(-9496)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0038_entry, 38u, 201u, 0x0889CFFCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08946620u) goto L_08946620; AOT_REGCACHE_SYNC_OUT(); return; L_08946620: @@ -5773,7 +5774,7 @@ L_08946678: } L_08946680: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_gpr_17 | 0u); + aot_gpr_2 = (ctx.gpr[17] | 0u); if (branch_taken) { goto L_0894674C; } @@ -5819,7 +5820,7 @@ L_089466B4: goto L_089466C4; } L_089466C4: - ctx.gpr[20] = (aot_gpr_17 | 0u); + ctx.gpr[20] = (ctx.gpr[17] | 0u); goto L_089466C8; L_089466C8: { const std::uint32_t vfpu_address = ctx.gpr[21] + static_cast(0); @@ -5845,7 +5846,7 @@ L_089466DC: ctx.gpr[7] = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); - ctx.gpr[6] = (ctx.gpr[21] | 0u); + aot_gpr_6 = (ctx.gpr[21] | 0u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); aot_gpr_31 = (0x089466FCu); @@ -5853,19 +5854,19 @@ L_089466DC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0060_entry, 60u, 409u, 0x088F5A3Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089466FCu) goto L_089466FC; AOT_REGCACHE_SYNC_OUT(); return; L_089466FC: - ctx.gpr[18] = (ctx.gpr[2] | 0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x0894670Cu); aot_gpr_5 = (ctx.gpr[18] | 0u); goto L_0894651C; L_0894670C: - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); aot_gpr_31 = (0x08946718u); aot_gpr_4 = (0u | 132u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08946718u) goto L_08946718; AOT_REGCACHE_SYNC_OUT(); return; L_08946718: - ctx.gpr[20] = (ctx.gpr[2] | 0u); + ctx.gpr[20] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[20] == 0u; aot_gpr_4 = (ctx.gpr[20] | 0u); if (branch_taken) { @@ -5879,7 +5880,7 @@ L_08946724: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0129_entry, 129u, 314u, 0x08A0A1DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894672Cu) goto L_0894672C; AOT_REGCACHE_SYNC_OUT(); return; L_0894672C: - aot_gpr_16 = (ctx.gpr[20] | 0u); + ctx.gpr[16] = (ctx.gpr[20] | 0u); goto L_08946730; L_08946730: aot_gpr_4 = (ctx.gpr[19] + static_cast(116)); @@ -5888,19 +5889,19 @@ L_08946730: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0075_entry, 75u, 759u, 0x08933F0Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894673Cu) goto L_0894673C; AOT_REGCACHE_SYNC_OUT(); return; L_0894673C: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08946748u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0045_entry, 45u, 623u, 0x088BAFE8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08946748u) goto L_08946748; AOT_REGCACHE_SYNC_OUT(); return; L_08946748: - ctx.gpr[2] = (aot_gpr_17 | 0u); + aot_gpr_2 = (ctx.gpr[17] | 0u); goto L_0894674C; L_0894674C: { std::uint32_t aot_run_words[7]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(32), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -5917,30 +5918,30 @@ L_08946770: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), ctx.gpr[19]); ctx.gpr[19] = (2237u << 16u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.gpr[19] = (ctx.gpr[19] + static_cast(-28736)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(100))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), ctx.gpr[18]); { const std::uint32_t aot_run_words[3]{ctx.gpr[20], ctx.gpr[21], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(36), aot_run_words); } - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); ctx.gpr[18] = (0u | 0u); ctx.gpr[21] = (aot_gpr_29 + static_cast(16)); goto L_089467AC; L_089467AC: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(112))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(108))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(108))); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(52))); - aot_gpr_5 = (aot_gpr_5 - ctx.gpr[6]); - ctx.gpr[6] = (static_cast(static_cast(aot_gpr_5) >> 2u)); - ctx.gpr[6] = (ctx.gpr[6] >> 30u); - aot_gpr_5 = (aot_gpr_5 + ctx.gpr[6]); + aot_gpr_5 = (aot_gpr_5 - aot_gpr_6); + aot_gpr_6 = (static_cast(static_cast(aot_gpr_5) >> 2u)); + aot_gpr_6 = (aot_gpr_6 >> 30u); + aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); aot_gpr_5 = (static_cast(static_cast(aot_gpr_5) >> 2u)); - ctx.gpr[6] = (aot_gpr_5 < aot_gpr_4 ? 1u : 0u); - if (ctx.gpr[6] != 0u) { + aot_gpr_6 = (aot_gpr_5 < aot_gpr_4 ? 1u : 0u); + if (aot_gpr_6 != 0u) { aot_gpr_5 = (aot_gpr_4 | 0u); goto L_089467DC; } @@ -5961,7 +5962,7 @@ L_089467E8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 12u, 0x08ADC0F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089467F4u) goto L_089467F4; AOT_REGCACHE_SYNC_OUT(); return; L_089467F4: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08946854; @@ -5975,7 +5976,7 @@ L_089467FC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 12u, 0x08ADC0F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08946808u) goto L_08946808; AOT_REGCACHE_SYNC_OUT(); return; L_08946808: - ctx.gpr[20] = (ctx.gpr[2] | 0u); + ctx.gpr[20] = (aot_gpr_2 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(96))); if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(96))); @@ -5986,11 +5987,11 @@ L_08946818: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[20] + static_cast(10)))))); aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08946828u); - ctx.gpr[6] = (ctx.gpr[21] | 0u); + aot_gpr_6 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08946828u) goto L_08946828; AOT_REGCACHE_SYNC_OUT(); return; L_08946828: - aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(96), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(16))); aot_mem.aot_direct_store8(ctx.gpr[20] + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(96))); @@ -6007,8 +6008,8 @@ L_08946838: goto L_0894684C; } L_0894684C: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - aot_gpr_17 = (aot_gpr_17 & 255u); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + ctx.gpr[17] = (ctx.gpr[17] & 255u); goto L_08946854; L_08946854: ctx.gpr[18] = (ctx.gpr[18] + static_cast(1)); @@ -6020,7 +6021,7 @@ L_08946854: goto L_08946860; } L_08946860: - { const bool branch_taken = aot_gpr_17 != 0u; + { const bool branch_taken = ctx.gpr[17] != 0u; // nop if (branch_taken) { goto L_089468A8; @@ -6035,8 +6036,8 @@ L_08946868: aot_gpr_5 = (aot_gpr_5 + static_cast(31024)); goto L_0894687C; L_0894687C: - ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(56))); - { const bool branch_taken = ctx.gpr[6] == ctx.gpr[7]; + aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(56))); + { const bool branch_taken = aot_gpr_6 == ctx.gpr[7]; // nop if (branch_taken) { goto L_08946890; @@ -6044,7 +6045,7 @@ L_0894687C: goto L_08946888; } L_08946888: - { const bool branch_taken = ctx.gpr[6] != ctx.gpr[8]; + { const bool branch_taken = aot_gpr_6 != ctx.gpr[8]; // nop if (branch_taken) { goto L_08946898; @@ -6052,13 +6053,13 @@ L_08946888: goto L_08946890; } L_08946890: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - aot_gpr_17 = (aot_gpr_17 & 255u); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + ctx.gpr[17] = (ctx.gpr[17] & 255u); goto L_08946898; L_08946898: aot_gpr_4 = (aot_gpr_4 + static_cast(1)); - ctx.gpr[6] = (static_cast(aot_gpr_4) < 336 ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] != 0u; + aot_gpr_6 = (static_cast(aot_gpr_4) < 336 ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 != 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(64)); if (branch_taken) { goto L_0894687C; @@ -6066,18 +6067,18 @@ L_08946898: goto L_089468A8; } L_089468A8: - aot_fpr_12 = std::bit_cast(aot_gpr_17); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_fpr_12 = std::bit_cast(ctx.gpr[17]); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089468B8u); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089468B8u) goto L_089468B8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089468B8u) goto L_089468B8; AOT_REGCACHE_SYNC_OUT(); return; L_089468B8: - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); { std::uint32_t aot_run_words[7]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(20), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -6092,16 +6093,16 @@ L_089468B8: AOT_REGCACHE_SYNC_OUT(); return; L_089468E0: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - ctx.gpr[6] = (ctx.gpr[28] + static_cast(-18004)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; + aot_gpr_6 = (ctx.gpr[28] + static_cast(-18004)); + { const std::uint32_t aot_run_words[3]{ctx.gpr[16], ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_31 = (0x089468FCu); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0038_entry, 38u, 252u, 0x0889D374u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089468FCu) goto L_089468FC; AOT_REGCACHE_SYNC_OUT(); return; L_089468FC: - aot_gpr_17 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_08946924; @@ -6109,9 +6110,9 @@ L_089468FC: goto L_08946908; } L_08946908: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); - aot_gpr_16 = (0u + static_cast(-1)); - { const bool branch_taken = aot_gpr_4 == aot_gpr_16; + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); + ctx.gpr[16] = (0u + static_cast(-1)); + { const bool branch_taken = aot_gpr_4 == ctx.gpr[16]; // nop if (branch_taken) { goto L_08946924; @@ -6124,14 +6125,14 @@ L_08946918: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0059_entry, 59u, 608u, 0x088F2DDCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08946920u) goto L_08946920; AOT_REGCACHE_SYNC_OUT(); return; L_08946920: - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), ctx.gpr[16]); goto L_08946924; L_08946924: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -6142,18 +6143,18 @@ L_08946924: AOT_REGCACHE_SYNC_OUT(); return; L_0894693C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_17 = (0u | 1u); - ctx.gpr[6] = (ctx.gpr[28] + static_cast(-18004)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[16] = (aot_gpr_4 | 0u); + ctx.gpr[17] = (0u | 1u); + aot_gpr_6 = (ctx.gpr[28] + static_cast(-18004)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08946960u); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0038_entry, 38u, 252u, 0x0889D374u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08946960u) goto L_08946960; AOT_REGCACHE_SYNC_OUT(); return; L_08946960: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -6178,31 +6179,31 @@ L_0894697C: AOT_REGCACHE_SYNC_OUT(); return; L_08946984: aot_gpr_5 = (2246u << 16u); - aot_gpr_4 = (ctx.gpr[2] << 6u); + aot_gpr_4 = (aot_gpr_2 << 6u); aot_gpr_5 = (aot_gpr_5 + static_cast(31024)); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(57))); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089469A4u); aot_gpr_5 = (aot_gpr_5 < static_cast(1) ? 1u : 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089469A4u) goto L_089469A4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089469A4u) goto L_089469A4; AOT_REGCACHE_SYNC_OUT(); return; L_089469A4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_gpr_17 | 0u); + aot_gpr_2 = (ctx.gpr[17] | 0u); if (branch_taken) { goto L_089469B0; } goto L_089469AC; } L_089469AC: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_089469B0; L_089469B0: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -6213,18 +6214,18 @@ L_089469B0: AOT_REGCACHE_SYNC_OUT(); return; L_089469C4: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_17 = (0u | 1u); - ctx.gpr[6] = (ctx.gpr[28] + static_cast(-18004)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[16] = (aot_gpr_4 | 0u); + ctx.gpr[17] = (0u | 1u); + aot_gpr_6 = (ctx.gpr[28] + static_cast(-18004)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x089469E8u); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0038_entry, 38u, 252u, 0x0889D374u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089469E8u) goto L_089469E8; AOT_REGCACHE_SYNC_OUT(); return; L_089469E8: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -6249,29 +6250,29 @@ L_08946A04: AOT_REGCACHE_SYNC_OUT(); return; L_08946A0C: aot_gpr_4 = (2246u << 16u); - aot_gpr_5 = (ctx.gpr[2] << 6u); + aot_gpr_5 = (aot_gpr_2 << 6u); aot_gpr_4 = (aot_gpr_4 + static_cast(31024)); aot_gpr_5 = (aot_gpr_5 + aot_gpr_4); aot_gpr_31 = (0x08946A24u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0075_entry, 75u, 313u, 0x08931AD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08946A24u) goto L_08946A24; AOT_REGCACHE_SYNC_OUT(); return; L_08946A24: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_gpr_17 | 0u); + aot_gpr_2 = (ctx.gpr[17] | 0u); if (branch_taken) { goto L_08946A30; } goto L_08946A2C; } L_08946A2C: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_08946A30; L_08946A30: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -6289,7 +6290,7 @@ L_08946A44: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0059_entry, 59u, 644u, 0x088F3420u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08946A58u) goto L_08946A58; AOT_REGCACHE_SYNC_OUT(); return; L_08946A58: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -6307,7 +6308,7 @@ L_08946A68: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0075_entry, 75u, 313u, 0x08931AD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08946A80u) goto L_08946A80; AOT_REGCACHE_SYNC_OUT(); return; L_08946A80: - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -6323,7 +6324,7 @@ L_08946A90: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0059_entry, 59u, 733u, 0x088F3AC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08946AA0u) goto L_08946AA0; AOT_REGCACHE_SYNC_OUT(); return; L_08946AA0: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -6352,7 +6353,7 @@ L_08946ACC: aot_gpr_5 = (2232u << 16u); goto L_08946AD4; L_08946AD4: - ctx.gpr[6] = (ctx.gpr[28] + static_cast(-18004)); + aot_gpr_6 = (ctx.gpr[28] + static_cast(-18004)); aot_gpr_31 = (0x08946AE0u); aot_gpr_5 = (aot_gpr_5 + static_cast(-9648)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0032_entry, 32u, 270u, 0x08885284u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08946AE0u) goto L_08946AE0; @@ -6376,7 +6377,7 @@ L_08946AF4: aot_gpr_5 = (2232u << 16u); goto L_08946AFC; L_08946AFC: - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x08946B08u); aot_gpr_5 = (aot_gpr_5 + static_cast(-9552)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0032_entry, 32u, 266u, 0x08885220u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08946B08u) goto L_08946B08; @@ -6390,7 +6391,7 @@ L_08946B08: ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08946B14: - { const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -6510,21 +6511,21 @@ L_08946B58: AOT_REGCACHE_SYNC_OUT(); return; L_08946B9C: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(1780)))))); - ctx.gpr[2] = (aot_gpr_4 & 2u); + aot_gpr_2 = (aot_gpr_4 & 2u); jump_target = aot_gpr_31; - ctx.gpr[2] = (0u < ctx.gpr[2] ? 1u : 0u); + aot_gpr_2 = (0u < aot_gpr_2 ? 1u : 0u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08946BAC: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); - { const std::uint32_t aot_run_words[4]{aot_gpr_17, ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); + { const std::uint32_t aot_run_words[4]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(8), aot_run_words); } { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_17 = (aot_gpr_5 | 0u); + ctx.gpr[17] = (aot_gpr_5 | 0u); if (branch_taken) { goto L_08946CF0; } @@ -6533,13 +6534,13 @@ L_08946BAC: L_08946BD0: aot_gpr_4 = (2234u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(23360)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(92), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(92), aot_gpr_4); aot_gpr_31 = (0x08946BE4u); - aot_gpr_4 = (aot_gpr_16 + static_cast(2288)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(2288)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0172_entry, 172u, 13u, 0x08AB4074u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08946BE4u) goto L_08946BE4; AOT_REGCACHE_SYNC_OUT(); return; L_08946BE4: - ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(3292))); + ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(3292))); { const bool branch_taken = ctx.gpr[18] == 0u; aot_gpr_4 = (ctx.gpr[18] + static_cast(6000)); if (branch_taken) { @@ -6576,7 +6577,7 @@ L_08946C08: L_08946C14: aot_gpr_31 = (0x08946C1Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08946C1Cu) goto L_08946C1C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08946C1Cu) goto L_08946C1C; AOT_REGCACHE_SYNC_OUT(); return; L_08946C1C: aot_gpr_4 = (ctx.gpr[18] + static_cast(152)); @@ -6643,16 +6644,16 @@ L_08946C68: L_08946C70: aot_gpr_31 = (0x08946C78u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08946C78u) goto L_08946C78; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08946C78u) goto L_08946C78; AOT_REGCACHE_SYNC_OUT(); return; L_08946C78: aot_gpr_31 = (0x08946C80u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08946C80u) goto L_08946C80; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08946C80u) goto L_08946C80; AOT_REGCACHE_SYNC_OUT(); return; L_08946C80: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(3292), 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(3304))); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(3292), 0u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(3304))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -6668,7 +6669,7 @@ L_08946C90: L_08946C98: aot_gpr_4 = (0u | 1u); aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-17613), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(3304))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(3304))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -6677,12 +6678,12 @@ L_08946C98: goto L_08946CAC; } L_08946CAC: - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(92))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(92))); aot_gpr_5 = (0u | 3u); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(24)); - ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[6] + static_cast(0)))))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(4))); - jump_target = ctx.gpr[6]; + aot_gpr_6 = (aot_gpr_6 + static_cast(24)); + ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(0)))))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(4))); + jump_target = aot_gpr_6; aot_gpr_31 = (0x08946CC8u); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[7]); ctx.pc = jump_target; @@ -6690,16 +6691,16 @@ L_08946CAC: AOT_REGCACHE_SYNC_OUT(); return; L_08946CC8: aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-17613), static_cast(0u)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(3304), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(3304), 0u); goto L_08946CD0; L_08946CD0: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08946CDCu); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 416u, 0x08905FECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08946CDCu) goto L_08946CDC; AOT_REGCACHE_SYNC_OUT(); return; L_08946CDC: - aot_gpr_4 = (aot_gpr_17 & 1u); + aot_gpr_4 = (ctx.gpr[17] & 1u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -6709,14 +6710,14 @@ L_08946CDC: } L_08946CE8: aot_gpr_31 = (0x08946CF0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 477u, 0x08906308u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08946CF0u) goto L_08946CF0; AOT_REGCACHE_SYNC_OUT(); return; L_08946CF0: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(4), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; @@ -6738,15 +6739,15 @@ L_08946D0C: } L_08946D18: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_gpr_4 + static_cast(2016)); + aot_gpr_2 = (aot_gpr_4 + static_cast(2016)); if (branch_taken) { goto L_08946D28; } goto L_08946D20; } L_08946D20: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(3292))); - ctx.gpr[2] = (ctx.gpr[2] + static_cast(4)); + aot_gpr_2 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(3292))); + aot_gpr_2 = (aot_gpr_2 + static_cast(4)); goto L_08946D28; L_08946D28: jump_target = aot_gpr_31; @@ -6766,15 +6767,15 @@ L_08946D30: } L_08946D3C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_gpr_4 + static_cast(2016)); + aot_gpr_2 = (aot_gpr_4 + static_cast(2016)); if (branch_taken) { goto L_08946D4C; } goto L_08946D44; } L_08946D44: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(3292))); - ctx.gpr[2] = (ctx.gpr[2] + static_cast(4)); + aot_gpr_2 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(3292))); + aot_gpr_2 = (aot_gpr_2 + static_cast(4)); goto L_08946D4C; L_08946D4C: jump_target = aot_gpr_31; @@ -6784,20 +6785,20 @@ L_08946D4C: ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08946D54: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(3292))); + aot_gpr_2 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(3292))); jump_target = aot_gpr_31; - ctx.gpr[2] = (ctx.gpr[2] + static_cast(152)); + aot_gpr_2 = (aot_gpr_2 + static_cast(152)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08946D60: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, ctx.gpr[18]}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(16), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.gpr[18] = (aot_gpr_5 | 0u); - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), ctx.gpr[19]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), aot_gpr_31); aot_gpr_31 = (0x08946D8Cu); @@ -6805,16 +6806,16 @@ L_08946D60: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 475u, 0x089062ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08946D8Cu) goto L_08946D8C; AOT_REGCACHE_SYNC_OUT(); return; L_08946D8C: - aot_gpr_4 = (aot_gpr_16 + aot_gpr_16); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); - aot_gpr_5 = (aot_gpr_16 << 8u); + aot_gpr_4 = (ctx.gpr[16] + ctx.gpr[16]); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); + aot_gpr_5 = (ctx.gpr[16] << 8u); aot_gpr_4 = (aot_gpr_4 << 5u); - aot_gpr_16 = (aot_gpr_5 + aot_gpr_4); + ctx.gpr[16] = (aot_gpr_5 + aot_gpr_4); aot_gpr_4 = (2238u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-6992)); - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[19] == 0u; - aot_gpr_16 = (aot_gpr_16 + aot_gpr_4); + ctx.gpr[16] = (ctx.gpr[16] + aot_gpr_4); if (branch_taken) { goto L_08946DC4; } @@ -6827,11 +6828,11 @@ L_08946DB4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0081_entry, 81u, 420u, 0x08949E34u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08946DC0u) goto L_08946DC0; AOT_REGCACHE_SYNC_OUT(); return; L_08946DC0: - aot_gpr_17 = (ctx.gpr[19] | 0u); + ctx.gpr[17] = (ctx.gpr[19] | 0u); goto L_08946DC4; L_08946DC4: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), aot_gpr_17); - aot_gpr_4 = (aot_gpr_17 + static_cast(48)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), ctx.gpr[17]); + aot_gpr_4 = (ctx.gpr[17] + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -6846,7 +6847,7 @@ L_08946DC4: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(0u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08946DE8u); aot_fpr_14 = std::bit_cast(std::bit_cast(aot_fpr_12)); @@ -6860,16 +6861,16 @@ L_08946DE8: aot_fpr_14 = std::bit_cast(aot_run_words[2]); } aot_gpr_31 = (0x08946DFCu); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 4u, 0x08860094u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08946DFCu) goto L_08946DFC; AOT_REGCACHE_SYNC_OUT(); return; L_08946DFC: aot_gpr_31 = (0x08946E04u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 224u, 0x08891A2Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08946E04u) goto L_08946E04; AOT_REGCACHE_SYNC_OUT(); return; L_08946E04: - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_4 = (17096u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (17146u << 16u); @@ -6884,16 +6885,16 @@ L_08946E04: L_08946E28: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(1934), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(1934), static_cast(aot_gpr_4)); aot_gpr_31 = (0x08946E3Cu); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0081_entry, 81u, 400u, 0x08949CA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08946E3Cu) goto L_08946E3C; AOT_REGCACHE_SYNC_OUT(); return; L_08946E3C: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; @@ -6907,17 +6908,17 @@ L_08946E3C: L_08946E58: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_5 = (aot_gpr_4 + aot_gpr_4); - ctx.gpr[6] = (aot_gpr_4 << 8u); + aot_gpr_6 = (aot_gpr_4 << 8u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_gpr_4 << 5u); aot_gpr_5 = (2238u << 16u); - aot_gpr_4 = (ctx.gpr[6] + aot_gpr_4); + aot_gpr_4 = (aot_gpr_6 + aot_gpr_4); aot_gpr_5 = (aot_gpr_5 + static_cast(-6992)); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(3262)))))); - ctx.gpr[6] = (ctx.gpr[6] | 128u); - aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(3262), static_cast(ctx.gpr[6])); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(3262)))))); + aot_gpr_6 = (aot_gpr_6 | 128u); + aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(3262), static_cast(aot_gpr_6)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); aot_gpr_31 = (0x08946E9Cu); @@ -6935,26 +6936,26 @@ L_08946E9C: L_08946EA8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_5 = (aot_gpr_4 + aot_gpr_4); - ctx.gpr[6] = (aot_gpr_4 << 8u); + aot_gpr_6 = (aot_gpr_4 << 8u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_gpr_4 << 5u); aot_gpr_5 = (2238u << 16u); - aot_gpr_4 = (ctx.gpr[6] + aot_gpr_4); + aot_gpr_4 = (aot_gpr_6 + aot_gpr_4); aot_gpr_5 = (aot_gpr_5 + static_cast(-6992)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 + aot_gpr_5); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 + aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x08946EDCu); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 224u, 0x08891A2Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08946EDCu) goto L_08946EDC; AOT_REGCACHE_SYNC_OUT(); return; L_08946EDC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(3262)))))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(3262)))))); aot_gpr_5 = (0u + static_cast(-129)); - aot_gpr_5 = (ctx.gpr[6] & aot_gpr_5); + aot_gpr_5 = (aot_gpr_6 & aot_gpr_5); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(3262), static_cast(aot_gpr_5)); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -6974,10 +6975,10 @@ L_08946F00: goto L_08946F14; } L_08946F14: - ctx.gpr[6] = (aot_gpr_4 | 0u); + aot_gpr_6 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_5 + static_cast(4)); aot_gpr_31 = (0x08946F24u); - aot_gpr_5 = (ctx.gpr[6] | 0u); + aot_gpr_5 = (aot_gpr_6 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0141_entry, 141u, 427u, 0x08A39C74u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08946F24u) goto L_08946F24; AOT_REGCACHE_SYNC_OUT(); return; L_08946F24: @@ -6997,20 +6998,20 @@ L_08946F30: AOT_REGCACHE_SYNC_OUT(); return; L_08946F38: aot_gpr_29 = (aot_gpr_29 + static_cast(-64)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), std::bit_cast(ctx.fpr[20])); - { const std::uint32_t aot_run_words[5]{aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; + { const std::uint32_t aot_run_words[5]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(32), aot_run_words); } aot_gpr_4 = (0u | 2u); aot_gpr_5 = (0u | 4u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_4); aot_gpr_4 = (0u | 5u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_5); - aot_gpr_17 = (0u | 44u); + ctx.gpr[17] = (0u | 44u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_4); aot_gpr_4 = (0u | 6u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_4); aot_gpr_5 = (0u | 7u); aot_gpr_4 = (50298u << 16u); @@ -7020,14 +7021,14 @@ L_08946F38: ctx.gpr[19] = (aot_gpr_29 | 0u); goto L_08946F9C; L_08946F9C: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(0))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(80))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(0))); aot_gpr_31 = (0x08946FACu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08946FACu) goto L_08946FAC; AOT_REGCACHE_SYNC_OUT(); return; L_08946FAC: - ctx.gpr[20] = (ctx.gpr[2] | 0u); + ctx.gpr[20] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[20] == 0u; // nop if (branch_taken) { @@ -7036,7 +7037,7 @@ L_08946FAC: goto L_08946FB8; } L_08946FB8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(776))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(776))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -7046,7 +7047,7 @@ L_08946FB8: } L_08946FC4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(0))); - { const bool branch_taken = aot_gpr_4 == aot_gpr_17; + { const bool branch_taken = aot_gpr_4 == ctx.gpr[17]; // nop if (branch_taken) { goto L_0894707C; @@ -7069,18 +7070,18 @@ L_08946FE4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5836))); goto L_08946FE8; L_08946FE8: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(776))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(776))); aot_gpr_31 = (0x08946FF4u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(0))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(0))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 633u, 0x0893E8D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08946FF4u) goto L_08946FF4; AOT_REGCACHE_SYNC_OUT(); return; L_08946FF4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(32))); - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(32))); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(32))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0)))))); aot_gpr_5 = (aot_gpr_5 + static_cast(4)); - { const bool branch_taken = ctx.gpr[6] == 0u; + { const bool branch_taken = aot_gpr_6 == 0u; ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0)))))); if (branch_taken) { goto L_08947030; @@ -7088,7 +7089,7 @@ L_08946FF4: goto L_08947010; } L_08947010: - { const bool branch_taken = ctx.gpr[6] == ctx.gpr[7]; + { const bool branch_taken = aot_gpr_6 == ctx.gpr[7]; aot_gpr_4 = (aot_gpr_4 + static_cast(1)); if (branch_taken) { goto L_08947020; @@ -7104,9 +7105,9 @@ L_08947018: goto L_08947020; } L_08947020: - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0)))))); aot_gpr_5 = (aot_gpr_5 + static_cast(1)); - { const bool branch_taken = ctx.gpr[6] != 0u; + { const bool branch_taken = aot_gpr_6 != 0u; ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0)))))); if (branch_taken) { goto L_08947010; @@ -7138,18 +7139,18 @@ L_08947040: goto L_08947048; } L_08947048: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(776))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(80))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(776))); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(0))); aot_gpr_31 = (0x0894705Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 175u, 0x089089B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894705Cu) goto L_0894705C; AOT_REGCACHE_SYNC_OUT(); return; L_0894705C: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(36))); - aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(36), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(aot_gpr_2 + static_cast(36), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(16))); - aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(16), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(aot_gpr_2 + static_cast(16), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(8))); aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(36), std::bit_cast(ctx.fpr[20])); aot_gpr_4 = (aot_gpr_4 | 4u); @@ -7169,8 +7170,8 @@ L_0894708C: { std::uint32_t aot_run_words[7]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(24), aot_run_words); ctx.fpr[20] = std::bit_cast(aot_run_words[0]); - aot_gpr_16 = aot_run_words[1]; - aot_gpr_17 = aot_run_words[2]; + ctx.gpr[16] = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; ctx.gpr[19] = aot_run_words[4]; ctx.gpr[20] = aot_run_words[5]; @@ -7194,14 +7195,14 @@ L_089470B0: } L_089470C0: aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7800))); - ctx.gpr[6] = (aot_gpr_5 + aot_gpr_5); + aot_gpr_6 = (aot_gpr_5 + aot_gpr_5); ctx.gpr[7] = (aot_gpr_5 << 8u); - aot_gpr_5 = (aot_gpr_5 + ctx.gpr[6]); + aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); aot_gpr_5 = (aot_gpr_5 << 5u); - ctx.gpr[6] = (2238u << 16u); + aot_gpr_6 = (2238u << 16u); aot_gpr_5 = (ctx.gpr[7] + aot_gpr_5); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(-6992)); - aot_gpr_5 = (aot_gpr_5 + ctx.gpr[6]); + aot_gpr_6 = (aot_gpr_6 + static_cast(-6992)); + aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(333))); { const bool branch_taken = aot_gpr_5 != 0u; // nop @@ -7254,7 +7255,7 @@ L_08947130: } L_08947138: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_08947190; } @@ -7272,7 +7273,7 @@ L_08947140: L_08947154: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(3264), std::bit_cast(aot_fpr_13)); { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_08947190; } @@ -7298,7 +7299,7 @@ L_08947188: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(3264), std::bit_cast(aot_fpr_13)); goto L_0894718C; L_0894718C: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_08947190; L_08947190: jump_target = aot_gpr_31; @@ -7309,27 +7310,27 @@ L_08947190: AOT_REGCACHE_SYNC_OUT(); return; L_08947198: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - ctx.gpr[6] = (aot_gpr_5 | 0u); + aot_gpr_6 = (aot_gpr_5 | 0u); aot_gpr_5 = (aot_gpr_4 | 0u); ctx.gpr[7] = (0u + static_cast(-1)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); - { const bool branch_taken = ctx.gpr[6] == ctx.gpr[7]; - aot_gpr_4 = (ctx.gpr[6] | 0u); + { const bool branch_taken = aot_gpr_6 == ctx.gpr[7]; + aot_gpr_4 = (aot_gpr_6 | 0u); if (branch_taken) { goto L_089471D8; } goto L_089471B4; } L_089471B4: - ctx.gpr[6] = (aot_gpr_4 << 5u); + aot_gpr_6 = (aot_gpr_4 << 5u); aot_gpr_4 = (aot_gpr_4 << 2u); - aot_gpr_4 = (ctx.gpr[6] - aot_gpr_4); + aot_gpr_4 = (aot_gpr_6 - aot_gpr_4); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x089471D8u); - aot_gpr_5 = (ctx.gpr[6] | 0u); + aot_gpr_5 = (aot_gpr_6 | 0u); goto L_089471E4; L_089471D8: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -7341,18 +7342,18 @@ L_089471D8: AOT_REGCACHE_SYNC_OUT(); return; L_089471E4: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[18]); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2228))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2228))); ctx.gpr[18] = (2236u << 16u); - ctx.gpr[6] = (0u | 12u); + aot_gpr_6 = (0u | 12u); ctx.gpr[18] = (ctx.gpr[18] + static_cast(32304)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[19]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_31); - { const bool branch_taken = aot_gpr_4 == ctx.gpr[6]; - aot_gpr_17 = (aot_gpr_5 | 0u); + { const bool branch_taken = aot_gpr_4 == aot_gpr_6; + ctx.gpr[17] = (aot_gpr_5 | 0u); if (branch_taken) { goto L_08947224; } @@ -7369,7 +7370,7 @@ L_08947218: } L_08947224: aot_gpr_31 = (0x0894722Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0129_entry, 129u, 78u, 0x08A08AE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894722Cu) goto L_0894722C; AOT_REGCACHE_SYNC_OUT(); return; L_0894722C: @@ -7378,26 +7379,26 @@ L_0894722C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 588u, 0x08A1BE00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08947234u) goto L_08947234; AOT_REGCACHE_SYNC_OUT(); return; L_08947234: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08947240u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 28u, 0x0890816Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08947240u) goto L_08947240; AOT_REGCACHE_SYNC_OUT(); return; L_08947240: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1929)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(1929)))))); aot_gpr_5 = (aot_gpr_4 << 5u); - ctx.gpr[6] = (aot_gpr_4 << 2u); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(3256), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_gpr_5 - ctx.gpr[6]); - aot_gpr_17 = (aot_gpr_16 + aot_gpr_4); - aot_gpr_17 = (aot_gpr_17 + static_cast(1396)); - ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(16))); + aot_gpr_6 = (aot_gpr_4 << 2u); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(3256), static_cast(aot_gpr_4)); + aot_gpr_4 = (aot_gpr_5 - aot_gpr_6); + ctx.gpr[17] = (ctx.gpr[16] + aot_gpr_4); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1396)); + ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(16))); aot_gpr_31 = (0x08947268u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08947268u) goto L_08947268; + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08947268u) goto L_08947268; AOT_REGCACHE_SYNC_OUT(); return; L_08947268: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(20))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(20))); aot_gpr_5 = (static_cast(ctx.gpr[19]) < static_cast(aot_gpr_4) ? 1u : 0u); if (aot_gpr_5 != 0u) { aot_gpr_4 = (ctx.gpr[19] | 0u); @@ -7405,19 +7406,19 @@ L_08947268: } goto L_08947278; L_08947278: - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(12), aot_gpr_4); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1929)))))); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(12), aot_gpr_4); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(1929)))))); aot_gpr_5 = (aot_gpr_4 << 5u); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); aot_gpr_31 = (0x0894729Cu); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894729Cu) goto L_0894729C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894729Cu) goto L_0894729C; AOT_REGCACHE_SYNC_OUT(); return; L_0894729C: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(0))); aot_gpr_4 = (aot_gpr_4 & 64u); aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); @@ -7429,7 +7430,7 @@ L_0894729C: goto L_089472B4; } L_089472B4: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089472C0u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0081_entry, 81u, 16u, 0x08948114u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089472C0u) goto L_089472C0; @@ -7437,31 +7438,31 @@ L_089472B4: L_089472C0: aot_gpr_31 = (0x089472C8u); aot_gpr_4 = (0u | 30u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089472C8u) goto L_089472C8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089472C8u) goto L_089472C8; AOT_REGCACHE_SYNC_OUT(); return; L_089472C8: - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(0))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(0))); ctx.gpr[7] = (32u << 16u); - ctx.gpr[6] = (ctx.gpr[6] & ctx.gpr[7]); - ctx.gpr[6] = (0u < ctx.gpr[6] ? 1u : 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); + aot_gpr_6 = (aot_gpr_6 & ctx.gpr[7]); + aot_gpr_6 = (0u < aot_gpr_6 ? 1u : 0u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(80))); aot_gpr_5 = (0u | 214u); - ctx.gpr[6] = (ctx.gpr[6] & 255u); - if (ctx.gpr[6] != 0u) { + aot_gpr_6 = (aot_gpr_6 & 255u); + if (aot_gpr_6 != 0u) { aot_gpr_5 = (0u | 55u); goto L_089472EC; } goto L_089472EC; L_089472EC: - ctx.gpr[6] = (aot_gpr_5 | 0u); + aot_gpr_6 = (aot_gpr_5 | 0u); aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_31 = (0x089472FCu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089472FCu) goto L_089472FC; AOT_REGCACHE_SYNC_OUT(); return; L_089472FC: - aot_gpr_16 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_0894731C; @@ -7469,11 +7470,11 @@ L_089472FC: goto L_08947308; } L_08947308: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(8))); aot_gpr_4 = (aot_gpr_4 | 1u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(8), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(8), aot_gpr_4); aot_gpr_4 = (aot_gpr_4 | 8u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(8), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(8), aot_gpr_4); goto L_0894731C; L_0894731C: aot_gpr_31 = (0x08947324u); @@ -7483,8 +7484,8 @@ L_0894731C: L_08947324: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(8), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; @@ -7497,29 +7498,29 @@ L_08947324: AOT_REGCACHE_SYNC_OUT(); return; L_08947340: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_17 = (aot_gpr_5 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[16] = (aot_gpr_4 | 0u); + ctx.gpr[17] = (aot_gpr_5 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); aot_gpr_31 = (0x08947364u); - ctx.gpr[18] = (ctx.gpr[6] & 255u); + ctx.gpr[18] = (aot_gpr_6 & 255u); goto L_08946B3C; L_08947364: aot_gpr_31 = (0x0894736Cu); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894736Cu) goto L_0894736C; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894736Cu) goto L_0894736C; AOT_REGCACHE_SYNC_OUT(); return; L_0894736C: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(104))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(104))); aot_gpr_5 = (aot_gpr_4 << 5u); - ctx.gpr[6] = (aot_gpr_4 << 2u); - aot_gpr_5 = (aot_gpr_5 - ctx.gpr[6]); - aot_gpr_5 = (aot_gpr_16 + aot_gpr_5); - ctx.gpr[6] = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7080))); + aot_gpr_6 = (aot_gpr_4 << 2u); + aot_gpr_5 = (aot_gpr_5 - aot_gpr_6); + aot_gpr_5 = (ctx.gpr[16] + aot_gpr_5); + aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7080))); aot_gpr_5 = (aot_gpr_5 + static_cast(1396)); - { const bool branch_taken = ctx.gpr[6] == 0u; + { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); if (branch_taken) { goto L_089473A0; @@ -7527,15 +7528,15 @@ L_0894736C: goto L_08947390; } L_08947390: - { const bool branch_taken = aot_gpr_17 != aot_gpr_5; - ctx.gpr[6] = (0u | 11u); + { const bool branch_taken = ctx.gpr[17] != aot_gpr_5; + aot_gpr_6 = (0u | 11u); if (branch_taken) { goto L_089473A0; } goto L_08947398; } L_08947398: - { const bool branch_taken = aot_gpr_5 == ctx.gpr[6]; + { const bool branch_taken = aot_gpr_5 == aot_gpr_6; // nop if (branch_taken) { goto L_089473B0; @@ -7543,7 +7544,7 @@ L_08947398: goto L_089473A0; } L_089473A0: - { const bool branch_taken = aot_gpr_17 != aot_gpr_5; + { const bool branch_taken = ctx.gpr[17] != aot_gpr_5; // nop if (branch_taken) { goto L_089473B8; @@ -7552,7 +7553,7 @@ L_089473A0: } L_089473A8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_08947408; } @@ -7560,7 +7561,7 @@ L_089473A8: } L_089473B0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08947408; } @@ -7583,16 +7584,16 @@ L_089473C0: goto L_089473C8; } L_089473C8: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2228))); - ctx.gpr[6] = (0u | 16u); - if (aot_gpr_5 == ctx.gpr[6]) { - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1929)))))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2228))); + aot_gpr_6 = (0u | 16u); + if (aot_gpr_5 == aot_gpr_6) { + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(1929)))))); goto L_089473F4; } goto L_089473D8; L_089473D8: { const bool branch_taken = 0u == 0u; - ctx.gpr[6] = (0u | 22u); + aot_gpr_6 = (0u | 22u); if (branch_taken) { goto L_089473E8; } @@ -7600,14 +7601,14 @@ L_089473D8: } L_089473E0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08947408; } goto L_089473E8; } L_089473E8: - { const bool branch_taken = aot_gpr_5 != ctx.gpr[6]; + { const bool branch_taken = aot_gpr_5 != aot_gpr_6; // nop if (branch_taken) { goto L_08947404; @@ -7615,7 +7616,7 @@ L_089473E8: goto L_089473F0; } L_089473F0: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1929)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(1929)))))); goto L_089473F4; L_089473F4: { const bool branch_taken = aot_gpr_4 != aot_gpr_5; @@ -7627,20 +7628,20 @@ L_089473F4: } L_089473FC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08947408; } goto L_08947404; } L_08947404: - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); goto L_08947408; L_08947408: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -7655,9 +7656,9 @@ L_08947420: ctx.gpr[7] = (0u | 0u); goto L_08947428; L_08947428: - ctx.gpr[6] = (ctx.gpr[7] << 2u); - ctx.gpr[6] = (aot_gpr_4 + ctx.gpr[6]); - ctx.gpr[8] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(6288))); + aot_gpr_6 = (ctx.gpr[7] << 2u); + aot_gpr_6 = (aot_gpr_4 + aot_gpr_6); + ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(6288))); { const bool branch_taken = ctx.gpr[8] == aot_gpr_5; // nop if (branch_taken) { @@ -7666,11 +7667,11 @@ L_08947428: goto L_0894743C; } L_0894743C: - ctx.gpr[6] = (ctx.gpr[7] + static_cast(1)); - ctx.gpr[7] = (ctx.gpr[6] << 16u); + aot_gpr_6 = (ctx.gpr[7] + static_cast(1)); + ctx.gpr[7] = (aot_gpr_6 << 16u); ctx.gpr[7] = (static_cast(static_cast(ctx.gpr[7]) >> 16u)); - ctx.gpr[6] = (static_cast(ctx.gpr[7]) < 6 ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] != 0u; + aot_gpr_6 = (static_cast(ctx.gpr[7]) < 6 ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 != 0u; // nop if (branch_taken) { goto L_08947428; @@ -7686,7 +7687,7 @@ L_08947454: goto L_0894745C; } L_0894745C: - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(6288), 0u); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(6288), 0u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(1744), 0u); if (branch_taken) { @@ -7749,8 +7750,8 @@ L_089474B8: L_089474C4: aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_4 = (2238u << 16u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(-6992))); - { const bool branch_taken = ctx.gpr[6] != aot_gpr_5; + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(-6992))); + { const bool branch_taken = aot_gpr_6 != aot_gpr_5; // nop if (branch_taken) { goto L_089474E0; @@ -7759,14 +7760,14 @@ L_089474C4: } L_089474D8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_gpr_4 + static_cast(-6992)); + aot_gpr_2 = (aot_gpr_4 + static_cast(-6992)); if (branch_taken) { goto L_089474E4; } goto L_089474E0; } L_089474E0: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_089474E4; L_089474E4: jump_target = aot_gpr_31; @@ -7802,12 +7803,12 @@ L_08947510: ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0894751C: - ctx.gpr[6] = (aot_gpr_5 | 0u); + aot_gpr_6 = (aot_gpr_5 | 0u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1364))); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(23)))))); ctx.gpr[7] = (static_cast(aot_gpr_4) < 52 ? 1u : 0u); { const bool branch_taken = ctx.gpr[7] == 0u; - ctx.gpr[6] = (ctx.gpr[6] & 255u); + aot_gpr_6 = (aot_gpr_6 & 255u); if (branch_taken) { goto L_08947540; } @@ -7823,7 +7824,7 @@ L_08947534: goto L_08947540; } L_08947540: - { const bool branch_taken = ctx.gpr[6] == 0u; + { const bool branch_taken = aot_gpr_6 == 0u; ctx.gpr[7] = (static_cast(aot_gpr_4) < 55 ? 1u : 0u); if (branch_taken) { goto L_0894755C; @@ -7848,7 +7849,7 @@ L_08947550: goto L_0894755C; } L_0894755C: - { const bool branch_taken = ctx.gpr[6] == 0u; + { const bool branch_taken = aot_gpr_6 == 0u; // nop if (branch_taken) { goto L_0894756C; @@ -7901,9 +7902,9 @@ L_089475A0: L_089475A8: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(1929)))))); aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); - ctx.gpr[6] = (aot_gpr_5 << 5u); + aot_gpr_6 = (aot_gpr_5 << 5u); aot_gpr_5 = (aot_gpr_5 << 2u); - aot_gpr_5 = (ctx.gpr[6] - aot_gpr_5); + aot_gpr_5 = (aot_gpr_6 - aot_gpr_5); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -7932,7 +7933,7 @@ L_089475D8: } L_089475E0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_0894762C; } @@ -7996,14 +7997,14 @@ L_08947618: } L_08947620: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_0894762C; } goto L_08947628; } L_08947628: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_0894762C; L_0894762C: jump_target = aot_gpr_31; @@ -8014,20 +8015,20 @@ L_0894762C: AOT_REGCACHE_SYNC_OUT(); return; L_08947634: jump_target = aot_gpr_31; - ctx.gpr[2] = (aot_gpr_4 + static_cast(3330)); + aot_gpr_2 = (aot_gpr_4 + static_cast(3330)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0894763C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x08947650u); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); goto L_089476BC; L_08947650: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_089476A0; @@ -8036,10 +8037,10 @@ L_08947650: } L_08947658: aot_gpr_31 = (0x08947660u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_089476D8; L_08947660: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_089476A0; @@ -8048,10 +8049,10 @@ L_08947660: } L_08947668: aot_gpr_31 = (0x08947670u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_089476C8; L_08947670: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_089476A0; @@ -8064,7 +8065,7 @@ L_08947678: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 562u, 0x08A363C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08947680u) goto L_08947680; AOT_REGCACHE_SYNC_OUT(); return; L_08947680: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_089476A0; @@ -8072,7 +8073,7 @@ L_08947680: goto L_08947688; } L_08947688: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(3330))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(3330))); aot_gpr_4 = (aot_gpr_4 & 16u); aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); @@ -8085,17 +8086,17 @@ L_08947688: } L_089476A0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_089476AC; } goto L_089476A8; } L_089476A8: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_089476AC; L_089476AC: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -8104,49 +8105,49 @@ L_089476AC: ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_089476BC: - ctx.gpr[2] = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(3330))); + aot_gpr_2 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(3330))); jump_target = aot_gpr_31; - ctx.gpr[2] = (ctx.gpr[2] & 1u); + aot_gpr_2 = (aot_gpr_2 & 1u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_089476C8: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(3330))); - ctx.gpr[2] = (aot_gpr_4 & 4u); + aot_gpr_2 = (aot_gpr_4 & 4u); jump_target = aot_gpr_31; - ctx.gpr[2] = (0u < ctx.gpr[2] ? 1u : 0u); + aot_gpr_2 = (0u < aot_gpr_2 ? 1u : 0u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_089476D8: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(3330))); - ctx.gpr[2] = (aot_gpr_4 & 2u); + aot_gpr_2 = (aot_gpr_4 & 2u); jump_target = aot_gpr_31; - ctx.gpr[2] = (0u < ctx.gpr[2] ? 1u : 0u); + aot_gpr_2 = (0u < aot_gpr_2 ? 1u : 0u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_089476E8: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(3330))); - ctx.gpr[2] = (aot_gpr_4 & 32u); + aot_gpr_2 = (aot_gpr_4 & 32u); jump_target = aot_gpr_31; - ctx.gpr[2] = (0u < ctx.gpr[2] ? 1u : 0u); + aot_gpr_2 = (0u < aot_gpr_2 ? 1u : 0u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_089476F8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - ctx.gpr[6] = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7080))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7080))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); - { const bool branch_taken = ctx.gpr[6] == 0u; - aot_gpr_16 = (aot_gpr_5 | 0u); + { const bool branch_taken = aot_gpr_6 == 0u; + ctx.gpr[16] = (aot_gpr_5 | 0u); if (branch_taken) { goto L_08947738; } @@ -8154,10 +8155,10 @@ L_089476F8: } L_08947718: aot_gpr_31 = (0x08947720u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); goto L_0894763C; L_08947720: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08947738; @@ -8165,16 +8166,16 @@ L_08947720: goto L_08947728; } L_08947728: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(3330))); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(3296), aot_gpr_16); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(3330))); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(3296), ctx.gpr[16]); aot_gpr_4 = (aot_gpr_4 | 1u); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(3330), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(3330), static_cast(aot_gpr_4)); goto L_08947738; L_08947738: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -8185,13 +8186,13 @@ L_08947738: AOT_REGCACHE_SYNC_OUT(); return; L_0894774C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - ctx.gpr[6] = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7080))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7080))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); - { const bool branch_taken = ctx.gpr[6] == 0u; - aot_gpr_16 = (aot_gpr_5 | 0u); + { const bool branch_taken = aot_gpr_6 == 0u; + ctx.gpr[16] = (aot_gpr_5 | 0u); if (branch_taken) { goto L_08947794; } @@ -8199,10 +8200,10 @@ L_0894774C: } L_0894776C: aot_gpr_31 = (0x08947774u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); goto L_0894763C; L_08947774: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08947794; @@ -8210,18 +8211,18 @@ L_08947774: goto L_0894777C; } L_0894777C: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(3330))); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(3296), aot_gpr_16); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(3330))); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(3296), ctx.gpr[16]); aot_gpr_4 = (aot_gpr_4 | 2u); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(3330), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(3330), static_cast(aot_gpr_4)); aot_gpr_4 = (0u | 2000u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(3300), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(3300), aot_gpr_4); goto L_08947794; L_08947794: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -8232,13 +8233,13 @@ L_08947794: AOT_REGCACHE_SYNC_OUT(); return; L_089477A8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - ctx.gpr[6] = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7080))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7080))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); - { const bool branch_taken = ctx.gpr[6] == 0u; - aot_gpr_16 = (aot_gpr_5 | 0u); + { const bool branch_taken = aot_gpr_6 == 0u; + ctx.gpr[16] = (aot_gpr_5 | 0u); if (branch_taken) { goto L_089477E8; } @@ -8246,10 +8247,10 @@ L_089477A8: } L_089477C8: aot_gpr_31 = (0x089477D0u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); goto L_0894763C; L_089477D0: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_089477E8; @@ -8257,16 +8258,16 @@ L_089477D0: goto L_089477D8; } L_089477D8: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(3330))); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(3296), aot_gpr_16); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(3330))); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(3296), ctx.gpr[16]); aot_gpr_4 = (aot_gpr_4 | 4u); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(3330), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(3330), static_cast(aot_gpr_4)); goto L_089477E8; L_089477E8: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -8276,8 +8277,8 @@ L_089477E8: ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_089477FC: - ctx.gpr[6] = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7080))); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7080))); + { const bool branch_taken = aot_gpr_6 == 0u; // nop if (branch_taken) { goto L_08947868; @@ -8285,8 +8286,8 @@ L_089477FC: goto L_08947808; } L_08947808: - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1152))); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1152))); + { const bool branch_taken = aot_gpr_6 == 0u; // nop if (branch_taken) { goto L_08947868; @@ -8300,7 +8301,7 @@ L_08947814: aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(3330), static_cast(ctx.gpr[7])); aot_gpr_5 = (ctx.gpr[8] + aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(3296), aot_gpr_5); - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(852))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -8312,14 +8313,14 @@ L_08947838: aot_gpr_4 = (16384u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(1708), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(1708), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_08947868; } goto L_08947848; } L_08947848: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(852))); aot_gpr_5 = (0u | 6u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -8332,7 +8333,7 @@ L_08947858: aot_gpr_4 = (16298u << 16u); aot_gpr_4 = (aot_gpr_4 | 15729u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(1352), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(1352), std::bit_cast(aot_fpr_12)); goto L_08947868; L_08947868: jump_target = aot_gpr_31; @@ -8373,8 +8374,8 @@ L_08947890: } L_0894789C: aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(3330))); - ctx.gpr[6] = (0u + static_cast(-33)); - aot_gpr_5 = (aot_gpr_5 & ctx.gpr[6]); + aot_gpr_6 = (0u + static_cast(-33)); + aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(3330), static_cast(aot_gpr_5)); goto L_089478AC; L_089478AC: @@ -8389,9 +8390,9 @@ L_089478B4: ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); aot_fpr_14 = std::bit_cast(aot_gpr_5); ctx.fpr[16] = ctx.fpr[15] / aot_fpr_14; - ctx.gpr[6] = (17530u << 16u); + aot_gpr_6 = (17530u << 16u); ctx.gpr[7] = (20224u << 16u); - aot_fpr_13 = std::bit_cast(ctx.gpr[6]); + aot_fpr_13 = std::bit_cast(aot_gpr_6); aot_fpr_12 = std::bit_cast(ctx.gpr[7]); { const float fs = ctx.fpr[16]; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[16] = std::bit_cast(0x7FC00000u); else ctx.fpr[16] = fs * ft; } ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[16] < aot_fpr_12)) ? 0x00800000u : 0u); @@ -8407,9 +8408,9 @@ L_089478E8: aot_fpr_12 = ctx.fpr[15] / aot_fpr_14; { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); - ctx.gpr[6] = (std::bit_cast(aot_fpr_12)); + aot_gpr_6 = (std::bit_cast(aot_fpr_12)); { const bool branch_taken = 0u == 0u; - aot_gpr_5 = (aot_gpr_5 - ctx.gpr[6]); + aot_gpr_5 = (aot_gpr_5 - aot_gpr_6); if (branch_taken) { goto L_08947920; } @@ -8417,13 +8418,13 @@ L_089478E8: } L_08947900: aot_fpr_14 = ctx.fpr[15] / aot_fpr_14; - ctx.gpr[6] = (32768u << 16u); + aot_gpr_6 = (32768u << 16u); { const float fs = aot_fpr_14; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_fpr_12 = aot_fpr_13 - aot_fpr_12; aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); ctx.gpr[7] = (std::bit_cast(aot_fpr_12)); - ctx.gpr[6] = (ctx.gpr[7] + ctx.gpr[6]); - aot_gpr_5 = (aot_gpr_5 - ctx.gpr[6]); + aot_gpr_6 = (ctx.gpr[7] + aot_gpr_6); + aot_gpr_5 = (aot_gpr_5 - aot_gpr_6); goto L_08947920; L_08947920: jump_target = aot_gpr_31; @@ -8434,10 +8435,10 @@ L_08947920: AOT_REGCACHE_SYNC_OUT(); return; L_08947928: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(3296))); - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); aot_gpr_5 = (static_cast(aot_gpr_4) < 0 ? 1u : 0u); if (aot_gpr_5 == 0u) { - ctx.gpr[2] = (aot_gpr_4 | 0u); + aot_gpr_2 = (aot_gpr_4 | 0u); goto L_0894793C; } goto L_0894793C; @@ -8470,9 +8471,9 @@ L_0894795C: goto L_08947968; } L_08947968: - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(852))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(852))); ctx.gpr[7] = (16256u << 16u); - { const bool branch_taken = ctx.gpr[6] != 0u; + { const bool branch_taken = aot_gpr_6 != 0u; aot_fpr_12 = std::bit_cast(ctx.gpr[7]); if (branch_taken) { goto L_08947980; @@ -8501,12 +8502,12 @@ L_08947984: L_08947990: aot_gpr_29 = (aot_gpr_29 + static_cast(-112)); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(3330))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(80), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(80), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_5 & 16u); aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); - { const std::uint32_t aot_run_words[4]{aot_gpr_17, ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(84), aot_run_words); } { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -8516,7 +8517,7 @@ L_08947990: goto L_089479C4; } L_089479C4: - aot_gpr_4 = (aot_gpr_16 + static_cast(48)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -8532,10 +8533,10 @@ L_089479C4: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } ctx.gpr[19] = (0u + static_cast(-1)); aot_gpr_31 = (0x089479DCu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_089476BC; L_089479DC: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_089479FC; @@ -8552,7 +8553,7 @@ L_089479E4: } L_089479EC: aot_gpr_31 = (0x089479F4u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_08947944; L_089479F4: { const bool branch_taken = 0u == 0u; @@ -8579,11 +8580,11 @@ L_089479FC: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(104))); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(146))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(3296))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(3296))); ctx.gpr[7] = (0u | 1000u); - { const std::int32_t dividend = static_cast(ctx.gpr[6]); const std::int32_t divisor = static_cast(ctx.gpr[7]); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } + { const std::int32_t dividend = static_cast(aot_gpr_6); const std::int32_t divisor = static_cast(ctx.gpr[7]); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } ctx.gpr[7] = (ctx.lo); - ctx.gpr[6] = (0u | 16u); + aot_gpr_6 = (0u | 16u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); aot_gpr_31 = (0x08947A34u); @@ -8591,7 +8592,7 @@ L_089479FC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0060_entry, 60u, 409u, 0x088F5A3Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08947A34u) goto L_08947A34; AOT_REGCACHE_SYNC_OUT(); return; L_08947A34: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { @@ -8601,10 +8602,10 @@ L_08947A34: } L_08947A40: aot_gpr_31 = (0x08947A48u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_089476D8; L_08947A48: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08947A94; @@ -8628,11 +8629,11 @@ L_08947A50: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(104))); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(148))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(3296))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(3296))); ctx.gpr[7] = (0u | 1000u); - { const std::int32_t dividend = static_cast(ctx.gpr[6]); const std::int32_t divisor = static_cast(ctx.gpr[7]); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } + { const std::int32_t dividend = static_cast(aot_gpr_6); const std::int32_t divisor = static_cast(ctx.gpr[7]); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } ctx.gpr[7] = (ctx.lo); - ctx.gpr[6] = (0u | 16u); + aot_gpr_6 = (0u | 16u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); aot_gpr_31 = (0x08947A88u); @@ -8640,7 +8641,7 @@ L_08947A50: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0060_entry, 60u, 409u, 0x088F5A3Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08947A88u) goto L_08947A88; AOT_REGCACHE_SYNC_OUT(); return; L_08947A88: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { @@ -8650,10 +8651,10 @@ L_08947A88: } L_08947A94: aot_gpr_31 = (0x08947A9Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_089476C8; L_08947A9C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08947AE8; @@ -8677,11 +8678,11 @@ L_08947AA4: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(104))); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(150))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(3296))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(3296))); ctx.gpr[7] = (0u | 1000u); - { const std::int32_t dividend = static_cast(ctx.gpr[6]); const std::int32_t divisor = static_cast(ctx.gpr[7]); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } + { const std::int32_t dividend = static_cast(aot_gpr_6); const std::int32_t divisor = static_cast(ctx.gpr[7]); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } ctx.gpr[7] = (ctx.lo); - ctx.gpr[6] = (0u | 16u); + aot_gpr_6 = (0u | 16u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); aot_gpr_31 = (0x08947ADCu); @@ -8689,7 +8690,7 @@ L_08947AA4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0060_entry, 60u, 409u, 0x088F5A3Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08947ADCu) goto L_08947ADC; AOT_REGCACHE_SYNC_OUT(); return; L_08947ADC: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { @@ -8699,10 +8700,10 @@ L_08947ADC: } L_08947AE8: aot_gpr_31 = (0x08947AF0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_089476E8; L_08947AF0: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08947B28; @@ -8726,7 +8727,7 @@ L_08947AF8: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(104))); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(132))); - ctx.gpr[6] = (0u | 15u); + aot_gpr_6 = (0u | 15u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); @@ -8735,7 +8736,7 @@ L_08947AF8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0060_entry, 60u, 409u, 0x088F5A3Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08947B24u) goto L_08947B24; AOT_REGCACHE_SYNC_OUT(); return; L_08947B24: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); goto L_08947B28; L_08947B28: ctx.gpr[18] = (0u | 0u); @@ -8744,9 +8745,9 @@ L_08947B28: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08947B34u) goto L_08947B34; AOT_REGCACHE_SYNC_OUT(); return; L_08947B34: - aot_gpr_17 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_17 == 0u; - aot_gpr_4 = (aot_gpr_17 | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[17] == 0u; + aot_gpr_4 = (ctx.gpr[17] | 0u); if (branch_taken) { goto L_08947B4C; } @@ -8758,7 +8759,7 @@ L_08947B40: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0129_entry, 129u, 314u, 0x08A0A1DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08947B48u) goto L_08947B48; AOT_REGCACHE_SYNC_OUT(); return; L_08947B48: - ctx.gpr[18] = (aot_gpr_17 | 0u); + ctx.gpr[18] = (ctx.gpr[17] | 0u); goto L_08947B4C; L_08947B4C: aot_gpr_4 = (2237u << 16u); @@ -8769,20 +8770,20 @@ L_08947B4C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0075_entry, 75u, 759u, 0x08933F0Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08947B60u) goto L_08947B60; AOT_REGCACHE_SYNC_OUT(); return; L_08947B60: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08947B6Cu); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0045_entry, 45u, 623u, 0x088BAFE8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08947B6Cu) goto L_08947B6C; AOT_REGCACHE_SYNC_OUT(); return; L_08947B6C: aot_gpr_31 = (0x08947B74u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_08947944; L_08947B74: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(80), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; @@ -8797,20 +8798,20 @@ L_08947B90: aot_gpr_29 = (aot_gpr_29 + static_cast(-64)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), ctx.gpr[18]); ctx.gpr[18] = (2237u << 16u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), aot_gpr_17); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), ctx.gpr[16]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), ctx.gpr[17]); + ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.gpr[18] = (ctx.gpr[18] + static_cast(-28736)); - aot_gpr_17 = (aot_gpr_5 | 0u); + ctx.gpr[17] = (aot_gpr_5 | 0u); { const std::uint32_t aot_run_words[3]{ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(40), aot_run_words); } aot_gpr_31 = (0x08947BC4u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08947BC4u) goto L_08947BC4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC734, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08947BC4u) goto L_08947BC4; AOT_REGCACHE_SYNC_OUT(); return; L_08947BC4: aot_gpr_4 = (0u | 5u); - { const bool branch_taken = ctx.gpr[2] != aot_gpr_4; + { const bool branch_taken = aot_gpr_2 != aot_gpr_4; // nop if (branch_taken) { goto L_08947BE8; @@ -8825,7 +8826,7 @@ L_08947BD0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 395u, 0x08ADD768u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08947BE0u) goto L_08947BE0; AOT_REGCACHE_SYNC_OUT(); return; L_08947BE0: - { const bool branch_taken = ctx.gpr[19] == ctx.gpr[2]; + { const bool branch_taken = ctx.gpr[19] == aot_gpr_2; // nop if (branch_taken) { goto L_08947C0C; @@ -8833,16 +8834,16 @@ L_08947BE0: goto L_08947BE8; } L_08947BE8: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(3)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(3)))))); ctx.gpr[19] = (0u | 1u); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08947BFCu); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 192u, 0x08ADCA6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08947BFCu) goto L_08947BFC; AOT_REGCACHE_SYNC_OUT(); return; L_08947BFC: - if (ctx.gpr[2] != 0u) { - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(3)))))); + if (aot_gpr_2 != 0u) { + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(3)))))); goto L_08947C14; } goto L_08947C04; @@ -8856,7 +8857,7 @@ L_08947C04: } L_08947C0C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0081_entry, 81u, 5u, 0x08948020u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } @@ -8865,11 +8866,11 @@ L_08947C0C: L_08947C14: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08947C20u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 192u, 0x08ADCA6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08947C20u) goto L_08947C20; AOT_REGCACHE_SYNC_OUT(); return; L_08947C20: - ctx.gpr[20] = (ctx.gpr[2] | 0u); + ctx.gpr[20] = (aot_gpr_2 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(96))); if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(96))); @@ -8878,13 +8879,13 @@ L_08947C20: goto L_08947C30; L_08947C30: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[20] + static_cast(10)))))); - ctx.gpr[6] = (aot_gpr_29 + static_cast(16)); + aot_gpr_6 = (aot_gpr_29 + static_cast(16)); aot_gpr_31 = (0x08947C40u); aot_gpr_4 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08947C40u) goto L_08947C40; AOT_REGCACHE_SYNC_OUT(); return; L_08947C40: - aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(96), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(16))); aot_mem.aot_direct_store8(ctx.gpr[20] + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(96))); @@ -8899,15 +8900,15 @@ L_08947C50: goto L_08947C5C; } L_08947C5C: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(3)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(3)))))); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08947C6Cu); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 192u, 0x08ADCA6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08947C6Cu) goto L_08947C6C; AOT_REGCACHE_SYNC_OUT(); return; L_08947C6C: - aot_gpr_17 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_08947EB8; @@ -8936,7 +8937,7 @@ L_08947C90: } L_08947C98: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0081_entry, 81u, 5u, 0x08948020u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } @@ -8944,17 +8945,17 @@ L_08947C98: } L_08947CA0: aot_gpr_31 = (0x08947CA8u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 597u, 0x089D3458u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08947CA8u) goto L_08947CA8; AOT_REGCACHE_SYNC_OUT(); return; L_08947CA8: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08947CB4u); - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 696u, 0x0890EF94u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08947CB4u) goto L_08947CB4; AOT_REGCACHE_SYNC_OUT(); return; L_08947CB4: - { const bool branch_taken = aot_gpr_16 == ctx.gpr[2]; + { const bool branch_taken = ctx.gpr[16] == aot_gpr_2; // nop if (branch_taken) { goto L_08947CD0; @@ -8962,7 +8963,7 @@ L_08947CB4: goto L_08947CBC; } L_08947CBC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(96))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -8972,7 +8973,7 @@ L_08947CBC: } L_08947CC8: { const bool branch_taken = 0u == 0u; - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(96))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); if (branch_taken) { goto L_08947CF8; } @@ -8980,24 +8981,24 @@ L_08947CC8: } L_08947CD0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (ctx.gpr[19] | 0u); + aot_gpr_2 = (ctx.gpr[19] | 0u); if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0081_entry, 81u, 5u, 0x08948020u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08947CD8; } L_08947CD8: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(10)))))); - ctx.gpr[6] = (aot_gpr_29 + static_cast(17)); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(10)))))); + aot_gpr_6 = (aot_gpr_29 + static_cast(17)); aot_gpr_31 = (0x08947CE8u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08947CE8u) goto L_08947CE8; AOT_REGCACHE_SYNC_OUT(); return; L_08947CE8: - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(96), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(17))); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(4), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(96))); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(4), static_cast(aot_gpr_4)); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); goto L_08947CF8; L_08947CF8: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(346))); @@ -9014,12 +9015,12 @@ L_08947CF8: L_08947D10: aot_gpr_31 = (0x08947D18u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08947D18u) goto L_08947D18; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC734, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08947D18u) goto L_08947D18; AOT_REGCACHE_SYNC_OUT(); return; L_08947D18: aot_gpr_4 = (0u | 4u); - if (ctx.gpr[2] == aot_gpr_4) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(96))); + if (aot_gpr_2 == aot_gpr_4) { + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); goto L_08947D34; } goto L_08947D24; @@ -9033,7 +9034,7 @@ L_08947D24: } L_08947D2C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0081_entry, 81u, 5u, 0x08948020u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } @@ -9046,17 +9047,17 @@ L_08947D34: } goto L_08947D3C; L_08947D3C: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(10)))))); - ctx.gpr[6] = (aot_gpr_29 + static_cast(18)); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(10)))))); + aot_gpr_6 = (aot_gpr_29 + static_cast(18)); aot_gpr_31 = (0x08947D4Cu); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08947D4Cu) goto L_08947D4C; AOT_REGCACHE_SYNC_OUT(); return; L_08947D4C: - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(96), aot_gpr_2); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(18))); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(96))); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(4), static_cast(aot_gpr_5)); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(4), static_cast(aot_gpr_5)); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(176))); goto L_08947D60; L_08947D60: @@ -9072,29 +9073,29 @@ L_08947D60: } L_08947D74: { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_16 = (0u | 65535u); + ctx.gpr[16] = (0u | 65535u); if (branch_taken) { goto L_08947D9C; } goto L_08947D7C; } L_08947D7C: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(10)))))); - ctx.gpr[6] = (aot_gpr_29 + static_cast(19)); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(10)))))); + aot_gpr_6 = (aot_gpr_29 + static_cast(19)); aot_gpr_31 = (0x08947D8Cu); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08947D8Cu) goto L_08947D8C; AOT_REGCACHE_SYNC_OUT(); return; L_08947D8C: - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(96), aot_gpr_2); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(19))); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(96))); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(4), static_cast(aot_gpr_5)); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(4), static_cast(aot_gpr_5)); goto L_08947D9C; L_08947D9C: aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(176))); - { const bool branch_taken = aot_gpr_4 != aot_gpr_16; - ctx.gpr[6] = (aot_gpr_4 | 0u); + { const bool branch_taken = aot_gpr_4 != ctx.gpr[16]; + aot_gpr_6 = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08947DB0; } @@ -9109,13 +9110,13 @@ L_08947DA8: goto L_08947DB0; } L_08947DB0: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(3)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(3)))))); aot_gpr_31 = (0x08947DBCu); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 192u, 0x08ADCA6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08947DBCu) goto L_08947DBC; AOT_REGCACHE_SYNC_OUT(); return; L_08947DBC: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); goto L_08947DC0; L_08947DC0: { const bool branch_taken = aot_gpr_4 == 0u; @@ -9126,29 +9127,29 @@ L_08947DC0: goto L_08947DC8; } L_08947DC8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(96))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(176))); goto L_08947DF8; } goto L_08947DD4; L_08947DD4: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(10)))))); - ctx.gpr[6] = (aot_gpr_29 + static_cast(20)); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(10)))))); + aot_gpr_6 = (aot_gpr_29 + static_cast(20)); aot_gpr_31 = (0x08947DE4u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08947DE4u) goto L_08947DE4; AOT_REGCACHE_SYNC_OUT(); return; L_08947DE4: - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(96), aot_gpr_2); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(20))); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(96))); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(4), static_cast(aot_gpr_5)); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(4), static_cast(aot_gpr_5)); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(176))); goto L_08947DF8; L_08947DF8: - { const bool branch_taken = aot_gpr_4 != aot_gpr_16; - ctx.gpr[6] = (aot_gpr_4 | 0u); + { const bool branch_taken = aot_gpr_4 != ctx.gpr[16]; + aot_gpr_6 = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08947E0C; } @@ -9164,13 +9165,13 @@ L_08947E00: goto L_08947E0C; } L_08947E0C: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(3)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(3)))))); aot_gpr_31 = (0x08947E18u); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 192u, 0x08ADCA6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08947E18u) goto L_08947E18; AOT_REGCACHE_SYNC_OUT(); return; L_08947E18: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(112))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(112))); goto L_08947E1C; L_08947E1C: { const bool branch_taken = aot_gpr_4 == 0u; @@ -9181,29 +9182,29 @@ L_08947E1C: goto L_08947E24; } L_08947E24: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(96))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(176))); goto L_08947E54; } goto L_08947E30; L_08947E30: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(10)))))); - ctx.gpr[6] = (aot_gpr_29 + static_cast(21)); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(10)))))); + aot_gpr_6 = (aot_gpr_29 + static_cast(21)); aot_gpr_31 = (0x08947E40u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08947E40u) goto L_08947E40; AOT_REGCACHE_SYNC_OUT(); return; L_08947E40: - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(96), aot_gpr_2); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(21))); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(96))); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(4), static_cast(aot_gpr_5)); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(4), static_cast(aot_gpr_5)); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(176))); goto L_08947E54; L_08947E54: - { const bool branch_taken = aot_gpr_4 != aot_gpr_16; - ctx.gpr[6] = (aot_gpr_4 | 0u); + { const bool branch_taken = aot_gpr_4 != ctx.gpr[16]; + aot_gpr_6 = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08947E70; } @@ -9221,13 +9222,13 @@ L_08947E5C: goto L_08947E70; } L_08947E70: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(3)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(3)))))); aot_gpr_31 = (0x08947E7Cu); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 192u, 0x08ADCA6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08947E7Cu) goto L_08947E7C; AOT_REGCACHE_SYNC_OUT(); return; L_08947E7C: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(112))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(112))); aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(60))); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(86)))))); goto L_08947E88; @@ -9242,11 +9243,11 @@ L_08947E88: L_08947E90: aot_gpr_31 = (0x08947E98u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08947E98u) goto L_08947E98; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC734, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08947E98u) goto L_08947E98; AOT_REGCACHE_SYNC_OUT(); return; L_08947E98: aot_gpr_4 = (0u | 7u); - { const bool branch_taken = ctx.gpr[2] != aot_gpr_4; + { const bool branch_taken = aot_gpr_2 != aot_gpr_4; // nop if (branch_taken) { goto L_08947EB8; @@ -9254,7 +9255,7 @@ L_08947E98: goto L_08947EA4; } L_08947EA4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(96))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -9272,7 +9273,7 @@ L_08947EB0: } L_08947EB8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (ctx.gpr[19] | 0u); + aot_gpr_2 = (ctx.gpr[19] | 0u); if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0081_entry, 81u, 5u, 0x08948020u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } @@ -9280,24 +9281,24 @@ L_08947EB8: } L_08947EC0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0081_entry, 81u, 5u, 0x08948020u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08947EC8; } L_08947EC8: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(10)))))); - ctx.gpr[6] = (aot_gpr_29 + static_cast(22)); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(10)))))); + aot_gpr_6 = (aot_gpr_29 + static_cast(22)); aot_gpr_31 = (0x08947ED8u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08947ED8u) goto L_08947ED8; AOT_REGCACHE_SYNC_OUT(); return; L_08947ED8: - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(96), aot_gpr_2); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(22))); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(96))); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(4), static_cast(aot_gpr_5)); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(4), static_cast(aot_gpr_5)); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(176))); goto L_08947EEC; L_08947EEC: @@ -9313,29 +9314,29 @@ L_08947EEC: } L_08947F00: { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_16 = (0u | 65535u); + ctx.gpr[16] = (0u | 65535u); if (branch_taken) { goto L_08947F28; } goto L_08947F08; } L_08947F08: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(10)))))); - ctx.gpr[6] = (aot_gpr_29 + static_cast(23)); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(10)))))); + aot_gpr_6 = (aot_gpr_29 + static_cast(23)); aot_gpr_31 = (0x08947F18u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08947F18u) goto L_08947F18; AOT_REGCACHE_SYNC_OUT(); return; L_08947F18: - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(96), aot_gpr_2); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(23))); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(96))); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(4), static_cast(aot_gpr_5)); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(4), static_cast(aot_gpr_5)); goto L_08947F28; L_08947F28: aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(176))); - { const bool branch_taken = aot_gpr_4 != aot_gpr_16; - ctx.gpr[6] = (aot_gpr_4 | 0u); + { const bool branch_taken = aot_gpr_4 != ctx.gpr[16]; + aot_gpr_6 = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08947F3C; } @@ -9350,13 +9351,13 @@ L_08947F34: goto L_08947F3C; } L_08947F3C: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(3)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(3)))))); aot_gpr_31 = (0x08947F48u); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 192u, 0x08ADCA6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08947F48u) goto L_08947F48; AOT_REGCACHE_SYNC_OUT(); return; L_08947F48: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); goto L_08947F4C; L_08947F4C: { const bool branch_taken = aot_gpr_4 == 0u; @@ -9367,29 +9368,29 @@ L_08947F4C: goto L_08947F54; } L_08947F54: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(96))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(176))); goto L_08947F84; } goto L_08947F60; L_08947F60: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(10)))))); - ctx.gpr[6] = (aot_gpr_29 + static_cast(24)); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(10)))))); + aot_gpr_6 = (aot_gpr_29 + static_cast(24)); aot_gpr_31 = (0x08947F70u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08947F70u) goto L_08947F70; AOT_REGCACHE_SYNC_OUT(); return; L_08947F70: - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(96), aot_gpr_2); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(24))); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(96))); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(4), static_cast(aot_gpr_5)); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(4), static_cast(aot_gpr_5)); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(176))); goto L_08947F84; L_08947F84: - { const bool branch_taken = aot_gpr_4 != aot_gpr_16; - ctx.gpr[6] = (aot_gpr_4 | 0u); + { const bool branch_taken = aot_gpr_4 != ctx.gpr[16]; + aot_gpr_6 = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08947F98; } @@ -9405,13 +9406,13 @@ L_08947F8C: goto L_08947F98; } L_08947F98: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(3)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(3)))))); aot_gpr_31 = (0x08947FA4u); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 192u, 0x08ADCA6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08947FA4u) goto L_08947FA4; AOT_REGCACHE_SYNC_OUT(); return; L_08947FA4: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(112))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(112))); goto L_08947FA8; L_08947FA8: { const bool branch_taken = aot_gpr_4 == 0u; @@ -9422,29 +9423,29 @@ L_08947FA8: goto L_08947FB0; } L_08947FB0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(96))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(176))); goto L_08947FE0; } goto L_08947FBC; L_08947FBC: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(10)))))); - ctx.gpr[6] = (aot_gpr_29 + static_cast(25)); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(10)))))); + aot_gpr_6 = (aot_gpr_29 + static_cast(25)); aot_gpr_31 = (0x08947FCCu); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08947FCCu) goto L_08947FCC; AOT_REGCACHE_SYNC_OUT(); return; L_08947FCC: - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(96), aot_gpr_2); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(25))); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(96))); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(4), static_cast(aot_gpr_5)); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(4), static_cast(aot_gpr_5)); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(176))); goto L_08947FE0; L_08947FE0: - { const bool branch_taken = aot_gpr_4 != aot_gpr_16; - ctx.gpr[6] = (aot_gpr_4 | 0u); + { const bool branch_taken = aot_gpr_4 != ctx.gpr[16]; + aot_gpr_6 = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08947FFC; } @@ -9452,17 +9453,17 @@ L_08947FE0: } L_08947FE8: aot_gpr_4 = (0u | 0u); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(112))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(112))); ctx.gpr[18] = (aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(62))); { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(86)))))); + ctx.gpr[17] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(86)))))); if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0081_entry, 81u, 3u, 0x08948014u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08947FFC; } L_08947FFC: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(3)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(3)))))); ctx.pc = 0x08948000u; AOT_REGCACHE_SYNC_OUT(); return; } diff --git a/profiles/vcs/generated/generated_unit_0081.cpp b/profiles/vcs/generated/generated_unit_0081.cpp index f39eb3f..d28b079 100644 --- a/profiles/vcs/generated/generated_unit_0081.cpp +++ b/profiles/vcs/generated/generated_unit_0081.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,7 +139,7 @@ static const std::uint16_t kEntryIds_recomp_unit_0081[4096] = { }; void recomp_unit_0081_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,16,31,6,29 fprs=12,13,20,14 gpr_occ=4154 fpr_occ=954 gpr_total=4992 fpr_total=1155 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,16,31,6,29 fprs=12,13,20,14 gpr_occ=4286 fpr_occ=956 gpr_total=5194 fpr_total=1157 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_16 = ctx.gpr[16]; @@ -2018,7 +2019,7 @@ L_089486A0: L_089486AC: aot_gpr_31 = (0x089486B4u); aot_gpr_5 = (ctx.gpr[17] + static_cast(3332)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089486B4u) goto L_089486B4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A93004, 163u, 430u, 0x08A93004u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089486B4u) goto L_089486B4; AOT_REGCACHE_SYNC_OUT(); return; L_089486B4: { const bool branch_taken = aot_gpr_16 == 0u; @@ -2032,7 +2033,7 @@ L_089486BC: aot_gpr_5 = (ctx.gpr[17] + static_cast(3332)); aot_gpr_31 = (0x089486C8u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089486C8u) goto L_089486C8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089486C8u) goto L_089486C8; AOT_REGCACHE_SYNC_OUT(); return; L_089486C8: { std::uint32_t aot_run_words[3]{}; @@ -2471,7 +2472,7 @@ L_08948A20: aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); aot_gpr_31 = (0x08948A40u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08948A40u) goto L_08948A40; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08948A40u) goto L_08948A40; AOT_REGCACHE_SYNC_OUT(); return; L_08948A40: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(0))); @@ -2784,14 +2785,14 @@ L_08948C70: L_08948C8C: aot_gpr_31 = (0x08948C94u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(264))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08948C94u) goto L_08948C94; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08948C94u) goto L_08948C94; AOT_REGCACHE_SYNC_OUT(); return; L_08948C94: ctx.gpr[19] = (ctx.gpr[3] | 0u); ctx.gpr[18] = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08948CA4u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08948CA4u) goto L_08948CA4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08948CA4u) goto L_08948CA4; AOT_REGCACHE_SYNC_OUT(); return; L_08948CA4: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-17956))); @@ -2799,7 +2800,7 @@ L_08948CA4: aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08948CB8u); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08948CB8u) goto L_08948CB8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_16, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08948CB8u) goto L_08948CB8; AOT_REGCACHE_SYNC_OUT(); return; L_08948CB8: aot_gpr_5 = (ctx.gpr[19] | 0u); @@ -2807,7 +2808,7 @@ L_08948CB8: ctx.gpr[7] = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08948CCCu); aot_gpr_6 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08948CCCu) goto L_08948CCC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B6256C, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08948CCCu) goto L_08948CCC; AOT_REGCACHE_SYNC_OUT(); return; L_08948CCC: { const bool branch_taken = static_cast(ctx.gpr[2]) >= 0; @@ -3290,7 +3291,7 @@ L_08949064: L_08949070: aot_gpr_31 = (0x08949078u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08949078u) goto L_08949078; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08949078u) goto L_08949078; AOT_REGCACHE_SYNC_OUT(); return; L_08949078: aot_gpr_4 = (ctx.gpr[2] | 0u); @@ -3298,7 +3299,7 @@ L_08949078: ctx.gpr[7] = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x0894908Cu); aot_gpr_6 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894908Cu) goto L_0894908C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894908Cu) goto L_0894908C; AOT_REGCACHE_SYNC_OUT(); return; L_0894908C: ctx.gpr[1] = (ctx.gpr[3] << 1u); @@ -3479,7 +3480,7 @@ L_089491C4: aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); aot_gpr_31 = (0x089491E4u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089491E4u) goto L_089491E4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089491E4u) goto L_089491E4; AOT_REGCACHE_SYNC_OUT(); return; L_089491E4: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1929)))))); @@ -4028,7 +4029,7 @@ L_089495E0: aot_gpr_6 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x089495F4u); aot_gpr_5 = (aot_gpr_5 + static_cast(-6296)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089495F4u) goto L_089495F4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089495F4u) goto L_089495F4; AOT_REGCACHE_SYNC_OUT(); return; L_089495F4: aot_gpr_4 = (50298u << 16u); @@ -4345,7 +4346,7 @@ L_08949848: L_08949854: aot_gpr_31 = (0x0894985Cu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 454u, 0x08909B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894985Cu) goto L_0894985C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08909B60, 65u, 454u, 0x08909B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 454u, 0x08909B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894985Cu) goto L_0894985C; AOT_REGCACHE_SYNC_OUT(); return; L_0894985C: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -4357,7 +4358,7 @@ L_08949868: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08949874u); aot_gpr_5 = (0u | 51u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08949874u) goto L_08949874; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08908E78, 65u, 261u, 0x08908E78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08949874u) goto L_08949874; AOT_REGCACHE_SYNC_OUT(); return; L_08949874: aot_gpr_4 = (2236u << 16u); @@ -4435,7 +4436,7 @@ L_089498DC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08949910u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08949910u) goto L_08949910; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08949910u) goto L_08949910; AOT_REGCACHE_SYNC_OUT(); return; L_08949910: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(0))); @@ -4592,7 +4593,7 @@ L_08949A38: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x08949A68u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08949A68u) goto L_08949A68; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08949A68u) goto L_08949A68; AOT_REGCACHE_SYNC_OUT(); return; L_08949A68: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(0))); @@ -4710,7 +4711,7 @@ L_08949AE8: aot_fpr_20 = std::bit_cast(aot_gpr_5); aot_gpr_31 = (0x08949B1Cu); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08949B1Cu) goto L_08949B1C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08949B1Cu) goto L_08949B1C; AOT_REGCACHE_SYNC_OUT(); return; L_08949B1C: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(8))); @@ -4788,7 +4789,7 @@ L_08949BA8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); aot_gpr_31 = (0x08949BB4u); aot_fpr_20 = std::bit_cast(std::bit_cast(ctx.fpr[0])); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08949BB4u) goto L_08949BB4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08949BB4u) goto L_08949BB4; AOT_REGCACHE_SYNC_OUT(); return; L_08949BB4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(0))); @@ -4836,7 +4837,7 @@ L_08949C00: L_08949C08: aot_gpr_31 = (0x08949C10u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08949C10u) goto L_08949C10; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08949C10u) goto L_08949C10; AOT_REGCACHE_SYNC_OUT(); return; L_08949C10: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(0))); @@ -5035,7 +5036,7 @@ L_08949D80: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08949DB8u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08949DB8u) goto L_08949DB8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08949DB8u) goto L_08949DB8; AOT_REGCACHE_SYNC_OUT(); return; L_08949DB8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(0))); @@ -5103,7 +5104,7 @@ L_08949E14: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08949E20u); aot_gpr_5 = (0u | 5u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08949E20u) goto L_08949E20; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08949E20u) goto L_08949E20; AOT_REGCACHE_SYNC_OUT(); return; L_08949E20: { std::uint32_t aot_run_words[3]{}; @@ -5561,7 +5562,7 @@ L_0894A2B0: L_0894A2E4: aot_gpr_31 = (0x0894A2ECu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 454u, 0x08909B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894A2ECu) goto L_0894A2EC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08909B60, 65u, 454u, 0x08909B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 454u, 0x08909B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894A2ECu) goto L_0894A2EC; AOT_REGCACHE_SYNC_OUT(); return; L_0894A2EC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(464))); @@ -5602,13 +5603,13 @@ L_0894A33C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0894A348u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894A348u) goto L_0894A348; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894A348u) goto L_0894A348; AOT_REGCACHE_SYNC_OUT(); return; L_0894A348: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0894A354u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894A354u) goto L_0894A354; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08908E78, 65u, 261u, 0x08908E78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894A354u) goto L_0894A354; AOT_REGCACHE_SYNC_OUT(); return; L_0894A354: aot_gpr_4 = (0u | 30u); @@ -6203,7 +6204,7 @@ L_0894A7F4: aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); aot_gpr_31 = (0x0894A814u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894A814u) goto L_0894A814; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894A814u) goto L_0894A814; AOT_REGCACHE_SYNC_OUT(); return; L_0894A814: ctx.gpr[19] = (ctx.gpr[2] | 0u); @@ -7220,7 +7221,7 @@ L_0894AF90: aot_gpr_6 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0894AFA0u); aot_gpr_5 = (aot_gpr_5 + static_cast(-20648)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894AFA0u) goto L_0894AFA0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894AFA0u) goto L_0894AFA0; AOT_REGCACHE_SYNC_OUT(); return; L_0894AFA0: { const bool branch_taken = 0u == 0u; @@ -7297,7 +7298,7 @@ L_0894B018: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0894B024u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894B024u) goto L_0894B024; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894B024u) goto L_0894B024; AOT_REGCACHE_SYNC_OUT(); return; L_0894B024: aot_gpr_31 = (0x0894B02Cu); @@ -7465,7 +7466,7 @@ L_0894B11C: L_0894B13C: aot_gpr_31 = (0x0894B144u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894B144u) goto L_0894B144; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894B144u) goto L_0894B144; AOT_REGCACHE_SYNC_OUT(); return; L_0894B144: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -7720,7 +7721,7 @@ L_0894B2D0: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0894B2DCu); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894B2DCu) goto L_0894B2DC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894B2DCu) goto L_0894B2DC; AOT_REGCACHE_SYNC_OUT(); return; L_0894B2DC: { const bool branch_taken = 0u == 0u; @@ -8958,7 +8959,7 @@ L_0894BB44: L_0894BB54: aot_gpr_31 = (0x0894BB5Cu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 454u, 0x08909B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894BB5Cu) goto L_0894BB5C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08909B60, 65u, 454u, 0x08909B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 454u, 0x08909B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894BB5Cu) goto L_0894BB5C; AOT_REGCACHE_SYNC_OUT(); return; L_0894BB5C: { const bool branch_taken = 0u == 0u; @@ -9181,7 +9182,7 @@ L_0894BD1C: L_0894BD24: aot_gpr_31 = (0x0894BD2Cu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 454u, 0x08909B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894BD2Cu) goto L_0894BD2C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08909B60, 65u, 454u, 0x08909B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 454u, 0x08909B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894BD2Cu) goto L_0894BD2C; AOT_REGCACHE_SYNC_OUT(); return; L_0894BD2C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2244))); @@ -9201,7 +9202,7 @@ L_0894BD38: L_0894BD48: aot_gpr_31 = (0x0894BD50u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 454u, 0x08909B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894BD50u) goto L_0894BD50; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08909B60, 65u, 454u, 0x08909B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 454u, 0x08909B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894BD50u) goto L_0894BD50; AOT_REGCACHE_SYNC_OUT(); return; L_0894BD50: aot_gpr_4 = (aot_gpr_16 | 0u); diff --git a/profiles/vcs/generated/generated_unit_0082.cpp b/profiles/vcs/generated/generated_unit_0082.cpp index 0b62714..89d3b22 100644 --- a/profiles/vcs/generated/generated_unit_0082.cpp +++ b/profiles/vcs/generated/generated_unit_0082.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0082[4091] = { }; void recomp_unit_0082_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,16,6,29,31 fprs=12,13,20,22 gpr_occ=4015 fpr_occ=715 gpr_total=5147 fpr_total=918 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,16,6,31,29 fprs=12,13,20,22 gpr_occ=4133 fpr_occ=717 gpr_total=5330 fpr_total=920 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_16 = ctx.gpr[16]; std::uint32_t aot_gpr_6 = ctx.gpr[6]; - std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; + std::uint32_t aot_gpr_29 = ctx.gpr[29]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_20 = ctx.fpr[20]; float aot_fpr_22 = ctx.fpr[22]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[16] = aot_gpr_16; ctx.gpr[6] = aot_gpr_6; ctx.gpr[29] = aot_gpr_29; ctx.gpr[31] = aot_gpr_31; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; ctx.fpr[22] = aot_fpr_22; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_31 = ctx.gpr[31]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_22 = ctx.fpr[22]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[16] = aot_gpr_16; ctx.gpr[6] = aot_gpr_6; ctx.gpr[31] = aot_gpr_31; ctx.gpr[29] = aot_gpr_29; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; ctx.fpr[22] = aot_fpr_22; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_29 = ctx.gpr[29]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_22 = ctx.fpr[22]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -1360,7 +1361,7 @@ L_0894C2B4: L_0894C2B8: aot_gpr_31 = (0x0894C2C0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894C2C0u) goto L_0894C2C0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894C2C0u) goto L_0894C2C0; AOT_REGCACHE_SYNC_OUT(); return; L_0894C2C0: aot_gpr_4 = (ctx.gpr[2] | 0u); @@ -1368,7 +1369,7 @@ L_0894C2C0: ctx.gpr[7] = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x0894C2D4u); aot_gpr_6 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894C2D4u) goto L_0894C2D4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894C2D4u) goto L_0894C2D4; AOT_REGCACHE_SYNC_OUT(); return; L_0894C2D4: ctx.gpr[1] = (ctx.gpr[3] << 1u); @@ -1537,7 +1538,7 @@ L_0894C410: L_0894C414: aot_gpr_31 = (0x0894C41Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894C41Cu) goto L_0894C41C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894C41Cu) goto L_0894C41C; AOT_REGCACHE_SYNC_OUT(); return; L_0894C41C: aot_gpr_4 = (ctx.gpr[2] | 0u); @@ -1545,7 +1546,7 @@ L_0894C41C: ctx.gpr[7] = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x0894C430u); aot_gpr_6 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894C430u) goto L_0894C430; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894C430u) goto L_0894C430; AOT_REGCACHE_SYNC_OUT(); return; L_0894C430: ctx.gpr[1] = (ctx.gpr[3] << 1u); @@ -1798,7 +1799,7 @@ L_0894C608: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0894C614u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894C614u) goto L_0894C614; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894C614u) goto L_0894C614; AOT_REGCACHE_SYNC_OUT(); return; L_0894C614: { const bool branch_taken = ctx.gpr[19] == 0u; @@ -2014,7 +2015,7 @@ L_0894C760: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0894C770u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894C770u) goto L_0894C770; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894C770u) goto L_0894C770; AOT_REGCACHE_SYNC_OUT(); return; L_0894C770: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(68))); @@ -2174,7 +2175,7 @@ L_0894C87C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0894C888u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894C888u) goto L_0894C888; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894C888u) goto L_0894C888; AOT_REGCACHE_SYNC_OUT(); return; L_0894C888: { const bool branch_taken = ctx.gpr[19] == 0u; @@ -2188,7 +2189,7 @@ L_0894C890: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0894C89Cu); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894C89Cu) goto L_0894C89C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894C89Cu) goto L_0894C89C; AOT_REGCACHE_SYNC_OUT(); return; L_0894C89C: { const bool branch_taken = ctx.gpr[22] == 0u; @@ -2537,7 +2538,7 @@ L_0894CB68: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0894CB84u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894CB84u) goto L_0894CB84; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894CB84u) goto L_0894CB84; AOT_REGCACHE_SYNC_OUT(); return; L_0894CB84: { const bool branch_taken = 0u == 0u; @@ -2572,7 +2573,7 @@ L_0894CBA8: aot_mem.aot_direct_store32(ctx.gpr[30] + static_cast(36), std::bit_cast(aot_fpr_20)); aot_gpr_31 = (0x0894CBD4u); aot_mem.aot_direct_store32(ctx.gpr[23] + static_cast(36), std::bit_cast(aot_fpr_20)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894CBD4u) goto L_0894CBD4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894CBD4u) goto L_0894CBD4; AOT_REGCACHE_SYNC_OUT(); return; L_0894CBD4: { const bool branch_taken = 0u == 0u; @@ -2590,7 +2591,7 @@ L_0894CBDC: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0894CBF8u); aot_gpr_5 = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894CBF8u) goto L_0894CBF8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894CBF8u) goto L_0894CBF8; AOT_REGCACHE_SYNC_OUT(); return; L_0894CBF8: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7080))); @@ -3088,13 +3089,13 @@ L_0894CF70: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(456), aot_gpr_5); aot_gpr_31 = (0x0894CF88u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1784))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894CF88u) goto L_0894CF88; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890FF64, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894CF88u) goto L_0894CF88; AOT_REGCACHE_SYNC_OUT(); return; L_0894CF88: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1784))); aot_gpr_31 = (0x0894CF94u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894CF94u) goto L_0894CF94; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894CF94u) goto L_0894CF94; AOT_REGCACHE_SYNC_OUT(); return; L_0894CF94: { const bool branch_taken = 0u == 0u; @@ -3677,7 +3678,7 @@ L_0894D3BC: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0894D3DCu); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894D3DCu) goto L_0894D3DC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894D3DCu) goto L_0894D3DC; AOT_REGCACHE_SYNC_OUT(); return; L_0894D3DC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); @@ -3765,7 +3766,7 @@ L_0894D47C: aot_gpr_6 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0894D48Cu); aot_gpr_5 = (aot_gpr_5 + static_cast(-12812)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894D48Cu) goto L_0894D48C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894D48Cu) goto L_0894D48C; AOT_REGCACHE_SYNC_OUT(); return; L_0894D48C: ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(3304))); @@ -4831,7 +4832,7 @@ L_0894DC5C: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_31 = (0x0894DC6Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894DC6Cu) goto L_0894DC6C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894DC6Cu) goto L_0894DC6C; AOT_REGCACHE_SYNC_OUT(); return; L_0894DC6C: aot_fpr_12 = aot_fpr_22 - ctx.fpr[26]; @@ -4842,7 +4843,7 @@ L_0894DC6C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(80), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x0894DC8Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894DC8Cu) goto L_0894DC8C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894DC8Cu) goto L_0894DC8C; AOT_REGCACHE_SYNC_OUT(); return; L_0894DC8C: aot_fpr_12 = aot_fpr_22 - ctx.fpr[26]; @@ -5044,7 +5045,7 @@ L_0894DDE4: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_31 = (0x0894DDF4u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894DDF4u) goto L_0894DDF4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894DDF4u) goto L_0894DDF4; AOT_REGCACHE_SYNC_OUT(); return; L_0894DDF4: aot_fpr_12 = ctx.fpr[24] - aot_fpr_22; @@ -5055,7 +5056,7 @@ L_0894DDF4: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(80), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x0894DE14u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894DE14u) goto L_0894DE14; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894DE14u) goto L_0894DE14; AOT_REGCACHE_SYNC_OUT(); return; L_0894DE14: aot_fpr_12 = ctx.fpr[24] - aot_fpr_22; @@ -6348,7 +6349,7 @@ L_0894E79C: aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(688), aot_run_words); } aot_gpr_31 = (0x0894E7E4u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894E7E4u) goto L_0894E7E4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894E7E4u) goto L_0894E7E4; AOT_REGCACHE_SYNC_OUT(); return; L_0894E7E4: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(3262)))))); @@ -7347,7 +7348,7 @@ L_0894ED78: aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); aot_gpr_31 = (0x0894ED98u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894ED98u) goto L_0894ED98; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894ED98u) goto L_0894ED98; AOT_REGCACHE_SYNC_OUT(); return; L_0894ED98: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(0))); @@ -7443,7 +7444,7 @@ L_0894EE18: L_0894EE24: aot_gpr_31 = (0x0894EE2Cu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 454u, 0x08909B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894EE2Cu) goto L_0894EE2C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08909B60, 65u, 454u, 0x08909B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 454u, 0x08909B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894EE2Cu) goto L_0894EE2C; AOT_REGCACHE_SYNC_OUT(); return; L_0894EE2C: aot_gpr_31 = (0x0894EE34u); @@ -7478,7 +7479,7 @@ L_0894EE64: aot_gpr_6 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0894EE7Cu); aot_gpr_5 = (aot_gpr_5 + static_cast(-12284)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894EE7Cu) goto L_0894EE7C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894EE7Cu) goto L_0894EE7C; AOT_REGCACHE_SYNC_OUT(); return; L_0894EE7C: aot_gpr_4 = (16256u << 16u); @@ -7577,7 +7578,7 @@ L_0894EF04: aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); aot_gpr_31 = (0x0894EF24u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894EF24u) goto L_0894EF24; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894EF24u) goto L_0894EF24; AOT_REGCACHE_SYNC_OUT(); return; L_0894EF24: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(0))); @@ -8052,14 +8053,14 @@ L_0894F278: L_0894F294: aot_gpr_31 = (0x0894F29Cu); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(264))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894F29Cu) goto L_0894F29C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894F29Cu) goto L_0894F29C; AOT_REGCACHE_SYNC_OUT(); return; L_0894F29C: ctx.gpr[21] = (ctx.gpr[3] | 0u); ctx.gpr[20] = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x0894F2ACu); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894F2ACu) goto L_0894F2AC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894F2ACu) goto L_0894F2AC; AOT_REGCACHE_SYNC_OUT(); return; L_0894F2AC: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-17956))); @@ -8067,7 +8068,7 @@ L_0894F2AC: aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x0894F2C0u); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894F2C0u) goto L_0894F2C0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_16, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894F2C0u) goto L_0894F2C0; AOT_REGCACHE_SYNC_OUT(); return; L_0894F2C0: aot_gpr_5 = (ctx.gpr[21] | 0u); @@ -8075,7 +8076,7 @@ L_0894F2C0: ctx.gpr[7] = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x0894F2D4u); aot_gpr_6 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894F2D4u) goto L_0894F2D4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B6256C, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894F2D4u) goto L_0894F2D4; AOT_REGCACHE_SYNC_OUT(); return; L_0894F2D4: { const bool branch_taken = static_cast(ctx.gpr[2]) >= 0; @@ -9234,7 +9235,7 @@ L_0894FBE4: ctx.gpr[17] = (aot_gpr_4 + static_cast(1396)); aot_gpr_31 = (0x0894FC04u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894FC04u) goto L_0894FC04; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0894FC04u) goto L_0894FC04; AOT_REGCACHE_SYNC_OUT(); return; L_0894FC04: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(12))); diff --git a/profiles/vcs/generated/generated_unit_0083.cpp b/profiles/vcs/generated/generated_unit_0083.cpp index 9265615..df6b499 100644 --- a/profiles/vcs/generated/generated_unit_0083.cpp +++ b/profiles/vcs/generated/generated_unit_0083.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,7 +139,7 @@ static const std::uint16_t kEntryIds_recomp_unit_0083[4086] = { }; void recomp_unit_0083_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,16,29,31,6 fprs=12,13,20,22 gpr_occ=4295 fpr_occ=459 gpr_total=5480 fpr_total=643 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,16,29,31,6 fprs=12,13,20,22 gpr_occ=4353 fpr_occ=461 gpr_total=5585 fpr_total=645 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_16 = ctx.gpr[16]; @@ -1560,7 +1561,7 @@ L_08950380: aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); aot_gpr_31 = (0x089503C8u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089503C8u) goto L_089503C8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089503C8u) goto L_089503C8; AOT_REGCACHE_SYNC_OUT(); return; L_089503C8: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(8))); @@ -2314,7 +2315,7 @@ L_089508FC: ctx.gpr[18] = (0u < ctx.gpr[18] ? 1u : 0u); aot_gpr_31 = (0x08950924u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08950924u) goto L_08950924; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08950924u) goto L_08950924; AOT_REGCACHE_SYNC_OUT(); return; L_08950924: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(3262)))))); @@ -4626,7 +4627,7 @@ L_08951960: aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); aot_gpr_31 = (0x08951980u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08951980u) goto L_08951980; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08951980u) goto L_08951980; AOT_REGCACHE_SYNC_OUT(); return; L_08951980: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(4))); @@ -4941,7 +4942,7 @@ L_08951BE4: aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); aot_gpr_31 = (0x08951C2Cu); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08951C2Cu) goto L_08951C2C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08951C2Cu) goto L_08951C2C; AOT_REGCACHE_SYNC_OUT(); return; L_08951C2C: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(8))); @@ -6487,7 +6488,7 @@ L_08952608: aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); aot_gpr_31 = (0x08952624u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08952624u) goto L_08952624; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08952624u) goto L_08952624; AOT_REGCACHE_SYNC_OUT(); return; L_08952624: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(4))); @@ -8323,7 +8324,7 @@ L_08953250: aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_31 = (0x089532E0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089532E0u) goto L_089532E0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089532E0u) goto L_089532E0; AOT_REGCACHE_SYNC_OUT(); return; L_089532E0: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-17844))); @@ -8331,7 +8332,7 @@ L_089532E0: aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x089532F4u); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089532F4u) goto L_089532F4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B6256C, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089532F4u) goto L_089532F4; AOT_REGCACHE_SYNC_OUT(); return; L_089532F4: { const bool branch_taken = static_cast(ctx.gpr[2]) <= 0; @@ -8365,7 +8366,7 @@ L_089532FC: aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_31 = (0x08953318u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08953318u) goto L_08953318; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08953318u) goto L_08953318; AOT_REGCACHE_SYNC_OUT(); return; L_08953318: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-17836))); @@ -8373,7 +8374,7 @@ L_08953318: aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x0895332Cu); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895332Cu) goto L_0895332C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B6256C, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895332Cu) goto L_0895332C; AOT_REGCACHE_SYNC_OUT(); return; L_0895332C: { const bool branch_taken = static_cast(ctx.gpr[2]) >= 0; @@ -9115,7 +9116,7 @@ L_08953810: L_0895381C: aot_gpr_31 = (0x08953824u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08953824u) goto L_08953824; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08953824u) goto L_08953824; AOT_REGCACHE_SYNC_OUT(); return; L_08953824: ctx.gpr[17] = (ctx.gpr[18] | 0u); @@ -9906,7 +9907,7 @@ L_08953DF0: L_08953E00: aot_gpr_31 = (0x08953E08u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08953E08u) goto L_08953E08; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08953E08u) goto L_08953E08; AOT_REGCACHE_SYNC_OUT(); return; L_08953E08: ctx.gpr[21] = (ctx.gpr[21] + static_cast(4)); @@ -9933,7 +9934,7 @@ L_08953E18: L_08953E20: aot_gpr_31 = (0x08953E28u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08953E28u) goto L_08953E28; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08953E28u) goto L_08953E28; AOT_REGCACHE_SYNC_OUT(); return; L_08953E28: aot_gpr_4 = (ctx.gpr[17] << 2u); diff --git a/profiles/vcs/generated/generated_unit_0084.cpp b/profiles/vcs/generated/generated_unit_0084.cpp index 6c3091b..9951cf4 100644 --- a/profiles/vcs/generated/generated_unit_0084.cpp +++ b/profiles/vcs/generated/generated_unit_0084.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include "vcs_tier2_superblocks.hpp" #include #include @@ -139,7 +140,7 @@ static const std::uint16_t kEntryIds_recomp_unit_0084[4096] = { }; void recomp_unit_0084_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,6,29,16,31 fprs=12,13,20,15 gpr_occ=4656 fpr_occ=150 gpr_total=6192 fpr_total=155 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,6,29,16,31 fprs=12,13,20,15 gpr_occ=4722 fpr_occ=150 gpr_total=6322 fpr_total=155 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_6 = ctx.gpr[6]; @@ -2496,7 +2497,7 @@ L_08954AE8: L_08954AF4: aot_gpr_31 = (0x08954AFCu); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08954AFCu) goto L_08954AFC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08954AFCu) goto L_08954AFC; AOT_REGCACHE_SYNC_OUT(); return; L_08954AFC: aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), 0u); @@ -2540,7 +2541,7 @@ L_08954B2C: L_08954B38: aot_gpr_31 = (0x08954B40u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08954B40u) goto L_08954B40; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08954B40u) goto L_08954B40; AOT_REGCACHE_SYNC_OUT(); return; L_08954B40: aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), 0u); @@ -3013,7 +3014,7 @@ L_08954F30: aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_31 = (0x08954F3Cu); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08954F3Cu) goto L_08954F3C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08954F3Cu) goto L_08954F3C; AOT_REGCACHE_SYNC_OUT(); return; L_08954F3C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); @@ -3433,7 +3434,7 @@ L_089552B8: L_089552C8: aot_gpr_31 = (0x089552D0u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089552D0u) goto L_089552D0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089552D0u) goto L_089552D0; AOT_REGCACHE_SYNC_OUT(); return; L_089552D0: aot_gpr_31 = (0x089552D8u); @@ -4771,7 +4772,7 @@ L_08955F18: L_08955F28: aot_gpr_31 = (0x08955F30u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-17788)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08955F30u) goto L_08955F30; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08955F30u) goto L_08955F30; AOT_REGCACHE_SYNC_OUT(); return; L_08955F30: aot_gpr_4 = (ctx.gpr[19] | 0u); @@ -6270,7 +6271,7 @@ L_08956A34: L_08956A44: aot_gpr_31 = (0x08956A4Cu); aot_gpr_4 = (ctx.gpr[28] + static_cast(-17788)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08956A4Cu) goto L_08956A4C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08956A4Cu) goto L_08956A4C; AOT_REGCACHE_SYNC_OUT(); return; L_08956A4C: aot_gpr_4 = (ctx.gpr[19] | 0u); @@ -7629,7 +7630,7 @@ L_08957460: L_0895746C: aot_gpr_31 = (0x08957474u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08957474u) goto L_08957474; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08957474u) goto L_08957474; AOT_REGCACHE_SYNC_OUT(); return; L_08957474: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -7675,7 +7676,7 @@ L_089574B4: L_089574BC: aot_gpr_31 = (0x089574C4u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089574C4u) goto L_089574C4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089574C4u) goto L_089574C4; AOT_REGCACHE_SYNC_OUT(); return; L_089574C4: aot_gpr_4 = (aot_gpr_16 & 1u); @@ -7691,7 +7692,7 @@ L_089574C8: L_089574D0: aot_gpr_31 = (0x089574D8u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089574D8u) goto L_089574D8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089574D8u) goto L_089574D8; AOT_REGCACHE_SYNC_OUT(); return; L_089574D8: aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); @@ -8083,7 +8084,7 @@ L_08957838: aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08957848u); aot_gpr_6 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08957848u) goto L_08957848; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08957848u) goto L_08957848; AOT_REGCACHE_SYNC_OUT(); return; L_08957848: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1460))); @@ -8099,7 +8100,7 @@ L_08957858: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08957870u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08957870u) goto L_08957870; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08957870u) goto L_08957870; AOT_REGCACHE_SYNC_OUT(); return; L_08957870: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(1444), 0u); @@ -8396,7 +8397,7 @@ L_08957AC0: aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_31 = (0x08957ACCu); aot_gpr_4 = (ctx.gpr[23] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08957ACCu) goto L_08957ACC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08957ACCu) goto L_08957ACC; AOT_REGCACHE_SYNC_OUT(); return; L_08957ACC: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); diff --git a/profiles/vcs/generated/generated_unit_0085.cpp b/profiles/vcs/generated/generated_unit_0085.cpp index 48b4df5..36127b6 100644 --- a/profiles/vcs/generated/generated_unit_0085.cpp +++ b/profiles/vcs/generated/generated_unit_0085.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include "vcs_tier2_superblocks.hpp" #include #include @@ -139,20 +140,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0085[4079] = { }; void recomp_unit_0085_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,6,29,16,17 fprs=12,13,14,20 gpr_occ=4722 fpr_occ=408 gpr_total=6150 fpr_total=474 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,6,29,16,31 fprs=12,13,14,20 gpr_occ=4737 fpr_occ=408 gpr_total=6232 fpr_total=474 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_6 = ctx.gpr[6]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_16 = ctx.gpr[16]; - std::uint32_t aot_gpr_17 = ctx.gpr[17]; + std::uint32_t aot_gpr_31 = ctx.gpr[31]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_14 = ctx.fpr[14]; float aot_fpr_20 = ctx.fpr[20]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[6] = aot_gpr_6; ctx.gpr[29] = aot_gpr_29; ctx.gpr[16] = aot_gpr_16; ctx.gpr[17] = aot_gpr_17; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[20] = aot_fpr_20; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_17 = ctx.gpr[17]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_20 = ctx.fpr[20]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[6] = aot_gpr_6; ctx.gpr[29] = aot_gpr_29; ctx.gpr[16] = aot_gpr_16; ctx.gpr[31] = aot_gpr_31; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[20] = aot_fpr_20; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_31 = ctx.gpr[31]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_20 = ctx.fpr[20]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -852,11 +853,11 @@ L_089580AC: } L_089580CC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(0))); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(4))); ctx.gpr[18] = (aot_gpr_4 << 3u); - ctx.gpr[18] = (aot_gpr_17 + ctx.gpr[18]); - { const bool branch_taken = aot_gpr_17 == ctx.gpr[18]; + ctx.gpr[18] = (ctx.gpr[17] + ctx.gpr[18]); + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[18]; // nop if (branch_taken) { goto L_08958150; @@ -866,12 +867,12 @@ L_089580CC: L_089580E8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(24))); aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_gpr_5 = (aot_gpr_4 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_16 = (aot_gpr_16 + aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(580))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(12))); @@ -890,7 +891,7 @@ L_089580E8: } L_08958134: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); - ctx.gpr[31] = (0x08958140u); + aot_gpr_31 = (0x08958140u); aot_gpr_4 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0084_entry, 84u, 231u, 0x08955020u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08958140u) goto L_08958140; AOT_REGCACHE_SYNC_OUT(); return; @@ -898,8 +899,8 @@ L_08958140: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), 0u); goto L_08958144; L_08958144: - aot_gpr_17 = (aot_gpr_17 + static_cast(8)); - { const bool branch_taken = aot_gpr_17 != ctx.gpr[18]; + ctx.gpr[17] = (ctx.gpr[17] + static_cast(8)); + { const bool branch_taken = ctx.gpr[17] != ctx.gpr[18]; // nop if (branch_taken) { goto L_089580E8; @@ -937,7 +938,7 @@ L_08958184: aot_gpr_5 = (aot_gpr_5 + static_cast(32)); aot_gpr_6 = (ctx.gpr[22] << 16u); aot_gpr_6 = (aot_gpr_6 | ctx.gpr[23]); - ctx.gpr[31] = (0x089581A0u); + aot_gpr_31 = (0x089581A0u); aot_gpr_4 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0084_entry, 84u, 596u, 0x08956D88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089581A0u) goto L_089581A0; AOT_REGCACHE_SYNC_OUT(); return; @@ -949,8 +950,8 @@ L_089581A8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(580))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(32))); aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(40))); - { const bool branch_taken = aot_gpr_16 == aot_gpr_17; + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(40))); + { const bool branch_taken = aot_gpr_16 == ctx.gpr[17]; ctx.gpr[20] = (0u | 255u); if (branch_taken) { goto L_08958300; @@ -1067,7 +1068,7 @@ L_08958268: L_089582A4: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[19] + static_cast(1))); aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[19] + static_cast(0))); - ctx.gpr[31] = (0x089582B4u); + aot_gpr_31 = (0x089582B4u); aot_gpr_5 = (aot_gpr_5 & 127u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0079_entry, 79u, 248u, 0x08941B38u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089582B4u) goto L_089582B4; AOT_REGCACHE_SYNC_OUT(); return; @@ -1097,7 +1098,7 @@ L_089582D4: } L_089582F4: aot_gpr_16 = (aot_gpr_16 + static_cast(68)); - { const bool branch_taken = aot_gpr_16 != aot_gpr_17; + { const bool branch_taken = aot_gpr_16 != ctx.gpr[17]; // nop if (branch_taken) { goto L_089581C8; @@ -1201,7 +1202,7 @@ L_08958398: goto L_089583B8; } L_089583B8: - ctx.gpr[31] = (0x089583C0u); + aot_gpr_31 = (0x089583C0u); aot_gpr_4 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0084_entry, 84u, 693u, 0x0895742Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089583C0u) goto L_089583C0; AOT_REGCACHE_SYNC_OUT(); return; @@ -1220,17 +1221,17 @@ L_089583E4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(580))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(32))); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[30]); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); ctx.gpr[22] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(12))); goto L_089583F8; L_089583F8: - if (aot_gpr_17 == ctx.gpr[22]) { + if (ctx.gpr[17] == ctx.gpr[22]) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(212))); goto L_08958714; } goto L_08958400; L_08958400: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(0)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(0)))))); aot_gpr_4 = (aot_gpr_4 & 32767u); aot_gpr_4 = (static_cast(aot_gpr_4) < 32 ? 1u : 0u); if (aot_gpr_4 == 0u) { @@ -1239,7 +1240,7 @@ L_08958400: } goto L_08958414; L_08958414: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(0)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(0)))))); aot_gpr_4 = (aot_gpr_4 & 32767u); aot_gpr_5 = (aot_gpr_4 << 8u); aot_gpr_6 = (aot_gpr_4 + aot_gpr_4); @@ -1258,7 +1259,7 @@ L_08958414: } L_08958444: aot_gpr_4 = (0u | 1u); - aot_gpr_5 = (aot_gpr_17 + static_cast(4)); + aot_gpr_5 = (ctx.gpr[17] + static_cast(4)); aot_gpr_6 = (aot_gpr_29 + static_cast(4)); goto L_08958450; L_08958450: @@ -1407,7 +1408,7 @@ L_08958474: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (aot_gpr_16 + static_cast(48)); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(24))); - aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(0)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(0)))))); aot_gpr_6 = (aot_gpr_6 & 32767u); ctx.gpr[7] = (aot_gpr_6 + aot_gpr_6); aot_gpr_6 = (aot_gpr_6 + ctx.gpr[7]); @@ -1461,7 +1462,7 @@ L_08958474: const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - ctx.gpr[31] = (0x089585ECu); + aot_gpr_31 = (0x089585ECu); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 464u, 0x08A931D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089585ECu) goto L_089585EC; AOT_REGCACHE_SYNC_OUT(); return; @@ -1472,34 +1473,34 @@ L_089585EC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(216), ctx.gpr[23]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(168), aot_gpr_4); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x0895860Cu); + aot_gpr_31 = (0x0895860Cu); aot_gpr_5 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 934u, 0x0885FE8Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895860Cu) goto L_0895860C; AOT_REGCACHE_SYNC_OUT(); return; L_0895860C: ctx.gpr[23] = (aot_gpr_16 + static_cast(80)); - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(4))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(4))); aot_gpr_4 = (aot_gpr_4 & 65535u); ctx.set_vfpu_scalar_bits_ct<0u>(aot_gpr_4); ctx.execute_vfpu_vh2f_ct<0u, 0u, 1u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<0u>()); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(ctx.gpr[23] + static_cast(0), std::bit_cast(aot_fpr_12)); - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(6))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(6))); aot_gpr_4 = (aot_gpr_4 & 65535u); ctx.set_vfpu_scalar_bits_ct<0u>(aot_gpr_4); ctx.execute_vfpu_vh2f_ct<0u, 0u, 1u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<0u>()); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(ctx.gpr[23] + static_cast(4), std::bit_cast(aot_fpr_12)); - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(8))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(8))); aot_gpr_4 = (aot_gpr_4 & 65535u); ctx.set_vfpu_scalar_bits_ct<0u>(aot_gpr_4); ctx.execute_vfpu_vh2f_ct<0u, 0u, 1u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<0u>()); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(ctx.gpr[23] + static_cast(8), std::bit_cast(aot_fpr_12)); - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(10))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(10))); aot_gpr_4 = (aot_gpr_4 & 65535u); ctx.set_vfpu_scalar_bits_ct<0u>(aot_gpr_4); ctx.execute_vfpu_vh2f_ct<0u, 0u, 1u>(); @@ -1514,7 +1515,7 @@ L_0895860C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); - ctx.gpr[31] = (0x089586A8u); + aot_gpr_31 = (0x089586A8u); aot_gpr_6 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0083_entry, 83u, 813u, 0x08953954u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089586A8u) goto L_089586A8; AOT_REGCACHE_SYNC_OUT(); return; @@ -1538,7 +1539,7 @@ L_089586A8: } L_089586D8: aot_gpr_4 = (aot_gpr_16 + static_cast(112)); - ctx.gpr[31] = (0x089586E4u); + aot_gpr_31 = (0x089586E4u); aot_gpr_5 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 7u, 0x08860358u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089586E4u) goto L_089586E4; AOT_REGCACHE_SYNC_OUT(); return; @@ -1562,12 +1563,12 @@ L_089586F4: goto L_08958700; } L_08958700: - ctx.gpr[31] = (0x08958708u); + aot_gpr_31 = (0x08958708u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(160))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 129u, 0x089D89E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08958708u) goto L_08958708; AOT_REGCACHE_SYNC_OUT(); return; L_08958708: - aot_gpr_17 = (aot_gpr_17 + static_cast(68)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(68)); { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { @@ -1587,14 +1588,14 @@ L_08958714: goto L_08958728; } L_08958728: - ctx.gpr[31] = (0x08958730u); + aot_gpr_31 = (0x08958730u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 749u, 0x08A07240u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08958730u) goto L_08958730; AOT_REGCACHE_SYNC_OUT(); return; L_08958730: aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(220))); aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(224))); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(228))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(228))); ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(232))); ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(236))); ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(240))); @@ -1602,8 +1603,8 @@ L_08958730: ctx.gpr[22] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(248))); ctx.gpr[23] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(252))); ctx.gpr[30] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(256))); - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(260))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(260))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(272)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -1616,13 +1617,13 @@ L_08958764: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(280), std::bit_cast(ctx.fpr[24])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(284), std::bit_cast(ctx.fpr[26])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(288), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(292), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(292), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(296), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(300), ctx.gpr[19]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(304), ctx.gpr[20]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(308), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(308), aot_gpr_31); aot_gpr_16 = (aot_gpr_4 | 0u); - ctx.gpr[31] = (0x0895879Cu); + aot_gpr_31 = (0x0895879Cu); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0084_entry, 84u, 693u, 0x0895742Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895879Cu) goto L_0895879C; AOT_REGCACHE_SYNC_OUT(); return; @@ -1638,7 +1639,7 @@ L_0895879C: L_089587A8: ctx.gpr[20] = (2236u << 16u); ctx.gpr[20] = (ctx.gpr[20] + static_cast(29232)); - ctx.gpr[31] = (0x089587B8u); + aot_gpr_31 = (0x089587B8u); aot_gpr_4 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 685u, 0x08ABF2D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089587B8u) goto L_089587B8; AOT_REGCACHE_SYNC_OUT(); return; @@ -1648,7 +1649,7 @@ L_089587B8: ctx.gpr[19] = (2236u << 16u); ctx.gpr[19] = (ctx.gpr[19] + static_cast(32304)); ctx.gpr[18] = (aot_gpr_29 + static_cast(64)); - aot_gpr_17 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[17] = (aot_gpr_29 + static_cast(16)); aot_gpr_5 = (32639u << 16u); aot_gpr_5 = (aot_gpr_5 | 65535u); { const bool branch_taken = aot_gpr_4 != 0u; @@ -1675,7 +1676,7 @@ L_089587E8: goto L_089587F0; } L_089587F0: - ctx.gpr[31] = (0x089587F8u); + aot_gpr_31 = (0x089587F8u); aot_gpr_4 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 686u, 0x08ABF2F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089587F8u) goto L_089587F8; AOT_REGCACHE_SYNC_OUT(); return; @@ -1689,7 +1690,7 @@ L_089587F8: goto L_08958804; } L_08958804: - ctx.gpr[31] = (0x0895880Cu); + aot_gpr_31 = (0x0895880Cu); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0084_entry, 84u, 212u, 0x08954ED0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895880Cu) goto L_0895880C; AOT_REGCACHE_SYNC_OUT(); return; @@ -1763,7 +1764,7 @@ L_08958880: goto L_089588A0; } L_089588A0: - ctx.gpr[31] = (0x089588A8u); + aot_gpr_31 = (0x089588A8u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0084_entry, 84u, 488u, 0x08956690u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089588A8u) goto L_089588A8; AOT_REGCACHE_SYNC_OUT(); return; @@ -1776,7 +1777,7 @@ L_089588A8: goto L_089588B0; } L_089588B0: - ctx.gpr[31] = (0x089588B8u); + aot_gpr_31 = (0x089588B8u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0084_entry, 84u, 154u, 0x08954A74u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089588B8u) goto L_089588B8; AOT_REGCACHE_SYNC_OUT(); return; @@ -1808,7 +1809,7 @@ L_089588B8: } L_089588DC: aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x089588E8u); + aot_gpr_31 = (0x089588E8u); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0083_entry, 83u, 887u, 0x08953F94u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089588E8u) goto L_089588E8; AOT_REGCACHE_SYNC_OUT(); return; @@ -1820,12 +1821,12 @@ L_089588E8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(12))); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_13))); - ctx.gpr[31] = (0x0895890Cu); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_31 = (0x0895890Cu); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0083_entry, 83u, 823u, 0x08953A08u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895890Cu) goto L_0895890C; AOT_REGCACHE_SYNC_OUT(); return; L_0895890C: - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -1893,7 +1894,7 @@ L_0895895C: // nop { const std::int32_t dividend = static_cast(aot_gpr_4); const std::int32_t divisor = static_cast(aot_gpr_6); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } aot_gpr_6 = (ctx.lo); - ctx.gpr[31] = (0x08958988u); + aot_gpr_31 = (0x08958988u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0084_entry, 84u, 645u, 0x08957098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08958988u) goto L_08958988; AOT_REGCACHE_SYNC_OUT(); return; @@ -1914,7 +1915,7 @@ L_08958990: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(12))); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_13))); - ctx.gpr[31] = (0x089589B8u); + aot_gpr_31 = (0x089589B8u); aot_gpr_4 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0083_entry, 83u, 823u, 0x08953A08u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089589B8u) goto L_089589B8; AOT_REGCACHE_SYNC_OUT(); return; @@ -1981,7 +1982,7 @@ L_089589FC: goto L_08958A0C; } L_08958A0C: - ctx.gpr[31] = (0x08958A14u); + aot_gpr_31 = (0x08958A14u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0084_entry, 84u, 121u, 0x08954778u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08958A14u) goto L_08958A14; AOT_REGCACHE_SYNC_OUT(); return; @@ -2003,7 +2004,7 @@ L_08958A1C: // nop { const std::int32_t dividend = static_cast(aot_gpr_4); const std::int32_t divisor = static_cast(aot_gpr_6); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } aot_gpr_6 = (ctx.lo); - ctx.gpr[31] = (0x08958A48u); + aot_gpr_31 = (0x08958A48u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0084_entry, 84u, 645u, 0x08957098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08958A48u) goto L_08958A48; AOT_REGCACHE_SYNC_OUT(); return; @@ -2024,7 +2025,7 @@ L_08958A50: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(12))); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_13))); - ctx.gpr[31] = (0x08958A78u); + aot_gpr_31 = (0x08958A78u); aot_gpr_4 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0083_entry, 83u, 823u, 0x08953A08u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08958A78u) goto L_08958A78; AOT_REGCACHE_SYNC_OUT(); return; @@ -2122,7 +2123,7 @@ L_08958AF0: goto L_08958B00; } L_08958B00: - ctx.gpr[31] = (0x08958B08u); + aot_gpr_31 = (0x08958B08u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0084_entry, 84u, 801u, 0x08957D74u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08958B08u) goto L_08958B08; AOT_REGCACHE_SYNC_OUT(); return; @@ -2210,7 +2211,7 @@ L_08958B78: goto L_08958B84; } L_08958B84: - ctx.gpr[31] = (0x08958B8Cu); + aot_gpr_31 = (0x08958B8Cu); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0084_entry, 84u, 121u, 0x08954778u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08958B8Cu) goto L_08958B8C; AOT_REGCACHE_SYNC_OUT(); return; @@ -2223,7 +2224,7 @@ L_08958B8C: goto L_08958B94; } L_08958B94: - ctx.gpr[31] = (0x08958B9Cu); + aot_gpr_31 = (0x08958B9Cu); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08958B9Cu) goto L_08958B9C; AOT_REGCACHE_SYNC_OUT(); return; @@ -2245,12 +2246,12 @@ L_08958BA4: } L_08958BAC: aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08958BB8u); + aot_gpr_31 = (0x08958BB8u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0084_entry, 84u, 507u, 0x089567C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08958BB8u) goto L_08958BB8; AOT_REGCACHE_SYNC_OUT(); return; L_08958BB8: - ctx.gpr[31] = (0x08958BC0u); + aot_gpr_31 = (0x08958BC0u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0084_entry, 84u, 693u, 0x0895742Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08958BC0u) goto L_08958BC0; AOT_REGCACHE_SYNC_OUT(); return; @@ -2326,7 +2327,7 @@ L_08958BE0: ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 0u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7800))); @@ -2339,7 +2340,7 @@ L_08958BE0: aot_gpr_5 = (aot_gpr_5 + static_cast(-6992)); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); ctx.gpr[18] = (aot_gpr_29 + static_cast(48)); - ctx.gpr[31] = (0x08958C40u); + aot_gpr_31 = (0x08958C40u); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 105u, 0x0896093Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08958C40u) goto L_08958C40; AOT_REGCACHE_SYNC_OUT(); return; @@ -2363,7 +2364,7 @@ L_08958C40: const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -2414,17 +2415,17 @@ L_08958C40: aot_fpr_12 = aot_fpr_12 + aot_fpr_14; aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); aot_gpr_5 = (std::bit_cast(aot_fpr_12)); - ctx.gpr[31] = (0x08958CE8u); + aot_gpr_31 = (0x08958CE8u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0084_entry, 84u, 365u, 0x08955EC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08958CE8u) goto L_08958CE8; AOT_REGCACHE_SYNC_OUT(); return; L_08958CE8: - ctx.gpr[31] = (0x08958CF0u); + aot_gpr_31 = (0x08958CF0u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0084_entry, 84u, 506u, 0x089567B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08958CF0u) goto L_08958CF0; AOT_REGCACHE_SYNC_OUT(); return; L_08958CF0: - ctx.gpr[31] = (0x08958CF8u); + aot_gpr_31 = (0x08958CF8u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0084_entry, 84u, 693u, 0x0895742Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08958CF8u) goto L_08958CF8; AOT_REGCACHE_SYNC_OUT(); return; @@ -2434,12 +2435,12 @@ L_08958CF8: ctx.fpr[24] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(280))); ctx.fpr[26] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(284))); aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(288))); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(292))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(292))); ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(296))); ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(300))); ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(304))); - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(308))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(308))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(320)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -2456,7 +2457,7 @@ L_08958D28: aot_gpr_29 = (aot_gpr_29 + static_cast(-624)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(576), std::bit_cast(aot_fpr_20)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(580), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(584), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(584), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(588), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(592), ctx.gpr[19]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(596), ctx.gpr[20]); @@ -2464,7 +2465,7 @@ L_08958D28: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(604), ctx.gpr[22]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(608), ctx.gpr[23]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(612), ctx.gpr[30]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(616), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(616), aot_gpr_31); aot_gpr_16 = (2236u << 16u); aot_gpr_16 = (aot_gpr_16 + static_cast(29232)); aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(301))); @@ -2480,7 +2481,7 @@ L_08958D70: aot_gpr_4 = (aot_gpr_16 | 0u); goto L_08958D74; L_08958D74: - ctx.gpr[31] = (0x08958D7Cu); + aot_gpr_31 = (0x08958D7Cu); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0109_entry, 109u, 323u, 0x089B9ABCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08958D7Cu) goto L_08958D7C; AOT_REGCACHE_SYNC_OUT(); return; @@ -2714,7 +2715,7 @@ L_08958F34: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(12))); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_13))); - ctx.gpr[31] = (0x08958F60u); + aot_gpr_31 = (0x08958F60u); aot_gpr_4 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0083_entry, 83u, 823u, 0x08953A08u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08958F60u) goto L_08958F60; AOT_REGCACHE_SYNC_OUT(); return; @@ -2759,13 +2760,13 @@ L_08958FA4: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(580))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(32))); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(12))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(504), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(504))); goto L_08958FC4; L_08958FC4: - { const bool branch_taken = aot_gpr_17 == aot_gpr_4; + { const bool branch_taken = ctx.gpr[17] == aot_gpr_4; // nop if (branch_taken) { goto L_089591DC; @@ -2773,7 +2774,7 @@ L_08958FC4: goto L_08958FCC; } L_08958FCC: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(0)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(0)))))); aot_gpr_4 = (aot_gpr_4 & 32767u); aot_gpr_4 = (static_cast(aot_gpr_4) < 32 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; @@ -2784,7 +2785,7 @@ L_08958FCC: goto L_08958FE0; } L_08958FE0: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(0)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(0)))))); aot_gpr_4 = (aot_gpr_4 & 32767u); aot_gpr_5 = (aot_gpr_4 << 8u); aot_gpr_6 = (aot_gpr_4 + aot_gpr_4); @@ -2805,13 +2806,13 @@ L_08959010: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(568), ctx.gpr[19]); aot_gpr_4 = (ctx.gpr[18] | 0u); ctx.gpr[19] = (aot_gpr_16 + static_cast(112)); - ctx.gpr[31] = (0x08959024u); + aot_gpr_31 = (0x08959024u); aot_gpr_5 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 912u, 0x0885F828u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08959024u) goto L_08959024; AOT_REGCACHE_SYNC_OUT(); return; L_08959024: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(24))); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(0)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(0)))))); aot_gpr_5 = (aot_gpr_5 & 32767u); aot_gpr_6 = (aot_gpr_5 + aot_gpr_5); aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); @@ -2827,7 +2828,7 @@ L_08959024: aot_gpr_4 = (ctx.gpr[30] | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(572), ctx.gpr[19]); - ctx.gpr[31] = (0x08959070u); + aot_gpr_31 = (0x08959070u); aot_gpr_6 = (ctx.gpr[23] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0083_entry, 83u, 813u, 0x08953954u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08959070u) goto L_08959070; AOT_REGCACHE_SYNC_OUT(); return; @@ -2907,22 +2908,22 @@ L_08959070: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(104), std::bit_cast(aot_fpr_14)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(96))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(100))); - ctx.gpr[31] = (0x089590F4u); + aot_gpr_31 = (0x089590F4u); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 4u, 0x08860094u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089590F4u) goto L_089590F4; AOT_REGCACHE_SYNC_OUT(); return; L_089590F4: - aot_gpr_5 = (aot_gpr_17 + static_cast(16)); + aot_gpr_5 = (ctx.gpr[17] + static_cast(16)); ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(568))); aot_gpr_4 = (ctx.gpr[19] | 0u); - ctx.gpr[31] = (0x08959108u); + aot_gpr_31 = (0x08959108u); aot_gpr_6 = (0u | 48u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0054_entry, 54u, 498u, 0x088DF9D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08959108u) goto L_08959108; AOT_REGCACHE_SYNC_OUT(); return; L_08959108: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (0u | 59u); - ctx.gpr[31] = (0x08959118u); + aot_gpr_31 = (0x08959118u); aot_gpr_6 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0083_entry, 83u, 830u, 0x08953B30u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08959118u) goto L_08959118; AOT_REGCACHE_SYNC_OUT(); return; @@ -2993,7 +2994,7 @@ L_08959118: ctx.write_vfpu_vector_with_destination_prefix_ct<32u, 1u>(vfpu_value); } ctx.execute_vfpu_vf2h_ct<64u, 0u, 2u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<64u>()); - aot_mem.aot_direct_store16(aot_gpr_17 + static_cast(4), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store16(ctx.gpr[17] + static_cast(4), static_cast(aot_gpr_4)); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(388))); aot_gpr_4 = (std::bit_cast(aot_fpr_13)); ctx.set_vfpu_scalar_bits_ct<0u>(aot_gpr_4); @@ -3001,7 +3002,7 @@ L_08959118: ctx.write_vfpu_vector_with_destination_prefix_ct<32u, 1u>(vfpu_value); } ctx.execute_vfpu_vf2h_ct<64u, 0u, 2u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<64u>()); - aot_mem.aot_direct_store16(aot_gpr_17 + static_cast(6), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store16(ctx.gpr[17] + static_cast(6), static_cast(aot_gpr_4)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(392))); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<0u>(aot_gpr_4); @@ -3009,7 +3010,7 @@ L_08959118: ctx.write_vfpu_vector_with_destination_prefix_ct<32u, 1u>(vfpu_value); } ctx.execute_vfpu_vf2h_ct<64u, 0u, 2u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<64u>()); - aot_mem.aot_direct_store16(aot_gpr_17 + static_cast(8), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store16(ctx.gpr[17] + static_cast(8), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(344))); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 == 0u; @@ -3029,12 +3030,12 @@ L_089591BC: goto L_089591C8; } L_089591C8: - ctx.gpr[31] = (0x089591D0u); + aot_gpr_31 = (0x089591D0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(336))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 129u, 0x089D89E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089591D0u) goto L_089591D0; AOT_REGCACHE_SYNC_OUT(); return; L_089591D0: - aot_gpr_17 = (aot_gpr_17 + static_cast(68)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(68)); { const bool branch_taken = 0u == 0u; aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(504))); if (branch_taken) { @@ -3059,29 +3060,29 @@ L_089591DC: } L_08959200: aot_gpr_4 = (0u | 11u); - ctx.gpr[31] = (0x0895920Cu); + aot_gpr_31 = (0x0895920Cu); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895920Cu) goto L_0895920C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895920Cu) goto L_0895920C; AOT_REGCACHE_SYNC_OUT(); return; L_0895920C: aot_gpr_4 = (0u | 8u); - ctx.gpr[31] = (0x08959218u); + aot_gpr_31 = (0x08959218u); aot_gpr_5 = (0u | 5u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08959218u) goto L_08959218; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08959218u) goto L_08959218; AOT_REGCACHE_SYNC_OUT(); return; L_08959218: aot_gpr_4 = (0u | 9u); - ctx.gpr[31] = (0x08959224u); + aot_gpr_31 = (0x08959224u); aot_gpr_5 = (0u | 6u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08959224u) goto L_08959224; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08959224u) goto L_08959224; AOT_REGCACHE_SYNC_OUT(); return; L_08959224: - ctx.gpr[31] = (0x0895922Cu); + aot_gpr_31 = (0x0895922Cu); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0044_entry, 44u, 665u, 0x088B7AD8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895922Cu) goto L_0895922C; AOT_REGCACHE_SYNC_OUT(); return; L_0895922C: - ctx.gpr[31] = (0x08959234u); + aot_gpr_31 = (0x08959234u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0044_entry, 44u, 668u, 0x088B7B30u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08959234u) goto L_08959234; AOT_REGCACHE_SYNC_OUT(); return; @@ -3093,7 +3094,7 @@ L_08959234: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(12))); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_13))); - ctx.gpr[31] = (0x08959258u); + aot_gpr_31 = (0x08959258u); aot_gpr_4 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0083_entry, 83u, 823u, 0x08953A08u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08959258u) goto L_08959258; AOT_REGCACHE_SYNC_OUT(); return; @@ -3256,7 +3257,7 @@ L_089593F0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(12))); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_13))); - ctx.gpr[31] = (0x08959414u); + aot_gpr_31 = (0x08959414u); aot_gpr_4 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0083_entry, 83u, 823u, 0x08953A08u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08959414u) goto L_08959414; AOT_REGCACHE_SYNC_OUT(); return; @@ -3276,24 +3277,24 @@ L_08959414: const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_17 = (aot_gpr_29 + static_cast(144)); + ctx.gpr[17] = (aot_gpr_29 + static_cast(144)); aot_gpr_5 = (2246u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(1408)); - ctx.gpr[31] = (0x08959438u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_31 = (0x08959438u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 912u, 0x0885F828u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08959438u) goto L_08959438; AOT_REGCACHE_SYNC_OUT(); return; L_08959438: ctx.gpr[18] = (aot_gpr_29 + static_cast(80)); aot_gpr_4 = (ctx.gpr[18] | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x0895944Cu); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_31 = (0x0895944Cu); aot_gpr_6 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0083_entry, 83u, 812u, 0x08953934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895944Cu) goto L_0895944C; AOT_REGCACHE_SYNC_OUT(); return; L_0895944C: aot_gpr_4 = (aot_gpr_29 + static_cast(64)); - ctx.gpr[31] = (0x08959458u); + aot_gpr_31 = (0x08959458u); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0083_entry, 83u, 814u, 0x0895397Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08959458u) goto L_08959458; AOT_REGCACHE_SYNC_OUT(); return; @@ -3301,8 +3302,8 @@ L_08959458: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(68))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(72))); - ctx.gpr[31] = (0x0895946Cu); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_31 = (0x0895946Cu); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 4u, 0x08860094u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895946Cu) goto L_0895946C; AOT_REGCACHE_SYNC_OUT(); return; L_0895946C: @@ -3317,8 +3318,8 @@ L_0895946C: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), aot_gpr_4); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 61u); - ctx.gpr[31] = (0x089594A0u); - aot_gpr_6 = (aot_gpr_17 | 0u); + aot_gpr_31 = (0x089594A0u); + aot_gpr_6 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0083_entry, 83u, 830u, 0x08953B30u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089594A0u) goto L_089594A0; AOT_REGCACHE_SYNC_OUT(); return; L_089594A0: @@ -3496,7 +3497,7 @@ L_08959598: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(588))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(32))); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[19]); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(580))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(32))); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[19]); @@ -3539,7 +3540,7 @@ L_08959630: L_0895963C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(508))); aot_gpr_4 = (ctx.gpr[21] | 0u); - ctx.gpr[31] = (0x0895964Cu); + aot_gpr_31 = (0x0895964Cu); aot_gpr_6 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0084_entry, 84u, 318u, 0x089557E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895964Cu) goto L_0895964C; AOT_REGCACHE_SYNC_OUT(); return; @@ -3625,7 +3626,7 @@ L_089596E4: goto L_089596EC; } L_089596EC: - { const bool branch_taken = aot_gpr_17 == ctx.gpr[19]; + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[19]; // nop if (branch_taken) { goto L_089599B4; @@ -3641,7 +3642,7 @@ L_089596F4: goto L_089596FC; } L_089596FC: - { const bool branch_taken = aot_gpr_17 == ctx.gpr[19]; + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[19]; // nop if (branch_taken) { goto L_08959720; @@ -3651,7 +3652,7 @@ L_089596FC: L_08959704: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(0)))))); aot_gpr_4 = (aot_gpr_4 & 32767u); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(0)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(0)))))); aot_gpr_5 = (aot_gpr_5 & 32767u); aot_gpr_4 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_5) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; @@ -3678,7 +3679,7 @@ L_08959738: aot_gpr_5 = (aot_gpr_16 | 0u); aot_gpr_6 = (ctx.gpr[20] | 0u); ctx.gpr[7] = (ctx.gpr[22] | 0u); - ctx.gpr[31] = (0x08959750u); + aot_gpr_31 = (0x08959750u); ctx.gpr[8] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0084_entry, 84u, 285u, 0x08955444u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08959750u) goto L_08959750; AOT_REGCACHE_SYNC_OUT(); return; @@ -3700,7 +3701,7 @@ L_0895975C: goto L_08959764; } L_08959764: - { const bool branch_taken = aot_gpr_17 == ctx.gpr[19]; + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[19]; // nop if (branch_taken) { goto L_089597CC; @@ -3716,7 +3717,7 @@ L_0895976C: goto L_08959774; } L_08959774: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(0)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(0)))))); aot_gpr_4 = (aot_gpr_4 & 32767u); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(0)))))); aot_gpr_5 = (aot_gpr_5 & 32767u); @@ -3729,7 +3730,7 @@ L_08959774: goto L_08959790; } L_08959790: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(0)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(0)))))); aot_gpr_4 = (aot_gpr_4 & 32768u); aot_gpr_4 = (aot_gpr_4 >> 15u); aot_gpr_4 = (aot_gpr_4 & 65535u); @@ -3742,15 +3743,15 @@ L_08959790: } L_089597A8: aot_gpr_4 = (ctx.gpr[21] | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_6 = (ctx.gpr[20] | 0u); ctx.gpr[7] = (0u | 255u); - ctx.gpr[31] = (0x089597C0u); + aot_gpr_31 = (0x089597C0u); ctx.gpr[8] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0084_entry, 84u, 285u, 0x08955444u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089597C0u) goto L_089597C0; AOT_REGCACHE_SYNC_OUT(); return; L_089597C0: - aot_gpr_17 = (aot_gpr_17 + static_cast(68)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(68)); { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { @@ -3767,7 +3768,7 @@ L_089597CC: goto L_089597D4; } L_089597D4: - { const bool branch_taken = aot_gpr_17 == ctx.gpr[19]; + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[19]; // nop if (branch_taken) { goto L_089599AC; @@ -3775,7 +3776,7 @@ L_089597D4: goto L_089597DC; } L_089597DC: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(0)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(0)))))); aot_gpr_4 = (aot_gpr_4 & 32767u); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(0)))))); aot_gpr_5 = (aot_gpr_5 & 32767u); @@ -3787,7 +3788,7 @@ L_089597DC: goto L_089597F4; } L_089597F4: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(0)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(0)))))); aot_gpr_4 = (aot_gpr_4 & 32768u); aot_gpr_4 = (aot_gpr_4 >> 15u); aot_gpr_4 = (aot_gpr_4 & 65535u); @@ -3803,7 +3804,7 @@ L_0895980C: aot_gpr_5 = (aot_gpr_16 | 0u); aot_gpr_6 = (ctx.gpr[20] | 0u); ctx.gpr[7] = (0u | 255u); - ctx.gpr[31] = (0x08959824u); + aot_gpr_31 = (0x08959824u); ctx.gpr[8] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0084_entry, 84u, 285u, 0x08955444u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08959824u) goto L_08959824; AOT_REGCACHE_SYNC_OUT(); return; @@ -3832,13 +3833,13 @@ L_08959844: aot_gpr_5 = (aot_gpr_16 | 0u); aot_gpr_6 = (ctx.gpr[20] | 0u); ctx.gpr[7] = (ctx.gpr[22] | 0u); - ctx.gpr[31] = (0x0895985Cu); + aot_gpr_31 = (0x0895985Cu); ctx.gpr[8] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0084_entry, 84u, 285u, 0x08955444u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895985Cu) goto L_0895985C; AOT_REGCACHE_SYNC_OUT(); return; L_0895985C: aot_gpr_16 = (aot_gpr_16 + static_cast(68)); - aot_gpr_17 = (aot_gpr_17 + static_cast(68)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(68)); { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { @@ -3847,7 +3848,7 @@ L_0895985C: goto L_0895986C; } L_0895986C: - { const bool branch_taken = aot_gpr_17 == ctx.gpr[19]; + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[19]; // nop if (branch_taken) { goto L_089598F0; @@ -3863,7 +3864,7 @@ L_08959874: goto L_0895987C; } L_0895987C: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(0)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(0)))))); aot_gpr_4 = (aot_gpr_4 & 32767u); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(0)))))); aot_gpr_5 = (aot_gpr_5 & 32767u); @@ -3876,7 +3877,7 @@ L_0895987C: goto L_08959898; } L_08959898: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(0)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(0)))))); aot_gpr_4 = (aot_gpr_4 & 32768u); aot_gpr_4 = (aot_gpr_4 >> 15u); aot_gpr_4 = (aot_gpr_4 & 65535u); @@ -3888,8 +3889,8 @@ L_08959898: goto L_089598B0; } L_089598B0: - ctx.set_vfpu_scalar_bits_ct<12u>(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); - ctx.set_vfpu_scalar_bits_ct<44u>(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + ctx.set_vfpu_scalar_bits_ct<12u>(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); + ctx.set_vfpu_scalar_bits_ct<44u>(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); ctx.set_vfpu_scalar_bits_ct<76u>(aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast(0))); ctx.execute_vfpu_vh2f_ct<21u, 12u, 2u>(); ctx.execute_vfpu_vec3_ct<117u, 117u, 76u, 1u, 2u>(); @@ -3905,12 +3906,12 @@ L_089598B0: } L_089598D8: aot_gpr_4 = (ctx.gpr[21] | 0u); - ctx.gpr[31] = (0x089598E4u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_31 = (0x089598E4u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0084_entry, 84u, 288u, 0x089554A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089598E4u) goto L_089598E4; AOT_REGCACHE_SYNC_OUT(); return; L_089598E4: - aot_gpr_17 = (aot_gpr_17 + static_cast(68)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(68)); { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { @@ -3927,7 +3928,7 @@ L_089598F0: goto L_089598F8; } L_089598F8: - { const bool branch_taken = aot_gpr_17 == ctx.gpr[19]; + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[19]; // nop if (branch_taken) { goto L_089599AC; @@ -3935,7 +3936,7 @@ L_089598F8: goto L_08959900; } L_08959900: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(0)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(0)))))); aot_gpr_4 = (aot_gpr_4 & 32767u); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(0)))))); aot_gpr_5 = (aot_gpr_5 & 32767u); @@ -3947,7 +3948,7 @@ L_08959900: goto L_08959918; } L_08959918: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(0)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(0)))))); aot_gpr_4 = (aot_gpr_4 & 32768u); aot_gpr_4 = (aot_gpr_4 >> 15u); aot_gpr_4 = (aot_gpr_4 & 65535u); @@ -3959,8 +3960,8 @@ L_08959918: goto L_08959930; } L_08959930: - ctx.set_vfpu_scalar_bits_ct<12u>(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); - ctx.set_vfpu_scalar_bits_ct<44u>(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + ctx.set_vfpu_scalar_bits_ct<12u>(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); + ctx.set_vfpu_scalar_bits_ct<44u>(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); ctx.set_vfpu_scalar_bits_ct<76u>(aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast(0))); ctx.execute_vfpu_vh2f_ct<21u, 12u, 2u>(); ctx.execute_vfpu_vec3_ct<117u, 117u, 76u, 1u, 2u>(); @@ -3976,8 +3977,8 @@ L_08959930: } L_08959958: aot_gpr_4 = (ctx.gpr[21] | 0u); - ctx.gpr[31] = (0x08959964u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_31 = (0x08959964u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0084_entry, 84u, 288u, 0x089554A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08959964u) goto L_08959964; AOT_REGCACHE_SYNC_OUT(); return; L_08959964: @@ -4005,13 +4006,13 @@ L_08959984: aot_gpr_5 = (aot_gpr_16 | 0u); aot_gpr_6 = (ctx.gpr[20] | 0u); ctx.gpr[7] = (ctx.gpr[22] | 0u); - ctx.gpr[31] = (0x0895999Cu); + aot_gpr_31 = (0x0895999Cu); ctx.gpr[8] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0084_entry, 84u, 285u, 0x08955444u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895999Cu) goto L_0895999C; AOT_REGCACHE_SYNC_OUT(); return; L_0895999C: aot_gpr_16 = (aot_gpr_16 + static_cast(68)); - aot_gpr_17 = (aot_gpr_17 + static_cast(68)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(68)); { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { @@ -4081,7 +4082,7 @@ L_08959A24: goto L_08959A2C; } L_08959A2C: - { const bool branch_taken = aot_gpr_17 == ctx.gpr[19]; + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[19]; // nop if (branch_taken) { goto L_08959D5C; @@ -4105,7 +4106,7 @@ L_08959A3C: goto L_08959A44; } L_08959A44: - { const bool branch_taken = aot_gpr_17 == ctx.gpr[19]; + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[19]; // nop if (branch_taken) { goto L_08959A68; @@ -4115,7 +4116,7 @@ L_08959A44: L_08959A4C: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(0)))))); aot_gpr_4 = (aot_gpr_4 & 32767u); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(0)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(0)))))); aot_gpr_5 = (aot_gpr_5 & 32767u); aot_gpr_4 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_5) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; @@ -4142,7 +4143,7 @@ L_08959A80: aot_gpr_5 = (aot_gpr_16 | 0u); aot_gpr_6 = (ctx.gpr[20] | 0u); ctx.gpr[7] = (0u | 255u); - ctx.gpr[31] = (0x08959A98u); + aot_gpr_31 = (0x08959A98u); ctx.gpr[8] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0084_entry, 84u, 285u, 0x08955444u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08959A98u) goto L_08959A98; AOT_REGCACHE_SYNC_OUT(); return; @@ -4156,7 +4157,7 @@ L_08959A98: goto L_08959AA4; } L_08959AA4: - { const bool branch_taken = aot_gpr_17 == ctx.gpr[19]; + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[19]; // nop if (branch_taken) { goto L_08959B0C; @@ -4172,7 +4173,7 @@ L_08959AAC: goto L_08959AB4; } L_08959AB4: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(0)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(0)))))); aot_gpr_4 = (aot_gpr_4 & 32767u); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(0)))))); aot_gpr_5 = (aot_gpr_5 & 32767u); @@ -4185,7 +4186,7 @@ L_08959AB4: goto L_08959AD0; } L_08959AD0: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(0)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(0)))))); aot_gpr_4 = (aot_gpr_4 & 32768u); aot_gpr_4 = (aot_gpr_4 >> 15u); aot_gpr_4 = (aot_gpr_4 & 65535u); @@ -4198,15 +4199,15 @@ L_08959AD0: } L_08959AE8: aot_gpr_4 = (ctx.gpr[21] | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_6 = (ctx.gpr[20] | 0u); ctx.gpr[7] = (ctx.gpr[22] | 0u); - ctx.gpr[31] = (0x08959B00u); + aot_gpr_31 = (0x08959B00u); ctx.gpr[8] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0084_entry, 84u, 285u, 0x08955444u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08959B00u) goto L_08959B00; AOT_REGCACHE_SYNC_OUT(); return; L_08959B00: - aot_gpr_17 = (aot_gpr_17 + static_cast(68)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(68)); { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { @@ -4223,7 +4224,7 @@ L_08959B0C: goto L_08959B14; } L_08959B14: - { const bool branch_taken = aot_gpr_17 == ctx.gpr[19]; + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[19]; // nop if (branch_taken) { goto L_08959D54; @@ -4231,7 +4232,7 @@ L_08959B14: goto L_08959B1C; } L_08959B1C: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(0)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(0)))))); aot_gpr_4 = (aot_gpr_4 & 32767u); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(0)))))); aot_gpr_5 = (aot_gpr_5 & 32767u); @@ -4259,7 +4260,7 @@ L_08959B4C: aot_gpr_5 = (aot_gpr_16 | 0u); aot_gpr_6 = (ctx.gpr[20] | 0u); ctx.gpr[7] = (0u | 255u); - ctx.gpr[31] = (0x08959B64u); + aot_gpr_31 = (0x08959B64u); ctx.gpr[8] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0084_entry, 84u, 285u, 0x08955444u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08959B64u) goto L_08959B64; AOT_REGCACHE_SYNC_OUT(); return; @@ -4272,7 +4273,7 @@ L_08959B64: goto L_08959B6C; } L_08959B6C: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(0)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(0)))))); aot_gpr_4 = (aot_gpr_4 & 32768u); aot_gpr_4 = (aot_gpr_4 >> 15u); aot_gpr_4 = (aot_gpr_4 & 65535u); @@ -4288,13 +4289,13 @@ L_08959B84: aot_gpr_5 = (aot_gpr_16 | 0u); aot_gpr_6 = (ctx.gpr[20] | 0u); ctx.gpr[7] = (ctx.gpr[22] | 0u); - ctx.gpr[31] = (0x08959B9Cu); + aot_gpr_31 = (0x08959B9Cu); ctx.gpr[8] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0084_entry, 84u, 285u, 0x08955444u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08959B9Cu) goto L_08959B9C; AOT_REGCACHE_SYNC_OUT(); return; L_08959B9C: aot_gpr_16 = (aot_gpr_16 + static_cast(68)); - aot_gpr_17 = (aot_gpr_17 + static_cast(68)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(68)); { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { @@ -4311,7 +4312,7 @@ L_08959BAC: goto L_08959BB4; } L_08959BB4: - { const bool branch_taken = aot_gpr_17 == ctx.gpr[19]; + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[19]; // nop if (branch_taken) { goto L_08959BD8; @@ -4321,7 +4322,7 @@ L_08959BB4: L_08959BBC: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(0)))))); aot_gpr_4 = (aot_gpr_4 & 32767u); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(0)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(0)))))); aot_gpr_5 = (aot_gpr_5 & 32767u); aot_gpr_4 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_5) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; @@ -4361,7 +4362,7 @@ L_08959BF0: } L_08959C18: aot_gpr_4 = (ctx.gpr[21] | 0u); - ctx.gpr[31] = (0x08959C24u); + aot_gpr_31 = (0x08959C24u); aot_gpr_5 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0084_entry, 84u, 288u, 0x089554A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08959C24u) goto L_08959C24; AOT_REGCACHE_SYNC_OUT(); return; @@ -4375,7 +4376,7 @@ L_08959C24: goto L_08959C30; } L_08959C30: - { const bool branch_taken = aot_gpr_17 == ctx.gpr[19]; + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[19]; // nop if (branch_taken) { goto L_08959C98; @@ -4391,7 +4392,7 @@ L_08959C38: goto L_08959C40; } L_08959C40: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(0)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(0)))))); aot_gpr_4 = (aot_gpr_4 & 32767u); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(0)))))); aot_gpr_5 = (aot_gpr_5 & 32767u); @@ -4404,7 +4405,7 @@ L_08959C40: goto L_08959C5C; } L_08959C5C: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(0)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(0)))))); aot_gpr_4 = (aot_gpr_4 & 32768u); aot_gpr_4 = (aot_gpr_4 >> 15u); aot_gpr_4 = (aot_gpr_4 & 65535u); @@ -4417,15 +4418,15 @@ L_08959C5C: } L_08959C74: aot_gpr_4 = (ctx.gpr[21] | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_6 = (ctx.gpr[20] | 0u); ctx.gpr[7] = (ctx.gpr[22] | 0u); - ctx.gpr[31] = (0x08959C8Cu); + aot_gpr_31 = (0x08959C8Cu); ctx.gpr[8] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0084_entry, 84u, 285u, 0x08955444u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08959C8Cu) goto L_08959C8C; AOT_REGCACHE_SYNC_OUT(); return; L_08959C8C: - aot_gpr_17 = (aot_gpr_17 + static_cast(68)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(68)); { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { @@ -4442,7 +4443,7 @@ L_08959C98: goto L_08959CA0; } L_08959CA0: - { const bool branch_taken = aot_gpr_17 == ctx.gpr[19]; + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[19]; // nop if (branch_taken) { goto L_08959D54; @@ -4450,7 +4451,7 @@ L_08959CA0: goto L_08959CA8; } L_08959CA8: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(0)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(0)))))); aot_gpr_4 = (aot_gpr_4 & 32767u); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(0)))))); aot_gpr_5 = (aot_gpr_5 & 32767u); @@ -4491,7 +4492,7 @@ L_08959CD8: } L_08959D00: aot_gpr_4 = (ctx.gpr[21] | 0u); - ctx.gpr[31] = (0x08959D0Cu); + aot_gpr_31 = (0x08959D0Cu); aot_gpr_5 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0084_entry, 84u, 288u, 0x089554A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08959D0Cu) goto L_08959D0C; AOT_REGCACHE_SYNC_OUT(); return; @@ -4504,7 +4505,7 @@ L_08959D0C: goto L_08959D14; } L_08959D14: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(0)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(0)))))); aot_gpr_4 = (aot_gpr_4 & 32768u); aot_gpr_4 = (aot_gpr_4 >> 15u); aot_gpr_4 = (aot_gpr_4 & 65535u); @@ -4520,13 +4521,13 @@ L_08959D2C: aot_gpr_5 = (aot_gpr_16 | 0u); aot_gpr_6 = (ctx.gpr[20] | 0u); ctx.gpr[7] = (ctx.gpr[22] | 0u); - ctx.gpr[31] = (0x08959D44u); + aot_gpr_31 = (0x08959D44u); ctx.gpr[8] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0084_entry, 84u, 285u, 0x08955444u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08959D44u) goto L_08959D44; AOT_REGCACHE_SYNC_OUT(); return; L_08959D44: aot_gpr_16 = (aot_gpr_16 + static_cast(68)); - aot_gpr_17 = (aot_gpr_17 + static_cast(68)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(68)); { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { @@ -4616,7 +4617,7 @@ L_08959DF4: aot_gpr_4 = (aot_gpr_4 << 2u); ctx.gpr[18] = (ctx.gpr[21] + aot_gpr_4); aot_gpr_5 = (ctx.gpr[18] + static_cast(8148)); - ctx.gpr[31] = (0x08959E10u); + aot_gpr_31 = (0x08959E10u); aot_gpr_4 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0084_entry, 84u, 681u, 0x08957228u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08959E10u) goto L_08959E10; AOT_REGCACHE_SYNC_OUT(); return; @@ -4632,7 +4633,7 @@ L_08959E10: L_08959E1C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(508))); aot_gpr_4 = (ctx.gpr[21] | 0u); - ctx.gpr[31] = (0x08959E2Cu); + aot_gpr_31 = (0x08959E2Cu); aot_gpr_6 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0084_entry, 84u, 329u, 0x08955ACCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08959E2Cu) goto L_08959E2C; AOT_REGCACHE_SYNC_OUT(); return; @@ -4723,7 +4724,7 @@ L_08959E54: goto L_08959F54; } L_08959F54: - ctx.gpr[31] = (0x08959F5Cu); + aot_gpr_31 = (0x08959F5Cu); aot_gpr_4 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0084_entry, 84u, 693u, 0x0895742Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08959F5Cu) goto L_08959F5C; AOT_REGCACHE_SYNC_OUT(); return; @@ -4840,7 +4841,7 @@ L_08959FD8: L_08959FE4: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(508))); aot_gpr_4 = (ctx.gpr[21] | 0u); - ctx.gpr[31] = (0x08959FF4u); + aot_gpr_31 = (0x08959FF4u); aot_gpr_6 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0084_entry, 84u, 318u, 0x089557E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08959FF4u) goto L_08959FF4; AOT_REGCACHE_SYNC_OUT(); return; @@ -4868,7 +4869,7 @@ L_0895A000: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(580))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(32))); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(12))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(12))); { const bool branch_taken = ctx.gpr[30] == 0u; // nop if (branch_taken) { @@ -4877,7 +4878,7 @@ L_0895A000: goto L_0895A01C; } L_0895A01C: - { const bool branch_taken = aot_gpr_16 == aot_gpr_17; + { const bool branch_taken = aot_gpr_16 == ctx.gpr[17]; // nop if (branch_taken) { goto L_0895A0C8; @@ -4914,13 +4915,13 @@ L_0895A03C: } L_0895A064: aot_gpr_4 = (ctx.gpr[21] | 0u); - ctx.gpr[31] = (0x0895A070u); + aot_gpr_31 = (0x0895A070u); aot_gpr_5 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0084_entry, 84u, 288u, 0x089554A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895A070u) goto L_0895A070; AOT_REGCACHE_SYNC_OUT(); return; L_0895A070: aot_gpr_16 = (aot_gpr_16 + static_cast(68)); - { const bool branch_taken = aot_gpr_16 != aot_gpr_17; + { const bool branch_taken = aot_gpr_16 != ctx.gpr[17]; // nop if (branch_taken) { goto L_0895A024; @@ -4936,7 +4937,7 @@ L_0895A07C: goto L_0895A084; } L_0895A084: - { const bool branch_taken = aot_gpr_16 == aot_gpr_17; + { const bool branch_taken = aot_gpr_16 == ctx.gpr[17]; // nop if (branch_taken) { goto L_0895A0C8; @@ -4960,13 +4961,13 @@ L_0895A0A4: aot_gpr_5 = (aot_gpr_16 | 0u); aot_gpr_6 = (ctx.gpr[18] | 0u); ctx.gpr[7] = (0u | 255u); - ctx.gpr[31] = (0x0895A0BCu); + aot_gpr_31 = (0x0895A0BCu); ctx.gpr[8] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0084_entry, 84u, 285u, 0x08955444u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895A0BCu) goto L_0895A0BC; AOT_REGCACHE_SYNC_OUT(); return; L_0895A0BC: aot_gpr_16 = (aot_gpr_16 + static_cast(68)); - { const bool branch_taken = aot_gpr_16 != aot_gpr_17; + { const bool branch_taken = aot_gpr_16 != ctx.gpr[17]; // nop if (branch_taken) { goto L_0895A08C; @@ -5043,14 +5044,14 @@ L_0895A158: aot_gpr_5 = (aot_gpr_4 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_gpr_4 << 2u); - aot_gpr_17 = (ctx.gpr[21] + aot_gpr_4); - aot_gpr_5 = (aot_gpr_17 + static_cast(8148)); - ctx.gpr[31] = (0x0895A174u); + ctx.gpr[17] = (ctx.gpr[21] + aot_gpr_4); + aot_gpr_5 = (ctx.gpr[17] + static_cast(8148)); + aot_gpr_31 = (0x0895A174u); aot_gpr_4 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0084_entry, 84u, 681u, 0x08957228u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895A174u) goto L_0895A174; AOT_REGCACHE_SYNC_OUT(); return; L_0895A174: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(8152)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(8152)))))); { const bool branch_taken = static_cast(aot_gpr_4) >= 0; // nop if (branch_taken) { @@ -5061,7 +5062,7 @@ L_0895A174: L_0895A180: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(508))); aot_gpr_4 = (ctx.gpr[21] | 0u); - ctx.gpr[31] = (0x0895A190u); + aot_gpr_31 = (0x0895A190u); aot_gpr_6 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0084_entry, 84u, 329u, 0x08955ACCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895A190u) goto L_0895A190; AOT_REGCACHE_SYNC_OUT(); return; @@ -5155,23 +5156,23 @@ L_0895A2A8: aot_gpr_4 = (aot_gpr_4 - aot_gpr_5); aot_gpr_5 = (0u | 12u); { const std::int32_t dividend = static_cast(aot_gpr_4); const std::int32_t divisor = static_cast(aot_gpr_5); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } - aot_gpr_17 = (ctx.lo); + ctx.gpr[17] = (ctx.lo); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-17716))); - aot_gpr_4 = (static_cast(aot_gpr_17) < static_cast(aot_gpr_4) ? 1u : 0u); + aot_gpr_4 = (static_cast(ctx.gpr[17]) < static_cast(aot_gpr_4) ? 1u : 0u); if (aot_gpr_4 != 0u) { - aot_gpr_17 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-17716))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-17716))); goto L_0895A2D0; } goto L_0895A2D0; L_0895A2D0: - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-17716), aot_gpr_17); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-17716), ctx.gpr[17]); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(11764))); - ctx.gpr[31] = (0x0895A2E0u); + aot_gpr_31 = (0x0895A2E0u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(11768))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0217_entry, 217u, 754u, 0x08B6BD34u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895A2E0u) goto L_0895A2E0; AOT_REGCACHE_SYNC_OUT(); return; L_0895A2E0: - aot_gpr_17 = (0u + static_cast(-1)); + ctx.gpr[17] = (0u + static_cast(-1)); ctx.gpr[18] = (0u | 255u); ctx.gpr[19] = (0u | 240u); ctx.gpr[22] = (0u | 0u); @@ -5399,7 +5400,7 @@ L_0895A450: goto L_0895A464; L_0895A464: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(8))); - { const bool branch_taken = aot_gpr_4 == aot_gpr_17; + { const bool branch_taken = aot_gpr_4 == ctx.gpr[17]; // nop if (branch_taken) { goto L_0895A49C; @@ -5408,7 +5409,7 @@ L_0895A464: } L_0895A470: aot_gpr_4 = (0u + static_cast(-1)); - { const bool branch_taken = aot_gpr_17 == aot_gpr_4; + { const bool branch_taken = ctx.gpr[17] == aot_gpr_4; // nop if (branch_taken) { goto L_0895A488; @@ -5417,20 +5418,20 @@ L_0895A470: } L_0895A47C: aot_gpr_4 = (ctx.gpr[21] | 0u); - ctx.gpr[31] = (0x0895A488u); - aot_gpr_6 = (aot_gpr_17 | 0u); + aot_gpr_31 = (0x0895A488u); + aot_gpr_6 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0084_entry, 84u, 329u, 0x08955ACCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895A488u) goto L_0895A488; AOT_REGCACHE_SYNC_OUT(); return; L_0895A488: - aot_gpr_17 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(8))); + ctx.gpr[17] = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(8))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(508))); aot_gpr_4 = (ctx.gpr[21] | 0u); - ctx.gpr[31] = (0x0895A49Cu); - aot_gpr_6 = (aot_gpr_17 | 0u); + aot_gpr_31 = (0x0895A49Cu); + aot_gpr_6 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0084_entry, 84u, 318u, 0x089557E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895A49Cu) goto L_0895A49C; AOT_REGCACHE_SYNC_OUT(); return; L_0895A49C: - { const bool branch_taken = aot_gpr_17 != ctx.gpr[23]; + { const bool branch_taken = ctx.gpr[17] != ctx.gpr[23]; // nop if (branch_taken) { goto L_0895A4D0; @@ -5461,7 +5462,7 @@ L_0895A4D0: } L_0895A4DC: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); - ctx.gpr[31] = (0x0895A4E8u); + aot_gpr_31 = (0x0895A4E8u); aot_gpr_4 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0084_entry, 84u, 681u, 0x08957228u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895A4E8u) goto L_0895A4E8; AOT_REGCACHE_SYNC_OUT(); return; @@ -5478,12 +5479,12 @@ L_0895A4F0: ctx.set_vfpu_scalar_bits_ct<12u>(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); ctx.set_vfpu_scalar_bits_ct<44u>(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(8))); ctx.execute_vfpu_vh2f_ct<21u, 12u, 2u>(); - ctx.gpr[31] = (0x0895A508u); + aot_gpr_31 = (0x0895A508u); aot_gpr_4 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0084_entry, 84u, 288u, 0x089554A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895A508u) goto L_0895A508; AOT_REGCACHE_SYNC_OUT(); return; L_0895A508: - { const bool branch_taken = aot_gpr_17 != ctx.gpr[23]; + { const bool branch_taken = ctx.gpr[17] != ctx.gpr[23]; // nop if (branch_taken) { goto L_0895A588; @@ -5509,7 +5510,7 @@ L_0895A510: aot_gpr_4 = (aot_gpr_5 + static_cast(4)); aot_mem.aot_direct_store32(ctx.gpr[23] + static_cast(0), aot_gpr_4); aot_gpr_5 = (ctx.gpr[20] | 0u); - ctx.gpr[31] = (0x0895A560u); + aot_gpr_31 = (0x0895A560u); aot_gpr_6 = (ctx.gpr[30] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895A560u) goto L_0895A560; AOT_REGCACHE_SYNC_OUT(); return; @@ -5658,14 +5659,14 @@ L_0895A718: goto L_0895A724; } L_0895A724: - ctx.gpr[31] = (0x0895A72Cu); + aot_gpr_31 = (0x0895A72Cu); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(208))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 129u, 0x089D89E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895A72Cu) goto L_0895A72C; AOT_REGCACHE_SYNC_OUT(); return; L_0895A72C: aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(576))); aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(580))); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(584))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(584))); ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(588))); ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(592))); ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(596))); @@ -5673,8 +5674,8 @@ L_0895A72C: ctx.gpr[22] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(604))); ctx.gpr[23] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(608))); ctx.gpr[30] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(612))); - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(616))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(616))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(624)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -5696,7 +5697,7 @@ L_0895A760: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(88), std::bit_cast(ctx.fpr[28])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(92), std::bit_cast(ctx.fpr[30])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(96), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(100), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(100), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(104), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(108), ctx.gpr[19]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(112), ctx.gpr[20]); @@ -5704,7 +5705,7 @@ L_0895A760: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(120), ctx.gpr[22]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(124), ctx.gpr[23]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(128), ctx.gpr[30]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(132), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(132), aot_gpr_31); aot_gpr_6 = (aot_gpr_6 & 255u); ctx.gpr[7] = (0u | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), aot_gpr_6); @@ -5886,13 +5887,13 @@ L_0895A998: } L_0895A9A4: aot_gpr_5 = (aot_gpr_4 | 0u); - ctx.gpr[31] = (0x0895A9B0u); + aot_gpr_31 = (0x0895A9B0u); aot_gpr_4 = (ctx.gpr[23] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0084_entry, 84u, 615u, 0x08956F20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895A9B0u) goto L_0895A9B0; AOT_REGCACHE_SYNC_OUT(); return; L_0895A9B0: aot_gpr_4 = (ctx.gpr[23] | 0u); - ctx.gpr[31] = (0x0895A9BCu); + aot_gpr_31 = (0x0895A9BCu); aot_gpr_5 = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0084_entry, 84u, 616u, 0x08956F40u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895A9BCu) goto L_0895A9BC; AOT_REGCACHE_SYNC_OUT(); return; @@ -5910,7 +5911,7 @@ L_0895A9BC: goto L_0895A9D8; } L_0895A9D8: - aot_gpr_17 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(0))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(0))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8412))); { const float fs = aot_fpr_12; const float ft = aot_fpr_20; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_4 = (53248u << 16u); @@ -5922,7 +5923,7 @@ L_0895A9D8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), aot_gpr_4); - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); aot_gpr_6 = (aot_gpr_6 & 15u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(44))); { const bool branch_taken = aot_gpr_6 == aot_gpr_4; @@ -6137,7 +6138,7 @@ L_0895ABE0: L_0895ABEC: aot_gpr_4 = (aot_gpr_29 + static_cast(12)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - ctx.gpr[31] = (0x0895ABFCu); + aot_gpr_31 = (0x0895ABFCu); aot_gpr_6 = (0u | 1024u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0054_entry, 54u, 498u, 0x088DF9D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895ABFCu) goto L_0895ABFC; AOT_REGCACHE_SYNC_OUT(); return; @@ -6149,7 +6150,7 @@ L_0895ABFC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_4); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(0)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(0)))))); aot_gpr_5 = (aot_gpr_5 & 112u); aot_gpr_6 = (49664u << 16u); aot_gpr_6 = (aot_gpr_6 + static_cast(1)); @@ -6161,14 +6162,14 @@ L_0895ABFC: aot_gpr_4 = (aot_gpr_4 + static_cast(4)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_4); aot_gpr_5 = (49920u << 16u); - aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(0)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(0)))))); aot_gpr_6 = (aot_gpr_6 & 7u); aot_gpr_5 = (aot_gpr_6 | aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_4); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(0)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(0)))))); aot_gpr_6 = (aot_gpr_5 & 8u); aot_gpr_6 = (aot_gpr_6 >> 3u); ctx.gpr[7] = (50944u << 16u); @@ -6187,14 +6188,14 @@ L_0895ABFC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_4); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(0)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(0)))))); aot_gpr_4 = (aot_gpr_4 & 7u); ctx.gpr[13] = (aot_gpr_4 ^ 4u); ctx.gpr[13] = (ctx.gpr[13] < static_cast(1) ? 1u : 0u); ctx.gpr[10] = (0u + static_cast(-16)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); ctx.gpr[10] = (aot_gpr_4 & ctx.gpr[10]); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(1)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(1)))))); ctx.gpr[2] = (aot_gpr_4 & 15u); ctx.gpr[11] = (aot_gpr_4 & 240u); ctx.gpr[11] = (ctx.gpr[11] >> 4u); @@ -6228,7 +6229,7 @@ L_0895AD0C: goto L_0895AD10; L_0895AD10: aot_gpr_4 = (0u | 0u); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(0)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(0)))))); aot_gpr_5 = (aot_gpr_5 & 112u); aot_gpr_5 = (aot_gpr_5 >> 4u); aot_gpr_5 = (static_cast(aot_gpr_5) < 0 ? 1u : 0u); @@ -6296,7 +6297,7 @@ L_0895ADC8: goto L_0895ADD8; L_0895ADD8: aot_gpr_4 = (aot_gpr_4 + static_cast(1)); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(0)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(0)))))); aot_gpr_5 = (aot_gpr_5 & 112u); aot_gpr_5 = (aot_gpr_5 >> 4u); aot_gpr_5 = (static_cast(aot_gpr_5) < static_cast(aot_gpr_4) ? 1u : 0u); @@ -6345,18 +6346,18 @@ L_0895AE00: aot_gpr_4 = (aot_gpr_4 + static_cast(4)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_4); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - aot_gpr_17 = (aot_gpr_4 - aot_gpr_5); + ctx.gpr[17] = (aot_gpr_4 - aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(68))); - ctx.gpr[31] = (0x0895AE88u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_31 = (0x0895AE88u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 501u, 0x08ABE57Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895AE88u) goto L_0895AE88; AOT_REGCACHE_SYNC_OUT(); return; L_0895AE88: aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast(4), ctx.gpr[2]); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); aot_gpr_4 = (ctx.gpr[2] | 0u); - ctx.gpr[31] = (0x0895AE9Cu); - aot_gpr_6 = (aot_gpr_17 | 0u); + aot_gpr_31 = (0x0895AE9Cu); + aot_gpr_6 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895AE9Cu) goto L_0895AE9C; AOT_REGCACHE_SYNC_OUT(); return; L_0895AE9C: @@ -6474,8 +6475,8 @@ L_0895AF6C: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), aot_gpr_5); goto L_0895AFC4; L_0895AFC4: - aot_gpr_17 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(2)))))); - aot_gpr_17 = (aot_gpr_17 & 32767u); + ctx.gpr[17] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(2)))))); + ctx.gpr[17] = (ctx.gpr[17] & 32767u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(52))); { const bool branch_taken = aot_gpr_5 == 0u; // nop @@ -6640,8 +6641,8 @@ L_0895B13C: } L_0895B168: aot_gpr_4 = (ctx.gpr[30] | 0u); - ctx.gpr[31] = (0x0895B174u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_31 = (0x0895B174u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0129_entry, 129u, 246u, 0x08A09B2Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895B174u) goto L_0895B174; AOT_REGCACHE_SYNC_OUT(); return; L_0895B174: @@ -6693,7 +6694,7 @@ L_0895B1B4: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), aot_gpr_5); goto L_0895B1FC; L_0895B1FC: - aot_gpr_4 = (aot_gpr_17 | aot_gpr_4); + aot_gpr_4 = (ctx.gpr[17] | aot_gpr_4); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); @@ -6701,9 +6702,9 @@ L_0895B1FC: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), aot_gpr_4); goto L_0895B214; L_0895B214: - aot_gpr_4 = (aot_gpr_17 << 3u); - aot_gpr_4 = (aot_gpr_17 + aot_gpr_4); - aot_gpr_4 = (aot_gpr_17 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[17] << 3u); + aot_gpr_4 = (ctx.gpr[17] + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[17] + aot_gpr_4); { const bool branch_taken = 0u == 0u; ctx.gpr[30] = (ctx.gpr[30] + aot_gpr_4); if (branch_taken) { @@ -6712,7 +6713,7 @@ L_0895B214: goto L_0895B228; } L_0895B228: - aot_gpr_4 = (aot_gpr_17 | aot_gpr_4); + aot_gpr_4 = (ctx.gpr[17] | aot_gpr_4); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); @@ -6822,7 +6823,7 @@ L_0895B33C: ctx.fpr[28] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(88))); ctx.fpr[30] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(92))); aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(96))); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(100))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(100))); ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(104))); ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(108))); ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(112))); @@ -6830,8 +6831,8 @@ L_0895B33C: ctx.gpr[22] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(120))); ctx.gpr[23] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(124))); ctx.gpr[30] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(128))); - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(132))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(132))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(144)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -6839,25 +6840,25 @@ L_0895B33C: AOT_REGCACHE_SYNC_OUT(); return; L_0895B38C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8976), 0u); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8980), 0u); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8984), 0u); - ctx.gpr[31] = (0x0895B3A8u); + aot_gpr_31 = (0x0895B3A8u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-17712)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895B3A8u) goto L_0895B3A8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895B3A8u) goto L_0895B3A8; AOT_REGCACHE_SYNC_OUT(); return; L_0895B3A8: aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8992), 0u); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8996), 0u); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(9000), 0u); - ctx.gpr[31] = (0x0895B3BCu); + aot_gpr_31 = (0x0895B3BCu); aot_gpr_4 = (ctx.gpr[28] + static_cast(-17700)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895B3BCu) goto L_0895B3BC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895B3BCu) goto L_0895B3BC; AOT_REGCACHE_SYNC_OUT(); return; L_0895B3BC: - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -6867,8 +6868,8 @@ L_0895B3C8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (0u | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[31]); - ctx.gpr[31] = (0x0895B3E0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); + aot_gpr_31 = (0x0895B3E0u); aot_gpr_4 = (0u | 52u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895B3E0u) goto L_0895B3E0; AOT_REGCACHE_SYNC_OUT(); return; @@ -6894,7 +6895,7 @@ L_0895B400: aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(2), static_cast(0u)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), 0u); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x0895B41Cu); + aot_gpr_31 = (0x0895B41Cu); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 172u, 0x08945234u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895B41Cu) goto L_0895B41C; AOT_REGCACHE_SYNC_OUT(); return; @@ -6902,7 +6903,7 @@ L_0895B41C: aot_gpr_4 = (0u | 4u); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(2), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x0895B430u); + aot_gpr_31 = (0x0895B430u); aot_gpr_5 = (0u | 0u); goto L_0895B9C8; L_0895B430: @@ -6919,8 +6920,8 @@ L_0895B430: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(44), 0u); ctx.gpr[2] = (aot_gpr_16 | 0u); aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -6928,11 +6929,11 @@ L_0895B430: AOT_REGCACHE_SYNC_OUT(); return; L_0895B470: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_4 | 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(20))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_4 | 0u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(20))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); { const bool branch_taken = aot_gpr_5 == aot_gpr_4; aot_gpr_16 = (aot_gpr_5 | 0u); if (branch_taken) { @@ -6949,12 +6950,12 @@ L_0895B490: goto L_0895B498; } L_0895B498: - ctx.gpr[31] = (0x0895B4A0u); + aot_gpr_31 = (0x0895B4A0u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0006_entry, 6u, 256u, 0x0881DD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895B4A0u) goto L_0895B4A0; AOT_REGCACHE_SYNC_OUT(); return; L_0895B4A0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(20))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(20))); goto L_0895B4A4; L_0895B4A4: { const bool branch_taken = aot_gpr_4 == 0u; @@ -6978,19 +6979,19 @@ L_0895B4AC: goto L_0895B4C8; } L_0895B4C8: - ctx.gpr[31] = (0x0895B4D0u); + aot_gpr_31 = (0x0895B4D0u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0006_entry, 6u, 244u, 0x0881DC84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895B4D0u) goto L_0895B4D0; AOT_REGCACHE_SYNC_OUT(); return; L_0895B4D0: - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(20), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(20), aot_gpr_16); goto L_0895B4D4; L_0895B4D4: - ctx.gpr[2] = (aot_gpr_17 | 0u); + ctx.gpr[2] = (ctx.gpr[17] | 0u); aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); - jump_target = ctx.gpr[31]; + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -6999,24 +7000,24 @@ L_0895B4D4: L_0895B4EC: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_4 + static_cast(32)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_4 + static_cast(32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[31]); - ctx.gpr[31] = (0x0895B50Cu); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); + aot_gpr_31 = (0x0895B50Cu); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 468u, 0x08ABE29Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895B50Cu) goto L_0895B50C; AOT_REGCACHE_SYNC_OUT(); return; L_0895B50C: aot_gpr_16 = (ctx.gpr[2] | 0u); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 0u); - ctx.gpr[31] = (0x0895B520u); - aot_gpr_6 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895B520u) goto L_0895B520; + aot_gpr_31 = (0x0895B520u); + aot_gpr_6 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895B520u) goto L_0895B520; AOT_REGCACHE_SYNC_OUT(); return; L_0895B520: - ctx.gpr[31] = (0x0895B528u); + aot_gpr_31 = (0x0895B528u); aot_gpr_4 = (aot_gpr_16 + static_cast(12)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0206_entry, 206u, 508u, 0x08B3E13Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895B528u) goto L_0895B528; AOT_REGCACHE_SYNC_OUT(); return; @@ -7048,9 +7049,9 @@ L_0895B538: goto L_0895B558; L_0895B558: aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); - jump_target = ctx.gpr[31]; + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -7059,10 +7060,10 @@ L_0895B558: L_0895B56C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(12))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_16 = (aot_gpr_5 | 0u); if (branch_taken) { @@ -7071,12 +7072,12 @@ L_0895B56C: goto L_0895B58C; } L_0895B58C: - ctx.gpr[31] = (0x0895B594u); + aot_gpr_31 = (0x0895B594u); aot_gpr_4 = (0u | 16u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895B594u) goto L_0895B594; AOT_REGCACHE_SYNC_OUT(); return; L_0895B594: - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(12), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(12), ctx.gpr[2]); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(12))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); @@ -7086,7 +7087,7 @@ L_0895B594: aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(4), aot_gpr_6); aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(8), ctx.gpr[7]); aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(12), aot_gpr_4); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(12))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(12))); aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); { const bool branch_taken = aot_gpr_16 == 0u; // nop @@ -7101,11 +7102,11 @@ L_0895B5CC: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(80), aot_gpr_4); goto L_0895B5D8; L_0895B5D8: - ctx.gpr[2] = (aot_gpr_17 | 0u); + ctx.gpr[2] = (ctx.gpr[17] | 0u); aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); - jump_target = ctx.gpr[31]; + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -7113,26 +7114,26 @@ L_0895B5D8: AOT_REGCACHE_SYNC_OUT(); return; L_0895B5F0: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_6 | 0u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[31]); - ctx.gpr[31] = (0x0895B614u); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), aot_gpr_5); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); + aot_gpr_31 = (0x0895B614u); aot_gpr_4 = (aot_gpr_5 << 6u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 468u, 0x08ABE29Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895B614u) goto L_0895B614; AOT_REGCACHE_SYNC_OUT(); return; L_0895B614: { const bool branch_taken = aot_gpr_16 == 0u; - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(12), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(12), ctx.gpr[2]); if (branch_taken) { goto L_0895B674; } goto L_0895B61C; } L_0895B61C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_gpr_5 = (aot_gpr_4 + static_cast(-1)); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_6 = (aot_gpr_5 | 0u); @@ -7146,7 +7147,7 @@ L_0895B62C: aot_gpr_16 = (aot_gpr_16 + aot_gpr_4); goto L_0895B634; L_0895B634: - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(12))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(12))); ctx.gpr[7] = (ctx.gpr[7] + aot_gpr_4); { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); std::uint32_t vfpu_words[4]{}; @@ -7214,9 +7215,9 @@ L_0895B634: L_0895B674: ctx.gpr[2] = (0u | 1u); aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); - jump_target = ctx.gpr[31]; + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -7224,13 +7225,13 @@ L_0895B674: AOT_REGCACHE_SYNC_OUT(); return; L_0895B68C: aot_gpr_29 = (aot_gpr_29 + static_cast(-272)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(260), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(260), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(264), ctx.gpr[18]); - aot_gpr_17 = (aot_gpr_4 | 0u); + ctx.gpr[17] = (aot_gpr_4 | 0u); ctx.gpr[18] = (aot_gpr_5 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(256), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(268), ctx.gpr[31]); - ctx.gpr[31] = (0x0895B6B0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(268), aot_gpr_31); + aot_gpr_31 = (0x0895B6B0u); aot_gpr_4 = (0u | 52u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895B6B0u) goto L_0895B6B0; AOT_REGCACHE_SYNC_OUT(); return; @@ -7238,14 +7239,14 @@ L_0895B6B0: aot_gpr_16 = (ctx.gpr[2] | 0u); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 0u); - ctx.gpr[31] = (0x0895B6C4u); + aot_gpr_31 = (0x0895B6C4u); aot_gpr_6 = (0u | 52u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895B6C4u) goto L_0895B6C4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895B6C4u) goto L_0895B6C4; AOT_REGCACHE_SYNC_OUT(); return; L_0895B6C4: aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x0895B6D4u); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_31 = (0x0895B6D4u); aot_gpr_6 = (ctx.gpr[18] | 0u); goto L_0895B5F0; L_0895B6D4: @@ -7257,9 +7258,9 @@ L_0895B6D4: goto L_0895B6DC; } L_0895B6DC: - ctx.gpr[31] = (0x0895B6E4u); + aot_gpr_31 = (0x0895B6E4u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895B6E4u) goto L_0895B6E4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895B6E4u) goto L_0895B6E4; AOT_REGCACHE_SYNC_OUT(); return; L_0895B6E4: { const bool branch_taken = 0u == 0u; @@ -7274,10 +7275,10 @@ L_0895B6EC: goto L_0895B6F0; L_0895B6F0: aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(256))); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(260))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(260))); ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(264))); - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(268))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(268))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(272)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -7287,20 +7288,20 @@ L_0895B708: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[19]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[20]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[21]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), ctx.gpr[22]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), ctx.gpr[23]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), ctx.gpr[31]); - ctx.gpr[31] = (0x0895B73Cu); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), aot_gpr_31); + aot_gpr_31 = (0x0895B73Cu); ctx.gpr[18] = (aot_gpr_5 & 255u); goto L_0895B3C8; L_0895B73C: - aot_gpr_17 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (ctx.gpr[2] | 0u); + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_0895B7A4; @@ -7310,22 +7311,22 @@ L_0895B73C: L_0895B748: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(0))); aot_gpr_5 = (aot_gpr_16 + static_cast(8)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(0), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(0), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(2))); - aot_gpr_6 = (aot_gpr_17 + static_cast(8)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(2), static_cast(aot_gpr_4)); + aot_gpr_6 = (ctx.gpr[17] + static_cast(8)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(2), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(3))); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(3), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(3), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(0), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(4), aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(16), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(16), aot_gpr_4); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(2))); - aot_gpr_4 = (aot_gpr_17 | 0u); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(2), static_cast(aot_gpr_5)); - ctx.gpr[31] = (0x0895B794u); + aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(2), static_cast(aot_gpr_5)); + aot_gpr_31 = (0x0895B794u); aot_gpr_5 = (0u | 0u); goto L_0895B9C8; L_0895B794: @@ -7357,20 +7358,20 @@ L_0895B7AC: aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); ctx.gpr[19] = (aot_gpr_4 + aot_gpr_6); - ctx.gpr[31] = (0x0895B7C4u); + aot_gpr_31 = (0x0895B7C4u); aot_gpr_4 = (aot_gpr_5 | 0u); goto L_0895B4EC; L_0895B7C4: ctx.gpr[18] = (ctx.gpr[2] | 0u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); aot_gpr_4 = (ctx.gpr[18] | 0u); - ctx.gpr[31] = (0x0895B7D8u); + aot_gpr_31 = (0x0895B7D8u); aot_gpr_6 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895B7D8u) goto L_0895B7D8; AOT_REGCACHE_SYNC_OUT(); return; L_0895B7D8: ctx.gpr[21] = (ctx.gpr[18] + static_cast(12)); - ctx.gpr[31] = (0x0895B7E4u); + aot_gpr_31 = (0x0895B7E4u); aot_gpr_4 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0206_entry, 206u, 508u, 0x08B3E13Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895B7E4u) goto L_0895B7E4; AOT_REGCACHE_SYNC_OUT(); return; @@ -7389,7 +7390,7 @@ L_0895B7E4: L_0895B7FC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(12))); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[19]); - ctx.gpr[31] = (0x0895B80Cu); + aot_gpr_31 = (0x0895B80Cu); ctx.gpr[22] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0206_entry, 206u, 484u, 0x08B3DF9Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895B80Cu) goto L_0895B80C; AOT_REGCACHE_SYNC_OUT(); return; @@ -7397,7 +7398,7 @@ L_0895B80C: ctx.gpr[23] = (ctx.gpr[2] | 0u); aot_gpr_4 = (ctx.gpr[23] | 0u); aot_gpr_5 = (ctx.gpr[22] | 0u); - ctx.gpr[31] = (0x0895B820u); + aot_gpr_31 = (0x0895B820u); aot_gpr_6 = (0u | 16u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895B820u) goto L_0895B820; AOT_REGCACHE_SYNC_OUT(); return; @@ -7405,12 +7406,12 @@ L_0895B820: aot_gpr_4 = (ctx.gpr[23] | 0u); aot_gpr_5 = (ctx.gpr[22] | 0u); aot_gpr_6 = (0u | 0u); - ctx.gpr[31] = (0x0895B834u); + aot_gpr_31 = (0x0895B834u); ctx.gpr[7] = (0u | 0u); goto L_0895B56C; L_0895B834: aot_gpr_4 = (ctx.gpr[21] | 0u); - ctx.gpr[31] = (0x0895B840u); + aot_gpr_31 = (0x0895B840u); aot_gpr_5 = (ctx.gpr[23] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0206_entry, 206u, 509u, 0x08B3E150u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895B840u) goto L_0895B840; AOT_REGCACHE_SYNC_OUT(); return; @@ -7427,7 +7428,7 @@ L_0895B840: goto L_0895B858; } L_0895B858: - ctx.gpr[31] = (0x0895B860u); + aot_gpr_31 = (0x0895B860u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 226u, 0x08968F88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895B860u) goto L_0895B860; AOT_REGCACHE_SYNC_OUT(); return; @@ -7442,13 +7443,13 @@ L_0895B860: } L_0895B86C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(0))); - ctx.gpr[31] = (0x0895B878u); + aot_gpr_31 = (0x0895B878u); aot_gpr_5 = (0u | 0u); goto L_0895B68C; L_0895B878: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(0))); ctx.gpr[20] = (ctx.gpr[2] | 0u); - ctx.gpr[31] = (0x0895B888u); + aot_gpr_31 = (0x0895B888u); aot_gpr_4 = (aot_gpr_4 << 6u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 468u, 0x08ABE29Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895B888u) goto L_0895B888; AOT_REGCACHE_SYNC_OUT(); return; @@ -7457,20 +7458,20 @@ L_0895B888: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(12))); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(0))); aot_gpr_4 = (ctx.gpr[2] | 0u); - ctx.gpr[31] = (0x0895B8A0u); + aot_gpr_31 = (0x0895B8A0u); aot_gpr_6 = (aot_gpr_6 << 6u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895B8A0u) goto L_0895B8A0; AOT_REGCACHE_SYNC_OUT(); return; L_0895B8A0: aot_gpr_4 = (ctx.gpr[18] | 0u); - ctx.gpr[31] = (0x0895B8ACu); + aot_gpr_31 = (0x0895B8ACu); aot_gpr_5 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 227u, 0x08968F90u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895B8ACu) goto L_0895B8AC; AOT_REGCACHE_SYNC_OUT(); return; L_0895B8AC: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); - ctx.gpr[31] = (0x0895B8BCu); + aot_gpr_31 = (0x0895B8BCu); aot_gpr_6 = (0u | 0u); goto L_0895B470; L_0895B8BC: @@ -7484,38 +7485,38 @@ L_0895B8BC: } L_0895B8C8: aot_gpr_5 = (aot_gpr_4 | 0u); - aot_gpr_4 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x0895B8D8u); + aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_31 = (0x0895B8D8u); aot_gpr_6 = (0u | 0u); goto L_0895B470; L_0895B8D8: - aot_gpr_4 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x0895B8E4u); + aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_31 = (0x0895B8E4u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0030_entry, 30u, 698u, 0x0887F368u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895B8E4u) goto L_0895B8E4; AOT_REGCACHE_SYNC_OUT(); return; L_0895B8E4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(36))); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(36), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(36), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(44))); - ctx.gpr[2] = (aot_gpr_17 | 0u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(44), aot_gpr_4); + ctx.gpr[2] = (ctx.gpr[17] | 0u); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(44), aot_gpr_4); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(40)))))); - aot_mem.aot_direct_store16(aot_gpr_17 + static_cast(40), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store16(ctx.gpr[17] + static_cast(40), static_cast(aot_gpr_4)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(42)))))); - aot_mem.aot_direct_store16(aot_gpr_17 + static_cast(42), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store16(ctx.gpr[17] + static_cast(42), static_cast(aot_gpr_4)); goto L_0895B908; L_0895B908: aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); ctx.gpr[21] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); ctx.gpr[22] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); ctx.gpr[23] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(28))); - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(32))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(32))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(48)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -7626,7 +7627,7 @@ L_0895B934: } ctx.write_vfpu_matrix_ct<20u, 4u>(vfpu_d); ctx.eat_vfpu_prefixes(); } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; // nop local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -7636,32 +7637,32 @@ L_0895B97C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[31]); - ctx.gpr[31] = (0x0895B994u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); + aot_gpr_31 = (0x0895B994u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0030_entry, 30u, 702u, 0x0887F3C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895B994u) goto L_0895B994; AOT_REGCACHE_SYNC_OUT(); return; L_0895B994: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 0u); - ctx.gpr[31] = (0x0895B9A4u); + aot_gpr_31 = (0x0895B9A4u); aot_gpr_6 = (0u | 0u); goto L_0895B470; L_0895B9A4: - ctx.gpr[31] = (0x0895B9ACu); + aot_gpr_31 = (0x0895B9ACu); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0091_entry, 91u, 676u, 0x089731E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895B9ACu) goto L_0895B9AC; AOT_REGCACHE_SYNC_OUT(); return; L_0895B9AC: - ctx.gpr[31] = (0x0895B9B4u); + aot_gpr_31 = (0x0895B9B4u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895B9B4u) goto L_0895B9B4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895B9B4u) goto L_0895B9B4; AOT_REGCACHE_SYNC_OUT(); return; L_0895B9B4: ctx.gpr[2] = (0u | 1u); aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -7670,16 +7671,16 @@ L_0895B9B4: L_0895B9C8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[31]); - ctx.gpr[31] = (0x0895B9DCu); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); + aot_gpr_31 = (0x0895B9DCu); aot_gpr_16 = (aot_gpr_4 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0091_entry, 91u, 671u, 0x0897317Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895B9DCu) goto L_0895B9DC; AOT_REGCACHE_SYNC_OUT(); return; L_0895B9DC: ctx.gpr[2] = (aot_gpr_16 | 0u); aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -7688,7 +7689,7 @@ L_0895B9DC: L_0895B9F0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); ctx.gpr[2] = (aot_gpr_4 + static_cast(32)); - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; ctx.gpr[2] = (ctx.gpr[2] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -7734,7 +7735,7 @@ L_0895BA00: aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(44), ctx.gpr[3]); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_5 = (aot_gpr_5 + static_cast(48)); - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_5); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -7857,7 +7858,7 @@ L_0895BAA4: ctx.gpr[14] = ((ctx.gpr[14] & ~0xFF000000u) | ((ctx.gpr[8] & 0x000000FFu) << 24u)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(36), ctx.gpr[12]); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(40), ctx.gpr[13]); - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(44), ctx.gpr[14]); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -7870,7 +7871,7 @@ L_0895BBA4: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(144), std::bit_cast(ctx.fpr[24])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(148), std::bit_cast(ctx.fpr[26])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(152), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(156), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(156), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(160), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(164), ctx.gpr[19]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(168), ctx.gpr[20]); @@ -7878,12 +7879,12 @@ L_0895BBA4: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(176), ctx.gpr[22]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(180), ctx.gpr[23]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(184), ctx.gpr[30]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(188), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(188), aot_gpr_31); aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_6 = (0u | 0u); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(40)))))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(128), static_cast(aot_gpr_6)); - aot_gpr_17 = (2236u << 16u); + ctx.gpr[17] = (2236u << 16u); ctx.gpr[19] = (ctx.gpr[28] + static_cast(7744)); aot_gpr_6 = (16256u << 16u); aot_fpr_20 = std::bit_cast(aot_gpr_6); @@ -7943,7 +7944,7 @@ L_0895BC64: ctx.gpr[22] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(96))); goto L_0895BC68; L_0895BC68: - ctx.gpr[31] = (0x0895BC70u); + aot_gpr_31 = (0x0895BC70u); aot_gpr_4 = (ctx.gpr[22] + static_cast(20)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0030_entry, 30u, 744u, 0x0887F7E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895BC70u) goto L_0895BC70; AOT_REGCACHE_SYNC_OUT(); return; @@ -7965,7 +7966,7 @@ L_0895BC88: L_0895BC8C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(12))); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[18]); - ctx.gpr[31] = (0x0895BC9Cu); + aot_gpr_31 = (0x0895BC9Cu); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0030_entry, 30u, 744u, 0x0887F7E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895BC9Cu) goto L_0895BC9C; AOT_REGCACHE_SYNC_OUT(); return; @@ -7985,13 +7986,13 @@ L_0895BCB4: aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(96))); ctx.gpr[18] = (ctx.gpr[22] + static_cast(32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(92), ctx.gpr[22]); - ctx.gpr[31] = (0x0895BCC8u); + aot_gpr_31 = (0x0895BCC8u); aot_gpr_4 = (ctx.gpr[22] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 226u, 0x08968F88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895BCC8u) goto L_0895BCC8; AOT_REGCACHE_SYNC_OUT(); return; L_0895BCC8: ctx.gpr[22] = (ctx.gpr[2] | 0u); - ctx.gpr[31] = (0x0895BCD4u); + aot_gpr_31 = (0x0895BCD4u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 180u, 0x08945288u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895BCD4u) goto L_0895BCD4; AOT_REGCACHE_SYNC_OUT(); return; @@ -8006,7 +8007,7 @@ L_0895BCD4: goto L_0895BCE4; } L_0895BCE4: - ctx.gpr[31] = (0x0895BCECu); + aot_gpr_31 = (0x0895BCECu); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 779u, 0x08A07430u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895BCECu) goto L_0895BCEC; AOT_REGCACHE_SYNC_OUT(); return; @@ -8020,14 +8021,14 @@ L_0895BCEC: goto L_0895BCF8; } L_0895BCF8: - ctx.gpr[31] = (0x0895BD00u); + aot_gpr_31 = (0x0895BD00u); aot_gpr_4 = (ctx.gpr[22] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 284u, 0x089694F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895BD00u) goto L_0895BD00; AOT_REGCACHE_SYNC_OUT(); return; L_0895BD00: aot_gpr_16 = (ctx.gpr[2] | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(96))); - ctx.gpr[31] = (0x0895BD10u); + aot_gpr_31 = (0x0895BD10u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 287u, 0x0896950Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895BD10u) goto L_0895BD10; AOT_REGCACHE_SYNC_OUT(); return; @@ -8040,9 +8041,9 @@ L_0895BD10: } goto L_0895BD20; L_0895BD20: - ctx.gpr[31] = (0x0895BD28u); + aot_gpr_31 = (0x0895BD28u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895BD28u) goto L_0895BD28; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0896918C, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895BD28u) goto L_0895BD28; AOT_REGCACHE_SYNC_OUT(); return; L_0895BD28: aot_gpr_5 = (ctx.gpr[2] | 0u); @@ -8050,7 +8051,7 @@ L_0895BD28: goto L_0895BD30; L_0895BD30: { const bool branch_taken = aot_gpr_16 == 0u; - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29552))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29552))); if (branch_taken) { goto L_0895BE3C; } @@ -8068,18 +8069,18 @@ L_0895BD38: L_0895BD44: aot_gpr_5 = (14848u << 16u); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_5); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29552))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29552))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(29552), aot_gpr_4); - aot_gpr_16 = (aot_gpr_17 + static_cast(29552)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(29552), aot_gpr_4); + aot_gpr_16 = (ctx.gpr[17] + static_cast(29552)); aot_gpr_6 = (2232u << 16u); aot_gpr_6 = (aot_gpr_6 + static_cast(-8688)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x0895BD70u); + aot_gpr_31 = (0x0895BD70u); aot_gpr_5 = (0u | 59u); goto L_0895BA00; L_0895BD70: - ctx.gpr[31] = (0x0895BD78u); + aot_gpr_31 = (0x0895BD78u); aot_gpr_4 = (ctx.gpr[22] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 228u, 0x08968F9Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895BD78u) goto L_0895BD78; AOT_REGCACHE_SYNC_OUT(); return; @@ -8103,7 +8104,7 @@ L_0895BD78: ctx.gpr[18] = (ctx.gpr[18] + aot_gpr_4); goto L_0895BDBC; L_0895BDBC: - ctx.gpr[31] = (0x0895BDC4u); + aot_gpr_31 = (0x0895BDC4u); aot_gpr_4 = (ctx.gpr[22] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 228u, 0x08968F9Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895BDC4u) goto L_0895BDC4; AOT_REGCACHE_SYNC_OUT(); return; @@ -8119,7 +8120,7 @@ L_0895BDC4: L_0895BDD0: aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); - ctx.gpr[31] = (0x0895BDE0u); + aot_gpr_31 = (0x0895BDE0u); aot_gpr_6 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 935u, 0x0885FEC8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895BDE0u) goto L_0895BDE0; AOT_REGCACHE_SYNC_OUT(); return; @@ -8128,7 +8129,7 @@ L_0895BDE0: ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(124))); aot_gpr_5 = (aot_gpr_29 | 0u); aot_gpr_6 = (ctx.gpr[23] | 0u); - ctx.gpr[31] = (0x0895BDF8u); + aot_gpr_31 = (0x0895BDF8u); ctx.gpr[8] = (0u | 43u); goto L_0895BAA4; L_0895BDF8: @@ -8153,7 +8154,7 @@ L_0895BE10: goto L_0895BE1C; } L_0895BE1C: - ctx.gpr[31] = (0x0895BE24u); + aot_gpr_31 = (0x0895BE24u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 129u, 0x089D89E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895BE24u) goto L_0895BE24; AOT_REGCACHE_SYNC_OUT(); return; @@ -8178,12 +8179,12 @@ L_0895BE34: L_0895BE3C: aot_gpr_5 = (14848u << 16u); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_5); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29552))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29552))); aot_gpr_16 = (aot_gpr_4 + static_cast(4)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(96))); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(29552), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(29552), aot_gpr_16); ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - ctx.gpr[31] = (0x0895BE60u); + aot_gpr_31 = (0x0895BE60u); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0091_entry, 91u, 725u, 0x08973704u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895BE60u) goto L_0895BE60; AOT_REGCACHE_SYNC_OUT(); return; @@ -8192,13 +8193,13 @@ L_0895BE60: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_6 = (ctx.gpr[23] | 0u); ctx.gpr[7] = (ctx.gpr[19] | 0u); - ctx.gpr[31] = (0x0895BE78u); + aot_gpr_31 = (0x0895BE78u); ctx.gpr[8] = (0u | 59u); goto L_0895BAA4; L_0895BE78: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29552))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29552))); aot_gpr_4 = (aot_gpr_4 + static_cast(48)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(29552), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(29552), aot_gpr_4); goto L_0895BE84; L_0895BE84: { const bool branch_taken = 0u == 0u; @@ -8210,14 +8211,14 @@ L_0895BE84: } L_0895BE8C: aot_gpr_4 = (14848u << 16u); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29552))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29552))); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29552))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29552))); aot_gpr_16 = (aot_gpr_4 + static_cast(4)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(96))); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(29552), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(29552), aot_gpr_16); ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - ctx.gpr[31] = (0x0895BEB4u); + aot_gpr_31 = (0x0895BEB4u); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0091_entry, 91u, 725u, 0x08973704u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895BEB4u) goto L_0895BEB4; AOT_REGCACHE_SYNC_OUT(); return; @@ -8226,13 +8227,13 @@ L_0895BEB4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_6 = (ctx.gpr[23] | 0u); ctx.gpr[7] = (ctx.gpr[19] | 0u); - ctx.gpr[31] = (0x0895BECCu); + aot_gpr_31 = (0x0895BECCu); ctx.gpr[8] = (0u | 59u); goto L_0895BAA4; L_0895BECC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29552))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29552))); aot_gpr_4 = (aot_gpr_4 + static_cast(48)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(29552), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(29552), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(128))); if (aot_gpr_4 == 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(96))); @@ -8240,14 +8241,14 @@ L_0895BECC: } goto L_0895BEE4; L_0895BEE4: - ctx.gpr[31] = (0x0895BEECu); + aot_gpr_31 = (0x0895BEECu); // nop goto L_0895B934; L_0895BEEC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(96))); goto L_0895BEF0; L_0895BEF0: - ctx.gpr[31] = (0x0895BEF8u); + aot_gpr_31 = (0x0895BEF8u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0044_entry, 44u, 712u, 0x088B7F50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895BEF8u) goto L_0895BEF8; AOT_REGCACHE_SYNC_OUT(); return; @@ -8261,7 +8262,7 @@ L_0895BEF8: goto L_0895BF04; } L_0895BF04: - aot_gpr_4 = (aot_gpr_17 + static_cast(29552)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(29552)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); aot_gpr_4 = (16448u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); @@ -8270,11 +8271,11 @@ L_0895BF04: aot_gpr_4 = (aot_gpr_4 >> 8u); aot_gpr_5 = (18176u << 16u); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29552))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29552))); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29552))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29552))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(29552), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(29552), aot_gpr_4); goto L_0895BF3C; L_0895BF3C: // TIER2_SUPERBLOCK_V2_HOOK_BEGIN @@ -8304,7 +8305,7 @@ L_0895BF5C: ctx.gpr[21] = (ctx.gpr[21] + static_cast(-1)); ctx.gpr[22] = (2560u << 16u); ctx.gpr[20] = (ctx.gpr[20] + static_cast(72)); - aot_gpr_4 = (aot_gpr_17 + static_cast(29552)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(29552)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(108), aot_gpr_4); goto L_0895BF7C; L_0895BF7C: @@ -8330,11 +8331,11 @@ L_0895BF88: aot_gpr_6 = (4096u << 16u); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(20), aot_gpr_4); aot_gpr_4 = (aot_gpr_4 | aot_gpr_6); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29552))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29552))); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29552))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29552))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(29552), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(29552), aot_gpr_4); aot_gpr_4 = (0u | 0u); ctx.gpr[2] = (0u | 0u); goto L_0895BFBC; @@ -8342,11 +8343,11 @@ L_0895BFBC: aot_gpr_5 = (ctx.gpr[20] + aot_gpr_4); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(40))); aot_gpr_6 = (ctx.gpr[2] | ctx.gpr[23]); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29552))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29552))); aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(0), aot_gpr_6); - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29552))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29552))); aot_gpr_6 = (aot_gpr_6 + static_cast(4)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(29552), aot_gpr_6); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(29552), aot_gpr_6); ctx.gpr[7] = (aot_gpr_5 << 4u); ctx.gpr[7] = (ctx.gpr[7] - aot_gpr_5); ctx.gpr[7] = (ctx.gpr[7] - aot_gpr_5); diff --git a/profiles/vcs/generated/generated_unit_0086.cpp b/profiles/vcs/generated/generated_unit_0086.cpp index b483985..290e311 100644 --- a/profiles/vcs/generated/generated_unit_0086.cpp +++ b/profiles/vcs/generated/generated_unit_0086.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include "vcs_tier2_superblocks.hpp" #include #include @@ -139,20 +140,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0086[4087] = { }; void recomp_unit_0086_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,16,17,31 fprs=12,13,14,15 gpr_occ=4017 fpr_occ=983 gpr_total=5340 fpr_total=1297 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,31,6,16 fprs=12,13,14,15 gpr_occ=4067 fpr_occ=983 gpr_total=5537 fpr_total=1297 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; - std::uint32_t aot_gpr_16 = ctx.gpr[16]; - std::uint32_t aot_gpr_17 = ctx.gpr[17]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; + std::uint32_t aot_gpr_6 = ctx.gpr[6]; + std::uint32_t aot_gpr_16 = ctx.gpr[16]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_14 = ctx.fpr[14]; float aot_fpr_15 = ctx.fpr[15]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[16] = aot_gpr_16; ctx.gpr[17] = aot_gpr_17; ctx.gpr[31] = aot_gpr_31; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[15] = aot_fpr_15; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_17 = ctx.gpr[17]; aot_gpr_31 = ctx.gpr[31]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_15 = ctx.fpr[15]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[31] = aot_gpr_31; ctx.gpr[6] = aot_gpr_6; ctx.gpr[16] = aot_gpr_16; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[15] = aot_fpr_15; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_16 = ctx.gpr[16]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_15 = ctx.fpr[15]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -783,9 +784,9 @@ L_0895C000: AOT_REGCACHE_SYNC_OUT(); return; } // TIER2_SUPERBLOCK_V2_HOOK_END - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29552))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29552))); aot_gpr_5 = (aot_gpr_5 + static_cast(4)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(29552), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(29552), aot_gpr_5); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); aot_gpr_5 = (aot_gpr_4 < static_cast(8) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 != 0u; @@ -882,32 +883,32 @@ L_0895C0A4: aot_gpr_5 = (21760u << 16u); goto L_0895C0A8; L_0895C0A8: - ctx.gpr[6] = (aot_gpr_16 & ctx.gpr[21]); - aot_gpr_5 = (ctx.gpr[6] | aot_gpr_5); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29552))); + aot_gpr_6 = (aot_gpr_16 & ctx.gpr[21]); + aot_gpr_5 = (aot_gpr_6 | aot_gpr_5); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29552))); aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(0), aot_gpr_5); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29552))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29552))); aot_gpr_5 = (aot_gpr_5 + static_cast(4)); ctx.gpr[7] = (22528u << 16u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(29552), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(29552), aot_gpr_5); ctx.gpr[8] = (aot_gpr_16 >> 24u); ctx.gpr[7] = (ctx.gpr[8] | ctx.gpr[7]); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), ctx.gpr[7]); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29552))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29552))); ctx.gpr[7] = (22016u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(4)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(29552), aot_gpr_5); - ctx.gpr[7] = (ctx.gpr[6] | ctx.gpr[7]); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(29552), aot_gpr_5); + ctx.gpr[7] = (aot_gpr_6 | ctx.gpr[7]); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), ctx.gpr[7]); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29552))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29552))); ctx.gpr[7] = (22272u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(4)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(29552), aot_gpr_5); - ctx.gpr[6] = (ctx.gpr[6] | ctx.gpr[7]); - aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), ctx.gpr[6]); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29552))); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(29552), aot_gpr_5); + aot_gpr_6 = (aot_gpr_6 | ctx.gpr[7]); + aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_6); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29552))); aot_gpr_5 = (aot_gpr_5 + static_cast(4)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(29552), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(29552), aot_gpr_5); { const bool branch_taken = ctx.gpr[19] == 0u; // nop if (branch_taken) { @@ -929,29 +930,29 @@ L_0895C118: aot_gpr_5 = (std::bit_cast(aot_fpr_12)); aot_gpr_5 = (aot_gpr_5 >> 8u); aot_gpr_4 = (aot_gpr_5 | aot_gpr_4); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29552))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29552))); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29552))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29552))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(29552), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(29552), aot_gpr_4); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(12))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(16))); aot_gpr_5 = (std::bit_cast(aot_fpr_12)); aot_gpr_5 = (aot_gpr_5 >> 8u); - ctx.gpr[6] = (18432u << 16u); + aot_gpr_6 = (18432u << 16u); ctx.gpr[7] = (std::bit_cast(aot_fpr_13)); ctx.gpr[7] = (ctx.gpr[7] >> 8u); - ctx.gpr[6] = (ctx.gpr[7] | ctx.gpr[6]); - aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), ctx.gpr[6]); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29552))); - ctx.gpr[6] = (18688u << 16u); + aot_gpr_6 = (ctx.gpr[7] | aot_gpr_6); + aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_6); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29552))); + aot_gpr_6 = (18688u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(29552), aot_gpr_4); - aot_gpr_5 = (aot_gpr_5 | ctx.gpr[6]); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(29552), aot_gpr_4); + aot_gpr_5 = (aot_gpr_5 | aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_5); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29552))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29552))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(29552), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(29552), aot_gpr_4); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x0895C1B4u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); @@ -1012,12 +1013,12 @@ L_0895C220: aot_gpr_4 = (4608u << 16u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[8] + static_cast(4))); aot_gpr_4 = (aot_gpr_5 | aot_gpr_4); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29552))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29552))); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29552))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29552))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); { const bool branch_taken = ctx.gpr[7] == 0u; - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(29552), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(29552), aot_gpr_4); if (branch_taken) { goto L_0895C28C; } @@ -1025,31 +1026,31 @@ L_0895C220: } L_0895C244: aot_gpr_5 = (15u << 16u); - ctx.gpr[6] = (ctx.gpr[7] >> 8u); - aot_gpr_5 = (ctx.gpr[6] & aot_gpr_5); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(108))); + aot_gpr_6 = (ctx.gpr[7] >> 8u); + aot_gpr_5 = (aot_gpr_6 & aot_gpr_5); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(108))); ctx.gpr[9] = (4096u << 16u); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(20), aot_gpr_5); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(20), aot_gpr_5); aot_gpr_5 = (aot_gpr_5 | ctx.gpr[9]); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_5); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29552))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29552))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); aot_gpr_5 = (256u << 16u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(29552), aot_gpr_4); - ctx.gpr[6] = (ctx.gpr[7] & ctx.gpr[21]); - aot_gpr_5 = (ctx.gpr[6] | aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(29552), aot_gpr_4); + aot_gpr_6 = (ctx.gpr[7] & ctx.gpr[21]); + aot_gpr_5 = (aot_gpr_6 | aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_5); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29552))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29552))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(29552), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(29552), aot_gpr_4); goto L_0895C28C; L_0895C28C: aot_gpr_5 = (1028u << 16u); aot_gpr_5 = (ctx.gpr[19] | aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_5); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29552))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29552))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(29552), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(29552), aot_gpr_4); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[8] + static_cast(8))); goto L_0895C2A8; L_0895C2A8: @@ -1081,19 +1082,19 @@ L_0895C2C8: aot_gpr_5 = (std::bit_cast(ctx.fpr[20])); aot_gpr_5 = (aot_gpr_5 >> 8u); aot_gpr_4 = (aot_gpr_5 | aot_gpr_4); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29552))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29552))); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29552))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29552))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(29552), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(29552), aot_gpr_4); aot_gpr_5 = (18688u << 16u); - ctx.gpr[6] = (std::bit_cast(ctx.fpr[20])); - ctx.gpr[6] = (ctx.gpr[6] >> 8u); - aot_gpr_5 = (ctx.gpr[6] | aot_gpr_5); + aot_gpr_6 = (std::bit_cast(ctx.fpr[20])); + aot_gpr_6 = (aot_gpr_6 >> 8u); + aot_gpr_5 = (aot_gpr_6 | aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_5); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29552))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29552))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(29552), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(29552), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(120))); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -1111,142 +1112,142 @@ L_0895C318: L_0895C324: aot_gpr_16 = (0u < ctx.gpr[2] ? 1u : 0u); aot_gpr_4 = (8704u << 16u); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29552))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29552))); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29552))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29552))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(29552), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(29552), aot_gpr_4); aot_gpr_4 = (0u | 11u); aot_gpr_31 = (0x0895C34Cu); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895C34Cu) goto L_0895C34C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895C34Cu) goto L_0895C34C; AOT_REGCACHE_SYNC_OUT(); return; L_0895C34C: aot_gpr_4 = (22016u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-1)); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29552))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29552))); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29552))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29552))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(29552), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(29552), aot_gpr_4); aot_gpr_5 = (22528u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(255)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_5); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29552))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29552))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(29552), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(29552), aot_gpr_4); aot_gpr_5 = (22272u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(-1)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_5); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29552))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29552))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(29552), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(29552), aot_gpr_4); aot_gpr_5 = (22528u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(-1)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_5); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29552))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29552))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(29552), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(29552), aot_gpr_4); aot_gpr_5 = (24320u << 16u); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_5); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29552))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29552))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(29552), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(29552), aot_gpr_4); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-17664))); aot_gpr_5 = (std::bit_cast(aot_fpr_12)); aot_gpr_5 = (aot_gpr_5 >> 8u); - ctx.gpr[6] = (25344u << 16u); - aot_gpr_5 = (aot_gpr_5 | ctx.gpr[6]); + aot_gpr_6 = (25344u << 16u); + aot_gpr_5 = (aot_gpr_5 | aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_5); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29552))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29552))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(29552), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(29552), aot_gpr_4); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-17660))); aot_gpr_5 = (std::bit_cast(aot_fpr_13)); aot_gpr_5 = (aot_gpr_5 >> 8u); - ctx.gpr[6] = (25600u << 16u); - aot_gpr_5 = (aot_gpr_5 | ctx.gpr[6]); + aot_gpr_6 = (25600u << 16u); + aot_gpr_5 = (aot_gpr_5 | aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_5); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29552))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29552))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(29552), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(29552), aot_gpr_4); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-17656))); aot_gpr_5 = (std::bit_cast(aot_fpr_12)); aot_gpr_5 = (aot_gpr_5 >> 8u); - ctx.gpr[6] = (25856u << 16u); - aot_gpr_5 = (aot_gpr_5 | ctx.gpr[6]); + aot_gpr_6 = (25856u << 16u); + aot_gpr_5 = (aot_gpr_5 | aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_5); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29552))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29552))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(29552), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(29552), aot_gpr_4); aot_gpr_5 = (37120u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(-1)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_5); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29552))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29552))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(29552), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(29552), aot_gpr_4); aot_gpr_5 = (6144u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(1)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_5); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29552))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29552))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(29552), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(29552), aot_gpr_4); aot_gpr_5 = (24576u << 16u); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_5); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29552))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29552))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(29552), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(29552), aot_gpr_4); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-17648))); aot_gpr_5 = (std::bit_cast(aot_fpr_12)); aot_gpr_5 = (aot_gpr_5 >> 8u); - ctx.gpr[6] = (26112u << 16u); - aot_gpr_5 = (aot_gpr_5 | ctx.gpr[6]); + aot_gpr_6 = (26112u << 16u); + aot_gpr_5 = (aot_gpr_5 | aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_5); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29552))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29552))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(29552), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(29552), aot_gpr_4); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-17644))); aot_gpr_5 = (std::bit_cast(aot_fpr_13)); aot_gpr_5 = (aot_gpr_5 >> 8u); - ctx.gpr[6] = (26368u << 16u); - aot_gpr_5 = (aot_gpr_5 | ctx.gpr[6]); + aot_gpr_6 = (26368u << 16u); + aot_gpr_5 = (aot_gpr_5 | aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_5); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29552))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29552))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(29552), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(29552), aot_gpr_4); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-17640))); aot_gpr_5 = (std::bit_cast(aot_fpr_12)); aot_gpr_5 = (aot_gpr_5 >> 8u); - ctx.gpr[6] = (26624u << 16u); - aot_gpr_5 = (aot_gpr_5 | ctx.gpr[6]); + aot_gpr_6 = (26624u << 16u); + aot_gpr_5 = (aot_gpr_5 | aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_5); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29552))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29552))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(29552), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(29552), aot_gpr_4); aot_gpr_5 = (37888u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(-1)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_5); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29552))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29552))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(29552), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(29552), aot_gpr_4); aot_gpr_5 = (6400u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(1)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_5); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29552))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29552))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(29552), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(29552), aot_gpr_4); aot_gpr_5 = (49152u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(2)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_5); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29552))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29552))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(29552), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(29552), aot_gpr_4); aot_gpr_5 = (49408u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(256)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_5); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29552))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29552))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(29552), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(29552), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-17676))); { const bool branch_taken = aot_gpr_4 == 0u; aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(129), static_cast(aot_gpr_16)); @@ -1257,11 +1258,11 @@ L_0895C34C: } L_0895C54C: aot_gpr_4 = (8960u << 16u); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29552))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29552))); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29552))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29552))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(29552), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(29552), aot_gpr_4); goto L_0895C564; L_0895C564: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-17680))); @@ -1275,56 +1276,56 @@ L_0895C564: L_0895C570: aot_gpr_4 = (7680u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29552))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29552))); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29552))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29552))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(29552), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(29552), aot_gpr_4); aot_gpr_5 = (49664u << 16u); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_5); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29552))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29552))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(29552), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(29552), aot_gpr_4); aot_gpr_5 = (49920u << 16u); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_5); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29552))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29552))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(29552), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(29552), aot_gpr_4); aot_gpr_5 = (51968u << 16u); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_5); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29552))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29552))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(29552), aot_gpr_4); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-17680))); - ctx.gpr[7] = (ctx.gpr[6] >> 8u); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(29552), aot_gpr_4); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-17680))); + ctx.gpr[7] = (aot_gpr_6 >> 8u); ctx.gpr[8] = (256u << 16u); ctx.gpr[8] = (ctx.gpr[8] + static_cast(-1)); - ctx.gpr[6] = (ctx.gpr[6] & ctx.gpr[8]); + aot_gpr_6 = (aot_gpr_6 & ctx.gpr[8]); ctx.gpr[8] = (40960u << 16u); - ctx.gpr[6] = (ctx.gpr[6] | ctx.gpr[8]); - aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), ctx.gpr[6]); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29552))); + aot_gpr_6 = (aot_gpr_6 | ctx.gpr[8]); + aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_6); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29552))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(29552), aot_gpr_4); - ctx.gpr[6] = (255u << 16u); - ctx.gpr[6] = (ctx.gpr[7] & ctx.gpr[6]); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(29552), aot_gpr_4); + aot_gpr_6 = (255u << 16u); + aot_gpr_6 = (ctx.gpr[7] & aot_gpr_6); ctx.gpr[7] = (43008u << 16u); ctx.gpr[7] = (ctx.gpr[7] + static_cast(64)); - ctx.gpr[6] = (ctx.gpr[6] | ctx.gpr[7]); - aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), ctx.gpr[6]); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29552))); + aot_gpr_6 = (aot_gpr_6 | ctx.gpr[7]); + aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_6); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29552))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(29552), aot_gpr_4); - ctx.gpr[6] = (47104u << 16u); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(1542)); - aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), ctx.gpr[6]); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29552))); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(29552), aot_gpr_4); + aot_gpr_6 = (47104u << 16u); + aot_gpr_6 = (aot_gpr_6 + static_cast(1542)); + aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_6); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29552))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(29552), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(29552), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_5); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29552))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29552))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(29552), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(29552), aot_gpr_4); goto L_0895C640; L_0895C640: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(100))); @@ -1352,7 +1353,7 @@ L_0895C658: ctx.gpr[20] = (ctx.gpr[20] + static_cast(-1)); ctx.gpr[30] = (57344u << 16u); ctx.gpr[23] = (57600u << 16u); - aot_gpr_4 = (aot_gpr_17 + static_cast(29552)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(29552)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(108), aot_gpr_4); goto L_0895C694; L_0895C694: @@ -1429,7 +1430,7 @@ L_0895C710: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7632))); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[24])); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29552))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29552))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); @@ -1470,39 +1471,39 @@ L_0895C764: // nop { const std::int64_t product = static_cast(static_cast(aot_gpr_4)) * static_cast(static_cast(ctx.gpr[22])); ctx.lo = static_cast(product); ctx.hi = static_cast(static_cast(product) >> 32u); } aot_gpr_4 = (ctx.lo); - ctx.gpr[6] = (57088u << 16u); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(170)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), ctx.gpr[6]); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29552))); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(4)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(29552), ctx.gpr[6]); + aot_gpr_6 = (57088u << 16u); + aot_gpr_6 = (aot_gpr_6 + static_cast(170)); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), aot_gpr_6); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29552))); + aot_gpr_6 = (aot_gpr_6 + static_cast(4)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(29552), aot_gpr_6); aot_gpr_5 = (aot_gpr_5 & ctx.gpr[20]); aot_gpr_5 = (aot_gpr_5 | ctx.gpr[30]); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(0), aot_gpr_5); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29552))); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(0), aot_gpr_5); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29552))); aot_gpr_5 = (aot_gpr_5 + static_cast(4)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(29552), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(29552), aot_gpr_5); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[20]); aot_gpr_4 = (aot_gpr_4 | ctx.gpr[23]); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29552))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29552))); aot_gpr_5 = (aot_gpr_4 + static_cast(4)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(29552), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(29552), aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(4))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(100))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(100))); aot_gpr_4 = (aot_gpr_4 + static_cast(2)); - ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(64))); - ctx.gpr[7] = (ctx.gpr[6] + ctx.gpr[7]); + ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(64))); + ctx.gpr[7] = (aot_gpr_6 + ctx.gpr[7]); ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); ctx.gpr[18] = (ctx.gpr[7] + ctx.gpr[18]); ctx.gpr[7] = (4608u << 16u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(4))); - ctx.gpr[6] = (ctx.gpr[6] | ctx.gpr[7]); - aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), ctx.gpr[6]); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29552))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(4))); + aot_gpr_6 = (aot_gpr_6 | ctx.gpr[7]); + aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_6); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29552))); aot_gpr_16 = (aot_gpr_16 + static_cast(4)); { const bool branch_taken = ctx.gpr[18] == 0u; - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(29552), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(29552), aot_gpr_16); if (branch_taken) { goto L_0895C848; } @@ -1510,31 +1511,31 @@ L_0895C764: } L_0895C800: aot_gpr_5 = (15u << 16u); - ctx.gpr[6] = (ctx.gpr[18] >> 8u); - aot_gpr_5 = (ctx.gpr[6] & aot_gpr_5); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(108))); + aot_gpr_6 = (ctx.gpr[18] >> 8u); + aot_gpr_5 = (aot_gpr_6 & aot_gpr_5); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(108))); ctx.gpr[7] = (4096u << 16u); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(20), aot_gpr_5); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(20), aot_gpr_5); aot_gpr_5 = (aot_gpr_5 | ctx.gpr[7]); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), aot_gpr_5); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29552))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29552))); aot_gpr_5 = (aot_gpr_5 + static_cast(4)); - ctx.gpr[6] = (256u << 16u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(29552), aot_gpr_5); + aot_gpr_6 = (256u << 16u); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(29552), aot_gpr_5); ctx.gpr[7] = (ctx.gpr[18] & ctx.gpr[20]); - ctx.gpr[6] = (ctx.gpr[7] | ctx.gpr[6]); - aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), ctx.gpr[6]); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29552))); + aot_gpr_6 = (ctx.gpr[7] | aot_gpr_6); + aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_6); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29552))); aot_gpr_16 = (aot_gpr_16 + static_cast(4)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(29552), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(29552), aot_gpr_16); goto L_0895C848; L_0895C848: aot_gpr_5 = (1028u << 16u); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29552))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29552))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(29552), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(29552), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(100))); goto L_0895C864; L_0895C864: @@ -1563,40 +1564,40 @@ L_0895C884: AOT_REGCACHE_SYNC_OUT(); return; L_0895C88C: aot_gpr_4 = (6144u << 16u); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29552))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29552))); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29552))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29552))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(29552), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(29552), aot_gpr_4); aot_gpr_5 = (6400u << 16u); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_5); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29552))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29552))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(29552), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(29552), aot_gpr_4); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(129))); aot_gpr_31 = (0x0895C8C4u); aot_gpr_4 = (0u | 11u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895C8C4u) goto L_0895C8C4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895C8C4u) goto L_0895C8C4; AOT_REGCACHE_SYNC_OUT(); return; L_0895C8C4: aot_gpr_4 = (8704u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29552))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29552))); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29552))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29552))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(29552), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(29552), aot_gpr_4); aot_gpr_5 = (49152u << 16u); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_5); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29552))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29552))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(29552), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(29552), aot_gpr_4); aot_gpr_5 = (49408u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(256)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_5); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29552))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29552))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(29552), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(29552), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-17676))); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -1608,11 +1609,11 @@ L_0895C8C4: L_0895C918: aot_gpr_4 = (8960u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29552))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29552))); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29552))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29552))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(29552), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(29552), aot_gpr_4); goto L_0895C934; L_0895C934: ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(96))); @@ -1621,7 +1622,7 @@ L_0895C934: ctx.fpr[24] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(144))); ctx.fpr[26] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(148))); aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(152))); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(156))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(156))); ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(160))); ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(164))); ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(168))); @@ -1657,7 +1658,7 @@ L_0895C9A8: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7648))); aot_gpr_5 = (0u | 10u); { const std::int32_t dividend = static_cast(aot_gpr_4); const std::int32_t divisor = static_cast(aot_gpr_5); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } - ctx.gpr[6] = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7649))); + aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7649))); ctx.gpr[2] = (2234u << 16u); ctx.gpr[2] = (ctx.gpr[2] + static_cast(2855)); ctx.gpr[7] = (ctx.lo); @@ -1669,13 +1670,13 @@ L_0895C9A8: aot_gpr_4 = (ctx.hi); // nop // nop - { const std::int32_t dividend = static_cast(ctx.gpr[6]); const std::int32_t divisor = static_cast(aot_gpr_5); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } + { const std::int32_t dividend = static_cast(aot_gpr_6); const std::int32_t divisor = static_cast(aot_gpr_5); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } aot_gpr_4 = (aot_gpr_4 + static_cast(48)); aot_mem.aot_direct_store8(ctx.gpr[2] + static_cast(13), static_cast(aot_gpr_4)); aot_gpr_4 = (ctx.lo); // nop // nop - { const std::int32_t dividend = static_cast(ctx.gpr[6]); const std::int32_t divisor = static_cast(aot_gpr_5); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } + { const std::int32_t dividend = static_cast(aot_gpr_6); const std::int32_t divisor = static_cast(aot_gpr_5); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } aot_gpr_4 = (aot_gpr_4 + static_cast(48)); aot_mem.aot_direct_store8(ctx.gpr[2] + static_cast(15), static_cast(aot_gpr_4)); aot_gpr_4 = (ctx.hi); @@ -1719,9 +1720,9 @@ L_0895CA3C: ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0895CA60: - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), ctx.gpr[6]); + aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_4); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); jump_target = aot_gpr_31; @@ -1732,8 +1733,8 @@ L_0895CA60: AOT_REGCACHE_SYNC_OUT(); return; L_0895CA7C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(4), aot_gpr_5); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(4), aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); jump_target = aot_gpr_31; aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_4); @@ -1745,7 +1746,7 @@ L_0895CA94: aot_gpr_29 = (aot_gpr_29 + static_cast(-64)); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7080))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), ctx.gpr[19]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), ctx.gpr[20]); @@ -1773,13 +1774,13 @@ L_0895CAC4: L_0895CACC: aot_gpr_5 = (2247u << 16u); aot_gpr_4 = (2247u << 16u); - ctx.gpr[6] = (aot_gpr_5 + static_cast(11680)); - aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(11632), ctx.gpr[6]); + aot_gpr_6 = (aot_gpr_5 + static_cast(11680)); + aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(11632), aot_gpr_6); aot_gpr_4 = (aot_gpr_4 + static_cast(11632)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), 0u); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(11680), 0u); aot_gpr_31 = (0x0895CAF0u); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(4), aot_gpr_4); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(4), aot_gpr_4); goto L_0895D628; L_0895CAF0: aot_gpr_31 = (0x0895CAF8u); @@ -1800,8 +1801,8 @@ L_0895CB10: aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(8), static_cast(0u)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(10), static_cast(0u)); aot_gpr_5 = (aot_gpr_5 + static_cast(1)); - ctx.gpr[6] = (static_cast(aot_gpr_5) < 48 ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] != 0u; + aot_gpr_6 = (static_cast(aot_gpr_5) < 48 ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 != 0u; aot_gpr_4 = (aot_gpr_4 + static_cast(48)); if (branch_taken) { goto L_0895CB10; @@ -1813,14 +1814,14 @@ L_0895CB28: ctx.gpr[18] = (0u | 0u); goto L_0895CB30; L_0895CB30: - aot_gpr_17 = (ctx.gpr[18] << 6u); + ctx.gpr[17] = (ctx.gpr[18] << 6u); aot_gpr_4 = (ctx.gpr[18] << 3u); ctx.gpr[19] = (0u | 0u); - aot_gpr_17 = (aot_gpr_17 - aot_gpr_4); + ctx.gpr[17] = (ctx.gpr[17] - aot_gpr_4); goto L_0895CB40; L_0895CB40: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-25496))); - aot_gpr_4 = (aot_gpr_4 + aot_gpr_17); + aot_gpr_4 = (aot_gpr_4 + ctx.gpr[17]); aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); { const bool branch_taken = aot_gpr_16 == 0u; // nop @@ -1846,7 +1847,7 @@ L_0895CB68: ctx.gpr[19] = (ctx.gpr[19] + static_cast(1)); aot_gpr_4 = (static_cast(ctx.gpr[19]) < 50 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(56)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(56)); if (branch_taken) { goto L_0895CB40; } @@ -1863,7 +1864,7 @@ L_0895CB78: goto L_0895CB88; } L_0895CB88: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_16 = (0u | 0u); goto L_0895CB90; L_0895CB90: @@ -1892,8 +1893,8 @@ L_0895CBB0: goto L_0895CBBC; } L_0895CBBC: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - aot_gpr_4 = (static_cast(aot_gpr_17) < 4 ? 1u : 0u); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + aot_gpr_4 = (static_cast(ctx.gpr[17]) < 4 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_16 = (aot_gpr_16 + static_cast(4)); if (branch_taken) { @@ -1922,7 +1923,7 @@ L_0895CBCC: aot_gpr_4 = (aot_gpr_4 | 45613u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_gpr_4); - ctx.gpr[6] = (aot_gpr_29 + static_cast(16)); + aot_gpr_6 = (aot_gpr_29 + static_cast(16)); aot_gpr_4 = (16025u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_gpr_4 | 39322u); @@ -1938,7 +1939,7 @@ L_0895CBCC: goto L_0895D058; L_0895CC50: aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(32))); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(36))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(36))); ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(40))); ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(44))); ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(48))); @@ -1983,10 +1984,10 @@ L_0895CCA4: AOT_REGCACHE_SYNC_OUT(); return; L_0895CCB4: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - ctx.gpr[6] = (aot_mem.aot_direct_load16(ctx.gpr[28] + static_cast(9008))); + aot_gpr_6 = (aot_mem.aot_direct_load16(ctx.gpr[28] + static_cast(9008))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); - ctx.gpr[6] = (static_cast(ctx.gpr[6]) < 48 ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_6 = (static_cast(aot_gpr_6) < 48 ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_5 = (aot_gpr_5 & 65535u); if (branch_taken) { goto L_0895CD98; @@ -1994,9 +1995,9 @@ L_0895CCB4: goto L_0895CCCC; } L_0895CCCC: - ctx.gpr[6] = (aot_mem.aot_direct_load16(ctx.gpr[28] + static_cast(9008))); + aot_gpr_6 = (aot_mem.aot_direct_load16(ctx.gpr[28] + static_cast(9008))); ctx.gpr[8] = (2247u << 16u); - ctx.gpr[7] = (ctx.gpr[6] << 4u); + ctx.gpr[7] = (aot_gpr_6 << 4u); ctx.gpr[9] = (ctx.gpr[7] + ctx.gpr[7]); ctx.gpr[7] = (ctx.gpr[7] + ctx.gpr[9]); ctx.gpr[8] = (ctx.gpr[8] + static_cast(9328)); @@ -2006,16 +2007,16 @@ L_0895CCCC: aot_mem.aot_direct_store8(ctx.gpr[7] + static_cast(10), static_cast(0u)); aot_mem.aot_direct_store8(ctx.gpr[7] + static_cast(11), static_cast(0u)); ctx.gpr[7] = (0u | 0u); - ctx.gpr[6] = (static_cast(ctx.gpr[7]) < static_cast(ctx.gpr[6]) ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] == 0u; - ctx.gpr[6] = (ctx.gpr[8] | 0u); + aot_gpr_6 = (static_cast(ctx.gpr[7]) < static_cast(aot_gpr_6) ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 == 0u; + aot_gpr_6 = (ctx.gpr[8] | 0u); if (branch_taken) { goto L_0895CD48; } goto L_0895CD08; } L_0895CD08: - ctx.gpr[9] = (aot_mem.aot_direct_load16(ctx.gpr[6] + static_cast(8))); + ctx.gpr[9] = (aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(8))); { const bool branch_taken = ctx.gpr[9] != aot_gpr_5; // nop if (branch_taken) { @@ -2038,7 +2039,7 @@ L_0895CD34: ctx.gpr[7] = (ctx.gpr[7] + static_cast(1)); ctx.gpr[9] = (static_cast(ctx.gpr[7]) < static_cast(ctx.gpr[9]) ? 1u : 0u); { const bool branch_taken = ctx.gpr[9] != 0u; - ctx.gpr[6] = (ctx.gpr[6] + static_cast(48)); + aot_gpr_6 = (aot_gpr_6 + static_cast(48)); if (branch_taken) { goto L_0895CD08; } @@ -2047,10 +2048,10 @@ L_0895CD34: L_0895CD48: aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[28] + static_cast(9008))); aot_gpr_5 = (aot_gpr_5 << 4u); - ctx.gpr[6] = (aot_gpr_5 + aot_gpr_5); - aot_gpr_5 = (aot_gpr_5 + ctx.gpr[6]); - ctx.gpr[6] = (ctx.gpr[8] + static_cast(16)); - aot_gpr_5 = (aot_gpr_5 + ctx.gpr[6]); + aot_gpr_6 = (aot_gpr_5 + aot_gpr_5); + aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); + aot_gpr_6 = (ctx.gpr[8] + static_cast(16)); + aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); aot_gpr_4 = (aot_gpr_4 + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; @@ -2091,7 +2092,7 @@ L_0895CDA4: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7080))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[19]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[20]); @@ -2159,7 +2160,7 @@ L_0895CE3C: } L_0895CE44: ctx.gpr[18] = (2247u << 16u); - aot_gpr_17 = (0u | 1u); + ctx.gpr[17] = (0u | 1u); ctx.gpr[18] = (ctx.gpr[18] + static_cast(9328)); goto L_0895CE50; L_0895CE50: @@ -2168,7 +2169,7 @@ L_0895CE50: aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[18]); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(10))); - { const bool branch_taken = aot_gpr_5 != aot_gpr_17; + { const bool branch_taken = aot_gpr_5 != ctx.gpr[17]; // nop if (branch_taken) { goto L_0895CE74; @@ -2236,7 +2237,7 @@ L_0895CEC8: goto L_0895CEE4; } L_0895CEE4: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); goto L_0895CEE8; L_0895CEE8: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(101))); @@ -2249,7 +2250,7 @@ L_0895CEE8: } L_0895CEF4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7764))); - aot_gpr_4 = (aot_gpr_17 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[17] + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 & 7u); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -2263,8 +2264,8 @@ L_0895CF08: aot_gpr_4 = (aot_gpr_16 | 0u); goto L_0895E958; L_0895CF10: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - aot_gpr_4 = (static_cast(aot_gpr_17) < 1 ? 1u : 0u); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + aot_gpr_4 = (static_cast(ctx.gpr[17]) < 1 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_16 = (aot_gpr_16 + static_cast(112)); if (branch_taken) { @@ -2274,7 +2275,7 @@ L_0895CF10: } L_0895CF20: aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); @@ -2289,7 +2290,7 @@ L_0895CF40: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7080))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -2308,7 +2309,7 @@ L_0895CF5C: } L_0895CF64: aot_gpr_16 = (2234u << 16u); - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_16 = (aot_gpr_16 + static_cast(2448)); goto L_0895CF70; L_0895CF70: @@ -2325,8 +2326,8 @@ L_0895CF7C: aot_gpr_4 = (aot_gpr_16 | 0u); goto L_0895EC70; L_0895CF84: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - aot_gpr_4 = (aot_gpr_17 < static_cast(1) ? 1u : 0u); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + aot_gpr_4 = (ctx.gpr[17] < static_cast(1) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_16 = (aot_gpr_16 + static_cast(112)); if (branch_taken) { @@ -2349,7 +2350,7 @@ L_0895CFA4: AOT_REGCACHE_SYNC_OUT(); return; L_0895CFAC: aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -2360,10 +2361,10 @@ L_0895CFAC: L_0895CFC0: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(104))); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(86)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(86)))))); ctx.gpr[7] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(36))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); - { const bool branch_taken = ctx.gpr[6] != ctx.gpr[7]; + { const bool branch_taken = aot_gpr_6 != ctx.gpr[7]; // nop if (branch_taken) { goto L_0895CFEC; @@ -2384,7 +2385,7 @@ L_0895CFE4: } L_0895CFEC: ctx.gpr[7] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(240))); - { const bool branch_taken = ctx.gpr[6] != ctx.gpr[7]; + { const bool branch_taken = aot_gpr_6 != ctx.gpr[7]; // nop if (branch_taken) { goto L_0895D008; @@ -2405,7 +2406,7 @@ L_0895D000: } L_0895D008: ctx.gpr[7] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(46))); - { const bool branch_taken = ctx.gpr[6] == ctx.gpr[7]; + { const bool branch_taken = aot_gpr_6 == ctx.gpr[7]; // nop if (branch_taken) { goto L_0895D038; @@ -2414,7 +2415,7 @@ L_0895D008: } L_0895D014: ctx.gpr[7] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(48))); - { const bool branch_taken = ctx.gpr[6] == ctx.gpr[7]; + { const bool branch_taken = aot_gpr_6 == ctx.gpr[7]; // nop if (branch_taken) { goto L_0895D038; @@ -2423,7 +2424,7 @@ L_0895D014: } L_0895D020: ctx.gpr[7] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(50))); - { const bool branch_taken = ctx.gpr[6] == ctx.gpr[7]; + { const bool branch_taken = aot_gpr_6 == ctx.gpr[7]; // nop if (branch_taken) { goto L_0895D038; @@ -2432,7 +2433,7 @@ L_0895D020: } L_0895D02C: aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(52))); - { const bool branch_taken = ctx.gpr[6] != aot_gpr_5; + { const bool branch_taken = aot_gpr_6 != aot_gpr_5; // nop if (branch_taken) { goto L_0895D040; @@ -2463,7 +2464,7 @@ L_0895D058: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), std::bit_cast(ctx.fpr[20])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[19]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), ctx.gpr[20]); @@ -2475,13 +2476,13 @@ L_0895D058: ctx.gpr[20] = (ctx.gpr[9] & 255u); ctx.gpr[19] = (ctx.gpr[10] & 255u); ctx.gpr[18] = (aot_gpr_5 | 0u); - aot_gpr_17 = (aot_gpr_4 | 0u); - aot_gpr_16 = (ctx.gpr[6] | 0u); + ctx.gpr[17] = (aot_gpr_4 | 0u); + aot_gpr_16 = (aot_gpr_6 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), aot_gpr_31); aot_gpr_4 = (0u | 0u); goto L_0895D0A4; L_0895D0A4: - aot_gpr_5 = (aot_gpr_4 + aot_gpr_17); + aot_gpr_5 = (aot_gpr_4 + ctx.gpr[17]); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(60), static_cast(0u)); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); aot_gpr_5 = (static_cast(aot_gpr_4) < 40 ? 1u : 0u); @@ -2493,17 +2494,17 @@ L_0895D0A4: goto L_0895D0BC; } L_0895D0BC: - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(36), 0u); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(36), 0u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-17616)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(4), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(4), aot_gpr_4); aot_gpr_31 = (0x0895D0D0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895D0D0u) goto L_0895D0D0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895D0D0u) goto L_0895D0D0; AOT_REGCACHE_SYNC_OUT(); return; L_0895D0D0: - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(40), ctx.gpr[2]); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), 0u); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(101), static_cast(0u)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(40), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), 0u); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(101), static_cast(0u)); { const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -2513,41 +2514,41 @@ L_0895D0D0: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_4 = (aot_gpr_17 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(16)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(100), static_cast(ctx.gpr[22])); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(100), static_cast(ctx.gpr[22])); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; aot_gpr_4 = (16928u << 16u); aot_fpr_14 = std::bit_cast(aot_gpr_4); aot_fpr_12 = aot_fpr_12 / aot_fpr_14; - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(44), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(44), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); aot_fpr_12 = aot_fpr_12 - aot_fpr_15; aot_fpr_12 = aot_fpr_12 / aot_fpr_14; - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(48), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(48), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; aot_gpr_4 = (16544u << 16u); ctx.fpr[16] = std::bit_cast(aot_gpr_4); aot_fpr_12 = aot_fpr_12 / ctx.fpr[16]; - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(52), std::bit_cast(aot_fpr_12)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(102), static_cast(ctx.gpr[21])); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(103), static_cast(ctx.gpr[20])); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(104), static_cast(ctx.gpr[19])); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(52), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(102), static_cast(ctx.gpr[21])); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(103), static_cast(ctx.gpr[20])); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(104), static_cast(ctx.gpr[19])); aot_gpr_4 = (16384u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); { const float fs = ctx.fpr[20]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(108), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(108), std::bit_cast(aot_fpr_12)); ctx.fpr[20] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); @@ -2576,7 +2577,7 @@ L_0895D180: L_0895D19C: aot_gpr_31 = (0x0895D1A4u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895D1A4u) goto L_0895D1A4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2E4, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895D1A4u) goto L_0895D1A4; AOT_REGCACHE_SYNC_OUT(); return; L_0895D1A4: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), 0u); @@ -2587,8 +2588,8 @@ L_0895D1A4: L_0895D1B4: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(28), 0u); aot_gpr_5 = (aot_gpr_5 + static_cast(1)); - ctx.gpr[6] = (static_cast(aot_gpr_5) < 6 ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] != 0u; + aot_gpr_6 = (static_cast(aot_gpr_5) < 6 ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 != 0u; aot_gpr_4 = (aot_gpr_4 + static_cast(4)); if (branch_taken) { goto L_0895D1B4; @@ -2665,7 +2666,7 @@ L_0895D228: { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } { const float fs = ctx.fpr[17]; const float ft = ctx.fpr[18]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_15 = std::bit_cast(0x7FC00000u); else aot_fpr_15 = fs * ft; } aot_fpr_13 = aot_fpr_13 + aot_fpr_15; - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(0), std::bit_cast(aot_fpr_13)); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(0), std::bit_cast(aot_fpr_13)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[11]); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(28))); @@ -2694,12 +2695,12 @@ L_0895D2A0: aot_gpr_5 = (ctx.gpr[9] + aot_gpr_5); aot_gpr_5 = (ctx.gpr[8] + aot_gpr_5); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(-16))); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(0), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(0), std::bit_cast(aot_fpr_12)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - ctx.gpr[6] = (aot_gpr_5 << 4u); + aot_gpr_6 = (aot_gpr_5 << 4u); aot_gpr_5 = (aot_gpr_5 << 2u); - aot_gpr_5 = (ctx.gpr[6] + aot_gpr_5); + aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(-12))); aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(0), std::bit_cast(aot_fpr_12)); @@ -2717,8 +2718,8 @@ L_0895D300: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (0u | 0u); aot_gpr_4 = (aot_gpr_4 + static_cast(11728)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (0u | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (0u | 0u); aot_gpr_16 = (aot_gpr_16 + aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); goto L_0895D324; @@ -2727,8 +2728,8 @@ L_0895D324: aot_gpr_4 = (aot_gpr_16 | 0u); goto L_0895D180; L_0895D32C: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - aot_gpr_4 = (static_cast(aot_gpr_17) < 3 ? 1u : 0u); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + aot_gpr_4 = (static_cast(ctx.gpr[17]) < 3 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_16 = (aot_gpr_16 + static_cast(52)); if (branch_taken) { @@ -2738,7 +2739,7 @@ L_0895D32C: } L_0895D33C: aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -2752,8 +2753,8 @@ L_0895D350: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (0u | 0u); aot_gpr_4 = (aot_gpr_4 + static_cast(11728)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (0u | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (0u | 0u); aot_gpr_16 = (aot_gpr_16 + aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); goto L_0895D374; @@ -2762,8 +2763,8 @@ L_0895D374: aot_gpr_4 = (aot_gpr_16 | 0u); goto L_0895F0AC; L_0895D37C: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - aot_gpr_4 = (static_cast(aot_gpr_17) < 3 ? 1u : 0u); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + aot_gpr_4 = (static_cast(ctx.gpr[17]) < 3 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_16 = (aot_gpr_16 + static_cast(52)); if (branch_taken) { @@ -2773,7 +2774,7 @@ L_0895D37C: } L_0895D38C: aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -2787,8 +2788,8 @@ L_0895D3A0: L_0895D3A4: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(256), 0u); aot_gpr_5 = (aot_gpr_5 + static_cast(1)); - ctx.gpr[6] = (static_cast(aot_gpr_5) < 16 ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] != 0u; + aot_gpr_6 = (static_cast(aot_gpr_5) < 16 ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 != 0u; aot_gpr_4 = (aot_gpr_4 + static_cast(4)); if (branch_taken) { goto L_0895D3A4; @@ -2908,11 +2909,11 @@ L_0895D440: aot_fpr_14 = std::bit_cast(aot_gpr_5); aot_fpr_12 = std::bit_cast(ctx.gpr[7]); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); - ctx.gpr[6] = (2238u << 16u); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(-272)); + aot_gpr_6 = (2238u << 16u); + aot_gpr_6 = (aot_gpr_6 + static_cast(-272)); ctx.gpr[7] = (aot_gpr_4 | 0u); aot_gpr_5 = (0u | 0u); - aot_gpr_5 = (aot_gpr_5 + ctx.gpr[6]); + aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); goto L_0895D488; L_0895D488: ctx.gpr[9] = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(256))); @@ -2996,9 +2997,9 @@ L_0895D530: goto L_0895D53C; } L_0895D53C: - aot_gpr_4 = (ctx.gpr[6] | 0u); + aot_gpr_4 = (aot_gpr_6 | 0u); aot_gpr_5 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x0895D550u); ctx.gpr[7] = (0u | 24u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0186_entry, 186u, 515u, 0x08AEE610u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895D550u) goto L_0895D550; @@ -3014,8 +3015,8 @@ L_0895D550: L_0895D558: aot_gpr_5 = (2234u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(3374)); - ctx.gpr[6] = (aot_gpr_16 + aot_gpr_16); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(-2)); + aot_gpr_6 = (aot_gpr_16 + aot_gpr_16); + aot_gpr_6 = (aot_gpr_6 + static_cast(-2)); aot_gpr_31 = (0x0895D570u); aot_gpr_4 = (0u | 2u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0186_entry, 186u, 536u, 0x08AEE8E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895D570u) goto L_0895D570; @@ -3035,7 +3036,7 @@ L_0895D578: ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0895D588: - ctx.gpr[6] = (aot_gpr_5 | 0u); + aot_gpr_6 = (aot_gpr_5 | 0u); aot_gpr_5 = (0u | 0u); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(256))); { const bool branch_taken = ctx.gpr[7] == 0u; @@ -3093,7 +3094,7 @@ L_0895D5D0: goto L_0895D5F4; } L_0895D5F4: - { const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -3143,9 +3144,9 @@ L_0895D620: L_0895D628: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_4 = (2247u << 16u); aot_gpr_16 = (aot_gpr_4 + static_cast(11888)); aot_gpr_4 = (0u | 0u); @@ -3156,8 +3157,8 @@ L_0895D64C: aot_gpr_4 = (aot_gpr_16 | 0u); goto L_0895D3A0; L_0895D654: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - aot_gpr_4 = (static_cast(aot_gpr_17) < 6 ? 1u : 0u); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + aot_gpr_4 = (static_cast(ctx.gpr[17]) < 6 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_16 = (aot_gpr_16 + static_cast(320)); if (branch_taken) { @@ -3167,7 +3168,7 @@ L_0895D654: } L_0895D664: aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -3179,7 +3180,7 @@ L_0895D678: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), std::bit_cast(ctx.fpr[20])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_31); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(4224))); { const bool branch_taken = aot_gpr_4 != 0u; @@ -3206,7 +3207,7 @@ L_0895D6A4: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7900))); aot_fpr_13 = aot_fpr_12 - aot_fpr_13; aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23440))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(11072))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(11072))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(11068))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_14 < aot_fpr_13)) ? 0x00800000u : 0u); // nop @@ -3255,7 +3256,7 @@ L_0895D6F4: } goto L_0895D70C; L_0895D70C: - ctx.gpr[7] = (static_cast(ctx.gpr[6]) < static_cast(aot_gpr_5) ? 1u : 0u); + ctx.gpr[7] = (static_cast(aot_gpr_6) < static_cast(aot_gpr_5) ? 1u : 0u); { const bool branch_taken = ctx.gpr[7] != 0u; // nop if (branch_taken) { @@ -3265,15 +3266,15 @@ L_0895D70C: } L_0895D718: { const bool branch_taken = 0u == 0u; - aot_gpr_5 = (ctx.gpr[6] | 0u); + aot_gpr_5 = (aot_gpr_6 | 0u); if (branch_taken) { goto L_0895D720; } goto L_0895D720; } L_0895D720: - ctx.gpr[6] = (static_cast(aot_gpr_4) < static_cast(aot_gpr_5) ? 1u : 0u); - if (ctx.gpr[6] == 0u) { + aot_gpr_6 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_5) ? 1u : 0u); + if (aot_gpr_6 == 0u) { aot_gpr_5 = (aot_gpr_4 | 0u); goto L_0895D72C; } @@ -3294,33 +3295,33 @@ L_0895D72C: L_0895D750: aot_gpr_4 = (5888u << 16u); aot_gpr_5 = (2236u << 16u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(29552))); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(0), aot_gpr_4); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(29552))); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(0), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(29552))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(29552), aot_gpr_4); aot_gpr_4 = (0u | 10u); aot_gpr_31 = (0x0895D778u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895D778u) goto L_0895D778; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895D778u) goto L_0895D778; AOT_REGCACHE_SYNC_OUT(); return; L_0895D778: aot_gpr_4 = (0u | 8u); aot_gpr_31 = (0x0895D784u); aot_gpr_5 = (0u | 5u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895D784u) goto L_0895D784; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895D784u) goto L_0895D784; AOT_REGCACHE_SYNC_OUT(); return; L_0895D784: aot_gpr_4 = (0u | 9u); aot_gpr_31 = (0x0895D790u); aot_gpr_5 = (0u | 6u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895D790u) goto L_0895D790; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895D790u) goto L_0895D790; AOT_REGCACHE_SYNC_OUT(); return; L_0895D790: aot_gpr_4 = (0u | 1u); aot_gpr_31 = (0x0895D79Cu); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895D79Cu) goto L_0895D79C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895D79Cu) goto L_0895D79C; AOT_REGCACHE_SYNC_OUT(); return; L_0895D79C: aot_gpr_4 = (14545u << 16u); @@ -3336,7 +3337,7 @@ L_0895D79C: goto L_0895D7B8; } L_0895D7B8: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_4 = (2247u << 16u); aot_gpr_16 = (aot_gpr_4 + static_cast(11888)); aot_gpr_4 = (0u | 0u); @@ -3348,8 +3349,8 @@ L_0895D7CC: aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); goto L_0895D3C0; L_0895D7D8: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - aot_gpr_4 = (static_cast(aot_gpr_17) < 6 ? 1u : 0u); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + aot_gpr_4 = (static_cast(ctx.gpr[17]) < 6 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_16 = (aot_gpr_16 + static_cast(320)); if (branch_taken) { @@ -3360,7 +3361,7 @@ L_0895D7D8: L_0895D7E8: ctx.fpr[20] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(28))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); @@ -3373,7 +3374,7 @@ L_0895D800: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), std::bit_cast(ctx.fpr[20])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), std::bit_cast(ctx.fpr[22])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(60), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(60), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), ctx.gpr[19]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(72), aot_gpr_31); @@ -3395,7 +3396,7 @@ L_0895D82C: aot_gpr_5 = (14409u << 16u); aot_gpr_5 = (aot_gpr_5 | 4059u); ctx.fpr[20] = std::bit_cast(aot_gpr_5); - aot_gpr_17 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[17] = (aot_gpr_29 + static_cast(16)); ctx.gpr[18] = (aot_gpr_29 + static_cast(32)); ctx.gpr[19] = (2247u << 16u); { const bool branch_taken = static_cast(aot_gpr_4) < 0; @@ -3464,7 +3465,7 @@ L_0895D8C0: aot_gpr_4 = (aot_gpr_4 | 32768u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), std::bit_cast(aot_fpr_12)); - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -3488,11 +3489,11 @@ L_0895D8C0: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_31 = (0x0895D900u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); goto L_0895D588; L_0895D900: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7648))); @@ -3534,7 +3535,7 @@ L_0895D938: aot_fpr_15 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (0u | 101u); aot_gpr_5 = (0u | 255u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 255u); ctx.gpr[9] = (ctx.gpr[18] | 0u); @@ -3616,7 +3617,7 @@ L_0895D9FC: aot_gpr_4 = (17402u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), std::bit_cast(aot_fpr_12)); - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -3640,11 +3641,11 @@ L_0895D9FC: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_31 = (0x0895DA38u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); goto L_0895D588; L_0895DA38: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7648))); @@ -3687,7 +3688,7 @@ L_0895DA74: aot_fpr_15 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (0u | 102u); aot_gpr_5 = (0u | 255u); - ctx.gpr[6] = (0u | 255u); + aot_gpr_6 = (0u | 255u); ctx.gpr[7] = (0u | 128u); ctx.gpr[8] = (0u | 255u); ctx.gpr[9] = (ctx.gpr[18] | 0u); @@ -3770,7 +3771,7 @@ L_0895DB3C: aot_gpr_4 = (17430u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), std::bit_cast(aot_fpr_12)); - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -3794,11 +3795,11 @@ L_0895DB3C: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_31 = (0x0895DB78u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); goto L_0895D588; L_0895DB78: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7648))); @@ -3842,7 +3843,7 @@ L_0895DBB4: aot_fpr_15 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (0u | 103u); aot_gpr_5 = (0u | 255u); - ctx.gpr[6] = (0u | 255u); + aot_gpr_6 = (0u | 255u); ctx.gpr[7] = (0u | 255u); ctx.gpr[8] = (0u | 255u); ctx.gpr[9] = (ctx.gpr[18] | 0u); @@ -3873,7 +3874,7 @@ L_0895DC14: ctx.fpr[20] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(48))); ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(52))); aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(56))); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(60))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(60))); ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(68))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(72))); @@ -3887,12 +3888,12 @@ L_0895DC38: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_5 = (0u | 0u); aot_fpr_12 = std::bit_cast(0u); - ctx.gpr[6] = (49776u << 16u); - aot_fpr_13 = std::bit_cast(ctx.gpr[6]); + aot_gpr_6 = (49776u << 16u); + aot_fpr_13 = std::bit_cast(aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), std::bit_cast(aot_fpr_13)); - ctx.gpr[6] = (0u | 0u); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_6 = (0u | 0u); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); goto L_0895DC5C; L_0895DC5C: aot_fpr_12 = std::bit_cast(aot_gpr_5); @@ -3912,8 +3913,8 @@ L_0895DC5C: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_5 = (aot_gpr_5 + static_cast(1)); - ctx.gpr[6] = (static_cast(aot_gpr_5) < 8 ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] != 0u; + aot_gpr_6 = (static_cast(aot_gpr_5) < 8 ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 != 0u; aot_gpr_4 = (aot_gpr_4 + static_cast(16)); if (branch_taken) { goto L_0895DC5C; @@ -3988,7 +3989,7 @@ L_0895DCFC: ctx.gpr[7] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(8), std::bit_cast(aot_fpr_12)); ctx.gpr[9] = (0u | 1u); - ctx.gpr[6] = (aot_gpr_29 + static_cast(32)); + aot_gpr_6 = (aot_gpr_29 + static_cast(32)); aot_gpr_4 = (16640u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_5 = (aot_gpr_29 + static_cast(64)); @@ -4019,10 +4020,10 @@ L_0895DD2C: ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - { const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -4140,9 +4141,9 @@ L_0895DDB4: L_0895DDBC: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_4 = (2247u << 16u); aot_gpr_16 = (aot_gpr_4 + static_cast(13808)); aot_gpr_4 = (0u | 0u); @@ -4153,8 +4154,8 @@ L_0895DDE0: aot_gpr_4 = (aot_gpr_16 | 0u); goto L_0895DC38; L_0895DDE8: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - aot_gpr_4 = (static_cast(aot_gpr_17) < 5 ? 1u : 0u); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + aot_gpr_4 = (static_cast(ctx.gpr[17]) < 5 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_16 = (aot_gpr_16 + static_cast(128)); if (branch_taken) { @@ -4164,7 +4165,7 @@ L_0895DDE8: } L_0895DDF8: aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -4175,7 +4176,7 @@ L_0895DDF8: L_0895DE0C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7080))); { const bool branch_taken = aot_gpr_4 != 0u; @@ -4186,7 +4187,7 @@ L_0895DE0C: goto L_0895DE28; } L_0895DE28: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_4 = (2247u << 16u); aot_gpr_16 = (aot_gpr_4 + static_cast(13808)); aot_gpr_4 = (0u | 0u); @@ -4210,8 +4211,8 @@ L_0895DE48: aot_gpr_4 = (aot_gpr_16 | 0u); goto L_0895F5E0; L_0895DE50: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - aot_gpr_4 = (static_cast(aot_gpr_17) < 5 ? 1u : 0u); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + aot_gpr_4 = (static_cast(ctx.gpr[17]) < 5 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_16 = (aot_gpr_16 + static_cast(128)); if (branch_taken) { @@ -4221,7 +4222,7 @@ L_0895DE50: } L_0895DE60: aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -4232,7 +4233,7 @@ L_0895DE60: L_0895DE74: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7080))); { const bool branch_taken = aot_gpr_4 != 0u; @@ -4243,7 +4244,7 @@ L_0895DE74: goto L_0895DE90; } L_0895DE90: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_4 = (2247u << 16u); aot_gpr_16 = (aot_gpr_4 + static_cast(13808)); aot_gpr_4 = (0u | 0u); @@ -4267,8 +4268,8 @@ L_0895DEB0: aot_gpr_4 = (aot_gpr_16 | 0u); goto L_0895DC88; L_0895DEB8: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - aot_gpr_4 = (static_cast(aot_gpr_17) < 5 ? 1u : 0u); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + aot_gpr_4 = (static_cast(ctx.gpr[17]) < 5 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_16 = (aot_gpr_16 + static_cast(128)); if (branch_taken) { @@ -4278,7 +4279,7 @@ L_0895DEB8: } L_0895DEC8: aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -4289,7 +4290,7 @@ L_0895DEC8: L_0895DEDC: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[19]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); @@ -4303,7 +4304,7 @@ L_0895DEDC: } L_0895DF00: ctx.gpr[19] = (0u | 0u); - aot_gpr_17 = (0u | 1u); + ctx.gpr[17] = (0u | 1u); ctx.gpr[18] = (aot_gpr_16 | 0u); goto L_0895DF0C; L_0895DF0C: @@ -4321,7 +4322,7 @@ L_0895DF18: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 247u, 0x08891B8Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895DF20u) goto L_0895DF20; AOT_REGCACHE_SYNC_OUT(); return; L_0895DF20: - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-17613), static_cast(aot_gpr_17)); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-17613), static_cast(ctx.gpr[17])); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(180))); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -4333,10 +4334,10 @@ L_0895DF20: L_0895DF30: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(92))); aot_gpr_5 = (aot_gpr_5 + static_cast(24)); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); - jump_target = ctx.gpr[6]; + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); + jump_target = aot_gpr_6; aot_gpr_31 = (0x0895DF4Cu); aot_gpr_5 = (0u | 3u); ctx.pc = jump_target; @@ -4361,7 +4362,7 @@ L_0895DF64: goto L_0895DF68; L_0895DF68: aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); @@ -4377,7 +4378,7 @@ L_0895DF84: aot_gpr_4 = (0u | 0u); aot_gpr_5 = (aot_gpr_4 < aot_gpr_5 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (branch_taken) { goto L_0895DFD8; } @@ -4389,7 +4390,7 @@ L_0895DF9C: goto L_0895DFA4; L_0895DFA4: ctx.gpr[8] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8636))); - ctx.gpr[8] = (ctx.gpr[8] + ctx.gpr[6]); + ctx.gpr[8] = (ctx.gpr[8] + aot_gpr_6); ctx.gpr[8] = (ctx.gpr[8] + aot_gpr_5); aot_mem.aot_direct_store32(ctx.gpr[8] + static_cast(180), 0u); ctx.gpr[7] = (ctx.gpr[7] + static_cast(1)); @@ -4406,7 +4407,7 @@ L_0895DFC4: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8632))); aot_gpr_5 = (aot_gpr_4 < aot_gpr_5 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 != 0u; - ctx.gpr[6] = (ctx.gpr[6] + static_cast(320)); + aot_gpr_6 = (aot_gpr_6 + static_cast(320)); if (branch_taken) { goto L_0895DF9C; } @@ -4422,11 +4423,11 @@ L_0895DFD8: L_0895DFE0: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8632))); - aot_gpr_4 = (aot_gpr_17 < aot_gpr_4 ? 1u : 0u); + aot_gpr_4 = (ctx.gpr[17] < aot_gpr_4 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_16 = (0u | 0u); if (branch_taken) { @@ -4440,9 +4441,9 @@ L_0895E004: aot_gpr_4 = (aot_gpr_4 + aot_gpr_16); goto L_0895FAB0; L_0895E010: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8632))); - aot_gpr_4 = (aot_gpr_17 < aot_gpr_4 ? 1u : 0u); + aot_gpr_4 = (ctx.gpr[17] < aot_gpr_4 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_16 = (aot_gpr_16 + static_cast(320)); if (branch_taken) { @@ -4452,7 +4453,7 @@ L_0895E010: } L_0895E024: aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -4463,11 +4464,11 @@ L_0895E024: L_0895E038: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8632))); - aot_gpr_4 = (aot_gpr_17 < aot_gpr_4 ? 1u : 0u); + aot_gpr_4 = (ctx.gpr[17] < aot_gpr_4 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_16 = (0u | 0u); if (branch_taken) { @@ -4481,9 +4482,9 @@ L_0895E05C: aot_gpr_4 = (aot_gpr_4 + aot_gpr_16); goto L_0895DEDC; L_0895E068: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8632))); - aot_gpr_4 = (aot_gpr_17 < aot_gpr_4 ? 1u : 0u); + aot_gpr_4 = (ctx.gpr[17] < aot_gpr_4 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_16 = (aot_gpr_16 + static_cast(320)); if (branch_taken) { @@ -4493,7 +4494,7 @@ L_0895E068: } L_0895E07C: aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -4504,16 +4505,16 @@ L_0895E07C: L_0895E090: aot_gpr_29 = (aot_gpr_29 + static_cast(-176)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(152), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(156), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(156), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(160), aot_gpr_31); aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(8))); aot_gpr_5 = (aot_gpr_5 + static_cast(-1)); - ctx.gpr[6] = (aot_gpr_5 < static_cast(5) ? 1u : 0u); + aot_gpr_6 = (aot_gpr_5 < static_cast(5) ? 1u : 0u); aot_gpr_4 = (2236u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(32304)); - { const bool branch_taken = ctx.gpr[6] == 0u; - aot_gpr_17 = (aot_gpr_4 + static_cast(48)); + { const bool branch_taken = aot_gpr_6 == 0u; + ctx.gpr[17] = (aot_gpr_4 + static_cast(48)); if (branch_taken) { goto L_0895E89C; } @@ -4521,8 +4522,8 @@ L_0895E090: } L_0895E0C0: aot_fpr_13 = std::bit_cast(0u); - ctx.gpr[6] = (16256u << 16u); - aot_fpr_12 = std::bit_cast(ctx.gpr[6]); + aot_gpr_6 = (16256u << 16u); + aot_fpr_12 = std::bit_cast(aot_gpr_6); ctx.gpr[1] = (0u + static_cast(1)); { const bool branch_taken = aot_gpr_5 == ctx.gpr[1]; ctx.gpr[1] = (0u + static_cast(2)); @@ -4690,7 +4691,7 @@ L_0895E22C: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -4776,10 +4777,10 @@ L_0895E22C: L_0895E2B8: aot_fpr_14 = std::bit_cast(std::bit_cast(aot_fpr_13)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(32))); - ctx.gpr[6] = (16672u << 16u); - aot_fpr_12 = std::bit_cast(ctx.gpr[6]); - ctx.gpr[6] = (std::bit_cast(aot_fpr_12)); - ctx.set_vfpu_scalar_bits_ct<28u>(ctx.gpr[6]); + aot_gpr_6 = (16672u << 16u); + aot_fpr_12 = std::bit_cast(aot_gpr_6); + aot_gpr_6 = (std::bit_cast(aot_fpr_12)); + ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_6); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -4826,7 +4827,7 @@ L_0895E2B8: aot_fpr_15 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (0u | 43u); aot_gpr_5 = (0u | 128u); - ctx.gpr[6] = (0u | 128u); + aot_gpr_6 = (0u | 128u); ctx.gpr[7] = (0u | 100u); ctx.gpr[8] = (0u | 255u); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[16])); @@ -4948,8 +4949,8 @@ L_0895E43C: goto L_0895E440; L_0895E440: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5864))); - ctx.gpr[6] = (0u | 1u); - aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(2097), static_cast(ctx.gpr[6])); + aot_gpr_6 = (0u | 1u); + aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(2097), static_cast(aot_gpr_6)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5864))); aot_gpr_31 = (0x0895E458u); aot_gpr_4 = (aot_gpr_4 + static_cast(2016)); @@ -4997,8 +4998,8 @@ L_0895E494: goto L_0895E498; L_0895E498: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5864))); - ctx.gpr[6] = (0u | 1u); - aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(2305), static_cast(ctx.gpr[6])); + aot_gpr_6 = (0u | 1u); + aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(2305), static_cast(aot_gpr_6)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5864))); aot_gpr_31 = (0x0895E4B0u); aot_gpr_4 = (aot_gpr_4 + static_cast(2224)); @@ -5160,8 +5161,8 @@ L_0895E5DC: goto L_0895E5E0; L_0895E5E0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5864))); - ctx.gpr[6] = (0u | 1u); - aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(2513), static_cast(ctx.gpr[6])); + aot_gpr_6 = (0u | 1u); + aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(2513), static_cast(aot_gpr_6)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5864))); aot_gpr_31 = (0x0895E5F8u); aot_gpr_4 = (aot_gpr_4 + static_cast(2432)); @@ -5217,8 +5218,8 @@ L_0895E63C: goto L_0895E640; L_0895E640: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5864))); - ctx.gpr[6] = (0u | 1u); - aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(2721), static_cast(ctx.gpr[6])); + aot_gpr_6 = (0u | 1u); + aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(2721), static_cast(aot_gpr_6)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5864))); aot_gpr_31 = (0x0895E658u); aot_gpr_4 = (aot_gpr_4 + static_cast(2640)); @@ -5274,8 +5275,8 @@ L_0895E69C: goto L_0895E6A0; L_0895E6A0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5864))); - ctx.gpr[6] = (0u | 1u); - aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(2929), static_cast(ctx.gpr[6])); + aot_gpr_6 = (0u | 1u); + aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(2929), static_cast(aot_gpr_6)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5864))); aot_gpr_31 = (0x0895E6B8u); aot_gpr_4 = (aot_gpr_4 + static_cast(2848)); @@ -5463,11 +5464,11 @@ L_0895E8A4: L_0895E8AC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(32))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(48))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; { const float fs = aot_fpr_12; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(52))); - aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); aot_fpr_14 = aot_fpr_14 - aot_fpr_15; { const float fs = aot_fpr_14; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } aot_fpr_12 = aot_fpr_12 + aot_fpr_14; @@ -5530,7 +5531,7 @@ L_0895E93C: goto L_0895E944; L_0895E944: aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(152))); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(156))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(156))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(160))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(176)); @@ -5541,7 +5542,7 @@ L_0895E944: L_0895E958: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[19]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), ctx.gpr[20]); @@ -5664,13 +5665,13 @@ L_0895EA68: ctx.gpr[19] = (ctx.gpr[19] + static_cast(3074)); ctx.gpr[18] = (2234u << 16u); ctx.gpr[18] = (ctx.gpr[18] + static_cast(3189)); - aot_gpr_17 = (2234u << 16u); - aot_gpr_17 = (aot_gpr_17 + static_cast(3222)); + ctx.gpr[17] = (2234u << 16u); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(3222)); goto L_0895EAA4; L_0895EAA4: aot_gpr_31 = (0x0895EAACu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895EAACu) goto L_0895EAAC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895EAACu) goto L_0895EAAC; AOT_REGCACHE_SYNC_OUT(); return; L_0895EAAC: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -5878,9 +5879,9 @@ L_0895EB98: goto L_0895EBA0; } L_0895EBA0: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), ctx.gpr[17]); { const bool branch_taken = 0u == 0u; - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (branch_taken) { goto L_0895EBB0; } @@ -5909,7 +5910,7 @@ L_0895EBBC: L_0895EBC4: aot_gpr_31 = (0x0895EBCCu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895EBCCu) goto L_0895EBCC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895EBCCu) goto L_0895EBCC; AOT_REGCACHE_SYNC_OUT(); return; L_0895EBCC: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(40), ctx.gpr[2]); @@ -5920,8 +5921,8 @@ L_0895EBD4: goto L_0895EBD8; L_0895EBD8: aot_gpr_5 = (aot_gpr_4 + aot_gpr_16); - ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(61))); - aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(60), static_cast(ctx.gpr[6])); + aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(61))); + aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(60), static_cast(aot_gpr_6)); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); aot_gpr_5 = (static_cast(aot_gpr_4) < 39 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 != 0u; @@ -5943,11 +5944,11 @@ L_0895EBF4: } L_0895EC04: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(36))); - aot_gpr_5 = (aot_gpr_5 + ctx.gpr[6]); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(36))); + aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0)))))); - ctx.gpr[6] = (aot_gpr_5 << 2u); - aot_gpr_5 = (aot_gpr_5 + ctx.gpr[6]); + aot_gpr_6 = (aot_gpr_5 << 2u); + aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); aot_gpr_5 = (aot_gpr_5 + static_cast(-160)); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_5 = (2234u << 16u); @@ -5966,7 +5967,7 @@ L_0895EC3C: goto L_0895EC40; L_0895EC40: aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); @@ -5988,7 +5989,7 @@ L_0895EC70: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(148), std::bit_cast(ctx.fpr[24])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(152), std::bit_cast(ctx.fpr[26])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(156), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(160), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(160), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(164), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(168), ctx.gpr[19]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(172), ctx.gpr[20]); @@ -6013,8 +6014,8 @@ L_0895EC70: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(44))); - ctx.gpr[6] = (16800u << 16u); - aot_fpr_12 = std::bit_cast(ctx.gpr[6]); + aot_gpr_6 = (16800u << 16u); + aot_fpr_12 = std::bit_cast(aot_gpr_6); { const float fs = aot_fpr_14; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_15 = std::bit_cast(0x7FC00000u); else aot_fpr_15 = fs * ft; } aot_fpr_13 = aot_fpr_13 + aot_fpr_15; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), std::bit_cast(aot_fpr_13)); @@ -6025,8 +6026,8 @@ L_0895EC70: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), std::bit_cast(aot_fpr_13)); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); ctx.fpr[17] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(52))); - ctx.gpr[6] = (16416u << 16u); - aot_fpr_15 = std::bit_cast(ctx.gpr[6]); + aot_gpr_6 = (16416u << 16u); + aot_fpr_15 = std::bit_cast(aot_gpr_6); { const float fs = ctx.fpr[17]; const float ft = aot_fpr_15; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_15 = std::bit_cast(0x7FC00000u); else aot_fpr_15 = fs * ft; } aot_fpr_13 = aot_fpr_13 + aot_fpr_15; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), std::bit_cast(aot_fpr_13)); @@ -6202,31 +6203,31 @@ L_0895EDBC: aot_gpr_4 = (0u | 6u); aot_gpr_31 = (0x0895EE68u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895EE68u) goto L_0895EE68; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895EE68u) goto L_0895EE68; AOT_REGCACHE_SYNC_OUT(); return; L_0895EE68: aot_gpr_4 = (0u | 10u); aot_gpr_31 = (0x0895EE74u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895EE74u) goto L_0895EE74; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895EE74u) goto L_0895EE74; AOT_REGCACHE_SYNC_OUT(); return; L_0895EE74: aot_gpr_4 = (0u | 8u); aot_gpr_31 = (0x0895EE80u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895EE80u) goto L_0895EE80; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895EE80u) goto L_0895EE80; AOT_REGCACHE_SYNC_OUT(); return; L_0895EE80: aot_gpr_4 = (0u | 9u); aot_gpr_31 = (0x0895EE8Cu); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895EE8Cu) goto L_0895EE8C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895EE8Cu) goto L_0895EE8C; AOT_REGCACHE_SYNC_OUT(); return; L_0895EE8C: aot_gpr_4 = (0u | 7u); aot_gpr_31 = (0x0895EE98u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895EE98u) goto L_0895EE98; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895EE98u) goto L_0895EE98; AOT_REGCACHE_SYNC_OUT(); return; L_0895EE98: aot_gpr_16 = (0u | 1u); @@ -6235,13 +6236,13 @@ L_0895EE98: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_31 = (0x0895EEB0u); aot_gpr_4 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895EEB0u) goto L_0895EEB0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895EEB0u) goto L_0895EEB0; AOT_REGCACHE_SYNC_OUT(); return; L_0895EEB0: aot_gpr_4 = (0u | 4u); aot_gpr_31 = (0x0895EEBCu); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895EEBCu) goto L_0895EEBC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895EEBCu) goto L_0895EEBC; AOT_REGCACHE_SYNC_OUT(); return; L_0895EEBC: aot_gpr_4 = (16128u << 16u); @@ -6256,14 +6257,14 @@ L_0895EEBC: ctx.fpr[26] = std::bit_cast(aot_gpr_4); goto L_0895EEE4; L_0895EEE4: - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(136))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(136))); aot_gpr_16 = (0u | 0u); - ctx.fpr[20] = std::bit_cast(aot_gpr_17); + ctx.fpr[20] = std::bit_cast(ctx.gpr[17]); ctx.fpr[20] = static_cast(static_cast(std::bit_cast(ctx.fpr[20]))); - ctx.gpr[20] = (aot_gpr_17 + ctx.gpr[18]); + ctx.gpr[20] = (ctx.gpr[17] + ctx.gpr[18]); goto L_0895EEF8; L_0895EEF8: - aot_gpr_4 = (aot_gpr_17 & 31u); + aot_gpr_4 = (ctx.gpr[17] & 31u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -6324,7 +6325,7 @@ L_0895EF04: L_0895EF68: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (aot_gpr_29 + static_cast(48)); - ctx.gpr[6] = (aot_gpr_29 + static_cast(64)); + aot_gpr_6 = (aot_gpr_29 + static_cast(64)); ctx.gpr[7] = (aot_gpr_29 + static_cast(68)); aot_gpr_31 = (0x0895EF80u); ctx.gpr[8] = (0u | 1u); @@ -6350,7 +6351,7 @@ L_0895EF88: { const float fs = ctx.fpr[18]; const float ft = ctx.fpr[16]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[16] = std::bit_cast(0x7FC00000u); else ctx.fpr[16] = fs * ft; } aot_gpr_4 = (ctx.gpr[23] | 0u); aot_gpr_5 = (ctx.gpr[22] | 0u); - ctx.gpr[6] = (ctx.gpr[21] | 0u); + aot_gpr_6 = (ctx.gpr[21] | 0u); ctx.gpr[7] = (0u | 255u); aot_gpr_31 = (0x0895EFC4u); ctx.gpr[8] = (0u | 255u); @@ -6376,7 +6377,7 @@ L_0895EFCC: } L_0895EFDC: aot_gpr_5 = (aot_gpr_29 + static_cast(80)); - ctx.gpr[6] = (aot_gpr_29 + static_cast(96)); + aot_gpr_6 = (aot_gpr_29 + static_cast(96)); aot_gpr_4 = (ctx.gpr[19] | 0u); ctx.gpr[7] = (ctx.gpr[30] | 0u); aot_gpr_31 = (0x0895EFF4u); @@ -6405,7 +6406,7 @@ L_0895EFFC: { const float fs = ctx.fpr[16]; const float ft = ctx.fpr[26]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[16] = std::bit_cast(0x7FC00000u); else ctx.fpr[16] = fs * ft; } aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(130))); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(129))); - ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(128))); + aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(128))); ctx.gpr[7] = (0u | 255u); aot_gpr_31 = (0x0895F040u); ctx.gpr[8] = (0u | 255u); @@ -6415,7 +6416,7 @@ L_0895F040: aot_gpr_16 = (aot_gpr_16 + static_cast(1)); aot_gpr_4 = (static_cast(aot_gpr_16) < 5 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(5)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(5)); if (branch_taken) { goto L_0895EEF8; } @@ -6443,7 +6444,7 @@ L_0895F06C: ctx.fpr[24] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(148))); ctx.fpr[26] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(152))); aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(156))); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(160))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(160))); ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(164))); ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(168))); ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(172))); @@ -6464,7 +6465,7 @@ L_0895F0AC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(372), std::bit_cast(ctx.fpr[22])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(376), std::bit_cast(ctx.fpr[24])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(380), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(384), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(384), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(388), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(392), ctx.gpr[19]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(396), ctx.gpr[20]); @@ -6474,8 +6475,8 @@ L_0895F0AC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(412), ctx.gpr[30]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(416), aot_gpr_31); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(24))); - ctx.gpr[6] = (0u | 2u); - { const bool branch_taken = aot_gpr_5 != ctx.gpr[6]; + aot_gpr_6 = (0u | 2u); + { const bool branch_taken = aot_gpr_5 != aot_gpr_6; aot_gpr_16 = (aot_gpr_4 | 0u); if (branch_taken) { goto L_0895F5A4; @@ -6596,7 +6597,7 @@ L_0895F1A0: goto L_0895F1CC; L_0895F1CC: aot_gpr_5 = (aot_gpr_4 | 0u); - ctx.gpr[6] = (aot_gpr_29 + static_cast(20)); + aot_gpr_6 = (aot_gpr_29 + static_cast(20)); ctx.gpr[7] = (aot_gpr_29 + static_cast(24)); aot_gpr_31 = (0x0895F1E0u); aot_gpr_4 = (aot_gpr_16 | 0u); @@ -6616,7 +6617,7 @@ L_0895F1E0: goto L_0895F204; L_0895F204: ctx.gpr[22] = (aot_gpr_29 + static_cast(32)); - ctx.gpr[6] = (aot_gpr_29 + static_cast(36)); + aot_gpr_6 = (aot_gpr_29 + static_cast(36)); ctx.gpr[7] = (aot_gpr_29 + static_cast(40)); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0895F21Cu); @@ -6684,8 +6685,8 @@ L_0895F21C: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(112), std::bit_cast(ctx.fpr[20])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(116), std::bit_cast(ctx.fpr[20])); - ctx.gpr[6] = (16256u << 16u); - aot_fpr_12 = std::bit_cast(ctx.gpr[6]); + aot_gpr_6 = (16256u << 16u); + aot_fpr_12 = std::bit_cast(aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(120), std::bit_cast(aot_fpr_12)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; @@ -6696,9 +6697,9 @@ L_0895F21C: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - ctx.gpr[6] = (aot_gpr_29 + static_cast(48)); + aot_gpr_6 = (aot_gpr_29 + static_cast(48)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); @@ -6710,7 +6711,7 @@ L_0895F21C: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -6791,12 +6792,12 @@ L_0895F21C: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } ctx.gpr[19] = (0u | 0u); ctx.gpr[21] = (aot_gpr_29 + static_cast(272)); - aot_gpr_17 = (aot_gpr_29 + static_cast(144)); + ctx.gpr[17] = (aot_gpr_29 + static_cast(144)); ctx.gpr[30] = (128u << 16u); ctx.gpr[18] = (aot_gpr_29 + static_cast(240)); ctx.gpr[20] = (aot_gpr_29 + static_cast(176)); @@ -6855,12 +6856,12 @@ L_0895F308: ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 0u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_5 = (std::bit_cast(ctx.fpr[22])); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_5); - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -6972,7 +6973,7 @@ L_0895F420: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(144), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(148), std::bit_cast(aot_fpr_14)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(152), std::bit_cast(ctx.fpr[16])); - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -7119,7 +7120,7 @@ L_0895F514: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(144), std::bit_cast(ctx.fpr[20])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(148), std::bit_cast(ctx.fpr[20])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(152), std::bit_cast(ctx.fpr[20])); - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -7137,7 +7138,7 @@ L_0895F514: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(144), std::bit_cast(ctx.fpr[20])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(148), std::bit_cast(ctx.fpr[20])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(152), std::bit_cast(ctx.fpr[20])); - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -7188,7 +7189,7 @@ L_0895F5A4: ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(372))); ctx.fpr[24] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(376))); aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(380))); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(384))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(384))); ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(388))); ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(392))); ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(396))); @@ -7206,7 +7207,7 @@ L_0895F5A4: L_0895F5E0: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), aot_gpr_31); aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7080))); { const bool branch_taken = aot_gpr_5 != 0u; @@ -7376,8 +7377,8 @@ L_0895F6C4: aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8456), 0u); aot_gpr_5 = (17274u << 16u); aot_fpr_14 = std::bit_cast(aot_gpr_5); - aot_gpr_17 = (2238u << 16u); - aot_gpr_17 = (aot_gpr_17 + static_cast(-272)); + ctx.gpr[17] = (2238u << 16u); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(-272)); aot_gpr_16 = (2238u << 16u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 < aot_fpr_14)) ? 0x00800000u : 0u); // nop @@ -7412,9 +7413,9 @@ L_0895F6F8: L_0895F724: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); aot_gpr_5 = (aot_gpr_5 << 3u); - ctx.gpr[6] = (aot_gpr_5 + aot_gpr_5); - aot_gpr_5 = (aot_gpr_5 + ctx.gpr[6]); - aot_gpr_5 = (aot_gpr_5 + aot_gpr_17); + aot_gpr_6 = (aot_gpr_5 + aot_gpr_5); + aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); + aot_gpr_5 = (aot_gpr_5 + ctx.gpr[17]); ctx.gpr[8] = (0u | 255u); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(8), static_cast(ctx.gpr[8])); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(9), static_cast(ctx.gpr[8])); @@ -7422,9 +7423,9 @@ L_0895F724: aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(11), static_cast(ctx.gpr[7])); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); aot_gpr_5 = (aot_gpr_5 << 3u); - ctx.gpr[6] = (aot_gpr_5 + aot_gpr_5); - aot_gpr_5 = (aot_gpr_5 + ctx.gpr[6]); - aot_gpr_5 = (aot_gpr_5 + aot_gpr_17); + aot_gpr_6 = (aot_gpr_5 + aot_gpr_5); + aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); + aot_gpr_5 = (aot_gpr_5 + ctx.gpr[17]); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(32))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(36))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(40))); @@ -7433,10 +7434,10 @@ L_0895F724: aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(20), std::bit_cast(aot_fpr_14)); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); aot_gpr_5 = (aot_gpr_5 << 3u); - ctx.gpr[6] = (aot_gpr_5 + aot_gpr_5); - aot_gpr_5 = (aot_gpr_5 + ctx.gpr[6]); - ctx.gpr[6] = (aot_gpr_17 + static_cast(24)); - aot_gpr_5 = (aot_gpr_5 + ctx.gpr[6]); + aot_gpr_6 = (aot_gpr_5 + aot_gpr_5); + aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); + aot_gpr_6 = (ctx.gpr[17] + static_cast(24)); + aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(8), static_cast(ctx.gpr[8])); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(9), static_cast(ctx.gpr[8])); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(10), static_cast(ctx.gpr[8])); @@ -7445,7 +7446,7 @@ L_0895F724: aot_gpr_5 = (aot_gpr_5 << 3u); ctx.gpr[8] = (aot_gpr_5 + aot_gpr_5); aot_gpr_5 = (aot_gpr_5 + ctx.gpr[8]); - aot_gpr_5 = (aot_gpr_5 + ctx.gpr[6]); + aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(32))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(36))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(40))); @@ -7459,26 +7460,26 @@ L_0895F724: aot_gpr_5 = (aot_gpr_5 << 3u); ctx.gpr[8] = (aot_gpr_5 + aot_gpr_5); aot_gpr_5 = (aot_gpr_5 + ctx.gpr[8]); - aot_gpr_5 = (aot_gpr_5 + aot_gpr_17); + aot_gpr_5 = (aot_gpr_5 + ctx.gpr[17]); aot_fpr_15 = std::bit_cast(0u); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), std::bit_cast(aot_fpr_15)); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); aot_gpr_5 = (aot_gpr_5 << 3u); ctx.gpr[8] = (aot_gpr_5 + aot_gpr_5); aot_gpr_5 = (aot_gpr_5 + ctx.gpr[8]); - aot_gpr_5 = (aot_gpr_5 + aot_gpr_17); + aot_gpr_5 = (aot_gpr_5 + ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(4), std::bit_cast(aot_fpr_15)); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); aot_gpr_5 = (aot_gpr_5 << 3u); ctx.gpr[8] = (aot_gpr_5 + aot_gpr_5); aot_gpr_5 = (aot_gpr_5 + ctx.gpr[8]); - aot_gpr_5 = (aot_gpr_5 + ctx.gpr[6]); + aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), std::bit_cast(aot_fpr_15)); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); aot_gpr_5 = (aot_gpr_5 << 3u); ctx.gpr[8] = (aot_gpr_5 + aot_gpr_5); aot_gpr_5 = (aot_gpr_5 + ctx.gpr[8]); - aot_gpr_5 = (aot_gpr_5 + ctx.gpr[6]); + aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); ctx.gpr[8] = (16256u << 16u); aot_fpr_14 = std::bit_cast(ctx.gpr[8]); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(4), std::bit_cast(aot_fpr_14)); @@ -7509,7 +7510,7 @@ L_0895F868: ctx.gpr[8] = (ctx.gpr[8] << 3u); ctx.gpr[9] = (ctx.gpr[8] + ctx.gpr[8]); ctx.gpr[8] = (ctx.gpr[8] + ctx.gpr[9]); - ctx.gpr[8] = (ctx.gpr[8] + aot_gpr_17); + ctx.gpr[8] = (ctx.gpr[8] + ctx.gpr[17]); ctx.gpr[9] = (0u | 255u); aot_mem.aot_direct_store8(ctx.gpr[8] + static_cast(8), static_cast(ctx.gpr[9])); aot_mem.aot_direct_store8(ctx.gpr[8] + static_cast(9), static_cast(ctx.gpr[9])); @@ -7519,7 +7520,7 @@ L_0895F868: ctx.gpr[8] = (ctx.gpr[8] << 3u); ctx.gpr[10] = (ctx.gpr[8] + ctx.gpr[8]); ctx.gpr[8] = (ctx.gpr[8] + ctx.gpr[10]); - ctx.gpr[8] = (ctx.gpr[8] + aot_gpr_17); + ctx.gpr[8] = (ctx.gpr[8] + ctx.gpr[17]); ctx.fpr[17] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); ctx.fpr[18] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); ctx.fpr[19] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); @@ -7530,7 +7531,7 @@ L_0895F868: ctx.gpr[8] = (ctx.gpr[8] << 3u); ctx.gpr[10] = (ctx.gpr[8] + ctx.gpr[8]); ctx.gpr[8] = (ctx.gpr[8] + ctx.gpr[10]); - ctx.gpr[8] = (ctx.gpr[8] + ctx.gpr[6]); + ctx.gpr[8] = (ctx.gpr[8] + aot_gpr_6); aot_mem.aot_direct_store8(ctx.gpr[8] + static_cast(8), static_cast(ctx.gpr[9])); aot_mem.aot_direct_store8(ctx.gpr[8] + static_cast(9), static_cast(ctx.gpr[9])); aot_mem.aot_direct_store8(ctx.gpr[8] + static_cast(10), static_cast(ctx.gpr[9])); @@ -7539,7 +7540,7 @@ L_0895F868: ctx.gpr[8] = (ctx.gpr[8] << 3u); ctx.gpr[9] = (ctx.gpr[8] + ctx.gpr[8]); ctx.gpr[8] = (ctx.gpr[8] + ctx.gpr[9]); - ctx.gpr[8] = (ctx.gpr[8] + ctx.gpr[6]); + ctx.gpr[8] = (ctx.gpr[8] + aot_gpr_6); ctx.fpr[17] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); ctx.fpr[18] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); ctx.fpr[19] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); @@ -7555,25 +7556,25 @@ L_0895F868: ctx.gpr[8] = (ctx.gpr[8] << 3u); ctx.gpr[9] = (ctx.gpr[8] + ctx.gpr[8]); ctx.gpr[8] = (ctx.gpr[8] + ctx.gpr[9]); - ctx.gpr[8] = (ctx.gpr[8] + aot_gpr_17); + ctx.gpr[8] = (ctx.gpr[8] + ctx.gpr[17]); aot_mem.aot_direct_store32(ctx.gpr[8] + static_cast(0), std::bit_cast(ctx.fpr[17])); ctx.gpr[8] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); ctx.gpr[8] = (ctx.gpr[8] << 3u); ctx.gpr[9] = (ctx.gpr[8] + ctx.gpr[8]); ctx.gpr[8] = (ctx.gpr[8] + ctx.gpr[9]); - ctx.gpr[8] = (ctx.gpr[8] + aot_gpr_17); + ctx.gpr[8] = (ctx.gpr[8] + ctx.gpr[17]); aot_mem.aot_direct_store32(ctx.gpr[8] + static_cast(4), std::bit_cast(aot_fpr_15)); ctx.gpr[8] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); ctx.gpr[8] = (ctx.gpr[8] << 3u); ctx.gpr[9] = (ctx.gpr[8] + ctx.gpr[8]); ctx.gpr[8] = (ctx.gpr[8] + ctx.gpr[9]); - ctx.gpr[8] = (ctx.gpr[8] + ctx.gpr[6]); + ctx.gpr[8] = (ctx.gpr[8] + aot_gpr_6); aot_mem.aot_direct_store32(ctx.gpr[8] + static_cast(0), std::bit_cast(ctx.fpr[17])); ctx.gpr[8] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); ctx.gpr[8] = (ctx.gpr[8] << 3u); ctx.gpr[9] = (ctx.gpr[8] + ctx.gpr[8]); ctx.gpr[8] = (ctx.gpr[8] + ctx.gpr[9]); - ctx.gpr[8] = (ctx.gpr[8] + ctx.gpr[6]); + ctx.gpr[8] = (ctx.gpr[8] + aot_gpr_6); aot_mem.aot_direct_store32(ctx.gpr[8] + static_cast(4), std::bit_cast(aot_fpr_14)); ctx.gpr[8] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8452))); ctx.gpr[8] = (ctx.gpr[8] + static_cast(6)); @@ -7594,49 +7595,49 @@ L_0895F9D8: aot_gpr_4 = (0u | 6u); aot_gpr_31 = (0x0895F9E4u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895F9E4u) goto L_0895F9E4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895F9E4u) goto L_0895F9E4; AOT_REGCACHE_SYNC_OUT(); return; L_0895F9E4: aot_gpr_4 = (0u | 4u); aot_gpr_31 = (0x0895F9F0u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895F9F0u) goto L_0895F9F0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895F9F0u) goto L_0895F9F0; AOT_REGCACHE_SYNC_OUT(); return; L_0895F9F0: aot_gpr_4 = (0u | 11u); aot_gpr_31 = (0x0895F9FCu); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895F9FCu) goto L_0895F9FC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895F9FCu) goto L_0895F9FC; AOT_REGCACHE_SYNC_OUT(); return; L_0895F9FC: aot_gpr_4 = (0u | 8u); aot_gpr_31 = (0x0895FA08u); aot_gpr_5 = (0u | 5u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895FA08u) goto L_0895FA08; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895FA08u) goto L_0895FA08; AOT_REGCACHE_SYNC_OUT(); return; L_0895FA08: aot_gpr_4 = (0u | 9u); aot_gpr_31 = (0x0895FA14u); aot_gpr_5 = (0u | 6u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895FA14u) goto L_0895FA14; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895FA14u) goto L_0895FA14; AOT_REGCACHE_SYNC_OUT(); return; L_0895FA14: aot_gpr_4 = (0u | 10u); aot_gpr_31 = (0x0895FA20u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895FA20u) goto L_0895FA20; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895FA20u) goto L_0895FA20; AOT_REGCACHE_SYNC_OUT(); return; L_0895FA20: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(9024))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_31 = (0x0895FA30u); aot_gpr_4 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895FA30u) goto L_0895FA30; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895FA30u) goto L_0895FA30; AOT_REGCACHE_SYNC_OUT(); return; L_0895FA30: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); - aot_gpr_4 = (aot_gpr_17 | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x0895FA44u); ctx.gpr[7] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0186_entry, 186u, 515u, 0x08AEE610u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895FA44u) goto L_0895FA44; @@ -7650,7 +7651,7 @@ L_0895FA44: goto L_0895FA4C; } L_0895FA4C: - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8452))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8452))); aot_gpr_4 = (0u | 3u); aot_gpr_31 = (0x0895FA5Cu); aot_gpr_5 = (aot_gpr_16 | 0u); @@ -7665,25 +7666,25 @@ L_0895FA64: aot_gpr_4 = (0u | 6u); aot_gpr_31 = (0x0895FA70u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895FA70u) goto L_0895FA70; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895FA70u) goto L_0895FA70; AOT_REGCACHE_SYNC_OUT(); return; L_0895FA70: aot_gpr_4 = (0u | 10u); aot_gpr_31 = (0x0895FA7Cu); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895FA7Cu) goto L_0895FA7C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895FA7Cu) goto L_0895FA7C; AOT_REGCACHE_SYNC_OUT(); return; L_0895FA7C: aot_gpr_4 = (0u | 11u); aot_gpr_31 = (0x0895FA88u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895FA88u) goto L_0895FA88; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895FA88u) goto L_0895FA88; AOT_REGCACHE_SYNC_OUT(); return; L_0895FA88: aot_gpr_4 = (0u | 10u); aot_gpr_31 = (0x0895FA94u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895FA94u) goto L_0895FA94; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895FA94u) goto L_0895FA94; AOT_REGCACHE_SYNC_OUT(); return; L_0895FA94: aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8452), 0u); @@ -7691,7 +7692,7 @@ L_0895FA94: goto L_0895FA9C; L_0895FA9C: aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(32))); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(36))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(36))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(40))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(48)); @@ -7705,7 +7706,7 @@ L_0895FAB0: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(504), std::bit_cast(ctx.fpr[22])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(508), std::bit_cast(ctx.fpr[24])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(512), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(516), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(516), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(520), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(524), ctx.gpr[19]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(528), ctx.gpr[20]); @@ -7716,7 +7717,7 @@ L_0895FAB0: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(548), aot_gpr_31); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(144))); { const bool branch_taken = aot_gpr_5 != 0u; - aot_gpr_17 = (aot_gpr_4 | 0u); + ctx.gpr[17] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_0895FC84; } @@ -7735,7 +7736,7 @@ L_0895FAF4: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_4 = (aot_gpr_17 + static_cast(160)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(160)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -7775,7 +7776,7 @@ L_0895FAF4: goto L_0895FB40; } L_0895FB40: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(176))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(176))); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -7854,7 +7855,7 @@ L_0895FB90: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0217_entry, 217u, 337u, 0x08B6A2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895FB98u) goto L_0895FB98; AOT_REGCACHE_SYNC_OUT(); return; L_0895FB98: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(148))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(148))); aot_gpr_4 = (aot_gpr_4 + static_cast(10)); aot_gpr_4 = (static_cast(aot_gpr_4) < static_cast(ctx.gpr[2]) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; @@ -7886,7 +7887,7 @@ L_0895FBC4: aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(274))); aot_gpr_5 = (0u | 1u); aot_gpr_31 = (0x0895FBD8u); - ctx.gpr[6] = (aot_gpr_16 | 0u); + aot_gpr_6 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 546u, 0x08AD3258u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895FBD8u) goto L_0895FBD8; AOT_REGCACHE_SYNC_OUT(); return; L_0895FBD8: @@ -7904,12 +7905,12 @@ L_0895FBE0: } L_0895FBE8: aot_gpr_4 = (0u | 1u); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(144), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(144), static_cast(aot_gpr_4)); ctx.gpr[20] = (0u | 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(148))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(148))); aot_gpr_4 = (static_cast(ctx.gpr[20]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; - ctx.gpr[19] = (aot_gpr_17 | 0u); + ctx.gpr[19] = (ctx.gpr[17] | 0u); if (branch_taken) { goto L_0895FC84; } @@ -7933,7 +7934,7 @@ L_0895FC1C: aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(274))); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x0895FC30u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0009_entry, 9u, 351u, 0x0882B688u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895FC30u) goto L_0895FC30; AOT_REGCACHE_SYNC_OUT(); return; L_0895FC30: @@ -7950,9 +7951,9 @@ L_0895FC38: } L_0895FC40: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(180))); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(16))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(20))); - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(24))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(16))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(20))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(24))); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(48), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(52), std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(56), std::bit_cast(aot_fpr_14)); @@ -7967,7 +7968,7 @@ L_0895FC64: goto L_0895FC70; L_0895FC70: ctx.gpr[20] = (ctx.gpr[20] + static_cast(1)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(148))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(148))); aot_gpr_4 = (static_cast(ctx.gpr[20]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; ctx.gpr[19] = (ctx.gpr[19] + static_cast(4)); @@ -7977,7 +7978,7 @@ L_0895FC70: goto L_0895FC84; } L_0895FC84: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(144))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(144))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -7990,7 +7991,7 @@ L_0895FC90: aot_gpr_4 = (aot_gpr_4 & 16383u); ctx.fpr[20] = std::bit_cast(aot_gpr_4); ctx.fpr[20] = static_cast(static_cast(std::bit_cast(ctx.fpr[20]))); - aot_gpr_5 = (aot_gpr_17 + static_cast(160)); + aot_gpr_5 = (ctx.gpr[17] + static_cast(160)); { const bool branch_taken = static_cast(aot_gpr_4) >= 0; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(496), aot_gpr_5); if (branch_taken) { @@ -8008,7 +8009,7 @@ L_0895FCB8: aot_fpr_12 = std::bit_cast(aot_gpr_4); { const float fs = ctx.fpr[20]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[20] = std::bit_cast(0x7FC00000u); else ctx.fpr[20] = fs * ft; } ctx.gpr[19] = (0u | 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(148))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(148))); aot_gpr_4 = (static_cast(ctx.gpr[19]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_4 = (16256u << 16u); @@ -8020,20 +8021,20 @@ L_0895FCB8: L_0895FCD8: ctx.fpr[24] = std::bit_cast(aot_gpr_4); ctx.gpr[20] = (aot_gpr_29 + static_cast(80)); - aot_gpr_4 = (aot_gpr_17 + static_cast(64)); - aot_gpr_5 = (aot_gpr_17 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(64)); + aot_gpr_5 = (ctx.gpr[17] + static_cast(16)); ctx.gpr[18] = (aot_gpr_29 + static_cast(32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(492), aot_gpr_4); - aot_gpr_4 = (aot_gpr_17 + static_cast(32)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(484), aot_gpr_5); - aot_gpr_5 = (aot_gpr_17 + static_cast(48)); + aot_gpr_5 = (ctx.gpr[17] + static_cast(48)); ctx.gpr[30] = (aot_gpr_29 + static_cast(256)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(480), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(488), aot_gpr_5); ctx.gpr[23] = (aot_gpr_29 + static_cast(224)); ctx.gpr[22] = (aot_gpr_29 + static_cast(96)); ctx.gpr[21] = (aot_gpr_29 + static_cast(64)); - aot_gpr_16 = (aot_gpr_17 | 0u); + aot_gpr_16 = (ctx.gpr[17] | 0u); goto L_0895FD18; L_0895FD18: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(180))); @@ -8047,7 +8048,7 @@ L_0895FD18: L_0895FD24: aot_fpr_12 = std::bit_cast(ctx.gpr[19]); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(148))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(148))); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_13))); ctx.fpr[22] = aot_fpr_12 / aot_fpr_13; @@ -8065,7 +8066,7 @@ L_0895FD50: ctx.fpr[22] = ctx.fpr[22] - ctx.fpr[24]; goto L_0895FD54; L_0895FD54: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(145))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(145))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -8104,7 +8105,7 @@ L_0895FD64: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 7u, 0x08860358u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0895FD98u) goto L_0895FD98; AOT_REGCACHE_SYNC_OUT(); return; L_0895FD98: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(152))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(152))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(480))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[22] < aot_fpr_12)) ? 0x00800000u : 0u); // nop @@ -8116,7 +8117,7 @@ L_0895FD98: goto L_0895FDB0; } L_0895FDB0: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(152))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(152))); aot_fpr_12 = ctx.fpr[22] / aot_fpr_12; aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); @@ -8138,7 +8139,7 @@ L_0895FDB0: aot_fpr_12 = ctx.fpr[24] - aot_fpr_12; aot_gpr_5 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_5); - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -8198,7 +8199,7 @@ L_0895FDB0: goto L_0895FE10; } L_0895FE10: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(156))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(156))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[22] < aot_fpr_12)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); @@ -8209,13 +8210,13 @@ L_0895FE10: goto L_0895FE24; } L_0895FE24: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(152))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(152))); aot_fpr_13 = ctx.fpr[22] - aot_fpr_12; - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(156))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(156))); aot_fpr_12 = aot_fpr_14 - aot_fpr_12; aot_fpr_12 = aot_fpr_13 / aot_fpr_12; - ctx.gpr[6] = (std::bit_cast(aot_fpr_12)); - ctx.set_vfpu_scalar_bits_ct<28u>(ctx.gpr[6]); + aot_gpr_6 = (std::bit_cast(aot_fpr_12)); + ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_6); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -8232,8 +8233,8 @@ L_0895FE24: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = ctx.fpr[24] - aot_fpr_12; - ctx.gpr[6] = (std::bit_cast(aot_fpr_12)); - ctx.set_vfpu_scalar_bits_ct<28u>(ctx.gpr[6]); + aot_gpr_6 = (std::bit_cast(aot_fpr_12)); + ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_6); { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -8294,7 +8295,7 @@ L_0895FE24: goto L_0895FE90; } L_0895FE90: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(156))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(156))); aot_fpr_13 = ctx.fpr[22] - aot_fpr_12; aot_fpr_12 = ctx.fpr[24] - aot_fpr_12; aot_fpr_12 = aot_fpr_13 / aot_fpr_12; @@ -8317,8 +8318,8 @@ L_0895FE90: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = ctx.fpr[24] - aot_fpr_12; - ctx.gpr[6] = (std::bit_cast(aot_fpr_12)); - ctx.set_vfpu_scalar_bits_ct<28u>(ctx.gpr[6]); + aot_gpr_6 = (std::bit_cast(aot_fpr_12)); + ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_6); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -8460,7 +8461,7 @@ L_0895FF6C: AOT_REGCACHE_SYNC_OUT(); return; L_0895FF74: ctx.gpr[19] = (ctx.gpr[19] + static_cast(1)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(148))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(148))); aot_gpr_4 = (static_cast(ctx.gpr[19]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_16 = (aot_gpr_16 + static_cast(4)); @@ -8523,7 +8524,7 @@ L_0895FF88: goto L_0895FFD8; } L_0895FFD8: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(176))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(176))); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); diff --git a/profiles/vcs/generated/generated_unit_0087.cpp b/profiles/vcs/generated/generated_unit_0087.cpp index b7e7f15..c73990a 100644 --- a/profiles/vcs/generated/generated_unit_0087.cpp +++ b/profiles/vcs/generated/generated_unit_0087.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0087[4095] = { }; void recomp_unit_0087_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,6,16,23,31 fprs=12,13,15,14 gpr_occ=4131 fpr_occ=988 gpr_total=5187 fpr_total=1279 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,6,31,16,23 fprs=12,13,15,14 gpr_occ=4163 fpr_occ=988 gpr_total=5230 fpr_total=1279 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_6 = ctx.gpr[6]; + std::uint32_t aot_gpr_31 = ctx.gpr[31]; std::uint32_t aot_gpr_16 = ctx.gpr[16]; std::uint32_t aot_gpr_23 = ctx.gpr[23]; - std::uint32_t aot_gpr_31 = ctx.gpr[31]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_15 = ctx.fpr[15]; float aot_fpr_14 = ctx.fpr[14]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[6] = aot_gpr_6; ctx.gpr[16] = aot_gpr_16; ctx.gpr[23] = aot_gpr_23; ctx.gpr[31] = aot_gpr_31; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[15] = aot_fpr_15; ctx.fpr[14] = aot_fpr_14; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_23 = ctx.gpr[23]; aot_gpr_31 = ctx.gpr[31]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_15 = ctx.fpr[15]; aot_fpr_14 = ctx.fpr[14]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[6] = aot_gpr_6; ctx.gpr[31] = aot_gpr_31; ctx.gpr[16] = aot_gpr_16; ctx.gpr[23] = aot_gpr_23; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[15] = aot_fpr_15; ctx.fpr[14] = aot_fpr_14; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_23 = ctx.gpr[23]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_15 = ctx.fpr[15]; aot_fpr_14 = ctx.fpr[14]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -3449,7 +3450,7 @@ L_08961524: L_08961530: aot_gpr_31 = (0x08961538u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08961538u) goto L_08961538; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08961538u) goto L_08961538; AOT_REGCACHE_SYNC_OUT(); return; L_08961538: ctx.gpr[17] = (aot_gpr_16 | 0u); @@ -3583,7 +3584,7 @@ L_08961624: L_08961630: aot_gpr_31 = (0x08961638u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08961638u) goto L_08961638; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08961638u) goto L_08961638; AOT_REGCACHE_SYNC_OUT(); return; L_08961638: ctx.gpr[17] = (aot_gpr_16 | 0u); @@ -6077,7 +6078,7 @@ L_08962A04: ctx.gpr[17] = (ctx.gpr[17] + static_cast(-28736)); aot_gpr_31 = (0x08962A14u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08962A14u) goto L_08962A14; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC734, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08962A14u) goto L_08962A14; AOT_REGCACHE_SYNC_OUT(); return; L_08962A14: aot_gpr_4 = (0u | 4u); @@ -6106,7 +6107,7 @@ L_08962A38: L_08962A3C: aot_gpr_31 = (0x08962A44u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08962A44u) goto L_08962A44; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC734, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08962A44u) goto L_08962A44; AOT_REGCACHE_SYNC_OUT(); return; L_08962A44: aot_gpr_4 = (0u | 7u); @@ -7915,7 +7916,7 @@ L_08963804: L_0896380C: aot_gpr_31 = (0x08963814u); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08963814u) goto L_08963814; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B01E00, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08963814u) goto L_08963814; AOT_REGCACHE_SYNC_OUT(); return; L_08963814: aot_gpr_4 = (0u | 5u); @@ -7934,7 +7935,7 @@ L_08963824: L_0896382C: aot_gpr_31 = (0x08963834u); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08963834u) goto L_08963834; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B01E00, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08963834u) goto L_08963834; AOT_REGCACHE_SYNC_OUT(); return; L_08963834: aot_gpr_4 = (0u | 3u); @@ -7962,7 +7963,7 @@ L_08963858: L_08963860: aot_gpr_31 = (0x08963868u); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08963868u) goto L_08963868; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B01E00, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08963868u) goto L_08963868; AOT_REGCACHE_SYNC_OUT(); return; L_08963868: { const bool branch_taken = ctx.gpr[2] != ctx.gpr[17]; @@ -7989,7 +7990,7 @@ L_08963888: L_08963890: aot_gpr_31 = (0x08963898u); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08963898u) goto L_08963898; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B01E00, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08963898u) goto L_08963898; AOT_REGCACHE_SYNC_OUT(); return; L_08963898: aot_gpr_4 = (0u | 2u); @@ -8017,7 +8018,7 @@ L_089638BC: L_089638C4: aot_gpr_31 = (0x089638CCu); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089638CCu) goto L_089638CC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B01E00, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089638CCu) goto L_089638CC; AOT_REGCACHE_SYNC_OUT(); return; L_089638CC: { const bool branch_taken = ctx.gpr[2] != aot_gpr_16; diff --git a/profiles/vcs/generated/generated_unit_0088.cpp b/profiles/vcs/generated/generated_unit_0088.cpp index dbf9bb5..54d1608 100644 --- a/profiles/vcs/generated/generated_unit_0088.cpp +++ b/profiles/vcs/generated/generated_unit_0088.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0088[4095] = { }; void recomp_unit_0088_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,6,31,16 fprs=12,13,20,14 gpr_occ=4346 fpr_occ=366 gpr_total=6131 fpr_total=473 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,6,29,31,7 fprs=12,13,14,15 gpr_occ=4488 fpr_occ=373 gpr_total=6378 fpr_total=489 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; - std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_6 = ctx.gpr[6]; + std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; - std::uint32_t aot_gpr_16 = ctx.gpr[16]; + std::uint32_t aot_gpr_7 = ctx.gpr[7]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; - float aot_fpr_20 = ctx.fpr[20]; float aot_fpr_14 = ctx.fpr[14]; + float aot_fpr_15 = ctx.fpr[15]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[6] = aot_gpr_6; ctx.gpr[31] = aot_gpr_31; ctx.gpr[16] = aot_gpr_16; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; ctx.fpr[14] = aot_fpr_14; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_16 = ctx.gpr[16]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_14 = ctx.fpr[14]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[6] = aot_gpr_6; ctx.gpr[29] = aot_gpr_29; ctx.gpr[31] = aot_gpr_31; ctx.gpr[7] = aot_gpr_7; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[15] = aot_fpr_15; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_7 = ctx.gpr[7]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_15 = ctx.fpr[15]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -976,7 +977,7 @@ L_08964000: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_6 = (aot_gpr_29 + static_cast(144)); - ctx.gpr[7] = (aot_gpr_29 + static_cast(176)); + aot_gpr_7 = (aot_gpr_29 + static_cast(176)); aot_gpr_5 = (ctx.gpr[21] | 0u); ctx.gpr[8] = (0u | 1u); ctx.gpr[9] = (0u | 0u); @@ -1012,7 +1013,7 @@ L_08964094: L_0896409C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(236))); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[22])); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(232))); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(232))); aot_gpr_5 = (ctx.gpr[17] | 0u); ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(228))); aot_gpr_31 = (0x089640B8u); @@ -1030,13 +1031,13 @@ L_089640B8: L_089640C0: { std::uint32_t aot_run_words[16]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(240), aot_run_words); - aot_fpr_20 = std::bit_cast(aot_run_words[0]); + ctx.fpr[20] = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); ctx.fpr[26] = std::bit_cast(aot_run_words[3]); ctx.fpr[28] = std::bit_cast(aot_run_words[4]); ctx.fpr[30] = std::bit_cast(aot_run_words[5]); - aot_gpr_16 = aot_run_words[6]; + ctx.gpr[16] = aot_run_words[6]; ctx.gpr[17] = aot_run_words[7]; ctx.gpr[18] = aot_run_words[8]; ctx.gpr[19] = aot_run_words[9]; @@ -1055,13 +1056,13 @@ L_089640C0: AOT_REGCACHE_SYNC_OUT(); return; L_08964108: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[16]); aot_gpr_6 = (aot_gpr_5 | 0u); - aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + ctx.gpr[16] = (aot_gpr_4 | 0u); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_6 = (aot_gpr_6 & 255u); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(2318)))))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), std::bit_cast(ctx.fpr[20])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_31); { const bool branch_taken = aot_gpr_6 == 0u; @@ -1090,53 +1091,53 @@ L_0896414C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0097_entry, 97u, 844u, 0x0898B4F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896415Cu) goto L_0896415C; AOT_REGCACHE_SYNC_OUT(); return; L_0896415C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_5 = (16384u << 16u); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); aot_gpr_5 = (aot_gpr_6 | aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(72), aot_gpr_5); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_5 = (1024u << 16u); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); aot_gpr_5 = (aot_gpr_6 | aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(72), aot_gpr_5); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_5 = (2048u << 16u); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); aot_gpr_5 = (aot_gpr_6 | aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(72), aot_gpr_5); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_5 = (4u << 16u); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); aot_gpr_5 = (aot_gpr_6 | aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(72), aot_gpr_5); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_5 = (4096u << 16u); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); aot_gpr_5 = (aot_gpr_6 | aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(72), aot_gpr_5); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_5 = (8192u << 16u); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); aot_gpr_5 = (aot_gpr_6 | aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(72), aot_gpr_5); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(3261)))))); aot_gpr_5 = (aot_gpr_5 & ctx.gpr[17]); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(3261), static_cast(aot_gpr_5)); aot_gpr_31 = (0x089641ECu); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 676u, 0x08947574u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089641ECu) goto L_089641EC; AOT_REGCACHE_SYNC_OUT(); return; L_089641EC: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089641F8u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 264u, 0x089616E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089641F8u) goto L_089641F8; AOT_REGCACHE_SYNC_OUT(); return; L_089641F8: aot_gpr_6 = (2238u << 16u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (aot_gpr_29 | 0u); aot_gpr_31 = (0x0896420Cu); ctx.gpr[17] = (aot_gpr_6 + static_cast(14864)); @@ -1144,15 +1145,15 @@ L_089641F8: AOT_REGCACHE_SYNC_OUT(); return; L_0896420C: aot_gpr_6 = (17786u << 16u); - aot_fpr_20 = std::bit_cast(aot_gpr_6); + ctx.fpr[20] = std::bit_cast(aot_gpr_6); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (aot_gpr_29 | 0u); aot_gpr_31 = (0x08964224u); - aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); + aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 32u, 0x089D0284u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08964224u) goto L_08964224; AOT_REGCACHE_SYNC_OUT(); return; L_08964224: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08964230u); aot_gpr_5 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 111u, 0x089609B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08964230u) goto L_08964230; @@ -1160,7 +1161,7 @@ L_08964224: L_08964230: aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_31 = (0x0896423Cu); - aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); + aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0121_entry, 121u, 262u, 0x089E94F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896423Cu) goto L_0896423C; AOT_REGCACHE_SYNC_OUT(); return; L_0896423C: @@ -1174,7 +1175,7 @@ L_08964244: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0036_entry, 36u, 165u, 0x08894CA4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896424Cu) goto L_0896424C; AOT_REGCACHE_SYNC_OUT(); return; L_0896424C: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08964258u); aot_gpr_5 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 111u, 0x089609B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08964258u) goto L_08964258; @@ -1182,7 +1183,7 @@ L_0896424C: L_08964258: aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_31 = (0x08964264u); - aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); + aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0036_entry, 36u, 177u, 0x08894D40u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08964264u) goto L_08964264; AOT_REGCACHE_SYNC_OUT(); return; L_08964264: @@ -1206,43 +1207,43 @@ L_08964280: aot_gpr_5 = (0u + static_cast(-33)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_mem.aot_direct_store16(ctx.gpr[2] + static_cast(154), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_5 = (49152u << 16u); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); aot_gpr_5 = (aot_gpr_5 + static_cast(-1)); aot_gpr_5 = (aot_gpr_6 & aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(72), aot_gpr_5); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_5 = (64512u << 16u); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); aot_gpr_5 = (aot_gpr_5 + static_cast(-1)); aot_gpr_5 = (aot_gpr_6 & aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(72), aot_gpr_5); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_5 = (63488u << 16u); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); aot_gpr_5 = (aot_gpr_5 + static_cast(-1)); aot_gpr_5 = (aot_gpr_6 & aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(72), aot_gpr_5); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_5 = (65532u << 16u); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); aot_gpr_5 = (aot_gpr_5 + static_cast(-1)); aot_gpr_5 = (aot_gpr_6 & aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(72), aot_gpr_5); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_5 = (61440u << 16u); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); aot_gpr_5 = (aot_gpr_5 + static_cast(-1)); aot_gpr_5 = (aot_gpr_6 & aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(72), aot_gpr_5); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_5 = (57344u << 16u); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); aot_gpr_5 = (aot_gpr_5 + static_cast(-1)); aot_gpr_5 = (aot_gpr_6 & aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(72), aot_gpr_5); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_4 = (0u | 1u); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(3261)))))); aot_gpr_6 = (aot_gpr_6 & ctx.gpr[17]); @@ -1254,8 +1255,8 @@ L_08964280: L_0896433C: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); - aot_fpr_20 = std::bit_cast(aot_run_words[0]); - aot_gpr_16 = aot_run_words[1]; + ctx.fpr[20] = std::bit_cast(aot_run_words[0]); + ctx.gpr[16] = aot_run_words[1]; ctx.gpr[17] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -1377,8 +1378,8 @@ L_089645D0: ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_089645DC: - ctx.gpr[7] = (static_cast(aot_gpr_6) < 4 ? 1u : 0u); - { const bool branch_taken = ctx.gpr[7] != 0u; + aot_gpr_7 = (static_cast(aot_gpr_6) < 4 ? 1u : 0u); + { const bool branch_taken = aot_gpr_7 != 0u; ctx.gpr[2] = (aot_gpr_4 + 0u); if (branch_taken) { goto L_089647AC; @@ -1386,8 +1387,8 @@ L_089645DC: goto L_089645E8; } L_089645E8: - ctx.gpr[7] = (aot_gpr_4 ^ aot_gpr_5); - ctx.gpr[9] = (ctx.gpr[7] & 3u); + aot_gpr_7 = (aot_gpr_4 ^ aot_gpr_5); + ctx.gpr[9] = (aot_gpr_7 & 3u); { const bool branch_taken = ctx.gpr[9] != 0u; ctx.gpr[9] = (0u - aot_gpr_5); if (branch_taken) { @@ -1413,14 +1414,14 @@ L_08964604: L_08964614: ctx.gpr[9] = (aot_gpr_6 & 15u); { const bool branch_taken = ctx.gpr[9] == aot_gpr_6; - ctx.gpr[7] = (ctx.gpr[7] & 15u); + aot_gpr_7 = (aot_gpr_7 & 15u); if (branch_taken) { goto L_08964624; } goto L_08964620; } L_08964620: - { const bool branch_taken = ctx.gpr[7] == 0u; + { const bool branch_taken = aot_gpr_7 == 0u; ctx.gpr[8] = (aot_gpr_6 & 31u); if (branch_taken) { goto L_089646F4; @@ -1432,29 +1433,29 @@ L_08964624: goto L_08964628; L_08964628: { const bool branch_taken = ctx.gpr[8] == aot_gpr_6; - ctx.gpr[7] = (0u - aot_gpr_4); + aot_gpr_7 = (0u - aot_gpr_4); if (branch_taken) { goto L_08964784; } goto L_08964630; } L_08964630: - ctx.gpr[7] = (ctx.gpr[7] & 15u); - { const bool branch_taken = ctx.gpr[7] == 0u; - aot_gpr_6 = (aot_gpr_6 - ctx.gpr[7]); + aot_gpr_7 = (aot_gpr_7 & 15u); + { const bool branch_taken = aot_gpr_7 == 0u; + aot_gpr_6 = (aot_gpr_6 - aot_gpr_7); if (branch_taken) { goto L_0896465C; } goto L_0896463C; } L_0896463C: - ctx.gpr[7] = (ctx.gpr[7] + aot_gpr_5); + aot_gpr_7 = (aot_gpr_7 + aot_gpr_5); goto L_08964640; L_08964640: ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_gpr_5 = (aot_gpr_5 + static_cast(4)); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); - { const bool branch_taken = ctx.gpr[7] != aot_gpr_5; + { const bool branch_taken = aot_gpr_7 != aot_gpr_5; aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(-4), ctx.gpr[8]); if (branch_taken) { goto L_08964640; @@ -1464,17 +1465,17 @@ L_08964640: L_08964654: ctx.gpr[8] = (aot_gpr_6 & 31u); { const bool branch_taken = ctx.gpr[8] == aot_gpr_6; - ctx.gpr[7] = (aot_gpr_6 - ctx.gpr[8]); + aot_gpr_7 = (aot_gpr_6 - ctx.gpr[8]); if (branch_taken) { goto L_08964784; } goto L_08964660; } L_0896465C: - ctx.gpr[7] = (aot_gpr_6 - ctx.gpr[8]); + aot_gpr_7 = (aot_gpr_6 - ctx.gpr[8]); goto L_08964660; L_08964660: - ctx.gpr[7] = (ctx.gpr[7] + aot_gpr_5); + aot_gpr_7 = (aot_gpr_7 + aot_gpr_5); goto L_08964664; L_08964664: ctx.set_vfpu_scalar_bits_ct<0u>(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); @@ -1491,7 +1492,7 @@ L_08964664: const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(-32); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - { const bool branch_taken = aot_gpr_5 != ctx.gpr[7]; + { const bool branch_taken = aot_gpr_5 != aot_gpr_7; { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<1u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(-16); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; @@ -1510,10 +1511,10 @@ L_08964698: goto L_089646A0; } L_089646A0: - ctx.gpr[7] = (0u - aot_gpr_4); - ctx.gpr[7] = (ctx.gpr[7] & 3u); - { const bool branch_taken = ctx.gpr[7] == 0u; - aot_gpr_6 = (aot_gpr_6 - ctx.gpr[7]); + aot_gpr_7 = (0u - aot_gpr_4); + aot_gpr_7 = (aot_gpr_7 & 3u); + { const bool branch_taken = aot_gpr_7 == 0u; + aot_gpr_6 = (aot_gpr_6 - aot_gpr_7); if (branch_taken) { goto L_089646C4; } @@ -1522,28 +1523,28 @@ L_089646A0: L_089646B0: ctx.gpr[8] = (aot_mem.aot_direct_load_word_right(aot_gpr_5 + static_cast(0), ctx.gpr[8])); ctx.gpr[8] = (aot_mem.aot_direct_load_word_left(aot_gpr_5 + static_cast(3), ctx.gpr[8])); - aot_gpr_5 = (aot_gpr_5 + ctx.gpr[7]); + aot_gpr_5 = (aot_gpr_5 + aot_gpr_7); aot_mem.aot_direct_store_word_right(aot_gpr_4 + static_cast(0), ctx.gpr[8]); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[7]); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_7); goto L_089646C4; L_089646C4: ctx.gpr[8] = (aot_gpr_6 & 3u); { const bool branch_taken = ctx.gpr[8] == aot_gpr_6; - ctx.gpr[7] = (aot_gpr_6 - ctx.gpr[8]); + aot_gpr_7 = (aot_gpr_6 - ctx.gpr[8]); if (branch_taken) { goto L_089647AC; } goto L_089646D0; } L_089646D0: - ctx.gpr[7] = (ctx.gpr[7] + aot_gpr_5); + aot_gpr_7 = (aot_gpr_7 + aot_gpr_5); goto L_089646D4; L_089646D4: ctx.gpr[9] = (aot_mem.aot_direct_load_word_right(aot_gpr_5 + static_cast(0), ctx.gpr[9])); ctx.gpr[9] = (aot_mem.aot_direct_load_word_left(aot_gpr_5 + static_cast(3), ctx.gpr[9])); aot_gpr_5 = (aot_gpr_5 + static_cast(4)); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); - { const bool branch_taken = aot_gpr_5 != ctx.gpr[7]; + { const bool branch_taken = aot_gpr_5 != aot_gpr_7; aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(-4), ctx.gpr[9]); if (branch_taken) { goto L_089646D4; @@ -1569,13 +1570,13 @@ L_089646F4: goto L_08964704; } L_08964704: - ctx.gpr[7] = (ctx.gpr[9] + aot_gpr_5); + aot_gpr_7 = (ctx.gpr[9] + aot_gpr_5); goto L_08964708; L_08964708: ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_gpr_5 = (aot_gpr_5 + static_cast(4)); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); - { const bool branch_taken = ctx.gpr[7] != aot_gpr_5; + { const bool branch_taken = aot_gpr_7 != aot_gpr_5; aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(-4), ctx.gpr[8]); if (branch_taken) { goto L_08964708; @@ -1585,14 +1586,14 @@ L_08964708: L_0896471C: ctx.gpr[8] = (aot_gpr_6 & 63u); { const bool branch_taken = ctx.gpr[8] == aot_gpr_6; - ctx.gpr[7] = (aot_gpr_6 - ctx.gpr[8]); + aot_gpr_7 = (aot_gpr_6 - ctx.gpr[8]); if (branch_taken) { goto L_0896475C; } goto L_08964728; } L_08964728: - ctx.gpr[7] = (ctx.gpr[7] + aot_gpr_5); + aot_gpr_7 = (aot_gpr_7 + aot_gpr_5); aot_gpr_6 = (ctx.gpr[8] + 0u); goto L_08964730; L_08964730: @@ -1649,7 +1650,7 @@ L_08964730: const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(48); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - { const bool branch_taken = aot_gpr_5 != ctx.gpr[7]; + { const bool branch_taken = aot_gpr_5 != aot_gpr_7; aot_gpr_4 = (aot_gpr_4 + static_cast(64)); if (branch_taken) { goto L_08964730; @@ -1659,14 +1660,14 @@ L_08964730: L_0896475C: ctx.gpr[8] = (aot_gpr_6 & 15u); { const bool branch_taken = ctx.gpr[8] == aot_gpr_6; - ctx.gpr[7] = (aot_gpr_6 - ctx.gpr[8]); + aot_gpr_7 = (aot_gpr_6 - ctx.gpr[8]); if (branch_taken) { goto L_08964784; } goto L_08964768; } L_08964768: - ctx.gpr[7] = (ctx.gpr[7] + aot_gpr_5); + aot_gpr_7 = (aot_gpr_7 + aot_gpr_5); aot_gpr_6 = (ctx.gpr[8] + 0u); goto L_08964770; L_08964770: @@ -1681,7 +1682,7 @@ L_08964770: ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } aot_gpr_4 = (aot_gpr_4 + static_cast(16)); aot_gpr_5 = (aot_gpr_5 + static_cast(16)); - { const bool branch_taken = aot_gpr_5 != ctx.gpr[7]; + { const bool branch_taken = aot_gpr_5 != aot_gpr_7; { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(-16); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; @@ -1694,21 +1695,21 @@ L_08964770: L_08964784: ctx.gpr[8] = (aot_gpr_6 & 3u); { const bool branch_taken = ctx.gpr[8] == aot_gpr_6; - ctx.gpr[7] = (aot_gpr_6 - ctx.gpr[8]); + aot_gpr_7 = (aot_gpr_6 - ctx.gpr[8]); if (branch_taken) { goto L_089647AC; } goto L_08964790; } L_08964790: - ctx.gpr[7] = (ctx.gpr[7] + aot_gpr_5); + aot_gpr_7 = (aot_gpr_7 + aot_gpr_5); aot_gpr_6 = (ctx.gpr[8] + 0u); goto L_08964798; L_08964798: ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_gpr_5 = (aot_gpr_5 + static_cast(4)); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); - { const bool branch_taken = aot_gpr_5 != ctx.gpr[7]; + { const bool branch_taken = aot_gpr_5 != aot_gpr_7; aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(-4), ctx.gpr[8]); if (branch_taken) { goto L_08964798; @@ -1717,7 +1718,7 @@ L_08964798: } L_089647AC: { const bool branch_taken = static_cast(aot_gpr_6) <= 0; - ctx.gpr[7] = (aot_gpr_6 + aot_gpr_5); + aot_gpr_7 = (aot_gpr_6 + aot_gpr_5); if (branch_taken) { goto L_089647C8; } @@ -1727,7 +1728,7 @@ L_089647B4: ctx.gpr[8] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0)))))); aot_gpr_5 = (aot_gpr_5 + static_cast(1)); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); - { const bool branch_taken = aot_gpr_5 != ctx.gpr[7]; + { const bool branch_taken = aot_gpr_5 != aot_gpr_7; aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(-1), static_cast(ctx.gpr[8])); if (branch_taken) { goto L_089647B4; @@ -1744,9 +1745,9 @@ L_089647C8: L_089647D0: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_gpr_6 = (std::bit_cast(aot_fpr_12)); - ctx.gpr[7] = (aot_gpr_6 & 65535u); - ctx.gpr[7] = (ctx.gpr[7] & 65535u); - ctx.gpr[8] = (ctx.gpr[7] & 255u); + aot_gpr_7 = (aot_gpr_6 & 65535u); + aot_gpr_7 = (aot_gpr_7 & 65535u); + ctx.gpr[8] = (aot_gpr_7 & 255u); ctx.gpr[9] = (aot_mem.aot_direct_load_word_right(aot_gpr_4 + static_cast(0), ctx.gpr[9])); ctx.gpr[9] = (aot_mem.aot_direct_load_word_left(aot_gpr_4 + static_cast(3), ctx.gpr[9])); ctx.gpr[9] = (ctx.gpr[9] & 65535u); @@ -1756,8 +1757,8 @@ L_089647D0: ctx.gpr[1] = (static_cast(static_cast(ctx.gpr[9]) >> 8u)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(1), static_cast(ctx.gpr[1])); aot_mem.aot_direct_store8(ctx.gpr[10] + static_cast(0), static_cast(ctx.gpr[8])); - ctx.gpr[7] = (static_cast(static_cast(ctx.gpr[7]) >> 8u)); - ctx.gpr[7] = (ctx.gpr[7] & 255u); + aot_gpr_7 = (static_cast(static_cast(aot_gpr_7) >> 8u)); + aot_gpr_7 = (aot_gpr_7 & 255u); ctx.gpr[8] = (aot_mem.aot_direct_load_word_right(aot_gpr_4 + static_cast(0), ctx.gpr[8])); ctx.gpr[8] = (aot_mem.aot_direct_load_word_left(aot_gpr_4 + static_cast(3), ctx.gpr[8])); ctx.gpr[8] = (ctx.gpr[8] & 65535u); @@ -1766,10 +1767,10 @@ L_089647D0: aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(ctx.gpr[8])); ctx.gpr[1] = (static_cast(static_cast(ctx.gpr[8]) >> 8u)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(1), static_cast(ctx.gpr[1])); - aot_mem.aot_direct_store8(ctx.gpr[9] + static_cast(0), static_cast(ctx.gpr[7])); + aot_mem.aot_direct_store8(ctx.gpr[9] + static_cast(0), static_cast(aot_gpr_7)); aot_gpr_6 = (aot_gpr_6 >> 16u); aot_gpr_6 = (aot_gpr_6 & 65535u); - ctx.gpr[7] = (aot_gpr_6 & 255u); + aot_gpr_7 = (aot_gpr_6 & 255u); ctx.gpr[8] = (aot_mem.aot_direct_load_word_right(aot_gpr_4 + static_cast(0), ctx.gpr[8])); ctx.gpr[8] = (aot_mem.aot_direct_load_word_left(aot_gpr_4 + static_cast(3), ctx.gpr[8])); ctx.gpr[8] = (ctx.gpr[8] & 65535u); @@ -1778,23 +1779,23 @@ L_089647D0: aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(ctx.gpr[8])); ctx.gpr[1] = (static_cast(static_cast(ctx.gpr[8]) >> 8u)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(1), static_cast(ctx.gpr[1])); - aot_mem.aot_direct_store8(ctx.gpr[9] + static_cast(0), static_cast(ctx.gpr[7])); + aot_mem.aot_direct_store8(ctx.gpr[9] + static_cast(0), static_cast(aot_gpr_7)); aot_gpr_6 = (static_cast(static_cast(aot_gpr_6) >> 8u)); aot_gpr_6 = (aot_gpr_6 & 255u); - ctx.gpr[7] = (aot_mem.aot_direct_load_word_right(aot_gpr_4 + static_cast(0), ctx.gpr[7])); - ctx.gpr[7] = (aot_mem.aot_direct_load_word_left(aot_gpr_4 + static_cast(3), ctx.gpr[7])); - ctx.gpr[7] = (ctx.gpr[7] & 65535u); - ctx.gpr[8] = (aot_gpr_4 + ctx.gpr[7]); - ctx.gpr[7] = (ctx.gpr[7] + static_cast(1)); - aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(ctx.gpr[7])); - ctx.gpr[1] = (static_cast(static_cast(ctx.gpr[7]) >> 8u)); + aot_gpr_7 = (aot_mem.aot_direct_load_word_right(aot_gpr_4 + static_cast(0), aot_gpr_7)); + aot_gpr_7 = (aot_mem.aot_direct_load_word_left(aot_gpr_4 + static_cast(3), aot_gpr_7)); + aot_gpr_7 = (aot_gpr_7 & 65535u); + ctx.gpr[8] = (aot_gpr_4 + aot_gpr_7); + aot_gpr_7 = (aot_gpr_7 + static_cast(1)); + aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_7)); + ctx.gpr[1] = (static_cast(static_cast(aot_gpr_7) >> 8u)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(1), static_cast(ctx.gpr[1])); aot_mem.aot_direct_store8(ctx.gpr[8] + static_cast(0), static_cast(aot_gpr_6)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); aot_gpr_6 = (std::bit_cast(aot_fpr_12)); - ctx.gpr[7] = (aot_gpr_6 & 65535u); - ctx.gpr[7] = (ctx.gpr[7] & 65535u); - ctx.gpr[8] = (ctx.gpr[7] & 255u); + aot_gpr_7 = (aot_gpr_6 & 65535u); + aot_gpr_7 = (aot_gpr_7 & 65535u); + ctx.gpr[8] = (aot_gpr_7 & 255u); ctx.gpr[9] = (aot_mem.aot_direct_load_word_right(aot_gpr_4 + static_cast(0), ctx.gpr[9])); ctx.gpr[9] = (aot_mem.aot_direct_load_word_left(aot_gpr_4 + static_cast(3), ctx.gpr[9])); ctx.gpr[9] = (ctx.gpr[9] & 65535u); @@ -1804,8 +1805,8 @@ L_089647D0: ctx.gpr[1] = (static_cast(static_cast(ctx.gpr[9]) >> 8u)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(1), static_cast(ctx.gpr[1])); aot_mem.aot_direct_store8(ctx.gpr[10] + static_cast(0), static_cast(ctx.gpr[8])); - ctx.gpr[7] = (static_cast(static_cast(ctx.gpr[7]) >> 8u)); - ctx.gpr[7] = (ctx.gpr[7] & 255u); + aot_gpr_7 = (static_cast(static_cast(aot_gpr_7) >> 8u)); + aot_gpr_7 = (aot_gpr_7 & 255u); ctx.gpr[8] = (aot_mem.aot_direct_load_word_right(aot_gpr_4 + static_cast(0), ctx.gpr[8])); ctx.gpr[8] = (aot_mem.aot_direct_load_word_left(aot_gpr_4 + static_cast(3), ctx.gpr[8])); ctx.gpr[8] = (ctx.gpr[8] & 65535u); @@ -1814,10 +1815,10 @@ L_089647D0: aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(ctx.gpr[8])); ctx.gpr[1] = (static_cast(static_cast(ctx.gpr[8]) >> 8u)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(1), static_cast(ctx.gpr[1])); - aot_mem.aot_direct_store8(ctx.gpr[9] + static_cast(0), static_cast(ctx.gpr[7])); + aot_mem.aot_direct_store8(ctx.gpr[9] + static_cast(0), static_cast(aot_gpr_7)); aot_gpr_6 = (aot_gpr_6 >> 16u); aot_gpr_6 = (aot_gpr_6 & 65535u); - ctx.gpr[7] = (aot_gpr_6 & 255u); + aot_gpr_7 = (aot_gpr_6 & 255u); ctx.gpr[8] = (aot_mem.aot_direct_load_word_right(aot_gpr_4 + static_cast(0), ctx.gpr[8])); ctx.gpr[8] = (aot_mem.aot_direct_load_word_left(aot_gpr_4 + static_cast(3), ctx.gpr[8])); ctx.gpr[8] = (ctx.gpr[8] & 65535u); @@ -1826,23 +1827,23 @@ L_089647D0: aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(ctx.gpr[8])); ctx.gpr[1] = (static_cast(static_cast(ctx.gpr[8]) >> 8u)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(1), static_cast(ctx.gpr[1])); - aot_mem.aot_direct_store8(ctx.gpr[9] + static_cast(0), static_cast(ctx.gpr[7])); + aot_mem.aot_direct_store8(ctx.gpr[9] + static_cast(0), static_cast(aot_gpr_7)); aot_gpr_6 = (static_cast(static_cast(aot_gpr_6) >> 8u)); aot_gpr_6 = (aot_gpr_6 & 255u); - ctx.gpr[7] = (aot_mem.aot_direct_load_word_right(aot_gpr_4 + static_cast(0), ctx.gpr[7])); - ctx.gpr[7] = (aot_mem.aot_direct_load_word_left(aot_gpr_4 + static_cast(3), ctx.gpr[7])); - ctx.gpr[7] = (ctx.gpr[7] & 65535u); - ctx.gpr[8] = (aot_gpr_4 + ctx.gpr[7]); - ctx.gpr[7] = (ctx.gpr[7] + static_cast(1)); - aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(ctx.gpr[7])); - ctx.gpr[1] = (static_cast(static_cast(ctx.gpr[7]) >> 8u)); + aot_gpr_7 = (aot_mem.aot_direct_load_word_right(aot_gpr_4 + static_cast(0), aot_gpr_7)); + aot_gpr_7 = (aot_mem.aot_direct_load_word_left(aot_gpr_4 + static_cast(3), aot_gpr_7)); + aot_gpr_7 = (aot_gpr_7 & 65535u); + ctx.gpr[8] = (aot_gpr_4 + aot_gpr_7); + aot_gpr_7 = (aot_gpr_7 + static_cast(1)); + aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_7)); + ctx.gpr[1] = (static_cast(static_cast(aot_gpr_7) >> 8u)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(1), static_cast(ctx.gpr[1])); aot_mem.aot_direct_store8(ctx.gpr[8] + static_cast(0), static_cast(aot_gpr_6)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(8))); aot_gpr_5 = (std::bit_cast(aot_fpr_12)); aot_gpr_6 = (aot_gpr_5 & 65535u); aot_gpr_6 = (aot_gpr_6 & 65535u); - ctx.gpr[7] = (aot_gpr_6 & 255u); + aot_gpr_7 = (aot_gpr_6 & 255u); ctx.gpr[8] = (aot_mem.aot_direct_load_word_right(aot_gpr_4 + static_cast(0), ctx.gpr[8])); ctx.gpr[8] = (aot_mem.aot_direct_load_word_left(aot_gpr_4 + static_cast(3), ctx.gpr[8])); ctx.gpr[8] = (ctx.gpr[8] & 65535u); @@ -1851,28 +1852,28 @@ L_089647D0: aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(ctx.gpr[8])); ctx.gpr[1] = (static_cast(static_cast(ctx.gpr[8]) >> 8u)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(1), static_cast(ctx.gpr[1])); - aot_mem.aot_direct_store8(ctx.gpr[9] + static_cast(0), static_cast(ctx.gpr[7])); + aot_mem.aot_direct_store8(ctx.gpr[9] + static_cast(0), static_cast(aot_gpr_7)); aot_gpr_6 = (static_cast(static_cast(aot_gpr_6) >> 8u)); aot_gpr_6 = (aot_gpr_6 & 255u); - ctx.gpr[7] = (aot_mem.aot_direct_load_word_right(aot_gpr_4 + static_cast(0), ctx.gpr[7])); - ctx.gpr[7] = (aot_mem.aot_direct_load_word_left(aot_gpr_4 + static_cast(3), ctx.gpr[7])); - ctx.gpr[7] = (ctx.gpr[7] & 65535u); - ctx.gpr[8] = (aot_gpr_4 + ctx.gpr[7]); - ctx.gpr[7] = (ctx.gpr[7] + static_cast(1)); - aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(ctx.gpr[7])); - ctx.gpr[1] = (static_cast(static_cast(ctx.gpr[7]) >> 8u)); + aot_gpr_7 = (aot_mem.aot_direct_load_word_right(aot_gpr_4 + static_cast(0), aot_gpr_7)); + aot_gpr_7 = (aot_mem.aot_direct_load_word_left(aot_gpr_4 + static_cast(3), aot_gpr_7)); + aot_gpr_7 = (aot_gpr_7 & 65535u); + ctx.gpr[8] = (aot_gpr_4 + aot_gpr_7); + aot_gpr_7 = (aot_gpr_7 + static_cast(1)); + aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_7)); + ctx.gpr[1] = (static_cast(static_cast(aot_gpr_7) >> 8u)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(1), static_cast(ctx.gpr[1])); aot_mem.aot_direct_store8(ctx.gpr[8] + static_cast(0), static_cast(aot_gpr_6)); aot_gpr_5 = (aot_gpr_5 >> 16u); aot_gpr_5 = (aot_gpr_5 & 65535u); aot_gpr_6 = (aot_gpr_5 & 255u); - ctx.gpr[7] = (aot_mem.aot_direct_load_word_right(aot_gpr_4 + static_cast(0), ctx.gpr[7])); - ctx.gpr[7] = (aot_mem.aot_direct_load_word_left(aot_gpr_4 + static_cast(3), ctx.gpr[7])); - ctx.gpr[7] = (ctx.gpr[7] & 65535u); - ctx.gpr[8] = (aot_gpr_4 + ctx.gpr[7]); - ctx.gpr[7] = (ctx.gpr[7] + static_cast(1)); - aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(ctx.gpr[7])); - ctx.gpr[1] = (static_cast(static_cast(ctx.gpr[7]) >> 8u)); + aot_gpr_7 = (aot_mem.aot_direct_load_word_right(aot_gpr_4 + static_cast(0), aot_gpr_7)); + aot_gpr_7 = (aot_mem.aot_direct_load_word_left(aot_gpr_4 + static_cast(3), aot_gpr_7)); + aot_gpr_7 = (aot_gpr_7 & 65535u); + ctx.gpr[8] = (aot_gpr_4 + aot_gpr_7); + aot_gpr_7 = (aot_gpr_7 + static_cast(1)); + aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_7)); + ctx.gpr[1] = (static_cast(static_cast(aot_gpr_7) >> 8u)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(1), static_cast(ctx.gpr[1])); aot_mem.aot_direct_store8(ctx.gpr[8] + static_cast(0), static_cast(aot_gpr_6)); aot_gpr_5 = (static_cast(static_cast(aot_gpr_5) >> 8u)); @@ -1880,13 +1881,13 @@ L_089647D0: aot_gpr_6 = (aot_mem.aot_direct_load_word_right(aot_gpr_4 + static_cast(0), aot_gpr_6)); aot_gpr_6 = (aot_mem.aot_direct_load_word_left(aot_gpr_4 + static_cast(3), aot_gpr_6)); aot_gpr_6 = (aot_gpr_6 & 65535u); - ctx.gpr[7] = (aot_gpr_4 + aot_gpr_6); + aot_gpr_7 = (aot_gpr_4 + aot_gpr_6); aot_gpr_6 = (aot_gpr_6 + static_cast(1)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_6)); ctx.gpr[1] = (static_cast(static_cast(aot_gpr_6) >> 8u)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(1), static_cast(ctx.gpr[1])); jump_target = aot_gpr_31; - aot_mem.aot_direct_store8(ctx.gpr[7] + static_cast(0), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(aot_gpr_7 + static_cast(0), static_cast(aot_gpr_5)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -1894,9 +1895,9 @@ L_089647D0: L_08964A14: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_gpr_6 = (std::bit_cast(aot_fpr_12)); - ctx.gpr[7] = (aot_gpr_6 & 65535u); - ctx.gpr[7] = (ctx.gpr[7] & 65535u); - ctx.gpr[8] = (ctx.gpr[7] & 255u); + aot_gpr_7 = (aot_gpr_6 & 65535u); + aot_gpr_7 = (aot_gpr_7 & 65535u); + ctx.gpr[8] = (aot_gpr_7 & 255u); ctx.gpr[9] = (aot_mem.aot_direct_load_word_right(aot_gpr_4 + static_cast(0), ctx.gpr[9])); ctx.gpr[9] = (aot_mem.aot_direct_load_word_left(aot_gpr_4 + static_cast(3), ctx.gpr[9])); ctx.gpr[9] = (ctx.gpr[9] & 65535u); @@ -1906,8 +1907,8 @@ L_08964A14: ctx.gpr[1] = (static_cast(static_cast(ctx.gpr[9]) >> 8u)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(1), static_cast(ctx.gpr[1])); aot_mem.aot_direct_store8(ctx.gpr[10] + static_cast(0), static_cast(ctx.gpr[8])); - ctx.gpr[7] = (static_cast(static_cast(ctx.gpr[7]) >> 8u)); - ctx.gpr[7] = (ctx.gpr[7] & 255u); + aot_gpr_7 = (static_cast(static_cast(aot_gpr_7) >> 8u)); + aot_gpr_7 = (aot_gpr_7 & 255u); ctx.gpr[8] = (aot_mem.aot_direct_load_word_right(aot_gpr_4 + static_cast(0), ctx.gpr[8])); ctx.gpr[8] = (aot_mem.aot_direct_load_word_left(aot_gpr_4 + static_cast(3), ctx.gpr[8])); ctx.gpr[8] = (ctx.gpr[8] & 65535u); @@ -1916,10 +1917,10 @@ L_08964A14: aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(ctx.gpr[8])); ctx.gpr[1] = (static_cast(static_cast(ctx.gpr[8]) >> 8u)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(1), static_cast(ctx.gpr[1])); - aot_mem.aot_direct_store8(ctx.gpr[9] + static_cast(0), static_cast(ctx.gpr[7])); + aot_mem.aot_direct_store8(ctx.gpr[9] + static_cast(0), static_cast(aot_gpr_7)); aot_gpr_6 = (aot_gpr_6 >> 16u); aot_gpr_6 = (aot_gpr_6 & 65535u); - ctx.gpr[7] = (aot_gpr_6 & 255u); + aot_gpr_7 = (aot_gpr_6 & 255u); ctx.gpr[8] = (aot_mem.aot_direct_load_word_right(aot_gpr_4 + static_cast(0), ctx.gpr[8])); ctx.gpr[8] = (aot_mem.aot_direct_load_word_left(aot_gpr_4 + static_cast(3), ctx.gpr[8])); ctx.gpr[8] = (ctx.gpr[8] & 65535u); @@ -1928,23 +1929,23 @@ L_08964A14: aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(ctx.gpr[8])); ctx.gpr[1] = (static_cast(static_cast(ctx.gpr[8]) >> 8u)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(1), static_cast(ctx.gpr[1])); - aot_mem.aot_direct_store8(ctx.gpr[9] + static_cast(0), static_cast(ctx.gpr[7])); + aot_mem.aot_direct_store8(ctx.gpr[9] + static_cast(0), static_cast(aot_gpr_7)); aot_gpr_6 = (static_cast(static_cast(aot_gpr_6) >> 8u)); aot_gpr_6 = (aot_gpr_6 & 255u); - ctx.gpr[7] = (aot_mem.aot_direct_load_word_right(aot_gpr_4 + static_cast(0), ctx.gpr[7])); - ctx.gpr[7] = (aot_mem.aot_direct_load_word_left(aot_gpr_4 + static_cast(3), ctx.gpr[7])); - ctx.gpr[7] = (ctx.gpr[7] & 65535u); - ctx.gpr[8] = (aot_gpr_4 + ctx.gpr[7]); - ctx.gpr[7] = (ctx.gpr[7] + static_cast(1)); - aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(ctx.gpr[7])); - ctx.gpr[1] = (static_cast(static_cast(ctx.gpr[7]) >> 8u)); + aot_gpr_7 = (aot_mem.aot_direct_load_word_right(aot_gpr_4 + static_cast(0), aot_gpr_7)); + aot_gpr_7 = (aot_mem.aot_direct_load_word_left(aot_gpr_4 + static_cast(3), aot_gpr_7)); + aot_gpr_7 = (aot_gpr_7 & 65535u); + ctx.gpr[8] = (aot_gpr_4 + aot_gpr_7); + aot_gpr_7 = (aot_gpr_7 + static_cast(1)); + aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_7)); + ctx.gpr[1] = (static_cast(static_cast(aot_gpr_7) >> 8u)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(1), static_cast(ctx.gpr[1])); aot_mem.aot_direct_store8(ctx.gpr[8] + static_cast(0), static_cast(aot_gpr_6)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); aot_gpr_5 = (std::bit_cast(aot_fpr_12)); aot_gpr_6 = (aot_gpr_5 & 65535u); aot_gpr_6 = (aot_gpr_6 & 65535u); - ctx.gpr[7] = (aot_gpr_6 & 255u); + aot_gpr_7 = (aot_gpr_6 & 255u); ctx.gpr[8] = (aot_mem.aot_direct_load_word_right(aot_gpr_4 + static_cast(0), ctx.gpr[8])); ctx.gpr[8] = (aot_mem.aot_direct_load_word_left(aot_gpr_4 + static_cast(3), ctx.gpr[8])); ctx.gpr[8] = (ctx.gpr[8] & 65535u); @@ -1953,28 +1954,28 @@ L_08964A14: aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(ctx.gpr[8])); ctx.gpr[1] = (static_cast(static_cast(ctx.gpr[8]) >> 8u)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(1), static_cast(ctx.gpr[1])); - aot_mem.aot_direct_store8(ctx.gpr[9] + static_cast(0), static_cast(ctx.gpr[7])); + aot_mem.aot_direct_store8(ctx.gpr[9] + static_cast(0), static_cast(aot_gpr_7)); aot_gpr_6 = (static_cast(static_cast(aot_gpr_6) >> 8u)); aot_gpr_6 = (aot_gpr_6 & 255u); - ctx.gpr[7] = (aot_mem.aot_direct_load_word_right(aot_gpr_4 + static_cast(0), ctx.gpr[7])); - ctx.gpr[7] = (aot_mem.aot_direct_load_word_left(aot_gpr_4 + static_cast(3), ctx.gpr[7])); - ctx.gpr[7] = (ctx.gpr[7] & 65535u); - ctx.gpr[8] = (aot_gpr_4 + ctx.gpr[7]); - ctx.gpr[7] = (ctx.gpr[7] + static_cast(1)); - aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(ctx.gpr[7])); - ctx.gpr[1] = (static_cast(static_cast(ctx.gpr[7]) >> 8u)); + aot_gpr_7 = (aot_mem.aot_direct_load_word_right(aot_gpr_4 + static_cast(0), aot_gpr_7)); + aot_gpr_7 = (aot_mem.aot_direct_load_word_left(aot_gpr_4 + static_cast(3), aot_gpr_7)); + aot_gpr_7 = (aot_gpr_7 & 65535u); + ctx.gpr[8] = (aot_gpr_4 + aot_gpr_7); + aot_gpr_7 = (aot_gpr_7 + static_cast(1)); + aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_7)); + ctx.gpr[1] = (static_cast(static_cast(aot_gpr_7) >> 8u)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(1), static_cast(ctx.gpr[1])); aot_mem.aot_direct_store8(ctx.gpr[8] + static_cast(0), static_cast(aot_gpr_6)); aot_gpr_5 = (aot_gpr_5 >> 16u); aot_gpr_5 = (aot_gpr_5 & 65535u); aot_gpr_6 = (aot_gpr_5 & 255u); - ctx.gpr[7] = (aot_mem.aot_direct_load_word_right(aot_gpr_4 + static_cast(0), ctx.gpr[7])); - ctx.gpr[7] = (aot_mem.aot_direct_load_word_left(aot_gpr_4 + static_cast(3), ctx.gpr[7])); - ctx.gpr[7] = (ctx.gpr[7] & 65535u); - ctx.gpr[8] = (aot_gpr_4 + ctx.gpr[7]); - ctx.gpr[7] = (ctx.gpr[7] + static_cast(1)); - aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(ctx.gpr[7])); - ctx.gpr[1] = (static_cast(static_cast(ctx.gpr[7]) >> 8u)); + aot_gpr_7 = (aot_mem.aot_direct_load_word_right(aot_gpr_4 + static_cast(0), aot_gpr_7)); + aot_gpr_7 = (aot_mem.aot_direct_load_word_left(aot_gpr_4 + static_cast(3), aot_gpr_7)); + aot_gpr_7 = (aot_gpr_7 & 65535u); + ctx.gpr[8] = (aot_gpr_4 + aot_gpr_7); + aot_gpr_7 = (aot_gpr_7 + static_cast(1)); + aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_7)); + ctx.gpr[1] = (static_cast(static_cast(aot_gpr_7) >> 8u)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(1), static_cast(ctx.gpr[1])); aot_mem.aot_direct_store8(ctx.gpr[8] + static_cast(0), static_cast(aot_gpr_6)); aot_gpr_5 = (static_cast(static_cast(aot_gpr_5) >> 8u)); @@ -1982,13 +1983,13 @@ L_08964A14: aot_gpr_6 = (aot_mem.aot_direct_load_word_right(aot_gpr_4 + static_cast(0), aot_gpr_6)); aot_gpr_6 = (aot_mem.aot_direct_load_word_left(aot_gpr_4 + static_cast(3), aot_gpr_6)); aot_gpr_6 = (aot_gpr_6 & 65535u); - ctx.gpr[7] = (aot_gpr_4 + aot_gpr_6); + aot_gpr_7 = (aot_gpr_4 + aot_gpr_6); aot_gpr_6 = (aot_gpr_6 + static_cast(1)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_6)); ctx.gpr[1] = (static_cast(static_cast(aot_gpr_6) >> 8u)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(1), static_cast(ctx.gpr[1])); jump_target = aot_gpr_31; - aot_mem.aot_direct_store8(ctx.gpr[7] + static_cast(0), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(aot_gpr_7 + static_cast(0), static_cast(aot_gpr_5)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -1996,19 +1997,19 @@ L_08964A14: L_08964B98: aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_gpr_6 = (aot_gpr_6 & 255u); - ctx.gpr[7] = (aot_mem.aot_direct_load_word_right(aot_gpr_4 + static_cast(0), ctx.gpr[7])); - ctx.gpr[7] = (aot_mem.aot_direct_load_word_left(aot_gpr_4 + static_cast(3), ctx.gpr[7])); - ctx.gpr[7] = (ctx.gpr[7] & 65535u); - ctx.gpr[8] = (aot_gpr_4 + ctx.gpr[7]); - ctx.gpr[7] = (ctx.gpr[7] + static_cast(1)); - aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(ctx.gpr[7])); - ctx.gpr[1] = (static_cast(static_cast(ctx.gpr[7]) >> 8u)); + aot_gpr_7 = (aot_mem.aot_direct_load_word_right(aot_gpr_4 + static_cast(0), aot_gpr_7)); + aot_gpr_7 = (aot_mem.aot_direct_load_word_left(aot_gpr_4 + static_cast(3), aot_gpr_7)); + aot_gpr_7 = (aot_gpr_7 & 65535u); + ctx.gpr[8] = (aot_gpr_4 + aot_gpr_7); + aot_gpr_7 = (aot_gpr_7 + static_cast(1)); + aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_7)); + ctx.gpr[1] = (static_cast(static_cast(aot_gpr_7) >> 8u)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(1), static_cast(ctx.gpr[1])); aot_mem.aot_direct_store8(ctx.gpr[8] + static_cast(0), static_cast(aot_gpr_6)); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); - ctx.gpr[7] = (aot_gpr_6 + ctx.gpr[7]); - { const bool branch_taken = aot_gpr_6 == ctx.gpr[7]; + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); + aot_gpr_7 = (aot_gpr_6 + aot_gpr_7); + { const bool branch_taken = aot_gpr_6 == aot_gpr_7; // nop if (branch_taken) { goto L_08964C1C; @@ -2016,8 +2017,8 @@ L_08964B98: goto L_08964BD8; } L_08964BD8: - ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_6 + static_cast(0)))))); - ctx.gpr[7] = (ctx.gpr[7] & 255u); + aot_gpr_7 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_6 + static_cast(0)))))); + aot_gpr_7 = (aot_gpr_7 & 255u); ctx.gpr[8] = (aot_mem.aot_direct_load_word_right(aot_gpr_4 + static_cast(0), ctx.gpr[8])); ctx.gpr[8] = (aot_mem.aot_direct_load_word_left(aot_gpr_4 + static_cast(3), ctx.gpr[8])); ctx.gpr[8] = (ctx.gpr[8] & 65535u); @@ -2026,12 +2027,12 @@ L_08964BD8: aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(ctx.gpr[8])); ctx.gpr[1] = (static_cast(static_cast(ctx.gpr[8]) >> 8u)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(1), static_cast(ctx.gpr[1])); - aot_mem.aot_direct_store8(ctx.gpr[9] + static_cast(0), static_cast(ctx.gpr[7])); + aot_mem.aot_direct_store8(ctx.gpr[9] + static_cast(0), static_cast(aot_gpr_7)); aot_gpr_6 = (aot_gpr_6 + static_cast(1)); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); - ctx.gpr[7] = (ctx.gpr[7] + ctx.gpr[8]); - { const bool branch_taken = aot_gpr_6 != ctx.gpr[7]; + aot_gpr_7 = (aot_gpr_7 + ctx.gpr[8]); + { const bool branch_taken = aot_gpr_6 != aot_gpr_7; // nop if (branch_taken) { goto L_08964BD8; @@ -2047,46 +2048,46 @@ L_08964C1C: AOT_REGCACHE_SYNC_OUT(); return; L_08964C24: aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0))); - ctx.gpr[7] = (aot_mem.aot_direct_load_word_right(aot_gpr_4 + static_cast(0), ctx.gpr[7])); - ctx.gpr[7] = (aot_mem.aot_direct_load_word_left(aot_gpr_4 + static_cast(3), ctx.gpr[7])); - ctx.gpr[7] = (ctx.gpr[7] & 65535u); - ctx.gpr[8] = (aot_gpr_4 + ctx.gpr[7]); - ctx.gpr[7] = (ctx.gpr[7] + static_cast(1)); - aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(ctx.gpr[7])); - ctx.gpr[1] = (static_cast(static_cast(ctx.gpr[7]) >> 8u)); + aot_gpr_7 = (aot_mem.aot_direct_load_word_right(aot_gpr_4 + static_cast(0), aot_gpr_7)); + aot_gpr_7 = (aot_mem.aot_direct_load_word_left(aot_gpr_4 + static_cast(3), aot_gpr_7)); + aot_gpr_7 = (aot_gpr_7 & 65535u); + ctx.gpr[8] = (aot_gpr_4 + aot_gpr_7); + aot_gpr_7 = (aot_gpr_7 + static_cast(1)); + aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_7)); + ctx.gpr[1] = (static_cast(static_cast(aot_gpr_7) >> 8u)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(1), static_cast(ctx.gpr[1])); aot_mem.aot_direct_store8(ctx.gpr[8] + static_cast(0), static_cast(aot_gpr_6)); aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(1))); - ctx.gpr[7] = (aot_mem.aot_direct_load_word_right(aot_gpr_4 + static_cast(0), ctx.gpr[7])); - ctx.gpr[7] = (aot_mem.aot_direct_load_word_left(aot_gpr_4 + static_cast(3), ctx.gpr[7])); - ctx.gpr[7] = (ctx.gpr[7] & 65535u); - ctx.gpr[8] = (aot_gpr_4 + ctx.gpr[7]); - ctx.gpr[7] = (ctx.gpr[7] + static_cast(1)); - aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(ctx.gpr[7])); - ctx.gpr[1] = (static_cast(static_cast(ctx.gpr[7]) >> 8u)); + aot_gpr_7 = (aot_mem.aot_direct_load_word_right(aot_gpr_4 + static_cast(0), aot_gpr_7)); + aot_gpr_7 = (aot_mem.aot_direct_load_word_left(aot_gpr_4 + static_cast(3), aot_gpr_7)); + aot_gpr_7 = (aot_gpr_7 & 65535u); + ctx.gpr[8] = (aot_gpr_4 + aot_gpr_7); + aot_gpr_7 = (aot_gpr_7 + static_cast(1)); + aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_7)); + ctx.gpr[1] = (static_cast(static_cast(aot_gpr_7) >> 8u)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(1), static_cast(ctx.gpr[1])); aot_mem.aot_direct_store8(ctx.gpr[8] + static_cast(0), static_cast(aot_gpr_6)); aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(2))); - ctx.gpr[7] = (aot_mem.aot_direct_load_word_right(aot_gpr_4 + static_cast(0), ctx.gpr[7])); - ctx.gpr[7] = (aot_mem.aot_direct_load_word_left(aot_gpr_4 + static_cast(3), ctx.gpr[7])); - ctx.gpr[7] = (ctx.gpr[7] & 65535u); - ctx.gpr[8] = (aot_gpr_4 + ctx.gpr[7]); - ctx.gpr[7] = (ctx.gpr[7] + static_cast(1)); - aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(ctx.gpr[7])); - ctx.gpr[1] = (static_cast(static_cast(ctx.gpr[7]) >> 8u)); + aot_gpr_7 = (aot_mem.aot_direct_load_word_right(aot_gpr_4 + static_cast(0), aot_gpr_7)); + aot_gpr_7 = (aot_mem.aot_direct_load_word_left(aot_gpr_4 + static_cast(3), aot_gpr_7)); + aot_gpr_7 = (aot_gpr_7 & 65535u); + ctx.gpr[8] = (aot_gpr_4 + aot_gpr_7); + aot_gpr_7 = (aot_gpr_7 + static_cast(1)); + aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_7)); + ctx.gpr[1] = (static_cast(static_cast(aot_gpr_7) >> 8u)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(1), static_cast(ctx.gpr[1])); aot_mem.aot_direct_store8(ctx.gpr[8] + static_cast(0), static_cast(aot_gpr_6)); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(3))); aot_gpr_6 = (aot_mem.aot_direct_load_word_right(aot_gpr_4 + static_cast(0), aot_gpr_6)); aot_gpr_6 = (aot_mem.aot_direct_load_word_left(aot_gpr_4 + static_cast(3), aot_gpr_6)); aot_gpr_6 = (aot_gpr_6 & 65535u); - ctx.gpr[7] = (aot_gpr_4 + aot_gpr_6); + aot_gpr_7 = (aot_gpr_4 + aot_gpr_6); aot_gpr_6 = (aot_gpr_6 + static_cast(1)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_6)); ctx.gpr[1] = (static_cast(static_cast(aot_gpr_6) >> 8u)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(1), static_cast(ctx.gpr[1])); jump_target = aot_gpr_31; - aot_mem.aot_direct_store8(ctx.gpr[7] + static_cast(0), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(aot_gpr_7 + static_cast(0), static_cast(aot_gpr_5)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -2094,78 +2095,78 @@ L_08964C24: L_08964CC8: aot_gpr_4 = (aot_gpr_4 + static_cast(4)); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - ctx.gpr[7] = (aot_gpr_6 + static_cast(1)); - aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), ctx.gpr[7]); + aot_gpr_7 = (aot_gpr_6 + static_cast(1)); + aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_7); aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_6 + static_cast(0))); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - ctx.gpr[8] = (ctx.gpr[7] + static_cast(1)); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); + ctx.gpr[8] = (aot_gpr_7 + static_cast(1)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), ctx.gpr[8]); - ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[7] + static_cast(0))); - ctx.gpr[7] = (ctx.gpr[7] << 8u); - aot_gpr_6 = (aot_gpr_6 | ctx.gpr[7]); + aot_gpr_7 = (aot_mem.aot_direct_load8(aot_gpr_7 + static_cast(0))); + aot_gpr_7 = (aot_gpr_7 << 8u); + aot_gpr_6 = (aot_gpr_6 | aot_gpr_7); aot_gpr_6 = (aot_gpr_6 & 65535u); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - ctx.gpr[8] = (ctx.gpr[7] + static_cast(1)); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); + ctx.gpr[8] = (aot_gpr_7 + static_cast(1)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), ctx.gpr[8]); - ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[7] + static_cast(0))); + aot_gpr_7 = (aot_mem.aot_direct_load8(aot_gpr_7 + static_cast(0))); ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); ctx.gpr[9] = (ctx.gpr[8] + static_cast(1)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), ctx.gpr[9]); ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[8] + static_cast(0))); ctx.gpr[8] = (ctx.gpr[8] << 8u); - ctx.gpr[7] = (ctx.gpr[7] | ctx.gpr[8]); - ctx.gpr[7] = (ctx.gpr[7] & 65535u); - ctx.gpr[7] = (ctx.gpr[7] << 16u); - aot_gpr_6 = (aot_gpr_6 | ctx.gpr[7]); + aot_gpr_7 = (aot_gpr_7 | ctx.gpr[8]); + aot_gpr_7 = (aot_gpr_7 & 65535u); + aot_gpr_7 = (aot_gpr_7 << 16u); + aot_gpr_6 = (aot_gpr_6 | aot_gpr_7); aot_fpr_12 = std::bit_cast(aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), std::bit_cast(aot_fpr_12)); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - ctx.gpr[7] = (aot_gpr_6 + static_cast(1)); - aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), ctx.gpr[7]); + aot_gpr_7 = (aot_gpr_6 + static_cast(1)); + aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_7); aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_6 + static_cast(0))); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - ctx.gpr[8] = (ctx.gpr[7] + static_cast(1)); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); + ctx.gpr[8] = (aot_gpr_7 + static_cast(1)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), ctx.gpr[8]); - ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[7] + static_cast(0))); - ctx.gpr[7] = (ctx.gpr[7] << 8u); - aot_gpr_6 = (aot_gpr_6 | ctx.gpr[7]); + aot_gpr_7 = (aot_mem.aot_direct_load8(aot_gpr_7 + static_cast(0))); + aot_gpr_7 = (aot_gpr_7 << 8u); + aot_gpr_6 = (aot_gpr_6 | aot_gpr_7); aot_gpr_6 = (aot_gpr_6 & 65535u); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - ctx.gpr[8] = (ctx.gpr[7] + static_cast(1)); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); + ctx.gpr[8] = (aot_gpr_7 + static_cast(1)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), ctx.gpr[8]); - ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[7] + static_cast(0))); + aot_gpr_7 = (aot_mem.aot_direct_load8(aot_gpr_7 + static_cast(0))); ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); ctx.gpr[9] = (ctx.gpr[8] + static_cast(1)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), ctx.gpr[9]); ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[8] + static_cast(0))); ctx.gpr[8] = (ctx.gpr[8] << 8u); - ctx.gpr[7] = (ctx.gpr[7] | ctx.gpr[8]); - ctx.gpr[7] = (ctx.gpr[7] & 65535u); - ctx.gpr[7] = (ctx.gpr[7] << 16u); - aot_gpr_6 = (aot_gpr_6 | ctx.gpr[7]); + aot_gpr_7 = (aot_gpr_7 | ctx.gpr[8]); + aot_gpr_7 = (aot_gpr_7 & 65535u); + aot_gpr_7 = (aot_gpr_7 << 16u); + aot_gpr_6 = (aot_gpr_6 | aot_gpr_7); aot_fpr_12 = std::bit_cast(aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(4), std::bit_cast(aot_fpr_12)); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - ctx.gpr[7] = (aot_gpr_6 + static_cast(1)); - aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), ctx.gpr[7]); + aot_gpr_7 = (aot_gpr_6 + static_cast(1)); + aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_7); aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_6 + static_cast(0))); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - ctx.gpr[8] = (ctx.gpr[7] + static_cast(1)); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); + ctx.gpr[8] = (aot_gpr_7 + static_cast(1)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), ctx.gpr[8]); - ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[7] + static_cast(0))); - ctx.gpr[7] = (ctx.gpr[7] << 8u); - aot_gpr_6 = (aot_gpr_6 | ctx.gpr[7]); + aot_gpr_7 = (aot_mem.aot_direct_load8(aot_gpr_7 + static_cast(0))); + aot_gpr_7 = (aot_gpr_7 << 8u); + aot_gpr_6 = (aot_gpr_6 | aot_gpr_7); aot_gpr_6 = (aot_gpr_6 & 65535u); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - ctx.gpr[8] = (ctx.gpr[7] + static_cast(1)); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); + ctx.gpr[8] = (aot_gpr_7 + static_cast(1)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), ctx.gpr[8]); - ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[7] + static_cast(0))); + aot_gpr_7 = (aot_mem.aot_direct_load8(aot_gpr_7 + static_cast(0))); ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); ctx.gpr[9] = (ctx.gpr[8] + static_cast(1)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), ctx.gpr[9]); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[8] + static_cast(0))); aot_gpr_4 = (aot_gpr_4 << 8u); - aot_gpr_4 = (ctx.gpr[7] | aot_gpr_4); + aot_gpr_4 = (aot_gpr_7 | aot_gpr_4); aot_gpr_4 = (aot_gpr_4 & 65535u); aot_gpr_4 = (aot_gpr_4 << 16u); aot_gpr_4 = (aot_gpr_6 | aot_gpr_4); @@ -2179,52 +2180,52 @@ L_08964CC8: L_08964E08: aot_gpr_4 = (aot_gpr_4 + static_cast(4)); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - ctx.gpr[7] = (aot_gpr_6 + static_cast(1)); - aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), ctx.gpr[7]); + aot_gpr_7 = (aot_gpr_6 + static_cast(1)); + aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_7); aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_6 + static_cast(0))); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - ctx.gpr[8] = (ctx.gpr[7] + static_cast(1)); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); + ctx.gpr[8] = (aot_gpr_7 + static_cast(1)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), ctx.gpr[8]); - ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[7] + static_cast(0))); - ctx.gpr[7] = (ctx.gpr[7] << 8u); - aot_gpr_6 = (aot_gpr_6 | ctx.gpr[7]); + aot_gpr_7 = (aot_mem.aot_direct_load8(aot_gpr_7 + static_cast(0))); + aot_gpr_7 = (aot_gpr_7 << 8u); + aot_gpr_6 = (aot_gpr_6 | aot_gpr_7); aot_gpr_6 = (aot_gpr_6 & 65535u); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - ctx.gpr[8] = (ctx.gpr[7] + static_cast(1)); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); + ctx.gpr[8] = (aot_gpr_7 + static_cast(1)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), ctx.gpr[8]); - ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[7] + static_cast(0))); + aot_gpr_7 = (aot_mem.aot_direct_load8(aot_gpr_7 + static_cast(0))); ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); ctx.gpr[9] = (ctx.gpr[8] + static_cast(1)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), ctx.gpr[9]); ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[8] + static_cast(0))); ctx.gpr[8] = (ctx.gpr[8] << 8u); - ctx.gpr[7] = (ctx.gpr[7] | ctx.gpr[8]); - ctx.gpr[7] = (ctx.gpr[7] & 65535u); - ctx.gpr[7] = (ctx.gpr[7] << 16u); - aot_gpr_6 = (aot_gpr_6 | ctx.gpr[7]); + aot_gpr_7 = (aot_gpr_7 | ctx.gpr[8]); + aot_gpr_7 = (aot_gpr_7 & 65535u); + aot_gpr_7 = (aot_gpr_7 << 16u); + aot_gpr_6 = (aot_gpr_6 | aot_gpr_7); aot_fpr_12 = std::bit_cast(aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), std::bit_cast(aot_fpr_12)); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - ctx.gpr[7] = (aot_gpr_6 + static_cast(1)); - aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), ctx.gpr[7]); + aot_gpr_7 = (aot_gpr_6 + static_cast(1)); + aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_7); aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_6 + static_cast(0))); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - ctx.gpr[8] = (ctx.gpr[7] + static_cast(1)); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); + ctx.gpr[8] = (aot_gpr_7 + static_cast(1)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), ctx.gpr[8]); - ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[7] + static_cast(0))); - ctx.gpr[7] = (ctx.gpr[7] << 8u); - aot_gpr_6 = (aot_gpr_6 | ctx.gpr[7]); + aot_gpr_7 = (aot_mem.aot_direct_load8(aot_gpr_7 + static_cast(0))); + aot_gpr_7 = (aot_gpr_7 << 8u); + aot_gpr_6 = (aot_gpr_6 | aot_gpr_7); aot_gpr_6 = (aot_gpr_6 & 65535u); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - ctx.gpr[8] = (ctx.gpr[7] + static_cast(1)); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); + ctx.gpr[8] = (aot_gpr_7 + static_cast(1)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), ctx.gpr[8]); - ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[7] + static_cast(0))); + aot_gpr_7 = (aot_mem.aot_direct_load8(aot_gpr_7 + static_cast(0))); ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); ctx.gpr[9] = (ctx.gpr[8] + static_cast(1)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), ctx.gpr[9]); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[8] + static_cast(0))); aot_gpr_4 = (aot_gpr_4 << 8u); - aot_gpr_4 = (ctx.gpr[7] | aot_gpr_4); + aot_gpr_4 = (aot_gpr_7 | aot_gpr_4); aot_gpr_4 = (aot_gpr_4 & 65535u); aot_gpr_4 = (aot_gpr_4 << 16u); aot_gpr_4 = (aot_gpr_6 | aot_gpr_4); @@ -2237,22 +2238,22 @@ L_08964E08: AOT_REGCACHE_SYNC_OUT(); return; L_08964EE0: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[16], ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } ctx.gpr[17] = (aot_gpr_4 + static_cast(4)); - aot_gpr_16 = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_gpr_5 = (aot_gpr_4 + static_cast(1)); aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0))); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08964F14u); aot_gpr_6 = (0u | 32u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 272u, 0x08B652B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08964F14u) goto L_08964F14; AOT_REGCACHE_SYNC_OUT(); return; L_08964F14: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_5 = (aot_gpr_4 + aot_gpr_5); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -2268,8 +2269,8 @@ L_08964F28: aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0))); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_5)); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -2281,7 +2282,7 @@ L_08964F28: L_08964F54: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -2294,23 +2295,23 @@ L_08964F54: L_08964F68: aot_gpr_4 = (aot_gpr_4 + static_cast(4)); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - ctx.gpr[7] = (aot_gpr_6 + static_cast(1)); - aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), ctx.gpr[7]); + aot_gpr_7 = (aot_gpr_6 + static_cast(1)); + aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_7); aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_6 + static_cast(0))); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(0), static_cast(aot_gpr_6)); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - ctx.gpr[7] = (aot_gpr_6 + static_cast(1)); - aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), ctx.gpr[7]); + aot_gpr_7 = (aot_gpr_6 + static_cast(1)); + aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_7); aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_6 + static_cast(0))); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(1), static_cast(aot_gpr_6)); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - ctx.gpr[7] = (aot_gpr_6 + static_cast(1)); - aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), ctx.gpr[7]); + aot_gpr_7 = (aot_gpr_6 + static_cast(1)); + aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_7); aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_6 + static_cast(0))); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(2), static_cast(aot_gpr_6)); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - ctx.gpr[7] = (aot_gpr_6 + static_cast(1)); - aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), ctx.gpr[7]); + aot_gpr_7 = (aot_gpr_6 + static_cast(1)); + aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_7); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_6 + static_cast(0))); jump_target = aot_gpr_31; aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(3), static_cast(aot_gpr_4)); @@ -2346,21 +2347,21 @@ L_08964FE8: AOT_REGCACHE_SYNC_OUT(); return; L_08964FF4: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x08965008u); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0120_entry, 120u, 844u, 0x089E7E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08965008u) goto L_08965008; AOT_REGCACHE_SYNC_OUT(); return; L_08965008: aot_gpr_4 = (2235u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-27076)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(4), aot_gpr_4); aot_gpr_4 = (ctx.gpr[28] + static_cast(5824)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(32), 0u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(36), aot_gpr_4); - ctx.gpr[2] = (aot_gpr_16 | 0u); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(32), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(36), aot_gpr_4); + ctx.gpr[2] = (ctx.gpr[16] | 0u); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -2372,51 +2373,51 @@ L_08965034: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), std::bit_cast(ctx.fpr[24])); ctx.fpr[24] = std::bit_cast(0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), std::bit_cast(ctx.fpr[20])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), std::bit_cast(ctx.fpr[22])); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[17]); - aot_fpr_20 = std::bit_cast(std::bit_cast(aot_fpr_13)); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.fpr[20] = std::bit_cast(std::bit_cast(aot_fpr_13)); + ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.fpr[22] = std::bit_cast(std::bit_cast(aot_fpr_12)); ctx.gpr[17] = (aot_gpr_5 | 0u); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[24])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_31); aot_gpr_31 = (0x08965070u); - ctx.fpr[15] = std::bit_cast(std::bit_cast(ctx.fpr[24])); + aot_fpr_15 = std::bit_cast(std::bit_cast(ctx.fpr[24])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0120_entry, 120u, 846u, 0x089E7E64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08965070u) goto L_08965070; AOT_REGCACHE_SYNC_OUT(); return; L_08965070: aot_gpr_4 = (2235u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-27076)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(4), aot_gpr_4); aot_gpr_4 = (ctx.gpr[28] + static_cast(5824)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(32), 0u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(36), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(32), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(36), aot_gpr_4); aot_gpr_4 = (16179u << 16u); aot_gpr_4 = (aot_gpr_4 | 13107u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(40), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(40), static_cast(0u)); aot_gpr_4 = (16204u << 16u); aot_gpr_4 = (aot_gpr_4 | 52429u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(44), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(44), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (0u | 480u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(48), std::bit_cast(aot_fpr_12)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(52), aot_gpr_4); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(56), static_cast(ctx.gpr[17])); - { const std::uint32_t aot_run_words[4]{std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[22]), std::bit_cast(aot_fpr_20)}; - aot_mem.aot_direct_store32_block(aot_gpr_16 + static_cast(60), aot_run_words); } + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(48), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(52), aot_gpr_4); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(56), static_cast(ctx.gpr[17])); + { const std::uint32_t aot_run_words[4]{std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[20])}; + aot_mem.aot_direct_store32_block(ctx.gpr[16] + static_cast(60), aot_run_words); } aot_gpr_4 = (0u | 1u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(76), 0u); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(80), static_cast(aot_gpr_4)); - ctx.gpr[2] = (aot_gpr_16 | 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(76), 0u); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(80), static_cast(aot_gpr_4)); + ctx.gpr[2] = (ctx.gpr[16] | 0u); { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_fpr_20 = std::bit_cast(aot_run_words[0]); + ctx.fpr[20] = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); - aot_gpr_16 = aot_run_words[3]; + ctx.gpr[16] = aot_run_words[3]; ctx.gpr[17] = aot_run_words[4]; aot_gpr_31 = aot_run_words[5]; } @@ -2430,25 +2431,25 @@ L_089650F8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(12))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(60))); - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(64))); ctx.fpr[16] = aot_fpr_12 + aot_fpr_14; - ctx.fpr[15] = ctx.fpr[15] + aot_fpr_13; + aot_fpr_15 = aot_fpr_15 + aot_fpr_13; aot_fpr_12 = std::bit_cast(0u); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(12), std::bit_cast(ctx.fpr[16])); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_14 < aot_fpr_12)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); - aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(16), std::bit_cast(ctx.fpr[15])); + aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(16), std::bit_cast(aot_fpr_15)); if (branch_taken) { goto L_08965144; } goto L_0896512C; } L_0896512C: - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(12))); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(12))); ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(68))); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[15] <= ctx.fpr[16])) ? 0x00800000u : 0u); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_15 <= ctx.fpr[16])) ? 0x00800000u : 0u); // nop if (((ctx.fcr31 & 0x00800000u) != 0u)) { aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(68))); @@ -2467,8 +2468,8 @@ L_08965144: } L_08965154: aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(12))); - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(68))); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_14 < ctx.fpr[15])) ? 0x00800000u : 0u); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(68))); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_14 < aot_fpr_15)) ? 0x00800000u : 0u); // nop if (!((ctx.fcr31 & 0x00800000u) != 0u)) { aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(68))); @@ -2487,8 +2488,8 @@ L_0896516C: } L_0896517C: aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_14 <= ctx.fpr[15])) ? 0x00800000u : 0u); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_14 <= aot_fpr_15)) ? 0x00800000u : 0u); // nop if (((ctx.fcr31 & 0x00800000u) != 0u)) { aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(68))); @@ -2539,16 +2540,16 @@ L_089651DC: L_089651E4: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(40))); - ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(40))); + aot_gpr_7 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(40))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); ctx.gpr[18] = (0u | 0u); ctx.gpr[17] = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[19]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); - { const bool branch_taken = aot_gpr_6 != ctx.gpr[7]; - aot_gpr_16 = (aot_gpr_5 | 0u); + { const bool branch_taken = aot_gpr_6 != aot_gpr_7; + ctx.gpr[16] = (aot_gpr_5 | 0u); if (branch_taken) { goto L_08965340; } @@ -2556,7 +2557,7 @@ L_089651E4: } L_08965214: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(44))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(44))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(44))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(aot_fpr_13)) && aot_fpr_12 == aot_fpr_13)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); @@ -2568,7 +2569,7 @@ L_08965214: } L_0896522C: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(48))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(48))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(48))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(aot_fpr_13)) && aot_fpr_12 == aot_fpr_13)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); @@ -2594,7 +2595,7 @@ L_0896524C: } L_08965254: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(52))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(52))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(52))); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop if (branch_taken) { @@ -2604,7 +2605,7 @@ L_08965254: } L_08965264: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(56))); - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(56))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(56))); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop if (branch_taken) { @@ -2614,7 +2615,7 @@ L_08965264: } L_08965274: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(60))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(60))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(60))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(aot_fpr_13)) && aot_fpr_12 == aot_fpr_13)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); @@ -2626,7 +2627,7 @@ L_08965274: } L_0896528C: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(64))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(64))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(64))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(aot_fpr_13)) && aot_fpr_12 == aot_fpr_13)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); @@ -2652,7 +2653,7 @@ L_089652AC: } L_089652B4: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(68))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(68))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(68))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(aot_fpr_13)) && aot_fpr_12 == aot_fpr_13)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); @@ -2664,7 +2665,7 @@ L_089652B4: } L_089652CC: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(72))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(72))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(aot_fpr_13)) && aot_fpr_12 == aot_fpr_13)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); @@ -2690,7 +2691,7 @@ L_089652EC: } L_089652F4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(32))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(32))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(32))); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; ctx.gpr[19] = (0u | 0u); if (branch_taken) { @@ -2702,8 +2703,8 @@ L_08965304: aot_gpr_6 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(36))); aot_gpr_31 = (0x08965314u); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(36))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08965314u) goto L_08965314; + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(36))); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58100, 213u, 23u, 0x08B58100u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08965314u) goto L_08965314; AOT_REGCACHE_SYNC_OUT(); return; L_08965314: { const bool branch_taken = ctx.gpr[2] != 0u; @@ -2729,7 +2730,7 @@ L_08965324: } L_0896532C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(76))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(76))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(76))); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop if (branch_taken) { @@ -2744,7 +2745,7 @@ L_08965340: ctx.gpr[2] = (ctx.gpr[18] & 255u); { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -2780,15 +2781,15 @@ L_0896537C: AOT_REGCACHE_SYNC_OUT(); return; L_08965388: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_5 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_5 | 0u); { const std::uint32_t aot_run_words[3]{ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(4), aot_run_words); } aot_gpr_31 = (0x089653A8u); ctx.gpr[18] = (0u | 0u); goto L_08965360; L_089653A8: - if (ctx.gpr[2] == aot_gpr_16) { + if (ctx.gpr[2] == ctx.gpr[16]) { ctx.gpr[18] = (0u | 1u); goto L_089653F0; } @@ -2799,7 +2800,7 @@ L_089653B0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0120_entry, 120u, 849u, 0x089E7F48u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089653B8u) goto L_089653B8; AOT_REGCACHE_SYNC_OUT(); return; L_089653B8: - if (ctx.gpr[2] == aot_gpr_16) { + if (ctx.gpr[2] == ctx.gpr[16]) { ctx.gpr[17] = (0u | 1u); goto L_089653E0; } @@ -2810,7 +2811,7 @@ L_089653C0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0165_entry, 165u, 295u, 0x08A9A6CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089653C8u) goto L_089653C8; AOT_REGCACHE_SYNC_OUT(); return; L_089653C8: - aot_gpr_4 = (ctx.gpr[2] ^ aot_gpr_16); + aot_gpr_4 = (ctx.gpr[2] ^ ctx.gpr[16]); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 == 0u; @@ -2841,7 +2842,7 @@ L_089653F0: ctx.gpr[2] = (ctx.gpr[18] & 255u); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; @@ -2856,10 +2857,10 @@ L_0896540C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); ctx.gpr[17] = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_16 = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); if (branch_taken) { goto L_0896545C; } @@ -2880,7 +2881,7 @@ L_0896543C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0121_entry, 121u, 24u, 0x089E815Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08965448u) goto L_08965448; AOT_REGCACHE_SYNC_OUT(); return; L_08965448: - aot_gpr_4 = (aot_gpr_16 & 1u); + aot_gpr_4 = (ctx.gpr[16] & 1u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -2891,12 +2892,12 @@ L_08965448: L_08965454: aot_gpr_31 = (0x0896545Cu); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896545Cu) goto L_0896545C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896545Cu) goto L_0896545C; AOT_REGCACHE_SYNC_OUT(); return; L_0896545C: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -2919,15 +2920,15 @@ L_08965478: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_4); aot_gpr_4 = (2237u << 16u); aot_gpr_5 = (0u | 84u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x0896549Cu); aot_gpr_4 = (aot_gpr_4 + static_cast(-29120)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 501u, 0x08ABE57Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896549Cu) goto L_0896549C; AOT_REGCACHE_SYNC_OUT(); return; L_0896549C: - aot_gpr_16 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (ctx.gpr[2] | 0u); + { const bool branch_taken = ctx.gpr[16] == 0u; ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); if (branch_taken) { goto L_089654B4; @@ -2936,13 +2937,13 @@ L_0896549C: } L_089654A8: aot_gpr_31 = (0x089654B0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_08964FF4; L_089654B0: - ctx.gpr[2] = (aot_gpr_16 | 0u); + ctx.gpr[2] = (ctx.gpr[16] | 0u); goto L_089654B4; L_089654B4: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -2964,11 +2965,11 @@ L_089654D4: aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_5 = (0u | 3u); aot_gpr_6 = (aot_gpr_6 + static_cast(8)); - ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(0)))))); + aot_gpr_7 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(0)))))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(4))); jump_target = aot_gpr_6; aot_gpr_31 = (0x089654F0u); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[7]); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_7); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089654F0u) goto L_089654F0; AOT_REGCACHE_SYNC_OUT(); return; @@ -2983,9 +2984,9 @@ L_089654F0: L_089654FC: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_4 = (0u | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_4); - aot_gpr_16 = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); aot_gpr_4 = (2237u << 16u); aot_gpr_5 = (0u | 84u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[17]); @@ -3006,22 +3007,22 @@ L_08965528: L_08965534: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08965540u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0120_entry, 120u, 848u, 0x089E7EF8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08965540u) goto L_08965540; AOT_REGCACHE_SYNC_OUT(); return; L_08965540: aot_gpr_4 = (2235u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-27076)); aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(4), aot_gpr_4); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(36))); - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(32))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(36))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(32))); aot_gpr_31 = (0x0896555Cu); aot_gpr_4 = (ctx.gpr[17] + static_cast(32)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 283u, 0x08B653C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896555Cu) goto L_0896555C; AOT_REGCACHE_SYNC_OUT(); return; L_0896555C: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(40))); - aot_gpr_5 = (aot_gpr_16 + static_cast(44)); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(40))); + aot_gpr_5 = (ctx.gpr[16] + static_cast(44)); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(40), static_cast(aot_gpr_4)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); @@ -3030,36 +3031,36 @@ L_0896555C: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_5); aot_gpr_5 = (std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), aot_gpr_5); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(52))); - aot_gpr_5 = (aot_gpr_16 + static_cast(60)); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(52))); + aot_gpr_5 = (ctx.gpr[16] + static_cast(60)); aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(52), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(56))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(56))); aot_gpr_6 = (ctx.gpr[17] + static_cast(60)); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(56), static_cast(aot_gpr_4)); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); aot_gpr_4 = (std::bit_cast(aot_fpr_14)); - aot_gpr_5 = (aot_gpr_16 + static_cast(68)); - ctx.gpr[7] = (std::bit_cast(aot_fpr_12)); + aot_gpr_5 = (ctx.gpr[16] + static_cast(68)); + aot_gpr_7 = (std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(0), aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(4), ctx.gpr[7]); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(4), aot_gpr_7); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); aot_gpr_4 = (ctx.gpr[17] + static_cast(68)); aot_gpr_5 = (std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_5); - aot_gpr_5 = (std::bit_cast(ctx.fpr[15])); + aot_gpr_5 = (std::bit_cast(aot_fpr_15)); ctx.gpr[2] = (ctx.gpr[17] | 0u); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), aot_gpr_5); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(76))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(76))); aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(76), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(80))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(80))); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(80), static_cast(aot_gpr_4)); goto L_089655E8; L_089655E8: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(4), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -3086,18 +3087,18 @@ L_08965610: AOT_REGCACHE_SYNC_OUT(); return; L_0896561C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x08965630u); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0120_entry, 120u, 858u, 0x089E7FCCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08965630u) goto L_08965630; AOT_REGCACHE_SYNC_OUT(); return; L_08965630: aot_gpr_4 = (2234u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(23640)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(108), aot_gpr_4); - ctx.gpr[2] = (aot_gpr_16 | 0u); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(108), aot_gpr_4); + ctx.gpr[2] = (ctx.gpr[16] | 0u); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -3112,11 +3113,11 @@ L_08965650: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), aot_gpr_6); ctx.gpr[17] = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), ctx.gpr[16]); { const std::uint32_t aot_run_words[3]{ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(44), aot_run_words); } aot_gpr_31 = (0x08965680u); - aot_gpr_16 = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0120_entry, 120u, 858u, 0x089E7FCCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08965680u) goto L_08965680; AOT_REGCACHE_SYNC_OUT(); return; L_08965680: @@ -3180,7 +3181,7 @@ L_08965700: aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); aot_gpr_4 = (aot_gpr_4 + static_cast(116)); aot_gpr_31 = (0x08965714u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0075_entry, 75u, 759u, 0x08933F0Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08965714u) goto L_08965714; AOT_REGCACHE_SYNC_OUT(); return; L_08965714: @@ -3193,7 +3194,7 @@ L_08965720: ctx.gpr[2] = (ctx.gpr[17] | 0u); { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(36), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -3209,10 +3210,10 @@ L_08965740: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); ctx.gpr[17] = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_16 = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); if (branch_taken) { goto L_089657A0; } @@ -3243,7 +3244,7 @@ L_08965780: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0121_entry, 121u, 24u, 0x089E815Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896578Cu) goto L_0896578C; AOT_REGCACHE_SYNC_OUT(); return; L_0896578C: - aot_gpr_4 = (aot_gpr_16 & 1u); + aot_gpr_4 = (ctx.gpr[16] & 1u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -3254,12 +3255,12 @@ L_0896578C: L_08965798: aot_gpr_31 = (0x089657A0u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089657A0u) goto L_089657A0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089657A0u) goto L_089657A0; AOT_REGCACHE_SYNC_OUT(); return; L_089657A0: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -3274,10 +3275,10 @@ L_089657B4: aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(96))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), ctx.gpr[17]); ctx.gpr[17] = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_31); { const bool branch_taken = aot_gpr_6 != 0u; - aot_gpr_16 = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); if (branch_taken) { goto L_089657F0; } @@ -3297,8 +3298,8 @@ L_089657E4: goto L_089657F0; L_089657F0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_31 = (0x08965804u); aot_gpr_4 = (aot_gpr_4 + static_cast(32)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 319u, 0x08B655B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08965804u) goto L_08965804; @@ -3306,7 +3307,7 @@ L_089657F0: L_08965804: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(20), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -3319,31 +3320,31 @@ L_08965804: L_08965818: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(96))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_31); { const bool branch_taken = aot_gpr_5 != 0u; - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_0896584C; } goto L_08965830; } L_08965830: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(10)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(10)))))); aot_gpr_6 = (aot_gpr_29 + static_cast(16)); aot_gpr_31 = (0x08965840u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08965840u) goto L_08965840; AOT_REGCACHE_SYNC_OUT(); return; L_08965840: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(16))); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(96), ctx.gpr[2]); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(4), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(4), static_cast(aot_gpr_4)); goto L_0896584C; L_0896584C: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(96))); ctx.gpr[2] = (ctx.gpr[2] + static_cast(32)); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); @@ -3354,41 +3355,41 @@ L_0896584C: L_08965864: aot_gpr_29 = (aot_gpr_29 + static_cast(-160)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(96))); - { const std::uint32_t aot_run_words[4]{std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), aot_gpr_16}; + { const std::uint32_t aot_run_words[4]{std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), ctx.gpr[16]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(136), aot_run_words); } ctx.fpr[26] = std::bit_cast(0u); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.fpr[24] = std::bit_cast(std::bit_cast(aot_fpr_12)); ctx.fpr[22] = std::bit_cast(std::bit_cast(aot_fpr_13)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(132), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(132), std::bit_cast(ctx.fpr[20])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(152), aot_gpr_31); { const bool branch_taken = aot_gpr_5 != 0u; - aot_fpr_20 = std::bit_cast(std::bit_cast(aot_fpr_14)); + ctx.fpr[20] = std::bit_cast(std::bit_cast(aot_fpr_14)); if (branch_taken) { goto L_089658B8; } goto L_0896589C; } L_0896589C: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(10)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(10)))))); aot_gpr_6 = (aot_gpr_29 + static_cast(64)); aot_gpr_31 = (0x089658ACu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089658ACu) goto L_089658AC; AOT_REGCACHE_SYNC_OUT(); return; L_089658AC: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(64))); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(96), ctx.gpr[2]); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(4), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(4), static_cast(aot_gpr_4)); goto L_089658B8; L_089658B8: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_20 <= ctx.fpr[26])) ? 0x00800000u : 0u); + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(96))); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[20] <= ctx.fpr[26])) ? 0x00800000u : 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), std::bit_cast(ctx.fpr[24])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), std::bit_cast(ctx.fpr[22])); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), std::bit_cast(ctx.fpr[24])); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(68), std::bit_cast(ctx.fpr[24])); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(72), std::bit_cast(ctx.fpr[22])); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(72), std::bit_cast(ctx.fpr[22])); if (branch_taken) { goto L_089659AC; } @@ -3397,15 +3398,15 @@ L_089658B8: L_089658D4: aot_gpr_4 = (16256u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_fpr_12 = aot_fpr_12 / aot_fpr_20; - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(68))); - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(12))); - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); - ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); + aot_fpr_12 = aot_fpr_12 / ctx.fpr[20]; + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(68))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(12))); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(72))); + ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(16))); aot_fpr_13 = aot_fpr_13 - aot_fpr_14; - ctx.fpr[15] = ctx.fpr[15] - ctx.fpr[16]; + aot_fpr_15 = aot_fpr_15 - ctx.fpr[16]; aot_gpr_4 = (std::bit_cast(aot_fpr_13)); - aot_gpr_5 = (std::bit_cast(ctx.fpr[15])); + aot_gpr_5 = (std::bit_cast(aot_fpr_15)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), aot_gpr_5); ctx.fpr[17] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(48))); @@ -3418,17 +3419,17 @@ L_089658D4: ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(36))); { const float fs = aot_fpr_12; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), std::bit_cast(aot_fpr_13)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(72), std::bit_cast(ctx.fpr[15])); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(72), std::bit_cast(aot_fpr_15)); { const float fs = aot_fpr_12; const float ft = ctx.fpr[16]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_4 = (std::bit_cast(aot_fpr_14)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(92), aot_gpr_4); aot_gpr_5 = (std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(96), aot_gpr_5); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(92))); - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(96))); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(96))); aot_gpr_4 = (std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(100), std::bit_cast(aot_fpr_14)); - aot_gpr_5 = (std::bit_cast(ctx.fpr[15])); + aot_gpr_5 = (std::bit_cast(aot_fpr_15)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(84), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(88), aot_gpr_5); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(84))); @@ -3444,11 +3445,11 @@ L_089658D4: aot_gpr_5 = (std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_5); - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(28))); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(60), std::bit_cast(ctx.fpr[15])); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(60), std::bit_cast(aot_fpr_15)); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), std::bit_cast(aot_fpr_14)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(64), std::bit_cast(aot_fpr_14)); if (branch_taken) { goto L_089659CC; } @@ -3457,21 +3458,21 @@ L_089658D4: L_089659AC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), std::bit_cast(ctx.fpr[26])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(60), std::bit_cast(ctx.fpr[26])); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(60), std::bit_cast(ctx.fpr[26])); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(68))); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), std::bit_cast(ctx.fpr[26])); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(12), std::bit_cast(aot_fpr_12)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(16), std::bit_cast(aot_fpr_13)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(60), std::bit_cast(ctx.fpr[26])); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(68))); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(64), std::bit_cast(ctx.fpr[26])); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(72))); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(12), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(16), std::bit_cast(aot_fpr_13)); goto L_089659CC; L_089659CC: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(132), aot_run_words); - aot_fpr_20 = std::bit_cast(aot_run_words[0]); + ctx.fpr[20] = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); ctx.fpr[26] = std::bit_cast(aot_run_words[3]); - aot_gpr_16 = aot_run_words[4]; + ctx.gpr[16] = aot_run_words[4]; aot_gpr_31 = aot_run_words[5]; } jump_target = aot_gpr_31; @@ -3483,31 +3484,31 @@ L_089659CC: L_089659EC: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(96))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_31); { const bool branch_taken = aot_gpr_5 != 0u; - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08965A20; } goto L_08965A04; } L_08965A04: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(10)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(10)))))); aot_gpr_6 = (aot_gpr_29 + static_cast(16)); aot_gpr_31 = (0x08965A14u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08965A14u) goto L_08965A14; AOT_REGCACHE_SYNC_OUT(); return; L_08965A14: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(16))); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(96), ctx.gpr[2]); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(4), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(4), static_cast(aot_gpr_4)); goto L_08965A20; L_08965A20: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(96))); ctx.gpr[2] = (ctx.gpr[2] + static_cast(68)); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); @@ -3519,42 +3520,42 @@ L_08965A38: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(96))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), std::bit_cast(ctx.fpr[22])); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), ctx.gpr[16]); ctx.fpr[22] = std::bit_cast(std::bit_cast(aot_fpr_12)); - aot_gpr_16 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), std::bit_cast(aot_fpr_20)); + ctx.gpr[16] = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), std::bit_cast(ctx.fpr[20])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), aot_gpr_31); { const bool branch_taken = aot_gpr_5 != 0u; - aot_fpr_20 = std::bit_cast(std::bit_cast(aot_fpr_13)); + ctx.fpr[20] = std::bit_cast(std::bit_cast(aot_fpr_13)); if (branch_taken) { goto L_08965A7C; } goto L_08965A60; } L_08965A60: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(10)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(10)))))); aot_gpr_6 = (aot_gpr_29 + static_cast(24)); aot_gpr_31 = (0x08965A70u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08965A70u) goto L_08965A70; AOT_REGCACHE_SYNC_OUT(); return; L_08965A70: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(24))); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(96), ctx.gpr[2]); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(4), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(4), static_cast(aot_gpr_4)); goto L_08965A7C; L_08965A7C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(96))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), std::bit_cast(ctx.fpr[22])); aot_gpr_4 = (aot_gpr_4 + static_cast(44)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), std::bit_cast(ctx.fpr[20])); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), std::bit_cast(ctx.fpr[22])); - aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), std::bit_cast(ctx.fpr[20])); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(28), aot_run_words); - aot_fpr_20 = std::bit_cast(aot_run_words[0]); + ctx.fpr[20] = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); - aot_gpr_16 = aot_run_words[2]; + ctx.gpr[16] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } jump_target = aot_gpr_31; @@ -3566,31 +3567,31 @@ L_08965A7C: L_08965AAC: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(96))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_31); { const bool branch_taken = aot_gpr_5 != 0u; - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08965AE0; } goto L_08965AC4; } L_08965AC4: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(10)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(10)))))); aot_gpr_6 = (aot_gpr_29 + static_cast(16)); aot_gpr_31 = (0x08965AD4u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08965AD4u) goto L_08965AD4; AOT_REGCACHE_SYNC_OUT(); return; L_08965AD4: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(16))); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(96), ctx.gpr[2]); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(4), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(4), static_cast(aot_gpr_4)); goto L_08965AE0; L_08965AE0: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(96))); ctx.gpr[2] = (ctx.gpr[2] + static_cast(44)); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); @@ -3603,10 +3604,10 @@ L_08965AF8: aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(96))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), ctx.gpr[17]); ctx.gpr[17] = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_31); { const bool branch_taken = aot_gpr_6 != 0u; - aot_gpr_16 = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); if (branch_taken) { goto L_08965B34; } @@ -3626,10 +3627,10 @@ L_08965B28: goto L_08965B34; L_08965B34: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); - aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(40), static_cast(aot_gpr_16)); + aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(40), static_cast(ctx.gpr[16])); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(20), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -3642,31 +3643,31 @@ L_08965B34: L_08965B50: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(96))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_31); { const bool branch_taken = aot_gpr_5 != 0u; - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08965B84; } goto L_08965B68; } L_08965B68: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(10)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(10)))))); aot_gpr_6 = (aot_gpr_29 + static_cast(16)); aot_gpr_31 = (0x08965B78u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08965B78u) goto L_08965B78; AOT_REGCACHE_SYNC_OUT(); return; L_08965B78: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(16))); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(96), ctx.gpr[2]); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(4), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(4), static_cast(aot_gpr_4)); goto L_08965B84; L_08965B84: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(96))); ctx.gpr[2] = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(40))); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); @@ -3679,10 +3680,10 @@ L_08965B9C: aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(96))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), ctx.gpr[17]); ctx.gpr[17] = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_31); { const bool branch_taken = aot_gpr_6 != 0u; - aot_gpr_16 = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); if (branch_taken) { goto L_08965BD8; } @@ -3702,10 +3703,10 @@ L_08965BCC: goto L_08965BD8; L_08965BD8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); - aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(56), static_cast(aot_gpr_16)); + aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(56), static_cast(ctx.gpr[16])); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(20), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -3718,31 +3719,31 @@ L_08965BD8: L_08965BF4: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(96))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_31); { const bool branch_taken = aot_gpr_5 != 0u; - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08965C28; } goto L_08965C0C; } L_08965C0C: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(10)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(10)))))); aot_gpr_6 = (aot_gpr_29 + static_cast(16)); aot_gpr_31 = (0x08965C1Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08965C1Cu) goto L_08965C1C; AOT_REGCACHE_SYNC_OUT(); return; L_08965C1C: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(16))); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(96), ctx.gpr[2]); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(4), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(4), static_cast(aot_gpr_4)); goto L_08965C28; L_08965C28: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(96))); ctx.gpr[2] = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(56))); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); @@ -3755,10 +3756,10 @@ L_08965C40: aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(96))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), ctx.gpr[17]); ctx.gpr[17] = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_31); { const bool branch_taken = aot_gpr_6 != 0u; - aot_gpr_16 = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); if (branch_taken) { goto L_08965C7C; } @@ -3778,10 +3779,10 @@ L_08965C70: goto L_08965C7C; L_08965C7C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); - aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(52), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(52), ctx.gpr[16]); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(20), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -3794,31 +3795,31 @@ L_08965C7C: L_08965C98: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(96))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_31); { const bool branch_taken = aot_gpr_5 != 0u; - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08965CCC; } goto L_08965CB0; } L_08965CB0: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(10)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(10)))))); aot_gpr_6 = (aot_gpr_29 + static_cast(16)); aot_gpr_31 = (0x08965CC0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08965CC0u) goto L_08965CC0; AOT_REGCACHE_SYNC_OUT(); return; L_08965CC0: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(16))); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(96), ctx.gpr[2]); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(4), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(4), static_cast(aot_gpr_4)); goto L_08965CCC; L_08965CCC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(96))); ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(52))); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); @@ -3831,10 +3832,10 @@ L_08965CE4: aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(96))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), ctx.gpr[17]); ctx.gpr[17] = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_31); { const bool branch_taken = aot_gpr_6 != 0u; - aot_gpr_16 = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); if (branch_taken) { goto L_08965D20; } @@ -3854,10 +3855,10 @@ L_08965D14: goto L_08965D20; L_08965D20: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); - aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(76), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(76), ctx.gpr[16]); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(20), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -3870,31 +3871,31 @@ L_08965D20: L_08965D3C: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(96))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_31); { const bool branch_taken = aot_gpr_5 != 0u; - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08965D70; } goto L_08965D54; } L_08965D54: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(10)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(10)))))); aot_gpr_6 = (aot_gpr_29 + static_cast(16)); aot_gpr_31 = (0x08965D64u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08965D64u) goto L_08965D64; AOT_REGCACHE_SYNC_OUT(); return; L_08965D64: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(16))); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(96), ctx.gpr[2]); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(4), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(4), static_cast(aot_gpr_4)); goto L_08965D70; L_08965D70: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(96))); ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(76))); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); @@ -3920,24 +3921,24 @@ L_08965D9C: L_08965DA8: aot_gpr_29 = (aot_gpr_29 + static_cast(-64)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), aot_gpr_6); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), ctx.gpr[7]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), aot_gpr_7); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); - ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(68)))))); + aot_gpr_7 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(68)))))); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(0)))))); aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(22), static_cast(aot_gpr_6)); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(22)))))); - aot_gpr_6 = (ctx.gpr[7] - aot_gpr_6); + aot_gpr_6 = (aot_gpr_7 - aot_gpr_6); aot_gpr_6 = (aot_gpr_6 << 16u); aot_gpr_6 = (static_cast(static_cast(aot_gpr_6) >> 16u)); aot_gpr_6 = (static_cast(aot_gpr_6) < 0 ? 1u : 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), ctx.gpr[17]); ctx.gpr[17] = (aot_gpr_4 | 0u); aot_gpr_6 = (aot_gpr_6 & 255u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), aot_gpr_31); { const bool branch_taken = aot_gpr_6 == 0u; - aot_gpr_16 = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); if (branch_taken) { goto L_08965E4C; } @@ -3958,15 +3959,15 @@ L_08965E10: aot_gpr_5 = (0u + static_cast(-1)); aot_gpr_31 = (0x08965E24u); aot_gpr_6 = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08965E24u) goto L_08965E24; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08965E24u) goto L_08965E24; AOT_REGCACHE_SYNC_OUT(); return; L_08965E24: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_5); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), aot_gpr_5); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08965E44u); aot_gpr_6 = (ctx.gpr[18] | 0u); goto L_0896640C; @@ -3998,15 +3999,15 @@ L_08965E64: AOT_REGCACHE_SYNC_OUT(); return; L_08965E7C: aot_gpr_4 = (ctx.gpr[17] | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_6 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08965E90u); - ctx.gpr[7] = (ctx.gpr[2] | 0u); + aot_gpr_7 = (ctx.gpr[2] | 0u); goto L_08966358; L_08965E90: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(36), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; @@ -4019,10 +4020,10 @@ L_08965E90: AOT_REGCACHE_SYNC_OUT(); return; L_08965EA8: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_5 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_5 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); - ctx.gpr[18] = (aot_gpr_16 + static_cast(4)); + ctx.gpr[18] = (ctx.gpr[16] + static_cast(4)); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[19]); ctx.gpr[19] = (aot_gpr_6 | 0u); @@ -4030,14 +4031,14 @@ L_08965EA8: aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(0), aot_gpr_6); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0))); - ctx.gpr[7] = (aot_gpr_6 + static_cast(1)); - aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(0), ctx.gpr[7]); + aot_gpr_7 = (aot_gpr_6 + static_cast(1)); + aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(0), aot_gpr_7); aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_6 + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_gpr_6 = (aot_gpr_6 << 8u); ctx.gpr[17] = (aot_gpr_5 | aot_gpr_6); ctx.gpr[17] = (ctx.gpr[17] & 65535u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); aot_gpr_31 = (0x08965F04u); aot_gpr_6 = (ctx.gpr[19] | 0u); @@ -4055,7 +4056,7 @@ L_08965F04: L_08965F10: aot_gpr_5 = (ctx.gpr[19] + static_cast(32)); aot_gpr_31 = (0x08965F1Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_08964EE0; L_08965F1C: aot_gpr_4 = (ctx.gpr[17] & 8u); @@ -4069,7 +4070,7 @@ L_08965F1C: L_08965F28: aot_gpr_5 = (ctx.gpr[19] + static_cast(44)); aot_gpr_31 = (0x08965F34u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_08964E08; L_08965F34: aot_gpr_4 = (ctx.gpr[17] & 16u); @@ -4091,14 +4092,14 @@ L_08965F40: aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0))); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); aot_gpr_5 = (aot_gpr_5 << 8u); - ctx.gpr[7] = (aot_gpr_6 + static_cast(1)); - aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(0), ctx.gpr[7]); - ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); + aot_gpr_7 = (aot_gpr_6 + static_cast(1)); + aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(0), aot_gpr_7); + aot_gpr_7 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_6 + static_cast(0))); - ctx.gpr[8] = (ctx.gpr[7] + static_cast(1)); + ctx.gpr[8] = (aot_gpr_7 + static_cast(1)); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(0), ctx.gpr[8]); - aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[7] + static_cast(0))); + aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_7 + static_cast(0))); aot_gpr_4 = (aot_gpr_4 & 65535u); aot_gpr_5 = (aot_gpr_5 << 8u); aot_gpr_5 = (aot_gpr_6 | aot_gpr_5); @@ -4119,7 +4120,7 @@ L_08965FA4: L_08965FB0: aot_gpr_5 = (ctx.gpr[19] + static_cast(60)); aot_gpr_31 = (0x08965FBCu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_08964E08; L_08965FBC: aot_gpr_4 = (ctx.gpr[17] & 64u); @@ -4133,7 +4134,7 @@ L_08965FBC: L_08965FC8: aot_gpr_5 = (ctx.gpr[19] + static_cast(68)); aot_gpr_31 = (0x08965FD4u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_08964E08; L_08965FD4: aot_gpr_4 = (ctx.gpr[17] & 128u); @@ -4187,14 +4188,14 @@ L_08966020: aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0))); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); aot_gpr_5 = (aot_gpr_5 << 8u); - ctx.gpr[7] = (aot_gpr_6 + static_cast(1)); - aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(0), ctx.gpr[7]); - ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); + aot_gpr_7 = (aot_gpr_6 + static_cast(1)); + aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(0), aot_gpr_7); + aot_gpr_7 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_6 + static_cast(0))); - ctx.gpr[8] = (ctx.gpr[7] + static_cast(1)); + ctx.gpr[8] = (aot_gpr_7 + static_cast(1)); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(0), ctx.gpr[8]); - aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[7] + static_cast(0))); + aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_7 + static_cast(0))); aot_gpr_4 = (aot_gpr_4 & 65535u); aot_gpr_5 = (aot_gpr_5 << 8u); aot_gpr_5 = (aot_gpr_6 | aot_gpr_5); @@ -4206,7 +4207,7 @@ L_08966020: L_08966084: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -4220,9 +4221,9 @@ L_08966084: AOT_REGCACHE_SYNC_OUT(); return; L_089660A0: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(100))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(100))); aot_gpr_5 = (2237u << 16u); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); aot_gpr_4 = (aot_gpr_5 + static_cast(-28736)); @@ -4266,7 +4267,7 @@ L_089660E4: } L_089660EC: aot_gpr_31 = (0x089660F4u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0121_entry, 121u, 65u, 0x089E8590u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089660F4u) goto L_089660F4; AOT_REGCACHE_SYNC_OUT(); return; L_089660F4: @@ -4281,7 +4282,7 @@ L_089660F4: goto L_08966108; } L_08966108: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(96))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -4306,23 +4307,23 @@ L_0896611C: goto L_08966124; } L_08966124: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(10)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(10)))))); aot_gpr_6 = (aot_gpr_29 + static_cast(16)); aot_gpr_31 = (0x08966134u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08966134u) goto L_08966134; AOT_REGCACHE_SYNC_OUT(); return; L_08966134: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(16))); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(96), ctx.gpr[2]); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(4), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(4), static_cast(aot_gpr_4)); goto L_08966140; L_08966140: aot_gpr_31 = (0x08966148u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(96))); goto L_08966A94; L_08966148: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); @@ -4332,19 +4333,19 @@ L_08966148: AOT_REGCACHE_SYNC_OUT(); return; L_08966158: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18]}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - ctx.gpr[18] = (ctx.gpr[7] | 0u); - aot_gpr_16 = (aot_gpr_6 | 0u); + ctx.gpr[18] = (aot_gpr_7 | 0u); + ctx.gpr[16] = (aot_gpr_6 | 0u); ctx.gpr[17] = (aot_gpr_5 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[19]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); aot_gpr_31 = (0x08966184u); - ctx.gpr[7] = (ctx.gpr[7] + static_cast(2)); + aot_gpr_7 = (aot_gpr_7 + static_cast(2)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0121_entry, 121u, 69u, 0x089E85DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08966184u) goto L_08966184; AOT_REGCACHE_SYNC_OUT(); return; L_08966184: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(32))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(32))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(32))); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; ctx.gpr[19] = (0u | 0u); @@ -4355,10 +4356,10 @@ L_08966184: } L_08966194: aot_gpr_6 = (aot_gpr_4 | 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(36))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(36))); aot_gpr_31 = (0x089661A4u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(36))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089661A4u) goto L_089661A4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58100, 213u, 23u, 0x08B58100u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089661A4u) goto L_089661A4; AOT_REGCACHE_SYNC_OUT(); return; L_089661A4: { const bool branch_taken = ctx.gpr[2] != 0u; @@ -4390,7 +4391,7 @@ L_089661C4: aot_mem.aot_direct_store16(ctx.gpr[18] + static_cast(0), static_cast(aot_gpr_4)); goto L_089661D0; L_089661D0: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(44))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(44))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(44))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(aot_fpr_13)) && aot_fpr_12 == aot_fpr_13)) ? 0x00800000u : 0u); // nop @@ -4402,7 +4403,7 @@ L_089661D0: goto L_089661E8; } L_089661E8: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(48))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(48))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(48))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(aot_fpr_13)) && aot_fpr_12 == aot_fpr_13)) ? 0x00800000u : 0u); // nop @@ -4435,7 +4436,7 @@ L_08966218: aot_mem.aot_direct_store16(ctx.gpr[18] + static_cast(0), static_cast(aot_gpr_4)); goto L_08966224; L_08966224: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(52))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(52))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(52))); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -4450,7 +4451,7 @@ L_08966234: aot_mem.aot_direct_store16(ctx.gpr[18] + static_cast(0), static_cast(aot_gpr_4)); goto L_08966240; L_08966240: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(60))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(60))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(60))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(aot_fpr_13)) && aot_fpr_12 == aot_fpr_13)) ? 0x00800000u : 0u); // nop @@ -4462,7 +4463,7 @@ L_08966240: goto L_08966258; } L_08966258: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(64))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(64))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(64))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(aot_fpr_13)) && aot_fpr_12 == aot_fpr_13)) ? 0x00800000u : 0u); // nop @@ -4495,7 +4496,7 @@ L_08966288: aot_mem.aot_direct_store16(ctx.gpr[18] + static_cast(0), static_cast(aot_gpr_4)); goto L_08966294; L_08966294: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(68))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(68))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(68))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(aot_fpr_13)) && aot_fpr_12 == aot_fpr_13)) ? 0x00800000u : 0u); // nop @@ -4507,7 +4508,7 @@ L_08966294: goto L_089662AC; } L_089662AC: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(72))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(72))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(aot_fpr_13)) && aot_fpr_12 == aot_fpr_13)) ? 0x00800000u : 0u); // nop @@ -4540,7 +4541,7 @@ L_089662DC: aot_mem.aot_direct_store16(ctx.gpr[18] + static_cast(0), static_cast(aot_gpr_4)); goto L_089662E8; L_089662E8: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(56))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(56))); aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(56))); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -4555,7 +4556,7 @@ L_089662F8: aot_mem.aot_direct_store16(ctx.gpr[18] + static_cast(0), static_cast(aot_gpr_4)); goto L_08966304; L_08966304: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(40))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(40))); aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(40))); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -4570,7 +4571,7 @@ L_08966314: aot_mem.aot_direct_store16(ctx.gpr[18] + static_cast(0), static_cast(aot_gpr_4)); goto L_08966320; L_08966320: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(76))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(76))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(76))); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -4587,7 +4588,7 @@ L_08966330: L_0896633C: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -4607,23 +4608,23 @@ L_08966358: ctx.gpr[17] = (aot_gpr_5 | 0u); ctx.gpr[18] = (aot_gpr_4 | 0u); ctx.gpr[20] = (aot_gpr_29 + static_cast(16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), ctx.gpr[19]); - aot_gpr_16 = (aot_gpr_6 | 0u); - ctx.gpr[19] = (ctx.gpr[7] | 0u); + ctx.gpr[16] = (aot_gpr_6 | 0u); + ctx.gpr[19] = (aot_gpr_7 | 0u); aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_5 = (0u | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), aot_gpr_31); aot_gpr_31 = (0x08966398u); aot_gpr_6 = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08966398u) goto L_08966398; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08966398u) goto L_08966398; AOT_REGCACHE_SYNC_OUT(); return; L_08966398: aot_gpr_4 = (ctx.gpr[18] | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_6 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x089663ACu); - ctx.gpr[7] = (ctx.gpr[20] | 0u); + aot_gpr_7 = (ctx.gpr[20] | 0u); goto L_08966158; L_089663AC: aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(16))); @@ -4647,10 +4648,10 @@ L_089663C4: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_5); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089663E0u); - aot_gpr_6 = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); goto L_0896640C; L_089663E0: { const bool branch_taken = 0u == 0u; @@ -4666,7 +4667,7 @@ L_089663E8: L_089663EC: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(20), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -4681,21 +4682,21 @@ L_089663EC: AOT_REGCACHE_SYNC_OUT(); return; L_0896640C: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(16), aot_run_words); } - aot_gpr_16 = (aot_gpr_6 | 0u); + ctx.gpr[16] = (aot_gpr_6 | 0u); ctx.gpr[17] = (aot_gpr_5 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), ctx.gpr[7]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), aot_gpr_7); ctx.gpr[18] = (aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(32))); aot_gpr_5 = (ctx.gpr[18] & 65535u); aot_gpr_6 = (aot_gpr_5 & 255u); - ctx.gpr[7] = (aot_mem.aot_direct_load_word_right(ctx.gpr[17] + static_cast(0), ctx.gpr[7])); - ctx.gpr[7] = (aot_mem.aot_direct_load_word_left(ctx.gpr[17] + static_cast(3), ctx.gpr[7])); - ctx.gpr[7] = (ctx.gpr[7] & 65535u); - ctx.gpr[8] = (ctx.gpr[17] + ctx.gpr[7]); - ctx.gpr[7] = (ctx.gpr[7] + static_cast(1)); - aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(0), static_cast(ctx.gpr[7])); - ctx.gpr[1] = (static_cast(static_cast(ctx.gpr[7]) >> 8u)); + aot_gpr_7 = (aot_mem.aot_direct_load_word_right(ctx.gpr[17] + static_cast(0), aot_gpr_7)); + aot_gpr_7 = (aot_mem.aot_direct_load_word_left(ctx.gpr[17] + static_cast(3), aot_gpr_7)); + aot_gpr_7 = (aot_gpr_7 & 65535u); + ctx.gpr[8] = (ctx.gpr[17] + aot_gpr_7); + aot_gpr_7 = (aot_gpr_7 + static_cast(1)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(0), static_cast(aot_gpr_7)); + ctx.gpr[1] = (static_cast(static_cast(aot_gpr_7) >> 8u)); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(1), static_cast(ctx.gpr[1])); aot_mem.aot_direct_store8(ctx.gpr[8] + static_cast(0), static_cast(aot_gpr_6)); aot_gpr_5 = (static_cast(static_cast(aot_gpr_5) >> 8u)); @@ -4703,16 +4704,16 @@ L_0896640C: aot_gpr_6 = (aot_mem.aot_direct_load_word_right(ctx.gpr[17] + static_cast(0), aot_gpr_6)); aot_gpr_6 = (aot_mem.aot_direct_load_word_left(ctx.gpr[17] + static_cast(3), aot_gpr_6)); aot_gpr_6 = (aot_gpr_6 & 65535u); - ctx.gpr[7] = (ctx.gpr[17] + aot_gpr_6); + aot_gpr_7 = (ctx.gpr[17] + aot_gpr_6); aot_gpr_6 = (aot_gpr_6 + static_cast(1)); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(0), static_cast(aot_gpr_6)); ctx.gpr[1] = (static_cast(static_cast(aot_gpr_6) >> 8u)); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(1), static_cast(ctx.gpr[1])); - aot_mem.aot_direct_store8(ctx.gpr[7] + static_cast(0), static_cast(aot_gpr_5)); - ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(34)))))); + aot_mem.aot_direct_store8(aot_gpr_7 + static_cast(0), static_cast(aot_gpr_5)); + aot_gpr_7 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(34)))))); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08966498u); - aot_gpr_6 = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0121_entry, 121u, 103u, 0x089E87C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08966498u) goto L_08966498; AOT_REGCACHE_SYNC_OUT(); return; L_08966498: @@ -4725,7 +4726,7 @@ L_08966498: goto L_089664A4; } L_089664A4: - aot_gpr_5 = (aot_gpr_16 + static_cast(32)); + aot_gpr_5 = (ctx.gpr[16] + static_cast(32)); aot_gpr_31 = (0x089664B0u); aot_gpr_4 = (ctx.gpr[17] | 0u); goto L_08964B98; @@ -4739,7 +4740,7 @@ L_089664B0: goto L_089664BC; } L_089664BC: - aot_gpr_5 = (aot_gpr_16 + static_cast(44)); + aot_gpr_5 = (ctx.gpr[16] + static_cast(44)); aot_gpr_31 = (0x089664C8u); aot_gpr_4 = (ctx.gpr[17] | 0u); goto L_08964A14; @@ -4753,18 +4754,18 @@ L_089664C8: goto L_089664D4; } L_089664D4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(52))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(52))); aot_gpr_5 = (aot_gpr_4 >> 16u); aot_gpr_4 = (aot_gpr_4 & 65535u); aot_gpr_4 = (aot_gpr_4 & 65535u); aot_gpr_6 = (aot_gpr_4 & 255u); - ctx.gpr[7] = (aot_mem.aot_direct_load_word_right(ctx.gpr[17] + static_cast(0), ctx.gpr[7])); - ctx.gpr[7] = (aot_mem.aot_direct_load_word_left(ctx.gpr[17] + static_cast(3), ctx.gpr[7])); - ctx.gpr[7] = (ctx.gpr[7] & 65535u); - ctx.gpr[8] = (ctx.gpr[17] + ctx.gpr[7]); - ctx.gpr[7] = (ctx.gpr[7] + static_cast(1)); - aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(0), static_cast(ctx.gpr[7])); - ctx.gpr[1] = (static_cast(static_cast(ctx.gpr[7]) >> 8u)); + aot_gpr_7 = (aot_mem.aot_direct_load_word_right(ctx.gpr[17] + static_cast(0), aot_gpr_7)); + aot_gpr_7 = (aot_mem.aot_direct_load_word_left(ctx.gpr[17] + static_cast(3), aot_gpr_7)); + aot_gpr_7 = (aot_gpr_7 & 65535u); + ctx.gpr[8] = (ctx.gpr[17] + aot_gpr_7); + aot_gpr_7 = (aot_gpr_7 + static_cast(1)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(0), static_cast(aot_gpr_7)); + ctx.gpr[1] = (static_cast(static_cast(aot_gpr_7) >> 8u)); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(1), static_cast(ctx.gpr[1])); aot_mem.aot_direct_store8(ctx.gpr[8] + static_cast(0), static_cast(aot_gpr_6)); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 8u)); @@ -4772,23 +4773,23 @@ L_089664D4: aot_gpr_6 = (aot_mem.aot_direct_load_word_right(ctx.gpr[17] + static_cast(0), aot_gpr_6)); aot_gpr_6 = (aot_mem.aot_direct_load_word_left(ctx.gpr[17] + static_cast(3), aot_gpr_6)); aot_gpr_6 = (aot_gpr_6 & 65535u); - ctx.gpr[7] = (ctx.gpr[17] + aot_gpr_6); + aot_gpr_7 = (ctx.gpr[17] + aot_gpr_6); aot_gpr_6 = (aot_gpr_6 + static_cast(1)); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(0), static_cast(aot_gpr_6)); ctx.gpr[1] = (static_cast(static_cast(aot_gpr_6) >> 8u)); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(1), static_cast(ctx.gpr[1])); - aot_mem.aot_direct_store8(ctx.gpr[7] + static_cast(0), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(aot_gpr_7 + static_cast(0), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_gpr_5 & 65535u); aot_gpr_5 = (aot_gpr_4 & 255u); aot_gpr_6 = (aot_mem.aot_direct_load_word_right(ctx.gpr[17] + static_cast(0), aot_gpr_6)); aot_gpr_6 = (aot_mem.aot_direct_load_word_left(ctx.gpr[17] + static_cast(3), aot_gpr_6)); aot_gpr_6 = (aot_gpr_6 & 65535u); - ctx.gpr[7] = (ctx.gpr[17] + aot_gpr_6); + aot_gpr_7 = (ctx.gpr[17] + aot_gpr_6); aot_gpr_6 = (aot_gpr_6 + static_cast(1)); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(0), static_cast(aot_gpr_6)); ctx.gpr[1] = (static_cast(static_cast(aot_gpr_6) >> 8u)); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(1), static_cast(ctx.gpr[1])); - aot_mem.aot_direct_store8(ctx.gpr[7] + static_cast(0), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(aot_gpr_7 + static_cast(0), static_cast(aot_gpr_5)); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 8u)); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_5 = (aot_mem.aot_direct_load_word_right(ctx.gpr[17] + static_cast(0), aot_gpr_5)); @@ -4811,7 +4812,7 @@ L_08966590: goto L_0896659C; } L_0896659C: - aot_gpr_5 = (aot_gpr_16 + static_cast(60)); + aot_gpr_5 = (ctx.gpr[16] + static_cast(60)); aot_gpr_31 = (0x089665A8u); aot_gpr_4 = (ctx.gpr[17] | 0u); goto L_08964A14; @@ -4825,7 +4826,7 @@ L_089665A8: goto L_089665B4; } L_089665B4: - aot_gpr_5 = (aot_gpr_16 + static_cast(68)); + aot_gpr_5 = (ctx.gpr[16] + static_cast(68)); aot_gpr_31 = (0x089665C0u); aot_gpr_4 = (ctx.gpr[17] | 0u); goto L_08964A14; @@ -4839,7 +4840,7 @@ L_089665C0: goto L_089665CC; } L_089665CC: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(56))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(56))); aot_gpr_5 = (aot_mem.aot_direct_load_word_right(ctx.gpr[17] + static_cast(0), aot_gpr_5)); aot_gpr_5 = (aot_mem.aot_direct_load_word_left(ctx.gpr[17] + static_cast(3), aot_gpr_5)); aot_gpr_5 = (aot_gpr_5 & 65535u); @@ -4860,7 +4861,7 @@ L_089665F4: goto L_08966600; } L_08966600: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(40))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(40))); aot_gpr_5 = (aot_mem.aot_direct_load_word_right(ctx.gpr[17] + static_cast(0), aot_gpr_5)); aot_gpr_5 = (aot_mem.aot_direct_load_word_left(ctx.gpr[17] + static_cast(3), aot_gpr_5)); aot_gpr_5 = (aot_gpr_5 & 65535u); @@ -4881,18 +4882,18 @@ L_08966628: goto L_08966634; } L_08966634: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(76))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(76))); aot_gpr_5 = (aot_gpr_4 >> 16u); aot_gpr_4 = (aot_gpr_4 & 65535u); aot_gpr_4 = (aot_gpr_4 & 65535u); aot_gpr_6 = (aot_gpr_4 & 255u); - ctx.gpr[7] = (aot_mem.aot_direct_load_word_right(ctx.gpr[17] + static_cast(0), ctx.gpr[7])); - ctx.gpr[7] = (aot_mem.aot_direct_load_word_left(ctx.gpr[17] + static_cast(3), ctx.gpr[7])); - ctx.gpr[7] = (ctx.gpr[7] & 65535u); - ctx.gpr[8] = (ctx.gpr[17] + ctx.gpr[7]); - ctx.gpr[7] = (ctx.gpr[7] + static_cast(1)); - aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(0), static_cast(ctx.gpr[7])); - ctx.gpr[1] = (static_cast(static_cast(ctx.gpr[7]) >> 8u)); + aot_gpr_7 = (aot_mem.aot_direct_load_word_right(ctx.gpr[17] + static_cast(0), aot_gpr_7)); + aot_gpr_7 = (aot_mem.aot_direct_load_word_left(ctx.gpr[17] + static_cast(3), aot_gpr_7)); + aot_gpr_7 = (aot_gpr_7 & 65535u); + ctx.gpr[8] = (ctx.gpr[17] + aot_gpr_7); + aot_gpr_7 = (aot_gpr_7 + static_cast(1)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(0), static_cast(aot_gpr_7)); + ctx.gpr[1] = (static_cast(static_cast(aot_gpr_7) >> 8u)); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(1), static_cast(ctx.gpr[1])); aot_mem.aot_direct_store8(ctx.gpr[8] + static_cast(0), static_cast(aot_gpr_6)); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 8u)); @@ -4900,23 +4901,23 @@ L_08966634: aot_gpr_6 = (aot_mem.aot_direct_load_word_right(ctx.gpr[17] + static_cast(0), aot_gpr_6)); aot_gpr_6 = (aot_mem.aot_direct_load_word_left(ctx.gpr[17] + static_cast(3), aot_gpr_6)); aot_gpr_6 = (aot_gpr_6 & 65535u); - ctx.gpr[7] = (ctx.gpr[17] + aot_gpr_6); + aot_gpr_7 = (ctx.gpr[17] + aot_gpr_6); aot_gpr_6 = (aot_gpr_6 + static_cast(1)); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(0), static_cast(aot_gpr_6)); ctx.gpr[1] = (static_cast(static_cast(aot_gpr_6) >> 8u)); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(1), static_cast(ctx.gpr[1])); - aot_mem.aot_direct_store8(ctx.gpr[7] + static_cast(0), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(aot_gpr_7 + static_cast(0), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_gpr_5 & 65535u); aot_gpr_5 = (aot_gpr_4 & 255u); aot_gpr_6 = (aot_mem.aot_direct_load_word_right(ctx.gpr[17] + static_cast(0), aot_gpr_6)); aot_gpr_6 = (aot_mem.aot_direct_load_word_left(ctx.gpr[17] + static_cast(3), aot_gpr_6)); aot_gpr_6 = (aot_gpr_6 & 65535u); - ctx.gpr[7] = (ctx.gpr[17] + aot_gpr_6); + aot_gpr_7 = (ctx.gpr[17] + aot_gpr_6); aot_gpr_6 = (aot_gpr_6 + static_cast(1)); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(0), static_cast(aot_gpr_6)); ctx.gpr[1] = (static_cast(static_cast(aot_gpr_6) >> 8u)); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(1), static_cast(ctx.gpr[1])); - aot_mem.aot_direct_store8(ctx.gpr[7] + static_cast(0), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(aot_gpr_7 + static_cast(0), static_cast(aot_gpr_5)); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 8u)); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_5 = (aot_mem.aot_direct_load_word_right(ctx.gpr[17] + static_cast(0), aot_gpr_5)); @@ -4932,7 +4933,7 @@ L_08966634: L_089666F0: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; @@ -4945,14 +4946,14 @@ L_089666F0: AOT_REGCACHE_SYNC_OUT(); return; L_08966708: aot_gpr_29 = (aot_gpr_29 + static_cast(-112)); - { const std::uint32_t aot_run_words[10]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; + { const std::uint32_t aot_run_words[10]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(64), aot_run_words); } ctx.gpr[21] = (aot_gpr_5 | 0u); ctx.gpr[20] = (aot_gpr_4 | 0u); ctx.gpr[23] = (ctx.gpr[28] + static_cast(-17544)); aot_gpr_31 = (0x08966748u); aot_gpr_4 = (ctx.gpr[23] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08966748u) goto L_08966748; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08966748u) goto L_08966748; AOT_REGCACHE_SYNC_OUT(); return; L_08966748: aot_gpr_4 = (aot_gpr_29 | 0u); @@ -4971,7 +4972,7 @@ L_08966764: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); ctx.gpr[22] = (ctx.gpr[28] + static_cast(5824)); { const bool branch_taken = aot_gpr_4 == ctx.gpr[22]; - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (ctx.gpr[2] | 0u); if (branch_taken) { goto L_08966784; } @@ -4982,10 +4983,10 @@ L_08966774: aot_gpr_4 = (2236u << 16u); aot_gpr_31 = (0x08966784u); aot_gpr_4 = (aot_gpr_4 + static_cast(25856)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08966784u) goto L_08966784; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08966784u) goto L_08966784; AOT_REGCACHE_SYNC_OUT(); return; L_08966784: - ctx.gpr[18] = (aot_gpr_16 | 0u); + ctx.gpr[18] = (ctx.gpr[16] | 0u); aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(0), 0u); aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(4), ctx.gpr[22]); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(4))); @@ -4997,8 +4998,8 @@ L_08966784: } goto L_089667A4; L_089667A4: - aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); - { const bool branch_taken = aot_gpr_16 != 0u; + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); + { const bool branch_taken = ctx.gpr[16] != 0u; aot_gpr_5 = (aot_gpr_4 | 0u); if (branch_taken) { goto L_089667E0; @@ -5006,7 +5007,7 @@ L_089667A4: goto L_089667B0; } L_089667B0: - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); aot_gpr_31 = (0x089667BCu); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089667BCu) goto L_089667BC; @@ -5014,18 +5015,18 @@ L_089667B0: L_089667BC: ctx.gpr[17] = (ctx.gpr[2] | 0u); if (ctx.gpr[17] == 0u) { - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), ctx.gpr[16]); goto L_089667D8; } goto L_089667C8; L_089667C8: aot_gpr_31 = (0x089667D0u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089667D0u) goto L_089667D0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089667D0u) goto L_089667D0; AOT_REGCACHE_SYNC_OUT(); return; L_089667D0: - aot_gpr_16 = (ctx.gpr[17] | 0u); - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); + ctx.gpr[16] = (ctx.gpr[17] | 0u); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), ctx.gpr[16]); goto L_089667D8; L_089667D8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(4))); @@ -5033,7 +5034,7 @@ L_089667D8: goto L_089667E0; L_089667E0: aot_gpr_31 = (0x089667E8u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089667E8u) goto L_089667E8; AOT_REGCACHE_SYNC_OUT(); return; L_089667E8: @@ -5056,7 +5057,7 @@ L_089667FC: goto L_08966804; } L_08966804: - { const bool branch_taken = aot_gpr_16 == aot_gpr_4; + { const bool branch_taken = ctx.gpr[16] == aot_gpr_4; // nop if (branch_taken) { goto L_08966898; @@ -5067,7 +5068,7 @@ L_0896680C: aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_29 + static_cast(16)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(56), static_cast(0u)); - ctx.gpr[7] = (aot_gpr_29 + static_cast(56)); + aot_gpr_7 = (aot_gpr_29 + static_cast(56)); aot_gpr_31 = (0x08966824u); aot_gpr_6 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0218_entry, 218u, 116u, 0x08B6CA88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08966824u) goto L_08966824; @@ -5095,7 +5096,7 @@ L_0896683C: L_08966848: aot_gpr_31 = (0x08966850u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08966850u) goto L_08966850; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08966850u) goto L_08966850; AOT_REGCACHE_SYNC_OUT(); return; L_08966850: ctx.gpr[17] = (ctx.gpr[19] | 0u); @@ -5134,7 +5135,7 @@ L_08966888: aot_gpr_4 = (aot_gpr_4 + static_cast(25856)); aot_gpr_31 = (0x08966894u); aot_gpr_5 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08966894u) goto L_08966894; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08966894u) goto L_08966894; AOT_REGCACHE_SYNC_OUT(); return; L_08966894: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(4))); @@ -5142,7 +5143,7 @@ L_08966894: L_08966898: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(0))); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); - { const bool branch_taken = aot_gpr_16 == aot_gpr_4; + { const bool branch_taken = ctx.gpr[16] == aot_gpr_4; ctx.gpr[20] = (2236u << 16u); if (branch_taken) { goto L_08966A64; @@ -5152,7 +5153,7 @@ L_08966898: L_089668A8: ctx.gpr[20] = (ctx.gpr[20] + static_cast(25856)); ctx.gpr[30] = (aot_gpr_29 + static_cast(40)); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(60))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(60))); goto L_089668B4; L_089668B4: ctx.gpr[19] = (aot_gpr_4 | 0u); @@ -5179,7 +5180,7 @@ L_089668D4: ctx.gpr[18] = (ctx.gpr[18] + static_cast(1)); aot_gpr_31 = (0x089668E4u); aot_gpr_4 = (ctx.gpr[23] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089668E4u) goto L_089668E4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089668E4u) goto L_089668E4; AOT_REGCACHE_SYNC_OUT(); return; L_089668E4: ctx.gpr[17] = (aot_gpr_29 + static_cast(24)); @@ -5209,7 +5210,7 @@ L_08966914: aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_31 = (0x08966920u); aot_gpr_4 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08966920u) goto L_08966920; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08966920u) goto L_08966920; AOT_REGCACHE_SYNC_OUT(); return; L_08966920: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); @@ -5225,29 +5226,29 @@ L_0896692C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08966938u) goto L_08966938; AOT_REGCACHE_SYNC_OUT(); return; L_08966938: - aot_gpr_16 = (ctx.gpr[2] | 0u); - if (aot_gpr_16 == 0u) { + ctx.gpr[16] = (ctx.gpr[2] | 0u); + if (ctx.gpr[16] == 0u) { aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), ctx.gpr[17]); goto L_08966954; } goto L_08966944; L_08966944: aot_gpr_31 = (0x0896694Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896694Cu) goto L_0896694C; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896694Cu) goto L_0896694C; AOT_REGCACHE_SYNC_OUT(); return; L_0896694C: - ctx.gpr[17] = (aot_gpr_16 | 0u); + ctx.gpr[17] = (ctx.gpr[16] | 0u); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), ctx.gpr[17]); goto L_08966954; L_08966954: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(60))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(60))); ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); goto L_0896695C; L_0896695C: aot_gpr_4 = (aot_gpr_29 + static_cast(32)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(57), static_cast(0u)); - ctx.gpr[7] = (aot_gpr_29 + static_cast(57)); + aot_gpr_7 = (aot_gpr_29 + static_cast(57)); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08966974u); aot_gpr_6 = (ctx.gpr[19] | 0u); @@ -5265,7 +5266,7 @@ L_08966980: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 309u, 0x089F5AC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08966988u) goto L_08966988; AOT_REGCACHE_SYNC_OUT(); return; L_08966988: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08966994u); aot_gpr_5 = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 737u, 0x08B670D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08966994u) goto L_08966994; @@ -5282,7 +5283,7 @@ L_08966994: L_089669A0: aot_gpr_31 = (0x089669A8u); aot_gpr_5 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089669A8u) goto L_089669A8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089669A8u) goto L_089669A8; AOT_REGCACHE_SYNC_OUT(); return; L_089669A8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(4))); @@ -5316,7 +5317,7 @@ L_089669CC: ctx.gpr[18] = (ctx.gpr[18] + static_cast(1)); aot_gpr_31 = (0x089669DCu); aot_gpr_4 = (ctx.gpr[23] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089669DCu) goto L_089669DC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089669DCu) goto L_089669DC; AOT_REGCACHE_SYNC_OUT(); return; L_089669DC: aot_gpr_4 = (ctx.gpr[30] | 0u); @@ -5345,12 +5346,12 @@ L_08966A08: aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_31 = (0x08966A14u); aot_gpr_4 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08966A14u) goto L_08966A14; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08966A14u) goto L_08966A14; AOT_REGCACHE_SYNC_OUT(); return; L_08966A14: aot_gpr_4 = (aot_gpr_29 + static_cast(48)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(58), static_cast(0u)); - ctx.gpr[7] = (aot_gpr_29 + static_cast(58)); + aot_gpr_7 = (aot_gpr_29 + static_cast(58)); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08966A2Cu); aot_gpr_6 = (ctx.gpr[19] | 0u); @@ -5359,7 +5360,7 @@ L_08966A14: L_08966A2C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(52))); aot_gpr_31 = (0x08966A38u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 737u, 0x08B670D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08966A38u) goto L_08966A38; AOT_REGCACHE_SYNC_OUT(); return; L_08966A38: @@ -5374,7 +5375,7 @@ L_08966A38: L_08966A44: aot_gpr_31 = (0x08966A4Cu); aot_gpr_5 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08966A4Cu) goto L_08966A4C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08966A4Cu) goto L_08966A4C; AOT_REGCACHE_SYNC_OUT(); return; L_08966A4C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(4))); @@ -5393,7 +5394,7 @@ L_08966A58: L_08966A64: { std::uint32_t aot_run_words[10]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(64), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -5412,15 +5413,15 @@ L_08966A64: AOT_REGCACHE_SYNC_OUT(); return; L_08966A94: aot_gpr_29 = (aot_gpr_29 + static_cast(-112)); - { const std::uint32_t aot_run_words[5]{std::bit_cast(aot_fpr_20), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[5]{std::bit_cast(ctx.fpr[20]), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(92), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_5 = (aot_gpr_16 + static_cast(32)); + ctx.gpr[16] = (aot_gpr_4 | 0u); + aot_gpr_5 = (ctx.gpr[16] + static_cast(32)); aot_gpr_31 = (0x08966ABCu); aot_gpr_4 = (aot_gpr_29 | 0u); goto L_08966708; L_08966ABC: - ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(76))); + ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(76))); { const bool branch_taken = ctx.gpr[18] == 0u; // nop if (branch_taken) { @@ -5429,7 +5430,7 @@ L_08966ABC: goto L_08966AC8; } L_08966AC8: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(80))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(80))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -5452,7 +5453,7 @@ L_08966AE4: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08966B00u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08966B00u) goto L_08966B00; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08966B00u) goto L_08966B00; AOT_REGCACHE_SYNC_OUT(); return; L_08966B00: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); @@ -5462,13 +5463,13 @@ L_08966B00: AOT_REGCACHE_SYNC_OUT(); return; L_08966B0C: aot_gpr_31 = (0x08966B14u); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(40))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08966B14u) goto L_08966B14; + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(40))); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C498, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08966B14u) goto L_08966B14; AOT_REGCACHE_SYNC_OUT(); return; L_08966B14: aot_gpr_31 = (0x08966B1Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08966B1Cu) goto L_08966B1C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C05C, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[16], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08966B1Cu) goto L_08966B1C; AOT_REGCACHE_SYNC_OUT(); return; L_08966B1C: ctx.gpr[17] = (aot_gpr_29 + static_cast(12)); @@ -5477,10 +5478,10 @@ L_08966B1C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 731u, 0x088733D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08966B28u) goto L_08966B28; AOT_REGCACHE_SYNC_OUT(); return; L_08966B28: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(56))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(56))); aot_gpr_5 = (17288u << 16u); { const bool branch_taken = static_cast(aot_gpr_4) > 0; - aot_fpr_20 = std::bit_cast(aot_gpr_5); + ctx.fpr[20] = std::bit_cast(aot_gpr_5); if (branch_taken) { goto L_08966B48; } @@ -5522,13 +5523,13 @@ L_08966B54: L_08966B5C: aot_gpr_31 = (0x08966B64u); aot_gpr_4 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08966B64u) goto L_08966B64; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C604, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08966B64u) goto L_08966B64; AOT_REGCACHE_SYNC_OUT(); return; L_08966B64: aot_gpr_4 = (aot_gpr_29 + static_cast(28)); - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(12))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(52))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(12))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(16))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(52))); aot_fpr_12 = std::bit_cast(aot_gpr_5); { const bool branch_taken = static_cast(aot_gpr_5) >= 0; aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); @@ -5539,16 +5540,16 @@ L_08966B64: } L_08966B80: aot_gpr_5 = (20352u << 16u); - ctx.fpr[15] = std::bit_cast(aot_gpr_5); - aot_fpr_12 = aot_fpr_12 + ctx.fpr[15]; + aot_fpr_15 = std::bit_cast(aot_gpr_5); + aot_fpr_12 = aot_fpr_12 + aot_fpr_15; goto L_08966B8C; L_08966B8C: - ctx.fpr[15] = std::bit_cast(std::bit_cast(aot_fpr_12)); + aot_fpr_15 = std::bit_cast(std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_14)); - aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[15])); + aot_fpr_14 = std::bit_cast(std::bit_cast(aot_fpr_15)); aot_gpr_31 = (0x08966BA0u); - ctx.fpr[15] = std::bit_cast(std::bit_cast(aot_fpr_20)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08966BA0u) goto L_08966BA0; + aot_fpr_15 = std::bit_cast(std::bit_cast(ctx.fpr[20])); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08873400, 27u, 732u, 0x08873400u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08966BA0u) goto L_08966BA0; AOT_REGCACHE_SYNC_OUT(); return; L_08966BA0: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(28))); @@ -5559,11 +5560,11 @@ L_08966BA0: aot_gpr_6 = (std::bit_cast(aot_fpr_14)); { const std::uint32_t aot_run_words[3]{aot_gpr_4, aot_gpr_5, aot_gpr_6}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(12), aot_run_words); } - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(40))); - aot_gpr_4 = (std::bit_cast(ctx.fpr[15])); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(40))); + aot_gpr_4 = (std::bit_cast(aot_fpr_15)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_4); { const bool branch_taken = 0u == 0u; - aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(44))); + ctx.fpr[20] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(44))); if (branch_taken) { goto L_08966D04; } @@ -5572,16 +5573,16 @@ L_08966BA0: L_08966BD8: aot_gpr_31 = (0x08966BE0u); aot_gpr_4 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08966BE0u) goto L_08966BE0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C604, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08966BE0u) goto L_08966BE0; AOT_REGCACHE_SYNC_OUT(); return; L_08966BE0: - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(12))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(12))); aot_gpr_4 = (17160u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_14 <= aot_fpr_12)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(16))); if (branch_taken) { goto L_08966C58; } @@ -5590,14 +5591,14 @@ L_08966BE0: L_08966BFC: aot_gpr_4 = (17389u << 16u); aot_gpr_4 = (aot_gpr_4 | 32768u); - ctx.fpr[15] = std::bit_cast(aot_gpr_4); - aot_fpr_12 = ctx.fpr[15] - aot_fpr_14; + aot_fpr_15 = std::bit_cast(aot_gpr_4); + aot_fpr_12 = aot_fpr_15 - aot_fpr_14; aot_gpr_4 = (aot_gpr_29 + static_cast(44)); aot_fpr_12 = aot_fpr_14 - aot_fpr_12; - aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[15])); + aot_fpr_14 = std::bit_cast(std::bit_cast(aot_fpr_15)); aot_gpr_31 = (0x08966C20u); - ctx.fpr[15] = std::bit_cast(std::bit_cast(aot_fpr_20)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08966C20u) goto L_08966C20; + aot_fpr_15 = std::bit_cast(std::bit_cast(ctx.fpr[20])); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08873400, 27u, 732u, 0x08873400u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08966C20u) goto L_08966C20; AOT_REGCACHE_SYNC_OUT(); return; L_08966C20: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(44))); @@ -5608,11 +5609,11 @@ L_08966C20: aot_gpr_6 = (std::bit_cast(aot_fpr_14)); { const std::uint32_t aot_run_words[3]{aot_gpr_4, aot_gpr_5, aot_gpr_6}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(12), aot_run_words); } - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(56))); - aot_gpr_4 = (std::bit_cast(ctx.fpr[15])); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(56))); + aot_gpr_4 = (std::bit_cast(aot_fpr_15)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_4); { const bool branch_taken = 0u == 0u; - aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(44))); + ctx.fpr[20] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(44))); if (branch_taken) { goto L_08966CA8; } @@ -5621,12 +5622,12 @@ L_08966C20: L_08966C58: aot_gpr_4 = (16544u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - ctx.fpr[15] = aot_fpr_14 - aot_fpr_12; + aot_fpr_15 = aot_fpr_14 - aot_fpr_12; aot_gpr_4 = (aot_gpr_29 + static_cast(60)); - aot_fpr_14 = aot_fpr_14 + ctx.fpr[15]; + aot_fpr_14 = aot_fpr_14 + aot_fpr_15; aot_gpr_31 = (0x08966C74u); - ctx.fpr[15] = std::bit_cast(std::bit_cast(aot_fpr_20)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08966C74u) goto L_08966C74; + aot_fpr_15 = std::bit_cast(std::bit_cast(ctx.fpr[20])); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08873400, 27u, 732u, 0x08873400u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08966C74u) goto L_08966C74; AOT_REGCACHE_SYNC_OUT(); return; L_08966C74: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(60))); @@ -5637,10 +5638,10 @@ L_08966C74: aot_gpr_6 = (std::bit_cast(aot_fpr_14)); { const std::uint32_t aot_run_words[3]{aot_gpr_4, aot_gpr_5, aot_gpr_6}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(12), aot_run_words); } - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(72))); - aot_gpr_4 = (std::bit_cast(ctx.fpr[15])); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(72))); + aot_gpr_4 = (std::bit_cast(aot_fpr_15)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_4); - aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(44))); + ctx.fpr[20] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(44))); goto L_08966CA8; L_08966CA8: { const bool branch_taken = 0u == 0u; @@ -5653,16 +5654,16 @@ L_08966CA8: L_08966CB0: aot_gpr_31 = (0x08966CB8u); aot_gpr_4 = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08966CB8u) goto L_08966CB8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C604, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08966CB8u) goto L_08966CB8; AOT_REGCACHE_SYNC_OUT(); return; L_08966CB8: aot_gpr_4 = (aot_gpr_29 + static_cast(76)); aot_fpr_12 = std::bit_cast(0u); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(12))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(16))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(12))); aot_gpr_31 = (0x08966CD0u); - ctx.fpr[15] = std::bit_cast(std::bit_cast(aot_fpr_20)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08966CD0u) goto L_08966CD0; + aot_fpr_15 = std::bit_cast(std::bit_cast(ctx.fpr[20])); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08873400, 27u, 732u, 0x08873400u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08966CD0u) goto L_08966CD0; AOT_REGCACHE_SYNC_OUT(); return; L_08966CD0: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(76))); @@ -5673,36 +5674,36 @@ L_08966CD0: aot_gpr_6 = (std::bit_cast(aot_fpr_14)); { const std::uint32_t aot_run_words[3]{aot_gpr_4, aot_gpr_5, aot_gpr_6}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(12), aot_run_words); } - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(88))); - aot_gpr_4 = (std::bit_cast(ctx.fpr[15])); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(88))); + aot_gpr_4 = (std::bit_cast(aot_fpr_15)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_4); - aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(44))); + ctx.fpr[20] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(44))); goto L_08966D04; L_08966D04: aot_gpr_31 = (0x08966D0Cu); - aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); + aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 68u, 0x08B0C520u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08966D0Cu) goto L_08966D0C; AOT_REGCACHE_SYNC_OUT(); return; L_08966D0C: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(12))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(12))); aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); aot_gpr_5 = (std::bit_cast(aot_fpr_12)); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(16))); aot_fpr_13 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_13)); aot_gpr_6 = (std::bit_cast(aot_fpr_13)); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(8))); - ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(9))); - ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(10))); - ctx.gpr[9] = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(11))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(8))); + aot_gpr_7 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(9))); + ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(10))); + ctx.gpr[9] = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(11))); aot_gpr_4 = (aot_gpr_4 & 255u); - ctx.gpr[7] = (ctx.gpr[7] & 255u); + aot_gpr_7 = (aot_gpr_7 & 255u); ctx.gpr[8] = (ctx.gpr[8] & 255u); ctx.gpr[9] = (ctx.gpr[9] & 255u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(8), static_cast(aot_gpr_4)); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(9), static_cast(ctx.gpr[7])); + aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(9), static_cast(aot_gpr_7)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(10), static_cast(ctx.gpr[8])); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(11), static_cast(ctx.gpr[9])); - ctx.gpr[7] = (aot_gpr_29 + static_cast(8)); + aot_gpr_7 = (aot_gpr_29 + static_cast(8)); aot_gpr_4 = (ctx.gpr[18] | 0u); ctx.gpr[8] = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08966D68u); @@ -5712,10 +5713,10 @@ L_08966D0C: L_08966D68: aot_gpr_31 = (0x08966D70u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08966D70u) goto L_08966D70; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2E4, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08966D70u) goto L_08966D70; AOT_REGCACHE_SYNC_OUT(); return; L_08966D70: - ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(76))); + ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(76))); goto L_08966D74; L_08966D74: { const bool branch_taken = ctx.gpr[18] == 0u; @@ -5727,11 +5728,11 @@ L_08966D74: } L_08966D7C: aot_gpr_5 = (ctx.gpr[18] + static_cast(-1)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(76), aot_gpr_5); - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(80))); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(76), aot_gpr_5); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(80))); aot_gpr_5 = (aot_gpr_5 ^ 1u); aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(80), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(80), static_cast(aot_gpr_5)); goto L_08966D94; L_08966D94: aot_gpr_5 = (ctx.gpr[28] + static_cast(5824)); @@ -5746,13 +5747,13 @@ L_08966DA0: aot_gpr_4 = (2236u << 16u); aot_gpr_31 = (0x08966DACu); aot_gpr_4 = (aot_gpr_4 + static_cast(25856)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08966DACu) goto L_08966DAC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08966DACu) goto L_08966DAC; AOT_REGCACHE_SYNC_OUT(); return; L_08966DAC: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(92), aot_run_words); - aot_fpr_20 = std::bit_cast(aot_run_words[0]); - aot_gpr_16 = aot_run_words[1]; + ctx.fpr[20] = std::bit_cast(aot_run_words[0]); + ctx.gpr[16] = aot_run_words[1]; ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; @@ -5776,10 +5777,10 @@ L_08966DC8: AOT_REGCACHE_SYNC_OUT(); return; L_08966DE0: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x08966DF4u); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0131_entry, 131u, 127u, 0x08A11208u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08966DF4u) goto L_08966DF4; AOT_REGCACHE_SYNC_OUT(); return; L_08966DF4: @@ -5794,7 +5795,7 @@ L_08966DFC: AOT_REGCACHE_SYNC_OUT(); return; L_08966E04: aot_gpr_31 = (0x08966E0Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 591u, 0x08AD35A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08966E0Cu) goto L_08966E0C; AOT_REGCACHE_SYNC_OUT(); return; L_08966E0C: @@ -5805,11 +5806,11 @@ L_08966E0C: L_08966E14: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7800))); aot_gpr_6 = (aot_gpr_4 + aot_gpr_4); - ctx.gpr[7] = (aot_gpr_4 << 8u); + aot_gpr_7 = (aot_gpr_4 << 8u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); aot_gpr_5 = (2238u << 16u); aot_gpr_4 = (aot_gpr_4 << 5u); - aot_gpr_4 = (ctx.gpr[7] + aot_gpr_4); + aot_gpr_4 = (aot_gpr_7 + aot_gpr_4); aot_gpr_5 = (aot_gpr_5 + static_cast(-6992)); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); @@ -5819,7 +5820,7 @@ L_08966E14: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 257u, 0x08809600u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08966E48u) goto L_08966E48; AOT_REGCACHE_SYNC_OUT(); return; L_08966E48: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -5830,9 +5831,9 @@ L_08966E48: L_08966E58: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7649))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_5 = (aot_gpr_5 + aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); + aot_gpr_5 = (aot_gpr_5 + ctx.gpr[16]); aot_gpr_6 = (static_cast(aot_gpr_5) < 60 ? 1u : 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); { const bool branch_taken = aot_gpr_6 != 0u; @@ -5866,8 +5867,8 @@ L_08966E98: goto L_08966E9C; L_08966E9C: aot_gpr_4 = (aot_gpr_4 + static_cast(-24)); - ctx.gpr[7] = (static_cast(aot_gpr_4) < 24 ? 1u : 0u); - { const bool branch_taken = ctx.gpr[7] == 0u; + aot_gpr_7 = (static_cast(aot_gpr_4) < 24 ? 1u : 0u); + { const bool branch_taken = aot_gpr_7 == 0u; aot_gpr_6 = (aot_gpr_6 + static_cast(1)); if (branch_taken) { goto L_08966E9C; @@ -5884,7 +5885,7 @@ L_08966EB0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0079_entry, 79u, 225u, 0x08941948u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08966EBCu) goto L_08966EBC; AOT_REGCACHE_SYNC_OUT(); return; L_08966EBC: - aot_gpr_4 = (aot_gpr_16 << 3u); + aot_gpr_4 = (ctx.gpr[16] << 3u); aot_gpr_5 = (0u + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_5 = (aot_gpr_5 - aot_gpr_4); @@ -5894,7 +5895,7 @@ L_08966EBC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0059_entry, 59u, 644u, 0x088F3420u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08966ED8u) goto L_08966ED8; AOT_REGCACHE_SYNC_OUT(); return; L_08966ED8: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -5962,11 +5963,11 @@ L_08966F34: AOT_REGCACHE_SYNC_OUT(); return; L_08966F40: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - { const std::uint32_t aot_run_words[5]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), aot_gpr_16, ctx.gpr[17], aot_gpr_31}; + { const std::uint32_t aot_run_words[5]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), ctx.gpr[16], ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(8), aot_run_words); } - aot_fpr_20 = std::bit_cast(std::bit_cast(aot_fpr_13)); + ctx.fpr[20] = std::bit_cast(std::bit_cast(aot_fpr_13)); ctx.fpr[22] = std::bit_cast(std::bit_cast(aot_fpr_12)); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.gpr[17] = (aot_gpr_5 | 0u); aot_gpr_31 = (0x08966F70u); // nop @@ -5974,7 +5975,7 @@ L_08966F40: L_08966F70: aot_gpr_4 = (0u | 1u); aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(9093), static_cast(aot_gpr_4)); - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -6003,7 +6004,7 @@ L_08966F70: const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(9152), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(9152), std::bit_cast(ctx.fpr[20])); aot_gpr_6 = (ctx.gpr[28] + static_cast(-17520)); aot_gpr_4 = (0u | 183u); aot_gpr_31 = (0x08966FA8u); @@ -6018,9 +6019,9 @@ L_08966FA8: L_08966FB0: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(8), aot_run_words); - aot_fpr_20 = std::bit_cast(aot_run_words[0]); + ctx.fpr[20] = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); - aot_gpr_16 = aot_run_words[2]; + ctx.gpr[16] = aot_run_words[2]; ctx.gpr[17] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; } @@ -6033,7 +6034,7 @@ L_08966FB0: L_08966FCC: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8968))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -6079,11 +6080,11 @@ L_08967024: L_08967028: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8968))); aot_gpr_31 = (0x08967034u); - aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0218_entry, 218u, 139u, 0x08B6CC28u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08967034u) goto L_08967034; AOT_REGCACHE_SYNC_OUT(); return; L_08967034: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 1u); aot_gpr_31 = (0x08967044u); aot_gpr_6 = (ctx.gpr[2] | 0u); @@ -6094,7 +6095,7 @@ L_08967044: goto L_08967048; L_08967048: aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(9093), static_cast(0u)); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -6124,8 +6125,8 @@ L_08967070: } L_0896707C: aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); - ctx.gpr[7] = (0u | 58u); - { const bool branch_taken = aot_gpr_6 == ctx.gpr[7]; + aot_gpr_7 = (0u | 58u); + { const bool branch_taken = aot_gpr_6 == aot_gpr_7; aot_gpr_6 = (aot_gpr_4 + static_cast(2228)); if (branch_taken) { goto L_089670F8; @@ -6134,8 +6135,8 @@ L_0896707C: } L_0896708C: aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); - ctx.gpr[7] = (0u | 57u); - { const bool branch_taken = aot_gpr_6 == ctx.gpr[7]; + aot_gpr_7 = (0u | 57u); + { const bool branch_taken = aot_gpr_6 == aot_gpr_7; aot_gpr_6 = (aot_gpr_4 + static_cast(2228)); if (branch_taken) { goto L_089670F8; @@ -6144,8 +6145,8 @@ L_0896708C: } L_0896709C: aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); - ctx.gpr[7] = (0u | 60u); - { const bool branch_taken = aot_gpr_6 == ctx.gpr[7]; + aot_gpr_7 = (0u | 60u); + { const bool branch_taken = aot_gpr_6 == aot_gpr_7; aot_gpr_6 = (aot_gpr_4 + static_cast(2228)); if (branch_taken) { goto L_089670F8; @@ -6154,8 +6155,8 @@ L_0896709C: } L_089670AC: aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); - ctx.gpr[7] = (0u | 32u); - { const bool branch_taken = aot_gpr_6 == ctx.gpr[7]; + aot_gpr_7 = (0u | 32u); + { const bool branch_taken = aot_gpr_6 == aot_gpr_7; // nop if (branch_taken) { goto L_089670F8; @@ -6211,11 +6212,11 @@ L_08967100: L_08967108: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7800))); aot_gpr_6 = (aot_gpr_4 + aot_gpr_4); - ctx.gpr[7] = (aot_gpr_4 << 8u); + aot_gpr_7 = (aot_gpr_4 << 8u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); aot_gpr_4 = (aot_gpr_4 << 5u); aot_gpr_6 = (2238u << 16u); - aot_gpr_4 = (ctx.gpr[7] + aot_gpr_4); + aot_gpr_4 = (aot_gpr_7 + aot_gpr_4); aot_gpr_6 = (aot_gpr_6 + static_cast(-6992)); aot_gpr_31 = (0x08967130u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); @@ -6279,7 +6280,7 @@ L_08967198: L_089671A4: aot_gpr_29 = (aot_gpr_29 + static_cast(-64)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8968))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), aot_gpr_31); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -6289,9 +6290,9 @@ L_089671A4: goto L_089671BC; } L_089671BC: - aot_gpr_16 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[16] = (aot_gpr_29 + static_cast(16)); aot_gpr_31 = (0x089671C8u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 16u, 0x08960154u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089671C8u) goto L_089671C8; AOT_REGCACHE_SYNC_OUT(); return; L_089671C8: @@ -6306,7 +6307,7 @@ L_089671C8: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -6372,7 +6373,7 @@ L_08967244: // nop goto L_08966FCC; L_0896724C: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(48))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(48))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(52))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(64)); @@ -6458,7 +6459,7 @@ L_089672CC: L_089672D4: aot_gpr_29 = (aot_gpr_29 + static_cast(-112)); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(9188))); - { const std::uint32_t aot_run_words[6]{std::bit_cast(aot_fpr_20), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; + { const std::uint32_t aot_run_words[6]{std::bit_cast(ctx.fpr[20]), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(84), aot_run_words); } { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -6475,7 +6476,7 @@ L_089672FC: ctx.gpr[19] = (0u + static_cast(-1)); aot_gpr_4 = (static_cast(ctx.gpr[18]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; - aot_fpr_20 = std::bit_cast(aot_gpr_5); + ctx.fpr[20] = std::bit_cast(aot_gpr_5); if (branch_taken) { goto L_08967388; } @@ -6485,12 +6486,12 @@ L_0896731C: aot_gpr_4 = (2247u << 16u); ctx.gpr[17] = (0u | 0u); aot_gpr_4 = (aot_gpr_4 + static_cast(14448)); - aot_gpr_16 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[16] = (aot_gpr_29 + static_cast(16)); ctx.gpr[17] = (ctx.gpr[17] + aot_gpr_4); goto L_08967330; L_08967330: aot_gpr_31 = (0x08967338u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 16u, 0x08960154u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08967338u) goto L_08967338; AOT_REGCACHE_SYNC_OUT(); return; L_08967338: @@ -6503,7 +6504,7 @@ L_08967338: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -6530,7 +6531,7 @@ L_08967338: ctx.execute_vfpu_unary_ct<28u, 28u, 1u, 22u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_12 = std::bit_cast(aot_gpr_4); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_20)) ? 0x00800000u : 0u); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[20])) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -6540,7 +6541,7 @@ L_08967338: goto L_0896736C; } L_0896736C: - aot_fpr_20 = std::bit_cast(std::bit_cast(aot_fpr_12)); + ctx.fpr[20] = std::bit_cast(std::bit_cast(aot_fpr_12)); ctx.gpr[19] = (ctx.gpr[18] | 0u); goto L_08967374; L_08967374: @@ -6557,7 +6558,7 @@ L_08967374: L_08967388: aot_gpr_4 = (17096u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_20 < aot_fpr_12)) ? 0x00800000u : 0u); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[20] < aot_fpr_12)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -6614,8 +6615,8 @@ L_089673E8: L_089673EC: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(84), aot_run_words); - aot_fpr_20 = std::bit_cast(aot_run_words[0]); - aot_gpr_16 = aot_run_words[1]; + ctx.fpr[20] = std::bit_cast(aot_run_words[0]); + ctx.gpr[16] = aot_run_words[1]; ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; ctx.gpr[19] = aot_run_words[4]; @@ -6630,7 +6631,7 @@ L_089673EC: L_0896740C: aot_gpr_29 = (aot_gpr_29 + static_cast(-224)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5884))); - { const std::uint32_t aot_run_words[8]{std::bit_cast(aot_fpr_20), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_31}; + { const std::uint32_t aot_run_words[8]{std::bit_cast(ctx.fpr[20]), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(192), aot_run_words); } if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5884))); @@ -6751,7 +6752,7 @@ L_089674DC: aot_gpr_4 = (aot_gpr_4 + static_cast(2228)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; - aot_gpr_16 = (0u | 65u); + ctx.gpr[16] = (0u | 65u); if (branch_taken) { goto L_08967504; } @@ -6771,7 +6772,7 @@ L_08967504: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(0))); aot_gpr_4 = (aot_gpr_4 + static_cast(2228)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - { const bool branch_taken = aot_gpr_4 != aot_gpr_16; + { const bool branch_taken = aot_gpr_4 != ctx.gpr[16]; // nop if (branch_taken) { goto L_08967528; @@ -6803,7 +6804,7 @@ L_08967530: ctx.gpr[17] = (ctx.gpr[17] - aot_gpr_4); ctx.gpr[19] = (aot_gpr_5 - aot_gpr_4); aot_gpr_4 = (ctx.gpr[19] < static_cast(2049) ? 1u : 0u); - aot_gpr_16 = (ctx.gpr[19] < static_cast(4096) ? 1u : 0u); + ctx.gpr[16] = (ctx.gpr[19] < static_cast(4096) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; ctx.gpr[19] = (ctx.gpr[19] < static_cast(4608) ? 1u : 0u); if (branch_taken) { @@ -6827,7 +6828,7 @@ L_08967560: aot_gpr_5 = (0u | 200u); aot_gpr_6 = (0u | 200u); aot_gpr_31 = (0x0896757Cu); - ctx.gpr[7] = (0u | 200u); + aot_gpr_7 = (0u | 200u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0134_entry, 134u, 156u, 0x08A1CF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896757Cu) goto L_0896757C; AOT_REGCACHE_SYNC_OUT(); return; L_0896757C: @@ -6839,7 +6840,7 @@ L_0896757C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0134_entry, 134u, 4u, 0x08A1C044u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08967590u) goto L_08967590; AOT_REGCACHE_SYNC_OUT(); return; L_08967590: - { const bool branch_taken = aot_gpr_16 != 0u; + { const bool branch_taken = ctx.gpr[16] != 0u; aot_gpr_4 = (ctx.gpr[17] < static_cast(4097) ? 1u : 0u); if (branch_taken) { goto L_089677F8; @@ -6856,9 +6857,9 @@ L_08967598: } L_089675A0: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[21] + static_cast(339))); - aot_fpr_20 = std::bit_cast(0u); + ctx.fpr[20] = std::bit_cast(0u); ctx.gpr[20] = (2236u << 16u); - aot_gpr_16 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[16] = (aot_gpr_29 + static_cast(16)); ctx.gpr[17] = (aot_gpr_29 + static_cast(32)); ctx.gpr[20] = (ctx.gpr[20] + static_cast(32304)); { const bool branch_taken = aot_gpr_4 == 0u; @@ -6988,12 +6989,12 @@ L_0896768C: L_08967694: aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x089676A0u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 111u, 0x089609B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089676A0u) goto L_089676A0; AOT_REGCACHE_SYNC_OUT(); return; L_089676A0: aot_gpr_6 = (17786u << 16u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_fpr_12 = std::bit_cast(aot_gpr_6); aot_gpr_31 = (0x089676B4u); aot_gpr_5 = (0u | 1u); @@ -7026,12 +7027,12 @@ L_089676CC: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_20)}; + { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[20])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(32), aot_run_words); } - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089676F0u); aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 461u, 0x08A93198u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089676F0u) goto L_089676F0; @@ -7179,7 +7180,7 @@ L_089677D0: // nop goto L_089672D4; L_089677D8: - aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(1936), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(1936), std::bit_cast(ctx.fpr[20])); aot_gpr_31 = (0x089677E4u); aot_gpr_4 = (ctx.gpr[20] + static_cast(2856)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0045_entry, 45u, 518u, 0x088BA740u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089677E4u) goto L_089677E4; @@ -7246,17 +7247,17 @@ L_08967838: } L_08967848: aot_gpr_4 = (2236u << 16u); - aot_gpr_16 = (aot_gpr_4 + static_cast(32304)); - aot_gpr_4 = (aot_gpr_16 | 0u); + ctx.gpr[16] = (aot_gpr_4 + static_cast(32304)); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 200u); aot_gpr_6 = (0u | 200u); aot_gpr_31 = (0x08967864u); - ctx.gpr[7] = (0u | 200u); + aot_gpr_7 = (0u | 200u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0134_entry, 134u, 156u, 0x08A1CF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08967864u) goto L_08967864; AOT_REGCACHE_SYNC_OUT(); return; L_08967864: aot_gpr_6 = (16448u << 16u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_fpr_12 = std::bit_cast(aot_gpr_6); aot_gpr_31 = (0x08967878u); aot_gpr_5 = (0u | 1u); @@ -7283,15 +7284,15 @@ L_08967888: goto L_08967890; } L_08967890: - aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(212))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(212))); ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7668))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); - ctx.gpr[19] = (ctx.gpr[19] - aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 - aot_gpr_16); - aot_gpr_4 = (aot_gpr_16 < static_cast(2049) ? 1u : 0u); - ctx.gpr[18] = (aot_gpr_16 < static_cast(4096) ? 1u : 0u); + ctx.gpr[19] = (ctx.gpr[19] - ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 - ctx.gpr[16]); + aot_gpr_4 = (ctx.gpr[16] < static_cast(2049) ? 1u : 0u); + ctx.gpr[18] = (ctx.gpr[16] < static_cast(4096) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; - ctx.gpr[17] = (aot_gpr_16 < static_cast(4608) ? 1u : 0u); + ctx.gpr[17] = (ctx.gpr[16] < static_cast(4608) ? 1u : 0u); if (branch_taken) { goto L_089678F0; } @@ -7313,7 +7314,7 @@ L_089678C0: aot_gpr_5 = (0u | 0u); aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x089678DCu); - ctx.gpr[7] = (0u | 0u); + aot_gpr_7 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0134_entry, 134u, 156u, 0x08A1CF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089678DCu) goto L_089678DC; AOT_REGCACHE_SYNC_OUT(); return; L_089678DC: @@ -7349,15 +7350,15 @@ L_08967900: L_0896790C: aot_gpr_31 = (0x08967914u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08967914u) goto L_08967914; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08967914u) goto L_08967914; AOT_REGCACHE_SYNC_OUT(); return; L_08967914: - ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-17452))); + aot_gpr_7 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-17452))); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-17456))); aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08967928u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08967928u) goto L_08967928; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08967928u) goto L_08967928; AOT_REGCACHE_SYNC_OUT(); return; L_08967928: ctx.gpr[1] = (ctx.gpr[3] << 1u); @@ -7431,7 +7432,7 @@ L_089679A4: aot_mem.aot_direct_store8(ctx.gpr[21] + static_cast(341), static_cast(aot_gpr_4)); goto L_089679AC; L_089679AC: - aot_gpr_4 = (aot_gpr_16 < static_cast(4001) ? 1u : 0u); + aot_gpr_4 = (ctx.gpr[16] < static_cast(4001) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -7471,12 +7472,12 @@ L_089679D8: } L_089679E0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(0))); - aot_gpr_16 = (2236u << 16u); + ctx.gpr[16] = (2236u << 16u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(2320))); aot_gpr_4 = (aot_gpr_4 + static_cast(-2)); aot_gpr_5 = (aot_gpr_4 < static_cast(5) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; - aot_gpr_16 = (aot_gpr_16 + static_cast(32304)); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(32304)); if (branch_taken) { goto L_08967A24; } @@ -7751,7 +7752,7 @@ L_08967B9C: goto L_089672D4; L_08967BA4: aot_gpr_31 = (0x08967BACu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0135_entry, 135u, 316u, 0x08A225A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08967BACu) goto L_08967BAC; AOT_REGCACHE_SYNC_OUT(); return; L_08967BAC: @@ -7780,9 +7781,9 @@ L_08967BC8: goto L_08966DE0; L_08967BD4: aot_fpr_12 = std::bit_cast(0u); - aot_gpr_4 = (aot_gpr_16 + static_cast(2856)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(2856)); aot_gpr_31 = (0x08967BE4u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(1936), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(1936), std::bit_cast(aot_fpr_12)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0045_entry, 45u, 518u, 0x088BA740u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08967BE4u) goto L_08967BE4; AOT_REGCACHE_SYNC_OUT(); return; L_08967BE4: @@ -7821,17 +7822,17 @@ L_08967C0C: } L_08967C1C: aot_gpr_4 = (2236u << 16u); - aot_gpr_16 = (aot_gpr_4 + static_cast(32304)); - aot_gpr_4 = (aot_gpr_16 | 0u); + ctx.gpr[16] = (aot_gpr_4 + static_cast(32304)); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x08967C38u); - ctx.gpr[7] = (0u | 0u); + aot_gpr_7 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0134_entry, 134u, 156u, 0x08A1CF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08967C38u) goto L_08967C38; AOT_REGCACHE_SYNC_OUT(); return; L_08967C38: aot_gpr_6 = (16448u << 16u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_fpr_12 = std::bit_cast(aot_gpr_6); aot_gpr_31 = (0x08967C4Cu); aot_gpr_5 = (0u | 1u); @@ -7859,9 +7860,9 @@ L_08967C5C: } L_08967C64: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(212))); - aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7668))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7668))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); - aot_gpr_16 = (aot_gpr_16 - aot_gpr_4); + ctx.gpr[16] = (ctx.gpr[16] - aot_gpr_4); ctx.gpr[18] = (aot_gpr_5 - aot_gpr_4); aot_gpr_4 = (ctx.gpr[18] < static_cast(2049) ? 1u : 0u); ctx.gpr[17] = (ctx.gpr[18] < static_cast(4096) ? 1u : 0u); @@ -7873,7 +7874,7 @@ L_08967C64: goto L_08967C88; } L_08967C88: - aot_gpr_4 = (aot_gpr_16 < static_cast(2049) ? 1u : 0u); + aot_gpr_4 = (ctx.gpr[16] < static_cast(2049) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -7888,7 +7889,7 @@ L_08967C94: aot_gpr_5 = (0u | 0u); aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x08967CB0u); - ctx.gpr[7] = (0u | 0u); + aot_gpr_7 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0134_entry, 134u, 156u, 0x08A1CF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08967CB0u) goto L_08967CB0; AOT_REGCACHE_SYNC_OUT(); return; L_08967CB0: @@ -7901,7 +7902,7 @@ L_08967CB0: AOT_REGCACHE_SYNC_OUT(); return; L_08967CC4: { const bool branch_taken = ctx.gpr[17] != 0u; - aot_gpr_4 = (aot_gpr_16 < static_cast(4097) ? 1u : 0u); + aot_gpr_4 = (ctx.gpr[16] < static_cast(4097) ? 1u : 0u); if (branch_taken) { goto L_08967E38; } @@ -7921,9 +7922,9 @@ L_08967CD4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 195u, 0x08910B38u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08967CDCu) goto L_08967CDC; AOT_REGCACHE_SYNC_OUT(); return; L_08967CDC: - aot_gpr_16 = (2236u << 16u); + ctx.gpr[16] = (2236u << 16u); { const bool branch_taken = ctx.gpr[2] == 0u; - aot_gpr_16 = (aot_gpr_16 + static_cast(32304)); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(32304)); if (branch_taken) { goto L_08967D68; } @@ -8057,7 +8058,7 @@ L_08967DDC: goto L_089672CC; L_08967DE4: aot_gpr_31 = (0x08967DECu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0135_entry, 135u, 316u, 0x08A225A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08967DECu) goto L_08967DEC; AOT_REGCACHE_SYNC_OUT(); return; L_08967DEC: @@ -8086,9 +8087,9 @@ L_08967E08: goto L_08966DE0; L_08967E14: aot_fpr_12 = std::bit_cast(0u); - aot_gpr_4 = (aot_gpr_16 + static_cast(2856)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(2856)); aot_gpr_31 = (0x08967E24u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(1936), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(1936), std::bit_cast(aot_fpr_12)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0045_entry, 45u, 518u, 0x088BA740u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08967E24u) goto L_08967E24; AOT_REGCACHE_SYNC_OUT(); return; L_08967E24: @@ -8117,18 +8118,18 @@ L_08967E40: AOT_REGCACHE_SYNC_OUT(); return; L_08967E4C: aot_gpr_4 = (2236u << 16u); - aot_gpr_16 = (aot_gpr_4 + static_cast(32304)); + ctx.gpr[16] = (aot_gpr_4 + static_cast(32304)); aot_mem.aot_direct_store16(ctx.gpr[2] + static_cast(154), static_cast(0u)); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x08967E6Cu); - ctx.gpr[7] = (0u | 0u); + aot_gpr_7 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0134_entry, 134u, 156u, 0x08A1CF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08967E6Cu) goto L_08967E6C; AOT_REGCACHE_SYNC_OUT(); return; L_08967E6C: aot_gpr_6 = (16448u << 16u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_fpr_12 = std::bit_cast(aot_gpr_6); aot_gpr_31 = (0x08967E80u); aot_gpr_5 = (0u | 1u); @@ -8155,11 +8156,11 @@ L_08967E90: aot_gpr_6 = (aot_gpr_4 << 8u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_gpr_4 << 5u); - aot_gpr_16 = (aot_gpr_6 + aot_gpr_4); + ctx.gpr[16] = (aot_gpr_6 + aot_gpr_4); aot_gpr_4 = (2238u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-6992)); - aot_gpr_16 = (aot_gpr_16 + aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(208))); + ctx.gpr[16] = (ctx.gpr[16] + aot_gpr_4); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(208))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -8168,7 +8169,7 @@ L_08967E90: goto L_08967EBC; } L_08967EBC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_5 = (0u | 58u); aot_gpr_4 = (aot_gpr_4 + static_cast(2228)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); @@ -8181,16 +8182,16 @@ L_08967EBC: } L_08967ED4: aot_gpr_31 = (0x08967EDCu); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 676u, 0x08947574u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08967EDCu) goto L_08967EDC; AOT_REGCACHE_SYNC_OUT(); return; L_08967EDC: aot_gpr_31 = (0x08967EE4u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 222u, 0x089614B0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08967EE4u) goto L_08967EE4; AOT_REGCACHE_SYNC_OUT(); return; L_08967EE4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_4 = (aot_gpr_4 + static_cast(2228)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); { const bool branch_taken = aot_gpr_4 != ctx.gpr[17]; @@ -8202,19 +8203,19 @@ L_08967EE4: } L_08967EF8: aot_gpr_31 = (0x08967F00u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 676u, 0x08947574u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08967F00u) goto L_08967F00; AOT_REGCACHE_SYNC_OUT(); return; L_08967F00: aot_gpr_31 = (0x08967F08u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 241u, 0x089615ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08967F08u) goto L_08967F08; AOT_REGCACHE_SYNC_OUT(); return; L_08967F08: { std::uint32_t aot_run_words[8]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(192), aot_run_words); - aot_fpr_20 = std::bit_cast(aot_run_words[0]); - aot_gpr_16 = aot_run_words[1]; + ctx.fpr[20] = std::bit_cast(aot_run_words[0]); + ctx.gpr[16] = aot_run_words[1]; ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; ctx.gpr[19] = aot_run_words[4]; @@ -8230,10 +8231,10 @@ L_08967F08: AOT_REGCACHE_SYNC_OUT(); return; L_08967F30: aot_gpr_29 = (aot_gpr_29 + static_cast(-112)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), std::bit_cast(aot_fpr_20)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(76), aot_gpr_16); - aot_fpr_20 = std::bit_cast(std::bit_cast(aot_fpr_12)); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), std::bit_cast(ctx.fpr[20])); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(76), ctx.gpr[16]); + ctx.fpr[20] = std::bit_cast(std::bit_cast(aot_fpr_12)); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(72), std::bit_cast(ctx.fpr[22])); { const std::uint32_t aot_run_words[5]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(80), aot_run_words); } @@ -8243,45 +8244,45 @@ L_08967F30: L_08967F64: aot_gpr_4 = (17096u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(72))); ctx.fpr[22] = std::bit_cast(0u); aot_gpr_5 = (8u << 16u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(1252), std::bit_cast(aot_fpr_13)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(1256), std::bit_cast(ctx.fpr[22])); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(1252), std::bit_cast(aot_fpr_13)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(1256), std::bit_cast(ctx.fpr[22])); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(472))); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(72), aot_gpr_4); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(472))); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(72), aot_gpr_4); aot_gpr_4 = (0u + static_cast(-12289)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(1768), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(1768), 0u); aot_gpr_4 = (aot_gpr_5 & aot_gpr_4); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(236))); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(472), aot_gpr_4); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(236))); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(472), aot_gpr_4); aot_gpr_4 = (49152u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-1)); aot_gpr_4 = (aot_gpr_5 & aot_gpr_4); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(3261)))))); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(236), aot_gpr_4); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(3261)))))); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(236), aot_gpr_4); ctx.gpr[19] = (0u + static_cast(-2)); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(3258), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(3258), static_cast(0u)); aot_gpr_4 = (aot_gpr_5 & ctx.gpr[19]); ctx.gpr[18] = (2236u << 16u); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(3261), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(3261), static_cast(aot_gpr_4)); ctx.gpr[18] = (ctx.gpr[18] + static_cast(32304)); aot_gpr_31 = (0x08967FD4u); aot_gpr_4 = (ctx.gpr[18] + static_cast(2856)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0045_entry, 45u, 517u, 0x088BA728u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08967FD4u) goto L_08967FD4; AOT_REGCACHE_SYNC_OUT(); return; L_08967FD4: - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(3259), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(3259), static_cast(0u)); aot_gpr_31 = (0x08967FE0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 676u, 0x08947574u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08967FE0u) goto L_08967FE0; AOT_REGCACHE_SYNC_OUT(); return; L_08967FE0: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(3160))); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1712))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(3160))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1712))); { const bool branch_taken = aot_gpr_4 == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(3264), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(3264), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_08967FF8; } @@ -8289,11 +8290,11 @@ L_08967FE0: } L_08967FF0: aot_gpr_31 = (0x08967FF8u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1712))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1712))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0114_entry, 114u, 649u, 0x089CF934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08967FF8u) goto L_08967FF8; AOT_REGCACHE_SYNC_OUT(); return; L_08967FF8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2196))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2196))); aot_gpr_5 = (0u | 17u); ctx.pc = 0x08968000u; AOT_REGCACHE_SYNC_OUT(); return; } diff --git a/profiles/vcs/generated/generated_unit_0089.cpp b/profiles/vcs/generated/generated_unit_0089.cpp index c88dd75..e5fd4bb 100644 --- a/profiles/vcs/generated/generated_unit_0089.cpp +++ b/profiles/vcs/generated/generated_unit_0089.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0089[4090] = { }; void recomp_unit_0089_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,16,5,31,29,17 fprs=12,13,14,15 gpr_occ=3351 fpr_occ=1409 gpr_total=4309 fpr_total=1820 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,16,31,29,2 fprs=12,13,14,15 gpr_occ=3397 fpr_occ=1409 gpr_total=4476 fpr_total=1820 std::uint32_t aot_gpr_4 = ctx.gpr[4]; - std::uint32_t aot_gpr_16 = ctx.gpr[16]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; + std::uint32_t aot_gpr_16 = ctx.gpr[16]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; - std::uint32_t aot_gpr_17 = ctx.gpr[17]; + std::uint32_t aot_gpr_2 = ctx.gpr[2]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_14 = ctx.fpr[14]; float aot_fpr_15 = ctx.fpr[15]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[16] = aot_gpr_16; ctx.gpr[5] = aot_gpr_5; ctx.gpr[31] = aot_gpr_31; ctx.gpr[29] = aot_gpr_29; ctx.gpr[17] = aot_gpr_17; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[15] = aot_fpr_15; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_17 = ctx.gpr[17]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_15 = ctx.fpr[15]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[16] = aot_gpr_16; ctx.gpr[31] = aot_gpr_31; ctx.gpr[29] = aot_gpr_29; ctx.gpr[2] = aot_gpr_2; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[15] = aot_fpr_15; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_2 = ctx.gpr[2]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_15 = ctx.fpr[15]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -1027,7 +1028,7 @@ L_08968054: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08968060u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08968060u) goto L_08968060; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08968060u) goto L_08968060; AOT_REGCACHE_SYNC_OUT(); return; L_08968060: aot_gpr_31 = (0x08968068u); @@ -1042,10 +1043,10 @@ L_08968068: L_08968070: aot_gpr_31 = (0x08968078u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08968078u) goto L_08968078; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089474C4, 80u, 661u, 0x089474C4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08968078u) goto L_08968078; AOT_REGCACHE_SYNC_OUT(); return; L_08968078: - ctx.gpr[20] = (ctx.gpr[2] | 0u); + ctx.gpr[20] = (aot_gpr_2 | 0u); aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08968088u); aot_gpr_5 = (0u | 0u); @@ -1084,7 +1085,7 @@ L_089680C0: aot_gpr_5 = (16256u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), std::bit_cast(aot_fpr_12)); - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -1139,7 +1140,7 @@ L_0896811C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0170_entry, 170u, 785u, 0x08AAF8ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08968148u) goto L_08968148; AOT_REGCACHE_SYNC_OUT(); return; L_08968148: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08968158u); ctx.gpr[6] = (0u | 0u); @@ -1148,7 +1149,7 @@ L_08968148: L_08968158: aot_gpr_4 = (17786u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0896816Cu); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0037_entry, 37u, 595u, 0x0889B6ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896816Cu) goto L_0896816C; @@ -1222,7 +1223,7 @@ L_089681C4: AOT_REGCACHE_SYNC_OUT(); return; L_089681F4: aot_gpr_31 = (0x089681FCu); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 587u, 0x08AD3578u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089681FCu) goto L_089681FC; AOT_REGCACHE_SYNC_OUT(); return; L_089681FC: @@ -1322,7 +1323,7 @@ L_08968294: L_0896829C: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x089682A8u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0109_entry, 109u, 687u, 0x089BB288u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089682A8u) goto L_089682A8; AOT_REGCACHE_SYNC_OUT(); return; L_089682A8: @@ -1374,7 +1375,7 @@ L_089682E4: AOT_REGCACHE_SYNC_OUT(); return; L_089682F0: aot_gpr_31 = (0x089682F8u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 602u, 0x08AD3650u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089682F8u) goto L_089682F8; AOT_REGCACHE_SYNC_OUT(); return; L_089682F8: @@ -1383,7 +1384,7 @@ L_089682F8: ctx.fpr[20] = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); aot_gpr_16 = aot_run_words[2]; - aot_gpr_17 = aot_run_words[3]; + ctx.gpr[17] = aot_run_words[3]; ctx.gpr[18] = aot_run_words[4]; ctx.gpr[19] = aot_run_words[5]; ctx.gpr[20] = aot_run_words[6]; @@ -1397,8 +1398,8 @@ L_089682F8: AOT_REGCACHE_SYNC_OUT(); return; L_08968320: aot_gpr_29 = (aot_gpr_29 + static_cast(-96)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(80), aot_gpr_17); - aot_gpr_17 = (aot_gpr_5 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(80), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_5 | 0u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1152))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), std::bit_cast(ctx.fpr[20])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(72), std::bit_cast(ctx.fpr[22])); @@ -1536,7 +1537,7 @@ L_08968434: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08968440u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08968440u) goto L_08968440; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08968440u) goto L_08968440; AOT_REGCACHE_SYNC_OUT(); return; L_08968440: aot_gpr_31 = (0x08968448u); @@ -1556,10 +1557,10 @@ L_08968450: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(72), aot_gpr_4); aot_gpr_31 = (0x0896846Cu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896846Cu) goto L_0896846C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089474C4, 80u, 661u, 0x089474C4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896846Cu) goto L_0896846C; AOT_REGCACHE_SYNC_OUT(); return; L_0896846C: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08968478u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 8u, 0x08964108u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08968478u) goto L_08968478; @@ -1594,7 +1595,7 @@ L_089684A4: aot_gpr_5 = (16256u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), std::bit_cast(aot_fpr_12)); - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -1694,7 +1695,7 @@ L_0896856C: ctx.fpr[20] = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); aot_gpr_16 = aot_run_words[2]; - aot_gpr_17 = aot_run_words[3]; + ctx.gpr[17] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; } jump_target = aot_gpr_31; @@ -1708,7 +1709,7 @@ L_08968588: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(9093))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), aot_gpr_16); aot_gpr_5 = (aot_gpr_4 < static_cast(7) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), aot_gpr_31); { const bool branch_taken = aot_gpr_5 == 0u; // nop @@ -1742,7 +1743,7 @@ L_089685C8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 607u, 0x08AD3698u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089685D0u) goto L_089685D0; AOT_REGCACHE_SYNC_OUT(); return; L_089685D0: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08968718; @@ -1750,13 +1751,13 @@ L_089685D0: goto L_089685D8; } L_089685D8: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_31 = (0x089685E4u); aot_gpr_4 = (0u | 1920u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 732u, 0x08AFF2C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089685E4u) goto L_089685E4; AOT_REGCACHE_SYNC_OUT(); return; L_089685E4: - aot_gpr_16 = (ctx.gpr[2] | 0u); + aot_gpr_16 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_16 == 0u; aot_gpr_4 = (aot_gpr_16 | 0u); if (branch_taken) { @@ -1772,11 +1773,11 @@ L_089685F0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0012_entry, 12u, 92u, 0x08834A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08968600u) goto L_08968600; AOT_REGCACHE_SYNC_OUT(); return; L_08968600: - aot_gpr_17 = (aot_gpr_16 | 0u); + ctx.gpr[17] = (aot_gpr_16 | 0u); goto L_08968604; L_08968604: - { const bool branch_taken = aot_gpr_17 == 0u; - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8968), aot_gpr_17); + { const bool branch_taken = ctx.gpr[17] == 0u; + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8968), ctx.gpr[17]); if (branch_taken) { goto L_08968730; } @@ -1868,13 +1869,13 @@ L_089686E8: L_089686EC: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8968))); aot_gpr_31 = (0x089686F8u); - aot_gpr_17 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0218_entry, 218u, 139u, 0x08B6CC28u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089686F8u) goto L_089686F8; AOT_REGCACHE_SYNC_OUT(); return; L_089686F8: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (0u | 1u); - ctx.gpr[6] = (ctx.gpr[2] | 0u); + ctx.gpr[6] = (aot_gpr_2 | 0u); ctx.gpr[7] = (0u | 2u); aot_gpr_31 = (0x08968710u); ctx.gpr[8] = (0u | 1u); @@ -1914,7 +1915,7 @@ L_08968738: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08968740u) goto L_08968740; AOT_REGCACHE_SYNC_OUT(); return; L_08968740: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(2196))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(2196))); aot_gpr_5 = (0u | 18u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -1929,7 +1930,7 @@ L_08968750: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08968758u) goto L_08968758; AOT_REGCACHE_SYNC_OUT(); return; L_08968758: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(2196))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(2196))); aot_gpr_5 = (0u | 17u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -1944,7 +1945,7 @@ L_08968768: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08968770u) goto L_08968770; AOT_REGCACHE_SYNC_OUT(); return; L_08968770: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(1156))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(1156))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8968))); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -1959,19 +1960,19 @@ L_08968780: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08968788u) goto L_08968788; AOT_REGCACHE_SYNC_OUT(); return; L_08968788: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(468))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(468))); aot_gpr_5 = (65535u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(-1)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_5 = (1u << 16u); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); aot_gpr_31 = (0x089687A8u); - aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(468), aot_gpr_4); + aot_mem.aot_direct_store32(aot_gpr_2 + static_cast(468), aot_gpr_4); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089687A8u) goto L_089687A8; AOT_REGCACHE_SYNC_OUT(); return; L_089687A8: ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8968))); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x089687B8u); aot_gpr_5 = (0u | 17u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0178_entry, 178u, 482u, 0x08ACD698u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089687B8u) goto L_089687B8; @@ -1982,7 +1983,7 @@ L_089687B8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089687C0u) goto L_089687C0; AOT_REGCACHE_SYNC_OUT(); return; L_089687C0: - aot_gpr_4 = (ctx.gpr[2] + static_cast(2228)); + aot_gpr_4 = (aot_gpr_2 + static_cast(2228)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_5 = (0u | 61u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; @@ -1998,7 +1999,7 @@ L_089687D4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089687DCu) goto L_089687DC; AOT_REGCACHE_SYNC_OUT(); return; L_089687DC: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(1156))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(1156))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8968))); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -2025,14 +2026,14 @@ L_089687FC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896880Cu) goto L_0896880C; AOT_REGCACHE_SYNC_OUT(); return; L_0896880C: - aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(154))); + aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(154))); aot_gpr_4 = (aot_gpr_4 | 256u); aot_gpr_31 = (0x0896881Cu); - aot_mem.aot_direct_store16(ctx.gpr[2] + static_cast(154), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store16(aot_gpr_2 + static_cast(154), static_cast(aot_gpr_4)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896881Cu) goto L_0896881C; AOT_REGCACHE_SYNC_OUT(); return; L_0896881C: - aot_gpr_4 = (ctx.gpr[2] + static_cast(2318)); + aot_gpr_4 = (aot_gpr_2 + static_cast(2318)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0)))))); aot_gpr_5 = (aot_gpr_5 | 1u); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_5)); @@ -2063,11 +2064,11 @@ L_08968844: AOT_REGCACHE_SYNC_OUT(); return; L_08968850: aot_gpr_31 = (0x08968858u); - aot_gpr_16 = (ctx.gpr[2] | 0u); + aot_gpr_16 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08968858u) goto L_08968858; AOT_REGCACHE_SYNC_OUT(); return; L_08968858: - if (aot_gpr_16 == ctx.gpr[2]) { + if (aot_gpr_16 == aot_gpr_2) { aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8968))); goto L_0896889C; } @@ -2080,11 +2081,11 @@ L_08968860: AOT_REGCACHE_SYNC_OUT(); return; L_0896886C: aot_gpr_31 = (0x08968874u); - aot_gpr_16 = (ctx.gpr[2] | 0u); + aot_gpr_16 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08968874u) goto L_08968874; AOT_REGCACHE_SYNC_OUT(); return; L_08968874: - if (aot_gpr_16 == ctx.gpr[2]) { + if (aot_gpr_16 == aot_gpr_2) { aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8968))); goto L_0896889C; } @@ -2097,11 +2098,11 @@ L_0896887C: AOT_REGCACHE_SYNC_OUT(); return; L_08968888: aot_gpr_31 = (0x08968890u); - aot_gpr_16 = (ctx.gpr[2] | 0u); + aot_gpr_16 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08968890u) goto L_08968890; AOT_REGCACHE_SYNC_OUT(); return; L_08968890: - { const bool branch_taken = aot_gpr_16 != ctx.gpr[2]; + { const bool branch_taken = aot_gpr_16 != aot_gpr_2; // nop if (branch_taken) { goto L_089689E8; @@ -2126,7 +2127,7 @@ L_089688A8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089688B0u) goto L_089688B0; AOT_REGCACHE_SYNC_OUT(); return; L_089688B0: - if (ctx.gpr[2] == 0u) { + if (aot_gpr_2 == 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8968))); goto L_089688FC; } @@ -2149,7 +2150,7 @@ L_089688D4: AOT_REGCACHE_SYNC_OUT(); return; L_089688DC: ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8968))); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x089688ECu); aot_gpr_5 = (0u | 16u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0178_entry, 178u, 482u, 0x08ACD698u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089688ECu) goto L_089688EC; @@ -2205,13 +2206,13 @@ L_08968948: } goto L_08968968; L_08968968: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_31 = (0x08968974u); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08968974u) goto L_08968974; AOT_REGCACHE_SYNC_OUT(); return; L_08968974: - aot_gpr_16 = (ctx.gpr[2] | 0u); + aot_gpr_16 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_16 == 0u; // nop if (branch_taken) { @@ -2222,13 +2223,13 @@ L_08968974: L_08968980: aot_gpr_31 = (0x08968988u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08968988u) goto L_08968988; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08968988u) goto L_08968988; AOT_REGCACHE_SYNC_OUT(); return; L_08968988: - aot_gpr_17 = (aot_gpr_16 | 0u); + ctx.gpr[17] = (aot_gpr_16 | 0u); goto L_0896898C; L_0896898C: - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_17); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), ctx.gpr[17]); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); goto L_08968994; L_08968994: @@ -2237,7 +2238,7 @@ L_08968994: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896899Cu) goto L_0896899C; AOT_REGCACHE_SYNC_OUT(); return; L_0896899C: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 4500u); aot_gpr_31 = (0x089689ACu); ctx.gpr[6] = (0u | 6u); @@ -2268,7 +2269,7 @@ L_089689D0: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 1u); aot_gpr_31 = (0x089689E0u); - ctx.gpr[6] = (ctx.gpr[2] | 0u); + ctx.gpr[6] = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0002_entry, 2u, 422u, 0x0880DD60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089689E0u) goto L_089689E0; AOT_REGCACHE_SYNC_OUT(); return; L_089689E0: @@ -2506,7 +2507,7 @@ L_08968B94: AOT_REGCACHE_SYNC_OUT(); return; L_08968BB8: ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8968))); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08968BC8u); aot_gpr_5 = (0u | 16u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0178_entry, 178u, 482u, 0x08ACD698u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08968BC8u) goto L_08968BC8; @@ -2519,7 +2520,7 @@ L_08968BC8: L_08968BD0: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8968))); aot_gpr_31 = (0x08968BDCu); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 188u, 0x08910AD4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08968BDCu) goto L_08968BDC; AOT_REGCACHE_SYNC_OUT(); return; L_08968BDC: @@ -2529,16 +2530,16 @@ L_08968BDC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08968BE8u) goto L_08968BE8; AOT_REGCACHE_SYNC_OUT(); return; L_08968BE8: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(468))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(468))); aot_gpr_5 = (65535u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(-1)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_31 = (0x08968C00u); - aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(468), aot_gpr_4); + aot_mem.aot_direct_store32(aot_gpr_2 + static_cast(468), aot_gpr_4); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08968C00u) goto L_08968C00; AOT_REGCACHE_SYNC_OUT(); return; L_08968C00: - aot_gpr_4 = (ctx.gpr[2] + static_cast(2318)); + aot_gpr_4 = (aot_gpr_2 + static_cast(2318)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0)))))); ctx.gpr[6] = (0u + static_cast(-2)); aot_gpr_5 = (aot_gpr_5 & ctx.gpr[6]); @@ -2560,11 +2561,11 @@ L_08968C1C: AOT_REGCACHE_SYNC_OUT(); return; L_08968C28: aot_gpr_31 = (0x08968C30u); - aot_gpr_16 = (ctx.gpr[2] | 0u); + aot_gpr_16 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08968C30u) goto L_08968C30; AOT_REGCACHE_SYNC_OUT(); return; L_08968C30: - { const bool branch_taken = aot_gpr_16 == ctx.gpr[2]; + { const bool branch_taken = aot_gpr_16 == aot_gpr_2; // nop if (branch_taken) { goto L_08968CDC; @@ -2579,11 +2580,11 @@ L_08968C38: AOT_REGCACHE_SYNC_OUT(); return; L_08968C44: aot_gpr_31 = (0x08968C4Cu); - aot_gpr_16 = (ctx.gpr[2] | 0u); + aot_gpr_16 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08968C4Cu) goto L_08968C4C; AOT_REGCACHE_SYNC_OUT(); return; L_08968C4C: - { const bool branch_taken = aot_gpr_16 == ctx.gpr[2]; + { const bool branch_taken = aot_gpr_16 == aot_gpr_2; // nop if (branch_taken) { goto L_08968CDC; @@ -2598,11 +2599,11 @@ L_08968C54: AOT_REGCACHE_SYNC_OUT(); return; L_08968C60: aot_gpr_31 = (0x08968C68u); - aot_gpr_16 = (ctx.gpr[2] | 0u); + aot_gpr_16 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08968C68u) goto L_08968C68; AOT_REGCACHE_SYNC_OUT(); return; L_08968C68: - { const bool branch_taken = aot_gpr_16 == ctx.gpr[2]; + { const bool branch_taken = aot_gpr_16 == aot_gpr_2; // nop if (branch_taken) { goto L_08968CDC; @@ -2615,10 +2616,10 @@ L_08968C70: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08968C78u) goto L_08968C78; AOT_REGCACHE_SYNC_OUT(); return; L_08968C78: - aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(154))); + aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(154))); aot_gpr_5 = (0u + static_cast(-257)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); - aot_mem.aot_direct_store16(ctx.gpr[2] + static_cast(154), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store16(aot_gpr_2 + static_cast(154), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8968))); aot_gpr_5 = (0u | 1u); aot_gpr_4 = (aot_gpr_4 + static_cast(384)); @@ -2648,7 +2649,7 @@ L_08968CDC: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(48), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -2861,7 +2862,7 @@ L_08968EB0: aot_mem.aot_direct_store32_block(aot_gpr_4 + static_cast(0), aot_run_words); } goto L_08968F7C; L_08968F7C: - ctx.gpr[2] = (aot_gpr_4 | 0u); + aot_gpr_2 = (aot_gpr_4 | 0u); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(48)); local_pc = jump_target; @@ -2870,7 +2871,7 @@ L_08968F7C: AOT_REGCACHE_SYNC_OUT(); return; L_08968F88: jump_target = aot_gpr_31; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(24))); + aot_gpr_2 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(24))); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -2878,14 +2879,14 @@ L_08968F88: L_08968F90: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(24), aot_gpr_5); jump_target = aot_gpr_31; - ctx.gpr[2] = (aot_gpr_4 | 0u); + aot_gpr_2 = (aot_gpr_4 | 0u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08968F9C: jump_target = aot_gpr_31; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); + aot_gpr_2 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -2893,9 +2894,9 @@ L_08968F9C: L_08968FA4: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_17 = (aot_gpr_5 | 0u); + ctx.gpr[17] = (aot_gpr_5 | 0u); aot_gpr_4 = (aot_gpr_16 << 5u); aot_gpr_5 = (aot_gpr_16 << 2u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); @@ -2910,12 +2911,12 @@ L_08968FA4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 468u, 0x08ABE29Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08968FE4u) goto L_08968FE4; AOT_REGCACHE_SYNC_OUT(); return; L_08968FE4: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08968FF8u); ctx.gpr[6] = (0u | 56u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08968FF8u) goto L_08968FF8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08968FF8u) goto L_08968FF8; AOT_REGCACHE_SYNC_OUT(); return; L_08968FF8: aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(0), ctx.gpr[20]); @@ -2935,7 +2936,7 @@ L_0896900C: AOT_REGCACHE_SYNC_OUT(); return; L_08969014: { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(40), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(40), aot_gpr_2); if (branch_taken) { goto L_08969020; } @@ -2953,7 +2954,7 @@ L_08969028: aot_gpr_4 = (0u | 0u); aot_gpr_5 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_16) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; - aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(48), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(48), aot_gpr_2); if (branch_taken) { goto L_089690CC; } @@ -2966,7 +2967,7 @@ L_08969038: aot_fpr_13 = std::bit_cast(ctx.gpr[6]); aot_gpr_5 = (0u | 0u); ctx.gpr[7] = (ctx.gpr[18] | 0u); - ctx.gpr[8] = (aot_gpr_17 | 0u); + ctx.gpr[8] = (ctx.gpr[17] | 0u); goto L_08969054; L_08969054: ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(48))); @@ -2987,7 +2988,7 @@ L_0896906C: ctx.gpr[6] = (ctx.gpr[6] + aot_gpr_5); goto L_0896907C; L_0896907C: - { const bool branch_taken = aot_gpr_17 == 0u; + { const bool branch_taken = ctx.gpr[17] == 0u; aot_mem.aot_direct_store8(ctx.gpr[6] + static_cast(1), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08969094; @@ -3019,11 +3020,11 @@ L_08969094: goto L_089690CC; } L_089690CC: - ctx.gpr[2] = (ctx.gpr[19] | 0u); + aot_gpr_2 = (ctx.gpr[19] | 0u); { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -3042,26 +3043,26 @@ L_089690F0: aot_gpr_4 = (aot_gpr_16 << 5u); aot_gpr_5 = (aot_gpr_16 << 2u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), std::bit_cast(ctx.fpr[20])); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[17]); ctx.fpr[20] = std::bit_cast(std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); - aot_gpr_17 = (ctx.gpr[6] | 0u); + ctx.gpr[17] = (ctx.gpr[6] | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); aot_gpr_31 = (0x08969124u); aot_gpr_4 = (aot_gpr_4 + static_cast(20)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 468u, 0x08ABE29Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08969124u) goto L_08969124; AOT_REGCACHE_SYNC_OUT(); return; L_08969124: - aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(4), aot_gpr_16); - aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(12), std::bit_cast(ctx.fpr[20])); - aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(8), aot_gpr_17); - aot_gpr_4 = (ctx.gpr[2] + static_cast(20)); - aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(16), aot_gpr_4); + aot_mem.aot_direct_store32(aot_gpr_2 + static_cast(4), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_2 + static_cast(12), std::bit_cast(ctx.fpr[20])); + aot_mem.aot_direct_store32(aot_gpr_2 + static_cast(8), ctx.gpr[17]); + aot_gpr_4 = (aot_gpr_2 + static_cast(20)); + aot_mem.aot_direct_store32(aot_gpr_2 + static_cast(16), aot_gpr_4); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); ctx.fpr[20] = std::bit_cast(aot_run_words[0]); aot_gpr_16 = aot_run_words[1]; - aot_gpr_17 = aot_run_words[2]; + ctx.gpr[17] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } jump_target = aot_gpr_31; @@ -3077,20 +3078,20 @@ L_08969150: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x08969168u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(40))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08969168u) goto L_08969168; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2E4, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08969168u) goto L_08969168; AOT_REGCACHE_SYNC_OUT(); return; L_08969168: aot_gpr_31 = (0x08969170u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(48))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08969170u) goto L_08969170; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2E4, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08969170u) goto L_08969170; AOT_REGCACHE_SYNC_OUT(); return; L_08969170: aot_gpr_31 = (0x08969178u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08969178u) goto L_08969178; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2E4, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08969178u) goto L_08969178; AOT_REGCACHE_SYNC_OUT(); return; L_08969178: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; @@ -3101,7 +3102,7 @@ L_08969178: AOT_REGCACHE_SYNC_OUT(); return; L_0896918C: jump_target = aot_gpr_31; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(40))); + aot_gpr_2 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(40))); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -3149,16 +3150,16 @@ L_089691D0: aot_gpr_4 = (ctx.gpr[7] - ctx.gpr[6]); aot_gpr_5 = (static_cast(static_cast(aot_gpr_4) >> 3u)); aot_gpr_5 = (aot_gpr_5 >> 29u); - ctx.gpr[2] = (aot_gpr_4 + aot_gpr_5); + aot_gpr_2 = (aot_gpr_4 + aot_gpr_5); { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (static_cast(static_cast(ctx.gpr[2]) >> 3u)); + aot_gpr_2 = (static_cast(static_cast(aot_gpr_2) >> 3u)); if (branch_taken) { goto L_089691EC; } goto L_089691E8; } L_089691E8: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_089691EC; L_089691EC: jump_target = aot_gpr_31; @@ -3171,8 +3172,8 @@ L_089691F4: aot_gpr_29 = (aot_gpr_29 + static_cast(-368)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(328), ctx.gpr[18]); ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(52))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(324), aot_gpr_17); - aot_gpr_17 = (aot_gpr_29 + static_cast(128)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(324), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_29 + static_cast(128)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(320), aot_gpr_16); { const std::uint32_t aot_run_words[7]{ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(332), aot_run_words); } @@ -3199,7 +3200,7 @@ L_0896923C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0091_entry, 91u, 724u, 0x089736F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08969248u) goto L_08969248; AOT_REGCACHE_SYNC_OUT(); return; L_08969248: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08969284; @@ -3250,19 +3251,19 @@ L_08969258: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<3u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<1u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(16); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(16); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<2u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(32); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(32); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<3u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(48); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(48); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const bool branch_taken = 0u == 0u; @@ -3311,19 +3312,19 @@ L_08969284: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<3u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<1u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(16); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(16); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<2u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(32); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(32); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<3u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(48); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(48); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); @@ -3335,7 +3336,7 @@ L_08969284: goto L_089692B4; } L_089692B4: - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -3344,7 +3345,7 @@ L_089692B4: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(16); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(16); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -3353,7 +3354,7 @@ L_089692B4: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(32); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(32); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -3362,7 +3363,7 @@ L_089692B4: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<2u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(48); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(48); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -3477,19 +3478,19 @@ L_089692B4: ctx.write_vfpu_matrix_ct<32u, 4u>(vfpu_d); ctx.eat_vfpu_prefixes(); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<1u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(16); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(16); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<2u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(32); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(32); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<3u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(48); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(48); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); @@ -3511,19 +3512,19 @@ L_08969320: L_08969328: ctx.execute_vfpu_matrix_init_ct<0u, 4u, 3u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<1u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(16); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(16); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<2u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(32); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(32); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<3u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(48); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(48); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } goto L_0896933C; @@ -3596,7 +3597,7 @@ L_08969370: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<7u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -3605,7 +3606,7 @@ L_08969370: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<8u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(16); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(16); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -3614,7 +3615,7 @@ L_08969370: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<9u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(32); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(32); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -3623,7 +3624,7 @@ L_08969370: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<10u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(48); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(48); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -3803,7 +3804,7 @@ L_08969444: } L_0896944C: { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (ctx.gpr[20] | 0u); + ctx.gpr[17] = (ctx.gpr[20] | 0u); if (branch_taken) { goto L_08969480; } @@ -3826,10 +3827,10 @@ L_0896945C: goto L_08969464; } L_08969464: - aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(0), aot_gpr_17); + aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(0), ctx.gpr[17]); ctx.gpr[18] = (ctx.gpr[18] + static_cast(4)); { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (ctx.gpr[20] | 0u); + ctx.gpr[17] = (ctx.gpr[20] | 0u); if (branch_taken) { goto L_08969480; } @@ -3838,7 +3839,7 @@ L_08969464: L_08969474: ctx.gpr[18] = (ctx.gpr[18] + static_cast(-4)); { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); if (branch_taken) { goto L_08969480; } @@ -3858,11 +3859,11 @@ L_08969480: goto L_0896949C; } L_0896949C: - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); { std::uint32_t aot_run_words[10]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(320), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -3883,10 +3884,10 @@ L_089694D0: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); aot_gpr_31 = (0x089694E0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089694E0u) goto L_089694E0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2E4, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089694E0u) goto L_089694E0; AOT_REGCACHE_SYNC_OUT(); return; L_089694E0: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -3896,14 +3897,14 @@ L_089694E0: AOT_REGCACHE_SYNC_OUT(); return; L_089694F0: jump_target = aot_gpr_31; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(12))); + aot_gpr_2 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(12))); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_089694F8: jump_target = aot_gpr_31; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(164))); + aot_gpr_2 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(164))); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -3911,14 +3912,14 @@ L_089694F8: L_08969500: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(8), aot_gpr_5); jump_target = aot_gpr_31; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0896950C: jump_target = aot_gpr_31; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(44))); + aot_gpr_2 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(44))); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -3926,7 +3927,7 @@ L_0896950C: L_08969514: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(44), aot_gpr_5); jump_target = aot_gpr_31; - ctx.gpr[2] = (aot_gpr_4 | 0u); + aot_gpr_2 = (aot_gpr_4 | 0u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -4094,7 +4095,7 @@ L_089695F0: AOT_REGCACHE_SYNC_OUT(); return; L_089695F8: jump_target = aot_gpr_31; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -4115,56 +4116,56 @@ L_08969608: AOT_REGCACHE_SYNC_OUT(); return; L_08969610: jump_target = aot_gpr_31; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08969618: jump_target = aot_gpr_31; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08969620: jump_target = aot_gpr_31; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08969628: jump_target = aot_gpr_31; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08969630: jump_target = aot_gpr_31; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1508))); + aot_gpr_2 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1508))); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08969638: jump_target = aot_gpr_31; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1072))); + aot_gpr_2 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1072))); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08969640: jump_target = aot_gpr_31; - ctx.gpr[2] = (aot_gpr_4 + static_cast(1508)); + aot_gpr_2 = (aot_gpr_4 + static_cast(1508)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08969648: aot_gpr_29 = (aot_gpr_29 + static_cast(-144)); - { const std::uint32_t aot_run_words[5]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; + { const std::uint32_t aot_run_words[5]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(112), aot_run_words); } aot_gpr_16 = (aot_gpr_4 | 0u); ctx.gpr[6] = (ctx.gpr[6] & 255u); @@ -4176,7 +4177,7 @@ L_08969670: aot_gpr_4 = (2234u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(23816)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(92), aot_gpr_4); - aot_gpr_17 = (aot_gpr_29 + static_cast(48)); + ctx.gpr[17] = (aot_gpr_29 + static_cast(48)); aot_gpr_4 = (0u | 8u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(852), aot_gpr_4); aot_gpr_4 = (0u | 62u); @@ -4226,19 +4227,19 @@ L_08969670: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<3u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<1u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(16); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(16); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<2u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(32); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(32); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<3u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(48); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(48); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); @@ -4251,7 +4252,7 @@ L_08969670: } L_089696EC: aot_gpr_5 = (ctx.gpr[19] + static_cast(16)); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089696FCu); ctx.gpr[6] = (0u | 2u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 139u, 0x089D8B0Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089696FCu) goto L_089696FC; @@ -4336,19 +4337,19 @@ L_08969714: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<3u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<1u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(16); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(16); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<2u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(32); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(32); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<3u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(48); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(48); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); @@ -4361,7 +4362,7 @@ L_08969714: } L_0896976C: aot_gpr_5 = (ctx.gpr[19] + static_cast(16)); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0896977Cu); ctx.gpr[6] = (0u | 2u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 139u, 0x089D8B0Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896977Cu) goto L_0896977C; @@ -4413,11 +4414,11 @@ L_08969794: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(1608), std::bit_cast(aot_fpr_13)); aot_fpr_12 = aot_fpr_12 / aot_fpr_13; aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(1612), std::bit_cast(aot_fpr_12)); - ctx.gpr[2] = (aot_gpr_16 | 0u); + aot_gpr_2 = (aot_gpr_16 | 0u); { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(112), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; @@ -4430,8 +4431,8 @@ L_08969794: AOT_REGCACHE_SYNC_OUT(); return; L_089697F0: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); { const bool branch_taken = aot_gpr_4 == 0u; @@ -4444,8 +4445,8 @@ L_089697F0: L_0896980C: aot_gpr_4 = (2234u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(23816)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(92), aot_gpr_4); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(92), aot_gpr_4); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08969824u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0149_entry, 149u, 186u, 0x08A58BC8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08969824u) goto L_08969824; @@ -4461,14 +4462,14 @@ L_08969824: } L_08969830: aot_gpr_31 = (0x08969838u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 734u, 0x08AFF2E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08969838u) goto L_08969838; AOT_REGCACHE_SYNC_OUT(); return; L_08969838: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -4711,7 +4712,7 @@ L_08969A28: AOT_REGCACHE_SYNC_OUT(); return; L_08969A38: jump_target = aot_gpr_31; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -4726,8 +4727,8 @@ L_08969A40: L_08969A48: aot_gpr_29 = (aot_gpr_29 + static_cast(-112)); ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(615)))))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(92), aot_gpr_17); - aot_gpr_17 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(92), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_4 | 0u); aot_gpr_4 = (ctx.gpr[6] & 64u); { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), aot_gpr_16}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(80), aot_run_words); } @@ -4741,7 +4742,7 @@ L_08969A48: goto L_08969A78; } L_08969A78: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(72))); aot_gpr_5 = (0u | 80u); aot_gpr_4 = (aot_gpr_4 & 496u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; @@ -4767,7 +4768,7 @@ L_08969A94: aot_gpr_4 = (aot_gpr_4 | 52429u); ctx.fpr[22] = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), std::bit_cast(ctx.fpr[22])); - aot_gpr_4 = (aot_gpr_17 + static_cast(320)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(320)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -4792,22 +4793,22 @@ L_08969A94: const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08969AD4u); aot_gpr_5 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 538u, 0x08A666C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08969AD4u) goto L_08969AD4; AOT_REGCACHE_SYNC_OUT(); return; L_08969AD4: - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(636), std::bit_cast(ctx.fpr[20])); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(1280)))))); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(636), std::bit_cast(ctx.fpr[20])); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(1280)))))); aot_gpr_5 = (0u + static_cast(-3)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(1280), static_cast(aot_gpr_4)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(212))); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(1280), static_cast(aot_gpr_4)); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(212))); { const float fs = aot_fpr_12; const float ft = ctx.fpr[22]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); - aot_gpr_4 = (aot_gpr_17 + static_cast(32)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(32)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -4822,14 +4823,14 @@ L_08969AD4: const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(212))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(212))); aot_gpr_4 = (15395u << 16u); aot_gpr_4 = (aot_gpr_4 | 55050u); aot_fpr_12 = std::bit_cast(aot_gpr_4); { const float fs = aot_fpr_13; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -4856,21 +4857,21 @@ L_08969AD4: ctx.fpr[17] = std::bit_cast(aot_run_words[2]); } aot_gpr_31 = (0x08969B50u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 611u, 0x08A66E08u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08969B50u) goto L_08969B50; AOT_REGCACHE_SYNC_OUT(); return; L_08969B50: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08969B5Cu); aot_gpr_5 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 877u, 0x08AFFAC8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08969B5Cu) goto L_08969B5C; AOT_REGCACHE_SYNC_OUT(); return; L_08969B5C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(72))); aot_gpr_5 = (0u + static_cast(-497)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_4 = (aot_gpr_4 | 80u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(72), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(72), aot_gpr_4); goto L_08969B70; L_08969B70: { std::uint32_t aot_run_words[6]{}; @@ -4878,7 +4879,7 @@ L_08969B70: ctx.fpr[20] = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); aot_gpr_16 = aot_run_words[2]; - aot_gpr_17 = aot_run_words[3]; + ctx.gpr[17] = aot_run_words[3]; ctx.gpr[18] = aot_run_words[4]; aot_gpr_31 = aot_run_words[5]; } @@ -4905,10 +4906,10 @@ L_08969B90: ctx.gpr[22] = (0u | 1u); { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(224), aot_run_words); } - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(240), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(240), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(264), aot_gpr_31); { const bool branch_taken = ctx.gpr[6] == 0u; - aot_gpr_17 = (aot_gpr_5 | 0u); + ctx.gpr[17] = (aot_gpr_5 | 0u); if (branch_taken) { goto L_08969BFC; } @@ -4950,9 +4951,9 @@ L_08969C2C: ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08969C44: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_gpr_4 = (aot_gpr_4 + static_cast(2)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), aot_gpr_4); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1280)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(900))); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[20]); @@ -4966,10 +4967,10 @@ L_08969C44: L_08969C64: aot_gpr_31 = (0x08969C6Cu); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(900))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08969C6Cu) goto L_08969C6C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08969C6Cu) goto L_08969C6C; AOT_REGCACHE_SYNC_OUT(); return; L_08969C6C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_0896A1D8; @@ -5000,7 +5001,7 @@ L_08969CA0: ctx.fpr[24] = std::bit_cast(0u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1524))); aot_gpr_4 = (16256u << 16u); - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[24])) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); @@ -5305,7 +5306,7 @@ L_08969EF4: L_08969EFC: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08969F08u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0149_entry, 149u, 334u, 0x08A597ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08969F08u) goto L_08969F08; AOT_REGCACHE_SYNC_OUT(); return; L_08969F08: @@ -5390,7 +5391,7 @@ L_08969F88: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0098_entry, 98u, 1086u, 0x0898F36Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08969F90u) goto L_08969F90; AOT_REGCACHE_SYNC_OUT(); return; L_08969F90: - aot_fpr_12 = std::bit_cast(ctx.gpr[2]); + aot_fpr_12 = std::bit_cast(aot_gpr_2); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[24])) ? 0x00800000u : 0u); // nop @@ -5421,7 +5422,7 @@ L_08969FC0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0098_entry, 98u, 1086u, 0x0898F36Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08969FC8u) goto L_08969FC8; AOT_REGCACHE_SYNC_OUT(); return; L_08969FC8: - aot_fpr_12 = std::bit_cast(ctx.gpr[2]); + aot_fpr_12 = std::bit_cast(aot_gpr_2); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[24])) ? 0x00800000u : 0u); // nop @@ -5438,7 +5439,7 @@ L_08969FE0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0098_entry, 98u, 1086u, 0x0898F36Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08969FE8u) goto L_08969FE8; AOT_REGCACHE_SYNC_OUT(); return; L_08969FE8: - aot_fpr_12 = std::bit_cast(ctx.gpr[2]); + aot_fpr_12 = std::bit_cast(aot_gpr_2); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_gpr_4 = (15360u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); @@ -5492,10 +5493,10 @@ L_0896A058: aot_gpr_5 = (0u | 207u); aot_gpr_31 = (0x0896A068u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(80))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896A068u) goto L_0896A068; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0886D4BC, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896A068u) goto L_0896A068; AOT_REGCACHE_SYNC_OUT(); return; L_0896A068: - aot_gpr_17 = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x0896A078u); aot_gpr_5 = (0u | 1u); @@ -5529,7 +5530,7 @@ L_0896A094: goto L_0896A0A8; } L_0896A0A8: - { const bool branch_taken = aot_gpr_17 == 0u; + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_0896A0DC; @@ -5537,7 +5538,7 @@ L_0896A0A8: goto L_0896A0B0; } L_0896A0B0: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(16))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(16))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[20])) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); @@ -5565,7 +5566,7 @@ L_0896A0DC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0098_entry, 98u, 430u, 0x0898D2D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896A0E4u) goto L_0896A0E4; AOT_REGCACHE_SYNC_OUT(); return; L_0896A0E4: - aot_fpr_12 = std::bit_cast(ctx.gpr[2]); + aot_fpr_12 = std::bit_cast(aot_gpr_2); aot_gpr_4 = (17279u << 16u); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_fpr_13 = std::bit_cast(aot_gpr_4); @@ -5653,7 +5654,7 @@ L_0896A190: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0098_entry, 98u, 434u, 0x0898D300u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896A198u) goto L_0896A198; AOT_REGCACHE_SYNC_OUT(); return; L_0896A198: - if (ctx.gpr[2] == 0u) { + if (aot_gpr_2 == 0u) { aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1588))); goto L_0896A1B4; } @@ -5699,10 +5700,10 @@ L_0896A1D8: goto L_0896A1E0; } L_0896A1E0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_gpr_4 = (aot_gpr_4 + static_cast(2)); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), aot_gpr_4); if (branch_taken) { goto L_0896A5CC; } @@ -5743,10 +5744,10 @@ L_0896A20C: L_0896A240: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(88))); ctx.gpr[7] = (16128u << 16u); - aot_gpr_17 = (aot_gpr_16 + static_cast(16)); + ctx.gpr[17] = (aot_gpr_16 + static_cast(16)); ctx.gpr[18] = (aot_gpr_16 + static_cast(320)); aot_gpr_4 = (0u | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); ctx.gpr[6] = (ctx.gpr[18] | 0u); ctx.fpr[20] = std::bit_cast(ctx.gpr[7]); aot_gpr_31 = (0x0896A268u); @@ -5757,7 +5758,7 @@ L_0896A268: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1284))); aot_fpr_12 = aot_fpr_12 + ctx.fpr[0]; aot_gpr_4 = (0u | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); ctx.gpr[6] = (ctx.gpr[18] | 0u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(1284), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(92))); @@ -5813,11 +5814,11 @@ L_0896A2EC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0149_entry, 149u, 163u, 0x08A58A8Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896A2F4u) goto L_0896A2F4; AOT_REGCACHE_SYNC_OUT(); return; L_0896A2F4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); ctx.fpr[20] = std::bit_cast(0u); aot_gpr_5 = (0u + static_cast(-17)); aot_gpr_4 = (aot_gpr_4 + static_cast(2)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), aot_gpr_4); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1280)))))); ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(615)))))); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); @@ -5999,7 +6000,7 @@ L_0896A45C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896A464u) goto L_0896A464; AOT_REGCACHE_SYNC_OUT(); return; L_0896A464: - if (ctx.gpr[2] != 0u) { + if (aot_gpr_2 != 0u) { aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1280)))))); goto L_0896A480; } @@ -6027,9 +6028,9 @@ L_0896A480: goto L_0896A48C; } L_0896A48C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_gpr_4 = (aot_gpr_4 + static_cast(2)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), aot_gpr_4); goto L_0896A498; L_0896A498: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1280)))))); @@ -6121,10 +6122,10 @@ L_0896A544: L_0896A548: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(604), std::bit_cast(ctx.fpr[20])); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(700), 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_gpr_5 = (0u + static_cast(-17)); aot_gpr_4 = (aot_gpr_4 + static_cast(2)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), aot_gpr_4); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1280)))))); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(1588), std::bit_cast(ctx.fpr[20])); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); @@ -6168,7 +6169,7 @@ L_0896A590: } L_0896A5CC: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(900))); - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_4 = (0u | 0u); if (branch_taken) { @@ -6181,11 +6182,11 @@ L_0896A5DC: aot_gpr_5 = (0u | 192u); aot_gpr_31 = (0x0896A5ECu); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(80))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896A5ECu) goto L_0896A5EC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0886D4BC, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896A5ECu) goto L_0896A5EC; AOT_REGCACHE_SYNC_OUT(); return; L_0896A5EC: - aot_gpr_17 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_0896A614; @@ -6193,7 +6194,7 @@ L_0896A5EC: goto L_0896A5F8; } L_0896A5F8: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(16))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(16))); aot_gpr_4 = (16128u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); @@ -6210,20 +6211,20 @@ L_0896A614: aot_gpr_5 = (0u | 191u); aot_gpr_31 = (0x0896A624u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(80))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896A624u) goto L_0896A624; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0886D4BC, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896A624u) goto L_0896A624; AOT_REGCACHE_SYNC_OUT(); return; L_0896A624: - aot_gpr_17 = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); goto L_0896A628; L_0896A628: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(900))); aot_gpr_5 = (0u | 201u); aot_gpr_31 = (0x0896A638u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(80))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896A638u) goto L_0896A638; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0886D4BC, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896A638u) goto L_0896A638; AOT_REGCACHE_SYNC_OUT(); return; L_0896A638: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -6249,10 +6250,10 @@ L_0896A660: aot_gpr_5 = (0u | 202u); aot_gpr_31 = (0x0896A670u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(80))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896A670u) goto L_0896A670; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0886D4BC, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896A670u) goto L_0896A670; AOT_REGCACHE_SYNC_OUT(); return; L_0896A670: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); goto L_0896A674; L_0896A674: { const bool branch_taken = aot_gpr_4 == 0u; @@ -6280,13 +6281,13 @@ L_0896A698: aot_gpr_5 = (0u | 203u); aot_gpr_31 = (0x0896A6A8u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(80))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896A6A8u) goto L_0896A6A8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0886D4BC, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896A6A8u) goto L_0896A6A8; AOT_REGCACHE_SYNC_OUT(); return; L_0896A6A8: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); goto L_0896A6AC; L_0896A6AC: - { const bool branch_taken = aot_gpr_17 == 0u; + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_0896A6D0; @@ -6294,7 +6295,7 @@ L_0896A6AC: goto L_0896A6B4; } L_0896A6B4: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(16))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(16))); aot_gpr_5 = (16128u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_5); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); @@ -6537,14 +6538,14 @@ L_0896A838: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 600u, 0x08A66CD8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896A88Cu) goto L_0896A88C; AOT_REGCACHE_SYNC_OUT(); return; L_0896A88C: - ctx.gpr[2] = (ctx.gpr[22] | 0u); + aot_gpr_2 = (ctx.gpr[22] | 0u); { std::uint32_t aot_run_words[11]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(224), aot_run_words); ctx.fpr[20] = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); aot_gpr_16 = aot_run_words[3]; - aot_gpr_17 = aot_run_words[4]; + ctx.gpr[17] = aot_run_words[4]; ctx.gpr[18] = aot_run_words[5]; ctx.gpr[19] = aot_run_words[6]; ctx.gpr[20] = aot_run_words[7]; @@ -6566,7 +6567,7 @@ L_0896A8C4: aot_gpr_4 = (ctx.gpr[6] & 1024u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), std::bit_cast(ctx.fpr[20])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), std::bit_cast(ctx.fpr[22])); - { const std::uint32_t aot_run_words[9]{aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; + { const std::uint32_t aot_run_words[9]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(16), aot_run_words); } { const bool branch_taken = aot_gpr_4 == 0u; ctx.gpr[20] = (aot_gpr_5 | 0u); @@ -6586,10 +6587,10 @@ L_0896A90C: L_0896A914: aot_gpr_31 = (0x0896A91Cu); aot_gpr_4 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896A91Cu) goto L_0896A91C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896A91Cu) goto L_0896A91C; AOT_REGCACHE_SYNC_OUT(); return; L_0896A91C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_0896A9A0; @@ -6603,10 +6604,10 @@ L_0896A924: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(80))); aot_gpr_31 = (0x0896A93Cu); aot_gpr_5 = (0u | 205u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896A93Cu) goto L_0896A93C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0886D4BC, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896A93Cu) goto L_0896A93C; AOT_REGCACHE_SYNC_OUT(); return; L_0896A93C: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (aot_gpr_4 != 0u) { aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); goto L_0896A96C; @@ -6615,13 +6616,13 @@ L_0896A93C: L_0896A948: aot_gpr_31 = (0x0896A950u); aot_gpr_4 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896A950u) goto L_0896A950; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896A950u) goto L_0896A950; AOT_REGCACHE_SYNC_OUT(); return; L_0896A950: aot_gpr_4 = (aot_gpr_16 + static_cast(16)); aot_gpr_5 = (16544u << 16u); ctx.fpr[22] = std::bit_cast(aot_gpr_5); - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_4); if (branch_taken) { goto L_0896A9A8; @@ -6667,7 +6668,7 @@ L_0896A9A8: aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x0896A9B4u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896A9B4u) goto L_0896A9B4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896A9B4u) goto L_0896A9B4; AOT_REGCACHE_SYNC_OUT(); return; L_0896A9B4: aot_gpr_4 = (aot_gpr_16 + static_cast(320)); @@ -6696,45 +6697,45 @@ L_0896A9B4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(80))); aot_gpr_31 = (0x0896A9DCu); aot_gpr_5 = (0u | 206u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896A9DCu) goto L_0896A9DC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0886D4BC, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896A9DCu) goto L_0896A9DC; AOT_REGCACHE_SYNC_OUT(); return; L_0896A9DC: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(80))); aot_gpr_31 = (0x0896A9ECu); aot_gpr_5 = (0u | 207u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896A9ECu) goto L_0896A9EC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0886D4BC, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896A9ECu) goto L_0896A9EC; AOT_REGCACHE_SYNC_OUT(); return; L_0896A9EC: - aot_gpr_17 = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(80))); aot_gpr_31 = (0x0896A9FCu); aot_gpr_5 = (0u | 189u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896A9FCu) goto L_0896A9FC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0886D4BC, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896A9FCu) goto L_0896A9FC; AOT_REGCACHE_SYNC_OUT(); return; L_0896A9FC: - ctx.gpr[22] = (ctx.gpr[2] | 0u); + ctx.gpr[22] = (aot_gpr_2 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(80))); aot_gpr_31 = (0x0896AA0Cu); aot_gpr_5 = (0u | 190u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896AA0Cu) goto L_0896AA0C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0886D4BC, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896AA0Cu) goto L_0896AA0C; AOT_REGCACHE_SYNC_OUT(); return; L_0896AA0C: - ctx.gpr[23] = (ctx.gpr[2] | 0u); + ctx.gpr[23] = (aot_gpr_2 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(80))); aot_gpr_31 = (0x0896AA1Cu); aot_gpr_5 = (0u | 192u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896AA1Cu) goto L_0896AA1C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0886D4BC, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896AA1Cu) goto L_0896AA1C; AOT_REGCACHE_SYNC_OUT(); return; L_0896AA1C: - ctx.gpr[30] = (ctx.gpr[2] | 0u); + ctx.gpr[30] = (aot_gpr_2 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(80))); aot_gpr_31 = (0x0896AA2Cu); aot_gpr_5 = (0u | 201u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896AA2Cu) goto L_0896AA2C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0886D4BC, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896AA2Cu) goto L_0896AA2C; AOT_REGCACHE_SYNC_OUT(); return; L_0896AA2C: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[19] != 0u; // nop if (branch_taken) { @@ -6746,10 +6747,10 @@ L_0896AA38: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(80))); aot_gpr_31 = (0x0896AA44u); aot_gpr_5 = (0u | 202u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896AA44u) goto L_0896AA44; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0886D4BC, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896AA44u) goto L_0896AA44; AOT_REGCACHE_SYNC_OUT(); return; L_0896AA44: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); goto L_0896AA48; L_0896AA48: { const bool branch_taken = ctx.gpr[19] != 0u; @@ -6763,10 +6764,10 @@ L_0896AA50: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(80))); aot_gpr_31 = (0x0896AA5Cu); aot_gpr_5 = (0u | 203u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896AA5Cu) goto L_0896AA5C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0886D4BC, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896AA5Cu) goto L_0896AA5C; AOT_REGCACHE_SYNC_OUT(); return; L_0896AA5C: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); goto L_0896AA60; L_0896AA60: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1588))); @@ -6859,7 +6860,7 @@ L_0896AAF0: goto L_0896AB00; } L_0896AB00: - { const bool branch_taken = aot_gpr_17 == 0u; + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_0896AB3C; @@ -6867,7 +6868,7 @@ L_0896AB00: goto L_0896AB08; } L_0896AB08: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(16))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(16))); aot_gpr_5 = (16256u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_5); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); @@ -6880,7 +6881,7 @@ L_0896AB08: goto L_0896AB24; } L_0896AB24: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(36))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(36))); aot_fpr_13 = std::bit_cast(0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); // nop @@ -6916,14 +6917,14 @@ L_0896AB54: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 650u, 0x0893EA14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896AB6Cu) goto L_0896AB6C; AOT_REGCACHE_SYNC_OUT(); return; L_0896AB6C: - aot_gpr_17 = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); aot_gpr_4 = (0u | 1u); goto L_0896AB74; L_0896AB74: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); aot_gpr_5 = (aot_gpr_5 | 1u); { const bool branch_taken = ctx.gpr[18] == 0u; - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(8), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(8), aot_gpr_5); if (branch_taken) { goto L_0896AB98; } @@ -6943,10 +6944,10 @@ L_0896AB84: L_0896AB98: aot_gpr_5 = (16128u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_5); - ctx.gpr[18] = (aot_gpr_17 | 0u); + ctx.gpr[18] = (ctx.gpr[17] | 0u); { const float fs = ctx.fpr[20]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(44), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(44), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_0896AD68; } @@ -7043,7 +7044,7 @@ L_0896AC40: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 650u, 0x0893EA14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896AC58u) goto L_0896AC58; AOT_REGCACHE_SYNC_OUT(); return; L_0896AC58: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); aot_gpr_4 = (0u | 1u); goto L_0896AC60; L_0896AC60: @@ -7110,7 +7111,7 @@ L_0896ACC4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 650u, 0x0893EA14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896ACDCu) goto L_0896ACDC; AOT_REGCACHE_SYNC_OUT(); return; L_0896ACDC: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); aot_gpr_4 = (0u | 1u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); goto L_0896ACE8; @@ -7431,7 +7432,7 @@ L_0896AF38: goto L_0896AF4C; } L_0896AF4C: - { const bool branch_taken = aot_gpr_17 == 0u; + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_0896AFEC; @@ -7439,7 +7440,7 @@ L_0896AF4C: goto L_0896AF54; } L_0896AF54: - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(36))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(36))); aot_fpr_12 = std::bit_cast(0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 < aot_fpr_12)) ? 0x00800000u : 0u); // nop @@ -7451,7 +7452,7 @@ L_0896AF54: goto L_0896AF6C; } L_0896AF6C: - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(16))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(16))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 <= aot_fpr_12)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); @@ -7479,7 +7480,7 @@ L_0896AF88: aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(8), aot_gpr_4); goto L_0896AFA4; L_0896AFA4: - if (aot_gpr_17 == 0u) { + if (ctx.gpr[17] == 0u) { aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1528))); goto L_0896AFCC; } @@ -7488,10 +7489,10 @@ L_0896AFAC: aot_gpr_4 = (49408u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_5 = (0u + static_cast(-2)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(36), std::bit_cast(aot_fpr_12)); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(36), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(8), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(8), aot_gpr_4); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1528))); goto L_0896AFCC; L_0896AFCC: @@ -7518,7 +7519,7 @@ L_0896AFEC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0151_entry, 151u, 671u, 0x08A63FD4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896B004u) goto L_0896B004; AOT_REGCACHE_SYNC_OUT(); return; L_0896B004: - aot_gpr_4 = (ctx.gpr[18] | aot_gpr_17); + aot_gpr_4 = (ctx.gpr[18] | ctx.gpr[17]); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -7533,7 +7534,7 @@ L_0896B010: } goto L_0896B018; L_0896B018: - ctx.gpr[18] = (aot_gpr_17 | 0u); + ctx.gpr[18] = (ctx.gpr[17] | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(32))); goto L_0896B020; L_0896B020: @@ -7704,10 +7705,10 @@ L_0896B18C: L_0896B194: aot_gpr_31 = (0x0896B19Cu); aot_gpr_4 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896B19Cu) goto L_0896B19C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896B19Cu) goto L_0896B19C; AOT_REGCACHE_SYNC_OUT(); return; L_0896B19C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_0896B2F8; @@ -7891,7 +7892,7 @@ L_0896B308: ctx.fpr[20] = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); aot_gpr_16 = aot_run_words[2]; - aot_gpr_17 = aot_run_words[3]; + ctx.gpr[17] = aot_run_words[3]; ctx.gpr[18] = aot_run_words[4]; ctx.gpr[19] = aot_run_words[5]; ctx.gpr[20] = aot_run_words[6]; @@ -7913,10 +7914,10 @@ L_0896B340: aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(900))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), std::bit_cast(ctx.fpr[20])); - { const std::uint32_t aot_run_words[3]{aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(8), aot_run_words); } { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); if (branch_taken) { goto L_0896B378; } @@ -7926,10 +7927,10 @@ L_0896B368: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(80))); aot_gpr_31 = (0x0896B374u); aot_gpr_5 = (0u | 205u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896B374u) goto L_0896B374; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0886D4BC, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896B374u) goto L_0896B374; AOT_REGCACHE_SYNC_OUT(); return; L_0896B374: - aot_gpr_17 = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); goto L_0896B378; L_0896B378: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); @@ -7953,10 +7954,10 @@ L_0896B388: L_0896B394: aot_gpr_31 = (0x0896B39Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896B39Cu) goto L_0896B39C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896B39Cu) goto L_0896B39C; AOT_REGCACHE_SYNC_OUT(); return; L_0896B39C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_0896B5F0; @@ -7969,14 +7970,14 @@ L_0896B3A4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896B3ACu) goto L_0896B3AC; AOT_REGCACHE_SYNC_OUT(); return; L_0896B3AC: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x0896B3B8u); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0097_entry, 97u, 998u, 0x0898BD24u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896B3B8u) goto L_0896B3B8; AOT_REGCACHE_SYNC_OUT(); return; L_0896B3B8: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1584))); - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; ctx.fpr[20] = std::bit_cast(0u); if (branch_taken) { goto L_0896B444; @@ -8031,17 +8032,17 @@ L_0896B404: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 650u, 0x0893EA14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896B420u) goto L_0896B420; AOT_REGCACHE_SYNC_OUT(); return; L_0896B420: - aot_gpr_17 = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_gpr_31 = (0x0896B430u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 73u, 0x08890474u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896B430u) goto L_0896B430; AOT_REGCACHE_SYNC_OUT(); return; L_0896B430: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); aot_gpr_5 = (0u + static_cast(-2)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(8), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(8), aot_gpr_4); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1584))); goto L_0896B444; L_0896B444: @@ -8064,7 +8065,7 @@ L_0896B454: goto L_0896B460; } L_0896B460: - { const bool branch_taken = aot_gpr_17 == 0u; + { const bool branch_taken = ctx.gpr[17] == 0u; aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(1584), std::bit_cast(ctx.fpr[20])); if (branch_taken) { goto L_0896B540; @@ -8072,22 +8073,22 @@ L_0896B460: goto L_0896B468; } L_0896B468: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); aot_gpr_5 = (49408u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_5); aot_gpr_4 = (aot_gpr_4 | 1u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(36), std::bit_cast(aot_fpr_12)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(8), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(36), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(8), aot_gpr_4); aot_gpr_4 = (aot_gpr_4 | 4u); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(8), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(8), aot_gpr_4); if (branch_taken) { goto L_0896B540; } goto L_0896B48C; } L_0896B48C: - { const bool branch_taken = aot_gpr_17 != 0u; + { const bool branch_taken = ctx.gpr[17] != 0u; // nop if (branch_taken) { goto L_0896B49C; @@ -8108,7 +8109,7 @@ L_0896B49C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0097_entry, 97u, 976u, 0x0898BC6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896B4A4u) goto L_0896B4A4; AOT_REGCACHE_SYNC_OUT(); return; L_0896B4A4: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_0896B4F0; @@ -8136,7 +8137,7 @@ L_0896B4D0: L_0896B4D4: aot_gpr_5 = (15733u << 16u); aot_gpr_5 = (aot_gpr_5 | 49807u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0896B4E8u); aot_fpr_12 = std::bit_cast(aot_gpr_5); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 73u, 0x08890474u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896B4E8u) goto L_0896B4E8; @@ -8150,15 +8151,15 @@ L_0896B4E8: goto L_0896B4F0; } L_0896B4F0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); aot_gpr_5 = (2199u << 16u); aot_gpr_4 = (aot_gpr_4 | 1u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(8), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(8), aot_gpr_4); aot_gpr_5 = (aot_gpr_5 + static_cast(-26424)); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0896B510u); ctx.gpr[6] = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896B510u) goto L_0896B510; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896B510u) goto L_0896B510; AOT_REGCACHE_SYNC_OUT(); return; L_0896B510: { const bool branch_taken = 0u == 0u; @@ -8169,7 +8170,7 @@ L_0896B510: goto L_0896B518; } L_0896B518: - { const bool branch_taken = aot_gpr_17 == 0u; + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_0896B540; @@ -8177,17 +8178,17 @@ L_0896B518: goto L_0896B520; } L_0896B520: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); aot_gpr_5 = (49408u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_5); aot_gpr_4 = (aot_gpr_4 | 1u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(36), std::bit_cast(aot_fpr_12)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(8), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(36), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(8), aot_gpr_4); aot_gpr_4 = (aot_gpr_4 | 4u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(8), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(8), aot_gpr_4); goto L_0896B540; L_0896B540: - { const bool branch_taken = aot_gpr_17 == 0u; + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_0896B5E8; @@ -8195,7 +8196,7 @@ L_0896B540: goto L_0896B548; } L_0896B548: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(16))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(16))); aot_gpr_4 = (16128u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); @@ -8213,7 +8214,7 @@ L_0896B564: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896B56Cu) goto L_0896B56C; AOT_REGCACHE_SYNC_OUT(); return; L_0896B56C: - aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(1272), std::bit_cast(ctx.fpr[20])); + aot_mem.aot_direct_store32(aot_gpr_2 + static_cast(1272), std::bit_cast(ctx.fpr[20])); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(613)))))); aot_gpr_4 = (aot_gpr_4 & 32u); aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); @@ -8284,7 +8285,7 @@ L_0896B5E8: goto L_0896B5F0; } L_0896B5F0: - { const bool branch_taken = aot_gpr_17 == 0u; + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_0896B618; @@ -8292,21 +8293,21 @@ L_0896B5F0: goto L_0896B5F8; } L_0896B5F8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); aot_gpr_5 = (49408u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_5); aot_gpr_4 = (aot_gpr_4 | 1u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(36), std::bit_cast(aot_fpr_12)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(8), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(36), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(8), aot_gpr_4); aot_gpr_4 = (aot_gpr_4 | 4u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(8), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(8), aot_gpr_4); goto L_0896B618; L_0896B618: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); ctx.fpr[20] = std::bit_cast(aot_run_words[0]); aot_gpr_16 = aot_run_words[1]; - aot_gpr_17 = aot_run_words[2]; + ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; } @@ -8318,7 +8319,7 @@ L_0896B618: AOT_REGCACHE_SYNC_OUT(); return; L_0896B634: aot_gpr_29 = (aot_gpr_29 + static_cast(-496)); - { const std::uint32_t aot_run_words[14]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; + { const std::uint32_t aot_run_words[14]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(436), aot_run_words); } aot_gpr_31 = (0x0896B678u); aot_gpr_16 = (aot_gpr_4 | 0u); @@ -8774,7 +8775,7 @@ L_0896B9C8: aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1236))); aot_gpr_4 = (aot_gpr_29 + static_cast(128)); { const float fs = aot_fpr_12; const float ft = ctx.fpr[22]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[16] = std::bit_cast(0x7FC00000u); else ctx.fpr[16] = fs * ft; } - aot_gpr_17 = (aot_gpr_29 + static_cast(112)); + ctx.gpr[17] = (aot_gpr_29 + static_cast(112)); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_14 < aot_fpr_15)) ? 0x00800000u : 0u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1316))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(132), std::bit_cast(ctx.fpr[16])); @@ -8822,7 +8823,7 @@ L_0896BA48: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(88))); @@ -8831,7 +8832,7 @@ L_0896BA48: aot_gpr_4 = (0u | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x0896BA6Cu); - ctx.gpr[6] = (aot_gpr_17 | 0u); + ctx.gpr[6] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 209u, 0x08B00C34u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896BA6Cu) goto L_0896BA6C; AOT_REGCACHE_SYNC_OUT(); return; L_0896BA6C: @@ -8876,7 +8877,7 @@ L_0896BAB0: aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1244))); aot_gpr_4 = (aot_gpr_29 + static_cast(128)); { const float fs = aot_fpr_12; const float ft = ctx.fpr[22]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[16] = std::bit_cast(0x7FC00000u); else ctx.fpr[16] = fs * ft; } - aot_gpr_17 = (aot_gpr_29 + static_cast(112)); + ctx.gpr[17] = (aot_gpr_29 + static_cast(112)); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_14 < aot_fpr_15)) ? 0x00800000u : 0u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1324))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(132), std::bit_cast(ctx.fpr[16])); @@ -8923,7 +8924,7 @@ L_0896BB2C: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1504))); @@ -8931,7 +8932,7 @@ L_0896BB2C: { const float fs = aot_fpr_12; const float ft = ctx.fpr[22]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_5 = (aot_gpr_29 + static_cast(160)); aot_gpr_31 = (0x0896BB4Cu); - ctx.gpr[6] = (aot_gpr_17 | 0u); + ctx.gpr[6] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 209u, 0x08B00C34u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896BB4Cu) goto L_0896BB4C; AOT_REGCACHE_SYNC_OUT(); return; L_0896BB4C: @@ -8955,7 +8956,7 @@ L_0896BB70: ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1544))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(80))); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_17 = (aot_gpr_29 + static_cast(224)); + ctx.gpr[17] = (aot_gpr_29 + static_cast(224)); if (branch_taken) { goto L_0896BB98; } @@ -9008,12 +9009,12 @@ L_0896BBB4: aot_gpr_4 = (aot_gpr_29 + static_cast(304)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(288), aot_gpr_4); aot_gpr_31 = (0x0896BBD8u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 940u, 0x0885FF78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896BBD8u) goto L_0896BBD8; AOT_REGCACHE_SYNC_OUT(); return; L_0896BBD8: aot_gpr_31 = (0x0896BBE0u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 936u, 0x0885FF14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896BBE0u) goto L_0896BBE0; AOT_REGCACHE_SYNC_OUT(); return; L_0896BBE0: @@ -9075,7 +9076,7 @@ L_0896BC64: AOT_REGCACHE_SYNC_OUT(); return; L_0896BC70: aot_gpr_31 = (0x0896BC78u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 939u, 0x0885FF48u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896BC78u) goto L_0896BC78; AOT_REGCACHE_SYNC_OUT(); return; L_0896BC78: @@ -9086,7 +9087,7 @@ L_0896BC78: L_0896BC80: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x0896BC8Cu); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 10u, 0x088603A0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896BC8Cu) goto L_0896BC8C; AOT_REGCACHE_SYNC_OUT(); return; L_0896BC8C: @@ -9193,7 +9194,7 @@ L_0896BD24: L_0896BD2C: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x0896BD38u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 10u, 0x088603A0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896BD38u) goto L_0896BD38; AOT_REGCACHE_SYNC_OUT(); return; L_0896BD38: @@ -9283,7 +9284,7 @@ L_0896BDA0: ctx.fpr[22] = std::bit_cast(std::bit_cast(ctx.fpr[22]) ^ 0x80000000u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(80))); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1548))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1548))); if (branch_taken) { goto L_0896BDFC; } @@ -9293,7 +9294,7 @@ L_0896BDE4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(88))); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_4 = (aot_gpr_17 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(16)); if (branch_taken) { goto L_0896BE00; } @@ -9305,7 +9306,7 @@ L_0896BDF4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 129u, 0x089D89E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896BDFCu) goto L_0896BDFC; AOT_REGCACHE_SYNC_OUT(); return; L_0896BDFC: - aot_gpr_4 = (aot_gpr_17 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(16)); goto L_0896BE00; L_0896BE00: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(80), aot_gpr_4); @@ -9356,7 +9357,7 @@ L_0896BE48: L_0896BE50: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(80))); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1552))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1552))); if (branch_taken) { goto L_0896BE74; } @@ -9366,7 +9367,7 @@ L_0896BE5C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(88))); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_4 = (aot_gpr_17 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(16)); if (branch_taken) { goto L_0896BE78; } @@ -9378,7 +9379,7 @@ L_0896BE6C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 129u, 0x089D89E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896BE74u) goto L_0896BE74; AOT_REGCACHE_SYNC_OUT(); return; L_0896BE74: - aot_gpr_4 = (aot_gpr_17 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(16)); goto L_0896BE78; L_0896BE78: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(80), aot_gpr_4); @@ -9496,7 +9497,7 @@ L_0896BF68: L_0896BF70: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(80))); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1556))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1556))); if (branch_taken) { goto L_0896BF94; } @@ -9506,7 +9507,7 @@ L_0896BF7C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(88))); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_4 = (aot_gpr_17 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(16)); if (branch_taken) { goto L_0896BF98; } @@ -9518,7 +9519,7 @@ L_0896BF8C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 129u, 0x089D89E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896BF94u) goto L_0896BF94; AOT_REGCACHE_SYNC_OUT(); return; L_0896BF94: - aot_gpr_4 = (aot_gpr_17 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(16)); goto L_0896BF98; L_0896BF98: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(80), aot_gpr_4); diff --git a/profiles/vcs/generated/generated_unit_0090.cpp b/profiles/vcs/generated/generated_unit_0090.cpp index fd03985..db57b47 100644 --- a/profiles/vcs/generated/generated_unit_0090.cpp +++ b/profiles/vcs/generated/generated_unit_0090.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0090[4094] = { }; void recomp_unit_0090_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,16,31,29,17 fprs=12,13,14,20 gpr_occ=3762 fpr_occ=596 gpr_total=5156 fpr_total=934 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,31,6,16,29 fprs=12,13,14,20 gpr_occ=3925 fpr_occ=599 gpr_total=5424 fpr_total=938 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; - std::uint32_t aot_gpr_16 = ctx.gpr[16]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; + std::uint32_t aot_gpr_6 = ctx.gpr[6]; + std::uint32_t aot_gpr_16 = ctx.gpr[16]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; - std::uint32_t aot_gpr_17 = ctx.gpr[17]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_14 = ctx.fpr[14]; float aot_fpr_20 = ctx.fpr[20]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[16] = aot_gpr_16; ctx.gpr[31] = aot_gpr_31; ctx.gpr[29] = aot_gpr_29; ctx.gpr[17] = aot_gpr_17; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[20] = aot_fpr_20; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_17 = ctx.gpr[17]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_20 = ctx.fpr[20]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[31] = aot_gpr_31; ctx.gpr[6] = aot_gpr_6; ctx.gpr[16] = aot_gpr_16; ctx.gpr[29] = aot_gpr_29; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[20] = aot_fpr_20; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_29 = ctx.gpr[29]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_20 = ctx.fpr[20]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -1128,7 +1129,7 @@ L_0896C05C: } L_0896C070: aot_gpr_5 = (aot_gpr_29 + static_cast(400)); - ctx.gpr[6] = (aot_gpr_29 + static_cast(404)); + aot_gpr_6 = (aot_gpr_29 + static_cast(404)); aot_gpr_31 = (0x0896C080u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 336u, 0x08969998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896C080u) goto L_0896C080; @@ -1136,7 +1137,7 @@ L_0896C070: L_0896C080: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(80))); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1540))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1540))); if (branch_taken) { goto L_0896C0A4; } @@ -1146,7 +1147,7 @@ L_0896C08C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(88))); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_4 = (aot_gpr_17 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(16)); if (branch_taken) { goto L_0896C0A8; } @@ -1158,7 +1159,7 @@ L_0896C09C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 129u, 0x089D89E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896C0A4u) goto L_0896C0A4; AOT_REGCACHE_SYNC_OUT(); return; L_0896C0A4: - aot_gpr_4 = (aot_gpr_17 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(16)); goto L_0896C0A8; L_0896C0A8: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(80), aot_gpr_4); @@ -1246,7 +1247,7 @@ L_0896C154: L_0896C160: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(80))); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1564))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1564))); if (branch_taken) { goto L_0896C184; } @@ -1256,7 +1257,7 @@ L_0896C16C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(88))); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_4 = (aot_gpr_17 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(16)); if (branch_taken) { goto L_0896C188; } @@ -1268,7 +1269,7 @@ L_0896C17C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 129u, 0x089D89E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896C184u) goto L_0896C184; AOT_REGCACHE_SYNC_OUT(); return; L_0896C184: - aot_gpr_4 = (aot_gpr_17 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(16)); goto L_0896C188; L_0896C188: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(80), aot_gpr_4); @@ -1328,7 +1329,7 @@ L_0896C1D8: L_0896C1E4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(80))); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1568))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1568))); if (branch_taken) { goto L_0896C208; } @@ -1338,7 +1339,7 @@ L_0896C1F0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(88))); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_4 = (aot_gpr_17 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(16)); if (branch_taken) { goto L_0896C20C; } @@ -1350,7 +1351,7 @@ L_0896C200: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 129u, 0x089D89E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896C208u) goto L_0896C208; AOT_REGCACHE_SYNC_OUT(); return; L_0896C208: - aot_gpr_4 = (aot_gpr_17 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(16)); goto L_0896C20C; L_0896C20C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(80), aot_gpr_4); @@ -1408,7 +1409,7 @@ L_0896C25C: L_0896C268: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(80))); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1572))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1572))); if (branch_taken) { goto L_0896C28C; } @@ -1418,7 +1419,7 @@ L_0896C274: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(88))); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_4 = (aot_gpr_17 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(16)); if (branch_taken) { goto L_0896C290; } @@ -1430,7 +1431,7 @@ L_0896C284: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 129u, 0x089D89E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896C28Cu) goto L_0896C28C; AOT_REGCACHE_SYNC_OUT(); return; L_0896C28C: - aot_gpr_4 = (aot_gpr_17 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(16)); goto L_0896C290; L_0896C290: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(80), aot_gpr_4); @@ -1512,7 +1513,7 @@ L_0896C304: ctx.fpr[24] = std::bit_cast(aot_run_words[2]); ctx.fpr[26] = std::bit_cast(aot_run_words[3]); aot_gpr_16 = aot_run_words[4]; - aot_gpr_17 = aot_run_words[5]; + ctx.gpr[17] = aot_run_words[5]; ctx.gpr[18] = aot_run_words[6]; ctx.gpr[19] = aot_run_words[7]; ctx.gpr[20] = aot_run_words[8]; @@ -1531,17 +1532,17 @@ L_0896C304: L_0896C344: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, ctx.gpr[18]}; + { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } ctx.gpr[18] = (0u | 0u); ctx.gpr[7] = (ctx.gpr[7] & 496u); ctx.gpr[8] = (0u | 64u); - aot_gpr_17 = (aot_gpr_4 | 0u); + ctx.gpr[17] = (aot_gpr_4 | 0u); aot_gpr_16 = (aot_gpr_5 | 0u); { const std::uint32_t aot_run_words[5]{ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(12), aot_run_words); } { const bool branch_taken = ctx.gpr[7] != ctx.gpr[8]; - ctx.gpr[19] = (ctx.gpr[6] | 0u); + ctx.gpr[19] = (aot_gpr_6 | 0u); if (branch_taken) { goto L_0896C740; } @@ -1557,7 +1558,7 @@ L_0896C388: goto L_0896C394; } L_0896C394: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(620)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(620)))))); { const bool branch_taken = static_cast(aot_gpr_4) < 0; // nop if (branch_taken) { @@ -1593,7 +1594,7 @@ L_0896C3C8: goto L_0896C3CC; L_0896C3CC: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x0896C3DCu); ctx.gpr[7] = (0u | 118u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 635u, 0x0893E914u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896C3DCu) goto L_0896C3DC; @@ -1602,7 +1603,7 @@ L_0896C3DC: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0896C3E8u); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896C3E8u) goto L_0896C3E8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896C3E8u) goto L_0896C3E8; AOT_REGCACHE_SYNC_OUT(); return; L_0896C3E8: { const bool branch_taken = 0u == 0u; @@ -1629,7 +1630,7 @@ L_0896C404: goto L_0896C408; L_0896C408: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x0896C418u); ctx.gpr[7] = (0u | 119u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 635u, 0x0893E914u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896C418u) goto L_0896C418; @@ -1638,27 +1639,27 @@ L_0896C418: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0896C424u); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896C424u) goto L_0896C424; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896C424u) goto L_0896C424; AOT_REGCACHE_SYNC_OUT(); return; L_0896C424: aot_gpr_31 = (0x0896C42Cu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896C42Cu) goto L_0896C42C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896C42Cu) goto L_0896C42C; AOT_REGCACHE_SYNC_OUT(); return; L_0896C42C: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x0896C43Cu); - ctx.gpr[6] = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896C43Cu) goto L_0896C43C; + aot_gpr_6 = (aot_gpr_16 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896C43Cu) goto L_0896C43C; AOT_REGCACHE_SYNC_OUT(); return; L_0896C43C: aot_gpr_4 = (0u + static_cast(-1)); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(615)))))); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(620), static_cast(aot_gpr_4)); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(615)))))); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(620), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_gpr_5 | 16u); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(615), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(615), static_cast(aot_gpr_4)); if (branch_taken) { goto L_0896CD3C; } @@ -1693,7 +1694,7 @@ L_0896C47C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5836))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); ctx.gpr[8] = (16576u << 16u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1508))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1508))); aot_fpr_12 = std::bit_cast(ctx.gpr[8]); aot_gpr_31 = (0x0896C498u); ctx.gpr[7] = (0u | 196u); @@ -1703,32 +1704,32 @@ L_0896C498: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0896C4A4u); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896C4A4u) goto L_0896C4A4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896C4A4u) goto L_0896C4A4; AOT_REGCACHE_SYNC_OUT(); return; L_0896C4A4: aot_gpr_31 = (0x0896C4ACu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896C4ACu) goto L_0896C4AC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896C4ACu) goto L_0896C4AC; AOT_REGCACHE_SYNC_OUT(); return; L_0896C4AC: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_5 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x0896C4BCu); - ctx.gpr[6] = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896C4BCu) goto L_0896C4BC; + aot_gpr_6 = (aot_gpr_16 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896C4BCu) goto L_0896C4BC; AOT_REGCACHE_SYNC_OUT(); return; L_0896C4BC: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(1280)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(1280)))))); aot_gpr_4 = (aot_gpr_4 | 1u); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(1280), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(1280), static_cast(aot_gpr_4)); if (branch_taken) { goto L_0896CD3C; } goto L_0896C4CC; } L_0896C4CC: - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); aot_fpr_12 = std::bit_cast(0u); aot_gpr_4 = (16128u << 16u); aot_fpr_14 = std::bit_cast(aot_gpr_4); @@ -1742,13 +1743,13 @@ L_0896C4CC: goto L_0896C4EC; } L_0896C4EC: - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); aot_gpr_5 = (48896u << 16u); aot_fpr_14 = std::bit_cast(aot_gpr_5); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 <= aot_fpr_14)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); - aot_gpr_5 = (aot_gpr_17 + static_cast(32)); + aot_gpr_5 = (ctx.gpr[17] + static_cast(32)); if (branch_taken) { goto L_0896C5FC; } @@ -1800,8 +1801,8 @@ L_0896C548: goto L_0896C54C; L_0896C54C: ctx.gpr[21] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); - ctx.gpr[22] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1508))); - aot_gpr_4 = (aot_gpr_17 | 0u); + ctx.gpr[22] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1508))); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0896C560u); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0149_entry, 149u, 294u, 0x08A59500u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896C560u) goto L_0896C560; @@ -1809,7 +1810,7 @@ L_0896C54C: L_0896C560: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (ctx.gpr[21] | 0u); - ctx.gpr[6] = (ctx.gpr[22] | 0u); + aot_gpr_6 = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x0896C574u); ctx.gpr[7] = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 635u, 0x0893E914u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896C574u) goto L_0896C574; @@ -1818,7 +1819,7 @@ L_0896C574: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0896C580u); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896C580u) goto L_0896C580; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896C580u) goto L_0896C580; AOT_REGCACHE_SYNC_OUT(); return; L_0896C580: { const bool branch_taken = 0u == 0u; @@ -1845,8 +1846,8 @@ L_0896C59C: goto L_0896C5A0; L_0896C5A0: ctx.gpr[21] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); - ctx.gpr[22] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1508))); - aot_gpr_4 = (aot_gpr_17 | 0u); + ctx.gpr[22] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1508))); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0896C5B4u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0149_entry, 149u, 294u, 0x08A59500u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896C5B4u) goto L_0896C5B4; @@ -1854,7 +1855,7 @@ L_0896C5A0: L_0896C5B4: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (ctx.gpr[21] | 0u); - ctx.gpr[6] = (ctx.gpr[22] | 0u); + aot_gpr_6 = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x0896C5C8u); ctx.gpr[7] = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 635u, 0x0893E914u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896C5C8u) goto L_0896C5C8; @@ -1863,25 +1864,25 @@ L_0896C5C8: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0896C5D4u); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896C5D4u) goto L_0896C5D4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896C5D4u) goto L_0896C5D4; AOT_REGCACHE_SYNC_OUT(); return; L_0896C5D4: aot_gpr_31 = (0x0896C5DCu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896C5DCu) goto L_0896C5DC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896C5DCu) goto L_0896C5DC; AOT_REGCACHE_SYNC_OUT(); return; L_0896C5DC: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_5 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x0896C5ECu); - ctx.gpr[6] = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896C5ECu) goto L_0896C5EC; + aot_gpr_6 = (aot_gpr_16 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896C5ECu) goto L_0896C5EC; AOT_REGCACHE_SYNC_OUT(); return; L_0896C5EC: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(1280)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(1280)))))); aot_gpr_4 = (aot_gpr_4 | 1u); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(1280), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(1280), static_cast(aot_gpr_4)); if (branch_taken) { goto L_0896CD3C; } @@ -1904,7 +1905,7 @@ L_0896C604: goto L_0896C60C; } L_0896C60C: - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 <= aot_fpr_12)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); @@ -1931,7 +1932,7 @@ L_0896C634: goto L_0896C638; L_0896C638: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x0896C648u); ctx.gpr[7] = (0u | 114u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 635u, 0x0893E914u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896C648u) goto L_0896C648; @@ -1940,7 +1941,7 @@ L_0896C648: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0896C654u); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896C654u) goto L_0896C654; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896C654u) goto L_0896C654; AOT_REGCACHE_SYNC_OUT(); return; L_0896C654: { const bool branch_taken = 0u == 0u; @@ -1967,7 +1968,7 @@ L_0896C670: goto L_0896C674; L_0896C674: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x0896C684u); ctx.gpr[7] = (0u | 116u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 635u, 0x0893E914u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896C684u) goto L_0896C684; @@ -1976,7 +1977,7 @@ L_0896C684: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0896C690u); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896C690u) goto L_0896C690; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896C690u) goto L_0896C690; AOT_REGCACHE_SYNC_OUT(); return; L_0896C690: { const bool branch_taken = 0u == 0u; @@ -1987,7 +1988,7 @@ L_0896C690: goto L_0896C698; } L_0896C698: - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 < aot_fpr_12)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); @@ -2014,7 +2015,7 @@ L_0896C6C0: goto L_0896C6C4; L_0896C6C4: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x0896C6D4u); ctx.gpr[7] = (0u | 115u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 635u, 0x0893E914u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896C6D4u) goto L_0896C6D4; @@ -2023,7 +2024,7 @@ L_0896C6D4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0896C6E0u); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896C6E0u) goto L_0896C6E0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896C6E0u) goto L_0896C6E0; AOT_REGCACHE_SYNC_OUT(); return; L_0896C6E0: { const bool branch_taken = 0u == 0u; @@ -2050,7 +2051,7 @@ L_0896C6FC: goto L_0896C700; L_0896C700: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x0896C710u); ctx.gpr[7] = (0u | 117u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 635u, 0x0893E914u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896C710u) goto L_0896C710; @@ -2059,20 +2060,20 @@ L_0896C710: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0896C71Cu); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896C71Cu) goto L_0896C71C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896C71Cu) goto L_0896C71C; AOT_REGCACHE_SYNC_OUT(); return; L_0896C71C: aot_gpr_31 = (0x0896C724u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896C724u) goto L_0896C724; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896C724u) goto L_0896C724; AOT_REGCACHE_SYNC_OUT(); return; L_0896C724: aot_gpr_5 = (2203u << 16u); aot_gpr_4 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (aot_gpr_16 | 0u); + aot_gpr_6 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0896C738u); aot_gpr_5 = (aot_gpr_5 + static_cast(12000)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896C738u) goto L_0896C738; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896C738u) goto L_0896C738; AOT_REGCACHE_SYNC_OUT(); return; L_0896C738: { const bool branch_taken = 0u == 0u; @@ -2093,7 +2094,7 @@ L_0896C740: goto L_0896C750; } L_0896C750: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -2102,7 +2103,7 @@ L_0896C750: goto L_0896C75C; } L_0896C75C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); aot_gpr_5 = (0u | 55u); aot_gpr_4 = (aot_gpr_4 + static_cast(2228)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); @@ -2114,7 +2115,7 @@ L_0896C75C: goto L_0896C774; } L_0896C774: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); aot_gpr_5 = (4u << 16u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(460))); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); @@ -2144,7 +2145,7 @@ L_0896C7A4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5836))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); ctx.gpr[8] = (16576u << 16u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1508))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1508))); aot_fpr_12 = std::bit_cast(ctx.gpr[8]); aot_gpr_31 = (0x0896C7C0u); ctx.gpr[7] = (0u | 196u); @@ -2155,12 +2156,12 @@ L_0896C7C0: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_5 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x0896C7D4u); - ctx.gpr[6] = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896C7D4u) goto L_0896C7D4; + aot_gpr_6 = (aot_gpr_16 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896C7D4u) goto L_0896C7D4; AOT_REGCACHE_SYNC_OUT(); return; L_0896C7D4: { const bool branch_taken = 0u == 0u; - ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(900))); + ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); if (branch_taken) { goto L_0896CD30; } @@ -2198,7 +2199,7 @@ L_0896C804: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5836))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); ctx.gpr[8] = (16576u << 16u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1508))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1508))); aot_fpr_12 = std::bit_cast(ctx.gpr[8]); aot_gpr_31 = (0x0896C820u); ctx.gpr[7] = (0u | 196u); @@ -2208,25 +2209,25 @@ L_0896C820: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0896C82Cu); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896C82Cu) goto L_0896C82C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896C82Cu) goto L_0896C82C; AOT_REGCACHE_SYNC_OUT(); return; L_0896C82C: aot_gpr_31 = (0x0896C834u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896C834u) goto L_0896C834; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896C834u) goto L_0896C834; AOT_REGCACHE_SYNC_OUT(); return; L_0896C834: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_5 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x0896C844u); - ctx.gpr[6] = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896C844u) goto L_0896C844; + aot_gpr_6 = (aot_gpr_16 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896C844u) goto L_0896C844; AOT_REGCACHE_SYNC_OUT(); return; L_0896C844: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(1280)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(1280)))))); aot_gpr_4 = (aot_gpr_4 | 1u); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(1280), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(1280), static_cast(aot_gpr_4)); if (branch_taken) { goto L_0896CD30; } @@ -2250,7 +2251,7 @@ L_0896C860: goto L_0896C868; } L_0896C868: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(900))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); { const bool branch_taken = aot_gpr_5 == 0u; // nop if (branch_taken) { @@ -2259,7 +2260,7 @@ L_0896C868: goto L_0896C874; } L_0896C874: - aot_gpr_5 = (aot_gpr_17 + static_cast(320)); + aot_gpr_5 = (ctx.gpr[17] + static_cast(320)); { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -2313,7 +2314,7 @@ L_0896C8C0: L_0896C8D0: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 1000u); - ctx.gpr[6] = (0u | 31u); + aot_gpr_6 = (0u | 31u); aot_gpr_31 = (0x0896C8E4u); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0070_entry, 70u, 14u, 0x0891C0E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896C8E4u) goto L_0896C8E4; @@ -2329,7 +2330,7 @@ L_0896C8E4: L_0896C8EC: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 1000u); - ctx.gpr[6] = (0u | 29u); + aot_gpr_6 = (0u | 29u); aot_gpr_31 = (0x0896C900u); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0070_entry, 70u, 14u, 0x0891C0E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896C900u) goto L_0896C900; @@ -2343,11 +2344,11 @@ L_0896C900: goto L_0896C908; } L_0896C908: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(900))); - ctx.gpr[6] = (0u | 55u); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); + aot_gpr_6 = (0u | 55u); aot_gpr_5 = (aot_gpr_5 + static_cast(2228)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); - { const bool branch_taken = aot_gpr_5 != ctx.gpr[6]; + { const bool branch_taken = aot_gpr_5 != aot_gpr_6; // nop if (branch_taken) { goto L_0896C9E0; @@ -2355,10 +2356,10 @@ L_0896C908: goto L_0896C920; } L_0896C920: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(900))); - ctx.gpr[6] = (4u << 16u); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); + aot_gpr_6 = (4u << 16u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(460))); - aot_gpr_5 = (aot_gpr_5 & ctx.gpr[6]); + aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); { const bool branch_taken = aot_gpr_5 != 0u; // nop if (branch_taken) { @@ -2393,7 +2394,7 @@ L_0896C95C: goto L_0896C960; L_0896C960: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x0896C970u); ctx.gpr[7] = (0u | 118u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 635u, 0x0893E914u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896C970u) goto L_0896C970; @@ -2402,7 +2403,7 @@ L_0896C970: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0896C97Cu); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896C97Cu) goto L_0896C97C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896C97Cu) goto L_0896C97C; AOT_REGCACHE_SYNC_OUT(); return; L_0896C97C: { const bool branch_taken = 0u == 0u; @@ -2429,7 +2430,7 @@ L_0896C998: goto L_0896C99C; L_0896C99C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x0896C9ACu); ctx.gpr[7] = (0u | 119u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 635u, 0x0893E914u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896C9ACu) goto L_0896C9AC; @@ -2438,25 +2439,25 @@ L_0896C9AC: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0896C9B8u); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896C9B8u) goto L_0896C9B8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896C9B8u) goto L_0896C9B8; AOT_REGCACHE_SYNC_OUT(); return; L_0896C9B8: aot_gpr_31 = (0x0896C9C0u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896C9C0u) goto L_0896C9C0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896C9C0u) goto L_0896C9C0; AOT_REGCACHE_SYNC_OUT(); return; L_0896C9C0: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x0896C9D0u); - ctx.gpr[6] = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896C9D0u) goto L_0896C9D0; + aot_gpr_6 = (aot_gpr_16 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896C9D0u) goto L_0896C9D0; AOT_REGCACHE_SYNC_OUT(); return; L_0896C9D0: - ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(900))); + ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); aot_gpr_4 = (0u + static_cast(-1)); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(620), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(620), static_cast(aot_gpr_4)); if (branch_taken) { goto L_0896CD30; } @@ -2501,8 +2502,8 @@ L_0896CA10: goto L_0896CA14; L_0896CA14: ctx.gpr[21] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); - ctx.gpr[22] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1508))); - aot_gpr_4 = (aot_gpr_17 | 0u); + ctx.gpr[22] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1508))); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0896CA28u); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0149_entry, 149u, 294u, 0x08A59500u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896CA28u) goto L_0896CA28; @@ -2510,7 +2511,7 @@ L_0896CA14: L_0896CA28: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (ctx.gpr[21] | 0u); - ctx.gpr[6] = (ctx.gpr[22] | 0u); + aot_gpr_6 = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x0896CA3Cu); ctx.gpr[7] = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 635u, 0x0893E914u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896CA3Cu) goto L_0896CA3C; @@ -2519,7 +2520,7 @@ L_0896CA3C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0896CA48u); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896CA48u) goto L_0896CA48; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896CA48u) goto L_0896CA48; AOT_REGCACHE_SYNC_OUT(); return; L_0896CA48: { const bool branch_taken = 0u == 0u; @@ -2546,8 +2547,8 @@ L_0896CA64: goto L_0896CA68; L_0896CA68: ctx.gpr[21] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); - ctx.gpr[22] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1508))); - aot_gpr_4 = (aot_gpr_17 | 0u); + ctx.gpr[22] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1508))); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0896CA7Cu); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0149_entry, 149u, 294u, 0x08A59500u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896CA7Cu) goto L_0896CA7C; @@ -2555,7 +2556,7 @@ L_0896CA68: L_0896CA7C: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (ctx.gpr[21] | 0u); - ctx.gpr[6] = (ctx.gpr[22] | 0u); + aot_gpr_6 = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x0896CA90u); ctx.gpr[7] = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 635u, 0x0893E914u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896CA90u) goto L_0896CA90; @@ -2564,19 +2565,19 @@ L_0896CA90: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0896CA9Cu); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896CA9Cu) goto L_0896CA9C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896CA9Cu) goto L_0896CA9C; AOT_REGCACHE_SYNC_OUT(); return; L_0896CA9C: aot_gpr_31 = (0x0896CAA4u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896CAA4u) goto L_0896CAA4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896CAA4u) goto L_0896CAA4; AOT_REGCACHE_SYNC_OUT(); return; L_0896CAA4: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_5 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x0896CAB4u); - ctx.gpr[6] = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896CAB4u) goto L_0896CAB4; + aot_gpr_6 = (aot_gpr_16 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896CAB4u) goto L_0896CAB4; AOT_REGCACHE_SYNC_OUT(); return; L_0896CAB4: { const bool branch_taken = 0u == 0u; @@ -2587,7 +2588,7 @@ L_0896CAB4: goto L_0896CABC; } L_0896CABC: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0896CAC8u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896CAC8u) goto L_0896CAC8; @@ -2601,7 +2602,7 @@ L_0896CAC8: goto L_0896CAD0; } L_0896CAD0: - aot_gpr_4 = (aot_gpr_17 + static_cast(320)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(320)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -2655,7 +2656,7 @@ L_0896CB1C: L_0896CB2C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 1000u); - ctx.gpr[6] = (0u | 31u); + aot_gpr_6 = (0u | 31u); aot_gpr_31 = (0x0896CB40u); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0070_entry, 70u, 14u, 0x0891C0E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896CB40u) goto L_0896CB40; @@ -2671,7 +2672,7 @@ L_0896CB40: L_0896CB48: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 1000u); - ctx.gpr[6] = (0u | 29u); + aot_gpr_6 = (0u | 29u); aot_gpr_31 = (0x0896CB5Cu); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0070_entry, 70u, 14u, 0x0891C0E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896CB5Cu) goto L_0896CB5C; @@ -2685,7 +2686,7 @@ L_0896CB5C: goto L_0896CB64; } L_0896CB64: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0896CB70u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896CB70u) goto L_0896CB70; @@ -2695,7 +2696,7 @@ L_0896CB70: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_5 = (0u | 55u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (branch_taken) { goto L_0896CC58; } @@ -2745,7 +2746,7 @@ L_0896CBC8: goto L_0896CBCC; L_0896CBCC: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x0896CBDCu); ctx.gpr[7] = (0u | 118u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 635u, 0x0893E914u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896CBDCu) goto L_0896CBDC; @@ -2754,7 +2755,7 @@ L_0896CBDC: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0896CBE8u); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896CBE8u) goto L_0896CBE8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896CBE8u) goto L_0896CBE8; AOT_REGCACHE_SYNC_OUT(); return; L_0896CBE8: { const bool branch_taken = 0u == 0u; @@ -2781,7 +2782,7 @@ L_0896CC04: goto L_0896CC08; L_0896CC08: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x0896CC18u); ctx.gpr[7] = (0u | 119u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 635u, 0x0893E914u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896CC18u) goto L_0896CC18; @@ -2790,22 +2791,22 @@ L_0896CC18: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0896CC24u); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896CC24u) goto L_0896CC24; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896CC24u) goto L_0896CC24; AOT_REGCACHE_SYNC_OUT(); return; L_0896CC24: aot_gpr_31 = (0x0896CC2Cu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896CC2Cu) goto L_0896CC2C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896CC2Cu) goto L_0896CC2C; AOT_REGCACHE_SYNC_OUT(); return; L_0896CC2C: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x0896CC3Cu); - ctx.gpr[6] = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896CC3Cu) goto L_0896CC3C; + aot_gpr_6 = (aot_gpr_16 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896CC3Cu) goto L_0896CC3C; AOT_REGCACHE_SYNC_OUT(); return; L_0896CC3C: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0896CC48u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896CC48u) goto L_0896CC48; @@ -2814,7 +2815,7 @@ L_0896CC48: aot_gpr_4 = (0u + static_cast(-1)); ctx.gpr[18] = (ctx.gpr[2] | 0u); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(620), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(620), static_cast(aot_gpr_4)); if (branch_taken) { goto L_0896CD30; } @@ -2860,8 +2861,8 @@ L_0896CC8C: goto L_0896CC90; L_0896CC90: ctx.gpr[21] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); - ctx.gpr[22] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1508))); - aot_gpr_4 = (aot_gpr_17 | 0u); + ctx.gpr[22] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1508))); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0896CCA4u); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0149_entry, 149u, 294u, 0x08A59500u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896CCA4u) goto L_0896CCA4; @@ -2869,7 +2870,7 @@ L_0896CC90: L_0896CCA4: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (ctx.gpr[21] | 0u); - ctx.gpr[6] = (ctx.gpr[22] | 0u); + aot_gpr_6 = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x0896CCB8u); ctx.gpr[7] = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 635u, 0x0893E914u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896CCB8u) goto L_0896CCB8; @@ -2878,7 +2879,7 @@ L_0896CCB8: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0896CCC4u); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896CCC4u) goto L_0896CCC4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896CCC4u) goto L_0896CCC4; AOT_REGCACHE_SYNC_OUT(); return; L_0896CCC4: { const bool branch_taken = 0u == 0u; @@ -2905,8 +2906,8 @@ L_0896CCE0: goto L_0896CCE4; L_0896CCE4: ctx.gpr[21] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); - ctx.gpr[22] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1508))); - aot_gpr_4 = (aot_gpr_17 | 0u); + ctx.gpr[22] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1508))); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0896CCF8u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0149_entry, 149u, 294u, 0x08A59500u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896CCF8u) goto L_0896CCF8; @@ -2914,7 +2915,7 @@ L_0896CCE4: L_0896CCF8: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (ctx.gpr[21] | 0u); - ctx.gpr[6] = (ctx.gpr[22] | 0u); + aot_gpr_6 = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x0896CD0Cu); ctx.gpr[7] = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 635u, 0x0893E914u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896CD0Cu) goto L_0896CD0C; @@ -2923,24 +2924,24 @@ L_0896CD0C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0896CD18u); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896CD18u) goto L_0896CD18; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896CD18u) goto L_0896CD18; AOT_REGCACHE_SYNC_OUT(); return; L_0896CD18: aot_gpr_31 = (0x0896CD20u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896CD20u) goto L_0896CD20; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896CD20u) goto L_0896CD20; AOT_REGCACHE_SYNC_OUT(); return; L_0896CD20: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_5 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x0896CD30u); - ctx.gpr[6] = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896CD30u) goto L_0896CD30; + aot_gpr_6 = (aot_gpr_16 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896CD30u) goto L_0896CD30; AOT_REGCACHE_SYNC_OUT(); return; L_0896CD30: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(1280)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(1280)))))); aot_gpr_4 = (aot_gpr_4 | 1u); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(1280), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(1280), static_cast(aot_gpr_4)); goto L_0896CD3C; L_0896CD3C: { const bool branch_taken = ctx.gpr[18] == 0u; @@ -2951,9 +2952,9 @@ L_0896CD3C: goto L_0896CD44; } L_0896CD44: - ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(2274))); + aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(2274))); aot_gpr_4 = (ctx.gpr[18] | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0896CD58u); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0106_entry, 106u, 567u, 0x089AE4F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896CD58u) goto L_0896CD58; @@ -3000,7 +3001,7 @@ L_0896CD88: goto L_0896CD90; } L_0896CD90: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(852))); { const bool branch_taken = aot_gpr_4 != ctx.gpr[19]; // nop if (branch_taken) { @@ -3013,9 +3014,9 @@ L_0896CD9C: aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(2301), static_cast(aot_gpr_4)); goto L_0896CDA4; L_0896CDA4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); { const bool branch_taken = ctx.gpr[18] != aot_gpr_4; - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (branch_taken) { goto L_0896CDE0; } @@ -3035,15 +3036,15 @@ L_0896CDB8: goto L_0896CDC0; } L_0896CDC0: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0896CDCCu); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896CDCCu) goto L_0896CDCC; AOT_REGCACHE_SYNC_OUT(); return; L_0896CDCC: aot_gpr_4 = (ctx.gpr[2] | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[6] = (0u | 11u); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_6 = (0u | 11u); aot_gpr_31 = (0x0896CDE0u); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0106_entry, 106u, 567u, 0x089AE4F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896CDE0u) goto L_0896CDE0; @@ -3052,7 +3053,7 @@ L_0896CDE0: { std::uint32_t aot_run_words[8]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -3067,7 +3068,7 @@ L_0896CDE0: ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0896CE08: - { const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -3143,12 +3144,12 @@ L_0896CE30: aot_gpr_5 = (2247u << 16u); aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-17332), static_cast(aot_gpr_4)); ctx.gpr[8] = (0u | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_5 = (aot_gpr_5 + static_cast(14768)); goto L_0896CE94; L_0896CE94: ctx.gpr[7] = (0u | 0u); - aot_gpr_4 = (ctx.gpr[6] + aot_gpr_5); + aot_gpr_4 = (aot_gpr_6 + aot_gpr_5); goto L_0896CE9C; L_0896CE9C: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), 0u); @@ -3165,7 +3166,7 @@ L_0896CEB0: ctx.gpr[8] = (ctx.gpr[8] + static_cast(1)); aot_gpr_4 = (static_cast(ctx.gpr[8]) < 4 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; - ctx.gpr[6] = (ctx.gpr[6] + static_cast(48)); + aot_gpr_6 = (aot_gpr_6 + static_cast(48)); if (branch_taken) { goto L_0896CE94; } @@ -3175,7 +3176,7 @@ L_0896CEC0: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 9u); aot_gpr_31 = (0x0896CED0u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 497u, 0x08A05F1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896CED0u) goto L_0896CED0; AOT_REGCACHE_SYNC_OUT(); return; L_0896CED0: @@ -3191,7 +3192,7 @@ L_0896CEDC: aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0896CEECu); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 501u, 0x08A05F5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896CEECu) goto L_0896CEEC; AOT_REGCACHE_SYNC_OUT(); return; L_0896CEEC: @@ -3237,17 +3238,17 @@ L_0896CF34: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_16); aot_gpr_16 = (2236u << 16u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[17]); aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(9216), static_cast(0u)); aot_gpr_16 = (aot_gpr_16 + static_cast(32304)); - aot_gpr_17 = (2246u << 16u); + ctx.gpr[17] = (2246u << 16u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(1988), 0u); - aot_gpr_17 = (aot_gpr_17 + static_cast(17840)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(17840)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[19]); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(1992), 0u); ctx.gpr[19] = (0u | 0u); - ctx.gpr[18] = (aot_gpr_17 | 0u); + ctx.gpr[18] = (ctx.gpr[17] | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_31); goto L_0896CF70; L_0896CF70: @@ -3302,12 +3303,12 @@ L_0896CFBC: goto L_0896CFC4; L_0896CFC4: aot_gpr_5 = (aot_gpr_4 + aot_gpr_4); - ctx.gpr[6] = (aot_gpr_4 << 7u); + aot_gpr_6 = (aot_gpr_4 << 7u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_gpr_4 << 4u); - aot_gpr_4 = (ctx.gpr[6] + aot_gpr_4); - aot_gpr_17 = (aot_gpr_4 + aot_gpr_17); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(61))); + aot_gpr_4 = (aot_gpr_6 + aot_gpr_4); + ctx.gpr[17] = (aot_gpr_4 + ctx.gpr[17]); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(61))); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_16 = (aot_gpr_16 + static_cast(48)); if (branch_taken) { @@ -3318,7 +3319,7 @@ L_0896CFC4: L_0896CFE8: aot_fpr_13 = std::bit_cast(0u); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(16))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(16))); aot_gpr_4 = (16928u << 16u); aot_fpr_14 = aot_fpr_14 - aot_fpr_12; aot_fpr_12 = std::bit_cast(aot_gpr_4); @@ -3342,7 +3343,7 @@ L_0896D010: L_0896D020: aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); ctx.fpr[15] = std::bit_cast(std::bit_cast(aot_fpr_13)); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(24))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(24))); aot_fpr_13 = aot_fpr_14 - aot_fpr_13; ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 < ctx.fpr[15])) ? 0x00800000u : 0u); // nop @@ -3363,7 +3364,7 @@ L_0896D040: } L_0896D050: aot_gpr_31 = (0x0896D058u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0204_entry, 204u, 233u, 0x08B3507Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896D058u) goto L_0896D058; AOT_REGCACHE_SYNC_OUT(); return; L_0896D058: @@ -3376,14 +3377,14 @@ L_0896D058: } L_0896D060: aot_gpr_31 = (0x0896D068u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0204_entry, 204u, 255u, 0x08B35218u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896D068u) goto L_0896D068; AOT_REGCACHE_SYNC_OUT(); return; L_0896D068: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(8), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; @@ -3396,11 +3397,11 @@ L_0896D068: AOT_REGCACHE_SYNC_OUT(); return; L_0896D084: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-17328))); - aot_gpr_17 = (0u | 0u); - aot_gpr_4 = (aot_gpr_17 < aot_gpr_4 ? 1u : 0u); + ctx.gpr[17] = (0u | 0u); + aot_gpr_4 = (ctx.gpr[17] < aot_gpr_4 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_16 = (2246u << 16u); if (branch_taken) { @@ -3423,15 +3424,15 @@ L_0896D0AC: L_0896D0B8: aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(61))); aot_gpr_31 = (0x0896D0C4u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); goto L_0896F260; L_0896D0C4: aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(168), static_cast(ctx.gpr[2])); goto L_0896D0C8; L_0896D0C8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-17328))); - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - aot_gpr_4 = (aot_gpr_17 < aot_gpr_4 ? 1u : 0u); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + aot_gpr_4 = (ctx.gpr[17] < aot_gpr_4 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_16 = (aot_gpr_16 + static_cast(176)); if (branch_taken) { @@ -3443,7 +3444,7 @@ L_0896D0DC: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -3464,7 +3465,7 @@ L_0896D0F0: ctx.gpr[7] = (ctx.gpr[7] + static_cast(17840)); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[7]); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(61), static_cast(aot_gpr_5)); - aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(68), ctx.gpr[6]); + aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(68), aot_gpr_6); jump_target = aot_gpr_31; aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(62), static_cast(0u)); local_pc = jump_target; @@ -3477,7 +3478,7 @@ L_0896D128: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_16); aot_gpr_5 = (aot_gpr_5 < aot_gpr_4 ? 1u : 0u); - { const std::uint32_t aot_run_words[4]{aot_gpr_17, ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(24), aot_run_words); } { const bool branch_taken = aot_gpr_5 == 0u; // nop @@ -3516,17 +3517,17 @@ L_0896D178: aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(6849), static_cast(aot_gpr_5)); aot_gpr_31 = (0x0896D18Cu); aot_gpr_4 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896D18Cu) goto L_0896D18C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C498, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896D18Cu) goto L_0896D18C; AOT_REGCACHE_SYNC_OUT(); return; L_0896D18C: aot_gpr_31 = (0x0896D194u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896D194u) goto L_0896D194; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C05C, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896D194u) goto L_0896D194; AOT_REGCACHE_SYNC_OUT(); return; L_0896D194: aot_gpr_31 = (0x0896D19Cu); aot_gpr_4 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896D19Cu) goto L_0896D19C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C604, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896D19Cu) goto L_0896D19C; AOT_REGCACHE_SYNC_OUT(); return; L_0896D19C: aot_gpr_4 = (0u | 27u); @@ -3539,7 +3540,7 @@ L_0896D19C: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(3), static_cast(aot_gpr_5)); aot_gpr_31 = (0x0896D1C4u); aot_gpr_4 = (aot_gpr_29 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896D1C4u) goto L_0896D1C4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C4A8, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896D1C4u) goto L_0896D1C4; AOT_REGCACHE_SYNC_OUT(); return; L_0896D1C4: aot_gpr_5 = (17385u << 16u); @@ -3552,7 +3553,7 @@ L_0896D1C4: aot_gpr_5 = (17288u << 16u); aot_gpr_31 = (0x0896D1ECu); ctx.fpr[15] = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896D1ECu) goto L_0896D1EC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08873400, 27u, 732u, 0x08873400u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, ctx.fpr[15]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896D1ECu) goto L_0896D1EC; AOT_REGCACHE_SYNC_OUT(); return; L_0896D1EC: aot_gpr_31 = (0x0896D1F4u); @@ -3569,9 +3570,9 @@ L_0896D1F4: goto L_0896D200; } L_0896D200: - aot_gpr_17 = (2238u << 16u); + ctx.gpr[17] = (2238u << 16u); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(-8144)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(-8144)); if (branch_taken) { goto L_0896D238; } @@ -3595,7 +3596,7 @@ L_0896D218: L_0896D224: aot_gpr_31 = (0x0896D22Cu); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896D22Cu) goto L_0896D22C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896D22Cu) goto L_0896D22C; AOT_REGCACHE_SYNC_OUT(); return; L_0896D22C: ctx.gpr[18] = (ctx.gpr[19] | 0u); @@ -3611,22 +3612,22 @@ L_0896D238: AOT_REGCACHE_SYNC_OUT(); return; L_0896D240: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(9208))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(9212))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(9212))); aot_gpr_4 = (ctx.gpr[2] | 0u); ctx.gpr[7] = (0u + static_cast(-1)); ctx.gpr[8] = (0u + static_cast(-1)); ctx.gpr[9] = (0u + static_cast(-1)); ctx.gpr[10] = (0u + static_cast(-1)); aot_gpr_31 = (0x0896D264u); - ctx.gpr[11] = (aot_gpr_17 | 0u); + ctx.gpr[11] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0173_entry, 173u, 515u, 0x08ABAD24u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896D264u) goto L_0896D264; AOT_REGCACHE_SYNC_OUT(); return; L_0896D264: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x0896D274u); - ctx.gpr[6] = (0u | 140u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896D274u) goto L_0896D274; + aot_gpr_6 = (0u | 140u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896D274u) goto L_0896D274; AOT_REGCACHE_SYNC_OUT(); return; L_0896D274: { const bool branch_taken = 0u == 0u; @@ -3646,9 +3647,9 @@ L_0896D27C: goto L_0896D288; } L_0896D288: - aot_gpr_17 = (2238u << 16u); + ctx.gpr[17] = (2238u << 16u); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(-8144)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(-8144)); if (branch_taken) { goto L_0896D2C0; } @@ -3672,7 +3673,7 @@ L_0896D2A0: L_0896D2AC: aot_gpr_31 = (0x0896D2B4u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896D2B4u) goto L_0896D2B4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896D2B4u) goto L_0896D2B4; AOT_REGCACHE_SYNC_OUT(); return; L_0896D2B4: ctx.gpr[18] = (ctx.gpr[19] | 0u); @@ -3689,21 +3690,21 @@ L_0896D2C0: L_0896D2C8: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(9208))); aot_gpr_4 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (0u + static_cast(-1)); + aot_gpr_6 = (0u + static_cast(-1)); ctx.gpr[7] = (0u + static_cast(-1)); ctx.gpr[8] = (0u + static_cast(-1)); ctx.gpr[9] = (0u + static_cast(-1)); ctx.gpr[10] = (0u + static_cast(-1)); aot_gpr_31 = (0x0896D2ECu); - ctx.gpr[11] = (aot_gpr_17 | 0u); + ctx.gpr[11] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0173_entry, 173u, 515u, 0x08ABAD24u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896D2ECu) goto L_0896D2EC; AOT_REGCACHE_SYNC_OUT(); return; L_0896D2EC: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x0896D2FCu); - ctx.gpr[6] = (0u | 140u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896D2FCu) goto L_0896D2FC; + aot_gpr_6 = (0u | 140u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896D2FCu) goto L_0896D2FC; AOT_REGCACHE_SYNC_OUT(); return; L_0896D2FC: { const bool branch_taken = 0u == 0u; @@ -3722,7 +3723,7 @@ L_0896D304: goto L_0896D30C; } L_0896D30C: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_31 = (0x0896D318u); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896D318u) goto L_0896D318; @@ -3739,14 +3740,14 @@ L_0896D318: L_0896D324: aot_gpr_31 = (0x0896D32Cu); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896D32Cu) goto L_0896D32C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896D32Cu) goto L_0896D32C; AOT_REGCACHE_SYNC_OUT(); return; L_0896D32C: - aot_gpr_17 = (ctx.gpr[18] | 0u); + ctx.gpr[17] = (ctx.gpr[18] | 0u); goto L_0896D330; L_0896D330: - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_17); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), ctx.gpr[17]); + aot_gpr_4 = (ctx.gpr[17] | 0u); goto L_0896D338; L_0896D338: aot_gpr_31 = (0x0896D340u); @@ -3757,14 +3758,14 @@ L_0896D340: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x0896D350u); - ctx.gpr[6] = (0u | 170u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896D350u) goto L_0896D350; + aot_gpr_6 = (0u | 170u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896D350u) goto L_0896D350; AOT_REGCACHE_SYNC_OUT(); return; L_0896D350: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(20), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; @@ -3789,10 +3790,10 @@ L_0896D36C: aot_gpr_4 = (aot_gpr_4 + static_cast(17840)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_5 + aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(12), ctx.gpr[6]); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(12), aot_gpr_6); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(171), static_cast(ctx.gpr[8])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[6] != 0u; + { const bool branch_taken = aot_gpr_6 != 0u; aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(169), static_cast(0u)); if (branch_taken) { goto L_0896D3D8; @@ -3800,8 +3801,8 @@ L_0896D36C: goto L_0896D3B4; } L_0896D3B4: - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); + { const bool branch_taken = aot_gpr_6 == 0u; // nop if (branch_taken) { goto L_0896D3D4; @@ -3809,7 +3810,7 @@ L_0896D3B4: goto L_0896D3C0; } L_0896D3C0: - { const bool branch_taken = ctx.gpr[6] == 0u; + { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_4 = (aot_gpr_4 + static_cast(8)); if (branch_taken) { goto L_0896D3D4; @@ -3819,8 +3820,8 @@ L_0896D3C0: L_0896D3C8: aot_gpr_5 = (aot_gpr_5 + aot_gpr_4); aot_gpr_31 = (0x0896D3D4u); - aot_gpr_4 = (ctx.gpr[6] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896D3D4u) goto L_0896D3D4; + aot_gpr_4 = (aot_gpr_6 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A93004, 163u, 430u, 0x08A93004u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896D3D4u) goto L_0896D3D4; AOT_REGCACHE_SYNC_OUT(); return; L_0896D3D4: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(8), 0u); @@ -3838,11 +3839,11 @@ L_0896D3E8: aot_gpr_4 = (aot_gpr_4 << 16u); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 16u)); aot_gpr_5 = (aot_gpr_4 + aot_gpr_4); - ctx.gpr[6] = (aot_gpr_4 << 7u); + aot_gpr_6 = (aot_gpr_4 << 7u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_gpr_4 << 4u); aot_gpr_5 = (2246u << 16u); - aot_gpr_4 = (ctx.gpr[6] + aot_gpr_4); + aot_gpr_4 = (aot_gpr_6 + aot_gpr_4); aot_gpr_5 = (aot_gpr_5 + static_cast(17840)); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); jump_target = aot_gpr_31; @@ -3855,11 +3856,11 @@ L_0896D418: aot_gpr_4 = (aot_gpr_4 << 16u); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 16u)); aot_gpr_5 = (aot_gpr_4 + aot_gpr_4); - ctx.gpr[6] = (aot_gpr_4 << 7u); + aot_gpr_6 = (aot_gpr_4 << 7u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_gpr_4 << 4u); aot_gpr_5 = (2246u << 16u); - aot_gpr_4 = (ctx.gpr[6] + aot_gpr_4); + aot_gpr_4 = (aot_gpr_6 + aot_gpr_4); aot_gpr_5 = (aot_gpr_5 + static_cast(17840)); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(62))); @@ -3873,17 +3874,17 @@ L_0896D418: L_0896D450: aot_gpr_4 = (aot_gpr_4 << 16u); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 16u)); - ctx.gpr[6] = (aot_gpr_4 + aot_gpr_4); + aot_gpr_6 = (aot_gpr_4 + aot_gpr_4); ctx.gpr[7] = (aot_gpr_4 << 7u); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); aot_gpr_4 = (aot_gpr_4 << 4u); - ctx.gpr[6] = (2246u << 16u); + aot_gpr_6 = (2246u << 16u); aot_gpr_4 = (ctx.gpr[7] + aot_gpr_4); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(17840)); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_6 = (aot_gpr_6 + static_cast(17840)); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(61))); - ctx.gpr[6] = (0u | 20u); - { const bool branch_taken = aot_gpr_4 == ctx.gpr[6]; + aot_gpr_6 = (0u | 20u); + { const bool branch_taken = aot_gpr_4 == aot_gpr_6; ctx.gpr[2] = (0u | 0u); if (branch_taken) { goto L_0896D510; @@ -3891,24 +3892,24 @@ L_0896D450: goto L_0896D488; } L_0896D488: - ctx.gpr[6] = (0u | 8u); - { const bool branch_taken = aot_gpr_4 == ctx.gpr[6]; - ctx.gpr[6] = (0u | 7u); + aot_gpr_6 = (0u | 8u); + { const bool branch_taken = aot_gpr_4 == aot_gpr_6; + aot_gpr_6 = (0u | 7u); if (branch_taken) { goto L_0896D4EC; } goto L_0896D494; } L_0896D494: - { const bool branch_taken = aot_gpr_4 == ctx.gpr[6]; - ctx.gpr[6] = (0u | 6u); + { const bool branch_taken = aot_gpr_4 == aot_gpr_6; + aot_gpr_6 = (0u | 6u); if (branch_taken) { goto L_0896D4C8; } goto L_0896D49C; } L_0896D49C: - { const bool branch_taken = aot_gpr_4 != ctx.gpr[6]; + { const bool branch_taken = aot_gpr_4 != aot_gpr_6; // nop if (branch_taken) { goto L_0896D534; @@ -3917,8 +3918,8 @@ L_0896D49C: } L_0896D4A4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-17312))); - ctx.gpr[6] = (0u | 1u); - aot_gpr_5 = (ctx.gpr[6] << (aot_gpr_5 & 31u)); + aot_gpr_6 = (0u | 1u); + aot_gpr_5 = (aot_gpr_6 << (aot_gpr_5 & 31u)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -3940,8 +3941,8 @@ L_0896D4C0: } L_0896D4C8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-17308))); - ctx.gpr[6] = (0u | 1u); - aot_gpr_5 = (ctx.gpr[6] << (aot_gpr_5 & 31u)); + aot_gpr_6 = (0u | 1u); + aot_gpr_5 = (aot_gpr_6 << (aot_gpr_5 & 31u)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -3963,8 +3964,8 @@ L_0896D4E4: } L_0896D4EC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-17304))); - ctx.gpr[6] = (0u | 1u); - aot_gpr_5 = (ctx.gpr[6] << (aot_gpr_5 & 31u)); + aot_gpr_6 = (0u | 1u); + aot_gpr_5 = (aot_gpr_6 << (aot_gpr_5 & 31u)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -3986,8 +3987,8 @@ L_0896D508: } L_0896D510: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-17300))); - ctx.gpr[6] = (0u | 1u); - aot_gpr_5 = (ctx.gpr[6] << (aot_gpr_5 & 31u)); + aot_gpr_6 = (0u | 1u); + aot_gpr_5 = (aot_gpr_6 << (aot_gpr_5 & 31u)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -4018,11 +4019,11 @@ L_0896D53C: aot_gpr_4 = (aot_gpr_4 << 16u); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 16u)); aot_gpr_5 = (aot_gpr_4 + aot_gpr_4); - ctx.gpr[6] = (aot_gpr_4 << 7u); + aot_gpr_6 = (aot_gpr_4 << 7u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_gpr_4 << 4u); aot_gpr_5 = (2246u << 16u); - aot_gpr_4 = (ctx.gpr[6] + aot_gpr_4); + aot_gpr_4 = (aot_gpr_6 + aot_gpr_4); aot_gpr_5 = (aot_gpr_5 + static_cast(17840)); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(62))); @@ -4064,11 +4065,11 @@ L_0896D590: aot_gpr_4 = (aot_gpr_4 << 16u); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 16u)); aot_gpr_5 = (aot_gpr_4 + aot_gpr_4); - ctx.gpr[6] = (aot_gpr_4 << 7u); + aot_gpr_6 = (aot_gpr_4 << 7u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_gpr_4 << 4u); aot_gpr_5 = (2246u << 16u); - aot_gpr_4 = (ctx.gpr[6] + aot_gpr_4); + aot_gpr_4 = (aot_gpr_6 + aot_gpr_4); aot_gpr_5 = (aot_gpr_5 + static_cast(17840)); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(62))); @@ -4101,11 +4102,11 @@ L_0896D5D8: aot_gpr_4 = (aot_gpr_4 << 16u); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 16u)); aot_gpr_5 = (aot_gpr_4 + aot_gpr_4); - ctx.gpr[6] = (aot_gpr_4 << 7u); + aot_gpr_6 = (aot_gpr_4 << 7u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_gpr_4 << 4u); aot_gpr_5 = (2246u << 16u); - aot_gpr_4 = (ctx.gpr[6] + aot_gpr_4); + aot_gpr_4 = (aot_gpr_6 + aot_gpr_4); aot_gpr_5 = (aot_gpr_5 + static_cast(17840)); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); ctx.gpr[2] = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(65))); @@ -4120,13 +4121,13 @@ L_0896D60C: aot_gpr_4 = (aot_gpr_4 << 16u); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 16u)); aot_gpr_5 = (aot_gpr_4 + aot_gpr_4); - ctx.gpr[6] = (aot_gpr_4 << 7u); + aot_gpr_6 = (aot_gpr_4 << 7u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_gpr_4 << 4u); aot_gpr_5 = (2246u << 16u); - ctx.gpr[6] = (ctx.gpr[6] + aot_gpr_4); + aot_gpr_6 = (aot_gpr_6 + aot_gpr_4); aot_gpr_5 = (aot_gpr_5 + static_cast(17840)); - aot_gpr_4 = (ctx.gpr[6] + aot_gpr_5); + aot_gpr_4 = (aot_gpr_6 + aot_gpr_5); ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(77))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); { const bool branch_taken = ctx.gpr[7] != 0u; @@ -4149,9 +4150,9 @@ L_0896D648: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(144), std::bit_cast(aot_fpr_12)); aot_fpr_12 = aot_fpr_12 - aot_fpr_14; ctx.gpr[7] = (aot_gpr_5 + static_cast(144)); - ctx.gpr[7] = (ctx.gpr[6] + ctx.gpr[7]); + ctx.gpr[7] = (aot_gpr_6 + ctx.gpr[7]); aot_gpr_5 = (aot_gpr_5 + static_cast(140)); - aot_gpr_5 = (ctx.gpr[6] + aot_gpr_5); + aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(144), std::bit_cast(aot_fpr_12)); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(0))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); @@ -4189,14 +4190,14 @@ L_0896D6BC: aot_gpr_4 = (aot_gpr_4 << 16u); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 16u)); aot_gpr_5 = (aot_gpr_4 + aot_gpr_4); - ctx.gpr[6] = (aot_gpr_4 << 7u); + aot_gpr_6 = (aot_gpr_4 << 7u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_gpr_4 << 4u); - aot_gpr_4 = (ctx.gpr[6] + aot_gpr_4); - ctx.gpr[6] = (2246u << 16u); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(17840)); + aot_gpr_4 = (aot_gpr_6 + aot_gpr_4); + aot_gpr_6 = (2246u << 16u); + aot_gpr_6 = (aot_gpr_6 + static_cast(17840)); aot_gpr_5 = (0u | 1u); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); jump_target = aot_gpr_31; aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(78), static_cast(aot_gpr_5)); local_pc = jump_target; @@ -4207,17 +4208,17 @@ L_0896D6F0: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_4 = (aot_gpr_4 << 16u); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 16u)); - ctx.gpr[6] = (aot_gpr_4 + aot_gpr_4); + aot_gpr_6 = (aot_gpr_4 + aot_gpr_4); ctx.gpr[7] = (aot_gpr_4 << 7u); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); aot_gpr_4 = (aot_gpr_4 << 4u); - ctx.gpr[6] = (2246u << 16u); + aot_gpr_6 = (2246u << 16u); aot_fpr_12 = std::bit_cast(0u); aot_gpr_4 = (ctx.gpr[7] + aot_gpr_4); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(17840)); + aot_gpr_6 = (aot_gpr_6 + static_cast(17840)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); aot_gpr_31 = (0x0896D728u); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0203_entry, 203u, 615u, 0x08B32E84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896D728u) goto L_0896D728; AOT_REGCACHE_SYNC_OUT(); return; L_0896D728: @@ -4257,8 +4258,8 @@ L_0896D74C: AOT_REGCACHE_SYNC_OUT(); return; L_0896D754: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), aot_gpr_17); - aot_gpr_17 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), aot_gpr_31); aot_gpr_16 = (0u | 0u); @@ -4318,7 +4319,7 @@ L_0896D7C8: aot_gpr_5 = (2246u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(17840)); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -4332,9 +4333,9 @@ L_0896D7C8: const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - ctx.gpr[6] = (16128u << 16u); + aot_gpr_6 = (16128u << 16u); aot_gpr_31 = (0x0896D800u); - aot_fpr_12 = std::bit_cast(ctx.gpr[6]); + aot_fpr_12 = std::bit_cast(aot_gpr_6); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0204_entry, 204u, 314u, 0x08B356F8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896D800u) goto L_0896D800; AOT_REGCACHE_SYNC_OUT(); return; L_0896D800: @@ -4370,7 +4371,7 @@ L_0896D818: aot_gpr_5 = (2246u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(17840)); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -4384,9 +4385,9 @@ L_0896D818: const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - ctx.gpr[6] = (16128u << 16u); + aot_gpr_6 = (16128u << 16u); aot_gpr_31 = (0x0896D850u); - aot_fpr_12 = std::bit_cast(ctx.gpr[6]); + aot_fpr_12 = std::bit_cast(aot_gpr_6); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0204_entry, 204u, 314u, 0x08B356F8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896D850u) goto L_0896D850; AOT_REGCACHE_SYNC_OUT(); return; L_0896D850: @@ -4430,7 +4431,7 @@ L_0896D87C: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(32), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -4455,10 +4456,10 @@ L_0896D898: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5848))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[19]); ctx.gpr[20] = (static_cast(static_cast(ctx.gpr[20]) >> 16u)); - ctx.gpr[19] = (ctx.gpr[6] & 65535u); + ctx.gpr[19] = (aot_gpr_6 & 65535u); ctx.gpr[18] = (static_cast(static_cast(ctx.gpr[18]) >> 16u)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); { const std::uint32_t aot_run_words[3]{ctx.gpr[21], ctx.gpr[22], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(20), aot_run_words); } { const bool branch_taken = aot_gpr_5 != 0u; @@ -4487,10 +4488,10 @@ L_0896D8E4: goto L_0896D900; } L_0896D900: - aot_gpr_17 = (ctx.gpr[28] + static_cast(9200)); + ctx.gpr[17] = (ctx.gpr[28] + static_cast(9200)); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0896D910u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 56u, 0x08B582CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896D910u) goto L_0896D910; AOT_REGCACHE_SYNC_OUT(); return; L_0896D910: @@ -4519,8 +4520,8 @@ L_0896D920: } L_0896D928: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-17340))); - ctx.gpr[6] = (aot_gpr_5 < aot_gpr_4 ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] != 0u; + aot_gpr_6 = (aot_gpr_5 < aot_gpr_4 ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 != 0u; // nop if (branch_taken) { goto L_0896D948; @@ -4528,9 +4529,9 @@ L_0896D928: goto L_0896D938; } L_0896D938: - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-17336))); - ctx.gpr[6] = (ctx.gpr[6] < aot_gpr_5 ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-17336))); + aot_gpr_6 = (aot_gpr_6 < aot_gpr_5 ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 == 0u; // nop if (branch_taken) { goto L_0896D9D4; @@ -4562,7 +4563,7 @@ L_0896D960: L_0896D96C: aot_gpr_31 = (0x0896D974u); aot_gpr_4 = (ctx.gpr[21] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896D974u) goto L_0896D974; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896D974u) goto L_0896D974; AOT_REGCACHE_SYNC_OUT(); return; L_0896D974: ctx.gpr[22] = (ctx.gpr[21] | 0u); @@ -4579,7 +4580,7 @@ L_0896D980: L_0896D988: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_5 = (0u + static_cast(-1)); - ctx.gpr[6] = (0u + static_cast(-1)); + aot_gpr_6 = (0u + static_cast(-1)); ctx.gpr[7] = (0u + static_cast(-1)); ctx.gpr[8] = (0u + static_cast(-1)); ctx.gpr[9] = (0u + static_cast(-1)); @@ -4589,7 +4590,7 @@ L_0896D988: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0173_entry, 173u, 493u, 0x08ABAB74u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896D9ACu) goto L_0896D9AC; AOT_REGCACHE_SYNC_OUT(); return; L_0896D9AC: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0896D9B8u); aot_gpr_5 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 63u, 0x08B5831Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896D9B8u) goto L_0896D9B8; @@ -4629,7 +4630,7 @@ L_0896D9FC: { std::uint32_t aot_run_words[8]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -4648,9 +4649,9 @@ L_0896DA24: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (2246u << 16u); aot_gpr_16 = (aot_gpr_16 + static_cast(17840)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); goto L_0896DA40; L_0896DA40: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(61))); @@ -4667,8 +4668,8 @@ L_0896DA4C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0204_entry, 204u, 694u, 0x08B36EECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896DA54u) goto L_0896DA54; AOT_REGCACHE_SYNC_OUT(); return; L_0896DA54: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - aot_gpr_4 = (static_cast(aot_gpr_17) < 32 ? 1u : 0u); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + aot_gpr_4 = (static_cast(ctx.gpr[17]) < 32 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_16 = (aot_gpr_16 + static_cast(176)); if (branch_taken) { @@ -4682,7 +4683,7 @@ L_0896DA64: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -4693,8 +4694,8 @@ L_0896DA64: AOT_REGCACHE_SYNC_OUT(); return; L_0896DA80: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(104))); - ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(84))); - { const bool branch_taken = aot_gpr_4 == ctx.gpr[6]; + aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(84))); + { const bool branch_taken = aot_gpr_4 == aot_gpr_6; // nop if (branch_taken) { goto L_0896DBAC; @@ -4702,8 +4703,8 @@ L_0896DA80: goto L_0896DA90; } L_0896DA90: - ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(86))); - { const bool branch_taken = aot_gpr_4 == ctx.gpr[6]; + aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(86))); + { const bool branch_taken = aot_gpr_4 == aot_gpr_6; // nop if (branch_taken) { goto L_0896DBAC; @@ -4711,8 +4712,8 @@ L_0896DA90: goto L_0896DA9C; } L_0896DA9C: - ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(88))); - { const bool branch_taken = aot_gpr_4 == ctx.gpr[6]; + aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(88))); + { const bool branch_taken = aot_gpr_4 == aot_gpr_6; // nop if (branch_taken) { goto L_0896DBAC; @@ -4720,8 +4721,8 @@ L_0896DA9C: goto L_0896DAA8; } L_0896DAA8: - ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(90))); - { const bool branch_taken = aot_gpr_4 == ctx.gpr[6]; + aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(90))); + { const bool branch_taken = aot_gpr_4 == aot_gpr_6; // nop if (branch_taken) { goto L_0896DBAC; @@ -4729,8 +4730,8 @@ L_0896DAA8: goto L_0896DAB4; } L_0896DAB4: - ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(92))); - { const bool branch_taken = aot_gpr_4 == ctx.gpr[6]; + aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(92))); + { const bool branch_taken = aot_gpr_4 == aot_gpr_6; // nop if (branch_taken) { goto L_0896DBAC; @@ -4738,8 +4739,8 @@ L_0896DAB4: goto L_0896DAC0; } L_0896DAC0: - ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(94))); - { const bool branch_taken = aot_gpr_4 == ctx.gpr[6]; + aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(94))); + { const bool branch_taken = aot_gpr_4 == aot_gpr_6; // nop if (branch_taken) { goto L_0896DBAC; @@ -4747,8 +4748,8 @@ L_0896DAC0: goto L_0896DACC; } L_0896DACC: - ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(96))); - { const bool branch_taken = aot_gpr_4 == ctx.gpr[6]; + aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(96))); + { const bool branch_taken = aot_gpr_4 == aot_gpr_6; // nop if (branch_taken) { goto L_0896DBAC; @@ -4756,8 +4757,8 @@ L_0896DACC: goto L_0896DAD8; } L_0896DAD8: - ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(98))); - { const bool branch_taken = aot_gpr_4 == ctx.gpr[6]; + aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(98))); + { const bool branch_taken = aot_gpr_4 == aot_gpr_6; // nop if (branch_taken) { goto L_0896DBAC; @@ -4765,8 +4766,8 @@ L_0896DAD8: goto L_0896DAE4; } L_0896DAE4: - ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(100))); - { const bool branch_taken = aot_gpr_4 == ctx.gpr[6]; + aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(100))); + { const bool branch_taken = aot_gpr_4 == aot_gpr_6; // nop if (branch_taken) { goto L_0896DBAC; @@ -4774,8 +4775,8 @@ L_0896DAE4: goto L_0896DAF0; } L_0896DAF0: - ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(102))); - { const bool branch_taken = aot_gpr_4 == ctx.gpr[6]; + aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(102))); + { const bool branch_taken = aot_gpr_4 == aot_gpr_6; // nop if (branch_taken) { goto L_0896DBAC; @@ -4783,8 +4784,8 @@ L_0896DAF0: goto L_0896DAFC; } L_0896DAFC: - ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(104))); - { const bool branch_taken = aot_gpr_4 == ctx.gpr[6]; + aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(104))); + { const bool branch_taken = aot_gpr_4 == aot_gpr_6; // nop if (branch_taken) { goto L_0896DBAC; @@ -4792,8 +4793,8 @@ L_0896DAFC: goto L_0896DB08; } L_0896DB08: - ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(106))); - { const bool branch_taken = aot_gpr_4 == ctx.gpr[6]; + aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(106))); + { const bool branch_taken = aot_gpr_4 == aot_gpr_6; // nop if (branch_taken) { goto L_0896DBAC; @@ -4801,8 +4802,8 @@ L_0896DB08: goto L_0896DB14; } L_0896DB14: - ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(108))); - { const bool branch_taken = aot_gpr_4 == ctx.gpr[6]; + aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(108))); + { const bool branch_taken = aot_gpr_4 == aot_gpr_6; // nop if (branch_taken) { goto L_0896DBAC; @@ -4810,8 +4811,8 @@ L_0896DB14: goto L_0896DB20; } L_0896DB20: - ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(110))); - { const bool branch_taken = aot_gpr_4 == ctx.gpr[6]; + aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(110))); + { const bool branch_taken = aot_gpr_4 == aot_gpr_6; // nop if (branch_taken) { goto L_0896DBAC; @@ -4819,8 +4820,8 @@ L_0896DB20: goto L_0896DB2C; } L_0896DB2C: - ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(112))); - { const bool branch_taken = aot_gpr_4 == ctx.gpr[6]; + aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(112))); + { const bool branch_taken = aot_gpr_4 == aot_gpr_6; // nop if (branch_taken) { goto L_0896DBAC; @@ -4828,8 +4829,8 @@ L_0896DB2C: goto L_0896DB38; } L_0896DB38: - ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(114))); - { const bool branch_taken = aot_gpr_4 == ctx.gpr[6]; + aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(114))); + { const bool branch_taken = aot_gpr_4 == aot_gpr_6; // nop if (branch_taken) { goto L_0896DBAC; @@ -4837,8 +4838,8 @@ L_0896DB38: goto L_0896DB44; } L_0896DB44: - ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(116))); - { const bool branch_taken = aot_gpr_4 == ctx.gpr[6]; + aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(116))); + { const bool branch_taken = aot_gpr_4 == aot_gpr_6; // nop if (branch_taken) { goto L_0896DBAC; @@ -4846,8 +4847,8 @@ L_0896DB44: goto L_0896DB50; } L_0896DB50: - ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(118))); - { const bool branch_taken = aot_gpr_4 == ctx.gpr[6]; + aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(118))); + { const bool branch_taken = aot_gpr_4 == aot_gpr_6; // nop if (branch_taken) { goto L_0896DBAC; @@ -4855,8 +4856,8 @@ L_0896DB50: goto L_0896DB5C; } L_0896DB5C: - ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(120))); - { const bool branch_taken = aot_gpr_4 == ctx.gpr[6]; + aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(120))); + { const bool branch_taken = aot_gpr_4 == aot_gpr_6; // nop if (branch_taken) { goto L_0896DBAC; @@ -4864,8 +4865,8 @@ L_0896DB5C: goto L_0896DB68; } L_0896DB68: - ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(122))); - { const bool branch_taken = aot_gpr_4 == ctx.gpr[6]; + aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(122))); + { const bool branch_taken = aot_gpr_4 == aot_gpr_6; // nop if (branch_taken) { goto L_0896DBAC; @@ -4873,8 +4874,8 @@ L_0896DB68: goto L_0896DB74; } L_0896DB74: - ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(124))); - { const bool branch_taken = aot_gpr_4 == ctx.gpr[6]; + aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(124))); + { const bool branch_taken = aot_gpr_4 == aot_gpr_6; // nop if (branch_taken) { goto L_0896DBAC; @@ -4882,8 +4883,8 @@ L_0896DB74: goto L_0896DB80; } L_0896DB80: - ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(126))); - { const bool branch_taken = aot_gpr_4 == ctx.gpr[6]; + aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(126))); + { const bool branch_taken = aot_gpr_4 == aot_gpr_6; // nop if (branch_taken) { goto L_0896DBAC; @@ -4891,8 +4892,8 @@ L_0896DB80: goto L_0896DB8C; } L_0896DB8C: - ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(128))); - { const bool branch_taken = aot_gpr_4 == ctx.gpr[6]; + aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(128))); + { const bool branch_taken = aot_gpr_4 == aot_gpr_6; // nop if (branch_taken) { goto L_0896DBAC; @@ -4938,10 +4939,10 @@ L_0896DBC0: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_31); - aot_gpr_17 = (0u | 0u); - aot_gpr_4 = (static_cast(aot_gpr_17) < 32 ? 1u : 0u); + ctx.gpr[17] = (0u | 0u); + aot_gpr_4 = (static_cast(ctx.gpr[17]) < 32 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -4950,11 +4951,11 @@ L_0896DBC0: goto L_0896DBE4; } L_0896DBE4: - aot_gpr_4 = (aot_gpr_17 + aot_gpr_17); + aot_gpr_4 = (ctx.gpr[17] + ctx.gpr[17]); goto L_0896DBE8; L_0896DBE8: - aot_gpr_4 = (aot_gpr_17 + aot_gpr_4); - aot_gpr_5 = (aot_gpr_17 << 7u); + aot_gpr_4 = (ctx.gpr[17] + aot_gpr_4); + aot_gpr_5 = (ctx.gpr[17] << 7u); aot_gpr_4 = (aot_gpr_4 << 4u); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_5 = (2246u << 16u); @@ -4982,9 +4983,9 @@ L_0896DC18: ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0896DC30: - aot_gpr_4 = (aot_gpr_17 << 7u); - aot_gpr_5 = (aot_gpr_17 + aot_gpr_17); - aot_gpr_5 = (aot_gpr_17 + aot_gpr_5); + aot_gpr_4 = (ctx.gpr[17] << 7u); + aot_gpr_5 = (ctx.gpr[17] + ctx.gpr[17]); + aot_gpr_5 = (ctx.gpr[17] + aot_gpr_5); aot_gpr_5 = (aot_gpr_5 << 4u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_5 = (2246u << 16u); @@ -5032,10 +5033,10 @@ L_0896DC70: goto L_0896DC78; } L_0896DC78: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - aot_gpr_4 = (static_cast(aot_gpr_17) < 32 ? 1u : 0u); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + aot_gpr_4 = (static_cast(ctx.gpr[17]) < 32 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_4 = (aot_gpr_17 + aot_gpr_17); + aot_gpr_4 = (ctx.gpr[17] + ctx.gpr[17]); if (branch_taken) { goto L_0896DBE8; } @@ -5048,7 +5049,7 @@ L_0896DC8C: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -5061,10 +5062,10 @@ L_0896DCA0: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_31); - aot_gpr_17 = (0u | 0u); - aot_gpr_4 = (static_cast(aot_gpr_17) < 32 ? 1u : 0u); + ctx.gpr[17] = (0u | 0u); + aot_gpr_4 = (static_cast(ctx.gpr[17]) < 32 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -5073,11 +5074,11 @@ L_0896DCA0: goto L_0896DCC4; } L_0896DCC4: - aot_gpr_4 = (aot_gpr_17 + aot_gpr_17); + aot_gpr_4 = (ctx.gpr[17] + ctx.gpr[17]); goto L_0896DCC8; L_0896DCC8: - aot_gpr_4 = (aot_gpr_17 + aot_gpr_4); - aot_gpr_5 = (aot_gpr_17 << 7u); + aot_gpr_4 = (ctx.gpr[17] + aot_gpr_4); + aot_gpr_5 = (ctx.gpr[17] << 7u); aot_gpr_4 = (aot_gpr_4 << 4u); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_5 = (2246u << 16u); @@ -5092,9 +5093,9 @@ L_0896DCC8: goto L_0896DCF0; } L_0896DCF0: - aot_gpr_4 = (aot_gpr_17 << 7u); - aot_gpr_5 = (aot_gpr_17 + aot_gpr_17); - aot_gpr_5 = (aot_gpr_17 + aot_gpr_5); + aot_gpr_4 = (ctx.gpr[17] << 7u); + aot_gpr_5 = (ctx.gpr[17] + ctx.gpr[17]); + aot_gpr_5 = (ctx.gpr[17] + aot_gpr_5); aot_gpr_5 = (aot_gpr_5 << 4u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_5 = (2246u << 16u); @@ -5142,10 +5143,10 @@ L_0896DD30: goto L_0896DD38; } L_0896DD38: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - aot_gpr_4 = (static_cast(aot_gpr_17) < 32 ? 1u : 0u); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + aot_gpr_4 = (static_cast(ctx.gpr[17]) < 32 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_4 = (aot_gpr_17 + aot_gpr_17); + aot_gpr_4 = (ctx.gpr[17] + ctx.gpr[17]); if (branch_taken) { goto L_0896DCC8; } @@ -5158,7 +5159,7 @@ L_0896DD4C: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -5171,19 +5172,19 @@ L_0896DD60: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_5 | 0u); - { const std::uint32_t aot_run_words[3]{aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(4), aot_run_words); } aot_gpr_31 = (0x0896DD80u); - aot_gpr_17 = (aot_gpr_4 | 0u); + ctx.gpr[17] = (aot_gpr_4 | 0u); goto L_0896E5C0; L_0896DD80: aot_gpr_4 = (0u | 8132u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-17328))); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-17331))); ctx.gpr[18] = (2246u << 16u); - aot_gpr_16 = (aot_gpr_17 + static_cast(4)); + aot_gpr_16 = (ctx.gpr[17] + static_cast(4)); { const bool branch_taken = aot_gpr_4 == 0u; ctx.gpr[18] = (ctx.gpr[18] + static_cast(17840)); if (branch_taken) { @@ -5232,34 +5233,34 @@ L_0896DDDC: aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_4); aot_gpr_4 = (aot_gpr_5 + static_cast(4)); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-17320))); - ctx.gpr[6] = (aot_gpr_4 + static_cast(4)); + aot_gpr_6 = (aot_gpr_4 + static_cast(4)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-17316))); - aot_gpr_5 = (ctx.gpr[6] + static_cast(4)); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(0), aot_gpr_4); + aot_gpr_5 = (aot_gpr_6 + static_cast(4)); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(0), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-17312))); - ctx.gpr[6] = (aot_gpr_5 + static_cast(4)); + aot_gpr_6 = (aot_gpr_5 + static_cast(4)); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-17308))); - aot_gpr_5 = (ctx.gpr[6] + static_cast(4)); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(0), aot_gpr_4); + aot_gpr_5 = (aot_gpr_6 + static_cast(4)); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(0), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-17304))); - ctx.gpr[6] = (aot_gpr_5 + static_cast(4)); + aot_gpr_6 = (aot_gpr_5 + static_cast(4)); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-17300))); - aot_gpr_5 = (ctx.gpr[6] + static_cast(4)); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(0), aot_gpr_4); + aot_gpr_5 = (aot_gpr_6 + static_cast(4)); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(0), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-17292))); ctx.gpr[7] = (2247u << 16u); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_4); aot_gpr_16 = (aot_gpr_5 + static_cast(4)); aot_gpr_4 = (0u | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); ctx.gpr[7] = (ctx.gpr[7] + static_cast(14768)); goto L_0896DE4C; L_0896DE4C: aot_gpr_5 = (0u | 0u); - ctx.gpr[8] = (ctx.gpr[6] + ctx.gpr[7]); + ctx.gpr[8] = (aot_gpr_6 + ctx.gpr[7]); goto L_0896DE54; L_0896DE54: ctx.gpr[9] = (aot_mem.aot_direct_load32(ctx.gpr[8] + static_cast(0))); @@ -5316,7 +5317,7 @@ L_0896DF08: aot_gpr_4 = (aot_gpr_4 + static_cast(1)); aot_gpr_5 = (static_cast(aot_gpr_4) < 4 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 != 0u; - ctx.gpr[6] = (ctx.gpr[6] + static_cast(48)); + aot_gpr_6 = (aot_gpr_6 + static_cast(48)); if (branch_taken) { goto L_0896DE4C; } @@ -5324,20 +5325,20 @@ L_0896DF08: } L_0896DF18: aot_gpr_4 = (0u | 0u); - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); ctx.gpr[18] = (aot_gpr_4 + ctx.gpr[18]); goto L_0896DF24; L_0896DF24: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x0896DF34u); - ctx.gpr[6] = (0u | 176u); + aot_gpr_6 = (0u | 176u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896DF34u) goto L_0896DF34; AOT_REGCACHE_SYNC_OUT(); return; L_0896DF34: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); aot_gpr_16 = (aot_gpr_16 + static_cast(176)); - aot_gpr_4 = (static_cast(aot_gpr_17) < 32 ? 1u : 0u); + aot_gpr_4 = (static_cast(ctx.gpr[17]) < 32 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; ctx.gpr[18] = (ctx.gpr[18] + static_cast(176)); if (branch_taken) { @@ -5349,7 +5350,7 @@ L_0896DF48: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -5361,7 +5362,7 @@ L_0896DF48: AOT_REGCACHE_SYNC_OUT(); return; L_0896DF60: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - { const std::uint32_t aot_run_words[6]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; + { const std::uint32_t aot_run_words[6]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_31 = (0x0896DF84u); aot_gpr_16 = (aot_gpr_4 | 0u); @@ -5373,7 +5374,7 @@ L_0896DF84: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); ctx.gpr[19] = (2246u << 16u); aot_gpr_16 = (aot_gpr_16 + static_cast(4)); - aot_gpr_17 = (0u | 1u); + ctx.gpr[17] = (0u | 1u); { const bool branch_taken = aot_gpr_4 == 0u; ctx.gpr[19] = (ctx.gpr[19] + static_cast(17840)); if (branch_taken) { @@ -5383,7 +5384,7 @@ L_0896DF84: } L_0896DFA8: { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-17331), static_cast(aot_gpr_17)); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-17331), static_cast(ctx.gpr[17])); if (branch_taken) { goto L_0896DFB4; } @@ -5403,7 +5404,7 @@ L_0896DFB4: } L_0896DFC0: { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-17330), static_cast(aot_gpr_17)); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-17330), static_cast(ctx.gpr[17])); if (branch_taken) { goto L_0896DFCC; } @@ -5435,16 +5436,16 @@ L_0896DFCC: aot_gpr_16 = (aot_gpr_5 + static_cast(4)); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-17300), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - ctx.gpr[6] = (2247u << 16u); + aot_gpr_6 = (2247u << 16u); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-17292), aot_gpr_4); aot_gpr_16 = (aot_gpr_16 + static_cast(4)); aot_gpr_4 = (0u | 0u); aot_gpr_5 = (0u | 0u); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(14768)); + aot_gpr_6 = (aot_gpr_6 + static_cast(14768)); goto L_0896E03C; L_0896E03C: ctx.gpr[7] = (0u | 0u); - ctx.gpr[8] = (aot_gpr_5 + ctx.gpr[6]); + ctx.gpr[8] = (aot_gpr_5 + aot_gpr_6); goto L_0896E044; L_0896E044: ctx.gpr[9] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); @@ -5517,7 +5518,7 @@ L_0896E118: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0896E128u); - ctx.gpr[6] = (0u | 176u); + aot_gpr_6 = (0u | 176u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896E128u) goto L_0896E128; AOT_REGCACHE_SYNC_OUT(); return; L_0896E128: @@ -5525,7 +5526,7 @@ L_0896E128: aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(4), 0u); aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(164), 0u); aot_gpr_16 = (aot_gpr_16 + static_cast(176)); - aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(76), static_cast(aot_gpr_17)); + aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(76), static_cast(ctx.gpr[17])); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x0896E148u); aot_gpr_5 = (0u | 1u); @@ -5586,7 +5587,7 @@ L_0896E198: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 9u); aot_gpr_31 = (0x0896E1ACu); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 497u, 0x08A05F1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896E1ACu) goto L_0896E1AC; AOT_REGCACHE_SYNC_OUT(); return; L_0896E1AC: @@ -5602,14 +5603,14 @@ L_0896E1B8: aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0896E1C8u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 501u, 0x08A05F5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896E1C8u) goto L_0896E1C8; AOT_REGCACHE_SYNC_OUT(); return; L_0896E1C8: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -5625,14 +5626,14 @@ L_0896E1E8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_4 = (aot_gpr_4 << 16u); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 16u)); - ctx.gpr[6] = (aot_gpr_4 + aot_gpr_4); + aot_gpr_6 = (aot_gpr_4 + aot_gpr_4); ctx.gpr[7] = (aot_gpr_4 << 7u); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); aot_gpr_4 = (aot_gpr_4 << 4u); - ctx.gpr[6] = (2246u << 16u); + aot_gpr_6 = (2246u << 16u); aot_gpr_4 = (ctx.gpr[7] + aot_gpr_4); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(17840)); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_6 = (aot_gpr_6 + static_cast(17840)); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(170), static_cast(aot_gpr_5)); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(170))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); @@ -5676,7 +5677,7 @@ L_0896E254: L_0896E260: aot_gpr_5 = (2246u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(17840)); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_4 = (0u | 10u); goto L_0896E270; L_0896E270: @@ -5698,8 +5699,8 @@ L_0896E27C: aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-17328), ctx.gpr[7]); goto L_0896E298; L_0896E298: - ctx.gpr[6] = (ctx.gpr[6] + static_cast(1)); - ctx.gpr[7] = (static_cast(ctx.gpr[6]) < 32 ? 1u : 0u); + aot_gpr_6 = (aot_gpr_6 + static_cast(1)); + ctx.gpr[7] = (static_cast(aot_gpr_6) < 32 ? 1u : 0u); { const bool branch_taken = ctx.gpr[7] != 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(176)); if (branch_taken) { @@ -5718,17 +5719,17 @@ L_0896E2B0: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_4 = (aot_gpr_4 << 16u); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 16u)); - ctx.gpr[6] = (aot_gpr_4 + aot_gpr_4); + aot_gpr_6 = (aot_gpr_4 + aot_gpr_4); ctx.gpr[7] = (aot_gpr_4 << 7u); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); - ctx.gpr[6] = (aot_gpr_4 << 4u); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); + aot_gpr_6 = (aot_gpr_4 << 4u); aot_gpr_4 = (2246u << 16u); - ctx.gpr[6] = (ctx.gpr[7] + ctx.gpr[6]); + aot_gpr_6 = (ctx.gpr[7] + aot_gpr_6); aot_gpr_4 = (aot_gpr_4 + static_cast(17840)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); { const bool branch_taken = aot_gpr_5 == 0u; - aot_gpr_16 = (ctx.gpr[6] + aot_gpr_4); + aot_gpr_16 = (aot_gpr_6 + aot_gpr_4); if (branch_taken) { goto L_0896E2F8; } @@ -5760,11 +5761,11 @@ L_0896E2F8: } L_0896E300: aot_gpr_4 = (aot_gpr_4 + static_cast(164)); - ctx.gpr[6] = (ctx.gpr[6] + aot_gpr_4); + aot_gpr_6 = (aot_gpr_6 + aot_gpr_4); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x0896E314u); - aot_gpr_5 = (ctx.gpr[6] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896E314u) goto L_0896E314; + aot_gpr_5 = (aot_gpr_6 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896E314u) goto L_0896E314; AOT_REGCACHE_SYNC_OUT(); return; L_0896E314: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(62))); @@ -5796,12 +5797,12 @@ L_0896E338: ctx.gpr[18] = (aot_gpr_4 | 0u); aot_gpr_16 = (aot_gpr_16 + static_cast(17840)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), std::bit_cast(aot_fpr_20)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[17]); { const std::uint32_t aot_run_words[7]{ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(16), aot_run_words); } aot_gpr_4 = (17948u << 16u); aot_gpr_4 = (aot_gpr_4 | 16384u); - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_fpr_20 = std::bit_cast(aot_gpr_4); ctx.gpr[30] = (0u | 25u); ctx.gpr[23] = (0u | 26u); @@ -5931,8 +5932,8 @@ L_0896E424: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0203_entry, 203u, 641u, 0x08B330A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896E42Cu) goto L_0896E42C; AOT_REGCACHE_SYNC_OUT(); return; L_0896E42C: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - aot_gpr_4 = (static_cast(aot_gpr_17) < 32 ? 1u : 0u); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + aot_gpr_4 = (static_cast(ctx.gpr[17]) < 32 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_16 = (aot_gpr_16 + static_cast(176)); if (branch_taken) { @@ -5945,7 +5946,7 @@ L_0896E43C: aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); aot_gpr_16 = aot_run_words[1]; - aot_gpr_17 = aot_run_words[2]; + ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; ctx.gpr[19] = aot_run_words[4]; ctx.gpr[20] = aot_run_words[5]; @@ -5963,18 +5964,18 @@ L_0896E43C: AOT_REGCACHE_SYNC_OUT(); return; L_0896E470: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(86)))))); - ctx.gpr[6] = (static_cast(aot_gpr_5) < 191 ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] == 0u; - ctx.gpr[6] = (static_cast(aot_gpr_5) < 247 ? 1u : 0u); + aot_gpr_6 = (static_cast(aot_gpr_5) < 191 ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 == 0u; + aot_gpr_6 = (static_cast(aot_gpr_5) < 247 ? 1u : 0u); if (branch_taken) { goto L_0896E4C4; } goto L_0896E480; } L_0896E480: - ctx.gpr[6] = (static_cast(aot_gpr_5) < -965 ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] == 0u; - ctx.gpr[6] = (0u + static_cast(-950)); + aot_gpr_6 = (static_cast(aot_gpr_5) < -965 ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 == 0u; + aot_gpr_6 = (0u + static_cast(-950)); if (branch_taken) { goto L_0896E4B4; } @@ -6008,10 +6009,10 @@ L_0896E4A8: goto L_0896E4B0; } L_0896E4B0: - ctx.gpr[6] = (0u + static_cast(-950)); + aot_gpr_6 = (0u + static_cast(-950)); goto L_0896E4B4; L_0896E4B4: - { const bool branch_taken = aot_gpr_5 != ctx.gpr[6]; + { const bool branch_taken = aot_gpr_5 != aot_gpr_6; // nop if (branch_taken) { goto L_0896E498; @@ -6027,7 +6028,7 @@ L_0896E4BC: goto L_0896E4C4; } L_0896E4C4: - { const bool branch_taken = ctx.gpr[6] == 0u; + { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-191)); if (branch_taken) { goto L_0896E498; @@ -6073,7 +6074,7 @@ L_0896E4F8: AOT_REGCACHE_SYNC_OUT(); return; L_0896E500: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_31 = (0x0896E518u); // nop @@ -6083,25 +6084,25 @@ L_0896E518: aot_gpr_16 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x0896E524u); aot_gpr_4 = (0u | 36u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896E524u) goto L_0896E524; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896E524u) goto L_0896E524; AOT_REGCACHE_SYNC_OUT(); return; L_0896E524: - aot_gpr_17 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(104))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(104))); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 36u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_gpr_31 = (0x0896E53Cu); ctx.gpr[7] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0069_entry, 69u, 600u, 0x0891B7DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896E53Cu) goto L_0896E53C; AOT_REGCACHE_SYNC_OUT(); return; L_0896E53C: - aot_gpr_4 = (aot_gpr_17 << 5u); - aot_gpr_5 = (aot_gpr_17 << 2u); + aot_gpr_4 = (ctx.gpr[17] << 5u); + aot_gpr_5 = (ctx.gpr[17] << 2u); aot_gpr_4 = (aot_gpr_4 - aot_gpr_5); aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(8), 0u); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(3256), static_cast(aot_gpr_17)); + aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(3256), static_cast(ctx.gpr[17])); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1676))); aot_gpr_5 = (0u | 48u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; @@ -6119,7 +6120,7 @@ L_0896E570: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -6154,11 +6155,11 @@ L_0896E5C0: aot_gpr_16 = (2246u << 16u); aot_gpr_16 = (aot_gpr_16 + static_cast(17840)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), std::bit_cast(aot_fpr_20)); - { const std::uint32_t aot_run_words[9]{aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; + { const std::uint32_t aot_run_words[9]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(8), aot_run_words); } ctx.gpr[18] = (2247u << 16u); aot_fpr_20 = std::bit_cast(0u); - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); ctx.gpr[30] = (0u | 25u); ctx.gpr[23] = (0u | 26u); ctx.gpr[22] = (0u | 27u); @@ -6285,7 +6286,7 @@ L_0896E69C: aot_gpr_5 = (aot_gpr_5 + ctx.gpr[18]); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0896E6B8u); - ctx.gpr[6] = (0u | 4u); + aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0204_entry, 204u, 189u, 0x08B34D54u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896E6B8u) goto L_0896E6B8; AOT_REGCACHE_SYNC_OUT(); return; L_0896E6B8: @@ -6300,8 +6301,8 @@ L_0896E6C0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0204_entry, 204u, 60u, 0x08B34444u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896E6CCu) goto L_0896E6CC; AOT_REGCACHE_SYNC_OUT(); return; L_0896E6CC: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - aot_gpr_4 = (static_cast(aot_gpr_17) < 32 ? 1u : 0u); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + aot_gpr_4 = (static_cast(ctx.gpr[17]) < 32 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_16 = (aot_gpr_16 + static_cast(176)); if (branch_taken) { @@ -6314,7 +6315,7 @@ L_0896E6DC: aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); aot_gpr_16 = aot_run_words[1]; - aot_gpr_17 = aot_run_words[2]; + ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; ctx.gpr[19] = aot_run_words[4]; ctx.gpr[20] = aot_run_words[5]; @@ -6334,13 +6335,13 @@ L_0896E710: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[20]); ctx.gpr[20] = (aot_gpr_4 & 255u); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19]}; + { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_31); aot_gpr_16 = (2247u << 16u); ctx.gpr[19] = (0u | 0u); ctx.gpr[18] = (0u | 0u); - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_16 = (aot_gpr_16 + static_cast(14768)); goto L_0896E744; L_0896E744: @@ -6351,7 +6352,7 @@ L_0896E74C: aot_gpr_4 = (ctx.gpr[2] << 6u); aot_gpr_5 = (aot_gpr_4 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); - aot_gpr_4 = (aot_gpr_4 + aot_gpr_17); + aot_gpr_4 = (aot_gpr_4 + ctx.gpr[17]); aot_gpr_4 = (aot_gpr_4 + aot_gpr_16); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); { const bool branch_taken = aot_gpr_4 == 0u; @@ -6368,7 +6369,7 @@ L_0896E770: ctx.gpr[18] = (ctx.gpr[18] + static_cast(1)); aot_gpr_4 = (static_cast(ctx.gpr[18]) < 4 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(48)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(48)); if (branch_taken) { goto L_0896E744; } @@ -6379,7 +6380,7 @@ L_0896E780: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -6527,7 +6528,7 @@ L_0896E838: ctx.fpr[17] = std::bit_cast(std::bit_cast(ctx.fpr[16])); ctx.fpr[0] = std::bit_cast(std::bit_cast(aot_fpr_12)); aot_fpr_12 = ctx.fpr[17] + ctx.fpr[15]; - ctx.gpr[6] = (aot_gpr_4 & 255u); + aot_gpr_6 = (aot_gpr_4 & 255u); ctx.fpr[3] = std::bit_cast(std::bit_cast(ctx.fpr[19])); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-17328))); ctx.fpr[19] = std::bit_cast(std::bit_cast(aot_fpr_13)); @@ -6693,7 +6694,7 @@ L_0896E9A0: aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(4), 0u); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(148), std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(152), std::bit_cast(aot_fpr_13)); - aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(61), static_cast(ctx.gpr[6])); + aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(61), static_cast(aot_gpr_6)); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(76), static_cast(0u)); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(77), static_cast(0u)); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(78), static_cast(0u)); @@ -6714,15 +6715,15 @@ L_0896E9A0: aot_gpr_5 = (aot_gpr_5 + aot_gpr_16); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(168), static_cast(0u)); aot_gpr_31 = (0x0896EA8Cu); - aot_gpr_5 = (ctx.gpr[6] | 0u); + aot_gpr_5 = (aot_gpr_6 | 0u); goto L_0896F260; L_0896EA8C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-17328))); - ctx.gpr[6] = (aot_gpr_4 + aot_gpr_4); - ctx.gpr[6] = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_6 = (aot_gpr_4 + aot_gpr_4); + aot_gpr_6 = (aot_gpr_4 + aot_gpr_6); aot_gpr_5 = (aot_gpr_4 << 7u); - ctx.gpr[6] = (ctx.gpr[6] << 4u); - aot_gpr_5 = (aot_gpr_5 + ctx.gpr[6]); + aot_gpr_6 = (aot_gpr_6 << 4u); + aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); aot_gpr_5 = (aot_gpr_5 + aot_gpr_16); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(168), static_cast(ctx.gpr[2])); ctx.gpr[2] = (aot_gpr_4 << 16u); @@ -6739,9 +6740,9 @@ L_0896EA8C: AOT_REGCACHE_SYNC_OUT(); return; L_0896EACC: aot_gpr_29 = (aot_gpr_29 + static_cast(-192)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(168), aot_gpr_17); - aot_gpr_17 = (2246u << 16u); - aot_gpr_17 = (aot_gpr_17 + static_cast(17840)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(168), ctx.gpr[17]); + ctx.gpr[17] = (2246u << 16u); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(17840)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(160), std::bit_cast(aot_fpr_20)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(164), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(172), ctx.gpr[18]); @@ -6751,7 +6752,7 @@ L_0896EACC: aot_gpr_16 = (aot_gpr_29 + static_cast(80)); goto L_0896EAF8; L_0896EAF8: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(61))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(61))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -6768,13 +6769,13 @@ L_0896EB04: goto L_0896EB0C; } L_0896EB0C: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0896EB18u); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0204_entry, 204u, 80u, 0x08B346D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896EB18u) goto L_0896EB18; AOT_REGCACHE_SYNC_OUT(); return; L_0896EB18: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -6783,15 +6784,15 @@ L_0896EB18: goto L_0896EB24; } L_0896EB24: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(32))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(32))); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(48), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(36))); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(36))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(52), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(148))); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(148))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(56), std::bit_cast(aot_fpr_12)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); aot_gpr_5 = (aot_gpr_5 & 14u); aot_gpr_5 = (aot_gpr_5 ^ 8u); @@ -6811,8 +6812,8 @@ L_0896EB64: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 912u, 0x0885F828u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896EB70u) goto L_0896EB70; AOT_REGCACHE_SYNC_OUT(); return; L_0896EB70: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(148))); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(148))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_gpr_4 + static_cast(352)); aot_gpr_31 = (0x0896EB88u); @@ -6844,10 +6845,10 @@ L_0896EBA4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 129u, 0x089D89E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896EBACu) goto L_0896EBAC; AOT_REGCACHE_SYNC_OUT(); return; L_0896EBAC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); goto L_0896EBB0; L_0896EBB0: - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(77))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(77))); { const bool branch_taken = aot_gpr_5 == 0u; // nop if (branch_taken) { @@ -6859,11 +6860,11 @@ L_0896EBBC: aot_gpr_5 = (aot_gpr_4 | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_31 = (0x0896EBCCu); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0204_entry, 204u, 74u, 0x08B345C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896EBCCu) goto L_0896EBCC; AOT_REGCACHE_SYNC_OUT(); return; L_0896EBCC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); goto L_0896EBD0; L_0896EBD0: aot_gpr_31 = (0x0896EBD8u); @@ -6872,11 +6873,11 @@ L_0896EBD0: AOT_REGCACHE_SYNC_OUT(); return; L_0896EBD8: aot_gpr_31 = (0x0896EBE0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 66u, 0x08AD065Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896EBE0u) goto L_0896EBE0; AOT_REGCACHE_SYNC_OUT(); return; L_0896EBE0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -6885,15 +6886,15 @@ L_0896EBE0: goto L_0896EBEC; } L_0896EBEC: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(40))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(40))); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(48), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(44))); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(44))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(52), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(152))); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(152))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(56), std::bit_cast(aot_fpr_12)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); aot_gpr_5 = (aot_gpr_5 & 14u); aot_gpr_5 = (aot_gpr_5 ^ 8u); @@ -6913,8 +6914,8 @@ L_0896EC2C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 912u, 0x0885F828u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896EC38u) goto L_0896EC38; AOT_REGCACHE_SYNC_OUT(); return; L_0896EC38: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(152))); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(152))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(136), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_gpr_4 + static_cast(352)); aot_gpr_31 = (0x0896EC50u); @@ -6946,10 +6947,10 @@ L_0896EC6C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 129u, 0x089D89E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896EC74u) goto L_0896EC74; AOT_REGCACHE_SYNC_OUT(); return; L_0896EC74: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); goto L_0896EC78; L_0896EC78: - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(77))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(77))); { const bool branch_taken = aot_gpr_5 == 0u; // nop if (branch_taken) { @@ -6961,11 +6962,11 @@ L_0896EC84: aot_gpr_5 = (aot_gpr_4 | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_31 = (0x0896EC94u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0204_entry, 204u, 74u, 0x08B345C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896EC94u) goto L_0896EC94; AOT_REGCACHE_SYNC_OUT(); return; L_0896EC94: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); goto L_0896EC98; L_0896EC98: aot_gpr_31 = (0x0896ECA0u); @@ -6974,14 +6975,14 @@ L_0896EC98: AOT_REGCACHE_SYNC_OUT(); return; L_0896ECA0: aot_gpr_31 = (0x0896ECA8u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 66u, 0x08AD065Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896ECA8u) goto L_0896ECA8; AOT_REGCACHE_SYNC_OUT(); return; L_0896ECA8: ctx.gpr[18] = (ctx.gpr[18] + static_cast(1)); aot_gpr_4 = (static_cast(ctx.gpr[18]) < 32 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(176)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(176)); if (branch_taken) { goto L_0896EAF8; } @@ -6992,7 +6993,7 @@ L_0896ECB8: aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(160), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); aot_gpr_16 = aot_run_words[1]; - aot_gpr_17 = aot_run_words[2]; + ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; } @@ -7015,7 +7016,7 @@ L_0896ECD4: aot_fpr_20 = std::bit_cast(std::bit_cast(aot_fpr_12)); ctx.gpr[21] = (aot_gpr_29 + static_cast(32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(104), aot_gpr_4); - { const std::uint32_t aot_run_words[7]{std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19]}; + { const std::uint32_t aot_run_words[7]{std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(284), aot_run_words); } { const std::uint32_t aot_run_words[4]{ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(320), aot_run_words); } @@ -7040,11 +7041,11 @@ L_0896ED5C: aot_gpr_5 = (0u | 4u); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(294))); aot_gpr_31 = (0x0896ED70u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 546u, 0x08AD3258u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896ED70u) goto L_0896ED70; AOT_REGCACHE_SYNC_OUT(); return; L_0896ED70: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_31 = (0x0896ED7Cu); aot_gpr_4 = (0u | 496u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0009_entry, 9u, 392u, 0x0882B994u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896ED7Cu) goto L_0896ED7C; @@ -7070,15 +7071,15 @@ L_0896EDA4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(294))); aot_gpr_31 = (0x0896EDB8u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0009_entry, 9u, 351u, 0x0882B688u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896EDB8u) goto L_0896EDB8; AOT_REGCACHE_SYNC_OUT(); return; L_0896EDB8: - aot_gpr_17 = (aot_gpr_16 | 0u); + ctx.gpr[17] = (aot_gpr_16 | 0u); goto L_0896EDBC; L_0896EDBC: aot_gpr_4 = (0u | 2u); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(476), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(476), static_cast(aot_gpr_4)); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(ctx.gpr[20] + static_cast(0), aot_run_words); aot_fpr_12 = std::bit_cast(aot_run_words[0]); @@ -7086,9 +7087,9 @@ L_0896EDBC: aot_fpr_14 = std::bit_cast(aot_run_words[2]); } { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_13), std::bit_cast(aot_fpr_14)}; - aot_mem.aot_direct_store32_block(aot_gpr_17 + static_cast(48), aot_run_words); } + aot_mem.aot_direct_store32_block(ctx.gpr[17] + static_cast(48), aot_run_words); } aot_fpr_14 = aot_fpr_20 / ctx.fpr[22]; - aot_gpr_4 = (aot_gpr_17 + static_cast(48)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -7103,7 +7104,7 @@ L_0896EDBC: const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[24])); aot_gpr_31 = (0x0896EE00u); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[24])); @@ -7117,37 +7118,37 @@ L_0896EE00: aot_fpr_14 = std::bit_cast(aot_run_words[2]); } aot_gpr_31 = (0x0896EE14u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 4u, 0x08860094u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896EE14u) goto L_0896EE14; AOT_REGCACHE_SYNC_OUT(); return; L_0896EE14: aot_gpr_31 = (0x0896EE1Cu); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 936u, 0x0885FF14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896EE1Cu) goto L_0896EE1C; AOT_REGCACHE_SYNC_OUT(); return; L_0896EE1C: aot_gpr_31 = (0x0896EE24u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 66u, 0x08AD065Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896EE24u) goto L_0896EE24; AOT_REGCACHE_SYNC_OUT(); return; L_0896EE24: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(236))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(236))); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[30]); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(236), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(236), aot_gpr_4); aot_gpr_4 = (aot_gpr_4 | 8u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(236), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(72))); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(236), aot_gpr_4); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[23]); aot_gpr_5 = (4u << 16u); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(72), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(72), aot_gpr_4); aot_gpr_4 = (aot_gpr_4 | 512u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(72), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(72), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(104))); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(296))); aot_gpr_5 = (0u | 4u); aot_gpr_31 = (0x0896EE68u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 546u, 0x08AD3258u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896EE68u) goto L_0896EE68; AOT_REGCACHE_SYNC_OUT(); return; L_0896EE68: @@ -7170,7 +7171,7 @@ L_0896EE80: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(296))); aot_gpr_31 = (0x0896EE94u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0009_entry, 9u, 351u, 0x0882B688u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896EE94u) goto L_0896EE94; AOT_REGCACHE_SYNC_OUT(); return; L_0896EE94: @@ -7187,7 +7188,7 @@ L_0896EE98: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x0896EEC4u); - ctx.gpr[6] = (ctx.gpr[18] | 0u); + aot_gpr_6 = (ctx.gpr[18] | 0u); goto L_0896CE08; L_0896EEC4: { const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); @@ -7298,7 +7299,7 @@ L_0896EF44: aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(298))); aot_gpr_5 = (0u | 4u); aot_gpr_31 = (0x0896EF90u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 546u, 0x08AD3258u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896EF90u) goto L_0896EF90; AOT_REGCACHE_SYNC_OUT(); return; L_0896EF90: @@ -7321,7 +7322,7 @@ L_0896EFA8: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(298))); aot_gpr_31 = (0x0896EFBCu); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0009_entry, 9u, 351u, 0x0882B688u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896EFBCu) goto L_0896EFBC; AOT_REGCACHE_SYNC_OUT(); return; L_0896EFBC: @@ -7338,7 +7339,7 @@ L_0896EFC0: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x0896EFECu); - ctx.gpr[6] = (ctx.gpr[18] | 0u); + aot_gpr_6 = (ctx.gpr[18] | 0u); goto L_0896CE08; L_0896EFEC: { const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); @@ -7445,7 +7446,7 @@ L_0896F078: aot_gpr_4 = (aot_gpr_4 | 512u); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(72), aot_gpr_4); aot_gpr_31 = (0x0896F0A8u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 224u, 0x08891A2Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896F0A8u) goto L_0896F0A8; AOT_REGCACHE_SYNC_OUT(); return; L_0896F0A8: @@ -7474,14 +7475,14 @@ L_0896F0B8: aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(164), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(168), std::bit_cast(ctx.fpr[24])); - aot_gpr_17 = (aot_gpr_29 + static_cast(160)); + ctx.gpr[17] = (aot_gpr_29 + static_cast(160)); { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[24])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(176), aot_run_words); } ctx.gpr[18] = (aot_gpr_29 + static_cast(176)); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x0896F118u); - ctx.gpr[6] = (aot_gpr_16 | 0u); + aot_gpr_6 = (aot_gpr_16 | 0u); goto L_0896CE08; L_0896F118: { const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); @@ -7500,7 +7501,7 @@ L_0896F118: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x0896F130u); - ctx.gpr[6] = (aot_gpr_17 | 0u); + aot_gpr_6 = (ctx.gpr[17] | 0u); goto L_0896CE08; L_0896F130: { const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); @@ -7513,13 +7514,13 @@ L_0896F130: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x0896F148u); - ctx.gpr[6] = (ctx.gpr[18] | 0u); + aot_gpr_6 = (ctx.gpr[18] | 0u); goto L_0896CE08; L_0896F148: { const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); @@ -7547,7 +7548,7 @@ L_0896F15C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896F168u) goto L_0896F168; AOT_REGCACHE_SYNC_OUT(); return; L_0896F168: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0896F174u); aot_gpr_5 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896F174u) goto L_0896F174; @@ -7636,7 +7637,7 @@ L_0896F21C: ctx.fpr[24] = std::bit_cast(aot_run_words[2]); ctx.fpr[26] = std::bit_cast(aot_run_words[3]); aot_gpr_16 = aot_run_words[4]; - aot_gpr_17 = aot_run_words[5]; + ctx.gpr[17] = aot_run_words[5]; ctx.gpr[18] = aot_run_words[6]; ctx.gpr[19] = aot_run_words[7]; ctx.gpr[20] = aot_run_words[8]; @@ -7654,20 +7655,20 @@ L_0896F21C: AOT_REGCACHE_SYNC_OUT(); return; L_0896F260: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - ctx.gpr[6] = (aot_gpr_4 + aot_gpr_4); + aot_gpr_6 = (aot_gpr_4 + aot_gpr_4); ctx.gpr[7] = (aot_gpr_4 << 7u); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); aot_gpr_4 = (aot_gpr_4 << 4u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_17); - aot_gpr_17 = (ctx.gpr[7] + aot_gpr_4); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[17]); + ctx.gpr[17] = (ctx.gpr[7] + aot_gpr_4); aot_gpr_4 = (2246u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(17840)); - aot_gpr_17 = (aot_gpr_17 + aot_gpr_4); + ctx.gpr[17] = (ctx.gpr[17] + aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[18]); ctx.gpr[18] = (aot_gpr_5 & 255u); aot_gpr_16 = (0u | 1u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), std::bit_cast(aot_fpr_20)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); aot_gpr_31 = (0x0896F2ACu); @@ -7675,43 +7676,43 @@ L_0896F260: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0204_entry, 204u, 80u, 0x08B346D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896F2ACu) goto L_0896F2AC; AOT_REGCACHE_SYNC_OUT(); return; L_0896F2AC: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_fpr_20 = std::bit_cast(0u); { const bool branch_taken = aot_gpr_5 == 0u; - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); if (branch_taken) { goto L_0896F2E0; } goto L_0896F2BC; } L_0896F2BC: - ctx.gpr[6] = (aot_gpr_5 + static_cast(48)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(8))); - ctx.gpr[6] = (aot_gpr_5 + static_cast(48)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(148), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(0))); - ctx.gpr[6] = (aot_gpr_5 + static_cast(48)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(32), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(4))); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(36), std::bit_cast(aot_fpr_12)); + aot_gpr_6 = (aot_gpr_5 + static_cast(48)); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(8))); + aot_gpr_6 = (aot_gpr_5 + static_cast(48)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(148), std::bit_cast(aot_fpr_12)); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); + aot_gpr_6 = (aot_gpr_5 + static_cast(48)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(32), std::bit_cast(aot_fpr_12)); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(4))); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(36), std::bit_cast(aot_fpr_12)); goto L_0896F2E0; L_0896F2E0: { const bool branch_taken = aot_gpr_4 == 0u; - ctx.gpr[6] = (aot_gpr_4 + static_cast(48)); + aot_gpr_6 = (aot_gpr_4 + static_cast(48)); if (branch_taken) { goto L_0896F308; } goto L_0896F2E8; } L_0896F2E8: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(8))); - ctx.gpr[6] = (aot_gpr_4 + static_cast(48)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(152), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(0))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(8))); + aot_gpr_6 = (aot_gpr_4 + static_cast(48)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(152), std::bit_cast(aot_fpr_12)); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); aot_gpr_4 = (aot_gpr_4 + static_cast(48)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(40), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(40), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(44), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(44), std::bit_cast(aot_fpr_12)); goto L_0896F308; L_0896F308: { const bool branch_taken = aot_gpr_5 == 0u; @@ -7727,7 +7728,7 @@ L_0896F310: goto L_0896E584; L_0896F318: { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(144), std::bit_cast(ctx.fpr[0])); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(144), std::bit_cast(ctx.fpr[0])); if (branch_taken) { goto L_0896F32C; } @@ -7736,14 +7737,14 @@ L_0896F318: L_0896F320: aot_gpr_4 = (16512u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(144), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(144), std::bit_cast(aot_fpr_12)); goto L_0896F32C; L_0896F32C: - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(140), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(140), std::bit_cast(aot_fpr_20)); aot_gpr_4 = (ctx.gpr[18] + static_cast(-1)); aot_gpr_5 = (aot_gpr_4 < static_cast(30) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(62), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(62), static_cast(0u)); if (branch_taken) { goto L_0896F388; } @@ -7762,17 +7763,17 @@ L_0896F340: AOT_REGCACHE_SYNC_OUT(); return; L_0896F358: { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(62), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(62), static_cast(0u)); if (branch_taken) { goto L_0896F388; } goto L_0896F360; } L_0896F360: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(144))); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(62), static_cast(aot_gpr_16)); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(144))); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(62), static_cast(aot_gpr_16)); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(140), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(140), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_0896F388; } @@ -7781,10 +7782,10 @@ L_0896F360: L_0896F370: aot_gpr_4 = (16329u << 16u); aot_gpr_4 = (aot_gpr_4 | 4059u); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(62), static_cast(aot_gpr_16)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(62), static_cast(aot_gpr_16)); aot_fpr_12 = std::bit_cast(aot_gpr_4); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(140), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(140), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_0896F388; } @@ -7801,12 +7802,12 @@ L_0896F388: } L_0896F394: aot_gpr_31 = (0x0896F39Cu); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0204_entry, 204u, 75u, 0x08B34680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896F39Cu) goto L_0896F39C; AOT_REGCACHE_SYNC_OUT(); return; L_0896F39C: { const bool branch_taken = 0u == 0u; - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(144))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(144))); if (branch_taken) { goto L_0896F3B0; } @@ -7814,11 +7815,11 @@ L_0896F39C: } L_0896F3A4: aot_gpr_31 = (0x0896F3ACu); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0204_entry, 204u, 60u, 0x08B34444u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896F3ACu) goto L_0896F3AC; AOT_REGCACHE_SYNC_OUT(); return; L_0896F3AC: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(144))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(144))); goto L_0896F3B0; L_0896F3B0: aot_gpr_4 = (0u | 0u); @@ -7835,7 +7836,7 @@ L_0896F3C4: aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); aot_gpr_16 = aot_run_words[1]; - aot_gpr_17 = aot_run_words[2]; + ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; } @@ -7850,7 +7851,7 @@ L_0896F3E4: aot_gpr_4 = (2246u << 16u); ctx.gpr[7] = (2227u << 16u); aot_gpr_5 = (0u | 32u); - ctx.gpr[6] = (0u | 176u); + aot_gpr_6 = (0u | 176u); aot_gpr_4 = (aot_gpr_4 + static_cast(17840)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); aot_gpr_31 = (0x0896F408u); @@ -8067,12 +8068,12 @@ L_0896F5A4: aot_gpr_29 = (aot_gpr_29 + static_cast(-64)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[18]); ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); - { const std::uint32_t aot_run_words[5]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), aot_gpr_16, aot_gpr_17}; + { const std::uint32_t aot_run_words[5]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), aot_gpr_16, ctx.gpr[17]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } { const std::uint32_t aot_run_words[7]{ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(24), aot_run_words); } { const bool branch_taken = ctx.gpr[18] == 0u; - aot_gpr_17 = (aot_gpr_4 | 0u); + ctx.gpr[17] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_0896F82C; } @@ -8085,7 +8086,7 @@ L_0896F5E8: ctx.fpr[22] = std::bit_cast(aot_gpr_4); ctx.gpr[30] = (0u | 80u); aot_gpr_4 = (17274u << 16u); - ctx.gpr[23] = (aot_gpr_17 + static_cast(108)); + ctx.gpr[23] = (ctx.gpr[17] + static_cast(108)); ctx.fpr[24] = std::bit_cast(aot_gpr_4); ctx.gpr[22] = (0u | 1u); ctx.gpr[21] = (ctx.gpr[28] + static_cast(-17256)); @@ -8107,7 +8108,7 @@ L_0896F62C: aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(84), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_gpr_16 + static_cast(48)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); @@ -8118,7 +8119,7 @@ L_0896F62C: goto L_0896F64C; } L_0896F64C: - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(12))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(12))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); @@ -8130,7 +8131,7 @@ L_0896F64C: } L_0896F660: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(16))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(16))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); @@ -8141,7 +8142,7 @@ L_0896F660: goto L_0896F678; } L_0896F678: - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(20))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(20))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); @@ -8288,7 +8289,7 @@ L_0896F740: L_0896F754: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); aot_gpr_31 = (0x0896F760u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); goto L_0896F868; L_0896F760: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -8299,7 +8300,7 @@ L_0896F760: goto L_0896F768; } L_0896F768: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(120))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(120))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -8322,7 +8323,7 @@ L_0896F77C: } L_0896F784: { const bool branch_taken = aot_gpr_16 == 0u; - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(108), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(108), aot_gpr_16); if (branch_taken) { goto L_0896F798; } @@ -8332,11 +8333,11 @@ L_0896F78C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0896F798u); aot_gpr_5 = (ctx.gpr[23] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896F798u) goto L_0896F798; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896F798u) goto L_0896F798; AOT_REGCACHE_SYNC_OUT(); return; L_0896F798: { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(117), static_cast(ctx.gpr[22])); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(117), static_cast(ctx.gpr[22])); if (branch_taken) { goto L_0896F824; } @@ -8355,7 +8356,7 @@ L_0896F7A0: L_0896F7B0: aot_gpr_4 = (aot_gpr_4 | 64u); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(614), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(120))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(120))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -8366,7 +8367,7 @@ L_0896F7B0: L_0896F7C4: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); aot_gpr_31 = (0x0896F7D0u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); goto L_0896F868; L_0896F7D0: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -8379,7 +8380,7 @@ L_0896F7D0: L_0896F7D8: aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_5 = (0u + static_cast(-1)); - ctx.gpr[6] = (0u | 4000u); + aot_gpr_6 = (0u | 4000u); aot_gpr_31 = (0x0896F7ECu); ctx.gpr[7] = (0u + static_cast(-1)); goto L_0896D898; @@ -8394,7 +8395,7 @@ L_0896F7EC: L_0896F7F4: aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_5 = (0u + static_cast(-1)); - ctx.gpr[6] = (0u | 4000u); + aot_gpr_6 = (0u | 4000u); aot_gpr_31 = (0x0896F808u); ctx.gpr[7] = (0u + static_cast(-1)); goto L_0896D898; @@ -8409,7 +8410,7 @@ L_0896F808: L_0896F810: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (0u + static_cast(-1)); - ctx.gpr[6] = (0u | 4000u); + aot_gpr_6 = (0u | 4000u); aot_gpr_31 = (0x0896F824u); ctx.gpr[7] = (0u + static_cast(-1)); goto L_0896D898; @@ -8428,7 +8429,7 @@ L_0896F82C: ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); aot_gpr_16 = aot_run_words[3]; - aot_gpr_17 = aot_run_words[4]; + ctx.gpr[17] = aot_run_words[4]; ctx.gpr[18] = aot_run_words[5]; ctx.gpr[19] = aot_run_words[6]; ctx.gpr[20] = aot_run_words[7]; @@ -8445,8 +8446,8 @@ L_0896F82C: ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0896F868: - ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(119))); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(119))); + { const bool branch_taken = aot_gpr_6 == 0u; // nop if (branch_taken) { goto L_0896F8D8; @@ -8998,12 +8999,12 @@ L_0896FBF8: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), ctx.gpr[19]); ctx.gpr[19] = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(0))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_17); - aot_gpr_17 = (ctx.gpr[6] | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_6 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), std::bit_cast(ctx.fpr[22])); ctx.fpr[22] = std::bit_cast(std::bit_cast(aot_fpr_13)); - ctx.gpr[6] = (aot_gpr_4 + static_cast(48)); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(0))); + aot_gpr_6 = (aot_gpr_4 + static_cast(48)); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), std::bit_cast(ctx.fpr[24])); ctx.fpr[24] = std::bit_cast(std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_gpr_4 + static_cast(48)); @@ -9056,7 +9057,7 @@ L_0896FC7C: { const float fs = aot_fpr_14; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } aot_fpr_12 = aot_fpr_12 + aot_fpr_14; aot_fpr_12 = std::sqrt(aot_fpr_12); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), std::bit_cast(aot_fpr_20)); { std::uint32_t aot_run_words[8]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); @@ -9064,7 +9065,7 @@ L_0896FC7C: ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); aot_gpr_16 = aot_run_words[3]; - aot_gpr_17 = aot_run_words[4]; + ctx.gpr[17] = aot_run_words[4]; ctx.gpr[18] = aot_run_words[5]; ctx.gpr[19] = aot_run_words[6]; aot_gpr_31 = aot_run_words[7]; @@ -9106,7 +9107,7 @@ L_0896FCF4: ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(68))); { const float fs = aot_fpr_14; const float ft = ctx.fpr[16]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } aot_fpr_12 = aot_fpr_12 + aot_fpr_14; - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(0), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(0), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); jump_target = aot_gpr_31; aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(0), std::bit_cast(aot_fpr_12)); @@ -9124,7 +9125,7 @@ L_0896FD6C: L_0896FD74: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7080))); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -9179,19 +9180,19 @@ L_0896FDC8: goto L_0896FDD0; } L_0896FDD0: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_4 = (ctx.gpr[18] << 4u); goto L_0896FDD8; L_0896FDD8: aot_gpr_5 = (ctx.gpr[18] + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); - aot_gpr_4 = (aot_gpr_17 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[17] + aot_gpr_4); aot_gpr_5 = (aot_gpr_4 << 6u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-25496))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-25496))); aot_gpr_4 = (aot_gpr_4 << 3u); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); - aot_gpr_4 = (ctx.gpr[6] + aot_gpr_4); + aot_gpr_4 = (aot_gpr_6 + aot_gpr_4); aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); { const bool branch_taken = aot_gpr_16 == 0u; // nop @@ -9201,9 +9202,9 @@ L_0896FDD8: goto L_0896FE08; } L_0896FE08: - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(104))); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[6] + static_cast(86)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(86)))))); ctx.gpr[7] = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(30))); { const bool branch_taken = aot_gpr_5 == ctx.gpr[7]; // nop @@ -9250,7 +9251,7 @@ L_0896FE44: } L_0896FE50: aot_gpr_31 = (0x0896FE58u); - aot_gpr_4 = (ctx.gpr[6] | 0u); + aot_gpr_4 = (aot_gpr_6 | 0u); goto L_0896FF18; L_0896FE58: aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); @@ -9262,10 +9263,10 @@ L_0896FE58: goto L_0896FE64; } L_0896FE64: - aot_gpr_4 = (aot_gpr_17 + static_cast(1)); - aot_gpr_17 = (aot_gpr_4 << 16u); - aot_gpr_17 = (static_cast(static_cast(aot_gpr_17) >> 16u)); - aot_gpr_4 = (static_cast(aot_gpr_17) < 50 ? 1u : 0u); + aot_gpr_4 = (ctx.gpr[17] + static_cast(1)); + ctx.gpr[17] = (aot_gpr_4 << 16u); + ctx.gpr[17] = (static_cast(static_cast(ctx.gpr[17]) >> 16u)); + aot_gpr_4 = (static_cast(ctx.gpr[17]) < 50 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_4 = (ctx.gpr[18] << 4u); if (branch_taken) { @@ -9296,9 +9297,9 @@ L_0896FE94: goto L_0896FEA4; } L_0896FEA4: - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(104))); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[6] + static_cast(86)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(86)))))); ctx.gpr[7] = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(30))); { const bool branch_taken = aot_gpr_5 == ctx.gpr[7]; // nop @@ -9345,7 +9346,7 @@ L_0896FEE0: } L_0896FEEC: aot_gpr_31 = (0x0896FEF4u); - aot_gpr_4 = (ctx.gpr[6] | 0u); + aot_gpr_4 = (aot_gpr_6 | 0u); goto L_0896FF18; L_0896FEF4: aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); @@ -9360,7 +9361,7 @@ L_0896FF00: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -9372,7 +9373,7 @@ L_0896FF00: AOT_REGCACHE_SYNC_OUT(); return; L_0896FF18: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_31 = (0x0896FF30u); aot_gpr_16 = (aot_gpr_4 | 0u); @@ -9391,20 +9392,20 @@ L_0896FF30: L_0896FF40: aot_gpr_5 = (2247u << 16u); aot_gpr_4 = (aot_gpr_4 << 7u); - aot_gpr_17 = (aot_gpr_5 + static_cast(17072)); - aot_gpr_4 = (aot_gpr_4 + aot_gpr_17); + ctx.gpr[17] = (aot_gpr_5 + static_cast(17072)); + aot_gpr_4 = (aot_gpr_4 + ctx.gpr[17]); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x0896FF5Cu); - ctx.gpr[6] = (0u | 128u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896FF5Cu) goto L_0896FF5C; + aot_gpr_6 = (0u | 128u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896FF5Cu) goto L_0896FF5C; AOT_REGCACHE_SYNC_OUT(); return; L_0896FF5C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-17264))); aot_gpr_5 = (16585u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); - ctx.gpr[6] = (aot_gpr_4 << 7u); + aot_gpr_6 = (aot_gpr_4 << 7u); aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_13))); - aot_gpr_4 = (ctx.gpr[6] + aot_gpr_17); + aot_gpr_4 = (aot_gpr_6 + ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_16); aot_gpr_5 = (aot_gpr_5 | 3670u); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(116), static_cast(0u)); @@ -9441,9 +9442,9 @@ L_0896FFAC: aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(117), static_cast(0u)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(121), static_cast(0u)); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(104))); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(30))); - { const bool branch_taken = ctx.gpr[6] != aot_gpr_5; + { const bool branch_taken = aot_gpr_6 != aot_gpr_5; // nop if (branch_taken) { goto L_0896FFE4; diff --git a/profiles/vcs/generated/generated_unit_0091.cpp b/profiles/vcs/generated/generated_unit_0091.cpp index 078afff..a64e8eb 100644 --- a/profiles/vcs/generated/generated_unit_0091.cpp +++ b/profiles/vcs/generated/generated_unit_0091.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0091[4095] = { }; void recomp_unit_0091_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,29,5,16,31,6 fprs=12,13,14,20 gpr_occ=3824 fpr_occ=737 gpr_total=5252 fpr_total=985 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,16,31,6 fprs=12,13,14,15 gpr_occ=3986 fpr_occ=744 gpr_total=5540 fpr_total=993 std::uint32_t aot_gpr_4 = ctx.gpr[4]; - std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; + std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_16 = ctx.gpr[16]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; std::uint32_t aot_gpr_6 = ctx.gpr[6]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_14 = ctx.fpr[14]; - float aot_fpr_20 = ctx.fpr[20]; + float aot_fpr_15 = ctx.fpr[15]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[29] = aot_gpr_29; ctx.gpr[5] = aot_gpr_5; ctx.gpr[16] = aot_gpr_16; ctx.gpr[31] = aot_gpr_31; ctx.gpr[6] = aot_gpr_6; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[20] = aot_fpr_20; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_6 = ctx.gpr[6]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_20 = ctx.fpr[20]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[16] = aot_gpr_16; ctx.gpr[31] = aot_gpr_31; ctx.gpr[6] = aot_gpr_6; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[15] = aot_fpr_15; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_6 = ctx.gpr[6]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_15 = ctx.fpr[15]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -1025,7 +1026,7 @@ L_08970000: L_08970014: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7080))); - { const std::uint32_t aot_run_words[5]{std::bit_cast(aot_fpr_20), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[5]{std::bit_cast(ctx.fpr[20]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -1066,7 +1067,7 @@ L_0897005C: ctx.gpr[17] = (2247u << 16u); aot_gpr_4 = (17302u << 16u); aot_gpr_16 = (aot_gpr_16 + static_cast(48)); - aot_fpr_20 = std::bit_cast(aot_gpr_4); + ctx.fpr[20] = std::bit_cast(aot_gpr_4); ctx.gpr[17] = (ctx.gpr[17] + static_cast(17072)); goto L_08970074; L_08970074: @@ -1092,7 +1093,7 @@ L_08970088: L_08970094: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); - aot_fpr_13 = aot_fpr_12 + aot_fpr_20; + aot_fpr_13 = aot_fpr_12 + ctx.fpr[20]; aot_gpr_6 = (aot_gpr_4 + static_cast(48)); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 <= aot_fpr_14)) ? 0x00800000u : 0u); @@ -1105,7 +1106,7 @@ L_08970094: goto L_089700B8; } L_089700B8: - aot_fpr_12 = aot_fpr_12 - aot_fpr_20; + aot_fpr_12 = aot_fpr_12 - ctx.fpr[20]; aot_gpr_6 = (aot_gpr_4 + static_cast(48)); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); @@ -1120,7 +1121,7 @@ L_089700B8: L_089700D4: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); aot_gpr_6 = (aot_gpr_4 + static_cast(48)); - aot_fpr_13 = aot_fpr_12 + aot_fpr_20; + aot_fpr_13 = aot_fpr_12 + ctx.fpr[20]; aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(4))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 <= aot_fpr_14)) ? 0x00800000u : 0u); // nop @@ -1132,7 +1133,7 @@ L_089700D4: goto L_089700F4; } L_089700F4: - aot_fpr_12 = aot_fpr_12 - aot_fpr_20; + aot_fpr_12 = aot_fpr_12 - ctx.fpr[20]; aot_gpr_4 = (aot_gpr_4 + static_cast(48)); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); @@ -1164,7 +1165,7 @@ L_08970118: L_08970134: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_fpr_20 = std::bit_cast(aot_run_words[0]); + ctx.fpr[20] = std::bit_cast(aot_run_words[0]); aot_gpr_16 = aot_run_words[1]; ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; @@ -1669,10 +1670,10 @@ L_089703C8: ctx.gpr[7] = (ctx.gpr[7] + ctx.gpr[8]); ctx.gpr[11] = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(0))); ctx.gpr[3] = (ctx.gpr[11] + static_cast(48)); - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[3] + static_cast(0))); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[3] + static_cast(0))); ctx.gpr[3] = (ctx.gpr[11] + static_cast(48)); ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[3] + static_cast(0))); - ctx.fpr[15] = aot_fpr_12 - ctx.fpr[15]; + aot_fpr_15 = aot_fpr_12 - aot_fpr_15; ctx.gpr[3] = (ctx.gpr[11] + static_cast(48)); ctx.fpr[17] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[3] + static_cast(4))); ctx.fpr[16] = aot_fpr_12 - ctx.fpr[16]; @@ -1680,11 +1681,11 @@ L_089703C8: ctx.fpr[18] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[11] + static_cast(4))); ctx.fpr[17] = aot_fpr_13 - ctx.fpr[17]; ctx.fpr[18] = aot_fpr_13 - ctx.fpr[18]; - { const float fs = ctx.fpr[15]; const float ft = ctx.fpr[16]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[15] = std::bit_cast(0x7FC00000u); else ctx.fpr[15] = fs * ft; } + { const float fs = aot_fpr_15; const float ft = ctx.fpr[16]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_15 = std::bit_cast(0x7FC00000u); else aot_fpr_15 = fs * ft; } { const float fs = ctx.fpr[17]; const float ft = ctx.fpr[18]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[17] = std::bit_cast(0x7FC00000u); else ctx.fpr[17] = fs * ft; } - ctx.fpr[15] = ctx.fpr[15] + ctx.fpr[17]; - ctx.fpr[15] = std::sqrt(ctx.fpr[15]); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[15] < aot_fpr_14)) ? 0x00800000u : 0u); + aot_fpr_15 = aot_fpr_15 + ctx.fpr[17]; + aot_fpr_15 = std::sqrt(aot_fpr_15); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_15 < aot_fpr_14)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -1908,7 +1909,7 @@ L_08970534: L_0897053C: aot_gpr_29 = (aot_gpr_29 + static_cast(-112)); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7080))); - { const std::uint32_t aot_run_words[11]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_31}; + { const std::uint32_t aot_run_words[11]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(64), aot_run_words); } { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -1929,43 +1930,43 @@ L_08970580: aot_gpr_4 = (0u | 6u); aot_gpr_31 = (0x0897058Cu); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897058Cu) goto L_0897058C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897058Cu) goto L_0897058C; AOT_REGCACHE_SYNC_OUT(); return; L_0897058C: aot_gpr_4 = (0u | 4u); aot_gpr_31 = (0x08970598u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08970598u) goto L_08970598; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08970598u) goto L_08970598; AOT_REGCACHE_SYNC_OUT(); return; L_08970598: aot_gpr_4 = (0u | 10u); aot_gpr_31 = (0x089705A4u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089705A4u) goto L_089705A4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089705A4u) goto L_089705A4; AOT_REGCACHE_SYNC_OUT(); return; L_089705A4: aot_gpr_4 = (0u | 8u); aot_gpr_31 = (0x089705B0u); aot_gpr_5 = (0u | 5u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089705B0u) goto L_089705B0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089705B0u) goto L_089705B0; AOT_REGCACHE_SYNC_OUT(); return; L_089705B0: aot_gpr_4 = (0u | 9u); aot_gpr_31 = (0x089705BCu); aot_gpr_5 = (0u | 6u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089705BCu) goto L_089705BC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089705BCu) goto L_089705BC; AOT_REGCACHE_SYNC_OUT(); return; L_089705BC: aot_gpr_4 = (0u | 7u); aot_gpr_31 = (0x089705C8u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089705C8u) goto L_089705C8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089705C8u) goto L_089705C8; AOT_REGCACHE_SYNC_OUT(); return; L_089705C8: aot_gpr_4 = (0u | 1u); aot_gpr_31 = (0x089705D4u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089705D4u) goto L_089705D4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089705D4u) goto L_089705D4; AOT_REGCACHE_SYNC_OUT(); return; L_089705D4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-17264))); @@ -1987,7 +1988,7 @@ L_089705E8: ctx.gpr[20] = (2247u << 16u); aot_gpr_4 = (16646u << 16u); aot_gpr_4 = (aot_gpr_4 | 65012u); - aot_fpr_20 = std::bit_cast(aot_gpr_4); + ctx.fpr[20] = std::bit_cast(aot_gpr_4); ctx.gpr[17] = (2238u << 16u); aot_gpr_4 = (17302u << 16u); ctx.gpr[18] = (aot_gpr_29 + static_cast(16)); @@ -2097,7 +2098,7 @@ L_089706C8: aot_gpr_5 = (0u | 0u); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(34), static_cast(aot_gpr_5)); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(35), static_cast(aot_gpr_4)); - { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[22]), std::bit_cast(aot_fpr_20)}; + { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[20])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(32), aot_run_words); } aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(0))); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); @@ -2217,7 +2218,7 @@ L_089707B4: L_089707C8: { std::uint32_t aot_run_words[11]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(64), aot_run_words); - aot_fpr_20 = std::bit_cast(aot_run_words[0]); + ctx.fpr[20] = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); ctx.fpr[26] = std::bit_cast(aot_run_words[3]); @@ -2328,7 +2329,7 @@ L_089708B4: aot_gpr_29 = (aot_gpr_29 + static_cast(-272)); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(116))); aot_gpr_6 = (0u | 1u); - { const std::uint32_t aot_run_words[11]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_31}; + { const std::uint32_t aot_run_words[11]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(228), aot_run_words); } { const bool branch_taken = aot_gpr_5 == aot_gpr_6; aot_gpr_16 = (aot_gpr_4 | 0u); @@ -2360,7 +2361,7 @@ L_08970914: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_4 = (17174u << 16u); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; - aot_fpr_20 = std::bit_cast(aot_gpr_4); + ctx.fpr[20] = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[22])) ? 0x00800000u : 0u); // nop if (((ctx.fcr31 & 0x00800000u) != 0u)) { @@ -2369,7 +2370,7 @@ L_08970914: } goto L_08970944; L_08970944: - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_20)) ? 0x00800000u : 0u); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[20])) ? 0x00800000u : 0u); // nop if (!((ctx.fcr31 & 0x00800000u) != 0u)) { aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(117))); @@ -2395,7 +2396,7 @@ L_0897095C: } goto L_08970980; L_08970980: - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_20)) ? 0x00800000u : 0u); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[20])) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -2692,9 +2693,9 @@ L_08970B64: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(20))); aot_gpr_5 = (aot_gpr_29 + static_cast(24)); aot_gpr_4 = (aot_gpr_4 + static_cast(32)); - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); aot_gpr_6 = (aot_gpr_29 + static_cast(28)); - aot_fpr_14 = aot_fpr_14 + ctx.fpr[15]; + aot_fpr_14 = aot_fpr_14 + aot_fpr_15; ctx.gpr[7] = (aot_gpr_29 + static_cast(32)); aot_gpr_31 = (0x08970BB4u); aot_gpr_4 = (aot_gpr_16 | 0u); @@ -2705,7 +2706,7 @@ L_08970BB4: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(28))); aot_gpr_5 = (16256u << 16u); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(32))); - ctx.fpr[15] = std::bit_cast(aot_gpr_5); + aot_fpr_15 = std::bit_cast(aot_gpr_5); aot_gpr_31 = (0x08970BD0u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0090_entry, 90u, 814u, 0x0896F93Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08970BD0u) goto L_08970BD0; @@ -2730,10 +2731,10 @@ L_08970BD8: aot_gpr_6 = (aot_gpr_6 << 2u); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(4))); aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); aot_gpr_4 = (aot_gpr_4 + static_cast(48)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); - aot_fpr_13 = aot_fpr_14 - ctx.fpr[15]; + aot_fpr_13 = aot_fpr_14 - aot_fpr_15; ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(20))); { const float fs = aot_fpr_12; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } @@ -2741,11 +2742,11 @@ L_08970BD8: { const float fs = aot_fpr_13; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } ctx.fpr[17] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); - ctx.fpr[15] = ctx.fpr[16] + ctx.fpr[17]; + aot_fpr_15 = ctx.fpr[16] + ctx.fpr[17]; aot_gpr_4 = (16000u << 16u); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; ctx.fpr[18] = std::bit_cast(aot_gpr_4); - aot_fpr_14 = ctx.fpr[15] - aot_fpr_14; + aot_fpr_14 = aot_fpr_15 - aot_fpr_14; { const float fs = aot_fpr_14; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } aot_fpr_12 = aot_fpr_12 + aot_fpr_14; ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[18])) ? 0x00800000u : 0u); @@ -2837,7 +2838,7 @@ L_08970D24: aot_gpr_4 = (ctx.gpr[28] + static_cast(7696)); aot_gpr_31 = (0x08970D30u); aot_gpr_5 = (0u | 118u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08970D30u) goto L_08970D30; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08970D30u) goto L_08970D30; AOT_REGCACHE_SYNC_OUT(); return; L_08970D30: ctx.gpr[10] = (ctx.gpr[18] & 255u); @@ -2865,10 +2866,10 @@ L_08970D60: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(40))); aot_gpr_4 = (16512u << 16u); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(48))); - ctx.fpr[15] = std::bit_cast(aot_gpr_4); + aot_fpr_15 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(119))); { const bool branch_taken = aot_gpr_4 == 0u; - aot_fpr_14 = aot_fpr_14 + ctx.fpr[15]; + aot_fpr_14 = aot_fpr_14 + aot_fpr_15; if (branch_taken) { goto L_08970D8C; } @@ -2877,21 +2878,21 @@ L_08970D60: L_08970D80: aot_gpr_4 = (16528u << 16u); { const bool branch_taken = 0u == 0u; - ctx.fpr[15] = std::bit_cast(aot_gpr_4); + aot_fpr_15 = std::bit_cast(aot_gpr_4); if (branch_taken) { goto L_08970D90; } goto L_08970D8C; } L_08970D8C: - ctx.fpr[15] = std::bit_cast(0u); + aot_fpr_15 = std::bit_cast(0u); goto L_08970D90; L_08970D90: - aot_fpr_14 = aot_fpr_14 + ctx.fpr[15]; + aot_fpr_14 = aot_fpr_14 + aot_fpr_15; aot_gpr_5 = (16256u << 16u); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08970DA4u); - ctx.fpr[15] = std::bit_cast(aot_gpr_5); + aot_fpr_15 = std::bit_cast(aot_gpr_5); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0090_entry, 90u, 814u, 0x0896F93Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08970DA4u) goto L_08970DA4; AOT_REGCACHE_SYNC_OUT(); return; L_08970DA4: @@ -2918,7 +2919,7 @@ L_08970DC0: aot_gpr_5 = (0u | 65535u); aot_gpr_4 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_5) ? 1u : 0u); aot_gpr_5 = (17056u << 16u); - aot_fpr_20 = std::bit_cast(aot_gpr_5); + ctx.fpr[20] = std::bit_cast(aot_gpr_5); aot_gpr_5 = (16880u << 16u); ctx.fpr[22] = std::bit_cast(aot_gpr_5); aot_gpr_5 = (16840u << 16u); @@ -2950,7 +2951,7 @@ L_08970E00: goto L_08970E08; L_08970E08: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); - aot_fpr_12 = aot_fpr_12 / aot_fpr_20; + aot_fpr_12 = aot_fpr_12 / ctx.fpr[20]; aot_gpr_4 = (0u | 49u); aot_fpr_12 = aot_fpr_12 + ctx.fpr[22]; aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); @@ -2970,7 +2971,7 @@ L_08970E2C: goto L_08970E38; L_08970E38: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); - aot_fpr_12 = aot_fpr_12 / aot_fpr_20; + aot_fpr_12 = aot_fpr_12 / ctx.fpr[20]; aot_gpr_4 = (0u | 49u); aot_fpr_12 = aot_fpr_12 + ctx.fpr[24]; aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); @@ -2990,7 +2991,7 @@ L_08970E5C: goto L_08970E68; L_08970E68: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(12))); - aot_fpr_12 = aot_fpr_12 / aot_fpr_20; + aot_fpr_12 = aot_fpr_12 / ctx.fpr[20]; aot_gpr_4 = (0u | 49u); aot_fpr_12 = aot_fpr_12 + ctx.fpr[22]; aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); @@ -3010,7 +3011,7 @@ L_08970E8C: goto L_08970E98; L_08970E98: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); - aot_fpr_12 = aot_fpr_12 / aot_fpr_20; + aot_fpr_12 = aot_fpr_12 / ctx.fpr[20]; aot_gpr_4 = (0u | 49u); aot_fpr_12 = aot_fpr_12 + ctx.fpr[24]; aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); @@ -3197,9 +3198,9 @@ L_08970FD4: goto L_08970FEC; } L_08970FEC: - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(60))); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(60))); aot_gpr_4 = (16448u << 16u); - aot_fpr_12 = ctx.fpr[15] + aot_fpr_12; + aot_fpr_12 = aot_fpr_15 + aot_fpr_12; ctx.fpr[16] = std::bit_cast(aot_gpr_4); { const bool branch_taken = 0u == 0u; aot_fpr_12 = aot_fpr_12 + ctx.fpr[16]; @@ -3209,18 +3210,18 @@ L_08970FEC: goto L_08971004; } L_08971004: - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(60))); - aot_fpr_12 = ctx.fpr[15] + aot_fpr_12; + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(60))); + aot_fpr_12 = aot_fpr_15 + aot_fpr_12; goto L_0897100C; L_0897100C: - ctx.fpr[15] = std::bit_cast(std::bit_cast(aot_fpr_12)); + aot_fpr_15 = std::bit_cast(std::bit_cast(aot_fpr_12)); aot_gpr_5 = (16025u << 16u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_14)); aot_gpr_5 = (aot_gpr_5 | 39322u); - aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[15])); + aot_fpr_14 = std::bit_cast(std::bit_cast(aot_fpr_15)); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0897102Cu); - ctx.fpr[15] = std::bit_cast(aot_gpr_5); + aot_fpr_15 = std::bit_cast(aot_gpr_5); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0090_entry, 90u, 814u, 0x0896F93Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897102Cu) goto L_0897102C; AOT_REGCACHE_SYNC_OUT(); return; L_0897102C: @@ -3277,7 +3278,7 @@ L_08971070: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(52))); aot_gpr_5 = (aot_gpr_5 | 39322u); ctx.gpr[17] = (ctx.gpr[2] | 0u); - ctx.fpr[15] = std::bit_cast(aot_gpr_5); + aot_fpr_15 = std::bit_cast(aot_gpr_5); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(60))); aot_gpr_31 = (0x08971094u); aot_gpr_4 = (aot_gpr_16 | 0u); @@ -3320,18 +3321,18 @@ L_089710B8: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_4 = (aot_gpr_29 + static_cast(80)); aot_gpr_31 = (0x089710D4u); - aot_fpr_20 = aot_fpr_12 - aot_fpr_13; + ctx.fpr[20] = aot_fpr_12 - aot_fpr_13; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 16u, 0x08960154u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089710D4u) goto L_089710D4; AOT_REGCACHE_SYNC_OUT(); return; L_089710D4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(108))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(80))); aot_gpr_4 = (aot_gpr_4 + static_cast(48)); - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_4 = (aot_gpr_29 + static_cast(96)); - aot_fpr_12 = aot_fpr_14 - ctx.fpr[15]; + aot_fpr_12 = aot_fpr_14 - aot_fpr_15; aot_gpr_31 = (0x089710F4u); - { const float fs = aot_fpr_20; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_20 = std::bit_cast(0x7FC00000u); else aot_fpr_20 = fs * ft; } + { const float fs = ctx.fpr[20]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[20] = std::bit_cast(0x7FC00000u); else ctx.fpr[20] = fs * ft; } if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 16u, 0x08960154u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089710F4u) goto L_089710F4; AOT_REGCACHE_SYNC_OUT(); return; L_089710F4: @@ -3351,7 +3352,7 @@ L_08971110: aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_fpr_12 = aot_fpr_12 - aot_fpr_14; { const float fs = ctx.fpr[22]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - aot_fpr_12 = aot_fpr_20 + aot_fpr_12; + aot_fpr_12 = ctx.fpr[20] + aot_fpr_12; aot_fpr_12 = std::sqrt(aot_fpr_12); { const bool branch_taken = 0u == 0u; // nop @@ -3491,7 +3492,7 @@ L_0897123C: L_08971244: aot_gpr_4 = (16025u << 16u); aot_gpr_4 = (aot_gpr_4 | 39322u); - ctx.fpr[15] = std::bit_cast(aot_gpr_4); + aot_fpr_15 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(119))); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -3503,7 +3504,7 @@ L_08971244: L_0897125C: aot_gpr_4 = (16153u << 16u); aot_gpr_4 = (aot_gpr_4 | 39322u); - ctx.fpr[15] = std::bit_cast(aot_gpr_4); + aot_fpr_15 = std::bit_cast(aot_gpr_4); goto L_08971268; L_08971268: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(44))); @@ -3570,8 +3571,8 @@ L_089712D0: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(88))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(36))); aot_fpr_14 = aot_fpr_14 - aot_fpr_13; - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); - { const float fs = aot_fpr_14; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); + { const float fs = aot_fpr_14; const float ft = aot_fpr_15; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } aot_gpr_4 = (14979u << 16u); aot_gpr_4 = (aot_gpr_4 | 4719u); ctx.fpr[16] = std::bit_cast(aot_gpr_4); @@ -3579,9 +3580,9 @@ L_089712D0: aot_fpr_12 = aot_fpr_12 + aot_fpr_14; aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(100), std::bit_cast(aot_fpr_12)); ctx.fpr[17] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(104))); - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); ctx.fpr[18] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(40))); - ctx.fpr[18] = ctx.fpr[18] - ctx.fpr[15]; + ctx.fpr[18] = ctx.fpr[18] - aot_fpr_15; ctx.fpr[19] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); { const float fs = ctx.fpr[18]; const float ft = ctx.fpr[19]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[18] = std::bit_cast(0x7FC00000u); else ctx.fpr[18] = fs * ft; } { const float fs = ctx.fpr[18]; const float ft = ctx.fpr[16]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } @@ -3610,7 +3611,7 @@ L_089712D0: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(88), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); { const float fs = aot_fpr_14; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - aot_fpr_12 = ctx.fpr[15] + aot_fpr_12; + aot_fpr_12 = aot_fpr_15 + aot_fpr_12; aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(92), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(44))); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(96), std::bit_cast(aot_fpr_12)); @@ -3655,8 +3656,8 @@ L_089713B4: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(20))); aot_gpr_5 = (aot_gpr_5 + static_cast(32)); - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(8))); - aot_fpr_14 = aot_fpr_14 - ctx.fpr[15]; + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(8))); + aot_fpr_14 = aot_fpr_14 - aot_fpr_15; { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_13), std::bit_cast(aot_fpr_14)}; aot_mem.aot_direct_store32_block(aot_gpr_4 + static_cast(48), aot_run_words); } aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(108))); @@ -3814,7 +3815,7 @@ L_08971508: } L_08971510: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); - aot_fpr_20 = std::bit_cast(0u); + ctx.fpr[20] = std::bit_cast(0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(76))); aot_gpr_6 = (16320u << 16u); aot_gpr_4 = (aot_gpr_4 & aot_gpr_6); @@ -3838,7 +3839,7 @@ L_08971540: aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(64))); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = aot_fpr_14 - aot_fpr_12; - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_20)) ? 0x00800000u : 0u); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[20])) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), std::bit_cast(aot_fpr_12)); @@ -3910,8 +3911,8 @@ L_089715DC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0090_entry, 90u, 856u, 0x0896FCF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089715F0u) goto L_089715F0; AOT_REGCACHE_SYNC_OUT(); return; L_089715F0: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(104), std::bit_cast(aot_fpr_20)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(100), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(104), std::bit_cast(ctx.fpr[20])); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(100), std::bit_cast(ctx.fpr[20])); goto L_089715F8; L_089715F8: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(64))); @@ -3958,7 +3959,7 @@ L_08971668: L_08971670: { std::uint32_t aot_run_words[11]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(228), aot_run_words); - aot_fpr_20 = std::bit_cast(aot_run_words[0]); + ctx.fpr[20] = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); aot_gpr_16 = aot_run_words[3]; @@ -4203,8 +4204,8 @@ L_08971844: AOT_REGCACHE_SYNC_OUT(); return; L_08971858: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), std::bit_cast(aot_fpr_20)); - aot_fpr_20 = std::bit_cast(std::bit_cast(ctx.fpr[16])); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), std::bit_cast(ctx.fpr[20])); + ctx.fpr[20] = std::bit_cast(std::bit_cast(ctx.fpr[16])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), std::bit_cast(ctx.fpr[22])); ctx.fpr[22] = std::bit_cast(std::bit_cast(ctx.fpr[17])); ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(48))); @@ -4228,7 +4229,7 @@ L_089718A4: ctx.fpr[2] = std::bit_cast(aot_gpr_6); aot_gpr_16 = (2247u << 16u); aot_gpr_6 = (50716u << 16u); - ctx.fpr[28] = ctx.fpr[15] + aot_fpr_14; + ctx.fpr[28] = aot_fpr_15 + aot_fpr_14; aot_gpr_6 = (aot_gpr_6 | 16384u); ctx.fpr[0] = std::bit_cast(aot_gpr_6); ctx.gpr[17] = (0u + static_cast(-1)); @@ -4282,7 +4283,7 @@ L_08971910: goto L_08971918; } L_08971918: - ctx.fpr[16] = std::bit_cast(std::bit_cast(aot_fpr_20)); + ctx.fpr[16] = std::bit_cast(std::bit_cast(ctx.fpr[20])); ctx.fpr[17] = std::bit_cast(std::bit_cast(ctx.fpr[22])); goto L_08971920; L_08971920: @@ -4353,7 +4354,7 @@ L_089719A4: L_089719B4: ctx.gpr[17] = (ctx.gpr[17] << 7u); ctx.gpr[18] = (ctx.gpr[17] + aot_gpr_16); - { const std::uint32_t aot_run_words[7]{std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_13), std::bit_cast(aot_fpr_14), std::bit_cast(ctx.fpr[15]), std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24])}; + { const std::uint32_t aot_run_words[7]{std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_13), std::bit_cast(aot_fpr_14), std::bit_cast(aot_fpr_15), std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24])}; aot_mem.aot_direct_store32_block(ctx.gpr[18] + static_cast(8), aot_run_words); } aot_gpr_6 = (0u | 1u); aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(116), static_cast(aot_gpr_6)); @@ -4444,7 +4445,7 @@ L_08971A54: AOT_REGCACHE_SYNC_OUT(); return; L_08971A80: aot_gpr_5 = (aot_gpr_16 + static_cast(44)); - aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); + aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_gpr_6 = (aot_gpr_16 + static_cast(52)); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[22])); ctx.gpr[7] = (aot_gpr_16 + static_cast(60)); @@ -4459,7 +4460,7 @@ L_08971A80: L_08971AAC: { std::uint32_t aot_run_words[9]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_fpr_20 = std::bit_cast(aot_run_words[0]); + ctx.fpr[20] = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); ctx.fpr[26] = std::bit_cast(aot_run_words[3]); @@ -4841,7 +4842,7 @@ L_08971DEC: L_08971E00: aot_gpr_31 = (0x08971E08u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08971E08u) goto L_08971E08; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08971E08u) goto L_08971E08; AOT_REGCACHE_SYNC_OUT(); return; L_08971E08: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), ctx.gpr[21]); @@ -5224,7 +5225,7 @@ L_08972104: L_0897210C: aot_gpr_31 = (0x08972114u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08972114u) goto L_08972114; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08972114u) goto L_08972114; AOT_REGCACHE_SYNC_OUT(); return; L_08972114: ctx.gpr[20] = (ctx.gpr[20] + static_cast(12)); @@ -5278,7 +5279,7 @@ L_08972148: L_08972150: aot_gpr_31 = (0x08972158u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08972158u) goto L_08972158; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08972158u) goto L_08972158; AOT_REGCACHE_SYNC_OUT(); return; L_08972158: ctx.gpr[19] = (ctx.gpr[19] + static_cast(12)); @@ -5315,7 +5316,7 @@ L_08972178: L_08972180: aot_gpr_31 = (0x08972188u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08972188u) goto L_08972188; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08972188u) goto L_08972188; AOT_REGCACHE_SYNC_OUT(); return; L_08972188: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -5337,7 +5338,7 @@ L_08972194: L_089721A0: aot_gpr_31 = (0x089721A8u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089721A8u) goto L_089721A8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089721A8u) goto L_089721A8; AOT_REGCACHE_SYNC_OUT(); return; L_089721A8: { std::uint32_t aot_run_words[10]{}; @@ -5509,7 +5510,7 @@ L_089722DC: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(3), static_cast(ctx.gpr[7])); aot_gpr_31 = (0x08972320u); aot_gpr_4 = (aot_gpr_29 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08972320u) goto L_08972320; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C4A8, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08972320u) goto L_08972320; AOT_REGCACHE_SYNC_OUT(); return; L_08972320: aot_gpr_31 = (0x08972328u); @@ -5616,7 +5617,7 @@ L_089723C4: L_089723D0: aot_gpr_31 = (0x089723D8u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089723D8u) goto L_089723D8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089723D8u) goto L_089723D8; AOT_REGCACHE_SYNC_OUT(); return; L_089723D8: aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); @@ -6067,7 +6068,7 @@ L_08972720: L_08972728: aot_gpr_31 = (0x08972730u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08972730u) goto L_08972730; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08972730u) goto L_08972730; AOT_REGCACHE_SYNC_OUT(); return; L_08972730: ctx.gpr[21] = (ctx.gpr[21] + static_cast(12)); @@ -6094,7 +6095,7 @@ L_08972740: L_08972748: aot_gpr_31 = (0x08972750u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08972750u) goto L_08972750; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08972750u) goto L_08972750; AOT_REGCACHE_SYNC_OUT(); return; L_08972750: aot_gpr_4 = (ctx.gpr[17] + ctx.gpr[17]); @@ -6180,7 +6181,7 @@ L_08972800: L_08972808: aot_gpr_31 = (0x08972810u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08972810u) goto L_08972810; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08972810u) goto L_08972810; AOT_REGCACHE_SYNC_OUT(); return; L_08972810: { const bool branch_taken = aot_gpr_16 == 0u; @@ -6220,7 +6221,7 @@ L_0897283C: L_08972848: aot_gpr_31 = (0x08972850u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08972850u) goto L_08972850; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08972850u) goto L_08972850; AOT_REGCACHE_SYNC_OUT(); return; L_08972850: aot_gpr_4 = (aot_gpr_29 | 0u); @@ -6247,7 +6248,7 @@ L_0897286C: L_08972878: aot_gpr_31 = (0x08972880u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08972880u) goto L_08972880; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08972880u) goto L_08972880; AOT_REGCACHE_SYNC_OUT(); return; L_08972880: { const bool branch_taken = ctx.gpr[30] == 0u; @@ -6363,7 +6364,7 @@ L_08972944: L_0897294C: aot_gpr_31 = (0x08972954u); aot_gpr_4 = (aot_gpr_5 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08972954u) goto L_08972954; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08972954u) goto L_08972954; AOT_REGCACHE_SYNC_OUT(); return; L_08972954: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(196))); @@ -6418,14 +6419,14 @@ L_0897299C: L_089729E4: aot_gpr_31 = (0x089729ECu); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(96))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089729ECu) goto L_089729EC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C498, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089729ECu) goto L_089729EC; AOT_REGCACHE_SYNC_OUT(); return; L_089729EC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(88))); ctx.gpr[17] = (0u | 1u); aot_gpr_31 = (0x089729FCu); aot_gpr_4 = (ctx.gpr[17] << (aot_gpr_4 & 31u)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089729FCu) goto L_089729FC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C604, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089729FCu) goto L_089729FC; AOT_REGCACHE_SYNC_OUT(); return; L_089729FC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(12))); @@ -6437,15 +6438,15 @@ L_089729FC: aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); ctx.gpr[18] = (aot_gpr_29 + static_cast(12)); - ctx.fpr[15] = std::bit_cast(aot_gpr_6); + aot_fpr_15 = std::bit_cast(aot_gpr_6); aot_fpr_13 = std::bit_cast(aot_gpr_4); - ctx.fpr[15] = static_cast(static_cast(std::bit_cast(ctx.fpr[15]))); + aot_fpr_15 = static_cast(static_cast(std::bit_cast(aot_fpr_15))); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_13))); aot_fpr_14 = aot_fpr_12 + aot_fpr_14; aot_gpr_31 = (0x08972A40u); - ctx.fpr[15] = aot_fpr_13 + ctx.fpr[15]; - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08972A40u) goto L_08972A40; + aot_fpr_15 = aot_fpr_13 + aot_fpr_15; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08873400, 27u, 732u, 0x08873400u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08972A40u) goto L_08972A40; AOT_REGCACHE_SYNC_OUT(); return; L_08972A40: aot_gpr_31 = (0x08972A48u); @@ -6465,7 +6466,7 @@ L_08972A48: aot_gpr_4 = (ctx.gpr[28] + static_cast(-17188)); aot_gpr_31 = (0x08972A78u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08972A78u) goto L_08972A78; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08972A78u) goto L_08972A78; AOT_REGCACHE_SYNC_OUT(); return; L_08972A78: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); @@ -6486,7 +6487,7 @@ L_08972A94: aot_gpr_4 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x08972AA8u); aot_gpr_6 = (ctx.gpr[7] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08972AA8u) goto L_08972AA8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58100, 213u, 23u, 0x08B58100u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08972AA8u) goto L_08972AA8; AOT_REGCACHE_SYNC_OUT(); return; L_08972AA8: { const bool branch_taken = ctx.gpr[2] != 0u; @@ -6537,7 +6538,7 @@ L_08972AD8: L_08972AE4: aot_gpr_31 = (0x08972AECu); aot_gpr_4 = (ctx.gpr[22] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08972AECu) goto L_08972AEC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08972AECu) goto L_08972AEC; AOT_REGCACHE_SYNC_OUT(); return; L_08972AEC: ctx.gpr[20] = (ctx.gpr[22] | 0u); @@ -6561,7 +6562,7 @@ L_08972B00: L_08972B0C: aot_gpr_31 = (0x08972B14u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-17216)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08972B14u) goto L_08972B14; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08972B14u) goto L_08972B14; AOT_REGCACHE_SYNC_OUT(); return; L_08972B14: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(64))); @@ -6618,7 +6619,7 @@ L_08972B6C: L_08972B78: aot_gpr_31 = (0x08972B80u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08972B80u) goto L_08972B80; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08972B80u) goto L_08972B80; AOT_REGCACHE_SYNC_OUT(); return; L_08972B80: ctx.gpr[20] = (ctx.gpr[17] | 0u); @@ -6656,7 +6657,7 @@ L_08972BB4: L_08972BBC: aot_gpr_31 = (0x08972BC4u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08972BC4u) goto L_08972BC4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08972BC4u) goto L_08972BC4; AOT_REGCACHE_SYNC_OUT(); return; L_08972BC4: { std::uint32_t aot_run_words[8]{}; @@ -7438,7 +7439,7 @@ L_0897314C: L_08973160: aot_gpr_31 = (0x08973168u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08973168u) goto L_08973168; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08973168u) goto L_08973168; AOT_REGCACHE_SYNC_OUT(); return; L_08973168: ctx.gpr[2] = (0u | 1u); @@ -7588,7 +7589,7 @@ L_08973274: L_08973288: aot_gpr_31 = (0x08973290u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08973290u) goto L_08973290; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08973290u) goto L_08973290; AOT_REGCACHE_SYNC_OUT(); return; L_08973290: aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -8443,7 +8444,7 @@ L_0897388C: ctx.gpr[18] = (aot_gpr_6 | 0u); ctx.gpr[19] = (ctx.gpr[7] | 0u); ctx.gpr[20] = (ctx.gpr[8] | 0u); - { const std::uint32_t aot_run_words[5]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28])}; + { const std::uint32_t aot_run_words[5]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(48), aot_run_words); } { const std::uint32_t aot_run_words[3]{ctx.gpr[21], ctx.gpr[22], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(88), aot_run_words); } @@ -8455,7 +8456,7 @@ L_0897388C: goto L_089738E0; } L_089738E0: - aot_fpr_20 = std::bit_cast(0u); + ctx.fpr[20] = std::bit_cast(0u); aot_gpr_31 = (0x089738ECu); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0092_entry, 92u, 18u, 0x0897414Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089738ECu) goto L_089738EC; @@ -8474,7 +8475,7 @@ L_089738F4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0092_entry, 92u, 16u, 0x0897413Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089738FCu) goto L_089738FC; AOT_REGCACHE_SYNC_OUT(); return; L_089738FC: - aot_fpr_20 = std::bit_cast(std::bit_cast(ctx.fpr[0])); + ctx.fpr[20] = std::bit_cast(std::bit_cast(ctx.fpr[0])); aot_gpr_31 = (0x08973908u); aot_gpr_4 = (aot_gpr_16 | 0u); goto L_0897385C; @@ -8488,7 +8489,7 @@ L_08973910: aot_gpr_4 = (aot_gpr_16 | 0u); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_gpr_31 = (0x08973924u); - { const float fs = aot_fpr_12; const float ft = aot_fpr_20; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_20 = std::bit_cast(0x7FC00000u); else aot_fpr_20 = fs * ft; } + { const float fs = aot_fpr_12; const float ft = ctx.fpr[20]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[20] = std::bit_cast(0x7FC00000u); else ctx.fpr[20] = fs * ft; } if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0092_entry, 92u, 16u, 0x0897413Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08973924u) goto L_08973924; AOT_REGCACHE_SYNC_OUT(); return; L_08973924: @@ -8498,13 +8499,13 @@ L_08973924: aot_gpr_4 = (16128u << 16u); aot_fpr_14 = std::bit_cast(aot_gpr_4); { const float fs = aot_fpr_13; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } - aot_fpr_20 = aot_fpr_20 - aot_fpr_13; - { const float fs = aot_fpr_20; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_20 = std::bit_cast(0x7FC00000u); else aot_fpr_20 = fs * ft; } + ctx.fpr[20] = ctx.fpr[20] - aot_fpr_13; + { const float fs = ctx.fpr[20]; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[20] = std::bit_cast(0x7FC00000u); else ctx.fpr[20] = fs * ft; } goto L_08973944; L_08973944: ctx.gpr[22] = (ctx.gpr[19] | 0u); aot_fpr_12 = std::bit_cast(ctx.gpr[18]); - ctx.fpr[24] = std::bit_cast(std::bit_cast(aot_fpr_20)); + ctx.fpr[24] = std::bit_cast(std::bit_cast(ctx.fpr[20])); ctx.gpr[19] = (aot_gpr_29 + static_cast(32)); ctx.fpr[28] = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_gpr_31 = (0x08973960u); @@ -8519,9 +8520,9 @@ L_08973960: aot_gpr_4 = (aot_gpr_16 | 0u); ctx.fpr[22] = static_cast(static_cast(std::bit_cast(ctx.fpr[22]))); { const float fs = aot_fpr_13; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - aot_fpr_20 = ctx.fpr[28] - aot_fpr_12; + ctx.fpr[20] = ctx.fpr[28] - aot_fpr_12; aot_gpr_31 = (0x08973988u); - aot_fpr_20 = aot_fpr_20 + ctx.fpr[24]; + ctx.fpr[20] = ctx.fpr[20] + ctx.fpr[24]; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0092_entry, 92u, 16u, 0x0897413Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08973988u) goto L_08973988; AOT_REGCACHE_SYNC_OUT(); return; L_08973988: @@ -8556,14 +8557,14 @@ L_089739CC: aot_fpr_13 = aot_fpr_13 + aot_fpr_14; goto L_089739D8; L_089739D8: - { const float fs = aot_fpr_13; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[15] = std::bit_cast(0x7FC00000u); else ctx.fpr[15] = fs * ft; } + { const float fs = aot_fpr_13; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_15 = std::bit_cast(0x7FC00000u); else aot_fpr_15 = fs * ft; } aot_gpr_4 = (ctx.gpr[19] | 0u); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[24])); - aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); + aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[22])); aot_gpr_31 = (0x089739F4u); - ctx.fpr[15] = ctx.fpr[26] + ctx.fpr[15]; - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089739F4u) goto L_089739F4; + aot_fpr_15 = ctx.fpr[26] + aot_fpr_15; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08873400, 27u, 732u, 0x08873400u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089739F4u) goto L_089739F4; AOT_REGCACHE_SYNC_OUT(); return; L_089739F4: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(32))); @@ -8881,7 +8882,7 @@ L_08973C38: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0092_entry, 92u, 16u, 0x0897413Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08973C40u) goto L_08973C40; AOT_REGCACHE_SYNC_OUT(); return; L_08973C40: - aot_fpr_20 = std::bit_cast(std::bit_cast(ctx.fpr[0])); + ctx.fpr[20] = std::bit_cast(std::bit_cast(ctx.fpr[0])); aot_gpr_31 = (0x08973C4Cu); aot_gpr_4 = (aot_gpr_16 | 0u); goto L_0897385C; @@ -8893,7 +8894,7 @@ L_08973C4C: L_08973C54: aot_fpr_12 = std::bit_cast(ctx.gpr[2]); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); - { const float fs = aot_fpr_12; const float ft = aot_fpr_20; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } + { const float fs = aot_fpr_12; const float ft = ctx.fpr[20]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<3u>(aot_fpr_12)); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); @@ -8915,7 +8916,7 @@ L_08973C88: L_08973C8C: { std::uint32_t aot_run_words[13]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(48), aot_run_words); - aot_fpr_20 = std::bit_cast(aot_run_words[0]); + ctx.fpr[20] = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); ctx.fpr[26] = std::bit_cast(aot_run_words[3]); diff --git a/profiles/vcs/generated/generated_unit_0092.cpp b/profiles/vcs/generated/generated_unit_0092.cpp index ca0f029..01440ca 100644 --- a/profiles/vcs/generated/generated_unit_0092.cpp +++ b/profiles/vcs/generated/generated_unit_0092.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include "vcs_config.hpp" #include #include @@ -147,20 +148,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0092[4093] = { }; void recomp_unit_0092_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,29,5,31,16,17 fprs=12,13,20,22 gpr_occ=3521 fpr_occ=976 gpr_total=5189 fpr_total=1211 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,29,31,5,6,16 fprs=12,13,20,22 gpr_occ=3709 fpr_occ=977 gpr_total=5548 fpr_total=1212 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; - std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; + std::uint32_t aot_gpr_5 = ctx.gpr[5]; + std::uint32_t aot_gpr_6 = ctx.gpr[6]; std::uint32_t aot_gpr_16 = ctx.gpr[16]; - std::uint32_t aot_gpr_17 = ctx.gpr[17]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_20 = ctx.fpr[20]; float aot_fpr_22 = ctx.fpr[22]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[29] = aot_gpr_29; ctx.gpr[5] = aot_gpr_5; ctx.gpr[31] = aot_gpr_31; ctx.gpr[16] = aot_gpr_16; ctx.gpr[17] = aot_gpr_17; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; ctx.fpr[22] = aot_fpr_22; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_17 = ctx.gpr[17]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_22 = ctx.fpr[22]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[29] = aot_gpr_29; ctx.gpr[31] = aot_gpr_31; ctx.gpr[5] = aot_gpr_5; ctx.gpr[6] = aot_gpr_6; ctx.gpr[16] = aot_gpr_16; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; ctx.fpr[22] = aot_fpr_22; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_16 = ctx.gpr[16]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_22 = ctx.fpr[22]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -967,10 +968,10 @@ LOCAL_DISPATCH: L_08974000: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(3))); aot_gpr_5 = (0u | 237u); - ctx.gpr[6] = (0u | 130u); + aot_gpr_6 = (0u | 130u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(24), static_cast(aot_gpr_5)); aot_gpr_5 = (0u | 180u); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(25), static_cast(ctx.gpr[6])); + aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(25), static_cast(aot_gpr_6)); aot_gpr_4 = (aot_gpr_4 & 255u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(26), static_cast(aot_gpr_5)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(27), static_cast(aot_gpr_4)); @@ -993,10 +994,10 @@ L_08974038: L_08974040: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(3))); aot_gpr_5 = (0u | 151u); - ctx.gpr[6] = (0u | 82u); + aot_gpr_6 = (0u | 82u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(28), static_cast(aot_gpr_5)); aot_gpr_5 = (0u | 197u); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(29), static_cast(ctx.gpr[6])); + aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(29), static_cast(aot_gpr_6)); aot_gpr_4 = (aot_gpr_4 & 255u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(30), static_cast(aot_gpr_5)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(31), static_cast(aot_gpr_4)); @@ -1019,10 +1020,10 @@ L_08974078: L_08974080: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(3))); aot_gpr_5 = (0u | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(32), static_cast(aot_gpr_5)); aot_gpr_5 = (0u | 0u); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(33), static_cast(ctx.gpr[6])); + aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(33), static_cast(aot_gpr_6)); aot_gpr_4 = (aot_gpr_4 & 255u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(34), static_cast(aot_gpr_5)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(35), static_cast(aot_gpr_4)); @@ -1045,11 +1046,11 @@ L_089740B8: L_089740C0: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(3))); aot_gpr_5 = (0u | 30u); - ctx.gpr[6] = (0u | 255u); + aot_gpr_6 = (0u | 255u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(36), static_cast(aot_gpr_5)); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(37), static_cast(ctx.gpr[6])); + aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(37), static_cast(aot_gpr_6)); aot_gpr_4 = (aot_gpr_4 & 255u); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(38), static_cast(ctx.gpr[6])); + aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(38), static_cast(aot_gpr_6)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(39), static_cast(aot_gpr_4)); aot_gpr_5 = (aot_gpr_29 + static_cast(36)); aot_gpr_31 = (0x089740ECu); @@ -1073,11 +1074,11 @@ L_089740F4: ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08974104: - ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0))); + aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0))); ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(1))); aot_gpr_4 = (aot_gpr_4 + static_cast(28)); ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(2))); - aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(ctx.gpr[6])); + aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_6)); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(3))); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(1), static_cast(ctx.gpr[7])); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(2), static_cast(ctx.gpr[8])); @@ -1139,18 +1140,18 @@ L_0897415C: L_08974164: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[19]); ctx.gpr[19] = (0u | 0u); aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_17 = (aot_gpr_5 | 0u); + ctx.gpr[17] = (aot_gpr_5 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), std::bit_cast(aot_fpr_20)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), std::bit_cast(aot_fpr_22)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[18]); { const std::uint32_t aot_run_words[3]{ctx.gpr[20], ctx.gpr[21], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(24), aot_run_words); } - { const bool branch_taken = ctx.gpr[6] == 0u; - ctx.gpr[18] = (ctx.gpr[6] | 0u); + { const bool branch_taken = aot_gpr_6 == 0u; + ctx.gpr[18] = (aot_gpr_6 | 0u); if (branch_taken) { goto L_089741A4; } @@ -1161,7 +1162,7 @@ L_089741A0: goto L_089741A4; L_089741A4: ctx.gpr[20] = (0u | 32u); - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(0))); goto L_089741AC; L_089741AC: { const bool branch_taken = aot_gpr_4 == 0u; @@ -1182,7 +1183,7 @@ L_089741B4: L_089741BC: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x089741C8u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0091_entry, 91u, 813u, 0x08973E10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089741C8u) goto L_089741C8; AOT_REGCACHE_SYNC_OUT(); return; L_089741C8: @@ -1199,7 +1200,7 @@ L_089741D8: aot_gpr_4 = (ctx.gpr[21] + static_cast(-89)); aot_gpr_5 = (aot_gpr_4 < static_cast(33) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(6)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(6)); if (branch_taken) { goto L_08974230; } @@ -1362,7 +1363,7 @@ L_089742F8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0091_entry, 91u, 742u, 0x0897385Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08974300u) goto L_08974300; AOT_REGCACHE_SYNC_OUT(); return; L_08974300: - aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(0))); + aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(0))); aot_gpr_31 = (0x0897430Cu); aot_gpr_4 = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 264u, 0x08AFD788u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897430Cu) goto L_0897430C; @@ -1440,7 +1441,7 @@ L_08974380: goto L_089743A8; L_089743A8: { const bool branch_taken = ctx.gpr[18] == 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(2)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(2)); if (branch_taken) { goto L_089743BC; } @@ -1453,7 +1454,7 @@ L_089743B0: goto L_089743BC; L_089743BC: { const bool branch_taken = 0u == 0u; - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(0))); if (branch_taken) { goto L_089741AC; } @@ -1468,7 +1469,7 @@ L_089743C8: aot_fpr_20 = std::bit_cast(aot_run_words[0]); aot_fpr_22 = std::bit_cast(aot_run_words[1]); aot_gpr_16 = aot_run_words[2]; - aot_gpr_17 = aot_run_words[3]; + ctx.gpr[17] = aot_run_words[3]; ctx.gpr[18] = aot_run_words[4]; ctx.gpr[19] = aot_run_words[5]; ctx.gpr[20] = aot_run_words[6]; @@ -1483,7 +1484,7 @@ L_089743C8: AOT_REGCACHE_SYNC_OUT(); return; L_089743F4: aot_gpr_29 = (aot_gpr_29 + static_cast(-64)); - { const std::uint32_t aot_run_words[5]{aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21]}; + { const std::uint32_t aot_run_words[5]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(20), aot_run_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), ctx.gpr[23]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), ctx.gpr[30]); @@ -1492,14 +1493,14 @@ L_089743F4: ctx.gpr[19] = (0u | 0u); ctx.gpr[21] = (0u | 32u); ctx.gpr[18] = (aot_gpr_4 | 0u); - aot_gpr_17 = (aot_gpr_5 | 0u); - ctx.gpr[20] = (ctx.gpr[6] | 0u); + ctx.gpr[17] = (aot_gpr_5 | 0u); + ctx.gpr[20] = (aot_gpr_6 | 0u); ctx.gpr[30] = (ctx.gpr[8] | 0u); { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_22), aot_gpr_16}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(8), aot_run_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), ctx.gpr[22]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), aot_gpr_31); - { const bool branch_taken = ctx.gpr[6] == 0u; + { const bool branch_taken = aot_gpr_6 == 0u; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[7]); if (branch_taken) { goto L_08974454; @@ -1510,7 +1511,7 @@ L_08974450: aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(0), 0u); goto L_08974454; L_08974454: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(0))); { const bool branch_taken = aot_gpr_4 == 0u; ctx.gpr[22] = (0u | 110u); if (branch_taken) { @@ -1520,9 +1521,9 @@ L_08974454: } L_08974460: aot_gpr_4 = (ctx.gpr[18] | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08974470u); - ctx.gpr[6] = (aot_gpr_29 | 0u); + aot_gpr_6 = (aot_gpr_29 | 0u); goto L_08974164; L_08974470: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -1534,11 +1535,11 @@ L_08974470: goto L_0897447C; } L_0897447C: - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[30] + static_cast(8))); - ctx.gpr[6] = (ctx.gpr[19] + ctx.gpr[6]); - ctx.gpr[6] = (ctx.gpr[6] + aot_gpr_5); - aot_fpr_12 = std::bit_cast(ctx.gpr[6]); + aot_gpr_6 = (ctx.gpr[19] + aot_gpr_6); + aot_gpr_6 = (aot_gpr_6 + aot_gpr_5); + aot_fpr_12 = std::bit_cast(aot_gpr_6); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); // nop @@ -1587,22 +1588,22 @@ L_089744C8: goto L_089744D0; } L_089744D0: - ctx.gpr[6] = (aot_gpr_4 + aot_gpr_4); + aot_gpr_6 = (aot_gpr_4 + aot_gpr_4); { const bool branch_taken = ctx.gpr[20] == 0u; - aot_gpr_17 = (aot_gpr_17 + ctx.gpr[6]); + ctx.gpr[17] = (ctx.gpr[17] + aot_gpr_6); if (branch_taken) { goto L_089744E8; } goto L_089744DC; } L_089744DC: - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(0))); - aot_gpr_4 = (ctx.gpr[6] + aot_gpr_4); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(0))); + aot_gpr_4 = (aot_gpr_6 + aot_gpr_4); aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(0), aot_gpr_4); goto L_089744E8; L_089744E8: ctx.gpr[19] = (ctx.gpr[19] + aot_gpr_5); - aot_gpr_5 = (aot_gpr_17 + static_cast(-6)); + aot_gpr_5 = (ctx.gpr[17] + static_cast(-6)); aot_gpr_31 = (0x089744F8u); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0091_entry, 91u, 813u, 0x08973E10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089744F8u) goto L_089744F8; @@ -1624,7 +1625,7 @@ L_08974500: goto L_08974508; } L_08974508: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(0))); { const bool branch_taken = aot_gpr_4 != ctx.gpr[21]; // nop if (branch_taken) { @@ -1638,7 +1639,7 @@ L_08974514: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0091_entry, 91u, 742u, 0x0897385Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897451Cu) goto L_0897451C; AOT_REGCACHE_SYNC_OUT(); return; L_0897451C: - aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(0))); + aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(0))); aot_gpr_31 = (0x08974528u); aot_gpr_4 = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 264u, 0x08AFD788u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08974528u) goto L_08974528; @@ -1716,7 +1717,7 @@ L_0897459C: goto L_089745C4; L_089745C4: { const bool branch_taken = ctx.gpr[20] == 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(2)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(2)); if (branch_taken) { goto L_089745D8; } @@ -1728,7 +1729,7 @@ L_089745CC: aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(0), aot_gpr_4); goto L_089745D8; L_089745D8: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(0))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -1737,8 +1738,8 @@ L_089745D8: goto L_089745E4; } L_089745E4: - aot_gpr_17 = (aot_gpr_17 + static_cast(-2)); - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(0))); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(-2)); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(0))); { const bool branch_taken = aot_gpr_4 != ctx.gpr[21]; // nop if (branch_taken) { @@ -1752,7 +1753,7 @@ L_089745F4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0091_entry, 91u, 742u, 0x0897385Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089745FCu) goto L_089745FC; AOT_REGCACHE_SYNC_OUT(); return; L_089745FC: - aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(0))); + aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(0))); aot_gpr_31 = (0x08974608u); aot_gpr_4 = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 264u, 0x08AFD788u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08974608u) goto L_08974608; @@ -1829,8 +1830,8 @@ L_0897467C: ctx.gpr[19] = (std::bit_cast(aot_fpr_12)); goto L_089746A4; L_089746A4: - aot_gpr_17 = (aot_gpr_17 + static_cast(-2)); - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(0))); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(-2)); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(0))); { const bool branch_taken = aot_gpr_4 == ctx.gpr[21]; // nop if (branch_taken) { @@ -1845,7 +1846,7 @@ L_089746B4: aot_fpr_20 = std::bit_cast(aot_run_words[0]); aot_fpr_22 = std::bit_cast(aot_run_words[1]); aot_gpr_16 = aot_run_words[2]; - aot_gpr_17 = aot_run_words[3]; + ctx.gpr[17] = aot_run_words[3]; ctx.gpr[18] = aot_run_words[4]; ctx.gpr[19] = aot_run_words[5]; ctx.gpr[20] = aot_run_words[6]; @@ -1870,13 +1871,13 @@ L_089746F0: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), ctx.gpr[18]); ctx.gpr[8] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0))); ctx.gpr[18] = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), ctx.gpr[20]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), ctx.gpr[21]); ctx.gpr[21] = (0u | 0u); - ctx.gpr[20] = (ctx.gpr[6] | 0u); - aot_gpr_17 = (aot_gpr_5 | 0u); - aot_gpr_4 = (ctx.gpr[6] | 0u); + ctx.gpr[20] = (aot_gpr_6 | 0u); + ctx.gpr[17] = (aot_gpr_5 | 0u); + aot_gpr_4 = (aot_gpr_6 | 0u); { const std::uint32_t aot_run_words[4]{std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_22), std::bit_cast(ctx.fpr[24]), aot_gpr_16}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(8), aot_run_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), ctx.gpr[19]); @@ -1896,8 +1897,8 @@ L_0897474C: L_08974758: ctx.gpr[7] = (aot_gpr_4 | 0u); aot_gpr_4 = (ctx.gpr[18] | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[6] = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_6 = (aot_gpr_29 | 0u); ctx.gpr[8] = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08974774u); ctx.gpr[9] = (ctx.gpr[22] | 0u); @@ -1922,7 +1923,7 @@ L_08974784: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); ctx.gpr[21] = (ctx.gpr[21] + static_cast(1)); aot_gpr_4 = (aot_gpr_4 + aot_gpr_4); - aot_gpr_17 = (aot_gpr_17 + aot_gpr_4); + ctx.gpr[17] = (ctx.gpr[17] + aot_gpr_4); aot_gpr_31 = (0x0897479Cu); aot_gpr_4 = (ctx.gpr[18] | 0u); goto L_0897415C; @@ -1937,7 +1938,7 @@ L_0897479C: } L_089747A8: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(0))); + aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(0))); aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); { const bool branch_taken = 0u == 0u; aot_gpr_4 = (std::bit_cast(aot_fpr_12)); @@ -1965,8 +1966,8 @@ L_089747D0: aot_fpr_13 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_22)); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_fpr_12 = aot_fpr_12 - aot_fpr_22; - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[6] = (ctx.gpr[19] | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_6 = (ctx.gpr[19] | 0u); ctx.gpr[8] = (aot_gpr_16 | 0u); ctx.gpr[7] = (std::bit_cast(aot_fpr_13)); ctx.gpr[9] = (ctx.gpr[22] | 0u); @@ -1980,7 +1981,7 @@ L_08974800: aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 1u)); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_13))); - aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(0))); + aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(0))); aot_fpr_12 = ctx.fpr[24] - aot_fpr_12; aot_fpr_12 = aot_fpr_22 + aot_fpr_12; aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); @@ -2009,8 +2010,8 @@ L_08974844: aot_fpr_22 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); aot_gpr_4 = (ctx.gpr[18] | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[6] = (ctx.gpr[19] | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_6 = (ctx.gpr[19] | 0u); ctx.gpr[8] = (aot_gpr_16 | 0u); ctx.gpr[7] = (std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x0897486Cu); @@ -2019,7 +2020,7 @@ L_08974844: L_0897486C: aot_fpr_13 = std::bit_cast(ctx.gpr[2]); aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_13))); - aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(0))); + aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(0))); aot_fpr_13 = aot_fpr_22 - aot_fpr_13; aot_fpr_13 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_13)); { const bool branch_taken = 0u == 0u; @@ -2031,7 +2032,7 @@ L_0897486C: } L_08974888: aot_gpr_4 = (ctx.gpr[20] | 0u); - aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(0))); + aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(0))); goto L_08974890; L_08974890: { const bool branch_taken = aot_gpr_5 != 0u; @@ -2049,7 +2050,7 @@ L_08974898: aot_fpr_22 = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); aot_gpr_16 = aot_run_words[3]; - aot_gpr_17 = aot_run_words[4]; + ctx.gpr[17] = aot_run_words[4]; ctx.gpr[18] = aot_run_words[5]; ctx.gpr[19] = aot_run_words[6]; ctx.gpr[20] = aot_run_words[7]; @@ -2072,12 +2073,12 @@ L_089748D0: AOT_REGCACHE_SYNC_OUT(); return; L_089748D8: aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(59), static_cast(aot_gpr_5)); - aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[6] + static_cast(0))); - ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[6] + static_cast(1))); + aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_6 + static_cast(0))); + ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_6 + static_cast(1))); aot_gpr_4 = (aot_gpr_4 + static_cast(60)); - ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[6] + static_cast(2))); + ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_6 + static_cast(2))); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_5)); - aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[6] + static_cast(3))); + aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_6 + static_cast(3))); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(1), static_cast(ctx.gpr[7])); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(2), static_cast(ctx.gpr[8])); jump_target = aot_gpr_31; @@ -2102,12 +2103,12 @@ L_0897490C: AOT_REGCACHE_SYNC_OUT(); return; L_08974914: aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(64), static_cast(aot_gpr_5)); - aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[6] + static_cast(0))); - ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[6] + static_cast(1))); + aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_6 + static_cast(0))); + ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_6 + static_cast(1))); aot_gpr_4 = (aot_gpr_4 + static_cast(65)); - ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[6] + static_cast(2))); + ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_6 + static_cast(2))); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_5)); - aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[6] + static_cast(3))); + aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_6 + static_cast(3))); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(1), static_cast(ctx.gpr[7])); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(2), static_cast(ctx.gpr[8])); jump_target = aot_gpr_31; @@ -2146,8 +2147,8 @@ L_08974958: AOT_REGCACHE_SYNC_OUT(); return; L_08974960: aot_gpr_29 = (aot_gpr_29 + static_cast(-80)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), aot_gpr_17); - aot_gpr_17 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_4 | 0u); aot_gpr_4 = (ctx.gpr[11] & 255u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), ctx.gpr[18]); @@ -2159,7 +2160,7 @@ L_08974960: ctx.gpr[18] = (ctx.gpr[9] | 0u); ctx.gpr[30] = (ctx.gpr[8] | 0u); ctx.gpr[21] = (ctx.gpr[7] | 0u); - aot_gpr_16 = (ctx.gpr[6] | 0u); + aot_gpr_16 = (aot_gpr_6 | 0u); ctx.gpr[20] = (aot_gpr_5 | 0u); ctx.gpr[23] = (ctx.gpr[10] & 255u); { const std::uint32_t aot_run_words[4]{std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_22), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26])}; @@ -2168,12 +2169,12 @@ L_08974960: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), ctx.gpr[22]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), aot_gpr_31); aot_gpr_31 = (0x089749C8u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); goto L_08974958; L_089749C8: ctx.gpr[19] = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x089749D4u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); goto L_08974940; L_089749D4: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -2185,19 +2186,19 @@ L_089749D4: } L_089749DC: aot_gpr_31 = (0x089749E4u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); goto L_08974948; L_089749E4: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); - ctx.gpr[6] = (ctx.gpr[19] | 0u); + aot_gpr_6 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x089749F8u); ctx.gpr[7] = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0175_entry, 175u, 621u, 0x08AC2974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089749F8u) goto L_089749F8; AOT_REGCACHE_SYNC_OUT(); return; L_089749F8: aot_gpr_31 = (0x08974A00u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); goto L_08974904; L_08974A00: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -2209,29 +2210,29 @@ L_08974A00: } L_08974A08: aot_gpr_31 = (0x08974A10u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); goto L_0897490C; L_08974A10: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); - ctx.gpr[6] = (ctx.gpr[19] | 0u); + aot_gpr_6 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08974A24u); ctx.gpr[7] = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0175_entry, 175u, 625u, 0x08AC29F8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08974A24u) goto L_08974A24; AOT_REGCACHE_SYNC_OUT(); return; L_08974A24: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08974A30u); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0175_entry, 175u, 587u, 0x08AC25E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08974A30u) goto L_08974A30; AOT_REGCACHE_SYNC_OUT(); return; L_08974A30: aot_gpr_31 = (0x08974A38u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0175_entry, 175u, 572u, 0x08AC24F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08974A38u) goto L_08974A38; AOT_REGCACHE_SYNC_OUT(); return; L_08974A38: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08974A44u); aot_gpr_5 = (ctx.gpr[30] | 0u); goto L_08974104; @@ -2239,7 +2240,7 @@ L_08974A44: ctx.gpr[30] = (aot_gpr_16 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); aot_gpr_31 = (0x08974A54u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); goto L_0897415C; L_08974A54: aot_gpr_4 = (ctx.gpr[2] & 1u); @@ -2262,7 +2263,7 @@ L_08974A60: } L_08974A70: aot_gpr_31 = (0x08974A78u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); goto L_0897415C; L_08974A78: aot_gpr_4 = (ctx.gpr[2] & 2u); @@ -2281,8 +2282,8 @@ L_08974A84: aot_fpr_12 = aot_fpr_12 - aot_fpr_20; aot_gpr_5 = (ctx.gpr[20] | 0u); ctx.fpr[14] = std::bit_cast(aot_gpr_4); - ctx.gpr[6] = (aot_gpr_29 | 0u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_6 = (aot_gpr_29 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); ctx.gpr[7] = (std::bit_cast(aot_fpr_13)); ctx.gpr[8] = (ctx.gpr[18] | 0u); { const float fs = aot_fpr_12; const float ft = ctx.fpr[14]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_22 = std::bit_cast(0x7FC00000u); else aot_fpr_22 = fs * ft; } @@ -2308,7 +2309,7 @@ L_08974ABC: } L_08974AE8: aot_gpr_31 = (0x08974AF0u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); goto L_0897415C; L_08974AF0: aot_gpr_4 = (ctx.gpr[2] & 4u); @@ -2323,9 +2324,9 @@ L_08974AFC: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[20] | 0u); - ctx.gpr[6] = (aot_gpr_29 | 0u); + aot_gpr_6 = (aot_gpr_29 | 0u); ctx.gpr[8] = (ctx.gpr[18] | 0u); ctx.gpr[7] = (std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08974B24u); @@ -2347,9 +2348,9 @@ L_08974B3C: ctx.gpr[19] = (ctx.gpr[30] | 0u); goto L_08974B40; L_08974B40: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[20] | 0u); - ctx.gpr[6] = (ctx.gpr[19] | 0u); + aot_gpr_6 = (ctx.gpr[19] | 0u); ctx.gpr[7] = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08974B58u); ctx.gpr[8] = (ctx.gpr[23] | 0u); @@ -2357,7 +2358,7 @@ L_08974B40: L_08974B58: aot_gpr_16 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08974B64u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); goto L_0897415C; L_08974B64: aot_gpr_4 = (ctx.gpr[2] & 8u); @@ -2380,7 +2381,7 @@ L_08974B70: } L_08974B80: aot_gpr_31 = (0x08974B88u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); goto L_0897415C; L_08974B88: aot_gpr_4 = (ctx.gpr[2] & 16u); @@ -2397,14 +2398,14 @@ L_08974B94: aot_gpr_4 = (16128u << 16u); aot_fpr_12 = aot_fpr_12 - aot_fpr_20; aot_fpr_22 = std::bit_cast(aot_gpr_4); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08974BB4u); { const float fs = aot_fpr_12; const float ft = aot_fpr_22; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[24] = std::bit_cast(0x7FC00000u); else ctx.fpr[24] = fs * ft; } goto L_0897413C; L_08974BB4: ctx.fpr[26] = std::bit_cast(std::bit_cast(ctx.fpr[0])); aot_gpr_31 = (0x08974BC0u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0091_entry, 91u, 742u, 0x0897385Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08974BC0u) goto L_08974BC0; AOT_REGCACHE_SYNC_OUT(); return; L_08974BC0: @@ -2436,7 +2437,7 @@ L_08974BC8: } L_08974C08: aot_gpr_31 = (0x08974C10u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); goto L_0897415C; L_08974C10: aot_gpr_4 = (ctx.gpr[2] & 32u); @@ -2450,12 +2451,12 @@ L_08974C10: L_08974C1C: aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); aot_gpr_31 = (0x08974C28u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); goto L_0897413C; L_08974C28: aot_fpr_22 = std::bit_cast(std::bit_cast(ctx.fpr[0])); aot_gpr_31 = (0x08974C34u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0091_entry, 91u, 742u, 0x0897385Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08974C34u) goto L_08974C34; AOT_REGCACHE_SYNC_OUT(); return; L_08974C34: @@ -2492,7 +2493,7 @@ L_08974C7C: goto L_08974C80; L_08974C80: ctx.gpr[22] = (0u | 0u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08974C90u); aot_gpr_5 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0091_entry, 91u, 813u, 0x08973E10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08974C90u) goto L_08974C90; @@ -2538,7 +2539,7 @@ L_08974CC8: goto L_08974CD4; } L_08974CD4: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08974CE0u); aot_gpr_5 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0091_entry, 91u, 818u, 0x08973E44u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08974CE0u) goto L_08974CE0; @@ -2553,7 +2554,7 @@ L_08974CE0: } L_08974CE8: aot_gpr_31 = (0x08974CF0u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); goto L_0897415C; L_08974CF0: aot_fpr_22 = std::bit_cast(ctx.gpr[21]); @@ -2577,7 +2578,7 @@ L_08974D00: } L_08974D10: aot_gpr_31 = (0x08974D18u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); goto L_0897415C; L_08974D18: aot_gpr_4 = (ctx.gpr[2] & 2u); @@ -2592,10 +2593,10 @@ L_08974D24: ctx.fpr[24] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); aot_fpr_13 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[24])); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_fpr_12 = aot_fpr_12 - ctx.fpr[24]; aot_gpr_5 = (ctx.gpr[20] | 0u); - ctx.gpr[6] = (aot_gpr_29 | 0u); + aot_gpr_6 = (aot_gpr_29 | 0u); ctx.gpr[8] = (ctx.gpr[18] | 0u); ctx.gpr[7] = (std::bit_cast(aot_fpr_13)); ctx.gpr[9] = (ctx.gpr[23] | 0u); @@ -2621,7 +2622,7 @@ L_08974D54: } L_08974D80: aot_gpr_31 = (0x08974D88u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); goto L_0897415C; L_08974D88: aot_gpr_4 = (ctx.gpr[2] & 4u); @@ -2636,9 +2637,9 @@ L_08974D94: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); ctx.fpr[24] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[20] | 0u); - ctx.gpr[6] = (aot_gpr_29 | 0u); + aot_gpr_6 = (aot_gpr_29 | 0u); ctx.gpr[8] = (ctx.gpr[18] | 0u); ctx.gpr[7] = (std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08974DBCu); @@ -2661,12 +2662,12 @@ L_08974DD4: goto L_08974DD8; L_08974DD8: aot_gpr_31 = (0x08974DE0u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); goto L_0897413C; L_08974DE0: ctx.fpr[24] = std::bit_cast(std::bit_cast(ctx.fpr[0])); aot_gpr_31 = (0x08974DECu); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0091_entry, 91u, 742u, 0x0897385Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08974DECu) goto L_08974DEC; AOT_REGCACHE_SYNC_OUT(); return; L_08974DEC: @@ -2693,7 +2694,7 @@ L_08974DF4: } L_08974E20: aot_gpr_31 = (0x08974E28u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0091_entry, 91u, 742u, 0x0897385Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08974E28u) goto L_08974E28; AOT_REGCACHE_SYNC_OUT(); return; L_08974E28: @@ -2712,7 +2713,7 @@ L_08974E34: } L_08974E3C: aot_gpr_31 = (0x08974E44u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); goto L_0897412C; L_08974E44: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(3))); @@ -2722,10 +2723,10 @@ L_08974E44: aot_gpr_4 = (aot_gpr_4 & 255u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(6), static_cast(aot_gpr_5)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(7), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (aot_gpr_16 | 0u); ctx.gpr[8] = (aot_gpr_29 + static_cast(4)); - ctx.gpr[6] = (ctx.gpr[19] | 0u); + aot_gpr_6 = (ctx.gpr[19] | 0u); ctx.gpr[7] = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x08974E7Cu); ctx.gpr[9] = (ctx.gpr[18] | 0u); @@ -2745,12 +2746,12 @@ L_08974E80: L_08974E88: aot_gpr_16 = (aot_mem.aot_direct_load16(ctx.gpr[20] + static_cast(0))); aot_gpr_31 = (0x08974E94u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); goto L_0897412C; L_08974E94: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (ctx.gpr[19] | 0u); + aot_gpr_6 = (ctx.gpr[19] | 0u); ctx.gpr[7] = (ctx.gpr[21] | 0u); ctx.gpr[8] = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08974EB0u); @@ -2781,10 +2782,10 @@ L_08974ECC: goto L_08974ED4; } L_08974ED4: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08974EE4u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); goto L_08974164; L_08974EE4: aot_gpr_4 = (ctx.gpr[19] + ctx.gpr[2]); @@ -2802,7 +2803,7 @@ L_08974EE4: } L_08974F04: aot_gpr_31 = (0x08974F0Cu); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); goto L_0897415C; L_08974F0C: aot_fpr_22 = std::bit_cast(ctx.gpr[21]); @@ -2826,7 +2827,7 @@ L_08974F1C: } L_08974F2C: aot_gpr_31 = (0x08974F34u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); goto L_0897415C; L_08974F34: aot_gpr_4 = (ctx.gpr[2] & 2u); @@ -2841,10 +2842,10 @@ L_08974F40: ctx.fpr[24] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); aot_fpr_13 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[24])); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_fpr_12 = aot_fpr_12 - ctx.fpr[24]; aot_gpr_5 = (ctx.gpr[20] | 0u); - ctx.gpr[6] = (aot_gpr_29 | 0u); + aot_gpr_6 = (aot_gpr_29 | 0u); ctx.gpr[8] = (ctx.gpr[18] | 0u); ctx.gpr[7] = (std::bit_cast(aot_fpr_13)); ctx.gpr[9] = (ctx.gpr[23] | 0u); @@ -2870,7 +2871,7 @@ L_08974F70: } L_08974F9C: aot_gpr_31 = (0x08974FA4u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); goto L_0897415C; L_08974FA4: aot_gpr_4 = (ctx.gpr[2] & 4u); @@ -2885,9 +2886,9 @@ L_08974FB0: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); ctx.fpr[24] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[20] | 0u); - ctx.gpr[6] = (aot_gpr_29 | 0u); + aot_gpr_6 = (aot_gpr_29 | 0u); ctx.gpr[8] = (ctx.gpr[18] | 0u); ctx.gpr[7] = (std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08974FD8u); @@ -2910,12 +2911,12 @@ L_08974FF0: goto L_08974FF4; L_08974FF4: aot_gpr_31 = (0x08974FFCu); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); goto L_0897413C; L_08974FFC: ctx.fpr[24] = std::bit_cast(std::bit_cast(ctx.fpr[0])); aot_gpr_31 = (0x08975008u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0091_entry, 91u, 742u, 0x0897385Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08975008u) goto L_08975008; AOT_REGCACHE_SYNC_OUT(); return; L_08975008: @@ -2946,17 +2947,17 @@ L_08975038: } L_08975044: aot_gpr_31 = (0x0897504Cu); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0175_entry, 175u, 619u, 0x08AC2958u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897504Cu) goto L_0897504C; AOT_REGCACHE_SYNC_OUT(); return; L_0897504C: aot_gpr_31 = (0x08975054u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0175_entry, 175u, 586u, 0x08AC25D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08975054u) goto L_08975054; AOT_REGCACHE_SYNC_OUT(); return; L_08975054: aot_gpr_31 = (0x0897505Cu); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0175_entry, 175u, 589u, 0x08AC269Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897505Cu) goto L_0897505C; AOT_REGCACHE_SYNC_OUT(); return; L_0897505C: @@ -2967,7 +2968,7 @@ L_0897505C: ctx.fpr[24] = std::bit_cast(aot_run_words[2]); ctx.fpr[26] = std::bit_cast(aot_run_words[3]); aot_gpr_16 = aot_run_words[4]; - aot_gpr_17 = aot_run_words[5]; + ctx.gpr[17] = aot_run_words[5]; ctx.gpr[18] = aot_run_words[6]; ctx.gpr[19] = aot_run_words[7]; ctx.gpr[20] = aot_run_words[8]; @@ -2994,9 +2995,9 @@ L_0897509C: goto L_089750AC; } L_089750AC: - ctx.gpr[6] = (2235u << 16u); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(-27060)); - aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), ctx.gpr[6]); + aot_gpr_6 = (2235u << 16u); + aot_gpr_6 = (aot_gpr_6 + static_cast(-27060)); + aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), aot_gpr_6); { const bool branch_taken = aot_gpr_4 == 0u; aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(5860), 0u); if (branch_taken) { @@ -3005,9 +3006,9 @@ L_089750AC: goto L_089750C0; } L_089750C0: - ctx.gpr[6] = (2235u << 16u); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(-28772)); - aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), ctx.gpr[6]); + aot_gpr_6 = (2235u << 16u); + aot_gpr_6 = (aot_gpr_6 + static_cast(-28772)); + aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), aot_gpr_6); goto L_089750CC; L_089750CC: aot_gpr_5 = (aot_gpr_5 & 1u); @@ -3021,7 +3022,7 @@ L_089750CC: L_089750D8: aot_gpr_31 = (0x089750E0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089750E0u) goto L_089750E0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089750E0u) goto L_089750E0; AOT_REGCACHE_SYNC_OUT(); return; L_089750E0: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -3034,10 +3035,10 @@ L_089750E0: L_089750EC: aot_gpr_5 = (2235u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(-27044)); - ctx.gpr[6] = (15395u << 16u); - ctx.gpr[6] = (ctx.gpr[6] | 55050u); + aot_gpr_6 = (15395u << 16u); + aot_gpr_6 = (aot_gpr_6 | 55050u); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), aot_gpr_5); - aot_fpr_12 = std::bit_cast(ctx.gpr[6]); + aot_fpr_12 = std::bit_cast(aot_gpr_6); aot_gpr_5 = (15523u << 16u); aot_gpr_5 = (aot_gpr_5 | 55050u); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(8), std::bit_cast(aot_fpr_12)); @@ -3058,10 +3059,10 @@ L_089750EC: AOT_REGCACHE_SYNC_OUT(); return; L_0897513C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - ctx.gpr[6] = (aot_gpr_4 < static_cast(6) ? 1u : 0u); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; + aot_gpr_6 = (aot_gpr_4 < static_cast(6) ? 1u : 0u); + { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - { const bool branch_taken = ctx.gpr[6] == 0u; + { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_16 = (aot_gpr_5 | 0u); if (branch_taken) { goto L_0897527C; @@ -3127,16 +3128,16 @@ L_0897518C: } L_08975194: aot_gpr_4 = (2232u << 16u); - aot_gpr_17 = (aot_gpr_4 + static_cast(-7416)); + ctx.gpr[17] = (aot_gpr_4 + static_cast(-7416)); aot_gpr_31 = (0x089751A4u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089751A4u) goto L_089751A4; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089751A4u) goto L_089751A4; AOT_REGCACHE_SYNC_OUT(); return; L_089751A4: aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089751B4u); - ctx.gpr[6] = (ctx.gpr[2] | 0u); + aot_gpr_6 = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 319u, 0x08B655B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089751B4u) goto L_089751B4; AOT_REGCACHE_SYNC_OUT(); return; L_089751B4: @@ -3157,16 +3158,16 @@ L_089751BC: } L_089751C4: aot_gpr_4 = (2232u << 16u); - aot_gpr_17 = (aot_gpr_4 + static_cast(-7384)); + ctx.gpr[17] = (aot_gpr_4 + static_cast(-7384)); aot_gpr_31 = (0x089751D4u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089751D4u) goto L_089751D4; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089751D4u) goto L_089751D4; AOT_REGCACHE_SYNC_OUT(); return; L_089751D4: aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089751E4u); - ctx.gpr[6] = (ctx.gpr[2] | 0u); + aot_gpr_6 = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 319u, 0x08B655B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089751E4u) goto L_089751E4; AOT_REGCACHE_SYNC_OUT(); return; L_089751E4: @@ -3187,16 +3188,16 @@ L_089751EC: } L_089751F4: aot_gpr_4 = (2232u << 16u); - aot_gpr_17 = (aot_gpr_4 + static_cast(-7340)); + ctx.gpr[17] = (aot_gpr_4 + static_cast(-7340)); aot_gpr_31 = (0x08975204u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08975204u) goto L_08975204; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08975204u) goto L_08975204; AOT_REGCACHE_SYNC_OUT(); return; L_08975204: aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08975214u); - ctx.gpr[6] = (ctx.gpr[2] | 0u); + aot_gpr_6 = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 319u, 0x08B655B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08975214u) goto L_08975214; AOT_REGCACHE_SYNC_OUT(); return; L_08975214: @@ -3217,16 +3218,16 @@ L_0897521C: } L_08975224: aot_gpr_4 = (2232u << 16u); - aot_gpr_17 = (aot_gpr_4 + static_cast(-7308)); + ctx.gpr[17] = (aot_gpr_4 + static_cast(-7308)); aot_gpr_31 = (0x08975234u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08975234u) goto L_08975234; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08975234u) goto L_08975234; AOT_REGCACHE_SYNC_OUT(); return; L_08975234: aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08975244u); - ctx.gpr[6] = (ctx.gpr[2] | 0u); + aot_gpr_6 = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 319u, 0x08B655B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08975244u) goto L_08975244; AOT_REGCACHE_SYNC_OUT(); return; L_08975244: @@ -3247,16 +3248,16 @@ L_0897524C: } L_08975254: aot_gpr_4 = (2232u << 16u); - aot_gpr_17 = (aot_gpr_4 + static_cast(-7236)); + ctx.gpr[17] = (aot_gpr_4 + static_cast(-7236)); aot_gpr_31 = (0x08975264u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08975264u) goto L_08975264; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08975264u) goto L_08975264; AOT_REGCACHE_SYNC_OUT(); return; L_08975264: aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08975274u); - ctx.gpr[6] = (ctx.gpr[2] | 0u); + aot_gpr_6 = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 319u, 0x08B655B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08975274u) goto L_08975274; AOT_REGCACHE_SYNC_OUT(); return; L_08975274: @@ -3277,16 +3278,16 @@ L_0897527C: } L_08975284: aot_gpr_4 = (2232u << 16u); - aot_gpr_17 = (aot_gpr_4 + static_cast(-7196)); + ctx.gpr[17] = (aot_gpr_4 + static_cast(-7196)); aot_gpr_31 = (0x08975294u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08975294u) goto L_08975294; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08975294u) goto L_08975294; AOT_REGCACHE_SYNC_OUT(); return; L_08975294: aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089752A4u); - ctx.gpr[6] = (ctx.gpr[2] | 0u); + aot_gpr_6 = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 319u, 0x08B655B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089752A4u) goto L_089752A4; AOT_REGCACHE_SYNC_OUT(); return; L_089752A4: @@ -3296,7 +3297,7 @@ L_089752A8: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -3309,20 +3310,20 @@ L_089752BC: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), ctx.gpr[19]); - ctx.gpr[18] = (ctx.gpr[6] | 0u); + ctx.gpr[18] = (aot_gpr_6 | 0u); ctx.gpr[19] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_31); aot_gpr_31 = (0x089752E4u); aot_gpr_16 = (aot_gpr_5 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089752E4u) goto L_089752E4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806634, 0u, 302u, 0x08806634u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089752E4u) goto L_089752E4; AOT_REGCACHE_SYNC_OUT(); return; L_089752E4: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[2]); - aot_gpr_17 = (ctx.gpr[28] + static_cast(5824)); + ctx.gpr[17] = (ctx.gpr[28] + static_cast(5824)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08975300u); aot_gpr_5 = (aot_gpr_29 | 0u); @@ -3337,9 +3338,9 @@ L_08975300: } L_08975308: aot_gpr_5 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (static_cast(aot_gpr_5) < 4 ? 1u : 0u); + aot_gpr_6 = (static_cast(aot_gpr_5) < 4 ? 1u : 0u); aot_gpr_4 = (static_cast(ctx.gpr[18]) < static_cast(aot_gpr_4) ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] != 0u; + { const bool branch_taken = aot_gpr_6 != 0u; aot_gpr_16 = (ctx.gpr[28] + static_cast(-17128)); if (branch_taken) { goto L_08975344; @@ -3419,13 +3420,13 @@ L_08975374: L_08975380: aot_gpr_31 = (0x08975388u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08975388u) goto L_08975388; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0893685C, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08975388u) goto L_08975388; AOT_REGCACHE_SYNC_OUT(); return; L_08975388: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08975394u); aot_gpr_5 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08975394u) goto L_08975394; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806654, 0u, 303u, 0x08806654u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08975394u) goto L_08975394; AOT_REGCACHE_SYNC_OUT(); return; L_08975394: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5868))); @@ -3450,7 +3451,7 @@ L_089753A8: goto L_089753BC; L_089753BC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); - { const bool branch_taken = aot_gpr_4 == aot_gpr_17; + { const bool branch_taken = aot_gpr_4 == ctx.gpr[17]; aot_gpr_4 = (2236u << 16u); if (branch_taken) { goto L_089753D4; @@ -3461,14 +3462,14 @@ L_089753C8: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); aot_gpr_31 = (0x089753D4u); aot_gpr_4 = (aot_gpr_4 + static_cast(25856)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089753D4u) goto L_089753D4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089753D4u) goto L_089753D4; AOT_REGCACHE_SYNC_OUT(); return; L_089753D4: ctx.gpr[2] = (aot_gpr_16 | 0u); { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(12), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; @@ -3481,33 +3482,33 @@ L_089753D4: AOT_REGCACHE_SYNC_OUT(); return; L_089753F4: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[19]); - ctx.gpr[19] = (ctx.gpr[6] | 0u); - aot_gpr_17 = (aot_gpr_4 | 0u); + ctx.gpr[19] = (aot_gpr_6 | 0u); + ctx.gpr[17] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); aot_gpr_31 = (0x0897541Cu); aot_gpr_16 = (aot_gpr_5 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897541Cu) goto L_0897541C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806634, 0u, 302u, 0x08806634u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897541Cu) goto L_0897541C; AOT_REGCACHE_SYNC_OUT(); return; L_0897541C: ctx.gpr[18] = (ctx.gpr[2] - aot_gpr_16); aot_gpr_5 = (ctx.gpr[28] + static_cast(-17124)); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08975430u); - ctx.gpr[6] = (0u | 10u); + aot_gpr_6 = (0u | 10u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 426u, 0x08806DE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08975430u) goto L_08975430; AOT_REGCACHE_SYNC_OUT(); return; L_08975430: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0897543Cu); aot_gpr_5 = (0u + static_cast(-10001)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 456u, 0x08807148u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897543Cu) goto L_0897543C; AOT_REGCACHE_SYNC_OUT(); return; L_0897543C: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08975448u); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 315u, 0x0880673Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08975448u) goto L_08975448; @@ -3520,8 +3521,8 @@ L_08975448: } goto L_08975454; L_08975454: - ctx.gpr[6] = (aot_gpr_4 | 0u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_6 = (aot_gpr_4 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08975468u); ctx.gpr[7] = (ctx.gpr[18] | 0u); @@ -3529,14 +3530,14 @@ L_08975454: AOT_REGCACHE_SYNC_OUT(); return; L_08975468: aot_gpr_16 = (ctx.gpr[2] | 0u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08975478u); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 310u, 0x088066C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08975478u) goto L_08975478; AOT_REGCACHE_SYNC_OUT(); return; L_08975478: - ctx.gpr[6] = (ctx.gpr[18] + static_cast(-1)); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_6 = (ctx.gpr[18] + static_cast(-1)); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08975488u); aot_gpr_5 = (aot_gpr_16 | 0u); goto L_089752BC; @@ -3544,7 +3545,7 @@ L_08975488: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; @@ -3589,7 +3590,7 @@ L_089754D4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5892))); aot_gpr_5 = (2184u << 16u); aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_5 = (aot_gpr_5 + static_cast(22832)); aot_gpr_31 = (0x089754F0u); aot_gpr_4 = (aot_gpr_16 | 0u); @@ -3599,7 +3600,7 @@ L_089754F0: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08975500u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); goto L_089753F4; L_08975500: aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -3613,9 +3614,9 @@ L_08975500: L_08975510: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_17 = (0u | 1u); + ctx.gpr[17] = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); aot_gpr_31 = (0x08975534u); @@ -3625,7 +3626,7 @@ L_08975510: L_08975534: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[0])); aot_gpr_5 = (0u | 22u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); ctx.gpr[18] = (std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x0897554Cu); aot_gpr_4 = (ctx.gpr[18] | 0u); @@ -3640,14 +3641,14 @@ L_08975554: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08975560u); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08975560u) goto L_08975560; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08975560u) goto L_08975560; AOT_REGCACHE_SYNC_OUT(); return; L_08975560: - ctx.gpr[2] = (aot_gpr_17 | 0u); + ctx.gpr[2] = (ctx.gpr[17] | 0u); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -3660,9 +3661,9 @@ L_08975560: L_0897557C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_17 = (0u | 1u); + ctx.gpr[17] = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x0897559Cu); aot_gpr_5 = (0u | 1u); @@ -3678,14 +3679,14 @@ L_089755A8: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x089755B4u); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089755B4u) goto L_089755B4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089755B4u) goto L_089755B4; AOT_REGCACHE_SYNC_OUT(); return; L_089755B4: - ctx.gpr[2] = (aot_gpr_17 | 0u); + ctx.gpr[2] = (ctx.gpr[17] | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -3697,7 +3698,7 @@ L_089755B4: L_089755CC: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5884))); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } { const bool branch_taken = aot_gpr_5 != 0u; aot_gpr_16 = (aot_gpr_4 | 0u); @@ -3712,15 +3713,15 @@ L_089755E8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 683u, 0x08B66DBCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089755F0u) goto L_089755F0; AOT_REGCACHE_SYNC_OUT(); return; L_089755F0: - aot_gpr_17 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5884))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5884))); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 1u); aot_gpr_31 = (0x08975604u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0038_entry, 38u, 277u, 0x0889D50Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08975604u) goto L_08975604; AOT_REGCACHE_SYNC_OUT(); return; L_08975604: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08975610u); aot_gpr_5 = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0018_entry, 18u, 96u, 0x0884C928u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08975610u) goto L_08975610; @@ -3730,7 +3731,7 @@ L_08975610: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -3764,7 +3765,7 @@ L_08975648: aot_gpr_5 = (aot_gpr_5 < static_cast(1) ? 1u : 0u); aot_gpr_31 = (0x08975664u); aot_gpr_5 = (aot_gpr_5 & 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08975664u) goto L_08975664; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08975664u) goto L_08975664; AOT_REGCACHE_SYNC_OUT(); return; L_08975664: ctx.gpr[2] = (0u | 1u); @@ -3832,7 +3833,7 @@ L_089756D4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x089756E0u); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089756E0u) goto L_089756E0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089756E0u) goto L_089756E0; AOT_REGCACHE_SYNC_OUT(); return; L_089756E0: ctx.gpr[2] = (0u | 1u); @@ -3930,7 +3931,7 @@ L_08975794: aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-29156))); aot_gpr_31 = (0x089757A0u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089757A0u) goto L_089757A0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089757A0u) goto L_089757A0; AOT_REGCACHE_SYNC_OUT(); return; L_089757A0: ctx.gpr[2] = (0u | 1u); @@ -3947,7 +3948,7 @@ L_089757B4: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_29 | 0u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_gpr_31 = (0x089757D0u); ctx.gpr[7] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0075_entry, 75u, 315u, 0x08931AF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089757D0u) goto L_089757D0; @@ -3978,36 +3979,36 @@ L_089757D0: L_089757EC: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[17]); aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_17 = (0u | 1u); + ctx.gpr[17] = (0u | 1u); { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_22), std::bit_cast(ctx.fpr[24])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_31); aot_gpr_31 = (0x08975818u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08975818u) goto L_08975818; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08975818u) goto L_08975818; AOT_REGCACHE_SYNC_OUT(); return; L_08975818: aot_fpr_20 = std::bit_cast(std::bit_cast(ctx.fpr[0])); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08975828u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08975828u) goto L_08975828; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08975828u) goto L_08975828; AOT_REGCACHE_SYNC_OUT(); return; L_08975828: aot_fpr_22 = std::bit_cast(std::bit_cast(ctx.fpr[0])); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08975838u); aot_gpr_5 = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08975838u) goto L_08975838; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08975838u) goto L_08975838; AOT_REGCACHE_SYNC_OUT(); return; L_08975838: ctx.fpr[24] = std::bit_cast(std::bit_cast(ctx.fpr[0])); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08975848u); aot_gpr_5 = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08975848u) goto L_08975848; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08975848u) goto L_08975848; AOT_REGCACHE_SYNC_OUT(); return; L_08975848: aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); @@ -4021,17 +4022,17 @@ L_0897585C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08975868u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[0])); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08975868u) goto L_08975868; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08975868u) goto L_08975868; AOT_REGCACHE_SYNC_OUT(); return; L_08975868: - ctx.gpr[2] = (aot_gpr_17 | 0u); + ctx.gpr[2] = (ctx.gpr[17] | 0u); { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); aot_fpr_22 = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); aot_gpr_16 = aot_run_words[3]; - aot_gpr_17 = aot_run_words[4]; + ctx.gpr[17] = aot_run_words[4]; aot_gpr_31 = aot_run_words[5]; } jump_target = aot_gpr_31; @@ -4042,13 +4043,13 @@ L_08975868: AOT_REGCACHE_SYNC_OUT(); return; L_0897588C: aot_gpr_29 = (aot_gpr_29 + static_cast(-80)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(64), aot_run_words); } aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_17 = (0u | 1u); + ctx.gpr[17] = (0u | 1u); aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_5 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_gpr_31 = (0x089758BCu); ctx.gpr[7] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0075_entry, 75u, 315u, 0x08931AF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089758BCu) goto L_089758BC; @@ -4057,7 +4058,7 @@ L_089758BC: ctx.gpr[18] = (aot_gpr_29 + static_cast(16)); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (0u | 2u); + aot_gpr_6 = (0u | 2u); aot_gpr_31 = (0x089758D4u); ctx.gpr[7] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0075_entry, 75u, 315u, 0x08931AF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089758D4u) goto L_089758D4; @@ -4092,11 +4093,11 @@ L_089758D4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0075_entry, 75u, 313u, 0x08931AD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089758F0u) goto L_089758F0; AOT_REGCACHE_SYNC_OUT(); return; L_089758F0: - ctx.gpr[2] = (aot_gpr_17 | 0u); + ctx.gpr[2] = (ctx.gpr[17] | 0u); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(64), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -4108,13 +4109,13 @@ L_089758F0: AOT_REGCACHE_SYNC_OUT(); return; L_0897590C: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(16), aot_run_words); } aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_17 = (0u | 1u); + ctx.gpr[17] = (0u | 1u); aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_5 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_gpr_31 = (0x08975938u); ctx.gpr[7] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0075_entry, 75u, 315u, 0x08931AF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08975938u) goto L_08975938; @@ -4146,11 +4147,11 @@ L_08975938: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0075_entry, 75u, 313u, 0x08931AD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08975964u) goto L_08975964; AOT_REGCACHE_SYNC_OUT(); return; L_08975964: - ctx.gpr[2] = (aot_gpr_17 | 0u); + ctx.gpr[2] = (ctx.gpr[17] | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -4161,13 +4162,13 @@ L_08975964: AOT_REGCACHE_SYNC_OUT(); return; L_0897597C: aot_gpr_29 = (aot_gpr_29 + static_cast(-64)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(48), aot_run_words); } aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_17 = (0u | 1u); + ctx.gpr[17] = (0u | 1u); aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_5 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_gpr_31 = (0x089759A8u); ctx.gpr[7] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0075_entry, 75u, 315u, 0x08931AF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089759A8u) goto L_089759A8; @@ -4176,7 +4177,7 @@ L_089759A8: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x089759B4u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089759B4u) goto L_089759B4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089759B4u) goto L_089759B4; AOT_REGCACHE_SYNC_OUT(); return; L_089759B4: aot_gpr_4 = (std::bit_cast(ctx.fpr[0])); @@ -4201,11 +4202,11 @@ L_089759B4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0075_entry, 75u, 313u, 0x08931AD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089759D4u) goto L_089759D4; AOT_REGCACHE_SYNC_OUT(); return; L_089759D4: - ctx.gpr[2] = (aot_gpr_17 | 0u); + ctx.gpr[2] = (ctx.gpr[17] | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(48), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -4312,7 +4313,7 @@ L_08975A7C: L_08975A90: aot_gpr_5 = (2199u << 16u); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x08975AA4u); aot_gpr_5 = (aot_gpr_5 + static_cast(21776)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 444u, 0x08806FA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08975AA4u) goto L_08975AA4; @@ -4321,7 +4322,7 @@ L_08975AA4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08975AB0u); aot_gpr_5 = (0u + static_cast(-10001)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08975AB0u) goto L_08975AB0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08975AB0u) goto L_08975AB0; AOT_REGCACHE_SYNC_OUT(); return; L_08975AB0: aot_gpr_5 = (ctx.gpr[28] + static_cast(-17092)); @@ -4332,7 +4333,7 @@ L_08975AB0: L_08975ABC: aot_gpr_5 = (2199u << 16u); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x08975AD0u); aot_gpr_5 = (aot_gpr_5 + static_cast(21884)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 444u, 0x08806FA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08975AD0u) goto L_08975AD0; @@ -4341,7 +4342,7 @@ L_08975AD0: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08975ADCu); aot_gpr_5 = (0u + static_cast(-10001)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08975ADCu) goto L_08975ADC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08975ADCu) goto L_08975ADC; AOT_REGCACHE_SYNC_OUT(); return; L_08975ADC: aot_gpr_5 = (ctx.gpr[28] + static_cast(-17076)); @@ -4352,7 +4353,7 @@ L_08975ADC: L_08975AE8: aot_gpr_5 = (2199u << 16u); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x08975AFCu); aot_gpr_5 = (aot_gpr_5 + static_cast(21964)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 444u, 0x08806FA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08975AFCu) goto L_08975AFC; @@ -4361,7 +4362,7 @@ L_08975AFC: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08975B08u); aot_gpr_5 = (0u + static_cast(-10001)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08975B08u) goto L_08975B08; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08975B08u) goto L_08975B08; AOT_REGCACHE_SYNC_OUT(); return; L_08975B08: aot_gpr_5 = (2232u << 16u); @@ -4373,7 +4374,7 @@ L_08975B08: L_08975B18: aot_gpr_5 = (2199u << 16u); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x08975B2Cu); aot_gpr_5 = (aot_gpr_5 + static_cast(22056)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 444u, 0x08806FA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08975B2Cu) goto L_08975B2C; @@ -4382,7 +4383,7 @@ L_08975B2C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08975B38u); aot_gpr_5 = (0u + static_cast(-10001)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08975B38u) goto L_08975B38; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08975B38u) goto L_08975B38; AOT_REGCACHE_SYNC_OUT(); return; L_08975B38: aot_gpr_5 = (ctx.gpr[28] + static_cast(-17060)); @@ -4393,7 +4394,7 @@ L_08975B38: L_08975B44: aot_gpr_5 = (2199u << 16u); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x08975B58u); aot_gpr_5 = (aot_gpr_5 + static_cast(22136)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 444u, 0x08806FA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08975B58u) goto L_08975B58; @@ -4402,7 +4403,7 @@ L_08975B58: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08975B64u); aot_gpr_5 = (0u + static_cast(-10001)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08975B64u) goto L_08975B64; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08975B64u) goto L_08975B64; AOT_REGCACHE_SYNC_OUT(); return; L_08975B64: aot_gpr_5 = (2232u << 16u); @@ -4414,7 +4415,7 @@ L_08975B64: L_08975B74: aot_gpr_5 = (2199u << 16u); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x08975B88u); aot_gpr_5 = (aot_gpr_5 + static_cast(22188)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 444u, 0x08806FA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08975B88u) goto L_08975B88; @@ -4423,7 +4424,7 @@ L_08975B88: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08975B94u); aot_gpr_5 = (0u + static_cast(-10001)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08975B94u) goto L_08975B94; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08975B94u) goto L_08975B94; AOT_REGCACHE_SYNC_OUT(); return; L_08975B94: aot_gpr_5 = (ctx.gpr[28] + static_cast(-17044)); @@ -4434,7 +4435,7 @@ L_08975B94: L_08975BA0: aot_gpr_5 = (2199u << 16u); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x08975BB4u); aot_gpr_5 = (aot_gpr_5 + static_cast(22260)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 444u, 0x08806FA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08975BB4u) goto L_08975BB4; @@ -4443,7 +4444,7 @@ L_08975BB4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08975BC0u); aot_gpr_5 = (0u + static_cast(-10001)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08975BC0u) goto L_08975BC0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08975BC0u) goto L_08975BC0; AOT_REGCACHE_SYNC_OUT(); return; L_08975BC0: aot_gpr_5 = (2232u << 16u); @@ -4455,7 +4456,7 @@ L_08975BC0: L_08975BD0: aot_gpr_5 = (2199u << 16u); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x08975BE4u); aot_gpr_5 = (aot_gpr_5 + static_cast(22320)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 444u, 0x08806FA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08975BE4u) goto L_08975BE4; @@ -4464,7 +4465,7 @@ L_08975BE4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08975BF0u); aot_gpr_5 = (0u + static_cast(-10001)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08975BF0u) goto L_08975BF0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08975BF0u) goto L_08975BF0; AOT_REGCACHE_SYNC_OUT(); return; L_08975BF0: aot_gpr_5 = (2232u << 16u); @@ -4476,7 +4477,7 @@ L_08975BF0: L_08975C00: aot_gpr_5 = (2199u << 16u); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x08975C14u); aot_gpr_5 = (aot_gpr_5 + static_cast(22352)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 444u, 0x08806FA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08975C14u) goto L_08975C14; @@ -4485,7 +4486,7 @@ L_08975C14: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08975C20u); aot_gpr_5 = (0u + static_cast(-10001)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08975C20u) goto L_08975C20; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08975C20u) goto L_08975C20; AOT_REGCACHE_SYNC_OUT(); return; L_08975C20: aot_gpr_5 = (2232u << 16u); @@ -4497,7 +4498,7 @@ L_08975C20: L_08975C30: aot_gpr_5 = (2199u << 16u); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x08975C44u); aot_gpr_5 = (aot_gpr_5 + static_cast(22400)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 444u, 0x08806FA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08975C44u) goto L_08975C44; @@ -4506,7 +4507,7 @@ L_08975C44: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08975C50u); aot_gpr_5 = (0u + static_cast(-10001)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08975C50u) goto L_08975C50; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08975C50u) goto L_08975C50; AOT_REGCACHE_SYNC_OUT(); return; L_08975C50: aot_gpr_5 = (2232u << 16u); @@ -4518,7 +4519,7 @@ L_08975C50: L_08975C60: aot_gpr_5 = (2199u << 16u); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x08975C74u); aot_gpr_5 = (aot_gpr_5 + static_cast(22452)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 444u, 0x08806FA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08975C74u) goto L_08975C74; @@ -4527,7 +4528,7 @@ L_08975C74: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08975C80u); aot_gpr_5 = (0u + static_cast(-10001)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08975C80u) goto L_08975C80; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08975C80u) goto L_08975C80; AOT_REGCACHE_SYNC_OUT(); return; L_08975C80: aot_gpr_5 = (2232u << 16u); @@ -4539,7 +4540,7 @@ L_08975C80: L_08975C90: aot_gpr_5 = (2199u << 16u); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x08975CA4u); aot_gpr_5 = (aot_gpr_5 + static_cast(22508)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 444u, 0x08806FA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08975CA4u) goto L_08975CA4; @@ -4548,7 +4549,7 @@ L_08975CA4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08975CB0u); aot_gpr_5 = (0u + static_cast(-10001)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08975CB0u) goto L_08975CB0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08975CB0u) goto L_08975CB0; AOT_REGCACHE_SYNC_OUT(); return; L_08975CB0: aot_gpr_5 = (ctx.gpr[28] + static_cast(-17028)); @@ -4559,7 +4560,7 @@ L_08975CB0: L_08975CBC: aot_gpr_5 = (2199u << 16u); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x08975CD0u); aot_gpr_5 = (aot_gpr_5 + static_cast(22668)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 444u, 0x08806FA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08975CD0u) goto L_08975CD0; @@ -4568,7 +4569,7 @@ L_08975CD0: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08975CDCu); aot_gpr_5 = (0u + static_cast(-10001)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08975CDCu) goto L_08975CDC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08975CDCu) goto L_08975CDC; AOT_REGCACHE_SYNC_OUT(); return; L_08975CDC: aot_gpr_5 = (ctx.gpr[28] + static_cast(-17012)); @@ -4579,7 +4580,7 @@ L_08975CDC: L_08975CE8: aot_gpr_5 = (2199u << 16u); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x08975CFCu); aot_gpr_5 = (aot_gpr_5 + static_cast(22796)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 444u, 0x08806FA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08975CFCu) goto L_08975CFC; @@ -4588,7 +4589,7 @@ L_08975CFC: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08975D08u); aot_gpr_5 = (0u + static_cast(-10001)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08975D08u) goto L_08975D08; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08975D08u) goto L_08975D08; AOT_REGCACHE_SYNC_OUT(); return; L_08975D08: aot_gpr_5 = (ctx.gpr[28] + static_cast(-16996)); @@ -4599,7 +4600,7 @@ L_08975D08: L_08975D14: aot_gpr_5 = (2199u << 16u); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x08975D28u); aot_gpr_5 = (aot_gpr_5 + static_cast(22908)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 444u, 0x08806FA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08975D28u) goto L_08975D28; @@ -4608,7 +4609,7 @@ L_08975D28: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08975D34u); aot_gpr_5 = (0u + static_cast(-10001)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08975D34u) goto L_08975D34; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08975D34u) goto L_08975D34; AOT_REGCACHE_SYNC_OUT(); return; L_08975D34: aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -4744,12 +4745,12 @@ L_08975DF0: AOT_REGCACHE_SYNC_OUT(); return; L_08975E90: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (2236u << 16u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (2236u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_17 + static_cast(29704)); + aot_gpr_16 = (ctx.gpr[17] + static_cast(29704)); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 2u); + aot_gpr_6 = (0u | 2u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08975EB8u); ctx.gpr[7] = (aot_gpr_16 | 0u); @@ -4772,10 +4773,10 @@ L_08975ECC: goto L_08975ED0; L_08975ED0: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); - ctx.gpr[6] = (0u < aot_gpr_5 ? 1u : 0u); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29704))); + aot_gpr_6 = (0u < aot_gpr_5 ? 1u : 0u); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29704))); aot_gpr_31 = (0x08975EE4u); - ctx.gpr[6] = (ctx.gpr[6] & 255u); + aot_gpr_6 = (aot_gpr_6 & 255u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 328u, 0x0886E068u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08975EE4u) goto L_08975EE4; AOT_REGCACHE_SYNC_OUT(); return; L_08975EE4: @@ -4783,7 +4784,7 @@ L_08975EE4: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -4824,12 +4825,12 @@ L_08975F20: AOT_REGCACHE_SYNC_OUT(); return; L_08975F30: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (2236u << 16u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (2236u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_17 + static_cast(29704)); + aot_gpr_16 = (ctx.gpr[17] + static_cast(29704)); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 3u); + aot_gpr_6 = (0u | 3u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08975F58u); ctx.gpr[7] = (aot_gpr_16 | 0u); @@ -4851,8 +4852,8 @@ L_08975F6C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5888))); goto L_08975F70; L_08975F70: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29704))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29704))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); aot_gpr_31 = (0x08975F80u); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 308u, 0x0886DE30u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08975F80u) goto L_08975F80; @@ -4862,7 +4863,7 @@ L_08975F80: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -4873,12 +4874,12 @@ L_08975F80: AOT_REGCACHE_SYNC_OUT(); return; L_08975F98: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (2236u << 16u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (2236u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_17 + static_cast(29704)); + aot_gpr_16 = (ctx.gpr[17] + static_cast(29704)); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 3u); + aot_gpr_6 = (0u | 3u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08975FC0u); ctx.gpr[7] = (aot_gpr_16 | 0u); @@ -4900,8 +4901,8 @@ L_08975FD4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5888))); goto L_08975FD8; L_08975FD8: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29704))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29704))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); aot_gpr_31 = (0x08975FE8u); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 313u, 0x0886DEB4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08975FE8u) goto L_08975FE8; @@ -4911,7 +4912,7 @@ L_08975FE8: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -4924,31 +4925,31 @@ L_08976000: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_16); aot_gpr_16 = (2236u << 16u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_17); - aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_16 + static_cast(29704)); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 5u); + aot_gpr_6 = (0u | 5u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); aot_gpr_31 = (0x08976028u); - ctx.gpr[7] = (aot_gpr_17 | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08976028u) goto L_08976028; AOT_REGCACHE_SYNC_OUT(); return; L_08976028: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); aot_gpr_4 = (aot_gpr_4 & 255u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(12))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(12))); aot_gpr_5 = (aot_gpr_5 & 255u); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(16))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(16))); aot_gpr_4 = (aot_gpr_4 & 255u); - ctx.gpr[6] = (ctx.gpr[6] & 255u); + aot_gpr_6 = (aot_gpr_6 & 255u); aot_gpr_5 = (aot_gpr_5 & 255u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(4), static_cast(aot_gpr_4)); ctx.gpr[7] = (ctx.gpr[7] & 255u); - ctx.gpr[6] = (ctx.gpr[6] & 255u); + aot_gpr_6 = (aot_gpr_6 & 255u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(5), static_cast(aot_gpr_5)); ctx.gpr[7] = (ctx.gpr[7] & 255u); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(6), static_cast(ctx.gpr[6])); + aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(6), static_cast(aot_gpr_6)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(7), static_cast(ctx.gpr[7])); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5888))); if (aot_gpr_4 != 0u) { @@ -4966,16 +4967,16 @@ L_0897607C: goto L_08976080; L_08976080: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); - ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(4))); + aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(4))); ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(5))); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(0), static_cast(ctx.gpr[6])); - ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(6))); + aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(0), static_cast(aot_gpr_6)); + aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(6))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(1), static_cast(ctx.gpr[7])); ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(7))); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(2), static_cast(ctx.gpr[6])); + aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(2), static_cast(aot_gpr_6)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(3), static_cast(ctx.gpr[7])); aot_gpr_31 = (0x089760ACu); - ctx.gpr[6] = (aot_gpr_29 | 0u); + aot_gpr_6 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 318u, 0x0886DF38u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089760ACu) goto L_089760AC; AOT_REGCACHE_SYNC_OUT(); return; L_089760AC: @@ -4983,7 +4984,7 @@ L_089760AC: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(8), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -4996,31 +4997,31 @@ L_089760C4: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_16); aot_gpr_16 = (2236u << 16u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_17); - aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_16 + static_cast(29704)); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 5u); + aot_gpr_6 = (0u | 5u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); aot_gpr_31 = (0x089760ECu); - ctx.gpr[7] = (aot_gpr_17 | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089760ECu) goto L_089760EC; AOT_REGCACHE_SYNC_OUT(); return; L_089760EC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); aot_gpr_4 = (aot_gpr_4 & 255u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(12))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(12))); aot_gpr_5 = (aot_gpr_5 & 255u); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(16))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(16))); aot_gpr_4 = (aot_gpr_4 & 255u); - ctx.gpr[6] = (ctx.gpr[6] & 255u); + aot_gpr_6 = (aot_gpr_6 & 255u); aot_gpr_5 = (aot_gpr_5 & 255u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(4), static_cast(aot_gpr_4)); ctx.gpr[7] = (ctx.gpr[7] & 255u); - ctx.gpr[6] = (ctx.gpr[6] & 255u); + aot_gpr_6 = (aot_gpr_6 & 255u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(5), static_cast(aot_gpr_5)); ctx.gpr[7] = (ctx.gpr[7] & 255u); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(6), static_cast(ctx.gpr[6])); + aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(6), static_cast(aot_gpr_6)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(7), static_cast(ctx.gpr[7])); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5888))); if (aot_gpr_4 != 0u) { @@ -5038,16 +5039,16 @@ L_08976140: goto L_08976144; L_08976144: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); - ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(4))); + aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(4))); ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(5))); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(0), static_cast(ctx.gpr[6])); - ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(6))); + aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(0), static_cast(aot_gpr_6)); + aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(6))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(1), static_cast(ctx.gpr[7])); ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(7))); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(2), static_cast(ctx.gpr[6])); + aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(2), static_cast(aot_gpr_6)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(3), static_cast(ctx.gpr[7])); aot_gpr_31 = (0x08976170u); - ctx.gpr[6] = (aot_gpr_29 | 0u); + aot_gpr_6 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 323u, 0x0886DFD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08976170u) goto L_08976170; AOT_REGCACHE_SYNC_OUT(); return; L_08976170: @@ -5055,7 +5056,7 @@ L_08976170: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(8), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -5072,19 +5073,19 @@ L_08976188: ctx.gpr[20] = (aot_gpr_16 + static_cast(16)); ctx.gpr[7] = (aot_gpr_29 + static_cast(8)); aot_gpr_5 = (ctx.gpr[20] | 0u); - { const std::uint32_t aot_run_words[3]{aot_gpr_17, ctx.gpr[18], ctx.gpr[19]}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(16), aot_run_words); } { const std::uint32_t aot_run_words[3]{ctx.gpr[21], ctx.gpr[22], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(32), aot_run_words); } aot_gpr_31 = (0x089761C4u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089761C4u) goto L_089761C4; AOT_REGCACHE_SYNC_OUT(); return; L_089761C4: ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); ctx.gpr[18] = (2236u << 16u); { const bool branch_taken = ctx.gpr[19] != 0u; - aot_gpr_17 = (ctx.gpr[18] + static_cast(29704)); + ctx.gpr[17] = (ctx.gpr[18] + static_cast(29704)); if (branch_taken) { goto L_089761DC; } @@ -5105,9 +5106,9 @@ L_089761DC: L_089761E4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[20] | 0u); - ctx.gpr[6] = (0u | 3u); + aot_gpr_6 = (0u | 3u); aot_gpr_31 = (0x089761F8u); - ctx.gpr[7] = (aot_gpr_17 | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089761F8u) goto L_089761F8; AOT_REGCACHE_SYNC_OUT(); return; L_089761F8: @@ -5129,21 +5130,21 @@ L_08976210: ctx.gpr[22] = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(29704))); aot_gpr_31 = (0x0897621Cu); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897621Cu) goto L_0897621C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897621Cu) goto L_0897621C; AOT_REGCACHE_SYNC_OUT(); return; L_0897621C: aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x0897622Cu); - ctx.gpr[6] = (ctx.gpr[2] | 0u); + aot_gpr_6 = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 283u, 0x08B653C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897622Cu) goto L_0897622C; AOT_REGCACHE_SYNC_OUT(); return; L_0897622C: - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); - ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); + ctx.gpr[8] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_5 = (ctx.gpr[22] | 0u); - ctx.gpr[6] = (aot_gpr_29 | 0u); + aot_gpr_6 = (aot_gpr_29 | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u + static_cast(-1)); aot_gpr_31 = (0x08976250u); @@ -5165,22 +5166,22 @@ L_08976260: aot_gpr_4 = (2236u << 16u); aot_gpr_31 = (0x08976270u); aot_gpr_4 = (aot_gpr_4 + static_cast(25856)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08976270u) goto L_08976270; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08976270u) goto L_08976270; AOT_REGCACHE_SYNC_OUT(); return; L_08976270: aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(29704), ctx.gpr[19]); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08976284u); - ctx.gpr[6] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08976284u) goto L_08976284; + aot_gpr_6 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08976284u) goto L_08976284; AOT_REGCACHE_SYNC_OUT(); return; L_08976284: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[8]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(12), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -5202,19 +5203,19 @@ L_089762B0: ctx.gpr[20] = (aot_gpr_16 + static_cast(16)); ctx.gpr[7] = (aot_gpr_29 + static_cast(24)); aot_gpr_5 = (ctx.gpr[20] | 0u); - { const std::uint32_t aot_run_words[3]{aot_gpr_17, ctx.gpr[18], ctx.gpr[19]}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(32), aot_run_words); } { const std::uint32_t aot_run_words[4]{ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(48), aot_run_words); } aot_gpr_31 = (0x089762F0u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089762F0u) goto L_089762F0; AOT_REGCACHE_SYNC_OUT(); return; L_089762F0: ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); ctx.gpr[18] = (2236u << 16u); { const bool branch_taken = ctx.gpr[19] != 0u; - aot_gpr_17 = (ctx.gpr[18] + static_cast(29704)); + ctx.gpr[17] = (ctx.gpr[18] + static_cast(29704)); if (branch_taken) { goto L_08976308; } @@ -5235,9 +5236,9 @@ L_08976308: L_08976310: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[20] | 0u); - ctx.gpr[6] = (0u | 10u); + aot_gpr_6 = (0u | 10u); aot_gpr_31 = (0x08976324u); - ctx.gpr[7] = (aot_gpr_17 | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08976324u) goto L_08976324; AOT_REGCACHE_SYNC_OUT(); return; L_08976324: @@ -5260,18 +5261,18 @@ L_0897633C: ctx.gpr[23] = (aot_gpr_29 + static_cast(16)); aot_gpr_31 = (0x0897634Cu); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897634Cu) goto L_0897634C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897634Cu) goto L_0897634C; AOT_REGCACHE_SYNC_OUT(); return; L_0897634C: aot_gpr_4 = (ctx.gpr[23] | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x0897635Cu); - ctx.gpr[6] = (ctx.gpr[2] | 0u); + aot_gpr_6 = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 283u, 0x08B653C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897635Cu) goto L_0897635C; AOT_REGCACHE_SYNC_OUT(); return; L_0897635C: { std::uint32_t aot_run_words[9]{}; - aot_mem.aot_direct_load32_block(aot_gpr_17 + static_cast(4), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[17] + static_cast(4), aot_run_words); ctx.gpr[7] = aot_run_words[0]; ctx.gpr[8] = aot_run_words[1]; ctx.gpr[9] = aot_run_words[2]; @@ -5286,7 +5287,7 @@ L_0897635C: aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_5 = (ctx.gpr[22] | 0u); - ctx.gpr[6] = (ctx.gpr[23] | 0u); + aot_gpr_6 = (ctx.gpr[23] | 0u); aot_gpr_31 = (0x089763A0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[13]); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 350u, 0x0886E380u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089763A0u) goto L_089763A0; @@ -5306,22 +5307,22 @@ L_089763B0: aot_gpr_4 = (2236u << 16u); aot_gpr_31 = (0x089763C0u); aot_gpr_4 = (aot_gpr_4 + static_cast(25856)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089763C0u) goto L_089763C0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089763C0u) goto L_089763C0; AOT_REGCACHE_SYNC_OUT(); return; L_089763C0: aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(29704), ctx.gpr[19]); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x089763D4u); - ctx.gpr[6] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089763D4u) goto L_089763D4; + aot_gpr_6 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089763D4u) goto L_089763D4; AOT_REGCACHE_SYNC_OUT(); return; L_089763D4: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[9]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(28), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -5341,7 +5342,7 @@ L_08976404: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (2236u << 16u); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x08976424u); ctx.gpr[7] = (aot_gpr_16 + static_cast(29704)); @@ -5381,31 +5382,31 @@ L_08976458: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_16); aot_gpr_16 = (2236u << 16u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_17); - aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_16 + static_cast(29704)); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 5u); + aot_gpr_6 = (0u | 5u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); aot_gpr_31 = (0x08976480u); - ctx.gpr[7] = (aot_gpr_17 | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08976480u) goto L_08976480; AOT_REGCACHE_SYNC_OUT(); return; L_08976480: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); aot_gpr_4 = (aot_gpr_4 & 255u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(12))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(12))); aot_gpr_5 = (aot_gpr_5 & 255u); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(16))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(16))); aot_gpr_4 = (aot_gpr_4 & 255u); - ctx.gpr[6] = (ctx.gpr[6] & 255u); + aot_gpr_6 = (aot_gpr_6 & 255u); aot_gpr_5 = (aot_gpr_5 & 255u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(4), static_cast(aot_gpr_4)); ctx.gpr[7] = (ctx.gpr[7] & 255u); - ctx.gpr[6] = (ctx.gpr[6] & 255u); + aot_gpr_6 = (aot_gpr_6 & 255u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(5), static_cast(aot_gpr_5)); ctx.gpr[7] = (ctx.gpr[7] & 255u); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(6), static_cast(ctx.gpr[6])); + aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(6), static_cast(aot_gpr_6)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(7), static_cast(ctx.gpr[7])); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5888))); if (aot_gpr_4 != 0u) { @@ -5423,16 +5424,16 @@ L_089764D4: goto L_089764D8; L_089764D8: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); - ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(4))); + aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(4))); ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(5))); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(0), static_cast(ctx.gpr[6])); - ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(6))); + aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(0), static_cast(aot_gpr_6)); + aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(6))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(1), static_cast(ctx.gpr[7])); ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(7))); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(2), static_cast(ctx.gpr[6])); + aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(2), static_cast(aot_gpr_6)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(3), static_cast(ctx.gpr[7])); aot_gpr_31 = (0x08976504u); - ctx.gpr[6] = (aot_gpr_29 | 0u); + aot_gpr_6 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 385u, 0x0886E864u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08976504u) goto L_08976504; AOT_REGCACHE_SYNC_OUT(); return; L_08976504: @@ -5440,7 +5441,7 @@ L_08976504: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(8), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -5451,12 +5452,12 @@ L_08976504: AOT_REGCACHE_SYNC_OUT(); return; L_0897651C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (2236u << 16u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (2236u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_17 + static_cast(29704)); + aot_gpr_16 = (ctx.gpr[17] + static_cast(29704)); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 2u); + aot_gpr_6 = (0u | 2u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08976544u); ctx.gpr[7] = (aot_gpr_16 | 0u); @@ -5478,7 +5479,7 @@ L_08976558: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5888))); goto L_0897655C; L_0897655C: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29704))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29704))); aot_gpr_31 = (0x08976568u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 387u, 0x0886E8BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08976568u) goto L_08976568; @@ -5488,7 +5489,7 @@ L_08976568: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -5499,12 +5500,12 @@ L_08976568: AOT_REGCACHE_SYNC_OUT(); return; L_08976580: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (2236u << 16u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (2236u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_17 + static_cast(29704)); + aot_gpr_16 = (ctx.gpr[17] + static_cast(29704)); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 2u); + aot_gpr_6 = (0u | 2u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x089765A8u); ctx.gpr[7] = (aot_gpr_16 | 0u); @@ -5526,9 +5527,9 @@ L_089765BC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5888))); goto L_089765C0; L_089765C0: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29704))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29704))); aot_gpr_31 = (0x089765CCu); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 389u, 0x0886E8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089765CCu) goto L_089765CC; AOT_REGCACHE_SYNC_OUT(); return; L_089765CC: @@ -5536,7 +5537,7 @@ L_089765CC: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -5547,12 +5548,12 @@ L_089765CC: AOT_REGCACHE_SYNC_OUT(); return; L_089765E4: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (2236u << 16u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (2236u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_17 + static_cast(29704)); + aot_gpr_16 = (ctx.gpr[17] + static_cast(29704)); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 2u); + aot_gpr_6 = (0u | 2u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x0897660Cu); ctx.gpr[7] = (aot_gpr_16 | 0u); @@ -5574,9 +5575,9 @@ L_08976620: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5888))); goto L_08976624; L_08976624: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29704))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29704))); aot_gpr_31 = (0x08976630u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 391u, 0x0886E92Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08976630u) goto L_08976630; AOT_REGCACHE_SYNC_OUT(); return; L_08976630: @@ -5584,7 +5585,7 @@ L_08976630: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -5595,12 +5596,12 @@ L_08976630: AOT_REGCACHE_SYNC_OUT(); return; L_08976648: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (2236u << 16u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (2236u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_17 + static_cast(29704)); + aot_gpr_16 = (ctx.gpr[17] + static_cast(29704)); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 3u); + aot_gpr_6 = (0u | 3u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08976670u); ctx.gpr[7] = (aot_gpr_16 | 0u); @@ -5622,8 +5623,8 @@ L_08976684: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5888))); goto L_08976688; L_08976688: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29704))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29704))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); aot_gpr_31 = (0x08976698u); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 393u, 0x0886E964u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08976698u) goto L_08976698; @@ -5633,7 +5634,7 @@ L_08976698: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -5647,7 +5648,7 @@ L_089766B0: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (2236u << 16u); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x089766D0u); ctx.gpr[7] = (aot_gpr_16 + static_cast(29704)); @@ -5685,12 +5686,12 @@ L_089766F0: AOT_REGCACHE_SYNC_OUT(); return; L_08976704: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_17); - aot_gpr_17 = (2236u << 16u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[17]); + ctx.gpr[17] = (2236u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_16); - aot_gpr_16 = (aot_gpr_17 + static_cast(29704)); + aot_gpr_16 = (ctx.gpr[17] + static_cast(29704)); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 6u); + aot_gpr_6 = (0u | 6u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); aot_gpr_31 = (0x0897672Cu); ctx.gpr[7] = (aot_gpr_16 | 0u); @@ -5700,18 +5701,18 @@ L_0897672C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(12))); aot_gpr_4 = (aot_gpr_4 & 255u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); aot_gpr_5 = (aot_gpr_5 & 255u); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); aot_gpr_4 = (aot_gpr_4 & 255u); - ctx.gpr[6] = (ctx.gpr[6] & 255u); + aot_gpr_6 = (aot_gpr_6 & 255u); aot_gpr_5 = (aot_gpr_5 & 255u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(4), static_cast(aot_gpr_4)); ctx.gpr[7] = (ctx.gpr[7] & 255u); - ctx.gpr[6] = (ctx.gpr[6] & 255u); + aot_gpr_6 = (aot_gpr_6 & 255u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(5), static_cast(aot_gpr_5)); ctx.gpr[7] = (ctx.gpr[7] & 255u); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(6), static_cast(ctx.gpr[6])); + aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(6), static_cast(aot_gpr_6)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(7), static_cast(ctx.gpr[7])); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5888))); if (aot_gpr_4 != 0u) { @@ -5729,8 +5730,8 @@ L_08976780: goto L_08976784; L_08976784: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29704))); - ctx.gpr[6] = (aot_gpr_5 << 24u); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29704))); + aot_gpr_6 = (aot_gpr_5 << 24u); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(4))); ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(5))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(0), static_cast(aot_gpr_5)); @@ -5739,7 +5740,7 @@ L_08976784: ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(7))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(2), static_cast(aot_gpr_5)); aot_gpr_5 = (ctx.gpr[7] | 0u); - ctx.gpr[6] = (static_cast(static_cast(ctx.gpr[6]) >> 24u)); + aot_gpr_6 = (static_cast(static_cast(aot_gpr_6) >> 24u)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(3), static_cast(ctx.gpr[8])); aot_gpr_31 = (0x089767C0u); ctx.gpr[7] = (aot_gpr_29 | 0u); @@ -5750,7 +5751,7 @@ L_089767C0: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(8), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -5767,19 +5768,19 @@ L_089767D8: ctx.gpr[20] = (aot_gpr_16 + static_cast(16)); ctx.gpr[7] = (aot_gpr_29 + static_cast(8)); aot_gpr_5 = (ctx.gpr[20] | 0u); - { const std::uint32_t aot_run_words[3]{aot_gpr_17, ctx.gpr[18], ctx.gpr[19]}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(16), aot_run_words); } { const std::uint32_t aot_run_words[3]{ctx.gpr[21], ctx.gpr[22], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(32), aot_run_words); } aot_gpr_31 = (0x08976814u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08976814u) goto L_08976814; AOT_REGCACHE_SYNC_OUT(); return; L_08976814: ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); ctx.gpr[18] = (2236u << 16u); { const bool branch_taken = ctx.gpr[19] != 0u; - aot_gpr_17 = (ctx.gpr[18] + static_cast(29704)); + ctx.gpr[17] = (ctx.gpr[18] + static_cast(29704)); if (branch_taken) { goto L_0897682C; } @@ -5800,9 +5801,9 @@ L_0897682C: L_08976834: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[20] | 0u); - ctx.gpr[6] = (0u | 5u); + aot_gpr_6 = (0u | 5u); aot_gpr_31 = (0x08976848u); - ctx.gpr[7] = (aot_gpr_17 | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08976848u) goto L_08976848; AOT_REGCACHE_SYNC_OUT(); return; L_08976848: @@ -5824,18 +5825,18 @@ L_08976860: ctx.gpr[22] = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(29704))); aot_gpr_31 = (0x0897686Cu); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897686Cu) goto L_0897686C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897686Cu) goto L_0897686C; AOT_REGCACHE_SYNC_OUT(); return; L_0897686C: aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x0897687Cu); - ctx.gpr[6] = (ctx.gpr[2] | 0u); + aot_gpr_6 = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 283u, 0x08B653C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897687Cu) goto L_0897687C; AOT_REGCACHE_SYNC_OUT(); return; L_0897687C: { std::uint32_t aot_run_words[4]{}; - aot_mem.aot_direct_load32_block(aot_gpr_17 + static_cast(4), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[17] + static_cast(4), aot_run_words); ctx.gpr[7] = aot_run_words[0]; ctx.gpr[8] = aot_run_words[1]; ctx.gpr[10] = aot_run_words[2]; @@ -5843,7 +5844,7 @@ L_0897687C: } aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_5 = (ctx.gpr[22] | 0u); - ctx.gpr[6] = (aot_gpr_29 | 0u); + aot_gpr_6 = (aot_gpr_29 | 0u); aot_gpr_31 = (0x089768A0u); ctx.gpr[9] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 333u, 0x0886E0E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089768A0u) goto L_089768A0; @@ -5863,22 +5864,22 @@ L_089768B0: aot_gpr_4 = (2236u << 16u); aot_gpr_31 = (0x089768C0u); aot_gpr_4 = (aot_gpr_4 + static_cast(25856)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089768C0u) goto L_089768C0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089768C0u) goto L_089768C0; AOT_REGCACHE_SYNC_OUT(); return; L_089768C0: aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(29704), ctx.gpr[19]); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x089768D4u); - ctx.gpr[6] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089768D4u) goto L_089768D4; + aot_gpr_6 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089768D4u) goto L_089768D4; AOT_REGCACHE_SYNC_OUT(); return; L_089768D4: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[8]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(12), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -5894,12 +5895,12 @@ L_089768D4: AOT_REGCACHE_SYNC_OUT(); return; L_08976900: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (2236u << 16u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (2236u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_17 + static_cast(29704)); + aot_gpr_16 = (ctx.gpr[17] + static_cast(29704)); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 3u); + aot_gpr_6 = (0u | 3u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08976928u); ctx.gpr[7] = (aot_gpr_16 | 0u); @@ -5921,8 +5922,8 @@ L_0897693C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5888))); goto L_08976940; L_08976940: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29704))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29704))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); aot_gpr_31 = (0x08976950u); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 395u, 0x0886E9ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08976950u) goto L_08976950; @@ -5932,7 +5933,7 @@ L_08976950: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -5994,7 +5995,7 @@ L_089769AC: ctx.gpr[7] = (aot_gpr_29 + static_cast(4)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_31); aot_gpr_31 = (0x089769C8u); - ctx.gpr[6] = (aot_gpr_29 | 0u); + aot_gpr_6 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0093_entry, 93u, 117u, 0x08978E60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089769C8u) goto L_089769C8; AOT_REGCACHE_SYNC_OUT(); return; L_089769C8: @@ -6004,8 +6005,8 @@ L_089769C8: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0))); aot_gpr_5 = (aot_gpr_5 + static_cast(5)); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0))); - ctx.gpr[6] = (static_cast(aot_gpr_5) < static_cast(aot_gpr_4) ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_6 = (static_cast(aot_gpr_5) < static_cast(aot_gpr_4) ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 == 0u; ctx.gpr[2] = (aot_gpr_5 | 0u); if (branch_taken) { goto L_089769F4; @@ -6030,15 +6031,15 @@ L_089769F4: AOT_REGCACHE_SYNC_OUT(); return; L_08976A00: aot_gpr_29 = (aot_gpr_29 + static_cast(-144)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(128), aot_run_words); } - aot_gpr_16 = (ctx.gpr[6] | 0u); - aot_gpr_17 = (aot_gpr_5 | 0u); + aot_gpr_16 = (aot_gpr_6 | 0u); + ctx.gpr[17] = (aot_gpr_5 | 0u); aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16928))); ctx.gpr[7] = (aot_gpr_29 + static_cast(4)); aot_gpr_31 = (0x08976A2Cu); - ctx.gpr[6] = (aot_gpr_29 | 0u); + aot_gpr_6 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0093_entry, 93u, 117u, 0x08978E60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08976A2Cu) goto L_08976A2C; AOT_REGCACHE_SYNC_OUT(); return; L_08976A2C: @@ -6177,14 +6178,14 @@ L_08976B00: aot_fpr_13 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_13)); { const float fs = aot_fpr_12; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_4 = (std::bit_cast(aot_fpr_13)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(0), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(0), static_cast(aot_gpr_4)); aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(0), static_cast(aot_gpr_4)); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(128), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -6198,10 +6199,10 @@ L_08976B48: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(2)))))); ctx.gpr[7] = (16128u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), std::bit_cast(aot_fpr_20)); - ctx.gpr[6] = (aot_gpr_5 & 7u); + aot_gpr_6 = (aot_gpr_5 & 7u); aot_fpr_20 = std::bit_cast(ctx.gpr[7]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[6] != 0u; + { const bool branch_taken = aot_gpr_6 != 0u; aot_gpr_5 = (aot_gpr_5 & 56u); if (branch_taken) { goto L_08976B94; @@ -6241,8 +6242,8 @@ L_08976B94: goto L_08976B9C; } L_08976B9C: - aot_fpr_12 = std::bit_cast(ctx.gpr[6]); - { const bool branch_taken = static_cast(ctx.gpr[6]) >= 0; + aot_fpr_12 = std::bit_cast(aot_gpr_6); + { const bool branch_taken = static_cast(aot_gpr_6) >= 0; aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); if (branch_taken) { goto L_08976BB4; @@ -6286,21 +6287,21 @@ L_08976BE0: AOT_REGCACHE_SYNC_OUT(); return; L_08976BF0: aot_gpr_29 = (aot_gpr_29 + static_cast(-128)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(112), aot_run_words); } aot_gpr_16 = (aot_gpr_5 | 0u); aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16928))); - ctx.gpr[6] = (aot_gpr_29 + static_cast(48)); + aot_gpr_6 = (aot_gpr_29 + static_cast(48)); aot_gpr_31 = (0x08976C1Cu); ctx.gpr[7] = (aot_gpr_29 + static_cast(52)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0093_entry, 93u, 117u, 0x08978E60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08976C1Cu) goto L_08976C1C; AOT_REGCACHE_SYNC_OUT(); return; L_08976C1C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(56))); - aot_gpr_17 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[17] = (aot_gpr_29 + static_cast(16)); aot_gpr_31 = (0x08976C2Cu); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); goto L_08976968; L_08976C2C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(60))); @@ -6309,7 +6310,7 @@ L_08976C2C: aot_gpr_5 = (ctx.gpr[18] | 0u); goto L_08976968; L_08976C3C: - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -6353,7 +6354,7 @@ L_08976C3C: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(112), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -6382,7 +6383,7 @@ L_08976C80: aot_gpr_4 = (1u << 16u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_29); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8936))); - { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_20), aot_gpr_16, aot_gpr_17}; + { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_20), aot_gpr_16, ctx.gpr[17]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(4), aot_run_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[19]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), ctx.gpr[22]); @@ -6391,9 +6392,9 @@ L_08976C80: ctx.gpr[19] = (aot_gpr_5 & 255u); ctx.gpr[30] = (static_cast(static_cast(ctx.gpr[30]) >> 16u)); ctx.gpr[21] = (ctx.gpr[21] & 255u); - ctx.gpr[22] = (ctx.gpr[6] | 0u); + ctx.gpr[22] = (aot_gpr_6 | 0u); aot_gpr_16 = (ctx.gpr[8] | 0u); - aot_gpr_17 = (ctx.gpr[7] | 0u); + ctx.gpr[17] = (ctx.gpr[7] | 0u); ctx.gpr[23] = (ctx.gpr[10] | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), aot_gpr_31); { const bool branch_taken = static_cast(aot_gpr_4) >= 0; @@ -6419,7 +6420,7 @@ L_08976D0C: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (ctx.gpr[18] | 0u); - ctx.gpr[6] = (ctx.gpr[19] | 0u); + aot_gpr_6 = (ctx.gpr[19] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); ctx.gpr[7] = (ctx.gpr[21] | 0u); ctx.gpr[8] = (0u | 0u); @@ -6471,7 +6472,7 @@ L_08976D6C: goto L_08976D74; } L_08976D74: - { const bool branch_taken = static_cast(aot_gpr_17) >= 0; + { const bool branch_taken = static_cast(ctx.gpr[17]) >= 0; // nop if (branch_taken) { goto L_08976DB0; @@ -6494,7 +6495,7 @@ L_08976D7C: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (ctx.gpr[18] | 0u); - ctx.gpr[6] = (ctx.gpr[19] | 0u); + aot_gpr_6 = (ctx.gpr[19] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); ctx.gpr[7] = (ctx.gpr[21] | 0u); ctx.gpr[8] = (0u | 0u); @@ -6504,10 +6505,10 @@ L_08976D7C: ctx.gpr[11] = (0u | 0u); goto L_08976FBC; L_08976DAC: - aot_gpr_17 = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (ctx.gpr[2] | 0u); goto L_08976DB0; L_08976DB0: - { const bool branch_taken = static_cast(aot_gpr_17) >= 0; + { const bool branch_taken = static_cast(ctx.gpr[17]) >= 0; // nop if (branch_taken) { goto L_08976DD8; @@ -6537,7 +6538,7 @@ L_08976DD0: goto L_08976DD8; } L_08976DD8: - { const bool branch_taken = aot_gpr_17 != aot_gpr_16; + { const bool branch_taken = ctx.gpr[17] != aot_gpr_16; // nop if (branch_taken) { goto L_08976DF8; @@ -6565,12 +6566,12 @@ L_08976DF0: goto L_08976DF8; } L_08976DF8: - ctx.gpr[6] = (aot_gpr_17 | 0u); - aot_gpr_17 = (aot_gpr_29 + static_cast(8212)); + aot_gpr_6 = (ctx.gpr[17] | 0u); + ctx.gpr[17] = (aot_gpr_29 + static_cast(8212)); aot_gpr_5 = (aot_gpr_16 & 65535u); - ctx.gpr[6] = (ctx.gpr[6] & 65535u); + aot_gpr_6 = (aot_gpr_6 & 65535u); ctx.gpr[7] = (aot_gpr_29 + static_cast(8324)); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08976E18u); ctx.gpr[8] = (0u | 300u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0091_entry, 91u, 327u, 0x08971C18u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08976E18u) goto L_08976E18; @@ -6580,7 +6581,7 @@ L_08976E18: aot_gpr_5 = (aot_gpr_29 + static_cast(8924)); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08976E2Cu); - ctx.gpr[6] = (0u | 4096u); + aot_gpr_6 = (0u | 4096u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0197_entry, 197u, 816u, 0x08B1B6D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08976E2Cu) goto L_08976E2C; AOT_REGCACHE_SYNC_OUT(); return; L_08976E2C: @@ -6592,8 +6593,8 @@ L_08976E2C: L_08976E38: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(8208)))))); aot_gpr_5 = (ctx.gpr[21] & 255u); - ctx.gpr[6] = (0u + static_cast(-2)); - aot_gpr_4 = (aot_gpr_4 & ctx.gpr[6]); + aot_gpr_6 = (0u + static_cast(-2)); + aot_gpr_4 = (aot_gpr_4 & aot_gpr_6); aot_gpr_5 = (aot_gpr_5 & 1u); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(8208), static_cast(aot_gpr_4)); @@ -6601,13 +6602,13 @@ L_08976E38: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08976E68u); - ctx.gpr[6] = (ctx.gpr[22] | 0u); + aot_gpr_6 = (ctx.gpr[22] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0005_entry, 5u, 353u, 0x08819DD4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08976E68u) goto L_08976E68; AOT_REGCACHE_SYNC_OUT(); return; L_08976E68: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08976E74u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0005_entry, 5u, 356u, 0x08819E24u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08976E74u) goto L_08976E74; AOT_REGCACHE_SYNC_OUT(); return; L_08976E74: @@ -6615,7 +6616,7 @@ L_08976E74: goto L_08976E78; L_08976E78: aot_gpr_31 = (0x08976E80u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0005_entry, 5u, 393u, 0x0881A128u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08976E80u) goto L_08976E80; AOT_REGCACHE_SYNC_OUT(); return; L_08976E80: @@ -6693,7 +6694,7 @@ L_08976EE0: L_08976EE8: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08976EF4u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0005_entry, 5u, 367u, 0x08819F20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08976EF4u) goto L_08976EF4; AOT_REGCACHE_SYNC_OUT(); return; L_08976EF4: @@ -6714,8 +6715,8 @@ L_08976F1C: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_13)); aot_gpr_5 = (0u | 0u); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); - ctx.gpr[6] = (static_cast(aot_gpr_5) < static_cast(aot_gpr_4) ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_6 = (static_cast(aot_gpr_5) < static_cast(aot_gpr_4) ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 == 0u; // nop if (branch_taken) { goto L_08976F6C; @@ -6724,10 +6725,10 @@ L_08976F1C: } L_08976F34: ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - ctx.gpr[6] = (aot_gpr_29 | 0u); + aot_gpr_6 = (aot_gpr_29 | 0u); goto L_08976F3C; L_08976F3C: - ctx.gpr[8] = (aot_mem.aot_direct_load16(ctx.gpr[6] + static_cast(8326))); + ctx.gpr[8] = (aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(8326))); ctx.gpr[9] = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); ctx.gpr[10] = (ctx.gpr[8] << 3u); ctx.gpr[10] = (ctx.gpr[8] + ctx.gpr[10]); @@ -6735,7 +6736,7 @@ L_08976F3C: ctx.gpr[8] = (ctx.gpr[9] + ctx.gpr[8]); aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(0), ctx.gpr[8]); aot_gpr_5 = (aot_gpr_5 + static_cast(1)); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(2)); + aot_gpr_6 = (aot_gpr_6 + static_cast(2)); ctx.gpr[8] = (static_cast(aot_gpr_5) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = ctx.gpr[8] != 0u; ctx.gpr[7] = (ctx.gpr[7] + static_cast(4)); @@ -6762,7 +6763,7 @@ L_08976F80: aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(4), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); aot_gpr_16 = aot_run_words[1]; - aot_gpr_17 = aot_run_words[2]; + ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; ctx.gpr[19] = aot_run_words[4]; ctx.gpr[20] = aot_run_words[5]; @@ -6799,12 +6800,12 @@ L_08976FBC: aot_gpr_5 = (17096u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(108), std::bit_cast(aot_fpr_20)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(132), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(132), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(136), ctx.gpr[18]); { const float fs = aot_fpr_22; const float ft = aot_fpr_22; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_20 = std::bit_cast(0x7FC00000u); else aot_fpr_20 = fs * ft; } - ctx.gpr[18] = (ctx.gpr[6] & 255u); + ctx.gpr[18] = (aot_gpr_6 & 255u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_22 <= aot_fpr_12)) ? 0x00800000u : 0u); - aot_gpr_17 = (aot_gpr_4 | 0u); + ctx.gpr[17] = (aot_gpr_4 | 0u); { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(116), aot_run_words); } { const std::uint32_t aot_run_words[7]{ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; @@ -6831,8 +6832,8 @@ L_0897704C: const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_4 = (aot_gpr_17 | 0u); - ctx.gpr[6] = (ctx.gpr[18] | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_6 = (ctx.gpr[18] | 0u); ctx.gpr[7] = (ctx.gpr[13] | 0u); ctx.gpr[8] = (ctx.gpr[12] | 0u); ctx.gpr[9] = (ctx.gpr[3] | 0u); @@ -6880,8 +6881,8 @@ L_089770A0: const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_4 = (aot_gpr_17 | 0u); - ctx.gpr[6] = (ctx.gpr[18] | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_6 = (ctx.gpr[18] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_22)); aot_gpr_31 = (0x089770C0u); ctx.gpr[7] = (ctx.gpr[19] | 0u); @@ -6946,7 +6947,7 @@ L_08977154: ctx.gpr[23] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(104))); ctx.gpr[22] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(100))); aot_gpr_5 = (ctx.lo); - aot_gpr_5 = (aot_gpr_17 + aot_gpr_5); + aot_gpr_5 = (ctx.gpr[17] + aot_gpr_5); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); ctx.gpr[23] = (aot_gpr_4 + ctx.gpr[23]); ctx.gpr[22] = (aot_gpr_4 + ctx.gpr[22]); @@ -6982,7 +6983,7 @@ L_089771A0: } L_089771B4: aot_gpr_4 = (aot_gpr_16 << 3u); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); @@ -7005,7 +7006,7 @@ L_089771D8: goto L_089771E4; } L_089771E4: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); @@ -7028,7 +7029,7 @@ L_08977204: goto L_08977210; } L_08977210: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); @@ -7051,7 +7052,7 @@ L_08977230: } L_08977238: aot_gpr_4 = (aot_gpr_16 << 3u); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); @@ -7076,7 +7077,7 @@ L_08977260: goto L_08977268; } L_08977268: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); @@ -7098,7 +7099,7 @@ L_08977288: goto L_08977290; } L_08977290: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_gpr_5 = (aot_gpr_16 << 3u); aot_gpr_5 = (aot_gpr_16 + aot_gpr_5); aot_gpr_5 = (aot_gpr_16 + aot_gpr_5); @@ -7338,7 +7339,7 @@ L_08977430: ctx.fpr[26] = std::bit_cast(aot_run_words[3]); ctx.fpr[28] = std::bit_cast(aot_run_words[4]); aot_gpr_16 = aot_run_words[5]; - aot_gpr_17 = aot_run_words[6]; + ctx.gpr[17] = aot_run_words[6]; ctx.gpr[18] = aot_run_words[7]; ctx.gpr[19] = aot_run_words[8]; ctx.gpr[20] = aot_run_words[9]; @@ -7357,7 +7358,7 @@ L_08977430: L_08977474: aot_gpr_29 = (aot_gpr_29 + static_cast(-176)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(148), ctx.gpr[21]); - ctx.gpr[21] = (ctx.gpr[6] & 255u); + ctx.gpr[21] = (aot_gpr_6 & 255u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(124), std::bit_cast(ctx.fpr[30])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(128), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(140), ctx.gpr[19]); @@ -7368,7 +7369,7 @@ L_08977474: ctx.gpr[19] = (aot_gpr_4 | 0u); { const std::uint32_t aot_run_words[6]{std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_22), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(100), aot_run_words); } - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(132), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(132), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(136), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(144), ctx.gpr[20]); { const std::uint32_t aot_run_words[3]{ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; @@ -7388,7 +7389,7 @@ L_089774E8: ctx.gpr[23] = (0u | 0u); aot_gpr_4 = (16448u << 16u); ctx.fpr[28] = std::bit_cast(aot_gpr_4); - aot_gpr_17 = (aot_gpr_29 + static_cast(48)); + ctx.gpr[17] = (aot_gpr_29 + static_cast(48)); aot_gpr_4 = (16256u << 16u); aot_fpr_22 = std::bit_cast(aot_gpr_4); ctx.gpr[18] = (aot_gpr_29 + static_cast(64)); @@ -7414,7 +7415,7 @@ L_0897751C: aot_gpr_5 = (ctx.gpr[30] | 0u); ctx.gpr[7] = (aot_gpr_29 + static_cast(4)); aot_gpr_31 = (0x08977538u); - ctx.gpr[6] = (ctx.gpr[21] | 0u); + aot_gpr_6 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0093_entry, 93u, 124u, 0x08978F54u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08977538u) goto L_08977538; AOT_REGCACHE_SYNC_OUT(); return; L_08977538: @@ -7434,8 +7435,8 @@ L_08977538: goto L_08977560; } L_08977560: - ctx.gpr[6] = (aot_gpr_4 + aot_gpr_5); - ctx.gpr[6] = (ctx.gpr[6] << 2u); + aot_gpr_6 = (aot_gpr_4 + aot_gpr_5); + aot_gpr_6 = (aot_gpr_6 << 2u); goto L_08977568; L_08977568: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); @@ -7458,7 +7459,7 @@ L_08977590: ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(100))); ctx.gpr[7] = (ctx.lo); ctx.gpr[7] = (ctx.gpr[19] + ctx.gpr[7]); - ctx.gpr[9] = (ctx.gpr[7] + ctx.gpr[6]); + ctx.gpr[9] = (ctx.gpr[7] + aot_gpr_6); ctx.gpr[7] = (ctx.gpr[9] + ctx.gpr[22]); ctx.gpr[9] = (ctx.gpr[9] + ctx.gpr[21]); goto L_089775AC; @@ -7530,10 +7531,10 @@ L_089775CC: { float vfpu_value[4]{1.0f, 1.0f, 1.0f, 1.0f}; ctx.write_vfpu_vector_with_destination_prefix_ct<98u, 1u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<2u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -7723,7 +7724,7 @@ L_08977794: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(12)); + aot_gpr_6 = (aot_gpr_6 + static_cast(12)); if (branch_taken) { goto L_08977568; } @@ -7770,7 +7771,7 @@ L_089777E4: ctx.fpr[28] = std::bit_cast(aot_run_words[4]); ctx.fpr[30] = std::bit_cast(aot_run_words[5]); aot_gpr_16 = aot_run_words[6]; - aot_gpr_17 = aot_run_words[7]; + ctx.gpr[17] = aot_run_words[7]; ctx.gpr[18] = aot_run_words[8]; ctx.gpr[19] = aot_run_words[9]; ctx.gpr[20] = aot_run_words[10]; @@ -7788,7 +7789,7 @@ L_089777E4: AOT_REGCACHE_SYNC_OUT(); return; L_08977830: aot_gpr_29 = (aot_gpr_29 + static_cast(-96)); - { const bool branch_taken = static_cast(ctx.gpr[6]) < 0; + { const bool branch_taken = static_cast(aot_gpr_6) < 0; // nop if (branch_taken) { goto L_089778F4; @@ -7797,7 +7798,7 @@ L_08977830: } L_0897783C: ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(12))); - ctx.gpr[7] = (static_cast(ctx.gpr[7]) < static_cast(ctx.gpr[6]) ? 1u : 0u); + ctx.gpr[7] = (static_cast(ctx.gpr[7]) < static_cast(aot_gpr_6) ? 1u : 0u); { const bool branch_taken = ctx.gpr[7] != 0u; // nop if (branch_taken) { @@ -7807,9 +7808,9 @@ L_0897783C: } L_0897784C: ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - ctx.gpr[8] = (ctx.gpr[6] << 3u); - ctx.gpr[8] = (ctx.gpr[6] + ctx.gpr[8]); - ctx.gpr[11] = (ctx.gpr[6] + ctx.gpr[8]); + ctx.gpr[8] = (aot_gpr_6 << 3u); + ctx.gpr[8] = (aot_gpr_6 + ctx.gpr[8]); + ctx.gpr[11] = (aot_gpr_6 + ctx.gpr[8]); ctx.gpr[10] = (ctx.gpr[7] + ctx.gpr[11]); ctx.gpr[8] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[10] + static_cast(0)))))); ctx.gpr[9] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[10] + static_cast(2)))))); @@ -7861,10 +7862,10 @@ L_0897784C: goto L_089778B0; } L_089778B0: - ctx.gpr[7] = (ctx.gpr[6] << 3u); + ctx.gpr[7] = (aot_gpr_6 << 3u); ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - ctx.gpr[7] = (ctx.gpr[6] + ctx.gpr[7]); - ctx.gpr[7] = (ctx.gpr[6] + ctx.gpr[7]); + ctx.gpr[7] = (aot_gpr_6 + ctx.gpr[7]); + ctx.gpr[7] = (aot_gpr_6 + ctx.gpr[7]); ctx.gpr[7] = (ctx.gpr[8] + ctx.gpr[7]); ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[7] + static_cast(8)))))); ctx.gpr[7] = (ctx.gpr[7] & 15u); @@ -7930,9 +7931,9 @@ L_089778F4: } L_08977908: ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - ctx.gpr[8] = (ctx.gpr[6] << 3u); - ctx.gpr[8] = (ctx.gpr[6] + ctx.gpr[8]); - ctx.gpr[8] = (ctx.gpr[6] + ctx.gpr[8]); + ctx.gpr[8] = (aot_gpr_6 << 3u); + ctx.gpr[8] = (aot_gpr_6 + ctx.gpr[8]); + ctx.gpr[8] = (aot_gpr_6 + ctx.gpr[8]); ctx.gpr[8] = (ctx.gpr[7] + ctx.gpr[8]); ctx.gpr[8] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[8] + static_cast(6)))))); ctx.gpr[8] = (ctx.gpr[8] + ctx.gpr[8]); @@ -8030,10 +8031,10 @@ L_08977A24: aot_fpr_12 = std::bit_cast(0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - ctx.gpr[7] = (ctx.gpr[6] << 3u); - ctx.gpr[7] = (ctx.gpr[6] + ctx.gpr[7]); - ctx.gpr[6] = (ctx.gpr[6] + ctx.gpr[7]); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); + ctx.gpr[7] = (aot_gpr_6 << 3u); + ctx.gpr[7] = (aot_gpr_6 + ctx.gpr[7]); + aot_gpr_6 = (aot_gpr_6 + ctx.gpr[7]); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(5))); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); @@ -8100,12 +8101,12 @@ L_08977AAC: AOT_REGCACHE_SYNC_OUT(); return; L_08977AB4: aot_gpr_29 = (aot_gpr_29 + static_cast(-112)); - ctx.gpr[6] = (aot_gpr_5 << 3u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(92), aot_gpr_17); + aot_gpr_6 = (aot_gpr_5 << 3u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(92), ctx.gpr[17]); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - aot_gpr_17 = (aot_gpr_5 + ctx.gpr[6]); - aot_gpr_17 = (aot_gpr_5 + aot_gpr_17); - aot_gpr_5 = (ctx.gpr[7] + aot_gpr_17); + ctx.gpr[17] = (aot_gpr_5 + aot_gpr_6); + ctx.gpr[17] = (aot_gpr_5 + ctx.gpr[17]); + aot_gpr_5 = (ctx.gpr[7] + ctx.gpr[17]); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(8)))))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(88), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); @@ -8123,18 +8124,18 @@ L_08977AB4: } L_08977AF8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - aot_gpr_5 = (aot_gpr_4 + aot_gpr_17); + aot_gpr_5 = (aot_gpr_4 + ctx.gpr[17]); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(6)))))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(30040))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(30040))); aot_gpr_5 = (aot_gpr_5 + aot_gpr_5); - aot_gpr_5 = (ctx.gpr[6] + aot_gpr_5); + aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0))); aot_gpr_5 = (aot_gpr_5 & 16383u); aot_gpr_5 = (aot_gpr_5 << 16u); aot_gpr_5 = (static_cast(static_cast(aot_gpr_5) >> 16u)); - ctx.gpr[6] = (aot_gpr_5 << 3u); - ctx.gpr[6] = (aot_gpr_5 + ctx.gpr[6]); - aot_gpr_5 = (aot_gpr_5 + ctx.gpr[6]); + aot_gpr_6 = (aot_gpr_5 << 3u); + aot_gpr_6 = (aot_gpr_5 + aot_gpr_6); + aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); ctx.gpr[18] = (aot_gpr_29 + static_cast(16)); aot_gpr_31 = (0x08977B3Cu); @@ -8142,7 +8143,7 @@ L_08977AF8: goto L_08976968; L_08977B3C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - aot_gpr_4 = (aot_gpr_4 + aot_gpr_17); + aot_gpr_4 = (aot_gpr_4 + ctx.gpr[17]); aot_gpr_16 = (aot_gpr_29 + static_cast(32)); aot_gpr_31 = (0x08977B50u); aot_gpr_5 = (aot_gpr_16 | 0u); @@ -8272,7 +8273,7 @@ L_08977BF8: aot_fpr_20 = std::bit_cast(aot_run_words[0]); aot_fpr_22 = std::bit_cast(aot_run_words[1]); aot_gpr_16 = aot_run_words[2]; - aot_gpr_17 = aot_run_words[3]; + ctx.gpr[17] = aot_run_words[3]; ctx.gpr[18] = aot_run_words[4]; aot_gpr_31 = aot_run_words[5]; } @@ -8284,17 +8285,17 @@ L_08977BF8: AOT_REGCACHE_SYNC_OUT(); return; L_08977C18: aot_gpr_29 = (aot_gpr_29 + static_cast(-96)); - { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_20), aot_gpr_16, aot_gpr_17}; + { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_20), aot_gpr_16, ctx.gpr[17]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(48), aot_run_words); } { const std::uint32_t aot_run_words[4]{ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(64), aot_run_words); } aot_fpr_20 = std::bit_cast(std::bit_cast(aot_fpr_12)); - ctx.gpr[19] = (ctx.gpr[6] & 255u); + ctx.gpr[19] = (aot_gpr_6 & 255u); ctx.gpr[20] = (ctx.gpr[7] & 255u); ctx.gpr[21] = (ctx.gpr[8] & 255u); ctx.gpr[22] = (aot_gpr_5 | 0u); aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_17 = (ctx.gpr[9] | 0u); + ctx.gpr[17] = (ctx.gpr[9] | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(60), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(80), ctx.gpr[23]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(84), aot_gpr_31); @@ -8341,8 +8342,8 @@ L_08977C88: goto L_08977C94; } L_08977C94: - ctx.gpr[6] = (aot_gpr_4 | 0u); - ctx.gpr[7] = (static_cast(ctx.gpr[6]) < static_cast(aot_gpr_5) ? 1u : 0u); + aot_gpr_6 = (aot_gpr_4 | 0u); + ctx.gpr[7] = (static_cast(aot_gpr_6) < static_cast(aot_gpr_5) ? 1u : 0u); { const bool branch_taken = ctx.gpr[7] == 0u; ctx.gpr[8] = (aot_gpr_4 << 3u); if (branch_taken) { @@ -8357,12 +8358,12 @@ L_08977CA4: goto L_08977CB0; L_08977CB0: ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(1)); + aot_gpr_6 = (aot_gpr_6 + static_cast(1)); ctx.gpr[8] = (ctx.gpr[8] + aot_gpr_4); ctx.gpr[9] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[8] + static_cast(8)))))); ctx.gpr[9] = (ctx.gpr[9] & ctx.gpr[7]); aot_mem.aot_direct_store16(ctx.gpr[8] + static_cast(8), static_cast(ctx.gpr[9])); - ctx.gpr[8] = (static_cast(ctx.gpr[6]) < static_cast(aot_gpr_5) ? 1u : 0u); + ctx.gpr[8] = (static_cast(aot_gpr_6) < static_cast(aot_gpr_5) ? 1u : 0u); { const bool branch_taken = ctx.gpr[8] != 0u; aot_gpr_4 = (aot_gpr_4 + static_cast(10)); if (branch_taken) { @@ -8371,7 +8372,7 @@ L_08977CB0: goto L_08977CD4; } L_08977CD4: - { const bool branch_taken = static_cast(aot_gpr_17) <= 0; + { const bool branch_taken = static_cast(ctx.gpr[17]) <= 0; ctx.gpr[23] = (aot_gpr_29 + static_cast(32)); if (branch_taken) { goto L_08977D4C; @@ -8394,7 +8395,7 @@ L_08977CDC: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[23] | 0u); - ctx.gpr[6] = (ctx.gpr[19] | 0u); + aot_gpr_6 = (ctx.gpr[19] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); ctx.gpr[7] = (ctx.gpr[20] | 0u); ctx.gpr[8] = (ctx.gpr[21] | 0u); @@ -8413,10 +8414,10 @@ L_08977D0C: goto L_08977D18; } L_08977D18: - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); aot_gpr_5 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); - aot_gpr_4 = (ctx.gpr[6] + aot_gpr_4); + aot_gpr_4 = (aot_gpr_6 + aot_gpr_4); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(8)))))); aot_gpr_5 = (aot_gpr_5 | 512u); { const bool branch_taken = 0u == 0u; @@ -8435,8 +8436,8 @@ L_08977D38: goto L_08977D40; } L_08977D40: - aot_gpr_17 = (aot_gpr_17 + static_cast(-1)); - { const bool branch_taken = static_cast(aot_gpr_17) > 0; + ctx.gpr[17] = (ctx.gpr[17] + static_cast(-1)); + { const bool branch_taken = static_cast(ctx.gpr[17]) > 0; // nop if (branch_taken) { goto L_08977CDC; @@ -8459,7 +8460,7 @@ L_08977D4C: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (ctx.gpr[19] | 0u); + aot_gpr_6 = (ctx.gpr[19] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); ctx.gpr[7] = (ctx.gpr[20] | 0u); ctx.gpr[8] = (ctx.gpr[21] | 0u); @@ -8473,7 +8474,7 @@ L_08977D7C: aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(48), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); aot_gpr_16 = aot_run_words[1]; - aot_gpr_17 = aot_run_words[2]; + ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; ctx.gpr[19] = aot_run_words[4]; ctx.gpr[20] = aot_run_words[5]; @@ -8503,7 +8504,7 @@ L_08977DAC: ctx.fpr[26] = std::bit_cast(std::bit_cast(ctx.fpr[14])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), std::bit_cast(aot_fpr_20)); ctx.fpr[24] = std::bit_cast(std::bit_cast(ctx.fpr[15])); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), ctx.gpr[17]); aot_fpr_22 = std::bit_cast(std::bit_cast(ctx.fpr[16])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), aot_gpr_31); { const bool branch_taken = aot_gpr_4 == 0u; @@ -8514,11 +8515,11 @@ L_08977DAC: goto L_08977E04; } L_08977E04: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); goto L_08977E08; L_08977E08: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - ctx.gpr[10] = (aot_gpr_4 + aot_gpr_17); + ctx.gpr[10] = (aot_gpr_4 + ctx.gpr[17]); ctx.gpr[8] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[10] + static_cast(0)))))); ctx.gpr[9] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[10] + static_cast(2)))))); ctx.gpr[10] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[10] + static_cast(4)))))); @@ -8625,7 +8626,7 @@ L_08977EB0: } L_08977EC4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - aot_gpr_4 = (aot_gpr_4 + aot_gpr_17); + aot_gpr_4 = (aot_gpr_4 + ctx.gpr[17]); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(8)))))); aot_gpr_4 = (aot_gpr_4 & 64u); { const bool branch_taken = aot_gpr_4 != 0u; @@ -8646,7 +8647,7 @@ L_08977EE8: ctx.gpr[18] = (ctx.gpr[18] + static_cast(1)); aot_gpr_4 = (static_cast(ctx.gpr[18]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(10)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(10)); if (branch_taken) { goto L_08977E08; } @@ -8662,7 +8663,7 @@ L_08977EFC: ctx.fpr[28] = std::bit_cast(aot_run_words[4]); ctx.fpr[30] = std::bit_cast(aot_run_words[5]); aot_gpr_16 = aot_run_words[6]; - aot_gpr_17 = aot_run_words[7]; + ctx.gpr[17] = aot_run_words[7]; ctx.gpr[18] = aot_run_words[8]; aot_gpr_31 = aot_run_words[9]; } @@ -8674,9 +8675,9 @@ L_08977EFC: AOT_REGCACHE_SYNC_OUT(); return; L_08977F2C: aot_gpr_29 = (aot_gpr_29 + static_cast(-160)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(120), aot_gpr_17); - ctx.gpr[6] = (ctx.gpr[6] & 255u); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(160))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(120), ctx.gpr[17]); + aot_gpr_6 = (aot_gpr_6 & 255u); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(160))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(108), std::bit_cast(aot_fpr_20)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(116), aot_gpr_16); { const std::uint32_t aot_run_words[6]{ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30]}; @@ -8684,7 +8685,7 @@ L_08977F2C: aot_fpr_20 = std::bit_cast(std::bit_cast(aot_fpr_12)); ctx.gpr[22] = (ctx.gpr[9] & 255u); ctx.gpr[21] = (ctx.gpr[10] & 255u); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(96), static_cast(ctx.gpr[6])); + aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(96), static_cast(aot_gpr_6)); ctx.gpr[20] = (ctx.gpr[11] & 255u); aot_gpr_16 = (aot_gpr_4 | 0u); ctx.gpr[19] = (aot_gpr_5 | 0u); @@ -8716,7 +8717,7 @@ L_08977FA8: const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(96))); + aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(96))); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (aot_gpr_29 | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_22)); diff --git a/profiles/vcs/generated/generated_unit_0093.cpp b/profiles/vcs/generated/generated_unit_0093.cpp index afdb7b7..e7b451e 100644 --- a/profiles/vcs/generated/generated_unit_0093.cpp +++ b/profiles/vcs/generated/generated_unit_0093.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0093[4095] = { }; void recomp_unit_0093_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,6,7,16 fprs=12,13,14,15 gpr_occ=3197 fpr_occ=1027 gpr_total=5081 fpr_total=1479 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,6,7,2 fprs=12,13,14,15 gpr_occ=3232 fpr_occ=1039 gpr_total=5175 fpr_total=1491 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_6 = ctx.gpr[6]; std::uint32_t aot_gpr_7 = ctx.gpr[7]; - std::uint32_t aot_gpr_16 = ctx.gpr[16]; + std::uint32_t aot_gpr_2 = ctx.gpr[2]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_14 = ctx.fpr[14]; float aot_fpr_15 = ctx.fpr[15]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[6] = aot_gpr_6; ctx.gpr[7] = aot_gpr_7; ctx.gpr[16] = aot_gpr_16; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[15] = aot_fpr_15; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_7 = ctx.gpr[7]; aot_gpr_16 = ctx.gpr[16]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_15 = ctx.fpr[15]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[6] = aot_gpr_6; ctx.gpr[7] = aot_gpr_7; ctx.gpr[2] = aot_gpr_2; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[15] = aot_fpr_15; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_7 = ctx.gpr[7]; aot_gpr_2 = ctx.gpr[2]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_15 = ctx.fpr[15]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -805,7 +806,7 @@ L_0897803C: { const std::int64_t product = static_cast(static_cast(ctx.gpr[15])) * static_cast(static_cast(aot_gpr_4)); ctx.lo = static_cast(product); ctx.hi = static_cast(static_cast(product) >> 32u); } ctx.gpr[10] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(96))); aot_gpr_4 = (ctx.lo); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[25]); ctx.gpr[11] = (aot_gpr_4 + ctx.gpr[31]); ctx.gpr[10] = (aot_gpr_4 + ctx.gpr[10]); @@ -845,14 +846,14 @@ L_08978080: goto L_08978090; } L_08978090: - ctx.gpr[2] = (aot_gpr_4 << 3u); - ctx.gpr[2] = (aot_gpr_4 + ctx.gpr[2]); - ctx.gpr[3] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - ctx.gpr[2] = (aot_gpr_4 + ctx.gpr[2]); - ctx.gpr[2] = (ctx.gpr[3] + ctx.gpr[2]); - ctx.gpr[2] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(8)))))); - ctx.gpr[2] = (ctx.gpr[2] & 32u); - { const bool branch_taken = ctx.gpr[2] != 0u; + aot_gpr_2 = (aot_gpr_4 << 3u); + aot_gpr_2 = (aot_gpr_4 + aot_gpr_2); + ctx.gpr[3] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); + aot_gpr_2 = (aot_gpr_4 + aot_gpr_2); + aot_gpr_2 = (ctx.gpr[3] + aot_gpr_2); + aot_gpr_2 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(8)))))); + aot_gpr_2 = (aot_gpr_2 & 32u); + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08978214; @@ -861,20 +862,20 @@ L_08978090: } L_089780B4: { const bool branch_taken = ctx.gpr[21] == 0u; - ctx.gpr[2] = (aot_gpr_4 << 3u); + aot_gpr_2 = (aot_gpr_4 << 3u); if (branch_taken) { goto L_089780DC; } goto L_089780BC; } L_089780BC: - ctx.gpr[2] = (aot_gpr_4 + ctx.gpr[2]); - ctx.gpr[3] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - ctx.gpr[2] = (aot_gpr_4 + ctx.gpr[2]); - ctx.gpr[2] = (ctx.gpr[3] + ctx.gpr[2]); - ctx.gpr[2] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(8)))))); - ctx.gpr[2] = (ctx.gpr[2] & 64u); - { const bool branch_taken = ctx.gpr[2] != 0u; + aot_gpr_2 = (aot_gpr_4 + aot_gpr_2); + ctx.gpr[3] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); + aot_gpr_2 = (aot_gpr_4 + aot_gpr_2); + aot_gpr_2 = (ctx.gpr[3] + aot_gpr_2); + aot_gpr_2 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(8)))))); + aot_gpr_2 = (aot_gpr_2 & 64u); + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08978214; @@ -883,20 +884,20 @@ L_089780BC: } L_089780DC: { const bool branch_taken = ctx.gpr[20] == 0u; - ctx.gpr[2] = (aot_gpr_4 << 3u); + aot_gpr_2 = (aot_gpr_4 << 3u); if (branch_taken) { goto L_08978104; } goto L_089780E4; } L_089780E4: - ctx.gpr[2] = (aot_gpr_4 + ctx.gpr[2]); - ctx.gpr[3] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - ctx.gpr[2] = (aot_gpr_4 + ctx.gpr[2]); - ctx.gpr[2] = (ctx.gpr[3] + ctx.gpr[2]); - ctx.gpr[2] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(8)))))); - ctx.gpr[2] = (ctx.gpr[2] & 512u); - { const bool branch_taken = ctx.gpr[2] != 0u; + aot_gpr_2 = (aot_gpr_4 + aot_gpr_2); + ctx.gpr[3] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); + aot_gpr_2 = (aot_gpr_4 + aot_gpr_2); + aot_gpr_2 = (ctx.gpr[3] + aot_gpr_2); + aot_gpr_2 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(8)))))); + aot_gpr_2 = (aot_gpr_2 & 512u); + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08978214; @@ -905,40 +906,40 @@ L_089780E4: } L_08978104: { const bool branch_taken = ctx.gpr[17] != 0u; - ctx.gpr[2] = (aot_gpr_4 << 3u); + aot_gpr_2 = (aot_gpr_4 << 3u); if (branch_taken) { goto L_0897812C; } goto L_0897810C; } L_0897810C: - ctx.gpr[2] = (aot_gpr_4 + ctx.gpr[2]); - ctx.gpr[3] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - ctx.gpr[2] = (aot_gpr_4 + ctx.gpr[2]); - ctx.gpr[2] = (ctx.gpr[3] + ctx.gpr[2]); - ctx.gpr[2] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(8)))))); - ctx.gpr[2] = (ctx.gpr[2] & 256u); - if (ctx.gpr[2] == 0u) { + aot_gpr_2 = (aot_gpr_4 + aot_gpr_2); + ctx.gpr[3] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); + aot_gpr_2 = (aot_gpr_4 + aot_gpr_2); + aot_gpr_2 = (ctx.gpr[3] + aot_gpr_2); + aot_gpr_2 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(8)))))); + aot_gpr_2 = (aot_gpr_2 & 256u); + if (aot_gpr_2 == 0u) { aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(104), ctx.gpr[10]); goto L_08978160; } goto L_0897812C; L_0897812C: { const bool branch_taken = ctx.gpr[17] != ctx.gpr[14]; - ctx.gpr[2] = (aot_gpr_4 << 3u); + aot_gpr_2 = (aot_gpr_4 << 3u); if (branch_taken) { goto L_08978154; } goto L_08978134; } L_08978134: - ctx.gpr[2] = (aot_gpr_4 + ctx.gpr[2]); - ctx.gpr[3] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - ctx.gpr[2] = (aot_gpr_4 + ctx.gpr[2]); - ctx.gpr[2] = (ctx.gpr[3] + ctx.gpr[2]); - ctx.gpr[2] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(8)))))); - ctx.gpr[2] = (ctx.gpr[2] & 256u); - if (ctx.gpr[2] != 0u) { + aot_gpr_2 = (aot_gpr_4 + aot_gpr_2); + ctx.gpr[3] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); + aot_gpr_2 = (aot_gpr_4 + aot_gpr_2); + aot_gpr_2 = (ctx.gpr[3] + aot_gpr_2); + aot_gpr_2 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(8)))))); + aot_gpr_2 = (aot_gpr_2 & 256u); + if (aot_gpr_2 != 0u) { aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(104), ctx.gpr[10]); goto L_08978160; } @@ -955,16 +956,16 @@ L_0897815C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(104), ctx.gpr[10]); goto L_08978160; L_08978160: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_2 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); ctx.gpr[3] = (aot_gpr_4 << 3u); ctx.gpr[3] = (aot_gpr_4 + ctx.gpr[3]); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[3]); - ctx.gpr[2] = (ctx.gpr[2] + aot_gpr_4); + aot_gpr_2 = (aot_gpr_2 + aot_gpr_4); ctx.gpr[3] = (ctx.gpr[8] | 0u); - ctx.gpr[8] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(0)))))); + ctx.gpr[8] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(0)))))); ctx.gpr[12] = (ctx.gpr[9] | 0u); - ctx.gpr[9] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(2)))))); - ctx.gpr[10] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(4)))))); + ctx.gpr[9] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(2)))))); + ctx.gpr[10] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(4)))))); ctx.set_vfpu_scalar_bits_ct<1u>(ctx.gpr[8]); ctx.set_vfpu_scalar_bits_ct<33u>(ctx.gpr[9]); ctx.set_vfpu_scalar_bits_ct<32u>(ctx.gpr[10]); @@ -1048,9 +1049,9 @@ L_08978160: goto L_089781F0; } L_089781F0: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_2 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); ctx.gpr[18] = (ctx.gpr[18] + static_cast(1)); - aot_gpr_4 = (ctx.gpr[2] + aot_gpr_4); + aot_gpr_4 = (aot_gpr_2 + aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_4); aot_gpr_5 = (aot_gpr_5 + static_cast(4)); goto L_08978204; @@ -1064,7 +1065,7 @@ L_08978204: } L_0897820C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (ctx.gpr[18] | 0u); + aot_gpr_2 = (ctx.gpr[18] | 0u); if (branch_taken) { goto L_08978270; } @@ -1111,14 +1112,14 @@ L_0897824C: goto L_0897826C; } L_0897826C: - ctx.gpr[2] = (ctx.gpr[18] | 0u); + aot_gpr_2 = (ctx.gpr[18] | 0u); goto L_08978270; L_08978270: { std::uint32_t aot_run_words[12]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(108), aot_run_words); ctx.fpr[20] = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); - aot_gpr_16 = aot_run_words[2]; + ctx.gpr[16] = aot_run_words[2]; ctx.gpr[17] = aot_run_words[3]; ctx.gpr[18] = aot_run_words[4]; ctx.gpr[19] = aot_run_words[5]; @@ -1248,10 +1249,10 @@ L_089783AC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), ctx.gpr[19]); ctx.gpr[19] = (aot_gpr_5 & 255u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), ctx.gpr[18]); ctx.gpr[18] = (0u | 0u); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); { const std::uint32_t aot_run_words[5]{std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(20), aot_run_words); } ctx.fpr[28] = std::bit_cast(std::bit_cast(aot_fpr_13)); @@ -1274,7 +1275,7 @@ L_0897840C: ctx.gpr[17] = (0u | 0u); goto L_08978410; L_08978410: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); ctx.gpr[10] = (aot_gpr_4 + ctx.gpr[17]); ctx.gpr[8] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[10] + static_cast(0)))))); ctx.gpr[9] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[10] + static_cast(2)))))); @@ -1381,7 +1382,7 @@ L_089784B8: goto L_089784CC; } L_089784CC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[17]); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(8)))))); aot_gpr_4 = (aot_gpr_4 & 32u); @@ -1394,13 +1395,13 @@ L_089784CC: goto L_089784E8; } L_089784E8: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); ctx.gpr[31] = (0x089784F8u); aot_gpr_6 = (ctx.gpr[19] | 0u); goto L_089794A0; L_089784F8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(16))); ctx.gpr[18] = (ctx.gpr[18] + static_cast(1)); aot_gpr_4 = (static_cast(ctx.gpr[18]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; @@ -1419,7 +1420,7 @@ L_0897850C: ctx.fpr[26] = std::bit_cast(aot_run_words[3]); ctx.fpr[28] = std::bit_cast(aot_run_words[4]); ctx.fpr[30] = std::bit_cast(aot_run_words[5]); - aot_gpr_16 = aot_run_words[6]; + ctx.gpr[16] = aot_run_words[6]; ctx.gpr[17] = aot_run_words[7]; ctx.gpr[18] = aot_run_words[8]; ctx.gpr[19] = aot_run_words[9]; @@ -1438,8 +1439,8 @@ L_08978540: ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); ctx.gpr[19] = (aot_gpr_5 & 255u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(12))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); { const std::uint32_t aot_run_words[5]{std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(20), aot_run_words); } ctx.fpr[28] = std::bit_cast(std::bit_cast(aot_fpr_13)); @@ -1464,7 +1465,7 @@ L_089785A0: ctx.gpr[17] = (ctx.gpr[18] + ctx.gpr[17]); goto L_089785AC; L_089785AC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); ctx.gpr[10] = (aot_gpr_4 + ctx.gpr[17]); ctx.gpr[8] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[10] + static_cast(0)))))); ctx.gpr[9] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[10] + static_cast(2)))))); @@ -1571,7 +1572,7 @@ L_08978654: goto L_08978668; } L_08978668: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[17]); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(8)))))); aot_gpr_4 = (aot_gpr_4 & 32u); @@ -1584,13 +1585,13 @@ L_08978668: goto L_08978684; } L_08978684: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); ctx.gpr[31] = (0x08978694u); aot_gpr_6 = (ctx.gpr[19] | 0u); goto L_089794A0; L_08978694: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(12))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(12))); ctx.gpr[18] = (ctx.gpr[18] + static_cast(1)); aot_gpr_4 = (static_cast(ctx.gpr[18]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; @@ -1609,7 +1610,7 @@ L_089786A8: ctx.fpr[26] = std::bit_cast(aot_run_words[3]); ctx.fpr[28] = std::bit_cast(aot_run_words[4]); ctx.fpr[30] = std::bit_cast(aot_run_words[5]); - aot_gpr_16 = aot_run_words[6]; + ctx.gpr[16] = aot_run_words[6]; ctx.gpr[17] = aot_run_words[7]; ctx.gpr[18] = aot_run_words[8]; ctx.gpr[19] = aot_run_words[9]; @@ -1644,7 +1645,7 @@ L_089786DC: ctx.fpr[19] = std::bit_cast(std::bit_cast(aot_fpr_14)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(188), std::bit_cast(ctx.fpr[26])); ctx.fpr[2] = std::bit_cast(std::bit_cast(ctx.fpr[16])); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(200), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(200), ctx.gpr[16]); ctx.fpr[30] = std::bit_cast(std::bit_cast(ctx.fpr[17])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(204), ctx.gpr[17]); ctx.fpr[22] = std::bit_cast(aot_gpr_4); @@ -1658,7 +1659,7 @@ L_089786DC: goto L_08978768; } L_08978768: - aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(16))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(16))); { const bool branch_taken = 0u == 0u; aot_gpr_4 = (0u | 0u); if (branch_taken) { @@ -1668,7 +1669,7 @@ L_08978768: } L_08978774: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(16))); - aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(12))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(12))); goto L_0897877C; L_0897877C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(164), aot_gpr_4); @@ -1854,9 +1855,9 @@ L_08978914: goto L_08978948; L_08978948: ctx.gpr[17] = (aot_gpr_4 | 0u); - aot_gpr_5 = (static_cast(ctx.gpr[17]) < static_cast(aot_gpr_16) ? 1u : 0u); + aot_gpr_5 = (static_cast(ctx.gpr[17]) < static_cast(ctx.gpr[16]) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(144), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(144), ctx.gpr[16]); if (branch_taken) { goto L_08978B30; } @@ -1867,18 +1868,18 @@ L_08978958: aot_gpr_5 = (aot_gpr_4 << 3u); ctx.gpr[19] = (ctx.gpr[19] < static_cast(1) ? 1u : 0u); ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); - aot_gpr_16 = (aot_gpr_4 + aot_gpr_5); + ctx.gpr[16] = (aot_gpr_4 + aot_gpr_5); ctx.gpr[30] = (aot_gpr_29 + static_cast(32)); ctx.gpr[23] = (aot_gpr_29 + static_cast(48)); ctx.gpr[22] = (aot_gpr_29 + static_cast(80)); ctx.gpr[21] = (aot_gpr_29 + static_cast(96)); ctx.gpr[20] = (ctx.gpr[19] & 255u); ctx.fpr[20] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(68))); - aot_gpr_16 = (aot_gpr_4 + aot_gpr_16); + ctx.gpr[16] = (aot_gpr_4 + ctx.gpr[16]); goto L_08978988; L_08978988: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); - ctx.gpr[10] = (aot_gpr_4 + aot_gpr_16); + ctx.gpr[10] = (aot_gpr_4 + ctx.gpr[16]); ctx.gpr[8] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[10] + static_cast(0)))))); ctx.gpr[9] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[10] + static_cast(2)))))); ctx.gpr[10] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[10] + static_cast(4)))))); @@ -1931,7 +1932,7 @@ L_08978988: } L_089789E4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); - ctx.gpr[10] = (aot_gpr_4 + aot_gpr_16); + ctx.gpr[10] = (aot_gpr_4 + ctx.gpr[16]); ctx.gpr[8] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[10] + static_cast(0)))))); ctx.gpr[9] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[10] + static_cast(2)))))); ctx.gpr[10] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[10] + static_cast(4)))))); @@ -1985,7 +1986,7 @@ L_08978A3C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); aot_gpr_5 = (ctx.gpr[22] | 0u); ctx.gpr[31] = (0x08978A4Cu); - aot_gpr_4 = (aot_gpr_4 + aot_gpr_16); + aot_gpr_4 = (aot_gpr_4 + ctx.gpr[16]); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0092_entry, 92u, 583u, 0x08976968u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08978A4Cu) goto L_08978A4C; AOT_REGCACHE_SYNC_OUT(); return; L_08978A4C: @@ -1995,7 +1996,7 @@ L_08978A4C: ctx.fpr[22] = aot_fpr_12 - ctx.fpr[22]; aot_gpr_5 = (ctx.gpr[21] | 0u); ctx.gpr[31] = (0x08978A68u); - aot_gpr_4 = (aot_gpr_4 + aot_gpr_16); + aot_gpr_4 = (aot_gpr_4 + ctx.gpr[16]); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0092_entry, 92u, 583u, 0x08976968u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08978A68u) goto L_08978A68; AOT_REGCACHE_SYNC_OUT(); return; L_08978A68: @@ -2056,7 +2057,7 @@ L_08978AD4: } L_08978AE8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); - aot_gpr_4 = (aot_gpr_4 + aot_gpr_16); + aot_gpr_4 = (aot_gpr_4 + ctx.gpr[16]); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(8)))))); aot_gpr_4 = (aot_gpr_4 & 32u); aot_gpr_4 = (aot_gpr_4 >> 5u); @@ -2078,7 +2079,7 @@ L_08978B14: ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); aot_gpr_4 = (static_cast(ctx.gpr[17]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_16 = (aot_gpr_16 + static_cast(10)); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(10)); if (branch_taken) { goto L_08978988; } @@ -2097,7 +2098,7 @@ L_08978B30: ctx.fpr[26] = std::bit_cast(aot_run_words[3]); ctx.fpr[28] = std::bit_cast(aot_run_words[4]); ctx.fpr[30] = std::bit_cast(aot_run_words[5]); - aot_gpr_16 = aot_run_words[6]; + ctx.gpr[16] = aot_run_words[6]; ctx.gpr[17] = aot_run_words[7]; ctx.gpr[18] = aot_run_words[8]; ctx.gpr[19] = aot_run_words[9]; @@ -2128,8 +2129,8 @@ L_08978B78: ctx.gpr[3] = (ctx.gpr[3] | 62390u); ctx.gpr[11] = (ctx.gpr[11] + static_cast(-7)); aot_fpr_12 = std::bit_cast(ctx.gpr[3]); - ctx.gpr[2] = (static_cast(ctx.gpr[10]) < static_cast(ctx.gpr[9]) ? 1u : 0u); - { const bool branch_taken = ctx.gpr[2] == 0u; + aot_gpr_2 = (static_cast(ctx.gpr[10]) < static_cast(ctx.gpr[9]) ? 1u : 0u); + { const bool branch_taken = aot_gpr_2 == 0u; aot_gpr_6 = (aot_gpr_6 + static_cast(-7)); if (branch_taken) { goto L_08978BD8; @@ -2301,9 +2302,9 @@ L_08978D30: ctx.gpr[11] = (ctx.gpr[11] & 16383u); ctx.gpr[11] = (ctx.gpr[11] << 16u); ctx.gpr[11] = (static_cast(static_cast(ctx.gpr[11]) >> 16u)); - ctx.gpr[2] = (ctx.gpr[11] << 3u); - ctx.gpr[2] = (ctx.gpr[11] + ctx.gpr[2]); - ctx.gpr[11] = (ctx.gpr[11] + ctx.gpr[2]); + aot_gpr_2 = (ctx.gpr[11] << 3u); + aot_gpr_2 = (ctx.gpr[11] + aot_gpr_2); + ctx.gpr[11] = (ctx.gpr[11] + aot_gpr_2); ctx.gpr[11] = (aot_gpr_7 + ctx.gpr[11]); { const bool branch_taken = ctx.gpr[11] != aot_gpr_6; // nop @@ -2328,7 +2329,7 @@ L_08978D60: } L_08978D80: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_08978DAC; } @@ -2336,7 +2337,7 @@ L_08978D80: } L_08978D88: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08978DAC; } @@ -2355,7 +2356,7 @@ L_08978D90: goto L_08978DA8; } L_08978DA8: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_08978DAC; L_08978DAC: jump_target = ctx.gpr[31]; @@ -2389,9 +2390,9 @@ L_08978DDC: ctx.gpr[11] = (ctx.gpr[11] & 16383u); ctx.gpr[11] = (ctx.gpr[11] << 16u); ctx.gpr[11] = (static_cast(static_cast(ctx.gpr[11]) >> 16u)); - ctx.gpr[2] = (ctx.gpr[11] << 3u); - ctx.gpr[2] = (ctx.gpr[11] + ctx.gpr[2]); - ctx.gpr[11] = (ctx.gpr[11] + ctx.gpr[2]); + aot_gpr_2 = (ctx.gpr[11] << 3u); + aot_gpr_2 = (ctx.gpr[11] + aot_gpr_2); + ctx.gpr[11] = (ctx.gpr[11] + aot_gpr_2); ctx.gpr[11] = (aot_gpr_7 + ctx.gpr[11]); { const bool branch_taken = ctx.gpr[11] != aot_gpr_6; // nop @@ -2416,7 +2417,7 @@ L_08978E0C: } L_08978E2C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_08978E58; } @@ -2424,7 +2425,7 @@ L_08978E2C: } L_08978E34: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08978E58; } @@ -2443,7 +2444,7 @@ L_08978E3C: goto L_08978E54; } L_08978E54: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_08978E58; L_08978E58: jump_target = ctx.gpr[31]; @@ -2690,7 +2691,7 @@ L_089790B0: aot_gpr_6 = (aot_gpr_6 & 255u); ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(160))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(112), std::bit_cast(ctx.fpr[20])); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(116), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(116), ctx.gpr[16]); { const std::uint32_t aot_run_words[6]{ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(128), aot_run_words); } ctx.fpr[20] = std::bit_cast(std::bit_cast(aot_fpr_12)); @@ -2698,7 +2699,7 @@ L_089790B0: ctx.gpr[21] = (ctx.gpr[10] & 255u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(96), static_cast(aot_gpr_6)); ctx.gpr[20] = (ctx.gpr[11] & 255u); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.gpr[19] = (aot_gpr_5 | 0u); ctx.gpr[23] = (aot_gpr_7 | 0u); ctx.gpr[30] = (ctx.gpr[8] | 0u); @@ -2726,7 +2727,7 @@ L_08979120: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(96))); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (aot_gpr_29 | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); ctx.gpr[31] = (0x08979140u); @@ -2785,7 +2786,7 @@ L_089791C8: ctx.gpr[10] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(100))); ctx.gpr[9] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(96))); aot_gpr_4 = (ctx.lo); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[31]); ctx.gpr[10] = (aot_gpr_4 + ctx.gpr[10]); ctx.gpr[9] = (aot_gpr_4 + ctx.gpr[9]); @@ -2825,14 +2826,14 @@ L_08979210: goto L_08979220; } L_08979220: - ctx.gpr[2] = (aot_gpr_4 << 3u); - ctx.gpr[2] = (aot_gpr_4 + ctx.gpr[2]); - ctx.gpr[3] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - ctx.gpr[2] = (aot_gpr_4 + ctx.gpr[2]); - ctx.gpr[2] = (ctx.gpr[3] + ctx.gpr[2]); - ctx.gpr[2] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(8)))))); - ctx.gpr[2] = (ctx.gpr[2] & 32u); - { const bool branch_taken = ctx.gpr[2] != 0u; + aot_gpr_2 = (aot_gpr_4 << 3u); + aot_gpr_2 = (aot_gpr_4 + aot_gpr_2); + ctx.gpr[3] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); + aot_gpr_2 = (aot_gpr_4 + aot_gpr_2); + aot_gpr_2 = (ctx.gpr[3] + aot_gpr_2); + aot_gpr_2 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(8)))))); + aot_gpr_2 = (aot_gpr_2 & 32u); + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08979410; @@ -2841,20 +2842,20 @@ L_08979220: } L_08979244: { const bool branch_taken = ctx.gpr[21] == 0u; - ctx.gpr[2] = (aot_gpr_4 << 3u); + aot_gpr_2 = (aot_gpr_4 << 3u); if (branch_taken) { goto L_0897926C; } goto L_0897924C; } L_0897924C: - ctx.gpr[2] = (aot_gpr_4 + ctx.gpr[2]); - ctx.gpr[3] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - ctx.gpr[2] = (aot_gpr_4 + ctx.gpr[2]); - ctx.gpr[2] = (ctx.gpr[3] + ctx.gpr[2]); - ctx.gpr[2] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(8)))))); - ctx.gpr[2] = (ctx.gpr[2] & 64u); - { const bool branch_taken = ctx.gpr[2] != 0u; + aot_gpr_2 = (aot_gpr_4 + aot_gpr_2); + ctx.gpr[3] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); + aot_gpr_2 = (aot_gpr_4 + aot_gpr_2); + aot_gpr_2 = (ctx.gpr[3] + aot_gpr_2); + aot_gpr_2 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(8)))))); + aot_gpr_2 = (aot_gpr_2 & 64u); + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08979410; @@ -2863,20 +2864,20 @@ L_0897924C: } L_0897926C: { const bool branch_taken = ctx.gpr[20] == 0u; - ctx.gpr[2] = (aot_gpr_4 << 3u); + aot_gpr_2 = (aot_gpr_4 << 3u); if (branch_taken) { goto L_08979294; } goto L_08979274; } L_08979274: - ctx.gpr[2] = (aot_gpr_4 + ctx.gpr[2]); - ctx.gpr[3] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - ctx.gpr[2] = (aot_gpr_4 + ctx.gpr[2]); - ctx.gpr[2] = (ctx.gpr[3] + ctx.gpr[2]); - ctx.gpr[2] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(8)))))); - ctx.gpr[2] = (ctx.gpr[2] & 512u); - { const bool branch_taken = ctx.gpr[2] != 0u; + aot_gpr_2 = (aot_gpr_4 + aot_gpr_2); + ctx.gpr[3] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); + aot_gpr_2 = (aot_gpr_4 + aot_gpr_2); + aot_gpr_2 = (ctx.gpr[3] + aot_gpr_2); + aot_gpr_2 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(8)))))); + aot_gpr_2 = (aot_gpr_2 & 512u); + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08979410; @@ -2885,40 +2886,40 @@ L_08979274: } L_08979294: { const bool branch_taken = ctx.gpr[18] != 0u; - ctx.gpr[2] = (aot_gpr_4 << 3u); + aot_gpr_2 = (aot_gpr_4 << 3u); if (branch_taken) { goto L_089792BC; } goto L_0897929C; } L_0897929C: - ctx.gpr[2] = (aot_gpr_4 + ctx.gpr[2]); - ctx.gpr[3] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - ctx.gpr[2] = (aot_gpr_4 + ctx.gpr[2]); - ctx.gpr[2] = (ctx.gpr[3] + ctx.gpr[2]); - ctx.gpr[2] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(8)))))); - ctx.gpr[2] = (ctx.gpr[2] & 256u); - if (ctx.gpr[2] == 0u) { + aot_gpr_2 = (aot_gpr_4 + aot_gpr_2); + ctx.gpr[3] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); + aot_gpr_2 = (aot_gpr_4 + aot_gpr_2); + aot_gpr_2 = (ctx.gpr[3] + aot_gpr_2); + aot_gpr_2 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(8)))))); + aot_gpr_2 = (aot_gpr_2 & 256u); + if (aot_gpr_2 == 0u) { aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(108), ctx.gpr[10]); goto L_089792F0; } goto L_089792BC; L_089792BC: { const bool branch_taken = ctx.gpr[18] != ctx.gpr[15]; - ctx.gpr[2] = (aot_gpr_4 << 3u); + aot_gpr_2 = (aot_gpr_4 << 3u); if (branch_taken) { goto L_089792E4; } goto L_089792C4; } L_089792C4: - ctx.gpr[2] = (aot_gpr_4 + ctx.gpr[2]); - ctx.gpr[3] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - ctx.gpr[2] = (aot_gpr_4 + ctx.gpr[2]); - ctx.gpr[2] = (ctx.gpr[3] + ctx.gpr[2]); - ctx.gpr[2] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(8)))))); - ctx.gpr[2] = (ctx.gpr[2] & 256u); - if (ctx.gpr[2] != 0u) { + aot_gpr_2 = (aot_gpr_4 + aot_gpr_2); + ctx.gpr[3] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); + aot_gpr_2 = (aot_gpr_4 + aot_gpr_2); + aot_gpr_2 = (ctx.gpr[3] + aot_gpr_2); + aot_gpr_2 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(8)))))); + aot_gpr_2 = (aot_gpr_2 & 256u); + if (aot_gpr_2 != 0u) { aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(108), ctx.gpr[10]); goto L_089792F0; } @@ -2935,16 +2936,16 @@ L_089792EC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(108), ctx.gpr[10]); goto L_089792F0; L_089792F0: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_2 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); ctx.gpr[3] = (aot_gpr_4 << 3u); ctx.gpr[3] = (aot_gpr_4 + ctx.gpr[3]); ctx.gpr[3] = (aot_gpr_4 + ctx.gpr[3]); - ctx.gpr[2] = (ctx.gpr[2] + ctx.gpr[3]); + aot_gpr_2 = (aot_gpr_2 + ctx.gpr[3]); ctx.gpr[3] = (ctx.gpr[8] | 0u); - ctx.gpr[8] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(0)))))); + ctx.gpr[8] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(0)))))); ctx.gpr[12] = (ctx.gpr[9] | 0u); - ctx.gpr[9] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(2)))))); - ctx.gpr[10] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(4)))))); + ctx.gpr[9] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(2)))))); + ctx.gpr[10] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(4)))))); ctx.set_vfpu_scalar_bits_ct<1u>(ctx.gpr[8]); ctx.set_vfpu_scalar_bits_ct<33u>(ctx.gpr[9]); ctx.set_vfpu_scalar_bits_ct<32u>(ctx.gpr[10]); @@ -3005,9 +3006,9 @@ L_089792F0: const std::uint32_t vfpu_address = ctx.gpr[13] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-1044))); + aot_gpr_2 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-1044))); ctx.gpr[9] = (ctx.gpr[12] | 0u); - { const bool branch_taken = ctx.gpr[2] != ctx.gpr[11]; + { const bool branch_taken = aot_gpr_2 != ctx.gpr[11]; ctx.gpr[10] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(108))); if (branch_taken) { goto L_08979380; @@ -3107,7 +3108,7 @@ L_08979400: } L_08979408: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (ctx.gpr[17] | 0u); + aot_gpr_2 = (ctx.gpr[17] | 0u); if (branch_taken) { goto L_0897946C; } @@ -3154,13 +3155,13 @@ L_08979448: goto L_08979468; } L_08979468: - ctx.gpr[2] = (ctx.gpr[17] | 0u); + aot_gpr_2 = (ctx.gpr[17] | 0u); goto L_0897946C; L_0897946C: { std::uint32_t aot_run_words[11]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(112), aot_run_words); ctx.fpr[20] = std::bit_cast(aot_run_words[0]); - aot_gpr_16 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[1]; ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; ctx.gpr[19] = aot_run_words[4]; @@ -3179,11 +3180,11 @@ L_0897946C: AOT_REGCACHE_SYNC_OUT(); return; L_089794A0: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_5 << 3u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); - aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_7 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); ctx.gpr[18] = (aot_gpr_5 + aot_gpr_4); ctx.gpr[18] = (aot_gpr_5 + ctx.gpr[18]); aot_gpr_4 = (aot_gpr_7 + ctx.gpr[18]); @@ -3196,7 +3197,7 @@ L_089794A0: aot_gpr_6 = (aot_gpr_7 << 5u); aot_gpr_5 = (aot_gpr_5 | aot_gpr_6); aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(8), static_cast(aot_gpr_5)); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_4 = (aot_gpr_5 + ctx.gpr[18]); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(8)))))); aot_gpr_6 = (aot_gpr_6 & 15u); @@ -3224,7 +3225,7 @@ L_0897951C: aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(6)))))); goto L_08979520; L_08979520: - aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(30040))); + aot_gpr_7 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(30040))); aot_gpr_6 = (aot_gpr_6 + ctx.gpr[17]); aot_gpr_6 = (aot_gpr_6 + aot_gpr_6); aot_gpr_6 = (aot_gpr_7 + aot_gpr_6); @@ -3256,13 +3257,13 @@ L_08979564: goto L_08979570; } L_08979570: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (aot_gpr_7 | 0u); ctx.gpr[31] = (0x08979580u); aot_gpr_6 = (ctx.gpr[19] | 0u); goto L_089794A0; L_08979580: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_4 = (aot_gpr_5 + ctx.gpr[18]); goto L_08979588; L_08979588: @@ -3278,7 +3279,7 @@ L_08979588: L_089795A0: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -3292,18 +3293,18 @@ L_089795A0: AOT_REGCACHE_SYNC_OUT(); return; L_089795BC: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_5 << 3u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); ctx.gpr[18] = (aot_gpr_5 + aot_gpr_4); ctx.gpr[18] = (aot_gpr_5 + ctx.gpr[18]); aot_gpr_4 = (aot_gpr_6 + ctx.gpr[18]); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(8)))))); aot_gpr_5 = (aot_gpr_5 | 64u); aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(8), static_cast(aot_gpr_5)); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_4 = (aot_gpr_5 + ctx.gpr[18]); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(8)))))); aot_gpr_6 = (aot_gpr_6 & 15u); @@ -3331,7 +3332,7 @@ L_08979620: aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(6)))))); goto L_08979624; L_08979624: - aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(30040))); + aot_gpr_7 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(30040))); aot_gpr_6 = (aot_gpr_6 + ctx.gpr[17]); aot_gpr_6 = (aot_gpr_6 + aot_gpr_6); aot_gpr_6 = (aot_gpr_7 + aot_gpr_6); @@ -3362,12 +3363,12 @@ L_08979664: goto L_08979670; } L_08979670: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); ctx.gpr[31] = (0x0897967Cu); aot_gpr_5 = (aot_gpr_7 | 0u); goto L_089795BC; L_0897967C: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_4 = (aot_gpr_5 + ctx.gpr[18]); goto L_08979684; L_08979684: @@ -3383,7 +3384,7 @@ L_08979684: L_0897969C: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[31] = aot_run_words[3]; @@ -3454,16 +3455,16 @@ L_08979718: goto L_08979720; } L_08979720: - ctx.gpr[2] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[9] + static_cast(6)))))); - ctx.gpr[2] = (ctx.gpr[2] + ctx.gpr[11]); + aot_gpr_2 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[9] + static_cast(6)))))); + aot_gpr_2 = (aot_gpr_2 + ctx.gpr[11]); ctx.gpr[3] = (aot_mem.aot_direct_load32(ctx.gpr[10] + static_cast(30040))); - ctx.gpr[2] = (ctx.gpr[2] + ctx.gpr[2]); - ctx.gpr[2] = (ctx.gpr[3] + ctx.gpr[2]); - ctx.gpr[2] = (aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(0))); - ctx.gpr[2] = (ctx.gpr[2] & 16383u); - ctx.gpr[2] = (ctx.gpr[2] << 16u); - ctx.gpr[2] = (static_cast(static_cast(ctx.gpr[2]) >> 16u)); - { const bool branch_taken = ctx.gpr[2] == aot_gpr_5; + aot_gpr_2 = (aot_gpr_2 + aot_gpr_2); + aot_gpr_2 = (ctx.gpr[3] + aot_gpr_2); + aot_gpr_2 = (aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(0))); + aot_gpr_2 = (aot_gpr_2 & 16383u); + aot_gpr_2 = (aot_gpr_2 << 16u); + aot_gpr_2 = (static_cast(static_cast(aot_gpr_2) >> 16u)); + { const bool branch_taken = aot_gpr_2 == aot_gpr_5; // nop if (branch_taken) { goto L_08979760; @@ -3526,7 +3527,7 @@ L_089797A4: } L_089797AC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_08979874; } @@ -3617,14 +3618,14 @@ L_08979834: } L_08979868: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_08979874; } goto L_08979870; } L_08979870: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_08979874; L_08979874: jump_target = ctx.gpr[31]; @@ -3635,28 +3636,28 @@ L_08979874: AOT_REGCACHE_SYNC_OUT(); return; L_0897987C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[31]); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.gpr[31] = (0x08979894u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08979894u) goto L_08979894; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08979894u) goto L_08979894; AOT_REGCACHE_SYNC_OUT(); return; L_08979894: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 0u); - aot_gpr_7 = (static_cast(static_cast(aot_gpr_16) >> 31u)); + aot_gpr_7 = (static_cast(static_cast(ctx.gpr[16]) >> 31u)); ctx.gpr[31] = (0x089798A8u); - aot_gpr_6 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089798A8u) goto L_089798A8; + aot_gpr_6 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[9], ctx.gpr[10], ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089798A8u) goto L_089798A8; AOT_REGCACHE_SYNC_OUT(); return; L_089798A8: ctx.gpr[1] = (ctx.gpr[3] << 1u); aot_gpr_5 = (static_cast(static_cast(ctx.gpr[3]) >> 31u)); - aot_gpr_4 = (ctx.gpr[2] >> 31u); + aot_gpr_4 = (aot_gpr_2 >> 31u); aot_gpr_4 = (ctx.gpr[1] | aot_gpr_4); - ctx.gpr[2] = (aot_gpr_4 | 0u); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_2 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = ctx.gpr[31]; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -3666,13 +3667,13 @@ L_089798A8: AOT_REGCACHE_SYNC_OUT(); return; L_089798CC: aot_gpr_29 = (aot_gpr_29 + static_cast(-288)); - { const std::uint32_t aot_run_words[16]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[16]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], ctx.gpr[31]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(216), aot_run_words); } ctx.gpr[20] = (aot_gpr_5 & 255u); ctx.gpr[18] = (ctx.gpr[9] & 255u); ctx.gpr[22] = (ctx.gpr[11] & 255u); ctx.gpr[21] = (aot_gpr_6 | 0u); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.gpr[17] = (aot_gpr_7 | 0u); ctx.gpr[23] = (ctx.gpr[8] | 0u); { const bool branch_taken = aot_gpr_7 == 0u; @@ -3767,7 +3768,7 @@ L_08979998: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (17096u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_6 = (ctx.gpr[20] | 0u); aot_gpr_7 = (0u | 0u); ctx.gpr[8] = (0u | 0u); @@ -3778,7 +3779,7 @@ L_08979998: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0092_entry, 92u, 650u, 0x08976FBCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089799D0u) goto L_089799D0; AOT_REGCACHE_SYNC_OUT(); return; L_089799D0: - ctx.gpr[20] = (ctx.gpr[2] | 0u); + ctx.gpr[20] = (aot_gpr_2 | 0u); aot_gpr_4 = (0u + static_cast(-1)); { const bool branch_taken = ctx.gpr[20] != aot_gpr_4; // nop @@ -3798,7 +3799,7 @@ L_089799E0: goto L_089799F0; } L_089799F0: - ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_4 = (ctx.gpr[20] << 3u); aot_gpr_4 = (ctx.gpr[20] + aot_gpr_4); aot_gpr_4 = (ctx.gpr[20] + aot_gpr_4); @@ -3885,10 +3886,10 @@ L_08979ADC: } goto L_08979AEC; L_08979AEC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(6)))))); aot_gpr_5 = (aot_gpr_5 + ctx.gpr[18]); - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(30040))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(30040))); aot_gpr_5 = (aot_gpr_5 + aot_gpr_5); aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0))); @@ -3930,10 +3931,10 @@ L_08979B38: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(88))); aot_fpr_12 = aot_fpr_12 + ctx.fpr[26]; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(88), std::bit_cast(aot_fpr_12)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(6)))))); aot_gpr_5 = (aot_gpr_5 + ctx.gpr[18]); - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(30040))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(30040))); aot_gpr_5 = (aot_gpr_5 + aot_gpr_5); aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0))); @@ -3980,7 +3981,7 @@ L_08979B98: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0036_entry, 36u, 527u, 0x088967ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08979BD8u) goto L_08979BD8; AOT_REGCACHE_SYNC_OUT(); return; L_08979BD8: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(208))); if (branch_taken) { goto L_08979EA4; @@ -3988,10 +3989,10 @@ L_08979BD8: goto L_08979BE0; } L_08979BE0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(6)))))); aot_gpr_5 = (aot_gpr_5 + ctx.gpr[18]); - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(30040))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(30040))); aot_gpr_5 = (aot_gpr_5 + aot_gpr_5); aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0))); @@ -4025,10 +4026,10 @@ L_08979BE0: goto L_08979C5C; } L_08979C5C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(6)))))); aot_gpr_5 = (aot_gpr_5 + ctx.gpr[18]); - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(30040))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(30040))); aot_gpr_5 = (aot_gpr_5 + aot_gpr_5); aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0))); @@ -4083,7 +4084,7 @@ L_08979C5C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0113_entry, 113u, 174u, 0x089C89A0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08979CD8u) goto L_08979CD8; AOT_REGCACHE_SYNC_OUT(); return; L_08979CD8: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08979CE8; @@ -4125,10 +4126,10 @@ L_08979CE8: goto L_08979D38; } L_08979D38: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(6)))))); aot_gpr_5 = (aot_gpr_5 + ctx.gpr[18]); - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(30040))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(30040))); aot_gpr_5 = (aot_gpr_5 + aot_gpr_5); aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0))); @@ -4371,7 +4372,7 @@ L_08979EE0: ctx.fpr[26] = std::bit_cast(aot_run_words[3]); ctx.fpr[28] = std::bit_cast(aot_run_words[4]); ctx.fpr[30] = std::bit_cast(aot_run_words[5]); - aot_gpr_16 = aot_run_words[6]; + ctx.gpr[16] = aot_run_words[6]; ctx.gpr[17] = aot_run_words[7]; ctx.gpr[18] = aot_run_words[8]; ctx.gpr[19] = aot_run_words[9]; @@ -4390,12 +4391,12 @@ L_08979EE0: AOT_REGCACHE_SYNC_OUT(); return; L_08979F28: aot_gpr_29 = (aot_gpr_29 + static_cast(-384)); - { const std::uint32_t aot_run_words[16]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[16]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], ctx.gpr[31]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(308), aot_run_words); } ctx.gpr[17] = (aot_gpr_6 & 255u); aot_gpr_6 = (ctx.gpr[10] & 255u); ctx.gpr[10] = (ctx.gpr[11] & 255u); - aot_gpr_16 = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(248), aot_gpr_6); ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(384))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(244), ctx.gpr[10]); @@ -4406,7 +4407,7 @@ L_08979F28: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(304), ctx.gpr[9]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(296), ctx.gpr[8]); ctx.fpr[22] = std::bit_cast(std::bit_cast(aot_fpr_13)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); ctx.gpr[18] = (0u | 0u); ctx.gpr[21] = (0u | 0u); aot_gpr_4 = (19646u << 16u); @@ -4418,7 +4419,7 @@ L_08979F28: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 291u, 0x089D1AECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08979FC8u) goto L_08979FC8; AOT_REGCACHE_SYNC_OUT(); return; L_08979FC8: - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -4796,8 +4797,8 @@ L_0897A2CC: aot_gpr_7 = (ctx.gpr[8] + aot_gpr_7); aot_gpr_7 = (aot_mem.aot_direct_load16(aot_gpr_7 + static_cast(0))); aot_gpr_7 = (aot_gpr_7 & 16383u); - aot_gpr_16 = (aot_gpr_7 << 16u); - aot_gpr_16 = (static_cast(static_cast(aot_gpr_16) >> 16u)); + ctx.gpr[16] = (aot_gpr_7 << 16u); + ctx.gpr[16] = (static_cast(static_cast(ctx.gpr[16]) >> 16u)); aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(248))); { const bool branch_taken = aot_gpr_7 != 0u; // nop @@ -4808,9 +4809,9 @@ L_0897A2CC: } L_0897A304: aot_gpr_7 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(0))); - ctx.gpr[8] = (aot_gpr_16 << 3u); - ctx.gpr[8] = (aot_gpr_16 + ctx.gpr[8]); - ctx.gpr[8] = (aot_gpr_16 + ctx.gpr[8]); + ctx.gpr[8] = (ctx.gpr[16] << 3u); + ctx.gpr[8] = (ctx.gpr[16] + ctx.gpr[8]); + ctx.gpr[8] = (ctx.gpr[16] + ctx.gpr[8]); aot_gpr_7 = (aot_gpr_7 + ctx.gpr[8]); aot_gpr_7 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_7 + static_cast(8)))))); aot_gpr_7 = (aot_gpr_7 & 32u); @@ -4831,9 +4832,9 @@ L_0897A328: } L_0897A330: aot_gpr_7 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(0))); - ctx.gpr[8] = (aot_gpr_16 << 3u); - ctx.gpr[8] = (aot_gpr_16 + ctx.gpr[8]); - ctx.gpr[8] = (aot_gpr_16 + ctx.gpr[8]); + ctx.gpr[8] = (ctx.gpr[16] << 3u); + ctx.gpr[8] = (ctx.gpr[16] + ctx.gpr[8]); + ctx.gpr[8] = (ctx.gpr[16] + ctx.gpr[8]); aot_gpr_7 = (aot_gpr_7 + ctx.gpr[8]); aot_gpr_7 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_7 + static_cast(8)))))); aot_gpr_7 = (aot_gpr_7 & 64u); @@ -4901,9 +4902,9 @@ L_0897A39C: AOT_REGCACHE_SYNC_OUT(); return; L_0897A3AC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(0))); - aot_gpr_5 = (aot_gpr_16 << 3u); - aot_gpr_5 = (aot_gpr_16 + aot_gpr_5); - aot_gpr_5 = (aot_gpr_16 + aot_gpr_5); + aot_gpr_5 = (ctx.gpr[16] << 3u); + aot_gpr_5 = (ctx.gpr[16] + aot_gpr_5); + aot_gpr_5 = (ctx.gpr[16] + aot_gpr_5); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); ctx.gpr[31] = (0x0897A3C8u); aot_gpr_5 = (ctx.gpr[23] | 0u); @@ -4958,7 +4959,7 @@ L_0897A3C8: L_0897A3FC: ctx.fpr[24] = std::bit_cast(std::bit_cast(ctx.fpr[30])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(252), ctx.gpr[21]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(256), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(256), ctx.gpr[16]); goto L_0897A408; L_0897A408: aot_gpr_4 = (0u | 2u); @@ -5053,12 +5054,12 @@ L_0897A4CC: goto L_0897A4E0; } L_0897A4E0: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(256))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(256))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(252))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(300))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(296))); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(0), ctx.gpr[16]); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(0))); aot_gpr_6 = (aot_gpr_4 << 3u); aot_gpr_6 = (aot_gpr_4 + aot_gpr_6); @@ -5071,13 +5072,13 @@ L_0897A4E0: AOT_REGCACHE_SYNC_OUT(); return; L_0897A518: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(0))); - aot_gpr_5 = (aot_gpr_16 << 3u); - aot_gpr_5 = (aot_gpr_16 + aot_gpr_5); - aot_gpr_5 = (aot_gpr_16 + aot_gpr_5); + aot_gpr_5 = (ctx.gpr[16] << 3u); + aot_gpr_5 = (ctx.gpr[16] + aot_gpr_5); + aot_gpr_5 = (ctx.gpr[16] + aot_gpr_5); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); - aot_gpr_16 = (aot_gpr_29 + static_cast(176)); + ctx.gpr[16] = (aot_gpr_29 + static_cast(176)); ctx.gpr[31] = (0x0897A538u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0092_entry, 92u, 583u, 0x08976968u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897A538u) goto L_0897A538; AOT_REGCACHE_SYNC_OUT(); return; L_0897A538: @@ -5090,7 +5091,7 @@ L_0897A538: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -5211,7 +5212,7 @@ L_0897A5FC: ctx.fpr[26] = std::bit_cast(aot_run_words[3]); ctx.fpr[28] = std::bit_cast(aot_run_words[4]); ctx.fpr[30] = std::bit_cast(aot_run_words[5]); - aot_gpr_16 = aot_run_words[6]; + ctx.gpr[16] = aot_run_words[6]; ctx.gpr[17] = aot_run_words[7]; ctx.gpr[18] = aot_run_words[8]; ctx.gpr[19] = aot_run_words[9]; @@ -5230,13 +5231,13 @@ L_0897A5FC: AOT_REGCACHE_SYNC_OUT(); return; L_0897A644: aot_gpr_29 = (aot_gpr_29 + static_cast(-384)); - { const std::uint32_t aot_run_words[16]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[16]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], ctx.gpr[31]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(320), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.gpr[30] = (aot_gpr_5 & 255u); ctx.gpr[21] = (ctx.gpr[10] & 255u); aot_gpr_4 = (ctx.gpr[11] & 255u); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(16))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(308), aot_gpr_6); ctx.gpr[23] = (ctx.gpr[9] | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(304), aot_gpr_7); @@ -5278,7 +5279,7 @@ L_0897A6F4: } L_0897A6FC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_0897AD04; } @@ -5334,20 +5335,20 @@ L_0897A748: aot_gpr_4 = (17116u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; - ctx.gpr[8] = (aot_gpr_16 + static_cast(30056)); - ctx.gpr[2] = (0u | 1u); - aot_gpr_4 = (aot_gpr_16 | 0u); + ctx.gpr[8] = (ctx.gpr[16] + static_cast(30056)); + aot_gpr_2 = (0u | 1u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_6 = (0u | 0u); aot_gpr_7 = (0u | 250u); ctx.gpr[9] = (ctx.gpr[21] | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[11] = (0u | 1u); ctx.gpr[31] = (0x0897A788u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_2); goto L_089790B0; L_0897A788: { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(30048), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(30048), aot_gpr_2); if (branch_taken) { goto L_0897A7D0; } @@ -5360,8 +5361,8 @@ L_0897A790: aot_gpr_4 = (17116u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; - ctx.gpr[8] = (aot_gpr_16 + static_cast(30056)); - aot_gpr_4 = (aot_gpr_16 | 0u); + ctx.gpr[8] = (ctx.gpr[16] + static_cast(30056)); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_6 = (0u | 0u); aot_gpr_7 = (0u | 250u); ctx.gpr[9] = (ctx.gpr[21] | 0u); @@ -5371,13 +5372,13 @@ L_0897A790: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); goto L_089790B0; L_0897A7CC: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(30048), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(30048), aot_gpr_2); goto L_0897A7D0; L_0897A7D0: - aot_gpr_4 = (aot_gpr_16 + static_cast(30056)); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(30048))); + aot_gpr_4 = (ctx.gpr[16] + static_cast(30056)); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(30048))); aot_gpr_5 = (aot_gpr_5 + aot_gpr_5); - aot_gpr_5 = (aot_gpr_16 + aot_gpr_5); + aot_gpr_5 = (ctx.gpr[16] + aot_gpr_5); aot_gpr_5 = (aot_gpr_5 + static_cast(30056)); aot_gpr_6 = (2200u << 16u); ctx.gpr[31] = (0x0897A7F0u); @@ -5385,16 +5386,16 @@ L_0897A7D0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0218_entry, 218u, 156u, 0x08B6CD90u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897A7F0u) goto L_0897A7F0; AOT_REGCACHE_SYNC_OUT(); return; L_0897A7F0: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(30052), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(30052), 0u); { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_0897AD04; } goto L_0897A7FC; } L_0897A7FC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(30048))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(30048))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -5409,7 +5410,7 @@ L_0897A808: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(60), std::bit_cast(ctx.fpr[28])); ctx.gpr[20] = (0u | 0u); ctx.gpr[22] = (0u | 100u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(30048))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(30048))); aot_gpr_4 = (aot_gpr_4 < ctx.gpr[22] ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -5420,7 +5421,7 @@ L_0897A808: } L_0897A830: { const bool branch_taken = 0u == 0u; - ctx.gpr[22] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(30048))); + ctx.gpr[22] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(30048))); if (branch_taken) { goto L_0897A840; } @@ -5428,7 +5429,7 @@ L_0897A830: } L_0897A838: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_0897AD04; } @@ -5444,10 +5445,10 @@ L_0897A840: goto L_0897A84C; } L_0897A84C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(30052))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(30052))); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(30052), aot_gpr_4); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(30048))); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(30052), aot_gpr_4); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(30048))); aot_gpr_4 = (aot_gpr_4 < aot_gpr_5 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -5457,12 +5458,12 @@ L_0897A84C: goto L_0897A868; } L_0897A868: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(30052), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(30052), 0u); goto L_0897A86C; L_0897A86C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(30052))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(30052))); aot_gpr_4 = (aot_gpr_4 + aot_gpr_4); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); ctx.gpr[17] = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(30056))); aot_gpr_4 = (0u + static_cast(-1)); { const bool branch_taken = ctx.gpr[17] == aot_gpr_4; @@ -5473,7 +5474,7 @@ L_0897A86C: goto L_0897A888; } L_0897A888: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_5 = (ctx.gpr[17] << 3u); aot_gpr_5 = (ctx.gpr[17] + aot_gpr_5); aot_gpr_5 = (ctx.gpr[17] + aot_gpr_5); @@ -5496,7 +5497,7 @@ L_0897A8AC: goto L_0897A8B4; } L_0897A8B4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_5 = (ctx.gpr[17] << 3u); aot_gpr_5 = (ctx.gpr[17] + aot_gpr_5); aot_gpr_5 = (ctx.gpr[17] + aot_gpr_5); @@ -5543,7 +5544,7 @@ L_0897A8B4: } L_0897A954: ctx.gpr[19] = (0u | 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_5 = (ctx.gpr[17] << 3u); aot_gpr_5 = (ctx.gpr[17] + aot_gpr_5); aot_gpr_5 = (ctx.gpr[17] + aot_gpr_5); @@ -5559,7 +5560,7 @@ L_0897A954: goto L_0897A980; } L_0897A980: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_5 = (ctx.gpr[17] << 3u); aot_gpr_5 = (ctx.gpr[17] + aot_gpr_5); aot_gpr_5 = (ctx.gpr[17] + aot_gpr_5); @@ -5567,7 +5568,7 @@ L_0897A980: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(6)))))); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[19]); aot_gpr_4 = (aot_gpr_4 + aot_gpr_4); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(30040))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(30040))); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0))); aot_gpr_4 = (aot_gpr_4 & 16383u); @@ -5581,7 +5582,7 @@ L_0897A980: goto L_0897A9C0; } L_0897A9C0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_5 = (ctx.gpr[18] << 3u); aot_gpr_5 = (ctx.gpr[18] + aot_gpr_5); aot_gpr_5 = (ctx.gpr[18] + aot_gpr_5); @@ -5604,7 +5605,7 @@ L_0897A9E4: goto L_0897A9EC; } L_0897A9EC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_5 = (ctx.gpr[18] << 3u); aot_gpr_5 = (ctx.gpr[18] + aot_gpr_5); aot_gpr_5 = (ctx.gpr[18] + aot_gpr_5); @@ -5640,7 +5641,7 @@ L_0897A9EC: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(108))); { const float fs = aot_fpr_12; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_13 = aot_fpr_13 + aot_fpr_12; - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_5 = (ctx.gpr[17] << 3u); aot_gpr_5 = (ctx.gpr[17] + aot_gpr_5); aot_gpr_5 = (ctx.gpr[17] + aot_gpr_5); @@ -5685,7 +5686,7 @@ L_0897AAC0: L_0897AAD8: ctx.fpr[20] = std::sqrt(ctx.fpr[20]); aot_fpr_13 = std::sqrt(aot_fpr_13); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_5 = (ctx.gpr[17] << 3u); aot_gpr_5 = (ctx.gpr[17] + aot_gpr_5); aot_gpr_5 = (ctx.gpr[17] + aot_gpr_5); @@ -5751,7 +5752,7 @@ L_0897AB70: aot_fpr_12 = aot_fpr_15 + aot_fpr_12; aot_fpr_12 = aot_fpr_14 / aot_fpr_12; aot_mem.aot_direct_store32(ctx.gpr[23] + static_cast(0), std::bit_cast(aot_fpr_12)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_5 = (ctx.gpr[17] << 3u); aot_gpr_5 = (ctx.gpr[17] + aot_gpr_5); aot_gpr_5 = (ctx.gpr[17] + aot_gpr_5); @@ -5783,7 +5784,7 @@ L_0897ABA0: const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_5 = (ctx.gpr[18] << 3u); aot_gpr_5 = (ctx.gpr[18] + aot_gpr_5); aot_gpr_5 = (ctx.gpr[18] + aot_gpr_5); @@ -5924,7 +5925,7 @@ L_0897ACA0: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_0897AD04; } @@ -5932,7 +5933,7 @@ L_0897ACA0: } L_0897ACC4: ctx.gpr[19] = (ctx.gpr[19] + static_cast(1)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_5 = (ctx.gpr[17] << 3u); aot_gpr_5 = (ctx.gpr[17] + aot_gpr_5); aot_gpr_5 = (ctx.gpr[17] + aot_gpr_5); @@ -5958,7 +5959,7 @@ L_0897ACF0: goto L_0897AD00; } L_0897AD00: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_0897AD04; L_0897AD04: { std::uint32_t aot_run_words[16]{}; @@ -5969,7 +5970,7 @@ L_0897AD04: ctx.fpr[26] = std::bit_cast(aot_run_words[3]); ctx.fpr[28] = std::bit_cast(aot_run_words[4]); ctx.fpr[30] = std::bit_cast(aot_run_words[5]); - aot_gpr_16 = aot_run_words[6]; + ctx.gpr[16] = aot_run_words[6]; ctx.gpr[17] = aot_run_words[7]; ctx.gpr[18] = aot_run_words[8]; ctx.gpr[19] = aot_run_words[9]; @@ -5988,10 +5989,10 @@ L_0897AD04: AOT_REGCACHE_SYNC_OUT(); return; L_0897AD4C: aot_gpr_29 = (aot_gpr_29 + static_cast(-400)); - { const std::uint32_t aot_run_words[16]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[16]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], ctx.gpr[31]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(336), aot_run_words); } ctx.gpr[10] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(316), aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(332), aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(328), aot_gpr_7); @@ -6030,7 +6031,7 @@ L_0897ADDC: } L_0897ADE4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_0897B460; } @@ -6044,8 +6045,8 @@ L_0897ADEC: aot_gpr_5 = (aot_gpr_29 + static_cast(64)); aot_gpr_4 = (17204u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - ctx.gpr[17] = (aot_gpr_16 + static_cast(30564)); - aot_gpr_4 = (aot_gpr_16 | 0u); + ctx.gpr[17] = (ctx.gpr[16] + static_cast(30564)); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_6 = (0u | 1u); aot_gpr_7 = (0u | 240u); ctx.gpr[8] = (ctx.gpr[17] | 0u); @@ -6056,9 +6057,9 @@ L_0897ADEC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); goto L_089790B0; L_0897AE30: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(30556), ctx.gpr[2]); - aot_gpr_4 = (ctx.gpr[2] + ctx.gpr[2]); - aot_gpr_5 = (aot_gpr_16 + aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(30556), aot_gpr_2); + aot_gpr_4 = (aot_gpr_2 + aot_gpr_2); + aot_gpr_5 = (ctx.gpr[16] + aot_gpr_4); aot_gpr_5 = (aot_gpr_5 + static_cast(30564)); aot_gpr_6 = (2200u << 16u); aot_gpr_6 = (aot_gpr_6 + static_cast(-26500)); @@ -6067,16 +6068,16 @@ L_0897AE30: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0218_entry, 218u, 156u, 0x08B6CD90u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897AE50u) goto L_0897AE50; AOT_REGCACHE_SYNC_OUT(); return; L_0897AE50: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(30560), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(30560), 0u); { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_0897B460; } goto L_0897AE5C; } L_0897AE5C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(30556))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(30556))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -6093,7 +6094,7 @@ L_0897AE68: ctx.gpr[23] = (0u | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(308), std::bit_cast(aot_fpr_12)); ctx.gpr[30] = (0u | 150u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(30556))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(30556))); aot_gpr_4 = (aot_gpr_4 < ctx.gpr[30] ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -6104,7 +6105,7 @@ L_0897AE68: } L_0897AE98: { const bool branch_taken = 0u == 0u; - ctx.gpr[30] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(30556))); + ctx.gpr[30] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(30556))); if (branch_taken) { goto L_0897AEA8; } @@ -6112,7 +6113,7 @@ L_0897AE98: } L_0897AEA0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_0897B460; } @@ -6128,10 +6129,10 @@ L_0897AEA8: goto L_0897AEB4; } L_0897AEB4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(30560))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(30560))); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(30560), aot_gpr_4); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(30556))); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(30560), aot_gpr_4); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(30556))); aot_gpr_4 = (aot_gpr_4 < aot_gpr_5 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -6141,14 +6142,14 @@ L_0897AEB4: goto L_0897AED0; } L_0897AED0: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(30560), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(30560), 0u); goto L_0897AED4; L_0897AED4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(30560))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(30560))); aot_gpr_4 = (aot_gpr_4 + aot_gpr_4); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); ctx.gpr[20] = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(30564))); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_5 = (ctx.gpr[20] << 3u); aot_gpr_5 = (ctx.gpr[20] + aot_gpr_5); aot_gpr_5 = (ctx.gpr[20] + aot_gpr_5); @@ -6196,7 +6197,7 @@ L_0897AED4: goto L_0897AF8C; } L_0897AF8C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_5 = (ctx.gpr[20] << 3u); aot_gpr_5 = (ctx.gpr[20] + aot_gpr_5); aot_gpr_5 = (ctx.gpr[20] + aot_gpr_5); @@ -6221,7 +6222,7 @@ L_0897AFB0: goto L_0897AFC0; } L_0897AFC0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_5 = (ctx.gpr[20] << 3u); aot_gpr_5 = (ctx.gpr[20] + aot_gpr_5); aot_gpr_5 = (ctx.gpr[20] + aot_gpr_5); @@ -6229,7 +6230,7 @@ L_0897AFC0: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(6)))))); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[19]); aot_gpr_4 = (aot_gpr_4 + aot_gpr_4); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(30040))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(30040))); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0))); aot_gpr_4 = (aot_gpr_4 & 32768u); @@ -6243,7 +6244,7 @@ L_0897AFC0: goto L_0897B000; } L_0897B000: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_5 = (ctx.gpr[20] << 3u); aot_gpr_5 = (ctx.gpr[20] + aot_gpr_5); aot_gpr_5 = (ctx.gpr[20] + aot_gpr_5); @@ -6251,7 +6252,7 @@ L_0897B000: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(6)))))); aot_gpr_5 = (aot_gpr_5 + ctx.gpr[19]); aot_gpr_5 = (aot_gpr_5 + aot_gpr_5); - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(30040))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(30040))); aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0))); aot_gpr_5 = (aot_gpr_5 & 16383u); @@ -6267,7 +6268,7 @@ L_0897B000: goto L_0897B048; } L_0897B048: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_5 = (ctx.gpr[21] << 3u); aot_gpr_5 = (ctx.gpr[21] + aot_gpr_5); aot_gpr_5 = (ctx.gpr[21] + aot_gpr_5); @@ -6282,7 +6283,7 @@ L_0897B048: goto L_0897B06C; } L_0897B06C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_5 = (ctx.gpr[21] << 3u); aot_gpr_5 = (ctx.gpr[21] + aot_gpr_5); aot_gpr_5 = (ctx.gpr[21] + aot_gpr_5); @@ -6371,10 +6372,10 @@ L_0897B140: L_0897B150: ctx.gpr[31] = (0x0897B158u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897B158u) goto L_0897B158; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897B158u) goto L_0897B158; AOT_REGCACHE_SYNC_OUT(); return; L_0897B158: - aot_gpr_4 = (ctx.gpr[2] & 65535u); + aot_gpr_4 = (aot_gpr_2 & 65535u); aot_gpr_4 = (aot_gpr_4 & 255u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); @@ -6383,7 +6384,7 @@ L_0897B158: aot_fpr_13 = std::bit_cast(aot_gpr_5); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), std::bit_cast(aot_fpr_12)); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_6 = (ctx.gpr[20] << 3u); aot_gpr_6 = (ctx.gpr[20] + aot_gpr_6); aot_gpr_6 = (ctx.gpr[20] + aot_gpr_6); @@ -6428,7 +6429,7 @@ L_0897B158: const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_7 = (ctx.gpr[21] << 3u); aot_gpr_7 = (ctx.gpr[21] + aot_gpr_7); aot_gpr_7 = (ctx.gpr[21] + aot_gpr_7); @@ -6577,7 +6578,7 @@ L_0897B2B8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0134_entry, 134u, 80u, 0x08A1C7BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897B2D0u) goto L_0897B2D0; AOT_REGCACHE_SYNC_OUT(); return; L_0897B2D0: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_0897B33C; @@ -6795,7 +6796,7 @@ L_0897B400: goto L_0897B418; L_0897B418: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_0897B460; } @@ -6804,7 +6805,7 @@ L_0897B418: L_0897B420: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(8), std::bit_cast(aot_fpr_12)); { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_0897B460; } @@ -6841,7 +6842,7 @@ L_0897B44C: goto L_0897B45C; } L_0897B45C: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_0897B460; L_0897B460: { std::uint32_t aot_run_words[16]{}; @@ -6852,7 +6853,7 @@ L_0897B460: ctx.fpr[26] = std::bit_cast(aot_run_words[3]); ctx.fpr[28] = std::bit_cast(aot_run_words[4]); ctx.fpr[30] = std::bit_cast(aot_run_words[5]); - aot_gpr_16 = aot_run_words[6]; + ctx.gpr[16] = aot_run_words[6]; ctx.gpr[17] = aot_run_words[7]; ctx.gpr[18] = aot_run_words[8]; ctx.gpr[19] = aot_run_words[9]; @@ -6877,9 +6878,9 @@ L_0897B4A8: ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0897B4B0: - ctx.gpr[2] = (2200u << 16u); + aot_gpr_2 = (2200u << 16u); jump_target = ctx.gpr[31]; - ctx.gpr[2] = (ctx.gpr[2] + static_cast(-19280)); + aot_gpr_2 = (aot_gpr_2 + static_cast(-19280)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -6900,15 +6901,15 @@ L_0897B4CC: AOT_REGCACHE_SYNC_OUT(); return; L_0897B4D8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_5 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_5 | 0u); { const std::uint32_t aot_run_words[3]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[31]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(4), aot_run_words); } ctx.gpr[31] = (0x0897B4F8u); ctx.gpr[18] = (0u | 0u); goto L_0897B4B0; L_0897B4F8: - if (ctx.gpr[2] == aot_gpr_16) { + if (aot_gpr_2 == ctx.gpr[16]) { ctx.gpr[18] = (0u | 1u); goto L_0897B540; } @@ -6919,7 +6920,7 @@ L_0897B500: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 463u, 0x08AC5950u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897B508u) goto L_0897B508; AOT_REGCACHE_SYNC_OUT(); return; L_0897B508: - if (ctx.gpr[2] == aot_gpr_16) { + if (aot_gpr_2 == ctx.gpr[16]) { ctx.gpr[17] = (0u | 1u); goto L_0897B530; } @@ -6930,7 +6931,7 @@ L_0897B510: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0095_entry, 95u, 115u, 0x08980688u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897B518u) goto L_0897B518; AOT_REGCACHE_SYNC_OUT(); return; L_0897B518: - aot_gpr_4 = (ctx.gpr[2] ^ aot_gpr_16); + aot_gpr_4 = (aot_gpr_2 ^ ctx.gpr[16]); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 == 0u; @@ -6958,10 +6959,10 @@ L_0897B53C: ctx.gpr[18] = (0u | 1u); goto L_0897B540; L_0897B540: - ctx.gpr[2] = (ctx.gpr[18] & 255u); + aot_gpr_2 = (ctx.gpr[18] & 255u); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[31] = aot_run_words[3]; @@ -6974,51 +6975,51 @@ L_0897B540: AOT_REGCACHE_SYNC_OUT(); return; L_0897B55C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[31]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } ctx.gpr[31] = (0x0897B574u); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 472u, 0x08AC59D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897B574u) goto L_0897B574; AOT_REGCACHE_SYNC_OUT(); return; L_0897B574: aot_gpr_4 = (2234u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(24608)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(36), aot_gpr_4); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(184), static_cast(0u)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(36), aot_gpr_4); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(184), static_cast(0u)); ctx.gpr[31] = (0x0897B58Cu); - aot_gpr_4 = (aot_gpr_16 + static_cast(188)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897B58Cu) goto L_0897B58C; + aot_gpr_4 = (ctx.gpr[16] + static_cast(188)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42C4, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897B58Cu) goto L_0897B58C; AOT_REGCACHE_SYNC_OUT(); return; L_0897B58C: aot_gpr_4 = (17264u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (17126u << 16u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(192), std::bit_cast(aot_fpr_13)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(192), std::bit_cast(aot_fpr_13)); aot_fpr_13 = std::bit_cast(aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(196), std::bit_cast(aot_fpr_13)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(196), std::bit_cast(aot_fpr_13)); aot_fpr_12 = std::bit_cast(0u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(200), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(200), 0u); aot_gpr_4 = (17116u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(208), std::bit_cast(aot_fpr_12)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(204), std::bit_cast(aot_fpr_13)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(212), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(208), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(204), std::bit_cast(aot_fpr_13)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(212), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (16512u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (16640u << 16u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(216), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(216), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(220), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(220), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (17096u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (17430u << 16u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(224), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(224), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (0u | 1u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(228), std::bit_cast(aot_fpr_12)); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(232), static_cast(aot_gpr_4)); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(233), static_cast(0u)); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(234), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(228), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(232), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(233), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(234), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); { const bool branch_taken = aot_gpr_4 != 0u; ctx.gpr[17] = (ctx.gpr[28] + static_cast(-16868)); @@ -7041,7 +7042,7 @@ L_0897B618: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0112_entry, 112u, 729u, 0x089C718Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897B620u) goto L_0897B620; AOT_REGCACHE_SYNC_OUT(); return; L_0897B620: - aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(0), ctx.gpr[17]); + aot_mem.aot_direct_store32(aot_gpr_2 + static_cast(0), ctx.gpr[17]); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -7065,7 +7066,7 @@ L_0897B63C: AOT_REGCACHE_SYNC_OUT(); return; L_0897B644: aot_gpr_4 = (0u | 48u); - aot_mem.aot_direct_store16(ctx.gpr[2] + static_cast(4), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store16(aot_gpr_2 + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); { const bool branch_taken = aot_gpr_4 != 0u; ctx.gpr[17] = (ctx.gpr[28] + static_cast(-16860)); @@ -7088,7 +7089,7 @@ L_0897B664: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0112_entry, 112u, 729u, 0x089C718Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897B66Cu) goto L_0897B66C; AOT_REGCACHE_SYNC_OUT(); return; L_0897B66C: - aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(8), ctx.gpr[17]); + aot_mem.aot_direct_store32(aot_gpr_2 + static_cast(8), ctx.gpr[17]); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -7112,7 +7113,7 @@ L_0897B688: AOT_REGCACHE_SYNC_OUT(); return; L_0897B690: aot_gpr_4 = (0u | 49u); - aot_mem.aot_direct_store16(ctx.gpr[2] + static_cast(12), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store16(aot_gpr_2 + static_cast(12), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); { const bool branch_taken = aot_gpr_4 != 0u; ctx.gpr[17] = (ctx.gpr[28] + static_cast(-16852)); @@ -7135,7 +7136,7 @@ L_0897B6B0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0112_entry, 112u, 729u, 0x089C718Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897B6B8u) goto L_0897B6B8; AOT_REGCACHE_SYNC_OUT(); return; L_0897B6B8: - aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(16), ctx.gpr[17]); + aot_mem.aot_direct_store32(aot_gpr_2 + static_cast(16), ctx.gpr[17]); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -7159,11 +7160,11 @@ L_0897B6D4: AOT_REGCACHE_SYNC_OUT(); return; L_0897B6DC: aot_gpr_4 = (0u | 50u); - aot_mem.aot_direct_store16(ctx.gpr[2] + static_cast(20), static_cast(aot_gpr_4)); - ctx.gpr[2] = (aot_gpr_16 | 0u); + aot_mem.aot_direct_store16(aot_gpr_2 + static_cast(20), static_cast(aot_gpr_4)); + aot_gpr_2 = (ctx.gpr[16] | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[31] = aot_run_words[2]; } @@ -7177,11 +7178,11 @@ L_0897B6FC: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); ctx.gpr[17] = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[31]); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_16 = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); if (branch_taken) { goto L_0897B774; } @@ -7208,7 +7209,7 @@ L_0897B748: aot_gpr_4 = (ctx.gpr[18] | 0u); ctx.gpr[31] = (0x0897B754u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897B754u) goto L_0897B754; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42D0, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[16], ctx.gpr[17], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897B754u) goto L_0897B754; AOT_REGCACHE_SYNC_OUT(); return; L_0897B754: aot_gpr_4 = (ctx.gpr[17] | 0u); @@ -7217,7 +7218,7 @@ L_0897B754: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 486u, 0x08AC5AE8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897B760u) goto L_0897B760; AOT_REGCACHE_SYNC_OUT(); return; L_0897B760: - aot_gpr_4 = (aot_gpr_16 & 1u); + aot_gpr_4 = (ctx.gpr[16] & 1u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -7228,12 +7229,12 @@ L_0897B760: L_0897B76C: ctx.gpr[31] = (0x0897B774u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897B774u) goto L_0897B774; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897B774u) goto L_0897B774; AOT_REGCACHE_SYNC_OUT(); return; L_0897B774: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[31] = aot_run_words[3]; @@ -7280,7 +7281,7 @@ L_0897B7C4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 605u, 0x08AC646Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897B7D4u) goto L_0897B7D4; AOT_REGCACHE_SYNC_OUT(); return; L_0897B7D4: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_0897B7E4; @@ -7289,14 +7290,14 @@ L_0897B7D4: } L_0897B7DC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_0897B7E8; } goto L_0897B7E4; } L_0897B7E4: - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); goto L_0897B7E8; L_0897B7E8: ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -7379,10 +7380,10 @@ L_0897B828: AOT_REGCACHE_SYNC_OUT(); return; L_0897B8A4: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[31]); ctx.gpr[31] = (0x0897B8B8u); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0170_entry, 170u, 640u, 0x08AAEFC8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897B8B8u) goto L_0897B8B8; AOT_REGCACHE_SYNC_OUT(); return; L_0897B8B8: @@ -7392,14 +7393,14 @@ L_0897B8B8: AOT_REGCACHE_SYNC_OUT(); return; L_0897B8C0: ctx.gpr[31] = (0x0897B8C8u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0170_entry, 170u, 632u, 0x08AAEF5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897B8C8u) goto L_0897B8C8; AOT_REGCACHE_SYNC_OUT(); return; L_0897B8C8: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16896))); ctx.gpr[31] = (0x0897B8D4u); - aot_gpr_4 = (aot_gpr_16 + static_cast(188)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897B8D4u) goto L_0897B8D4; + aot_gpr_4 = (ctx.gpr[16] + static_cast(188)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF44E8, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[16], ctx.gpr[17], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 53u, 0x08AF44E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897B8D4u) goto L_0897B8D4; AOT_REGCACHE_SYNC_OUT(); return; L_0897B8D4: ctx.gpr[31] = (0x0897B8DCu); @@ -7407,7 +7408,7 @@ L_0897B8D4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0170_entry, 170u, 642u, 0x08AAEFE8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897B8DCu) goto L_0897B8DC; AOT_REGCACHE_SYNC_OUT(); return; L_0897B8DC: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = ctx.gpr[31]; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -7417,9 +7418,9 @@ L_0897B8DC: AOT_REGCACHE_SYNC_OUT(); return; L_0897B8EC: aot_gpr_29 = (aot_gpr_29 + static_cast(-64)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), ctx.gpr[18]); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.gpr[18] = (2236u << 16u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(29552))); aot_gpr_5 = (50944u << 16u); @@ -7429,7 +7430,7 @@ L_0897B8EC: aot_gpr_4 = (aot_gpr_4 + static_cast(4)); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(29552), aot_gpr_4); { std::uint32_t aot_run_words[3]{}; - aot_mem.aot_direct_load32_block(aot_gpr_16 + static_cast(12), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[16] + static_cast(12), aot_run_words); aot_gpr_4 = aot_run_words[0]; aot_gpr_5 = aot_run_words[1]; aot_gpr_6 = aot_run_words[2]; @@ -7438,7 +7439,7 @@ L_0897B8EC: { const std::uint32_t aot_run_words[3]{ctx.gpr[19], ctx.gpr[20], ctx.gpr[31]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(40), aot_run_words); } ctx.gpr[31] = (0x0897B940u); - aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); + aot_gpr_7 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(24))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 230u, 0x08861824u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897B940u) goto L_0897B940; AOT_REGCACHE_SYNC_OUT(); return; L_0897B940: @@ -7466,7 +7467,7 @@ L_0897B958: L_0897B960: ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); if (ctx.gpr[17] != 0u) { - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(192))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(192))); goto L_0897B97C; } goto L_0897B96C; @@ -7477,11 +7478,11 @@ L_0897B96C: AOT_REGCACHE_SYNC_OUT(); return; L_0897B974: ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(192))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(192))); goto L_0897B97C; L_0897B97C: aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(6852), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(196))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(196))); aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(6856), std::bit_cast(aot_fpr_12)); ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); { const bool branch_taken = ctx.gpr[17] != 0u; @@ -7500,67 +7501,67 @@ L_0897B99C: ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); goto L_0897B9A0; L_0897B9A0: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); aot_gpr_4 = (0u | 7u); aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(6860), std::bit_cast(aot_fpr_12)); ctx.gpr[31] = (0x0897B9B4u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897B9B4u) goto L_0897B9B4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897B9B4u) goto L_0897B9B4; AOT_REGCACHE_SYNC_OUT(); return; L_0897B9B4: aot_gpr_4 = (0u | 2u); ctx.gpr[31] = (0x0897B9C0u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897B9C0u) goto L_0897B9C0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897B9C0u) goto L_0897B9C0; AOT_REGCACHE_SYNC_OUT(); return; L_0897B9C0: - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(192))); - aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); - ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(196))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(192))); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); + ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(196))); aot_fpr_12 = aot_fpr_14 - aot_fpr_15; - ctx.gpr[17] = (aot_gpr_16 + static_cast(188)); + ctx.gpr[17] = (ctx.gpr[16] + static_cast(188)); aot_fpr_13 = ctx.fpr[16] - aot_fpr_15; aot_gpr_4 = (aot_gpr_29 | 0u); aot_fpr_14 = aot_fpr_14 + aot_fpr_15; ctx.gpr[31] = (0x0897B9E8u); aot_fpr_15 = ctx.fpr[16] + aot_fpr_15; - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897B9E8u) goto L_0897B9E8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, ctx.gpr[31], aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897B9E8u) goto L_0897B9E8; AOT_REGCACHE_SYNC_OUT(); return; L_0897B9E8: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); aot_gpr_4 = (aot_gpr_29 + static_cast(16)); aot_gpr_5 = (0u | 255u); aot_gpr_6 = (0u | 255u); aot_gpr_7 = (0u | 255u); ctx.gpr[31] = (0x0897BA04u); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897BA04u) goto L_0897BA04; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897BA04u) goto L_0897BA04; AOT_REGCACHE_SYNC_OUT(); return; L_0897BA04: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); ctx.gpr[31] = (0x0897BA14u); - aot_gpr_6 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 72u, 0x08AF4650u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897BA14u) goto L_0897BA14; AOT_REGCACHE_SYNC_OUT(); return; L_0897BA14: ctx.gpr[31] = (0x0897BA1Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_0897BCC0; L_0897BA1C: ctx.gpr[31] = (0x0897BA24u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 563u, 0x08AC6170u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897BA24u) goto L_0897BA24; AOT_REGCACHE_SYNC_OUT(); return; L_0897BA24: - if (ctx.gpr[2] == 0u) { + if (aot_gpr_2 == 0u) { aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7800))); goto L_0897BA38; } goto L_0897BA2C; L_0897BA2C: ctx.gpr[31] = (0x0897BA34u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_0897BCC8; L_0897BA34: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7800))); @@ -7606,7 +7607,7 @@ L_0897BA7C: AOT_REGCACHE_SYNC_OUT(); return; L_0897BA84: aot_gpr_4 = (0u + static_cast(-1)); - { const bool branch_taken = ctx.gpr[2] == aot_gpr_4; + { const bool branch_taken = aot_gpr_2 == aot_gpr_4; // nop if (branch_taken) { goto L_0897BB20; @@ -7653,7 +7654,7 @@ L_0897BAC0: L_0897BAC8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); { const bool branch_taken = aot_gpr_4 != 0u; - ctx.gpr[20] = (ctx.gpr[2] | 0u); + ctx.gpr[20] = (aot_gpr_2 | 0u); if (branch_taken) { goto L_0897BAE0; } @@ -7675,7 +7676,7 @@ L_0897BAE0: L_0897BAE8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); { const bool branch_taken = aot_gpr_4 != 0u; - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); if (branch_taken) { goto L_0897BB00; } @@ -7695,7 +7696,7 @@ L_0897BB00: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0112_entry, 112u, 732u, 0x089C71A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897BB08u) goto L_0897BB08; AOT_REGCACHE_SYNC_OUT(); return; L_0897BB08: - aot_gpr_4 = (ctx.gpr[2] << 3u); + aot_gpr_4 = (aot_gpr_2 << 3u); aot_gpr_4 = (ctx.gpr[19] + aot_gpr_4); aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(4))); aot_gpr_4 = (ctx.gpr[17] | 0u); @@ -7726,7 +7727,7 @@ L_0897BB38: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0112_entry, 112u, 730u, 0x089C7194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897BB40u) goto L_0897BB40; AOT_REGCACHE_SYNC_OUT(); return; L_0897BB40: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_0897BBC4; @@ -7743,7 +7744,7 @@ L_0897BB48: goto L_0897BB54; } L_0897BB54: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(200))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(200))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-8144))); aot_gpr_4 = (aot_gpr_4 + static_cast(1200)); ctx.gpr[19] = (aot_gpr_5 < aot_gpr_4 ? 1u : 0u); @@ -7764,16 +7765,16 @@ L_0897BB78: ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); goto L_0897BB7C; L_0897BB7C: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(208))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(212))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(208))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(212))); { std::uint32_t aot_run_words[3]{}; - aot_mem.aot_direct_load32_block(aot_gpr_16 + static_cast(12), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[16] + static_cast(12), aot_run_words); aot_gpr_5 = aot_run_words[0]; aot_gpr_6 = aot_run_words[1]; aot_gpr_7 = aot_run_words[2]; } - aot_gpr_4 = (aot_gpr_16 + static_cast(76)); - ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); + aot_gpr_4 = (ctx.gpr[16] + static_cast(76)); + ctx.gpr[8] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(24))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); ctx.gpr[11] = (16153u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_4); @@ -7795,13 +7796,13 @@ L_0897BBBC: } L_0897BBC4: { std::uint32_t aot_run_words[3]{}; - aot_mem.aot_direct_load32_block(aot_gpr_16 + static_cast(12), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[16] + static_cast(12), aot_run_words); aot_gpr_4 = aot_run_words[0]; aot_gpr_5 = aot_run_words[1]; aot_gpr_6 = aot_run_words[2]; } ctx.gpr[31] = (0x0897BBD8u); - aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); + aot_gpr_7 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(24))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 230u, 0x08861824u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897BBD8u) goto L_0897BBD8; AOT_REGCACHE_SYNC_OUT(); return; L_0897BBD8: @@ -7828,7 +7829,7 @@ L_0897BBF0: AOT_REGCACHE_SYNC_OUT(); return; L_0897BBF8: ctx.gpr[31] = (0x0897BC00u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0094_entry, 94u, 532u, 0x0897DF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897BC00u) goto L_0897BC00; AOT_REGCACHE_SYNC_OUT(); return; L_0897BC00: @@ -7854,7 +7855,7 @@ L_0897BC18: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0112_entry, 112u, 642u, 0x089C6DDCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897BC20u) goto L_0897BC20; AOT_REGCACHE_SYNC_OUT(); return; L_0897BC20: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_0897BC30; @@ -7863,7 +7864,7 @@ L_0897BC20: } L_0897BC28: ctx.gpr[31] = (0x0897BC30u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0094_entry, 94u, 624u, 0x0897E5E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897BC30u) goto L_0897BC30; AOT_REGCACHE_SYNC_OUT(); return; L_0897BC30: @@ -7897,7 +7898,7 @@ L_0897BC50: aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(29552), aot_gpr_4); { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(28), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -7938,26 +7939,26 @@ L_0897BCC0: AOT_REGCACHE_SYNC_OUT(); return; L_0897BCC8: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(24))); aot_gpr_5 = (static_cast(static_cast(aot_gpr_4) >> 1u)); aot_gpr_5 = (aot_gpr_5 >> 31u); aot_gpr_5 = (aot_gpr_4 + aot_gpr_5); aot_gpr_5 = (static_cast(static_cast(aot_gpr_5) >> 1u)); aot_fpr_12 = std::bit_cast(aot_gpr_5); aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(12))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(12))); aot_gpr_6 = (static_cast(static_cast(aot_gpr_4) >> 1u)); aot_fpr_12 = std::bit_cast(aot_gpr_5); aot_gpr_5 = (aot_gpr_6 >> 31u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 1u)); - aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(212))); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(212))); aot_fpr_14 = std::bit_cast(aot_gpr_4); ctx.fpr[16] = static_cast(static_cast(std::bit_cast(aot_fpr_14))); aot_fpr_13 = aot_fpr_13 + aot_fpr_15; - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(20))); aot_gpr_5 = (16256u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), std::bit_cast(ctx.fpr[20])); ctx.fpr[20] = std::bit_cast(aot_gpr_5); @@ -7972,28 +7973,28 @@ L_0897BCC8: aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); ctx.gpr[31] = (0x0897BD54u); aot_fpr_15 = aot_fpr_15 + ctx.fpr[20]; - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897BD54u) goto L_0897BD54; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, ctx.gpr[31], aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897BD54u) goto L_0897BD54; AOT_REGCACHE_SYNC_OUT(); return; L_0897BD54: ctx.gpr[17] = (aot_gpr_29 + static_cast(16)); - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (0u | 255u); aot_gpr_6 = (0u | 139u); aot_gpr_7 = (0u | 194u); ctx.gpr[31] = (0x0897BD74u); ctx.gpr[8] = (0u | 180u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897BD74u) goto L_0897BD74; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897BD74u) goto L_0897BD74; AOT_REGCACHE_SYNC_OUT(); return; L_0897BD74: aot_gpr_4 = (ctx.gpr[18] | 0u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); ctx.gpr[31] = (0x0897BD84u); aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 107u, 0x08AF5130u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897BD84u) goto L_0897BD84; AOT_REGCACHE_SYNC_OUT(); return; L_0897BD84: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(20))); aot_gpr_5 = (static_cast(static_cast(aot_gpr_4) >> 1u)); aot_gpr_5 = (aot_gpr_5 >> 31u); aot_gpr_5 = (aot_gpr_4 + aot_gpr_5); @@ -8003,7 +8004,7 @@ L_0897BD84: aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_gpr_5 = (aot_gpr_5 >> 31u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(208))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(208))); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 1u)); aot_fpr_15 = std::bit_cast(aot_gpr_4); aot_fpr_12 = aot_fpr_12 + aot_fpr_14; @@ -8018,21 +8019,21 @@ L_0897BD84: aot_fpr_15 = static_cast(static_cast(std::bit_cast(aot_fpr_15))); ctx.gpr[31] = (0x0897BDE8u); aot_fpr_14 = aot_fpr_14 + ctx.fpr[20]; - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897BDE8u) goto L_0897BDE8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, ctx.gpr[31], aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897BDE8u) goto L_0897BDE8; AOT_REGCACHE_SYNC_OUT(); return; L_0897BDE8: aot_gpr_4 = (ctx.gpr[17] | 0u); - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 255u); aot_gpr_6 = (0u | 139u); aot_gpr_7 = (0u | 194u); ctx.gpr[31] = (0x0897BE04u); ctx.gpr[8] = (0u | 180u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897BE04u) goto L_0897BE04; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897BE04u) goto L_0897BE04; AOT_REGCACHE_SYNC_OUT(); return; L_0897BE04: - aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); ctx.gpr[31] = (0x0897BE14u); aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 107u, 0x08AF5130u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897BE14u) goto L_0897BE14; @@ -8041,7 +8042,7 @@ L_0897BE14: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(20), aot_run_words); ctx.fpr[20] = std::bit_cast(aot_run_words[0]); - aot_gpr_16 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[1]; ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; ctx.gpr[31] = aot_run_words[4]; @@ -8054,14 +8055,14 @@ L_0897BE14: AOT_REGCACHE_SYNC_OUT(); return; L_0897BE30: aot_gpr_29 = (aot_gpr_29 + static_cast(-544)); - { const std::uint32_t aot_run_words[16]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[16]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], ctx.gpr[31]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(476), aot_run_words); } ctx.gpr[31] = (0x0897BE7Cu); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 563u, 0x08AC6170u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897BE7Cu) goto L_0897BE7C; AOT_REGCACHE_SYNC_OUT(); return; L_0897BE7C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0094_entry, 94u, 529u, 0x0897DF18u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; @@ -8109,13 +8110,13 @@ L_0897BECC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); goto L_0897BED0; L_0897BED0: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(192))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(192))); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(6852), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(196))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(196))); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(6856), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); if (aot_gpr_4 != 0u) { - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); goto L_0897BEF8; } goto L_0897BEEC; @@ -8125,7 +8126,7 @@ L_0897BEEC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 358u, 0x08B65844u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897BEF4u) goto L_0897BEF4; AOT_REGCACHE_SYNC_OUT(); return; L_0897BEF4: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); goto L_0897BEF8; L_0897BEF8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); @@ -8144,7 +8145,7 @@ L_0897BF0C: aot_mem.aot_direct_store32_block(ctx.gpr[28] + static_cast(6608), aot_run_words); } goto L_0897BF1C; L_0897BF1C: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(233))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(233))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -8158,7 +8159,7 @@ L_0897BF28: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897BF30u) goto L_0897BF30; AOT_REGCACHE_SYNC_OUT(); return; L_0897BF30: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; ctx.gpr[17] = (aot_gpr_29 + static_cast(104)); if (branch_taken) { goto L_0897BF40; @@ -8167,14 +8168,14 @@ L_0897BF30: } L_0897BF38: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-8144))); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(200), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(200), aot_gpr_4); goto L_0897BF40; L_0897BF40: aot_gpr_4 = (0u | 1u); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(233), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(233), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(20))); goto L_0897BF60; } goto L_0897BF54; @@ -8184,7 +8185,7 @@ L_0897BF54: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 358u, 0x08B65844u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897BF5Cu) goto L_0897BF5C; AOT_REGCACHE_SYNC_OUT(); return; L_0897BF5C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(20))); goto L_0897BF60; L_0897BF60: aot_gpr_5 = (static_cast(static_cast(aot_gpr_4) >> 1u)); @@ -8192,9 +8193,9 @@ L_0897BF60: aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 1u)); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(24))); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(208))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(208))); aot_gpr_5 = (static_cast(static_cast(aot_gpr_4) >> 1u)); aot_gpr_5 = (aot_gpr_5 >> 31u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); @@ -8203,7 +8204,7 @@ L_0897BF60: aot_fpr_14 = std::bit_cast(aot_gpr_4); aot_gpr_7 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); - aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(212))); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(212))); aot_fpr_12 = aot_fpr_12 + ctx.fpr[30]; aot_gpr_6 = (aot_gpr_29 + static_cast(96)); aot_gpr_4 = (aot_gpr_7 | 0u); diff --git a/profiles/vcs/generated/generated_unit_0094.cpp b/profiles/vcs/generated/generated_unit_0094.cpp index 7bf294b..2a95760 100644 --- a/profiles/vcs/generated/generated_unit_0094.cpp +++ b/profiles/vcs/generated/generated_unit_0094.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0094[4095] = { }; void recomp_unit_0094_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,16,31,28 fprs=12,13,14,26 gpr_occ=3484 fpr_occ=1176 gpr_total=4688 fpr_total=1584 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,31,29,16,6 fprs=12,13,14,26 gpr_occ=3680 fpr_occ=1194 gpr_total=5117 fpr_total=1608 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; + std::uint32_t aot_gpr_31 = ctx.gpr[31]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_16 = ctx.gpr[16]; - std::uint32_t aot_gpr_31 = ctx.gpr[31]; - std::uint32_t aot_gpr_28 = ctx.gpr[28]; + std::uint32_t aot_gpr_6 = ctx.gpr[6]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_14 = ctx.fpr[14]; float aot_fpr_26 = ctx.fpr[26]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[16] = aot_gpr_16; ctx.gpr[31] = aot_gpr_31; ctx.gpr[28] = aot_gpr_28; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[26] = aot_fpr_26; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_28 = ctx.gpr[28]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_26 = ctx.fpr[26]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[31] = aot_gpr_31; ctx.gpr[29] = aot_gpr_29; ctx.gpr[16] = aot_gpr_16; ctx.gpr[6] = aot_gpr_6; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[26] = aot_fpr_26; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_6 = ctx.gpr[6]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_26 = ctx.fpr[26]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -1163,7 +1164,7 @@ LOCAL_DISPATCH: } } L_0897C000: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); goto L_0897C004; L_0897C004: aot_gpr_4 = (aot_gpr_4 + static_cast(6864)); @@ -1222,9 +1223,9 @@ L_0897C038: goto L_0897C048; } L_0897C048: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); goto L_0897C060; } goto L_0897C054; @@ -1234,7 +1235,7 @@ L_0897C054: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 358u, 0x08B65844u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897C05Cu) goto L_0897C05C; AOT_REGCACHE_SYNC_OUT(); return; L_0897C05C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); goto L_0897C060; L_0897C060: aot_gpr_4 = (aot_gpr_4 + static_cast(6864)); @@ -1281,7 +1282,7 @@ L_0897C084: goto L_0897C08C; } L_0897C08C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); { const bool branch_taken = aot_gpr_4 != 0u; ctx.gpr[17] = (aot_gpr_29 + static_cast(136)); if (branch_taken) { @@ -1295,21 +1296,21 @@ L_0897C098: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 358u, 0x08B65844u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897C0A0u) goto L_0897C0A0; AOT_REGCACHE_SYNC_OUT(); return; L_0897C0A0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[30])); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(48))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(52))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(128), std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(132), std::bit_cast(aot_fpr_14)); - ctx.gpr[6] = (aot_gpr_29 + static_cast(128)); + aot_gpr_6 = (aot_gpr_29 + static_cast(128)); aot_gpr_31 = (0x0897C0C4u); aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0002_entry, 2u, 606u, 0x0880EDB0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897C0C4u) goto L_0897C0C4; AOT_REGCACHE_SYNC_OUT(); return; L_0897C0C4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); goto L_0897C0DC; } goto L_0897C0D0; @@ -1319,12 +1320,12 @@ L_0897C0D0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 358u, 0x08B65844u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897C0D8u) goto L_0897C0D8; AOT_REGCACHE_SYNC_OUT(); return; L_0897C0D8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); goto L_0897C0DC; L_0897C0DC: aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x0897C0E8u); - ctx.gpr[6] = (ctx.gpr[17] | 0u); + aot_gpr_6 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0002_entry, 2u, 577u, 0x0880EB64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897C0E8u) goto L_0897C0E8; AOT_REGCACHE_SYNC_OUT(); return; L_0897C0E8: @@ -1342,7 +1343,7 @@ L_0897C0E8: } L_0897C104: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(200))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-8144))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-8144))); aot_gpr_4 = (aot_gpr_4 + static_cast(1200)); aot_gpr_4 = (aot_gpr_5 < aot_gpr_4 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; @@ -1354,10 +1355,10 @@ L_0897C104: } L_0897C11C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(200))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-8144))); - ctx.gpr[6] = (17352u << 16u); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-8144))); + aot_gpr_6 = (17352u << 16u); aot_gpr_4 = (aot_gpr_4 - aot_gpr_5); - ctx.fpr[22] = std::bit_cast(ctx.gpr[6]); + ctx.fpr[22] = std::bit_cast(aot_gpr_6); aot_gpr_4 = (aot_gpr_4 + static_cast(1200)); ctx.fpr[20] = std::bit_cast(aot_gpr_4); ctx.gpr[17] = (aot_gpr_29 + static_cast(168)); @@ -1416,7 +1417,7 @@ L_0897C198: ctx.gpr[21] = (0u | 1u); goto L_0897C19C; L_0897C19C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); goto L_0897C1B4; @@ -1445,11 +1446,11 @@ L_0897C1B4: aot_fpr_12 = aot_fpr_12 + aot_fpr_13; aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 1u)); aot_fpr_14 = std::bit_cast(aot_gpr_4); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(212))); aot_fpr_12 = aot_fpr_12 + ctx.fpr[30]; - ctx.gpr[6] = (aot_gpr_29 + static_cast(144)); + aot_gpr_6 = (aot_gpr_29 + static_cast(144)); aot_gpr_4 = (ctx.gpr[7] | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_fpr_13 = aot_fpr_14 + ctx.fpr[15]; @@ -1459,9 +1460,9 @@ L_0897C1B4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0002_entry, 2u, 605u, 0x0880ED24u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897C218u) goto L_0897C218; AOT_REGCACHE_SYNC_OUT(); return; L_0897C218: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); goto L_0897C230; } goto L_0897C224; @@ -1471,20 +1472,20 @@ L_0897C224: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 358u, 0x08B65844u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897C22Cu) goto L_0897C22C; AOT_REGCACHE_SYNC_OUT(); return; L_0897C22C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); goto L_0897C230; L_0897C230: aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[30])); aot_gpr_5 = (aot_gpr_29 + static_cast(176)); aot_gpr_31 = (0x0897C240u); - ctx.gpr[6] = (ctx.gpr[17] | 0u); + aot_gpr_6 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0002_entry, 2u, 610u, 0x0880EE6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897C240u) goto L_0897C240; AOT_REGCACHE_SYNC_OUT(); return; L_0897C240: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(48))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(52))); - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(6612))); - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(6616))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(6612))); + ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(6616))); ctx.fpr[16] = aot_fpr_12 - aot_fpr_14; ctx.fpr[17] = aot_fpr_13 - ctx.fpr[15]; aot_gpr_4 = (std::bit_cast(ctx.fpr[16])); @@ -1526,21 +1527,21 @@ L_0897C240: ctx.fpr[18] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(144))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(148))); aot_fpr_13 = aot_fpr_14 + ctx.fpr[18]; - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); aot_fpr_12 = ctx.fpr[15] + aot_fpr_12; aot_gpr_5 = (std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(440), std::bit_cast(aot_fpr_13)); - ctx.gpr[6] = (std::bit_cast(aot_fpr_12)); + aot_gpr_6 = (std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(208), aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(212), ctx.gpr[6]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(212), aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(444), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(208))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(212))); aot_gpr_5 = (std::bit_cast(aot_fpr_12)); - ctx.gpr[6] = (std::bit_cast(aot_fpr_13)); + aot_gpr_6 = (std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(184), aot_gpr_5); { const bool branch_taken = aot_gpr_4 != 0u; - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(188), ctx.gpr[6]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(188), aot_gpr_6); if (branch_taken) { goto L_0897C338; } @@ -1552,17 +1553,17 @@ L_0897C330: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 358u, 0x08B65844u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897C338u) goto L_0897C338; AOT_REGCACHE_SYNC_OUT(); return; L_0897C338: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[30])); - ctx.gpr[6] = (aot_gpr_29 + static_cast(184)); + aot_gpr_6 = (aot_gpr_29 + static_cast(184)); aot_gpr_31 = (0x0897C34Cu); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0002_entry, 2u, 606u, 0x0880EDB0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897C34Cu) goto L_0897C34C; AOT_REGCACHE_SYNC_OUT(); return; L_0897C34C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); goto L_0897C364; } goto L_0897C358; @@ -1572,12 +1573,12 @@ L_0897C358: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 358u, 0x08B65844u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897C360u) goto L_0897C360; AOT_REGCACHE_SYNC_OUT(); return; L_0897C360: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); goto L_0897C364; L_0897C364: aot_gpr_5 = (aot_gpr_29 + static_cast(200)); aot_gpr_31 = (0x0897C370u); - ctx.gpr[6] = (ctx.gpr[18] | 0u); + aot_gpr_6 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0002_entry, 2u, 577u, 0x0880EB64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897C370u) goto L_0897C370; AOT_REGCACHE_SYNC_OUT(); return; L_0897C370: @@ -1620,9 +1621,9 @@ L_0897C370: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(460), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(ctx.gpr[7]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(160), aot_gpr_5); - ctx.gpr[6] = (std::bit_cast(ctx.fpr[15])); + aot_gpr_6 = (std::bit_cast(ctx.fpr[15])); { const float fs = ctx.fpr[20]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(164), ctx.gpr[6]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(164), aot_gpr_6); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(160))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(164))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(72), std::bit_cast(aot_fpr_13)); @@ -1650,9 +1651,9 @@ L_0897C444: goto L_0897C44C; } L_0897C44C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); goto L_0897C464; } goto L_0897C458; @@ -1662,7 +1663,7 @@ L_0897C458: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 466u, 0x08B65E44u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897C460u) goto L_0897C460; AOT_REGCACHE_SYNC_OUT(); return; L_0897C460: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); goto L_0897C464; L_0897C464: aot_gpr_31 = (0x0897C46Cu); @@ -1670,9 +1671,9 @@ L_0897C464: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0112_entry, 112u, 641u, 0x089C6DD4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897C46Cu) goto L_0897C46C; AOT_REGCACHE_SYNC_OUT(); return; L_0897C46C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); goto L_0897C484; } goto L_0897C478; @@ -1682,7 +1683,7 @@ L_0897C478: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 466u, 0x08B65E44u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897C480u) goto L_0897C480; AOT_REGCACHE_SYNC_OUT(); return; L_0897C480: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); goto L_0897C484; L_0897C484: aot_gpr_31 = (0x0897C48Cu); @@ -1696,8 +1697,8 @@ L_0897C48C: AOT_REGCACHE_SYNC_OUT(); return; L_0897C494: aot_gpr_4 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(42)))))); - { const bool branch_taken = ctx.gpr[6] != 0u; + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(42)))))); + { const bool branch_taken = aot_gpr_6 != 0u; aot_gpr_5 = (0u | 0u); if (branch_taken) { goto L_0897C4B4; @@ -1728,7 +1729,7 @@ L_0897C4B8: goto L_0897C4C0; } L_0897C4C0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -1743,7 +1744,7 @@ L_0897C4CC: AOT_REGCACHE_SYNC_OUT(); return; L_0897C4D4: aot_gpr_31 = (0x0897C4DCu); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0112_entry, 112u, 642u, 0x089C6DDCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897C4DCu) goto L_0897C4DC; AOT_REGCACHE_SYNC_OUT(); return; L_0897C4DC: @@ -1764,9 +1765,9 @@ L_0897C4E4: goto L_0897C4F0; } L_0897C4F0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); if (aot_gpr_4 != 0u) { - ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); goto L_0897C508; } goto L_0897C4FC; @@ -1776,7 +1777,7 @@ L_0897C4FC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 466u, 0x08B65E44u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897C504u) goto L_0897C504; AOT_REGCACHE_SYNC_OUT(); return; L_0897C504: - ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); goto L_0897C508; L_0897C508: { const bool branch_taken = ctx.gpr[17] != 0u; @@ -1793,7 +1794,7 @@ L_0897C510: AOT_REGCACHE_SYNC_OUT(); return; L_0897C518: aot_gpr_31 = (0x0897C520u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0112_entry, 112u, 640u, 0x089C6DCCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897C520u) goto L_0897C520; AOT_REGCACHE_SYNC_OUT(); return; L_0897C520: @@ -1812,9 +1813,9 @@ L_0897C530: goto L_0897C538; } L_0897C538: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); goto L_0897C550; } goto L_0897C544; @@ -1824,7 +1825,7 @@ L_0897C544: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 466u, 0x08B65E44u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897C54Cu) goto L_0897C54C; AOT_REGCACHE_SYNC_OUT(); return; L_0897C54C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); goto L_0897C550; L_0897C550: aot_gpr_31 = (0x0897C558u); @@ -1832,7 +1833,7 @@ L_0897C550: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0112_entry, 112u, 643u, 0x089C6DE4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897C558u) goto L_0897C558; AOT_REGCACHE_SYNC_OUT(); return; L_0897C558: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -1847,7 +1848,7 @@ L_0897C564: AOT_REGCACHE_SYNC_OUT(); return; L_0897C56C: aot_gpr_31 = (0x0897C574u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0112_entry, 112u, 642u, 0x089C6DDCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897C574u) goto L_0897C574; AOT_REGCACHE_SYNC_OUT(); return; L_0897C574: @@ -1941,9 +1942,9 @@ L_0897C5DC: goto L_0897C5EC; } L_0897C5EC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); if (aot_gpr_4 != 0u) { - ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); goto L_0897C604; } goto L_0897C5F8; @@ -1953,7 +1954,7 @@ L_0897C5F8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 466u, 0x08B65E44u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897C600u) goto L_0897C600; AOT_REGCACHE_SYNC_OUT(); return; L_0897C600: - ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); goto L_0897C604; L_0897C604: { const bool branch_taken = ctx.gpr[17] != 0u; @@ -1970,7 +1971,7 @@ L_0897C60C: AOT_REGCACHE_SYNC_OUT(); return; L_0897C614: aot_gpr_31 = (0x0897C61Cu); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0112_entry, 112u, 730u, 0x089C7194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897C61Cu) goto L_0897C61C; AOT_REGCACHE_SYNC_OUT(); return; L_0897C61C: @@ -1989,7 +1990,7 @@ L_0897C62C: goto L_0897C634; } L_0897C634: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -2004,7 +2005,7 @@ L_0897C640: AOT_REGCACHE_SYNC_OUT(); return; L_0897C648: aot_gpr_31 = (0x0897C650u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0112_entry, 112u, 732u, 0x089C71A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897C650u) goto L_0897C650; AOT_REGCACHE_SYNC_OUT(); return; L_0897C650: @@ -2060,9 +2061,9 @@ L_0897C694: ctx.gpr[17] = (static_cast(static_cast(ctx.gpr[17]) >> 24u)); goto L_0897C6A0; L_0897C6A0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); goto L_0897C6B8; } goto L_0897C6AC; @@ -2072,7 +2073,7 @@ L_0897C6AC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 466u, 0x08B65E44u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897C6B4u) goto L_0897C6B4; AOT_REGCACHE_SYNC_OUT(); return; L_0897C6B4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); goto L_0897C6B8; L_0897C6B8: aot_gpr_31 = (0x0897C6C0u); @@ -2080,7 +2081,7 @@ L_0897C6B8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0112_entry, 112u, 733u, 0x089C71B0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897C6C0u) goto L_0897C6C0; AOT_REGCACHE_SYNC_OUT(); return; L_0897C6C0: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-10001))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-10001))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -2181,8 +2182,8 @@ L_0897C740: AOT_REGCACHE_SYNC_OUT(); return; L_0897C74C: aot_gpr_4 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(38)))))); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(38)))))); + { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_5 = (0u | 0u); if (branch_taken) { goto L_0897C76C; @@ -2213,14 +2214,14 @@ L_0897C770: goto L_0897C778; } L_0897C778: - aot_gpr_4 = (aot_gpr_28 + static_cast(7768)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); aot_gpr_5 = (0u | 170u); aot_gpr_31 = (0x0897C788u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 553u, 0x08A062F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897C788u) goto L_0897C788; AOT_REGCACHE_SYNC_OUT(); return; L_0897C788: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -2235,7 +2236,7 @@ L_0897C794: AOT_REGCACHE_SYNC_OUT(); return; L_0897C79C: aot_gpr_31 = (0x0897C7A4u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0112_entry, 112u, 644u, 0x089C6DECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897C7A4u) goto L_0897C7A4; AOT_REGCACHE_SYNC_OUT(); return; L_0897C7A4: @@ -2247,9 +2248,9 @@ L_0897C7A4: goto L_0897C7AC; } L_0897C7AC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); goto L_0897C7C4; } goto L_0897C7B8; @@ -2259,7 +2260,7 @@ L_0897C7B8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 466u, 0x08B65E44u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897C7C0u) goto L_0897C7C0; AOT_REGCACHE_SYNC_OUT(); return; L_0897C7C0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); goto L_0897C7C4; L_0897C7C4: aot_gpr_31 = (0x0897C7CCu); @@ -2267,9 +2268,9 @@ L_0897C7C4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0112_entry, 112u, 645u, 0x089C6DF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897C7CCu) goto L_0897C7CC; AOT_REGCACHE_SYNC_OUT(); return; L_0897C7CC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); goto L_0897C7E4; } goto L_0897C7D8; @@ -2279,11 +2280,11 @@ L_0897C7D8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 358u, 0x08B65844u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897C7E0u) goto L_0897C7E0; AOT_REGCACHE_SYNC_OUT(); return; L_0897C7E0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); goto L_0897C7E4; L_0897C7E4: { const bool branch_taken = aot_gpr_4 != 0u; - ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); if (branch_taken) { goto L_0897C7F4; } @@ -2296,7 +2297,7 @@ L_0897C7EC: AOT_REGCACHE_SYNC_OUT(); return; L_0897C7F4: aot_gpr_31 = (0x0897C7FCu); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0112_entry, 112u, 724u, 0x089C7164u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897C7FCu) goto L_0897C7FC; AOT_REGCACHE_SYNC_OUT(); return; L_0897C7FC: @@ -2306,9 +2307,9 @@ L_0897C7FC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0002_entry, 2u, 412u, 0x0880DC1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897C808u) goto L_0897C808; AOT_REGCACHE_SYNC_OUT(); return; L_0897C808: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); goto L_0897C820; } goto L_0897C814; @@ -2318,7 +2319,7 @@ L_0897C814: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 466u, 0x08B65E44u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897C81Cu) goto L_0897C81C; AOT_REGCACHE_SYNC_OUT(); return; L_0897C81C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); goto L_0897C820; L_0897C820: aot_gpr_31 = (0x0897C828u); @@ -2334,7 +2335,7 @@ L_0897C828: goto L_0897C830; } L_0897C830: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); ctx.gpr[17] = (aot_gpr_29 + static_cast(272)); { const bool branch_taken = aot_gpr_4 != 0u; ctx.gpr[18] = (aot_gpr_29 + static_cast(240)); @@ -2364,13 +2365,13 @@ L_0897C848: aot_fpr_12 = aot_fpr_12 + aot_fpr_13; aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 1u)); aot_fpr_14 = std::bit_cast(aot_gpr_4); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(212))); aot_fpr_12 = aot_fpr_12 + ctx.fpr[30]; - aot_gpr_4 = (ctx.gpr[6] | 0u); + aot_gpr_4 = (aot_gpr_6 | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); - ctx.gpr[6] = (ctx.gpr[18] | 0u); + aot_gpr_6 = (ctx.gpr[18] | 0u); aot_fpr_13 = aot_fpr_14 + ctx.fpr[15]; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(240), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x0897C8B0u); @@ -2378,9 +2379,9 @@ L_0897C848: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0002_entry, 2u, 605u, 0x0880ED24u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897C8B0u) goto L_0897C8B0; AOT_REGCACHE_SYNC_OUT(); return; L_0897C8B0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); goto L_0897C8C8; } goto L_0897C8BC; @@ -2390,19 +2391,19 @@ L_0897C8BC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 358u, 0x08B65844u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897C8C4u) goto L_0897C8C4; AOT_REGCACHE_SYNC_OUT(); return; L_0897C8C4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); goto L_0897C8C8; L_0897C8C8: aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[30])); aot_gpr_5 = (aot_gpr_29 + static_cast(280)); aot_gpr_31 = (0x0897C8D8u); - ctx.gpr[6] = (ctx.gpr[17] | 0u); + aot_gpr_6 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0002_entry, 2u, 610u, 0x0880EE6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897C8D8u) goto L_0897C8D8; AOT_REGCACHE_SYNC_OUT(); return; L_0897C8D8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); goto L_0897C8F0; } goto L_0897C8E4; @@ -2412,7 +2413,7 @@ L_0897C8E4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 466u, 0x08B65E44u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897C8ECu) goto L_0897C8EC; AOT_REGCACHE_SYNC_OUT(); return; L_0897C8EC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); goto L_0897C8F0; L_0897C8F0: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(280))); @@ -2424,9 +2425,9 @@ L_0897C8F0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0112_entry, 112u, 723u, 0x089C7150u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897C908u) goto L_0897C908; AOT_REGCACHE_SYNC_OUT(); return; L_0897C908: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); goto L_0897C920; } goto L_0897C914; @@ -2436,11 +2437,11 @@ L_0897C914: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 466u, 0x08B65E44u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897C91Cu) goto L_0897C91C; AOT_REGCACHE_SYNC_OUT(); return; L_0897C91C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); goto L_0897C920; L_0897C920: { const bool branch_taken = aot_gpr_4 != 0u; - ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); if (branch_taken) { goto L_0897C930; } @@ -2452,7 +2453,7 @@ L_0897C928: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 358u, 0x08B65844u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897C930u) goto L_0897C930; AOT_REGCACHE_SYNC_OUT(); return; L_0897C930: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(280))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(284))); { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_13), std::bit_cast(aot_fpr_26)}; @@ -2468,7 +2469,7 @@ L_0897C950: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0112_entry, 112u, 725u, 0x089C716Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897C95Cu) goto L_0897C95C; AOT_REGCACHE_SYNC_OUT(); return; L_0897C95C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -2483,7 +2484,7 @@ L_0897C968: AOT_REGCACHE_SYNC_OUT(); return; L_0897C970: aot_gpr_31 = (0x0897C978u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0112_entry, 112u, 724u, 0x089C7164u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897C978u) goto L_0897C978; AOT_REGCACHE_SYNC_OUT(); return; L_0897C978: @@ -2495,9 +2496,9 @@ L_0897C978: goto L_0897C980; } L_0897C980: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); goto L_0897C998; } goto L_0897C98C; @@ -2507,7 +2508,7 @@ L_0897C98C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 466u, 0x08B65E44u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897C994u) goto L_0897C994; AOT_REGCACHE_SYNC_OUT(); return; L_0897C994: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); goto L_0897C998; L_0897C998: aot_gpr_31 = (0x0897C9A0u); @@ -2586,7 +2587,7 @@ L_0897C9E8: L_0897CA04: aot_gpr_5 = (17264u << 16u); ctx.fpr[24] = std::bit_cast(aot_gpr_5); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); aot_gpr_5 = (17124u << 16u); ctx.gpr[20] = (0u | 1u); ctx.fpr[20] = std::bit_cast(aot_gpr_5); @@ -2618,11 +2619,11 @@ L_0897CA2C: aot_fpr_12 = aot_fpr_12 + aot_fpr_13; aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 1u)); aot_fpr_14 = std::bit_cast(aot_gpr_4); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(212))); aot_fpr_12 = aot_fpr_12 + ctx.fpr[30]; - ctx.gpr[6] = (aot_gpr_29 + static_cast(288)); + aot_gpr_6 = (aot_gpr_29 + static_cast(288)); aot_gpr_4 = (ctx.gpr[7] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_fpr_13 = aot_fpr_14 + ctx.fpr[15]; @@ -2767,9 +2768,9 @@ L_0897CB7C: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(192), std::bit_cast(aot_fpr_12)); goto L_0897CBA0; L_0897CBA0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); goto L_0897CBB8; } goto L_0897CBAC; @@ -2779,12 +2780,12 @@ L_0897CBAC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 358u, 0x08B65844u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897CBB4u) goto L_0897CBB4; AOT_REGCACHE_SYNC_OUT(); return; L_0897CBB4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); goto L_0897CBB8; L_0897CBB8: aot_gpr_5 = (aot_gpr_29 + static_cast(308)); aot_gpr_31 = (0x0897CBC4u); - ctx.gpr[6] = (ctx.gpr[18] | 0u); + aot_gpr_6 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0002_entry, 2u, 577u, 0x0880EB64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897CBC4u) goto L_0897CBC4; AOT_REGCACHE_SYNC_OUT(); return; L_0897CBC4: @@ -2793,10 +2794,10 @@ L_0897CBC4: aot_fpr_13 = std::bit_cast(aot_gpr_5); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(308))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); - ctx.gpr[6] = (static_cast(static_cast(aot_gpr_4) >> 1u)); - ctx.gpr[6] = (ctx.gpr[6] >> 31u); + aot_gpr_6 = (static_cast(static_cast(aot_gpr_4) >> 1u)); + aot_gpr_6 = (aot_gpr_6 >> 31u); ctx.fpr[16] = std::bit_cast(aot_gpr_5); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); ctx.fpr[16] = static_cast(static_cast(std::bit_cast(ctx.fpr[16]))); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 1u)); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); @@ -3189,7 +3190,7 @@ L_0897CE90: L_0897CEA8: aot_gpr_5 = (17264u << 16u); ctx.fpr[24] = std::bit_cast(aot_gpr_5); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); aot_gpr_5 = (17124u << 16u); ctx.gpr[17] = (0u | 1u); ctx.fpr[20] = std::bit_cast(aot_gpr_5); @@ -3221,11 +3222,11 @@ L_0897CED0: aot_fpr_12 = aot_fpr_12 + aot_fpr_13; aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 1u)); aot_fpr_14 = std::bit_cast(aot_gpr_4); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(212))); aot_fpr_12 = aot_fpr_12 + ctx.fpr[30]; - ctx.gpr[6] = (aot_gpr_29 + static_cast(316)); + aot_gpr_6 = (aot_gpr_29 + static_cast(316)); aot_gpr_4 = (ctx.gpr[7] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_fpr_13 = aot_fpr_14 + ctx.fpr[15]; @@ -3522,9 +3523,9 @@ L_0897D158: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(192), std::bit_cast(aot_fpr_12)); goto L_0897D164; L_0897D164: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); goto L_0897D17C; } goto L_0897D170; @@ -3534,12 +3535,12 @@ L_0897D170: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 358u, 0x08B65844u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897D178u) goto L_0897D178; AOT_REGCACHE_SYNC_OUT(); return; L_0897D178: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); goto L_0897D17C; L_0897D17C: aot_gpr_5 = (aot_gpr_29 + static_cast(336)); aot_gpr_31 = (0x0897D188u); - ctx.gpr[6] = (ctx.gpr[18] | 0u); + aot_gpr_6 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0002_entry, 2u, 577u, 0x0880EB64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897D188u) goto L_0897D188; AOT_REGCACHE_SYNC_OUT(); return; L_0897D188: @@ -3548,10 +3549,10 @@ L_0897D188: aot_fpr_13 = std::bit_cast(aot_gpr_5); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(336))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); - ctx.gpr[6] = (static_cast(static_cast(aot_gpr_4) >> 1u)); - ctx.gpr[6] = (ctx.gpr[6] >> 31u); + aot_gpr_6 = (static_cast(static_cast(aot_gpr_4) >> 1u)); + aot_gpr_6 = (aot_gpr_6 >> 31u); ctx.fpr[16] = std::bit_cast(aot_gpr_5); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); ctx.fpr[16] = static_cast(static_cast(std::bit_cast(ctx.fpr[16]))); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 1u)); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); @@ -3886,7 +3887,7 @@ L_0897D418: AOT_REGCACHE_SYNC_OUT(); return; L_0897D420: if (ctx.gpr[2] != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); goto L_0897D444; } goto L_0897D428; @@ -3907,7 +3908,7 @@ L_0897D438: } goto L_0897D440; L_0897D440: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); goto L_0897D444; L_0897D444: { const bool branch_taken = aot_gpr_4 != 0u; @@ -3924,7 +3925,7 @@ L_0897D44C: AOT_REGCACHE_SYNC_OUT(); return; L_0897D454: aot_gpr_31 = (0x0897D45Cu); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0112_entry, 112u, 642u, 0x089C6DDCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897D45Cu) goto L_0897D45C; AOT_REGCACHE_SYNC_OUT(); return; L_0897D45C: @@ -4191,7 +4192,7 @@ L_0897D63C: AOT_REGCACHE_SYNC_OUT(); return; L_0897D644: if (ctx.gpr[2] != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); goto L_0897D668; } goto L_0897D64C; @@ -4212,7 +4213,7 @@ L_0897D65C: } goto L_0897D664; L_0897D664: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); goto L_0897D668; L_0897D668: { const bool branch_taken = aot_gpr_4 != 0u; @@ -4229,7 +4230,7 @@ L_0897D670: AOT_REGCACHE_SYNC_OUT(); return; L_0897D678: aot_gpr_31 = (0x0897D680u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0112_entry, 112u, 642u, 0x089C6DDCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897D680u) goto L_0897D680; AOT_REGCACHE_SYNC_OUT(); return; L_0897D680: @@ -4491,7 +4492,7 @@ L_0897D84C: AOT_REGCACHE_SYNC_OUT(); return; L_0897D854: if (ctx.gpr[2] != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); goto L_0897D878; } goto L_0897D85C; @@ -4512,7 +4513,7 @@ L_0897D86C: } goto L_0897D874; L_0897D874: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); goto L_0897D878; L_0897D878: { const bool branch_taken = aot_gpr_4 != 0u; @@ -4529,7 +4530,7 @@ L_0897D880: AOT_REGCACHE_SYNC_OUT(); return; L_0897D888: aot_gpr_31 = (0x0897D890u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0112_entry, 112u, 642u, 0x089C6DDCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897D890u) goto L_0897D890; AOT_REGCACHE_SYNC_OUT(); return; L_0897D890: @@ -4796,7 +4797,7 @@ L_0897DA70: AOT_REGCACHE_SYNC_OUT(); return; L_0897DA78: if (ctx.gpr[2] != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); goto L_0897DA9C; } goto L_0897DA80; @@ -4817,7 +4818,7 @@ L_0897DA90: } goto L_0897DA98; L_0897DA98: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); goto L_0897DA9C; L_0897DA9C: { const bool branch_taken = aot_gpr_4 != 0u; @@ -4834,7 +4835,7 @@ L_0897DAA4: AOT_REGCACHE_SYNC_OUT(); return; L_0897DAAC: aot_gpr_31 = (0x0897DAB4u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0112_entry, 112u, 642u, 0x089C6DDCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897DAB4u) goto L_0897DAB4; AOT_REGCACHE_SYNC_OUT(); return; L_0897DAB4: @@ -5087,7 +5088,7 @@ L_0897DC7C: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(208), std::bit_cast(ctx.fpr[28])); goto L_0897DC80; L_0897DC80: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_5 = (50413u << 16u); if (branch_taken) { @@ -5105,12 +5106,12 @@ L_0897DC94: goto L_0897DC98; L_0897DC98: aot_gpr_5 = (aot_gpr_5 | 32768u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); aot_fpr_12 = std::bit_cast(aot_gpr_5); aot_gpr_5 = (50411u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_gpr_5); - ctx.gpr[6] = (ctx.gpr[30] | 0u); + aot_gpr_6 = (ctx.gpr[30] | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[30])); aot_gpr_31 = (0x0897DCC4u); @@ -5118,7 +5119,7 @@ L_0897DC98: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0002_entry, 2u, 606u, 0x0880EDB0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897DCC4u) goto L_0897DCC4; AOT_REGCACHE_SYNC_OUT(); return; L_0897DCC4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); { const bool branch_taken = aot_gpr_4 != 0u; ctx.gpr[18] = (aot_gpr_29 + static_cast(88)); if (branch_taken) { @@ -5135,10 +5136,10 @@ L_0897DCD8: ctx.gpr[18] = (aot_gpr_29 + static_cast(88)); goto L_0897DCDC; L_0897DCDC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x0897DCECu); - ctx.gpr[6] = (ctx.gpr[23] | 0u); + aot_gpr_6 = (ctx.gpr[23] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0002_entry, 2u, 577u, 0x0880EB64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897DCECu) goto L_0897DCEC; AOT_REGCACHE_SYNC_OUT(); return; L_0897DCEC: @@ -5200,7 +5201,7 @@ L_0897DD7C: goto L_0897DD90; L_0897DD90: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(212), std::bit_cast(aot_fpr_12)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_5 = (17551u << 16u); if (branch_taken) { @@ -5220,21 +5221,21 @@ L_0897DDAC: aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[30])); aot_gpr_5 = (aot_gpr_5 | 49152u); aot_fpr_13 = std::bit_cast(aot_gpr_5); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); aot_gpr_5 = (17645u << 16u); aot_gpr_5 = (aot_gpr_5 | 32768u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), std::bit_cast(aot_fpr_13)); aot_fpr_13 = std::bit_cast(aot_gpr_5); - ctx.gpr[6] = (ctx.gpr[30] | 0u); + aot_gpr_6 = (ctx.gpr[30] | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), std::bit_cast(aot_fpr_13)); aot_gpr_31 = (0x0897DDDCu); aot_gpr_5 = (ctx.gpr[23] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0002_entry, 2u, 606u, 0x0880EDB0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897DDDCu) goto L_0897DDDC; AOT_REGCACHE_SYNC_OUT(); return; L_0897DDDC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); goto L_0897DDF4; } goto L_0897DDE8; @@ -5244,21 +5245,21 @@ L_0897DDE8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 358u, 0x08B65844u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897DDF0u) goto L_0897DDF0; AOT_REGCACHE_SYNC_OUT(); return; L_0897DDF0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); goto L_0897DDF4; L_0897DDF4: aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x0897DE00u); - ctx.gpr[6] = (ctx.gpr[23] | 0u); + aot_gpr_6 = (ctx.gpr[23] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0002_entry, 2u, 577u, 0x0880EB64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897DE00u) goto L_0897DE00; AOT_REGCACHE_SYNC_OUT(); return; L_0897DE00: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); - ctx.gpr[6] = (static_cast(static_cast(aot_gpr_4) >> 1u)); - ctx.gpr[6] = (ctx.gpr[6] >> 31u); + aot_gpr_6 = (static_cast(static_cast(aot_gpr_4) >> 1u)); + aot_gpr_6 = (aot_gpr_6 >> 31u); aot_fpr_12 = std::bit_cast(aot_gpr_5); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 1u)); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); @@ -5325,10 +5326,10 @@ L_0897DEA0: } L_0897DEAC: aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(232), static_cast(0u)); - aot_gpr_4 = (aot_gpr_28 + static_cast(7768)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); aot_gpr_5 = (0u | 197u); aot_gpr_31 = (0x0897DEC0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 553u, 0x08A062F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897DEC0u) goto L_0897DEC0; AOT_REGCACHE_SYNC_OUT(); return; L_0897DEC0: @@ -5344,7 +5345,7 @@ L_0897DEC8: aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(232), static_cast(aot_gpr_4)); goto L_0897DED0; L_0897DED0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -5359,7 +5360,7 @@ L_0897DEDC: AOT_REGCACHE_SYNC_OUT(); return; L_0897DEE4: aot_gpr_31 = (0x0897DEECu); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0002_entry, 2u, 299u, 0x0880D228u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897DEECu) goto L_0897DEEC; AOT_REGCACHE_SYNC_OUT(); return; L_0897DEEC: @@ -5401,8 +5402,8 @@ L_0897DF18: aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(234), static_cast(aot_gpr_4)); goto L_0897DF20; L_0897DF20: - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-8744))); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-8740))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-8744))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-8740))); aot_gpr_4 = (0u | 0u); aot_gpr_31 = (0x0897DF34u); aot_gpr_5 = (0u | 0u); @@ -5436,14 +5437,14 @@ L_0897DF34: AOT_REGCACHE_SYNC_OUT(); return; L_0897DF7C: aot_gpr_29 = (aot_gpr_29 + static_cast(-720)); - ctx.gpr[6] = (16128u << 16u); + aot_gpr_6 = (16128u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(664), std::bit_cast(ctx.fpr[30])); - ctx.fpr[30] = std::bit_cast(ctx.gpr[6]); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); - ctx.gpr[6] = (16256u << 16u); + ctx.fpr[30] = std::bit_cast(aot_gpr_6); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); + aot_gpr_6 = (16256u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(660), std::bit_cast(ctx.fpr[28])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(680), ctx.gpr[19]); - ctx.fpr[28] = std::bit_cast(ctx.gpr[6]); + ctx.fpr[28] = std::bit_cast(aot_gpr_6); ctx.gpr[19] = (aot_gpr_29 + static_cast(48)); { const std::uint32_t aot_run_words[4]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(aot_fpr_26)}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(644), aot_run_words); } @@ -5464,14 +5465,14 @@ L_0897DFE0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 466u, 0x08B65E44u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897DFE8u) goto L_0897DFE8; AOT_REGCACHE_SYNC_OUT(); return; L_0897DFE8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); aot_gpr_31 = (0x0897DFF4u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(636), ctx.gpr[17]); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0112_entry, 112u, 640u, 0x089C6DCCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897DFF4u) goto L_0897DFF4; AOT_REGCACHE_SYNC_OUT(); return; L_0897DFF4: { const bool branch_taken = ctx.gpr[2] == 0u; - ctx.gpr[21] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + ctx.gpr[21] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); if (branch_taken) { goto L_0897E340; } @@ -5480,7 +5481,7 @@ L_0897DFF4: L_0897DFFC: aot_gpr_5 = (16816u << 16u); ctx.fpr[20] = std::bit_cast(aot_gpr_5); - aot_gpr_4 = (aot_gpr_28 + static_cast(-16836)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(-16836)); aot_gpr_5 = (16768u << 16u); ctx.fpr[22] = std::bit_cast(aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(640), aot_gpr_4); @@ -5498,7 +5499,7 @@ L_0897E020: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 358u, 0x08B65844u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897E028u) goto L_0897E028; AOT_REGCACHE_SYNC_OUT(); return; L_0897E028: - ctx.gpr[21] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + ctx.gpr[21] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); goto L_0897E02C; L_0897E02C: aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[21] + static_cast(612))); @@ -5535,12 +5536,12 @@ L_0897E078: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(636), ctx.gpr[17]); aot_gpr_31 = (0x0897E084u); aot_gpr_4 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897E084u) goto L_0897E084; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C498, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897E084u) goto L_0897E084; AOT_REGCACHE_SYNC_OUT(); return; L_0897E084: aot_gpr_31 = (0x0897E08Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897E08Cu) goto L_0897E08C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C05C, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897E08Cu) goto L_0897E08C; AOT_REGCACHE_SYNC_OUT(); return; L_0897E08C: aot_gpr_4 = (16153u << 16u); @@ -5555,19 +5556,19 @@ L_0897E09C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(620), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(620))); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(621))); - ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(622))); + aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(622))); ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(623))); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_5 = (aot_gpr_5 & 255u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(580), static_cast(aot_gpr_4)); - ctx.gpr[6] = (ctx.gpr[6] & 255u); + aot_gpr_6 = (aot_gpr_6 & 255u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(581), static_cast(aot_gpr_5)); ctx.gpr[7] = (ctx.gpr[7] & 255u); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(582), static_cast(ctx.gpr[6])); + aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(582), static_cast(aot_gpr_6)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(583), static_cast(ctx.gpr[7])); aot_gpr_31 = (0x0897E0E0u); aot_gpr_4 = (aot_gpr_29 + static_cast(580)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897E0E0u) goto L_0897E0E0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C4A8, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897E0E0u) goto L_0897E0E0; AOT_REGCACHE_SYNC_OUT(); return; L_0897E0E0: aot_gpr_31 = (0x0897E0E8u); @@ -5575,7 +5576,7 @@ L_0897E0E0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 75u, 0x08B0C580u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897E0E8u) goto L_0897E0E8; AOT_REGCACHE_SYNC_OUT(); return; L_0897E0E8: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); { const bool branch_taken = aot_gpr_16 != 0u; ctx.fpr[24] = std::bit_cast(std::bit_cast(ctx.fpr[0])); if (branch_taken) { @@ -5601,13 +5602,13 @@ L_0897E100: L_0897E10C: aot_gpr_31 = (0x0897E114u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897E114u) goto L_0897E114; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897E114u) goto L_0897E114; AOT_REGCACHE_SYNC_OUT(); return; L_0897E114: aot_gpr_16 = (ctx.gpr[17] | 0u); goto L_0897E118; L_0897E118: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); goto L_0897E11C; L_0897E11C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(640))); @@ -5625,12 +5626,12 @@ L_0897E128: aot_gpr_4 = (aot_gpr_29 + static_cast(584)); aot_gpr_31 = (0x0897E14Cu); ctx.fpr[15] = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897E14Cu) goto L_0897E14C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08873400, 27u, 732u, 0x08873400u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, ctx.fpr[15]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897E14Cu) goto L_0897E14C; AOT_REGCACHE_SYNC_OUT(); return; L_0897E14C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 0u); - ctx.gpr[6] = (ctx.gpr[2] | 0u); + aot_gpr_6 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x0897E160u); ctx.gpr[7] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 93u, 0x08B0C6DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897E160u) goto L_0897E160; @@ -5640,35 +5641,35 @@ L_0897E160: aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_gpr_5 = (16948u << 16u); ctx.fpr[15] = std::bit_cast(aot_gpr_5); - ctx.gpr[6] = (16720u << 16u); + aot_gpr_6 = (16720u << 16u); { const float fs = aot_fpr_12; const float ft = ctx.fpr[24]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[24] = std::bit_cast(0x7FC00000u); else ctx.fpr[24] = fs * ft; } aot_gpr_5 = (17385u << 16u); aot_gpr_5 = (aot_gpr_5 | 32768u); aot_gpr_4 = (aot_gpr_29 + static_cast(600)); aot_fpr_14 = std::bit_cast(aot_gpr_5); ctx.fpr[24] = ctx.fpr[24] + aot_fpr_26; - aot_fpr_12 = std::bit_cast(ctx.gpr[6]); + aot_fpr_12 = std::bit_cast(aot_gpr_6); ctx.fpr[20] = ctx.fpr[24] + ctx.fpr[20]; ctx.fpr[20] = ctx.fpr[20] + ctx.fpr[15]; aot_gpr_31 = (0x0897E1A0u); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[20])); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897E1A0u) goto L_0897E1A0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, ctx.fpr[15]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897E1A0u) goto L_0897E1A0; AOT_REGCACHE_SYNC_OUT(); return; L_0897E1A0: aot_gpr_16 = (ctx.gpr[2] | 0u); aot_gpr_4 = (aot_gpr_29 + static_cast(616)); aot_gpr_5 = (0u | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x0897E1BCu); ctx.gpr[8] = (0u | 190u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897E1BCu) goto L_0897E1BC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897E1BCu) goto L_0897E1BC; AOT_REGCACHE_SYNC_OUT(); return; L_0897E1BC: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x0897E1CCu); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 107u, 0x08AF5130u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897E1CCu) goto L_0897E1CC; AOT_REGCACHE_SYNC_OUT(); return; L_0897E1CC: @@ -5678,7 +5679,7 @@ L_0897E1CC: ctx.gpr[17] = (0u | 1u); ctx.gpr[30] = (aot_gpr_29 + static_cast(624)); ctx.gpr[23] = (0u | 2u); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); ctx.gpr[20] = (0u | 8u); goto L_0897E1EC; L_0897E1EC: @@ -5693,7 +5694,7 @@ L_0897E1F4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 358u, 0x08B65844u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897E1FCu) goto L_0897E1FC; AOT_REGCACHE_SYNC_OUT(); return; L_0897E1FC: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(612))); goto L_0897E204; L_0897E204: @@ -5707,7 +5708,7 @@ L_0897E204: } L_0897E210: if (aot_gpr_16 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); goto L_0897E228; } goto L_0897E218; @@ -5717,12 +5718,12 @@ L_0897E218: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 358u, 0x08B65844u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897E220u) goto L_0897E220; AOT_REGCACHE_SYNC_OUT(); return; L_0897E220: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); goto L_0897E228; L_0897E228: if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); goto L_0897E23C; } goto L_0897E230; @@ -5732,10 +5733,10 @@ L_0897E230: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 358u, 0x08B65844u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897E238u) goto L_0897E238; AOT_REGCACHE_SYNC_OUT(); return; L_0897E238: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); goto L_0897E23C; L_0897E23C: - ctx.gpr[6] = (ctx.gpr[19] | 0u); + aot_gpr_6 = (ctx.gpr[19] | 0u); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[20]); aot_gpr_4 = (aot_gpr_4 + static_cast(8)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); @@ -5750,7 +5751,7 @@ L_0897E23C: AOT_REGCACHE_SYNC_OUT(); return; L_0897E268: { const bool branch_taken = ctx.gpr[2] == 0u; - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); if (branch_taken) { goto L_0897E288; } @@ -5816,17 +5817,17 @@ L_0897E2C0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 358u, 0x08B65844u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897E2C8u) goto L_0897E2C8; AOT_REGCACHE_SYNC_OUT(); return; L_0897E2C8: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); goto L_0897E2CC; L_0897E2CC: aot_gpr_4 = (aot_gpr_16 + static_cast(608)); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x0897E2DCu); - ctx.gpr[6] = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897E2DCu) goto L_0897E2DC; + aot_gpr_6 = (0u | 4u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897E2DCu) goto L_0897E2DC; AOT_REGCACHE_SYNC_OUT(); return; L_0897E2DC: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); if (aot_gpr_16 != 0u) { aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(640))); goto L_0897E314; @@ -5850,13 +5851,13 @@ L_0897E2F4: L_0897E300: aot_gpr_31 = (0x0897E308u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897E308u) goto L_0897E308; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897E308u) goto L_0897E308; AOT_REGCACHE_SYNC_OUT(); return; L_0897E308: aot_gpr_16 = (ctx.gpr[17] | 0u); goto L_0897E30C; L_0897E30C: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(640))); goto L_0897E314; L_0897E314: @@ -5872,11 +5873,11 @@ L_0897E31C: aot_fpr_12 = aot_fpr_12 - aot_fpr_26; aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); aot_gpr_31 = (0x0897E33Cu); - ctx.gpr[6] = (std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897E33Cu) goto L_0897E33C; + aot_gpr_6 = (std::bit_cast(aot_fpr_12)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897E33Cu) goto L_0897E33C; AOT_REGCACHE_SYNC_OUT(); return; L_0897E33C: - ctx.gpr[21] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + ctx.gpr[21] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); goto L_0897E340; L_0897E340: if (ctx.gpr[21] != 0u) { @@ -5890,7 +5891,7 @@ L_0897E348: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 358u, 0x08B65844u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897E350u) goto L_0897E350; AOT_REGCACHE_SYNC_OUT(); return; L_0897E350: - ctx.gpr[21] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + ctx.gpr[21] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(636))); goto L_0897E358; L_0897E358: @@ -5915,7 +5916,7 @@ L_0897E358: aot_fpr_12 = aot_fpr_12 + ctx.fpr[28]; aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); - ctx.gpr[6] = (aot_gpr_29 | 0u); + aot_gpr_6 = (aot_gpr_29 | 0u); aot_fpr_13 = aot_fpr_14 + ctx.fpr[15]; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x0897E3C0u); @@ -5923,7 +5924,7 @@ L_0897E358: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0002_entry, 2u, 605u, 0x0880ED24u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897E3C0u) goto L_0897E3C0; AOT_REGCACHE_SYNC_OUT(); return; L_0897E3C0: - ctx.gpr[21] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + ctx.gpr[21] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); { const bool branch_taken = ctx.gpr[21] != 0u; aot_gpr_5 = (aot_gpr_29 + static_cast(16)); if (branch_taken) { @@ -5937,14 +5938,14 @@ L_0897E3CC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 358u, 0x08B65844u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897E3D4u) goto L_0897E3D4; AOT_REGCACHE_SYNC_OUT(); return; L_0897E3D4: - ctx.gpr[21] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + ctx.gpr[21] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); aot_gpr_5 = (aot_gpr_29 + static_cast(16)); goto L_0897E3DC; L_0897E3DC: aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[28])); aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x0897E3ECu); - ctx.gpr[6] = (ctx.gpr[17] | 0u); + aot_gpr_6 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0002_entry, 2u, 610u, 0x0880EE6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897E3ECu) goto L_0897E3EC; AOT_REGCACHE_SYNC_OUT(); return; L_0897E3EC: @@ -5954,11 +5955,11 @@ L_0897E3EC: aot_gpr_4 = (16840u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), std::bit_cast(aot_fpr_13)); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-5336))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-5336))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), std::bit_cast(aot_fpr_12)); ctx.gpr[20] = (aot_gpr_29 + static_cast(32)); aot_gpr_16 = (0u | 0u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(12))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(12))); aot_gpr_31 = (0x0897E420u); aot_gpr_5 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0162_entry, 162u, 313u, 0x08A8DAA0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897E420u) goto L_0897E420; @@ -5972,9 +5973,9 @@ L_0897E420: goto L_0897E428; } L_0897E428: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-5336))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-5336))); aot_gpr_5 = (ctx.gpr[20] | 0u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_gpr_31 = (0x0897E43Cu); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0162_entry, 162u, 445u, 0x08A8E3D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897E43Cu) goto L_0897E43C; @@ -6010,9 +6011,9 @@ L_0897E45C: goto L_0897E464; } L_0897E464: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); { const bool branch_taken = aot_gpr_16 != 0u; - aot_gpr_5 = (aot_gpr_28 + static_cast(-16828)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-16828)); if (branch_taken) { goto L_0897E49C; } @@ -6036,14 +6037,14 @@ L_0897E47C: L_0897E488: aot_gpr_31 = (0x0897E490u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897E490u) goto L_0897E490; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897E490u) goto L_0897E490; AOT_REGCACHE_SYNC_OUT(); return; L_0897E490: aot_gpr_16 = (ctx.gpr[17] | 0u); goto L_0897E494; L_0897E494: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); - aot_gpr_5 = (aot_gpr_28 + static_cast(-16828)); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-16828)); goto L_0897E49C; L_0897E49C: aot_gpr_31 = (0x0897E4A4u); @@ -6062,12 +6063,12 @@ L_0897E4B0: L_0897E4B4: aot_gpr_31 = (0x0897E4BCu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897E4BCu) goto L_0897E4BC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C498, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897E4BCu) goto L_0897E4BC; AOT_REGCACHE_SYNC_OUT(); return; L_0897E4BC: aot_gpr_31 = (0x0897E4C4u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897E4C4u) goto L_0897E4C4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C05C, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897E4C4u) goto L_0897E4C4; AOT_REGCACHE_SYNC_OUT(); return; L_0897E4C4: aot_gpr_31 = (0x0897E4CCu); @@ -6077,13 +6078,13 @@ L_0897E4C4: L_0897E4CC: aot_gpr_31 = (0x0897E4D4u); aot_gpr_4 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897E4D4u) goto L_0897E4D4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C604, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897E4D4u) goto L_0897E4D4; AOT_REGCACHE_SYNC_OUT(); return; L_0897E4D4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(12))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(20))); aot_fpr_12 = std::bit_cast(aot_gpr_4); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(16))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(16))); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_fpr_14 = std::bit_cast(aot_gpr_4); @@ -6091,8 +6092,8 @@ L_0897E4D4: aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(24))); aot_fpr_13 = std::bit_cast(ctx.gpr[7]); - ctx.fpr[15] = std::bit_cast(ctx.gpr[6]); - aot_gpr_4 = (ctx.gpr[6] + aot_gpr_4); + ctx.fpr[15] = std::bit_cast(aot_gpr_6); + aot_gpr_4 = (aot_gpr_6 + aot_gpr_4); ctx.fpr[20] = aot_fpr_12 + aot_fpr_13; ctx.fpr[15] = static_cast(static_cast(std::bit_cast(ctx.fpr[15]))); aot_fpr_14 = aot_fpr_14 - aot_fpr_13; @@ -6104,7 +6105,7 @@ L_0897E4D4: aot_fpr_13 = ctx.fpr[15] + aot_fpr_13; aot_gpr_31 = (0x0897E534u); ctx.fpr[15] = std::bit_cast(std::bit_cast(ctx.fpr[22])); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897E534u) goto L_0897E534; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08873400, 27u, 732u, 0x08873400u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, ctx.fpr[15]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897E534u) goto L_0897E534; AOT_REGCACHE_SYNC_OUT(); return; L_0897E534: aot_gpr_31 = (0x0897E53Cu); @@ -6137,7 +6138,7 @@ L_0897E568: aot_fpr_12 = ctx.fpr[22] - aot_fpr_13; aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); aot_gpr_31 = (0x0897E598u); - ctx.gpr[6] = (std::bit_cast(aot_fpr_12)); + aot_gpr_6 = (std::bit_cast(aot_fpr_12)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 24u, 0x08B0C1B0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897E598u) goto L_0897E598; AOT_REGCACHE_SYNC_OUT(); return; L_0897E598: @@ -6168,7 +6169,7 @@ L_0897E598: AOT_REGCACHE_SYNC_OUT(); return; L_0897E5E0: aot_gpr_29 = (aot_gpr_29 + static_cast(-128)); - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-10001))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-10001))); aot_gpr_5 = (aot_gpr_5 + static_cast(1)); aot_fpr_12 = std::bit_cast(aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(80), aot_gpr_16); @@ -6192,35 +6193,35 @@ L_0897E5E0: aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(84), aot_run_words); } aot_gpr_31 = (0x0897E65Cu); aot_fpr_12 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897E65Cu) goto L_0897E65C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, ctx.fpr[15]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897E65Cu) goto L_0897E65C; AOT_REGCACHE_SYNC_OUT(); return; L_0897E65C: ctx.gpr[17] = (ctx.gpr[2] | 0u); aot_gpr_4 = (aot_gpr_29 + static_cast(16)); aot_gpr_5 = (0u | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x0897E678u); ctx.gpr[8] = (0u | 190u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897E678u) goto L_0897E678; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897E678u) goto L_0897E678; AOT_REGCACHE_SYNC_OUT(); return; L_0897E678: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x0897E688u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 107u, 0x08AF5130u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897E688u) goto L_0897E688; AOT_REGCACHE_SYNC_OUT(); return; L_0897E688: ctx.gpr[17] = (0u | 1u); aot_gpr_31 = (0x0897E694u); aot_gpr_4 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897E694u) goto L_0897E694; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C498, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897E694u) goto L_0897E694; AOT_REGCACHE_SYNC_OUT(); return; L_0897E694: aot_gpr_31 = (0x0897E69Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897E69Cu) goto L_0897E69C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C05C, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897E69Cu) goto L_0897E69C; AOT_REGCACHE_SYNC_OUT(); return; L_0897E69C: aot_gpr_4 = (16153u << 16u); @@ -6235,19 +6236,19 @@ L_0897E6AC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(24))); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(25))); - ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(26))); + aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(26))); ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(27))); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_5 = (aot_gpr_5 & 255u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(20), static_cast(aot_gpr_4)); - ctx.gpr[6] = (ctx.gpr[6] & 255u); + aot_gpr_6 = (aot_gpr_6 & 255u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(21), static_cast(aot_gpr_5)); ctx.gpr[7] = (ctx.gpr[7] & 255u); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(22), static_cast(ctx.gpr[6])); + aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(22), static_cast(aot_gpr_6)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(23), static_cast(ctx.gpr[7])); aot_gpr_31 = (0x0897E6F0u); aot_gpr_4 = (aot_gpr_29 + static_cast(20)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897E6F0u) goto L_0897E6F0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C4A8, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897E6F0u) goto L_0897E6F0; AOT_REGCACHE_SYNC_OUT(); return; L_0897E6F0: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(184))); @@ -6272,23 +6273,23 @@ L_0897E700: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(27), static_cast(aot_gpr_5)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(24))); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(25))); - ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(26))); + aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(26))); ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(27))); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_5 = (aot_gpr_5 & 255u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(32), static_cast(aot_gpr_4)); - ctx.gpr[6] = (ctx.gpr[6] & 255u); + aot_gpr_6 = (aot_gpr_6 & 255u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(33), static_cast(aot_gpr_5)); ctx.gpr[7] = (ctx.gpr[7] & 255u); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(34), static_cast(ctx.gpr[6])); + aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(34), static_cast(aot_gpr_6)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(35), static_cast(ctx.gpr[7])); aot_gpr_31 = (0x0897E760u); aot_gpr_4 = (aot_gpr_29 + static_cast(32)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897E760u) goto L_0897E760; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C4A8, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897E760u) goto L_0897E760; AOT_REGCACHE_SYNC_OUT(); return; L_0897E760: { const bool branch_taken = 0u == 0u; - ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + ctx.gpr[20] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); if (branch_taken) { goto L_0897E7D0; } @@ -6308,26 +6309,26 @@ L_0897E768: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(27), static_cast(aot_gpr_5)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(24))); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(25))); - ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(26))); + aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(26))); ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(27))); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_5 = (aot_gpr_5 & 255u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(40), static_cast(aot_gpr_4)); - ctx.gpr[6] = (ctx.gpr[6] & 255u); + aot_gpr_6 = (aot_gpr_6 & 255u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(41), static_cast(aot_gpr_5)); ctx.gpr[7] = (ctx.gpr[7] & 255u); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(42), static_cast(ctx.gpr[6])); + aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(42), static_cast(aot_gpr_6)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(43), static_cast(ctx.gpr[7])); aot_gpr_31 = (0x0897E7CCu); aot_gpr_4 = (aot_gpr_29 + static_cast(40)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897E7CCu) goto L_0897E7CC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C4A8, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897E7CCu) goto L_0897E7CC; AOT_REGCACHE_SYNC_OUT(); return; L_0897E7CC: - ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + ctx.gpr[20] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); goto L_0897E7D0; L_0897E7D0: { const bool branch_taken = ctx.gpr[20] != 0u; - aot_gpr_5 = (aot_gpr_28 + static_cast(-16820)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-16820)); if (branch_taken) { goto L_0897E804; } @@ -6351,14 +6352,14 @@ L_0897E7E4: L_0897E7F0: aot_gpr_31 = (0x0897E7F8u); aot_gpr_4 = (ctx.gpr[21] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897E7F8u) goto L_0897E7F8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897E7F8u) goto L_0897E7F8; AOT_REGCACHE_SYNC_OUT(); return; L_0897E7F8: ctx.gpr[20] = (ctx.gpr[21] | 0u); goto L_0897E7FC; L_0897E7FC: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[20]); - aot_gpr_5 = (aot_gpr_28 + static_cast(-16820)); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), ctx.gpr[20]); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-16820)); goto L_0897E804; L_0897E804: aot_gpr_31 = (0x0897E80Cu); @@ -6369,11 +6370,11 @@ L_0897E80C: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x0897E81Cu); - ctx.gpr[6] = (ctx.gpr[23] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897E81Cu) goto L_0897E81C; + aot_gpr_6 = (ctx.gpr[23] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897E81Cu) goto L_0897E81C; AOT_REGCACHE_SYNC_OUT(); return; L_0897E81C: - ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + ctx.gpr[20] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); { const bool branch_taken = ctx.gpr[20] != 0u; // nop if (branch_taken) { @@ -6387,7 +6388,7 @@ L_0897E828: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 466u, 0x08B65E44u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897E830u) goto L_0897E830; AOT_REGCACHE_SYNC_OUT(); return; L_0897E830: - ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + ctx.gpr[20] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); goto L_0897E834; L_0897E834: aot_gpr_31 = (0x0897E83Cu); @@ -6397,7 +6398,7 @@ L_0897E834: L_0897E83C: aot_gpr_4 = (0u + static_cast(-1)); { const bool branch_taken = ctx.gpr[2] != aot_gpr_4; - ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + ctx.gpr[20] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); if (branch_taken) { goto L_0897E89C; } @@ -6405,7 +6406,7 @@ L_0897E83C: } L_0897E848: { const bool branch_taken = ctx.gpr[20] != 0u; - ctx.gpr[22] = (aot_gpr_28 + static_cast(-16812)); + ctx.gpr[22] = (ctx.gpr[28] + static_cast(-16812)); if (branch_taken) { goto L_0897E878; } @@ -6429,13 +6430,13 @@ L_0897E85C: L_0897E868: aot_gpr_31 = (0x0897E870u); aot_gpr_4 = (ctx.gpr[21] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897E870u) goto L_0897E870; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897E870u) goto L_0897E870; AOT_REGCACHE_SYNC_OUT(); return; L_0897E870: ctx.gpr[20] = (ctx.gpr[21] | 0u); goto L_0897E874; L_0897E874: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[20]); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), ctx.gpr[20]); goto L_0897E878; L_0897E878: aot_gpr_4 = (ctx.gpr[20] | 0u); @@ -6447,12 +6448,12 @@ L_0897E884: aot_gpr_5 = (0u | 313u); aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x0897E894u); - ctx.gpr[6] = (ctx.gpr[23] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897E894u) goto L_0897E894; + aot_gpr_6 = (ctx.gpr[23] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897E894u) goto L_0897E894; AOT_REGCACHE_SYNC_OUT(); return; L_0897E894: { const bool branch_taken = 0u == 0u; - ctx.gpr[22] = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-10001))); + ctx.gpr[22] = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-10001))); if (branch_taken) { goto L_0897E934; } @@ -6460,7 +6461,7 @@ L_0897E894: } L_0897E89C: if (ctx.gpr[20] != 0u) { - ctx.gpr[22] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + ctx.gpr[22] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); goto L_0897E8D0; } goto L_0897E8A4; @@ -6482,14 +6483,14 @@ L_0897E8B0: L_0897E8BC: aot_gpr_31 = (0x0897E8C4u); aot_gpr_4 = (ctx.gpr[21] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897E8C4u) goto L_0897E8C4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897E8C4u) goto L_0897E8C4; AOT_REGCACHE_SYNC_OUT(); return; L_0897E8C4: ctx.gpr[20] = (ctx.gpr[21] | 0u); goto L_0897E8C8; L_0897E8C8: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[20]); - ctx.gpr[22] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), ctx.gpr[20]); + ctx.gpr[22] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); goto L_0897E8D0; L_0897E8D0: { const bool branch_taken = ctx.gpr[22] != 0u; @@ -6505,7 +6506,7 @@ L_0897E8D8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 466u, 0x08B65E44u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897E8E0u) goto L_0897E8E0; AOT_REGCACHE_SYNC_OUT(); return; L_0897E8E0: - ctx.gpr[22] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + ctx.gpr[22] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); goto L_0897E8E4; L_0897E8E4: aot_gpr_31 = (0x0897E8ECu); @@ -6513,7 +6514,7 @@ L_0897E8E4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0112_entry, 112u, 729u, 0x089C718Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897E8ECu) goto L_0897E8EC; AOT_REGCACHE_SYNC_OUT(); return; L_0897E8EC: - ctx.gpr[22] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + ctx.gpr[22] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); { const bool branch_taken = ctx.gpr[22] != 0u; ctx.gpr[21] = (ctx.gpr[2] | 0u); if (branch_taken) { @@ -6527,7 +6528,7 @@ L_0897E8F8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 466u, 0x08B65E44u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897E900u) goto L_0897E900; AOT_REGCACHE_SYNC_OUT(); return; L_0897E900: - ctx.gpr[22] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + ctx.gpr[22] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); goto L_0897E904; L_0897E904: aot_gpr_31 = (0x0897E90Cu); @@ -6546,11 +6547,11 @@ L_0897E920: aot_gpr_5 = (0u | 313u); aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x0897E930u); - ctx.gpr[6] = (ctx.gpr[23] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897E930u) goto L_0897E930; + aot_gpr_6 = (ctx.gpr[23] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897E930u) goto L_0897E930; AOT_REGCACHE_SYNC_OUT(); return; L_0897E930: - ctx.gpr[22] = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-10001))); + ctx.gpr[22] = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-10001))); goto L_0897E934; L_0897E934: { const bool branch_taken = ctx.gpr[22] == 0u; @@ -6582,23 +6583,23 @@ L_0897E948: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(27), static_cast(aot_gpr_5)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(24))); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(25))); - ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(26))); + aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(26))); ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(27))); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_5 = (aot_gpr_5 & 255u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(48), static_cast(aot_gpr_4)); - ctx.gpr[6] = (ctx.gpr[6] & 255u); + aot_gpr_6 = (aot_gpr_6 & 255u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(49), static_cast(aot_gpr_5)); ctx.gpr[7] = (ctx.gpr[7] & 255u); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(50), static_cast(ctx.gpr[6])); + aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(50), static_cast(aot_gpr_6)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(51), static_cast(ctx.gpr[7])); aot_gpr_31 = (0x0897E9A8u); aot_gpr_4 = (aot_gpr_29 + static_cast(48)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897E9A8u) goto L_0897E9A8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C4A8, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897E9A8u) goto L_0897E9A8; AOT_REGCACHE_SYNC_OUT(); return; L_0897E9A8: { const bool branch_taken = 0u == 0u; - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); if (branch_taken) { goto L_0897EA14; } @@ -6617,26 +6618,26 @@ L_0897E9B0: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(27), static_cast(aot_gpr_5)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(24))); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(25))); - ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(26))); + aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(26))); ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(27))); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_5 = (aot_gpr_5 & 255u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(56), static_cast(aot_gpr_4)); - ctx.gpr[6] = (ctx.gpr[6] & 255u); + aot_gpr_6 = (aot_gpr_6 & 255u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(57), static_cast(aot_gpr_5)); ctx.gpr[7] = (ctx.gpr[7] & 255u); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(58), static_cast(ctx.gpr[6])); + aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(58), static_cast(aot_gpr_6)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(59), static_cast(ctx.gpr[7])); aot_gpr_31 = (0x0897EA10u); aot_gpr_4 = (aot_gpr_29 + static_cast(56)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897EA10u) goto L_0897EA10; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C4A8, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897EA10u) goto L_0897EA10; AOT_REGCACHE_SYNC_OUT(); return; L_0897EA10: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); goto L_0897EA14; L_0897EA14: { const bool branch_taken = aot_gpr_16 != 0u; - aot_gpr_5 = (aot_gpr_28 + static_cast(-16804)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-16804)); if (branch_taken) { goto L_0897EA48; } @@ -6660,14 +6661,14 @@ L_0897EA28: L_0897EA34: aot_gpr_31 = (0x0897EA3Cu); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897EA3Cu) goto L_0897EA3C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897EA3Cu) goto L_0897EA3C; AOT_REGCACHE_SYNC_OUT(); return; L_0897EA3C: aot_gpr_16 = (ctx.gpr[17] | 0u); goto L_0897EA40; L_0897EA40: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); - aot_gpr_5 = (aot_gpr_28 + static_cast(-16804)); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-16804)); goto L_0897EA48; L_0897EA48: aot_gpr_31 = (0x0897EA50u); @@ -6678,11 +6679,11 @@ L_0897EA50: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x0897EA60u); - ctx.gpr[6] = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897EA60u) goto L_0897EA60; + aot_gpr_6 = (ctx.gpr[20] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897EA60u) goto L_0897EA60; AOT_REGCACHE_SYNC_OUT(); return; L_0897EA60: - ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); { const bool branch_taken = ctx.gpr[19] != 0u; // nop if (branch_taken) { @@ -6696,7 +6697,7 @@ L_0897EA6C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 466u, 0x08B65E44u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897EA74u) goto L_0897EA74; AOT_REGCACHE_SYNC_OUT(); return; L_0897EA74: - ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); goto L_0897EA78; L_0897EA78: aot_gpr_31 = (0x0897EA80u); @@ -6705,7 +6706,7 @@ L_0897EA78: AOT_REGCACHE_SYNC_OUT(); return; L_0897EA80: { const bool branch_taken = ctx.gpr[2] == 0u; - ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); if (branch_taken) { goto L_0897EAE0; } @@ -6713,7 +6714,7 @@ L_0897EA80: } L_0897EA88: { const bool branch_taken = ctx.gpr[17] != 0u; - aot_gpr_5 = (aot_gpr_28 + static_cast(-16796)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-16796)); if (branch_taken) { goto L_0897EAC0; } @@ -6737,15 +6738,15 @@ L_0897EA9C: L_0897EAA8: aot_gpr_31 = (0x0897EAB0u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897EAB0u) goto L_0897EAB0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897EAB0u) goto L_0897EAB0; AOT_REGCACHE_SYNC_OUT(); return; L_0897EAB0: aot_gpr_16 = (ctx.gpr[17] | 0u); goto L_0897EAB4; L_0897EAB4: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); ctx.gpr[17] = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_28 + static_cast(-16796)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-16796)); goto L_0897EAC0; L_0897EAC0: aot_gpr_31 = (0x0897EAC8u); @@ -6756,8 +6757,8 @@ L_0897EAC8: aot_gpr_5 = (0u | 313u); aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x0897EAD8u); - ctx.gpr[6] = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897EAD8u) goto L_0897EAD8; + aot_gpr_6 = (ctx.gpr[20] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897EAD8u) goto L_0897EAD8; AOT_REGCACHE_SYNC_OUT(); return; L_0897EAD8: { const bool branch_taken = 0u == 0u; @@ -6769,7 +6770,7 @@ L_0897EAD8: } L_0897EAE0: { const bool branch_taken = ctx.gpr[17] != 0u; - aot_gpr_16 = (aot_gpr_28 + static_cast(-16812)); + aot_gpr_16 = (ctx.gpr[28] + static_cast(-16812)); if (branch_taken) { goto L_0897EB10; } @@ -6793,13 +6794,13 @@ L_0897EAF4: L_0897EB00: aot_gpr_31 = (0x0897EB08u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897EB08u) goto L_0897EB08; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897EB08u) goto L_0897EB08; AOT_REGCACHE_SYNC_OUT(); return; L_0897EB08: ctx.gpr[17] = (ctx.gpr[18] | 0u); goto L_0897EB0C; L_0897EB0C: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), ctx.gpr[17]); goto L_0897EB10; L_0897EB10: aot_gpr_4 = (ctx.gpr[17] | 0u); @@ -6811,8 +6812,8 @@ L_0897EB1C: aot_gpr_5 = (0u | 313u); aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x0897EB2Cu); - ctx.gpr[6] = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897EB2Cu) goto L_0897EB2C; + aot_gpr_6 = (ctx.gpr[20] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897EB2Cu) goto L_0897EB2C; AOT_REGCACHE_SYNC_OUT(); return; L_0897EB2C: { std::uint32_t aot_run_words[9]{}; @@ -6847,11 +6848,11 @@ L_0897EB58: goto L_0897EB74; } L_0897EB74: - ctx.gpr[6] = (ctx.gpr[17] | 0u); - ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(16))); + aot_gpr_6 = (ctx.gpr[17] | 0u); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(16))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - { const bool branch_taken = aot_gpr_4 != ctx.gpr[6]; - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(16))); + { const bool branch_taken = aot_gpr_4 != aot_gpr_6; + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(16))); if (branch_taken) { goto L_0897EB90; } @@ -6859,10 +6860,10 @@ L_0897EB74: } L_0897EB88: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), aot_gpr_5); - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(16))); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(16))); goto L_0897EB90; L_0897EB90: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(12))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(12))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -6872,7 +6873,7 @@ L_0897EB90: } L_0897EB9C: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(16), aot_gpr_5); - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(16))); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(16))); goto L_0897EBA4; L_0897EBA4: { const bool branch_taken = aot_gpr_5 == 0u; @@ -6883,12 +6884,12 @@ L_0897EBA4: goto L_0897EBAC; } L_0897EBAC: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(12))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(12))); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(12), aot_gpr_4); goto L_0897EBB4; L_0897EBB4: aot_gpr_31 = (0x0897EBBCu); - aot_gpr_4 = (ctx.gpr[6] | 0u); + aot_gpr_4 = (aot_gpr_6 | 0u); goto L_0897EBF4; L_0897EBBC: { const bool branch_taken = ctx.gpr[17] != 0u; @@ -6915,7 +6916,7 @@ L_0897EBD8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); aot_gpr_31 = (0x0897EBE8u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-15980))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15980))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0218_entry, 218u, 162u, 0x08B6CE28u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897EBE8u) goto L_0897EBE8; AOT_REGCACHE_SYNC_OUT(); return; L_0897EBE8: @@ -6931,7 +6932,7 @@ L_0897EBF4: aot_gpr_5 = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); aot_gpr_31 = (0x0897EC08u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-15980))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15980))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0218_entry, 218u, 170u, 0x08B6CEE4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897EC08u) goto L_0897EC08; AOT_REGCACHE_SYNC_OUT(); return; L_0897EC08: @@ -6949,7 +6950,7 @@ L_0897EC14: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_16); aot_gpr_16 = (ctx.gpr[17] + static_cast(29704)); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 4u); + aot_gpr_6 = (0u | 4u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), std::bit_cast(ctx.fpr[20])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), std::bit_cast(ctx.fpr[22])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), aot_gpr_31); @@ -7025,7 +7026,7 @@ L_0897ECC8: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_16); aot_gpr_16 = (ctx.gpr[17] + static_cast(29704)); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 4u); + aot_gpr_6 = (0u | 4u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), std::bit_cast(ctx.fpr[20])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), std::bit_cast(ctx.fpr[22])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), aot_gpr_31); @@ -7101,7 +7102,7 @@ L_0897ED7C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_16); aot_gpr_16 = (ctx.gpr[17] + static_cast(29704)); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 4u); + aot_gpr_6 = (0u | 4u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), std::bit_cast(ctx.fpr[20])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), std::bit_cast(ctx.fpr[22])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), aot_gpr_31); @@ -7172,7 +7173,7 @@ L_0897EE10: AOT_REGCACHE_SYNC_OUT(); return; L_0897EE30: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-16752))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-16752))); { const std::uint32_t aot_run_words[7]{std::bit_cast(ctx.fpr[20]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(16), aot_run_words); } { const bool branch_taken = aot_gpr_4 == 0u; @@ -7183,7 +7184,7 @@ L_0897EE30: goto L_0897EE5C; } L_0897EE5C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7688))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7688))); aot_gpr_16 = (2237u << 16u); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_16 = (aot_gpr_16 + static_cast(-28416)); @@ -7194,15 +7195,15 @@ L_0897EE5C: } L_0897EE6C: aot_gpr_4 = (0u | 1u); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(7688), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7688), aot_gpr_4); aot_gpr_31 = (0x0897EE7Cu); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0010_entry, 10u, 286u, 0x0882D794u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897EE7Cu) goto L_0897EE7C; AOT_REGCACHE_SYNC_OUT(); return; L_0897EE7C: aot_gpr_31 = (0x0897EE84u); - aot_gpr_4 = (aot_gpr_28 + static_cast(-16744)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897EE84u) goto L_0897EE84; + aot_gpr_4 = (ctx.gpr[28] + static_cast(-16744)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897EE84u) goto L_0897EE84; AOT_REGCACHE_SYNC_OUT(); return; L_0897EE84: aot_gpr_31 = (0x0897EE8Cu); @@ -7220,7 +7221,7 @@ L_0897EE8C: L_0897EE94: aot_gpr_4 = (0u | 0u); aot_gpr_31 = (0x0897EEA0u); - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-8752), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-8752), static_cast(aot_gpr_4)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0097_entry, 97u, 829u, 0x0898B448u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897EEA0u) goto L_0897EEA0; AOT_REGCACHE_SYNC_OUT(); return; L_0897EEA0: @@ -7230,8 +7231,8 @@ L_0897EEA0: AOT_REGCACHE_SYNC_OUT(); return; L_0897EEA8: aot_gpr_5 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(34)))))); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(34)))))); + { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_4 = (0u | 0u); if (branch_taken) { goto L_0897EEC8; @@ -7274,7 +7275,7 @@ L_0897EEDC: L_0897EEE4: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(42)))))); aot_gpr_16 = (2236u << 16u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-16748))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16748))); { const bool branch_taken = aot_gpr_5 != 0u; aot_gpr_16 = (aot_gpr_16 + static_cast(32304)); if (branch_taken) { @@ -7285,7 +7286,7 @@ L_0897EEE4: L_0897EEF8: aot_gpr_4 = (aot_gpr_4 + static_cast(1)); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-16748), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-16748), aot_gpr_4); if (branch_taken) { goto L_0897EF1C; } @@ -7305,22 +7306,22 @@ L_0897EF0C: } L_0897EF14: aot_gpr_4 = (aot_gpr_4 + static_cast(20)); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-16748), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-16748), aot_gpr_4); goto L_0897EF1C; L_0897EF1C: aot_gpr_31 = (0x0897EF24u); aot_gpr_4 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897EF24u) goto L_0897EF24; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C498, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897EF24u) goto L_0897EF24; AOT_REGCACHE_SYNC_OUT(); return; L_0897EF24: aot_gpr_31 = (0x0897EF2Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897EF2Cu) goto L_0897EF2C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C05C, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897EF2Cu) goto L_0897EF2C; AOT_REGCACHE_SYNC_OUT(); return; L_0897EF2C: aot_gpr_31 = (0x0897EF34u); aot_gpr_4 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897EF34u) goto L_0897EF34; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C604, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897EF34u) goto L_0897EF34; AOT_REGCACHE_SYNC_OUT(); return; L_0897EF34: aot_gpr_5 = (16928u << 16u); @@ -7332,7 +7333,7 @@ L_0897EF34: aot_gpr_5 = (17288u << 16u); aot_gpr_31 = (0x0897EF58u); ctx.fpr[15] = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897EF58u) goto L_0897EF58; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08873400, 27u, 732u, 0x08873400u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, ctx.fpr[15]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897EF58u) goto L_0897EF58; AOT_REGCACHE_SYNC_OUT(); return; L_0897EF58: aot_gpr_31 = (0x0897EF60u); @@ -7344,7 +7345,7 @@ L_0897EF60: aot_gpr_5 = (aot_gpr_5 | 39322u); ctx.gpr[19] = (0u | 0u); ctx.fpr[20] = std::bit_cast(aot_gpr_5); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); ctx.gpr[17] = (0u | 0u); goto L_0897EF78; L_0897EF78: @@ -7371,13 +7372,13 @@ L_0897EF8C: L_0897EF98: aot_gpr_31 = (0x0897EFA0u); aot_gpr_4 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897EFA0u) goto L_0897EFA0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897EFA0u) goto L_0897EFA0; AOT_REGCACHE_SYNC_OUT(); return; L_0897EFA0: ctx.gpr[18] = (ctx.gpr[20] | 0u); goto L_0897EFA4; L_0897EFA4: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[18]); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), ctx.gpr[18]); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); goto L_0897EFB0; @@ -7391,22 +7392,22 @@ L_0897EFB0: goto L_0897EFBC; } L_0897EFBC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(9232))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(9232))); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-16748))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16748))); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[17]); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_fpr_13 = std::bit_cast(aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_13))); aot_gpr_31 = (0x0897EFE4u); - aot_gpr_4 = (ctx.gpr[6] | 0u); + aot_gpr_4 = (aot_gpr_6 | 0u); goto L_0897F0A0; L_0897EFE4: ctx.gpr[19] = (ctx.gpr[19] + static_cast(1)); ctx.gpr[17] = (ctx.gpr[17] + static_cast(8)); { const bool branch_taken = 0u == 0u; - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); if (branch_taken) { goto L_0897EF78; } @@ -7427,7 +7428,7 @@ L_0897F000: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 616u, 0x08A1BF34u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897F008u) goto L_0897F008; AOT_REGCACHE_SYNC_OUT(); return; L_0897F008: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); goto L_0897F00C; L_0897F00C: if (aot_gpr_4 != 0u) { @@ -7453,26 +7454,26 @@ L_0897F020: L_0897F02C: aot_gpr_31 = (0x0897F034u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897F034u) goto L_0897F034; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897F034u) goto L_0897F034; AOT_REGCACHE_SYNC_OUT(); return; L_0897F034: aot_gpr_16 = (ctx.gpr[17] | 0u); goto L_0897F038; L_0897F038: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); goto L_0897F044; L_0897F044: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(9232))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(9232))); aot_gpr_4 = (aot_gpr_4 + static_cast(-1)); aot_gpr_4 = (aot_gpr_4 << 3u); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-8740))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-16748))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-8740))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16748))); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); - aot_gpr_4 = (aot_gpr_4 - ctx.gpr[6]); + aot_gpr_4 = (aot_gpr_4 - aot_gpr_6); aot_gpr_4 = (static_cast(aot_gpr_4) < -256 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -7504,17 +7505,17 @@ L_0897F07C: AOT_REGCACHE_SYNC_OUT(); return; L_0897F0A0: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-8740))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-8740))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), std::bit_cast(ctx.fpr[20])); - aot_fpr_14 = std::bit_cast(ctx.gpr[6]); + aot_fpr_14 = std::bit_cast(aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), std::bit_cast(ctx.fpr[22])); ctx.fpr[20] = std::bit_cast(std::bit_cast(aot_fpr_12)); - ctx.gpr[6] = (16968u << 16u); + aot_gpr_6 = (16968u << 16u); ctx.fpr[22] = std::bit_cast(aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); - ctx.fpr[15] = std::bit_cast(ctx.gpr[6]); + ctx.fpr[15] = std::bit_cast(aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), std::bit_cast(ctx.fpr[24])); ctx.fpr[22] = static_cast(static_cast(std::bit_cast(ctx.fpr[22]))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_31); @@ -7545,7 +7546,7 @@ L_0897F0F0: goto L_0897F110; } L_0897F110: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-8740))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-8740))); aot_gpr_5 = (16968u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); @@ -7565,7 +7566,7 @@ L_0897F138: aot_gpr_4 = (0u | 1u); aot_gpr_31 = (0x0897F148u); ctx.fpr[24] = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897F148u) goto L_0897F148; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C498, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897F148u) goto L_0897F148; AOT_REGCACHE_SYNC_OUT(); return; L_0897F148: aot_gpr_31 = (0x0897F150u); @@ -7584,12 +7585,12 @@ L_0897F150: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(3), static_cast(aot_gpr_4)); aot_gpr_31 = (0x0897F17Cu); aot_gpr_4 = (aot_gpr_29 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897F17Cu) goto L_0897F17C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C4A8, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897F17Cu) goto L_0897F17C; AOT_REGCACHE_SYNC_OUT(); return; L_0897F17C: aot_gpr_5 = (16256u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_5); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-8744))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-8744))); aot_fpr_12 = ctx.fpr[22] - aot_fpr_13; aot_gpr_5 = (static_cast(static_cast(aot_gpr_4) >> 1u)); aot_gpr_5 = (aot_gpr_5 >> 31u); @@ -7599,8 +7600,8 @@ L_0897F17C: aot_gpr_5 = (aot_gpr_5 + static_cast(-14)); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x0897F1B0u); - ctx.gpr[6] = (std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897F1B0u) goto L_0897F1B0; + aot_gpr_6 = (std::bit_cast(aot_fpr_12)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897F1B0u) goto L_0897F1B0; AOT_REGCACHE_SYNC_OUT(); return; L_0897F1B0: { const bool branch_taken = 0u == 0u; @@ -7676,7 +7677,7 @@ L_0897F23C: } L_0897F244: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[6]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_6); aot_gpr_4 = (ctx.gpr[17] << 3u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_5); aot_gpr_31 = (0x0897F25Cu); @@ -7687,7 +7688,7 @@ L_0897F25C: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(12), aot_run_words); aot_gpr_5 = aot_run_words[0]; - ctx.gpr[6] = aot_run_words[1]; + aot_gpr_6 = aot_run_words[1]; ctx.gpr[7] = aot_run_words[2]; } ctx.gpr[19] = (ctx.gpr[2] | 0u); @@ -7700,7 +7701,7 @@ L_0897F25C: } L_0897F274: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[6]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_5); aot_gpr_31 = (0x0897F288u); aot_gpr_4 = (ctx.gpr[7] | 0u); @@ -7708,7 +7709,7 @@ L_0897F274: AOT_REGCACHE_SYNC_OUT(); return; L_0897F288: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); ctx.gpr[19] = (ctx.gpr[2] | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); goto L_0897F298; @@ -7762,15 +7763,15 @@ L_0897F2DC: goto L_0897F2E4; } L_0897F2E4: - ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(0))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(4))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(4))); aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(0), ctx.gpr[7]); - aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(4), ctx.gpr[6]); + aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(4), aot_gpr_6); goto L_0897F2F4; L_0897F2F4: ctx.gpr[19] = (ctx.gpr[19] + static_cast(8)); { const bool branch_taken = 0u == 0u; - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); if (branch_taken) { goto L_0897F330; } @@ -7791,8 +7792,8 @@ L_0897F308: } goto L_0897F310; L_0897F310: - ctx.gpr[8] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(0))); - ctx.gpr[9] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(4))); + ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); + ctx.gpr[9] = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(4))); aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(0), ctx.gpr[8]); aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(4), ctx.gpr[9]); ctx.gpr[7] = (ctx.gpr[7] + static_cast(-1)); @@ -7806,7 +7807,7 @@ L_0897F324: goto L_0897F32C; } L_0897F32C: - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); goto L_0897F330; L_0897F330: { const bool branch_taken = aot_gpr_4 != 0u; @@ -7818,7 +7819,7 @@ L_0897F330: } L_0897F338: aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (ctx.gpr[6] | 0u); + aot_gpr_5 = (aot_gpr_6 | 0u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(10), static_cast(0u)); if (branch_taken) { @@ -7833,9 +7834,9 @@ L_0897F348: } goto L_0897F350; L_0897F350: - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(0), ctx.gpr[6]); + aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(0), aot_gpr_6); aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(4), ctx.gpr[7]); aot_gpr_4 = (aot_gpr_4 + static_cast(8)); goto L_0897F364; @@ -7848,12 +7849,12 @@ L_0897F364: goto L_0897F36C; } L_0897F36C: - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); goto L_0897F370; L_0897F370: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); aot_gpr_5 = (aot_gpr_4 | 0u); - { const bool branch_taken = aot_gpr_5 == ctx.gpr[6]; + { const bool branch_taken = aot_gpr_5 == aot_gpr_6; aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(11), static_cast(0u)); if (branch_taken) { goto L_0897F38C; @@ -7864,7 +7865,7 @@ L_0897F380: aot_gpr_5 = (aot_gpr_5 + static_cast(8)); goto L_0897F384; L_0897F384: - { const bool branch_taken = aot_gpr_5 != ctx.gpr[6]; + { const bool branch_taken = aot_gpr_5 != aot_gpr_6; aot_gpr_5 = (aot_gpr_5 + static_cast(8)); if (branch_taken) { goto L_0897F384; @@ -7882,7 +7883,7 @@ L_0897F38C: L_0897F394: aot_gpr_31 = (0x0897F39Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897F39Cu) goto L_0897F39C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897F39Cu) goto L_0897F39C; AOT_REGCACHE_SYNC_OUT(); return; L_0897F39C: aot_gpr_4 = (ctx.gpr[17] << 3u); @@ -7908,8 +7909,8 @@ L_0897F3CC: aot_gpr_29 = (aot_gpr_29 + static_cast(-128)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(104), ctx.gpr[23]); ctx.gpr[23] = (aot_gpr_4 | 0u); - aot_gpr_5 = (aot_gpr_28 + static_cast(-16732)); - ctx.gpr[6] = (ctx.gpr[23] + static_cast(1)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-16732)); + aot_gpr_6 = (ctx.gpr[23] + static_cast(1)); { const std::uint32_t aot_run_words[12]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(aot_fpr_26), std::bit_cast(ctx.fpr[28]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(56), aot_run_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(108), ctx.gpr[30]); @@ -7919,7 +7920,7 @@ L_0897F3CC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0212_entry, 212u, 576u, 0x08B562D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897F420u) goto L_0897F420; AOT_REGCACHE_SYNC_OUT(); return; L_0897F420: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); { const bool branch_taken = aot_gpr_16 != 0u; aot_gpr_4 = (aot_gpr_16 | 0u); if (branch_taken) { @@ -7945,13 +7946,13 @@ L_0897F438: L_0897F444: aot_gpr_31 = (0x0897F44Cu); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897F44Cu) goto L_0897F44C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897F44Cu) goto L_0897F44C; AOT_REGCACHE_SYNC_OUT(); return; L_0897F44C: aot_gpr_16 = (ctx.gpr[17] | 0u); goto L_0897F450; L_0897F450: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); aot_gpr_4 = (aot_gpr_16 | 0u); goto L_0897F458; L_0897F458: @@ -7960,18 +7961,18 @@ L_0897F458: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 492u, 0x089F6818u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897F460u) goto L_0897F460; AOT_REGCACHE_SYNC_OUT(); return; L_0897F460: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(9236))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(9236))); aot_gpr_5 = (0u | 48u); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-16748), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-16748), aot_gpr_5); aot_gpr_5 = (0u | 1u); - ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(9232))); + ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(9232))); aot_gpr_16 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-16752), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-16752), static_cast(aot_gpr_5)); aot_gpr_5 = (aot_gpr_16 - aot_gpr_16); - ctx.gpr[6] = (static_cast(static_cast(aot_gpr_5) >> 3u)); - ctx.gpr[6] = (ctx.gpr[6] >> 29u); + aot_gpr_6 = (static_cast(static_cast(aot_gpr_5) >> 3u)); + aot_gpr_6 = (aot_gpr_6 >> 29u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(49), static_cast(0u)); - aot_gpr_5 = (aot_gpr_5 + ctx.gpr[6]); + aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); aot_gpr_5 = (static_cast(static_cast(aot_gpr_5) >> 3u)); { const bool branch_taken = static_cast(aot_gpr_5) <= 0; aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(50), static_cast(0u)); @@ -7982,9 +7983,9 @@ L_0897F460: } L_0897F49C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(0), aot_gpr_4); - aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(4), ctx.gpr[6]); + aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(4), aot_gpr_6); aot_gpr_16 = (aot_gpr_16 + static_cast(8)); aot_gpr_5 = (aot_gpr_5 + static_cast(-1)); { const bool branch_taken = static_cast(aot_gpr_5) > 0; @@ -7995,13 +7996,13 @@ L_0897F49C: goto L_0897F4BC; } L_0897F4BC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(9236))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(9236))); goto L_0897F4C0; L_0897F4C0: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(51), static_cast(0u)); aot_gpr_5 = (ctx.gpr[18] | 0u); { const bool branch_taken = aot_gpr_5 == aot_gpr_4; - ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); if (branch_taken) { goto L_0897F4DC; } @@ -8019,8 +8020,8 @@ L_0897F4D4: goto L_0897F4DC; } L_0897F4DC: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(9236), ctx.gpr[18]); - aot_gpr_4 = (aot_gpr_28 + static_cast(9232)); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(9236), ctx.gpr[18]); + aot_gpr_4 = (ctx.gpr[28] + static_cast(9232)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), aot_gpr_4); ctx.fpr[24] = std::bit_cast(0u); aot_gpr_4 = (16153u << 16u); @@ -8034,7 +8035,7 @@ L_0897F4DC: ctx.gpr[21] = (0u | 0u); ctx.fpr[28] = std::bit_cast(aot_gpr_4); ctx.gpr[20] = (aot_gpr_29 + static_cast(28)); - ctx.gpr[30] = (aot_gpr_28 + static_cast(-16720)); + ctx.gpr[30] = (ctx.gpr[28] + static_cast(-16720)); goto L_0897F51C; L_0897F51C: if (ctx.gpr[17] != 0u) { @@ -8060,13 +8061,13 @@ L_0897F530: L_0897F53C: aot_gpr_31 = (0x0897F544u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897F544u) goto L_0897F544; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897F544u) goto L_0897F544; AOT_REGCACHE_SYNC_OUT(); return; L_0897F544: ctx.gpr[17] = (aot_gpr_16 | 0u); goto L_0897F548; L_0897F548: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), ctx.gpr[17]); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(20))); goto L_0897F550; L_0897F550: @@ -8084,13 +8085,13 @@ L_0897F55C: ctx.gpr[19] = (ctx.gpr[19] + static_cast(1)); aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_5 = (ctx.gpr[30] | 0u); - ctx.gpr[6] = (ctx.gpr[18] | 0u); + aot_gpr_6 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x0897F57Cu); ctx.gpr[7] = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0212_entry, 212u, 576u, 0x08B562D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897F57Cu) goto L_0897F57C; AOT_REGCACHE_SYNC_OUT(); return; L_0897F57C: - ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); { const bool branch_taken = ctx.gpr[17] != 0u; aot_gpr_4 = (ctx.gpr[17] | 0u); if (branch_taken) { @@ -8116,13 +8117,13 @@ L_0897F594: L_0897F5A0: aot_gpr_31 = (0x0897F5A8u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897F5A8u) goto L_0897F5A8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897F5A8u) goto L_0897F5A8; AOT_REGCACHE_SYNC_OUT(); return; L_0897F5A8: ctx.gpr[17] = (aot_gpr_16 | 0u); goto L_0897F5AC; L_0897F5AC: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), ctx.gpr[17]); aot_gpr_4 = (ctx.gpr[17] | 0u); goto L_0897F5B4; L_0897F5B4: @@ -8141,7 +8142,7 @@ L_0897F5BC: L_0897F5C4: ctx.gpr[23] = (ctx.gpr[18] | 0u); ctx.gpr[19] = (0u | 1u); - ctx.gpr[6] = (ctx.gpr[23] + static_cast(1)); + aot_gpr_6 = (ctx.gpr[23] + static_cast(1)); aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_5 = (ctx.gpr[30] | 0u); aot_gpr_31 = (0x0897F5E0u); @@ -8151,7 +8152,7 @@ L_0897F5C4: L_0897F5E0: aot_gpr_31 = (0x0897F5E8u); aot_gpr_4 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897F5E8u) goto L_0897F5E8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C498, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897F5E8u) goto L_0897F5E8; AOT_REGCACHE_SYNC_OUT(); return; L_0897F5E8: aot_gpr_31 = (0x0897F5F0u); @@ -8164,7 +8165,7 @@ L_0897F5F0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 75u, 0x08B0C580u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897F5F8u) goto L_0897F5F8; AOT_REGCACHE_SYNC_OUT(); return; L_0897F5F8: - ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); { const bool branch_taken = ctx.gpr[17] != 0u; ctx.fpr[22] = std::bit_cast(std::bit_cast(ctx.fpr[0])); if (branch_taken) { @@ -8190,13 +8191,13 @@ L_0897F610: L_0897F61C: aot_gpr_31 = (0x0897F624u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897F624u) goto L_0897F624; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897F624u) goto L_0897F624; AOT_REGCACHE_SYNC_OUT(); return; L_0897F624: ctx.gpr[17] = (aot_gpr_16 | 0u); goto L_0897F628; L_0897F628: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), ctx.gpr[17]); goto L_0897F62C; L_0897F62C: aot_gpr_4 = (ctx.gpr[17] | 0u); @@ -8212,12 +8213,12 @@ L_0897F638: aot_fpr_14 = std::bit_cast(std::bit_cast(aot_fpr_26)); aot_gpr_31 = (0x0897F654u); ctx.fpr[15] = std::bit_cast(std::bit_cast(ctx.fpr[28])); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897F654u) goto L_0897F654; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08873400, 27u, 732u, 0x08873400u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, ctx.fpr[15]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897F654u) goto L_0897F654; AOT_REGCACHE_SYNC_OUT(); return; L_0897F654: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 0u); - ctx.gpr[6] = (ctx.gpr[2] | 0u); + aot_gpr_6 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x0897F668u); ctx.gpr[7] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 93u, 0x08B0C6DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897F668u) goto L_0897F668; @@ -8226,7 +8227,7 @@ L_0897F668: aot_fpr_12 = std::bit_cast(ctx.gpr[2]); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), ctx.gpr[22]); - ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); { const float fs = aot_fpr_12; const float ft = ctx.fpr[22]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); { const bool branch_taken = ctx.gpr[17] != 0u; @@ -8254,13 +8255,13 @@ L_0897F694: L_0897F6A0: aot_gpr_31 = (0x0897F6A8u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897F6A8u) goto L_0897F6A8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897F6A8u) goto L_0897F6A8; AOT_REGCACHE_SYNC_OUT(); return; L_0897F6A8: ctx.gpr[17] = (aot_gpr_16 | 0u); goto L_0897F6AC; L_0897F6AC: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), ctx.gpr[17]); goto L_0897F6B0; L_0897F6B0: aot_gpr_4 = (ctx.gpr[17] | 0u); @@ -8270,8 +8271,8 @@ L_0897F6B0: AOT_REGCACHE_SYNC_OUT(); return; L_0897F6BC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), ctx.gpr[2]); - ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(9236))); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(9240))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(9236))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(9240))); { const bool branch_taken = ctx.gpr[17] == aot_gpr_4; // nop if (branch_taken) { @@ -8292,13 +8293,13 @@ L_0897F6D8: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(44))); aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), aot_gpr_4); aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(4), aot_gpr_5); - ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(9236))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(9236))); aot_gpr_4 = (ctx.gpr[17] + static_cast(8)); goto L_0897F6F0; L_0897F6F0: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(9236), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(9236), aot_gpr_4); { const bool branch_taken = 0u == 0u; - ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); if (branch_taken) { goto L_0897F720; } @@ -8307,7 +8308,7 @@ L_0897F6F0: L_0897F6FC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(52))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(48), static_cast(0u)); - ctx.gpr[6] = (aot_gpr_29 + static_cast(40)); + aot_gpr_6 = (aot_gpr_29 + static_cast(40)); ctx.gpr[7] = (aot_gpr_29 + static_cast(48)); aot_gpr_5 = (ctx.gpr[17] | 0u); ctx.gpr[8] = (0u | 1u); @@ -8315,7 +8316,7 @@ L_0897F6FC: ctx.gpr[9] = (0u | 1u); goto L_0897F1D8; L_0897F71C: - ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); goto L_0897F720; L_0897F720: ctx.gpr[22] = (ctx.gpr[18] + ctx.gpr[22]); @@ -8354,17 +8355,17 @@ L_0897F730: AOT_REGCACHE_SYNC_OUT(); return; L_0897F774: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(9236))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(9236))); ctx.gpr[7] = (aot_gpr_5 | 0u); - ctx.gpr[6] = (ctx.gpr[7] - ctx.gpr[7]); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(9232))); - ctx.gpr[8] = (static_cast(static_cast(ctx.gpr[6]) >> 3u)); - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-16752), static_cast(0u)); + aot_gpr_6 = (ctx.gpr[7] - ctx.gpr[7]); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(9232))); + ctx.gpr[8] = (static_cast(static_cast(aot_gpr_6) >> 3u)); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-16752), static_cast(0u)); ctx.gpr[8] = (ctx.gpr[8] >> 29u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(0), static_cast(0u)); - ctx.gpr[6] = (ctx.gpr[6] + ctx.gpr[8]); - ctx.gpr[6] = (static_cast(static_cast(ctx.gpr[6]) >> 3u)); - { const bool branch_taken = static_cast(ctx.gpr[6]) <= 0; + aot_gpr_6 = (aot_gpr_6 + ctx.gpr[8]); + aot_gpr_6 = (static_cast(static_cast(aot_gpr_6) >> 3u)); + { const bool branch_taken = static_cast(aot_gpr_6) <= 0; aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(1), static_cast(0u)); if (branch_taken) { goto L_0897F7CC; @@ -8377,8 +8378,8 @@ L_0897F7A8: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), ctx.gpr[8]); ctx.gpr[7] = (ctx.gpr[7] + static_cast(8)); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(-1)); - { const bool branch_taken = static_cast(ctx.gpr[6]) > 0; + aot_gpr_6 = (aot_gpr_6 + static_cast(-1)); + { const bool branch_taken = static_cast(aot_gpr_6) > 0; aot_gpr_4 = (aot_gpr_4 + static_cast(8)); if (branch_taken) { goto L_0897F7A8; @@ -8386,10 +8387,10 @@ L_0897F7A8: goto L_0897F7C8; } L_0897F7C8: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(9236))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(9236))); goto L_0897F7CC; L_0897F7CC: - ctx.gpr[6] = (aot_gpr_4 | 0u); + aot_gpr_6 = (aot_gpr_4 | 0u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(2), static_cast(0u)); if (branch_taken) { @@ -8409,7 +8410,7 @@ L_0897F7DC: goto L_0897F7E4; } L_0897F7E4: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(9236), ctx.gpr[6]); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(9236), aot_gpr_6); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; @@ -8417,7 +8418,7 @@ L_0897F7E4: ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0897F7F0: - ctx.gpr[2] = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-16752))); + ctx.gpr[2] = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-16752))); jump_target = aot_gpr_31; ctx.gpr[2] = (ctx.gpr[2] < static_cast(1) ? 1u : 0u); local_pc = jump_target; @@ -8453,9 +8454,9 @@ L_0897F818: } L_0897F834: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); aot_gpr_5 = (aot_gpr_4 | 0u); - { const bool branch_taken = aot_gpr_5 == ctx.gpr[6]; + { const bool branch_taken = aot_gpr_5 == aot_gpr_6; aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(0), static_cast(0u)); if (branch_taken) { goto L_0897F854; @@ -8466,7 +8467,7 @@ L_0897F848: aot_gpr_5 = (aot_gpr_5 + static_cast(8)); goto L_0897F84C; L_0897F84C: - { const bool branch_taken = aot_gpr_5 != ctx.gpr[6]; + { const bool branch_taken = aot_gpr_5 != aot_gpr_6; aot_gpr_5 = (aot_gpr_5 + static_cast(8)); if (branch_taken) { goto L_0897F84C; @@ -8494,7 +8495,7 @@ L_0897F864: L_0897F86C: aot_gpr_31 = (0x0897F874u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897F874u) goto L_0897F874; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897F874u) goto L_0897F874; AOT_REGCACHE_SYNC_OUT(); return; L_0897F874: aot_gpr_4 = (aot_gpr_16 & 1u); @@ -8510,7 +8511,7 @@ L_0897F878: L_0897F880: aot_gpr_31 = (0x0897F888u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897F888u) goto L_0897F888; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897F888u) goto L_0897F888; AOT_REGCACHE_SYNC_OUT(); return; L_0897F888: { std::uint32_t aot_run_words[3]{}; @@ -8528,11 +8529,11 @@ L_0897F888: L_0897F89C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); { const std::uint32_t aot_run_words[3]{0u, 0u, 0u}; - aot_mem.aot_direct_store32_block(aot_gpr_28 + static_cast(9232), aot_run_words); } + aot_mem.aot_direct_store32_block(ctx.gpr[28] + static_cast(9232), aot_run_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x0897F8B8u); - aot_gpr_4 = (aot_gpr_28 + static_cast(-16692)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897F8B8u) goto L_0897F8B8; + aot_gpr_4 = (ctx.gpr[28] + static_cast(-16692)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897F8B8u) goto L_0897F8B8; AOT_REGCACHE_SYNC_OUT(); return; L_0897F8B8: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); @@ -8583,7 +8584,7 @@ L_0897F908: L_0897F910: aot_gpr_31 = (0x0897F918u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897F918u) goto L_0897F918; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897F918u) goto L_0897F918; AOT_REGCACHE_SYNC_OUT(); return; L_0897F918: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -8604,27 +8605,27 @@ L_0897F924: AOT_REGCACHE_SYNC_OUT(); return; L_0897F93C: aot_gpr_5 = (aot_gpr_29 + static_cast(8)); - ctx.gpr[6] = (aot_gpr_29 + static_cast(12)); + aot_gpr_6 = (aot_gpr_29 + static_cast(12)); aot_gpr_31 = (0x0897F94Cu); aot_gpr_4 = (aot_gpr_29 | 0u); ctx.pc = 0x08B7352Cu; AOT_REGCACHE_SYNC_OUT(); return; L_0897F94C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-16676))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-16680))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16676))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16680))); aot_gpr_31 = (0x0897F960u); aot_gpr_5 = (static_cast(static_cast(aot_gpr_4) >> 31u)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897F960u) goto L_0897F960; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897F960u) goto L_0897F960; AOT_REGCACHE_SYNC_OUT(); return; L_0897F960: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); - ctx.gpr[6] = (ctx.gpr[2] + aot_gpr_4); - ctx.gpr[7] = (ctx.gpr[6] < aot_gpr_4 ? 1u : 0u); + aot_gpr_6 = (ctx.gpr[2] + aot_gpr_4); + ctx.gpr[7] = (aot_gpr_6 < aot_gpr_4 ? 1u : 0u); aot_gpr_5 = (static_cast(static_cast(aot_gpr_4) >> 31u)); ctx.gpr[7] = (ctx.gpr[7] + ctx.gpr[3]); aot_gpr_5 = (ctx.gpr[7] + aot_gpr_5); - aot_gpr_4 = (ctx.gpr[6] | 0u); + aot_gpr_4 = (aot_gpr_6 | 0u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(12), aot_gpr_5); @@ -8654,18 +8655,18 @@ L_0897F9B0: AOT_REGCACHE_SYNC_OUT(); return; L_0897F9D0: aot_gpr_5 = (aot_gpr_29 + static_cast(8)); - ctx.gpr[6] = (aot_gpr_29 + static_cast(12)); + aot_gpr_6 = (aot_gpr_29 + static_cast(12)); aot_gpr_31 = (0x0897F9E0u); aot_gpr_4 = (aot_gpr_29 | 0u); ctx.pc = 0x08B7352Cu; AOT_REGCACHE_SYNC_OUT(); return; L_0897F9E0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-16676))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-16680))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16676))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16680))); aot_gpr_31 = (0x0897F9F4u); aot_gpr_5 = (static_cast(static_cast(aot_gpr_4) >> 31u)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897F9F4u) goto L_0897F9F4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897F9F4u) goto L_0897F9F4; AOT_REGCACHE_SYNC_OUT(); return; L_0897F9F4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); @@ -8677,12 +8678,12 @@ L_0897F9F4: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(12))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), ctx.gpr[19]); - ctx.gpr[6] = (ctx.gpr[18] < aot_gpr_4 ? 1u : 0u); + aot_gpr_6 = (ctx.gpr[18] < aot_gpr_4 ? 1u : 0u); ctx.gpr[7] = (ctx.gpr[19] - aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), ctx.gpr[18]); aot_gpr_4 = (ctx.gpr[18] - aot_gpr_4); aot_gpr_31 = (0x0897FA30u); - aot_gpr_5 = (ctx.gpr[7] - ctx.gpr[6]); + aot_gpr_5 = (ctx.gpr[7] - aot_gpr_6); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 183u, 0x08B60EC8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897FA30u) goto L_0897FA30; AOT_REGCACHE_SYNC_OUT(); return; L_0897FA30: @@ -8767,7 +8768,7 @@ L_0897FAFC: L_0897FB18: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (0u | 2u); + aot_gpr_6 = (0u | 2u); aot_gpr_31 = (0x0897FB2Cu); ctx.gpr[7] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0012_entry, 12u, 92u, 0x08834A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897FB2Cu) goto L_0897FB2C; @@ -8843,7 +8844,7 @@ L_0897FBEC: AOT_REGCACHE_SYNC_OUT(); return; L_0897FBF4: if (ctx.gpr[2] == 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(7800))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7800))); goto L_0897FC18; } goto L_0897FBFC; @@ -8857,45 +8858,45 @@ L_0897FC04: aot_gpr_4 = (aot_gpr_4 & ctx.gpr[19]); aot_gpr_4 = (aot_gpr_4 | 208u); aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(72), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(7800))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7800))); goto L_0897FC18; L_0897FC18: aot_gpr_5 = (aot_gpr_4 + aot_gpr_4); - ctx.gpr[6] = (aot_gpr_4 << 8u); + aot_gpr_6 = (aot_gpr_4 << 8u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_gpr_4 << 5u); - aot_gpr_4 = (ctx.gpr[6] + aot_gpr_4); + aot_gpr_4 = (aot_gpr_6 + aot_gpr_4); aot_gpr_5 = (aot_gpr_4 + ctx.gpr[20]); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(4), aot_gpr_16); aot_gpr_5 = (aot_gpr_16 | 0u); { const bool branch_taken = aot_gpr_5 == 0u; - ctx.gpr[6] = (ctx.gpr[20] + static_cast(4)); + aot_gpr_6 = (ctx.gpr[20] + static_cast(4)); if (branch_taken) { goto L_0897FC70; } goto L_0897FC40; } L_0897FC40: - ctx.gpr[6] = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_6 = (aot_gpr_4 + aot_gpr_6); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x0897FC50u); - aot_gpr_5 = (ctx.gpr[6] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897FC50u) goto L_0897FC50; + aot_gpr_5 = (aot_gpr_6 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897FC50u) goto L_0897FC50; AOT_REGCACHE_SYNC_OUT(); return; L_0897FC50: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(7800))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7800))); aot_gpr_5 = (aot_gpr_4 + aot_gpr_4); - ctx.gpr[6] = (aot_gpr_4 << 8u); + aot_gpr_6 = (aot_gpr_4 << 8u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_gpr_4 << 5u); - aot_gpr_4 = (ctx.gpr[6] + aot_gpr_4); + aot_gpr_4 = (aot_gpr_6 + aot_gpr_4); aot_gpr_5 = (aot_gpr_4 + ctx.gpr[20]); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); goto L_0897FC70; L_0897FC70: aot_gpr_31 = (0x0897FC78u); aot_gpr_4 = (aot_gpr_5 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897FC78u) goto L_0897FC78; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B01E00, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0897FC78u) goto L_0897FC78; AOT_REGCACHE_SYNC_OUT(); return; L_0897FC78: aot_gpr_5 = (ctx.gpr[2] | 0u); @@ -8918,7 +8919,7 @@ L_0897FC88: L_0897FC90: aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_5 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (0u | 18u); + aot_gpr_6 = (0u | 18u); ctx.gpr[7] = (0u | 1u); aot_gpr_31 = (0x0897FCA8u); ctx.gpr[8] = (0u | 1u); @@ -8941,7 +8942,7 @@ L_0897FCB4: L_0897FCBC: aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_5 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (0u | 3u); + aot_gpr_6 = (0u | 3u); ctx.gpr[7] = (0u | 1u); aot_gpr_31 = (0x0897FCD4u); ctx.gpr[8] = (0u | 1u); @@ -8971,15 +8972,15 @@ L_0897FCD4: ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0897FD10: - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(7800))); - ctx.gpr[6] = (2238u << 16u); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7800))); + aot_gpr_6 = (2238u << 16u); ctx.gpr[7] = (aot_gpr_5 + aot_gpr_5); ctx.gpr[8] = (aot_gpr_5 << 8u); aot_gpr_5 = (aot_gpr_5 + ctx.gpr[7]); aot_gpr_5 = (aot_gpr_5 << 5u); aot_gpr_5 = (ctx.gpr[8] + aot_gpr_5); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(-6992)); - aot_gpr_5 = (aot_gpr_5 + ctx.gpr[6]); + aot_gpr_6 = (aot_gpr_6 + static_cast(-6992)); + aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); ctx.gpr[7] = (aot_gpr_4 & 255u); ctx.gpr[9] = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(612))); @@ -9007,30 +9008,30 @@ L_0897FD64: ctx.gpr[8] = (ctx.gpr[8] & ctx.gpr[9]); ctx.gpr[8] = (ctx.gpr[8] | 64u); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(72), ctx.gpr[8]); - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(7800))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7800))); ctx.gpr[8] = (aot_gpr_5 + aot_gpr_5); ctx.gpr[9] = (aot_gpr_5 << 8u); aot_gpr_5 = (aot_gpr_5 + ctx.gpr[8]); aot_gpr_5 = (aot_gpr_5 << 5u); aot_gpr_5 = (ctx.gpr[9] + aot_gpr_5); - aot_gpr_5 = (aot_gpr_5 + ctx.gpr[6]); + aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(612), static_cast(aot_gpr_4)); goto L_0897FD9C; L_0897FD9C: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5444))); - ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(7800))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5444))); + ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7800))); aot_gpr_5 = (aot_gpr_5 + static_cast(-1)); - ctx.gpr[9] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5436))); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(5444), aot_gpr_5); + ctx.gpr[9] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5436))); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(5444), aot_gpr_5); aot_gpr_5 = (ctx.gpr[9] + static_cast(1)); ctx.gpr[10] = (ctx.gpr[8] + ctx.gpr[8]); ctx.gpr[9] = (ctx.gpr[8] << 8u); ctx.gpr[8] = (ctx.gpr[8] + ctx.gpr[10]); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(5436), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(5436), aot_gpr_5); aot_gpr_5 = (ctx.gpr[8] << 5u); aot_gpr_5 = (ctx.gpr[9] + aot_gpr_5); - aot_gpr_5 = (aot_gpr_5 + ctx.gpr[6]); + aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); goto L_0897FDD4; L_0897FDD4: @@ -9038,14 +9039,14 @@ L_0897FDD4: ctx.gpr[9] = (0u + static_cast(-9)); ctx.gpr[8] = (ctx.gpr[8] & ctx.gpr[9]); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(613), static_cast(ctx.gpr[8])); - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(7800))); - ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7660))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7800))); + ctx.gpr[8] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); ctx.gpr[9] = (aot_gpr_5 + aot_gpr_5); ctx.gpr[10] = (aot_gpr_5 << 8u); aot_gpr_5 = (aot_gpr_5 + ctx.gpr[9]); aot_gpr_5 = (aot_gpr_5 << 5u); aot_gpr_5 = (ctx.gpr[10] + aot_gpr_5); - aot_gpr_5 = (aot_gpr_5 + ctx.gpr[6]); + aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(220), ctx.gpr[8]); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(216), static_cast(aot_gpr_4)); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(217), static_cast(ctx.gpr[7])); @@ -9058,19 +9059,19 @@ L_0897FDD4: L_0897FE18: aot_fpr_12 = std::bit_cast(0u); aot_gpr_4 = (16256u << 16u); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(9248), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(9248), std::bit_cast(aot_fpr_12)); aot_fpr_13 = std::bit_cast(aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(9252), std::bit_cast(aot_fpr_12)); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(9256), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(9252), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(9256), std::bit_cast(aot_fpr_12)); jump_target = aot_gpr_31; - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(9260), std::bit_cast(aot_fpr_13)); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(9260), std::bit_cast(aot_fpr_13)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0897FE38: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - { const std::uint32_t aot_run_words[7]{aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11]}; + { const std::uint32_t aot_run_words[7]{aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(20), aot_run_words); } jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(48)); @@ -9088,7 +9089,7 @@ L_0897FE60: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), std::bit_cast(aot_fpr_12)); ctx.gpr[7] = (0u | 0u); aot_gpr_4 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (ctx.gpr[7] + aot_gpr_4); goto L_0897FE90; @@ -9110,9 +9111,9 @@ L_0897FE90: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(32), 0u); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(36), 0u); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(1)); + aot_gpr_6 = (aot_gpr_6 + static_cast(1)); aot_gpr_5 = (aot_gpr_5 + static_cast(48)); - ctx.gpr[7] = (static_cast(ctx.gpr[6]) < 64 ? 1u : 0u); + ctx.gpr[7] = (static_cast(aot_gpr_6) < 64 ? 1u : 0u); { const bool branch_taken = ctx.gpr[7] != 0u; aot_gpr_4 = (aot_gpr_4 + static_cast(48)); if (branch_taken) { @@ -9121,7 +9122,7 @@ L_0897FE90: goto L_0897FEC0; } L_0897FEC0: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(9264), 0u); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(9264), 0u); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; @@ -9131,9 +9132,9 @@ L_0897FEC0: L_0897FECC: ctx.gpr[7] = (2247u << 16u); ctx.gpr[7] = (ctx.gpr[7] + static_cast(-3872)); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(9264), 0u); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(9264), 0u); ctx.gpr[8] = (0u | 0u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7660))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_5 = (0u | 1u); aot_gpr_4 = (0u | 2u); goto L_0897FEE8; @@ -9148,7 +9149,7 @@ L_0897FEE8: } L_0897FEF4: ctx.gpr[9] = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(32))); - ctx.gpr[9] = (ctx.gpr[9] < ctx.gpr[6] ? 1u : 0u); + ctx.gpr[9] = (ctx.gpr[9] < aot_gpr_6 ? 1u : 0u); { const bool branch_taken = ctx.gpr[9] != 0u; // nop if (branch_taken) { @@ -9278,8 +9279,8 @@ L_0897FFC4: goto L_0897FFCC; } L_0897FFCC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7660))); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(ctx.gpr[9] + static_cast(32), aot_gpr_4); if (branch_taken) { @@ -9288,7 +9289,7 @@ L_0897FFCC: goto L_0897FFDC; } L_0897FFDC: - ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(9264))); + ctx.gpr[8] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(9264))); ctx.gpr[10] = (static_cast(ctx.gpr[8]) < 64 ? 1u : 0u); { const bool branch_taken = ctx.gpr[10] == 0u; ctx.gpr[9] = (ctx.gpr[8] << 4u); diff --git a/profiles/vcs/generated/generated_unit_0095.cpp b/profiles/vcs/generated/generated_unit_0095.cpp index fb0bed2..c7c9b22 100644 --- a/profiles/vcs/generated/generated_unit_0095.cpp +++ b/profiles/vcs/generated/generated_unit_0095.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0095[4090] = { }; void recomp_unit_0095_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,6,16,31 fprs=12,13,14,15 gpr_occ=3086 fpr_occ=898 gpr_total=5065 fpr_total=1440 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,6,31,2 fprs=12,13,14,15 gpr_occ=3289 fpr_occ=898 gpr_total=5546 fpr_total=1440 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_6 = ctx.gpr[6]; - std::uint32_t aot_gpr_16 = ctx.gpr[16]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; + std::uint32_t aot_gpr_2 = ctx.gpr[2]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_14 = ctx.fpr[14]; float aot_fpr_15 = ctx.fpr[15]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[6] = aot_gpr_6; ctx.gpr[16] = aot_gpr_16; ctx.gpr[31] = aot_gpr_31; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[15] = aot_fpr_15; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_31 = ctx.gpr[31]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_15 = ctx.fpr[15]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[6] = aot_gpr_6; ctx.gpr[31] = aot_gpr_31; ctx.gpr[2] = aot_gpr_2; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[15] = aot_fpr_15; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_2 = ctx.gpr[2]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_15 = ctx.fpr[15]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -958,7 +959,7 @@ L_08980098: } L_089800A8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_089800B8; } @@ -966,7 +967,7 @@ L_089800A8: } L_089800B0: aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), ctx.gpr[7]); - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); goto L_089800B8; L_089800B8: jump_target = aot_gpr_31; @@ -984,7 +985,7 @@ L_089800C0: ctx.gpr[8] = (ctx.gpr[8] + ctx.gpr[3]); ctx.gpr[11] = (aot_gpr_5 | 0u); ctx.gpr[3] = (17008u << 16u); - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); aot_fpr_13 = std::bit_cast(ctx.gpr[3]); ctx.gpr[10] = (0u | 0u); ctx.gpr[7] = (aot_gpr_29 + static_cast(32)); @@ -1059,7 +1060,7 @@ L_08980100: goto L_0898013C; } L_0898013C: - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(0), ctx.gpr[10]); goto L_08980148; @@ -1110,8 +1111,8 @@ L_08980194: AOT_REGCACHE_SYNC_OUT(); return; L_0898019C: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), ctx.gpr[22]); aot_gpr_4 = (aot_gpr_5 | 0u); ctx.gpr[22] = (2247u << 16u); @@ -1147,7 +1148,7 @@ L_089801F0: AOT_REGCACHE_SYNC_OUT(); return; L_089801F8: { const bool branch_taken = 0u == 0u; - ctx.gpr[21] = (ctx.gpr[2] | 0u); + ctx.gpr[21] = (aot_gpr_2 | 0u); if (branch_taken) { goto L_08980244; } @@ -1177,7 +1178,7 @@ L_08980214: AOT_REGCACHE_SYNC_OUT(); return; L_0898021C: { const bool branch_taken = 0u == 0u; - ctx.gpr[21] = (ctx.gpr[2] | 0u); + ctx.gpr[21] = (aot_gpr_2 | 0u); if (branch_taken) { goto L_08980244; } @@ -1190,7 +1191,7 @@ L_08980224: AOT_REGCACHE_SYNC_OUT(); return; L_0898022C: { const bool branch_taken = 0u == 0u; - ctx.gpr[21] = (ctx.gpr[2] | 0u); + ctx.gpr[21] = (aot_gpr_2 | 0u); if (branch_taken) { goto L_08980244; } @@ -1227,7 +1228,7 @@ L_0898025C: } L_08980264: aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); - { const bool branch_taken = aot_gpr_6 != aot_gpr_16; + { const bool branch_taken = aot_gpr_6 != ctx.gpr[16]; // nop if (branch_taken) { goto L_08980298; @@ -1331,7 +1332,7 @@ L_089802F8: aot_gpr_6 = (aot_gpr_4 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); ctx.gpr[17] = (aot_gpr_4 + ctx.gpr[22]); - aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(4), aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_5 = (aot_gpr_5 + ctx.gpr[20]); @@ -1376,11 +1377,11 @@ L_0898034C: aot_gpr_5 = (aot_gpr_4 + aot_gpr_5); aot_gpr_31 = (0x08980360u); aot_gpr_4 = (aot_gpr_6 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08980360u) goto L_08980360; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08980360u) goto L_08980360; AOT_REGCACHE_SYNC_OUT(); return; L_08980360: aot_gpr_4 = (0u | 4u); - { const bool branch_taken = aot_gpr_16 != aot_gpr_4; + { const bool branch_taken = ctx.gpr[16] != aot_gpr_4; // nop if (branch_taken) { goto L_08980378; @@ -1405,7 +1406,7 @@ L_0898037C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08980384u) goto L_08980384; AOT_REGCACHE_SYNC_OUT(); return; L_08980384: - { const bool branch_taken = ctx.gpr[19] != ctx.gpr[2]; + { const bool branch_taken = ctx.gpr[19] != aot_gpr_2; // nop if (branch_taken) { goto L_089803A8; @@ -1423,14 +1424,14 @@ L_0898038C: } L_08980398: aot_gpr_6 = (0u | 0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089803A8u); aot_gpr_5 = (ctx.gpr[18] | 0u); goto L_089803D0; L_089803A8: { std::uint32_t aot_run_words[8]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -1447,10 +1448,10 @@ L_089803A8: AOT_REGCACHE_SYNC_OUT(); return; L_089803D0: aot_gpr_29 = (aot_gpr_29 + static_cast(-64)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), ctx.gpr[17]); ctx.gpr[17] = (aot_gpr_4 | 0u); - aot_gpr_16 = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), ctx.gpr[18]); ctx.gpr[18] = (aot_gpr_6 & 255u); aot_gpr_5 = (ctx.gpr[17] + static_cast(-1)); @@ -1607,13 +1608,13 @@ L_0898049C: goto L_089804A4; } L_089804A4: - ctx.gpr[20] = (aot_gpr_16 | 0u); + ctx.gpr[20] = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089804B0u); aot_gpr_4 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 241u, 0x089051ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089804B0u) goto L_089804B0; AOT_REGCACHE_SYNC_OUT(); return; L_089804B0: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08980558; @@ -1626,7 +1627,7 @@ L_089804B8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089804C0u) goto L_089804C0; AOT_REGCACHE_SYNC_OUT(); return; L_089804C0: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(2320))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(2320))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -1712,7 +1713,7 @@ L_08980560: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08980568u) goto L_08980568; AOT_REGCACHE_SYNC_OUT(); return; L_08980568: - aot_gpr_4 = (ctx.gpr[2] + static_cast(48)); + aot_gpr_4 = (aot_gpr_2 + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -1739,7 +1740,7 @@ L_08980580: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0172_entry, 172u, 62u, 0x08AB437Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08980590u) goto L_08980590; AOT_REGCACHE_SYNC_OUT(); return; L_08980590: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; aot_gpr_4 = (0u | 4u); if (branch_taken) { goto L_089805C4; @@ -1793,10 +1794,10 @@ L_089805C4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089805CCu) goto L_089805CC; AOT_REGCACHE_SYNC_OUT(); return; L_089805CC: - aot_gpr_4 = (ctx.gpr[2] + static_cast(2288)); + aot_gpr_4 = (aot_gpr_2 + static_cast(2288)); aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_6 = (ctx.gpr[20] | 0u); - ctx.gpr[7] = (aot_gpr_16 | 0u); + ctx.gpr[7] = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089805E4u); ctx.gpr[8] = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0171_entry, 171u, 958u, 0x08AB3BE8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089805E4u) goto L_089805E4; @@ -1807,7 +1808,7 @@ L_089805E4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089805ECu) goto L_089805EC; AOT_REGCACHE_SYNC_OUT(); return; L_089805EC: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x089805F8u); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 659u, 0x089474A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089805F8u) goto L_089805F8; @@ -1826,10 +1827,10 @@ L_08980600: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08980608u) goto L_08980608; AOT_REGCACHE_SYNC_OUT(); return; L_08980608: - aot_gpr_4 = (ctx.gpr[2] + static_cast(2288)); + aot_gpr_4 = (aot_gpr_2 + static_cast(2288)); aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_6 = (ctx.gpr[20] | 0u); - ctx.gpr[7] = (aot_gpr_16 | 0u); + ctx.gpr[7] = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08980620u); ctx.gpr[8] = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0171_entry, 171u, 954u, 0x08AB3B88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08980620u) goto L_08980620; @@ -1849,7 +1850,7 @@ L_0898062C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08980634u) goto L_08980634; AOT_REGCACHE_SYNC_OUT(); return; L_08980634: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08980640u); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 659u, 0x089474A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08980640u) goto L_08980640; @@ -1877,7 +1878,7 @@ L_08980654: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898065Cu) goto L_0898065C; AOT_REGCACHE_SYNC_OUT(); return; L_0898065C: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08980668u); aot_gpr_5 = (0u | 2u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 659u, 0x089474A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08980668u) goto L_08980668; @@ -1885,7 +1886,7 @@ L_0898065C: L_08980668: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(32), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -1899,9 +1900,9 @@ L_08980668: ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08980688: - ctx.gpr[2] = (2200u << 16u); + aot_gpr_2 = (2200u << 16u); jump_target = aot_gpr_31; - ctx.gpr[2] = (ctx.gpr[2] + static_cast(1672)); + aot_gpr_2 = (aot_gpr_2 + static_cast(1672)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -1922,15 +1923,15 @@ L_089806A4: AOT_REGCACHE_SYNC_OUT(); return; L_089806B0: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x089806C4u); - aot_gpr_16 = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); goto L_08980688; L_089806C4: - ctx.gpr[2] = (ctx.gpr[2] ^ aot_gpr_16); - ctx.gpr[2] = (ctx.gpr[2] < static_cast(1) ? 1u : 0u); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_2 = (aot_gpr_2 ^ ctx.gpr[16]); + aot_gpr_2 = (aot_gpr_2 < static_cast(1) ? 1u : 0u); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -1940,13 +1941,13 @@ L_089806C4: AOT_REGCACHE_SYNC_OUT(); return; L_089806DC: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_4 = (2234u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(24728)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(36), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(36), aot_gpr_4); aot_gpr_5 = (ctx.gpr[28] + static_cast(-16640)); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08980708u); aot_gpr_6 = (aot_gpr_29 | 0u); @@ -1954,15 +1955,15 @@ L_089806DC: AOT_REGCACHE_SYNC_OUT(); return; L_08980708: { const std::uint32_t aot_run_words[3]{0u, 0u, 0u}; - aot_mem.aot_direct_store32_block(aot_gpr_16 + static_cast(12), aot_run_words); } + aot_mem.aot_direct_store32_block(ctx.gpr[16] + static_cast(12), aot_run_words); } aot_gpr_4 = (16256u << 16u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(24), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(24), 0u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (0u | 1u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(28), std::bit_cast(aot_fpr_12)); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(32), static_cast(aot_gpr_4)); - ctx.gpr[2] = (aot_gpr_16 | 0u); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(28), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(32), static_cast(aot_gpr_4)); + aot_gpr_2 = (ctx.gpr[16] | 0u); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -1974,10 +1975,10 @@ L_08980740: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); ctx.gpr[17] = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_16 = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); if (branch_taken) { goto L_08980798; } @@ -2003,17 +2004,17 @@ L_0898076C: } L_08980774: if (aot_gpr_4 == 0u) { - aot_gpr_4 = (aot_gpr_16 & 1u); + aot_gpr_4 = (ctx.gpr[16] & 1u); goto L_08980788; } goto L_0898077C; L_0898077C: aot_gpr_31 = (0x08980784u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08980784u) goto L_08980784; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08980784u) goto L_08980784; AOT_REGCACHE_SYNC_OUT(); return; L_08980784: - aot_gpr_4 = (aot_gpr_16 & 1u); + aot_gpr_4 = (ctx.gpr[16] & 1u); goto L_08980788; L_08980788: { const bool branch_taken = aot_gpr_4 == 0u; @@ -2026,12 +2027,12 @@ L_08980788: L_08980790: aot_gpr_31 = (0x08980798u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08980798u) goto L_08980798; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08980798u) goto L_08980798; AOT_REGCACHE_SYNC_OUT(); return; L_08980798: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -2054,19 +2055,19 @@ L_089807B4: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(60), ctx.gpr[18]); ctx.gpr[17] = (aot_gpr_5 | 0u); ctx.gpr[18] = (aot_gpr_6 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), ctx.gpr[16]); { const std::uint32_t aot_run_words[6]{ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(64), aot_run_words); } { const bool branch_taken = ctx.gpr[17] == ctx.gpr[18]; - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08980A04; } goto L_089807EC; } L_089807EC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); ctx.gpr[19] = (ctx.gpr[18] - ctx.gpr[17]); aot_gpr_4 = (aot_gpr_4 - aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_4); @@ -2092,21 +2093,21 @@ L_0898080C: } L_08980824: aot_gpr_31 = (0x0898082Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 365u, 0x08B658A0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898082Cu) goto L_0898082C; AOT_REGCACHE_SYNC_OUT(); return; L_0898082C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); goto L_08980830; L_08980830: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(8))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); ctx.gpr[7] = (aot_gpr_4 + ctx.gpr[19]); aot_gpr_5 = (aot_gpr_5 - aot_gpr_6); aot_gpr_5 = (aot_gpr_5 + static_cast(-1)); aot_gpr_5 = (aot_gpr_5 < ctx.gpr[7] ? 1u : 0u); if (aot_gpr_5 == 0u) { - ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + ctx.gpr[20] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); goto L_08980988; } goto L_08980850; @@ -2150,7 +2151,7 @@ L_08980888: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 474u, 0x08ABE308u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08980890u) goto L_08980890; AOT_REGCACHE_SYNC_OUT(); return; L_08980890: - ctx.gpr[20] = (ctx.gpr[2] | 0u); + ctx.gpr[20] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[20] != 0u; // nop if (branch_taken) { @@ -2164,11 +2165,11 @@ L_0898089C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 289u, 0x08B65438u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089808A4u) goto L_089808A4; AOT_REGCACHE_SYNC_OUT(); return; L_089808A4: - ctx.gpr[20] = (ctx.gpr[2] | 0u); + ctx.gpr[20] = (aot_gpr_2 | 0u); goto L_089808A8; L_089808A8: - ctx.gpr[22] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - ctx.gpr[23] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + ctx.gpr[22] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); + ctx.gpr[23] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(19), static_cast(0u)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(19)))))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(22), static_cast(0u)); @@ -2180,7 +2181,7 @@ L_089808A8: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(23), static_cast(aot_gpr_5)); goto L_08980DB8; L_089808D4: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), aot_gpr_2); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(40)))))); { const bool branch_taken = ctx.gpr[23] == ctx.gpr[22]; aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(21), static_cast(aot_gpr_4)); @@ -2199,7 +2200,7 @@ L_089808E4: AOT_REGCACHE_SYNC_OUT(); return; L_089808F8: { const bool branch_taken = 0u == 0u; - ctx.gpr[20] = (ctx.gpr[2] + ctx.gpr[20]); + ctx.gpr[20] = (aot_gpr_2 + ctx.gpr[20]); if (branch_taken) { goto L_08980900; } @@ -2218,7 +2219,7 @@ L_08980900: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(30), static_cast(aot_gpr_5)); goto L_08980DB8; L_08980928: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), aot_gpr_2); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(44)))))); { const bool branch_taken = ctx.gpr[18] != ctx.gpr[22]; aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(28), static_cast(aot_gpr_4)); @@ -2244,12 +2245,12 @@ L_08980940: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 164u, 0x08AF54A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08980954u) goto L_08980954; AOT_REGCACHE_SYNC_OUT(); return; L_08980954: - ctx.gpr[17] = (ctx.gpr[2] + ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_2 + ctx.gpr[17]); goto L_08980958; L_08980958: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(31), static_cast(0u)); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(0), static_cast(0u)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -2260,14 +2261,14 @@ L_08980958: L_0898096C: aot_gpr_31 = (0x08980974u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08980974u) goto L_08980974; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08980974u) goto L_08980974; AOT_REGCACHE_SYNC_OUT(); return; L_08980974: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), ctx.gpr[21]); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), ctx.gpr[17]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), ctx.gpr[21]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(4), ctx.gpr[17]); aot_gpr_4 = (ctx.gpr[21] + ctx.gpr[19]); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(8), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(8), aot_gpr_4); if (branch_taken) { goto L_08980A04; } @@ -2286,7 +2287,7 @@ L_08980988: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(38), static_cast(aot_gpr_5)); goto L_08980DB8; L_089809B0: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), aot_gpr_2); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(48)))))); { const bool branch_taken = ctx.gpr[18] != ctx.gpr[21]; aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(36), static_cast(aot_gpr_4)); @@ -2296,7 +2297,7 @@ L_089809B0: goto L_089809C0; } L_089809C0: - ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); { const bool branch_taken = 0u == 0u; ctx.gpr[18] = (ctx.gpr[18] + ctx.gpr[19]); if (branch_taken) { @@ -2312,24 +2313,24 @@ L_089809CC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 164u, 0x08AF54A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089809DCu) goto L_089809DC; AOT_REGCACHE_SYNC_OUT(); return; L_089809DC: - ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); ctx.gpr[18] = (ctx.gpr[18] + ctx.gpr[19]); goto L_089809E4; L_089809E4: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(39), static_cast(0u)); aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(0), static_cast(0u)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(0)))))); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_5)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[19]); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(4), aot_gpr_4); goto L_08980A04; L_08980A04: - ctx.gpr[2] = (aot_gpr_16 | 0u); + aot_gpr_2 = (ctx.gpr[16] | 0u); { std::uint32_t aot_run_words[9]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(52), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -2347,10 +2348,10 @@ L_08980A04: AOT_REGCACHE_SYNC_OUT(); return; L_08980A34: aot_gpr_29 = (aot_gpr_29 + static_cast(-64)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), ctx.gpr[17]); ctx.gpr[17] = (aot_gpr_5 | 0u); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_5 = (0u | 135u); { const std::uint32_t aot_run_words[3]{ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; @@ -2368,7 +2369,7 @@ L_08980A64: L_08980A70: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); { const bool branch_taken = aot_gpr_4 == 0u; - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); if (branch_taken) { goto L_08980A84; } @@ -2377,7 +2378,7 @@ L_08980A70: L_08980A7C: aot_gpr_31 = (0x08980A84u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08980A84u) goto L_08980A84; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08980A84u) goto L_08980A84; AOT_REGCACHE_SYNC_OUT(); return; L_08980A84: ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(24))); @@ -2403,8 +2404,8 @@ L_08980A9C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08980AACu) goto L_08980AAC; AOT_REGCACHE_SYNC_OUT(); return; L_08980AAC: - ctx.gpr[18] = (ctx.gpr[2] | 0u); - if (ctx.gpr[18] == aot_gpr_16) { + ctx.gpr[18] = (aot_gpr_2 | 0u); + if (ctx.gpr[18] == ctx.gpr[16]) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); goto L_08980B50; } @@ -2412,7 +2413,7 @@ L_08980AAC: L_08980AB8: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); - ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(28), static_cast(0u)); goto L_08980AC8; L_08980AC8: @@ -2424,7 +2425,7 @@ L_08980AC8: goto L_08980AD0; } L_08980AD0: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); { const bool branch_taken = ctx.gpr[18] == aot_gpr_6; // nop if (branch_taken) { @@ -2452,7 +2453,7 @@ L_08980AF0: goto L_08980AF8; } L_08980AF8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); ctx.gpr[19] = (aot_gpr_4 | 0u); if (ctx.gpr[18] == ctx.gpr[19]) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -2476,13 +2477,13 @@ L_08980B18: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 164u, 0x08AF54A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08980B24u) goto L_08980B24; AOT_REGCACHE_SYNC_OUT(); return; L_08980B24: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); goto L_08980B28; L_08980B28: aot_gpr_5 = (ctx.gpr[19] - ctx.gpr[18]); aot_gpr_4 = (aot_gpr_4 - aot_gpr_5); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(4), aot_gpr_4); if (branch_taken) { goto L_08980B4C; } @@ -2493,7 +2494,7 @@ L_08980B38: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(30), static_cast(0u)); ctx.gpr[7] = (aot_gpr_29 + static_cast(30)); aot_gpr_31 = (0x08980B4Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_089807B4; L_08980B4C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -2509,7 +2510,7 @@ L_08980B50: L_08980B58: aot_gpr_31 = (0x08980B60u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08980B60u) goto L_08980B60; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08980B60u) goto L_08980B60; AOT_REGCACHE_SYNC_OUT(); return; L_08980B60: aot_gpr_4 = (aot_gpr_29 | 0u); @@ -2527,7 +2528,7 @@ L_08980B70: L_08980B7C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); { const bool branch_taken = aot_gpr_4 == 0u; - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); if (branch_taken) { goto L_08980B90; } @@ -2536,7 +2537,7 @@ L_08980B7C: L_08980B88: aot_gpr_31 = (0x08980B90u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08980B90u) goto L_08980B90; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08980B90u) goto L_08980B90; AOT_REGCACHE_SYNC_OUT(); return; L_08980B90: aot_gpr_5 = (ctx.gpr[28] + static_cast(-16636)); @@ -2546,11 +2547,11 @@ L_08980B90: AOT_REGCACHE_SYNC_OUT(); return; L_08980B9C: aot_gpr_31 = (0x08980BA4u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0212_entry, 212u, 937u, 0x08B577E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08980BA4u) goto L_08980BA4; AOT_REGCACHE_SYNC_OUT(); return; L_08980BA4: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); aot_gpr_5 = (ctx.gpr[28] + static_cast(-16632)); aot_gpr_31 = (0x08980BB4u); aot_gpr_4 = (ctx.gpr[18] | 0u); @@ -2558,12 +2559,12 @@ L_08980BA4: AOT_REGCACHE_SYNC_OUT(); return; L_08980BB4: aot_gpr_31 = (0x08980BBCu); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0212_entry, 212u, 937u, 0x08B577E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08980BBCu) goto L_08980BBC; AOT_REGCACHE_SYNC_OUT(); return; L_08980BBC: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(12), ctx.gpr[19]); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(16), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(12), ctx.gpr[19]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(16), aot_gpr_2); aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_5 = (0u | 138u); aot_gpr_31 = (0x08980BD4u); @@ -2579,7 +2580,7 @@ L_08980BD4: L_08980BE0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); { const bool branch_taken = aot_gpr_4 == 0u; - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); if (branch_taken) { goto L_08980BF4; } @@ -2588,7 +2589,7 @@ L_08980BE0: L_08980BEC: aot_gpr_31 = (0x08980BF4u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08980BF4u) goto L_08980BF4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08980BF4u) goto L_08980BF4; AOT_REGCACHE_SYNC_OUT(); return; L_08980BF4: { const bool branch_taken = ctx.gpr[18] == 0u; @@ -2613,13 +2614,13 @@ L_08980C0C: AOT_REGCACHE_SYNC_OUT(); return; L_08980C18: aot_gpr_31 = (0x08980C20u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0212_entry, 212u, 937u, 0x08B577E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08980C20u) goto L_08980C20; AOT_REGCACHE_SYNC_OUT(); return; L_08980C20: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); { const bool branch_taken = aot_gpr_4 == 0u; - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); if (branch_taken) { goto L_08980C34; } @@ -2628,12 +2629,12 @@ L_08980C20: L_08980C2C: aot_gpr_31 = (0x08980C34u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08980C34u) goto L_08980C34; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08980C34u) goto L_08980C34; AOT_REGCACHE_SYNC_OUT(); return; L_08980C34: aot_gpr_4 = (0u < ctx.gpr[18] ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(32), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(32), static_cast(aot_gpr_4)); goto L_08980C40; L_08980C40: aot_gpr_4 = (aot_gpr_29 | 0u); @@ -2651,7 +2652,7 @@ L_08980C50: L_08980C5C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); { const bool branch_taken = aot_gpr_4 == 0u; - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); if (branch_taken) { goto L_08980C70; } @@ -2660,7 +2661,7 @@ L_08980C5C: L_08980C68: aot_gpr_31 = (0x08980C70u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08980C70u) goto L_08980C70; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08980C70u) goto L_08980C70; AOT_REGCACHE_SYNC_OUT(); return; L_08980C70: aot_gpr_4 = (aot_gpr_29 | 0u); @@ -2677,13 +2678,13 @@ L_08980C80: AOT_REGCACHE_SYNC_OUT(); return; L_08980C8C: aot_gpr_31 = (0x08980C94u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0212_entry, 212u, 937u, 0x08B577E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08980C94u) goto L_08980C94; AOT_REGCACHE_SYNC_OUT(); return; L_08980C94: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); { const bool branch_taken = aot_gpr_4 == 0u; - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); if (branch_taken) { goto L_08980CA8; } @@ -2692,7 +2693,7 @@ L_08980C94: L_08980CA0: aot_gpr_31 = (0x08980CA8u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08980CA8u) goto L_08980CA8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08980CA8u) goto L_08980CA8; AOT_REGCACHE_SYNC_OUT(); return; L_08980CA8: aot_gpr_4 = (aot_gpr_29 | 0u); @@ -2709,13 +2710,13 @@ L_08980CB8: AOT_REGCACHE_SYNC_OUT(); return; L_08980CC4: aot_gpr_31 = (0x08980CCCu); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0212_entry, 212u, 937u, 0x08B577E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08980CCCu) goto L_08980CCC; AOT_REGCACHE_SYNC_OUT(); return; L_08980CCC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); { const bool branch_taken = aot_gpr_4 == 0u; - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); if (branch_taken) { goto L_08980CE0; } @@ -2724,11 +2725,11 @@ L_08980CCC: L_08980CD8: aot_gpr_31 = (0x08980CE0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08980CE0u) goto L_08980CE0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08980CE0u) goto L_08980CE0; AOT_REGCACHE_SYNC_OUT(); return; L_08980CE0: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(20), ctx.gpr[18]); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(24), ctx.gpr[19]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(20), ctx.gpr[18]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(24), ctx.gpr[19]); aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_5 = (0u | 140u); aot_gpr_31 = (0x08980CF8u); @@ -2744,7 +2745,7 @@ L_08980CF8: L_08980D04: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); { const bool branch_taken = aot_gpr_4 == 0u; - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); if (branch_taken) { goto L_08980D18; } @@ -2753,7 +2754,7 @@ L_08980D04: L_08980D10: aot_gpr_31 = (0x08980D18u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08980D18u) goto L_08980D18; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08980D18u) goto L_08980D18; AOT_REGCACHE_SYNC_OUT(); return; L_08980D18: { const bool branch_taken = ctx.gpr[17] == 0u; @@ -2795,14 +2796,14 @@ L_08980D40: L_08980D48: aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08980D54u); - aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08980D54u) goto L_08980D54; + aot_gpr_4 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B627F0, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08980D54u) goto L_08980D54; AOT_REGCACHE_SYNC_OUT(); return; L_08980D54: aot_gpr_4 = (16256u << 16u); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[0])); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(28), std::bit_cast(ctx.fpr[0])); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(28), std::bit_cast(ctx.fpr[0])); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 < aot_fpr_12)) ? 0x00800000u : 0u); // nop if (((ctx.fcr31 & 0x00800000u) != 0u)) { @@ -2812,7 +2813,7 @@ L_08980D54: goto L_08980D74; L_08980D74: aot_fpr_13 = std::bit_cast(0u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(28), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(28), std::bit_cast(aot_fpr_12)); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); // nop if (!((ctx.fcr31 & 0x00800000u) != 0u)) { @@ -2821,13 +2822,13 @@ L_08980D74: } goto L_08980D8C; L_08980D8C: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(28), std::bit_cast(aot_fpr_13)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(28), std::bit_cast(aot_fpr_13)); goto L_08980D90; L_08980D90: - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(32), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -2849,7 +2850,7 @@ L_08980DB0: L_08980DB8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(0), static_cast(0u)); - ctx.gpr[2] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(0)))))); + aot_gpr_2 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(0)))))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; @@ -2916,19 +2917,19 @@ L_08980DCC: AOT_REGCACHE_SYNC_OUT(); return; L_08980DF4: aot_gpr_29 = (aot_gpr_29 + static_cast(-64)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(53))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(53))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), aot_gpr_31); { const bool branch_taken = aot_gpr_5 != 0u; - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(56)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(56)))))); if (branch_taken) { goto L_08980E14; } goto L_08980E10; } L_08980E10: - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(51), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(51), static_cast(0u)); goto L_08980E14; L_08980E14: aot_gpr_4 = (aot_gpr_4 & 1u); @@ -2949,10 +2950,10 @@ L_08980E20: goto L_08980E2C; } L_08980E2C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(16))); aot_gpr_5 = (0u | 2u); if (aot_gpr_4 == aot_gpr_5) { - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(52))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(52))); goto L_08980F58; } goto L_08980E3C; @@ -3017,14 +3018,14 @@ L_08980EAC: goto L_08980EB0; L_08980EB0: if (aot_gpr_5 == 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(52))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(52))); goto L_08980F58; } goto L_08980EB8; L_08980EB8: - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_fpr_14 = std::bit_cast(std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 <= aot_fpr_14)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); @@ -3084,7 +3085,7 @@ L_08980F1C: } L_08980F24: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_6 = (0u | 1u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 0u); @@ -3096,7 +3097,7 @@ L_08980F24: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0036_entry, 36u, 527u, 0x088967ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08980F4Cu) goto L_08980F4C; AOT_REGCACHE_SYNC_OUT(); return; L_08980F4C: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08980F98; @@ -3104,7 +3105,7 @@ L_08980F4C: goto L_08980F54; } L_08980F54: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(52))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(52))); goto L_08980F58; L_08980F58: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); @@ -3126,17 +3127,17 @@ L_08980F88: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_13)); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(52), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(52), static_cast(aot_gpr_4)); if (branch_taken) { goto L_089810E4; } goto L_08980F98; } L_08980F98: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(56)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(56)))))); aot_gpr_5 = (aot_gpr_5 & 2u); { const bool branch_taken = aot_gpr_5 == 0u; - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(52))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(52))); if (branch_taken) { goto L_08980FE8; } @@ -3162,14 +3163,14 @@ L_08980FD8: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_13)); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(52), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(52), static_cast(aot_gpr_4)); if (branch_taken) { goto L_089810E4; } goto L_08980FE8; } L_08980FE8: - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(51))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(51))); aot_gpr_6 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_5) ? 1u : 0u); { const bool branch_taken = aot_gpr_6 == 0u; // nop @@ -3198,7 +3199,7 @@ L_08980FF8: L_0898102C: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_13)); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(52), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(52), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16584))); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -3208,7 +3209,7 @@ L_0898102C: goto L_08981044; } L_08981044: - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(52), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(52), static_cast(aot_gpr_5)); goto L_08981048; L_08981048: { const bool branch_taken = 0u == 0u; @@ -3247,10 +3248,10 @@ L_0898105C: L_08981090: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_13)); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(52), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(52), static_cast(aot_gpr_4)); goto L_0898109C; L_0898109C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(16))); aot_gpr_5 = (0u | 2u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; aot_gpr_4 = (15733u << 16u); @@ -3280,9 +3281,9 @@ L_089810E0: aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-16600), std::bit_cast(aot_fpr_12)); goto L_089810E4; L_089810E4: - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(52))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(52))); { const bool branch_taken = aot_gpr_5 != 0u; - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(56)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(56)))))); if (branch_taken) { goto L_08981104; } @@ -3298,15 +3299,15 @@ L_089810F0: goto L_089810FC; } L_089810FC: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(16), 0u); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(56)))))); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(16), 0u); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(56)))))); goto L_08981104; L_08981104: aot_gpr_5 = (0u + static_cast(-5)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(56), static_cast(aot_gpr_4)); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(53), static_cast(0u)); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(48))); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(56), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(53), static_cast(0u)); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(48))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(52))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(64)); @@ -3333,12 +3334,12 @@ L_08981124: aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_6 = (aot_gpr_6 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 << 2u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[16]); aot_gpr_4 = (aot_gpr_6 + aot_gpr_4); - aot_gpr_16 = (2247u << 16u); + ctx.gpr[16] = (2247u << 16u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 < aot_fpr_12)) ? 0x00800000u : 0u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); - aot_gpr_16 = (aot_gpr_16 + static_cast(18640)); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(18640)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_31); if (((ctx.fcr31 & 0x00800000u) != 0u)) { @@ -3389,7 +3390,7 @@ L_089811C8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0134_entry, 134u, 56u, 0x08A1C658u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089811D0u) goto L_089811D0; AOT_REGCACHE_SYNC_OUT(); return; L_089811D0: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_089811DC; @@ -3434,7 +3435,7 @@ L_0898120C: ctx.gpr[17] = (0u | 0u); goto L_08981214; L_08981214: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(16))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -3444,13 +3445,13 @@ L_08981214: } L_08981220: aot_gpr_31 = (0x08981228u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_08980DF4; L_08981228: ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); aot_gpr_4 = (static_cast(ctx.gpr[17]) < 56 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_16 = (aot_gpr_16 + static_cast(112)); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(112)); if (branch_taken) { goto L_08981214; } @@ -3459,7 +3460,7 @@ L_08981228: L_08981238: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -3471,7 +3472,7 @@ L_08981238: AOT_REGCACHE_SYNC_OUT(); return; L_0898124C: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - { const std::uint32_t aot_run_words[5]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; + { const std::uint32_t aot_run_words[5]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_31 = (0x0898126Cu); // nop @@ -3484,15 +3485,15 @@ L_0898126C: AOT_REGCACHE_SYNC_OUT(); return; L_08981274: aot_gpr_31 = (0x0898127Cu); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0170_entry, 170u, 632u, 0x08AAEF5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898127Cu) goto L_0898127C; AOT_REGCACHE_SYNC_OUT(); return; L_0898127C: ctx.gpr[18] = (2234u << 16u); - aot_gpr_16 = (2234u << 16u); + ctx.gpr[16] = (2234u << 16u); ctx.gpr[19] = (0u | 0u); ctx.gpr[18] = (ctx.gpr[18] + static_cast(4264)); - aot_gpr_16 = (aot_gpr_16 + static_cast(4300)); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(4300)); goto L_08981290; L_08981290: ctx.gpr[17] = (ctx.gpr[19] << 2u); @@ -3507,13 +3508,13 @@ L_08981290: } L_089812A4: aot_gpr_4 = (ctx.gpr[19] << 5u); - aot_gpr_4 = (aot_gpr_4 + aot_gpr_16); + aot_gpr_4 = (aot_gpr_4 + ctx.gpr[16]); aot_gpr_31 = (0x089812B4u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 398u, 0x08A65C4Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089812B4u) goto L_089812B4; AOT_REGCACHE_SYNC_OUT(); return; L_089812B4: - aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), aot_gpr_2); goto L_089812B8; L_089812B8: ctx.gpr[19] = (ctx.gpr[19] + static_cast(1)); @@ -3555,7 +3556,7 @@ L_089812E0: L_08981308: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -3569,7 +3570,7 @@ L_08981308: AOT_REGCACHE_SYNC_OUT(); return; L_08981324: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(32))); + aot_gpr_2 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(32))); ctx.gpr[10] = (ctx.gpr[10] & 255u); ctx.gpr[3] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(36))); ctx.gpr[14] = (2234u << 16u); @@ -3578,10 +3579,10 @@ L_08981324: ctx.gpr[14] = (ctx.gpr[14] + static_cast(4264)); ctx.gpr[13] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(44))); ctx.gpr[10] = (ctx.gpr[10] + ctx.gpr[14]); - ctx.gpr[2] = (ctx.gpr[2] & 255u); + aot_gpr_2 = (aot_gpr_2 & 255u); ctx.gpr[10] = (aot_mem.aot_direct_load32(ctx.gpr[10] + static_cast(0))); ctx.gpr[3] = (ctx.gpr[3] & 255u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_2); ctx.gpr[12] = (ctx.gpr[12] & 255u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[3]); ctx.gpr[13] = (ctx.gpr[13] & 255u); @@ -3734,7 +3735,7 @@ L_08981468: L_08981470: aot_gpr_29 = (aot_gpr_29 + static_cast(-96)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5884))); - { const std::uint32_t aot_run_words[8]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; + { const std::uint32_t aot_run_words[8]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(64), aot_run_words); } if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5884))); @@ -3772,16 +3773,16 @@ L_089814B8: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_16 = (aot_gpr_29 + static_cast(48)); + ctx.gpr[16] = (aot_gpr_29 + static_cast(48)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (17174u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<1u>(aot_gpr_4); - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -3792,14 +3793,14 @@ L_089814B8: ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 1u, 3u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (2236u << 16u); aot_gpr_5 = (aot_gpr_4 + static_cast(32304)); aot_gpr_5 = (aot_gpr_5 + static_cast(48)); aot_gpr_31 = (0x08981504u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08981504u) goto L_08981504; AOT_REGCACHE_SYNC_OUT(); return; L_08981504: @@ -3859,10 +3860,10 @@ L_0898156C: ctx.gpr[18] = (aot_gpr_6 & 255u); aot_gpr_31 = (0x0898158Cu); ctx.gpr[19] = (aot_gpr_4 & 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898158Cu) goto L_0898158C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898158Cu) goto L_0898158C; AOT_REGCACHE_SYNC_OUT(); return; L_0898158C: - aot_gpr_4 = (ctx.gpr[2] & 65535u); + aot_gpr_4 = (aot_gpr_2 & 65535u); aot_gpr_4 = (aot_gpr_4 & 255u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_5 = (16672u << 16u); @@ -3871,18 +3872,18 @@ L_0898158C: aot_gpr_4 = (aot_gpr_4 | 55050u); aot_fpr_14 = std::bit_cast(aot_gpr_5); aot_fpr_13 = std::bit_cast(aot_gpr_4); - ctx.gpr[2] = (18804u << 16u); + aot_gpr_2 = (18804u << 16u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23440))); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - ctx.gpr[2] = (ctx.gpr[2] | 9214u); + aot_gpr_2 = (aot_gpr_2 | 9214u); aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(11128))); - ctx.fpr[22] = std::bit_cast(ctx.gpr[2]); + ctx.fpr[22] = std::bit_cast(aot_gpr_2); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), 0u); aot_fpr_12 = aot_fpr_12 + aot_fpr_14; - ctx.gpr[2] = (16320u << 16u); + aot_gpr_2 = (16320u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), 0u); - ctx.fpr[20] = std::bit_cast(ctx.gpr[2]); + ctx.fpr[20] = std::bit_cast(aot_gpr_2); aot_gpr_4 = (0u | 1u); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[22])); aot_gpr_5 = (ctx.gpr[17] | 0u); @@ -3891,7 +3892,7 @@ L_0898158C: aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[24])); ctx.gpr[7] = (ctx.gpr[19] | 0u); ctx.gpr[8] = (0u | 255u); - ctx.gpr[9] = (aot_gpr_16 | 0u); + ctx.gpr[9] = (ctx.gpr[16] | 0u); ctx.gpr[10] = (0u | 0u); aot_fpr_15 = std::bit_cast(std::bit_cast(ctx.fpr[20])); ctx.gpr[11] = (0u | 0u); @@ -3934,16 +3935,16 @@ L_08981648: aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(11128))); aot_gpr_5 = (aot_gpr_6 & 255u); { const float fs = aot_fpr_14; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); aot_gpr_6 = (ctx.gpr[7] & 255u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_2); ctx.gpr[7] = (ctx.gpr[8] & 255u); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[24])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), 0u); aot_gpr_4 = (0u | 2u); ctx.gpr[8] = (0u | 255u); - ctx.gpr[9] = (aot_gpr_16 | 0u); + ctx.gpr[9] = (ctx.gpr[16] | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[11] = (0u | 1u); aot_gpr_31 = (0x089816ACu); @@ -3953,13 +3954,13 @@ L_089816AC: aot_gpr_5 = (aot_gpr_29 + static_cast(32)); aot_gpr_6 = (aot_gpr_29 + static_cast(16)); ctx.gpr[7] = (aot_gpr_29 + static_cast(20)); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089816C4u); ctx.gpr[8] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0169_entry, 169u, 32u, 0x08AA82D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089816C4u) goto L_089816C4; AOT_REGCACHE_SYNC_OUT(); return; L_089816C4: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089816E0; @@ -3990,7 +3991,7 @@ L_089816F4: ctx.fpr[20] = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); - aot_gpr_16 = aot_run_words[3]; + ctx.gpr[16] = aot_run_words[3]; ctx.gpr[17] = aot_run_words[4]; ctx.gpr[18] = aot_run_words[5]; ctx.gpr[19] = aot_run_words[6]; @@ -4007,17 +4008,17 @@ L_0898171C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); aot_gpr_6 = (512u << 16u); aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); - { const std::uint32_t aot_run_words[10]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_31}; + { const std::uint32_t aot_run_words[10]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(260), aot_run_words); } { const bool branch_taken = aot_gpr_5 != 0u; - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_089817B4; } goto L_0898175C; } L_0898175C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(72))); aot_gpr_5 = (8u << 16u); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); { const bool branch_taken = aot_gpr_4 == 0u; @@ -4029,7 +4030,7 @@ L_0898175C: } L_08981770: aot_gpr_4 = (16245u << 16u); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(40))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(40))); aot_gpr_4 = (aot_gpr_4 | 49807u); aot_fpr_13 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); @@ -4042,7 +4043,7 @@ L_08981770: goto L_08981790; } L_08981790: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(86)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); aot_gpr_5 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_5) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 != 0u; @@ -4158,7 +4159,7 @@ L_08981828: L_08981830: ctx.gpr[20] = (aot_gpr_29 + static_cast(32)); aot_gpr_4 = (ctx.gpr[20] | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08981844u); aot_gpr_6 = (ctx.gpr[19] | 0u); goto L_08980DCC; @@ -4239,7 +4240,7 @@ L_089818AC: goto L_089818B4; } L_089818B4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(76))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(76))); aot_gpr_6 = (16320u << 16u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_4 = (aot_gpr_4 & aot_gpr_6); @@ -4266,7 +4267,7 @@ L_089818E0: goto L_089818E4; L_089818E4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(76))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(76))); aot_gpr_6 = (16320u << 16u); aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); aot_gpr_4 = (aot_gpr_4 >> 11u); @@ -4325,7 +4326,7 @@ L_08981938: goto L_08981954; } L_08981954: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(76))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(76))); aot_gpr_6 = (16320u << 16u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_4 = (aot_gpr_4 & aot_gpr_6); @@ -4352,7 +4353,7 @@ L_08981980: goto L_08981984; L_08981984: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(76))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(76))); aot_gpr_6 = (16320u << 16u); aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); aot_gpr_4 = (aot_gpr_4 >> 11u); @@ -4576,7 +4577,7 @@ L_08981AE8: goto L_08981AF0; } L_08981AF0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(76))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(76))); aot_gpr_5 = (16320u << 16u); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_4 = (aot_gpr_4 >> 22u); @@ -4590,7 +4591,7 @@ L_08981AF0: goto L_08981B10; } L_08981B10: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(76))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(76))); aot_gpr_6 = (16320u << 16u); aot_gpr_4 = (aot_gpr_4 & aot_gpr_6); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); @@ -4618,7 +4619,7 @@ L_08981B40: goto L_08981B44; L_08981B44: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(76))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(76))); aot_gpr_6 = (16320u << 16u); aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); aot_gpr_4 = (aot_gpr_4 >> 11u); @@ -4672,7 +4673,7 @@ L_08981B90: goto L_08981BA0; } L_08981BA0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(76))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(76))); aot_gpr_5 = (16320u << 16u); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_4 = (aot_gpr_4 >> 22u); @@ -4686,7 +4687,7 @@ L_08981BA0: goto L_08981BC0; } L_08981BC0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(76))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(76))); aot_gpr_6 = (16320u << 16u); aot_gpr_4 = (aot_gpr_4 & aot_gpr_6); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); @@ -4714,7 +4715,7 @@ L_08981BF0: goto L_08981BF4; L_08981BF4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(76))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(76))); aot_gpr_6 = (16320u << 16u); aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); aot_gpr_4 = (aot_gpr_4 >> 11u); @@ -4782,20 +4783,20 @@ L_08981C50: goto L_08981C58; } L_08981C58: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(76))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(76))); aot_gpr_5 = (0u + static_cast(-65)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(76), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(76), aot_gpr_4); if (branch_taken) { goto L_08981C78; } goto L_08981C6C; } L_08981C6C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(76))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(76))); aot_gpr_4 = (aot_gpr_4 | 64u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(76), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(76), aot_gpr_4); goto L_08981C78; L_08981C78: { const bool branch_taken = 0u == 0u; @@ -4823,17 +4824,17 @@ L_08981C88: ctx.gpr[10] = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(48))); aot_fpr_14 = std::bit_cast(0u); ctx.gpr[11] = (aot_mem.aot_direct_load8(ctx.gpr[19] + static_cast(42))); - ctx.gpr[2] = (aot_mem.aot_direct_load8(ctx.gpr[19] + static_cast(41))); + aot_gpr_2 = (aot_mem.aot_direct_load8(ctx.gpr[19] + static_cast(41))); ctx.gpr[3] = (ctx.gpr[8] & 16u); ctx.gpr[12] = (ctx.gpr[8] & 1u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_2); ctx.gpr[8] = (0u < ctx.gpr[3] ? 1u : 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[12]); ctx.gpr[3] = (ctx.gpr[8] & 255u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), 0u); - ctx.gpr[2] = (16320u << 16u); - aot_gpr_4 = (aot_gpr_16 + ctx.gpr[18]); - aot_fpr_15 = std::bit_cast(ctx.gpr[2]); + aot_gpr_2 = (16320u << 16u); + aot_gpr_4 = (ctx.gpr[16] + ctx.gpr[18]); + aot_fpr_15 = std::bit_cast(aot_gpr_2); ctx.gpr[9] = (aot_gpr_29 + static_cast(16)); ctx.gpr[8] = (0u | 255u); aot_gpr_31 = (0x08981CE8u); @@ -4862,17 +4863,17 @@ L_08981CF8: ctx.gpr[10] = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(48))); aot_fpr_14 = std::bit_cast(0u); ctx.gpr[11] = (aot_mem.aot_direct_load8(ctx.gpr[19] + static_cast(42))); - ctx.gpr[2] = (aot_mem.aot_direct_load8(ctx.gpr[19] + static_cast(41))); + aot_gpr_2 = (aot_mem.aot_direct_load8(ctx.gpr[19] + static_cast(41))); aot_gpr_6 = (aot_gpr_5 & 16u); ctx.gpr[3] = (aot_gpr_5 & 1u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_2); aot_gpr_5 = (0u < aot_gpr_6 ? 1u : 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[3]); ctx.gpr[12] = (aot_gpr_5 & 255u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), 0u); - ctx.gpr[2] = (16320u << 16u); - aot_gpr_4 = (aot_gpr_16 + ctx.gpr[18]); - aot_fpr_15 = std::bit_cast(ctx.gpr[2]); + aot_gpr_2 = (16320u << 16u); + aot_gpr_4 = (ctx.gpr[16] + ctx.gpr[18]); + aot_fpr_15 = std::bit_cast(aot_gpr_2); ctx.gpr[9] = (aot_gpr_29 + static_cast(16)); aot_gpr_5 = (0u | 0u); aot_gpr_6 = (0u | 0u); @@ -5192,18 +5193,18 @@ L_08981FE4: aot_fpr_14 = std::bit_cast(std::bit_cast(aot_fpr_13)); ctx.gpr[9] = (aot_mem.aot_direct_load8(ctx.gpr[19] + static_cast(16))); ctx.fpr[19] = std::bit_cast(std::bit_cast(aot_fpr_13)); - ctx.gpr[2] = (16752u << 16u); + aot_gpr_2 = (16752u << 16u); aot_fpr_15 = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); ctx.gpr[10] = (aot_mem.aot_direct_load8(ctx.gpr[19] + static_cast(17))); - ctx.fpr[16] = std::bit_cast(ctx.gpr[2]); + ctx.fpr[16] = std::bit_cast(aot_gpr_2); ctx.gpr[11] = (aot_mem.aot_direct_load8(ctx.gpr[19] + static_cast(18))); - ctx.gpr[2] = (16256u << 16u); + aot_gpr_2 = (16256u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); - ctx.fpr[17] = std::bit_cast(ctx.gpr[2]); + ctx.fpr[17] = std::bit_cast(aot_gpr_2); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), 0u); - ctx.gpr[2] = (16928u << 16u); - aot_gpr_4 = (aot_gpr_16 + ctx.gpr[18]); - ctx.fpr[18] = std::bit_cast(ctx.gpr[2]); + aot_gpr_2 = (16928u << 16u); + aot_gpr_4 = (ctx.gpr[16] + ctx.gpr[18]); + ctx.fpr[18] = std::bit_cast(aot_gpr_2); ctx.gpr[7] = (aot_gpr_29 + static_cast(16)); aot_gpr_5 = (0u | 2u); ctx.gpr[8] = (0u | 128u); @@ -5228,21 +5229,21 @@ L_08982044: goto L_0898204C; } L_0898204C: - ctx.gpr[2] = (16752u << 16u); + aot_gpr_2 = (16752u << 16u); aot_fpr_13 = std::bit_cast(0u); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(52))); - ctx.fpr[16] = std::bit_cast(ctx.gpr[2]); + ctx.fpr[16] = std::bit_cast(aot_gpr_2); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(36))); aot_fpr_14 = std::bit_cast(std::bit_cast(aot_fpr_13)); - ctx.gpr[2] = (16256u << 16u); + aot_gpr_2 = (16256u << 16u); ctx.fpr[19] = std::bit_cast(std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); - ctx.fpr[17] = std::bit_cast(ctx.gpr[2]); + ctx.fpr[17] = std::bit_cast(aot_gpr_2); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), 0u); aot_fpr_15 = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); - ctx.gpr[2] = (16928u << 16u); - aot_gpr_4 = (aot_gpr_16 + ctx.gpr[18]); - ctx.fpr[18] = std::bit_cast(ctx.gpr[2]); + aot_gpr_2 = (16928u << 16u); + aot_gpr_4 = (ctx.gpr[16] + ctx.gpr[18]); + ctx.fpr[18] = std::bit_cast(aot_gpr_2); ctx.gpr[7] = (aot_gpr_29 + static_cast(16)); aot_gpr_5 = (0u | 2u); ctx.gpr[8] = (0u | 0u); @@ -5276,7 +5277,7 @@ L_089820B0: L_089820C8: ctx.gpr[20] = (aot_gpr_29 + static_cast(176)); aot_gpr_4 = (ctx.gpr[20] | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089820DCu); aot_gpr_6 = (ctx.gpr[19] | 0u); goto L_08980DCC; @@ -5296,7 +5297,7 @@ L_089820DC: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { std::uint32_t aot_run_words[3]{}; - aot_mem.aot_direct_load32_block(aot_gpr_16 + static_cast(48), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[16] + static_cast(48), aot_run_words); aot_fpr_12 = std::bit_cast(aot_run_words[0]); aot_fpr_13 = std::bit_cast(aot_run_words[1]); aot_fpr_14 = std::bit_cast(aot_run_words[2]); @@ -5499,7 +5500,7 @@ L_08982208: aot_fpr_12 = aot_fpr_14 / aot_fpr_13; aot_gpr_5 = (aot_gpr_5 & 255u); aot_fpr_15 = std::bit_cast(aot_gpr_4); - aot_gpr_4 = (aot_gpr_16 + ctx.gpr[18]); + aot_gpr_4 = (ctx.gpr[16] + ctx.gpr[18]); aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_15))); aot_gpr_6 = (std::bit_cast(aot_fpr_12)); @@ -5546,7 +5547,7 @@ L_089822EC: aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(260), aot_run_words); ctx.fpr[20] = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); - aot_gpr_16 = aot_run_words[2]; + ctx.gpr[16] = aot_run_words[2]; ctx.gpr[17] = aot_run_words[3]; ctx.gpr[18] = aot_run_words[4]; ctx.gpr[19] = aot_run_words[5]; @@ -5563,13 +5564,13 @@ L_089822EC: AOT_REGCACHE_SYNC_OUT(); return; L_0898231C: aot_gpr_29 = (aot_gpr_29 + static_cast(-160)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(108), aot_gpr_16); - aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-8744))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(108), ctx.gpr[16]); + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-8744))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(112), ctx.gpr[17]); - aot_gpr_4 = (static_cast(static_cast(aot_gpr_16) >> 1u)); + aot_gpr_4 = (static_cast(static_cast(ctx.gpr[16]) >> 1u)); ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-8740))); aot_gpr_4 = (aot_gpr_4 >> 31u); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(116), ctx.gpr[18]); aot_gpr_5 = (static_cast(static_cast(ctx.gpr[17]) >> 1u)); ctx.gpr[18] = (static_cast(static_cast(aot_gpr_4) >> 1u)); @@ -5588,28 +5589,28 @@ L_0898231C: aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(136), aot_run_words); } aot_gpr_31 = (0x08982398u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08982398u) goto L_08982398; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08982398u) goto L_08982398; AOT_REGCACHE_SYNC_OUT(); return; L_08982398: aot_gpr_4 = (0u | 10u); aot_gpr_31 = (0x089823A4u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089823A4u) goto L_089823A4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089823A4u) goto L_089823A4; AOT_REGCACHE_SYNC_OUT(); return; L_089823A4: aot_gpr_4 = (0u | 8u); aot_gpr_31 = (0x089823B0u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089823B0u) goto L_089823B0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089823B0u) goto L_089823B0; AOT_REGCACHE_SYNC_OUT(); return; L_089823B0: aot_gpr_4 = (0u | 9u); aot_gpr_31 = (0x089823BCu); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089823BCu) goto L_089823BC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089823BCu) goto L_089823BC; AOT_REGCACHE_SYNC_OUT(); return; L_089823BC: - aot_fpr_12 = std::bit_cast(aot_gpr_16); + aot_fpr_12 = std::bit_cast(ctx.gpr[16]); aot_fpr_13 = std::bit_cast(ctx.gpr[17]); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_13))); @@ -5712,7 +5713,7 @@ L_089824C4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0169_entry, 169u, 32u, 0x08AA82D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089824DCu) goto L_089824DC; AOT_REGCACHE_SYNC_OUT(); return; L_089824DC: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(56)))))); if (branch_taken) { goto L_08982AD0; @@ -5825,7 +5826,7 @@ L_0898258C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0036_entry, 36u, 527u, 0x088967ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089825DCu) goto L_089825DC; AOT_REGCACHE_SYNC_OUT(); return; L_089825DC: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(56)))))); if (branch_taken) { goto L_089825F0; @@ -6012,7 +6013,7 @@ L_0898275C: aot_gpr_4 = (0u | 4u); aot_gpr_31 = (0x08982768u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08982768u) goto L_08982768; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08982768u) goto L_08982768; AOT_REGCACHE_SYNC_OUT(); return; L_08982768: { const bool branch_taken = 0u == 0u; @@ -6035,7 +6036,7 @@ L_0898277C: aot_gpr_4 = (0u | 4u); aot_gpr_31 = (0x08982788u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08982788u) goto L_08982788; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08982788u) goto L_08982788; AOT_REGCACHE_SYNC_OUT(); return; L_08982788: { const bool branch_taken = 0u == 0u; @@ -6100,7 +6101,7 @@ L_08982800: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_gpr_31 = (0x0898280Cu); aot_gpr_4 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898280Cu) goto L_0898280C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898280Cu) goto L_0898280C; AOT_REGCACHE_SYNC_OUT(); return; L_0898280C: aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); @@ -6245,9 +6246,9 @@ L_089829A4: goto L_089829AC; } L_089829AC: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(68))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(68))); { const bool branch_taken = 0u == 0u; - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(16)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(16)))))); if (branch_taken) { goto L_089829D0; } @@ -6262,16 +6263,16 @@ L_089829B8: goto L_089829C0; } L_089829C0: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); { const bool branch_taken = 0u == 0u; - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(16)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(16)))))); if (branch_taken) { goto L_089829D0; } goto L_089829CC; } L_089829CC: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(16)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(16)))))); goto L_089829D0; L_089829D0: { const bool branch_taken = aot_gpr_4 == 0u; @@ -6288,17 +6289,17 @@ L_089829D8: aot_gpr_4 = (0u | 1u); aot_gpr_31 = (0x089829F0u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089829F0u) goto L_089829F0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089829F0u) goto L_089829F0; AOT_REGCACHE_SYNC_OUT(); return; L_089829F0: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); aot_fpr_12 = aot_fpr_12 - ctx.fpr[26]; - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_fpr_13 = aot_fpr_13 - ctx.fpr[24]; - ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(48))); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(8)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(8)))))); { const float fs = ctx.fpr[16]; const float ft = ctx.fpr[30]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[16] = std::bit_cast(0x7FC00000u); else ctx.fpr[16] = fs * ft; } { const float fs = aot_fpr_14; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } ctx.fpr[17] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); @@ -6307,12 +6308,12 @@ L_089829F0: { const std::int64_t product = static_cast(static_cast(aot_gpr_4)) * static_cast(static_cast(aot_gpr_5)); ctx.lo = static_cast(product); ctx.hi = static_cast(static_cast(product) >> 32u); } aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(49))); { const float fs = ctx.fpr[16]; const float ft = aot_fpr_15; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_15 = std::bit_cast(0x7FC00000u); else aot_fpr_15 = fs * ft; } - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(10)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(10)))))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(36))); aot_fpr_15 = aot_fpr_15 / aot_fpr_14; aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(50))); - ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(12)))))); - ctx.gpr[9] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(14)))))); + ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(12)))))); + ctx.gpr[9] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(14)))))); ctx.gpr[8] = (ctx.lo); // nop // nop @@ -6344,8 +6345,8 @@ L_089829F0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0169_entry, 169u, 68u, 0x08AA8C8Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08982AB8u) goto L_08982AB8; AOT_REGCACHE_SYNC_OUT(); return; L_08982AB8: - aot_gpr_16 = (aot_gpr_16 + static_cast(20)); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(16)))))); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(20)); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(16)))))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -6384,49 +6385,49 @@ L_08982AFC: aot_gpr_4 = (0u | 6u); aot_gpr_31 = (0x08982B08u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08982B08u) goto L_08982B08; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08982B08u) goto L_08982B08; AOT_REGCACHE_SYNC_OUT(); return; L_08982B08: aot_gpr_4 = (0u | 4u); aot_gpr_31 = (0x08982B14u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08982B14u) goto L_08982B14; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08982B14u) goto L_08982B14; AOT_REGCACHE_SYNC_OUT(); return; L_08982B14: aot_gpr_4 = (0u | 10u); aot_gpr_31 = (0x08982B20u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08982B20u) goto L_08982B20; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08982B20u) goto L_08982B20; AOT_REGCACHE_SYNC_OUT(); return; L_08982B20: aot_gpr_4 = (0u | 8u); aot_gpr_31 = (0x08982B2Cu); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08982B2Cu) goto L_08982B2C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08982B2Cu) goto L_08982B2C; AOT_REGCACHE_SYNC_OUT(); return; L_08982B2C: aot_gpr_4 = (0u | 9u); aot_gpr_31 = (0x08982B38u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08982B38u) goto L_08982B38; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08982B38u) goto L_08982B38; AOT_REGCACHE_SYNC_OUT(); return; L_08982B38: aot_gpr_4 = (0u | 1u); aot_gpr_31 = (0x08982B44u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08982B44u) goto L_08982B44; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08982B44u) goto L_08982B44; AOT_REGCACHE_SYNC_OUT(); return; L_08982B44: aot_gpr_4 = (17152u << 16u); ctx.gpr[21] = (2247u << 16u); ctx.fpr[20] = std::bit_cast(aot_gpr_4); - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); ctx.gpr[20] = (0u | 5u); ctx.gpr[21] = (ctx.gpr[21] + static_cast(18608)); goto L_08982B5C; L_08982B5C: - ctx.gpr[17] = (aot_gpr_16 << 7u); - aot_gpr_4 = (aot_gpr_16 << 4u); + ctx.gpr[17] = (ctx.gpr[16] << 7u); + aot_gpr_4 = (ctx.gpr[16] << 4u); ctx.gpr[17] = (ctx.gpr[17] - aot_gpr_4); aot_gpr_4 = (ctx.gpr[17] + ctx.gpr[18]); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); @@ -6505,12 +6506,12 @@ L_08982BAC: ctx.gpr[10] = (std::bit_cast(aot_fpr_12)); { const std::int64_t product = static_cast(static_cast(ctx.gpr[10])) * static_cast(static_cast(ctx.gpr[8])); ctx.lo = static_cast(product); ctx.hi = static_cast(static_cast(product) >> 32u); } aot_fpr_13 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_13)); - ctx.gpr[2] = (ctx.lo); + aot_gpr_2 = (ctx.lo); // nop // nop { const std::int64_t product = static_cast(static_cast(ctx.gpr[10])) * static_cast(static_cast(ctx.gpr[7])); ctx.lo = static_cast(product); ctx.hi = static_cast(static_cast(product) >> 32u); } ctx.gpr[8] = (std::bit_cast(aot_fpr_13)); - ctx.gpr[7] = (static_cast(static_cast(ctx.gpr[2]) >> 8u)); + ctx.gpr[7] = (static_cast(static_cast(aot_gpr_2) >> 8u)); ctx.gpr[7] = (ctx.gpr[7] & 255u); aot_mem.aot_direct_store8(ctx.gpr[21] + static_cast(4), static_cast(ctx.gpr[7])); ctx.gpr[7] = (ctx.lo); @@ -6564,10 +6565,10 @@ L_08982CE4: goto L_08982CFC; } L_08982CFC: - aot_gpr_4 = (aot_gpr_16 + static_cast(1)); - aot_gpr_16 = (aot_gpr_4 << 16u); - aot_gpr_16 = (static_cast(static_cast(aot_gpr_16) >> 16u)); - aot_gpr_4 = (static_cast(aot_gpr_16) < 56 ? 1u : 0u); + aot_gpr_4 = (ctx.gpr[16] + static_cast(1)); + ctx.gpr[16] = (aot_gpr_4 << 16u); + ctx.gpr[16] = (static_cast(static_cast(ctx.gpr[16]) >> 16u)); + aot_gpr_4 = (static_cast(ctx.gpr[16]) < 56 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -6579,19 +6580,19 @@ L_08982D14: aot_gpr_4 = (0u | 10u); aot_gpr_31 = (0x08982D20u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08982D20u) goto L_08982D20; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08982D20u) goto L_08982D20; AOT_REGCACHE_SYNC_OUT(); return; L_08982D20: aot_gpr_4 = (0u | 4u); aot_gpr_31 = (0x08982D2Cu); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08982D2Cu) goto L_08982D2C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08982D2Cu) goto L_08982D2C; AOT_REGCACHE_SYNC_OUT(); return; L_08982D2C: aot_gpr_4 = (0u | 6u); aot_gpr_31 = (0x08982D38u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08982D38u) goto L_08982D38; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08982D38u) goto L_08982D38; AOT_REGCACHE_SYNC_OUT(); return; L_08982D38: { std::uint32_t aot_run_words[16]{}; @@ -6602,7 +6603,7 @@ L_08982D38: ctx.fpr[26] = std::bit_cast(aot_run_words[3]); ctx.fpr[28] = std::bit_cast(aot_run_words[4]); ctx.fpr[30] = std::bit_cast(aot_run_words[5]); - aot_gpr_16 = aot_run_words[6]; + ctx.gpr[16] = aot_run_words[6]; ctx.gpr[17] = aot_run_words[7]; ctx.gpr[18] = aot_run_words[8]; ctx.gpr[19] = aot_run_words[9]; @@ -6629,7 +6630,7 @@ L_08982D80: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[26])) ? 0x00800000u : 0u); { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(148), aot_run_words); } - { const std::uint32_t aot_run_words[7]{std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20]}; + { const std::uint32_t aot_run_words[7]{std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(164), aot_run_words); } { const std::uint32_t aot_run_words[4]{ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(196), aot_run_words); } @@ -6675,37 +6676,37 @@ L_08982E20: aot_gpr_4 = (0u | 11u); aot_gpr_31 = (0x08982E2Cu); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08982E2Cu) goto L_08982E2C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08982E2Cu) goto L_08982E2C; AOT_REGCACHE_SYNC_OUT(); return; L_08982E2C: aot_gpr_4 = (0u | 6u); aot_gpr_31 = (0x08982E38u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08982E38u) goto L_08982E38; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08982E38u) goto L_08982E38; AOT_REGCACHE_SYNC_OUT(); return; L_08982E38: aot_gpr_4 = (0u | 4u); aot_gpr_31 = (0x08982E44u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08982E44u) goto L_08982E44; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08982E44u) goto L_08982E44; AOT_REGCACHE_SYNC_OUT(); return; L_08982E44: aot_gpr_4 = (0u | 10u); aot_gpr_31 = (0x08982E50u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08982E50u) goto L_08982E50; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08982E50u) goto L_08982E50; AOT_REGCACHE_SYNC_OUT(); return; L_08982E50: aot_gpr_4 = (0u | 8u); aot_gpr_31 = (0x08982E5Cu); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08982E5Cu) goto L_08982E5C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08982E5Cu) goto L_08982E5C; AOT_REGCACHE_SYNC_OUT(); return; L_08982E5C: aot_gpr_4 = (0u | 9u); aot_gpr_31 = (0x08982E68u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08982E68u) goto L_08982E68; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08982E68u) goto L_08982E68; AOT_REGCACHE_SYNC_OUT(); return; L_08982E68: aot_gpr_4 = (2234u << 16u); @@ -6714,7 +6715,7 @@ L_08982E68: aot_gpr_4 = (0u | 1u); aot_gpr_31 = (0x08982E80u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08982E80u) goto L_08982E80; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08982E80u) goto L_08982E80; AOT_REGCACHE_SYNC_OUT(); return; L_08982E80: aot_gpr_4 = (2236u << 16u); @@ -6742,9 +6743,9 @@ L_08982E80: L_08982ED4: aot_gpr_4 = (ctx.gpr[17] << 7u); aot_gpr_5 = (ctx.gpr[17] << 4u); - aot_gpr_16 = (aot_gpr_4 - aot_gpr_5); - aot_gpr_16 = (aot_gpr_16 + ctx.gpr[21]); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); + ctx.gpr[16] = (aot_gpr_4 - aot_gpr_5); + ctx.gpr[16] = (ctx.gpr[16] + ctx.gpr[21]); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(16))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -6753,7 +6754,7 @@ L_08982ED4: goto L_08982EF0; } L_08982EF0: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(52))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(52))); { const bool branch_taken = static_cast(aot_gpr_4) > 0; // nop if (branch_taken) { @@ -6762,7 +6763,7 @@ L_08982EF0: goto L_08982EFC; } L_08982EFC: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(51))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(51))); { const bool branch_taken = static_cast(aot_gpr_4) <= 0; // nop if (branch_taken) { @@ -6771,7 +6772,7 @@ L_08982EFC: goto L_08982F08; } L_08982F08: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(55))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(55))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -6780,7 +6781,7 @@ L_08982F08: goto L_08982F14; } L_08982F14: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(56)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(56)))))); aot_gpr_4 = (aot_gpr_4 & 64u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -6803,7 +6804,7 @@ L_08982F24: L_08982F38: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), 0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[20] | 0u); aot_gpr_6 = (ctx.gpr[19] | 0u); ctx.gpr[7] = (0u | 1u); @@ -6816,7 +6817,7 @@ L_08982F38: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 287u, 0x08891DD4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08982F68u) goto L_08982F68; AOT_REGCACHE_SYNC_OUT(); return; L_08982F68: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08982FD8; @@ -6824,11 +6825,11 @@ L_08982F68: goto L_08982F70; } L_08982F70: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(8))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(56))); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(44), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(44), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_08982FD8; } @@ -6837,7 +6838,7 @@ L_08982F70: L_08982F84: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), 0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[20] | 0u); aot_gpr_6 = (ctx.gpr[19] | 0u); ctx.gpr[7] = (0u | 1u); @@ -6850,7 +6851,7 @@ L_08982F84: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 287u, 0x08891DD4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08982FB4u) goto L_08982FB4; AOT_REGCACHE_SYNC_OUT(); return; L_08982FB4: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08982FD8; @@ -6858,16 +6859,16 @@ L_08982FB4: goto L_08982FBC; } L_08982FBC: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(8))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(56))); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(56)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(56)))))); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; aot_gpr_4 = (aot_gpr_4 | 64u); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(56), static_cast(aot_gpr_4)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(44), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(56), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(44), std::bit_cast(aot_fpr_12)); goto L_08982FD8; L_08982FD8: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(56)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(56)))))); aot_gpr_4 = (aot_gpr_4 & 64u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -6877,7 +6878,7 @@ L_08982FD8: goto L_08982FE8; } L_08982FE8: - ctx.fpr[20] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(44))); + ctx.fpr[20] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(44))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[20] < ctx.fpr[24])) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); @@ -6889,7 +6890,7 @@ L_08982FE8: } L_08982FFC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(124))); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(8))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); aot_fpr_12 = aot_fpr_12 - ctx.fpr[20]; ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 < aot_fpr_12)) ? 0x00800000u : 0u); @@ -6902,7 +6903,7 @@ L_08982FFC: goto L_0898301C; } L_0898301C: - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -6930,7 +6931,7 @@ L_0898301C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0169_entry, 169u, 32u, 0x08AA82D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08983054u) goto L_08983054; AOT_REGCACHE_SYNC_OUT(); return; L_08983054: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08983208; @@ -6938,7 +6939,7 @@ L_08983054: goto L_0898305C; } L_0898305C: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(36))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(36))); { const float fs = aot_fpr_12; const float ft = ctx.fpr[28]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[30] < aot_fpr_12)) ? 0x00800000u : 0u); // nop @@ -7007,7 +7008,7 @@ L_089830DC: aot_gpr_4 = (17254u << 16u); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_15 = std::bit_cast(aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(52))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(52))); { const float fs = aot_fpr_12; const float ft = aot_fpr_15; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } ctx.fpr[16] = std::bit_cast(aot_gpr_4); aot_gpr_4 = (17279u << 16u); @@ -7017,14 +7018,14 @@ L_089830DC: aot_fpr_12 = aot_fpr_12 / ctx.fpr[24]; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(136), std::bit_cast(ctx.fpr[24])); aot_gpr_6 = (16384u << 16u); - aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(28))); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(28))); ctx.fpr[17] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(32))); - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(48))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(48))); ctx.fpr[20] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); ctx.fpr[30] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); - ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(49))); + ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(49))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(36))); - ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(50))); + ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(50))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8896))); aot_fpr_13 = ctx.fpr[16] / aot_fpr_13; ctx.fpr[18] = std::bit_cast(aot_gpr_6); @@ -7043,7 +7044,7 @@ L_089830DC: // nop { const std::int64_t product = static_cast(static_cast(ctx.gpr[7])) * static_cast(static_cast(aot_gpr_6)); ctx.lo = static_cast(product); ctx.hi = static_cast(static_cast(product) >> 32u); } aot_gpr_5 = (static_cast(static_cast(aot_gpr_5) >> 8u)); - aot_gpr_16 = (aot_gpr_5 & 255u); + ctx.gpr[16] = (aot_gpr_5 & 255u); aot_gpr_5 = (ctx.lo); // nop // nop @@ -7060,7 +7061,7 @@ L_089831BC: aot_gpr_4 = (18303u << 16u); ctx.fpr[17] = ctx.fpr[22] / ctx.fpr[0]; ctx.gpr[9] = (aot_gpr_4 | 64000u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[22] | 0u); aot_gpr_6 = (ctx.gpr[23] | 0u); ctx.gpr[7] = (0u | 255u); @@ -7105,31 +7106,31 @@ L_0898322C: aot_gpr_4 = (0u | 8u); aot_gpr_31 = (0x08983238u); aot_gpr_5 = (0u | 5u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08983238u) goto L_08983238; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08983238u) goto L_08983238; AOT_REGCACHE_SYNC_OUT(); return; L_08983238: aot_gpr_4 = (0u | 9u); aot_gpr_31 = (0x08983244u); aot_gpr_5 = (0u | 6u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08983244u) goto L_08983244; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08983244u) goto L_08983244; AOT_REGCACHE_SYNC_OUT(); return; L_08983244: aot_gpr_4 = (0u | 10u); aot_gpr_31 = (0x08983250u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08983250u) goto L_08983250; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08983250u) goto L_08983250; AOT_REGCACHE_SYNC_OUT(); return; L_08983250: aot_gpr_4 = (0u | 6u); aot_gpr_31 = (0x0898325Cu); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898325Cu) goto L_0898325C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898325Cu) goto L_0898325C; AOT_REGCACHE_SYNC_OUT(); return; L_0898325C: aot_gpr_4 = (0u | 4u); aot_gpr_31 = (0x08983268u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08983268u) goto L_08983268; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08983268u) goto L_08983268; AOT_REGCACHE_SYNC_OUT(); return; L_08983268: { std::uint32_t aot_run_words[16]{}; @@ -7140,7 +7141,7 @@ L_08983268: ctx.fpr[26] = std::bit_cast(aot_run_words[3]); ctx.fpr[28] = std::bit_cast(aot_run_words[4]); ctx.fpr[30] = std::bit_cast(aot_run_words[5]); - aot_gpr_16 = aot_run_words[6]; + ctx.gpr[16] = aot_run_words[6]; ctx.gpr[17] = aot_run_words[7]; ctx.gpr[18] = aot_run_words[8]; ctx.gpr[19] = aot_run_words[9]; @@ -7169,7 +7170,7 @@ L_089832B0: aot_fpr_12 = std::bit_cast(aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), std::bit_cast(ctx.fpr[20])); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 <= aot_fpr_12)) ? 0x00800000u : 0u); - { const std::uint32_t aot_run_words[8]{std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; + { const std::uint32_t aot_run_words[8]{std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(68), aot_run_words); } { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -7350,9 +7351,9 @@ L_0898344C: aot_gpr_5 = (aot_gpr_4 + static_cast(2)); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8452))); aot_gpr_6 = (aot_gpr_6 + aot_gpr_6); - aot_gpr_16 = (2238u << 16u); - aot_gpr_16 = (aot_gpr_16 + static_cast(12016)); - aot_gpr_6 = (aot_gpr_6 + aot_gpr_16); + ctx.gpr[16] = (2238u << 16u); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(12016)); + aot_gpr_6 = (aot_gpr_6 + ctx.gpr[16]); aot_mem.aot_direct_store16(aot_gpr_6 + static_cast(0), static_cast(aot_gpr_5)); ctx.gpr[7] = (aot_gpr_4 + static_cast(1)); aot_mem.aot_direct_store16(aot_gpr_6 + static_cast(2), static_cast(ctx.gpr[7])); @@ -7553,14 +7554,14 @@ L_0898344C: ctx.fpr[16] = std::bit_cast(ctx.gpr[9]); ctx.gpr[9] = (0u | 0u); ctx.gpr[11] = (0u | 0u); - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_08983808; L_08983808: { const std::int32_t dividend = static_cast(ctx.gpr[9]); const std::int32_t divisor = static_cast(ctx.gpr[10]); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } ctx.gpr[3] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8452))); ctx.gpr[12] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); ctx.gpr[3] = (ctx.gpr[3] + ctx.gpr[3]); - ctx.gpr[3] = (ctx.gpr[3] + aot_gpr_16); + ctx.gpr[3] = (ctx.gpr[3] + ctx.gpr[16]); aot_mem.aot_direct_store16(ctx.gpr[3] + static_cast(0), static_cast(ctx.gpr[12])); ctx.gpr[13] = (ctx.gpr[12] + static_cast(-1)); aot_mem.aot_direct_store16(ctx.gpr[3] + static_cast(2), static_cast(ctx.gpr[13])); @@ -7571,7 +7572,7 @@ L_08983808: aot_mem.aot_direct_store16(ctx.gpr[3] + static_cast(8), static_cast(ctx.gpr[12])); aot_mem.aot_direct_store16(ctx.gpr[3] + static_cast(10), static_cast(ctx.gpr[13])); ctx.gpr[3] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); - ctx.gpr[3] = (ctx.gpr[3] + ctx.gpr[2]); + ctx.gpr[3] = (ctx.gpr[3] + aot_gpr_2); ctx.gpr[3] = (ctx.gpr[3] & 2047u); ctx.fpr[19] = std::bit_cast(ctx.gpr[3]); ctx.fpr[19] = static_cast(static_cast(std::bit_cast(ctx.fpr[19]))); @@ -7711,7 +7712,7 @@ L_089838C8: ctx.gpr[11] = (ctx.gpr[11] + static_cast(970)); ctx.gpr[3] = (static_cast(ctx.gpr[8]) < 20 ? 1u : 0u); { const bool branch_taken = ctx.gpr[3] != 0u; - ctx.gpr[2] = (ctx.gpr[2] + static_cast(900)); + aot_gpr_2 = (aot_gpr_2 + static_cast(900)); if (branch_taken) { goto L_08983808; } @@ -7721,43 +7722,43 @@ L_08983A50: aot_gpr_4 = (0u | 6u); aot_gpr_31 = (0x08983A5Cu); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08983A5Cu) goto L_08983A5C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08983A5Cu) goto L_08983A5C; AOT_REGCACHE_SYNC_OUT(); return; L_08983A5C: aot_gpr_4 = (0u | 4u); aot_gpr_31 = (0x08983A68u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08983A68u) goto L_08983A68; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08983A68u) goto L_08983A68; AOT_REGCACHE_SYNC_OUT(); return; L_08983A68: aot_gpr_4 = (0u | 11u); aot_gpr_31 = (0x08983A74u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08983A74u) goto L_08983A74; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08983A74u) goto L_08983A74; AOT_REGCACHE_SYNC_OUT(); return; L_08983A74: aot_gpr_4 = (0u | 13u); aot_gpr_31 = (0x08983A80u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08983A80u) goto L_08983A80; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08983A80u) goto L_08983A80; AOT_REGCACHE_SYNC_OUT(); return; L_08983A80: aot_gpr_4 = (0u | 8u); aot_gpr_31 = (0x08983A8Cu); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08983A8Cu) goto L_08983A8C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08983A8Cu) goto L_08983A8C; AOT_REGCACHE_SYNC_OUT(); return; L_08983A8C: aot_gpr_4 = (0u | 9u); aot_gpr_31 = (0x08983A98u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08983A98u) goto L_08983A98; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08983A98u) goto L_08983A98; AOT_REGCACHE_SYNC_OUT(); return; L_08983A98: aot_gpr_4 = (0u | 10u); aot_gpr_31 = (0x08983AA4u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08983AA4u) goto L_08983AA4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08983AA4u) goto L_08983AA4; AOT_REGCACHE_SYNC_OUT(); return; L_08983AA4: aot_gpr_4 = (2234u << 16u); @@ -7766,7 +7767,7 @@ L_08983AA4: aot_gpr_4 = (0u | 1u); aot_gpr_31 = (0x08983ABCu); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08983ABCu) goto L_08983ABC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08983ABCu) goto L_08983ABC; AOT_REGCACHE_SYNC_OUT(); return; L_08983ABC: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); @@ -7777,7 +7778,7 @@ L_08983ABC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0186_entry, 186u, 515u, 0x08AEE610u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08983AD0u) goto L_08983AD0; AOT_REGCACHE_SYNC_OUT(); return; L_08983AD0: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08983AF0; @@ -7788,7 +7789,7 @@ L_08983AD8: aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8452))); aot_gpr_4 = (0u | 3u); aot_gpr_31 = (0x08983AE8u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0186_entry, 186u, 536u, 0x08AEE8E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08983AE8u) goto L_08983AE8; AOT_REGCACHE_SYNC_OUT(); return; L_08983AE8: @@ -7800,37 +7801,37 @@ L_08983AF0: aot_gpr_4 = (0u | 6u); aot_gpr_31 = (0x08983AFCu); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08983AFCu) goto L_08983AFC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08983AFCu) goto L_08983AFC; AOT_REGCACHE_SYNC_OUT(); return; L_08983AFC: aot_gpr_4 = (0u | 4u); aot_gpr_31 = (0x08983B08u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08983B08u) goto L_08983B08; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08983B08u) goto L_08983B08; AOT_REGCACHE_SYNC_OUT(); return; L_08983B08: aot_gpr_4 = (0u | 8u); aot_gpr_31 = (0x08983B14u); aot_gpr_5 = (0u | 5u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08983B14u) goto L_08983B14; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08983B14u) goto L_08983B14; AOT_REGCACHE_SYNC_OUT(); return; L_08983B14: aot_gpr_4 = (0u | 9u); aot_gpr_31 = (0x08983B20u); aot_gpr_5 = (0u | 6u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08983B20u) goto L_08983B20; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08983B20u) goto L_08983B20; AOT_REGCACHE_SYNC_OUT(); return; L_08983B20: aot_gpr_4 = (0u | 11u); aot_gpr_31 = (0x08983B2Cu); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08983B2Cu) goto L_08983B2C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08983B2Cu) goto L_08983B2C; AOT_REGCACHE_SYNC_OUT(); return; L_08983B2C: aot_gpr_4 = (0u | 10u); aot_gpr_31 = (0x08983B38u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08983B38u) goto L_08983B38; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08983B38u) goto L_08983B38; AOT_REGCACHE_SYNC_OUT(); return; L_08983B38: aot_gpr_4 = (2236u << 16u); @@ -7854,7 +7855,7 @@ L_08983B70: ctx.fpr[20] = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); - aot_gpr_16 = aot_run_words[3]; + ctx.gpr[16] = aot_run_words[3]; ctx.gpr[17] = aot_run_words[4]; ctx.gpr[18] = aot_run_words[5]; ctx.gpr[19] = aot_run_words[6]; @@ -7869,8 +7870,8 @@ L_08983B70: AOT_REGCACHE_SYNC_OUT(); return; L_08983B9C: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - ctx.gpr[2] = (2236u << 16u); - ctx.gpr[14] = (ctx.gpr[2] + static_cast(32304)); + aot_gpr_2 = (2236u << 16u); + ctx.gpr[14] = (aot_gpr_2 + static_cast(32304)); ctx.gpr[14] = (ctx.gpr[14] + static_cast(48)); ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[14] + static_cast(0))); ctx.fpr[17] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[9] + static_cast(0))); @@ -7881,7 +7882,7 @@ L_08983B9C: { const float fs = ctx.fpr[16]; const float ft = ctx.fpr[16]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[16] = std::bit_cast(0x7FC00000u); else ctx.fpr[16] = fs * ft; } { const float fs = ctx.fpr[18]; const float ft = ctx.fpr[18]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[17] = std::bit_cast(0x7FC00000u); else ctx.fpr[17] = fs * ft; } ctx.gpr[3] = (ctx.gpr[7] & 255u); - ctx.gpr[2] = (ctx.gpr[8] & 255u); + aot_gpr_2 = (ctx.gpr[8] & 255u); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(52))); ctx.fpr[16] = ctx.fpr[16] + ctx.fpr[17]; { const float fs = aot_fpr_13; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[18] = std::bit_cast(0x7FC00000u); else ctx.fpr[18] = fs * ft; } @@ -7894,7 +7895,7 @@ L_08983B9C: ctx.gpr[11] = (ctx.gpr[11] & 255u); ctx.gpr[7] = (ctx.gpr[7] & 255u); aot_gpr_6 = (aot_gpr_6 & 255u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), ctx.gpr[16]); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); aot_gpr_5 = (aot_gpr_5 & 255u); if (branch_taken) { @@ -8006,12 +8007,12 @@ L_08983C8C: ctx.fpr[16] = ctx.fpr[17] - ctx.fpr[16]; ctx.fpr[18] = std::bit_cast(ctx.gpr[14]); ctx.fpr[16] = ctx.fpr[16] / ctx.fpr[18]; - ctx.fpr[19] = std::bit_cast(ctx.gpr[2]); + ctx.fpr[19] = std::bit_cast(aot_gpr_2); ctx.fpr[19] = static_cast(static_cast(std::bit_cast(ctx.fpr[19]))); { const float fs = ctx.fpr[19]; const float ft = ctx.fpr[16]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[16] = std::bit_cast(0x7FC00000u); else ctx.fpr[16] = fs * ft; } ctx.fpr[16] = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[16])); - ctx.gpr[2] = (std::bit_cast(ctx.fpr[16])); - ctx.gpr[2] = (ctx.gpr[2] & 255u); + aot_gpr_2 = (std::bit_cast(ctx.fpr[16])); + aot_gpr_2 = (aot_gpr_2 & 255u); goto L_08983CB0; L_08983CB0: ctx.gpr[14] = (2247u << 16u); @@ -8029,8 +8030,8 @@ L_08983CC4: goto L_08983CCC; } L_08983CCC: - aot_gpr_16 = (ctx.gpr[15] << 4u); - ctx.gpr[25] = (ctx.gpr[25] - aot_gpr_16); + ctx.gpr[16] = (ctx.gpr[15] << 4u); + ctx.gpr[25] = (ctx.gpr[25] - ctx.gpr[16]); ctx.gpr[25] = (ctx.gpr[25] + ctx.gpr[14]); ctx.gpr[25] = (aot_mem.aot_direct_load32(ctx.gpr[25] + static_cast(16))); { const bool branch_taken = ctx.gpr[25] == aot_gpr_4; @@ -8059,7 +8060,7 @@ L_08983CF4: goto L_08983CFC; } L_08983CFC: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08983D10; @@ -8092,8 +8093,8 @@ L_08983D18: goto L_08983D20; } L_08983D20: - aot_gpr_16 = (ctx.gpr[15] << 4u); - ctx.gpr[25] = (ctx.gpr[25] - aot_gpr_16); + ctx.gpr[16] = (ctx.gpr[15] << 4u); + ctx.gpr[25] = (ctx.gpr[25] - ctx.gpr[16]); ctx.gpr[25] = (ctx.gpr[25] + ctx.gpr[14]); ctx.gpr[25] = (aot_mem.aot_direct_load32(ctx.gpr[25] + static_cast(16))); { const bool branch_taken = ctx.gpr[25] == 0u; @@ -8141,25 +8142,25 @@ L_08983D58: ctx.gpr[15] = (ctx.gpr[15] | 4u); aot_mem.aot_direct_store8(ctx.gpr[24] + static_cast(56), static_cast(ctx.gpr[15])); ctx.gpr[15] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[24] + static_cast(56)))))); - aot_gpr_16 = (0u + static_cast(-65)); - ctx.gpr[15] = (ctx.gpr[15] & aot_gpr_16); + ctx.gpr[16] = (0u + static_cast(-65)); + ctx.gpr[15] = (ctx.gpr[15] & ctx.gpr[16]); aot_mem.aot_direct_store8(ctx.gpr[24] + static_cast(56), static_cast(ctx.gpr[15])); ctx.gpr[15] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[24] + static_cast(56)))))); - aot_gpr_16 = (0u + static_cast(-17)); + ctx.gpr[16] = (0u + static_cast(-17)); aot_mem.aot_direct_store32(ctx.gpr[24] + static_cast(20), 0u); - ctx.gpr[15] = (ctx.gpr[15] & aot_gpr_16); + ctx.gpr[15] = (ctx.gpr[15] & ctx.gpr[16]); aot_mem.aot_direct_store8(ctx.gpr[24] + static_cast(56), static_cast(ctx.gpr[15])); ctx.gpr[15] = (0u | 0u); goto L_08983DA8; L_08983DA8: - aot_gpr_16 = (ctx.gpr[25] + ctx.gpr[15]); + ctx.gpr[16] = (ctx.gpr[25] + ctx.gpr[15]); ctx.gpr[15] = (ctx.gpr[15] + static_cast(1)); - aot_gpr_16 = (aot_gpr_16 + ctx.gpr[14]); + ctx.gpr[16] = (ctx.gpr[16] + ctx.gpr[14]); ctx.gpr[15] = (ctx.gpr[15] << 16u); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(100), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(100), static_cast(0u)); ctx.gpr[15] = (static_cast(static_cast(ctx.gpr[15]) >> 16u)); - aot_gpr_16 = (static_cast(ctx.gpr[15]) < 6 ? 1u : 0u); - { const bool branch_taken = aot_gpr_16 != 0u; + ctx.gpr[16] = (static_cast(ctx.gpr[15]) < 6 ? 1u : 0u); + { const bool branch_taken = ctx.gpr[16] != 0u; // nop if (branch_taken) { goto L_08983DA8; @@ -8180,7 +8181,7 @@ L_08983DD4: ctx.gpr[24] = (ctx.gpr[24] - ctx.gpr[15]); ctx.gpr[24] = (ctx.gpr[24] + ctx.gpr[14]); ctx.gpr[14] = (aot_mem.aot_direct_load8(ctx.gpr[24] + static_cast(52))); - ctx.gpr[14] = (ctx.gpr[14] | ctx.gpr[2]); + ctx.gpr[14] = (ctx.gpr[14] | aot_gpr_2); { const bool branch_taken = ctx.gpr[14] == 0u; // nop if (branch_taken) { @@ -8193,7 +8194,7 @@ L_08983DF4: aot_mem.aot_direct_store8(ctx.gpr[24] + static_cast(48), static_cast(ctx.gpr[13])); aot_mem.aot_direct_store8(ctx.gpr[24] + static_cast(49), static_cast(ctx.gpr[12])); aot_mem.aot_direct_store8(ctx.gpr[24] + static_cast(50), static_cast(ctx.gpr[3])); - aot_mem.aot_direct_store8(ctx.gpr[24] + static_cast(51), static_cast(ctx.gpr[2])); + aot_mem.aot_direct_store8(ctx.gpr[24] + static_cast(51), static_cast(aot_gpr_2)); { const std::uint32_t vfpu_address = ctx.gpr[9] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -8271,7 +8272,7 @@ L_08983E48: aot_mem.aot_direct_store32(ctx.gpr[24] + static_cast(40), std::bit_cast(aot_fpr_15)); goto L_08983EB8; L_08983EB8: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(32))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(32))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(48)); local_pc = jump_target; @@ -8282,8 +8283,8 @@ L_08983EC4: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_16); - aot_gpr_16 = (aot_gpr_5 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_5 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); aot_gpr_31 = (0x08983EE8u); @@ -8309,20 +8310,20 @@ L_08983EF4: L_08983EFC: aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_31 = (0x08983F08u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0121_entry, 121u, 215u, 0x089E9130u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08983F08u) goto L_08983F08; AOT_REGCACHE_SYNC_OUT(); return; L_08983F08: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - if (aot_gpr_16 == 0u) { + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + if (ctx.gpr[16] == 0u) { aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); goto L_08983F20; } goto L_08983F14; L_08983F14: aot_gpr_31 = (0x08983F1Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08983F1Cu) goto L_08983F1C; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2E4, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08983F1Cu) goto L_08983F1C; AOT_REGCACHE_SYNC_OUT(); return; L_08983F1C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); @@ -8330,7 +8331,7 @@ L_08983F1C: L_08983F20: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), 0u); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); @@ -8351,11 +8352,11 @@ L_08983F38: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); ctx.gpr[23] = (2232u << 16u); ctx.gpr[22] = (2232u << 16u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), ctx.gpr[20]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(80), ctx.gpr[30]); - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); ctx.gpr[18] = (ctx.gpr[28] + static_cast(-16548)); ctx.gpr[30] = (0u | 59u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), aot_gpr_6); @@ -8374,7 +8375,7 @@ L_08983FA4: } goto L_08983FAC; L_08983FAC: - aot_gpr_5 = (static_cast(aot_gpr_16) < static_cast(aot_gpr_5) ? 1u : 0u); + aot_gpr_5 = (static_cast(ctx.gpr[16]) < static_cast(aot_gpr_5) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; // nop if (branch_taken) { @@ -8385,14 +8386,14 @@ L_08983FAC: L_08983FB8: aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_4 = (0u | 0u); - ctx.gpr[21] = (aot_gpr_16 + static_cast(1)); + ctx.gpr[21] = (ctx.gpr[16] + static_cast(1)); if (aot_gpr_5 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); goto L_08983FCC; } goto L_08983FCC; L_08983FCC: - aot_gpr_4 = (aot_gpr_16 < aot_gpr_4 ? 1u : 0u); + aot_gpr_4 = (ctx.gpr[16] < aot_gpr_4 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_4 = (ctx.gpr[23] | 0u); if (branch_taken) { @@ -8409,7 +8410,7 @@ L_08983FD8: L_08983FE4: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), ctx.gpr[18]); - aot_gpr_4 = (aot_gpr_5 + aot_gpr_16); + aot_gpr_4 = (aot_gpr_5 + ctx.gpr[16]); ctx.gpr[19] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0)))))); aot_gpr_4 = (0u | 38u); ctx.gpr[19] = (ctx.gpr[19] & 255u); diff --git a/profiles/vcs/generated/generated_unit_0096.cpp b/profiles/vcs/generated/generated_unit_0096.cpp index fdea38b..6e3f32b 100644 --- a/profiles/vcs/generated/generated_unit_0096.cpp +++ b/profiles/vcs/generated/generated_unit_0096.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0096[4090] = { }; void recomp_unit_0096_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,31,17,6 fprs=12,14,13,15 gpr_occ=4323 fpr_occ=81 gpr_total=5865 fpr_total=100 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,31,6,17 fprs=12,14,13,15 gpr_occ=4471 fpr_occ=82 gpr_total=6162 fpr_total=101 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; - std::uint32_t aot_gpr_17 = ctx.gpr[17]; std::uint32_t aot_gpr_6 = ctx.gpr[6]; + std::uint32_t aot_gpr_17 = ctx.gpr[17]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_14 = ctx.fpr[14]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_15 = ctx.fpr[15]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[31] = aot_gpr_31; ctx.gpr[17] = aot_gpr_17; ctx.gpr[6] = aot_gpr_6; ctx.fpr[12] = aot_fpr_12; ctx.fpr[14] = aot_fpr_14; ctx.fpr[13] = aot_fpr_13; ctx.fpr[15] = aot_fpr_15; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_17 = ctx.gpr[17]; aot_gpr_6 = ctx.gpr[6]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_15 = ctx.fpr[15]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[31] = aot_gpr_31; ctx.gpr[6] = aot_gpr_6; ctx.gpr[17] = aot_gpr_17; ctx.fpr[12] = aot_fpr_12; ctx.fpr[14] = aot_fpr_14; ctx.fpr[13] = aot_fpr_13; ctx.fpr[15] = aot_fpr_15; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_17 = ctx.gpr[17]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_15 = ctx.fpr[15]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -1479,7 +1480,7 @@ L_08984228: L_08984238: aot_gpr_31 = (0x08984240u); aot_gpr_4 = (aot_gpr_29 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08984240u) goto L_08984240; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08984240u) goto L_08984240; AOT_REGCACHE_SYNC_OUT(); return; L_08984240: aot_gpr_4 = (ctx.gpr[20] | 0u); @@ -1661,7 +1662,7 @@ L_08984378: L_08984394: aot_gpr_31 = (0x0898439Cu); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898439Cu) goto L_0898439C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2E4, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898439Cu) goto L_0898439C; AOT_REGCACHE_SYNC_OUT(); return; L_0898439C: aot_gpr_4 = (ctx.gpr[16] & 1u); @@ -1675,7 +1676,7 @@ L_0898439C: L_089843A8: aot_gpr_31 = (0x089843B0u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089843B0u) goto L_089843B0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089843B0u) goto L_089843B0; AOT_REGCACHE_SYNC_OUT(); return; L_089843B0: { std::uint32_t aot_run_words[3]{}; @@ -1763,7 +1764,7 @@ L_08984434: L_08984440: aot_gpr_31 = (0x08984448u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08984448u) goto L_08984448; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2E4, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08984448u) goto L_08984448; AOT_REGCACHE_SYNC_OUT(); return; L_08984448: aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(32), 0u); @@ -1797,7 +1798,7 @@ L_0898446C: L_08984474: aot_gpr_31 = (0x0898447Cu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898447Cu) goto L_0898447C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898447Cu) goto L_0898447C; AOT_REGCACHE_SYNC_OUT(); return; L_0898447C: { std::uint32_t aot_run_words[4]{}; @@ -1909,7 +1910,7 @@ L_08984538: L_08984544: aot_gpr_31 = (0x0898454Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898454Cu) goto L_0898454C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2E4, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898454Cu) goto L_0898454C; AOT_REGCACHE_SYNC_OUT(); return; L_0898454C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); @@ -2026,7 +2027,7 @@ L_089845FC: L_08984608: aot_gpr_31 = (0x08984610u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08984610u) goto L_08984610; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2E4, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08984610u) goto L_08984610; AOT_REGCACHE_SYNC_OUT(); return; L_08984610: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); @@ -2682,7 +2683,7 @@ L_08984A3C: L_08984A48: aot_gpr_31 = (0x08984A50u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08984A50u) goto L_08984A50; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2E4, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08984A50u) goto L_08984A50; AOT_REGCACHE_SYNC_OUT(); return; L_08984A50: aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(32), 0u); @@ -2710,7 +2711,7 @@ L_08984A68: L_08984A74: aot_gpr_31 = (0x08984A7Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08984A7Cu) goto L_08984A7C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2E4, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08984A7Cu) goto L_08984A7C; AOT_REGCACHE_SYNC_OUT(); return; L_08984A7C: aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(20), 0u); @@ -2744,7 +2745,7 @@ L_08984AA0: L_08984AA8: aot_gpr_31 = (0x08984AB0u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08984AB0u) goto L_08984AB0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08984AB0u) goto L_08984AB0; AOT_REGCACHE_SYNC_OUT(); return; L_08984AB0: { std::uint32_t aot_run_words[3]{}; @@ -2924,7 +2925,7 @@ L_08984BEC: L_08984BF8: aot_gpr_31 = (0x08984C00u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08984C00u) goto L_08984C00; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2E4, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08984C00u) goto L_08984C00; AOT_REGCACHE_SYNC_OUT(); return; L_08984C00: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); @@ -3052,7 +3053,7 @@ L_08984CEC: L_08984CF8: aot_gpr_31 = (0x08984D00u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08984D00u) goto L_08984D00; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08984D00u) goto L_08984D00; AOT_REGCACHE_SYNC_OUT(); return; L_08984D00: { std::uint32_t aot_run_words[3]{}; @@ -3791,7 +3792,7 @@ L_08985248: L_08985254: aot_gpr_31 = (0x0898525Cu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898525Cu) goto L_0898525C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898525Cu) goto L_0898525C; AOT_REGCACHE_SYNC_OUT(); return; L_0898525C: { std::uint32_t aot_run_words[3]{}; @@ -4082,7 +4083,7 @@ L_08985470: L_0898547C: aot_gpr_31 = (0x08985484u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08985484u) goto L_08985484; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2E4, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08985484u) goto L_08985484; AOT_REGCACHE_SYNC_OUT(); return; L_08985484: aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(76), 0u); @@ -4110,7 +4111,7 @@ L_0898549C: L_089854A8: aot_gpr_31 = (0x089854B0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089854B0u) goto L_089854B0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2E4, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089854B0u) goto L_089854B0; AOT_REGCACHE_SYNC_OUT(); return; L_089854B0: aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(64), 0u); @@ -4138,7 +4139,7 @@ L_089854C8: L_089854D4: aot_gpr_31 = (0x089854DCu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089854DCu) goto L_089854DC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2E4, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089854DCu) goto L_089854DC; AOT_REGCACHE_SYNC_OUT(); return; L_089854DC: aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(52), 0u); @@ -4164,7 +4165,7 @@ L_089854F4: L_08985500: aot_gpr_31 = (0x08985508u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08985508u) goto L_08985508; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08985508u) goto L_08985508; AOT_REGCACHE_SYNC_OUT(); return; L_08985508: { std::uint32_t aot_run_words[3]{}; @@ -4485,7 +4486,7 @@ L_08985768: L_08985774: aot_gpr_31 = (0x0898577Cu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898577Cu) goto L_0898577C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898577Cu) goto L_0898577C; AOT_REGCACHE_SYNC_OUT(); return; L_0898577C: { std::uint32_t aot_run_words[3]{}; @@ -4896,7 +4897,7 @@ L_08985AC0: L_08985AC8: aot_gpr_31 = (0x08985AD0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08985AD0u) goto L_08985AD0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2E4, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08985AD0u) goto L_08985AD0; AOT_REGCACHE_SYNC_OUT(); return; L_08985AD0: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); @@ -4945,7 +4946,7 @@ L_08985B14: L_08985B28: aot_gpr_31 = (0x08985B30u); aot_gpr_4 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08985B30u) goto L_08985B30; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2E4, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08985B30u) goto L_08985B30; AOT_REGCACHE_SYNC_OUT(); return; L_08985B30: aot_gpr_31 = (0x08985B38u); @@ -5004,7 +5005,7 @@ L_08985B7C: L_08985B88: aot_gpr_31 = (0x08985B90u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08985B90u) goto L_08985B90; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2E4, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08985B90u) goto L_08985B90; AOT_REGCACHE_SYNC_OUT(); return; L_08985B90: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); @@ -5029,7 +5030,7 @@ L_08985BA4: L_08985BB0: aot_gpr_31 = (0x08985BB8u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08985BB8u) goto L_08985BB8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2E4, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08985BB8u) goto L_08985BB8; AOT_REGCACHE_SYNC_OUT(); return; L_08985BB8: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); @@ -5401,7 +5402,7 @@ L_08985E58: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x08985E9Cu); aot_gpr_5 = (0u | 272u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08985E9Cu) goto L_08985E9C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08985E9Cu) goto L_08985E9C; AOT_REGCACHE_SYNC_OUT(); return; L_08985E9C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(26328))); @@ -9409,7 +9410,7 @@ L_08987D2C: L_08987D30: aot_gpr_31 = (0x08987D38u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08987D38u) goto L_08987D38; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08987D38u) goto L_08987D38; AOT_REGCACHE_SYNC_OUT(); return; L_08987D38: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16164))); @@ -9417,13 +9418,13 @@ L_08987D38: aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08987D4Cu); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08987D4Cu) goto L_08987D4C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08987D4Cu) goto L_08987D4C; AOT_REGCACHE_SYNC_OUT(); return; L_08987D4C: aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08987D58u); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08987D58u) goto L_08987D58; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B627F0, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08987D58u) goto L_08987D58; AOT_REGCACHE_SYNC_OUT(); return; L_08987D58: aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), std::bit_cast(ctx.fpr[0])); diff --git a/profiles/vcs/generated/generated_unit_0097.cpp b/profiles/vcs/generated/generated_unit_0097.cpp index 4d76a54..4b4c61f 100644 --- a/profiles/vcs/generated/generated_unit_0097.cpp +++ b/profiles/vcs/generated/generated_unit_0097.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0097[4094] = { }; void recomp_unit_0097_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,31,5,16,28,29 fprs=12,20,22,13 gpr_occ=3735 fpr_occ=157 gpr_total=5396 fpr_total=187 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,31,5,6,2,28 fprs=12,20,13,14 gpr_occ=3610 fpr_occ=159 gpr_total=5718 fpr_total=195 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; - std::uint32_t aot_gpr_16 = ctx.gpr[16]; + std::uint32_t aot_gpr_6 = ctx.gpr[6]; + std::uint32_t aot_gpr_2 = ctx.gpr[2]; std::uint32_t aot_gpr_28 = ctx.gpr[28]; - std::uint32_t aot_gpr_29 = ctx.gpr[29]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_20 = ctx.fpr[20]; - float aot_fpr_22 = ctx.fpr[22]; float aot_fpr_13 = ctx.fpr[13]; + float aot_fpr_14 = ctx.fpr[14]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[31] = aot_gpr_31; ctx.gpr[5] = aot_gpr_5; ctx.gpr[16] = aot_gpr_16; ctx.gpr[28] = aot_gpr_28; ctx.gpr[29] = aot_gpr_29; ctx.fpr[12] = aot_fpr_12; ctx.fpr[20] = aot_fpr_20; ctx.fpr[22] = aot_fpr_22; ctx.fpr[13] = aot_fpr_13; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_28 = ctx.gpr[28]; aot_gpr_29 = ctx.gpr[29]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_22 = ctx.fpr[22]; aot_fpr_13 = ctx.fpr[13]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[31] = aot_gpr_31; ctx.gpr[5] = aot_gpr_5; ctx.gpr[6] = aot_gpr_6; ctx.gpr[2] = aot_gpr_2; ctx.gpr[28] = aot_gpr_28; ctx.fpr[12] = aot_fpr_12; ctx.fpr[20] = aot_fpr_20; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_2 = ctx.gpr[2]; aot_gpr_28 = ctx.gpr[28]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -1240,22 +1241,22 @@ LOCAL_DISPATCH: } } L_08988000: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); ctx.gpr[7] = (2236u << 16u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(28))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(28))); ctx.gpr[8] = (ctx.gpr[7] + static_cast(31984)); ctx.gpr[8] = (aot_mem.aot_direct_load32(ctx.gpr[8] + static_cast(12))); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(31984))); - ctx.gpr[6] = (ctx.gpr[6] - ctx.gpr[8]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); - ctx.gpr[6] = (ctx.gpr[6] < ctx.gpr[7] ? 1u : 0u); + aot_gpr_6 = (aot_gpr_6 - ctx.gpr[8]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), ctx.gpr[17]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(8), ctx.gpr[18]); + aot_gpr_6 = (aot_gpr_6 < ctx.gpr[7] ? 1u : 0u); ctx.gpr[18] = (aot_gpr_4 + static_cast(28)); ctx.gpr[17] = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); - { const bool branch_taken = ctx.gpr[6] == 0u; - aot_gpr_16 = (aot_gpr_5 | 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), ctx.gpr[16]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(12), aot_gpr_31); + { const bool branch_taken = aot_gpr_6 == 0u; + ctx.gpr[16] = (aot_gpr_5 | 0u); if (branch_taken) { goto L_0898804C; } @@ -1268,11 +1269,11 @@ L_08988040: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0030_entry, 30u, 736u, 0x0887F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898804Cu) goto L_0898804C; AOT_REGCACHE_SYNC_OUT(); return; L_0898804C: - aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(28), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(28), ctx.gpr[16]); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08988060u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0030_entry, 30u, 728u, 0x0887F5E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08988060u) goto L_08988060; AOT_REGCACHE_SYNC_OUT(); return; L_08988060: @@ -1282,28 +1283,28 @@ L_08988060: AOT_REGCACHE_SYNC_OUT(); return; L_08988068: { std::uint32_t aot_run_words[4]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(0), aot_run_words); + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08988080: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(24))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), ctx.gpr[16]); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(8))); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_5 & 32768u); aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -1313,12 +1314,12 @@ L_08988080: } L_089880AC: aot_gpr_31 = (0x089880B4u); - aot_gpr_4 = (aot_gpr_16 + static_cast(28)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(28)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0030_entry, 30u, 744u, 0x0887F7E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089880B4u) goto L_089880B4; AOT_REGCACHE_SYNC_OUT(); return; L_089880B4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(28))); + aot_gpr_2 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(28))); if (branch_taken) { goto L_089880C8; } @@ -1326,35 +1327,35 @@ L_089880B4: } L_089880BC: aot_gpr_31 = (0x089880C4u); - aot_gpr_4 = (aot_gpr_16 + static_cast(20)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(20)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0030_entry, 30u, 744u, 0x0887F7E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089880C4u) goto L_089880C4; AOT_REGCACHE_SYNC_OUT(); return; L_089880C4: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); + aot_gpr_2 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(20))); goto L_089880C8; L_089880C8: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_089880D8: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), std::bit_cast(aot_fpr_20)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x089880F4u); aot_fpr_20 = std::bit_cast(std::bit_cast(aot_fpr_12)); goto L_08988080; L_089880F4: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(2)))))); - ctx.gpr[6] = (static_cast(aot_gpr_5) < 1 ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] != 0u; + aot_gpr_6 = (static_cast(aot_gpr_5) < 1 ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 != 0u; // nop if (branch_taken) { goto L_08988134; @@ -1362,12 +1363,12 @@ L_089880F4: goto L_08988108; } L_08988108: - ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0))); + aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0))); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - ctx.gpr[6] = (ctx.gpr[6] & 2u); - ctx.gpr[6] = (0u < ctx.gpr[6] ? 1u : 0u); + aot_gpr_6 = (aot_gpr_6 & 2u); + aot_gpr_6 = (0u < aot_gpr_6 ? 1u : 0u); ctx.gpr[9] = (ctx.gpr[7] | 0u); - ctx.gpr[6] = (ctx.gpr[6] & 255u); + aot_gpr_6 = (aot_gpr_6 & 255u); ctx.gpr[10] = (0u | 1u); { const bool branch_taken = aot_gpr_5 == ctx.gpr[10]; ctx.gpr[8] = (ctx.gpr[9] | 0u); @@ -1386,14 +1387,14 @@ L_0898812C: } L_08988134: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08988284; } goto L_0898813C; } L_0898813C: - { const bool branch_taken = ctx.gpr[6] == 0u; + { const bool branch_taken = aot_gpr_6 == 0u; // nop if (branch_taken) { goto L_08988178; @@ -1412,16 +1413,16 @@ L_08988144: goto L_08988158; } L_08988158: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(8), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(8), 0u); aot_fpr_12 = std::bit_cast(0u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(12), 0u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(16), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(12), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(16), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08988170u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_08988678; L_08988170: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_08988284; } @@ -1438,10 +1439,10 @@ L_08988178: goto L_08988194; L_08988194: ctx.gpr[11] = (ctx.gpr[10] | 0u); - ctx.gpr[2] = (aot_mem.aot_direct_load16(ctx.gpr[11] + static_cast(8))); + aot_gpr_2 = (aot_mem.aot_direct_load16(ctx.gpr[11] + static_cast(8))); goto L_0898819C; L_0898819C: - ctx.gpr[3] = (ctx.gpr[2] & 65535u); + ctx.gpr[3] = (aot_gpr_2 & 65535u); ctx.set_vfpu_scalar_bits_ct<0u>(ctx.gpr[3]); ctx.execute_vfpu_vh2f_ct<0u, 0u, 1u>(); ctx.gpr[3] = (ctx.vfpu_scalar_bits_ct<0u>()); @@ -1456,7 +1457,7 @@ L_0898819C: goto L_089881C0; } L_089881C0: - ctx.gpr[8] = (ctx.gpr[2] & 65535u); + ctx.gpr[8] = (aot_gpr_2 & 65535u); ctx.set_vfpu_scalar_bits_ct<0u>(ctx.gpr[8]); ctx.execute_vfpu_vh2f_ct<0u, 0u, 1u>(); ctx.gpr[8] = (ctx.vfpu_scalar_bits_ct<0u>()); @@ -1472,7 +1473,7 @@ L_089881C0: goto L_089881E8; } L_089881E8: - ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); + ctx.gpr[8] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(24))); ctx.gpr[8] = (aot_mem.aot_direct_load32(ctx.gpr[8] + static_cast(8))); ctx.gpr[8] = (ctx.gpr[8] & 2u); ctx.gpr[8] = (0u < ctx.gpr[8] ? 1u : 0u); @@ -1485,7 +1486,7 @@ L_089881E8: goto L_08988204; } L_08988204: - { const bool branch_taken = ctx.gpr[6] == 0u; + { const bool branch_taken = aot_gpr_6 == 0u; ctx.gpr[11] = (ctx.gpr[7] - aot_gpr_5); if (branch_taken) { goto L_0898822C; @@ -1502,13 +1503,13 @@ L_0898820C: } L_08988214: aot_gpr_31 = (0x0898821Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_08988678; L_0898821C: aot_fpr_12 = std::bit_cast(0u); - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(16), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(16), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_08988284; } @@ -1519,7 +1520,7 @@ L_0898822C: ctx.gpr[10] = (ctx.gpr[8] + aot_gpr_5); ctx.gpr[11] = (ctx.gpr[10] | 0u); { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load16(ctx.gpr[11] + static_cast(8))); + aot_gpr_2 = (aot_mem.aot_direct_load16(ctx.gpr[11] + static_cast(8))); if (branch_taken) { goto L_0898819C; } @@ -1528,10 +1529,10 @@ L_0898822C: L_08988240: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_5 = (ctx.gpr[10] - aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(8), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(8), aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_4 = (ctx.gpr[8] - aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(12), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(12), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[11] + static_cast(8))); aot_gpr_4 = (aot_gpr_4 & 65535u); ctx.set_vfpu_scalar_bits_ct<0u>(aot_gpr_4); @@ -1539,42 +1540,42 @@ L_08988240: aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<0u>()); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_12 = aot_fpr_12 - aot_fpr_20; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(16), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(16), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08988280u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_08988678; L_08988280: - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); goto L_08988284; L_08988284: { std::uint32_t aot_run_words[3]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(0), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); - aot_gpr_16 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08988298: - aot_gpr_29 = (aot_gpr_29 + static_cast(-96)); - { const std::uint32_t aot_run_words[5]{std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_22), aot_gpr_16, ctx.gpr[17], aot_gpr_31}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(68), aot_run_words); } + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-96)); + { const std::uint32_t aot_run_words[5]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), ctx.gpr[16], ctx.gpr[17], aot_gpr_31}; + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(68), aot_run_words); } aot_fpr_20 = std::bit_cast(std::bit_cast(aot_fpr_12)); - aot_gpr_16 = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); ctx.gpr[17] = (aot_gpr_4 | 0u); aot_gpr_31 = (0x089882C4u); // nop goto L_08988080; L_089882C4: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_fpr_12 = std::bit_cast(0u); { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_12)}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - { const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(0), aot_run_words); } + { const std::uint32_t vfpu_address = ctx.gpr[29] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -1584,11 +1585,11 @@ L_089882C4: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(24))); - aot_fpr_22 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(16))); + ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(16))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(8))); aot_gpr_5 = (aot_gpr_5 & 16u); aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); @@ -1601,10 +1602,10 @@ L_089882C4: goto L_08988300; } L_08988300: - { const float fs = aot_fpr_22; const float ft = aot_fpr_20; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_22 = std::bit_cast(0x7FC00000u); else aot_fpr_22 = fs * ft; } + { const float fs = ctx.fpr[22]; const float ft = aot_fpr_20; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[22] = std::bit_cast(0x7FC00000u); else ctx.fpr[22] = fs * ft; } goto L_08988304; L_08988304: - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_22 <= aot_fpr_12)) ? 0x00800000u : 0u); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[22] <= aot_fpr_12)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -1615,23 +1616,23 @@ L_08988304: } L_08988314: aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0))); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(2)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(2)))))); ctx.gpr[7] = (aot_gpr_5 & 2u); - aot_gpr_5 = (ctx.gpr[6] + static_cast(-1)); - ctx.gpr[6] = (0u < ctx.gpr[7] ? 1u : 0u); - ctx.gpr[6] = (ctx.gpr[6] & 255u); - { const bool branch_taken = ctx.gpr[6] == 0u; - ctx.gpr[6] = (aot_gpr_5 << 3u); + aot_gpr_5 = (aot_gpr_6 + static_cast(-1)); + aot_gpr_6 = (0u < ctx.gpr[7] ? 1u : 0u); + aot_gpr_6 = (aot_gpr_6 & 255u); + { const bool branch_taken = aot_gpr_6 == 0u; + aot_gpr_6 = (aot_gpr_5 << 3u); if (branch_taken) { goto L_08988344; } goto L_08988334; } L_08988334: - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_5 = (aot_gpr_5 << 4u); { const bool branch_taken = 0u == 0u; - aot_gpr_5 = (ctx.gpr[6] + aot_gpr_5); + aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); if (branch_taken) { goto L_08988354; } @@ -1639,8 +1640,8 @@ L_08988334: } L_08988344: ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - ctx.gpr[6] = (aot_gpr_5 + ctx.gpr[6]); - aot_gpr_5 = (aot_gpr_5 + ctx.gpr[6]); + aot_gpr_6 = (aot_gpr_5 + aot_gpr_6); + aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); aot_gpr_5 = (ctx.gpr[7] + aot_gpr_5); goto L_08988354; L_08988354: @@ -1656,15 +1657,15 @@ L_08988354: goto L_0898836C; } L_0898836C: - aot_gpr_4 = (aot_gpr_29 + static_cast(32)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(32)); aot_gpr_31 = (0x08988378u); aot_gpr_5 = (aot_gpr_5 + static_cast(10)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0096_entry, 96u, 946u, 0x08987DD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08988378u) goto L_08988378; AOT_REGCACHE_SYNC_OUT(); return; L_08988378: - aot_gpr_4 = (std::bit_cast(aot_fpr_22)); + aot_gpr_4 = (std::bit_cast(ctx.fpr[22])); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); - { const std::uint32_t vfpu_address = ctx.gpr[2] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_2 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -1674,7 +1675,7 @@ L_08988378: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); - aot_gpr_4 = (aot_gpr_29 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(16)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; @@ -1689,7 +1690,7 @@ L_08988378: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(24))); @@ -1705,42 +1706,42 @@ L_08988378: goto L_089883B4; } L_089883B4: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), std::bit_cast(aot_fpr_12)); goto L_089883C0; L_089883C0: { std::uint32_t aot_run_words[5]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(68), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(68), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); - aot_fpr_22 = std::bit_cast(aot_run_words[1]); - aot_gpr_16 = aot_run_words[2]; + ctx.fpr[22] = std::bit_cast(aot_run_words[1]); + ctx.gpr[16] = aot_run_words[2]; ctx.gpr[17] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(96)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(96)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_089883DC: - aot_gpr_29 = (aot_gpr_29 + static_cast(-192)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(136), std::bit_cast(aot_fpr_22)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(144), ctx.gpr[17]); - aot_fpr_22 = std::bit_cast(std::bit_cast(aot_fpr_12)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-192)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(136), std::bit_cast(ctx.fpr[22])); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(144), ctx.gpr[17]); + ctx.fpr[22] = std::bit_cast(std::bit_cast(aot_fpr_12)); ctx.gpr[17] = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(132), std::bit_cast(aot_fpr_20)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(140), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(132), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(140), ctx.gpr[16]); { const std::uint32_t aot_run_words[8]{ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(148), aot_run_words); } + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(148), aot_run_words); } aot_gpr_31 = (0x08988420u); - aot_gpr_16 = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); goto L_08988080; L_08988420: aot_fpr_12 = std::bit_cast(0u); { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_12)}; - aot_mem.aot_direct_store32_block(aot_gpr_16 + static_cast(0), aot_run_words); } + aot_mem.aot_direct_store32_block(ctx.gpr[16] + static_cast(0), aot_run_words); } aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(24))); aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(16))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(8))); @@ -1748,14 +1749,14 @@ L_08988420: aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); aot_gpr_5 = (aot_gpr_5 & 255u); { const bool branch_taken = aot_gpr_5 != 0u; - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (branch_taken) { goto L_08988454; } goto L_08988450; } L_08988450: - { const float fs = aot_fpr_20; const float ft = aot_fpr_22; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_20 = std::bit_cast(0x7FC00000u); else aot_fpr_20 = fs * ft; } + { const float fs = aot_fpr_20; const float ft = ctx.fpr[22]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_20 = std::bit_cast(0x7FC00000u); else aot_fpr_20 = fs * ft; } goto L_08988454; L_08988454: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_20 <= aot_fpr_12)) ? 0x00800000u : 0u); @@ -1778,8 +1779,8 @@ L_08988464: ctx.set_vfpu_scalar_bits_ct<0u>(aot_gpr_5); ctx.execute_vfpu_vh2f_ct<0u, 0u, 1u>(); aot_gpr_5 = (ctx.vfpu_scalar_bits_ct<0u>()); - aot_fpr_22 = std::bit_cast(aot_gpr_5); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_22) || std::isnan(aot_fpr_12)) && aot_fpr_22 == aot_fpr_12)) ? 0x00800000u : 0u); + ctx.fpr[22] = std::bit_cast(aot_gpr_5); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(ctx.fpr[22]) || std::isnan(aot_fpr_12)) && ctx.fpr[22] == aot_fpr_12)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -1790,8 +1791,8 @@ L_08988464: } L_089884A0: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(16))); - aot_fpr_12 = aot_fpr_22 - aot_fpr_12; - aot_fpr_22 = aot_fpr_12 / aot_fpr_22; + aot_fpr_12 = ctx.fpr[22] - aot_fpr_12; + ctx.fpr[22] = aot_fpr_12 / ctx.fpr[22]; { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { @@ -1800,7 +1801,7 @@ L_089884A0: goto L_089884B4; } L_089884B4: - aot_fpr_22 = std::bit_cast(std::bit_cast(aot_fpr_12)); + ctx.fpr[22] = std::bit_cast(std::bit_cast(aot_fpr_12)); goto L_089884B8; L_089884B8: aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0))); @@ -1815,55 +1816,55 @@ L_089884B8: goto L_089884D0; } L_089884D0: - ctx.gpr[21] = (aot_gpr_29 + static_cast(80)); + ctx.gpr[21] = (ctx.gpr[29] + static_cast(80)); aot_gpr_5 = (ctx.gpr[18] + static_cast(10)); ctx.gpr[22] = (ctx.gpr[19] + static_cast(10)); aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x089884E8u); - ctx.gpr[6] = (ctx.gpr[22] | 0u); + aot_gpr_6 = (ctx.gpr[22] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0096_entry, 96u, 945u, 0x08987D6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089884E8u) goto L_089884E8; AOT_REGCACHE_SYNC_OUT(); return; L_089884E8: - ctx.gpr[23] = (aot_gpr_29 + static_cast(82)); + ctx.gpr[23] = (ctx.gpr[29] + static_cast(82)); aot_gpr_5 = (ctx.gpr[18] + static_cast(12)); - ctx.gpr[6] = (ctx.gpr[19] + static_cast(12)); + aot_gpr_6 = (ctx.gpr[19] + static_cast(12)); aot_gpr_31 = (0x089884FCu); aot_gpr_4 = (ctx.gpr[23] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0096_entry, 96u, 945u, 0x08987D6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089884FCu) goto L_089884FC; AOT_REGCACHE_SYNC_OUT(); return; L_089884FC: - ctx.gpr[30] = (aot_gpr_29 + static_cast(84)); + ctx.gpr[30] = (ctx.gpr[29] + static_cast(84)); aot_gpr_5 = (ctx.gpr[18] + static_cast(14)); - ctx.gpr[6] = (ctx.gpr[19] + static_cast(14)); + aot_gpr_6 = (ctx.gpr[19] + static_cast(14)); aot_gpr_31 = (0x08988510u); aot_gpr_4 = (ctx.gpr[30] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0096_entry, 96u, 945u, 0x08987D6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08988510u) goto L_08988510; AOT_REGCACHE_SYNC_OUT(); return; L_08988510: aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[21] + static_cast(0))); - aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(0), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store16(ctx.gpr[29] + static_cast(0), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[23] + static_cast(0))); - aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(2), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store16(ctx.gpr[29] + static_cast(2), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[30] + static_cast(0))); - aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(4), static_cast(aot_gpr_4)); - ctx.gpr[20] = (aot_mem.aot_direct_load_word_right(aot_gpr_29 + static_cast(0), ctx.gpr[20])); - ctx.gpr[20] = (aot_mem.aot_direct_load_word_left(aot_gpr_29 + static_cast(3), ctx.gpr[20])); - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(4))); + aot_mem.aot_direct_store16(ctx.gpr[29] + static_cast(4), static_cast(aot_gpr_4)); + ctx.gpr[20] = (aot_mem.aot_direct_load_word_right(ctx.gpr[29] + static_cast(0), ctx.gpr[20])); + ctx.gpr[20] = (aot_mem.aot_direct_load_word_left(ctx.gpr[29] + static_cast(3), ctx.gpr[20])); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[29] + static_cast(4))); ctx.set_vfpu_scalar_bits_ct<0u>(ctx.gpr[20]); ctx.set_vfpu_scalar_bits_ct<32u>(aot_gpr_4); ctx.execute_vfpu_vh2f_ct<1u, 0u, 2u>(); - ctx.gpr[18] = (aot_gpr_29 + static_cast(64)); + ctx.gpr[18] = (ctx.gpr[29] + static_cast(64)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<1u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_4 = (aot_gpr_29 + static_cast(32)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(32)); aot_gpr_31 = (0x08988554u); aot_gpr_5 = (ctx.gpr[22] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0096_entry, 96u, 946u, 0x08987DD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08988554u) goto L_08988554; AOT_REGCACHE_SYNC_OUT(); return; L_08988554: - aot_gpr_4 = (std::bit_cast(aot_fpr_22)); + aot_gpr_4 = (std::bit_cast(ctx.fpr[22])); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); { const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); std::uint32_t vfpu_words[4]{}; @@ -1875,12 +1876,12 @@ L_08988554: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); - aot_gpr_4 = (aot_gpr_29 + static_cast(48)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(48)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - { const std::uint32_t vfpu_address = ctx.gpr[2] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_2 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -1899,7 +1900,7 @@ L_08988554: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 0u>(); - aot_gpr_4 = (aot_gpr_29 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(16)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; @@ -1914,12 +1915,12 @@ L_08988554: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (std::bit_cast(aot_fpr_20)); ctx.set_vfpu_scalar_bits_ct<1u>(aot_gpr_4); - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -1930,7 +1931,7 @@ L_08988554: ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 1u, 3u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(24))); @@ -1946,16 +1947,16 @@ L_08988554: goto L_089885B8; } L_089885B8: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), std::bit_cast(aot_fpr_12)); goto L_089885C4; L_089885C4: { std::uint32_t aot_run_words[12]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(132), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(132), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); - aot_fpr_22 = std::bit_cast(aot_run_words[1]); - aot_gpr_16 = aot_run_words[2]; + ctx.fpr[22] = std::bit_cast(aot_run_words[1]); + ctx.gpr[16] = aot_run_words[2]; ctx.gpr[17] = aot_run_words[3]; ctx.gpr[18] = aot_run_words[4]; ctx.gpr[19] = aot_run_words[5]; @@ -1967,22 +1968,22 @@ L_089885C4: aot_gpr_31 = aot_run_words[11]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(192)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(192)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_089885FC: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(24))); - ctx.gpr[8] = (ctx.gpr[6] | 0u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(8))); - ctx.gpr[6] = (ctx.gpr[6] & 32768u); - ctx.gpr[6] = (0u < ctx.gpr[6] ? 1u : 0u); - ctx.gpr[9] = (ctx.gpr[6] & 255u); + ctx.gpr[8] = (aot_gpr_6 | 0u); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(8))); + aot_gpr_6 = (aot_gpr_6 & 32768u); + aot_gpr_6 = (0u < aot_gpr_6 ? 1u : 0u); + ctx.gpr[9] = (aot_gpr_6 & 255u); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); - ctx.gpr[6] = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); + aot_gpr_6 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), aot_gpr_31); { const bool branch_taken = ctx.gpr[9] == 0u; aot_gpr_4 = (ctx.gpr[8] | 0u); if (branch_taken) { @@ -2002,9 +2003,9 @@ L_0898862C: } L_0898863C: ctx.gpr[8] = (aot_gpr_4 | 0u); - aot_gpr_4 = (ctx.gpr[6] | 0u); + aot_gpr_4 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x0898864Cu); - ctx.gpr[6] = (ctx.gpr[8] | 0u); + aot_gpr_6 = (ctx.gpr[8] | 0u); goto L_08988848; L_0898864C: { const bool branch_taken = 0u == 0u; @@ -2016,31 +2017,31 @@ L_0898864C: } L_08988654: ctx.gpr[7] = (aot_gpr_4 | 0u); - ctx.gpr[8] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(28))); - aot_gpr_4 = (ctx.gpr[6] | 0u); - ctx.gpr[6] = (ctx.gpr[7] | 0u); + ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(28))); + aot_gpr_4 = (aot_gpr_6 | 0u); + aot_gpr_6 = (ctx.gpr[7] | 0u); aot_gpr_31 = (0x0898866Cu); ctx.gpr[7] = (ctx.gpr[8] | 0u); goto L_08988AB8; L_0898866C: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08988678: - aot_gpr_29 = (aot_gpr_29 + static_cast(-80)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-80)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(24))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(64), ctx.gpr[16]); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(8))); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_5 & 32768u); aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); { const std::uint32_t aot_run_words[3]{ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(68), aot_run_words); } + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(68), aot_run_words); } { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -2049,7 +2050,7 @@ L_08988678: goto L_089886AC; } L_089886AC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(28))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(28))); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0))); aot_gpr_5 = (aot_gpr_5 & 1u); aot_gpr_5 = (aot_gpr_5 & 255u); @@ -2062,28 +2063,28 @@ L_089886AC: } L_089886C4: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(12))); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); - ctx.gpr[6] = (aot_gpr_5 + ctx.gpr[6]); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(12))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(8))); + aot_gpr_6 = (aot_gpr_5 + aot_gpr_6); ctx.gpr[17] = (aot_gpr_5 + ctx.gpr[7]); aot_gpr_31 = (0x089886E0u); - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0125_entry, 125u, 514u, 0x089FB44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089886E0u) goto L_089886E0; AOT_REGCACHE_SYNC_OUT(); return; L_089886E0: - ctx.gpr[18] = (aot_gpr_29 + static_cast(16)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(28))); + ctx.gpr[18] = (ctx.gpr[29] + static_cast(16)); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(28))); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x089886F4u); - ctx.gpr[6] = (ctx.gpr[17] | 0u); + aot_gpr_6 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0125_entry, 125u, 514u, 0x089FB44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089886F4u) goto L_089886F4; AOT_REGCACHE_SYNC_OUT(); return; L_089886F4: - ctx.gpr[7] = (aot_gpr_16 + static_cast(4)); - aot_gpr_4 = (aot_gpr_29 | 0u); + ctx.gpr[7] = (ctx.gpr[16] + static_cast(4)); + aot_gpr_4 = (ctx.gpr[29] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08988708u); - ctx.gpr[6] = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0096_entry, 96u, 936u, 0x08987C88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08988708u) goto L_08988708; AOT_REGCACHE_SYNC_OUT(); return; L_08988708: @@ -2095,7 +2096,7 @@ L_08988708: goto L_08988710; } L_08988710: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(20))); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0))); aot_gpr_5 = (aot_gpr_5 & 1u); aot_gpr_5 = (aot_gpr_5 & 255u); @@ -2108,10 +2109,10 @@ L_08988710: } L_08988728: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(12))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(12))); aot_gpr_5 = (aot_gpr_4 + aot_gpr_5); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); - ctx.gpr[6] = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(8))); + aot_gpr_6 = (aot_gpr_4 + aot_gpr_6); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0))); aot_gpr_4 = (aot_gpr_4 & 65535u); ctx.set_vfpu_scalar_bits_ct<0u>(aot_gpr_4); @@ -2129,67 +2130,67 @@ L_08988728: ctx.set_vfpu_scalar_bits_ct<0u>(aot_gpr_4); ctx.execute_vfpu_vh2f_ct<0u, 0u, 1u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<0u>()); - ctx.fpr[14] = std::bit_cast(aot_gpr_4); + aot_fpr_14 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(6))); aot_gpr_4 = (aot_gpr_4 & 65535u); ctx.set_vfpu_scalar_bits_ct<0u>(aot_gpr_4); ctx.execute_vfpu_vh2f_ct<0u, 0u, 1u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<0u>()); ctx.fpr[15] = std::bit_cast(aot_gpr_4); - { const std::uint32_t aot_run_words[4]{std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_13), std::bit_cast(ctx.fpr[14]), std::bit_cast(ctx.fpr[15])}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(32), aot_run_words); } - aot_gpr_4 = (aot_gpr_29 + static_cast(32)); - aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[6] + static_cast(0))); + { const std::uint32_t aot_run_words[4]{std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_13), std::bit_cast(aot_fpr_14), std::bit_cast(ctx.fpr[15])}; + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(32), aot_run_words); } + aot_gpr_4 = (ctx.gpr[29] + static_cast(32)); + aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(0))); aot_gpr_5 = (aot_gpr_5 & 65535u); ctx.set_vfpu_scalar_bits_ct<0u>(aot_gpr_5); ctx.execute_vfpu_vh2f_ct<0u, 0u, 1u>(); aot_gpr_5 = (ctx.vfpu_scalar_bits_ct<0u>()); aot_fpr_12 = std::bit_cast(aot_gpr_5); - aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[6] + static_cast(2))); + aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(2))); aot_gpr_5 = (aot_gpr_5 & 65535u); ctx.set_vfpu_scalar_bits_ct<0u>(aot_gpr_5); ctx.execute_vfpu_vh2f_ct<0u, 0u, 1u>(); aot_gpr_5 = (ctx.vfpu_scalar_bits_ct<0u>()); aot_fpr_13 = std::bit_cast(aot_gpr_5); - aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[6] + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(4))); aot_gpr_5 = (aot_gpr_5 & 65535u); ctx.set_vfpu_scalar_bits_ct<0u>(aot_gpr_5); ctx.execute_vfpu_vh2f_ct<0u, 0u, 1u>(); aot_gpr_5 = (ctx.vfpu_scalar_bits_ct<0u>()); - ctx.fpr[14] = std::bit_cast(aot_gpr_5); - aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[6] + static_cast(6))); + aot_fpr_14 = std::bit_cast(aot_gpr_5); + aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(6))); aot_gpr_5 = (aot_gpr_5 & 65535u); ctx.set_vfpu_scalar_bits_ct<0u>(aot_gpr_5); ctx.execute_vfpu_vh2f_ct<0u, 0u, 1u>(); aot_gpr_5 = (ctx.vfpu_scalar_bits_ct<0u>()); ctx.fpr[15] = std::bit_cast(aot_gpr_5); - { const std::uint32_t aot_run_words[4]{std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_13), std::bit_cast(ctx.fpr[14]), std::bit_cast(ctx.fpr[15])}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(48), aot_run_words); } - aot_gpr_5 = (aot_gpr_29 + static_cast(48)); - ctx.gpr[7] = (aot_gpr_16 + static_cast(4)); + { const std::uint32_t aot_run_words[4]{std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_13), std::bit_cast(aot_fpr_14), std::bit_cast(ctx.fpr[15])}; + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(48), aot_run_words); } + aot_gpr_5 = (ctx.gpr[29] + static_cast(48)); + ctx.gpr[7] = (ctx.gpr[16] + static_cast(4)); aot_gpr_31 = (0x08988830u); - ctx.gpr[6] = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0096_entry, 96u, 936u, 0x08987C88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08988830u) goto L_08988830; AOT_REGCACHE_SYNC_OUT(); return; L_08988830: { std::uint32_t aot_run_words[4]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(64), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(64), aot_run_words); + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(80)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(80)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08988848: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - ctx.set_vfpu_scalar_bits_ct<24u>(aot_gpr_16); - ctx.gpr[2] = (0u + static_cast(0)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), ctx.gpr[16]); + ctx.set_vfpu_scalar_bits_ct<24u>(ctx.gpr[16]); + aot_gpr_2 = (0u + static_cast(0)); { float vfpu_value[4]{}; ctx.write_vfpu_vector_with_destination_prefix_ct<28u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<28u, 4u>(vfpu_value); @@ -2197,7 +2198,7 @@ L_08988848: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<28u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } ctx.gpr[12] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); @@ -2237,21 +2238,21 @@ L_089888A4: } L_089888B4: if (ctx.gpr[8] == 0u) { - aot_gpr_16 = (0u + static_cast(10)); + ctx.gpr[16] = (0u + static_cast(10)); goto L_089888C0; } goto L_089888BC; L_089888BC: - aot_gpr_16 = (0u + static_cast(16)); + ctx.gpr[16] = (0u + static_cast(16)); goto L_089888C0; L_089888C0: - { const std::int64_t product = static_cast(static_cast(ctx.gpr[14])) * static_cast(static_cast(aot_gpr_16)); ctx.lo = static_cast(product); ctx.hi = static_cast(static_cast(product) >> 32u); } + { const std::int64_t product = static_cast(static_cast(ctx.gpr[14])) * static_cast(static_cast(ctx.gpr[16])); ctx.lo = static_cast(product); ctx.hi = static_cast(static_cast(product) >> 32u); } ctx.gpr[14] = (ctx.lo); ctx.gpr[14] = (ctx.gpr[14] + ctx.gpr[13]); ctx.gpr[15] = (ctx.gpr[12] | 0u); goto L_089888D0; L_089888D0: - ctx.gpr[12] = (ctx.gpr[12] + aot_gpr_16); + ctx.gpr[12] = (ctx.gpr[12] + ctx.gpr[16]); if (ctx.gpr[12] != ctx.gpr[14]) { ctx.gpr[8] = (aot_mem.aot_direct_load_word_right(ctx.gpr[12] + static_cast(8), ctx.gpr[8])); goto L_08988900; @@ -2268,7 +2269,7 @@ L_089888E8: ctx.execute_vfpu_unary_ct<0u, 28u, 1u, 0u>(); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(16), ctx.vfpu_scalar_bits_ct<28u>()); { const bool branch_taken = 0u == 0u; - ctx.gpr[12] = (ctx.gpr[12] - aot_gpr_16); + ctx.gpr[12] = (ctx.gpr[12] - ctx.gpr[16]); if (branch_taken) { goto L_08988988; } @@ -2276,7 +2277,7 @@ L_089888E8: } L_089888F8: ctx.gpr[12] = (ctx.gpr[13] | 0u); - ctx.gpr[2] = (0u + static_cast(1)); + aot_gpr_2 = (0u + static_cast(1)); goto L_08988900; L_08988900: ctx.gpr[8] = (aot_mem.aot_direct_load_word_left(ctx.gpr[12] + static_cast(11), ctx.gpr[8])); @@ -2454,24 +2455,24 @@ L_08988A64: L_08988AA0: ctx.execute_vfpu_vscl_ct<1u, 1u, 12u, 4u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<1u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } goto L_08988AA8; L_08988AA8: - aot_gpr_16 = (ctx.vfpu_scalar_bits_ct<24u>()); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[16] = (ctx.vfpu_scalar_bits_ct<24u>()); + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08988AB8: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - ctx.set_vfpu_scalar_bits_ct<24u>(aot_gpr_16); - ctx.gpr[2] = (0u + static_cast(0)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), ctx.gpr[16]); + ctx.set_vfpu_scalar_bits_ct<24u>(ctx.gpr[16]); + aot_gpr_2 = (0u + static_cast(0)); { float vfpu_value[4]{}; ctx.write_vfpu_vector_with_destination_prefix_ct<28u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<28u, 4u>(vfpu_value); @@ -2479,7 +2480,7 @@ L_08988AB8: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<28u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } ctx.gpr[12] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); @@ -2521,21 +2522,21 @@ L_08988B1C: } L_08988B2C: if (ctx.gpr[8] == 0u) { - aot_gpr_16 = (0u + static_cast(10)); + ctx.gpr[16] = (0u + static_cast(10)); goto L_08988B38; } goto L_08988B34; L_08988B34: - aot_gpr_16 = (0u + static_cast(16)); + ctx.gpr[16] = (0u + static_cast(16)); goto L_08988B38; L_08988B38: - { const std::int64_t product = static_cast(static_cast(ctx.gpr[14])) * static_cast(static_cast(aot_gpr_16)); ctx.lo = static_cast(product); ctx.hi = static_cast(static_cast(product) >> 32u); } + { const std::int64_t product = static_cast(static_cast(ctx.gpr[14])) * static_cast(static_cast(ctx.gpr[16])); ctx.lo = static_cast(product); ctx.hi = static_cast(static_cast(product) >> 32u); } ctx.gpr[14] = (ctx.lo); ctx.gpr[14] = (ctx.gpr[14] + ctx.gpr[13]); ctx.gpr[15] = (ctx.gpr[12] | 0u); goto L_08988B48; L_08988B48: - ctx.gpr[12] = (ctx.gpr[12] + aot_gpr_16); + ctx.gpr[12] = (ctx.gpr[12] + ctx.gpr[16]); if (ctx.gpr[12] != ctx.gpr[14]) { ctx.gpr[8] = (aot_mem.aot_direct_load_word_right(ctx.gpr[12] + static_cast(8), ctx.gpr[8])); goto L_08988B78; @@ -2552,7 +2553,7 @@ L_08988B60: ctx.execute_vfpu_unary_ct<0u, 28u, 1u, 0u>(); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(16), ctx.vfpu_scalar_bits_ct<28u>()); { const bool branch_taken = 0u == 0u; - ctx.gpr[12] = (ctx.gpr[12] - aot_gpr_16); + ctx.gpr[12] = (ctx.gpr[12] - ctx.gpr[16]); if (branch_taken) { goto L_08988C00; } @@ -2560,7 +2561,7 @@ L_08988B60: } L_08988B70: ctx.gpr[12] = (ctx.gpr[13] | 0u); - ctx.gpr[2] = (0u + static_cast(1)); + aot_gpr_2 = (0u + static_cast(1)); goto L_08988B78; L_08988B78: ctx.gpr[8] = (aot_mem.aot_direct_load_word_left(ctx.gpr[12] + static_cast(11), ctx.gpr[8])); @@ -2721,13 +2722,13 @@ L_08988CB4: } L_08988CE0: ctx.execute_vfpu_unary_ct<3u, 1u, 4u, 0u>(); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08988CF0u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0096_entry, 96u, 947u, 0x08987DF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08988CF0u) goto L_08988CF0; AOT_REGCACHE_SYNC_OUT(); return; L_08988CF0: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(8))); ctx.execute_vfpu_unary_ct<1u, 3u, 4u, 0u>(); goto L_08988CF8; L_08988CF8: @@ -2739,13 +2740,13 @@ L_08988CF8: ctx.set_vfpu_scalar_bits_ct<96u>(ctx.gpr[9]); ctx.execute_vfpu_vh2f_ct<2u, 64u, 2u>(); ctx.execute_vfpu_unary_ct<3u, 2u, 4u, 0u>(); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08988D24u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0096_entry, 96u, 947u, 0x08987DF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08988D24u) goto L_08988D24; AOT_REGCACHE_SYNC_OUT(); return; L_08988D24: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(8))); ctx.execute_vfpu_unary_ct<2u, 3u, 4u, 0u>(); ctx.execute_vfpu_vocp_ct<52u, 20u, 1u>(); ctx.execute_vfpu_vec3_ct<4u, 16u, 20u, 1u, 2u>(); @@ -2757,15 +2758,15 @@ L_08988D24: ctx.execute_vfpu_vec3_ct<1u, 1u, 2u, 4u, 0u>(); ctx.execute_vfpu_vscl_ct<1u, 1u, 12u, 4u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<1u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } goto L_08988D54; L_08988D54: - aot_gpr_16 = (ctx.vfpu_scalar_bits_ct<24u>()); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[16] = (ctx.vfpu_scalar_bits_ct<24u>()); + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -2773,9 +2774,9 @@ L_08988D54: L_08988D64: ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-15976))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[8] + static_cast(8))); - ctx.gpr[6] = (aot_gpr_4 + static_cast(-1)); + aot_gpr_6 = (aot_gpr_4 + static_cast(-1)); { const bool branch_taken = aot_gpr_4 == 0u; - ctx.gpr[7] = (ctx.gpr[6] | 0u); + ctx.gpr[7] = (aot_gpr_6 | 0u); if (branch_taken) { goto L_08988DFC; } @@ -2783,11 +2784,11 @@ L_08988D64: } L_08988D78: aot_gpr_4 = (0u + static_cast(3344)); - { const std::int64_t product = static_cast(static_cast(ctx.gpr[6])) * static_cast(static_cast(aot_gpr_4)); ctx.lo = static_cast(product); ctx.hi = static_cast(static_cast(product) >> 32u); } + { const std::int64_t product = static_cast(static_cast(aot_gpr_6)) * static_cast(static_cast(aot_gpr_4)); ctx.lo = static_cast(product); ctx.hi = static_cast(static_cast(product) >> 32u); } aot_gpr_5 = (ctx.lo); goto L_08988D84; L_08988D84: - { const bool branch_taken = static_cast(ctx.gpr[6]) < 0; + { const bool branch_taken = static_cast(aot_gpr_6) < 0; // nop if (branch_taken) { goto L_08988D9C; @@ -2796,7 +2797,7 @@ L_08988D84: } L_08988D8C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[8] + static_cast(8))); - aot_gpr_4 = (static_cast(ctx.gpr[6]) < static_cast(aot_gpr_4) ? 1u : 0u); + aot_gpr_4 = (static_cast(aot_gpr_6) < static_cast(aot_gpr_4) ? 1u : 0u); if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[8] + static_cast(4))); goto L_08988DA4; @@ -2811,7 +2812,7 @@ L_08988D9C: goto L_08988DA4; } L_08988DA4: - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0))); aot_gpr_4 = (aot_gpr_4 & 128u); if (aot_gpr_4 == 0u) { @@ -2848,9 +2849,9 @@ L_08988DCC: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(684), ctx.gpr[9]); goto L_08988DE8; L_08988DE8: - aot_gpr_4 = (ctx.gpr[6] | 0u); - ctx.gpr[6] = (ctx.gpr[7] + static_cast(-1)); - ctx.gpr[7] = (ctx.gpr[6] | 0u); + aot_gpr_4 = (aot_gpr_6 | 0u); + aot_gpr_6 = (ctx.gpr[7] + static_cast(-1)); + ctx.gpr[7] = (aot_gpr_6 | 0u); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-3344)); if (branch_taken) { @@ -2866,15 +2867,15 @@ L_08988DFC: ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08988E04: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); + { const std::uint32_t aot_run_words[4]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(0), aot_run_words); } aot_gpr_31 = (0x08988E20u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 562u, 0x08A363C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08988E20u) goto L_08988E20; AOT_REGCACHE_SYNC_OUT(); return; L_08988E20: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08988E3C; @@ -2929,8 +2930,8 @@ L_08988E58: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08988E64u) goto L_08988E64; AOT_REGCACHE_SYNC_OUT(); return; L_08988E64: - aot_gpr_16 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08988E7C; @@ -2939,11 +2940,11 @@ L_08988E64: } L_08988E70: aot_gpr_31 = (0x08988E78u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08988E78u) goto L_08988E78; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08988E78u) goto L_08988E78; AOT_REGCACHE_SYNC_OUT(); return; L_08988E78: - ctx.gpr[17] = (aot_gpr_16 | 0u); + ctx.gpr[17] = (ctx.gpr[16] | 0u); goto L_08988E7C; L_08988E7C: aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); @@ -2956,9 +2957,9 @@ L_08988E80: AOT_REGCACHE_SYNC_OUT(); return; L_08988E8C: aot_gpr_4 = (ctx.gpr[18] | 0u); - aot_gpr_16 = (0u | 1u); - aot_gpr_5 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (0u | 1u); + ctx.gpr[16] = (0u | 1u); + aot_gpr_5 = (aot_gpr_2 | 0u); + aot_gpr_6 = (0u | 1u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x08988EA8u); ctx.gpr[8] = (0u | 1u); @@ -2968,63 +2969,63 @@ L_08988EA8: aot_gpr_4 = (0u | 331u); aot_gpr_5 = (0u | 1u); aot_gpr_31 = (0x08988EB8u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 546u, 0x08AD3258u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08988EB8u) goto L_08988EB8; AOT_REGCACHE_SYNC_OUT(); return; L_08988EB8: aot_gpr_4 = (0u | 335u); aot_gpr_5 = (0u | 1u); aot_gpr_31 = (0x08988EC8u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 546u, 0x08AD3258u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08988EC8u) goto L_08988EC8; AOT_REGCACHE_SYNC_OUT(); return; L_08988EC8: aot_gpr_4 = (0u | 344u); aot_gpr_5 = (0u | 1u); aot_gpr_31 = (0x08988ED8u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 546u, 0x08AD3258u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08988ED8u) goto L_08988ED8; AOT_REGCACHE_SYNC_OUT(); return; L_08988ED8: aot_gpr_4 = (0u | 346u); aot_gpr_5 = (0u | 1u); aot_gpr_31 = (0x08988EE8u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 546u, 0x08AD3258u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08988EE8u) goto L_08988EE8; AOT_REGCACHE_SYNC_OUT(); return; L_08988EE8: aot_gpr_4 = (0u | 349u); aot_gpr_5 = (0u | 1u); aot_gpr_31 = (0x08988EF8u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 546u, 0x08AD3258u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08988EF8u) goto L_08988EF8; AOT_REGCACHE_SYNC_OUT(); return; L_08988EF8: aot_gpr_4 = (0u | 353u); aot_gpr_5 = (0u | 1u); aot_gpr_31 = (0x08988F08u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 546u, 0x08AD3258u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08988F08u) goto L_08988F08; AOT_REGCACHE_SYNC_OUT(); return; L_08988F08: aot_gpr_4 = (0u | 348u); aot_gpr_5 = (0u | 1u); aot_gpr_31 = (0x08988F18u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 546u, 0x08AD3258u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08988F18u) goto L_08988F18; AOT_REGCACHE_SYNC_OUT(); return; L_08988F18: aot_gpr_4 = (0u | 357u); aot_gpr_5 = (0u | 1u); aot_gpr_31 = (0x08988F28u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 546u, 0x08AD3258u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08988F28u) goto L_08988F28; AOT_REGCACHE_SYNC_OUT(); return; L_08988F28: aot_gpr_4 = (0u | 360u); aot_gpr_5 = (0u | 1u); aot_gpr_31 = (0x08988F38u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 546u, 0x08AD3258u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08988F38u) goto L_08988F38; AOT_REGCACHE_SYNC_OUT(); return; L_08988F38: @@ -3038,9 +3039,9 @@ L_08988F40: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08988F48u) goto L_08988F48; AOT_REGCACHE_SYNC_OUT(); return; L_08988F48: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 1u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_gpr_31 = (0x08988F5Cu); ctx.gpr[7] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0069_entry, 69u, 600u, 0x0891B7DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08988F5Cu) goto L_08988F5C; @@ -3051,9 +3052,9 @@ L_08988F5C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08988F64u) goto L_08988F64; AOT_REGCACHE_SYNC_OUT(); return; L_08988F64: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 5u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_gpr_31 = (0x08988F78u); ctx.gpr[7] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0069_entry, 69u, 600u, 0x0891B7DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08988F78u) goto L_08988F78; @@ -3064,9 +3065,9 @@ L_08988F78: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08988F80u) goto L_08988F80; AOT_REGCACHE_SYNC_OUT(); return; L_08988F80: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 17u); - ctx.gpr[6] = (0u | 10u); + aot_gpr_6 = (0u | 10u); aot_gpr_31 = (0x08988F94u); ctx.gpr[7] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0069_entry, 69u, 600u, 0x0891B7DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08988F94u) goto L_08988F94; @@ -3077,9 +3078,9 @@ L_08988F94: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08988F9Cu) goto L_08988F9C; AOT_REGCACHE_SYNC_OUT(); return; L_08988F9C: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 19u); - ctx.gpr[6] = (0u | 100u); + aot_gpr_6 = (0u | 100u); aot_gpr_31 = (0x08988FB0u); ctx.gpr[7] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0069_entry, 69u, 600u, 0x0891B7DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08988FB0u) goto L_08988FB0; @@ -3090,9 +3091,9 @@ L_08988FB0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08988FB8u) goto L_08988FB8; AOT_REGCACHE_SYNC_OUT(); return; L_08988FB8: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 21u); - ctx.gpr[6] = (0u | 50u); + aot_gpr_6 = (0u | 50u); aot_gpr_31 = (0x08988FCCu); ctx.gpr[7] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0069_entry, 69u, 600u, 0x0891B7DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08988FCCu) goto L_08988FCC; @@ -3103,9 +3104,9 @@ L_08988FCC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08988FD4u) goto L_08988FD4; AOT_REGCACHE_SYNC_OUT(); return; L_08988FD4: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 24u); - ctx.gpr[6] = (0u | 150u); + aot_gpr_6 = (0u | 150u); aot_gpr_31 = (0x08988FE8u); ctx.gpr[7] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0069_entry, 69u, 600u, 0x0891B7DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08988FE8u) goto L_08988FE8; @@ -3116,9 +3117,9 @@ L_08988FE8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08988FF0u) goto L_08988FF0; AOT_REGCACHE_SYNC_OUT(); return; L_08988FF0: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 29u); - ctx.gpr[6] = (0u | 120u); + aot_gpr_6 = (0u | 120u); aot_gpr_31 = (0x08989004u); ctx.gpr[7] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0069_entry, 69u, 600u, 0x0891B7DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08989004u) goto L_08989004; @@ -3129,9 +3130,9 @@ L_08989004: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898900Cu) goto L_0898900C; AOT_REGCACHE_SYNC_OUT(); return; L_0898900C: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 30u); - ctx.gpr[6] = (0u | 25u); + aot_gpr_6 = (0u | 25u); aot_gpr_31 = (0x08989020u); ctx.gpr[7] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0069_entry, 69u, 600u, 0x0891B7DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08989020u) goto L_08989020; @@ -3142,9 +3143,9 @@ L_08989020: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08989028u) goto L_08989028; AOT_REGCACHE_SYNC_OUT(); return; L_08989028: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 33u); - ctx.gpr[6] = (0u | 250u); + aot_gpr_6 = (0u | 250u); aot_gpr_31 = (0x0898903Cu); ctx.gpr[7] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0069_entry, 69u, 600u, 0x0891B7DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898903Cu) goto L_0898903C; @@ -3196,34 +3197,34 @@ L_0898907C: AOT_REGCACHE_SYNC_OUT(); return; L_08989084: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(9288))); - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-16130), static_cast(aot_gpr_16)); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-16130), static_cast(ctx.gpr[16])); aot_gpr_4 = (aot_gpr_4 + static_cast(1000)); aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(9288), aot_gpr_4); goto L_08989094; L_08989094: { std::uint32_t aot_run_words[4]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(0), aot_run_words); + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_089890AC: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); + { const std::uint32_t aot_run_words[4]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(0), aot_run_words); } aot_gpr_31 = (0x089890C8u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 562u, 0x08A363C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089890C8u) goto L_089890C8; AOT_REGCACHE_SYNC_OUT(); return; L_089890C8: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_089890E4; @@ -3278,8 +3279,8 @@ L_08989100: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898910Cu) goto L_0898910C; AOT_REGCACHE_SYNC_OUT(); return; L_0898910C: - aot_gpr_16 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08989124; @@ -3288,11 +3289,11 @@ L_0898910C: } L_08989118: aot_gpr_31 = (0x08989120u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08989120u) goto L_08989120; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08989120u) goto L_08989120; AOT_REGCACHE_SYNC_OUT(); return; L_08989120: - ctx.gpr[17] = (aot_gpr_16 | 0u); + ctx.gpr[17] = (ctx.gpr[16] | 0u); goto L_08989124; L_08989124: aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); @@ -3305,9 +3306,9 @@ L_08989128: AOT_REGCACHE_SYNC_OUT(); return; L_08989134: aot_gpr_4 = (ctx.gpr[18] | 0u); - aot_gpr_16 = (0u | 1u); - aot_gpr_5 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (0u | 1u); + ctx.gpr[16] = (0u | 1u); + aot_gpr_5 = (aot_gpr_2 | 0u); + aot_gpr_6 = (0u | 1u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x08989150u); ctx.gpr[8] = (0u | 1u); @@ -3317,63 +3318,63 @@ L_08989150: aot_gpr_4 = (0u | 340u); aot_gpr_5 = (0u | 1u); aot_gpr_31 = (0x08989160u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 546u, 0x08AD3258u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08989160u) goto L_08989160; AOT_REGCACHE_SYNC_OUT(); return; L_08989160: aot_gpr_4 = (0u | 342u); aot_gpr_5 = (0u | 1u); aot_gpr_31 = (0x08989170u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 546u, 0x08AD3258u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08989170u) goto L_08989170; AOT_REGCACHE_SYNC_OUT(); return; L_08989170: aot_gpr_4 = (0u | 363u); aot_gpr_5 = (0u | 1u); aot_gpr_31 = (0x08989180u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 546u, 0x08AD3258u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08989180u) goto L_08989180; AOT_REGCACHE_SYNC_OUT(); return; L_08989180: aot_gpr_4 = (0u | 347u); aot_gpr_5 = (0u | 1u); aot_gpr_31 = (0x08989190u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 546u, 0x08AD3258u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08989190u) goto L_08989190; AOT_REGCACHE_SYNC_OUT(); return; L_08989190: aot_gpr_4 = (0u | 351u); aot_gpr_5 = (0u | 1u); aot_gpr_31 = (0x089891A0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 546u, 0x08AD3258u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089891A0u) goto L_089891A0; AOT_REGCACHE_SYNC_OUT(); return; L_089891A0: aot_gpr_4 = (0u | 355u); aot_gpr_5 = (0u | 1u); aot_gpr_31 = (0x089891B0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 546u, 0x08AD3258u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089891B0u) goto L_089891B0; AOT_REGCACHE_SYNC_OUT(); return; L_089891B0: aot_gpr_4 = (0u | 352u); aot_gpr_5 = (0u | 1u); aot_gpr_31 = (0x089891C0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 546u, 0x08AD3258u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089891C0u) goto L_089891C0; AOT_REGCACHE_SYNC_OUT(); return; L_089891C0: aot_gpr_4 = (0u | 358u); aot_gpr_5 = (0u | 1u); aot_gpr_31 = (0x089891D0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 546u, 0x08AD3258u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089891D0u) goto L_089891D0; AOT_REGCACHE_SYNC_OUT(); return; L_089891D0: aot_gpr_4 = (0u | 359u); aot_gpr_5 = (0u | 1u); aot_gpr_31 = (0x089891E0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 546u, 0x08AD3258u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089891E0u) goto L_089891E0; AOT_REGCACHE_SYNC_OUT(); return; L_089891E0: @@ -3387,9 +3388,9 @@ L_089891E8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089891F0u) goto L_089891F0; AOT_REGCACHE_SYNC_OUT(); return; L_089891F0: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 10u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x08989204u); ctx.gpr[7] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0069_entry, 69u, 600u, 0x0891B7DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08989204u) goto L_08989204; @@ -3400,9 +3401,9 @@ L_08989204: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898920Cu) goto L_0898920C; AOT_REGCACHE_SYNC_OUT(); return; L_0898920C: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 13u); - ctx.gpr[6] = (0u | 10u); + aot_gpr_6 = (0u | 10u); aot_gpr_31 = (0x08989220u); ctx.gpr[7] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0069_entry, 69u, 600u, 0x0891B7DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08989220u) goto L_08989220; @@ -3413,9 +3414,9 @@ L_08989220: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08989228u) goto L_08989228; AOT_REGCACHE_SYNC_OUT(); return; L_08989228: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 20u); - ctx.gpr[6] = (0u | 40u); + aot_gpr_6 = (0u | 40u); aot_gpr_31 = (0x0898923Cu); ctx.gpr[7] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0069_entry, 69u, 600u, 0x0891B7DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898923Cu) goto L_0898923C; @@ -3426,9 +3427,9 @@ L_0898923C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08989244u) goto L_08989244; AOT_REGCACHE_SYNC_OUT(); return; L_08989244: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 23u); - ctx.gpr[6] = (0u | 25u); + aot_gpr_6 = (0u | 25u); aot_gpr_31 = (0x08989258u); ctx.gpr[7] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0069_entry, 69u, 600u, 0x0891B7DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08989258u) goto L_08989258; @@ -3439,9 +3440,9 @@ L_08989258: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08989260u) goto L_08989260; AOT_REGCACHE_SYNC_OUT(); return; L_08989260: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 26u); - ctx.gpr[6] = (0u | 100u); + aot_gpr_6 = (0u | 100u); aot_gpr_31 = (0x08989274u); ctx.gpr[7] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0069_entry, 69u, 600u, 0x0891B7DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08989274u) goto L_08989274; @@ -3452,9 +3453,9 @@ L_08989274: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898927Cu) goto L_0898927C; AOT_REGCACHE_SYNC_OUT(); return; L_0898927C: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 28u); - ctx.gpr[6] = (0u | 150u); + aot_gpr_6 = (0u | 150u); aot_gpr_31 = (0x08989290u); ctx.gpr[7] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0069_entry, 69u, 600u, 0x0891B7DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08989290u) goto L_08989290; @@ -3465,9 +3466,9 @@ L_08989290: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08989298u) goto L_08989298; AOT_REGCACHE_SYNC_OUT(); return; L_08989298: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 31u); - ctx.gpr[6] = (0u | 21u); + aot_gpr_6 = (0u | 21u); aot_gpr_31 = (0x089892ACu); ctx.gpr[7] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0069_entry, 69u, 600u, 0x0891B7DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089892ACu) goto L_089892AC; @@ -3478,9 +3479,9 @@ L_089892AC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089892B4u) goto L_089892B4; AOT_REGCACHE_SYNC_OUT(); return; L_089892B4: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 32u); - ctx.gpr[6] = (0u | 5u); + aot_gpr_6 = (0u | 5u); aot_gpr_31 = (0x089892C8u); ctx.gpr[7] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0069_entry, 69u, 600u, 0x0891B7DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089892C8u) goto L_089892C8; @@ -3532,34 +3533,34 @@ L_08989308: AOT_REGCACHE_SYNC_OUT(); return; L_08989310: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(9288))); - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-16130), static_cast(aot_gpr_16)); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-16130), static_cast(ctx.gpr[16])); aot_gpr_4 = (aot_gpr_4 + static_cast(1000)); aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(9288), aot_gpr_4); goto L_08989320; L_08989320: { std::uint32_t aot_run_words[4]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(0), aot_run_words); + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08989338: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); + { const std::uint32_t aot_run_words[4]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(0), aot_run_words); } aot_gpr_31 = (0x08989354u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 562u, 0x08A363C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08989354u) goto L_08989354; AOT_REGCACHE_SYNC_OUT(); return; L_08989354: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08989370; @@ -3614,8 +3615,8 @@ L_0898938C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08989398u) goto L_08989398; AOT_REGCACHE_SYNC_OUT(); return; L_08989398: - aot_gpr_16 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_089893B0; @@ -3624,11 +3625,11 @@ L_08989398: } L_089893A4: aot_gpr_31 = (0x089893ACu); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089893ACu) goto L_089893AC; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089893ACu) goto L_089893AC; AOT_REGCACHE_SYNC_OUT(); return; L_089893AC: - ctx.gpr[17] = (aot_gpr_16 | 0u); + ctx.gpr[17] = (ctx.gpr[16] | 0u); goto L_089893B0; L_089893B0: aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); @@ -3641,9 +3642,9 @@ L_089893B4: AOT_REGCACHE_SYNC_OUT(); return; L_089893C0: aot_gpr_4 = (ctx.gpr[18] | 0u); - aot_gpr_16 = (0u | 1u); - aot_gpr_5 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (0u | 1u); + ctx.gpr[16] = (0u | 1u); + aot_gpr_5 = (aot_gpr_2 | 0u); + aot_gpr_6 = (0u | 1u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x089893DCu); ctx.gpr[8] = (0u | 1u); @@ -3653,63 +3654,63 @@ L_089893DC: aot_gpr_4 = (0u | 341u); aot_gpr_5 = (0u | 1u); aot_gpr_31 = (0x089893ECu); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 546u, 0x08AD3258u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089893ECu) goto L_089893EC; AOT_REGCACHE_SYNC_OUT(); return; L_089893EC: aot_gpr_4 = (0u | 342u); aot_gpr_5 = (0u | 1u); aot_gpr_31 = (0x089893FCu); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 546u, 0x08AD3258u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089893FCu) goto L_089893FC; AOT_REGCACHE_SYNC_OUT(); return; L_089893FC: aot_gpr_4 = (0u | 347u); aot_gpr_5 = (0u | 1u); aot_gpr_31 = (0x0898940Cu); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 546u, 0x08AD3258u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898940Cu) goto L_0898940C; AOT_REGCACHE_SYNC_OUT(); return; L_0898940C: aot_gpr_4 = (0u | 350u); aot_gpr_5 = (0u | 1u); aot_gpr_31 = (0x0898941Cu); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 546u, 0x08AD3258u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898941Cu) goto L_0898941C; AOT_REGCACHE_SYNC_OUT(); return; L_0898941C: aot_gpr_4 = (0u | 356u); aot_gpr_5 = (0u | 1u); aot_gpr_31 = (0x0898942Cu); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 546u, 0x08AD3258u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898942Cu) goto L_0898942C; AOT_REGCACHE_SYNC_OUT(); return; L_0898942C: aot_gpr_4 = (0u | 352u); aot_gpr_5 = (0u | 1u); aot_gpr_31 = (0x0898943Cu); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 546u, 0x08AD3258u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898943Cu) goto L_0898943C; AOT_REGCACHE_SYNC_OUT(); return; L_0898943C: aot_gpr_4 = (0u | 358u); aot_gpr_5 = (0u | 1u); aot_gpr_31 = (0x0898944Cu); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 546u, 0x08AD3258u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898944Cu) goto L_0898944C; AOT_REGCACHE_SYNC_OUT(); return; L_0898944C: aot_gpr_4 = (0u | 362u); aot_gpr_5 = (0u | 1u); aot_gpr_31 = (0x0898945Cu); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 546u, 0x08AD3258u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898945Cu) goto L_0898945C; AOT_REGCACHE_SYNC_OUT(); return; L_0898945C: aot_gpr_4 = (0u | 366u); aot_gpr_5 = (0u | 1u); aot_gpr_31 = (0x0898946Cu); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 546u, 0x08AD3258u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898946Cu) goto L_0898946C; AOT_REGCACHE_SYNC_OUT(); return; L_0898946C: @@ -3723,9 +3724,9 @@ L_08989474: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898947Cu) goto L_0898947C; AOT_REGCACHE_SYNC_OUT(); return; L_0898947C: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 11u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x08989490u); ctx.gpr[7] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0069_entry, 69u, 600u, 0x0891B7DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08989490u) goto L_08989490; @@ -3736,9 +3737,9 @@ L_08989490: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08989498u) goto L_08989498; AOT_REGCACHE_SYNC_OUT(); return; L_08989498: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 12u); - ctx.gpr[6] = (0u | 10u); + aot_gpr_6 = (0u | 10u); aot_gpr_31 = (0x089894ACu); ctx.gpr[7] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0069_entry, 69u, 600u, 0x0891B7DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089894ACu) goto L_089894AC; @@ -3749,9 +3750,9 @@ L_089894AC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089894B4u) goto L_089894B4; AOT_REGCACHE_SYNC_OUT(); return; L_089894B4: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 20u); - ctx.gpr[6] = (0u | 40u); + aot_gpr_6 = (0u | 40u); aot_gpr_31 = (0x089894C8u); ctx.gpr[7] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0069_entry, 69u, 600u, 0x0891B7DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089894C8u) goto L_089894C8; @@ -3762,9 +3763,9 @@ L_089894C8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089894D0u) goto L_089894D0; AOT_REGCACHE_SYNC_OUT(); return; L_089894D0: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 22u); - ctx.gpr[6] = (0u | 30u); + aot_gpr_6 = (0u | 30u); aot_gpr_31 = (0x089894E4u); ctx.gpr[7] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0069_entry, 69u, 600u, 0x0891B7DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089894E4u) goto L_089894E4; @@ -3775,9 +3776,9 @@ L_089894E4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089894ECu) goto L_089894EC; AOT_REGCACHE_SYNC_OUT(); return; L_089894EC: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 27u); - ctx.gpr[6] = (0u | 100u); + aot_gpr_6 = (0u | 100u); aot_gpr_31 = (0x08989500u); ctx.gpr[7] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0069_entry, 69u, 600u, 0x0891B7DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08989500u) goto L_08989500; @@ -3788,9 +3789,9 @@ L_08989500: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08989508u) goto L_08989508; AOT_REGCACHE_SYNC_OUT(); return; L_08989508: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 28u); - ctx.gpr[6] = (0u | 150u); + aot_gpr_6 = (0u | 150u); aot_gpr_31 = (0x0898951Cu); ctx.gpr[7] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0069_entry, 69u, 600u, 0x0891B7DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898951Cu) goto L_0898951C; @@ -3801,9 +3802,9 @@ L_0898951C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08989524u) goto L_08989524; AOT_REGCACHE_SYNC_OUT(); return; L_08989524: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 31u); - ctx.gpr[6] = (0u | 21u); + aot_gpr_6 = (0u | 21u); aot_gpr_31 = (0x08989538u); ctx.gpr[7] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0069_entry, 69u, 600u, 0x0891B7DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08989538u) goto L_08989538; @@ -3814,9 +3815,9 @@ L_08989538: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08989540u) goto L_08989540; AOT_REGCACHE_SYNC_OUT(); return; L_08989540: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 35u); - ctx.gpr[6] = (0u | 500u); + aot_gpr_6 = (0u | 500u); aot_gpr_31 = (0x08989554u); ctx.gpr[7] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0069_entry, 69u, 600u, 0x0891B7DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08989554u) goto L_08989554; @@ -3868,29 +3869,29 @@ L_08989594: AOT_REGCACHE_SYNC_OUT(); return; L_0898959C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(9288))); - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-16130), static_cast(aot_gpr_16)); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-16130), static_cast(ctx.gpr[16])); aot_gpr_4 = (aot_gpr_4 + static_cast(1000)); aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(9288), aot_gpr_4); goto L_089895AC; L_089895AC: { std::uint32_t aot_run_words[4]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(0), aot_run_words); + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_089895C4: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5848))); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } + { const std::uint32_t aot_run_words[4]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(0), aot_run_words); } if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); goto L_089895F0; @@ -3919,8 +3920,8 @@ L_089895F8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08989604u) goto L_08989604; AOT_REGCACHE_SYNC_OUT(); return; L_08989604: - aot_gpr_16 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_0898961C; @@ -3929,11 +3930,11 @@ L_08989604: } L_08989610: aot_gpr_31 = (0x08989618u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08989618u) goto L_08989618; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08989618u) goto L_08989618; AOT_REGCACHE_SYNC_OUT(); return; L_08989618: - ctx.gpr[17] = (aot_gpr_16 | 0u); + ctx.gpr[17] = (ctx.gpr[16] | 0u); goto L_0898961C; L_0898961C: aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); @@ -3946,9 +3947,9 @@ L_08989620: AOT_REGCACHE_SYNC_OUT(); return; L_0898962C: aot_gpr_4 = (ctx.gpr[18] | 0u); - aot_gpr_16 = (0u | 1u); - aot_gpr_5 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (0u | 1u); + ctx.gpr[16] = (0u | 1u); + aot_gpr_5 = (aot_gpr_2 | 0u); + aot_gpr_6 = (0u | 1u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x08989648u); ctx.gpr[8] = (0u | 1u); @@ -3959,27 +3960,27 @@ L_08989648: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(9288))); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-17674), static_cast(aot_gpr_4)); - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-16130), static_cast(aot_gpr_16)); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-16130), static_cast(ctx.gpr[16])); aot_gpr_4 = (aot_gpr_5 + static_cast(1000)); aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(9288), aot_gpr_4); { std::uint32_t aot_run_words[4]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(0), aot_run_words); + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0898967C: - aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-32)); aot_gpr_4 = (aot_gpr_4 & 255u); - { const std::uint32_t aot_run_words[5]{std::bit_cast(aot_fpr_20), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } + { const std::uint32_t aot_run_words[5]{std::bit_cast(aot_fpr_20), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(0), aot_run_words); } { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_4 = (2238u << 16u); if (branch_taken) { @@ -4017,8 +4018,8 @@ L_089896C0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089896CCu) goto L_089896CC; AOT_REGCACHE_SYNC_OUT(); return; L_089896CC: - aot_gpr_16 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_089896E4; @@ -4027,11 +4028,11 @@ L_089896CC: } L_089896D8: aot_gpr_31 = (0x089896E0u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089896E0u) goto L_089896E0; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089896E0u) goto L_089896E0; AOT_REGCACHE_SYNC_OUT(); return; L_089896E0: - ctx.gpr[17] = (aot_gpr_16 | 0u); + ctx.gpr[17] = (ctx.gpr[16] | 0u); goto L_089896E4; L_089896E4: aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); @@ -4044,8 +4045,8 @@ L_089896E8: AOT_REGCACHE_SYNC_OUT(); return; L_089896F4: aot_gpr_4 = (ctx.gpr[18] | 0u); - aot_gpr_5 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_5 = (aot_gpr_2 | 0u); + aot_gpr_6 = (0u | 1u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x0898970Cu); ctx.gpr[8] = (0u | 1u); @@ -4064,11 +4065,11 @@ L_08989710: AOT_REGCACHE_SYNC_OUT(); return; L_08989724: aot_gpr_31 = (0x0898972Cu); - aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(1252), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(aot_gpr_2 + static_cast(1252), std::bit_cast(aot_fpr_20)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898972Cu) goto L_0898972C; AOT_REGCACHE_SYNC_OUT(); return; L_0898972C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089897CC; @@ -4082,16 +4083,16 @@ L_08989734: AOT_REGCACHE_SYNC_OUT(); return; L_0898973C: aot_gpr_31 = (0x08989744u); - aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(632))); + aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(632))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08989744u) goto L_08989744; AOT_REGCACHE_SYNC_OUT(); return; L_08989744: aot_gpr_31 = (0x0898974Cu); - aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(636), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(aot_gpr_2 + static_cast(636), std::bit_cast(aot_fpr_20)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898974Cu) goto L_0898974C; AOT_REGCACHE_SYNC_OUT(); return; L_0898974C: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(852))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -4105,7 +4106,7 @@ L_08989758: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08989760u) goto L_08989760; AOT_REGCACHE_SYNC_OUT(); return; L_08989760: - aot_gpr_4 = (ctx.gpr[2] + static_cast(944)); + aot_gpr_4 = (aot_gpr_2 + static_cast(944)); aot_gpr_31 = (0x0898976Cu); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 383u, 0x08B0D94Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898976Cu) goto L_0898976C; @@ -4116,10 +4117,10 @@ L_0898976C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08989774u) goto L_08989774; AOT_REGCACHE_SYNC_OUT(); return; L_08989774: - aot_gpr_4 = (ctx.gpr[2] + static_cast(944)); + aot_gpr_4 = (aot_gpr_2 + static_cast(944)); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08989784u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 375u, 0x08B0D8ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08989784u) goto L_08989784; AOT_REGCACHE_SYNC_OUT(); return; L_08989784: @@ -4128,10 +4129,10 @@ L_08989784: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898978Cu) goto L_0898978C; AOT_REGCACHE_SYNC_OUT(); return; L_0898978C: - aot_gpr_4 = (ctx.gpr[2] + static_cast(944)); + aot_gpr_4 = (aot_gpr_2 + static_cast(944)); aot_gpr_5 = (0u | 1u); aot_gpr_31 = (0x0898979Cu); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 375u, 0x08B0D8ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898979Cu) goto L_0898979C; AOT_REGCACHE_SYNC_OUT(); return; L_0898979C: @@ -4140,10 +4141,10 @@ L_0898979C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089897A4u) goto L_089897A4; AOT_REGCACHE_SYNC_OUT(); return; L_089897A4: - aot_gpr_4 = (ctx.gpr[2] + static_cast(944)); + aot_gpr_4 = (aot_gpr_2 + static_cast(944)); aot_gpr_5 = (0u | 2u); aot_gpr_31 = (0x089897B4u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 375u, 0x08B0D8ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089897B4u) goto L_089897B4; AOT_REGCACHE_SYNC_OUT(); return; L_089897B4: @@ -4152,10 +4153,10 @@ L_089897B4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089897BCu) goto L_089897BC; AOT_REGCACHE_SYNC_OUT(); return; L_089897BC: - aot_gpr_4 = (ctx.gpr[2] + static_cast(944)); + aot_gpr_4 = (aot_gpr_2 + static_cast(944)); aot_gpr_5 = (0u | 3u); aot_gpr_31 = (0x089897CCu); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 375u, 0x08B0D8ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089897CCu) goto L_089897CC; AOT_REGCACHE_SYNC_OUT(); return; L_089897CC: @@ -4165,30 +4166,30 @@ L_089897CC: aot_gpr_4 = (aot_gpr_5 + static_cast(1000)); aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(9288), aot_gpr_4); { std::uint32_t aot_run_words[5]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(0), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); - aot_gpr_16 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[1]; ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(32)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(32)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_089897FC: - aot_gpr_29 = (aot_gpr_29 + static_cast(-80)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-80)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5848))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), ctx.gpr[18]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(56), ctx.gpr[18]); ctx.gpr[18] = (aot_gpr_28 + static_cast(-16104)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), ctx.gpr[17]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(48), ctx.gpr[16]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(52), ctx.gpr[17]); { const std::uint32_t aot_run_words[4]{ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_31}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(60), aot_run_words); } + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(60), aot_run_words); } { const bool branch_taken = aot_gpr_5 != 0u; - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08989834; } @@ -4215,7 +4216,7 @@ L_08989840: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898984Cu) goto L_0898984C; AOT_REGCACHE_SYNC_OUT(); return; L_0898984C: - ctx.gpr[20] = (ctx.gpr[2] | 0u); + ctx.gpr[20] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[20] == 0u; // nop if (branch_taken) { @@ -4226,7 +4227,7 @@ L_0898984C: L_08989858: aot_gpr_31 = (0x08989860u); aot_gpr_4 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08989860u) goto L_08989860; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08989860u) goto L_08989860; AOT_REGCACHE_SYNC_OUT(); return; L_08989860: ctx.gpr[17] = (ctx.gpr[20] | 0u); @@ -4242,8 +4243,8 @@ L_08989868: AOT_REGCACHE_SYNC_OUT(); return; L_08989874: aot_gpr_4 = (ctx.gpr[19] | 0u); - aot_gpr_5 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_5 = (aot_gpr_2 | 0u); + aot_gpr_6 = (0u | 1u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x0898988Cu); ctx.gpr[8] = (0u | 1u); @@ -4251,15 +4252,15 @@ L_08989874: AOT_REGCACHE_SYNC_OUT(); return; L_0898988C: aot_gpr_31 = (0x08989894u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 614u, 0x08AD3708u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08989894u) goto L_08989894; AOT_REGCACHE_SYNC_OUT(); return; L_08989894: - ctx.gpr[19] = (ctx.gpr[2] | 0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 1u); aot_gpr_31 = (0x089898A8u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 546u, 0x08AD3258u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089898A8u) goto L_089898A8; AOT_REGCACHE_SYNC_OUT(); return; L_089898A8: @@ -4269,11 +4270,11 @@ L_089898A8: AOT_REGCACHE_SYNC_OUT(); return; L_089898B0: aot_gpr_31 = (0x089898B8u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 607u, 0x08AD3698u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089898B8u) goto L_089898B8; AOT_REGCACHE_SYNC_OUT(); return; L_089898B8: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08989AA0; @@ -4310,7 +4311,7 @@ L_089898E0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089898ECu) goto L_089898EC; AOT_REGCACHE_SYNC_OUT(); return; L_089898EC: - ctx.gpr[21] = (ctx.gpr[2] | 0u); + ctx.gpr[21] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[21] == 0u; // nop if (branch_taken) { @@ -4321,7 +4322,7 @@ L_089898EC: L_089898F8: aot_gpr_31 = (0x08989900u); aot_gpr_4 = (ctx.gpr[21] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08989900u) goto L_08989900; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08989900u) goto L_08989900; AOT_REGCACHE_SYNC_OUT(); return; L_08989900: ctx.gpr[20] = (ctx.gpr[21] | 0u); @@ -4337,8 +4338,8 @@ L_08989908: AOT_REGCACHE_SYNC_OUT(); return; L_08989914: aot_gpr_4 = (ctx.gpr[17] | 0u); - aot_gpr_5 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_5 = (aot_gpr_2 | 0u); + aot_gpr_6 = (0u | 1u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x0898992Cu); ctx.gpr[8] = (0u | 1u); @@ -4355,26 +4356,26 @@ L_0898992C: } L_08989938: aot_gpr_31 = (0x08989940u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 621u, 0x08AD3780u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08989940u) goto L_08989940; AOT_REGCACHE_SYNC_OUT(); return; L_08989940: aot_gpr_31 = (0x08989948u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 623u, 0x08AD37A0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08989948u) goto L_08989948; AOT_REGCACHE_SYNC_OUT(); return; L_08989948: ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-16928))); aot_gpr_31 = (0x08989954u); - aot_gpr_4 = (aot_gpr_29 | 0u); + aot_gpr_4 = (ctx.gpr[29] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 16u, 0x08960154u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08989954u) goto L_08989954; AOT_REGCACHE_SYNC_OUT(); return; L_08989954: - ctx.gpr[2] = (17096u << 16u); + aot_gpr_2 = (17096u << 16u); aot_gpr_4 = (ctx.gpr[17] | 0u); - aot_fpr_12 = std::bit_cast(ctx.gpr[2]); - aot_gpr_5 = (aot_gpr_29 | 0u); - ctx.gpr[6] = (0u | 0u); + aot_fpr_12 = std::bit_cast(aot_gpr_2); + aot_gpr_5 = (ctx.gpr[29] | 0u); + aot_gpr_6 = (0u | 0u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); @@ -4384,7 +4385,7 @@ L_08989954: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0092_entry, 92u, 650u, 0x08976FBCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08989980u) goto L_08989980; AOT_REGCACHE_SYNC_OUT(); return; L_08989980: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); { const bool branch_taken = static_cast(ctx.gpr[17]) < 0; // nop if (branch_taken) { @@ -4399,7 +4400,7 @@ L_0898998C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 732u, 0x08AFF2C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08989998u) goto L_08989998; AOT_REGCACHE_SYNC_OUT(); return; L_08989998: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[19] == 0u; aot_gpr_4 = (ctx.gpr[19] | 0u); if (branch_taken) { @@ -4408,8 +4409,8 @@ L_08989998: goto L_089899A4; } L_089899A4: - aot_gpr_5 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_5 = (ctx.gpr[16] | 0u); + aot_gpr_6 = (0u | 1u); aot_gpr_31 = (0x089899B4u); ctx.gpr[7] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0012_entry, 12u, 92u, 0x08834A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089899B4u) goto L_089899B4; @@ -4467,21 +4468,21 @@ L_089899C0: ctx.execute_vfpu_vcmov_ct<66u, 98u, 1u, 0u, false>(); { float vfpu_value[4]{1.0f, 1.0f, 1.0f, 1.0f}; ctx.write_vfpu_vector_with_destination_prefix_ct<98u, 1u>(vfpu_value); } - aot_gpr_4 = (aot_gpr_29 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(16)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<2u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { std::uint32_t aot_run_words[3]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(16), aot_run_words); aot_fpr_12 = std::bit_cast(aot_run_words[0]); aot_fpr_13 = std::bit_cast(aot_run_words[1]); - ctx.fpr[14] = std::bit_cast(aot_run_words[2]); + aot_fpr_14 = std::bit_cast(aot_run_words[2]); } aot_gpr_4 = (16512u << 16u); ctx.fpr[15] = std::bit_cast(aot_gpr_4); - ctx.fpr[14] = ctx.fpr[14] + ctx.fpr[15]; - { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_13), std::bit_cast(ctx.fpr[14])}; + aot_fpr_14 = aot_fpr_14 + ctx.fpr[15]; + { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_13), std::bit_cast(aot_fpr_14)}; aot_mem.aot_direct_store32_block(ctx.gpr[18] + static_cast(48), aot_run_words); } aot_gpr_4 = (ctx.gpr[18] + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); @@ -4493,7 +4494,7 @@ L_089899C0: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_4 = (aot_gpr_29 + static_cast(32)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(32)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; @@ -4501,7 +4502,7 @@ L_089899C0: aot_fpr_12 = std::bit_cast(0u); aot_gpr_4 = (16479u << 16u); aot_gpr_4 = (aot_gpr_4 | 26355u); - ctx.fpr[14] = std::bit_cast(aot_gpr_4); + aot_fpr_14 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08989A68u); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_12)); @@ -4509,10 +4510,10 @@ L_089899C0: AOT_REGCACHE_SYNC_OUT(); return; L_08989A68: { std::uint32_t aot_run_words[3]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(32), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(32), aot_run_words); aot_fpr_12 = std::bit_cast(aot_run_words[0]); aot_fpr_13 = std::bit_cast(aot_run_words[1]); - ctx.fpr[14] = std::bit_cast(aot_run_words[2]); + aot_fpr_14 = std::bit_cast(aot_run_words[2]); } aot_gpr_31 = (0x08989A7Cu); aot_gpr_4 = (ctx.gpr[18] | 0u); @@ -4537,8 +4538,8 @@ L_08989AA0: aot_gpr_4 = (aot_gpr_5 + static_cast(1000)); aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(9288), aot_gpr_4); { std::uint32_t aot_run_words[7]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(48), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(48), aot_run_words); + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -4547,44 +4548,44 @@ L_08989AA0: aot_gpr_31 = aot_run_words[6]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(80)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(80)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08989AD8: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), aot_gpr_31); aot_gpr_31 = (0x08989AE8u); aot_gpr_4 = (0u | 246u); goto L_089897FC; L_08989AE8: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08989AF4: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), aot_gpr_31); aot_gpr_31 = (0x08989B04u); aot_gpr_4 = (0u | 241u); goto L_089897FC; L_08989B04: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08989B10: - aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-32)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5848))); - { const std::uint32_t aot_run_words[5]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } + { const std::uint32_t aot_run_words[5]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(0), aot_run_words); } if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); goto L_08989B40; @@ -4613,8 +4614,8 @@ L_08989B48: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08989B54u) goto L_08989B54; AOT_REGCACHE_SYNC_OUT(); return; L_08989B54: - aot_gpr_16 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08989B6C; @@ -4623,11 +4624,11 @@ L_08989B54: } L_08989B60: aot_gpr_31 = (0x08989B68u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08989B68u) goto L_08989B68; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08989B68u) goto L_08989B68; AOT_REGCACHE_SYNC_OUT(); return; L_08989B68: - ctx.gpr[17] = (aot_gpr_16 | 0u); + ctx.gpr[17] = (ctx.gpr[16] | 0u); goto L_08989B6C; L_08989B6C: aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); @@ -4640,8 +4641,8 @@ L_08989B70: AOT_REGCACHE_SYNC_OUT(); return; L_08989B7C: aot_gpr_4 = (ctx.gpr[18] | 0u); - aot_gpr_5 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_5 = (aot_gpr_2 | 0u); + aot_gpr_6 = (0u | 1u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x08989B94u); ctx.gpr[8] = (0u | 1u); @@ -4650,22 +4651,22 @@ L_08989B7C: L_08989B94: ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-15972))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); - aot_gpr_16 = (aot_gpr_4 + static_cast(-1)); + ctx.gpr[16] = (aot_gpr_4 + static_cast(-1)); { const bool branch_taken = aot_gpr_4 == 0u; - ctx.gpr[17] = (aot_gpr_16 | 0u); + ctx.gpr[17] = (ctx.gpr[16] | 0u); if (branch_taken) { goto L_08989C3C; } goto L_08989BA8; } L_08989BA8: - aot_gpr_4 = (aot_gpr_16 << 5u); + aot_gpr_4 = (ctx.gpr[16] << 5u); ctx.gpr[19] = (0u + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 << 6u); ctx.gpr[19] = (ctx.gpr[19] + aot_gpr_4); goto L_08989BB8; L_08989BB8: - { const bool branch_taken = static_cast(aot_gpr_16) < 0; + { const bool branch_taken = static_cast(ctx.gpr[16]) < 0; // nop if (branch_taken) { goto L_08989BD0; @@ -4674,7 +4675,7 @@ L_08989BB8: } L_08989BC0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); - aot_gpr_4 = (static_cast(aot_gpr_16) < static_cast(aot_gpr_4) ? 1u : 0u); + aot_gpr_4 = (static_cast(ctx.gpr[16]) < static_cast(aot_gpr_4) ? 1u : 0u); if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); goto L_08989BD8; @@ -4689,7 +4690,7 @@ L_08989BD0: goto L_08989BD8; } L_08989BD8: - aot_gpr_4 = (aot_gpr_4 + aot_gpr_16); + aot_gpr_4 = (aot_gpr_4 + ctx.gpr[16]); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0))); aot_gpr_4 = (aot_gpr_4 & 128u); if (aot_gpr_4 == 0u) { @@ -4719,22 +4720,22 @@ L_08989BF8: } L_08989C04: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(92))); - ctx.gpr[6] = (aot_gpr_5 | 0u); + aot_gpr_6 = (aot_gpr_5 | 0u); aot_gpr_4 = (aot_gpr_4 + static_cast(328)); ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - aot_gpr_4 = (ctx.gpr[6] + ctx.gpr[7]); + aot_gpr_4 = (aot_gpr_6 + ctx.gpr[7]); aot_gpr_5 = (0u | 0u); jump_target = ctx.gpr[8]; aot_gpr_31 = (0x08989C28u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08989C28u) goto L_08989C28; AOT_REGCACHE_SYNC_OUT(); return; L_08989C28: - aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_16 = (ctx.gpr[17] + static_cast(-1)); - ctx.gpr[17] = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); + ctx.gpr[16] = (ctx.gpr[17] + static_cast(-1)); + ctx.gpr[17] = (ctx.gpr[16] | 0u); { const bool branch_taken = aot_gpr_4 != 0u; ctx.gpr[19] = (ctx.gpr[19] + static_cast(-2080)); if (branch_taken) { @@ -4744,26 +4745,26 @@ L_08989C28: } L_08989C3C: { std::uint32_t aot_run_words[5]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(0), aot_run_words); + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(32)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(32)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08989C58: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-16151))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5848))); aot_gpr_4 = (aot_gpr_4 ^ 1u); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } + { const std::uint32_t aot_run_words[4]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(0), aot_run_words); } { const bool branch_taken = aot_gpr_5 != 0u; aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-16151), static_cast(aot_gpr_4)); if (branch_taken) { @@ -4779,7 +4780,7 @@ L_08989C80: L_08989C88: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5848))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5848))); if (branch_taken) { goto L_08989CBC; } @@ -4792,7 +4793,7 @@ L_08989C94: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08989CA0u) goto L_08989CA0; AOT_REGCACHE_SYNC_OUT(); return; L_08989CA0: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { @@ -4803,7 +4804,7 @@ L_08989CA0: L_08989CAC: aot_gpr_31 = (0x08989CB4u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08989CB4u) goto L_08989CB4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08989CB4u) goto L_08989CB4; AOT_REGCACHE_SYNC_OUT(); return; L_08989CB4: ctx.gpr[18] = (ctx.gpr[17] | 0u); @@ -4818,9 +4819,9 @@ L_08989CBC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08989CC8u) goto L_08989CC8; AOT_REGCACHE_SYNC_OUT(); return; L_08989CC8: - aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_4 = (ctx.gpr[16] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); + aot_gpr_6 = (0u | 1u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x08989CE0u); ctx.gpr[8] = (0u | 1u); @@ -4829,14 +4830,14 @@ L_08989CC8: L_08989CE0: aot_gpr_4 = (16u << 16u); aot_gpr_5 = (0u | 4u); - ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-16151))); - aot_gpr_16 = (0u | 16u); + aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-16151))); + ctx.gpr[16] = (0u | 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-1)); goto L_08989CF4; L_08989CF4: ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-24276))); - ctx.gpr[7] = (ctx.gpr[7] + aot_gpr_16); - { const bool branch_taken = ctx.gpr[6] == 0u; + ctx.gpr[7] = (ctx.gpr[7] + ctx.gpr[16]); + { const bool branch_taken = aot_gpr_6 == 0u; ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(0))); if (branch_taken) { goto L_08989D0C; @@ -4858,7 +4859,7 @@ L_08989D10: aot_gpr_5 = (aot_gpr_5 + static_cast(1)); ctx.gpr[7] = (static_cast(aot_gpr_5) < 21 ? 1u : 0u); { const bool branch_taken = ctx.gpr[7] != 0u; - aot_gpr_16 = (aot_gpr_16 + static_cast(4)); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(4)); if (branch_taken) { goto L_08989CF4; } @@ -4875,23 +4876,23 @@ L_08989D28: aot_gpr_4 = (aot_gpr_5 + static_cast(1000)); aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(9288), aot_gpr_4); { std::uint32_t aot_run_words[4]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(0), aot_run_words); + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08989D54: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5848))); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } + { const std::uint32_t aot_run_words[4]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(0), aot_run_words); } if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); goto L_08989D80; @@ -4907,7 +4908,7 @@ L_08989D7C: goto L_08989D80; L_08989D80: { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5848))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5848))); if (branch_taken) { goto L_08989DB0; } @@ -4920,7 +4921,7 @@ L_08989D88: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08989D94u) goto L_08989D94; AOT_REGCACHE_SYNC_OUT(); return; L_08989D94: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { @@ -4931,7 +4932,7 @@ L_08989D94: L_08989DA0: aot_gpr_31 = (0x08989DA8u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08989DA8u) goto L_08989DA8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08989DA8u) goto L_08989DA8; AOT_REGCACHE_SYNC_OUT(); return; L_08989DA8: ctx.gpr[18] = (ctx.gpr[17] | 0u); @@ -4946,9 +4947,9 @@ L_08989DB0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08989DBCu) goto L_08989DBC; AOT_REGCACHE_SYNC_OUT(); return; L_08989DBC: - aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_4 = (ctx.gpr[16] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); + aot_gpr_6 = (0u | 1u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x08989DD4u); ctx.gpr[8] = (0u | 1u); @@ -4956,19 +4957,19 @@ L_08989DBC: AOT_REGCACHE_SYNC_OUT(); return; L_08989DD4: aot_gpr_4 = (0u | 4u); - aot_gpr_16 = (0u | 16u); + ctx.gpr[16] = (0u | 16u); goto L_08989DDC; L_08989DDC: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-24276))); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); - aot_gpr_5 = (aot_gpr_5 + aot_gpr_16); + aot_gpr_5 = (aot_gpr_5 + ctx.gpr[16]); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); - ctx.gpr[6] = (ctx.gpr[6] | 1u); - aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(4), ctx.gpr[6]); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); + aot_gpr_6 = (aot_gpr_6 | 1u); + aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(4), aot_gpr_6); aot_gpr_5 = (static_cast(aot_gpr_4) < 21 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 != 0u; - aot_gpr_16 = (aot_gpr_16 + static_cast(4)); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(4)); if (branch_taken) { goto L_08989DDC; } @@ -4985,23 +4986,23 @@ L_08989E0C: aot_gpr_4 = (aot_gpr_5 + static_cast(1000)); aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(9288), aot_gpr_4); { std::uint32_t aot_run_words[4]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(0), aot_run_words); + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08989E38: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5848))); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } + { const std::uint32_t aot_run_words[4]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(0), aot_run_words); } if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); goto L_08989E64; @@ -5030,8 +5031,8 @@ L_08989E6C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08989E78u) goto L_08989E78; AOT_REGCACHE_SYNC_OUT(); return; L_08989E78: - aot_gpr_16 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08989E90; @@ -5040,11 +5041,11 @@ L_08989E78: } L_08989E84: aot_gpr_31 = (0x08989E8Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08989E8Cu) goto L_08989E8C; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08989E8Cu) goto L_08989E8C; AOT_REGCACHE_SYNC_OUT(); return; L_08989E8C: - ctx.gpr[17] = (aot_gpr_16 | 0u); + ctx.gpr[17] = (ctx.gpr[16] | 0u); goto L_08989E90; L_08989E90: aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); @@ -5057,9 +5058,9 @@ L_08989E94: AOT_REGCACHE_SYNC_OUT(); return; L_08989EA0: aot_gpr_4 = (ctx.gpr[18] | 0u); - aot_gpr_16 = (0u | 1u); - aot_gpr_5 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (0u | 1u); + ctx.gpr[16] = (0u | 1u); + aot_gpr_5 = (aot_gpr_2 | 0u); + aot_gpr_6 = (0u | 1u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x08989EBCu); ctx.gpr[8] = (0u | 1u); @@ -5070,27 +5071,27 @@ L_08989EBC: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(9288))); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-11828), static_cast(aot_gpr_4)); - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-16130), static_cast(aot_gpr_16)); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-16130), static_cast(ctx.gpr[16])); aot_gpr_4 = (aot_gpr_5 + static_cast(1000)); aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(9288), aot_gpr_4); { std::uint32_t aot_run_words[4]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(0), aot_run_words); + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08989EF0: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5848))); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } + { const std::uint32_t aot_run_words[4]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(0), aot_run_words); } if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); goto L_08989F1C; @@ -5119,8 +5120,8 @@ L_08989F24: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08989F30u) goto L_08989F30; AOT_REGCACHE_SYNC_OUT(); return; L_08989F30: - aot_gpr_16 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08989F48; @@ -5129,11 +5130,11 @@ L_08989F30: } L_08989F3C: aot_gpr_31 = (0x08989F44u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08989F44u) goto L_08989F44; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08989F44u) goto L_08989F44; AOT_REGCACHE_SYNC_OUT(); return; L_08989F44: - ctx.gpr[17] = (aot_gpr_16 | 0u); + ctx.gpr[17] = (ctx.gpr[16] | 0u); goto L_08989F48; L_08989F48: aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); @@ -5146,8 +5147,8 @@ L_08989F4C: AOT_REGCACHE_SYNC_OUT(); return; L_08989F58: aot_gpr_4 = (ctx.gpr[18] | 0u); - aot_gpr_5 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_5 = (aot_gpr_2 | 0u); + aot_gpr_6 = (0u | 1u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x08989F70u); ctx.gpr[8] = (0u | 1u); @@ -5179,23 +5180,23 @@ L_08989F9C: aot_gpr_4 = (aot_gpr_5 + static_cast(1000)); aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(9288), aot_gpr_4); { std::uint32_t aot_run_words[4]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(0), aot_run_words); + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08989FC8: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5848))); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } + { const std::uint32_t aot_run_words[4]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(0), aot_run_words); } if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); goto L_08989FF4; @@ -5224,8 +5225,8 @@ L_08989FFC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898A008u) goto L_0898A008; AOT_REGCACHE_SYNC_OUT(); return; L_0898A008: - aot_gpr_16 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_0898A020; @@ -5234,11 +5235,11 @@ L_0898A008: } L_0898A014: aot_gpr_31 = (0x0898A01Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898A01Cu) goto L_0898A01C; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898A01Cu) goto L_0898A01C; AOT_REGCACHE_SYNC_OUT(); return; L_0898A01C: - ctx.gpr[17] = (aot_gpr_16 | 0u); + ctx.gpr[17] = (ctx.gpr[16] | 0u); goto L_0898A020; L_0898A020: aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); @@ -5251,8 +5252,8 @@ L_0898A024: AOT_REGCACHE_SYNC_OUT(); return; L_0898A030: aot_gpr_4 = (ctx.gpr[18] | 0u); - aot_gpr_5 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_5 = (aot_gpr_2 | 0u); + aot_gpr_6 = (0u | 1u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x0898A048u); ctx.gpr[8] = (0u | 1u); @@ -5284,23 +5285,23 @@ L_0898A074: aot_gpr_4 = (aot_gpr_5 + static_cast(1000)); aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(9288), aot_gpr_4); { std::uint32_t aot_run_words[4]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(0), aot_run_words); + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0898A0A0: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5848))); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } + { const std::uint32_t aot_run_words[4]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(0), aot_run_words); } if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); goto L_0898A0CC; @@ -5329,8 +5330,8 @@ L_0898A0D4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898A0E0u) goto L_0898A0E0; AOT_REGCACHE_SYNC_OUT(); return; L_0898A0E0: - aot_gpr_16 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_0898A0F8; @@ -5339,11 +5340,11 @@ L_0898A0E0: } L_0898A0EC: aot_gpr_31 = (0x0898A0F4u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898A0F4u) goto L_0898A0F4; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898A0F4u) goto L_0898A0F4; AOT_REGCACHE_SYNC_OUT(); return; L_0898A0F4: - ctx.gpr[17] = (aot_gpr_16 | 0u); + ctx.gpr[17] = (ctx.gpr[16] | 0u); goto L_0898A0F8; L_0898A0F8: aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); @@ -5356,9 +5357,9 @@ L_0898A0FC: AOT_REGCACHE_SYNC_OUT(); return; L_0898A108: aot_gpr_4 = (ctx.gpr[18] | 0u); - aot_gpr_16 = (0u | 1u); - aot_gpr_5 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (0u | 1u); + ctx.gpr[16] = (0u | 1u); + aot_gpr_5 = (aot_gpr_2 | 0u); + aot_gpr_6 = (0u | 1u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x0898A124u); ctx.gpr[8] = (0u | 1u); @@ -5367,40 +5368,40 @@ L_0898A108: L_0898A124: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(7800))); aot_gpr_5 = (2238u << 16u); - ctx.gpr[6] = (aot_gpr_4 + aot_gpr_4); + aot_gpr_6 = (aot_gpr_4 + aot_gpr_4); ctx.gpr[7] = (aot_gpr_4 << 8u); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); aot_gpr_4 = (aot_gpr_4 << 5u); aot_gpr_4 = (ctx.gpr[7] + aot_gpr_4); aot_gpr_5 = (aot_gpr_5 + static_cast(-6992)); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(172))); - ctx.gpr[6] = (4u << 16u); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(-12144)); - aot_gpr_5 = (aot_gpr_5 + ctx.gpr[6]); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(9288))); + aot_gpr_6 = (4u << 16u); + aot_gpr_6 = (aot_gpr_6 + static_cast(-12144)); + aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(9288))); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(172), aot_gpr_5); - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-16130), static_cast(aot_gpr_16)); - aot_gpr_4 = (ctx.gpr[6] + static_cast(1000)); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-16130), static_cast(ctx.gpr[16])); + aot_gpr_4 = (aot_gpr_6 + static_cast(1000)); aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(9288), aot_gpr_4); { std::uint32_t aot_run_words[4]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(0), aot_run_words); + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0898A184: - aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-32)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5848))); - { const std::uint32_t aot_run_words[5]{std::bit_cast(aot_fpr_20), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } + { const std::uint32_t aot_run_words[5]{std::bit_cast(aot_fpr_20), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(0), aot_run_words); } if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); goto L_0898A1B4; @@ -5429,8 +5430,8 @@ L_0898A1BC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898A1C8u) goto L_0898A1C8; AOT_REGCACHE_SYNC_OUT(); return; L_0898A1C8: - aot_gpr_16 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_0898A1E0; @@ -5439,11 +5440,11 @@ L_0898A1C8: } L_0898A1D4: aot_gpr_31 = (0x0898A1DCu); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898A1DCu) goto L_0898A1DC; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898A1DCu) goto L_0898A1DC; AOT_REGCACHE_SYNC_OUT(); return; L_0898A1DC: - ctx.gpr[17] = (aot_gpr_16 | 0u); + ctx.gpr[17] = (ctx.gpr[16] | 0u); goto L_0898A1E0; L_0898A1E0: aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); @@ -5456,9 +5457,9 @@ L_0898A1E4: AOT_REGCACHE_SYNC_OUT(); return; L_0898A1F0: aot_gpr_4 = (ctx.gpr[18] | 0u); - aot_gpr_16 = (0u | 1u); - aot_gpr_5 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (0u | 1u); + ctx.gpr[16] = (0u | 1u); + aot_gpr_5 = (aot_gpr_2 | 0u); + aot_gpr_6 = (0u | 1u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x0898A20Cu); ctx.gpr[8] = (0u | 1u); @@ -5474,30 +5475,30 @@ L_0898A20C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898A224u) goto L_0898A224; AOT_REGCACHE_SYNC_OUT(); return; L_0898A224: - aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(1256), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(aot_gpr_2 + static_cast(1256), std::bit_cast(aot_fpr_20)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(9288))); - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-16130), static_cast(aot_gpr_16)); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-16130), static_cast(ctx.gpr[16])); aot_gpr_4 = (aot_gpr_4 + static_cast(1000)); aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(9288), aot_gpr_4); { std::uint32_t aot_run_words[5]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(0), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); - aot_gpr_16 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[1]; ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(32)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(32)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0898A254: - aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-32)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5848))); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(8), aot_run_words); } + { const std::uint32_t aot_run_words[4]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(8), aot_run_words); } if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); goto L_0898A280; @@ -5513,7 +5514,7 @@ L_0898A27C: goto L_0898A280; L_0898A280: { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5848))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5848))); if (branch_taken) { goto L_0898A2B0; } @@ -5526,7 +5527,7 @@ L_0898A288: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898A294u) goto L_0898A294; AOT_REGCACHE_SYNC_OUT(); return; L_0898A294: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { @@ -5537,7 +5538,7 @@ L_0898A294: L_0898A2A0: aot_gpr_31 = (0x0898A2A8u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898A2A8u) goto L_0898A2A8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898A2A8u) goto L_0898A2A8; AOT_REGCACHE_SYNC_OUT(); return; L_0898A2A8: ctx.gpr[18] = (ctx.gpr[17] | 0u); @@ -5552,9 +5553,9 @@ L_0898A2B0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898A2BCu) goto L_0898A2BC; AOT_REGCACHE_SYNC_OUT(); return; L_0898A2BC: - aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_4 = (ctx.gpr[16] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); + aot_gpr_6 = (0u | 1u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x0898A2D4u); ctx.gpr[8] = (0u | 1u); @@ -5567,15 +5568,15 @@ L_0898A2D4: AOT_REGCACHE_SYNC_OUT(); return; L_0898A2DC: aot_gpr_31 = (0x0898A2E4u); - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898A2E4u) goto L_0898A2E4; AOT_REGCACHE_SYNC_OUT(); return; L_0898A2E4: - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(2320))); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(2320))); aot_gpr_4 = (0u | 6u); aot_gpr_5 = (aot_gpr_5 + static_cast(2)); - ctx.gpr[6] = (static_cast(aot_gpr_5) < 6 ? 1u : 0u); - if (ctx.gpr[6] != 0u) { + aot_gpr_6 = (static_cast(aot_gpr_5) < 6 ? 1u : 0u); + if (aot_gpr_6 != 0u) { aot_gpr_4 = (aot_gpr_5 | 0u); goto L_0898A2FC; } @@ -5583,7 +5584,7 @@ L_0898A2E4: L_0898A2FC: aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_31 = (0x0898A308u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 657u, 0x0894748Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898A308u) goto L_0898A308; AOT_REGCACHE_SYNC_OUT(); return; L_0898A308: @@ -5593,23 +5594,23 @@ L_0898A308: aot_gpr_4 = (aot_gpr_5 + static_cast(1000)); aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(9288), aot_gpr_4); { std::uint32_t aot_run_words[4]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(8), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(8), aot_run_words); + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(32)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(32)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0898A334: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5848))); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } + { const std::uint32_t aot_run_words[4]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(0), aot_run_words); } if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); goto L_0898A360; @@ -5638,8 +5639,8 @@ L_0898A368: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898A374u) goto L_0898A374; AOT_REGCACHE_SYNC_OUT(); return; L_0898A374: - aot_gpr_16 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_0898A38C; @@ -5648,11 +5649,11 @@ L_0898A374: } L_0898A380: aot_gpr_31 = (0x0898A388u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898A388u) goto L_0898A388; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898A388u) goto L_0898A388; AOT_REGCACHE_SYNC_OUT(); return; L_0898A388: - ctx.gpr[17] = (aot_gpr_16 | 0u); + ctx.gpr[17] = (ctx.gpr[16] | 0u); goto L_0898A38C; L_0898A38C: aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); @@ -5665,9 +5666,9 @@ L_0898A390: AOT_REGCACHE_SYNC_OUT(); return; L_0898A39C: aot_gpr_4 = (ctx.gpr[18] | 0u); - aot_gpr_16 = (0u | 1u); - aot_gpr_5 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (0u | 1u); + ctx.gpr[16] = (0u | 1u); + aot_gpr_5 = (aot_gpr_2 | 0u); + aot_gpr_6 = (0u | 1u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x0898A3B8u); ctx.gpr[8] = (0u | 1u); @@ -5679,34 +5680,34 @@ L_0898A3B8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898A3C0u) goto L_0898A3C0; AOT_REGCACHE_SYNC_OUT(); return; L_0898A3C0: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x0898A3CCu); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 657u, 0x0894748Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898A3CCu) goto L_0898A3CC; AOT_REGCACHE_SYNC_OUT(); return; L_0898A3CC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(9288))); - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-16130), static_cast(aot_gpr_16)); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-16130), static_cast(ctx.gpr[16])); aot_gpr_4 = (aot_gpr_4 + static_cast(1000)); aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(9288), aot_gpr_4); { std::uint32_t aot_run_words[4]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(0), aot_run_words); + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0898A3F4: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5848))); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } + { const std::uint32_t aot_run_words[4]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(0), aot_run_words); } if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); goto L_0898A420; @@ -5735,8 +5736,8 @@ L_0898A428: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898A434u) goto L_0898A434; AOT_REGCACHE_SYNC_OUT(); return; L_0898A434: - aot_gpr_16 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_0898A44C; @@ -5745,11 +5746,11 @@ L_0898A434: } L_0898A440: aot_gpr_31 = (0x0898A448u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898A448u) goto L_0898A448; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898A448u) goto L_0898A448; AOT_REGCACHE_SYNC_OUT(); return; L_0898A448: - ctx.gpr[17] = (aot_gpr_16 | 0u); + ctx.gpr[17] = (ctx.gpr[16] | 0u); goto L_0898A44C; L_0898A44C: aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); @@ -5762,9 +5763,9 @@ L_0898A450: AOT_REGCACHE_SYNC_OUT(); return; L_0898A45C: aot_gpr_4 = (ctx.gpr[18] | 0u); - aot_gpr_16 = (0u | 1u); - aot_gpr_5 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (0u | 1u); + ctx.gpr[16] = (0u | 1u); + aot_gpr_5 = (aot_gpr_2 | 0u); + aot_gpr_6 = (0u | 1u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x0898A478u); ctx.gpr[8] = (0u | 1u); @@ -5777,27 +5778,27 @@ L_0898A478: AOT_REGCACHE_SYNC_OUT(); return; L_0898A480: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(9288))); - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-16130), static_cast(aot_gpr_16)); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-16130), static_cast(ctx.gpr[16])); aot_gpr_4 = (aot_gpr_4 + static_cast(1000)); aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(9288), aot_gpr_4); { std::uint32_t aot_run_words[4]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(0), aot_run_words); + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0898A4A8: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5848))); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } + { const std::uint32_t aot_run_words[4]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(0), aot_run_words); } if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); goto L_0898A4D4; @@ -5826,8 +5827,8 @@ L_0898A4DC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898A4E8u) goto L_0898A4E8; AOT_REGCACHE_SYNC_OUT(); return; L_0898A4E8: - aot_gpr_16 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_0898A500; @@ -5836,11 +5837,11 @@ L_0898A4E8: } L_0898A4F4: aot_gpr_31 = (0x0898A4FCu); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898A4FCu) goto L_0898A4FC; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898A4FCu) goto L_0898A4FC; AOT_REGCACHE_SYNC_OUT(); return; L_0898A4FC: - ctx.gpr[17] = (aot_gpr_16 | 0u); + ctx.gpr[17] = (ctx.gpr[16] | 0u); goto L_0898A500; L_0898A500: aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); @@ -5853,9 +5854,9 @@ L_0898A504: AOT_REGCACHE_SYNC_OUT(); return; L_0898A510: aot_gpr_4 = (ctx.gpr[18] | 0u); - aot_gpr_16 = (0u | 1u); - aot_gpr_5 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (0u | 1u); + ctx.gpr[16] = (0u | 1u); + aot_gpr_5 = (aot_gpr_2 | 0u); + aot_gpr_6 = (0u | 1u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x0898A52Cu); ctx.gpr[8] = (0u | 1u); @@ -5868,27 +5869,27 @@ L_0898A52C: AOT_REGCACHE_SYNC_OUT(); return; L_0898A534: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(9288))); - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-16130), static_cast(aot_gpr_16)); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-16130), static_cast(ctx.gpr[16])); aot_gpr_4 = (aot_gpr_4 + static_cast(1000)); aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(9288), aot_gpr_4); { std::uint32_t aot_run_words[4]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(0), aot_run_words); + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0898A55C: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5848))); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } + { const std::uint32_t aot_run_words[4]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(0), aot_run_words); } if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); goto L_0898A588; @@ -5917,8 +5918,8 @@ L_0898A590: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898A59Cu) goto L_0898A59C; AOT_REGCACHE_SYNC_OUT(); return; L_0898A59C: - aot_gpr_16 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_0898A5B4; @@ -5927,11 +5928,11 @@ L_0898A59C: } L_0898A5A8: aot_gpr_31 = (0x0898A5B0u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898A5B0u) goto L_0898A5B0; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898A5B0u) goto L_0898A5B0; AOT_REGCACHE_SYNC_OUT(); return; L_0898A5B0: - ctx.gpr[17] = (aot_gpr_16 | 0u); + ctx.gpr[17] = (ctx.gpr[16] | 0u); goto L_0898A5B4; L_0898A5B4: aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); @@ -5944,9 +5945,9 @@ L_0898A5B8: AOT_REGCACHE_SYNC_OUT(); return; L_0898A5C4: aot_gpr_4 = (ctx.gpr[18] | 0u); - aot_gpr_16 = (0u | 1u); - aot_gpr_5 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (0u | 1u); + ctx.gpr[16] = (0u | 1u); + aot_gpr_5 = (aot_gpr_2 | 0u); + aot_gpr_6 = (0u | 1u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x0898A5E0u); ctx.gpr[8] = (0u | 1u); @@ -5959,27 +5960,27 @@ L_0898A5E0: AOT_REGCACHE_SYNC_OUT(); return; L_0898A5E8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(9288))); - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-16130), static_cast(aot_gpr_16)); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-16130), static_cast(ctx.gpr[16])); aot_gpr_4 = (aot_gpr_4 + static_cast(1000)); aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(9288), aot_gpr_4); { std::uint32_t aot_run_words[4]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(0), aot_run_words); + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0898A610: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5848))); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } + { const std::uint32_t aot_run_words[4]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(0), aot_run_words); } if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); goto L_0898A63C; @@ -6008,8 +6009,8 @@ L_0898A644: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898A650u) goto L_0898A650; AOT_REGCACHE_SYNC_OUT(); return; L_0898A650: - aot_gpr_16 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_0898A668; @@ -6018,11 +6019,11 @@ L_0898A650: } L_0898A65C: aot_gpr_31 = (0x0898A664u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898A664u) goto L_0898A664; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898A664u) goto L_0898A664; AOT_REGCACHE_SYNC_OUT(); return; L_0898A664: - ctx.gpr[17] = (aot_gpr_16 | 0u); + ctx.gpr[17] = (ctx.gpr[16] | 0u); goto L_0898A668; L_0898A668: aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); @@ -6035,9 +6036,9 @@ L_0898A66C: AOT_REGCACHE_SYNC_OUT(); return; L_0898A678: aot_gpr_4 = (ctx.gpr[18] | 0u); - aot_gpr_16 = (0u | 1u); - aot_gpr_5 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (0u | 1u); + ctx.gpr[16] = (0u | 1u); + aot_gpr_5 = (aot_gpr_2 | 0u); + aot_gpr_6 = (0u | 1u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x0898A694u); ctx.gpr[8] = (0u | 1u); @@ -6050,27 +6051,27 @@ L_0898A694: AOT_REGCACHE_SYNC_OUT(); return; L_0898A69C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(9288))); - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-16130), static_cast(aot_gpr_16)); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-16130), static_cast(ctx.gpr[16])); aot_gpr_4 = (aot_gpr_4 + static_cast(1000)); aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(9288), aot_gpr_4); { std::uint32_t aot_run_words[4]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(0), aot_run_words); + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0898A6C4: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5848))); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } + { const std::uint32_t aot_run_words[4]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(0), aot_run_words); } if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); goto L_0898A6F0; @@ -6099,8 +6100,8 @@ L_0898A6F8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898A704u) goto L_0898A704; AOT_REGCACHE_SYNC_OUT(); return; L_0898A704: - aot_gpr_16 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_0898A71C; @@ -6109,11 +6110,11 @@ L_0898A704: } L_0898A710: aot_gpr_31 = (0x0898A718u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898A718u) goto L_0898A718; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898A718u) goto L_0898A718; AOT_REGCACHE_SYNC_OUT(); return; L_0898A718: - ctx.gpr[17] = (aot_gpr_16 | 0u); + ctx.gpr[17] = (ctx.gpr[16] | 0u); goto L_0898A71C; L_0898A71C: aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); @@ -6126,9 +6127,9 @@ L_0898A720: AOT_REGCACHE_SYNC_OUT(); return; L_0898A72C: aot_gpr_4 = (ctx.gpr[18] | 0u); - aot_gpr_16 = (0u | 1u); - aot_gpr_5 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (0u | 1u); + ctx.gpr[16] = (0u | 1u); + aot_gpr_5 = (aot_gpr_2 | 0u); + aot_gpr_6 = (0u | 1u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x0898A748u); ctx.gpr[8] = (0u | 1u); @@ -6141,27 +6142,27 @@ L_0898A748: AOT_REGCACHE_SYNC_OUT(); return; L_0898A750: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(9288))); - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-16130), static_cast(aot_gpr_16)); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-16130), static_cast(ctx.gpr[16])); aot_gpr_4 = (aot_gpr_4 + static_cast(1000)); aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(9288), aot_gpr_4); { std::uint32_t aot_run_words[4]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(0), aot_run_words); + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0898A778: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5848))); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } + { const std::uint32_t aot_run_words[4]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(0), aot_run_words); } if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); goto L_0898A7A4; @@ -6190,8 +6191,8 @@ L_0898A7AC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898A7B8u) goto L_0898A7B8; AOT_REGCACHE_SYNC_OUT(); return; L_0898A7B8: - aot_gpr_16 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_0898A7D0; @@ -6200,11 +6201,11 @@ L_0898A7B8: } L_0898A7C4: aot_gpr_31 = (0x0898A7CCu); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898A7CCu) goto L_0898A7CC; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898A7CCu) goto L_0898A7CC; AOT_REGCACHE_SYNC_OUT(); return; L_0898A7CC: - ctx.gpr[17] = (aot_gpr_16 | 0u); + ctx.gpr[17] = (ctx.gpr[16] | 0u); goto L_0898A7D0; L_0898A7D0: aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); @@ -6217,9 +6218,9 @@ L_0898A7D4: AOT_REGCACHE_SYNC_OUT(); return; L_0898A7E0: aot_gpr_4 = (ctx.gpr[18] | 0u); - aot_gpr_16 = (0u | 1u); - aot_gpr_5 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (0u | 1u); + ctx.gpr[16] = (0u | 1u); + aot_gpr_5 = (aot_gpr_2 | 0u); + aot_gpr_6 = (0u | 1u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x0898A7FCu); ctx.gpr[8] = (0u | 1u); @@ -6230,27 +6231,27 @@ L_0898A7FC: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(9288))); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(4180), static_cast(aot_gpr_4)); - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-16130), static_cast(aot_gpr_16)); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-16130), static_cast(ctx.gpr[16])); aot_gpr_4 = (aot_gpr_5 + static_cast(1000)); aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(9288), aot_gpr_4); { std::uint32_t aot_run_words[4]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(0), aot_run_words); + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0898A830: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5848))); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } + { const std::uint32_t aot_run_words[4]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(0), aot_run_words); } if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); goto L_0898A85C; @@ -6279,8 +6280,8 @@ L_0898A864: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898A870u) goto L_0898A870; AOT_REGCACHE_SYNC_OUT(); return; L_0898A870: - aot_gpr_16 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_0898A888; @@ -6289,11 +6290,11 @@ L_0898A870: } L_0898A87C: aot_gpr_31 = (0x0898A884u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898A884u) goto L_0898A884; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898A884u) goto L_0898A884; AOT_REGCACHE_SYNC_OUT(); return; L_0898A884: - ctx.gpr[17] = (aot_gpr_16 | 0u); + ctx.gpr[17] = (ctx.gpr[16] | 0u); goto L_0898A888; L_0898A888: aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); @@ -6306,9 +6307,9 @@ L_0898A88C: AOT_REGCACHE_SYNC_OUT(); return; L_0898A898: aot_gpr_4 = (ctx.gpr[18] | 0u); - aot_gpr_16 = (0u | 1u); - aot_gpr_5 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (0u | 1u); + ctx.gpr[16] = (0u | 1u); + aot_gpr_5 = (aot_gpr_2 | 0u); + aot_gpr_6 = (0u | 1u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x0898A8B4u); ctx.gpr[8] = (0u | 1u); @@ -6319,27 +6320,27 @@ L_0898A8B4: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(9288))); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(1778), static_cast(aot_gpr_4)); - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-16130), static_cast(aot_gpr_16)); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-16130), static_cast(ctx.gpr[16])); aot_gpr_4 = (aot_gpr_5 + static_cast(1000)); aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(9288), aot_gpr_4); { std::uint32_t aot_run_words[4]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(0), aot_run_words); + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0898A8E8: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5848))); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } + { const std::uint32_t aot_run_words[4]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(0), aot_run_words); } if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); goto L_0898A914; @@ -6368,8 +6369,8 @@ L_0898A91C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898A928u) goto L_0898A928; AOT_REGCACHE_SYNC_OUT(); return; L_0898A928: - aot_gpr_16 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_0898A940; @@ -6378,11 +6379,11 @@ L_0898A928: } L_0898A934: aot_gpr_31 = (0x0898A93Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898A93Cu) goto L_0898A93C; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898A93Cu) goto L_0898A93C; AOT_REGCACHE_SYNC_OUT(); return; L_0898A93C: - ctx.gpr[17] = (aot_gpr_16 | 0u); + ctx.gpr[17] = (ctx.gpr[16] | 0u); goto L_0898A940; L_0898A940: aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); @@ -6395,9 +6396,9 @@ L_0898A944: AOT_REGCACHE_SYNC_OUT(); return; L_0898A950: aot_gpr_4 = (ctx.gpr[18] | 0u); - aot_gpr_16 = (0u | 1u); - aot_gpr_5 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (0u | 1u); + ctx.gpr[16] = (0u | 1u); + aot_gpr_5 = (aot_gpr_2 | 0u); + aot_gpr_6 = (0u | 1u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x0898A96Cu); ctx.gpr[8] = (0u | 1u); @@ -6408,27 +6409,27 @@ L_0898A96C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(9288))); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-9200), static_cast(aot_gpr_4)); - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-16130), static_cast(aot_gpr_16)); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-16130), static_cast(ctx.gpr[16])); aot_gpr_4 = (aot_gpr_5 + static_cast(1000)); aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(9288), aot_gpr_4); { std::uint32_t aot_run_words[4]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(0), aot_run_words); + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0898A9A0: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5848))); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } + { const std::uint32_t aot_run_words[4]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(0), aot_run_words); } if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); goto L_0898A9CC; @@ -6457,8 +6458,8 @@ L_0898A9D4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898A9E0u) goto L_0898A9E0; AOT_REGCACHE_SYNC_OUT(); return; L_0898A9E0: - aot_gpr_16 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_0898A9F8; @@ -6467,11 +6468,11 @@ L_0898A9E0: } L_0898A9EC: aot_gpr_31 = (0x0898A9F4u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898A9F4u) goto L_0898A9F4; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898A9F4u) goto L_0898A9F4; AOT_REGCACHE_SYNC_OUT(); return; L_0898A9F4: - ctx.gpr[17] = (aot_gpr_16 | 0u); + ctx.gpr[17] = (ctx.gpr[16] | 0u); goto L_0898A9F8; L_0898A9F8: aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); @@ -6484,9 +6485,9 @@ L_0898A9FC: AOT_REGCACHE_SYNC_OUT(); return; L_0898AA08: aot_gpr_4 = (ctx.gpr[18] | 0u); - aot_gpr_16 = (0u | 1u); - aot_gpr_5 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (0u | 1u); + ctx.gpr[16] = (0u | 1u); + aot_gpr_5 = (aot_gpr_2 | 0u); + aot_gpr_6 = (0u | 1u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x0898AA24u); ctx.gpr[8] = (0u | 1u); @@ -6497,27 +6498,27 @@ L_0898AA24: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(9288))); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-9199), static_cast(aot_gpr_4)); - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-16130), static_cast(aot_gpr_16)); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-16130), static_cast(ctx.gpr[16])); aot_gpr_4 = (aot_gpr_5 + static_cast(1000)); aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(9288), aot_gpr_4); { std::uint32_t aot_run_words[4]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(0), aot_run_words); + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0898AA58: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5848))); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } + { const std::uint32_t aot_run_words[4]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(0), aot_run_words); } if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); goto L_0898AA84; @@ -6546,8 +6547,8 @@ L_0898AA8C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898AA98u) goto L_0898AA98; AOT_REGCACHE_SYNC_OUT(); return; L_0898AA98: - aot_gpr_16 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_0898AAB0; @@ -6556,11 +6557,11 @@ L_0898AA98: } L_0898AAA4: aot_gpr_31 = (0x0898AAACu); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898AAACu) goto L_0898AAAC; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898AAACu) goto L_0898AAAC; AOT_REGCACHE_SYNC_OUT(); return; L_0898AAAC: - ctx.gpr[17] = (aot_gpr_16 | 0u); + ctx.gpr[17] = (ctx.gpr[16] | 0u); goto L_0898AAB0; L_0898AAB0: aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); @@ -6573,9 +6574,9 @@ L_0898AAB4: AOT_REGCACHE_SYNC_OUT(); return; L_0898AAC0: aot_gpr_4 = (ctx.gpr[18] | 0u); - aot_gpr_16 = (0u | 1u); - aot_gpr_5 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (0u | 1u); + ctx.gpr[16] = (0u | 1u); + aot_gpr_5 = (aot_gpr_2 | 0u); + aot_gpr_6 = (0u | 1u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x0898AADCu); ctx.gpr[8] = (0u | 1u); @@ -6586,27 +6587,27 @@ L_0898AADC: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(9288))); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-9198), static_cast(aot_gpr_4)); - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-16130), static_cast(aot_gpr_16)); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-16130), static_cast(ctx.gpr[16])); aot_gpr_4 = (aot_gpr_5 + static_cast(1000)); aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(9288), aot_gpr_4); { std::uint32_t aot_run_words[4]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(0), aot_run_words); + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0898AB10: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5848))); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } + { const std::uint32_t aot_run_words[4]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(0), aot_run_words); } if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); goto L_0898AB3C; @@ -6635,8 +6636,8 @@ L_0898AB44: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898AB50u) goto L_0898AB50; AOT_REGCACHE_SYNC_OUT(); return; L_0898AB50: - aot_gpr_16 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_0898AB68; @@ -6645,11 +6646,11 @@ L_0898AB50: } L_0898AB5C: aot_gpr_31 = (0x0898AB64u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898AB64u) goto L_0898AB64; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898AB64u) goto L_0898AB64; AOT_REGCACHE_SYNC_OUT(); return; L_0898AB64: - ctx.gpr[17] = (aot_gpr_16 | 0u); + ctx.gpr[17] = (ctx.gpr[16] | 0u); goto L_0898AB68; L_0898AB68: aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); @@ -6662,9 +6663,9 @@ L_0898AB6C: AOT_REGCACHE_SYNC_OUT(); return; L_0898AB78: aot_gpr_4 = (ctx.gpr[18] | 0u); - aot_gpr_16 = (0u | 1u); - aot_gpr_5 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (0u | 1u); + ctx.gpr[16] = (0u | 1u); + aot_gpr_5 = (aot_gpr_2 | 0u); + aot_gpr_6 = (0u | 1u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x0898AB94u); ctx.gpr[8] = (0u | 1u); @@ -6675,27 +6676,27 @@ L_0898AB94: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(9288))); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-9197), static_cast(aot_gpr_4)); - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-16130), static_cast(aot_gpr_16)); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-16130), static_cast(ctx.gpr[16])); aot_gpr_4 = (aot_gpr_5 + static_cast(1000)); aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(9288), aot_gpr_4); { std::uint32_t aot_run_words[4]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(0), aot_run_words); + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0898ABC8: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5848))); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } + { const std::uint32_t aot_run_words[4]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(0), aot_run_words); } if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); goto L_0898ABF4; @@ -6724,8 +6725,8 @@ L_0898ABFC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898AC08u) goto L_0898AC08; AOT_REGCACHE_SYNC_OUT(); return; L_0898AC08: - aot_gpr_16 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_0898AC20; @@ -6734,11 +6735,11 @@ L_0898AC08: } L_0898AC14: aot_gpr_31 = (0x0898AC1Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898AC1Cu) goto L_0898AC1C; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898AC1Cu) goto L_0898AC1C; AOT_REGCACHE_SYNC_OUT(); return; L_0898AC1C: - ctx.gpr[17] = (aot_gpr_16 | 0u); + ctx.gpr[17] = (ctx.gpr[16] | 0u); goto L_0898AC20; L_0898AC20: aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); @@ -6751,9 +6752,9 @@ L_0898AC24: AOT_REGCACHE_SYNC_OUT(); return; L_0898AC30: aot_gpr_4 = (ctx.gpr[18] | 0u); - aot_gpr_16 = (0u | 1u); - aot_gpr_5 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (0u | 1u); + ctx.gpr[16] = (0u | 1u); + aot_gpr_5 = (aot_gpr_2 | 0u); + aot_gpr_6 = (0u | 1u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x0898AC4Cu); ctx.gpr[8] = (0u | 1u); @@ -6766,10 +6767,10 @@ L_0898AC4C: AOT_REGCACHE_SYNC_OUT(); return; L_0898AC54: ctx.gpr[10] = (17530u << 16u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_fpr_12 = std::bit_cast(ctx.gpr[10]); aot_gpr_5 = (0u | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 0u); aot_gpr_31 = (0x0898AC78u); @@ -6778,27 +6779,27 @@ L_0898AC54: AOT_REGCACHE_SYNC_OUT(); return; L_0898AC78: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(9288))); - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-16130), static_cast(aot_gpr_16)); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-16130), static_cast(ctx.gpr[16])); aot_gpr_4 = (aot_gpr_4 + static_cast(1000)); aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(9288), aot_gpr_4); { std::uint32_t aot_run_words[4]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(0), aot_run_words); + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0898ACA0: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5848))); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } + { const std::uint32_t aot_run_words[4]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(0), aot_run_words); } if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); goto L_0898ACCC; @@ -6827,8 +6828,8 @@ L_0898ACD4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898ACE0u) goto L_0898ACE0; AOT_REGCACHE_SYNC_OUT(); return; L_0898ACE0: - aot_gpr_16 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_0898ACF8; @@ -6837,11 +6838,11 @@ L_0898ACE0: } L_0898ACEC: aot_gpr_31 = (0x0898ACF4u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898ACF4u) goto L_0898ACF4; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898ACF4u) goto L_0898ACF4; AOT_REGCACHE_SYNC_OUT(); return; L_0898ACF4: - ctx.gpr[17] = (aot_gpr_16 | 0u); + ctx.gpr[17] = (ctx.gpr[16] | 0u); goto L_0898ACF8; L_0898ACF8: aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); @@ -6854,9 +6855,9 @@ L_0898ACFC: AOT_REGCACHE_SYNC_OUT(); return; L_0898AD08: aot_gpr_4 = (ctx.gpr[18] | 0u); - aot_gpr_16 = (0u | 1u); - aot_gpr_5 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (0u | 1u); + ctx.gpr[16] = (0u | 1u); + aot_gpr_5 = (aot_gpr_2 | 0u); + aot_gpr_6 = (0u | 1u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x0898AD24u); ctx.gpr[8] = (0u | 1u); @@ -6864,28 +6865,28 @@ L_0898AD08: AOT_REGCACHE_SYNC_OUT(); return; L_0898AD24: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(9288))); - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-8160), static_cast(aot_gpr_16)); - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-16130), static_cast(aot_gpr_16)); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-8160), static_cast(ctx.gpr[16])); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-16130), static_cast(ctx.gpr[16])); aot_gpr_4 = (aot_gpr_4 + static_cast(1000)); aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(9288), aot_gpr_4); { std::uint32_t aot_run_words[4]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(0), aot_run_words); + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0898AD50: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5848))); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } + { const std::uint32_t aot_run_words[4]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(0), aot_run_words); } if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); goto L_0898AD7C; @@ -6914,8 +6915,8 @@ L_0898AD84: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898AD90u) goto L_0898AD90; AOT_REGCACHE_SYNC_OUT(); return; L_0898AD90: - aot_gpr_16 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_0898ADA8; @@ -6924,11 +6925,11 @@ L_0898AD90: } L_0898AD9C: aot_gpr_31 = (0x0898ADA4u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898ADA4u) goto L_0898ADA4; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898ADA4u) goto L_0898ADA4; AOT_REGCACHE_SYNC_OUT(); return; L_0898ADA4: - ctx.gpr[17] = (aot_gpr_16 | 0u); + ctx.gpr[17] = (ctx.gpr[16] | 0u); goto L_0898ADA8; L_0898ADA8: aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); @@ -6941,9 +6942,9 @@ L_0898ADAC: AOT_REGCACHE_SYNC_OUT(); return; L_0898ADB8: aot_gpr_4 = (ctx.gpr[18] | 0u); - aot_gpr_16 = (0u | 1u); - aot_gpr_5 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (0u | 1u); + ctx.gpr[16] = (0u | 1u); + aot_gpr_5 = (aot_gpr_2 | 0u); + aot_gpr_6 = (0u | 1u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x0898ADD4u); ctx.gpr[8] = (0u | 1u); @@ -6951,28 +6952,28 @@ L_0898ADB8: AOT_REGCACHE_SYNC_OUT(); return; L_0898ADD4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(9288))); - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(5480), static_cast(aot_gpr_16)); - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-16130), static_cast(aot_gpr_16)); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(5480), static_cast(ctx.gpr[16])); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-16130), static_cast(ctx.gpr[16])); aot_gpr_4 = (aot_gpr_4 + static_cast(1000)); aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(9288), aot_gpr_4); { std::uint32_t aot_run_words[4]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(0), aot_run_words); + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0898AE00: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5848))); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } + { const std::uint32_t aot_run_words[4]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(0), aot_run_words); } if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); goto L_0898AE2C; @@ -7001,8 +7002,8 @@ L_0898AE34: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898AE40u) goto L_0898AE40; AOT_REGCACHE_SYNC_OUT(); return; L_0898AE40: - aot_gpr_16 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_0898AE58; @@ -7011,11 +7012,11 @@ L_0898AE40: } L_0898AE4C: aot_gpr_31 = (0x0898AE54u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898AE54u) goto L_0898AE54; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898AE54u) goto L_0898AE54; AOT_REGCACHE_SYNC_OUT(); return; L_0898AE54: - ctx.gpr[17] = (aot_gpr_16 | 0u); + ctx.gpr[17] = (ctx.gpr[16] | 0u); goto L_0898AE58; L_0898AE58: aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); @@ -7028,44 +7029,44 @@ L_0898AE5C: AOT_REGCACHE_SYNC_OUT(); return; L_0898AE68: aot_gpr_4 = (ctx.gpr[18] | 0u); - aot_gpr_16 = (0u | 1u); - aot_gpr_5 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (0u | 1u); + ctx.gpr[16] = (0u | 1u); + aot_gpr_5 = (aot_gpr_2 | 0u); + aot_gpr_6 = (0u | 1u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x0898AE84u); ctx.gpr[8] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0109_entry, 109u, 646u, 0x089BB028u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898AE84u) goto L_0898AE84; AOT_REGCACHE_SYNC_OUT(); return; L_0898AE84: - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-3212), static_cast(aot_gpr_16)); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-3212), static_cast(ctx.gpr[16])); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(9288))); aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-3211), static_cast(0u)); - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-16130), static_cast(aot_gpr_16)); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-16130), static_cast(ctx.gpr[16])); aot_gpr_4 = (aot_gpr_4 + static_cast(1000)); aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(9288), aot_gpr_4); { std::uint32_t aot_run_words[4]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(0), aot_run_words); + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0898AEB4: - aot_gpr_29 = (aot_gpr_29 + static_cast(-64)); - { const std::uint32_t aot_run_words[7]{std::bit_cast(aot_fpr_20), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(32), aot_run_words); } + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-64)); + { const std::uint32_t aot_run_words[7]{std::bit_cast(aot_fpr_20), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(32), aot_run_words); } aot_gpr_31 = (0x0898AEDCu); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898AEDCu) goto L_0898AEDC; AOT_REGCACHE_SYNC_OUT(); return; L_0898AEDC: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_0898B04C; @@ -7078,9 +7079,9 @@ L_0898AEE4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898AEECu) goto L_0898AEEC; AOT_REGCACHE_SYNC_OUT(); return; L_0898AEEC: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(852))); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_16 = (0u | 6u); + ctx.gpr[16] = (0u | 6u); if (branch_taken) { goto L_0898AF0C; } @@ -7092,8 +7093,8 @@ L_0898AEF8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898AF00u) goto L_0898AF00; AOT_REGCACHE_SYNC_OUT(); return; L_0898AF00: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(852))); - { const bool branch_taken = aot_gpr_4 != aot_gpr_16; + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(852))); + { const bool branch_taken = aot_gpr_4 != ctx.gpr[16]; // nop if (branch_taken) { goto L_0898B04C; @@ -7102,18 +7103,18 @@ L_0898AF00: } L_0898AF0C: aot_gpr_31 = (0x0898AF14u); - ctx.gpr[17] = (aot_gpr_16 | 0u); + ctx.gpr[17] = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898AF14u) goto L_0898AF14; AOT_REGCACHE_SYNC_OUT(); return; L_0898AF14: aot_gpr_31 = (0x0898AF1Cu); - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898AF1Cu) goto L_0898AF1C; AOT_REGCACHE_SYNC_OUT(); return; L_0898AF1C: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(852))); { const bool branch_taken = aot_gpr_4 != ctx.gpr[17]; - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (branch_taken) { goto L_0898AF54; } @@ -7125,7 +7126,7 @@ L_0898AF28: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898AF30u) goto L_0898AF30; AOT_REGCACHE_SYNC_OUT(); return; L_0898AF30: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_0898AF54; @@ -7133,20 +7134,20 @@ L_0898AF30: goto L_0898AF38; } L_0898AF38: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x0898AF44u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898AF44u) goto L_0898AF44; AOT_REGCACHE_SYNC_OUT(); return; L_0898AF44: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 16u); aot_gpr_31 = (0x0898AF54u); - ctx.gpr[6] = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0178_entry, 178u, 482u, 0x08ACD698u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898AF54u) goto L_0898AF54; AOT_REGCACHE_SYNC_OUT(); return; L_0898AF54: - aot_gpr_4 = (aot_gpr_16 + static_cast(48)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -7156,7 +7157,7 @@ L_0898AF54: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - ctx.gpr[17] = (aot_gpr_29 + static_cast(16)); + ctx.gpr[17] = (ctx.gpr[29] + static_cast(16)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; @@ -7169,20 +7170,20 @@ L_0898AF54: L_0898AF70: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); - aot_gpr_5 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); + aot_gpr_6 = (0u | 0u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 1u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[11] = (0u | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), 0u); aot_gpr_31 = (0x0898AFA0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0037_entry, 37u, 487u, 0x0889ACD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898AFA0u) goto L_0898AFA0; AOT_REGCACHE_SYNC_OUT(); return; L_0898AFA0: - ctx.gpr[20] = (ctx.gpr[2] | 0u); + ctx.gpr[20] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[20] == 0u; // nop if (branch_taken) { @@ -7230,7 +7231,7 @@ L_0898AFDC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898AFE8u) goto L_0898AFE8; AOT_REGCACHE_SYNC_OUT(); return; L_0898AFE8: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { @@ -7241,7 +7242,7 @@ L_0898AFE8: L_0898AFF4: aot_gpr_31 = (0x0898AFFCu); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898AFFCu) goto L_0898AFFC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898AFFCu) goto L_0898AFFC; AOT_REGCACHE_SYNC_OUT(); return; L_0898AFFC: ctx.gpr[18] = (ctx.gpr[17] | 0u); @@ -7257,8 +7258,8 @@ L_0898B004: AOT_REGCACHE_SYNC_OUT(); return; L_0898B010: aot_gpr_4 = (ctx.gpr[19] | 0u); - aot_gpr_5 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_5 = (aot_gpr_2 | 0u); + aot_gpr_6 = (0u | 1u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x0898B028u); ctx.gpr[8] = (0u | 1u); @@ -7268,7 +7269,7 @@ L_0898B028: aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_5 = (0u | 17u); aot_gpr_31 = (0x0898B038u); - ctx.gpr[6] = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0178_entry, 178u, 482u, 0x08ACD698u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898B038u) goto L_0898B038; AOT_REGCACHE_SYNC_OUT(); return; L_0898B038: @@ -7280,9 +7281,9 @@ L_0898B038: goto L_0898B04C; L_0898B04C: { std::uint32_t aot_run_words[7]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(32), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(32), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); - aot_gpr_16 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[1]; ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; ctx.gpr[19] = aot_run_words[4]; @@ -7290,16 +7291,16 @@ L_0898B04C: aot_gpr_31 = aot_run_words[6]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(64)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(64)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0898B070: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5848))); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } + { const std::uint32_t aot_run_words[4]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(0), aot_run_words); } if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); goto L_0898B09C; @@ -7328,8 +7329,8 @@ L_0898B0A4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898B0B0u) goto L_0898B0B0; AOT_REGCACHE_SYNC_OUT(); return; L_0898B0B0: - aot_gpr_16 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_0898B0C8; @@ -7338,11 +7339,11 @@ L_0898B0B0: } L_0898B0BC: aot_gpr_31 = (0x0898B0C4u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898B0C4u) goto L_0898B0C4; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898B0C4u) goto L_0898B0C4; AOT_REGCACHE_SYNC_OUT(); return; L_0898B0C4: - ctx.gpr[17] = (aot_gpr_16 | 0u); + ctx.gpr[17] = (ctx.gpr[16] | 0u); goto L_0898B0C8; L_0898B0C8: aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); @@ -7355,9 +7356,9 @@ L_0898B0CC: AOT_REGCACHE_SYNC_OUT(); return; L_0898B0D8: aot_gpr_4 = (ctx.gpr[18] | 0u); - aot_gpr_16 = (0u | 1u); - aot_gpr_5 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (0u | 1u); + ctx.gpr[16] = (0u | 1u); + aot_gpr_5 = (aot_gpr_2 | 0u); + aot_gpr_6 = (0u | 1u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x0898B0F4u); ctx.gpr[8] = (0u | 1u); @@ -7365,29 +7366,29 @@ L_0898B0D8: AOT_REGCACHE_SYNC_OUT(); return; L_0898B0F4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(9288))); - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-20331), static_cast(aot_gpr_16)); - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-16130), static_cast(aot_gpr_16)); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-20331), static_cast(ctx.gpr[16])); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-16130), static_cast(ctx.gpr[16])); aot_gpr_4 = (aot_gpr_4 + static_cast(1000)); aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(9288), aot_gpr_4); { std::uint32_t aot_run_words[4]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(0), aot_run_words); + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0898B120: ctx.gpr[7] = (0u | 0u); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0)))))); goto L_0898B128; L_0898B128: - { const bool branch_taken = ctx.gpr[6] == 0u; + { const bool branch_taken = aot_gpr_6 == 0u; // nop if (branch_taken) { goto L_0898B158; @@ -7417,15 +7418,15 @@ L_0898B13C: AOT_REGCACHE_SYNC_OUT(); return; L_0898B158: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_0898B2BC; } goto L_0898B160; } L_0898B160: - ctx.gpr[6] = (ctx.gpr[6] + static_cast(-2)); - { const bool branch_taken = ctx.gpr[8] != ctx.gpr[6]; + aot_gpr_6 = (aot_gpr_6 + static_cast(-2)); + { const bool branch_taken = ctx.gpr[8] != aot_gpr_6; // nop if (branch_taken) { goto L_0898B17C; @@ -7436,9 +7437,9 @@ L_0898B16C: ctx.gpr[7] = (ctx.gpr[7] + static_cast(1)); goto L_0898B170; L_0898B170: - ctx.gpr[6] = (ctx.gpr[7] + aot_gpr_5); + aot_gpr_6 = (ctx.gpr[7] + aot_gpr_5); { const bool branch_taken = 0u == 0u; - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[6] + static_cast(0)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_6 + static_cast(0)))))); if (branch_taken) { goto L_0898B128; } @@ -7446,15 +7447,15 @@ L_0898B170: } L_0898B17C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_0898B2BC; } goto L_0898B184; } L_0898B184: - ctx.gpr[6] = (ctx.gpr[6] + static_cast(-5)); - { const bool branch_taken = ctx.gpr[8] != ctx.gpr[6]; + aot_gpr_6 = (aot_gpr_6 + static_cast(-5)); + { const bool branch_taken = ctx.gpr[8] != aot_gpr_6; // nop if (branch_taken) { goto L_0898B198; @@ -7471,15 +7472,15 @@ L_0898B190: } L_0898B198: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_0898B2BC; } goto L_0898B1A0; } L_0898B1A0: - ctx.gpr[6] = (ctx.gpr[6] + static_cast(-10)); - { const bool branch_taken = ctx.gpr[8] != ctx.gpr[6]; + aot_gpr_6 = (aot_gpr_6 + static_cast(-10)); + { const bool branch_taken = ctx.gpr[8] != aot_gpr_6; // nop if (branch_taken) { goto L_0898B1B4; @@ -7496,15 +7497,15 @@ L_0898B1AC: } L_0898B1B4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_0898B2BC; } goto L_0898B1BC; } L_0898B1BC: - ctx.gpr[6] = (ctx.gpr[6] + static_cast(-1)); - { const bool branch_taken = ctx.gpr[8] != ctx.gpr[6]; + aot_gpr_6 = (aot_gpr_6 + static_cast(-1)); + { const bool branch_taken = ctx.gpr[8] != aot_gpr_6; // nop if (branch_taken) { goto L_0898B1D0; @@ -7521,15 +7522,15 @@ L_0898B1C8: } L_0898B1D0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_0898B2BC; } goto L_0898B1D8; } L_0898B1D8: - ctx.gpr[6] = (ctx.gpr[6] + static_cast(-7)); - { const bool branch_taken = ctx.gpr[8] != ctx.gpr[6]; + aot_gpr_6 = (aot_gpr_6 + static_cast(-7)); + { const bool branch_taken = ctx.gpr[8] != aot_gpr_6; // nop if (branch_taken) { goto L_0898B1EC; @@ -7546,15 +7547,15 @@ L_0898B1E4: } L_0898B1EC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_0898B2BC; } goto L_0898B1F4; } L_0898B1F4: - ctx.gpr[6] = (ctx.gpr[6] + static_cast(-6)); - { const bool branch_taken = ctx.gpr[8] != ctx.gpr[6]; + aot_gpr_6 = (aot_gpr_6 + static_cast(-6)); + { const bool branch_taken = ctx.gpr[8] != aot_gpr_6; // nop if (branch_taken) { goto L_0898B208; @@ -7571,15 +7572,15 @@ L_0898B200: } L_0898B208: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_0898B2BC; } goto L_0898B210; } L_0898B210: - ctx.gpr[6] = (ctx.gpr[6] + static_cast(-10)); - { const bool branch_taken = ctx.gpr[8] != ctx.gpr[6]; + aot_gpr_6 = (aot_gpr_6 + static_cast(-10)); + { const bool branch_taken = ctx.gpr[8] != aot_gpr_6; // nop if (branch_taken) { goto L_0898B224; @@ -7596,15 +7597,15 @@ L_0898B21C: } L_0898B224: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_0898B2BC; } goto L_0898B22C; } L_0898B22C: - ctx.gpr[6] = (ctx.gpr[6] + static_cast(-11)); - { const bool branch_taken = ctx.gpr[8] != ctx.gpr[6]; + aot_gpr_6 = (aot_gpr_6 + static_cast(-11)); + { const bool branch_taken = ctx.gpr[8] != aot_gpr_6; // nop if (branch_taken) { goto L_0898B240; @@ -7621,15 +7622,15 @@ L_0898B238: } L_0898B240: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_0898B2BC; } goto L_0898B248; } L_0898B248: - ctx.gpr[6] = (ctx.gpr[6] + static_cast(-7)); - { const bool branch_taken = ctx.gpr[8] != ctx.gpr[6]; + aot_gpr_6 = (aot_gpr_6 + static_cast(-7)); + { const bool branch_taken = ctx.gpr[8] != aot_gpr_6; // nop if (branch_taken) { goto L_0898B25C; @@ -7646,15 +7647,15 @@ L_0898B254: } L_0898B25C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_0898B2BC; } goto L_0898B264; } L_0898B264: - ctx.gpr[6] = (ctx.gpr[6] + static_cast(-9)); - { const bool branch_taken = ctx.gpr[8] != ctx.gpr[6]; + aot_gpr_6 = (aot_gpr_6 + static_cast(-9)); + { const bool branch_taken = ctx.gpr[8] != aot_gpr_6; // nop if (branch_taken) { goto L_0898B278; @@ -7671,15 +7672,15 @@ L_0898B270: } L_0898B278: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_0898B2BC; } goto L_0898B280; } L_0898B280: - ctx.gpr[6] = (ctx.gpr[6] + static_cast(-3)); - { const bool branch_taken = ctx.gpr[8] != ctx.gpr[6]; + aot_gpr_6 = (aot_gpr_6 + static_cast(-3)); + { const bool branch_taken = ctx.gpr[8] != aot_gpr_6; // nop if (branch_taken) { goto L_0898B294; @@ -7696,15 +7697,15 @@ L_0898B28C: } L_0898B294: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_0898B2BC; } goto L_0898B29C; } L_0898B29C: - ctx.gpr[6] = (ctx.gpr[6] + static_cast(-8)); - { const bool branch_taken = ctx.gpr[8] != ctx.gpr[6]; + aot_gpr_6 = (aot_gpr_6 + static_cast(-8)); + { const bool branch_taken = ctx.gpr[8] != aot_gpr_6; // nop if (branch_taken) { goto L_0898B2B0; @@ -7721,14 +7722,14 @@ L_0898B2A8: } L_0898B2B0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_0898B2BC; } goto L_0898B2B8; } L_0898B2B8: - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); goto L_0898B2BC; L_0898B2BC: jump_target = aot_gpr_31; @@ -7768,32 +7769,32 @@ L_0898B2C4: ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0898B328: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x0898B340u); aot_gpr_5 = (0u | 1u); goto L_0898BA34; L_0898B340: - ctx.gpr[2] = (aot_gpr_16 | 0u); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_2 = (ctx.gpr[16] | 0u); + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0898B354: - aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-32)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5900))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[17]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(8), ctx.gpr[17]); ctx.gpr[17] = (2238u << 16u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), std::bit_cast(aot_fpr_20)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[18]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), ctx.gpr[16]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(12), ctx.gpr[18]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(16), aot_gpr_31); { const bool branch_taken = aot_gpr_4 != 0u; ctx.gpr[17] = (ctx.gpr[17] + static_cast(-6640)); if (branch_taken) { @@ -7814,7 +7815,7 @@ L_0898B384: L_0898B38C: aot_gpr_4 = (0u | 0u); ctx.gpr[18] = (0u | 0u); - aot_gpr_16 = (0u | 2u); + ctx.gpr[16] = (0u | 2u); ctx.gpr[17] = (aot_gpr_4 + ctx.gpr[17]); goto L_0898B39C; L_0898B39C: @@ -7823,7 +7824,7 @@ L_0898B39C: aot_gpr_5 = (0u | 1u); goto L_0898BA34; L_0898B3A8: - aot_mem.aot_direct_store16(ctx.gpr[17] + static_cast(150), static_cast(aot_gpr_16)); + aot_mem.aot_direct_store16(ctx.gpr[17] + static_cast(150), static_cast(ctx.gpr[16])); aot_gpr_4 = (0u | 0u); aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-16128), static_cast(aot_gpr_4)); ctx.gpr[18] = (ctx.gpr[18] + static_cast(1)); @@ -7850,24 +7851,24 @@ L_0898B3C4: goto L_0898B428; L_0898B3F0: aot_gpr_5 = (16262u << 16u); - aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(212), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(aot_gpr_2 + static_cast(212), std::bit_cast(aot_fpr_20)); aot_gpr_5 = (aot_gpr_5 | 26214u); aot_gpr_4 = (0u | 0u); aot_gpr_31 = (0x0898B408u); aot_fpr_20 = std::bit_cast(aot_gpr_5); goto L_0898B428; L_0898B408: - aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(208), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(aot_gpr_2 + static_cast(208), std::bit_cast(aot_fpr_20)); { std::uint32_t aot_run_words[5]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(0), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); - aot_gpr_16 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[1]; ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(32)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(32)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -7876,23 +7877,23 @@ L_0898B428: aot_gpr_5 = (aot_gpr_4 << 5u); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); aot_gpr_4 = (aot_gpr_4 << 3u); - ctx.gpr[2] = (aot_gpr_4 - aot_gpr_5); + aot_gpr_2 = (aot_gpr_4 - aot_gpr_5); aot_gpr_4 = (2238u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-6640)); jump_target = aot_gpr_31; - ctx.gpr[2] = (ctx.gpr[2] + aot_gpr_4); + aot_gpr_2 = (aot_gpr_2 + aot_gpr_4); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0898B448: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), aot_gpr_31); aot_gpr_31 = (0x0898B458u); aot_gpr_4 = (0u | 0u); goto L_0898B428; L_0898B458: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x0898B464u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0098_entry, 98u, 761u, 0x0898E288u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898B464u) goto L_0898B464; @@ -7903,7 +7904,7 @@ L_0898B464: goto L_0898B428; L_0898B46C: aot_gpr_31 = (0x0898B474u); - aot_gpr_4 = (ctx.gpr[2] + static_cast(2)); + aot_gpr_4 = (aot_gpr_2 + static_cast(2)); goto L_0898B2C4; L_0898B474: aot_gpr_31 = (0x0898B47Cu); @@ -7911,38 +7912,38 @@ L_0898B474: goto L_0898B428; L_0898B47C: aot_gpr_31 = (0x0898B484u); - aot_gpr_4 = (ctx.gpr[2] + static_cast(52)); + aot_gpr_4 = (aot_gpr_2 + static_cast(52)); goto L_0898B2C4; L_0898B484: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0898B490: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), aot_gpr_31); aot_gpr_31 = (0x0898B4A0u); aot_gpr_4 = (0u | 0u); goto L_0898B428; L_0898B4A0: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x0898B4ACu); aot_gpr_5 = (0u | 0u); goto L_0898B854; L_0898B4AC: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0898B4B8: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), aot_gpr_31); aot_gpr_31 = (0x0898B4C8u); // nop goto L_0898B448; @@ -7960,13 +7961,13 @@ L_0898B4D4: aot_gpr_4 = (0u | 0u); goto L_0898B428; L_0898B4DC: - aot_mem.aot_direct_store16(ctx.gpr[2] + static_cast(148), static_cast(0u)); + aot_mem.aot_direct_store16(aot_gpr_2 + static_cast(148), static_cast(0u)); aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(9287), static_cast(0u)); goto L_0898B4E4; L_0898B4E4: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -7979,12 +7980,12 @@ L_0898B4F0: ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0898B4F8: - aot_gpr_29 = (aot_gpr_29 + static_cast(-64)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-64)); aot_gpr_4 = (2236u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(32304)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(2052))); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], aot_gpr_31}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(48), aot_run_words); } + { const std::uint32_t aot_run_words[3]{ctx.gpr[16], ctx.gpr[17], aot_gpr_31}; + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(48), aot_run_words); } { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -8025,9 +8026,9 @@ L_0898B538: } L_0898B540: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7688))); - aot_gpr_16 = (2237u << 16u); + ctx.gpr[16] = (2237u << 16u); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_16 = (aot_gpr_16 + static_cast(-28416)); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(-28416)); if (branch_taken) { goto L_0898B568; } @@ -8037,21 +8038,21 @@ L_0898B550: aot_gpr_4 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(7688), aot_gpr_4); aot_gpr_31 = (0x0898B560u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0010_entry, 10u, 286u, 0x0882D794u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898B560u) goto L_0898B560; AOT_REGCACHE_SYNC_OUT(); return; L_0898B560: aot_gpr_31 = (0x0898B568u); aot_gpr_4 = (aot_gpr_28 + static_cast(-16124)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898B568u) goto L_0898B568; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898B568u) goto L_0898B568; AOT_REGCACHE_SYNC_OUT(); return; L_0898B568: aot_gpr_31 = (0x0898B570u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0010_entry, 10u, 611u, 0x0882E9B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898B570u) goto L_0898B570; AOT_REGCACHE_SYNC_OUT(); return; L_0898B570: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_0898B69C; @@ -8064,66 +8065,66 @@ L_0898B578: aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (aot_gpr_5 + static_cast(-20)); ctx.fpr[15] = static_cast(static_cast(std::bit_cast(aot_fpr_12))); - ctx.fpr[14] = std::bit_cast(aot_gpr_4); + aot_fpr_14 = std::bit_cast(aot_gpr_4); aot_gpr_5 = (16800u << 16u); aot_gpr_4 = (17172u << 16u); - ctx.fpr[14] = static_cast(static_cast(std::bit_cast(ctx.fpr[14]))); + aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); aot_gpr_4 = (aot_gpr_4 | 37450u); aot_fpr_13 = std::bit_cast(aot_gpr_4); ctx.fpr[15] = ctx.fpr[15] - aot_fpr_13; - aot_gpr_4 = (aot_gpr_29 | 0u); + aot_gpr_4 = (ctx.gpr[29] | 0u); aot_fpr_12 = std::bit_cast(aot_gpr_5); aot_gpr_5 = (17184u << 16u); aot_gpr_31 = (0x0898B5BCu); aot_fpr_13 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898B5BCu) goto L_0898B5BC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, ctx.fpr[15]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898B5BCu) goto L_0898B5BC; AOT_REGCACHE_SYNC_OUT(); return; L_0898B5BC: - aot_gpr_16 = (ctx.gpr[2] | 0u); - aot_gpr_4 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[16] = (aot_gpr_2 | 0u); + aot_gpr_4 = (ctx.gpr[29] + static_cast(16)); aot_gpr_5 = (0u | 50u); - ctx.gpr[6] = (0u | 50u); + aot_gpr_6 = (0u | 50u); ctx.gpr[7] = (0u | 50u); aot_gpr_31 = (0x0898B5D8u); ctx.gpr[8] = (0u | 210u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898B5D8u) goto L_0898B5D8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898B5D8u) goto L_0898B5D8; AOT_REGCACHE_SYNC_OUT(); return; L_0898B5D8: - aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x0898B5E8u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 107u, 0x08AF5130u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898B5E8u) goto L_0898B5E8; AOT_REGCACHE_SYNC_OUT(); return; L_0898B5E8: aot_gpr_31 = (0x0898B5F0u); aot_gpr_4 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898B5F0u) goto L_0898B5F0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C498, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898B5F0u) goto L_0898B5F0; AOT_REGCACHE_SYNC_OUT(); return; L_0898B5F0: aot_gpr_31 = (0x0898B5F8u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898B5F8u) goto L_0898B5F8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C05C, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[16], aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898B5F8u) goto L_0898B5F8; AOT_REGCACHE_SYNC_OUT(); return; L_0898B5F8: aot_gpr_31 = (0x0898B600u); aot_gpr_4 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898B600u) goto L_0898B600; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C604, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898B600u) goto L_0898B600; AOT_REGCACHE_SYNC_OUT(); return; L_0898B600: aot_gpr_4 = (0u | 255u); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(20), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(20), static_cast(aot_gpr_4)); aot_gpr_5 = (0u | 200u); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(21), static_cast(aot_gpr_4)); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(22), static_cast(aot_gpr_5)); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(23), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(21), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(22), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(23), static_cast(aot_gpr_5)); aot_gpr_31 = (0x0898B620u); - aot_gpr_4 = (aot_gpr_29 + static_cast(20)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898B620u) goto L_0898B620; + aot_gpr_4 = (ctx.gpr[29] + static_cast(20)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C4A8, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898B620u) goto L_0898B620; AOT_REGCACHE_SYNC_OUT(); return; L_0898B620: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); - { const bool branch_taken = aot_gpr_16 != 0u; + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + { const bool branch_taken = ctx.gpr[16] != 0u; aot_gpr_5 = (aot_gpr_28 + static_cast(-16040)); if (branch_taken) { goto L_0898B658; @@ -8131,13 +8132,13 @@ L_0898B620: goto L_0898B62C; } L_0898B62C: - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); aot_gpr_31 = (0x0898B638u); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898B638u) goto L_0898B638; AOT_REGCACHE_SYNC_OUT(); return; L_0898B638: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { @@ -8148,35 +8149,35 @@ L_0898B638: L_0898B644: aot_gpr_31 = (0x0898B64Cu); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898B64Cu) goto L_0898B64C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898B64Cu) goto L_0898B64C; AOT_REGCACHE_SYNC_OUT(); return; L_0898B64C: - aot_gpr_16 = (ctx.gpr[17] | 0u); + ctx.gpr[16] = (ctx.gpr[17] | 0u); goto L_0898B650; L_0898B650: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[16]); aot_gpr_5 = (aot_gpr_28 + static_cast(-16040)); goto L_0898B658; L_0898B658: aot_gpr_31 = (0x0898B660u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898B660u) goto L_0898B660; AOT_REGCACHE_SYNC_OUT(); return; L_0898B660: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-8744))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-8740))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-8740))); aot_gpr_5 = (static_cast(static_cast(aot_gpr_4) >> 1u)); aot_gpr_5 = (aot_gpr_5 >> 31u); - ctx.gpr[7] = (static_cast(static_cast(ctx.gpr[6]) >> 1u)); + ctx.gpr[7] = (static_cast(static_cast(aot_gpr_6) >> 1u)); aot_gpr_5 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (ctx.gpr[7] >> 31u); - aot_gpr_4 = (ctx.gpr[6] + aot_gpr_4); - ctx.gpr[6] = (static_cast(static_cast(aot_gpr_4) >> 1u)); + aot_gpr_4 = (aot_gpr_6 + aot_gpr_4); + aot_gpr_6 = (static_cast(static_cast(aot_gpr_4) >> 1u)); aot_gpr_5 = (static_cast(static_cast(aot_gpr_5) >> 1u)); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(-40)); + aot_gpr_6 = (aot_gpr_6 + static_cast(-40)); aot_gpr_31 = (0x0898B694u); - aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898B694u) goto L_0898B694; + aot_gpr_4 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898B694u) goto L_0898B694; AOT_REGCACHE_SYNC_OUT(); return; L_0898B694: { const bool branch_taken = 0u == 0u; @@ -8197,14 +8198,14 @@ L_0898B69C: } L_0898B6A8: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-8740))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-8744))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-8744))); aot_fpr_12 = std::bit_cast(aot_gpr_5); - aot_gpr_5 = (ctx.gpr[6] + static_cast(-20)); + aot_gpr_5 = (aot_gpr_6 + static_cast(-20)); ctx.fpr[15] = static_cast(static_cast(std::bit_cast(aot_fpr_12))); - ctx.fpr[14] = std::bit_cast(aot_gpr_5); - aot_gpr_4 = (aot_gpr_29 + static_cast(24)); + aot_fpr_14 = std::bit_cast(aot_gpr_5); + aot_gpr_4 = (ctx.gpr[29] + static_cast(24)); aot_gpr_5 = (17172u << 16u); - ctx.fpr[14] = static_cast(static_cast(std::bit_cast(ctx.fpr[14]))); + aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); aot_gpr_5 = (aot_gpr_5 | 37450u); ctx.fpr[16] = std::bit_cast(aot_gpr_5); aot_gpr_5 = (16800u << 16u); @@ -8213,54 +8214,54 @@ L_0898B6A8: aot_gpr_5 = (17184u << 16u); aot_gpr_31 = (0x0898B6ECu); aot_fpr_13 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898B6ECu) goto L_0898B6EC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, ctx.fpr[15]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898B6ECu) goto L_0898B6EC; AOT_REGCACHE_SYNC_OUT(); return; L_0898B6EC: - aot_gpr_16 = (ctx.gpr[2] | 0u); - aot_gpr_4 = (aot_gpr_29 + static_cast(40)); + ctx.gpr[16] = (aot_gpr_2 | 0u); + aot_gpr_4 = (ctx.gpr[29] + static_cast(40)); aot_gpr_5 = (0u | 50u); - ctx.gpr[6] = (0u | 50u); + aot_gpr_6 = (0u | 50u); ctx.gpr[7] = (0u | 50u); aot_gpr_31 = (0x0898B708u); ctx.gpr[8] = (0u | 210u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898B708u) goto L_0898B708; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898B708u) goto L_0898B708; AOT_REGCACHE_SYNC_OUT(); return; L_0898B708: - aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x0898B718u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 107u, 0x08AF5130u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898B718u) goto L_0898B718; AOT_REGCACHE_SYNC_OUT(); return; L_0898B718: aot_gpr_31 = (0x0898B720u); aot_gpr_4 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898B720u) goto L_0898B720; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C498, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898B720u) goto L_0898B720; AOT_REGCACHE_SYNC_OUT(); return; L_0898B720: aot_gpr_31 = (0x0898B728u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898B728u) goto L_0898B728; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C05C, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[16], aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898B728u) goto L_0898B728; AOT_REGCACHE_SYNC_OUT(); return; L_0898B728: aot_gpr_31 = (0x0898B730u); aot_gpr_4 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898B730u) goto L_0898B730; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C604, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898B730u) goto L_0898B730; AOT_REGCACHE_SYNC_OUT(); return; L_0898B730: aot_gpr_4 = (0u | 255u); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(44), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(44), static_cast(aot_gpr_4)); aot_gpr_5 = (0u | 200u); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(45), static_cast(aot_gpr_4)); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(46), static_cast(aot_gpr_5)); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(47), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(45), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(46), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(47), static_cast(aot_gpr_5)); aot_gpr_31 = (0x0898B750u); - aot_gpr_4 = (aot_gpr_29 + static_cast(44)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898B750u) goto L_0898B750; + aot_gpr_4 = (ctx.gpr[29] + static_cast(44)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C4A8, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898B750u) goto L_0898B750; AOT_REGCACHE_SYNC_OUT(); return; L_0898B750: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); - { const bool branch_taken = aot_gpr_16 != 0u; + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + { const bool branch_taken = ctx.gpr[16] != 0u; aot_gpr_5 = (aot_gpr_28 + static_cast(-16032)); if (branch_taken) { goto L_0898B788; @@ -8268,13 +8269,13 @@ L_0898B750: goto L_0898B75C; } L_0898B75C: - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); aot_gpr_31 = (0x0898B768u); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898B768u) goto L_0898B768; AOT_REGCACHE_SYNC_OUT(); return; L_0898B768: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { @@ -8285,52 +8286,52 @@ L_0898B768: L_0898B774: aot_gpr_31 = (0x0898B77Cu); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898B77Cu) goto L_0898B77C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898B77Cu) goto L_0898B77C; AOT_REGCACHE_SYNC_OUT(); return; L_0898B77C: - aot_gpr_16 = (ctx.gpr[17] | 0u); + ctx.gpr[16] = (ctx.gpr[17] | 0u); goto L_0898B780; L_0898B780: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[16]); aot_gpr_5 = (aot_gpr_28 + static_cast(-16032)); goto L_0898B788; L_0898B788: aot_gpr_31 = (0x0898B790u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898B790u) goto L_0898B790; AOT_REGCACHE_SYNC_OUT(); return; L_0898B790: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-8744))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-8740))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-8740))); aot_gpr_5 = (static_cast(static_cast(aot_gpr_4) >> 1u)); aot_gpr_5 = (aot_gpr_5 >> 31u); - ctx.gpr[7] = (static_cast(static_cast(ctx.gpr[6]) >> 1u)); + ctx.gpr[7] = (static_cast(static_cast(aot_gpr_6) >> 1u)); aot_gpr_5 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (ctx.gpr[7] >> 31u); - aot_gpr_4 = (ctx.gpr[6] + aot_gpr_4); - ctx.gpr[6] = (static_cast(static_cast(aot_gpr_4) >> 1u)); + aot_gpr_4 = (aot_gpr_6 + aot_gpr_4); + aot_gpr_6 = (static_cast(static_cast(aot_gpr_4) >> 1u)); aot_gpr_5 = (static_cast(static_cast(aot_gpr_5) >> 1u)); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(-40)); + aot_gpr_6 = (aot_gpr_6 + static_cast(-40)); aot_gpr_31 = (0x0898B7C4u); - aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898B7C4u) goto L_0898B7C4; + aot_gpr_4 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898B7C4u) goto L_0898B7C4; AOT_REGCACHE_SYNC_OUT(); return; L_0898B7C4: { std::uint32_t aot_run_words[3]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(48), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(48), aot_run_words); + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(64)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(64)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0898B7D8: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), aot_gpr_31); aot_gpr_31 = (0x0898B7E8u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0189_entry, 189u, 475u, 0x08AFB4F8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898B7E8u) goto L_0898B7E8; @@ -8360,27 +8361,27 @@ L_0898B7E8: aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-20329), static_cast(0u)); aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-20331), static_cast(0u)); aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-20330), static_cast(0u)); - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0898B854: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-7080))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), ctx.gpr[16]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); { const bool branch_taken = aot_gpr_5 != 0u; - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_0898B880; } goto L_0898B86C; } L_0898B86C: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(40)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(40)))))); { const bool branch_taken = aot_gpr_5 != 0u; aot_gpr_4 = (0u | 0u); if (branch_taken) { @@ -8405,7 +8406,7 @@ L_0898B880: goto L_0898B888; } L_0898B888: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(90)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(90)))))); { const bool branch_taken = aot_gpr_5 != 0u; aot_gpr_4 = (aot_gpr_4 & 255u); if (branch_taken) { @@ -8426,13 +8427,13 @@ L_0898B89C: goto L_0898B8A4; } L_0898B8A4: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x0898B8B0u); aot_gpr_5 = (0u | 84u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0098_entry, 98u, 915u, 0x0898EBBCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898B8B0u) goto L_0898B8B0; AOT_REGCACHE_SYNC_OUT(); return; L_0898B8B0: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(44)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(44)))))); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_4 = (0u | 0u); if (branch_taken) { @@ -8441,7 +8442,7 @@ L_0898B8B0: goto L_0898B8BC; } L_0898B8BC: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(94)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(94)))))); { const bool branch_taken = aot_gpr_5 != 0u; aot_gpr_4 = (aot_gpr_4 & 255u); if (branch_taken) { @@ -8464,13 +8465,13 @@ L_0898B8D0: goto L_0898B8D8; } L_0898B8D8: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x0898B8E4u); aot_gpr_5 = (0u | 67u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0098_entry, 98u, 915u, 0x0898EBBCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898B8E4u) goto L_0898B8E4; AOT_REGCACHE_SYNC_OUT(); return; L_0898B8E4: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(42)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(42)))))); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_4 = (0u | 0u); if (branch_taken) { @@ -8479,7 +8480,7 @@ L_0898B8E4: goto L_0898B8F0; } L_0898B8F0: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(92)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(92)))))); { const bool branch_taken = aot_gpr_5 != 0u; aot_gpr_4 = (aot_gpr_4 & 255u); if (branch_taken) { @@ -8502,13 +8503,13 @@ L_0898B904: goto L_0898B90C; } L_0898B90C: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x0898B918u); aot_gpr_5 = (0u | 88u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0098_entry, 98u, 915u, 0x0898EBBCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898B918u) goto L_0898B918; AOT_REGCACHE_SYNC_OUT(); return; L_0898B918: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(38)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(38)))))); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_4 = (0u | 0u); if (branch_taken) { @@ -8517,7 +8518,7 @@ L_0898B918: goto L_0898B924; } L_0898B924: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(88)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(88)))))); { const bool branch_taken = aot_gpr_5 != 0u; aot_gpr_4 = (aot_gpr_4 & 255u); if (branch_taken) { @@ -8540,17 +8541,17 @@ L_0898B938: goto L_0898B940; } L_0898B940: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x0898B94Cu); aot_gpr_5 = (0u | 83u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0098_entry, 98u, 915u, 0x0898EBBCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898B94Cu) goto L_0898B94C; AOT_REGCACHE_SYNC_OUT(); return; L_0898B94C: aot_gpr_31 = (0x0898B954u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_0898BCCC; L_0898B954: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_0898B968; @@ -8558,17 +8559,17 @@ L_0898B954: goto L_0898B95C; } L_0898B95C: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x0898B968u); aot_gpr_5 = (0u | 85u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0098_entry, 98u, 915u, 0x0898EBBCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898B968u) goto L_0898B968; AOT_REGCACHE_SYNC_OUT(); return; L_0898B968: aot_gpr_31 = (0x0898B970u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_0898BD24; L_0898B970: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_0898B984; @@ -8576,17 +8577,17 @@ L_0898B970: goto L_0898B978; } L_0898B978: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x0898B984u); aot_gpr_5 = (0u | 68u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0098_entry, 98u, 915u, 0x0898EBBCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898B984u) goto L_0898B984; AOT_REGCACHE_SYNC_OUT(); return; L_0898B984: aot_gpr_31 = (0x0898B98Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_0898BD7C; L_0898B98C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_0898B9A0; @@ -8594,17 +8595,17 @@ L_0898B98C: goto L_0898B994; } L_0898B994: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x0898B9A0u); aot_gpr_5 = (0u | 76u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0098_entry, 98u, 915u, 0x0898EBBCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898B9A0u) goto L_0898B9A0; AOT_REGCACHE_SYNC_OUT(); return; L_0898B9A0: aot_gpr_31 = (0x0898B9A8u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_0898BDD4; L_0898B9A8: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_0898B9BC; @@ -8612,13 +8613,13 @@ L_0898B9A8: goto L_0898B9B0; } L_0898B9B0: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x0898B9BCu); aot_gpr_5 = (0u | 82u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0098_entry, 98u, 915u, 0x0898EBBCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898B9BCu) goto L_0898B9BC; AOT_REGCACHE_SYNC_OUT(); return; L_0898B9BC: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(10)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(10)))))); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_4 = (0u | 0u); if (branch_taken) { @@ -8627,7 +8628,7 @@ L_0898B9BC: goto L_0898B9C8; } L_0898B9C8: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(60)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(60)))))); { const bool branch_taken = aot_gpr_5 != 0u; aot_gpr_4 = (aot_gpr_4 & 255u); if (branch_taken) { @@ -8650,13 +8651,13 @@ L_0898B9DC: goto L_0898B9E4; } L_0898B9E4: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x0898B9F0u); aot_gpr_5 = (0u | 49u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0098_entry, 98u, 915u, 0x0898EBBCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898B9F0u) goto L_0898B9F0; AOT_REGCACHE_SYNC_OUT(); return; L_0898B9F0: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(14)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(14)))))); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_4 = (0u | 0u); if (branch_taken) { @@ -8665,7 +8666,7 @@ L_0898B9F0: goto L_0898B9FC; } L_0898B9FC: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(64)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(64)))))); { const bool branch_taken = aot_gpr_5 != 0u; aot_gpr_4 = (aot_gpr_4 & 255u); if (branch_taken) { @@ -8688,48 +8689,48 @@ L_0898BA10: goto L_0898BA18; } L_0898BA18: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x0898BA24u); aot_gpr_5 = (0u | 50u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0098_entry, 98u, 915u, 0x0898EBBCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898BA24u) goto L_0898BA24; AOT_REGCACHE_SYNC_OUT(); return; L_0898BA24: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0898BA34: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), ctx.gpr[16]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), ctx.gpr[17]); ctx.gpr[17] = (aot_gpr_5 & 255u); - aot_gpr_16 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); - aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(0), static_cast(0u)); + ctx.gpr[16] = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(8), aot_gpr_31); + aot_mem.aot_direct_store16(ctx.gpr[16] + static_cast(0), static_cast(0u)); aot_gpr_31 = (0x0898BA58u); - aot_gpr_4 = (aot_gpr_16 + static_cast(2)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(2)); goto L_0898B2C4; L_0898BA58: aot_gpr_31 = (0x0898BA60u); - aot_gpr_4 = (aot_gpr_16 + static_cast(52)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(52)); goto L_0898B2C4; L_0898BA60: - aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(148), static_cast(0u)); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(157), static_cast(0u)); - aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(152), static_cast(0u)); + aot_mem.aot_direct_store16(ctx.gpr[16] + static_cast(148), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(157), static_cast(0u)); + aot_mem.aot_direct_store16(ctx.gpr[16] + static_cast(152), static_cast(0u)); aot_gpr_5 = (0u | 0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_0898BA74; L_0898BA74: aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(102), static_cast(0u)); aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(122), static_cast(0u)); aot_gpr_5 = (aot_gpr_5 + static_cast(1)); - ctx.gpr[6] = (static_cast(aot_gpr_5) < 10 ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] != 0u; + aot_gpr_6 = (static_cast(aot_gpr_5) < 10 ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 != 0u; aot_gpr_4 = (aot_gpr_4 + static_cast(2)); if (branch_taken) { goto L_0898BA74; @@ -8738,22 +8739,22 @@ L_0898BA74: } L_0898BA8C: { const bool branch_taken = ctx.gpr[17] == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(144), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(144), 0u); if (branch_taken) { goto L_0898BA98; } goto L_0898BA94; } L_0898BA94: - aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(154), static_cast(0u)); + aot_mem.aot_direct_store16(ctx.gpr[16] + static_cast(154), static_cast(0u)); goto L_0898BA98; L_0898BA98: - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(167), static_cast(0u)); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(168), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(167), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(168), static_cast(0u)); aot_gpr_4 = (0u | 0u); goto L_0898BAA4; L_0898BAA4: - aot_gpr_5 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_5 = (ctx.gpr[16] + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(158), static_cast(0u)); aot_gpr_4 = (aot_gpr_4 & 255u); @@ -8766,18 +8767,18 @@ L_0898BAA4: goto L_0898BAC0; } L_0898BAC0: - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(166), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(166), static_cast(0u)); aot_gpr_5 = (0u | 0u); aot_gpr_4 = (0u | 32u); goto L_0898BACC; L_0898BACC: - ctx.gpr[6] = (aot_gpr_16 + aot_gpr_5); + aot_gpr_6 = (ctx.gpr[16] + aot_gpr_5); aot_gpr_5 = (aot_gpr_5 + static_cast(1)); aot_gpr_5 = (aot_gpr_5 << 16u); - aot_mem.aot_direct_store8(ctx.gpr[6] + static_cast(169), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(aot_gpr_6 + static_cast(169), static_cast(aot_gpr_4)); aot_gpr_5 = (static_cast(static_cast(aot_gpr_5) >> 16u)); - ctx.gpr[6] = (static_cast(aot_gpr_5) < 12 ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] != 0u; + aot_gpr_6 = (static_cast(aot_gpr_5) < 12 ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 != 0u; // nop if (branch_taken) { goto L_0898BACC; @@ -8786,31 +8787,31 @@ L_0898BACC: } L_0898BAEC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7660))); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(188), 0u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(184), aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(192), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(188), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(184), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(192), 0u); aot_gpr_4 = (0u + static_cast(-10000)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(196), aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(200), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(196), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(200), aot_gpr_4); aot_gpr_4 = (0u + static_cast(-1)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(204), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(204), aot_gpr_4); { std::uint32_t aot_run_words[3]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(0), aot_run_words); + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0898BB24: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(184))); + aot_gpr_2 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(184))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7660))); jump_target = aot_gpr_31; - ctx.gpr[2] = (aot_gpr_4 - ctx.gpr[2]); + aot_gpr_2 = (aot_gpr_4 - aot_gpr_2); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -8853,16 +8854,16 @@ L_0898BB58: aot_gpr_5 = (aot_gpr_5 >> 31u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 1u)); - ctx.gpr[2] = (aot_gpr_4 << 16u); + aot_gpr_2 = (aot_gpr_4 << 16u); { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (static_cast(static_cast(ctx.gpr[2]) >> 16u)); + aot_gpr_2 = (static_cast(static_cast(aot_gpr_2) >> 16u)); if (branch_taken) { goto L_0898BB84; } goto L_0898BB80; } L_0898BB80: - ctx.gpr[2] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(2)))))); + aot_gpr_2 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(2)))))); goto L_0898BB84; L_0898BB84: jump_target = aot_gpr_31; @@ -8888,16 +8889,16 @@ L_0898BB98: aot_gpr_5 = (aot_gpr_5 >> 31u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 1u)); - ctx.gpr[2] = (aot_gpr_4 << 16u); + aot_gpr_2 = (aot_gpr_4 << 16u); { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (static_cast(static_cast(ctx.gpr[2]) >> 16u)); + aot_gpr_2 = (static_cast(static_cast(aot_gpr_2) >> 16u)); if (branch_taken) { goto L_0898BBC4; } goto L_0898BBC0; } L_0898BBC0: - ctx.gpr[2] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(4)))))); + aot_gpr_2 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(4)))))); goto L_0898BBC4; L_0898BBC4: jump_target = aot_gpr_31; @@ -8923,16 +8924,16 @@ L_0898BBD8: aot_gpr_5 = (aot_gpr_5 >> 31u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 1u)); - ctx.gpr[2] = (aot_gpr_4 << 16u); + aot_gpr_2 = (aot_gpr_4 << 16u); { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (static_cast(static_cast(ctx.gpr[2]) >> 16u)); + aot_gpr_2 = (static_cast(static_cast(aot_gpr_2) >> 16u)); if (branch_taken) { goto L_0898BC04; } goto L_0898BC00; } L_0898BC00: - ctx.gpr[2] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(52)))))); + aot_gpr_2 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(52)))))); goto L_0898BC04; L_0898BC04: jump_target = aot_gpr_31; @@ -8958,16 +8959,16 @@ L_0898BC18: aot_gpr_5 = (aot_gpr_5 >> 31u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 1u)); - ctx.gpr[2] = (aot_gpr_4 << 16u); + aot_gpr_2 = (aot_gpr_4 << 16u); { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (static_cast(static_cast(ctx.gpr[2]) >> 16u)); + aot_gpr_2 = (static_cast(static_cast(aot_gpr_2) >> 16u)); if (branch_taken) { goto L_0898BC44; } goto L_0898BC40; } L_0898BC40: - ctx.gpr[2] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(54)))))); + aot_gpr_2 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(54)))))); goto L_0898BC44; L_0898BC44: jump_target = aot_gpr_31; @@ -8987,14 +8988,14 @@ L_0898BC4C: } L_0898BC58: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(26)))))); + aot_gpr_2 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(26)))))); if (branch_taken) { goto L_0898BC64; } goto L_0898BC60; } L_0898BC60: - ctx.gpr[2] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(18)))))); + aot_gpr_2 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(18)))))); goto L_0898BC64; L_0898BC64: jump_target = aot_gpr_31; @@ -9014,14 +9015,14 @@ L_0898BC6C: } L_0898BC78: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(28)))))); + aot_gpr_2 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(28)))))); if (branch_taken) { goto L_0898BC84; } goto L_0898BC80; } L_0898BC80: - ctx.gpr[2] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(20)))))); + aot_gpr_2 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(20)))))); goto L_0898BC84; L_0898BC84: jump_target = aot_gpr_31; @@ -9041,14 +9042,14 @@ L_0898BC8C: } L_0898BC98: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(30)))))); + aot_gpr_2 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(30)))))); if (branch_taken) { goto L_0898BCA4; } goto L_0898BCA0; } L_0898BCA0: - ctx.gpr[2] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(22)))))); + aot_gpr_2 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(22)))))); goto L_0898BCA4; L_0898BCA4: jump_target = aot_gpr_31; @@ -9068,14 +9069,14 @@ L_0898BCAC: } L_0898BCB8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(32)))))); + aot_gpr_2 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(32)))))); if (branch_taken) { goto L_0898BCC4; } goto L_0898BCC0; } L_0898BCC0: - ctx.gpr[2] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(24)))))); + aot_gpr_2 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(24)))))); goto L_0898BCC4; L_0898BCC4: jump_target = aot_gpr_31; @@ -9094,8 +9095,8 @@ L_0898BCCC: goto L_0898BCD8; } L_0898BCD8: - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(26)))))); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(26)))))); + { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_5 = (0u | 0u); if (branch_taken) { goto L_0898BCF4; @@ -9116,15 +9117,15 @@ L_0898BCF0: goto L_0898BCF4; L_0898BCF4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_gpr_5 & 255u); + aot_gpr_2 = (aot_gpr_5 & 255u); if (branch_taken) { goto L_0898BD1C; } goto L_0898BCFC; } L_0898BCFC: - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(18)))))); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(18)))))); + { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_5 = (0u | 0u); if (branch_taken) { goto L_0898BD18; @@ -9144,7 +9145,7 @@ L_0898BD14: aot_gpr_5 = (0u | 1u); goto L_0898BD18; L_0898BD18: - ctx.gpr[2] = (aot_gpr_5 & 255u); + aot_gpr_2 = (aot_gpr_5 & 255u); goto L_0898BD1C; L_0898BD1C: jump_target = aot_gpr_31; @@ -9163,8 +9164,8 @@ L_0898BD24: goto L_0898BD30; } L_0898BD30: - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(28)))))); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(28)))))); + { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_5 = (0u | 0u); if (branch_taken) { goto L_0898BD4C; @@ -9185,15 +9186,15 @@ L_0898BD48: goto L_0898BD4C; L_0898BD4C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_gpr_5 & 255u); + aot_gpr_2 = (aot_gpr_5 & 255u); if (branch_taken) { goto L_0898BD74; } goto L_0898BD54; } L_0898BD54: - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(20)))))); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(20)))))); + { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_5 = (0u | 0u); if (branch_taken) { goto L_0898BD70; @@ -9213,7 +9214,7 @@ L_0898BD6C: aot_gpr_5 = (0u | 1u); goto L_0898BD70; L_0898BD70: - ctx.gpr[2] = (aot_gpr_5 & 255u); + aot_gpr_2 = (aot_gpr_5 & 255u); goto L_0898BD74; L_0898BD74: jump_target = aot_gpr_31; @@ -9232,8 +9233,8 @@ L_0898BD7C: goto L_0898BD88; } L_0898BD88: - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(30)))))); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(30)))))); + { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_5 = (0u | 0u); if (branch_taken) { goto L_0898BDA4; @@ -9254,15 +9255,15 @@ L_0898BDA0: goto L_0898BDA4; L_0898BDA4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_gpr_5 & 255u); + aot_gpr_2 = (aot_gpr_5 & 255u); if (branch_taken) { goto L_0898BDCC; } goto L_0898BDAC; } L_0898BDAC: - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(22)))))); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(22)))))); + { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_5 = (0u | 0u); if (branch_taken) { goto L_0898BDC8; @@ -9282,7 +9283,7 @@ L_0898BDC4: aot_gpr_5 = (0u | 1u); goto L_0898BDC8; L_0898BDC8: - ctx.gpr[2] = (aot_gpr_5 & 255u); + aot_gpr_2 = (aot_gpr_5 & 255u); goto L_0898BDCC; L_0898BDCC: jump_target = aot_gpr_31; @@ -9301,8 +9302,8 @@ L_0898BDD4: goto L_0898BDE0; } L_0898BDE0: - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(32)))))); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(32)))))); + { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_5 = (0u | 0u); if (branch_taken) { goto L_0898BDFC; @@ -9323,15 +9324,15 @@ L_0898BDF8: goto L_0898BDFC; L_0898BDFC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_gpr_5 & 255u); + aot_gpr_2 = (aot_gpr_5 & 255u); if (branch_taken) { goto L_0898BE24; } goto L_0898BE04; } L_0898BE04: - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(24)))))); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(24)))))); + { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_5 = (0u | 0u); if (branch_taken) { goto L_0898BE20; @@ -9351,7 +9352,7 @@ L_0898BE1C: aot_gpr_5 = (0u | 1u); goto L_0898BE20; L_0898BE20: - ctx.gpr[2] = (aot_gpr_5 & 255u); + aot_gpr_2 = (aot_gpr_5 & 255u); goto L_0898BE24; L_0898BE24: jump_target = aot_gpr_31; @@ -9361,15 +9362,15 @@ L_0898BE24: ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0898BE2C: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), ctx.gpr[17]); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7688))); ctx.gpr[17] = (2237u << 16u); ctx.gpr[17] = (ctx.gpr[17] + static_cast(-28416)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), ctx.gpr[16]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(8), aot_gpr_31); { const bool branch_taken = aot_gpr_5 != 0u; - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_0898BE68; } @@ -9385,7 +9386,7 @@ L_0898BE50: L_0898BE60: aot_gpr_31 = (0x0898BE68u); aot_gpr_4 = (aot_gpr_28 + static_cast(-16124)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898BE68u) goto L_0898BE68; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898BE68u) goto L_0898BE68; AOT_REGCACHE_SYNC_OUT(); return; L_0898BE68: aot_gpr_31 = (0x0898BE70u); @@ -9393,8 +9394,8 @@ L_0898BE68: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0010_entry, 10u, 611u, 0x0882E9B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898BE70u) goto L_0898BE70; AOT_REGCACHE_SYNC_OUT(); return; L_0898BE70: - { const bool branch_taken = ctx.gpr[2] == 0u; - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + { const bool branch_taken = aot_gpr_2 == 0u; + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); if (branch_taken) { goto L_0898BE88; } @@ -9402,7 +9403,7 @@ L_0898BE70: } L_0898BE78: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-8144))); - aot_gpr_4 = (aot_gpr_4 - aot_gpr_16); + aot_gpr_4 = (aot_gpr_4 - ctx.gpr[16]); { const bool branch_taken = 0u == 0u; aot_gpr_4 = (aot_gpr_4 < static_cast(321) ? 1u : 0u); if (branch_taken) { @@ -9413,7 +9414,7 @@ L_0898BE78: L_0898BE88: aot_gpr_4 = (2201u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-7552)); - aot_gpr_4 = (aot_gpr_4 - aot_gpr_16); + aot_gpr_4 = (aot_gpr_4 - ctx.gpr[16]); aot_gpr_4 = (aot_gpr_4 < static_cast(321) ? 1u : 0u); goto L_0898BE98; L_0898BE98: @@ -9425,7 +9426,7 @@ L_0898BE98: goto L_0898BEA0; } L_0898BEA0: - { const bool branch_taken = aot_gpr_16 == aot_gpr_4; + { const bool branch_taken = ctx.gpr[16] == aot_gpr_4; // nop if (branch_taken) { goto L_0898BEB0; @@ -9434,38 +9435,38 @@ L_0898BEA0: } L_0898BEA8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_0898BEB4; } goto L_0898BEB0; } L_0898BEB0: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_0898BEB4; L_0898BEB4: { std::uint32_t aot_run_words[3]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(0), aot_run_words); + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0898BEC8: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), ctx.gpr[16]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x0898BEDCu); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0098_entry, 98u, 591u, 0x0898DA00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898BEDCu) goto L_0898BEDC; AOT_REGCACHE_SYNC_OUT(); return; L_0898BEDC: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_0898BEF4; @@ -9474,10 +9475,10 @@ L_0898BEDC: } L_0898BEE4: aot_gpr_31 = (0x0898BEECu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_0898BD7C; L_0898BEEC: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_0898BEFC; @@ -9486,34 +9487,34 @@ L_0898BEEC: } L_0898BEF4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_0898BF00; } goto L_0898BEFC; } L_0898BEFC: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_0898BF00; L_0898BF00: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0898BF10: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), ctx.gpr[16]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x0898BF24u); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0098_entry, 98u, 598u, 0x0898DA58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898BF24u) goto L_0898BF24; AOT_REGCACHE_SYNC_OUT(); return; L_0898BF24: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_0898BF3C; @@ -9522,10 +9523,10 @@ L_0898BF24: } L_0898BF2C: aot_gpr_31 = (0x0898BF34u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_0898BDD4; L_0898BF34: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_0898BF44; @@ -9534,34 +9535,34 @@ L_0898BF34: } L_0898BF3C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_0898BF48; } goto L_0898BF44; } L_0898BF44: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_0898BF48; L_0898BF48: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0898BF58: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), ctx.gpr[16]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x0898BF6Cu); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0098_entry, 98u, 577u, 0x0898D950u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898BF6Cu) goto L_0898BF6C; AOT_REGCACHE_SYNC_OUT(); return; L_0898BF6C: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_0898BF84; @@ -9570,10 +9571,10 @@ L_0898BF6C: } L_0898BF74: aot_gpr_31 = (0x0898BF7Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_0898BCCC; L_0898BF7C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_0898BF8C; @@ -9582,34 +9583,34 @@ L_0898BF7C: } L_0898BF84: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_0898BF90; } goto L_0898BF8C; } L_0898BF8C: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_0898BF90; L_0898BF90: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0898BFA0: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), ctx.gpr[16]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x0898BFB4u); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0098_entry, 98u, 584u, 0x0898D9A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898BFB4u) goto L_0898BFB4; AOT_REGCACHE_SYNC_OUT(); return; L_0898BFB4: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_0898BFCC; @@ -9618,10 +9619,10 @@ L_0898BFB4: } L_0898BFBC: aot_gpr_31 = (0x0898BFC4u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_0898BD24; L_0898BFC4: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_0898BFD4; @@ -9630,28 +9631,28 @@ L_0898BFC4: } L_0898BFCC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_0898BFD8; } goto L_0898BFD4; } L_0898BFD4: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_0898BFD8; L_0898BFD8: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0898BFE8: - ctx.gpr[2] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(42)))))); + aot_gpr_2 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(42)))))); jump_target = aot_gpr_31; - ctx.gpr[2] = (0u < ctx.gpr[2] ? 1u : 0u); + aot_gpr_2 = (0u < aot_gpr_2 ? 1u : 0u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -9659,7 +9660,7 @@ L_0898BFE8: L_0898BFF4: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(44)))))); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(40)))))); - ctx.gpr[2] = (aot_gpr_5 | aot_gpr_4); + aot_gpr_2 = (aot_gpr_5 | aot_gpr_4); ctx.pc = 0x0898C000u; AOT_REGCACHE_SYNC_OUT(); return; } diff --git a/profiles/vcs/generated/generated_unit_0098.cpp b/profiles/vcs/generated/generated_unit_0098.cpp index 719f7a9..f930f2e 100644 --- a/profiles/vcs/generated/generated_unit_0098.cpp +++ b/profiles/vcs/generated/generated_unit_0098.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" // Camera axes for the mouse and the pad's right stick; see the hook around // L_0898E098 below. #include "vcs_camera_input.hpp" @@ -142,20 +143,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0098[4092] = { }; void recomp_unit_0098_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,31,16,2 fprs=12,13,20,14 gpr_occ=4391 fpr_occ=278 gpr_total=5185 fpr_total=317 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,31,2,29,16 fprs=12,13,20,14 gpr_occ=4477 fpr_occ=278 gpr_total=5338 fpr_total=317 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; - std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; - std::uint32_t aot_gpr_16 = ctx.gpr[16]; std::uint32_t aot_gpr_2 = ctx.gpr[2]; + std::uint32_t aot_gpr_29 = ctx.gpr[29]; + std::uint32_t aot_gpr_16 = ctx.gpr[16]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_20 = ctx.fpr[20]; float aot_fpr_14 = ctx.fpr[14]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[31] = aot_gpr_31; ctx.gpr[16] = aot_gpr_16; ctx.gpr[2] = aot_gpr_2; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; ctx.fpr[14] = aot_fpr_14; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_2 = ctx.gpr[2]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_14 = ctx.fpr[14]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[31] = aot_gpr_31; ctx.gpr[2] = aot_gpr_2; ctx.gpr[29] = aot_gpr_29; ctx.gpr[16] = aot_gpr_16; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; ctx.fpr[14] = aot_fpr_14; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_2 = ctx.gpr[2]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_16 = ctx.gpr[16]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_14 = ctx.fpr[14]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -1841,7 +1842,7 @@ L_0898C238: L_0898C244: aot_gpr_31 = (0x0898C24Cu); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898C24Cu) goto L_0898C24C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B01E00, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898C24Cu) goto L_0898C24C; AOT_REGCACHE_SYNC_OUT(); return; L_0898C24C: aot_gpr_4 = (0u | 3u); @@ -1855,7 +1856,7 @@ L_0898C24C: L_0898C258: aot_gpr_31 = (0x0898C260u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898C260u) goto L_0898C260; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B01E00, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898C260u) goto L_0898C260; AOT_REGCACHE_SYNC_OUT(); return; L_0898C260: aot_gpr_4 = (0u | 5u); @@ -2714,7 +2715,7 @@ L_0898C7C0: L_0898C7C8: aot_gpr_31 = (0x0898C7D0u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898C7D0u) goto L_0898C7D0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B01E00, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898C7D0u) goto L_0898C7D0; AOT_REGCACHE_SYNC_OUT(); return; L_0898C7D0: aot_gpr_4 = (0u | 3u); @@ -2744,7 +2745,7 @@ L_0898C7E4: L_0898C7EC: aot_gpr_31 = (0x0898C7F4u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898C7F4u) goto L_0898C7F4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B01E00, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898C7F4u) goto L_0898C7F4; AOT_REGCACHE_SYNC_OUT(); return; L_0898C7F4: aot_gpr_4 = (0u | 5u); @@ -3132,7 +3133,7 @@ L_0898CA14: L_0898CA1C: aot_gpr_31 = (0x0898CA24u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898CA24u) goto L_0898CA24; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B01E00, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898CA24u) goto L_0898CA24; AOT_REGCACHE_SYNC_OUT(); return; L_0898CA24: aot_gpr_4 = (0u | 3u); @@ -3162,7 +3163,7 @@ L_0898CA38: L_0898CA40: aot_gpr_31 = (0x0898CA48u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898CA48u) goto L_0898CA48; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B01E00, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898CA48u) goto L_0898CA48; AOT_REGCACHE_SYNC_OUT(); return; L_0898CA48: aot_gpr_4 = (0u | 5u); @@ -3640,7 +3641,7 @@ L_0898CCE0: L_0898CCEC: aot_gpr_31 = (0x0898CCF4u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898CCF4u) goto L_0898CCF4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B01E00, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898CCF4u) goto L_0898CCF4; AOT_REGCACHE_SYNC_OUT(); return; L_0898CCF4: aot_gpr_4 = (0u | 3u); @@ -3654,7 +3655,7 @@ L_0898CCF4: L_0898CD00: aot_gpr_31 = (0x0898CD08u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898CD08u) goto L_0898CD08; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B01E00, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898CD08u) goto L_0898CD08; AOT_REGCACHE_SYNC_OUT(); return; L_0898CD08: aot_gpr_4 = (0u | 5u); @@ -6552,7 +6553,7 @@ L_0898DCE8: L_0898DCF0: aot_gpr_31 = (0x0898DCF8u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898DCF8u) goto L_0898DCF8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B01E00, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898DCF8u) goto L_0898DCF8; AOT_REGCACHE_SYNC_OUT(); return; L_0898DCF8: aot_gpr_4 = (0u | 3u); @@ -6566,7 +6567,7 @@ L_0898DCF8: L_0898DD04: aot_gpr_31 = (0x0898DD0Cu); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898DD0Cu) goto L_0898DD0C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B01E00, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898DD0Cu) goto L_0898DD0C; AOT_REGCACHE_SYNC_OUT(); return; L_0898DD0C: aot_gpr_4 = (0u | 5u); @@ -8307,7 +8308,7 @@ L_0898E930: L_0898E940: aot_gpr_31 = (0x0898E948u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-16124)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898E948u) goto L_0898E948; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898E948u) goto L_0898E948; AOT_REGCACHE_SYNC_OUT(); return; L_0898E948: aot_gpr_31 = (0x0898E950u); @@ -9637,7 +9638,7 @@ L_0898F138: L_0898F144: aot_gpr_31 = (0x0898F14Cu); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898F14Cu) goto L_0898F14C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898F14Cu) goto L_0898F14C; AOT_REGCACHE_SYNC_OUT(); return; L_0898F14C: ctx.gpr[18] = (ctx.gpr[19] | 0u); @@ -9732,7 +9733,7 @@ L_0898F1DC: L_0898F1E8: aot_gpr_31 = (0x0898F1F0u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898F1F0u) goto L_0898F1F0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898F1F0u) goto L_0898F1F0; AOT_REGCACHE_SYNC_OUT(); return; L_0898F1F0: ctx.gpr[18] = (ctx.gpr[19] | 0u); @@ -10245,7 +10246,7 @@ L_0898F51C: L_0898F528: aot_gpr_31 = (0x0898F530u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898F530u) goto L_0898F530; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B01E00, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898F530u) goto L_0898F530; AOT_REGCACHE_SYNC_OUT(); return; L_0898F530: aot_gpr_4 = (0u | 3u); @@ -10257,7 +10258,7 @@ L_0898F530: L_0898F53C: aot_gpr_31 = (0x0898F544u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898F544u) goto L_0898F544; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B01E00, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898F544u) goto L_0898F544; AOT_REGCACHE_SYNC_OUT(); return; L_0898F544: aot_gpr_4 = (0u | 5u); @@ -11154,7 +11155,7 @@ L_0898FD38: aot_gpr_5 = (aot_gpr_4 + static_cast(16)); aot_gpr_31 = (0x0898FD44u); ctx.gpr[6] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898FD44u) goto L_0898FD44; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898FD44u) goto L_0898FD44; AOT_REGCACHE_SYNC_OUT(); return; L_0898FD44: aot_gpr_2 = (0u | 0u); @@ -11240,7 +11241,7 @@ L_0898FDD8: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); aot_gpr_31 = (0x0898FE24u); ctx.gpr[6] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898FE24u) goto L_0898FE24; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898FE24u) goto L_0898FE24; AOT_REGCACHE_SYNC_OUT(); return; L_0898FE24: aot_gpr_2 = (0u | 0u); @@ -11278,7 +11279,7 @@ L_0898FE34: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); aot_gpr_31 = (0x0898FE9Cu); ctx.gpr[6] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898FE9Cu) goto L_0898FE9C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898FE9Cu) goto L_0898FE9C; AOT_REGCACHE_SYNC_OUT(); return; L_0898FE9C: aot_gpr_2 = (0u | 0u); @@ -11420,7 +11421,7 @@ L_0898FFB0: aot_gpr_5 = (aot_gpr_4 + static_cast(16)); aot_gpr_31 = (0x0898FFBCu); ctx.gpr[6] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898FFBCu) goto L_0898FFBC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0898FFBCu) goto L_0898FFBC; AOT_REGCACHE_SYNC_OUT(); return; L_0898FFBC: aot_gpr_2 = (0u | 0u); diff --git a/profiles/vcs/generated/generated_unit_0099.cpp b/profiles/vcs/generated/generated_unit_0099.cpp index e87e0a3..26fd3a4 100644 --- a/profiles/vcs/generated/generated_unit_0099.cpp +++ b/profiles/vcs/generated/generated_unit_0099.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0099[4089] = { }; void recomp_unit_0099_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,6,17,16,28 fprs=13,12,20,14 gpr_occ=4400 fpr_occ=230 gpr_total=5639 fpr_total=243 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,6,17,16,31 fprs=13,12,20,14 gpr_occ=4424 fpr_occ=230 gpr_total=5717 fpr_total=243 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_6 = ctx.gpr[6]; std::uint32_t aot_gpr_17 = ctx.gpr[17]; std::uint32_t aot_gpr_16 = ctx.gpr[16]; - std::uint32_t aot_gpr_28 = ctx.gpr[28]; + std::uint32_t aot_gpr_31 = ctx.gpr[31]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_20 = ctx.fpr[20]; float aot_fpr_14 = ctx.fpr[14]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[6] = aot_gpr_6; ctx.gpr[17] = aot_gpr_17; ctx.gpr[16] = aot_gpr_16; ctx.gpr[28] = aot_gpr_28; ctx.fpr[13] = aot_fpr_13; ctx.fpr[12] = aot_fpr_12; ctx.fpr[20] = aot_fpr_20; ctx.fpr[14] = aot_fpr_14; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_17 = ctx.gpr[17]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_28 = ctx.gpr[28]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_14 = ctx.fpr[14]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[6] = aot_gpr_6; ctx.gpr[17] = aot_gpr_17; ctx.gpr[16] = aot_gpr_16; ctx.gpr[31] = aot_gpr_31; ctx.fpr[13] = aot_fpr_13; ctx.fpr[12] = aot_fpr_12; ctx.fpr[20] = aot_fpr_20; ctx.fpr[14] = aot_fpr_14; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_17 = ctx.gpr[17]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_31 = ctx.gpr[31]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_14 = ctx.fpr[14]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -1112,8 +1113,8 @@ L_08990000: ctx.gpr[2] = (0u | 0u); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(1944), std::bit_cast(aot_fpr_12)); aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); - ctx.gpr[31] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); + jump_target = aot_gpr_31; ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -1122,14 +1123,14 @@ L_08990000: L_08990018: ctx.gpr[29] = (ctx.gpr[29] + static_cast(-32)); aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-15960))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15960))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); aot_gpr_5 = (aot_gpr_5 + aot_gpr_4); aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0))); aot_gpr_6 = (aot_gpr_6 & 128u); aot_gpr_5 = (0u < aot_gpr_6 ? 1u : 0u); aot_gpr_5 = (aot_gpr_5 & 255u); - { const std::uint32_t aot_run_words[4]{aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[4]{aot_gpr_17, ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(4), aot_run_words); } { const bool branch_taken = aot_gpr_5 != 0u; // nop @@ -1199,7 +1200,7 @@ L_08990098: } L_089900A8: aot_gpr_4 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x089900B4u); + aot_gpr_31 = (0x089900B4u); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 247u, 0x08891B8Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089900B4u) goto L_089900B4; AOT_REGCACHE_SYNC_OUT(); return; @@ -1218,7 +1219,7 @@ L_089900BC: aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); jump_target = ctx.gpr[7]; - ctx.gpr[31] = (0x089900D8u); + aot_gpr_31 = (0x089900D8u); aot_gpr_4 = (aot_gpr_16 + aot_gpr_6); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089900D8u) goto L_089900D8; @@ -1233,7 +1234,7 @@ L_089900D8: } L_089900E0: aot_gpr_4 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x089900ECu); + aot_gpr_31 = (0x089900ECu); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0031_entry, 31u, 71u, 0x0888081Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089900ECu) goto L_089900EC; AOT_REGCACHE_SYNC_OUT(); return; @@ -1247,7 +1248,7 @@ L_089900EC: } L_089900F4: ctx.gpr[18] = (0u | 0u); - ctx.gpr[31] = (0x08990100u); + aot_gpr_31 = (0x08990100u); aot_gpr_4 = (0u | 496u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0009_entry, 9u, 392u, 0x0882B994u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08990100u) goto L_08990100; AOT_REGCACHE_SYNC_OUT(); return; @@ -1263,7 +1264,7 @@ L_08990100: L_0899010C: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(86)))))); aot_gpr_4 = (ctx.gpr[19] | 0u); - ctx.gpr[31] = (0x0899011Cu); + aot_gpr_31 = (0x0899011Cu); aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0009_entry, 9u, 351u, 0x0882B688u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899011Cu) goto L_0899011C; AOT_REGCACHE_SYNC_OUT(); return; @@ -1272,23 +1273,23 @@ L_0899011C: goto L_08990120; L_08990120: aot_gpr_4 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x0899012Cu); + aot_gpr_31 = (0x0899012Cu); aot_gpr_5 = (0u | 2u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 247u, 0x08891B8Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899012Cu) goto L_0899012C; AOT_REGCACHE_SYNC_OUT(); return; L_0899012C: - ctx.gpr[31] = (0x08990134u); + aot_gpr_31 = (0x08990134u); // nop goto L_08990374; L_08990134: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x08990144u); + aot_gpr_31 = (0x08990144u); aot_gpr_6 = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08990144u) goto L_08990144; AOT_REGCACHE_SYNC_OUT(); return; L_08990144: - ctx.gpr[31] = (0x0899014Cu); + aot_gpr_31 = (0x0899014Cu); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 224u, 0x08891A2Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899014Cu) goto L_0899014C; AOT_REGCACHE_SYNC_OUT(); return; @@ -1307,7 +1308,7 @@ L_08990154: aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); jump_target = ctx.gpr[7]; - ctx.gpr[31] = (0x08990170u); + aot_gpr_31 = (0x08990170u); aot_gpr_4 = (aot_gpr_16 + aot_gpr_6); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08990170u) goto L_08990170; @@ -1322,9 +1323,9 @@ L_08990174: aot_gpr_17 = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; - ctx.gpr[31] = aot_run_words[4]; + aot_gpr_31 = aot_run_words[4]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; ctx.gpr[29] = (ctx.gpr[29] + static_cast(32)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -1335,15 +1336,15 @@ L_08990190: aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), aot_gpr_16); aot_gpr_16 = (0u | 0u); aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_17); - aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(8), ctx.gpr[31]); - ctx.gpr[31] = (0x089901ACu); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(8), aot_gpr_31); + aot_gpr_31 = (0x089901ACu); aot_gpr_4 = (0u | 16u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089901ACu) goto L_089901AC; AOT_REGCACHE_SYNC_OUT(); return; L_089901AC: aot_gpr_17 = (ctx.gpr[2] | 0u); { const bool branch_taken = aot_gpr_17 == 0u; - aot_gpr_6 = (aot_gpr_28 + static_cast(-15944)); + aot_gpr_6 = (ctx.gpr[28] + static_cast(-15944)); if (branch_taken) { goto L_089901C8; } @@ -1351,7 +1352,7 @@ L_089901AC: } L_089901B8: aot_gpr_4 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x089901C4u); + aot_gpr_31 = (0x089901C4u); aot_gpr_5 = (0u | 70u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0218_entry, 218u, 173u, 0x08B6CF28u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089901C4u) goto L_089901C4; AOT_REGCACHE_SYNC_OUT(); return; @@ -1359,16 +1360,16 @@ L_089901C4: aot_gpr_16 = (aot_gpr_17 | 0u); goto L_089901C8; L_089901C8: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-15976), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-15976), aot_gpr_16); aot_gpr_16 = (0u | 0u); - ctx.gpr[31] = (0x089901D8u); + aot_gpr_31 = (0x089901D8u); aot_gpr_4 = (0u | 16u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089901D8u) goto L_089901D8; AOT_REGCACHE_SYNC_OUT(); return; L_089901D8: aot_gpr_17 = (ctx.gpr[2] | 0u); { const bool branch_taken = aot_gpr_17 == 0u; - aot_gpr_6 = (aot_gpr_28 + static_cast(-15936)); + aot_gpr_6 = (ctx.gpr[28] + static_cast(-15936)); if (branch_taken) { goto L_089901F4; } @@ -1376,7 +1377,7 @@ L_089901D8: } L_089901E4: aot_gpr_4 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x089901F0u); + aot_gpr_31 = (0x089901F0u); aot_gpr_5 = (0u | 40u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0218_entry, 218u, 179u, 0x08B6CFD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089901F0u) goto L_089901F0; AOT_REGCACHE_SYNC_OUT(); return; @@ -1384,16 +1385,16 @@ L_089901F0: aot_gpr_16 = (aot_gpr_17 | 0u); goto L_089901F4; L_089901F4: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-15972), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-15972), aot_gpr_16); aot_gpr_16 = (0u | 0u); - ctx.gpr[31] = (0x08990204u); + aot_gpr_31 = (0x08990204u); aot_gpr_4 = (0u | 16u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08990204u) goto L_08990204; AOT_REGCACHE_SYNC_OUT(); return; L_08990204: aot_gpr_17 = (ctx.gpr[2] | 0u); { const bool branch_taken = aot_gpr_17 == 0u; - aot_gpr_6 = (aot_gpr_28 + static_cast(-15924)); + aot_gpr_6 = (ctx.gpr[28] + static_cast(-15924)); if (branch_taken) { goto L_08990220; } @@ -1401,7 +1402,7 @@ L_08990204: } L_08990210: aot_gpr_4 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x0899021Cu); + aot_gpr_31 = (0x0899021Cu); aot_gpr_5 = (0u | 475u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0218_entry, 218u, 185u, 0x08B6D078u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899021Cu) goto L_0899021C; AOT_REGCACHE_SYNC_OUT(); return; @@ -1409,16 +1410,16 @@ L_0899021C: aot_gpr_16 = (aot_gpr_17 | 0u); goto L_08990220; L_08990220: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-15960), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-15960), aot_gpr_16); aot_gpr_16 = (0u | 0u); - ctx.gpr[31] = (0x08990230u); + aot_gpr_31 = (0x08990230u); aot_gpr_4 = (0u | 16u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08990230u) goto L_08990230; AOT_REGCACHE_SYNC_OUT(); return; L_08990230: aot_gpr_17 = (ctx.gpr[2] | 0u); { const bool branch_taken = aot_gpr_17 == 0u; - aot_gpr_6 = (aot_gpr_28 + static_cast(-15916)); + aot_gpr_6 = (ctx.gpr[28] + static_cast(-15916)); if (branch_taken) { goto L_0899024C; } @@ -1426,7 +1427,7 @@ L_08990230: } L_0899023C: aot_gpr_4 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x08990248u); + aot_gpr_31 = (0x08990248u); aot_gpr_5 = (0u | 20u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0218_entry, 218u, 191u, 0x08B6D120u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08990248u) goto L_08990248; AOT_REGCACHE_SYNC_OUT(); return; @@ -1434,16 +1435,16 @@ L_08990248: aot_gpr_16 = (aot_gpr_17 | 0u); goto L_0899024C; L_0899024C: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-15956), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-15956), aot_gpr_16); aot_gpr_17 = (0u | 0u); - ctx.gpr[31] = (0x0899025Cu); + aot_gpr_31 = (0x0899025Cu); aot_gpr_4 = (0u | 16u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899025Cu) goto L_0899025C; AOT_REGCACHE_SYNC_OUT(); return; L_0899025C: aot_gpr_16 = (ctx.gpr[2] | 0u); { const bool branch_taken = aot_gpr_16 == 0u; - aot_gpr_6 = (aot_gpr_28 + static_cast(-15908)); + aot_gpr_6 = (ctx.gpr[28] + static_cast(-15908)); if (branch_taken) { goto L_08990278; } @@ -1451,7 +1452,7 @@ L_0899025C: } L_08990268: aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08990274u); + aot_gpr_31 = (0x08990274u); aot_gpr_5 = (0u | 192u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0218_entry, 218u, 197u, 0x08B6D1CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08990274u) goto L_08990274; AOT_REGCACHE_SYNC_OUT(); return; @@ -1459,14 +1460,14 @@ L_08990274: aot_gpr_17 = (aot_gpr_16 | 0u); goto L_08990278; L_08990278: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-15948), aot_gpr_17); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-15948), aot_gpr_17); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; - ctx.gpr[31] = aot_run_words[2]; + aot_gpr_31 = aot_run_words[2]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -1474,19 +1475,19 @@ L_08990278: AOT_REGCACHE_SYNC_OUT(); return; L_08990290: ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); - aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), ctx.gpr[31]); - ctx.gpr[31] = (0x089902A0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-15976))); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), aot_gpr_31); + aot_gpr_31 = (0x089902A0u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15976))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0217_entry, 217u, 624u, 0x08B6B464u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089902A0u) goto L_089902A0; AOT_REGCACHE_SYNC_OUT(); return; L_089902A0: - ctx.gpr[31] = (0x089902A8u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-15972))); + aot_gpr_31 = (0x089902A8u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0217_entry, 217u, 630u, 0x08B6B4B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089902A8u) goto L_089902A8; AOT_REGCACHE_SYNC_OUT(); return; L_089902A8: - ctx.gpr[31] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); + jump_target = aot_gpr_31; ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -1495,14 +1496,14 @@ L_089902A8: L_089902B4: ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_5 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), ctx.gpr[31]); - ctx.gpr[31] = (0x089902C8u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-15976))); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), aot_gpr_31); + aot_gpr_31 = (0x089902C8u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15976))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 775u, 0x08B67368u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089902C8u) goto L_089902C8; AOT_REGCACHE_SYNC_OUT(); return; L_089902C8: - ctx.gpr[31] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); + jump_target = aot_gpr_31; ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -1511,14 +1512,14 @@ L_089902C8: L_089902D4: ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_5 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), ctx.gpr[31]); - ctx.gpr[31] = (0x089902E8u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-15976))); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), aot_gpr_31); + aot_gpr_31 = (0x089902E8u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15976))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089902E8u) goto L_089902E8; AOT_REGCACHE_SYNC_OUT(); return; L_089902E8: - ctx.gpr[31] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); + jump_target = aot_gpr_31; ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -1527,14 +1528,14 @@ L_089902E8: L_089902F4: ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_5 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), ctx.gpr[31]); - ctx.gpr[31] = (0x08990308u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-15972))); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), aot_gpr_31); + aot_gpr_31 = (0x08990308u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0218_entry, 218u, 139u, 0x08B6CC28u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08990308u) goto L_08990308; AOT_REGCACHE_SYNC_OUT(); return; L_08990308: - ctx.gpr[31] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); + jump_target = aot_gpr_31; ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -1543,14 +1544,14 @@ L_08990308: L_08990314: ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_5 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), ctx.gpr[31]); - ctx.gpr[31] = (0x08990328u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-15972))); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), aot_gpr_31); + aot_gpr_31 = (0x08990328u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08990328u) goto L_08990328; AOT_REGCACHE_SYNC_OUT(); return; L_08990328: - ctx.gpr[31] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); + jump_target = aot_gpr_31; ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -1559,14 +1560,14 @@ L_08990328: L_08990334: ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_5 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), ctx.gpr[31]); - ctx.gpr[31] = (0x08990348u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-15960))); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), aot_gpr_31); + aot_gpr_31 = (0x08990348u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15960))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 636u, 0x08B66A10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08990348u) goto L_08990348; AOT_REGCACHE_SYNC_OUT(); return; L_08990348: - ctx.gpr[31] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); + jump_target = aot_gpr_31; ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -1575,21 +1576,21 @@ L_08990348: L_08990354: ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_5 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), ctx.gpr[31]); - ctx.gpr[31] = (0x08990368u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-15960))); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), aot_gpr_31); + aot_gpr_31 = (0x08990368u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15960))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 445u, 0x08B65D28u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08990368u) goto L_08990368; AOT_REGCACHE_SYNC_OUT(); return; L_08990368: - ctx.gpr[31] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); + jump_target = aot_gpr_31; ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08990374: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; ctx.gpr[2] = (0u | 544u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -1599,7 +1600,7 @@ L_0899037C: aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(0), static_cast(0u)); aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(2), static_cast(0u)); aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(4), static_cast(0u)); - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; ctx.gpr[2] = (aot_gpr_4 | 0u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -1612,7 +1613,7 @@ L_08990390: aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(8), static_cast(0u)); aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(10), static_cast(0u)); aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(12), static_cast(0u)); - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; ctx.gpr[2] = (aot_gpr_4 | 0u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -1632,8 +1633,8 @@ L_089903B0: aot_fpr_12 = std::bit_cast(aot_gpr_5); aot_gpr_17 = (aot_gpr_16 + static_cast(16)); aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(8), std::bit_cast(aot_fpr_20)); - aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(44), ctx.gpr[31]); - ctx.gpr[31] = (0x089903F0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(44), aot_gpr_31); + aot_gpr_31 = (0x089903F0u); aot_gpr_5 = (ctx.gpr[29] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 123u, 0x08A19410u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089903F0u) goto L_089903F0; AOT_REGCACHE_SYNC_OUT(); return; @@ -1644,7 +1645,7 @@ L_089903F0: aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(16), aot_run_words); } aot_gpr_6 = (ctx.gpr[29] + static_cast(16)); aot_gpr_4 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x08990418u); + aot_gpr_31 = (0x08990418u); aot_gpr_5 = (ctx.gpr[29] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0045_entry, 45u, 388u, 0x088B9CB0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08990418u) goto L_08990418; AOT_REGCACHE_SYNC_OUT(); return; @@ -1667,9 +1668,9 @@ L_08990418: aot_fpr_20 = std::bit_cast(aot_run_words[0]); aot_gpr_16 = aot_run_words[1]; aot_gpr_17 = aot_run_words[2]; - ctx.gpr[31] = aot_run_words[3]; + aot_gpr_31 = aot_run_words[3]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; ctx.gpr[29] = (ctx.gpr[29] + static_cast(48)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -1680,7 +1681,7 @@ L_08990464: aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_17); aot_gpr_17 = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), aot_gpr_16); - aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(8), ctx.gpr[31]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(8), aot_gpr_31); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_16 = (aot_gpr_5 | 0u); if (branch_taken) { @@ -1689,7 +1690,7 @@ L_08990464: goto L_08990480; } L_08990480: - ctx.gpr[31] = (0x08990488u); + aot_gpr_31 = (0x08990488u); aot_gpr_4 = (aot_gpr_17 | 0u); goto L_089904B0; L_08990488: @@ -1702,18 +1703,18 @@ L_08990488: goto L_08990494; } L_08990494: - ctx.gpr[31] = (0x0899049Cu); + aot_gpr_31 = (0x0899049Cu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899049Cu) goto L_0899049C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899049Cu) goto L_0899049C; AOT_REGCACHE_SYNC_OUT(); return; L_0899049C: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; - ctx.gpr[31] = aot_run_words[2]; + aot_gpr_31 = aot_run_words[2]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -1728,7 +1729,7 @@ L_089904B0: { const std::uint32_t aot_run_words[3]{0u, 0u, 0u}; aot_mem.aot_direct_store32_block(aot_gpr_4 + static_cast(56), aot_run_words); } aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(72), 0u); - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(76), 0u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -1736,7 +1737,7 @@ L_089904B0: AOT_REGCACHE_SYNC_OUT(); return; L_089904DC: ctx.gpr[29] = (ctx.gpr[29] + static_cast(-32)); - { const std::uint32_t aot_run_words[5]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[5]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(0), aot_run_words); } { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_5 + static_cast(0), aot_run_words); @@ -1804,7 +1805,7 @@ L_08990558: aot_gpr_6 = (0u | 16u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 1u); - ctx.gpr[31] = (0x08990574u); + aot_gpr_31 = (0x08990574u); ctx.gpr[9] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 173u, 0x08B60E20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08990574u) goto L_08990574; AOT_REGCACHE_SYNC_OUT(); return; @@ -1842,7 +1843,7 @@ L_0899059C: aot_gpr_6 = (0u | 16u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 1u); - ctx.gpr[31] = (0x089905B8u); + aot_gpr_31 = (0x089905B8u); ctx.gpr[9] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 173u, 0x08B60E20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089905B8u) goto L_089905B8; AOT_REGCACHE_SYNC_OUT(); return; @@ -1851,7 +1852,7 @@ L_089905B8: aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(54))); aot_gpr_4 = (0u | 0u); aot_gpr_6 = (0u | 16u); - ctx.gpr[31] = (0x089905D0u); + aot_gpr_31 = (0x089905D0u); ctx.gpr[7] = (ctx.gpr[7] + static_cast(912)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 158u, 0x08B60C7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089905D0u) goto L_089905D0; AOT_REGCACHE_SYNC_OUT(); return; @@ -1922,9 +1923,9 @@ L_08990660: goto L_08990670; } L_08990670: - ctx.gpr[31] = (0x08990678u); + aot_gpr_31 = (0x08990678u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(56))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08990678u) goto L_08990678; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2E4, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08990678u) goto L_08990678; AOT_REGCACHE_SYNC_OUT(); return; L_08990678: { const bool branch_taken = 0u == 0u; @@ -1955,13 +1956,13 @@ L_08990690: goto L_089906A0; } L_089906A0: - ctx.gpr[31] = (0x089906A8u); + aot_gpr_31 = (0x089906A8u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(56))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089906A8u) goto L_089906A8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2E4, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089906A8u) goto L_089906A8; AOT_REGCACHE_SYNC_OUT(); return; L_089906A8: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(52))); - ctx.gpr[31] = (0x089906B4u); + aot_gpr_31 = (0x089906B4u); aot_gpr_4 = (aot_gpr_4 << 5u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 468u, 0x08ABE29Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089906B4u) goto L_089906B4; AOT_REGCACHE_SYNC_OUT(); return; @@ -2039,7 +2040,7 @@ L_08990754: aot_gpr_6 = (0u | 32u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 1u); - ctx.gpr[31] = (0x08990770u); + aot_gpr_31 = (0x08990770u); ctx.gpr[9] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 173u, 0x08B60E20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08990770u) goto L_08990770; AOT_REGCACHE_SYNC_OUT(); return; @@ -2077,7 +2078,7 @@ L_08990798: aot_gpr_6 = (0u | 32u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 1u); - ctx.gpr[31] = (0x089907B4u); + aot_gpr_31 = (0x089907B4u); ctx.gpr[9] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 173u, 0x08B60E20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089907B4u) goto L_089907B4; AOT_REGCACHE_SYNC_OUT(); return; @@ -2085,7 +2086,7 @@ L_089907B4: aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(53))); aot_gpr_4 = (0u | 0u); aot_gpr_6 = (0u | 32u); - ctx.gpr[31] = (0x089907C8u); + aot_gpr_31 = (0x089907C8u); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 158u, 0x08B60C7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089907C8u) goto L_089907C8; AOT_REGCACHE_SYNC_OUT(); return; @@ -2173,7 +2174,7 @@ L_08990840: aot_gpr_6 = (0u | 48u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 1u); - ctx.gpr[31] = (0x0899085Cu); + aot_gpr_31 = (0x0899085Cu); ctx.gpr[9] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 173u, 0x08B60E20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899085Cu) goto L_0899085C; AOT_REGCACHE_SYNC_OUT(); return; @@ -2211,7 +2212,7 @@ L_08990884: aot_gpr_6 = (0u | 48u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 1u); - ctx.gpr[31] = (0x089908A0u); + aot_gpr_31 = (0x089908A0u); ctx.gpr[9] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 173u, 0x08B60E20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089908A0u) goto L_089908A0; AOT_REGCACHE_SYNC_OUT(); return; @@ -2219,7 +2220,7 @@ L_089908A0: aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(48))); aot_gpr_4 = (0u | 0u); aot_gpr_6 = (0u | 48u); - ctx.gpr[31] = (0x089908B4u); + aot_gpr_31 = (0x089908B4u); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 158u, 0x08B60C7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089908B4u) goto L_089908B4; AOT_REGCACHE_SYNC_OUT(); return; @@ -2244,7 +2245,7 @@ L_089908CC: aot_gpr_6 = (aot_gpr_4 + aot_gpr_6); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(64))); aot_gpr_4 = (aot_gpr_5 + aot_gpr_6); - ctx.gpr[31] = (0x089908ECu); + aot_gpr_31 = (0x089908ECu); aot_gpr_5 = (ctx.gpr[7] + aot_gpr_6); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0045_entry, 45u, 390u, 0x088B9CECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089908ECu) goto L_089908EC; AOT_REGCACHE_SYNC_OUT(); return; @@ -2280,9 +2281,9 @@ L_08990910: goto L_08990920; } L_08990920: - ctx.gpr[31] = (0x08990928u); + aot_gpr_31 = (0x08990928u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(76))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08990928u) goto L_08990928; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2E4, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08990928u) goto L_08990928; AOT_REGCACHE_SYNC_OUT(); return; L_08990928: aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(76), 0u); @@ -2300,7 +2301,7 @@ L_08990938: aot_gpr_6 = (0u | 6u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 1u); - ctx.gpr[31] = (0x08990954u); + aot_gpr_31 = (0x08990954u); ctx.gpr[9] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 173u, 0x08B60E20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08990954u) goto L_08990954; AOT_REGCACHE_SYNC_OUT(); return; @@ -2402,7 +2403,7 @@ L_08990A04: aot_gpr_6 = (0u | 6u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 1u); - ctx.gpr[31] = (0x08990A20u); + aot_gpr_31 = (0x08990A20u); ctx.gpr[9] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 173u, 0x08B60E20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08990A20u) goto L_08990A20; AOT_REGCACHE_SYNC_OUT(); return; @@ -2419,7 +2420,7 @@ L_08990A28: aot_gpr_4 = (0u | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_6 = (0u | 6u); - ctx.gpr[31] = (0x08990A40u); + aot_gpr_31 = (0x08990A40u); ctx.gpr[7] = (ctx.gpr[7] + static_cast(892)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 158u, 0x08B60C7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08990A40u) goto L_08990A40; AOT_REGCACHE_SYNC_OUT(); return; @@ -2480,13 +2481,13 @@ L_08990AA8: goto L_08990AB8; } L_08990AB8: - ctx.gpr[31] = (0x08990AC0u); + aot_gpr_31 = (0x08990AC0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(76))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08990AC0u) goto L_08990AC0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2E4, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08990AC0u) goto L_08990AC0; AOT_REGCACHE_SYNC_OUT(); return; L_08990AC0: aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(50))); - ctx.gpr[31] = (0x08990ACCu); + aot_gpr_31 = (0x08990ACCu); aot_gpr_4 = (aot_gpr_4 << 3u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 468u, 0x08ABE29Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08990ACCu) goto L_08990ACC; AOT_REGCACHE_SYNC_OUT(); return; @@ -2537,51 +2538,51 @@ L_08990B30: aot_gpr_17 = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; - ctx.gpr[31] = aot_run_words[4]; + aot_gpr_31 = aot_run_words[4]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; ctx.gpr[29] = (ctx.gpr[29] + static_cast(32)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08990B50: - jump_target = ctx.gpr[31]; - aot_mem.aot_direct_store16(aot_gpr_28 + static_cast(9296), static_cast(0u)); + jump_target = aot_gpr_31; + aot_mem.aot_direct_store16(ctx.gpr[28] + static_cast(9296), static_cast(0u)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08990B58: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; // nop local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08990B60: - jump_target = ctx.gpr[31]; - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(7892), static_cast(0u)); + jump_target = aot_gpr_31; + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(7892), static_cast(0u)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08990B68: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; // nop local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08990B70: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; // nop local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08990B78: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; // nop local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -2589,7 +2590,7 @@ L_08990B78: AOT_REGCACHE_SYNC_OUT(); return; L_08990B80: aot_gpr_6 = (aot_gpr_4 << 2u); - aot_gpr_6 = (aot_gpr_28 + aot_gpr_6); + aot_gpr_6 = (ctx.gpr[28] + aot_gpr_6); aot_gpr_4 = (aot_gpr_6 + static_cast(9404)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); ctx.gpr[7] = (static_cast(aot_gpr_5) < static_cast(aot_gpr_4) ? 1u : 0u); @@ -2599,42 +2600,42 @@ L_08990B80: } goto L_08990B9C; L_08990B9C: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(9404), aot_gpr_5); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08990BA4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(9348))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(9348))); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); - jump_target = ctx.gpr[31]; - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(9348), aot_gpr_4); + jump_target = aot_gpr_31; + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(9348), aot_gpr_4); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08990BB4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(9352))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(9352))); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); - jump_target = ctx.gpr[31]; - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(9352), aot_gpr_4); + jump_target = aot_gpr_31; + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(9352), aot_gpr_4); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08990BC4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(9356))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(9356))); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); - jump_target = ctx.gpr[31]; - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(9356), aot_gpr_4); + jump_target = aot_gpr_31; + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(9356), aot_gpr_4); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08990BD4: aot_gpr_5 = (aot_gpr_4 | 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(9360))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(9360))); aot_gpr_6 = (static_cast(aot_gpr_5) < static_cast(aot_gpr_4) ? 1u : 0u); if (aot_gpr_6 != 0u) { aot_gpr_5 = (aot_gpr_4 | 0u); @@ -2642,15 +2643,15 @@ L_08990BD4: } goto L_08990BE8; L_08990BE8: - jump_target = ctx.gpr[31]; - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(9360), aot_gpr_5); + jump_target = aot_gpr_31; + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(9360), aot_gpr_5); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08990BF0: aot_gpr_5 = (aot_gpr_4 | 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(9364))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(9364))); aot_gpr_6 = (static_cast(aot_gpr_5) < static_cast(aot_gpr_4) ? 1u : 0u); if (aot_gpr_6 != 0u) { aot_gpr_5 = (aot_gpr_4 | 0u); @@ -2658,15 +2659,15 @@ L_08990BF0: } goto L_08990C04; L_08990C04: - jump_target = ctx.gpr[31]; - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(9364), aot_gpr_5); + jump_target = aot_gpr_31; + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(9364), aot_gpr_5); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08990C0C: aot_gpr_5 = (aot_gpr_4 | 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(9368))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(9368))); aot_gpr_6 = (static_cast(aot_gpr_5) < static_cast(aot_gpr_4) ? 1u : 0u); if (aot_gpr_6 != 0u) { aot_gpr_5 = (aot_gpr_4 | 0u); @@ -2674,8 +2675,8 @@ L_08990C0C: } goto L_08990C20; L_08990C20: - jump_target = ctx.gpr[31]; - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(9368), aot_gpr_5); + jump_target = aot_gpr_31; + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(9368), aot_gpr_5); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -2922,7 +2923,7 @@ L_08990DF0: } L_08990E08: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_gpr_28 + static_cast(-15712)); + ctx.gpr[2] = (ctx.gpr[28] + static_cast(-15712)); if (branch_taken) { goto L_08990EAC; } @@ -2930,7 +2931,7 @@ L_08990E08: } L_08990E10: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_gpr_28 + static_cast(-15720)); + ctx.gpr[2] = (ctx.gpr[28] + static_cast(-15720)); if (branch_taken) { goto L_08990EAC; } @@ -2938,7 +2939,7 @@ L_08990E10: } L_08990E18: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_gpr_28 + static_cast(-15728)); + ctx.gpr[2] = (ctx.gpr[28] + static_cast(-15728)); if (branch_taken) { goto L_08990EAC; } @@ -2946,7 +2947,7 @@ L_08990E18: } L_08990E20: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_gpr_28 + static_cast(-15736)); + ctx.gpr[2] = (ctx.gpr[28] + static_cast(-15736)); if (branch_taken) { goto L_08990EAC; } @@ -2954,7 +2955,7 @@ L_08990E20: } L_08990E28: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_gpr_28 + static_cast(-15744)); + ctx.gpr[2] = (ctx.gpr[28] + static_cast(-15744)); if (branch_taken) { goto L_08990EAC; } @@ -2962,7 +2963,7 @@ L_08990E28: } L_08990E30: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_gpr_28 + static_cast(-15752)); + ctx.gpr[2] = (ctx.gpr[28] + static_cast(-15752)); if (branch_taken) { goto L_08990EAC; } @@ -2970,7 +2971,7 @@ L_08990E30: } L_08990E38: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_gpr_28 + static_cast(-15760)); + ctx.gpr[2] = (ctx.gpr[28] + static_cast(-15760)); if (branch_taken) { goto L_08990EAC; } @@ -2978,7 +2979,7 @@ L_08990E38: } L_08990E40: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_gpr_28 + static_cast(-15768)); + ctx.gpr[2] = (ctx.gpr[28] + static_cast(-15768)); if (branch_taken) { goto L_08990EAC; } @@ -2986,7 +2987,7 @@ L_08990E40: } L_08990E48: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_gpr_28 + static_cast(-15776)); + ctx.gpr[2] = (ctx.gpr[28] + static_cast(-15776)); if (branch_taken) { goto L_08990EAC; } @@ -2994,7 +2995,7 @@ L_08990E48: } L_08990E50: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_gpr_28 + static_cast(-15784)); + ctx.gpr[2] = (ctx.gpr[28] + static_cast(-15784)); if (branch_taken) { goto L_08990EAC; } @@ -3002,7 +3003,7 @@ L_08990E50: } L_08990E58: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_gpr_28 + static_cast(-15792)); + ctx.gpr[2] = (ctx.gpr[28] + static_cast(-15792)); if (branch_taken) { goto L_08990EAC; } @@ -3010,7 +3011,7 @@ L_08990E58: } L_08990E60: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_gpr_28 + static_cast(-15800)); + ctx.gpr[2] = (ctx.gpr[28] + static_cast(-15800)); if (branch_taken) { goto L_08990EAC; } @@ -3018,7 +3019,7 @@ L_08990E60: } L_08990E68: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_gpr_28 + static_cast(-15808)); + ctx.gpr[2] = (ctx.gpr[28] + static_cast(-15808)); if (branch_taken) { goto L_08990EAC; } @@ -3026,7 +3027,7 @@ L_08990E68: } L_08990E70: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_gpr_28 + static_cast(-15816)); + ctx.gpr[2] = (ctx.gpr[28] + static_cast(-15816)); if (branch_taken) { goto L_08990EAC; } @@ -3034,7 +3035,7 @@ L_08990E70: } L_08990E78: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_gpr_28 + static_cast(-15824)); + ctx.gpr[2] = (ctx.gpr[28] + static_cast(-15824)); if (branch_taken) { goto L_08990EAC; } @@ -3042,7 +3043,7 @@ L_08990E78: } L_08990E80: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_gpr_28 + static_cast(-15832)); + ctx.gpr[2] = (ctx.gpr[28] + static_cast(-15832)); if (branch_taken) { goto L_08990EAC; } @@ -3050,7 +3051,7 @@ L_08990E80: } L_08990E88: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_gpr_28 + static_cast(-15840)); + ctx.gpr[2] = (ctx.gpr[28] + static_cast(-15840)); if (branch_taken) { goto L_08990EAC; } @@ -3058,7 +3059,7 @@ L_08990E88: } L_08990E90: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_gpr_28 + static_cast(-15848)); + ctx.gpr[2] = (ctx.gpr[28] + static_cast(-15848)); if (branch_taken) { goto L_08990EAC; } @@ -3066,7 +3067,7 @@ L_08990E90: } L_08990E98: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_gpr_28 + static_cast(-15856)); + ctx.gpr[2] = (ctx.gpr[28] + static_cast(-15856)); if (branch_taken) { goto L_08990EAC; } @@ -3074,24 +3075,24 @@ L_08990E98: } L_08990EA0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_gpr_28 + static_cast(-15864)); + ctx.gpr[2] = (ctx.gpr[28] + static_cast(-15864)); if (branch_taken) { goto L_08990EAC; } goto L_08990EA8; } L_08990EA8: - ctx.gpr[2] = (aot_gpr_28 + static_cast(-15704)); + ctx.gpr[2] = (ctx.gpr[28] + static_cast(-15704)); goto L_08990EAC; L_08990EAC: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; // nop local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08990EB4: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(7800))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7800))); aot_gpr_5 = (aot_gpr_4 + aot_gpr_4); aot_gpr_6 = (aot_gpr_4 << 8u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); @@ -3103,40 +3104,40 @@ L_08990EB4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(172))); aot_gpr_6 = (0u | 5000u); { const std::int32_t dividend = static_cast(aot_gpr_4); const std::int32_t divisor = static_cast(aot_gpr_6); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(9036))); - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(9412))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(9036))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(9412))); aot_gpr_4 = (aot_gpr_5 + aot_gpr_5); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(9032))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(9032))); aot_gpr_4 = (aot_gpr_6 - aot_gpr_4); aot_gpr_6 = (aot_gpr_5 + aot_gpr_5); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(9320))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(9320))); aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); aot_gpr_6 = (ctx.gpr[7] << 5u); aot_gpr_4 = (aot_gpr_4 - aot_gpr_5); aot_gpr_5 = (aot_gpr_6 - ctx.gpr[7]); aot_gpr_5 = (aot_gpr_5 - ctx.gpr[7]); - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(9348))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(9348))); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(9364))); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(9352))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(9364))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(9352))); aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); aot_gpr_6 = (aot_gpr_5 << 3u); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[7]); aot_gpr_6 = (aot_gpr_5 + aot_gpr_6); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(9368))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(9368))); aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); aot_gpr_6 = (ctx.gpr[7] << 3u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_5 = (ctx.gpr[7] + aot_gpr_6); aot_gpr_5 = (ctx.gpr[7] + aot_gpr_5); - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(9356))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(9356))); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_5 = (aot_gpr_4 + aot_gpr_6); - ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-16130))); - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(9288))); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(9316))); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8084))); + ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-16130))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(9288))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(9316))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8084))); ctx.gpr[8] = (ctx.lo); { const bool branch_taken = ctx.gpr[7] != 0u; aot_gpr_5 = (aot_gpr_5 + ctx.gpr[8]); @@ -3192,7 +3193,7 @@ L_08990FB4: goto L_08990FC0; } L_08990FC0: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(9328))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(9328))); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_13))); aot_fpr_14 = std::bit_cast(aot_gpr_5); @@ -3219,7 +3220,7 @@ L_08990FF8: goto L_0899100C; } L_0899100C: - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8080))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8080))); aot_fpr_12 = aot_fpr_13 / aot_fpr_12; aot_gpr_4 = (17530u << 16u); aot_fpr_14 = std::bit_cast(ctx.gpr[2]); @@ -3231,14 +3232,14 @@ L_0899100C: ctx.gpr[2] = (std::bit_cast(aot_fpr_12)); goto L_08991034; L_08991034: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; // nop local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_0899103C: - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8084))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8084))); aot_fpr_13 = std::bit_cast(0u); aot_gpr_4 = (17096u << 16u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_14) || std::isnan(aot_fpr_13)) && aot_fpr_14 == aot_fpr_13)) ? 0x00800000u : 0u); @@ -3259,7 +3260,7 @@ L_08991058: goto L_08991060; } L_08991060: - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8080))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8080))); { const float fs = aot_fpr_13; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_fpr_13 = aot_fpr_13 / aot_fpr_14; goto L_0899106C; @@ -3273,62 +3274,62 @@ L_0899106C: } goto L_08991080; L_08991080: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; // nop local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08991088: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(9376))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(9376))); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); - jump_target = ctx.gpr[31]; - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(9376), aot_gpr_4); + jump_target = aot_gpr_31; + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(9376), aot_gpr_4); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08991098: - jump_target = ctx.gpr[31]; - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(9380), aot_gpr_4); + jump_target = aot_gpr_31; + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(9380), aot_gpr_4); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_089910A0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(9384))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(9384))); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); - jump_target = ctx.gpr[31]; - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(9384), aot_gpr_4); + jump_target = aot_gpr_31; + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(9384), aot_gpr_4); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_089910B0: aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(9392))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(9392))); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_fpr_12 = aot_fpr_13 + aot_fpr_12; - jump_target = ctx.gpr[31]; - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(9392), std::bit_cast(aot_fpr_12)); + jump_target = aot_gpr_31; + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(9392), std::bit_cast(aot_fpr_12)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_089910C8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(9412))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(9408))); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(9408), 0u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(9412))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(9408))); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(9408), 0u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); - jump_target = ctx.gpr[31]; - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(9412), aot_gpr_4); + jump_target = aot_gpr_31; + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(9412), aot_gpr_4); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_089910E0: - jump_target = ctx.gpr[31]; - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(9408), 0u); + jump_target = aot_gpr_31; + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(9408), 0u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -3346,7 +3347,7 @@ L_089910E8: } goto L_08991108; L_08991108: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(0), aot_gpr_5); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -3386,7 +3387,7 @@ L_08991148: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_6); goto L_0899114C; L_0899114C: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; // nop local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -3426,7 +3427,7 @@ L_0899118C: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_6); goto L_08991190; L_08991190: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; // nop local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -3466,7 +3467,7 @@ L_089911D0: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_6); goto L_089911D4; L_089911D4: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; // nop local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -3506,7 +3507,7 @@ L_08991214: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_6); goto L_08991218; L_08991218: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; // nop local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -3546,7 +3547,7 @@ L_08991258: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_6); goto L_0899125C; L_0899125C: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; // nop local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -3586,7 +3587,7 @@ L_0899129C: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_6); goto L_089912A0; L_089912A0: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; // nop local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -3594,7 +3595,7 @@ L_089912A0: AOT_REGCACHE_SYNC_OUT(); return; L_089912A8: aot_gpr_4 = (aot_gpr_4 << 2u); - aot_gpr_4 = (aot_gpr_28 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[28] + aot_gpr_4); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(9416))); { const bool branch_taken = aot_gpr_6 != 0u; // nop @@ -3625,7 +3626,7 @@ L_089912DC: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(9416), aot_gpr_6); goto L_089912E0; L_089912E0: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; // nop local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -3633,7 +3634,7 @@ L_089912E0: AOT_REGCACHE_SYNC_OUT(); return; L_089912E8: aot_gpr_4 = (aot_gpr_4 << 2u); - aot_gpr_4 = (aot_gpr_28 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[28] + aot_gpr_4); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(9432))); { const bool branch_taken = aot_gpr_6 != 0u; // nop @@ -3664,7 +3665,7 @@ L_0899131C: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(9432), aot_gpr_6); goto L_08991320; L_08991320: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; // nop local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -3704,7 +3705,7 @@ L_08991360: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_6); goto L_08991364; L_08991364: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; // nop local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -3744,7 +3745,7 @@ L_089913A4: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_6); goto L_089913A8; L_089913A8: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; // nop local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -3756,11 +3757,11 @@ L_089913B0: aot_gpr_16 = (2279u << 16u); aot_gpr_16 = (aot_gpr_16 + static_cast(17584)); aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_17); - aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(8), ctx.gpr[31]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(8), aot_gpr_31); aot_gpr_17 = (aot_gpr_16 | 0u); aot_gpr_16 = (0u | 1u); - ctx.gpr[31] = (0x089913D8u); - aot_gpr_4 = (aot_gpr_28 + static_cast(7768)); + aot_gpr_31 = (0x089913D8u); + aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 573u, 0x08A06454u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089913D8u) goto L_089913D8; AOT_REGCACHE_SYNC_OUT(); return; L_089913D8: @@ -3800,9 +3801,9 @@ L_08991414: aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; - ctx.gpr[31] = aot_run_words[2]; + aot_gpr_31 = aot_run_words[2]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -3813,7 +3814,7 @@ L_0899142C: aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_5 = (aot_gpr_5 + static_cast(17584)); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; ctx.fpr[0] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -3853,7 +3854,7 @@ L_08991478: goto L_08991488; } L_08991488: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; // nop local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -3893,7 +3894,7 @@ L_089914C4: goto L_089914D4; } L_089914D4: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; // nop local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -3910,7 +3911,7 @@ L_089914DC: goto L_089914EC; } L_089914EC: - aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_28 + static_cast(9400))); + aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[28] + static_cast(9400))); aot_gpr_6 = (0u | 1u); aot_gpr_4 = (aot_gpr_6 << (aot_gpr_4 & 31u)); aot_gpr_6 = (aot_gpr_5 & aot_gpr_4); @@ -3923,10 +3924,10 @@ L_089914EC: } L_08991504: aot_gpr_4 = (aot_gpr_5 | aot_gpr_4); - aot_mem.aot_direct_store16(aot_gpr_28 + static_cast(9400), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store16(ctx.gpr[28] + static_cast(9400), static_cast(aot_gpr_4)); goto L_0899150C; L_0899150C: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; // nop local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -3943,7 +3944,7 @@ L_08991514: goto L_08991524; } L_08991524: - aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_28 + static_cast(9400))); + aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[28] + static_cast(9400))); aot_gpr_6 = (0u | 1u); aot_gpr_4 = (aot_gpr_6 << (aot_gpr_4 & 31u)); aot_gpr_6 = (aot_gpr_5 & aot_gpr_4); @@ -3957,10 +3958,10 @@ L_08991524: L_0899153C: aot_gpr_4 = (~(aot_gpr_4 | 0u)); aot_gpr_4 = (aot_gpr_5 & aot_gpr_4); - aot_mem.aot_direct_store16(aot_gpr_28 + static_cast(9400), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store16(ctx.gpr[28] + static_cast(9400), static_cast(aot_gpr_4)); goto L_08991548; L_08991548: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; // nop local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -3986,7 +3987,7 @@ L_0899155C: goto L_0899156C; } L_0899156C: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; // nop local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -4023,7 +4024,7 @@ L_08991598: aot_gpr_4 = (0u - aot_gpr_4); goto L_0899159C; L_0899159C: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; ctx.gpr[2] = (aot_gpr_4 | 0u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -4035,7 +4036,7 @@ L_089915A4: aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(520), aot_gpr_17); aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_17 = (aot_gpr_5 | 0u); - { const std::uint32_t aot_run_words[7]{ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[7]{ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], aot_gpr_31}; aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(524), aot_run_words); } { const bool branch_taken = aot_gpr_4 == 0u; ctx.gpr[18] = (aot_gpr_6 | 0u); @@ -4055,7 +4056,7 @@ L_089915DC: L_089915E4: ctx.gpr[19] = (2238u << 16u); aot_mem.aot_direct_store16(ctx.gpr[19] + static_cast(17512), static_cast(0u)); - ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + ctx.gpr[20] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); ctx.gpr[22] = (2238u << 16u); ctx.gpr[19] = (ctx.gpr[19] + static_cast(17512)); { const bool branch_taken = ctx.gpr[20] == 0u; @@ -4083,7 +4084,7 @@ L_08991608: } L_08991610: ctx.gpr[20] = (0u | 0u); - ctx.gpr[31] = (0x0899161Cu); + aot_gpr_31 = (0x0899161Cu); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899161Cu) goto L_0899161C; AOT_REGCACHE_SYNC_OUT(); return; @@ -4097,25 +4098,25 @@ L_0899161C: goto L_08991628; } L_08991628: - ctx.gpr[31] = (0x08991630u); + aot_gpr_31 = (0x08991630u); aot_gpr_4 = (ctx.gpr[21] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08991630u) goto L_08991630; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08991630u) goto L_08991630; AOT_REGCACHE_SYNC_OUT(); return; L_08991630: ctx.gpr[20] = (ctx.gpr[21] | 0u); goto L_08991634; L_08991634: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[20]); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), ctx.gpr[20]); aot_gpr_4 = (ctx.gpr[20] | 0u); goto L_0899163C; L_0899163C: - ctx.gpr[31] = (0x08991644u); + aot_gpr_31 = (0x08991644u); aot_gpr_5 = (aot_gpr_17 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08991644u) goto L_08991644; AOT_REGCACHE_SYNC_OUT(); return; L_08991644: aot_gpr_4 = (ctx.gpr[19] | 0u); - ctx.gpr[31] = (0x08991650u); + aot_gpr_31 = (0x08991650u); aot_gpr_5 = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0032_entry, 32u, 851u, 0x08887B80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08991650u) goto L_08991650; AOT_REGCACHE_SYNC_OUT(); return; @@ -4138,8 +4139,8 @@ L_08991658: L_08991660: aot_gpr_17 = (ctx.gpr[29] + static_cast(512)); aot_mem.aot_direct_store16(ctx.gpr[29] + static_cast(0), static_cast(0u)); - aot_gpr_4 = (aot_gpr_28 + static_cast(-15696)); - ctx.gpr[31] = (0x08991674u); + aot_gpr_4 = (ctx.gpr[28] + static_cast(-15696)); + aot_gpr_31 = (0x08991674u); aot_gpr_5 = (aot_gpr_17 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0032_entry, 32u, 843u, 0x08887B04u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08991674u) goto L_08991674; AOT_REGCACHE_SYNC_OUT(); return; @@ -4155,7 +4156,7 @@ L_08991674: } L_08991684: aot_gpr_4 = (ctx.gpr[29] | 0u); - ctx.gpr[31] = (0x08991690u); + aot_gpr_31 = (0x08991690u); aot_gpr_5 = (aot_gpr_17 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0032_entry, 32u, 846u, 0x08887B30u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08991690u) goto L_08991690; AOT_REGCACHE_SYNC_OUT(); return; @@ -4171,12 +4172,12 @@ L_08991690: } L_089916A0: aot_gpr_4 = (ctx.gpr[23] | 0u); - ctx.gpr[31] = (0x089916ACu); + aot_gpr_31 = (0x089916ACu); aot_gpr_5 = (ctx.gpr[29] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0032_entry, 32u, 851u, 0x08887B80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089916ACu) goto L_089916AC; AOT_REGCACHE_SYNC_OUT(); return; L_089916AC: - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_17 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); { const bool branch_taken = aot_gpr_17 != 0u; aot_gpr_4 = (aot_gpr_17 | 0u); if (branch_taken) { @@ -4186,7 +4187,7 @@ L_089916AC: } L_089916B8: aot_gpr_17 = (0u | 0u); - ctx.gpr[31] = (0x089916C4u); + aot_gpr_31 = (0x089916C4u); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089916C4u) goto L_089916C4; AOT_REGCACHE_SYNC_OUT(); return; @@ -4200,30 +4201,30 @@ L_089916C4: goto L_089916D0; } L_089916D0: - ctx.gpr[31] = (0x089916D8u); + aot_gpr_31 = (0x089916D8u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089916D8u) goto L_089916D8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089916D8u) goto L_089916D8; AOT_REGCACHE_SYNC_OUT(); return; L_089916D8: aot_gpr_17 = (ctx.gpr[18] | 0u); goto L_089916DC; L_089916DC: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_17); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_17); aot_gpr_4 = (aot_gpr_17 | 0u); goto L_089916E4; L_089916E4: - ctx.gpr[31] = (0x089916ECu); + aot_gpr_31 = (0x089916ECu); aot_gpr_5 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089916ECu) goto L_089916EC; AOT_REGCACHE_SYNC_OUT(); return; L_089916EC: aot_gpr_4 = (ctx.gpr[23] | 0u); - ctx.gpr[31] = (0x089916F8u); + aot_gpr_31 = (0x089916F8u); aot_gpr_5 = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0032_entry, 32u, 846u, 0x08887B30u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089916F8u) goto L_089916F8; AOT_REGCACHE_SYNC_OUT(); return; L_089916F8: - ctx.gpr[31] = (0x08991700u); + aot_gpr_31 = (0x08991700u); aot_gpr_4 = (ctx.gpr[22] + static_cast(-8144)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 340u, 0x089F5C7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08991700u) goto L_08991700; AOT_REGCACHE_SYNC_OUT(); return; @@ -4236,7 +4237,7 @@ L_08991700: goto L_08991708; } L_08991708: - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_17 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); { const bool branch_taken = aot_gpr_17 != 0u; aot_gpr_4 = (aot_gpr_17 | 0u); if (branch_taken) { @@ -4246,7 +4247,7 @@ L_08991708: } L_08991714: aot_gpr_17 = (0u | 0u); - ctx.gpr[31] = (0x08991720u); + aot_gpr_31 = (0x08991720u); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08991720u) goto L_08991720; AOT_REGCACHE_SYNC_OUT(); return; @@ -4260,30 +4261,30 @@ L_08991720: goto L_0899172C; } L_0899172C: - ctx.gpr[31] = (0x08991734u); + aot_gpr_31 = (0x08991734u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08991734u) goto L_08991734; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08991734u) goto L_08991734; AOT_REGCACHE_SYNC_OUT(); return; L_08991734: aot_gpr_17 = (ctx.gpr[18] | 0u); goto L_08991738; L_08991738: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_17); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_17); aot_gpr_4 = (aot_gpr_17 | 0u); goto L_08991740; L_08991740: - ctx.gpr[31] = (0x08991748u); + aot_gpr_31 = (0x08991748u); aot_gpr_5 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08991748u) goto L_08991748; AOT_REGCACHE_SYNC_OUT(); return; L_08991748: aot_gpr_4 = (ctx.gpr[23] | 0u); - ctx.gpr[31] = (0x08991754u); + aot_gpr_31 = (0x08991754u); aot_gpr_5 = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0032_entry, 32u, 851u, 0x08887B80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08991754u) goto L_08991754; AOT_REGCACHE_SYNC_OUT(); return; L_08991754: - ctx.gpr[31] = (0x0899175Cu); + aot_gpr_31 = (0x0899175Cu); aot_gpr_4 = (ctx.gpr[22] + static_cast(-8144)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 340u, 0x089F5C7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899175Cu) goto L_0899175C; AOT_REGCACHE_SYNC_OUT(); return; @@ -4298,9 +4299,9 @@ L_0899175C: ctx.gpr[21] = aot_run_words[5]; ctx.gpr[22] = aot_run_words[6]; ctx.gpr[23] = aot_run_words[7]; - ctx.gpr[31] = aot_run_words[8]; + aot_gpr_31 = aot_run_words[8]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; ctx.gpr[29] = (ctx.gpr[29] + static_cast(560)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -4308,11 +4309,11 @@ L_0899175C: AOT_REGCACHE_SYNC_OUT(); return; L_08991788: ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(9304), 0u); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(9300), 0u); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(9308), 0u); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(9304), 0u); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(9300), 0u); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(9308), 0u); aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(9312), 0u); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(9312), 0u); aot_gpr_4 = (2279u << 16u); aot_gpr_16 = (32768u << 16u); aot_gpr_5 = (2279u << 16u); @@ -4327,7 +4328,7 @@ L_08991788: ctx.gpr[12] = (2240u << 16u); aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), std::bit_cast(aot_fpr_20)); aot_fpr_20 = std::bit_cast(0u); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(9316), 0u); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(9316), 0u); ctx.gpr[13] = (0u | 0u); aot_gpr_4 = (aot_gpr_4 + static_cast(17488)); aot_gpr_16 = (aot_gpr_16 + static_cast(-1)); @@ -4341,7 +4342,7 @@ L_08991788: ctx.gpr[2] = (ctx.gpr[2] + static_cast(17904)); ctx.gpr[3] = (ctx.gpr[3] + static_cast(17936)); ctx.gpr[12] = (ctx.gpr[12] + static_cast(-23472)); - aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(8), ctx.gpr[31]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(8), aot_gpr_31); goto L_08991814; L_08991814: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), 0u); @@ -4355,54 +4356,54 @@ L_08991814: goto L_08991828; } L_08991828: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(9320), 0u); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(8080), std::bit_cast(aot_fpr_20)); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(9324), 0u); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(9328), 0u); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(7880), 0u); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(8676), 0u); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(9332), 0u); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(9336), 0u); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(9036), 0u); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(9032), 0u); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(8912), 0u); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(9340), 0u); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(9344), 0u); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(9320), 0u); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8080), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(9324), 0u); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(9328), 0u); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7880), 0u); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8676), 0u); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(9332), 0u); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(9336), 0u); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(9036), 0u); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(9032), 0u); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8912), 0u); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(9340), 0u); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(9344), 0u); { const std::uint32_t aot_run_words[7]{std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_20), 0u, 0u, 0u, 0u, 0u}; - aot_mem.aot_direct_store32_block(aot_gpr_28 + static_cast(8088), aot_run_words); } - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(8124), 0u); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(8136), 0u); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(8116), 0u); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(8120), 0u); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(9084), std::bit_cast(aot_fpr_20)); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(9080), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32_block(ctx.gpr[28] + static_cast(8088), aot_run_words); } + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8124), 0u); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8136), 0u); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8116), 0u); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8120), 0u); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(9084), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(9080), std::bit_cast(aot_fpr_20)); { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_20)}; - aot_mem.aot_direct_store32_block(aot_gpr_28 + static_cast(9068), aot_run_words); } - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(9064), std::bit_cast(aot_fpr_20)); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(9348), 0u); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(9360), 0u); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(9352), 0u); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(9364), 0u); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(9368), 0u); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(9356), 0u); + aot_mem.aot_direct_store32_block(ctx.gpr[28] + static_cast(9068), aot_run_words); } + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(9064), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(9348), 0u); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(9360), 0u); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(9352), 0u); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(9364), 0u); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(9368), 0u); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(9356), 0u); { const std::uint32_t aot_run_words[4]{0u, 0u, 0u, 0u}; - aot_mem.aot_direct_store32_block(aot_gpr_28 + static_cast(9372), aot_run_words); } - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(8684), 0u); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(9388), 0u); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(9392), std::bit_cast(aot_fpr_20)); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(9048), 0u); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(9056), 0u); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(9040), 0u); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(9052), std::bit_cast(aot_fpr_20)); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(9060), std::bit_cast(aot_fpr_20)); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(9044), std::bit_cast(aot_fpr_20)); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(8144), std::bit_cast(aot_fpr_20)); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(9396), std::bit_cast(aot_fpr_20)); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(7904), 0u); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(9088), std::bit_cast(aot_fpr_20)); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(9288), 0u); + aot_mem.aot_direct_store32_block(ctx.gpr[28] + static_cast(9372), aot_run_words); } + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8684), 0u); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(9388), 0u); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(9392), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(9048), 0u); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(9056), 0u); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(9040), 0u); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(9052), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(9060), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(9044), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8144), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(9396), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7904), 0u); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(9088), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(9288), 0u); ctx.gpr[13] = (0u | 0u); - aot_gpr_4 = (aot_gpr_28 | 0u); + aot_gpr_4 = (ctx.gpr[28] | 0u); goto L_08991908; L_08991908: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(9404), 0u); @@ -4515,7 +4516,7 @@ L_089919B0: } L_089919C4: aot_gpr_5 = (0u | 0u); - aot_gpr_4 = (aot_gpr_28 | 0u); + aot_gpr_4 = (ctx.gpr[28] | 0u); goto L_089919CC; L_089919CC: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(9416), 0u); @@ -4530,7 +4531,7 @@ L_089919CC: } L_089919E0: aot_gpr_5 = (0u | 0u); - aot_gpr_4 = (aot_gpr_28 | 0u); + aot_gpr_4 = (ctx.gpr[28] | 0u); goto L_089919E8; L_089919E8: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(9432), 0u); @@ -4575,7 +4576,7 @@ L_08991A2C: aot_gpr_4 = (0u | 0u); goto L_08991A30; L_08991A30: - aot_gpr_5 = (aot_gpr_4 + aot_gpr_28); + aot_gpr_5 = (aot_gpr_4 + ctx.gpr[28]); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(8160), static_cast(0u)); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); aot_gpr_5 = (static_cast(aot_gpr_4) < 6 ? 1u : 0u); @@ -4602,19 +4603,19 @@ L_08991A4C: } L_08991A60: { const std::uint32_t aot_run_words[4]{0u, 0u, 0u, 0u}; - aot_mem.aot_direct_store32_block(aot_gpr_28 + static_cast(8180), aot_run_words); } + aot_mem.aot_direct_store32_block(ctx.gpr[28] + static_cast(8180), aot_run_words); } { const std::uint32_t aot_run_words[4]{0u, 0u, 0u, 0u}; - aot_mem.aot_direct_store32_block(aot_gpr_28 + static_cast(8296), aot_run_words); } - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(8312), static_cast(0u)); - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(8313), static_cast(0u)); - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(8314), static_cast(0u)); - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(8315), static_cast(0u)); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(9408), 0u); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(9412), 0u); + aot_mem.aot_direct_store32_block(ctx.gpr[28] + static_cast(8296), aot_run_words); } + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(8312), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(8313), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(8314), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(8315), static_cast(0u)); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(9408), 0u); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(9412), 0u); aot_gpr_4 = (0u | 0u); goto L_08991A9C; L_08991A9C: - aot_gpr_5 = (aot_gpr_4 + aot_gpr_28); + aot_gpr_5 = (aot_gpr_4 + ctx.gpr[28]); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(8128), static_cast(0u)); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); aot_gpr_5 = (static_cast(aot_gpr_4) < 8 ? 1u : 0u); @@ -4627,39 +4628,39 @@ L_08991A9C: } L_08991AB4: { const std::uint32_t aot_run_words[3]{0u, 0u, 0u}; - aot_mem.aot_direct_store32_block(aot_gpr_28 + static_cast(8284), aot_run_words); } - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(8076), 0u); - ctx.gpr[31] = (0x08991ACCu); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(9292), 0u); + aot_mem.aot_direct_store32_block(ctx.gpr[28] + static_cast(8284), aot_run_words); } + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8076), 0u); + aot_gpr_31 = (0x08991ACCu); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(9292), 0u); goto L_089913B0; L_08991ACC: - aot_mem.aot_direct_store16(aot_gpr_28 + static_cast(9400), static_cast(0u)); - aot_mem.aot_direct_store16(aot_gpr_28 + static_cast(8156), static_cast(0u)); - aot_mem.aot_direct_store16(aot_gpr_28 + static_cast(8158), static_cast(0u)); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(8148), 0u); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(8152), 0u); + aot_mem.aot_direct_store16(ctx.gpr[28] + static_cast(9400), static_cast(0u)); + aot_mem.aot_direct_store16(ctx.gpr[28] + static_cast(8156), static_cast(0u)); + aot_mem.aot_direct_store16(ctx.gpr[28] + static_cast(8158), static_cast(0u)); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8148), 0u); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8152), 0u); { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_20)}; - aot_mem.aot_direct_store32_block(aot_gpr_28 + static_cast(8260), aot_run_words); } - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(8140), 0u); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(8168), 0u); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(8212), 0u); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(8216), 0u); + aot_mem.aot_direct_store32_block(ctx.gpr[28] + static_cast(8260), aot_run_words); } + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8140), 0u); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8168), 0u); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8212), 0u); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8216), 0u); { const std::uint32_t aot_run_words[4]{0u, aot_gpr_16, aot_gpr_16, aot_gpr_16}; - aot_mem.aot_direct_store32_block(aot_gpr_28 + static_cast(8196), aot_run_words); } + aot_mem.aot_direct_store32_block(ctx.gpr[28] + static_cast(8196), aot_run_words); } { const std::uint32_t aot_run_words[10]{0u, 0u, 0u, 0u, 0u, aot_gpr_16, aot_gpr_16, aot_gpr_16, aot_gpr_16, aot_gpr_16}; - aot_mem.aot_direct_store32_block(aot_gpr_28 + static_cast(8220), aot_run_words); } - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(8172), 0u); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(8176), std::bit_cast(aot_fpr_20)); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(8272), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(8280), 0u); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(8276), 0u); + aot_mem.aot_direct_store32_block(ctx.gpr[28] + static_cast(8220), aot_run_words); } + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8172), 0u); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8176), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8272), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8280), 0u); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8276), 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(0), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); aot_gpr_16 = aot_run_words[1]; - ctx.gpr[31] = aot_run_words[2]; + aot_gpr_31 = aot_run_words[2]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -4668,8 +4669,8 @@ L_08991ACC: L_08991B5C: ctx.gpr[29] = (ctx.gpr[29] + static_cast(-80)); aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(60), aot_gpr_16); - aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(64), ctx.gpr[31]); - ctx.gpr[31] = (0x08991B70u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(64), aot_gpr_31); + aot_gpr_31 = (0x08991B70u); aot_gpr_16 = (aot_gpr_4 | 0u); goto L_08990EB4; L_08991B70: @@ -4708,9 +4709,9 @@ L_08991B94: goto L_08991B9C; } L_08991B9C: - aot_gpr_5 = (aot_gpr_28 + static_cast(-15676)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-15676)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08991BACu); + aot_gpr_31 = (0x08991BACu); aot_gpr_6 = (ctx.gpr[29] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08991BACu) goto L_08991BAC; AOT_REGCACHE_SYNC_OUT(); return; @@ -4723,9 +4724,9 @@ L_08991BAC: goto L_08991BB4; } L_08991BB4: - aot_gpr_5 = (aot_gpr_28 + static_cast(-15668)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-15668)); aot_gpr_6 = (ctx.gpr[29] + static_cast(1)); - ctx.gpr[31] = (0x08991BC4u); + aot_gpr_31 = (0x08991BC4u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08991BC4u) goto L_08991BC4; AOT_REGCACHE_SYNC_OUT(); return; @@ -4764,9 +4765,9 @@ L_08991BE4: goto L_08991BEC; } L_08991BEC: - aot_gpr_5 = (aot_gpr_28 + static_cast(-15660)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-15660)); aot_gpr_6 = (ctx.gpr[29] + static_cast(2)); - ctx.gpr[31] = (0x08991BFCu); + aot_gpr_31 = (0x08991BFCu); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08991BFCu) goto L_08991BFC; AOT_REGCACHE_SYNC_OUT(); return; @@ -4779,9 +4780,9 @@ L_08991BFC: goto L_08991C04; } L_08991C04: - aot_gpr_5 = (aot_gpr_28 + static_cast(-15652)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-15652)); aot_gpr_6 = (ctx.gpr[29] + static_cast(3)); - ctx.gpr[31] = (0x08991C14u); + aot_gpr_31 = (0x08991C14u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08991C14u) goto L_08991C14; AOT_REGCACHE_SYNC_OUT(); return; @@ -4794,9 +4795,9 @@ L_08991C14: goto L_08991C1C; } L_08991C1C: - aot_gpr_5 = (aot_gpr_28 + static_cast(-15644)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-15644)); aot_gpr_6 = (ctx.gpr[29] + static_cast(4)); - ctx.gpr[31] = (0x08991C2Cu); + aot_gpr_31 = (0x08991C2Cu); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08991C2Cu) goto L_08991C2C; AOT_REGCACHE_SYNC_OUT(); return; @@ -4835,9 +4836,9 @@ L_08991C4C: goto L_08991C54; } L_08991C54: - aot_gpr_5 = (aot_gpr_28 + static_cast(-15636)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-15636)); aot_gpr_6 = (ctx.gpr[29] + static_cast(5)); - ctx.gpr[31] = (0x08991C64u); + aot_gpr_31 = (0x08991C64u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08991C64u) goto L_08991C64; AOT_REGCACHE_SYNC_OUT(); return; @@ -4850,9 +4851,9 @@ L_08991C64: goto L_08991C6C; } L_08991C6C: - aot_gpr_5 = (aot_gpr_28 + static_cast(-15628)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-15628)); aot_gpr_6 = (ctx.gpr[29] + static_cast(6)); - ctx.gpr[31] = (0x08991C7Cu); + aot_gpr_31 = (0x08991C7Cu); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08991C7Cu) goto L_08991C7C; AOT_REGCACHE_SYNC_OUT(); return; @@ -4891,9 +4892,9 @@ L_08991C9C: goto L_08991CA4; } L_08991CA4: - aot_gpr_5 = (aot_gpr_28 + static_cast(-15620)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-15620)); aot_gpr_6 = (ctx.gpr[29] + static_cast(7)); - ctx.gpr[31] = (0x08991CB4u); + aot_gpr_31 = (0x08991CB4u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08991CB4u) goto L_08991CB4; AOT_REGCACHE_SYNC_OUT(); return; @@ -4906,9 +4907,9 @@ L_08991CB4: goto L_08991CBC; } L_08991CBC: - aot_gpr_5 = (aot_gpr_28 + static_cast(-15612)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-15612)); aot_gpr_6 = (ctx.gpr[29] + static_cast(8)); - ctx.gpr[31] = (0x08991CCCu); + aot_gpr_31 = (0x08991CCCu); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08991CCCu) goto L_08991CCC; AOT_REGCACHE_SYNC_OUT(); return; @@ -4947,9 +4948,9 @@ L_08991CEC: goto L_08991CF4; } L_08991CF4: - aot_gpr_5 = (aot_gpr_28 + static_cast(-15604)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-15604)); aot_gpr_6 = (ctx.gpr[29] + static_cast(9)); - ctx.gpr[31] = (0x08991D04u); + aot_gpr_31 = (0x08991D04u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08991D04u) goto L_08991D04; AOT_REGCACHE_SYNC_OUT(); return; @@ -4962,9 +4963,9 @@ L_08991D04: goto L_08991D0C; } L_08991D0C: - aot_gpr_5 = (aot_gpr_28 + static_cast(-15596)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-15596)); aot_gpr_6 = (ctx.gpr[29] + static_cast(10)); - ctx.gpr[31] = (0x08991D1Cu); + aot_gpr_31 = (0x08991D1Cu); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08991D1Cu) goto L_08991D1C; AOT_REGCACHE_SYNC_OUT(); return; @@ -5003,9 +5004,9 @@ L_08991D3C: goto L_08991D44; } L_08991D44: - aot_gpr_5 = (aot_gpr_28 + static_cast(-15588)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-15588)); aot_gpr_6 = (ctx.gpr[29] + static_cast(11)); - ctx.gpr[31] = (0x08991D54u); + aot_gpr_31 = (0x08991D54u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08991D54u) goto L_08991D54; AOT_REGCACHE_SYNC_OUT(); return; @@ -5018,9 +5019,9 @@ L_08991D54: goto L_08991D5C; } L_08991D5C: - aot_gpr_5 = (aot_gpr_28 + static_cast(-15580)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-15580)); aot_gpr_6 = (ctx.gpr[29] + static_cast(12)); - ctx.gpr[31] = (0x08991D6Cu); + aot_gpr_31 = (0x08991D6Cu); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08991D6Cu) goto L_08991D6C; AOT_REGCACHE_SYNC_OUT(); return; @@ -5059,9 +5060,9 @@ L_08991D8C: goto L_08991D94; } L_08991D94: - aot_gpr_5 = (aot_gpr_28 + static_cast(-15572)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-15572)); aot_gpr_6 = (ctx.gpr[29] + static_cast(13)); - ctx.gpr[31] = (0x08991DA4u); + aot_gpr_31 = (0x08991DA4u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08991DA4u) goto L_08991DA4; AOT_REGCACHE_SYNC_OUT(); return; @@ -5074,9 +5075,9 @@ L_08991DA4: goto L_08991DAC; } L_08991DAC: - aot_gpr_5 = (aot_gpr_28 + static_cast(-15564)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-15564)); aot_gpr_6 = (ctx.gpr[29] + static_cast(14)); - ctx.gpr[31] = (0x08991DBCu); + aot_gpr_31 = (0x08991DBCu); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08991DBCu) goto L_08991DBC; AOT_REGCACHE_SYNC_OUT(); return; @@ -5115,9 +5116,9 @@ L_08991DDC: goto L_08991DE4; } L_08991DE4: - aot_gpr_5 = (aot_gpr_28 + static_cast(-15556)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-15556)); aot_gpr_6 = (ctx.gpr[29] + static_cast(15)); - ctx.gpr[31] = (0x08991DF4u); + aot_gpr_31 = (0x08991DF4u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08991DF4u) goto L_08991DF4; AOT_REGCACHE_SYNC_OUT(); return; @@ -5130,9 +5131,9 @@ L_08991DF4: goto L_08991DFC; } L_08991DFC: - aot_gpr_5 = (aot_gpr_28 + static_cast(-15548)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-15548)); aot_gpr_6 = (ctx.gpr[29] + static_cast(16)); - ctx.gpr[31] = (0x08991E0Cu); + aot_gpr_31 = (0x08991E0Cu); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08991E0Cu) goto L_08991E0C; AOT_REGCACHE_SYNC_OUT(); return; @@ -5171,9 +5172,9 @@ L_08991E2C: goto L_08991E34; } L_08991E34: - aot_gpr_5 = (aot_gpr_28 + static_cast(-15540)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-15540)); aot_gpr_6 = (ctx.gpr[29] + static_cast(17)); - ctx.gpr[31] = (0x08991E44u); + aot_gpr_31 = (0x08991E44u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08991E44u) goto L_08991E44; AOT_REGCACHE_SYNC_OUT(); return; @@ -5186,9 +5187,9 @@ L_08991E44: goto L_08991E4C; } L_08991E4C: - aot_gpr_5 = (aot_gpr_28 + static_cast(-15532)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-15532)); aot_gpr_6 = (ctx.gpr[29] + static_cast(18)); - ctx.gpr[31] = (0x08991E5Cu); + aot_gpr_31 = (0x08991E5Cu); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08991E5Cu) goto L_08991E5C; AOT_REGCACHE_SYNC_OUT(); return; @@ -5227,9 +5228,9 @@ L_08991E7C: goto L_08991E84; } L_08991E84: - aot_gpr_5 = (aot_gpr_28 + static_cast(-15524)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-15524)); aot_gpr_6 = (ctx.gpr[29] + static_cast(19)); - ctx.gpr[31] = (0x08991E94u); + aot_gpr_31 = (0x08991E94u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08991E94u) goto L_08991E94; AOT_REGCACHE_SYNC_OUT(); return; @@ -5242,9 +5243,9 @@ L_08991E94: goto L_08991E9C; } L_08991E9C: - aot_gpr_5 = (aot_gpr_28 + static_cast(-15516)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-15516)); aot_gpr_6 = (ctx.gpr[29] + static_cast(20)); - ctx.gpr[31] = (0x08991EACu); + aot_gpr_31 = (0x08991EACu); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08991EACu) goto L_08991EAC; AOT_REGCACHE_SYNC_OUT(); return; @@ -5283,9 +5284,9 @@ L_08991ECC: goto L_08991ED4; } L_08991ED4: - aot_gpr_5 = (aot_gpr_28 + static_cast(-15508)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-15508)); aot_gpr_6 = (ctx.gpr[29] + static_cast(21)); - ctx.gpr[31] = (0x08991EE4u); + aot_gpr_31 = (0x08991EE4u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08991EE4u) goto L_08991EE4; AOT_REGCACHE_SYNC_OUT(); return; @@ -5298,9 +5299,9 @@ L_08991EE4: goto L_08991EEC; } L_08991EEC: - aot_gpr_5 = (aot_gpr_28 + static_cast(-15500)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-15500)); aot_gpr_6 = (ctx.gpr[29] + static_cast(22)); - ctx.gpr[31] = (0x08991EFCu); + aot_gpr_31 = (0x08991EFCu); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08991EFCu) goto L_08991EFC; AOT_REGCACHE_SYNC_OUT(); return; @@ -5339,9 +5340,9 @@ L_08991F1C: goto L_08991F24; } L_08991F24: - aot_gpr_5 = (aot_gpr_28 + static_cast(-15492)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-15492)); aot_gpr_6 = (ctx.gpr[29] + static_cast(23)); - ctx.gpr[31] = (0x08991F34u); + aot_gpr_31 = (0x08991F34u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08991F34u) goto L_08991F34; AOT_REGCACHE_SYNC_OUT(); return; @@ -5354,9 +5355,9 @@ L_08991F34: goto L_08991F3C; } L_08991F3C: - aot_gpr_5 = (aot_gpr_28 + static_cast(-15484)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-15484)); aot_gpr_6 = (ctx.gpr[29] + static_cast(24)); - ctx.gpr[31] = (0x08991F4Cu); + aot_gpr_31 = (0x08991F4Cu); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08991F4Cu) goto L_08991F4C; AOT_REGCACHE_SYNC_OUT(); return; @@ -5395,9 +5396,9 @@ L_08991F6C: goto L_08991F74; } L_08991F74: - aot_gpr_5 = (aot_gpr_28 + static_cast(-15476)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-15476)); aot_gpr_6 = (ctx.gpr[29] + static_cast(25)); - ctx.gpr[31] = (0x08991F84u); + aot_gpr_31 = (0x08991F84u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08991F84u) goto L_08991F84; AOT_REGCACHE_SYNC_OUT(); return; @@ -5410,9 +5411,9 @@ L_08991F84: goto L_08991F8C; } L_08991F8C: - aot_gpr_5 = (aot_gpr_28 + static_cast(-15468)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-15468)); aot_gpr_6 = (ctx.gpr[29] + static_cast(26)); - ctx.gpr[31] = (0x08991F9Cu); + aot_gpr_31 = (0x08991F9Cu); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08991F9Cu) goto L_08991F9C; AOT_REGCACHE_SYNC_OUT(); return; @@ -5451,9 +5452,9 @@ L_08991FBC: goto L_08991FC4; } L_08991FC4: - aot_gpr_5 = (aot_gpr_28 + static_cast(-15460)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-15460)); aot_gpr_6 = (ctx.gpr[29] + static_cast(27)); - ctx.gpr[31] = (0x08991FD4u); + aot_gpr_31 = (0x08991FD4u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08991FD4u) goto L_08991FD4; AOT_REGCACHE_SYNC_OUT(); return; @@ -5466,9 +5467,9 @@ L_08991FD4: goto L_08991FDC; } L_08991FDC: - aot_gpr_5 = (aot_gpr_28 + static_cast(-15452)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-15452)); aot_gpr_6 = (ctx.gpr[29] + static_cast(28)); - ctx.gpr[31] = (0x08991FECu); + aot_gpr_31 = (0x08991FECu); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08991FECu) goto L_08991FEC; AOT_REGCACHE_SYNC_OUT(); return; @@ -5490,7 +5491,7 @@ L_08991FF4: goto L_08992000; } L_08992000: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(9036))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(9036))); { const bool branch_taken = static_cast(aot_gpr_4) <= 0; // nop if (branch_taken) { @@ -5499,9 +5500,9 @@ L_08992000: goto L_0899200C; } L_0899200C: - aot_gpr_5 = (aot_gpr_28 + static_cast(-15444)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-15444)); aot_gpr_6 = (ctx.gpr[29] + static_cast(29)); - ctx.gpr[31] = (0x0899201Cu); + aot_gpr_31 = (0x0899201Cu); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899201Cu) goto L_0899201C; AOT_REGCACHE_SYNC_OUT(); return; @@ -5514,9 +5515,9 @@ L_0899201C: goto L_08992024; } L_08992024: - aot_gpr_5 = (aot_gpr_28 + static_cast(-15452)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-15452)); aot_gpr_6 = (ctx.gpr[29] + static_cast(30)); - ctx.gpr[31] = (0x08992034u); + aot_gpr_31 = (0x08992034u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08992034u) goto L_08992034; AOT_REGCACHE_SYNC_OUT(); return; @@ -5555,9 +5556,9 @@ L_08992054: goto L_0899205C; } L_0899205C: - aot_gpr_5 = (aot_gpr_28 + static_cast(-15436)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-15436)); aot_gpr_6 = (ctx.gpr[29] + static_cast(31)); - ctx.gpr[31] = (0x0899206Cu); + aot_gpr_31 = (0x0899206Cu); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899206Cu) goto L_0899206C; AOT_REGCACHE_SYNC_OUT(); return; @@ -5570,9 +5571,9 @@ L_0899206C: goto L_08992074; } L_08992074: - aot_gpr_5 = (aot_gpr_28 + static_cast(-15428)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-15428)); aot_gpr_6 = (ctx.gpr[29] + static_cast(32)); - ctx.gpr[31] = (0x08992084u); + aot_gpr_31 = (0x08992084u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08992084u) goto L_08992084; AOT_REGCACHE_SYNC_OUT(); return; @@ -5611,9 +5612,9 @@ L_089920A4: goto L_089920AC; } L_089920AC: - aot_gpr_5 = (aot_gpr_28 + static_cast(-15420)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-15420)); aot_gpr_6 = (ctx.gpr[29] + static_cast(33)); - ctx.gpr[31] = (0x089920BCu); + aot_gpr_31 = (0x089920BCu); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089920BCu) goto L_089920BC; AOT_REGCACHE_SYNC_OUT(); return; @@ -5626,9 +5627,9 @@ L_089920BC: goto L_089920C4; } L_089920C4: - aot_gpr_5 = (aot_gpr_28 + static_cast(-15412)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-15412)); aot_gpr_6 = (ctx.gpr[29] + static_cast(34)); - ctx.gpr[31] = (0x089920D4u); + aot_gpr_31 = (0x089920D4u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089920D4u) goto L_089920D4; AOT_REGCACHE_SYNC_OUT(); return; @@ -5667,9 +5668,9 @@ L_089920F4: goto L_089920FC; } L_089920FC: - aot_gpr_5 = (aot_gpr_28 + static_cast(-15404)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-15404)); aot_gpr_6 = (ctx.gpr[29] + static_cast(35)); - ctx.gpr[31] = (0x0899210Cu); + aot_gpr_31 = (0x0899210Cu); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899210Cu) goto L_0899210C; AOT_REGCACHE_SYNC_OUT(); return; @@ -5682,9 +5683,9 @@ L_0899210C: goto L_08992114; } L_08992114: - aot_gpr_5 = (aot_gpr_28 + static_cast(-15396)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-15396)); aot_gpr_6 = (ctx.gpr[29] + static_cast(36)); - ctx.gpr[31] = (0x08992124u); + aot_gpr_31 = (0x08992124u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08992124u) goto L_08992124; AOT_REGCACHE_SYNC_OUT(); return; @@ -5723,9 +5724,9 @@ L_08992144: goto L_0899214C; } L_0899214C: - aot_gpr_5 = (aot_gpr_28 + static_cast(-15388)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-15388)); aot_gpr_6 = (ctx.gpr[29] + static_cast(37)); - ctx.gpr[31] = (0x0899215Cu); + aot_gpr_31 = (0x0899215Cu); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899215Cu) goto L_0899215C; AOT_REGCACHE_SYNC_OUT(); return; @@ -5738,9 +5739,9 @@ L_0899215C: goto L_08992164; } L_08992164: - aot_gpr_5 = (aot_gpr_28 + static_cast(-15380)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-15380)); aot_gpr_6 = (ctx.gpr[29] + static_cast(38)); - ctx.gpr[31] = (0x08992174u); + aot_gpr_31 = (0x08992174u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08992174u) goto L_08992174; AOT_REGCACHE_SYNC_OUT(); return; @@ -5779,9 +5780,9 @@ L_08992194: goto L_0899219C; } L_0899219C: - aot_gpr_5 = (aot_gpr_28 + static_cast(-15372)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-15372)); aot_gpr_6 = (ctx.gpr[29] + static_cast(39)); - ctx.gpr[31] = (0x089921ACu); + aot_gpr_31 = (0x089921ACu); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089921ACu) goto L_089921AC; AOT_REGCACHE_SYNC_OUT(); return; @@ -5794,9 +5795,9 @@ L_089921AC: goto L_089921B4; } L_089921B4: - aot_gpr_5 = (aot_gpr_28 + static_cast(-15364)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-15364)); aot_gpr_6 = (ctx.gpr[29] + static_cast(40)); - ctx.gpr[31] = (0x089921C4u); + aot_gpr_31 = (0x089921C4u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089921C4u) goto L_089921C4; AOT_REGCACHE_SYNC_OUT(); return; @@ -5835,9 +5836,9 @@ L_089921E4: goto L_089921EC; } L_089921EC: - aot_gpr_5 = (aot_gpr_28 + static_cast(-15356)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-15356)); aot_gpr_6 = (ctx.gpr[29] + static_cast(41)); - ctx.gpr[31] = (0x089921FCu); + aot_gpr_31 = (0x089921FCu); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089921FCu) goto L_089921FC; AOT_REGCACHE_SYNC_OUT(); return; @@ -5850,9 +5851,9 @@ L_089921FC: goto L_08992204; } L_08992204: - aot_gpr_5 = (aot_gpr_28 + static_cast(-15348)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-15348)); aot_gpr_6 = (ctx.gpr[29] + static_cast(42)); - ctx.gpr[31] = (0x08992214u); + aot_gpr_31 = (0x08992214u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08992214u) goto L_08992214; AOT_REGCACHE_SYNC_OUT(); return; @@ -5891,9 +5892,9 @@ L_08992234: goto L_0899223C; } L_0899223C: - aot_gpr_5 = (aot_gpr_28 + static_cast(-15340)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-15340)); aot_gpr_6 = (ctx.gpr[29] + static_cast(43)); - ctx.gpr[31] = (0x0899224Cu); + aot_gpr_31 = (0x0899224Cu); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899224Cu) goto L_0899224C; AOT_REGCACHE_SYNC_OUT(); return; @@ -5906,9 +5907,9 @@ L_0899224C: goto L_08992254; } L_08992254: - aot_gpr_5 = (aot_gpr_28 + static_cast(-15332)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-15332)); aot_gpr_6 = (ctx.gpr[29] + static_cast(44)); - ctx.gpr[31] = (0x08992264u); + aot_gpr_31 = (0x08992264u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08992264u) goto L_08992264; AOT_REGCACHE_SYNC_OUT(); return; @@ -5948,9 +5949,9 @@ L_08992288: goto L_08992290; } L_08992290: - aot_gpr_5 = (aot_gpr_28 + static_cast(-15324)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-15324)); aot_gpr_6 = (ctx.gpr[29] + static_cast(45)); - ctx.gpr[31] = (0x089922A0u); + aot_gpr_31 = (0x089922A0u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089922A0u) goto L_089922A0; AOT_REGCACHE_SYNC_OUT(); return; @@ -5963,9 +5964,9 @@ L_089922A0: goto L_089922A8; } L_089922A8: - aot_gpr_5 = (aot_gpr_28 + static_cast(-15316)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-15316)); aot_gpr_6 = (ctx.gpr[29] + static_cast(46)); - ctx.gpr[31] = (0x089922B8u); + aot_gpr_31 = (0x089922B8u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089922B8u) goto L_089922B8; AOT_REGCACHE_SYNC_OUT(); return; @@ -6006,9 +6007,9 @@ L_089922E0: goto L_089922E8; } L_089922E8: - aot_gpr_5 = (aot_gpr_28 + static_cast(-15308)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-15308)); aot_gpr_6 = (ctx.gpr[29] + static_cast(47)); - ctx.gpr[31] = (0x089922F8u); + aot_gpr_31 = (0x089922F8u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089922F8u) goto L_089922F8; AOT_REGCACHE_SYNC_OUT(); return; @@ -6021,9 +6022,9 @@ L_089922F8: goto L_08992300; } L_08992300: - aot_gpr_5 = (aot_gpr_28 + static_cast(-15300)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-15300)); aot_gpr_6 = (ctx.gpr[29] + static_cast(48)); - ctx.gpr[31] = (0x08992310u); + aot_gpr_31 = (0x08992310u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08992310u) goto L_08992310; AOT_REGCACHE_SYNC_OUT(); return; @@ -6066,9 +6067,9 @@ L_08992340: goto L_08992348; } L_08992348: - aot_gpr_5 = (aot_gpr_28 + static_cast(-15292)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-15292)); aot_gpr_6 = (ctx.gpr[29] + static_cast(49)); - ctx.gpr[31] = (0x08992358u); + aot_gpr_31 = (0x08992358u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08992358u) goto L_08992358; AOT_REGCACHE_SYNC_OUT(); return; @@ -6081,9 +6082,9 @@ L_08992358: goto L_08992360; } L_08992360: - aot_gpr_5 = (aot_gpr_28 + static_cast(-15284)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-15284)); aot_gpr_6 = (ctx.gpr[29] + static_cast(50)); - ctx.gpr[31] = (0x08992370u); + aot_gpr_31 = (0x08992370u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08992370u) goto L_08992370; AOT_REGCACHE_SYNC_OUT(); return; @@ -6126,9 +6127,9 @@ L_089923A0: goto L_089923A8; } L_089923A8: - aot_gpr_5 = (aot_gpr_28 + static_cast(-15276)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-15276)); aot_gpr_6 = (ctx.gpr[29] + static_cast(51)); - ctx.gpr[31] = (0x089923B8u); + aot_gpr_31 = (0x089923B8u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089923B8u) goto L_089923B8; AOT_REGCACHE_SYNC_OUT(); return; @@ -6141,9 +6142,9 @@ L_089923B8: goto L_089923C0; } L_089923C0: - aot_gpr_5 = (aot_gpr_28 + static_cast(-15268)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-15268)); aot_gpr_6 = (ctx.gpr[29] + static_cast(52)); - ctx.gpr[31] = (0x089923D0u); + aot_gpr_31 = (0x089923D0u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089923D0u) goto L_089923D0; AOT_REGCACHE_SYNC_OUT(); return; @@ -6186,9 +6187,9 @@ L_08992400: goto L_08992408; } L_08992408: - aot_gpr_5 = (aot_gpr_28 + static_cast(-15260)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-15260)); aot_gpr_6 = (ctx.gpr[29] + static_cast(53)); - ctx.gpr[31] = (0x08992418u); + aot_gpr_31 = (0x08992418u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08992418u) goto L_08992418; AOT_REGCACHE_SYNC_OUT(); return; @@ -6201,9 +6202,9 @@ L_08992418: goto L_08992420; } L_08992420: - aot_gpr_5 = (aot_gpr_28 + static_cast(-15252)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-15252)); aot_gpr_6 = (ctx.gpr[29] + static_cast(54)); - ctx.gpr[31] = (0x08992430u); + aot_gpr_31 = (0x08992430u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08992430u) goto L_08992430; AOT_REGCACHE_SYNC_OUT(); return; @@ -6237,9 +6238,9 @@ L_0899244C: goto L_0899245C; } L_0899245C: - aot_gpr_5 = (aot_gpr_28 + static_cast(-15244)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-15244)); aot_gpr_6 = (ctx.gpr[29] + static_cast(55)); - ctx.gpr[31] = (0x0899246Cu); + aot_gpr_31 = (0x0899246Cu); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899246Cu) goto L_0899246C; AOT_REGCACHE_SYNC_OUT(); return; @@ -6252,9 +6253,9 @@ L_0899246C: goto L_08992474; } L_08992474: - aot_gpr_5 = (aot_gpr_28 + static_cast(-15252)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-15252)); aot_gpr_6 = (ctx.gpr[29] + static_cast(56)); - ctx.gpr[31] = (0x08992484u); + aot_gpr_31 = (0x08992484u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08992484u) goto L_08992484; AOT_REGCACHE_SYNC_OUT(); return; @@ -6278,7 +6279,7 @@ L_0899248C: goto L_089924A0; } L_089924A0: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(7800))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7800))); aot_gpr_5 = (aot_gpr_4 + aot_gpr_4); aot_gpr_6 = (aot_gpr_4 << 8u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); @@ -6307,9 +6308,9 @@ L_089924DC: goto L_089924E4; } L_089924E4: - aot_gpr_5 = (aot_gpr_28 + static_cast(-15236)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-15236)); aot_gpr_6 = (ctx.gpr[29] + static_cast(57)); - ctx.gpr[31] = (0x089924F4u); + aot_gpr_31 = (0x089924F4u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089924F4u) goto L_089924F4; AOT_REGCACHE_SYNC_OUT(); return; @@ -6322,9 +6323,9 @@ L_089924F4: goto L_089924FC; } L_089924FC: - aot_gpr_5 = (aot_gpr_28 + static_cast(-15228)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-15228)); aot_gpr_6 = (ctx.gpr[29] + static_cast(58)); - ctx.gpr[31] = (0x0899250Cu); + aot_gpr_31 = (0x0899250Cu); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899250Cu) goto L_0899250C; AOT_REGCACHE_SYNC_OUT(); return; @@ -6337,9 +6338,9 @@ L_0899250C: goto L_08992514; } L_08992514: - aot_gpr_5 = (aot_gpr_28 + static_cast(-15236)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-15236)); aot_gpr_6 = (ctx.gpr[29] + static_cast(59)); - ctx.gpr[31] = (0x08992524u); + aot_gpr_31 = (0x08992524u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08992524u) goto L_08992524; AOT_REGCACHE_SYNC_OUT(); return; @@ -6353,8 +6354,8 @@ L_08992524: } L_0899252C: aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(60))); - ctx.gpr[31] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(64))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(64))); + jump_target = aot_gpr_31; ctx.gpr[29] = (ctx.gpr[29] + static_cast(80)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -6370,8 +6371,8 @@ L_0899253C: aot_gpr_16 = (aot_gpr_5 | 0u); ctx.gpr[18] = (ctx.gpr[18] + static_cast(17584)); aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(12), ctx.gpr[19]); - aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(16), ctx.gpr[31]); - ctx.gpr[31] = (0x0899256Cu); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(16), aot_gpr_31); + aot_gpr_31 = (0x0899256Cu); // nop goto L_089910C8; L_0899256C: @@ -6443,49 +6444,49 @@ L_08992584: aot_gpr_4 = (aot_gpr_4 + static_cast(4)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), aot_gpr_4); ctx.gpr[19] = (ctx.gpr[18] | 0u); - aot_gpr_5 = (aot_gpr_28 + static_cast(9300)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(9300)); aot_gpr_4 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x0899266Cu); + aot_gpr_31 = (0x0899266Cu); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899266Cu) goto L_0899266C; AOT_REGCACHE_SYNC_OUT(); return; L_0899266C: aot_gpr_16 = (aot_gpr_17 + static_cast(4)); - aot_gpr_5 = (aot_gpr_28 + static_cast(9304)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(9304)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08992680u); + aot_gpr_31 = (0x08992680u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08992680u) goto L_08992680; AOT_REGCACHE_SYNC_OUT(); return; L_08992680: aot_gpr_16 = (aot_gpr_16 + static_cast(4)); - aot_gpr_5 = (aot_gpr_28 + static_cast(9308)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(9308)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08992694u); + aot_gpr_31 = (0x08992694u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08992694u) goto L_08992694; AOT_REGCACHE_SYNC_OUT(); return; L_08992694: aot_gpr_16 = (aot_gpr_16 + static_cast(4)); - aot_gpr_5 = (aot_gpr_28 + static_cast(9312)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(9312)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x089926A8u); + aot_gpr_31 = (0x089926A8u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089926A8u) goto L_089926A8; AOT_REGCACHE_SYNC_OUT(); return; L_089926A8: aot_gpr_16 = (aot_gpr_16 + static_cast(4)); - aot_gpr_5 = (aot_gpr_28 + static_cast(7880)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(7880)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x089926BCu); + aot_gpr_31 = (0x089926BCu); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089926BCu) goto L_089926BC; AOT_REGCACHE_SYNC_OUT(); return; L_089926BC: aot_gpr_16 = (aot_gpr_16 + static_cast(4)); - aot_gpr_5 = (aot_gpr_28 + static_cast(9316)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(9316)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x089926D0u); + aot_gpr_31 = (0x089926D0u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089926D0u) goto L_089926D0; AOT_REGCACHE_SYNC_OUT(); return; @@ -6494,535 +6495,535 @@ L_089926D0: aot_gpr_5 = (2279u << 16u); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_6 = (0u | 92u); - ctx.gpr[31] = (0x089926E8u); + aot_gpr_31 = (0x089926E8u); aot_gpr_5 = (aot_gpr_5 + static_cast(17488)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089926E8u) goto L_089926E8; AOT_REGCACHE_SYNC_OUT(); return; L_089926E8: aot_gpr_16 = (aot_gpr_16 + static_cast(92)); - aot_gpr_5 = (aot_gpr_28 + static_cast(9320)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(9320)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x089926FCu); + aot_gpr_31 = (0x089926FCu); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089926FCu) goto L_089926FC; AOT_REGCACHE_SYNC_OUT(); return; L_089926FC: aot_gpr_16 = (aot_gpr_16 + static_cast(4)); - aot_gpr_5 = (aot_gpr_28 + static_cast(8080)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(8080)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08992710u); + aot_gpr_31 = (0x08992710u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08992710u) goto L_08992710; AOT_REGCACHE_SYNC_OUT(); return; L_08992710: aot_gpr_16 = (aot_gpr_16 + static_cast(4)); - aot_gpr_5 = (aot_gpr_28 + static_cast(8084)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(8084)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08992724u); + aot_gpr_31 = (0x08992724u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08992724u) goto L_08992724; AOT_REGCACHE_SYNC_OUT(); return; L_08992724: aot_gpr_16 = (aot_gpr_16 + static_cast(4)); - aot_gpr_5 = (aot_gpr_28 + static_cast(9324)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(9324)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08992738u); + aot_gpr_31 = (0x08992738u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08992738u) goto L_08992738; AOT_REGCACHE_SYNC_OUT(); return; L_08992738: aot_gpr_16 = (aot_gpr_16 + static_cast(4)); - aot_gpr_5 = (aot_gpr_28 + static_cast(9328)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(9328)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x0899274Cu); + aot_gpr_31 = (0x0899274Cu); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899274Cu) goto L_0899274C; AOT_REGCACHE_SYNC_OUT(); return; L_0899274C: aot_gpr_16 = (aot_gpr_16 + static_cast(4)); - aot_gpr_5 = (aot_gpr_28 + static_cast(8676)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(8676)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08992760u); + aot_gpr_31 = (0x08992760u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08992760u) goto L_08992760; AOT_REGCACHE_SYNC_OUT(); return; L_08992760: aot_gpr_16 = (aot_gpr_16 + static_cast(4)); - aot_gpr_5 = (aot_gpr_28 + static_cast(9332)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(9332)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08992774u); + aot_gpr_31 = (0x08992774u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08992774u) goto L_08992774; AOT_REGCACHE_SYNC_OUT(); return; L_08992774: aot_gpr_16 = (aot_gpr_16 + static_cast(4)); - aot_gpr_5 = (aot_gpr_28 + static_cast(9336)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(9336)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08992788u); + aot_gpr_31 = (0x08992788u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08992788u) goto L_08992788; AOT_REGCACHE_SYNC_OUT(); return; L_08992788: aot_gpr_16 = (aot_gpr_16 + static_cast(4)); - aot_gpr_5 = (aot_gpr_28 + static_cast(9036)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(9036)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x0899279Cu); + aot_gpr_31 = (0x0899279Cu); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899279Cu) goto L_0899279C; AOT_REGCACHE_SYNC_OUT(); return; L_0899279C: aot_gpr_16 = (aot_gpr_16 + static_cast(4)); - aot_gpr_5 = (aot_gpr_28 + static_cast(9032)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(9032)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x089927B0u); + aot_gpr_31 = (0x089927B0u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089927B0u) goto L_089927B0; AOT_REGCACHE_SYNC_OUT(); return; L_089927B0: aot_gpr_16 = (aot_gpr_16 + static_cast(4)); - aot_gpr_5 = (aot_gpr_28 + static_cast(8912)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(8912)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x089927C4u); + aot_gpr_31 = (0x089927C4u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089927C4u) goto L_089927C4; AOT_REGCACHE_SYNC_OUT(); return; L_089927C4: aot_gpr_16 = (aot_gpr_16 + static_cast(4)); - aot_gpr_5 = (aot_gpr_28 + static_cast(9340)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(9340)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x089927D8u); + aot_gpr_31 = (0x089927D8u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089927D8u) goto L_089927D8; AOT_REGCACHE_SYNC_OUT(); return; L_089927D8: aot_gpr_16 = (aot_gpr_16 + static_cast(4)); - aot_gpr_5 = (aot_gpr_28 + static_cast(9344)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(9344)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x089927ECu); + aot_gpr_31 = (0x089927ECu); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089927ECu) goto L_089927EC; AOT_REGCACHE_SYNC_OUT(); return; L_089927EC: aot_gpr_16 = (aot_gpr_16 + static_cast(4)); - aot_gpr_5 = (aot_gpr_28 + static_cast(8088)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(8088)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08992800u); + aot_gpr_31 = (0x08992800u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08992800u) goto L_08992800; AOT_REGCACHE_SYNC_OUT(); return; L_08992800: aot_gpr_16 = (aot_gpr_16 + static_cast(4)); - aot_gpr_5 = (aot_gpr_28 + static_cast(8092)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(8092)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08992814u); + aot_gpr_31 = (0x08992814u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08992814u) goto L_08992814; AOT_REGCACHE_SYNC_OUT(); return; L_08992814: aot_gpr_16 = (aot_gpr_16 + static_cast(4)); - aot_gpr_5 = (aot_gpr_28 + static_cast(8096)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(8096)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08992828u); + aot_gpr_31 = (0x08992828u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08992828u) goto L_08992828; AOT_REGCACHE_SYNC_OUT(); return; L_08992828: aot_gpr_16 = (aot_gpr_16 + static_cast(4)); - aot_gpr_5 = (aot_gpr_28 + static_cast(8100)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(8100)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x0899283Cu); + aot_gpr_31 = (0x0899283Cu); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899283Cu) goto L_0899283C; AOT_REGCACHE_SYNC_OUT(); return; L_0899283C: aot_gpr_16 = (aot_gpr_16 + static_cast(4)); - aot_gpr_5 = (aot_gpr_28 + static_cast(8104)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(8104)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08992850u); + aot_gpr_31 = (0x08992850u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08992850u) goto L_08992850; AOT_REGCACHE_SYNC_OUT(); return; L_08992850: aot_gpr_16 = (aot_gpr_16 + static_cast(4)); - aot_gpr_5 = (aot_gpr_28 + static_cast(8108)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(8108)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08992864u); + aot_gpr_31 = (0x08992864u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08992864u) goto L_08992864; AOT_REGCACHE_SYNC_OUT(); return; L_08992864: aot_gpr_16 = (aot_gpr_16 + static_cast(4)); - aot_gpr_5 = (aot_gpr_28 + static_cast(8112)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(8112)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08992878u); + aot_gpr_31 = (0x08992878u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08992878u) goto L_08992878; AOT_REGCACHE_SYNC_OUT(); return; L_08992878: aot_gpr_16 = (aot_gpr_16 + static_cast(4)); - aot_gpr_5 = (aot_gpr_28 + static_cast(8124)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(8124)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x0899288Cu); + aot_gpr_31 = (0x0899288Cu); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899288Cu) goto L_0899288C; AOT_REGCACHE_SYNC_OUT(); return; L_0899288C: aot_gpr_16 = (aot_gpr_16 + static_cast(4)); - aot_gpr_5 = (aot_gpr_28 + static_cast(8116)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(8116)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x089928A0u); + aot_gpr_31 = (0x089928A0u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089928A0u) goto L_089928A0; AOT_REGCACHE_SYNC_OUT(); return; L_089928A0: aot_gpr_16 = (aot_gpr_16 + static_cast(4)); - aot_gpr_5 = (aot_gpr_28 + static_cast(8120)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(8120)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x089928B4u); + aot_gpr_31 = (0x089928B4u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089928B4u) goto L_089928B4; AOT_REGCACHE_SYNC_OUT(); return; L_089928B4: aot_gpr_16 = (aot_gpr_16 + static_cast(4)); - aot_gpr_5 = (aot_gpr_28 + static_cast(8284)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(8284)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x089928C8u); + aot_gpr_31 = (0x089928C8u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089928C8u) goto L_089928C8; AOT_REGCACHE_SYNC_OUT(); return; L_089928C8: aot_gpr_16 = (aot_gpr_16 + static_cast(4)); - aot_gpr_5 = (aot_gpr_28 + static_cast(8288)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(8288)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x089928DCu); + aot_gpr_31 = (0x089928DCu); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089928DCu) goto L_089928DC; AOT_REGCACHE_SYNC_OUT(); return; L_089928DC: aot_gpr_16 = (aot_gpr_16 + static_cast(4)); - aot_gpr_5 = (aot_gpr_28 + static_cast(8292)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(8292)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x089928F0u); + aot_gpr_31 = (0x089928F0u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089928F0u) goto L_089928F0; AOT_REGCACHE_SYNC_OUT(); return; L_089928F0: aot_gpr_16 = (aot_gpr_16 + static_cast(4)); - aot_gpr_5 = (aot_gpr_28 + static_cast(8076)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(8076)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08992904u); + aot_gpr_31 = (0x08992904u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08992904u) goto L_08992904; AOT_REGCACHE_SYNC_OUT(); return; L_08992904: aot_gpr_16 = (aot_gpr_16 + static_cast(4)); - aot_gpr_5 = (aot_gpr_28 + static_cast(9084)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(9084)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08992918u); + aot_gpr_31 = (0x08992918u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08992918u) goto L_08992918; AOT_REGCACHE_SYNC_OUT(); return; L_08992918: aot_gpr_16 = (aot_gpr_16 + static_cast(4)); - aot_gpr_5 = (aot_gpr_28 + static_cast(9080)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(9080)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x0899292Cu); + aot_gpr_31 = (0x0899292Cu); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899292Cu) goto L_0899292C; AOT_REGCACHE_SYNC_OUT(); return; L_0899292C: aot_gpr_16 = (aot_gpr_16 + static_cast(4)); - aot_gpr_5 = (aot_gpr_28 + static_cast(9068)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(9068)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08992940u); + aot_gpr_31 = (0x08992940u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08992940u) goto L_08992940; AOT_REGCACHE_SYNC_OUT(); return; L_08992940: aot_gpr_16 = (aot_gpr_16 + static_cast(4)); - aot_gpr_5 = (aot_gpr_28 + static_cast(9072)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(9072)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08992954u); + aot_gpr_31 = (0x08992954u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08992954u) goto L_08992954; AOT_REGCACHE_SYNC_OUT(); return; L_08992954: aot_gpr_16 = (aot_gpr_16 + static_cast(4)); - aot_gpr_5 = (aot_gpr_28 + static_cast(9076)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(9076)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08992968u); + aot_gpr_31 = (0x08992968u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08992968u) goto L_08992968; AOT_REGCACHE_SYNC_OUT(); return; L_08992968: aot_gpr_16 = (aot_gpr_16 + static_cast(4)); - aot_gpr_5 = (aot_gpr_28 + static_cast(9064)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(9064)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x0899297Cu); + aot_gpr_31 = (0x0899297Cu); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899297Cu) goto L_0899297C; AOT_REGCACHE_SYNC_OUT(); return; L_0899297C: aot_gpr_16 = (aot_gpr_16 + static_cast(4)); - aot_gpr_5 = (aot_gpr_28 + static_cast(9348)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(9348)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08992990u); + aot_gpr_31 = (0x08992990u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08992990u) goto L_08992990; AOT_REGCACHE_SYNC_OUT(); return; L_08992990: aot_gpr_16 = (aot_gpr_16 + static_cast(4)); - aot_gpr_5 = (aot_gpr_28 + static_cast(9352)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(9352)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x089929A4u); + aot_gpr_31 = (0x089929A4u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089929A4u) goto L_089929A4; AOT_REGCACHE_SYNC_OUT(); return; L_089929A4: aot_gpr_16 = (aot_gpr_16 + static_cast(4)); - aot_gpr_5 = (aot_gpr_28 + static_cast(9356)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(9356)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x089929B8u); + aot_gpr_31 = (0x089929B8u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089929B8u) goto L_089929B8; AOT_REGCACHE_SYNC_OUT(); return; L_089929B8: aot_gpr_16 = (aot_gpr_16 + static_cast(4)); - aot_gpr_5 = (aot_gpr_28 + static_cast(9360)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(9360)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x089929CCu); + aot_gpr_31 = (0x089929CCu); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089929CCu) goto L_089929CC; AOT_REGCACHE_SYNC_OUT(); return; L_089929CC: aot_gpr_16 = (aot_gpr_16 + static_cast(4)); - aot_gpr_5 = (aot_gpr_28 + static_cast(9364)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(9364)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x089929E0u); + aot_gpr_31 = (0x089929E0u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089929E0u) goto L_089929E0; AOT_REGCACHE_SYNC_OUT(); return; L_089929E0: aot_gpr_16 = (aot_gpr_16 + static_cast(4)); - aot_gpr_5 = (aot_gpr_28 + static_cast(9368)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(9368)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x089929F4u); + aot_gpr_31 = (0x089929F4u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089929F4u) goto L_089929F4; AOT_REGCACHE_SYNC_OUT(); return; L_089929F4: aot_gpr_16 = (aot_gpr_16 + static_cast(4)); - aot_gpr_5 = (aot_gpr_28 + static_cast(9372)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(9372)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08992A08u); + aot_gpr_31 = (0x08992A08u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08992A08u) goto L_08992A08; AOT_REGCACHE_SYNC_OUT(); return; L_08992A08: aot_gpr_16 = (aot_gpr_16 + static_cast(4)); - aot_gpr_5 = (aot_gpr_28 + static_cast(9376)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(9376)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08992A1Cu); + aot_gpr_31 = (0x08992A1Cu); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08992A1Cu) goto L_08992A1C; AOT_REGCACHE_SYNC_OUT(); return; L_08992A1C: aot_gpr_16 = (aot_gpr_16 + static_cast(4)); - aot_gpr_5 = (aot_gpr_28 + static_cast(9380)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(9380)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08992A30u); + aot_gpr_31 = (0x08992A30u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08992A30u) goto L_08992A30; AOT_REGCACHE_SYNC_OUT(); return; L_08992A30: aot_gpr_16 = (aot_gpr_16 + static_cast(4)); - aot_gpr_5 = (aot_gpr_28 + static_cast(9384)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(9384)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08992A44u); + aot_gpr_31 = (0x08992A44u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08992A44u) goto L_08992A44; AOT_REGCACHE_SYNC_OUT(); return; L_08992A44: aot_gpr_16 = (aot_gpr_16 + static_cast(4)); - aot_gpr_5 = (aot_gpr_28 + static_cast(8684)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(8684)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08992A58u); + aot_gpr_31 = (0x08992A58u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08992A58u) goto L_08992A58; AOT_REGCACHE_SYNC_OUT(); return; L_08992A58: aot_gpr_16 = (aot_gpr_16 + static_cast(4)); - aot_gpr_5 = (aot_gpr_28 + static_cast(9388)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(9388)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08992A6Cu); + aot_gpr_31 = (0x08992A6Cu); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08992A6Cu) goto L_08992A6C; AOT_REGCACHE_SYNC_OUT(); return; L_08992A6C: aot_gpr_16 = (aot_gpr_16 + static_cast(4)); - aot_gpr_5 = (aot_gpr_28 + static_cast(9392)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(9392)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08992A80u); + aot_gpr_31 = (0x08992A80u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08992A80u) goto L_08992A80; AOT_REGCACHE_SYNC_OUT(); return; L_08992A80: aot_gpr_16 = (aot_gpr_16 + static_cast(4)); - aot_gpr_5 = (aot_gpr_28 + static_cast(9048)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(9048)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08992A94u); + aot_gpr_31 = (0x08992A94u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08992A94u) goto L_08992A94; AOT_REGCACHE_SYNC_OUT(); return; L_08992A94: aot_gpr_16 = (aot_gpr_16 + static_cast(4)); - aot_gpr_5 = (aot_gpr_28 + static_cast(9056)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(9056)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08992AA8u); + aot_gpr_31 = (0x08992AA8u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08992AA8u) goto L_08992AA8; AOT_REGCACHE_SYNC_OUT(); return; L_08992AA8: aot_gpr_16 = (aot_gpr_16 + static_cast(4)); - aot_gpr_5 = (aot_gpr_28 + static_cast(9040)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(9040)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08992ABCu); + aot_gpr_31 = (0x08992ABCu); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08992ABCu) goto L_08992ABC; AOT_REGCACHE_SYNC_OUT(); return; L_08992ABC: aot_gpr_16 = (aot_gpr_16 + static_cast(4)); - aot_gpr_5 = (aot_gpr_28 + static_cast(9052)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(9052)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08992AD0u); + aot_gpr_31 = (0x08992AD0u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08992AD0u) goto L_08992AD0; AOT_REGCACHE_SYNC_OUT(); return; L_08992AD0: aot_gpr_16 = (aot_gpr_16 + static_cast(4)); - aot_gpr_5 = (aot_gpr_28 + static_cast(9060)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(9060)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08992AE4u); + aot_gpr_31 = (0x08992AE4u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08992AE4u) goto L_08992AE4; AOT_REGCACHE_SYNC_OUT(); return; L_08992AE4: aot_gpr_16 = (aot_gpr_16 + static_cast(4)); - aot_gpr_5 = (aot_gpr_28 + static_cast(9044)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(9044)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08992AF8u); + aot_gpr_31 = (0x08992AF8u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08992AF8u) goto L_08992AF8; AOT_REGCACHE_SYNC_OUT(); return; L_08992AF8: aot_gpr_16 = (aot_gpr_16 + static_cast(4)); - aot_gpr_5 = (aot_gpr_28 + static_cast(8144)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(8144)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08992B0Cu); + aot_gpr_31 = (0x08992B0Cu); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08992B0Cu) goto L_08992B0C; AOT_REGCACHE_SYNC_OUT(); return; L_08992B0C: aot_gpr_16 = (aot_gpr_16 + static_cast(4)); - aot_gpr_5 = (aot_gpr_28 + static_cast(9396)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(9396)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08992B20u); + aot_gpr_31 = (0x08992B20u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08992B20u) goto L_08992B20; AOT_REGCACHE_SYNC_OUT(); return; L_08992B20: aot_gpr_16 = (aot_gpr_16 + static_cast(4)); - aot_gpr_5 = (aot_gpr_28 + static_cast(7904)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(7904)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08992B34u); + aot_gpr_31 = (0x08992B34u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08992B34u) goto L_08992B34; AOT_REGCACHE_SYNC_OUT(); return; L_08992B34: aot_gpr_16 = (aot_gpr_16 + static_cast(4)); - aot_gpr_5 = (aot_gpr_28 + static_cast(9400)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(9400)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08992B48u); + aot_gpr_31 = (0x08992B48u); aot_gpr_6 = (0u | 2u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08992B48u) goto L_08992B48; AOT_REGCACHE_SYNC_OUT(); return; L_08992B48: aot_gpr_16 = (aot_gpr_16 + static_cast(2)); - aot_gpr_5 = (aot_gpr_28 + static_cast(9088)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(9088)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08992B5Cu); + aot_gpr_31 = (0x08992B5Cu); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08992B5Cu) goto L_08992B5C; AOT_REGCACHE_SYNC_OUT(); return; L_08992B5C: aot_gpr_16 = (aot_gpr_16 + static_cast(4)); - aot_gpr_5 = (aot_gpr_28 + static_cast(9404)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(9404)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08992B70u); + aot_gpr_31 = (0x08992B70u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08992B70u) goto L_08992B70; AOT_REGCACHE_SYNC_OUT(); return; L_08992B70: aot_gpr_16 = (aot_gpr_16 + static_cast(4)); - aot_gpr_5 = (aot_gpr_28 + static_cast(9408)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(9408)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08992B84u); + aot_gpr_31 = (0x08992B84u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08992B84u) goto L_08992B84; AOT_REGCACHE_SYNC_OUT(); return; L_08992B84: aot_gpr_16 = (aot_gpr_16 + static_cast(4)); - aot_gpr_5 = (aot_gpr_28 + static_cast(9412)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(9412)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08992B98u); + aot_gpr_31 = (0x08992B98u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08992B98u) goto L_08992B98; AOT_REGCACHE_SYNC_OUT(); return; L_08992B98: aot_gpr_16 = (aot_gpr_16 + static_cast(4)); - aot_gpr_5 = (aot_gpr_28 + static_cast(8128)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(8128)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08992BACu); + aot_gpr_31 = (0x08992BACu); aot_gpr_6 = (0u | 8u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08992BACu) goto L_08992BAC; AOT_REGCACHE_SYNC_OUT(); return; L_08992BAC: aot_gpr_16 = (aot_gpr_16 + static_cast(8)); - aot_gpr_5 = (aot_gpr_28 + static_cast(9288)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(9288)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08992BC0u); + aot_gpr_31 = (0x08992BC0u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08992BC0u) goto L_08992BC0; AOT_REGCACHE_SYNC_OUT(); return; L_08992BC0: aot_gpr_16 = (aot_gpr_16 + static_cast(4)); - aot_gpr_5 = (aot_gpr_28 + static_cast(8260)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(8260)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08992BD4u); + aot_gpr_31 = (0x08992BD4u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08992BD4u) goto L_08992BD4; AOT_REGCACHE_SYNC_OUT(); return; L_08992BD4: aot_gpr_16 = (aot_gpr_16 + static_cast(4)); - aot_gpr_5 = (aot_gpr_28 + static_cast(8264)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(8264)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08992BE8u); + aot_gpr_31 = (0x08992BE8u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08992BE8u) goto L_08992BE8; AOT_REGCACHE_SYNC_OUT(); return; L_08992BE8: aot_gpr_16 = (aot_gpr_16 + static_cast(4)); - aot_gpr_5 = (aot_gpr_28 + static_cast(8268)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(8268)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08992BFCu); + aot_gpr_31 = (0x08992BFCu); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08992BFCu) goto L_08992BFC; AOT_REGCACHE_SYNC_OUT(); return; L_08992BFC: aot_gpr_16 = (aot_gpr_16 + static_cast(4)); - aot_gpr_5 = (aot_gpr_28 + static_cast(8140)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(8140)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08992C10u); + aot_gpr_31 = (0x08992C10u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08992C10u) goto L_08992C10; AOT_REGCACHE_SYNC_OUT(); return; @@ -7031,7 +7032,7 @@ L_08992C10: aot_gpr_5 = (2279u << 16u); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_6 = (0u | 36u); - ctx.gpr[31] = (0x08992C28u); + aot_gpr_31 = (0x08992C28u); aot_gpr_5 = (aot_gpr_5 + static_cast(17624)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08992C28u) goto L_08992C28; AOT_REGCACHE_SYNC_OUT(); return; @@ -7040,7 +7041,7 @@ L_08992C28: aot_gpr_5 = (2279u << 16u); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_6 = (0u | 36u); - ctx.gpr[31] = (0x08992C40u); + aot_gpr_31 = (0x08992C40u); aot_gpr_5 = (aot_gpr_5 + static_cast(17664)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08992C40u) goto L_08992C40; AOT_REGCACHE_SYNC_OUT(); return; @@ -7049,7 +7050,7 @@ L_08992C40: aot_gpr_5 = (2279u << 16u); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_6 = (0u | 36u); - ctx.gpr[31] = (0x08992C58u); + aot_gpr_31 = (0x08992C58u); aot_gpr_5 = (aot_gpr_5 + static_cast(17704)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08992C58u) goto L_08992C58; AOT_REGCACHE_SYNC_OUT(); return; @@ -7058,7 +7059,7 @@ L_08992C58: aot_gpr_5 = (2279u << 16u); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_6 = (0u | 48u); - ctx.gpr[31] = (0x08992C70u); + aot_gpr_31 = (0x08992C70u); aot_gpr_5 = (aot_gpr_5 + static_cast(17744)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08992C70u) goto L_08992C70; AOT_REGCACHE_SYNC_OUT(); return; @@ -7067,7 +7068,7 @@ L_08992C70: aot_gpr_5 = (2279u << 16u); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_6 = (0u | 48u); - ctx.gpr[31] = (0x08992C88u); + aot_gpr_31 = (0x08992C88u); aot_gpr_5 = (aot_gpr_5 + static_cast(17792)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08992C88u) goto L_08992C88; AOT_REGCACHE_SYNC_OUT(); return; @@ -7076,7 +7077,7 @@ L_08992C88: aot_gpr_5 = (2279u << 16u); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_6 = (0u | 32u); - ctx.gpr[31] = (0x08992CA0u); + aot_gpr_31 = (0x08992CA0u); aot_gpr_5 = (aot_gpr_5 + static_cast(17840)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08992CA0u) goto L_08992CA0; AOT_REGCACHE_SYNC_OUT(); return; @@ -7085,23 +7086,23 @@ L_08992CA0: aot_gpr_5 = (2279u << 16u); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_6 = (0u | 32u); - ctx.gpr[31] = (0x08992CB8u); + aot_gpr_31 = (0x08992CB8u); aot_gpr_5 = (aot_gpr_5 + static_cast(17872)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08992CB8u) goto L_08992CB8; AOT_REGCACHE_SYNC_OUT(); return; L_08992CB8: aot_gpr_16 = (aot_gpr_16 + static_cast(32)); - aot_gpr_5 = (aot_gpr_28 + static_cast(9416)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(9416)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08992CCCu); + aot_gpr_31 = (0x08992CCCu); aot_gpr_6 = (0u | 16u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08992CCCu) goto L_08992CCC; AOT_REGCACHE_SYNC_OUT(); return; L_08992CCC: aot_gpr_16 = (aot_gpr_16 + static_cast(16)); - aot_gpr_5 = (aot_gpr_28 + static_cast(9432)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(9432)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08992CE0u); + aot_gpr_31 = (0x08992CE0u); aot_gpr_6 = (0u | 16u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08992CE0u) goto L_08992CE0; AOT_REGCACHE_SYNC_OUT(); return; @@ -7110,7 +7111,7 @@ L_08992CE0: aot_gpr_5 = (2279u << 16u); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_6 = (0u | 32u); - ctx.gpr[31] = (0x08992CF8u); + aot_gpr_31 = (0x08992CF8u); aot_gpr_5 = (aot_gpr_5 + static_cast(17904)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08992CF8u) goto L_08992CF8; AOT_REGCACHE_SYNC_OUT(); return; @@ -7119,7 +7120,7 @@ L_08992CF8: aot_gpr_5 = (2279u << 16u); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_6 = (0u | 32u); - ctx.gpr[31] = (0x08992D10u); + aot_gpr_31 = (0x08992D10u); aot_gpr_5 = (aot_gpr_5 + static_cast(17936)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08992D10u) goto L_08992D10; AOT_REGCACHE_SYNC_OUT(); return; @@ -7128,252 +7129,252 @@ L_08992D10: aot_gpr_5 = (2240u << 16u); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_6 = (0u | 24u); - ctx.gpr[31] = (0x08992D28u); + aot_gpr_31 = (0x08992D28u); aot_gpr_5 = (aot_gpr_5 + static_cast(-23472)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08992D28u) goto L_08992D28; AOT_REGCACHE_SYNC_OUT(); return; L_08992D28: aot_gpr_16 = (aot_gpr_16 + static_cast(24)); - aot_gpr_5 = (aot_gpr_28 + static_cast(8180)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(8180)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08992D3Cu); + aot_gpr_31 = (0x08992D3Cu); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08992D3Cu) goto L_08992D3C; AOT_REGCACHE_SYNC_OUT(); return; L_08992D3C: aot_gpr_16 = (aot_gpr_16 + static_cast(4)); - aot_gpr_5 = (aot_gpr_28 + static_cast(8184)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(8184)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08992D50u); + aot_gpr_31 = (0x08992D50u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08992D50u) goto L_08992D50; AOT_REGCACHE_SYNC_OUT(); return; L_08992D50: aot_gpr_16 = (aot_gpr_16 + static_cast(4)); - aot_gpr_5 = (aot_gpr_28 + static_cast(8188)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(8188)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08992D64u); + aot_gpr_31 = (0x08992D64u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08992D64u) goto L_08992D64; AOT_REGCACHE_SYNC_OUT(); return; L_08992D64: aot_gpr_16 = (aot_gpr_16 + static_cast(4)); - aot_gpr_5 = (aot_gpr_28 + static_cast(8192)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(8192)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08992D78u); + aot_gpr_31 = (0x08992D78u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08992D78u) goto L_08992D78; AOT_REGCACHE_SYNC_OUT(); return; L_08992D78: aot_gpr_16 = (aot_gpr_16 + static_cast(4)); - aot_gpr_5 = (aot_gpr_28 + static_cast(8296)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(8296)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08992D8Cu); + aot_gpr_31 = (0x08992D8Cu); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08992D8Cu) goto L_08992D8C; AOT_REGCACHE_SYNC_OUT(); return; L_08992D8C: aot_gpr_16 = (aot_gpr_16 + static_cast(4)); - aot_gpr_5 = (aot_gpr_28 + static_cast(8300)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(8300)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08992DA0u); + aot_gpr_31 = (0x08992DA0u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08992DA0u) goto L_08992DA0; AOT_REGCACHE_SYNC_OUT(); return; L_08992DA0: aot_gpr_16 = (aot_gpr_16 + static_cast(4)); - aot_gpr_5 = (aot_gpr_28 + static_cast(8304)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(8304)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08992DB4u); + aot_gpr_31 = (0x08992DB4u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08992DB4u) goto L_08992DB4; AOT_REGCACHE_SYNC_OUT(); return; L_08992DB4: aot_gpr_16 = (aot_gpr_16 + static_cast(4)); - aot_gpr_5 = (aot_gpr_28 + static_cast(8308)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(8308)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08992DC8u); + aot_gpr_31 = (0x08992DC8u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08992DC8u) goto L_08992DC8; AOT_REGCACHE_SYNC_OUT(); return; L_08992DC8: aot_gpr_16 = (aot_gpr_16 + static_cast(4)); - aot_gpr_5 = (aot_gpr_28 + static_cast(8168)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(8168)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08992DDCu); + aot_gpr_31 = (0x08992DDCu); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08992DDCu) goto L_08992DDC; AOT_REGCACHE_SYNC_OUT(); return; L_08992DDC: aot_gpr_16 = (aot_gpr_16 + static_cast(4)); - aot_gpr_5 = (aot_gpr_28 + static_cast(8212)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(8212)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08992DF0u); + aot_gpr_31 = (0x08992DF0u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08992DF0u) goto L_08992DF0; AOT_REGCACHE_SYNC_OUT(); return; L_08992DF0: aot_gpr_16 = (aot_gpr_16 + static_cast(4)); - aot_gpr_5 = (aot_gpr_28 + static_cast(8216)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(8216)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08992E04u); + aot_gpr_31 = (0x08992E04u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08992E04u) goto L_08992E04; AOT_REGCACHE_SYNC_OUT(); return; L_08992E04: aot_gpr_16 = (aot_gpr_16 + static_cast(4)); - aot_gpr_5 = (aot_gpr_28 + static_cast(8196)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(8196)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08992E18u); + aot_gpr_31 = (0x08992E18u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08992E18u) goto L_08992E18; AOT_REGCACHE_SYNC_OUT(); return; L_08992E18: aot_gpr_16 = (aot_gpr_16 + static_cast(4)); - aot_gpr_5 = (aot_gpr_28 + static_cast(8200)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(8200)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08992E2Cu); + aot_gpr_31 = (0x08992E2Cu); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08992E2Cu) goto L_08992E2C; AOT_REGCACHE_SYNC_OUT(); return; L_08992E2C: aot_gpr_16 = (aot_gpr_16 + static_cast(4)); - aot_gpr_5 = (aot_gpr_28 + static_cast(8204)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(8204)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08992E40u); + aot_gpr_31 = (0x08992E40u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08992E40u) goto L_08992E40; AOT_REGCACHE_SYNC_OUT(); return; L_08992E40: aot_gpr_16 = (aot_gpr_16 + static_cast(4)); - aot_gpr_5 = (aot_gpr_28 + static_cast(8208)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(8208)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08992E54u); + aot_gpr_31 = (0x08992E54u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08992E54u) goto L_08992E54; AOT_REGCACHE_SYNC_OUT(); return; L_08992E54: aot_gpr_16 = (aot_gpr_16 + static_cast(4)); - aot_gpr_5 = (aot_gpr_28 + static_cast(8220)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(8220)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08992E68u); + aot_gpr_31 = (0x08992E68u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08992E68u) goto L_08992E68; AOT_REGCACHE_SYNC_OUT(); return; L_08992E68: aot_gpr_16 = (aot_gpr_16 + static_cast(4)); - aot_gpr_5 = (aot_gpr_28 + static_cast(8224)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(8224)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08992E7Cu); + aot_gpr_31 = (0x08992E7Cu); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08992E7Cu) goto L_08992E7C; AOT_REGCACHE_SYNC_OUT(); return; L_08992E7C: aot_gpr_16 = (aot_gpr_16 + static_cast(4)); - aot_gpr_5 = (aot_gpr_28 + static_cast(8228)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(8228)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08992E90u); + aot_gpr_31 = (0x08992E90u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08992E90u) goto L_08992E90; AOT_REGCACHE_SYNC_OUT(); return; L_08992E90: aot_gpr_16 = (aot_gpr_16 + static_cast(4)); - aot_gpr_5 = (aot_gpr_28 + static_cast(8232)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(8232)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08992EA4u); + aot_gpr_31 = (0x08992EA4u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08992EA4u) goto L_08992EA4; AOT_REGCACHE_SYNC_OUT(); return; L_08992EA4: aot_gpr_16 = (aot_gpr_16 + static_cast(4)); - aot_gpr_5 = (aot_gpr_28 + static_cast(8236)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(8236)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08992EB8u); + aot_gpr_31 = (0x08992EB8u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08992EB8u) goto L_08992EB8; AOT_REGCACHE_SYNC_OUT(); return; L_08992EB8: aot_gpr_16 = (aot_gpr_16 + static_cast(4)); - aot_gpr_5 = (aot_gpr_28 + static_cast(8240)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(8240)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08992ECCu); + aot_gpr_31 = (0x08992ECCu); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08992ECCu) goto L_08992ECC; AOT_REGCACHE_SYNC_OUT(); return; L_08992ECC: aot_gpr_16 = (aot_gpr_16 + static_cast(4)); - aot_gpr_5 = (aot_gpr_28 + static_cast(8244)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(8244)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08992EE0u); + aot_gpr_31 = (0x08992EE0u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08992EE0u) goto L_08992EE0; AOT_REGCACHE_SYNC_OUT(); return; L_08992EE0: aot_gpr_16 = (aot_gpr_16 + static_cast(4)); - aot_gpr_5 = (aot_gpr_28 + static_cast(8248)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(8248)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08992EF4u); + aot_gpr_31 = (0x08992EF4u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08992EF4u) goto L_08992EF4; AOT_REGCACHE_SYNC_OUT(); return; L_08992EF4: aot_gpr_16 = (aot_gpr_16 + static_cast(4)); - aot_gpr_5 = (aot_gpr_28 + static_cast(8252)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(8252)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08992F08u); + aot_gpr_31 = (0x08992F08u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08992F08u) goto L_08992F08; AOT_REGCACHE_SYNC_OUT(); return; L_08992F08: aot_gpr_16 = (aot_gpr_16 + static_cast(4)); - aot_gpr_5 = (aot_gpr_28 + static_cast(8256)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(8256)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08992F1Cu); + aot_gpr_31 = (0x08992F1Cu); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08992F1Cu) goto L_08992F1C; AOT_REGCACHE_SYNC_OUT(); return; L_08992F1C: aot_gpr_16 = (aot_gpr_16 + static_cast(4)); - aot_gpr_5 = (aot_gpr_28 + static_cast(8172)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(8172)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08992F30u); + aot_gpr_31 = (0x08992F30u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08992F30u) goto L_08992F30; AOT_REGCACHE_SYNC_OUT(); return; L_08992F30: aot_gpr_16 = (aot_gpr_16 + static_cast(4)); - aot_gpr_5 = (aot_gpr_28 + static_cast(8176)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(8176)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08992F44u); + aot_gpr_31 = (0x08992F44u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08992F44u) goto L_08992F44; AOT_REGCACHE_SYNC_OUT(); return; L_08992F44: aot_gpr_16 = (aot_gpr_16 + static_cast(4)); - aot_gpr_5 = (aot_gpr_28 + static_cast(8272)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(8272)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08992F58u); + aot_gpr_31 = (0x08992F58u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08992F58u) goto L_08992F58; AOT_REGCACHE_SYNC_OUT(); return; L_08992F58: aot_gpr_16 = (aot_gpr_16 + static_cast(4)); - aot_gpr_5 = (aot_gpr_28 + static_cast(8280)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(8280)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08992F6Cu); + aot_gpr_31 = (0x08992F6Cu); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08992F6Cu) goto L_08992F6C; AOT_REGCACHE_SYNC_OUT(); return; L_08992F6C: ctx.gpr[18] = (aot_gpr_16 + static_cast(4)); - aot_gpr_5 = (aot_gpr_28 + static_cast(8276)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(8276)); aot_gpr_4 = (ctx.gpr[18] | 0u); - ctx.gpr[31] = (0x08992F80u); + aot_gpr_31 = (0x08992F80u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08992F80u) goto L_08992F80; AOT_REGCACHE_SYNC_OUT(); return; L_08992F80: - ctx.gpr[31] = (0x08992F88u); + aot_gpr_31 = (0x08992F88u); ctx.gpr[18] = (ctx.gpr[18] + static_cast(4)); goto L_089913B0; L_08992F88: @@ -7384,7 +7385,7 @@ L_08992F88: L_08992F94: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x08992FA4u); + aot_gpr_31 = (0x08992FA4u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08992FA4u) goto L_08992FA4; AOT_REGCACHE_SYNC_OUT(); return; @@ -7406,9 +7407,9 @@ L_08992FB8: aot_gpr_17 = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; - ctx.gpr[31] = aot_run_words[4]; + aot_gpr_31 = aot_run_words[4]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; ctx.gpr[29] = (ctx.gpr[29] + static_cast(32)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -7422,50 +7423,50 @@ L_08992FD4: ctx.gpr[18] = (aot_gpr_4 | 0u); aot_gpr_16 = (aot_gpr_16 + static_cast(17584)); aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_17); - aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(12), ctx.gpr[31]); - aot_gpr_4 = (aot_gpr_28 + static_cast(9300)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(12), aot_gpr_31); + aot_gpr_4 = (ctx.gpr[28] + static_cast(9300)); aot_gpr_5 = (ctx.gpr[18] | 0u); - ctx.gpr[31] = (0x08993004u); + aot_gpr_31 = (0x08993004u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08993004u) goto L_08993004; AOT_REGCACHE_SYNC_OUT(); return; L_08993004: aot_gpr_17 = (ctx.gpr[18] + static_cast(4)); - aot_gpr_4 = (aot_gpr_28 + static_cast(9304)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(9304)); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x08993018u); + aot_gpr_31 = (0x08993018u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08993018u) goto L_08993018; AOT_REGCACHE_SYNC_OUT(); return; L_08993018: aot_gpr_17 = (aot_gpr_17 + static_cast(4)); - aot_gpr_4 = (aot_gpr_28 + static_cast(9308)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(9308)); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x0899302Cu); + aot_gpr_31 = (0x0899302Cu); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899302Cu) goto L_0899302C; AOT_REGCACHE_SYNC_OUT(); return; L_0899302C: aot_gpr_17 = (aot_gpr_17 + static_cast(4)); - aot_gpr_4 = (aot_gpr_28 + static_cast(9312)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(9312)); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x08993040u); + aot_gpr_31 = (0x08993040u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08993040u) goto L_08993040; AOT_REGCACHE_SYNC_OUT(); return; L_08993040: aot_gpr_17 = (aot_gpr_17 + static_cast(4)); - aot_gpr_4 = (aot_gpr_28 + static_cast(7880)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(7880)); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x08993054u); + aot_gpr_31 = (0x08993054u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08993054u) goto L_08993054; AOT_REGCACHE_SYNC_OUT(); return; L_08993054: aot_gpr_17 = (aot_gpr_17 + static_cast(4)); - aot_gpr_4 = (aot_gpr_28 + static_cast(9316)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(9316)); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x08993068u); + aot_gpr_31 = (0x08993068u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08993068u) goto L_08993068; AOT_REGCACHE_SYNC_OUT(); return; @@ -7474,535 +7475,535 @@ L_08993068: aot_gpr_4 = (2279u << 16u); aot_gpr_5 = (aot_gpr_17 | 0u); aot_gpr_6 = (0u | 92u); - ctx.gpr[31] = (0x08993080u); + aot_gpr_31 = (0x08993080u); aot_gpr_4 = (aot_gpr_4 + static_cast(17488)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08993080u) goto L_08993080; AOT_REGCACHE_SYNC_OUT(); return; L_08993080: aot_gpr_17 = (aot_gpr_17 + static_cast(92)); - aot_gpr_4 = (aot_gpr_28 + static_cast(9320)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(9320)); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x08993094u); + aot_gpr_31 = (0x08993094u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08993094u) goto L_08993094; AOT_REGCACHE_SYNC_OUT(); return; L_08993094: aot_gpr_17 = (aot_gpr_17 + static_cast(4)); - aot_gpr_4 = (aot_gpr_28 + static_cast(8080)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(8080)); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x089930A8u); + aot_gpr_31 = (0x089930A8u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089930A8u) goto L_089930A8; AOT_REGCACHE_SYNC_OUT(); return; L_089930A8: aot_gpr_17 = (aot_gpr_17 + static_cast(4)); - aot_gpr_4 = (aot_gpr_28 + static_cast(8084)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(8084)); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x089930BCu); + aot_gpr_31 = (0x089930BCu); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089930BCu) goto L_089930BC; AOT_REGCACHE_SYNC_OUT(); return; L_089930BC: aot_gpr_17 = (aot_gpr_17 + static_cast(4)); - aot_gpr_4 = (aot_gpr_28 + static_cast(9324)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(9324)); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x089930D0u); + aot_gpr_31 = (0x089930D0u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089930D0u) goto L_089930D0; AOT_REGCACHE_SYNC_OUT(); return; L_089930D0: aot_gpr_17 = (aot_gpr_17 + static_cast(4)); - aot_gpr_4 = (aot_gpr_28 + static_cast(9328)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(9328)); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x089930E4u); + aot_gpr_31 = (0x089930E4u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089930E4u) goto L_089930E4; AOT_REGCACHE_SYNC_OUT(); return; L_089930E4: aot_gpr_17 = (aot_gpr_17 + static_cast(4)); - aot_gpr_4 = (aot_gpr_28 + static_cast(8676)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(8676)); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x089930F8u); + aot_gpr_31 = (0x089930F8u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089930F8u) goto L_089930F8; AOT_REGCACHE_SYNC_OUT(); return; L_089930F8: aot_gpr_17 = (aot_gpr_17 + static_cast(4)); - aot_gpr_4 = (aot_gpr_28 + static_cast(9332)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(9332)); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x0899310Cu); + aot_gpr_31 = (0x0899310Cu); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899310Cu) goto L_0899310C; AOT_REGCACHE_SYNC_OUT(); return; L_0899310C: aot_gpr_17 = (aot_gpr_17 + static_cast(4)); - aot_gpr_4 = (aot_gpr_28 + static_cast(9336)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(9336)); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x08993120u); + aot_gpr_31 = (0x08993120u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08993120u) goto L_08993120; AOT_REGCACHE_SYNC_OUT(); return; L_08993120: aot_gpr_17 = (aot_gpr_17 + static_cast(4)); - aot_gpr_4 = (aot_gpr_28 + static_cast(9036)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(9036)); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x08993134u); + aot_gpr_31 = (0x08993134u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08993134u) goto L_08993134; AOT_REGCACHE_SYNC_OUT(); return; L_08993134: aot_gpr_17 = (aot_gpr_17 + static_cast(4)); - aot_gpr_4 = (aot_gpr_28 + static_cast(9032)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(9032)); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x08993148u); + aot_gpr_31 = (0x08993148u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08993148u) goto L_08993148; AOT_REGCACHE_SYNC_OUT(); return; L_08993148: aot_gpr_17 = (aot_gpr_17 + static_cast(4)); - aot_gpr_4 = (aot_gpr_28 + static_cast(8912)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(8912)); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x0899315Cu); + aot_gpr_31 = (0x0899315Cu); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899315Cu) goto L_0899315C; AOT_REGCACHE_SYNC_OUT(); return; L_0899315C: aot_gpr_17 = (aot_gpr_17 + static_cast(4)); - aot_gpr_4 = (aot_gpr_28 + static_cast(9340)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(9340)); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x08993170u); + aot_gpr_31 = (0x08993170u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08993170u) goto L_08993170; AOT_REGCACHE_SYNC_OUT(); return; L_08993170: aot_gpr_17 = (aot_gpr_17 + static_cast(4)); - aot_gpr_4 = (aot_gpr_28 + static_cast(9344)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(9344)); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x08993184u); + aot_gpr_31 = (0x08993184u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08993184u) goto L_08993184; AOT_REGCACHE_SYNC_OUT(); return; L_08993184: aot_gpr_17 = (aot_gpr_17 + static_cast(4)); - aot_gpr_4 = (aot_gpr_28 + static_cast(8088)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(8088)); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x08993198u); + aot_gpr_31 = (0x08993198u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08993198u) goto L_08993198; AOT_REGCACHE_SYNC_OUT(); return; L_08993198: aot_gpr_17 = (aot_gpr_17 + static_cast(4)); - aot_gpr_4 = (aot_gpr_28 + static_cast(8092)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(8092)); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x089931ACu); + aot_gpr_31 = (0x089931ACu); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089931ACu) goto L_089931AC; AOT_REGCACHE_SYNC_OUT(); return; L_089931AC: aot_gpr_17 = (aot_gpr_17 + static_cast(4)); - aot_gpr_4 = (aot_gpr_28 + static_cast(8096)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(8096)); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x089931C0u); + aot_gpr_31 = (0x089931C0u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089931C0u) goto L_089931C0; AOT_REGCACHE_SYNC_OUT(); return; L_089931C0: aot_gpr_17 = (aot_gpr_17 + static_cast(4)); - aot_gpr_4 = (aot_gpr_28 + static_cast(8100)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(8100)); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x089931D4u); + aot_gpr_31 = (0x089931D4u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089931D4u) goto L_089931D4; AOT_REGCACHE_SYNC_OUT(); return; L_089931D4: aot_gpr_17 = (aot_gpr_17 + static_cast(4)); - aot_gpr_4 = (aot_gpr_28 + static_cast(8104)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(8104)); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x089931E8u); + aot_gpr_31 = (0x089931E8u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089931E8u) goto L_089931E8; AOT_REGCACHE_SYNC_OUT(); return; L_089931E8: aot_gpr_17 = (aot_gpr_17 + static_cast(4)); - aot_gpr_4 = (aot_gpr_28 + static_cast(8108)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(8108)); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x089931FCu); + aot_gpr_31 = (0x089931FCu); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089931FCu) goto L_089931FC; AOT_REGCACHE_SYNC_OUT(); return; L_089931FC: aot_gpr_17 = (aot_gpr_17 + static_cast(4)); - aot_gpr_4 = (aot_gpr_28 + static_cast(8112)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(8112)); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x08993210u); + aot_gpr_31 = (0x08993210u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08993210u) goto L_08993210; AOT_REGCACHE_SYNC_OUT(); return; L_08993210: aot_gpr_17 = (aot_gpr_17 + static_cast(4)); - aot_gpr_4 = (aot_gpr_28 + static_cast(8124)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(8124)); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x08993224u); + aot_gpr_31 = (0x08993224u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08993224u) goto L_08993224; AOT_REGCACHE_SYNC_OUT(); return; L_08993224: aot_gpr_17 = (aot_gpr_17 + static_cast(4)); - aot_gpr_4 = (aot_gpr_28 + static_cast(8116)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(8116)); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x08993238u); + aot_gpr_31 = (0x08993238u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08993238u) goto L_08993238; AOT_REGCACHE_SYNC_OUT(); return; L_08993238: aot_gpr_17 = (aot_gpr_17 + static_cast(4)); - aot_gpr_4 = (aot_gpr_28 + static_cast(8120)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(8120)); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x0899324Cu); + aot_gpr_31 = (0x0899324Cu); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899324Cu) goto L_0899324C; AOT_REGCACHE_SYNC_OUT(); return; L_0899324C: aot_gpr_17 = (aot_gpr_17 + static_cast(4)); - aot_gpr_4 = (aot_gpr_28 + static_cast(8284)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(8284)); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x08993260u); + aot_gpr_31 = (0x08993260u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08993260u) goto L_08993260; AOT_REGCACHE_SYNC_OUT(); return; L_08993260: aot_gpr_17 = (aot_gpr_17 + static_cast(4)); - aot_gpr_4 = (aot_gpr_28 + static_cast(8288)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(8288)); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x08993274u); + aot_gpr_31 = (0x08993274u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08993274u) goto L_08993274; AOT_REGCACHE_SYNC_OUT(); return; L_08993274: aot_gpr_17 = (aot_gpr_17 + static_cast(4)); - aot_gpr_4 = (aot_gpr_28 + static_cast(8292)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(8292)); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x08993288u); + aot_gpr_31 = (0x08993288u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08993288u) goto L_08993288; AOT_REGCACHE_SYNC_OUT(); return; L_08993288: aot_gpr_17 = (aot_gpr_17 + static_cast(4)); - aot_gpr_4 = (aot_gpr_28 + static_cast(8076)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(8076)); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x0899329Cu); + aot_gpr_31 = (0x0899329Cu); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899329Cu) goto L_0899329C; AOT_REGCACHE_SYNC_OUT(); return; L_0899329C: aot_gpr_17 = (aot_gpr_17 + static_cast(4)); - aot_gpr_4 = (aot_gpr_28 + static_cast(9084)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(9084)); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x089932B0u); + aot_gpr_31 = (0x089932B0u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089932B0u) goto L_089932B0; AOT_REGCACHE_SYNC_OUT(); return; L_089932B0: aot_gpr_17 = (aot_gpr_17 + static_cast(4)); - aot_gpr_4 = (aot_gpr_28 + static_cast(9080)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(9080)); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x089932C4u); + aot_gpr_31 = (0x089932C4u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089932C4u) goto L_089932C4; AOT_REGCACHE_SYNC_OUT(); return; L_089932C4: aot_gpr_17 = (aot_gpr_17 + static_cast(4)); - aot_gpr_4 = (aot_gpr_28 + static_cast(9068)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(9068)); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x089932D8u); + aot_gpr_31 = (0x089932D8u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089932D8u) goto L_089932D8; AOT_REGCACHE_SYNC_OUT(); return; L_089932D8: aot_gpr_17 = (aot_gpr_17 + static_cast(4)); - aot_gpr_4 = (aot_gpr_28 + static_cast(9072)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(9072)); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x089932ECu); + aot_gpr_31 = (0x089932ECu); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089932ECu) goto L_089932EC; AOT_REGCACHE_SYNC_OUT(); return; L_089932EC: aot_gpr_17 = (aot_gpr_17 + static_cast(4)); - aot_gpr_4 = (aot_gpr_28 + static_cast(9076)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(9076)); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x08993300u); + aot_gpr_31 = (0x08993300u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08993300u) goto L_08993300; AOT_REGCACHE_SYNC_OUT(); return; L_08993300: aot_gpr_17 = (aot_gpr_17 + static_cast(4)); - aot_gpr_4 = (aot_gpr_28 + static_cast(9064)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(9064)); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x08993314u); + aot_gpr_31 = (0x08993314u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08993314u) goto L_08993314; AOT_REGCACHE_SYNC_OUT(); return; L_08993314: aot_gpr_17 = (aot_gpr_17 + static_cast(4)); - aot_gpr_4 = (aot_gpr_28 + static_cast(9348)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(9348)); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x08993328u); + aot_gpr_31 = (0x08993328u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08993328u) goto L_08993328; AOT_REGCACHE_SYNC_OUT(); return; L_08993328: aot_gpr_17 = (aot_gpr_17 + static_cast(4)); - aot_gpr_4 = (aot_gpr_28 + static_cast(9352)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(9352)); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x0899333Cu); + aot_gpr_31 = (0x0899333Cu); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899333Cu) goto L_0899333C; AOT_REGCACHE_SYNC_OUT(); return; L_0899333C: aot_gpr_17 = (aot_gpr_17 + static_cast(4)); - aot_gpr_4 = (aot_gpr_28 + static_cast(9356)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(9356)); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x08993350u); + aot_gpr_31 = (0x08993350u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08993350u) goto L_08993350; AOT_REGCACHE_SYNC_OUT(); return; L_08993350: aot_gpr_17 = (aot_gpr_17 + static_cast(4)); - aot_gpr_4 = (aot_gpr_28 + static_cast(9360)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(9360)); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x08993364u); + aot_gpr_31 = (0x08993364u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08993364u) goto L_08993364; AOT_REGCACHE_SYNC_OUT(); return; L_08993364: aot_gpr_17 = (aot_gpr_17 + static_cast(4)); - aot_gpr_4 = (aot_gpr_28 + static_cast(9364)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(9364)); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x08993378u); + aot_gpr_31 = (0x08993378u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08993378u) goto L_08993378; AOT_REGCACHE_SYNC_OUT(); return; L_08993378: aot_gpr_17 = (aot_gpr_17 + static_cast(4)); - aot_gpr_4 = (aot_gpr_28 + static_cast(9368)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(9368)); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x0899338Cu); + aot_gpr_31 = (0x0899338Cu); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899338Cu) goto L_0899338C; AOT_REGCACHE_SYNC_OUT(); return; L_0899338C: aot_gpr_17 = (aot_gpr_17 + static_cast(4)); - aot_gpr_4 = (aot_gpr_28 + static_cast(9372)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(9372)); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x089933A0u); + aot_gpr_31 = (0x089933A0u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089933A0u) goto L_089933A0; AOT_REGCACHE_SYNC_OUT(); return; L_089933A0: aot_gpr_17 = (aot_gpr_17 + static_cast(4)); - aot_gpr_4 = (aot_gpr_28 + static_cast(9376)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(9376)); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x089933B4u); + aot_gpr_31 = (0x089933B4u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089933B4u) goto L_089933B4; AOT_REGCACHE_SYNC_OUT(); return; L_089933B4: aot_gpr_17 = (aot_gpr_17 + static_cast(4)); - aot_gpr_4 = (aot_gpr_28 + static_cast(9380)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(9380)); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x089933C8u); + aot_gpr_31 = (0x089933C8u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089933C8u) goto L_089933C8; AOT_REGCACHE_SYNC_OUT(); return; L_089933C8: aot_gpr_17 = (aot_gpr_17 + static_cast(4)); - aot_gpr_4 = (aot_gpr_28 + static_cast(9384)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(9384)); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x089933DCu); + aot_gpr_31 = (0x089933DCu); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089933DCu) goto L_089933DC; AOT_REGCACHE_SYNC_OUT(); return; L_089933DC: aot_gpr_17 = (aot_gpr_17 + static_cast(4)); - aot_gpr_4 = (aot_gpr_28 + static_cast(8684)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(8684)); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x089933F0u); + aot_gpr_31 = (0x089933F0u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089933F0u) goto L_089933F0; AOT_REGCACHE_SYNC_OUT(); return; L_089933F0: aot_gpr_17 = (aot_gpr_17 + static_cast(4)); - aot_gpr_4 = (aot_gpr_28 + static_cast(9388)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(9388)); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x08993404u); + aot_gpr_31 = (0x08993404u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08993404u) goto L_08993404; AOT_REGCACHE_SYNC_OUT(); return; L_08993404: aot_gpr_17 = (aot_gpr_17 + static_cast(4)); - aot_gpr_4 = (aot_gpr_28 + static_cast(9392)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(9392)); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x08993418u); + aot_gpr_31 = (0x08993418u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08993418u) goto L_08993418; AOT_REGCACHE_SYNC_OUT(); return; L_08993418: aot_gpr_17 = (aot_gpr_17 + static_cast(4)); - aot_gpr_4 = (aot_gpr_28 + static_cast(9048)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(9048)); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x0899342Cu); + aot_gpr_31 = (0x0899342Cu); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899342Cu) goto L_0899342C; AOT_REGCACHE_SYNC_OUT(); return; L_0899342C: aot_gpr_17 = (aot_gpr_17 + static_cast(4)); - aot_gpr_4 = (aot_gpr_28 + static_cast(9056)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(9056)); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x08993440u); + aot_gpr_31 = (0x08993440u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08993440u) goto L_08993440; AOT_REGCACHE_SYNC_OUT(); return; L_08993440: aot_gpr_17 = (aot_gpr_17 + static_cast(4)); - aot_gpr_4 = (aot_gpr_28 + static_cast(9040)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(9040)); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x08993454u); + aot_gpr_31 = (0x08993454u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08993454u) goto L_08993454; AOT_REGCACHE_SYNC_OUT(); return; L_08993454: aot_gpr_17 = (aot_gpr_17 + static_cast(4)); - aot_gpr_4 = (aot_gpr_28 + static_cast(9052)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(9052)); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x08993468u); + aot_gpr_31 = (0x08993468u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08993468u) goto L_08993468; AOT_REGCACHE_SYNC_OUT(); return; L_08993468: aot_gpr_17 = (aot_gpr_17 + static_cast(4)); - aot_gpr_4 = (aot_gpr_28 + static_cast(9060)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(9060)); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x0899347Cu); + aot_gpr_31 = (0x0899347Cu); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899347Cu) goto L_0899347C; AOT_REGCACHE_SYNC_OUT(); return; L_0899347C: aot_gpr_17 = (aot_gpr_17 + static_cast(4)); - aot_gpr_4 = (aot_gpr_28 + static_cast(9044)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(9044)); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x08993490u); + aot_gpr_31 = (0x08993490u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08993490u) goto L_08993490; AOT_REGCACHE_SYNC_OUT(); return; L_08993490: aot_gpr_17 = (aot_gpr_17 + static_cast(4)); - aot_gpr_4 = (aot_gpr_28 + static_cast(8144)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(8144)); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x089934A4u); + aot_gpr_31 = (0x089934A4u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089934A4u) goto L_089934A4; AOT_REGCACHE_SYNC_OUT(); return; L_089934A4: aot_gpr_17 = (aot_gpr_17 + static_cast(4)); - aot_gpr_4 = (aot_gpr_28 + static_cast(9396)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(9396)); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x089934B8u); + aot_gpr_31 = (0x089934B8u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089934B8u) goto L_089934B8; AOT_REGCACHE_SYNC_OUT(); return; L_089934B8: aot_gpr_17 = (aot_gpr_17 + static_cast(4)); - aot_gpr_4 = (aot_gpr_28 + static_cast(7904)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(7904)); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x089934CCu); + aot_gpr_31 = (0x089934CCu); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089934CCu) goto L_089934CC; AOT_REGCACHE_SYNC_OUT(); return; L_089934CC: aot_gpr_17 = (aot_gpr_17 + static_cast(4)); - aot_gpr_4 = (aot_gpr_28 + static_cast(9400)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(9400)); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x089934E0u); + aot_gpr_31 = (0x089934E0u); aot_gpr_6 = (0u | 2u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089934E0u) goto L_089934E0; AOT_REGCACHE_SYNC_OUT(); return; L_089934E0: aot_gpr_17 = (aot_gpr_17 + static_cast(2)); - aot_gpr_4 = (aot_gpr_28 + static_cast(9088)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(9088)); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x089934F4u); + aot_gpr_31 = (0x089934F4u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089934F4u) goto L_089934F4; AOT_REGCACHE_SYNC_OUT(); return; L_089934F4: aot_gpr_17 = (aot_gpr_17 + static_cast(4)); - aot_gpr_4 = (aot_gpr_28 + static_cast(9404)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(9404)); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x08993508u); + aot_gpr_31 = (0x08993508u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08993508u) goto L_08993508; AOT_REGCACHE_SYNC_OUT(); return; L_08993508: aot_gpr_17 = (aot_gpr_17 + static_cast(4)); - aot_gpr_4 = (aot_gpr_28 + static_cast(9408)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(9408)); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x0899351Cu); + aot_gpr_31 = (0x0899351Cu); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899351Cu) goto L_0899351C; AOT_REGCACHE_SYNC_OUT(); return; L_0899351C: aot_gpr_17 = (aot_gpr_17 + static_cast(4)); - aot_gpr_4 = (aot_gpr_28 + static_cast(9412)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(9412)); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x08993530u); + aot_gpr_31 = (0x08993530u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08993530u) goto L_08993530; AOT_REGCACHE_SYNC_OUT(); return; L_08993530: aot_gpr_17 = (aot_gpr_17 + static_cast(4)); - aot_gpr_4 = (aot_gpr_28 + static_cast(8128)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(8128)); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x08993544u); + aot_gpr_31 = (0x08993544u); aot_gpr_6 = (0u | 8u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08993544u) goto L_08993544; AOT_REGCACHE_SYNC_OUT(); return; L_08993544: aot_gpr_17 = (aot_gpr_17 + static_cast(8)); - aot_gpr_4 = (aot_gpr_28 + static_cast(9288)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(9288)); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x08993558u); + aot_gpr_31 = (0x08993558u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08993558u) goto L_08993558; AOT_REGCACHE_SYNC_OUT(); return; L_08993558: aot_gpr_17 = (aot_gpr_17 + static_cast(4)); - aot_gpr_4 = (aot_gpr_28 + static_cast(8260)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(8260)); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x0899356Cu); + aot_gpr_31 = (0x0899356Cu); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899356Cu) goto L_0899356C; AOT_REGCACHE_SYNC_OUT(); return; L_0899356C: aot_gpr_17 = (aot_gpr_17 + static_cast(4)); - aot_gpr_4 = (aot_gpr_28 + static_cast(8264)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(8264)); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x08993580u); + aot_gpr_31 = (0x08993580u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08993580u) goto L_08993580; AOT_REGCACHE_SYNC_OUT(); return; L_08993580: aot_gpr_17 = (aot_gpr_17 + static_cast(4)); - aot_gpr_4 = (aot_gpr_28 + static_cast(8268)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(8268)); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x08993594u); + aot_gpr_31 = (0x08993594u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08993594u) goto L_08993594; AOT_REGCACHE_SYNC_OUT(); return; L_08993594: aot_gpr_17 = (aot_gpr_17 + static_cast(4)); - aot_gpr_4 = (aot_gpr_28 + static_cast(8140)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(8140)); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x089935A8u); + aot_gpr_31 = (0x089935A8u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089935A8u) goto L_089935A8; AOT_REGCACHE_SYNC_OUT(); return; @@ -8011,7 +8012,7 @@ L_089935A8: aot_gpr_4 = (2279u << 16u); aot_gpr_5 = (aot_gpr_17 | 0u); aot_gpr_6 = (0u | 36u); - ctx.gpr[31] = (0x089935C0u); + aot_gpr_31 = (0x089935C0u); aot_gpr_4 = (aot_gpr_4 + static_cast(17624)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089935C0u) goto L_089935C0; AOT_REGCACHE_SYNC_OUT(); return; @@ -8020,7 +8021,7 @@ L_089935C0: aot_gpr_4 = (2279u << 16u); aot_gpr_5 = (aot_gpr_17 | 0u); aot_gpr_6 = (0u | 36u); - ctx.gpr[31] = (0x089935D8u); + aot_gpr_31 = (0x089935D8u); aot_gpr_4 = (aot_gpr_4 + static_cast(17664)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089935D8u) goto L_089935D8; AOT_REGCACHE_SYNC_OUT(); return; @@ -8029,7 +8030,7 @@ L_089935D8: aot_gpr_4 = (2279u << 16u); aot_gpr_5 = (aot_gpr_17 | 0u); aot_gpr_6 = (0u | 36u); - ctx.gpr[31] = (0x089935F0u); + aot_gpr_31 = (0x089935F0u); aot_gpr_4 = (aot_gpr_4 + static_cast(17704)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089935F0u) goto L_089935F0; AOT_REGCACHE_SYNC_OUT(); return; @@ -8038,7 +8039,7 @@ L_089935F0: aot_gpr_4 = (2279u << 16u); aot_gpr_5 = (aot_gpr_17 | 0u); aot_gpr_6 = (0u | 48u); - ctx.gpr[31] = (0x08993608u); + aot_gpr_31 = (0x08993608u); aot_gpr_4 = (aot_gpr_4 + static_cast(17744)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08993608u) goto L_08993608; AOT_REGCACHE_SYNC_OUT(); return; @@ -8047,7 +8048,7 @@ L_08993608: aot_gpr_4 = (2279u << 16u); aot_gpr_5 = (aot_gpr_17 | 0u); aot_gpr_6 = (0u | 48u); - ctx.gpr[31] = (0x08993620u); + aot_gpr_31 = (0x08993620u); aot_gpr_4 = (aot_gpr_4 + static_cast(17792)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08993620u) goto L_08993620; AOT_REGCACHE_SYNC_OUT(); return; @@ -8056,7 +8057,7 @@ L_08993620: aot_gpr_4 = (2279u << 16u); aot_gpr_5 = (aot_gpr_17 | 0u); aot_gpr_6 = (0u | 32u); - ctx.gpr[31] = (0x08993638u); + aot_gpr_31 = (0x08993638u); aot_gpr_4 = (aot_gpr_4 + static_cast(17840)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08993638u) goto L_08993638; AOT_REGCACHE_SYNC_OUT(); return; @@ -8065,23 +8066,23 @@ L_08993638: aot_gpr_4 = (2279u << 16u); aot_gpr_5 = (aot_gpr_17 | 0u); aot_gpr_6 = (0u | 32u); - ctx.gpr[31] = (0x08993650u); + aot_gpr_31 = (0x08993650u); aot_gpr_4 = (aot_gpr_4 + static_cast(17872)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08993650u) goto L_08993650; AOT_REGCACHE_SYNC_OUT(); return; L_08993650: aot_gpr_17 = (aot_gpr_17 + static_cast(32)); - aot_gpr_4 = (aot_gpr_28 + static_cast(9416)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(9416)); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x08993664u); + aot_gpr_31 = (0x08993664u); aot_gpr_6 = (0u | 16u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08993664u) goto L_08993664; AOT_REGCACHE_SYNC_OUT(); return; L_08993664: aot_gpr_17 = (aot_gpr_17 + static_cast(16)); - aot_gpr_4 = (aot_gpr_28 + static_cast(9432)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(9432)); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x08993678u); + aot_gpr_31 = (0x08993678u); aot_gpr_6 = (0u | 16u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08993678u) goto L_08993678; AOT_REGCACHE_SYNC_OUT(); return; @@ -8090,7 +8091,7 @@ L_08993678: aot_gpr_4 = (2279u << 16u); aot_gpr_5 = (aot_gpr_17 | 0u); aot_gpr_6 = (0u | 32u); - ctx.gpr[31] = (0x08993690u); + aot_gpr_31 = (0x08993690u); aot_gpr_4 = (aot_gpr_4 + static_cast(17904)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08993690u) goto L_08993690; AOT_REGCACHE_SYNC_OUT(); return; @@ -8099,7 +8100,7 @@ L_08993690: aot_gpr_4 = (2279u << 16u); aot_gpr_5 = (aot_gpr_17 | 0u); aot_gpr_6 = (0u | 32u); - ctx.gpr[31] = (0x089936A8u); + aot_gpr_31 = (0x089936A8u); aot_gpr_4 = (aot_gpr_4 + static_cast(17936)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089936A8u) goto L_089936A8; AOT_REGCACHE_SYNC_OUT(); return; @@ -8108,247 +8109,247 @@ L_089936A8: aot_gpr_4 = (2240u << 16u); aot_gpr_5 = (aot_gpr_17 | 0u); aot_gpr_6 = (0u | 24u); - ctx.gpr[31] = (0x089936C0u); + aot_gpr_31 = (0x089936C0u); aot_gpr_4 = (aot_gpr_4 + static_cast(-23472)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089936C0u) goto L_089936C0; AOT_REGCACHE_SYNC_OUT(); return; L_089936C0: aot_gpr_17 = (aot_gpr_17 + static_cast(24)); - aot_gpr_4 = (aot_gpr_28 + static_cast(8180)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(8180)); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x089936D4u); + aot_gpr_31 = (0x089936D4u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089936D4u) goto L_089936D4; AOT_REGCACHE_SYNC_OUT(); return; L_089936D4: aot_gpr_17 = (aot_gpr_17 + static_cast(4)); - aot_gpr_4 = (aot_gpr_28 + static_cast(8184)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(8184)); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x089936E8u); + aot_gpr_31 = (0x089936E8u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089936E8u) goto L_089936E8; AOT_REGCACHE_SYNC_OUT(); return; L_089936E8: aot_gpr_17 = (aot_gpr_17 + static_cast(4)); - aot_gpr_4 = (aot_gpr_28 + static_cast(8188)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(8188)); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x089936FCu); + aot_gpr_31 = (0x089936FCu); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089936FCu) goto L_089936FC; AOT_REGCACHE_SYNC_OUT(); return; L_089936FC: aot_gpr_17 = (aot_gpr_17 + static_cast(4)); - aot_gpr_4 = (aot_gpr_28 + static_cast(8192)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(8192)); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x08993710u); + aot_gpr_31 = (0x08993710u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08993710u) goto L_08993710; AOT_REGCACHE_SYNC_OUT(); return; L_08993710: aot_gpr_17 = (aot_gpr_17 + static_cast(4)); - aot_gpr_4 = (aot_gpr_28 + static_cast(8296)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(8296)); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x08993724u); + aot_gpr_31 = (0x08993724u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08993724u) goto L_08993724; AOT_REGCACHE_SYNC_OUT(); return; L_08993724: aot_gpr_17 = (aot_gpr_17 + static_cast(4)); - aot_gpr_4 = (aot_gpr_28 + static_cast(8300)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(8300)); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x08993738u); + aot_gpr_31 = (0x08993738u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08993738u) goto L_08993738; AOT_REGCACHE_SYNC_OUT(); return; L_08993738: aot_gpr_17 = (aot_gpr_17 + static_cast(4)); - aot_gpr_4 = (aot_gpr_28 + static_cast(8304)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(8304)); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x0899374Cu); + aot_gpr_31 = (0x0899374Cu); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899374Cu) goto L_0899374C; AOT_REGCACHE_SYNC_OUT(); return; L_0899374C: aot_gpr_17 = (aot_gpr_17 + static_cast(4)); - aot_gpr_4 = (aot_gpr_28 + static_cast(8308)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(8308)); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x08993760u); + aot_gpr_31 = (0x08993760u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08993760u) goto L_08993760; AOT_REGCACHE_SYNC_OUT(); return; L_08993760: aot_gpr_17 = (aot_gpr_17 + static_cast(4)); - aot_gpr_4 = (aot_gpr_28 + static_cast(8168)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(8168)); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x08993774u); + aot_gpr_31 = (0x08993774u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08993774u) goto L_08993774; AOT_REGCACHE_SYNC_OUT(); return; L_08993774: aot_gpr_17 = (aot_gpr_17 + static_cast(4)); - aot_gpr_4 = (aot_gpr_28 + static_cast(8212)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(8212)); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x08993788u); + aot_gpr_31 = (0x08993788u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08993788u) goto L_08993788; AOT_REGCACHE_SYNC_OUT(); return; L_08993788: aot_gpr_17 = (aot_gpr_17 + static_cast(4)); - aot_gpr_4 = (aot_gpr_28 + static_cast(8216)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(8216)); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x0899379Cu); + aot_gpr_31 = (0x0899379Cu); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899379Cu) goto L_0899379C; AOT_REGCACHE_SYNC_OUT(); return; L_0899379C: aot_gpr_17 = (aot_gpr_17 + static_cast(4)); - aot_gpr_4 = (aot_gpr_28 + static_cast(8196)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(8196)); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x089937B0u); + aot_gpr_31 = (0x089937B0u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089937B0u) goto L_089937B0; AOT_REGCACHE_SYNC_OUT(); return; L_089937B0: aot_gpr_17 = (aot_gpr_17 + static_cast(4)); - aot_gpr_4 = (aot_gpr_28 + static_cast(8200)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(8200)); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x089937C4u); + aot_gpr_31 = (0x089937C4u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089937C4u) goto L_089937C4; AOT_REGCACHE_SYNC_OUT(); return; L_089937C4: aot_gpr_17 = (aot_gpr_17 + static_cast(4)); - aot_gpr_4 = (aot_gpr_28 + static_cast(8204)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(8204)); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x089937D8u); + aot_gpr_31 = (0x089937D8u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089937D8u) goto L_089937D8; AOT_REGCACHE_SYNC_OUT(); return; L_089937D8: aot_gpr_17 = (aot_gpr_17 + static_cast(4)); - aot_gpr_4 = (aot_gpr_28 + static_cast(8208)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(8208)); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x089937ECu); + aot_gpr_31 = (0x089937ECu); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089937ECu) goto L_089937EC; AOT_REGCACHE_SYNC_OUT(); return; L_089937EC: aot_gpr_17 = (aot_gpr_17 + static_cast(4)); - aot_gpr_4 = (aot_gpr_28 + static_cast(8220)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(8220)); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x08993800u); + aot_gpr_31 = (0x08993800u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08993800u) goto L_08993800; AOT_REGCACHE_SYNC_OUT(); return; L_08993800: aot_gpr_17 = (aot_gpr_17 + static_cast(4)); - aot_gpr_4 = (aot_gpr_28 + static_cast(8224)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(8224)); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x08993814u); + aot_gpr_31 = (0x08993814u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08993814u) goto L_08993814; AOT_REGCACHE_SYNC_OUT(); return; L_08993814: aot_gpr_17 = (aot_gpr_17 + static_cast(4)); - aot_gpr_4 = (aot_gpr_28 + static_cast(8228)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(8228)); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x08993828u); + aot_gpr_31 = (0x08993828u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08993828u) goto L_08993828; AOT_REGCACHE_SYNC_OUT(); return; L_08993828: aot_gpr_17 = (aot_gpr_17 + static_cast(4)); - aot_gpr_4 = (aot_gpr_28 + static_cast(8232)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(8232)); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x0899383Cu); + aot_gpr_31 = (0x0899383Cu); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899383Cu) goto L_0899383C; AOT_REGCACHE_SYNC_OUT(); return; L_0899383C: aot_gpr_17 = (aot_gpr_17 + static_cast(4)); - aot_gpr_4 = (aot_gpr_28 + static_cast(8236)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(8236)); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x08993850u); + aot_gpr_31 = (0x08993850u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08993850u) goto L_08993850; AOT_REGCACHE_SYNC_OUT(); return; L_08993850: aot_gpr_17 = (aot_gpr_17 + static_cast(4)); - aot_gpr_4 = (aot_gpr_28 + static_cast(8240)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(8240)); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x08993864u); + aot_gpr_31 = (0x08993864u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08993864u) goto L_08993864; AOT_REGCACHE_SYNC_OUT(); return; L_08993864: aot_gpr_17 = (aot_gpr_17 + static_cast(4)); - aot_gpr_4 = (aot_gpr_28 + static_cast(8244)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(8244)); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x08993878u); + aot_gpr_31 = (0x08993878u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08993878u) goto L_08993878; AOT_REGCACHE_SYNC_OUT(); return; L_08993878: aot_gpr_17 = (aot_gpr_17 + static_cast(4)); - aot_gpr_4 = (aot_gpr_28 + static_cast(8248)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(8248)); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x0899388Cu); + aot_gpr_31 = (0x0899388Cu); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899388Cu) goto L_0899388C; AOT_REGCACHE_SYNC_OUT(); return; L_0899388C: aot_gpr_17 = (aot_gpr_17 + static_cast(4)); - aot_gpr_4 = (aot_gpr_28 + static_cast(8252)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(8252)); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x089938A0u); + aot_gpr_31 = (0x089938A0u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089938A0u) goto L_089938A0; AOT_REGCACHE_SYNC_OUT(); return; L_089938A0: aot_gpr_17 = (aot_gpr_17 + static_cast(4)); - aot_gpr_4 = (aot_gpr_28 + static_cast(8256)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(8256)); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x089938B4u); + aot_gpr_31 = (0x089938B4u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089938B4u) goto L_089938B4; AOT_REGCACHE_SYNC_OUT(); return; L_089938B4: aot_gpr_17 = (aot_gpr_17 + static_cast(4)); - aot_gpr_4 = (aot_gpr_28 + static_cast(8172)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(8172)); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x089938C8u); + aot_gpr_31 = (0x089938C8u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089938C8u) goto L_089938C8; AOT_REGCACHE_SYNC_OUT(); return; L_089938C8: aot_gpr_17 = (aot_gpr_17 + static_cast(4)); - aot_gpr_4 = (aot_gpr_28 + static_cast(8176)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(8176)); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x089938DCu); + aot_gpr_31 = (0x089938DCu); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089938DCu) goto L_089938DC; AOT_REGCACHE_SYNC_OUT(); return; L_089938DC: aot_gpr_17 = (aot_gpr_17 + static_cast(4)); - aot_gpr_4 = (aot_gpr_28 + static_cast(8272)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(8272)); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x089938F0u); + aot_gpr_31 = (0x089938F0u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089938F0u) goto L_089938F0; AOT_REGCACHE_SYNC_OUT(); return; L_089938F0: aot_gpr_17 = (aot_gpr_17 + static_cast(4)); - aot_gpr_4 = (aot_gpr_28 + static_cast(8280)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(8280)); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x08993904u); + aot_gpr_31 = (0x08993904u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08993904u) goto L_08993904; AOT_REGCACHE_SYNC_OUT(); return; L_08993904: ctx.gpr[18] = (aot_gpr_17 + static_cast(4)); - aot_gpr_4 = (aot_gpr_28 + static_cast(8276)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(8276)); aot_gpr_5 = (ctx.gpr[18] | 0u); - ctx.gpr[31] = (0x08993918u); + aot_gpr_31 = (0x08993918u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08993918u) goto L_08993918; AOT_REGCACHE_SYNC_OUT(); return; @@ -8361,7 +8362,7 @@ L_08993918: L_08993928: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); - ctx.gpr[31] = (0x08993938u); + aot_gpr_31 = (0x08993938u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08993938u) goto L_08993938; AOT_REGCACHE_SYNC_OUT(); return; @@ -8382,9 +8383,9 @@ L_0899394C: aot_gpr_16 = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; - ctx.gpr[31] = aot_run_words[3]; + aot_gpr_31 = aot_run_words[3]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -8394,9 +8395,9 @@ L_08993964: ctx.gpr[29] = (ctx.gpr[29] + static_cast(-736)); aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(708), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); - { const std::uint32_t aot_run_words[5]{aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[5]{aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(712), aot_run_words); } - ctx.gpr[31] = (0x0899398Cu); + aot_gpr_31 = (0x0899398Cu); aot_gpr_17 = (0u | 0u); goto L_0899103C; L_0899398C: @@ -8432,14 +8433,14 @@ L_089939B8: } L_089939C0: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); - aot_gpr_4 = (aot_gpr_28 + static_cast(-15212)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(-15212)); aot_gpr_5 = (ctx.gpr[29] | 0u); aot_gpr_6 = (0u | 2u); ctx.gpr[7] = (0u | 0u); ctx.gpr[9] = (std::bit_cast(aot_fpr_12)); ctx.gpr[8] = (0u | 0u); aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), ctx.gpr[9]); - ctx.gpr[31] = (0x089939E8u); + aot_gpr_31 = (0x089939E8u); ctx.gpr[9] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0100_entry, 100u, 796u, 0x08996D78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089939E8u) goto L_089939E8; AOT_REGCACHE_SYNC_OUT(); return; @@ -8469,12 +8470,12 @@ L_089939F8: } L_08993A00: aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), std::bit_cast(aot_fpr_12)); - aot_gpr_4 = (aot_gpr_28 + static_cast(-15212)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(-15212)); aot_gpr_5 = (ctx.gpr[29] + static_cast(4)); aot_gpr_6 = (0u | 5u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 0u); - ctx.gpr[31] = (0x08993A20u); + aot_gpr_31 = (0x08993A20u); ctx.gpr[9] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0100_entry, 100u, 796u, 0x08996D78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08993A20u) goto L_08993A20; AOT_REGCACHE_SYNC_OUT(); return; @@ -8495,7 +8496,7 @@ L_08993A28: goto L_08993A30; } L_08993A30: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7660))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_5 = (0u | 60000u); { const std::uint32_t dividend = aot_gpr_4; const std::uint32_t divisor = aot_gpr_5; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } aot_gpr_5 = (0u | 60u); @@ -8518,21 +8519,21 @@ L_08993A30: } L_08993A70: { const bool branch_taken = 0u == 0u; - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7660))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); if (branch_taken) { goto L_08993AD0; } goto L_08993A78; } L_08993A78: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8124))); - aot_gpr_4 = (aot_gpr_28 + static_cast(-15204)); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8124))); + aot_gpr_4 = (ctx.gpr[28] + static_cast(-15204)); aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(8), aot_gpr_5); aot_gpr_5 = (ctx.gpr[29] + static_cast(8)); aot_gpr_6 = (0u | 0u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 0u); - ctx.gpr[31] = (0x08993A9Cu); + aot_gpr_31 = (0x08993A9Cu); ctx.gpr[9] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0100_entry, 100u, 796u, 0x08996D78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08993A9Cu) goto L_08993A9C; AOT_REGCACHE_SYNC_OUT(); return; @@ -8547,12 +8548,12 @@ L_08993A9C: L_08993AA4: aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(12), aot_gpr_4); aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(16), aot_gpr_5); - aot_gpr_4 = (aot_gpr_28 + static_cast(-15196)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(-15196)); aot_gpr_5 = (ctx.gpr[29] + static_cast(12)); ctx.gpr[7] = (ctx.gpr[29] + static_cast(16)); aot_gpr_6 = (0u | 0u); ctx.gpr[8] = (0u | 1u); - ctx.gpr[31] = (0x08993AC8u); + aot_gpr_31 = (0x08993AC8u); ctx.gpr[9] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0100_entry, 100u, 796u, 0x08996D78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08993AC8u) goto L_08993AC8; AOT_REGCACHE_SYNC_OUT(); return; @@ -8565,7 +8566,7 @@ L_08993AC8: goto L_08993AD0; } L_08993AD0: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-8140))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-8140))); aot_gpr_6 = (0u | 60000u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); { const std::uint32_t dividend = aot_gpr_4; const std::uint32_t divisor = aot_gpr_6; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } @@ -8607,12 +8608,12 @@ L_08993B20: L_08993B28: aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(20), aot_gpr_5); aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(24), aot_gpr_4); - aot_gpr_4 = (aot_gpr_28 + static_cast(-15188)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(-15188)); aot_gpr_5 = (ctx.gpr[29] + static_cast(20)); ctx.gpr[7] = (ctx.gpr[29] + static_cast(24)); aot_gpr_6 = (0u | 0u); ctx.gpr[8] = (0u | 1u); - ctx.gpr[31] = (0x08993B4Cu); + aot_gpr_31 = (0x08993B4Cu); ctx.gpr[9] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0100_entry, 100u, 796u, 0x08996D78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08993B4Cu) goto L_08993B4C; AOT_REGCACHE_SYNC_OUT(); return; @@ -8625,14 +8626,14 @@ L_08993B4C: goto L_08993B54; } L_08993B54: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8912))); - aot_gpr_4 = (aot_gpr_28 + static_cast(-15180)); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8912))); + aot_gpr_4 = (ctx.gpr[28] + static_cast(-15180)); aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(28), aot_gpr_5); aot_gpr_5 = (ctx.gpr[29] + static_cast(28)); aot_gpr_6 = (0u | 0u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 0u); - ctx.gpr[31] = (0x08993B78u); + aot_gpr_31 = (0x08993B78u); ctx.gpr[9] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0100_entry, 100u, 796u, 0x08996D78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08993B78u) goto L_08993B78; AOT_REGCACHE_SYNC_OUT(); return; @@ -8654,7 +8655,7 @@ L_08993B80: goto L_08993B8C; } L_08993B8C: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-10001))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-10001))); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_17 = (aot_gpr_17 + static_cast(1)); if (branch_taken) { @@ -8671,14 +8672,14 @@ L_08993B98: goto L_08993BA0; } L_08993BA0: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(9340))); - aot_gpr_4 = (aot_gpr_28 + static_cast(-15172)); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(9340))); + aot_gpr_4 = (ctx.gpr[28] + static_cast(-15172)); aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(32), aot_gpr_5); aot_gpr_5 = (ctx.gpr[29] + static_cast(32)); aot_gpr_6 = (0u | 0u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 0u); - ctx.gpr[31] = (0x08993BC4u); + aot_gpr_31 = (0x08993BC4u); ctx.gpr[9] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0100_entry, 100u, 796u, 0x08996D78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08993BC4u) goto L_08993BC4; AOT_REGCACHE_SYNC_OUT(); return; @@ -8692,14 +8693,14 @@ L_08993BC4: } L_08993BCC: { const bool branch_taken = aot_gpr_17 == aot_gpr_16; - aot_gpr_4 = (aot_gpr_28 + static_cast(-15164)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(-15164)); if (branch_taken) { goto L_08993BE8; } goto L_08993BD4; } L_08993BD4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8296))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8296))); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_17 = (aot_gpr_17 + static_cast(1)); if (branch_taken) { @@ -8720,7 +8721,7 @@ L_08993BE8: aot_gpr_6 = (0u | 0u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 0u); - ctx.gpr[31] = (0x08993C00u); + aot_gpr_31 = (0x08993C00u); ctx.gpr[9] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0100_entry, 100u, 796u, 0x08996D78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08993C00u) goto L_08993C00; AOT_REGCACHE_SYNC_OUT(); return; @@ -8741,7 +8742,7 @@ L_08993C08: goto L_08993C10; } L_08993C10: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8296))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8296))); aot_fpr_12 = std::bit_cast(aot_gpr_4); { const bool branch_taken = static_cast(aot_gpr_4) >= 0; aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); @@ -8757,12 +8758,12 @@ L_08993C20: goto L_08993C2C; L_08993C2C: aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(40), std::bit_cast(aot_fpr_12)); - aot_gpr_4 = (aot_gpr_28 + static_cast(-15156)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(-15156)); aot_gpr_5 = (ctx.gpr[29] + static_cast(40)); aot_gpr_6 = (0u | 3u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 0u); - ctx.gpr[31] = (0x08993C4Cu); + aot_gpr_31 = (0x08993C4Cu); ctx.gpr[9] = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0100_entry, 100u, 796u, 0x08996D78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08993C4Cu) goto L_08993C4C; AOT_REGCACHE_SYNC_OUT(); return; @@ -8778,7 +8779,7 @@ L_08993C54: aot_gpr_17 = (aot_gpr_17 + static_cast(1)); goto L_08993C58; L_08993C58: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8300))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8300))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -8795,7 +8796,7 @@ L_08993C64: goto L_08993C6C; } L_08993C6C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8300))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8300))); aot_fpr_12 = std::bit_cast(aot_gpr_4); { const bool branch_taken = static_cast(aot_gpr_4) >= 0; aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); @@ -8811,12 +8812,12 @@ L_08993C7C: goto L_08993C88; L_08993C88: aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(44), std::bit_cast(aot_fpr_12)); - aot_gpr_4 = (aot_gpr_28 + static_cast(-15148)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(-15148)); aot_gpr_5 = (ctx.gpr[29] + static_cast(44)); aot_gpr_6 = (0u | 3u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 0u); - ctx.gpr[31] = (0x08993CA8u); + aot_gpr_31 = (0x08993CA8u); ctx.gpr[9] = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0100_entry, 100u, 796u, 0x08996D78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08993CA8u) goto L_08993CA8; AOT_REGCACHE_SYNC_OUT(); return; @@ -8832,7 +8833,7 @@ L_08993CB0: aot_gpr_17 = (aot_gpr_17 + static_cast(1)); goto L_08993CB4; L_08993CB4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8304))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8304))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -8849,7 +8850,7 @@ L_08993CC0: goto L_08993CC8; } L_08993CC8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8304))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8304))); aot_fpr_12 = std::bit_cast(aot_gpr_4); { const bool branch_taken = static_cast(aot_gpr_4) >= 0; aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); @@ -8865,12 +8866,12 @@ L_08993CD8: goto L_08993CE4; L_08993CE4: aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(48), std::bit_cast(aot_fpr_12)); - aot_gpr_4 = (aot_gpr_28 + static_cast(-15140)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(-15140)); aot_gpr_5 = (ctx.gpr[29] + static_cast(48)); aot_gpr_6 = (0u | 3u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 0u); - ctx.gpr[31] = (0x08993D04u); + aot_gpr_31 = (0x08993D04u); ctx.gpr[9] = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0100_entry, 100u, 796u, 0x08996D78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08993D04u) goto L_08993D04; AOT_REGCACHE_SYNC_OUT(); return; @@ -8886,7 +8887,7 @@ L_08993D0C: aot_gpr_17 = (aot_gpr_17 + static_cast(1)); goto L_08993D10; L_08993D10: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8308))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8308))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -8903,7 +8904,7 @@ L_08993D1C: goto L_08993D24; } L_08993D24: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8308))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8308))); aot_fpr_12 = std::bit_cast(aot_gpr_4); { const bool branch_taken = static_cast(aot_gpr_4) >= 0; aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); @@ -8919,12 +8920,12 @@ L_08993D34: goto L_08993D40; L_08993D40: aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(52), std::bit_cast(aot_fpr_12)); - aot_gpr_4 = (aot_gpr_28 + static_cast(-15132)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(-15132)); aot_gpr_5 = (ctx.gpr[29] + static_cast(52)); aot_gpr_6 = (0u | 3u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 0u); - ctx.gpr[31] = (0x08993D60u); + aot_gpr_31 = (0x08993D60u); ctx.gpr[9] = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0100_entry, 100u, 796u, 0x08996D78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08993D60u) goto L_08993D60; AOT_REGCACHE_SYNC_OUT(); return; @@ -8940,7 +8941,7 @@ L_08993D68: aot_gpr_17 = (aot_gpr_17 + static_cast(1)); goto L_08993D6C; L_08993D6C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5844))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5844))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -8949,13 +8950,13 @@ L_08993D6C: goto L_08993D78; } L_08993D78: - ctx.gpr[31] = (0x08993D80u); + aot_gpr_31 = (0x08993D80u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 339u, 0x08B6572Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08993D80u) goto L_08993D80; AOT_REGCACHE_SYNC_OUT(); return; L_08993D80: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5844))); - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(8312))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5844))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(8312))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); { const bool branch_taken = static_cast(aot_gpr_5) <= 0; aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(36), aot_gpr_4); @@ -8981,14 +8982,14 @@ L_08993D9C: goto L_08993DA4; } L_08993DA4: - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(8312))); - aot_gpr_4 = (aot_gpr_28 + static_cast(-15124)); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(8312))); + aot_gpr_4 = (ctx.gpr[28] + static_cast(-15124)); aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(56), aot_gpr_5); aot_gpr_5 = (ctx.gpr[29] + static_cast(56)); ctx.gpr[7] = (ctx.gpr[29] + static_cast(36)); aot_gpr_6 = (0u | 0u); ctx.gpr[8] = (0u | 0u); - ctx.gpr[31] = (0x08993DC8u); + aot_gpr_31 = (0x08993DC8u); ctx.gpr[9] = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0100_entry, 100u, 796u, 0x08996D78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08993DC8u) goto L_08993DC8; AOT_REGCACHE_SYNC_OUT(); return; @@ -9001,7 +9002,7 @@ L_08993DC8: goto L_08993DD0; } L_08993DD0: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(8312))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(8312))); { const bool branch_taken = static_cast(aot_gpr_4) <= 0; // nop if (branch_taken) { @@ -9011,7 +9012,7 @@ L_08993DD0: } L_08993DDC: if (aot_gpr_17 == aot_gpr_16) { - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(8312))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(8312))); goto L_08993DEC; } goto L_08993DE4; @@ -9030,14 +9031,14 @@ L_08993DEC: aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_4 - aot_gpr_6); { const std::int32_t dividend = static_cast(aot_gpr_4); const std::int32_t divisor = static_cast(aot_gpr_5); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } - aot_gpr_4 = (aot_gpr_28 + static_cast(-15116)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(-15116)); aot_gpr_5 = (ctx.gpr[29] + static_cast(60)); aot_gpr_6 = (0u | 2u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 4u); ctx.gpr[10] = (ctx.lo); - ctx.gpr[31] = (0x08993E28u); + aot_gpr_31 = (0x08993E28u); aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(60), ctx.gpr[10]); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0100_entry, 100u, 796u, 0x08996D78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08993E28u) goto L_08993E28; AOT_REGCACHE_SYNC_OUT(); return; @@ -9050,7 +9051,7 @@ L_08993E28: goto L_08993E30; } L_08993E30: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(8313))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(8313))); { const bool branch_taken = static_cast(aot_gpr_4) <= 0; // nop if (branch_taken) { @@ -9060,7 +9061,7 @@ L_08993E30: } L_08993E3C: if (aot_gpr_17 == aot_gpr_16) { - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(8313))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(8313))); goto L_08993E4C; } goto L_08993E44; @@ -9079,14 +9080,14 @@ L_08993E4C: aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_4 - aot_gpr_6); { const std::int32_t dividend = static_cast(aot_gpr_4); const std::int32_t divisor = static_cast(aot_gpr_5); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } - aot_gpr_4 = (aot_gpr_28 + static_cast(-15108)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(-15108)); aot_gpr_5 = (ctx.gpr[29] + static_cast(64)); aot_gpr_6 = (0u | 2u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 4u); ctx.gpr[10] = (ctx.lo); - ctx.gpr[31] = (0x08993E88u); + aot_gpr_31 = (0x08993E88u); aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(64), ctx.gpr[10]); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0100_entry, 100u, 796u, 0x08996D78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08993E88u) goto L_08993E88; AOT_REGCACHE_SYNC_OUT(); return; @@ -9099,7 +9100,7 @@ L_08993E88: goto L_08993E90; } L_08993E90: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(8314))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(8314))); { const bool branch_taken = static_cast(aot_gpr_4) <= 0; // nop if (branch_taken) { @@ -9109,7 +9110,7 @@ L_08993E90: } L_08993E9C: if (aot_gpr_17 == aot_gpr_16) { - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(8314))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(8314))); goto L_08993EAC; } goto L_08993EA4; @@ -9128,14 +9129,14 @@ L_08993EAC: aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_4 - aot_gpr_6); { const std::int32_t dividend = static_cast(aot_gpr_4); const std::int32_t divisor = static_cast(aot_gpr_5); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } - aot_gpr_4 = (aot_gpr_28 + static_cast(-15100)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(-15100)); aot_gpr_5 = (ctx.gpr[29] + static_cast(68)); aot_gpr_6 = (0u | 2u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 4u); ctx.gpr[10] = (ctx.lo); - ctx.gpr[31] = (0x08993EE8u); + aot_gpr_31 = (0x08993EE8u); aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(68), ctx.gpr[10]); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0100_entry, 100u, 796u, 0x08996D78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08993EE8u) goto L_08993EE8; AOT_REGCACHE_SYNC_OUT(); return; @@ -9148,7 +9149,7 @@ L_08993EE8: goto L_08993EF0; } L_08993EF0: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(8315))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(8315))); { const bool branch_taken = static_cast(aot_gpr_4) <= 0; // nop if (branch_taken) { @@ -9158,7 +9159,7 @@ L_08993EF0: } L_08993EFC: if (aot_gpr_17 == aot_gpr_16) { - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(8315))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(8315))); goto L_08993F0C; } goto L_08993F04; @@ -9177,14 +9178,14 @@ L_08993F0C: aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_4 - aot_gpr_6); { const std::int32_t dividend = static_cast(aot_gpr_4); const std::int32_t divisor = static_cast(aot_gpr_5); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } - aot_gpr_4 = (aot_gpr_28 + static_cast(-15092)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(-15092)); aot_gpr_5 = (ctx.gpr[29] + static_cast(72)); aot_gpr_6 = (0u | 2u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 4u); ctx.gpr[10] = (ctx.lo); - ctx.gpr[31] = (0x08993F48u); + aot_gpr_31 = (0x08993F48u); aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(72), ctx.gpr[10]); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0100_entry, 100u, 796u, 0x08996D78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08993F48u) goto L_08993F48; AOT_REGCACHE_SYNC_OUT(); return; @@ -9197,8 +9198,8 @@ L_08993F48: goto L_08993F50; } L_08993F50: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8184))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8180))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8184))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8180))); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -9209,7 +9210,7 @@ L_08993F50: } L_08993F64: if (aot_gpr_17 == aot_gpr_16) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8180))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8180))); goto L_08993F74; } goto L_08993F6C; @@ -9222,21 +9223,21 @@ L_08993F6C: goto L_08993F74; } L_08993F74: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8184))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8184))); aot_gpr_6 = (aot_gpr_4 << 5u); ctx.gpr[7] = (aot_gpr_4 + aot_gpr_6); ctx.gpr[7] = (ctx.gpr[7] << 2u); aot_gpr_6 = (ctx.gpr[7] - aot_gpr_6); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); { const std::uint32_t dividend = aot_gpr_6; const std::uint32_t divisor = aot_gpr_4; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } - aot_gpr_4 = (aot_gpr_28 + static_cast(-15084)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(-15084)); aot_gpr_5 = (ctx.gpr[29] + static_cast(76)); aot_gpr_6 = (0u | 2u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 4u); ctx.gpr[10] = (ctx.lo); - ctx.gpr[31] = (0x08993FB4u); + aot_gpr_31 = (0x08993FB4u); aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(76), ctx.gpr[10]); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0100_entry, 100u, 796u, 0x08996D78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08993FB4u) goto L_08993FB4; AOT_REGCACHE_SYNC_OUT(); return; @@ -9249,8 +9250,8 @@ L_08993FB4: goto L_08993FBC; } L_08993FBC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8192))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8188))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8192))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8188))); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -9261,7 +9262,7 @@ L_08993FBC: } L_08993FD0: if (aot_gpr_17 == aot_gpr_16) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8188))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8188))); goto L_08993FE0; } goto L_08993FD8; @@ -9274,14 +9275,14 @@ L_08993FD8: goto L_08993FE0; } L_08993FE0: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8192))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8192))); aot_gpr_6 = (aot_gpr_4 << 5u); ctx.gpr[7] = (aot_gpr_4 + aot_gpr_6); ctx.gpr[7] = (ctx.gpr[7] << 2u); aot_gpr_6 = (ctx.gpr[7] - aot_gpr_6); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); { const std::uint32_t dividend = aot_gpr_6; const std::uint32_t divisor = aot_gpr_4; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } - aot_gpr_4 = (aot_gpr_28 + static_cast(-15076)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(-15076)); ctx.pc = 0x08994000u; AOT_REGCACHE_SYNC_OUT(); return; } diff --git a/profiles/vcs/generated/generated_unit_0100.cpp b/profiles/vcs/generated/generated_unit_0100.cpp index 4726bd2..d476800 100644 --- a/profiles/vcs/generated/generated_unit_0100.cpp +++ b/profiles/vcs/generated/generated_unit_0100.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0100[4095] = { }; void recomp_unit_0100_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,17,5,28,29,31 fprs=12,13,20,26 gpr_occ=3312 fpr_occ=471 gpr_total=5075 fpr_total=592 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,31,29,28,2 fprs=12,13,20,26 gpr_occ=3293 fpr_occ=480 gpr_total=5495 fpr_total=601 std::uint32_t aot_gpr_4 = ctx.gpr[4]; - std::uint32_t aot_gpr_17 = ctx.gpr[17]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; - std::uint32_t aot_gpr_28 = ctx.gpr[28]; - std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; + std::uint32_t aot_gpr_29 = ctx.gpr[29]; + std::uint32_t aot_gpr_28 = ctx.gpr[28]; + std::uint32_t aot_gpr_2 = ctx.gpr[2]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_20 = ctx.fpr[20]; float aot_fpr_26 = ctx.fpr[26]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[17] = aot_gpr_17; ctx.gpr[5] = aot_gpr_5; ctx.gpr[28] = aot_gpr_28; ctx.gpr[29] = aot_gpr_29; ctx.gpr[31] = aot_gpr_31; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; ctx.fpr[26] = aot_fpr_26; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_17 = ctx.gpr[17]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_28 = ctx.gpr[28]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_31 = ctx.gpr[31]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_26 = ctx.fpr[26]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[31] = aot_gpr_31; ctx.gpr[29] = aot_gpr_29; ctx.gpr[28] = aot_gpr_28; ctx.gpr[2] = aot_gpr_2; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; ctx.fpr[26] = aot_fpr_26; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_28 = ctx.gpr[28]; aot_gpr_2 = ctx.gpr[2]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_26 = ctx.fpr[26]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -1195,7 +1196,7 @@ L_08994000: goto L_08996D78; L_08994020: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } @@ -1252,7 +1253,7 @@ L_0899406C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0212_entry, 212u, 576u, 0x08B562D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08994084u) goto L_08994084; AOT_REGCACHE_SYNC_OUT(); return; L_08994084: - { const bool branch_taken = aot_gpr_17 == ctx.gpr[16]; + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; // nop if (branch_taken) { goto L_089940C4; @@ -1260,8 +1261,8 @@ L_08994084: goto L_0899408C; } L_0899408C: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - { const bool branch_taken = aot_gpr_17 == ctx.gpr[16]; + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; // nop if (branch_taken) { goto L_089940AC; @@ -1269,8 +1270,8 @@ L_0899408C: goto L_08994098; } L_08994098: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - { const bool branch_taken = aot_gpr_17 == ctx.gpr[16]; + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; // nop if (branch_taken) { goto L_089940E8; @@ -1294,7 +1295,7 @@ L_089940AC: AOT_REGCACHE_SYNC_OUT(); return; L_089940BC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } @@ -1311,7 +1312,7 @@ L_089940C4: goto L_08996D78; L_089940E0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } @@ -1334,14 +1335,14 @@ L_089940E8: goto L_08996D78; L_0899411C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } goto L_08994124; } L_08994124: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); ctx.gpr[18] = (ctx.gpr[18] + static_cast(1)); aot_gpr_4 = (static_cast(ctx.gpr[18]) < 6 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; @@ -1352,7 +1353,7 @@ L_08994124: goto L_08994138; } L_08994138: - { const bool branch_taken = aot_gpr_17 == ctx.gpr[16]; + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; // nop if (branch_taken) { goto L_08994154; @@ -1362,7 +1363,7 @@ L_08994138: L_08994140: aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_28 + static_cast(8156))); { const bool branch_taken = static_cast(aot_gpr_4) > 0; - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); if (branch_taken) { goto L_08994188; } @@ -1391,14 +1392,14 @@ L_08994154: goto L_08996D78; L_08994180: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } goto L_08994188; } L_08994188: - { const bool branch_taken = aot_gpr_17 == ctx.gpr[16]; + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; // nop if (branch_taken) { goto L_08994198; @@ -1407,7 +1408,7 @@ L_08994188: } L_08994190: { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); if (branch_taken) { goto L_089941CC; } @@ -1428,7 +1429,7 @@ L_08994198: goto L_08996D78; L_089941C4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } @@ -1444,7 +1445,7 @@ L_089941CC: goto L_089941D8; } L_089941D8: - { const bool branch_taken = aot_gpr_17 == ctx.gpr[16]; + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; // nop if (branch_taken) { goto L_089941F4; @@ -1452,8 +1453,8 @@ L_089941D8: goto L_089941E0; } L_089941E0: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - { const bool branch_taken = aot_gpr_17 == ctx.gpr[16]; + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; // nop if (branch_taken) { goto L_08994220; @@ -1481,7 +1482,7 @@ L_089941F4: goto L_08996D78; L_08994218: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } @@ -1500,15 +1501,15 @@ L_08994220: goto L_08996D78; L_08994244: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } goto L_0899424C; } L_0899424C: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - { const bool branch_taken = aot_gpr_17 == ctx.gpr[16]; + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; // nop if (branch_taken) { goto L_08994260; @@ -1517,7 +1518,7 @@ L_0899424C: } L_08994258: { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); if (branch_taken) { goto L_0899428C; } @@ -1536,14 +1537,14 @@ L_08994260: goto L_08996D78; L_08994284: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } goto L_0899428C; } L_0899428C: - { const bool branch_taken = aot_gpr_17 == ctx.gpr[16]; + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; // nop if (branch_taken) { goto L_089942A8; @@ -1551,8 +1552,8 @@ L_0899428C: goto L_08994294; } L_08994294: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - { const bool branch_taken = aot_gpr_17 == ctx.gpr[16]; + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; // nop if (branch_taken) { goto L_089942D4; @@ -1580,7 +1581,7 @@ L_089942A8: goto L_08996D78; L_089942CC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } @@ -1599,15 +1600,15 @@ L_089942D4: goto L_08996D78; L_089942F8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } goto L_08994300; } L_08994300: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - { const bool branch_taken = aot_gpr_17 == ctx.gpr[16]; + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; // nop if (branch_taken) { goto L_08994320; @@ -1615,8 +1616,8 @@ L_08994300: goto L_0899430C; } L_0899430C: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - { const bool branch_taken = aot_gpr_17 == ctx.gpr[16]; + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; // nop if (branch_taken) { goto L_0899434C; @@ -1644,7 +1645,7 @@ L_08994320: goto L_08996D78; L_08994344: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } @@ -1663,15 +1664,15 @@ L_0899434C: goto L_08996D78; L_08994370: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } goto L_08994378; } L_08994378: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - { const bool branch_taken = aot_gpr_17 == ctx.gpr[16]; + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; // nop if (branch_taken) { goto L_08994398; @@ -1679,8 +1680,8 @@ L_08994378: goto L_08994384; } L_08994384: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - { const bool branch_taken = aot_gpr_17 == ctx.gpr[16]; + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; // nop if (branch_taken) { goto L_089943C4; @@ -1708,7 +1709,7 @@ L_08994398: goto L_08996D78; L_089943BC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } @@ -1727,15 +1728,15 @@ L_089943C4: goto L_08996D78; L_089943E8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } goto L_089943F0; } L_089943F0: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - { const bool branch_taken = aot_gpr_17 == ctx.gpr[16]; + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; // nop if (branch_taken) { goto L_08994410; @@ -1743,8 +1744,8 @@ L_089943F0: goto L_089943FC; } L_089943FC: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - { const bool branch_taken = aot_gpr_17 == ctx.gpr[16]; + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; // nop if (branch_taken) { goto L_0899443C; @@ -1772,7 +1773,7 @@ L_08994410: goto L_08996D78; L_08994434: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } @@ -1791,15 +1792,15 @@ L_0899443C: goto L_08996D78; L_08994460: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } goto L_08994468; } L_08994468: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - { const bool branch_taken = aot_gpr_17 == ctx.gpr[16]; + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; // nop if (branch_taken) { goto L_0899448C; @@ -1810,7 +1811,7 @@ L_08994474: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-15220))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8912))); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); if (branch_taken) { goto L_089944B8; } @@ -1837,7 +1838,7 @@ L_0899448C: goto L_08996D78; L_089944B0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } @@ -1872,14 +1873,14 @@ L_089944E4: aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-15216), aot_gpr_4); goto L_08994500; L_08994500: - if (aot_gpr_17 == ctx.gpr[16]) { + if (ctx.gpr[17] == ctx.gpr[16]) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-15216))); goto L_08994510; } goto L_08994508; L_08994508: { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); if (branch_taken) { goto L_08994540; } @@ -1899,7 +1900,7 @@ L_08994510: goto L_08996D78; L_08994538: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } @@ -1982,7 +1983,7 @@ L_089945B8: goto L_089945C0; } L_089945C0: - { const bool branch_taken = aot_gpr_17 != ctx.gpr[16]; + { const bool branch_taken = ctx.gpr[17] != ctx.gpr[16]; // nop if (branch_taken) { goto L_089946C8; @@ -2139,17 +2140,17 @@ L_089946B0: AOT_REGCACHE_SYNC_OUT(); return; L_089946C0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } goto L_089946C8; } L_089946C8: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); goto L_089946CC; L_089946CC: - { const bool branch_taken = aot_gpr_17 == ctx.gpr[16]; + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; aot_gpr_4 = (2279u << 16u); if (branch_taken) { goto L_089946E8; @@ -2157,8 +2158,8 @@ L_089946CC: goto L_089946D4; } L_089946D4: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - { const bool branch_taken = aot_gpr_17 == ctx.gpr[16]; + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; // nop if (branch_taken) { goto L_08994728; @@ -2191,7 +2192,7 @@ L_089946E8: goto L_08996D78; L_08994720: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } @@ -2212,15 +2213,15 @@ L_08994728: goto L_08996D78; L_08994754: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } goto L_0899475C; } L_0899475C: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - { const bool branch_taken = aot_gpr_17 == ctx.gpr[16]; + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; // nop if (branch_taken) { goto L_0899477C; @@ -2228,8 +2229,8 @@ L_0899475C: goto L_08994768; } L_08994768: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - { const bool branch_taken = aot_gpr_17 == ctx.gpr[16]; + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; // nop if (branch_taken) { goto L_089947A8; @@ -2257,7 +2258,7 @@ L_0899477C: goto L_08996D78; L_089947A0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } @@ -2276,15 +2277,15 @@ L_089947A8: goto L_08996D78; L_089947CC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } goto L_089947D4; } L_089947D4: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - { const bool branch_taken = aot_gpr_17 == ctx.gpr[16]; + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; // nop if (branch_taken) { goto L_089947F4; @@ -2292,8 +2293,8 @@ L_089947D4: goto L_089947E0; } L_089947E0: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - { const bool branch_taken = aot_gpr_17 == ctx.gpr[16]; + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; // nop if (branch_taken) { goto L_08994820; @@ -2321,7 +2322,7 @@ L_089947F4: goto L_08996D78; L_08994818: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } @@ -2362,7 +2363,7 @@ L_0899485C: goto L_08996D78; L_0899487C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } @@ -2371,7 +2372,7 @@ L_0899487C: L_08994884: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7872))); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); if (branch_taken) { goto L_089948A0; } @@ -2428,7 +2429,7 @@ L_089948CC: goto L_089948D4; } L_089948D4: - { const bool branch_taken = aot_gpr_17 == ctx.gpr[16]; + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; aot_gpr_4 = (17616u << 16u); if (branch_taken) { goto L_089948F4; @@ -2436,8 +2437,8 @@ L_089948D4: goto L_089948DC; } L_089948DC: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - { const bool branch_taken = aot_gpr_17 == ctx.gpr[16]; + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; aot_gpr_4 = (17616u << 16u); if (branch_taken) { goto L_0899492C; @@ -2471,7 +2472,7 @@ L_089948F4: goto L_08996D78; L_08994924: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } @@ -2493,15 +2494,15 @@ L_0899492C: goto L_08996D78; L_0899495C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } goto L_08994964; } L_08994964: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - { const bool branch_taken = aot_gpr_17 == ctx.gpr[16]; + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; aot_gpr_4 = (17616u << 16u); if (branch_taken) { goto L_08994988; @@ -2509,8 +2510,8 @@ L_08994964: goto L_08994970; } L_08994970: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - { const bool branch_taken = aot_gpr_17 == ctx.gpr[16]; + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; aot_gpr_4 = (17616u << 16u); if (branch_taken) { goto L_089949C0; @@ -2544,7 +2545,7 @@ L_08994988: goto L_08996D78; L_089949B8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } @@ -2566,15 +2567,15 @@ L_089949C0: goto L_08996D78; L_089949F0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } goto L_089949F8; } L_089949F8: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - { const bool branch_taken = aot_gpr_17 == ctx.gpr[16]; + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; aot_gpr_4 = (17616u << 16u); if (branch_taken) { goto L_08994A1C; @@ -2582,8 +2583,8 @@ L_089949F8: goto L_08994A04; } L_08994A04: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - { const bool branch_taken = aot_gpr_17 == ctx.gpr[16]; + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; aot_gpr_4 = (17616u << 16u); if (branch_taken) { goto L_08994A54; @@ -2617,7 +2618,7 @@ L_08994A1C: goto L_08996D78; L_08994A4C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } @@ -2639,22 +2640,22 @@ L_08994A54: goto L_08996D78; L_08994A84: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } goto L_08994A8C; } L_08994A8C: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - if (aot_gpr_17 == ctx.gpr[16]) { + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + if (ctx.gpr[17] == ctx.gpr[16]) { aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(9084))); goto L_08994AA0; } goto L_08994A98; L_08994A98: { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); if (branch_taken) { goto L_08994D2C; } @@ -2686,21 +2687,21 @@ L_08994AA0: goto L_08996D78; L_08994AF8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } goto L_08994B00; } L_08994B00: - if (aot_gpr_17 == ctx.gpr[16]) { + if (ctx.gpr[17] == ctx.gpr[16]) { aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(9084))); goto L_08994B20; } goto L_08994B08; L_08994B08: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - if (aot_gpr_17 == ctx.gpr[16]) { + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + if (ctx.gpr[17] == ctx.gpr[16]) { aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(9080))); goto L_08994B58; } @@ -2732,7 +2733,7 @@ L_08994B20: goto L_08996D78; L_08994B50: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } @@ -2754,22 +2755,22 @@ L_08994B58: goto L_08996D78; L_08994B88: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } goto L_08994B90; } L_08994B90: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - if (aot_gpr_17 == ctx.gpr[16]) { + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + if (ctx.gpr[17] == ctx.gpr[16]) { aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(9068))); goto L_08994BB4; } goto L_08994B9C; L_08994B9C: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - if (aot_gpr_17 == ctx.gpr[16]) { + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + if (ctx.gpr[17] == ctx.gpr[16]) { aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(9072))); goto L_08994BEC; } @@ -2801,7 +2802,7 @@ L_08994BB4: goto L_08996D78; L_08994BE4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } @@ -2823,22 +2824,22 @@ L_08994BEC: goto L_08996D78; L_08994C1C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } goto L_08994C24; } L_08994C24: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - if (aot_gpr_17 == ctx.gpr[16]) { + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + if (ctx.gpr[17] == ctx.gpr[16]) { aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(9076))); goto L_08994C48; } goto L_08994C30; L_08994C30: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - if (aot_gpr_17 == ctx.gpr[16]) { + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + if (ctx.gpr[17] == ctx.gpr[16]) { aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(9064))); goto L_08994C80; } @@ -2870,7 +2871,7 @@ L_08994C48: goto L_08996D78; L_08994C78: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } @@ -2892,22 +2893,22 @@ L_08994C80: goto L_08996D78; L_08994CB0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } goto L_08994CB8; } L_08994CB8: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - if (aot_gpr_17 == ctx.gpr[16]) { + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + if (ctx.gpr[17] == ctx.gpr[16]) { aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(9084))); goto L_08994CCC; } goto L_08994CC4; L_08994CC4: { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); if (branch_taken) { goto L_08994D2C; } @@ -2939,21 +2940,21 @@ L_08994CCC: goto L_08996D78; L_08994D24: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } goto L_08994D2C; } L_08994D2C: - if (aot_gpr_17 == ctx.gpr[16]) { + if (ctx.gpr[17] == ctx.gpr[16]) { aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8088))); goto L_08994D4C; } goto L_08994D34; L_08994D34: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - if (aot_gpr_17 == ctx.gpr[16]) { + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + if (ctx.gpr[17] == ctx.gpr[16]) { aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8092))); goto L_08994D84; } @@ -2985,7 +2986,7 @@ L_08994D4C: goto L_08996D78; L_08994D7C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } @@ -3007,15 +3008,15 @@ L_08994D84: goto L_08996D78; L_08994DB4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } goto L_08994DBC; } L_08994DBC: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - { const bool branch_taken = aot_gpr_17 == ctx.gpr[16]; + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; // nop if (branch_taken) { goto L_08994DDC; @@ -3023,8 +3024,8 @@ L_08994DBC: goto L_08994DC8; } L_08994DC8: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - { const bool branch_taken = aot_gpr_17 == ctx.gpr[16]; + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; // nop if (branch_taken) { goto L_08994E08; @@ -3052,7 +3053,7 @@ L_08994DDC: goto L_08996D78; L_08994E00: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } @@ -3071,15 +3072,15 @@ L_08994E08: goto L_08996D78; L_08994E2C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } goto L_08994E34; } L_08994E34: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - { const bool branch_taken = aot_gpr_17 == ctx.gpr[16]; + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; aot_gpr_4 = (aot_gpr_28 + static_cast(-14628)); if (branch_taken) { goto L_08994E74; @@ -3091,7 +3092,7 @@ L_08994E40: aot_gpr_4 = (aot_gpr_4 + static_cast(-1)); aot_gpr_4 = (aot_gpr_4 < static_cast(12) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); if (branch_taken) { goto L_089953A4; } @@ -3120,14 +3121,14 @@ L_08994E74: goto L_08996D78; L_08994E8C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } goto L_08994E94; } L_08994E94: - { const bool branch_taken = aot_gpr_17 != ctx.gpr[16]; + { const bool branch_taken = ctx.gpr[17] != ctx.gpr[16]; aot_gpr_4 = (2238u << 16u); if (branch_taken) { goto L_08994EF8; @@ -3152,8 +3153,8 @@ L_08994EB0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08994EBCu) goto L_08994EBC; AOT_REGCACHE_SYNC_OUT(); return; L_08994EBC: - aot_gpr_17 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_08994ED4; @@ -3162,11 +3163,11 @@ L_08994EBC: } L_08994EC8: aot_gpr_31 = (0x08994ED0u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08994ED0u) goto L_08994ED0; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08994ED0u) goto L_08994ED0; AOT_REGCACHE_SYNC_OUT(); return; L_08994ED0: - ctx.gpr[16] = (aot_gpr_17 | 0u); + ctx.gpr[16] = (ctx.gpr[17] | 0u); goto L_08994ED4; L_08994ED4: aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[16]); @@ -3180,12 +3181,12 @@ L_08994ED8: L_08994EE4: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08994EF0u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0032_entry, 32u, 851u, 0x08887B80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08994EF0u) goto L_08994EF0; AOT_REGCACHE_SYNC_OUT(); return; L_08994EF0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } @@ -3193,14 +3194,14 @@ L_08994EF0: } L_08994EF8: { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); if (branch_taken) { goto L_0899540C; } goto L_08994F00; } L_08994F00: - { const bool branch_taken = aot_gpr_17 != ctx.gpr[16]; + { const bool branch_taken = ctx.gpr[17] != ctx.gpr[16]; aot_gpr_4 = (2238u << 16u); if (branch_taken) { goto L_08994F64; @@ -3225,8 +3226,8 @@ L_08994F1C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08994F28u) goto L_08994F28; AOT_REGCACHE_SYNC_OUT(); return; L_08994F28: - aot_gpr_17 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_08994F40; @@ -3235,11 +3236,11 @@ L_08994F28: } L_08994F34: aot_gpr_31 = (0x08994F3Cu); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08994F3Cu) goto L_08994F3C; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08994F3Cu) goto L_08994F3C; AOT_REGCACHE_SYNC_OUT(); return; L_08994F3C: - ctx.gpr[16] = (aot_gpr_17 | 0u); + ctx.gpr[16] = (ctx.gpr[17] | 0u); goto L_08994F40; L_08994F40: aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[16]); @@ -3253,12 +3254,12 @@ L_08994F44: L_08994F50: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08994F5Cu); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0032_entry, 32u, 851u, 0x08887B80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08994F5Cu) goto L_08994F5C; AOT_REGCACHE_SYNC_OUT(); return; L_08994F5C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } @@ -3266,14 +3267,14 @@ L_08994F5C: } L_08994F64: { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); if (branch_taken) { goto L_0899540C; } goto L_08994F6C; } L_08994F6C: - { const bool branch_taken = aot_gpr_17 != ctx.gpr[16]; + { const bool branch_taken = ctx.gpr[17] != ctx.gpr[16]; aot_gpr_4 = (2238u << 16u); if (branch_taken) { goto L_08994FD0; @@ -3298,8 +3299,8 @@ L_08994F88: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08994F94u) goto L_08994F94; AOT_REGCACHE_SYNC_OUT(); return; L_08994F94: - aot_gpr_17 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_08994FAC; @@ -3308,11 +3309,11 @@ L_08994F94: } L_08994FA0: aot_gpr_31 = (0x08994FA8u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08994FA8u) goto L_08994FA8; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08994FA8u) goto L_08994FA8; AOT_REGCACHE_SYNC_OUT(); return; L_08994FA8: - ctx.gpr[16] = (aot_gpr_17 | 0u); + ctx.gpr[16] = (ctx.gpr[17] | 0u); goto L_08994FAC; L_08994FAC: aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[16]); @@ -3326,12 +3327,12 @@ L_08994FB0: L_08994FBC: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08994FC8u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0032_entry, 32u, 851u, 0x08887B80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08994FC8u) goto L_08994FC8; AOT_REGCACHE_SYNC_OUT(); return; L_08994FC8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } @@ -3339,14 +3340,14 @@ L_08994FC8: } L_08994FD0: { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); if (branch_taken) { goto L_0899540C; } goto L_08994FD8; } L_08994FD8: - { const bool branch_taken = aot_gpr_17 != ctx.gpr[16]; + { const bool branch_taken = ctx.gpr[17] != ctx.gpr[16]; aot_gpr_4 = (2238u << 16u); if (branch_taken) { goto L_0899503C; @@ -3371,8 +3372,8 @@ L_08994FF4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08995000u) goto L_08995000; AOT_REGCACHE_SYNC_OUT(); return; L_08995000: - aot_gpr_17 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_08995018; @@ -3381,11 +3382,11 @@ L_08995000: } L_0899500C: aot_gpr_31 = (0x08995014u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08995014u) goto L_08995014; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08995014u) goto L_08995014; AOT_REGCACHE_SYNC_OUT(); return; L_08995014: - ctx.gpr[16] = (aot_gpr_17 | 0u); + ctx.gpr[16] = (ctx.gpr[17] | 0u); goto L_08995018; L_08995018: aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[16]); @@ -3399,12 +3400,12 @@ L_0899501C: L_08995028: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08995034u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0032_entry, 32u, 851u, 0x08887B80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08995034u) goto L_08995034; AOT_REGCACHE_SYNC_OUT(); return; L_08995034: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } @@ -3412,14 +3413,14 @@ L_08995034: } L_0899503C: { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); if (branch_taken) { goto L_0899540C; } goto L_08995044; } L_08995044: - { const bool branch_taken = aot_gpr_17 != ctx.gpr[16]; + { const bool branch_taken = ctx.gpr[17] != ctx.gpr[16]; aot_gpr_4 = (2238u << 16u); if (branch_taken) { goto L_089950A8; @@ -3444,8 +3445,8 @@ L_08995060: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899506Cu) goto L_0899506C; AOT_REGCACHE_SYNC_OUT(); return; L_0899506C: - aot_gpr_17 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_08995084; @@ -3454,11 +3455,11 @@ L_0899506C: } L_08995078: aot_gpr_31 = (0x08995080u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08995080u) goto L_08995080; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08995080u) goto L_08995080; AOT_REGCACHE_SYNC_OUT(); return; L_08995080: - ctx.gpr[16] = (aot_gpr_17 | 0u); + ctx.gpr[16] = (ctx.gpr[17] | 0u); goto L_08995084; L_08995084: aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[16]); @@ -3472,12 +3473,12 @@ L_08995088: L_08995094: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x089950A0u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0032_entry, 32u, 851u, 0x08887B80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089950A0u) goto L_089950A0; AOT_REGCACHE_SYNC_OUT(); return; L_089950A0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } @@ -3485,14 +3486,14 @@ L_089950A0: } L_089950A8: { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); if (branch_taken) { goto L_0899540C; } goto L_089950B0; } L_089950B0: - { const bool branch_taken = aot_gpr_17 != ctx.gpr[16]; + { const bool branch_taken = ctx.gpr[17] != ctx.gpr[16]; aot_gpr_4 = (2238u << 16u); if (branch_taken) { goto L_08995114; @@ -3517,8 +3518,8 @@ L_089950CC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089950D8u) goto L_089950D8; AOT_REGCACHE_SYNC_OUT(); return; L_089950D8: - aot_gpr_17 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_089950F0; @@ -3527,11 +3528,11 @@ L_089950D8: } L_089950E4: aot_gpr_31 = (0x089950ECu); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089950ECu) goto L_089950EC; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089950ECu) goto L_089950EC; AOT_REGCACHE_SYNC_OUT(); return; L_089950EC: - ctx.gpr[16] = (aot_gpr_17 | 0u); + ctx.gpr[16] = (ctx.gpr[17] | 0u); goto L_089950F0; L_089950F0: aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[16]); @@ -3545,12 +3546,12 @@ L_089950F4: L_08995100: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x0899510Cu); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0032_entry, 32u, 851u, 0x08887B80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899510Cu) goto L_0899510C; AOT_REGCACHE_SYNC_OUT(); return; L_0899510C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } @@ -3558,14 +3559,14 @@ L_0899510C: } L_08995114: { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); if (branch_taken) { goto L_0899540C; } goto L_0899511C; } L_0899511C: - { const bool branch_taken = aot_gpr_17 != ctx.gpr[16]; + { const bool branch_taken = ctx.gpr[17] != ctx.gpr[16]; aot_gpr_4 = (2238u << 16u); if (branch_taken) { goto L_08995180; @@ -3590,8 +3591,8 @@ L_08995138: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08995144u) goto L_08995144; AOT_REGCACHE_SYNC_OUT(); return; L_08995144: - aot_gpr_17 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_0899515C; @@ -3600,11 +3601,11 @@ L_08995144: } L_08995150: aot_gpr_31 = (0x08995158u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08995158u) goto L_08995158; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08995158u) goto L_08995158; AOT_REGCACHE_SYNC_OUT(); return; L_08995158: - ctx.gpr[16] = (aot_gpr_17 | 0u); + ctx.gpr[16] = (ctx.gpr[17] | 0u); goto L_0899515C; L_0899515C: aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[16]); @@ -3618,12 +3619,12 @@ L_08995160: L_0899516C: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08995178u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0032_entry, 32u, 851u, 0x08887B80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08995178u) goto L_08995178; AOT_REGCACHE_SYNC_OUT(); return; L_08995178: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } @@ -3631,14 +3632,14 @@ L_08995178: } L_08995180: { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); if (branch_taken) { goto L_0899540C; } goto L_08995188; } L_08995188: - { const bool branch_taken = aot_gpr_17 != ctx.gpr[16]; + { const bool branch_taken = ctx.gpr[17] != ctx.gpr[16]; aot_gpr_4 = (2238u << 16u); if (branch_taken) { goto L_089951EC; @@ -3663,8 +3664,8 @@ L_089951A4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089951B0u) goto L_089951B0; AOT_REGCACHE_SYNC_OUT(); return; L_089951B0: - aot_gpr_17 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_089951C8; @@ -3673,11 +3674,11 @@ L_089951B0: } L_089951BC: aot_gpr_31 = (0x089951C4u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089951C4u) goto L_089951C4; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089951C4u) goto L_089951C4; AOT_REGCACHE_SYNC_OUT(); return; L_089951C4: - ctx.gpr[16] = (aot_gpr_17 | 0u); + ctx.gpr[16] = (ctx.gpr[17] | 0u); goto L_089951C8; L_089951C8: aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[16]); @@ -3691,12 +3692,12 @@ L_089951CC: L_089951D8: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x089951E4u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0032_entry, 32u, 851u, 0x08887B80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089951E4u) goto L_089951E4; AOT_REGCACHE_SYNC_OUT(); return; L_089951E4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } @@ -3704,14 +3705,14 @@ L_089951E4: } L_089951EC: { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); if (branch_taken) { goto L_0899540C; } goto L_089951F4; } L_089951F4: - { const bool branch_taken = aot_gpr_17 != ctx.gpr[16]; + { const bool branch_taken = ctx.gpr[17] != ctx.gpr[16]; aot_gpr_4 = (2238u << 16u); if (branch_taken) { goto L_08995258; @@ -3736,8 +3737,8 @@ L_08995210: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899521Cu) goto L_0899521C; AOT_REGCACHE_SYNC_OUT(); return; L_0899521C: - aot_gpr_17 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_08995234; @@ -3746,11 +3747,11 @@ L_0899521C: } L_08995228: aot_gpr_31 = (0x08995230u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08995230u) goto L_08995230; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08995230u) goto L_08995230; AOT_REGCACHE_SYNC_OUT(); return; L_08995230: - ctx.gpr[16] = (aot_gpr_17 | 0u); + ctx.gpr[16] = (ctx.gpr[17] | 0u); goto L_08995234; L_08995234: aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[16]); @@ -3764,12 +3765,12 @@ L_08995238: L_08995244: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08995250u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0032_entry, 32u, 851u, 0x08887B80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08995250u) goto L_08995250; AOT_REGCACHE_SYNC_OUT(); return; L_08995250: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } @@ -3777,14 +3778,14 @@ L_08995250: } L_08995258: { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); if (branch_taken) { goto L_0899540C; } goto L_08995260; } L_08995260: - { const bool branch_taken = aot_gpr_17 != ctx.gpr[16]; + { const bool branch_taken = ctx.gpr[17] != ctx.gpr[16]; aot_gpr_4 = (2238u << 16u); if (branch_taken) { goto L_089952C4; @@ -3809,8 +3810,8 @@ L_0899527C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08995288u) goto L_08995288; AOT_REGCACHE_SYNC_OUT(); return; L_08995288: - aot_gpr_17 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_089952A0; @@ -3819,11 +3820,11 @@ L_08995288: } L_08995294: aot_gpr_31 = (0x0899529Cu); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899529Cu) goto L_0899529C; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899529Cu) goto L_0899529C; AOT_REGCACHE_SYNC_OUT(); return; L_0899529C: - ctx.gpr[16] = (aot_gpr_17 | 0u); + ctx.gpr[16] = (ctx.gpr[17] | 0u); goto L_089952A0; L_089952A0: aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[16]); @@ -3837,12 +3838,12 @@ L_089952A4: L_089952B0: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x089952BCu); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0032_entry, 32u, 851u, 0x08887B80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089952BCu) goto L_089952BC; AOT_REGCACHE_SYNC_OUT(); return; L_089952BC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } @@ -3850,14 +3851,14 @@ L_089952BC: } L_089952C4: { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); if (branch_taken) { goto L_0899540C; } goto L_089952CC; } L_089952CC: - { const bool branch_taken = aot_gpr_17 != ctx.gpr[16]; + { const bool branch_taken = ctx.gpr[17] != ctx.gpr[16]; aot_gpr_4 = (2238u << 16u); if (branch_taken) { goto L_08995330; @@ -3882,8 +3883,8 @@ L_089952E8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089952F4u) goto L_089952F4; AOT_REGCACHE_SYNC_OUT(); return; L_089952F4: - aot_gpr_17 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_0899530C; @@ -3892,11 +3893,11 @@ L_089952F4: } L_08995300: aot_gpr_31 = (0x08995308u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08995308u) goto L_08995308; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08995308u) goto L_08995308; AOT_REGCACHE_SYNC_OUT(); return; L_08995308: - ctx.gpr[16] = (aot_gpr_17 | 0u); + ctx.gpr[16] = (ctx.gpr[17] | 0u); goto L_0899530C; L_0899530C: aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[16]); @@ -3910,12 +3911,12 @@ L_08995310: L_0899531C: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08995328u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0032_entry, 32u, 851u, 0x08887B80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08995328u) goto L_08995328; AOT_REGCACHE_SYNC_OUT(); return; L_08995328: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } @@ -3923,14 +3924,14 @@ L_08995328: } L_08995330: { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); if (branch_taken) { goto L_0899540C; } goto L_08995338; } L_08995338: - { const bool branch_taken = aot_gpr_17 != ctx.gpr[16]; + { const bool branch_taken = ctx.gpr[17] != ctx.gpr[16]; aot_gpr_4 = (2238u << 16u); if (branch_taken) { goto L_0899539C; @@ -3955,8 +3956,8 @@ L_08995354: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08995360u) goto L_08995360; AOT_REGCACHE_SYNC_OUT(); return; L_08995360: - aot_gpr_17 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_08995378; @@ -3965,11 +3966,11 @@ L_08995360: } L_0899536C: aot_gpr_31 = (0x08995374u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08995374u) goto L_08995374; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08995374u) goto L_08995374; AOT_REGCACHE_SYNC_OUT(); return; L_08995374: - ctx.gpr[16] = (aot_gpr_17 | 0u); + ctx.gpr[16] = (ctx.gpr[17] | 0u); goto L_08995378; L_08995378: aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[16]); @@ -3983,12 +3984,12 @@ L_0899537C: L_08995388: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08995394u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0032_entry, 32u, 851u, 0x08887B80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08995394u) goto L_08995394; AOT_REGCACHE_SYNC_OUT(); return; L_08995394: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } @@ -3996,14 +3997,14 @@ L_08995394: } L_0899539C: { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); if (branch_taken) { goto L_0899540C; } goto L_089953A4; } L_089953A4: - { const bool branch_taken = aot_gpr_17 != ctx.gpr[16]; + { const bool branch_taken = ctx.gpr[17] != ctx.gpr[16]; aot_gpr_4 = (2238u << 16u); if (branch_taken) { goto L_08995408; @@ -4022,13 +4023,13 @@ L_089953AC: goto L_089953C0; } L_089953C0: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_31 = (0x089953CCu); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089953CCu) goto L_089953CC; AOT_REGCACHE_SYNC_OUT(); return; L_089953CC: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[18] == 0u; // nop if (branch_taken) { @@ -4039,13 +4040,13 @@ L_089953CC: L_089953D8: aot_gpr_31 = (0x089953E0u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089953E0u) goto L_089953E0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089953E0u) goto L_089953E0; AOT_REGCACHE_SYNC_OUT(); return; L_089953E0: - aot_gpr_17 = (ctx.gpr[18] | 0u); + ctx.gpr[17] = (ctx.gpr[18] | 0u); goto L_089953E4; L_089953E4: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); goto L_089953E8; L_089953E8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); @@ -4056,22 +4057,22 @@ L_089953E8: L_089953F4: aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08995400u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0032_entry, 32u, 851u, 0x08887B80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08995400u) goto L_08995400; AOT_REGCACHE_SYNC_OUT(); return; L_08995400: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } goto L_08995408; } L_08995408: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); goto L_0899540C; L_0899540C: - { const bool branch_taken = aot_gpr_17 == ctx.gpr[16]; + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; // nop if (branch_taken) { goto L_08995428; @@ -4079,8 +4080,8 @@ L_0899540C: goto L_08995414; } L_08995414: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - { const bool branch_taken = aot_gpr_17 == ctx.gpr[16]; + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; // nop if (branch_taken) { goto L_0899545C; @@ -4110,7 +4111,7 @@ L_08995428: goto L_08996D78; L_08995454: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } @@ -4129,15 +4130,15 @@ L_0899545C: goto L_08996D78; L_08995480: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } goto L_08995488; } L_08995488: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - { const bool branch_taken = aot_gpr_17 == ctx.gpr[16]; + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; // nop if (branch_taken) { goto L_089954A8; @@ -4145,8 +4146,8 @@ L_08995488: goto L_08995494; } L_08995494: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - { const bool branch_taken = aot_gpr_17 == ctx.gpr[16]; + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; // nop if (branch_taken) { goto L_089954D4; @@ -4174,7 +4175,7 @@ L_089954A8: goto L_08996D78; L_089954CC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } @@ -4193,15 +4194,15 @@ L_089954D4: goto L_08996D78; L_089954F8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } goto L_08995500; } L_08995500: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - { const bool branch_taken = aot_gpr_17 == ctx.gpr[16]; + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; // nop if (branch_taken) { goto L_08995520; @@ -4209,8 +4210,8 @@ L_08995500: goto L_0899550C; } L_0899550C: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - { const bool branch_taken = aot_gpr_17 == ctx.gpr[16]; + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; // nop if (branch_taken) { goto L_0899554C; @@ -4238,7 +4239,7 @@ L_08995520: goto L_08996D78; L_08995544: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } @@ -4257,15 +4258,15 @@ L_0899554C: goto L_08996D78; L_08995570: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } goto L_08995578; } L_08995578: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - { const bool branch_taken = aot_gpr_17 == ctx.gpr[16]; + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; // nop if (branch_taken) { goto L_08995598; @@ -4273,8 +4274,8 @@ L_08995578: goto L_08995584; } L_08995584: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - { const bool branch_taken = aot_gpr_17 == ctx.gpr[16]; + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; // nop if (branch_taken) { goto L_089955C4; @@ -4302,7 +4303,7 @@ L_08995598: goto L_08996D78; L_089955BC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } @@ -4321,7 +4322,7 @@ L_089955C4: goto L_08996D78; L_089955E8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } @@ -4330,14 +4331,14 @@ L_089955E8: L_089955F0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(9352))); { const bool branch_taken = static_cast(aot_gpr_4) <= 0; - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); if (branch_taken) { goto L_08995638; } goto L_089955FC; } L_089955FC: - { const bool branch_taken = aot_gpr_17 == ctx.gpr[16]; + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; // nop if (branch_taken) { goto L_0899560C; @@ -4346,7 +4347,7 @@ L_089955FC: } L_08995604: { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); if (branch_taken) { goto L_08995638; } @@ -4365,7 +4366,7 @@ L_0899560C: goto L_08996D78; L_08995630: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } @@ -4381,7 +4382,7 @@ L_08995638: goto L_08995644; } L_08995644: - { const bool branch_taken = aot_gpr_17 == ctx.gpr[16]; + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; // nop if (branch_taken) { goto L_08995654; @@ -4390,7 +4391,7 @@ L_08995644: } L_0899564C: { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); if (branch_taken) { goto L_08995680; } @@ -4409,7 +4410,7 @@ L_08995654: goto L_08996D78; L_08995678: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } @@ -4425,7 +4426,7 @@ L_08995680: goto L_0899568C; } L_0899568C: - { const bool branch_taken = aot_gpr_17 == ctx.gpr[16]; + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; // nop if (branch_taken) { goto L_0899569C; @@ -4434,7 +4435,7 @@ L_0899568C: } L_08995694: { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); if (branch_taken) { goto L_089956C8; } @@ -4453,7 +4454,7 @@ L_0899569C: goto L_08996D78; L_089956C0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } @@ -4469,14 +4470,14 @@ L_089956C8: goto L_089956D4; } L_089956D4: - if (aot_gpr_17 == ctx.gpr[16]) { + if (ctx.gpr[17] == ctx.gpr[16]) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8120))); goto L_089956E4; } goto L_089956DC; L_089956DC: { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); if (branch_taken) { goto L_08995714; } @@ -4496,7 +4497,7 @@ L_089956E4: goto L_08996D78; L_0899570C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } @@ -4512,7 +4513,7 @@ L_08995714: goto L_08995720; } L_08995720: - { const bool branch_taken = aot_gpr_17 == ctx.gpr[16]; + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; // nop if (branch_taken) { goto L_08995730; @@ -4521,7 +4522,7 @@ L_08995720: } L_08995728: { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); if (branch_taken) { goto L_0899575C; } @@ -4540,7 +4541,7 @@ L_08995730: goto L_08996D78; L_08995754: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } @@ -4556,7 +4557,7 @@ L_0899575C: goto L_08995768; } L_08995768: - { const bool branch_taken = aot_gpr_17 == ctx.gpr[16]; + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; // nop if (branch_taken) { goto L_08995778; @@ -4565,7 +4566,7 @@ L_08995768: } L_08995770: { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); if (branch_taken) { goto L_089957A4; } @@ -4584,7 +4585,7 @@ L_08995778: goto L_08996D78; L_0899579C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } @@ -4600,7 +4601,7 @@ L_089957A4: goto L_089957B0; } L_089957B0: - { const bool branch_taken = aot_gpr_17 == ctx.gpr[16]; + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; // nop if (branch_taken) { goto L_089957C0; @@ -4609,7 +4610,7 @@ L_089957B0: } L_089957B8: { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); if (branch_taken) { goto L_089957EC; } @@ -4628,7 +4629,7 @@ L_089957C0: goto L_08996D78; L_089957E4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } @@ -4644,7 +4645,7 @@ L_089957EC: goto L_089957F8; } L_089957F8: - { const bool branch_taken = aot_gpr_17 == ctx.gpr[16]; + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; // nop if (branch_taken) { goto L_08995808; @@ -4653,7 +4654,7 @@ L_089957F8: } L_08995800: { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); if (branch_taken) { goto L_08995834; } @@ -4672,7 +4673,7 @@ L_08995808: goto L_08996D78; L_0899582C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } @@ -4688,7 +4689,7 @@ L_08995834: goto L_08995840; } L_08995840: - { const bool branch_taken = aot_gpr_17 == ctx.gpr[16]; + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; // nop if (branch_taken) { goto L_08995850; @@ -4697,7 +4698,7 @@ L_08995840: } L_08995848: { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); if (branch_taken) { goto L_08995884; } @@ -4718,7 +4719,7 @@ L_08995850: goto L_08996D78; L_0899587C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } @@ -4734,14 +4735,14 @@ L_08995884: goto L_08995890; } L_08995890: - if (aot_gpr_17 == ctx.gpr[16]) { + if (ctx.gpr[17] == ctx.gpr[16]) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8196))); goto L_089958A0; } goto L_08995898; L_08995898: { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); if (branch_taken) { goto L_089958D0; } @@ -4761,7 +4762,7 @@ L_089958A0: goto L_08996D78; L_089958C8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } @@ -4780,7 +4781,7 @@ L_089958D0: goto L_089958E8; } L_089958E8: - { const bool branch_taken = aot_gpr_17 == ctx.gpr[16]; + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; // nop if (branch_taken) { goto L_089958F8; @@ -4789,7 +4790,7 @@ L_089958E8: } L_089958F0: { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); if (branch_taken) { goto L_08995934; } @@ -4803,11 +4804,11 @@ L_089958F8: L_08995900: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8200))); aot_gpr_31 = (0x0899590Cu); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(348), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(348), aot_gpr_2); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0099_entry, 99u, 314u, 0x08991574u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899590Cu) goto L_0899590C; AOT_REGCACHE_SYNC_OUT(); return; L_0899590C: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(352), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(352), aot_gpr_2); aot_gpr_4 = (aot_gpr_28 + static_cast(-14372)); aot_gpr_5 = (aot_gpr_29 + static_cast(348)); ctx.gpr[7] = (aot_gpr_29 + static_cast(352)); @@ -4818,7 +4819,7 @@ L_0899590C: goto L_08996D78; L_0899592C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } @@ -4837,7 +4838,7 @@ L_08995934: goto L_0899594C; } L_0899594C: - { const bool branch_taken = aot_gpr_17 == ctx.gpr[16]; + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; // nop if (branch_taken) { goto L_0899595C; @@ -4846,7 +4847,7 @@ L_0899594C: } L_08995954: { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); if (branch_taken) { goto L_08995998; } @@ -4860,11 +4861,11 @@ L_0899595C: L_08995964: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8204))); aot_gpr_31 = (0x08995970u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(356), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(356), aot_gpr_2); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0099_entry, 99u, 314u, 0x08991574u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08995970u) goto L_08995970; AOT_REGCACHE_SYNC_OUT(); return; L_08995970: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(360), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(360), aot_gpr_2); aot_gpr_4 = (aot_gpr_28 + static_cast(-14364)); aot_gpr_5 = (aot_gpr_29 + static_cast(356)); ctx.gpr[7] = (aot_gpr_29 + static_cast(360)); @@ -4875,7 +4876,7 @@ L_08995970: goto L_08996D78; L_08995990: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } @@ -4894,7 +4895,7 @@ L_08995998: goto L_089959B0; } L_089959B0: - { const bool branch_taken = aot_gpr_17 == ctx.gpr[16]; + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; // nop if (branch_taken) { goto L_089959C0; @@ -4903,7 +4904,7 @@ L_089959B0: } L_089959B8: { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); if (branch_taken) { goto L_089959FC; } @@ -4917,11 +4918,11 @@ L_089959C0: L_089959C8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8208))); aot_gpr_31 = (0x089959D4u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(364), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(364), aot_gpr_2); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0099_entry, 99u, 314u, 0x08991574u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089959D4u) goto L_089959D4; AOT_REGCACHE_SYNC_OUT(); return; L_089959D4: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(368), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(368), aot_gpr_2); aot_gpr_4 = (aot_gpr_28 + static_cast(-14356)); aot_gpr_5 = (aot_gpr_29 + static_cast(364)); ctx.gpr[7] = (aot_gpr_29 + static_cast(368)); @@ -4932,7 +4933,7 @@ L_089959D4: goto L_08996D78; L_089959F4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } @@ -4948,7 +4949,7 @@ L_089959FC: goto L_08995A08; } L_08995A08: - { const bool branch_taken = aot_gpr_17 == ctx.gpr[16]; + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; // nop if (branch_taken) { goto L_08995A18; @@ -4957,7 +4958,7 @@ L_08995A08: } L_08995A10: { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); if (branch_taken) { goto L_08995A44; } @@ -4976,7 +4977,7 @@ L_08995A18: goto L_08996D78; L_08995A3C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } @@ -4992,14 +4993,14 @@ L_08995A44: goto L_08995A50; } L_08995A50: - if (aot_gpr_17 == ctx.gpr[16]) { + if (ctx.gpr[17] == ctx.gpr[16]) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8212))); goto L_08995A60; } goto L_08995A58; L_08995A58: { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); if (branch_taken) { goto L_08995A90; } @@ -5019,7 +5020,7 @@ L_08995A60: goto L_08996D78; L_08995A88: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } @@ -5035,7 +5036,7 @@ L_08995A90: goto L_08995A9C; } L_08995A9C: - { const bool branch_taken = aot_gpr_17 == ctx.gpr[16]; + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; // nop if (branch_taken) { goto L_08995AAC; @@ -5044,7 +5045,7 @@ L_08995A9C: } L_08995AA4: { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); if (branch_taken) { goto L_08995AD8; } @@ -5063,7 +5064,7 @@ L_08995AAC: goto L_08996D78; L_08995AD0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } @@ -5079,7 +5080,7 @@ L_08995AD8: goto L_08995AE4; } L_08995AE4: - { const bool branch_taken = aot_gpr_17 == ctx.gpr[16]; + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; // nop if (branch_taken) { goto L_08995AF4; @@ -5088,7 +5089,7 @@ L_08995AE4: } L_08995AEC: { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); if (branch_taken) { goto L_08995B20; } @@ -5107,7 +5108,7 @@ L_08995AF4: goto L_08996D78; L_08995B18: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } @@ -5123,7 +5124,7 @@ L_08995B20: goto L_08995B2C; } L_08995B2C: - { const bool branch_taken = aot_gpr_17 == ctx.gpr[16]; + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; // nop if (branch_taken) { goto L_08995B3C; @@ -5132,7 +5133,7 @@ L_08995B2C: } L_08995B34: { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); if (branch_taken) { goto L_08995B68; } @@ -5151,7 +5152,7 @@ L_08995B3C: goto L_08996D78; L_08995B60: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } @@ -5167,7 +5168,7 @@ L_08995B68: goto L_08995B74; } L_08995B74: - { const bool branch_taken = aot_gpr_17 == ctx.gpr[16]; + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; // nop if (branch_taken) { goto L_08995B84; @@ -5176,7 +5177,7 @@ L_08995B74: } L_08995B7C: { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); if (branch_taken) { goto L_08995BB0; } @@ -5195,7 +5196,7 @@ L_08995B84: goto L_08996D78; L_08995BA8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } @@ -5211,7 +5212,7 @@ L_08995BB0: goto L_08995BBC; } L_08995BBC: - { const bool branch_taken = aot_gpr_17 == ctx.gpr[16]; + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; // nop if (branch_taken) { goto L_08995BCC; @@ -5220,7 +5221,7 @@ L_08995BBC: } L_08995BC4: { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); if (branch_taken) { goto L_08995BF8; } @@ -5239,7 +5240,7 @@ L_08995BCC: goto L_08996D78; L_08995BF0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } @@ -5255,7 +5256,7 @@ L_08995BF8: goto L_08995C04; } L_08995C04: - { const bool branch_taken = aot_gpr_17 == ctx.gpr[16]; + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; // nop if (branch_taken) { goto L_08995C14; @@ -5264,7 +5265,7 @@ L_08995C04: } L_08995C0C: { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); if (branch_taken) { goto L_08995C40; } @@ -5283,7 +5284,7 @@ L_08995C14: goto L_08996D78; L_08995C38: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } @@ -5302,7 +5303,7 @@ L_08995C40: goto L_08995C58; } L_08995C58: - { const bool branch_taken = aot_gpr_17 == ctx.gpr[16]; + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; // nop if (branch_taken) { goto L_08995C68; @@ -5311,7 +5312,7 @@ L_08995C58: } L_08995C60: { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); if (branch_taken) { goto L_08995CA4; } @@ -5325,11 +5326,11 @@ L_08995C68: L_08995C70: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8240))); aot_gpr_31 = (0x08995C7Cu); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(404), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(404), aot_gpr_2); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0099_entry, 99u, 314u, 0x08991574u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08995C7Cu) goto L_08995C7C; AOT_REGCACHE_SYNC_OUT(); return; L_08995C7C: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(408), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(408), aot_gpr_2); aot_gpr_4 = (aot_gpr_28 + static_cast(-14284)); aot_gpr_5 = (aot_gpr_29 + static_cast(404)); ctx.gpr[7] = (aot_gpr_29 + static_cast(408)); @@ -5340,7 +5341,7 @@ L_08995C7C: goto L_08996D78; L_08995C9C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } @@ -5359,7 +5360,7 @@ L_08995CA4: goto L_08995CBC; } L_08995CBC: - { const bool branch_taken = aot_gpr_17 == ctx.gpr[16]; + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; // nop if (branch_taken) { goto L_08995CCC; @@ -5368,7 +5369,7 @@ L_08995CBC: } L_08995CC4: { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); if (branch_taken) { goto L_08995D08; } @@ -5382,11 +5383,11 @@ L_08995CCC: L_08995CD4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8244))); aot_gpr_31 = (0x08995CE0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(412), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(412), aot_gpr_2); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0099_entry, 99u, 314u, 0x08991574u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08995CE0u) goto L_08995CE0; AOT_REGCACHE_SYNC_OUT(); return; L_08995CE0: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(416), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(416), aot_gpr_2); aot_gpr_4 = (aot_gpr_28 + static_cast(-14276)); aot_gpr_5 = (aot_gpr_29 + static_cast(412)); ctx.gpr[7] = (aot_gpr_29 + static_cast(416)); @@ -5397,7 +5398,7 @@ L_08995CE0: goto L_08996D78; L_08995D00: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } @@ -5416,7 +5417,7 @@ L_08995D08: goto L_08995D20; } L_08995D20: - { const bool branch_taken = aot_gpr_17 == ctx.gpr[16]; + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; // nop if (branch_taken) { goto L_08995D30; @@ -5425,7 +5426,7 @@ L_08995D20: } L_08995D28: { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); if (branch_taken) { goto L_08995D6C; } @@ -5439,11 +5440,11 @@ L_08995D30: L_08995D38: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8248))); aot_gpr_31 = (0x08995D44u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(420), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(420), aot_gpr_2); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0099_entry, 99u, 314u, 0x08991574u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08995D44u) goto L_08995D44; AOT_REGCACHE_SYNC_OUT(); return; L_08995D44: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(424), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(424), aot_gpr_2); aot_gpr_4 = (aot_gpr_28 + static_cast(-14268)); aot_gpr_5 = (aot_gpr_29 + static_cast(420)); ctx.gpr[7] = (aot_gpr_29 + static_cast(424)); @@ -5454,7 +5455,7 @@ L_08995D44: goto L_08996D78; L_08995D64: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } @@ -5473,7 +5474,7 @@ L_08995D6C: goto L_08995D84; } L_08995D84: - { const bool branch_taken = aot_gpr_17 == ctx.gpr[16]; + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; // nop if (branch_taken) { goto L_08995D94; @@ -5482,7 +5483,7 @@ L_08995D84: } L_08995D8C: { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); if (branch_taken) { goto L_08995DD0; } @@ -5496,11 +5497,11 @@ L_08995D94: L_08995D9C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8252))); aot_gpr_31 = (0x08995DA8u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(428), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(428), aot_gpr_2); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0099_entry, 99u, 314u, 0x08991574u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08995DA8u) goto L_08995DA8; AOT_REGCACHE_SYNC_OUT(); return; L_08995DA8: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(432), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(432), aot_gpr_2); aot_gpr_4 = (aot_gpr_28 + static_cast(-14260)); aot_gpr_5 = (aot_gpr_29 + static_cast(428)); ctx.gpr[7] = (aot_gpr_29 + static_cast(432)); @@ -5511,7 +5512,7 @@ L_08995DA8: goto L_08996D78; L_08995DC8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } @@ -5530,7 +5531,7 @@ L_08995DD0: goto L_08995DE8; } L_08995DE8: - { const bool branch_taken = aot_gpr_17 == ctx.gpr[16]; + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; // nop if (branch_taken) { goto L_08995DF8; @@ -5539,7 +5540,7 @@ L_08995DE8: } L_08995DF0: { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); if (branch_taken) { goto L_08995E34; } @@ -5553,11 +5554,11 @@ L_08995DF8: L_08995E00: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8256))); aot_gpr_31 = (0x08995E0Cu); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(436), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(436), aot_gpr_2); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0099_entry, 99u, 314u, 0x08991574u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08995E0Cu) goto L_08995E0C; AOT_REGCACHE_SYNC_OUT(); return; L_08995E0C: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(440), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(440), aot_gpr_2); aot_gpr_4 = (aot_gpr_28 + static_cast(-14252)); aot_gpr_5 = (aot_gpr_29 + static_cast(436)); ctx.gpr[7] = (aot_gpr_29 + static_cast(440)); @@ -5568,7 +5569,7 @@ L_08995E0C: goto L_08996D78; L_08995E2C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } @@ -5584,7 +5585,7 @@ L_08995E34: goto L_08995E40; } L_08995E40: - { const bool branch_taken = aot_gpr_17 == ctx.gpr[16]; + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; // nop if (branch_taken) { goto L_08995E5C; @@ -5592,8 +5593,8 @@ L_08995E40: goto L_08995E48; } L_08995E48: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - { const bool branch_taken = aot_gpr_17 == ctx.gpr[16]; + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; // nop if (branch_taken) { goto L_08995E88; @@ -5602,7 +5603,7 @@ L_08995E48: } L_08995E54: { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); if (branch_taken) { goto L_08995EB4; } @@ -5621,7 +5622,7 @@ L_08995E5C: goto L_08996D78; L_08995E80: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } @@ -5640,7 +5641,7 @@ L_08995E88: goto L_08996D78; L_08995EAC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } @@ -5656,7 +5657,7 @@ L_08995EB4: goto L_08995EC0; } L_08995EC0: - { const bool branch_taken = aot_gpr_17 == ctx.gpr[16]; + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; // nop if (branch_taken) { goto L_08995EDC; @@ -5664,8 +5665,8 @@ L_08995EC0: goto L_08995EC8; } L_08995EC8: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - { const bool branch_taken = aot_gpr_17 == ctx.gpr[16]; + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; // nop if (branch_taken) { goto L_08995F08; @@ -5693,7 +5694,7 @@ L_08995EDC: goto L_08996D78; L_08995F00: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } @@ -5707,11 +5708,11 @@ L_08995F08: L_08995F10: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8272))); aot_gpr_31 = (0x08995F1Cu); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(456), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(456), aot_gpr_2); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0099_entry, 99u, 314u, 0x08991574u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08995F1Cu) goto L_08995F1C; AOT_REGCACHE_SYNC_OUT(); return; L_08995F1C: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(460), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(460), aot_gpr_2); aot_gpr_4 = (aot_gpr_28 + static_cast(-14220)); aot_gpr_5 = (aot_gpr_29 + static_cast(456)); ctx.gpr[7] = (aot_gpr_29 + static_cast(460)); @@ -5722,15 +5723,15 @@ L_08995F1C: goto L_08996D78; L_08995F3C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } goto L_08995F44; } L_08995F44: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - { const bool branch_taken = aot_gpr_17 == ctx.gpr[16]; + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; // nop if (branch_taken) { goto L_08995F58; @@ -5739,7 +5740,7 @@ L_08995F44: } L_08995F50: { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); if (branch_taken) { goto L_08995F84; } @@ -5758,7 +5759,7 @@ L_08995F58: goto L_08996D78; L_08995F7C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } @@ -5797,7 +5798,7 @@ L_08995FB8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0212_entry, 212u, 576u, 0x08B562D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08995FC8u) goto L_08995FC8; AOT_REGCACHE_SYNC_OUT(); return; L_08995FC8: - { const bool branch_taken = aot_gpr_17 == ctx.gpr[16]; + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; aot_gpr_4 = (aot_gpr_29 + static_cast(468)); if (branch_taken) { goto L_08995FE4; @@ -5805,8 +5806,8 @@ L_08995FC8: goto L_08995FD0; } L_08995FD0: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - { const bool branch_taken = aot_gpr_17 == ctx.gpr[16]; + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; // nop if (branch_taken) { goto L_08996004; @@ -5831,7 +5832,7 @@ L_08995FE4: goto L_08996D78; L_08995FFC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } @@ -5854,15 +5855,15 @@ L_08996004: goto L_08996D78; L_08996038: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } goto L_08996040; } L_08996040: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - { const bool branch_taken = aot_gpr_17 == ctx.gpr[16]; + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; // nop if (branch_taken) { goto L_08996060; @@ -5870,8 +5871,8 @@ L_08996040: goto L_0899604C; } L_0899604C: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - { const bool branch_taken = aot_gpr_17 == ctx.gpr[16]; + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; // nop if (branch_taken) { goto L_089960AC; @@ -5898,11 +5899,11 @@ L_08996060: L_08996078: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_31 = (0x08996084u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(492), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(492), aot_gpr_2); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0099_entry, 99u, 314u, 0x08991574u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08996084u) goto L_08996084; AOT_REGCACHE_SYNC_OUT(); return; L_08996084: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(496), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(496), aot_gpr_2); aot_gpr_4 = (aot_gpr_28 + static_cast(-14184)); aot_gpr_5 = (aot_gpr_29 + static_cast(492)); ctx.gpr[7] = (aot_gpr_29 + static_cast(496)); @@ -5913,7 +5914,7 @@ L_08996084: goto L_08996D78; L_089960A4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } @@ -5931,11 +5932,11 @@ L_089960AC: L_089960C4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_31 = (0x089960D0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(500), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(500), aot_gpr_2); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0099_entry, 99u, 314u, 0x08991574u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089960D0u) goto L_089960D0; AOT_REGCACHE_SYNC_OUT(); return; L_089960D0: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(504), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(504), aot_gpr_2); aot_gpr_4 = (aot_gpr_28 + static_cast(-14176)); aot_gpr_5 = (aot_gpr_29 + static_cast(500)); ctx.gpr[7] = (aot_gpr_29 + static_cast(504)); @@ -5946,14 +5947,14 @@ L_089960D0: goto L_08996D78; L_089960F0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } goto L_089960F8; } L_089960F8: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); goto L_089960FC; L_089960FC: ctx.gpr[18] = (ctx.gpr[18] + static_cast(1)); @@ -5997,7 +5998,7 @@ L_08996138: goto L_08996140; } L_08996140: - { const bool branch_taken = aot_gpr_17 == ctx.gpr[16]; + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; aot_gpr_4 = (aot_gpr_28 + static_cast(-14168)); if (branch_taken) { goto L_08996154; @@ -6005,7 +6006,7 @@ L_08996140: goto L_08996148; } L_08996148: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); { const bool branch_taken = 0u == 0u; ctx.gpr[19] = (0u | 1u); if (branch_taken) { @@ -6023,7 +6024,7 @@ L_08996154: goto L_08996D78; L_0899616C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } @@ -6037,7 +6038,7 @@ L_08996174: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0212_entry, 212u, 576u, 0x08B562D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08996184u) goto L_08996184; AOT_REGCACHE_SYNC_OUT(); return; L_08996184: - { const bool branch_taken = aot_gpr_17 == ctx.gpr[16]; + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; // nop if (branch_taken) { goto L_089961A0; @@ -6045,8 +6046,8 @@ L_08996184: goto L_0899618C; } L_0899618C: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - { const bool branch_taken = aot_gpr_17 == ctx.gpr[16]; + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; // nop if (branch_taken) { goto L_089961C4; @@ -6072,7 +6073,7 @@ L_089961A0: goto L_08996D78; L_089961BC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } @@ -6090,11 +6091,11 @@ L_089961C4: L_089961DC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_31 = (0x089961E8u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(528), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(528), aot_gpr_2); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0099_entry, 99u, 314u, 0x08991574u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089961E8u) goto L_089961E8; AOT_REGCACHE_SYNC_OUT(); return; L_089961E8: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(532), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(532), aot_gpr_2); aot_gpr_4 = (aot_gpr_28 + static_cast(-14184)); aot_gpr_5 = (aot_gpr_29 + static_cast(528)); ctx.gpr[7] = (aot_gpr_29 + static_cast(532)); @@ -6105,15 +6106,15 @@ L_089961E8: goto L_08996D78; L_08996208: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } goto L_08996210; } L_08996210: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - { const bool branch_taken = aot_gpr_17 == ctx.gpr[16]; + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; // nop if (branch_taken) { goto L_08996224; @@ -6122,7 +6123,7 @@ L_08996210: } L_0899621C: { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); if (branch_taken) { goto L_08996270; } @@ -6140,11 +6141,11 @@ L_08996224: L_0899623C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_31 = (0x08996248u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(536), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(536), aot_gpr_2); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0099_entry, 99u, 314u, 0x08991574u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08996248u) goto L_08996248; AOT_REGCACHE_SYNC_OUT(); return; L_08996248: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(540), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(540), aot_gpr_2); aot_gpr_4 = (aot_gpr_28 + static_cast(-14176)); aot_gpr_5 = (aot_gpr_29 + static_cast(536)); ctx.gpr[7] = (aot_gpr_29 + static_cast(540)); @@ -6155,7 +6156,7 @@ L_08996248: goto L_08996D78; L_08996268: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } @@ -6204,7 +6205,7 @@ L_089962B0: goto L_089962B8; } L_089962B8: - { const bool branch_taken = aot_gpr_17 == ctx.gpr[16]; + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; aot_gpr_4 = (aot_gpr_28 + static_cast(-14148)); if (branch_taken) { goto L_089962D0; @@ -6213,7 +6214,7 @@ L_089962B8: } L_089962C0: ctx.gpr[20] = (0u | 1u); - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); { const bool branch_taken = 0u == 0u; ctx.gpr[19] = (ctx.gpr[20] | 0u); if (branch_taken) { @@ -6231,7 +6232,7 @@ L_089962D0: goto L_08996D78; L_089962E8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } @@ -6245,7 +6246,7 @@ L_089962F0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0212_entry, 212u, 576u, 0x08B562D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08996300u) goto L_08996300; AOT_REGCACHE_SYNC_OUT(); return; L_08996300: - { const bool branch_taken = aot_gpr_17 == ctx.gpr[16]; + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; // nop if (branch_taken) { goto L_0899631C; @@ -6253,8 +6254,8 @@ L_08996300: goto L_08996308; } L_08996308: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - { const bool branch_taken = aot_gpr_17 == ctx.gpr[16]; + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; // nop if (branch_taken) { goto L_08996340; @@ -6280,7 +6281,7 @@ L_0899631C: goto L_08996D78; L_08996338: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } @@ -6298,11 +6299,11 @@ L_08996340: L_08996358: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_31 = (0x08996364u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(564), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(564), aot_gpr_2); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0099_entry, 99u, 314u, 0x08991574u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08996364u) goto L_08996364; AOT_REGCACHE_SYNC_OUT(); return; L_08996364: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(568), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(568), aot_gpr_2); aot_gpr_4 = (aot_gpr_28 + static_cast(-14184)); aot_gpr_5 = (aot_gpr_29 + static_cast(564)); ctx.gpr[7] = (aot_gpr_29 + static_cast(568)); @@ -6313,15 +6314,15 @@ L_08996364: goto L_08996D78; L_08996384: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } goto L_0899638C; } L_0899638C: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - { const bool branch_taken = aot_gpr_17 == ctx.gpr[16]; + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; // nop if (branch_taken) { goto L_089963A0; @@ -6330,7 +6331,7 @@ L_0899638C: } L_08996398: { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); if (branch_taken) { goto L_089963EC; } @@ -6348,11 +6349,11 @@ L_089963A0: L_089963B8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_31 = (0x089963C4u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(572), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(572), aot_gpr_2); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0099_entry, 99u, 314u, 0x08991574u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089963C4u) goto L_089963C4; AOT_REGCACHE_SYNC_OUT(); return; L_089963C4: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(576), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(576), aot_gpr_2); aot_gpr_4 = (aot_gpr_28 + static_cast(-14176)); aot_gpr_5 = (aot_gpr_29 + static_cast(572)); ctx.gpr[7] = (aot_gpr_29 + static_cast(576)); @@ -6363,7 +6364,7 @@ L_089963C4: goto L_08996D78; L_089963E4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } @@ -6400,7 +6401,7 @@ L_08996414: goto L_0899641C; } L_0899641C: - { const bool branch_taken = aot_gpr_17 == ctx.gpr[16]; + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; // nop if (branch_taken) { goto L_0899642C; @@ -6409,7 +6410,7 @@ L_0899641C: } L_08996424: { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); if (branch_taken) { goto L_08996458; } @@ -6428,7 +6429,7 @@ L_0899642C: goto L_08996D78; L_08996450: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } @@ -6467,7 +6468,7 @@ L_08996488: goto L_08996490; } L_08996490: - { const bool branch_taken = aot_gpr_17 == ctx.gpr[16]; + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; aot_gpr_4 = (aot_gpr_28 + static_cast(-14132)); if (branch_taken) { goto L_089964A8; @@ -6476,7 +6477,7 @@ L_08996490: } L_08996498: ctx.gpr[20] = (0u | 1u); - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); { const bool branch_taken = 0u == 0u; ctx.gpr[19] = (ctx.gpr[20] | 0u); if (branch_taken) { @@ -6494,7 +6495,7 @@ L_089964A8: goto L_08996D78; L_089964C0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } @@ -6508,7 +6509,7 @@ L_089964C8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0212_entry, 212u, 576u, 0x08B562D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089964D8u) goto L_089964D8; AOT_REGCACHE_SYNC_OUT(); return; L_089964D8: - { const bool branch_taken = aot_gpr_17 == ctx.gpr[16]; + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; // nop if (branch_taken) { goto L_089964F4; @@ -6516,8 +6517,8 @@ L_089964D8: goto L_089964E0; } L_089964E0: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - { const bool branch_taken = aot_gpr_17 == ctx.gpr[16]; + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; // nop if (branch_taken) { goto L_08996518; @@ -6543,7 +6544,7 @@ L_089964F4: goto L_08996D78; L_08996510: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } @@ -6561,11 +6562,11 @@ L_08996518: L_08996530: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_31 = (0x0899653Cu); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(604), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(604), aot_gpr_2); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0099_entry, 99u, 314u, 0x08991574u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899653Cu) goto L_0899653C; AOT_REGCACHE_SYNC_OUT(); return; L_0899653C: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(608), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(608), aot_gpr_2); aot_gpr_4 = (aot_gpr_28 + static_cast(-14184)); aot_gpr_5 = (aot_gpr_29 + static_cast(604)); ctx.gpr[7] = (aot_gpr_29 + static_cast(608)); @@ -6576,15 +6577,15 @@ L_0899653C: goto L_08996D78; L_0899655C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } goto L_08996564; } L_08996564: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - { const bool branch_taken = aot_gpr_17 == ctx.gpr[16]; + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; // nop if (branch_taken) { goto L_08996578; @@ -6593,7 +6594,7 @@ L_08996564: } L_08996570: { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); if (branch_taken) { goto L_089965C4; } @@ -6611,11 +6612,11 @@ L_08996578: L_08996590: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_31 = (0x0899659Cu); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(612), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(612), aot_gpr_2); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0099_entry, 99u, 314u, 0x08991574u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899659Cu) goto L_0899659C; AOT_REGCACHE_SYNC_OUT(); return; L_0899659C: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(616), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(616), aot_gpr_2); aot_gpr_4 = (aot_gpr_28 + static_cast(-14176)); aot_gpr_5 = (aot_gpr_29 + static_cast(612)); ctx.gpr[7] = (aot_gpr_29 + static_cast(616)); @@ -6626,7 +6627,7 @@ L_0899659C: goto L_08996D78; L_089965BC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } @@ -6663,7 +6664,7 @@ L_089965EC: goto L_089965F4; } L_089965F4: - { const bool branch_taken = aot_gpr_17 == ctx.gpr[16]; + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; // nop if (branch_taken) { goto L_08996604; @@ -6672,7 +6673,7 @@ L_089965F4: } L_089965FC: { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); if (branch_taken) { goto L_08996630; } @@ -6691,7 +6692,7 @@ L_08996604: goto L_08996D78; L_08996628: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } @@ -6728,7 +6729,7 @@ L_08996658: goto L_08996660; } L_08996660: - { const bool branch_taken = aot_gpr_17 == ctx.gpr[16]; + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; aot_gpr_4 = (aot_gpr_28 + static_cast(-14124)); if (branch_taken) { goto L_08996678; @@ -6737,7 +6738,7 @@ L_08996660: } L_08996668: ctx.gpr[20] = (0u | 1u); - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); { const bool branch_taken = 0u == 0u; ctx.gpr[18] = (ctx.gpr[20] | 0u); if (branch_taken) { @@ -6755,7 +6756,7 @@ L_08996678: goto L_08996D78; L_08996690: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } @@ -6769,7 +6770,7 @@ L_08996698: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0212_entry, 212u, 576u, 0x08B562D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089966A8u) goto L_089966A8; AOT_REGCACHE_SYNC_OUT(); return; L_089966A8: - { const bool branch_taken = aot_gpr_17 == ctx.gpr[16]; + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; // nop if (branch_taken) { goto L_089966C4; @@ -6777,8 +6778,8 @@ L_089966A8: goto L_089966B0; } L_089966B0: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - { const bool branch_taken = aot_gpr_17 == ctx.gpr[16]; + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; // nop if (branch_taken) { goto L_089966E8; @@ -6804,7 +6805,7 @@ L_089966C4: goto L_08996D78; L_089966E0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } @@ -6820,11 +6821,11 @@ L_089966E8: L_089966F8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(9432))); aot_gpr_31 = (0x08996704u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(644), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(644), aot_gpr_2); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0099_entry, 99u, 314u, 0x08991574u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08996704u) goto L_08996704; AOT_REGCACHE_SYNC_OUT(); return; L_08996704: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(648), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(648), aot_gpr_2); aot_gpr_4 = (aot_gpr_28 + static_cast(-14184)); aot_gpr_5 = (aot_gpr_29 + static_cast(644)); ctx.gpr[7] = (aot_gpr_29 + static_cast(648)); @@ -6835,15 +6836,15 @@ L_08996704: goto L_08996D78; L_08996724: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } goto L_0899672C; } L_0899672C: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - { const bool branch_taken = aot_gpr_17 == ctx.gpr[16]; + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; // nop if (branch_taken) { goto L_08996740; @@ -6852,7 +6853,7 @@ L_0899672C: } L_08996738: { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); if (branch_taken) { goto L_08996784; } @@ -6868,11 +6869,11 @@ L_08996740: L_08996750: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(9416))); aot_gpr_31 = (0x0899675Cu); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(652), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(652), aot_gpr_2); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0099_entry, 99u, 314u, 0x08991574u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899675Cu) goto L_0899675C; AOT_REGCACHE_SYNC_OUT(); return; L_0899675C: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(656), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(656), aot_gpr_2); aot_gpr_4 = (aot_gpr_28 + static_cast(-14176)); aot_gpr_5 = (aot_gpr_29 + static_cast(652)); ctx.gpr[7] = (aot_gpr_29 + static_cast(656)); @@ -6883,7 +6884,7 @@ L_0899675C: goto L_08996D78; L_0899677C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } @@ -6920,7 +6921,7 @@ L_089967AC: goto L_089967B4; } L_089967B4: - { const bool branch_taken = aot_gpr_17 == ctx.gpr[16]; + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; // nop if (branch_taken) { goto L_089967C4; @@ -6929,7 +6930,7 @@ L_089967B4: } L_089967BC: { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); if (branch_taken) { goto L_089967F0; } @@ -6948,7 +6949,7 @@ L_089967C4: goto L_08996D78; L_089967E8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } @@ -6964,7 +6965,7 @@ L_089967F0: goto L_089967FC; } L_089967FC: - { const bool branch_taken = aot_gpr_17 == ctx.gpr[16]; + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; // nop if (branch_taken) { goto L_0899680C; @@ -6973,7 +6974,7 @@ L_089967FC: } L_08996804: { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); if (branch_taken) { goto L_08996838; } @@ -6992,7 +6993,7 @@ L_0899680C: goto L_08996D78; L_08996830: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } @@ -7008,7 +7009,7 @@ L_08996838: goto L_08996844; } L_08996844: - { const bool branch_taken = aot_gpr_17 == ctx.gpr[16]; + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; // nop if (branch_taken) { goto L_08996854; @@ -7017,7 +7018,7 @@ L_08996844: } L_0899684C: { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); if (branch_taken) { goto L_08996880; } @@ -7036,14 +7037,14 @@ L_08996854: goto L_08996D78; L_08996878: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } goto L_08996880; } L_08996880: - { const bool branch_taken = aot_gpr_17 == ctx.gpr[16]; + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; // nop if (branch_taken) { goto L_0899689C; @@ -7053,7 +7054,7 @@ L_08996880: L_08996888: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(9388))); { const bool branch_taken = static_cast(aot_gpr_4) > 0; - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); if (branch_taken) { goto L_089968C8; } @@ -7080,14 +7081,14 @@ L_0899689C: goto L_08996D78; L_089968C0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } goto L_089968C8; } L_089968C8: - { const bool branch_taken = aot_gpr_17 == ctx.gpr[16]; + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; // nop if (branch_taken) { goto L_089968D8; @@ -7096,7 +7097,7 @@ L_089968C8: } L_089968D0: { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); if (branch_taken) { goto L_08996904; } @@ -7115,7 +7116,7 @@ L_089968D8: goto L_08996D78; L_089968FC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } @@ -7127,7 +7128,7 @@ L_08996904: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0099_entry, 99u, 286u, 0x089913B0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899690Cu) goto L_0899690C; AOT_REGCACHE_SYNC_OUT(); return; L_0899690C: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08996B3C; @@ -7135,7 +7136,7 @@ L_0899690C: goto L_08996914; } L_08996914: - { const bool branch_taken = aot_gpr_17 != ctx.gpr[16]; + { const bool branch_taken = ctx.gpr[17] != ctx.gpr[16]; // nop if (branch_taken) { goto L_08996A24; @@ -7148,7 +7149,7 @@ L_0899691C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0099_entry, 99u, 293u, 0x08991444u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08996924u) goto L_08996924; AOT_REGCACHE_SYNC_OUT(); return; L_08996924: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (aot_gpr_4 < static_cast(8) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; // nop @@ -7297,15 +7298,15 @@ L_08996A0C: AOT_REGCACHE_SYNC_OUT(); return; L_08996A1C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } goto L_08996A24; } L_08996A24: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - { const bool branch_taken = aot_gpr_17 != ctx.gpr[16]; + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + { const bool branch_taken = ctx.gpr[17] != ctx.gpr[16]; // nop if (branch_taken) { goto L_08996B38; @@ -7318,7 +7319,7 @@ L_08996A30: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0099_entry, 99u, 298u, 0x08991490u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08996A38u) goto L_08996A38; AOT_REGCACHE_SYNC_OUT(); return; L_08996A38: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (aot_gpr_4 < static_cast(8) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; // nop @@ -7467,17 +7468,17 @@ L_08996B20: AOT_REGCACHE_SYNC_OUT(); return; L_08996B30: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } goto L_08996B38; } L_08996B38: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); goto L_08996B3C; L_08996B3C: - { const bool branch_taken = aot_gpr_17 == ctx.gpr[16]; + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; // nop if (branch_taken) { goto L_08996B58; @@ -7485,8 +7486,8 @@ L_08996B3C: goto L_08996B44; } L_08996B44: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - { const bool branch_taken = aot_gpr_17 == ctx.gpr[16]; + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; // nop if (branch_taken) { goto L_08996B84; @@ -7514,7 +7515,7 @@ L_08996B58: goto L_08996D78; L_08996B7C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } @@ -7533,15 +7534,15 @@ L_08996B84: goto L_08996D78; L_08996BA8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } goto L_08996BB0; } L_08996BB0: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - { const bool branch_taken = aot_gpr_17 == ctx.gpr[16]; + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; // nop if (branch_taken) { goto L_08996BD0; @@ -7549,8 +7550,8 @@ L_08996BB0: goto L_08996BBC; } L_08996BBC: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - if (aot_gpr_17 == ctx.gpr[16]) { + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + if (ctx.gpr[17] == ctx.gpr[16]) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7904))); goto L_08996BFC; } @@ -7576,7 +7577,7 @@ L_08996BD0: goto L_08996D78; L_08996BF4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } @@ -7596,15 +7597,15 @@ L_08996BFC: goto L_08996D78; L_08996C24: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } goto L_08996C2C; } L_08996C2C: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - { const bool branch_taken = aot_gpr_17 == ctx.gpr[16]; + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; // nop if (branch_taken) { goto L_08996C4C; @@ -7612,8 +7613,8 @@ L_08996C2C: goto L_08996C38; } L_08996C38: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - { const bool branch_taken = aot_gpr_17 == ctx.gpr[16]; + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; // nop if (branch_taken) { goto L_08996C70; @@ -7622,7 +7623,7 @@ L_08996C38: } L_08996C44: { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); if (branch_taken) { goto L_08996C9C; } @@ -7636,14 +7637,14 @@ L_08996C4C: AOT_REGCACHE_SYNC_OUT(); return; L_08996C58: aot_gpr_4 = (ctx.gpr[16] | 0u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08996C68u); ctx.gpr[6] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0099_entry, 99u, 319u, 0x089915A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08996C68u) goto L_08996C68; AOT_REGCACHE_SYNC_OUT(); return; L_08996C68: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } @@ -7662,7 +7663,7 @@ L_08996C70: goto L_08996D78; L_08996C94: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } @@ -7699,7 +7700,7 @@ L_08996CC4: goto L_08996CCC; } L_08996CCC: - { const bool branch_taken = aot_gpr_17 == ctx.gpr[16]; + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; aot_gpr_4 = (aot_gpr_28 + static_cast(-13948)); if (branch_taken) { goto L_08996CE0; @@ -7707,7 +7708,7 @@ L_08996CCC: goto L_08996CD4; } L_08996CD4: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); { const bool branch_taken = 0u == 0u; ctx.gpr[18] = (0u | 1u); if (branch_taken) { @@ -7725,7 +7726,7 @@ L_08996CE0: goto L_08996D78; L_08996CF8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } @@ -7739,7 +7740,7 @@ L_08996D00: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0212_entry, 212u, 576u, 0x08B562D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08996D10u) goto L_08996D10; AOT_REGCACHE_SYNC_OUT(); return; L_08996D10: - { const bool branch_taken = aot_gpr_17 == ctx.gpr[16]; + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; // nop if (branch_taken) { goto L_08996D20; @@ -7748,7 +7749,7 @@ L_08996D10: } L_08996D18: { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); if (branch_taken) { goto L_08996D44; } @@ -7765,7 +7766,7 @@ L_08996D20: goto L_08996D78; L_08996D3C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08996D58; } @@ -7782,13 +7783,13 @@ L_08996D44: goto L_08996D54; } L_08996D54: - ctx.gpr[2] = (aot_gpr_17 | 0u); + aot_gpr_2 = (ctx.gpr[17] | 0u); goto L_08996D58; L_08996D58: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(708), aot_run_words); ctx.gpr[16] = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -7805,7 +7806,7 @@ L_08996D78: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(564), ctx.gpr[19]); ctx.gpr[19] = (aot_gpr_4 | 0u); aot_gpr_4 = (ctx.gpr[7] | 0u); - { const std::uint32_t aot_run_words[4]{std::bit_cast(aot_fpr_20), ctx.gpr[16], aot_gpr_17, ctx.gpr[18]}; + { const std::uint32_t aot_run_words[4]{std::bit_cast(aot_fpr_20), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(548), aot_run_words); } { const std::uint32_t aot_run_words[6]{ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(568), aot_run_words); } @@ -7821,10 +7822,10 @@ L_08996DB8: aot_mem.aot_direct_store8(ctx.gpr[21] + static_cast(-800), static_cast(0u)); ctx.gpr[23] = (2238u << 16u); ctx.gpr[20] = (2238u << 16u); - aot_gpr_17 = (0u | 1u); + ctx.gpr[17] = (0u | 1u); ctx.gpr[21] = (ctx.gpr[21] + static_cast(-800)); ctx.gpr[22] = (ctx.gpr[23] + static_cast(-8144)); - { const bool branch_taken = ctx.gpr[8] == aot_gpr_17; + { const bool branch_taken = ctx.gpr[8] == ctx.gpr[17]; ctx.gpr[20] = (ctx.gpr[20] + static_cast(17512)); if (branch_taken) { goto L_08996DEC; @@ -7955,8 +7956,8 @@ L_08996E80: L_08996E88: ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); - { const bool branch_taken = aot_gpr_17 != 0u; + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + { const bool branch_taken = ctx.gpr[17] != 0u; ctx.gpr[18] = (aot_gpr_28 + static_cast(-13916)); if (branch_taken) { goto L_08996EC4; @@ -7964,13 +7965,13 @@ L_08996E88: goto L_08996E9C; } L_08996E9C: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_31 = (0x08996EA8u); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08996EA8u) goto L_08996EA8; AOT_REGCACHE_SYNC_OUT(); return; L_08996EA8: - ctx.gpr[16] = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { @@ -7981,30 +7982,30 @@ L_08996EA8: L_08996EB4: aot_gpr_31 = (0x08996EBCu); aot_gpr_4 = (ctx.gpr[16] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08996EBCu) goto L_08996EBC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08996EBCu) goto L_08996EBC; AOT_REGCACHE_SYNC_OUT(); return; L_08996EBC: - aot_gpr_17 = (ctx.gpr[16] | 0u); + ctx.gpr[17] = (ctx.gpr[16] | 0u); goto L_08996EC0; L_08996EC0: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); goto L_08996EC4; L_08996EC4: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08996ED0u); aot_gpr_5 = (ctx.gpr[30] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08996ED0u) goto L_08996ED0; AOT_REGCACHE_SYNC_OUT(); return; L_08996ED0: aot_gpr_31 = (0x08996ED8u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 309u, 0x089F5AC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08996ED8u) goto L_08996ED8; AOT_REGCACHE_SYNC_OUT(); return; L_08996ED8: aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); ctx.gpr[6] = (ctx.gpr[20] | 0u); - ctx.gpr[7] = (ctx.gpr[2] | 0u); + ctx.gpr[7] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08996EF0u); ctx.gpr[8] = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0212_entry, 212u, 576u, 0x08B562D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08996EF0u) goto L_08996EF0; @@ -8022,26 +8023,26 @@ L_08996EF8: aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_31 = (0x08996F08u); ctx.gpr[20] = (aot_gpr_28 + static_cast(-13896)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08996F08u) goto L_08996F08; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08996F08u) goto L_08996F08; AOT_REGCACHE_SYNC_OUT(); return; L_08996F08: - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); ctx.gpr[19] = (ctx.gpr[3] | 0u); - { const bool branch_taken = aot_gpr_17 != 0u; - ctx.gpr[18] = (ctx.gpr[2] | 0u); + { const bool branch_taken = ctx.gpr[17] != 0u; + ctx.gpr[18] = (aot_gpr_2 | 0u); if (branch_taken) { goto L_08996F40; } goto L_08996F18; } L_08996F18: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_31 = (0x08996F24u); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08996F24u) goto L_08996F24; AOT_REGCACHE_SYNC_OUT(); return; L_08996F24: - ctx.gpr[16] = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { @@ -8052,30 +8053,30 @@ L_08996F24: L_08996F30: aot_gpr_31 = (0x08996F38u); aot_gpr_4 = (ctx.gpr[16] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08996F38u) goto L_08996F38; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08996F38u) goto L_08996F38; AOT_REGCACHE_SYNC_OUT(); return; L_08996F38: - aot_gpr_17 = (ctx.gpr[16] | 0u); + ctx.gpr[17] = (ctx.gpr[16] | 0u); goto L_08996F3C; L_08996F3C: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); goto L_08996F40; L_08996F40: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08996F4Cu); aot_gpr_5 = (ctx.gpr[30] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08996F4Cu) goto L_08996F4C; AOT_REGCACHE_SYNC_OUT(); return; L_08996F4C: aot_gpr_31 = (0x08996F54u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 309u, 0x089F5AC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08996F54u) goto L_08996F54; AOT_REGCACHE_SYNC_OUT(); return; L_08996F54: - ctx.gpr[16] = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08996F60u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08996F60u) goto L_08996F60; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08996F60u) goto L_08996F60; AOT_REGCACHE_SYNC_OUT(); return; L_08996F60: aot_gpr_4 = (ctx.gpr[21] | 0u); @@ -8085,7 +8086,7 @@ L_08996F60: ctx.gpr[11] = (ctx.gpr[3] | 0u); ctx.gpr[8] = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08996F80u); - ctx.gpr[10] = (ctx.gpr[2] | 0u); + ctx.gpr[10] = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0212_entry, 212u, 576u, 0x08B562D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08996F80u) goto L_08996F80; AOT_REGCACHE_SYNC_OUT(); return; L_08996F80: @@ -8099,8 +8100,8 @@ L_08996F80: L_08996F88: ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); - { const bool branch_taken = aot_gpr_17 != 0u; + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + { const bool branch_taken = ctx.gpr[17] != 0u; ctx.gpr[18] = (aot_gpr_28 + static_cast(-13880)); if (branch_taken) { goto L_08996FC4; @@ -8108,13 +8109,13 @@ L_08996F88: goto L_08996F9C; } L_08996F9C: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_31 = (0x08996FA8u); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08996FA8u) goto L_08996FA8; AOT_REGCACHE_SYNC_OUT(); return; L_08996FA8: - ctx.gpr[16] = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { @@ -8125,30 +8126,30 @@ L_08996FA8: L_08996FB4: aot_gpr_31 = (0x08996FBCu); aot_gpr_4 = (ctx.gpr[16] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08996FBCu) goto L_08996FBC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08996FBCu) goto L_08996FBC; AOT_REGCACHE_SYNC_OUT(); return; L_08996FBC: - aot_gpr_17 = (ctx.gpr[16] | 0u); + ctx.gpr[17] = (ctx.gpr[16] | 0u); goto L_08996FC0; L_08996FC0: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); goto L_08996FC4; L_08996FC4: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08996FD0u); aot_gpr_5 = (ctx.gpr[30] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08996FD0u) goto L_08996FD0; AOT_REGCACHE_SYNC_OUT(); return; L_08996FD0: aot_gpr_31 = (0x08996FD8u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 309u, 0x089F5AC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08996FD8u) goto L_08996FD8; AOT_REGCACHE_SYNC_OUT(); return; L_08996FD8: aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); ctx.gpr[6] = (ctx.gpr[20] | 0u); - ctx.gpr[7] = (ctx.gpr[2] | 0u); + ctx.gpr[7] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08996FF0u); ctx.gpr[8] = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0212_entry, 212u, 576u, 0x08B562D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08996FF0u) goto L_08996FF0; @@ -8167,26 +8168,26 @@ L_08996FF8: aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_31 = (0x0899700Cu); ctx.gpr[20] = (ctx.gpr[20] + static_cast(-5008)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899700Cu) goto L_0899700C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899700Cu) goto L_0899700C; AOT_REGCACHE_SYNC_OUT(); return; L_0899700C: - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); ctx.gpr[19] = (ctx.gpr[3] | 0u); - { const bool branch_taken = aot_gpr_17 != 0u; - ctx.gpr[18] = (ctx.gpr[2] | 0u); + { const bool branch_taken = ctx.gpr[17] != 0u; + ctx.gpr[18] = (aot_gpr_2 | 0u); if (branch_taken) { goto L_08997044; } goto L_0899701C; } L_0899701C: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_31 = (0x08997028u); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08997028u) goto L_08997028; AOT_REGCACHE_SYNC_OUT(); return; L_08997028: - ctx.gpr[16] = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { @@ -8197,30 +8198,30 @@ L_08997028: L_08997034: aot_gpr_31 = (0x0899703Cu); aot_gpr_4 = (ctx.gpr[16] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899703Cu) goto L_0899703C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899703Cu) goto L_0899703C; AOT_REGCACHE_SYNC_OUT(); return; L_0899703C: - aot_gpr_17 = (ctx.gpr[16] | 0u); + ctx.gpr[17] = (ctx.gpr[16] | 0u); goto L_08997040; L_08997040: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); goto L_08997044; L_08997044: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08997050u); aot_gpr_5 = (ctx.gpr[30] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08997050u) goto L_08997050; AOT_REGCACHE_SYNC_OUT(); return; L_08997050: aot_gpr_31 = (0x08997058u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 309u, 0x089F5AC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08997058u) goto L_08997058; AOT_REGCACHE_SYNC_OUT(); return; L_08997058: - ctx.gpr[16] = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08997064u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08997064u) goto L_08997064; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08997064u) goto L_08997064; AOT_REGCACHE_SYNC_OUT(); return; L_08997064: aot_gpr_4 = (ctx.gpr[21] | 0u); @@ -8230,7 +8231,7 @@ L_08997064: ctx.gpr[11] = (ctx.gpr[3] | 0u); ctx.gpr[8] = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08997084u); - ctx.gpr[10] = (ctx.gpr[2] | 0u); + ctx.gpr[10] = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0212_entry, 212u, 576u, 0x08B562D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08997084u) goto L_08997084; AOT_REGCACHE_SYNC_OUT(); return; L_08997084: @@ -8244,8 +8245,8 @@ L_08997084: L_0899708C: ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); - { const bool branch_taken = aot_gpr_17 != 0u; + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + { const bool branch_taken = ctx.gpr[17] != 0u; ctx.gpr[18] = (aot_gpr_28 + static_cast(-13864)); if (branch_taken) { goto L_089970C8; @@ -8253,13 +8254,13 @@ L_0899708C: goto L_089970A0; } L_089970A0: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_31 = (0x089970ACu); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089970ACu) goto L_089970AC; AOT_REGCACHE_SYNC_OUT(); return; L_089970AC: - ctx.gpr[16] = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { @@ -8270,30 +8271,30 @@ L_089970AC: L_089970B8: aot_gpr_31 = (0x089970C0u); aot_gpr_4 = (ctx.gpr[16] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089970C0u) goto L_089970C0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089970C0u) goto L_089970C0; AOT_REGCACHE_SYNC_OUT(); return; L_089970C0: - aot_gpr_17 = (ctx.gpr[16] | 0u); + ctx.gpr[17] = (ctx.gpr[16] | 0u); goto L_089970C4; L_089970C4: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); goto L_089970C8; L_089970C8: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089970D4u); aot_gpr_5 = (ctx.gpr[30] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089970D4u) goto L_089970D4; AOT_REGCACHE_SYNC_OUT(); return; L_089970D4: aot_gpr_31 = (0x089970DCu); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 309u, 0x089F5AC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089970DCu) goto L_089970DC; AOT_REGCACHE_SYNC_OUT(); return; L_089970DC: aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); ctx.gpr[6] = (ctx.gpr[20] | 0u); - ctx.gpr[7] = (ctx.gpr[2] | 0u); + ctx.gpr[7] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x089970F4u); ctx.gpr[8] = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0212_entry, 212u, 576u, 0x08B562D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089970F4u) goto L_089970F4; @@ -8307,35 +8308,35 @@ L_089970F4: goto L_089970FC; } L_089970FC: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(544), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(544), ctx.gpr[17]); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_31 = (0x08997110u); ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7872))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08997110u) goto L_08997110; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08997110u) goto L_08997110; AOT_REGCACHE_SYNC_OUT(); return; L_08997110: - aot_gpr_17 = (ctx.gpr[3] | 0u); + ctx.gpr[17] = (ctx.gpr[3] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_31 = (0x08997120u); - ctx.gpr[16] = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08997120u) goto L_08997120; + ctx.gpr[16] = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08997120u) goto L_08997120; AOT_REGCACHE_SYNC_OUT(); return; L_08997120: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(524), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(524), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(520), ctx.gpr[16]); ctx.gpr[23] = (ctx.gpr[3] | 0u); - ctx.gpr[22] = (ctx.gpr[2] | 0u); + ctx.gpr[22] = (aot_gpr_2 | 0u); ctx.gpr[16] = (0u | 4u); { const bool branch_taken = ctx.gpr[18] != 0u; - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(544))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(544))); if (branch_taken) { goto L_08997148; } goto L_0899713C; } L_0899713C: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(7872), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(7872), ctx.gpr[17]); aot_gpr_31 = (0x08997148u); aot_gpr_4 = (aot_gpr_28 + static_cast(7864)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0112_entry, 112u, 464u, 0x089C6318u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08997148u) goto L_08997148; @@ -8343,7 +8344,7 @@ L_0899713C: L_08997148: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7868))); { const bool branch_taken = aot_gpr_4 != ctx.gpr[16]; - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); if (branch_taken) { goto L_089971C4; } @@ -8351,7 +8352,7 @@ L_08997148: } L_08997154: ctx.gpr[18] = (2232u << 16u); - { const bool branch_taken = aot_gpr_17 != 0u; + { const bool branch_taken = ctx.gpr[17] != 0u; ctx.gpr[18] = (ctx.gpr[18] + static_cast(-4988)); if (branch_taken) { goto L_08997188; @@ -8359,13 +8360,13 @@ L_08997154: goto L_08997160; } L_08997160: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_31 = (0x0899716Cu); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899716Cu) goto L_0899716C; AOT_REGCACHE_SYNC_OUT(); return; L_0899716C: - ctx.gpr[16] = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { @@ -8376,23 +8377,23 @@ L_0899716C: L_08997178: aot_gpr_31 = (0x08997180u); aot_gpr_4 = (ctx.gpr[16] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08997180u) goto L_08997180; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08997180u) goto L_08997180; AOT_REGCACHE_SYNC_OUT(); return; L_08997180: - aot_gpr_17 = (ctx.gpr[16] | 0u); + ctx.gpr[17] = (ctx.gpr[16] | 0u); goto L_08997184; L_08997184: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); goto L_08997188; L_08997188: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08997194u); aot_gpr_5 = (ctx.gpr[30] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08997194u) goto L_08997194; AOT_REGCACHE_SYNC_OUT(); return; L_08997194: aot_gpr_31 = (0x0899719Cu); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 300u, 0x089F5A5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899719Cu) goto L_0899719C; AOT_REGCACHE_SYNC_OUT(); return; L_0899719C: @@ -8401,7 +8402,7 @@ L_0899719C: aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); ctx.gpr[11] = (ctx.gpr[23] | 0u); - ctx.gpr[8] = (ctx.gpr[2] | 0u); + ctx.gpr[8] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x089971BCu); ctx.gpr[10] = (ctx.gpr[22] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0212_entry, 212u, 576u, 0x08B562D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089971BCu) goto L_089971BC; @@ -8416,7 +8417,7 @@ L_089971BC: } L_089971C4: ctx.gpr[18] = (2232u << 16u); - { const bool branch_taken = aot_gpr_17 != 0u; + { const bool branch_taken = ctx.gpr[17] != 0u; ctx.gpr[18] = (ctx.gpr[18] + static_cast(-4968)); if (branch_taken) { goto L_089971F8; @@ -8424,13 +8425,13 @@ L_089971C4: goto L_089971D0; } L_089971D0: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_31 = (0x089971DCu); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089971DCu) goto L_089971DC; AOT_REGCACHE_SYNC_OUT(); return; L_089971DC: - ctx.gpr[16] = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { @@ -8441,23 +8442,23 @@ L_089971DC: L_089971E8: aot_gpr_31 = (0x089971F0u); aot_gpr_4 = (ctx.gpr[16] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089971F0u) goto L_089971F0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089971F0u) goto L_089971F0; AOT_REGCACHE_SYNC_OUT(); return; L_089971F0: - aot_gpr_17 = (ctx.gpr[16] | 0u); + ctx.gpr[17] = (ctx.gpr[16] | 0u); goto L_089971F4; L_089971F4: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); goto L_089971F8; L_089971F8: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08997204u); aot_gpr_5 = (ctx.gpr[30] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08997204u) goto L_08997204; AOT_REGCACHE_SYNC_OUT(); return; L_08997204: aot_gpr_31 = (0x0899720Cu); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 300u, 0x089F5A5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899720Cu) goto L_0899720C; AOT_REGCACHE_SYNC_OUT(); return; L_0899720C: @@ -8466,7 +8467,7 @@ L_0899720C: aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); ctx.gpr[11] = (ctx.gpr[23] | 0u); - ctx.gpr[8] = (ctx.gpr[2] | 0u); + ctx.gpr[8] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x0899722Cu); ctx.gpr[10] = (ctx.gpr[22] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0212_entry, 212u, 576u, 0x08B562D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899722Cu) goto L_0899722C; @@ -8566,14 +8567,14 @@ L_089972AC: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_gpr_31 = (0x089972C0u); ctx.gpr[16] = (aot_gpr_28 + static_cast(-13844)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089972C0u) goto L_089972C0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089972C0u) goto L_089972C0; AOT_REGCACHE_SYNC_OUT(); return; L_089972C0: aot_gpr_4 = (ctx.gpr[21] | 0u); ctx.gpr[7] = (ctx.gpr[3] | 0u); aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089972D4u); - ctx.gpr[6] = (ctx.gpr[2] | 0u); + ctx.gpr[6] = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0212_entry, 212u, 576u, 0x08B562D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089972D4u) goto L_089972D4; AOT_REGCACHE_SYNC_OUT(); return; L_089972D4: @@ -8607,14 +8608,14 @@ L_089972FC: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_gpr_31 = (0x08997310u); ctx.gpr[16] = (aot_gpr_28 + static_cast(-13828)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08997310u) goto L_08997310; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08997310u) goto L_08997310; AOT_REGCACHE_SYNC_OUT(); return; L_08997310: aot_gpr_4 = (ctx.gpr[21] | 0u); ctx.gpr[7] = (ctx.gpr[3] | 0u); aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08997324u); - ctx.gpr[6] = (ctx.gpr[2] | 0u); + ctx.gpr[6] = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0212_entry, 212u, 576u, 0x08B562D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08997324u) goto L_08997324; AOT_REGCACHE_SYNC_OUT(); return; L_08997324: @@ -8647,19 +8648,19 @@ L_0899734C: ctx.gpr[30] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7872))); aot_gpr_31 = (0x0899735Cu); ctx.gpr[16] = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899735Cu) goto L_0899735C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899735Cu) goto L_0899735C; AOT_REGCACHE_SYNC_OUT(); return; L_0899735C: ctx.gpr[19] = (ctx.gpr[3] | 0u); { const bool branch_taken = ctx.gpr[30] != 0u; - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); if (branch_taken) { goto L_08997374; } goto L_08997368; } L_08997368: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(7872), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(7872), ctx.gpr[17]); aot_gpr_31 = (0x08997374u); aot_gpr_4 = (aot_gpr_28 + static_cast(7864)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0112_entry, 112u, 464u, 0x089C6318u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08997374u) goto L_08997374; @@ -8731,8 +8732,8 @@ L_089973D0: AOT_REGCACHE_SYNC_OUT(); return; L_089973E4: ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(528))); - aot_gpr_17 = (0u | 1u); - aot_gpr_4 = (static_cast(aot_gpr_17) < static_cast(ctx.gpr[18]) ? 1u : 0u); + ctx.gpr[17] = (0u | 1u); + aot_gpr_4 = (static_cast(ctx.gpr[17]) < static_cast(ctx.gpr[18]) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -8747,8 +8748,8 @@ L_089973F8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0032_entry, 32u, 846u, 0x08887B30u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08997404u) goto L_08997404; AOT_REGCACHE_SYNC_OUT(); return; L_08997404: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - aot_gpr_4 = (static_cast(aot_gpr_17) < static_cast(ctx.gpr[18]) ? 1u : 0u); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + aot_gpr_4 = (static_cast(ctx.gpr[17]) < static_cast(ctx.gpr[18]) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -8778,8 +8779,8 @@ L_0899742C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08997438u) goto L_08997438; AOT_REGCACHE_SYNC_OUT(); return; L_08997438: - aot_gpr_17 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_08997450; @@ -8788,11 +8789,11 @@ L_08997438: } L_08997444: aot_gpr_31 = (0x0899744Cu); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899744Cu) goto L_0899744C; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899744Cu) goto L_0899744C; AOT_REGCACHE_SYNC_OUT(); return; L_0899744C: - ctx.gpr[16] = (aot_gpr_17 | 0u); + ctx.gpr[16] = (ctx.gpr[17] | 0u); goto L_08997450; L_08997450: aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[16]); @@ -8806,7 +8807,7 @@ L_08997458: L_08997460: aot_gpr_4 = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x0899746Cu); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0032_entry, 32u, 846u, 0x08887B30u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899746Cu) goto L_0899746C; AOT_REGCACHE_SYNC_OUT(); return; L_0899746C: @@ -8844,8 +8845,8 @@ L_08997494: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089974A0u) goto L_089974A0; AOT_REGCACHE_SYNC_OUT(); return; L_089974A0: - aot_gpr_17 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_089974B8; @@ -8854,11 +8855,11 @@ L_089974A0: } L_089974AC: aot_gpr_31 = (0x089974B4u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089974B4u) goto L_089974B4; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089974B4u) goto L_089974B4; AOT_REGCACHE_SYNC_OUT(); return; L_089974B4: - ctx.gpr[16] = (aot_gpr_17 | 0u); + ctx.gpr[16] = (ctx.gpr[17] | 0u); goto L_089974B8; L_089974B8: aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[16]); @@ -8872,7 +8873,7 @@ L_089974C0: L_089974C8: aot_gpr_4 = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x089974D4u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0032_entry, 32u, 851u, 0x08887B80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089974D4u) goto L_089974D4; AOT_REGCACHE_SYNC_OUT(); return; L_089974D4: @@ -8891,7 +8892,7 @@ L_089974E8: aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(548), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); ctx.gpr[16] = aot_run_words[1]; - aot_gpr_17 = aot_run_words[2]; + ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; ctx.gpr[19] = aot_run_words[4]; ctx.gpr[20] = aot_run_words[5]; @@ -8911,7 +8912,7 @@ L_0899751C: aot_gpr_29 = (aot_gpr_29 + static_cast(-128)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(108), ctx.gpr[30]); ctx.gpr[30] = (aot_gpr_4 | 0u); - { const std::uint32_t aot_run_words[14]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(aot_fpr_26), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), ctx.gpr[16], aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23]}; + { const std::uint32_t aot_run_words[14]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(aot_fpr_26), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(52), aot_run_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(112), aot_gpr_31); aot_gpr_4 = (0u | 200u); @@ -8956,7 +8957,7 @@ L_0899751C: L_089975FC: aot_gpr_31 = (0x08997604u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08997604u) goto L_08997604; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_28, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08997604u) goto L_08997604; AOT_REGCACHE_SYNC_OUT(); return; L_08997604: aot_fpr_12 = aot_fpr_26 - aot_fpr_20; @@ -8964,7 +8965,7 @@ L_08997604: aot_fpr_12 = aot_fpr_20 + aot_fpr_12; aot_gpr_31 = (0x08997618u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08997618u) goto L_08997618; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_28, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08997618u) goto L_08997618; AOT_REGCACHE_SYNC_OUT(); return; L_08997618: aot_fpr_12 = aot_fpr_26 - aot_fpr_20; @@ -8972,7 +8973,7 @@ L_08997618: aot_fpr_12 = aot_fpr_20 + aot_fpr_12; aot_gpr_31 = (0x0899762Cu); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899762Cu) goto L_0899762C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_28, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899762Cu) goto L_0899762C; AOT_REGCACHE_SYNC_OUT(); return; L_0899762C: aot_fpr_12 = ctx.fpr[30] - ctx.fpr[24]; @@ -8982,19 +8983,19 @@ L_0899762C: aot_fpr_12 = aot_fpr_13 + aot_fpr_12; aot_gpr_31 = (0x08997648u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08997648u) goto L_08997648; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08997648u) goto L_08997648; AOT_REGCACHE_SYNC_OUT(); return; L_08997648: ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-13788))); ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-13792))); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x0899765Cu); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899765Cu) goto L_0899765C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899765Cu) goto L_0899765C; AOT_REGCACHE_SYNC_OUT(); return; L_0899765C: ctx.gpr[1] = (ctx.gpr[3] << 1u); - aot_gpr_4 = (ctx.gpr[2] >> 31u); + aot_gpr_4 = (aot_gpr_2 >> 31u); aot_gpr_5 = (static_cast(static_cast(ctx.gpr[3]) >> 31u)); aot_gpr_4 = (ctx.gpr[1] | aot_gpr_4); ctx.gpr[6] = (aot_gpr_4 + ctx.gpr[22]); @@ -9003,12 +9004,12 @@ L_0899765C: aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-13800))); ctx.gpr[7] = (aot_gpr_4 + ctx.gpr[23]); aot_gpr_4 = (aot_gpr_5 + static_cast(1)); - aot_gpr_17 = (aot_gpr_4 & 255u); + ctx.gpr[17] = (aot_gpr_4 & 255u); ctx.gpr[18] = (ctx.gpr[6] | 0u); aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-13800), static_cast(aot_gpr_4)); aot_gpr_31 = (0x08997698u); - aot_gpr_17 = (aot_gpr_17 & 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08997698u) goto L_08997698; + ctx.gpr[17] = (ctx.gpr[17] & 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_28, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08997698u) goto L_08997698; AOT_REGCACHE_SYNC_OUT(); return; L_08997698: aot_fpr_12 = ctx.fpr[28] - ctx.fpr[22]; @@ -9041,7 +9042,7 @@ L_089976BC: ctx.gpr[7] = (0u | 0u); ctx.gpr[9] = (ctx.gpr[18] | 0u); ctx.gpr[10] = (0u | 0u); - ctx.gpr[11] = (aot_gpr_17 | 0u); + ctx.gpr[11] = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089976E4u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0063_entry, 63u, 90u, 0x0890043Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089976E4u) goto L_089976E4; @@ -9066,7 +9067,7 @@ L_089976F4: ctx.fpr[28] = std::bit_cast(aot_run_words[4]); ctx.fpr[30] = std::bit_cast(aot_run_words[5]); ctx.gpr[16] = aot_run_words[6]; - aot_gpr_17 = aot_run_words[7]; + ctx.gpr[17] = aot_run_words[7]; ctx.gpr[18] = aot_run_words[8]; ctx.gpr[19] = aot_run_words[9]; ctx.gpr[20] = aot_run_words[10]; @@ -9086,7 +9087,7 @@ L_0899773C: aot_gpr_29 = (aot_gpr_29 + static_cast(-128)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(112), ctx.gpr[30]); ctx.gpr[30] = (aot_gpr_4 | 0u); - { const std::uint32_t aot_run_words[15]{aot_gpr_5, std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(aot_fpr_26), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), ctx.gpr[16], aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23]}; + { const std::uint32_t aot_run_words[15]{aot_gpr_5, std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(aot_fpr_26), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(52), aot_run_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(116), aot_gpr_31); aot_gpr_4 = (0u | 144u); @@ -9137,7 +9138,7 @@ L_0899773C: L_08997838: aot_gpr_31 = (0x08997840u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08997840u) goto L_08997840; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_28, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08997840u) goto L_08997840; AOT_REGCACHE_SYNC_OUT(); return; L_08997840: aot_fpr_12 = aot_fpr_26 - aot_fpr_20; @@ -9145,7 +9146,7 @@ L_08997840: aot_fpr_12 = aot_fpr_20 + aot_fpr_12; aot_gpr_31 = (0x08997854u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08997854u) goto L_08997854; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_28, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08997854u) goto L_08997854; AOT_REGCACHE_SYNC_OUT(); return; L_08997854: aot_fpr_12 = aot_fpr_26 - aot_fpr_20; @@ -9153,7 +9154,7 @@ L_08997854: aot_fpr_12 = aot_fpr_20 + aot_fpr_12; aot_gpr_31 = (0x08997868u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08997868u) goto L_08997868; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_28, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08997868u) goto L_08997868; AOT_REGCACHE_SYNC_OUT(); return; L_08997868: aot_fpr_12 = ctx.fpr[30] - ctx.fpr[24]; @@ -9163,19 +9164,19 @@ L_08997868: aot_fpr_12 = aot_fpr_13 + aot_fpr_12; aot_gpr_31 = (0x08997884u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08997884u) goto L_08997884; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08997884u) goto L_08997884; AOT_REGCACHE_SYNC_OUT(); return; L_08997884: ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-13788))); ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-13792))); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08997898u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08997898u) goto L_08997898; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08997898u) goto L_08997898; AOT_REGCACHE_SYNC_OUT(); return; L_08997898: ctx.gpr[1] = (ctx.gpr[3] << 1u); - aot_gpr_4 = (ctx.gpr[2] >> 31u); + aot_gpr_4 = (aot_gpr_2 >> 31u); aot_gpr_5 = (static_cast(static_cast(ctx.gpr[3]) >> 31u)); aot_gpr_4 = (ctx.gpr[1] | aot_gpr_4); ctx.gpr[6] = (aot_gpr_4 + ctx.gpr[22]); @@ -9184,12 +9185,12 @@ L_08997898: aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-13800))); ctx.gpr[7] = (aot_gpr_4 + ctx.gpr[23]); aot_gpr_4 = (aot_gpr_5 + static_cast(1)); - aot_gpr_17 = (aot_gpr_4 & 255u); + ctx.gpr[17] = (aot_gpr_4 & 255u); ctx.gpr[18] = (ctx.gpr[6] | 0u); aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-13800), static_cast(aot_gpr_4)); aot_gpr_31 = (0x089978D4u); - aot_gpr_17 = (aot_gpr_17 & 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089978D4u) goto L_089978D4; + ctx.gpr[17] = (ctx.gpr[17] & 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_28, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089978D4u) goto L_089978D4; AOT_REGCACHE_SYNC_OUT(); return; L_089978D4: aot_fpr_12 = ctx.fpr[28] - ctx.fpr[22]; @@ -9222,7 +9223,7 @@ L_089978F8: ctx.gpr[7] = (0u | 0u); ctx.gpr[9] = (ctx.gpr[18] | 0u); ctx.gpr[10] = (0u | 0u); - ctx.gpr[11] = (aot_gpr_17 | 0u); + ctx.gpr[11] = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08997920u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0063_entry, 63u, 90u, 0x0890043Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08997920u) goto L_08997920; @@ -9254,7 +9255,7 @@ L_08997940: ctx.fpr[28] = std::bit_cast(aot_run_words[4]); ctx.fpr[30] = std::bit_cast(aot_run_words[5]); ctx.gpr[16] = aot_run_words[6]; - aot_gpr_17 = aot_run_words[7]; + ctx.gpr[17] = aot_run_words[7]; ctx.gpr[18] = aot_run_words[8]; ctx.gpr[19] = aot_run_words[9]; ctx.gpr[20] = aot_run_words[10]; @@ -9274,7 +9275,7 @@ L_08997988: aot_gpr_29 = (aot_gpr_29 + static_cast(-128)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(112), ctx.gpr[30]); ctx.gpr[30] = (aot_gpr_4 | 0u); - { const std::uint32_t aot_run_words[15]{aot_gpr_5, std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(aot_fpr_26), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), ctx.gpr[16], aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23]}; + { const std::uint32_t aot_run_words[15]{aot_gpr_5, std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(aot_fpr_26), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(52), aot_run_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(116), aot_gpr_31); aot_gpr_4 = (0u | 144u); @@ -9325,7 +9326,7 @@ L_08997988: L_08997A84: aot_gpr_31 = (0x08997A8Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08997A8Cu) goto L_08997A8C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_28, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08997A8Cu) goto L_08997A8C; AOT_REGCACHE_SYNC_OUT(); return; L_08997A8C: aot_fpr_12 = aot_fpr_26 - aot_fpr_20; @@ -9333,7 +9334,7 @@ L_08997A8C: aot_fpr_12 = aot_fpr_20 + aot_fpr_12; aot_gpr_31 = (0x08997AA0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08997AA0u) goto L_08997AA0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_28, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08997AA0u) goto L_08997AA0; AOT_REGCACHE_SYNC_OUT(); return; L_08997AA0: aot_fpr_12 = aot_fpr_26 - aot_fpr_20; @@ -9341,7 +9342,7 @@ L_08997AA0: aot_fpr_12 = aot_fpr_20 + aot_fpr_12; aot_gpr_31 = (0x08997AB4u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08997AB4u) goto L_08997AB4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_28, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08997AB4u) goto L_08997AB4; AOT_REGCACHE_SYNC_OUT(); return; L_08997AB4: aot_fpr_12 = ctx.fpr[30] - ctx.fpr[24]; @@ -9351,19 +9352,19 @@ L_08997AB4: aot_fpr_12 = aot_fpr_13 + aot_fpr_12; aot_gpr_31 = (0x08997AD0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08997AD0u) goto L_08997AD0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08997AD0u) goto L_08997AD0; AOT_REGCACHE_SYNC_OUT(); return; L_08997AD0: ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-13788))); ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-13792))); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08997AE4u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08997AE4u) goto L_08997AE4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08997AE4u) goto L_08997AE4; AOT_REGCACHE_SYNC_OUT(); return; L_08997AE4: ctx.gpr[1] = (ctx.gpr[3] << 1u); - aot_gpr_4 = (ctx.gpr[2] >> 31u); + aot_gpr_4 = (aot_gpr_2 >> 31u); aot_gpr_5 = (static_cast(static_cast(ctx.gpr[3]) >> 31u)); aot_gpr_4 = (ctx.gpr[1] | aot_gpr_4); ctx.gpr[6] = (aot_gpr_4 + ctx.gpr[22]); @@ -9372,12 +9373,12 @@ L_08997AE4: aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-13800))); ctx.gpr[7] = (aot_gpr_4 + ctx.gpr[23]); aot_gpr_4 = (aot_gpr_5 + static_cast(1)); - aot_gpr_17 = (aot_gpr_4 & 255u); + ctx.gpr[17] = (aot_gpr_4 & 255u); ctx.gpr[18] = (ctx.gpr[6] | 0u); aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-13800), static_cast(aot_gpr_4)); aot_gpr_31 = (0x08997B20u); - aot_gpr_17 = (aot_gpr_17 & 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08997B20u) goto L_08997B20; + ctx.gpr[17] = (ctx.gpr[17] & 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_28, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08997B20u) goto L_08997B20; AOT_REGCACHE_SYNC_OUT(); return; L_08997B20: aot_fpr_12 = ctx.fpr[28] - ctx.fpr[22]; @@ -9410,7 +9411,7 @@ L_08997B44: ctx.gpr[7] = (0u | 0u); ctx.gpr[9] = (ctx.gpr[18] | 0u); ctx.gpr[10] = (0u | 0u); - ctx.gpr[11] = (aot_gpr_17 | 0u); + ctx.gpr[11] = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08997B6Cu); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0063_entry, 63u, 90u, 0x0890043Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08997B6Cu) goto L_08997B6C; @@ -9442,7 +9443,7 @@ L_08997B8C: ctx.fpr[28] = std::bit_cast(aot_run_words[4]); ctx.fpr[30] = std::bit_cast(aot_run_words[5]); ctx.gpr[16] = aot_run_words[6]; - aot_gpr_17 = aot_run_words[7]; + ctx.gpr[17] = aot_run_words[7]; ctx.gpr[18] = aot_run_words[8]; ctx.gpr[19] = aot_run_words[9]; ctx.gpr[20] = aot_run_words[10]; @@ -9460,11 +9461,11 @@ L_08997B8C: AOT_REGCACHE_SYNC_OUT(); return; L_08997BD4: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - { const std::uint32_t aot_run_words[3]{ctx.gpr[16], aot_gpr_17, aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[16], ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(32), aot_run_words); } ctx.gpr[16] = (aot_gpr_5 | 0u); - aot_gpr_17 = (aot_gpr_4 | 0u); - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + ctx.gpr[17] = (aot_gpr_4 | 0u); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -9483,7 +9484,7 @@ L_08997BD4: goto L_0899751C; L_08997C00: aot_gpr_4 = (0u | 84u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08997C10u); ctx.gpr[6] = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0018_entry, 18u, 46u, 0x0884C57Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08997C10u) goto L_08997C10; @@ -9492,7 +9493,7 @@ L_08997C10: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(32), aot_run_words); ctx.gpr[16] = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -9505,7 +9506,7 @@ L_08997C24: aot_gpr_29 = (aot_gpr_29 + static_cast(-192)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(168), ctx.gpr[22]); ctx.gpr[22] = (aot_gpr_4 | 0u); - { const std::uint32_t aot_run_words[13]{aot_gpr_5, std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(aot_fpr_26), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), ctx.gpr[16], aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21]}; + { const std::uint32_t aot_run_words[13]{aot_gpr_5, std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(aot_fpr_26), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(116), aot_run_words); } { const std::uint32_t aot_run_words[3]{ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(172), aot_run_words); } @@ -9538,7 +9539,7 @@ L_08997C24: aot_gpr_4 = (15948u << 16u); aot_gpr_4 = (aot_gpr_4 | 52429u); ctx.fpr[30] = std::bit_cast(aot_gpr_4); - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_4 = (16128u << 16u); ctx.gpr[21] = (aot_gpr_29 + static_cast(32)); ctx.fpr[28] = std::bit_cast(aot_gpr_4); @@ -9550,7 +9551,7 @@ L_08997C24: L_08997D04: aot_gpr_31 = (0x08997D0Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08997D0Cu) goto L_08997D0C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_28, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08997D0Cu) goto L_08997D0C; AOT_REGCACHE_SYNC_OUT(); return; L_08997D0C: aot_fpr_12 = aot_fpr_26 - aot_fpr_20; @@ -9558,7 +9559,7 @@ L_08997D0C: aot_fpr_12 = aot_fpr_20 + aot_fpr_12; aot_gpr_31 = (0x08997D20u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08997D20u) goto L_08997D20; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_28, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08997D20u) goto L_08997D20; AOT_REGCACHE_SYNC_OUT(); return; L_08997D20: aot_fpr_12 = aot_fpr_26 - aot_fpr_20; @@ -9566,7 +9567,7 @@ L_08997D20: aot_fpr_12 = aot_fpr_20 + aot_fpr_12; aot_gpr_31 = (0x08997D34u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08997D34u) goto L_08997D34; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_28, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08997D34u) goto L_08997D34; AOT_REGCACHE_SYNC_OUT(); return; L_08997D34: aot_gpr_4 = (16000u << 16u); @@ -9578,21 +9579,21 @@ L_08997D34: aot_fpr_12 = aot_fpr_13 + aot_fpr_12; aot_gpr_31 = (0x08997D58u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08997D58u) goto L_08997D58; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08997D58u) goto L_08997D58; AOT_REGCACHE_SYNC_OUT(); return; L_08997D58: ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-13788))); ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-13792))); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08997D6Cu); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08997D6Cu) goto L_08997D6C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08997D6Cu) goto L_08997D6C; AOT_REGCACHE_SYNC_OUT(); return; L_08997D6C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-13780))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-13784))); ctx.gpr[1] = (ctx.gpr[3] << 1u); - ctx.gpr[6] = (ctx.gpr[2] >> 31u); + ctx.gpr[6] = (aot_gpr_2 >> 31u); ctx.gpr[7] = (static_cast(static_cast(ctx.gpr[3]) >> 31u)); ctx.gpr[6] = (ctx.gpr[1] | ctx.gpr[6]); ctx.gpr[8] = (ctx.gpr[6] + aot_gpr_4); @@ -9607,7 +9608,7 @@ L_08997D6C: aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-13800), static_cast(aot_gpr_4)); aot_gpr_31 = (0x08997DB4u); ctx.gpr[18] = (ctx.gpr[18] & 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08997DB4u) goto L_08997DB4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_28, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08997DB4u) goto L_08997DB4; AOT_REGCACHE_SYNC_OUT(); return; L_08997DB4: aot_fpr_12 = ctx.fpr[30] - ctx.fpr[24]; @@ -9647,7 +9648,7 @@ L_08997DD8: AOT_REGCACHE_SYNC_OUT(); return; L_08997E00: aot_gpr_4 = (0u | 7u); - { const std::int32_t dividend = static_cast(aot_gpr_17); const std::int32_t divisor = static_cast(aot_gpr_4); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } + { const std::int32_t dividend = static_cast(ctx.gpr[17]); const std::int32_t divisor = static_cast(aot_gpr_4); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } aot_gpr_4 = (ctx.hi); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -9711,8 +9712,8 @@ L_08997E24: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0063_entry, 63u, 90u, 0x0890043Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08997E7Cu) goto L_08997E7C; AOT_REGCACHE_SYNC_OUT(); return; L_08997E7C: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - aot_gpr_4 = (static_cast(aot_gpr_17) < 16 ? 1u : 0u); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + aot_gpr_4 = (static_cast(ctx.gpr[17]) < 16 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -9737,7 +9738,7 @@ L_08997E9C: ctx.fpr[28] = std::bit_cast(aot_run_words[4]); ctx.fpr[30] = std::bit_cast(aot_run_words[5]); ctx.gpr[16] = aot_run_words[6]; - aot_gpr_17 = aot_run_words[7]; + ctx.gpr[17] = aot_run_words[7]; ctx.gpr[18] = aot_run_words[8]; ctx.gpr[19] = aot_run_words[9]; ctx.gpr[20] = aot_run_words[10]; @@ -9757,7 +9758,7 @@ L_08997EE4: aot_gpr_29 = (aot_gpr_29 + static_cast(-128)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(112), ctx.gpr[30]); ctx.gpr[30] = (aot_gpr_4 | 0u); - { const std::uint32_t aot_run_words[15]{aot_gpr_5, std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(aot_fpr_26), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), ctx.gpr[16], aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23]}; + { const std::uint32_t aot_run_words[15]{aot_gpr_5, std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(aot_fpr_26), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(52), aot_run_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(116), aot_gpr_31); aot_gpr_4 = (0u | 200u); @@ -9802,7 +9803,7 @@ L_08997EE4: L_08997FC8: aot_gpr_31 = (0x08997FD0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08997FD0u) goto L_08997FD0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_28, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08997FD0u) goto L_08997FD0; AOT_REGCACHE_SYNC_OUT(); return; L_08997FD0: aot_fpr_12 = aot_fpr_26 - aot_fpr_20; @@ -9810,7 +9811,7 @@ L_08997FD0: aot_fpr_12 = aot_fpr_20 + aot_fpr_12; aot_gpr_31 = (0x08997FE4u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08997FE4u) goto L_08997FE4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_28, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08997FE4u) goto L_08997FE4; AOT_REGCACHE_SYNC_OUT(); return; L_08997FE4: aot_fpr_12 = aot_fpr_26 - aot_fpr_20; @@ -9818,7 +9819,7 @@ L_08997FE4: aot_fpr_12 = aot_fpr_20 + aot_fpr_12; aot_gpr_31 = (0x08997FF8u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08997FF8u) goto L_08997FF8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_28, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08997FF8u) goto L_08997FF8; AOT_REGCACHE_SYNC_OUT(); return; L_08997FF8: aot_fpr_12 = ctx.fpr[30] - ctx.fpr[24]; diff --git a/profiles/vcs/generated/generated_unit_0101.cpp b/profiles/vcs/generated/generated_unit_0101.cpp index 22b2f03..8d1d2ca 100644 --- a/profiles/vcs/generated/generated_unit_0101.cpp +++ b/profiles/vcs/generated/generated_unit_0101.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0101[4096] = { }; void recomp_unit_0101_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,29,5,16,31,6 fprs=12,13,14,20 gpr_occ=3000 fpr_occ=1422 gpr_total=4211 fpr_total=2141 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,29,5,31,6,16 fprs=12,13,14,20 gpr_occ=3142 fpr_occ=1423 gpr_total=4458 fpr_total=2142 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; - std::uint32_t aot_gpr_16 = ctx.gpr[16]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; std::uint32_t aot_gpr_6 = ctx.gpr[6]; + std::uint32_t aot_gpr_16 = ctx.gpr[16]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_14 = ctx.fpr[14]; float aot_fpr_20 = ctx.fpr[20]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[29] = aot_gpr_29; ctx.gpr[5] = aot_gpr_5; ctx.gpr[16] = aot_gpr_16; ctx.gpr[31] = aot_gpr_31; ctx.gpr[6] = aot_gpr_6; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[20] = aot_fpr_20; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_6 = ctx.gpr[6]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_20 = ctx.fpr[20]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[29] = aot_gpr_29; ctx.gpr[5] = aot_gpr_5; ctx.gpr[31] = aot_gpr_31; ctx.gpr[6] = aot_gpr_6; ctx.gpr[16] = aot_gpr_16; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[20] = aot_fpr_20; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_16 = ctx.gpr[16]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_20 = ctx.fpr[20]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -725,7 +726,7 @@ L_08998000: aot_fpr_12 = aot_fpr_13 + aot_fpr_12; aot_gpr_31 = (0x08998014u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08998014u) goto L_08998014; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08998014u) goto L_08998014; AOT_REGCACHE_SYNC_OUT(); return; L_08998014: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-13788))); @@ -733,7 +734,7 @@ L_08998014: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08998028u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08998028u) goto L_08998028; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08998028u) goto L_08998028; AOT_REGCACHE_SYNC_OUT(); return; L_08998028: ctx.gpr[1] = (ctx.gpr[3] << 1u); @@ -751,7 +752,7 @@ L_08998028: aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-13800), static_cast(aot_gpr_4)); aot_gpr_31 = (0x08998064u); ctx.gpr[17] = (ctx.gpr[17] & 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08998064u) goto L_08998064; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08998064u) goto L_08998064; AOT_REGCACHE_SYNC_OUT(); return; L_08998064: aot_fpr_12 = ctx.fpr[28] - ctx.fpr[22]; @@ -879,7 +880,7 @@ L_08998118: L_089981F0: aot_gpr_31 = (0x089981F8u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(60), aot_gpr_16); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089981F8u) goto L_089981F8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089981F8u) goto L_089981F8; AOT_REGCACHE_SYNC_OUT(); return; L_089981F8: aot_fpr_12 = ctx.fpr[28] - aot_fpr_20; @@ -887,7 +888,7 @@ L_089981F8: aot_fpr_12 = aot_fpr_20 + aot_fpr_12; aot_gpr_31 = (0x0899820Cu); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899820Cu) goto L_0899820C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899820Cu) goto L_0899820C; AOT_REGCACHE_SYNC_OUT(); return; L_0899820C: aot_fpr_12 = ctx.fpr[28] - aot_fpr_20; @@ -895,7 +896,7 @@ L_0899820C: aot_fpr_12 = aot_fpr_20 + aot_fpr_12; aot_gpr_31 = (0x08998220u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08998220u) goto L_08998220; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08998220u) goto L_08998220; AOT_REGCACHE_SYNC_OUT(); return; L_08998220: aot_gpr_4 = (16000u << 16u); @@ -907,7 +908,7 @@ L_08998220: aot_fpr_12 = aot_fpr_13 + aot_fpr_12; aot_gpr_31 = (0x08998244u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08998244u) goto L_08998244; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08998244u) goto L_08998244; AOT_REGCACHE_SYNC_OUT(); return; L_08998244: aot_gpr_4 = (ctx.gpr[2] | 0u); @@ -915,7 +916,7 @@ L_08998244: ctx.gpr[7] = (ctx.gpr[23] | 0u); aot_gpr_31 = (0x08998258u); aot_gpr_6 = (ctx.gpr[22] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08998258u) goto L_08998258; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08998258u) goto L_08998258; AOT_REGCACHE_SYNC_OUT(); return; L_08998258: ctx.gpr[1] = (ctx.gpr[3] << 1u); @@ -934,7 +935,7 @@ L_08998258: aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-13800), static_cast(aot_gpr_4)); aot_gpr_31 = (0x08998298u); aot_gpr_16 = (aot_gpr_5 & 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08998298u) goto L_08998298; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08998298u) goto L_08998298; AOT_REGCACHE_SYNC_OUT(); return; L_08998298: aot_gpr_4 = (15948u << 16u); @@ -945,7 +946,7 @@ L_08998298: { const float fs = aot_fpr_12; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_31 = (0x089982B8u); ctx.fpr[24] = ctx.fpr[24] + aot_fpr_12; - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089982B8u) goto L_089982B8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089982B8u) goto L_089982B8; AOT_REGCACHE_SYNC_OUT(); return; L_089982B8: aot_fpr_13 = ctx.fpr[30] - ctx.fpr[22]; @@ -1077,7 +1078,7 @@ L_089983B4: L_0899848C: aot_gpr_31 = (0x08998494u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(60), aot_gpr_16); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08998494u) goto L_08998494; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08998494u) goto L_08998494; AOT_REGCACHE_SYNC_OUT(); return; L_08998494: aot_fpr_12 = ctx.fpr[28] - aot_fpr_20; @@ -1085,7 +1086,7 @@ L_08998494: aot_fpr_12 = aot_fpr_20 + aot_fpr_12; aot_gpr_31 = (0x089984A8u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089984A8u) goto L_089984A8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089984A8u) goto L_089984A8; AOT_REGCACHE_SYNC_OUT(); return; L_089984A8: aot_fpr_12 = ctx.fpr[28] - aot_fpr_20; @@ -1093,7 +1094,7 @@ L_089984A8: aot_fpr_12 = aot_fpr_20 + aot_fpr_12; aot_gpr_31 = (0x089984BCu); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089984BCu) goto L_089984BC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089984BCu) goto L_089984BC; AOT_REGCACHE_SYNC_OUT(); return; L_089984BC: aot_gpr_4 = (16000u << 16u); @@ -1105,7 +1106,7 @@ L_089984BC: aot_fpr_12 = aot_fpr_13 + aot_fpr_12; aot_gpr_31 = (0x089984E0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089984E0u) goto L_089984E0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089984E0u) goto L_089984E0; AOT_REGCACHE_SYNC_OUT(); return; L_089984E0: aot_gpr_4 = (ctx.gpr[2] | 0u); @@ -1113,7 +1114,7 @@ L_089984E0: ctx.gpr[7] = (ctx.gpr[23] | 0u); aot_gpr_31 = (0x089984F4u); aot_gpr_6 = (ctx.gpr[22] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089984F4u) goto L_089984F4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089984F4u) goto L_089984F4; AOT_REGCACHE_SYNC_OUT(); return; L_089984F4: ctx.gpr[1] = (ctx.gpr[3] << 1u); @@ -1132,7 +1133,7 @@ L_089984F4: aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-13800), static_cast(aot_gpr_4)); aot_gpr_31 = (0x08998534u); aot_gpr_16 = (aot_gpr_5 & 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08998534u) goto L_08998534; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08998534u) goto L_08998534; AOT_REGCACHE_SYNC_OUT(); return; L_08998534: aot_gpr_4 = (15651u << 16u); @@ -1143,7 +1144,7 @@ L_08998534: { const float fs = aot_fpr_12; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_31 = (0x08998554u); ctx.fpr[24] = ctx.fpr[24] + aot_fpr_12; - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08998554u) goto L_08998554; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08998554u) goto L_08998554; AOT_REGCACHE_SYNC_OUT(); return; L_08998554: aot_fpr_13 = ctx.fpr[30] - ctx.fpr[22]; @@ -1269,7 +1270,7 @@ L_08998650: L_08998710: aot_gpr_31 = (0x08998718u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), aot_gpr_16); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08998718u) goto L_08998718; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08998718u) goto L_08998718; AOT_REGCACHE_SYNC_OUT(); return; L_08998718: aot_fpr_12 = ctx.fpr[28] - aot_fpr_20; @@ -1277,7 +1278,7 @@ L_08998718: aot_fpr_12 = aot_fpr_20 + aot_fpr_12; aot_gpr_31 = (0x0899872Cu); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899872Cu) goto L_0899872C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899872Cu) goto L_0899872C; AOT_REGCACHE_SYNC_OUT(); return; L_0899872C: aot_fpr_12 = ctx.fpr[28] - aot_fpr_20; @@ -1285,7 +1286,7 @@ L_0899872C: aot_fpr_12 = aot_fpr_20 + aot_fpr_12; aot_gpr_31 = (0x08998740u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08998740u) goto L_08998740; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08998740u) goto L_08998740; AOT_REGCACHE_SYNC_OUT(); return; L_08998740: aot_fpr_12 = std::bit_cast(0u); @@ -1294,7 +1295,7 @@ L_08998740: aot_fpr_12 = ctx.fpr[26] + aot_fpr_12; aot_gpr_31 = (0x08998758u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08998758u) goto L_08998758; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08998758u) goto L_08998758; AOT_REGCACHE_SYNC_OUT(); return; L_08998758: aot_gpr_4 = (ctx.gpr[2] | 0u); @@ -1302,7 +1303,7 @@ L_08998758: ctx.gpr[7] = (ctx.gpr[23] | 0u); aot_gpr_31 = (0x0899876Cu); aot_gpr_6 = (ctx.gpr[22] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899876Cu) goto L_0899876C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899876Cu) goto L_0899876C; AOT_REGCACHE_SYNC_OUT(); return; L_0899876C: ctx.gpr[1] = (ctx.gpr[3] << 1u); @@ -1321,7 +1322,7 @@ L_0899876C: aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-13800), static_cast(aot_gpr_4)); aot_gpr_31 = (0x089987ACu); aot_gpr_16 = (aot_gpr_5 & 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089987ACu) goto L_089987AC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089987ACu) goto L_089987AC; AOT_REGCACHE_SYNC_OUT(); return; L_089987AC: aot_fpr_12 = ctx.fpr[22] - ctx.fpr[22]; @@ -1329,7 +1330,7 @@ L_089987AC: { const float fs = aot_fpr_12; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_31 = (0x089987C0u); ctx.fpr[22] = ctx.fpr[22] + aot_fpr_12; - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089987C0u) goto L_089987C0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089987C0u) goto L_089987C0; AOT_REGCACHE_SYNC_OUT(); return; L_089987C0: aot_fpr_13 = ctx.fpr[30] - ctx.fpr[24]; @@ -1650,7 +1651,7 @@ L_08998A10: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_31 = (0x08998AC4u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08998AC4u) goto L_08998AC4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08998AC4u) goto L_08998AC4; AOT_REGCACHE_SYNC_OUT(); return; L_08998AC4: aot_fpr_12 = ctx.fpr[24] - aot_fpr_20; @@ -4106,7 +4107,7 @@ L_08999BB4: ctx.fpr[22] = std::sqrt(ctx.fpr[22]); aot_gpr_31 = (0x08999C38u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[22])); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08999C38u) goto L_08999C38; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08999C38u) goto L_08999C38; AOT_REGCACHE_SYNC_OUT(); return; L_08999C38: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-13516))); @@ -4114,7 +4115,7 @@ L_08999C38: aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08999C4Cu); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08999C4Cu) goto L_08999C4C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B6256C, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08999C4Cu) goto L_08999C4C; AOT_REGCACHE_SYNC_OUT(); return; L_08999C4C: if (static_cast(ctx.gpr[2]) >= 0) { @@ -7409,7 +7410,7 @@ L_0899B258: L_0899B298: aot_gpr_31 = (0x0899B2A0u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899B2A0u) goto L_0899B2A0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899B2A0u) goto L_0899B2A0; AOT_REGCACHE_SYNC_OUT(); return; L_0899B2A0: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -7551,7 +7552,7 @@ L_0899B38C: L_0899B394: aot_gpr_31 = (0x0899B39Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899B39Cu) goto L_0899B39C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899B39Cu) goto L_0899B39C; AOT_REGCACHE_SYNC_OUT(); return; L_0899B39C: aot_gpr_4 = (aot_gpr_16 & 1u); @@ -7567,7 +7568,7 @@ L_0899B3A0: L_0899B3A8: aot_gpr_31 = (0x0899B3B0u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899B3B0u) goto L_0899B3B0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899B3B0u) goto L_0899B3B0; AOT_REGCACHE_SYNC_OUT(); return; L_0899B3B0: { std::uint32_t aot_run_words[3]{}; diff --git a/profiles/vcs/generated/generated_unit_0102.cpp b/profiles/vcs/generated/generated_unit_0102.cpp index 02457c1..f965fa1 100644 --- a/profiles/vcs/generated/generated_unit_0102.cpp +++ b/profiles/vcs/generated/generated_unit_0102.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include "vcs_camera_input.hpp" #include #include @@ -139,20 +140,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0102[4095] = { }; void recomp_unit_0102_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,16,20,31 fprs=12,13,14,20 gpr_occ=2951 fpr_occ=1735 gpr_total=3653 fpr_total=2341 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,16,31,28 fprs=12,13,14,20 gpr_occ=2967 fpr_occ=1735 gpr_total=3693 fpr_total=2341 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_16 = ctx.gpr[16]; - std::uint32_t aot_gpr_20 = ctx.gpr[20]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; + std::uint32_t aot_gpr_28 = ctx.gpr[28]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_14 = ctx.fpr[14]; float aot_fpr_20 = ctx.fpr[20]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[16] = aot_gpr_16; ctx.gpr[20] = aot_gpr_20; ctx.gpr[31] = aot_gpr_31; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[20] = aot_fpr_20; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_20 = ctx.gpr[20]; aot_gpr_31 = ctx.gpr[31]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_20 = ctx.fpr[20]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[16] = aot_gpr_16; ctx.gpr[31] = aot_gpr_31; ctx.gpr[28] = aot_gpr_28; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[20] = aot_fpr_20; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_28 = ctx.gpr[28]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_20 = ctx.fpr[20]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -952,7 +953,7 @@ L_0899C074: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } goto L_0899C0CC; L_0899C0CC: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5848))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5848))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -966,7 +967,7 @@ L_0899C0D8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 351u, 0x08B657E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899C0E0u) goto L_0899C0E0; AOT_REGCACHE_SYNC_OUT(); return; L_0899C0E0: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5848))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5848))); { const bool branch_taken = aot_gpr_4 != 0u; aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(11248))); if (branch_taken) { @@ -980,7 +981,7 @@ L_0899C0EC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 351u, 0x08B657E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899C0F4u) goto L_0899C0F4; AOT_REGCACHE_SYNC_OUT(); return; L_0899C0F4: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5848))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5848))); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(11244))); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -1012,7 +1013,7 @@ L_0899C118: goto L_0899C12C; } L_0899C12C: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7676))); aot_gpr_4 = (17279u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } @@ -1052,7 +1053,7 @@ L_0899C170: goto L_0899C184; } L_0899C184: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7676))); aot_gpr_4 = (17279u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } @@ -1110,7 +1111,7 @@ L_0899C1F0: } L_0899C200: aot_gpr_4 = (0u + static_cast(-1)); - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-7584), aot_gpr_4); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-7584), aot_gpr_4); goto L_0899C208; L_0899C208: aot_gpr_4 = (aot_gpr_16 + static_cast(32)); @@ -1330,7 +1331,7 @@ L_0899C398: L_0899C3B8: aot_gpr_31 = (0x0899C3C0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(112))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899C3C0u) goto L_0899C3C0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B01E00, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899C3C0u) goto L_0899C3C0; AOT_REGCACHE_SYNC_OUT(); return; L_0899C3C0: aot_gpr_4 = (0u | 3u); @@ -1358,7 +1359,7 @@ L_0899C3E0: L_0899C3E4: aot_gpr_31 = (0x0899C3ECu); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(112))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899C3ECu) goto L_0899C3EC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B01E00, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899C3ECu) goto L_0899C3EC; AOT_REGCACHE_SYNC_OUT(); return; L_0899C3EC: aot_gpr_4 = (0u | 5u); @@ -1789,12 +1790,12 @@ L_0899C680: AOT_REGCACHE_SYNC_OUT(); return; L_0899C6A0: aot_gpr_29 = (aot_gpr_29 + static_cast(-1264)); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(6784))); + ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(6784))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1224), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); { const std::uint32_t aot_run_words[4]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(1208), aot_run_words); } - { const std::uint32_t aot_run_words[9]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_20, ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; + { const std::uint32_t aot_run_words[9]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(1228), aot_run_words); } { const bool branch_taken = ctx.gpr[6] != 0u; ctx.gpr[17] = (aot_gpr_5 | 0u); @@ -1806,9 +1807,9 @@ L_0899C6A0: L_0899C6EC: aot_gpr_4 = (0u | 1u); aot_fpr_12 = std::bit_cast(0u); - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(6784), aot_gpr_4); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(6784), aot_gpr_4); { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_12)}; - aot_mem.aot_direct_store32_block(ctx.gpr[28] + static_cast(6800), aot_run_words); } + aot_mem.aot_direct_store32_block(aot_gpr_28 + static_cast(6800), aot_run_words); } goto L_0899C704; L_0899C704: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(112))); @@ -1827,7 +1828,7 @@ L_0899C704: L_0899C724: aot_gpr_31 = (0x0899C72Cu); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(112))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899C72Cu) goto L_0899C72C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899C72Cu) goto L_0899C72C; AOT_REGCACHE_SYNC_OUT(); return; L_0899C72C: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -1847,7 +1848,7 @@ L_0899C734: aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); aot_gpr_31 = (0x0899C758u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899C758u) goto L_0899C758; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899C758u) goto L_0899C758; AOT_REGCACHE_SYNC_OUT(); return; L_0899C758: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(1929)))))); @@ -1856,7 +1857,7 @@ L_0899C758: aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); aot_gpr_4 = (ctx.gpr[18] + aot_gpr_4); - aot_gpr_20 = (0u | 0u); + ctx.gpr[20] = (0u | 0u); aot_gpr_31 = (0x0899C77Cu); aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0143_entry, 143u, 159u, 0x08A40D34u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899C77Cu) goto L_0899C77C; @@ -1894,7 +1895,7 @@ L_0899C794: goto L_0899C79C; } L_0899C79C: - aot_gpr_20 = (0u | 2u); + ctx.gpr[20] = (0u | 2u); goto L_0899C7A0; L_0899C7A0: aot_gpr_31 = (0x0899C7A8u); @@ -1956,7 +1957,7 @@ L_0899C7F0: } goto L_0899C7F8; L_0899C7F8: - aot_gpr_20 = (0u | 1u); + ctx.gpr[20] = (0u | 1u); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(1929)))))); goto L_0899C800; L_0899C800: @@ -1993,7 +1994,7 @@ L_0899C82C: goto L_0899C854; } L_0899C854: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-13696))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-13696))); goto L_0899C858; L_0899C858: aot_gpr_4 = (2236u << 16u); @@ -2009,7 +2010,7 @@ L_0899C858: L_0899C86C: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(163))); if (aot_gpr_4 == 0u) { - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-13688))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-13688))); goto L_0899C880; } goto L_0899C878; @@ -2022,7 +2023,7 @@ L_0899C878: goto L_0899C880; } L_0899C880: - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7676))); ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(296))); { const float fs = aot_fpr_13; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } ctx.fpr[15] = ctx.fpr[15] + aot_fpr_13; @@ -2078,18 +2079,18 @@ L_0899C8DC: } goto L_0899C8E8; L_0899C8E8: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(6816))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(6816))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(6820))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(6820))); goto L_0899C908; } goto L_0899C8F4; L_0899C8F4: aot_gpr_4 = (0u | 1u); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-13684))); - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(6816), aot_gpr_4); - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(6824), std::bit_cast(aot_fpr_12)); - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(6820))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-13684))); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(6816), aot_gpr_4); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(6824), std::bit_cast(aot_fpr_12)); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(6820))); goto L_0899C908; L_0899C908: { const bool branch_taken = aot_gpr_4 != 0u; @@ -2101,27 +2102,27 @@ L_0899C908: } L_0899C910: aot_gpr_4 = (0u | 1u); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-13680))); - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(6820), aot_gpr_4); - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(6828), std::bit_cast(aot_fpr_12)); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-13680))); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(6820), aot_gpr_4); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(6828), std::bit_cast(aot_fpr_12)); goto L_0899C920; L_0899C920: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-13684))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-13684))); aot_fpr_14 = std::bit_cast(0u); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(163))); { const bool branch_taken = aot_gpr_4 == 0u; - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-13680))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-13680))); if (branch_taken) { goto L_0899C948; } goto L_0899C934; } L_0899C934: - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(6824), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(6824), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(0u); - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(6828), std::bit_cast(aot_fpr_13)); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(6828), std::bit_cast(aot_fpr_13)); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-13496), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-13496), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_0899C9D0; } @@ -2139,8 +2140,8 @@ L_0899C948: goto L_0899C95C; } L_0899C95C: - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-13676))); - ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); + ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-13676))); + ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7676))); aot_gpr_4 = (std::bit_cast(ctx.fpr[15])); aot_gpr_5 = (std::bit_cast(ctx.fpr[16])); ctx.set_vfpu_scalar_bits_ct<0u>(aot_gpr_4); @@ -2150,32 +2151,32 @@ L_0899C95C: ctx.execute_vfpu_unary_ct<32u, 0u, 1u, 20u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<32u>()); ctx.fpr[15] = std::bit_cast(aot_gpr_4); - ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(6824))); + ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(6824))); { const float fs = ctx.fpr[16]; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[16] = std::bit_cast(0x7FC00000u); else ctx.fpr[16] = fs * ft; } aot_gpr_4 = (16256u << 16u); ctx.fpr[17] = std::bit_cast(aot_gpr_4); ctx.fpr[17] = ctx.fpr[17] - ctx.fpr[15]; { const float fs = ctx.fpr[17]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = ctx.fpr[16] + aot_fpr_12; - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(6824), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(6828))); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(6824), std::bit_cast(aot_fpr_12)); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(6828))); { const float fs = aot_fpr_12; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } { const float fs = ctx.fpr[17]; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_fpr_12 = aot_fpr_12 + aot_fpr_13; - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(6828), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-13496))); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(6828), std::bit_cast(aot_fpr_12)); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-13496))); { const float fs = aot_fpr_12; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } { const float fs = ctx.fpr[17]; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } aot_fpr_12 = aot_fpr_12 + aot_fpr_14; - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-13496), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-13496), std::bit_cast(aot_fpr_12)); goto L_0899C9D0; L_0899C9D0: aot_gpr_4 = (16457u << 16u); goto L_0899C9D4; L_0899C9D4: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(6824))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(6824))); aot_gpr_4 = (aot_gpr_4 | 4059u); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(6828))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(6828))); aot_fpr_14 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (17204u << 16u); { const float fs = aot_fpr_13; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[22] = std::bit_cast(0x7FC00000u); else ctx.fpr[22] = fs * ft; } @@ -2273,7 +2274,7 @@ L_0899CAA4: AOT_REGCACHE_SYNC_OUT(); return; L_0899CAD0: aot_gpr_4 = (16256u << 16u); - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16972))); + ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-16972))); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_12 = aot_fpr_12 / ctx.fpr[15]; ctx.fpr[16] = std::bit_cast(0u); @@ -2323,7 +2324,7 @@ L_0899CB34: goto L_0899CB38; L_0899CB38: aot_fpr_12 = std::bit_cast(0u); - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-13496), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-13496), std::bit_cast(aot_fpr_12)); goto L_0899CB40; L_0899CB40: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(163))); @@ -2339,8 +2340,8 @@ L_0899CB4C: aot_fpr_12 = std::bit_cast(0u); aot_gpr_4 = (0u | 1u); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(161), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_gpr_20 << 5u); - aot_gpr_5 = (aot_gpr_20 << 2u); + aot_gpr_4 = (ctx.gpr[20] << 5u); + aot_gpr_5 = (ctx.gpr[20] << 2u); aot_gpr_4 = (aot_gpr_4 - aot_gpr_5); aot_gpr_5 = (2234u << 16u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(292), std::bit_cast(aot_fpr_12)); @@ -2700,7 +2701,7 @@ L_0899CD88: goto L_0899CD94; } L_0899CD94: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-13492))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-13492))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(232))); { const float fs = aot_fpr_12; const float ft = ctx.fpr[24]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = aot_fpr_13 + aot_fpr_12; @@ -2750,8 +2751,8 @@ L_0899CDE8: goto L_0899CDF4; } L_0899CDF4: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-13740))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-13740))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7676))); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); aot_gpr_5 = (std::bit_cast(aot_fpr_13)); ctx.set_vfpu_scalar_bits_ct<0u>(aot_gpr_4); @@ -2763,7 +2764,7 @@ L_0899CDF4: aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); - aot_gpr_4 = (ctx.gpr[28] + static_cast(6800)); + aot_gpr_4 = (aot_gpr_28 + static_cast(6800)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -2874,7 +2875,7 @@ L_0899CEA4: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_4 = (ctx.gpr[28] + static_cast(6800)); + aot_gpr_4 = (aot_gpr_28 + static_cast(6800)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; @@ -2887,8 +2888,8 @@ L_0899CEA4: goto L_0899CEBC; } L_0899CEBC: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-13744))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-13744))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7676))); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); aot_gpr_5 = (std::bit_cast(aot_fpr_13)); ctx.set_vfpu_scalar_bits_ct<0u>(aot_gpr_4); @@ -2900,7 +2901,7 @@ L_0899CEBC: ctx.fpr[24] = std::bit_cast(aot_gpr_4); ctx.gpr[21] = (aot_gpr_29 + static_cast(304)); ctx.gpr[22] = (aot_gpr_29 + static_cast(320)); - ctx.gpr[23] = (ctx.gpr[28] + static_cast(6800)); + ctx.gpr[23] = (aot_gpr_28 + static_cast(6800)); aot_gpr_4 = (ctx.gpr[22] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[24])); aot_gpr_31 = (0x0899CF04u); @@ -2940,7 +2941,7 @@ L_0899CF30: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } goto L_0899CF38; L_0899CF38: - aot_gpr_4 = (ctx.gpr[28] + static_cast(6800)); + aot_gpr_4 = (aot_gpr_28 + static_cast(6800)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -3125,8 +3126,8 @@ L_0899D034: ctx.execute_vfpu_unary_ct<28u, 28u, 1u, 22u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_gpr_4 = (aot_gpr_20 << 5u); - aot_gpr_5 = (aot_gpr_20 << 2u); + aot_gpr_4 = (ctx.gpr[20] << 5u); + aot_gpr_5 = (ctx.gpr[20] << 2u); aot_gpr_4 = (aot_gpr_4 - aot_gpr_5); aot_gpr_5 = (2234u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(5240)); @@ -3237,8 +3238,8 @@ L_0899D13C: ctx.fpr[26] = ctx.fpr[26] - aot_fpr_12; goto L_0899D14C; L_0899D14C: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-13700))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-13700))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7676))); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(163))); { const bool branch_taken = aot_gpr_4 == 0u; { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } @@ -3429,14 +3430,14 @@ L_0899D2B8: aot_fpr_12 = std::bit_cast(ctx.gpr[2]); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20) & 0x7FFFFFFFu); - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-13704))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-13704))); aot_gpr_4 = (17056u << 16u); ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(296))); ctx.fpr[16] = std::bit_cast(aot_gpr_4); ctx.fpr[15] = ctx.fpr[15] / ctx.fpr[16]; aot_gpr_4 = (15762u << 16u); aot_gpr_4 = (aot_gpr_4 | 18725u); - ctx.fpr[18] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); + ctx.fpr[18] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7676))); { const float fs = aot_fpr_14; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } ctx.fpr[17] = std::bit_cast(aot_gpr_4); { const float fs = aot_fpr_14; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } @@ -3453,7 +3454,7 @@ L_0899D2B8: { const float fs = aot_fpr_14; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } { const float fs = aot_fpr_14; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } { const float fs = aot_fpr_14; const float ft = ctx.fpr[18]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-13488))); + ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-13488))); ctx.fpr[16] = std::bit_cast(std::bit_cast(aot_fpr_20) & 0x7FFFFFFFu); aot_gpr_4 = (16384u << 16u); ctx.fpr[17] = std::bit_cast(aot_gpr_4); @@ -3480,10 +3481,10 @@ L_0899D344: goto L_0899D360; } L_0899D360: - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-13484))); + ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-13484))); goto L_0899D364; L_0899D364: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7676))); aot_gpr_4 = (std::bit_cast(ctx.fpr[15])); aot_gpr_5 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<0u>(aot_gpr_4); @@ -3548,15 +3549,15 @@ L_0899D414: aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_4 = (aot_gpr_20 << 5u); + aot_gpr_4 = (ctx.gpr[20] << 5u); if (branch_taken) { goto L_0899D4D8; } goto L_0899D42C; } L_0899D42C: - aot_gpr_4 = (aot_gpr_20 << 5u); - aot_gpr_5 = (aot_gpr_20 << 2u); + aot_gpr_4 = (ctx.gpr[20] << 5u); + aot_gpr_5 = (ctx.gpr[20] << 2u); aot_gpr_4 = (aot_gpr_4 - aot_gpr_5); aot_gpr_5 = (2234u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(5240)); @@ -3566,15 +3567,15 @@ L_0899D42C: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); - aot_gpr_4 = (aot_gpr_20 << 5u); + aot_gpr_4 = (ctx.gpr[20] << 5u); if (branch_taken) { goto L_0899D480; } goto L_0899D45C; } L_0899D45C: - aot_gpr_4 = (aot_gpr_20 << 5u); - aot_gpr_5 = (aot_gpr_20 << 2u); + aot_gpr_4 = (ctx.gpr[20] << 5u); + aot_gpr_5 = (ctx.gpr[20] << 2u); aot_gpr_4 = (aot_gpr_4 - aot_gpr_5); aot_gpr_5 = (2234u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(5240)); @@ -3588,7 +3589,7 @@ L_0899D45C: goto L_0899D480; } L_0899D480: - aot_gpr_5 = (aot_gpr_20 << 2u); + aot_gpr_5 = (ctx.gpr[20] << 2u); aot_gpr_4 = (aot_gpr_4 - aot_gpr_5); aot_gpr_5 = (2234u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(5240)); @@ -3599,15 +3600,15 @@ L_0899D480: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); - aot_gpr_4 = (aot_gpr_20 << 5u); + aot_gpr_4 = (ctx.gpr[20] << 5u); if (branch_taken) { goto L_0899D4D8; } goto L_0899D4B0; } L_0899D4B0: - aot_gpr_4 = (aot_gpr_20 << 5u); - aot_gpr_5 = (aot_gpr_20 << 2u); + aot_gpr_4 = (ctx.gpr[20] << 5u); + aot_gpr_5 = (ctx.gpr[20] << 2u); aot_gpr_4 = (aot_gpr_4 - aot_gpr_5); aot_gpr_5 = (2234u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(5240)); @@ -3617,10 +3618,10 @@ L_0899D4B0: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(120), std::bit_cast(aot_fpr_12)); goto L_0899D4D4; L_0899D4D4: - aot_gpr_4 = (aot_gpr_20 << 5u); + aot_gpr_4 = (ctx.gpr[20] << 5u); goto L_0899D4D8; L_0899D4D8: - aot_gpr_5 = (aot_gpr_20 << 2u); + aot_gpr_5 = (ctx.gpr[20] << 2u); aot_fpr_12 = std::bit_cast(0u); aot_gpr_4 = (aot_gpr_4 - aot_gpr_5); aot_gpr_5 = (2234u << 16u); @@ -3637,8 +3638,8 @@ L_0899D4D8: goto L_0899D504; } L_0899D504: - aot_gpr_4 = (aot_gpr_20 << 5u); - aot_gpr_5 = (aot_gpr_20 << 2u); + aot_gpr_4 = (ctx.gpr[20] << 5u); + aot_gpr_5 = (ctx.gpr[20] << 2u); aot_gpr_4 = (aot_gpr_4 - aot_gpr_5); aot_gpr_5 = (2234u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(5240)); @@ -3666,8 +3667,8 @@ L_0899D544: ctx.execute_vfpu_unary_ct<1u, 64u, 1u, 19u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<1u>()); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_gpr_4 = (aot_gpr_20 << 5u); - aot_gpr_5 = (aot_gpr_20 << 2u); + aot_gpr_4 = (ctx.gpr[20] << 5u); + aot_gpr_5 = (ctx.gpr[20] << 2u); aot_gpr_4 = (aot_gpr_4 - aot_gpr_5); aot_gpr_5 = (2234u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(5240)); @@ -3693,8 +3694,8 @@ L_0899D58C: ctx.execute_vfpu_unary_ct<1u, 64u, 1u, 19u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<1u>()); aot_fpr_13 = std::bit_cast(aot_gpr_4); - aot_gpr_4 = (aot_gpr_20 << 5u); - aot_gpr_5 = (aot_gpr_20 << 2u); + aot_gpr_4 = (ctx.gpr[20] << 5u); + aot_gpr_5 = (ctx.gpr[20] << 2u); aot_gpr_4 = (aot_gpr_4 - aot_gpr_5); aot_gpr_5 = (2234u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(5240)); @@ -3843,7 +3844,7 @@ L_0899D5D0: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(128), 0u); ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(112))); - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8068), ctx.gpr[6]); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(8068), ctx.gpr[6]); ctx.gpr[6] = (aot_gpr_29 + static_cast(96)); ctx.gpr[7] = (aot_gpr_29 + static_cast(128)); ctx.gpr[2] = (0u | 1u); @@ -4464,7 +4465,7 @@ L_0899D9A0: goto L_0899DAC4; } L_0899DAC4: - aot_gpr_4 = (ctx.gpr[28] + static_cast(6800)); + aot_gpr_4 = (aot_gpr_28 + static_cast(6800)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -4716,7 +4717,7 @@ L_0899DC28: L_0899DC3C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(128))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(96))); - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8068), aot_gpr_4); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(8068), aot_gpr_4); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(100))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(672), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(104))); @@ -4830,7 +4831,7 @@ L_0899DD28: aot_gpr_5 = (15692u << 16u); aot_fpr_13 = aot_fpr_12 - aot_fpr_13; aot_gpr_5 = (aot_gpr_5 | 52429u); - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8896))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8896))); aot_fpr_12 = std::bit_cast(aot_gpr_5); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); // nop @@ -4859,7 +4860,7 @@ L_0899DD64: aot_fpr_13 = aot_fpr_20 - aot_fpr_13; aot_gpr_5 = (aot_gpr_5 | 26214u); aot_fpr_12 = std::bit_cast(aot_gpr_5); - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8896))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8896))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); // nop if (((ctx.fcr31 & 0x00800000u) != 0u)) { @@ -4920,7 +4921,7 @@ L_0899DDE4: aot_gpr_5 = (15692u << 16u); aot_fpr_13 = aot_fpr_12 - aot_fpr_13; aot_gpr_5 = (aot_gpr_5 | 52429u); - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8896))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8896))); aot_fpr_12 = std::bit_cast(aot_gpr_5); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); // nop @@ -5001,8 +5002,8 @@ L_0899DE18: goto L_0899DE98; } L_0899DE98: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-13748))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-13752))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-13748))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-13752))); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<1u>(aot_gpr_4); @@ -5026,7 +5027,7 @@ L_0899DE98: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899DEC4u) goto L_0899DEC4; AOT_REGCACHE_SYNC_OUT(); return; L_0899DEC4: - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8068), 0u); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(8068), 0u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(296))); aot_gpr_4 = (16457u << 16u); aot_gpr_4 = (aot_gpr_4 | 4059u); @@ -5048,7 +5049,7 @@ L_0899DEC4: ctx.execute_vfpu_vec3_ct<0u, 33u, 1u, 1u, 3u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<0u>()); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -5063,7 +5064,7 @@ L_0899DF20: AOT_REGCACHE_SYNC_OUT(); return; L_0899DF28: aot_gpr_31 = (0x0899DF30u); - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0112_entry, 112u, 677u, 0x089C6F50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899DF30u) goto L_0899DF30; AOT_REGCACHE_SYNC_OUT(); return; L_0899DF30: @@ -5093,7 +5094,7 @@ L_0899DF40: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0101_entry, 101u, 356u, 0x0899B100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899DF5Cu) goto L_0899DF5C; AOT_REGCACHE_SYNC_OUT(); return; L_0899DF5C: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-13752))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-13752))); aot_gpr_31 = (0x0899DF68u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0101_entry, 101u, 335u, 0x0899ADECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899DF68u) goto L_0899DF68; @@ -5162,7 +5163,7 @@ L_0899DFA4: ctx.gpr[17] = aot_run_words[5]; ctx.gpr[18] = aot_run_words[6]; ctx.gpr[19] = aot_run_words[7]; - aot_gpr_20 = aot_run_words[8]; + ctx.gpr[20] = aot_run_words[8]; ctx.gpr[21] = aot_run_words[9]; ctx.gpr[22] = aot_run_words[10]; ctx.gpr[23] = aot_run_words[11]; @@ -5178,9 +5179,9 @@ L_0899DFA4: L_0899DFE4: aot_gpr_29 = (aot_gpr_29 + static_cast(-1184)); ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(112))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1156), aot_gpr_20); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1156), ctx.gpr[20]); ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(72))); - aot_gpr_20 = (aot_gpr_4 | 0u); + ctx.gpr[20] = (aot_gpr_4 | 0u); aot_gpr_4 = (ctx.gpr[6] & 14u); aot_gpr_4 = (aot_gpr_4 ^ 6u); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); @@ -5198,8 +5199,8 @@ L_0899DFE4: } L_0899E04C: aot_gpr_31 = (0x0899E054u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_20 + static_cast(112))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899E054u) goto L_0899E054; + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(112))); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899E054u) goto L_0899E054; AOT_REGCACHE_SYNC_OUT(); return; L_0899E054: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -5210,8 +5211,8 @@ L_0899E054: goto L_0899E05C; } L_0899E05C: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-1044))); - aot_gpr_5 = (aot_gpr_20 + static_cast(32)); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-1044))); + aot_gpr_5 = (ctx.gpr[20] + static_cast(32)); ctx.gpr[6] = (2234u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1044), aot_gpr_5); ctx.gpr[6] = (ctx.gpr[6] + static_cast(5324)); @@ -5225,11 +5226,11 @@ L_0899E05C: ctx.fpr[26] = std::bit_cast(aot_gpr_5); ctx.gpr[21] = (aot_gpr_29 + static_cast(144)); aot_gpr_5 = (16256u << 16u); - ctx.gpr[30] = (aot_gpr_20 + static_cast(16)); + ctx.gpr[30] = (ctx.gpr[20] + static_cast(16)); ctx.fpr[24] = std::bit_cast(aot_gpr_5); - aot_gpr_16 = (aot_gpr_20 + static_cast(528)); + aot_gpr_16 = (ctx.gpr[20] + static_cast(528)); { const bool branch_taken = aot_gpr_4 != 0u; - ctx.gpr[22] = (aot_gpr_20 + static_cast(544)); + ctx.gpr[22] = (ctx.gpr[20] + static_cast(544)); if (branch_taken) { goto L_0899E0C4; } @@ -5260,7 +5261,7 @@ L_0899E0BC: goto L_0899E0C4; } L_0899E0C4: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-1044))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-1044))); aot_gpr_5 = (0u | 4u); if (aot_gpr_4 == aot_gpr_5) { aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1112), ctx.gpr[17]); @@ -5270,14 +5271,14 @@ L_0899E0C4: L_0899E0D4: aot_gpr_5 = (16025u << 16u); aot_gpr_5 = (aot_gpr_5 | 39322u); - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8896))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8896))); aot_gpr_31 = (0x0899E0E8u); aot_fpr_12 = std::bit_cast(aot_gpr_5); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 111u, 0x08890798u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899E0E8u) goto L_0899E0E8; AOT_REGCACHE_SYNC_OUT(); return; L_0899E0E8: aot_gpr_5 = (17530u << 16u); - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8896))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8896))); aot_gpr_31 = (0x0899E0F8u); aot_fpr_12 = std::bit_cast(aot_gpr_5); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 117u, 0x088907E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899E0F8u) goto L_0899E0F8; @@ -5286,7 +5287,7 @@ L_0899E0F8: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1112), ctx.gpr[17]); goto L_0899E0FC; L_0899E0FC: - ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_20 + static_cast(112))); + ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(112))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(128), 0u); { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; @@ -5308,7 +5309,7 @@ L_0899E0FC: L_0899E114: ctx.gpr[6] = (ctx.gpr[2] | 0u); aot_gpr_4 = (0u | 0u); - ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-13531))); + ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-13531))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(1088), static_cast(aot_gpr_4)); { const bool branch_taken = ctx.gpr[7] == 0u; aot_gpr_5 = (ctx.gpr[18] + static_cast(320)); @@ -5318,8 +5319,8 @@ L_0899E114: goto L_0899E12C; } L_0899E12C: - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-13531), static_cast(0u)); - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-13480), std::bit_cast(ctx.fpr[28])); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-13531), static_cast(0u)); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-13480), std::bit_cast(ctx.fpr[28])); goto L_0899E134; L_0899E134: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1084), ctx.gpr[6]); @@ -5353,9 +5354,9 @@ L_0899E16C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1096), ctx.gpr[22]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1068), ctx.gpr[30]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1028), ctx.gpr[18]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1040), aot_gpr_20); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1040), ctx.gpr[20]); aot_gpr_4 = (aot_gpr_4 & 255u); - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-13476))); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-13476))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1036), aot_gpr_4); aot_gpr_4 = (ctx.gpr[7] | aot_gpr_5); { const bool branch_taken = aot_gpr_4 != 0u; @@ -5430,12 +5431,12 @@ L_0899E1E4: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<2u, 4u>(vfpu_value); } ctx.execute_vfpu_cross_quat_ct<0u, 1u, 2u, 3u>(); - aot_gpr_20 = (aot_gpr_29 + static_cast(224)); + ctx.gpr[20] = (aot_gpr_29 + static_cast(224)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_20 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[20] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - { const std::uint32_t vfpu_address = aot_gpr_20 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[20] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -5452,7 +5453,7 @@ L_0899E1E4: ctx.execute_vfpu_vscl_ct<1u, 1u, 28u, 3u>(); ctx.execute_vfpu_vcmov_ct<1u, 0u, 3u, 0u, false>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<1u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_20 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[20] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (15918u << 16u); @@ -5460,7 +5461,7 @@ L_0899E1E4: aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<1u>(aot_gpr_4); - { const std::uint32_t vfpu_address = aot_gpr_20 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[20] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -5471,14 +5472,14 @@ L_0899E1E4: ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 1u, 3u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_20 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[20] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (16384u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (std::bit_cast(aot_fpr_13)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); - { const std::uint32_t vfpu_address = aot_gpr_20 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[20] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -5576,7 +5577,7 @@ L_0899E2CC: aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); ctx.fpr[22] = std::bit_cast(aot_gpr_4); aot_gpr_31 = (0x0899E314u); - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8896))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8896))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 122u, 0x08890830u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899E314u) goto L_0899E314; AOT_REGCACHE_SYNC_OUT(); return; L_0899E314: @@ -5600,11 +5601,11 @@ L_0899E324: } L_0899E330: aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-13480))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-13480))); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); { const float fs = aot_fpr_12; const float ft = aot_fpr_20; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = aot_fpr_13 + aot_fpr_12; - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-13480), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-13480), std::bit_cast(aot_fpr_12)); goto L_0899E348; L_0899E348: ctx.gpr[19] = (ctx.gpr[19] + static_cast(1)); @@ -5612,7 +5613,7 @@ L_0899E348: L_0899E34C: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x0899E358u); - aot_gpr_5 = (aot_gpr_20 | 0u); + aot_gpr_5 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899E358u) goto L_0899E358; AOT_REGCACHE_SYNC_OUT(); return; L_0899E358: @@ -5625,7 +5626,7 @@ L_0899E358: goto L_0899E364; } L_0899E364: - aot_gpr_20 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1040))); + ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1040))); ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1028))); ctx.gpr[22] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1096))); ctx.gpr[21] = (aot_gpr_29 + static_cast(144)); @@ -5653,7 +5654,7 @@ L_0899E38C: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(1088), static_cast(aot_gpr_4)); goto L_0899E394; L_0899E394: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-13476))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-13476))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -5662,38 +5663,38 @@ L_0899E394: goto L_0899E3A0; } L_0899E3A0: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-13476))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-13476))); aot_gpr_4 = (aot_gpr_4 + static_cast(-1)); - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-13476), aot_gpr_4); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-13476), aot_gpr_4); goto L_0899E3AC; L_0899E3AC: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(1088))); if (aot_gpr_4 == 0u) { - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_20 + static_cast(124))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(124))); goto L_0899E3C0; } goto L_0899E3B8; L_0899E3B8: { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-13480), std::bit_cast(ctx.fpr[28])); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-13480), std::bit_cast(ctx.fpr[28])); if (branch_taken) { goto L_0899E3E4; } goto L_0899E3C0; } L_0899E3C0: - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-13480))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-13480))); aot_gpr_4 = (16243u << 16u); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; aot_gpr_4 = (aot_gpr_4 | 13107u); aot_fpr_14 = std::bit_cast(aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_20 + static_cast(124), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-13480))); + aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(124), std::bit_cast(aot_fpr_12)); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-13480))); { const float fs = aot_fpr_12; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-13480), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-13480), std::bit_cast(aot_fpr_12)); goto L_0899E3E4; L_0899E3E4: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-1044))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-1044))); { const bool branch_taken = aot_gpr_4 == 0u; ctx.gpr[17] = (0u | 0u); if (branch_taken) { @@ -5702,7 +5703,7 @@ L_0899E3E4: goto L_0899E3F0; } L_0899E3F0: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-1044))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-1044))); aot_gpr_5 = (0u | 4u); if (aot_gpr_4 == aot_gpr_5) { aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1060))); @@ -5728,7 +5729,7 @@ L_0899E408: ctx.fpr[30] = aot_fpr_12 + ctx.fpr[30]; aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(52))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(56))); - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-13540))); + ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-13540))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1080), std::bit_cast(aot_fpr_13)); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[30] <= ctx.fpr[15])) ? 0x00800000u : 0u); // nop @@ -5744,7 +5745,7 @@ L_0899E450: goto L_0899E454; L_0899E454: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-13540), std::bit_cast(ctx.fpr[30])); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-13540), std::bit_cast(ctx.fpr[30])); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1972))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_13) || std::isnan(ctx.fpr[24])) && aot_fpr_13 == ctx.fpr[24])) ? 0x00800000u : 0u); // nop @@ -5756,7 +5757,7 @@ L_0899E454: goto L_0899E470; } L_0899E470: - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_20 + static_cast(320))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(320))); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1064), std::bit_cast(aot_fpr_12)); @@ -5779,7 +5780,7 @@ L_0899E480: goto L_0899E49C; } L_0899E49C: - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_20 + static_cast(324))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(324))); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1064), std::bit_cast(aot_fpr_12)); @@ -5802,7 +5803,7 @@ L_0899E4AC: goto L_0899E4C8; } L_0899E4C8: - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_20 + static_cast(328))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(328))); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1064), std::bit_cast(aot_fpr_12)); goto L_0899E4D4; @@ -5816,7 +5817,7 @@ L_0899E4D4: goto L_0899E4E0; } L_0899E4E0: - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_20 + static_cast(163))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[20] + static_cast(163))); ctx.gpr[6] = (17036u << 16u); { const bool branch_taken = aot_gpr_5 == 0u; aot_fpr_12 = std::bit_cast(ctx.gpr[6]); @@ -5827,16 +5828,16 @@ L_0899E4E0: } L_0899E4F0: { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_20 + static_cast(296), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(296), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_0899E558; } goto L_0899E4F8; } L_0899E4F8: - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-13688))); - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_20 + static_cast(296))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-13688))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7676))); + ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(296))); { const float fs = aot_fpr_13; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } ctx.fpr[15] = ctx.fpr[15] + aot_fpr_13; ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[15])) ? 0x00800000u : 0u); @@ -5849,17 +5850,17 @@ L_0899E4F8: goto L_0899E51C; } L_0899E51C: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_20 + static_cast(296))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(296))); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_20 + static_cast(296), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(296), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_0899E558; } goto L_0899E52C; } L_0899E52C: - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_20 + static_cast(296))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(296))); aot_fpr_14 = aot_fpr_14 - aot_fpr_13; ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_14)) ? 0x00800000u : 0u); // nop @@ -5871,22 +5872,22 @@ L_0899E52C: goto L_0899E544; } L_0899E544: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_20 + static_cast(296))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(296))); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_20 + static_cast(296), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(296), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_0899E558; } goto L_0899E554; } L_0899E554: - aot_mem.aot_direct_store32(aot_gpr_20 + static_cast(296), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(296), std::bit_cast(aot_fpr_12)); goto L_0899E558; L_0899E558: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(152))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_20 + static_cast(112))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(112))); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; { const bool branch_taken = aot_gpr_5 == 0u; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(152), std::bit_cast(aot_fpr_12)); @@ -5896,7 +5897,7 @@ L_0899E558: goto L_0899E570; } L_0899E570: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_20 + static_cast(112))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(112))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(72))); aot_gpr_5 = (aot_gpr_5 & 14u); aot_gpr_5 = (aot_gpr_5 ^ 6u); @@ -5910,7 +5911,7 @@ L_0899E570: goto L_0899E590; } L_0899E590: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_20 + static_cast(112))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(112))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(236))); aot_gpr_5 = (aot_gpr_5 & 256u); { const bool branch_taken = aot_gpr_5 == 0u; @@ -5970,7 +5971,7 @@ L_0899E5F0: } goto L_0899E600; L_0899E600: - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_20 + static_cast(163))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[20] + static_cast(163))); { const bool branch_taken = aot_gpr_5 != 0u; ctx.fpr[24] = std::bit_cast(std::bit_cast(aot_fpr_20)); if (branch_taken) { @@ -5997,13 +5998,13 @@ L_0899E618: goto L_0899E624; } L_0899E624: - aot_mem.aot_direct_store8(aot_gpr_20 + static_cast(164), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[20] + static_cast(164), static_cast(0u)); aot_gpr_5 = (17530u << 16u); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-13532), static_cast(0u)); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-13532), static_cast(0u)); aot_fpr_20 = std::bit_cast(aot_gpr_5); aot_gpr_5 = (0u | 1u); - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-13536), std::bit_cast(aot_fpr_20)); - aot_mem.aot_direct_store8(aot_gpr_20 + static_cast(161), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-13536), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store8(ctx.gpr[20] + static_cast(161), static_cast(aot_gpr_5)); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(2066))); { const bool branch_taken = aot_gpr_5 != 0u; // nop @@ -6052,7 +6053,7 @@ L_0899E684: goto L_0899E688; L_0899E688: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1056))); - aot_mem.aot_direct_store32(aot_gpr_20 + static_cast(124), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(124), std::bit_cast(aot_fpr_12)); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(2057))); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_5 = (16457u << 16u); @@ -6062,16 +6063,16 @@ L_0899E688: goto L_0899E69C; } L_0899E69C: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_20 + static_cast(124))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(124))); aot_gpr_5 = (aot_gpr_5 | 4059u); aot_fpr_13 = std::bit_cast(aot_gpr_5); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; - aot_mem.aot_direct_store32(aot_gpr_20 + static_cast(124), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(124), std::bit_cast(aot_fpr_12)); goto L_0899E6B0; L_0899E6B0: - aot_mem.aot_direct_store32(aot_gpr_20 + static_cast(304), std::bit_cast(ctx.fpr[28])); - aot_mem.aot_direct_store32(aot_gpr_20 + static_cast(292), std::bit_cast(ctx.fpr[28])); - aot_mem.aot_direct_store32(aot_gpr_20 + static_cast(4), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(304), std::bit_cast(ctx.fpr[28])); + aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(292), std::bit_cast(ctx.fpr[28])); + aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(4), std::bit_cast(aot_fpr_20)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(2066))); if (aot_gpr_4 != 0u) { aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1092), std::bit_cast(ctx.fpr[24])); @@ -6079,38 +6080,38 @@ L_0899E6B0: } goto L_0899E6C8; L_0899E6C8: - aot_mem.aot_direct_store32(aot_gpr_20 + static_cast(120), std::bit_cast(ctx.fpr[28])); + aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(120), std::bit_cast(ctx.fpr[28])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1092), std::bit_cast(ctx.fpr[24])); goto L_0899E6D0; L_0899E6D0: aot_gpr_31 = (0x0899E6D8u); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_20 + static_cast(124))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(124))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0101_entry, 101u, 113u, 0x08998FC8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899E6D8u) goto L_0899E6D8; AOT_REGCACHE_SYNC_OUT(); return; L_0899E6D8: aot_fpr_20 = std::bit_cast(std::bit_cast(ctx.fpr[0])); aot_gpr_31 = (0x0899E6E4u); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_20 + static_cast(120))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(120))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0101_entry, 101u, 113u, 0x08998FC8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899E6E4u) goto L_0899E6E4; AOT_REGCACHE_SYNC_OUT(); return; L_0899E6E4: { const float fs = aot_fpr_20; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } ctx.fpr[26] = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); aot_gpr_31 = (0x0899E6F4u); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_20 + static_cast(124))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(124))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0101_entry, 101u, 112u, 0x08998FA4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899E6F4u) goto L_0899E6F4; AOT_REGCACHE_SYNC_OUT(); return; L_0899E6F4: aot_fpr_20 = std::bit_cast(std::bit_cast(ctx.fpr[0])); aot_gpr_31 = (0x0899E700u); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_20 + static_cast(120))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(120))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0101_entry, 101u, 113u, 0x08998FC8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899E700u) goto L_0899E700; AOT_REGCACHE_SYNC_OUT(); return; L_0899E700: { const float fs = aot_fpr_20; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_fpr_20 = std::bit_cast(std::bit_cast(aot_fpr_13) ^ 0x80000000u); aot_gpr_31 = (0x0899E710u); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_20 + static_cast(120))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(120))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0101_entry, 101u, 112u, 0x08998FA4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899E710u) goto L_0899E710; AOT_REGCACHE_SYNC_OUT(); return; L_0899E710: @@ -6183,8 +6184,8 @@ L_0899E710: const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); - aot_mem.aot_direct_store32(aot_gpr_20 + static_cast(592), ctx.gpr[6]); + ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7660))); + aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(592), ctx.gpr[6]); ctx.gpr[6] = (std::bit_cast(ctx.fpr[30])); ctx.set_vfpu_scalar_bits_ct<28u>(ctx.gpr[6]); { const std::uint32_t vfpu_address = ctx.gpr[30] + static_cast(0); @@ -6249,7 +6250,7 @@ L_0899E710: L_0899E79C: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1064))); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); - aot_mem.aot_direct_store32(aot_gpr_20 + static_cast(120), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(120), std::bit_cast(aot_fpr_12)); goto L_0899E7A8; L_0899E7A8: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(160), std::bit_cast(ctx.fpr[30])); @@ -6379,13 +6380,13 @@ L_0899E840: goto L_0899E844; L_0899E844: ctx.fpr[24] = std::bit_cast(std::bit_cast(ctx.fpr[28])); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_20 + static_cast(16))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(16))); ctx.fpr[30] = std::bit_cast(std::bit_cast(ctx.fpr[24])); aot_gpr_4 = (16329u << 16u); ctx.fpr[26] = std::bit_cast(std::bit_cast(ctx.fpr[30])); aot_gpr_4 = (aot_gpr_4 | 4059u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_20 + static_cast(20))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(20))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(ctx.fpr[26])) && aot_fpr_12 == ctx.fpr[26])) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); @@ -6528,7 +6529,7 @@ L_0899E95C: ctx.fpr[22] = ctx.fpr[28] - aot_fpr_20; goto L_0899E974; L_0899E974: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_20 + static_cast(112))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(112))); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1929)))))); aot_gpr_5 = (aot_gpr_4 << 5u); aot_gpr_4 = (aot_gpr_4 << 2u); @@ -6537,7 +6538,7 @@ L_0899E974: aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); aot_gpr_31 = (0x0899E998u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899E998u) goto L_0899E998; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899E998u) goto L_0899E998; AOT_REGCACHE_SYNC_OUT(); return; L_0899E998: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(4))); @@ -6603,7 +6604,7 @@ L_0899EA04: } L_0899EA0C: aot_gpr_4 = (0u | 1u); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-13532), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-13532), static_cast(aot_gpr_4)); aot_gpr_4 = (16416u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1048), std::bit_cast(aot_fpr_12)); @@ -6638,14 +6639,14 @@ L_0899EA40: L_0899EA50: aot_gpr_4 = (0u | 1u); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-13532), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-13532), static_cast(aot_gpr_4)); if (branch_taken) { goto L_0899EAB8; } goto L_0899EA5C; } L_0899EA5C: - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-13532))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-13532))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -6693,7 +6694,7 @@ L_0899EA94: goto L_0899EAB4; } L_0899EAB4: - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-13532), static_cast(0u)); + aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-13532), static_cast(0u)); goto L_0899EAB8; L_0899EAB8: aot_gpr_4 = (16445u << 16u); @@ -6708,7 +6709,7 @@ L_0899EAB8: } goto L_0899EAD8; L_0899EAD8: - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-13532))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-13532))); if (aot_gpr_4 != 0u) { aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(40))); goto L_0899EAF8; @@ -6728,10 +6729,10 @@ L_0899EAF4: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(40))); goto L_0899EAF8; L_0899EAF8: - ctx.fpr[26] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); + ctx.fpr[26] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7676))); ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(44))); { const float fs = aot_fpr_12; const float ft = ctx.fpr[26]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-13532))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-13532))); { const bool branch_taken = aot_gpr_4 != 0u; { const float fs = ctx.fpr[15]; const float ft = ctx.fpr[26]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[26] = std::bit_cast(0x7FC00000u); else ctx.fpr[26] = fs * ft; } if (branch_taken) { @@ -6750,7 +6751,7 @@ L_0899EB10: goto L_0899EB20; } L_0899EB20: - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-13464))); + ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-13464))); { const float fs = ctx.fpr[15]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_14 < aot_fpr_12)) ? 0x00800000u : 0u); // nop @@ -6760,7 +6761,7 @@ L_0899EB20: } goto L_0899EB38; L_0899EB38: - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-13460))); + ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-13460))); ctx.fpr[30] = std::bit_cast(std::bit_cast(aot_fpr_12)); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_13) || std::isnan(ctx.fpr[16])) && aot_fpr_13 == ctx.fpr[16])) ? 0x00800000u : 0u); // nop @@ -6911,7 +6912,7 @@ L_0899EC18: goto L_0899EC1C; L_0899EC1C: aot_fpr_20 = aot_fpr_20 + ctx.fpr[24]; - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_20 + static_cast(124))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(124))); aot_gpr_4 = (aot_gpr_4 | 4059u); ctx.fpr[15] = std::bit_cast(aot_gpr_4); aot_fpr_12 = aot_fpr_12 + ctx.fpr[15]; @@ -6936,7 +6937,7 @@ L_0899EC40: goto L_0899EC54; } L_0899EC54: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_20 + static_cast(124))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(124))); aot_fpr_12 = aot_fpr_12 - ctx.fpr[15]; ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_20 < aot_fpr_12)) ? 0x00800000u : 0u); // nop @@ -6954,8 +6955,8 @@ L_0899EC6C: aot_fpr_20 = aot_fpr_20 + aot_fpr_12; goto L_0899EC7C; L_0899EC7C: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_20 + static_cast(124))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(124))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7676))); aot_fpr_12 = aot_fpr_20 - aot_fpr_12; ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 < aot_fpr_14)) ? 0x00800000u : 0u); aot_fpr_20 = ctx.fpr[28] - aot_fpr_20; @@ -6975,18 +6976,18 @@ L_0899EC98: goto L_0899ECA0; } L_0899ECA0: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7676))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1052), std::bit_cast(aot_fpr_12)); goto L_0899ECA8; L_0899ECA8: - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_20 + static_cast(24))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(24))); ctx.fpr[24] = std::bit_cast(std::bit_cast(aot_fpr_14)); aot_gpr_4 = (49024u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[24] < aot_fpr_13)) ? 0x00800000u : 0u); // nop if (!((ctx.fcr31 & 0x00800000u) != 0u)) { - ctx.fpr[24] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_20 + static_cast(24))); + ctx.fpr[24] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(24))); goto L_0899ECC8; } goto L_0899ECC8; @@ -7073,7 +7074,7 @@ L_0899ED74: aot_gpr_4 = (16230u << 16u); aot_gpr_4 = (aot_gpr_4 | 26214u); ctx.fpr[15] = std::bit_cast(aot_gpr_4); - ctx.fpr[17] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); + ctx.fpr[17] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7676))); aot_gpr_4 = (std::bit_cast(ctx.fpr[15])); aot_gpr_5 = (std::bit_cast(ctx.fpr[17])); ctx.set_vfpu_scalar_bits_ct<0u>(aot_gpr_4); @@ -7121,7 +7122,7 @@ L_0899EDF8: ctx.fpr[24] = ctx.fpr[24] - aot_fpr_13; goto L_0899EE08; L_0899EE08: - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-13532))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-13532))); { const bool branch_taken = aot_gpr_4 == 0u; aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[16])); if (branch_taken) { @@ -7224,7 +7225,7 @@ L_0899EEBC: goto L_0899EEC0; L_0899EEC0: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(20))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7676))); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); aot_gpr_5 = (std::bit_cast(aot_fpr_13)); ctx.set_vfpu_scalar_bits_ct<0u>(aot_gpr_4); @@ -7237,7 +7238,7 @@ L_0899EEC0: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(24))); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } ctx.fpr[28] = aot_fpr_14 - ctx.fpr[15]; - ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_20 + static_cast(120))); + ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(120))); ctx.fpr[16] = ctx.fpr[24] - ctx.fpr[16]; { const float fs = ctx.fpr[28]; const float ft = ctx.fpr[16]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[28] = std::bit_cast(0x7FC00000u); else ctx.fpr[28] = fs * ft; } ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[28])) ? 0x00800000u : 0u); @@ -7309,17 +7310,17 @@ L_0899EF6C: // the camera into the stock endpoint. if (std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + 1104u)) > 1.0f && aot_fpr_20 > 0.0f && - std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_20 + 120u)) >= + std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + 120u)) >= vcs::vcs_ped_camera_up_limit_radians()) { aot_fpr_20 = 0.0f; - aot_mem.aot_direct_store32(aot_gpr_20 + 292u, 0u); + aot_mem.aot_direct_store32(ctx.gpr[20] + 292u, 0u); } aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[22]) & 0x7FFFFFFFu); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-13704))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-13704))); { const float fs = aot_fpr_13; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } { const float fs = aot_fpr_13; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } { const float fs = aot_fpr_12; const float ft = ctx.fpr[22]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_20 + static_cast(296))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(296))); aot_gpr_4 = (17056u << 16u); ctx.fpr[15] = std::bit_cast(aot_gpr_4); aot_fpr_14 = aot_fpr_14 / ctx.fpr[15]; @@ -7337,7 +7338,7 @@ L_0899EF6C: { const float fs = aot_fpr_14; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } { const float fs = ctx.fpr[30]; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[30] = std::bit_cast(0x7FC00000u); else ctx.fpr[30] = fs * ft; } aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(32))); - ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); + ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7676))); aot_gpr_4 = (std::bit_cast(aot_fpr_13)); aot_gpr_5 = (std::bit_cast(ctx.fpr[16])); ctx.set_vfpu_scalar_bits_ct<0u>(aot_gpr_4); @@ -7376,7 +7377,7 @@ L_0899F024: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); // nop if (!((ctx.fcr31 & 0x00800000u) != 0u)) { - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_20 + static_cast(304))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(304))); goto L_0899F040; } goto L_0899F038; @@ -7384,13 +7385,13 @@ L_0899F038: aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_13)); goto L_0899F03C; L_0899F03C: - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_20 + static_cast(304))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(304))); goto L_0899F040; L_0899F040: { const float fs = ctx.fpr[26]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } { const float fs = aot_fpr_20; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_fpr_12 = aot_fpr_13 + aot_fpr_12; - aot_mem.aot_direct_store32(aot_gpr_20 + static_cast(304), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(304), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) & 0x7FFFFFFFu); aot_gpr_4 = (14545u << 16u); aot_gpr_4 = (aot_gpr_4 | 46871u); @@ -7406,11 +7407,11 @@ L_0899F040: } L_0899F070: aot_fpr_12 = std::bit_cast(0u); - aot_mem.aot_direct_store32(aot_gpr_20 + static_cast(304), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(304), std::bit_cast(aot_fpr_12)); goto L_0899F078; L_0899F078: aot_gpr_31 = (0x0899F080u); - aot_gpr_4 = (aot_gpr_20 | 0u); + aot_gpr_4 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0101_entry, 101u, 124u, 0x08999134u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899F080u) goto L_0899F080; AOT_REGCACHE_SYNC_OUT(); return; L_0899F080: @@ -7422,16 +7423,16 @@ L_0899F080: goto L_0899F088; } L_0899F088: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_20 + static_cast(304))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_20 + static_cast(124))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(304))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7676))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(124))); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = aot_fpr_14 + aot_fpr_12; - aot_mem.aot_direct_store32(aot_gpr_20 + static_cast(124), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(124), std::bit_cast(aot_fpr_12)); goto L_0899F0A0; L_0899F0A0: aot_gpr_31 = (0x0899F0A8u); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_20 + static_cast(124))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(124))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0162_entry, 162u, 580u, 0x08A8F0B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899F0A8u) goto L_0899F0A8; AOT_REGCACHE_SYNC_OUT(); return; L_0899F0A8: @@ -7439,7 +7440,7 @@ L_0899F0A8: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[0] < aot_fpr_13)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); - aot_mem.aot_direct_store32(aot_gpr_20 + static_cast(124), std::bit_cast(ctx.fpr[0])); + aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(124), std::bit_cast(ctx.fpr[0])); if (branch_taken) { goto L_0899F0D4; } @@ -7447,21 +7448,21 @@ L_0899F0A8: } L_0899F0BC: aot_gpr_4 = (16585u << 16u); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_20 + static_cast(124))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(124))); aot_gpr_4 = (aot_gpr_4 | 4059u); aot_fpr_14 = std::bit_cast(aot_gpr_4); aot_fpr_12 = aot_fpr_12 + aot_fpr_14; - aot_mem.aot_direct_store32(aot_gpr_20 + static_cast(124), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(124), std::bit_cast(aot_fpr_12)); goto L_0899F0D4; L_0899F0D4: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_20 + static_cast(292))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(292))); { const float fs = ctx.fpr[30]; const float ft = aot_fpr_20; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } { const float fs = ctx.fpr[26]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = aot_fpr_14 + aot_fpr_12; ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[22])) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); - aot_mem.aot_direct_store32(aot_gpr_20 + static_cast(292), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(292), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_0899F0FC; } @@ -7469,14 +7470,14 @@ L_0899F0D4: } L_0899F0F4: { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_20 + static_cast(292), std::bit_cast(ctx.fpr[22])); + aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(292), std::bit_cast(ctx.fpr[22])); if (branch_taken) { goto L_0899F118; } goto L_0899F0FC; } L_0899F0FC: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_20 + static_cast(292))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(292))); ctx.fpr[22] = std::bit_cast(std::bit_cast(ctx.fpr[22]) ^ 0x80000000u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[22])) ? 0x00800000u : 0u); // nop @@ -7488,10 +7489,10 @@ L_0899F0FC: goto L_0899F114; } L_0899F114: - aot_mem.aot_direct_store32(aot_gpr_20 + static_cast(292), std::bit_cast(ctx.fpr[22])); + aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(292), std::bit_cast(ctx.fpr[22])); goto L_0899F118; L_0899F118: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_20 + static_cast(292))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(292))); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) & 0x7FFFFFFFu); aot_gpr_4 = (14545u << 16u); aot_gpr_4 = (aot_gpr_4 | 46871u); @@ -7499,17 +7500,17 @@ L_0899F118: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_14)) ? 0x00800000u : 0u); // nop if (!((ctx.fcr31 & 0x00800000u) != 0u)) { - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_20 + static_cast(292))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(292))); goto L_0899F144; } goto L_0899F13C; L_0899F13C: - aot_mem.aot_direct_store32(aot_gpr_20 + static_cast(292), std::bit_cast(aot_fpr_13)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_20 + static_cast(292))); + aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(292), std::bit_cast(aot_fpr_13)); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(292))); goto L_0899F144; L_0899F144: - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); - ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_20 + static_cast(120))); + ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7676))); + ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(120))); { const float fs = aot_fpr_12; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[15] = std::bit_cast(0x7FC00000u); else ctx.fpr[15] = fs * ft; } ctx.fpr[16] = ctx.fpr[16] + ctx.fpr[28]; aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1080))); @@ -7517,16 +7518,16 @@ L_0899F144: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[16] <= aot_fpr_12)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); - aot_mem.aot_direct_store32(aot_gpr_20 + static_cast(120), std::bit_cast(ctx.fpr[16])); + aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(120), std::bit_cast(ctx.fpr[16])); if (branch_taken) { goto L_0899F178; } goto L_0899F16C; } L_0899F16C: - aot_mem.aot_direct_store32(aot_gpr_20 + static_cast(120), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(120), std::bit_cast(aot_fpr_12)); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_20 + static_cast(292), std::bit_cast(aot_fpr_13)); + aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(292), std::bit_cast(aot_fpr_13)); if (branch_taken) { goto L_0899F19C; } @@ -7534,7 +7535,7 @@ L_0899F16C: } L_0899F178: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1104))); - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_20 + static_cast(120))); + ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(120))); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[15] < aot_fpr_12)) ? 0x00800000u : 0u); // nop @@ -7546,8 +7547,8 @@ L_0899F178: goto L_0899F194; } L_0899F194: - aot_mem.aot_direct_store32(aot_gpr_20 + static_cast(120), std::bit_cast(aot_fpr_12)); - aot_mem.aot_direct_store32(aot_gpr_20 + static_cast(292), std::bit_cast(aot_fpr_13)); + aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(120), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(292), std::bit_cast(aot_fpr_13)); goto L_0899F19C; L_0899F19C: // Keep both the persistent pitch and the history target on the safe side @@ -7558,33 +7559,33 @@ L_0899F19C: const float safe_limit = vcs::vcs_ped_camera_up_limit_radians(); if (ctx.fpr[24] > safe_limit) ctx.fpr[24] = safe_limit; const float pitch = - std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_20 + 120u)); + std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + 120u)); if (pitch > safe_limit) { - aot_mem.aot_direct_store32(aot_gpr_20 + 120u, + aot_mem.aot_direct_store32(ctx.gpr[20] + 120u, std::bit_cast(safe_limit)); - aot_mem.aot_direct_store32(aot_gpr_20 + 292u, 0u); + aot_mem.aot_direct_store32(ctx.gpr[20] + 292u, 0u); } } - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_20 + static_cast(120))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-13472))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(120))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-13472))); aot_fpr_12 = aot_fpr_13 - aot_fpr_12; aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) & 0x7FFFFFFFu); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_14)) ? 0x00800000u : 0u); // nop if (!((ctx.fcr31 & 0x00800000u) != 0u)) { - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_20 + static_cast(120))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(120))); goto L_0899F1C8; } goto L_0899F1BC; L_0899F1BC: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-13472))); - aot_mem.aot_direct_store32(aot_gpr_20 + static_cast(120), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_20 + static_cast(120))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-13472))); + aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(120), std::bit_cast(aot_fpr_12)); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(120))); goto L_0899F1C8; L_0899F1C8: - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-13468))); - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-13472), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_20 + static_cast(124))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-13468))); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-13472), std::bit_cast(aot_fpr_12)); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(124))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1096), ctx.gpr[22]); aot_fpr_12 = aot_fpr_13 - aot_fpr_12; aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) & 0x7FFFFFFFu); @@ -7598,14 +7599,14 @@ L_0899F1C8: goto L_0899F1F0; } L_0899F1F0: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-13468))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-13468))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1096), ctx.gpr[22]); - aot_mem.aot_direct_store32(aot_gpr_20 + static_cast(124), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(124), std::bit_cast(aot_fpr_12)); aot_gpr_16 = (aot_gpr_29 + static_cast(80)); goto L_0899F200; L_0899F200: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_20 + static_cast(124))); - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-13468), std::bit_cast(aot_fpr_12)); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(124))); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-13468), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x0899F210u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0101_entry, 101u, 113u, 0x08998FC8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899F210u) goto L_0899F210; @@ -7613,27 +7614,27 @@ L_0899F200: L_0899F210: aot_fpr_20 = std::bit_cast(std::bit_cast(ctx.fpr[0])); aot_gpr_31 = (0x0899F21Cu); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_20 + static_cast(120))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(120))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0101_entry, 101u, 113u, 0x08998FC8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899F21Cu) goto L_0899F21C; AOT_REGCACHE_SYNC_OUT(); return; L_0899F21C: { const float fs = aot_fpr_20; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } ctx.fpr[22] = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); aot_gpr_31 = (0x0899F22Cu); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_20 + static_cast(124))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(124))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0101_entry, 101u, 112u, 0x08998FA4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899F22Cu) goto L_0899F22C; AOT_REGCACHE_SYNC_OUT(); return; L_0899F22C: ctx.fpr[26] = std::bit_cast(std::bit_cast(ctx.fpr[0])); aot_gpr_31 = (0x0899F238u); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_20 + static_cast(120))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(120))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0101_entry, 101u, 113u, 0x08998FC8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899F238u) goto L_0899F238; AOT_REGCACHE_SYNC_OUT(); return; L_0899F238: { const float fs = ctx.fpr[26]; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_fpr_20 = std::bit_cast(std::bit_cast(aot_fpr_13) ^ 0x80000000u); aot_gpr_31 = (0x0899F248u); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_20 + static_cast(120))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(120))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0101_entry, 101u, 112u, 0x08998FA4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899F248u) goto L_0899F248; AOT_REGCACHE_SYNC_OUT(); return; L_0899F248: @@ -7653,7 +7654,7 @@ L_0899F248: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_31 = (0x0899F264u); - aot_gpr_4 = (aot_gpr_20 | 0u); + aot_gpr_4 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 6u, 0x089A8094u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899F264u) goto L_0899F264; AOT_REGCACHE_SYNC_OUT(); return; L_0899F264: @@ -7718,7 +7719,7 @@ L_0899F264: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1064))); aot_fpr_20 = aot_fpr_12 + ctx.fpr[24]; aot_gpr_31 = (0x0899F2B8u); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_20 + static_cast(124))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(124))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0101_entry, 101u, 113u, 0x08998FC8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899F2B8u) goto L_0899F2B8; AOT_REGCACHE_SYNC_OUT(); return; L_0899F2B8: @@ -7731,7 +7732,7 @@ L_0899F2C4: { const float fs = ctx.fpr[22]; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } ctx.fpr[24] = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); aot_gpr_31 = (0x0899F2D4u); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_20 + static_cast(124))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(124))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0101_entry, 101u, 112u, 0x08998FA4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899F2D4u) goto L_0899F2D4; AOT_REGCACHE_SYNC_OUT(); return; L_0899F2D4: @@ -7805,7 +7806,7 @@ L_0899F2F0: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_31 = (0x0899F338u); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_20 + static_cast(124))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(124))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0101_entry, 101u, 113u, 0x08998FC8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899F338u) goto L_0899F338; AOT_REGCACHE_SYNC_OUT(); return; L_0899F338: @@ -7818,7 +7819,7 @@ L_0899F344: { const float fs = ctx.fpr[22]; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } ctx.fpr[24] = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); aot_gpr_31 = (0x0899F354u); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_20 + static_cast(124))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(124))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0101_entry, 101u, 112u, 0x08998FA4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899F354u) goto L_0899F354; AOT_REGCACHE_SYNC_OUT(); return; L_0899F354: @@ -7899,7 +7900,7 @@ L_0899F370: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_4 = (aot_gpr_20 + static_cast(400)); + aot_gpr_4 = (ctx.gpr[20] + static_cast(400)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; @@ -7907,8 +7908,8 @@ L_0899F370: aot_gpr_4 = (15235u << 16u); aot_gpr_4 = (aot_gpr_4 | 4719u); ctx.fpr[24] = std::bit_cast(aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_20 + static_cast(112))); - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8068), aot_gpr_4); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(112))); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(8068), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(1088))); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -7947,9 +7948,9 @@ L_0899F41C: } L_0899F424: aot_gpr_4 = (0u | 2u); - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-13476), aot_gpr_4); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-13476), aot_gpr_4); aot_gpr_31 = (0x0899F434u); - aot_gpr_4 = (aot_gpr_20 | 0u); + aot_gpr_4 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0101_entry, 101u, 162u, 0x089994CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899F434u) goto L_0899F434; AOT_REGCACHE_SYNC_OUT(); return; L_0899F434: @@ -7979,7 +7980,7 @@ L_0899F434: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(404), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(120))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(408), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-13748))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-13748))); aot_fpr_12 = aot_fpr_12 + ctx.fpr[0]; aot_gpr_5 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_5); @@ -8075,7 +8076,7 @@ L_0899F500: L_0899F514: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(128))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(96))); - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8068), aot_gpr_4); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(8068), aot_gpr_4); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(100))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(432), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(104))); @@ -8256,7 +8257,7 @@ L_0899F65C: aot_gpr_5 = (15692u << 16u); aot_fpr_20 = aot_fpr_20 - aot_fpr_12; aot_gpr_5 = (aot_gpr_5 | 52429u); - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8896))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8896))); aot_fpr_12 = std::bit_cast(aot_gpr_5); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_20)) ? 0x00800000u : 0u); // nop @@ -8285,7 +8286,7 @@ L_0899F698: aot_fpr_13 = ctx.fpr[22] - aot_fpr_13; aot_gpr_5 = (aot_gpr_5 | 26214u); aot_fpr_12 = std::bit_cast(aot_gpr_5); - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8896))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8896))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); // nop if (((ctx.fcr31 & 0x00800000u) != 0u)) { @@ -8418,7 +8419,7 @@ L_0899F780: aot_fpr_13 = aot_fpr_20 - aot_fpr_13; aot_gpr_5 = (aot_gpr_5 | 52429u); aot_fpr_12 = std::bit_cast(aot_gpr_5); - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8896))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8896))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); // nop if (!((ctx.fcr31 & 0x00800000u) != 0u)) { @@ -8513,11 +8514,11 @@ L_0899F7B4: ctx.execute_vfpu_unary_ct<28u, 28u, 1u, 22u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8068), 0u); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(8068), 0u); aot_gpr_4 = (16457u << 16u); aot_gpr_4 = (aot_gpr_4 | 4059u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_20 + static_cast(296))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(296))); { const float fs = aot_fpr_13; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_4 = (16128u << 16u); aot_fpr_14 = std::bit_cast(aot_gpr_4); @@ -8535,7 +8536,7 @@ L_0899F7B4: ctx.execute_vfpu_vec3_ct<0u, 33u, 1u, 1u, 3u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<0u>()); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -8550,7 +8551,7 @@ L_0899F86C: AOT_REGCACHE_SYNC_OUT(); return; L_0899F874: aot_gpr_31 = (0x0899F87Cu); - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0112_entry, 112u, 677u, 0x089C6F50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899F87Cu) goto L_0899F87C; AOT_REGCACHE_SYNC_OUT(); return; L_0899F87C: @@ -8571,13 +8572,13 @@ L_0899F884: } L_0899F88C: aot_gpr_31 = (0x0899F894u); - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8896))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8896))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 122u, 0x08890830u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899F894u) goto L_0899F894; AOT_REGCACHE_SYNC_OUT(); return; L_0899F894: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1112))); aot_gpr_31 = (0x0899F8A0u); - aot_gpr_4 = (aot_gpr_20 | 0u); + aot_gpr_4 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0101_entry, 101u, 356u, 0x0899B100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899F8A0u) goto L_0899F8A0; AOT_REGCACHE_SYNC_OUT(); return; L_0899F8A0: @@ -8618,7 +8619,7 @@ L_0899F8A0: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_31 = (0x0899F8C0u); - aot_gpr_4 = (aot_gpr_20 | 0u); + aot_gpr_4 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 6u, 0x089A8094u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899F8C0u) goto L_0899F8C0; AOT_REGCACHE_SYNC_OUT(); return; L_0899F8C0: @@ -8662,9 +8663,9 @@ L_0899F8C0: aot_gpr_4 = (aot_gpr_4 | 55050u); aot_fpr_13 = std::bit_cast(aot_gpr_4); { const float fs = ctx.fpr[26]; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7676))); { const float fs = aot_fpr_13; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-13536))); + ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-13536))); aot_fpr_13 = ctx.fpr[15] + aot_fpr_13; ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); // nop @@ -8676,13 +8677,13 @@ L_0899F8C0: goto L_0899F914; } L_0899F914: - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-13536), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-13536), std::bit_cast(aot_fpr_12)); goto L_0899F918; L_0899F918: aot_mem.aot_direct_store8(ctx.gpr[22] + static_cast(88), static_cast(0u)); aot_mem.aot_direct_store8(ctx.gpr[22] + static_cast(2057), static_cast(0u)); - aot_mem.aot_direct_store8(aot_gpr_20 + static_cast(163), static_cast(0u)); - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-1044))); + aot_mem.aot_direct_store8(ctx.gpr[20] + static_cast(163), static_cast(0u)); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-1044))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -8691,7 +8692,7 @@ L_0899F918: goto L_0899F930; } L_0899F930: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-1044))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-1044))); aot_gpr_5 = (0u | 4u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -8703,14 +8704,14 @@ L_0899F930: L_0899F940: aot_gpr_5 = (16025u << 16u); aot_gpr_5 = (aot_gpr_5 | 39322u); - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8896))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8896))); aot_gpr_31 = (0x0899F954u); aot_fpr_12 = std::bit_cast(aot_gpr_5); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 111u, 0x08890798u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899F954u) goto L_0899F954; AOT_REGCACHE_SYNC_OUT(); return; L_0899F954: aot_gpr_5 = (17530u << 16u); - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8896))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8896))); aot_gpr_31 = (0x0899F964u); aot_fpr_12 = std::bit_cast(aot_gpr_5); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 117u, 0x088907E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899F964u) goto L_0899F964; @@ -8725,7 +8726,7 @@ L_0899F964: goto L_0899F974; L_0899F974: ctx.gpr[6] = (aot_gpr_4 | 0u); - aot_gpr_4 = (aot_gpr_20 | 0u); + aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x0899F984u); aot_gpr_5 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 31u, 0x089A8464u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899F984u) goto L_0899F984; @@ -8750,7 +8751,7 @@ L_0899F994: } L_0899F99C: aot_gpr_31 = (0x0899F9A4u); - aot_gpr_4 = (aot_gpr_20 | 0u); + aot_gpr_4 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0101_entry, 101u, 345u, 0x0899AF94u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899F9A4u) goto L_0899F9A4; AOT_REGCACHE_SYNC_OUT(); return; L_0899F9A4: @@ -8766,7 +8767,7 @@ L_0899F9A4: ctx.gpr[17] = aot_run_words[7]; ctx.gpr[18] = aot_run_words[8]; ctx.gpr[19] = aot_run_words[9]; - aot_gpr_20 = aot_run_words[10]; + ctx.gpr[20] = aot_run_words[10]; ctx.gpr[21] = aot_run_words[11]; ctx.gpr[22] = aot_run_words[12]; ctx.gpr[23] = aot_run_words[13]; @@ -8788,7 +8789,7 @@ L_0899F9EC: aot_gpr_5 = (aot_gpr_5 ^ 4u); aot_gpr_5 = (aot_gpr_5 < static_cast(1) ? 1u : 0u); aot_gpr_5 = (aot_gpr_5 & 255u); - { const std::uint32_t aot_run_words[16]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_20, ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; + { const std::uint32_t aot_run_words[16]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(972), aot_run_words); } { const bool branch_taken = aot_gpr_5 == 0u; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(908), aot_gpr_4); @@ -8822,8 +8823,8 @@ L_0899FA54: L_0899FA74: ctx.gpr[21] = (ctx.gpr[2] | 0u); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); - aot_gpr_20 = (0u | 0u); - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); + ctx.gpr[20] = (0u | 0u); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7656))); ctx.gpr[6] = (static_cast(aot_gpr_4) < static_cast(aot_gpr_5) ? 1u : 0u); aot_gpr_5 = (2236u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(32304)); @@ -8876,13 +8877,13 @@ L_0899FB04: goto L_0899FB0C; } L_0899FB0C: - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); + ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(24))); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (ctx.gpr[6] + aot_gpr_4); - aot_gpr_20 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); + ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); goto L_0899FB1C; L_0899FB1C: - aot_gpr_20 = (aot_mem.aot_direct_load32(aot_gpr_20 + static_cast(20))); + ctx.gpr[20] = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(20))); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); ctx.gpr[6] = (0u + static_cast(-943)); { const bool branch_taken = aot_gpr_4 == ctx.gpr[6]; @@ -9010,7 +9011,7 @@ L_0899FBC4: ctx.fpr[22] = ctx.fpr[22] + aot_fpr_12; aot_gpr_31 = (0x0899FBF4u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899FBF4u) goto L_0899FBF4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B01E00, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899FBF4u) goto L_0899FBF4; AOT_REGCACHE_SYNC_OUT(); return; L_0899FBF4: ctx.gpr[6] = (aot_gpr_29 + static_cast(116)); @@ -9122,8 +9123,8 @@ L_0899FCCC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(932), std::bit_cast(aot_fpr_12)); goto L_0899FCEC; L_0899FCEC: - aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_20 + static_cast(40))); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_20 + static_cast(20))); + aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(40))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(20))); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) & 0x7FFFFFFFu); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(928))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1944))); @@ -9159,7 +9160,7 @@ L_0899FD34: ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(12))); aot_gpr_31 = (0x0899FD48u); { const float fs = ctx.fpr[22]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[22] = std::bit_cast(0x7FC00000u); else ctx.fpr[22] = fs * ft; } - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899FD48u) goto L_0899FD48; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B01E00, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0899FD48u) goto L_0899FD48; AOT_REGCACHE_SYNC_OUT(); return; L_0899FD48: aot_gpr_4 = (0u | 3u); @@ -9177,7 +9178,7 @@ L_0899FD54: } goto L_0899FD64; L_0899FD64: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-13724))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-13724))); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); aot_gpr_4 = (aot_gpr_16 + static_cast(32)); @@ -9239,7 +9240,7 @@ L_0899FDAC: goto L_0899FDC8; } L_0899FDC8: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-13428))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-13428))); ctx.fpr[26] = ctx.fpr[26] + aot_fpr_20; { const float fs = aot_fpr_12; const float ft = aot_fpr_20; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = aot_fpr_12 / ctx.fpr[26]; @@ -9359,7 +9360,7 @@ L_0899FE88: ctx.execute_vfpu_vdot_ct<28u, 0u, 1u, 3u>(); ctx.gpr[6] = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_13 = std::bit_cast(ctx.gpr[6]); - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-13672))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-13672))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 <= aot_fpr_14)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); @@ -9392,9 +9393,9 @@ L_0899FEB4: ctx.execute_vfpu_vdot_ct<28u, 0u, 1u, 3u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_14 = std::bit_cast(aot_gpr_4); - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-13672))); + ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-13672))); aot_fpr_14 = aot_fpr_14 - ctx.fpr[15]; - ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); + ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7676))); { const float fs = aot_fpr_14; const float ft = ctx.fpr[16]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } aot_fpr_13 = aot_fpr_13 + aot_fpr_14; { const bool branch_taken = 0u == 0u; @@ -9437,7 +9438,7 @@ L_0899FEF8: ctx.execute_vfpu_vdot_ct<28u, 0u, 1u, 3u>(); ctx.gpr[6] = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_13 = std::bit_cast(ctx.gpr[6]); - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-13664))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-13664))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 <= aot_fpr_14)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); @@ -9474,9 +9475,9 @@ L_0899FF24: aot_gpr_4 = (aot_gpr_4 | 52429u); ctx.fpr[15] = std::bit_cast(aot_gpr_4); { const float fs = aot_fpr_14; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } - ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-13664))); + ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-13664))); aot_fpr_14 = aot_fpr_14 - ctx.fpr[16]; - ctx.fpr[17] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); + ctx.fpr[17] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7676))); { const float fs = aot_fpr_14; const float ft = ctx.fpr[17]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } aot_fpr_13 = aot_fpr_13 + aot_fpr_14; aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(296), std::bit_cast(aot_fpr_13)); @@ -9493,8 +9494,8 @@ L_0899FF64: goto L_0899FF78; } L_0899FF78: - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-13668))); - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-13668))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7676))); aot_gpr_4 = (std::bit_cast(aot_fpr_13)); ctx.gpr[6] = (std::bit_cast(aot_fpr_14)); ctx.set_vfpu_scalar_bits_ct<0u>(aot_gpr_4); diff --git a/profiles/vcs/generated/generated_unit_0103.cpp b/profiles/vcs/generated/generated_unit_0103.cpp index 2c37c6e..d951f38 100644 --- a/profiles/vcs/generated/generated_unit_0103.cpp +++ b/profiles/vcs/generated/generated_unit_0103.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,7 +139,7 @@ static const std::uint16_t kEntryIds_recomp_unit_0103[4082] = { }; void recomp_unit_0103_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,16,31,6 fprs=12,13,20,14 gpr_occ=2615 fpr_occ=1936 gpr_total=3539 fpr_total=2727 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,16,31,6 fprs=12,13,20,14 gpr_occ=2625 fpr_occ=1936 gpr_total=3552 fpr_total=2727 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; @@ -2095,7 +2096,7 @@ L_089A08E8: L_089A08EC: aot_gpr_31 = (0x089A08F4u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A08F4u) goto L_089A08F4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B01E00, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A08F4u) goto L_089A08F4; AOT_REGCACHE_SYNC_OUT(); return; L_089A08F4: aot_gpr_4 = (16256u << 16u); @@ -3065,7 +3066,7 @@ L_089A10C0: L_089A10D0: aot_gpr_31 = (0x089A10D8u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A10D8u) goto L_089A10D8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B01E00, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A10D8u) goto L_089A10D8; AOT_REGCACHE_SYNC_OUT(); return; L_089A10D8: { const bool branch_taken = ctx.gpr[2] != ctx.gpr[20]; @@ -7568,7 +7569,7 @@ L_089A34DC: ctx.fpr[24] = std::bit_cast(aot_gpr_5); aot_gpr_31 = (0x089A3508u); ctx.gpr[18] = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A3508u) goto L_089A3508; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A3508u) goto L_089A3508; AOT_REGCACHE_SYNC_OUT(); return; L_089A3508: aot_gpr_4 = (16329u << 16u); diff --git a/profiles/vcs/generated/generated_unit_0104.cpp b/profiles/vcs/generated/generated_unit_0104.cpp index 4a0cc6f..7bb2a53 100644 --- a/profiles/vcs/generated/generated_unit_0104.cpp +++ b/profiles/vcs/generated/generated_unit_0104.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0104[4086] = { }; void recomp_unit_0104_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,16,17,31 fprs=12,13,14,20 gpr_occ=3230 fpr_occ=991 gpr_total=4228 fpr_total=1228 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,16,31,17 fprs=12,13,14,20 gpr_occ=3261 fpr_occ=991 gpr_total=4284 fpr_total=1228 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_16 = ctx.gpr[16]; - std::uint32_t aot_gpr_17 = ctx.gpr[17]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; + std::uint32_t aot_gpr_17 = ctx.gpr[17]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_14 = ctx.fpr[14]; float aot_fpr_20 = ctx.fpr[20]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[16] = aot_gpr_16; ctx.gpr[17] = aot_gpr_17; ctx.gpr[31] = aot_gpr_31; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[20] = aot_fpr_20; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_17 = ctx.gpr[17]; aot_gpr_31 = ctx.gpr[31]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_20 = ctx.fpr[20]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[16] = aot_gpr_16; ctx.gpr[31] = aot_gpr_31; ctx.gpr[17] = aot_gpr_17; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[20] = aot_fpr_20; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_17 = ctx.gpr[17]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_20 = ctx.fpr[20]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -2006,7 +2007,7 @@ L_089A4868: L_089A4884: aot_gpr_31 = (0x089A488Cu); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(112))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A488Cu) goto L_089A488C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B01E00, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A488Cu) goto L_089A488C; AOT_REGCACHE_SYNC_OUT(); return; L_089A488C: aot_gpr_4 = (0u | 3u); @@ -2020,7 +2021,7 @@ L_089A488C: L_089A4898: aot_gpr_31 = (0x089A48A0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(112))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A48A0u) goto L_089A48A0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B01E00, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A48A0u) goto L_089A48A0; AOT_REGCACHE_SYNC_OUT(); return; L_089A48A0: aot_gpr_4 = (0u | 5u); @@ -5423,7 +5424,7 @@ L_089A5FD8: aot_fpr_20 = std::bit_cast(0u); aot_gpr_31 = (0x089A5FE4u); ctx.fpr[22] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A5FE4u) goto L_089A5FE4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A5FE4u) goto L_089A5FE4; AOT_REGCACHE_SYNC_OUT(); return; L_089A5FE4: aot_fpr_12 = ctx.fpr[22] - aot_fpr_20; @@ -5497,7 +5498,7 @@ L_089A6068: L_089A6080: aot_gpr_31 = (0x089A6088u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(900))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A6088u) goto L_089A6088; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A6088u) goto L_089A6088; AOT_REGCACHE_SYNC_OUT(); return; L_089A6088: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -5588,7 +5589,7 @@ L_089A60F8: aot_fpr_20 = std::bit_cast(0u); aot_gpr_31 = (0x089A6104u); ctx.fpr[22] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A6104u) goto L_089A6104; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A6104u) goto L_089A6104; AOT_REGCACHE_SYNC_OUT(); return; L_089A6104: aot_fpr_12 = ctx.fpr[22] - aot_fpr_20; @@ -5999,7 +6000,7 @@ L_089A63CC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-13548))); aot_gpr_31 = (0x089A63D8u); aot_gpr_5 = (ctx.gpr[28] + static_cast(-13548)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A63D8u) goto L_089A63D8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A63D8u) goto L_089A63D8; AOT_REGCACHE_SYNC_OUT(); return; L_089A63D8: aot_gpr_4 = (ctx.gpr[20] << 2u); @@ -6018,7 +6019,7 @@ L_089A63F0: aot_fpr_20 = std::bit_cast(0u); aot_gpr_31 = (0x089A6400u); ctx.fpr[22] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A6400u) goto L_089A6400; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A6400u) goto L_089A6400; AOT_REGCACHE_SYNC_OUT(); return; L_089A6400: aot_fpr_12 = ctx.fpr[22] - aot_fpr_20; @@ -6413,7 +6414,7 @@ L_089A6640: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1984))); aot_gpr_31 = (0x089A6650u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(900))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A6650u) goto L_089A6650; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A6650u) goto L_089A6650; AOT_REGCACHE_SYNC_OUT(); return; L_089A6650: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -8743,7 +8744,7 @@ L_089A7518: L_089A7534: aot_gpr_31 = (0x089A753Cu); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(112))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A753Cu) goto L_089A753C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B01E00, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A753Cu) goto L_089A753C; AOT_REGCACHE_SYNC_OUT(); return; L_089A753C: { const bool branch_taken = ctx.gpr[2] != ctx.gpr[20]; @@ -8944,7 +8945,7 @@ L_089A7634: L_089A7664: aot_gpr_31 = (0x089A766Cu); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(112))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A766Cu) goto L_089A766C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B01E00, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A766Cu) goto L_089A766C; AOT_REGCACHE_SYNC_OUT(); return; L_089A766C: aot_gpr_4 = (0u | 3u); diff --git a/profiles/vcs/generated/generated_unit_0105.cpp b/profiles/vcs/generated/generated_unit_0105.cpp index 1a7bdf7..5971e2a 100644 --- a/profiles/vcs/generated/generated_unit_0105.cpp +++ b/profiles/vcs/generated/generated_unit_0105.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0105[4093] = { }; void recomp_unit_0105_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,31,16,17 fprs=12,13,20,14 gpr_occ=3772 fpr_occ=503 gpr_total=5006 fpr_total=585 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,31,29,2,16 fprs=12,13,20,14 gpr_occ=3762 fpr_occ=503 gpr_total=5207 fpr_total=585 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; - std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; + std::uint32_t aot_gpr_29 = ctx.gpr[29]; + std::uint32_t aot_gpr_2 = ctx.gpr[2]; std::uint32_t aot_gpr_16 = ctx.gpr[16]; - std::uint32_t aot_gpr_17 = ctx.gpr[17]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_20 = ctx.fpr[20]; float aot_fpr_14 = ctx.fpr[14]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[31] = aot_gpr_31; ctx.gpr[16] = aot_gpr_16; ctx.gpr[17] = aot_gpr_17; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; ctx.fpr[14] = aot_fpr_14; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_17 = ctx.gpr[17]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_14 = ctx.fpr[14]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[31] = aot_gpr_31; ctx.gpr[29] = aot_gpr_29; ctx.gpr[2] = aot_gpr_2; ctx.gpr[16] = aot_gpr_16; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; ctx.fpr[14] = aot_fpr_14; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_2 = ctx.gpr[2]; aot_gpr_16 = ctx.gpr[16]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_14 = ctx.fpr[14]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -1043,7 +1044,7 @@ L_089A8000: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } goto L_089A8008; L_089A8008: - aot_gpr_4 = (aot_gpr_17 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(16)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -1065,12 +1066,12 @@ L_089A8008: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_31 = (0x089A8034u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(112))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A8034u) goto L_089A8034; + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(112))); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B01E00, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A8034u) goto L_089A8034; AOT_REGCACHE_SYNC_OUT(); return; L_089A8034: aot_gpr_4 = (0u | 2u); - { const bool branch_taken = ctx.gpr[2] != aot_gpr_4; + { const bool branch_taken = aot_gpr_2 != aot_gpr_4; // nop if (branch_taken) { goto L_089A8074; @@ -1078,13 +1079,13 @@ L_089A8034: goto L_089A8040; } L_089A8040: - aot_gpr_4 = (aot_gpr_17 + static_cast(32)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(32)); aot_gpr_5 = (16313u << 16u); aot_gpr_5 = (aot_gpr_5 | 39322u); aot_fpr_12 = std::bit_cast(aot_gpr_5); aot_gpr_5 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_5); - aot_gpr_5 = (aot_gpr_17 + static_cast(16)); + aot_gpr_5 = (ctx.gpr[17] + static_cast(16)); { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -1110,7 +1111,7 @@ L_089A8074: aot_fpr_20 = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); aot_gpr_16 = aot_run_words[2]; - aot_gpr_17 = aot_run_words[3]; + ctx.gpr[17] = aot_run_words[3]; ctx.gpr[18] = aot_run_words[4]; aot_gpr_31 = aot_run_words[5]; } @@ -1122,7 +1123,7 @@ L_089A8074: AOT_REGCACHE_SYNC_OUT(); return; L_089A8094: aot_gpr_29 = (aot_gpr_29 + static_cast(-336)); - { const std::uint32_t aot_run_words[9]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_31}; + { const std::uint32_t aot_run_words[9]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(292), aot_run_words); } aot_gpr_16 = (aot_gpr_4 | 0u); aot_fpr_20 = std::bit_cast(0u); @@ -1140,9 +1141,9 @@ L_089A8094: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_17 = (aot_gpr_16 + static_cast(96)); + ctx.gpr[17] = (aot_gpr_16 + static_cast(96)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(112))); @@ -1249,7 +1250,7 @@ L_089A819C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), std::bit_cast(aot_fpr_12)); goto L_089A81A8; L_089A81A8: - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -1310,7 +1311,7 @@ L_089A8204: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const bool branch_taken = 0u == 0u; @@ -1321,7 +1322,7 @@ L_089A8204: goto L_089A8214; } L_089A8214: - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -1368,7 +1369,7 @@ L_089A8244: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } goto L_089A824C; @@ -1419,7 +1420,7 @@ L_089A8288: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } goto L_089A82A0; @@ -1450,7 +1451,7 @@ L_089A82B4: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -1561,11 +1562,11 @@ L_089A82B4: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_31 = (0x089A836Cu); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A836Cu) goto L_089A836C; AOT_REGCACHE_SYNC_OUT(); return; L_089A836C: - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -1582,7 +1583,7 @@ L_089A836C: ctx.execute_vfpu_vscl_ct<1u, 1u, 28u, 3u>(); ctx.execute_vfpu_vcmov_ct<1u, 0u, 3u, 0u, false>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<1u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } goto L_089A838C; @@ -1645,7 +1646,7 @@ L_089A83E8: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -1725,7 +1726,7 @@ L_089A83E8: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { std::uint32_t aot_run_words[9]{}; @@ -1733,7 +1734,7 @@ L_089A83E8: aot_fpr_20 = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); aot_gpr_16 = aot_run_words[2]; - aot_gpr_17 = aot_run_words[3]; + ctx.gpr[17] = aot_run_words[3]; ctx.gpr[18] = aot_run_words[4]; ctx.gpr[19] = aot_run_words[5]; ctx.gpr[20] = aot_run_words[6]; @@ -1748,7 +1749,7 @@ L_089A83E8: AOT_REGCACHE_SYNC_OUT(); return; L_089A8464: aot_gpr_29 = (aot_gpr_29 + static_cast(-544)); - { const std::uint32_t aot_run_words[16]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; + { const std::uint32_t aot_run_words[16]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(472), aot_run_words); } ctx.gpr[23] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(468), ctx.gpr[6]); @@ -1801,7 +1802,7 @@ L_089A8514: ctx.gpr[20] = (aot_gpr_29 + static_cast(112)); ctx.gpr[18] = (aot_gpr_29 + static_cast(192)); ctx.gpr[22] = (2246u << 16u); - aot_gpr_17 = (ctx.gpr[22] + static_cast(2032)); + ctx.gpr[17] = (ctx.gpr[22] + static_cast(2032)); ctx.gpr[19] = (aot_gpr_29 + static_cast(208)); ctx.gpr[21] = (0u | 4u); aot_gpr_4 = (ctx.gpr[23] + static_cast(16)); @@ -1912,7 +1913,7 @@ L_089A85C0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0037_entry, 37u, 487u, 0x0889ACD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A85F8u) goto L_089A85F8; AOT_REGCACHE_SYNC_OUT(); return; L_089A85F8: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_089A8608; @@ -1930,9 +1931,9 @@ L_089A8600: L_089A8608: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(2032))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(208), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(212), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(216), std::bit_cast(aot_fpr_12)); { const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); std::uint32_t vfpu_words[4]{}; @@ -1947,11 +1948,11 @@ L_089A8608: const std::uint32_t vfpu_address = ctx.gpr[20] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(16))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(16))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(208), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(20))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(20))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(212), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(24))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(24))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(216), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-13748))); aot_fpr_12 = aot_fpr_12 + ctx.fpr[24]; @@ -2039,7 +2040,7 @@ L_089A8690: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0037_entry, 37u, 487u, 0x0889ACD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A86C8u) goto L_089A86C8; AOT_REGCACHE_SYNC_OUT(); return; L_089A86C8: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089A86DC; @@ -2071,7 +2072,7 @@ L_089A86DC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0036_entry, 36u, 698u, 0x0889786Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A8714u) goto L_089A8714; AOT_REGCACHE_SYNC_OUT(); return; L_089A8714: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; aot_gpr_4 = (0u | 1u); if (branch_taken) { goto L_089A8790; @@ -2170,7 +2171,7 @@ L_089A8798: goto L_089A87AC; } L_089A87AC: - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(448))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(448))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(460), static_cast(aot_gpr_4)); ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(452))); { const bool branch_taken = 0u == 0u; @@ -2195,7 +2196,7 @@ L_089A87CC: goto L_089A87D4; } L_089A87D4: - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(448))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(448))); ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(452))); { const bool branch_taken = 0u == 0u; ctx.gpr[21] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(464))); @@ -2231,7 +2232,7 @@ L_089A87FC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 461u, 0x08A93198u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A8814u) goto L_089A8814; AOT_REGCACHE_SYNC_OUT(); return; L_089A8814: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089A8820; @@ -2374,7 +2375,7 @@ L_089A88A4: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -2492,7 +2493,7 @@ L_089A88E8: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = ctx.gpr[21] + static_cast(0); @@ -2504,7 +2505,7 @@ L_089A88E8: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -2568,10 +2569,10 @@ L_089A896C: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -2586,7 +2587,7 @@ L_089A896C: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } goto L_089A8980; L_089A8980: - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); { std::uint32_t aot_run_words[16]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(472), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); @@ -2596,7 +2597,7 @@ L_089A8980: ctx.fpr[28] = std::bit_cast(aot_run_words[4]); ctx.fpr[30] = std::bit_cast(aot_run_words[5]); aot_gpr_16 = aot_run_words[6]; - aot_gpr_17 = aot_run_words[7]; + ctx.gpr[17] = aot_run_words[7]; ctx.gpr[18] = aot_run_words[8]; ctx.gpr[19] = aot_run_words[9]; ctx.gpr[20] = aot_run_words[10]; @@ -2645,7 +2646,7 @@ L_089A89CC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x089A8A54u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-13380)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A8A54u) goto L_089A8A54; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A8A54u) goto L_089A8A54; AOT_REGCACHE_SYNC_OUT(); return; L_089A8A54: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); @@ -2761,19 +2762,19 @@ L_089A8A88: AOT_REGCACHE_SYNC_OUT(); return; L_089A8ACC: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, ctx.gpr[18]}; + { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_16 = (aot_gpr_5 | 0u); - aot_gpr_17 = (aot_gpr_4 | 0u); + ctx.gpr[17] = (aot_gpr_4 | 0u); ctx.gpr[18] = (ctx.gpr[6] | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); aot_gpr_31 = (0x089A8AF4u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A8AF4u) goto L_089A8AF4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B01E00, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A8AF4u) goto L_089A8AF4; AOT_REGCACHE_SYNC_OUT(); return; L_089A8AF4: aot_gpr_4 = (0u | 2u); - { const bool branch_taken = ctx.gpr[2] == aot_gpr_4; + { const bool branch_taken = aot_gpr_2 == aot_gpr_4; // nop if (branch_taken) { goto L_089A8B0C; @@ -2822,10 +2823,10 @@ L_089A8B28: ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_089A8B40: - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(900))); { const bool branch_taken = aot_gpr_5 == 0u; - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(4), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(4), aot_gpr_4); if (branch_taken) { goto L_089A8B60; } @@ -2833,7 +2834,7 @@ L_089A8B40: } L_089A8B50: aot_gpr_4 = (0u | 5u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(8), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(8), aot_gpr_4); { const bool branch_taken = 0u == 0u; aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(565))); if (branch_taken) { @@ -2843,7 +2844,7 @@ L_089A8B50: } L_089A8B60: aot_gpr_4 = (0u | 1u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(8), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(8), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(565))); goto L_089A8B6C; L_089A8B6C: @@ -2857,7 +2858,7 @@ L_089A8B6C: L_089A8B74: aot_gpr_4 = (0u | 4u); { const bool branch_taken = aot_gpr_5 == 0u; - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), aot_gpr_4); if (branch_taken) { goto L_089A8BA0; } @@ -2870,9 +2871,9 @@ L_089A8B80: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A8B8Cu) goto L_089A8B8C; AOT_REGCACHE_SYNC_OUT(); return; L_089A8B8C: - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(4), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(4), aot_gpr_2); aot_gpr_4 = (0u | 10u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(8), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(8), aot_gpr_4); { const bool branch_taken = 0u == 0u; aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(565))); if (branch_taken) { @@ -2887,9 +2888,9 @@ L_089A8BA0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A8BACu) goto L_089A8BAC; AOT_REGCACHE_SYNC_OUT(); return; L_089A8BAC: - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(4), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(4), aot_gpr_2); aot_gpr_4 = (0u | 2u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(8), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(8), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(565))); goto L_089A8BBC; L_089A8BBC: @@ -2903,7 +2904,7 @@ L_089A8BBC: L_089A8BC4: aot_gpr_4 = (0u | 3u); { const bool branch_taken = aot_gpr_5 == 0u; - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), aot_gpr_4); if (branch_taken) { goto L_089A8BE8; } @@ -2912,8 +2913,8 @@ L_089A8BC4: L_089A8BD0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(900))); aot_gpr_5 = (0u | 5u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(4), aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(8), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(4), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(8), aot_gpr_5); { const bool branch_taken = 0u == 0u; aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(565))); if (branch_taken) { @@ -2928,9 +2929,9 @@ L_089A8BE8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A8BF4u) goto L_089A8BF4; AOT_REGCACHE_SYNC_OUT(); return; L_089A8BF4: - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(4), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(4), aot_gpr_2); aot_gpr_4 = (0u | 4u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(8), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(8), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(565))); goto L_089A8C04; L_089A8C04: @@ -2944,7 +2945,7 @@ L_089A8C04: L_089A8C0C: aot_gpr_4 = (0u | 5u); { const bool branch_taken = aot_gpr_5 == 0u; - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), aot_gpr_4); if (branch_taken) { goto L_089A8C38; } @@ -2957,9 +2958,9 @@ L_089A8C18: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A8C24u) goto L_089A8C24; AOT_REGCACHE_SYNC_OUT(); return; L_089A8C24: - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(4), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(4), aot_gpr_2); aot_gpr_4 = (0u | 10u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(8), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(8), aot_gpr_4); { const bool branch_taken = 0u == 0u; aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(565))); if (branch_taken) { @@ -2974,9 +2975,9 @@ L_089A8C38: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A8C44u) goto L_089A8C44; AOT_REGCACHE_SYNC_OUT(); return; L_089A8C44: - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(4), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(4), aot_gpr_2); aot_gpr_4 = (0u | 8u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(8), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(8), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(565))); goto L_089A8C54; L_089A8C54: @@ -2989,7 +2990,7 @@ L_089A8C54: } L_089A8C5C: { const std::uint32_t aot_run_words[3]{aot_gpr_4, 0u, 0u}; - aot_mem.aot_direct_store32_block(aot_gpr_17 + static_cast(0), aot_run_words); } + aot_mem.aot_direct_store32_block(ctx.gpr[17] + static_cast(0), aot_run_words); } aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(565))); goto L_089A8C6C; L_089A8C6C: @@ -3002,15 +3003,15 @@ L_089A8C6C: } L_089A8C74: aot_gpr_4 = (0u | 15u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(8), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(8), aot_gpr_4); goto L_089A8C7C; L_089A8C7C: - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(12), aot_gpr_16); - ctx.gpr[2] = (aot_gpr_17 | 0u); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(12), aot_gpr_16); + aot_gpr_2 = (ctx.gpr[17] | 0u); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -3069,14 +3070,14 @@ L_089A8CD8: } L_089A8CE0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (ctx.gpr[7] + static_cast(32)); + aot_gpr_2 = (ctx.gpr[7] + static_cast(32)); if (branch_taken) { goto L_089A8CEC; } goto L_089A8CE8; } L_089A8CE8: - ctx.gpr[2] = (aot_gpr_4 + static_cast(32)); + aot_gpr_2 = (aot_gpr_4 + static_cast(32)); goto L_089A8CEC; L_089A8CEC: jump_target = aot_gpr_31; @@ -3087,8 +3088,8 @@ L_089A8CEC: AOT_REGCACHE_SYNC_OUT(); return; L_089A8CF4: aot_gpr_29 = (aot_gpr_29 + static_cast(-320)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(292), aot_gpr_17); - aot_gpr_17 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(292), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_4 | 0u); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(86)))))); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(296), ctx.gpr[18]); @@ -3140,7 +3141,7 @@ L_089A8D5C: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 10u); + aot_gpr_2 = (0u | 10u); if (branch_taken) { goto L_089A9018; } @@ -3162,7 +3163,7 @@ L_089A8D80: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A8D90u) goto L_089A8D90; AOT_REGCACHE_SYNC_OUT(); return; L_089A8D90: - aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(96), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(144))); aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(96))); @@ -3189,7 +3190,7 @@ L_089A8DA0: ctx.gpr[6] = (0u | 71u); goto L_089A8C9C; L_089A8DC0: - { const std::uint32_t vfpu_address = ctx.gpr[2] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_2 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -3309,7 +3310,7 @@ L_089A8E4C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A8E5Cu) goto L_089A8E5C; AOT_REGCACHE_SYNC_OUT(); return; L_089A8E5C: - aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(96), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(176))); aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(96))); @@ -3493,7 +3494,7 @@ L_089A8F24: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A8F34u) goto L_089A8F34; AOT_REGCACHE_SYNC_OUT(); return; L_089A8F34: - aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(96), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(224))); aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(96))); @@ -3610,7 +3611,7 @@ L_089A8F9C: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_4 = (aot_gpr_17 + static_cast(48)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -3688,7 +3689,7 @@ L_089A8F9C: } L_089A9008: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 10u); + aot_gpr_2 = (0u | 10u); if (branch_taken) { goto L_089A9018; } @@ -3696,7 +3697,7 @@ L_089A9008: } L_089A9010: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 8u); + aot_gpr_2 = (0u | 8u); if (branch_taken) { goto L_089A9018; } @@ -3706,7 +3707,7 @@ L_089A9018: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(288), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -3720,8 +3721,8 @@ L_089A9018: AOT_REGCACHE_SYNC_OUT(); return; L_089A9038: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_17); - aot_gpr_17 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(852))); ctx.gpr[6] = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_16); @@ -3744,7 +3745,7 @@ L_089A9064: goto L_089A9070; } L_089A9070: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1252))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1252))); aot_fpr_13 = std::bit_cast(0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); // nop @@ -3756,7 +3757,7 @@ L_089A9070: goto L_089A9088; } L_089A9088: - ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(2274))); + ctx.gpr[6] = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(2274))); aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_31 = (0x089A9098u); aot_gpr_5 = (aot_gpr_16 | 0u); @@ -3804,7 +3805,7 @@ L_089A90C8: goto L_089A90D0; } L_089A90D0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1360))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1360))); aot_gpr_5 = (0u | 6u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -3846,11 +3847,11 @@ L_089A9114: goto L_089A911C; L_089A911C: aot_gpr_31 = (0x089A9124u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A9124u) goto L_089A9124; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A9124u) goto L_089A9124; AOT_REGCACHE_SYNC_OUT(); return; L_089A9124: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_089A916C; @@ -3858,7 +3859,7 @@ L_089A9124: goto L_089A912C; } L_089A912C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(2196))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(2196))); aot_gpr_5 = (0u | 9u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; aot_gpr_5 = (0u | 8u); @@ -3876,7 +3877,7 @@ L_089A913C: goto L_089A9144; } L_089A9144: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(2276))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(2276))); { const bool branch_taken = aot_gpr_4 == ctx.gpr[18]; // nop if (branch_taken) { @@ -3909,7 +3910,7 @@ L_089A916C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0143_entry, 143u, 405u, 0x08A42270u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A9174u) goto L_089A9174; AOT_REGCACHE_SYNC_OUT(); return; L_089A9174: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_089A9194; @@ -3919,10 +3920,10 @@ L_089A9174: L_089A917C: aot_gpr_31 = (0x089A9184u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A9184u) goto L_089A9184; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A9184u) goto L_089A9184; AOT_REGCACHE_SYNC_OUT(); return; L_089A9184: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_089A91A4; @@ -3955,11 +3956,11 @@ L_089A919C: } L_089A91A4: aot_gpr_31 = (0x089A91ACu); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A91ACu) goto L_089A91AC; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A91ACu) goto L_089A91AC; AOT_REGCACHE_SYNC_OUT(); return; L_089A91AC: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_089A91D8; @@ -3967,7 +3968,7 @@ L_089A91AC: goto L_089A91B4; } L_089A91B4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(76))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(76))); ctx.gpr[6] = (16320u << 16u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7764))); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[6]); @@ -3982,7 +3983,7 @@ L_089A91B4: goto L_089A91D8; } L_089A91D8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(2228))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(2228))); aot_gpr_5 = (0u | 59u); if (aot_gpr_4 != aot_gpr_5) { aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(563))); @@ -4079,7 +4080,7 @@ L_089A9254: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A9278u) goto L_089A9278; AOT_REGCACHE_SYNC_OUT(); return; L_089A9278: - if (ctx.gpr[2] != 0u) { + if (aot_gpr_2 != 0u) { ctx.gpr[18] = (0u | 1u); goto L_089A92A8; } @@ -4097,7 +4098,7 @@ L_089A9280: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A929Cu) goto L_089A929C; AOT_REGCACHE_SYNC_OUT(); return; L_089A929C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; aot_gpr_4 = (ctx.gpr[18] & 255u); if (branch_taken) { goto L_089A92AC; @@ -4120,11 +4121,11 @@ L_089A92AC: } L_089A92B4: aot_gpr_31 = (0x089A92BCu); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A92BCu) goto L_089A92BC; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A92BCu) goto L_089A92BC; AOT_REGCACHE_SYNC_OUT(); return; L_089A92BC: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_089A92D8; @@ -4132,9 +4133,9 @@ L_089A92BC: goto L_089A92C4; } L_089A92C4: - ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(2274))); + ctx.gpr[6] = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(2274))); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089A92D8u); aot_gpr_5 = (aot_gpr_16 | 0u); goto L_089A92F4; @@ -4142,7 +4143,7 @@ L_089A92D8: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; @@ -4156,14 +4157,14 @@ L_089A92D8: L_089A92F4: aot_gpr_29 = (aot_gpr_29 + static_cast(-112)); ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(2228))); - { const std::uint32_t aot_run_words[5]{aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21]}; + { const std::uint32_t aot_run_words[5]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(84), aot_run_words); } ctx.gpr[21] = (0u | 6u); ctx.gpr[20] = (aot_gpr_4 + static_cast(48)); ctx.gpr[19] = (0u + static_cast(-513)); ctx.gpr[8] = (0u | 24u); ctx.gpr[18] = (aot_gpr_4 | 0u); - aot_gpr_17 = (aot_gpr_5 | 0u); + ctx.gpr[17] = (aot_gpr_5 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(80), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(104), aot_gpr_31); { const bool branch_taken = ctx.gpr[6] == ctx.gpr[8]; @@ -4181,7 +4182,7 @@ L_089A9338: L_089A9340: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x089A934Cu); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 50u, 0x0891034Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A934Cu) goto L_089A934C; AOT_REGCACHE_SYNC_OUT(); return; L_089A934C: @@ -4191,17 +4192,17 @@ L_089A934C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 240u, 0x08908D60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A9358u) goto L_089A9358; AOT_REGCACHE_SYNC_OUT(); return; L_089A9358: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(615)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(615)))))); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (aot_gpr_5 | 16u); aot_gpr_31 = (0x089A936Cu); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(615), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(615), static_cast(aot_gpr_5)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 3u, 0x08910020u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A936Cu) goto L_089A936C; AOT_REGCACHE_SYNC_OUT(); return; L_089A936C: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x089A9378u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 171u, 0x08910A24u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A9378u) goto L_089A9378; AOT_REGCACHE_SYNC_OUT(); return; L_089A9378: @@ -4210,7 +4211,7 @@ L_089A9378: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 3u, 0x08910020u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A9380u) goto L_089A9380; AOT_REGCACHE_SYNC_OUT(); return; L_089A9380: - aot_gpr_4 = (ctx.gpr[2] + static_cast(562)); + aot_gpr_4 = (aot_gpr_2 + static_cast(562)); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0))); aot_gpr_5 = (aot_gpr_5 + static_cast(1)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_5)); @@ -4237,7 +4238,7 @@ L_089A93A8: goto L_089A93B0; } L_089A93B0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(680))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(680))); aot_gpr_5 = (0u | 1u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -4247,7 +4248,7 @@ L_089A93B0: goto L_089A93C0; } L_089A93C0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(852))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -4265,7 +4266,7 @@ L_089A93CC: L_089A93DC: ctx.gpr[6] = (aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(2274))); aot_gpr_4 = (aot_gpr_29 | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089A93F0u); ctx.gpr[7] = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0107_entry, 107u, 395u, 0x089B16E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A93F0u) goto L_089A93F0; @@ -4285,9 +4286,9 @@ L_089A93F0: const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(563))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(563))); aot_gpr_5 = (aot_gpr_5 | aot_gpr_16); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(563), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(563), static_cast(aot_gpr_5)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -4328,7 +4329,7 @@ L_089A93F0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_4 = (aot_gpr_4 + static_cast(600)); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(2072), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(852))); { const bool branch_taken = aot_gpr_4 == ctx.gpr[21]; // nop if (branch_taken) { @@ -4337,7 +4338,7 @@ L_089A93F0: goto L_089A943C; } L_089A943C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(852))); aot_gpr_5 = (0u | 8u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -4347,7 +4348,7 @@ L_089A943C: goto L_089A944C; } L_089A944C: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(614)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(614)))))); aot_gpr_4 = (aot_gpr_4 & 2u); if (aot_gpr_4 == 0u) { aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); @@ -4390,7 +4391,7 @@ L_089A9498: aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(72), aot_gpr_4); aot_gpr_4 = (aot_gpr_29 + static_cast(32)); aot_gpr_31 = (0x089A94B4u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); goto L_089A8ACC; L_089A94B4: aot_gpr_16 = (aot_gpr_29 + static_cast(48)); @@ -4398,7 +4399,7 @@ L_089A94B4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x089A94CCu); - ctx.gpr[6] = (aot_gpr_17 | 0u); + ctx.gpr[6] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 177u, 0x08AF5564u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A94CCu) goto L_089A94CC; AOT_REGCACHE_SYNC_OUT(); return; L_089A94CC: @@ -4412,21 +4413,21 @@ L_089A94CC: L_089A94E0: aot_gpr_31 = (0x089A94E8u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A94E8u) goto L_089A94E8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A94E8u) goto L_089A94E8; AOT_REGCACHE_SYNC_OUT(); return; L_089A94E8: aot_gpr_5 = (2203u << 16u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); ctx.gpr[6] = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x089A94FCu); aot_gpr_5 = (aot_gpr_5 + static_cast(-21496)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A94FCu) goto L_089A94FC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A94FCu) goto L_089A94FC; AOT_REGCACHE_SYNC_OUT(); return; L_089A94FC: { std::uint32_t aot_run_words[7]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(80), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -4441,15 +4442,15 @@ L_089A94FC: AOT_REGCACHE_SYNC_OUT(); return; L_089A9520: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (2237u << 16u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (2237u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_17 = (aot_gpr_17 + static_cast(-28736)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(100))); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(-28736)); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(100))); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1927)))))); ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(52))); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); ctx.gpr[6] = (ctx.gpr[6] << 24u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x089A9558u); @@ -4457,7 +4458,7 @@ L_089A9520: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 237u, 0x08ADCCC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A9558u) goto L_089A9558; AOT_REGCACHE_SYNC_OUT(); return; L_089A9558: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -4466,7 +4467,7 @@ L_089A9558: goto L_089A9564; } L_089A9564: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(100))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(100))); ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(3)))))); ctx.gpr[7] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(52))); ctx.gpr[6] = (ctx.gpr[6] ^ ctx.gpr[7]); @@ -4483,7 +4484,7 @@ L_089A9584: ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(52))); aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_31 = (0x089A9594u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 282u, 0x08ADCFF8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A9594u) goto L_089A9594; AOT_REGCACHE_SYNC_OUT(); return; L_089A9594: @@ -4496,7 +4497,7 @@ L_089A95A4: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -4507,10 +4508,10 @@ L_089A95A4: AOT_REGCACHE_SYNC_OUT(); return; L_089A95B8: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, ctx.gpr[18]}; + { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(16), aot_run_words); } aot_gpr_16 = (aot_gpr_5 | 0u); - aot_gpr_17 = (aot_gpr_4 | 0u); + ctx.gpr[17] = (aot_gpr_4 | 0u); ctx.gpr[18] = (ctx.gpr[7] & 255u); { const std::uint32_t aot_run_words[3]{ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(28), aot_run_words); } @@ -4519,7 +4520,7 @@ L_089A95B8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0091_entry, 91u, 82u, 0x08970464u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A95E8u) goto L_089A95E8; AOT_REGCACHE_SYNC_OUT(); return; L_089A95E8: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_089A961C; @@ -4527,20 +4528,20 @@ L_089A95E8: goto L_089A95F0; } L_089A95F0: - ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(2274))); + ctx.gpr[6] = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(2274))); aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_31 = (0x089A9600u); aot_gpr_5 = (aot_gpr_16 | 0u); goto L_089A8ACC; L_089A9600: aot_gpr_31 = (0x089A9608u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 620u, 0x08906DE4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A9608u) goto L_089A9608; AOT_REGCACHE_SYNC_OUT(); return; L_089A9608: - aot_gpr_4 = (ctx.gpr[2] | ctx.gpr[18]); + aot_gpr_4 = (aot_gpr_2 | ctx.gpr[18]); if (aot_gpr_4 != 0u) { - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1252))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1252))); goto L_089A9634; } goto L_089A9614; @@ -4554,12 +4555,12 @@ L_089A9614: } L_089A961C: aot_gpr_31 = (0x089A9624u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0129_entry, 129u, 78u, 0x08A08AE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A9624u) goto L_089A9624; AOT_REGCACHE_SYNC_OUT(); return; L_089A9624: aot_gpr_31 = (0x089A962Cu); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1089u, 0x08AC7F64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A962Cu) goto L_089A962C; AOT_REGCACHE_SYNC_OUT(); return; L_089A962C: @@ -4635,7 +4636,7 @@ L_089A9684: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A96A8u) goto L_089A96A8; AOT_REGCACHE_SYNC_OUT(); return; L_089A96A8: - if (ctx.gpr[2] != 0u) { + if (aot_gpr_2 != 0u) { ctx.gpr[19] = (0u | 1u); goto L_089A96D8; } @@ -4653,7 +4654,7 @@ L_089A96B0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A96CCu) goto L_089A96CC; AOT_REGCACHE_SYNC_OUT(); return; L_089A96CC: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; aot_gpr_4 = (ctx.gpr[19] & 255u); if (branch_taken) { goto L_089A96DC; @@ -4676,11 +4677,11 @@ L_089A96DC: } L_089A96E4: aot_gpr_31 = (0x089A96ECu); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A96ECu) goto L_089A96EC; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A96ECu) goto L_089A96EC; AOT_REGCACHE_SYNC_OUT(); return; L_089A96EC: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089A96FC; @@ -4698,11 +4699,11 @@ L_089A96F4: L_089A96FC: aot_gpr_31 = (0x089A9704u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A9704u) goto L_089A9704; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B01E00, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A9704u) goto L_089A9704; AOT_REGCACHE_SYNC_OUT(); return; L_089A9704: aot_gpr_4 = (0u | 2u); - { const bool branch_taken = ctx.gpr[2] == aot_gpr_4; + { const bool branch_taken = aot_gpr_2 == aot_gpr_4; // nop if (branch_taken) { goto L_089A97C4; @@ -4710,7 +4711,7 @@ L_089A9704: goto L_089A9710; } L_089A9710: - aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(2274))); + aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(2274))); aot_gpr_4 = (0u | 10u); { const bool branch_taken = aot_gpr_5 != aot_gpr_4; aot_gpr_4 = (0u | 11u); @@ -4754,7 +4755,7 @@ L_089A974C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A9754u) goto L_089A9754; AOT_REGCACHE_SYNC_OUT(); return; L_089A9754: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; aot_gpr_4 = (aot_gpr_16 | 0u); if (branch_taken) { goto L_089A9778; @@ -4767,7 +4768,7 @@ L_089A975C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A9764u) goto L_089A9764; AOT_REGCACHE_SYNC_OUT(); return; L_089A9764: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(460))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(460))); aot_gpr_5 = (4u << 16u); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); { const bool branch_taken = aot_gpr_4 != 0u; @@ -4778,7 +4779,7 @@ L_089A9764: goto L_089A9778; } L_089A9778: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(2274))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(2274))); aot_gpr_5 = (0u | 9u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; aot_gpr_4 = (aot_gpr_16 | 0u); @@ -4793,7 +4794,7 @@ L_089A9788: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A9790u) goto L_089A9790; AOT_REGCACHE_SYNC_OUT(); return; L_089A9790: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; aot_gpr_4 = (aot_gpr_16 | 0u); if (branch_taken) { goto L_089A97C4; @@ -4806,7 +4807,7 @@ L_089A9798: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A97A0u) goto L_089A97A0; AOT_REGCACHE_SYNC_OUT(); return; L_089A97A0: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(460))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(460))); aot_gpr_5 = (4u << 16u); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); { const bool branch_taken = aot_gpr_4 == 0u; @@ -4818,7 +4819,7 @@ L_089A97A0: } L_089A97B4: aot_gpr_31 = (0x089A97BCu); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); goto L_089AA5B8; L_089A97BC: { const bool branch_taken = 0u == 0u; @@ -4829,9 +4830,9 @@ L_089A97BC: goto L_089A97C4; } L_089A97C4: - ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(2274))); + ctx.gpr[6] = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(2274))); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x089A97DCu); ctx.gpr[8] = (ctx.gpr[18] | 0u); @@ -4846,16 +4847,16 @@ L_089A97DC: goto L_089A97E4; } L_089A97E4: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089A97F0u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A97F0u) goto L_089A97F0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A97F0u) goto L_089A97F0; AOT_REGCACHE_SYNC_OUT(); return; L_089A97F0: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -4871,14 +4872,14 @@ L_089A9810: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x089A982Cu); - aot_gpr_17 = (aot_gpr_5 | 0u); + ctx.gpr[17] = (aot_gpr_5 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 620u, 0x08906DE4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A982Cu) goto L_089A982C; AOT_REGCACHE_SYNC_OUT(); return; L_089A982C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089A9874; @@ -4896,7 +4897,7 @@ L_089A9834: goto L_089A9844; } L_089A9844: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -4912,12 +4913,12 @@ L_089A9850: L_089A9858: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x089A9864u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 188u, 0x08910AD4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A9864u) goto L_089A9864; AOT_REGCACHE_SYNC_OUT(); return; L_089A9864: - if (aot_gpr_17 != 0u) { - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(86)))))); + if (ctx.gpr[17] != 0u) { + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(86)))))); goto L_089A987C; } goto L_089A986C; @@ -4938,8 +4939,8 @@ L_089A9874: goto L_089A987C; } L_089A987C: - aot_gpr_17 = (0u | 250u); - { const bool branch_taken = aot_gpr_4 != aot_gpr_17; + ctx.gpr[17] = (0u | 250u); + { const bool branch_taken = aot_gpr_4 != ctx.gpr[17]; // nop if (branch_taken) { goto L_089A98D0; @@ -4957,7 +4958,7 @@ L_089A9888: } L_089A9894: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(86)))))); - { const bool branch_taken = aot_gpr_4 != aot_gpr_17; + { const bool branch_taken = aot_gpr_4 != ctx.gpr[17]; // nop if (branch_taken) { goto L_089A98B8; @@ -5011,7 +5012,7 @@ L_089A98EC: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -5022,12 +5023,12 @@ L_089A98EC: AOT_REGCACHE_SYNC_OUT(); return; L_089A9900: aot_gpr_29 = (aot_gpr_29 + static_cast(-176)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(148), aot_gpr_17); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1156))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(148), ctx.gpr[17]); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1156))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(144), aot_gpr_16); { const std::uint32_t aot_run_words[3]{ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(152), aot_run_words); } - { const bool branch_taken = aot_gpr_17 == 0u; + { const bool branch_taken = ctx.gpr[17] == 0u; aot_gpr_16 = (aot_gpr_4 | 0u); if (branch_taken) { goto L_089A9960; @@ -5035,9 +5036,9 @@ L_089A9900: goto L_089A9924; } L_089A9924: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (branch_taken) { goto L_089A9960; } @@ -5049,7 +5050,7 @@ L_089A9930: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 296u, 0x08B01088u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A9938u) goto L_089A9938; AOT_REGCACHE_SYNC_OUT(); return; L_089A9938: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089A9960; @@ -5057,7 +5058,7 @@ L_089A9938: goto L_089A9940; } L_089A9940: - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(86)))))); + ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(86)))))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); aot_gpr_5 = (0u | 0u); ctx.gpr[7] = (static_cast(ctx.gpr[6]) < static_cast(aot_gpr_4) ? 1u : 0u); @@ -5160,7 +5161,7 @@ L_089A99B8: ctx.gpr[19] = (aot_gpr_29 + static_cast(48)); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x089A99DCu); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 912u, 0x0885F828u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A99DCu) goto L_089A99DC; AOT_REGCACHE_SYNC_OUT(); return; L_089A99DC: @@ -5218,7 +5219,7 @@ L_089A99DC: const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_5 = (aot_gpr_17 + static_cast(48)); + aot_gpr_5 = (ctx.gpr[17] + static_cast(48)); aot_gpr_31 = (0x089A9A08u); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A9A08u) goto L_089A9A08; @@ -5227,7 +5228,7 @@ L_089A9A08: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x089A9A14u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A9A14u) goto L_089A9A14; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A9A14u) goto L_089A9A14; AOT_REGCACHE_SYNC_OUT(); return; L_089A9A14: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -5241,7 +5242,7 @@ L_089A9A20: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0068_entry, 68u, 461u, 0x08916ABCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A9A28u) goto L_089A9A28; AOT_REGCACHE_SYNC_OUT(); return; L_089A9A28: - if (ctx.gpr[2] == 0u) { + if (aot_gpr_2 == 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(120))); goto L_089A9A48; } @@ -5249,7 +5250,7 @@ L_089A9A28: L_089A9A30: ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(2274))); aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089A9A44u); ctx.gpr[7] = (0u | 0u); goto L_089A95B8; @@ -5283,7 +5284,7 @@ L_089A9A68: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(144), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; @@ -5296,7 +5297,7 @@ L_089A9A68: AOT_REGCACHE_SYNC_OUT(); return; L_089A9A84: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(32), aot_run_words); } aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_5 + static_cast(48)); @@ -5309,18 +5310,18 @@ L_089A9A84: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_17 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[17] = (aot_gpr_29 + static_cast(16)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x089A9AB4u); - ctx.gpr[6] = (aot_gpr_17 | 0u); + ctx.gpr[6] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0106_entry, 106u, 784u, 0x089AF330u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A9AB4u) goto L_089A9AB4; AOT_REGCACHE_SYNC_OUT(); return; L_089A9AB4: - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -5344,13 +5345,13 @@ L_089A9AD0: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x089A9ADCu); aot_gpr_5 = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A9ADCu) goto L_089A9ADC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A9ADCu) goto L_089A9ADC; AOT_REGCACHE_SYNC_OUT(); return; L_089A9ADC: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(32), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -5365,11 +5366,11 @@ L_089A9AF0: ctx.gpr[18] = (aot_gpr_4 | 0u); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(86)))))); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(168), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(168), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(176), ctx.gpr[19]); ctx.gpr[19] = (0u | 0u); ctx.gpr[7] = (static_cast(aot_gpr_4) < static_cast(ctx.gpr[7]) ? 1u : 0u); - aot_gpr_17 = (aot_gpr_5 | 0u); + ctx.gpr[17] = (aot_gpr_5 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(164), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(180), ctx.gpr[20]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(184), aot_gpr_31); @@ -5390,12 +5391,12 @@ L_089A9B3C: ctx.gpr[20] = (aot_gpr_29 + static_cast(48)); aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x089A9B4Cu); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 912u, 0x0885F828u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A9B4Cu) goto L_089A9B4C; AOT_REGCACHE_SYNC_OUT(); return; L_089A9B4C: aot_gpr_4 = (ctx.gpr[18] | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089A9B5Cu); ctx.gpr[6] = (aot_gpr_16 | 0u); goto L_089A9C1C; @@ -5516,7 +5517,7 @@ L_089A9B5C: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_31 = (0x089A9BD4u); - aot_gpr_5 = (aot_gpr_17 + static_cast(48)); + aot_gpr_5 = (ctx.gpr[17] + static_cast(48)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A9BD4u) goto L_089A9BD4; AOT_REGCACHE_SYNC_OUT(); return; L_089A9BD4: @@ -5544,11 +5545,11 @@ L_089A9BF0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 129u, 0x089D89E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A9BF8u) goto L_089A9BF8; AOT_REGCACHE_SYNC_OUT(); return; L_089A9BF8: - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(164), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -5566,7 +5567,7 @@ L_089A9C1C: ctx.gpr[18] = (aot_gpr_4 | 0u); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(86)))))); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(432), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(432), ctx.gpr[17]); { const std::uint32_t aot_run_words[4]{ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(440), aot_run_words); } ctx.gpr[22] = (0u | 0u); @@ -5574,7 +5575,7 @@ L_089A9C1C: ctx.gpr[21] = (aot_gpr_29 + static_cast(128)); ctx.gpr[20] = (aot_gpr_29 + static_cast(144)); ctx.gpr[19] = (aot_gpr_29 + static_cast(64)); - aot_gpr_17 = (aot_gpr_5 | 0u); + ctx.gpr[17] = (aot_gpr_5 | 0u); { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), aot_gpr_16}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(420), aot_run_words); } { const std::uint32_t aot_run_words[3]{ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; @@ -5599,7 +5600,7 @@ L_089A9C8C: ctx.gpr[6] = (0u | 71u); goto L_089A8C9C; L_089A9C9C: - { const std::uint32_t vfpu_address = ctx.gpr[2] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_2 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -5614,7 +5615,7 @@ L_089A9C9C: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x089A9CB0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 912u, 0x0885F828u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A9CB0u) goto L_089A9CB0; AOT_REGCACHE_SYNC_OUT(); return; L_089A9CB0: @@ -5637,13 +5638,13 @@ L_089A9CB0: const std::uint32_t vfpu_address = ctx.gpr[21] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089A9CDCu); aot_gpr_5 = (0u | 2u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A9CDCu) goto L_089A9CDC; AOT_REGCACHE_SYNC_OUT(); return; L_089A9CDC: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_089A9D70; @@ -5744,7 +5745,7 @@ L_089A9CE4: const std::uint32_t vfpu_address = ctx.gpr[30] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_5 = (aot_gpr_17 + static_cast(48)); + aot_gpr_5 = (ctx.gpr[17] + static_cast(48)); aot_gpr_31 = (0x089A9D34u); aot_gpr_4 = (ctx.gpr[30] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A9D34u) goto L_089A9D34; @@ -5814,13 +5815,13 @@ L_089A9D70: ctx.fpr[22] = std::bit_cast(aot_gpr_4); goto L_089A9D7C; L_089A9D7C: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089A9D88u); aot_gpr_5 = (0u | 3u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A9D88u) goto L_089A9D88; AOT_REGCACHE_SYNC_OUT(); return; L_089A9D88: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_089A9E1C; @@ -5921,7 +5922,7 @@ L_089A9D90: const std::uint32_t vfpu_address = ctx.gpr[30] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_5 = (aot_gpr_17 + static_cast(48)); + aot_gpr_5 = (ctx.gpr[17] + static_cast(48)); aot_gpr_31 = (0x089A9DE0u); aot_gpr_4 = (ctx.gpr[30] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A9DE0u) goto L_089A9DE0; @@ -5991,13 +5992,13 @@ L_089A9E1C: aot_fpr_20 = std::bit_cast(aot_gpr_4); goto L_089A9E28; L_089A9E28: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089A9E34u); aot_gpr_5 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A9E34u) goto L_089A9E34; AOT_REGCACHE_SYNC_OUT(); return; L_089A9E34: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_089A9EC8; @@ -6098,7 +6099,7 @@ L_089A9E3C: const std::uint32_t vfpu_address = ctx.gpr[22] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_5 = (aot_gpr_17 + static_cast(48)); + aot_gpr_5 = (ctx.gpr[17] + static_cast(48)); aot_gpr_31 = (0x089A9E8Cu); aot_gpr_4 = (ctx.gpr[22] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A9E8Cu) goto L_089A9E8C; @@ -6322,13 +6323,13 @@ L_089A9F84: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 129u, 0x089D89E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089A9F8Cu) goto L_089A9F8C; AOT_REGCACHE_SYNC_OUT(); return; L_089A9F8C: - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); { std::uint32_t aot_run_words[12]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(420), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); aot_gpr_16 = aot_run_words[2]; - aot_gpr_17 = aot_run_words[3]; + ctx.gpr[17] = aot_run_words[3]; ctx.gpr[18] = aot_run_words[4]; ctx.gpr[19] = aot_run_words[5]; ctx.gpr[20] = aot_run_words[6]; @@ -6353,7 +6354,7 @@ L_089A9FC8: aot_gpr_5 = (aot_gpr_16 + static_cast(512)); { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(192), aot_run_words); } - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(208), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(208), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(212), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(220), aot_gpr_31); aot_gpr_31 = (0x089AA000u); @@ -6367,7 +6368,7 @@ L_089AA000: ctx.gpr[18] = (0u | 6u); ctx.fpr[22] = std::bit_cast(aot_gpr_5); { const bool branch_taken = aot_gpr_4 != ctx.gpr[18]; - aot_gpr_17 = (aot_gpr_29 + static_cast(112)); + ctx.gpr[17] = (aot_gpr_29 + static_cast(112)); if (branch_taken) { goto L_089AA088; } @@ -6432,12 +6433,12 @@ L_089AA06C: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x089AA080u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 682u, 0x08907020u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AA080u) goto L_089AA080; AOT_REGCACHE_SYNC_OUT(); return; L_089AA080: @@ -6460,23 +6461,23 @@ L_089AA088: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } goto L_089AA094; L_089AA094: aot_gpr_31 = (0x089AA09Cu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AA09Cu) goto L_089AA09C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AA09Cu) goto L_089AA09C; AOT_REGCACHE_SYNC_OUT(); return; L_089AA09C: - aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(40))); + aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(40))); aot_gpr_31 = (0x089AA0A8u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AA0A8u) goto L_089AA0A8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AA0A8u) goto L_089AA0A8; AOT_REGCACHE_SYNC_OUT(); return; L_089AA0A8: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(32))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(32))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(32))); aot_fpr_20 = aot_fpr_20 / aot_fpr_12; ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[24] <= aot_fpr_20)) ? 0x00800000u : 0u); @@ -6519,7 +6520,7 @@ L_089AA0C4: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<6u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -6572,10 +6573,10 @@ L_089AA0C4: L_089AA140: aot_gpr_31 = (0x089AA148u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AA148u) goto L_089AA148; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AA148u) goto L_089AA148; AOT_REGCACHE_SYNC_OUT(); return; L_089AA148: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(48)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(48)))))); aot_gpr_5 = (0u | 62u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -6587,16 +6588,16 @@ L_089AA148: L_089AA158: aot_gpr_31 = (0x089AA160u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AA160u) goto L_089AA160; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AA160u) goto L_089AA160; AOT_REGCACHE_SYNC_OUT(); return; L_089AA160: - aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(40))); + aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(40))); aot_gpr_31 = (0x089AA16Cu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AA16Cu) goto L_089AA16C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AA16Cu) goto L_089AA16C; AOT_REGCACHE_SYNC_OUT(); return; L_089AA16C: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(32))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(32))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(32))); aot_fpr_12 = aot_fpr_20 / aot_fpr_12; aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-13360))); @@ -6622,16 +6623,16 @@ L_089AA190: L_089AA1A4: aot_gpr_31 = (0x089AA1ACu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AA1ACu) goto L_089AA1AC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AA1ACu) goto L_089AA1AC; AOT_REGCACHE_SYNC_OUT(); return; L_089AA1AC: - aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(40))); + aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(40))); aot_gpr_31 = (0x089AA1B8u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AA1B8u) goto L_089AA1B8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AA1B8u) goto L_089AA1B8; AOT_REGCACHE_SYNC_OUT(); return; L_089AA1B8: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(32))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(32))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(32))); aot_fpr_12 = aot_fpr_20 / aot_fpr_12; aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-13356))); @@ -6711,7 +6712,7 @@ L_089AA248: ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); aot_gpr_16 = aot_run_words[3]; - aot_gpr_17 = aot_run_words[4]; + ctx.gpr[17] = aot_run_words[4]; ctx.gpr[18] = aot_run_words[5]; ctx.gpr[19] = aot_run_words[6]; aot_gpr_31 = aot_run_words[7]; @@ -6724,7 +6725,7 @@ L_089AA248: AOT_REGCACHE_SYNC_OUT(); return; L_089AA270: aot_gpr_29 = (aot_gpr_29 + static_cast(-288)); - { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_20), aot_gpr_16, aot_gpr_17}; + { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_20), aot_gpr_16, ctx.gpr[17]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(240), aot_run_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(260), ctx.gpr[20]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(264), ctx.gpr[21]); @@ -6733,7 +6734,7 @@ L_089AA270: ctx.gpr[21] = (aot_gpr_4 | 0u); aot_gpr_16 = (aot_gpr_29 + static_cast(32)); ctx.gpr[20] = (ctx.gpr[7] | 0u); - aot_gpr_17 = (aot_gpr_5 | 0u); + ctx.gpr[17] = (aot_gpr_5 | 0u); ctx.gpr[30] = (ctx.gpr[6] | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(252), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(256), ctx.gpr[19]); @@ -6745,7 +6746,7 @@ L_089AA270: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 912u, 0x0885F828u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AA2C0u) goto L_089AA2C0; AOT_REGCACHE_SYNC_OUT(); return; L_089AA2C0: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(852))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(852))); ctx.gpr[6] = (0u | 6u); { const bool branch_taken = aot_gpr_5 == ctx.gpr[6]; aot_gpr_4 = (0u | 0u); @@ -6755,7 +6756,7 @@ L_089AA2C0: goto L_089AA2D0; } L_089AA2D0: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(852))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(852))); ctx.gpr[6] = (0u | 8u); if (aot_gpr_5 == ctx.gpr[6]) { aot_gpr_4 = (0u | 1u); @@ -6763,7 +6764,7 @@ L_089AA2D0: } goto L_089AA2E0; L_089AA2E0: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(852))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(852))); ctx.gpr[6] = (0u | 9u); if (aot_gpr_5 == ctx.gpr[6]) { aot_gpr_4 = (0u | 1u); @@ -6771,7 +6772,7 @@ L_089AA2E0: } goto L_089AA2F0; L_089AA2F0: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(852))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(852))); ctx.gpr[6] = (0u | 2u); { const bool branch_taken = aot_gpr_5 != ctx.gpr[6]; aot_gpr_4 = (aot_gpr_4 & 255u); @@ -6795,7 +6796,7 @@ L_089AA308: goto L_089AA310; } L_089AA310: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(86)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(86)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); ctx.gpr[18] = (0u | 0u); aot_gpr_5 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_5) ? 1u : 0u); @@ -6889,7 +6890,7 @@ L_089AA390: ctx.gpr[6] = (0u | 196u); goto L_089A8C9C; L_089AA3A0: - { const std::uint32_t vfpu_address = ctx.gpr[2] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_2 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -6940,7 +6941,7 @@ L_089AA3A0: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089AA3D4u); ctx.gpr[6] = (ctx.gpr[21] | 0u); goto L_089A8A60; @@ -6966,18 +6967,18 @@ L_089AA3D4: goto L_089AA3E4; } L_089AA3E4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(92))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(92))); aot_gpr_4 = (aot_gpr_4 + static_cast(376)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); jump_target = ctx.gpr[6]; aot_gpr_31 = (0x089AA3FCu); - aot_gpr_4 = (aot_gpr_17 + aot_gpr_5); + aot_gpr_4 = (ctx.gpr[17] + aot_gpr_5); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AA3FCu) goto L_089AA3FC; AOT_REGCACHE_SYNC_OUT(); return; L_089AA3FC: - aot_gpr_16 = (ctx.gpr[2] | 0u); + aot_gpr_16 = (aot_gpr_2 | 0u); aot_gpr_4 = (0u | 5u); { const bool branch_taken = aot_gpr_16 != aot_gpr_4; ctx.gpr[19] = (0u | 11u); @@ -6997,10 +6998,10 @@ L_089AA40C: L_089AA414: aot_gpr_31 = (0x089AA41Cu); aot_gpr_4 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AA41Cu) goto L_089AA41C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AA41Cu) goto L_089AA41C; AOT_REGCACHE_SYNC_OUT(); return; L_089AA41C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089AA45C; @@ -7010,10 +7011,10 @@ L_089AA41C: L_089AA424: aot_gpr_31 = (0x089AA42Cu); aot_gpr_4 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AA42Cu) goto L_089AA42C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AA42Cu) goto L_089AA42C; AOT_REGCACHE_SYNC_OUT(); return; L_089AA42C: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(48)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(48)))))); aot_gpr_5 = (0u | 198u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -7029,7 +7030,7 @@ L_089AA43C: ctx.gpr[6] = (0u | 199u); goto L_089A8C9C; L_089AA44C: - { const std::uint32_t vfpu_address = ctx.gpr[2] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_2 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -7043,7 +7044,7 @@ L_089AA44C: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const bool branch_taken = 0u == 0u; - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(352))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(352))); if (branch_taken) { goto L_089AA488; } @@ -7051,7 +7052,7 @@ L_089AA44C: } L_089AA45C: ctx.gpr[20] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-13368))); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089AA46Cu); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0149_entry, 149u, 294u, 0x08A59500u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AA46Cu) goto L_089AA46C; @@ -7060,10 +7061,10 @@ L_089AA46C: aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_5 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x089AA47Cu); - ctx.gpr[6] = (ctx.gpr[2] | 0u); + ctx.gpr[6] = (aot_gpr_2 | 0u); goto L_089A8C9C; L_089AA47C: - { const std::uint32_t vfpu_address = ctx.gpr[2] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_2 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -7076,7 +7077,7 @@ L_089AA47C: const std::uint32_t vfpu_address = ctx.gpr[22] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(352))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(352))); goto L_089AA488; L_089AA488: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(128))); @@ -7165,7 +7166,7 @@ L_089AA4D4: const std::uint32_t vfpu_address = ctx.gpr[7] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089AA4F8u); aot_gpr_5 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 419u, 0x08B01804u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AA4F8u) goto L_089AA4F8; @@ -7181,7 +7182,7 @@ L_089AA4F8: L_089AA500: ctx.gpr[18] = (aot_gpr_29 + static_cast(192)); aot_gpr_4 = (ctx.gpr[18] | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); ctx.gpr[6] = (ctx.gpr[30] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); ctx.gpr[7] = (ctx.gpr[20] | 0u); @@ -7257,7 +7258,7 @@ L_089AA520: const std::uint32_t vfpu_address = ctx.gpr[21] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_4 = (aot_gpr_17 + static_cast(48)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -7305,7 +7306,7 @@ L_089AA584: aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(240), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); aot_gpr_16 = aot_run_words[1]; - aot_gpr_17 = aot_run_words[2]; + ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; ctx.gpr[19] = aot_run_words[4]; ctx.gpr[20] = aot_run_words[5]; @@ -7325,14 +7326,14 @@ L_089AA5B8: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), aot_gpr_31); aot_gpr_31 = (0x089AA5D4u); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1152))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AA5D4u) goto L_089AA5D4; + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1152))); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AA5D4u) goto L_089AA5D4; AOT_REGCACHE_SYNC_OUT(); return; L_089AA5D4: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089AA5F0; @@ -7342,12 +7343,12 @@ L_089AA5D4: L_089AA5DC: aot_gpr_31 = (0x089AA5E4u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AA5E4u) goto L_089AA5E4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AA5E4u) goto L_089AA5E4; AOT_REGCACHE_SYNC_OUT(); return; L_089AA5E4: aot_gpr_4 = (50298u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(36), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(aot_gpr_2 + static_cast(36), std::bit_cast(aot_fpr_12)); goto L_089AA5F0; L_089AA5F0: aot_gpr_31 = (0x089AA5F8u); @@ -7362,7 +7363,7 @@ L_089AA5F8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AA608u) goto L_089AA608; AOT_REGCACHE_SYNC_OUT(); return; L_089AA608: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_089AA62C; @@ -7380,7 +7381,7 @@ L_089AA610: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 163u, 0x089088F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AA62Cu) goto L_089AA62C; AOT_REGCACHE_SYNC_OUT(); return; L_089AA62C: - { const bool branch_taken = aot_gpr_17 == 0u; + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_089AA724; @@ -7391,7 +7392,7 @@ L_089AA634: ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2196))); aot_gpr_4 = (0u | 18u); { const bool branch_taken = ctx.gpr[6] == aot_gpr_4; - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(562))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(562))); if (branch_taken) { goto L_089AA654; } @@ -7408,10 +7409,10 @@ L_089AA644: goto L_089AA654; } L_089AA654: - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(615)))))); + ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(615)))))); ctx.gpr[7] = (0u + static_cast(-17)); ctx.gpr[6] = (ctx.gpr[6] & ctx.gpr[7]); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(615), static_cast(ctx.gpr[6])); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(615), static_cast(ctx.gpr[6])); goto L_089AA664; L_089AA664: { const bool branch_taken = static_cast(aot_gpr_5) <= 0; @@ -7423,7 +7424,7 @@ L_089AA664: } L_089AA66C: aot_gpr_5 = (aot_gpr_5 + static_cast(-1)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(562), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(562), static_cast(aot_gpr_5)); goto L_089AA674; L_089AA674: aot_gpr_5 = (aot_gpr_4 | 0u); @@ -7444,7 +7445,7 @@ L_089AA684: goto L_089AA68C; } L_089AA68C: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(86)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(86)))))); aot_gpr_5 = (0u | 227u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -7459,7 +7460,7 @@ L_089AA69C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1089u, 0x08AC7F64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AA6A4u) goto L_089AA6A4; AOT_REGCACHE_SYNC_OUT(); return; L_089AA6A4: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(852))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(852))); ctx.gpr[6] = (0u | 6u); { const bool branch_taken = aot_gpr_5 == ctx.gpr[6]; aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(2274))); @@ -7489,19 +7490,19 @@ L_089AA6C8: ctx.gpr[6] = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_31 = (0x089AA6D8u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); goto L_089A8ACC; L_089AA6D8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(563))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(563))); aot_gpr_4 = (~(aot_gpr_4 | 0u)); aot_gpr_4 = (aot_gpr_5 & aot_gpr_4); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(1280)))))); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(563), static_cast(aot_gpr_4)); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(1280)))))); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(563), static_cast(aot_gpr_4)); aot_gpr_4 = (0u + static_cast(-2)); aot_gpr_4 = (aot_gpr_5 & aot_gpr_4); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(1280), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(1280), static_cast(aot_gpr_4)); if (branch_taken) { goto L_089AA724; } @@ -7511,14 +7512,14 @@ L_089AA700: ctx.gpr[6] = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_29 + static_cast(16)); aot_gpr_31 = (0x089AA710u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); goto L_089A8ACC; L_089AA710: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(563))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(563))); aot_gpr_4 = (~(aot_gpr_4 | 0u)); aot_gpr_4 = (aot_gpr_5 & aot_gpr_4); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(563), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(563), static_cast(aot_gpr_4)); goto L_089AA724; L_089AA724: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); @@ -7559,10 +7560,10 @@ L_089AA758: L_089AA760: aot_gpr_31 = (0x089AA768u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AA768u) goto L_089AA768; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AA768u) goto L_089AA768; AOT_REGCACHE_SYNC_OUT(); return; L_089AA768: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089AA7B0; @@ -7572,38 +7573,38 @@ L_089AA768: L_089AA770: aot_gpr_31 = (0x089AA778u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AA778u) goto L_089AA778; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AA778u) goto L_089AA778; AOT_REGCACHE_SYNC_OUT(); return; L_089AA778: aot_gpr_4 = (49280u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x089AA78Cu); - aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(36), std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AA78Cu) goto L_089AA78C; + aot_mem.aot_direct_store32(aot_gpr_2 + static_cast(36), std::bit_cast(aot_fpr_12)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AA78Cu) goto L_089AA78C; AOT_REGCACHE_SYNC_OUT(); return; L_089AA78C: - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(8))); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(8))); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (aot_gpr_5 | 4u); aot_gpr_31 = (0x089AA7A0u); - aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(8), aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AA7A0u) goto L_089AA7A0; + aot_mem.aot_direct_store32(aot_gpr_2 + static_cast(8), aot_gpr_5); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AA7A0u) goto L_089AA7A0; AOT_REGCACHE_SYNC_OUT(); return; L_089AA7A0: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(8))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(8))); aot_gpr_5 = (0u + static_cast(-2)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); - aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(8), aot_gpr_4); + aot_mem.aot_direct_store32(aot_gpr_2 + static_cast(8), aot_gpr_4); goto L_089AA7B0; L_089AA7B0: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x089AA7BCu); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AA7BCu) goto L_089AA7BC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AA7BCu) goto L_089AA7BC; AOT_REGCACHE_SYNC_OUT(); return; L_089AA7BC: - { const bool branch_taken = aot_gpr_17 == 0u; + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_089AA7E8; @@ -7611,7 +7612,7 @@ L_089AA7BC: goto L_089AA7C4; } L_089AA7C4: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(612))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(612))); aot_gpr_5 = (0u | 1u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -7621,7 +7622,7 @@ L_089AA7C4: goto L_089AA7D4; } L_089AA7D4: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(535)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(535)))))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -7631,13 +7632,13 @@ L_089AA7D4: } L_089AA7E0: aot_gpr_4 = (0u | 17u); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(535), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(535), static_cast(aot_gpr_4)); goto L_089AA7E8; L_089AA7E8: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(32), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -7654,7 +7655,7 @@ L_089AA7FC: aot_gpr_16 = (aot_gpr_4 | 0u); ctx.gpr[18] = (aot_gpr_29 + static_cast(16)); ctx.gpr[19] = (aot_gpr_5 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(148), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(148), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(160), aot_gpr_31); aot_gpr_31 = (0x089AA828u); aot_gpr_4 = (ctx.gpr[18] | 0u); @@ -7664,7 +7665,7 @@ L_089AA828: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(48)))))); aot_gpr_5 = (0u | 64u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; - aot_gpr_17 = (0u | 61u); + ctx.gpr[17] = (0u | 61u); if (branch_taken) { goto L_089AA85C; } @@ -7677,7 +7678,7 @@ L_089AA838: ctx.gpr[6] = (0u | 64u); goto L_089A8C9C; L_089AA848: - { const std::uint32_t vfpu_address = ctx.gpr[2] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_2 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -7715,7 +7716,7 @@ L_089AA86C: ctx.gpr[6] = (0u | 62u); goto L_089A8C9C; L_089AA87C: - { const std::uint32_t vfpu_address = ctx.gpr[2] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_2 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -7738,7 +7739,7 @@ L_089AA87C: } L_089AA890: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(48)))))); - { const bool branch_taken = aot_gpr_4 != aot_gpr_17; + { const bool branch_taken = aot_gpr_4 != ctx.gpr[17]; // nop if (branch_taken) { goto L_089AA8E8; @@ -7752,7 +7753,7 @@ L_089AA89C: ctx.gpr[6] = (0u | 61u); goto L_089A8C9C; L_089AA8AC: - { const std::uint32_t vfpu_address = ctx.gpr[2] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_2 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -7806,21 +7807,21 @@ L_089AA8F8: L_089AA914: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x089AA920u); - aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AA920u) goto L_089AA920; + aot_gpr_5 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AA920u) goto L_089AA920; AOT_REGCACHE_SYNC_OUT(); return; L_089AA920: aot_gpr_31 = (0x089AA928u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AA928u) goto L_089AA928; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AA928u) goto L_089AA928; AOT_REGCACHE_SYNC_OUT(); return; L_089AA928: aot_gpr_5 = (2203u << 16u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); ctx.gpr[6] = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x089AA93Cu); aot_gpr_5 = (aot_gpr_5 + static_cast(-21700)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AA93Cu) goto L_089AA93C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AA93Cu) goto L_089AA93C; AOT_REGCACHE_SYNC_OUT(); return; L_089AA93C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(88))); @@ -7941,7 +7942,7 @@ L_089AA9C4: { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_13), std::bit_cast(aot_fpr_14)}; aot_mem.aot_direct_store32_block(ctx.gpr[19] + static_cast(48), aot_run_words); } aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(48)))))); - { const bool branch_taken = aot_gpr_4 == aot_gpr_17; + { const bool branch_taken = aot_gpr_4 == ctx.gpr[17]; // nop if (branch_taken) { goto L_089AA9F8; @@ -7983,7 +7984,7 @@ L_089AAA18: AOT_REGCACHE_SYNC_OUT(); return; L_089AAA28: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(48)))))); - { const bool branch_taken = aot_gpr_4 == aot_gpr_17; + { const bool branch_taken = aot_gpr_4 == ctx.gpr[17]; // nop if (branch_taken) { goto L_089AAA44; @@ -8045,13 +8046,13 @@ L_089AAA98: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x089AAAA4u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AAAA4u) goto L_089AAAA4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08908E78, 65u, 261u, 0x08908E78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AAAA4u) goto L_089AAAA4; AOT_REGCACHE_SYNC_OUT(); return; L_089AAAA4: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x089AAAB0u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AAAB0u) goto L_089AAAB0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AAAB0u) goto L_089AAAB0; AOT_REGCACHE_SYNC_OUT(); return; L_089AAAB0: aot_gpr_4 = (ctx.gpr[19] | 0u); @@ -8074,7 +8075,7 @@ L_089AAAD0: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x089AAADCu); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AAADCu) goto L_089AAADC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AAADCu) goto L_089AAADC; AOT_REGCACHE_SYNC_OUT(); return; L_089AAADC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(72))); @@ -8112,7 +8113,7 @@ L_089AAB20: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(144), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; @@ -8146,13 +8147,13 @@ L_089AAB70: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x089AAB7Cu); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AAB7Cu) goto L_089AAB7C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08908E78, 65u, 261u, 0x08908E78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AAB7Cu) goto L_089AAB7C; AOT_REGCACHE_SYNC_OUT(); return; L_089AAB7C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x089AAB88u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AAB88u) goto L_089AAB88; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AAB88u) goto L_089AAB88; AOT_REGCACHE_SYNC_OUT(); return; L_089AAB88: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -8175,7 +8176,7 @@ L_089AABA8: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x089AABB4u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AABB4u) goto L_089AABB4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AABB4u) goto L_089AABB4; AOT_REGCACHE_SYNC_OUT(); return; L_089AABB4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); @@ -8220,10 +8221,10 @@ L_089AABF8: AOT_REGCACHE_SYNC_OUT(); return; L_089AAC08: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_17); - aot_gpr_17 = (aot_gpr_5 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_5 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_16); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1152))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1152))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_31); { const bool branch_taken = aot_gpr_4 == 0u; @@ -8235,11 +8236,11 @@ L_089AAC08: } L_089AAC2C: aot_gpr_31 = (0x089AAC34u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AAC34u) goto L_089AAC34; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AAC34u) goto L_089AAC34; AOT_REGCACHE_SYNC_OUT(); return; L_089AAC34: - { const bool branch_taken = ctx.gpr[18] != ctx.gpr[2]; + { const bool branch_taken = ctx.gpr[18] != aot_gpr_2; // nop if (branch_taken) { goto L_089AAC48; @@ -8247,10 +8248,10 @@ L_089AAC34: goto L_089AAC3C; } L_089AAC3C: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089AAC48u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AAC48u) goto L_089AAC48; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AAC48u) goto L_089AAC48; AOT_REGCACHE_SYNC_OUT(); return; L_089AAC48: aot_gpr_4 = (50298u << 16u); @@ -8277,7 +8278,7 @@ L_089AAC5C: goto L_089AAC70; } L_089AAC70: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(2228))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(2228))); aot_gpr_5 = (0u | 61u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; aot_gpr_5 = (0u | 59u); @@ -8329,7 +8330,7 @@ L_089AACA4: } L_089AACAC: aot_gpr_31 = (0x089AACB4u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); goto L_089AA5B8; L_089AACB4: { const bool branch_taken = 0u == 0u; @@ -8340,7 +8341,7 @@ L_089AACB4: goto L_089AACBC; } L_089AACBC: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(2274))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(2274))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -8349,7 +8350,7 @@ L_089AACBC: goto L_089AACC8; } L_089AACC8: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1252))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1252))); aot_fpr_13 = std::bit_cast(0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(aot_fpr_13)) && aot_fpr_12 == aot_fpr_13)) ? 0x00800000u : 0u); // nop @@ -8362,7 +8363,7 @@ L_089AACC8: } L_089AACE0: aot_gpr_31 = (0x089AACE8u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); goto L_089AA5B8; L_089AACE8: { const bool branch_taken = 0u == 0u; @@ -8374,7 +8375,7 @@ L_089AACE8: } L_089AACF0: aot_gpr_31 = (0x089AACF8u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); goto L_089AA5B8; L_089AACF8: { const bool branch_taken = 0u == 0u; @@ -8399,7 +8400,7 @@ L_089AAD10: aot_gpr_4 = (aot_gpr_16 + aot_gpr_5); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x089AAD30u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AAD30u) goto L_089AAD30; AOT_REGCACHE_SYNC_OUT(); return; @@ -8407,7 +8408,7 @@ L_089AAD30: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -8419,13 +8420,13 @@ L_089AAD30: AOT_REGCACHE_SYNC_OUT(); return; L_089AAD48: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_5 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_5 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1152))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1152))); if (branch_taken) { goto L_089AAD74; } @@ -8437,7 +8438,7 @@ L_089AAD68: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(36), std::bit_cast(aot_fpr_12)); goto L_089AAD74; L_089AAD74: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(2228))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(2228))); aot_gpr_5 = (0u | 61u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; aot_gpr_5 = (0u | 59u); @@ -8473,7 +8474,7 @@ L_089AAD98: } L_089AADA0: aot_gpr_31 = (0x089AADA8u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); goto L_089AA5B8; L_089AADA8: { const bool branch_taken = 0u == 0u; @@ -8504,11 +8505,11 @@ L_089AADB8: } L_089AADCC: aot_gpr_31 = (0x089AADD4u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AADD4u) goto L_089AADD4; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AADD4u) goto L_089AADD4; AOT_REGCACHE_SYNC_OUT(); return; L_089AADD4: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_089AADEC; @@ -8532,7 +8533,7 @@ L_089AADE4: goto L_089AADEC; } L_089AADEC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1360))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1360))); aot_gpr_5 = (static_cast(aot_gpr_4) < 2 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_5 = (static_cast(aot_gpr_4) < 3 ? 1u : 0u); @@ -8563,7 +8564,7 @@ L_089AAE0C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AAE14u) goto L_089AAE14; AOT_REGCACHE_SYNC_OUT(); return; L_089AAE14: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); { const bool branch_taken = 0u == 0u; aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(154))); if (branch_taken) { @@ -8593,7 +8594,7 @@ L_089AAE30: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AAE38u) goto L_089AAE38; AOT_REGCACHE_SYNC_OUT(); return; L_089AAE38: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); { const bool branch_taken = 0u == 0u; aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(154))); if (branch_taken) { @@ -8607,7 +8608,7 @@ L_089AAE44: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AAE4Cu) goto L_089AAE4C; AOT_REGCACHE_SYNC_OUT(); return; L_089AAE4C: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); { const bool branch_taken = 0u == 0u; aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(154))); if (branch_taken) { @@ -8621,7 +8622,7 @@ L_089AAE58: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AAE60u) goto L_089AAE60; AOT_REGCACHE_SYNC_OUT(); return; L_089AAE60: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); { const bool branch_taken = 0u == 0u; aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(154))); if (branch_taken) { @@ -8647,7 +8648,7 @@ L_089AAE7C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0098_entry, 98u, 489u, 0x0898D560u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AAE84u) goto L_089AAE84; AOT_REGCACHE_SYNC_OUT(); return; L_089AAE84: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_089AAEEC; @@ -8660,7 +8661,7 @@ L_089AAE8C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0097_entry, 97u, 956u, 0x0898BB4Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AAE94u) goto L_089AAE94; AOT_REGCACHE_SYNC_OUT(); return; L_089AAE94: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_089AAEEC; @@ -8673,7 +8674,7 @@ L_089AAE9C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0097_entry, 97u, 960u, 0x0898BB8Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AAEA4u) goto L_089AAEA4; AOT_REGCACHE_SYNC_OUT(); return; L_089AAEA4: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_089AAEEC; @@ -8686,7 +8687,7 @@ L_089AAEAC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0097_entry, 97u, 972u, 0x0898BC4Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AAEB4u) goto L_089AAEB4; AOT_REGCACHE_SYNC_OUT(); return; L_089AAEB4: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_089AAEEC; @@ -8699,7 +8700,7 @@ L_089AAEBC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0097_entry, 97u, 976u, 0x0898BC6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AAEC4u) goto L_089AAEC4; AOT_REGCACHE_SYNC_OUT(); return; L_089AAEC4: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_089AAEEC; @@ -8712,7 +8713,7 @@ L_089AAECC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0097_entry, 97u, 980u, 0x0898BC8Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AAED4u) goto L_089AAED4; AOT_REGCACHE_SYNC_OUT(); return; L_089AAED4: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_089AAEEC; @@ -8725,7 +8726,7 @@ L_089AAEDC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0097_entry, 97u, 984u, 0x0898BCACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AAEE4u) goto L_089AAEE4; AOT_REGCACHE_SYNC_OUT(); return; L_089AAEE4: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089AAF04; @@ -8734,11 +8735,11 @@ L_089AAEE4: } L_089AAEEC: aot_gpr_31 = (0x089AAEF4u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); goto L_089AA5B8; L_089AAEF4: aot_gpr_31 = (0x089AAEFCu); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1089u, 0x08AC7F64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AAEFCu) goto L_089AAEFC; AOT_REGCACHE_SYNC_OUT(); return; L_089AAEFC: @@ -8750,7 +8751,7 @@ L_089AAEFC: goto L_089AAF04; } L_089AAF04: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(2196))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(2196))); aot_gpr_5 = (0u | 18u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -8761,7 +8762,7 @@ L_089AAF04: } L_089AAF14: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_4 = (aot_gpr_4 + static_cast(232)); ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); @@ -8781,13 +8782,13 @@ L_089AAF30: } L_089AAF38: aot_gpr_31 = (0x089AAF40u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); goto L_089AA5B8; L_089AAF40: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -8799,10 +8800,10 @@ L_089AAF40: AOT_REGCACHE_SYNC_OUT(); return; L_089AAF58: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(1152))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(1152))); if (branch_taken) { goto L_089AAF7C; } @@ -8814,7 +8815,7 @@ L_089AAF70: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(36), std::bit_cast(aot_fpr_12)); goto L_089AAF7C; L_089AAF7C: - { const bool branch_taken = aot_gpr_17 == 0u; + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_089AAFA8; @@ -8822,7 +8823,7 @@ L_089AAF7C: goto L_089AAF84; } L_089AAF84: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(352))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(352))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(208))); aot_gpr_4 = (aot_gpr_4 & 256u); aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); @@ -8851,8 +8852,8 @@ L_089AAFA8: goto L_089AAFB0; } L_089AAFB0: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(614)))))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(92))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(614)))))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(92))); ctx.gpr[6] = (aot_gpr_4 & 8u); aot_gpr_4 = (aot_gpr_5 + static_cast(272)); aot_gpr_5 = (16256u << 16u); @@ -8866,7 +8867,7 @@ L_089AAFB0: L_089AAFCC: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - aot_gpr_4 = (aot_gpr_17 + aot_gpr_5); + aot_gpr_4 = (ctx.gpr[17] + aot_gpr_5); aot_gpr_5 = (0u | 10u); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x089AAFE4u); @@ -8885,7 +8886,7 @@ L_089AAFE4: L_089AAFEC: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - aot_gpr_4 = (aot_gpr_17 + aot_gpr_5); + aot_gpr_4 = (ctx.gpr[17] + aot_gpr_5); aot_gpr_5 = (0u | 10u); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x089AB004u); @@ -8894,17 +8895,17 @@ L_089AAFEC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AB004u) goto L_089AB004; AOT_REGCACHE_SYNC_OUT(); return; L_089AB004: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(564))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(564))); aot_gpr_5 = (0u + static_cast(-2)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(564), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_gpr_17 + static_cast(944)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(564), static_cast(aot_gpr_4)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(944)); aot_gpr_31 = (0x089AB020u); aot_gpr_5 = (0u | 2u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 382u, 0x08B0D940u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AB020u) goto L_089AB020; AOT_REGCACHE_SYNC_OUT(); return; L_089AB020: - { const bool branch_taken = ctx.gpr[2] != aot_gpr_16; + { const bool branch_taken = aot_gpr_2 != aot_gpr_16; // nop if (branch_taken) { goto L_089AB034; @@ -8912,7 +8913,7 @@ L_089AB020: goto L_089AB028; } L_089AB028: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089AB034u); aot_gpr_5 = (0u | 2u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 752u, 0x0883365Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AB034u) goto L_089AB034; @@ -8921,7 +8922,7 @@ L_089AB034: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -9051,14 +9052,14 @@ L_089AB124: } L_089AB138: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_089AB144; } goto L_089AB140; } L_089AB140: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_089AB144; L_089AB144: { std::uint32_t aot_run_words[3]{}; @@ -9077,13 +9078,13 @@ L_089AB158: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); - { const std::uint32_t aot_run_words[3]{aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(4), aot_run_words); } ctx.gpr[18] = (0u | 0u); - aot_gpr_17 = (aot_gpr_16 + static_cast(1396)); + ctx.gpr[17] = (aot_gpr_16 + static_cast(1396)); goto L_089AB178; L_089AB178: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(16))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(16))); { const bool branch_taken = static_cast(aot_gpr_4) <= 0; // nop if (branch_taken) { @@ -9093,11 +9094,11 @@ L_089AB178: } L_089AB184: aot_gpr_31 = (0x089AB18Cu); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0143_entry, 143u, 378u, 0x08A420BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AB18Cu) goto L_089AB18C; AOT_REGCACHE_SYNC_OUT(); return; L_089AB18C: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_089AB1AC; @@ -9108,7 +9109,7 @@ L_089AB194: ctx.gpr[18] = (ctx.gpr[18] + static_cast(1)); aot_gpr_4 = (static_cast(ctx.gpr[18]) < 10 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(28)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(28)); if (branch_taken) { goto L_089AB178; } @@ -9130,7 +9131,7 @@ L_089AB1AC: AOT_REGCACHE_SYNC_OUT(); return; L_089AB1B8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_089AB1D0; } @@ -9143,13 +9144,13 @@ L_089AB1C0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 28u, 0x0890816Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AB1CCu) goto L_089AB1CC; AOT_REGCACHE_SYNC_OUT(); return; L_089AB1CC: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_089AB1D0; L_089AB1D0: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -9168,8 +9169,8 @@ L_089AB1E8: AOT_REGCACHE_SYNC_OUT(); return; L_089AB1F0: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); aot_gpr_4 = (ctx.gpr[6] & 255u); ctx.gpr[18] = (0u + static_cast(-1)); @@ -9183,14 +9184,14 @@ L_089AB1F0: goto L_089AB218; } L_089AB218: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(80))); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(80))); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089AB228u); ctx.gpr[6] = (0u | 153u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AB228u) goto L_089AB228; AOT_REGCACHE_SYNC_OUT(); return; L_089AB228: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -9212,31 +9213,31 @@ L_089AB234: } L_089AB24C: ctx.gpr[8] = (16512u << 16u); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(80))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(80))); aot_fpr_12 = std::bit_cast(ctx.gpr[8]); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); ctx.gpr[6] = (0u | 0u); aot_gpr_31 = (0x089AB268u); ctx.gpr[7] = (0u | 155u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 163u, 0x089088F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AB268u) goto L_089AB268; AOT_REGCACHE_SYNC_OUT(); return; L_089AB268: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(8))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(8))); aot_gpr_5 = (0u + static_cast(-9)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); - aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(8), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(460))); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(1760), ctx.gpr[18]); + aot_mem.aot_direct_store32(aot_gpr_2 + static_cast(8), aot_gpr_4); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(460))); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(1760), ctx.gpr[18]); aot_gpr_4 = (aot_gpr_4 | 8192u); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(460), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(460), aot_gpr_4); if (branch_taken) { goto L_089AB394; } goto L_089AB28C; } L_089AB28C: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(460))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(460))); ctx.gpr[6] = (aot_gpr_5 & 8192u); { const bool branch_taken = ctx.gpr[6] != 0u; // nop @@ -9246,7 +9247,7 @@ L_089AB28C: goto L_089AB29C; } L_089AB29C: - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1760))); + ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1760))); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); ctx.gpr[6] = (ctx.gpr[6] < ctx.gpr[7] ? 1u : 0u); { const bool branch_taken = ctx.gpr[6] != 0u; @@ -9267,7 +9268,7 @@ L_089AB2B0: L_089AB2B8: aot_gpr_4 = (aot_gpr_5 & 4096u); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(80))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(80))); if (branch_taken) { goto L_089AB308; } @@ -9275,7 +9276,7 @@ L_089AB2B8: } L_089AB2C4: ctx.gpr[8] = (16512u << 16u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_fpr_12 = std::bit_cast(ctx.gpr[8]); ctx.gpr[6] = (0u | 0u); aot_gpr_31 = (0x089AB2DCu); @@ -9283,30 +9284,30 @@ L_089AB2C4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 163u, 0x089088F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AB2DCu) goto L_089AB2DC; AOT_REGCACHE_SYNC_OUT(); return; L_089AB2DC: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(8))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(8))); aot_gpr_5 = (0u + static_cast(-9)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); - aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(8), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(460))); + aot_mem.aot_direct_store32(aot_gpr_2 + static_cast(8), aot_gpr_4); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(460))); aot_gpr_4 = (aot_gpr_4 | 8192u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(460), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(460), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_4 = (aot_gpr_4 + aot_gpr_16); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(1760), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(1760), aot_gpr_4); if (branch_taken) { goto L_089AB394; } goto L_089AB308; } L_089AB308: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089AB314u); ctx.gpr[6] = (0u | 153u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AB314u) goto L_089AB314; AOT_REGCACHE_SYNC_OUT(); return; L_089AB314: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -9328,22 +9329,22 @@ L_089AB320: } L_089AB338: ctx.gpr[8] = (16512u << 16u); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(80))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(80))); aot_fpr_12 = std::bit_cast(ctx.gpr[8]); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); ctx.gpr[6] = (0u | 0u); aot_gpr_31 = (0x089AB354u); ctx.gpr[7] = (0u | 153u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 163u, 0x089088F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AB354u) goto L_089AB354; AOT_REGCACHE_SYNC_OUT(); return; L_089AB354: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(460))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(460))); aot_gpr_4 = (aot_gpr_4 | 8192u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(460), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(460), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_4 = (aot_gpr_4 + aot_gpr_16); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(1760), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(1760), aot_gpr_4); if (branch_taken) { goto L_089AB394; } @@ -9359,7 +9360,7 @@ L_089AB370: } L_089AB378: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1760))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1760))); aot_gpr_16 = (aot_gpr_4 + aot_gpr_16); aot_gpr_4 = (aot_gpr_5 < aot_gpr_16 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; @@ -9370,13 +9371,13 @@ L_089AB378: goto L_089AB390; } L_089AB390: - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(1760), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(1760), aot_gpr_16); goto L_089AB394; L_089AB394: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -9392,7 +9393,7 @@ L_089AB3AC: aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1760))); aot_gpr_5 = (0u + static_cast(-1)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -9451,18 +9452,18 @@ L_089AB40C: aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); aot_gpr_31 = (0x089AB42Cu); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AB42Cu) goto L_089AB42C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AB42Cu) goto L_089AB42C; AOT_REGCACHE_SYNC_OUT(); return; L_089AB42C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); - aot_gpr_17 = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x089AB440u); ctx.gpr[6] = (0u | 155u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AB440u) goto L_089AB440; AOT_REGCACHE_SYNC_OUT(); return; L_089AB440: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -9471,7 +9472,7 @@ L_089AB440: goto L_089AB44C; } L_089AB44C: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); ctx.gpr[6] = (2u << 16u); aot_gpr_5 = (aot_gpr_5 & ctx.gpr[6]); aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); @@ -9499,7 +9500,7 @@ L_089AB47C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AB488u) goto L_089AB488; AOT_REGCACHE_SYNC_OUT(); return; L_089AB488: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); goto L_089AB48C; L_089AB48C: { const bool branch_taken = aot_gpr_4 != 0u; @@ -9510,11 +9511,11 @@ L_089AB48C: goto L_089AB494; } L_089AB494: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_gpr_5 = (aot_gpr_5 & 32768u); - aot_gpr_17 = (0u < aot_gpr_5 ? 1u : 0u); - aot_gpr_17 = (aot_gpr_17 & 255u); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (0u < aot_gpr_5 ? 1u : 0u); + ctx.gpr[17] = (ctx.gpr[17] & 255u); + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_089AB4D0; @@ -9524,7 +9525,7 @@ L_089AB494: L_089AB4AC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); aot_gpr_5 = (0u | 0u); - if (aot_gpr_17 != 0u) { + if (ctx.gpr[17] != 0u) { aot_gpr_5 = (0u | 217u); goto L_089AB4BC; } @@ -9537,7 +9538,7 @@ L_089AB4BC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AB4CCu) goto L_089AB4CC; AOT_REGCACHE_SYNC_OUT(); return; L_089AB4CC: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); goto L_089AB4D0; L_089AB4D0: { const bool branch_taken = aot_gpr_4 != 0u; @@ -9557,7 +9558,7 @@ L_089AB4E8: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -9569,9 +9570,9 @@ L_089AB4E8: L_089AB4FC: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_17 = (aot_gpr_5 & 255u); + ctx.gpr[17] = (aot_gpr_5 & 255u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x089AB520u); @@ -9579,7 +9580,7 @@ L_089AB4FC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AB520u) goto L_089AB520; AOT_REGCACHE_SYNC_OUT(); return; L_089AB520: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -9595,7 +9596,7 @@ L_089AB52C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AB53Cu) goto L_089AB53C; AOT_REGCACHE_SYNC_OUT(); return; L_089AB53C: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); goto L_089AB540; L_089AB540: { const bool branch_taken = aot_gpr_4 != 0u; @@ -9613,7 +9614,7 @@ L_089AB548: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AB558u) goto L_089AB558; AOT_REGCACHE_SYNC_OUT(); return; L_089AB558: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); goto L_089AB55C; L_089AB55C: { const bool branch_taken = aot_gpr_4 == 0u; @@ -9635,7 +9636,7 @@ L_089AB57C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(460))); aot_gpr_5 = (0u + static_cast(-8193)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); - { const bool branch_taken = aot_gpr_17 == 0u; + { const bool branch_taken = ctx.gpr[17] == 0u; aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(460), aot_gpr_4); if (branch_taken) { goto L_089AB594; @@ -9649,7 +9650,7 @@ L_089AB594: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -9664,7 +9665,7 @@ L_089AB5A8: aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2196))); ctx.gpr[6] = (0u | 8u); - { const std::uint32_t aot_run_words[4]{aot_gpr_17, ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(4), aot_run_words); } { const bool branch_taken = aot_gpr_4 == ctx.gpr[6]; ctx.gpr[6] = (0u | 9u); @@ -9693,9 +9694,9 @@ L_089AB5DC: goto L_089AB5F0; } L_089AB5F0: - aot_gpr_17 = (aot_gpr_5 | 0u); + ctx.gpr[17] = (aot_gpr_5 | 0u); { const bool branch_taken = 0u == 0u; - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1360))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1360))); if (branch_taken) { goto L_089AB624; } @@ -9711,8 +9712,8 @@ L_089AB5FC: goto L_089AB608; } L_089AB608: - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(900))); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(900))); + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_089AB61C; @@ -9721,7 +9722,7 @@ L_089AB608: } L_089AB614: { const bool branch_taken = 0u == 0u; - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1360))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1360))); if (branch_taken) { goto L_089AB624; } @@ -9795,7 +9796,7 @@ L_089AB660: L_089AB678: aot_gpr_5 = (0u | 8u); aot_gpr_31 = (0x089AB684u); - ctx.gpr[6] = (aot_gpr_17 | 0u); + ctx.gpr[6] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0178_entry, 178u, 482u, 0x08ACD698u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AB684u) goto L_089AB684; AOT_REGCACHE_SYNC_OUT(); return; L_089AB684: @@ -9819,7 +9820,7 @@ L_089AB6A4: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; @@ -9836,7 +9837,7 @@ L_089AB6C0: aot_gpr_16 = (aot_gpr_5 | 0u); ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(852))); aot_gpr_5 = (0u | 6u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_31); { const bool branch_taken = ctx.gpr[6] == aot_gpr_5; // nop @@ -9856,20 +9857,20 @@ L_089AB6E4: goto L_089AB6F4; } L_089AB6F4: - aot_gpr_17 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-13368))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-13368))); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x089AB704u); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0149_entry, 149u, 294u, 0x08A59500u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AB704u) goto L_089AB704; AOT_REGCACHE_SYNC_OUT(); return; L_089AB704: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (0u | 3u); aot_gpr_31 = (0x089AB714u); - ctx.gpr[6] = (ctx.gpr[2] | 0u); + ctx.gpr[6] = (aot_gpr_2 | 0u); goto L_089A8C9C; L_089AB714: - { const std::uint32_t vfpu_address = ctx.gpr[2] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_2 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -9915,7 +9916,7 @@ L_089AB740: ctx.gpr[6] = (0u | 61u); goto L_089A8C9C; L_089AB750: - { const std::uint32_t vfpu_address = ctx.gpr[2] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_2 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -9942,7 +9943,7 @@ L_089AB760: ctx.gpr[6] = (0u | 64u); goto L_089A8C9C; L_089AB770: - { const std::uint32_t vfpu_address = ctx.gpr[2] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_2 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -9972,7 +9973,7 @@ L_089AB778: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AB7A0u) goto L_089AB7A0; AOT_REGCACHE_SYNC_OUT(); return; L_089AB7A0: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089AB7B0; @@ -9981,20 +9982,20 @@ L_089AB7A0: } L_089AB7A8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_089AB7B4; } goto L_089AB7B0; } L_089AB7B0: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_089AB7B4; L_089AB7B4: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -10015,10 +10016,10 @@ L_089AB7C8: ctx.gpr[6] = (0u < ctx.gpr[6] ? 1u : 0u); aot_gpr_4 = (0u | 105u); ctx.gpr[6] = (ctx.gpr[6] & 255u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); { const bool branch_taken = ctx.gpr[6] == 0u; - aot_gpr_17 = (0u | 106u); + ctx.gpr[17] = (0u | 106u); if (branch_taken) { goto L_089AB810; } @@ -10027,7 +10028,7 @@ L_089AB7C8: L_089AB804: aot_gpr_4 = (0u | 201u); { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (0u | 202u); + ctx.gpr[17] = (0u | 202u); if (branch_taken) { goto L_089AB828; } @@ -10045,7 +10046,7 @@ L_089AB810: } L_089AB820: aot_gpr_4 = (0u | 107u); - aot_gpr_17 = (0u | 108u); + ctx.gpr[17] = (0u | 108u); goto L_089AB828; L_089AB828: ctx.gpr[6] = (aot_gpr_4 | 0u); @@ -10055,7 +10056,7 @@ L_089AB828: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AB838u) goto L_089AB838; AOT_REGCACHE_SYNC_OUT(); return; L_089AB838: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -10072,11 +10073,11 @@ L_089AB850: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x089AB860u); - ctx.gpr[6] = (aot_gpr_17 | 0u); + ctx.gpr[6] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AB860u) goto L_089AB860; AOT_REGCACHE_SYNC_OUT(); return; L_089AB860: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -10097,7 +10098,7 @@ L_089AB878: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AB888u) goto L_089AB888; AOT_REGCACHE_SYNC_OUT(); return; L_089AB888: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -10114,7 +10115,7 @@ L_089AB8A0: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -10133,7 +10134,7 @@ L_089AB8B4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 211u, 0x0886D4F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AB8CCu) goto L_089AB8CC; AOT_REGCACHE_SYNC_OUT(); return; L_089AB8CC: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_5 = (50298u << 16u); if (branch_taken) { @@ -10154,7 +10155,7 @@ L_089AB8DC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 217u, 0x0886D53Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AB8F4u) goto L_089AB8F4; AOT_REGCACHE_SYNC_OUT(); return; L_089AB8F4: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -10188,14 +10189,14 @@ L_089AB910: } L_089AB934: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_089AB940; } goto L_089AB93C; } L_089AB93C: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_089AB940; L_089AB940: jump_target = aot_gpr_31; @@ -10210,16 +10211,16 @@ L_089AB948: aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1152))); ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(2274))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), aot_gpr_31); aot_gpr_31 = (0x089AB96Cu); aot_gpr_4 = (aot_gpr_29 | 0u); goto L_089A8ACC; L_089AB96C: ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1152))); - aot_gpr_17 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[17] = (aot_gpr_29 + static_cast(16)); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089AB984u); aot_gpr_5 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 177u, 0x08AF5564u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AB984u) goto L_089AB984; @@ -10231,7 +10232,7 @@ L_089AB984: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AB990u) goto L_089AB990; AOT_REGCACHE_SYNC_OUT(); return; L_089AB990: - { const bool branch_taken = ctx.gpr[2] != aot_gpr_16; + { const bool branch_taken = aot_gpr_2 != aot_gpr_16; // nop if (branch_taken) { goto L_089ABA00; @@ -10265,7 +10266,7 @@ L_089AB9BC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 40u, 0x08B00384u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AB9C4u) goto L_089AB9C4; AOT_REGCACHE_SYNC_OUT(); return; L_089AB9C4: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089AB9D0u); aot_gpr_5 = (0u | 3u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 181u, 0x08AF55ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AB9D0u) goto L_089AB9D0; @@ -10281,21 +10282,21 @@ L_089AB9D0: L_089AB9E4: aot_gpr_31 = (0x089AB9ECu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AB9ECu) goto L_089AB9EC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AB9ECu) goto L_089AB9EC; AOT_REGCACHE_SYNC_OUT(); return; L_089AB9EC: aot_gpr_5 = (2194u << 16u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); ctx.gpr[6] = (aot_gpr_16 | 0u); aot_gpr_31 = (0x089ABA00u); aot_gpr_5 = (aot_gpr_5 + static_cast(29580)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ABA00u) goto L_089ABA00; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ABA00u) goto L_089ABA00; AOT_REGCACHE_SYNC_OUT(); return; L_089ABA00: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(32), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -10306,14 +10307,14 @@ L_089ABA00: AOT_REGCACHE_SYNC_OUT(); return; L_089ABA14: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[4]{std::bit_cast(aot_fpr_20), aot_gpr_16, aot_gpr_17, aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{std::bit_cast(aot_fpr_20), aot_gpr_16, ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_31 = (0x089ABA30u); aot_gpr_16 = (aot_gpr_4 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ABA30u) goto L_089ABA30; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ABA30u) goto L_089ABA30; AOT_REGCACHE_SYNC_OUT(); return; L_089ABA30: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089ABCD4; @@ -10343,20 +10344,20 @@ L_089ABA44: L_089ABA58: aot_gpr_31 = (0x089ABA60u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ABA60u) goto L_089ABA60; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ABA60u) goto L_089ABA60; AOT_REGCACHE_SYNC_OUT(); return; L_089ABA60: aot_gpr_31 = (0x089ABA68u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ABA68u) goto L_089ABA68; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ABA68u) goto L_089ABA68; AOT_REGCACHE_SYNC_OUT(); return; L_089ABA68: aot_gpr_31 = (0x089ABA70u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ABA70u) goto L_089ABA70; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ABA70u) goto L_089ABA70; AOT_REGCACHE_SYNC_OUT(); return; L_089ABA70: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(48)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(48)))))); aot_gpr_5 = (0u | 59u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -10368,11 +10369,11 @@ L_089ABA70: L_089ABA80: aot_gpr_31 = (0x089ABA88u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ABA88u) goto L_089ABA88; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ABA88u) goto L_089ABA88; AOT_REGCACHE_SYNC_OUT(); return; L_089ABA88: aot_gpr_4 = (16153u << 16u); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(40))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(40))); aot_gpr_4 = (aot_gpr_4 | 39322u); aot_fpr_13 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); @@ -10408,10 +10409,10 @@ L_089ABAD0: L_089ABAD8: aot_gpr_31 = (0x089ABAE0u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ABAE0u) goto L_089ABAE0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ABAE0u) goto L_089ABAE0; AOT_REGCACHE_SYNC_OUT(); return; L_089ABAE0: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(48)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(48)))))); aot_gpr_5 = (0u | 60u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -10423,11 +10424,11 @@ L_089ABAE0: L_089ABAF0: aot_gpr_31 = (0x089ABAF8u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ABAF8u) goto L_089ABAF8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ABAF8u) goto L_089ABAF8; AOT_REGCACHE_SYNC_OUT(); return; L_089ABAF8: aot_gpr_4 = (16281u << 16u); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(40))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(40))); aot_gpr_4 = (aot_gpr_4 | 39322u); aot_fpr_13 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); @@ -10463,10 +10464,10 @@ L_089ABB40: L_089ABB48: aot_gpr_31 = (0x089ABB50u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ABB50u) goto L_089ABB50; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ABB50u) goto L_089ABB50; AOT_REGCACHE_SYNC_OUT(); return; L_089ABB50: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(48)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(48)))))); aot_gpr_5 = (0u | 61u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -10478,11 +10479,11 @@ L_089ABB50: L_089ABB60: aot_gpr_31 = (0x089ABB68u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ABB68u) goto L_089ABB68; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ABB68u) goto L_089ABB68; AOT_REGCACHE_SYNC_OUT(); return; L_089ABB68: aot_gpr_4 = (16076u << 16u); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(40))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(40))); aot_gpr_4 = (aot_gpr_4 | 52429u); aot_fpr_13 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); @@ -10518,10 +10519,10 @@ L_089ABBB0: L_089ABBB8: aot_gpr_31 = (0x089ABBC0u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ABBC0u) goto L_089ABBC0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ABBC0u) goto L_089ABBC0; AOT_REGCACHE_SYNC_OUT(); return; L_089ABBC0: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(48)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(48)))))); aot_gpr_5 = (0u | 62u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -10533,11 +10534,11 @@ L_089ABBC0: L_089ABBD0: aot_gpr_31 = (0x089ABBD8u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ABBD8u) goto L_089ABBD8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ABBD8u) goto L_089ABBD8; AOT_REGCACHE_SYNC_OUT(); return; L_089ABBD8: aot_gpr_4 = (16281u << 16u); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(40))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(40))); aot_gpr_4 = (aot_gpr_4 | 39322u); aot_fpr_13 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); @@ -10573,10 +10574,10 @@ L_089ABC20: L_089ABC28: aot_gpr_31 = (0x089ABC30u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ABC30u) goto L_089ABC30; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ABC30u) goto L_089ABC30; AOT_REGCACHE_SYNC_OUT(); return; L_089ABC30: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(48)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(48)))))); aot_gpr_5 = (0u | 64u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -10588,11 +10589,11 @@ L_089ABC30: L_089ABC40: aot_gpr_31 = (0x089ABC48u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ABC48u) goto L_089ABC48; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ABC48u) goto L_089ABC48; AOT_REGCACHE_SYNC_OUT(); return; L_089ABC48: aot_gpr_4 = (16332u << 16u); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(40))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(40))); aot_gpr_4 = (aot_gpr_4 | 52429u); aot_fpr_13 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); @@ -10610,11 +10611,11 @@ L_089ABC68: aot_fpr_20 = std::bit_cast(ctx.gpr[7]); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(2088), static_cast(aot_gpr_4)); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); - aot_gpr_17 = (ctx.gpr[28] + static_cast(7768)); + ctx.gpr[17] = (ctx.gpr[28] + static_cast(7768)); ctx.gpr[7] = (16448u << 16u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); aot_fpr_12 = std::bit_cast(ctx.gpr[7]); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089ABC98u); ctx.gpr[6] = (0u | 207u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 503u, 0x08A05F80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ABC98u) goto L_089ABC98; @@ -10622,7 +10623,7 @@ L_089ABC68: L_089ABC98: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_31 = (0x089ABCB0u); ctx.gpr[6] = (0u | 33u); @@ -10631,7 +10632,7 @@ L_089ABC98: L_089ABCB0: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_31 = (0x089ABCC8u); ctx.gpr[6] = (0u | 34u); @@ -10648,7 +10649,7 @@ L_089ABCD4: aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); aot_gpr_16 = aot_run_words[1]; - aot_gpr_17 = aot_run_words[2]; + ctx.gpr[17] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } jump_target = aot_gpr_31; @@ -10660,9 +10661,9 @@ L_089ABCD4: L_089ABCEC: aot_gpr_29 = (aot_gpr_29 + static_cast(-640)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(612), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(616), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(616), ctx.gpr[17]); aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_17 = (aot_gpr_5 | 0u); + ctx.gpr[17] = (aot_gpr_5 | 0u); { const std::uint32_t aot_run_words[4]{ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(620), aot_run_words); } aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(104))); @@ -10670,7 +10671,7 @@ L_089ABCEC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(96), 0u); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(104), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(380))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(380))); aot_gpr_5 = (0u | 6u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -10680,7 +10681,7 @@ L_089ABCEC: goto L_089ABD34; } L_089ABD34: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(86)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(86)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); aot_gpr_5 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_5) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; @@ -10700,7 +10701,7 @@ L_089ABD58: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(84))); aot_gpr_5 = (0u | 1u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; - ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(352))); + ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(352))); if (branch_taken) { goto L_089ABD70; } @@ -10764,7 +10765,7 @@ L_089ABDAC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ABDBCu) goto L_089ABDBC; AOT_REGCACHE_SYNC_OUT(); return; L_089ABDBC: - aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(96), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(352))); aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(4), static_cast(aot_gpr_4)); goto L_089ABDC8; @@ -10807,7 +10808,7 @@ L_089ABE00: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = ctx.gpr[2] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_2 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -10843,7 +10844,7 @@ L_089ABE00: L_089ABE2C: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x089ABE38u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ABE38u) goto L_089ABE38; AOT_REGCACHE_SYNC_OUT(); return; L_089ABE38: @@ -10863,7 +10864,7 @@ L_089ABE44: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ABE54u) goto L_089ABE54; AOT_REGCACHE_SYNC_OUT(); return; L_089ABE54: - aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(96), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(384))); aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(4), static_cast(aot_gpr_4)); goto L_089ABE60; @@ -10883,7 +10884,7 @@ L_089ABE70: goto L_089ABE78; } L_089ABE78: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(380))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(380))); aot_gpr_5 = (0u | 1u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -10893,7 +10894,7 @@ L_089ABE78: goto L_089ABE88; } L_089ABE88: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(86)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(86)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); aot_gpr_5 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_5) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; @@ -10913,7 +10914,7 @@ L_089ABEAC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(84))); aot_gpr_5 = (0u | 1u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; - ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(352))); + ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(352))); if (branch_taken) { goto L_089ABEC4; } @@ -10977,7 +10978,7 @@ L_089ABF00: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ABF10u) goto L_089ABF10; AOT_REGCACHE_SYNC_OUT(); return; L_089ABF10: - aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(96), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(385))); aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(4), static_cast(aot_gpr_4)); goto L_089ABF1C; @@ -11020,7 +11021,7 @@ L_089ABF54: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = ctx.gpr[2] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_2 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -11056,7 +11057,7 @@ L_089ABF54: L_089ABF80: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x089ABF8Cu); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ABF8Cu) goto L_089ABF8C; AOT_REGCACHE_SYNC_OUT(); return; L_089ABF8C: @@ -11076,7 +11077,7 @@ L_089ABF98: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ABFA8u) goto L_089ABFA8; AOT_REGCACHE_SYNC_OUT(); return; L_089ABFA8: - aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(96), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(416))); aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(4), static_cast(aot_gpr_4)); goto L_089ABFB4; @@ -11096,7 +11097,7 @@ L_089ABFC4: goto L_089ABFCC; } L_089ABFCC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(380))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(380))); aot_gpr_5 = (0u | 4u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -11106,7 +11107,7 @@ L_089ABFCC: goto L_089ABFDC; } L_089ABFDC: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(86)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(86)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); aot_gpr_5 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_5) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; diff --git a/profiles/vcs/generated/generated_unit_0106.cpp b/profiles/vcs/generated/generated_unit_0106.cpp index 3705408..3f513c3 100644 --- a/profiles/vcs/generated/generated_unit_0106.cpp +++ b/profiles/vcs/generated/generated_unit_0106.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0106[4082] = { }; void recomp_unit_0106_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,31,17,16 fprs=12,13,14,20 gpr_occ=4068 fpr_occ=568 gpr_total=5268 fpr_total=629 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,31,2,29,6 fprs=12,13,14,20 gpr_occ=4097 fpr_occ=568 gpr_total=5584 fpr_total=629 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; - std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; - std::uint32_t aot_gpr_17 = ctx.gpr[17]; - std::uint32_t aot_gpr_16 = ctx.gpr[16]; + std::uint32_t aot_gpr_2 = ctx.gpr[2]; + std::uint32_t aot_gpr_29 = ctx.gpr[29]; + std::uint32_t aot_gpr_6 = ctx.gpr[6]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_14 = ctx.fpr[14]; float aot_fpr_20 = ctx.fpr[20]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[31] = aot_gpr_31; ctx.gpr[17] = aot_gpr_17; ctx.gpr[16] = aot_gpr_16; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[20] = aot_fpr_20; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_17 = ctx.gpr[17]; aot_gpr_16 = ctx.gpr[16]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_20 = ctx.fpr[20]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[31] = aot_gpr_31; ctx.gpr[2] = aot_gpr_2; ctx.gpr[29] = aot_gpr_29; ctx.gpr[6] = aot_gpr_6; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[20] = aot_fpr_20; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_2 = ctx.gpr[2]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_6 = ctx.gpr[6]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_20 = ctx.fpr[20]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -1114,7 +1115,7 @@ L_089AC000: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(84))); aot_gpr_5 = (0u | 1u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; - ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(352))); + ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(352))); if (branch_taken) { goto L_089AC018; } @@ -1172,13 +1173,13 @@ L_089AC030: } L_089AC054: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(10)))))); - ctx.gpr[6] = (aot_gpr_29 + static_cast(417)); + aot_gpr_6 = (aot_gpr_29 + static_cast(417)); aot_gpr_31 = (0x089AC064u); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AC064u) goto L_089AC064; AOT_REGCACHE_SYNC_OUT(); return; L_089AC064: - aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(96), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(417))); aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(4), static_cast(aot_gpr_4)); goto L_089AC070; @@ -1188,7 +1189,7 @@ L_089AC070: ctx.gpr[20] = (aot_gpr_29 + static_cast(272)); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x089AC088u); - ctx.gpr[6] = (ctx.gpr[20] | 0u); + aot_gpr_6 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 76u, 0x089A8A60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AC088u) goto L_089AC088; AOT_REGCACHE_SYNC_OUT(); return; L_089AC088: @@ -1210,7 +1211,7 @@ L_089AC088: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-13368))); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x089AC0A8u); - ctx.gpr[6] = (0u | 71u); + aot_gpr_6 = (0u | 71u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 110u, 0x089A8C9Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AC0A8u) goto L_089AC0A8; AOT_REGCACHE_SYNC_OUT(); return; L_089AC0A8: @@ -1223,7 +1224,7 @@ L_089AC0A8: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = ctx.gpr[2] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_2 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -1254,13 +1255,13 @@ L_089AC0A8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-13368))); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x089AC0D4u); - ctx.gpr[6] = (0u | 61u); + aot_gpr_6 = (0u | 61u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 110u, 0x089A8C9Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AC0D4u) goto L_089AC0D4; AOT_REGCACHE_SYNC_OUT(); return; L_089AC0D4: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x089AC0E0u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AC0E0u) goto L_089AC0E0; AOT_REGCACHE_SYNC_OUT(); return; L_089AC0E0: @@ -1274,13 +1275,13 @@ L_089AC0E0: } L_089AC0EC: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(10)))))); - ctx.gpr[6] = (aot_gpr_29 + static_cast(448)); + aot_gpr_6 = (aot_gpr_29 + static_cast(448)); aot_gpr_31 = (0x089AC0FCu); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AC0FCu) goto L_089AC0FC; AOT_REGCACHE_SYNC_OUT(); return; L_089AC0FC: - aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(96), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(448))); aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(4), static_cast(aot_gpr_4)); goto L_089AC108; @@ -1300,7 +1301,7 @@ L_089AC118: goto L_089AC120; } L_089AC120: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(380))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(380))); aot_gpr_5 = (0u | 9u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -1310,7 +1311,7 @@ L_089AC120: goto L_089AC130; } L_089AC130: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(86)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(86)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); aot_gpr_5 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_5) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; @@ -1330,7 +1331,7 @@ L_089AC154: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(84))); aot_gpr_5 = (0u | 1u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; - ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(352))); + ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(352))); if (branch_taken) { goto L_089AC16C; } @@ -1388,13 +1389,13 @@ L_089AC184: } L_089AC1A8: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(10)))))); - ctx.gpr[6] = (aot_gpr_29 + static_cast(449)); + aot_gpr_6 = (aot_gpr_29 + static_cast(449)); aot_gpr_31 = (0x089AC1B8u); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AC1B8u) goto L_089AC1B8; AOT_REGCACHE_SYNC_OUT(); return; L_089AC1B8: - aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(96), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(449))); aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(4), static_cast(aot_gpr_4)); goto L_089AC1C4; @@ -1404,7 +1405,7 @@ L_089AC1C4: ctx.gpr[20] = (aot_gpr_29 + static_cast(304)); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x089AC1DCu); - ctx.gpr[6] = (ctx.gpr[20] | 0u); + aot_gpr_6 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 76u, 0x089A8A60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AC1DCu) goto L_089AC1DC; AOT_REGCACHE_SYNC_OUT(); return; L_089AC1DC: @@ -1426,7 +1427,7 @@ L_089AC1DC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-13368))); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x089AC1FCu); - ctx.gpr[6] = (0u | 71u); + aot_gpr_6 = (0u | 71u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 110u, 0x089A8C9Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AC1FCu) goto L_089AC1FC; AOT_REGCACHE_SYNC_OUT(); return; L_089AC1FC: @@ -1439,7 +1440,7 @@ L_089AC1FC: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = ctx.gpr[2] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_2 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -1470,13 +1471,13 @@ L_089AC1FC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-13368))); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x089AC228u); - ctx.gpr[6] = (0u | 120u); + aot_gpr_6 = (0u | 120u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 110u, 0x089A8C9Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AC228u) goto L_089AC228; AOT_REGCACHE_SYNC_OUT(); return; L_089AC228: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x089AC234u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AC234u) goto L_089AC234; AOT_REGCACHE_SYNC_OUT(); return; L_089AC234: @@ -1490,13 +1491,13 @@ L_089AC234: } L_089AC240: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(10)))))); - ctx.gpr[6] = (aot_gpr_29 + static_cast(480)); + aot_gpr_6 = (aot_gpr_29 + static_cast(480)); aot_gpr_31 = (0x089AC250u); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AC250u) goto L_089AC250; AOT_REGCACHE_SYNC_OUT(); return; L_089AC250: - aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(96), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(480))); aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(4), static_cast(aot_gpr_4)); goto L_089AC25C; @@ -1516,7 +1517,7 @@ L_089AC26C: goto L_089AC274; } L_089AC274: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(86)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(86)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); aot_gpr_5 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_5) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; @@ -1536,7 +1537,7 @@ L_089AC298: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(84))); aot_gpr_5 = (0u | 1u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; - ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(352))); + ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(352))); if (branch_taken) { goto L_089AC2B0; } @@ -1594,13 +1595,13 @@ L_089AC2C8: } L_089AC2EC: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(10)))))); - ctx.gpr[6] = (aot_gpr_29 + static_cast(481)); + aot_gpr_6 = (aot_gpr_29 + static_cast(481)); aot_gpr_31 = (0x089AC2FCu); aot_gpr_4 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AC2FCu) goto L_089AC2FC; AOT_REGCACHE_SYNC_OUT(); return; L_089AC2FC: - aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(96), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(481))); aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(4), static_cast(aot_gpr_4)); goto L_089AC308; @@ -1610,7 +1611,7 @@ L_089AC308: ctx.gpr[20] = (aot_gpr_29 + static_cast(336)); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x089AC320u); - ctx.gpr[6] = (ctx.gpr[20] | 0u); + aot_gpr_6 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 76u, 0x089A8A60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AC320u) goto L_089AC320; AOT_REGCACHE_SYNC_OUT(); return; L_089AC320: @@ -1632,7 +1633,7 @@ L_089AC320: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-13368))); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x089AC340u); - ctx.gpr[6] = (0u | 71u); + aot_gpr_6 = (0u | 71u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 110u, 0x089A8C9Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AC340u) goto L_089AC340; AOT_REGCACHE_SYNC_OUT(); return; L_089AC340: @@ -1645,7 +1646,7 @@ L_089AC340: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = ctx.gpr[2] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_2 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -1681,13 +1682,13 @@ L_089AC340: goto L_089AC368; L_089AC368: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(10)))))); - ctx.gpr[6] = (aot_gpr_29 + static_cast(512)); + aot_gpr_6 = (aot_gpr_29 + static_cast(512)); aot_gpr_31 = (0x089AC378u); aot_gpr_4 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AC378u) goto L_089AC378; AOT_REGCACHE_SYNC_OUT(); return; L_089AC378: - aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(96), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(512))); aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(96))); @@ -1709,13 +1710,13 @@ L_089AC3A4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-13368))); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x089AC3B4u); - ctx.gpr[6] = (0u | 64u); + aot_gpr_6 = (0u | 64u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 110u, 0x089A8C9Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AC3B4u) goto L_089AC3B4; AOT_REGCACHE_SYNC_OUT(); return; L_089AC3B4: aot_gpr_4 = (aot_gpr_29 + static_cast(128)); aot_gpr_31 = (0x089AC3C0u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AC3C0u) goto L_089AC3C0; AOT_REGCACHE_SYNC_OUT(); return; L_089AC3C0: @@ -1730,13 +1731,13 @@ L_089AC3C8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-13368))); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x089AC3D8u); - ctx.gpr[6] = (0u | 61u); + aot_gpr_6 = (0u | 61u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 110u, 0x089A8C9Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AC3D8u) goto L_089AC3D8; AOT_REGCACHE_SYNC_OUT(); return; L_089AC3D8: aot_gpr_4 = (aot_gpr_29 + static_cast(128)); aot_gpr_31 = (0x089AC3E4u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AC3E4u) goto L_089AC3E4; AOT_REGCACHE_SYNC_OUT(); return; L_089AC3E4: @@ -1763,13 +1764,13 @@ L_089AC410: } L_089AC41C: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(10)))))); - ctx.gpr[6] = (aot_gpr_29 + static_cast(513)); + aot_gpr_6 = (aot_gpr_29 + static_cast(513)); aot_gpr_31 = (0x089AC42Cu); aot_gpr_4 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AC42Cu) goto L_089AC42C; AOT_REGCACHE_SYNC_OUT(); return; L_089AC42C: - aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(96), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(513))); aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(4), static_cast(aot_gpr_4)); goto L_089AC438; @@ -1867,7 +1868,7 @@ L_089AC448: aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(152), std::bit_cast(aot_fpr_12)); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(614)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(614)))))); aot_gpr_4 = (aot_gpr_4 & 8u); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_4 = (16025u << 16u); @@ -1945,7 +1946,7 @@ L_089AC4EC: const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 1u); @@ -1957,7 +1958,7 @@ L_089AC4EC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0036_entry, 36u, 527u, 0x088967ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AC56Cu) goto L_089AC56C; AOT_REGCACHE_SYNC_OUT(); return; L_089AC56C: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_089AC5A0; @@ -2015,8 +2016,8 @@ L_089AC5A0: aot_gpr_5 = (16153u << 16u); aot_gpr_5 = (aot_gpr_5 | 39322u); aot_fpr_12 = std::bit_cast(aot_gpr_5); - aot_gpr_5 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_5 = (ctx.gpr[16] | 0u); + aot_gpr_6 = (0u | 1u); ctx.gpr[7] = (0u | 1u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 1u); @@ -2028,7 +2029,7 @@ L_089AC5A0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0037_entry, 37u, 487u, 0x0889ACD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AC5E4u) goto L_089AC5E4; AOT_REGCACHE_SYNC_OUT(); return; L_089AC5E4: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089AC618; @@ -2061,7 +2062,7 @@ L_089AC608: AOT_REGCACHE_SYNC_OUT(); return; L_089AC610: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_089AC644; } @@ -2093,7 +2094,7 @@ L_089AC634: AOT_REGCACHE_SYNC_OUT(); return; L_089AC63C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_089AC644; } @@ -2102,8 +2103,8 @@ L_089AC63C: L_089AC644: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(612), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -2120,24 +2121,24 @@ L_089AC664: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(180), ctx.gpr[18]); ctx.gpr[18] = (aot_gpr_4 | 0u); aot_gpr_4 = (0u | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(176), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(176), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(184), ctx.gpr[19]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(204), ctx.gpr[30]); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(165), static_cast(aot_gpr_4)); - ctx.gpr[19] = (ctx.gpr[6] | 0u); - aot_gpr_17 = (aot_gpr_5 | 0u); + ctx.gpr[19] = (aot_gpr_6 | 0u); + ctx.gpr[17] = (aot_gpr_5 | 0u); ctx.gpr[30] = (0u | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(168), std::bit_cast(aot_fpr_20)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(172), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(172), ctx.gpr[16]); { const std::uint32_t aot_run_words[4]{ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(188), aot_run_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(208), aot_gpr_31); aot_gpr_31 = (0x089AC6B4u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AC6B4u) goto L_089AC6B4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AC6B4u) goto L_089AC6B4; AOT_REGCACHE_SYNC_OUT(); return; L_089AC6B4: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_089AC6E0; @@ -2155,7 +2156,7 @@ L_089AC6BC: goto L_089AC6CC; } L_089AC6CC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -2177,11 +2178,11 @@ L_089AC6E0: L_089AC6E4: aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_31 = (0x089AC6F0u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 339u, 0x08B012BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AC6F0u) goto L_089AC6F0; AOT_REGCACHE_SYNC_OUT(); return; L_089AC6F0: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_089AC7B0; @@ -2191,10 +2192,10 @@ L_089AC6F0: L_089AC6F8: aot_gpr_31 = (0x089AC700u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AC700u) goto L_089AC700; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AC700u) goto L_089AC700; AOT_REGCACHE_SYNC_OUT(); return; L_089AC700: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089AC724; @@ -2202,18 +2203,18 @@ L_089AC700: goto L_089AC708; } L_089AC708: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(92))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(92))); aot_gpr_4 = (aot_gpr_4 + static_cast(408)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - jump_target = ctx.gpr[6]; + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); + jump_target = aot_gpr_6; aot_gpr_31 = (0x089AC720u); - aot_gpr_4 = (aot_gpr_17 + aot_gpr_5); + aot_gpr_4 = (ctx.gpr[17] + aot_gpr_5); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AC720u) goto L_089AC720; AOT_REGCACHE_SYNC_OUT(); return; L_089AC720: - ctx.gpr[30] = (ctx.gpr[2] | 0u); + ctx.gpr[30] = (aot_gpr_2 | 0u); goto L_089AC724; L_089AC724: { const bool branch_taken = ctx.gpr[30] != 0u; @@ -2224,7 +2225,7 @@ L_089AC724: goto L_089AC72C; } L_089AC72C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -2234,11 +2235,11 @@ L_089AC72C: } L_089AC738: aot_gpr_31 = (0x089AC740u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(900))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AC740u) goto L_089AC740; + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AC740u) goto L_089AC740; AOT_REGCACHE_SYNC_OUT(); return; L_089AC740: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_089AC76C; @@ -2246,7 +2247,7 @@ L_089AC740: goto L_089AC748; } L_089AC748: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(533)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(533)))))); aot_gpr_5 = (0u | 28u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -2257,17 +2258,17 @@ L_089AC748: } L_089AC758: aot_gpr_4 = (0u | 0u); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(535), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(535), static_cast(aot_gpr_4)); aot_gpr_4 = (0u | 0u); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(533), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(533), static_cast(aot_gpr_4)); if (branch_taken) { goto L_089AC7A8; } goto L_089AC76C; } L_089AC76C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); { const bool branch_taken = aot_gpr_4 == ctx.gpr[18]; // nop if (branch_taken) { @@ -2358,10 +2359,10 @@ L_089AC7F0: goto L_089AC810; } L_089AC810: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(852))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(852))); ctx.gpr[19] = (0u | 10u); - ctx.gpr[6] = (0u | 6u); - { const bool branch_taken = aot_gpr_5 == ctx.gpr[6]; + aot_gpr_6 = (0u | 6u); + { const bool branch_taken = aot_gpr_5 == aot_gpr_6; aot_gpr_4 = (0u | 0u); if (branch_taken) { goto L_089AC854; @@ -2369,25 +2370,25 @@ L_089AC810: goto L_089AC824; } L_089AC824: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(852))); - ctx.gpr[6] = (0u | 8u); - if (aot_gpr_5 == ctx.gpr[6]) { + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(852))); + aot_gpr_6 = (0u | 8u); + if (aot_gpr_5 == aot_gpr_6) { aot_gpr_4 = (0u | 1u); goto L_089AC858; } goto L_089AC834; L_089AC834: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(852))); - ctx.gpr[6] = (0u | 9u); - if (aot_gpr_5 == ctx.gpr[6]) { + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(852))); + aot_gpr_6 = (0u | 9u); + if (aot_gpr_5 == aot_gpr_6) { aot_gpr_4 = (0u | 1u); goto L_089AC858; } goto L_089AC844; L_089AC844: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(852))); - ctx.gpr[6] = (0u | 2u); - { const bool branch_taken = aot_gpr_5 != ctx.gpr[6]; + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(852))); + aot_gpr_6 = (0u | 2u); + { const bool branch_taken = aot_gpr_5 != aot_gpr_6; aot_gpr_4 = (aot_gpr_4 & 255u); if (branch_taken) { goto L_089AC85C; @@ -2417,13 +2418,13 @@ L_089AC864: goto L_089AC86C; } L_089AC86C: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089AC878u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AC878u) goto L_089AC878; AOT_REGCACHE_SYNC_OUT(); return; L_089AC878: - { const bool branch_taken = ctx.gpr[2] != ctx.gpr[18]; + { const bool branch_taken = aot_gpr_2 != ctx.gpr[18]; // nop if (branch_taken) { goto L_089AC888; @@ -2447,13 +2448,13 @@ L_089AC888: goto L_089AC890; } L_089AC890: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089AC89Cu); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AC89Cu) goto L_089AC89C; AOT_REGCACHE_SYNC_OUT(); return; L_089AC89C: - { const bool branch_taken = ctx.gpr[2] != ctx.gpr[18]; + { const bool branch_taken = aot_gpr_2 != ctx.gpr[18]; // nop if (branch_taken) { goto L_089AC8AC; @@ -2477,7 +2478,7 @@ L_089AC8AC: goto L_089AC8B4; } L_089AC8B4: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(614)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(614)))))); aot_gpr_4 = (aot_gpr_4 & 2u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -2495,7 +2496,7 @@ L_089AC8C4: goto L_089AC8CC; } L_089AC8CC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); { const bool branch_taken = aot_gpr_4 != ctx.gpr[18]; // nop if (branch_taken) { @@ -2512,13 +2513,13 @@ L_089AC8D8: goto L_089AC8E0; } L_089AC8E0: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089AC8ECu); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AC8ECu) goto L_089AC8EC; AOT_REGCACHE_SYNC_OUT(); return; L_089AC8EC: - { const bool branch_taken = ctx.gpr[2] != ctx.gpr[18]; + { const bool branch_taken = aot_gpr_2 != ctx.gpr[18]; // nop if (branch_taken) { goto L_089AC8FC; @@ -2534,13 +2535,13 @@ L_089AC8F4: goto L_089AC8FC; } L_089AC8FC: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089AC908u); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AC908u) goto L_089AC908; AOT_REGCACHE_SYNC_OUT(); return; L_089AC908: - { const bool branch_taken = ctx.gpr[2] != ctx.gpr[18]; + { const bool branch_taken = aot_gpr_2 != ctx.gpr[18]; // nop if (branch_taken) { goto L_089AC918; @@ -2556,13 +2557,13 @@ L_089AC910: goto L_089AC918; } L_089AC918: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089AC924u); aot_gpr_5 = (0u | 2u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AC924u) goto L_089AC924; AOT_REGCACHE_SYNC_OUT(); return; L_089AC924: - { const bool branch_taken = ctx.gpr[2] != ctx.gpr[18]; + { const bool branch_taken = aot_gpr_2 != ctx.gpr[18]; // nop if (branch_taken) { goto L_089AC934; @@ -2578,9 +2579,9 @@ L_089AC92C: goto L_089AC934; } L_089AC934: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(565))); - aot_gpr_16 = (0u | 3u); - aot_gpr_4 = (static_cast(aot_gpr_16) < static_cast(aot_gpr_4) ? 1u : 0u); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(565))); + ctx.gpr[16] = (0u | 3u); + aot_gpr_4 = (static_cast(ctx.gpr[16]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -2589,13 +2590,13 @@ L_089AC934: goto L_089AC948; } L_089AC948: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089AC954u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AC954u) goto L_089AC954; AOT_REGCACHE_SYNC_OUT(); return; L_089AC954: - { const bool branch_taken = ctx.gpr[2] != ctx.gpr[18]; + { const bool branch_taken = aot_gpr_2 != ctx.gpr[18]; // nop if (branch_taken) { goto L_089AC97C; @@ -2603,7 +2604,7 @@ L_089AC954: goto L_089AC95C; } L_089AC95C: - aot_gpr_4 = (aot_gpr_16 & 1u); + aot_gpr_4 = (ctx.gpr[16] & 1u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -2631,9 +2632,9 @@ L_089AC974: goto L_089AC97C; } L_089AC97C: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(565))); - aot_gpr_16 = (aot_gpr_16 + static_cast(1)); - aot_gpr_4 = (static_cast(aot_gpr_16) < static_cast(aot_gpr_4) ? 1u : 0u); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(565))); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(1)); + aot_gpr_4 = (static_cast(ctx.gpr[16]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -2642,16 +2643,16 @@ L_089AC97C: goto L_089AC990; } L_089AC990: - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); ctx.gpr[23] = (0u | 0u); aot_gpr_4 = (aot_gpr_29 + static_cast(32)); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089AC9A8u); - ctx.gpr[6] = (ctx.gpr[19] | 0u); + aot_gpr_6 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 78u, 0x089A8ACCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AC9A8u) goto L_089AC9A8; AOT_REGCACHE_SYNC_OUT(); return; L_089AC9A8: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(563))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(563))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(40))); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); { const bool branch_taken = aot_gpr_4 == 0u; @@ -2662,10 +2663,10 @@ L_089AC9A8: goto L_089AC9BC; } L_089AC9BC: - aot_gpr_16 = (0u | 1u); + ctx.gpr[16] = (0u | 1u); goto L_089AC9C0; L_089AC9C0: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(564))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(564))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(40))); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); { const bool branch_taken = aot_gpr_4 == 0u; @@ -2679,7 +2680,7 @@ L_089AC9D4: ctx.gpr[23] = (0u | 1u); goto L_089AC9D8; L_089AC9D8: - { const bool branch_taken = aot_gpr_16 == 0u; + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_089AC9F0; @@ -2733,7 +2734,7 @@ L_089ACA10: goto L_089ACA1C; } L_089ACA1C: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(614)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(614)))))); aot_gpr_4 = (aot_gpr_4 & 2u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -2781,7 +2782,7 @@ L_089ACA44: const std::uint32_t vfpu_address = ctx.gpr[22] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(852))); aot_gpr_5 = (0u | 4u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -2791,21 +2792,21 @@ L_089ACA44: goto L_089ACA60; } L_089ACA60: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(92))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(92))); aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_4 = (aot_gpr_4 + static_cast(352)); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - aot_gpr_4 = (aot_gpr_17 + ctx.gpr[6]); + aot_gpr_4 = (ctx.gpr[17] + aot_gpr_6); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x089ACA80u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ACA80u) goto L_089ACA80; AOT_REGCACHE_SYNC_OUT(); return; L_089ACA80: { const bool branch_taken = 0u == 0u; - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (aot_gpr_2 | 0u); if (branch_taken) { goto L_089ACAD4; } @@ -2813,23 +2814,23 @@ L_089ACA80: } L_089ACA88: { const bool branch_taken = 0u == 0u; - aot_gpr_16 = (0u | 1u); + ctx.gpr[16] = (0u | 1u); if (branch_taken) { goto L_089ACAD4; } goto L_089ACA90; } L_089ACA90: - aot_gpr_16 = (aot_gpr_29 + static_cast(80)); - aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[6] = (ctx.gpr[19] | 0u); + ctx.gpr[16] = (aot_gpr_29 + static_cast(80)); + aot_gpr_4 = (ctx.gpr[16] | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_6 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x089ACAA8u); ctx.gpr[7] = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0107_entry, 107u, 395u, 0x089B16E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ACAA8u) goto L_089ACAA8; AOT_REGCACHE_SYNC_OUT(); return; L_089ACAA8: - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -2842,23 +2843,23 @@ L_089ACAA8: const std::uint32_t vfpu_address = ctx.gpr[22] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(92))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(92))); aot_gpr_5 = (aot_gpr_4 + static_cast(352)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); - aot_gpr_4 = (aot_gpr_17 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[17] + aot_gpr_4); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); aot_gpr_5 = (ctx.gpr[19] | 0u); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x089ACAD0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ACAD0u) goto L_089ACAD0; AOT_REGCACHE_SYNC_OUT(); return; L_089ACAD0: - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (aot_gpr_2 | 0u); goto L_089ACAD4; L_089ACAD4: - { const bool branch_taken = aot_gpr_16 != 0u; + { const bool branch_taken = ctx.gpr[16] != 0u; aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(164), static_cast(ctx.gpr[30])); if (branch_taken) { goto L_089ACE50; @@ -2866,7 +2867,7 @@ L_089ACAD4: goto L_089ACADC; } L_089ACADC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(852))); ctx.gpr[30] = (ctx.gpr[19] | 0u); aot_gpr_5 = (0u | 4u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; @@ -2879,10 +2880,10 @@ L_089ACADC: L_089ACAF0: aot_gpr_31 = (0x089ACAF8u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ACAF8u) goto L_089ACAF8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ACAF8u) goto L_089ACAF8; AOT_REGCACHE_SYNC_OUT(); return; L_089ACAF8: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_089ACDFC; @@ -2890,9 +2891,9 @@ L_089ACAF8: goto L_089ACB00; } L_089ACB00: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(852))); - ctx.gpr[6] = (0u | 6u); - { const bool branch_taken = aot_gpr_5 == ctx.gpr[6]; + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(852))); + aot_gpr_6 = (0u | 6u); + { const bool branch_taken = aot_gpr_5 == aot_gpr_6; aot_gpr_4 = (0u | 0u); if (branch_taken) { goto L_089ACB40; @@ -2900,25 +2901,25 @@ L_089ACB00: goto L_089ACB10; } L_089ACB10: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(852))); - ctx.gpr[6] = (0u | 8u); - if (aot_gpr_5 == ctx.gpr[6]) { + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(852))); + aot_gpr_6 = (0u | 8u); + if (aot_gpr_5 == aot_gpr_6) { aot_gpr_4 = (0u | 1u); goto L_089ACB44; } goto L_089ACB20; L_089ACB20: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(852))); - ctx.gpr[6] = (0u | 9u); - if (aot_gpr_5 == ctx.gpr[6]) { + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(852))); + aot_gpr_6 = (0u | 9u); + if (aot_gpr_5 == aot_gpr_6) { aot_gpr_4 = (0u | 1u); goto L_089ACB44; } goto L_089ACB30; L_089ACB30: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(852))); - ctx.gpr[6] = (0u | 2u); - { const bool branch_taken = aot_gpr_5 != ctx.gpr[6]; + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(852))); + aot_gpr_6 = (0u | 2u); + { const bool branch_taken = aot_gpr_5 != aot_gpr_6; aot_gpr_4 = (aot_gpr_4 & 255u); if (branch_taken) { goto L_089ACB48; @@ -3074,13 +3075,13 @@ L_089ACBE0: goto L_089ACBE8; } L_089ACBE8: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089ACBF4u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ACBF4u) goto L_089ACBF4; AOT_REGCACHE_SYNC_OUT(); return; L_089ACBF4: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_089ACC24; @@ -3088,7 +3089,7 @@ L_089ACBF4: goto L_089ACBFC; } L_089ACBFC: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(563))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(563))); aot_gpr_4 = (aot_gpr_4 & 4u); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -3098,7 +3099,7 @@ L_089ACBFC: goto L_089ACC0C; } L_089ACC0C: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(564))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(564))); aot_gpr_4 = (aot_gpr_4 & 4u); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -3117,13 +3118,13 @@ L_089ACC1C: } L_089ACC24: ctx.gpr[20] = (0u | 1u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089ACC34u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ACC34u) goto L_089ACC34; AOT_REGCACHE_SYNC_OUT(); return; L_089ACC34: - ctx.gpr[21] = (ctx.gpr[2] | 0u); + ctx.gpr[21] = (aot_gpr_2 | 0u); goto L_089ACC38; L_089ACC38: { const bool branch_taken = 0u == 0u; @@ -3134,13 +3135,13 @@ L_089ACC38: goto L_089ACC40; } L_089ACC40: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089ACC4Cu); aot_gpr_5 = (0u | 2u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ACC4Cu) goto L_089ACC4C; AOT_REGCACHE_SYNC_OUT(); return; L_089ACC4C: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_089ACC7C; @@ -3148,7 +3149,7 @@ L_089ACC4C: goto L_089ACC54; } L_089ACC54: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(563))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(563))); aot_gpr_4 = (aot_gpr_4 & 8u); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -3158,7 +3159,7 @@ L_089ACC54: goto L_089ACC64; } L_089ACC64: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(564))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(564))); aot_gpr_4 = (aot_gpr_4 & 8u); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -3177,13 +3178,13 @@ L_089ACC74: } L_089ACC7C: ctx.gpr[20] = (0u | 1u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089ACC8Cu); aot_gpr_5 = (0u | 2u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ACC8Cu) goto L_089ACC8C; AOT_REGCACHE_SYNC_OUT(); return; L_089ACC8C: - ctx.gpr[21] = (ctx.gpr[2] | 0u); + ctx.gpr[21] = (aot_gpr_2 | 0u); goto L_089ACC90; L_089ACC90: { const bool branch_taken = 0u == 0u; @@ -3194,7 +3195,7 @@ L_089ACC90: goto L_089ACC98; } L_089ACC98: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -3203,7 +3204,7 @@ L_089ACC98: goto L_089ACCA4; } L_089ACCA4: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(563))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(563))); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -3213,7 +3214,7 @@ L_089ACCA4: goto L_089ACCB4; } L_089ACCB4: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(564))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(564))); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -3231,7 +3232,7 @@ L_089ACCC4: goto L_089ACCCC; } L_089ACCCC: - ctx.gpr[21] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(900))); + ctx.gpr[21] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); ctx.gpr[20] = (0u | 1u); goto L_089ACCD4; L_089ACCD4: @@ -3243,13 +3244,13 @@ L_089ACCD4: goto L_089ACCDC; } L_089ACCDC: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089ACCE8u); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ACCE8u) goto L_089ACCE8; AOT_REGCACHE_SYNC_OUT(); return; L_089ACCE8: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_089ACD18; @@ -3257,7 +3258,7 @@ L_089ACCE8: goto L_089ACCF0; } L_089ACCF0: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(563))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(563))); aot_gpr_4 = (aot_gpr_4 & 2u); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -3267,7 +3268,7 @@ L_089ACCF0: goto L_089ACD00; } L_089ACD00: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(564))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(564))); aot_gpr_4 = (aot_gpr_4 & 2u); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -3286,13 +3287,13 @@ L_089ACD10: } L_089ACD18: ctx.gpr[20] = (0u | 1u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089ACD28u); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ACD28u) goto L_089ACD28; AOT_REGCACHE_SYNC_OUT(); return; L_089ACD28: - ctx.gpr[21] = (ctx.gpr[2] | 0u); + ctx.gpr[21] = (aot_gpr_2 | 0u); goto L_089ACD2C; L_089ACD2C: { const bool branch_taken = ctx.gpr[20] == 0u; @@ -3313,10 +3314,10 @@ L_089ACD34: L_089ACD3C: aot_gpr_31 = (0x089ACD44u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ACD44u) goto L_089ACD44; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ACD44u) goto L_089ACD44; AOT_REGCACHE_SYNC_OUT(); return; L_089ACD44: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_089ACD5C; @@ -3417,16 +3418,16 @@ L_089ACDB0: goto L_089ACDB8; } L_089ACDB8: - aot_gpr_16 = (aot_gpr_29 + static_cast(96)); - aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[6] = (ctx.gpr[19] | 0u); + ctx.gpr[16] = (aot_gpr_29 + static_cast(96)); + aot_gpr_4 = (ctx.gpr[16] | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_6 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x089ACDD0u); ctx.gpr[7] = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0107_entry, 107u, 395u, 0x089B16E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ACDD0u) goto L_089ACDD0; AOT_REGCACHE_SYNC_OUT(); return; L_089ACDD0: - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -3439,23 +3440,23 @@ L_089ACDD0: const std::uint32_t vfpu_address = ctx.gpr[22] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(92))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(92))); aot_gpr_5 = (aot_gpr_4 + static_cast(352)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); - aot_gpr_4 = (aot_gpr_17 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[17] + aot_gpr_4); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); aot_gpr_5 = (ctx.gpr[19] | 0u); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x089ACDF8u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ACDF8u) goto L_089ACDF8; AOT_REGCACHE_SYNC_OUT(); return; L_089ACDF8: - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (aot_gpr_2 | 0u); goto L_089ACDFC; L_089ACDFC: - { const bool branch_taken = aot_gpr_16 != 0u; + { const bool branch_taken = ctx.gpr[16] != 0u; // nop if (branch_taken) { goto L_089ACE4C; @@ -3465,10 +3466,10 @@ L_089ACDFC: L_089ACE04: aot_gpr_31 = (0x089ACE0Cu); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ACE0Cu) goto L_089ACE0C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ACE0Cu) goto L_089ACE0C; AOT_REGCACHE_SYNC_OUT(); return; L_089ACE0C: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_089ACE24; @@ -3550,10 +3551,10 @@ L_089ACE70: L_089ACE78: aot_gpr_31 = (0x089ACE80u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ACE80u) goto L_089ACE80; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ACE80u) goto L_089ACE80; AOT_REGCACHE_SYNC_OUT(); return; L_089ACE80: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_089ACF38; @@ -3572,13 +3573,13 @@ L_089ACE88: } L_089ACE98: aot_gpr_31 = (0x089ACEA0u); - aot_gpr_16 = (0u | 63u); + ctx.gpr[16] = (0u | 63u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ACEA0u) goto L_089ACEA0; AOT_REGCACHE_SYNC_OUT(); return; L_089ACEA0: - aot_gpr_4 = (ctx.gpr[2] + static_cast(2228)); + aot_gpr_4 = (aot_gpr_2 + static_cast(2228)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - { const bool branch_taken = aot_gpr_4 == aot_gpr_16; + { const bool branch_taken = aot_gpr_4 == ctx.gpr[16]; // nop if (branch_taken) { goto L_089ACEC4; @@ -3611,10 +3612,10 @@ L_089ACEC4: goto L_089ACECC; } L_089ACECC: - aot_gpr_16 = (aot_gpr_29 + static_cast(128)); - aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[6] = (ctx.gpr[19] | 0u); + ctx.gpr[16] = (aot_gpr_29 + static_cast(128)); + aot_gpr_4 = (ctx.gpr[16] | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_6 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x089ACEE4u); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0107_entry, 107u, 395u, 0x089B16E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ACEE4u) goto L_089ACEE4; @@ -3625,7 +3626,7 @@ L_089ACEE4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ACEECu) goto L_089ACEEC; AOT_REGCACHE_SYNC_OUT(); return; L_089ACEEC: - aot_gpr_4 = (ctx.gpr[2] + static_cast(48)); + aot_gpr_4 = (aot_gpr_2 + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -3635,7 +3636,7 @@ L_089ACEEC: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -3684,7 +3685,7 @@ L_089ACF30: } L_089ACF38: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(165))); - aot_gpr_16 = (0u | 8u); + ctx.gpr[16] = (0u | 8u); ctx.gpr[19] = (ctx.gpr[19] & 65535u); { const bool branch_taken = aot_gpr_4 != 0u; ctx.gpr[20] = (aot_gpr_29 + static_cast(64)); @@ -3695,11 +3696,11 @@ L_089ACF38: } L_089ACF4C: aot_gpr_31 = (0x089ACF54u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 233u, 0x08B00DBCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ACF54u) goto L_089ACF54; AOT_REGCACHE_SYNC_OUT(); return; L_089ACF54: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089ACF70; @@ -3718,7 +3719,7 @@ L_089ACF68: goto L_089ACF70; L_089ACF70: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(2228))); - { const bool branch_taken = aot_gpr_4 != aot_gpr_16; + { const bool branch_taken = aot_gpr_4 != ctx.gpr[16]; // nop if (branch_taken) { goto L_089ACFA8; @@ -3729,7 +3730,7 @@ L_089ACF7C: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x089ACF88u); aot_gpr_5 = (0u | 8u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ACF88u) goto L_089ACF88; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08908E78, 65u, 261u, 0x08908E78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ACF88u) goto L_089ACF88; AOT_REGCACHE_SYNC_OUT(); return; L_089ACF88: aot_gpr_4 = (ctx.gpr[18] | 0u); @@ -3741,7 +3742,7 @@ L_089ACF94: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x089ACFA0u); aot_gpr_5 = (0u | 5u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ACFA0u) goto L_089ACFA0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ACFA0u) goto L_089ACFA0; AOT_REGCACHE_SYNC_OUT(); return; L_089ACFA0: { const bool branch_taken = 0u == 0u; @@ -3755,7 +3756,7 @@ L_089ACFA8: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x089ACFB4u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ACFB4u) goto L_089ACFB4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08908E78, 65u, 261u, 0x08908E78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ACFB4u) goto L_089ACFB4; AOT_REGCACHE_SYNC_OUT(); return; L_089ACFB4: aot_gpr_4 = (ctx.gpr[18] | 0u); @@ -3767,7 +3768,7 @@ L_089ACFC0: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x089ACFCCu); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ACFCCu) goto L_089ACFCC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ACFCCu) goto L_089ACFCC; AOT_REGCACHE_SYNC_OUT(); return; L_089ACFCC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(72))); @@ -3776,7 +3777,7 @@ L_089ACFCC: aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(72), aot_gpr_4); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x089ACFE8u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 50u, 0x0891034Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ACFE8u) goto L_089ACFE8; AOT_REGCACHE_SYNC_OUT(); return; L_089ACFE8: @@ -3787,10 +3788,10 @@ L_089ACFE8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 240u, 0x08908D60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ACFF8u) goto L_089ACFF8; AOT_REGCACHE_SYNC_OUT(); return; L_089ACFF8: - ctx.gpr[6] = (aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(2274))); + aot_gpr_6 = (aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(2274))); aot_gpr_4 = (aot_gpr_29 + static_cast(48)); aot_gpr_31 = (0x089AD008u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 78u, 0x089A8ACCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AD008u) goto L_089AD008; AOT_REGCACHE_SYNC_OUT(); return; L_089AD008: @@ -3798,16 +3799,16 @@ L_089AD008: aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x089AD01Cu); - ctx.gpr[6] = (aot_gpr_17 | 0u); + aot_gpr_6 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 177u, 0x08AF5564u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AD01Cu) goto L_089AD01C; AOT_REGCACHE_SYNC_OUT(); return; L_089AD01C: aot_gpr_31 = (0x089AD024u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AD024u) goto L_089AD024; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AD024u) goto L_089AD024; AOT_REGCACHE_SYNC_OUT(); return; L_089AD024: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089AD060; @@ -3817,10 +3818,10 @@ L_089AD024: L_089AD02C: aot_gpr_31 = (0x089AD034u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AD034u) goto L_089AD034; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AD034u) goto L_089AD034; AOT_REGCACHE_SYNC_OUT(); return; L_089AD034: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(8))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(8))); aot_gpr_4 = (aot_gpr_4 & 16u); aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); @@ -3834,12 +3835,12 @@ L_089AD034: L_089AD04C: aot_gpr_31 = (0x089AD054u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AD054u) goto L_089AD054; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AD054u) goto L_089AD054; AOT_REGCACHE_SYNC_OUT(); return; L_089AD054: aot_gpr_4 = (50298u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(36), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(aot_gpr_2 + static_cast(36), std::bit_cast(aot_fpr_12)); goto L_089AD060; L_089AD060: aot_gpr_31 = (0x089AD068u); @@ -3856,12 +3857,12 @@ L_089AD074: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x089AD080u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AD080u) goto L_089AD080; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AD080u) goto L_089AD080; AOT_REGCACHE_SYNC_OUT(); return; L_089AD080: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(80))); ctx.gpr[8] = (17096u << 16u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(776))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(776))); aot_fpr_12 = std::bit_cast(ctx.gpr[8]); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x089AD09Cu); @@ -3870,7 +3871,7 @@ L_089AD080: AOT_REGCACHE_SYNC_OUT(); return; L_089AD09C: aot_gpr_4 = (0u | 0u); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(535), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(535), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(165))); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -3894,7 +3895,7 @@ L_089AD0BC: goto L_089AD0C4; } L_089AD0C4: - aot_gpr_4 = (aot_gpr_17 + static_cast(32)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(32)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); aot_gpr_4 = (48972u << 16u); aot_gpr_4 = (aot_gpr_4 | 52429u); @@ -3909,7 +3910,7 @@ L_089AD0C4: goto L_089AD0E8; } L_089AD0E8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(852))); aot_gpr_5 = (0u | 6u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -3919,8 +3920,8 @@ L_089AD0E8: goto L_089AD0F8; } L_089AD0F8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(852))); - { const bool branch_taken = aot_gpr_4 == aot_gpr_16; + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(852))); + { const bool branch_taken = aot_gpr_4 == ctx.gpr[16]; // nop if (branch_taken) { goto L_089AD14C; @@ -3928,7 +3929,7 @@ L_089AD0F8: goto L_089AD104; } L_089AD104: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(852))); aot_gpr_5 = (0u | 2u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -3946,15 +3947,15 @@ L_089AD114: L_089AD120: aot_gpr_31 = (0x089AD128u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AD128u) goto L_089AD128; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AD128u) goto L_089AD128; AOT_REGCACHE_SYNC_OUT(); return; L_089AD128: aot_gpr_5 = (2194u << 16u); - aot_gpr_4 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (ctx.gpr[18] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); + aot_gpr_6 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x089AD13Cu); aot_gpr_5 = (aot_gpr_5 + static_cast(26328)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AD13Cu) goto L_089AD13C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AD13Cu) goto L_089AD13C; AOT_REGCACHE_SYNC_OUT(); return; L_089AD13C: aot_gpr_31 = (0x089AD144u); @@ -3971,11 +3972,11 @@ L_089AD144: } L_089AD14C: aot_gpr_31 = (0x089AD154u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 542u, 0x08B02090u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AD154u) goto L_089AD154; AOT_REGCACHE_SYNC_OUT(); return; L_089AD154: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089AD178; @@ -4030,23 +4031,23 @@ L_089AD18C: goto L_089AD1A0; } L_089AD1A0: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(564))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(564))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(56))); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(564), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(564), static_cast(aot_gpr_4)); goto L_089AD1B0; L_089AD1B0: aot_gpr_31 = (0x089AD1B8u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AD1B8u) goto L_089AD1B8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AD1B8u) goto L_089AD1B8; AOT_REGCACHE_SYNC_OUT(); return; L_089AD1B8: aot_gpr_5 = (2203u << 16u); - aot_gpr_4 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (ctx.gpr[18] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); + aot_gpr_6 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x089AD1CCu); aot_gpr_5 = (aot_gpr_5 + static_cast(16548)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AD1CCu) goto L_089AD1CC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AD1CCu) goto L_089AD1CC; AOT_REGCACHE_SYNC_OUT(); return; L_089AD1CC: { const bool branch_taken = 0u == 0u; @@ -4057,7 +4058,7 @@ L_089AD1CC: goto L_089AD1D4; } L_089AD1D4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(852))); aot_gpr_5 = (0u | 4u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -4067,7 +4068,7 @@ L_089AD1D4: goto L_089AD1E4; } L_089AD1E4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(852))); aot_gpr_5 = (0u | 5u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -4079,15 +4080,15 @@ L_089AD1E4: L_089AD1F4: aot_gpr_31 = (0x089AD1FCu); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AD1FCu) goto L_089AD1FC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AD1FCu) goto L_089AD1FC; AOT_REGCACHE_SYNC_OUT(); return; L_089AD1FC: aot_gpr_5 = (2203u << 16u); - aot_gpr_4 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (ctx.gpr[18] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); + aot_gpr_6 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x089AD210u); aot_gpr_5 = (aot_gpr_5 + static_cast(16548)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AD210u) goto L_089AD210; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AD210u) goto L_089AD210; AOT_REGCACHE_SYNC_OUT(); return; L_089AD210: { const bool branch_taken = 0u == 0u; @@ -4100,15 +4101,15 @@ L_089AD210: L_089AD218: aot_gpr_31 = (0x089AD220u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AD220u) goto L_089AD220; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AD220u) goto L_089AD220; AOT_REGCACHE_SYNC_OUT(); return; L_089AD220: aot_gpr_5 = (2193u << 16u); - aot_gpr_4 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (ctx.gpr[18] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); + aot_gpr_6 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x089AD234u); aot_gpr_5 = (aot_gpr_5 + static_cast(-10228)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AD234u) goto L_089AD234; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AD234u) goto L_089AD234; AOT_REGCACHE_SYNC_OUT(); return; L_089AD234: aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(2264), std::bit_cast(aot_fpr_20)); @@ -4124,7 +4125,7 @@ L_089AD240: aot_gpr_5 = (aot_gpr_5 + static_cast(-1)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(456), aot_gpr_4); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(614)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(614)))))); aot_gpr_4 = (aot_gpr_4 & 2u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -4145,7 +4146,7 @@ L_089AD274: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 264u, 0x08910F00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AD27Cu) goto L_089AD27C; AOT_REGCACHE_SYNC_OUT(); return; L_089AD27C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); { const bool branch_taken = ctx.gpr[18] != aot_gpr_4; // nop if (branch_taken) { @@ -4156,10 +4157,10 @@ L_089AD27C: L_089AD288: aot_gpr_31 = (0x089AD290u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AD290u) goto L_089AD290; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AD290u) goto L_089AD290; AOT_REGCACHE_SYNC_OUT(); return; L_089AD290: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; ctx.gpr[18] = (0u + static_cast(-497)); if (branch_taken) { goto L_089AD2AC; @@ -4167,28 +4168,28 @@ L_089AD290: goto L_089AD298; } L_089AD298: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[18]); aot_gpr_4 = (aot_gpr_4 | 208u); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(72), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(72), aot_gpr_4); if (branch_taken) { goto L_089AD2BC; } goto L_089AD2AC; } L_089AD2AC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[18]); aot_gpr_4 = (aot_gpr_4 | 64u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(72), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(72), aot_gpr_4); goto L_089AD2BC; L_089AD2BC: { std::uint32_t aot_run_words[11]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(168), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); - aot_gpr_16 = aot_run_words[1]; - aot_gpr_17 = aot_run_words[2]; + ctx.gpr[16] = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; ctx.gpr[19] = aot_run_words[4]; ctx.gpr[20] = aot_run_words[5]; @@ -4211,12 +4212,12 @@ L_089AD2F0: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(472))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(84), std::bit_cast(aot_fpr_20)); aot_gpr_5 = (aot_gpr_5 & 1u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(88), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(92), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(88), ctx.gpr[16]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(92), ctx.gpr[17]); { const std::uint32_t aot_run_words[5]{ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(100), aot_run_words); } { const bool branch_taken = aot_gpr_5 != 0u; - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_089AD344; } @@ -4224,11 +4225,11 @@ L_089AD2F0: } L_089AD32C: aot_gpr_31 = (0x089AD334u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AD334u) goto L_089AD334; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AD334u) goto L_089AD334; AOT_REGCACHE_SYNC_OUT(); return; L_089AD334: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_089AD358; @@ -4244,11 +4245,11 @@ L_089AD33C: goto L_089AD344; } L_089AD344: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(472))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(472))); aot_gpr_5 = (0u + static_cast(-2)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(472), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(472), aot_gpr_4); if (branch_taken) { goto L_089AD7D4; } @@ -4256,39 +4257,39 @@ L_089AD344: } L_089AD358: aot_gpr_31 = (0x089AD360u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AD360u) goto L_089AD360; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AD360u) goto L_089AD360; AOT_REGCACHE_SYNC_OUT(); return; L_089AD360: - aot_gpr_17 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(48)))))); + ctx.gpr[17] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(48)))))); aot_gpr_31 = (0x089AD36Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AD36Cu) goto L_089AD36C; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AD36Cu) goto L_089AD36C; AOT_REGCACHE_SYNC_OUT(); return; L_089AD36C: aot_gpr_4 = (0u | 200u); - { const bool branch_taken = aot_gpr_17 != aot_gpr_4; - aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(40))); + { const bool branch_taken = ctx.gpr[17] != aot_gpr_4; + aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(40))); if (branch_taken) { goto L_089AD46C; } goto L_089AD378; } L_089AD378: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1152))); - ctx.gpr[6] = (16051u << 16u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1152))); + aot_gpr_6 = (16051u << 16u); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(86)))))); - ctx.gpr[6] = (ctx.gpr[6] | 13107u); + aot_gpr_6 = (aot_gpr_6 | 13107u); aot_gpr_5 = (0u | 229u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; - aot_fpr_12 = std::bit_cast(ctx.gpr[6]); + aot_fpr_12 = std::bit_cast(aot_gpr_6); if (branch_taken) { goto L_089AD3BC; } goto L_089AD394; } L_089AD394: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1152))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1152))); aot_gpr_5 = (0u | 232u); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(86)))))); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; @@ -4299,7 +4300,7 @@ L_089AD394: goto L_089AD3A8; } L_089AD3A8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1152))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1152))); aot_gpr_5 = (0u | 231u); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(86)))))); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; @@ -4325,7 +4326,7 @@ L_089AD3C8: goto L_089AD3D8; } L_089AD3D8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1152))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1152))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -4334,10 +4335,10 @@ L_089AD3D8: goto L_089AD3E4; } L_089AD3E4: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1152))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(852))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1152))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(852))); ctx.gpr[7] = (0u | 6u); - { const bool branch_taken = ctx.gpr[6] == ctx.gpr[7]; + { const bool branch_taken = aot_gpr_6 == ctx.gpr[7]; aot_gpr_4 = (0u | 0u); if (branch_taken) { goto L_089AD428; @@ -4345,25 +4346,25 @@ L_089AD3E4: goto L_089AD3F8; } L_089AD3F8: - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(852))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(852))); ctx.gpr[7] = (0u | 8u); - if (ctx.gpr[6] == ctx.gpr[7]) { + if (aot_gpr_6 == ctx.gpr[7]) { aot_gpr_4 = (0u | 1u); goto L_089AD42C; } goto L_089AD408; L_089AD408: - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(852))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(852))); ctx.gpr[7] = (0u | 9u); - if (ctx.gpr[6] == ctx.gpr[7]) { + if (aot_gpr_6 == ctx.gpr[7]) { aot_gpr_4 = (0u | 1u); goto L_089AD42C; } goto L_089AD418; L_089AD418: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(852))); - ctx.gpr[6] = (0u | 2u); - { const bool branch_taken = aot_gpr_5 != ctx.gpr[6]; + aot_gpr_6 = (0u | 2u); + { const bool branch_taken = aot_gpr_5 != aot_gpr_6; aot_gpr_4 = (aot_gpr_4 & 255u); if (branch_taken) { goto L_089AD430; @@ -4385,10 +4386,10 @@ L_089AD430: goto L_089AD438; } L_089AD438: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1152))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1152))); aot_gpr_5 = (0u | 0u); - ctx.gpr[6] = (0u | 0u); - ctx.gpr[7] = (aot_gpr_16 | 0u); + aot_gpr_6 = (0u | 0u); + ctx.gpr[7] = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089AD450u); ctx.gpr[8] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0192_entry, 192u, 212u, 0x08B04D14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AD450u) goto L_089AD450; @@ -4402,7 +4403,7 @@ L_089AD450: goto L_089AD458; } L_089AD458: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089AD464u); aot_gpr_5 = (0u | 3u); goto L_089AFEFC; @@ -4416,7 +4417,7 @@ L_089AD464: } L_089AD46C: aot_gpr_4 = (0u | 130u); - { const bool branch_taken = aot_gpr_17 == aot_gpr_4; + { const bool branch_taken = ctx.gpr[17] == aot_gpr_4; aot_gpr_4 = (0u | 131u); if (branch_taken) { goto L_089AD480; @@ -4424,7 +4425,7 @@ L_089AD46C: goto L_089AD478; } L_089AD478: - { const bool branch_taken = aot_gpr_17 != aot_gpr_4; + { const bool branch_taken = ctx.gpr[17] != aot_gpr_4; // nop if (branch_taken) { goto L_089AD564; @@ -4445,7 +4446,7 @@ L_089AD480: goto L_089AD49C; } L_089AD49C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1152))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1152))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -4454,11 +4455,11 @@ L_089AD49C: goto L_089AD4A8; } L_089AD4A8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1152))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1152))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(86)))))); - ctx.gpr[6] = (static_cast(aot_gpr_5) < static_cast(ctx.gpr[6]) ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_6 = (static_cast(aot_gpr_5) < static_cast(aot_gpr_6) ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_4 = (0u | 0u); if (branch_taken) { goto L_089AD4D0; @@ -4484,7 +4485,7 @@ L_089AD4D0: goto L_089AD4E8; } L_089AD4E8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1152))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1152))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(852))); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -4494,7 +4495,7 @@ L_089AD4E8: goto L_089AD4F8; } L_089AD4F8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1152))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1152))); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(614)))))); aot_gpr_4 = (aot_gpr_4 & 2u); { const bool branch_taken = aot_gpr_4 == 0u; @@ -4506,7 +4507,7 @@ L_089AD4F8: } L_089AD50C: aot_gpr_4 = (0u | 130u); - { const bool branch_taken = aot_gpr_17 != aot_gpr_4; + { const bool branch_taken = ctx.gpr[17] != aot_gpr_4; // nop if (branch_taken) { goto L_089AD534; @@ -4514,11 +4515,11 @@ L_089AD50C: goto L_089AD518; } L_089AD518: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1152))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1152))); aot_gpr_5 = (0u | 48u); - ctx.gpr[6] = (0u | 10u); + aot_gpr_6 = (0u | 10u); aot_gpr_31 = (0x089AD52Cu); - ctx.gpr[7] = (aot_gpr_16 | 0u); + ctx.gpr[7] = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0017_entry, 17u, 415u, 0x0884A390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AD52Cu) goto L_089AD52C; AOT_REGCACHE_SYNC_OUT(); return; L_089AD52C: @@ -4530,11 +4531,11 @@ L_089AD52C: goto L_089AD534; } L_089AD534: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1152))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1152))); aot_gpr_5 = (0u | 48u); - ctx.gpr[6] = (0u | 8u); + aot_gpr_6 = (0u | 8u); aot_gpr_31 = (0x089AD548u); - ctx.gpr[7] = (aot_gpr_16 | 0u); + ctx.gpr[7] = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0017_entry, 17u, 415u, 0x0884A390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AD548u) goto L_089AD548; AOT_REGCACHE_SYNC_OUT(); return; L_089AD548: @@ -4546,7 +4547,7 @@ L_089AD548: goto L_089AD550; } L_089AD550: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089AD55Cu); aot_gpr_5 = (0u | 3u); goto L_089AFEFC; @@ -4569,38 +4570,38 @@ L_089AD564: } L_089AD570: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(92))); - ctx.gpr[19] = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(2274))); + ctx.gpr[19] = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(2274))); ctx.gpr[20] = (aot_gpr_4 + static_cast(272)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[20] + static_cast(0)))))); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089AD58Cu); ctx.gpr[21] = (ctx.gpr[18] + aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AD58Cu) goto L_089AD58C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AD58Cu) goto L_089AD58C; AOT_REGCACHE_SYNC_OUT(); return; L_089AD58C: - ctx.gpr[22] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(48)))))); + ctx.gpr[22] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(48)))))); aot_gpr_31 = (0x089AD598u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AD598u) goto L_089AD598; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AD598u) goto L_089AD598; AOT_REGCACHE_SYNC_OUT(); return; L_089AD598: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(40))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(40))); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(4))); aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x089AD5B0u); - ctx.gpr[6] = (ctx.gpr[22] | 0u); + aot_gpr_6 = (ctx.gpr[22] | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AD5B0u) goto L_089AD5B0; AOT_REGCACHE_SYNC_OUT(); return; L_089AD5B0: aot_gpr_31 = (0x089AD5B8u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 3u, 0x08910020u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AD5B8u) goto L_089AD5B8; AOT_REGCACHE_SYNC_OUT(); return; L_089AD5B8: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089AD66C; @@ -4623,7 +4624,7 @@ L_089AD5C0: goto L_089AD5E4; } L_089AD5E4: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089AD5F0u); aot_gpr_5 = (0u | 1u); goto L_089AFEFC; @@ -4637,7 +4638,7 @@ L_089AD5F0: } L_089AD5F8: aot_gpr_4 = (0u | 124u); - { const bool branch_taken = aot_gpr_17 == aot_gpr_4; + { const bool branch_taken = ctx.gpr[17] == aot_gpr_4; aot_gpr_4 = (0u | 84u); if (branch_taken) { goto L_089AD624; @@ -4645,7 +4646,7 @@ L_089AD5F8: goto L_089AD604; } L_089AD604: - { const bool branch_taken = aot_gpr_17 == aot_gpr_4; + { const bool branch_taken = ctx.gpr[17] == aot_gpr_4; aot_gpr_4 = (16025u << 16u); if (branch_taken) { goto L_089AD624; @@ -4665,7 +4666,7 @@ L_089AD60C: goto L_089AD624; } L_089AD624: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089AD630u); aot_gpr_5 = (0u | 1u); goto L_089AFEFC; @@ -4678,7 +4679,7 @@ L_089AD630: goto L_089AD638; } L_089AD638: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1152))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1152))); aot_gpr_5 = (0u + static_cast(-950)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(86)))))); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; @@ -4689,7 +4690,7 @@ L_089AD638: goto L_089AD64C; } L_089AD64C: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089AD658u); aot_gpr_5 = (0u | 1u); goto L_089AFEFC; @@ -4702,12 +4703,12 @@ L_089AD658: goto L_089AD660; } L_089AD660: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089AD66Cu); aot_gpr_5 = (0u | 0u); goto L_089AFEFC; L_089AD66C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2228))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2228))); aot_gpr_5 = (0u | 63u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -4717,11 +4718,11 @@ L_089AD66C: goto L_089AD67C; } L_089AD67C: - aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(1914))); + aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(1914))); aot_gpr_4 = (0u | 0u); aot_gpr_5 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_5) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); if (branch_taken) { goto L_089AD74C; } @@ -4729,7 +4730,7 @@ L_089AD67C: } L_089AD690: aot_gpr_5 = (aot_gpr_4 << 2u); - aot_gpr_5 = (aot_gpr_16 + aot_gpr_5); + aot_gpr_5 = (ctx.gpr[16] + aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(1784))); aot_gpr_5 = (aot_gpr_5 + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); @@ -4741,7 +4742,7 @@ L_089AD690: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_5 = (aot_gpr_16 + static_cast(48)); + aot_gpr_5 = (ctx.gpr[16] + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -4768,9 +4769,9 @@ L_089AD690: aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(32))); aot_gpr_5 = (std::bit_cast(aot_fpr_14)); ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(36))); - ctx.gpr[6] = (std::bit_cast(ctx.fpr[15])); + aot_gpr_6 = (std::bit_cast(ctx.fpr[15])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[6]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_6); ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), std::bit_cast(ctx.fpr[16])); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); @@ -4792,16 +4793,16 @@ L_089AD690: } L_089AD728: aot_gpr_4 = (aot_gpr_4 << 2u); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1784))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1784))); if (branch_taken) { goto L_089AD74C; } goto L_089AD738; } L_089AD738: - aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(1914))); + aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(1914))); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); aot_gpr_5 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_5) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 != 0u; @@ -4812,7 +4813,7 @@ L_089AD738: goto L_089AD74C; } L_089AD74C: - { const bool branch_taken = aot_gpr_17 == 0u; + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_089AD7D4; @@ -4821,11 +4822,11 @@ L_089AD74C: } L_089AD754: aot_gpr_31 = (0x089AD75Cu); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AD75Cu) goto L_089AD75C; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AD75Cu) goto L_089AD75C; AOT_REGCACHE_SYNC_OUT(); return; L_089AD75C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089AD794; @@ -4833,7 +4834,7 @@ L_089AD75C: goto L_089AD764; } L_089AD764: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1360))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1360))); aot_gpr_5 = (0u | 6u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -4843,7 +4844,7 @@ L_089AD764: goto L_089AD774; } L_089AD774: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2196))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2196))); aot_gpr_5 = (0u | 8u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -4853,7 +4854,7 @@ L_089AD774: goto L_089AD784; } L_089AD784: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2196))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2196))); aot_gpr_5 = (0u | 9u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -4877,11 +4878,11 @@ L_089AD794: } L_089AD7B0: aot_gpr_31 = (0x089AD7B8u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 620u, 0x08906DE4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AD7B8u) goto L_089AD7B8; AOT_REGCACHE_SYNC_OUT(); return; L_089AD7B8: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089AD7D4; @@ -4889,9 +4890,9 @@ L_089AD7B8: goto L_089AD7C0; } L_089AD7C0: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (0u | 1000u); - ctx.gpr[6] = (0u | 28u); + aot_gpr_6 = (0u | 28u); aot_gpr_31 = (0x089AD7D4u); ctx.gpr[7] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0070_entry, 70u, 14u, 0x0891C0E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AD7D4u) goto L_089AD7D4; @@ -4900,8 +4901,8 @@ L_089AD7D4: { std::uint32_t aot_run_words[9]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(84), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); - aot_gpr_16 = aot_run_words[1]; - aot_gpr_17 = aot_run_words[2]; + ctx.gpr[16] = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; ctx.gpr[19] = aot_run_words[4]; ctx.gpr[20] = aot_run_words[5]; @@ -4917,16 +4918,16 @@ L_089AD7D4: AOT_REGCACHE_SYNC_OUT(); return; L_089AD800: aot_gpr_29 = (aot_gpr_29 + static_cast(-256)); - { const std::uint32_t aot_run_words[5]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; + { const std::uint32_t aot_run_words[5]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(224), aot_run_words); } - aot_gpr_16 = (aot_gpr_5 | 0u); - aot_gpr_17 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); + ctx.gpr[17] = (aot_gpr_4 | 0u); aot_gpr_31 = (0x089AD828u); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 240u, 0x08908D60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AD828u) goto L_089AD828; AOT_REGCACHE_SYNC_OUT(); return; L_089AD828: - aot_gpr_4 = (aot_gpr_17 + static_cast(48)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -4941,28 +4942,28 @@ L_089AD828: const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(80))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(776))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(80))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(776))); aot_gpr_4 = (17096u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089AD854u); ctx.gpr[7] = (0u | 6u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 163u, 0x089088F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AD854u) goto L_089AD854; AOT_REGCACHE_SYNC_OUT(); return; L_089AD854: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089AD860u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 756u, 0x089AB8B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AD860u) goto L_089AD860; AOT_REGCACHE_SYNC_OUT(); return; L_089AD860: aot_gpr_31 = (0x089AD868u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 229u, 0x08B00D78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AD868u) goto L_089AD868; AOT_REGCACHE_SYNC_OUT(); return; L_089AD868: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089AD920; @@ -4970,7 +4971,7 @@ L_089AD868: goto L_089AD870; } L_089AD870: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(86)))))); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); @@ -4996,9 +4997,9 @@ L_089AD870: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), std::bit_cast(aot_fpr_12)); ctx.gpr[19] = (aot_gpr_29 + static_cast(32)); aot_gpr_4 = (ctx.gpr[19] | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089AD8B8u); - ctx.gpr[6] = (ctx.gpr[18] | 0u); + aot_gpr_6 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 76u, 0x089A8A60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AD8B8u) goto L_089AD8B8; AOT_REGCACHE_SYNC_OUT(); return; L_089AD8B8: @@ -5021,28 +5022,28 @@ L_089AD8B8: aot_fpr_12 = aot_fpr_12 + aot_fpr_13; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (0u | 8u); - aot_mem.aot_direct_store16(aot_gpr_17 + static_cast(2274), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store16(ctx.gpr[17] + static_cast(2274), static_cast(aot_gpr_4)); aot_gpr_4 = (0u | 0u); aot_gpr_31 = (0x089AD8E8u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0072_entry, 72u, 588u, 0x089266D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AD8E8u) goto L_089AD8E8; AOT_REGCACHE_SYNC_OUT(); return; L_089AD8E8: aot_gpr_4 = (0u | 1u); aot_gpr_4 = (aot_gpr_4 & 1u); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(456))); - ctx.gpr[6] = (0u + static_cast(-2)); - aot_gpr_5 = (aot_gpr_5 & ctx.gpr[6]); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(456))); + aot_gpr_6 = (0u + static_cast(-2)); + aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); aot_gpr_4 = (aot_gpr_5 | aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(456), aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(1328), aot_gpr_16); - aot_gpr_5 = (aot_gpr_17 + static_cast(1328)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(456), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(1328), ctx.gpr[16]); + aot_gpr_5 = (ctx.gpr[17] + static_cast(1328)); aot_gpr_31 = (0x089AD914u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AD914u) goto L_089AD914; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AD914u) goto L_089AD914; AOT_REGCACHE_SYNC_OUT(); return; L_089AD914: - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(1300), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(1300), ctx.gpr[16]); { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { @@ -5051,7 +5052,7 @@ L_089AD914: goto L_089AD920; } L_089AD920: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(86)))))); aot_gpr_5 = (0u | 278u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -5061,7 +5062,7 @@ L_089AD920: goto L_089AD930; } L_089AD930: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(236))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(236))); aot_gpr_4 = (aot_gpr_4 & 256u); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -5072,30 +5073,30 @@ L_089AD930: } L_089AD940: aot_gpr_4 = (0u | 8u); - aot_mem.aot_direct_store16(aot_gpr_17 + static_cast(2274), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store16(ctx.gpr[17] + static_cast(2274), static_cast(aot_gpr_4)); aot_gpr_4 = (0u | 0u); aot_gpr_31 = (0x089AD954u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0072_entry, 72u, 588u, 0x089266D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AD954u) goto L_089AD954; AOT_REGCACHE_SYNC_OUT(); return; L_089AD954: aot_gpr_4 = (0u | 1u); aot_gpr_4 = (aot_gpr_4 & 1u); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(456))); - ctx.gpr[6] = (0u + static_cast(-2)); - aot_gpr_5 = (aot_gpr_5 & ctx.gpr[6]); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(456))); + aot_gpr_6 = (0u + static_cast(-2)); + aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); aot_gpr_4 = (aot_gpr_5 | aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(456), aot_gpr_4); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(456), aot_gpr_4); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089AD97Cu); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AD97Cu) goto L_089AD97C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AD97Cu) goto L_089AD97C; AOT_REGCACHE_SYNC_OUT(); return; L_089AD97C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(464))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(464))); aot_gpr_4 = (aot_gpr_4 | 16u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(464), aot_gpr_4); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(464), aot_gpr_4); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(86)))))); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); @@ -5109,7 +5110,7 @@ L_089AD97C: { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -5124,7 +5125,7 @@ L_089AD97C: const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_5 = (aot_gpr_16 + static_cast(48)); + aot_gpr_5 = (ctx.gpr[16] + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -5149,10 +5150,10 @@ L_089AD97C: const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(86)))))); aot_gpr_5 = (aot_gpr_5 << 2u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); - aot_gpr_5 = (ctx.gpr[6] + aot_gpr_5); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); + aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(20))); aot_gpr_5 = (aot_gpr_5 + static_cast(16)); @@ -5163,7 +5164,7 @@ L_089AD97C: aot_fpr_12 = aot_fpr_12 + aot_fpr_13; aot_gpr_5 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_5); - aot_gpr_5 = (aot_gpr_16 + static_cast(32)); + aot_gpr_5 = (ctx.gpr[16] + static_cast(32)); { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -5224,8 +5225,8 @@ L_089AD97C: aot_fpr_14 = std::bit_cast(aot_run_words[2]); } { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_13), std::bit_cast(aot_fpr_14)}; - aot_mem.aot_direct_store32_block(aot_gpr_17 + static_cast(48), aot_run_words); } - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1152))); + aot_mem.aot_direct_store32_block(ctx.gpr[17] + static_cast(48), aot_run_words); } + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1152))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -5235,7 +5236,7 @@ L_089AD97C: } L_089ADA78: aot_gpr_31 = (0x089ADA80u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0130_entry, 130u, 138u, 0x08A0CDECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ADA80u) goto L_089ADA80; AOT_REGCACHE_SYNC_OUT(); return; L_089ADA80: @@ -5247,18 +5248,18 @@ L_089ADA80: goto L_089ADA88; } L_089ADA88: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089ADA94u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 171u, 0x08910A24u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ADA94u) goto L_089ADA94; AOT_REGCACHE_SYNC_OUT(); return; L_089ADA94: aot_gpr_31 = (0x089ADA9Cu); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0130_entry, 130u, 138u, 0x08A0CDECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ADA9Cu) goto L_089ADA9C; AOT_REGCACHE_SYNC_OUT(); return; L_089ADA9C: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089ADAA8u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 171u, 0x08910A24u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ADAA8u) goto L_089ADAA8; @@ -5280,31 +5281,31 @@ L_089ADAB0: goto L_089ADAC4; L_089ADAC4: aot_gpr_4 = (0u | 8u); - aot_mem.aot_direct_store16(aot_gpr_17 + static_cast(2274), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store16(ctx.gpr[17] + static_cast(2274), static_cast(aot_gpr_4)); aot_gpr_4 = (0u | 0u); aot_gpr_31 = (0x089ADAD8u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0072_entry, 72u, 588u, 0x089266D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ADAD8u) goto L_089ADAD8; AOT_REGCACHE_SYNC_OUT(); return; L_089ADAD8: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(456))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(456))); aot_gpr_4 = (0u | 1u); - ctx.gpr[6] = (0u + static_cast(-2)); + aot_gpr_6 = (0u + static_cast(-2)); aot_gpr_4 = (aot_gpr_4 & 1u); - aot_gpr_5 = (aot_gpr_5 & ctx.gpr[6]); + aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); aot_gpr_4 = (aot_gpr_5 | aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(456), aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(1328), aot_gpr_16); - aot_gpr_5 = (aot_gpr_17 + static_cast(1328)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(456), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(1328), ctx.gpr[16]); + aot_gpr_5 = (ctx.gpr[17] + static_cast(1328)); aot_gpr_31 = (0x089ADB04u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ADB04u) goto L_089ADB04; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ADB04u) goto L_089ADB04; AOT_REGCACHE_SYNC_OUT(); return; L_089ADB04: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); aot_gpr_4 = (16256u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(1300), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(1300), ctx.gpr[16]); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(80), 0u); aot_gpr_4 = (16409u << 16u); @@ -5316,7 +5317,7 @@ L_089ADB04: aot_fpr_12 = aot_fpr_12 - aot_fpr_14; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), 0u); aot_gpr_4 = (aot_gpr_29 + static_cast(16)); - ctx.gpr[6] = (aot_gpr_29 + static_cast(80)); + aot_gpr_6 = (aot_gpr_29 + static_cast(80)); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 1u); ctx.gpr[9] = (0u | 0u); @@ -5327,7 +5328,7 @@ L_089ADB04: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 287u, 0x08891DD4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ADB60u) goto L_089ADB60; AOT_REGCACHE_SYNC_OUT(); return; L_089ADB60: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; aot_gpr_4 = (16261u << 16u); if (branch_taken) { goto L_089ADB7C; @@ -5349,23 +5350,23 @@ L_089ADB7C: aot_fpr_14 = std::bit_cast(aot_run_words[2]); } { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_13), std::bit_cast(aot_fpr_14)}; - aot_mem.aot_direct_store32_block(aot_gpr_17 + static_cast(48), aot_run_words); } - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_mem.aot_direct_store32_block(ctx.gpr[17] + static_cast(48), aot_run_words); } + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089ADBA0u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ADBA0u) goto L_089ADBA0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ADBA0u) goto L_089ADBA0; AOT_REGCACHE_SYNC_OUT(); return; L_089ADBA0: - aot_gpr_5 = (aot_gpr_16 + static_cast(320)); + aot_gpr_5 = (ctx.gpr[16] + static_cast(320)); aot_gpr_31 = (0x089ADBACu); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 538u, 0x08A666C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ADBACu) goto L_089ADBAC; AOT_REGCACHE_SYNC_OUT(); return; L_089ADBAC: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(224), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; @@ -5379,12 +5380,12 @@ L_089ADBAC: L_089ADBC8: aot_gpr_29 = (aot_gpr_29 + static_cast(-448)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(468))); - ctx.gpr[6] = (256u << 16u); - aot_gpr_5 = (aot_gpr_5 & ctx.gpr[6]); - { const std::uint32_t aot_run_words[6]{std::bit_cast(aot_fpr_20), aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; + aot_gpr_6 = (256u << 16u); + aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); + { const std::uint32_t aot_run_words[6]{std::bit_cast(aot_fpr_20), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(416), aot_run_words); } { const bool branch_taken = aot_gpr_5 == 0u; - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_089ADD1C; } @@ -5395,15 +5396,15 @@ L_089ADBF8: aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(100))); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(52))); - ctx.gpr[6] = (aot_gpr_5 << 24u); + aot_gpr_6 = (aot_gpr_5 << 24u); aot_gpr_31 = (0x089ADC14u); - ctx.gpr[6] = (static_cast(static_cast(ctx.gpr[6]) >> 24u)); + aot_gpr_6 = (static_cast(static_cast(aot_gpr_6) >> 24u)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 237u, 0x08ADCCC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ADC14u) goto L_089ADC14; AOT_REGCACHE_SYNC_OUT(); return; L_089ADC14: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_4 == 0u; - ctx.gpr[6] = (2237u << 16u); + aot_gpr_6 = (2237u << 16u); if (branch_taken) { goto L_089ADD14; } @@ -5411,10 +5412,10 @@ L_089ADC14: } L_089ADC20: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(3)))))); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(-28736)); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(100))); - ctx.gpr[6] = (aot_mem.aot_direct_load16(ctx.gpr[6] + static_cast(52))); - aot_gpr_5 = (aot_gpr_5 ^ ctx.gpr[6]); + aot_gpr_6 = (aot_gpr_6 + static_cast(-28736)); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(100))); + aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(52))); + aot_gpr_5 = (aot_gpr_5 ^ aot_gpr_6); aot_gpr_5 = (aot_gpr_5 < static_cast(1) ? 1u : 0u); aot_gpr_5 = (aot_gpr_5 & 255u); { const bool branch_taken = aot_gpr_5 == 0u; @@ -5427,11 +5428,11 @@ L_089ADC20: L_089ADC44: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(104))); aot_gpr_31 = (0x089ADC50u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 171u, 0x08910A24u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ADC50u) goto L_089ADC50; AOT_REGCACHE_SYNC_OUT(); return; L_089ADC50: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1152))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1152))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -5440,61 +5441,61 @@ L_089ADC50: goto L_089ADC5C; } L_089ADC5C: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089ADC68u); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 209u, 0x08910BDCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ADC68u) goto L_089ADC68; AOT_REGCACHE_SYNC_OUT(); return; L_089ADC68: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089ADC74u); aot_gpr_5 = (0u | 55u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 240u, 0x08908D60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ADC74u) goto L_089ADC74; AOT_REGCACHE_SYNC_OUT(); return; L_089ADC74: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1152))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1152))); aot_gpr_5 = (0u | 0u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(72))); aot_gpr_5 = (aot_gpr_5 & 1u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2116), aot_gpr_4); - aot_gpr_17 = (0u + static_cast(-513)); - aot_gpr_4 = (ctx.gpr[6] & aot_gpr_17); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(2116), aot_gpr_4); + ctx.gpr[17] = (0u + static_cast(-513)); + aot_gpr_4 = (aot_gpr_6 & ctx.gpr[17]); aot_gpr_5 = (aot_gpr_5 << 9u); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1152))); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(72), aot_gpr_4); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1152))); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(72), aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089ADCACu); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 307u, 0x089B56FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ADCACu) goto L_089ADCAC; AOT_REGCACHE_SYNC_OUT(); return; L_089ADCAC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1152))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1152))); aot_gpr_31 = (0x089ADCB8u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0192_entry, 192u, 30u, 0x08B04218u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ADCB8u) goto L_089ADCB8; AOT_REGCACHE_SYNC_OUT(); return; L_089ADCB8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1152))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1152))); aot_gpr_5 = (0u + static_cast(-497)); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); - aot_gpr_5 = (ctx.gpr[6] & aot_gpr_5); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); + aot_gpr_5 = (aot_gpr_6 & aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(72), aot_gpr_5); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(468))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(468))); aot_gpr_5 = (65280u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(-1)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(304)))))); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(468), aot_gpr_4); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(304)))))); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(468), aot_gpr_4); aot_gpr_4 = (0u | 1u); aot_gpr_5 = (aot_gpr_5 | 1u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 1u); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(304), static_cast(aot_gpr_5)); - aot_gpr_5 = (ctx.gpr[6] & aot_gpr_17); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(304), static_cast(aot_gpr_5)); + aot_gpr_5 = (aot_gpr_6 & ctx.gpr[17]); aot_gpr_4 = (aot_gpr_4 << 9u); aot_gpr_4 = (aot_gpr_5 | aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(72), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(72), aot_gpr_4); aot_gpr_4 = (2236u << 16u); aot_gpr_31 = (0x089ADD14u); aot_gpr_4 = (aot_gpr_4 + static_cast(32304)); @@ -5511,7 +5512,7 @@ L_089ADD14: L_089ADD1C: aot_gpr_5 = (2234u << 16u); aot_gpr_4 = (aot_gpr_29 + static_cast(16)); - ctx.gpr[6] = (0u | 30u); + aot_gpr_6 = (0u | 30u); aot_gpr_31 = (0x089ADD30u); aot_gpr_5 = (aot_gpr_5 + static_cast(5984)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ADD30u) goto L_089ADD30; @@ -5519,19 +5520,19 @@ L_089ADD1C: L_089ADD30: aot_gpr_4 = (2237u << 16u); ctx.gpr[18] = (0u + static_cast(-1)); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1927)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(1927)))))); aot_gpr_31 = (0x089ADD44u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 16u, 0x08ADC120u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ADD44u) goto L_089ADD44; AOT_REGCACHE_SYNC_OUT(); return; L_089ADD44: - aot_gpr_17 = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x089ADD50u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ADD50u) goto L_089ADD50; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ADD50u) goto L_089ADD50; AOT_REGCACHE_SYNC_OUT(); return; L_089ADD50: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089ADD64; @@ -5540,11 +5541,11 @@ L_089ADD50: } L_089ADD58: aot_gpr_31 = (0x089ADD60u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ADD60u) goto L_089ADD60; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ADD60u) goto L_089ADD60; AOT_REGCACHE_SYNC_OUT(); return; L_089ADD60: - ctx.gpr[18] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(48)))))); + ctx.gpr[18] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(48)))))); goto L_089ADD64; L_089ADD64: aot_gpr_4 = (0u | 64u); @@ -5592,7 +5593,7 @@ L_089ADD94: goto L_089ADDA0; } L_089ADDA0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(496))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(496))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); aot_gpr_5 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_5) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; @@ -5611,7 +5612,7 @@ L_089ADDB4: L_089ADDC4: aot_gpr_4 = (aot_gpr_29 + static_cast(96)); aot_gpr_31 = (0x089ADDD0u); - aot_gpr_5 = (aot_gpr_16 + static_cast(512)); + aot_gpr_5 = (ctx.gpr[16] + static_cast(512)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 912u, 0x0885F828u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ADDD0u) goto L_089ADDD0; AOT_REGCACHE_SYNC_OUT(); return; L_089ADDD0: @@ -5665,7 +5666,7 @@ L_089ADE10: const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089ADE28u); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 682u, 0x08907020u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ADE28u) goto L_089ADE28; @@ -5748,15 +5749,15 @@ L_089ADE28: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 940u, 0x0885FF78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ADE98u) goto L_089ADE98; AOT_REGCACHE_SYNC_OUT(); return; L_089ADE98: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(592))); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2256), std::bit_cast(aot_fpr_12)); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(592))); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(2256), std::bit_cast(aot_fpr_12)); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089ADEACu); aot_gpr_5 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 7u, 0x08860358u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ADEACu) goto L_089ADEAC; AOT_REGCACHE_SYNC_OUT(); return; L_089ADEAC: - { const bool branch_taken = aot_gpr_17 == 0u; + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_089AE158; @@ -5764,7 +5765,7 @@ L_089ADEAC: goto L_089ADEB4; } L_089ADEB4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(480))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(480))); { const bool branch_taken = static_cast(aot_gpr_4) >= 0; // nop if (branch_taken) { @@ -5783,24 +5784,24 @@ L_089ADEC0: goto L_089ADED0; } L_089ADED0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(96))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(96))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); goto L_089ADEFC; } goto L_089ADEDC; L_089ADEDC: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(10)))))); - ctx.gpr[6] = (aot_gpr_29 + static_cast(384)); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(10)))))); + aot_gpr_6 = (aot_gpr_29 + static_cast(384)); aot_gpr_31 = (0x089ADEECu); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ADEECu) goto L_089ADEEC; AOT_REGCACHE_SYNC_OUT(); return; L_089ADEEC: - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(96), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(384))); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(4), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(96))); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(4), static_cast(aot_gpr_4)); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); goto L_089ADEFC; L_089ADEFC: aot_gpr_5 = (ctx.gpr[18] + ctx.gpr[18]); @@ -5821,7 +5822,7 @@ L_089ADF20: aot_gpr_4 = (ctx.gpr[18] + ctx.gpr[18]); aot_gpr_4 = (ctx.gpr[18] + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(480), ctx.gpr[18]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(480), ctx.gpr[18]); aot_gpr_4 = (aot_gpr_29 + aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(18))); { const bool branch_taken = aot_gpr_4 != 0u; @@ -5835,21 +5836,21 @@ L_089ADF40: aot_gpr_4 = (ctx.gpr[18] + ctx.gpr[18]); aot_gpr_4 = (ctx.gpr[18] + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + aot_gpr_4); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(80))); aot_gpr_4 = (aot_gpr_29 + aot_gpr_4); ctx.gpr[7] = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(20))); ctx.gpr[8] = (17530u << 16u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_fpr_12 = std::bit_cast(ctx.gpr[8]); aot_gpr_31 = (0x089ADF6Cu); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 163u, 0x089088F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ADF6Cu) goto L_089ADF6C; AOT_REGCACHE_SYNC_OUT(); return; L_089ADF6C: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089ADF78u); - aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ADF78u) goto L_089ADF78; + aot_gpr_5 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ADF78u) goto L_089ADF78; AOT_REGCACHE_SYNC_OUT(); return; L_089ADF78: { const bool branch_taken = 0u == 0u; @@ -5862,22 +5863,22 @@ L_089ADF78: L_089ADF80: aot_gpr_4 = (ctx.gpr[18] + ctx.gpr[18]); aot_gpr_4 = (ctx.gpr[18] + aot_gpr_4); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(80))); aot_gpr_4 = (aot_gpr_4 + aot_gpr_4); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(628))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(628))); aot_gpr_4 = (aot_gpr_29 + aot_gpr_4); ctx.gpr[7] = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(20))); ctx.gpr[8] = (17096u << 16u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089ADFACu); aot_fpr_12 = std::bit_cast(ctx.gpr[8]); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 163u, 0x089088F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ADFACu) goto L_089ADFAC; AOT_REGCACHE_SYNC_OUT(); return; L_089ADFAC: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089ADFB8u); - aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ADFB8u) goto L_089ADFB8; + aot_gpr_5 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ADFB8u) goto L_089ADFB8; AOT_REGCACHE_SYNC_OUT(); return; L_089ADFB8: aot_gpr_4 = (ctx.gpr[18] + ctx.gpr[18]); @@ -5895,30 +5896,30 @@ L_089ADFB8: } L_089ADFD8: aot_fpr_12 = std::bit_cast(0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x089ADFECu); aot_fpr_14 = std::bit_cast(std::bit_cast(aot_fpr_12)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 537u, 0x08A6669Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ADFECu) goto L_089ADFEC; AOT_REGCACHE_SYNC_OUT(); return; L_089ADFEC: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089ADFF8u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ADFF8u) goto L_089ADFF8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ADFF8u) goto L_089ADFF8; AOT_REGCACHE_SYNC_OUT(); return; L_089ADFF8: aot_gpr_31 = (0x089AE000u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE000u) goto L_089AE000; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE000u) goto L_089AE000; AOT_REGCACHE_SYNC_OUT(); return; L_089AE000: aot_gpr_5 = (2203u << 16u); - aot_gpr_4 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (aot_gpr_16 | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089AE014u); aot_gpr_5 = (aot_gpr_5 + static_cast(-22532)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE014u) goto L_089AE014; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE014u) goto L_089AE014; AOT_REGCACHE_SYNC_OUT(); return; L_089AE014: { const bool branch_taken = 0u == 0u; @@ -5939,7 +5940,7 @@ L_089AE01C: goto L_089AE02C; } L_089AE02C: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(474))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(474))); aot_gpr_4 = (static_cast(aot_gpr_4) < 100 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -5949,10 +5950,10 @@ L_089AE02C: goto L_089AE03C; } L_089AE03C: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(474))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(474))); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(474), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(474))); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(474), static_cast(aot_gpr_4)); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(474))); aot_gpr_4 = (static_cast(aot_gpr_4) < 111 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -5963,7 +5964,7 @@ L_089AE03C: } L_089AE058: aot_gpr_31 = (0x089AE060u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 225u, 0x089A9520u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE060u) goto L_089AE060; AOT_REGCACHE_SYNC_OUT(); return; L_089AE060: @@ -5975,24 +5976,24 @@ L_089AE060: goto L_089AE068; } L_089AE068: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(96))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(96))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); goto L_089AE094; } goto L_089AE074; L_089AE074: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(10)))))); - ctx.gpr[6] = (aot_gpr_29 + static_cast(385)); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(10)))))); + aot_gpr_6 = (aot_gpr_29 + static_cast(385)); aot_gpr_31 = (0x089AE084u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE084u) goto L_089AE084; AOT_REGCACHE_SYNC_OUT(); return; L_089AE084: - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(96), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(385))); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(4), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(96))); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(4), static_cast(aot_gpr_4)); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); goto L_089AE094; L_089AE094: aot_gpr_5 = (0u | 18u); @@ -6007,14 +6008,14 @@ L_089AE094: L_089AE0A4: aot_gpr_4 = (0u | 4u); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(474), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(474), static_cast(aot_gpr_4)); if (branch_taken) { goto L_089AE160; } goto L_089AE0B0; } L_089AE0B0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(96))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -6023,19 +6024,19 @@ L_089AE0B0: goto L_089AE0BC; } L_089AE0BC: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(10)))))); - ctx.gpr[6] = (aot_gpr_29 + static_cast(386)); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(10)))))); + aot_gpr_6 = (aot_gpr_29 + static_cast(386)); aot_gpr_31 = (0x089AE0CCu); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE0CCu) goto L_089AE0CC; AOT_REGCACHE_SYNC_OUT(); return; L_089AE0CC: - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(96), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(386))); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(4), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(4), static_cast(aot_gpr_4)); goto L_089AE0D8; L_089AE0D8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(96))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); aot_gpr_5 = (aot_gpr_4 + static_cast(180)); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0))); ctx.gpr[18] = (aot_gpr_5 ^ 58u); @@ -6047,19 +6048,19 @@ L_089AE0D8: goto L_089AE0F0; } L_089AE0F0: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(10)))))); - ctx.gpr[6] = (aot_gpr_29 + static_cast(387)); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(10)))))); + aot_gpr_6 = (aot_gpr_29 + static_cast(387)); aot_gpr_31 = (0x089AE100u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE100u) goto L_089AE100; AOT_REGCACHE_SYNC_OUT(); return; L_089AE100: - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(96), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(387))); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(4), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(4), static_cast(aot_gpr_4)); goto L_089AE10C; L_089AE10C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(96))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); aot_gpr_5 = (0u | 18u); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(181))); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; @@ -6078,7 +6079,7 @@ L_089AE120: goto L_089AE128; } L_089AE128: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(474))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(474))); aot_gpr_4 = (static_cast(aot_gpr_4) < 2 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -6088,10 +6089,10 @@ L_089AE128: goto L_089AE138; } L_089AE138: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(474))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(474))); aot_gpr_4 = (aot_gpr_4 + static_cast(-1)); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(474), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(474), static_cast(aot_gpr_4)); if (branch_taken) { goto L_089AE150; } @@ -6099,7 +6100,7 @@ L_089AE138: } L_089AE148: aot_gpr_31 = (0x089AE150u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 225u, 0x089A9520u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE150u) goto L_089AE150; AOT_REGCACHE_SYNC_OUT(); return; L_089AE150: @@ -6112,7 +6113,7 @@ L_089AE150: } L_089AE158: aot_gpr_31 = (0x089AE160u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 225u, 0x089A9520u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE160u) goto L_089AE160; AOT_REGCACHE_SYNC_OUT(); return; L_089AE160: @@ -6170,17 +6171,17 @@ L_089AE1A8: goto L_089AE1B0; } L_089AE1B0: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1927)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(1927)))))); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(100))); - ctx.gpr[6] = (aot_mem.aot_direct_load16(ctx.gpr[6] + static_cast(52))); - ctx.gpr[6] = (ctx.gpr[6] << 24u); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(100))); + aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(52))); + aot_gpr_6 = (aot_gpr_6 << 24u); aot_gpr_31 = (0x089AE1CCu); - ctx.gpr[6] = (static_cast(static_cast(ctx.gpr[6]) >> 24u)); + aot_gpr_6 = (static_cast(static_cast(aot_gpr_6) >> 24u)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 237u, 0x08ADCCC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE1CCu) goto L_089AE1CC; AOT_REGCACHE_SYNC_OUT(); return; L_089AE1CC: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[18] == 0u; // nop if (branch_taken) { @@ -6197,13 +6198,13 @@ L_089AE1D8: goto L_089AE1E4; L_089AE1E4: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(10)))))); - ctx.gpr[6] = (aot_gpr_29 + static_cast(388)); + aot_gpr_6 = (aot_gpr_29 + static_cast(388)); aot_gpr_31 = (0x089AE1F4u); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE1F4u) goto L_089AE1F4; AOT_REGCACHE_SYNC_OUT(); return; L_089AE1F4: - aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(96), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(388))); aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(96))); @@ -6224,11 +6225,11 @@ L_089AE204: L_089AE220: ctx.gpr[7] = (16512u << 16u); aot_fpr_13 = std::bit_cast(0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_fpr_12 = std::bit_cast(ctx.gpr[7]); aot_gpr_5 = (0u | 16u); aot_gpr_31 = (0x089AE23Cu); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0070_entry, 70u, 653u, 0x0891F338u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE23Cu) goto L_089AE23C; AOT_REGCACHE_SYNC_OUT(); return; L_089AE23C: @@ -6239,7 +6240,7 @@ L_089AE23C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 183u, 0x08ADC994u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE24Cu) goto L_089AE24C; AOT_REGCACHE_SYNC_OUT(); return; L_089AE24C: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089AE258u); aot_gpr_5 = (0u | 58u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 240u, 0x08908D60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE258u) goto L_089AE258; @@ -6247,9 +6248,9 @@ L_089AE24C: L_089AE258: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7800))); aot_gpr_5 = (2238u << 16u); - ctx.gpr[6] = (aot_gpr_4 + aot_gpr_4); + aot_gpr_6 = (aot_gpr_4 + aot_gpr_4); ctx.gpr[7] = (aot_gpr_4 << 8u); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); aot_gpr_4 = (aot_gpr_4 << 5u); aot_gpr_4 = (ctx.gpr[7] + aot_gpr_4); aot_gpr_5 = (aot_gpr_5 + static_cast(-6992)); @@ -6267,27 +6268,27 @@ L_089AE280: } L_089AE288: aot_gpr_31 = (0x089AE290u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE290u) goto L_089AE290; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE290u) goto L_089AE290; AOT_REGCACHE_SYNC_OUT(); return; L_089AE290: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(48)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(48)))))); aot_gpr_5 = (0u | 197u); if (aot_gpr_4 == aot_gpr_5) { - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(792))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(792))); goto L_089AE3F4; } goto L_089AE2A0; L_089AE2A0: aot_gpr_31 = (0x089AE2A8u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE2A8u) goto L_089AE2A8; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE2A8u) goto L_089AE2A8; AOT_REGCACHE_SYNC_OUT(); return; L_089AE2A8: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(48)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(48)))))); aot_gpr_5 = (0u | 120u); if (aot_gpr_4 == aot_gpr_5) { - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(792))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(792))); goto L_089AE3F4; } goto L_089AE2B8; @@ -6296,24 +6297,24 @@ L_089AE2B8: ctx.gpr[19] = (0u | 0u); goto L_089AE2C0; L_089AE2C0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(96))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(96))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); goto L_089AE2EC; } goto L_089AE2CC; L_089AE2CC: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(10)))))); - ctx.gpr[6] = (aot_gpr_29 + static_cast(389)); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(10)))))); + aot_gpr_6 = (aot_gpr_29 + static_cast(389)); aot_gpr_31 = (0x089AE2DCu); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE2DCu) goto L_089AE2DC; AOT_REGCACHE_SYNC_OUT(); return; L_089AE2DC: - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(96), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(389))); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(4), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(96))); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(4), static_cast(aot_gpr_4)); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); goto L_089AE2EC; L_089AE2EC: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(214))); @@ -6326,7 +6327,7 @@ L_089AE2EC: goto L_089AE2FC; } L_089AE2FC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(96))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_4 = (ctx.gpr[19] << 3u); if (branch_taken) { @@ -6335,23 +6336,23 @@ L_089AE2FC: goto L_089AE308; } L_089AE308: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(10)))))); - ctx.gpr[6] = (aot_gpr_29 + static_cast(390)); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(10)))))); + aot_gpr_6 = (aot_gpr_29 + static_cast(390)); aot_gpr_31 = (0x089AE318u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE318u) goto L_089AE318; AOT_REGCACHE_SYNC_OUT(); return; L_089AE318: - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(96), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(390))); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(4), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_4 = (ctx.gpr[19] << 3u); goto L_089AE328; L_089AE328: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(96))); - ctx.gpr[6] = (aot_gpr_4 + aot_gpr_4); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(480))); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); + aot_gpr_6 = (aot_gpr_4 + aot_gpr_4); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(480))); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_5 = (ctx.gpr[7] + ctx.gpr[7]); aot_gpr_5 = (ctx.gpr[7] + aot_gpr_5); @@ -6368,7 +6369,7 @@ L_089AE328: goto L_089AE360; } L_089AE360: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(96))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -6377,38 +6378,38 @@ L_089AE360: goto L_089AE36C; } L_089AE36C: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(10)))))); - ctx.gpr[6] = (aot_gpr_29 + static_cast(391)); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(10)))))); + aot_gpr_6 = (aot_gpr_29 + static_cast(391)); aot_gpr_31 = (0x089AE37Cu); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE37Cu) goto L_089AE37C; AOT_REGCACHE_SYNC_OUT(); return; L_089AE37C: - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(96), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(391))); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(4), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(4), static_cast(aot_gpr_4)); goto L_089AE388; L_089AE388: aot_gpr_4 = (ctx.gpr[19] << 3u); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(96))); - ctx.gpr[6] = (aot_gpr_4 + aot_gpr_4); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); + aot_gpr_6 = (aot_gpr_4 + aot_gpr_4); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(216)); aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); aot_gpr_31 = (0x089AE3ACu); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE3ACu) goto L_089AE3AC; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE3ACu) goto L_089AE3AC; AOT_REGCACHE_SYNC_OUT(); return; L_089AE3AC: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x089AE3B8u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 73u, 0x08890474u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE3B8u) goto L_089AE3B8; AOT_REGCACHE_SYNC_OUT(); return; L_089AE3B8: aot_gpr_31 = (0x089AE3C0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 364u, 0x089A9FC8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE3C0u) goto L_089AE3C0; AOT_REGCACHE_SYNC_OUT(); return; L_089AE3C0: @@ -6437,13 +6438,13 @@ L_089AE3D0: } L_089AE3D8: aot_gpr_31 = (0x089AE3E0u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE3E0u) goto L_089AE3E0; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE3E0u) goto L_089AE3E0; AOT_REGCACHE_SYNC_OUT(); return; L_089AE3E0: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(8))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(8))); aot_gpr_4 = (aot_gpr_4 | 1u); - aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(8), aot_gpr_4); + aot_mem.aot_direct_store32(aot_gpr_2 + static_cast(8), aot_gpr_4); goto L_089AE3EC; L_089AE3EC: { const bool branch_taken = 0u == 0u; @@ -6455,21 +6456,21 @@ L_089AE3EC: } L_089AE3F4: aot_fpr_13 = std::bit_cast(0u); - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(796))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(796))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(272), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(276), std::bit_cast(aot_fpr_14)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(360))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(280), std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(352), 0u); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(16))); aot_gpr_5 = (0u + static_cast(-2)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(360), aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(aot_fpr_13)) && aot_fpr_12 == aot_fpr_13)) ? 0x00800000u : 0u); - aot_gpr_17 = (aot_gpr_29 + static_cast(288)); + ctx.gpr[17] = (aot_gpr_29 + static_cast(288)); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(20))); if (branch_taken) { goto L_089AE450; } @@ -6504,20 +6505,20 @@ L_089AE458: goto L_089AE45C; L_089AE45C: aot_gpr_31 = (0x089AE464u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 921u, 0x0885FA00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE464u) goto L_089AE464; AOT_REGCACHE_SYNC_OUT(); return; L_089AE464: - aot_gpr_17 = (aot_gpr_29 + static_cast(256)); + ctx.gpr[17] = (aot_gpr_29 + static_cast(256)); aot_gpr_5 = (aot_gpr_29 + static_cast(288)); ctx.gpr[18] = (aot_gpr_29 + static_cast(272)); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089AE47Cu); - ctx.gpr[6] = (ctx.gpr[18] | 0u); + aot_gpr_6 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 76u, 0x089A8A60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE47Cu) goto L_089AE47C; AOT_REGCACHE_SYNC_OUT(); return; L_089AE47C: - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -6530,7 +6531,7 @@ L_089AE47C: const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_4 = (aot_gpr_16 + static_cast(48)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -6551,7 +6552,7 @@ L_089AE47C: ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 0u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { std::uint32_t aot_run_words[3]{}; @@ -6561,7 +6562,7 @@ L_089AE47C: aot_fpr_14 = std::bit_cast(aot_run_words[2]); } { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_13), std::bit_cast(aot_fpr_14)}; - aot_mem.aot_direct_store32_block(aot_gpr_16 + static_cast(48), aot_run_words); } + aot_mem.aot_direct_store32_block(ctx.gpr[16] + static_cast(48), aot_run_words); } aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(360))); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 == 0u; @@ -6589,8 +6590,8 @@ L_089AE4D4: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(416), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); - aot_gpr_16 = aot_run_words[1]; - aot_gpr_17 = aot_run_words[2]; + ctx.gpr[16] = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; ctx.gpr[19] = aot_run_words[4]; aot_gpr_31 = aot_run_words[5]; @@ -6606,16 +6607,16 @@ L_089AE4F4: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(60), ctx.gpr[18]); ctx.gpr[18] = (ctx.gpr[7] & 255u); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(2228))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), ctx.gpr[16]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), ctx.gpr[17]); ctx.gpr[8] = (0u | 60u); - aot_gpr_17 = (aot_gpr_4 | 0u); - aot_gpr_16 = (aot_gpr_5 | 0u); + ctx.gpr[17] = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), std::bit_cast(aot_fpr_20)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), ctx.gpr[19]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), aot_gpr_31); { const bool branch_taken = ctx.gpr[7] == ctx.gpr[8]; - ctx.gpr[19] = (ctx.gpr[6] | 0u); + ctx.gpr[19] = (aot_gpr_6 | 0u); if (branch_taken) { goto L_089AE780; } @@ -6623,42 +6624,42 @@ L_089AE4F4: } L_089AE52C: aot_gpr_31 = (0x089AE534u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 697u, 0x0890EF9Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE534u) goto L_089AE534; AOT_REGCACHE_SYNC_OUT(); return; L_089AE534: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(72))); aot_fpr_20 = std::bit_cast(0u); aot_gpr_5 = (0u + static_cast(-513)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(72), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(72), aot_gpr_4); { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_20)}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089AE560u); aot_gpr_5 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 538u, 0x08A666C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE560u) goto L_089AE560; AOT_REGCACHE_SYNC_OUT(); return; L_089AE560: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089AE56Cu); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE56Cu) goto L_089AE56C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08908E78, 65u, 261u, 0x08908E78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE56Cu) goto L_089AE56C; AOT_REGCACHE_SYNC_OUT(); return; L_089AE56C: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089AE578u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE578u) goto L_089AE578; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE578u) goto L_089AE578; AOT_REGCACHE_SYNC_OUT(); return; L_089AE578: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089AE584u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 50u, 0x0891034Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE584u) goto L_089AE584; AOT_REGCACHE_SYNC_OUT(); return; L_089AE584: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(852))); aot_gpr_5 = (static_cast(aot_gpr_4) < 7 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_5 = (0u | 8u); @@ -6693,16 +6694,16 @@ L_089AE5A8: goto L_089AE5B0; } L_089AE5B0: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1280)))))); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(1280)))))); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (aot_gpr_5 | 1u); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(1280), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(1280), static_cast(aot_gpr_5)); aot_gpr_31 = (0x089AE5C8u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE5C8u) goto L_089AE5C8; AOT_REGCACHE_SYNC_OUT(); return; L_089AE5C8: - { const bool branch_taken = aot_gpr_17 == ctx.gpr[2]; + { const bool branch_taken = ctx.gpr[17] == aot_gpr_2; aot_gpr_4 = (0u | 20u); if (branch_taken) { goto L_089AE5E8; @@ -6711,7 +6712,7 @@ L_089AE5C8: } L_089AE5D0: { const bool branch_taken = ctx.gpr[19] != aot_gpr_4; - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (branch_taken) { goto L_089AE5F4; } @@ -6723,7 +6724,7 @@ L_089AE5D8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE5E0u) goto L_089AE5E0; AOT_REGCACHE_SYNC_OUT(); return; L_089AE5E0: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_089AE5F4; @@ -6733,7 +6734,7 @@ L_089AE5E0: L_089AE5E8: aot_gpr_4 = (0u | 11u); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store16(aot_gpr_17 + static_cast(2274), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store16(ctx.gpr[17] + static_cast(2274), static_cast(aot_gpr_4)); if (branch_taken) { goto L_089AE5FC; } @@ -6741,7 +6742,7 @@ L_089AE5E8: } L_089AE5F4: aot_gpr_4 = (0u | 10u); - aot_mem.aot_direct_store16(aot_gpr_17 + static_cast(2274), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store16(ctx.gpr[17] + static_cast(2274), static_cast(aot_gpr_4)); goto L_089AE5FC; L_089AE5FC: { const bool branch_taken = 0u == 0u; @@ -6753,10 +6754,10 @@ L_089AE5FC: } L_089AE604: aot_gpr_4 = (ctx.gpr[19] & 65535u); - aot_mem.aot_direct_store16(aot_gpr_17 + static_cast(2274), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store16(ctx.gpr[17] + static_cast(2274), static_cast(aot_gpr_4)); goto L_089AE60C; L_089AE60C: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(2274))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(2274))); aot_gpr_5 = (0u | 10u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -6766,7 +6767,7 @@ L_089AE60C: goto L_089AE61C; } L_089AE61C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(900))); { const bool branch_taken = aot_gpr_4 == 0u; ctx.gpr[19] = (0u + static_cast(-497)); if (branch_taken) { @@ -6776,11 +6777,11 @@ L_089AE61C: } L_089AE628: aot_gpr_31 = (0x089AE630u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(900))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE630u) goto L_089AE630; + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(900))); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE630u) goto L_089AE630; AOT_REGCACHE_SYNC_OUT(); return; L_089AE630: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089AE64C; @@ -6788,36 +6789,36 @@ L_089AE630: goto L_089AE638; } L_089AE638: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[19]); aot_gpr_4 = (aot_gpr_4 | 208u); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(72), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(72), aot_gpr_4); if (branch_taken) { goto L_089AE65C; } goto L_089AE64C; } L_089AE64C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[19]); aot_gpr_4 = (aot_gpr_4 | 64u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(72), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(72), aot_gpr_4); goto L_089AE65C; L_089AE65C: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089AE668u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 756u, 0x089AB8B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE668u) goto L_089AE668; AOT_REGCACHE_SYNC_OUT(); return; L_089AE668: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089AE674u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE674u) goto L_089AE674; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE674u) goto L_089AE674; AOT_REGCACHE_SYNC_OUT(); return; L_089AE674: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(852))); aot_gpr_5 = (0u | 6u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -6827,7 +6828,7 @@ L_089AE674: goto L_089AE684; } L_089AE684: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(852))); aot_gpr_5 = (0u | 8u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -6837,7 +6838,7 @@ L_089AE684: goto L_089AE694; } L_089AE694: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(852))); aot_gpr_5 = (0u | 9u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -6847,7 +6848,7 @@ L_089AE694: goto L_089AE6A4; } L_089AE6A4: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089AE6B0u); aot_gpr_5 = (0u | 3u); goto L_089AFEFC; @@ -6860,36 +6861,36 @@ L_089AE6B0: goto L_089AE6B8; } L_089AE6B8: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089AE6C4u); aot_gpr_5 = (0u | 0u); goto L_089AFEFC; L_089AE6C4: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089AE6D0u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE6D0u) goto L_089AE6D0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE6D0u) goto L_089AE6D0; AOT_REGCACHE_SYNC_OUT(); return; L_089AE6D0: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089AE6DCu); aot_gpr_5 = (0u | 60u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 240u, 0x08908D60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE6DCu) goto L_089AE6DC; AOT_REGCACHE_SYNC_OUT(); return; L_089AE6DC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(456))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(456))); aot_gpr_5 = (65520u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(-1)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(456), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(460))); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(456), aot_gpr_4); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(460))); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_5 = (ctx.gpr[18] & 1u); aot_gpr_5 = (aot_gpr_5 << 20u); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(460), aot_gpr_4); - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(2256))); - aot_gpr_4 = (aot_gpr_17 + static_cast(48)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(460), aot_gpr_4); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(2256))); + aot_gpr_4 = (ctx.gpr[17] + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -6904,7 +6905,7 @@ L_089AE6DC: const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_31 = (0x089AE72Cu); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); @@ -6918,11 +6919,11 @@ L_089AE72C: aot_fpr_14 = std::bit_cast(aot_run_words[2]); } aot_gpr_31 = (0x089AE740u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 4u, 0x08860094u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE740u) goto L_089AE740; AOT_REGCACHE_SYNC_OUT(); return; L_089AE740: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(852))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -6931,35 +6932,35 @@ L_089AE740: goto L_089AE74C; } L_089AE74C: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089AE758u); aot_gpr_5 = (0u | 122u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 16u, 0x08860424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE758u) goto L_089AE758; AOT_REGCACHE_SYNC_OUT(); return; L_089AE758: aot_gpr_31 = (0x089AE760u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 264u, 0x08910F00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE760u) goto L_089AE760; AOT_REGCACHE_SYNC_OUT(); return; L_089AE760: - ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(2274))); + aot_gpr_6 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(2274))); aot_gpr_4 = (aot_gpr_29 + static_cast(16)); aot_gpr_31 = (0x089AE770u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 78u, 0x089A8ACCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE770u) goto L_089AE770; AOT_REGCACHE_SYNC_OUT(); return; L_089AE770: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(564))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(564))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(564), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(564), static_cast(aot_gpr_4)); goto L_089AE780; L_089AE780: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(48), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); - aot_gpr_16 = aot_run_words[1]; - aot_gpr_17 = aot_run_words[2]; + ctx.gpr[16] = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; ctx.gpr[19] = aot_run_words[4]; aot_gpr_31 = aot_run_words[5]; @@ -6972,14 +6973,14 @@ L_089AE780: AOT_REGCACHE_SYNC_OUT(); return; L_089AE7A0: aot_gpr_29 = (aot_gpr_29 + static_cast(-64)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(48), aot_run_words); } aot_gpr_31 = (0x089AE7BCu); - aot_gpr_16 = (aot_gpr_4 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE7BCu) goto L_089AE7BC; + ctx.gpr[16] = (aot_gpr_4 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE7BCu) goto L_089AE7BC; AOT_REGCACHE_SYNC_OUT(); return; L_089AE7BC: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089AE92C; @@ -6988,11 +6989,11 @@ L_089AE7BC: } L_089AE7C4: aot_gpr_31 = (0x089AE7CCu); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE7CCu) goto L_089AE7CC; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE7CCu) goto L_089AE7CC; AOT_REGCACHE_SYNC_OUT(); return; L_089AE7CC: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(48)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(48)))))); aot_gpr_5 = (0u | 61u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -7002,7 +7003,7 @@ L_089AE7CC: goto L_089AE7DC; } L_089AE7DC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(456))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(456))); aot_gpr_5 = (64u << 16u); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); { const bool branch_taken = aot_gpr_4 == 0u; @@ -7014,12 +7015,12 @@ L_089AE7DC: } L_089AE7F0: aot_gpr_31 = (0x089AE7F8u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE7F8u) goto L_089AE7F8; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE7F8u) goto L_089AE7F8; AOT_REGCACHE_SYNC_OUT(); return; L_089AE7F8: aot_gpr_4 = (16307u << 16u); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(40))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(40))); aot_gpr_4 = (aot_gpr_4 | 13107u); aot_fpr_13 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); @@ -7033,11 +7034,11 @@ L_089AE7F8: } L_089AE818: aot_gpr_31 = (0x089AE820u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE820u) goto L_089AE820; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE820u) goto L_089AE820; AOT_REGCACHE_SYNC_OUT(); return; L_089AE820: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(48)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(48)))))); aot_gpr_5 = (0u | 197u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -7047,7 +7048,7 @@ L_089AE820: goto L_089AE830; } L_089AE830: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089AE83Cu); aot_gpr_5 = (0u | 3u); goto L_089AFEFC; @@ -7061,13 +7062,13 @@ L_089AE83C: } L_089AE844: aot_gpr_31 = (0x089AE84Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE84Cu) goto L_089AE84C; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE84Cu) goto L_089AE84C; AOT_REGCACHE_SYNC_OUT(); return; L_089AE84C: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x089AE858u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0073_entry, 73u, 2u, 0x08928024u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE858u) goto L_089AE858; AOT_REGCACHE_SYNC_OUT(); return; L_089AE858: @@ -7080,12 +7081,12 @@ L_089AE858: } L_089AE860: aot_gpr_31 = (0x089AE868u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE868u) goto L_089AE868; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE868u) goto L_089AE868; AOT_REGCACHE_SYNC_OUT(); return; L_089AE868: aot_gpr_4 = (16307u << 16u); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(40))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(40))); aot_gpr_4 = (aot_gpr_4 | 13107u); aot_fpr_13 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); @@ -7098,7 +7099,7 @@ L_089AE868: goto L_089AE888; } L_089AE888: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089AE894u); aot_gpr_5 = (0u | 2u); goto L_089AFEFC; @@ -7112,7 +7113,7 @@ L_089AE894: } L_089AE89C: aot_fpr_12 = std::bit_cast(0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_12)}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_31 = (0x089AE8B8u); @@ -7120,17 +7121,17 @@ L_089AE89C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 538u, 0x08A666C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE8B8u) goto L_089AE8B8; AOT_REGCACHE_SYNC_OUT(); return; L_089AE8B8: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089AE8C4u); aot_gpr_5 = (0u | 0u); goto L_089AFEFC; L_089AE8C4: aot_gpr_31 = (0x089AE8CCu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 778u, 0x089ABA14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE8CCu) goto L_089AE8CC; AOT_REGCACHE_SYNC_OUT(); return; L_089AE8CC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2196))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2196))); aot_gpr_5 = (0u | 38u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -7140,7 +7141,7 @@ L_089AE8CC: goto L_089AE8DC; } L_089AE8DC: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1152))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1152))); { const bool branch_taken = aot_gpr_5 == 0u; // nop if (branch_taken) { @@ -7150,24 +7151,24 @@ L_089AE8DC: } L_089AE8E8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(92))); - aot_gpr_17 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(2274))); + ctx.gpr[17] = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(2274))); ctx.gpr[18] = (aot_gpr_4 + static_cast(272)); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(0)))))); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(0)))))); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089AE904u); - aot_gpr_16 = (aot_gpr_5 + ctx.gpr[6]); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE904u) goto L_089AE904; + ctx.gpr[16] = (aot_gpr_5 + aot_gpr_6); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE904u) goto L_089AE904; AOT_REGCACHE_SYNC_OUT(); return; L_089AE904: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(40))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(40))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-13332))); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); { const float fs = aot_fpr_13; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x089AE924u); - ctx.gpr[6] = (0u | 173u); + aot_gpr_6 = (0u | 173u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE924u) goto L_089AE924; AOT_REGCACHE_SYNC_OUT(); return; @@ -7180,18 +7181,18 @@ L_089AE924: goto L_089AE92C; } L_089AE92C: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(2088), static_cast(0u)); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(80))); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(2088), static_cast(0u)); ctx.gpr[8] = (17530u << 16u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(776))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(776))); aot_fpr_12 = std::bit_cast(ctx.gpr[8]); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089AE94Cu); ctx.gpr[7] = (0u | 6u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 163u, 0x089088F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE94Cu) goto L_089AE94C; AOT_REGCACHE_SYNC_OUT(); return; L_089AE94C: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1152))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1152))); { const bool branch_taken = aot_gpr_5 == 0u; // nop if (branch_taken) { @@ -7201,8 +7202,8 @@ L_089AE94C: } L_089AE958: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(852))); - ctx.gpr[6] = (0u | 6u); - { const bool branch_taken = aot_gpr_4 == ctx.gpr[6]; + aot_gpr_6 = (0u | 6u); + { const bool branch_taken = aot_gpr_4 == aot_gpr_6; // nop if (branch_taken) { goto L_089AE998; @@ -7211,8 +7212,8 @@ L_089AE958: } L_089AE968: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(852))); - ctx.gpr[6] = (0u | 8u); - { const bool branch_taken = aot_gpr_4 == ctx.gpr[6]; + aot_gpr_6 = (0u | 8u); + { const bool branch_taken = aot_gpr_4 == aot_gpr_6; // nop if (branch_taken) { goto L_089AE998; @@ -7221,8 +7222,8 @@ L_089AE968: } L_089AE978: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(852))); - ctx.gpr[6] = (0u | 9u); - { const bool branch_taken = aot_gpr_4 == ctx.gpr[6]; + aot_gpr_6 = (0u | 9u); + { const bool branch_taken = aot_gpr_4 == aot_gpr_6; // nop if (branch_taken) { goto L_089AE998; @@ -7231,8 +7232,8 @@ L_089AE978: } L_089AE988: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(852))); - aot_gpr_17 = (0u | 2u); - { const bool branch_taken = aot_gpr_4 != aot_gpr_17; + ctx.gpr[17] = (0u | 2u); + { const bool branch_taken = aot_gpr_4 != ctx.gpr[17]; // nop if (branch_taken) { goto L_089AE9DC; @@ -7241,29 +7242,29 @@ L_089AE988: } L_089AE998: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(92))); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(80))); aot_gpr_4 = (aot_gpr_4 + static_cast(376)); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x089AE9B4u); - aot_gpr_4 = (aot_gpr_5 + ctx.gpr[6]); + aot_gpr_4 = (aot_gpr_5 + aot_gpr_6); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE9B4u) goto L_089AE9B4; AOT_REGCACHE_SYNC_OUT(); return; L_089AE9B4: - aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[6] = (ctx.gpr[2] | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x089AE9C8u); ctx.gpr[7] = (0u | 197u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 175u, 0x089089B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE9C8u) goto L_089AE9C8; AOT_REGCACHE_SYNC_OUT(); return; L_089AE9C8: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089AE9D4u); - aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE9D4u) goto L_089AE9D4; + aot_gpr_5 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE9D4u) goto L_089AE9D4; AOT_REGCACHE_SYNC_OUT(); return; L_089AE9D4: { const bool branch_taken = 0u == 0u; @@ -7274,18 +7275,18 @@ L_089AE9D4: goto L_089AE9DC; } L_089AE9DC: - ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(2274))); + aot_gpr_6 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(2274))); aot_gpr_31 = (0x089AE9E8u); aot_gpr_4 = (aot_gpr_29 + static_cast(16)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 78u, 0x089A8ACCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AE9E8u) goto L_089AE9E8; AOT_REGCACHE_SYNC_OUT(); return; L_089AE9E8: - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1152))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1152))); ctx.gpr[18] = (aot_gpr_29 + static_cast(32)); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x089AEA00u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 177u, 0x08AF5564u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AEA00u) goto L_089AEA00; AOT_REGCACHE_SYNC_OUT(); return; L_089AEA00: @@ -7296,7 +7297,7 @@ L_089AEA00: AOT_REGCACHE_SYNC_OUT(); return; L_089AEA0C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); - { const bool branch_taken = aot_gpr_5 == aot_gpr_17; + { const bool branch_taken = aot_gpr_5 == ctx.gpr[17]; aot_gpr_4 = (0u | 0u); if (branch_taken) { goto L_089AEA24; @@ -7304,8 +7305,8 @@ L_089AEA0C: goto L_089AEA18; } L_089AEA18: - ctx.gpr[6] = (0u | 4u); - { const bool branch_taken = aot_gpr_5 != ctx.gpr[6]; + aot_gpr_6 = (0u | 4u); + { const bool branch_taken = aot_gpr_5 != aot_gpr_6; aot_gpr_4 = (aot_gpr_4 & 255u); if (branch_taken) { goto L_089AEA2C; @@ -7327,7 +7328,7 @@ L_089AEA2C: goto L_089AEA3C; } L_089AEA3C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(456))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(456))); aot_gpr_5 = (64u << 16u); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); { const bool branch_taken = aot_gpr_4 == 0u; @@ -7339,29 +7340,29 @@ L_089AEA3C: } L_089AEA50: aot_gpr_31 = (0x089AEA58u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AEA58u) goto L_089AEA58; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AEA58u) goto L_089AEA58; AOT_REGCACHE_SYNC_OUT(); return; L_089AEA58: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(8))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(8))); aot_gpr_4 = (aot_gpr_4 | 64u); - aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(8), aot_gpr_4); + aot_mem.aot_direct_store32(aot_gpr_2 + static_cast(8), aot_gpr_4); goto L_089AEA64; L_089AEA64: aot_gpr_31 = (0x089AEA6Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AEA6Cu) goto L_089AEA6C; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AEA6Cu) goto L_089AEA6C; AOT_REGCACHE_SYNC_OUT(); return; L_089AEA6C: aot_gpr_5 = (2195u << 16u); - aot_gpr_4 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (aot_gpr_16 | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089AEA80u); aot_gpr_5 = (aot_gpr_5 + static_cast(-32732)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AEA80u) goto L_089AEA80; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AEA80u) goto L_089AEA80; AOT_REGCACHE_SYNC_OUT(); return; L_089AEA80: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1152))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1152))); { const bool branch_taken = aot_gpr_5 == 0u; // nop if (branch_taken) { @@ -7380,7 +7381,7 @@ L_089AEA8C: goto L_089AEA9C; } L_089AEA9C: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089AEAA8u); aot_gpr_5 = (0u | 3u); goto L_089AFEFC; @@ -7393,15 +7394,15 @@ L_089AEAA8: goto L_089AEAB0; } L_089AEAB0: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089AEABCu); aot_gpr_5 = (0u | 0u); goto L_089AFEFC; L_089AEABC: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(48), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -7427,7 +7428,7 @@ L_089AEAD4: ctx.fpr[22] = std::bit_cast(0u); ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(2228))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(112), std::bit_cast(aot_fpr_20)); - { const std::uint32_t aot_run_words[7]{aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23]}; + { const std::uint32_t aot_run_words[7]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(124), aot_run_words); } aot_fpr_20 = std::bit_cast(std::bit_cast(ctx.fpr[22])); ctx.gpr[23] = (0u | 8u); @@ -7437,11 +7438,11 @@ L_089AEAD4: ctx.gpr[9] = (0u | 24u); ctx.gpr[19] = (aot_gpr_4 | 0u); ctx.gpr[18] = (aot_gpr_5 | 0u); - aot_gpr_17 = (ctx.gpr[6] | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(120), aot_gpr_16); + ctx.gpr[17] = (aot_gpr_6 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(120), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(156), aot_gpr_31); { const bool branch_taken = ctx.gpr[8] == ctx.gpr[9]; - aot_gpr_16 = (ctx.gpr[7] | 0u); + ctx.gpr[16] = (ctx.gpr[7] | 0u); if (branch_taken) { goto L_089AEB78; } @@ -7469,7 +7470,7 @@ L_089AEB78: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 50u, 0x0891034Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AEB84u) goto L_089AEB84; AOT_REGCACHE_SYNC_OUT(); return; L_089AEB84: - aot_gpr_4 = (aot_gpr_17 & 65535u); + aot_gpr_4 = (ctx.gpr[17] & 65535u); aot_mem.aot_direct_store16(ctx.gpr[19] + static_cast(2274), static_cast(aot_gpr_4)); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x089AEB98u); @@ -7527,7 +7528,7 @@ L_089AEBDC: L_089AEBE4: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x089AEBF0u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 171u, 0x08910A24u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AEBF0u) goto L_089AEBF0; AOT_REGCACHE_SYNC_OUT(); return; L_089AEBF0: @@ -7536,7 +7537,7 @@ L_089AEBF0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 3u, 0x08910020u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AEBF8u) goto L_089AEBF8; AOT_REGCACHE_SYNC_OUT(); return; L_089AEBF8: - aot_gpr_4 = (ctx.gpr[2] + static_cast(562)); + aot_gpr_4 = (aot_gpr_2 + static_cast(562)); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0))); aot_gpr_5 = (aot_gpr_5 + static_cast(1)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_5)); @@ -7544,7 +7545,7 @@ L_089AEBF8: aot_gpr_5 = (0u + static_cast(-513)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(72), aot_gpr_4); - ctx.gpr[6] = (aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(2274))); + aot_gpr_6 = (aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(2274))); aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x089AEC2Cu); @@ -7655,7 +7656,7 @@ L_089AECA0: AOT_REGCACHE_SYNC_OUT(); return; L_089AECAC: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(563))); - aot_gpr_5 = (~(aot_gpr_16 | 0u)); + aot_gpr_5 = (~(ctx.gpr[16] | 0u)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(563), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(464))); @@ -7668,25 +7669,25 @@ L_089AECAC: goto L_089AECCC; } L_089AECCC: - ctx.gpr[6] = (aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(2274))); + aot_gpr_6 = (aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(2274))); aot_gpr_4 = (aot_gpr_29 + static_cast(32)); aot_gpr_31 = (0x089AECDCu); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 78u, 0x089A8ACCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AECDCu) goto L_089AECDC; AOT_REGCACHE_SYNC_OUT(); return; L_089AECDC: - aot_gpr_16 = (aot_gpr_29 + static_cast(48)); + ctx.gpr[16] = (aot_gpr_29 + static_cast(48)); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(32))); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x089AECF4u); - ctx.gpr[6] = (ctx.gpr[18] | 0u); + aot_gpr_6 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 177u, 0x08AF5564u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AECF4u) goto L_089AECF4; AOT_REGCACHE_SYNC_OUT(); return; L_089AECF4: - ctx.gpr[6] = (16512u << 16u); - aot_gpr_4 = (aot_gpr_16 | 0u); - aot_fpr_12 = std::bit_cast(ctx.gpr[6]); + aot_gpr_6 = (16512u << 16u); + aot_gpr_4 = (ctx.gpr[16] | 0u); + aot_fpr_12 = std::bit_cast(aot_gpr_6); aot_gpr_31 = (0x089AED08u); aot_gpr_5 = (0u | 6u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 188u, 0x08AF565Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AED08u) goto L_089AED08; @@ -7694,15 +7695,15 @@ L_089AECF4: L_089AED08: aot_gpr_31 = (0x089AED10u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AED10u) goto L_089AED10; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AED10u) goto L_089AED10; AOT_REGCACHE_SYNC_OUT(); return; L_089AED10: aot_gpr_5 = (2203u << 16u); - aot_gpr_4 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (ctx.gpr[19] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); + aot_gpr_6 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x089AED24u); aot_gpr_5 = (aot_gpr_5 + static_cast(-21496)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AED24u) goto L_089AED24; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AED24u) goto L_089AED24; AOT_REGCACHE_SYNC_OUT(); return; L_089AED24: aot_gpr_4 = (0u | 0u); @@ -7746,7 +7747,7 @@ L_089AED4C: L_089AED6C: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(80))); aot_gpr_4 = (ctx.gpr[19] | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x089AED80u); ctx.gpr[7] = (0u | 97u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 163u, 0x089088F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AED80u) goto L_089AED80; @@ -7754,8 +7755,8 @@ L_089AED6C: L_089AED80: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x089AED8Cu); - aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AED8Cu) goto L_089AED8C; + aot_gpr_5 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AED8Cu) goto L_089AED8C; AOT_REGCACHE_SYNC_OUT(); return; L_089AED8C: { const bool branch_taken = 0u == 0u; @@ -7768,7 +7769,7 @@ L_089AED8C: L_089AED94: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(80))); aot_gpr_4 = (ctx.gpr[19] | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x089AEDA8u); ctx.gpr[7] = (0u | 110u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 163u, 0x089088F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AEDA8u) goto L_089AEDA8; @@ -7776,14 +7777,14 @@ L_089AED94: L_089AEDA8: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x089AEDB4u); - aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AEDB4u) goto L_089AEDB4; + aot_gpr_5 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AEDB4u) goto L_089AEDB4; AOT_REGCACHE_SYNC_OUT(); return; L_089AEDB4: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(563))); goto L_089AEDB8; L_089AEDB8: - aot_gpr_5 = (~(aot_gpr_16 | 0u)); + aot_gpr_5 = (~(ctx.gpr[16] | 0u)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(563), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(464))); @@ -7798,10 +7799,10 @@ L_089AEDB8: L_089AEDD4: aot_gpr_31 = (0x089AEDDCu); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AEDDCu) goto L_089AEDDC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B01E00, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AEDDCu) goto L_089AEDDC; AOT_REGCACHE_SYNC_OUT(); return; L_089AEDDC: - { const bool branch_taken = ctx.gpr[2] == ctx.gpr[20]; + { const bool branch_taken = aot_gpr_2 == ctx.gpr[20]; // nop if (branch_taken) { goto L_089AEDFC; @@ -7848,25 +7849,25 @@ L_089AEE18: goto L_089AEE20; } L_089AEE20: - ctx.gpr[6] = (aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(2274))); + aot_gpr_6 = (aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(2274))); aot_gpr_4 = (aot_gpr_29 + static_cast(64)); aot_gpr_31 = (0x089AEE30u); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 78u, 0x089A8ACCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AEE30u) goto L_089AEE30; AOT_REGCACHE_SYNC_OUT(); return; L_089AEE30: - aot_gpr_16 = (aot_gpr_29 + static_cast(80)); + ctx.gpr[16] = (aot_gpr_29 + static_cast(80)); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x089AEE48u); - ctx.gpr[6] = (ctx.gpr[18] | 0u); + aot_gpr_6 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 177u, 0x08AF5564u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AEE48u) goto L_089AEE48; AOT_REGCACHE_SYNC_OUT(); return; L_089AEE48: - ctx.gpr[6] = (16512u << 16u); - aot_gpr_4 = (aot_gpr_16 | 0u); - aot_fpr_12 = std::bit_cast(ctx.gpr[6]); + aot_gpr_6 = (16512u << 16u); + aot_gpr_4 = (ctx.gpr[16] | 0u); + aot_fpr_12 = std::bit_cast(aot_gpr_6); aot_gpr_31 = (0x089AEE5Cu); aot_gpr_5 = (0u | 6u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 188u, 0x08AF565Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AEE5Cu) goto L_089AEE5C; @@ -7874,23 +7875,23 @@ L_089AEE48: L_089AEE5C: aot_gpr_31 = (0x089AEE64u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AEE64u) goto L_089AEE64; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AEE64u) goto L_089AEE64; AOT_REGCACHE_SYNC_OUT(); return; L_089AEE64: aot_gpr_5 = (2203u << 16u); - aot_gpr_4 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (ctx.gpr[19] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); + aot_gpr_6 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x089AEE78u); aot_gpr_5 = (aot_gpr_5 + static_cast(-21496)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AEE78u) goto L_089AEE78; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AEE78u) goto L_089AEE78; AOT_REGCACHE_SYNC_OUT(); return; L_089AEE78: { std::uint32_t aot_run_words[12]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(112), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); - aot_gpr_16 = aot_run_words[2]; - aot_gpr_17 = aot_run_words[3]; + ctx.gpr[16] = aot_run_words[2]; + ctx.gpr[17] = aot_run_words[3]; ctx.gpr[18] = aot_run_words[4]; ctx.gpr[19] = aot_run_words[5]; ctx.gpr[20] = aot_run_words[6]; @@ -7908,18 +7909,18 @@ L_089AEE78: AOT_REGCACHE_SYNC_OUT(); return; L_089AEEB0: aot_gpr_29 = (aot_gpr_29 + static_cast(-80)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(32), aot_run_words); } - { const std::uint32_t aot_run_words[6]{aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_31}; + { const std::uint32_t aot_run_words[6]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(48), aot_run_words); } aot_gpr_31 = (0x089AEEE8u); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1152))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AEEE8u) goto L_089AEEE8; + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1152))); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AEEE8u) goto L_089AEEE8; AOT_REGCACHE_SYNC_OUT(); return; L_089AEEE8: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; ctx.fpr[22] = std::bit_cast(0u); if (branch_taken) { goto L_089AEF10; @@ -7927,14 +7928,14 @@ L_089AEEE8: goto L_089AEEF0; } L_089AEEF0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(464))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(464))); aot_gpr_5 = (0u + static_cast(-2)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(468))); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(464), aot_gpr_4); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(468))); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(464), aot_gpr_4); aot_gpr_4 = (0u + static_cast(-1025)); aot_gpr_4 = (aot_gpr_5 & aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(468), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(468), aot_gpr_4); goto L_089AEF10; L_089AEF10: aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7080))); @@ -7946,7 +7947,7 @@ L_089AEF10: goto L_089AEF1C; } L_089AEF1C: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1152))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1152))); { const bool branch_taken = aot_gpr_5 == 0u; // nop if (branch_taken) { @@ -7955,10 +7956,10 @@ L_089AEF1C: goto L_089AEF28; } L_089AEF28: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1152))); - ctx.gpr[6] = (16256u << 16u); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1152))); + aot_gpr_6 = (16256u << 16u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(636))); - aot_fpr_13 = std::bit_cast(ctx.gpr[6]); + aot_fpr_13 = std::bit_cast(aot_gpr_6); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); @@ -7972,7 +7973,7 @@ L_089AEF48: aot_gpr_4 = (0u | 1u); goto L_089AEF4C; L_089AEF4C: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1152))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1152))); { const bool branch_taken = aot_gpr_5 == 0u; // nop if (branch_taken) { @@ -7989,7 +7990,7 @@ L_089AEF58: goto L_089AEF60; } L_089AEF60: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1152))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1152))); aot_gpr_5 = (0u | 5u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 496u); @@ -8002,7 +8003,7 @@ L_089AEF60: goto L_089AEF7C; } L_089AEF7C: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1252))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1252))); aot_gpr_4 = (16256u << 16u); aot_fpr_20 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_20)) ? 0x00800000u : 0u); @@ -8016,17 +8017,17 @@ L_089AEF7C: } L_089AEF98: aot_gpr_31 = (0x089AEFA0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 441u, 0x089AA5B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AEFA0u) goto L_089AEFA0; AOT_REGCACHE_SYNC_OUT(); return; L_089AEFA0: ctx.gpr[7] = (16512u << 16u); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[22])); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_fpr_12 = std::bit_cast(ctx.gpr[7]); aot_gpr_5 = (0u | 16u); aot_gpr_31 = (0x089AEFBCu); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0070_entry, 70u, 653u, 0x0891F338u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AEFBCu) goto L_089AEFBC; AOT_REGCACHE_SYNC_OUT(); return; L_089AEFBC: @@ -8040,11 +8041,11 @@ L_089AEFBC: } L_089AEFC8: aot_gpr_31 = (0x089AEFD0u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AEFD0u) goto L_089AEFD0; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AEFD0u) goto L_089AEFD0; AOT_REGCACHE_SYNC_OUT(); return; L_089AEFD0: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089AF004; @@ -8052,10 +8053,10 @@ L_089AEFD0: goto L_089AEFD8; } L_089AEFD8: - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1152))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1152))); aot_gpr_5 = (2237u << 16u); aot_gpr_4 = (0u | 0u); - { const bool branch_taken = ctx.gpr[6] == 0u; + { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-28736)); if (branch_taken) { goto L_089AEFF4; @@ -8063,14 +8064,14 @@ L_089AEFD8: goto L_089AEFEC; } L_089AEFEC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1152))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1152))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(668))); goto L_089AEFF4; L_089AEFF4: - ctx.gpr[6] = (aot_gpr_4 | 0u); + aot_gpr_6 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x089AF004u); - aot_gpr_5 = (ctx.gpr[6] | 0u); + aot_gpr_5 = (aot_gpr_6 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 173u, 0x08ADC8D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AF004u) goto L_089AF004; AOT_REGCACHE_SYNC_OUT(); return; L_089AF004: @@ -8082,11 +8083,11 @@ L_089AF004: goto L_089AF00C; } L_089AF00C: - ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(2274))); + aot_gpr_6 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(2274))); aot_gpr_4 = (aot_gpr_29 | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089AF020u); - ctx.gpr[7] = (aot_gpr_16 | 0u); + ctx.gpr[7] = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0107_entry, 107u, 395u, 0x089B16E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AF020u) goto L_089AF020; AOT_REGCACHE_SYNC_OUT(); return; L_089AF020: @@ -8105,7 +8106,7 @@ L_089AF020: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); - aot_gpr_4 = (aot_gpr_16 + static_cast(48)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(48)); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[22])) ? 0x00800000u : 0u); @@ -8118,13 +8119,13 @@ L_089AF020: goto L_089AF04C; } L_089AF04C: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089AF058u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 296u, 0x08B01088u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AF058u) goto L_089AF058; AOT_REGCACHE_SYNC_OUT(); return; L_089AF058: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089AF0BC; @@ -8132,7 +8133,7 @@ L_089AF058: goto L_089AF060; } L_089AF060: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(2274))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(2274))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -8142,11 +8143,11 @@ L_089AF060: } L_089AF06C: aot_gpr_31 = (0x089AF074u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AF074u) goto L_089AF074; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AF074u) goto L_089AF074; AOT_REGCACHE_SYNC_OUT(); return; L_089AF074: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089AF0BC; @@ -8154,48 +8155,48 @@ L_089AF074: goto L_089AF07C; } L_089AF07C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(92))); - ctx.gpr[18] = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(2274))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(92))); + ctx.gpr[18] = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(2274))); ctx.gpr[19] = (aot_gpr_4 + static_cast(272)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(0)))))); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089AF098u); - ctx.gpr[20] = (aot_gpr_17 + aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AF098u) goto L_089AF098; + ctx.gpr[20] = (ctx.gpr[17] + aot_gpr_5); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AF098u) goto L_089AF098; AOT_REGCACHE_SYNC_OUT(); return; L_089AF098: - ctx.gpr[21] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(48)))))); + ctx.gpr[21] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(48)))))); aot_gpr_31 = (0x089AF0A4u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AF0A4u) goto L_089AF0A4; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AF0A4u) goto L_089AF0A4; AOT_REGCACHE_SYNC_OUT(); return; L_089AF0A4: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(40))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(40))); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(4))); aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x089AF0BCu); - ctx.gpr[6] = (ctx.gpr[21] | 0u); + aot_gpr_6 = (ctx.gpr[21] | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AF0BCu) goto L_089AF0BC; AOT_REGCACHE_SYNC_OUT(); return; L_089AF0BC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(456))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(456))); aot_gpr_5 = (0u + static_cast(-4097)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(456), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(456), aot_gpr_4); aot_gpr_31 = (0x089AF0D4u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AF0D4u) goto L_089AF0D4; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AF0D4u) goto L_089AF0D4; AOT_REGCACHE_SYNC_OUT(); return; L_089AF0D4: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089AF0E0u); aot_gpr_5 = (0u | 0u); goto L_089AFEFC; L_089AF0E0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(852))); aot_gpr_5 = (0u | 6u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -8205,7 +8206,7 @@ L_089AF0E0: goto L_089AF0F0; } L_089AF0F0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(852))); aot_gpr_5 = (0u | 8u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -8215,7 +8216,7 @@ L_089AF0F0: goto L_089AF100; } L_089AF100: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(72))); aot_gpr_5 = (0u | 64u); aot_gpr_4 = (aot_gpr_4 & 496u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; @@ -8226,7 +8227,7 @@ L_089AF100: goto L_089AF114; } L_089AF114: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(1280)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(1280)))))); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -8237,11 +8238,11 @@ L_089AF114: } L_089AF124: aot_gpr_31 = (0x089AF12Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AF12Cu) goto L_089AF12C; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AF12Cu) goto L_089AF12C; AOT_REGCACHE_SYNC_OUT(); return; L_089AF12C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089AF204; @@ -8250,11 +8251,11 @@ L_089AF12C: } L_089AF134: aot_gpr_31 = (0x089AF13Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AF13Cu) goto L_089AF13C; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AF13Cu) goto L_089AF13C; AOT_REGCACHE_SYNC_OUT(); return; L_089AF13C: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(48)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(48)))))); aot_gpr_5 = (0u | 114u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -8265,11 +8266,11 @@ L_089AF13C: } L_089AF14C: aot_gpr_31 = (0x089AF154u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AF154u) goto L_089AF154; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AF154u) goto L_089AF154; AOT_REGCACHE_SYNC_OUT(); return; L_089AF154: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(48)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(48)))))); aot_gpr_5 = (0u | 115u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -8280,12 +8281,12 @@ L_089AF154: } L_089AF164: aot_gpr_31 = (0x089AF16Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AF16Cu) goto L_089AF16C; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AF16Cu) goto L_089AF16C; AOT_REGCACHE_SYNC_OUT(); return; L_089AF16C: aot_gpr_4 = (16110u << 16u); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(40))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(40))); aot_gpr_4 = (aot_gpr_4 | 62285u); aot_fpr_13 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); @@ -8298,10 +8299,10 @@ L_089AF16C: goto L_089AF18C; } L_089AF18C: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(1280)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(1280)))))); aot_gpr_4 = (aot_gpr_4 | 1u); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(1280), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(1280), static_cast(aot_gpr_4)); if (branch_taken) { goto L_089AF300; } @@ -8309,11 +8310,11 @@ L_089AF18C: } L_089AF19C: aot_gpr_31 = (0x089AF1A4u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AF1A4u) goto L_089AF1A4; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AF1A4u) goto L_089AF1A4; AOT_REGCACHE_SYNC_OUT(); return; L_089AF1A4: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(48)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(48)))))); aot_gpr_5 = (0u | 116u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -8324,11 +8325,11 @@ L_089AF1A4: } L_089AF1B4: aot_gpr_31 = (0x089AF1BCu); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AF1BCu) goto L_089AF1BC; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AF1BCu) goto L_089AF1BC; AOT_REGCACHE_SYNC_OUT(); return; L_089AF1BC: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(48)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(48)))))); aot_gpr_5 = (0u | 117u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -8339,12 +8340,12 @@ L_089AF1BC: } L_089AF1CC: aot_gpr_31 = (0x089AF1D4u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AF1D4u) goto L_089AF1D4; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AF1D4u) goto L_089AF1D4; AOT_REGCACHE_SYNC_OUT(); return; L_089AF1D4: aot_gpr_4 = (16110u << 16u); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(40))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(40))); aot_gpr_4 = (aot_gpr_4 | 62285u); aot_fpr_13 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); @@ -8357,17 +8358,17 @@ L_089AF1D4: goto L_089AF1F4; } L_089AF1F4: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(1280)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(1280)))))); aot_gpr_4 = (aot_gpr_4 | 1u); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(1280), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(1280), static_cast(aot_gpr_4)); if (branch_taken) { goto L_089AF300; } goto L_089AF204; } L_089AF204: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2228))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2228))); aot_gpr_5 = (0u | 59u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -8378,11 +8379,11 @@ L_089AF204: } L_089AF214: aot_gpr_31 = (0x089AF21Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AF21Cu) goto L_089AF21C; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AF21Cu) goto L_089AF21C; AOT_REGCACHE_SYNC_OUT(); return; L_089AF21C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089AF300; @@ -8391,12 +8392,12 @@ L_089AF21C: } L_089AF224: aot_gpr_31 = (0x089AF22Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AF22Cu) goto L_089AF22C; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AF22Cu) goto L_089AF22C; AOT_REGCACHE_SYNC_OUT(); return; L_089AF22C: aot_gpr_4 = (16076u << 16u); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(40))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(40))); aot_gpr_4 = (aot_gpr_4 | 52429u); ctx.fpr[22] = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[22])) ? 0x00800000u : 0u); @@ -8410,17 +8411,17 @@ L_089AF22C: } L_089AF24C: aot_gpr_31 = (0x089AF254u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AF254u) goto L_089AF254; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AF254u) goto L_089AF254; AOT_REGCACHE_SYNC_OUT(); return; L_089AF254: - ctx.fpr[24] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(40))); + ctx.fpr[24] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(40))); aot_gpr_31 = (0x089AF260u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AF260u) goto L_089AF260; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AF260u) goto L_089AF260; AOT_REGCACHE_SYNC_OUT(); return; L_089AF260: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(12))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(12))); aot_fpr_12 = ctx.fpr[24] - aot_fpr_12; ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[22])) ? 0x00800000u : 0u); // nop @@ -8433,11 +8434,11 @@ L_089AF260: } L_089AF278: aot_gpr_31 = (0x089AF280u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AF280u) goto L_089AF280; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AF280u) goto L_089AF280; AOT_REGCACHE_SYNC_OUT(); return; L_089AF280: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(48)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(48)))))); aot_gpr_5 = (0u | 196u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -8449,11 +8450,11 @@ L_089AF280: L_089AF290: ctx.gpr[7] = (16448u << 16u); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(96))); aot_fpr_12 = std::bit_cast(ctx.gpr[7]); aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); aot_gpr_31 = (0x089AF2ACu); - ctx.gpr[6] = (0u | 188u); + aot_gpr_6 = (0u | 188u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 503u, 0x08A05F80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AF2ACu) goto L_089AF2AC; AOT_REGCACHE_SYNC_OUT(); return; L_089AF2AC: @@ -8466,11 +8467,11 @@ L_089AF2AC: } L_089AF2B4: aot_gpr_31 = (0x089AF2BCu); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AF2BCu) goto L_089AF2BC; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AF2BCu) goto L_089AF2BC; AOT_REGCACHE_SYNC_OUT(); return; L_089AF2BC: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(48)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(48)))))); aot_gpr_5 = (0u | 118u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -8481,11 +8482,11 @@ L_089AF2BC: } L_089AF2CC: aot_gpr_31 = (0x089AF2D4u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AF2D4u) goto L_089AF2D4; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AF2D4u) goto L_089AF2D4; AOT_REGCACHE_SYNC_OUT(); return; L_089AF2D4: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(48)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(48)))))); aot_gpr_5 = (0u | 119u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -8497,11 +8498,11 @@ L_089AF2D4: L_089AF2E4: ctx.gpr[7] = (16448u << 16u); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(96))); aot_fpr_12 = std::bit_cast(ctx.gpr[7]); aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); aot_gpr_31 = (0x089AF300u); - ctx.gpr[6] = (0u | 187u); + aot_gpr_6 = (0u | 187u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 503u, 0x08A05F80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AF300u) goto L_089AF300; AOT_REGCACHE_SYNC_OUT(); return; L_089AF300: @@ -8510,8 +8511,8 @@ L_089AF300: aot_fpr_20 = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); - aot_gpr_16 = aot_run_words[3]; - aot_gpr_17 = aot_run_words[4]; + ctx.gpr[16] = aot_run_words[3]; + ctx.gpr[17] = aot_run_words[4]; ctx.gpr[18] = aot_run_words[5]; ctx.gpr[19] = aot_run_words[6]; ctx.gpr[20] = aot_run_words[7]; @@ -8526,21 +8527,21 @@ L_089AF300: AOT_REGCACHE_SYNC_OUT(); return; L_089AF330: aot_gpr_29 = (aot_gpr_29 + static_cast(-144)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19]}; + { const std::uint32_t aot_run_words[4]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(116), aot_run_words); } - aot_gpr_17 = (aot_gpr_5 | 0u); - aot_gpr_16 = (aot_gpr_4 | 0u); - ctx.gpr[18] = (ctx.gpr[6] | 0u); + ctx.gpr[17] = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); + ctx.gpr[18] = (aot_gpr_6 | 0u); ctx.gpr[19] = (0u | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(112), std::bit_cast(aot_fpr_20)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(132), aot_gpr_31); aot_gpr_31 = (0x089AF364u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AF364u) goto L_089AF364; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B01E00, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AF364u) goto L_089AF364; AOT_REGCACHE_SYNC_OUT(); return; L_089AF364: aot_gpr_4 = (0u | 2u); - { const bool branch_taken = ctx.gpr[2] == aot_gpr_4; + { const bool branch_taken = aot_gpr_2 == aot_gpr_4; // nop if (branch_taken) { goto L_089AF380; @@ -8548,7 +8549,7 @@ L_089AF364: goto L_089AF370; } L_089AF370: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(852))); aot_gpr_5 = (0u | 2u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -8558,7 +8559,7 @@ L_089AF370: goto L_089AF380; } L_089AF380: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2196))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2196))); aot_gpr_5 = (0u | 17u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -8568,7 +8569,7 @@ L_089AF380: goto L_089AF390; } L_089AF390: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) & 0x7FFFFFFFu); aot_gpr_4 = (15820u << 16u); aot_gpr_4 = (aot_gpr_4 | 52429u); @@ -8583,7 +8584,7 @@ L_089AF390: goto L_089AF3B4; } L_089AF3B4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(852))); aot_gpr_5 = (0u | 8u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -8593,7 +8594,7 @@ L_089AF3B4: goto L_089AF3C4; } L_089AF3C4: - aot_gpr_4 = (aot_gpr_16 + static_cast(48)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -8603,7 +8604,7 @@ L_089AF3C4: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_4 = (aot_gpr_17 + static_cast(48)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -8674,13 +8675,13 @@ L_089AF430: aot_fpr_20 = std::bit_cast(std::bit_cast(ctx.fpr[0])); goto L_089AF434; L_089AF434: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(16))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(16))); aot_fpr_14 = std::bit_cast(0u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(aot_fpr_14)) && aot_fpr_12 == aot_fpr_14)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(20))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(20))); if (branch_taken) { goto L_089AF46C; } @@ -8782,11 +8783,11 @@ L_089AF4F8: } L_089AF504: aot_gpr_31 = (0x089AF50Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AF50Cu) goto L_089AF50C; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AF50Cu) goto L_089AF50C; AOT_REGCACHE_SYNC_OUT(); return; L_089AF50C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089AF53C; @@ -8794,7 +8795,7 @@ L_089AF50C: goto L_089AF514; } L_089AF514: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(3156))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(3156))); aot_gpr_4 = (16320u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); @@ -8807,7 +8808,7 @@ L_089AF514: goto L_089AF530; } L_089AF530: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(2274))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(2274))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -8817,42 +8818,42 @@ L_089AF530: } L_089AF53C: aot_gpr_31 = (0x089AF544u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AF544u) goto L_089AF544; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AF544u) goto L_089AF544; AOT_REGCACHE_SYNC_OUT(); return; L_089AF544: - if (ctx.gpr[2] != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(2274))); + if (aot_gpr_2 != 0u) { + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(2274))); goto L_089AF590; } goto L_089AF54C; L_089AF54C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1360))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1360))); aot_gpr_5 = (0u | 6u); if (aot_gpr_4 == aot_gpr_5) { - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(2274))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(2274))); goto L_089AF590; } goto L_089AF55C; L_089AF55C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2244))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2244))); aot_gpr_5 = (0u | 4u); if (aot_gpr_4 != aot_gpr_5) { - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(2274))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(2274))); goto L_089AF590; } goto L_089AF56C; L_089AF56C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1364))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1364))); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(23)))))); aot_gpr_4 = (static_cast(aot_gpr_4) < 66 ? 1u : 0u); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(2274))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(2274))); goto L_089AF590; } goto L_089AF580; L_089AF580: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(2274))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(2274))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -8861,7 +8862,7 @@ L_089AF580: goto L_089AF58C; } L_089AF58C: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(2274))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(2274))); goto L_089AF590; L_089AF590: aot_gpr_5 = (0u | 20u); @@ -8874,13 +8875,13 @@ L_089AF590: } L_089AF59C: aot_gpr_4 = (0u | 20u); - aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(2274), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store16(ctx.gpr[16] + static_cast(2274), static_cast(aot_gpr_4)); ctx.gpr[19] = (aot_gpr_29 + static_cast(80)); aot_gpr_4 = (ctx.gpr[19] | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[6] = (0u | 20u); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_6 = (0u | 20u); aot_gpr_31 = (0x089AF5BCu); - ctx.gpr[7] = (aot_gpr_16 | 0u); + ctx.gpr[7] = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0107_entry, 107u, 395u, 0x089B16E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AF5BCu) goto L_089AF5BC; AOT_REGCACHE_SYNC_OUT(); return; L_089AF5BC: @@ -8913,7 +8914,7 @@ L_089AF5CC: goto L_089AF5D4; } L_089AF5D4: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(2274))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(2274))); aot_gpr_5 = (0u | 10u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -8923,7 +8924,7 @@ L_089AF5D4: goto L_089AF5E4; } L_089AF5E4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -8932,7 +8933,7 @@ L_089AF5E4: goto L_089AF5F0; } L_089AF5F0: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(614)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(614)))))); aot_gpr_4 = (aot_gpr_4 & 8u); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -8942,7 +8943,7 @@ L_089AF5F0: goto L_089AF600; } L_089AF600: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(614)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(614)))))); aot_gpr_4 = (aot_gpr_4 & 2u); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -8955,18 +8956,18 @@ L_089AF610: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-13368))); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x089AF620u); - ctx.gpr[6] = (0u | 64u); + aot_gpr_6 = (0u | 64u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 110u, 0x089A8C9Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AF620u) goto L_089AF620; AOT_REGCACHE_SYNC_OUT(); return; L_089AF620: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); goto L_089AF624; L_089AF624: aot_gpr_4 = (aot_gpr_29 | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[6] = (0u | 10u); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_6 = (0u | 10u); aot_gpr_31 = (0x089AF638u); - ctx.gpr[7] = (aot_gpr_16 | 0u); + ctx.gpr[7] = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0107_entry, 107u, 395u, 0x089B16E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AF638u) goto L_089AF638; AOT_REGCACHE_SYNC_OUT(); return; L_089AF638: @@ -8985,10 +8986,10 @@ L_089AF638: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (aot_gpr_29 | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[6] = (0u | 8u); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_6 = (0u | 8u); aot_gpr_31 = (0x089AF658u); - ctx.gpr[7] = (aot_gpr_16 | 0u); + ctx.gpr[7] = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0107_entry, 107u, 395u, 0x089B16E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AF658u) goto L_089AF658; AOT_REGCACHE_SYNC_OUT(); return; L_089AF658: @@ -9007,7 +9008,7 @@ L_089AF658: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); - aot_gpr_4 = (aot_gpr_16 + static_cast(48)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(48)); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), std::bit_cast(aot_fpr_12)); @@ -9037,20 +9038,20 @@ L_089AF658: goto L_089AF6C8; } L_089AF6C8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(92))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(92))); aot_gpr_5 = (0u | 10u); aot_gpr_4 = (aot_gpr_4 + static_cast(352)); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - aot_gpr_4 = (aot_gpr_17 + ctx.gpr[6]); + aot_gpr_4 = (ctx.gpr[17] + aot_gpr_6); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x089AF6E8u); - ctx.gpr[6] = (ctx.gpr[19] | 0u); + aot_gpr_6 = (ctx.gpr[19] | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AF6E8u) goto L_089AF6E8; AOT_REGCACHE_SYNC_OUT(); return; L_089AF6E8: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089AF70C; @@ -9059,7 +9060,7 @@ L_089AF6E8: } L_089AF6F0: aot_gpr_4 = (0u | 10u); - aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(2274), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store16(ctx.gpr[16] + static_cast(2274), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_gpr_29 + static_cast(16)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; @@ -9082,20 +9083,20 @@ L_089AF6F0: goto L_089AF70C; } L_089AF70C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(92))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(92))); aot_gpr_5 = (0u | 8u); aot_gpr_4 = (aot_gpr_4 + static_cast(352)); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - aot_gpr_4 = (aot_gpr_17 + ctx.gpr[6]); + aot_gpr_4 = (ctx.gpr[17] + aot_gpr_6); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x089AF72Cu); - ctx.gpr[6] = (ctx.gpr[19] | 0u); + aot_gpr_6 = (ctx.gpr[19] | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AF72Cu) goto L_089AF72C; AOT_REGCACHE_SYNC_OUT(); return; L_089AF72C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089AF8FC; @@ -9104,7 +9105,7 @@ L_089AF72C: } L_089AF734: aot_gpr_4 = (0u | 8u); - aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(2274), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store16(ctx.gpr[16] + static_cast(2274), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_gpr_29 + static_cast(32)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; @@ -9127,20 +9128,20 @@ L_089AF734: goto L_089AF750; } L_089AF750: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(92))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(92))); aot_gpr_5 = (0u | 8u); aot_gpr_4 = (aot_gpr_4 + static_cast(352)); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - aot_gpr_4 = (aot_gpr_17 + ctx.gpr[6]); + aot_gpr_4 = (ctx.gpr[17] + aot_gpr_6); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x089AF770u); - ctx.gpr[6] = (ctx.gpr[19] | 0u); + aot_gpr_6 = (ctx.gpr[19] | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AF770u) goto L_089AF770; AOT_REGCACHE_SYNC_OUT(); return; L_089AF770: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089AF8C0; @@ -9148,13 +9149,13 @@ L_089AF770: goto L_089AF778; } L_089AF778: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089AF784u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AF784u) goto L_089AF784; AOT_REGCACHE_SYNC_OUT(); return; L_089AF784: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089AF850; @@ -9162,7 +9163,7 @@ L_089AF784: goto L_089AF78C; } L_089AF78C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(852))); aot_gpr_5 = (0u | 6u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -9172,7 +9173,7 @@ L_089AF78C: goto L_089AF79C; } L_089AF79C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(852))); aot_gpr_5 = (0u | 8u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -9182,10 +9183,10 @@ L_089AF79C: goto L_089AF7AC; } L_089AF7AC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(852))); aot_gpr_5 = (0u | 2u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (branch_taken) { goto L_089AF850; } @@ -9197,9 +9198,9 @@ L_089AF7BC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AF7C4u) goto L_089AF7C4; AOT_REGCACHE_SYNC_OUT(); return; L_089AF7C4: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(676))); - { const bool branch_taken = aot_gpr_4 == aot_gpr_16; - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(676))); + { const bool branch_taken = aot_gpr_4 == ctx.gpr[16]; + aot_gpr_4 = (ctx.gpr[17] | 0u); if (branch_taken) { goto L_089AF80C; } @@ -9211,16 +9212,16 @@ L_089AF7D0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AF7D8u) goto L_089AF7D8; AOT_REGCACHE_SYNC_OUT(); return; L_089AF7D8: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(460))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(460))); aot_gpr_5 = (4u << 16u); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(92))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(92))); goto L_089AF810; } goto L_089AF7EC; L_089AF7EC: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(612))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(612))); aot_gpr_5 = (0u | 2u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -9230,7 +9231,7 @@ L_089AF7EC: goto L_089AF7FC; } L_089AF7FC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2196))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2196))); aot_gpr_5 = (0u | 18u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -9240,22 +9241,22 @@ L_089AF7FC: goto L_089AF80C; } L_089AF80C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(92))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(92))); goto L_089AF810; L_089AF810: aot_gpr_5 = (0u | 10u); aot_gpr_4 = (aot_gpr_4 + static_cast(352)); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - aot_gpr_4 = (aot_gpr_17 + ctx.gpr[6]); + aot_gpr_4 = (ctx.gpr[17] + aot_gpr_6); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x089AF82Cu); - ctx.gpr[6] = (ctx.gpr[19] | 0u); + aot_gpr_6 = (ctx.gpr[19] | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AF82Cu) goto L_089AF82C; AOT_REGCACHE_SYNC_OUT(); return; L_089AF82C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089AF850; @@ -9264,7 +9265,7 @@ L_089AF82C: } L_089AF834: aot_gpr_4 = (0u | 10u); - aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(2274), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store16(ctx.gpr[16] + static_cast(2274), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_gpr_29 + static_cast(16)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; @@ -9287,7 +9288,7 @@ L_089AF834: goto L_089AF850; } L_089AF850: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(563))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(563))); aot_gpr_4 = (aot_gpr_4 & 4u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -9297,20 +9298,20 @@ L_089AF850: goto L_089AF860; } L_089AF860: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(92))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(92))); aot_gpr_5 = (0u | 10u); aot_gpr_4 = (aot_gpr_4 + static_cast(352)); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - aot_gpr_4 = (aot_gpr_17 + ctx.gpr[6]); + aot_gpr_4 = (ctx.gpr[17] + aot_gpr_6); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x089AF880u); - ctx.gpr[6] = (ctx.gpr[19] | 0u); + aot_gpr_6 = (ctx.gpr[19] | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AF880u) goto L_089AF880; AOT_REGCACHE_SYNC_OUT(); return; L_089AF880: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089AF8A4; @@ -9319,7 +9320,7 @@ L_089AF880: } L_089AF888: aot_gpr_4 = (0u | 10u); - aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(2274), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store16(ctx.gpr[16] + static_cast(2274), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_gpr_29 + static_cast(16)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; @@ -9343,7 +9344,7 @@ L_089AF888: } L_089AF8A4: aot_gpr_4 = (0u | 8u); - aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(2274), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store16(ctx.gpr[16] + static_cast(2274), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_gpr_29 + static_cast(32)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; @@ -9366,20 +9367,20 @@ L_089AF8A4: goto L_089AF8C0; } L_089AF8C0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(92))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(92))); aot_gpr_5 = (0u | 10u); aot_gpr_4 = (aot_gpr_4 + static_cast(352)); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - aot_gpr_4 = (aot_gpr_17 + ctx.gpr[6]); + aot_gpr_4 = (ctx.gpr[17] + aot_gpr_6); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x089AF8E0u); - ctx.gpr[6] = (ctx.gpr[19] | 0u); + aot_gpr_6 = (ctx.gpr[19] | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AF8E0u) goto L_089AF8E0; AOT_REGCACHE_SYNC_OUT(); return; L_089AF8E0: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089AF8FC; @@ -9388,7 +9389,7 @@ L_089AF8E0: } L_089AF8E8: aot_gpr_4 = (0u | 10u); - aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(2274), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store16(ctx.gpr[16] + static_cast(2274), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_gpr_29 + static_cast(16)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; @@ -9408,8 +9409,8 @@ L_089AF8FC: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(112), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); - aot_gpr_16 = aot_run_words[1]; - aot_gpr_17 = aot_run_words[2]; + ctx.gpr[16] = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; ctx.gpr[19] = aot_run_words[4]; aot_gpr_31 = aot_run_words[5]; @@ -9426,17 +9427,17 @@ L_089AF91C: ctx.gpr[18] = (aot_gpr_4 | 0u); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(86)))))); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(212), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(212), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(220), ctx.gpr[19]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(224), ctx.gpr[20]); ctx.gpr[20] = (0u | 0u); ctx.gpr[19] = (0u | 0u); ctx.gpr[7] = (static_cast(aot_gpr_4) < static_cast(ctx.gpr[7]) ? 1u : 0u); - aot_gpr_17 = (aot_gpr_5 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(208), aot_gpr_16); + ctx.gpr[17] = (aot_gpr_5 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(208), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(228), aot_gpr_31); { const bool branch_taken = ctx.gpr[7] == 0u; - aot_gpr_16 = (ctx.gpr[6] | 0u); + ctx.gpr[16] = (aot_gpr_6 | 0u); if (branch_taken) { goto L_089AF96C; } @@ -9449,7 +9450,7 @@ L_089AF95C: ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); goto L_089AF96C; L_089AF96C: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(86)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(86)))))); aot_gpr_5 = (0u | 246u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; aot_gpr_5 = (0u | 194u); @@ -9487,8 +9488,8 @@ L_089AF994: aot_mem.aot_direct_store16(ctx.gpr[18] + static_cast(2274), static_cast(aot_gpr_4)); ctx.gpr[19] = (aot_gpr_29 + static_cast(96)); aot_gpr_4 = (ctx.gpr[19] | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[6] = (0u | 8u); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_6 = (0u | 8u); aot_gpr_31 = (0x089AF9B4u); ctx.gpr[7] = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0107_entry, 107u, 395u, 0x089B16E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AF9B4u) goto L_089AF9B4; @@ -9504,11 +9505,11 @@ L_089AF9B4: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_089AFEDC; } @@ -9527,7 +9528,7 @@ L_089AF9CC: aot_gpr_5 = (1u << 16u); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (branch_taken) { goto L_089AFA58; } @@ -9539,7 +9540,7 @@ L_089AF9E0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AF9E8u) goto L_089AF9E8; AOT_REGCACHE_SYNC_OUT(); return; L_089AF9E8: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_089AFA58; @@ -9547,7 +9548,7 @@ L_089AF9E8: goto L_089AF9F0; } L_089AF9F0: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(563))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(563))); aot_gpr_4 = (aot_gpr_4 & 4u); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -9557,20 +9558,20 @@ L_089AF9F0: goto L_089AFA00; } L_089AFA00: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(92))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(92))); aot_gpr_5 = (0u | 8u); aot_gpr_4 = (aot_gpr_4 + static_cast(352)); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - aot_gpr_4 = (aot_gpr_17 + ctx.gpr[6]); + aot_gpr_4 = (ctx.gpr[17] + aot_gpr_6); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x089AFA20u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AFA20u) goto L_089AFA20; AOT_REGCACHE_SYNC_OUT(); return; L_089AFA20: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089AFA58; @@ -9582,8 +9583,8 @@ L_089AFA28: aot_mem.aot_direct_store16(ctx.gpr[18] + static_cast(2274), static_cast(aot_gpr_4)); ctx.gpr[19] = (aot_gpr_29 + static_cast(112)); aot_gpr_4 = (ctx.gpr[19] | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[6] = (0u | 8u); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_6 = (0u | 8u); aot_gpr_31 = (0x089AFA48u); ctx.gpr[7] = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0107_entry, 107u, 395u, 0x089B16E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AFA48u) goto L_089AFA48; @@ -9599,11 +9600,11 @@ L_089AFA48: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_089AFEDC; } @@ -9611,7 +9612,7 @@ L_089AFA48: } L_089AFA58: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_089AFEDC; } @@ -9625,12 +9626,12 @@ L_089AFA60: { const std::uint32_t aot_run_words[6]{std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_12)}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(64), aot_run_words); } aot_gpr_31 = (0x089AFA90u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AFA90u) goto L_089AFA90; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B01E00, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AFA90u) goto L_089AFA90; AOT_REGCACHE_SYNC_OUT(); return; L_089AFA90: aot_gpr_4 = (0u | 2u); - { const bool branch_taken = ctx.gpr[2] != aot_gpr_4; + { const bool branch_taken = aot_gpr_2 != aot_gpr_4; // nop if (branch_taken) { goto L_089AFBD4; @@ -9638,13 +9639,13 @@ L_089AFA90: goto L_089AFA9C; } L_089AFA9C: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089AFAA8u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AFAA8u) goto L_089AFAA8; AOT_REGCACHE_SYNC_OUT(); return; L_089AFAA8: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_089AFB34; @@ -9652,7 +9653,7 @@ L_089AFAA8: goto L_089AFAB0; } L_089AFAB0: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(563))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(563))); aot_gpr_4 = (aot_gpr_4 & 2u); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -9662,20 +9663,20 @@ L_089AFAB0: goto L_089AFAC0; } L_089AFAC0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(92))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(92))); aot_gpr_5 = (0u | 11u); aot_gpr_4 = (aot_gpr_4 + static_cast(352)); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - aot_gpr_4 = (aot_gpr_17 + ctx.gpr[6]); + aot_gpr_4 = (ctx.gpr[17] + aot_gpr_6); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x089AFAE0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AFAE0u) goto L_089AFAE0; AOT_REGCACHE_SYNC_OUT(); return; L_089AFAE0: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089AFB34; @@ -9685,8 +9686,8 @@ L_089AFAE0: L_089AFAE8: ctx.gpr[20] = (aot_gpr_29 + static_cast(128)); aot_gpr_4 = (ctx.gpr[20] | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[6] = (0u | 11u); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_6 = (0u | 11u); aot_gpr_31 = (0x089AFB00u); ctx.gpr[7] = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0107_entry, 107u, 395u, 0x089B16E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AFB00u) goto L_089AFB00; @@ -9718,13 +9719,13 @@ L_089AFB00: ctx.gpr[20] = (0u | 1u); goto L_089AFB34; L_089AFB34: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089AFB40u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AFB40u) goto L_089AFB40; AOT_REGCACHE_SYNC_OUT(); return; L_089AFB40: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_089AFC98; @@ -9732,7 +9733,7 @@ L_089AFB40: goto L_089AFB48; } L_089AFB48: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(563))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(563))); aot_gpr_4 = (aot_gpr_4 & 8u); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -9742,20 +9743,20 @@ L_089AFB48: goto L_089AFB58; } L_089AFB58: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(92))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(92))); aot_gpr_5 = (0u | 9u); aot_gpr_4 = (aot_gpr_4 + static_cast(352)); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - aot_gpr_4 = (aot_gpr_17 + ctx.gpr[6]); + aot_gpr_4 = (ctx.gpr[17] + aot_gpr_6); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x089AFB78u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AFB78u) goto L_089AFB78; AOT_REGCACHE_SYNC_OUT(); return; L_089AFB78: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089AFC98; @@ -9765,8 +9766,8 @@ L_089AFB78: L_089AFB80: ctx.gpr[20] = (aot_gpr_29 + static_cast(144)); aot_gpr_4 = (ctx.gpr[20] | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[6] = (0u | 9u); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_6 = (0u | 9u); aot_gpr_31 = (0x089AFB98u); ctx.gpr[7] = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0107_entry, 107u, 395u, 0x089B16E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AFB98u) goto L_089AFB98; @@ -9808,7 +9809,7 @@ L_089AFBD4: aot_gpr_5 = (1u << 16u); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (branch_taken) { goto L_089AFC98; } @@ -9820,7 +9821,7 @@ L_089AFBE8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AFBF0u) goto L_089AFBF0; AOT_REGCACHE_SYNC_OUT(); return; L_089AFBF0: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_089AFC98; @@ -9828,7 +9829,7 @@ L_089AFBF0: goto L_089AFBF8; } L_089AFBF8: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(563))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(563))); aot_gpr_4 = (aot_gpr_4 & 4u); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -9838,20 +9839,20 @@ L_089AFBF8: goto L_089AFC08; } L_089AFC08: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(92))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(92))); aot_gpr_5 = (0u | 8u); aot_gpr_4 = (aot_gpr_4 + static_cast(352)); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - aot_gpr_4 = (aot_gpr_17 + ctx.gpr[6]); + aot_gpr_4 = (ctx.gpr[17] + aot_gpr_6); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x089AFC28u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AFC28u) goto L_089AFC28; AOT_REGCACHE_SYNC_OUT(); return; L_089AFC28: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089AFC98; @@ -9859,7 +9860,7 @@ L_089AFC28: goto L_089AFC30; } L_089AFC30: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(352))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(352))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(208))); aot_gpr_4 = (aot_gpr_4 & 16384u); aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); @@ -9874,8 +9875,8 @@ L_089AFC30: L_089AFC4C: ctx.gpr[20] = (aot_gpr_29 + static_cast(160)); aot_gpr_4 = (ctx.gpr[20] | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[6] = (0u | 8u); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_6 = (0u | 8u); aot_gpr_31 = (0x089AFC64u); ctx.gpr[7] = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0107_entry, 107u, 395u, 0x089B16E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AFC64u) goto L_089AFC64; @@ -9928,13 +9929,13 @@ L_089AFCAC: goto L_089AFCBC; } L_089AFCBC: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089AFCC8u); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AFCC8u) goto L_089AFCC8; AOT_REGCACHE_SYNC_OUT(); return; L_089AFCC8: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_089AFD54; @@ -9942,7 +9943,7 @@ L_089AFCC8: goto L_089AFCD0; } L_089AFCD0: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(563))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(563))); aot_gpr_4 = (aot_gpr_4 & 2u); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -9952,20 +9953,20 @@ L_089AFCD0: goto L_089AFCE0; } L_089AFCE0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(92))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(92))); aot_gpr_5 = (0u | 11u); aot_gpr_4 = (aot_gpr_4 + static_cast(352)); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - aot_gpr_4 = (aot_gpr_17 + ctx.gpr[6]); + aot_gpr_4 = (ctx.gpr[17] + aot_gpr_6); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x089AFD00u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AFD00u) goto L_089AFD00; AOT_REGCACHE_SYNC_OUT(); return; L_089AFD00: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089AFD54; @@ -9975,8 +9976,8 @@ L_089AFD00: L_089AFD08: ctx.gpr[19] = (aot_gpr_29 + static_cast(176)); aot_gpr_4 = (ctx.gpr[19] | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[6] = (0u | 11u); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_6 = (0u | 11u); aot_gpr_31 = (0x089AFD20u); ctx.gpr[7] = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0107_entry, 107u, 395u, 0x089B16E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AFD20u) goto L_089AFD20; @@ -10008,13 +10009,13 @@ L_089AFD20: ctx.gpr[20] = (0u | 1u); goto L_089AFD54; L_089AFD54: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089AFD60u); aot_gpr_5 = (0u | 2u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AFD60u) goto L_089AFD60; AOT_REGCACHE_SYNC_OUT(); return; L_089AFD60: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_089AFDEC; @@ -10022,7 +10023,7 @@ L_089AFD60: goto L_089AFD68; } L_089AFD68: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(563))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(563))); aot_gpr_4 = (aot_gpr_4 & 8u); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -10032,20 +10033,20 @@ L_089AFD68: goto L_089AFD78; } L_089AFD78: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(92))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(92))); aot_gpr_5 = (0u | 9u); aot_gpr_4 = (aot_gpr_4 + static_cast(352)); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - aot_gpr_4 = (aot_gpr_17 + ctx.gpr[6]); + aot_gpr_4 = (ctx.gpr[17] + aot_gpr_6); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x089AFD98u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AFD98u) goto L_089AFD98; AOT_REGCACHE_SYNC_OUT(); return; L_089AFD98: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089AFDEC; @@ -10055,8 +10056,8 @@ L_089AFD98: L_089AFDA0: ctx.gpr[19] = (aot_gpr_29 + static_cast(192)); aot_gpr_4 = (ctx.gpr[19] | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[6] = (0u | 9u); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_6 = (0u | 9u); aot_gpr_31 = (0x089AFDB8u); ctx.gpr[7] = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0107_entry, 107u, 395u, 0x089B16E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AFDB8u) goto L_089AFDB8; @@ -10097,7 +10098,7 @@ L_089AFDEC: } L_089AFDF4: aot_gpr_31 = (0x089AFDFCu); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0192_entry, 192u, 400u, 0x08B05DC8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AFDFCu) goto L_089AFDFC; AOT_REGCACHE_SYNC_OUT(); return; L_089AFDFC: @@ -10116,7 +10117,7 @@ L_089AFDFC: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (0u | 8u); @@ -10156,7 +10157,7 @@ L_089AFE58: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(80))); @@ -10198,18 +10199,18 @@ L_089AFEB4: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } goto L_089AFED8; L_089AFED8: - ctx.gpr[2] = (ctx.gpr[20] | 0u); + aot_gpr_2 = (ctx.gpr[20] | 0u); goto L_089AFEDC; L_089AFEDC: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(208), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -10224,11 +10225,11 @@ L_089AFEDC: L_089AFEFC: aot_gpr_29 = (aot_gpr_29 + static_cast(-592)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(548), std::bit_cast(ctx.fpr[22])); - { const std::uint32_t aot_run_words[5]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20]}; + { const std::uint32_t aot_run_words[5]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(556), aot_run_words); } ctx.fpr[22] = std::bit_cast(0u); - aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_17 = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); + ctx.gpr[17] = (aot_gpr_5 | 0u); ctx.gpr[18] = (0u | 0u); ctx.gpr[19] = (0u | 0u); ctx.gpr[20] = (0u | 0u); @@ -10238,10 +10239,10 @@ L_089AFEFC: aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(576), aot_run_words); } aot_gpr_31 = (0x089AFF50u); ctx.gpr[21] = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AFF50u) goto L_089AFF50; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AFF50u) goto L_089AFF50; AOT_REGCACHE_SYNC_OUT(); return; L_089AFF50: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0107_entry, 107u, 7u, 0x089B0074u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; @@ -10250,11 +10251,11 @@ L_089AFF50: } L_089AFF58: aot_gpr_31 = (0x089AFF60u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AFF60u) goto L_089AFF60; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089AFF60u) goto L_089AFF60; AOT_REGCACHE_SYNC_OUT(); return; L_089AFF60: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(48)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(48)))))); aot_gpr_5 = (0u | 412u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -10264,11 +10265,11 @@ L_089AFF60: goto L_089AFF70; } L_089AFF70: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1152))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1152))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(86)))))); - ctx.gpr[6] = (static_cast(aot_gpr_4) < static_cast(ctx.gpr[6]) ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_6 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_6) ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_5 = (0u | 0u); if (branch_taken) { goto L_089AFF98; @@ -10283,8 +10284,8 @@ L_089AFF88: goto L_089AFF98; L_089AFF98: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(84))); - ctx.gpr[6] = (0u | 1u); - if (aot_gpr_4 != ctx.gpr[6]) { + aot_gpr_6 = (0u | 1u); + if (aot_gpr_4 != aot_gpr_6) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(84))); goto L_089AFFB0; } @@ -10298,8 +10299,8 @@ L_089AFFA8: goto L_089AFFB0; } L_089AFFB0: - ctx.gpr[6] = (0u | 2u); - if (aot_gpr_4 != ctx.gpr[6]) { + aot_gpr_6 = (0u | 2u); + if (aot_gpr_4 != aot_gpr_6) { aot_gpr_5 = (aot_gpr_5 + static_cast(160)); goto L_089AFFC4; } @@ -10330,7 +10331,7 @@ L_089AFFC4: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(48))); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), std::bit_cast(aot_fpr_12)); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1152))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1152))); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); diff --git a/profiles/vcs/generated/generated_unit_0107.cpp b/profiles/vcs/generated/generated_unit_0107.cpp index 5f13551..2ebb3e2 100644 --- a/profiles/vcs/generated/generated_unit_0107.cpp +++ b/profiles/vcs/generated/generated_unit_0107.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0107[4092] = { }; void recomp_unit_0107_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,31,16,17 fprs=12,13,14,20 gpr_occ=3761 fpr_occ=848 gpr_total=4749 fpr_total=959 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,31,5,2,29,16 fprs=12,13,14,20 gpr_occ=4020 fpr_occ=848 gpr_total=5136 fpr_total=959 std::uint32_t aot_gpr_4 = ctx.gpr[4]; - std::uint32_t aot_gpr_5 = ctx.gpr[5]; - std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; + std::uint32_t aot_gpr_5 = ctx.gpr[5]; + std::uint32_t aot_gpr_2 = ctx.gpr[2]; + std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_16 = ctx.gpr[16]; - std::uint32_t aot_gpr_17 = ctx.gpr[17]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_14 = ctx.fpr[14]; float aot_fpr_20 = ctx.fpr[20]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[31] = aot_gpr_31; ctx.gpr[16] = aot_gpr_16; ctx.gpr[17] = aot_gpr_17; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[20] = aot_fpr_20; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_17 = ctx.gpr[17]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_20 = ctx.fpr[20]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[31] = aot_gpr_31; ctx.gpr[5] = aot_gpr_5; ctx.gpr[2] = aot_gpr_2; ctx.gpr[29] = aot_gpr_29; ctx.gpr[16] = aot_gpr_16; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[20] = aot_fpr_20; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_2 = ctx.gpr[2]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_16 = ctx.gpr[16]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_20 = ctx.fpr[20]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -1290,7 +1291,7 @@ L_089B0074: goto L_089B0088; } L_089B0088: - { const bool branch_taken = aot_gpr_17 == aot_gpr_4; + { const bool branch_taken = ctx.gpr[17] == aot_gpr_4; // nop if (branch_taken) { goto L_089B01DC; @@ -1356,7 +1357,7 @@ L_089B00E4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B00F4u) goto L_089B00F4; AOT_REGCACHE_SYNC_OUT(); return; L_089B00F4: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -1372,7 +1373,7 @@ L_089B0100: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B0110u) goto L_089B0110; AOT_REGCACHE_SYNC_OUT(); return; L_089B0110: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); goto L_089B0114; L_089B0114: { const bool branch_taken = aot_gpr_4 == 0u; @@ -1403,7 +1404,7 @@ L_089B012C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B013Cu) goto L_089B013C; AOT_REGCACHE_SYNC_OUT(); return; L_089B013C: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_089B01BC; @@ -1418,7 +1419,7 @@ L_089B0144: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B0154u) goto L_089B0154; AOT_REGCACHE_SYNC_OUT(); return; L_089B0154: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_089B01AC; @@ -1433,7 +1434,7 @@ L_089B015C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B016Cu) goto L_089B016C; AOT_REGCACHE_SYNC_OUT(); return; L_089B016C: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_089B019C; @@ -1448,7 +1449,7 @@ L_089B0174: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B0184u) goto L_089B0184; AOT_REGCACHE_SYNC_OUT(); return; L_089B0184: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089B01CC; @@ -1515,7 +1516,7 @@ L_089B01CC: goto L_089B01DC; L_089B01DC: aot_gpr_4 = (0u | 3u); - { const bool branch_taken = aot_gpr_17 != aot_gpr_4; + { const bool branch_taken = ctx.gpr[17] != aot_gpr_4; // nop if (branch_taken) { goto L_089B03B0; @@ -1550,10 +1551,10 @@ L_089B01F0: L_089B0208: aot_gpr_31 = (0x089B0210u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B0210u) goto L_089B0210; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B0210u) goto L_089B0210; AOT_REGCACHE_SYNC_OUT(); return; L_089B0210: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089B026C; @@ -1563,10 +1564,10 @@ L_089B0210: L_089B0218: aot_gpr_31 = (0x089B0220u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B0220u) goto L_089B0220; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B0220u) goto L_089B0220; AOT_REGCACHE_SYNC_OUT(); return; L_089B0220: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(48)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(48)))))); aot_gpr_5 = (0u | 130u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -1578,10 +1579,10 @@ L_089B0220: L_089B0230: aot_gpr_31 = (0x089B0238u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B0238u) goto L_089B0238; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B0238u) goto L_089B0238; AOT_REGCACHE_SYNC_OUT(); return; L_089B0238: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(48)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(48)))))); aot_gpr_5 = (0u | 131u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -1610,10 +1611,10 @@ L_089B0264: L_089B026C: aot_gpr_31 = (0x089B0274u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B0274u) goto L_089B0274; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B0274u) goto L_089B0274; AOT_REGCACHE_SYNC_OUT(); return; L_089B0274: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089B02EC; @@ -1623,10 +1624,10 @@ L_089B0274: L_089B027C: aot_gpr_31 = (0x089B0284u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B0284u) goto L_089B0284; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B0284u) goto L_089B0284; AOT_REGCACHE_SYNC_OUT(); return; L_089B0284: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(48)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(48)))))); aot_gpr_5 = (0u | 197u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -1654,16 +1655,16 @@ L_089B02B0: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x089B02C4u); ctx.fpr[22] = aot_fpr_12 - aot_fpr_20; - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B02C4u) goto L_089B02C4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B02C4u) goto L_089B02C4; AOT_REGCACHE_SYNC_OUT(); return; L_089B02C4: - ctx.fpr[24] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(40))); + ctx.fpr[24] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(40))); aot_gpr_31 = (0x089B02D0u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B02D0u) goto L_089B02D0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B02D0u) goto L_089B02D0; AOT_REGCACHE_SYNC_OUT(); return; L_089B02D0: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(32))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(32))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(32))); aot_fpr_13 = ctx.fpr[24] / aot_fpr_13; { const float fs = ctx.fpr[22]; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } @@ -1678,10 +1679,10 @@ L_089B02D0: L_089B02EC: aot_gpr_31 = (0x089B02F4u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B02F4u) goto L_089B02F4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B02F4u) goto L_089B02F4; AOT_REGCACHE_SYNC_OUT(); return; L_089B02F4: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089B03A8; @@ -1691,10 +1692,10 @@ L_089B02F4: L_089B02FC: aot_gpr_31 = (0x089B0304u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B0304u) goto L_089B0304; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B0304u) goto L_089B0304; AOT_REGCACHE_SYNC_OUT(); return; L_089B0304: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(48)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(48)))))); aot_gpr_5 = (0u | 200u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -1762,10 +1763,10 @@ L_089B0380: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x089B0394u); ctx.fpr[24] = aot_fpr_12 - ctx.fpr[22]; - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B0394u) goto L_089B0394; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B0394u) goto L_089B0394; AOT_REGCACHE_SYNC_OUT(); return; L_089B0394: - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(40))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(40))); aot_fpr_13 = aot_fpr_13 / aot_fpr_20; { const float fs = ctx.fpr[24]; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_fpr_13 = ctx.fpr[22] + aot_fpr_13; @@ -1780,7 +1781,7 @@ L_089B03A8: goto L_089B03B0; } L_089B03B0: - { const bool branch_taken = aot_gpr_17 != 0u; + { const bool branch_taken = ctx.gpr[17] != 0u; // nop if (branch_taken) { goto L_089B03D4; @@ -1961,7 +1962,7 @@ L_089B04E0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B04F0u) goto L_089B04F0; AOT_REGCACHE_SYNC_OUT(); return; L_089B04F0: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089B0544; @@ -2251,10 +2252,10 @@ L_089B06D0: L_089B06D4: aot_gpr_31 = (0x089B06DCu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B06DCu) goto L_089B06DC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B06DCu) goto L_089B06DC; AOT_REGCACHE_SYNC_OUT(); return; L_089B06DC: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089B0A84; @@ -2264,10 +2265,10 @@ L_089B06DC: L_089B06E4: aot_gpr_31 = (0x089B06ECu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B06ECu) goto L_089B06EC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B06ECu) goto L_089B06EC; AOT_REGCACHE_SYNC_OUT(); return; L_089B06EC: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(48)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(48)))))); aot_gpr_5 = (static_cast(aot_gpr_4) < 187 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_5 = (static_cast(aot_gpr_4) < 200 ? 1u : 0u); @@ -2429,16 +2430,16 @@ L_089B07C0: ctx.gpr[19] = (0u | 1u); aot_gpr_31 = (0x089B07CCu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B07CCu) goto L_089B07CC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B07CCu) goto L_089B07CC; AOT_REGCACHE_SYNC_OUT(); return; L_089B07CC: - ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(40))); + ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(40))); aot_gpr_31 = (0x089B07D8u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B07D8u) goto L_089B07D8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B07D8u) goto L_089B07D8; AOT_REGCACHE_SYNC_OUT(); return; L_089B07D8: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(32))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(32))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(32))); ctx.fpr[22] = ctx.fpr[22] / aot_fpr_12; aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-13360))); @@ -2456,16 +2457,16 @@ L_089B07F8: L_089B0800: aot_gpr_31 = (0x089B0808u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B0808u) goto L_089B0808; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B0808u) goto L_089B0808; AOT_REGCACHE_SYNC_OUT(); return; L_089B0808: - aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(40))); + aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(40))); aot_gpr_31 = (0x089B0814u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B0814u) goto L_089B0814; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B0814u) goto L_089B0814; AOT_REGCACHE_SYNC_OUT(); return; L_089B0814: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(32))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(32))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(32))); aot_fpr_20 = aot_fpr_12 - aot_fpr_20; aot_fpr_20 = aot_fpr_20 / aot_fpr_12; @@ -2479,16 +2480,16 @@ L_089B0814: L_089B082C: aot_gpr_31 = (0x089B0834u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B0834u) goto L_089B0834; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B0834u) goto L_089B0834; AOT_REGCACHE_SYNC_OUT(); return; L_089B0834: - aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(40))); + aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(40))); aot_gpr_31 = (0x089B0840u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B0840u) goto L_089B0840; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B0840u) goto L_089B0840; AOT_REGCACHE_SYNC_OUT(); return; L_089B0840: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(32))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(32))); aot_gpr_5 = (16128u << 16u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(32))); aot_fpr_14 = std::bit_cast(aot_gpr_5); @@ -2514,16 +2515,16 @@ L_089B086C: L_089B0878: aot_gpr_31 = (0x089B0880u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B0880u) goto L_089B0880; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B0880u) goto L_089B0880; AOT_REGCACHE_SYNC_OUT(); return; L_089B0880: - aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(40))); + aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(40))); aot_gpr_31 = (0x089B088Cu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B088Cu) goto L_089B088C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B088Cu) goto L_089B088C; AOT_REGCACHE_SYNC_OUT(); return; L_089B088C: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(32))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(32))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(32))); aot_fpr_20 = aot_fpr_20 / aot_fpr_12; aot_gpr_4 = (16256u << 16u); @@ -2538,16 +2539,16 @@ L_089B088C: L_089B08A8: aot_gpr_31 = (0x089B08B0u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B08B0u) goto L_089B08B0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B08B0u) goto L_089B08B0; AOT_REGCACHE_SYNC_OUT(); return; L_089B08B0: - aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(40))); + aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(40))); aot_gpr_31 = (0x089B08BCu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B08BCu) goto L_089B08BC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B08BCu) goto L_089B08BC; AOT_REGCACHE_SYNC_OUT(); return; L_089B08BC: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(32))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(32))); aot_gpr_5 = (16128u << 16u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(32))); aot_fpr_14 = std::bit_cast(aot_gpr_5); @@ -2575,16 +2576,16 @@ L_089B08E8: L_089B08FC: aot_gpr_31 = (0x089B0904u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B0904u) goto L_089B0904; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B0904u) goto L_089B0904; AOT_REGCACHE_SYNC_OUT(); return; L_089B0904: - aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(40))); + aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(40))); aot_gpr_31 = (0x089B0910u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B0910u) goto L_089B0910; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B0910u) goto L_089B0910; AOT_REGCACHE_SYNC_OUT(); return; L_089B0910: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(32))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(32))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(32))); aot_fpr_20 = aot_fpr_20 / aot_fpr_12; aot_gpr_4 = (16256u << 16u); @@ -2601,16 +2602,16 @@ L_089B092C: aot_fpr_20 = std::bit_cast(0u); aot_gpr_31 = (0x089B093Cu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B093Cu) goto L_089B093C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B093Cu) goto L_089B093C; AOT_REGCACHE_SYNC_OUT(); return; L_089B093C: - ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(40))); + ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(40))); aot_gpr_31 = (0x089B0948u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B0948u) goto L_089B0948; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B0948u) goto L_089B0948; AOT_REGCACHE_SYNC_OUT(); return; L_089B0948: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(32))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(32))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(32))); aot_fpr_12 = ctx.fpr[22] / aot_fpr_12; aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-13356))); @@ -2642,16 +2643,16 @@ L_089B0988: aot_fpr_20 = std::bit_cast(0u); aot_gpr_31 = (0x089B0998u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B0998u) goto L_089B0998; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B0998u) goto L_089B0998; AOT_REGCACHE_SYNC_OUT(); return; L_089B0998: - ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(40))); + ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(40))); aot_gpr_31 = (0x089B09A4u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B09A4u) goto L_089B09A4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B09A4u) goto L_089B09A4; AOT_REGCACHE_SYNC_OUT(); return; L_089B09A4: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(32))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(32))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(32))); aot_fpr_12 = ctx.fpr[22] / aot_fpr_12; aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-13360))); @@ -2673,16 +2674,16 @@ L_089B09C8: L_089B09DC: aot_gpr_31 = (0x089B09E4u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B09E4u) goto L_089B09E4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B09E4u) goto L_089B09E4; AOT_REGCACHE_SYNC_OUT(); return; L_089B09E4: - aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(40))); + aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(40))); aot_gpr_31 = (0x089B09F0u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B09F0u) goto L_089B09F0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B09F0u) goto L_089B09F0; AOT_REGCACHE_SYNC_OUT(); return; L_089B09F0: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(32))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(32))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(32))); aot_fpr_20 = aot_fpr_20 / aot_fpr_12; { const bool branch_taken = 0u == 0u; @@ -2756,7 +2757,7 @@ L_089B0A5C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 195u, 0x08910B38u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B0A64u) goto L_089B0A64; AOT_REGCACHE_SYNC_OUT(); return; L_089B0A64: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089B0A74; @@ -2847,7 +2848,7 @@ L_089B0ADC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 195u, 0x08910B38u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B0AE4u) goto L_089B0AE4; AOT_REGCACHE_SYNC_OUT(); return; L_089B0AE4: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089B0AF4; @@ -2868,7 +2869,7 @@ L_089B0AF4: goto L_089B0AFC; L_089B0AFC: aot_gpr_4 = (0u | 2u); - { const bool branch_taken = aot_gpr_17 != aot_gpr_4; + { const bool branch_taken = ctx.gpr[17] != aot_gpr_4; // nop if (branch_taken) { goto L_089B0B1C; @@ -2976,7 +2977,7 @@ L_089B0B80: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 229u, 0x08B00D78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B0B88u) goto L_089B0B88; AOT_REGCACHE_SYNC_OUT(); return; L_089B0B88: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089B0BA4; @@ -3006,7 +3007,7 @@ L_089B0BB4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 229u, 0x08B00D78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B0BBCu) goto L_089B0BBC; AOT_REGCACHE_SYNC_OUT(); return; L_089B0BBC: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089B0BD8; @@ -3022,7 +3023,7 @@ L_089B0BC4: goto L_089B0BD8; L_089B0BD8: aot_gpr_4 = (0u | 1u); - { const bool branch_taken = aot_gpr_17 == aot_gpr_4; + { const bool branch_taken = ctx.gpr[17] == aot_gpr_4; aot_gpr_4 = (0u | 2u); if (branch_taken) { goto L_089B0BEC; @@ -3030,7 +3031,7 @@ L_089B0BD8: goto L_089B0BE4; } L_089B0BE4: - { const bool branch_taken = aot_gpr_17 != aot_gpr_4; + { const bool branch_taken = ctx.gpr[17] != aot_gpr_4; // nop if (branch_taken) { goto L_089B0CC4; @@ -3262,10 +3263,10 @@ L_089B0D74: L_089B0D7C: aot_gpr_31 = (0x089B0D84u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B0D84u) goto L_089B0D84; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B0D84u) goto L_089B0D84; AOT_REGCACHE_SYNC_OUT(); return; L_089B0D84: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089B0F74; @@ -3275,10 +3276,10 @@ L_089B0D84: L_089B0D8C: aot_gpr_31 = (0x089B0D94u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B0D94u) goto L_089B0D94; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B0D94u) goto L_089B0D94; AOT_REGCACHE_SYNC_OUT(); return; L_089B0D94: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(48)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(48)))))); aot_gpr_5 = (0u | 198u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -3290,10 +3291,10 @@ L_089B0D94: L_089B0DA4: aot_gpr_31 = (0x089B0DACu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B0DACu) goto L_089B0DAC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B0DACu) goto L_089B0DAC; AOT_REGCACHE_SYNC_OUT(); return; L_089B0DAC: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(48)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(48)))))); aot_gpr_5 = (0u | 199u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -3315,10 +3316,10 @@ L_089B0DBC: L_089B0DCC: aot_gpr_31 = (0x089B0DD4u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B0DD4u) goto L_089B0DD4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B0DD4u) goto L_089B0DD4; AOT_REGCACHE_SYNC_OUT(); return; L_089B0DD4: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(48)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(48)))))); aot_gpr_5 = (0u | 208u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -3330,10 +3331,10 @@ L_089B0DD4: L_089B0DE4: aot_gpr_31 = (0x089B0DECu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B0DECu) goto L_089B0DEC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B0DECu) goto L_089B0DEC; AOT_REGCACHE_SYNC_OUT(); return; L_089B0DEC: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(48)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(48)))))); aot_gpr_5 = (0u | 209u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -3345,10 +3346,10 @@ L_089B0DEC: L_089B0DFC: aot_gpr_31 = (0x089B0E04u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B0E04u) goto L_089B0E04; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B0E04u) goto L_089B0E04; AOT_REGCACHE_SYNC_OUT(); return; L_089B0E04: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(48)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(48)))))); aot_gpr_5 = (0u | 212u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -3360,10 +3361,10 @@ L_089B0E04: L_089B0E14: aot_gpr_31 = (0x089B0E1Cu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B0E1Cu) goto L_089B0E1C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B0E1Cu) goto L_089B0E1C; AOT_REGCACHE_SYNC_OUT(); return; L_089B0E1C: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(48)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(48)))))); aot_gpr_5 = (0u | 213u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -3383,10 +3384,10 @@ L_089B0E2C: L_089B0E34: aot_gpr_31 = (0x089B0E3Cu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B0E3Cu) goto L_089B0E3C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B0E3Cu) goto L_089B0E3C; AOT_REGCACHE_SYNC_OUT(); return; L_089B0E3C: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(48)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(48)))))); aot_gpr_5 = (0u | 194u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -3398,10 +3399,10 @@ L_089B0E3C: L_089B0E4C: aot_gpr_31 = (0x089B0E54u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B0E54u) goto L_089B0E54; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B0E54u) goto L_089B0E54; AOT_REGCACHE_SYNC_OUT(); return; L_089B0E54: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(48)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(48)))))); aot_gpr_5 = (0u | 195u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -3415,17 +3416,17 @@ L_089B0E64: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x089B0E74u); ctx.fpr[22] = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B0E74u) goto L_089B0E74; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B0E74u) goto L_089B0E74; AOT_REGCACHE_SYNC_OUT(); return; L_089B0E74: - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(32))); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(32))); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x089B0E84u); ctx.fpr[24] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(32))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B0E84u) goto L_089B0E84; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B0E84u) goto L_089B0E84; AOT_REGCACHE_SYNC_OUT(); return; L_089B0E84: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(40))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(40))); aot_gpr_4 = (16384u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } @@ -3448,10 +3449,10 @@ L_089B0EA8: L_089B0EB0: aot_gpr_31 = (0x089B0EB8u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B0EB8u) goto L_089B0EB8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B0EB8u) goto L_089B0EB8; AOT_REGCACHE_SYNC_OUT(); return; L_089B0EB8: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(48)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(48)))))); aot_gpr_5 = (0u | 196u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -3463,16 +3464,16 @@ L_089B0EB8: L_089B0EC8: aot_gpr_31 = (0x089B0ED0u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B0ED0u) goto L_089B0ED0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B0ED0u) goto L_089B0ED0; AOT_REGCACHE_SYNC_OUT(); return; L_089B0ED0: - ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(40))); + ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(40))); aot_gpr_31 = (0x089B0EDCu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B0EDCu) goto L_089B0EDC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B0EDCu) goto L_089B0EDC; AOT_REGCACHE_SYNC_OUT(); return; L_089B0EDC: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(32))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(32))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(32))); ctx.fpr[22] = ctx.fpr[22] / aot_fpr_12; { const bool branch_taken = 0u == 0u; @@ -3485,10 +3486,10 @@ L_089B0EDC: L_089B0EF0: aot_gpr_31 = (0x089B0EF8u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B0EF8u) goto L_089B0EF8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B0EF8u) goto L_089B0EF8; AOT_REGCACHE_SYNC_OUT(); return; L_089B0EF8: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(48)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(48)))))); aot_gpr_5 = (0u | 187u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -3573,10 +3574,10 @@ L_089B0F7C: L_089B0F98: aot_gpr_31 = (0x089B0FA0u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B0FA0u) goto L_089B0FA0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B0FA0u) goto L_089B0FA0; AOT_REGCACHE_SYNC_OUT(); return; L_089B0FA0: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089B1034; @@ -3586,10 +3587,10 @@ L_089B0FA0: L_089B0FA8: aot_gpr_31 = (0x089B0FB0u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B0FB0u) goto L_089B0FB0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B0FB0u) goto L_089B0FB0; AOT_REGCACHE_SYNC_OUT(); return; L_089B0FB0: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(48)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(48)))))); aot_gpr_5 = (0u | 175u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -3601,10 +3602,10 @@ L_089B0FB0: L_089B0FC0: aot_gpr_31 = (0x089B0FC8u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B0FC8u) goto L_089B0FC8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B0FC8u) goto L_089B0FC8; AOT_REGCACHE_SYNC_OUT(); return; L_089B0FC8: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(48)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(48)))))); aot_gpr_5 = (0u | 176u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -3616,10 +3617,10 @@ L_089B0FC8: L_089B0FD8: aot_gpr_31 = (0x089B0FE0u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B0FE0u) goto L_089B0FE0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B0FE0u) goto L_089B0FE0; AOT_REGCACHE_SYNC_OUT(); return; L_089B0FE0: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(48)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(48)))))); aot_gpr_5 = (0u | 180u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -3631,10 +3632,10 @@ L_089B0FE0: L_089B0FF0: aot_gpr_31 = (0x089B0FF8u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B0FF8u) goto L_089B0FF8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B0FF8u) goto L_089B0FF8; AOT_REGCACHE_SYNC_OUT(); return; L_089B0FF8: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(48)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(48)))))); aot_gpr_5 = (0u | 179u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -3666,10 +3667,10 @@ L_089B102C: L_089B1034: aot_gpr_31 = (0x089B103Cu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B103Cu) goto L_089B103C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B103Cu) goto L_089B103C; AOT_REGCACHE_SYNC_OUT(); return; L_089B103C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089B1298; @@ -3679,10 +3680,10 @@ L_089B103C: L_089B1044: aot_gpr_31 = (0x089B104Cu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B104Cu) goto L_089B104C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B104Cu) goto L_089B104C; AOT_REGCACHE_SYNC_OUT(); return; L_089B104C: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(48)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(48)))))); aot_gpr_5 = (0u | 176u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -3694,10 +3695,10 @@ L_089B104C: L_089B105C: aot_gpr_31 = (0x089B1064u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B1064u) goto L_089B1064; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B1064u) goto L_089B1064; AOT_REGCACHE_SYNC_OUT(); return; L_089B1064: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(48)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(48)))))); aot_gpr_5 = (0u | 180u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -3709,16 +3710,16 @@ L_089B1064: L_089B1074: aot_gpr_31 = (0x089B107Cu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B107Cu) goto L_089B107C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B107Cu) goto L_089B107C; AOT_REGCACHE_SYNC_OUT(); return; L_089B107C: - ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(40))); + ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(40))); aot_gpr_31 = (0x089B1088u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B1088u) goto L_089B1088; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B1088u) goto L_089B1088; AOT_REGCACHE_SYNC_OUT(); return; L_089B1088: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(32))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(32))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(32))); aot_fpr_13 = aot_fpr_12 - ctx.fpr[22]; aot_fpr_12 = aot_fpr_13 / aot_fpr_12; @@ -3735,7 +3736,7 @@ L_089B1088: goto L_089B10B4; } L_089B10B4: - { const bool branch_taken = aot_gpr_17 != 0u; + { const bool branch_taken = ctx.gpr[17] != 0u; // nop if (branch_taken) { goto L_089B1298; @@ -3779,10 +3780,10 @@ L_089B10E0: L_089B10FC: aot_gpr_31 = (0x089B1104u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B1104u) goto L_089B1104; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B1104u) goto L_089B1104; AOT_REGCACHE_SYNC_OUT(); return; L_089B1104: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089B1220; @@ -3792,10 +3793,10 @@ L_089B1104: L_089B110C: aot_gpr_31 = (0x089B1114u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B1114u) goto L_089B1114; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B1114u) goto L_089B1114; AOT_REGCACHE_SYNC_OUT(); return; L_089B1114: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(48)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(48)))))); aot_gpr_5 = (0u | 91u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -3807,10 +3808,10 @@ L_089B1114: L_089B1124: aot_gpr_31 = (0x089B112Cu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B112Cu) goto L_089B112C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B112Cu) goto L_089B112C; AOT_REGCACHE_SYNC_OUT(); return; L_089B112C: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(48)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(48)))))); aot_gpr_5 = (0u | 71u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -3822,10 +3823,10 @@ L_089B112C: L_089B113C: aot_gpr_31 = (0x089B1144u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B1144u) goto L_089B1144; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B1144u) goto L_089B1144; AOT_REGCACHE_SYNC_OUT(); return; L_089B1144: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(48)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(48)))))); aot_gpr_5 = (0u | 92u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -3837,10 +3838,10 @@ L_089B1144: L_089B1154: aot_gpr_31 = (0x089B115Cu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B115Cu) goto L_089B115C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B115Cu) goto L_089B115C; AOT_REGCACHE_SYNC_OUT(); return; L_089B115C: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(48)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(48)))))); aot_gpr_5 = (0u | 72u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -3852,10 +3853,10 @@ L_089B115C: L_089B116C: aot_gpr_31 = (0x089B1174u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B1174u) goto L_089B1174; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B1174u) goto L_089B1174; AOT_REGCACHE_SYNC_OUT(); return; L_089B1174: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(48)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(48)))))); aot_gpr_5 = (0u | 63u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -3867,10 +3868,10 @@ L_089B1174: L_089B1184: aot_gpr_31 = (0x089B118Cu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B118Cu) goto L_089B118C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B118Cu) goto L_089B118C; AOT_REGCACHE_SYNC_OUT(); return; L_089B118C: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(48)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(48)))))); aot_gpr_5 = (0u | 175u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -3882,10 +3883,10 @@ L_089B118C: L_089B119C: aot_gpr_31 = (0x089B11A4u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B11A4u) goto L_089B11A4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B11A4u) goto L_089B11A4; AOT_REGCACHE_SYNC_OUT(); return; L_089B11A4: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(48)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(48)))))); aot_gpr_5 = (0u | 179u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -3897,16 +3898,16 @@ L_089B11A4: L_089B11B4: aot_gpr_31 = (0x089B11BCu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B11BCu) goto L_089B11BC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B11BCu) goto L_089B11BC; AOT_REGCACHE_SYNC_OUT(); return; L_089B11BC: - ctx.fpr[24] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(40))); + ctx.fpr[24] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(40))); aot_gpr_31 = (0x089B11C8u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B11C8u) goto L_089B11C8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B11C8u) goto L_089B11C8; AOT_REGCACHE_SYNC_OUT(); return; L_089B11C8: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(32))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(32))); aot_gpr_5 = (15820u << 16u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(32))); aot_gpr_5 = (aot_gpr_5 | 52429u); @@ -3914,10 +3915,10 @@ L_089B11C8: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x089B11E8u); ctx.fpr[22] = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B11E8u) goto L_089B11E8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B11E8u) goto L_089B11E8; AOT_REGCACHE_SYNC_OUT(); return; L_089B11E8: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(12))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(12))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[22] <= aot_fpr_12)) ? 0x00800000u : 0u); // nop if (!((ctx.fcr31 & 0x00800000u) != 0u)) { @@ -3973,11 +3974,11 @@ L_089B1240: L_089B1250: aot_gpr_31 = (0x089B1258u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1152))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B1258u) goto L_089B1258; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B01E00, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B1258u) goto L_089B1258; AOT_REGCACHE_SYNC_OUT(); return; L_089B1258: aot_gpr_4 = (0u | 2u); - { const bool branch_taken = ctx.gpr[2] != aot_gpr_4; + { const bool branch_taken = aot_gpr_2 != aot_gpr_4; // nop if (branch_taken) { goto L_089B1298; @@ -4282,11 +4283,11 @@ L_089B1458: L_089B1460: aot_gpr_31 = (0x089B1468u); aot_gpr_4 = (ctx.gpr[22] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B1468u) goto L_089B1468; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B01E00, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B1468u) goto L_089B1468; AOT_REGCACHE_SYNC_OUT(); return; L_089B1468: aot_gpr_4 = (0u | 2u); - { const bool branch_taken = ctx.gpr[2] == aot_gpr_4; + { const bool branch_taken = aot_gpr_2 == aot_gpr_4; // nop if (branch_taken) { goto L_089B165C; @@ -4304,8 +4305,8 @@ L_089B1474: goto L_089B1484; } L_089B1484: - aot_gpr_17 = (aot_gpr_29 + static_cast(272)); - aot_gpr_4 = (aot_gpr_17 | 0u); + ctx.gpr[17] = (aot_gpr_29 + static_cast(272)); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089B1494u); aot_gpr_5 = (ctx.gpr[22] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 912u, 0x0885F828u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B1494u) goto L_089B1494; @@ -4335,7 +4336,7 @@ L_089B14B4: const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -4344,7 +4345,7 @@ L_089B14B4: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<4u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(16); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(16); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -4353,7 +4354,7 @@ L_089B14B4: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<5u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(32); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(32); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -4643,7 +4644,7 @@ L_089B16AC: ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); aot_gpr_16 = aot_run_words[3]; - aot_gpr_17 = aot_run_words[4]; + ctx.gpr[17] = aot_run_words[4]; ctx.gpr[18] = aot_run_words[5]; ctx.gpr[19] = aot_run_words[6]; ctx.gpr[20] = aot_run_words[7]; @@ -4664,12 +4665,12 @@ L_089B16E4: aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(86)))))); ctx.gpr[8] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(216), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(216), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(220), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(228), ctx.gpr[20]); ctx.gpr[20] = (0u | 0u); ctx.gpr[8] = (static_cast(aot_gpr_4) < static_cast(ctx.gpr[8]) ? 1u : 0u); - aot_gpr_17 = (aot_gpr_5 | 0u); + ctx.gpr[17] = (aot_gpr_5 | 0u); ctx.gpr[18] = (ctx.gpr[6] | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(208), std::bit_cast(aot_fpr_20)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(224), ctx.gpr[19]); @@ -4690,12 +4691,12 @@ L_089B1730: goto L_089B1740; L_089B1740: aot_gpr_31 = (0x089B1748u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B1748u) goto L_089B1748; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B01E00, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B1748u) goto L_089B1748; AOT_REGCACHE_SYNC_OUT(); return; L_089B1748: aot_gpr_4 = (0u | 2u); - { const bool branch_taken = ctx.gpr[2] == aot_gpr_4; + { const bool branch_taken = aot_gpr_2 == aot_gpr_4; // nop if (branch_taken) { goto L_089B1764; @@ -4703,7 +4704,7 @@ L_089B1748: goto L_089B1754; } L_089B1754: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(852))); aot_gpr_5 = (0u | 2u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -4729,7 +4730,7 @@ L_089B1770: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 110u, 0x089A8C9Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B1780u) goto L_089B1780; AOT_REGCACHE_SYNC_OUT(); return; L_089B1780: - { const std::uint32_t vfpu_address = ctx.gpr[2] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_2 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -4840,7 +4841,7 @@ L_089B17D4: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (ctx.gpr[18] | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089B1804u); ctx.gpr[6] = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 76u, 0x089A8A60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B1804u) goto L_089B1804; @@ -4868,19 +4869,19 @@ L_089B1804: } L_089B1814: ctx.gpr[21] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-13368))); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(92))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(92))); aot_gpr_5 = (aot_gpr_4 + static_cast(376)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); jump_target = aot_gpr_5; aot_gpr_31 = (0x089B1830u); - aot_gpr_4 = (aot_gpr_17 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[17] + aot_gpr_4); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B1830u) goto L_089B1830; AOT_REGCACHE_SYNC_OUT(); return; L_089B1830: - ctx.gpr[22] = (ctx.gpr[2] | 0u); - aot_gpr_4 = (aot_gpr_17 | 0u); + ctx.gpr[22] = (aot_gpr_2 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089B1840u); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0149_entry, 149u, 294u, 0x08A59500u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B1840u) goto L_089B1840; @@ -4889,11 +4890,11 @@ L_089B1840: aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_5 = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x089B1850u); - ctx.gpr[6] = (ctx.gpr[2] | 0u); + ctx.gpr[6] = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 110u, 0x089A8C9Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B1850u) goto L_089B1850; AOT_REGCACHE_SYNC_OUT(); return; L_089B1850: - { const std::uint32_t vfpu_address = ctx.gpr[2] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_2 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -5051,7 +5052,7 @@ L_089B18E4: const std::uint32_t vfpu_address = ctx.gpr[7] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089B190Cu); aot_gpr_5 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 419u, 0x08B01804u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B190Cu) goto L_089B190C; @@ -5065,7 +5066,7 @@ L_089B190C: goto L_089B1914; } L_089B1914: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(614)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(614)))))); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_4 = (0u | 11u); @@ -5099,7 +5100,7 @@ L_089B1934: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 110u, 0x089A8C9Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B1948u) goto L_089B1948; AOT_REGCACHE_SYNC_OUT(); return; L_089B1948: - { const std::uint32_t vfpu_address = ctx.gpr[2] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_2 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -5121,8 +5122,8 @@ L_089B1948: goto L_089B195C; } L_089B195C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(352))); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(614)))))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(352))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(614)))))); aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(140))); aot_gpr_4 = (aot_gpr_5 & 8u); { const bool branch_taken = aot_gpr_4 == 0u; @@ -5140,7 +5141,7 @@ L_089B1974: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 110u, 0x089A8C9Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B1984u) goto L_089B1984; AOT_REGCACHE_SYNC_OUT(); return; L_089B1984: - { const std::uint32_t vfpu_address = ctx.gpr[2] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_2 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -5163,11 +5164,11 @@ L_089B1984: } L_089B1998: aot_gpr_31 = (0x089B19A0u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 542u, 0x08B02090u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B19A0u) goto L_089B19A0; AOT_REGCACHE_SYNC_OUT(); return; L_089B19A0: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089B19CC; @@ -5182,7 +5183,7 @@ L_089B19A8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 110u, 0x089A8C9Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B19B8u) goto L_089B19B8; AOT_REGCACHE_SYNC_OUT(); return; L_089B19B8: - { const std::uint32_t vfpu_address = ctx.gpr[2] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_2 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -5211,7 +5212,7 @@ L_089B19CC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 110u, 0x089A8C9Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B19DCu) goto L_089B19DC; AOT_REGCACHE_SYNC_OUT(); return; L_089B19DC: - { const std::uint32_t vfpu_address = ctx.gpr[2] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_2 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -5541,7 +5542,7 @@ L_089B1B64: const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -5550,7 +5551,7 @@ L_089B1B64: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<4u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(16); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(16); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -5559,7 +5560,7 @@ L_089B1B64: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<5u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(32); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(32); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -5595,7 +5596,7 @@ L_089B1B64: const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - ctx.gpr[19] = (aot_gpr_17 + static_cast(48)); + ctx.gpr[19] = (ctx.gpr[17] + static_cast(48)); { const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -5616,7 +5617,7 @@ L_089B1B64: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B1BC0u) goto L_089B1BC0; AOT_REGCACHE_SYNC_OUT(); return; L_089B1BC0: - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -5625,7 +5626,7 @@ L_089B1BC0: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<4u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(16); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(16); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -5634,7 +5635,7 @@ L_089B1BC0: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<5u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(32); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(32); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -5693,7 +5694,7 @@ L_089B1BF4: aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(208), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); aot_gpr_16 = aot_run_words[1]; - aot_gpr_17 = aot_run_words[2]; + ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; ctx.gpr[19] = aot_run_words[4]; ctx.gpr[20] = aot_run_words[5]; @@ -5709,9 +5710,9 @@ L_089B1BF4: AOT_REGCACHE_SYNC_OUT(); return; L_089B1C20: aot_gpr_29 = (aot_gpr_29 + static_cast(-240)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(200), aot_gpr_17); - aot_gpr_17 = (aot_gpr_5 | 0u); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(86)))))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(200), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_5 | 0u); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(86)))))); ctx.gpr[9] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(196), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); @@ -5740,7 +5741,7 @@ L_089B1C74: ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); goto L_089B1C84; L_089B1C84: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(852))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(852))); ctx.gpr[6] = (0u | 6u); { const bool branch_taken = aot_gpr_5 != ctx.gpr[6]; // nop @@ -5826,7 +5827,7 @@ L_089B1CE8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 110u, 0x089A8C9Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B1CF8u) goto L_089B1CF8; AOT_REGCACHE_SYNC_OUT(); return; L_089B1CF8: - { const std::uint32_t vfpu_address = ctx.gpr[2] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_2 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -5888,7 +5889,7 @@ L_089B1CF8: L_089B1D2C: ctx.gpr[18] = (aot_gpr_29 + static_cast(64)); aot_gpr_4 = (ctx.gpr[18] | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089B1D40u); ctx.gpr[6] = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 76u, 0x089A8A60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B1D40u) goto L_089B1D40; @@ -5917,20 +5918,20 @@ L_089B1D48: goto L_089B1D50; } L_089B1D50: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(92))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(92))); ctx.gpr[21] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-13368))); aot_gpr_4 = (aot_gpr_4 + static_cast(376)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); jump_target = ctx.gpr[6]; aot_gpr_31 = (0x089B1D6Cu); - aot_gpr_4 = (aot_gpr_17 + aot_gpr_5); + aot_gpr_4 = (ctx.gpr[17] + aot_gpr_5); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B1D6Cu) goto L_089B1D6C; AOT_REGCACHE_SYNC_OUT(); return; L_089B1D6C: - ctx.gpr[22] = (ctx.gpr[2] | 0u); - aot_gpr_4 = (aot_gpr_17 | 0u); + ctx.gpr[22] = (aot_gpr_2 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089B1D7Cu); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0149_entry, 149u, 294u, 0x08A59500u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B1D7Cu) goto L_089B1D7C; @@ -5939,11 +5940,11 @@ L_089B1D7C: aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_5 = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x089B1D8Cu); - ctx.gpr[6] = (ctx.gpr[2] | 0u); + ctx.gpr[6] = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 110u, 0x089A8C9Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B1D8Cu) goto L_089B1D8C; AOT_REGCACHE_SYNC_OUT(); return; L_089B1D8C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(352))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(352))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(32))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(140))); { const float fs = aot_fpr_20; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } @@ -6054,7 +6055,7 @@ L_089B1DE8: L_089B1E14: ctx.gpr[18] = (aot_gpr_29 + static_cast(96)); aot_gpr_4 = (ctx.gpr[18] | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089B1E28u); ctx.gpr[6] = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 76u, 0x089A8A60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B1E28u) goto L_089B1E28; @@ -6083,7 +6084,7 @@ L_089B1E30: goto L_089B1E38; } L_089B1E38: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(614)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(614)))))); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_4 = (0u | 11u); @@ -6117,7 +6118,7 @@ L_089B1E58: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 110u, 0x089A8C9Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B1E6Cu) goto L_089B1E6C; AOT_REGCACHE_SYNC_OUT(); return; L_089B1E6C: - { const std::uint32_t vfpu_address = ctx.gpr[2] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_2 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -6139,8 +6140,8 @@ L_089B1E6C: goto L_089B1E80; } L_089B1E80: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(352))); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(614)))))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(352))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(614)))))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(140))); aot_gpr_4 = (aot_gpr_5 & 8u); { const bool branch_taken = aot_gpr_4 == 0u; @@ -6158,7 +6159,7 @@ L_089B1E98: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 110u, 0x089A8C9Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B1EA8u) goto L_089B1EA8; AOT_REGCACHE_SYNC_OUT(); return; L_089B1EA8: - { const std::uint32_t vfpu_address = ctx.gpr[2] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_2 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -6181,11 +6182,11 @@ L_089B1EA8: } L_089B1EBC: aot_gpr_31 = (0x089B1EC4u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 542u, 0x08B02090u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B1EC4u) goto L_089B1EC4; AOT_REGCACHE_SYNC_OUT(); return; L_089B1EC4: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089B1EF0; @@ -6200,7 +6201,7 @@ L_089B1ECC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 110u, 0x089A8C9Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B1EDCu) goto L_089B1EDC; AOT_REGCACHE_SYNC_OUT(); return; L_089B1EDC: - { const std::uint32_t vfpu_address = ctx.gpr[2] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_2 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -6229,7 +6230,7 @@ L_089B1EF0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 110u, 0x089A8C9Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B1F00u) goto L_089B1F00; AOT_REGCACHE_SYNC_OUT(); return; L_089B1F00: - { const std::uint32_t vfpu_address = ctx.gpr[2] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_2 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -6571,7 +6572,7 @@ L_089B20C0: aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(192), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); aot_gpr_16 = aot_run_words[1]; - aot_gpr_17 = aot_run_words[2]; + ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; ctx.gpr[19] = aot_run_words[4]; ctx.gpr[20] = aot_run_words[5]; @@ -6587,17 +6588,17 @@ L_089B20C0: AOT_REGCACHE_SYNC_OUT(); return; L_089B20EC: aot_gpr_29 = (aot_gpr_29 + static_cast(-336)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, ctx.gpr[18]}; + { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(288), aot_run_words); } ctx.gpr[18] = (aot_gpr_4 | 0u); - aot_gpr_17 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[17] = (aot_gpr_29 + static_cast(16)); aot_gpr_16 = (aot_gpr_5 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(280), std::bit_cast(aot_fpr_20)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(284), std::bit_cast(ctx.fpr[22])); { const std::uint32_t aot_run_words[7]{ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(300), aot_run_words); } aot_gpr_31 = (0x089B2134u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 912u, 0x0885F828u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B2134u) goto L_089B2134; AOT_REGCACHE_SYNC_OUT(); return; L_089B2134: @@ -6672,13 +6673,13 @@ L_089B21A4: AOT_REGCACHE_SYNC_OUT(); return; L_089B21C0: aot_gpr_4 = (ctx.gpr[30] | 0u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x089B21D0u); ctx.gpr[6] = (0u | 197u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 110u, 0x089A8C9Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B21D0u) goto L_089B21D0; AOT_REGCACHE_SYNC_OUT(); return; L_089B21D0: - { const std::uint32_t vfpu_address = ctx.gpr[2] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_2 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -6715,7 +6716,7 @@ L_089B21EC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 110u, 0x089A8C9Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B21FCu) goto L_089B21FC; AOT_REGCACHE_SYNC_OUT(); return; L_089B21FC: - { const std::uint32_t vfpu_address = ctx.gpr[2] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_2 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -6743,7 +6744,7 @@ L_089B220C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 110u, 0x089A8C9Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B221Cu) goto L_089B221C; AOT_REGCACHE_SYNC_OUT(); return; L_089B221C: - { const std::uint32_t vfpu_address = ctx.gpr[2] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_2 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -6807,7 +6808,7 @@ L_089B2260: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(116), std::bit_cast(aot_fpr_14)); goto L_089B2288; L_089B2288: - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -6816,7 +6817,7 @@ L_089B2288: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<4u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(16); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(16); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -6825,7 +6826,7 @@ L_089B2288: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<5u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(32); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(32); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -6857,18 +6858,18 @@ L_089B2288: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_17 = (aot_gpr_29 + static_cast(96)); + ctx.gpr[17] = (aot_gpr_29 + static_cast(96)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089B22B8u); aot_gpr_5 = (ctx.gpr[23] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B22B8u) goto L_089B22B8; AOT_REGCACHE_SYNC_OUT(); return; L_089B22B8: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089B22C4u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 719u, 0x08B1FB98u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B22C4u) goto L_089B22C4; @@ -6930,7 +6931,7 @@ L_089B2318: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B2338u) goto L_089B2338; AOT_REGCACHE_SYNC_OUT(); return; L_089B2338: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_089B2348; @@ -6948,7 +6949,7 @@ L_089B2348: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 655u, 0x08906F34u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B2350u) goto L_089B2350; AOT_REGCACHE_SYNC_OUT(); return; L_089B2350: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089B27E0; @@ -7014,10 +7015,10 @@ L_089B23A0: L_089B23A8: aot_gpr_31 = (0x089B23B0u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B23B0u) goto L_089B23B0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B23B0u) goto L_089B23B0; AOT_REGCACHE_SYNC_OUT(); return; L_089B23B0: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089B23C8; @@ -7096,19 +7097,19 @@ L_089B2440: L_089B2454: aot_gpr_31 = (0x089B245Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B245Cu) goto L_089B245C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B245Cu) goto L_089B245C; AOT_REGCACHE_SYNC_OUT(); return; L_089B245C: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-13316))); ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-13320))); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x089B2470u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B2470u) goto L_089B2470; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B2470u) goto L_089B2470; AOT_REGCACHE_SYNC_OUT(); return; L_089B2470: ctx.gpr[1] = (ctx.gpr[3] << 1u); - aot_gpr_4 = (ctx.gpr[2] >> 31u); + aot_gpr_4 = (aot_gpr_2 >> 31u); aot_gpr_5 = (static_cast(static_cast(ctx.gpr[3]) >> 31u)); aot_gpr_4 = (ctx.gpr[1] | aot_gpr_4); aot_gpr_4 = (aot_gpr_4 | 0u); @@ -7132,8 +7133,8 @@ L_089B2494: } L_089B24AC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(460))); - aot_gpr_17 = (16384u << 16u); - aot_gpr_4 = (aot_gpr_4 & aot_gpr_17); + ctx.gpr[17] = (16384u << 16u); + aot_gpr_4 = (aot_gpr_4 & ctx.gpr[17]); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -7156,7 +7157,7 @@ L_089B24C0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 319u, 0x0890D46Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B24ECu) goto L_089B24EC; AOT_REGCACHE_SYNC_OUT(); return; L_089B24EC: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089B2564; @@ -7188,7 +7189,7 @@ L_089B250C: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_4 = (ctx.gpr[2] + static_cast(48)); + aot_gpr_4 = (aot_gpr_2 + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -7236,7 +7237,7 @@ L_089B2550: L_089B2558: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x089B2564u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 840u, 0x0890FC94u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B2564u) goto L_089B2564; AOT_REGCACHE_SYNC_OUT(); return; L_089B2564: @@ -7301,10 +7302,10 @@ L_089B25A8: L_089B25B4: aot_gpr_31 = (0x089B25BCu); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(900))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B25BCu) goto L_089B25BC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B25BCu) goto L_089B25BC; AOT_REGCACHE_SYNC_OUT(); return; L_089B25BC: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089B25D4; @@ -7317,7 +7318,7 @@ L_089B25C4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 617u, 0x088634F8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B25CCu) goto L_089B25CC; AOT_REGCACHE_SYNC_OUT(); return; L_089B25CC: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_089B25F4; @@ -7354,7 +7355,7 @@ L_089B2600: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x089B260Cu); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B260Cu) goto L_089B260C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08908E78, 65u, 261u, 0x08908E78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B260Cu) goto L_089B260C; AOT_REGCACHE_SYNC_OUT(); return; L_089B260C: aot_gpr_4 = (ctx.gpr[19] + static_cast(48)); @@ -7429,10 +7430,10 @@ L_089B2694: L_089B26A0: aot_gpr_31 = (0x089B26A8u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(900))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B26A8u) goto L_089B26A8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B26A8u) goto L_089B26A8; AOT_REGCACHE_SYNC_OUT(); return; L_089B26A8: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089B26D8; @@ -7445,7 +7446,7 @@ L_089B26B0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 617u, 0x088634F8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B26B8u) goto L_089B26B8; AOT_REGCACHE_SYNC_OUT(); return; L_089B26B8: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_089B26D8; @@ -7513,7 +7514,7 @@ L_089B2718: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B2720u) goto L_089B2720; AOT_REGCACHE_SYNC_OUT(); return; L_089B2720: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(1156))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(1156))); { const bool branch_taken = aot_gpr_4 != ctx.gpr[19]; // nop if (branch_taken) { @@ -7536,7 +7537,7 @@ L_089B2738: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 617u, 0x088634F8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B2740u) goto L_089B2740; AOT_REGCACHE_SYNC_OUT(); return; L_089B2740: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_089B2760; @@ -7568,7 +7569,7 @@ L_089B276C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x089B2778u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B2778u) goto L_089B2778; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08908E78, 65u, 261u, 0x08908E78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B2778u) goto L_089B2778; AOT_REGCACHE_SYNC_OUT(); return; L_089B2778: aot_gpr_4 = (ctx.gpr[19] + static_cast(48)); @@ -7595,10 +7596,10 @@ L_089B2778: L_089B27C4: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(456))); aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_5 | aot_gpr_17); + aot_gpr_5 = (aot_gpr_5 | ctx.gpr[17]); aot_gpr_31 = (0x089B27D8u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(456), aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B27D8u) goto L_089B27D8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890FF64, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B27D8u) goto L_089B27D8; AOT_REGCACHE_SYNC_OUT(); return; L_089B27D8: aot_gpr_31 = (0x089B27E0u); @@ -7703,7 +7704,7 @@ L_089B287C: aot_fpr_20 = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); aot_gpr_16 = aot_run_words[2]; - aot_gpr_17 = aot_run_words[3]; + ctx.gpr[17] = aot_run_words[3]; ctx.gpr[18] = aot_run_words[4]; ctx.gpr[19] = aot_run_words[5]; ctx.gpr[20] = aot_run_words[6]; @@ -7721,22 +7722,22 @@ L_089B287C: AOT_REGCACHE_SYNC_OUT(); return; L_089B28B4: aot_gpr_29 = (aot_gpr_29 + static_cast(-320)); - { const std::uint32_t aot_run_words[10]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_31}; + { const std::uint32_t aot_run_words[10]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(280), aot_run_words); } - aot_gpr_17 = (aot_gpr_5 | 0u); + ctx.gpr[17] = (aot_gpr_5 | 0u); aot_gpr_16 = (aot_gpr_29 + static_cast(16)); aot_gpr_31 = (0x089B28F0u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 912u, 0x0885F828u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B28F0u) goto L_089B28F0; AOT_REGCACHE_SYNC_OUT(); return; L_089B28F0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(72))); aot_gpr_5 = (0u + static_cast(-513)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_4 = (aot_gpr_4 | 512u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(72), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(72), aot_gpr_4); aot_gpr_31 = (0x089B290Cu); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 976u, 0x0890BDFCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B290Cu) goto L_089B290C; AOT_REGCACHE_SYNC_OUT(); return; L_089B290C: @@ -7747,7 +7748,7 @@ L_089B290C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 110u, 0x089A8C9Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B291Cu) goto L_089B291C; AOT_REGCACHE_SYNC_OUT(); return; L_089B291C: - { const std::uint32_t vfpu_address = ctx.gpr[2] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_2 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -7761,9 +7762,9 @@ L_089B291C: const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(2274))); + aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(2274))); ctx.gpr[19] = (0u | 8u); - ctx.gpr[18] = (aot_gpr_17 + static_cast(48)); + ctx.gpr[18] = (ctx.gpr[17] + static_cast(48)); { const bool branch_taken = aot_gpr_5 == ctx.gpr[19]; ctx.fpr[22] = std::bit_cast(0u); if (branch_taken) { @@ -7772,7 +7773,7 @@ L_089B291C: goto L_089B293C; } L_089B293C: - aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(2274))); + aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(2274))); ctx.gpr[6] = (0u | 9u); { const bool branch_taken = aot_gpr_5 != ctx.gpr[6]; // nop @@ -7848,7 +7849,7 @@ L_089B2958: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B2988u) goto L_089B2988; AOT_REGCACHE_SYNC_OUT(); return; L_089B2988: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1156))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1156))); aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x089B2998u); aot_gpr_5 = (0u | 0u); @@ -7857,7 +7858,7 @@ L_089B2988: L_089B2998: { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[22])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089B29B0u); aot_gpr_5 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 538u, 0x08A666C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B29B0u) goto L_089B29B0; @@ -7870,7 +7871,7 @@ L_089B29B0: aot_fpr_14 = std::bit_cast(aot_run_words[2]); } { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_13), std::bit_cast(aot_fpr_14)}; - aot_mem.aot_direct_store32_block(aot_gpr_17 + static_cast(48), aot_run_words); } + aot_mem.aot_direct_store32_block(ctx.gpr[17] + static_cast(48), aot_run_words); } { const bool branch_taken = aot_gpr_16 == 0u; // nop if (branch_taken) { @@ -7922,11 +7923,11 @@ L_089B2A1C: ctx.fpr[22] = ctx.fpr[0] - aot_fpr_20; goto L_089B2A20; L_089B2A20: - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(2260), std::bit_cast(ctx.fpr[22])); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(2260))); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(2260), std::bit_cast(ctx.fpr[22])); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(2260))); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089B2A34u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(2256), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(2256), std::bit_cast(aot_fpr_12)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 839u, 0x08907AECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B2A34u) goto L_089B2A34; AOT_REGCACHE_SYNC_OUT(); return; L_089B2A34: @@ -7942,7 +7943,7 @@ L_089B2A3C: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-13368))); ctx.gpr[20] = (aot_gpr_4 + static_cast(352)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[20] + static_cast(0)))))); - ctx.gpr[21] = (aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(2274))); + ctx.gpr[21] = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(2274))); ctx.gpr[22] = (aot_gpr_16 + aot_gpr_4); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (0u | 0u); @@ -7956,12 +7957,12 @@ L_089B2A64: aot_gpr_5 = (ctx.gpr[21] | 0u); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x089B2A78u); - ctx.gpr[6] = (ctx.gpr[2] | 0u); + ctx.gpr[6] = (aot_gpr_2 | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B2A78u) goto L_089B2A78; AOT_REGCACHE_SYNC_OUT(); return; L_089B2A78: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_089B2A88; @@ -7970,32 +7971,32 @@ L_089B2A78: } L_089B2A80: aot_gpr_31 = (0x089B2A88u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0130_entry, 130u, 138u, 0x08A0CDECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B2A88u) goto L_089B2A88; AOT_REGCACHE_SYNC_OUT(); return; L_089B2A88: aot_gpr_31 = (0x089B2A90u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 655u, 0x08906F34u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B2A90u) goto L_089B2A90; AOT_REGCACHE_SYNC_OUT(); return; L_089B2A90: - if (ctx.gpr[2] == 0u) { + if (aot_gpr_2 == 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(88))); goto L_089B2E90; } goto L_089B2A98; L_089B2A98: aot_gpr_31 = (0x089B2AA0u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 282u, 0x0890905Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B2AA0u) goto L_089B2AA0; AOT_REGCACHE_SYNC_OUT(); return; L_089B2AA0: aot_gpr_31 = (0x089B2AA8u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B2AA8u) goto L_089B2AA8; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B2AA8u) goto L_089B2AA8; AOT_REGCACHE_SYNC_OUT(); return; L_089B2AA8: - if (ctx.gpr[2] != 0u) { + if (aot_gpr_2 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(88))); goto L_089B2E90; } @@ -8009,7 +8010,7 @@ L_089B2AB0: goto L_089B2AB8; } L_089B2AB8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(460))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(460))); aot_gpr_4 = (aot_gpr_4 & 32768u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -8019,11 +8020,11 @@ L_089B2AB8: goto L_089B2AC8; } L_089B2AC8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(460))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(460))); aot_gpr_5 = (65535u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(32767)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(460), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(460), aot_gpr_4); aot_gpr_4 = (aot_gpr_16 + static_cast(48)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); @@ -8040,7 +8041,7 @@ L_089B2AC8: ctx.gpr[6] = (std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(128), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(132), ctx.gpr[6]); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089B2B28u); ctx.gpr[6] = (0u | 14000u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 779u, 0x0890B0A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B2B28u) goto L_089B2B28; @@ -8054,7 +8055,7 @@ L_089B2B28: goto L_089B2B30; } L_089B2B30: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(460))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(460))); aot_gpr_5 = (1u << 16u); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); { const bool branch_taken = aot_gpr_4 == 0u; @@ -8067,42 +8068,42 @@ L_089B2B30: L_089B2B44: aot_gpr_31 = (0x089B2B4Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B2B4Cu) goto L_089B2B4C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B2B4Cu) goto L_089B2B4C; AOT_REGCACHE_SYNC_OUT(); return; L_089B2B4C: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-13316))); ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-13320))); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x089B2B60u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B2B60u) goto L_089B2B60; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B2B60u) goto L_089B2B60; AOT_REGCACHE_SYNC_OUT(); return; L_089B2B60: ctx.gpr[1] = (ctx.gpr[3] << 1u); - aot_gpr_4 = (ctx.gpr[2] >> 31u); + aot_gpr_4 = (aot_gpr_2 >> 31u); aot_gpr_5 = (static_cast(static_cast(ctx.gpr[3]) >> 31u)); aot_gpr_4 = (ctx.gpr[1] | aot_gpr_4); aot_gpr_4 = (aot_gpr_4 | 0u); aot_gpr_5 = (aot_gpr_4 << 24u); aot_gpr_5 = (static_cast(static_cast(aot_gpr_5) >> 24u)); aot_gpr_31 = (0x089B2B84u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 631u, 0x0890A728u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B2B84u) goto L_089B2B84; AOT_REGCACHE_SYNC_OUT(); return; L_089B2B84: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(460))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(460))); aot_gpr_5 = (65535u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(-1)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(460), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(460), aot_gpr_4); if (branch_taken) { goto L_089B2E70; } goto L_089B2B9C; } L_089B2B9C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(460))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(460))); ctx.gpr[20] = (16384u << 16u); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[20]); { const bool branch_taken = aot_gpr_4 == 0u; @@ -8113,21 +8114,21 @@ L_089B2B9C: goto L_089B2BB0; } L_089B2BB0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(460))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(460))); aot_gpr_5 = (49152u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(-1)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_5 = (65535u << 16u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(460), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(460), aot_gpr_4); aot_gpr_5 = (aot_gpr_5 + static_cast(32767)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(460), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(460), aot_gpr_4); aot_gpr_31 = (0x089B2BDCu); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 319u, 0x0890D46Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B2BDCu) goto L_089B2BDC; AOT_REGCACHE_SYNC_OUT(); return; L_089B2BDC: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089B2C54; @@ -8135,7 +8136,7 @@ L_089B2BDC: goto L_089B2BE4; } L_089B2BE4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(2276))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(2276))); aot_gpr_5 = (0u | 2u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -8159,7 +8160,7 @@ L_089B2BFC: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_4 = (ctx.gpr[2] + static_cast(48)); + aot_gpr_4 = (aot_gpr_2 + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -8205,13 +8206,13 @@ L_089B2C40: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B2C48u) goto L_089B2C48; AOT_REGCACHE_SYNC_OUT(); return; L_089B2C48: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089B2C54u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 840u, 0x0890FC94u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B2C54u) goto L_089B2C54; AOT_REGCACHE_SYNC_OUT(); return; L_089B2C54: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(2192))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(2192))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -8220,7 +8221,7 @@ L_089B2C54: goto L_089B2C60; } L_089B2C60: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(2196))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(2196))); { const bool branch_taken = aot_gpr_4 == ctx.gpr[19]; // nop if (branch_taken) { @@ -8229,8 +8230,8 @@ L_089B2C60: goto L_089B2C6C; } L_089B2C6C: - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(2192))); - aot_gpr_4 = (aot_gpr_17 | 0u); + ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(2192))); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089B2C7Cu); aot_gpr_5 = (0u | 8u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0178_entry, 178u, 482u, 0x08ACD698u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B2C7Cu) goto L_089B2C7C; @@ -8254,7 +8255,7 @@ L_089B2C84: } L_089B2C90: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(900))); - { const bool branch_taken = aot_gpr_4 == aot_gpr_17; + { const bool branch_taken = aot_gpr_4 == ctx.gpr[17]; aot_gpr_4 = (aot_gpr_16 + static_cast(48)); if (branch_taken) { goto L_089B2CDC; @@ -8264,10 +8265,10 @@ L_089B2C90: L_089B2C9C: aot_gpr_31 = (0x089B2CA4u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(900))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B2CA4u) goto L_089B2CA4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B2CA4u) goto L_089B2CA4; AOT_REGCACHE_SYNC_OUT(); return; L_089B2CA4: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089B2CBC; @@ -8280,7 +8281,7 @@ L_089B2CAC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 617u, 0x088634F8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B2CB4u) goto L_089B2CB4; AOT_REGCACHE_SYNC_OUT(); return; L_089B2CB4: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; aot_gpr_4 = (aot_gpr_16 + static_cast(48)); if (branch_taken) { goto L_089B2CDC; @@ -8289,11 +8290,11 @@ L_089B2CB4: } L_089B2CBC: aot_gpr_31 = (0x089B2CC4u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1022u, 0x08AC7C60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B2CC4u) goto L_089B2CC4; AOT_REGCACHE_SYNC_OUT(); return; L_089B2CC4: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (0u | 18u); aot_gpr_31 = (0x089B2CD4u); ctx.gpr[6] = (aot_gpr_16 | 0u); @@ -8323,21 +8324,21 @@ L_089B2CDC: ctx.gpr[6] = (std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(160), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(164), ctx.gpr[6]); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089B2D24u); ctx.gpr[6] = (0u | 14000u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 779u, 0x0890B0A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B2D24u) goto L_089B2D24; AOT_REGCACHE_SYNC_OUT(); return; L_089B2D24: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(456))); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(456))); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (aot_gpr_5 | ctx.gpr[20]); aot_gpr_31 = (0x089B2D38u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(456), aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B2D38u) goto L_089B2D38; + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(456), aot_gpr_5); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890FF64, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B2D38u) goto L_089B2D38; AOT_REGCACHE_SYNC_OUT(); return; L_089B2D38: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089B2D44u); aot_gpr_5 = (0u | 142u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 16u, 0x08860424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B2D44u) goto L_089B2D44; @@ -8351,7 +8352,7 @@ L_089B2D44: goto L_089B2D4C; } L_089B2D4C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1364))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1364))); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(22)))))); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(23)))))); aot_gpr_4 = (static_cast(aot_gpr_5) < static_cast(aot_gpr_4) ? 1u : 0u); @@ -8363,7 +8364,7 @@ L_089B2D4C: goto L_089B2D64; } L_089B2D64: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(2276))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(2276))); aot_gpr_4 = (0u | 2u); if (aot_gpr_5 == aot_gpr_4) { aot_gpr_4 = (aot_gpr_16 + static_cast(48)); @@ -8391,10 +8392,10 @@ L_089B2D80: L_089B2D8C: aot_gpr_31 = (0x089B2D94u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(900))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B2D94u) goto L_089B2D94; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B2D94u) goto L_089B2D94; AOT_REGCACHE_SYNC_OUT(); return; L_089B2D94: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; aot_gpr_4 = (aot_gpr_16 + static_cast(48)); if (branch_taken) { goto L_089B2DC4; @@ -8407,7 +8408,7 @@ L_089B2D9C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 617u, 0x088634F8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B2DA4u) goto L_089B2DA4; AOT_REGCACHE_SYNC_OUT(); return; L_089B2DA4: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; aot_gpr_4 = (aot_gpr_16 + static_cast(48)); if (branch_taken) { goto L_089B2DC4; @@ -8415,7 +8416,7 @@ L_089B2DA4: goto L_089B2DAC; } L_089B2DAC: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (0u | 18u); aot_gpr_31 = (0x089B2DBCu); ctx.gpr[6] = (aot_gpr_16 | 0u); @@ -8445,21 +8446,21 @@ L_089B2DC4: ctx.gpr[6] = (std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(176), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(180), ctx.gpr[6]); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089B2E0Cu); ctx.gpr[6] = (0u | 10000u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 779u, 0x0890B0A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B2E0Cu) goto L_089B2E0C; AOT_REGCACHE_SYNC_OUT(); return; L_089B2E0C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(456))); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(1032), 0u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(456))); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(1032), 0u); aot_gpr_4 = (aot_gpr_4 | ctx.gpr[20]); aot_gpr_31 = (0x089B2E20u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(456), aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B2E20u) goto L_089B2E20; + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(456), aot_gpr_4); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B2E20u) goto L_089B2E20; AOT_REGCACHE_SYNC_OUT(); return; L_089B2E20: - aot_gpr_4 = (ctx.gpr[2] & 65535u); + aot_gpr_4 = (aot_gpr_2 & 65535u); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -8469,7 +8470,7 @@ L_089B2E20: goto L_089B2E30; } L_089B2E30: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1364))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1364))); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(22)))))); aot_gpr_4 = (static_cast(aot_gpr_4) < 71 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; @@ -8480,13 +8481,13 @@ L_089B2E30: goto L_089B2E44; } L_089B2E44: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089B2E50u); aot_gpr_5 = (0u | 5u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B2E50u) goto L_089B2E50; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B2E50u) goto L_089B2E50; AOT_REGCACHE_SYNC_OUT(); return; L_089B2E50: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089B2E5Cu); aot_gpr_5 = (0u | 119u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 16u, 0x08860424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B2E5Cu) goto L_089B2E5C; @@ -8500,13 +8501,13 @@ L_089B2E5C: goto L_089B2E64; } L_089B2E64: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089B2E70u); aot_gpr_5 = (0u | 142u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 16u, 0x08860424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B2E70u) goto L_089B2E70; AOT_REGCACHE_SYNC_OUT(); return; L_089B2E70: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(2232))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(2232))); aot_gpr_5 = (0u | 1u); if (aot_gpr_4 != aot_gpr_5) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(88))); @@ -8514,10 +8515,10 @@ L_089B2E70: } goto L_089B2E80; L_089B2E80: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089B2E8Cu); aot_gpr_5 = (0u | 5u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B2E8Cu) goto L_089B2E8C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08908E78, 65u, 261u, 0x08908E78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B2E8Cu) goto L_089B2E8C; AOT_REGCACHE_SYNC_OUT(); return; L_089B2E8C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(88))); @@ -8551,7 +8552,7 @@ L_089B2EB0: aot_fpr_20 = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); aot_gpr_16 = aot_run_words[2]; - aot_gpr_17 = aot_run_words[3]; + ctx.gpr[17] = aot_run_words[3]; ctx.gpr[18] = aot_run_words[4]; ctx.gpr[19] = aot_run_words[5]; ctx.gpr[20] = aot_run_words[6]; @@ -8567,13 +8568,13 @@ L_089B2EB0: AOT_REGCACHE_SYNC_OUT(); return; L_089B2EE0: aot_gpr_29 = (aot_gpr_29 + static_cast(-64)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), aot_gpr_17); - aot_gpr_17 = (aot_gpr_5 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_5 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), aot_gpr_16); { const std::uint32_t aot_run_words[3]{ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(52), aot_run_words); } { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1152))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1152))); if (branch_taken) { goto L_089B2F10; } @@ -8604,10 +8605,10 @@ L_089B2F18: goto L_089B2F2C; } L_089B2F2C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(2228))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(2228))); aot_gpr_5 = (0u | 61u); if (aot_gpr_4 != aot_gpr_5) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(2228))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(2228))); goto L_089B2F4C; } goto L_089B2F3C; @@ -8637,7 +8638,7 @@ L_089B2F4C: goto L_089B2F58; } L_089B2F58: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(2228))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(2228))); aot_gpr_5 = (0u | 55u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -8656,7 +8657,7 @@ L_089B2F68: } L_089B2F70: aot_gpr_31 = (0x089B2F78u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 441u, 0x089AA5B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B2F78u) goto L_089B2F78; AOT_REGCACHE_SYNC_OUT(); return; L_089B2F78: @@ -8668,7 +8669,7 @@ L_089B2F78: goto L_089B2F80; } L_089B2F80: - ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(2274))); + ctx.gpr[6] = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(2274))); aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_31 = (0x089B2F90u); aot_gpr_5 = (aot_gpr_16 | 0u); @@ -8678,7 +8679,7 @@ L_089B2F90: ctx.gpr[18] = (aot_gpr_29 + static_cast(16)); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_4 = (ctx.gpr[18] | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089B2FA8u); ctx.gpr[6] = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 177u, 0x08AF5564u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B2FA8u) goto L_089B2FA8; @@ -8705,7 +8706,7 @@ L_089B2FC0: goto L_089B2FCC; } L_089B2FCC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(2196))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(2196))); aot_gpr_5 = (0u | 18u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -8719,7 +8720,7 @@ L_089B2FDC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_4); goto L_089B2FE4; L_089B2FE4: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1252))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1252))); aot_fpr_13 = std::bit_cast(0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(aot_fpr_13)) && aot_fpr_12 == aot_fpr_13)) ? 0x00800000u : 0u); // nop @@ -8736,7 +8737,7 @@ L_089B2FFC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B3004u) goto L_089B3004; AOT_REGCACHE_SYNC_OUT(); return; L_089B3004: - aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(154))); + aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(154))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -8756,10 +8757,10 @@ L_089B3010: L_089B301C: aot_gpr_31 = (0x089B3024u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B3024u) goto L_089B3024; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B3024u) goto L_089B3024; AOT_REGCACHE_SYNC_OUT(); return; L_089B3024: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_089B3050; @@ -8772,11 +8773,11 @@ L_089B302C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 229u, 0x08B00D78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B3034u) goto L_089B3034; AOT_REGCACHE_SYNC_OUT(); return; L_089B3034: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(460))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(460))); aot_gpr_5 = (32u << 16u); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); { const bool branch_taken = aot_gpr_4 != 0u; - ctx.gpr[19] = (0u < ctx.gpr[2] ? 1u : 0u); + ctx.gpr[19] = (0u < aot_gpr_2 ? 1u : 0u); if (branch_taken) { goto L_089B3060; } @@ -8792,7 +8793,7 @@ L_089B3048: } L_089B3050: aot_gpr_31 = (0x089B3058u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 441u, 0x089AA5B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B3058u) goto L_089B3058; AOT_REGCACHE_SYNC_OUT(); return; L_089B3058: @@ -8805,11 +8806,11 @@ L_089B3058: } L_089B3060: aot_gpr_31 = (0x089B3068u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B3068u) goto L_089B3068; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B3068u) goto L_089B3068; AOT_REGCACHE_SYNC_OUT(); return; L_089B3068: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089B30A4; @@ -8842,28 +8843,28 @@ L_089B3090: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B3098u) goto L_089B3098; AOT_REGCACHE_SYNC_OUT(); return; L_089B3098: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x089B30A4u); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 659u, 0x089474A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B30A4u) goto L_089B30A4; AOT_REGCACHE_SYNC_OUT(); return; L_089B30A4: aot_gpr_31 = (0x089B30ACu); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 441u, 0x089AA5B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B30ACu) goto L_089B30AC; AOT_REGCACHE_SYNC_OUT(); return; L_089B30AC: aot_gpr_31 = (0x089B30B4u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1089u, 0x08AC7F64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B30B4u) goto L_089B30B4; AOT_REGCACHE_SYNC_OUT(); return; L_089B30B4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(460))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(460))); aot_gpr_5 = (65504u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(-1)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(460), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(460), aot_gpr_4); if (branch_taken) { goto L_089B3604; } @@ -8882,7 +8883,7 @@ L_089B30CC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B30E8u) goto L_089B30E8; AOT_REGCACHE_SYNC_OUT(); return; L_089B30E8: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_089B3108; @@ -8931,11 +8932,11 @@ L_089B3108: goto L_089B313C; L_089B313C: aot_gpr_31 = (0x089B3144u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 441u, 0x089AA5B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B3144u) goto L_089B3144; AOT_REGCACHE_SYNC_OUT(); return; L_089B3144: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(2274))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(2274))); aot_gpr_5 = (0u | 10u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -8945,7 +8946,7 @@ L_089B3144: goto L_089B3154; } L_089B3154: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(2274))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(2274))); aot_gpr_5 = (0u | 11u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -8955,7 +8956,7 @@ L_089B3154: goto L_089B3164; } L_089B3164: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (0u | 1000u); ctx.gpr[6] = (0u | 31u); aot_gpr_31 = (0x089B3178u); @@ -8971,7 +8972,7 @@ L_089B3178: goto L_089B3180; } L_089B3180: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (0u | 1000u); ctx.gpr[6] = (0u | 29u); aot_gpr_31 = (0x089B3194u); @@ -8987,7 +8988,7 @@ L_089B3194: goto L_089B319C; } L_089B319C: - aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(2274))); + aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(2274))); aot_gpr_4 = (aot_gpr_4 + static_cast(272)); ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); @@ -9001,7 +9002,7 @@ L_089B319C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B31C0u) goto L_089B31C0; AOT_REGCACHE_SYNC_OUT(); return; L_089B31C0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(2228))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(2228))); aot_gpr_5 = (0u | 59u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -9030,11 +9031,11 @@ L_089B31E0: } L_089B31E8: aot_gpr_31 = (0x089B31F0u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 441u, 0x089AA5B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B31F0u) goto L_089B31F0; AOT_REGCACHE_SYNC_OUT(); return; L_089B31F0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1360))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1360))); aot_gpr_5 = (0u | 6u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -9044,9 +9045,9 @@ L_089B31F0: goto L_089B3200; } L_089B3200: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(2192))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(2192))); aot_gpr_31 = (0x089B320Cu); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 108u, 0x08A346B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B320Cu) goto L_089B320C; AOT_REGCACHE_SYNC_OUT(); return; L_089B320C: @@ -9122,16 +9123,16 @@ L_089B3278: AOT_REGCACHE_SYNC_OUT(); return; L_089B3284: aot_gpr_31 = (0x089B328Cu); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B328Cu) goto L_089B328C; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B328Cu) goto L_089B328C; AOT_REGCACHE_SYNC_OUT(); return; L_089B328C: aot_gpr_5 = (2203u << 16u); - aot_gpr_4 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (aot_gpr_17 | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); + ctx.gpr[6] = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089B32A0u); aot_gpr_5 = (aot_gpr_5 + static_cast(-21176)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B32A0u) goto L_089B32A0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B32A0u) goto L_089B32A0; AOT_REGCACHE_SYNC_OUT(); return; L_089B32A0: { const bool branch_taken = 0u == 0u; @@ -9143,7 +9144,7 @@ L_089B32A0: } L_089B32A8: aot_gpr_31 = (0x089B32B0u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 441u, 0x089AA5B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B32B0u) goto L_089B32B0; AOT_REGCACHE_SYNC_OUT(); return; L_089B32B0: @@ -9162,16 +9163,16 @@ L_089B32B8: AOT_REGCACHE_SYNC_OUT(); return; L_089B32C4: aot_gpr_31 = (0x089B32CCu); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B32CCu) goto L_089B32CC; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B32CCu) goto L_089B32CC; AOT_REGCACHE_SYNC_OUT(); return; L_089B32CC: aot_gpr_5 = (2203u << 16u); - aot_gpr_4 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (aot_gpr_17 | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); + ctx.gpr[6] = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089B32E0u); aot_gpr_5 = (aot_gpr_5 + static_cast(13856)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B32E0u) goto L_089B32E0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B32E0u) goto L_089B32E0; AOT_REGCACHE_SYNC_OUT(); return; L_089B32E0: { const bool branch_taken = 0u == 0u; @@ -9222,16 +9223,16 @@ L_089B3324: AOT_REGCACHE_SYNC_OUT(); return; L_089B3330: aot_gpr_31 = (0x089B3338u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B3338u) goto L_089B3338; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B3338u) goto L_089B3338; AOT_REGCACHE_SYNC_OUT(); return; L_089B3338: aot_gpr_5 = (2203u << 16u); - aot_gpr_4 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (aot_gpr_17 | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); + ctx.gpr[6] = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089B334Cu); aot_gpr_5 = (aot_gpr_5 + static_cast(-21176)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B334Cu) goto L_089B334C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B334Cu) goto L_089B334C; AOT_REGCACHE_SYNC_OUT(); return; L_089B334C: { const bool branch_taken = 0u == 0u; @@ -9243,7 +9244,7 @@ L_089B334C: } L_089B3354: aot_gpr_31 = (0x089B335Cu); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 441u, 0x089AA5B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B335Cu) goto L_089B335C; AOT_REGCACHE_SYNC_OUT(); return; L_089B335C: @@ -9255,7 +9256,7 @@ L_089B335C: goto L_089B3364; } L_089B3364: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1360))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1360))); aot_gpr_5 = (0u | 6u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -9265,9 +9266,9 @@ L_089B3364: goto L_089B3374; } L_089B3374: - ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(2192))); + ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(2192))); aot_gpr_31 = (0x089B3380u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 441u, 0x089AA5B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B3380u) goto L_089B3380; AOT_REGCACHE_SYNC_OUT(); return; L_089B3380: @@ -9296,10 +9297,10 @@ L_089B3398: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(72), aot_gpr_4); aot_gpr_31 = (0x089B33B4u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B33B4u) goto L_089B33B4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B33B4u) goto L_089B33B4; AOT_REGCACHE_SYNC_OUT(); return; L_089B33B4: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089B33D0; @@ -9307,7 +9308,7 @@ L_089B33B4: goto L_089B33BC; } L_089B33BC: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089B33C8u); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 108u, 0x08A346B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B33C8u) goto L_089B33C8; @@ -9322,32 +9323,32 @@ L_089B33C8: } L_089B33D0: aot_gpr_31 = (0x089B33D8u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1022u, 0x08AC7C60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B33D8u) goto L_089B33D8; AOT_REGCACHE_SYNC_OUT(); return; L_089B33D8: aot_gpr_31 = (0x089B33E0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B33E0u) goto L_089B33E0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B33E0u) goto L_089B33E0; AOT_REGCACHE_SYNC_OUT(); return; L_089B33E0: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-13316))); ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-13320))); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x089B33F4u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B33F4u) goto L_089B33F4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B33F4u) goto L_089B33F4; AOT_REGCACHE_SYNC_OUT(); return; L_089B33F4: ctx.gpr[1] = (ctx.gpr[3] << 1u); - aot_gpr_4 = (ctx.gpr[2] >> 31u); + aot_gpr_4 = (aot_gpr_2 >> 31u); aot_gpr_5 = (static_cast(static_cast(ctx.gpr[3]) >> 31u)); aot_gpr_4 = (ctx.gpr[1] | aot_gpr_4); aot_gpr_4 = (aot_gpr_4 | 0u); aot_gpr_5 = (aot_gpr_4 << 24u); aot_gpr_5 = (static_cast(static_cast(aot_gpr_5) >> 24u)); aot_gpr_31 = (0x089B3418u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 631u, 0x0890A728u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B3418u) goto L_089B3418; AOT_REGCACHE_SYNC_OUT(); return; L_089B3418: @@ -9371,7 +9372,7 @@ L_089B3420: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B343Cu) goto L_089B343C; AOT_REGCACHE_SYNC_OUT(); return; L_089B343C: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_089B3450; @@ -9400,16 +9401,16 @@ L_089B3458: AOT_REGCACHE_SYNC_OUT(); return; L_089B3464: aot_gpr_31 = (0x089B346Cu); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B346Cu) goto L_089B346C; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B346Cu) goto L_089B346C; AOT_REGCACHE_SYNC_OUT(); return; L_089B346C: aot_gpr_5 = (2203u << 16u); - aot_gpr_4 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (aot_gpr_17 | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); + ctx.gpr[6] = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089B3480u); aot_gpr_5 = (aot_gpr_5 + static_cast(13856)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B3480u) goto L_089B3480; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B3480u) goto L_089B3480; AOT_REGCACHE_SYNC_OUT(); return; L_089B3480: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); @@ -9428,7 +9429,7 @@ L_089B348C: ctx.gpr[8] = (aot_gpr_29 + static_cast(36)); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x089B34ACu); - ctx.gpr[6] = (aot_gpr_17 | 0u); + ctx.gpr[6] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 972u, 0x08B03DB0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B34ACu) goto L_089B34AC; AOT_REGCACHE_SYNC_OUT(); return; L_089B34AC: @@ -9490,7 +9491,7 @@ L_089B3500: } L_089B3518: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); - ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(2274))); + ctx.gpr[6] = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(2274))); aot_gpr_5 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x089B352Cu); ctx.gpr[7] = (0u | 0u); @@ -9502,7 +9503,7 @@ L_089B352C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 319u, 0x0890D46Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B3534u) goto L_089B3534; AOT_REGCACHE_SYNC_OUT(); return; L_089B3534: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089B3548; @@ -9512,7 +9513,7 @@ L_089B3534: L_089B353C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); aot_gpr_31 = (0x089B3548u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 119u, 0x089B4624u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B3548u) goto L_089B3548; AOT_REGCACHE_SYNC_OUT(); return; L_089B3548: @@ -9561,11 +9562,11 @@ L_089B3578: } L_089B3580: aot_gpr_31 = (0x089B3588u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 441u, 0x089AA5B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B3588u) goto L_089B3588; AOT_REGCACHE_SYNC_OUT(); return; L_089B3588: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1360))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1360))); aot_gpr_5 = (0u | 6u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -9575,13 +9576,13 @@ L_089B3588: goto L_089B3598; } L_089B3598: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(2192))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(2192))); aot_gpr_31 = (0x089B35A4u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 108u, 0x08A346B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B35A4u) goto L_089B35A4; AOT_REGCACHE_SYNC_OUT(); return; L_089B35A4: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(2274))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(2274))); aot_gpr_5 = (0u | 10u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -9598,16 +9599,16 @@ L_089B35B4: AOT_REGCACHE_SYNC_OUT(); return; L_089B35C0: aot_gpr_31 = (0x089B35C8u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B35C8u) goto L_089B35C8; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B35C8u) goto L_089B35C8; AOT_REGCACHE_SYNC_OUT(); return; L_089B35C8: aot_gpr_5 = (2203u << 16u); - aot_gpr_4 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (aot_gpr_17 | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); + ctx.gpr[6] = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089B35DCu); aot_gpr_5 = (aot_gpr_5 + static_cast(-21176)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B35DCu) goto L_089B35DC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B35DCu) goto L_089B35DC; AOT_REGCACHE_SYNC_OUT(); return; L_089B35DC: aot_gpr_4 = (0u + static_cast(-1)); @@ -9620,7 +9621,7 @@ L_089B35DC: } L_089B35E8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_4 = (aot_gpr_4 + static_cast(224)); ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); @@ -9634,7 +9635,7 @@ L_089B3604: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(44), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; @@ -9649,9 +9650,9 @@ L_089B3620: aot_gpr_29 = (aot_gpr_29 + static_cast(-64)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), ctx.gpr[18]); ctx.gpr[18] = (aot_gpr_5 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), ctx.gpr[19]); - aot_gpr_17 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(1152))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(1152))); ctx.gpr[19] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), aot_gpr_31); @@ -9668,7 +9669,7 @@ L_089B364C: aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(36), std::bit_cast(aot_fpr_12)); goto L_089B3658; L_089B3658: - { const bool branch_taken = aot_gpr_17 == 0u; + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_089B36AC; @@ -9676,7 +9677,7 @@ L_089B3658: goto L_089B3660; } L_089B3660: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(72))); aot_gpr_5 = (0u | 80u); aot_gpr_4 = (aot_gpr_4 & 496u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; @@ -9778,10 +9779,10 @@ L_089B36E8: L_089B36F0: aot_gpr_31 = (0x089B36F8u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B36F8u) goto L_089B36F8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B36F8u) goto L_089B36F8; AOT_REGCACHE_SYNC_OUT(); return; L_089B36F8: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089B37A0; @@ -9818,7 +9819,7 @@ L_089B372C: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(2228))); aot_gpr_31 = (0x089B3738u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B3738u) goto L_089B3738; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08908E78, 65u, 261u, 0x08908E78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B3738u) goto L_089B3738; AOT_REGCACHE_SYNC_OUT(); return; L_089B3738: aot_gpr_4 = (ctx.gpr[18] | 0u); @@ -9869,10 +9870,10 @@ L_089B3798: L_089B37A0: aot_gpr_31 = (0x089B37A8u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B37A8u) goto L_089B37A8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B37A8u) goto L_089B37A8; AOT_REGCACHE_SYNC_OUT(); return; L_089B37A8: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089B3878; @@ -9895,7 +9896,7 @@ L_089B37C0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0098_entry, 98u, 430u, 0x0898D2D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B37C8u) goto L_089B37C8; AOT_REGCACHE_SYNC_OUT(); return; L_089B37C8: - aot_fpr_12 = std::bit_cast(ctx.gpr[2]); + aot_fpr_12 = std::bit_cast(aot_gpr_2); aot_gpr_4 = (17279u << 16u); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_fpr_13 = std::bit_cast(aot_gpr_4); @@ -9914,7 +9915,7 @@ L_089B37E8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0098_entry, 98u, 388u, 0x0898D140u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B37F0u) goto L_089B37F0; AOT_REGCACHE_SYNC_OUT(); return; L_089B37F0: - aot_fpr_12 = std::bit_cast(ctx.gpr[2]); + aot_fpr_12 = std::bit_cast(aot_gpr_2); aot_gpr_4 = (17279u << 16u); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_fpr_13 = std::bit_cast(aot_gpr_4); @@ -9928,7 +9929,7 @@ L_089B37F0: goto L_089B3810; } L_089B3810: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(852))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -9937,7 +9938,7 @@ L_089B3810: goto L_089B381C; } L_089B381C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -9964,14 +9965,14 @@ L_089B3830: goto L_089B3840; } L_089B3840: - aot_gpr_4 = (aot_gpr_17 + static_cast(944)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(944)); aot_gpr_31 = (0x089B384Cu); aot_gpr_5 = (0u | 2u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 382u, 0x08B0D940u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B384Cu) goto L_089B384C; AOT_REGCACHE_SYNC_OUT(); return; L_089B384C: aot_gpr_4 = (0u | 3u); - { const bool branch_taken = ctx.gpr[2] == aot_gpr_4; + { const bool branch_taken = aot_gpr_2 == aot_gpr_4; // nop if (branch_taken) { goto L_089B3864; @@ -9979,7 +9980,7 @@ L_089B384C: goto L_089B3858; } L_089B3858: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089B3864u); aot_gpr_5 = (0u | 2u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 752u, 0x0883365Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B3864u) goto L_089B3864; @@ -10000,12 +10001,12 @@ L_089B3870: } L_089B3878: aot_gpr_31 = (0x089B3880u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B3880u) goto L_089B3880; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B01E00, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B3880u) goto L_089B3880; AOT_REGCACHE_SYNC_OUT(); return; L_089B3880: aot_gpr_4 = (0u | 2u); - { const bool branch_taken = ctx.gpr[2] == aot_gpr_4; + { const bool branch_taken = aot_gpr_2 == aot_gpr_4; // nop if (branch_taken) { goto L_089B3900; @@ -10013,7 +10014,7 @@ L_089B3880: goto L_089B388C; } L_089B388C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(852))); aot_gpr_5 = (0u | 2u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -10026,7 +10027,7 @@ L_089B389C: ctx.gpr[6] = (aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(2274))); aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_31 = (0x089B38ACu); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 78u, 0x089A8ACCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B38ACu) goto L_089B38AC; AOT_REGCACHE_SYNC_OUT(); return; L_089B38AC: @@ -10034,23 +10035,23 @@ L_089B38AC: aot_gpr_4 = (aot_gpr_29 + static_cast(16)); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x089B38C0u); - ctx.gpr[6] = (aot_gpr_17 | 0u); + ctx.gpr[6] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 177u, 0x08AF5564u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B38C0u) goto L_089B38C0; AOT_REGCACHE_SYNC_OUT(); return; L_089B38C0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(92))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(92))); ctx.gpr[19] = (0u | 1u); aot_gpr_4 = (aot_gpr_4 + static_cast(312)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); jump_target = ctx.gpr[6]; aot_gpr_31 = (0x089B38DCu); - aot_gpr_4 = (aot_gpr_17 + aot_gpr_5); + aot_gpr_4 = (ctx.gpr[17] + aot_gpr_5); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B38DCu) goto L_089B38DC; AOT_REGCACHE_SYNC_OUT(); return; L_089B38DC: - if (ctx.gpr[2] != 0u) { + if (aot_gpr_2 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); goto L_089B3914; } @@ -10099,19 +10100,19 @@ L_089B3914: } goto L_089B3920; L_089B3920: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(92))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(92))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_4 = (aot_gpr_4 + static_cast(296)); ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x089B393Cu); - aot_gpr_4 = (aot_gpr_17 + ctx.gpr[6]); + aot_gpr_4 = (ctx.gpr[17] + ctx.gpr[6]); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B393Cu) goto L_089B393C; AOT_REGCACHE_SYNC_OUT(); return; L_089B393C: - if (ctx.gpr[2] == 0u) { + if (aot_gpr_2 == 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(1152))); goto L_089B394C; } @@ -10137,7 +10138,7 @@ L_089B394C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B3968u) goto L_089B3968; AOT_REGCACHE_SYNC_OUT(); return; L_089B3968: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_089B398C; @@ -10161,7 +10162,7 @@ L_089B3980: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 752u, 0x0883365Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B398Cu) goto L_089B398C; AOT_REGCACHE_SYNC_OUT(); return; L_089B398C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -10190,7 +10191,7 @@ L_089B39A8: goto L_089B39B8; } L_089B39B8: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(614)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(614)))))); aot_gpr_4 = (aot_gpr_4 & 2u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -10200,36 +10201,36 @@ L_089B39B8: goto L_089B39C8; } L_089B39C8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); aot_gpr_5 = (0u | 16u); aot_gpr_31 = (0x089B39D8u); - ctx.gpr[6] = (aot_gpr_17 | 0u); + ctx.gpr[6] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0178_entry, 178u, 482u, 0x08ACD698u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B39D8u) goto L_089B39D8; AOT_REGCACHE_SYNC_OUT(); return; L_089B39D8: aot_gpr_31 = (0x089B39E0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(900))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B39E0u) goto L_089B39E0; + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B39E0u) goto L_089B39E0; AOT_REGCACHE_SYNC_OUT(); return; L_089B39E0: - if (ctx.gpr[2] == 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(900))); + if (aot_gpr_2 == 0u) { + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); goto L_089B3A0C; } goto L_089B39E8; L_089B39E8: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089B39F4u); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 5u, 0x08B00044u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B39F4u) goto L_089B39F4; AOT_REGCACHE_SYNC_OUT(); return; L_089B39F4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(72))); aot_gpr_5 = (0u + static_cast(-497)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_4 = (aot_gpr_4 | 208u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(72), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(900))); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(72), aot_gpr_4); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); goto L_089B3A0C; L_089B3A0C: aot_gpr_5 = (8192u << 16u); @@ -10238,17 +10239,17 @@ L_089B3A0C: ctx.gpr[7] = (0u + static_cast(-17)); aot_gpr_5 = (ctx.gpr[6] | aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_5); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(615)))))); - ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(900))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(615)))))); + ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[7]); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(615), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(615), static_cast(aot_gpr_4)); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x089B3A40u); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 240u, 0x08908D60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B3A40u) goto L_089B3A40; AOT_REGCACHE_SYNC_OUT(); return; L_089B3A40: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089B3A4Cu); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0192_entry, 192u, 30u, 0x08B04218u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B3A4Cu) goto L_089B3A4C; @@ -10299,7 +10300,7 @@ L_089B3A94: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (0u | 16u); aot_gpr_31 = (0x089B3AA4u); - ctx.gpr[6] = (aot_gpr_17 | 0u); + ctx.gpr[6] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0178_entry, 178u, 482u, 0x08ACD698u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B3AA4u) goto L_089B3AA4; AOT_REGCACHE_SYNC_OUT(); return; L_089B3AA4: @@ -10313,7 +10314,7 @@ L_089B3AA4: goto L_089B3AB4; } L_089B3AB4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); { const bool branch_taken = aot_gpr_4 == ctx.gpr[18]; // nop if (branch_taken) { @@ -10333,11 +10334,11 @@ L_089B3AC0: } L_089B3AD0: aot_gpr_31 = (0x089B3AD8u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(900))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B3AD8u) goto L_089B3AD8; + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B3AD8u) goto L_089B3AD8; AOT_REGCACHE_SYNC_OUT(); return; L_089B3AD8: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_089B3BFC; @@ -10345,18 +10346,18 @@ L_089B3AD8: goto L_089B3AE0; } L_089B3AE0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); aot_gpr_5 = (16384u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(456)); ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_5 = (ctx.gpr[6] | aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_5); aot_gpr_31 = (0x089B3B00u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(900))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B3B00u) goto L_089B3B00; + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890FF64, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B3B00u) goto L_089B3B00; AOT_REGCACHE_SYNC_OUT(); return; L_089B3B00: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1364))); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(22)))))); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(23)))))); @@ -10369,7 +10370,7 @@ L_089B3B00: goto L_089B3B1C; } L_089B3B1C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); aot_gpr_5 = (0u | 2u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(2276))); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; @@ -10380,7 +10381,7 @@ L_089B3B1C: goto L_089B3B30; } L_089B3B30: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(612))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(612))); aot_gpr_5 = (0u | 2u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -10390,13 +10391,13 @@ L_089B3B30: goto L_089B3B40; } L_089B3B40: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); aot_gpr_5 = (16384u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(460)); ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_5 = (ctx.gpr[6] | aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_5); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); aot_gpr_5 = (65535u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(460)); ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); @@ -10412,7 +10413,7 @@ L_089B3B40: goto L_089B3B80; } L_089B3B80: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); aot_gpr_4 = (aot_gpr_4 + static_cast(460)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_5 = (aot_gpr_5 | 32768u); @@ -10424,14 +10425,14 @@ L_089B3B80: goto L_089B3B98; } L_089B3B98: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); aot_gpr_5 = (0u | 8u); aot_gpr_31 = (0x089B3BA8u); ctx.gpr[6] = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0178_entry, 178u, 482u, 0x08ACD698u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B3BA8u) goto L_089B3BA8; AOT_REGCACHE_SYNC_OUT(); return; L_089B3BA8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); aot_gpr_5 = (0u | 6u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1360))); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; @@ -10444,10 +10445,10 @@ L_089B3BA8: L_089B3BBC: aot_gpr_31 = (0x089B3BC4u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B3BC4u) goto L_089B3BC4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B3BC4u) goto L_089B3BC4; AOT_REGCACHE_SYNC_OUT(); return; L_089B3BC4: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089B3BFC; @@ -10460,7 +10461,7 @@ L_089B3BCC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B3BD4u) goto L_089B3BD4; AOT_REGCACHE_SYNC_OUT(); return; L_089B3BD4: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x089B3BE0u); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 659u, 0x089474A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B3BE0u) goto L_089B3BE0; @@ -10474,7 +10475,7 @@ L_089B3BE0: goto L_089B3BE8; } L_089B3BE8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); aot_gpr_4 = (aot_gpr_4 + static_cast(460)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_5 = (aot_gpr_5 | 32768u); @@ -10489,7 +10490,7 @@ L_089B3BFC: } goto L_089B3C0C; L_089B3C0C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); aot_gpr_5 = (0u | 16u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1360))); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; @@ -10512,7 +10513,7 @@ L_089B3C24: goto L_089B3C30; } L_089B3C30: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); aot_gpr_5 = (0u | 6u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1360))); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; @@ -10532,14 +10533,14 @@ L_089B3C44: goto L_089B3C50; } L_089B3C50: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); aot_gpr_5 = (0u | 16u); aot_gpr_31 = (0x089B3C60u); - ctx.gpr[6] = (aot_gpr_17 | 0u); + ctx.gpr[6] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0178_entry, 178u, 482u, 0x08ACD698u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B3C60u) goto L_089B3C60; AOT_REGCACHE_SYNC_OUT(); return; L_089B3C60: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(852))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -10548,18 +10549,18 @@ L_089B3C60: goto L_089B3C6C; } L_089B3C6C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); aot_gpr_31 = (0x089B3C78u); aot_gpr_5 = (0u | 122u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 16u, 0x08860424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B3C78u) goto L_089B3C78; AOT_REGCACHE_SYNC_OUT(); return; L_089B3C78: aot_gpr_31 = (0x089B3C80u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 264u, 0x08910F00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B3C80u) goto L_089B3C80; AOT_REGCACHE_SYNC_OUT(); return; L_089B3C80: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(680))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(680))); aot_gpr_5 = (0u | 1u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -10569,7 +10570,7 @@ L_089B3C80: goto L_089B3C90; } L_089B3C90: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(852))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -10584,19 +10585,19 @@ L_089B3C9C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 16u, 0x08860424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B3CA8u) goto L_089B3CA8; AOT_REGCACHE_SYNC_OUT(); return; L_089B3CA8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(92))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(92))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_4 = (aot_gpr_4 + static_cast(304)); ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x089B3CC4u); - aot_gpr_4 = (aot_gpr_17 + ctx.gpr[6]); + aot_gpr_4 = (ctx.gpr[17] + ctx.gpr[6]); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B3CC4u) goto L_089B3CC4; AOT_REGCACHE_SYNC_OUT(); return; L_089B3CC4: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_089B3D14; @@ -10612,7 +10613,7 @@ L_089B3CCC: goto L_089B3CD4; } L_089B3CD4: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(614)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(614)))))); aot_gpr_4 = (aot_gpr_4 & 2u); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -10630,15 +10631,15 @@ L_089B3CE4: L_089B3CF0: aot_gpr_31 = (0x089B3CF8u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B3CF8u) goto L_089B3CF8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B3CF8u) goto L_089B3CF8; AOT_REGCACHE_SYNC_OUT(); return; L_089B3CF8: aot_gpr_5 = (2203u << 16u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); ctx.gpr[6] = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x089B3D0Cu); aot_gpr_5 = (aot_gpr_5 + static_cast(15676)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B3D0Cu) goto L_089B3D0C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B3D0Cu) goto L_089B3D0C; AOT_REGCACHE_SYNC_OUT(); return; L_089B3D0C: { const bool branch_taken = 0u == 0u; @@ -10657,7 +10658,7 @@ L_089B3D20: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(32), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; @@ -10676,11 +10677,11 @@ L_089B3D3C: ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(1152))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), ctx.gpr[17]); { const std::uint32_t aot_run_words[4]{ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(52), aot_run_words); } { const bool branch_taken = ctx.gpr[19] == 0u; - aot_gpr_17 = (aot_gpr_5 | 0u); + ctx.gpr[17] = (aot_gpr_5 | 0u); if (branch_taken) { goto L_089B3DB4; } @@ -10813,7 +10814,7 @@ L_089B3E28: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 542u, 0x08B02090u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B3E34u) goto L_089B3E34; AOT_REGCACHE_SYNC_OUT(); return; L_089B3E34: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(32))); if (branch_taken) { goto L_089B3E40; @@ -10854,7 +10855,7 @@ L_089B3E74: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 382u, 0x08B0D940u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B3E80u) goto L_089B3E80; AOT_REGCACHE_SYNC_OUT(); return; L_089B3E80: - { const bool branch_taken = ctx.gpr[2] != ctx.gpr[22]; + { const bool branch_taken = aot_gpr_2 != ctx.gpr[22]; aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); if (branch_taken) { goto L_089B3E9C; @@ -10947,7 +10948,7 @@ L_089B3F04: L_089B3F10: aot_gpr_4 = (0u | 0u); aot_gpr_31 = (0x089B3F1Cu); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0072_entry, 72u, 770u, 0x0892738Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B3F1Cu) goto L_089B3F1C; AOT_REGCACHE_SYNC_OUT(); return; L_089B3F1C: @@ -11036,12 +11037,12 @@ L_089B3F9C: aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(2196), ctx.gpr[7]); aot_gpr_4 = (0u | 0u); aot_gpr_31 = (0x089B3FACu); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0072_entry, 72u, 770u, 0x0892738Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B3FACu) goto L_089B3FAC; AOT_REGCACHE_SYNC_OUT(); return; L_089B3FAC: - aot_gpr_17 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(900))); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(900))); + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 11u, 0x089B407Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; @@ -11049,7 +11050,7 @@ L_089B3FAC: goto L_089B3FB8; } L_089B3FB8: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (0u | 16u); aot_gpr_31 = (0x089B3FC8u); ctx.gpr[6] = (ctx.gpr[19] | 0u); @@ -11058,25 +11059,25 @@ L_089B3FB8: L_089B3FC8: aot_gpr_31 = (0x089B3FD0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(900))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B3FD0u) goto L_089B3FD0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B3FD0u) goto L_089B3FD0; AOT_REGCACHE_SYNC_OUT(); return; L_089B3FD0: - { const bool branch_taken = ctx.gpr[2] != 0u; - aot_gpr_17 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(900))); + { const bool branch_taken = aot_gpr_2 != 0u; + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(900))); if (branch_taken) { goto L_089B3FEC; } goto L_089B3FD8; } L_089B3FD8: - aot_gpr_4 = (aot_gpr_17 + static_cast(460)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(460)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_5 = (aot_gpr_5 | 32768u); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_5); - aot_gpr_17 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(900))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(900))); goto L_089B3FEC; L_089B3FEC: - aot_gpr_4 = (aot_gpr_17 + static_cast(456)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(456)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); ctx.gpr[6] = (16384u << 16u); aot_gpr_5 = (aot_gpr_5 | ctx.gpr[6]); diff --git a/profiles/vcs/generated/generated_unit_0108.cpp b/profiles/vcs/generated/generated_unit_0108.cpp index e826479..78ca233 100644 --- a/profiles/vcs/generated/generated_unit_0108.cpp +++ b/profiles/vcs/generated/generated_unit_0108.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0108[4096] = { }; void recomp_unit_0108_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,29,5,16,31,17 fprs=12,13,14,15 gpr_occ=4190 fpr_occ=871 gpr_total=5428 fpr_total=1036 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,31,16,6 fprs=12,13,14,15 gpr_occ=4285 fpr_occ=871 gpr_total=5634 fpr_total=1036 std::uint32_t aot_gpr_4 = ctx.gpr[4]; - std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; - std::uint32_t aot_gpr_16 = ctx.gpr[16]; + std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; - std::uint32_t aot_gpr_17 = ctx.gpr[17]; + std::uint32_t aot_gpr_16 = ctx.gpr[16]; + std::uint32_t aot_gpr_6 = ctx.gpr[6]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_14 = ctx.fpr[14]; float aot_fpr_15 = ctx.fpr[15]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[29] = aot_gpr_29; ctx.gpr[5] = aot_gpr_5; ctx.gpr[16] = aot_gpr_16; ctx.gpr[31] = aot_gpr_31; ctx.gpr[17] = aot_gpr_17; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[15] = aot_fpr_15; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_17 = ctx.gpr[17]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_15 = ctx.fpr[15]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[31] = aot_gpr_31; ctx.gpr[16] = aot_gpr_16; ctx.gpr[6] = aot_gpr_6; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[15] = aot_fpr_15; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_6 = ctx.gpr[6]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_15 = ctx.fpr[15]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -911,7 +912,7 @@ LOCAL_DISPATCH: L_089B4000: aot_gpr_31 = (0x089B4008u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(900))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B4008u) goto L_089B4008; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890FF64, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B4008u) goto L_089B4008; AOT_REGCACHE_SYNC_OUT(); return; L_089B4008: { const bool branch_taken = 0u == 0u; @@ -933,10 +934,10 @@ L_089B4018: aot_gpr_4 = (50298u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(36), std::bit_cast(aot_fpr_12)); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(352))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(352))); goto L_089B4028; L_089B4028: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(208))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(208))); aot_gpr_4 = (aot_gpr_4 & 512u); aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); @@ -950,7 +951,7 @@ L_089B4028: L_089B4040: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x089B404Cu); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0072_entry, 72u, 770u, 0x0892738Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B404Cu) goto L_089B404C; AOT_REGCACHE_SYNC_OUT(); return; L_089B404C: @@ -970,21 +971,21 @@ L_089B4054: L_089B4060: aot_gpr_31 = (0x089B4068u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B4068u) goto L_089B4068; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B4068u) goto L_089B4068; AOT_REGCACHE_SYNC_OUT(); return; L_089B4068: aot_gpr_5 = (2194u << 16u); aot_gpr_4 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (ctx.gpr[18] | 0u); + aot_gpr_6 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x089B407Cu); aot_gpr_5 = (aot_gpr_5 + static_cast(29580)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B407Cu) goto L_089B407C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B407Cu) goto L_089B407C; AOT_REGCACHE_SYNC_OUT(); return; L_089B407C: { std::uint32_t aot_run_words[8]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(36), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -1002,8 +1003,8 @@ L_089B40A4: aot_gpr_29 = (aot_gpr_29 + static_cast(-192)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(160), ctx.gpr[18]); ctx.gpr[18] = (aot_gpr_5 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(156), aot_gpr_17); - aot_gpr_17 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(1152))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(156), ctx.gpr[17]); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(1152))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(148), std::bit_cast(ctx.fpr[20])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(152), aot_gpr_16); { const std::uint32_t aot_run_words[4]{ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_31}; @@ -1017,8 +1018,8 @@ L_089B40A4: } L_089B40D8: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(48)))))); - ctx.gpr[6] = (0u | 130u); - { const bool branch_taken = aot_gpr_5 == ctx.gpr[6]; + aot_gpr_6 = (0u | 130u); + { const bool branch_taken = aot_gpr_5 == aot_gpr_6; // nop if (branch_taken) { goto L_089B40F8; @@ -1027,8 +1028,8 @@ L_089B40D8: } L_089B40E8: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(48)))))); - ctx.gpr[6] = (0u | 131u); - { const bool branch_taken = aot_gpr_5 != ctx.gpr[6]; + aot_gpr_6 = (0u | 131u); + { const bool branch_taken = aot_gpr_5 != aot_gpr_6; // nop if (branch_taken) { goto L_089B4110; @@ -1045,8 +1046,8 @@ L_089B40F8: } L_089B4100: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(2228))); - ctx.gpr[6] = (0u | 45u); - { const bool branch_taken = aot_gpr_5 == ctx.gpr[6]; + aot_gpr_6 = (0u | 45u); + { const bool branch_taken = aot_gpr_5 == aot_gpr_6; // nop if (branch_taken) { goto L_089B4134; @@ -1093,7 +1094,7 @@ L_089B4144: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 362u, 0x0890D7C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B414Cu) goto L_089B414C; AOT_REGCACHE_SYNC_OUT(); return; L_089B414C: - { const bool branch_taken = aot_gpr_17 == 0u; + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_089B4180; @@ -1122,14 +1123,14 @@ L_089B4154: AOT_REGCACHE_SYNC_OUT(); return; L_089B416C: ctx.gpr[19] = (ctx.gpr[2] | 0u); - if (aot_gpr_17 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(852))); + if (ctx.gpr[17] != 0u) { + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(852))); goto L_089B4194; } goto L_089B4178; L_089B4178: { const bool branch_taken = 0u == 0u; - aot_gpr_4 = (aot_gpr_17 + static_cast(48)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(48)); if (branch_taken) { goto L_089B4240; } @@ -1152,7 +1153,7 @@ L_089B418C: L_089B4194: aot_gpr_5 = (0u | 4u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; - aot_gpr_4 = (aot_gpr_17 + static_cast(48)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(48)); if (branch_taken) { goto L_089B4240; } @@ -1210,16 +1211,16 @@ L_089B41E0: aot_mem.aot_direct_store32_block(ctx.gpr[18] + static_cast(48), aot_run_words); } goto L_089B4208; L_089B4208: - ctx.gpr[6] = (aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(2274))); + aot_gpr_6 = (aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(2274))); aot_gpr_4 = (aot_gpr_29 + static_cast(52)); aot_gpr_31 = (0x089B4218u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 78u, 0x089A8ACCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B4218u) goto L_089B4218; AOT_REGCACHE_SYNC_OUT(); return; L_089B4218: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(52))); aot_gpr_31 = (0x089B4224u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 752u, 0x0883365Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B4224u) goto L_089B4224; AOT_REGCACHE_SYNC_OUT(); return; L_089B4224: @@ -1257,7 +1258,7 @@ L_089B4240: goto L_089B4264; } L_089B4264: - { const bool branch_taken = aot_gpr_17 == 0u; + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_089B4288; @@ -1265,16 +1266,16 @@ L_089B4264: goto L_089B426C; } L_089B426C: - ctx.gpr[6] = (aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(2274))); + aot_gpr_6 = (aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(2274))); aot_gpr_4 = (aot_gpr_29 + static_cast(68)); aot_gpr_31 = (0x089B427Cu); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 78u, 0x089A8ACCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B427Cu) goto L_089B427C; AOT_REGCACHE_SYNC_OUT(); return; L_089B427C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(68))); aot_gpr_31 = (0x089B4288u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 752u, 0x0883365Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B4288u) goto L_089B4288; AOT_REGCACHE_SYNC_OUT(); return; L_089B4288: @@ -1292,13 +1293,13 @@ L_089B4294: goto L_089B429C; } L_089B429C: - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(309), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(309), static_cast(0u)); aot_gpr_4 = (14979u << 16u); aot_gpr_4 = (aot_gpr_4 | 4719u); ctx.fpr[20] = std::bit_cast(aot_gpr_4); { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[20])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(16), aot_run_words); } - aot_gpr_4 = (aot_gpr_17 + static_cast(320)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(320)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -1323,13 +1324,13 @@ L_089B429C: const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089B42DCu); aot_gpr_5 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 538u, 0x08A666C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B42DCu) goto L_089B42DC; AOT_REGCACHE_SYNC_OUT(); return; L_089B42DC: - aot_gpr_4 = (aot_gpr_17 + static_cast(112)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(112)); { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[20])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(16), aot_run_words); } aot_gpr_31 = (0x089B42F4u); @@ -1337,7 +1338,7 @@ L_089B42DC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B42F4u) goto L_089B42F4; AOT_REGCACHE_SYNC_OUT(); return; L_089B42F4: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(614)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(614)))))); aot_gpr_4 = (aot_gpr_4 & 2u); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -1348,7 +1349,7 @@ L_089B42F4: } L_089B4304: aot_gpr_31 = (0x089B430Cu); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 542u, 0x08B02090u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B430Cu) goto L_089B430C; AOT_REGCACHE_SYNC_OUT(); return; L_089B430C: @@ -1360,22 +1361,22 @@ L_089B430C: goto L_089B4314; } L_089B4314: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(92))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(92))); aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(2274))); aot_gpr_4 = (aot_gpr_4 + static_cast(272)); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - aot_gpr_4 = (aot_gpr_17 + ctx.gpr[6]); - ctx.gpr[6] = (16256u << 16u); - aot_fpr_12 = std::bit_cast(ctx.gpr[6]); + aot_gpr_4 = (ctx.gpr[17] + aot_gpr_6); + aot_gpr_6 = (16256u << 16u); + aot_fpr_12 = std::bit_cast(aot_gpr_6); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x089B433Cu); - ctx.gpr[6] = (0u | 82u); + aot_gpr_6 = (0u | 82u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B433Cu) goto L_089B433C; AOT_REGCACHE_SYNC_OUT(); return; L_089B433C: - { const bool branch_taken = aot_gpr_17 == 0u; + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_089B45F0; @@ -1383,10 +1384,10 @@ L_089B433C: goto L_089B4344; } L_089B4344: - ctx.gpr[6] = (aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(2274))); + aot_gpr_6 = (aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(2274))); aot_gpr_4 = (aot_gpr_29 + static_cast(84)); aot_gpr_31 = (0x089B4354u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 78u, 0x089A8ACCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B4354u) goto L_089B4354; AOT_REGCACHE_SYNC_OUT(); return; L_089B4354: @@ -1394,18 +1395,18 @@ L_089B4354: aot_gpr_4 = (aot_gpr_29 + static_cast(100)); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x089B4368u); - ctx.gpr[6] = (aot_gpr_17 | 0u); + aot_gpr_6 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 177u, 0x08AF5564u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B4368u) goto L_089B4368; AOT_REGCACHE_SYNC_OUT(); return; L_089B4368: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(92))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(92))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(84))); aot_gpr_4 = (aot_gpr_4 + static_cast(304)); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x089B4384u); - aot_gpr_4 = (aot_gpr_17 + ctx.gpr[6]); + aot_gpr_4 = (ctx.gpr[17] + aot_gpr_6); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B4384u) goto L_089B4384; AOT_REGCACHE_SYNC_OUT(); return; @@ -1413,7 +1414,7 @@ L_089B4384: ctx.gpr[19] = (ctx.gpr[2] < static_cast(1) ? 1u : 0u); aot_gpr_31 = (0x089B4390u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B4390u) goto L_089B4390; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B4390u) goto L_089B4390; AOT_REGCACHE_SYNC_OUT(); return; L_089B4390: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -1521,7 +1522,7 @@ L_089B4408: ctx.gpr[21] = (0u | 0u); goto L_089B440C; L_089B440C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(852))); { const bool branch_taken = aot_gpr_4 != 0u; ctx.gpr[20] = (0u | 0u); if (branch_taken) { @@ -1531,7 +1532,7 @@ L_089B440C: } L_089B4418: aot_gpr_31 = (0x089B4420u); - aot_gpr_4 = (aot_gpr_17 + static_cast(944)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(944)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 387u, 0x08B0D970u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B4420u) goto L_089B4420; AOT_REGCACHE_SYNC_OUT(); return; L_089B4420: @@ -1549,15 +1550,15 @@ L_089B442C: L_089B4430: aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[21] + static_cast(154))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(614)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(614)))))); goto L_089B44C0; } goto L_089B443C; L_089B443C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(680))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(680))); aot_gpr_5 = (0u | 6u); if (aot_gpr_4 == aot_gpr_5) { - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(614)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(614)))))); goto L_089B44C0; } goto L_089B444C; @@ -1653,7 +1654,7 @@ L_089B44B4: goto L_089B44BC; } L_089B44BC: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(614)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(614)))))); goto L_089B44C0; L_089B44C0: aot_gpr_4 = (aot_gpr_4 & 2u); @@ -1665,7 +1666,7 @@ L_089B44C0: goto L_089B44CC; } L_089B44CC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(596))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(596))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -1741,14 +1742,14 @@ L_089B4530: goto L_089B4538; } L_089B4538: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(92))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(92))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(84))); aot_gpr_4 = (aot_gpr_4 + static_cast(304)); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x089B4554u); - aot_gpr_4 = (aot_gpr_17 + ctx.gpr[6]); + aot_gpr_4 = (ctx.gpr[17] + aot_gpr_6); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B4554u) goto L_089B4554; AOT_REGCACHE_SYNC_OUT(); return; @@ -1763,13 +1764,13 @@ L_089B4554: L_089B455C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(84))); aot_gpr_31 = (0x089B4568u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 752u, 0x0883365Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B4568u) goto L_089B4568; AOT_REGCACHE_SYNC_OUT(); return; L_089B4568: aot_gpr_31 = (0x089B4570u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B4570u) goto L_089B4570; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B4570u) goto L_089B4570; AOT_REGCACHE_SYNC_OUT(); return; L_089B4570: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -1782,15 +1783,15 @@ L_089B4570: L_089B4578: aot_gpr_31 = (0x089B4580u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B4580u) goto L_089B4580; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B4580u) goto L_089B4580; AOT_REGCACHE_SYNC_OUT(); return; L_089B4580: aot_gpr_5 = (2194u << 16u); aot_gpr_4 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (ctx.gpr[18] | 0u); + aot_gpr_6 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x089B4594u); aot_gpr_5 = (aot_gpr_5 + static_cast(26328)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B4594u) goto L_089B4594; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B4594u) goto L_089B4594; AOT_REGCACHE_SYNC_OUT(); return; L_089B4594: { const bool branch_taken = 0u == 0u; @@ -1801,14 +1802,14 @@ L_089B4594: goto L_089B459C; } L_089B459C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(92))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(92))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(84))); aot_gpr_4 = (aot_gpr_4 + static_cast(304)); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x089B45B8u); - aot_gpr_4 = (aot_gpr_17 + ctx.gpr[6]); + aot_gpr_4 = (ctx.gpr[17] + aot_gpr_6); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B45B8u) goto L_089B45B8; AOT_REGCACHE_SYNC_OUT(); return; @@ -1821,7 +1822,7 @@ L_089B45B8: goto L_089B45C0; } L_089B45C0: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(614)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(614)))))); aot_gpr_4 = (aot_gpr_4 & 2u); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -1833,7 +1834,7 @@ L_089B45C0: L_089B45D0: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(84))); aot_gpr_31 = (0x089B45DCu); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 752u, 0x0883365Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B45DCu) goto L_089B45DC; AOT_REGCACHE_SYNC_OUT(); return; L_089B45DC: @@ -1861,7 +1862,7 @@ L_089B45FC: aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(148), aot_run_words); ctx.fpr[20] = std::bit_cast(aot_run_words[0]); aot_gpr_16 = aot_run_words[1]; - aot_gpr_17 = aot_run_words[2]; + ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; ctx.gpr[19] = aot_run_words[4]; ctx.gpr[20] = aot_run_words[5]; @@ -1876,17 +1877,17 @@ L_089B45FC: AOT_REGCACHE_SYNC_OUT(); return; L_089B4624: aot_gpr_29 = (aot_gpr_29 + static_cast(-112)); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(2276))); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, ctx.gpr[18]}; + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(2276))); + { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(76), aot_run_words); } - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); ctx.gpr[18] = (0u | 2u); aot_gpr_16 = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), std::bit_cast(ctx.fpr[20])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(72), std::bit_cast(ctx.fpr[22])); { const std::uint32_t aot_run_words[5]{ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(88), aot_run_words); } - { const bool branch_taken = ctx.gpr[6] != ctx.gpr[18]; + { const bool branch_taken = aot_gpr_6 != ctx.gpr[18]; ctx.gpr[19] = (aot_gpr_5 | 0u); if (branch_taken) { goto L_089B469C; @@ -2045,7 +2046,7 @@ L_089B4728: } L_089B473C: { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (ctx.gpr[19] | 0u); + ctx.gpr[17] = (ctx.gpr[19] | 0u); if (branch_taken) { goto L_089B4774; } @@ -2073,7 +2074,7 @@ L_089B4758: } L_089B4764: { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(900))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(900))); if (branch_taken) { goto L_089B4774; } @@ -2088,7 +2089,7 @@ L_089B476C: goto L_089B4774; } L_089B4774: - { const bool branch_taken = aot_gpr_17 == 0u; + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_089B4854; @@ -2097,18 +2098,18 @@ L_089B4774: } L_089B477C: aot_gpr_31 = (0x089B4784u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B4784u) goto L_089B4784; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B4784u) goto L_089B4784; AOT_REGCACHE_SYNC_OUT(); return; L_089B4784: if (ctx.gpr[2] != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1360))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1360))); goto L_089B47A0; } goto L_089B478C; L_089B478C: aot_gpr_31 = (0x089B4794u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 319u, 0x0890D46Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B4794u) goto L_089B4794; AOT_REGCACHE_SYNC_OUT(); return; L_089B4794: @@ -2120,7 +2121,7 @@ L_089B4794: goto L_089B479C; } L_089B479C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1360))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1360))); goto L_089B47A0; L_089B47A0: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-24276))); @@ -2188,15 +2189,15 @@ L_089B4804: goto L_089B4818; } L_089B4818: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1360))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1360))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-24276))); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(1784))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(684))); - aot_gpr_4 = (ctx.gpr[6] | aot_gpr_4); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(684))); + aot_gpr_4 = (aot_gpr_6 | aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(684), aot_gpr_4); goto L_089B4840; L_089B4840: @@ -2211,7 +2212,7 @@ L_089B4840: goto L_089B4854; } L_089B4854: - { const bool branch_taken = aot_gpr_17 == 0u; + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_089B4A00; @@ -2220,8 +2221,8 @@ L_089B4854: } L_089B485C: aot_gpr_31 = (0x089B4864u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B4864u) goto L_089B4864; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B4864u) goto L_089B4864; AOT_REGCACHE_SYNC_OUT(); return; L_089B4864: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -2232,16 +2233,16 @@ L_089B4864: goto L_089B486C; } L_089B486C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(2228))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(2228))); aot_gpr_5 = (0u | 59u); if (aot_gpr_4 == aot_gpr_5) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1152))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1152))); goto L_089B4890; } goto L_089B487C; L_089B487C: aot_gpr_31 = (0x089B4884u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 195u, 0x08910B38u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B4884u) goto L_089B4884; AOT_REGCACHE_SYNC_OUT(); return; L_089B4884: @@ -2253,7 +2254,7 @@ L_089B4884: goto L_089B488C; } L_089B488C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1152))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1152))); goto L_089B4890; L_089B4890: { const bool branch_taken = aot_gpr_4 == 0u; @@ -2264,7 +2265,7 @@ L_089B4890: goto L_089B4898; } L_089B4898: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1152))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1152))); aot_gpr_5 = (0u + static_cast(-957)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(86)))))); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; @@ -2292,7 +2293,7 @@ L_089B48AC: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_5 = (16880u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_5); - ctx.gpr[6] = (aot_gpr_29 + static_cast(64)); + aot_gpr_6 = (aot_gpr_29 + static_cast(64)); ctx.gpr[8] = (aot_gpr_29 + static_cast(32)); aot_gpr_5 = (0u | 1u); ctx.gpr[7] = (0u | 6u); @@ -2321,8 +2322,8 @@ L_089B4900: goto L_089B4908; L_089B4908: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(64)))))); - aot_gpr_17 = (0u | 0u); - aot_gpr_4 = (static_cast(aot_gpr_17) < static_cast(aot_gpr_4) ? 1u : 0u); + ctx.gpr[17] = (0u | 0u); + aot_gpr_4 = (static_cast(ctx.gpr[17]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_4 = (16204u << 16u); if (branch_taken) { @@ -2439,8 +2440,8 @@ L_089B49A8: goto L_089B49EC; L_089B49EC: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(64)))))); - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - aot_gpr_4 = (static_cast(aot_gpr_17) < static_cast(aot_gpr_4) ? 1u : 0u); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + aot_gpr_4 = (static_cast(ctx.gpr[17]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; ctx.gpr[20] = (ctx.gpr[20] + static_cast(4)); if (branch_taken) { @@ -2454,7 +2455,7 @@ L_089B4A00: ctx.fpr[20] = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); aot_gpr_16 = aot_run_words[2]; - aot_gpr_17 = aot_run_words[3]; + ctx.gpr[17] = aot_run_words[3]; ctx.gpr[18] = aot_run_words[4]; ctx.gpr[19] = aot_run_words[5]; ctx.gpr[20] = aot_run_words[6]; @@ -2471,7 +2472,7 @@ L_089B4A00: L_089B4A30: aot_gpr_29 = (aot_gpr_29 + static_cast(-704)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(2192))); - { const std::uint32_t aot_run_words[8]{std::bit_cast(ctx.fpr[20]), aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_31}; + { const std::uint32_t aot_run_words[8]{std::bit_cast(ctx.fpr[20]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(672), aot_run_words); } { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_16 = (aot_gpr_4 | 0u); @@ -2537,8 +2538,8 @@ L_089B4AB0: goto L_089B4AD4; } L_089B4AD4: - aot_gpr_17 = (0u | 0u); - aot_gpr_4 = (static_cast(aot_gpr_17) < 6 ? 1u : 0u); + ctx.gpr[17] = (0u | 0u); + aot_gpr_4 = (static_cast(ctx.gpr[17]) < 6 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -2548,7 +2549,7 @@ L_089B4AD4: } L_089B4AE4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2192))); - aot_gpr_5 = (aot_gpr_17 << 5u); + aot_gpr_5 = (ctx.gpr[17] << 5u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(3292))); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(6112))); @@ -2569,10 +2570,10 @@ L_089B4B00: AOT_REGCACHE_SYNC_OUT(); return; L_089B4B14: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2192))); - aot_gpr_5 = (aot_gpr_17 << 5u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(3292))); + aot_gpr_5 = (ctx.gpr[17] << 5u); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(3292))); aot_gpr_4 = (ctx.gpr[21] | 0u); - aot_gpr_5 = (ctx.gpr[6] + aot_gpr_5); + aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); aot_gpr_31 = (0x089B4B30u); aot_gpr_5 = (aot_gpr_5 + static_cast(6096)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 461u, 0x08A93198u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B4B30u) goto L_089B4B30; @@ -2588,8 +2589,8 @@ L_089B4B30: L_089B4B38: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2192))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(3292))); - aot_gpr_17 = (aot_gpr_17 << 5u); - aot_gpr_4 = (aot_gpr_4 + aot_gpr_17); + ctx.gpr[17] = (ctx.gpr[17] << 5u); + aot_gpr_4 = (aot_gpr_4 + ctx.gpr[17]); aot_gpr_4 = (aot_gpr_4 + static_cast(6096)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; @@ -2614,7 +2615,7 @@ L_089B4B38: L_089B4B68: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2192))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(3292))); - aot_gpr_4 = (aot_gpr_4 + aot_gpr_17); + aot_gpr_4 = (aot_gpr_4 + ctx.gpr[17]); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(6116)))))); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 == 0u; @@ -2627,15 +2628,15 @@ L_089B4B68: L_089B4B84: aot_gpr_31 = (0x089B4B8Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B4B8Cu) goto L_089B4B8C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B4B8Cu) goto L_089B4B8C; AOT_REGCACHE_SYNC_OUT(); return; L_089B4B8C: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-13308))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-13312))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-13312))); aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x089B4BA0u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B4BA0u) goto L_089B4BA0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B4BA0u) goto L_089B4BA0; AOT_REGCACHE_SYNC_OUT(); return; L_089B4BA0: ctx.gpr[1] = (ctx.gpr[3] << 1u); @@ -2645,9 +2646,9 @@ L_089B4BA0: aot_gpr_4 = (aot_gpr_4 | 0u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(460))); aot_gpr_4 = (static_cast(aot_gpr_4) < 15 ? 1u : 0u); - ctx.gpr[6] = (0u + static_cast(-4097)); + aot_gpr_6 = (0u + static_cast(-4097)); aot_gpr_4 = (aot_gpr_4 << 12u); - aot_gpr_5 = (aot_gpr_5 & ctx.gpr[6]); + aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); aot_gpr_4 = (aot_gpr_5 | aot_gpr_4); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(460), aot_gpr_4); @@ -2681,10 +2682,10 @@ L_089B4C04: goto L_089B4C0C; } L_089B4C0C: - aot_gpr_4 = (aot_gpr_17 + static_cast(1)); - aot_gpr_17 = (aot_gpr_4 << 16u); - aot_gpr_17 = (static_cast(static_cast(aot_gpr_17) >> 16u)); - aot_gpr_4 = (static_cast(aot_gpr_17) < 6 ? 1u : 0u); + aot_gpr_4 = (ctx.gpr[17] + static_cast(1)); + ctx.gpr[17] = (aot_gpr_4 << 16u); + ctx.gpr[17] = (static_cast(static_cast(ctx.gpr[17]) >> 16u)); + aot_gpr_4 = (static_cast(ctx.gpr[17]) < 6 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -2701,8 +2702,8 @@ L_089B4C24: goto L_089B4C2C; } L_089B4C2C: - aot_gpr_17 = (0u | 0u); - aot_gpr_4 = (static_cast(aot_gpr_17) < 6 ? 1u : 0u); + ctx.gpr[17] = (0u | 0u); + aot_gpr_4 = (static_cast(ctx.gpr[17]) < 6 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -2712,7 +2713,7 @@ L_089B4C2C: } L_089B4C3C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2192))); - aot_gpr_5 = (aot_gpr_17 << 5u); + aot_gpr_5 = (ctx.gpr[17] << 5u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(3292))); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(6112))); @@ -2726,7 +2727,7 @@ L_089B4C3C: L_089B4C58: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2192))); aot_fpr_12 = std::bit_cast(0u); - aot_gpr_5 = (aot_gpr_17 << 5u); + aot_gpr_5 = (ctx.gpr[17] << 5u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(3292))); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(6096))); @@ -2741,7 +2742,7 @@ L_089B4C58: } L_089B4C80: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2192))); - aot_gpr_5 = (aot_gpr_17 << 5u); + aot_gpr_5 = (ctx.gpr[17] << 5u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(3292))); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(6112), aot_gpr_16); @@ -2760,15 +2761,15 @@ L_089B4C80: L_089B4CB0: aot_gpr_31 = (0x089B4CB8u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B4CB8u) goto L_089B4CB8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B4CB8u) goto L_089B4CB8; AOT_REGCACHE_SYNC_OUT(); return; L_089B4CB8: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-13308))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-13312))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-13312))); aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x089B4CCCu); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B4CCCu) goto L_089B4CCC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B4CCCu) goto L_089B4CCC; AOT_REGCACHE_SYNC_OUT(); return; L_089B4CCC: ctx.gpr[1] = (ctx.gpr[3] << 1u); @@ -2778,9 +2779,9 @@ L_089B4CCC: aot_gpr_4 = (aot_gpr_4 | 0u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(460))); aot_gpr_4 = (static_cast(aot_gpr_4) < 25 ? 1u : 0u); - ctx.gpr[6] = (0u + static_cast(-4097)); + aot_gpr_6 = (0u + static_cast(-4097)); aot_gpr_4 = (aot_gpr_4 << 12u); - aot_gpr_5 = (aot_gpr_5 & ctx.gpr[6]); + aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); aot_gpr_4 = (aot_gpr_5 | aot_gpr_4); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(460), aot_gpr_4); @@ -2798,7 +2799,7 @@ L_089B4D00: L_089B4D10: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2192))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(3292))); - aot_gpr_5 = (aot_gpr_17 << 5u); + aot_gpr_5 = (ctx.gpr[17] << 5u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_gpr_4 + static_cast(6096)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); @@ -2850,10 +2851,10 @@ L_089B4D58: goto L_089B4D8C; } L_089B4D8C: - aot_gpr_4 = (aot_gpr_17 + static_cast(1)); - aot_gpr_17 = (aot_gpr_4 << 16u); - aot_gpr_17 = (static_cast(static_cast(aot_gpr_17) >> 16u)); - aot_gpr_4 = (static_cast(aot_gpr_17) < 6 ? 1u : 0u); + aot_gpr_4 = (ctx.gpr[17] + static_cast(1)); + ctx.gpr[17] = (aot_gpr_4 << 16u); + ctx.gpr[17] = (static_cast(static_cast(ctx.gpr[17]) >> 16u)); + aot_gpr_4 = (static_cast(ctx.gpr[17]) < 6 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -2887,7 +2888,7 @@ L_089B4DAC: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_5 = (16752u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_5); - ctx.gpr[6] = (aot_gpr_29 + static_cast(96)); + aot_gpr_6 = (aot_gpr_29 + static_cast(96)); ctx.gpr[8] = (aot_gpr_29 + static_cast(64)); aot_gpr_5 = (0u | 1u); ctx.gpr[7] = (0u | 6u); @@ -2902,8 +2903,8 @@ L_089B4DAC: AOT_REGCACHE_SYNC_OUT(); return; L_089B4DF0: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(96)))))); - aot_gpr_17 = (0u | 0u); - aot_gpr_4 = (static_cast(aot_gpr_17) < static_cast(aot_gpr_4) ? 1u : 0u); + ctx.gpr[17] = (0u | 0u); + aot_gpr_4 = (static_cast(ctx.gpr[17]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -2912,7 +2913,7 @@ L_089B4DF0: goto L_089B4E04; } L_089B4E04: - aot_gpr_4 = (aot_gpr_17 << 2u); + aot_gpr_4 = (ctx.gpr[17] << 2u); aot_gpr_4 = (aot_gpr_29 + aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(64))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(852))); @@ -3077,11 +3078,11 @@ L_089B4EE0: ctx.gpr[19] = (aot_gpr_4 | 0u); goto L_089B4EF8; L_089B4EF8: - aot_gpr_4 = (aot_gpr_17 + static_cast(1)); - aot_gpr_17 = (aot_gpr_4 << 16u); + aot_gpr_4 = (ctx.gpr[17] + static_cast(1)); + ctx.gpr[17] = (aot_gpr_4 << 16u); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(96)))))); - aot_gpr_17 = (static_cast(static_cast(aot_gpr_17) >> 16u)); - aot_gpr_4 = (static_cast(aot_gpr_17) < static_cast(aot_gpr_4) ? 1u : 0u); + ctx.gpr[17] = (static_cast(static_cast(ctx.gpr[17]) >> 16u)); + aot_gpr_4 = (static_cast(ctx.gpr[17]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -3103,11 +3104,11 @@ L_089B4F1C: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_4 = (ctx.gpr[19] + aot_gpr_5); - aot_gpr_17 = (aot_gpr_29 + static_cast(224)); + ctx.gpr[17] = (aot_gpr_29 + static_cast(224)); aot_gpr_5 = (0u | 2u); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x089B4F40u); - ctx.gpr[6] = (aot_gpr_17 | 0u); + aot_gpr_6 = (ctx.gpr[17] | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B4F40u) goto L_089B4F40; AOT_REGCACHE_SYNC_OUT(); return; @@ -3121,12 +3122,12 @@ L_089B4F40: aot_gpr_5 = (0u | 5u); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x089B4F64u); - ctx.gpr[6] = (ctx.gpr[18] | 0u); + aot_gpr_6 = (ctx.gpr[18] | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B4F64u) goto L_089B4F64; AOT_REGCACHE_SYNC_OUT(); return; L_089B4F64: - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -3343,14 +3344,14 @@ L_089B5078: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } goto L_089B50C0; L_089B50C0: - aot_gpr_17 = (aot_gpr_29 + static_cast(352)); - aot_gpr_4 = (aot_gpr_17 | 0u); + ctx.gpr[17] = (aot_gpr_29 + static_cast(352)); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089B50D0u); aot_gpr_5 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 912u, 0x0885F828u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B50D0u) goto L_089B50D0; AOT_REGCACHE_SYNC_OUT(); return; L_089B50D0: - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -3359,7 +3360,7 @@ L_089B50D0: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<4u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(16); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(16); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -3368,7 +3369,7 @@ L_089B50D0: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<5u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(32); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(32); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -3413,12 +3414,12 @@ L_089B50D0: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 0u>(); - ctx.gpr[6] = (aot_gpr_29 + static_cast(208)); + aot_gpr_6 = (aot_gpr_29 + static_cast(208)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - { const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -3432,7 +3433,7 @@ L_089B50D0: const std::uint32_t vfpu_address = ctx.gpr[7] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -3441,7 +3442,7 @@ L_089B50D0: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<4u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(16); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(16); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -3450,7 +3451,7 @@ L_089B50D0: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<5u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(32); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(32); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -3494,10 +3495,10 @@ L_089B50D0: ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 0u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - { const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -3533,10 +3534,10 @@ L_089B50D0: ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - { const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -3572,10 +3573,10 @@ L_089B50D0: ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - { const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -3681,7 +3682,7 @@ L_089B51EC: aot_gpr_5 = (16128u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_5); aot_gpr_5 = (0u | 0u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); ctx.gpr[7] = (0u | 1u); ctx.gpr[8] = (0u | 1u); ctx.gpr[9] = (0u | 0u); @@ -3774,31 +3775,31 @@ L_089B52BC: L_089B52C4: aot_gpr_31 = (0x089B52CCu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B52CCu) goto L_089B52CC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B52CCu) goto L_089B52CC; AOT_REGCACHE_SYNC_OUT(); return; L_089B52CC: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-13300))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-13304))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-13304))); aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x089B52E0u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B52E0u) goto L_089B52E0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B52E0u) goto L_089B52E0; AOT_REGCACHE_SYNC_OUT(); return; L_089B52E0: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-13292))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-13296))); ctx.gpr[1] = (ctx.gpr[3] << 1u); - ctx.gpr[6] = (ctx.gpr[2] >> 31u); + aot_gpr_6 = (ctx.gpr[2] >> 31u); ctx.gpr[7] = (static_cast(static_cast(ctx.gpr[3]) >> 31u)); - ctx.gpr[6] = (ctx.gpr[1] | ctx.gpr[6]); - ctx.gpr[8] = (ctx.gpr[6] + aot_gpr_4); + aot_gpr_6 = (ctx.gpr[1] | aot_gpr_6); + ctx.gpr[8] = (aot_gpr_6 + aot_gpr_4); ctx.gpr[9] = (ctx.gpr[8] < aot_gpr_4 ? 1u : 0u); - ctx.gpr[6] = (ctx.gpr[9] + ctx.gpr[7]); - aot_gpr_5 = (ctx.gpr[6] + aot_gpr_5); + aot_gpr_6 = (ctx.gpr[9] + ctx.gpr[7]); + aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); aot_gpr_4 = (ctx.gpr[8] | 0u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_4 = (aot_gpr_4 | 0u); - aot_gpr_4 = (ctx.gpr[6] + aot_gpr_4); + aot_gpr_4 = (aot_gpr_6 + aot_gpr_4); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(460))); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(1764), aot_gpr_4); aot_gpr_4 = (65408u << 16u); @@ -3951,17 +3952,17 @@ L_089B542C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x089B5438u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B5438u) goto L_089B5438; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B5438u) goto L_089B5438; AOT_REGCACHE_SYNC_OUT(); return; L_089B5438: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); aot_gpr_5 = (0u | 0u); aot_gpr_4 = (aot_gpr_4 + static_cast(248)); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x089B5454u); - aot_gpr_4 = (aot_gpr_16 + ctx.gpr[6]); + aot_gpr_4 = (aot_gpr_16 + aot_gpr_6); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B5454u) goto L_089B5454; AOT_REGCACHE_SYNC_OUT(); return; @@ -3997,12 +3998,12 @@ L_089B547C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1716))); aot_gpr_31 = (0x089B5488u); aot_gpr_5 = (aot_gpr_16 + static_cast(1716)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B5488u) goto L_089B5488; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B5488u) goto L_089B5488; AOT_REGCACHE_SYNC_OUT(); return; L_089B5488: aot_gpr_31 = (0x089B5490u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B5490u) goto L_089B5490; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B5490u) goto L_089B5490; AOT_REGCACHE_SYNC_OUT(); return; L_089B5490: ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-13284))); @@ -4011,53 +4012,53 @@ L_089B5490: aot_gpr_5 = (0u | 0u); ctx.gpr[7] = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x089B54ACu); - ctx.gpr[6] = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B54ACu) goto L_089B54AC; + aot_gpr_6 = (ctx.gpr[18] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B54ACu) goto L_089B54AC; AOT_REGCACHE_SYNC_OUT(); return; L_089B54AC: ctx.gpr[1] = (ctx.gpr[3] << 1u); aot_gpr_4 = (ctx.gpr[2] >> 31u); aot_gpr_5 = (static_cast(static_cast(ctx.gpr[3]) >> 31u)); aot_gpr_4 = (ctx.gpr[1] | aot_gpr_4); - ctx.gpr[6] = (aot_gpr_4 + ctx.gpr[18]); - ctx.gpr[7] = (ctx.gpr[6] < ctx.gpr[18] ? 1u : 0u); + aot_gpr_6 = (aot_gpr_4 + ctx.gpr[18]); + ctx.gpr[7] = (aot_gpr_6 < ctx.gpr[18] ? 1u : 0u); aot_gpr_4 = (ctx.gpr[7] + aot_gpr_5); aot_gpr_5 = (aot_gpr_4 + ctx.gpr[19]); - aot_gpr_4 = (ctx.gpr[6] | 0u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); + aot_gpr_4 = (aot_gpr_6 | 0u); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_4 = (aot_gpr_4 | 0u); - aot_gpr_4 = (ctx.gpr[6] + aot_gpr_4); + aot_gpr_4 = (aot_gpr_6 + aot_gpr_4); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(460))); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(1728), aot_gpr_4); aot_gpr_4 = (aot_gpr_5 | 4096u); aot_gpr_31 = (0x089B54F0u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(460), aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B54F0u) goto L_089B54F0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B54F0u) goto L_089B54F0; AOT_REGCACHE_SYNC_OUT(); return; L_089B54F0: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_5 = (0u | 0u); ctx.gpr[7] = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x089B5504u); - ctx.gpr[6] = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B5504u) goto L_089B5504; + aot_gpr_6 = (ctx.gpr[18] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B5504u) goto L_089B5504; AOT_REGCACHE_SYNC_OUT(); return; L_089B5504: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-13276))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-13280))); ctx.gpr[1] = (ctx.gpr[3] << 1u); - ctx.gpr[6] = (ctx.gpr[2] >> 31u); + aot_gpr_6 = (ctx.gpr[2] >> 31u); ctx.gpr[7] = (static_cast(static_cast(ctx.gpr[3]) >> 31u)); - ctx.gpr[6] = (ctx.gpr[1] | ctx.gpr[6]); - ctx.gpr[8] = (ctx.gpr[6] + aot_gpr_4); + aot_gpr_6 = (ctx.gpr[1] | aot_gpr_6); + ctx.gpr[8] = (aot_gpr_6 + aot_gpr_4); ctx.gpr[9] = (ctx.gpr[8] < aot_gpr_4 ? 1u : 0u); - ctx.gpr[6] = (ctx.gpr[9] + ctx.gpr[7]); - aot_gpr_5 = (ctx.gpr[6] + aot_gpr_5); + aot_gpr_6 = (ctx.gpr[9] + ctx.gpr[7]); + aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); aot_gpr_4 = (ctx.gpr[8] | 0u); aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x089B5540u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 654u, 0x089AB1F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B5540u) goto L_089B5540; AOT_REGCACHE_SYNC_OUT(); return; L_089B5540: @@ -4147,31 +4148,31 @@ L_089B55B8: aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_31 = (0x089B55E4u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2264), std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B55E4u) goto L_089B55E4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B55E4u) goto L_089B55E4; AOT_REGCACHE_SYNC_OUT(); return; L_089B55E4: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-13268))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-13272))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-13272))); aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x089B55F8u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B55F8u) goto L_089B55F8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B55F8u) goto L_089B55F8; AOT_REGCACHE_SYNC_OUT(); return; L_089B55F8: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-13260))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-13264))); ctx.gpr[1] = (ctx.gpr[3] << 1u); - ctx.gpr[6] = (ctx.gpr[2] >> 31u); + aot_gpr_6 = (ctx.gpr[2] >> 31u); ctx.gpr[7] = (static_cast(static_cast(ctx.gpr[3]) >> 31u)); - ctx.gpr[6] = (ctx.gpr[1] | ctx.gpr[6]); - ctx.gpr[8] = (ctx.gpr[6] + aot_gpr_4); + aot_gpr_6 = (ctx.gpr[1] | aot_gpr_6); + ctx.gpr[8] = (aot_gpr_6 + aot_gpr_4); ctx.gpr[9] = (ctx.gpr[8] < aot_gpr_4 ? 1u : 0u); - ctx.gpr[6] = (ctx.gpr[9] + ctx.gpr[7]); - aot_gpr_5 = (ctx.gpr[6] + aot_gpr_5); + aot_gpr_6 = (ctx.gpr[9] + ctx.gpr[7]); + aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); aot_gpr_4 = (ctx.gpr[8] | 0u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_4 = (aot_gpr_4 | 0u); - aot_gpr_4 = (ctx.gpr[6] + aot_gpr_4); + aot_gpr_4 = (aot_gpr_6 + aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(1764), aot_gpr_4); aot_gpr_31 = (0x089B563Cu); aot_gpr_4 = (aot_gpr_16 | 0u); @@ -4250,7 +4251,7 @@ L_089B56A8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1716))); aot_gpr_31 = (0x089B56B4u); aot_gpr_5 = (aot_gpr_16 + static_cast(1716)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B56B4u) goto L_089B56B4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B56B4u) goto L_089B56B4; AOT_REGCACHE_SYNC_OUT(); return; L_089B56B4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(456))); @@ -4276,7 +4277,7 @@ L_089B56D4: aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(672), aot_run_words); ctx.fpr[20] = std::bit_cast(aot_run_words[0]); aot_gpr_16 = aot_run_words[1]; - aot_gpr_17 = aot_run_words[2]; + ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; ctx.gpr[19] = aot_run_words[4]; ctx.gpr[20] = aot_run_words[5]; @@ -4292,23 +4293,23 @@ L_089B56D4: L_089B56FC: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_17); - aot_gpr_17 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_4 | 0u); aot_gpr_16 = (aot_gpr_5 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), std::bit_cast(ctx.fpr[20])); { const std::uint32_t aot_run_words[3]{ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(12), aot_run_words); } aot_gpr_31 = (0x089B5728u); - ctx.gpr[19] = (ctx.gpr[6] & 255u); + ctx.gpr[19] = (aot_gpr_6 & 255u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 697u, 0x0890EF9Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B5728u) goto L_089B5728; AOT_REGCACHE_SYNC_OUT(); return; L_089B5728: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(852))); - ctx.gpr[6] = (17096u << 16u); + aot_gpr_6 = (17096u << 16u); aot_gpr_5 = (0u | 1u); - ctx.fpr[20] = std::bit_cast(ctx.gpr[6]); + ctx.fpr[20] = std::bit_cast(aot_gpr_6); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; - ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(80))); + ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(80))); if (branch_taken) { goto L_089B598C; } @@ -4323,8 +4324,8 @@ L_089B5740: goto L_089B5748; } L_089B5748: - ctx.gpr[6] = (0u | 6u); - { const bool branch_taken = aot_gpr_4 == ctx.gpr[6]; + aot_gpr_6 = (0u | 6u); + { const bool branch_taken = aot_gpr_4 == aot_gpr_6; aot_gpr_5 = (0u | 0u); if (branch_taken) { goto L_089B5770; @@ -4332,24 +4333,24 @@ L_089B5748: goto L_089B5754; } L_089B5754: - ctx.gpr[6] = (0u | 8u); - { const bool branch_taken = aot_gpr_4 == ctx.gpr[6]; - ctx.gpr[6] = (0u | 9u); + aot_gpr_6 = (0u | 8u); + { const bool branch_taken = aot_gpr_4 == aot_gpr_6; + aot_gpr_6 = (0u | 9u); if (branch_taken) { goto L_089B5770; } goto L_089B5760; } L_089B5760: - { const bool branch_taken = aot_gpr_4 == ctx.gpr[6]; - ctx.gpr[6] = (0u | 2u); + { const bool branch_taken = aot_gpr_4 == aot_gpr_6; + aot_gpr_6 = (0u | 2u); if (branch_taken) { goto L_089B5770; } goto L_089B5768; } L_089B5768: - { const bool branch_taken = aot_gpr_4 != ctx.gpr[6]; + { const bool branch_taken = aot_gpr_4 != aot_gpr_6; aot_gpr_4 = (aot_gpr_5 & 255u); if (branch_taken) { goto L_089B5778; @@ -4372,27 +4373,27 @@ L_089B5780: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); aot_gpr_4 = (aot_gpr_4 + static_cast(376)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - jump_target = ctx.gpr[6]; + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); + jump_target = aot_gpr_6; aot_gpr_31 = (0x089B5798u); aot_gpr_4 = (aot_gpr_16 + aot_gpr_5); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B5798u) goto L_089B5798; AOT_REGCACHE_SYNC_OUT(); return; L_089B5798: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_gpr_5 = (ctx.gpr[18] | 0u); - ctx.gpr[6] = (ctx.gpr[2] | 0u); + aot_gpr_6 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x089B57B0u); ctx.gpr[7] = (0u | 187u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 163u, 0x089088F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B57B0u) goto L_089B57B0; AOT_REGCACHE_SYNC_OUT(); return; L_089B57B0: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089B57BCu); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B57BCu) goto L_089B57BC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B57BCu) goto L_089B57BC; AOT_REGCACHE_SYNC_OUT(); return; L_089B57BC: { const bool branch_taken = 0u == 0u; @@ -4413,19 +4414,19 @@ L_089B57C4: goto L_089B57D4; } L_089B57D4: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_gpr_5 = (ctx.gpr[18] | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x089B57ECu); ctx.gpr[7] = (0u | 98u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 163u, 0x089088F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B57ECu) goto L_089B57EC; AOT_REGCACHE_SYNC_OUT(); return; L_089B57EC: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089B57F8u); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B57F8u) goto L_089B57F8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B57F8u) goto L_089B57F8; AOT_REGCACHE_SYNC_OUT(); return; L_089B57F8: { const bool branch_taken = 0u == 0u; @@ -4436,19 +4437,19 @@ L_089B57F8: goto L_089B5800; } L_089B5800: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_gpr_5 = (ctx.gpr[18] | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x089B5818u); ctx.gpr[7] = (0u | 97u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 163u, 0x089088F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B5818u) goto L_089B5818; AOT_REGCACHE_SYNC_OUT(); return; L_089B5818: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089B5824u); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B5824u) goto L_089B5824; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B5824u) goto L_089B5824; AOT_REGCACHE_SYNC_OUT(); return; L_089B5824: { const bool branch_taken = 0u == 0u; @@ -4471,27 +4472,27 @@ L_089B5838: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); aot_gpr_4 = (aot_gpr_4 + static_cast(376)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - jump_target = ctx.gpr[6]; + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); + jump_target = aot_gpr_6; aot_gpr_31 = (0x089B5850u); aot_gpr_4 = (aot_gpr_16 + aot_gpr_5); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B5850u) goto L_089B5850; AOT_REGCACHE_SYNC_OUT(); return; L_089B5850: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_gpr_5 = (ctx.gpr[18] | 0u); - ctx.gpr[6] = (ctx.gpr[2] | 0u); + aot_gpr_6 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x089B5868u); ctx.gpr[7] = (0u | 204u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 163u, 0x089088F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B5868u) goto L_089B5868; AOT_REGCACHE_SYNC_OUT(); return; L_089B5868: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089B5874u); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B5874u) goto L_089B5874; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B5874u) goto L_089B5874; AOT_REGCACHE_SYNC_OUT(); return; L_089B5874: { const bool branch_taken = 0u == 0u; @@ -4522,27 +4523,27 @@ L_089B5890: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); aot_gpr_4 = (aot_gpr_4 + static_cast(376)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - jump_target = ctx.gpr[6]; + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); + jump_target = aot_gpr_6; aot_gpr_31 = (0x089B58A8u); aot_gpr_4 = (aot_gpr_16 + aot_gpr_5); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B58A8u) goto L_089B58A8; AOT_REGCACHE_SYNC_OUT(); return; L_089B58A8: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_gpr_5 = (ctx.gpr[18] | 0u); - ctx.gpr[6] = (ctx.gpr[2] | 0u); + aot_gpr_6 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x089B58C0u); ctx.gpr[7] = (0u | 204u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 163u, 0x089088F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B58C0u) goto L_089B58C0; AOT_REGCACHE_SYNC_OUT(); return; L_089B58C0: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089B58CCu); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B58CCu) goto L_089B58CC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B58CCu) goto L_089B58CC; AOT_REGCACHE_SYNC_OUT(); return; L_089B58CC: { const bool branch_taken = 0u == 0u; @@ -4565,27 +4566,27 @@ L_089B58E0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); aot_gpr_4 = (aot_gpr_4 + static_cast(376)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - jump_target = ctx.gpr[6]; + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); + jump_target = aot_gpr_6; aot_gpr_31 = (0x089B58F8u); aot_gpr_4 = (aot_gpr_16 + aot_gpr_5); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B58F8u) goto L_089B58F8; AOT_REGCACHE_SYNC_OUT(); return; L_089B58F8: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_gpr_5 = (ctx.gpr[18] | 0u); - ctx.gpr[6] = (ctx.gpr[2] | 0u); + aot_gpr_6 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x089B5910u); ctx.gpr[7] = (0u | 204u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 163u, 0x089088F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B5910u) goto L_089B5910; AOT_REGCACHE_SYNC_OUT(); return; L_089B5910: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089B591Cu); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B591Cu) goto L_089B591C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B591Cu) goto L_089B591C; AOT_REGCACHE_SYNC_OUT(); return; L_089B591C: { const bool branch_taken = 0u == 0u; @@ -4606,19 +4607,19 @@ L_089B5924: goto L_089B5934; } L_089B5934: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_gpr_5 = (ctx.gpr[18] | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x089B594Cu); ctx.gpr[7] = (0u | 100u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 163u, 0x089088F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B594Cu) goto L_089B594C; AOT_REGCACHE_SYNC_OUT(); return; L_089B594C: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089B5958u); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B5958u) goto L_089B5958; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B5958u) goto L_089B5958; AOT_REGCACHE_SYNC_OUT(); return; L_089B5958: { const bool branch_taken = 0u == 0u; @@ -4629,19 +4630,19 @@ L_089B5958: goto L_089B5960; } L_089B5960: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_gpr_5 = (ctx.gpr[18] | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x089B5978u); ctx.gpr[7] = (0u | 99u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 163u, 0x089088F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B5978u) goto L_089B5978; AOT_REGCACHE_SYNC_OUT(); return; L_089B5978: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089B5984u); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B5984u) goto L_089B5984; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B5984u) goto L_089B5984; AOT_REGCACHE_SYNC_OUT(); return; L_089B5984: { const bool branch_taken = 0u == 0u; @@ -4665,19 +4666,19 @@ L_089B598C: goto L_089B59A8; } L_089B59A8: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_gpr_5 = (ctx.gpr[18] | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x089B59C0u); ctx.gpr[7] = (0u | 97u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 163u, 0x089088F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B59C0u) goto L_089B59C0; AOT_REGCACHE_SYNC_OUT(); return; L_089B59C0: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089B59CCu); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B59CCu) goto L_089B59CC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B59CCu) goto L_089B59CC; AOT_REGCACHE_SYNC_OUT(); return; L_089B59CC: { const bool branch_taken = 0u == 0u; @@ -4688,23 +4689,23 @@ L_089B59CC: goto L_089B59D4; } L_089B59D4: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_gpr_5 = (ctx.gpr[18] | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x089B59ECu); ctx.gpr[7] = (0u | 110u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 163u, 0x089088F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B59ECu) goto L_089B59EC; AOT_REGCACHE_SYNC_OUT(); return; L_089B59EC: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089B59F8u); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B59F8u) goto L_089B59F8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B59F8u) goto L_089B59F8; AOT_REGCACHE_SYNC_OUT(); return; L_089B59F8: aot_gpr_31 = (0x089B5A00u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 970u, 0x0890BDA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B5A00u) goto L_089B5A00; AOT_REGCACHE_SYNC_OUT(); return; L_089B5A00: @@ -4712,7 +4713,7 @@ L_089B5A00: aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); ctx.fpr[20] = std::bit_cast(aot_run_words[0]); aot_gpr_16 = aot_run_words[1]; - aot_gpr_17 = aot_run_words[2]; + ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; ctx.gpr[19] = aot_run_words[4]; aot_gpr_31 = aot_run_words[5]; @@ -4727,12 +4728,12 @@ L_089B5A20: aot_gpr_29 = (aot_gpr_29 + static_cast(-1568)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1536), ctx.gpr[19]); ctx.gpr[19] = (aot_gpr_4 | 0u); - { const std::uint32_t aot_run_words[9]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), aot_gpr_16, aot_gpr_17, ctx.gpr[18]}; + { const std::uint32_t aot_run_words[9]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(1500), aot_run_words); } { const std::uint32_t aot_run_words[6]{ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(1540), aot_run_words); } aot_gpr_31 = (0x089B5A70u); - aot_gpr_16 = (ctx.gpr[6] | 0u); + aot_gpr_16 = (aot_gpr_6 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 843u, 0x0890FCD8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B5A70u) goto L_089B5A70; AOT_REGCACHE_SYNC_OUT(); return; L_089B5A70: @@ -4757,7 +4758,7 @@ L_089B5A78: L_089B5A8C: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(86)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_5 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_5) ? 1u : 0u); ctx.gpr[20] = (ctx.gpr[19] + static_cast(48)); { const bool branch_taken = aot_gpr_5 == 0u; @@ -4771,10 +4772,10 @@ L_089B5AA8: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); goto L_089B5AB8; L_089B5AB8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(56))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(56))); ctx.gpr[11] = (aot_gpr_4 ^ 39u); ctx.gpr[11] = (ctx.gpr[11] < static_cast(1) ? 1u : 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16928))); @@ -4795,7 +4796,7 @@ L_089B5AB8: aot_gpr_5 = (aot_gpr_5 | 9214u); aot_fpr_12 = std::bit_cast(aot_gpr_5); aot_gpr_5 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); @@ -4804,7 +4805,7 @@ L_089B5AB8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0092_entry, 92u, 650u, 0x08976FBCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B5AF8u) goto L_089B5AF8; AOT_REGCACHE_SYNC_OUT(); return; L_089B5AF8: - aot_gpr_17 = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (ctx.gpr[2] | 0u); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x089B5B08u); aot_gpr_5 = (aot_gpr_16 | 0u); @@ -4834,7 +4835,7 @@ L_089B5B30: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(136), std::bit_cast(aot_fpr_12)); aot_gpr_5 = (aot_gpr_29 + static_cast(128)); aot_gpr_4 = (ctx.gpr[20] | 0u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 1u); @@ -4856,23 +4857,23 @@ L_089B5B70: L_089B5B78: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16928))); ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - aot_gpr_4 = (aot_gpr_17 << 3u); - aot_gpr_4 = (aot_gpr_17 + aot_gpr_4); - aot_gpr_4 = (aot_gpr_17 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[17] << 3u); + aot_gpr_4 = (ctx.gpr[17] + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[17] + aot_gpr_4); ctx.gpr[18] = (ctx.gpr[18] + aot_gpr_4); aot_gpr_31 = (0x089B5B98u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B5B98u) goto L_089B5B98; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890FF64, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B5B98u) goto L_089B5B98; AOT_REGCACHE_SYNC_OUT(); return; L_089B5B98: - aot_gpr_17 = (aot_gpr_29 + static_cast(48)); + ctx.gpr[17] = (aot_gpr_29 + static_cast(48)); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x089B5BA8u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 10u, 0x08910074u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B5BA8u) goto L_089B5BA8; AOT_REGCACHE_SYNC_OUT(); return; L_089B5BA8: - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -4941,7 +4942,7 @@ L_089B5C14: ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(48))); @@ -4995,7 +4996,7 @@ L_089B5C88: ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(48))); @@ -5140,9 +5141,9 @@ L_089B5D0C: goto L_089B5E84; L_089B5E84: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1436))); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(6)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(6)))))); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(30040))); - aot_gpr_5 = (ctx.gpr[6] + aot_gpr_5); + aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); aot_gpr_5 = (aot_gpr_5 + aot_gpr_5); aot_gpr_5 = (ctx.gpr[7] + aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0))); @@ -5163,10 +5164,10 @@ L_089B5E84: } L_089B5EC8: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1492), ctx.gpr[21]); - aot_gpr_17 = (aot_gpr_29 + static_cast(192)); + ctx.gpr[17] = (aot_gpr_29 + static_cast(192)); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x089B5EDCu); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 10u, 0x08910074u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B5EDCu) goto L_089B5EDC; AOT_REGCACHE_SYNC_OUT(); return; L_089B5EDC: @@ -5177,7 +5178,7 @@ L_089B5EDC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 77u, 0x089A8A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B5EECu) goto L_089B5EEC; AOT_REGCACHE_SYNC_OUT(); return; L_089B5EEC: - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -5237,14 +5238,14 @@ L_089B5EEC: goto L_089B5F78; } L_089B5F78: - aot_gpr_17 = (aot_gpr_29 + static_cast(256)); + ctx.gpr[17] = (aot_gpr_29 + static_cast(256)); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x089B5F88u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 77u, 0x089A8A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B5F88u) goto L_089B5F88; AOT_REGCACHE_SYNC_OUT(); return; L_089B5F88: - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -5316,14 +5317,14 @@ L_089B6028: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(88), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(84))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(92), std::bit_cast(aot_fpr_12)); - aot_gpr_17 = (aot_gpr_29 + static_cast(304)); + ctx.gpr[17] = (aot_gpr_29 + static_cast(304)); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x089B6048u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 77u, 0x089A8A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B6048u) goto L_089B6048; AOT_REGCACHE_SYNC_OUT(); return; L_089B6048: - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -5399,23 +5400,23 @@ L_089B60C8: L_089B60E0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16928))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1384))); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(6)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(6)))))); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(30040))); - aot_gpr_5 = (ctx.gpr[6] + aot_gpr_5); + aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); aot_gpr_5 = (aot_gpr_5 + aot_gpr_5); aot_gpr_5 = (ctx.gpr[7] + aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1328), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1324), aot_gpr_16); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_4 = (aot_gpr_5 & 16383u); aot_gpr_4 = (aot_gpr_4 << 16u); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 16u)); aot_gpr_5 = (aot_gpr_4 << 3u); aot_gpr_5 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); - aot_gpr_17 = (aot_gpr_17 + aot_gpr_4); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (ctx.gpr[17] + aot_gpr_4); + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_089B6848; @@ -5424,7 +5425,7 @@ L_089B60E0: } L_089B6130: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1328), ctx.gpr[18]); - { const bool branch_taken = aot_gpr_17 == ctx.gpr[18]; + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[18]; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1324), aot_gpr_16); if (branch_taken) { goto L_089B6848; @@ -5433,7 +5434,7 @@ L_089B6130: } L_089B613C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1492), ctx.gpr[21]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1296), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1296), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1328), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1324), aot_gpr_16); aot_gpr_4 = (ctx.gpr[19] | 0u); @@ -5443,11 +5444,11 @@ L_089B613C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 10u, 0x08910074u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B615Cu) goto L_089B615C; AOT_REGCACHE_SYNC_OUT(); return; L_089B615C: - aot_gpr_4 = (aot_gpr_17 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1496), aot_gpr_17); - aot_gpr_17 = (aot_gpr_29 + static_cast(368)); + aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1496), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_29 + static_cast(368)); aot_gpr_31 = (0x089B6170u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 77u, 0x089A8A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B6170u) goto L_089B6170; AOT_REGCACHE_SYNC_OUT(); return; L_089B6170: @@ -5460,7 +5461,7 @@ L_089B6170: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -5504,23 +5505,23 @@ L_089B6170: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); ctx.gpr[21] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1492))); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1496))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1496))); if (branch_taken) { goto L_089B6360; } goto L_089B61FC; } L_089B61FC: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1296), aot_gpr_17); - aot_gpr_4 = (aot_gpr_17 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1496), aot_gpr_17); - aot_gpr_17 = (aot_gpr_29 + static_cast(416)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1296), ctx.gpr[17]); + aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1496), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_29 + static_cast(416)); aot_gpr_31 = (0x089B6214u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 77u, 0x089A8A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B6214u) goto L_089B6214; AOT_REGCACHE_SYNC_OUT(); return; L_089B6214: - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -5575,14 +5576,14 @@ L_089B6214: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_14)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1496))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1496))); if (branch_taken) { goto L_089B633C; } goto L_089B62A8; } L_089B62A8: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1296), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1296), ctx.gpr[17]); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x089B62B8u); aot_gpr_5 = (aot_gpr_16 | 0u); @@ -5593,14 +5594,14 @@ L_089B62B8: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(88), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(84))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(92), std::bit_cast(aot_fpr_12)); - aot_gpr_4 = (aot_gpr_17 | 0u); - aot_gpr_17 = (aot_gpr_29 + static_cast(464)); + aot_gpr_4 = (ctx.gpr[17] | 0u); + ctx.gpr[17] = (aot_gpr_29 + static_cast(464)); aot_gpr_31 = (0x089B62D8u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 77u, 0x089A8A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B62D8u) goto L_089B62D8; AOT_REGCACHE_SYNC_OUT(); return; L_089B62D8: - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -5668,10 +5669,10 @@ L_089B6358: L_089B6360: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1296))); aot_gpr_5 = (0u | 0u); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(8)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(8)))))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1332), aot_gpr_5); - ctx.gpr[6] = (ctx.gpr[6] & 15u); - aot_gpr_5 = (static_cast(aot_gpr_5) < static_cast(ctx.gpr[6]) ? 1u : 0u); + aot_gpr_6 = (aot_gpr_6 & 15u); + aot_gpr_5 = (static_cast(aot_gpr_5) < static_cast(aot_gpr_6) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; // nop if (branch_taken) { @@ -5683,10 +5684,10 @@ L_089B6380: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16928))); goto L_089B6384; L_089B6384: - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1332))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1332))); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(6)))))); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(30040))); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); aot_gpr_4 = (aot_gpr_4 + aot_gpr_4); aot_gpr_4 = (ctx.gpr[7] + aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0))); @@ -5722,10 +5723,10 @@ L_089B63D4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 10u, 0x08910074u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B63E4u) goto L_089B63E4; AOT_REGCACHE_SYNC_OUT(); return; L_089B63E4: - aot_gpr_17 = (aot_gpr_29 + static_cast(528)); + ctx.gpr[17] = (aot_gpr_29 + static_cast(528)); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x089B63F4u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 77u, 0x089A8A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B63F4u) goto L_089B63F4; AOT_REGCACHE_SYNC_OUT(); return; L_089B63F4: @@ -5738,7 +5739,7 @@ L_089B63F4: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -5938,9 +5939,9 @@ L_089B65C0: goto L_089B65D0; L_089B65D0: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(8)))))); - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_4 = (aot_gpr_4 & 15u); - aot_gpr_4 = (static_cast(aot_gpr_17) < static_cast(aot_gpr_4) ? 1u : 0u); + aot_gpr_4 = (static_cast(ctx.gpr[17]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -5953,10 +5954,10 @@ L_089B65E8: goto L_089B65EC; L_089B65EC: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(6)))))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(30040))); - aot_gpr_5 = (aot_gpr_5 + aot_gpr_17); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(30040))); + aot_gpr_5 = (aot_gpr_5 + ctx.gpr[17]); aot_gpr_5 = (aot_gpr_5 + aot_gpr_5); - aot_gpr_5 = (ctx.gpr[6] + aot_gpr_5); + aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0))); aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_4 = (aot_gpr_5 & 16383u); @@ -6196,9 +6197,9 @@ L_089B67FC: goto L_089B680C; L_089B680C: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(8)))))); - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); aot_gpr_4 = (aot_gpr_4 & 15u); - aot_gpr_4 = (static_cast(aot_gpr_17) < static_cast(aot_gpr_4) ? 1u : 0u); + aot_gpr_4 = (static_cast(ctx.gpr[17]) < static_cast(aot_gpr_4) ? 1u : 0u); if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16928))); goto L_089B65EC; @@ -6207,11 +6208,11 @@ L_089B680C: L_089B6824: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1296))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1332))); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(8)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(8)))))); aot_gpr_5 = (aot_gpr_5 + static_cast(1)); - ctx.gpr[6] = (ctx.gpr[6] & 15u); + aot_gpr_6 = (aot_gpr_6 & 15u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1332), aot_gpr_5); - aot_gpr_5 = (static_cast(aot_gpr_5) < static_cast(ctx.gpr[6]) ? 1u : 0u); + aot_gpr_5 = (static_cast(aot_gpr_5) < static_cast(aot_gpr_6) ? 1u : 0u); if (aot_gpr_5 != 0u) { aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16928))); goto L_089B6384; @@ -6378,7 +6379,7 @@ L_089B6A10: L_089B6A48: aot_gpr_31 = (0x089B6A50u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B6A50u) goto L_089B6A50; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890FF64, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B6A50u) goto L_089B6A50; AOT_REGCACHE_SYNC_OUT(); return; L_089B6A50: { const bool branch_taken = 0u == 0u; @@ -6416,7 +6417,7 @@ L_089B6A74: ctx.fpr[28] = std::bit_cast(aot_run_words[4]); ctx.fpr[30] = std::bit_cast(aot_run_words[5]); aot_gpr_16 = aot_run_words[6]; - aot_gpr_17 = aot_run_words[7]; + ctx.gpr[17] = aot_run_words[7]; ctx.gpr[18] = aot_run_words[8]; ctx.gpr[19] = aot_run_words[9]; ctx.gpr[20] = aot_run_words[10]; @@ -6463,10 +6464,10 @@ L_089B6ADC: AOT_REGCACHE_SYNC_OUT(); return; L_089B6B10: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[20]), aot_gpr_16, aot_gpr_17}; + { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[20]), aot_gpr_16, ctx.gpr[17]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } ctx.fpr[20] = std::bit_cast(0u); - aot_gpr_17 = (aot_gpr_4 + static_cast(24272)); + ctx.gpr[17] = (aot_gpr_4 + static_cast(24272)); aot_gpr_16 = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); @@ -6474,20 +6475,20 @@ L_089B6B10: aot_gpr_4 = (0u | 0u); aot_gpr_5 = (0u + static_cast(-1)); ctx.gpr[7] = (0u | 20u); - ctx.gpr[6] = (aot_gpr_16 | 0u); + aot_gpr_6 = (aot_gpr_16 | 0u); goto L_089B6B48; L_089B6B48: - aot_mem.aot_direct_store8(ctx.gpr[6] + static_cast(21589), static_cast(aot_gpr_5)); - aot_mem.aot_direct_store8(ctx.gpr[6] + static_cast(21590), static_cast(0u)); - aot_mem.aot_direct_store8(ctx.gpr[6] + static_cast(22549), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(aot_gpr_6 + static_cast(21589), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(aot_gpr_6 + static_cast(21590), static_cast(0u)); + aot_mem.aot_direct_store8(aot_gpr_6 + static_cast(22549), static_cast(aot_gpr_5)); ctx.gpr[8] = (aot_gpr_16 + aot_gpr_4); - aot_mem.aot_direct_store8(ctx.gpr[6] + static_cast(22550), static_cast(0u)); + aot_mem.aot_direct_store8(aot_gpr_6 + static_cast(22550), static_cast(0u)); aot_mem.aot_direct_store8(ctx.gpr[8] + static_cast(23472), static_cast(ctx.gpr[7])); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); aot_mem.aot_direct_store8(ctx.gpr[8] + static_cast(23492), static_cast(ctx.gpr[7])); ctx.gpr[8] = (static_cast(aot_gpr_4) < 20 ? 1u : 0u); { const bool branch_taken = ctx.gpr[8] != 0u; - ctx.gpr[6] = (ctx.gpr[6] + static_cast(48)); + aot_gpr_6 = (aot_gpr_6 + static_cast(48)); if (branch_taken) { goto L_089B6B48; } @@ -6503,7 +6504,7 @@ L_089B6B74: aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(23772), static_cast(0u)); aot_gpr_4 = (aot_gpr_16 + static_cast(23776)); aot_gpr_5 = (0u | 10u); - ctx.gpr[6] = (0u | 48u); + aot_gpr_6 = (0u | 48u); aot_gpr_31 = (0x089B6BA4u); ctx.gpr[7] = (ctx.gpr[7] + static_cast(27324)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 158u, 0x08B60C7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B6BA4u) goto L_089B6BA4; @@ -6511,9 +6512,9 @@ L_089B6B74: L_089B6BA4: aot_gpr_4 = (2203u << 16u); ctx.gpr[18] = (aot_gpr_4 + static_cast(27356)); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (0u | 14u); - ctx.gpr[6] = (0u | 64u); + aot_gpr_6 = (0u | 64u); aot_gpr_31 = (0x089B6BC0u); ctx.gpr[7] = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 158u, 0x08B60C7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B6BC0u) goto L_089B6BC0; @@ -6521,7 +6522,7 @@ L_089B6BA4: L_089B6BC0: aot_gpr_4 = (aot_gpr_16 + static_cast(25168)); aot_gpr_5 = (0u | 14u); - ctx.gpr[6] = (0u | 64u); + aot_gpr_6 = (0u | 64u); aot_gpr_31 = (0x089B6BD4u); ctx.gpr[7] = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 158u, 0x08B60C7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B6BD4u) goto L_089B6BD4; @@ -6536,17 +6537,17 @@ L_089B6BD4: { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[20])}; aot_mem.aot_direct_store32_block(aot_gpr_16 + static_cast(26112), aot_run_words); } aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(26128), std::bit_cast(ctx.fpr[20])); - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_4 = (0u | 14u); - aot_gpr_5 = (aot_gpr_16 + aot_gpr_17); + aot_gpr_5 = (aot_gpr_16 + ctx.gpr[17]); goto L_089B6C08; L_089B6C08: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(26064), static_cast(aot_gpr_4)); - aot_gpr_17 = (aot_gpr_17 & 255u); - aot_gpr_5 = (static_cast(aot_gpr_17) < 14 ? 1u : 0u); + ctx.gpr[17] = (ctx.gpr[17] & 255u); + aot_gpr_5 = (static_cast(ctx.gpr[17]) < 14 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 != 0u; - aot_gpr_5 = (aot_gpr_16 + aot_gpr_17); + aot_gpr_5 = (aot_gpr_16 + ctx.gpr[17]); if (branch_taken) { goto L_089B6C08; } @@ -6561,11 +6562,11 @@ L_089B6C20: aot_gpr_4 = (16694u << 16u); aot_gpr_4 = (aot_gpr_4 | 61167u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_gpr_17 = (0u | 1u); + ctx.gpr[17] = (0u | 1u); aot_gpr_4 = (0u | 30u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(8), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(26340), static_cast(aot_gpr_4)); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(144), static_cast(aot_gpr_17)); + aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(144), static_cast(ctx.gpr[17])); aot_gpr_31 = (0x089B6C5Cu); aot_gpr_4 = (aot_gpr_16 | 0u); goto L_089B7FD4; @@ -6585,20 +6586,20 @@ L_089B6C70: AOT_REGCACHE_SYNC_OUT(); return; L_089B6C78: aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(5), static_cast(0u)); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(6), static_cast(aot_gpr_17)); + aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(6), static_cast(ctx.gpr[17])); ctx.gpr[7] = (0u | 0u); aot_gpr_5 = (0u | 250u); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (aot_gpr_16 | 0u); + aot_gpr_6 = (aot_gpr_16 | 0u); goto L_089B6C90; L_089B6C90: aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(6264), static_cast(0u)); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(20256), aot_gpr_5); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(20256), aot_gpr_5); ctx.gpr[7] = (ctx.gpr[7] + static_cast(1)); aot_gpr_4 = (aot_gpr_4 + static_cast(56)); ctx.gpr[8] = (ctx.gpr[7] < static_cast(250) ? 1u : 0u); { const bool branch_taken = ctx.gpr[8] != 0u; - ctx.gpr[6] = (ctx.gpr[6] + static_cast(4)); + aot_gpr_6 = (aot_gpr_6 + static_cast(4)); if (branch_taken) { goto L_089B6C90; } @@ -6624,8 +6625,8 @@ L_089B6CE0: aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(26400), static_cast(0u)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(26368), 0u); aot_gpr_5 = (aot_gpr_5 + static_cast(1)); - ctx.gpr[6] = (aot_gpr_5 < static_cast(10) ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] != 0u; + aot_gpr_6 = (aot_gpr_5 < static_cast(10) ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 != 0u; aot_gpr_4 = (aot_gpr_4 + static_cast(48)); if (branch_taken) { goto L_089B6CE0; @@ -6641,8 +6642,8 @@ L_089B6D04: aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(26852), 0u); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(26848), 0u); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); - ctx.gpr[6] = (aot_gpr_4 < static_cast(15) ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] != 0u; + aot_gpr_6 = (aot_gpr_4 < static_cast(15) ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 != 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(12)); if (branch_taken) { goto L_089B6D04; @@ -6655,7 +6656,7 @@ L_089B6D20: aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); ctx.fpr[20] = std::bit_cast(aot_run_words[0]); aot_gpr_16 = aot_run_words[1]; - aot_gpr_17 = aot_run_words[2]; + ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; } @@ -6667,8 +6668,8 @@ L_089B6D20: AOT_REGCACHE_SYNC_OUT(); return; L_089B6D40: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); { const bool branch_taken = aot_gpr_4 == 0u; @@ -6679,7 +6680,7 @@ L_089B6D40: goto L_089B6D5C; } L_089B6D5C: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(0))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -6689,12 +6690,12 @@ L_089B6D5C: } L_089B6D68: aot_gpr_31 = (0x089B6D70u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); goto L_089B6E14; L_089B6D70: - aot_gpr_4 = (aot_gpr_17 + static_cast(21364)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(21364)); if (aot_gpr_4 != 0u) { - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(21524), 0u); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(21524), 0u); goto L_089B6D7C; } goto L_089B6D7C; @@ -6709,14 +6710,14 @@ L_089B6D7C: } L_089B6D88: aot_gpr_31 = (0x089B6D90u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B6D90u) goto L_089B6D90; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B6D90u) goto L_089B6D90; AOT_REGCACHE_SYNC_OUT(); return; L_089B6D90: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -6788,7 +6789,7 @@ L_089B6E04: L_089B6E14: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0))); - { const std::uint32_t aot_run_words[5]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; + { const std::uint32_t aot_run_words[5]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_16 = (aot_gpr_4 | 0u); @@ -6806,15 +6807,15 @@ L_089B6E38: L_089B6E44: ctx.gpr[18] = (0u | 0u); aot_gpr_5 = (0u | 250u); - ctx.gpr[6] = (aot_gpr_16 | 0u); + aot_gpr_6 = (aot_gpr_16 | 0u); aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_17 = (ctx.gpr[28] + static_cast(7696)); + ctx.gpr[17] = (ctx.gpr[28] + static_cast(7696)); goto L_089B6E58; L_089B6E58: - aot_mem.aot_direct_store8(ctx.gpr[6] + static_cast(6264), static_cast(0u)); + aot_mem.aot_direct_store8(aot_gpr_6 + static_cast(6264), static_cast(0u)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(20256), aot_gpr_5); ctx.gpr[18] = (ctx.gpr[18] + static_cast(1)); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(56)); + aot_gpr_6 = (aot_gpr_6 + static_cast(56)); ctx.gpr[7] = (ctx.gpr[18] < static_cast(250) ? 1u : 0u); { const bool branch_taken = ctx.gpr[7] != 0u; aot_gpr_4 = (aot_gpr_4 + static_cast(4)); @@ -6835,7 +6836,7 @@ L_089B6E84: goto L_089B6E88; L_089B6E88: ctx.gpr[19] = (ctx.gpr[18] & 255u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089B6E98u); aot_gpr_5 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 481u, 0x0880A288u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B6E98u) goto L_089B6E98; @@ -6849,7 +6850,7 @@ L_089B6E98: goto L_089B6EA0; } L_089B6EA0: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089B6EACu); aot_gpr_5 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 480u, 0x0880A280u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B6EACu) goto L_089B6EAC; @@ -6866,7 +6867,7 @@ L_089B6EAC: } L_089B6EBC: aot_gpr_31 = (0x089B6EC4u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 439u, 0x08809FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B6EC4u) goto L_089B6EC4; AOT_REGCACHE_SYNC_OUT(); return; L_089B6EC4: @@ -6879,7 +6880,7 @@ L_089B6ED0: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; @@ -6892,7 +6893,7 @@ L_089B6ED0: AOT_REGCACHE_SYNC_OUT(); return; L_089B6EEC: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_31 = (0x089B6F08u); aot_gpr_16 = (aot_gpr_4 | 0u); @@ -6934,7 +6935,7 @@ L_089B6F34: } L_089B6F40: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(26341))); - aot_gpr_17 = (2237u << 16u); + ctx.gpr[17] = (2237u << 16u); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(26342), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(4212))); aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-19672))); @@ -6943,7 +6944,7 @@ L_089B6F40: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7688))); ctx.gpr[18] = (aot_gpr_4 | ctx.gpr[18]); { const bool branch_taken = aot_gpr_5 != 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(-28416)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(-28416)); if (branch_taken) { goto L_089B6F84; } @@ -6953,17 +6954,17 @@ L_089B6F6C: aot_gpr_4 = (0u | 1u); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7688), aot_gpr_4); aot_gpr_31 = (0x089B6F7Cu); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0010_entry, 10u, 286u, 0x0882D794u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B6F7Cu) goto L_089B6F7C; AOT_REGCACHE_SYNC_OUT(); return; L_089B6F7C: aot_gpr_31 = (0x089B6F84u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-13256)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B6F84u) goto L_089B6F84; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B6F84u) goto L_089B6F84; AOT_REGCACHE_SYNC_OUT(); return; L_089B6F84: aot_gpr_31 = (0x089B6F8Cu); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0010_entry, 10u, 611u, 0x0882E9B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B6F8Cu) goto L_089B6F8C; AOT_REGCACHE_SYNC_OUT(); return; L_089B6F8C: @@ -6987,7 +6988,7 @@ L_089B6FB0: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -7007,7 +7008,7 @@ L_089B6FC8: goto L_089B6FD4; } L_089B6FD4: - { const bool branch_taken = ctx.gpr[6] == 0u; + { const bool branch_taken = aot_gpr_6 == 0u; // nop if (branch_taken) { goto L_089B6FF8; @@ -7061,17 +7062,17 @@ L_089B700C: aot_mem.aot_direct_store8(ctx.gpr[7] + static_cast(6264), static_cast(ctx.gpr[8])); aot_mem.aot_direct_store8(ctx.gpr[7] + static_cast(6265), static_cast(0u)); aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(6256), aot_gpr_5); - aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(6260), ctx.gpr[6]); - ctx.gpr[6] = (0u | 0u); + aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(6260), aot_gpr_6); + aot_gpr_6 = (0u | 0u); aot_gpr_5 = (0u | 239u); goto L_089B7028; L_089B7028: - ctx.gpr[8] = (ctx.gpr[6] + ctx.gpr[6]); + ctx.gpr[8] = (aot_gpr_6 + aot_gpr_6); ctx.gpr[8] = (ctx.gpr[7] + ctx.gpr[8]); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(1)); + aot_gpr_6 = (aot_gpr_6 + static_cast(1)); aot_mem.aot_direct_store16(ctx.gpr[8] + static_cast(6266), static_cast(aot_gpr_5)); - ctx.gpr[6] = (ctx.gpr[6] & 255u); - ctx.gpr[8] = (static_cast(ctx.gpr[6]) < 4 ? 1u : 0u); + aot_gpr_6 = (aot_gpr_6 & 255u); + ctx.gpr[8] = (static_cast(aot_gpr_6) < 4 ? 1u : 0u); { const bool branch_taken = ctx.gpr[8] != 0u; // nop if (branch_taken) { @@ -7082,10 +7083,10 @@ L_089B7028: L_089B7048: aot_mem.aot_direct_store8(ctx.gpr[7] + static_cast(6308), static_cast(0u)); aot_gpr_5 = (aot_gpr_4 + static_cast(21256)); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); - ctx.gpr[8] = (ctx.gpr[6] << 2u); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(1)); - aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), ctx.gpr[6]); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); + ctx.gpr[8] = (aot_gpr_6 << 2u); + aot_gpr_6 = (aot_gpr_6 + static_cast(1)); + aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_6); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[8]); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(20256), ctx.gpr[2]); @@ -7124,10 +7125,10 @@ L_089B7088: AOT_REGCACHE_SYNC_OUT(); return; L_089B7090: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0))); + aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - { const bool branch_taken = ctx.gpr[6] == 0u; + { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_16 = (aot_gpr_4 | 0u); if (branch_taken) { goto L_089B715C; @@ -7152,10 +7153,10 @@ L_089B70B0: } L_089B70B8: aot_gpr_4 = (aot_gpr_5 << 6u); - ctx.gpr[6] = (aot_gpr_5 << 3u); - ctx.gpr[6] = (aot_gpr_4 - ctx.gpr[6]); - ctx.gpr[6] = (aot_gpr_16 + ctx.gpr[6]); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[6] + static_cast(6264))); + aot_gpr_6 = (aot_gpr_5 << 3u); + aot_gpr_6 = (aot_gpr_4 - aot_gpr_6); + aot_gpr_6 = (aot_gpr_16 + aot_gpr_6); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_6 + static_cast(6264))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -7164,10 +7165,10 @@ L_089B70B8: goto L_089B70D4; } L_089B70D4: - aot_mem.aot_direct_store8(ctx.gpr[6] + static_cast(6264), static_cast(0u)); + aot_mem.aot_direct_store8(aot_gpr_6 + static_cast(6264), static_cast(0u)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(21256))); - ctx.gpr[6] = (0u | 0u); - ctx.gpr[7] = (ctx.gpr[6] < aot_gpr_4 ? 1u : 0u); + aot_gpr_6 = (0u | 0u); + ctx.gpr[7] = (aot_gpr_6 < aot_gpr_4 ? 1u : 0u); { const bool branch_taken = ctx.gpr[7] == 0u; ctx.gpr[7] = (aot_gpr_16 | 0u); if (branch_taken) { @@ -7185,7 +7186,7 @@ L_089B70EC: goto L_089B70F8; } L_089B70F8: - aot_gpr_5 = (ctx.gpr[6] < static_cast(249) ? 1u : 0u); + aot_gpr_5 = (aot_gpr_6 < static_cast(249) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; // nop if (branch_taken) { @@ -7194,14 +7195,14 @@ L_089B70F8: goto L_089B7104; } L_089B7104: - aot_gpr_5 = (ctx.gpr[6] + static_cast(1)); + aot_gpr_5 = (aot_gpr_6 + static_cast(1)); aot_gpr_5 = (aot_gpr_5 << 2u); - aot_gpr_4 = (aot_gpr_4 - ctx.gpr[6]); + aot_gpr_4 = (aot_gpr_4 - aot_gpr_6); ctx.gpr[7] = (ctx.gpr[7] + static_cast(20256)); aot_gpr_5 = (aot_gpr_16 + aot_gpr_5); - ctx.gpr[6] = (aot_gpr_4 << 2u); + aot_gpr_6 = (aot_gpr_4 << 2u); aot_gpr_5 = (aot_gpr_5 + static_cast(20256)); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(-4)); + aot_gpr_6 = (aot_gpr_6 + static_cast(-4)); aot_gpr_31 = (0x089B712Cu); aot_gpr_4 = (ctx.gpr[7] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 164u, 0x08AF54A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B712Cu) goto L_089B712C; @@ -7211,10 +7212,10 @@ L_089B712C: goto L_089B7130; L_089B7130: aot_gpr_4 = (aot_gpr_4 + static_cast(-1)); - ctx.gpr[6] = (aot_gpr_4 << 2u); + aot_gpr_6 = (aot_gpr_4 << 2u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(21256), aot_gpr_4); aot_gpr_5 = (0u | 250u); - aot_gpr_4 = (aot_gpr_16 + ctx.gpr[6]); + aot_gpr_4 = (aot_gpr_16 + aot_gpr_6); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(20256), aot_gpr_5); if (branch_taken) { @@ -7223,8 +7224,8 @@ L_089B7130: goto L_089B714C; } L_089B714C: - ctx.gpr[6] = (ctx.gpr[6] + static_cast(1)); - ctx.gpr[8] = (ctx.gpr[6] < aot_gpr_4 ? 1u : 0u); + aot_gpr_6 = (aot_gpr_6 + static_cast(1)); + ctx.gpr[8] = (aot_gpr_6 < aot_gpr_4 ? 1u : 0u); { const bool branch_taken = ctx.gpr[8] != 0u; ctx.gpr[7] = (ctx.gpr[7] + static_cast(4)); if (branch_taken) { @@ -7245,7 +7246,7 @@ L_089B716C: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[19]); ctx.gpr[19] = (aot_gpr_4 | 0u); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, ctx.gpr[18]}; + { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } { const std::uint32_t aot_run_words[3]{ctx.gpr[20], ctx.gpr[21], ctx.gpr[22]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(16), aot_run_words); } @@ -7253,7 +7254,7 @@ L_089B716C: ctx.gpr[22] = (aot_gpr_5 & 255u); ctx.gpr[20] = (0u | 0u); ctx.gpr[18] = (ctx.gpr[19] + static_cast(26384)); - aot_gpr_17 = (ctx.gpr[6] | 0u); + ctx.gpr[17] = (aot_gpr_6 | 0u); aot_gpr_16 = (ctx.gpr[7] | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_31); goto L_089B71AC; @@ -7268,7 +7269,7 @@ L_089B71AC: } L_089B71B8: aot_gpr_31 = (0x089B71C0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 456u, 0x08A93144u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B71C0u) goto L_089B71C0; AOT_REGCACHE_SYNC_OUT(); return; L_089B71C0: @@ -7324,7 +7325,7 @@ L_089B7204: { std::uint32_t aot_run_words[8]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -7374,7 +7375,7 @@ L_089B7258: L_089B7260: aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(26400), static_cast(ctx.gpr[9])); aot_gpr_5 = (aot_gpr_4 + static_cast(26384)); - { const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -7432,7 +7433,7 @@ L_089B72AC: } L_089B72B4: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(26852), aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(26848), ctx.gpr[6]); + aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(26848), aot_gpr_6); aot_gpr_5 = (ctx.gpr[8] + static_cast(250)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(26856), aot_gpr_5); goto L_089B72C4; @@ -7458,7 +7459,7 @@ L_089B72D8: goto L_089B72E4; } L_089B72E4: - { const bool branch_taken = ctx.gpr[9] != ctx.gpr[6]; + { const bool branch_taken = ctx.gpr[9] != aot_gpr_6; // nop if (branch_taken) { goto L_089B72FC; @@ -7476,7 +7477,7 @@ L_089B72EC: goto L_089B72FC; } L_089B72FC: - if (ctx.gpr[9] == ctx.gpr[6]) { + if (ctx.gpr[9] == aot_gpr_6) { ctx.gpr[9] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(26856))); goto L_089B7314; } @@ -7538,7 +7539,7 @@ L_089B7340: L_089B7348: ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0))); { const bool branch_taken = ctx.gpr[7] == 0u; - ctx.gpr[6] = (ctx.gpr[6] & 255u); + aot_gpr_6 = (aot_gpr_6 & 255u); if (branch_taken) { goto L_089B7384; } @@ -7574,7 +7575,7 @@ L_089B7364: goto L_089B7380; } L_089B7380: - aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(6265), static_cast(ctx.gpr[6])); + aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(6265), static_cast(aot_gpr_6)); goto L_089B7384; L_089B7384: jump_target = aot_gpr_31; @@ -7585,13 +7586,13 @@ L_089B7384: AOT_REGCACHE_SYNC_OUT(); return; L_089B738C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0))); + aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); - { const std::uint32_t aot_run_words[3]{aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(4), aot_run_words); } - { const bool branch_taken = ctx.gpr[6] == 0u; - aot_gpr_17 = (aot_gpr_5 | 0u); + { const bool branch_taken = aot_gpr_6 == 0u; + ctx.gpr[17] = (aot_gpr_5 | 0u); if (branch_taken) { goto L_089B74D4; } @@ -7600,15 +7601,15 @@ L_089B738C: L_089B73B0: ctx.gpr[18] = (0u | 1u); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(12), static_cast(ctx.gpr[18])); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(16), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(16), ctx.gpr[17]); aot_gpr_31 = (0x089B73C4u); aot_gpr_4 = (aot_gpr_16 | 0u); goto L_089B7FD4; L_089B73C4: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(144))); - aot_gpr_17 = (2233u << 16u); + ctx.gpr[17] = (2233u << 16u); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(-22352)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(-22352)); if (branch_taken) { goto L_089B73E8; } @@ -7737,11 +7738,11 @@ L_089B74BC: aot_gpr_16 = (0u | 0u); goto L_089B74C0; L_089B74C0: - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(20), 0u); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(20), 0u); aot_gpr_16 = (aot_gpr_16 + static_cast(1)); aot_gpr_4 = (static_cast(aot_gpr_16) < 58 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(24)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(24)); if (branch_taken) { goto L_089B74C0; } @@ -7751,7 +7752,7 @@ L_089B74D4: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -7764,7 +7765,7 @@ L_089B74D4: L_089B74EC: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0))); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_16 = (aot_gpr_4 | 0u); @@ -7775,10 +7776,10 @@ L_089B74EC: } L_089B750C: ctx.gpr[18] = (0u | 0u); - aot_gpr_17 = (aot_gpr_16 | 0u); + ctx.gpr[17] = (aot_gpr_16 | 0u); goto L_089B7514; L_089B7514: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(6264))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(6264))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -7787,7 +7788,7 @@ L_089B7514: goto L_089B7520; } L_089B7520: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(6256))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(6256))); aot_gpr_5 = (aot_gpr_4 < static_cast(11) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; // nop @@ -7808,7 +7809,7 @@ L_089B7530: ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_089B7548: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(6260))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(6260))); aot_gpr_31 = (0x089B7554u); aot_gpr_5 = (0u | 3u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0018_entry, 18u, 65u, 0x0884C6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B7554u) goto L_089B7554; @@ -7822,7 +7823,7 @@ L_089B7560: ctx.gpr[18] = (ctx.gpr[18] + static_cast(1)); aot_gpr_4 = (ctx.gpr[18] < static_cast(250) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(56)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(56)); if (branch_taken) { goto L_089B7514; } @@ -7835,7 +7836,7 @@ L_089B7574: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -7912,18 +7913,18 @@ L_089B7600: L_089B760C: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_gpr_5 = (aot_gpr_4 + static_cast(26344)); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); ctx.gpr[7] = (0u | 5u); - { const std::uint32_t dividend = ctx.gpr[6]; const std::uint32_t divisor = ctx.gpr[7]; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } + { const std::uint32_t dividend = aot_gpr_6; const std::uint32_t divisor = ctx.gpr[7]; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_16); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(1)); + aot_gpr_6 = (aot_gpr_6 + static_cast(1)); aot_gpr_16 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), ctx.gpr[6]); - { const std::uint32_t aot_run_words[3]{aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_6); + { const std::uint32_t aot_run_words[3]{ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(12), aot_run_words); } aot_gpr_4 = (ctx.hi); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_17 = (ctx.gpr[28] + static_cast(7696)); + ctx.gpr[17] = (ctx.gpr[28] + static_cast(7696)); if (branch_taken) { goto L_089B7654; } @@ -7967,7 +7968,7 @@ L_089B7678: aot_gpr_5 = (aot_gpr_4 | 0u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(5), static_cast(aot_gpr_4)); aot_gpr_31 = (0x089B7688u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 550u, 0x0880A680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B7688u) goto L_089B7688; AOT_REGCACHE_SYNC_OUT(); return; L_089B7688: @@ -7983,49 +7984,49 @@ L_089B7688: goto L_089B76A0; } L_089B76A0: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (0u | 21u); aot_gpr_31 = (0x089B76B0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 539u, 0x0880A5B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B76B0u) goto L_089B76B0; AOT_REGCACHE_SYNC_OUT(); return; L_089B76B0: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (0u | 22u); aot_gpr_31 = (0x089B76C0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 539u, 0x0880A5B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B76C0u) goto L_089B76C0; AOT_REGCACHE_SYNC_OUT(); return; L_089B76C0: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (0u | 23u); aot_gpr_31 = (0x089B76D0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 539u, 0x0880A5B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B76D0u) goto L_089B76D0; AOT_REGCACHE_SYNC_OUT(); return; L_089B76D0: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (0u | 24u); aot_gpr_31 = (0x089B76E0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 539u, 0x0880A5B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B76E0u) goto L_089B76E0; AOT_REGCACHE_SYNC_OUT(); return; L_089B76E0: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (0u | 25u); aot_gpr_31 = (0x089B76F0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 539u, 0x0880A5B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B76F0u) goto L_089B76F0; AOT_REGCACHE_SYNC_OUT(); return; L_089B76F0: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (0u | 26u); aot_gpr_31 = (0x089B7700u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 539u, 0x0880A5B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B7700u) goto L_089B7700; AOT_REGCACHE_SYNC_OUT(); return; L_089B7700: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089B770Cu); aot_gpr_5 = (0u | 27u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 550u, 0x0880A680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B770Cu) goto L_089B770C; @@ -8058,14 +8059,14 @@ L_089B7728: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_4); aot_gpr_5 = (aot_gpr_5 + aot_gpr_4); aot_gpr_31 = (0x089B773Cu); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 550u, 0x0880A680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B773Cu) goto L_089B773C; AOT_REGCACHE_SYNC_OUT(); return; L_089B773C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); - ctx.gpr[6] = (static_cast(aot_gpr_4) < 5 ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] != 0u; + aot_gpr_6 = (static_cast(aot_gpr_4) < 5 ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 != 0u; aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(4))); if (branch_taken) { goto L_089B7728; @@ -8199,13 +8200,13 @@ L_089B780C: AOT_REGCACHE_SYNC_OUT(); return; L_089B7814: aot_gpr_31 = (0x089B781Cu); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 440u, 0x08809FD8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B781Cu) goto L_089B781C; AOT_REGCACHE_SYNC_OUT(); return; L_089B781C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(21524))); - aot_gpr_17 = (0u | 0u); - aot_gpr_4 = (static_cast(aot_gpr_17) < static_cast(aot_gpr_4) ? 1u : 0u); + ctx.gpr[17] = (0u | 0u); + aot_gpr_4 = (static_cast(ctx.gpr[17]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; ctx.gpr[18] = (aot_gpr_16 | 0u); if (branch_taken) { @@ -8231,8 +8232,8 @@ L_089B7850: goto L_089B7090; L_089B785C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(21524))); - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - aot_gpr_4 = (static_cast(aot_gpr_17) < static_cast(aot_gpr_4) ? 1u : 0u); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + aot_gpr_4 = (static_cast(ctx.gpr[17]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; ctx.gpr[18] = (ctx.gpr[18] + static_cast(4)); if (branch_taken) { @@ -8245,7 +8246,7 @@ L_089B7870: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(8), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -8257,8 +8258,8 @@ L_089B7870: AOT_REGCACHE_SYNC_OUT(); return; L_089B788C: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_17); - aot_gpr_17 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_4 | 0u); { const std::uint32_t aot_run_words[4]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), aot_gpr_16}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(12), aot_run_words); } ctx.fpr[20] = std::bit_cast(std::bit_cast(aot_fpr_14)); @@ -8303,13 +8304,13 @@ L_089B78E4: goto L_089B78FC; } L_089B78FC: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(26340))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(26340))); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_fpr_12 = ctx.fpr[24] / aot_fpr_12; { const float fs = aot_fpr_12; const float ft = ctx.fpr[20]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[20] = std::bit_cast(0x7FC00000u); else ctx.fpr[20] = fs * ft; } aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[20]) & 0x7FFFFFFFu); - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 < aot_fpr_14)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); @@ -8369,7 +8370,7 @@ L_089B7960: aot_fpr_12 = aot_fpr_12 + aot_fpr_13; goto L_089B796C; L_089B796C: - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); aot_gpr_4 = (16320u << 16u); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_13 = std::bit_cast(aot_gpr_4); @@ -8381,7 +8382,7 @@ L_089B796C: } goto L_089B798C; L_089B798C: - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); aot_fpr_13 = aot_fpr_13 + ctx.fpr[20]; aot_fpr_12 = aot_fpr_12 / aot_fpr_13; aot_gpr_4 = (20224u << 16u); @@ -8435,7 +8436,7 @@ L_089B79E8: aot_fpr_12 = aot_fpr_12 + aot_fpr_13; goto L_089B79F4; L_089B79F4: - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); aot_gpr_4 = (49088u << 16u); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_13 = std::bit_cast(aot_gpr_4); @@ -8447,7 +8448,7 @@ L_089B79F4: } goto L_089B7A14; L_089B7A14: - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); aot_fpr_13 = aot_fpr_13 + ctx.fpr[20]; aot_fpr_12 = aot_fpr_12 / aot_fpr_13; aot_gpr_4 = (20224u << 16u); @@ -8493,7 +8494,7 @@ L_089B7A64: ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); aot_gpr_16 = aot_run_words[3]; - aot_gpr_17 = aot_run_words[4]; + ctx.gpr[17] = aot_run_words[4]; aot_gpr_31 = aot_run_words[5]; } jump_target = aot_gpr_31; @@ -8512,16 +8513,16 @@ L_089B7A84: } L_089B7A8C: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-13240))); - ctx.gpr[6] = (aot_gpr_4 | 0u); + aot_gpr_6 = (aot_gpr_4 | 0u); aot_gpr_4 = (0u | 5u); ctx.gpr[8] = (ctx.gpr[7] + aot_gpr_5); { const std::uint32_t dividend = ctx.gpr[8]; const std::uint32_t divisor = aot_gpr_4; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-13244))); ctx.gpr[8] = (ctx.hi); ctx.gpr[8] = (ctx.gpr[8] << 2u); - ctx.gpr[6] = (ctx.gpr[6] + ctx.gpr[8]); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(26320))); - { const std::uint32_t dividend = ctx.gpr[6]; const std::uint32_t divisor = aot_gpr_5; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } + aot_gpr_6 = (aot_gpr_6 + ctx.gpr[8]); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(26320))); + { const std::uint32_t dividend = aot_gpr_6; const std::uint32_t divisor = aot_gpr_5; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } ctx.gpr[2] = (ctx.hi); aot_gpr_5 = (ctx.gpr[7] + ctx.gpr[2]); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-13240), aot_gpr_5); @@ -8587,23 +8588,23 @@ L_089B7B04: ctx.gpr[18] = (0u | 0u); aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_4 = (ctx.gpr[18] < aot_gpr_5 ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_17 = (aot_gpr_16 | 0u); + ctx.gpr[17] = (aot_gpr_16 | 0u); if (branch_taken) { goto L_089B7B68; } goto L_089B7B30; } L_089B7B30: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(20256))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(20256))); aot_gpr_31 = (0x089B7B3Cu); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0048_entry, 48u, 462u, 0x088C642Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B7B3Cu) goto L_089B7B3C; AOT_REGCACHE_SYNC_OUT(); return; L_089B7B3C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(20256))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(20256))); ctx.gpr[18] = (ctx.gpr[18] + static_cast(1)); aot_gpr_5 = (aot_gpr_4 << 6u); aot_gpr_4 = (aot_gpr_4 << 3u); @@ -8613,7 +8614,7 @@ L_089B7B3C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(21256))); aot_gpr_4 = (ctx.gpr[18] < aot_gpr_4 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(4)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(4)); if (branch_taken) { goto L_089B7B30; } @@ -8623,7 +8624,7 @@ L_089B7B68: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -8635,11 +8636,11 @@ L_089B7B68: AOT_REGCACHE_SYNC_OUT(); return; L_089B7B80: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(56))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(56))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[19]); ctx.gpr[19] = (aot_gpr_5 & 255u); - aot_gpr_5 = (ctx.gpr[6] < static_cast(6028) ? 1u : 0u); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, ctx.gpr[18]}; + aot_gpr_5 = (aot_gpr_6 < static_cast(6028) ? 1u : 0u); + { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[20]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_31); @@ -8653,15 +8654,15 @@ L_089B7B80: L_089B7BB0: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(72))); aot_gpr_5 = (0u | 127u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(64))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(64))); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); - { const std::int64_t product = static_cast(static_cast(aot_gpr_4)) * static_cast(static_cast(ctx.gpr[6])); ctx.lo = static_cast(product); ctx.hi = static_cast(static_cast(product) >> 32u); } + { const std::int64_t product = static_cast(static_cast(aot_gpr_4)) * static_cast(static_cast(aot_gpr_6)); ctx.lo = static_cast(product); ctx.hi = static_cast(static_cast(product) >> 32u); } aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(144))); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(4))); aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); - ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(4234))); + aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(4234))); aot_gpr_4 = (ctx.lo); - aot_gpr_5 = (static_cast(ctx.gpr[6]) < static_cast(aot_gpr_5) ? 1u : 0u); + aot_gpr_5 = (static_cast(aot_gpr_6) < static_cast(aot_gpr_5) ? 1u : 0u); if (aot_gpr_5 == 0u) { aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(144))); goto L_089B7C10; @@ -8671,12 +8672,12 @@ L_089B7BE4: aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(144))); aot_gpr_5 = (aot_gpr_16 + aot_gpr_5); ctx.gpr[18] = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(4234))); - ctx.gpr[6] = (ctx.gpr[18] + static_cast(1)); - aot_gpr_17 = (ctx.gpr[18] << 5u); - aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(4234), static_cast(ctx.gpr[6])); - aot_gpr_5 = (aot_gpr_17 + aot_gpr_17); + aot_gpr_6 = (ctx.gpr[18] + static_cast(1)); + ctx.gpr[17] = (ctx.gpr[18] << 5u); + aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(4234), static_cast(aot_gpr_6)); + aot_gpr_5 = (ctx.gpr[17] + ctx.gpr[17]); { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (aot_gpr_17 + aot_gpr_5); + ctx.gpr[17] = (ctx.gpr[17] + aot_gpr_5); if (branch_taken) { goto L_089B7C64; } @@ -8691,23 +8692,23 @@ L_089B7C08: goto L_089B7C10; } L_089B7C10: - ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(4))); + aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(4))); ctx.gpr[7] = (aot_gpr_5 + aot_gpr_5); ctx.gpr[7] = (aot_gpr_5 + ctx.gpr[7]); ctx.gpr[8] = (ctx.gpr[7] << 3u); ctx.gpr[7] = (ctx.gpr[8] - ctx.gpr[7]); ctx.gpr[7] = (aot_gpr_16 + ctx.gpr[7]); - ctx.gpr[6] = (ctx.gpr[7] + ctx.gpr[6]); - ctx.gpr[18] = (aot_mem.aot_direct_load8(ctx.gpr[6] + static_cast(4191))); + aot_gpr_6 = (ctx.gpr[7] + aot_gpr_6); + ctx.gpr[18] = (aot_mem.aot_direct_load8(aot_gpr_6 + static_cast(4191))); aot_gpr_5 = (aot_gpr_5 << 5u); - ctx.gpr[6] = (0u - aot_gpr_5); + aot_gpr_6 = (0u - aot_gpr_5); aot_gpr_5 = (aot_gpr_5 << 6u); - aot_gpr_5 = (ctx.gpr[6] + aot_gpr_5); - aot_gpr_17 = (ctx.gpr[18] << 5u); - ctx.gpr[6] = (aot_gpr_17 + aot_gpr_17); + aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); + ctx.gpr[17] = (ctx.gpr[18] << 5u); + aot_gpr_6 = (ctx.gpr[17] + ctx.gpr[17]); aot_gpr_5 = (aot_gpr_16 + aot_gpr_5); - aot_gpr_17 = (aot_gpr_17 + ctx.gpr[6]); - aot_gpr_5 = (aot_gpr_5 + aot_gpr_17); + ctx.gpr[17] = (ctx.gpr[17] + aot_gpr_6); + aot_gpr_5 = (aot_gpr_5 + ctx.gpr[17]); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(236))); aot_gpr_5 = (aot_gpr_4 < aot_gpr_5 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; @@ -8822,7 +8823,7 @@ L_089B7CEC: aot_gpr_4 = (aot_gpr_4 << 6u); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); - aot_gpr_4 = (aot_gpr_4 + aot_gpr_17); + aot_gpr_4 = (aot_gpr_4 + ctx.gpr[17]); aot_gpr_4 = (aot_gpr_4 + static_cast(160)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(48))); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_5); @@ -8906,7 +8907,7 @@ L_089B7DF4: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -8936,7 +8937,7 @@ L_089B7E28: ctx.gpr[9] = (0u | 69u); ctx.gpr[8] = (0u | 5u); ctx.gpr[7] = (0u | 1u); - ctx.gpr[6] = (0u | 63u); + aot_gpr_6 = (0u | 63u); aot_gpr_5 = (0u + static_cast(-1)); ctx.gpr[3] = (ctx.gpr[2] << 5u); goto L_089B7E4C; @@ -8959,7 +8960,7 @@ L_089B7E4C: aot_mem.aot_direct_store8(ctx.gpr[3] + static_cast(4313), static_cast(0u)); { const std::uint32_t aot_run_words[3]{ctx.gpr[7], std::bit_cast(aot_fpr_13), std::bit_cast(aot_fpr_12)}; aot_mem.aot_direct_store32_block(ctx.gpr[3] + static_cast(4272), aot_run_words); } - aot_mem.aot_direct_store8(ctx.gpr[3] + static_cast(4306), static_cast(ctx.gpr[6])); + aot_mem.aot_direct_store8(ctx.gpr[3] + static_cast(4306), static_cast(aot_gpr_6)); aot_mem.aot_direct_store8(ctx.gpr[3] + static_cast(4284), static_cast(0u)); aot_mem.aot_direct_store32(ctx.gpr[3] + static_cast(4316), 0u); aot_mem.aot_direct_store32(ctx.gpr[3] + static_cast(4308), 0u); @@ -8989,17 +8990,17 @@ L_089B7EDC: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); - ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(144))); + aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(144))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); - aot_gpr_4 = (ctx.gpr[6] + ctx.gpr[6]); + aot_gpr_4 = (aot_gpr_6 + aot_gpr_6); ctx.gpr[18] = (aot_gpr_5 & 255u); - aot_gpr_4 = (ctx.gpr[6] + aot_gpr_4); + aot_gpr_4 = (aot_gpr_6 + aot_gpr_4); aot_gpr_5 = (aot_gpr_4 << 3u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_gpr_5 = (aot_gpr_5 - aot_gpr_4); - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_5 = (aot_gpr_16 + aot_gpr_5); - ctx.gpr[7] = (static_cast(aot_gpr_17) < static_cast(ctx.gpr[18]) ? 1u : 0u); + ctx.gpr[7] = (static_cast(ctx.gpr[17]) < static_cast(ctx.gpr[18]) ? 1u : 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); { const bool branch_taken = ctx.gpr[7] == 0u; aot_gpr_4 = (aot_gpr_5 | 0u); @@ -9009,16 +9010,16 @@ L_089B7EDC: goto L_089B7F20; } L_089B7F20: - ctx.gpr[6] = (ctx.gpr[6] << 5u); - ctx.gpr[7] = (0u - ctx.gpr[6]); - ctx.gpr[6] = (ctx.gpr[6] << 6u); - ctx.gpr[7] = (ctx.gpr[7] + ctx.gpr[6]); - ctx.gpr[6] = (ctx.gpr[18] << 5u); - ctx.gpr[8] = (ctx.gpr[6] + ctx.gpr[6]); + aot_gpr_6 = (aot_gpr_6 << 5u); + ctx.gpr[7] = (0u - aot_gpr_6); + aot_gpr_6 = (aot_gpr_6 << 6u); + ctx.gpr[7] = (ctx.gpr[7] + aot_gpr_6); + aot_gpr_6 = (ctx.gpr[18] << 5u); + ctx.gpr[8] = (aot_gpr_6 + aot_gpr_6); ctx.gpr[7] = (aot_gpr_16 + ctx.gpr[7]); - ctx.gpr[6] = (ctx.gpr[6] + ctx.gpr[8]); - ctx.gpr[6] = (ctx.gpr[7] + ctx.gpr[6]); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(236))); + aot_gpr_6 = (aot_gpr_6 + ctx.gpr[8]); + aot_gpr_6 = (ctx.gpr[7] + aot_gpr_6); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(236))); goto L_089B7F48; L_089B7F48: ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(4192))); @@ -9027,7 +9028,7 @@ L_089B7F48: ctx.gpr[8] = (ctx.gpr[8] + ctx.gpr[9]); ctx.gpr[8] = (ctx.gpr[7] + ctx.gpr[8]); ctx.gpr[8] = (aot_mem.aot_direct_load32(ctx.gpr[8] + static_cast(236))); - ctx.gpr[8] = (ctx.gpr[6] < ctx.gpr[8] ? 1u : 0u); + ctx.gpr[8] = (aot_gpr_6 < ctx.gpr[8] ? 1u : 0u); { const bool branch_taken = ctx.gpr[8] == 0u; // nop if (branch_taken) { @@ -9036,12 +9037,12 @@ L_089B7F48: goto L_089B7F6C; } L_089B7F6C: - ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(4))); + aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(4))); aot_gpr_5 = (aot_gpr_4 + static_cast(4192)); - ctx.gpr[6] = (ctx.gpr[6] - aot_gpr_17); + aot_gpr_6 = (aot_gpr_6 - ctx.gpr[17]); aot_gpr_4 = (aot_gpr_4 + static_cast(4193)); aot_gpr_31 = (0x089B7F84u); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(-1)); + aot_gpr_6 = (aot_gpr_6 + static_cast(-1)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 164u, 0x08AF54A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B7F84u) goto L_089B7F84; AOT_REGCACHE_SYNC_OUT(); return; L_089B7F84: @@ -9052,18 +9053,18 @@ L_089B7F84: aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); { const bool branch_taken = 0u == 0u; - aot_gpr_4 = (aot_gpr_4 + aot_gpr_17); + aot_gpr_4 = (aot_gpr_4 + ctx.gpr[17]); if (branch_taken) { goto L_089B7FB8; } goto L_089B7FA4; } L_089B7FA4: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - aot_gpr_17 = (aot_gpr_17 & 255u); - ctx.gpr[8] = (static_cast(aot_gpr_17) < static_cast(ctx.gpr[18]) ? 1u : 0u); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + ctx.gpr[17] = (ctx.gpr[17] & 255u); + ctx.gpr[8] = (static_cast(ctx.gpr[17]) < static_cast(ctx.gpr[18]) ? 1u : 0u); { const bool branch_taken = ctx.gpr[8] != 0u; - aot_gpr_4 = (aot_gpr_5 + aot_gpr_17); + aot_gpr_4 = (aot_gpr_5 + ctx.gpr[17]); if (branch_taken) { goto L_089B7F48; } @@ -9074,7 +9075,7 @@ L_089B7FB8: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -9089,15 +9090,15 @@ L_089B7FD4: ctx.gpr[8] = (0u | 0u); aot_gpr_5 = (ctx.gpr[8] < ctx.gpr[7] ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; - ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(144))); + aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(144))); if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0109_entry, 109u, 2u, 0x089B8014u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_089B7FE8; } L_089B7FE8: - aot_gpr_5 = (ctx.gpr[6] + ctx.gpr[6]); - aot_gpr_5 = (ctx.gpr[6] + aot_gpr_5); + aot_gpr_5 = (aot_gpr_6 + aot_gpr_6); + aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); ctx.gpr[9] = (aot_gpr_5 << 3u); aot_gpr_5 = (ctx.gpr[9] - aot_gpr_5); aot_gpr_5 = (aot_gpr_4 + aot_gpr_5); diff --git a/profiles/vcs/generated/generated_unit_0109.cpp b/profiles/vcs/generated/generated_unit_0109.cpp index 2e2e780..66b70b7 100644 --- a/profiles/vcs/generated/generated_unit_0109.cpp +++ b/profiles/vcs/generated/generated_unit_0109.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0109[4094] = { }; void recomp_unit_0109_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,16,31,6 fprs=12,13,20,14 gpr_occ=3944 fpr_occ=631 gpr_total=5393 fpr_total=837 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,31,29,6,16 fprs=12,13,14,20 gpr_occ=4149 fpr_occ=649 gpr_total=5745 fpr_total=861 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; - std::uint32_t aot_gpr_29 = ctx.gpr[29]; - std::uint32_t aot_gpr_16 = ctx.gpr[16]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; + std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_6 = ctx.gpr[6]; + std::uint32_t aot_gpr_16 = ctx.gpr[16]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; - float aot_fpr_20 = ctx.fpr[20]; float aot_fpr_14 = ctx.fpr[14]; + float aot_fpr_20 = ctx.fpr[20]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[16] = aot_gpr_16; ctx.gpr[31] = aot_gpr_31; ctx.gpr[6] = aot_gpr_6; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; ctx.fpr[14] = aot_fpr_14; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_6 = ctx.gpr[6]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_14 = ctx.fpr[14]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[31] = aot_gpr_31; ctx.gpr[29] = aot_gpr_29; ctx.gpr[6] = aot_gpr_6; ctx.gpr[16] = aot_gpr_16; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[20] = aot_fpr_20; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_16 = ctx.gpr[16]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_20 = ctx.fpr[20]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -1049,7 +1050,7 @@ L_089B8020: L_089B8038: aot_gpr_31 = (0x089B8040u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B8040u) goto L_089B8040; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B8040u) goto L_089B8040; AOT_REGCACHE_SYNC_OUT(); return; L_089B8040: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(26320), ctx.gpr[2]); @@ -2693,7 +2694,7 @@ L_089B8C7C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x089B8C8Cu); aot_gpr_5 = (aot_gpr_5 >> 5u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B8C8Cu) goto L_089B8C8C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089B7A84, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B8C8Cu) goto L_089B8C8C; AOT_REGCACHE_SYNC_OUT(); return; L_089B8C8C: aot_gpr_4 = (ctx.gpr[2] | 0u); @@ -4559,7 +4560,7 @@ L_089B9A94: L_089B9AA8: aot_gpr_31 = (0x089B9AB0u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-13220)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B9AB0u) goto L_089B9AB0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B9AB0u) goto L_089B9AB0; AOT_REGCACHE_SYNC_OUT(); return; L_089B9AB0: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -4823,7 +4824,7 @@ L_089B9C90: L_089B9CA4: aot_gpr_31 = (0x089B9CACu); aot_gpr_4 = (ctx.gpr[28] + static_cast(-13200)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B9CACu) goto L_089B9CAC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B9CACu) goto L_089B9CAC; AOT_REGCACHE_SYNC_OUT(); return; L_089B9CAC: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -5002,7 +5003,7 @@ L_089B9DF0: L_089B9DFC: aot_gpr_31 = (0x089B9E04u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B9E04u) goto L_089B9E04; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089B9E04u) goto L_089B9E04; AOT_REGCACHE_SYNC_OUT(); return; L_089B9E04: { std::uint32_t aot_run_words[3]{}; @@ -5246,7 +5247,7 @@ L_089BA01C: L_089BA024: aot_gpr_31 = (0x089BA02Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BA02Cu) goto L_089BA02C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BA02Cu) goto L_089BA02C; AOT_REGCACHE_SYNC_OUT(); return; L_089BA02C: { const bool branch_taken = ctx.gpr[17] == 0u; @@ -5286,7 +5287,7 @@ L_089BA058: L_089BA064: aot_gpr_31 = (0x089BA06Cu); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BA06Cu) goto L_089BA06C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BA06Cu) goto L_089BA06C; AOT_REGCACHE_SYNC_OUT(); return; L_089BA06C: aot_gpr_4 = (aot_gpr_29 | 0u); @@ -5313,7 +5314,7 @@ L_089BA088: L_089BA094: aot_gpr_31 = (0x089BA09Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BA09Cu) goto L_089BA09C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BA09Cu) goto L_089BA09C; AOT_REGCACHE_SYNC_OUT(); return; L_089BA09C: { const bool branch_taken = ctx.gpr[17] == 0u; @@ -5353,7 +5354,7 @@ L_089BA0C8: L_089BA0D4: aot_gpr_31 = (0x089BA0DCu); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BA0DCu) goto L_089BA0DC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BA0DCu) goto L_089BA0DC; AOT_REGCACHE_SYNC_OUT(); return; L_089BA0DC: aot_gpr_4 = (aot_gpr_29 | 0u); @@ -5380,7 +5381,7 @@ L_089BA0F8: L_089BA104: aot_gpr_31 = (0x089BA10Cu); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BA10Cu) goto L_089BA10C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BA10Cu) goto L_089BA10C; AOT_REGCACHE_SYNC_OUT(); return; L_089BA10C: { const bool branch_taken = ctx.gpr[17] == 0u; @@ -5422,7 +5423,7 @@ L_089BA138: L_089BA14C: aot_gpr_31 = (0x089BA154u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BA154u) goto L_089BA154; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BA154u) goto L_089BA154; AOT_REGCACHE_SYNC_OUT(); return; L_089BA154: ctx.gpr[2] = (0u | 1u); @@ -5611,7 +5612,7 @@ L_089BA310: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(76), aot_gpr_31); aot_gpr_31 = (0x089BA370u); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BA370u) goto L_089BA370; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BA370u) goto L_089BA370; AOT_REGCACHE_SYNC_OUT(); return; L_089BA370: ctx.fpr[26] = ctx.fpr[26] + ctx.fpr[22]; @@ -5629,7 +5630,7 @@ L_089BA370: aot_fpr_14 = ctx.fpr[30] + ctx.fpr[15]; aot_gpr_31 = (0x089BA3ACu); ctx.fpr[15] = ctx.fpr[24] + ctx.fpr[15]; - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BA3ACu) goto L_089BA3AC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, ctx.fpr[15]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BA3ACu) goto L_089BA3AC; AOT_REGCACHE_SYNC_OUT(); return; L_089BA3AC: aot_gpr_4 = (ctx.gpr[2] | 0u); @@ -5645,7 +5646,7 @@ L_089BA3BC: aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[30])); aot_gpr_31 = (0x089BA3D4u); ctx.fpr[15] = std::bit_cast(std::bit_cast(ctx.fpr[24])); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BA3D4u) goto L_089BA3D4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, ctx.fpr[15]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BA3D4u) goto L_089BA3D4; AOT_REGCACHE_SYNC_OUT(); return; L_089BA3D4: aot_gpr_4 = (ctx.gpr[2] | 0u); @@ -5700,7 +5701,7 @@ L_089BA448: aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[26])); aot_gpr_31 = (0x089BA460u); ctx.fpr[15] = std::bit_cast(std::bit_cast(ctx.fpr[24])); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BA460u) goto L_089BA460; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, ctx.fpr[15]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BA460u) goto L_089BA460; AOT_REGCACHE_SYNC_OUT(); return; L_089BA460: aot_gpr_4 = (ctx.gpr[2] | 0u); @@ -5812,7 +5813,7 @@ L_089BA54C: L_089BA558: aot_gpr_31 = (0x089BA560u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BA560u) goto L_089BA560; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BA560u) goto L_089BA560; AOT_REGCACHE_SYNC_OUT(); return; L_089BA560: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -5887,7 +5888,7 @@ L_089BA5E0: L_089BA5E8: aot_gpr_31 = (0x089BA5F0u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BA5F0u) goto L_089BA5F0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BA5F0u) goto L_089BA5F0; AOT_REGCACHE_SYNC_OUT(); return; L_089BA5F0: { std::uint32_t aot_run_words[3]{}; @@ -6041,19 +6042,19 @@ L_089BA73C: aot_gpr_4 = (0u | 7u); aot_gpr_31 = (0x089BA748u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BA748u) goto L_089BA748; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BA748u) goto L_089BA748; AOT_REGCACHE_SYNC_OUT(); return; L_089BA748: aot_gpr_4 = (0u | 2u); aot_gpr_31 = (0x089BA754u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BA754u) goto L_089BA754; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BA754u) goto L_089BA754; AOT_REGCACHE_SYNC_OUT(); return; L_089BA754: aot_gpr_4 = (0u | 10u); aot_gpr_31 = (0x089BA760u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BA760u) goto L_089BA760; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BA760u) goto L_089BA760; AOT_REGCACHE_SYNC_OUT(); return; L_089BA760: ctx.gpr[19] = (2236u << 16u); @@ -7666,17 +7667,17 @@ L_089BB298: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); aot_gpr_31 = (0x089BB2A8u); aot_gpr_4 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BB2A8u) goto L_089BB2A8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C498, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BB2A8u) goto L_089BB2A8; AOT_REGCACHE_SYNC_OUT(); return; L_089BB2A8: aot_gpr_31 = (0x089BB2B0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BB2B0u) goto L_089BB2B0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C05C, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BB2B0u) goto L_089BB2B0; AOT_REGCACHE_SYNC_OUT(); return; L_089BB2B0: aot_gpr_31 = (0x089BB2B8u); aot_gpr_4 = (0u | 20u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BB2B8u) goto L_089BB2B8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C604, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BB2B8u) goto L_089BB2B8; AOT_REGCACHE_SYNC_OUT(); return; L_089BB2B8: aot_gpr_4 = (16156u << 16u); @@ -7748,7 +7749,7 @@ L_089BB31C: L_089BB328: aot_gpr_31 = (0x089BB330u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BB330u) goto L_089BB330; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BB330u) goto L_089BB330; AOT_REGCACHE_SYNC_OUT(); return; L_089BB330: ctx.gpr[17] = (aot_gpr_16 | 0u); @@ -8205,7 +8206,7 @@ L_089BB6E8: L_089BB6F4: aot_gpr_31 = (0x089BB6FCu); aot_gpr_4 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BB6FCu) goto L_089BB6FC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BB6FCu) goto L_089BB6FC; AOT_REGCACHE_SYNC_OUT(); return; L_089BB6FC: ctx.gpr[19] = (ctx.gpr[20] | 0u); @@ -8278,7 +8279,7 @@ L_089BB778: L_089BB784: aot_gpr_31 = (0x089BB78Cu); aot_gpr_4 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BB78Cu) goto L_089BB78C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BB78Cu) goto L_089BB78C; AOT_REGCACHE_SYNC_OUT(); return; L_089BB78C: ctx.gpr[19] = (ctx.gpr[20] | 0u); @@ -8323,17 +8324,17 @@ L_089BB7E0: L_089BB7EC: aot_gpr_31 = (0x089BB7F4u); aot_gpr_4 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BB7F4u) goto L_089BB7F4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C498, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BB7F4u) goto L_089BB7F4; AOT_REGCACHE_SYNC_OUT(); return; L_089BB7F4: aot_gpr_31 = (0x089BB7FCu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BB7FCu) goto L_089BB7FC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C05C, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BB7FCu) goto L_089BB7FC; AOT_REGCACHE_SYNC_OUT(); return; L_089BB7FC: aot_gpr_31 = (0x089BB804u); aot_gpr_4 = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BB804u) goto L_089BB804; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C604, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BB804u) goto L_089BB804; AOT_REGCACHE_SYNC_OUT(); return; L_089BB804: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); @@ -8356,7 +8357,7 @@ L_089BB814: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(3), static_cast(aot_gpr_5)); aot_gpr_31 = (0x089BB83Cu); aot_gpr_4 = (aot_gpr_29 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BB83Cu) goto L_089BB83C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C4A8, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BB83Cu) goto L_089BB83C; AOT_REGCACHE_SYNC_OUT(); return; L_089BB83C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-8744))); @@ -8384,7 +8385,7 @@ L_089BB860: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(7), static_cast(aot_gpr_5)); aot_gpr_31 = (0x089BB888u); aot_gpr_4 = (aot_gpr_29 + static_cast(4)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BB888u) goto L_089BB888; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C4A8, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BB888u) goto L_089BB888; AOT_REGCACHE_SYNC_OUT(); return; L_089BB888: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-8744))); @@ -8406,7 +8407,7 @@ L_089BB8A8: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); aot_gpr_31 = (0x089BB8CCu); aot_gpr_6 = (std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BB8CCu) goto L_089BB8CC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BB8CCu) goto L_089BB8CC; AOT_REGCACHE_SYNC_OUT(); return; L_089BB8CC: ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); @@ -8433,7 +8434,7 @@ L_089BB8E4: L_089BB8F0: aot_gpr_31 = (0x089BB8F8u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BB8F8u) goto L_089BB8F8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BB8F8u) goto L_089BB8F8; AOT_REGCACHE_SYNC_OUT(); return; L_089BB8F8: ctx.gpr[17] = (ctx.gpr[18] | 0u); @@ -8509,7 +8510,7 @@ L_089BB96C: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); aot_gpr_31 = (0x089BB9B0u); aot_gpr_6 = (std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BB9B0u) goto L_089BB9B0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BB9B0u) goto L_089BB9B0; AOT_REGCACHE_SYNC_OUT(); return; L_089BB9B0: { const bool branch_taken = 0u == 0u; @@ -8890,7 +8891,7 @@ L_089BBCAC: aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_31 = (0x089BBCF4u); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[30])); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BBCF4u) goto L_089BBCF4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, ctx.fpr[15]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BBCF4u) goto L_089BBCF4; AOT_REGCACHE_SYNC_OUT(); return; L_089BBCF4: ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(11221))); @@ -8900,7 +8901,7 @@ L_089BBCF4: aot_gpr_6 = (0u | 255u); aot_gpr_31 = (0x089BBD10u); ctx.gpr[7] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BBD10u) goto L_089BBD10; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BBD10u) goto L_089BBD10; AOT_REGCACHE_SYNC_OUT(); return; L_089BBD10: aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[22])); @@ -8928,7 +8929,7 @@ L_089BBD40: ctx.fpr[15] = std::bit_cast(std::bit_cast(ctx.fpr[28])); aot_gpr_31 = (0x089BBD68u); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[30])); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BBD68u) goto L_089BBD68; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, ctx.fpr[15]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BBD68u) goto L_089BBD68; AOT_REGCACHE_SYNC_OUT(); return; L_089BBD68: { std::uint32_t aot_run_words[3]{}; @@ -8953,7 +8954,7 @@ L_089BBD68: aot_gpr_6 = (0u | 255u); aot_gpr_31 = (0x089BBDB4u); ctx.gpr[7] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BBDB4u) goto L_089BBDB4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BBDB4u) goto L_089BBDB4; AOT_REGCACHE_SYNC_OUT(); return; L_089BBDB4: aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[24])); @@ -8977,7 +8978,7 @@ L_089BBDE4: aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[30])); aot_gpr_31 = (0x089BBDFCu); ctx.fpr[15] = std::bit_cast(std::bit_cast(ctx.fpr[28])); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BBDFCu) goto L_089BBDFC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, ctx.fpr[15]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BBDFCu) goto L_089BBDFC; AOT_REGCACHE_SYNC_OUT(); return; L_089BBDFC: { std::uint32_t aot_run_words[3]{}; @@ -9002,7 +9003,7 @@ L_089BBDFC: aot_gpr_6 = (0u | 255u); aot_gpr_31 = (0x089BBE48u); ctx.gpr[7] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BBE48u) goto L_089BBE48; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BBE48u) goto L_089BBE48; AOT_REGCACHE_SYNC_OUT(); return; L_089BBE48: aot_gpr_4 = (ctx.gpr[18] | 0u); @@ -9035,12 +9036,12 @@ L_089BBE78: L_089BBE94: aot_gpr_31 = (0x089BBE9Cu); aot_gpr_4 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BBE9Cu) goto L_089BBE9C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C498, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BBE9Cu) goto L_089BBE9C; AOT_REGCACHE_SYNC_OUT(); return; L_089BBE9C: aot_gpr_31 = (0x089BBEA4u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BBEA4u) goto L_089BBEA4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C05C, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BBEA4u) goto L_089BBEA4; AOT_REGCACHE_SYNC_OUT(); return; L_089BBEA4: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(11221))); @@ -9052,7 +9053,7 @@ L_089BBEA4: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(39), static_cast(aot_gpr_4)); aot_gpr_31 = (0x089BBEC8u); aot_gpr_4 = (aot_gpr_29 + static_cast(36)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BBEC8u) goto L_089BBEC8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C4A8, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BBEC8u) goto L_089BBEC8; AOT_REGCACHE_SYNC_OUT(); return; L_089BBEC8: aot_gpr_4 = (0u | 43u); @@ -9080,7 +9081,7 @@ L_089BBEF8: aot_gpr_5 = (0u | 362u); aot_gpr_31 = (0x089BBF08u); aot_gpr_6 = (0u | 35u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BBF08u) goto L_089BBF08; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BBF08u) goto L_089BBF08; AOT_REGCACHE_SYNC_OUT(); return; L_089BBF08: { const bool branch_taken = 0u == 0u; @@ -9101,7 +9102,7 @@ L_089BBF1C: aot_gpr_5 = (0u | 366u); aot_gpr_31 = (0x089BBF2Cu); aot_gpr_6 = (0u | 40u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BBF2Cu) goto L_089BBF2C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BBF2Cu) goto L_089BBF2C; AOT_REGCACHE_SYNC_OUT(); return; L_089BBF2C: { std::uint32_t aot_run_words[11]{}; @@ -9167,12 +9168,12 @@ L_089BBFCC: L_089BBFDC: aot_gpr_31 = (0x089BBFE4u); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(24))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BBFE4u) goto L_089BBFE4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C498, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BBFE4u) goto L_089BBFE4; AOT_REGCACHE_SYNC_OUT(); return; L_089BBFE4: aot_gpr_31 = (0x089BBFECu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BBFECu) goto L_089BBFEC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C05C, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BBFECu) goto L_089BBFEC; AOT_REGCACHE_SYNC_OUT(); return; L_089BBFEC: aot_gpr_31 = (0x089BBFF4u); diff --git a/profiles/vcs/generated/generated_unit_0110.cpp b/profiles/vcs/generated/generated_unit_0110.cpp index 5966d98..ac2db73 100644 --- a/profiles/vcs/generated/generated_unit_0110.cpp +++ b/profiles/vcs/generated/generated_unit_0110.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0110[4088] = { }; void recomp_unit_0110_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,31,16,6 fprs=12,13,14,15 gpr_occ=3271 fpr_occ=1464 gpr_total=4358 fpr_total=2048 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,31,5,6,29,2 fprs=12,13,14,15 gpr_occ=3607 fpr_occ=1600 gpr_total=5103 fpr_total=2184 std::uint32_t aot_gpr_4 = ctx.gpr[4]; - std::uint32_t aot_gpr_5 = ctx.gpr[5]; - std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; - std::uint32_t aot_gpr_16 = ctx.gpr[16]; + std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_6 = ctx.gpr[6]; + std::uint32_t aot_gpr_29 = ctx.gpr[29]; + std::uint32_t aot_gpr_2 = ctx.gpr[2]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_14 = ctx.fpr[14]; float aot_fpr_15 = ctx.fpr[15]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[31] = aot_gpr_31; ctx.gpr[16] = aot_gpr_16; ctx.gpr[6] = aot_gpr_6; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[15] = aot_fpr_15; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_6 = ctx.gpr[6]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_15 = ctx.fpr[15]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[31] = aot_gpr_31; ctx.gpr[5] = aot_gpr_5; ctx.gpr[6] = aot_gpr_6; ctx.gpr[29] = aot_gpr_29; ctx.gpr[2] = aot_gpr_2; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[15] = aot_fpr_15; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_2 = ctx.gpr[2]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_15 = ctx.fpr[15]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -987,7 +988,7 @@ L_089BC000: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(19), static_cast(ctx.gpr[7])); aot_gpr_31 = (0x089BC02Cu); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BC02Cu) goto L_089BC02C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C4A8, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BC02Cu) goto L_089BC02C; AOT_REGCACHE_SYNC_OUT(); return; L_089BC02C: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(28))); @@ -1007,7 +1008,7 @@ L_089BC02C: L_089BC050: aot_gpr_31 = (0x089BC058u); aot_gpr_4 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BC058u) goto L_089BC058; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C604, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BC058u) goto L_089BC058; AOT_REGCACHE_SYNC_OUT(); return; L_089BC058: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(36)))))); @@ -1024,7 +1025,7 @@ L_089BC05C: L_089BC068: aot_gpr_31 = (0x089BC070u); aot_gpr_4 = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BC070u) goto L_089BC070; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C604, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BC070u) goto L_089BC070; AOT_REGCACHE_SYNC_OUT(); return; L_089BC070: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(36)))))); @@ -1041,7 +1042,7 @@ L_089BC074: L_089BC080: aot_gpr_31 = (0x089BC088u); aot_gpr_4 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BC088u) goto L_089BC088; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C604, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BC088u) goto L_089BC088; AOT_REGCACHE_SYNC_OUT(); return; L_089BC088: aot_gpr_5 = (ctx.gpr[20] + ctx.gpr[19]); @@ -1053,11 +1054,11 @@ L_089BC088: aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_gpr_31 = (0x089BC0ACu); aot_fpr_15 = std::bit_cast(std::bit_cast(ctx.fpr[22])); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BC0ACu) goto L_089BC0AC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08873400, 27u, 732u, 0x08873400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BC0ACu) goto L_089BC0AC; AOT_REGCACHE_SYNC_OUT(); return; L_089BC0AC: aot_gpr_31 = (0x089BC0B4u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 64u, 0x08B0C4D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BC0B4u) goto L_089BC0B4; AOT_REGCACHE_SYNC_OUT(); return; L_089BC0B4: @@ -1077,12 +1078,12 @@ L_089BC0C8: aot_gpr_5 = (std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x089BC0E8u); aot_gpr_6 = (std::bit_cast(aot_fpr_13)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BC0E8u) goto L_089BC0E8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BC0E8u) goto L_089BC0E8; AOT_REGCACHE_SYNC_OUT(); return; L_089BC0E8: - aot_gpr_16 = (aot_gpr_16 + static_cast(1)); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(1)); ctx.gpr[17] = (ctx.gpr[17] + static_cast(168)); - aot_gpr_4 = (static_cast(aot_gpr_16) < 20 ? 1u : 0u); + aot_gpr_4 = (static_cast(ctx.gpr[16]) < 20 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; ctx.gpr[21] = (ctx.gpr[21] + static_cast(168)); if (branch_taken) { @@ -1095,7 +1096,7 @@ L_089BC0FC: aot_gpr_4 = (0u | 0u); ctx.gpr[22] = (ctx.gpr[22] + static_cast(16)); ctx.gpr[19] = (2240u << 16u); - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); ctx.gpr[18] = (aot_gpr_29 + static_cast(20)); ctx.gpr[20] = (aot_gpr_29 + static_cast(36)); ctx.gpr[22] = (aot_gpr_4 + ctx.gpr[22]); @@ -1137,10 +1138,10 @@ L_089BC138: L_089BC150: aot_gpr_31 = (0x089BC158u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BC158u) goto L_089BC158; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BC158u) goto L_089BC158; AOT_REGCACHE_SYNC_OUT(); return; L_089BC158: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x089BC168u); aot_gpr_6 = (0u | 1u); @@ -1159,19 +1160,19 @@ L_089BC170: ctx.gpr[21] = (aot_gpr_4 + ctx.gpr[19]); aot_gpr_31 = (0x089BC180u); aot_gpr_4 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BC180u) goto L_089BC180; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BC180u) goto L_089BC180; AOT_REGCACHE_SYNC_OUT(); return; L_089BC180: aot_gpr_4 = (ctx.gpr[21] | 0u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x089BC190u); aot_gpr_6 = (ctx.gpr[22] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 72u, 0x08AF4650u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BC190u) goto L_089BC190; AOT_REGCACHE_SYNC_OUT(); return; L_089BC190: - aot_gpr_16 = (aot_gpr_16 + static_cast(1)); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(1)); ctx.gpr[17] = (ctx.gpr[17] + static_cast(24)); - aot_gpr_4 = (static_cast(aot_gpr_16) < 16 ? 1u : 0u); + aot_gpr_4 = (static_cast(ctx.gpr[16]) < 16 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; ctx.gpr[22] = (ctx.gpr[22] + static_cast(24)); if (branch_taken) { @@ -1184,7 +1185,7 @@ L_089BC1A4: aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(52), aot_run_words); ctx.fpr[20] = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); - aot_gpr_16 = aot_run_words[2]; + ctx.gpr[16] = aot_run_words[2]; ctx.gpr[17] = aot_run_words[3]; ctx.gpr[18] = aot_run_words[4]; ctx.gpr[19] = aot_run_words[5]; @@ -1207,18 +1208,18 @@ L_089BC1D4: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), std::bit_cast(ctx.fpr[20])); ctx.fpr[20] = std::bit_cast(0u); ctx.gpr[17] = (ctx.gpr[17] + static_cast(17968)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_31); { const bool branch_taken = aot_gpr_5 == 0u; - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_089BC510; } goto L_089BC204; } L_089BC204: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(1050))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(1050))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -1245,9 +1246,9 @@ L_089BC228: aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(24), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(24), std::bit_cast(aot_fpr_12)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(9252), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(9252), 0u); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(9248), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(9248), 0u); if (branch_taken) { goto L_089BC514; } @@ -1256,17 +1257,17 @@ L_089BC228: L_089BC24C: aot_gpr_31 = (0x089BC254u); aot_gpr_4 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BC254u) goto L_089BC254; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C498, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BC254u) goto L_089BC254; AOT_REGCACHE_SYNC_OUT(); return; L_089BC254: aot_gpr_31 = (0x089BC25Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BC25Cu) goto L_089BC25C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C05C, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[16], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BC25Cu) goto L_089BC25C; AOT_REGCACHE_SYNC_OUT(); return; L_089BC25C: aot_gpr_31 = (0x089BC264u); aot_gpr_4 = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BC264u) goto L_089BC264; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C604, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BC264u) goto L_089BC264; AOT_REGCACHE_SYNC_OUT(); return; L_089BC264: aot_gpr_4 = (16968u << 16u); @@ -1542,7 +1543,7 @@ L_089BC4B4: } L_089BC4C4: aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(24), std::bit_cast(ctx.fpr[20])); - aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(3610), static_cast(0u)); + aot_mem.aot_direct_store16(ctx.gpr[16] + static_cast(3610), static_cast(0u)); aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(24), std::bit_cast(ctx.fpr[20])); goto L_089BC4D0; L_089BC4D0: @@ -1556,14 +1557,14 @@ L_089BC4D0: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(3), static_cast(aot_gpr_5)); aot_gpr_31 = (0x089BC4F8u); aot_gpr_4 = (aot_gpr_29 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BC4F8u) goto L_089BC4F8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C4A8, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BC4F8u) goto L_089BC4F8; AOT_REGCACHE_SYNC_OUT(); return; L_089BC4F8: - aot_gpr_4 = (aot_gpr_16 + static_cast(3610)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(3610)); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x089BC508u); aot_gpr_6 = (0u | 268u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BC508u) goto L_089BC508; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BC508u) goto L_089BC508; AOT_REGCACHE_SYNC_OUT(); return; L_089BC508: { const bool branch_taken = 0u == 0u; @@ -1580,7 +1581,7 @@ L_089BC514: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(4), aot_run_words); ctx.fpr[20] = std::bit_cast(aot_run_words[0]); - aot_gpr_16 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[1]; ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; @@ -1594,17 +1595,17 @@ L_089BC514: L_089BC530: aot_gpr_29 = (aot_gpr_29 + static_cast(-112)); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(24))); - { const std::uint32_t aot_run_words[11]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; + { const std::uint32_t aot_run_words[11]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(64), aot_run_words); } { const bool branch_taken = aot_gpr_5 == 0u; - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_089BC824; } goto L_089BC56C; } L_089BC56C: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(1562))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(1562))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -1613,7 +1614,7 @@ L_089BC56C: goto L_089BC578; } L_089BC578: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(536))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(536))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -1622,7 +1623,7 @@ L_089BC578: goto L_089BC584; } L_089BC584: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(10848))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(10848))); { const bool branch_taken = aot_gpr_4 == 0u; ctx.gpr[20] = (0u | 1u); if (branch_taken) { @@ -1632,10 +1633,10 @@ L_089BC584: } L_089BC590: aot_gpr_4 = (0u | 3u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(10848), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(10848), aot_gpr_4); goto L_089BC598; L_089BC598: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(9252))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(9252))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -1645,22 +1646,22 @@ L_089BC598: } L_089BC5A4: aot_gpr_4 = (0u | 3u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(9252), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(9252), aot_gpr_4); goto L_089BC5AC; L_089BC5AC: aot_gpr_31 = (0x089BC5B4u); aot_gpr_4 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BC5B4u) goto L_089BC5B4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C498, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BC5B4u) goto L_089BC5B4; AOT_REGCACHE_SYNC_OUT(); return; L_089BC5B4: aot_gpr_31 = (0x089BC5BCu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BC5BCu) goto L_089BC5BC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C05C, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[16], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BC5BCu) goto L_089BC5BC; AOT_REGCACHE_SYNC_OUT(); return; L_089BC5BC: aot_gpr_31 = (0x089BC5C4u); aot_gpr_4 = (0u | 10u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BC5C4u) goto L_089BC5C4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C604, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BC5C4u) goto L_089BC5C4; AOT_REGCACHE_SYNC_OUT(); return; L_089BC5C4: aot_gpr_4 = (16156u << 16u); @@ -1719,7 +1720,7 @@ L_089BC61C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0112_entry, 112u, 629u, 0x089C6D68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BC624u) goto L_089BC624; AOT_REGCACHE_SYNC_OUT(); return; L_089BC624: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; aot_gpr_5 = (16880u << 16u); if (branch_taken) { goto L_089BC654; @@ -1763,19 +1764,19 @@ L_089BC654: aot_gpr_5 = (17288u << 16u); aot_gpr_31 = (0x089BC678u); aot_fpr_15 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BC678u) goto L_089BC678; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08873400, 27u, 732u, 0x08873400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BC678u) goto L_089BC678; AOT_REGCACHE_SYNC_OUT(); return; L_089BC678: aot_gpr_31 = (0x089BC680u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 64u, 0x08B0C4D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BC680u) goto L_089BC680; AOT_REGCACHE_SYNC_OUT(); return; L_089BC680: - aot_gpr_4 = (aot_gpr_16 + static_cast(24)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(24)); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x089BC690u); aot_gpr_6 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BC690u) goto L_089BC690; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BC690u) goto L_089BC690; AOT_REGCACHE_SYNC_OUT(); return; L_089BC690: { const bool branch_taken = 0u == 0u; @@ -1795,7 +1796,7 @@ L_089BC698: aot_gpr_6 = (17245u << 16u); aot_gpr_5 = (16544u << 16u); ctx.fpr[26] = std::bit_cast(aot_gpr_6); - ctx.gpr[19] = (aot_gpr_16 + static_cast(24)); + ctx.gpr[19] = (ctx.gpr[16] + static_cast(24)); ctx.fpr[24] = std::bit_cast(aot_gpr_5); { const bool branch_taken = aot_gpr_4 == 0u; ctx.gpr[17] = (0u | 2u); @@ -1805,7 +1806,7 @@ L_089BC698: goto L_089BC6CC; } L_089BC6CC: - aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(24), static_cast(0u)); + aot_mem.aot_direct_store16(ctx.gpr[16] + static_cast(24), static_cast(0u)); goto L_089BC6D0; L_089BC6D0: aot_gpr_5 = (17948u << 16u); @@ -1820,11 +1821,11 @@ L_089BC6D0: aot_fpr_15 = std::bit_cast(aot_gpr_5); aot_gpr_31 = (0x089BC700u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BC700u) goto L_089BC700; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08873400, 27u, 732u, 0x08873400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BC700u) goto L_089BC700; AOT_REGCACHE_SYNC_OUT(); return; L_089BC700: aot_gpr_31 = (0x089BC708u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 64u, 0x08B0C4D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BC708u) goto L_089BC708; AOT_REGCACHE_SYNC_OUT(); return; L_089BC708: @@ -1836,13 +1837,13 @@ L_089BC708: aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[28])); aot_gpr_31 = (0x089BC728u); aot_fpr_15 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BC728u) goto L_089BC728; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08873400, 27u, 732u, 0x08873400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BC728u) goto L_089BC728; AOT_REGCACHE_SYNC_OUT(); return; L_089BC728: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_6 = (0u | 0u); - ctx.gpr[7] = (ctx.gpr[2] | 0u); + ctx.gpr[7] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x089BC740u); ctx.gpr[8] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 90u, 0x08B0C660u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BC740u) goto L_089BC740; @@ -1850,7 +1851,7 @@ L_089BC728: L_089BC740: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); { const bool branch_taken = aot_gpr_4 != 0u; - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); if (branch_taken) { goto L_089BC758; } @@ -1870,7 +1871,7 @@ L_089BC758: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0112_entry, 112u, 633u, 0x089C6D88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BC760u) goto L_089BC760; AOT_REGCACHE_SYNC_OUT(); return; L_089BC760: - { const bool branch_taken = ctx.gpr[2] == ctx.gpr[17]; + { const bool branch_taken = aot_gpr_2 == ctx.gpr[17]; // nop if (branch_taken) { goto L_089BC7D8; @@ -1878,7 +1879,7 @@ L_089BC760: goto L_089BC768; } L_089BC768: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(11240))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(11240))); { const bool branch_taken = aot_gpr_4 == ctx.gpr[17]; // nop if (branch_taken) { @@ -1903,13 +1904,13 @@ L_089BC774: } L_089BC798: aot_gpr_31 = (0x089BC7A0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0109_entry, 109u, 565u, 0x089BAAD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BC7A0u) goto L_089BC7A0; AOT_REGCACHE_SYNC_OUT(); return; L_089BC7A0: ctx.fpr[28] = std::bit_cast(std::bit_cast(ctx.fpr[0])); aot_gpr_31 = (0x089BC7ACu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0109_entry, 109u, 558u, 0x089BAA88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BC7ACu) goto L_089BC7AC; AOT_REGCACHE_SYNC_OUT(); return; L_089BC7AC: @@ -1920,11 +1921,11 @@ L_089BC7AC: aot_fpr_15 = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_gpr_31 = (0x089BC7C8u); aot_fpr_12 = aot_fpr_12 + ctx.fpr[28]; - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BC7C8u) goto L_089BC7C8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08873400, 27u, 732u, 0x08873400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BC7C8u) goto L_089BC7C8; AOT_REGCACHE_SYNC_OUT(); return; L_089BC7C8: aot_gpr_31 = (0x089BC7D0u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 64u, 0x08B0C4D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BC7D0u) goto L_089BC7D0; AOT_REGCACHE_SYNC_OUT(); return; L_089BC7D0: @@ -1942,11 +1943,11 @@ L_089BC7D8: aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[22])); aot_gpr_31 = (0x089BC7F0u); aot_fpr_15 = std::bit_cast(std::bit_cast(ctx.fpr[20])); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BC7F0u) goto L_089BC7F0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08873400, 27u, 732u, 0x08873400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BC7F0u) goto L_089BC7F0; AOT_REGCACHE_SYNC_OUT(); return; L_089BC7F0: aot_gpr_31 = (0x089BC7F8u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 64u, 0x08B0C4D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BC7F8u) goto L_089BC7F8; AOT_REGCACHE_SYNC_OUT(); return; L_089BC7F8: @@ -1954,7 +1955,7 @@ L_089BC7F8: aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x089BC808u); aot_gpr_6 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BC808u) goto L_089BC808; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BC808u) goto L_089BC808; AOT_REGCACHE_SYNC_OUT(); return; L_089BC808: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); @@ -1982,7 +1983,7 @@ L_089BC824: ctx.fpr[24] = std::bit_cast(aot_run_words[2]); ctx.fpr[26] = std::bit_cast(aot_run_words[3]); ctx.fpr[28] = std::bit_cast(aot_run_words[4]); - aot_gpr_16 = aot_run_words[5]; + ctx.gpr[16] = aot_run_words[5]; ctx.gpr[17] = aot_run_words[6]; ctx.gpr[18] = aot_run_words[7]; ctx.gpr[19] = aot_run_words[8]; @@ -2000,17 +2001,17 @@ L_089BC858: aot_gpr_5 = (2236u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(32304)); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(2052))); - { const std::uint32_t aot_run_words[8]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; + { const std::uint32_t aot_run_words[8]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(48), aot_run_words); } { const bool branch_taken = aot_gpr_5 != 0u; - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_089BC8A4; } goto L_089BC890; } L_089BC890: - aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(8730))); + aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(8730))); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[28] + static_cast(-13168)))))); if (branch_taken) { @@ -2050,7 +2051,7 @@ L_089BC8B8: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[28] + static_cast(-13168)))))); goto L_089BC8C8; L_089BC8C8: - aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(8730))); + aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(8730))); { const bool branch_taken = aot_gpr_5 != 0u; aot_gpr_5 = (0u | 2u); if (branch_taken) { @@ -2234,7 +2235,7 @@ L_089BC9E8: aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(9520))); ctx.gpr[7] = (16848u << 16u); ctx.gpr[8] = (17210u << 16u); - ctx.gpr[17] = (aot_gpr_16 + static_cast(11052)); + ctx.gpr[17] = (ctx.gpr[16] + static_cast(11052)); aot_gpr_4 = (aot_gpr_29 | 0u); aot_fpr_15 = std::bit_cast(aot_gpr_6); aot_fpr_15 = aot_fpr_15 / aot_fpr_12; @@ -2246,17 +2247,17 @@ L_089BC9E8: aot_fpr_15 = aot_fpr_13 + aot_fpr_15; aot_gpr_31 = (0x089BCA5Cu); aot_fpr_14 = ctx.fpr[16] - aot_fpr_14; - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BCA5Cu) goto L_089BCA5C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BCA5Cu) goto L_089BCA5C; AOT_REGCACHE_SYNC_OUT(); return; L_089BCA5C: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); aot_gpr_4 = (aot_gpr_29 + static_cast(16)); aot_gpr_5 = (0u | 255u); aot_gpr_6 = (0u | 255u); ctx.gpr[7] = (0u | 255u); aot_gpr_31 = (0x089BCA78u); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BCA78u) goto L_089BCA78; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BCA78u) goto L_089BCA78; AOT_REGCACHE_SYNC_OUT(); return; L_089BCA78: ctx.gpr[7] = (15477u << 16u); @@ -2273,7 +2274,7 @@ L_089BCA78: ctx.gpr[7] = (16256u << 16u); ctx.fpr[19] = std::bit_cast(std::bit_cast(ctx.fpr[17])); aot_fpr_14 = std::bit_cast(ctx.gpr[7]); - aot_gpr_6 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x089BCABCu); ctx.fpr[18] = std::bit_cast(std::bit_cast(aot_fpr_14)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 84u, 0x08AF4770u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BCABCu) goto L_089BCABC; @@ -2281,17 +2282,17 @@ L_089BCA78: L_089BCABC: aot_gpr_31 = (0x089BCAC4u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BCAC4u) goto L_089BCAC4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C05C, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[16], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BCAC4u) goto L_089BCAC4; AOT_REGCACHE_SYNC_OUT(); return; L_089BCAC4: aot_gpr_31 = (0x089BCACCu); aot_gpr_4 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BCACCu) goto L_089BCACC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C498, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BCACCu) goto L_089BCACC; AOT_REGCACHE_SYNC_OUT(); return; L_089BCACC: aot_gpr_31 = (0x089BCAD4u); aot_gpr_4 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BCAD4u) goto L_089BCAD4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C604, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BCAD4u) goto L_089BCAD4; AOT_REGCACHE_SYNC_OUT(); return; L_089BCAD4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-8744))); @@ -2350,7 +2351,7 @@ L_089BCB40: ctx.gpr[7] = (16888u << 16u); ctx.gpr[8] = (17193u << 16u); ctx.gpr[9] = (16976u << 16u); - aot_gpr_16 = (aot_gpr_16 + static_cast(8730)); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(8730)); aot_gpr_4 = (aot_gpr_29 + static_cast(24)); aot_fpr_15 = std::bit_cast(aot_gpr_6); aot_fpr_14 = aot_fpr_15 - aot_fpr_14; @@ -2366,14 +2367,14 @@ L_089BCB40: aot_fpr_13 = std::bit_cast(ctx.gpr[7]); aot_gpr_31 = (0x089BCBDCu); aot_fpr_14 = std::bit_cast(ctx.gpr[8]); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BCBDCu) goto L_089BCBDC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08873400, 27u, 732u, 0x08873400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BCBDCu) goto L_089BCBDC; AOT_REGCACHE_SYNC_OUT(); return; L_089BCBDC: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_6 = (ctx.gpr[19] | 0u); ctx.gpr[7] = (ctx.gpr[17] | 0u); - ctx.gpr[8] = (ctx.gpr[2] | 0u); + ctx.gpr[8] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x089BCBF8u); ctx.gpr[9] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 24u, 0x08B0C1B0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BCBF8u) goto L_089BCBF8; @@ -2384,7 +2385,7 @@ L_089BCBF8: ctx.fpr[20] = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); - aot_gpr_16 = aot_run_words[3]; + ctx.gpr[16] = aot_run_words[3]; ctx.gpr[17] = aot_run_words[4]; ctx.gpr[18] = aot_run_words[5]; ctx.gpr[19] = aot_run_words[6]; @@ -2400,10 +2401,10 @@ L_089BCC20: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_gpr_4 = (aot_gpr_6 | 0u); aot_gpr_6 = (ctx.gpr[7] | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_31); { const bool branch_taken = static_cast(aot_gpr_6) > 0; - aot_gpr_16 = (ctx.gpr[8] | 0u); + ctx.gpr[16] = (ctx.gpr[8] | 0u); if (branch_taken) { goto L_089BCCB0; } @@ -2426,18 +2427,18 @@ L_089BCC44: aot_fpr_13 = std::bit_cast(aot_gpr_6); aot_gpr_4 = (aot_gpr_4 + static_cast(-2)); aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_13))); - aot_gpr_6 = (aot_gpr_16 >> 24u); + aot_gpr_6 = (ctx.gpr[16] >> 24u); aot_fpr_14 = std::bit_cast(ctx.gpr[7]); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(0), static_cast(aot_gpr_6)); - ctx.gpr[7] = (aot_gpr_16 >> 16u); + ctx.gpr[7] = (ctx.gpr[16] >> 16u); ctx.fpr[17] = std::bit_cast(aot_gpr_4); - aot_gpr_5 = (aot_gpr_16 >> 8u); + aot_gpr_5 = (ctx.gpr[16] >> 8u); aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(1), static_cast(ctx.gpr[7])); ctx.fpr[16] = static_cast(static_cast(std::bit_cast(ctx.fpr[16]))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(2), static_cast(aot_gpr_5)); ctx.fpr[17] = static_cast(static_cast(std::bit_cast(ctx.fpr[17]))); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(3), static_cast(aot_gpr_16)); + aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(3), static_cast(ctx.gpr[16])); aot_fpr_15 = std::bit_cast(std::bit_cast(aot_fpr_13)); aot_gpr_4 = (aot_gpr_29 | 0u); ctx.fpr[18] = std::bit_cast(std::bit_cast(aot_fpr_12)); @@ -2486,17 +2487,17 @@ L_089BCCC4: aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); aot_gpr_31 = (0x089BCD00u); aot_fpr_15 = static_cast(static_cast(std::bit_cast(aot_fpr_15))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BCD00u) goto L_089BCD00; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BCD00u) goto L_089BCD00; AOT_REGCACHE_SYNC_OUT(); return; L_089BCD00: - aot_gpr_4 = (aot_gpr_16 >> 24u); - aot_gpr_5 = (aot_gpr_16 >> 16u); + aot_gpr_4 = (ctx.gpr[16] >> 24u); + aot_gpr_5 = (ctx.gpr[16] >> 16u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(0), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_gpr_16 >> 8u); + aot_gpr_4 = (ctx.gpr[16] >> 8u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(1), static_cast(aot_gpr_5)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(2), static_cast(aot_gpr_4)); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(3), static_cast(aot_gpr_16)); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(3), static_cast(ctx.gpr[16])); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (aot_gpr_29 | 0u); aot_gpr_31 = (0x089BCD2Cu); aot_gpr_6 = (0u | 1u); @@ -2520,18 +2521,18 @@ L_089BCD34: aot_fpr_13 = std::bit_cast(aot_gpr_6); aot_gpr_4 = (aot_gpr_4 + static_cast(5)); aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_13))); - aot_gpr_6 = (aot_gpr_16 >> 24u); + aot_gpr_6 = (ctx.gpr[16] >> 24u); aot_fpr_14 = std::bit_cast(ctx.gpr[7]); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(0), static_cast(aot_gpr_6)); - ctx.gpr[7] = (aot_gpr_16 >> 16u); + ctx.gpr[7] = (ctx.gpr[16] >> 16u); ctx.fpr[17] = std::bit_cast(aot_gpr_4); - aot_gpr_5 = (aot_gpr_16 >> 8u); + aot_gpr_5 = (ctx.gpr[16] >> 8u); aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(1), static_cast(ctx.gpr[7])); ctx.fpr[16] = static_cast(static_cast(std::bit_cast(ctx.fpr[16]))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(2), static_cast(aot_gpr_5)); ctx.fpr[17] = static_cast(static_cast(std::bit_cast(ctx.fpr[17]))); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(3), static_cast(aot_gpr_16)); + aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(3), static_cast(ctx.gpr[16])); aot_fpr_15 = std::bit_cast(std::bit_cast(aot_fpr_13)); aot_gpr_4 = (aot_gpr_29 | 0u); ctx.fpr[18] = std::bit_cast(std::bit_cast(aot_fpr_12)); @@ -2548,7 +2549,7 @@ L_089BCD9C: goto L_089BCDA4; } L_089BCDA4: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); @@ -2564,17 +2565,17 @@ L_089BCDB4: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), std::bit_cast(ctx.fpr[20])); ctx.fpr[20] = std::bit_cast(0u); ctx.gpr[17] = (ctx.gpr[17] + static_cast(17968)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); { const bool branch_taken = aot_gpr_5 == 0u; - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_089BCF70; } goto L_089BCDE0; } L_089BCDE0: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 2u); aot_gpr_31 = (0x089BCDF0u); aot_gpr_6 = (0u | 0u); @@ -2597,7 +2598,7 @@ L_089BCE08: aot_fpr_12 = std::bit_cast(aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(8), std::bit_cast(ctx.fpr[20])); aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(8), std::bit_cast(aot_fpr_12)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(10848))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(10848))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -2606,10 +2607,10 @@ L_089BCE08: goto L_089BCE24; } L_089BCE24: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(10848), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(10848), 0u); goto L_089BCE28; L_089BCE28: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(9252))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(9252))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -2619,7 +2620,7 @@ L_089BCE28: } L_089BCE34: { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(9252), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(9252), 0u); if (branch_taken) { goto L_089BCF74; } @@ -2703,7 +2704,7 @@ L_089BCEF0: goto L_089BCEF4; L_089BCEF4: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(11221))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(11221))); aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); ctx.gpr[17] = (std::bit_cast(aot_fpr_12)); ctx.gpr[17] = (ctx.gpr[17] & 255u); @@ -2721,17 +2722,17 @@ L_089BCF14: L_089BCF18: aot_gpr_31 = (0x089BCF20u); aot_gpr_4 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BCF20u) goto L_089BCF20; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C498, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BCF20u) goto L_089BCF20; AOT_REGCACHE_SYNC_OUT(); return; L_089BCF20: aot_gpr_31 = (0x089BCF28u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BCF28u) goto L_089BCF28; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C05C, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[16], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BCF28u) goto L_089BCF28; AOT_REGCACHE_SYNC_OUT(); return; L_089BCF28: aot_gpr_31 = (0x089BCF30u); aot_gpr_4 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BCF30u) goto L_089BCF30; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C604, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BCF30u) goto L_089BCF30; AOT_REGCACHE_SYNC_OUT(); return; L_089BCF30: aot_gpr_5 = (0u | 0u); @@ -2744,14 +2745,14 @@ L_089BCF30: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(3), static_cast(aot_gpr_4)); aot_gpr_31 = (0x089BCF58u); aot_gpr_4 = (aot_gpr_29 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BCF58u) goto L_089BCF58; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C4A8, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BCF58u) goto L_089BCF58; AOT_REGCACHE_SYNC_OUT(); return; L_089BCF58: - aot_gpr_4 = (aot_gpr_16 + static_cast(1562)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(1562)); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x089BCF68u); aot_gpr_6 = (0u | 76u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BCF68u) goto L_089BCF68; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BCF68u) goto L_089BCF68; AOT_REGCACHE_SYNC_OUT(); return; L_089BCF68: { const bool branch_taken = 0u == 0u; @@ -2768,7 +2769,7 @@ L_089BCF74: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(4), aot_run_words); ctx.fpr[20] = std::bit_cast(aot_run_words[0]); - aot_gpr_16 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[1]; ctx.gpr[17] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -2781,7 +2782,7 @@ L_089BCF74: L_089BCF8C: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7080))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_31); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -2796,13 +2797,13 @@ L_089BCFA4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BCFACu) goto L_089BCFAC; AOT_REGCACHE_SYNC_OUT(); return; L_089BCFAC: - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x089BCFB8u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 695u, 0x0894763Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BCFB8u) goto L_089BCFB8; AOT_REGCACHE_SYNC_OUT(); return; L_089BCFB8: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089BCFD8; @@ -2811,11 +2812,11 @@ L_089BCFB8: } L_089BCFC0: aot_gpr_31 = (0x089BCFC8u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 707u, 0x089476BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BCFC8u) goto L_089BCFC8; AOT_REGCACHE_SYNC_OUT(); return; L_089BCFC8: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_089BCFE8; @@ -2848,23 +2849,23 @@ L_089BCFE0: } L_089BCFE8: aot_gpr_31 = (0x089BCFF0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 743u, 0x08947928u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BCFF0u) goto L_089BCFF0; AOT_REGCACHE_SYNC_OUT(); return; L_089BCFF0: - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (aot_gpr_2 | 0u); aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_5 = (0u | 30u); aot_gpr_6 = (0u | 130u); ctx.gpr[7] = (0u | 230u); aot_gpr_31 = (0x089BD00Cu); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BD00Cu) goto L_089BD00C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BD00Cu) goto L_089BD00C; AOT_REGCACHE_SYNC_OUT(); return; L_089BD00C: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089BD018u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 352u, 0x08A356D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BD018u) goto L_089BD018; AOT_REGCACHE_SYNC_OUT(); return; L_089BD018: @@ -2877,11 +2878,11 @@ L_089BD018: } L_089BD020: aot_gpr_31 = (0x089BD028u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 709u, 0x089476D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BD028u) goto L_089BD028; AOT_REGCACHE_SYNC_OUT(); return; L_089BD028: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089BD068; @@ -2890,23 +2891,23 @@ L_089BD028: } L_089BD030: aot_gpr_31 = (0x089BD038u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 743u, 0x08947928u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BD038u) goto L_089BD038; AOT_REGCACHE_SYNC_OUT(); return; L_089BD038: - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (aot_gpr_2 | 0u); aot_gpr_4 = (aot_gpr_29 + static_cast(4)); aot_gpr_5 = (0u | 235u); aot_gpr_6 = (0u | 45u); ctx.gpr[7] = (0u | 45u); aot_gpr_31 = (0x089BD054u); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BD054u) goto L_089BD054; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BD054u) goto L_089BD054; AOT_REGCACHE_SYNC_OUT(); return; L_089BD054: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089BD060u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 352u, 0x08A356D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BD060u) goto L_089BD060; AOT_REGCACHE_SYNC_OUT(); return; L_089BD060: @@ -2919,11 +2920,11 @@ L_089BD060: } L_089BD068: aot_gpr_31 = (0x089BD070u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 708u, 0x089476C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BD070u) goto L_089BD070; AOT_REGCACHE_SYNC_OUT(); return; L_089BD070: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089BD0B0; @@ -2932,23 +2933,23 @@ L_089BD070: } L_089BD078: aot_gpr_31 = (0x089BD080u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 743u, 0x08947928u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BD080u) goto L_089BD080; AOT_REGCACHE_SYNC_OUT(); return; L_089BD080: - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (aot_gpr_2 | 0u); aot_gpr_4 = (aot_gpr_29 + static_cast(8)); aot_gpr_5 = (0u | 235u); aot_gpr_6 = (0u | 220u); ctx.gpr[7] = (0u | 220u); aot_gpr_31 = (0x089BD09Cu); ctx.gpr[8] = (0u | 220u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BD09Cu) goto L_089BD09C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BD09Cu) goto L_089BD09C; AOT_REGCACHE_SYNC_OUT(); return; L_089BD09C: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089BD0A8u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 352u, 0x08A356D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BD0A8u) goto L_089BD0A8; AOT_REGCACHE_SYNC_OUT(); return; L_089BD0A8: @@ -2960,7 +2961,7 @@ L_089BD0A8: goto L_089BD0B0; } L_089BD0B0: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(3330))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(3330))); aot_gpr_4 = (aot_gpr_4 & 16u); aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); @@ -2973,27 +2974,27 @@ L_089BD0B0: } L_089BD0C8: aot_gpr_31 = (0x089BD0D0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 743u, 0x08947928u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BD0D0u) goto L_089BD0D0; AOT_REGCACHE_SYNC_OUT(); return; L_089BD0D0: - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (aot_gpr_2 | 0u); aot_gpr_4 = (aot_gpr_29 + static_cast(12)); aot_gpr_5 = (0u | 235u); aot_gpr_6 = (0u | 220u); ctx.gpr[7] = (0u | 220u); aot_gpr_31 = (0x089BD0ECu); ctx.gpr[8] = (0u | 220u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BD0ECu) goto L_089BD0EC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BD0ECu) goto L_089BD0EC; AOT_REGCACHE_SYNC_OUT(); return; L_089BD0EC: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089BD0F8u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 352u, 0x08A356D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BD0F8u) goto L_089BD0F8; AOT_REGCACHE_SYNC_OUT(); return; L_089BD0F8: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); @@ -3009,7 +3010,7 @@ L_089BD108: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), ctx.gpr[22]); ctx.gpr[22] = (aot_gpr_4 + static_cast(-25888)); ctx.gpr[22] = (ctx.gpr[22] + static_cast(68)); - { const std::uint32_t aot_run_words[7]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19]}; + { const std::uint32_t aot_run_words[7]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(20), aot_run_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), ctx.gpr[21]); { const std::uint32_t aot_run_words[3]{ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; @@ -3116,8 +3117,8 @@ L_089BD200: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BD20Cu) goto L_089BD20C; AOT_REGCACHE_SYNC_OUT(); return; L_089BD20C: - aot_gpr_16 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_089BD224; @@ -3126,11 +3127,11 @@ L_089BD20C: } L_089BD218: aot_gpr_31 = (0x089BD220u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BD220u) goto L_089BD220; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BD220u) goto L_089BD220; AOT_REGCACHE_SYNC_OUT(); return; L_089BD220: - ctx.gpr[17] = (aot_gpr_16 | 0u); + ctx.gpr[17] = (ctx.gpr[16] | 0u); goto L_089BD224; L_089BD224: aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), ctx.gpr[17]); @@ -3142,7 +3143,7 @@ L_089BD22C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BD234u) goto L_089BD234; AOT_REGCACHE_SYNC_OUT(); return; L_089BD234: - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x089BD240u); aot_gpr_4 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0109_entry, 109u, 689u, 0x089BB298u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BD240u) goto L_089BD240; @@ -3157,7 +3158,7 @@ L_089BD240: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(3), static_cast(aot_gpr_4)); aot_gpr_31 = (0x089BD264u); aot_gpr_4 = (aot_gpr_29 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BD264u) goto L_089BD264; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C4A8, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BD264u) goto L_089BD264; AOT_REGCACHE_SYNC_OUT(); return; L_089BD264: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[20] + static_cast(11236))); @@ -3181,19 +3182,19 @@ L_089BD294: aot_fpr_15 = ctx.fpr[24] + ctx.fpr[0]; aot_gpr_31 = (0x089BD2ACu); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[24])); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BD2ACu) goto L_089BD2AC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08873400, 27u, 732u, 0x08873400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BD2ACu) goto L_089BD2AC; AOT_REGCACHE_SYNC_OUT(); return; L_089BD2AC: aot_gpr_31 = (0x089BD2B4u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 64u, 0x08B0C4D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BD2B4u) goto L_089BD2B4; AOT_REGCACHE_SYNC_OUT(); return; L_089BD2B4: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x089BD2C4u); aot_gpr_6 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BD2C4u) goto L_089BD2C4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BD2C4u) goto L_089BD2C4; AOT_REGCACHE_SYNC_OUT(); return; L_089BD2C4: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[19] + static_cast(18)))))); @@ -3228,7 +3229,7 @@ L_089BD2F0: ctx.fpr[20] = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); - aot_gpr_16 = aot_run_words[3]; + ctx.gpr[16] = aot_run_words[3]; ctx.gpr[17] = aot_run_words[4]; ctx.gpr[18] = aot_run_words[5]; ctx.gpr[19] = aot_run_words[6]; @@ -3248,10 +3249,10 @@ L_089BD2F0: L_089BD32C: aot_gpr_29 = (aot_gpr_29 + static_cast(-80)); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(9270))); - { const std::uint32_t aot_run_words[12]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; + { const std::uint32_t aot_run_words[12]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(32), aot_run_words); } { const bool branch_taken = aot_gpr_5 == 0u; - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_089BD380; } @@ -3293,7 +3294,7 @@ L_089BD390: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0112_entry, 112u, 633u, 0x089C6D88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BD398u) goto L_089BD398; AOT_REGCACHE_SYNC_OUT(); return; L_089BD398: - { const bool branch_taken = ctx.gpr[2] == ctx.gpr[17]; + { const bool branch_taken = aot_gpr_2 == ctx.gpr[17]; // nop if (branch_taken) { goto L_089BD564; @@ -3301,7 +3302,7 @@ L_089BD398: goto L_089BD3A0; } L_089BD3A0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(11240))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(11240))); { const bool branch_taken = aot_gpr_4 == ctx.gpr[17]; // nop if (branch_taken) { @@ -3310,7 +3311,7 @@ L_089BD3A0: goto L_089BD3AC; } L_089BD3AC: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(9260)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(9260)))))); aot_gpr_4 = (0u | 8u); { const bool branch_taken = aot_gpr_5 != aot_gpr_4; // nop @@ -3341,7 +3342,7 @@ L_089BD3D4: aot_gpr_4 = (0u | 7u); aot_gpr_31 = (0x089BD3E0u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BD3E0u) goto L_089BD3E0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BD3E0u) goto L_089BD3E0; AOT_REGCACHE_SYNC_OUT(); return; L_089BD3E0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); @@ -3394,21 +3395,21 @@ L_089BD418: goto L_089BD42C; } L_089BD42C: - ctx.gpr[17] = (aot_gpr_16 + static_cast(11124)); + ctx.gpr[17] = (ctx.gpr[16] + static_cast(11124)); aot_gpr_31 = (0x089BD438u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0109_entry, 109u, 558u, 0x089BAA88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BD438u) goto L_089BD438; AOT_REGCACHE_SYNC_OUT(); return; L_089BD438: aot_gpr_4 = (16512u << 16u); ctx.fpr[20] = std::bit_cast(aot_gpr_4); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089BD44Cu); ctx.fpr[22] = ctx.fpr[0] - ctx.fpr[20]; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0109_entry, 109u, 561u, 0x089BAAA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BD44Cu) goto L_089BD44C; AOT_REGCACHE_SYNC_OUT(); return; L_089BD44C: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089BD458u); ctx.fpr[24] = ctx.fpr[0] - ctx.fpr[20]; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0109_entry, 109u, 558u, 0x089BAA88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BD458u) goto L_089BD458; @@ -3416,12 +3417,12 @@ L_089BD44C: L_089BD458: ctx.fpr[26] = std::bit_cast(std::bit_cast(ctx.fpr[0])); aot_gpr_31 = (0x089BD464u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0109_entry, 109u, 565u, 0x089BAAD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BD464u) goto L_089BD464; AOT_REGCACHE_SYNC_OUT(); return; L_089BD464: aot_fpr_12 = ctx.fpr[26] + ctx.fpr[0]; - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089BD474u); ctx.fpr[28] = aot_fpr_12 + ctx.fpr[20]; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0109_entry, 109u, 561u, 0x089BAAA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BD474u) goto L_089BD474; @@ -3429,7 +3430,7 @@ L_089BD464: L_089BD474: ctx.fpr[30] = std::bit_cast(std::bit_cast(ctx.fpr[0])); aot_gpr_31 = (0x089BD480u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0109_entry, 109u, 569u, 0x089BAAFCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BD480u) goto L_089BD480; AOT_REGCACHE_SYNC_OUT(); return; L_089BD480: @@ -3440,56 +3441,56 @@ L_089BD480: aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[28])); aot_gpr_31 = (0x089BD49Cu); aot_fpr_15 = aot_fpr_15 + ctx.fpr[20]; - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BD49Cu) goto L_089BD49C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BD49Cu) goto L_089BD49C; AOT_REGCACHE_SYNC_OUT(); return; L_089BD49C: - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (aot_gpr_2 | 0u); aot_gpr_4 = (aot_gpr_29 + static_cast(16)); aot_gpr_5 = (0u | 255u); aot_gpr_6 = (0u | 255u); ctx.gpr[7] = (0u | 255u); aot_gpr_31 = (0x089BD4B8u); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BD4B8u) goto L_089BD4B8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BD4B8u) goto L_089BD4B8; AOT_REGCACHE_SYNC_OUT(); return; L_089BD4B8: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); aot_gpr_4 = (aot_gpr_29 + static_cast(20)); aot_gpr_5 = (0u | 255u); aot_gpr_6 = (0u | 255u); ctx.gpr[7] = (0u | 255u); aot_gpr_31 = (0x089BD4D4u); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BD4D4u) goto L_089BD4D4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BD4D4u) goto L_089BD4D4; AOT_REGCACHE_SYNC_OUT(); return; L_089BD4D4: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); aot_gpr_4 = (aot_gpr_29 + static_cast(24)); aot_gpr_5 = (0u | 255u); aot_gpr_6 = (0u | 255u); ctx.gpr[7] = (0u | 255u); aot_gpr_31 = (0x089BD4F0u); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BD4F0u) goto L_089BD4F0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BD4F0u) goto L_089BD4F0; AOT_REGCACHE_SYNC_OUT(); return; L_089BD4F0: - ctx.gpr[20] = (ctx.gpr[2] | 0u); + ctx.gpr[20] = (aot_gpr_2 | 0u); aot_gpr_4 = (aot_gpr_29 + static_cast(28)); aot_gpr_5 = (0u | 255u); aot_gpr_6 = (0u | 255u); ctx.gpr[7] = (0u | 255u); aot_gpr_31 = (0x089BD50Cu); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BD50Cu) goto L_089BD50C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BD50Cu) goto L_089BD50C; AOT_REGCACHE_SYNC_OUT(); return; L_089BD50C: aot_gpr_4 = (ctx.gpr[17] | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_6 = (ctx.gpr[18] | 0u); ctx.gpr[7] = (ctx.gpr[19] | 0u); ctx.gpr[8] = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x089BD528u); - ctx.gpr[9] = (ctx.gpr[2] | 0u); + ctx.gpr[9] = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 76u, 0x08AF46A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BD528u) goto L_089BD528; AOT_REGCACHE_SYNC_OUT(); return; L_089BD528: @@ -3539,7 +3540,7 @@ L_089BD564: ctx.fpr[26] = std::bit_cast(aot_run_words[3]); ctx.fpr[28] = std::bit_cast(aot_run_words[4]); ctx.fpr[30] = std::bit_cast(aot_run_words[5]); - aot_gpr_16 = aot_run_words[6]; + ctx.gpr[16] = aot_run_words[6]; ctx.gpr[17] = aot_run_words[7]; ctx.gpr[18] = aot_run_words[8]; ctx.gpr[19] = aot_run_words[9]; @@ -3555,18 +3556,18 @@ L_089BD564: L_089BD59C: aot_gpr_29 = (aot_gpr_29 + static_cast(-208)); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(9263))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(200), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(200), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(204), aot_gpr_31); { const bool branch_taken = aot_gpr_5 == 0u; - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_089BD5CC; } goto L_089BD5B4; } L_089BD5B4: - aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(11224))); - ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(11226))); + aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(11224))); + ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(11226))); { const bool branch_taken = aot_gpr_5 != 0u; aot_gpr_4 = (0u | 1u); if (branch_taken) { @@ -3611,7 +3612,7 @@ L_089BD5DC: { const float fs = aot_fpr_14; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_fpr_12 = aot_fpr_12 - aot_fpr_13; aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); - ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(11223))); + ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(11223))); aot_gpr_5 = (std::bit_cast(aot_fpr_12)); aot_gpr_5 = (ctx.gpr[8] - aot_gpr_5); { const bool branch_taken = static_cast(aot_gpr_5) >= 0; @@ -3626,7 +3627,7 @@ L_089BD620: aot_gpr_5 = (aot_gpr_5 + static_cast(60)); goto L_089BD628; L_089BD628: - ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(11222))); + ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(11222))); aot_gpr_6 = (ctx.gpr[8] - aot_gpr_6); { const bool branch_taken = static_cast(aot_gpr_6) >= 0; // nop @@ -3658,8 +3659,8 @@ L_089BD648: } L_089BD654: aot_gpr_5 = (0u | 1u); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(11226), static_cast(aot_gpr_5)); - ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(11226))); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(11226), static_cast(aot_gpr_5)); + ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(11226))); goto L_089BD660; L_089BD660: { const bool branch_taken = ctx.gpr[7] == 0u; @@ -3671,7 +3672,7 @@ L_089BD660: } L_089BD668: aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7648))); - aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(11222))); + aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(11222))); { const bool branch_taken = aot_gpr_5 != aot_gpr_6; // nop if (branch_taken) { @@ -3681,7 +3682,7 @@ L_089BD668: } L_089BD678: aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7649))); - aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(11223))); + aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(11223))); { const bool branch_taken = aot_gpr_5 != aot_gpr_6; // nop if (branch_taken) { @@ -3690,9 +3691,9 @@ L_089BD678: goto L_089BD688; } L_089BD688: - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(11226), static_cast(0u)); - aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(11224), static_cast(0u)); - ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(11226))); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(11226), static_cast(0u)); + aot_mem.aot_direct_store16(ctx.gpr[16] + static_cast(11224), static_cast(0u)); + ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(11226))); goto L_089BD694; L_089BD694: { const bool branch_taken = ctx.gpr[7] != aot_gpr_4; @@ -3714,7 +3715,7 @@ L_089BD69C: goto L_089BD6B0; } L_089BD6B0: - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(11253))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(11253))); { const bool branch_taken = aot_gpr_5 == aot_gpr_4; // nop if (branch_taken) { @@ -3733,7 +3734,7 @@ L_089BD6BC: L_089BD6C4: aot_gpr_4 = (0u | 1u); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(11253), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(11253), static_cast(aot_gpr_4)); if (branch_taken) { goto L_089BD71C; } @@ -3747,7 +3748,7 @@ L_089BD6D0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 553u, 0x08A062F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BD6E0u) goto L_089BD6E0; AOT_REGCACHE_SYNC_OUT(); return; L_089BD6E0: - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(11253), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(11253), static_cast(0u)); aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7648))); ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7649))); aot_gpr_5 = (ctx.gpr[28] + static_cast(-12144)); @@ -3759,7 +3760,7 @@ L_089BD6F8: ctx.gpr[7] = (17336u << 16u); ctx.gpr[7] = (ctx.gpr[7] | 32768u); aot_fpr_12 = std::bit_cast(ctx.gpr[7]); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); ctx.gpr[7] = (16640u << 16u); aot_gpr_5 = (aot_gpr_29 | 0u); aot_fpr_13 = std::bit_cast(ctx.gpr[7]); @@ -3767,7 +3768,7 @@ L_089BD6F8: aot_gpr_6 = (0u | 0u); goto L_089BD72C; L_089BD71C: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(200))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(200))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(204))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(208)); @@ -3777,14 +3778,14 @@ L_089BD71C: AOT_REGCACHE_SYNC_OUT(); return; L_089BD72C: aot_gpr_29 = (aot_gpr_29 + static_cast(-112)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), aot_gpr_16); - aot_gpr_16 = (aot_gpr_5 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_5 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(84), ctx.gpr[20]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(96), ctx.gpr[23]); ctx.gpr[23] = (aot_gpr_4 | 0u); ctx.gpr[20] = (aot_gpr_6 & 255u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), std::bit_cast(ctx.fpr[20])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(80), ctx.gpr[19]); ctx.fpr[20] = std::bit_cast(std::bit_cast(aot_fpr_12)); @@ -3803,12 +3804,12 @@ L_089BD72C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(104), aot_gpr_31); aot_gpr_31 = (0x089BD7A4u); ctx.gpr[7] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BD7A4u) goto L_089BD7A4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BD7A4u) goto L_089BD7A4; AOT_REGCACHE_SYNC_OUT(); return; L_089BD7A4: - aot_gpr_16 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(0)))))); + ctx.gpr[16] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(0)))))); aot_gpr_4 = (16720u << 16u); - { const bool branch_taken = aot_gpr_16 == 0u; + { const bool branch_taken = ctx.gpr[16] == 0u; ctx.fpr[22] = std::bit_cast(aot_gpr_4); if (branch_taken) { goto L_089BD9E8; @@ -3835,10 +3836,10 @@ L_089BD7B4: ctx.fpr[24] = std::bit_cast(aot_gpr_4); goto L_089BD7F8; L_089BD7F8: - aot_gpr_16 = (aot_gpr_16 & 255u); - aot_gpr_4 = (static_cast(aot_gpr_16) < 48 ? 1u : 0u); + ctx.gpr[16] = (ctx.gpr[16] & 255u); + aot_gpr_4 = (static_cast(ctx.gpr[16]) < 48 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_4 = (static_cast(aot_gpr_16) < 58 ? 1u : 0u); + aot_gpr_4 = (static_cast(ctx.gpr[16]) < 58 ? 1u : 0u); if (branch_taken) { goto L_089BD850; } @@ -3861,11 +3862,11 @@ L_089BD810: goto L_089BD818; } L_089BD818: - aot_gpr_16 = (aot_gpr_16 + static_cast(-48)); - aot_gpr_16 = (aot_gpr_16 & 255u); - aot_gpr_4 = (static_cast(static_cast(aot_gpr_16) >> 3u)); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(-48)); + ctx.gpr[16] = (ctx.gpr[16] & 255u); + aot_gpr_4 = (static_cast(static_cast(ctx.gpr[16]) >> 3u)); aot_gpr_4 = (aot_gpr_4 >> 29u); - ctx.gpr[17] = (aot_gpr_16 + aot_gpr_4); + ctx.gpr[17] = (ctx.gpr[16] + aot_gpr_4); { const bool branch_taken = 0u == 0u; ctx.gpr[17] = (static_cast(static_cast(ctx.gpr[17]) >> 3u)); if (branch_taken) { @@ -3874,11 +3875,11 @@ L_089BD818: goto L_089BD834; } L_089BD834: - aot_gpr_16 = (aot_gpr_16 + static_cast(-37)); - aot_gpr_16 = (aot_gpr_16 & 255u); - aot_gpr_4 = (static_cast(static_cast(aot_gpr_16) >> 3u)); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(-37)); + ctx.gpr[16] = (ctx.gpr[16] & 255u); + aot_gpr_4 = (static_cast(static_cast(ctx.gpr[16]) >> 3u)); aot_gpr_4 = (aot_gpr_4 >> 29u); - ctx.gpr[17] = (aot_gpr_16 + aot_gpr_4); + ctx.gpr[17] = (ctx.gpr[16] + aot_gpr_4); { const bool branch_taken = 0u == 0u; ctx.gpr[17] = (static_cast(static_cast(ctx.gpr[17]) >> 3u)); if (branch_taken) { @@ -3887,7 +3888,7 @@ L_089BD834: goto L_089BD850; } L_089BD850: - { const bool branch_taken = aot_gpr_16 != ctx.gpr[22]; + { const bool branch_taken = ctx.gpr[16] != ctx.gpr[22]; // nop if (branch_taken) { goto L_089BD8E8; @@ -3895,9 +3896,9 @@ L_089BD850: goto L_089BD858; } L_089BD858: - aot_gpr_4 = (static_cast(static_cast(aot_gpr_16) >> 3u)); + aot_gpr_4 = (static_cast(static_cast(ctx.gpr[16]) >> 3u)); aot_gpr_5 = (aot_gpr_4 >> 29u); - ctx.gpr[17] = (aot_gpr_16 + aot_gpr_5); + ctx.gpr[17] = (ctx.gpr[16] + aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[23] + static_cast(11221))); { const bool branch_taken = ctx.gpr[20] != 0u; ctx.gpr[17] = (static_cast(static_cast(ctx.gpr[17]) >> 3u)); @@ -3913,16 +3914,16 @@ L_089BD870: aot_gpr_6 = (0u | 170u); aot_gpr_31 = (0x089BD888u); ctx.gpr[7] = (0u | 57u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BD888u) goto L_089BD888; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BD888u) goto L_089BD888; AOT_REGCACHE_SYNC_OUT(); return; L_089BD888: - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(0))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(0), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(1))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(1))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(1), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(2))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(2))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(2), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(3))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(3))); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(3), static_cast(aot_gpr_4)); if (branch_taken) { @@ -3937,16 +3938,16 @@ L_089BD8AC: aot_gpr_6 = (0u | 141u); aot_gpr_31 = (0x089BD8C4u); ctx.gpr[7] = (0u | 188u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BD8C4u) goto L_089BD8C4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BD8C4u) goto L_089BD8C4; AOT_REGCACHE_SYNC_OUT(); return; L_089BD8C4: - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(0))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(0), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(1))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(1))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(1), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(2))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(2))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(2), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(3))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(3))); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(3), static_cast(aot_gpr_4)); if (branch_taken) { @@ -3963,7 +3964,7 @@ L_089BD8E8: goto L_089BD8F0; } L_089BD8F0: - aot_gpr_16 = (ctx.gpr[30] | 0u); + ctx.gpr[16] = (ctx.gpr[30] | 0u); { const bool branch_taken = 0u == 0u; ctx.gpr[17] = (0u | 1u); if (branch_taken) { @@ -3972,15 +3973,15 @@ L_089BD8F0: goto L_089BD8FC; } L_089BD8FC: - aot_gpr_16 = (0u | 21u); + ctx.gpr[16] = (0u | 21u); ctx.gpr[17] = (0u | 2u); goto L_089BD904; L_089BD904: ctx.gpr[18] = (ctx.gpr[17] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[22])); ctx.gpr[17] = (ctx.gpr[18] << 3u); - { const bool branch_taken = aot_gpr_16 != ctx.gpr[22]; - ctx.gpr[17] = (aot_gpr_16 - ctx.gpr[17]); + { const bool branch_taken = ctx.gpr[16] != ctx.gpr[22]; + ctx.gpr[17] = (ctx.gpr[16] - ctx.gpr[17]); if (branch_taken) { goto L_089BD924; } @@ -4000,7 +4001,7 @@ L_089BD924: aot_fpr_15 = aot_fpr_13 + aot_fpr_15; aot_gpr_31 = (0x089BD944u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BD944u) goto L_089BD944; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BD944u) goto L_089BD944; AOT_REGCACHE_SYNC_OUT(); return; L_089BD944: aot_fpr_12 = std::bit_cast(ctx.gpr[17]); @@ -4021,7 +4022,7 @@ L_089BD954: goto L_089BD968; L_089BD968: { const float fs = aot_fpr_13; const float ft = ctx.fpr[26]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } - ctx.gpr[17] = (aot_gpr_16 | 0u); + ctx.gpr[17] = (ctx.gpr[16] | 0u); aot_fpr_14 = ctx.fpr[28] + aot_fpr_12; aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(36))); aot_gpr_5 = (ctx.gpr[21] | 0u); @@ -4039,9 +4040,9 @@ L_089BD998: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(40))); ctx.gpr[19] = (ctx.gpr[19] + static_cast(1)); ctx.fpr[20] = ctx.fpr[20] + aot_fpr_12; - aot_gpr_16 = (aot_gpr_4 + ctx.gpr[19]); + ctx.gpr[16] = (aot_gpr_4 + ctx.gpr[19]); { const bool branch_taken = ctx.gpr[17] != ctx.gpr[30]; - aot_gpr_16 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(0)))))); + ctx.gpr[16] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(0)))))); if (branch_taken) { goto L_089BD9C0; } @@ -4061,7 +4062,7 @@ L_089BD9C0: aot_fpr_13 = std::bit_cast(ctx.fpu_float_to_word_ct<2u>(aot_fpr_13)); ctx.fpr[20] = static_cast(static_cast(std::bit_cast(aot_fpr_13))); aot_fpr_12 = ctx.fpr[24] / aot_fpr_12; - { const bool branch_taken = aot_gpr_16 != 0u; + { const bool branch_taken = ctx.gpr[16] != 0u; { const float fs = ctx.fpr[20]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[20] = std::bit_cast(0x7FC00000u); else ctx.fpr[20] = fs * ft; } if (branch_taken) { goto L_089BD7F8; @@ -4077,7 +4078,7 @@ L_089BD9E8: ctx.fpr[26] = std::bit_cast(aot_run_words[3]); ctx.fpr[28] = std::bit_cast(aot_run_words[4]); ctx.fpr[30] = std::bit_cast(aot_run_words[5]); - aot_gpr_16 = aot_run_words[6]; + ctx.gpr[16] = aot_run_words[6]; ctx.gpr[17] = aot_run_words[7]; ctx.gpr[18] = aot_run_words[8]; ctx.gpr[19] = aot_run_words[9]; @@ -4112,29 +4113,29 @@ L_089BDA30: ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(2320))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), ctx.gpr[17]); ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(2324))); - { const std::uint32_t aot_run_words[4]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), aot_gpr_16}; + { const std::uint32_t aot_run_words[4]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), ctx.gpr[16]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(20), aot_run_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), ctx.gpr[20]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), aot_gpr_31); { const bool branch_taken = aot_gpr_6 == ctx.gpr[18]; - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_089BDAC0; } goto L_089BDA94; } L_089BDA94: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x089BDAA4u); aot_gpr_6 = (0u | 1u); goto L_089BF18C; L_089BDAA4: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(11221))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(11221))); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[0])); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(10888), ctx.gpr[18]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(10888), ctx.gpr[18]); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(10900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(10900))); { const bool branch_taken = 0u == 0u; aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); if (branch_taken) { @@ -4143,15 +4144,15 @@ L_089BDAA4: goto L_089BDAC0; } L_089BDAC0: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x089BDAD0u); aot_gpr_6 = (0u | 0u); goto L_089BF18C; L_089BDAD0: - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(11221))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(11221))); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[0])); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(10900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(10900))); aot_fpr_12 = std::bit_cast(aot_gpr_5); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); goto L_089BDAE4; @@ -4204,7 +4205,7 @@ L_089BDB34: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0112_entry, 112u, 638u, 0x089C6DBCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BDB3Cu) goto L_089BDB3C; AOT_REGCACHE_SYNC_OUT(); return; L_089BDB3C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089BDBF8; @@ -4212,7 +4213,7 @@ L_089BDB3C: goto L_089BDB44; } L_089BDB44: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(9267))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(9267))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -4260,7 +4261,7 @@ L_089BDB94: goto L_089BDBA4; } L_089BDBA4: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[24])); aot_gpr_5 = (aot_gpr_29 | 0u); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[22])); @@ -4295,7 +4296,7 @@ L_089BDBD0: goto L_089BDBE0; } L_089BDBE0: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[24])); aot_gpr_5 = (aot_gpr_29 | 0u); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[22])); @@ -4318,7 +4319,7 @@ L_089BDC08: ctx.fpr[20] = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); - aot_gpr_16 = aot_run_words[3]; + ctx.gpr[16] = aot_run_words[3]; ctx.gpr[17] = aot_run_words[4]; ctx.gpr[18] = aot_run_words[5]; ctx.gpr[19] = aot_run_words[6]; @@ -4334,18 +4335,18 @@ L_089BDC08: L_089BDC34: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(4122))); - { const std::uint32_t aot_run_words[4]{std::bit_cast(ctx.fpr[20]), aot_gpr_16, ctx.gpr[17], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{std::bit_cast(ctx.fpr[20]), ctx.gpr[16], ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(20), aot_run_words); } { const bool branch_taken = aot_gpr_5 == 0u; - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_089BDD08; } goto L_089BDC54; } L_089BDC54: - ctx.gpr[17] = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(11221))); - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(1562))); + ctx.gpr[17] = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(11221))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(1562))); aot_gpr_5 = (17199u << 16u); { const bool branch_taken = aot_gpr_4 != 0u; ctx.fpr[20] = std::bit_cast(aot_gpr_5); @@ -4364,17 +4365,17 @@ L_089BDC74: aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-17152), static_cast(aot_gpr_4)); aot_gpr_31 = (0x089BDC84u); aot_gpr_4 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BDC84u) goto L_089BDC84; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C498, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BDC84u) goto L_089BDC84; AOT_REGCACHE_SYNC_OUT(); return; L_089BDC84: aot_gpr_31 = (0x089BDC8Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BDC8Cu) goto L_089BDC8C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C05C, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[16], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BDC8Cu) goto L_089BDC8C; AOT_REGCACHE_SYNC_OUT(); return; L_089BDC8C: aot_gpr_31 = (0x089BDC94u); aot_gpr_4 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BDC94u) goto L_089BDC94; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C604, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BDC94u) goto L_089BDC94; AOT_REGCACHE_SYNC_OUT(); return; L_089BDC94: aot_gpr_5 = (0u | 237u); @@ -4394,18 +4395,18 @@ L_089BDC94: aot_fpr_12 = std::bit_cast(aot_gpr_5); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(3), static_cast(aot_gpr_4)); aot_gpr_5 = (17288u << 16u); - aot_gpr_16 = (aot_gpr_16 + static_cast(4122)); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(4122)); aot_fpr_15 = std::bit_cast(aot_gpr_5); aot_gpr_31 = (0x089BDCE8u); aot_gpr_4 = (aot_gpr_29 + static_cast(4)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BDCE8u) goto L_089BDCE8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08873400, 27u, 732u, 0x08873400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BDCE8u) goto L_089BDCE8; AOT_REGCACHE_SYNC_OUT(); return; L_089BDCE8: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_6 = (ctx.gpr[17] | 0u); ctx.gpr[7] = (aot_gpr_29 | 0u); - ctx.gpr[8] = (ctx.gpr[2] | 0u); + ctx.gpr[8] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x089BDD04u); ctx.gpr[9] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 24u, 0x08B0C1B0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BDD04u) goto L_089BDD04; @@ -4417,7 +4418,7 @@ L_089BDD08: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(20), aot_run_words); ctx.fpr[20] = std::bit_cast(aot_run_words[0]); - aot_gpr_16 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[1]; ctx.gpr[17] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -4440,12 +4441,12 @@ L_089BDD20: aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), ctx.gpr[20]); ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); - { const std::uint32_t aot_run_words[5]{std::bit_cast(ctx.fpr[20]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19]}; + { const std::uint32_t aot_run_words[5]{std::bit_cast(ctx.fpr[20]), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(24), aot_run_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), ctx.gpr[21]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), aot_gpr_31); { const bool branch_taken = ctx.gpr[20] == 0u; - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_089BDD98; } @@ -4453,12 +4454,12 @@ L_089BDD20: } L_089BDD74: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(236))); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(11216))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(11216))); aot_gpr_5 = (aot_gpr_5 & 256u); ctx.gpr[19] = (0u | 1u); - ctx.gpr[18] = (aot_gpr_16 + static_cast(11212)); + ctx.gpr[18] = (ctx.gpr[16] + static_cast(11212)); { const bool branch_taken = aot_gpr_5 != 0u; - ctx.gpr[17] = (aot_gpr_16 + static_cast(11215)); + ctx.gpr[17] = (ctx.gpr[16] + static_cast(11215)); if (branch_taken) { goto L_089BDDA0; } @@ -4474,7 +4475,7 @@ L_089BDD90: } L_089BDD98: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_089BDF04; } @@ -4491,7 +4492,7 @@ L_089BDDA0: L_089BDDA8: aot_gpr_4 = (0u | 3u); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(11216), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(11216), static_cast(aot_gpr_4)); if (branch_taken) { goto L_089BDE04; } @@ -4506,7 +4507,7 @@ L_089BDDB4: goto L_089BDDBC; } L_089BDDBC: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(11213))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(11213))); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_5 = (17328u << 16u); if (branch_taken) { @@ -4526,7 +4527,7 @@ L_089BDDC8: L_089BDDD4: aot_gpr_4 = (0u | 2u); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(11213), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(11213), static_cast(aot_gpr_4)); if (branch_taken) { goto L_089BDE04; } @@ -4535,7 +4536,7 @@ L_089BDDD4: L_089BDDE0: aot_gpr_5 = (aot_gpr_4 | 0u); { const bool branch_taken = aot_gpr_5 == ctx.gpr[19]; - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(11213))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(11213))); if (branch_taken) { goto L_089BDDF4; } @@ -4543,7 +4544,7 @@ L_089BDDE0: } L_089BDDEC: aot_gpr_5 = (0u | 3u); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(11216), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(11216), static_cast(aot_gpr_5)); goto L_089BDDF4; L_089BDDF4: { const bool branch_taken = aot_gpr_4 == ctx.gpr[19]; @@ -4555,7 +4556,7 @@ L_089BDDF4: } L_089BDDFC: aot_gpr_4 = (0u | 3u); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(11213), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(11213), static_cast(aot_gpr_4)); goto L_089BDE04; L_089BDE04: aot_gpr_5 = (17328u << 16u); @@ -4570,7 +4571,7 @@ L_089BDE08: aot_gpr_5 = (16840u << 16u); aot_gpr_31 = (0x089BDE2Cu); aot_fpr_15 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BDE2Cu) goto L_089BDE2C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BDE2Cu) goto L_089BDE2C; AOT_REGCACHE_SYNC_OUT(); return; L_089BDE2C: aot_gpr_4 = (15523u << 16u); @@ -4582,7 +4583,7 @@ L_089BDE2C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0170_entry, 170u, 815u, 0x08AAFA6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BDE44u) goto L_089BDE44; AOT_REGCACHE_SYNC_OUT(); return; L_089BDE44: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(11213))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(11213))); { const bool branch_taken = aot_gpr_4 == ctx.gpr[19]; ctx.gpr[21] = (0u | 0u); if (branch_taken) { @@ -4591,7 +4592,7 @@ L_089BDE44: goto L_089BDE50; } L_089BDE50: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(9272))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(9272))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -4606,9 +4607,9 @@ L_089BDE5C: aot_gpr_5 = (0u | 127u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(17), static_cast(aot_gpr_4)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(18), static_cast(aot_gpr_5)); - aot_gpr_6 = (aot_gpr_16 + static_cast(11164)); - ctx.gpr[7] = (aot_gpr_16 + static_cast(11152)); - ctx.gpr[8] = (aot_gpr_16 + static_cast(11172)); + aot_gpr_6 = (ctx.gpr[16] + static_cast(11164)); + ctx.gpr[7] = (ctx.gpr[16] + static_cast(11152)); + ctx.gpr[8] = (ctx.gpr[16] + static_cast(11172)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(19), static_cast(0u)); ctx.gpr[9] = (aot_gpr_29 + static_cast(16)); aot_gpr_4 = (ctx.gpr[18] | 0u); @@ -4626,7 +4627,7 @@ L_089BDE98: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0170_entry, 170u, 815u, 0x08AAFA6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BDEA4u) goto L_089BDEA4; AOT_REGCACHE_SYNC_OUT(); return; L_089BDEA4: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(11216))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(11216))); { const bool branch_taken = aot_gpr_4 == ctx.gpr[19]; // nop if (branch_taken) { @@ -4635,7 +4636,7 @@ L_089BDEA4: goto L_089BDEB0; } L_089BDEB0: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(9273))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(9273))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -4652,9 +4653,9 @@ L_089BDEBC: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(20), static_cast(aot_gpr_4)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(21), static_cast(aot_gpr_5)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(22), static_cast(aot_gpr_4)); - aot_gpr_6 = (aot_gpr_16 + static_cast(11164)); - ctx.gpr[7] = (aot_gpr_16 + static_cast(11152)); - ctx.gpr[8] = (aot_gpr_16 + static_cast(11172)); + aot_gpr_6 = (ctx.gpr[16] + static_cast(11164)); + ctx.gpr[7] = (ctx.gpr[16] + static_cast(11152)); + ctx.gpr[8] = (ctx.gpr[16] + static_cast(11172)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(23), static_cast(0u)); ctx.gpr[9] = (aot_gpr_29 + static_cast(20)); aot_gpr_4 = (ctx.gpr[17] | 0u); @@ -4666,13 +4667,13 @@ L_089BDEFC: ctx.gpr[21] = (0u | 1u); goto L_089BDF00; L_089BDF00: - ctx.gpr[2] = (ctx.gpr[21] | 0u); + aot_gpr_2 = (ctx.gpr[21] | 0u); goto L_089BDF04; L_089BDF04: { std::uint32_t aot_run_words[8]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(24), aot_run_words); ctx.fpr[20] = std::bit_cast(aot_run_words[0]); - aot_gpr_16 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[1]; ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; ctx.gpr[19] = aot_run_words[4]; @@ -4688,27 +4689,27 @@ L_089BDF04: AOT_REGCACHE_SYNC_OUT(); return; L_089BDF2C: aot_gpr_29 = (aot_gpr_29 + static_cast(-240)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(204), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(204), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_4 = (0u | 7u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(200), std::bit_cast(ctx.fpr[20])); { const std::uint32_t aot_run_words[8]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(208), aot_run_words); } aot_gpr_31 = (0x089BDF68u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BDF68u) goto L_089BDF68; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BDF68u) goto L_089BDF68; AOT_REGCACHE_SYNC_OUT(); return; L_089BDF68: aot_gpr_4 = (0u | 2u); aot_gpr_31 = (0x089BDF74u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BDF74u) goto L_089BDF74; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BDF74u) goto L_089BDF74; AOT_REGCACHE_SYNC_OUT(); return; L_089BDF74: aot_gpr_4 = (0u | 10u); aot_gpr_31 = (0x089BDF80u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BDF80u) goto L_089BDF80; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BDF80u) goto L_089BDF80; AOT_REGCACHE_SYNC_OUT(); return; L_089BDF80: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(8360))); @@ -4720,7 +4721,7 @@ L_089BDF80: goto L_089BDF8C; } L_089BDF8C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(20))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -4746,11 +4747,11 @@ L_089BDFA0: } L_089BDFA8: aot_gpr_31 = (0x089BDFB0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0112_entry, 112u, 361u, 0x089C57B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BDFB0u) goto L_089BDFB0; AOT_REGCACHE_SYNC_OUT(); return; L_089BDFB0: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(24))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(24))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -4759,7 +4760,7 @@ L_089BDFB0: goto L_089BDFBC; } L_089BDFBC: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(1562))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(1562))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -4768,7 +4769,7 @@ L_089BDFBC: goto L_089BDFC8; } L_089BDFC8: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(536))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(536))); aot_gpr_5 = (0u | 1u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -4778,7 +4779,7 @@ L_089BDFC8: goto L_089BDFD8; } L_089BDFD8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(10848))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(10848))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -4788,10 +4789,10 @@ L_089BDFD8: } L_089BDFE4: aot_gpr_4 = (0u | 3u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(10848), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(10848), aot_gpr_4); goto L_089BDFEC; L_089BDFEC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(9252))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(9252))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -4801,22 +4802,22 @@ L_089BDFEC: } L_089BDFF8: aot_gpr_4 = (0u | 3u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(9252), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(9252), aot_gpr_4); goto L_089BE000; L_089BE000: aot_gpr_31 = (0x089BE008u); aot_gpr_4 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BE008u) goto L_089BE008; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C498, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BE008u) goto L_089BE008; AOT_REGCACHE_SYNC_OUT(); return; L_089BE008: aot_gpr_31 = (0x089BE010u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BE010u) goto L_089BE010; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C05C, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[16], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BE010u) goto L_089BE010; AOT_REGCACHE_SYNC_OUT(); return; L_089BE010: aot_gpr_31 = (0x089BE018u); aot_gpr_4 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BE018u) goto L_089BE018; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C604, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BE018u) goto L_089BE018; AOT_REGCACHE_SYNC_OUT(); return; L_089BE018: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7080))); @@ -4866,7 +4867,7 @@ L_089BE060: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0112_entry, 112u, 629u, 0x089C6D68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BE068u) goto L_089BE068; AOT_REGCACHE_SYNC_OUT(); return; L_089BE068: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089BE2C4; @@ -4907,19 +4908,19 @@ L_089BE094: aot_gpr_5 = (17288u << 16u); aot_gpr_31 = (0x089BE0B8u); aot_fpr_15 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BE0B8u) goto L_089BE0B8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08873400, 27u, 732u, 0x08873400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BE0B8u) goto L_089BE0B8; AOT_REGCACHE_SYNC_OUT(); return; L_089BE0B8: aot_gpr_31 = (0x089BE0C0u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 64u, 0x08B0C4D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BE0C0u) goto L_089BE0C0; AOT_REGCACHE_SYNC_OUT(); return; L_089BE0C0: - aot_gpr_4 = (aot_gpr_16 + static_cast(24)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(24)); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x089BE0D0u); aot_gpr_6 = (0u | 217u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BE0D0u) goto L_089BE0D0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BE0D0u) goto L_089BE0D0; AOT_REGCACHE_SYNC_OUT(); return; L_089BE0D0: { const bool branch_taken = 0u == 0u; @@ -4939,7 +4940,7 @@ L_089BE0D8: goto L_089BE0E4; } L_089BE0E4: - aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(24), static_cast(0u)); + aot_mem.aot_direct_store16(ctx.gpr[16] + static_cast(24), static_cast(0u)); goto L_089BE0E8; L_089BE0E8: aot_gpr_5 = (17948u << 16u); @@ -4955,30 +4956,30 @@ L_089BE0E8: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089BE11Cu); aot_fpr_15 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BE11Cu) goto L_089BE11C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08873400, 27u, 732u, 0x08873400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BE11Cu) goto L_089BE11C; AOT_REGCACHE_SYNC_OUT(); return; L_089BE11C: aot_gpr_31 = (0x089BE124u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 64u, 0x08B0C4D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BE124u) goto L_089BE124; AOT_REGCACHE_SYNC_OUT(); return; L_089BE124: aot_gpr_5 = (17391u << 16u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_fpr_14 = std::bit_cast(aot_gpr_5); - ctx.gpr[18] = (aot_gpr_16 + static_cast(24)); + ctx.gpr[18] = (ctx.gpr[16] + static_cast(24)); aot_gpr_5 = (17287u << 16u); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089BE148u); aot_fpr_15 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BE148u) goto L_089BE148; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08873400, 27u, 732u, 0x08873400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BE148u) goto L_089BE148; AOT_REGCACHE_SYNC_OUT(); return; L_089BE148: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_6 = (0u | 0u); - ctx.gpr[7] = (ctx.gpr[2] | 0u); + ctx.gpr[7] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x089BE160u); ctx.gpr[8] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 90u, 0x08B0C660u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BE160u) goto L_089BE160; @@ -4986,7 +4987,7 @@ L_089BE148: L_089BE160: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); { const bool branch_taken = aot_gpr_4 != 0u; - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); if (branch_taken) { goto L_089BE174; } @@ -5004,7 +5005,7 @@ L_089BE174: AOT_REGCACHE_SYNC_OUT(); return; L_089BE17C: aot_gpr_4 = (0u | 2u); - { const bool branch_taken = ctx.gpr[2] == aot_gpr_4; + { const bool branch_taken = aot_gpr_2 == aot_gpr_4; // nop if (branch_taken) { goto L_089BE25C; @@ -5012,7 +5013,7 @@ L_089BE17C: goto L_089BE188; } L_089BE188: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(11240))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(11240))); aot_gpr_5 = (0u | 2u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -5038,13 +5039,13 @@ L_089BE198: } L_089BE1BC: aot_gpr_31 = (0x089BE1C4u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0109_entry, 109u, 565u, 0x089BAAD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BE1C4u) goto L_089BE1C4; AOT_REGCACHE_SYNC_OUT(); return; L_089BE1C4: ctx.fpr[20] = std::bit_cast(std::bit_cast(ctx.fpr[0])); aot_gpr_31 = (0x089BE1D0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0109_entry, 109u, 558u, 0x089BAA88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BE1D0u) goto L_089BE1D0; AOT_REGCACHE_SYNC_OUT(); return; L_089BE1D0: @@ -5075,19 +5076,19 @@ L_089BE1D0: aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_gpr_31 = (0x089BE23Cu); aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BE23Cu) goto L_089BE23C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08873400, 27u, 732u, 0x08873400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BE23Cu) goto L_089BE23C; AOT_REGCACHE_SYNC_OUT(); return; L_089BE23C: aot_gpr_31 = (0x089BE244u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 64u, 0x08B0C4D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BE244u) goto L_089BE244; AOT_REGCACHE_SYNC_OUT(); return; L_089BE244: - aot_gpr_4 = (aot_gpr_16 + static_cast(24)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(24)); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x089BE254u); aot_gpr_6 = (0u | 221u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BE254u) goto L_089BE254; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BE254u) goto L_089BE254; AOT_REGCACHE_SYNC_OUT(); return; L_089BE254: { const bool branch_taken = 0u == 0u; @@ -5110,19 +5111,19 @@ L_089BE25C: aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); aot_gpr_31 = (0x089BE28Cu); aot_fpr_15 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BE28Cu) goto L_089BE28C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08873400, 27u, 732u, 0x08873400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BE28Cu) goto L_089BE28C; AOT_REGCACHE_SYNC_OUT(); return; L_089BE28C: aot_gpr_31 = (0x089BE294u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 64u, 0x08B0C4D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BE294u) goto L_089BE294; AOT_REGCACHE_SYNC_OUT(); return; L_089BE294: - aot_gpr_4 = (aot_gpr_16 + static_cast(24)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(24)); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x089BE2A4u); aot_gpr_6 = (0u | 221u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BE2A4u) goto L_089BE2A4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BE2A4u) goto L_089BE2A4; AOT_REGCACHE_SYNC_OUT(); return; L_089BE2A4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); @@ -5199,12 +5200,12 @@ L_089BE32C: ctx.gpr[18] = (aot_gpr_4 + aot_gpr_5); aot_gpr_31 = (0x089BE350u); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(24))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BE350u) goto L_089BE350; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C498, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BE350u) goto L_089BE350; AOT_REGCACHE_SYNC_OUT(); return; L_089BE350: aot_gpr_31 = (0x089BE358u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BE358u) goto L_089BE358; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C05C, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[16], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BE358u) goto L_089BE358; AOT_REGCACHE_SYNC_OUT(); return; L_089BE358: aot_gpr_31 = (0x089BE360u); @@ -5226,7 +5227,7 @@ L_089BE360: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(83), static_cast(ctx.gpr[7])); aot_gpr_31 = (0x089BE398u); aot_gpr_4 = (aot_gpr_29 + static_cast(80)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BE398u) goto L_089BE398; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C4A8, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BE398u) goto L_089BE398; AOT_REGCACHE_SYNC_OUT(); return; L_089BE398: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(36)))))); @@ -5241,7 +5242,7 @@ L_089BE398: L_089BE3A8: aot_gpr_31 = (0x089BE3B0u); aot_gpr_4 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BE3B0u) goto L_089BE3B0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C604, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BE3B0u) goto L_089BE3B0; AOT_REGCACHE_SYNC_OUT(); return; L_089BE3B0: aot_gpr_4 = (ctx.gpr[17] << 6u); @@ -5266,7 +5267,7 @@ L_089BE3B4: L_089BE3E0: aot_gpr_31 = (0x089BE3E8u); aot_gpr_4 = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BE3E8u) goto L_089BE3E8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C604, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BE3E8u) goto L_089BE3E8; AOT_REGCACHE_SYNC_OUT(); return; L_089BE3E8: aot_gpr_4 = (ctx.gpr[17] << 6u); @@ -5291,7 +5292,7 @@ L_089BE3EC: L_089BE418: aot_gpr_31 = (0x089BE420u); aot_gpr_4 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BE420u) goto L_089BE420; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C604, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BE420u) goto L_089BE420; AOT_REGCACHE_SYNC_OUT(); return; L_089BE420: aot_gpr_4 = (ctx.gpr[17] << 6u); @@ -5321,11 +5322,11 @@ L_089BE424: aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_gpr_31 = (0x089BE484u); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[20])); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BE484u) goto L_089BE484; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08873400, 27u, 732u, 0x08873400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BE484u) goto L_089BE484; AOT_REGCACHE_SYNC_OUT(); return; L_089BE484: aot_gpr_31 = (0x089BE48Cu); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 64u, 0x08B0C4D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BE48Cu) goto L_089BE48C; AOT_REGCACHE_SYNC_OUT(); return; L_089BE48C: @@ -5347,19 +5348,19 @@ L_089BE4A0: aot_gpr_4 = (ctx.gpr[23] | 0u); aot_gpr_31 = (0x089BE4C8u); aot_fpr_15 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BE4C8u) goto L_089BE4C8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08873400, 27u, 732u, 0x08873400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BE4C8u) goto L_089BE4C8; AOT_REGCACHE_SYNC_OUT(); return; L_089BE4C8: aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_6 = (0u | 0u); - ctx.gpr[7] = (ctx.gpr[2] | 0u); + ctx.gpr[7] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x089BE4E0u); ctx.gpr[8] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 90u, 0x08B0C660u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BE4E0u) goto L_089BE4E0; AOT_REGCACHE_SYNC_OUT(); return; L_089BE4E0: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (aot_gpr_4 + ctx.gpr[18]); aot_gpr_5 = (static_cast(aot_gpr_5) < 481 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 != 0u; @@ -5389,11 +5390,11 @@ L_089BE510: aot_fpr_15 = std::bit_cast(aot_gpr_5); aot_gpr_31 = (0x089BE530u); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BE530u) goto L_089BE530; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08873400, 27u, 732u, 0x08873400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BE530u) goto L_089BE530; AOT_REGCACHE_SYNC_OUT(); return; L_089BE530: aot_gpr_31 = (0x089BE538u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 64u, 0x08B0C4D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BE538u) goto L_089BE538; AOT_REGCACHE_SYNC_OUT(); return; L_089BE538: @@ -5412,7 +5413,7 @@ L_089BE538: aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x089BE574u); aot_gpr_6 = (std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BE574u) goto L_089BE574; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BE574u) goto L_089BE574; AOT_REGCACHE_SYNC_OUT(); return; L_089BE574: ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); @@ -5496,12 +5497,12 @@ L_089BE5FC: aot_gpr_4 = (aot_gpr_29 + static_cast(92)); aot_gpr_31 = (0x089BE62Cu); aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(12))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BE62Cu) goto L_089BE62C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BE62Cu) goto L_089BE62C; AOT_REGCACHE_SYNC_OUT(); return; L_089BE62C: aot_gpr_5 = (ctx.gpr[19] + static_cast(16)); aot_gpr_5 = (ctx.gpr[18] + aot_gpr_5); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x089BE640u); aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 107u, 0x08AF5130u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BE640u) goto L_089BE640; @@ -5531,14 +5532,14 @@ L_089BE648: aot_gpr_4 = (aot_gpr_29 + static_cast(108)); aot_gpr_31 = (0x089BE688u); aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(12))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BE688u) goto L_089BE688; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BE688u) goto L_089BE688; AOT_REGCACHE_SYNC_OUT(); return; L_089BE688: aot_gpr_6 = (ctx.gpr[19] + static_cast(16)); aot_gpr_6 = (ctx.gpr[18] + aot_gpr_6); aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x089BE69Cu); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 72u, 0x08AF4650u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BE69Cu) goto L_089BE69C; AOT_REGCACHE_SYNC_OUT(); return; L_089BE69C: @@ -5553,7 +5554,7 @@ L_089BE69C: goto L_089BE6B0; } L_089BE6B0: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(2074))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(2074))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -5564,20 +5565,20 @@ L_089BE6B0: L_089BE6BC: aot_gpr_31 = (0x089BE6C4u); aot_gpr_4 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BE6C4u) goto L_089BE6C4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C498, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BE6C4u) goto L_089BE6C4; AOT_REGCACHE_SYNC_OUT(); return; L_089BE6C4: aot_gpr_31 = (0x089BE6CCu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BE6CCu) goto L_089BE6CC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C05C, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[16], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BE6CCu) goto L_089BE6CC; AOT_REGCACHE_SYNC_OUT(); return; L_089BE6CC: aot_gpr_31 = (0x089BE6D4u); aot_gpr_4 = (0u | 10u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BE6D4u) goto L_089BE6D4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C604, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BE6D4u) goto L_089BE6D4; AOT_REGCACHE_SYNC_OUT(); return; L_089BE6D4: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(11221))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(11221))); aot_gpr_5 = (0u | 0u); aot_gpr_6 = (0u | 106u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(124), static_cast(aot_gpr_5)); @@ -5588,7 +5589,7 @@ L_089BE6D4: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(127), static_cast(aot_gpr_4)); aot_gpr_31 = (0x089BE700u); aot_gpr_4 = (aot_gpr_29 + static_cast(124)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BE700u) goto L_089BE700; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C4A8, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BE700u) goto L_089BE700; AOT_REGCACHE_SYNC_OUT(); return; L_089BE700: aot_gpr_5 = (17948u << 16u); @@ -5603,30 +5604,30 @@ L_089BE700: aot_gpr_5 = (17288u << 16u); aot_gpr_31 = (0x089BE730u); aot_fpr_15 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BE730u) goto L_089BE730; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08873400, 27u, 732u, 0x08873400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BE730u) goto L_089BE730; AOT_REGCACHE_SYNC_OUT(); return; L_089BE730: aot_gpr_31 = (0x089BE738u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 64u, 0x08B0C4D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BE738u) goto L_089BE738; AOT_REGCACHE_SYNC_OUT(); return; L_089BE738: aot_gpr_5 = (17391u << 16u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_fpr_14 = std::bit_cast(aot_gpr_5); - ctx.gpr[18] = (aot_gpr_16 + static_cast(2074)); + ctx.gpr[18] = (ctx.gpr[16] + static_cast(2074)); aot_gpr_5 = (17287u << 16u); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089BE75Cu); aot_fpr_15 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BE75Cu) goto L_089BE75C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08873400, 27u, 732u, 0x08873400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BE75Cu) goto L_089BE75C; AOT_REGCACHE_SYNC_OUT(); return; L_089BE75C: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_6 = (0u | 0u); - ctx.gpr[7] = (ctx.gpr[2] | 0u); + ctx.gpr[7] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x089BE774u); ctx.gpr[8] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 90u, 0x08B0C660u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BE774u) goto L_089BE774; @@ -5634,7 +5635,7 @@ L_089BE75C: L_089BE774: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); { const bool branch_taken = aot_gpr_4 != 0u; - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); if (branch_taken) { goto L_089BE788; } @@ -5652,7 +5653,7 @@ L_089BE788: AOT_REGCACHE_SYNC_OUT(); return; L_089BE790: aot_gpr_4 = (0u | 2u); - { const bool branch_taken = ctx.gpr[2] == aot_gpr_4; + { const bool branch_taken = aot_gpr_2 == aot_gpr_4; // nop if (branch_taken) { goto L_089BE834; @@ -5660,7 +5661,7 @@ L_089BE790: goto L_089BE79C; } L_089BE79C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(11240))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(11240))); aot_gpr_5 = (0u | 2u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -5670,7 +5671,7 @@ L_089BE79C: goto L_089BE7AC; } L_089BE7AC: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(9256))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(9256))); aot_gpr_5 = (0u | 1u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -5696,13 +5697,13 @@ L_089BE7BC: } L_089BE7E0: aot_gpr_31 = (0x089BE7E8u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0109_entry, 109u, 565u, 0x089BAAD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BE7E8u) goto L_089BE7E8; AOT_REGCACHE_SYNC_OUT(); return; L_089BE7E8: ctx.fpr[20] = std::bit_cast(std::bit_cast(ctx.fpr[0])); aot_gpr_31 = (0x089BE7F4u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0109_entry, 109u, 558u, 0x089BAA88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BE7F4u) goto L_089BE7F4; AOT_REGCACHE_SYNC_OUT(); return; L_089BE7F4: @@ -5718,11 +5719,11 @@ L_089BE7F4: aot_fpr_12 = aot_fpr_12 + ctx.fpr[20]; aot_gpr_31 = (0x089BE824u); aot_fpr_15 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BE824u) goto L_089BE824; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08873400, 27u, 732u, 0x08873400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BE824u) goto L_089BE824; AOT_REGCACHE_SYNC_OUT(); return; L_089BE824: aot_gpr_31 = (0x089BE82Cu); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 64u, 0x08B0C4D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BE82Cu) goto L_089BE82C; AOT_REGCACHE_SYNC_OUT(); return; L_089BE82C: @@ -5743,22 +5744,22 @@ L_089BE834: aot_gpr_5 = (17288u << 16u); aot_gpr_31 = (0x089BE858u); aot_fpr_15 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BE858u) goto L_089BE858; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08873400, 27u, 732u, 0x08873400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BE858u) goto L_089BE858; AOT_REGCACHE_SYNC_OUT(); return; L_089BE858: aot_gpr_31 = (0x089BE860u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 64u, 0x08B0C4D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BE860u) goto L_089BE860; AOT_REGCACHE_SYNC_OUT(); return; L_089BE860: - aot_gpr_4 = (aot_gpr_16 + static_cast(2074)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(2074)); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x089BE870u); aot_gpr_6 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BE870u) goto L_089BE870; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BE870u) goto L_089BE870; AOT_REGCACHE_SYNC_OUT(); return; L_089BE870: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(1050))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(1050))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -5767,7 +5768,7 @@ L_089BE870: goto L_089BE87C; } L_089BE87C: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(3610))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(3610))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -5776,7 +5777,7 @@ L_089BE87C: goto L_089BE888; } L_089BE888: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(2586))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(2586))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -5787,20 +5788,20 @@ L_089BE888: L_089BE894: aot_gpr_31 = (0x089BE89Cu); aot_gpr_4 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BE89Cu) goto L_089BE89C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C498, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BE89Cu) goto L_089BE89C; AOT_REGCACHE_SYNC_OUT(); return; L_089BE89C: aot_gpr_31 = (0x089BE8A4u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BE8A4u) goto L_089BE8A4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C05C, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[16], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BE8A4u) goto L_089BE8A4; AOT_REGCACHE_SYNC_OUT(); return; L_089BE8A4: aot_gpr_31 = (0x089BE8ACu); aot_gpr_4 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BE8ACu) goto L_089BE8AC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C604, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BE8ACu) goto L_089BE8AC; AOT_REGCACHE_SYNC_OUT(); return; L_089BE8AC: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(11221))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(11221))); aot_gpr_5 = (0u | 8u); aot_gpr_6 = (0u | 143u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(176), static_cast(aot_gpr_5)); @@ -5811,14 +5812,14 @@ L_089BE8AC: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(179), static_cast(aot_gpr_4)); aot_gpr_31 = (0x089BE8D8u); aot_gpr_4 = (aot_gpr_29 + static_cast(176)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BE8D8u) goto L_089BE8D8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C4A8, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BE8D8u) goto L_089BE8D8; AOT_REGCACHE_SYNC_OUT(); return; L_089BE8D8: - aot_gpr_4 = (aot_gpr_16 + static_cast(2586)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(2586)); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x089BE8E8u); aot_gpr_6 = (0u | 196u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BE8E8u) goto L_089BE8E8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BE8E8u) goto L_089BE8E8; AOT_REGCACHE_SYNC_OUT(); return; L_089BE8E8: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(9532))); @@ -5901,7 +5902,7 @@ L_089BE9A4: aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(9532), std::bit_cast(aot_fpr_12)); goto L_089BE9B0; L_089BE9B0: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(3098))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(3098))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -6154,7 +6155,7 @@ L_089BEB98: aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(9532), std::bit_cast(aot_fpr_12)); goto L_089BEBAC; L_089BEBAC: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(1050))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(1050))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -6163,7 +6164,7 @@ L_089BEBAC: goto L_089BEBB8; } L_089BEBB8: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(3610))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(3610))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -6174,17 +6175,17 @@ L_089BEBB8: L_089BEBC4: aot_gpr_31 = (0x089BEBCCu); aot_gpr_4 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BEBCCu) goto L_089BEBCC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C498, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BEBCCu) goto L_089BEBCC; AOT_REGCACHE_SYNC_OUT(); return; L_089BEBCC: aot_gpr_31 = (0x089BEBD4u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BEBD4u) goto L_089BEBD4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C05C, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[16], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BEBD4u) goto L_089BEBD4; AOT_REGCACHE_SYNC_OUT(); return; L_089BEBD4: aot_gpr_31 = (0x089BEBDCu); aot_gpr_4 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BEBDCu) goto L_089BEBDC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C604, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BEBDCu) goto L_089BEBDC; AOT_REGCACHE_SYNC_OUT(); return; L_089BEBDC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-8744))); @@ -6201,17 +6202,17 @@ L_089BEBDC: { const float fs = aot_fpr_12; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = aot_fpr_12 / aot_fpr_15; aot_gpr_6 = (17234u << 16u); - aot_gpr_4 = (aot_gpr_16 + static_cast(3098)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(3098)); aot_gpr_5 = (0u | 0u); aot_fpr_13 = std::bit_cast(aot_gpr_6); aot_fpr_12 = aot_fpr_13 / aot_fpr_12; aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); aot_gpr_31 = (0x089BEC30u); aot_gpr_6 = (std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BEC30u) goto L_089BEC30; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BEC30u) goto L_089BEC30; AOT_REGCACHE_SYNC_OUT(); return; L_089BEC30: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(1050))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(1050))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -6244,9 +6245,9 @@ L_089BEC5C: aot_gpr_4 = (2279u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(17968)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), std::bit_cast(aot_fpr_12)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(9252), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(9252), 0u); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(9248), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(9248), 0u); if (branch_taken) { goto L_089BF15C; } @@ -6535,7 +6536,7 @@ L_089BEF60: AOT_REGCACHE_SYNC_OUT(); return; L_089BEF80: aot_gpr_4 = (0u | 2u); - { const bool branch_taken = ctx.gpr[2] == aot_gpr_4; + { const bool branch_taken = aot_gpr_2 == aot_gpr_4; aot_gpr_4 = (16968u << 16u); if (branch_taken) { goto L_089BF04C; @@ -6634,7 +6635,7 @@ L_089BF06C: aot_gpr_4 = (aot_gpr_4 + static_cast(18032)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (2279u << 16u); - aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(1050), static_cast(0u)); + aot_mem.aot_direct_store16(ctx.gpr[16] + static_cast(1050), static_cast(0u)); aot_gpr_4 = (aot_gpr_4 + static_cast(17968)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), std::bit_cast(aot_fpr_12)); goto L_089BF08C; @@ -6650,22 +6651,22 @@ L_089BF08C: ctx.gpr[17] = (aot_gpr_29 + static_cast(180)); aot_gpr_31 = (0x089BF0B8u); aot_gpr_4 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BF0B8u) goto L_089BF0B8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C498, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BF0B8u) goto L_089BF0B8; AOT_REGCACHE_SYNC_OUT(); return; L_089BF0B8: aot_gpr_31 = (0x089BF0C0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BF0C0u) goto L_089BF0C0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C05C, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[16], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BF0C0u) goto L_089BF0C0; AOT_REGCACHE_SYNC_OUT(); return; L_089BF0C0: aot_gpr_31 = (0x089BF0C8u); aot_gpr_4 = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BF0C8u) goto L_089BF0C8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C604, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BF0C8u) goto L_089BF0C8; AOT_REGCACHE_SYNC_OUT(); return; L_089BF0C8: aot_gpr_31 = (0x089BF0D0u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BF0D0u) goto L_089BF0D0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C4A8, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BF0D0u) goto L_089BF0D0; AOT_REGCACHE_SYNC_OUT(); return; L_089BF0D0: aot_gpr_4 = (16281u << 16u); @@ -6687,18 +6688,18 @@ L_089BF0E0: aot_gpr_5 = (17288u << 16u); aot_gpr_31 = (0x089BF110u); aot_fpr_15 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BF110u) goto L_089BF110; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08873400, 27u, 732u, 0x08873400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BF110u) goto L_089BF110; AOT_REGCACHE_SYNC_OUT(); return; L_089BF110: aot_gpr_31 = (0x089BF118u); - aot_gpr_16 = (aot_gpr_16 + static_cast(1050)); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(1050)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 75u, 0x08B0C580u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BF118u) goto L_089BF118; AOT_REGCACHE_SYNC_OUT(); return; L_089BF118: aot_gpr_4 = (17286u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_12 = aot_fpr_12 - ctx.fpr[0]; - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 0u); ctx.gpr[7] = (ctx.gpr[17] | 0u); ctx.gpr[8] = (ctx.gpr[18] | 0u); @@ -6726,7 +6727,7 @@ L_089BF15C: { std::uint32_t aot_run_words[10]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(200), aot_run_words); ctx.fpr[20] = std::bit_cast(aot_run_words[0]); - aot_gpr_16 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[1]; ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; ctx.gpr[19] = aot_run_words[4]; @@ -7267,17 +7268,17 @@ L_089BF4E8: L_089BF4F0: aot_gpr_29 = (aot_gpr_29 + static_cast(-96)); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(9265))); - { const std::uint32_t aot_run_words[11]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; + { const std::uint32_t aot_run_words[11]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(52), aot_run_words); } { const bool branch_taken = aot_gpr_5 == 0u; - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_089BF544; } goto L_089BF52C; } L_089BF52C: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(9260)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(9260)))))); ctx.gpr[17] = (0u | 3u); if (aot_gpr_4 == ctx.gpr[17]) { aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7764))); @@ -7360,7 +7361,7 @@ L_089BF5B8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0112_entry, 112u, 638u, 0x089C6DBCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BF5C0u) goto L_089BF5C0; AOT_REGCACHE_SYNC_OUT(); return; L_089BF5C0: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089BF9BC; @@ -7405,7 +7406,7 @@ L_089BF604: goto L_089BF614; } L_089BF614: - aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(9260)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(9260)))))); ctx.fpr[24] = std::bit_cast(0u); { const bool branch_taken = aot_gpr_6 != ctx.gpr[17]; aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); @@ -7439,7 +7440,7 @@ L_089BF650: aot_gpr_4 = (0u | 50u); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-12116), aot_gpr_4); aot_gpr_4 = (0u + static_cast(-1)); - aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(9260), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store16(ctx.gpr[16] + static_cast(9260), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7800))); aot_gpr_5 = (aot_gpr_4 + aot_gpr_4); aot_gpr_6 = (aot_gpr_4 << 8u); @@ -7559,17 +7560,17 @@ L_089BF73C: aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[22])); aot_gpr_31 = (0x089BF784u); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[30])); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BF784u) goto L_089BF784; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BF784u) goto L_089BF784; AOT_REGCACHE_SYNC_OUT(); return; L_089BF784: - ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(11221))); - ctx.gpr[18] = (aot_gpr_16 + static_cast(11164)); + ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(11221))); + ctx.gpr[18] = (ctx.gpr[16] + static_cast(11164)); aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_5 = (0u | 255u); aot_gpr_6 = (0u | 255u); aot_gpr_31 = (0x089BF7A0u); ctx.gpr[7] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BF7A0u) goto L_089BF7A0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BF7A0u) goto L_089BF7A0; AOT_REGCACHE_SYNC_OUT(); return; L_089BF7A0: aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[24])); @@ -7577,7 +7578,7 @@ L_089BF7A0: aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[24])); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[26])); - aot_gpr_6 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); aot_fpr_15 = std::bit_cast(std::bit_cast(ctx.fpr[24])); ctx.fpr[16] = std::bit_cast(std::bit_cast(ctx.fpr[24])); ctx.fpr[17] = std::bit_cast(std::bit_cast(ctx.fpr[20])); @@ -7597,7 +7598,7 @@ L_089BF7D0: aot_fpr_15 = std::bit_cast(std::bit_cast(ctx.fpr[28])); aot_gpr_31 = (0x089BF7F8u); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[30])); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BF7F8u) goto L_089BF7F8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BF7F8u) goto L_089BF7F8; AOT_REGCACHE_SYNC_OUT(); return; L_089BF7F8: { std::uint32_t aot_run_words[3]{}; @@ -7615,14 +7616,14 @@ L_089BF7F8: aot_gpr_4 = (std::bit_cast(aot_fpr_15)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), aot_gpr_4); - ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(11221))); - ctx.gpr[19] = (aot_gpr_16 + static_cast(11152)); + ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(11221))); + ctx.gpr[19] = (ctx.gpr[16] + static_cast(11152)); aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_5 = (0u | 255u); aot_gpr_6 = (0u | 255u); aot_gpr_31 = (0x089BF844u); ctx.gpr[7] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BF844u) goto L_089BF844; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BF844u) goto L_089BF844; AOT_REGCACHE_SYNC_OUT(); return; L_089BF844: aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[26])); @@ -7630,7 +7631,7 @@ L_089BF844: aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[24])); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[20])); - aot_gpr_6 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); aot_fpr_15 = std::bit_cast(std::bit_cast(ctx.fpr[24])); ctx.fpr[16] = std::bit_cast(std::bit_cast(ctx.fpr[26])); ctx.fpr[17] = std::bit_cast(std::bit_cast(ctx.fpr[20])); @@ -7646,7 +7647,7 @@ L_089BF874: aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[30])); aot_gpr_31 = (0x089BF88Cu); aot_fpr_15 = std::bit_cast(std::bit_cast(ctx.fpr[28])); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BF88Cu) goto L_089BF88C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BF88Cu) goto L_089BF88C; AOT_REGCACHE_SYNC_OUT(); return; L_089BF88C: { std::uint32_t aot_run_words[3]{}; @@ -7664,21 +7665,21 @@ L_089BF88C: aot_gpr_4 = (std::bit_cast(aot_fpr_15)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), aot_gpr_4); - ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(11221))); - ctx.gpr[18] = (aot_gpr_16 + static_cast(11172)); + ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(11221))); + ctx.gpr[18] = (ctx.gpr[16] + static_cast(11172)); aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_5 = (0u | 255u); aot_gpr_6 = (0u | 255u); aot_gpr_31 = (0x089BF8D8u); ctx.gpr[7] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BF8D8u) goto L_089BF8D8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BF8D8u) goto L_089BF8D8; AOT_REGCACHE_SYNC_OUT(); return; L_089BF8D8: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[24])); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[24])); - aot_gpr_6 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_fpr_15 = std::bit_cast(std::bit_cast(ctx.fpr[24])); ctx.fpr[16] = std::bit_cast(std::bit_cast(ctx.fpr[24])); @@ -7704,15 +7705,15 @@ L_089BF908: L_089BF924: aot_gpr_31 = (0x089BF92Cu); aot_gpr_4 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BF92Cu) goto L_089BF92C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C498, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BF92Cu) goto L_089BF92C; AOT_REGCACHE_SYNC_OUT(); return; L_089BF92C: aot_gpr_31 = (0x089BF934u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BF934u) goto L_089BF934; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C05C, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[16], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BF934u) goto L_089BF934; AOT_REGCACHE_SYNC_OUT(); return; L_089BF934: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(11221))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(11221))); aot_gpr_5 = (0u | 255u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(36), static_cast(aot_gpr_5)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(37), static_cast(aot_gpr_5)); @@ -7721,7 +7722,7 @@ L_089BF934: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(39), static_cast(aot_gpr_4)); aot_gpr_31 = (0x089BF958u); aot_gpr_4 = (aot_gpr_29 + static_cast(36)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BF958u) goto L_089BF958; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C4A8, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BF958u) goto L_089BF958; AOT_REGCACHE_SYNC_OUT(); return; L_089BF958: aot_gpr_4 = (0u | 43u); @@ -7732,7 +7733,7 @@ L_089BF958: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[22] <= aot_fpr_12)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); - aot_gpr_16 = (aot_gpr_29 + static_cast(40)); + ctx.gpr[16] = (aot_gpr_29 + static_cast(40)); if (branch_taken) { goto L_089BF9A0; } @@ -7745,11 +7746,11 @@ L_089BF97C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 68u, 0x08B0C520u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BF988u) goto L_089BF988; AOT_REGCACHE_SYNC_OUT(); return; L_089BF988: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 362u); aot_gpr_31 = (0x089BF998u); aot_gpr_6 = (0u | 18u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BF998u) goto L_089BF998; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BF998u) goto L_089BF998; AOT_REGCACHE_SYNC_OUT(); return; L_089BF998: { const bool branch_taken = 0u == 0u; @@ -7766,11 +7767,11 @@ L_089BF9A0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 68u, 0x08B0C520u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BF9ACu) goto L_089BF9AC; AOT_REGCACHE_SYNC_OUT(); return; L_089BF9AC: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 366u); aot_gpr_31 = (0x089BF9BCu); aot_gpr_6 = (0u | 23u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BF9BCu) goto L_089BF9BC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BF9BCu) goto L_089BF9BC; AOT_REGCACHE_SYNC_OUT(); return; L_089BF9BC: { std::uint32_t aot_run_words[11]{}; @@ -7781,7 +7782,7 @@ L_089BF9BC: ctx.fpr[26] = std::bit_cast(aot_run_words[3]); ctx.fpr[28] = std::bit_cast(aot_run_words[4]); ctx.fpr[30] = std::bit_cast(aot_run_words[5]); - aot_gpr_16 = aot_run_words[6]; + ctx.gpr[16] = aot_run_words[6]; ctx.gpr[17] = aot_run_words[7]; ctx.gpr[18] = aot_run_words[8]; ctx.gpr[19] = aot_run_words[9]; @@ -7797,9 +7798,9 @@ L_089BF9F0: aot_gpr_29 = (aot_gpr_29 + static_cast(-816)); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(538))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(776), std::bit_cast(ctx.fpr[20])); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(780), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(780), ctx.gpr[16]); ctx.fpr[20] = std::bit_cast(0u); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); { const std::uint32_t aot_run_words[7]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(784), aot_run_words); } { const bool branch_taken = aot_gpr_5 == 0u; @@ -7838,21 +7839,21 @@ L_089BFA44: L_089BFA64: aot_gpr_31 = (0x089BFA6Cu); aot_gpr_4 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BFA6Cu) goto L_089BFA6C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C498, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BFA6Cu) goto L_089BFA6C; AOT_REGCACHE_SYNC_OUT(); return; L_089BFA6C: aot_gpr_31 = (0x089BFA74u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BFA74u) goto L_089BFA74; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C05C, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[16], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BFA74u) goto L_089BFA74; AOT_REGCACHE_SYNC_OUT(); return; L_089BFA74: aot_gpr_31 = (0x089BFA7Cu); aot_gpr_4 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BFA7Cu) goto L_089BFA7C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C604, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BFA7Cu) goto L_089BFA7C; AOT_REGCACHE_SYNC_OUT(); return; L_089BFA7C: aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(18032))); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(11221))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(11221))); aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_14)); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(18000))); aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); @@ -7865,7 +7866,7 @@ L_089BFA7C: ctx.gpr[21] = (aot_gpr_29 + static_cast(512)); aot_gpr_5 = (17530u << 16u); ctx.fpr[17] = std::bit_cast(aot_gpr_5); - ctx.gpr[22] = (aot_gpr_16 + static_cast(538)); + ctx.gpr[22] = (ctx.gpr[16] + static_cast(538)); aot_gpr_5 = (20224u << 16u); { const bool branch_taken = aot_gpr_4 == 0u; ctx.fpr[18] = std::bit_cast(aot_gpr_5); @@ -8146,12 +8147,12 @@ L_089BFD0C: } L_089BFD1C: aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(18032), std::bit_cast(ctx.fpr[20])); - aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(538), static_cast(0u)); + aot_mem.aot_direct_store16(ctx.gpr[16] + static_cast(538), static_cast(0u)); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(18032))); goto L_089BFD28; L_089BFD28: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_14)); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(11221))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(11221))); ctx.gpr[17] = (std::bit_cast(aot_fpr_12)); ctx.gpr[17] = (ctx.gpr[17] & 255u); aot_gpr_5 = (static_cast(aot_gpr_4) < static_cast(ctx.gpr[17]) ? 1u : 0u); @@ -8180,7 +8181,7 @@ L_089BFD50: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BFD5Cu) goto L_089BFD5C; AOT_REGCACHE_SYNC_OUT(); return; L_089BFD5C: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[19] == 0u; // nop if (branch_taken) { @@ -8191,7 +8192,7 @@ L_089BFD5C: L_089BFD68: aot_gpr_31 = (0x089BFD70u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BFD70u) goto L_089BFD70; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BFD70u) goto L_089BFD70; AOT_REGCACHE_SYNC_OUT(); return; L_089BFD70: ctx.gpr[18] = (ctx.gpr[19] | 0u); @@ -8207,13 +8208,13 @@ L_089BFD7C: AOT_REGCACHE_SYNC_OUT(); return; L_089BFD84: aot_gpr_31 = (0x089BFD8Cu); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 309u, 0x089F5AC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BFD8Cu) goto L_089BFD8C; AOT_REGCACHE_SYNC_OUT(); return; L_089BFD8C: aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_31 = (0x089BFD98u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 63u, 0x08B5831Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BFD98u) goto L_089BFD98; AOT_REGCACHE_SYNC_OUT(); return; L_089BFD98: @@ -8232,7 +8233,7 @@ L_089BFDA4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BFDB0u) goto L_089BFDB0; AOT_REGCACHE_SYNC_OUT(); return; L_089BFDB0: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[19] == 0u; // nop if (branch_taken) { @@ -8243,7 +8244,7 @@ L_089BFDB0: L_089BFDBC: aot_gpr_31 = (0x089BFDC4u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BFDC4u) goto L_089BFDC4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BFDC4u) goto L_089BFDC4; AOT_REGCACHE_SYNC_OUT(); return; L_089BFDC4: ctx.gpr[18] = (ctx.gpr[19] | 0u); @@ -8259,13 +8260,13 @@ L_089BFDD0: AOT_REGCACHE_SYNC_OUT(); return; L_089BFDD8: aot_gpr_31 = (0x089BFDE0u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 309u, 0x089F5AC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BFDE0u) goto L_089BFDE0; AOT_REGCACHE_SYNC_OUT(); return; L_089BFDE0: aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x089BFDECu); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 63u, 0x08B5831Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BFDECu) goto L_089BFDEC; AOT_REGCACHE_SYNC_OUT(); return; L_089BFDEC: @@ -8284,7 +8285,7 @@ L_089BFDF8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BFE04u) goto L_089BFE04; AOT_REGCACHE_SYNC_OUT(); return; L_089BFE04: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[19] == 0u; // nop if (branch_taken) { @@ -8295,7 +8296,7 @@ L_089BFE04: L_089BFE10: aot_gpr_31 = (0x089BFE18u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BFE18u) goto L_089BFE18; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BFE18u) goto L_089BFE18; AOT_REGCACHE_SYNC_OUT(); return; L_089BFE18: ctx.gpr[18] = (ctx.gpr[19] | 0u); @@ -8311,13 +8312,13 @@ L_089BFE24: AOT_REGCACHE_SYNC_OUT(); return; L_089BFE2C: aot_gpr_31 = (0x089BFE34u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 309u, 0x089F5AC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BFE34u) goto L_089BFE34; AOT_REGCACHE_SYNC_OUT(); return; L_089BFE34: aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x089BFE40u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 63u, 0x08B5831Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BFE40u) goto L_089BFE40; AOT_REGCACHE_SYNC_OUT(); return; L_089BFE40: @@ -8330,11 +8331,11 @@ L_089BFE40: L_089BFE50: aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_31 = (0x089BFE5Cu); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 31u, 0x08B58180u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BFE5Cu) goto L_089BFE5C; AOT_REGCACHE_SYNC_OUT(); return; L_089BFE5C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089BFE9C; @@ -8349,11 +8350,11 @@ L_089BFE64: L_089BFE6C: aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x089BFE78u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 31u, 0x08B58180u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BFE78u) goto L_089BFE78; AOT_REGCACHE_SYNC_OUT(); return; L_089BFE78: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089BFE9C; @@ -8368,11 +8369,11 @@ L_089BFE80: L_089BFE88: aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x089BFE94u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 31u, 0x08B58180u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BFE94u) goto L_089BFE94; AOT_REGCACHE_SYNC_OUT(); return; L_089BFE94: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_089BFEE8; @@ -8390,10 +8391,10 @@ L_089BFE9C: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(771), static_cast(aot_gpr_4)); aot_gpr_31 = (0x089BFEC4u); aot_gpr_4 = (aot_gpr_29 + static_cast(768)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BFEC4u) goto L_089BFEC4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C4A8, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BFEC4u) goto L_089BFEC4; AOT_REGCACHE_SYNC_OUT(); return; L_089BFEC4: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(1562))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(1562))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -8426,10 +8427,10 @@ L_089BFEE8: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(775), static_cast(aot_gpr_4)); aot_gpr_31 = (0x089BFF10u); aot_gpr_4 = (aot_gpr_29 + static_cast(772)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BFF10u) goto L_089BFF10; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C4A8, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BFF10u) goto L_089BFF10; AOT_REGCACHE_SYNC_OUT(); return; L_089BFF10: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(1562))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(1562))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -8453,7 +8454,7 @@ L_089BFF30: aot_gpr_4 = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x089BFF48u); aot_gpr_5 = (0u | 240u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BFF48u) goto L_089BFF48; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089BFF48u) goto L_089BFF48; AOT_REGCACHE_SYNC_OUT(); return; L_089BFF48: { const bool branch_taken = 0u == 0u; @@ -8470,7 +8471,7 @@ L_089BFF54: { std::uint32_t aot_run_words[9]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(776), aot_run_words); ctx.fpr[20] = std::bit_cast(aot_run_words[0]); - aot_gpr_16 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[1]; ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; ctx.gpr[19] = aot_run_words[4]; @@ -8492,7 +8493,7 @@ L_089BFF80: ctx.gpr[30] = (ctx.gpr[30] + static_cast(-25888)); aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[30] + static_cast(332))); aot_gpr_5 = (0u | 1u); - { const std::uint32_t aot_run_words[14]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23]}; + { const std::uint32_t aot_run_words[14]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(480), aot_run_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(540), aot_gpr_31); { const bool branch_taken = aot_gpr_6 != aot_gpr_5; diff --git a/profiles/vcs/generated/generated_unit_0111.cpp b/profiles/vcs/generated/generated_unit_0111.cpp index c625bd3..4c25bb7 100644 --- a/profiles/vcs/generated/generated_unit_0111.cpp +++ b/profiles/vcs/generated/generated_unit_0111.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0111[4096] = { }; void recomp_unit_0111_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,16,31,28,6 fprs=12,13,14,20 gpr_occ=3866 fpr_occ=713 gpr_total=5288 fpr_total=979 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,31,2,6,16 fprs=12,13,14,15 gpr_occ=4681 fpr_occ=768 gpr_total=6685 fpr_total=1063 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; - std::uint32_t aot_gpr_16 = ctx.gpr[16]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; - std::uint32_t aot_gpr_28 = ctx.gpr[28]; + std::uint32_t aot_gpr_2 = ctx.gpr[2]; std::uint32_t aot_gpr_6 = ctx.gpr[6]; + std::uint32_t aot_gpr_16 = ctx.gpr[16]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_14 = ctx.fpr[14]; - float aot_fpr_20 = ctx.fpr[20]; + float aot_fpr_15 = ctx.fpr[15]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[16] = aot_gpr_16; ctx.gpr[31] = aot_gpr_31; ctx.gpr[28] = aot_gpr_28; ctx.gpr[6] = aot_gpr_6; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[20] = aot_fpr_20; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_28 = ctx.gpr[28]; aot_gpr_6 = ctx.gpr[6]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_20 = ctx.fpr[20]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[31] = aot_gpr_31; ctx.gpr[2] = aot_gpr_2; ctx.gpr[6] = aot_gpr_6; ctx.gpr[16] = aot_gpr_16; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[15] = aot_fpr_15; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_2 = ctx.gpr[2]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_16 = ctx.gpr[16]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_15 = ctx.fpr[15]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -1146,7 +1147,7 @@ L_089C0000: aot_gpr_4 = (17362u << 16u); ctx.gpr[20] = (ctx.gpr[29] + static_cast(436)); ctx.fpr[26] = std::bit_cast(aot_gpr_4); - ctx.gpr[23] = (aot_gpr_28 | 0u); + ctx.gpr[23] = (ctx.gpr[28] | 0u); goto L_089C0024; L_089C0024: ctx.gpr[17] = (ctx.gpr[30] | 0u); @@ -1160,7 +1161,7 @@ L_089C0024: goto L_089C0038; } L_089C0038: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7764))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7764))); aot_gpr_4 = (aot_gpr_4 & 4u); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -1227,7 +1228,7 @@ L_089C0088: aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(3), static_cast(ctx.gpr[7])); aot_gpr_31 = (0x089C00C0u); aot_gpr_4 = (ctx.gpr[29] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C00C0u) goto L_089C00C0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C4A8, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C00C0u) goto L_089C00C0; AOT_REGCACHE_SYNC_OUT(); return; L_089C00C0: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[19] + static_cast(11236))); @@ -1241,7 +1242,7 @@ L_089C00C0: aot_gpr_4 = (aot_gpr_4 + static_cast(100)); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_31 = (0x089C00F0u); - aot_fpr_20 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); + ctx.fpr[20] = static_cast(static_cast(std::bit_cast(aot_fpr_12))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 75u, 0x08B0C580u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C00F0u) goto L_089C00F0; AOT_REGCACHE_SYNC_OUT(); return; L_089C00F0: @@ -1249,14 +1250,14 @@ L_089C00F0: aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[30])); aot_gpr_4 = (aot_gpr_16 | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[22])); - ctx.fpr[15] = aot_fpr_20 + ctx.fpr[0]; + aot_fpr_15 = ctx.fpr[20] + ctx.fpr[0]; aot_gpr_31 = (0x089C010Cu); - aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C010Cu) goto L_089C010C; + aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[20])); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08873400, 27u, 732u, 0x08873400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C010Cu) goto L_089C010C; AOT_REGCACHE_SYNC_OUT(); return; L_089C010C: aot_gpr_31 = (0x089C0114u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 64u, 0x08B0C4D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C0114u) goto L_089C0114; AOT_REGCACHE_SYNC_OUT(); return; L_089C0114: @@ -1267,26 +1268,26 @@ L_089C0114: aot_gpr_5 = (17287u << 16u); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[22])); aot_gpr_31 = (0x089C0134u); - ctx.fpr[15] = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C0134u) goto L_089C0134; + aot_fpr_15 = std::bit_cast(aot_gpr_5); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08873400, 27u, 732u, 0x08873400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C0134u) goto L_089C0134; AOT_REGCACHE_SYNC_OUT(); return; L_089C0134: aot_gpr_4 = (ctx.gpr[22] | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_6 = (0u | 0u); - ctx.gpr[7] = (ctx.gpr[2] | 0u); + ctx.gpr[7] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x089C014Cu); ctx.gpr[8] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 90u, 0x08B0C660u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C014Cu) goto L_089C014C; AOT_REGCACHE_SYNC_OUT(); return; L_089C014C: - aot_fpr_20 = std::bit_cast(ctx.gpr[2]); + ctx.fpr[20] = std::bit_cast(aot_gpr_2); aot_gpr_4 = (ctx.gpr[22] | 0u); - aot_fpr_20 = static_cast(static_cast(std::bit_cast(aot_fpr_20))); + ctx.fpr[20] = static_cast(static_cast(std::bit_cast(ctx.fpr[20]))); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x089C0164u); aot_gpr_6 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C0164u) goto L_089C0164; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C0164u) goto L_089C0164; AOT_REGCACHE_SYNC_OUT(); return; L_089C0164: { const bool branch_taken = 0u == 0u; @@ -1315,7 +1316,7 @@ L_089C0180: aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_gpr_4 + static_cast(100)); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_gpr_4 = (ctx.gpr[2] << 16u); + aot_gpr_4 = (aot_gpr_2 << 16u); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_gpr_16 = (static_cast(static_cast(aot_gpr_4) >> 16u)); aot_gpr_4 = (16448u << 16u); @@ -1332,25 +1333,25 @@ L_089C0180: aot_fpr_12 = std::bit_cast(aot_gpr_5); aot_gpr_5 = (16968u << 16u); aot_fpr_13 = ctx.fpr[26] - ctx.fpr[28]; - aot_fpr_20 = std::bit_cast(aot_gpr_5); - ctx.fpr[15] = ctx.fpr[30] + ctx.fpr[28]; + ctx.fpr[20] = std::bit_cast(aot_gpr_5); + aot_fpr_15 = ctx.fpr[30] + ctx.fpr[28]; aot_gpr_31 = (0x089C01FCu); aot_fpr_14 = std::bit_cast(aot_gpr_6); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C01FCu) goto L_089C01FC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C01FCu) goto L_089C01FC; AOT_REGCACHE_SYNC_OUT(); return; L_089C01FC: ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[19] + static_cast(11221))); - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x089C0218u); ctx.gpr[7] = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C0218u) goto L_089C0218; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C0218u) goto L_089C0218; AOT_REGCACHE_SYNC_OUT(); return; L_089C0218: aot_gpr_4 = (ctx.gpr[18] | 0u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x089C0228u); aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 107u, 0x08AF5130u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C0228u) goto L_089C0228; @@ -1362,22 +1363,22 @@ L_089C0228: aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[26])); aot_fpr_14 = std::bit_cast(aot_gpr_5); aot_gpr_31 = (0x089C0244u); - ctx.fpr[15] = std::bit_cast(std::bit_cast(ctx.fpr[30])); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C0244u) goto L_089C0244; + aot_fpr_15 = std::bit_cast(std::bit_cast(ctx.fpr[30])); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C0244u) goto L_089C0244; AOT_REGCACHE_SYNC_OUT(); return; L_089C0244: aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(80))); aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(81))); ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(82))); - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[19] + static_cast(11221))); aot_gpr_31 = (0x089C0260u); aot_gpr_4 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C0260u) goto L_089C0260; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C0260u) goto L_089C0260; AOT_REGCACHE_SYNC_OUT(); return; L_089C0260: aot_gpr_4 = (ctx.gpr[18] | 0u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x089C0270u); aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 107u, 0x08AF5130u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C0270u) goto L_089C0270; @@ -1391,27 +1392,27 @@ L_089C0270: aot_gpr_5 = (16952u << 16u); aot_gpr_4 = (ctx.gpr[21] | 0u); ctx.fpr[16] = std::bit_cast(aot_gpr_5); - ctx.fpr[15] = std::bit_cast(std::bit_cast(ctx.fpr[30])); + aot_fpr_15 = std::bit_cast(std::bit_cast(ctx.fpr[30])); { const float fs = aot_fpr_14; const float ft = ctx.fpr[16]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[24])); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[26])); aot_gpr_31 = (0x089C02A8u); aot_fpr_14 = aot_fpr_14 + ctx.fpr[24]; - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C02A8u) goto L_089C02A8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C02A8u) goto L_089C02A8; AOT_REGCACHE_SYNC_OUT(); return; L_089C02A8: aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(76))); aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(77))); ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(78))); - aot_gpr_16 = (ctx.gpr[2] | 0u); + aot_gpr_16 = (aot_gpr_2 | 0u); ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[19] + static_cast(11221))); aot_gpr_31 = (0x089C02C4u); aot_gpr_4 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C02C4u) goto L_089C02C4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C02C4u) goto L_089C02C4; AOT_REGCACHE_SYNC_OUT(); return; L_089C02C4: aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x089C02D4u); aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 107u, 0x08AF5130u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C02D4u) goto L_089C02D4; @@ -1432,9 +1433,9 @@ L_089C02E4: } L_089C02EC: aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(468), ctx.gpr[18]); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); goto L_089C0328; } goto L_089C02FC; @@ -1445,7 +1446,7 @@ L_089C02FC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C0308u) goto L_089C0308; AOT_REGCACHE_SYNC_OUT(); return; L_089C0308: - aot_gpr_16 = (ctx.gpr[2] | 0u); + aot_gpr_16 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_16 == 0u; // nop if (branch_taken) { @@ -1456,14 +1457,14 @@ L_089C0308: L_089C0314: aot_gpr_31 = (0x089C031Cu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C031Cu) goto L_089C031C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C031Cu) goto L_089C031C; AOT_REGCACHE_SYNC_OUT(); return; L_089C031C: ctx.gpr[18] = (aot_gpr_16 | 0u); goto L_089C0320; L_089C0320: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[18]); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), ctx.gpr[18]); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); goto L_089C0328; L_089C0328: aot_gpr_31 = (0x089C0330u); @@ -1471,7 +1472,7 @@ L_089C0328: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C0330u) goto L_089C0330; AOT_REGCACHE_SYNC_OUT(); return; L_089C0330: - aot_gpr_16 = (ctx.gpr[2] | 0u); + aot_gpr_16 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x089C033Cu); aot_gpr_4 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0109_entry, 109u, 689u, 0x089BB298u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C033Cu) goto L_089C033C; @@ -1491,11 +1492,11 @@ L_089C033C: aot_gpr_4 = (ctx.gpr[29] + static_cast(440)); aot_gpr_31 = (0x089C0374u); aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(443), static_cast(ctx.gpr[7])); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C0374u) goto L_089C0374; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C4A8, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C0374u) goto L_089C0374; AOT_REGCACHE_SYNC_OUT(); return; L_089C0374: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[19] + static_cast(11236))); - aot_fpr_12 = ctx.fpr[30] - aot_fpr_20; + aot_fpr_12 = ctx.fpr[30] - ctx.fpr[20]; aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[19] + static_cast(11237))); aot_gpr_6 = (aot_gpr_4 << 4u); aot_gpr_4 = (aot_gpr_4 << 2u); @@ -1505,9 +1506,9 @@ L_089C0374: aot_gpr_5 = (aot_gpr_6 - aot_gpr_5); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_gpr_4 + static_cast(100)); - aot_fpr_20 = std::bit_cast(aot_gpr_4); + ctx.fpr[20] = std::bit_cast(aot_gpr_4); ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(468))); - aot_fpr_20 = static_cast(static_cast(std::bit_cast(aot_fpr_20))); + ctx.fpr[20] = static_cast(static_cast(std::bit_cast(ctx.fpr[20]))); if (((ctx.fcr31 & 0x00800000u) != 0u)) { aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[26])); goto L_089C03B4; @@ -1524,16 +1525,16 @@ L_089C03B4: AOT_REGCACHE_SYNC_OUT(); return; L_089C03CC: aot_gpr_4 = (ctx.gpr[29] + static_cast(444)); - ctx.fpr[15] = aot_fpr_20 + ctx.fpr[0]; + aot_fpr_15 = ctx.fpr[20] + ctx.fpr[0]; aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[22])); - aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); + aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_gpr_31 = (0x089C03E4u); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[26])); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C03E4u) goto L_089C03E4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08873400, 27u, 732u, 0x08873400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C03E4u) goto L_089C03E4; AOT_REGCACHE_SYNC_OUT(); return; L_089C03E4: aot_gpr_31 = (0x089C03ECu); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 64u, 0x08B0C4D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C03ECu) goto L_089C03EC; AOT_REGCACHE_SYNC_OUT(); return; L_089C03EC: @@ -1541,7 +1542,7 @@ L_089C03EC: aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x089C03FCu); aot_gpr_6 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C03FCu) goto L_089C03FC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C03FCu) goto L_089C03FC; AOT_REGCACHE_SYNC_OUT(); return; L_089C03FC: ctx.fpr[26] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(476))); @@ -1565,7 +1566,7 @@ L_089C040C: L_089C0420: { std::uint32_t aot_run_words[16]{}; aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(480), aot_run_words); - aot_fpr_20 = std::bit_cast(aot_run_words[0]); + ctx.fpr[20] = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); ctx.fpr[26] = std::bit_cast(aot_run_words[3]); @@ -1590,7 +1591,7 @@ L_089C0420: AOT_REGCACHE_SYNC_OUT(); return; L_089C0468: ctx.gpr[29] = (ctx.gpr[29] + static_cast(-272)); - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(7800))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7800))); aot_gpr_6 = (aot_gpr_5 + aot_gpr_5); ctx.gpr[7] = (aot_gpr_5 << 8u); aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); @@ -1615,7 +1616,7 @@ L_089C0468: aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(256), ctx.gpr[19]); ctx.gpr[19] = (0u | 0u); aot_gpr_6 = (0u | 7u); - { const std::uint32_t aot_run_words[8]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), aot_gpr_16, ctx.gpr[17]}; + { const std::uint32_t aot_run_words[8]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), aot_gpr_16, ctx.gpr[17]}; aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(220), aot_run_words); } aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(260), ctx.gpr[20]); aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(264), aot_gpr_31); @@ -1748,7 +1749,7 @@ L_089C061C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0143_entry, 143u, 159u, 0x08A40D34u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C0638u) goto L_089C0638; AOT_REGCACHE_SYNC_OUT(); return; L_089C0638: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089C064C; @@ -1803,7 +1804,7 @@ L_089C0678: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0134_entry, 134u, 63u, 0x08A1C6C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C0680u) goto L_089C0680; AOT_REGCACHE_SYNC_OUT(); return; L_089C0680: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089C068C; @@ -1826,13 +1827,13 @@ L_089C0698: aot_gpr_4 = (0u | 7u); aot_gpr_31 = (0x089C06A4u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C06A4u) goto L_089C06A4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C06A4u) goto L_089C06A4; AOT_REGCACHE_SYNC_OUT(); return; L_089C06A4: aot_gpr_4 = (0u | 6u); aot_gpr_31 = (0x089C06B0u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C06B0u) goto L_089C06B0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C06B0u) goto L_089C06B0; AOT_REGCACHE_SYNC_OUT(); return; L_089C06B0: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(11218)))))); @@ -1846,11 +1847,11 @@ L_089C06B0: goto L_089C06C8; L_089C06C8: aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(11218), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7660))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_4 = (aot_gpr_4 & 1023u); - aot_fpr_20 = std::bit_cast(aot_gpr_4); + ctx.fpr[20] = std::bit_cast(aot_gpr_4); { const bool branch_taken = static_cast(aot_gpr_4) >= 0; - aot_fpr_20 = static_cast(static_cast(std::bit_cast(aot_fpr_20))); + ctx.fpr[20] = static_cast(static_cast(std::bit_cast(ctx.fpr[20]))); if (branch_taken) { goto L_089C06EC; } @@ -1859,13 +1860,13 @@ L_089C06C8: L_089C06E0: aot_gpr_4 = (20352u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_fpr_20 = aot_fpr_20 + aot_fpr_12; + ctx.fpr[20] = ctx.fpr[20] + aot_fpr_12; goto L_089C06EC; L_089C06EC: aot_gpr_4 = (15304u << 16u); aot_gpr_4 = (aot_gpr_4 | 62915u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - { const float fs = aot_fpr_20; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } + { const float fs = ctx.fpr[20]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<0u>(aot_gpr_4); { const float vfpu_constant = std::bit_cast(0x3F22F983u); @@ -1880,14 +1881,14 @@ L_089C06EC: { const float fs = aot_fpr_13; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_4 = (16192u << 16u); aot_fpr_14 = std::bit_cast(aot_gpr_4); - aot_fpr_20 = aot_fpr_12 + aot_fpr_14; + ctx.fpr[20] = aot_fpr_12 + aot_fpr_14; aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(11218)))))); - ctx.fpr[15] = std::bit_cast(aot_gpr_4); - aot_fpr_13 = static_cast(static_cast(std::bit_cast(ctx.fpr[15]))); + aot_fpr_15 = std::bit_cast(aot_gpr_4); + aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_15))); aot_gpr_4 = (16880u << 16u); ctx.fpr[16] = std::bit_cast(aot_gpr_4); aot_fpr_12 = aot_fpr_13 / ctx.fpr[16]; - { const float fs = aot_fpr_20; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_20 = std::bit_cast(0x7FC00000u); else aot_fpr_20 = fs * ft; } + { const float fs = ctx.fpr[20]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[20] = std::bit_cast(0x7FC00000u); else ctx.fpr[20] = fs * ft; } aot_gpr_4 = (2236u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(32304)); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(80))); @@ -1940,18 +1941,18 @@ L_089C07C0: aot_fpr_14 = std::bit_cast(aot_gpr_5); aot_gpr_5 = (17192u << 16u); aot_gpr_31 = (0x089C07E8u); - ctx.fpr[15] = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C07E8u) goto L_089C07E8; + aot_fpr_15 = std::bit_cast(aot_gpr_5); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C07E8u) goto L_089C07E8; AOT_REGCACHE_SYNC_OUT(); return; L_089C07E8: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); aot_gpr_4 = (ctx.gpr[29] + static_cast(24)); aot_gpr_5 = (0u | 255u); aot_gpr_6 = (0u | 255u); ctx.gpr[7] = (0u | 255u); aot_gpr_31 = (0x089C0804u); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C0804u) goto L_089C0804; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C0804u) goto L_089C0804; AOT_REGCACHE_SYNC_OUT(); return; L_089C0804: ctx.gpr[7] = (16256u << 16u); @@ -1960,8 +1961,8 @@ L_089C0804: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_12)); - aot_gpr_6 = (ctx.gpr[2] | 0u); - ctx.fpr[15] = std::bit_cast(std::bit_cast(aot_fpr_12)); + aot_gpr_6 = (aot_gpr_2 | 0u); + aot_fpr_15 = std::bit_cast(std::bit_cast(aot_fpr_12)); ctx.fpr[16] = std::bit_cast(std::bit_cast(aot_fpr_12)); ctx.fpr[17] = std::bit_cast(std::bit_cast(aot_fpr_14)); ctx.fpr[18] = std::bit_cast(std::bit_cast(aot_fpr_14)); @@ -2013,7 +2014,7 @@ L_089C0874: goto L_089C089C; } L_089C089C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_5 = (16928u << 16u); if (branch_taken) { @@ -2030,7 +2031,7 @@ L_089C08B0: aot_gpr_5 = (16928u << 16u); goto L_089C08B4; L_089C08B4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); aot_gpr_31 = (0x089C08C0u); aot_fpr_12 = std::bit_cast(aot_gpr_5); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0003_entry, 3u, 93u, 0x08810484u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C08C0u) goto L_089C08C0; @@ -2046,18 +2047,18 @@ L_089C08C0: aot_fpr_14 = std::bit_cast(aot_gpr_5); aot_gpr_5 = (17192u << 16u); aot_gpr_31 = (0x089C08ECu); - ctx.fpr[15] = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C08ECu) goto L_089C08EC; + aot_fpr_15 = std::bit_cast(aot_gpr_5); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C08ECu) goto L_089C08EC; AOT_REGCACHE_SYNC_OUT(); return; L_089C08EC: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); aot_gpr_4 = (ctx.gpr[29] + static_cast(44)); aot_gpr_5 = (0u | 255u); aot_gpr_6 = (0u | 255u); ctx.gpr[7] = (0u | 255u); aot_gpr_31 = (0x089C0908u); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C0908u) goto L_089C0908; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C0908u) goto L_089C0908; AOT_REGCACHE_SYNC_OUT(); return; L_089C0908: ctx.gpr[7] = (16256u << 16u); @@ -2066,8 +2067,8 @@ L_089C0908: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_12)); - aot_gpr_6 = (ctx.gpr[2] | 0u); - ctx.fpr[15] = std::bit_cast(std::bit_cast(aot_fpr_12)); + aot_gpr_6 = (aot_gpr_2 | 0u); + aot_fpr_15 = std::bit_cast(std::bit_cast(aot_fpr_12)); ctx.fpr[16] = std::bit_cast(std::bit_cast(aot_fpr_12)); ctx.fpr[17] = std::bit_cast(std::bit_cast(aot_fpr_14)); ctx.fpr[18] = std::bit_cast(std::bit_cast(aot_fpr_14)); @@ -2087,41 +2088,41 @@ L_089C0944: aot_gpr_4 = (0u | 10u); aot_gpr_31 = (0x089C0950u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C0950u) goto L_089C0950; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C0950u) goto L_089C0950; AOT_REGCACHE_SYNC_OUT(); return; L_089C0950: aot_gpr_4 = (0u | 8u); aot_gpr_31 = (0x089C095Cu); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C095Cu) goto L_089C095C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C095Cu) goto L_089C095C; AOT_REGCACHE_SYNC_OUT(); return; L_089C095C: aot_gpr_4 = (0u | 9u); aot_gpr_31 = (0x089C0968u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C0968u) goto L_089C0968; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C0968u) goto L_089C0968; AOT_REGCACHE_SYNC_OUT(); return; L_089C0968: aot_gpr_4 = (0u | 4u); aot_gpr_31 = (0x089C0974u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C0974u) goto L_089C0974; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C0974u) goto L_089C0974; AOT_REGCACHE_SYNC_OUT(); return; L_089C0974: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-13160))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-13160))); aot_gpr_4 = (0u | 1u); aot_gpr_31 = (0x089C0984u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C0984u) goto L_089C0984; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C0984u) goto L_089C0984; AOT_REGCACHE_SYNC_OUT(); return; L_089C0984: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-8744))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-8744))); ctx.gpr[7] = (17096u << 16u); aot_gpr_6 = (static_cast(static_cast(aot_gpr_4) >> 1u)); aot_fpr_13 = std::bit_cast(ctx.gpr[7]); aot_gpr_6 = (aot_gpr_6 >> 31u); - { const float fs = aot_fpr_20; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-8740))); + { const float fs = ctx.fpr[20]; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-8740))); aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 1u)); aot_gpr_6 = (static_cast(static_cast(aot_gpr_5) >> 1u)); @@ -2130,25 +2131,25 @@ L_089C0984: ctx.fpr[16] = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_13)); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_5 = (17224u << 16u); - ctx.fpr[15] = std::bit_cast(aot_gpr_5); + aot_fpr_15 = std::bit_cast(aot_gpr_5); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 1u)); - { const float fs = aot_fpr_20; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[15] = std::bit_cast(0x7FC00000u); else ctx.fpr[15] = fs * ft; } + { const float fs = ctx.fpr[20]; const float ft = aot_fpr_15; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_15 = std::bit_cast(0x7FC00000u); else aot_fpr_15 = fs * ft; } aot_gpr_5 = (16256u << 16u); aot_fpr_14 = std::bit_cast(aot_gpr_4); aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); ctx.gpr[7] = (0u | 255u); aot_gpr_4 = (std::bit_cast(ctx.fpr[16])); ctx.gpr[8] = (0u | 255u); - ctx.fpr[17] = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[15])); + ctx.fpr[17] = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_15)); aot_gpr_4 = (aot_gpr_4 & 255u); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_gpr_6 = (aot_gpr_4 | 0u); aot_fpr_14 = std::bit_cast(aot_gpr_5); aot_gpr_5 = (16928u << 16u); - ctx.fpr[15] = std::bit_cast(aot_gpr_5); + aot_fpr_15 = std::bit_cast(aot_gpr_5); aot_gpr_5 = (std::bit_cast(ctx.fpr[17])); aot_gpr_5 = (aot_gpr_5 & 255u); - ctx.fpr[16] = std::bit_cast(std::bit_cast(ctx.fpr[15])); + ctx.fpr[16] = std::bit_cast(std::bit_cast(aot_fpr_15)); aot_gpr_31 = (0x089C0A14u); ctx.fpr[17] = std::bit_cast(std::bit_cast(aot_fpr_14)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0169_entry, 169u, 68u, 0x08AA8C8Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C0A14u) goto L_089C0A14; @@ -2157,13 +2158,13 @@ L_089C0A14: aot_gpr_4 = (0u | 10u); aot_gpr_31 = (0x089C0A20u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C0A20u) goto L_089C0A20; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C0A20u) goto L_089C0A20; AOT_REGCACHE_SYNC_OUT(); return; L_089C0A20: aot_gpr_4 = (0u | 6u); aot_gpr_31 = (0x089C0A2Cu); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C0A2Cu) goto L_089C0A2C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C0A2Cu) goto L_089C0A2C; AOT_REGCACHE_SYNC_OUT(); return; L_089C0A2C: { const bool branch_taken = 0u == 0u; @@ -2193,7 +2194,7 @@ L_089C0A34: goto L_089C0A68; } L_089C0A68: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_5 = (17154u << 16u); if (branch_taken) { @@ -2210,7 +2211,7 @@ L_089C0A7C: aot_gpr_5 = (17154u << 16u); goto L_089C0A80; L_089C0A80: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); aot_gpr_31 = (0x089C0A8Cu); aot_fpr_12 = std::bit_cast(aot_gpr_5); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0003_entry, 3u, 93u, 0x08810484u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C0A8Cu) goto L_089C0A8C; @@ -2230,18 +2231,18 @@ L_089C0A8C: aot_gpr_5 = (17182u << 16u); aot_gpr_5 = (aot_gpr_5 | 26214u); aot_gpr_31 = (0x089C0AC8u); - ctx.fpr[15] = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C0AC8u) goto L_089C0AC8; + aot_fpr_15 = std::bit_cast(aot_gpr_5); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C0AC8u) goto L_089C0AC8; AOT_REGCACHE_SYNC_OUT(); return; L_089C0AC8: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); aot_gpr_4 = (ctx.gpr[29] + static_cast(64)); aot_gpr_5 = (0u | 255u); aot_gpr_6 = (0u | 255u); ctx.gpr[7] = (0u | 255u); aot_gpr_31 = (0x089C0AE4u); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C0AE4u) goto L_089C0AE4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C0AE4u) goto L_089C0AE4; AOT_REGCACHE_SYNC_OUT(); return; L_089C0AE4: ctx.gpr[7] = (16256u << 16u); @@ -2250,8 +2251,8 @@ L_089C0AE4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_12)); - aot_gpr_6 = (ctx.gpr[2] | 0u); - ctx.fpr[15] = std::bit_cast(std::bit_cast(aot_fpr_12)); + aot_gpr_6 = (aot_gpr_2 | 0u); + aot_fpr_15 = std::bit_cast(std::bit_cast(aot_fpr_12)); ctx.fpr[16] = std::bit_cast(std::bit_cast(aot_fpr_12)); ctx.fpr[17] = std::bit_cast(std::bit_cast(aot_fpr_14)); ctx.fpr[18] = std::bit_cast(std::bit_cast(aot_fpr_14)); @@ -2317,41 +2318,41 @@ L_089C0B90: aot_gpr_4 = (0u | 10u); aot_gpr_31 = (0x089C0B9Cu); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C0B9Cu) goto L_089C0B9C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C0B9Cu) goto L_089C0B9C; AOT_REGCACHE_SYNC_OUT(); return; L_089C0B9C: aot_gpr_4 = (0u | 8u); aot_gpr_31 = (0x089C0BA8u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C0BA8u) goto L_089C0BA8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C0BA8u) goto L_089C0BA8; AOT_REGCACHE_SYNC_OUT(); return; L_089C0BA8: aot_gpr_4 = (0u | 9u); aot_gpr_31 = (0x089C0BB4u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C0BB4u) goto L_089C0BB4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C0BB4u) goto L_089C0BB4; AOT_REGCACHE_SYNC_OUT(); return; L_089C0BB4: aot_gpr_4 = (0u | 4u); aot_gpr_31 = (0x089C0BC0u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C0BC0u) goto L_089C0BC0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C0BC0u) goto L_089C0BC0; AOT_REGCACHE_SYNC_OUT(); return; L_089C0BC0: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-13160))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-13160))); aot_gpr_4 = (0u | 1u); aot_gpr_31 = (0x089C0BD0u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C0BD0u) goto L_089C0BD0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C0BD0u) goto L_089C0BD0; AOT_REGCACHE_SYNC_OUT(); return; L_089C0BD0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-8744))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-8744))); ctx.gpr[7] = (17096u << 16u); aot_gpr_6 = (static_cast(static_cast(aot_gpr_4) >> 1u)); aot_fpr_13 = std::bit_cast(ctx.gpr[7]); aot_gpr_6 = (aot_gpr_6 >> 31u); - { const float fs = aot_fpr_20; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-8740))); + { const float fs = ctx.fpr[20]; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-8740))); aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 1u)); aot_gpr_6 = (static_cast(static_cast(aot_gpr_5) >> 1u)); @@ -2360,25 +2361,25 @@ L_089C0BD0: ctx.fpr[16] = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_13)); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_5 = (17224u << 16u); - ctx.fpr[15] = std::bit_cast(aot_gpr_5); + aot_fpr_15 = std::bit_cast(aot_gpr_5); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 1u)); - { const float fs = aot_fpr_20; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[15] = std::bit_cast(0x7FC00000u); else ctx.fpr[15] = fs * ft; } + { const float fs = ctx.fpr[20]; const float ft = aot_fpr_15; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_15 = std::bit_cast(0x7FC00000u); else aot_fpr_15 = fs * ft; } aot_gpr_5 = (16256u << 16u); aot_fpr_14 = std::bit_cast(aot_gpr_4); aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); ctx.gpr[7] = (0u | 255u); aot_gpr_4 = (std::bit_cast(ctx.fpr[16])); ctx.gpr[8] = (0u | 255u); - ctx.fpr[17] = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[15])); + ctx.fpr[17] = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_15)); aot_gpr_4 = (aot_gpr_4 & 255u); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_gpr_6 = (aot_gpr_4 | 0u); aot_fpr_14 = std::bit_cast(aot_gpr_5); aot_gpr_5 = (16928u << 16u); - ctx.fpr[15] = std::bit_cast(aot_gpr_5); + aot_fpr_15 = std::bit_cast(aot_gpr_5); aot_gpr_5 = (std::bit_cast(ctx.fpr[17])); aot_gpr_5 = (aot_gpr_5 & 255u); - ctx.fpr[16] = std::bit_cast(std::bit_cast(ctx.fpr[15])); + ctx.fpr[16] = std::bit_cast(std::bit_cast(aot_fpr_15)); aot_gpr_31 = (0x089C0C60u); ctx.fpr[17] = std::bit_cast(std::bit_cast(aot_fpr_14)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0169_entry, 169u, 68u, 0x08AA8C8Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C0C60u) goto L_089C0C60; @@ -2387,13 +2388,13 @@ L_089C0C60: aot_gpr_4 = (0u | 10u); aot_gpr_31 = (0x089C0C6Cu); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C0C6Cu) goto L_089C0C6C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C0C6Cu) goto L_089C0C6C; AOT_REGCACHE_SYNC_OUT(); return; L_089C0C6C: aot_gpr_4 = (0u | 6u); aot_gpr_31 = (0x089C0C78u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C0C78u) goto L_089C0C78; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C0C78u) goto L_089C0C78; AOT_REGCACHE_SYNC_OUT(); return; L_089C0C78: { const bool branch_taken = 0u == 0u; @@ -2408,7 +2409,7 @@ L_089C0C80: ctx.fpr[22] = std::bit_cast(aot_gpr_4); ctx.gpr[17] = (0u | 63u); aot_gpr_4 = (17264u << 16u); - aot_fpr_20 = std::bit_cast(std::bit_cast(ctx.fpr[22])); + ctx.fpr[20] = std::bit_cast(std::bit_cast(ctx.fpr[22])); ctx.fpr[26] = std::bit_cast(aot_gpr_4); aot_gpr_4 = (17160u << 16u); aot_gpr_31 = (0x089C0CA4u); @@ -2416,11 +2417,11 @@ L_089C0C80: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C0CA4u) goto L_089C0CA4; AOT_REGCACHE_SYNC_OUT(); return; L_089C0CA4: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(1929)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(1929)))))); aot_gpr_5 = (aot_gpr_4 << 5u); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); - aot_gpr_4 = (ctx.gpr[2] + aot_gpr_4); + aot_gpr_4 = (aot_gpr_2 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_5 = (0u | 31u); @@ -2445,11 +2446,11 @@ L_089C0CD4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C0CDCu) goto L_089C0CDC; AOT_REGCACHE_SYNC_OUT(); return; L_089C0CDC: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(1929)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(1929)))))); aot_gpr_5 = (aot_gpr_4 << 5u); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); - aot_gpr_4 = (ctx.gpr[2] + aot_gpr_4); + aot_gpr_4 = (aot_gpr_2 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_5 = (0u | 38u); @@ -2471,7 +2472,7 @@ L_089C0D04: ctx.fpr[22] = std::bit_cast(aot_gpr_4); aot_gpr_4 = (17158u << 16u); { const bool branch_taken = 0u == 0u; - aot_fpr_20 = std::bit_cast(aot_gpr_4); + ctx.fpr[20] = std::bit_cast(aot_gpr_4); if (branch_taken) { goto L_089C0D98; } @@ -2483,11 +2484,11 @@ L_089C0D30: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C0D38u) goto L_089C0D38; AOT_REGCACHE_SYNC_OUT(); return; L_089C0D38: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(1929)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(1929)))))); aot_gpr_5 = (aot_gpr_4 << 5u); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); - aot_gpr_4 = (ctx.gpr[2] + aot_gpr_4); + aot_gpr_4 = (aot_gpr_2 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_5 = (0u | 39u); @@ -2520,49 +2521,49 @@ L_089C0D70: aot_gpr_4 = (17265u << 16u); ctx.fpr[22] = std::bit_cast(aot_gpr_4); aot_gpr_4 = (17161u << 16u); - aot_fpr_20 = std::bit_cast(aot_gpr_4); + ctx.fpr[20] = std::bit_cast(aot_gpr_4); goto L_089C0D98; L_089C0D98: aot_fpr_12 = ctx.fpr[26] - ctx.fpr[22]; aot_gpr_4 = (ctx.gpr[17] << 2u); - ctx.fpr[30] = ctx.fpr[24] - aot_fpr_20; + ctx.fpr[30] = ctx.fpr[24] - ctx.fpr[20]; aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); - aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(212), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(212), std::bit_cast(ctx.fpr[20])); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[26])); ctx.gpr[18] = (aot_gpr_4 + static_cast(10924)); - ctx.fpr[15] = std::bit_cast(std::bit_cast(ctx.fpr[24])); + aot_fpr_15 = std::bit_cast(std::bit_cast(ctx.fpr[24])); ctx.gpr[17] = (ctx.gpr[29] + static_cast(68)); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[30])); aot_gpr_31 = (0x089C0DCCu); aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(208), std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C0DCCu) goto L_089C0DCC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C0DCCu) goto L_089C0DCC; AOT_REGCACHE_SYNC_OUT(); return; L_089C0DCC: ctx.gpr[19] = (ctx.gpr[29] + static_cast(84)); - ctx.gpr[20] = (ctx.gpr[2] | 0u); + ctx.gpr[20] = (aot_gpr_2 | 0u); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (0u | 255u); aot_gpr_6 = (0u | 255u); ctx.gpr[7] = (0u | 255u); aot_gpr_31 = (0x089C0DECu); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C0DECu) goto L_089C0DEC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C0DECu) goto L_089C0DEC; AOT_REGCACHE_SYNC_OUT(); return; L_089C0DEC: ctx.gpr[7] = (15395u << 16u); - ctx.fpr[15] = std::bit_cast(0u); + aot_fpr_15 = std::bit_cast(0u); ctx.gpr[7] = (ctx.gpr[7] | 55050u); ctx.gpr[8] = (16256u << 16u); - aot_fpr_20 = std::bit_cast(ctx.gpr[7]); + ctx.fpr[20] = std::bit_cast(ctx.gpr[7]); ctx.fpr[28] = std::bit_cast(ctx.gpr[8]); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (ctx.gpr[20] | 0u); - aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); - aot_gpr_6 = (ctx.gpr[2] | 0u); - aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); + aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); + aot_gpr_6 = (aot_gpr_2 | 0u); + aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[28])); - ctx.fpr[16] = std::bit_cast(std::bit_cast(aot_fpr_20)); + ctx.fpr[16] = std::bit_cast(std::bit_cast(ctx.fpr[20])); ctx.fpr[17] = std::bit_cast(std::bit_cast(ctx.fpr[28])); ctx.fpr[18] = std::bit_cast(std::bit_cast(ctx.fpr[28])); aot_gpr_31 = (0x089C0E30u); @@ -2574,35 +2575,35 @@ L_089C0E30: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[26])); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[30])); - ctx.fpr[15] = std::bit_cast(std::bit_cast(ctx.fpr[24])); + aot_fpr_15 = std::bit_cast(std::bit_cast(ctx.fpr[24])); aot_gpr_31 = (0x089C0E4Cu); aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(216), std::bit_cast(aot_fpr_14)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C0E4Cu) goto L_089C0E4C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C0E4Cu) goto L_089C0E4C; AOT_REGCACHE_SYNC_OUT(); return; L_089C0E4C: - ctx.gpr[20] = (ctx.gpr[2] | 0u); + ctx.gpr[20] = (aot_gpr_2 | 0u); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (0u | 255u); aot_gpr_6 = (0u | 255u); ctx.gpr[7] = (0u | 255u); aot_gpr_31 = (0x089C0E68u); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C0E68u) goto L_089C0E68; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C0E68u) goto L_089C0E68; AOT_REGCACHE_SYNC_OUT(); return; L_089C0E68: ctx.gpr[7] = (16253u << 16u); aot_fpr_13 = std::bit_cast(0u); ctx.gpr[7] = (ctx.gpr[7] | 28836u); - aot_fpr_14 = std::bit_cast(std::bit_cast(aot_fpr_20)); + aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[20])); ctx.fpr[30] = std::bit_cast(ctx.gpr[7]); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (ctx.gpr[20] | 0u); - ctx.fpr[15] = std::bit_cast(std::bit_cast(aot_fpr_20)); - aot_gpr_6 = (ctx.gpr[2] | 0u); + aot_fpr_15 = std::bit_cast(std::bit_cast(ctx.fpr[20])); + aot_gpr_6 = (aot_gpr_2 | 0u); ctx.fpr[17] = std::bit_cast(std::bit_cast(ctx.fpr[28])); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[30])); ctx.fpr[16] = std::bit_cast(std::bit_cast(ctx.fpr[30])); - ctx.fpr[18] = std::bit_cast(std::bit_cast(aot_fpr_20)); + ctx.fpr[18] = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_gpr_31 = (0x089C0EA4u); ctx.fpr[19] = std::bit_cast(std::bit_cast(ctx.fpr[28])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 84u, 0x08AF4770u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C0EA4u) goto L_089C0EA4; @@ -2615,32 +2616,32 @@ L_089C0EA4: ctx.fpr[22] = aot_fpr_12 + ctx.fpr[24]; aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(208))); aot_gpr_31 = (0x089C0EC4u); - ctx.fpr[15] = std::bit_cast(std::bit_cast(ctx.fpr[22])); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C0EC4u) goto L_089C0EC4; + aot_fpr_15 = std::bit_cast(std::bit_cast(ctx.fpr[22])); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C0EC4u) goto L_089C0EC4; AOT_REGCACHE_SYNC_OUT(); return; L_089C0EC4: - ctx.gpr[20] = (ctx.gpr[2] | 0u); + ctx.gpr[20] = (aot_gpr_2 | 0u); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (0u | 255u); aot_gpr_6 = (0u | 255u); ctx.gpr[7] = (0u | 255u); aot_gpr_31 = (0x089C0EE0u); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C0EE0u) goto L_089C0EE0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C0EE0u) goto L_089C0EE0; AOT_REGCACHE_SYNC_OUT(); return; L_089C0EE0: - aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); + aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[30])); aot_gpr_5 = (ctx.gpr[20] | 0u); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[28])); - aot_gpr_6 = (ctx.gpr[2] | 0u); - ctx.fpr[15] = std::bit_cast(std::bit_cast(ctx.fpr[30])); - ctx.fpr[16] = std::bit_cast(std::bit_cast(aot_fpr_20)); - ctx.fpr[17] = std::bit_cast(std::bit_cast(aot_fpr_20)); + aot_gpr_6 = (aot_gpr_2 | 0u); + aot_fpr_15 = std::bit_cast(std::bit_cast(ctx.fpr[30])); + ctx.fpr[16] = std::bit_cast(std::bit_cast(ctx.fpr[20])); + ctx.fpr[17] = std::bit_cast(std::bit_cast(ctx.fpr[20])); ctx.fpr[18] = std::bit_cast(std::bit_cast(ctx.fpr[28])); aot_gpr_31 = (0x089C0F10u); - ctx.fpr[19] = std::bit_cast(std::bit_cast(aot_fpr_20)); + ctx.fpr[19] = std::bit_cast(std::bit_cast(ctx.fpr[20])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 84u, 0x08AF4770u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C0F10u) goto L_089C0F10; AOT_REGCACHE_SYNC_OUT(); return; L_089C0F10: @@ -2649,36 +2650,36 @@ L_089C0F10: aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[24])); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(216))); aot_gpr_31 = (0x089C0F28u); - ctx.fpr[15] = std::bit_cast(std::bit_cast(ctx.fpr[22])); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C0F28u) goto L_089C0F28; + aot_fpr_15 = std::bit_cast(std::bit_cast(ctx.fpr[22])); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C0F28u) goto L_089C0F28; AOT_REGCACHE_SYNC_OUT(); return; L_089C0F28: aot_gpr_4 = (ctx.gpr[19] | 0u); - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 255u); aot_gpr_6 = (0u | 255u); ctx.gpr[7] = (0u | 255u); aot_gpr_31 = (0x089C0F44u); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C0F44u) goto L_089C0F44; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C0F44u) goto L_089C0F44; AOT_REGCACHE_SYNC_OUT(); return; L_089C0F44: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[30])); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[30])); - aot_gpr_6 = (ctx.gpr[2] | 0u); - aot_fpr_14 = std::bit_cast(std::bit_cast(aot_fpr_20)); - ctx.fpr[15] = std::bit_cast(std::bit_cast(ctx.fpr[30])); + aot_gpr_6 = (aot_gpr_2 | 0u); + aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[20])); + aot_fpr_15 = std::bit_cast(std::bit_cast(ctx.fpr[30])); ctx.fpr[16] = std::bit_cast(std::bit_cast(ctx.fpr[30])); - ctx.fpr[17] = std::bit_cast(std::bit_cast(aot_fpr_20)); - ctx.fpr[18] = std::bit_cast(std::bit_cast(aot_fpr_20)); + ctx.fpr[17] = std::bit_cast(std::bit_cast(ctx.fpr[20])); + ctx.fpr[18] = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_gpr_31 = (0x089C0F74u); - ctx.fpr[19] = std::bit_cast(std::bit_cast(aot_fpr_20)); + ctx.fpr[19] = std::bit_cast(std::bit_cast(ctx.fpr[20])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 84u, 0x08AF4770u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C0F74u) goto L_089C0F74; AOT_REGCACHE_SYNC_OUT(); return; L_089C0F74: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_5 = (17154u << 16u); if (branch_taken) { @@ -2695,7 +2696,7 @@ L_089C0F88: aot_gpr_5 = (17154u << 16u); goto L_089C0F8C; L_089C0F8C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); aot_gpr_31 = (0x089C0F98u); aot_fpr_12 = std::bit_cast(aot_gpr_5); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0003_entry, 3u, 93u, 0x08810484u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C0F98u) goto L_089C0F98; @@ -2706,11 +2707,11 @@ L_089C0F98: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C0FA0u) goto L_089C0FA0; AOT_REGCACHE_SYNC_OUT(); return; L_089C0FA0: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(1929)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(1929)))))); aot_gpr_5 = (aot_gpr_4 << 5u); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); - aot_gpr_4 = (ctx.gpr[2] + aot_gpr_4); + aot_gpr_4 = (aot_gpr_2 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_5 = (0u | 31u); @@ -2737,12 +2738,12 @@ L_089C0FC8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C0FF8u) goto L_089C0FF8; AOT_REGCACHE_SYNC_OUT(); return; L_089C0FF8: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(1929)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(1929)))))); aot_gpr_6 = (ctx.gpr[29] + static_cast(88)); aot_gpr_5 = (aot_gpr_4 << 5u); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); - aot_gpr_4 = (ctx.gpr[2] + aot_gpr_4); + aot_gpr_4 = (aot_gpr_2 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); aot_gpr_31 = (0x089C101Cu); aot_gpr_5 = (ctx.gpr[29] + static_cast(96)); @@ -2752,38 +2753,38 @@ L_089C101C: aot_gpr_4 = (0u | 4u); aot_gpr_31 = (0x089C1028u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C1028u) goto L_089C1028; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C1028u) goto L_089C1028; AOT_REGCACHE_SYNC_OUT(); return; L_089C1028: aot_gpr_4 = (0u | 10u); aot_gpr_31 = (0x089C1034u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C1034u) goto L_089C1034; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C1034u) goto L_089C1034; AOT_REGCACHE_SYNC_OUT(); return; L_089C1034: aot_gpr_4 = (0u | 6u); aot_gpr_31 = (0x089C1040u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C1040u) goto L_089C1040; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C1040u) goto L_089C1040; AOT_REGCACHE_SYNC_OUT(); return; L_089C1040: aot_gpr_4 = (0u | 8u); aot_gpr_31 = (0x089C104Cu); aot_gpr_5 = (0u | 5u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C104Cu) goto L_089C104C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C104Cu) goto L_089C104C; AOT_REGCACHE_SYNC_OUT(); return; L_089C104C: aot_gpr_4 = (0u | 9u); aot_gpr_31 = (0x089C1058u); aot_gpr_5 = (0u | 8u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C1058u) goto L_089C1058; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C1058u) goto L_089C1058; AOT_REGCACHE_SYNC_OUT(); return; L_089C1058: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-13148))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-13148))); aot_gpr_4 = (0u | 1u); aot_gpr_31 = (0x089C1068u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C1068u) goto L_089C1068; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C1068u) goto L_089C1068; AOT_REGCACHE_SYNC_OUT(); return; L_089C1068: aot_gpr_4 = (16382u << 16u); @@ -2810,19 +2811,19 @@ L_089C1068: ctx.gpr[18] = (aot_gpr_5 - aot_gpr_4); aot_gpr_31 = (0x089C10C8u); ctx.gpr[19] = (static_cast(static_cast(ctx.gpr[18]) >> 31u)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C10C8u) goto L_089C10C8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C10C8u) goto L_089C10C8; AOT_REGCACHE_SYNC_OUT(); return; L_089C10C8: aot_gpr_6 = (aot_gpr_16 - ctx.gpr[18]); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x089C10DCu); ctx.gpr[7] = (static_cast(static_cast(aot_gpr_6) >> 31u)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C10DCu) goto L_089C10DC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C10DCu) goto L_089C10DC; AOT_REGCACHE_SYNC_OUT(); return; L_089C10DC: ctx.gpr[1] = (ctx.gpr[3] << 1u); - aot_gpr_4 = (ctx.gpr[2] >> 31u); + aot_gpr_4 = (aot_gpr_2 >> 31u); aot_gpr_5 = (static_cast(static_cast(ctx.gpr[3]) >> 31u)); aot_gpr_4 = (ctx.gpr[1] | aot_gpr_4); aot_gpr_6 = (ctx.gpr[18] + aot_gpr_4); @@ -2895,7 +2896,7 @@ L_089C117C: ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(88))); aot_gpr_4 = (aot_gpr_4 & 255u); ctx.gpr[7] = (aot_gpr_4 << 16u); - ctx.fpr[15] = std::bit_cast(std::bit_cast(ctx.fpr[16])); + aot_fpr_15 = std::bit_cast(std::bit_cast(ctx.fpr[16])); ctx.gpr[9] = (16256u << 16u); ctx.gpr[7] = (static_cast(static_cast(ctx.gpr[7]) >> 16u)); ctx.fpr[17] = std::bit_cast(ctx.gpr[9]); @@ -2910,7 +2911,7 @@ L_089C11B8: aot_gpr_4 = (0u | 10u); aot_gpr_31 = (0x089C11C4u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C11C4u) goto L_089C11C4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C11C4u) goto L_089C11C4; AOT_REGCACHE_SYNC_OUT(); return; L_089C11C4: { const bool branch_taken = 0u == 0u; @@ -2926,11 +2927,11 @@ L_089C11CC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C11D4u) goto L_089C11D4; AOT_REGCACHE_SYNC_OUT(); return; L_089C11D4: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(1929)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(1929)))))); aot_gpr_5 = (aot_gpr_4 << 5u); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); - aot_gpr_4 = (ctx.gpr[2] + aot_gpr_4); + aot_gpr_4 = (aot_gpr_2 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_5 = (0u | 39u); @@ -2962,22 +2963,22 @@ L_089C120C: aot_fpr_14 = std::bit_cast(aot_gpr_5); aot_gpr_5 = (16808u << 16u); aot_gpr_31 = (0x089C1230u); - ctx.fpr[15] = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C1230u) goto L_089C1230; + aot_fpr_15 = std::bit_cast(aot_gpr_5); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C1230u) goto L_089C1230; AOT_REGCACHE_SYNC_OUT(); return; L_089C1230: - aot_gpr_16 = (ctx.gpr[2] | 0u); + aot_gpr_16 = (aot_gpr_2 | 0u); aot_gpr_4 = (ctx.gpr[29] + static_cast(144)); aot_gpr_5 = (0u | 0u); aot_gpr_6 = (0u | 220u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x089C124Cu); ctx.gpr[8] = (0u | 100u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C124Cu) goto L_089C124C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C124Cu) goto L_089C124C; AOT_REGCACHE_SYNC_OUT(); return; L_089C124C: aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x089C125Cu); aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 107u, 0x08AF5130u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C125Cu) goto L_089C125C; @@ -3033,7 +3034,7 @@ L_089C1298: aot_fpr_13 = std::bit_cast(aot_gpr_5); aot_gpr_4 = (ctx.gpr[29] + static_cast(148)); aot_gpr_5 = (16840u << 16u); - ctx.fpr[15] = std::bit_cast(aot_gpr_5); + aot_fpr_15 = std::bit_cast(aot_gpr_5); aot_gpr_5 = (ctx.lo); aot_gpr_6 = (aot_gpr_5 + static_cast(140)); aot_gpr_5 = (aot_gpr_5 + static_cast(141)); @@ -3042,21 +3043,21 @@ L_089C1298: aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_gpr_31 = (0x089C12E8u); aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C12E8u) goto L_089C12E8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C12E8u) goto L_089C12E8; AOT_REGCACHE_SYNC_OUT(); return; L_089C12E8: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); aot_gpr_4 = (ctx.gpr[29] + static_cast(164)); aot_gpr_5 = (0u | 0u); aot_gpr_6 = (0u | 220u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x089C1304u); ctx.gpr[8] = (0u | 100u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C1304u) goto L_089C1304; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C1304u) goto L_089C1304; AOT_REGCACHE_SYNC_OUT(); return; L_089C1304: aot_gpr_4 = (ctx.gpr[17] | 0u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x089C1314u); aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 107u, 0x08AF5130u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C1314u) goto L_089C1314; @@ -3080,7 +3081,7 @@ L_089C131C: aot_fpr_13 = std::bit_cast(aot_gpr_5); aot_gpr_4 = (ctx.gpr[29] + static_cast(168)); aot_gpr_5 = (16880u << 16u); - ctx.fpr[15] = std::bit_cast(aot_gpr_5); + aot_fpr_15 = std::bit_cast(aot_gpr_5); aot_gpr_5 = (ctx.lo); aot_gpr_6 = (aot_gpr_5 + static_cast(140)); aot_gpr_5 = (aot_gpr_5 + static_cast(141)); @@ -3089,21 +3090,21 @@ L_089C131C: aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_gpr_31 = (0x089C1368u); aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C1368u) goto L_089C1368; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C1368u) goto L_089C1368; AOT_REGCACHE_SYNC_OUT(); return; L_089C1368: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); aot_gpr_4 = (ctx.gpr[29] + static_cast(184)); aot_gpr_5 = (0u | 0u); aot_gpr_6 = (0u | 220u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x089C1384u); ctx.gpr[8] = (0u | 100u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C1384u) goto L_089C1384; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C1384u) goto L_089C1384; AOT_REGCACHE_SYNC_OUT(); return; L_089C1384: aot_gpr_4 = (ctx.gpr[17] | 0u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x089C1394u); aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 107u, 0x08AF5130u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C1394u) goto L_089C1394; @@ -3125,10 +3126,10 @@ L_089C13A4: aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_gpr_4 + static_cast(16)); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_fpr_14 = std::bit_cast(std::bit_cast(aot_fpr_14) ^ 0x80000000u); aot_gpr_31 = (0x089C13CCu); - ctx.fpr[15] = std::bit_cast(std::bit_cast(ctx.fpr[15]) ^ 0x80000000u); + aot_fpr_15 = std::bit_cast(std::bit_cast(aot_fpr_15) ^ 0x80000000u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0162_entry, 162u, 561u, 0x08A8EF1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C13CCu) goto L_089C13CC; AOT_REGCACHE_SYNC_OUT(); return; L_089C13CC: @@ -3148,11 +3149,11 @@ L_089C13E4: goto L_089C13E8; L_089C13E8: aot_gpr_5 = (17309u << 16u); - aot_fpr_20 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); + ctx.fpr[20] = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_gpr_5 = (aot_gpr_5 | 32768u); aot_fpr_13 = std::bit_cast(aot_gpr_5); - aot_fpr_20 = ctx.fpr[22] - aot_fpr_20; - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_20 < aot_fpr_13)) ? 0x00800000u : 0u); + ctx.fpr[20] = ctx.fpr[22] - ctx.fpr[20]; + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[20] < aot_fpr_13)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -3164,12 +3165,12 @@ L_089C13E8: L_089C140C: aot_gpr_5 = (17332u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_5); - aot_fpr_20 = aot_fpr_20 - aot_fpr_12; + ctx.fpr[20] = ctx.fpr[20] - aot_fpr_12; goto L_089C1418; L_089C1418: aot_gpr_5 = (49568u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_5); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_20 <= aot_fpr_12)) ? 0x00800000u : 0u); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[20] <= aot_fpr_12)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); aot_gpr_5 = (16800u << 16u); @@ -3180,7 +3181,7 @@ L_089C1418: } L_089C1430: aot_fpr_12 = std::bit_cast(aot_gpr_5); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_20 < aot_fpr_12)) ? 0x00800000u : 0u); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[20] < aot_fpr_12)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -3193,7 +3194,7 @@ L_089C1444: aot_gpr_4 = (17224u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (16928u << 16u); - { const float fs = aot_fpr_20; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } + { const float fs = ctx.fpr[20]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_12 = aot_fpr_12 / aot_fpr_13; aot_gpr_5 = (17264u << 16u); @@ -3203,27 +3204,27 @@ L_089C1444: aot_gpr_4 = (ctx.gpr[29] + static_cast(188)); aot_fpr_14 = std::bit_cast(aot_gpr_5); ctx.fpr[16] = std::bit_cast(aot_gpr_6); - ctx.fpr[15] = std::bit_cast(ctx.gpr[8]); + aot_fpr_15 = std::bit_cast(ctx.gpr[8]); aot_fpr_14 = aot_fpr_12 + aot_fpr_14; aot_fpr_13 = std::bit_cast(ctx.gpr[7]); aot_fpr_12 = aot_fpr_14 - ctx.fpr[16]; aot_gpr_31 = (0x089C1490u); aot_fpr_14 = aot_fpr_14 + ctx.fpr[16]; - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C1490u) goto L_089C1490; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C1490u) goto L_089C1490; AOT_REGCACHE_SYNC_OUT(); return; L_089C1490: - aot_gpr_16 = (ctx.gpr[2] | 0u); + aot_gpr_16 = (aot_gpr_2 | 0u); aot_gpr_4 = (ctx.gpr[29] + static_cast(204)); aot_gpr_5 = (0u | 0u); aot_gpr_6 = (0u | 220u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x089C14ACu); ctx.gpr[8] = (0u | 150u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C14ACu) goto L_089C14AC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C14ACu) goto L_089C14AC; AOT_REGCACHE_SYNC_OUT(); return; L_089C14AC: aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x089C14BCu); aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 107u, 0x08AF5130u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C14BCu) goto L_089C14BC; @@ -3252,7 +3253,7 @@ L_089C14D4: goto L_089C14E8; } L_089C14E8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_4 = (17224u << 16u); if (branch_taken) { @@ -3271,12 +3272,12 @@ L_089C14FC: L_089C1500: aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (16928u << 16u); - { const float fs = aot_fpr_20; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } + { const float fs = ctx.fpr[20]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_12 = aot_fpr_12 / aot_fpr_13; ctx.gpr[10] = (17264u << 16u); ctx.gpr[11] = (16640u << 16u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); aot_gpr_5 = (0u | 3u); aot_gpr_6 = (0u | 150u); ctx.gpr[7] = (0u | 0u); @@ -3308,19 +3309,19 @@ L_089C155C: aot_gpr_4 = (0u | 8u); aot_gpr_31 = (0x089C1568u); aot_gpr_5 = (0u | 5u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C1568u) goto L_089C1568; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C1568u) goto L_089C1568; AOT_REGCACHE_SYNC_OUT(); return; L_089C1568: aot_gpr_4 = (0u | 9u); aot_gpr_31 = (0x089C1574u); aot_gpr_5 = (0u | 6u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C1574u) goto L_089C1574; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C1574u) goto L_089C1574; AOT_REGCACHE_SYNC_OUT(); return; L_089C1574: aot_gpr_4 = (0u | 6u); aot_gpr_31 = (0x089C1580u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C1580u) goto L_089C1580; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C1580u) goto L_089C1580; AOT_REGCACHE_SYNC_OUT(); return; L_089C1580: { const bool branch_taken = 0u == 0u; @@ -3336,7 +3337,7 @@ L_089C1588: L_089C158C: { std::uint32_t aot_run_words[12]{}; aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(220), aot_run_words); - aot_fpr_20 = std::bit_cast(aot_run_words[0]); + ctx.fpr[20] = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); ctx.fpr[26] = std::bit_cast(aot_run_words[3]); @@ -3375,7 +3376,7 @@ L_089C15E4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0173_entry, 173u, 155u, 0x08AB8ADCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C15F4u) goto L_089C15F4; AOT_REGCACHE_SYNC_OUT(); return; L_089C15F4: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_089C1700; @@ -3446,7 +3447,7 @@ L_089C1660: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0173_entry, 173u, 144u, 0x08AB8A34u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C1668u) goto L_089C1668; AOT_REGCACHE_SYNC_OUT(); return; L_089C1668: - aot_fpr_12 = std::bit_cast(ctx.gpr[2]); + aot_fpr_12 = std::bit_cast(aot_gpr_2); aot_gpr_4 = (16800u << 16u); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_fpr_13 = std::bit_cast(aot_gpr_4); @@ -3455,11 +3456,11 @@ L_089C1668: aot_gpr_5 = (2236u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(32304)); aot_fpr_14 = std::bit_cast(aot_gpr_4); - ctx.fpr[15] = std::bit_cast(0u); + aot_fpr_15 = std::bit_cast(0u); aot_fpr_12 = aot_fpr_12 + aot_fpr_14; aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(10828), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(2020))); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(ctx.fpr[15])) && aot_fpr_12 == ctx.fpr[15])) ? 0x00800000u : 0u); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(aot_fpr_15)) && aot_fpr_12 == aot_fpr_15)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -3469,7 +3470,7 @@ L_089C1668: goto L_089C16AC; } L_089C16AC: - aot_gpr_4 = (aot_gpr_28 + static_cast(7768)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); aot_gpr_5 = (0u | 180u); aot_gpr_31 = (0x089C16BCu); aot_gpr_6 = (0u | 0u); @@ -3612,15 +3613,15 @@ L_089C176C: aot_gpr_4 = (16968u << 16u); goto L_089C1770; L_089C1770: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7676))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_12 = aot_fpr_12 / aot_fpr_13; aot_gpr_5 = (17530u << 16u); aot_gpr_6 = (20224u << 16u); aot_fpr_14 = std::bit_cast(aot_gpr_5); - ctx.fpr[15] = std::bit_cast(aot_gpr_6); + aot_fpr_15 = std::bit_cast(aot_gpr_6); { const float fs = aot_fpr_12; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[15])) ? 0x00800000u : 0u); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_15)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(10816))); @@ -3631,7 +3632,7 @@ L_089C1770: } L_089C17A0: aot_gpr_5 = (16968u << 16u); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7676))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); aot_fpr_13 = std::bit_cast(aot_gpr_5); aot_fpr_12 = aot_fpr_12 / aot_fpr_13; aot_gpr_5 = (17530u << 16u); @@ -3647,16 +3648,16 @@ L_089C17A0: } L_089C17C8: aot_gpr_5 = (16968u << 16u); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7676))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); aot_fpr_13 = std::bit_cast(aot_gpr_5); aot_fpr_12 = aot_fpr_12 / aot_fpr_13; aot_gpr_5 = (17530u << 16u); aot_gpr_6 = (20224u << 16u); ctx.gpr[7] = (32768u << 16u); aot_fpr_14 = std::bit_cast(aot_gpr_5); - ctx.fpr[15] = std::bit_cast(aot_gpr_6); + aot_fpr_15 = std::bit_cast(aot_gpr_6); { const float fs = aot_fpr_12; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - aot_fpr_12 = aot_fpr_12 - ctx.fpr[15]; + aot_fpr_12 = aot_fpr_12 - aot_fpr_15; aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); aot_gpr_5 = (std::bit_cast(aot_fpr_12)); aot_gpr_5 = (aot_gpr_5 + ctx.gpr[7]); @@ -3691,15 +3692,15 @@ L_089C1830: } L_089C1838: aot_gpr_4 = (16968u << 16u); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7676))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_12 = aot_fpr_12 / aot_fpr_13; aot_gpr_5 = (17530u << 16u); aot_gpr_6 = (20224u << 16u); aot_fpr_14 = std::bit_cast(aot_gpr_5); - ctx.fpr[15] = std::bit_cast(aot_gpr_6); + aot_fpr_15 = std::bit_cast(aot_gpr_6); { const float fs = aot_fpr_12; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[15])) ? 0x00800000u : 0u); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_15)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(10816))); @@ -3710,7 +3711,7 @@ L_089C1838: } L_089C186C: aot_gpr_5 = (16968u << 16u); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7676))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); aot_fpr_13 = std::bit_cast(aot_gpr_5); aot_fpr_12 = aot_fpr_12 / aot_fpr_13; aot_gpr_5 = (17530u << 16u); @@ -3726,16 +3727,16 @@ L_089C186C: } L_089C1894: aot_gpr_5 = (16968u << 16u); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7676))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); aot_fpr_13 = std::bit_cast(aot_gpr_5); aot_fpr_12 = aot_fpr_12 / aot_fpr_13; aot_gpr_5 = (17530u << 16u); aot_gpr_6 = (20224u << 16u); ctx.gpr[7] = (32768u << 16u); aot_fpr_14 = std::bit_cast(aot_gpr_5); - ctx.fpr[15] = std::bit_cast(aot_gpr_6); + aot_fpr_15 = std::bit_cast(aot_gpr_6); { const float fs = aot_fpr_12; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - aot_fpr_12 = aot_fpr_12 - ctx.fpr[15]; + aot_fpr_12 = aot_fpr_12 - aot_fpr_15; aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); aot_gpr_5 = (std::bit_cast(aot_fpr_12)); aot_gpr_5 = (aot_gpr_5 + ctx.gpr[7]); @@ -3789,15 +3790,15 @@ L_089C191C: goto L_089C1924; } L_089C1924: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7676))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_12 = aot_fpr_12 / aot_fpr_13; aot_gpr_5 = (17530u << 16u); aot_gpr_6 = (20224u << 16u); aot_fpr_14 = std::bit_cast(aot_gpr_5); - ctx.fpr[15] = std::bit_cast(aot_gpr_6); + aot_fpr_15 = std::bit_cast(aot_gpr_6); { const float fs = aot_fpr_12; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[15])) ? 0x00800000u : 0u); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_15)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(10816))); @@ -3808,7 +3809,7 @@ L_089C1924: } L_089C1954: aot_gpr_5 = (16968u << 16u); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7676))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); aot_fpr_13 = std::bit_cast(aot_gpr_5); aot_fpr_12 = aot_fpr_12 / aot_fpr_13; aot_gpr_5 = (17530u << 16u); @@ -3824,16 +3825,16 @@ L_089C1954: } L_089C197C: aot_gpr_5 = (16968u << 16u); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7676))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); aot_fpr_13 = std::bit_cast(aot_gpr_5); aot_fpr_12 = aot_fpr_12 / aot_fpr_13; aot_gpr_5 = (17530u << 16u); aot_gpr_6 = (20224u << 16u); ctx.gpr[7] = (32768u << 16u); aot_fpr_14 = std::bit_cast(aot_gpr_5); - ctx.fpr[15] = std::bit_cast(aot_gpr_6); + aot_fpr_15 = std::bit_cast(aot_gpr_6); { const float fs = aot_fpr_12; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - aot_fpr_12 = aot_fpr_12 - ctx.fpr[15]; + aot_fpr_12 = aot_fpr_12 - aot_fpr_15; aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); aot_gpr_5 = (std::bit_cast(aot_fpr_12)); aot_gpr_5 = (aot_gpr_5 + ctx.gpr[7]); @@ -3954,15 +3955,15 @@ L_089C1AA0: aot_gpr_4 = (16968u << 16u); goto L_089C1AA4; L_089C1AA4: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7676))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_12 = aot_fpr_12 / aot_fpr_13; aot_gpr_4 = (17530u << 16u); aot_gpr_6 = (20224u << 16u); aot_fpr_14 = std::bit_cast(aot_gpr_4); - ctx.fpr[15] = std::bit_cast(aot_gpr_6); + aot_fpr_15 = std::bit_cast(aot_gpr_6); { const float fs = aot_fpr_12; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[15])) ? 0x00800000u : 0u); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_15)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(10812))); @@ -3973,7 +3974,7 @@ L_089C1AA4: } L_089C1AD4: aot_gpr_4 = (16968u << 16u); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7676))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_12 = aot_fpr_12 / aot_fpr_13; aot_gpr_4 = (17530u << 16u); @@ -3989,16 +3990,16 @@ L_089C1AD4: } L_089C1AFC: aot_gpr_4 = (16968u << 16u); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7676))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_12 = aot_fpr_12 / aot_fpr_13; aot_gpr_4 = (17530u << 16u); aot_gpr_6 = (20224u << 16u); ctx.gpr[7] = (32768u << 16u); aot_fpr_14 = std::bit_cast(aot_gpr_4); - ctx.fpr[15] = std::bit_cast(aot_gpr_6); + aot_fpr_15 = std::bit_cast(aot_gpr_6); { const float fs = aot_fpr_12; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - aot_fpr_12 = aot_fpr_12 - ctx.fpr[15]; + aot_fpr_12 = aot_fpr_12 - aot_fpr_15; aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[7]); @@ -4006,7 +4007,7 @@ L_089C1AFC: L_089C1B34: aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(10812), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-7080))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7080))); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_4 = (2237u << 16u); if (branch_taken) { @@ -4027,17 +4028,17 @@ L_089C1B48: L_089C1B58: aot_gpr_31 = (0x089C1B60u); aot_gpr_4 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C1B60u) goto L_089C1B60; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C498, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C1B60u) goto L_089C1B60; AOT_REGCACHE_SYNC_OUT(); return; L_089C1B60: aot_gpr_31 = (0x089C1B68u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C1B68u) goto L_089C1B68; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C05C, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C1B68u) goto L_089C1B68; AOT_REGCACHE_SYNC_OUT(); return; L_089C1B68: aot_gpr_31 = (0x089C1B70u); aot_gpr_4 = (0u | 9u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C1B70u) goto L_089C1B70; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C604, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C1B70u) goto L_089C1B70; AOT_REGCACHE_SYNC_OUT(); return; L_089C1B70: aot_gpr_4 = (16156u << 16u); @@ -4071,8 +4072,8 @@ L_089C1BAC: aot_fpr_14 = std::bit_cast(aot_gpr_5); aot_gpr_5 = (17288u << 16u); aot_gpr_31 = (0x089C1BD8u); - ctx.fpr[15] = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C1BD8u) goto L_089C1BD8; + aot_fpr_15 = std::bit_cast(aot_gpr_5); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08873400, 27u, 732u, 0x08873400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C1BD8u) goto L_089C1BD8; AOT_REGCACHE_SYNC_OUT(); return; L_089C1BD8: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); @@ -4087,7 +4088,7 @@ L_089C1BD8: AOT_REGCACHE_SYNC_OUT(); return; L_089C1BF8: aot_gpr_31 = (0x089C1C00u); - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 75u, 0x08B0C580u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C1C00u) goto L_089C1C00; AOT_REGCACHE_SYNC_OUT(); return; L_089C1C00: @@ -4141,7 +4142,7 @@ L_089C1C60: AOT_REGCACHE_SYNC_OUT(); return; L_089C1C78: ctx.gpr[29] = (ctx.gpr[29] + static_cast(-80)); - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(4203))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(4203))); { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(60), aot_run_words); } { const bool branch_taken = aot_gpr_5 == 0u; @@ -4154,7 +4155,7 @@ L_089C1C78: L_089C1C98: aot_gpr_31 = (0x089C1CA0u); aot_gpr_4 = (ctx.gpr[29] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C1CA0u) goto L_089C1CA0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42C4, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C1CA0u) goto L_089C1CA0; AOT_REGCACHE_SYNC_OUT(); return; L_089C1CA0: aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(4), static_cast(0u)); @@ -4168,13 +4169,13 @@ L_089C1CA0: aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(7), static_cast(aot_gpr_4)); aot_gpr_6 = (17288u << 16u); aot_gpr_5 = (ctx.gpr[29] + static_cast(4)); - ctx.fpr[15] = std::bit_cast(aot_gpr_6); + aot_fpr_15 = std::bit_cast(aot_gpr_6); aot_gpr_31 = (0x089C1CD8u); aot_gpr_4 = (ctx.gpr[29] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 63u, 0x08AF4574u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C1CD8u) goto L_089C1CD8; AOT_REGCACHE_SYNC_OUT(); return; L_089C1CD8: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(4204))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(4204))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -4186,7 +4187,7 @@ L_089C1CE4: ctx.gpr[17] = (ctx.gpr[29] + static_cast(8)); aot_gpr_31 = (0x089C1CF0u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C1CF0u) goto L_089C1CF0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42C4, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C1CF0u) goto L_089C1CF0; AOT_REGCACHE_SYNC_OUT(); return; L_089C1CF0: aot_gpr_6 = (17106u << 16u); @@ -4202,7 +4203,7 @@ L_089C1CF0: aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(15), static_cast(aot_gpr_4)); aot_gpr_6 = (17189u << 16u); aot_gpr_5 = (ctx.gpr[29] + static_cast(12)); - ctx.fpr[15] = std::bit_cast(aot_gpr_6); + aot_fpr_15 = std::bit_cast(aot_gpr_6); aot_gpr_31 = (0x089C1D30u); aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 63u, 0x08AF4574u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C1D30u) goto L_089C1D30; @@ -4211,48 +4212,48 @@ L_089C1D30: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089C1D3Cu); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C1D3Cu) goto L_089C1D3C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42D0, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C1D3Cu) goto L_089C1D3C; AOT_REGCACHE_SYNC_OUT(); return; L_089C1D3C: aot_gpr_4 = (0u | 6u); aot_gpr_31 = (0x089C1D48u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C1D48u) goto L_089C1D48; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C1D48u) goto L_089C1D48; AOT_REGCACHE_SYNC_OUT(); return; L_089C1D48: aot_gpr_4 = (0u | 4u); aot_gpr_31 = (0x089C1D54u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C1D54u) goto L_089C1D54; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C1D54u) goto L_089C1D54; AOT_REGCACHE_SYNC_OUT(); return; L_089C1D54: aot_gpr_4 = (0u | 10u); aot_gpr_31 = (0x089C1D60u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C1D60u) goto L_089C1D60; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C1D60u) goto L_089C1D60; AOT_REGCACHE_SYNC_OUT(); return; L_089C1D60: aot_gpr_4 = (0u | 8u); aot_gpr_31 = (0x089C1D6Cu); aot_gpr_5 = (0u | 5u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C1D6Cu) goto L_089C1D6C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C1D6Cu) goto L_089C1D6C; AOT_REGCACHE_SYNC_OUT(); return; L_089C1D6C: aot_gpr_4 = (0u | 9u); aot_gpr_31 = (0x089C1D78u); aot_gpr_5 = (0u | 6u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C1D78u) goto L_089C1D78; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C1D78u) goto L_089C1D78; AOT_REGCACHE_SYNC_OUT(); return; L_089C1D78: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7716))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7716))); aot_gpr_4 = (0u | 1u); aot_gpr_31 = (0x089C1D88u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C1D88u) goto L_089C1D88; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C1D88u) goto L_089C1D88; AOT_REGCACHE_SYNC_OUT(); return; L_089C1D88: aot_gpr_5 = (17530u << 16u); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(4205)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(4205)))))); aot_fpr_13 = std::bit_cast(aot_gpr_5); { const bool branch_taken = static_cast(aot_gpr_4) > 0; aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_13)); @@ -4342,7 +4343,7 @@ L_089C1DFC: L_089C1E0C: ctx.gpr[8] = (16640u << 16u); aot_fpr_14 = std::bit_cast(std::bit_cast(aot_fpr_12)); - ctx.fpr[15] = std::bit_cast(ctx.gpr[8]); + aot_fpr_15 = std::bit_cast(ctx.gpr[8]); ctx.gpr[9] = (16704u << 16u); ctx.gpr[8] = (15786u << 16u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_13)); @@ -4355,13 +4356,13 @@ L_089C1E0C: aot_gpr_6 = (0u | 255u); aot_fpr_14 = std::bit_cast(ctx.gpr[9]); ctx.gpr[7] = (0u | 158u); - ctx.fpr[16] = std::bit_cast(std::bit_cast(ctx.fpr[15])); + ctx.fpr[16] = std::bit_cast(std::bit_cast(aot_fpr_15)); aot_gpr_31 = (0x089C1E54u); ctx.gpr[8] = (0u | 255u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0169_entry, 169u, 81u, 0x08AA9084u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C1E54u) goto L_089C1E54; AOT_REGCACHE_SYNC_OUT(); return; L_089C1E54: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(4208))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(4208))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -4377,10 +4378,10 @@ L_089C1E68: aot_gpr_4 = (ctx.gpr[29] | 0u); aot_gpr_31 = (0x089C1E74u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C1E74u) goto L_089C1E74; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42D0, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C1E74u) goto L_089C1E74; AOT_REGCACHE_SYNC_OUT(); return; L_089C1E74: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(4203))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(4203))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -4389,7 +4390,7 @@ L_089C1E74: goto L_089C1E80; } L_089C1E80: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(4206))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(4206))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -4407,7 +4408,7 @@ L_089C1E8C: goto L_089C1E98; } L_089C1E98: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(4207))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(4207))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -4419,10 +4420,10 @@ L_089C1EA4: aot_gpr_4 = (2237u << 16u); aot_gpr_31 = (0x089C1EB0u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C1EB0u) goto L_089C1EB0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC734, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C1EB0u) goto L_089C1EB0; AOT_REGCACHE_SYNC_OUT(); return; L_089C1EB0: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (static_cast(aot_gpr_4) < 3 ? 1u : 0u); if (aot_gpr_5 == 0u) { aot_gpr_4 = (static_cast(aot_gpr_4) < 4 ? 1u : 0u); @@ -4470,15 +4471,15 @@ L_089C1EE4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 401u, 0x08ADD7A0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C1EF4u) goto L_089C1EF4; AOT_REGCACHE_SYNC_OUT(); return; L_089C1EF4: - aot_gpr_5 = (ctx.gpr[2] + static_cast(-1)); + aot_gpr_5 = (aot_gpr_2 + static_cast(-1)); aot_gpr_5 = (aot_gpr_5 & 65535u); aot_gpr_31 = (0x089C1F04u); aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 154u, 0x08ADC7BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C1F04u) goto L_089C1F04; AOT_REGCACHE_SYNC_OUT(); return; L_089C1F04: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(0))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(0))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); { const bool branch_taken = aot_gpr_5 != 0u; aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(48), aot_gpr_4); if (branch_taken) { @@ -4492,7 +4493,7 @@ L_089C1F14: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 358u, 0x08B65844u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C1F1Cu) goto L_089C1F1C; AOT_REGCACHE_SYNC_OUT(); return; L_089C1F1C: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); ctx.gpr[17] = (aot_gpr_5 + static_cast(6688)); aot_gpr_5 = (17371u << 16u); aot_gpr_5 = (aot_gpr_5 | 32768u); @@ -4505,14 +4506,14 @@ L_089C1F1C: aot_fpr_13 = std::bit_cast(aot_gpr_5); aot_gpr_5 = (17138u << 16u); aot_gpr_31 = (0x089C1F54u); - ctx.fpr[15] = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C1F54u) goto L_089C1F54; + aot_fpr_15 = std::bit_cast(aot_gpr_5); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C1F54u) goto L_089C1F54; AOT_REGCACHE_SYNC_OUT(); return; L_089C1F54: aot_gpr_6 = (ctx.gpr[29] + static_cast(48)); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089C1F64u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 72u, 0x08AF4650u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C1F64u) goto L_089C1F64; AOT_REGCACHE_SYNC_OUT(); return; L_089C1F64: @@ -4524,9 +4525,9 @@ L_089C1F64: goto L_089C1F6C; } L_089C1F6C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); if (aot_gpr_4 != 0u) { - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); goto L_089C1F84; } goto L_089C1F78; @@ -4536,7 +4537,7 @@ L_089C1F78: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 358u, 0x08B65844u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C1F80u) goto L_089C1F80; AOT_REGCACHE_SYNC_OUT(); return; L_089C1F80: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); goto L_089C1F84; L_089C1F84: ctx.gpr[17] = (aot_gpr_5 + static_cast(6688)); @@ -4549,12 +4550,12 @@ L_089C1F84: aot_fpr_14 = std::bit_cast(aot_gpr_5); aot_gpr_5 = (17108u << 16u); aot_gpr_31 = (0x089C1FB0u); - ctx.fpr[15] = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C1FB0u) goto L_089C1FB0; + aot_fpr_15 = std::bit_cast(aot_gpr_5); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C1FB0u) goto L_089C1FB0; AOT_REGCACHE_SYNC_OUT(); return; L_089C1FB0: aot_gpr_4 = (2237u << 16u); - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x089C1FC4u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); @@ -4564,13 +4565,13 @@ L_089C1FC4: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x089C1FD4u); - aot_gpr_6 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 72u, 0x08AF4650u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C1FD4u) goto L_089C1FD4; AOT_REGCACHE_SYNC_OUT(); return; L_089C1FD4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); if (aot_gpr_4 != 0u) { - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); goto L_089C1FEC; } goto L_089C1FE0; @@ -4580,7 +4581,7 @@ L_089C1FE0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 358u, 0x08B65844u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C1FE8u) goto L_089C1FE8; AOT_REGCACHE_SYNC_OUT(); return; L_089C1FE8: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); goto L_089C1FEC; L_089C1FEC: ctx.gpr[17] = (aot_gpr_5 + static_cast(6688)); @@ -4593,12 +4594,12 @@ L_089C1FEC: aot_fpr_14 = std::bit_cast(aot_gpr_5); aot_gpr_5 = (17174u << 16u); aot_gpr_31 = (0x089C2018u); - ctx.fpr[15] = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2018u) goto L_089C2018; + aot_fpr_15 = std::bit_cast(aot_gpr_5); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2018u) goto L_089C2018; AOT_REGCACHE_SYNC_OUT(); return; L_089C2018: aot_gpr_4 = (2237u << 16u); - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 1u); aot_gpr_31 = (0x089C202Cu); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); @@ -4608,11 +4609,11 @@ L_089C202C: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x089C203Cu); - aot_gpr_6 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 72u, 0x08AF4650u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C203Cu) goto L_089C203C; AOT_REGCACHE_SYNC_OUT(); return; L_089C203C: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-7080))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7080))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -4626,7 +4627,7 @@ L_089C2048: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2050u) goto L_089C2050; AOT_REGCACHE_SYNC_OUT(); return; L_089C2050: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089C20CC; @@ -4640,11 +4641,11 @@ L_089C2058: AOT_REGCACHE_SYNC_OUT(); return; L_089C2060: aot_gpr_31 = (0x089C2068u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0081_entry, 81u, 108u, 0x089486DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2068u) goto L_089C2068; AOT_REGCACHE_SYNC_OUT(); return; L_089C2068: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089C20CC; @@ -4658,7 +4659,7 @@ L_089C2070: AOT_REGCACHE_SYNC_OUT(); return; L_089C2078: aot_gpr_31 = (0x089C2080u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0081_entry, 81u, 115u, 0x0894873Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2080u) goto L_089C2080; AOT_REGCACHE_SYNC_OUT(); return; L_089C2080: @@ -4708,7 +4709,7 @@ L_089C20E4: aot_gpr_5 = (2234u << 16u); aot_gpr_4 = (ctx.gpr[29] | 0u); aot_gpr_6 = (0u | 44u); - { const std::uint32_t aot_run_words[9]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21]}; + { const std::uint32_t aot_run_words[9]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21]}; aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(96), aot_run_words); } { const std::uint32_t aot_run_words[3]{ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(136), aot_run_words); } @@ -4719,12 +4720,12 @@ L_089C20E4: L_089C2134: aot_gpr_31 = (0x089C213Cu); aot_gpr_4 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C213Cu) goto L_089C213C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C498, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C213Cu) goto L_089C213C; AOT_REGCACHE_SYNC_OUT(); return; L_089C213C: aot_gpr_31 = (0x089C2144u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2144u) goto L_089C2144; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C05C, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2144u) goto L_089C2144; AOT_REGCACHE_SYNC_OUT(); return; L_089C2144: aot_gpr_4 = (16179u << 16u); @@ -4734,13 +4735,13 @@ L_089C2144: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 68u, 0x08B0C520u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2154u) goto L_089C2154; AOT_REGCACHE_SYNC_OUT(); return; L_089C2154: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-12088))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7660))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-12088))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); aot_gpr_5 = (aot_gpr_4 < static_cast(601) ? 1u : 0u); ctx.gpr[19] = (2237u << 16u); ctx.gpr[21] = (0u | 120u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-12076))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-12076))); { const bool branch_taken = aot_gpr_5 != 0u; ctx.gpr[19] = (ctx.gpr[19] + static_cast(-28736)); if (branch_taken) { @@ -4749,9 +4750,9 @@ L_089C2154: goto L_089C2178; } L_089C2178: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-12080))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-12080))); aot_gpr_5 = (aot_gpr_5 + static_cast(1)); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-12080), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-12080), aot_gpr_5); aot_gpr_5 = (static_cast(aot_gpr_5) < 8 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 != 0u; // nop @@ -4761,34 +4762,34 @@ L_089C2178: goto L_089C2190; } L_089C2190: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-12080), 0u); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-12080), 0u); goto L_089C2194; L_089C2194: aot_gpr_4 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-12076), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-12076), aot_gpr_4); aot_gpr_31 = (0x089C21A4u); aot_gpr_4 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 348u, 0x08ADD468u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C21A4u) goto L_089C21A4; AOT_REGCACHE_SYNC_OUT(); return; L_089C21A4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-12076))); - aot_gpr_6 = (static_cast(aot_gpr_4) < static_cast(ctx.gpr[2]) ? 1u : 0u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-12076))); + aot_gpr_6 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_2) ? 1u : 0u); { const bool branch_taken = aot_gpr_6 != 0u; - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-12084))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-12084))); if (branch_taken) { goto L_089C21BC; } goto L_089C21B4; } L_089C21B4: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-12076), 0u); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-12076), 0u); aot_gpr_4 = (0u | 0u); goto L_089C21BC; L_089C21BC: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7660))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); ctx.gpr[7] = (0u | 2u); { const bool branch_taken = aot_gpr_5 != ctx.gpr[7]; - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-12088), aot_gpr_6); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-12088), aot_gpr_6); if (branch_taken) { goto L_089C21D4; } @@ -4796,7 +4797,7 @@ L_089C21BC: } L_089C21CC: { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-12084), 0u); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-12084), 0u); if (branch_taken) { goto L_089C21DC; } @@ -4804,7 +4805,7 @@ L_089C21CC: } L_089C21D4: aot_gpr_5 = (aot_gpr_5 + static_cast(1)); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-12084), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-12084), aot_gpr_5); goto L_089C21DC; L_089C21DC: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(100))); @@ -4822,7 +4823,7 @@ L_089C21EC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 348u, 0x08ADD468u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C21F4u) goto L_089C21F4; AOT_REGCACHE_SYNC_OUT(); return; L_089C21F4: - aot_gpr_4 = (static_cast(ctx.gpr[2]) < 2 ? 1u : 0u); + aot_gpr_4 = (static_cast(aot_gpr_2) < 2 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -4831,16 +4832,16 @@ L_089C21F4: goto L_089C2200; } L_089C2200: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-12076))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-12076))); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (aot_gpr_5 + static_cast(1)); aot_gpr_31 = (0x089C2214u); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-12076), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-12076), aot_gpr_5); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 348u, 0x08ADD468u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2214u) goto L_089C2214; AOT_REGCACHE_SYNC_OUT(); return; L_089C2214: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-12076))); - aot_gpr_4 = (static_cast(aot_gpr_4) < static_cast(ctx.gpr[2]) ? 1u : 0u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-12076))); + aot_gpr_4 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_2) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -4849,15 +4850,15 @@ L_089C2214: goto L_089C2224; } L_089C2224: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-12076), 0u); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-12076), 0u); goto L_089C2228; L_089C2228: aot_gpr_31 = (0x089C2230u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2230u) goto L_089C2230; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC734, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2230u) goto L_089C2230; AOT_REGCACHE_SYNC_OUT(); return; L_089C2230: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (aot_gpr_4 < static_cast(10) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; // nop @@ -4878,12 +4879,12 @@ L_089C2240: ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_089C2258: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); - ctx.gpr[30] = (aot_gpr_28 + static_cast(-12072)); - ctx.gpr[23] = (aot_gpr_28 + static_cast(-12064)); - ctx.gpr[20] = (aot_gpr_28 + static_cast(-12056)); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); + ctx.gpr[30] = (ctx.gpr[28] + static_cast(-12072)); + ctx.gpr[23] = (ctx.gpr[28] + static_cast(-12064)); + ctx.gpr[20] = (ctx.gpr[28] + static_cast(-12056)); { const bool branch_taken = aot_gpr_16 != 0u; - ctx.gpr[18] = (aot_gpr_28 + static_cast(-12048)); + ctx.gpr[18] = (ctx.gpr[28] + static_cast(-12048)); if (branch_taken) { goto L_089C227C; } @@ -4895,7 +4896,7 @@ L_089C2270: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 358u, 0x08B65844u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2278u) goto L_089C2278; AOT_REGCACHE_SYNC_OUT(); return; L_089C2278: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); goto L_089C227C; L_089C227C: ctx.gpr[10] = (17136u << 16u); @@ -4912,7 +4913,7 @@ L_089C227C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0002_entry, 2u, 367u, 0x0880D7F8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C22A8u) goto L_089C22A8; AOT_REGCACHE_SYNC_OUT(); return; L_089C22A8: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); { const bool branch_taken = aot_gpr_16 != 0u; aot_gpr_4 = (aot_gpr_16 | 0u); if (branch_taken) { @@ -4927,7 +4928,7 @@ L_089C22B4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C22C0u) goto L_089C22C0; AOT_REGCACHE_SYNC_OUT(); return; L_089C22C0: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { @@ -4938,13 +4939,13 @@ L_089C22C0: L_089C22CC: aot_gpr_31 = (0x089C22D4u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C22D4u) goto L_089C22D4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C22D4u) goto L_089C22D4; AOT_REGCACHE_SYNC_OUT(); return; L_089C22D4: aot_gpr_16 = (ctx.gpr[17] | 0u); goto L_089C22D8; L_089C22D8: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); aot_gpr_4 = (aot_gpr_16 | 0u); goto L_089C22E0; L_089C22E0: @@ -4956,11 +4957,11 @@ L_089C22E8: aot_gpr_5 = (0u | 130u); aot_gpr_6 = (0u | 154u); aot_gpr_31 = (0x089C22F8u); - aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C22F8u) goto L_089C22F8; + aot_gpr_4 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C22F8u) goto L_089C22F8; AOT_REGCACHE_SYNC_OUT(); return; L_089C22F8: - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-12084))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-12084))); aot_gpr_6 = (0u | 175u); ctx.gpr[8] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); aot_gpr_4 = (ctx.gpr[22] | 0u); @@ -4969,7 +4970,7 @@ L_089C22F8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0110_entry, 110u, 156u, 0x089BCC20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2310u) goto L_089C2310; AOT_REGCACHE_SYNC_OUT(); return; L_089C2310: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); { const bool branch_taken = aot_gpr_16 != 0u; ctx.gpr[30] = (0u | 168u); if (branch_taken) { @@ -4984,7 +4985,7 @@ L_089C231C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2328u) goto L_089C2328; AOT_REGCACHE_SYNC_OUT(); return; L_089C2328: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { @@ -4995,13 +4996,13 @@ L_089C2328: L_089C2334: aot_gpr_31 = (0x089C233Cu); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C233Cu) goto L_089C233C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C233Cu) goto L_089C233C; AOT_REGCACHE_SYNC_OUT(); return; L_089C233C: aot_gpr_16 = (ctx.gpr[17] | 0u); goto L_089C2340; L_089C2340: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); goto L_089C2344; L_089C2344: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -5011,13 +5012,13 @@ L_089C2344: AOT_REGCACHE_SYNC_OUT(); return; L_089C2350: aot_gpr_5 = (0u | 130u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x089C2360u); aot_gpr_6 = (ctx.gpr[30] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2360u) goto L_089C2360; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2360u) goto L_089C2360; AOT_REGCACHE_SYNC_OUT(); return; L_089C2360: - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-12084))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-12084))); aot_gpr_6 = (0u | 189u); ctx.gpr[8] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); aot_gpr_4 = (ctx.gpr[22] | 0u); @@ -5026,7 +5027,7 @@ L_089C2360: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0110_entry, 110u, 156u, 0x089BCC20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2378u) goto L_089C2378; AOT_REGCACHE_SYNC_OUT(); return; L_089C2378: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); { const bool branch_taken = aot_gpr_16 != 0u; ctx.gpr[30] = (0u | 182u); if (branch_taken) { @@ -5041,7 +5042,7 @@ L_089C2384: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2390u) goto L_089C2390; AOT_REGCACHE_SYNC_OUT(); return; L_089C2390: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { @@ -5052,13 +5053,13 @@ L_089C2390: L_089C239C: aot_gpr_31 = (0x089C23A4u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C23A4u) goto L_089C23A4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C23A4u) goto L_089C23A4; AOT_REGCACHE_SYNC_OUT(); return; L_089C23A4: aot_gpr_16 = (ctx.gpr[17] | 0u); goto L_089C23A8; L_089C23A8: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); goto L_089C23AC; L_089C23AC: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -5068,14 +5069,14 @@ L_089C23AC: AOT_REGCACHE_SYNC_OUT(); return; L_089C23B8: aot_gpr_5 = (0u | 130u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x089C23C8u); aot_gpr_6 = (ctx.gpr[30] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C23C8u) goto L_089C23C8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C23C8u) goto L_089C23C8; AOT_REGCACHE_SYNC_OUT(); return; L_089C23C8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-12080))); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-12084))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-12080))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-12084))); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (ctx.gpr[29] + aot_gpr_4); ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); @@ -5086,7 +5087,7 @@ L_089C23C8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0110_entry, 110u, 156u, 0x089BCC20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C23ECu) goto L_089C23EC; AOT_REGCACHE_SYNC_OUT(); return; L_089C23EC: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); { const bool branch_taken = aot_gpr_16 != 0u; aot_gpr_4 = (aot_gpr_16 | 0u); if (branch_taken) { @@ -5101,7 +5102,7 @@ L_089C23F8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2404u) goto L_089C2404; AOT_REGCACHE_SYNC_OUT(); return; L_089C2404: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { @@ -5112,13 +5113,13 @@ L_089C2404: L_089C2410: aot_gpr_31 = (0x089C2418u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2418u) goto L_089C2418; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2418u) goto L_089C2418; AOT_REGCACHE_SYNC_OUT(); return; L_089C2418: aot_gpr_16 = (ctx.gpr[17] | 0u); goto L_089C241C; L_089C241C: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); aot_gpr_4 = (aot_gpr_16 | 0u); goto L_089C2424; L_089C2424: @@ -5130,8 +5131,8 @@ L_089C242C: aot_gpr_5 = (0u | 250u); aot_gpr_6 = (0u | 154u); aot_gpr_31 = (0x089C243Cu); - aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C243Cu) goto L_089C243C; + aot_gpr_4 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C243Cu) goto L_089C243C; AOT_REGCACHE_SYNC_OUT(); return; L_089C243C: aot_gpr_31 = (0x089C2444u); @@ -5139,7 +5140,7 @@ L_089C243C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 348u, 0x08ADD468u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2444u) goto L_089C2444; AOT_REGCACHE_SYNC_OUT(); return; L_089C2444: - aot_gpr_4 = (static_cast(ctx.gpr[2]) < 2 ? 1u : 0u); + aot_gpr_4 = (static_cast(aot_gpr_2) < 2 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -5155,25 +5156,25 @@ L_089C2450: aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); aot_gpr_5 = (17264u << 16u); ctx.gpr[21] = (0u | 168u); - aot_fpr_20 = std::bit_cast(aot_gpr_5); + ctx.fpr[20] = std::bit_cast(aot_gpr_5); aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 != 0u; - ctx.gpr[20] = (aot_gpr_28 + static_cast(-12040)); + ctx.gpr[20] = (ctx.gpr[28] + static_cast(-12040)); if (branch_taken) { goto L_089C2524; } goto L_089C247C; } L_089C247C: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-12076))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-12076))); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x089C248Cu); aot_gpr_5 = (aot_gpr_5 & 255u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 167u, 0x08ADC88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C248Cu) goto L_089C248C; AOT_REGCACHE_SYNC_OUT(); return; L_089C248C: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(0))); - ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(0))); + ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); { const bool branch_taken = ctx.gpr[19] != 0u; aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(44), aot_gpr_4); if (branch_taken) { @@ -5187,11 +5188,11 @@ L_089C249C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 358u, 0x08B65844u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C24A4u) goto L_089C24A4; AOT_REGCACHE_SYNC_OUT(); return; L_089C24A4: - ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); goto L_089C24A8; L_089C24A8: aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(47))); - aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); + aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(44))); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[22])); ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(45))); @@ -5202,7 +5203,7 @@ L_089C24A8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0002_entry, 2u, 367u, 0x0880D7F8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C24CCu) goto L_089C24CC; AOT_REGCACHE_SYNC_OUT(); return; L_089C24CC: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); { const bool branch_taken = aot_gpr_16 != 0u; aot_gpr_4 = (aot_gpr_16 | 0u); if (branch_taken) { @@ -5217,7 +5218,7 @@ L_089C24D8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C24E4u) goto L_089C24E4; AOT_REGCACHE_SYNC_OUT(); return; L_089C24E4: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { @@ -5228,13 +5229,13 @@ L_089C24E4: L_089C24F0: aot_gpr_31 = (0x089C24F8u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C24F8u) goto L_089C24F8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C24F8u) goto L_089C24F8; AOT_REGCACHE_SYNC_OUT(); return; L_089C24F8: aot_gpr_16 = (ctx.gpr[17] | 0u); goto L_089C24FC; L_089C24FC: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); aot_gpr_4 = (aot_gpr_16 | 0u); goto L_089C2504; L_089C2504: @@ -5244,10 +5245,10 @@ L_089C2504: AOT_REGCACHE_SYNC_OUT(); return; L_089C250C: aot_gpr_5 = (0u | 250u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x089C251Cu); aot_gpr_6 = (ctx.gpr[21] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C251Cu) goto L_089C251C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C251Cu) goto L_089C251C; AOT_REGCACHE_SYNC_OUT(); return; L_089C251C: { const bool branch_taken = 0u == 0u; @@ -5266,8 +5267,8 @@ L_089C2524: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 101u, 0x08ADC560u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2538u) goto L_089C2538; AOT_REGCACHE_SYNC_OUT(); return; L_089C2538: - { const bool branch_taken = ctx.gpr[2] != 0u; - ctx.gpr[18] = (aot_gpr_28 + static_cast(-12032)); + { const bool branch_taken = aot_gpr_2 != 0u; + ctx.gpr[18] = (ctx.gpr[28] + static_cast(-12032)); if (branch_taken) { goto L_089C2544; } @@ -5283,8 +5284,8 @@ L_089C2544: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 154u, 0x08ADC7BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2550u) goto L_089C2550; AOT_REGCACHE_SYNC_OUT(); return; L_089C2550: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(0))); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(0))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); { const bool branch_taken = aot_gpr_16 != 0u; aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(48), aot_gpr_4); if (branch_taken) { @@ -5298,11 +5299,11 @@ L_089C2560: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 358u, 0x08B65844u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2568u) goto L_089C2568; AOT_REGCACHE_SYNC_OUT(); return; L_089C2568: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); goto L_089C256C; L_089C256C: aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(51))); - aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); + aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(48))); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[22])); ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(49))); @@ -5313,7 +5314,7 @@ L_089C256C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0002_entry, 2u, 367u, 0x0880D7F8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2590u) goto L_089C2590; AOT_REGCACHE_SYNC_OUT(); return; L_089C2590: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); { const bool branch_taken = aot_gpr_16 != 0u; aot_gpr_4 = (aot_gpr_16 | 0u); if (branch_taken) { @@ -5328,7 +5329,7 @@ L_089C259C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C25A8u) goto L_089C25A8; AOT_REGCACHE_SYNC_OUT(); return; L_089C25A8: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { @@ -5339,13 +5340,13 @@ L_089C25A8: L_089C25B4: aot_gpr_31 = (0x089C25BCu); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C25BCu) goto L_089C25BC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C25BCu) goto L_089C25BC; AOT_REGCACHE_SYNC_OUT(); return; L_089C25BC: aot_gpr_16 = (ctx.gpr[17] | 0u); goto L_089C25C0; L_089C25C0: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); aot_gpr_4 = (aot_gpr_16 | 0u); goto L_089C25C8; L_089C25C8: @@ -5355,10 +5356,10 @@ L_089C25C8: AOT_REGCACHE_SYNC_OUT(); return; L_089C25D0: aot_gpr_5 = (0u | 250u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x089C25E0u); aot_gpr_6 = (ctx.gpr[21] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C25E0u) goto L_089C25E0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C25E0u) goto L_089C25E0; AOT_REGCACHE_SYNC_OUT(); return; L_089C25E0: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(100))); @@ -5370,20 +5371,20 @@ L_089C25E0: L_089C25F0: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x089C25FCu); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 154u, 0x08ADC7BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C25FCu) goto L_089C25FC; AOT_REGCACHE_SYNC_OUT(); return; L_089C25FC: - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(0))); aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(48), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(1))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(1))); aot_gpr_5 = (17213u << 16u); aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(49), static_cast(aot_gpr_4)); ctx.fpr[22] = std::bit_cast(aot_gpr_5); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(2))); - ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(2))); + ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(50), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(3))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(3))); ctx.gpr[21] = (0u | 182u); { const bool branch_taken = ctx.gpr[19] != 0u; aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(51), static_cast(aot_gpr_4)); @@ -5398,11 +5399,11 @@ L_089C2630: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 358u, 0x08B65844u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2638u) goto L_089C2638; AOT_REGCACHE_SYNC_OUT(); return; L_089C2638: - ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); goto L_089C263C; L_089C263C: aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(51))); - aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); + aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(48))); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[22])); ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(49))); @@ -5413,7 +5414,7 @@ L_089C263C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0002_entry, 2u, 367u, 0x0880D7F8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2660u) goto L_089C2660; AOT_REGCACHE_SYNC_OUT(); return; L_089C2660: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); { const bool branch_taken = aot_gpr_16 != 0u; aot_gpr_4 = (aot_gpr_16 | 0u); if (branch_taken) { @@ -5428,7 +5429,7 @@ L_089C266C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2678u) goto L_089C2678; AOT_REGCACHE_SYNC_OUT(); return; L_089C2678: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { @@ -5439,13 +5440,13 @@ L_089C2678: L_089C2684: aot_gpr_31 = (0x089C268Cu); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C268Cu) goto L_089C268C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C268Cu) goto L_089C268C; AOT_REGCACHE_SYNC_OUT(); return; L_089C268C: aot_gpr_16 = (ctx.gpr[17] | 0u); goto L_089C2690; L_089C2690: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); aot_gpr_4 = (aot_gpr_16 | 0u); goto L_089C2698; L_089C2698: @@ -5455,10 +5456,10 @@ L_089C2698: AOT_REGCACHE_SYNC_OUT(); return; L_089C26A0: aot_gpr_5 = (0u | 250u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x089C26B0u); aot_gpr_6 = (ctx.gpr[21] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C26B0u) goto L_089C26B0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C26B0u) goto L_089C26B0; AOT_REGCACHE_SYNC_OUT(); return; L_089C26B0: { const bool branch_taken = 0u == 0u; @@ -5469,9 +5470,9 @@ L_089C26B0: goto L_089C26B8; } L_089C26B8: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); { const bool branch_taken = aot_gpr_16 != 0u; - ctx.gpr[20] = (aot_gpr_28 + static_cast(-12072)); + ctx.gpr[20] = (ctx.gpr[28] + static_cast(-12072)); if (branch_taken) { goto L_089C26D0; } @@ -5483,7 +5484,7 @@ L_089C26C4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 358u, 0x08B65844u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C26CCu) goto L_089C26CC; AOT_REGCACHE_SYNC_OUT(); return; L_089C26CC: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); goto L_089C26D0; L_089C26D0: ctx.gpr[9] = (17136u << 16u); @@ -5501,9 +5502,9 @@ L_089C26D0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0002_entry, 2u, 367u, 0x0880D7F8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2700u) goto L_089C2700; AOT_REGCACHE_SYNC_OUT(); return; L_089C2700: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); { const bool branch_taken = aot_gpr_16 != 0u; - aot_gpr_5 = (aot_gpr_28 + static_cast(-12024)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-12024)); if (branch_taken) { goto L_089C2738; } @@ -5516,7 +5517,7 @@ L_089C270C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2718u) goto L_089C2718; AOT_REGCACHE_SYNC_OUT(); return; L_089C2718: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { @@ -5527,14 +5528,14 @@ L_089C2718: L_089C2724: aot_gpr_31 = (0x089C272Cu); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C272Cu) goto L_089C272C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C272Cu) goto L_089C272C; AOT_REGCACHE_SYNC_OUT(); return; L_089C272C: aot_gpr_16 = (ctx.gpr[17] | 0u); goto L_089C2730; L_089C2730: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); - aot_gpr_5 = (aot_gpr_28 + static_cast(-12024)); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-12024)); goto L_089C2738; L_089C2738: aot_gpr_31 = (0x089C2740u); @@ -5545,13 +5546,13 @@ L_089C2740: aot_gpr_5 = (0u | 130u); aot_gpr_6 = (0u | 154u); aot_gpr_31 = (0x089C2750u); - aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2750u) goto L_089C2750; + aot_gpr_4 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2750u) goto L_089C2750; AOT_REGCACHE_SYNC_OUT(); return; L_089C2750: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); aot_gpr_4 = (17199u << 16u); - aot_fpr_20 = std::bit_cast(aot_gpr_4); + ctx.fpr[20] = std::bit_cast(aot_gpr_4); { const bool branch_taken = aot_gpr_16 != 0u; ctx.gpr[18] = (0u | 168u); if (branch_taken) { @@ -5565,13 +5566,13 @@ L_089C2764: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 358u, 0x08B65844u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C276Cu) goto L_089C276C; AOT_REGCACHE_SYNC_OUT(); return; L_089C276C: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); goto L_089C2770; L_089C2770: aot_gpr_4 = (aot_gpr_16 | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[22])); aot_gpr_5 = (0u | 14u); - aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); + aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_gpr_6 = (0u | 255u); ctx.gpr[7] = (0u | 110u); ctx.gpr[8] = (0u | 16u); @@ -5580,9 +5581,9 @@ L_089C2770: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0002_entry, 2u, 367u, 0x0880D7F8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2794u) goto L_089C2794; AOT_REGCACHE_SYNC_OUT(); return; L_089C2794: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); { const bool branch_taken = aot_gpr_16 != 0u; - aot_gpr_5 = (aot_gpr_28 + static_cast(-12016)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-12016)); if (branch_taken) { goto L_089C27CC; } @@ -5595,7 +5596,7 @@ L_089C27A0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C27ACu) goto L_089C27AC; AOT_REGCACHE_SYNC_OUT(); return; L_089C27AC: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { @@ -5606,14 +5607,14 @@ L_089C27AC: L_089C27B8: aot_gpr_31 = (0x089C27C0u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C27C0u) goto L_089C27C0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C27C0u) goto L_089C27C0; AOT_REGCACHE_SYNC_OUT(); return; L_089C27C0: aot_gpr_16 = (ctx.gpr[17] | 0u); goto L_089C27C4; L_089C27C4: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); - aot_gpr_5 = (aot_gpr_28 + static_cast(-12016)); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-12016)); goto L_089C27CC; L_089C27CC: aot_gpr_31 = (0x089C27D4u); @@ -5622,15 +5623,15 @@ L_089C27CC: AOT_REGCACHE_SYNC_OUT(); return; L_089C27D4: aot_gpr_5 = (0u | 130u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x089C27E4u); aot_gpr_6 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C27E4u) goto L_089C27E4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C27E4u) goto L_089C27E4; AOT_REGCACHE_SYNC_OUT(); return; L_089C27E4: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); aot_gpr_4 = (17213u << 16u); - aot_fpr_20 = std::bit_cast(aot_gpr_4); + ctx.fpr[20] = std::bit_cast(aot_gpr_4); { const bool branch_taken = aot_gpr_16 != 0u; ctx.gpr[18] = (0u | 182u); if (branch_taken) { @@ -5644,13 +5645,13 @@ L_089C27F8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 358u, 0x08B65844u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2800u) goto L_089C2800; AOT_REGCACHE_SYNC_OUT(); return; L_089C2800: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); goto L_089C2804; L_089C2804: aot_gpr_4 = (aot_gpr_16 | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[22])); aot_gpr_5 = (0u | 14u); - aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); + aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_gpr_6 = (0u | 255u); ctx.gpr[7] = (0u | 75u); ctx.gpr[8] = (0u | 151u); @@ -5659,9 +5660,9 @@ L_089C2804: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0002_entry, 2u, 367u, 0x0880D7F8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2828u) goto L_089C2828; AOT_REGCACHE_SYNC_OUT(); return; L_089C2828: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); { const bool branch_taken = aot_gpr_16 != 0u; - aot_gpr_5 = (aot_gpr_28 + static_cast(-12008)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-12008)); if (branch_taken) { goto L_089C2860; } @@ -5674,7 +5675,7 @@ L_089C2834: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2840u) goto L_089C2840; AOT_REGCACHE_SYNC_OUT(); return; L_089C2840: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { @@ -5685,14 +5686,14 @@ L_089C2840: L_089C284C: aot_gpr_31 = (0x089C2854u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2854u) goto L_089C2854; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2854u) goto L_089C2854; AOT_REGCACHE_SYNC_OUT(); return; L_089C2854: aot_gpr_16 = (ctx.gpr[17] | 0u); goto L_089C2858; L_089C2858: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); - aot_gpr_5 = (aot_gpr_28 + static_cast(-12008)); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-12008)); goto L_089C2860; L_089C2860: aot_gpr_31 = (0x089C2868u); @@ -5701,13 +5702,13 @@ L_089C2860: AOT_REGCACHE_SYNC_OUT(); return; L_089C2868: aot_gpr_5 = (0u | 130u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x089C2878u); aot_gpr_6 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2878u) goto L_089C2878; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2878u) goto L_089C2878; AOT_REGCACHE_SYNC_OUT(); return; L_089C2878: - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-12084))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-12084))); aot_gpr_5 = (0u | 240u); aot_gpr_6 = (0u | 161u); ctx.gpr[8] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(40))); @@ -5716,7 +5717,7 @@ L_089C2878: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0110_entry, 110u, 156u, 0x089BCC20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2890u) goto L_089C2890; AOT_REGCACHE_SYNC_OUT(); return; L_089C2890: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); { const bool branch_taken = aot_gpr_16 != 0u; aot_gpr_4 = (aot_gpr_16 | 0u); if (branch_taken) { @@ -5731,7 +5732,7 @@ L_089C289C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C28A8u) goto L_089C28A8; AOT_REGCACHE_SYNC_OUT(); return; L_089C28A8: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { @@ -5742,13 +5743,13 @@ L_089C28A8: L_089C28B4: aot_gpr_31 = (0x089C28BCu); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C28BCu) goto L_089C28BC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C28BCu) goto L_089C28BC; AOT_REGCACHE_SYNC_OUT(); return; L_089C28BC: aot_gpr_16 = (ctx.gpr[17] | 0u); goto L_089C28C0; L_089C28C0: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); aot_gpr_4 = (aot_gpr_16 | 0u); goto L_089C28C8; L_089C28C8: @@ -5760,8 +5761,8 @@ L_089C28D0: aot_gpr_5 = (0u | 250u); aot_gpr_6 = (0u | 154u); aot_gpr_31 = (0x089C28E0u); - aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C28E0u) goto L_089C28E0; + aot_gpr_4 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C28E0u) goto L_089C28E0; AOT_REGCACHE_SYNC_OUT(); return; L_089C28E0: aot_gpr_31 = (0x089C28E8u); @@ -5769,7 +5770,7 @@ L_089C28E0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 348u, 0x08ADD468u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C28E8u) goto L_089C28E8; AOT_REGCACHE_SYNC_OUT(); return; L_089C28E8: - aot_gpr_4 = (static_cast(ctx.gpr[2]) < 2 ? 1u : 0u); + aot_gpr_4 = (static_cast(aot_gpr_2) < 2 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -5778,18 +5779,18 @@ L_089C28E8: goto L_089C28F4; } L_089C28F4: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-12076))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-12076))); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x089C2904u); aot_gpr_5 = (aot_gpr_5 & 255u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 167u, 0x08ADC88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2904u) goto L_089C2904; AOT_REGCACHE_SYNC_OUT(); return; L_089C2904: - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(0))); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(52), aot_gpr_5); aot_gpr_5 = (17199u << 16u); - aot_fpr_20 = std::bit_cast(aot_gpr_5); + ctx.fpr[20] = std::bit_cast(aot_gpr_5); { const bool branch_taken = aot_gpr_4 != 0u; ctx.gpr[19] = (0u | 168u); if (branch_taken) { @@ -5803,11 +5804,11 @@ L_089C2920: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 358u, 0x08B65844u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2928u) goto L_089C2928; AOT_REGCACHE_SYNC_OUT(); return; L_089C2928: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); goto L_089C292C; L_089C292C: aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(55))); - aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); + aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[20])); ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(52))); ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(53))); ctx.gpr[10] = (17264u << 16u); @@ -5818,9 +5819,9 @@ L_089C292C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0002_entry, 2u, 367u, 0x0880D7F8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2950u) goto L_089C2950; AOT_REGCACHE_SYNC_OUT(); return; L_089C2950: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); { const bool branch_taken = aot_gpr_16 != 0u; - aot_gpr_5 = (aot_gpr_28 + static_cast(-12000)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-12000)); if (branch_taken) { goto L_089C2988; } @@ -5833,7 +5834,7 @@ L_089C295C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2968u) goto L_089C2968; AOT_REGCACHE_SYNC_OUT(); return; L_089C2968: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { @@ -5844,14 +5845,14 @@ L_089C2968: L_089C2974: aot_gpr_31 = (0x089C297Cu); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C297Cu) goto L_089C297C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C297Cu) goto L_089C297C; AOT_REGCACHE_SYNC_OUT(); return; L_089C297C: aot_gpr_16 = (ctx.gpr[17] | 0u); goto L_089C2980; L_089C2980: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); - aot_gpr_5 = (aot_gpr_28 + static_cast(-12000)); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-12000)); goto L_089C2988; L_089C2988: aot_gpr_31 = (0x089C2990u); @@ -5860,10 +5861,10 @@ L_089C2988: AOT_REGCACHE_SYNC_OUT(); return; L_089C2990: aot_gpr_5 = (0u | 250u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x089C29A0u); aot_gpr_6 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C29A0u) goto L_089C29A0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C29A0u) goto L_089C29A0; AOT_REGCACHE_SYNC_OUT(); return; L_089C29A0: { const bool branch_taken = 0u == 0u; @@ -5874,12 +5875,12 @@ L_089C29A0: goto L_089C29A8; } L_089C29A8: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); - ctx.gpr[30] = (aot_gpr_28 + static_cast(-12072)); - ctx.gpr[23] = (aot_gpr_28 + static_cast(-12064)); - ctx.gpr[20] = (aot_gpr_28 + static_cast(-12056)); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); + ctx.gpr[30] = (ctx.gpr[28] + static_cast(-12072)); + ctx.gpr[23] = (ctx.gpr[28] + static_cast(-12064)); + ctx.gpr[20] = (ctx.gpr[28] + static_cast(-12056)); { const bool branch_taken = aot_gpr_16 != 0u; - ctx.gpr[18] = (aot_gpr_28 + static_cast(-12048)); + ctx.gpr[18] = (ctx.gpr[28] + static_cast(-12048)); if (branch_taken) { goto L_089C29CC; } @@ -5891,14 +5892,14 @@ L_089C29C0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 358u, 0x08B65844u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C29C8u) goto L_089C29C8; AOT_REGCACHE_SYNC_OUT(); return; L_089C29C8: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); goto L_089C29CC; L_089C29CC: ctx.gpr[9] = (17185u << 16u); - aot_fpr_20 = std::bit_cast(ctx.gpr[9]); + ctx.fpr[20] = std::bit_cast(ctx.gpr[9]); ctx.gpr[10] = (17136u << 16u); aot_gpr_4 = (aot_gpr_16 | 0u); - aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); + aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_gpr_5 = (0u | 12u); aot_fpr_12 = std::bit_cast(ctx.gpr[10]); aot_gpr_6 = (0u | 255u); @@ -5909,7 +5910,7 @@ L_089C29CC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0002_entry, 2u, 367u, 0x0880D7F8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C29FCu) goto L_089C29FC; AOT_REGCACHE_SYNC_OUT(); return; L_089C29FC: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); { const bool branch_taken = aot_gpr_16 != 0u; aot_gpr_4 = (aot_gpr_16 | 0u); if (branch_taken) { @@ -5924,7 +5925,7 @@ L_089C2A08: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2A14u) goto L_089C2A14; AOT_REGCACHE_SYNC_OUT(); return; L_089C2A14: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { @@ -5935,13 +5936,13 @@ L_089C2A14: L_089C2A20: aot_gpr_31 = (0x089C2A28u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2A28u) goto L_089C2A28; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2A28u) goto L_089C2A28; AOT_REGCACHE_SYNC_OUT(); return; L_089C2A28: aot_gpr_16 = (ctx.gpr[17] | 0u); goto L_089C2A2C; L_089C2A2C: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); aot_gpr_4 = (aot_gpr_16 | 0u); goto L_089C2A34; L_089C2A34: @@ -5953,11 +5954,11 @@ L_089C2A3C: aot_gpr_5 = (0u | 130u); aot_gpr_6 = (0u | 154u); aot_gpr_31 = (0x089C2A4Cu); - aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2A4Cu) goto L_089C2A4C; + aot_gpr_4 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2A4Cu) goto L_089C2A4C; AOT_REGCACHE_SYNC_OUT(); return; L_089C2A4C: - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-12084))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-12084))); aot_gpr_6 = (0u | 175u); ctx.gpr[8] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); aot_gpr_4 = (ctx.gpr[22] | 0u); @@ -5966,7 +5967,7 @@ L_089C2A4C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0110_entry, 110u, 156u, 0x089BCC20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2A64u) goto L_089C2A64; AOT_REGCACHE_SYNC_OUT(); return; L_089C2A64: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); { const bool branch_taken = aot_gpr_16 != 0u; ctx.gpr[30] = (0u | 168u); if (branch_taken) { @@ -5981,7 +5982,7 @@ L_089C2A70: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2A7Cu) goto L_089C2A7C; AOT_REGCACHE_SYNC_OUT(); return; L_089C2A7C: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { @@ -5992,13 +5993,13 @@ L_089C2A7C: L_089C2A88: aot_gpr_31 = (0x089C2A90u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2A90u) goto L_089C2A90; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2A90u) goto L_089C2A90; AOT_REGCACHE_SYNC_OUT(); return; L_089C2A90: aot_gpr_16 = (ctx.gpr[17] | 0u); goto L_089C2A94; L_089C2A94: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); goto L_089C2A98; L_089C2A98: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -6008,13 +6009,13 @@ L_089C2A98: AOT_REGCACHE_SYNC_OUT(); return; L_089C2AA4: aot_gpr_5 = (0u | 130u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x089C2AB4u); aot_gpr_6 = (ctx.gpr[30] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2AB4u) goto L_089C2AB4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2AB4u) goto L_089C2AB4; AOT_REGCACHE_SYNC_OUT(); return; L_089C2AB4: - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-12084))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-12084))); aot_gpr_6 = (0u | 189u); ctx.gpr[8] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); aot_gpr_4 = (ctx.gpr[22] | 0u); @@ -6023,7 +6024,7 @@ L_089C2AB4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0110_entry, 110u, 156u, 0x089BCC20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2ACCu) goto L_089C2ACC; AOT_REGCACHE_SYNC_OUT(); return; L_089C2ACC: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); { const bool branch_taken = aot_gpr_16 != 0u; ctx.gpr[30] = (0u | 182u); if (branch_taken) { @@ -6038,7 +6039,7 @@ L_089C2AD8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2AE4u) goto L_089C2AE4; AOT_REGCACHE_SYNC_OUT(); return; L_089C2AE4: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { @@ -6049,13 +6050,13 @@ L_089C2AE4: L_089C2AF0: aot_gpr_31 = (0x089C2AF8u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2AF8u) goto L_089C2AF8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2AF8u) goto L_089C2AF8; AOT_REGCACHE_SYNC_OUT(); return; L_089C2AF8: aot_gpr_16 = (ctx.gpr[17] | 0u); goto L_089C2AFC; L_089C2AFC: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); goto L_089C2B00; L_089C2B00: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -6065,14 +6066,14 @@ L_089C2B00: AOT_REGCACHE_SYNC_OUT(); return; L_089C2B0C: aot_gpr_5 = (0u | 130u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x089C2B1Cu); aot_gpr_6 = (ctx.gpr[30] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2B1Cu) goto L_089C2B1C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2B1Cu) goto L_089C2B1C; AOT_REGCACHE_SYNC_OUT(); return; L_089C2B1C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-12080))); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-12084))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-12080))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-12084))); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (ctx.gpr[29] + aot_gpr_4); ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); @@ -6083,7 +6084,7 @@ L_089C2B1C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0110_entry, 110u, 156u, 0x089BCC20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2B40u) goto L_089C2B40; AOT_REGCACHE_SYNC_OUT(); return; L_089C2B40: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); { const bool branch_taken = aot_gpr_16 != 0u; ctx.gpr[30] = (0u | 196u); if (branch_taken) { @@ -6098,7 +6099,7 @@ L_089C2B4C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2B58u) goto L_089C2B58; AOT_REGCACHE_SYNC_OUT(); return; L_089C2B58: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { @@ -6109,13 +6110,13 @@ L_089C2B58: L_089C2B64: aot_gpr_31 = (0x089C2B6Cu); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2B6Cu) goto L_089C2B6C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2B6Cu) goto L_089C2B6C; AOT_REGCACHE_SYNC_OUT(); return; L_089C2B6C: aot_gpr_16 = (ctx.gpr[17] | 0u); goto L_089C2B70; L_089C2B70: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); goto L_089C2B74; L_089C2B74: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -6125,10 +6126,10 @@ L_089C2B74: AOT_REGCACHE_SYNC_OUT(); return; L_089C2B80: aot_gpr_5 = (0u | 130u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x089C2B90u); aot_gpr_6 = (ctx.gpr[30] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2B90u) goto L_089C2B90; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2B90u) goto L_089C2B90; AOT_REGCACHE_SYNC_OUT(); return; L_089C2B90: aot_gpr_31 = (0x089C2B98u); @@ -6136,7 +6137,7 @@ L_089C2B90: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 348u, 0x08ADD468u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2B98u) goto L_089C2B98; AOT_REGCACHE_SYNC_OUT(); return; L_089C2B98: - aot_gpr_4 = (static_cast(ctx.gpr[2]) < 2 ? 1u : 0u); + aot_gpr_4 = (static_cast(aot_gpr_2) < 2 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -6153,10 +6154,10 @@ L_089C2BA4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 101u, 0x08ADC560u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2BB8u) goto L_089C2BB8; AOT_REGCACHE_SYNC_OUT(); return; L_089C2BB8: - ctx.gpr[21] = (aot_gpr_28 + static_cast(-12040)); - ctx.gpr[20] = (aot_gpr_28 + static_cast(-12032)); - { const bool branch_taken = ctx.gpr[2] != 0u; - ctx.gpr[18] = (aot_gpr_28 + static_cast(-11992)); + ctx.gpr[21] = (ctx.gpr[28] + static_cast(-12040)); + ctx.gpr[20] = (ctx.gpr[28] + static_cast(-12032)); + { const bool branch_taken = aot_gpr_2 != 0u; + ctx.gpr[18] = (ctx.gpr[28] + static_cast(-11992)); if (branch_taken) { goto L_089C2BCC; } @@ -6172,8 +6173,8 @@ L_089C2BCC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 154u, 0x08ADC7BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2BD8u) goto L_089C2BD8; AOT_REGCACHE_SYNC_OUT(); return; L_089C2BD8: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(0))); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(0))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); { const bool branch_taken = aot_gpr_16 != 0u; aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(56), aot_gpr_4); if (branch_taken) { @@ -6187,24 +6188,24 @@ L_089C2BE8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 358u, 0x08B65844u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2BF0u) goto L_089C2BF0; AOT_REGCACHE_SYNC_OUT(); return; L_089C2BF0: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); goto L_089C2BF4; L_089C2BF4: aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(59))); - aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); + aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[20])); ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(56))); ctx.gpr[10] = (17264u << 16u); ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(57))); - aot_fpr_20 = std::bit_cast(ctx.gpr[10]); + ctx.fpr[20] = std::bit_cast(ctx.gpr[10]); ctx.gpr[9] = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(58))); - aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); + aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x089C2C20u); aot_gpr_5 = (0u | 15u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0002_entry, 2u, 367u, 0x0880D7F8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2C20u) goto L_089C2C20; AOT_REGCACHE_SYNC_OUT(); return; L_089C2C20: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); { const bool branch_taken = aot_gpr_16 != 0u; aot_gpr_4 = (aot_gpr_16 | 0u); if (branch_taken) { @@ -6219,7 +6220,7 @@ L_089C2C2C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2C38u) goto L_089C2C38; AOT_REGCACHE_SYNC_OUT(); return; L_089C2C38: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { @@ -6230,13 +6231,13 @@ L_089C2C38: L_089C2C44: aot_gpr_31 = (0x089C2C4Cu); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2C4Cu) goto L_089C2C4C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2C4Cu) goto L_089C2C4C; AOT_REGCACHE_SYNC_OUT(); return; L_089C2C4C: aot_gpr_16 = (ctx.gpr[17] | 0u); goto L_089C2C50; L_089C2C50: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); aot_gpr_4 = (aot_gpr_16 | 0u); goto L_089C2C58; L_089C2C58: @@ -6248,8 +6249,8 @@ L_089C2C60: aot_gpr_5 = (0u | 250u); aot_gpr_6 = (0u | 154u); aot_gpr_31 = (0x089C2C70u); - aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2C70u) goto L_089C2C70; + aot_gpr_4 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2C70u) goto L_089C2C70; AOT_REGCACHE_SYNC_OUT(); return; L_089C2C70: aot_gpr_31 = (0x089C2C78u); @@ -6257,23 +6258,23 @@ L_089C2C70: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 401u, 0x08ADD7A0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2C78u) goto L_089C2C78; AOT_REGCACHE_SYNC_OUT(); return; L_089C2C78: - aot_gpr_5 = (ctx.gpr[2] + static_cast(-1)); + aot_gpr_5 = (aot_gpr_2 + static_cast(-1)); aot_gpr_5 = (aot_gpr_5 & 65535u); aot_gpr_31 = (0x089C2C88u); aot_gpr_4 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 155u, 0x08ADC7D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2C88u) goto L_089C2C88; AOT_REGCACHE_SYNC_OUT(); return; L_089C2C88: - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(0))); aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(56), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(1))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(1))); aot_gpr_6 = (17199u << 16u); aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(57), static_cast(aot_gpr_4)); ctx.fpr[22] = std::bit_cast(aot_gpr_6); - aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(2))); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(2))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(58), static_cast(aot_gpr_5)); - aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(3))); + aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(3))); ctx.gpr[21] = (0u | 168u); { const bool branch_taken = aot_gpr_4 != 0u; aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(59), static_cast(aot_gpr_5)); @@ -6288,11 +6289,11 @@ L_089C2CBC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 358u, 0x08B65844u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2CC4u) goto L_089C2CC4; AOT_REGCACHE_SYNC_OUT(); return; L_089C2CC4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); goto L_089C2CC8; L_089C2CC8: aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(59))); - aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); + aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(56))); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[22])); ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(57))); @@ -6302,7 +6303,7 @@ L_089C2CC8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0002_entry, 2u, 367u, 0x0880D7F8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2CE8u) goto L_089C2CE8; AOT_REGCACHE_SYNC_OUT(); return; L_089C2CE8: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); { const bool branch_taken = aot_gpr_16 != 0u; aot_gpr_4 = (aot_gpr_16 | 0u); if (branch_taken) { @@ -6317,7 +6318,7 @@ L_089C2CF4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2D00u) goto L_089C2D00; AOT_REGCACHE_SYNC_OUT(); return; L_089C2D00: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { @@ -6328,13 +6329,13 @@ L_089C2D00: L_089C2D0C: aot_gpr_31 = (0x089C2D14u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2D14u) goto L_089C2D14; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2D14u) goto L_089C2D14; AOT_REGCACHE_SYNC_OUT(); return; L_089C2D14: aot_gpr_16 = (ctx.gpr[17] | 0u); goto L_089C2D18; L_089C2D18: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); aot_gpr_4 = (aot_gpr_16 | 0u); goto L_089C2D20; L_089C2D20: @@ -6344,10 +6345,10 @@ L_089C2D20: AOT_REGCACHE_SYNC_OUT(); return; L_089C2D28: aot_gpr_5 = (0u | 250u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x089C2D38u); aot_gpr_6 = (ctx.gpr[21] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2D38u) goto L_089C2D38; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2D38u) goto L_089C2D38; AOT_REGCACHE_SYNC_OUT(); return; L_089C2D38: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(100))); @@ -6359,20 +6360,20 @@ L_089C2D38: L_089C2D48: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x089C2D54u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 154u, 0x08ADC7BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2D54u) goto L_089C2D54; AOT_REGCACHE_SYNC_OUT(); return; L_089C2D54: - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(0))); aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(56), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(1))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(1))); aot_gpr_5 = (17213u << 16u); aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(57), static_cast(aot_gpr_4)); ctx.fpr[22] = std::bit_cast(aot_gpr_5); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(2))); - ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(2))); + ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(58), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(3))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(3))); ctx.gpr[21] = (0u | 182u); { const bool branch_taken = ctx.gpr[19] != 0u; aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(59), static_cast(aot_gpr_4)); @@ -6387,11 +6388,11 @@ L_089C2D88: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 358u, 0x08B65844u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2D90u) goto L_089C2D90; AOT_REGCACHE_SYNC_OUT(); return; L_089C2D90: - ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); goto L_089C2D94; L_089C2D94: aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(59))); - aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); + aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(56))); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[22])); ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(57))); @@ -6402,7 +6403,7 @@ L_089C2D94: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0002_entry, 2u, 367u, 0x0880D7F8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2DB8u) goto L_089C2DB8; AOT_REGCACHE_SYNC_OUT(); return; L_089C2DB8: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); { const bool branch_taken = aot_gpr_16 != 0u; aot_gpr_4 = (aot_gpr_16 | 0u); if (branch_taken) { @@ -6417,7 +6418,7 @@ L_089C2DC4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2DD0u) goto L_089C2DD0; AOT_REGCACHE_SYNC_OUT(); return; L_089C2DD0: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { @@ -6428,13 +6429,13 @@ L_089C2DD0: L_089C2DDC: aot_gpr_31 = (0x089C2DE4u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2DE4u) goto L_089C2DE4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2DE4u) goto L_089C2DE4; AOT_REGCACHE_SYNC_OUT(); return; L_089C2DE4: aot_gpr_16 = (ctx.gpr[17] | 0u); goto L_089C2DE8; L_089C2DE8: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); aot_gpr_4 = (aot_gpr_16 | 0u); goto L_089C2DF0; L_089C2DF0: @@ -6444,10 +6445,10 @@ L_089C2DF0: AOT_REGCACHE_SYNC_OUT(); return; L_089C2DF8: aot_gpr_5 = (0u | 250u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x089C2E08u); aot_gpr_6 = (ctx.gpr[21] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2E08u) goto L_089C2E08; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2E08u) goto L_089C2E08; AOT_REGCACHE_SYNC_OUT(); return; L_089C2E08: { const bool branch_taken = 0u == 0u; @@ -6458,12 +6459,12 @@ L_089C2E08: goto L_089C2E10; } L_089C2E10: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); - ctx.gpr[30] = (aot_gpr_28 + static_cast(-12072)); - ctx.gpr[23] = (aot_gpr_28 + static_cast(-12064)); - ctx.gpr[20] = (aot_gpr_28 + static_cast(-12056)); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); + ctx.gpr[30] = (ctx.gpr[28] + static_cast(-12072)); + ctx.gpr[23] = (ctx.gpr[28] + static_cast(-12064)); + ctx.gpr[20] = (ctx.gpr[28] + static_cast(-12056)); { const bool branch_taken = aot_gpr_16 != 0u; - ctx.gpr[18] = (aot_gpr_28 + static_cast(-12048)); + ctx.gpr[18] = (ctx.gpr[28] + static_cast(-12048)); if (branch_taken) { goto L_089C2E34; } @@ -6475,14 +6476,14 @@ L_089C2E28: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 358u, 0x08B65844u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2E30u) goto L_089C2E30; AOT_REGCACHE_SYNC_OUT(); return; L_089C2E30: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); goto L_089C2E34; L_089C2E34: ctx.gpr[9] = (17185u << 16u); - aot_fpr_20 = std::bit_cast(ctx.gpr[9]); + ctx.fpr[20] = std::bit_cast(ctx.gpr[9]); ctx.gpr[10] = (17136u << 16u); aot_gpr_4 = (aot_gpr_16 | 0u); - aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); + aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_gpr_5 = (0u | 12u); aot_fpr_12 = std::bit_cast(ctx.gpr[10]); aot_gpr_6 = (0u | 255u); @@ -6493,7 +6494,7 @@ L_089C2E34: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0002_entry, 2u, 367u, 0x0880D7F8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2E64u) goto L_089C2E64; AOT_REGCACHE_SYNC_OUT(); return; L_089C2E64: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); { const bool branch_taken = aot_gpr_16 != 0u; aot_gpr_4 = (aot_gpr_16 | 0u); if (branch_taken) { @@ -6508,7 +6509,7 @@ L_089C2E70: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2E7Cu) goto L_089C2E7C; AOT_REGCACHE_SYNC_OUT(); return; L_089C2E7C: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { @@ -6519,13 +6520,13 @@ L_089C2E7C: L_089C2E88: aot_gpr_31 = (0x089C2E90u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2E90u) goto L_089C2E90; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2E90u) goto L_089C2E90; AOT_REGCACHE_SYNC_OUT(); return; L_089C2E90: aot_gpr_16 = (ctx.gpr[17] | 0u); goto L_089C2E94; L_089C2E94: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); aot_gpr_4 = (aot_gpr_16 | 0u); goto L_089C2E9C; L_089C2E9C: @@ -6537,11 +6538,11 @@ L_089C2EA4: aot_gpr_5 = (0u | 130u); aot_gpr_6 = (0u | 154u); aot_gpr_31 = (0x089C2EB4u); - aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2EB4u) goto L_089C2EB4; + aot_gpr_4 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2EB4u) goto L_089C2EB4; AOT_REGCACHE_SYNC_OUT(); return; L_089C2EB4: - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-12084))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-12084))); aot_gpr_6 = (0u | 175u); ctx.gpr[8] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); aot_gpr_4 = (ctx.gpr[22] | 0u); @@ -6550,7 +6551,7 @@ L_089C2EB4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0110_entry, 110u, 156u, 0x089BCC20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2ECCu) goto L_089C2ECC; AOT_REGCACHE_SYNC_OUT(); return; L_089C2ECC: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); { const bool branch_taken = aot_gpr_16 != 0u; ctx.gpr[30] = (0u | 168u); if (branch_taken) { @@ -6565,7 +6566,7 @@ L_089C2ED8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2EE4u) goto L_089C2EE4; AOT_REGCACHE_SYNC_OUT(); return; L_089C2EE4: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { @@ -6576,13 +6577,13 @@ L_089C2EE4: L_089C2EF0: aot_gpr_31 = (0x089C2EF8u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2EF8u) goto L_089C2EF8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2EF8u) goto L_089C2EF8; AOT_REGCACHE_SYNC_OUT(); return; L_089C2EF8: aot_gpr_16 = (ctx.gpr[17] | 0u); goto L_089C2EFC; L_089C2EFC: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); goto L_089C2F00; L_089C2F00: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -6592,13 +6593,13 @@ L_089C2F00: AOT_REGCACHE_SYNC_OUT(); return; L_089C2F0C: aot_gpr_5 = (0u | 130u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x089C2F1Cu); aot_gpr_6 = (ctx.gpr[30] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2F1Cu) goto L_089C2F1C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2F1Cu) goto L_089C2F1C; AOT_REGCACHE_SYNC_OUT(); return; L_089C2F1C: - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-12084))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-12084))); aot_gpr_6 = (0u | 189u); ctx.gpr[8] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); aot_gpr_4 = (ctx.gpr[22] | 0u); @@ -6607,7 +6608,7 @@ L_089C2F1C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0110_entry, 110u, 156u, 0x089BCC20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2F34u) goto L_089C2F34; AOT_REGCACHE_SYNC_OUT(); return; L_089C2F34: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); { const bool branch_taken = aot_gpr_16 != 0u; ctx.gpr[30] = (0u | 182u); if (branch_taken) { @@ -6622,7 +6623,7 @@ L_089C2F40: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2F4Cu) goto L_089C2F4C; AOT_REGCACHE_SYNC_OUT(); return; L_089C2F4C: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { @@ -6633,13 +6634,13 @@ L_089C2F4C: L_089C2F58: aot_gpr_31 = (0x089C2F60u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2F60u) goto L_089C2F60; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2F60u) goto L_089C2F60; AOT_REGCACHE_SYNC_OUT(); return; L_089C2F60: aot_gpr_16 = (ctx.gpr[17] | 0u); goto L_089C2F64; L_089C2F64: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); goto L_089C2F68; L_089C2F68: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -6649,14 +6650,14 @@ L_089C2F68: AOT_REGCACHE_SYNC_OUT(); return; L_089C2F74: aot_gpr_5 = (0u | 130u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x089C2F84u); aot_gpr_6 = (ctx.gpr[30] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2F84u) goto L_089C2F84; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2F84u) goto L_089C2F84; AOT_REGCACHE_SYNC_OUT(); return; L_089C2F84: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-12080))); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-12084))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-12080))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-12084))); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (ctx.gpr[29] + aot_gpr_4); ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); @@ -6667,7 +6668,7 @@ L_089C2F84: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0110_entry, 110u, 156u, 0x089BCC20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2FA8u) goto L_089C2FA8; AOT_REGCACHE_SYNC_OUT(); return; L_089C2FA8: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); { const bool branch_taken = aot_gpr_16 != 0u; ctx.gpr[30] = (0u | 196u); if (branch_taken) { @@ -6682,7 +6683,7 @@ L_089C2FB4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2FC0u) goto L_089C2FC0; AOT_REGCACHE_SYNC_OUT(); return; L_089C2FC0: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { @@ -6693,13 +6694,13 @@ L_089C2FC0: L_089C2FCC: aot_gpr_31 = (0x089C2FD4u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2FD4u) goto L_089C2FD4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2FD4u) goto L_089C2FD4; AOT_REGCACHE_SYNC_OUT(); return; L_089C2FD4: aot_gpr_16 = (ctx.gpr[17] | 0u); goto L_089C2FD8; L_089C2FD8: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); goto L_089C2FDC; L_089C2FDC: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -6709,10 +6710,10 @@ L_089C2FDC: AOT_REGCACHE_SYNC_OUT(); return; L_089C2FE8: aot_gpr_5 = (0u | 130u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x089C2FF8u); aot_gpr_6 = (ctx.gpr[30] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2FF8u) goto L_089C2FF8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C2FF8u) goto L_089C2FF8; AOT_REGCACHE_SYNC_OUT(); return; L_089C2FF8: aot_gpr_31 = (0x089C3000u); @@ -6720,7 +6721,7 @@ L_089C2FF8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 348u, 0x08ADD468u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3000u) goto L_089C3000; AOT_REGCACHE_SYNC_OUT(); return; L_089C3000: - aot_gpr_4 = (static_cast(ctx.gpr[2]) < 2 ? 1u : 0u); + aot_gpr_4 = (static_cast(aot_gpr_2) < 2 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -6737,11 +6738,11 @@ L_089C300C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 101u, 0x08ADC560u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3020u) goto L_089C3020; AOT_REGCACHE_SYNC_OUT(); return; L_089C3020: - ctx.gpr[22] = (aot_gpr_28 + static_cast(-12040)); - ctx.gpr[21] = (aot_gpr_28 + static_cast(-12032)); - ctx.gpr[20] = (aot_gpr_28 + static_cast(-11992)); - { const bool branch_taken = ctx.gpr[2] != 0u; - ctx.gpr[18] = (aot_gpr_28 + static_cast(-11984)); + ctx.gpr[22] = (ctx.gpr[28] + static_cast(-12040)); + ctx.gpr[21] = (ctx.gpr[28] + static_cast(-12032)); + ctx.gpr[20] = (ctx.gpr[28] + static_cast(-11992)); + { const bool branch_taken = aot_gpr_2 != 0u; + ctx.gpr[18] = (ctx.gpr[28] + static_cast(-11984)); if (branch_taken) { goto L_089C3038; } @@ -6757,8 +6758,8 @@ L_089C3038: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 154u, 0x08ADC7BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3044u) goto L_089C3044; AOT_REGCACHE_SYNC_OUT(); return; L_089C3044: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(0))); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(0))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); { const bool branch_taken = aot_gpr_16 != 0u; aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(60), aot_gpr_4); if (branch_taken) { @@ -6772,24 +6773,24 @@ L_089C3054: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 358u, 0x08B65844u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C305Cu) goto L_089C305C; AOT_REGCACHE_SYNC_OUT(); return; L_089C305C: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); goto L_089C3060; L_089C3060: aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(63))); - aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); + aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[20])); ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(60))); ctx.gpr[10] = (17264u << 16u); ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(61))); - aot_fpr_20 = std::bit_cast(ctx.gpr[10]); + ctx.fpr[20] = std::bit_cast(ctx.gpr[10]); ctx.gpr[9] = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(62))); - aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); + aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x089C308Cu); aot_gpr_5 = (0u | 15u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0002_entry, 2u, 367u, 0x0880D7F8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C308Cu) goto L_089C308C; AOT_REGCACHE_SYNC_OUT(); return; L_089C308C: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); { const bool branch_taken = aot_gpr_16 != 0u; aot_gpr_4 = (aot_gpr_16 | 0u); if (branch_taken) { @@ -6804,7 +6805,7 @@ L_089C3098: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C30A4u) goto L_089C30A4; AOT_REGCACHE_SYNC_OUT(); return; L_089C30A4: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { @@ -6815,13 +6816,13 @@ L_089C30A4: L_089C30B0: aot_gpr_31 = (0x089C30B8u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C30B8u) goto L_089C30B8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C30B8u) goto L_089C30B8; AOT_REGCACHE_SYNC_OUT(); return; L_089C30B8: aot_gpr_16 = (ctx.gpr[17] | 0u); goto L_089C30BC; L_089C30BC: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); aot_gpr_4 = (aot_gpr_16 | 0u); goto L_089C30C4; L_089C30C4: @@ -6833,8 +6834,8 @@ L_089C30CC: aot_gpr_5 = (0u | 250u); aot_gpr_6 = (0u | 154u); aot_gpr_31 = (0x089C30DCu); - aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C30DCu) goto L_089C30DC; + aot_gpr_4 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C30DCu) goto L_089C30DC; AOT_REGCACHE_SYNC_OUT(); return; L_089C30DC: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(100))); @@ -6846,20 +6847,20 @@ L_089C30DC: L_089C30EC: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x089C30F8u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 154u, 0x08ADC7BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C30F8u) goto L_089C30F8; AOT_REGCACHE_SYNC_OUT(); return; L_089C30F8: - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(0))); aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(60), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(1))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(1))); aot_gpr_6 = (17199u << 16u); aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(61), static_cast(aot_gpr_4)); ctx.fpr[22] = std::bit_cast(aot_gpr_6); - aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(2))); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(2))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(62), static_cast(aot_gpr_5)); - aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(3))); + aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(3))); ctx.gpr[22] = (0u | 168u); { const bool branch_taken = aot_gpr_4 != 0u; aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(63), static_cast(aot_gpr_5)); @@ -6874,11 +6875,11 @@ L_089C312C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 358u, 0x08B65844u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3134u) goto L_089C3134; AOT_REGCACHE_SYNC_OUT(); return; L_089C3134: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); goto L_089C3138; L_089C3138: aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(63))); - aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); + aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(60))); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[22])); ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(61))); @@ -6888,7 +6889,7 @@ L_089C3138: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0002_entry, 2u, 367u, 0x0880D7F8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3158u) goto L_089C3158; AOT_REGCACHE_SYNC_OUT(); return; L_089C3158: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); { const bool branch_taken = aot_gpr_16 != 0u; aot_gpr_4 = (aot_gpr_16 | 0u); if (branch_taken) { @@ -6903,7 +6904,7 @@ L_089C3164: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3170u) goto L_089C3170; AOT_REGCACHE_SYNC_OUT(); return; L_089C3170: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { @@ -6914,13 +6915,13 @@ L_089C3170: L_089C317C: aot_gpr_31 = (0x089C3184u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3184u) goto L_089C3184; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3184u) goto L_089C3184; AOT_REGCACHE_SYNC_OUT(); return; L_089C3184: aot_gpr_16 = (ctx.gpr[17] | 0u); goto L_089C3188; L_089C3188: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); aot_gpr_4 = (aot_gpr_16 | 0u); goto L_089C3190; L_089C3190: @@ -6930,10 +6931,10 @@ L_089C3190: AOT_REGCACHE_SYNC_OUT(); return; L_089C3198: aot_gpr_5 = (0u | 250u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x089C31A8u); aot_gpr_6 = (ctx.gpr[22] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C31A8u) goto L_089C31A8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C31A8u) goto L_089C31A8; AOT_REGCACHE_SYNC_OUT(); return; L_089C31A8: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(100))); @@ -6945,20 +6946,20 @@ L_089C31A8: L_089C31B8: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x089C31C4u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 155u, 0x08ADC7D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C31C4u) goto L_089C31C4; AOT_REGCACHE_SYNC_OUT(); return; L_089C31C4: - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(0))); aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(60), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(1))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(1))); aot_gpr_5 = (17213u << 16u); aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(61), static_cast(aot_gpr_4)); ctx.fpr[22] = std::bit_cast(aot_gpr_5); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(2))); - ctx.gpr[21] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(2))); + ctx.gpr[21] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(62), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(3))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(3))); ctx.gpr[22] = (0u | 182u); { const bool branch_taken = ctx.gpr[21] != 0u; aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(63), static_cast(aot_gpr_4)); @@ -6973,11 +6974,11 @@ L_089C31F8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 358u, 0x08B65844u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3200u) goto L_089C3200; AOT_REGCACHE_SYNC_OUT(); return; L_089C3200: - ctx.gpr[21] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + ctx.gpr[21] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); goto L_089C3204; L_089C3204: aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(63))); - aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); + aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(60))); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[22])); ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(61))); @@ -6988,7 +6989,7 @@ L_089C3204: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0002_entry, 2u, 367u, 0x0880D7F8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3228u) goto L_089C3228; AOT_REGCACHE_SYNC_OUT(); return; L_089C3228: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); { const bool branch_taken = aot_gpr_16 != 0u; aot_gpr_4 = (aot_gpr_16 | 0u); if (branch_taken) { @@ -7003,7 +7004,7 @@ L_089C3234: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3240u) goto L_089C3240; AOT_REGCACHE_SYNC_OUT(); return; L_089C3240: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { @@ -7014,13 +7015,13 @@ L_089C3240: L_089C324C: aot_gpr_31 = (0x089C3254u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3254u) goto L_089C3254; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3254u) goto L_089C3254; AOT_REGCACHE_SYNC_OUT(); return; L_089C3254: aot_gpr_16 = (ctx.gpr[17] | 0u); goto L_089C3258; L_089C3258: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); aot_gpr_4 = (aot_gpr_16 | 0u); goto L_089C3260; L_089C3260: @@ -7030,10 +7031,10 @@ L_089C3260: AOT_REGCACHE_SYNC_OUT(); return; L_089C3268: aot_gpr_5 = (0u | 250u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x089C3278u); aot_gpr_6 = (ctx.gpr[22] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3278u) goto L_089C3278; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3278u) goto L_089C3278; AOT_REGCACHE_SYNC_OUT(); return; L_089C3278: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(100))); @@ -7043,23 +7044,23 @@ L_089C3278: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 101u, 0x08ADC560u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3288u) goto L_089C3288; AOT_REGCACHE_SYNC_OUT(); return; L_089C3288: - aot_gpr_5 = (ctx.gpr[2] < static_cast(1) ? 1u : 0u); + aot_gpr_5 = (aot_gpr_2 < static_cast(1) ? 1u : 0u); aot_gpr_5 = (aot_gpr_5 & 65535u); aot_gpr_31 = (0x089C3298u); aot_gpr_4 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 155u, 0x08ADC7D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3298u) goto L_089C3298; AOT_REGCACHE_SYNC_OUT(); return; L_089C3298: - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(0))); aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(60), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(1))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(1))); aot_gpr_5 = (17227u << 16u); aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(61), static_cast(aot_gpr_4)); ctx.fpr[22] = std::bit_cast(aot_gpr_5); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(2))); - ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(2))); + ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(62), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(3))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(3))); ctx.gpr[22] = (0u | 196u); { const bool branch_taken = ctx.gpr[19] != 0u; aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(63), static_cast(aot_gpr_4)); @@ -7074,11 +7075,11 @@ L_089C32CC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 358u, 0x08B65844u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C32D4u) goto L_089C32D4; AOT_REGCACHE_SYNC_OUT(); return; L_089C32D4: - ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); goto L_089C32D8; L_089C32D8: aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(63))); - aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); + aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(60))); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[22])); ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(61))); @@ -7089,7 +7090,7 @@ L_089C32D8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0002_entry, 2u, 367u, 0x0880D7F8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C32FCu) goto L_089C32FC; AOT_REGCACHE_SYNC_OUT(); return; L_089C32FC: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); { const bool branch_taken = aot_gpr_16 != 0u; aot_gpr_4 = (aot_gpr_16 | 0u); if (branch_taken) { @@ -7104,7 +7105,7 @@ L_089C3308: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3314u) goto L_089C3314; AOT_REGCACHE_SYNC_OUT(); return; L_089C3314: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { @@ -7115,13 +7116,13 @@ L_089C3314: L_089C3320: aot_gpr_31 = (0x089C3328u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3328u) goto L_089C3328; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3328u) goto L_089C3328; AOT_REGCACHE_SYNC_OUT(); return; L_089C3328: aot_gpr_16 = (ctx.gpr[17] | 0u); goto L_089C332C; L_089C332C: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); aot_gpr_4 = (aot_gpr_16 | 0u); goto L_089C3334; L_089C3334: @@ -7131,10 +7132,10 @@ L_089C3334: AOT_REGCACHE_SYNC_OUT(); return; L_089C333C: aot_gpr_5 = (0u | 250u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x089C334Cu); aot_gpr_6 = (ctx.gpr[22] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C334Cu) goto L_089C334C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C334Cu) goto L_089C334C; AOT_REGCACHE_SYNC_OUT(); return; L_089C334C: { const bool branch_taken = 0u == 0u; @@ -7145,14 +7146,14 @@ L_089C334C: goto L_089C3354; } L_089C3354: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); aot_gpr_4 = (17264u << 16u); - ctx.gpr[30] = (aot_gpr_28 + static_cast(-12072)); - aot_fpr_20 = std::bit_cast(aot_gpr_4); - ctx.gpr[23] = (aot_gpr_28 + static_cast(-12064)); - ctx.gpr[20] = (aot_gpr_28 + static_cast(-12056)); + ctx.gpr[30] = (ctx.gpr[28] + static_cast(-12072)); + ctx.fpr[20] = std::bit_cast(aot_gpr_4); + ctx.gpr[23] = (ctx.gpr[28] + static_cast(-12064)); + ctx.gpr[20] = (ctx.gpr[28] + static_cast(-12056)); { const bool branch_taken = aot_gpr_16 != 0u; - ctx.gpr[18] = (aot_gpr_28 + static_cast(-12048)); + ctx.gpr[18] = (ctx.gpr[28] + static_cast(-12048)); if (branch_taken) { goto L_089C3380; } @@ -7164,7 +7165,7 @@ L_089C3374: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 358u, 0x08B65844u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C337Cu) goto L_089C337C; AOT_REGCACHE_SYNC_OUT(); return; L_089C337C: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); goto L_089C3380; L_089C3380: ctx.gpr[10] = (17136u << 16u); @@ -7181,7 +7182,7 @@ L_089C3380: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0002_entry, 2u, 367u, 0x0880D7F8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C33ACu) goto L_089C33AC; AOT_REGCACHE_SYNC_OUT(); return; L_089C33AC: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); { const bool branch_taken = aot_gpr_16 != 0u; aot_gpr_4 = (aot_gpr_16 | 0u); if (branch_taken) { @@ -7196,7 +7197,7 @@ L_089C33B8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C33C4u) goto L_089C33C4; AOT_REGCACHE_SYNC_OUT(); return; L_089C33C4: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { @@ -7207,13 +7208,13 @@ L_089C33C4: L_089C33D0: aot_gpr_31 = (0x089C33D8u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C33D8u) goto L_089C33D8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C33D8u) goto L_089C33D8; AOT_REGCACHE_SYNC_OUT(); return; L_089C33D8: aot_gpr_16 = (ctx.gpr[17] | 0u); goto L_089C33DC; L_089C33DC: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); aot_gpr_4 = (aot_gpr_16 | 0u); goto L_089C33E4; L_089C33E4: @@ -7225,11 +7226,11 @@ L_089C33EC: aot_gpr_5 = (0u | 130u); aot_gpr_6 = (0u | 154u); aot_gpr_31 = (0x089C33FCu); - aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C33FCu) goto L_089C33FC; + aot_gpr_4 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C33FCu) goto L_089C33FC; AOT_REGCACHE_SYNC_OUT(); return; L_089C33FC: - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-12084))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-12084))); aot_gpr_6 = (0u | 175u); ctx.gpr[8] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); aot_gpr_4 = (ctx.gpr[22] | 0u); @@ -7238,7 +7239,7 @@ L_089C33FC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0110_entry, 110u, 156u, 0x089BCC20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3414u) goto L_089C3414; AOT_REGCACHE_SYNC_OUT(); return; L_089C3414: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); { const bool branch_taken = aot_gpr_16 != 0u; ctx.gpr[30] = (0u | 168u); if (branch_taken) { @@ -7253,7 +7254,7 @@ L_089C3420: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C342Cu) goto L_089C342C; AOT_REGCACHE_SYNC_OUT(); return; L_089C342C: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { @@ -7264,13 +7265,13 @@ L_089C342C: L_089C3438: aot_gpr_31 = (0x089C3440u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3440u) goto L_089C3440; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3440u) goto L_089C3440; AOT_REGCACHE_SYNC_OUT(); return; L_089C3440: aot_gpr_16 = (ctx.gpr[17] | 0u); goto L_089C3444; L_089C3444: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); goto L_089C3448; L_089C3448: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -7280,13 +7281,13 @@ L_089C3448: AOT_REGCACHE_SYNC_OUT(); return; L_089C3454: aot_gpr_5 = (0u | 130u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x089C3464u); aot_gpr_6 = (ctx.gpr[30] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3464u) goto L_089C3464; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3464u) goto L_089C3464; AOT_REGCACHE_SYNC_OUT(); return; L_089C3464: - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-12084))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-12084))); aot_gpr_6 = (0u | 189u); ctx.gpr[8] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); aot_gpr_4 = (ctx.gpr[22] | 0u); @@ -7295,7 +7296,7 @@ L_089C3464: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0110_entry, 110u, 156u, 0x089BCC20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C347Cu) goto L_089C347C; AOT_REGCACHE_SYNC_OUT(); return; L_089C347C: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); { const bool branch_taken = aot_gpr_16 != 0u; ctx.gpr[30] = (0u | 182u); if (branch_taken) { @@ -7310,7 +7311,7 @@ L_089C3488: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3494u) goto L_089C3494; AOT_REGCACHE_SYNC_OUT(); return; L_089C3494: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { @@ -7321,13 +7322,13 @@ L_089C3494: L_089C34A0: aot_gpr_31 = (0x089C34A8u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C34A8u) goto L_089C34A8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C34A8u) goto L_089C34A8; AOT_REGCACHE_SYNC_OUT(); return; L_089C34A8: aot_gpr_16 = (ctx.gpr[17] | 0u); goto L_089C34AC; L_089C34AC: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); goto L_089C34B0; L_089C34B0: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -7337,14 +7338,14 @@ L_089C34B0: AOT_REGCACHE_SYNC_OUT(); return; L_089C34BC: aot_gpr_5 = (0u | 130u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x089C34CCu); aot_gpr_6 = (ctx.gpr[30] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C34CCu) goto L_089C34CC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C34CCu) goto L_089C34CC; AOT_REGCACHE_SYNC_OUT(); return; L_089C34CC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-12080))); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-12084))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-12080))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-12084))); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (ctx.gpr[29] + aot_gpr_4); ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); @@ -7355,7 +7356,7 @@ L_089C34CC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0110_entry, 110u, 156u, 0x089BCC20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C34F0u) goto L_089C34F0; AOT_REGCACHE_SYNC_OUT(); return; L_089C34F0: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); { const bool branch_taken = aot_gpr_16 != 0u; aot_gpr_4 = (aot_gpr_16 | 0u); if (branch_taken) { @@ -7370,7 +7371,7 @@ L_089C34FC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3508u) goto L_089C3508; AOT_REGCACHE_SYNC_OUT(); return; L_089C3508: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { @@ -7381,13 +7382,13 @@ L_089C3508: L_089C3514: aot_gpr_31 = (0x089C351Cu); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C351Cu) goto L_089C351C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C351Cu) goto L_089C351C; AOT_REGCACHE_SYNC_OUT(); return; L_089C351C: aot_gpr_16 = (ctx.gpr[17] | 0u); goto L_089C3520; L_089C3520: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); aot_gpr_4 = (aot_gpr_16 | 0u); goto L_089C3528; L_089C3528: @@ -7399,8 +7400,8 @@ L_089C3530: aot_gpr_5 = (0u | 250u); aot_gpr_6 = (0u | 154u); aot_gpr_31 = (0x089C3540u); - aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3540u) goto L_089C3540; + aot_gpr_4 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3540u) goto L_089C3540; AOT_REGCACHE_SYNC_OUT(); return; L_089C3540: aot_gpr_31 = (0x089C3548u); @@ -7409,7 +7410,7 @@ L_089C3540: AOT_REGCACHE_SYNC_OUT(); return; L_089C3548: aot_gpr_5 = (17199u << 16u); - aot_gpr_4 = (static_cast(ctx.gpr[2]) < 2 ? 1u : 0u); + aot_gpr_4 = (static_cast(aot_gpr_2) < 2 ? 1u : 0u); ctx.fpr[22] = std::bit_cast(aot_gpr_5); { const bool branch_taken = aot_gpr_4 != 0u; ctx.gpr[18] = (0u | 168u); @@ -7419,18 +7420,18 @@ L_089C3548: goto L_089C355C; } L_089C355C: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-12076))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-12076))); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x089C356Cu); aot_gpr_5 = (aot_gpr_5 & 255u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 167u, 0x08ADC88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C356Cu) goto L_089C356C; AOT_REGCACHE_SYNC_OUT(); return; L_089C356C: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(0))); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(0))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(64), aot_gpr_4); { const bool branch_taken = aot_gpr_16 != 0u; - ctx.gpr[20] = (aot_gpr_28 + static_cast(-12040)); + ctx.gpr[20] = (ctx.gpr[28] + static_cast(-12040)); if (branch_taken) { goto L_089C358C; } @@ -7442,11 +7443,11 @@ L_089C3580: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 358u, 0x08B65844u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3588u) goto L_089C3588; AOT_REGCACHE_SYNC_OUT(); return; L_089C3588: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); goto L_089C358C; L_089C358C: aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(67))); - aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); + aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(64))); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[22])); ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(65))); @@ -7457,7 +7458,7 @@ L_089C358C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0002_entry, 2u, 367u, 0x0880D7F8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C35B0u) goto L_089C35B0; AOT_REGCACHE_SYNC_OUT(); return; L_089C35B0: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); { const bool branch_taken = aot_gpr_16 != 0u; aot_gpr_4 = (aot_gpr_16 | 0u); if (branch_taken) { @@ -7472,7 +7473,7 @@ L_089C35BC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C35C8u) goto L_089C35C8; AOT_REGCACHE_SYNC_OUT(); return; L_089C35C8: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { @@ -7483,13 +7484,13 @@ L_089C35C8: L_089C35D4: aot_gpr_31 = (0x089C35DCu); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C35DCu) goto L_089C35DC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C35DCu) goto L_089C35DC; AOT_REGCACHE_SYNC_OUT(); return; L_089C35DC: aot_gpr_16 = (ctx.gpr[17] | 0u); goto L_089C35E0; L_089C35E0: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); aot_gpr_4 = (aot_gpr_16 | 0u); goto L_089C35E8; L_089C35E8: @@ -7499,10 +7500,10 @@ L_089C35E8: AOT_REGCACHE_SYNC_OUT(); return; L_089C35F0: aot_gpr_5 = (0u | 250u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x089C3600u); aot_gpr_6 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3600u) goto L_089C3600; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3600u) goto L_089C3600; AOT_REGCACHE_SYNC_OUT(); return; L_089C3600: aot_gpr_4 = (17213u << 16u); @@ -7512,12 +7513,12 @@ L_089C3600: L_089C360C: aot_gpr_31 = (0x089C3614u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3614u) goto L_089C3614; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC734, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3614u) goto L_089C3614; AOT_REGCACHE_SYNC_OUT(); return; L_089C3614: aot_gpr_4 = (0u | 4u); - { const bool branch_taken = ctx.gpr[2] != aot_gpr_4; - ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + { const bool branch_taken = aot_gpr_2 != aot_gpr_4; + ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); if (branch_taken) { goto L_089C36B0; } @@ -7537,11 +7538,11 @@ L_089C3628: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 358u, 0x08B65844u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3630u) goto L_089C3630; AOT_REGCACHE_SYNC_OUT(); return; L_089C3630: - ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); aot_gpr_4 = (ctx.gpr[19] | 0u); goto L_089C3638; L_089C3638: - aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); + aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_gpr_5 = (0u | 18u); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[22])); aot_gpr_6 = (0u | 255u); @@ -7552,9 +7553,9 @@ L_089C3638: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0002_entry, 2u, 367u, 0x0880D7F8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3658u) goto L_089C3658; AOT_REGCACHE_SYNC_OUT(); return; L_089C3658: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); { const bool branch_taken = aot_gpr_16 != 0u; - aot_gpr_5 = (aot_gpr_28 + static_cast(-11976)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-11976)); if (branch_taken) { goto L_089C3690; } @@ -7567,7 +7568,7 @@ L_089C3664: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3670u) goto L_089C3670; AOT_REGCACHE_SYNC_OUT(); return; L_089C3670: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { @@ -7578,14 +7579,14 @@ L_089C3670: L_089C367C: aot_gpr_31 = (0x089C3684u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3684u) goto L_089C3684; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3684u) goto L_089C3684; AOT_REGCACHE_SYNC_OUT(); return; L_089C3684: aot_gpr_16 = (ctx.gpr[17] | 0u); goto L_089C3688; L_089C3688: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); - aot_gpr_5 = (aot_gpr_28 + static_cast(-11976)); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-11976)); goto L_089C3690; L_089C3690: aot_gpr_31 = (0x089C3698u); @@ -7594,10 +7595,10 @@ L_089C3690: AOT_REGCACHE_SYNC_OUT(); return; L_089C3698: aot_gpr_5 = (0u | 250u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x089C36A8u); aot_gpr_6 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C36A8u) goto L_089C36A8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C36A8u) goto L_089C36A8; AOT_REGCACHE_SYNC_OUT(); return; L_089C36A8: { const bool branch_taken = 0u == 0u; @@ -7621,11 +7622,11 @@ L_089C36B8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 358u, 0x08B65844u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C36C0u) goto L_089C36C0; AOT_REGCACHE_SYNC_OUT(); return; L_089C36C0: - ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); aot_gpr_4 = (ctx.gpr[19] | 0u); goto L_089C36C8; L_089C36C8: - aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); + aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_gpr_5 = (0u | 54u); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[22])); aot_gpr_6 = (0u | 255u); @@ -7636,9 +7637,9 @@ L_089C36C8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0002_entry, 2u, 367u, 0x0880D7F8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C36E8u) goto L_089C36E8; AOT_REGCACHE_SYNC_OUT(); return; L_089C36E8: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); { const bool branch_taken = aot_gpr_16 != 0u; - aot_gpr_5 = (aot_gpr_28 + static_cast(-11968)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-11968)); if (branch_taken) { goto L_089C3720; } @@ -7651,7 +7652,7 @@ L_089C36F4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3700u) goto L_089C3700; AOT_REGCACHE_SYNC_OUT(); return; L_089C3700: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { @@ -7662,14 +7663,14 @@ L_089C3700: L_089C370C: aot_gpr_31 = (0x089C3714u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3714u) goto L_089C3714; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3714u) goto L_089C3714; AOT_REGCACHE_SYNC_OUT(); return; L_089C3714: aot_gpr_16 = (ctx.gpr[17] | 0u); goto L_089C3718; L_089C3718: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); - aot_gpr_5 = (aot_gpr_28 + static_cast(-11968)); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-11968)); goto L_089C3720; L_089C3720: aot_gpr_31 = (0x089C3728u); @@ -7678,10 +7679,10 @@ L_089C3720: AOT_REGCACHE_SYNC_OUT(); return; L_089C3728: aot_gpr_5 = (0u | 250u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x089C3738u); aot_gpr_6 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3738u) goto L_089C3738; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3738u) goto L_089C3738; AOT_REGCACHE_SYNC_OUT(); return; L_089C3738: { const bool branch_taken = 0u == 0u; @@ -7692,12 +7693,12 @@ L_089C3738: goto L_089C3740; } L_089C3740: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); - ctx.gpr[30] = (aot_gpr_28 + static_cast(-12072)); - ctx.gpr[23] = (aot_gpr_28 + static_cast(-12064)); - ctx.gpr[20] = (aot_gpr_28 + static_cast(-12056)); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); + ctx.gpr[30] = (ctx.gpr[28] + static_cast(-12072)); + ctx.gpr[23] = (ctx.gpr[28] + static_cast(-12064)); + ctx.gpr[20] = (ctx.gpr[28] + static_cast(-12056)); { const bool branch_taken = aot_gpr_16 != 0u; - ctx.gpr[18] = (aot_gpr_28 + static_cast(-12048)); + ctx.gpr[18] = (ctx.gpr[28] + static_cast(-12048)); if (branch_taken) { goto L_089C3764; } @@ -7709,7 +7710,7 @@ L_089C3758: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 358u, 0x08B65844u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3760u) goto L_089C3760; AOT_REGCACHE_SYNC_OUT(); return; L_089C3760: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); goto L_089C3764; L_089C3764: ctx.gpr[10] = (17136u << 16u); @@ -7726,7 +7727,7 @@ L_089C3764: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0002_entry, 2u, 367u, 0x0880D7F8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3790u) goto L_089C3790; AOT_REGCACHE_SYNC_OUT(); return; L_089C3790: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); { const bool branch_taken = aot_gpr_16 != 0u; aot_gpr_4 = (aot_gpr_16 | 0u); if (branch_taken) { @@ -7741,7 +7742,7 @@ L_089C379C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C37A8u) goto L_089C37A8; AOT_REGCACHE_SYNC_OUT(); return; L_089C37A8: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { @@ -7752,13 +7753,13 @@ L_089C37A8: L_089C37B4: aot_gpr_31 = (0x089C37BCu); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C37BCu) goto L_089C37BC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C37BCu) goto L_089C37BC; AOT_REGCACHE_SYNC_OUT(); return; L_089C37BC: aot_gpr_16 = (ctx.gpr[17] | 0u); goto L_089C37C0; L_089C37C0: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); aot_gpr_4 = (aot_gpr_16 | 0u); goto L_089C37C8; L_089C37C8: @@ -7770,11 +7771,11 @@ L_089C37D0: aot_gpr_5 = (0u | 130u); aot_gpr_6 = (0u | 154u); aot_gpr_31 = (0x089C37E0u); - aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C37E0u) goto L_089C37E0; + aot_gpr_4 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C37E0u) goto L_089C37E0; AOT_REGCACHE_SYNC_OUT(); return; L_089C37E0: - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-12084))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-12084))); aot_gpr_6 = (0u | 175u); ctx.gpr[8] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); aot_gpr_4 = (ctx.gpr[22] | 0u); @@ -7783,7 +7784,7 @@ L_089C37E0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0110_entry, 110u, 156u, 0x089BCC20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C37F8u) goto L_089C37F8; AOT_REGCACHE_SYNC_OUT(); return; L_089C37F8: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); { const bool branch_taken = aot_gpr_16 != 0u; ctx.gpr[30] = (0u | 168u); if (branch_taken) { @@ -7798,7 +7799,7 @@ L_089C3804: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3810u) goto L_089C3810; AOT_REGCACHE_SYNC_OUT(); return; L_089C3810: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { @@ -7809,13 +7810,13 @@ L_089C3810: L_089C381C: aot_gpr_31 = (0x089C3824u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3824u) goto L_089C3824; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3824u) goto L_089C3824; AOT_REGCACHE_SYNC_OUT(); return; L_089C3824: aot_gpr_16 = (ctx.gpr[17] | 0u); goto L_089C3828; L_089C3828: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); goto L_089C382C; L_089C382C: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -7825,13 +7826,13 @@ L_089C382C: AOT_REGCACHE_SYNC_OUT(); return; L_089C3838: aot_gpr_5 = (0u | 130u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x089C3848u); aot_gpr_6 = (ctx.gpr[30] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3848u) goto L_089C3848; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3848u) goto L_089C3848; AOT_REGCACHE_SYNC_OUT(); return; L_089C3848: - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-12084))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-12084))); aot_gpr_6 = (0u | 189u); ctx.gpr[8] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); aot_gpr_4 = (ctx.gpr[22] | 0u); @@ -7840,7 +7841,7 @@ L_089C3848: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0110_entry, 110u, 156u, 0x089BCC20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3860u) goto L_089C3860; AOT_REGCACHE_SYNC_OUT(); return; L_089C3860: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); { const bool branch_taken = aot_gpr_16 != 0u; ctx.gpr[30] = (0u | 182u); if (branch_taken) { @@ -7855,7 +7856,7 @@ L_089C386C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3878u) goto L_089C3878; AOT_REGCACHE_SYNC_OUT(); return; L_089C3878: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { @@ -7866,13 +7867,13 @@ L_089C3878: L_089C3884: aot_gpr_31 = (0x089C388Cu); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C388Cu) goto L_089C388C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C388Cu) goto L_089C388C; AOT_REGCACHE_SYNC_OUT(); return; L_089C388C: aot_gpr_16 = (ctx.gpr[17] | 0u); goto L_089C3890; L_089C3890: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); goto L_089C3894; L_089C3894: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -7882,14 +7883,14 @@ L_089C3894: AOT_REGCACHE_SYNC_OUT(); return; L_089C38A0: aot_gpr_5 = (0u | 130u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x089C38B0u); aot_gpr_6 = (ctx.gpr[30] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C38B0u) goto L_089C38B0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C38B0u) goto L_089C38B0; AOT_REGCACHE_SYNC_OUT(); return; L_089C38B0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-12080))); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-12084))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-12080))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-12084))); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (ctx.gpr[29] + aot_gpr_4); ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); @@ -7900,7 +7901,7 @@ L_089C38B0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0110_entry, 110u, 156u, 0x089BCC20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C38D4u) goto L_089C38D4; AOT_REGCACHE_SYNC_OUT(); return; L_089C38D4: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); { const bool branch_taken = aot_gpr_16 != 0u; aot_gpr_4 = (aot_gpr_16 | 0u); if (branch_taken) { @@ -7915,7 +7916,7 @@ L_089C38E0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C38ECu) goto L_089C38EC; AOT_REGCACHE_SYNC_OUT(); return; L_089C38EC: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { @@ -7926,13 +7927,13 @@ L_089C38EC: L_089C38F8: aot_gpr_31 = (0x089C3900u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3900u) goto L_089C3900; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3900u) goto L_089C3900; AOT_REGCACHE_SYNC_OUT(); return; L_089C3900: aot_gpr_16 = (ctx.gpr[17] | 0u); goto L_089C3904; L_089C3904: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); aot_gpr_4 = (aot_gpr_16 | 0u); goto L_089C390C; L_089C390C: @@ -7944,8 +7945,8 @@ L_089C3914: aot_gpr_5 = (0u | 250u); aot_gpr_6 = (0u | 154u); aot_gpr_31 = (0x089C3924u); - aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3924u) goto L_089C3924; + aot_gpr_4 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3924u) goto L_089C3924; AOT_REGCACHE_SYNC_OUT(); return; L_089C3924: aot_gpr_31 = (0x089C392Cu); @@ -7955,7 +7956,7 @@ L_089C3924: L_089C392C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(100))); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(52))); - { const bool branch_taken = ctx.gpr[2] == aot_gpr_4; + { const bool branch_taken = aot_gpr_2 == aot_gpr_4; // nop if (branch_taken) { goto L_089C3A84; @@ -7970,15 +7971,15 @@ L_089C393C: L_089C3944: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x089C3950u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 167u, 0x08ADC88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3950u) goto L_089C3950; AOT_REGCACHE_SYNC_OUT(); return; L_089C3950: - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(0))); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(68), aot_gpr_5); aot_gpr_5 = (17199u << 16u); - aot_fpr_20 = std::bit_cast(aot_gpr_5); + ctx.fpr[20] = std::bit_cast(aot_gpr_5); { const bool branch_taken = aot_gpr_4 != 0u; ctx.gpr[19] = (0u | 168u); if (branch_taken) { @@ -7992,25 +7993,25 @@ L_089C396C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 358u, 0x08B65844u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3974u) goto L_089C3974; AOT_REGCACHE_SYNC_OUT(); return; L_089C3974: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); goto L_089C3978; L_089C3978: aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(71))); - aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); + aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[20])); ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(68))); ctx.gpr[10] = (17264u << 16u); ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(69))); - aot_fpr_20 = std::bit_cast(ctx.gpr[10]); + ctx.fpr[20] = std::bit_cast(ctx.gpr[10]); ctx.gpr[9] = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(70))); - aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); + aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_gpr_31 = (0x089C39A0u); aot_gpr_5 = (0u | 20u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0002_entry, 2u, 367u, 0x0880D7F8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C39A0u) goto L_089C39A0; AOT_REGCACHE_SYNC_OUT(); return; L_089C39A0: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); { const bool branch_taken = aot_gpr_16 != 0u; - aot_gpr_5 = (aot_gpr_28 + static_cast(-11960)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-11960)); if (branch_taken) { goto L_089C39D8; } @@ -8023,7 +8024,7 @@ L_089C39AC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C39B8u) goto L_089C39B8; AOT_REGCACHE_SYNC_OUT(); return; L_089C39B8: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { @@ -8034,14 +8035,14 @@ L_089C39B8: L_089C39C4: aot_gpr_31 = (0x089C39CCu); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C39CCu) goto L_089C39CC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C39CCu) goto L_089C39CC; AOT_REGCACHE_SYNC_OUT(); return; L_089C39CC: aot_gpr_16 = (ctx.gpr[17] | 0u); goto L_089C39D0; L_089C39D0: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); - aot_gpr_5 = (aot_gpr_28 + static_cast(-11960)); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-11960)); goto L_089C39D8; L_089C39D8: aot_gpr_31 = (0x089C39E0u); @@ -8050,13 +8051,13 @@ L_089C39D8: AOT_REGCACHE_SYNC_OUT(); return; L_089C39E0: aot_gpr_5 = (0u | 250u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x089C39F0u); aot_gpr_6 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C39F0u) goto L_089C39F0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C39F0u) goto L_089C39F0; AOT_REGCACHE_SYNC_OUT(); return; L_089C39F0: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); aot_gpr_4 = (17213u << 16u); ctx.fpr[22] = std::bit_cast(aot_gpr_4); { const bool branch_taken = aot_gpr_16 != 0u; @@ -8072,11 +8073,11 @@ L_089C3A04: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 358u, 0x08B65844u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3A0Cu) goto L_089C3A0C; AOT_REGCACHE_SYNC_OUT(); return; L_089C3A0C: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); goto L_089C3A10; L_089C3A10: aot_gpr_4 = (aot_gpr_16 | 0u); - aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); + aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_gpr_5 = (0u | 15u); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[22])); aot_gpr_6 = (0u | 255u); @@ -8087,9 +8088,9 @@ L_089C3A10: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0002_entry, 2u, 367u, 0x0880D7F8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3A34u) goto L_089C3A34; AOT_REGCACHE_SYNC_OUT(); return; L_089C3A34: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); { const bool branch_taken = aot_gpr_16 != 0u; - aot_gpr_5 = (aot_gpr_28 + static_cast(-11952)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-11952)); if (branch_taken) { goto L_089C3A6C; } @@ -8102,7 +8103,7 @@ L_089C3A40: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3A4Cu) goto L_089C3A4C; AOT_REGCACHE_SYNC_OUT(); return; L_089C3A4C: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { @@ -8113,14 +8114,14 @@ L_089C3A4C: L_089C3A58: aot_gpr_31 = (0x089C3A60u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3A60u) goto L_089C3A60; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3A60u) goto L_089C3A60; AOT_REGCACHE_SYNC_OUT(); return; L_089C3A60: aot_gpr_16 = (ctx.gpr[17] | 0u); goto L_089C3A64; L_089C3A64: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); - aot_gpr_5 = (aot_gpr_28 + static_cast(-11952)); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-11952)); goto L_089C3A6C; L_089C3A6C: aot_gpr_31 = (0x089C3A74u); @@ -8129,10 +8130,10 @@ L_089C3A6C: AOT_REGCACHE_SYNC_OUT(); return; L_089C3A74: aot_gpr_5 = (0u | 250u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x089C3A84u); aot_gpr_6 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3A84u) goto L_089C3A84; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3A84u) goto L_089C3A84; AOT_REGCACHE_SYNC_OUT(); return; L_089C3A84: { const bool branch_taken = 0u == 0u; @@ -8143,14 +8144,14 @@ L_089C3A84: goto L_089C3A8C; } L_089C3A8C: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); aot_gpr_4 = (17264u << 16u); - ctx.gpr[30] = (aot_gpr_28 + static_cast(-12072)); - aot_fpr_20 = std::bit_cast(aot_gpr_4); - ctx.gpr[23] = (aot_gpr_28 + static_cast(-12064)); - ctx.gpr[20] = (aot_gpr_28 + static_cast(-12056)); + ctx.gpr[30] = (ctx.gpr[28] + static_cast(-12072)); + ctx.fpr[20] = std::bit_cast(aot_gpr_4); + ctx.gpr[23] = (ctx.gpr[28] + static_cast(-12064)); + ctx.gpr[20] = (ctx.gpr[28] + static_cast(-12056)); { const bool branch_taken = aot_gpr_16 != 0u; - ctx.gpr[18] = (aot_gpr_28 + static_cast(-12048)); + ctx.gpr[18] = (ctx.gpr[28] + static_cast(-12048)); if (branch_taken) { goto L_089C3AB8; } @@ -8162,7 +8163,7 @@ L_089C3AAC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 358u, 0x08B65844u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3AB4u) goto L_089C3AB4; AOT_REGCACHE_SYNC_OUT(); return; L_089C3AB4: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); goto L_089C3AB8; L_089C3AB8: ctx.gpr[9] = (17185u << 16u); @@ -8180,7 +8181,7 @@ L_089C3AB8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0002_entry, 2u, 367u, 0x0880D7F8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3AE8u) goto L_089C3AE8; AOT_REGCACHE_SYNC_OUT(); return; L_089C3AE8: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); { const bool branch_taken = aot_gpr_16 != 0u; aot_gpr_4 = (aot_gpr_16 | 0u); if (branch_taken) { @@ -8195,7 +8196,7 @@ L_089C3AF4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3B00u) goto L_089C3B00; AOT_REGCACHE_SYNC_OUT(); return; L_089C3B00: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { @@ -8206,13 +8207,13 @@ L_089C3B00: L_089C3B0C: aot_gpr_31 = (0x089C3B14u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3B14u) goto L_089C3B14; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3B14u) goto L_089C3B14; AOT_REGCACHE_SYNC_OUT(); return; L_089C3B14: aot_gpr_16 = (ctx.gpr[17] | 0u); goto L_089C3B18; L_089C3B18: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); aot_gpr_4 = (aot_gpr_16 | 0u); goto L_089C3B20; L_089C3B20: @@ -8224,11 +8225,11 @@ L_089C3B28: aot_gpr_5 = (0u | 130u); aot_gpr_6 = (0u | 154u); aot_gpr_31 = (0x089C3B38u); - aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3B38u) goto L_089C3B38; + aot_gpr_4 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3B38u) goto L_089C3B38; AOT_REGCACHE_SYNC_OUT(); return; L_089C3B38: - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-12084))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-12084))); aot_gpr_6 = (0u | 175u); ctx.gpr[8] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); aot_gpr_4 = (ctx.gpr[22] | 0u); @@ -8237,7 +8238,7 @@ L_089C3B38: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0110_entry, 110u, 156u, 0x089BCC20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3B50u) goto L_089C3B50; AOT_REGCACHE_SYNC_OUT(); return; L_089C3B50: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); { const bool branch_taken = aot_gpr_16 != 0u; ctx.gpr[30] = (0u | 168u); if (branch_taken) { @@ -8252,7 +8253,7 @@ L_089C3B5C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3B68u) goto L_089C3B68; AOT_REGCACHE_SYNC_OUT(); return; L_089C3B68: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { @@ -8263,13 +8264,13 @@ L_089C3B68: L_089C3B74: aot_gpr_31 = (0x089C3B7Cu); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3B7Cu) goto L_089C3B7C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3B7Cu) goto L_089C3B7C; AOT_REGCACHE_SYNC_OUT(); return; L_089C3B7C: aot_gpr_16 = (ctx.gpr[17] | 0u); goto L_089C3B80; L_089C3B80: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); goto L_089C3B84; L_089C3B84: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -8279,13 +8280,13 @@ L_089C3B84: AOT_REGCACHE_SYNC_OUT(); return; L_089C3B90: aot_gpr_5 = (0u | 130u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x089C3BA0u); aot_gpr_6 = (ctx.gpr[30] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3BA0u) goto L_089C3BA0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3BA0u) goto L_089C3BA0; AOT_REGCACHE_SYNC_OUT(); return; L_089C3BA0: - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-12084))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-12084))); aot_gpr_6 = (0u | 189u); ctx.gpr[8] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); aot_gpr_4 = (ctx.gpr[22] | 0u); @@ -8294,7 +8295,7 @@ L_089C3BA0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0110_entry, 110u, 156u, 0x089BCC20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3BB8u) goto L_089C3BB8; AOT_REGCACHE_SYNC_OUT(); return; L_089C3BB8: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); { const bool branch_taken = aot_gpr_16 != 0u; ctx.gpr[30] = (0u | 182u); if (branch_taken) { @@ -8309,7 +8310,7 @@ L_089C3BC4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3BD0u) goto L_089C3BD0; AOT_REGCACHE_SYNC_OUT(); return; L_089C3BD0: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { @@ -8320,13 +8321,13 @@ L_089C3BD0: L_089C3BDC: aot_gpr_31 = (0x089C3BE4u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3BE4u) goto L_089C3BE4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3BE4u) goto L_089C3BE4; AOT_REGCACHE_SYNC_OUT(); return; L_089C3BE4: aot_gpr_16 = (ctx.gpr[17] | 0u); goto L_089C3BE8; L_089C3BE8: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); goto L_089C3BEC; L_089C3BEC: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -8336,14 +8337,14 @@ L_089C3BEC: AOT_REGCACHE_SYNC_OUT(); return; L_089C3BF8: aot_gpr_5 = (0u | 130u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x089C3C08u); aot_gpr_6 = (ctx.gpr[30] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3C08u) goto L_089C3C08; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3C08u) goto L_089C3C08; AOT_REGCACHE_SYNC_OUT(); return; L_089C3C08: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-12080))); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-12084))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-12080))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-12084))); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (ctx.gpr[29] + aot_gpr_4); ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); @@ -8354,7 +8355,7 @@ L_089C3C08: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0110_entry, 110u, 156u, 0x089BCC20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3C2Cu) goto L_089C3C2C; AOT_REGCACHE_SYNC_OUT(); return; L_089C3C2C: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); { const bool branch_taken = aot_gpr_16 != 0u; ctx.gpr[30] = (0u | 196u); if (branch_taken) { @@ -8369,7 +8370,7 @@ L_089C3C38: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3C44u) goto L_089C3C44; AOT_REGCACHE_SYNC_OUT(); return; L_089C3C44: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { @@ -8380,13 +8381,13 @@ L_089C3C44: L_089C3C50: aot_gpr_31 = (0x089C3C58u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3C58u) goto L_089C3C58; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3C58u) goto L_089C3C58; AOT_REGCACHE_SYNC_OUT(); return; L_089C3C58: aot_gpr_16 = (ctx.gpr[17] | 0u); goto L_089C3C5C; L_089C3C5C: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); goto L_089C3C60; L_089C3C60: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -8396,10 +8397,10 @@ L_089C3C60: AOT_REGCACHE_SYNC_OUT(); return; L_089C3C6C: aot_gpr_5 = (0u | 130u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x089C3C7Cu); aot_gpr_6 = (ctx.gpr[30] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3C7Cu) goto L_089C3C7C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3C7Cu) goto L_089C3C7C; AOT_REGCACHE_SYNC_OUT(); return; L_089C3C7C: ctx.gpr[18] = (0u | 161u); @@ -8408,7 +8409,7 @@ L_089C3C7C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 348u, 0x08ADD468u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3C88u) goto L_089C3C88; AOT_REGCACHE_SYNC_OUT(); return; L_089C3C88: - aot_gpr_4 = (static_cast(ctx.gpr[2]) < 2 ? 1u : 0u); + aot_gpr_4 = (static_cast(aot_gpr_2) < 2 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -8417,18 +8418,18 @@ L_089C3C88: goto L_089C3C94; } L_089C3C94: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-12076))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-12076))); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x089C3CA4u); aot_gpr_5 = (aot_gpr_5 & 255u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 167u, 0x08ADC88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3CA4u) goto L_089C3CA4; AOT_REGCACHE_SYNC_OUT(); return; L_089C3CA4: - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(0))); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(72), aot_gpr_5); { const bool branch_taken = aot_gpr_4 != 0u; - ctx.gpr[19] = (aot_gpr_28 + static_cast(-12040)); + ctx.gpr[19] = (ctx.gpr[28] + static_cast(-12040)); if (branch_taken) { goto L_089C3CC4; } @@ -8440,11 +8441,11 @@ L_089C3CB8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 358u, 0x08B65844u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3CC0u) goto L_089C3CC0; AOT_REGCACHE_SYNC_OUT(); return; L_089C3CC0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); goto L_089C3CC4; L_089C3CC4: aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(75))); - aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); + aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(72))); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[22])); ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(73))); @@ -8454,7 +8455,7 @@ L_089C3CC4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0002_entry, 2u, 367u, 0x0880D7F8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3CE4u) goto L_089C3CE4; AOT_REGCACHE_SYNC_OUT(); return; L_089C3CE4: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); { const bool branch_taken = aot_gpr_16 != 0u; aot_gpr_4 = (aot_gpr_16 | 0u); if (branch_taken) { @@ -8469,7 +8470,7 @@ L_089C3CF0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3CFCu) goto L_089C3CFC; AOT_REGCACHE_SYNC_OUT(); return; L_089C3CFC: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { @@ -8480,13 +8481,13 @@ L_089C3CFC: L_089C3D08: aot_gpr_31 = (0x089C3D10u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3D10u) goto L_089C3D10; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3D10u) goto L_089C3D10; AOT_REGCACHE_SYNC_OUT(); return; L_089C3D10: aot_gpr_16 = (ctx.gpr[17] | 0u); goto L_089C3D14; L_089C3D14: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); aot_gpr_4 = (aot_gpr_16 | 0u); goto L_089C3D1C; L_089C3D1C: @@ -8498,14 +8499,14 @@ L_089C3D24: aot_gpr_5 = (0u | 250u); aot_gpr_6 = (0u | 154u); aot_gpr_31 = (0x089C3D34u); - aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3D34u) goto L_089C3D34; + aot_gpr_4 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3D34u) goto L_089C3D34; AOT_REGCACHE_SYNC_OUT(); return; L_089C3D34: ctx.gpr[18] = (0u | 175u); goto L_089C3D38; L_089C3D38: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); if (aot_gpr_16 != 0u) { aot_fpr_13 = std::bit_cast(ctx.gpr[18]); goto L_089C3D54; @@ -8517,7 +8518,7 @@ L_089C3D44: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 358u, 0x08B65844u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3D4Cu) goto L_089C3D4C; AOT_REGCACHE_SYNC_OUT(); return; L_089C3D4C: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); aot_fpr_13 = std::bit_cast(ctx.gpr[18]); goto L_089C3D54; L_089C3D54: @@ -8525,7 +8526,7 @@ L_089C3D54: aot_gpr_5 = (0u | 17u); aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_13))); aot_gpr_6 = (0u | 255u); - aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); + aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); ctx.gpr[7] = (0u | 75u); ctx.gpr[8] = (0u | 151u); aot_gpr_31 = (0x089C3D78u); @@ -8533,9 +8534,9 @@ L_089C3D54: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0002_entry, 2u, 367u, 0x0880D7F8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3D78u) goto L_089C3D78; AOT_REGCACHE_SYNC_OUT(); return; L_089C3D78: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); { const bool branch_taken = aot_gpr_16 != 0u; - aot_gpr_5 = (aot_gpr_28 + static_cast(-11944)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-11944)); if (branch_taken) { goto L_089C3DB0; } @@ -8548,7 +8549,7 @@ L_089C3D84: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3D90u) goto L_089C3D90; AOT_REGCACHE_SYNC_OUT(); return; L_089C3D90: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { @@ -8559,14 +8560,14 @@ L_089C3D90: L_089C3D9C: aot_gpr_31 = (0x089C3DA4u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3DA4u) goto L_089C3DA4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3DA4u) goto L_089C3DA4; AOT_REGCACHE_SYNC_OUT(); return; L_089C3DA4: aot_gpr_16 = (ctx.gpr[17] | 0u); goto L_089C3DA8; L_089C3DA8: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); - aot_gpr_5 = (aot_gpr_28 + static_cast(-11944)); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-11944)); goto L_089C3DB0; L_089C3DB0: aot_gpr_31 = (0x089C3DB8u); @@ -8577,12 +8578,12 @@ L_089C3DB8: aot_gpr_5 = (0u | 250u); aot_gpr_6 = (ctx.gpr[18] + static_cast(-7)); aot_gpr_31 = (0x089C3DC8u); - aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3DC8u) goto L_089C3DC8; + aot_gpr_4 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3DC8u) goto L_089C3DC8; AOT_REGCACHE_SYNC_OUT(); return; L_089C3DC8: ctx.gpr[18] = (ctx.gpr[18] + static_cast(14)); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); ctx.fpr[22] = std::bit_cast(ctx.gpr[18]); ctx.fpr[22] = static_cast(static_cast(std::bit_cast(ctx.fpr[22]))); { const bool branch_taken = aot_gpr_16 != 0u; @@ -8598,11 +8599,11 @@ L_089C3DE0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 358u, 0x08B65844u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3DE8u) goto L_089C3DE8; AOT_REGCACHE_SYNC_OUT(); return; L_089C3DE8: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); goto L_089C3DEC; L_089C3DEC: aot_gpr_4 = (aot_gpr_16 | 0u); - aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); + aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_gpr_5 = (0u | 19u); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[22])); aot_gpr_6 = (0u | 255u); @@ -8613,9 +8614,9 @@ L_089C3DEC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0002_entry, 2u, 367u, 0x0880D7F8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3E10u) goto L_089C3E10; AOT_REGCACHE_SYNC_OUT(); return; L_089C3E10: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); { const bool branch_taken = aot_gpr_16 != 0u; - aot_gpr_5 = (aot_gpr_28 + static_cast(-11936)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-11936)); if (branch_taken) { goto L_089C3E48; } @@ -8628,7 +8629,7 @@ L_089C3E1C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3E28u) goto L_089C3E28; AOT_REGCACHE_SYNC_OUT(); return; L_089C3E28: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { @@ -8639,14 +8640,14 @@ L_089C3E28: L_089C3E34: aot_gpr_31 = (0x089C3E3Cu); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3E3Cu) goto L_089C3E3C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3E3Cu) goto L_089C3E3C; AOT_REGCACHE_SYNC_OUT(); return; L_089C3E3C: aot_gpr_16 = (ctx.gpr[17] | 0u); goto L_089C3E40; L_089C3E40: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), aot_gpr_16); - aot_gpr_5 = (aot_gpr_28 + static_cast(-11936)); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-11936)); goto L_089C3E48; L_089C3E48: aot_gpr_31 = (0x089C3E50u); @@ -8655,10 +8656,10 @@ L_089C3E48: AOT_REGCACHE_SYNC_OUT(); return; L_089C3E50: aot_gpr_5 = (0u | 250u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x089C3E60u); aot_gpr_6 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3E60u) goto L_089C3E60; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3E60u) goto L_089C3E60; AOT_REGCACHE_SYNC_OUT(); return; L_089C3E60: { const bool branch_taken = 0u == 0u; @@ -8669,16 +8670,16 @@ L_089C3E60: goto L_089C3E68; } L_089C3E68: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); - aot_gpr_4 = (aot_gpr_28 + static_cast(-11992)); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); + aot_gpr_4 = (ctx.gpr[28] + static_cast(-11992)); aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(92), aot_gpr_4); - aot_gpr_5 = (aot_gpr_28 + static_cast(-11984)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-11984)); aot_gpr_4 = (17264u << 16u); - ctx.gpr[18] = (aot_gpr_28 + static_cast(-12072)); - aot_fpr_20 = std::bit_cast(aot_gpr_4); - ctx.gpr[20] = (aot_gpr_28 + static_cast(-12064)); - ctx.gpr[23] = (aot_gpr_28 + static_cast(-12056)); - ctx.gpr[30] = (aot_gpr_28 + static_cast(-12048)); + ctx.gpr[18] = (ctx.gpr[28] + static_cast(-12072)); + ctx.fpr[20] = std::bit_cast(aot_gpr_4); + ctx.gpr[20] = (ctx.gpr[28] + static_cast(-12064)); + ctx.gpr[23] = (ctx.gpr[28] + static_cast(-12056)); + ctx.gpr[30] = (ctx.gpr[28] + static_cast(-12048)); { const bool branch_taken = aot_gpr_16 != 0u; aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(88), aot_gpr_5); if (branch_taken) { @@ -8692,7 +8693,7 @@ L_089C3E98: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 358u, 0x08B65844u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3EA0u) goto L_089C3EA0; AOT_REGCACHE_SYNC_OUT(); return; L_089C3EA0: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); goto L_089C3EA4; L_089C3EA4: ctx.gpr[10] = (17136u << 16u); @@ -8709,7 +8710,7 @@ L_089C3EA4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0002_entry, 2u, 367u, 0x0880D7F8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3ED0u) goto L_089C3ED0; AOT_REGCACHE_SYNC_OUT(); return; L_089C3ED0: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); { const bool branch_taken = aot_gpr_16 != 0u; aot_gpr_4 = (aot_gpr_16 | 0u); if (branch_taken) { @@ -8724,7 +8725,7 @@ L_089C3EDC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3EE8u) goto L_089C3EE8; AOT_REGCACHE_SYNC_OUT(); return; L_089C3EE8: - aot_gpr_16 = (ctx.gpr[2] | 0u); + aot_gpr_16 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_16 == 0u; // nop if (branch_taken) { @@ -8735,13 +8736,13 @@ L_089C3EE8: L_089C3EF4: aot_gpr_31 = (0x089C3EFCu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3EFCu) goto L_089C3EFC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3EFCu) goto L_089C3EFC; AOT_REGCACHE_SYNC_OUT(); return; L_089C3EFC: ctx.gpr[17] = (aot_gpr_16 | 0u); goto L_089C3F00; L_089C3F00: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), ctx.gpr[17]); aot_gpr_16 = (ctx.gpr[17] | 0u); aot_gpr_4 = (aot_gpr_16 | 0u); goto L_089C3F0C; @@ -8754,11 +8755,11 @@ L_089C3F14: aot_gpr_5 = (0u | 130u); aot_gpr_6 = (0u | 154u); aot_gpr_31 = (0x089C3F24u); - aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3F24u) goto L_089C3F24; + aot_gpr_4 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3F24u) goto L_089C3F24; AOT_REGCACHE_SYNC_OUT(); return; L_089C3F24: - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-12084))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-12084))); aot_gpr_6 = (0u | 175u); ctx.gpr[8] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); aot_gpr_4 = (ctx.gpr[22] | 0u); @@ -8767,7 +8768,7 @@ L_089C3F24: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0110_entry, 110u, 156u, 0x089BCC20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3F3Cu) goto L_089C3F3C; AOT_REGCACHE_SYNC_OUT(); return; L_089C3F3C: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); { const bool branch_taken = aot_gpr_16 != 0u; ctx.gpr[18] = (0u | 168u); if (branch_taken) { @@ -8782,7 +8783,7 @@ L_089C3F48: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3F54u) goto L_089C3F54; AOT_REGCACHE_SYNC_OUT(); return; L_089C3F54: - aot_gpr_16 = (ctx.gpr[2] | 0u); + aot_gpr_16 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_16 == 0u; // nop if (branch_taken) { @@ -8793,13 +8794,13 @@ L_089C3F54: L_089C3F60: aot_gpr_31 = (0x089C3F68u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3F68u) goto L_089C3F68; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3F68u) goto L_089C3F68; AOT_REGCACHE_SYNC_OUT(); return; L_089C3F68: ctx.gpr[17] = (aot_gpr_16 | 0u); goto L_089C3F6C; L_089C3F6C: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), ctx.gpr[17]); aot_gpr_16 = (ctx.gpr[17] | 0u); goto L_089C3F74; L_089C3F74: @@ -8810,13 +8811,13 @@ L_089C3F74: AOT_REGCACHE_SYNC_OUT(); return; L_089C3F80: aot_gpr_5 = (0u | 130u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x089C3F90u); aot_gpr_6 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3F90u) goto L_089C3F90; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3F90u) goto L_089C3F90; AOT_REGCACHE_SYNC_OUT(); return; L_089C3F90: - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-12084))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-12084))); aot_gpr_6 = (0u | 189u); ctx.gpr[8] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); aot_gpr_4 = (ctx.gpr[22] | 0u); @@ -8825,7 +8826,7 @@ L_089C3F90: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0110_entry, 110u, 156u, 0x089BCC20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3FA8u) goto L_089C3FA8; AOT_REGCACHE_SYNC_OUT(); return; L_089C3FA8: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); { const bool branch_taken = aot_gpr_16 != 0u; ctx.gpr[18] = (0u | 182u); if (branch_taken) { @@ -8840,7 +8841,7 @@ L_089C3FB4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3FC0u) goto L_089C3FC0; AOT_REGCACHE_SYNC_OUT(); return; L_089C3FC0: - aot_gpr_16 = (ctx.gpr[2] | 0u); + aot_gpr_16 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_16 == 0u; // nop if (branch_taken) { @@ -8851,13 +8852,13 @@ L_089C3FC0: L_089C3FCC: aot_gpr_31 = (0x089C3FD4u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3FD4u) goto L_089C3FD4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3FD4u) goto L_089C3FD4; AOT_REGCACHE_SYNC_OUT(); return; L_089C3FD4: ctx.gpr[17] = (aot_gpr_16 | 0u); goto L_089C3FD8; L_089C3FD8: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), ctx.gpr[17]); aot_gpr_16 = (ctx.gpr[17] | 0u); goto L_089C3FE0; L_089C3FE0: @@ -8868,13 +8869,13 @@ L_089C3FE0: AOT_REGCACHE_SYNC_OUT(); return; L_089C3FEC: aot_gpr_5 = (0u | 130u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x089C3FFCu); aot_gpr_6 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3FFCu) goto L_089C3FFC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C3FFCu) goto L_089C3FFC; AOT_REGCACHE_SYNC_OUT(); return; L_089C3FFC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-12080))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-12080))); ctx.pc = 0x089C4000u; AOT_REGCACHE_SYNC_OUT(); return; } diff --git a/profiles/vcs/generated/generated_unit_0112.cpp b/profiles/vcs/generated/generated_unit_0112.cpp index 3a79564..f1dcd72 100644 --- a/profiles/vcs/generated/generated_unit_0112.cpp +++ b/profiles/vcs/generated/generated_unit_0112.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0112[4095] = { }; void recomp_unit_0112_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,6,31,16,29 fprs=12,13,14,20 gpr_occ=3956 fpr_occ=629 gpr_total=5388 fpr_total=1049 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,31,6,29,2 fprs=12,13,14,15 gpr_occ=4121 fpr_occ=690 gpr_total=5960 fpr_total=1121 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; - std::uint32_t aot_gpr_6 = ctx.gpr[6]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; - std::uint32_t aot_gpr_16 = ctx.gpr[16]; + std::uint32_t aot_gpr_6 = ctx.gpr[6]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; + std::uint32_t aot_gpr_2 = ctx.gpr[2]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_14 = ctx.fpr[14]; - float aot_fpr_20 = ctx.fpr[20]; + float aot_fpr_15 = ctx.fpr[15]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[6] = aot_gpr_6; ctx.gpr[31] = aot_gpr_31; ctx.gpr[16] = aot_gpr_16; ctx.gpr[29] = aot_gpr_29; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[20] = aot_fpr_20; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_29 = ctx.gpr[29]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_20 = ctx.fpr[20]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[31] = aot_gpr_31; ctx.gpr[6] = aot_gpr_6; ctx.gpr[29] = aot_gpr_29; ctx.gpr[2] = aot_gpr_2; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[15] = aot_fpr_15; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_2 = ctx.gpr[2]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_15 = ctx.fpr[15]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -1103,8 +1104,8 @@ L_089C4000: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0110_entry, 110u, 156u, 0x089BCC20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C4020u) goto L_089C4020; AOT_REGCACHE_SYNC_OUT(); return; L_089C4020: - aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); - { const bool branch_taken = aot_gpr_16 != 0u; + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); + { const bool branch_taken = ctx.gpr[16] != 0u; ctx.gpr[18] = (0u | 196u); if (branch_taken) { goto L_089C4054; @@ -1112,13 +1113,13 @@ L_089C4020: goto L_089C402C; } L_089C402C: - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); aot_gpr_31 = (0x089C4038u); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C4038u) goto L_089C4038; AOT_REGCACHE_SYNC_OUT(); return; L_089C4038: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { @@ -1129,26 +1130,26 @@ L_089C4038: L_089C4044: aot_gpr_31 = (0x089C404Cu); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C404Cu) goto L_089C404C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C404Cu) goto L_089C404C; AOT_REGCACHE_SYNC_OUT(); return; L_089C404C: - aot_gpr_16 = (ctx.gpr[17] | 0u); + ctx.gpr[16] = (ctx.gpr[17] | 0u); goto L_089C4050; L_089C4050: - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), ctx.gpr[16]); goto L_089C4054; L_089C4054: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089C4060u); aot_gpr_5 = (ctx.gpr[30] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C4060u) goto L_089C4060; AOT_REGCACHE_SYNC_OUT(); return; L_089C4060: aot_gpr_5 = (0u | 130u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x089C4070u); aot_gpr_6 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C4070u) goto L_089C4070; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C4070u) goto L_089C4070; AOT_REGCACHE_SYNC_OUT(); return; L_089C4070: ctx.gpr[30] = (0u | 147u); @@ -1157,7 +1158,7 @@ L_089C4070: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 348u, 0x08ADD468u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C407Cu) goto L_089C407C; AOT_REGCACHE_SYNC_OUT(); return; L_089C407C: - aot_gpr_5 = (static_cast(ctx.gpr[2]) < 2 ? 1u : 0u); + aot_gpr_5 = (static_cast(aot_gpr_2) < 2 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 != 0u; aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(100))); if (branch_taken) { @@ -1167,14 +1168,14 @@ L_089C407C: } L_089C4088: aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(52))); - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); aot_gpr_31 = (0x089C4098u); aot_gpr_4 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 101u, 0x08ADC560u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C4098u) goto L_089C4098; AOT_REGCACHE_SYNC_OUT(); return; L_089C4098: ctx.gpr[18] = (ctx.gpr[28] + static_cast(-12040)); - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; ctx.gpr[30] = (ctx.gpr[28] + static_cast(-12032)); if (branch_taken) { goto L_089C40A8; @@ -1182,18 +1183,18 @@ L_089C4098: goto L_089C40A4; } L_089C40A4: - aot_gpr_16 = (0u | 1u); + ctx.gpr[16] = (0u | 1u); goto L_089C40A8; L_089C40A8: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x089C40B4u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 154u, 0x08ADC7BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C40B4u) goto L_089C40B4; AOT_REGCACHE_SYNC_OUT(); return; L_089C40B4: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(0))); - aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); - { const bool branch_taken = aot_gpr_16 != 0u; + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(0))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); + { const bool branch_taken = ctx.gpr[16] != 0u; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(80), aot_gpr_4); if (branch_taken) { goto L_089C40D0; @@ -1206,39 +1207,39 @@ L_089C40C4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 358u, 0x08B65844u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C40CCu) goto L_089C40CC; AOT_REGCACHE_SYNC_OUT(); return; L_089C40CC: - aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); goto L_089C40D0; L_089C40D0: aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(83))); - ctx.fpr[24] = std::bit_cast(std::bit_cast(aot_fpr_20)); + ctx.fpr[24] = std::bit_cast(std::bit_cast(ctx.fpr[20])); ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(80))); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[24])); ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(81))); ctx.gpr[10] = (17171u << 16u); ctx.gpr[9] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(82))); aot_fpr_13 = std::bit_cast(ctx.gpr[10]); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089C40FCu); aot_gpr_5 = (0u | 15u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0002_entry, 2u, 367u, 0x0880D7F8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C40FCu) goto L_089C40FC; AOT_REGCACHE_SYNC_OUT(); return; L_089C40FC: - aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); - { const bool branch_taken = aot_gpr_16 != 0u; - aot_gpr_4 = (aot_gpr_16 | 0u); + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); + { const bool branch_taken = ctx.gpr[16] != 0u; + aot_gpr_4 = (ctx.gpr[16] | 0u); if (branch_taken) { goto L_089C4134; } goto L_089C4108; } L_089C4108: - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); aot_gpr_31 = (0x089C4114u); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C4114u) goto L_089C4114; AOT_REGCACHE_SYNC_OUT(); return; L_089C4114: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { @@ -1249,14 +1250,14 @@ L_089C4114: L_089C4120: aot_gpr_31 = (0x089C4128u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C4128u) goto L_089C4128; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C4128u) goto L_089C4128; AOT_REGCACHE_SYNC_OUT(); return; L_089C4128: - aot_gpr_16 = (ctx.gpr[17] | 0u); + ctx.gpr[16] = (ctx.gpr[17] | 0u); goto L_089C412C; L_089C412C: - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), ctx.gpr[16]); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_089C4134; L_089C4134: aot_gpr_31 = (0x089C413Cu); @@ -1267,8 +1268,8 @@ L_089C413C: aot_gpr_5 = (0u | 250u); aot_gpr_6 = (0u | 140u); aot_gpr_31 = (0x089C414Cu); - aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C414Cu) goto L_089C414C; + aot_gpr_4 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C414Cu) goto L_089C414C; AOT_REGCACHE_SYNC_OUT(); return; L_089C414C: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(100))); @@ -1280,20 +1281,20 @@ L_089C414C: L_089C415C: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x089C4168u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 154u, 0x08ADC7BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C4168u) goto L_089C4168; AOT_REGCACHE_SYNC_OUT(); return; L_089C4168: - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(0))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(80), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(1))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(1))); aot_gpr_6 = (17185u << 16u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(81), static_cast(aot_gpr_4)); ctx.fpr[22] = std::bit_cast(aot_gpr_6); - aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(2))); + aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(2))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(82), static_cast(aot_gpr_5)); - aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(3))); + aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(3))); ctx.gpr[18] = (0u | 154u); { const bool branch_taken = aot_gpr_4 != 0u; aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(83), static_cast(aot_gpr_5)); @@ -1322,22 +1323,22 @@ L_089C41A8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0002_entry, 2u, 367u, 0x0880D7F8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C41C8u) goto L_089C41C8; AOT_REGCACHE_SYNC_OUT(); return; L_089C41C8: - aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); - { const bool branch_taken = aot_gpr_16 != 0u; - aot_gpr_4 = (aot_gpr_16 | 0u); + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); + { const bool branch_taken = ctx.gpr[16] != 0u; + aot_gpr_4 = (ctx.gpr[16] | 0u); if (branch_taken) { goto L_089C4200; } goto L_089C41D4; } L_089C41D4: - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); aot_gpr_31 = (0x089C41E0u); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C41E0u) goto L_089C41E0; AOT_REGCACHE_SYNC_OUT(); return; L_089C41E0: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { @@ -1348,14 +1349,14 @@ L_089C41E0: L_089C41EC: aot_gpr_31 = (0x089C41F4u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C41F4u) goto L_089C41F4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C41F4u) goto L_089C41F4; AOT_REGCACHE_SYNC_OUT(); return; L_089C41F4: - aot_gpr_16 = (ctx.gpr[17] | 0u); + ctx.gpr[16] = (ctx.gpr[17] | 0u); goto L_089C41F8; L_089C41F8: - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), ctx.gpr[16]); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_089C4200; L_089C4200: aot_gpr_31 = (0x089C4208u); @@ -1364,10 +1365,10 @@ L_089C4200: AOT_REGCACHE_SYNC_OUT(); return; L_089C4208: aot_gpr_5 = (0u | 250u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x089C4218u); aot_gpr_6 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C4218u) goto L_089C4218; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C4218u) goto L_089C4218; AOT_REGCACHE_SYNC_OUT(); return; L_089C4218: ctx.gpr[30] = (0u | 175u); @@ -1380,14 +1381,14 @@ L_089C4220: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 101u, 0x08ADC560u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C422Cu) goto L_089C422C; AOT_REGCACHE_SYNC_OUT(); return; L_089C422C: - aot_gpr_5 = (ctx.gpr[2] < static_cast(1) ? 1u : 0u); + aot_gpr_5 = (aot_gpr_2 < static_cast(1) ? 1u : 0u); aot_gpr_5 = (aot_gpr_5 & 65535u); aot_gpr_31 = (0x089C423Cu); aot_gpr_4 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 155u, 0x08ADC7D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C423Cu) goto L_089C423C; AOT_REGCACHE_SYNC_OUT(); return; L_089C423C: - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(0))); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(0))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); { const bool branch_taken = aot_gpr_4 != 0u; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(76), aot_gpr_5); @@ -1410,27 +1411,27 @@ L_089C4258: ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(76))); aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_13))); ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(77))); - aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); + aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); ctx.gpr[9] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(78))); aot_gpr_31 = (0x089C427Cu); aot_gpr_5 = (0u | 13u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0002_entry, 2u, 367u, 0x0880D7F8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C427Cu) goto L_089C427C; AOT_REGCACHE_SYNC_OUT(); return; L_089C427C: - aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); - if (aot_gpr_16 != 0u) { + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); + if (ctx.gpr[16] != 0u) { aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(88))); goto L_089C42B4; } goto L_089C4288; L_089C4288: - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); aot_gpr_31 = (0x089C4294u); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C4294u) goto L_089C4294; AOT_REGCACHE_SYNC_OUT(); return; L_089C4294: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { @@ -1441,26 +1442,26 @@ L_089C4294: L_089C42A0: aot_gpr_31 = (0x089C42A8u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C42A8u) goto L_089C42A8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C42A8u) goto L_089C42A8; AOT_REGCACHE_SYNC_OUT(); return; L_089C42A8: - aot_gpr_16 = (ctx.gpr[17] | 0u); + ctx.gpr[16] = (ctx.gpr[17] | 0u); goto L_089C42AC; L_089C42AC: - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), ctx.gpr[16]); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(88))); goto L_089C42B4; L_089C42B4: aot_gpr_31 = (0x089C42BCu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C42BCu) goto L_089C42BC; AOT_REGCACHE_SYNC_OUT(); return; L_089C42BC: aot_gpr_5 = (0u | 250u); aot_gpr_6 = (ctx.gpr[30] + static_cast(-7)); aot_gpr_31 = (0x089C42CCu); - aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C42CCu) goto L_089C42CC; + aot_gpr_4 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C42CCu) goto L_089C42CC; AOT_REGCACHE_SYNC_OUT(); return; L_089C42CC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(100))); @@ -1473,21 +1474,21 @@ L_089C42CC: L_089C42E0: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x089C42ECu); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 155u, 0x08ADC7D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C42ECu) goto L_089C42EC; AOT_REGCACHE_SYNC_OUT(); return; L_089C42EC: - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(0))); ctx.fpr[22] = std::bit_cast(ctx.gpr[30]); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(76), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(1))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(1))); ctx.fpr[22] = static_cast(static_cast(std::bit_cast(ctx.fpr[22]))); - aot_gpr_16 = (ctx.gpr[30] + static_cast(-7)); + ctx.gpr[16] = (ctx.gpr[30] + static_cast(-7)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(77), static_cast(aot_gpr_4)); - aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(2))); + aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(2))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(78), static_cast(aot_gpr_5)); - aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(3))); + aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(3))); { const bool branch_taken = aot_gpr_4 != 0u; aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(79), static_cast(aot_gpr_5)); if (branch_taken) { @@ -1505,7 +1506,7 @@ L_089C4328: goto L_089C432C; L_089C432C: aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(79))); - aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); + aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(76))); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[22])); ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(77))); @@ -1528,7 +1529,7 @@ L_089C4358: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C4364u) goto L_089C4364; AOT_REGCACHE_SYNC_OUT(); return; L_089C4364: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[18] == 0u; // nop if (branch_taken) { @@ -1539,7 +1540,7 @@ L_089C4364: L_089C4370: aot_gpr_31 = (0x089C4378u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C4378u) goto L_089C4378; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C4378u) goto L_089C4378; AOT_REGCACHE_SYNC_OUT(); return; L_089C4378: ctx.gpr[17] = (ctx.gpr[18] | 0u); @@ -1555,10 +1556,10 @@ L_089C4384: AOT_REGCACHE_SYNC_OUT(); return; L_089C438C: aot_gpr_5 = (0u | 250u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x089C439Cu); - aot_gpr_6 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C439Cu) goto L_089C439C; + aot_gpr_6 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C439Cu) goto L_089C439C; AOT_REGCACHE_SYNC_OUT(); return; L_089C439C: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(100))); @@ -1570,21 +1571,21 @@ L_089C439C: L_089C43AC: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x089C43B8u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 155u, 0x08ADC7D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C43B8u) goto L_089C43B8; AOT_REGCACHE_SYNC_OUT(); return; L_089C43B8: - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(0))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(76), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(1))); - aot_gpr_16 = (ctx.gpr[30] + static_cast(14)); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(1))); + ctx.gpr[16] = (ctx.gpr[30] + static_cast(14)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(77), static_cast(aot_gpr_4)); - ctx.fpr[22] = std::bit_cast(aot_gpr_16); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(2))); + ctx.fpr[22] = std::bit_cast(ctx.gpr[16]); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(2))); ctx.fpr[22] = static_cast(static_cast(std::bit_cast(ctx.fpr[22]))); - aot_gpr_16 = (aot_gpr_16 + static_cast(-7)); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(-7)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(78), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(3))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(3))); ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); { const bool branch_taken = ctx.gpr[19] != 0u; aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(79), static_cast(aot_gpr_4)); @@ -1603,7 +1604,7 @@ L_089C43F8: goto L_089C43FC; L_089C43FC: aot_gpr_4 = (ctx.gpr[19] | 0u); - aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); + aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_gpr_5 = (0u | 52u); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[22])); aot_gpr_6 = (0u | 255u); @@ -1629,7 +1630,7 @@ L_089C442C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C4438u) goto L_089C4438; AOT_REGCACHE_SYNC_OUT(); return; L_089C4438: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[18] == 0u; // nop if (branch_taken) { @@ -1640,7 +1641,7 @@ L_089C4438: L_089C4444: aot_gpr_31 = (0x089C444Cu); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C444Cu) goto L_089C444C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C444Cu) goto L_089C444C; AOT_REGCACHE_SYNC_OUT(); return; L_089C444C: ctx.gpr[17] = (ctx.gpr[18] | 0u); @@ -1656,10 +1657,10 @@ L_089C4458: AOT_REGCACHE_SYNC_OUT(); return; L_089C4460: aot_gpr_5 = (0u | 250u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x089C4470u); - aot_gpr_6 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C4470u) goto L_089C4470; + aot_gpr_6 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C4470u) goto L_089C4470; AOT_REGCACHE_SYNC_OUT(); return; L_089C4470: { const bool branch_taken = 0u == 0u; @@ -1675,7 +1676,7 @@ L_089C4478: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 348u, 0x08ADD468u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C4480u) goto L_089C4480; AOT_REGCACHE_SYNC_OUT(); return; L_089C4480: - aot_gpr_4 = (static_cast(ctx.gpr[2]) < 2 ? 1u : 0u); + aot_gpr_4 = (static_cast(aot_gpr_2) < 2 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -1693,9 +1694,9 @@ L_089C448C: AOT_REGCACHE_SYNC_OUT(); return; L_089C44A0: aot_gpr_4 = (17185u << 16u); - aot_gpr_16 = (ctx.gpr[28] + static_cast(-12040)); - aot_fpr_20 = std::bit_cast(aot_gpr_4); - { const bool branch_taken = ctx.gpr[2] != 0u; + ctx.gpr[16] = (ctx.gpr[28] + static_cast(-12040)); + ctx.fpr[20] = std::bit_cast(aot_gpr_4); + { const bool branch_taken = aot_gpr_2 != 0u; ctx.gpr[17] = (ctx.gpr[28] + static_cast(-12032)); if (branch_taken) { goto L_089C44B8; @@ -1712,7 +1713,7 @@ L_089C44B8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 154u, 0x08ADC7BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C44C4u) goto L_089C44C4; AOT_REGCACHE_SYNC_OUT(); return; L_089C44C4: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(0))); ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); { const bool branch_taken = ctx.gpr[18] != 0u; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(84), aot_gpr_4); @@ -1731,7 +1732,7 @@ L_089C44DC: goto L_089C44E0; L_089C44E0: aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(87))); - aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); + aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[20])); ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(84))); ctx.gpr[10] = (17136u << 16u); ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(85))); @@ -1759,7 +1760,7 @@ L_089C4518: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C4524u) goto L_089C4524; AOT_REGCACHE_SYNC_OUT(); return; L_089C4524: - ctx.gpr[20] = (ctx.gpr[2] | 0u); + ctx.gpr[20] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[20] == 0u; // nop if (branch_taken) { @@ -1770,7 +1771,7 @@ L_089C4524: L_089C4530: aot_gpr_31 = (0x089C4538u); aot_gpr_4 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C4538u) goto L_089C4538; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C4538u) goto L_089C4538; AOT_REGCACHE_SYNC_OUT(); return; L_089C4538: ctx.gpr[18] = (ctx.gpr[20] | 0u); @@ -1781,15 +1782,15 @@ L_089C453C: goto L_089C4544; L_089C4544: aot_gpr_31 = (0x089C454Cu); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C454Cu) goto L_089C454C; AOT_REGCACHE_SYNC_OUT(); return; L_089C454C: aot_gpr_5 = (0u | 130u); aot_gpr_6 = (0u | 154u); aot_gpr_31 = (0x089C455Cu); - aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C455Cu) goto L_089C455C; + aot_gpr_4 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C455Cu) goto L_089C455C; AOT_REGCACHE_SYNC_OUT(); return; L_089C455C: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(100))); @@ -1801,21 +1802,21 @@ L_089C455C: L_089C456C: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x089C4578u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 154u, 0x08ADC7BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C4578u) goto L_089C4578; AOT_REGCACHE_SYNC_OUT(); return; L_089C4578: - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(0))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(84), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(1))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(1))); aot_gpr_6 = (17199u << 16u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(85), static_cast(aot_gpr_4)); ctx.fpr[22] = std::bit_cast(aot_gpr_6); - aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(2))); + aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(2))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(86), static_cast(aot_gpr_5)); - aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(3))); - aot_gpr_16 = (0u | 168u); + aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(3))); + ctx.gpr[16] = (0u | 168u); { const bool branch_taken = aot_gpr_4 != 0u; aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(87), static_cast(aot_gpr_5)); if (branch_taken) { @@ -1858,7 +1859,7 @@ L_089C45E4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C45F0u) goto L_089C45F0; AOT_REGCACHE_SYNC_OUT(); return; L_089C45F0: - ctx.gpr[20] = (ctx.gpr[2] | 0u); + ctx.gpr[20] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[20] == 0u; // nop if (branch_taken) { @@ -1869,7 +1870,7 @@ L_089C45F0: L_089C45FC: aot_gpr_31 = (0x089C4604u); aot_gpr_4 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C4604u) goto L_089C4604; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C4604u) goto L_089C4604; AOT_REGCACHE_SYNC_OUT(); return; L_089C4604: ctx.gpr[18] = (ctx.gpr[20] | 0u); @@ -1885,10 +1886,10 @@ L_089C4610: AOT_REGCACHE_SYNC_OUT(); return; L_089C4618: aot_gpr_5 = (0u | 130u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x089C4628u); - aot_gpr_6 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C4628u) goto L_089C4628; + aot_gpr_6 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C4628u) goto L_089C4628; AOT_REGCACHE_SYNC_OUT(); return; L_089C4628: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(48))); @@ -1900,17 +1901,17 @@ L_089C4628: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 154u, 0x08ADC7BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C4640u) goto L_089C4640; AOT_REGCACHE_SYNC_OUT(); return; L_089C4640: - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(0))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(84), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(1))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(1))); aot_gpr_5 = (17213u << 16u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(85), static_cast(aot_gpr_4)); ctx.fpr[22] = std::bit_cast(aot_gpr_5); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(2))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(2))); ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(86), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(3))); - aot_gpr_16 = (0u | 182u); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(3))); + ctx.gpr[16] = (0u | 182u); { const bool branch_taken = ctx.gpr[19] != 0u; aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(87), static_cast(aot_gpr_4)); if (branch_taken) { @@ -1954,7 +1955,7 @@ L_089C46B0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C46BCu) goto L_089C46BC; AOT_REGCACHE_SYNC_OUT(); return; L_089C46BC: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[18] == 0u; // nop if (branch_taken) { @@ -1965,7 +1966,7 @@ L_089C46BC: L_089C46C8: aot_gpr_31 = (0x089C46D0u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C46D0u) goto L_089C46D0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C46D0u) goto L_089C46D0; AOT_REGCACHE_SYNC_OUT(); return; L_089C46D0: ctx.gpr[17] = (ctx.gpr[18] | 0u); @@ -1981,15 +1982,15 @@ L_089C46DC: AOT_REGCACHE_SYNC_OUT(); return; L_089C46E4: aot_gpr_5 = (0u | 130u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x089C46F4u); - aot_gpr_6 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C46F4u) goto L_089C46F4; + aot_gpr_6 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C46F4u) goto L_089C46F4; AOT_REGCACHE_SYNC_OUT(); return; L_089C46F4: - aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); - if (aot_gpr_16 != 0u) { - aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); + if (ctx.gpr[16] != 0u) { + aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[20])); goto L_089C4710; } goto L_089C4700; @@ -1999,15 +2000,15 @@ L_089C4700: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 358u, 0x08B65844u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C4708u) goto L_089C4708; AOT_REGCACHE_SYNC_OUT(); return; L_089C4708: - aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); - aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); + aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[20])); goto L_089C4710; L_089C4710: ctx.gpr[9] = (17259u << 16u); - aot_fpr_20 = std::bit_cast(ctx.gpr[9]); - aot_gpr_4 = (aot_gpr_16 | 0u); + ctx.fpr[20] = std::bit_cast(ctx.gpr[9]); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 51u); - aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); + aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_gpr_6 = (0u | 255u); ctx.gpr[7] = (0u | 255u); ctx.gpr[8] = (0u | 255u); @@ -2016,8 +2017,8 @@ L_089C4710: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0002_entry, 2u, 367u, 0x0880D7F8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C4738u) goto L_089C4738; AOT_REGCACHE_SYNC_OUT(); return; L_089C4738: - aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); - { const bool branch_taken = aot_gpr_16 != 0u; + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); + { const bool branch_taken = ctx.gpr[16] != 0u; aot_gpr_5 = (ctx.gpr[28] + static_cast(-11912)); if (branch_taken) { goto L_089C4770; @@ -2025,13 +2026,13 @@ L_089C4738: goto L_089C4744; } L_089C4744: - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); aot_gpr_31 = (0x089C4750u); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C4750u) goto L_089C4750; AOT_REGCACHE_SYNC_OUT(); return; L_089C4750: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { @@ -2042,33 +2043,33 @@ L_089C4750: L_089C475C: aot_gpr_31 = (0x089C4764u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C4764u) goto L_089C4764; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C4764u) goto L_089C4764; AOT_REGCACHE_SYNC_OUT(); return; L_089C4764: - aot_gpr_16 = (ctx.gpr[17] | 0u); + ctx.gpr[16] = (ctx.gpr[17] | 0u); goto L_089C4768; L_089C4768: - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), ctx.gpr[16]); aot_gpr_5 = (ctx.gpr[28] + static_cast(-11912)); goto L_089C4770; L_089C4770: aot_gpr_31 = (0x089C4778u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C4778u) goto L_089C4778; AOT_REGCACHE_SYNC_OUT(); return; L_089C4778: aot_gpr_5 = (0u | 245u); aot_gpr_6 = (0u | 154u); aot_gpr_31 = (0x089C4788u); - aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C4788u) goto L_089C4788; + aot_gpr_4 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C4788u) goto L_089C4788; AOT_REGCACHE_SYNC_OUT(); return; L_089C4788: ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); aot_gpr_4 = (17199u << 16u); ctx.fpr[22] = std::bit_cast(aot_gpr_4); { const bool branch_taken = ctx.gpr[17] != 0u; - aot_gpr_16 = (0u | 168u); + ctx.gpr[16] = (0u | 168u); if (branch_taken) { goto L_089C47A8; } @@ -2084,7 +2085,7 @@ L_089C47A4: goto L_089C47A8; L_089C47A8: aot_gpr_4 = (ctx.gpr[17] | 0u); - aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); + aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_gpr_5 = (0u | 13u); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[22])); aot_gpr_6 = (0u | 255u); @@ -2110,7 +2111,7 @@ L_089C47D8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C47E4u) goto L_089C47E4; AOT_REGCACHE_SYNC_OUT(); return; L_089C47E4: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[18] == 0u; // nop if (branch_taken) { @@ -2121,7 +2122,7 @@ L_089C47E4: L_089C47F0: aot_gpr_31 = (0x089C47F8u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C47F8u) goto L_089C47F8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C47F8u) goto L_089C47F8; AOT_REGCACHE_SYNC_OUT(); return; L_089C47F8: ctx.gpr[17] = (ctx.gpr[18] | 0u); @@ -2137,18 +2138,18 @@ L_089C4804: AOT_REGCACHE_SYNC_OUT(); return; L_089C480C: aot_gpr_5 = (0u | 245u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x089C481Cu); - aot_gpr_6 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C481Cu) goto L_089C481C; + aot_gpr_6 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C481Cu) goto L_089C481C; AOT_REGCACHE_SYNC_OUT(); return; L_089C481C: { std::uint32_t aot_run_words[13]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(96), aot_run_words); - aot_fpr_20 = std::bit_cast(aot_run_words[0]); + ctx.fpr[20] = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); - aot_gpr_16 = aot_run_words[3]; + ctx.gpr[16] = aot_run_words[3]; ctx.gpr[17] = aot_run_words[4]; ctx.gpr[18] = aot_run_words[5]; ctx.gpr[19] = aot_run_words[6]; @@ -2173,12 +2174,12 @@ L_089C4858: aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(56))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(468), ctx.gpr[17]); ctx.gpr[17] = (0u | 1u); - { const std::uint32_t aot_run_words[5]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), aot_gpr_16}; + { const std::uint32_t aot_run_words[5]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), ctx.gpr[16]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(448), aot_run_words); } { const std::uint32_t aot_run_words[3]{ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(476), aot_run_words); } { const bool branch_taken = aot_gpr_5 == 0u; - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_089C48A8; } @@ -2252,7 +2253,7 @@ L_089C48F0: } L_089C48FC: aot_gpr_31 = (0x089C4904u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0109_entry, 109u, 689u, 0x089BB298u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C4904u) goto L_089C4904; AOT_REGCACHE_SYNC_OUT(); return; L_089C4904: @@ -2263,7 +2264,7 @@ L_089C4904: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0032_entry, 32u, 843u, 0x08887B04u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C4914u) goto L_089C4914; AOT_REGCACHE_SYNC_OUT(); return; L_089C4914: - aot_fpr_20 = std::bit_cast(0u); + ctx.fpr[20] = std::bit_cast(0u); aot_gpr_31 = (0x089C4920u); aot_gpr_4 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 78u, 0x08B0C5C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C4920u) goto L_089C4920; @@ -2272,7 +2273,7 @@ L_089C4920: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(60))); aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(61))); aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(62))); - ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(11221))); + ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(11221))); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_5 = (aot_gpr_5 & 255u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(0), static_cast(aot_gpr_4)); @@ -2283,11 +2284,11 @@ L_089C4920: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(3), static_cast(ctx.gpr[7])); aot_gpr_31 = (0x089C4958u); aot_gpr_4 = (aot_gpr_29 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C4958u) goto L_089C4958; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C4A8, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C4958u) goto L_089C4958; AOT_REGCACHE_SYNC_OUT(); return; L_089C4958: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(11236))); - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(11237))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(11236))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(11237))); aot_gpr_6 = (aot_gpr_4 << 4u); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_6 + aot_gpr_4); @@ -2305,47 +2306,47 @@ L_089C4958: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 75u, 0x08B0C580u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C4998u) goto L_089C4998; AOT_REGCACHE_SYNC_OUT(); return; L_089C4998: - ctx.fpr[15] = ctx.fpr[24] + ctx.fpr[0]; + aot_fpr_15 = ctx.fpr[24] + ctx.fpr[0]; aot_gpr_4 = (ctx.gpr[20] | 0u); - aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); + aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[24])); aot_gpr_31 = (0x089C49B0u); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[22])); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C49B0u) goto L_089C49B0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08873400, 27u, 732u, 0x08873400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C49B0u) goto L_089C49B0; AOT_REGCACHE_SYNC_OUT(); return; L_089C49B0: aot_gpr_31 = (0x089C49B8u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 64u, 0x08B0C4D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C49B8u) goto L_089C49B8; AOT_REGCACHE_SYNC_OUT(); return; L_089C49B8: aot_gpr_5 = (17391u << 16u); - aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); + aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_fpr_14 = std::bit_cast(aot_gpr_5); aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_5 = (17287u << 16u); - aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); + aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_gpr_31 = (0x089C49D8u); - ctx.fpr[15] = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C49D8u) goto L_089C49D8; + aot_fpr_15 = std::bit_cast(aot_gpr_5); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08873400, 27u, 732u, 0x08873400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C49D8u) goto L_089C49D8; AOT_REGCACHE_SYNC_OUT(); return; L_089C49D8: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_6 = (0u | 0u); - ctx.gpr[7] = (ctx.gpr[2] | 0u); + ctx.gpr[7] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x089C49F0u); ctx.gpr[8] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 90u, 0x08B0C660u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C49F0u) goto L_089C49F0; AOT_REGCACHE_SYNC_OUT(); return; L_089C49F0: - ctx.fpr[24] = std::bit_cast(ctx.gpr[2]); + ctx.fpr[24] = std::bit_cast(aot_gpr_2); aot_gpr_4 = (ctx.gpr[19] | 0u); ctx.fpr[24] = static_cast(static_cast(std::bit_cast(ctx.fpr[24]))); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x089C4A08u); aot_gpr_6 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C4A08u) goto L_089C4A08; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C4A08u) goto L_089C4A08; AOT_REGCACHE_SYNC_OUT(); return; L_089C4A08: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(4)))))); @@ -2373,7 +2374,7 @@ L_089C4A24: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C4A30u) goto L_089C4A30; AOT_REGCACHE_SYNC_OUT(); return; L_089C4A30: - ctx.gpr[20] = (ctx.gpr[2] | 0u); + ctx.gpr[20] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[20] == 0u; // nop if (branch_taken) { @@ -2384,7 +2385,7 @@ L_089C4A30: L_089C4A3C: aot_gpr_31 = (0x089C4A44u); aot_gpr_4 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C4A44u) goto L_089C4A44; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C4A44u) goto L_089C4A44; AOT_REGCACHE_SYNC_OUT(); return; L_089C4A44: ctx.gpr[19] = (ctx.gpr[20] | 0u); @@ -2399,7 +2400,7 @@ L_089C4A4C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C4A58u) goto L_089C4A58; AOT_REGCACHE_SYNC_OUT(); return; L_089C4A58: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x089C4A64u); aot_gpr_4 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 78u, 0x08B0C5C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C4A64u) goto L_089C4A64; @@ -2408,7 +2409,7 @@ L_089C4A64: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(60))); aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(61))); aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(62))); - ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(11221))); + ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(11221))); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_5 = (aot_gpr_5 & 255u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(420), static_cast(aot_gpr_4)); @@ -2419,12 +2420,12 @@ L_089C4A64: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(423), static_cast(ctx.gpr[7])); aot_gpr_31 = (0x089C4A9Cu); aot_gpr_4 = (aot_gpr_29 + static_cast(420)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C4A9Cu) goto L_089C4A9C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C4A8, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C4A9Cu) goto L_089C4A9C; AOT_REGCACHE_SYNC_OUT(); return; L_089C4A9C: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(11236))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(11236))); aot_fpr_12 = ctx.fpr[22] - ctx.fpr[24]; - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(11237))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(11237))); aot_gpr_6 = (aot_gpr_4 << 4u); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_6 + aot_gpr_4); @@ -2450,17 +2451,17 @@ L_089C4ADC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 75u, 0x08B0C580u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C4AF0u) goto L_089C4AF0; AOT_REGCACHE_SYNC_OUT(); return; L_089C4AF0: - ctx.fpr[15] = ctx.fpr[22] + ctx.fpr[0]; + aot_fpr_15 = ctx.fpr[22] + ctx.fpr[0]; aot_gpr_4 = (ctx.gpr[20] | 0u); - aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); + aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[22])); aot_gpr_31 = (0x089C4B08u); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[24])); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C4B08u) goto L_089C4B08; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08873400, 27u, 732u, 0x08873400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C4B08u) goto L_089C4B08; AOT_REGCACHE_SYNC_OUT(); return; L_089C4B08: aot_gpr_31 = (0x089C4B10u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 64u, 0x08B0C4D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C4B10u) goto L_089C4B10; AOT_REGCACHE_SYNC_OUT(); return; L_089C4B10: @@ -2468,7 +2469,7 @@ L_089C4B10: aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x089C4B20u); aot_gpr_6 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C4B20u) goto L_089C4B20; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C4B20u) goto L_089C4B20; AOT_REGCACHE_SYNC_OUT(); return; L_089C4B20: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(56))); @@ -2482,18 +2483,18 @@ L_089C4B24: goto L_089C4B2C; } L_089C4B2C: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(11236))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(11236))); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(11236), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(11236), static_cast(aot_gpr_4)); goto L_089C4B38; L_089C4B38: { std::uint32_t aot_run_words[10]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(448), aot_run_words); - aot_fpr_20 = std::bit_cast(aot_run_words[0]); + ctx.fpr[20] = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); ctx.fpr[26] = std::bit_cast(aot_run_words[3]); - aot_gpr_16 = aot_run_words[4]; + ctx.gpr[16] = aot_run_words[4]; ctx.gpr[17] = aot_run_words[5]; ctx.gpr[18] = aot_run_words[6]; ctx.gpr[19] = aot_run_words[7]; @@ -2509,17 +2510,17 @@ L_089C4B38: L_089C4B68: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(9269))); - { const std::uint32_t aot_run_words[5]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), aot_gpr_16, aot_gpr_31}; + { const std::uint32_t aot_run_words[5]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), ctx.gpr[16], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(20), aot_run_words); } { const bool branch_taken = aot_gpr_5 == 0u; - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_089C4BAC; } goto L_089C4B8C; } L_089C4B8C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(10832))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(10832))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -2528,11 +2529,11 @@ L_089C4B8C: goto L_089C4B98; } L_089C4B98: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(10848), 0u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(10840), 0u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(10844), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(10848), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(10840), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(10844), 0u); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(10836), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(10836), 0u); if (branch_taken) { goto L_089C4F70; } @@ -2547,9 +2548,9 @@ L_089C4BAC: goto L_089C4BB4; } L_089C4BB4: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(10836))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(10836))); { const bool branch_taken = aot_gpr_4 == aot_gpr_6; - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(10848))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(10848))); if (branch_taken) { goto L_089C4C3C; } @@ -2599,11 +2600,11 @@ L_089C4BE8: } L_089C4BF0: aot_gpr_6 = (0u | 2u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(10848), aot_gpr_6); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(10840), 0u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(10844), 0u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(10852), aot_gpr_4); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(9252))); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(10848), aot_gpr_6); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(10840), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(10844), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(10852), aot_gpr_4); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(9252))); ctx.gpr[8] = (0u | 1u); { const bool branch_taken = ctx.gpr[7] == ctx.gpr[8]; aot_gpr_5 = (aot_gpr_6 | 0u); @@ -2622,7 +2623,7 @@ L_089C4C14: } L_089C4C1C: aot_gpr_6 = (0u | 3u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(9252), aot_gpr_6); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(9252), aot_gpr_6); goto L_089C4C24; L_089C4C24: { const bool branch_taken = 0u == 0u; @@ -2634,11 +2635,11 @@ L_089C4C24: } L_089C4C2C: aot_gpr_5 = (0u | 4u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(10848), aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(10840), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(10848), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(10840), 0u); goto L_089C4C38; L_089C4C38: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(10836), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(10836), aot_gpr_4); goto L_089C4C3C; L_089C4C3C: { const bool branch_taken = aot_gpr_5 == 0u; @@ -2667,7 +2668,7 @@ L_089C4C50: } L_089C4C58: if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(10840))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(10840))); goto L_089C4E34; } goto L_089C4C60; @@ -2711,9 +2712,9 @@ L_089C4C88: aot_gpr_4 = (16968u << 16u); goto L_089C4C8C; L_089C4C8C: - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); aot_fpr_14 = std::bit_cast(aot_gpr_4); - ctx.fpr[16] = ctx.fpr[15] / aot_fpr_14; + ctx.fpr[16] = aot_fpr_15 / aot_fpr_14; aot_gpr_5 = (17530u << 16u); aot_gpr_6 = (20224u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_5); @@ -2722,14 +2723,14 @@ L_089C4C8C: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[16] < aot_fpr_12)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(10844))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(10844))); if (branch_taken) { goto L_089C4CD4; } goto L_089C4CBC; } L_089C4CBC: - aot_fpr_12 = ctx.fpr[15] / aot_fpr_14; + aot_fpr_12 = aot_fpr_15 / aot_fpr_14; { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); aot_gpr_5 = (std::bit_cast(aot_fpr_12)); @@ -2741,7 +2742,7 @@ L_089C4CBC: goto L_089C4CD4; } L_089C4CD4: - aot_fpr_14 = ctx.fpr[15] / aot_fpr_14; + aot_fpr_14 = aot_fpr_15 / aot_fpr_14; aot_gpr_5 = (32768u << 16u); { const float fs = aot_fpr_14; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } aot_fpr_12 = aot_fpr_14 - aot_fpr_12; @@ -2756,7 +2757,7 @@ L_089C4CF4: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(10844), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(10844), aot_gpr_4); if (branch_taken) { goto L_089C4D1C; } @@ -2764,9 +2765,9 @@ L_089C4CF4: } L_089C4D0C: aot_gpr_4 = (0u | 1000u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(10844), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(10844), aot_gpr_4); aot_gpr_4 = (0u | 1u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(10848), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(10848), aot_gpr_4); goto L_089C4D1C; L_089C4D1C: { const bool branch_taken = 0u == 0u; @@ -2777,9 +2778,9 @@ L_089C4D1C: goto L_089C4D24; } L_089C4D24: - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); aot_fpr_14 = std::bit_cast(aot_gpr_4); - ctx.fpr[16] = ctx.fpr[15] / aot_fpr_14; + ctx.fpr[16] = aot_fpr_15 / aot_fpr_14; aot_gpr_5 = (17530u << 16u); aot_gpr_6 = (20224u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_5); @@ -2788,14 +2789,14 @@ L_089C4D24: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[16] < aot_fpr_12)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(10844))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(10844))); if (branch_taken) { goto L_089C4D6C; } goto L_089C4D54; } L_089C4D54: - aot_fpr_12 = ctx.fpr[15] / aot_fpr_14; + aot_fpr_12 = aot_fpr_15 / aot_fpr_14; { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); aot_gpr_5 = (std::bit_cast(aot_fpr_12)); @@ -2807,7 +2808,7 @@ L_089C4D54: goto L_089C4D6C; } L_089C4D6C: - aot_fpr_14 = ctx.fpr[15] / aot_fpr_14; + aot_fpr_14 = aot_fpr_15 / aot_fpr_14; aot_gpr_5 = (32768u << 16u); { const float fs = aot_fpr_14; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_fpr_12 = aot_fpr_13 - aot_fpr_12; @@ -2818,15 +2819,15 @@ L_089C4D6C: goto L_089C4D8C; L_089C4D8C: { const bool branch_taken = static_cast(aot_gpr_4) >= 0; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(10844), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(10844), aot_gpr_4); if (branch_taken) { goto L_089C4D9C; } goto L_089C4D94; } L_089C4D94: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(10844), 0u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(10848), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(10844), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(10848), 0u); goto L_089C4D9C; L_089C4D9C: { const bool branch_taken = 0u == 0u; @@ -2837,9 +2838,9 @@ L_089C4D9C: goto L_089C4DA4; } L_089C4DA4: - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); aot_fpr_14 = std::bit_cast(aot_gpr_4); - ctx.fpr[16] = ctx.fpr[15] / aot_fpr_14; + ctx.fpr[16] = aot_fpr_15 / aot_fpr_14; aot_gpr_5 = (17530u << 16u); aot_gpr_6 = (20224u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_5); @@ -2848,14 +2849,14 @@ L_089C4DA4: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[16] < aot_fpr_12)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(10844))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(10844))); if (branch_taken) { goto L_089C4DEC; } goto L_089C4DD4; } L_089C4DD4: - aot_fpr_12 = ctx.fpr[15] / aot_fpr_14; + aot_fpr_12 = aot_fpr_15 / aot_fpr_14; { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); aot_gpr_5 = (std::bit_cast(aot_fpr_12)); @@ -2867,7 +2868,7 @@ L_089C4DD4: goto L_089C4DEC; } L_089C4DEC: - aot_fpr_14 = ctx.fpr[15] / aot_fpr_14; + aot_fpr_14 = aot_fpr_15 / aot_fpr_14; aot_gpr_5 = (32768u << 16u); { const float fs = aot_fpr_14; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_fpr_12 = aot_fpr_13 - aot_fpr_12; @@ -2878,19 +2879,19 @@ L_089C4DEC: goto L_089C4E0C; L_089C4E0C: { const bool branch_taken = static_cast(aot_gpr_4) >= 0; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(10844), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(10844), aot_gpr_4); if (branch_taken) { goto L_089C4E2C; } goto L_089C4E14; } L_089C4E14: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(10844), 0u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(10840), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(10844), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(10840), 0u); aot_gpr_4 = (0u | 2u); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(10836))); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(10848), aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(10852), aot_gpr_5); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(10836))); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(10848), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(10852), aot_gpr_5); goto L_089C4E2C; L_089C4E2C: { const bool branch_taken = 0u == 0u; @@ -2917,12 +2918,12 @@ L_089C4E34: } L_089C4E58: aot_gpr_4 = (0u | 3u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(10848), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(10848), aot_gpr_4); aot_gpr_4 = (0u | 1000u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(10844), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(10844), aot_gpr_4); goto L_089C4E68; L_089C4E68: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(24))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(24))); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_4 = (16968u << 16u); if (branch_taken) { @@ -2937,12 +2938,12 @@ L_089C4E74: aot_gpr_5 = (17530u << 16u); aot_gpr_6 = (20224u << 16u); aot_fpr_14 = std::bit_cast(aot_gpr_5); - ctx.fpr[15] = std::bit_cast(aot_gpr_6); + aot_fpr_15 = std::bit_cast(aot_gpr_6); { const float fs = ctx.fpr[16]; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[16] = std::bit_cast(0x7FC00000u); else ctx.fpr[16] = fs * ft; } - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[16] < ctx.fpr[15])) ? 0x00800000u : 0u); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[16] < aot_fpr_15)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(10840))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(10840))); if (branch_taken) { goto L_089C4EBC; } @@ -2964,27 +2965,27 @@ L_089C4EBC: aot_fpr_12 = aot_fpr_12 / aot_fpr_13; aot_gpr_5 = (32768u << 16u); { const float fs = aot_fpr_12; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - aot_fpr_12 = aot_fpr_12 - ctx.fpr[15]; + aot_fpr_12 = aot_fpr_12 - aot_fpr_15; aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); aot_gpr_6 = (std::bit_cast(aot_fpr_12)); aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); goto L_089C4EDC; L_089C4EDC: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(10840), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(10840), aot_gpr_4); aot_gpr_31 = (0x089C4EE8u); aot_gpr_4 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C4EE8u) goto L_089C4EE8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C498, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C4EE8u) goto L_089C4EE8; AOT_REGCACHE_SYNC_OUT(); return; L_089C4EE8: aot_gpr_31 = (0x089C4EF0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C4EF0u) goto L_089C4EF0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C05C, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[16], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C4EF0u) goto L_089C4EF0; AOT_REGCACHE_SYNC_OUT(); return; L_089C4EF0: aot_gpr_31 = (0x089C4EF8u); aot_gpr_4 = (0u | 20u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C4EF8u) goto L_089C4EF8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C604, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C4EF8u) goto L_089C4EF8; AOT_REGCACHE_SYNC_OUT(); return; L_089C4EF8: aot_gpr_4 = (16281u << 16u); @@ -2995,10 +2996,10 @@ L_089C4EF8: AOT_REGCACHE_SYNC_OUT(); return; L_089C4F08: aot_gpr_4 = (0u | 255u); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(10852))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(10852))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(0), static_cast(aot_gpr_4)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(1), static_cast(aot_gpr_4)); - aot_fpr_20 = std::bit_cast(0u); + ctx.fpr[20] = std::bit_cast(0u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(2), static_cast(aot_gpr_4)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(3), static_cast(aot_gpr_4)); aot_gpr_4 = (17389u << 16u); @@ -3010,20 +3011,20 @@ L_089C4F08: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 75u, 0x08B0C580u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C4F3Cu) goto L_089C4F3C; AOT_REGCACHE_SYNC_OUT(); return; L_089C4F3C: - ctx.fpr[15] = ctx.fpr[0] + ctx.fpr[24]; + aot_fpr_15 = ctx.fpr[0] + ctx.fpr[24]; aot_gpr_4 = (aot_gpr_29 + static_cast(4)); - aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); + aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[24])); aot_gpr_31 = (0x089C4F54u); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[22])); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C4F54u) goto L_089C4F54; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08873400, 27u, 732u, 0x08873400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C4F54u) goto L_089C4F54; AOT_REGCACHE_SYNC_OUT(); return; L_089C4F54: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_6 = (0u | 0u); ctx.gpr[7] = (aot_gpr_29 | 0u); - ctx.gpr[8] = (ctx.gpr[2] | 0u); + ctx.gpr[8] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x089C4F70u); ctx.gpr[9] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 24u, 0x08B0C1B0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C4F70u) goto L_089C4F70; @@ -3031,10 +3032,10 @@ L_089C4F54: L_089C4F70: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(20), aot_run_words); - aot_fpr_20 = std::bit_cast(aot_run_words[0]); + ctx.fpr[20] = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); - aot_gpr_16 = aot_run_words[3]; + ctx.gpr[16] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; } jump_target = aot_gpr_31; @@ -3046,7 +3047,7 @@ L_089C4F70: L_089C4F8C: aot_gpr_29 = (aot_gpr_29 + static_cast(-768)); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(9262))); - { const std::uint32_t aot_run_words[13]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_31}; + { const std::uint32_t aot_run_words[13]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(708), aot_run_words); } { const bool branch_taken = aot_gpr_5 == 0u; ctx.gpr[19] = (aot_gpr_4 | 0u); @@ -3065,13 +3066,13 @@ L_089C4FD0: aot_gpr_4 = (aot_gpr_6 + aot_gpr_4); aot_gpr_5 = (aot_gpr_5 + static_cast(-6992)); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1929)))))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(1929)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(10904))); aot_gpr_6 = (aot_gpr_4 << 5u); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_6 - aot_gpr_4); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); { const bool branch_taken = aot_gpr_5 == aot_gpr_4; @@ -3089,12 +3090,12 @@ L_089C5020: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0110_entry, 110u, 612u, 0x089BF18Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C5030u) goto L_089C5030; AOT_REGCACHE_SYNC_OUT(); return; L_089C5030: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1929)))))); - aot_fpr_20 = std::bit_cast(std::bit_cast(ctx.fpr[0])); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(1929)))))); + ctx.fpr[20] = std::bit_cast(std::bit_cast(ctx.fpr[0])); aot_gpr_5 = (aot_gpr_4 << 5u); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[19] + static_cast(11221))); @@ -3125,13 +3126,13 @@ L_089C5070: AOT_REGCACHE_SYNC_OUT(); return; L_089C5080: aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[19] + static_cast(11221))); - aot_fpr_20 = std::bit_cast(std::bit_cast(ctx.fpr[0])); + ctx.fpr[20] = std::bit_cast(std::bit_cast(ctx.fpr[0])); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(10916))); aot_fpr_12 = std::bit_cast(aot_gpr_5); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); goto L_089C5094; L_089C5094: - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_20 <= aot_fpr_12)) ? 0x00800000u : 0u); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[20] <= aot_fpr_12)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -3141,7 +3142,7 @@ L_089C5094: goto L_089C50A4; } L_089C50A4: - aot_fpr_20 = std::bit_cast(std::bit_cast(aot_fpr_12)); + ctx.fpr[20] = std::bit_cast(std::bit_cast(aot_fpr_12)); goto L_089C50A8; L_089C50A8: { const bool branch_taken = aot_gpr_4 == 0u; @@ -3152,34 +3153,34 @@ L_089C50A8: goto L_089C50B0; } L_089C50B0: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1929)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(1929)))))); aot_gpr_5 = (aot_gpr_4 << 5u); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); aot_gpr_31 = (0x089C50D4u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C50D4u) goto L_089C50D4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C50D4u) goto L_089C50D4; AOT_REGCACHE_SYNC_OUT(); return; L_089C50D4: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1929)))))); - ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(20))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(1929)))))); + ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(20))); aot_gpr_5 = (aot_gpr_4 << 5u); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_31 = (0x089C50FCu); aot_gpr_4 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C50FCu) goto L_089C50FC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C50FCu) goto L_089C50FC; AOT_REGCACHE_SYNC_OUT(); return; L_089C50FC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); { const bool branch_taken = aot_gpr_4 != 0u; - ctx.gpr[21] = (ctx.gpr[2] | 0u); + ctx.gpr[21] = (aot_gpr_2 | 0u); if (branch_taken) { goto L_089C5114; } @@ -3198,7 +3199,7 @@ L_089C5114: // nop goto L_089C6DBC; L_089C511C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089C5778; @@ -3323,7 +3324,7 @@ L_089C51E0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 368u, 0x08A65AACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C51ECu) goto L_089C51EC; AOT_REGCACHE_SYNC_OUT(); return; L_089C51EC: - ctx.gpr[20] = (ctx.gpr[2] | 0u); + ctx.gpr[20] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[20] == 0u; // nop if (branch_taken) { @@ -3366,18 +3367,18 @@ L_089C5224: aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_13))); aot_gpr_4 = (15216u << 16u); aot_gpr_4 = (aot_gpr_4 | 61681u); - ctx.fpr[15] = std::bit_cast(aot_gpr_4); + aot_fpr_15 = std::bit_cast(aot_gpr_4); { const float fs = aot_fpr_12; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[22] = std::bit_cast(0x7FC00000u); else ctx.fpr[22] = fs * ft; } aot_gpr_4 = (0u | 4u); aot_gpr_31 = (0x089C5268u); - { const float fs = aot_fpr_13; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[24] = std::bit_cast(0x7FC00000u); else ctx.fpr[24] = fs * ft; } - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C5268u) goto L_089C5268; + { const float fs = aot_fpr_13; const float ft = aot_fpr_15; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[24] = std::bit_cast(0x7FC00000u); else ctx.fpr[24] = fs * ft; } + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C5268u) goto L_089C5268; AOT_REGCACHE_SYNC_OUT(); return; L_089C5268: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(0))); aot_gpr_31 = (0x089C5274u); aot_gpr_4 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C5274u) goto L_089C5274; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C5274u) goto L_089C5274; AOT_REGCACHE_SYNC_OUT(); return; L_089C5274: aot_gpr_4 = (17379u << 16u); @@ -3385,7 +3386,7 @@ L_089C5274: aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_5 = (16900u << 16u); aot_gpr_4 = (16924u << 16u); - ctx.fpr[15] = std::bit_cast(aot_gpr_5); + aot_fpr_15 = std::bit_cast(aot_gpr_5); aot_gpr_6 = (16896u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); ctx.gpr[9] = (16256u << 16u); @@ -3396,7 +3397,7 @@ L_089C5274: aot_gpr_4 = (0u | 255u); { const float fs = ctx.fpr[24]; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_gpr_5 = (0u | 255u); - { const float fs = ctx.fpr[22]; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[15] = std::bit_cast(0x7FC00000u); else ctx.fpr[15] = fs * ft; } + { const float fs = ctx.fpr[22]; const float ft = aot_fpr_15; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_15 = std::bit_cast(0x7FC00000u); else aot_fpr_15 = fs * ft; } aot_gpr_6 = (0u | 255u); { const float fs = ctx.fpr[24]; const float ft = ctx.fpr[16]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[16] = std::bit_cast(0x7FC00000u); else ctx.fpr[16] = fs * ft; } ctx.gpr[7] = (0u | 255u); @@ -3408,7 +3409,7 @@ L_089C52CC: aot_gpr_4 = (0u | 6u); aot_gpr_31 = (0x089C52D8u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C52D8u) goto L_089C52D8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C52D8u) goto L_089C52D8; AOT_REGCACHE_SYNC_OUT(); return; L_089C52D8: { const bool branch_taken = 0u == 0u; @@ -3440,7 +3441,7 @@ L_089C52F8: // nop goto L_089C6DBC; L_089C5300: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; aot_gpr_5 = (17363u << 16u); if (branch_taken) { goto L_089C539C; @@ -3457,8 +3458,8 @@ L_089C5308: aot_fpr_14 = std::bit_cast(aot_gpr_5); aot_gpr_5 = (17038u << 16u); aot_gpr_31 = (0x089C5330u); - ctx.fpr[15] = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C5330u) goto L_089C5330; + aot_fpr_15 = std::bit_cast(aot_gpr_5); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C5330u) goto L_089C5330; AOT_REGCACHE_SYNC_OUT(); return; L_089C5330: aot_gpr_4 = (0u | 69u); @@ -3468,7 +3469,7 @@ L_089C5330: } goto L_089C533C; L_089C533C: - aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_20)); + aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[20])); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (ctx.gpr[19] + aot_gpr_4); ctx.gpr[20] = (aot_gpr_4 + static_cast(10924)); @@ -3479,7 +3480,7 @@ L_089C533C: aot_gpr_6 = (0u | 255u); aot_gpr_31 = (0x089C5368u); ctx.gpr[7] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C5368u) goto L_089C5368; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C5368u) goto L_089C5368; AOT_REGCACHE_SYNC_OUT(); return; L_089C5368: ctx.gpr[7] = (16256u << 16u); @@ -3488,8 +3489,8 @@ L_089C5368: aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_5 = (ctx.gpr[21] | 0u); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_12)); - aot_gpr_6 = (ctx.gpr[2] | 0u); - ctx.fpr[15] = std::bit_cast(std::bit_cast(aot_fpr_12)); + aot_gpr_6 = (aot_gpr_2 | 0u); + aot_fpr_15 = std::bit_cast(std::bit_cast(aot_fpr_12)); ctx.fpr[16] = std::bit_cast(std::bit_cast(aot_fpr_12)); ctx.fpr[17] = std::bit_cast(std::bit_cast(aot_fpr_14)); ctx.fpr[18] = std::bit_cast(std::bit_cast(aot_fpr_14)); @@ -3509,12 +3510,12 @@ L_089C539C: L_089C53A8: aot_gpr_31 = (0x089C53B0u); aot_gpr_4 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C53B0u) goto L_089C53B0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C498, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C53B0u) goto L_089C53B0; AOT_REGCACHE_SYNC_OUT(); return; L_089C53B0: aot_gpr_31 = (0x089C53B8u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C53B8u) goto L_089C53B8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C05C, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[16], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C53B8u) goto L_089C53B8; AOT_REGCACHE_SYNC_OUT(); return; L_089C53B8: aot_gpr_4 = (16084u << 16u); @@ -3526,14 +3527,14 @@ L_089C53B8: L_089C53C8: aot_gpr_31 = (0x089C53D0u); aot_gpr_4 = (0u | 18u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C53D0u) goto L_089C53D0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C604, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C53D0u) goto L_089C53D0; AOT_REGCACHE_SYNC_OUT(); return; L_089C53D0: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1929)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(1929)))))); aot_gpr_6 = (aot_gpr_4 << 5u); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_6 - aot_gpr_4); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(12))); aot_gpr_5 = (0u | 10000u); @@ -3577,7 +3578,7 @@ L_089C541C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 562u, 0x08A363C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C5424u) goto L_089C5424; AOT_REGCACHE_SYNC_OUT(); return; L_089C5424: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_089C5778; @@ -3585,11 +3586,11 @@ L_089C5424: goto L_089C542C; } L_089C542C: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1929)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(1929)))))); aot_gpr_5 = (aot_gpr_4 << 5u); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); { const bool branch_taken = aot_gpr_5 == 0u; @@ -3622,10 +3623,10 @@ L_089C5460: L_089C5470: aot_gpr_31 = (0x089C5478u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C5478u) goto L_089C5478; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C5478u) goto L_089C5478; AOT_REGCACHE_SYNC_OUT(); return; L_089C5478: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(104))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(104))); aot_gpr_4 = (static_cast(aot_gpr_4) < 2 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -3635,7 +3636,7 @@ L_089C5478: goto L_089C5488; } L_089C5488: - aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_20)); + aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[20])); aot_gpr_4 = (0u | 255u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(428), static_cast(aot_gpr_4)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(429), static_cast(aot_gpr_4)); @@ -3646,7 +3647,7 @@ L_089C5488: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(431), static_cast(aot_gpr_4)); aot_gpr_31 = (0x089C54B4u); aot_gpr_4 = (aot_gpr_29 + static_cast(428)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C54B4u) goto L_089C54B4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C4A8, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C54B4u) goto L_089C54B4; AOT_REGCACHE_SYNC_OUT(); return; L_089C54B4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); @@ -3670,7 +3671,7 @@ L_089C54CC: // nop goto L_089C6DBC; L_089C54D4: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089C5778; @@ -3683,7 +3684,7 @@ L_089C54DC: ctx.fpr[24] = std::bit_cast(aot_gpr_5); aot_gpr_6 = (16948u << 16u); aot_gpr_5 = (17004u << 16u); - aot_fpr_20 = std::bit_cast(aot_gpr_6); + ctx.fpr[20] = std::bit_cast(aot_gpr_6); aot_gpr_4 = (static_cast(ctx.gpr[18]) < 2 ? 1u : 0u); ctx.fpr[22] = std::bit_cast(aot_gpr_5); ctx.gpr[20] = (ctx.gpr[28] + static_cast(-11892)); @@ -3711,12 +3712,12 @@ L_089C5514: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0212_entry, 212u, 576u, 0x08B562D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C5524u) goto L_089C5524; AOT_REGCACHE_SYNC_OUT(); return; L_089C5524: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1929)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(1929)))))); aot_gpr_6 = (0u | 33u); aot_gpr_5 = (aot_gpr_4 << 5u); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); ctx.gpr[19] = (aot_gpr_29 + static_cast(448)); @@ -3748,20 +3749,20 @@ L_089C5574: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0212_entry, 212u, 576u, 0x08B562D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C5584u) goto L_089C5584; AOT_REGCACHE_SYNC_OUT(); return; L_089C5584: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1929)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(1929)))))); aot_gpr_5 = (aot_gpr_4 << 5u); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(12))); { const std::int32_t dividend = static_cast(aot_gpr_4); const std::int32_t divisor = static_cast(ctx.gpr[17]); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } aot_gpr_4 = (0u | 9999u); ctx.gpr[20] = (ctx.gpr[28] + static_cast(-11892)); - aot_gpr_16 = (ctx.lo); - aot_gpr_4 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_16) ? 1u : 0u); + ctx.gpr[16] = (ctx.lo); + aot_gpr_4 = (static_cast(aot_gpr_4) < static_cast(ctx.gpr[16]) ? 1u : 0u); if (aot_gpr_4 != 0u) { - aot_gpr_16 = (0u | 9999u); + ctx.gpr[16] = (0u | 9999u); goto L_089C55BC; } goto L_089C55BC; @@ -3769,7 +3770,7 @@ L_089C55BC: aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_5 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x089C55CCu); - aot_gpr_6 = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0212_entry, 212u, 576u, 0x08B562D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C55CCu) goto L_089C55CC; AOT_REGCACHE_SYNC_OUT(); return; L_089C55CC: @@ -3798,12 +3799,12 @@ L_089C55EC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0212_entry, 212u, 576u, 0x08B562D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C55FCu) goto L_089C55FC; AOT_REGCACHE_SYNC_OUT(); return; L_089C55FC: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1929)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(1929)))))); aot_gpr_5 = (ctx.gpr[28] + static_cast(-11892)); aot_gpr_6 = (aot_gpr_4 << 5u); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_6 - aot_gpr_4); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(12))); aot_gpr_31 = (0x089C5624u); @@ -3817,28 +3818,28 @@ L_089C5624: AOT_REGCACHE_SYNC_OUT(); return; L_089C562C: aot_gpr_5 = (17376u << 16u); - aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); + aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_gpr_5 = (aot_gpr_5 | 32768u); - ctx.fpr[15] = std::bit_cast(std::bit_cast(ctx.fpr[22])); + aot_fpr_15 = std::bit_cast(std::bit_cast(ctx.fpr[22])); ctx.fpr[26] = std::bit_cast(aot_gpr_5); - aot_gpr_16 = (aot_gpr_29 + static_cast(432)); + ctx.gpr[16] = (aot_gpr_29 + static_cast(432)); aot_gpr_5 = (17364u << 16u); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[26])); aot_gpr_5 = (aot_gpr_5 | 32768u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089C565Cu); aot_fpr_12 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C565Cu) goto L_089C565C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08873400, 27u, 732u, 0x08873400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C565Cu) goto L_089C565C; AOT_REGCACHE_SYNC_OUT(); return; L_089C565C: aot_gpr_31 = (0x089C5664u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 64u, 0x08B0C4D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C5664u) goto L_089C5664; AOT_REGCACHE_SYNC_OUT(); return; L_089C5664: aot_gpr_31 = (0x089C566Cu); aot_gpr_4 = (0u | 20u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C566Cu) goto L_089C566C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C604, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C566Cu) goto L_089C566C; AOT_REGCACHE_SYNC_OUT(); return; L_089C566C: aot_gpr_4 = (ctx.gpr[19] | 0u); @@ -3851,29 +3852,29 @@ L_089C5678: aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x089C5688u); aot_gpr_6 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C5688u) goto L_089C5688; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C5688u) goto L_089C5688; AOT_REGCACHE_SYNC_OUT(); return; L_089C5688: aot_gpr_5 = (17379u << 16u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[26])); aot_gpr_5 = (aot_gpr_5 | 32768u); - aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); + aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[20])); ctx.fpr[28] = std::bit_cast(aot_gpr_5); - aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.fpr[15] = std::bit_cast(std::bit_cast(ctx.fpr[22])); + aot_gpr_4 = (ctx.gpr[16] | 0u); + aot_fpr_15 = std::bit_cast(std::bit_cast(ctx.fpr[22])); aot_gpr_31 = (0x089C56ACu); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[28])); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C56ACu) goto L_089C56AC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08873400, 27u, 732u, 0x08873400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C56ACu) goto L_089C56AC; AOT_REGCACHE_SYNC_OUT(); return; L_089C56AC: aot_gpr_31 = (0x089C56B4u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 64u, 0x08B0C4D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C56B4u) goto L_089C56B4; AOT_REGCACHE_SYNC_OUT(); return; L_089C56B4: aot_gpr_31 = (0x089C56BCu); aot_gpr_4 = (0u | 18u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C56BCu) goto L_089C56BC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C604, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C56BCu) goto L_089C56BC; AOT_REGCACHE_SYNC_OUT(); return; L_089C56BC: aot_gpr_4 = (ctx.gpr[18] | 0u); @@ -3886,26 +3887,26 @@ L_089C56C8: aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x089C56D8u); aot_gpr_6 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C56D8u) goto L_089C56D8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C56D8u) goto L_089C56D8; AOT_REGCACHE_SYNC_OUT(); return; L_089C56D8: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[28])); - aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); + aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[24])); aot_gpr_31 = (0x089C56F0u); - ctx.fpr[15] = std::bit_cast(std::bit_cast(ctx.fpr[22])); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C56F0u) goto L_089C56F0; + aot_fpr_15 = std::bit_cast(std::bit_cast(ctx.fpr[22])); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08873400, 27u, 732u, 0x08873400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C56F0u) goto L_089C56F0; AOT_REGCACHE_SYNC_OUT(); return; L_089C56F0: aot_gpr_31 = (0x089C56F8u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 64u, 0x08B0C4D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C56F8u) goto L_089C56F8; AOT_REGCACHE_SYNC_OUT(); return; L_089C56F8: aot_gpr_31 = (0x089C5700u); aot_gpr_4 = (0u | 17u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C5700u) goto L_089C5700; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C604, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C5700u) goto L_089C5700; AOT_REGCACHE_SYNC_OUT(); return; L_089C5700: aot_gpr_4 = (ctx.gpr[21] | 0u); @@ -3918,7 +3919,7 @@ L_089C570C: aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x089C571Cu); aot_gpr_6 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C571Cu) goto L_089C571C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C571Cu) goto L_089C571C; AOT_REGCACHE_SYNC_OUT(); return; L_089C571C: { const bool branch_taken = 0u == 0u; @@ -3929,32 +3930,32 @@ L_089C571C: goto L_089C5724; } L_089C5724: - aot_gpr_16 = (aot_gpr_29 + static_cast(508)); - aot_gpr_4 = (aot_gpr_16 | 0u); + ctx.gpr[16] = (aot_gpr_29 + static_cast(508)); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x089C5738u); aot_gpr_6 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0212_entry, 212u, 576u, 0x08B562D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C5738u) goto L_089C5738; AOT_REGCACHE_SYNC_OUT(); return; L_089C5738: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089C5744u); aot_gpr_5 = (ctx.gpr[22] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0032_entry, 32u, 843u, 0x08887B04u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C5744u) goto L_089C5744; AOT_REGCACHE_SYNC_OUT(); return; L_089C5744: aot_gpr_5 = (17363u << 16u); - aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); + aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_gpr_4 = (aot_gpr_29 + static_cast(492)); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[24])); aot_fpr_12 = std::bit_cast(aot_gpr_5); aot_gpr_31 = (0x089C5760u); - ctx.fpr[15] = std::bit_cast(std::bit_cast(ctx.fpr[22])); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C5760u) goto L_089C5760; + aot_fpr_15 = std::bit_cast(std::bit_cast(ctx.fpr[22])); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08873400, 27u, 732u, 0x08873400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C5760u) goto L_089C5760; AOT_REGCACHE_SYNC_OUT(); return; L_089C5760: aot_gpr_31 = (0x089C5768u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 64u, 0x08B0C4D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C5768u) goto L_089C5768; AOT_REGCACHE_SYNC_OUT(); return; L_089C5768: @@ -3962,17 +3963,17 @@ L_089C5768: aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x089C5778u); aot_gpr_6 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C5778u) goto L_089C5778; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C5778u) goto L_089C5778; AOT_REGCACHE_SYNC_OUT(); return; L_089C5778: { std::uint32_t aot_run_words[13]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(708), aot_run_words); - aot_fpr_20 = std::bit_cast(aot_run_words[0]); + ctx.fpr[20] = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); ctx.fpr[26] = std::bit_cast(aot_run_words[3]); ctx.fpr[28] = std::bit_cast(aot_run_words[4]); - aot_gpr_16 = aot_run_words[5]; + ctx.gpr[16] = aot_run_words[5]; ctx.gpr[17] = aot_run_words[6]; ctx.gpr[18] = aot_run_words[7]; ctx.gpr[19] = aot_run_words[8]; @@ -3990,17 +3991,17 @@ L_089C5778: L_089C57B4: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(9268))); - { const std::uint32_t aot_run_words[5]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), aot_gpr_16, aot_gpr_31}; + { const std::uint32_t aot_run_words[5]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), ctx.gpr[16], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(20), aot_run_words); } { const bool branch_taken = aot_gpr_5 == 0u; - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_089C57EC; } goto L_089C57D8; } L_089C57D8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(8))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -4025,9 +4026,9 @@ L_089C57EC: goto L_089C57F4; } L_089C57F4: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(12))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(12))); ctx.gpr[7] = (17279u << 16u); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(9252))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(9252))); { const bool branch_taken = aot_gpr_4 == aot_gpr_6; aot_fpr_12 = std::bit_cast(ctx.gpr[7]); if (branch_taken) { @@ -4079,11 +4080,11 @@ L_089C5830: } L_089C5838: aot_gpr_6 = (0u | 2u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(9252), aot_gpr_6); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(9244), 0u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(9248), 0u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(16), aot_gpr_4); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(10848))); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(9252), aot_gpr_6); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(9244), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(9248), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(16), aot_gpr_4); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(10848))); ctx.gpr[8] = (0u | 1u); { const bool branch_taken = ctx.gpr[7] == ctx.gpr[8]; aot_gpr_5 = (aot_gpr_6 | 0u); @@ -4102,7 +4103,7 @@ L_089C585C: } L_089C5864: aot_gpr_6 = (0u | 3u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(10848), aot_gpr_6); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(10848), aot_gpr_6); goto L_089C586C; L_089C586C: { const bool branch_taken = 0u == 0u; @@ -4113,7 +4114,7 @@ L_089C586C: goto L_089C5874; } L_089C5874: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(20))); { const bool branch_taken = aot_gpr_6 != 0u; // nop if (branch_taken) { @@ -4123,13 +4124,13 @@ L_089C5874: } L_089C5880: aot_gpr_5 = (0u | 4u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(9252), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(9252), aot_gpr_5); goto L_089C5888; L_089C5888: aot_gpr_6 = (0u | 5u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(9244), aot_gpr_6); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(9244), aot_gpr_6); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(16), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(16), aot_gpr_4); if (branch_taken) { goto L_089C58DC; } @@ -4137,11 +4138,11 @@ L_089C5888: } L_089C5898: aot_gpr_5 = (0u | 4u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(9252), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(9252), aot_gpr_5); aot_gpr_6 = (0u | 5u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(9244), aot_gpr_6); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(9244), aot_gpr_6); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(16), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(16), aot_gpr_4); if (branch_taken) { goto L_089C58DC; } @@ -4149,11 +4150,11 @@ L_089C5898: } L_089C58B0: aot_gpr_5 = (0u | 4u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(9252), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(9252), aot_gpr_5); aot_gpr_6 = (0u | 5u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(9244), aot_gpr_6); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(9244), aot_gpr_6); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(16), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(16), aot_gpr_4); if (branch_taken) { goto L_089C58DC; } @@ -4161,17 +4162,17 @@ L_089C58B0: } L_089C58C8: aot_gpr_5 = (0u | 4u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(9252), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(9252), aot_gpr_5); aot_gpr_6 = (0u | 5u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(9244), aot_gpr_6); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(16), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(9244), aot_gpr_6); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(16), aot_gpr_4); goto L_089C58DC; L_089C58DC: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(12), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(12), aot_gpr_4); goto L_089C58E0; L_089C58E0: { const bool branch_taken = aot_gpr_5 == 0u; - aot_fpr_20 = std::bit_cast(std::bit_cast(aot_fpr_12)); + ctx.fpr[20] = std::bit_cast(std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_089C5CDC; } @@ -4196,7 +4197,7 @@ L_089C58F4: } L_089C58FC: if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(9244))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(9244))); goto L_089C5B2C; } goto L_089C5904; @@ -4240,26 +4241,26 @@ L_089C592C: aot_gpr_4 = (16968u << 16u); goto L_089C5930; L_089C5930: - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); aot_fpr_14 = std::bit_cast(aot_gpr_4); - ctx.fpr[16] = ctx.fpr[15] / aot_fpr_14; + ctx.fpr[16] = aot_fpr_15 / aot_fpr_14; aot_gpr_5 = (17530u << 16u); aot_gpr_6 = (20224u << 16u); - aot_fpr_20 = std::bit_cast(aot_gpr_5); + ctx.fpr[20] = std::bit_cast(aot_gpr_5); aot_fpr_13 = std::bit_cast(aot_gpr_6); - { const float fs = ctx.fpr[16]; const float ft = aot_fpr_20; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[16] = std::bit_cast(0x7FC00000u); else ctx.fpr[16] = fs * ft; } + { const float fs = ctx.fpr[16]; const float ft = ctx.fpr[20]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[16] = std::bit_cast(0x7FC00000u); else ctx.fpr[16] = fs * ft; } ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[16] < aot_fpr_13)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(9248))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(9248))); if (branch_taken) { goto L_089C5978; } goto L_089C5960; } L_089C5960: - aot_fpr_13 = ctx.fpr[15] / aot_fpr_14; - { const float fs = aot_fpr_13; const float ft = aot_fpr_20; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } + aot_fpr_13 = aot_fpr_15 / aot_fpr_14; + { const float fs = aot_fpr_13; const float ft = ctx.fpr[20]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_fpr_13 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_13)); aot_gpr_5 = (std::bit_cast(aot_fpr_13)); { const bool branch_taken = 0u == 0u; @@ -4270,9 +4271,9 @@ L_089C5960: goto L_089C5978; } L_089C5978: - aot_fpr_14 = ctx.fpr[15] / aot_fpr_14; + aot_fpr_14 = aot_fpr_15 / aot_fpr_14; aot_gpr_5 = (32768u << 16u); - { const float fs = aot_fpr_14; const float ft = aot_fpr_20; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } + { const float fs = aot_fpr_14; const float ft = ctx.fpr[20]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } aot_fpr_13 = aot_fpr_14 - aot_fpr_13; aot_fpr_13 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_13)); aot_gpr_6 = (std::bit_cast(aot_fpr_13)); @@ -4282,10 +4283,10 @@ L_089C5978: L_089C5998: aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_13))); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 <= aot_fpr_20)) ? 0x00800000u : 0u); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 <= ctx.fpr[20])) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(9248), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(9248), aot_gpr_4); if (branch_taken) { goto L_089C59CC; } @@ -4293,17 +4294,17 @@ L_089C5998: } L_089C59B0: aot_gpr_4 = (0u | 1000u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(9248), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(9248), aot_gpr_4); aot_gpr_4 = (0u | 1u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(9252), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(9252), aot_gpr_4); aot_gpr_4 = (17530u << 16u); - aot_fpr_20 = std::bit_cast(aot_gpr_4); - aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); + ctx.fpr[20] = std::bit_cast(aot_gpr_4); + aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[20])); goto L_089C59CC; L_089C59CC: - aot_fpr_20 = aot_fpr_13 / aot_fpr_20; + ctx.fpr[20] = aot_fpr_13 / ctx.fpr[20]; { const bool branch_taken = 0u == 0u; - { const float fs = aot_fpr_20; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_20 = std::bit_cast(0x7FC00000u); else aot_fpr_20 = fs * ft; } + { const float fs = ctx.fpr[20]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[20] = std::bit_cast(0x7FC00000u); else ctx.fpr[20] = fs * ft; } if (branch_taken) { goto L_089C5B5C; } @@ -4311,14 +4312,14 @@ L_089C59CC: } L_089C59D8: ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); - ctx.fpr[15] = std::bit_cast(aot_gpr_4); - ctx.fpr[17] = ctx.fpr[16] / ctx.fpr[15]; + aot_fpr_15 = std::bit_cast(aot_gpr_4); + ctx.fpr[17] = ctx.fpr[16] / aot_fpr_15; aot_gpr_5 = (17530u << 16u); aot_gpr_6 = (20224u << 16u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(9248))); - aot_fpr_20 = std::bit_cast(aot_gpr_5); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(9248))); + ctx.fpr[20] = std::bit_cast(aot_gpr_5); aot_fpr_14 = std::bit_cast(aot_gpr_6); - { const float fs = ctx.fpr[17]; const float ft = aot_fpr_20; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[17] = std::bit_cast(0x7FC00000u); else ctx.fpr[17] = fs * ft; } + { const float fs = ctx.fpr[17]; const float ft = ctx.fpr[20]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[17] = std::bit_cast(0x7FC00000u); else ctx.fpr[17] = fs * ft; } ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[17] < aot_fpr_14)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); @@ -4329,8 +4330,8 @@ L_089C59D8: goto L_089C5A0C; } L_089C5A0C: - aot_fpr_14 = ctx.fpr[16] / ctx.fpr[15]; - { const float fs = aot_fpr_14; const float ft = aot_fpr_20; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } + aot_fpr_14 = ctx.fpr[16] / aot_fpr_15; + { const float fs = aot_fpr_14; const float ft = ctx.fpr[20]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } aot_fpr_14 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_14)); aot_gpr_5 = (std::bit_cast(aot_fpr_14)); { const bool branch_taken = 0u == 0u; @@ -4341,10 +4342,10 @@ L_089C5A0C: goto L_089C5A24; } L_089C5A24: - ctx.fpr[15] = ctx.fpr[16] / ctx.fpr[15]; + aot_fpr_15 = ctx.fpr[16] / aot_fpr_15; aot_gpr_5 = (32768u << 16u); - { const float fs = ctx.fpr[15]; const float ft = aot_fpr_20; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[15] = std::bit_cast(0x7FC00000u); else ctx.fpr[15] = fs * ft; } - aot_fpr_14 = ctx.fpr[15] - aot_fpr_14; + { const float fs = aot_fpr_15; const float ft = ctx.fpr[20]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_15 = std::bit_cast(0x7FC00000u); else aot_fpr_15 = fs * ft; } + aot_fpr_14 = aot_fpr_15 - aot_fpr_14; aot_fpr_14 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_14)); aot_gpr_6 = (std::bit_cast(aot_fpr_14)); aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); @@ -4357,22 +4358,22 @@ L_089C5A44: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 < aot_fpr_14)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(9248), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(9248), aot_gpr_4); if (branch_taken) { goto L_089C5A70; } goto L_089C5A60; } L_089C5A60: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(9248), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(9248), 0u); aot_fpr_13 = std::bit_cast(0u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(9252), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(9252), 0u); aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_13))); goto L_089C5A70; L_089C5A70: - aot_fpr_20 = aot_fpr_13 / aot_fpr_20; + ctx.fpr[20] = aot_fpr_13 / ctx.fpr[20]; { const bool branch_taken = 0u == 0u; - { const float fs = aot_fpr_20; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_20 = std::bit_cast(0x7FC00000u); else aot_fpr_20 = fs * ft; } + { const float fs = ctx.fpr[20]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[20] = std::bit_cast(0x7FC00000u); else ctx.fpr[20] = fs * ft; } if (branch_taken) { goto L_089C5B5C; } @@ -4380,14 +4381,14 @@ L_089C5A70: } L_089C5A7C: ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); - ctx.fpr[15] = std::bit_cast(aot_gpr_4); - ctx.fpr[17] = ctx.fpr[16] / ctx.fpr[15]; + aot_fpr_15 = std::bit_cast(aot_gpr_4); + ctx.fpr[17] = ctx.fpr[16] / aot_fpr_15; aot_gpr_5 = (17530u << 16u); aot_gpr_6 = (20224u << 16u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(9248))); - aot_fpr_20 = std::bit_cast(aot_gpr_5); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(9248))); + ctx.fpr[20] = std::bit_cast(aot_gpr_5); aot_fpr_14 = std::bit_cast(aot_gpr_6); - { const float fs = ctx.fpr[17]; const float ft = aot_fpr_20; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[17] = std::bit_cast(0x7FC00000u); else ctx.fpr[17] = fs * ft; } + { const float fs = ctx.fpr[17]; const float ft = ctx.fpr[20]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[17] = std::bit_cast(0x7FC00000u); else ctx.fpr[17] = fs * ft; } ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[17] < aot_fpr_14)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); @@ -4398,8 +4399,8 @@ L_089C5A7C: goto L_089C5AB0; } L_089C5AB0: - aot_fpr_14 = ctx.fpr[16] / ctx.fpr[15]; - { const float fs = aot_fpr_14; const float ft = aot_fpr_20; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } + aot_fpr_14 = ctx.fpr[16] / aot_fpr_15; + { const float fs = aot_fpr_14; const float ft = ctx.fpr[20]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } aot_fpr_14 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_14)); aot_gpr_5 = (std::bit_cast(aot_fpr_14)); { const bool branch_taken = 0u == 0u; @@ -4410,10 +4411,10 @@ L_089C5AB0: goto L_089C5AC8; } L_089C5AC8: - ctx.fpr[15] = ctx.fpr[16] / ctx.fpr[15]; + aot_fpr_15 = ctx.fpr[16] / aot_fpr_15; aot_gpr_5 = (32768u << 16u); - { const float fs = ctx.fpr[15]; const float ft = aot_fpr_20; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[15] = std::bit_cast(0x7FC00000u); else ctx.fpr[15] = fs * ft; } - aot_fpr_14 = ctx.fpr[15] - aot_fpr_14; + { const float fs = aot_fpr_15; const float ft = ctx.fpr[20]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_15 = std::bit_cast(0x7FC00000u); else aot_fpr_15 = fs * ft; } + aot_fpr_14 = aot_fpr_15 - aot_fpr_14; aot_fpr_14 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_14)); aot_gpr_6 = (std::bit_cast(aot_fpr_14)); aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); @@ -4426,25 +4427,25 @@ L_089C5AE8: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 < aot_fpr_14)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(9248), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(9248), aot_gpr_4); if (branch_taken) { goto L_089C5B20; } goto L_089C5B04; } L_089C5B04: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(9248), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(9248), 0u); aot_fpr_13 = std::bit_cast(0u); aot_gpr_4 = (0u | 2u); aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_13))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(12))); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(9252), aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(16), aot_gpr_5); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(12))); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(9252), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(16), aot_gpr_5); goto L_089C5B20; L_089C5B20: - aot_fpr_20 = aot_fpr_13 / aot_fpr_20; + ctx.fpr[20] = aot_fpr_13 / ctx.fpr[20]; { const bool branch_taken = 0u == 0u; - { const float fs = aot_fpr_20; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_20 = std::bit_cast(0x7FC00000u); else aot_fpr_20 = fs * ft; } + { const float fs = ctx.fpr[20]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[20] = std::bit_cast(0x7FC00000u); else ctx.fpr[20] = fs * ft; } if (branch_taken) { goto L_089C5B5C; } @@ -4460,7 +4461,7 @@ L_089C5B2C: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(9248), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(9248), aot_gpr_5); if (branch_taken) { goto L_089C5B5C; } @@ -4468,10 +4469,10 @@ L_089C5B2C: } L_089C5B54: aot_gpr_4 = (0u | 3u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(9252), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(9252), aot_gpr_4); goto L_089C5B5C; L_089C5B5C: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(24))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(24))); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_4 = (2279u << 16u); if (branch_taken) { @@ -4521,12 +4522,12 @@ L_089C5BAC: aot_gpr_5 = (17530u << 16u); aot_gpr_6 = (20224u << 16u); aot_fpr_14 = std::bit_cast(aot_gpr_5); - ctx.fpr[15] = std::bit_cast(aot_gpr_6); + aot_fpr_15 = std::bit_cast(aot_gpr_6); { const float fs = ctx.fpr[16]; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[16] = std::bit_cast(0x7FC00000u); else ctx.fpr[16] = fs * ft; } - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[16] < ctx.fpr[15])) ? 0x00800000u : 0u); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[16] < aot_fpr_15)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(9244))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(9244))); if (branch_taken) { goto L_089C5BF4; } @@ -4548,27 +4549,27 @@ L_089C5BF4: aot_fpr_12 = aot_fpr_12 / aot_fpr_13; aot_gpr_5 = (32768u << 16u); { const float fs = aot_fpr_12; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - aot_fpr_12 = aot_fpr_12 - ctx.fpr[15]; + aot_fpr_12 = aot_fpr_12 - aot_fpr_15; aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); aot_gpr_6 = (std::bit_cast(aot_fpr_12)); aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); goto L_089C5C14; L_089C5C14: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(9244), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(9244), aot_gpr_4); aot_gpr_31 = (0x089C5C20u); aot_gpr_4 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C5C20u) goto L_089C5C20; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C498, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C5C20u) goto L_089C5C20; AOT_REGCACHE_SYNC_OUT(); return; L_089C5C20: aot_gpr_31 = (0x089C5C28u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C5C28u) goto L_089C5C28; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C05C, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[16], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C5C28u) goto L_089C5C28; AOT_REGCACHE_SYNC_OUT(); return; L_089C5C28: aot_gpr_31 = (0x089C5C30u); aot_gpr_4 = (0u | 20u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C5C30u) goto L_089C5C30; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C604, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C5C30u) goto L_089C5C30; AOT_REGCACHE_SYNC_OUT(); return; L_089C5C30: aot_gpr_4 = (16281u << 16u); @@ -4587,8 +4588,8 @@ L_089C5C40: goto L_089C5C4C; } L_089C5C4C: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(16))); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_089C5CE0; @@ -4596,7 +4597,7 @@ L_089C5C4C: goto L_089C5C58; } L_089C5C58: - aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_20)); + aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[20])); aot_gpr_4 = (0u | 255u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(0), static_cast(aot_gpr_4)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(1), static_cast(aot_gpr_4)); @@ -4607,27 +4608,27 @@ L_089C5C58: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(3), static_cast(aot_gpr_4)); aot_gpr_4 = (17389u << 16u); aot_gpr_4 = (aot_gpr_4 | 32768u); - aot_fpr_20 = std::bit_cast(aot_gpr_4); + ctx.fpr[20] = std::bit_cast(aot_gpr_4); aot_gpr_4 = (17258u << 16u); aot_gpr_31 = (0x089C5C94u); ctx.fpr[24] = std::bit_cast(aot_gpr_4); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 75u, 0x08B0C580u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C5C94u) goto L_089C5C94; AOT_REGCACHE_SYNC_OUT(); return; L_089C5C94: - ctx.fpr[15] = ctx.fpr[0] + ctx.fpr[24]; + aot_fpr_15 = ctx.fpr[0] + ctx.fpr[24]; aot_gpr_4 = (aot_gpr_29 + static_cast(4)); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[22])); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[24])); aot_gpr_31 = (0x089C5CACu); - aot_fpr_14 = std::bit_cast(std::bit_cast(aot_fpr_20)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C5CACu) goto L_089C5CAC; + aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[20])); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08873400, 27u, 732u, 0x08873400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C5CACu) goto L_089C5CAC; AOT_REGCACHE_SYNC_OUT(); return; L_089C5CAC: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_6 = (0u | 0u); ctx.gpr[7] = (aot_gpr_29 | 0u); - ctx.gpr[8] = (ctx.gpr[2] | 0u); + ctx.gpr[8] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x089C5CC8u); ctx.gpr[9] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 24u, 0x08B0C1B0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C5CC8u) goto L_089C5CC8; @@ -4643,22 +4644,22 @@ L_089C5CC8: L_089C5CD0: aot_gpr_4 = (0u | 3u); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(9252), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(9252), aot_gpr_4); if (branch_taken) { goto L_089C5CE0; } goto L_089C5CDC; } L_089C5CDC: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(16), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(16), 0u); goto L_089C5CE0; L_089C5CE0: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(20), aot_run_words); - aot_fpr_20 = std::bit_cast(aot_run_words[0]); + ctx.fpr[20] = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); - aot_gpr_16 = aot_run_words[3]; + ctx.gpr[16] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; } jump_target = aot_gpr_31; @@ -4669,21 +4670,21 @@ L_089C5CE0: AOT_REGCACHE_SYNC_OUT(); return; L_089C5CFC: aot_gpr_29 = (aot_gpr_29 + static_cast(-64)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), ctx.gpr[17]); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.gpr[17] = (aot_gpr_29 + static_cast(16)); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (0u | 255u); aot_gpr_6 = (0u | 255u); ctx.gpr[7] = (0u | 255u); - { const std::uint32_t aot_run_words[6]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30])}; + { const std::uint32_t aot_run_words[6]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(20), aot_run_words); } { const std::uint32_t aot_run_words[3]{ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(52), aot_run_words); } aot_gpr_31 = (0x089C5D4Cu); ctx.gpr[8] = (0u | 200u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C5D4Cu) goto L_089C5D4C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C5D4Cu) goto L_089C5D4C; AOT_REGCACHE_SYNC_OUT(); return; L_089C5D4C: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-24928))); @@ -4694,7 +4695,7 @@ L_089C5D4C: { const float fs = aot_fpr_14; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-8740))); aot_fpr_13 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_13)); - aot_gpr_6 = (aot_gpr_16 + static_cast(280)); + aot_gpr_6 = (ctx.gpr[16] + static_cast(280)); aot_gpr_5 = (static_cast(static_cast(aot_gpr_4) >> 1u)); aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); aot_gpr_5 = (aot_gpr_5 >> 31u); @@ -4705,26 +4706,26 @@ L_089C5D4C: aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 1u)); aot_gpr_5 = (static_cast(static_cast(aot_gpr_6) >> 1u)); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[18]); - aot_gpr_16 = (std::bit_cast(aot_fpr_12)); + ctx.gpr[16] = (std::bit_cast(aot_fpr_12)); aot_gpr_5 = (aot_gpr_5 >> 31u); aot_fpr_13 = std::bit_cast(aot_gpr_4); - ctx.gpr[7] = (aot_gpr_16 + static_cast(-20)); + ctx.gpr[7] = (ctx.gpr[16] + static_cast(-20)); aot_gpr_4 = (aot_gpr_6 + aot_gpr_5); aot_fpr_14 = std::bit_cast(ctx.gpr[7]); aot_gpr_5 = (ctx.gpr[18] + static_cast(-20)); - aot_fpr_20 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); + ctx.fpr[20] = static_cast(static_cast(std::bit_cast(aot_fpr_14))); aot_fpr_12 = std::bit_cast(aot_gpr_5); ctx.fpr[22] = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 1u)); - aot_gpr_4 = (aot_gpr_4 + aot_gpr_16); + aot_gpr_4 = (aot_gpr_4 + ctx.gpr[16]); aot_fpr_14 = std::bit_cast(aot_gpr_4); aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_13))); aot_gpr_4 = (aot_gpr_29 | 0u); aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); - aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); + aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_gpr_31 = (0x089C5DE4u); - ctx.fpr[15] = std::bit_cast(std::bit_cast(ctx.fpr[22])); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C5DE4u) goto L_089C5DE4; + aot_fpr_15 = std::bit_cast(std::bit_cast(ctx.fpr[22])); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C5DE4u) goto L_089C5DE4; AOT_REGCACHE_SYNC_OUT(); return; L_089C5DE4: ctx.gpr[7] = (15395u << 16u); @@ -4737,12 +4738,12 @@ L_089C5DE4: ctx.fpr[28] = std::bit_cast(ctx.gpr[7]); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[24])); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); ctx.fpr[16] = std::bit_cast(std::bit_cast(ctx.fpr[24])); aot_gpr_6 = (ctx.gpr[17] | 0u); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[26])); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[28])); - ctx.fpr[15] = std::bit_cast(std::bit_cast(ctx.fpr[26])); + aot_fpr_15 = std::bit_cast(std::bit_cast(ctx.fpr[26])); ctx.fpr[17] = std::bit_cast(std::bit_cast(ctx.fpr[24])); ctx.fpr[18] = std::bit_cast(std::bit_cast(ctx.fpr[28])); aot_gpr_31 = (0x089C5E34u); @@ -4755,7 +4756,7 @@ L_089C5E34: aot_gpr_6 = (aot_gpr_6 >> 31u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-8740))); aot_gpr_6 = (aot_gpr_4 + aot_gpr_6); - aot_gpr_4 = (aot_gpr_4 + aot_gpr_16); + aot_gpr_4 = (aot_gpr_4 + ctx.gpr[16]); ctx.gpr[7] = (static_cast(static_cast(aot_gpr_5) >> 1u)); aot_gpr_4 = (aot_gpr_4 + static_cast(20)); ctx.gpr[7] = (ctx.gpr[7] >> 31u); @@ -4766,24 +4767,24 @@ L_089C5E34: aot_gpr_5 = (aot_gpr_5 + ctx.gpr[18]); aot_gpr_6 = (static_cast(static_cast(aot_gpr_6) >> 1u)); aot_fpr_14 = std::bit_cast(aot_gpr_5); - aot_gpr_6 = (aot_gpr_6 + aot_gpr_16); + aot_gpr_6 = (aot_gpr_6 + ctx.gpr[16]); aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); aot_fpr_12 = std::bit_cast(aot_gpr_6); aot_gpr_4 = (aot_gpr_29 | 0u); - ctx.fpr[15] = std::bit_cast(std::bit_cast(ctx.fpr[22])); + aot_fpr_15 = std::bit_cast(std::bit_cast(ctx.fpr[22])); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_gpr_31 = (0x089C5E94u); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[16])); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C5E94u) goto L_089C5E94; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C5E94u) goto L_089C5E94; AOT_REGCACHE_SYNC_OUT(); return; L_089C5E94: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[26])); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[26])); aot_gpr_6 = (ctx.gpr[17] | 0u); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[24])); - ctx.fpr[15] = std::bit_cast(std::bit_cast(ctx.fpr[26])); + aot_fpr_15 = std::bit_cast(std::bit_cast(ctx.fpr[26])); ctx.fpr[16] = std::bit_cast(std::bit_cast(ctx.fpr[26])); ctx.fpr[17] = std::bit_cast(std::bit_cast(ctx.fpr[24])); ctx.fpr[18] = std::bit_cast(std::bit_cast(ctx.fpr[24])); @@ -4806,26 +4807,26 @@ L_089C5EC4: aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); aot_gpr_5 = (static_cast(static_cast(aot_gpr_5) >> 1u)); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 1u)); - aot_gpr_5 = (aot_gpr_5 + aot_gpr_16); + aot_gpr_5 = (aot_gpr_5 + ctx.gpr[16]); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[18]); aot_fpr_14 = std::bit_cast(aot_gpr_5); - ctx.fpr[15] = std::bit_cast(aot_gpr_4); - aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); + aot_fpr_15 = std::bit_cast(aot_gpr_4); + aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_gpr_4 = (aot_gpr_29 | 0u); aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); aot_gpr_31 = (0x089C5F20u); - ctx.fpr[15] = static_cast(static_cast(std::bit_cast(ctx.fpr[15]))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C5F20u) goto L_089C5F20; + aot_fpr_15 = static_cast(static_cast(std::bit_cast(aot_fpr_15))); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C5F20u) goto L_089C5F20; AOT_REGCACHE_SYNC_OUT(); return; L_089C5F20: ctx.fpr[22] = std::bit_cast(0u); aot_gpr_4 = (ctx.gpr[19] | 0u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[24])); aot_gpr_6 = (ctx.gpr[17] | 0u); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[24])); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[28])); - ctx.fpr[15] = std::bit_cast(std::bit_cast(ctx.fpr[22])); + aot_fpr_15 = std::bit_cast(std::bit_cast(ctx.fpr[22])); ctx.fpr[16] = std::bit_cast(std::bit_cast(ctx.fpr[24])); ctx.fpr[17] = std::bit_cast(std::bit_cast(ctx.fpr[28])); ctx.fpr[18] = std::bit_cast(std::bit_cast(ctx.fpr[28])); @@ -4844,33 +4845,33 @@ L_089C5F54: aot_gpr_6 = (aot_gpr_4 + aot_gpr_6); aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_gpr_6 = (static_cast(static_cast(aot_gpr_6) >> 1u)); - aot_gpr_6 = (aot_gpr_6 + aot_gpr_16); + aot_gpr_6 = (aot_gpr_6 + ctx.gpr[16]); aot_fpr_13 = std::bit_cast(aot_gpr_6); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_13))); - aot_gpr_4 = (aot_gpr_4 + aot_gpr_16); + aot_gpr_4 = (aot_gpr_4 + ctx.gpr[16]); aot_gpr_4 = (aot_gpr_4 + static_cast(20)); aot_gpr_6 = (static_cast(static_cast(aot_gpr_5) >> 1u)); - ctx.fpr[15] = std::bit_cast(aot_gpr_4); + aot_fpr_15 = std::bit_cast(aot_gpr_4); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_14)); aot_gpr_4 = (aot_gpr_6 >> 31u); - aot_fpr_14 = static_cast(static_cast(std::bit_cast(ctx.fpr[15]))); + aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_15))); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 1u)); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[18]); - ctx.fpr[15] = std::bit_cast(aot_gpr_4); + aot_fpr_15 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_31 = (0x089C5FC0u); - ctx.fpr[15] = static_cast(static_cast(std::bit_cast(ctx.fpr[15]))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C5FC0u) goto L_089C5FC0; + aot_fpr_15 = static_cast(static_cast(std::bit_cast(aot_fpr_15))); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C5FC0u) goto L_089C5FC0; AOT_REGCACHE_SYNC_OUT(); return; L_089C5FC0: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[26])); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[22])); aot_gpr_6 = (ctx.gpr[17] | 0u); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[24])); - ctx.fpr[15] = std::bit_cast(std::bit_cast(ctx.fpr[24])); + aot_fpr_15 = std::bit_cast(std::bit_cast(ctx.fpr[24])); ctx.fpr[16] = std::bit_cast(std::bit_cast(ctx.fpr[26])); ctx.fpr[17] = std::bit_cast(std::bit_cast(ctx.fpr[28])); ctx.fpr[18] = std::bit_cast(std::bit_cast(ctx.fpr[24])); @@ -4880,13 +4881,13 @@ L_089C5FC0: AOT_REGCACHE_SYNC_OUT(); return; L_089C5FF0: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-8740))); - aot_gpr_16 = (0u - aot_gpr_16); + ctx.gpr[16] = (0u - ctx.gpr[16]); aot_gpr_6 = (static_cast(static_cast(aot_gpr_5) >> 1u)); - aot_gpr_4 = (aot_gpr_16 + static_cast(-20)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(-20)); aot_gpr_6 = (aot_gpr_6 >> 31u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); - aot_fpr_20 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); + ctx.fpr[20] = static_cast(static_cast(std::bit_cast(aot_fpr_12))); ctx.gpr[18] = (0u - ctx.gpr[18]); aot_gpr_5 = (static_cast(static_cast(aot_gpr_5) >> 1u)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-8744))); @@ -4899,24 +4900,24 @@ L_089C5FF0: aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); ctx.fpr[30] = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 1u)); - aot_gpr_4 = (aot_gpr_4 + aot_gpr_16); + aot_gpr_4 = (aot_gpr_4 + ctx.gpr[16]); aot_fpr_14 = std::bit_cast(aot_gpr_4); aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_13))); aot_gpr_4 = (aot_gpr_29 | 0u); aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); - aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); + aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_gpr_31 = (0x089C6060u); - ctx.fpr[15] = std::bit_cast(std::bit_cast(ctx.fpr[30])); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C6060u) goto L_089C6060; + aot_fpr_15 = std::bit_cast(std::bit_cast(ctx.fpr[30])); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C6060u) goto L_089C6060; AOT_REGCACHE_SYNC_OUT(); return; L_089C6060: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[24])); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[26])); aot_gpr_6 = (ctx.gpr[17] | 0u); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[28])); - ctx.fpr[15] = std::bit_cast(std::bit_cast(ctx.fpr[26])); + aot_fpr_15 = std::bit_cast(std::bit_cast(ctx.fpr[26])); ctx.fpr[16] = std::bit_cast(std::bit_cast(ctx.fpr[24])); ctx.fpr[17] = std::bit_cast(std::bit_cast(ctx.fpr[24])); ctx.fpr[18] = std::bit_cast(std::bit_cast(ctx.fpr[28])); @@ -4930,7 +4931,7 @@ L_089C6090: aot_gpr_6 = (aot_gpr_6 >> 31u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-8740))); aot_gpr_6 = (aot_gpr_4 + aot_gpr_6); - aot_gpr_4 = (aot_gpr_4 + aot_gpr_16); + aot_gpr_4 = (aot_gpr_4 + ctx.gpr[16]); ctx.gpr[7] = (static_cast(static_cast(aot_gpr_5) >> 1u)); aot_gpr_4 = (aot_gpr_4 + static_cast(20)); ctx.gpr[7] = (ctx.gpr[7] >> 31u); @@ -4941,24 +4942,24 @@ L_089C6090: aot_gpr_5 = (aot_gpr_5 + ctx.gpr[18]); aot_gpr_6 = (static_cast(static_cast(aot_gpr_6) >> 1u)); aot_fpr_14 = std::bit_cast(aot_gpr_5); - aot_gpr_6 = (aot_gpr_6 + aot_gpr_16); + aot_gpr_6 = (aot_gpr_6 + ctx.gpr[16]); aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); aot_fpr_12 = std::bit_cast(aot_gpr_6); aot_gpr_4 = (aot_gpr_29 | 0u); - ctx.fpr[15] = std::bit_cast(std::bit_cast(ctx.fpr[30])); + aot_fpr_15 = std::bit_cast(std::bit_cast(ctx.fpr[30])); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_gpr_31 = (0x089C60F0u); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[16])); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C60F0u) goto L_089C60F0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C60F0u) goto L_089C60F0; AOT_REGCACHE_SYNC_OUT(); return; L_089C60F0: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[26])); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[26])); aot_gpr_6 = (ctx.gpr[17] | 0u); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[24])); - ctx.fpr[15] = std::bit_cast(std::bit_cast(ctx.fpr[26])); + aot_fpr_15 = std::bit_cast(std::bit_cast(ctx.fpr[26])); ctx.fpr[16] = std::bit_cast(std::bit_cast(ctx.fpr[26])); ctx.fpr[17] = std::bit_cast(std::bit_cast(ctx.fpr[24])); ctx.fpr[18] = std::bit_cast(std::bit_cast(ctx.fpr[24])); @@ -4981,25 +4982,25 @@ L_089C6120: aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); aot_gpr_5 = (static_cast(static_cast(aot_gpr_5) >> 1u)); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 1u)); - aot_gpr_5 = (aot_gpr_5 + aot_gpr_16); + aot_gpr_5 = (aot_gpr_5 + ctx.gpr[16]); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[18]); aot_fpr_14 = std::bit_cast(aot_gpr_5); - ctx.fpr[15] = std::bit_cast(aot_gpr_4); - aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); + aot_fpr_15 = std::bit_cast(aot_gpr_4); + aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_gpr_4 = (aot_gpr_29 | 0u); aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); aot_gpr_31 = (0x089C617Cu); - ctx.fpr[15] = static_cast(static_cast(std::bit_cast(ctx.fpr[15]))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C617Cu) goto L_089C617C; + aot_fpr_15 = static_cast(static_cast(std::bit_cast(aot_fpr_15))); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C617Cu) goto L_089C617C; AOT_REGCACHE_SYNC_OUT(); return; L_089C617C: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[24])); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[24])); aot_gpr_6 = (ctx.gpr[17] | 0u); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[28])); - ctx.fpr[15] = std::bit_cast(std::bit_cast(ctx.fpr[22])); + aot_fpr_15 = std::bit_cast(std::bit_cast(ctx.fpr[22])); ctx.fpr[16] = std::bit_cast(std::bit_cast(ctx.fpr[24])); ctx.fpr[17] = std::bit_cast(std::bit_cast(ctx.fpr[28])); ctx.fpr[18] = std::bit_cast(std::bit_cast(ctx.fpr[28])); @@ -5014,36 +5015,36 @@ L_089C61AC: aot_gpr_6 = (aot_gpr_4 + aot_gpr_6); aot_gpr_6 = (static_cast(static_cast(aot_gpr_6) >> 1u)); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-8740))); - aot_gpr_6 = (aot_gpr_6 + aot_gpr_16); + aot_gpr_6 = (aot_gpr_6 + ctx.gpr[16]); aot_fpr_12 = std::bit_cast(aot_gpr_6); aot_gpr_6 = (aot_gpr_5 + ctx.gpr[18]); aot_gpr_6 = (aot_gpr_6 + static_cast(20)); ctx.gpr[7] = (static_cast(static_cast(aot_gpr_5) >> 1u)); aot_fpr_13 = std::bit_cast(aot_gpr_6); - aot_gpr_4 = (aot_gpr_4 + aot_gpr_16); + aot_gpr_4 = (aot_gpr_4 + ctx.gpr[16]); aot_gpr_6 = (ctx.gpr[7] >> 31u); aot_gpr_4 = (aot_gpr_4 + static_cast(20)); aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); aot_fpr_14 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (static_cast(static_cast(aot_gpr_5) >> 1u)); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[18]); - ctx.fpr[15] = std::bit_cast(aot_gpr_4); + aot_fpr_15 = std::bit_cast(aot_gpr_4); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_gpr_4 = (aot_gpr_29 | 0u); aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_13))); aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); aot_gpr_31 = (0x089C6214u); - ctx.fpr[15] = static_cast(static_cast(std::bit_cast(ctx.fpr[15]))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C6214u) goto L_089C6214; + aot_fpr_15 = static_cast(static_cast(std::bit_cast(aot_fpr_15))); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C6214u) goto L_089C6214; AOT_REGCACHE_SYNC_OUT(); return; L_089C6214: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[26])); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[22])); aot_gpr_6 = (ctx.gpr[17] | 0u); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[24])); - ctx.fpr[15] = std::bit_cast(std::bit_cast(ctx.fpr[24])); + aot_fpr_15 = std::bit_cast(std::bit_cast(ctx.fpr[24])); ctx.fpr[16] = std::bit_cast(std::bit_cast(ctx.fpr[26])); ctx.fpr[17] = std::bit_cast(std::bit_cast(ctx.fpr[28])); ctx.fpr[18] = std::bit_cast(std::bit_cast(ctx.fpr[24])); @@ -5054,13 +5055,13 @@ L_089C6214: L_089C6244: { std::uint32_t aot_run_words[11]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(20), aot_run_words); - aot_fpr_20 = std::bit_cast(aot_run_words[0]); + ctx.fpr[20] = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); ctx.fpr[26] = std::bit_cast(aot_run_words[3]); ctx.fpr[28] = std::bit_cast(aot_run_words[4]); ctx.fpr[30] = std::bit_cast(aot_run_words[5]); - aot_gpr_16 = aot_run_words[6]; + ctx.gpr[16] = aot_run_words[6]; ctx.gpr[17] = aot_run_words[7]; ctx.gpr[18] = aot_run_words[8]; ctx.gpr[19] = aot_run_words[9]; @@ -5174,25 +5175,25 @@ L_089C6318: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), 0u); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), 0u); jump_target = aot_gpr_31; - ctx.gpr[2] = (aot_gpr_4 | 0u); + aot_gpr_2 = (aot_gpr_4 | 0u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_089C6328: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_4 = (2234u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(25168)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(4), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x089C634Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_089C6D00; L_089C634C: - ctx.gpr[2] = (aot_gpr_16 | 0u); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_2 = (ctx.gpr[16] | 0u); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -5238,7 +5239,7 @@ L_089C6390: L_089C639C: aot_gpr_31 = (0x089C63A4u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C63A4u) goto L_089C63A4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C63A4u) goto L_089C63A4; AOT_REGCACHE_SYNC_OUT(); return; L_089C63A4: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -5296,7 +5297,7 @@ L_089C63F0: L_089C63FC: aot_gpr_31 = (0x089C6404u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C6404u) goto L_089C6404; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C6404u) goto L_089C6404; AOT_REGCACHE_SYNC_OUT(); return; L_089C6404: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -5312,19 +5313,19 @@ L_089C6410: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), ctx.gpr[18]); ctx.gpr[17] = (aot_gpr_5 | 0u); ctx.gpr[18] = (aot_gpr_6 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), ctx.gpr[16]); { const std::uint32_t aot_run_words[6]{ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(44), aot_run_words); } { const bool branch_taken = ctx.gpr[17] == ctx.gpr[18]; - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_089C6610; } goto L_089C6448; } L_089C6448: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); ctx.gpr[19] = (ctx.gpr[18] - ctx.gpr[17]); aot_gpr_4 = (aot_gpr_4 - aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_4); @@ -5350,15 +5351,15 @@ L_089C6468: } L_089C6480: aot_gpr_31 = (0x089C6488u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 365u, 0x08B658A0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C6488u) goto L_089C6488; AOT_REGCACHE_SYNC_OUT(); return; L_089C6488: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); goto L_089C648C; L_089C648C: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(8))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); ctx.gpr[7] = (aot_gpr_4 + ctx.gpr[19]); aot_gpr_5 = (aot_gpr_5 - aot_gpr_6); aot_gpr_5 = (aot_gpr_5 + static_cast(-1)); @@ -5410,7 +5411,7 @@ L_089C64E4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 474u, 0x08ABE308u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C64ECu) goto L_089C64EC; AOT_REGCACHE_SYNC_OUT(); return; L_089C64EC: - ctx.gpr[20] = (ctx.gpr[2] | 0u); + ctx.gpr[20] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[20] != 0u; // nop if (branch_taken) { @@ -5424,11 +5425,11 @@ L_089C64F8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 289u, 0x08B65438u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C6500u) goto L_089C6500; AOT_REGCACHE_SYNC_OUT(); return; L_089C6500: - ctx.gpr[20] = (ctx.gpr[2] | 0u); + ctx.gpr[20] = (aot_gpr_2 | 0u); goto L_089C6504; L_089C6504: - ctx.gpr[22] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - ctx.gpr[23] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + ctx.gpr[22] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); + ctx.gpr[23] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(19), static_cast(0u)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(19)))))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(22), static_cast(0u)); @@ -5440,7 +5441,7 @@ L_089C6504: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(23), static_cast(aot_gpr_5)); goto L_089C71E4; L_089C6530: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_2); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(28)))))); { const bool branch_taken = ctx.gpr[23] == ctx.gpr[22]; aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(21), static_cast(aot_gpr_4)); @@ -5459,7 +5460,7 @@ L_089C6540: AOT_REGCACHE_SYNC_OUT(); return; L_089C6554: { const bool branch_taken = 0u == 0u; - ctx.gpr[20] = (ctx.gpr[2] + ctx.gpr[20]); + ctx.gpr[20] = (aot_gpr_2 + ctx.gpr[20]); if (branch_taken) { goto L_089C655C; } @@ -5492,12 +5493,12 @@ L_089C6570: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 164u, 0x08AF54A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C6588u) goto L_089C6588; AOT_REGCACHE_SYNC_OUT(); return; L_089C6588: - ctx.gpr[17] = (ctx.gpr[2] + ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_2 + ctx.gpr[17]); goto L_089C658C; L_089C658C: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(24), static_cast(0u)); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(0), static_cast(0u)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -5508,21 +5509,21 @@ L_089C658C: L_089C65A0: aot_gpr_31 = (0x089C65A8u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C65A8u) goto L_089C65A8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C65A8u) goto L_089C65A8; AOT_REGCACHE_SYNC_OUT(); return; L_089C65A8: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), ctx.gpr[21]); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), ctx.gpr[17]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), ctx.gpr[21]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(4), ctx.gpr[17]); aot_gpr_4 = (ctx.gpr[21] + ctx.gpr[19]); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(8), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(8), aot_gpr_4); if (branch_taken) { goto L_089C6610; } goto L_089C65BC; } L_089C65BC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_gpr_6 = (ctx.gpr[17] + static_cast(1)); { const bool branch_taken = ctx.gpr[18] != aot_gpr_6; aot_gpr_5 = (aot_gpr_4 + static_cast(1)); @@ -5548,24 +5549,24 @@ L_089C65D4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 164u, 0x08AF54A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C65E8u) goto L_089C65E8; AOT_REGCACHE_SYNC_OUT(); return; L_089C65E8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[19]); goto L_089C65F0; L_089C65F0: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(25), static_cast(0u)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(0u)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(0)))))); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_5)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[19]); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(4), aot_gpr_4); goto L_089C6610; L_089C6610: - ctx.gpr[2] = (aot_gpr_16 | 0u); + aot_gpr_2 = (ctx.gpr[16] | 0u); { std::uint32_t aot_run_words[9]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(32), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -5587,19 +5588,19 @@ L_089C6640: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(60), ctx.gpr[18]); ctx.gpr[17] = (aot_gpr_5 | 0u); ctx.gpr[18] = (aot_gpr_6 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), ctx.gpr[16]); { const std::uint32_t aot_run_words[6]{ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(64), aot_run_words); } { const bool branch_taken = ctx.gpr[17] == ctx.gpr[18]; - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_089C6890; } goto L_089C6678; } L_089C6678: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); ctx.gpr[19] = (ctx.gpr[18] - ctx.gpr[17]); aot_gpr_4 = (aot_gpr_4 - aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_4); @@ -5625,21 +5626,21 @@ L_089C6698: } L_089C66B0: aot_gpr_31 = (0x089C66B8u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 365u, 0x08B658A0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C66B8u) goto L_089C66B8; AOT_REGCACHE_SYNC_OUT(); return; L_089C66B8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); goto L_089C66BC; L_089C66BC: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(8))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); ctx.gpr[7] = (aot_gpr_4 + ctx.gpr[19]); aot_gpr_5 = (aot_gpr_5 - aot_gpr_6); aot_gpr_5 = (aot_gpr_5 + static_cast(-1)); aot_gpr_5 = (aot_gpr_5 < ctx.gpr[7] ? 1u : 0u); if (aot_gpr_5 == 0u) { - ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + ctx.gpr[20] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); goto L_089C6814; } goto L_089C66DC; @@ -5683,7 +5684,7 @@ L_089C6714: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 474u, 0x08ABE308u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C671Cu) goto L_089C671C; AOT_REGCACHE_SYNC_OUT(); return; L_089C671C: - ctx.gpr[20] = (ctx.gpr[2] | 0u); + ctx.gpr[20] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[20] != 0u; // nop if (branch_taken) { @@ -5697,11 +5698,11 @@ L_089C6728: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 289u, 0x08B65438u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C6730u) goto L_089C6730; AOT_REGCACHE_SYNC_OUT(); return; L_089C6730: - ctx.gpr[20] = (ctx.gpr[2] | 0u); + ctx.gpr[20] = (aot_gpr_2 | 0u); goto L_089C6734; L_089C6734: - ctx.gpr[22] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - ctx.gpr[23] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + ctx.gpr[22] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); + ctx.gpr[23] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(19), static_cast(0u)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(19)))))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(22), static_cast(0u)); @@ -5713,7 +5714,7 @@ L_089C6734: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(23), static_cast(aot_gpr_5)); goto L_089C71E4; L_089C6760: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), aot_gpr_2); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(40)))))); { const bool branch_taken = ctx.gpr[23] == ctx.gpr[22]; aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(21), static_cast(aot_gpr_4)); @@ -5732,7 +5733,7 @@ L_089C6770: AOT_REGCACHE_SYNC_OUT(); return; L_089C6784: { const bool branch_taken = 0u == 0u; - ctx.gpr[20] = (ctx.gpr[2] + ctx.gpr[20]); + ctx.gpr[20] = (aot_gpr_2 + ctx.gpr[20]); if (branch_taken) { goto L_089C678C; } @@ -5751,7 +5752,7 @@ L_089C678C: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(30), static_cast(aot_gpr_5)); goto L_089C71E4; L_089C67B4: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), aot_gpr_2); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(44)))))); { const bool branch_taken = ctx.gpr[18] != ctx.gpr[22]; aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(28), static_cast(aot_gpr_4)); @@ -5777,12 +5778,12 @@ L_089C67CC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 164u, 0x08AF54A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C67E0u) goto L_089C67E0; AOT_REGCACHE_SYNC_OUT(); return; L_089C67E0: - ctx.gpr[17] = (ctx.gpr[2] + ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_2 + ctx.gpr[17]); goto L_089C67E4; L_089C67E4: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(31), static_cast(0u)); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(0), static_cast(0u)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -5793,14 +5794,14 @@ L_089C67E4: L_089C67F8: aot_gpr_31 = (0x089C6800u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C6800u) goto L_089C6800; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C6800u) goto L_089C6800; AOT_REGCACHE_SYNC_OUT(); return; L_089C6800: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), ctx.gpr[21]); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), ctx.gpr[17]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), ctx.gpr[21]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(4), ctx.gpr[17]); aot_gpr_4 = (ctx.gpr[21] + ctx.gpr[19]); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(8), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(8), aot_gpr_4); if (branch_taken) { goto L_089C6890; } @@ -5819,7 +5820,7 @@ L_089C6814: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(38), static_cast(aot_gpr_5)); goto L_089C71E4; L_089C683C: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), aot_gpr_2); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(48)))))); { const bool branch_taken = ctx.gpr[18] != ctx.gpr[21]; aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(36), static_cast(aot_gpr_4)); @@ -5829,7 +5830,7 @@ L_089C683C: goto L_089C684C; } L_089C684C: - ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); { const bool branch_taken = 0u == 0u; ctx.gpr[18] = (ctx.gpr[18] + ctx.gpr[19]); if (branch_taken) { @@ -5845,24 +5846,24 @@ L_089C6858: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 164u, 0x08AF54A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C6868u) goto L_089C6868; AOT_REGCACHE_SYNC_OUT(); return; L_089C6868: - ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); ctx.gpr[18] = (ctx.gpr[18] + ctx.gpr[19]); goto L_089C6870; L_089C6870: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(39), static_cast(0u)); aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(0), static_cast(0u)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(0)))))); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_5)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[19]); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(4), aot_gpr_4); goto L_089C6890; L_089C6890: - ctx.gpr[2] = (aot_gpr_16 | 0u); + aot_gpr_2 = (ctx.gpr[16] | 0u); { std::uint32_t aot_run_words[9]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(52), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -5884,11 +5885,11 @@ L_089C68C0: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(280), ctx.gpr[17]); ctx.gpr[17] = (0u + static_cast(-1)); ctx.gpr[7] = (ctx.gpr[7] < static_cast(13) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(276), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(276), ctx.gpr[16]); { const std::uint32_t aot_run_words[3]{ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(284), aot_run_words); } { const bool branch_taken = ctx.gpr[7] == 0u; - aot_gpr_16 = (aot_gpr_6 | 0u); + ctx.gpr[16] = (aot_gpr_6 | 0u); if (branch_taken) { goto L_089C6A84; } @@ -5928,7 +5929,7 @@ L_089C6918: goto L_089C6D68; L_089C6920: { const bool branch_taken = 0u == 0u; - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); if (branch_taken) { goto L_089C6A84; } @@ -5940,7 +5941,7 @@ L_089C6928: goto L_089C6D78; L_089C6930: { const bool branch_taken = 0u == 0u; - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); if (branch_taken) { goto L_089C6A84; } @@ -5952,7 +5953,7 @@ L_089C6938: goto L_089C6D88; L_089C6940: { const bool branch_taken = 0u == 0u; - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); if (branch_taken) { goto L_089C6A84; } @@ -5964,14 +5965,14 @@ L_089C6948: goto L_089C6DBC; L_089C6950: { const bool branch_taken = 0u == 0u; - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); if (branch_taken) { goto L_089C6A84; } goto L_089C6958; } L_089C6958: - { const bool branch_taken = aot_gpr_16 == 0u; + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_089C6A20; @@ -5984,7 +5985,7 @@ L_089C6960: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0099_entry, 99u, 392u, 0x08991B5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C6968u) goto L_089C6968; AOT_REGCACHE_SYNC_OUT(); return; L_089C6968: - if (aot_gpr_29 == aot_gpr_16) { + if (aot_gpr_29 == ctx.gpr[16]) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); goto L_089C6A08; } @@ -5993,7 +5994,7 @@ L_089C6970: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(268), static_cast(0u)); - ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); goto L_089C6980; L_089C6980: { const bool branch_taken = aot_gpr_5 == aot_gpr_4; @@ -6004,7 +6005,7 @@ L_089C6980: goto L_089C6988; } L_089C6988: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); { const bool branch_taken = ctx.gpr[17] == aot_gpr_6; // nop if (branch_taken) { @@ -6032,14 +6033,14 @@ L_089C69A8: goto L_089C69B0; } L_089C69B0: - ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); if (ctx.gpr[17] == ctx.gpr[18]) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); goto L_089C6A08; } goto L_089C69BC; L_089C69BC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_gpr_4 = (aot_gpr_4 - ctx.gpr[18]); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); { const bool branch_taken = aot_gpr_4 == 0u; @@ -6056,11 +6057,11 @@ L_089C69D0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 164u, 0x08AF54A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C69DCu) goto L_089C69DC; AOT_REGCACHE_SYNC_OUT(); return; L_089C69DC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_gpr_5 = (ctx.gpr[18] - ctx.gpr[17]); aot_gpr_4 = (aot_gpr_4 - aot_gpr_5); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(4), aot_gpr_4); if (branch_taken) { goto L_089C6A04; } @@ -6071,7 +6072,7 @@ L_089C69F0: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(270), static_cast(0u)); ctx.gpr[7] = (aot_gpr_29 + static_cast(270)); aot_gpr_31 = (0x089C6A04u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_089C6640; L_089C6A04: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -6087,11 +6088,11 @@ L_089C6A08: L_089C6A10: aot_gpr_31 = (0x089C6A18u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C6A18u) goto L_089C6A18; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C6A18u) goto L_089C6A18; AOT_REGCACHE_SYNC_OUT(); return; L_089C6A18: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_089C6B70; } @@ -6111,7 +6112,7 @@ L_089C6A28: goto L_089C6E0C; L_089C6A30: { const bool branch_taken = 0u == 0u; - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); if (branch_taken) { goto L_089C6A84; } @@ -6123,7 +6124,7 @@ L_089C6A38: goto L_089C6EF4; L_089C6A40: { const bool branch_taken = 0u == 0u; - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); if (branch_taken) { goto L_089C6A84; } @@ -6135,7 +6136,7 @@ L_089C6A48: goto L_089C6F04; L_089C6A50: { const bool branch_taken = 0u == 0u; - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); if (branch_taken) { goto L_089C6A84; } @@ -6147,7 +6148,7 @@ L_089C6A58: goto L_089C6DFC; L_089C6A60: { const bool branch_taken = 0u == 0u; - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); if (branch_taken) { goto L_089C6A84; } @@ -6159,7 +6160,7 @@ L_089C6A68: goto L_089C70C8; L_089C6A70: { const bool branch_taken = 0u == 0u; - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); if (branch_taken) { goto L_089C6A84; } @@ -6170,10 +6171,10 @@ L_089C6A78: // nop goto L_089C6F60; L_089C6A80: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); goto L_089C6A84; L_089C6A84: - { const bool branch_taken = aot_gpr_16 == 0u; + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_089C6B6C; @@ -6191,24 +6192,24 @@ L_089C6A8C: L_089C6AA0: aot_gpr_31 = (0x089C6AA8u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C6AA8u) goto L_089C6AA8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C6AA8u) goto L_089C6AA8; AOT_REGCACHE_SYNC_OUT(); return; L_089C6AA8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); - ctx.gpr[19] = (aot_gpr_29 + ctx.gpr[2]); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); + ctx.gpr[19] = (aot_gpr_29 + aot_gpr_2); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); ctx.gpr[19] = (ctx.gpr[19] + static_cast(12)); ctx.gpr[18] = (ctx.gpr[19] - ctx.gpr[18]); aot_gpr_4 = (aot_gpr_4 - aot_gpr_5); aot_gpr_4 = (aot_gpr_4 < ctx.gpr[18] ? 1u : 0u); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); goto L_089C6B28; } goto L_089C6ACC; L_089C6ACC: { const bool branch_taken = ctx.gpr[18] == 0u; - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); if (branch_taken) { goto L_089C6AE0; } @@ -6221,8 +6222,8 @@ L_089C6AD4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C6AE0u) goto L_089C6AE0; AOT_REGCACHE_SYNC_OUT(); return; L_089C6AE0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); + ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); ctx.gpr[18] = (aot_gpr_4 + ctx.gpr[18]); { const bool branch_taken = ctx.gpr[18] == ctx.gpr[19]; // nop @@ -6232,7 +6233,7 @@ L_089C6AE0: goto L_089C6AF4; } L_089C6AF4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_gpr_4 = (aot_gpr_4 - ctx.gpr[19]); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); { const bool branch_taken = aot_gpr_4 == 0u; @@ -6249,18 +6250,18 @@ L_089C6B08: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 164u, 0x08AF54A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C6B14u) goto L_089C6B14; AOT_REGCACHE_SYNC_OUT(); return; L_089C6B14: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_gpr_5 = (ctx.gpr[19] - ctx.gpr[18]); aot_gpr_4 = (aot_gpr_4 - aot_gpr_5); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(4), aot_gpr_4); if (branch_taken) { goto L_089C6B6C; } goto L_089C6B28; } L_089C6B28: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_gpr_5 = (aot_gpr_6 - aot_gpr_4); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_6 = (aot_gpr_5 | 0u); @@ -6275,25 +6276,25 @@ L_089C6B38: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C6B40u) goto L_089C6B40; AOT_REGCACHE_SYNC_OUT(); return; L_089C6B40: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(271), static_cast(0u)); aot_gpr_4 = (aot_gpr_4 - aot_gpr_5); aot_gpr_5 = (aot_gpr_29 + aot_gpr_4); aot_gpr_5 = (aot_gpr_5 + static_cast(12)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(272), static_cast(0u)); ctx.gpr[7] = (aot_gpr_29 + static_cast(272)); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089C6B6Cu); aot_gpr_6 = (ctx.gpr[19] | 0u); goto L_089C6410; L_089C6B6C: - ctx.gpr[2] = (ctx.gpr[17] | 0u); + aot_gpr_2 = (ctx.gpr[17] | 0u); goto L_089C6B70; L_089C6B70: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(276), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -6543,7 +6544,7 @@ L_089C6D00: AOT_REGCACHE_SYNC_OUT(); return; L_089C6D68: jump_target = aot_gpr_31; - ctx.gpr[2] = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(8))); + aot_gpr_2 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(8))); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -6557,7 +6558,7 @@ L_089C6D70: AOT_REGCACHE_SYNC_OUT(); return; L_089C6D78: jump_target = aot_gpr_31; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(12))); + aot_gpr_2 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(12))); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -6572,7 +6573,7 @@ L_089C6D80: L_089C6D88: aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7080))); { const bool branch_taken = aot_gpr_5 == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(19))); + aot_gpr_2 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(19))); if (branch_taken) { goto L_089C6DAC; } @@ -6581,14 +6582,14 @@ L_089C6D88: L_089C6D94: aot_gpr_4 = (0u | 1u); aot_gpr_5 = (0u | 2u); - if (ctx.gpr[2] != aot_gpr_5) { - aot_gpr_4 = (ctx.gpr[2] | 0u); + if (aot_gpr_2 != aot_gpr_5) { + aot_gpr_4 = (aot_gpr_2 | 0u); goto L_089C6DA4; } goto L_089C6DA4; L_089C6DA4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_gpr_4 | 0u); + aot_gpr_2 = (aot_gpr_4 | 0u); if (branch_taken) { goto L_089C6DAC; } @@ -6610,7 +6611,7 @@ L_089C6DB4: AOT_REGCACHE_SYNC_OUT(); return; L_089C6DBC: jump_target = aot_gpr_31; - ctx.gpr[2] = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(24))); + aot_gpr_2 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(24))); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -6624,7 +6625,7 @@ L_089C6DC4: AOT_REGCACHE_SYNC_OUT(); return; L_089C6DCC: jump_target = aot_gpr_31; - ctx.gpr[2] = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(16))); + aot_gpr_2 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(16))); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -6638,7 +6639,7 @@ L_089C6DD4: AOT_REGCACHE_SYNC_OUT(); return; L_089C6DDC: jump_target = aot_gpr_31; - ctx.gpr[2] = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(17))); + aot_gpr_2 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(17))); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -6652,7 +6653,7 @@ L_089C6DE4: AOT_REGCACHE_SYNC_OUT(); return; L_089C6DEC: jump_target = aot_gpr_31; - ctx.gpr[2] = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(18))); + aot_gpr_2 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(18))); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -6666,7 +6667,7 @@ L_089C6DF4: AOT_REGCACHE_SYNC_OUT(); return; L_089C6DFC: jump_target = aot_gpr_31; - ctx.gpr[2] = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(25))); + aot_gpr_2 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(25))); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -6686,7 +6687,7 @@ L_089C6E0C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C6E1Cu) goto L_089C6E1C; AOT_REGCACHE_SYNC_OUT(); return; L_089C6E1C: - aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(150))); + aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(150))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -6700,7 +6701,7 @@ L_089C6E28: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C6E30u) goto L_089C6E30; AOT_REGCACHE_SYNC_OUT(); return; L_089C6E30: - aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(150))); + aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(150))); aot_gpr_5 = (0u | 1u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -6711,14 +6712,14 @@ L_089C6E30: } L_089C6E40: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_089C6E4C; } goto L_089C6E48; } L_089C6E48: - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); goto L_089C6E4C; L_089C6E4C: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -6731,7 +6732,7 @@ L_089C6E4C: L_089C6E58: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_5 = (aot_gpr_5 & 255u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); { const bool branch_taken = aot_gpr_5 != 0u; // nop @@ -6745,7 +6746,7 @@ L_089C6E70: // nop goto L_089C6F04; L_089C6E78: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_089C6E90; @@ -6759,21 +6760,21 @@ L_089C6E80: AOT_REGCACHE_SYNC_OUT(); return; L_089C6E88: { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store16(ctx.gpr[2] + static_cast(150), static_cast(0u)); + aot_mem.aot_direct_store16(aot_gpr_2 + static_cast(150), static_cast(0u)); if (branch_taken) { goto L_089C6EE4; } goto L_089C6E90; } L_089C6E90: - aot_gpr_16 = (0u | 1u); + ctx.gpr[16] = (0u | 1u); aot_gpr_31 = (0x089C6E9Cu); aot_gpr_4 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C6E9Cu) goto L_089C6E9C; AOT_REGCACHE_SYNC_OUT(); return; L_089C6E9C: { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store16(ctx.gpr[2] + static_cast(150), static_cast(aot_gpr_16)); + aot_mem.aot_direct_store16(aot_gpr_2 + static_cast(150), static_cast(ctx.gpr[16])); if (branch_taken) { goto L_089C6EE4; } @@ -6793,7 +6794,7 @@ L_089C6EB0: // nop goto L_089C6F04; L_089C6EB8: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_089C6ED4; @@ -6801,30 +6802,30 @@ L_089C6EB8: goto L_089C6EC0; } L_089C6EC0: - aot_gpr_16 = (0u | 2u); + ctx.gpr[16] = (0u | 2u); aot_gpr_31 = (0x089C6ECCu); aot_gpr_4 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C6ECCu) goto L_089C6ECC; AOT_REGCACHE_SYNC_OUT(); return; L_089C6ECC: { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store16(ctx.gpr[2] + static_cast(150), static_cast(aot_gpr_16)); + aot_mem.aot_direct_store16(aot_gpr_2 + static_cast(150), static_cast(ctx.gpr[16])); if (branch_taken) { goto L_089C6EE4; } goto L_089C6ED4; } L_089C6ED4: - aot_gpr_16 = (0u | 3u); + ctx.gpr[16] = (0u | 3u); aot_gpr_31 = (0x089C6EE0u); aot_gpr_4 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C6EE0u) goto L_089C6EE0; AOT_REGCACHE_SYNC_OUT(); return; L_089C6EE0: - aot_mem.aot_direct_store16(ctx.gpr[2] + static_cast(150), static_cast(aot_gpr_16)); + aot_mem.aot_direct_store16(aot_gpr_2 + static_cast(150), static_cast(ctx.gpr[16])); goto L_089C6EE4; L_089C6EE4: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -6834,7 +6835,7 @@ L_089C6EE4: AOT_REGCACHE_SYNC_OUT(); return; L_089C6EF4: jump_target = aot_gpr_31; - ctx.gpr[2] = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-16129))); + aot_gpr_2 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-16129))); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -6848,25 +6849,25 @@ L_089C6EFC: AOT_REGCACHE_SYNC_OUT(); return; L_089C6F04: jump_target = aot_gpr_31; - ctx.gpr[2] = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-16128))); + aot_gpr_2 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-16128))); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_089C6F0C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_5 & 255u); aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-16128), static_cast(aot_gpr_4)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x089C6F2Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_089C6E0C; L_089C6F2C: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089C6F38u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); goto L_089C6E58; L_089C6F38: aot_gpr_31 = (0x089C6F40u); @@ -6874,7 +6875,7 @@ L_089C6F38: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0097_entry, 97u, 829u, 0x0898B448u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C6F40u) goto L_089C6F40; AOT_REGCACHE_SYNC_OUT(); return; L_089C6F40: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -6884,7 +6885,7 @@ L_089C6F40: AOT_REGCACHE_SYNC_OUT(); return; L_089C6F50: jump_target = aot_gpr_31; - ctx.gpr[2] = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(26))); + aot_gpr_2 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(26))); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -6898,7 +6899,7 @@ L_089C6F58: AOT_REGCACHE_SYNC_OUT(); return; L_089C6F60: jump_target = aot_gpr_31; - ctx.gpr[2] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(27)))))); + aot_gpr_2 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(27)))))); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -6912,10 +6913,10 @@ L_089C6F68: ctx.gpr[18] = (2237u << 16u); ctx.gpr[17] = (static_cast(static_cast(ctx.gpr[17]) >> 24u)); ctx.gpr[18] = (ctx.gpr[18] + static_cast(-28416)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); { const bool branch_taken = aot_gpr_5 != 0u; - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_089C6FB0; } @@ -6931,7 +6932,7 @@ L_089C6F98: L_089C6FA8: aot_gpr_31 = (0x089C6FB0u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-11872)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C6FB0u) goto L_089C6FB0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C6FB0u) goto L_089C6FB0; AOT_REGCACHE_SYNC_OUT(); return; L_089C6FB0: aot_gpr_31 = (0x089C6FB8u); @@ -6939,7 +6940,7 @@ L_089C6FB0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0010_entry, 10u, 611u, 0x0882E9B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C6FB8u) goto L_089C6FB8; AOT_REGCACHE_SYNC_OUT(); return; L_089C6FB8: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089C6FEC; @@ -6965,7 +6966,7 @@ L_089C6FCC: L_089C6FDC: aot_gpr_31 = (0x089C6FE4u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-11872)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C6FE4u) goto L_089C6FE4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C6FE4u) goto L_089C6FE4; AOT_REGCACHE_SYNC_OUT(); return; L_089C6FE4: aot_gpr_4 = (0u | 1u); @@ -6974,7 +6975,7 @@ L_089C6FE8: aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(76), static_cast(aot_gpr_4)); goto L_089C6FEC; L_089C6FEC: - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(27), static_cast(ctx.gpr[17])); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(27), static_cast(ctx.gpr[17])); aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); aot_gpr_31 = (0x089C6FFCu); aot_gpr_5 = (ctx.gpr[17] | 0u); @@ -6995,7 +6996,7 @@ L_089C7008: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0211_entry, 211u, 185u, 0x08B50B6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C7010u) goto L_089C7010; AOT_REGCACHE_SYNC_OUT(); return; L_089C7010: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(27)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(27)))))); aot_gpr_5 = (0u | 9u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -7027,7 +7028,7 @@ L_089C7038: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0044_entry, 44u, 472u, 0x088B6860u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C7040u) goto L_089C7040; AOT_REGCACHE_SYNC_OUT(); return; L_089C7040: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089C7070; @@ -7057,7 +7058,7 @@ L_089C7060: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0044_entry, 44u, 562u, 0x088B6F30u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C7068u) goto L_089C7068; AOT_REGCACHE_SYNC_OUT(); return; L_089C7068: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_089C7084; @@ -7065,7 +7066,7 @@ L_089C7068: goto L_089C7070; } L_089C7070: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089C707Cu); aot_gpr_5 = (0u | 2u); goto L_089C70D0; @@ -7078,14 +7079,14 @@ L_089C707C: goto L_089C7084; } L_089C7084: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089C7090u); aot_gpr_5 = (0u | 0u); goto L_089C70D0; L_089C7090: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; @@ -7098,7 +7099,7 @@ L_089C7090: AOT_REGCACHE_SYNC_OUT(); return; L_089C70A8: jump_target = aot_gpr_31; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(32))); + aot_gpr_2 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(32))); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -7112,7 +7113,7 @@ L_089C70B0: AOT_REGCACHE_SYNC_OUT(); return; L_089C70B8: jump_target = aot_gpr_31; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(28))); + aot_gpr_2 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(28))); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -7126,16 +7127,16 @@ L_089C70C0: AOT_REGCACHE_SYNC_OUT(); return; L_089C70C8: jump_target = aot_gpr_31; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(36))); + aot_gpr_2 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(36))); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_089C70D0: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(36), aot_gpr_5); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(36), aot_gpr_5); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); @@ -7147,7 +7148,7 @@ L_089C70D0: goto L_089C70F4; } L_089C70F4: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089C7100u); aot_gpr_5 = (0u | 9u); goto L_089C6F68; @@ -7177,11 +7178,11 @@ L_089C7110: } L_089C7118: aot_gpr_31 = (0x089C7120u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_089C6F60; L_089C7120: aot_gpr_4 = (0u | 9u); - { const bool branch_taken = ctx.gpr[2] != aot_gpr_4; + { const bool branch_taken = aot_gpr_2 != aot_gpr_4; // nop if (branch_taken) { goto L_089C7138; @@ -7189,12 +7190,12 @@ L_089C7120: goto L_089C712C; } L_089C712C: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089C7138u); aot_gpr_5 = (0u | 0u); goto L_089C6F68; L_089C7138: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -7204,7 +7205,7 @@ L_089C7138: AOT_REGCACHE_SYNC_OUT(); return; L_089C7148: jump_target = aot_gpr_31; - ctx.gpr[2] = (aot_gpr_4 + static_cast(40)); + aot_gpr_2 = (aot_gpr_4 + static_cast(40)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -7221,7 +7222,7 @@ L_089C7150: AOT_REGCACHE_SYNC_OUT(); return; L_089C7164: jump_target = aot_gpr_31; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); + aot_gpr_2 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -7235,7 +7236,7 @@ L_089C716C: AOT_REGCACHE_SYNC_OUT(); return; L_089C7174: jump_target = aot_gpr_31; - ctx.gpr[2] = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(48))); + aot_gpr_2 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(48))); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -7256,15 +7257,15 @@ L_089C7184: AOT_REGCACHE_SYNC_OUT(); return; L_089C718C: jump_target = aot_gpr_31; - ctx.gpr[2] = (aot_gpr_4 + static_cast(52)); + aot_gpr_2 = (aot_gpr_4 + static_cast(52)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_089C7194: - ctx.gpr[2] = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(77))); + aot_gpr_2 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(77))); jump_target = aot_gpr_31; - ctx.gpr[2] = (0u < ctx.gpr[2] ? 1u : 0u); + aot_gpr_2 = (0u < aot_gpr_2 ? 1u : 0u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -7278,7 +7279,7 @@ L_089C71A0: AOT_REGCACHE_SYNC_OUT(); return; L_089C71A8: jump_target = aot_gpr_31; - ctx.gpr[2] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(76)))))); + aot_gpr_2 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(76)))))); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -7324,7 +7325,7 @@ L_089C71DC: L_089C71E4: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(0), static_cast(0u)); - ctx.gpr[2] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(0)))))); + aot_gpr_2 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(0)))))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; @@ -7421,10 +7422,10 @@ L_089C7248: AOT_REGCACHE_SYNC_OUT(); return; L_089C72B8: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - { const std::uint32_t aot_run_words[6]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), aot_gpr_16, aot_gpr_31}; + { const std::uint32_t aot_run_words[6]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), ctx.gpr[16], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_31 = (0x089C72DCu); - aot_gpr_16 = (aot_gpr_4 & 255u); + ctx.gpr[16] = (aot_gpr_4 & 255u); goto L_089C7458; L_089C72DC: aot_gpr_31 = (0x089C72E4u); @@ -7522,7 +7523,7 @@ L_089C73B4: goto L_089C73C0; } L_089C73C0: - { const bool branch_taken = aot_gpr_16 == 0u; + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_089C7438; @@ -7536,20 +7537,20 @@ L_089C73C8: AOT_REGCACHE_SYNC_OUT(); return; L_089C73D0: aot_gpr_4 = (2236u << 16u); - aot_gpr_16 = (aot_gpr_4 + static_cast(32304)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1952))); + ctx.gpr[16] = (aot_gpr_4 + static_cast(32304)); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1952))); aot_gpr_4 = (16928u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_31 = (0x089C73F0u); - { const float fs = aot_fpr_12; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_20 = std::bit_cast(0x7FC00000u); else aot_fpr_20 = fs * ft; } + { const float fs = aot_fpr_12; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[20] = std::bit_cast(0x7FC00000u); else ctx.fpr[20] = fs * ft; } if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0113_entry, 113u, 281u, 0x089C9078u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C73F0u) goto L_089C73F0; AOT_REGCACHE_SYNC_OUT(); return; L_089C73F0: - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1952))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1952))); aot_gpr_4 = (17008u << 16u); - ctx.fpr[15] = std::bit_cast(aot_gpr_4); - { const float fs = aot_fpr_14; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } + aot_fpr_15 = std::bit_cast(aot_gpr_4); + { const float fs = aot_fpr_14; const float ft = aot_fpr_15; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_gpr_31 = (0x089C7408u); { const float fs = aot_fpr_13; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[22] = std::bit_cast(0x7FC00000u); else ctx.fpr[22] = fs * ft; } if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0113_entry, 113u, 281u, 0x089C9078u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C7408u) goto L_089C7408; @@ -7565,8 +7566,8 @@ L_089C7408: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0113_entry, 113u, 281u, 0x089C9078u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C7424u) goto L_089C7424; AOT_REGCACHE_SYNC_OUT(); return; L_089C7424: - { const float fs = ctx.fpr[0]; const float ft = ctx.fpr[24]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[15] = std::bit_cast(0x7FC00000u); else ctx.fpr[15] = fs * ft; } - aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); + { const float fs = ctx.fpr[0]; const float ft = ctx.fpr[24]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_15 = std::bit_cast(0x7FC00000u); else aot_fpr_15 = fs * ft; } + aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[22])); aot_gpr_31 = (0x089C7438u); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[26])); @@ -7575,11 +7576,11 @@ L_089C7424: L_089C7438: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_fpr_20 = std::bit_cast(aot_run_words[0]); + ctx.fpr[20] = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); ctx.fpr[26] = std::bit_cast(aot_run_words[3]); - aot_gpr_16 = aot_run_words[4]; + ctx.gpr[16] = aot_run_words[4]; aot_gpr_31 = aot_run_words[5]; } jump_target = aot_gpr_31; @@ -7590,7 +7591,7 @@ L_089C7438: AOT_REGCACHE_SYNC_OUT(); return; L_089C7458: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_089C7460; } @@ -7605,10 +7606,10 @@ L_089C7460: AOT_REGCACHE_SYNC_OUT(); return; L_089C7468: aot_gpr_29 = (aot_gpr_29 + static_cast(-1152)); - { const std::uint32_t aot_run_words[9]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_31}; + { const std::uint32_t aot_run_words[9]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(1108), aot_run_words); } aot_gpr_6 = (16384u << 16u); - aot_fpr_20 = std::bit_cast(aot_gpr_6); + ctx.fpr[20] = std::bit_cast(aot_gpr_6); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -7656,7 +7657,7 @@ L_089C7468: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<39u, 4u>(vfpu_value); } - aot_gpr_6 = (std::bit_cast(aot_fpr_20)); + aot_gpr_6 = (std::bit_cast(ctx.fpr[20])); ctx.set_vfpu_scalar_bits_ct<0u>(aot_gpr_6); ctx.execute_vfpu_vtfm_ct<14u, 36u, 12u, 4u, 3u>(); ctx.vfpu_ctrl[1u] = 0x00000000u; @@ -7674,7 +7675,7 @@ L_089C74D4: aot_gpr_6 = (aot_gpr_6 & 255u); goto L_089C74DC; L_089C74DC: - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.gpr[17] = (aot_gpr_5 | 0u); { const bool branch_taken = aot_gpr_6 == 0u; // nop @@ -7689,7 +7690,7 @@ L_089C74EC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C74F4u) goto L_089C74F4; AOT_REGCACHE_SYNC_OUT(); return; L_089C74F4: - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -7698,7 +7699,7 @@ L_089C74F4: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_4 = (ctx.gpr[2] + static_cast(48)); + aot_gpr_4 = (aot_gpr_2 + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -7746,7 +7747,7 @@ L_089C7528: } L_089C7544: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_089C77D8; } @@ -7754,7 +7755,7 @@ L_089C7544: } L_089C754C: { std::uint32_t aot_run_words[3]{}; - aot_mem.aot_direct_load32_block(aot_gpr_16 + static_cast(0), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[16] + static_cast(0), aot_run_words); aot_fpr_12 = std::bit_cast(aot_run_words[0]); aot_fpr_13 = std::bit_cast(aot_run_words[1]); aot_fpr_14 = std::bit_cast(aot_run_words[2]); @@ -7777,11 +7778,11 @@ L_089C756C: goto L_089C757C; } L_089C757C: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(8))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[22])) ? 0x00800000u : 0u); // nop if (!((ctx.fcr31 & 0x00800000u) != 0u)) { - ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); + ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(8))); goto L_089C75A0; } goto L_089C7590; @@ -7795,7 +7796,7 @@ L_089C7590: } L_089C7598: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_089C77D8; } @@ -7805,20 +7806,20 @@ L_089C75A0: ctx.gpr[18] = (0u | 0u); aot_gpr_31 = (0x089C75ACu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C75ACu) goto L_089C75AC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C75ACu) goto L_089C75AC; AOT_REGCACHE_SYNC_OUT(); return; L_089C75AC: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 0u); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-11804))); aot_gpr_31 = (0x089C75C0u); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-11808))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C75C0u) goto L_089C75C0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C75C0u) goto L_089C75C0; AOT_REGCACHE_SYNC_OUT(); return; L_089C75C0: ctx.gpr[1] = (ctx.gpr[3] << 1u); aot_gpr_5 = (static_cast(static_cast(ctx.gpr[3]) >> 31u)); - aot_gpr_4 = (ctx.gpr[2] >> 31u); + aot_gpr_4 = (aot_gpr_2 >> 31u); aot_gpr_4 = (ctx.gpr[1] | aot_gpr_4); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-11796))); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-11800))); @@ -7861,7 +7862,7 @@ L_089C7618: } L_089C7620: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_089C77D8; } @@ -7908,7 +7909,7 @@ L_089C765C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C7674u) goto L_089C7674; AOT_REGCACHE_SYNC_OUT(); return; L_089C7674: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089C7680; @@ -7927,8 +7928,8 @@ L_089C7680: goto L_089C7688; } L_089C7688: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_13), std::bit_cast(ctx.fpr[22])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_4 = (0u | 4u); @@ -7940,7 +7941,7 @@ L_089C7688: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0113_entry, 113u, 729u, 0x089CAC6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C76B4u) goto L_089C76B4; AOT_REGCACHE_SYNC_OUT(); return; L_089C76B4: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); aot_gpr_4 = (16512u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_13 = std::bit_cast(0u); @@ -7967,20 +7968,20 @@ L_089C76D4: L_089C76F4: aot_gpr_31 = (0x089C76FCu); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C76FCu) goto L_089C76FC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C76FCu) goto L_089C76FC; AOT_REGCACHE_SYNC_OUT(); return; L_089C76FC: { const std::uint32_t aot_run_words[3]{0u, 0u, 0u}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(24), aot_run_words); } aot_gpr_6 = (aot_gpr_29 + static_cast(24)); - aot_gpr_4 = (aot_gpr_16 | 0u); - aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); + aot_gpr_4 = (ctx.gpr[16] | 0u); + aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_gpr_31 = (0x089C771Cu); aot_gpr_5 = (0u | 3u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 708u, 0x08B1FAACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C771Cu) goto L_089C771C; AOT_REGCACHE_SYNC_OUT(); return; L_089C771C: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_089C7768; @@ -8022,7 +8023,7 @@ L_089C7748: goto L_089C7804; L_089C7750: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_089C77D8; } @@ -8060,7 +8061,7 @@ L_089C7768: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0044_entry, 44u, 66u, 0x088B4738u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C77B0u) goto L_089C77B0; AOT_REGCACHE_SYNC_OUT(); return; L_089C77B0: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089C77C8; @@ -8073,7 +8074,7 @@ L_089C77B8: goto L_089C7804; L_089C77C0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_089C77D8; } @@ -8086,14 +8087,14 @@ L_089C77C8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 190u, 0x08945304u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C77D4u) goto L_089C77D4; AOT_REGCACHE_SYNC_OUT(); return; L_089C77D4: - ctx.gpr[2] = (ctx.gpr[19] | 0u); + aot_gpr_2 = (ctx.gpr[19] | 0u); goto L_089C77D8; L_089C77D8: { std::uint32_t aot_run_words[9]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(1108), aot_run_words); - aot_fpr_20 = std::bit_cast(aot_run_words[0]); + ctx.fpr[20] = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); - aot_gpr_16 = aot_run_words[2]; + ctx.gpr[16] = aot_run_words[2]; ctx.gpr[17] = aot_run_words[3]; ctx.gpr[18] = aot_run_words[4]; ctx.gpr[19] = aot_run_words[5]; @@ -8109,12 +8110,12 @@ L_089C77D8: AOT_REGCACHE_SYNC_OUT(); return; L_089C7804: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - { const std::uint32_t aot_run_words[8]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_31}; + { const std::uint32_t aot_run_words[8]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(2228))); ctx.gpr[21] = (0u | 17u); { const bool branch_taken = aot_gpr_5 != ctx.gpr[21]; - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_089C79DC; } @@ -8200,7 +8201,7 @@ L_089C78A8: goto L_089C78B4; } L_089C78B4: - { const bool branch_taken = ctx.gpr[18] == aot_gpr_16; + { const bool branch_taken = ctx.gpr[18] == ctx.gpr[16]; // nop if (branch_taken) { goto L_089C7954; @@ -8219,8 +8220,8 @@ L_089C78BC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C78D4u) goto L_089C78D4; AOT_REGCACHE_SYNC_OUT(); return; L_089C78D4: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(12))); - { const bool branch_taken = aot_gpr_4 != aot_gpr_16; + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(12))); + { const bool branch_taken = aot_gpr_4 != ctx.gpr[16]; // nop if (branch_taken) { goto L_089C7954; @@ -8245,10 +8246,10 @@ L_089C78EC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C7904u) goto L_089C7904; AOT_REGCACHE_SYNC_OUT(); return; L_089C7904: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(36))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(36))); aot_gpr_5 = (aot_gpr_4 + static_cast(40)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); - aot_gpr_4 = (ctx.gpr[2] + aot_gpr_4); + aot_gpr_4 = (aot_gpr_2 + aot_gpr_4); ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); aot_gpr_5 = (ctx.gpr[22] | 0u); aot_gpr_6 = (0u | 0u); @@ -8270,7 +8271,7 @@ L_089C7928: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C7940u) goto L_089C7940; AOT_REGCACHE_SYNC_OUT(); return; L_089C7940: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_6 = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x089C7954u); @@ -8289,29 +8290,29 @@ L_089C7954: goto L_089C7968; } L_089C7968: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089C7974u); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 240u, 0x08908D60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C7974u) goto L_089C7974; AOT_REGCACHE_SYNC_OUT(); return; L_089C7974: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(92))); aot_gpr_5 = (aot_gpr_4 + static_cast(216)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); jump_target = aot_gpr_5; aot_gpr_31 = (0x089C798Cu); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C798Cu) goto L_089C798C; AOT_REGCACHE_SYNC_OUT(); return; L_089C798C: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(36))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(36))); aot_gpr_5 = (aot_gpr_4 + static_cast(40)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); - aot_gpr_4 = (ctx.gpr[2] + aot_gpr_4); + aot_gpr_4 = (aot_gpr_2 + aot_gpr_4); ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_6 = (0u | 0u); jump_target = ctx.gpr[8]; aot_gpr_31 = (0x089C79B0u); @@ -8320,37 +8321,37 @@ L_089C798C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C79B0u) goto L_089C79B0; AOT_REGCACHE_SYNC_OUT(); return; L_089C79B0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(92))); aot_gpr_5 = (aot_gpr_4 + static_cast(216)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); jump_target = aot_gpr_5; aot_gpr_31 = (0x089C79C8u); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C79C8u) goto L_089C79C8; AOT_REGCACHE_SYNC_OUT(); return; L_089C79C8: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 0u); - aot_gpr_6 = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089C79DCu); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0006_entry, 6u, 613u, 0x0881F6CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C79DCu) goto L_089C79DC; AOT_REGCACHE_SYNC_OUT(); return; L_089C79DC: aot_gpr_31 = (0x089C79E4u); - aot_gpr_4 = (aot_gpr_16 + static_cast(864)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(864)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 563u, 0x08A9F908u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C79E4u) goto L_089C79E4; AOT_REGCACHE_SYNC_OUT(); return; L_089C79E4: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089C79F0u); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 247u, 0x08891B8Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C79F0u) goto L_089C79F0; AOT_REGCACHE_SYNC_OUT(); return; L_089C79F0: - { const bool branch_taken = aot_gpr_16 == 0u; + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_089C7A14; @@ -8358,10 +8359,10 @@ L_089C79F0: goto L_089C79F8; } L_089C79F8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(92))); aot_gpr_5 = (aot_gpr_4 + static_cast(24)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); jump_target = aot_gpr_6; aot_gpr_31 = (0x089C7A14u); @@ -8372,7 +8373,7 @@ L_089C79F8: L_089C7A14: { std::uint32_t aot_run_words[8]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -8389,13 +8390,13 @@ L_089C7A14: AOT_REGCACHE_SYNC_OUT(); return; L_089C7A3C: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - { const std::uint32_t aot_run_words[5]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), aot_gpr_16, aot_gpr_31}; + { const std::uint32_t aot_run_words[5]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), ctx.gpr[16], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); aot_gpr_4 = (16672u << 16u); ctx.fpr[22] = std::bit_cast(aot_gpr_4); aot_gpr_4 = (17008u << 16u); - aot_fpr_20 = std::bit_cast(aot_gpr_4); + ctx.fpr[20] = std::bit_cast(aot_gpr_4); goto L_089C7A68; L_089C7A68: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(9548))); @@ -8436,11 +8437,11 @@ L_089C7A68: AOT_REGCACHE_SYNC_OUT(); return; L_089C7AF0: aot_gpr_31 = (0x089C7AF8u); - { const float fs = ctx.fpr[0]; const float ft = aot_fpr_20; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[24] = std::bit_cast(0x7FC00000u); else ctx.fpr[24] = fs * ft; } + { const float fs = ctx.fpr[0]; const float ft = ctx.fpr[20]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[24] = std::bit_cast(0x7FC00000u); else ctx.fpr[24] = fs * ft; } if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0113_entry, 113u, 281u, 0x089C9078u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C7AF8u) goto L_089C7AF8; AOT_REGCACHE_SYNC_OUT(); return; L_089C7AF8: - { const float fs = ctx.fpr[0]; const float ft = aot_fpr_20; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[15] = std::bit_cast(0x7FC00000u); else ctx.fpr[15] = fs * ft; } + { const float fs = ctx.fpr[0]; const float ft = ctx.fpr[20]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_15 = std::bit_cast(0x7FC00000u); else aot_fpr_15 = fs * ft; } aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[22])); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[24])); aot_gpr_31 = (0x089C7B0Cu); @@ -8448,10 +8449,10 @@ L_089C7AF8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0113_entry, 113u, 301u, 0x089C9248u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C7B0Cu) goto L_089C7B0C; AOT_REGCACHE_SYNC_OUT(); return; L_089C7B0C: - aot_gpr_4 = (aot_gpr_16 + static_cast(1)); - aot_gpr_16 = (aot_gpr_4 << 16u); - aot_gpr_16 = (static_cast(static_cast(aot_gpr_16) >> 16u)); - aot_gpr_4 = (static_cast(aot_gpr_16) < 100 ? 1u : 0u); + aot_gpr_4 = (ctx.gpr[16] + static_cast(1)); + ctx.gpr[16] = (aot_gpr_4 << 16u); + ctx.gpr[16] = (static_cast(static_cast(ctx.gpr[16]) >> 16u)); + aot_gpr_4 = (static_cast(ctx.gpr[16]) < 100 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -8462,10 +8463,10 @@ L_089C7B0C: L_089C7B24: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_fpr_20 = std::bit_cast(aot_run_words[0]); + ctx.fpr[20] = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); - aot_gpr_16 = aot_run_words[3]; + ctx.gpr[16] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; } jump_target = aot_gpr_31; @@ -8476,7 +8477,7 @@ L_089C7B24: AOT_REGCACHE_SYNC_OUT(); return; L_089C7B40: aot_gpr_29 = (aot_gpr_29 + static_cast(-80)); - { const std::uint32_t aot_run_words[10]{std::bit_cast(aot_fpr_20), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], aot_gpr_31}; + { const std::uint32_t aot_run_words[10]{std::bit_cast(ctx.fpr[20]), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(36), aot_run_words); } aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7764))); aot_gpr_4 = (aot_gpr_4 & 7u); @@ -8495,7 +8496,7 @@ L_089C7B80: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0218_entry, 218u, 221u, 0x08B6D34Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C7B8Cu) goto L_089C7B8C; AOT_REGCACHE_SYNC_OUT(); return; L_089C7B8C: - aot_gpr_4 = (static_cast(ctx.gpr[2]) < 8 ? 1u : 0u); + aot_gpr_4 = (static_cast(aot_gpr_2) < 8 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -8507,7 +8508,7 @@ L_089C7B98: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast(8))); aot_gpr_5 = (19224u << 16u); aot_gpr_5 = (aot_gpr_5 | 38528u); - aot_fpr_20 = std::bit_cast(aot_gpr_5); + ctx.fpr[20] = std::bit_cast(aot_gpr_5); ctx.gpr[21] = (0u | 0u); ctx.gpr[20] = (aot_gpr_4 + static_cast(-1)); { const bool branch_taken = aot_gpr_4 == 0u; @@ -8519,8 +8520,8 @@ L_089C7B98: } L_089C7BB8: aot_gpr_4 = (2236u << 16u); - aot_gpr_16 = (aot_gpr_4 + static_cast(32304)); - aot_gpr_16 = (aot_gpr_16 + static_cast(48)); + ctx.gpr[16] = (aot_gpr_4 + static_cast(32304)); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(48)); aot_gpr_4 = (0u + static_cast(3344)); { const std::int64_t product = static_cast(static_cast(ctx.gpr[20])) * static_cast(static_cast(aot_gpr_4)); ctx.lo = static_cast(product); ctx.hi = static_cast(static_cast(product) >> 32u); } ctx.gpr[18] = (ctx.lo); @@ -8584,7 +8585,7 @@ L_089C7C1C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 128u, 0x0890C798u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C7C24u) goto L_089C7C24; AOT_REGCACHE_SYNC_OUT(); return; L_089C7C24: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089C7C6C; @@ -8592,7 +8593,7 @@ L_089C7C24: goto L_089C7C2C; } L_089C7C2C: - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -8629,7 +8630,7 @@ L_089C7C2C: ctx.execute_vfpu_unary_ct<28u, 28u, 1u, 22u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_12 = std::bit_cast(aot_gpr_4); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_20)) ? 0x00800000u : 0u); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[20])) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -8639,7 +8640,7 @@ L_089C7C2C: goto L_089C7C64; } L_089C7C64: - aot_fpr_20 = std::bit_cast(std::bit_cast(aot_fpr_12)); + ctx.fpr[20] = std::bit_cast(std::bit_cast(aot_fpr_12)); ctx.gpr[21] = (ctx.gpr[19] | 0u); goto L_089C7C6C; L_089C7C6C: @@ -8690,8 +8691,8 @@ L_089C7C9C: L_089C7CB8: { std::uint32_t aot_run_words[10]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(36), aot_run_words); - aot_fpr_20 = std::bit_cast(aot_run_words[0]); - aot_gpr_16 = aot_run_words[1]; + ctx.fpr[20] = std::bit_cast(aot_run_words[0]); + ctx.gpr[16] = aot_run_words[1]; ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; ctx.gpr[19] = aot_run_words[4]; @@ -8709,7 +8710,7 @@ L_089C7CB8: AOT_REGCACHE_SYNC_OUT(); return; L_089C7CE8: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - { const std::uint32_t aot_run_words[5]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; + { const std::uint32_t aot_run_words[5]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15960))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); @@ -8723,9 +8724,9 @@ L_089C7CE8: } L_089C7D14: aot_gpr_4 = (ctx.gpr[17] << 5u); - aot_gpr_16 = (0u + aot_gpr_4); + ctx.gpr[16] = (0u + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 << 4u); - aot_gpr_16 = (aot_gpr_16 + aot_gpr_4); + ctx.gpr[16] = (ctx.gpr[16] + aot_gpr_4); goto L_089C7D24; L_089C7D24: { const bool branch_taken = static_cast(ctx.gpr[17]) < 0; @@ -8770,7 +8771,7 @@ L_089C7D5C: goto L_089C7D64; } L_089C7D64: - ctx.gpr[19] = (ctx.gpr[19] + aot_gpr_16); + ctx.gpr[19] = (ctx.gpr[19] + ctx.gpr[16]); goto L_089C7D68; L_089C7D68: { const bool branch_taken = ctx.gpr[19] == 0u; @@ -8786,7 +8787,7 @@ L_089C7D70: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0009_entry, 9u, 398u, 0x0882B9ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C7D78u) goto L_089C7D78; AOT_REGCACHE_SYNC_OUT(); return; L_089C7D78: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089C7D88; @@ -8802,7 +8803,7 @@ L_089C7D88: ctx.gpr[17] = (ctx.gpr[18] + static_cast(-1)); ctx.gpr[18] = (ctx.gpr[17] | 0u); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_16 = (aot_gpr_16 + static_cast(-544)); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(-544)); if (branch_taken) { goto L_089C7D24; } @@ -8811,7 +8812,7 @@ L_089C7D88: L_089C7D9C: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -8825,15 +8826,15 @@ L_089C7D9C: AOT_REGCACHE_SYNC_OUT(); return; L_089C7DB8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_31 = (0x089C7DD8u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0113_entry, 113u, 997u, 0x089CBF88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C7DD8u) goto L_089C7DD8; AOT_REGCACHE_SYNC_OUT(); return; L_089C7DD8: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089C7E00; @@ -8847,7 +8848,7 @@ L_089C7DE0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0009_entry, 9u, 392u, 0x0882B994u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C7DECu) goto L_089C7DEC; AOT_REGCACHE_SYNC_OUT(); return; L_089C7DEC: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[18] != 0u; aot_gpr_4 = (ctx.gpr[18] | 0u); if (branch_taken) { @@ -8873,7 +8874,7 @@ L_089C7E00: } L_089C7E08: aot_gpr_31 = (0x089C7E10u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0009_entry, 9u, 358u, 0x0882B73Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C7E10u) goto L_089C7E10; AOT_REGCACHE_SYNC_OUT(); return; L_089C7E10: @@ -8888,13 +8889,13 @@ L_089C7E14: goto L_089C7E1C; } L_089C7E1C: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089C7E28u); aot_gpr_5 = (0u | 2u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 247u, 0x08891B8Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C7E28u) goto L_089C7E28; AOT_REGCACHE_SYNC_OUT(); return; L_089C7E28: - { const bool branch_taken = aot_gpr_16 == 0u; + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_089C7E4C; @@ -8902,10 +8903,10 @@ L_089C7E28: goto L_089C7E30; } L_089C7E30: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(92))); aot_gpr_5 = (aot_gpr_4 + static_cast(24)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); jump_target = aot_gpr_6; aot_gpr_31 = (0x089C7E4Cu); @@ -9130,7 +9131,7 @@ L_089C7F98: L_089C7FB0: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; @@ -9143,16 +9144,16 @@ L_089C7FB0: AOT_REGCACHE_SYNC_OUT(); return; L_089C7FC8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.gpr[17] = (0u | 0u); aot_gpr_31 = (0x089C7FECu); aot_gpr_4 = (0u | 96u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0171_entry, 171u, 7u, 0x08AB0078u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C7FECu) goto L_089C7FEC; AOT_REGCACHE_SYNC_OUT(); return; L_089C7FEC: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[18] == 0u; aot_gpr_4 = (ctx.gpr[18] | 0u); if (branch_taken) { @@ -9162,7 +9163,7 @@ L_089C7FEC: } L_089C7FF8: aot_gpr_31 = (0x089C8000u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 99u, 0x08804C20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } diff --git a/profiles/vcs/generated/generated_unit_0113.cpp b/profiles/vcs/generated/generated_unit_0113.cpp index f4bbbb6..d9b027b 100644 --- a/profiles/vcs/generated/generated_unit_0113.cpp +++ b/profiles/vcs/generated/generated_unit_0113.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0113[4067] = { }; void recomp_unit_0113_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,31,29,28,2 fprs=12,13,20,14 gpr_occ=3646 fpr_occ=529 gpr_total=5061 fpr_total=712 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,31,2,6,28 fprs=12,13,20,14 gpr_occ=3831 fpr_occ=529 gpr_total=5425 fpr_total=712 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; - std::uint32_t aot_gpr_29 = ctx.gpr[29]; - std::uint32_t aot_gpr_28 = ctx.gpr[28]; std::uint32_t aot_gpr_2 = ctx.gpr[2]; + std::uint32_t aot_gpr_6 = ctx.gpr[6]; + std::uint32_t aot_gpr_28 = ctx.gpr[28]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_20 = ctx.fpr[20]; float aot_fpr_14 = ctx.fpr[14]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[31] = aot_gpr_31; ctx.gpr[29] = aot_gpr_29; ctx.gpr[28] = aot_gpr_28; ctx.gpr[2] = aot_gpr_2; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; ctx.fpr[14] = aot_fpr_14; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_28 = ctx.gpr[28]; aot_gpr_2 = ctx.gpr[2]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_14 = ctx.fpr[14]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[31] = aot_gpr_31; ctx.gpr[2] = aot_gpr_2; ctx.gpr[6] = aot_gpr_6; ctx.gpr[28] = aot_gpr_28; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; ctx.fpr[14] = aot_fpr_14; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_2 = ctx.gpr[2]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_28 = ctx.gpr[28]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_14 = ctx.fpr[14]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -1188,8 +1189,8 @@ L_089C8018: AOT_REGCACHE_SYNC_OUT(); return; L_089C8020: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(86)))))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7656))); - ctx.gpr[7] = (static_cast(aot_gpr_4) < static_cast(ctx.gpr[6]) ? 1u : 0u); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7656))); + ctx.gpr[7] = (static_cast(aot_gpr_4) < static_cast(aot_gpr_6) ? 1u : 0u); { const bool branch_taken = ctx.gpr[7] == 0u; aot_gpr_5 = (0u | 0u); if (branch_taken) { @@ -1257,14 +1258,14 @@ L_089C8084: goto L_089C808C; L_089C808C: { const bool branch_taken = aot_gpr_5 == 0u; - ctx.gpr[6] = (static_cast(aot_gpr_4) < static_cast(ctx.gpr[6]) ? 1u : 0u); + aot_gpr_6 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_6) ? 1u : 0u); if (branch_taken) { goto L_089C80D8; } goto L_089C8094; } L_089C8094: - { const bool branch_taken = ctx.gpr[6] == 0u; + { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_5 = (0u | 0u); if (branch_taken) { goto L_089C80AC; @@ -1315,8 +1316,8 @@ L_089C80EC: aot_gpr_5 = (aot_gpr_4 + static_cast(24)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); - jump_target = ctx.gpr[6]; + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); + jump_target = aot_gpr_6; aot_gpr_31 = (0x089C8108u); aot_gpr_5 = (0u | 3u); ctx.pc = jump_target; @@ -1329,22 +1330,22 @@ L_089C8108: AOT_REGCACHE_SYNC_OUT(); return; L_089C8110: { std::uint32_t aot_run_words[4]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(0), aot_run_words); ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_089C8128: - aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), ctx.gpr[16]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), aot_gpr_31); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-48)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(36), ctx.gpr[16]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(40), aot_gpr_31); aot_gpr_5 = (aot_gpr_4 + static_cast(400)); { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; @@ -1355,19 +1356,19 @@ L_089C8128: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_5 = (aot_gpr_29 + static_cast(16)); + aot_gpr_5 = (ctx.gpr[29] + static_cast(16)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(86)))))); aot_gpr_4 = (aot_gpr_4 << 2u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(24))); - aot_gpr_4 = (ctx.gpr[6] + aot_gpr_4); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(24))); + aot_gpr_4 = (aot_gpr_6 + aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(12))); - ctx.gpr[6] = (aot_gpr_29 + static_cast(32)); + aot_gpr_6 = (ctx.gpr[29] + static_cast(32)); ctx.gpr[16] = (0u | 1u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (0u | 0u); @@ -1376,13 +1377,13 @@ L_089C8128: ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 1u); ctx.gpr[11] = (0u | 1u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), 0u); aot_gpr_31 = (0x089C8190u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0037_entry, 37u, 365u, 0x0889A004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C8190u) goto L_089C8190; AOT_REGCACHE_SYNC_OUT(); return; L_089C8190: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(32)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[29] + static_cast(32)))))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -1402,34 +1403,34 @@ L_089C81A4: aot_gpr_2 = (ctx.gpr[16] | 0u); goto L_089C81A8; L_089C81A8: - ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(36))); - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(40))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(36))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(40))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(48)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(48)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_089C81B8: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), aot_gpr_31); aot_gpr_31 = (0x089C81C8u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C81C8u) goto L_089C81C8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C81C8u) goto L_089C81C8; AOT_REGCACHE_SYNC_OUT(); return; L_089C81C8: aot_gpr_2 = (0u | 0u); - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_089C81D8: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); { const std::uint32_t aot_run_words[4]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(0), aot_run_words); } aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-7080))); { const bool branch_taken = aot_gpr_5 != 0u; ctx.gpr[16] = (aot_gpr_4 | 0u); @@ -1455,15 +1456,15 @@ L_089C81F8: L_089C8218: aot_gpr_31 = (0x089C8220u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C8220u) goto L_089C8220; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C8220u) goto L_089C8220; AOT_REGCACHE_SYNC_OUT(); return; L_089C8220: aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 0u); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-11788))); aot_gpr_31 = (0x089C8234u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-11792))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C8234u) goto L_089C8234; + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-11792))); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C8234u) goto L_089C8234; AOT_REGCACHE_SYNC_OUT(); return; L_089C8234: ctx.gpr[1] = (ctx.gpr[3] << 1u); @@ -1473,8 +1474,8 @@ L_089C8234: aot_gpr_4 = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(6868), aot_gpr_4); aot_gpr_5 = (ctx.gpr[16] << 6u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-11840))); - aot_gpr_5 = (ctx.gpr[6] + aot_gpr_5); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-11840))); + aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); { const bool branch_taken = 0u == 0u; @@ -1520,15 +1521,15 @@ L_089C8288: L_089C8290: aot_gpr_31 = (0x089C8298u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C8298u) goto L_089C8298; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C8298u) goto L_089C8298; AOT_REGCACHE_SYNC_OUT(); return; L_089C8298: aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 0u); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-11788))); aot_gpr_31 = (0x089C82ACu); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-11792))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C82ACu) goto L_089C82AC; + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-11792))); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C82ACu) goto L_089C82AC; AOT_REGCACHE_SYNC_OUT(); return; L_089C82AC: ctx.gpr[1] = (ctx.gpr[3] << 1u); @@ -1538,8 +1539,8 @@ L_089C82AC: aot_gpr_4 = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(6868), aot_gpr_4); aot_gpr_5 = (ctx.gpr[16] << 6u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-11840))); - aot_gpr_5 = (ctx.gpr[6] + aot_gpr_5); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-11840))); + aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); @@ -1566,22 +1567,22 @@ L_089C82F4: } L_089C82FC: { std::uint32_t aot_run_words[4]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(0), aot_run_words); ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_089C8314: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); { const std::uint32_t aot_run_words[4]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(0), aot_run_words); } aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-7080))); { const bool branch_taken = aot_gpr_5 != 0u; ctx.gpr[16] = (aot_gpr_4 | 0u); @@ -1715,25 +1716,25 @@ L_089C83F8: goto L_089C8414; L_089C8414: { std::uint32_t aot_run_words[4]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(0), aot_run_words); ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_089C842C: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); { const std::uint32_t aot_run_words[3]{ctx.gpr[16], ctx.gpr[17], aot_gpr_31}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(0), aot_run_words); } aot_gpr_31 = (0x089C8444u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C8444u) goto L_089C8444; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C8444u) goto L_089C8444; AOT_REGCACHE_SYNC_OUT(); return; L_089C8444: aot_gpr_4 = (aot_gpr_2 | 0u); @@ -1742,60 +1743,60 @@ L_089C8444: ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-11784))); ctx.gpr[7] = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089C8460u); - ctx.gpr[6] = (ctx.gpr[16] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C8460u) goto L_089C8460; + aot_gpr_6 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C8460u) goto L_089C8460; AOT_REGCACHE_SYNC_OUT(); return; L_089C8460: ctx.gpr[1] = (ctx.gpr[3] << 1u); aot_gpr_5 = (static_cast(static_cast(ctx.gpr[3]) >> 31u)); aot_gpr_4 = (aot_gpr_2 >> 31u); aot_gpr_4 = (ctx.gpr[1] | aot_gpr_4); - ctx.gpr[6] = (aot_gpr_4 + ctx.gpr[16]); - ctx.gpr[7] = (ctx.gpr[6] < ctx.gpr[16] ? 1u : 0u); + aot_gpr_6 = (aot_gpr_4 + ctx.gpr[16]); + ctx.gpr[7] = (aot_gpr_6 < ctx.gpr[16] ? 1u : 0u); aot_gpr_4 = (ctx.gpr[7] + aot_gpr_5); aot_gpr_5 = (aot_gpr_4 + ctx.gpr[17]); - aot_gpr_4 = (ctx.gpr[6] | 0u); + aot_gpr_4 = (aot_gpr_6 | 0u); aot_gpr_2 = (aot_gpr_4 | 0u); { std::uint32_t aot_run_words[3]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(0), aot_run_words); ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_089C849C: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), aot_gpr_31); aot_gpr_4 = (aot_gpr_4 << 16u); aot_gpr_31 = (0x089C84B0u); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 16u)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0160_entry, 160u, 520u, 0x08A87660u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C84B0u) goto L_089C84B0; AOT_REGCACHE_SYNC_OUT(); return; L_089C84B0: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_089C84BC: - aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-32)); { const std::uint32_t aot_run_words[6]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - ctx.gpr[16] = (ctx.gpr[6] | 0u); + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(0), aot_run_words); } + ctx.gpr[16] = (aot_gpr_6 | 0u); ctx.gpr[17] = (aot_gpr_5 | 0u); ctx.gpr[18] = (aot_gpr_4 | 0u); aot_fpr_20 = std::bit_cast(0u); aot_gpr_4 = (16256u << 16u); aot_gpr_31 = (0x089C84F4u); ctx.fpr[22] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C84F4u) goto L_089C84F4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C84F4u) goto L_089C84F4; AOT_REGCACHE_SYNC_OUT(); return; L_089C84F4: aot_fpr_12 = ctx.fpr[22] - aot_fpr_20; @@ -1817,7 +1818,7 @@ L_089C851C: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089C852Cu); - ctx.gpr[6] = (ctx.gpr[16] | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0114_entry, 114u, 134u, 0x089CCB54u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C852Cu) goto L_089C852C; AOT_REGCACHE_SYNC_OUT(); return; L_089C852C: @@ -1832,12 +1833,12 @@ L_089C8534: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089C8544u); - ctx.gpr[6] = (ctx.gpr[16] | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0114_entry, 114u, 38u, 0x089CC370u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C8544u) goto L_089C8544; AOT_REGCACHE_SYNC_OUT(); return; L_089C8544: { std::uint32_t aot_run_words[6]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(0), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.gpr[16] = aot_run_words[2]; @@ -1846,18 +1847,18 @@ L_089C8544: aot_gpr_31 = aot_run_words[5]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(32)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(32)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_089C8564: - aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-48)); { const std::uint32_t aot_run_words[10]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(0), aot_run_words); } ctx.gpr[18] = (0u + static_cast(-1)); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), ctx.gpr[18]); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(0), ctx.gpr[18]); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(0), ctx.gpr[18]); ctx.gpr[19] = (0u | 0u); ctx.gpr[22] = (aot_gpr_4 << 6u); ctx.gpr[21] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-11788))); @@ -1865,7 +1866,7 @@ L_089C8564: ctx.gpr[30] = (0u | 4u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); ctx.gpr[16] = (aot_gpr_5 | 0u); - ctx.gpr[17] = (ctx.gpr[6] | 0u); + ctx.gpr[17] = (aot_gpr_6 | 0u); goto L_089C85BC; L_089C85BC: { const bool branch_taken = static_cast(aot_gpr_4) >= 0; @@ -1887,15 +1888,15 @@ L_089C85CC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-11840))); aot_gpr_31 = (0x089C85D8u); ctx.gpr[23] = (aot_gpr_4 + ctx.gpr[22]); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C85D8u) goto L_089C85D8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C85D8u) goto L_089C85D8; AOT_REGCACHE_SYNC_OUT(); return; L_089C85D8: aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 0u); ctx.gpr[7] = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x089C85ECu); - ctx.gpr[6] = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C85ECu) goto L_089C85EC; + aot_gpr_6 = (ctx.gpr[20] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C85ECu) goto L_089C85EC; AOT_REGCACHE_SYNC_OUT(); return; L_089C85EC: ctx.gpr[1] = (ctx.gpr[3] << 1u); @@ -2010,21 +2011,21 @@ L_089C86A8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7656))); aot_gpr_5 = (static_cast(ctx.gpr[20]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (branch_taken) { goto L_089C86C8; } goto L_089C86B8; } L_089C86B8: - ctx.gpr[6] = (ctx.gpr[20] << 2u); + aot_gpr_6 = (ctx.gpr[20] << 2u); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(24))); - ctx.gpr[6] = (ctx.gpr[7] + ctx.gpr[6]); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(0))); + aot_gpr_6 = (ctx.gpr[7] + aot_gpr_6); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); goto L_089C86C8; L_089C86C8: - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(52))); - { const bool branch_taken = ctx.gpr[6] != ctx.gpr[21]; + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(52))); + { const bool branch_taken = aot_gpr_6 != ctx.gpr[21]; ctx.gpr[7] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_089C8768; @@ -2035,7 +2036,7 @@ L_089C86D4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); ctx.gpr[7] = (static_cast(aot_gpr_4) < static_cast(ctx.gpr[7]) ? 1u : 0u); { const bool branch_taken = ctx.gpr[7] == 0u; - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (branch_taken) { goto L_089C86F4; } @@ -2043,9 +2044,9 @@ L_089C86D4: } L_089C86E4: aot_gpr_4 = (aot_gpr_4 << 2u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(24))); - aot_gpr_4 = (ctx.gpr[6] + aot_gpr_4); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(24))); + aot_gpr_4 = (aot_gpr_6 + aot_gpr_4); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); goto L_089C86F4; L_089C86F4: { const bool branch_taken = aot_gpr_5 == 0u; @@ -2063,7 +2064,7 @@ L_089C86FC: goto L_089C870C; L_089C870C: aot_gpr_5 = (aot_gpr_4 | 0u); - { const bool branch_taken = ctx.gpr[6] == 0u; + { const bool branch_taken = aot_gpr_6 == 0u; // nop if (branch_taken) { goto L_089C8768; @@ -2079,8 +2080,8 @@ L_089C8718: goto L_089C8720; } L_089C8720: - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(56))); - { const bool branch_taken = ctx.gpr[6] == ctx.gpr[23]; + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(56))); + { const bool branch_taken = aot_gpr_6 == ctx.gpr[23]; // nop if (branch_taken) { goto L_089C8738; @@ -2097,7 +2098,7 @@ L_089C872C: goto L_089C8738; } L_089C8738: - if (ctx.gpr[6] == ctx.gpr[23]) { + if (aot_gpr_6 == ctx.gpr[23]) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(56))); goto L_089C8754; } @@ -2148,7 +2149,7 @@ L_089C8768: } L_089C8778: { std::uint32_t aot_run_words[10]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(0), aot_run_words); ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; @@ -2161,7 +2162,7 @@ L_089C8778: aot_gpr_31 = aot_run_words[9]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(48)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(48)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -2656,16 +2657,16 @@ L_089C8998: ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_089C89A0: - aot_gpr_29 = (aot_gpr_29 + static_cast(-128)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(112), ctx.gpr[16]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(116), aot_gpr_31); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(80), 0u); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-128)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(112), ctx.gpr[16]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(116), aot_gpr_31); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(80), 0u); aot_fpr_12 = std::bit_cast(0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), std::bit_cast(aot_fpr_12)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(32), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(36), std::bit_cast(aot_fpr_12)); aot_gpr_5 = (16384u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(40), std::bit_cast(aot_fpr_12)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -2675,7 +2676,7 @@ L_089C89A0: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_5 = (aot_gpr_29 + static_cast(32)); + aot_gpr_5 = (ctx.gpr[29] + static_cast(32)); { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -2687,28 +2688,28 @@ L_089C89A0: ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 0u>(); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); - aot_gpr_4 = (aot_gpr_29 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(16)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = aot_fpr_13 - aot_fpr_12; - aot_gpr_5 = (aot_gpr_29 + static_cast(48)); - ctx.gpr[6] = (aot_gpr_29 + static_cast(80)); + aot_gpr_5 = (ctx.gpr[29] + static_cast(48)); + aot_gpr_6 = (ctx.gpr[29] + static_cast(80)); ctx.gpr[16] = (0u | 1u); ctx.gpr[7] = (0u | 1u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[11] = (0u | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), 0u); aot_gpr_31 = (0x089C8A18u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(8), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 287u, 0x08891DD4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C8A18u) goto L_089C8A18; AOT_REGCACHE_SYNC_OUT(); return; L_089C8A18: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(80))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(80))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -2718,7 +2719,7 @@ L_089C8A18: } L_089C8A24: aot_gpr_31 = (0x089C8A2Cu); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(78))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(78))); goto L_089C8A58; L_089C8A2C: { const bool branch_taken = aot_gpr_2 != 0u; @@ -2748,10 +2749,10 @@ L_089C8A44: aot_gpr_2 = (ctx.gpr[16] | 0u); goto L_089C8A48; L_089C8A48: - ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(112))); - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(116))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(112))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(116))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(128)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(128)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -2802,9 +2803,9 @@ L_089C8A88: ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_089C8A90: - aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-48)); { const std::uint32_t aot_run_words[6]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(16), aot_run_words); } + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(16), aot_run_words); } ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.gpr[18] = (0u | 0u); ctx.gpr[17] = (2237u << 16u); @@ -2863,10 +2864,10 @@ L_089C8B04: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[29] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_5 = (aot_gpr_29 | 0u); + aot_gpr_5 = (ctx.gpr[29] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[22])); aot_gpr_31 = (0x089C8B1Cu); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); @@ -2901,7 +2902,7 @@ L_089C8B34: goto L_089C8B38; L_089C8B38: { std::uint32_t aot_run_words[6]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(16), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.gpr[16] = aot_run_words[2]; @@ -2910,15 +2911,15 @@ L_089C8B38: aot_gpr_31 = aot_run_words[5]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(48)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(48)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_089C8B58: - aot_gpr_29 = (aot_gpr_29 + static_cast(-64)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-64)); { const std::uint32_t aot_run_words[8]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_31}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(20), aot_run_words); } + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(20), aot_run_words); } ctx.gpr[16] = (0u | 0u); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-7080))); { const bool branch_taken = aot_gpr_4 == 0u; @@ -2950,7 +2951,7 @@ L_089C8BA4: ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(9624))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(9628))); { const bool branch_taken = ctx.gpr[17] == aot_gpr_4; - ctx.gpr[19] = (aot_gpr_29 + static_cast(16)); + ctx.gpr[19] = (ctx.gpr[29] + static_cast(16)); if (branch_taken) { goto L_089C8C40; } @@ -2958,7 +2959,7 @@ L_089C8BA4: } L_089C8BB4: ctx.gpr[20] = (0u | 65535u); - ctx.gpr[21] = (aot_gpr_29 + static_cast(17)); + ctx.gpr[21] = (ctx.gpr[29] + static_cast(17)); goto L_089C8BBC; L_089C8BBC: ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); @@ -2972,12 +2973,12 @@ L_089C8BCC: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(10)))))); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x089C8BDCu); - ctx.gpr[6] = (ctx.gpr[19] | 0u); + aot_gpr_6 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C8BDCu) goto L_089C8BDC; AOT_REGCACHE_SYNC_OUT(); return; L_089C8BDC: aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(96), aot_gpr_2); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(16))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(16))); aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(96))); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(176))); @@ -3000,12 +3001,12 @@ L_089C8C00: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(10)))))); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x089C8C10u); - ctx.gpr[6] = (ctx.gpr[21] | 0u); + aot_gpr_6 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C8C10u) goto L_089C8C10; AOT_REGCACHE_SYNC_OUT(); return; L_089C8C10: aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(96), aot_gpr_2); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(17))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(17))); aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(96))); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(182))); @@ -3103,7 +3104,7 @@ L_089C8CA4: L_089C8CAC: aot_gpr_31 = (0x089C8CB4u); aot_gpr_4 = (ctx.gpr[22] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C8CB4u) goto L_089C8CB4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C8CB4u) goto L_089C8CB4; AOT_REGCACHE_SYNC_OUT(); return; L_089C8CB4: { const bool branch_taken = aot_gpr_2 != 0u; @@ -3203,7 +3204,7 @@ L_089C8D3C: goto L_089C8D40; L_089C8D40: { std::uint32_t aot_run_words[8]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(20), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(20), aot_run_words); ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; @@ -3214,16 +3215,16 @@ L_089C8D40: aot_gpr_31 = aot_run_words[7]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(64)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(64)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_089C8D68: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); - ctx.gpr[6] = (aot_gpr_5 & 255u); - { const bool branch_taken = ctx.gpr[6] != 0u; + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), aot_gpr_31); + aot_gpr_6 = (aot_gpr_5 & 255u); + { const bool branch_taken = aot_gpr_6 != 0u; aot_gpr_5 = (aot_gpr_4 < static_cast(23) ? 1u : 0u); if (branch_taken) { goto L_089C8EF8; @@ -3657,17 +3658,17 @@ L_089C9060: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0112_entry, 112u, 740u, 0x089C7220u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C906Cu) goto L_089C906C; AOT_REGCACHE_SYNC_OUT(); return; L_089C906C: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_089C9078: - aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-32)); { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), aot_gpr_31}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(8), aot_run_words); } + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(8), aot_run_words); } aot_gpr_31 = (0x089C9090u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C9090u) goto L_089C9090; @@ -3748,13 +3749,13 @@ L_089C9128: goto L_089C9130; L_089C9130: { std::uint32_t aot_run_words[3]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(8), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(8), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(32)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(32)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -3830,8 +3831,8 @@ L_089C9184: const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(16))); - aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(16), ctx.gpr[6]); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(16))); + aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(16), aot_gpr_6); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(20))); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(20), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(24))); @@ -3848,32 +3849,32 @@ L_089C9184: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(44), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(48))); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(48), std::bit_cast(aot_fpr_12)); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(52)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(52)))))); ctx.gpr[7] = (0u + static_cast(-2)); - ctx.gpr[6] = (ctx.gpr[6] & ctx.gpr[7]); + aot_gpr_6 = (aot_gpr_6 & ctx.gpr[7]); ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(52)))))); ctx.gpr[7] = (ctx.gpr[7] & 1u); - ctx.gpr[6] = (ctx.gpr[6] | ctx.gpr[7]); - aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(52), static_cast(ctx.gpr[6])); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(52)))))); + aot_gpr_6 = (aot_gpr_6 | ctx.gpr[7]); + aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(52), static_cast(aot_gpr_6)); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(52)))))); ctx.gpr[7] = (0u + static_cast(-3)); - ctx.gpr[6] = (ctx.gpr[6] & ctx.gpr[7]); + aot_gpr_6 = (aot_gpr_6 & ctx.gpr[7]); ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(52)))))); ctx.gpr[7] = (ctx.gpr[7] & 2u); ctx.gpr[7] = (ctx.gpr[7] >> 1u); ctx.gpr[7] = (ctx.gpr[7] & 1u); ctx.gpr[7] = (ctx.gpr[7] << 1u); - ctx.gpr[6] = (ctx.gpr[6] | ctx.gpr[7]); - aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(52), static_cast(ctx.gpr[6])); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(52)))))); + aot_gpr_6 = (aot_gpr_6 | ctx.gpr[7]); + aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(52), static_cast(aot_gpr_6)); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(52)))))); ctx.gpr[7] = (0u + static_cast(-5)); - ctx.gpr[6] = (ctx.gpr[6] & ctx.gpr[7]); + aot_gpr_6 = (aot_gpr_6 & ctx.gpr[7]); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(52)))))); aot_gpr_5 = (aot_gpr_5 & 4u); aot_gpr_5 = (aot_gpr_5 >> 2u); aot_gpr_5 = (aot_gpr_5 & 1u); aot_gpr_5 = (aot_gpr_5 << 2u); - aot_gpr_5 = (ctx.gpr[6] | aot_gpr_5); + aot_gpr_5 = (aot_gpr_6 | aot_gpr_5); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(52), static_cast(aot_gpr_5)); jump_target = aot_gpr_31; aot_gpr_2 = (aot_gpr_4 | 0u); @@ -3882,9 +3883,9 @@ L_089C9184: ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_089C9248: - aot_gpr_29 = (aot_gpr_29 + static_cast(-2480)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-2480)); { const std::uint32_t aot_run_words[16]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(2404), aot_run_words); } + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(2404), aot_run_words); } aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-7080))); ctx.fpr[22] = std::bit_cast(std::bit_cast(aot_fpr_12)); aot_fpr_20 = std::bit_cast(std::bit_cast(aot_fpr_13)); @@ -3927,18 +3928,18 @@ L_089C92C0: } L_089C92D4: aot_gpr_4 = (0u + static_cast(-1)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(16), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(20), aot_gpr_4); ctx.gpr[20] = (0u | 0u); ctx.gpr[16] = (0u | 0u); ctx.gpr[17] = (0u | 0u); ctx.gpr[21] = (0u | 0u); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(7800))); aot_gpr_5 = (aot_gpr_4 << 8u); - ctx.gpr[6] = (aot_gpr_4 + aot_gpr_4); - ctx.gpr[6] = (aot_gpr_4 + ctx.gpr[6]); - ctx.gpr[6] = (ctx.gpr[6] << 5u); - ctx.gpr[18] = (aot_gpr_5 + ctx.gpr[6]); + aot_gpr_6 = (aot_gpr_4 + aot_gpr_4); + aot_gpr_6 = (aot_gpr_4 + aot_gpr_6); + aot_gpr_6 = (aot_gpr_6 << 5u); + ctx.gpr[18] = (aot_gpr_5 + aot_gpr_6); aot_gpr_5 = (2238u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(-6992)); ctx.gpr[18] = (ctx.gpr[18] + aot_gpr_5); @@ -3956,14 +3957,14 @@ L_089C931C: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_5 = (aot_gpr_29 + static_cast(32)); + aot_gpr_5 = (ctx.gpr[29] + static_cast(32)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-5336))); aot_gpr_31 = (0x089C9334u); - ctx.gpr[6] = (aot_gpr_29 + static_cast(80)); + aot_gpr_6 = (ctx.gpr[29] + static_cast(80)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0162_entry, 162u, 526u, 0x08A8EB48u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C9334u) goto L_089C9334; AOT_REGCACHE_SYNC_OUT(); return; L_089C9334: @@ -4017,7 +4018,7 @@ L_089C9364: L_089C9370: aot_gpr_31 = (0x089C9378u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C9378u) goto L_089C9378; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C9378u) goto L_089C9378; AOT_REGCACHE_SYNC_OUT(); return; L_089C9378: aot_gpr_4 = (aot_gpr_2 & 65535u); @@ -4337,8 +4338,8 @@ L_089C95A0: ctx.fpr[30] = std::bit_cast(aot_gpr_4); goto L_089C95A8; L_089C95A8: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(128))); - aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(80))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[29] + static_cast(128))); + aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[29] + static_cast(80))); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); @@ -4384,15 +4385,15 @@ L_089C960C: L_089C9614: aot_gpr_31 = (0x089C961Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C961Cu) goto L_089C961C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C961Cu) goto L_089C961C; AOT_REGCACHE_SYNC_OUT(); return; L_089C961C: aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 0u); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-11756))); aot_gpr_31 = (0x089C9630u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-11760))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C9630u) goto L_089C9630; + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-11760))); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C9630u) goto L_089C9630; AOT_REGCACHE_SYNC_OUT(); return; L_089C9630: ctx.gpr[1] = (ctx.gpr[3] << 1u); @@ -4401,7 +4402,7 @@ L_089C9630: aot_gpr_4 = (ctx.gpr[1] | aot_gpr_4); ctx.gpr[22] = (aot_gpr_4 | 0u); ctx.gpr[22] = (ctx.gpr[22] & 65535u); - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(148))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[29] + static_cast(148))); aot_gpr_4 = (static_cast(ctx.gpr[22]) < static_cast(aot_gpr_4) ? 1u : 0u); if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-7080))); @@ -4452,7 +4453,7 @@ L_089C9680: } L_089C9690: aot_gpr_4 = (ctx.gpr[23] + ctx.gpr[23]); - aot_gpr_4 = (aot_gpr_29 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[29] + aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(130))); aot_gpr_4 = (static_cast(ctx.gpr[22]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; @@ -4465,15 +4466,15 @@ L_089C9690: L_089C96A8: aot_gpr_31 = (0x089C96B0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C96B0u) goto L_089C96B0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C96B0u) goto L_089C96B0; AOT_REGCACHE_SYNC_OUT(); return; L_089C96B0: aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 0u); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-11780))); aot_gpr_31 = (0x089C96C4u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-11784))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C96C4u) goto L_089C96C4; + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-11784))); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C96C4u) goto L_089C96C4; AOT_REGCACHE_SYNC_OUT(); return; L_089C96C4: ctx.gpr[1] = (ctx.gpr[3] << 1u); @@ -4489,7 +4490,7 @@ L_089C96C4: goto L_089C96E0; } L_089C96E0: - aot_gpr_4 = (aot_gpr_29 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[29] + aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(130))); aot_gpr_5 = (0u | 1000u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; @@ -4563,7 +4564,7 @@ L_089C9740: aot_gpr_4 = (16256u << 16u); aot_gpr_31 = (0x089C9750u); ctx.fpr[30] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C9750u) goto L_089C9750; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C9750u) goto L_089C9750; AOT_REGCACHE_SYNC_OUT(); return; L_089C9750: aot_fpr_12 = ctx.fpr[30] - ctx.fpr[28]; @@ -4582,13 +4583,13 @@ L_089C9750: goto L_089C9778; } L_089C9778: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(150))); - aot_gpr_5 = (aot_gpr_29 + static_cast(16)); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[29] + static_cast(150))); + aot_gpr_5 = (ctx.gpr[29] + static_cast(16)); aot_gpr_31 = (0x089C9788u); - ctx.gpr[6] = (aot_gpr_29 + static_cast(20)); + aot_gpr_6 = (ctx.gpr[29] + static_cast(20)); goto L_089C8564; L_089C9788: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(16))); aot_gpr_5 = (0u + static_cast(-1)); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -4598,7 +4599,7 @@ L_089C9788: goto L_089C9798; } L_089C9798: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(20))); aot_gpr_5 = (0u + static_cast(-1)); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -4608,7 +4609,7 @@ L_089C9798: goto L_089C97A8; } L_089C97A8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(16))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7656))); aot_gpr_4 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_5) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; @@ -4635,7 +4636,7 @@ L_089C97C4: goto L_089C97CC; } L_089C97CC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(16))); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(24))); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); @@ -4671,7 +4672,7 @@ L_089C97F8: } L_089C9800: aot_gpr_31 = (0x089C9808u); - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(150))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[29] + static_cast(150))); goto L_089C81D8; L_089C9808: ctx.gpr[19] = (aot_gpr_2 | 0u); @@ -4834,7 +4835,7 @@ L_089C98CC: aot_gpr_4 = (17008u << 16u); aot_gpr_31 = (0x089C98E0u); ctx.fpr[30] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C98E0u) goto L_089C98E0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C98E0u) goto L_089C98E0; AOT_REGCACHE_SYNC_OUT(); return; L_089C98E0: aot_fpr_12 = ctx.fpr[30] - ctx.fpr[28]; @@ -4843,7 +4844,7 @@ L_089C98E0: ctx.fpr[22] = ctx.fpr[22] + aot_fpr_12; aot_gpr_31 = (0x089C98F8u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C98F8u) goto L_089C98F8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C98F8u) goto L_089C98F8; AOT_REGCACHE_SYNC_OUT(); return; L_089C98F8: aot_fpr_13 = ctx.fpr[30] - ctx.fpr[28]; @@ -4853,12 +4854,12 @@ L_089C98F8: goto L_089C9908; L_089C9908: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-16928))); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(32))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(36))); - aot_gpr_5 = (aot_gpr_29 + static_cast(48)); - ctx.gpr[6] = (aot_gpr_29 + static_cast(64)); - ctx.gpr[7] = (aot_gpr_29 + static_cast(68)); - ctx.gpr[8] = (aot_gpr_29 + static_cast(72)); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(32))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(36))); + aot_gpr_5 = (ctx.gpr[29] + static_cast(48)); + aot_gpr_6 = (ctx.gpr[29] + static_cast(64)); + ctx.gpr[7] = (ctx.gpr[29] + static_cast(68)); + ctx.gpr[8] = (ctx.gpr[29] + static_cast(72)); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[22])); ctx.fpr[15] = std::bit_cast(std::bit_cast(aot_fpr_20)); ctx.fpr[16] = std::bit_cast(std::bit_cast(ctx.fpr[26])); @@ -4888,14 +4889,14 @@ L_089C9948: L_089C9954: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-5336))); aot_gpr_31 = (0x089C9960u); - aot_gpr_5 = (aot_gpr_29 + static_cast(32)); + aot_gpr_5 = (ctx.gpr[29] + static_cast(32)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0162_entry, 162u, 433u, 0x08A8E2ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C9960u) goto L_089C9960; AOT_REGCACHE_SYNC_OUT(); return; L_089C9960: ctx.gpr[30] = (aot_gpr_2 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-5336))); aot_gpr_31 = (0x089C9970u); - aot_gpr_5 = (aot_gpr_29 + static_cast(48)); + aot_gpr_5 = (ctx.gpr[29] + static_cast(48)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0162_entry, 162u, 433u, 0x08A8E2ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C9970u) goto L_089C9970; AOT_REGCACHE_SYNC_OUT(); return; L_089C9970: @@ -4916,9 +4917,9 @@ L_089C9978: } L_089C9980: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-5336))); - aot_gpr_5 = (aot_gpr_29 + static_cast(48)); + aot_gpr_5 = (ctx.gpr[29] + static_cast(48)); aot_gpr_31 = (0x089C9990u); - ctx.gpr[6] = (aot_gpr_29 + static_cast(198)); + aot_gpr_6 = (ctx.gpr[29] + static_cast(198)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0162_entry, 162u, 526u, 0x08A8EB48u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C9990u) goto L_089C9990; AOT_REGCACHE_SYNC_OUT(); return; L_089C9990: @@ -4933,7 +4934,7 @@ L_089C9990: } L_089C99A0: aot_gpr_4 = (ctx.gpr[23] + ctx.gpr[23]); - aot_gpr_4 = (aot_gpr_29 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[29] + aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(248))); aot_gpr_4 = (static_cast(ctx.gpr[22]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; @@ -4946,15 +4947,15 @@ L_089C99A0: L_089C99B8: aot_gpr_31 = (0x089C99C0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C99C0u) goto L_089C99C0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C99C0u) goto L_089C99C0; AOT_REGCACHE_SYNC_OUT(); return; L_089C99C0: aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 0u); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-11780))); aot_gpr_31 = (0x089C99D4u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-11784))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C99D4u) goto L_089C99D4; + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-11784))); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C99D4u) goto L_089C99D4; AOT_REGCACHE_SYNC_OUT(); return; L_089C99D4: ctx.gpr[1] = (ctx.gpr[3] << 1u); @@ -4970,7 +4971,7 @@ L_089C99D4: goto L_089C99F0; } L_089C99F0: - aot_gpr_4 = (aot_gpr_29 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[29] + aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(248))); aot_gpr_5 = (0u | 1000u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; @@ -5044,7 +5045,7 @@ L_089C9A50: aot_gpr_4 = (16256u << 16u); aot_gpr_31 = (0x089C9A60u); ctx.fpr[22] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C9A60u) goto L_089C9A60; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C9A60u) goto L_089C9A60; AOT_REGCACHE_SYNC_OUT(); return; L_089C9A60: aot_fpr_12 = ctx.fpr[22] - aot_fpr_20; @@ -5063,13 +5064,13 @@ L_089C9A60: goto L_089C9A88; } L_089C9A88: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(150))); - aot_gpr_5 = (aot_gpr_29 + static_cast(16)); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[29] + static_cast(150))); + aot_gpr_5 = (ctx.gpr[29] + static_cast(16)); aot_gpr_31 = (0x089C9A98u); - ctx.gpr[6] = (aot_gpr_29 + static_cast(20)); + aot_gpr_6 = (ctx.gpr[29] + static_cast(20)); goto L_089C8564; L_089C9A98: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(16))); aot_gpr_5 = (0u + static_cast(-1)); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -5079,7 +5080,7 @@ L_089C9A98: goto L_089C9AA8; } L_089C9AA8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(20))); aot_gpr_5 = (0u + static_cast(-1)); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -5089,7 +5090,7 @@ L_089C9AA8: goto L_089C9AB8; } L_089C9AB8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(16))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7656))); aot_gpr_4 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_5) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; @@ -5116,7 +5117,7 @@ L_089C9AD4: goto L_089C9ADC; } L_089C9ADC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(16))); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(24))); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); @@ -5152,7 +5153,7 @@ L_089C9B08: } L_089C9B10: aot_gpr_31 = (0x089C9B18u); - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(150))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[29] + static_cast(150))); goto L_089C81D8; L_089C9B18: ctx.gpr[19] = (aot_gpr_2 | 0u); @@ -5202,19 +5203,19 @@ L_089C9B48: L_089C9B5C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-16928))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); - ctx.gpr[6] = (aot_gpr_4 << 3u); - ctx.gpr[6] = (aot_gpr_4 + ctx.gpr[6]); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(64))); + aot_gpr_6 = (aot_gpr_4 << 3u); + aot_gpr_6 = (aot_gpr_4 + aot_gpr_6); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(8)))))); aot_gpr_4 = (aot_gpr_4 & 12288u); aot_gpr_4 = (aot_gpr_4 >> 12u); - ctx.gpr[6] = (2235u << 16u); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(-9404)); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_6 = (2235u << 16u); + aot_gpr_6 = (aot_gpr_6 + static_cast(-9404)); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0))); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(68))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(68))); ctx.gpr[8] = (ctx.gpr[7] << 3u); ctx.gpr[8] = (ctx.gpr[7] + ctx.gpr[8]); ctx.gpr[7] = (ctx.gpr[7] + ctx.gpr[8]); @@ -5222,7 +5223,7 @@ L_089C9B5C: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(8)))))); aot_gpr_5 = (aot_gpr_5 & 12288u); aot_gpr_5 = (aot_gpr_5 >> 12u); - aot_gpr_5 = (aot_gpr_5 + ctx.gpr[6]); + aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); ctx.gpr[22] = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0))); aot_gpr_5 = (static_cast(aot_gpr_4) < static_cast(ctx.gpr[22]) ? 1u : 0u); if (aot_gpr_5 != 0u) { @@ -5247,7 +5248,7 @@ L_089C9BDC: L_089C9BE0: aot_gpr_31 = (0x089C9BE8u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C9BE8u) goto L_089C9BE8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C9BE8u) goto L_089C9BE8; AOT_REGCACHE_SYNC_OUT(); return; L_089C9BE8: aot_gpr_4 = (aot_gpr_2 & 65535u); @@ -5263,23 +5264,23 @@ L_089C9BE8: L_089C9BFC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-16928))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); - ctx.gpr[6] = (aot_gpr_5 << 3u); - ctx.gpr[6] = (aot_gpr_5 + ctx.gpr[6]); - aot_gpr_5 = (aot_gpr_5 + ctx.gpr[6]); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(64))); + aot_gpr_6 = (aot_gpr_5 << 3u); + aot_gpr_6 = (aot_gpr_5 + aot_gpr_6); + aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); ctx.gpr[22] = (aot_gpr_4 + aot_gpr_5); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(68))); - ctx.gpr[6] = (aot_gpr_5 << 3u); - ctx.gpr[6] = (aot_gpr_5 + ctx.gpr[6]); - aot_gpr_5 = (aot_gpr_5 + ctx.gpr[6]); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(68))); + aot_gpr_6 = (aot_gpr_5 << 3u); + aot_gpr_6 = (aot_gpr_5 + aot_gpr_6); + aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); aot_gpr_31 = (0x089C9C30u); ctx.gpr[23] = (aot_gpr_4 + aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C9C30u) goto L_089C9C30; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C9C30u) goto L_089C9C30; AOT_REGCACHE_SYNC_OUT(); return; L_089C9C30: - ctx.gpr[6] = (aot_gpr_2 & 65535u); - ctx.gpr[7] = (aot_gpr_29 + static_cast(48)); - ctx.gpr[8] = (aot_gpr_29 + static_cast(52)); + aot_gpr_6 = (aot_gpr_2 & 65535u); + ctx.gpr[7] = (ctx.gpr[29] + static_cast(48)); + ctx.gpr[8] = (ctx.gpr[29] + static_cast(52)); aot_gpr_4 = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x089C9C48u); aot_gpr_5 = (ctx.gpr[23] | 0u); @@ -5324,7 +5325,7 @@ L_089C9C70: aot_gpr_4 = (16256u << 16u); aot_gpr_31 = (0x089C9C80u); ctx.fpr[22] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C9C80u) goto L_089C9C80; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C9C80u) goto L_089C9C80; AOT_REGCACHE_SYNC_OUT(); return; L_089C9C80: aot_fpr_12 = ctx.fpr[22] - aot_fpr_20; @@ -5342,9 +5343,9 @@ L_089C9C80: goto L_089C9CA4; } L_089C9CA4: - aot_gpr_4 = (aot_gpr_29 + static_cast(48)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(48)); aot_gpr_31 = (0x089C9CB0u); - aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(150))); + aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[29] + static_cast(150))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0114_entry, 114u, 209u, 0x089CD130u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C9CB0u) goto L_089C9CB0; AOT_REGCACHE_SYNC_OUT(); return; L_089C9CB0: @@ -5450,18 +5451,18 @@ L_089C9D54: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0123_entry, 123u, 394u, 0x089F2404u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C9D64u) goto L_089C9D64; AOT_REGCACHE_SYNC_OUT(); return; L_089C9D64: - aot_gpr_4 = (aot_gpr_29 + static_cast(272)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(272)); ctx.gpr[7] = (2205u << 16u); ctx.gpr[7] = (ctx.gpr[7] + static_cast(-28284)); aot_gpr_5 = (0u | 30u); - ctx.gpr[6] = (0u | 64u); + aot_gpr_6 = (0u | 64u); aot_gpr_31 = (0x089C9D80u); ctx.gpr[8] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 115u, 0x08B6095Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C9D80u) goto L_089C9D80; AOT_REGCACHE_SYNC_OUT(); return; L_089C9D80: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1920))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(2192), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(2192), aot_gpr_5); aot_gpr_4 = (0u | 0u); aot_gpr_5 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_5) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; @@ -5473,11 +5474,11 @@ L_089C9D80: } L_089C9D98: aot_gpr_5 = (aot_gpr_4 << 6u); - aot_gpr_5 = (aot_gpr_29 + aot_gpr_5); + aot_gpr_5 = (ctx.gpr[29] + aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(288))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(1360))); - ctx.gpr[6] = (static_cast(ctx.gpr[6]) < 7 ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] != 0u; + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(1360))); + aot_gpr_6 = (static_cast(aot_gpr_6) < 7 ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 != 0u; // nop if (branch_taken) { goto L_089C9E04; @@ -5485,9 +5486,9 @@ L_089C9D98: goto L_089C9DB4; } L_089C9DB4: - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(1360))); - ctx.gpr[6] = (static_cast(ctx.gpr[6]) < 16 ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(1360))); + aot_gpr_6 = (static_cast(aot_gpr_6) < 16 ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 == 0u; // nop if (branch_taken) { goto L_089C9E04; @@ -5505,7 +5506,7 @@ L_089C9DC4: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_5 = (aot_gpr_29 + static_cast(48)); + aot_gpr_5 = (ctx.gpr[29] + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -5516,7 +5517,7 @@ L_089C9DC4: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>(); - aot_gpr_5 = (aot_gpr_29 + static_cast(2208)); + aot_gpr_5 = (ctx.gpr[29] + static_cast(2208)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; @@ -5547,11 +5548,11 @@ L_089C9E00: goto L_089C9E04; L_089C9E04: aot_gpr_5 = (ctx.gpr[18] << 5u); - ctx.gpr[6] = (ctx.gpr[18] << 2u); - aot_gpr_5 = (aot_gpr_5 - ctx.gpr[6]); - ctx.gpr[6] = (2246u << 16u); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(30712)); - aot_gpr_5 = (aot_gpr_5 + ctx.gpr[6]); + aot_gpr_6 = (ctx.gpr[18] << 2u); + aot_gpr_5 = (aot_gpr_5 - aot_gpr_6); + aot_gpr_6 = (2246u << 16u); + aot_gpr_6 = (aot_gpr_6 + static_cast(30712)); + aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(-170))); aot_gpr_5 = (static_cast(ctx.gpr[16]) < static_cast(aot_gpr_5) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 != 0u; @@ -5571,7 +5572,7 @@ L_089C9E2C: } L_089C9E34: aot_gpr_4 = (aot_gpr_4 + static_cast(1)); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(2192))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(2192))); aot_gpr_5 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_5) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 != 0u; // nop @@ -5581,7 +5582,7 @@ L_089C9E34: goto L_089C9E48; } L_089C9E48: - ctx.gpr[6] = (aot_gpr_29 + static_cast(48)); + aot_gpr_6 = (ctx.gpr[29] + static_cast(48)); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x089C9E58u); aot_gpr_5 = (ctx.gpr[20] | 0u); @@ -5595,8 +5596,8 @@ L_089C9E58: goto L_089C9E60; } L_089C9E60: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(20))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(16))); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); { const bool branch_taken = static_cast(aot_gpr_4) < 0; // nop @@ -5606,9 +5607,9 @@ L_089C9E60: goto L_089C9E74; } L_089C9E74: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); - aot_gpr_4 = (aot_gpr_29 + static_cast(48)); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(16))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(20))); + aot_gpr_4 = (ctx.gpr[29] + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -5618,14 +5619,14 @@ L_089C9E74: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - ctx.gpr[8] = (aot_gpr_29 + static_cast(2224)); + ctx.gpr[8] = (ctx.gpr[29] + static_cast(2224)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[8] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (0u | 4u); aot_gpr_31 = (0x089C9E98u); - ctx.gpr[6] = (0u | 5u); + aot_gpr_6 = (0u | 5u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0114_entry, 114u, 293u, 0x089CD854u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C9E98u) goto L_089C9E98; AOT_REGCACHE_SYNC_OUT(); return; L_089C9E98: @@ -5677,12 +5678,12 @@ L_089C9ECC: goto L_089C9ED4; } L_089C9ED4: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(56))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(56))); aot_gpr_4 = (16179u << 16u); aot_gpr_4 = (aot_gpr_4 | 13107u); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(56), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (static_cast(ctx.gpr[21]) < static_cast(ctx.gpr[20]) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -5762,7 +5763,7 @@ L_089C9F40: L_089C9F48: aot_gpr_31 = (0x089C9F50u); aot_gpr_4 = (0u | 27u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C9F50u) goto L_089C9F50; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C9F50u) goto L_089C9F50; AOT_REGCACHE_SYNC_OUT(); return; L_089C9F50: aot_gpr_31 = (0x089C9F58u); @@ -5810,7 +5811,7 @@ L_089C9F7C: L_089C9F84: aot_gpr_31 = (0x089C9F8Cu); aot_gpr_4 = (0u | 25u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C9F8Cu) goto L_089C9F8C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C9F8Cu) goto L_089C9F8C; AOT_REGCACHE_SYNC_OUT(); return; L_089C9F8C: aot_gpr_31 = (0x089C9F94u); @@ -5858,7 +5859,7 @@ L_089C9FB8: L_089C9FC0: aot_gpr_31 = (0x089C9FC8u); aot_gpr_4 = (0u | 27u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C9FC8u) goto L_089C9FC8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C9FC8u) goto L_089C9FC8; AOT_REGCACHE_SYNC_OUT(); return; L_089C9FC8: aot_gpr_31 = (0x089C9FD0u); @@ -5876,7 +5877,7 @@ L_089C9FD0: L_089C9FD8: aot_gpr_31 = (0x089C9FE0u); aot_gpr_4 = (0u | 12u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C9FE0u) goto L_089C9FE0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089C9FE0u) goto L_089C9FE0; AOT_REGCACHE_SYNC_OUT(); return; L_089C9FE0: aot_gpr_31 = (0x089C9FE8u); @@ -5918,11 +5919,11 @@ L_089CA008: L_089CA018: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(36))); aot_gpr_5 = (aot_gpr_5 + static_cast(48)); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); jump_target = aot_gpr_5; aot_gpr_31 = (0x089CA030u); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CA030u) goto L_089CA030; AOT_REGCACHE_SYNC_OUT(); return; @@ -5945,7 +5946,7 @@ L_089CA038: L_089CA040: aot_gpr_31 = (0x089CA048u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CA048u) goto L_089CA048; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CA048u) goto L_089CA048; AOT_REGCACHE_SYNC_OUT(); return; L_089CA048: { const bool branch_taken = ctx.gpr[16] == 0u; @@ -5966,7 +5967,7 @@ L_089CA050: aot_fpr_12 = aot_fpr_12 + aot_fpr_14; aot_gpr_31 = (0x089CA078u); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[24] = std::bit_cast(0x7FC00000u); else ctx.fpr[24] = fs * ft; } - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CA078u) goto L_089CA078; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CA078u) goto L_089CA078; AOT_REGCACHE_SYNC_OUT(); return; L_089CA078: ctx.fpr[15] = ctx.fpr[24] - ctx.fpr[22]; @@ -5974,7 +5975,7 @@ L_089CA078: aot_fpr_20 = ctx.fpr[22] + aot_fpr_20; aot_gpr_31 = (0x089CA08Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CA08Cu) goto L_089CA08C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CA08Cu) goto L_089CA08C; AOT_REGCACHE_SYNC_OUT(); return; L_089CA08C: aot_fpr_12 = ctx.fpr[24] - ctx.fpr[22]; @@ -5982,7 +5983,7 @@ L_089CA08C: ctx.fpr[22] = ctx.fpr[22] + aot_fpr_12; aot_gpr_31 = (0x089CA0A0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CA0A0u) goto L_089CA0A0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CA0A0u) goto L_089CA0A0; AOT_REGCACHE_SYNC_OUT(); return; L_089CA0A0: aot_gpr_4 = (aot_gpr_2 & 65535u); @@ -6000,7 +6001,7 @@ L_089CA0B0: L_089CA0B4: aot_gpr_31 = (0x089CA0BCu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CA0BCu) goto L_089CA0BC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CA0BCu) goto L_089CA0BC; AOT_REGCACHE_SYNC_OUT(); return; L_089CA0BC: aot_gpr_4 = (aot_gpr_2 & 65535u); @@ -6019,10 +6020,10 @@ L_089CA0D0: aot_gpr_4 = (ctx.gpr[16] + static_cast(48)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_fpr_12 = aot_fpr_12 + aot_fpr_20; - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(48), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_fpr_12 = aot_fpr_12 + ctx.fpr[22]; - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(52), std::bit_cast(aot_fpr_12)); goto L_089CA0EC; L_089CA0EC: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-7080))); @@ -6035,7 +6036,7 @@ L_089CA0EC: } L_089CA0F8: aot_gpr_31 = (0x089CA100u); - aot_gpr_4 = (aot_gpr_29 + static_cast(48)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(48)); goto L_089C8A90; L_089CA100: { const bool branch_taken = aot_gpr_2 == 0u; @@ -6046,12 +6047,12 @@ L_089CA100: goto L_089CA108; } L_089CA108: - aot_gpr_4 = (aot_gpr_29 + static_cast(48)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(48)); aot_gpr_5 = (49024u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_5); aot_gpr_5 = (0u + static_cast(-1)); aot_gpr_31 = (0x089CA120u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 708u, 0x08B1FAACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CA120u) goto L_089CA120; AOT_REGCACHE_SYNC_OUT(); return; L_089CA120: @@ -6090,7 +6091,7 @@ L_089CA138: } L_089CA148: { std::uint32_t aot_run_words[3]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(48), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(48), aot_run_words); aot_fpr_12 = std::bit_cast(aot_run_words[0]); aot_fpr_13 = std::bit_cast(aot_run_words[1]); aot_fpr_14 = std::bit_cast(aot_run_words[2]); @@ -6099,7 +6100,7 @@ L_089CA148: ctx.fpr[15] = std::bit_cast(aot_gpr_4); aot_fpr_14 = aot_fpr_14 + ctx.fpr[15]; aot_gpr_31 = (0x089CA168u); - aot_gpr_4 = (aot_gpr_29 + static_cast(156)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(156)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 519u, 0x08893460u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CA168u) goto L_089CA168; AOT_REGCACHE_SYNC_OUT(); return; L_089CA168: @@ -6107,7 +6108,7 @@ L_089CA168: aot_gpr_4 = (aot_gpr_4 | 13107u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_12 = ctx.fpr[0] + aot_fpr_12; - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(156))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(156))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -6116,17 +6117,17 @@ L_089CA168: goto L_089CA184; } L_089CA184: - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(56))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(56))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 <= aot_fpr_12)) ? 0x00800000u : 0u); // nop if (!((ctx.fcr31 & 0x00800000u) != 0u)) { - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(56))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(56))); goto L_089CA1A8; } goto L_089CA198; L_089CA198: { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(56), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_089CA1AC; } @@ -6141,11 +6142,11 @@ L_089CA1A0: goto L_089CA1A8; } L_089CA1A8: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(56), std::bit_cast(aot_fpr_12)); goto L_089CA1AC; L_089CA1AC: ctx.gpr[22] = (0u | 1u); - aot_gpr_4 = (aot_gpr_29 + static_cast(48)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -6221,7 +6222,7 @@ L_089CA200: goto L_089CA208; } L_089CA208: - aot_gpr_4 = (aot_gpr_29 + static_cast(48)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -6231,7 +6232,7 @@ L_089CA208: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_4 = (aot_gpr_29 + static_cast(32)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(32)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -6242,7 +6243,7 @@ L_089CA208: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>(); - aot_gpr_4 = (aot_gpr_29 + static_cast(2240)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(2240)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; @@ -6307,7 +6308,7 @@ L_089CA280: } L_089CA290: aot_gpr_31 = (0x089CA298u); - aot_gpr_4 = (aot_gpr_29 + static_cast(48)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(48)); goto L_089C89A0; L_089CA298: ctx.gpr[22] = (aot_gpr_2 | 0u); @@ -6321,7 +6322,7 @@ L_089CA29C: goto L_089CA2A4; } L_089CA2A4: - ctx.gpr[6] = (aot_gpr_29 + static_cast(48)); + aot_gpr_6 = (ctx.gpr[29] + static_cast(48)); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); ctx.gpr[7] = (0u | 0u); @@ -6365,14 +6366,14 @@ L_089CA2EC: goto L_089CA2F4; } L_089CA2F4: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(2320), 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(2320), 0u); aot_fpr_12 = std::bit_cast(0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(2272), std::bit_cast(aot_fpr_12)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(2276), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(2272), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(2276), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (16384u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(2280), std::bit_cast(aot_fpr_12)); - aot_gpr_4 = (aot_gpr_29 + static_cast(48)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(2280), std::bit_cast(aot_fpr_12)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -6382,7 +6383,7 @@ L_089CA2F4: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_4 = (aot_gpr_29 + static_cast(2272)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(2272)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -6393,28 +6394,28 @@ L_089CA2F4: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 0u>(); - aot_gpr_4 = (aot_gpr_29 + static_cast(2256)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(2256)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(56))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(56))); aot_fpr_12 = aot_fpr_13 - aot_fpr_12; - aot_gpr_5 = (aot_gpr_29 + static_cast(2288)); - ctx.gpr[6] = (aot_gpr_29 + static_cast(2320)); + aot_gpr_5 = (ctx.gpr[29] + static_cast(2288)); + aot_gpr_6 = (ctx.gpr[29] + static_cast(2320)); ctx.gpr[7] = (0u | 1u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[11] = (0u | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), 0u); aot_gpr_31 = (0x089CA360u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(8), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 287u, 0x08891DD4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CA360u) goto L_089CA360; AOT_REGCACHE_SYNC_OUT(); return; L_089CA360: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(2320))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(2320))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -6423,7 +6424,7 @@ L_089CA360: goto L_089CA36C; } L_089CA36C: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(2318))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(2318))); aot_gpr_5 = (0u | 34u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -6433,7 +6434,7 @@ L_089CA36C: goto L_089CA37C; } L_089CA37C: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(2318))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(2318))); aot_gpr_5 = (0u | 18u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -6476,13 +6477,13 @@ L_089CA3AC: } L_089CA3C4: ctx.gpr[23] = (0u | 1u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(2324), 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(2328), 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(2324), 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(2328), 0u); ctx.gpr[30] = (0u | 2u); - aot_gpr_4 = (aot_gpr_29 + static_cast(48)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(48)); aot_gpr_5 = (16448u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_5); - ctx.gpr[6] = (aot_gpr_29 + static_cast(2324)); + aot_gpr_6 = (ctx.gpr[29] + static_cast(2324)); aot_gpr_31 = (0x089CA3ECu); aot_gpr_5 = (ctx.gpr[30] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 708u, 0x08B1FAACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CA3ECu) goto L_089CA3EC; @@ -6507,7 +6508,7 @@ L_089CA3F4: } L_089CA404: aot_gpr_5 = (aot_gpr_4 << 2u); - aot_gpr_5 = (aot_gpr_29 + aot_gpr_5); + aot_gpr_5 = (ctx.gpr[29] + aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(2324))); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_5 = (aot_gpr_4 << 2u); @@ -6517,7 +6518,7 @@ L_089CA404: goto L_089CA418; } L_089CA418: - aot_gpr_5 = (aot_gpr_29 + aot_gpr_5); + aot_gpr_5 = (ctx.gpr[29] + aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(2324))); { const bool branch_taken = aot_gpr_5 == ctx.gpr[22]; // nop @@ -6552,7 +6553,7 @@ L_089CA444: aot_gpr_4 = (16256u << 16u); aot_gpr_31 = (0x089CA454u); ctx.fpr[22] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CA454u) goto L_089CA454; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_28, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CA454u) goto L_089CA454; AOT_REGCACHE_SYNC_OUT(); return; L_089CA454: aot_fpr_12 = ctx.fpr[22] - aot_fpr_20; @@ -6566,15 +6567,15 @@ L_089CA454: aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(2256), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x089CA480u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CA480u) goto L_089CA480; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CA480u) goto L_089CA480; AOT_REGCACHE_SYNC_OUT(); return; L_089CA480: aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 0u); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-11780))); aot_gpr_31 = (0x089CA494u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-11784))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CA494u) goto L_089CA494; + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-11784))); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CA494u) goto L_089CA494; AOT_REGCACHE_SYNC_OUT(); return; L_089CA494: ctx.gpr[1] = (ctx.gpr[3] << 1u); @@ -6608,7 +6609,7 @@ L_089CA4B8: L_089CA4C0: aot_gpr_4 = (ctx.gpr[22] | 0u); aot_gpr_5 = (0u | 28u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x089CA4D8u); ctx.gpr[8] = (0u | 0u); @@ -6625,7 +6626,7 @@ L_089CA4D8: L_089CA4E0: aot_gpr_4 = (ctx.gpr[22] | 0u); aot_gpr_5 = (0u | 28u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x089CA4F8u); ctx.gpr[8] = (0u | 0u); @@ -6642,15 +6643,15 @@ L_089CA4F8: L_089CA500: aot_gpr_31 = (0x089CA508u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CA508u) goto L_089CA508; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CA508u) goto L_089CA508; AOT_REGCACHE_SYNC_OUT(); return; L_089CA508: aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 0u); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-11748))); aot_gpr_31 = (0x089CA51Cu); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-11752))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CA51Cu) goto L_089CA51C; + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-11752))); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CA51Cu) goto L_089CA51C; AOT_REGCACHE_SYNC_OUT(); return; L_089CA51C: ctx.gpr[1] = (ctx.gpr[3] << 1u); @@ -6666,9 +6667,9 @@ L_089CA51C: AOT_REGCACHE_SYNC_OUT(); return; L_089CA540: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[22] + static_cast(86)))))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7656))); - ctx.gpr[6] = (static_cast(aot_gpr_4) < static_cast(ctx.gpr[6]) ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7656))); + aot_gpr_6 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_6) ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_5 = (0u | 0u); if (branch_taken) { goto L_089CA564; @@ -6719,8 +6720,8 @@ L_089CA594: aot_gpr_5 = (aot_gpr_4 + static_cast(24)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); aot_gpr_4 = (ctx.gpr[22] + aot_gpr_4); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); - jump_target = ctx.gpr[6]; + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); + jump_target = aot_gpr_6; aot_gpr_31 = (0x089CA5B0u); aot_gpr_5 = (0u | 3u); ctx.pc = jump_target; @@ -6771,7 +6772,7 @@ L_089CA5B8: ctx.execute_vfpu_vcmov_ct<66u, 98u, 1u, 0u, false>(); { float vfpu_value[4]{1.0f, 1.0f, 1.0f, 1.0f}; ctx.write_vfpu_vector_with_destination_prefix_ct<98u, 1u>(vfpu_value); } - aot_gpr_4 = (aot_gpr_29 + static_cast(2336)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(2336)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<2u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; @@ -6806,8 +6807,8 @@ L_089CA620: aot_gpr_5 = (aot_gpr_4 + static_cast(24)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); aot_gpr_4 = (ctx.gpr[22] + aot_gpr_4); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); - jump_target = ctx.gpr[6]; + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); + jump_target = aot_gpr_6; aot_gpr_31 = (0x089CA63Cu); aot_gpr_5 = (0u | 3u); ctx.pc = jump_target; @@ -6921,7 +6922,7 @@ L_089CA6C8: goto L_089CA6CC; L_089CA6CC: { std::uint32_t aot_run_words[16]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(2404), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(2404), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); @@ -6940,21 +6941,21 @@ L_089CA6CC: aot_gpr_31 = aot_run_words[15]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(2480)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(2480)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_089CA714: - aot_gpr_29 = (aot_gpr_29 + static_cast(-160)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-160)); { const std::uint32_t aot_run_words[10]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(112), aot_run_words); } + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(112), aot_run_words); } ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.gpr[17] = (aot_gpr_5 & 255u); ctx.gpr[18] = (0u | 1u); ctx.gpr[19] = (0u | 14u); ctx.gpr[20] = (0u | 0u); - ctx.gpr[22] = (aot_gpr_29 + static_cast(96)); + ctx.gpr[22] = (ctx.gpr[29] + static_cast(96)); aot_gpr_31 = (0x089CA760u); aot_gpr_4 = (ctx.gpr[22] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 16u, 0x08960154u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CA760u) goto L_089CA760; @@ -6972,11 +6973,11 @@ L_089CA760: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[29] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-5336))); - ctx.gpr[6] = (aot_gpr_29 + static_cast(16)); + aot_gpr_6 = (ctx.gpr[29] + static_cast(16)); aot_gpr_31 = (0x089CA780u); aot_gpr_5 = (ctx.gpr[22] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0162_entry, 162u, 526u, 0x08A8EB48u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CA780u) goto L_089CA780; @@ -7293,11 +7294,11 @@ L_089CA914: L_089CA928: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(86)))))); aot_gpr_5 = (ctx.gpr[23] << 5u); - ctx.gpr[6] = (ctx.gpr[23] << 2u); - aot_gpr_5 = (aot_gpr_5 - ctx.gpr[6]); - ctx.gpr[6] = (2246u << 16u); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(30712)); - aot_gpr_5 = (aot_gpr_5 + ctx.gpr[6]); + aot_gpr_6 = (ctx.gpr[23] << 2u); + aot_gpr_5 = (aot_gpr_5 - aot_gpr_6); + aot_gpr_6 = (2246u << 16u); + aot_gpr_6 = (aot_gpr_6 + static_cast(30712)); + aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -7368,7 +7369,7 @@ L_089CA9A4: L_089CA9B4: ctx.gpr[30] = (0u | 16u); aot_gpr_31 = (0x089CA9C0u); - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(86))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[29] + static_cast(86))); goto L_089C81D8; L_089CA9C0: ctx.gpr[22] = (aot_gpr_2 | 0u); @@ -7398,11 +7399,11 @@ L_089CA9DC: L_089CA9EC: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(36))); aot_gpr_5 = (aot_gpr_5 + static_cast(48)); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); jump_target = aot_gpr_5; aot_gpr_31 = (0x089CAA04u); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CAA04u) goto L_089CAA04; AOT_REGCACHE_SYNC_OUT(); return; @@ -7417,8 +7418,8 @@ L_089CAA04: L_089CAA0C: aot_gpr_4 = (0u | 0u); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(86)))))); - ctx.gpr[6] = (0u | 231u); - { const bool branch_taken = aot_gpr_5 == ctx.gpr[6]; + aot_gpr_6 = (0u | 231u); + { const bool branch_taken = aot_gpr_5 == aot_gpr_6; // nop if (branch_taken) { goto L_089CAA30; @@ -7427,8 +7428,8 @@ L_089CAA0C: } L_089CAA20: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(86)))))); - ctx.gpr[6] = (0u | 232u); - { const bool branch_taken = aot_gpr_5 != ctx.gpr[6]; + aot_gpr_6 = (0u | 232u); + { const bool branch_taken = aot_gpr_5 != aot_gpr_6; // nop if (branch_taken) { goto L_089CAA64; @@ -7436,9 +7437,9 @@ L_089CAA20: goto L_089CAA30; } L_089CAA30: - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7656))); - ctx.gpr[6] = (static_cast(ctx.gpr[22]) < static_cast(ctx.gpr[6]) ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7656))); + aot_gpr_6 = (static_cast(ctx.gpr[22]) < static_cast(aot_gpr_6) ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_5 = (0u | 0u); if (branch_taken) { goto L_089CAA50; @@ -7447,14 +7448,14 @@ L_089CAA30: } L_089CAA40: aot_gpr_5 = (ctx.gpr[22] << 2u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(24))); - aot_gpr_5 = (ctx.gpr[6] + aot_gpr_5); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(24))); + aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); goto L_089CAA50; L_089CAA50: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(52))); - ctx.gpr[6] = (0u | 5u); - { const bool branch_taken = aot_gpr_5 != ctx.gpr[6]; + aot_gpr_6 = (0u | 5u); + { const bool branch_taken = aot_gpr_5 != aot_gpr_6; // nop if (branch_taken) { goto L_089CAA64; @@ -7517,8 +7518,8 @@ L_089CAA9C: L_089CAAAC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(60))); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(629)))))); - ctx.gpr[6] = (0u | 1u); - aot_gpr_5 = (ctx.gpr[6] << (aot_gpr_5 & 31u)); + aot_gpr_6 = (0u | 1u); + aot_gpr_5 = (aot_gpr_6 << (aot_gpr_5 & 31u)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); @@ -7539,7 +7540,7 @@ L_089CAAD0: } L_089CAAD8: aot_gpr_31 = (0x089CAAE0u); - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(86))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[29] + static_cast(86))); goto L_089C8314; L_089CAAE0: ctx.gpr[22] = (aot_gpr_2 | 0u); @@ -7609,11 +7610,11 @@ L_089CAB3C: L_089CAB4C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(36))); aot_gpr_5 = (aot_gpr_5 + static_cast(48)); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); jump_target = aot_gpr_5; aot_gpr_31 = (0x089CAB64u); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CAB64u) goto L_089CAB64; AOT_REGCACHE_SYNC_OUT(); return; @@ -7648,7 +7649,7 @@ L_089CAB90: L_089CAB94: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[22] | 0u); - ctx.gpr[6] = (aot_gpr_29 | 0u); + aot_gpr_6 = (ctx.gpr[29] | 0u); ctx.gpr[7] = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x089CABACu); ctx.gpr[8] = (0u | 1u); @@ -7658,8 +7659,8 @@ L_089CABAC: aot_gpr_4 = (0u | 0u); aot_gpr_4 = (aot_gpr_4 & 1u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(72))); - ctx.gpr[6] = (0u + static_cast(-513)); - aot_gpr_5 = (aot_gpr_5 & ctx.gpr[6]); + aot_gpr_6 = (0u + static_cast(-513)); + aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); aot_gpr_4 = (aot_gpr_4 << 9u); aot_gpr_4 = (aot_gpr_5 | aot_gpr_4); aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(72), aot_gpr_4); @@ -7686,7 +7687,7 @@ L_089CABF4: aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); aot_gpr_31 = (0x089CAC14u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CAC14u) goto L_089CAC14; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CAC14u) goto L_089CAC14; AOT_REGCACHE_SYNC_OUT(); return; L_089CAC14: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(96))); @@ -7711,7 +7712,7 @@ L_089CAC28: L_089CAC38: aot_gpr_2 = (ctx.gpr[20] | 0u); { std::uint32_t aot_run_words[10]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(112), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(112), aot_run_words); ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; @@ -7724,21 +7725,21 @@ L_089CAC38: aot_gpr_31 = aot_run_words[9]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(160)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(160)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_089CAC6C: - aot_gpr_29 = (aot_gpr_29 + static_cast(-128)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-128)); { const std::uint32_t aot_run_words[7]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_31}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(96), aot_run_words); } + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(96), aot_run_words); } ctx.gpr[19] = (ctx.gpr[8] & 255u); ctx.gpr[8] = (aot_gpr_4 + static_cast(-4)); ctx.gpr[8] = (ctx.gpr[8] < static_cast(17) ? 1u : 0u); ctx.gpr[20] = (aot_gpr_4 | 0u); ctx.gpr[16] = (aot_gpr_5 | 0u); - ctx.gpr[17] = (ctx.gpr[6] | 0u); + ctx.gpr[17] = (aot_gpr_6 | 0u); { const bool branch_taken = ctx.gpr[8] == 0u; ctx.gpr[18] = (ctx.gpr[7] | 0u); if (branch_taken) { @@ -7776,7 +7777,7 @@ L_089CACD4: L_089CACE0: aot_gpr_5 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x089CACECu); - ctx.gpr[6] = (ctx.gpr[16] | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0119_entry, 119u, 453u, 0x089E2490u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CACECu) goto L_089CACEC; AOT_REGCACHE_SYNC_OUT(); return; L_089CACEC: @@ -7802,7 +7803,7 @@ L_089CACF0: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[29] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(0u); @@ -7814,7 +7815,7 @@ L_089CACF0: AOT_REGCACHE_SYNC_OUT(); return; L_089CAD28: { std::uint32_t aot_run_words[3]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(0), aot_run_words); aot_fpr_12 = std::bit_cast(aot_run_words[0]); aot_fpr_13 = std::bit_cast(aot_run_words[1]); aot_fpr_14 = std::bit_cast(aot_run_words[2]); @@ -7840,7 +7841,7 @@ L_089CAD44: L_089CAD50: aot_gpr_31 = (0x089CAD58u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CAD58u) goto L_089CAD58; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CAD58u) goto L_089CAD58; AOT_REGCACHE_SYNC_OUT(); return; L_089CAD58: aot_gpr_4 = (aot_gpr_2 & 65535u); @@ -7948,13 +7949,13 @@ L_089CADD8: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089CADE8u); - ctx.gpr[6] = (0u | 25001u); + aot_gpr_6 = (0u | 25001u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 31u, 0x0890819Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CADE8u) goto L_089CADE8; AOT_REGCACHE_SYNC_OUT(); return; L_089CADE8: aot_gpr_31 = (0x089CADF0u); aot_gpr_4 = (ctx.gpr[16] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CADF0u) goto L_089CADF0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CADF0u) goto L_089CADF0; AOT_REGCACHE_SYNC_OUT(); return; L_089CADF0: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(104))); @@ -8024,7 +8025,7 @@ L_089CAE40: L_089CAE4C: aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089CAE58u); - ctx.gpr[6] = (ctx.gpr[18] | 0u); + aot_gpr_6 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0139_entry, 139u, 437u, 0x08A31EA4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CAE58u) goto L_089CAE58; AOT_REGCACHE_SYNC_OUT(); return; L_089CAE58: @@ -8049,7 +8050,7 @@ L_089CAE5C: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_4 = (aot_gpr_29 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(16)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; @@ -8063,7 +8064,7 @@ L_089CAE5C: AOT_REGCACHE_SYNC_OUT(); return; L_089CAE98: { std::uint32_t aot_run_words[3]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(16), aot_run_words); aot_fpr_12 = std::bit_cast(aot_run_words[0]); aot_fpr_13 = std::bit_cast(aot_run_words[1]); aot_fpr_14 = std::bit_cast(aot_run_words[2]); @@ -8163,7 +8164,7 @@ L_089CAF10: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_4 = (aot_gpr_29 + static_cast(32)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(32)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; @@ -8177,7 +8178,7 @@ L_089CAF10: AOT_REGCACHE_SYNC_OUT(); return; L_089CAF4C: { std::uint32_t aot_run_words[3]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(32), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(32), aot_run_words); aot_fpr_12 = std::bit_cast(aot_run_words[0]); aot_fpr_13 = std::bit_cast(aot_run_words[1]); aot_fpr_14 = std::bit_cast(aot_run_words[2]); @@ -8277,7 +8278,7 @@ L_089CAFC4: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_4 = (aot_gpr_29 + static_cast(48)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(48)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; @@ -8291,7 +8292,7 @@ L_089CAFC4: AOT_REGCACHE_SYNC_OUT(); return; L_089CB000: { std::uint32_t aot_run_words[3]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(48), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(48), aot_run_words); aot_fpr_12 = std::bit_cast(aot_run_words[0]); aot_fpr_13 = std::bit_cast(aot_run_words[1]); aot_fpr_14 = std::bit_cast(aot_run_words[2]); @@ -8367,7 +8368,7 @@ L_089CB060: L_089CB06C: aot_gpr_5 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x089CB078u); - ctx.gpr[6] = (ctx.gpr[16] | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0119_entry, 119u, 453u, 0x089E2490u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CB078u) goto L_089CB078; AOT_REGCACHE_SYNC_OUT(); return; L_089CB078: @@ -8392,7 +8393,7 @@ L_089CB07C: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_4 = (aot_gpr_29 + static_cast(64)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(64)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; @@ -8406,7 +8407,7 @@ L_089CB07C: AOT_REGCACHE_SYNC_OUT(); return; L_089CB0B8: { std::uint32_t aot_run_words[3]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(64), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(64), aot_run_words); aot_fpr_12 = std::bit_cast(aot_run_words[0]); aot_fpr_13 = std::bit_cast(aot_run_words[1]); aot_fpr_14 = std::bit_cast(aot_run_words[2]); @@ -8423,15 +8424,15 @@ L_089CB0CC: L_089CB0D4: aot_gpr_31 = (0x089CB0DCu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CB0DCu) goto L_089CB0DC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CB0DCu) goto L_089CB0DC; AOT_REGCACHE_SYNC_OUT(); return; L_089CB0DC: aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 0u); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-11740))); aot_gpr_31 = (0x089CB0F0u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-11744))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CB0F0u) goto L_089CB0F0; + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-11744))); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CB0F0u) goto L_089CB0F0; AOT_REGCACHE_SYNC_OUT(); return; L_089CB0F0: ctx.gpr[1] = (ctx.gpr[3] << 1u); @@ -8474,13 +8475,13 @@ L_089CB14C: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x089CB15Cu); - ctx.gpr[6] = (0u | 25001u); + aot_gpr_6 = (0u | 25001u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 31u, 0x0890819Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CB15Cu) goto L_089CB15C; AOT_REGCACHE_SYNC_OUT(); return; L_089CB15C: aot_gpr_31 = (0x089CB164u); aot_gpr_4 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CB164u) goto L_089CB164; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CB164u) goto L_089CB164; AOT_REGCACHE_SYNC_OUT(); return; L_089CB164: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(104))); @@ -8550,7 +8551,7 @@ L_089CB1B4: L_089CB1C0: aot_gpr_5 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x089CB1CCu); - ctx.gpr[6] = (ctx.gpr[16] | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0119_entry, 119u, 453u, 0x089E2490u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CB1CCu) goto L_089CB1CC; AOT_REGCACHE_SYNC_OUT(); return; L_089CB1CC: @@ -8575,7 +8576,7 @@ L_089CB1D0: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_4 = (aot_gpr_29 + static_cast(80)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(80)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; @@ -8589,7 +8590,7 @@ L_089CB1D0: AOT_REGCACHE_SYNC_OUT(); return; L_089CB20C: { std::uint32_t aot_run_words[3]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(80), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(80), aot_run_words); aot_fpr_12 = std::bit_cast(aot_run_words[0]); aot_fpr_13 = std::bit_cast(aot_run_words[1]); aot_fpr_14 = std::bit_cast(aot_run_words[2]); @@ -8624,13 +8625,13 @@ L_089CB23C: aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_5 = (0u | 19u); aot_gpr_31 = (0x089CB24Cu); - ctx.gpr[6] = (0u | 25001u); + aot_gpr_6 = (0u | 25001u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 31u, 0x0890819Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CB24Cu) goto L_089CB24C; AOT_REGCACHE_SYNC_OUT(); return; L_089CB24C: aot_gpr_31 = (0x089CB254u); aot_gpr_4 = (0u | 19u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CB254u) goto L_089CB254; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CB254u) goto L_089CB254; AOT_REGCACHE_SYNC_OUT(); return; L_089CB254: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(104))); @@ -8699,7 +8700,7 @@ L_089CB2A8: } L_089CB2B0: { std::uint32_t aot_run_words[7]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(96), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(96), aot_run_words); ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; @@ -8709,24 +8710,24 @@ L_089CB2B0: aot_gpr_31 = aot_run_words[6]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(128)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(128)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_089CB2D4: - aot_gpr_29 = (aot_gpr_29 + static_cast(-256)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-256)); { const std::uint32_t aot_run_words[16]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(192), aot_run_words); } + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(192), aot_run_words); } aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-15976))); ctx.gpr[22] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-15952))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(176), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(176), aot_gpr_4); ctx.gpr[21] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-15960))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7764))); ctx.gpr[16] = (aot_gpr_4 & 31u); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(7800))); aot_gpr_31 = (0x089CB33Cu); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(180), ctx.gpr[16]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(180), ctx.gpr[16]); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 48u, 0x08960450u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CB33Cu) goto L_089CB33C; AOT_REGCACHE_SYNC_OUT(); return; L_089CB33C: @@ -8740,27 +8741,27 @@ L_089CB33C: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[29] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(8))); { const std::int64_t product = static_cast(static_cast(ctx.gpr[16])) * static_cast(static_cast(aot_gpr_4)); ctx.lo = static_cast(product); ctx.hi = static_cast(static_cast(product) >> 32u); } aot_gpr_5 = (ctx.lo); - ctx.gpr[6] = (static_cast(static_cast(aot_gpr_5) >> 5u)); - ctx.gpr[6] = (ctx.gpr[6] >> 27u); - ctx.gpr[18] = (aot_gpr_5 + ctx.gpr[6]); + aot_gpr_6 = (static_cast(static_cast(aot_gpr_5) >> 5u)); + aot_gpr_6 = (aot_gpr_6 >> 27u); + ctx.gpr[18] = (aot_gpr_5 + aot_gpr_6); ctx.gpr[18] = (static_cast(static_cast(ctx.gpr[18]) >> 5u)); aot_gpr_5 = (ctx.gpr[16] + static_cast(1)); { const std::int64_t product = static_cast(static_cast(aot_gpr_5)) * static_cast(static_cast(aot_gpr_4)); ctx.lo = static_cast(product); ctx.hi = static_cast(static_cast(product) >> 32u); } aot_gpr_4 = (ctx.lo); - ctx.gpr[6] = (static_cast(static_cast(aot_gpr_4) >> 5u)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(184), aot_gpr_5); - aot_gpr_5 = (ctx.gpr[6] >> 27u); + aot_gpr_6 = (static_cast(static_cast(aot_gpr_4) >> 5u)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(184), aot_gpr_5); + aot_gpr_5 = (aot_gpr_6 >> 27u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 5u)); aot_gpr_5 = (static_cast(ctx.gpr[18]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(168), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(168), aot_gpr_4); if (branch_taken) { goto L_089CB5FC; } @@ -8769,9 +8770,9 @@ L_089CB33C: L_089CB38C: if (vcs::g_draw_distance_runtime_scales.npcs > 1.0f) { const float dd_scale = vcs::g_draw_distance_runtime_scales.npcs; - ctx.gpr[19] = aot_gpr_29 + static_cast(64); - ctx.gpr[30] = aot_gpr_29 + static_cast(16); - ctx.gpr[23] = aot_gpr_29 + static_cast(32); + ctx.gpr[19] = ctx.gpr[29] + static_cast(64); + ctx.gpr[30] = ctx.gpr[29] + static_cast(16); + ctx.gpr[23] = ctx.gpr[29] + static_cast(32); ctx.fpr[22] = 120.0f; ctx.fpr[28] = 51.0f * dd_scale; ctx.fpr[26] = 25.0f * dd_scale; @@ -8782,9 +8783,9 @@ L_089CB38C: ctx.gpr[20] += aot_gpr_4; goto L_089CB3C8; } - ctx.gpr[19] = (aot_gpr_29 + static_cast(64)); - ctx.gpr[30] = (aot_gpr_29 + static_cast(16)); - ctx.gpr[23] = (aot_gpr_29 + static_cast(32)); + ctx.gpr[19] = (ctx.gpr[29] + static_cast(64)); + ctx.gpr[30] = (ctx.gpr[29] + static_cast(16)); + ctx.gpr[23] = (ctx.gpr[29] + static_cast(32)); aot_gpr_4 = (17136u << 16u); ctx.fpr[22] = std::bit_cast(aot_gpr_4); aot_gpr_4 = (16972u << 16u); @@ -8875,7 +8876,7 @@ L_089CB424: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[29] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -8925,7 +8926,7 @@ L_089CB424: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[29] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -9044,8 +9045,8 @@ L_089CB500: aot_gpr_5 = (aot_gpr_4 + static_cast(24)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); aot_gpr_4 = (ctx.gpr[17] + aot_gpr_4); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); - jump_target = ctx.gpr[6]; + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); + jump_target = aot_gpr_6; aot_gpr_31 = (0x089CB51Cu); aot_gpr_5 = (0u | 3u); ctx.pc = jump_target; @@ -9122,8 +9123,8 @@ L_089CB57C: aot_gpr_5 = (aot_gpr_4 + static_cast(24)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); aot_gpr_4 = (ctx.gpr[17] + aot_gpr_4); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); - jump_target = ctx.gpr[6]; + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); + jump_target = aot_gpr_6; aot_gpr_31 = (0x089CB598u); aot_gpr_5 = (0u | 3u); ctx.pc = jump_target; @@ -9186,7 +9187,7 @@ L_089CB5E0: AOT_REGCACHE_SYNC_OUT(); return; L_089CB5E8: ctx.gpr[18] = (ctx.gpr[18] + static_cast(1)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(168))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(168))); aot_gpr_4 = (static_cast(ctx.gpr[18]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; ctx.gpr[20] = (ctx.gpr[20] + static_cast(544)); @@ -9198,20 +9199,20 @@ L_089CB5E8: L_089CB5FC: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-7080))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(176))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(176))); goto L_089CB70C; } goto L_089CB608; L_089CB608: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(180))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(180))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(8))); { const std::int64_t product = static_cast(static_cast(aot_gpr_4)) * static_cast(static_cast(aot_gpr_5)); ctx.lo = static_cast(product); ctx.hi = static_cast(static_cast(product) >> 32u); } aot_gpr_4 = (ctx.lo); - ctx.gpr[6] = (static_cast(static_cast(aot_gpr_4) >> 5u)); - ctx.gpr[6] = (ctx.gpr[6] >> 27u); - ctx.gpr[17] = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_6 = (static_cast(static_cast(aot_gpr_4) >> 5u)); + aot_gpr_6 = (aot_gpr_6 >> 27u); + ctx.gpr[17] = (aot_gpr_4 + aot_gpr_6); ctx.gpr[17] = (static_cast(static_cast(ctx.gpr[17]) >> 5u)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(184))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(184))); { const std::int64_t product = static_cast(static_cast(aot_gpr_4)) * static_cast(static_cast(aot_gpr_5)); ctx.lo = static_cast(product); ctx.hi = static_cast(static_cast(product) >> 32u); } aot_gpr_4 = (ctx.lo); aot_gpr_5 = (static_cast(static_cast(aot_gpr_4) >> 5u)); @@ -9220,14 +9221,14 @@ L_089CB608: ctx.gpr[16] = (static_cast(static_cast(ctx.gpr[16]) >> 5u)); aot_gpr_4 = (static_cast(ctx.gpr[17]) < static_cast(ctx.gpr[16]) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; - ctx.gpr[20] = (aot_gpr_29 + static_cast(80)); + ctx.gpr[20] = (ctx.gpr[29] + static_cast(80)); if (branch_taken) { goto L_089CB708; } goto L_089CB650; } L_089CB650: - ctx.gpr[18] = (aot_gpr_29 + static_cast(16)); + ctx.gpr[18] = (ctx.gpr[29] + static_cast(16)); aot_gpr_4 = (17056u << 16u); aot_fpr_20 = std::bit_cast(aot_gpr_4); ctx.gpr[19] = (ctx.gpr[17] << 5u); @@ -9297,7 +9298,7 @@ L_089CB6B0: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[29] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -9362,13 +9363,13 @@ L_089CB6F8: goto L_089CB708; } L_089CB708: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(176))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(176))); goto L_089CB70C; L_089CB70C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); ctx.gpr[22] = (aot_gpr_4 + static_cast(-1)); { const bool branch_taken = aot_gpr_4 == 0u; - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(188), ctx.gpr[22]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(188), ctx.gpr[22]); if (branch_taken) { goto L_089CBF40; } @@ -9381,7 +9382,7 @@ L_089CB71C: ctx.gpr[30] = (32768u << 16u); ctx.gpr[19] = (2236u << 16u); ctx.gpr[19] = (ctx.gpr[19] + static_cast(32304)); - ctx.gpr[23] = (aot_gpr_29 + static_cast(96)); + ctx.gpr[23] = (ctx.gpr[29] + static_cast(96)); aot_gpr_4 = (16230u << 16u); aot_gpr_4 = (aot_gpr_4 | 26214u); ctx.fpr[24] = std::bit_cast(aot_gpr_4); @@ -9395,11 +9396,11 @@ L_089CB71C: aot_gpr_4 = (0u + static_cast(3344)); { const std::int64_t product = static_cast(static_cast(ctx.gpr[22])) * static_cast(static_cast(aot_gpr_4)); ctx.lo = static_cast(product); ctx.hi = static_cast(static_cast(product) >> 32u); } aot_gpr_4 = (ctx.lo); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(172), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(172), aot_gpr_4); goto L_089CB770; L_089CB770: { const bool branch_taken = static_cast(ctx.gpr[22]) < 0; - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(176))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(176))); if (branch_taken) { goto L_089CB788; } @@ -9426,7 +9427,7 @@ L_089CB790: aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0))); aot_gpr_5 = (aot_gpr_5 & 128u); if (aot_gpr_5 == 0u) { - ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(172))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(172))); goto L_089CB7AC; } goto L_089CB7A4; @@ -9453,7 +9454,7 @@ L_089CB7B4: L_089CB7BC: aot_gpr_31 = (0x089CB7C4u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CB7C4u) goto L_089CB7C4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CB7C4u) goto L_089CB7C4; AOT_REGCACHE_SYNC_OUT(); return; L_089CB7C4: { const bool branch_taken = aot_gpr_2 != 0u; @@ -9575,10 +9576,10 @@ L_089CB85C: L_089CB864: ctx.gpr[21] = (ctx.gpr[17] + static_cast(48)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(0))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(4))); - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); aot_fpr_14 = aot_fpr_14 - ctx.fpr[15]; { const float fs = aot_fpr_12; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } { const float fs = aot_fpr_14; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } @@ -10022,8 +10023,8 @@ L_089CBBE4: aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(100))); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(52))); - ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0))); - { const bool branch_taken = aot_gpr_5 == ctx.gpr[6]; + aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0))); + { const bool branch_taken = aot_gpr_5 == aot_gpr_6; // nop if (branch_taken) { goto L_089CBC34; @@ -10120,7 +10121,7 @@ L_089CBC64: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_31 = (0x089CBC74u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CBC74u) goto L_089CBC74; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CBC74u) goto L_089CBC74; AOT_REGCACHE_SYNC_OUT(); return; L_089CBC74: aot_gpr_4 = (aot_gpr_2 & 65535u); @@ -10133,7 +10134,7 @@ L_089CBC74: { const float fs = aot_fpr_12; const float ft = aot_fpr_20; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_20 = std::bit_cast(0x7FC00000u); else aot_fpr_20 = fs * ft; } aot_gpr_31 = (0x089CBC9Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CBC9Cu) goto L_089CBC9C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_28, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CBC9Cu) goto L_089CBC9C; AOT_REGCACHE_SYNC_OUT(); return; L_089CBC9C: aot_gpr_4 = (0u | 3u); @@ -10198,7 +10199,7 @@ L_089CBCBC: ctx.fpr[15] = std::bit_cast(aot_gpr_4); { const float fs = ctx.fpr[15]; const float ft = ctx.fpr[30]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[15] = std::bit_cast(0x7FC00000u); else ctx.fpr[15] = fs * ft; } aot_gpr_4 = (0u | 1u); - ctx.gpr[6] = (ctx.gpr[23] | 0u); + aot_gpr_6 = (ctx.gpr[23] | 0u); ctx.gpr[7] = (0u | 255u); ctx.gpr[8] = (0u | 255u); ctx.gpr[9] = (0u | 255u); @@ -10284,7 +10285,7 @@ L_089CBD88: ctx.fpr[15] = std::bit_cast(aot_gpr_4); { const float fs = ctx.fpr[15]; const float ft = ctx.fpr[30]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[15] = std::bit_cast(0x7FC00000u); else ctx.fpr[15] = fs * ft; } aot_gpr_4 = (0u | 1u); - ctx.gpr[6] = (ctx.gpr[23] | 0u); + aot_gpr_6 = (ctx.gpr[23] | 0u); ctx.gpr[7] = (0u | 255u); ctx.gpr[8] = (0u | 255u); ctx.gpr[9] = (0u | 255u); @@ -10346,7 +10347,7 @@ L_089CBE3C: ctx.fpr[15] = std::bit_cast(aot_gpr_4); { const float fs = ctx.fpr[15]; const float ft = ctx.fpr[30]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[15] = std::bit_cast(0x7FC00000u); else ctx.fpr[15] = fs * ft; } aot_gpr_4 = (0u | 1u); - ctx.gpr[6] = (ctx.gpr[23] | 0u); + aot_gpr_6 = (ctx.gpr[23] | 0u); ctx.gpr[7] = (0u | 255u); ctx.gpr[8] = (0u | 255u); ctx.gpr[9] = (0u | 255u); @@ -10396,14 +10397,14 @@ L_089CBF18: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0112_entry, 112u, 809u, 0x089C7804u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CBF20u) goto L_089CBF20; AOT_REGCACHE_SYNC_OUT(); return; L_089CBF20: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(188))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(188))); aot_gpr_5 = (ctx.gpr[22] | 0u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(172))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(172))); ctx.gpr[22] = (aot_gpr_4 + static_cast(-1)); - aot_gpr_4 = (ctx.gpr[6] + static_cast(-3344)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(172), aot_gpr_4); + aot_gpr_4 = (aot_gpr_6 + static_cast(-3344)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(172), aot_gpr_4); { const bool branch_taken = aot_gpr_5 != 0u; - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(188), ctx.gpr[22]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(188), ctx.gpr[22]); if (branch_taken) { goto L_089CB770; } @@ -10411,7 +10412,7 @@ L_089CBF20: } L_089CBF40: { std::uint32_t aot_run_words[16]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(192), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(192), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); @@ -10430,15 +10431,15 @@ L_089CBF40: aot_gpr_31 = aot_run_words[15]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(256)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(256)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_089CBF88: - aot_gpr_29 = (aot_gpr_29 + static_cast(-144)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-144)); { const std::uint32_t aot_run_words[11]{std::bit_cast(aot_fpr_20), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(100), aot_run_words); } + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(100), aot_run_words); } ctx.gpr[20] = (aot_gpr_4 | 0u); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[20] + static_cast(86)))))); aot_gpr_4 = (aot_gpr_4 << 2u); @@ -10446,7 +10447,7 @@ L_089CBF88: aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); - ctx.gpr[6] = (0u | 49u); + aot_gpr_6 = (0u | 49u); aot_gpr_4 = (ctx.gpr[20] + static_cast(48)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(12))); diff --git a/profiles/vcs/generated/generated_unit_0114.cpp b/profiles/vcs/generated/generated_unit_0114.cpp index dc0ff44..cfc1ea7 100644 --- a/profiles/vcs/generated/generated_unit_0114.cpp +++ b/profiles/vcs/generated/generated_unit_0114.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0114[4093] = { }; void recomp_unit_0114_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,16,31,6 fprs=12,13,14,20 gpr_occ=3719 fpr_occ=641 gpr_total=5384 fpr_total=943 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,31,6,16 fprs=12,13,14,20 gpr_occ=3837 fpr_occ=641 gpr_total=5588 fpr_total=943 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; - std::uint32_t aot_gpr_16 = ctx.gpr[16]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; std::uint32_t aot_gpr_6 = ctx.gpr[6]; + std::uint32_t aot_gpr_16 = ctx.gpr[16]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_14 = ctx.fpr[14]; float aot_fpr_20 = ctx.fpr[20]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[16] = aot_gpr_16; ctx.gpr[31] = aot_gpr_31; ctx.gpr[6] = aot_gpr_6; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[20] = aot_fpr_20; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_6 = ctx.gpr[6]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_20 = ctx.fpr[20]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[31] = aot_gpr_31; ctx.gpr[6] = aot_gpr_6; ctx.gpr[16] = aot_gpr_16; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[20] = aot_fpr_20; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_16 = ctx.gpr[16]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_20 = ctx.fpr[20]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -1564,7 +1565,7 @@ L_089CC53C: L_089CC580: aot_gpr_31 = (0x089CC588u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CC588u) goto L_089CC588; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CC588u) goto L_089CC588; AOT_REGCACHE_SYNC_OUT(); return; L_089CC588: aot_fpr_12 = ctx.fpr[24] - ctx.fpr[26]; @@ -1583,7 +1584,7 @@ L_089CC588: L_089CC5A8: aot_gpr_31 = (0x089CC5B0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CC5B0u) goto L_089CC5B0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CC5B0u) goto L_089CC5B0; AOT_REGCACHE_SYNC_OUT(); return; L_089CC5B0: aot_gpr_4 = (16076u << 16u); @@ -1603,7 +1604,7 @@ L_089CC5B0: L_089CC5D4: aot_gpr_31 = (0x089CC5DCu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CC5DCu) goto L_089CC5DC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CC5DCu) goto L_089CC5DC; AOT_REGCACHE_SYNC_OUT(); return; L_089CC5DC: aot_fpr_12 = ctx.fpr[24] - ctx.fpr[26]; @@ -2150,7 +2151,7 @@ L_089CC9EC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(152), ctx.gpr[19]); aot_gpr_31 = (0x089CC9F8u); ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(16))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CC9F8u) goto L_089CC9F8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CC9F8u) goto L_089CC9F8; AOT_REGCACHE_SYNC_OUT(); return; L_089CC9F8: aot_gpr_4 = (ctx.gpr[2] | 0u); @@ -2158,7 +2159,7 @@ L_089CC9F8: ctx.gpr[7] = (ctx.gpr[23] | 0u); aot_gpr_31 = (0x089CCA0Cu); aot_gpr_6 = (ctx.gpr[22] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CCA0Cu) goto L_089CCA0C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CCA0Cu) goto L_089CCA0C; AOT_REGCACHE_SYNC_OUT(); return; L_089CCA0C: ctx.gpr[1] = (ctx.gpr[3] << 1u); @@ -2610,7 +2611,7 @@ L_089CCD58: L_089CCD64: aot_gpr_31 = (0x089CCD6Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CCD6Cu) goto L_089CCD6C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CCD6Cu) goto L_089CCD6C; AOT_REGCACHE_SYNC_OUT(); return; L_089CCD6C: aot_gpr_4 = (ctx.gpr[2] | 0u); @@ -2618,7 +2619,7 @@ L_089CCD6C: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-11748))); aot_gpr_31 = (0x089CCD80u); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-11752))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CCD80u) goto L_089CCD80; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CCD80u) goto L_089CCD80; AOT_REGCACHE_SYNC_OUT(); return; L_089CCD80: ctx.gpr[1] = (ctx.gpr[3] << 1u); @@ -3092,7 +3093,7 @@ L_089CD130: L_089CD188: aot_gpr_31 = (0x089CD190u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CD190u) goto L_089CD190; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CD190u) goto L_089CD190; AOT_REGCACHE_SYNC_OUT(); return; L_089CD190: aot_gpr_4 = (ctx.gpr[2] | 0u); @@ -3100,7 +3101,7 @@ L_089CD190: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-11732))); aot_gpr_31 = (0x089CD1A4u); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-11736))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CD1A4u) goto L_089CD1A4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CD1A4u) goto L_089CD1A4; AOT_REGCACHE_SYNC_OUT(); return; L_089CD1A4: ctx.gpr[1] = (ctx.gpr[3] << 1u); @@ -3357,7 +3358,7 @@ L_089CD33C: L_089CD35C: aot_gpr_31 = (0x089CD364u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CD364u) goto L_089CD364; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CD364u) goto L_089CD364; AOT_REGCACHE_SYNC_OUT(); return; L_089CD364: aot_fpr_12 = ctx.fpr[28] - ctx.fpr[24]; @@ -3367,7 +3368,7 @@ L_089CD364: { const float fs = aot_fpr_20; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[22] = std::bit_cast(0x7FC00000u); else ctx.fpr[22] = fs * ft; } aot_gpr_31 = (0x089CD380u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CD380u) goto L_089CD380; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CD380u) goto L_089CD380; AOT_REGCACHE_SYNC_OUT(); return; L_089CD380: aot_fpr_13 = ctx.fpr[28] - ctx.fpr[24]; @@ -4322,7 +4323,7 @@ L_089CDA68: L_089CDA74: aot_gpr_31 = (0x089CDA7Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CDA7Cu) goto L_089CDA7C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CDA7Cu) goto L_089CDA7C; AOT_REGCACHE_SYNC_OUT(); return; L_089CDA7C: aot_gpr_4 = (ctx.gpr[2] | 0u); @@ -4330,7 +4331,7 @@ L_089CDA7C: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-11748))); aot_gpr_31 = (0x089CDA90u); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-11752))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CDA90u) goto L_089CDA90; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CDA90u) goto L_089CDA90; AOT_REGCACHE_SYNC_OUT(); return; L_089CDA90: ctx.gpr[1] = (ctx.gpr[3] << 1u); @@ -5320,7 +5321,7 @@ L_089CE314: L_089CE320: aot_gpr_31 = (0x089CE328u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CE328u) goto L_089CE328; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CE328u) goto L_089CE328; AOT_REGCACHE_SYNC_OUT(); return; L_089CE328: { std::uint32_t aot_run_words[3]{}; @@ -5958,7 +5959,7 @@ L_089CE888: aot_gpr_5 = (0u + static_cast(-1)); aot_gpr_31 = (0x089CE8A0u); aot_gpr_6 = (0u | 36u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CE8A0u) goto L_089CE8A0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CE8A0u) goto L_089CE8A0; AOT_REGCACHE_SYNC_OUT(); return; L_089CE8A0: aot_gpr_4 = (ctx.gpr[17] | 0u); @@ -6055,7 +6056,7 @@ L_089CE95C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), aot_gpr_31); aot_gpr_31 = (0x089CE99Cu); aot_gpr_6 = (0u | 36u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CE99Cu) goto L_089CE99C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CE99Cu) goto L_089CE99C; AOT_REGCACHE_SYNC_OUT(); return; L_089CE99C: aot_gpr_4 = (ctx.gpr[20] | 0u); @@ -6301,7 +6302,7 @@ L_089CEC3C: L_089CEC48: aot_gpr_31 = (0x089CEC50u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CEC50u) goto L_089CEC50; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CEC50u) goto L_089CEC50; AOT_REGCACHE_SYNC_OUT(); return; L_089CEC50: { std::uint32_t aot_run_words[3]{}; @@ -7322,31 +7323,31 @@ L_089CF28C: aot_gpr_4 = (0u | 6u); aot_gpr_31 = (0x089CF298u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CF298u) goto L_089CF298; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CF298u) goto L_089CF298; AOT_REGCACHE_SYNC_OUT(); return; L_089CF298: aot_gpr_4 = (0u | 10u); aot_gpr_31 = (0x089CF2A4u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CF2A4u) goto L_089CF2A4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CF2A4u) goto L_089CF2A4; AOT_REGCACHE_SYNC_OUT(); return; L_089CF2A4: aot_gpr_4 = (0u | 8u); aot_gpr_31 = (0x089CF2B0u); aot_gpr_5 = (0u | 5u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CF2B0u) goto L_089CF2B0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CF2B0u) goto L_089CF2B0; AOT_REGCACHE_SYNC_OUT(); return; L_089CF2B0: aot_gpr_4 = (0u | 9u); aot_gpr_31 = (0x089CF2BCu); aot_gpr_5 = (0u | 6u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CF2BCu) goto L_089CF2BC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CF2BCu) goto L_089CF2BC; AOT_REGCACHE_SYNC_OUT(); return; L_089CF2BC: aot_gpr_4 = (0u | 1u); aot_gpr_31 = (0x089CF2C8u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CF2C8u) goto L_089CF2C8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CF2C8u) goto L_089CF2C8; AOT_REGCACHE_SYNC_OUT(); return; L_089CF2C8: ctx.gpr[18] = (0u | 0u); @@ -7424,7 +7425,7 @@ L_089CF37C: aot_gpr_4 = (0u | 10u); aot_gpr_31 = (0x089CF388u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CF388u) goto L_089CF388; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CF388u) goto L_089CF388; AOT_REGCACHE_SYNC_OUT(); return; L_089CF388: { std::uint32_t aot_run_words[8]{}; @@ -8311,7 +8312,7 @@ L_089CF9BC: L_089CF9C4: aot_gpr_31 = (0x089CF9CCu); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CF9CCu) goto L_089CF9CC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CF9CCu) goto L_089CF9CC; AOT_REGCACHE_SYNC_OUT(); return; L_089CF9CC: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -8338,7 +8339,7 @@ L_089CF9E4: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089CF9F0u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CF9F0u) goto L_089CF9F0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08908E78, 65u, 261u, 0x08908E78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CF9F0u) goto L_089CF9F0; AOT_REGCACHE_SYNC_OUT(); return; L_089CF9F0: aot_gpr_4 = (ctx.gpr[17] | 0u); @@ -8497,7 +8498,7 @@ L_089CFB0C: L_089CFB14: aot_gpr_31 = (0x089CFB1Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CFB1Cu) goto L_089CFB1C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089CFB1Cu) goto L_089CFB1C; AOT_REGCACHE_SYNC_OUT(); return; L_089CFB1C: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); diff --git a/profiles/vcs/generated/generated_unit_0115.cpp b/profiles/vcs/generated/generated_unit_0115.cpp index 51278a6..c55f086 100644 --- a/profiles/vcs/generated/generated_unit_0115.cpp +++ b/profiles/vcs/generated/generated_unit_0115.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0115[4095] = { }; void recomp_unit_0115_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,16,6,8 fprs=12,13,14,20 gpr_occ=4009 fpr_occ=598 gpr_total=6104 fpr_total=727 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,31,6,7 fprs=12,13,14,20 gpr_occ=4053 fpr_occ=598 gpr_total=6375 fpr_total=727 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; - std::uint32_t aot_gpr_16 = ctx.gpr[16]; + std::uint32_t aot_gpr_31 = ctx.gpr[31]; std::uint32_t aot_gpr_6 = ctx.gpr[6]; - std::uint32_t aot_gpr_8 = ctx.gpr[8]; + std::uint32_t aot_gpr_7 = ctx.gpr[7]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_14 = ctx.fpr[14]; float aot_fpr_20 = ctx.fpr[20]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[16] = aot_gpr_16; ctx.gpr[6] = aot_gpr_6; ctx.gpr[8] = aot_gpr_8; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[20] = aot_fpr_20; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_8 = ctx.gpr[8]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_20 = ctx.fpr[20]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[31] = aot_gpr_31; ctx.gpr[6] = aot_gpr_6; ctx.gpr[7] = aot_gpr_7; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[20] = aot_fpr_20; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_7 = ctx.gpr[7]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_20 = ctx.fpr[20]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -872,7 +873,7 @@ L_089D0000: goto L_089D000C; } L_089D000C: - ctx.gpr[20] = (aot_gpr_16 | 0u); + ctx.gpr[20] = (ctx.gpr[16] | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(1712))); if (aot_gpr_4 == 0u) { ctx.gpr[20] = (ctx.gpr[17] | 0u); @@ -880,7 +881,7 @@ L_089D000C: } goto L_089D001C; L_089D001C: - ctx.gpr[31] = (0x089D0024u); + aot_gpr_31 = (0x089D0024u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(1712))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0114_entry, 114u, 649u, 0x089CF934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D0024u) goto L_089D0024; AOT_REGCACHE_SYNC_OUT(); return; @@ -893,7 +894,7 @@ L_089D0024: goto L_089D002C; } L_089D002C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 14u); aot_gpr_4 = (aot_gpr_4 ^ 4u); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); @@ -906,7 +907,7 @@ L_089D002C: goto L_089D0048; } L_089D0048: - ctx.gpr[20] = (aot_gpr_16 | 0u); + ctx.gpr[20] = (ctx.gpr[16] | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(596))); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -916,7 +917,7 @@ L_089D0048: goto L_089D0058; } L_089D0058: - ctx.gpr[31] = (0x089D0060u); + aot_gpr_31 = (0x089D0060u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(596))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0114_entry, 114u, 649u, 0x089CF934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D0060u) goto L_089D0060; AOT_REGCACHE_SYNC_OUT(); return; @@ -929,7 +930,7 @@ L_089D0060: goto L_089D006C; L_089D006C: ctx.gpr[20] = (ctx.gpr[20] + static_cast(944)); - ctx.gpr[31] = (0x089D0078u); + aot_gpr_31 = (0x089D0078u); aot_gpr_4 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 387u, 0x08B0D970u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D0078u) goto L_089D0078; AOT_REGCACHE_SYNC_OUT(); return; @@ -942,7 +943,7 @@ L_089D0078: goto L_089D0084; L_089D0084: aot_gpr_4 = (ctx.gpr[20] | 0u); - ctx.gpr[31] = (0x089D0090u); + aot_gpr_31 = (0x089D0090u); aot_gpr_5 = (0u | 215u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 383u, 0x08B0D94Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D0090u) goto L_089D0090; AOT_REGCACHE_SYNC_OUT(); return; @@ -950,7 +951,7 @@ L_089D0090: ctx.gpr[20] = (ctx.gpr[17] | 0u); goto L_089D0094; L_089D0094: - ctx.gpr[31] = (0x089D009Cu); + aot_gpr_31 = (0x089D009Cu); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0114_entry, 114u, 680u, 0x089CFB28u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D009Cu) goto L_089D009C; AOT_REGCACHE_SYNC_OUT(); return; @@ -980,9 +981,9 @@ L_089D009C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_4 = (aot_gpr_4 + static_cast(400)); aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(44), aot_gpr_4); - aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(32), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(32), ctx.gpr[16]); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(60), static_cast(0u)); - { const bool branch_taken = aot_gpr_16 == 0u; + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_089D00F0; @@ -991,9 +992,9 @@ L_089D009C: } L_089D00E4: aot_gpr_5 = (ctx.gpr[17] + static_cast(32)); - ctx.gpr[31] = (0x089D00F0u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D00F0u) goto L_089D00F0; + aot_gpr_31 = (0x089D00F0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D00F0u) goto L_089D00F0; AOT_REGCACHE_SYNC_OUT(); return; L_089D00F0: aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(36), 0u); @@ -1002,7 +1003,7 @@ L_089D00F0: aot_gpr_4 = (16256u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(56), std::bit_cast(aot_fpr_12)); - { const bool branch_taken = aot_gpr_16 == 0u; + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_089D01E0; @@ -1010,7 +1011,7 @@ L_089D00F0: goto L_089D0110; } L_089D0110: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 14u); aot_gpr_4 = (aot_gpr_4 ^ 6u); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); @@ -1023,9 +1024,9 @@ L_089D0110: goto L_089D012C; } L_089D012C: - ctx.gpr[20] = (aot_gpr_16 | 0u); + ctx.gpr[20] = (ctx.gpr[16] | 0u); aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(1712), ctx.gpr[17]); - ctx.gpr[31] = (0x089D013Cu); + aot_gpr_31 = (0x089D013Cu); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D013Cu) goto L_089D013C; AOT_REGCACHE_SYNC_OUT(); return; @@ -1055,7 +1056,7 @@ L_089D0144: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_5); aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_5 = (aot_gpr_29 | 0u); - ctx.gpr[31] = (0x089D0190u); + aot_gpr_31 = (0x089D0190u); aot_gpr_6 = (0u | 10000u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 779u, 0x0890B0A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D0190u) goto L_089D0190; AOT_REGCACHE_SYNC_OUT(); return; @@ -1066,14 +1067,14 @@ L_089D0190: aot_gpr_4 = (ctx.gpr[20] + aot_gpr_4); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); jump_target = aot_gpr_6; - ctx.gpr[31] = (0x089D01ACu); + aot_gpr_31 = (0x089D01ACu); aot_gpr_5 = (0u | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D01ACu) goto L_089D01AC; AOT_REGCACHE_SYNC_OUT(); return; L_089D01AC: aot_gpr_4 = (ctx.gpr[20] | 0u); - ctx.gpr[31] = (0x089D01B8u); + aot_gpr_31 = (0x089D01B8u); aot_gpr_5 = (0u | 32u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 240u, 0x08908D60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D01B8u) goto L_089D01B8; AOT_REGCACHE_SYNC_OUT(); return; @@ -1086,7 +1087,7 @@ L_089D01B8: goto L_089D01C0; } L_089D01C0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 14u); aot_gpr_4 = (aot_gpr_4 ^ 4u); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); @@ -1099,7 +1100,7 @@ L_089D01C0: goto L_089D01DC; } L_089D01DC: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(596), ctx.gpr[17]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(596), ctx.gpr[17]); goto L_089D01E0; L_089D01E0: aot_gpr_4 = (ctx.gpr[18] + static_cast(16)); @@ -1113,14 +1114,14 @@ L_089D01E0: { std::uint32_t aot_run_words[7]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(32), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); - aot_gpr_16 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[1]; ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; ctx.gpr[19] = aot_run_words[4]; ctx.gpr[20] = aot_run_words[5]; - ctx.gpr[31] = aot_run_words[6]; + aot_gpr_31 = aot_run_words[6]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(64)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -1128,11 +1129,11 @@ L_089D01E0: AOT_REGCACHE_SYNC_OUT(); return; L_089D0224: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[4]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(16), aot_run_words); } ctx.gpr[18] = (0u | 0u); ctx.gpr[17] = (aot_gpr_4 | 0u); - aot_gpr_16 = (ctx.gpr[17] + static_cast(16)); + ctx.gpr[16] = (ctx.gpr[17] + static_cast(16)); goto L_089D0244; L_089D0244: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(16))); @@ -1144,15 +1145,15 @@ L_089D0244: goto L_089D0250; } L_089D0250: - ctx.gpr[31] = (0x089D0258u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_31 = (0x089D0258u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_089D0634; L_089D0258: ctx.gpr[18] = (ctx.gpr[18] + static_cast(1)); ctx.gpr[17] = (ctx.gpr[17] + static_cast(64)); aot_gpr_4 = (static_cast(ctx.gpr[18]) < 40 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_16 = (aot_gpr_16 + static_cast(64)); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(64)); if (branch_taken) { goto L_089D0244; } @@ -1161,12 +1162,12 @@ L_089D0258: L_089D026C: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; - ctx.gpr[31] = aot_run_words[3]; + aot_gpr_31 = aot_run_words[3]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -1174,9 +1175,9 @@ L_089D026C: AOT_REGCACHE_SYNC_OUT(); return; L_089D0284: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - { const std::uint32_t aot_run_words[6]{std::bit_cast(aot_fpr_20), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[6]{std::bit_cast(aot_fpr_20), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - aot_gpr_16 = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); ctx.gpr[19] = (0u | 0u); { const float fs = aot_fpr_12; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_20 = std::bit_cast(0x7FC00000u); else aot_fpr_20 = fs * ft; } ctx.gpr[18] = (aot_gpr_4 | 0u); @@ -1192,16 +1193,16 @@ L_089D02B4: goto L_089D02C0; } L_089D02C0: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(32))); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; { const float fs = aot_fpr_12; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(36))); aot_fpr_14 = aot_fpr_14 - ctx.fpr[15]; { const float fs = aot_fpr_14; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } aot_fpr_12 = aot_fpr_12 + aot_fpr_14; - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(8))); ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(40))); aot_fpr_13 = aot_fpr_13 - ctx.fpr[16]; { const float fs = aot_fpr_13; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } @@ -1216,7 +1217,7 @@ L_089D02C0: goto L_089D0308; } L_089D0308: - ctx.gpr[31] = (0x089D0310u); + aot_gpr_31 = (0x089D0310u); aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0114_entry, 114u, 649u, 0x089CF934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D0310u) goto L_089D0310; AOT_REGCACHE_SYNC_OUT(); return; @@ -1235,13 +1236,13 @@ L_089D0324: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); - aot_gpr_16 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[1]; ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; ctx.gpr[19] = aot_run_words[4]; - ctx.gpr[31] = aot_run_words[5]; + aot_gpr_31 = aot_run_words[5]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -1253,7 +1254,7 @@ L_089D0344: aot_gpr_5 = (aot_gpr_5 << 6u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); ctx.gpr[2] = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(16))); - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; ctx.gpr[2] = (ctx.gpr[2] < static_cast(1) ? 1u : 0u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -1261,21 +1262,21 @@ L_089D0344: AOT_REGCACHE_SYNC_OUT(); return; L_089D0360: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_5 = (aot_gpr_5 << 16u); aot_gpr_5 = (static_cast(static_cast(aot_gpr_5) >> 16u)); aot_gpr_5 = (aot_gpr_5 << 6u); - aot_gpr_16 = (aot_gpr_4 + aot_gpr_5); - ctx.gpr[31] = (0x089D0384u); - aot_gpr_4 = (aot_gpr_16 + static_cast(16)); + ctx.gpr[16] = (aot_gpr_4 + aot_gpr_5); + aot_gpr_31 = (0x089D0384u); + aot_gpr_4 = (ctx.gpr[16] + static_cast(16)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0114_entry, 114u, 649u, 0x089CF934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D0384u) goto L_089D0384; AOT_REGCACHE_SYNC_OUT(); return; L_089D0384: - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(17), static_cast(0u)); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); - jump_target = ctx.gpr[31]; + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(17), static_cast(0u)); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -1283,11 +1284,11 @@ L_089D0384: AOT_REGCACHE_SYNC_OUT(); return; L_089D0398: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[4]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } ctx.gpr[18] = (0u | 0u); ctx.gpr[17] = (aot_gpr_4 | 0u); - aot_gpr_16 = (ctx.gpr[17] + static_cast(16)); + ctx.gpr[16] = (ctx.gpr[17] + static_cast(16)); goto L_089D03B8; L_089D03B8: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(17))); @@ -1299,8 +1300,8 @@ L_089D03B8: goto L_089D03C4; } L_089D03C4: - ctx.gpr[31] = (0x089D03CCu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_31 = (0x089D03CCu); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0114_entry, 114u, 649u, 0x089CF934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D03CCu) goto L_089D03CC; AOT_REGCACHE_SYNC_OUT(); return; L_089D03CC: @@ -1311,7 +1312,7 @@ L_089D03D0: ctx.gpr[17] = (ctx.gpr[17] + static_cast(64)); aot_gpr_4 = (static_cast(ctx.gpr[18]) < 40 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_16 = (aot_gpr_16 + static_cast(64)); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(64)); if (branch_taken) { goto L_089D03B8; } @@ -1320,12 +1321,12 @@ L_089D03D0: L_089D03E4: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; - ctx.gpr[31] = aot_run_words[3]; + aot_gpr_31 = aot_run_words[3]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -1333,11 +1334,11 @@ L_089D03E4: AOT_REGCACHE_SYNC_OUT(); return; L_089D03FC: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[4]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } ctx.gpr[18] = (0u | 0u); ctx.gpr[17] = (aot_gpr_4 | 0u); - aot_gpr_16 = (ctx.gpr[17] + static_cast(16)); + ctx.gpr[16] = (ctx.gpr[17] + static_cast(16)); goto L_089D041C; L_089D041C: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(16))); @@ -1349,8 +1350,8 @@ L_089D041C: goto L_089D0428; } L_089D0428: - ctx.gpr[31] = (0x089D0430u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_31 = (0x089D0430u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0114_entry, 114u, 649u, 0x089CF934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D0430u) goto L_089D0430; AOT_REGCACHE_SYNC_OUT(); return; L_089D0430: @@ -1358,7 +1359,7 @@ L_089D0430: ctx.gpr[17] = (ctx.gpr[17] + static_cast(64)); aot_gpr_4 = (static_cast(ctx.gpr[18]) < 40 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_16 = (aot_gpr_16 + static_cast(64)); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(64)); if (branch_taken) { goto L_089D041C; } @@ -1367,12 +1368,12 @@ L_089D0430: L_089D0444: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; - ctx.gpr[31] = aot_run_words[3]; + aot_gpr_31 = aot_run_words[3]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -1383,16 +1384,16 @@ L_089D045C: aot_gpr_6 = (aot_mem.aot_direct_load_word_right(aot_gpr_4 + static_cast(0), aot_gpr_6)); aot_fpr_12 = std::bit_cast(aot_gpr_6); aot_gpr_6 = (aot_gpr_4 + static_cast(4)); - ctx.gpr[7] = (aot_mem.aot_direct_load_word_left(aot_gpr_6 + static_cast(3), ctx.gpr[7])); - ctx.gpr[7] = (aot_mem.aot_direct_load_word_right(aot_gpr_6 + static_cast(0), ctx.gpr[7])); - aot_fpr_13 = std::bit_cast(ctx.gpr[7]); + aot_gpr_7 = (aot_mem.aot_direct_load_word_left(aot_gpr_6 + static_cast(3), aot_gpr_7)); + aot_gpr_7 = (aot_mem.aot_direct_load_word_right(aot_gpr_6 + static_cast(0), aot_gpr_7)); + aot_fpr_13 = std::bit_cast(aot_gpr_7); aot_gpr_4 = (aot_gpr_4 + static_cast(8)); aot_gpr_6 = (aot_mem.aot_direct_load_word_left(aot_gpr_4 + static_cast(3), aot_gpr_6)); aot_gpr_6 = (aot_mem.aot_direct_load_word_right(aot_gpr_4 + static_cast(0), aot_gpr_6)); aot_fpr_14 = std::bit_cast(aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(4), std::bit_cast(aot_fpr_13)); - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(8), std::bit_cast(aot_fpr_14)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -1400,12 +1401,12 @@ L_089D045C: AOT_REGCACHE_SYNC_OUT(); return; L_089D0498: aot_gpr_29 = (aot_gpr_29 + static_cast(-64)); - { const std::uint32_t aot_run_words[6]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[6]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(32), aot_run_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), aot_gpr_6); - aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_4 = (aot_mem.aot_direct_load_word_right(aot_gpr_16 + static_cast(22), aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load_word_left(aot_gpr_16 + static_cast(25), aot_gpr_4)); + ctx.gpr[16] = (aot_gpr_4 | 0u); + aot_gpr_4 = (aot_mem.aot_direct_load_word_right(ctx.gpr[16] + static_cast(22), aot_gpr_4)); + aot_gpr_4 = (aot_mem.aot_direct_load_word_left(ctx.gpr[16] + static_cast(25), aot_gpr_4)); aot_gpr_4 = (aot_gpr_4 << 16u); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 16u)); ctx.gpr[20] = (0u + static_cast(-1)); @@ -1417,8 +1418,8 @@ L_089D0498: goto L_089D04D8; } L_089D04D8: - aot_gpr_4 = (aot_mem.aot_direct_load_word_right(aot_gpr_16 + static_cast(20), aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load_word_left(aot_gpr_16 + static_cast(23), aot_gpr_4)); + aot_gpr_4 = (aot_mem.aot_direct_load_word_right(ctx.gpr[16] + static_cast(20), aot_gpr_4)); + aot_gpr_4 = (aot_mem.aot_direct_load_word_left(ctx.gpr[16] + static_cast(23), aot_gpr_4)); aot_gpr_4 = (aot_gpr_4 << 16u); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 16u)); { const bool branch_taken = aot_gpr_4 == ctx.gpr[20]; @@ -1429,8 +1430,8 @@ L_089D04D8: goto L_089D04F0; } L_089D04F0: - aot_gpr_4 = (aot_mem.aot_direct_load_word_right(aot_gpr_16 + static_cast(22), aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load_word_left(aot_gpr_16 + static_cast(25), aot_gpr_4)); + aot_gpr_4 = (aot_mem.aot_direct_load_word_right(ctx.gpr[16] + static_cast(22), aot_gpr_4)); + aot_gpr_4 = (aot_mem.aot_direct_load_word_left(ctx.gpr[16] + static_cast(25), aot_gpr_4)); aot_gpr_4 = (aot_gpr_4 << 16u); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 16u)); { const bool branch_taken = aot_gpr_4 == ctx.gpr[20]; @@ -1443,11 +1444,11 @@ L_089D04F0: L_089D0508: aot_gpr_4 = (2237u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); - aot_gpr_6 = (aot_mem.aot_direct_load_word_right(aot_gpr_16 + static_cast(22), aot_gpr_6)); - aot_gpr_6 = (aot_mem.aot_direct_load_word_left(aot_gpr_16 + static_cast(25), aot_gpr_6)); + aot_gpr_6 = (aot_mem.aot_direct_load_word_right(ctx.gpr[16] + static_cast(22), aot_gpr_6)); + aot_gpr_6 = (aot_mem.aot_direct_load_word_left(ctx.gpr[16] + static_cast(25), aot_gpr_6)); aot_gpr_6 = (aot_gpr_6 << 16u); aot_gpr_6 = (static_cast(static_cast(aot_gpr_6) >> 16u)); - ctx.gpr[31] = (0x089D0528u); + aot_gpr_31 = (0x089D0528u); aot_gpr_5 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 192u, 0x08ADCA6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D0528u) goto L_089D0528; AOT_REGCACHE_SYNC_OUT(); return; @@ -1464,8 +1465,8 @@ L_089D052C: goto L_089D0538; } L_089D0538: - aot_gpr_5 = (aot_mem.aot_direct_load_word_right(aot_gpr_16 + static_cast(20), aot_gpr_5)); - aot_gpr_5 = (aot_mem.aot_direct_load_word_left(aot_gpr_16 + static_cast(23), aot_gpr_5)); + aot_gpr_5 = (aot_mem.aot_direct_load_word_right(ctx.gpr[16] + static_cast(20), aot_gpr_5)); + aot_gpr_5 = (aot_mem.aot_direct_load_word_left(ctx.gpr[16] + static_cast(23), aot_gpr_5)); aot_gpr_5 = (aot_gpr_5 << 16u); aot_gpr_5 = (static_cast(static_cast(aot_gpr_5) >> 16u)); { const bool branch_taken = aot_gpr_5 != ctx.gpr[20]; @@ -1494,11 +1495,11 @@ L_089D0558: L_089D0560: aot_gpr_4 = (2237u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); - aot_gpr_6 = (aot_mem.aot_direct_load_word_right(aot_gpr_16 + static_cast(20), aot_gpr_6)); - aot_gpr_6 = (aot_mem.aot_direct_load_word_left(aot_gpr_16 + static_cast(23), aot_gpr_6)); + aot_gpr_6 = (aot_mem.aot_direct_load_word_right(ctx.gpr[16] + static_cast(20), aot_gpr_6)); + aot_gpr_6 = (aot_mem.aot_direct_load_word_left(ctx.gpr[16] + static_cast(23), aot_gpr_6)); aot_gpr_6 = (aot_gpr_6 << 16u); aot_gpr_6 = (static_cast(static_cast(aot_gpr_6) >> 16u)); - ctx.gpr[31] = (0x089D0580u); + aot_gpr_31 = (0x089D0580u); aot_gpr_5 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 192u, 0x08ADCA6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D0580u) goto L_089D0580; AOT_REGCACHE_SYNC_OUT(); return; @@ -1515,22 +1516,22 @@ L_089D0584: } goto L_089D0598; L_089D0598: - ctx.gpr[7] = (0u | 0u); + aot_gpr_7 = (0u | 0u); if (aot_gpr_4 != 0u) { - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(112))); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(112))); goto L_089D05A4; } goto L_089D05A4; L_089D05A4: - ctx.gpr[1] = (aot_mem.aot_direct_load_word_right(aot_gpr_16 + static_cast(15), ctx.gpr[1])); - ctx.gpr[1] = (aot_mem.aot_direct_load_word_left(aot_gpr_16 + static_cast(18), ctx.gpr[1])); + ctx.gpr[1] = (aot_mem.aot_direct_load_word_right(ctx.gpr[16] + static_cast(15), ctx.gpr[1])); + ctx.gpr[1] = (aot_mem.aot_direct_load_word_left(ctx.gpr[16] + static_cast(18), ctx.gpr[1])); aot_fpr_12 = std::bit_cast(ctx.gpr[1]); - aot_gpr_8 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(19))); + ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(19))); aot_gpr_4 = (aot_gpr_6 | 0u); - aot_gpr_6 = (ctx.gpr[7] | 0u); - ctx.gpr[7] = (aot_gpr_8 | 0u); - ctx.gpr[31] = (0x089D05C8u); - aot_gpr_8 = (0u | 0u); + aot_gpr_6 = (aot_gpr_7 | 0u); + aot_gpr_7 = (ctx.gpr[8] | 0u); + aot_gpr_31 = (0x089D05C8u); + ctx.gpr[8] = (0u | 0u); goto L_089D1074; L_089D05C8: { const bool branch_taken = 0u == 0u; @@ -1541,8 +1542,8 @@ L_089D05C8: goto L_089D05D0; } L_089D05D0: - aot_gpr_4 = (aot_gpr_16 + static_cast(3)); - ctx.gpr[31] = (0x089D05DCu); + aot_gpr_4 = (ctx.gpr[16] + static_cast(3)); + aot_gpr_31 = (0x089D05DCu); aot_gpr_5 = (aot_gpr_29 | 0u); goto L_089D045C; L_089D05DC: @@ -1575,26 +1576,26 @@ L_089D05DC: const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - ctx.gpr[1] = (aot_mem.aot_direct_load_word_right(aot_gpr_16 + static_cast(15), ctx.gpr[1])); - ctx.gpr[1] = (aot_mem.aot_direct_load_word_left(aot_gpr_16 + static_cast(18), ctx.gpr[1])); + ctx.gpr[1] = (aot_mem.aot_direct_load_word_right(ctx.gpr[16] + static_cast(15), ctx.gpr[1])); + ctx.gpr[1] = (aot_mem.aot_direct_load_word_left(ctx.gpr[16] + static_cast(18), ctx.gpr[1])); aot_fpr_12 = std::bit_cast(ctx.gpr[1]); - aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(19))); + aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(19))); aot_gpr_5 = (aot_gpr_29 | 0u); - ctx.gpr[31] = (0x089D0614u); - ctx.gpr[7] = (0u | 0u); + aot_gpr_31 = (0x089D0614u); + aot_gpr_7 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0114_entry, 114u, 710u, 0x089CFED4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D0614u) goto L_089D0614; AOT_REGCACHE_SYNC_OUT(); return; L_089D0614: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(32), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; - ctx.gpr[31] = aot_run_words[5]; + aot_gpr_31 = aot_run_words[5]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(64)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -1602,7 +1603,7 @@ L_089D0614: AOT_REGCACHE_SYNC_OUT(); return; L_089D0634: aot_gpr_29 = (aot_gpr_29 + static_cast(-400)); - { const std::uint32_t aot_run_words[8]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[8]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(356), aot_run_words); } aot_gpr_5 = (16256u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_5); @@ -1613,7 +1614,7 @@ L_089D0634: ctx.fpr[15] = std::bit_cast(aot_gpr_5); { const float fs = aot_fpr_14; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } aot_fpr_12 = aot_fpr_12 + aot_fpr_14; - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 < aot_fpr_12)) ? 0x00800000u : 0u); // nop if (((ctx.fcr31 & 0x00800000u) != 0u)) { @@ -1622,8 +1623,8 @@ L_089D0634: } goto L_089D0690; L_089D0690: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), std::bit_cast(aot_fpr_12)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(32))); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(56), std::bit_cast(aot_fpr_12)); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(32))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -1632,7 +1633,7 @@ L_089D0690: goto L_089D06A0; } L_089D06A0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(32))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(32))); aot_gpr_4 = (aot_gpr_4 + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; @@ -1643,12 +1644,12 @@ L_089D06A0: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_4 = (aot_gpr_16 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(16)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(32))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(32))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 14u); aot_gpr_4 = (aot_gpr_4 >> 1u); @@ -1661,7 +1662,7 @@ L_089D06A0: goto L_089D06D0; } L_089D06D0: - ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(32))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(32))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(236))); aot_gpr_4 = (aot_gpr_4 & 256u); aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); @@ -1675,7 +1676,7 @@ L_089D06D0: } L_089D06EC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1712))); - { const bool branch_taken = aot_gpr_4 != aot_gpr_16; + { const bool branch_taken = aot_gpr_4 != ctx.gpr[16]; // nop if (branch_taken) { goto L_089D0710; @@ -1701,8 +1702,8 @@ L_089D0708: goto L_089D0710; } L_089D0710: - ctx.gpr[31] = (0x089D0718u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_31 = (0x089D0718u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0114_entry, 114u, 649u, 0x089CF934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D0718u) goto L_089D0718; AOT_REGCACHE_SYNC_OUT(); return; L_089D0718: @@ -1714,7 +1715,7 @@ L_089D0718: goto L_089D0720; } L_089D0720: - aot_gpr_4 = (aot_gpr_16 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(16)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -1729,14 +1730,14 @@ L_089D0720: const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - ctx.gpr[31] = (0x089D0738u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_31 = (0x089D0738u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0114_entry, 114u, 649u, 0x089CF934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D0738u) goto L_089D0738; AOT_REGCACHE_SYNC_OUT(); return; L_089D0738: - ctx.gpr[31] = (0x089D0740u); + aot_gpr_31 = (0x089D0740u); aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(80))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D0740u) goto L_089D0740; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D0740u) goto L_089D0740; AOT_REGCACHE_SYNC_OUT(); return; L_089D0740: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -1750,9 +1751,9 @@ L_089D0740: { const float fs = aot_fpr_12; const float ft = ctx.fpr[22]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = aot_fpr_20 + aot_fpr_12; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(80), std::bit_cast(aot_fpr_12)); - ctx.gpr[31] = (0x089D0774u); + aot_gpr_31 = (0x089D0774u); ctx.fpr[24] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(84))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D0774u) goto L_089D0774; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D0774u) goto L_089D0774; AOT_REGCACHE_SYNC_OUT(); return; L_089D0774: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -1763,9 +1764,9 @@ L_089D0774: { const float fs = aot_fpr_12; const float ft = ctx.fpr[22]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = ctx.fpr[24] + aot_fpr_12; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(84), std::bit_cast(aot_fpr_12)); - ctx.gpr[31] = (0x089D079Cu); + aot_gpr_31 = (0x089D079Cu); aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(88))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D079Cu) goto L_089D079C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D079Cu) goto L_089D079C; AOT_REGCACHE_SYNC_OUT(); return; L_089D079C: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -1785,17 +1786,17 @@ L_089D079C: aot_gpr_4 = (aot_gpr_4 | 52429u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(72), std::bit_cast(aot_fpr_12)); - aot_gpr_16 = (aot_gpr_29 + static_cast(64)); + ctx.gpr[16] = (aot_gpr_29 + static_cast(64)); aot_gpr_4 = (16128u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (0u | 31u); aot_gpr_5 = (ctx.gpr[17] | 0u); - aot_gpr_6 = (aot_gpr_16 | 0u); - ctx.gpr[7] = (0u | 0u); - aot_gpr_8 = (0u | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); + aot_gpr_7 = (0u | 0u); + ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); - ctx.gpr[31] = (0x089D0810u); + aot_gpr_31 = (0x089D0810u); ctx.gpr[11] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0062_entry, 62u, 716u, 0x088FF060u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D0810u) goto L_089D0810; AOT_REGCACHE_SYNC_OUT(); return; @@ -1811,12 +1812,12 @@ L_089D0810: aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (0u | 31u); aot_gpr_5 = (ctx.gpr[17] | 0u); - aot_gpr_6 = (aot_gpr_16 | 0u); - ctx.gpr[7] = (0u | 0u); - aot_gpr_8 = (0u | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); + aot_gpr_7 = (0u | 0u); + ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); - ctx.gpr[31] = (0x089D0858u); + aot_gpr_31 = (0x089D0858u); ctx.gpr[11] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0062_entry, 62u, 716u, 0x088FF060u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D0858u) goto L_089D0858; AOT_REGCACHE_SYNC_OUT(); return; @@ -1829,14 +1830,14 @@ L_089D0858: goto L_089D0860; } L_089D0860: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(24))); aot_gpr_4 = (16256u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(24), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(24), std::bit_cast(aot_fpr_12)); goto L_089D0874; L_089D0874: - ctx.gpr[31] = (0x089D087Cu); + aot_gpr_31 = (0x089D087Cu); aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 195u, 0x08910B38u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D087Cu) goto L_089D087C; AOT_REGCACHE_SYNC_OUT(); return; @@ -1879,7 +1880,7 @@ L_089D08A0: goto L_089D08B4; } L_089D08B4: - ctx.gpr[31] = (0x089D08BCu); + aot_gpr_31 = (0x089D08BCu); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D08BCu) goto L_089D08BC; AOT_REGCACHE_SYNC_OUT(); return; @@ -1892,7 +1893,7 @@ L_089D08BC: goto L_089D08C4; } L_089D08C4: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(36))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(36))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); aot_gpr_4 = (16281u << 16u); aot_gpr_4 = (aot_gpr_4 | 39322u); @@ -1900,9 +1901,9 @@ L_089D08C4: { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_6 = (0u | 33u); - ctx.gpr[7] = (0u | 0u); - aot_gpr_8 = (0u | 0u); - ctx.gpr[31] = (0x089D08F4u); + aot_gpr_7 = (0u | 0u); + ctx.gpr[8] = (0u | 0u); + aot_gpr_31 = (0x089D08F4u); ctx.gpr[9] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0057_entry, 57u, 692u, 0x088EB674u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D08F4u) goto L_089D08F4; AOT_REGCACHE_SYNC_OUT(); return; @@ -1915,7 +1916,7 @@ L_089D08F4: goto L_089D08FC; } L_089D08FC: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(36))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(36))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); aot_gpr_4 = (16281u << 16u); aot_gpr_4 = (aot_gpr_4 | 39322u); @@ -1923,9 +1924,9 @@ L_089D08FC: { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_6 = (0u | 33u); - ctx.gpr[7] = (0u | 0u); - aot_gpr_8 = (0u | 0u); - ctx.gpr[31] = (0x089D092Cu); + aot_gpr_7 = (0u | 0u); + ctx.gpr[8] = (0u | 0u); + aot_gpr_31 = (0x089D092Cu); ctx.gpr[9] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0057_entry, 57u, 692u, 0x088EB674u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D092Cu) goto L_089D092C; AOT_REGCACHE_SYNC_OUT(); return; @@ -1952,7 +1953,7 @@ L_089D0944: goto L_089D094C; } L_089D094C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(32))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(32))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 14u); aot_gpr_4 = (aot_gpr_4 >> 1u); @@ -1965,9 +1966,9 @@ L_089D094C: goto L_089D0968; } L_089D0968: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(32))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(32))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(596))); - { const bool branch_taken = aot_gpr_4 != aot_gpr_16; + { const bool branch_taken = aot_gpr_4 != ctx.gpr[16]; // nop if (branch_taken) { goto L_089D09C4; @@ -1975,7 +1976,7 @@ L_089D0968: goto L_089D0978; } L_089D0978: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(1))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -1984,8 +1985,8 @@ L_089D0978: goto L_089D0984; } L_089D0984: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(32))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(36))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(32))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(36))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); aot_gpr_6 = (16281u << 16u); aot_gpr_6 = (aot_gpr_6 | 39322u); @@ -1994,8 +1995,8 @@ L_089D0984: aot_fpr_14 = std::bit_cast(0u); { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_14), std::bit_cast(aot_fpr_14), std::bit_cast(aot_fpr_14)}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(32), aot_run_words); } - ctx.gpr[7] = (aot_gpr_29 + static_cast(32)); - ctx.gpr[31] = (0x089D09BCu); + aot_gpr_7 = (aot_gpr_29 + static_cast(32)); + aot_gpr_31 = (0x089D09BCu); aot_gpr_6 = (0u | 33u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0192_entry, 192u, 71u, 0x08B0452Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D09BCu) goto L_089D09BC; AOT_REGCACHE_SYNC_OUT(); return; @@ -2008,8 +2009,8 @@ L_089D09BC: goto L_089D09C4; } L_089D09C4: - ctx.gpr[31] = (0x089D09CCu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_31 = (0x089D09CCu); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0114_entry, 114u, 649u, 0x089CF934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D09CCu) goto L_089D09CC; AOT_REGCACHE_SYNC_OUT(); return; L_089D09CC: @@ -2021,7 +2022,7 @@ L_089D09CC: goto L_089D09D4; } L_089D09D4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(32))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(32))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 14u); aot_gpr_4 = (aot_gpr_4 ^ 8u); @@ -2035,9 +2036,9 @@ L_089D09D4: goto L_089D09F4; } L_089D09F4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(32))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(32))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(452))); - { const bool branch_taken = aot_gpr_4 != aot_gpr_16; + { const bool branch_taken = aot_gpr_4 != ctx.gpr[16]; // nop if (branch_taken) { goto L_089D0A18; @@ -2045,9 +2046,9 @@ L_089D09F4: goto L_089D0A04; } L_089D0A04: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(1))); if (aot_gpr_4 == 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(32))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(32))); goto L_089D0A28; } goto L_089D0A10; @@ -2060,8 +2061,8 @@ L_089D0A10: goto L_089D0A18; } L_089D0A18: - ctx.gpr[31] = (0x089D0A20u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_31 = (0x089D0A20u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0114_entry, 114u, 649u, 0x089CF934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D0A20u) goto L_089D0A20; AOT_REGCACHE_SYNC_OUT(); return; L_089D0A20: @@ -2084,17 +2085,17 @@ L_089D0A28: goto L_089D0A3C; } L_089D0A3C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(32))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(32))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); aot_gpr_5 = (16384u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_5); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - ctx.gpr[31] = (0x089D0A58u); + aot_gpr_31 = (0x089D0A58u); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0010_entry, 10u, 108u, 0x0882C728u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D0A58u) goto L_089D0A58; AOT_REGCACHE_SYNC_OUT(); return; L_089D0A58: - ctx.gpr[31] = (0x089D0A60u); + aot_gpr_31 = (0x089D0A60u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D0A60u) goto L_089D0A60; AOT_REGCACHE_SYNC_OUT(); return; @@ -2107,7 +2108,7 @@ L_089D0A60: goto L_089D0A68; } L_089D0A68: - ctx.gpr[31] = (0x089D0A70u); + aot_gpr_31 = (0x089D0A70u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D0A70u) goto L_089D0A70; AOT_REGCACHE_SYNC_OUT(); return; @@ -2121,7 +2122,7 @@ L_089D0A70: goto L_089D0A7C; } L_089D0A7C: - ctx.gpr[31] = (0x089D0A84u); + aot_gpr_31 = (0x089D0A84u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D0A84u) goto L_089D0A84; AOT_REGCACHE_SYNC_OUT(); return; @@ -2137,7 +2138,7 @@ L_089D0A84: goto L_089D0A98; } L_089D0A98: - ctx.gpr[31] = (0x089D0AA0u); + aot_gpr_31 = (0x089D0AA0u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D0AA0u) goto L_089D0AA0; AOT_REGCACHE_SYNC_OUT(); return; @@ -2152,7 +2153,7 @@ L_089D0AA0: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_4 = (aot_gpr_16 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(16)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -2206,34 +2207,34 @@ L_089D0AA0: goto L_089D0AF0; } L_089D0AF0: - ctx.gpr[31] = (0x089D0AF8u); + aot_gpr_31 = (0x089D0AF8u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D0AF8u) goto L_089D0AF8; AOT_REGCACHE_SYNC_OUT(); return; L_089D0AF8: - ctx.gpr[31] = (0x089D0B00u); + aot_gpr_31 = (0x089D0B00u); aot_gpr_4 = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 665u, 0x089474ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D0B00u) goto L_089D0B00; AOT_REGCACHE_SYNC_OUT(); return; L_089D0B00: aot_gpr_4 = (2238u << 16u); - ctx.gpr[31] = (0x089D0B0Cu); + aot_gpr_31 = (0x089D0B0Cu); ctx.gpr[17] = (aot_gpr_4 + static_cast(14864)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D0B0Cu) goto L_089D0B0C; AOT_REGCACHE_SYNC_OUT(); return; L_089D0B0C: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(36))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(36))); aot_gpr_4 = (16204u << 16u); aot_gpr_4 = (aot_gpr_4 | 52429u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[2] | 0u); - ctx.gpr[7] = (0u | 1u); - ctx.gpr[31] = (0x089D0B30u); - aot_gpr_8 = (0u | 1u); + aot_gpr_7 = (0u | 1u); + aot_gpr_31 = (0x089D0B30u); + ctx.gpr[8] = (0u | 1u); goto L_089D1074; L_089D0B30: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(48))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(48))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_4 = (aot_gpr_4 < aot_gpr_5 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; @@ -2244,7 +2245,7 @@ L_089D0B30: goto L_089D0B44; } L_089D0B44: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(56))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(56))); aot_gpr_4 = (16025u << 16u); aot_gpr_4 = (aot_gpr_4 | 39322u); aot_fpr_13 = std::bit_cast(aot_gpr_4); @@ -2261,14 +2262,14 @@ L_089D0B64: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_4 = (aot_gpr_4 + static_cast(400)); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(48), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(48), aot_gpr_4); if (branch_taken) { goto L_089D0BB0; } goto L_089D0B74; } L_089D0B74: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(56))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(56))); aot_gpr_4 = (16179u << 16u); aot_gpr_4 = (aot_gpr_4 | 13107u); aot_fpr_13 = std::bit_cast(aot_gpr_4); @@ -2285,7 +2286,7 @@ L_089D0B94: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_4 = (aot_gpr_4 + static_cast(200)); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(48), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(48), aot_gpr_4); if (branch_taken) { goto L_089D0BB0; } @@ -2294,10 +2295,10 @@ L_089D0B94: L_089D0BA4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_4 = (aot_gpr_4 + static_cast(80)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(48), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(48), aot_gpr_4); goto L_089D0BB0; L_089D0BB0: - aot_gpr_4 = (aot_gpr_16 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(16)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -2312,8 +2313,8 @@ L_089D0BB0: const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(52))); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(32))); + aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(52))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(32))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -2322,7 +2323,7 @@ L_089D0BB0: goto L_089D0BD0; } L_089D0BD0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(32))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(32))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 14u); aot_gpr_4 = (aot_gpr_4 ^ 4u); @@ -2336,7 +2337,7 @@ L_089D0BD0: goto L_089D0BF0; } L_089D0BF0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(32))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(32))); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(86)))))); aot_gpr_5 = (0u | 198u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; @@ -2348,7 +2349,7 @@ L_089D0BF0: } L_089D0C04: ctx.gpr[17] = (aot_gpr_29 + static_cast(192)); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(32))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(32))); aot_fpr_12 = std::bit_cast(0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(208), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (49024u << 16u); @@ -2356,7 +2357,7 @@ L_089D0C04: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(212), std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(216), std::bit_cast(aot_fpr_12)); aot_gpr_6 = (aot_gpr_29 + static_cast(208)); - ctx.gpr[31] = (0x089D0C30u); + aot_gpr_31 = (0x089D0C30u); aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0114_entry, 114u, 601u, 0x089CF564u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D0C30u) goto L_089D0C30; AOT_REGCACHE_SYNC_OUT(); return; @@ -2389,7 +2390,7 @@ L_089D0C30: goto L_089D0C5C; } L_089D0C5C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(32))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(32))); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(86)))))); aot_gpr_5 = (0u | 222u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; @@ -2401,7 +2402,7 @@ L_089D0C5C: } L_089D0C70: ctx.gpr[17] = (aot_gpr_29 + static_cast(224)); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(32))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(32))); aot_fpr_12 = std::bit_cast(0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(240), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (16428u << 16u); @@ -2412,7 +2413,7 @@ L_089D0C70: aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(248), std::bit_cast(aot_fpr_12)); aot_gpr_6 = (aot_gpr_29 + static_cast(240)); - ctx.gpr[31] = (0x089D0CA8u); + aot_gpr_31 = (0x089D0CA8u); aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0114_entry, 114u, 601u, 0x089CF564u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D0CA8u) goto L_089D0CA8; AOT_REGCACHE_SYNC_OUT(); return; @@ -2445,7 +2446,7 @@ L_089D0CA8: goto L_089D0CD4; } L_089D0CD4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(32))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(32))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(852))); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -2455,7 +2456,7 @@ L_089D0CD4: goto L_089D0CE4; } L_089D0CE4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(32))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(32))); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(86)))))); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); aot_gpr_6 = (static_cast(aot_gpr_5) < static_cast(aot_gpr_6) ? 1u : 0u); @@ -2489,9 +2490,9 @@ L_089D0D0C: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } ctx.gpr[18] = (aot_gpr_29 + static_cast(256)); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(32))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(32))); aot_gpr_4 = (ctx.gpr[18] | 0u); - ctx.gpr[31] = (0x089D0D30u); + aot_gpr_31 = (0x089D0D30u); aot_gpr_6 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0114_entry, 114u, 601u, 0x089CF564u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D0D30u) goto L_089D0D30; AOT_REGCACHE_SYNC_OUT(); return; @@ -2523,7 +2524,7 @@ L_089D0D30: goto L_089D0D58; } L_089D0D58: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(32))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(32))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(852))); aot_gpr_5 = (0u | 4u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; @@ -2535,7 +2536,7 @@ L_089D0D58: } L_089D0D6C: ctx.gpr[17] = (aot_gpr_29 + static_cast(272)); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(32))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(32))); aot_fpr_12 = std::bit_cast(0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(288), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (48896u << 16u); @@ -2545,7 +2546,7 @@ L_089D0D6C: aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(296), std::bit_cast(aot_fpr_12)); aot_gpr_6 = (aot_gpr_29 + static_cast(288)); - ctx.gpr[31] = (0x089D0DA0u); + aot_gpr_31 = (0x089D0DA0u); aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0114_entry, 114u, 601u, 0x089CF564u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D0DA0u) goto L_089D0DA0; AOT_REGCACHE_SYNC_OUT(); return; @@ -2582,9 +2583,9 @@ L_089D0DC4: aot_gpr_4 = (15820u << 16u); aot_gpr_4 = (aot_gpr_4 | 52429u); aot_fpr_13 = std::bit_cast(aot_gpr_4); - ctx.gpr[31] = (0x089D0DF4u); + aot_gpr_31 = (0x089D0DF4u); { const float fs = aot_fpr_20; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[26] = std::bit_cast(0x7FC00000u); else ctx.fpr[26] = fs * ft; } - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D0DF4u) goto L_089D0DF4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D0DF4u) goto L_089D0DF4; AOT_REGCACHE_SYNC_OUT(); return; L_089D0DF4: aot_fpr_14 = ctx.fpr[26] - ctx.fpr[24]; @@ -2595,12 +2596,12 @@ L_089D0DF4: aot_gpr_6 = (aot_gpr_29 + static_cast(160)); aot_gpr_4 = (0u | 27u); aot_gpr_5 = (ctx.gpr[17] | 0u); - ctx.gpr[7] = (0u | 0u); + aot_gpr_7 = (0u | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); - aot_gpr_8 = (0u | 0u); + ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); - ctx.gpr[31] = (0x089D0E30u); + aot_gpr_31 = (0x089D0E30u); ctx.gpr[11] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0062_entry, 62u, 716u, 0x088FF060u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D0E30u) goto L_089D0E30; AOT_REGCACHE_SYNC_OUT(); return; @@ -2624,9 +2625,9 @@ L_089D0E30: { const float fs = aot_fpr_20; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[24] = std::bit_cast(0x7FC00000u); else ctx.fpr[24] = fs * ft; } aot_gpr_4 = (16160u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); - ctx.gpr[31] = (0x089D0E58u); + aot_gpr_31 = (0x089D0E58u); { const float fs = aot_fpr_20; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[26] = std::bit_cast(0x7FC00000u); else ctx.fpr[26] = fs * ft; } - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D0E58u) goto L_089D0E58; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D0E58u) goto L_089D0E58; AOT_REGCACHE_SYNC_OUT(); return; L_089D0E58: aot_fpr_14 = ctx.fpr[26] - ctx.fpr[24]; @@ -2635,9 +2636,9 @@ L_089D0E58: ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(176))); aot_fpr_12 = ctx.fpr[15] + aot_fpr_12; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(176), std::bit_cast(aot_fpr_12)); - ctx.gpr[31] = (0x089D0E78u); + aot_gpr_31 = (0x089D0E78u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D0E78u) goto L_089D0E78; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D0E78u) goto L_089D0E78; AOT_REGCACHE_SYNC_OUT(); return; L_089D0E78: aot_fpr_12 = ctx.fpr[26] - ctx.fpr[24]; @@ -2648,9 +2649,9 @@ L_089D0E78: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(180), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (16416u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - ctx.gpr[31] = (0x089D0EA0u); + aot_gpr_31 = (0x089D0EA0u); { const float fs = aot_fpr_20; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_20 = std::bit_cast(0x7FC00000u); else aot_fpr_20 = fs * ft; } - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D0EA0u) goto L_089D0EA0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D0EA0u) goto L_089D0EA0; AOT_REGCACHE_SYNC_OUT(); return; L_089D0EA0: aot_fpr_14 = aot_fpr_20 - ctx.fpr[26]; @@ -2667,16 +2668,16 @@ L_089D0EA0: aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (0u | 57u); aot_gpr_5 = (ctx.gpr[17] | 0u); - ctx.gpr[7] = (0u | 0u); - aot_gpr_8 = (0u | 0u); + aot_gpr_7 = (0u | 0u); + ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); - ctx.gpr[31] = (0x089D0EF4u); + aot_gpr_31 = (0x089D0EF4u); ctx.gpr[11] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0062_entry, 62u, 716u, 0x088FF060u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D0EF4u) goto L_089D0EF4; AOT_REGCACHE_SYNC_OUT(); return; L_089D0EF4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(40))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(40))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_4 = (aot_gpr_5 < aot_gpr_4 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; @@ -2687,7 +2688,7 @@ L_089D0EF4: goto L_089D0F08; } L_089D0F08: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(1))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -2696,7 +2697,7 @@ L_089D0F08: goto L_089D0F14; } L_089D0F14: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(44))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(44))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_4 = (aot_gpr_4 < aot_gpr_5 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; @@ -2709,17 +2710,17 @@ L_089D0F14: L_089D0F28: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_4 = (aot_gpr_4 + static_cast(400)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(44), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(44), aot_gpr_4); goto L_089D0F34; L_089D0F34: - ctx.gpr[31] = (0x089D0F3Cu); + aot_gpr_31 = (0x089D0F3Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D0F3Cu) goto L_089D0F3C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D0F3Cu) goto L_089D0F3C; AOT_REGCACHE_SYNC_OUT(); return; L_089D0F3C: ctx.gpr[17] = (ctx.gpr[2] & 65535u); ctx.gpr[17] = (ctx.gpr[17] & 127u); - aot_gpr_4 = (aot_gpr_16 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(16)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -2739,7 +2740,7 @@ L_089D0F3C: aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), std::bit_cast(aot_fpr_12)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(32))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(32))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -2749,7 +2750,7 @@ L_089D0F3C: } L_089D0F74: aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-5048))); - ctx.gpr[7] = (aot_gpr_29 + static_cast(48)); + aot_gpr_7 = (aot_gpr_29 + static_cast(48)); aot_gpr_4 = (16608u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_13 = std::bit_cast(0u); @@ -2766,21 +2767,21 @@ L_089D0F74: ctx.fpr[17] = std::bit_cast(aot_gpr_4); aot_gpr_4 = (16928u << 16u); ctx.fpr[18] = std::bit_cast(aot_gpr_4); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 2u); aot_fpr_14 = std::bit_cast(std::bit_cast(aot_fpr_13)); - aot_gpr_8 = (0u | 0u); + ctx.gpr[8] = (0u | 0u); ctx.gpr[10] = (ctx.gpr[9] | 0u); ctx.gpr[11] = (0u | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); ctx.fpr[19] = std::bit_cast(std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), 0u); - ctx.gpr[31] = (0x089D0FE8u); + aot_gpr_31 = (0x089D0FE8u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), std::bit_cast(aot_fpr_13)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0164_entry, 164u, 490u, 0x08A97518u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D0FE8u) goto L_089D0FE8; AOT_REGCACHE_SYNC_OUT(); return; L_089D0FE8: - aot_gpr_4 = (aot_gpr_16 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(16)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -2808,9 +2809,9 @@ L_089D0FE8: { const float fs = aot_fpr_13; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_gpr_4 = (0u | 0u); aot_fpr_14 = std::bit_cast(std::bit_cast(aot_fpr_13)); - ctx.gpr[7] = (0u | 0u); - ctx.gpr[31] = (0x089D103Cu); - aot_gpr_8 = (0u | 0u); + aot_gpr_7 = (0u | 0u); + aot_gpr_31 = (0x089D103Cu); + ctx.gpr[8] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0200_entry, 200u, 403u, 0x08B25C64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D103Cu) goto L_089D103C; AOT_REGCACHE_SYNC_OUT(); return; L_089D103C: @@ -2822,8 +2823,8 @@ L_089D103C: goto L_089D1044; } L_089D1044: - ctx.gpr[31] = (0x089D104Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_31 = (0x089D104Cu); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0114_entry, 114u, 649u, 0x089CF934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D104Cu) goto L_089D104C; AOT_REGCACHE_SYNC_OUT(); return; L_089D104C: @@ -2833,12 +2834,12 @@ L_089D104C: ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); ctx.fpr[26] = std::bit_cast(aot_run_words[3]); - aot_gpr_16 = aot_run_words[4]; + ctx.gpr[16] = aot_run_words[4]; ctx.gpr[17] = aot_run_words[5]; ctx.gpr[18] = aot_run_words[6]; - ctx.gpr[31] = aot_run_words[7]; + aot_gpr_31 = aot_run_words[7]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(400)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -2846,20 +2847,20 @@ L_089D104C: AOT_REGCACHE_SYNC_OUT(); return; L_089D1074: aot_gpr_29 = (aot_gpr_29 + static_cast(-112)); - { const std::uint32_t aot_run_words[10]{std::bit_cast(aot_fpr_20), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[10]{std::bit_cast(aot_fpr_20), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(68), aot_run_words); } - ctx.gpr[18] = (ctx.gpr[7] & 255u); - ctx.gpr[19] = (aot_gpr_8 & 255u); + ctx.gpr[18] = (aot_gpr_7 & 255u); + ctx.gpr[19] = (ctx.gpr[8] & 255u); ctx.gpr[22] = (0u | 0u); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(72))); - ctx.gpr[7] = (ctx.gpr[7] & 14u); - ctx.gpr[7] = (ctx.gpr[7] ^ 6u); - ctx.gpr[7] = (ctx.gpr[7] < static_cast(1) ? 1u : 0u); - ctx.gpr[7] = (ctx.gpr[7] & 255u); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(72))); + aot_gpr_7 = (aot_gpr_7 & 14u); + aot_gpr_7 = (aot_gpr_7 ^ 6u); + aot_gpr_7 = (aot_gpr_7 < static_cast(1) ? 1u : 0u); + aot_gpr_7 = (aot_gpr_7 & 255u); ctx.gpr[20] = (aot_gpr_4 | 0u); - aot_gpr_16 = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); ctx.gpr[17] = (aot_gpr_6 | 0u); - { const bool branch_taken = ctx.gpr[7] == 0u; + { const bool branch_taken = aot_gpr_7 == 0u; aot_fpr_20 = std::bit_cast(std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_089D1120; @@ -2867,7 +2868,7 @@ L_089D1074: goto L_089D10D4; } L_089D10D4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1712))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1712))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -2876,8 +2877,8 @@ L_089D10D4: goto L_089D10E0; } L_089D10E0: - ctx.gpr[31] = (0x089D10E8u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_31 = (0x089D10E8u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 620u, 0x08906DE4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D10E8u) goto L_089D10E8; AOT_REGCACHE_SYNC_OUT(); return; L_089D10E8: @@ -2889,7 +2890,7 @@ L_089D10E8: goto L_089D10F0; } L_089D10F0: - ctx.gpr[31] = (0x089D10F8u); + aot_gpr_31 = (0x089D10F8u); aot_gpr_4 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0114_entry, 114u, 680u, 0x089CFB28u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D10F8u) goto L_089D10F8; AOT_REGCACHE_SYNC_OUT(); return; @@ -2928,7 +2929,7 @@ L_089D1118: goto L_089D1120; } L_089D1120: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 14u); aot_gpr_4 = (aot_gpr_4 ^ 8u); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); @@ -2941,7 +2942,7 @@ L_089D1120: goto L_089D113C; } L_089D113C: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(478)))))); { const bool branch_taken = static_cast(aot_gpr_5) <= 0; // nop @@ -2984,7 +2985,7 @@ L_089D1168: goto L_089D1170; } L_089D1170: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 14u); aot_gpr_4 = (aot_gpr_4 ^ 4u); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); @@ -2997,7 +2998,7 @@ L_089D1170: goto L_089D118C; } L_089D118C: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(596))); { const bool branch_taken = aot_gpr_5 != 0u; // nop @@ -3032,7 +3033,7 @@ L_089D11B0: goto L_089D11B8; } L_089D11B8: - ctx.gpr[31] = (0x089D11C0u); + aot_gpr_31 = (0x089D11C0u); aot_gpr_4 = (aot_gpr_4 + static_cast(944)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 387u, 0x08B0D970u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D11C0u) goto L_089D11C0; AOT_REGCACHE_SYNC_OUT(); return; @@ -3054,7 +3055,7 @@ L_089D11CC: goto L_089D11D4; } L_089D11D4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 14u); aot_gpr_4 = (aot_gpr_4 ^ 14u); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); @@ -3067,13 +3068,13 @@ L_089D11D4: goto L_089D11F0; } L_089D11F0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(352))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(352))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(108))); aot_gpr_5 = (aot_gpr_5 + static_cast(64)); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); jump_target = aot_gpr_5; - ctx.gpr[31] = (0x089D120Cu); + aot_gpr_31 = (0x089D120Cu); aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D120Cu) goto L_089D120C; @@ -3100,7 +3101,7 @@ L_089D121C: ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_089D1234: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(376))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(376))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -3125,7 +3126,7 @@ L_089D1248: goto L_089D1250; } L_089D1250: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(368))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(368))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -3134,7 +3135,7 @@ L_089D1250: goto L_089D125C; } L_089D125C: - ctx.gpr[21] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(352))); + ctx.gpr[21] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(352))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(96))); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -3162,7 +3163,7 @@ L_089D1274: L_089D127C: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[21] + static_cast(10)))))); aot_gpr_6 = (aot_gpr_29 + static_cast(48)); - ctx.gpr[31] = (0x089D128Cu); + aot_gpr_31 = (0x089D128Cu); aot_gpr_4 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D128Cu) goto L_089D128C; AOT_REGCACHE_SYNC_OUT(); return; @@ -3186,7 +3187,7 @@ L_089D129C: goto L_089D12B8; } L_089D12B8: - ctx.gpr[21] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(352))); + ctx.gpr[21] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(352))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(96))); { const bool branch_taken = aot_gpr_4 != 0u; ctx.gpr[23] = (0u | 5u); @@ -3198,7 +3199,7 @@ L_089D12B8: L_089D12C8: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[21] + static_cast(10)))))); aot_gpr_6 = (aot_gpr_29 + static_cast(49)); - ctx.gpr[31] = (0x089D12D8u); + aot_gpr_31 = (0x089D12D8u); aot_gpr_4 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D12D8u) goto L_089D12D8; AOT_REGCACHE_SYNC_OUT(); return; @@ -3245,7 +3246,7 @@ L_089D130C: aot_gpr_4 = (aot_gpr_4 << 6u); ctx.gpr[22] = (ctx.gpr[20] + aot_gpr_4); ctx.gpr[22] = (ctx.gpr[22] + static_cast(16)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 14u); aot_gpr_4 = (aot_gpr_4 ^ 6u); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); @@ -3258,9 +3259,9 @@ L_089D130C: goto L_089D1334; } L_089D1334: - ctx.gpr[20] = (aot_gpr_16 | 0u); + ctx.gpr[20] = (ctx.gpr[16] | 0u); aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(1712), ctx.gpr[22]); - ctx.gpr[31] = (0x089D1344u); + aot_gpr_31 = (0x089D1344u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D1344u) goto L_089D1344; AOT_REGCACHE_SYNC_OUT(); return; @@ -3283,7 +3284,7 @@ L_089D134C: L_089D1354: aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); - ctx.gpr[31] = (0x089D1364u); + aot_gpr_31 = (0x089D1364u); aot_gpr_6 = (0u | 10000u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 803u, 0x0890B27Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D1364u) goto L_089D1364; AOT_REGCACHE_SYNC_OUT(); return; @@ -3313,25 +3314,25 @@ L_089D136C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), aot_gpr_5); aot_gpr_5 = (aot_gpr_29 + static_cast(32)); aot_gpr_4 = (ctx.gpr[20] | 0u); - ctx.gpr[31] = (0x089D13B8u); + aot_gpr_31 = (0x089D13B8u); aot_gpr_6 = (0u | 10000u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 779u, 0x0890B0A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D13B8u) goto L_089D13B8; AOT_REGCACHE_SYNC_OUT(); return; L_089D13B8: aot_gpr_4 = (ctx.gpr[20] | 0u); - ctx.gpr[31] = (0x089D13C4u); + aot_gpr_31 = (0x089D13C4u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 60u, 0x089103CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D13C4u) goto L_089D13C4; AOT_REGCACHE_SYNC_OUT(); return; L_089D13C4: aot_gpr_4 = (ctx.gpr[20] | 0u); - ctx.gpr[31] = (0x089D13D0u); + aot_gpr_31 = (0x089D13D0u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0178_entry, 178u, 442u, 0x08ACD4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D13D0u) goto L_089D13D0; AOT_REGCACHE_SYNC_OUT(); return; L_089D13D0: aot_gpr_4 = (ctx.gpr[20] | 0u); - ctx.gpr[31] = (0x089D13DCu); + aot_gpr_31 = (0x089D13DCu); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 50u, 0x0891034Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D13DCu) goto L_089D13DC; AOT_REGCACHE_SYNC_OUT(); return; @@ -3345,9 +3346,9 @@ L_089D13DC: aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(456), aot_gpr_4); aot_gpr_4 = (ctx.gpr[20] | 0u); - ctx.gpr[31] = (0x089D1408u); + aot_gpr_31 = (0x089D1408u); aot_gpr_5 = (0u | 5u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D1408u) goto L_089D1408; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D1408u) goto L_089D1408; AOT_REGCACHE_SYNC_OUT(); return; L_089D1408: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(92))); @@ -3356,14 +3357,14 @@ L_089D1408: aot_gpr_4 = (ctx.gpr[20] + aot_gpr_4); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); jump_target = aot_gpr_6; - ctx.gpr[31] = (0x089D1424u); + aot_gpr_31 = (0x089D1424u); aot_gpr_5 = (0u | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D1424u) goto L_089D1424; AOT_REGCACHE_SYNC_OUT(); return; L_089D1424: aot_gpr_4 = (ctx.gpr[20] | 0u); - ctx.gpr[31] = (0x089D1430u); + aot_gpr_31 = (0x089D1430u); aot_gpr_5 = (0u | 32u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 240u, 0x08908D60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D1430u) goto L_089D1430; AOT_REGCACHE_SYNC_OUT(); return; @@ -3388,10 +3389,10 @@ L_089D1438: L_089D1448: aot_gpr_4 = (0u | 15u); aot_gpr_5 = (0u | 1u); - aot_gpr_6 = (aot_gpr_16 | 0u); - ctx.gpr[7] = (ctx.gpr[17] | 0u); - ctx.gpr[31] = (0x089D1460u); - aot_gpr_8 = (0u | 10000u); + aot_gpr_6 = (ctx.gpr[16] | 0u); + aot_gpr_7 = (ctx.gpr[17] | 0u); + aot_gpr_31 = (0x089D1460u); + ctx.gpr[8] = (0u | 10000u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0095_entry, 95u, 24u, 0x0898019Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D1460u) goto L_089D1460; AOT_REGCACHE_SYNC_OUT(); return; L_089D1460: @@ -3405,10 +3406,10 @@ L_089D1460: L_089D1468: aot_gpr_4 = (0u | 14u); aot_gpr_5 = (0u | 1u); - aot_gpr_6 = (aot_gpr_16 | 0u); - ctx.gpr[7] = (ctx.gpr[17] | 0u); - ctx.gpr[31] = (0x089D1480u); - aot_gpr_8 = (0u | 10000u); + aot_gpr_6 = (ctx.gpr[16] | 0u); + aot_gpr_7 = (ctx.gpr[17] | 0u); + aot_gpr_31 = (0x089D1480u); + ctx.gpr[8] = (0u | 10000u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0095_entry, 95u, 24u, 0x0898019Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D1480u) goto L_089D1480; AOT_REGCACHE_SYNC_OUT(); return; L_089D1480: @@ -3420,7 +3421,7 @@ L_089D1480: goto L_089D1488; } L_089D1488: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 14u); aot_gpr_4 = (aot_gpr_4 ^ 8u); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); @@ -3433,7 +3434,7 @@ L_089D1488: goto L_089D14A4; } L_089D14A4: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(452), ctx.gpr[22]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(452), ctx.gpr[22]); { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { @@ -3442,7 +3443,7 @@ L_089D14A4: goto L_089D14B0; } L_089D14B0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 14u); aot_gpr_4 = (aot_gpr_4 ^ 4u); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); @@ -3455,9 +3456,9 @@ L_089D14B0: goto L_089D14CC; } L_089D14CC: - ctx.gpr[20] = (aot_gpr_16 | 0u); + ctx.gpr[20] = (ctx.gpr[16] | 0u); aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(596), ctx.gpr[22]); - ctx.gpr[31] = (0x089D14DCu); + aot_gpr_31 = (0x089D14DCu); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[20] + static_cast(86)))))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0186_entry, 186u, 217u, 0x08AECC3Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D14DCu) goto L_089D14DC; AOT_REGCACHE_SYNC_OUT(); return; @@ -3470,7 +3471,7 @@ L_089D14DC: goto L_089D14E4; } L_089D14E4: - ctx.gpr[31] = (0x089D14ECu); + aot_gpr_31 = (0x089D14ECu); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[20] + static_cast(86)))))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0186_entry, 186u, 181u, 0x08AECAA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D14ECu) goto L_089D14EC; AOT_REGCACHE_SYNC_OUT(); return; @@ -3483,7 +3484,7 @@ L_089D14EC: goto L_089D14F4; } L_089D14F4: - ctx.gpr[31] = (0x089D14FCu); + aot_gpr_31 = (0x089D14FCu); aot_gpr_4 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 526u, 0x08B0E268u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D14FCu) goto L_089D14FC; AOT_REGCACHE_SYNC_OUT(); return; @@ -3498,10 +3499,10 @@ L_089D14FC: L_089D1504: aot_gpr_4 = (0u | 16u); aot_gpr_5 = (0u | 2u); - aot_gpr_6 = (aot_gpr_16 | 0u); - ctx.gpr[7] = (ctx.gpr[17] | 0u); - ctx.gpr[31] = (0x089D151Cu); - aot_gpr_8 = (0u | 10000u); + aot_gpr_6 = (ctx.gpr[16] | 0u); + aot_gpr_7 = (ctx.gpr[17] | 0u); + aot_gpr_31 = (0x089D151Cu); + ctx.gpr[8] = (0u | 10000u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0095_entry, 95u, 24u, 0x0898019Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D151Cu) goto L_089D151C; AOT_REGCACHE_SYNC_OUT(); return; L_089D151C: @@ -3513,7 +3514,7 @@ L_089D151C: goto L_089D1524; } L_089D1524: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 14u); aot_gpr_4 = (aot_gpr_4 ^ 14u); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); @@ -3526,13 +3527,13 @@ L_089D1524: goto L_089D1540; } L_089D1540: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(352))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(352))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(108))); aot_gpr_5 = (aot_gpr_5 + static_cast(64)); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); jump_target = aot_gpr_5; - ctx.gpr[31] = (0x089D155Cu); + aot_gpr_31 = (0x089D155Cu); aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D155Cu) goto L_089D155C; @@ -3554,7 +3555,7 @@ L_089D156C: goto L_089D1574; } L_089D1574: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(376), ctx.gpr[22]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(376), ctx.gpr[22]); { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { @@ -3571,10 +3572,10 @@ L_089D1580: goto L_089D1588; } L_089D1588: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(368), ctx.gpr[22]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(368), ctx.gpr[22]); goto L_089D158C; L_089D158C: - aot_gpr_4 = (aot_gpr_16 + static_cast(48)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -3606,7 +3607,7 @@ L_089D158C: const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - { const bool branch_taken = aot_gpr_16 == 0u; + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_089D15F8; @@ -3614,7 +3615,7 @@ L_089D158C: goto L_089D15BC; } L_089D15BC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 14u); aot_gpr_4 = (aot_gpr_4 ^ 6u); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); @@ -3627,9 +3628,9 @@ L_089D15BC: goto L_089D15D8; } L_089D15D8: - ctx.gpr[31] = (0x089D15E0u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D15E0u) goto L_089D15E0; + aot_gpr_31 = (0x089D15E0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D15E0u) goto L_089D15E0; AOT_REGCACHE_SYNC_OUT(); return; L_089D15E0: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -3650,7 +3651,7 @@ L_089D15E8: goto L_089D15F8; } L_089D15F8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 14u); aot_gpr_5 = (0u | 4u); ctx.gpr[21] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-11700))); @@ -3662,17 +3663,17 @@ L_089D15F8: goto L_089D1610; } L_089D1610: - ctx.gpr[31] = (0x089D1618u); + aot_gpr_31 = (0x089D1618u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D1618u) goto L_089D1618; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D1618u) goto L_089D1618; AOT_REGCACHE_SYNC_OUT(); return; L_089D1618: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_5 = (0u | 0u); - ctx.gpr[7] = (ctx.gpr[21] | 0u); - ctx.gpr[31] = (0x089D162Cu); + aot_gpr_7 = (ctx.gpr[21] | 0u); + aot_gpr_31 = (0x089D162Cu); aot_gpr_6 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D162Cu) goto L_089D162C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D162Cu) goto L_089D162C; AOT_REGCACHE_SYNC_OUT(); return; L_089D162C: ctx.gpr[1] = (ctx.gpr[3] << 1u); @@ -3691,17 +3692,17 @@ L_089D162C: goto L_089D1654; } L_089D1654: - ctx.gpr[31] = (0x089D165Cu); + aot_gpr_31 = (0x089D165Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D165Cu) goto L_089D165C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D165Cu) goto L_089D165C; AOT_REGCACHE_SYNC_OUT(); return; L_089D165C: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_5 = (0u | 0u); - ctx.gpr[7] = (ctx.gpr[21] | 0u); - ctx.gpr[31] = (0x089D1670u); + aot_gpr_7 = (ctx.gpr[21] | 0u); + aot_gpr_31 = (0x089D1670u); aot_gpr_6 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D1670u) goto L_089D1670; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D1670u) goto L_089D1670; AOT_REGCACHE_SYNC_OUT(); return; L_089D1670: ctx.gpr[1] = (ctx.gpr[3] << 1u); @@ -3718,11 +3719,11 @@ L_089D1694: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_4 = (aot_gpr_4 + static_cast(400)); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(44), aot_gpr_4); - aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(32), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(32), ctx.gpr[16]); aot_gpr_5 = (ctx.gpr[22] + static_cast(32)); - ctx.gpr[31] = (0x089D16B0u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D16B0u) goto L_089D16B0; + aot_gpr_31 = (0x089D16B0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D16B0u) goto L_089D16B0; AOT_REGCACHE_SYNC_OUT(); return; L_089D16B0: aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(36), ctx.gpr[17]); @@ -3742,12 +3743,12 @@ L_089D16BC: goto L_089D16C4; } L_089D16C4: - ctx.gpr[31] = (0x089D16CCu); + aot_gpr_31 = (0x089D16CCu); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D16CCu) goto L_089D16CC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D16CCu) goto L_089D16CC; AOT_REGCACHE_SYNC_OUT(); return; L_089D16CC: - ctx.gpr[31] = (0x089D16D4u); + aot_gpr_31 = (0x089D16D4u); aot_gpr_4 = (ctx.gpr[22] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0114_entry, 114u, 672u, 0x089CFA7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D16D4u) goto L_089D16D4; AOT_REGCACHE_SYNC_OUT(); return; @@ -3773,7 +3774,7 @@ L_089D16F0: goto L_089D16F8; } L_089D16F8: - ctx.gpr[31] = (0x089D1700u); + aot_gpr_31 = (0x089D1700u); aot_gpr_4 = (ctx.gpr[22] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0114_entry, 114u, 602u, 0x089CF58Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D1700u) goto L_089D1700; AOT_REGCACHE_SYNC_OUT(); return; @@ -3784,7 +3785,7 @@ L_089D1704: { std::uint32_t aot_run_words[10]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(68), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); - aot_gpr_16 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[1]; ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; ctx.gpr[19] = aot_run_words[4]; @@ -3792,9 +3793,9 @@ L_089D1704: ctx.gpr[21] = aot_run_words[6]; ctx.gpr[22] = aot_run_words[7]; ctx.gpr[23] = aot_run_words[8]; - ctx.gpr[31] = aot_run_words[9]; + aot_gpr_31 = aot_run_words[9]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(112)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -3802,9 +3803,9 @@ L_089D1704: AOT_REGCACHE_SYNC_OUT(); return; L_089D1734: aot_gpr_29 = (aot_gpr_29 + static_cast(-112)); - { const std::uint32_t aot_run_words[12]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[12]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(64), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.gpr[17] = (0u | 0u); aot_gpr_4 = (static_cast(ctx.gpr[17]) < 40 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; @@ -3816,7 +3817,7 @@ L_089D1734: } L_089D177C: aot_gpr_4 = (ctx.gpr[17] << 6u); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(16))); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -3828,7 +3829,7 @@ L_089D177C: L_089D1790: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_gpr_4 = (ctx.gpr[17] << 6u); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(32))); aot_fpr_13 = aot_fpr_13 - aot_fpr_14; { const float fs = aot_fpr_13; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } @@ -3854,7 +3855,7 @@ L_089D1790: } L_089D17E4: aot_gpr_4 = (ctx.gpr[17] << 6u); - ctx.gpr[18] = (aot_gpr_16 + aot_gpr_4); + ctx.gpr[18] = (ctx.gpr[16] + aot_gpr_4); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(72))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); aot_gpr_4 = (15428u << 16u); @@ -3885,9 +3886,9 @@ L_089D17E4: const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - ctx.gpr[31] = (0x089D1840u); + aot_gpr_31 = (0x089D1840u); aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(48))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D1840u) goto L_089D1840; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D1840u) goto L_089D1840; AOT_REGCACHE_SYNC_OUT(); return; L_089D1840: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -3901,9 +3902,9 @@ L_089D1840: { const float fs = aot_fpr_12; const float ft = ctx.fpr[22]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = aot_fpr_20 + aot_fpr_12; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), std::bit_cast(aot_fpr_12)); - ctx.gpr[31] = (0x089D1874u); + aot_gpr_31 = (0x089D1874u); ctx.fpr[24] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(52))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D1874u) goto L_089D1874; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D1874u) goto L_089D1874; AOT_REGCACHE_SYNC_OUT(); return; L_089D1874: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -3914,9 +3915,9 @@ L_089D1874: { const float fs = aot_fpr_12; const float ft = ctx.fpr[22]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = ctx.fpr[24] + aot_fpr_12; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), std::bit_cast(aot_fpr_12)); - ctx.gpr[31] = (0x089D189Cu); + aot_gpr_31 = (0x089D189Cu); aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(56))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D189Cu) goto L_089D189C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D189Cu) goto L_089D189C; AOT_REGCACHE_SYNC_OUT(); return; L_089D189C: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -3944,12 +3945,12 @@ L_089D189C: aot_gpr_4 = (0u | 28u); aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_6 = (ctx.gpr[20] | 0u); - ctx.gpr[7] = (0u | 0u); - aot_gpr_8 = (ctx.gpr[21] | 0u); + aot_gpr_7 = (0u | 0u); + ctx.gpr[8] = (ctx.gpr[21] | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[11] = (0u | 0u); - ctx.gpr[31] = (0x089D191Cu); + aot_gpr_31 = (0x089D191Cu); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0063_entry, 63u, 90u, 0x0890043Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D191Cu) goto L_089D191C; AOT_REGCACHE_SYNC_OUT(); return; @@ -3966,19 +3967,19 @@ L_089D191C: aot_gpr_4 = (0u | 28u); aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_6 = (ctx.gpr[20] | 0u); - ctx.gpr[7] = (0u | 0u); - aot_gpr_8 = (ctx.gpr[21] | 0u); + aot_gpr_7 = (0u | 0u); + ctx.gpr[8] = (ctx.gpr[21] | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[11] = (0u | 0u); - ctx.gpr[31] = (0x089D1968u); + aot_gpr_31 = (0x089D1968u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0063_entry, 63u, 90u, 0x0890043Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D1968u) goto L_089D1968; AOT_REGCACHE_SYNC_OUT(); return; L_089D1968: - ctx.gpr[31] = (0x089D1970u); + aot_gpr_31 = (0x089D1970u); aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(48))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D1970u) goto L_089D1970; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D1970u) goto L_089D1970; AOT_REGCACHE_SYNC_OUT(); return; L_089D1970: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -3989,9 +3990,9 @@ L_089D1970: { const float fs = aot_fpr_12; const float ft = ctx.fpr[22]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = aot_fpr_20 + aot_fpr_12; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), std::bit_cast(aot_fpr_12)); - ctx.gpr[31] = (0x089D1998u); + aot_gpr_31 = (0x089D1998u); ctx.fpr[28] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(52))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D1998u) goto L_089D1998; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D1998u) goto L_089D1998; AOT_REGCACHE_SYNC_OUT(); return; L_089D1998: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -4002,9 +4003,9 @@ L_089D1998: { const float fs = aot_fpr_12; const float ft = ctx.fpr[22]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = ctx.fpr[28] + aot_fpr_12; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), std::bit_cast(aot_fpr_12)); - ctx.gpr[31] = (0x089D19C0u); + aot_gpr_31 = (0x089D19C0u); aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(56))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D19C0u) goto L_089D19C0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D19C0u) goto L_089D19C0; AOT_REGCACHE_SYNC_OUT(); return; L_089D19C0: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -4025,12 +4026,12 @@ L_089D19C0: aot_gpr_4 = (0u | 28u); aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_6 = (ctx.gpr[20] | 0u); - ctx.gpr[7] = (0u | 0u); - aot_gpr_8 = (ctx.gpr[21] | 0u); + aot_gpr_7 = (0u | 0u); + ctx.gpr[8] = (ctx.gpr[21] | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[11] = (0u | 0u); - ctx.gpr[31] = (0x089D1A24u); + aot_gpr_31 = (0x089D1A24u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0063_entry, 63u, 90u, 0x0890043Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D1A24u) goto L_089D1A24; AOT_REGCACHE_SYNC_OUT(); return; @@ -4049,8 +4050,8 @@ L_089D1A24: } L_089D1A40: aot_gpr_4 = (ctx.gpr[17] << 6u); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); - ctx.gpr[31] = (0x089D1A50u); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); + aot_gpr_31 = (0x089D1A50u); aot_gpr_4 = (aot_gpr_4 + static_cast(16)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0114_entry, 114u, 649u, 0x089CF934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D1A50u) goto L_089D1A50; AOT_REGCACHE_SYNC_OUT(); return; @@ -4083,15 +4084,15 @@ L_089D1A6C: ctx.fpr[24] = std::bit_cast(aot_run_words[2]); ctx.fpr[26] = std::bit_cast(aot_run_words[3]); ctx.fpr[28] = std::bit_cast(aot_run_words[4]); - aot_gpr_16 = aot_run_words[5]; + ctx.gpr[16] = aot_run_words[5]; ctx.gpr[17] = aot_run_words[6]; ctx.gpr[18] = aot_run_words[7]; ctx.gpr[19] = aot_run_words[8]; ctx.gpr[20] = aot_run_words[9]; ctx.gpr[21] = aot_run_words[10]; - ctx.gpr[31] = aot_run_words[11]; + aot_gpr_31 = aot_run_words[11]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(112)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -4099,16 +4100,16 @@ L_089D1A6C: AOT_REGCACHE_SYNC_OUT(); return; L_089D1AA4: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); aot_gpr_4 = (2238u << 16u); - ctx.gpr[31] = (0x089D1AB8u); + aot_gpr_31 = (0x089D1AB8u); aot_gpr_4 = (aot_gpr_4 + static_cast(14864)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0114_entry, 114u, 674u, 0x089CFABCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D1AB8u) goto L_089D1AB8; AOT_REGCACHE_SYNC_OUT(); return; L_089D1AB8: - ctx.gpr[31] = (0x089D1AC0u); + aot_gpr_31 = (0x089D1AC0u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-11696)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D1AC0u) goto L_089D1AC0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D1AC0u) goto L_089D1AC0; AOT_REGCACHE_SYNC_OUT(); return; L_089D1AC0: aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(9636), static_cast(0u)); @@ -4119,8 +4120,8 @@ L_089D1AC0: aot_gpr_6 = (aot_gpr_6 + static_cast(-30144)); aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_4); - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -4137,7 +4138,7 @@ L_089D1AEC: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(12), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(8), std::bit_cast(aot_fpr_12)); - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), std::bit_cast(aot_fpr_12)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -4148,7 +4149,7 @@ L_089D1B1C: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(12), std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(8), std::bit_cast(aot_fpr_14)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), std::bit_cast(ctx.fpr[15])); - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; ctx.gpr[2] = (aot_gpr_4 | 0u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -4157,17 +4158,17 @@ L_089D1B1C: L_089D1B34: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(8))); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(8))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); - aot_gpr_6 = (ctx.gpr[7] << 2u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[31]); - ctx.gpr[31] = (0x089D1B54u); - ctx.gpr[7] = (0u | 0u); + aot_gpr_6 = (aot_gpr_7 << 2u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); + aot_gpr_31 = (0x089D1B54u); + aot_gpr_7 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 148u, 0x08A9D3CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D1B54u) goto L_089D1B54; AOT_REGCACHE_SYNC_OUT(); return; L_089D1B54: - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -4176,29 +4177,29 @@ L_089D1B54: L_089D1B60: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_5); - ctx.gpr[7] = (aot_gpr_5 << 2u); + aot_gpr_7 = (aot_gpr_5 << 2u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_4); aot_gpr_5 = (0u | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[31]); - ctx.gpr[31] = (0x089D1B80u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); + aot_gpr_31 = (0x089D1B80u); aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 148u, 0x08A9D3CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D1B80u) goto L_089D1B80; AOT_REGCACHE_SYNC_OUT(); return; L_089D1B80: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(16))); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(16))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); aot_gpr_6 = (0u | 0u); ctx.gpr[9] = (static_cast(aot_gpr_6) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = ctx.gpr[9] == 0u; - aot_gpr_8 = (ctx.gpr[2] | 0u); + ctx.gpr[8] = (ctx.gpr[2] | 0u); if (branch_taken) { goto L_089D1BB4; } goto L_089D1B9C; } L_089D1B9C: - ctx.gpr[9] = (aot_gpr_8 | 0u); + ctx.gpr[9] = (ctx.gpr[8] | 0u); goto L_089D1BA0; L_089D1BA0: aot_mem.aot_direct_store32(ctx.gpr[9] + static_cast(0), 0u); @@ -4212,11 +4213,11 @@ L_089D1BA0: goto L_089D1BB4; } L_089D1BB4: - ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(8))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_7 + static_cast(8))); aot_gpr_6 = (0u | 0u); ctx.gpr[9] = (static_cast(aot_gpr_6) < static_cast(ctx.gpr[2]) ? 1u : 0u); { const bool branch_taken = ctx.gpr[9] == 0u; - ctx.gpr[11] = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(0))); + ctx.gpr[11] = (aot_mem.aot_direct_load32(aot_gpr_7 + static_cast(0))); if (branch_taken) { goto L_089D1C24; } @@ -4243,7 +4244,7 @@ L_089D1BE4: ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[10] + static_cast(0))); ctx.gpr[11] = (ctx.gpr[11] & ctx.gpr[9]); ctx.gpr[11] = (ctx.gpr[11] << 2u); - ctx.gpr[11] = (aot_gpr_8 + ctx.gpr[11]); + ctx.gpr[11] = (ctx.gpr[8] + ctx.gpr[11]); ctx.gpr[12] = (aot_mem.aot_direct_load32(ctx.gpr[11] + static_cast(0))); aot_mem.aot_direct_store32(ctx.gpr[10] + static_cast(0), ctx.gpr[12]); aot_mem.aot_direct_store32(ctx.gpr[11] + static_cast(0), ctx.gpr[10]); @@ -4254,8 +4255,8 @@ L_089D1BE4: } goto L_089D1C0C; L_089D1C0C: - ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(8))); - ctx.gpr[11] = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(0))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_7 + static_cast(8))); + ctx.gpr[11] = (aot_mem.aot_direct_load32(aot_gpr_7 + static_cast(0))); goto L_089D1C14; L_089D1C14: aot_gpr_6 = (aot_gpr_6 + static_cast(1)); @@ -4269,13 +4270,13 @@ L_089D1C14: } L_089D1C24: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_8); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[7]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[8]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_7); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (ctx.gpr[2] << 2u); aot_gpr_5 = (ctx.gpr[11] | 0u); - ctx.gpr[31] = (0x089D1C44u); - ctx.gpr[7] = (0u | 0u); + aot_gpr_31 = (0x089D1C44u); + aot_gpr_7 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 148u, 0x08A9D3CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D1C44u) goto L_089D1C44; AOT_REGCACHE_SYNC_OUT(); return; L_089D1C44: @@ -4284,8 +4285,8 @@ L_089D1C44: aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(8), aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_6); - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -4295,31 +4296,31 @@ L_089D1C64: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); { const std::uint32_t aot_run_words[3]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(8), aot_run_words); } - ctx.gpr[17] = (ctx.gpr[7] | 0u); + ctx.gpr[17] = (aot_gpr_7 | 0u); ctx.gpr[18] = (aot_gpr_6 | 0u); ctx.gpr[19] = (aot_gpr_5 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_4); - ctx.gpr[7] = (ctx.gpr[18] + static_cast(17)); + aot_gpr_7 = (ctx.gpr[18] + static_cast(17)); aot_gpr_5 = (0u | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[20]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), ctx.gpr[31]); - ctx.gpr[31] = (0x089D1CA0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_31); + aot_gpr_31 = (0x089D1CA0u); aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 148u, 0x08A9D3CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D1CA0u) goto L_089D1CA0; AOT_REGCACHE_SYNC_OUT(); return; L_089D1CA0: - aot_gpr_16 = (ctx.gpr[2] | 0u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(12), ctx.gpr[18]); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(8), ctx.gpr[17]); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(5), static_cast(0u)); + ctx.gpr[16] = (ctx.gpr[2] | 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(12), ctx.gpr[18]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(8), ctx.gpr[17]); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(5), static_cast(0u)); aot_gpr_4 = (0u | 4u); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(4), static_cast(aot_gpr_4)); - ctx.gpr[20] = (aot_gpr_16 + static_cast(16)); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(6), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(4), static_cast(aot_gpr_4)); + ctx.gpr[20] = (ctx.gpr[16] + static_cast(16)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(6), static_cast(0u)); aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); - ctx.gpr[31] = (0x089D1CD0u); + aot_gpr_31 = (0x089D1CD0u); aot_gpr_6 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D1CD0u) goto L_089D1CD0; AOT_REGCACHE_SYNC_OUT(); return; @@ -4330,20 +4331,20 @@ L_089D1CD0: aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(8))); aot_gpr_5 = (aot_gpr_5 + static_cast(-1)); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); aot_gpr_5 = (ctx.gpr[17] & aot_gpr_5); aot_gpr_5 = (aot_gpr_5 << 2u); - ctx.gpr[7] = (ctx.gpr[7] + aot_gpr_5); - ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(0))); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), ctx.gpr[7]); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); - aot_gpr_5 = (ctx.gpr[7] + aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_16); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(4))); + aot_gpr_7 = (aot_gpr_7 + aot_gpr_5); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_7 + static_cast(0))); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), aot_gpr_7); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); + aot_gpr_5 = (aot_gpr_7 + aot_gpr_5); + aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), ctx.gpr[16]); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(4))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(8))); - ctx.gpr[7] = (ctx.gpr[7] + static_cast(1)); - aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(4), ctx.gpr[7]); - aot_gpr_6 = (static_cast(aot_gpr_5) < static_cast(ctx.gpr[7]) ? 1u : 0u); + aot_gpr_7 = (aot_gpr_7 + static_cast(1)); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(4), aot_gpr_7); + aot_gpr_6 = (static_cast(aot_gpr_5) < static_cast(aot_gpr_7) ? 1u : 0u); { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_6 = (16384u << 16u); if (branch_taken) { @@ -4362,21 +4363,21 @@ L_089D1D28: goto L_089D1D38; } L_089D1D38: - ctx.gpr[31] = (0x089D1D40u); + aot_gpr_31 = (0x089D1D40u); aot_gpr_5 = (aot_gpr_5 + aot_gpr_5); goto L_089D1B60; L_089D1D40: - ctx.gpr[2] = (aot_gpr_16 | 0u); + ctx.gpr[2] = (ctx.gpr[16] | 0u); { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(4), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; - ctx.gpr[31] = aot_run_words[5]; + aot_gpr_31 = aot_run_words[5]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -4384,22 +4385,22 @@ L_089D1D40: AOT_REGCACHE_SYNC_OUT(); return; L_089D1D64: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[19]); ctx.gpr[19] = (aot_gpr_6 | 0u); ctx.gpr[17] = (aot_gpr_5 | 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(16))); aot_gpr_5 = (ctx.gpr[19] >> 5u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[20]); aot_gpr_5 = (aot_gpr_5 + static_cast(1)); ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - ctx.gpr[7] = (aot_gpr_6 < aot_gpr_5 ? 1u : 0u); + aot_gpr_7 = (aot_gpr_6 < aot_gpr_5 ? 1u : 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[31]); - { const bool branch_taken = ctx.gpr[7] != 0u; + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_31); + { const bool branch_taken = aot_gpr_7 != 0u; ctx.gpr[18] = (ctx.gpr[19] | 0u); if (branch_taken) { goto L_089D1DE0; @@ -4407,21 +4408,21 @@ L_089D1D64: goto L_089D1DAC; } L_089D1DAC: - ctx.gpr[7] = (aot_gpr_6 + static_cast(-1)); - ctx.gpr[7] = (ctx.gpr[17] + ctx.gpr[7]); + aot_gpr_7 = (aot_gpr_6 + static_cast(-1)); + aot_gpr_7 = (ctx.gpr[17] + aot_gpr_7); goto L_089D1DB4; L_089D1DB4: - aot_gpr_8 = (ctx.gpr[19] << 5u); + ctx.gpr[8] = (ctx.gpr[19] << 5u); ctx.gpr[9] = (ctx.gpr[19] >> 2u); - ctx.gpr[10] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[7] + static_cast(0)))))); - aot_gpr_8 = (aot_gpr_8 + ctx.gpr[9]); + ctx.gpr[10] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_7 + static_cast(0)))))); + ctx.gpr[8] = (ctx.gpr[8] + ctx.gpr[9]); ctx.gpr[9] = (ctx.gpr[10] & 255u); - aot_gpr_8 = (aot_gpr_8 + ctx.gpr[9]); - ctx.gpr[19] = (ctx.gpr[19] ^ aot_gpr_8); + ctx.gpr[8] = (ctx.gpr[8] + ctx.gpr[9]); + ctx.gpr[19] = (ctx.gpr[19] ^ ctx.gpr[8]); aot_gpr_6 = (aot_gpr_6 - aot_gpr_5); - aot_gpr_8 = (aot_gpr_6 < aot_gpr_5 ? 1u : 0u); - { const bool branch_taken = aot_gpr_8 == 0u; - ctx.gpr[7] = (ctx.gpr[7] - aot_gpr_5); + ctx.gpr[8] = (aot_gpr_6 < aot_gpr_5 ? 1u : 0u); + { const bool branch_taken = ctx.gpr[8] == 0u; + aot_gpr_7 = (aot_gpr_7 - aot_gpr_5); if (branch_taken) { goto L_089D1DB4; } @@ -4452,9 +4453,9 @@ L_089D1DFC: } L_089D1E0C: aot_gpr_4 = (ctx.gpr[17] | 0u); - ctx.gpr[31] = (0x089D1E18u); + aot_gpr_31 = (0x089D1E18u); aot_gpr_6 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D1E18u) goto L_089D1E18; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58100, 213u, 23u, 0x08B58100u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D1E18u) goto L_089D1E18; AOT_REGCACHE_SYNC_OUT(); return; L_089D1E18: { const bool branch_taken = ctx.gpr[2] != 0u; @@ -4482,23 +4483,23 @@ L_089D1E28: goto L_089D1E34; } L_089D1E34: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_6 = (ctx.gpr[18] | 0u); - ctx.gpr[31] = (0x089D1E48u); - ctx.gpr[7] = (ctx.gpr[19] | 0u); + aot_gpr_31 = (0x089D1E48u); + aot_gpr_7 = (ctx.gpr[19] | 0u); goto L_089D1C64; L_089D1E48: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; - ctx.gpr[31] = aot_run_words[5]; + aot_gpr_31 = aot_run_words[5]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -4506,14 +4507,14 @@ L_089D1E48: AOT_REGCACHE_SYNC_OUT(); return; L_089D1E68: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_5 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_5 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); ctx.gpr[17] = (aot_gpr_4 | 0u); - ctx.gpr[7] = (aot_gpr_16 + static_cast(16)); + aot_gpr_7 = (ctx.gpr[16] + static_cast(16)); aot_gpr_5 = (0u | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[31]); - ctx.gpr[31] = (0x089D1E90u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); + aot_gpr_31 = (0x089D1E90u); aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 148u, 0x08A9D3CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D1E90u) goto L_089D1E90; AOT_REGCACHE_SYNC_OUT(); return; @@ -4522,7 +4523,7 @@ L_089D1E90: aot_mem.aot_direct_store8(ctx.gpr[2] + static_cast(5), static_cast(aot_gpr_4)); aot_gpr_4 = (0u | 7u); aot_mem.aot_direct_store8(ctx.gpr[2] + static_cast(4), static_cast(aot_gpr_4)); - aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(12), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(12), ctx.gpr[16]); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(16))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(56))); aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(8), aot_gpr_4); @@ -4533,11 +4534,11 @@ L_089D1E90: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(16), ctx.gpr[2]); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; - ctx.gpr[31] = aot_run_words[2]; + aot_gpr_31 = aot_run_words[2]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -4555,7 +4556,7 @@ L_089D1ED8: ctx.execute_vfpu_vec3_ct<0u, 64u, 32u, 1u, 2u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<0u>()); ctx.fpr[0] = std::bit_cast(aot_gpr_4); - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; // nop local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -4565,10 +4566,10 @@ L_089D1F04: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[17]); ctx.gpr[17] = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[16]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_16 = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); if (branch_taken) { goto L_089D1F58; } @@ -4585,23 +4586,23 @@ L_089D1F20: } L_089D1F2C: if (aot_gpr_4 == 0u) { - aot_gpr_4 = (aot_gpr_16 & 1u); + aot_gpr_4 = (ctx.gpr[16] & 1u); goto L_089D1F48; } goto L_089D1F34; L_089D1F34: if (aot_gpr_4 == 0u) { - aot_gpr_4 = (aot_gpr_16 & 1u); + aot_gpr_4 = (ctx.gpr[16] & 1u); goto L_089D1F48; } goto L_089D1F3C; L_089D1F3C: - ctx.gpr[31] = (0x089D1F44u); + aot_gpr_31 = (0x089D1F44u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D1F44u) goto L_089D1F44; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D1F44u) goto L_089D1F44; AOT_REGCACHE_SYNC_OUT(); return; L_089D1F44: - aot_gpr_4 = (aot_gpr_16 & 1u); + aot_gpr_4 = (ctx.gpr[16] & 1u); goto L_089D1F48; L_089D1F48: { const bool branch_taken = aot_gpr_4 == 0u; @@ -4612,18 +4613,18 @@ L_089D1F48: goto L_089D1F50; } L_089D1F50: - ctx.gpr[31] = (0x089D1F58u); + aot_gpr_31 = (0x089D1F58u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D1F58u) goto L_089D1F58; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D1F58u) goto L_089D1F58; AOT_REGCACHE_SYNC_OUT(); return; L_089D1F58: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(4), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; - ctx.gpr[31] = aot_run_words[2]; + aot_gpr_31 = aot_run_words[2]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -4631,7 +4632,7 @@ L_089D1F58: AOT_REGCACHE_SYNC_OUT(); return; L_089D1F6C: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - ctx.gpr[7] = (aot_gpr_5 | 0u); + aot_gpr_7 = (aot_gpr_5 | 0u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(104))); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_gpr_4 + static_cast(4)); @@ -4645,12 +4646,12 @@ L_089D1F6C: } L_089D1F8C: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(16), static_cast(0u)); - aot_gpr_8 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(16))); + ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(16))); goto L_089D1F94; L_089D1F94: - aot_gpr_8 = (aot_gpr_8 < ctx.gpr[7] ? 1u : 0u); - aot_gpr_8 = (aot_gpr_8 & 255u); - if (aot_gpr_8 != 0u) { + ctx.gpr[8] = (ctx.gpr[8] < aot_gpr_7 ? 1u : 0u); + ctx.gpr[8] = (ctx.gpr[8] & 255u); + if (ctx.gpr[8] != 0u) { aot_gpr_6 = (aot_gpr_6 + static_cast(12)); goto L_089D1FB4; } @@ -4670,7 +4671,7 @@ L_089D1FB4: goto L_089D1FB8; L_089D1FB8: if (aot_gpr_6 != 0u) { - aot_gpr_8 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(16))); + ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(16))); goto L_089D1F94; } goto L_089D1FC0; @@ -4683,7 +4684,7 @@ L_089D1FC0: L_089D1FC8: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(17), static_cast(0u)); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); - aot_gpr_6 = (ctx.gpr[7] < aot_gpr_6 ? 1u : 0u); + aot_gpr_6 = (aot_gpr_7 < aot_gpr_6 ? 1u : 0u); aot_gpr_6 = (aot_gpr_6 & 255u); if (aot_gpr_6 == 0u) { aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_4); @@ -4726,7 +4727,7 @@ L_089D2020: ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(20))); goto L_089D2024; L_089D2024: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(48)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -4734,36 +4735,36 @@ L_089D2024: AOT_REGCACHE_SYNC_OUT(); return; L_089D202C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[31]); - ctx.gpr[31] = (0x089D2040u); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); + aot_gpr_31 = (0x089D2040u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0162_entry, 162u, 273u, 0x08A8D728u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D2040u) goto L_089D2040; AOT_REGCACHE_SYNC_OUT(); return; L_089D2040: aot_gpr_4 = (2235u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-26772)); aot_gpr_5 = (0u | 65535u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(4), aot_gpr_4); aot_fpr_12 = std::bit_cast(0u); - aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(176), static_cast(aot_gpr_5)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(184), std::bit_cast(aot_fpr_12)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(188), std::bit_cast(aot_fpr_12)); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(214), static_cast(0u)); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(336), static_cast(0u)); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(337), static_cast(0u)); - aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(338), static_cast(0u)); + aot_mem.aot_direct_store16(ctx.gpr[16] + static_cast(176), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(184), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(188), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(214), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(336), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(337), static_cast(0u)); + aot_mem.aot_direct_store16(ctx.gpr[16] + static_cast(338), static_cast(0u)); aot_gpr_4 = (0u + static_cast(-1)); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(340), static_cast(0u)); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(341), static_cast(aot_gpr_4)); - aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(342), static_cast(0u)); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(344), static_cast(0u)); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(345), static_cast(0u)); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(346), static_cast(0u)); - ctx.gpr[2] = (aot_gpr_16 | 0u); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); - jump_target = ctx.gpr[31]; + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(340), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(341), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store16(ctx.gpr[16] + static_cast(342), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(344), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(345), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(346), static_cast(0u)); + ctx.gpr[2] = (ctx.gpr[16] | 0u); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -4771,11 +4772,11 @@ L_089D2040: AOT_REGCACHE_SYNC_OUT(); return; L_089D20A0: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), aot_gpr_16); - aot_gpr_16 = (aot_gpr_5 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_5 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), ctx.gpr[17]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), ctx.gpr[31]); - ctx.gpr[31] = (0x089D20BCu); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), aot_gpr_31); + aot_gpr_31 = (0x089D20BCu); ctx.gpr[17] = (aot_gpr_4 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0162_entry, 162u, 275u, 0x08A8D7B0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D20BCu) goto L_089D20BC; AOT_REGCACHE_SYNC_OUT(); return; @@ -4783,67 +4784,67 @@ L_089D20BC: aot_gpr_4 = (2235u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-26772)); aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(4), aot_gpr_4); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1252))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1252))); aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store16(ctx.gpr[17] + static_cast(178), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2228))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2228))); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(180), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2196))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2196))); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(181), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1360))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1360))); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(182), static_cast(aot_gpr_4)); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1929)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(1929)))))); aot_gpr_5 = (aot_gpr_4 << 5u); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(183), static_cast(aot_gpr_4)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2256))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2256))); aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(184), std::bit_cast(aot_fpr_12)); - aot_gpr_5 = (aot_gpr_16 + static_cast(816)); + aot_gpr_5 = (ctx.gpr[16] + static_cast(816)); aot_gpr_4 = (ctx.gpr[17] + static_cast(192)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2260))); - ctx.gpr[31] = (0x089D212Cu); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2260))); + aot_gpr_31 = (0x089D212Cu); aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(188), std::bit_cast(aot_fpr_12)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 166u, 0x08A9D4C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D212Cu) goto L_089D212C; AOT_REGCACHE_SYNC_OUT(); return; L_089D212C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(456))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(456))); aot_gpr_5 = (64u << 16u); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_4 = (aot_gpr_4 >> 22u); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(336), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(456))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(456))); aot_gpr_5 = (8192u << 16u); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_4 = (aot_gpr_4 >> 29u); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(337), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(1916))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(1916))); aot_mem.aot_direct_store16(ctx.gpr[17] + static_cast(338), static_cast(aot_gpr_4)); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(304)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(304)))))); aot_gpr_4 = (aot_gpr_4 & 1u); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(340), static_cast(aot_gpr_4)); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1928)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(1928)))))); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(341), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(311))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(311))); aot_gpr_4 = (aot_gpr_4 & 255u); aot_mem.aot_direct_store16(ctx.gpr[17] + static_cast(342), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2244))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2244))); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(344), static_cast(aot_gpr_4)); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1929)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(1929)))))); aot_gpr_5 = (aot_gpr_4 << 5u); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(345), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(340))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(340))); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(346), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(76))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(76))); aot_gpr_5 = (8u << 16u); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); { const bool branch_taken = aot_gpr_4 == 0u; @@ -4859,8 +4860,8 @@ L_089D21C0: aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(346), static_cast(aot_gpr_4)); goto L_089D21CC; L_089D21CC: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); - ctx.gpr[31] = (0x089D21D8u); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(80))); + aot_gpr_31 = (0x089D21D8u); aot_gpr_4 = (ctx.gpr[17] | 0u); goto L_089D2304; L_089D21D8: @@ -4873,12 +4874,12 @@ L_089D21D8: goto L_089D21E4; } L_089D21E4: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); - ctx.gpr[31] = (0x089D21F0u); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(80))); + aot_gpr_31 = (0x089D21F0u); aot_gpr_4 = (ctx.gpr[17] | 0u); goto L_089D2304; L_089D21F0: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1931))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(1931))); { const bool branch_taken = static_cast(aot_gpr_4) <= 0; // nop if (branch_taken) { @@ -4888,13 +4889,13 @@ L_089D21F0: } L_089D21FC: aot_gpr_4 = (ctx.gpr[17] + static_cast(16)); - ctx.gpr[31] = (0x089D2208u); - aot_gpr_5 = (aot_gpr_16 + static_cast(1168)); + aot_gpr_31 = (0x089D2208u); + aot_gpr_5 = (ctx.gpr[16] + static_cast(1168)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 7u, 0x08860358u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D2208u) goto L_089D2208; AOT_REGCACHE_SYNC_OUT(); return; L_089D2208: - ctx.gpr[31] = (0x089D2210u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_31 = (0x089D2210u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 195u, 0x08910B38u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D2210u) goto L_089D2210; AOT_REGCACHE_SYNC_OUT(); return; L_089D2210: @@ -4909,10 +4910,10 @@ L_089D2218: aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(104))); aot_gpr_5 = (aot_gpr_6 | 0u); - ctx.gpr[7] = (aot_gpr_5 + static_cast(4)); - ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(0))); - { const bool branch_taken = ctx.gpr[7] == 0u; - aot_gpr_8 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1152))); + aot_gpr_7 = (aot_gpr_5 + static_cast(4)); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_7 + static_cast(0))); + { const bool branch_taken = aot_gpr_7 == 0u; + ctx.gpr[8] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1152))); if (branch_taken) { goto L_089D2268; } @@ -4920,32 +4921,32 @@ L_089D2218: } L_089D2234: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(12), static_cast(0u)); - ctx.gpr[9] = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(16))); + ctx.gpr[9] = (aot_mem.aot_direct_load32(aot_gpr_7 + static_cast(16))); goto L_089D223C; L_089D223C: - ctx.gpr[9] = (ctx.gpr[9] < aot_gpr_8 ? 1u : 0u); + ctx.gpr[9] = (ctx.gpr[9] < ctx.gpr[8] ? 1u : 0u); ctx.gpr[9] = (ctx.gpr[9] & 255u); if (ctx.gpr[9] != 0u) { - ctx.gpr[7] = (ctx.gpr[7] + static_cast(12)); + aot_gpr_7 = (aot_gpr_7 + static_cast(12)); goto L_089D225C; } goto L_089D224C; L_089D224C: - aot_gpr_5 = (ctx.gpr[7] | 0u); - ctx.gpr[7] = (aot_gpr_5 + static_cast(8)); + aot_gpr_5 = (aot_gpr_7 | 0u); + aot_gpr_7 = (aot_gpr_5 + static_cast(8)); { const bool branch_taken = 0u == 0u; - ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(0))); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_7 + static_cast(0))); if (branch_taken) { goto L_089D2260; } goto L_089D225C; } L_089D225C: - ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(0))); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_7 + static_cast(0))); goto L_089D2260; L_089D2260: - if (ctx.gpr[7] != 0u) { - ctx.gpr[9] = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(16))); + if (aot_gpr_7 != 0u) { + ctx.gpr[9] = (aot_mem.aot_direct_load32(aot_gpr_7 + static_cast(16))); goto L_089D223C; } goto L_089D2268; @@ -4957,10 +4958,10 @@ L_089D2268: goto L_089D2270; L_089D2270: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(13), static_cast(0u)); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(16))); - ctx.gpr[7] = (aot_gpr_8 < ctx.gpr[7] ? 1u : 0u); - ctx.gpr[7] = (ctx.gpr[7] & 255u); - if (ctx.gpr[7] == 0u) { + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(16))); + aot_gpr_7 = (ctx.gpr[8] < aot_gpr_7 ? 1u : 0u); + aot_gpr_7 = (aot_gpr_7 & 255u); + if (aot_gpr_7 == 0u) { aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_5); goto L_089D2290; } @@ -5004,8 +5005,8 @@ L_089D22C8: goto L_089D22D0; } L_089D22D0: - ctx.gpr[31] = (0x089D22D8u); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1152))); + aot_gpr_31 = (0x089D22D8u); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1152))); goto L_089D1F6C; L_089D22D8: aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(8))); @@ -5024,11 +5025,11 @@ L_089D22EC: ctx.gpr[2] = (ctx.gpr[17] | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(36), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; - ctx.gpr[31] = aot_run_words[2]; + aot_gpr_31 = aot_run_words[2]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(48)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -5038,22 +5039,22 @@ L_089D2304: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(24))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_gpr_6 = (0u | 0u); - aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_gpr_5 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); goto L_089D2324; L_089D2324: - { const bool branch_taken = aot_gpr_16 == 0u; - ctx.gpr[7] = (aot_gpr_6 < static_cast(5) ? 1u : 0u); + { const bool branch_taken = ctx.gpr[16] == 0u; + aot_gpr_7 = (aot_gpr_6 < static_cast(5) ? 1u : 0u); if (branch_taken) { goto L_089D2398; } goto L_089D232C; } L_089D232C: - { const bool branch_taken = ctx.gpr[7] == 0u; + { const bool branch_taken = aot_gpr_7 == 0u; // nop if (branch_taken) { goto L_089D2398; @@ -5061,17 +5062,17 @@ L_089D232C: goto L_089D2334; } L_089D2334: - ctx.gpr[7] = (aot_gpr_16 | 0u); - aot_gpr_8 = (aot_mem.aot_direct_load8(ctx.gpr[7] + static_cast(64))); - if (aot_gpr_8 == 0u) { - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(16))); + aot_gpr_7 = (ctx.gpr[16] | 0u); + ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_7 + static_cast(64))); + if (ctx.gpr[8] == 0u) { + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_7 + static_cast(16))); goto L_089D2350; } goto L_089D2344; L_089D2344: - aot_mem.aot_direct_store8(ctx.gpr[7] + static_cast(64), static_cast(0u)); + aot_mem.aot_direct_store8(aot_gpr_7 + static_cast(64), static_cast(0u)); { const bool branch_taken = 0u == 0u; - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); if (branch_taken) { goto L_089D2390; } @@ -5079,20 +5080,20 @@ L_089D2344: } L_089D2350: aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(216), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(36))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_7 + static_cast(36))); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(220), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(40))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_7 + static_cast(40))); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(224), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(44))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_7 + static_cast(44))); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(228), std::bit_cast(aot_fpr_12)); - aot_gpr_8 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[7] + static_cast(50)))))); - aot_mem.aot_direct_store16(aot_gpr_5 + static_cast(232), static_cast(aot_gpr_8)); - aot_gpr_8 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[7] + static_cast(48)))))); + ctx.gpr[8] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_7 + static_cast(50)))))); + aot_mem.aot_direct_store16(aot_gpr_5 + static_cast(232), static_cast(ctx.gpr[8])); + ctx.gpr[8] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_7 + static_cast(48)))))); aot_gpr_6 = (aot_gpr_6 + static_cast(1)); - aot_mem.aot_direct_store16(aot_gpr_5 + static_cast(234), static_cast(aot_gpr_8)); - ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(8))); - aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(236), ctx.gpr[7]); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_mem.aot_direct_store16(aot_gpr_5 + static_cast(234), static_cast(ctx.gpr[8])); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_7 + static_cast(8))); + aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(236), aot_gpr_7); + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_5 = (aot_gpr_5 + static_cast(24)); goto L_089D2390; L_089D2390: @@ -5105,8 +5106,8 @@ L_089D2390: } L_089D2398: aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(214), static_cast(aot_gpr_6)); - aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_089D23CC; @@ -5114,8 +5115,8 @@ L_089D2398: goto L_089D23A8; } L_089D23A8: - ctx.gpr[31] = (0x089D23B0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_31 = (0x089D23B0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0034_entry, 34u, 625u, 0x0888FEECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D23B0u) goto L_089D23B0; AOT_REGCACHE_SYNC_OUT(); return; L_089D23B0: @@ -5128,17 +5129,17 @@ L_089D23B0: } L_089D23B8: { const bool branch_taken = 0u == 0u; - aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); if (branch_taken) { goto L_089D23C4; } goto L_089D23C0; } L_089D23C0: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); goto L_089D23C4; L_089D23C4: - { const bool branch_taken = aot_gpr_16 != 0u; + { const bool branch_taken = ctx.gpr[16] != 0u; // nop if (branch_taken) { goto L_089D23A8; @@ -5148,11 +5149,11 @@ L_089D23C4: L_089D23CC: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; - ctx.gpr[31] = aot_run_words[2]; + aot_gpr_31 = aot_run_words[2]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -5160,13 +5161,13 @@ L_089D23CC: AOT_REGCACHE_SYNC_OUT(); return; L_089D23E0: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); - aot_gpr_16 = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); ctx.gpr[17] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[31]); - ctx.gpr[31] = (0x089D2404u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); + aot_gpr_31 = (0x089D2404u); ctx.gpr[18] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0162_entry, 162u, 279u, 0x08A8D860u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D2404u) goto L_089D2404; AOT_REGCACHE_SYNC_OUT(); return; @@ -5180,7 +5181,7 @@ L_089D2404: } L_089D240C: aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(176))); - aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(176))); + aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(176))); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop if (branch_taken) { @@ -5190,7 +5191,7 @@ L_089D240C: } L_089D241C: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(340))); - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(340))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(340))); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop if (branch_taken) { @@ -5200,7 +5201,7 @@ L_089D241C: } L_089D242C: aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(178))); - aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(178))); + aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(178))); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop if (branch_taken) { @@ -5210,7 +5211,7 @@ L_089D242C: } L_089D243C: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(180))); - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(180))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(180))); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop if (branch_taken) { @@ -5220,7 +5221,7 @@ L_089D243C: } L_089D244C: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(181))); - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(181))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(181))); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop if (branch_taken) { @@ -5230,7 +5231,7 @@ L_089D244C: } L_089D245C: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(182))); - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(182))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(182))); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop if (branch_taken) { @@ -5240,7 +5241,7 @@ L_089D245C: } L_089D246C: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(183))); - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(183))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(183))); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop if (branch_taken) { @@ -5250,7 +5251,7 @@ L_089D246C: } L_089D247C: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(345))); - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(345))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(345))); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop if (branch_taken) { @@ -5260,7 +5261,7 @@ L_089D247C: } L_089D248C: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(184))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(184))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(184))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(aot_fpr_13)) && aot_fpr_12 == aot_fpr_13)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); @@ -5272,7 +5273,7 @@ L_089D248C: } L_089D24A4: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(188))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(188))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(188))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(aot_fpr_13)) && aot_fpr_12 == aot_fpr_13)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); @@ -5284,7 +5285,7 @@ L_089D24A4: } L_089D24BC: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(214))); - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(214))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(214))); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; aot_gpr_6 = (aot_gpr_4 << 3u); if (branch_taken) { @@ -5294,12 +5295,12 @@ L_089D24BC: } L_089D24CC: aot_gpr_4 = (aot_gpr_6 + aot_gpr_6); - ctx.gpr[7] = (ctx.gpr[17] + static_cast(216)); + aot_gpr_7 = (ctx.gpr[17] + static_cast(216)); aot_gpr_6 = (aot_gpr_6 + aot_gpr_4); - aot_gpr_5 = (aot_gpr_16 + static_cast(216)); - ctx.gpr[31] = (0x089D24E4u); - aot_gpr_4 = (ctx.gpr[7] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D24E4u) goto L_089D24E4; + aot_gpr_5 = (ctx.gpr[16] + static_cast(216)); + aot_gpr_31 = (0x089D24E4u); + aot_gpr_4 = (aot_gpr_7 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58100, 213u, 23u, 0x08B58100u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D24E4u) goto L_089D24E4; AOT_REGCACHE_SYNC_OUT(); return; L_089D24E4: { const bool branch_taken = ctx.gpr[2] != 0u; @@ -5311,7 +5312,7 @@ L_089D24E4: } L_089D24EC: aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(342))); - aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(342))); + aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(342))); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop if (branch_taken) { @@ -5321,7 +5322,7 @@ L_089D24EC: } L_089D24FC: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(344))); - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(344))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(344))); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop if (branch_taken) { @@ -5331,7 +5332,7 @@ L_089D24FC: } L_089D250C: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(346))); - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(346))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(346))); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop if (branch_taken) { @@ -5346,12 +5347,12 @@ L_089D2520: ctx.gpr[2] = (ctx.gpr[18] & 255u); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; - ctx.gpr[31] = aot_run_words[3]; + aot_gpr_31 = aot_run_words[3]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -5359,25 +5360,25 @@ L_089D2520: AOT_REGCACHE_SYNC_OUT(); return; L_089D253C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[16], ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - aot_gpr_16 = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); ctx.gpr[17] = (aot_gpr_4 | 0u); aot_gpr_4 = (2235u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28628)); aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(4), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(0))); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(0), static_cast(aot_gpr_4)); aot_gpr_4 = (2235u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28612)); aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(4), aot_gpr_4); aot_gpr_4 = (ctx.gpr[17] + static_cast(16)); - ctx.gpr[31] = (0x089D2580u); - aot_gpr_5 = (aot_gpr_16 + static_cast(16)); + aot_gpr_31 = (0x089D2580u); + aot_gpr_5 = (ctx.gpr[16] + static_cast(16)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 912u, 0x0885F828u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D2580u) goto L_089D2580; AOT_REGCACHE_SYNC_OUT(); return; L_089D2580: - aot_gpr_4 = (aot_gpr_16 + static_cast(96)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(96)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -5392,7 +5393,7 @@ L_089D2580: const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_4 = (aot_gpr_16 + static_cast(112)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(112)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -5407,7 +5408,7 @@ L_089D2580: const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_4 = (aot_gpr_16 + static_cast(128)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(128)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -5422,7 +5423,7 @@ L_089D2580: const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_4 = (aot_gpr_16 + static_cast(144)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(144)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -5437,56 +5438,56 @@ L_089D2580: const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(160))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(160))); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(160), static_cast(aot_gpr_4)); aot_gpr_4 = (2235u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-26772)); aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(4), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(176))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(176))); aot_mem.aot_direct_store16(ctx.gpr[17] + static_cast(176), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(178))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(178))); aot_mem.aot_direct_store16(ctx.gpr[17] + static_cast(178), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(180))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(180))); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(180), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(181))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(181))); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(181), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(182))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(182))); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(182), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(183))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(183))); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(183), static_cast(aot_gpr_4)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(184))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(184))); aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(184), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(188))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(188))); aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(188), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (ctx.gpr[17] + static_cast(192)); - aot_gpr_5 = (aot_gpr_16 + static_cast(192)); + aot_gpr_5 = (ctx.gpr[16] + static_cast(192)); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); - ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(2)))))); - aot_gpr_8 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(4)))))); + aot_gpr_7 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(2)))))); + ctx.gpr[8] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(4)))))); aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_6)); - aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(2), static_cast(ctx.gpr[7])); - aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(4), static_cast(aot_gpr_8)); + aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(2), static_cast(aot_gpr_7)); + aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(4), static_cast(ctx.gpr[8])); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(6)))))); - ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(8)))))); - aot_gpr_8 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(10)))))); + aot_gpr_7 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(8)))))); + ctx.gpr[8] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(10)))))); aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(6), static_cast(aot_gpr_6)); - aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(8), static_cast(ctx.gpr[7])); - aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(10), static_cast(aot_gpr_8)); + aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(8), static_cast(aot_gpr_7)); + aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(10), static_cast(ctx.gpr[8])); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(12)))))); - ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(14)))))); - aot_gpr_8 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(16)))))); + aot_gpr_7 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(14)))))); + ctx.gpr[8] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(16)))))); aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(12), static_cast(aot_gpr_6)); - aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(14), static_cast(ctx.gpr[7])); - aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(16), static_cast(aot_gpr_8)); + aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(14), static_cast(aot_gpr_7)); + aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(16), static_cast(ctx.gpr[8])); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(18)))))); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(20)))))); aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(18), static_cast(aot_gpr_6)); aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(20), static_cast(aot_gpr_5)); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(214))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(214))); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(214), static_cast(aot_gpr_4)); aot_gpr_6 = (0u | 0u); aot_gpr_5 = (ctx.gpr[17] + static_cast(216)); - aot_gpr_4 = (aot_gpr_16 + static_cast(216)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(216)); goto L_089D2688; L_089D2688: { std::uint32_t aot_run_words[3]{}; @@ -5495,22 +5496,22 @@ L_089D2688: aot_fpr_13 = std::bit_cast(aot_run_words[1]); aot_fpr_14 = std::bit_cast(aot_run_words[2]); } - ctx.gpr[7] = (std::bit_cast(aot_fpr_12)); + aot_gpr_7 = (std::bit_cast(aot_fpr_12)); ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(12))); - aot_gpr_8 = (std::bit_cast(aot_fpr_13)); - aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), ctx.gpr[7]); + ctx.gpr[8] = (std::bit_cast(aot_fpr_13)); + aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_7); ctx.gpr[9] = (std::bit_cast(aot_fpr_14)); - aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(4), aot_gpr_8); - ctx.gpr[7] = (std::bit_cast(ctx.fpr[15])); + aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(4), ctx.gpr[8]); + aot_gpr_7 = (std::bit_cast(ctx.fpr[15])); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(8), ctx.gpr[9]); - aot_gpr_8 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); + ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); ctx.gpr[9] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); - { const std::uint32_t aot_run_words[3]{ctx.gpr[7], aot_gpr_8, ctx.gpr[9]}; + { const std::uint32_t aot_run_words[3]{aot_gpr_7, ctx.gpr[8], ctx.gpr[9]}; aot_mem.aot_direct_store32_block(aot_gpr_5 + static_cast(12), aot_run_words); } aot_gpr_6 = (aot_gpr_6 + static_cast(1)); aot_gpr_5 = (aot_gpr_5 + static_cast(24)); - ctx.gpr[7] = (static_cast(aot_gpr_6) < 5 ? 1u : 0u); - { const bool branch_taken = ctx.gpr[7] != 0u; + aot_gpr_7 = (static_cast(aot_gpr_6) < 5 ? 1u : 0u); + { const bool branch_taken = aot_gpr_7 != 0u; aot_gpr_4 = (aot_gpr_4 + static_cast(24)); if (branch_taken) { goto L_089D2688; @@ -5518,32 +5519,32 @@ L_089D2688: goto L_089D26DC; } L_089D26DC: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(336))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(336))); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(336), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(337))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(337))); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(337), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(338))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(338))); aot_mem.aot_direct_store16(ctx.gpr[17] + static_cast(338), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(340))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(340))); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(340), static_cast(aot_gpr_4)); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(341)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(341)))))); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(341), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(342))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(342))); aot_mem.aot_direct_store16(ctx.gpr[17] + static_cast(342), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(344))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(344))); ctx.gpr[2] = (ctx.gpr[17] | 0u); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(344), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(345))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(345))); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(345), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(346))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(346))); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(346), static_cast(aot_gpr_4)); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; - ctx.gpr[31] = aot_run_words[2]; + aot_gpr_31 = aot_run_words[2]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -5551,7 +5552,7 @@ L_089D26DC: AOT_REGCACHE_SYNC_OUT(); return; L_089D273C: ctx.gpr[2] = (2205u << 16u); - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; ctx.gpr[2] = (ctx.gpr[2] + static_cast(10044)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -5559,13 +5560,13 @@ L_089D273C: AOT_REGCACHE_SYNC_OUT(); return; L_089D2748: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[31]); - ctx.gpr[31] = (0x089D2758u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); + aot_gpr_31 = (0x089D2758u); // nop goto L_089D273C; L_089D2758: - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -5573,37 +5574,37 @@ L_089D2758: AOT_REGCACHE_SYNC_OUT(); return; L_089D2764: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_5 | 0u); - { const std::uint32_t aot_run_words[3]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[31]}; + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_5 | 0u); + { const std::uint32_t aot_run_words[3]{ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(4), aot_run_words); } - ctx.gpr[31] = (0x089D2784u); + aot_gpr_31 = (0x089D2784u); ctx.gpr[18] = (0u | 0u); goto L_089D273C; L_089D2784: - if (ctx.gpr[2] == aot_gpr_16) { + if (ctx.gpr[2] == ctx.gpr[16]) { ctx.gpr[18] = (0u | 1u); goto L_089D27CC; } goto L_089D278C; L_089D278C: - ctx.gpr[31] = (0x089D2794u); + aot_gpr_31 = (0x089D2794u); ctx.gpr[17] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0034_entry, 34u, 400u, 0x0888E51Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D2794u) goto L_089D2794; AOT_REGCACHE_SYNC_OUT(); return; L_089D2794: - if (ctx.gpr[2] == aot_gpr_16) { + if (ctx.gpr[2] == ctx.gpr[16]) { ctx.gpr[17] = (0u | 1u); goto L_089D27BC; } goto L_089D279C; L_089D279C: - ctx.gpr[31] = (0x089D27A4u); + aot_gpr_31 = (0x089D27A4u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0165_entry, 165u, 295u, 0x08A9A6CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D27A4u) goto L_089D27A4; AOT_REGCACHE_SYNC_OUT(); return; L_089D27A4: - aot_gpr_4 = (ctx.gpr[2] ^ aot_gpr_16); + aot_gpr_4 = (ctx.gpr[2] ^ ctx.gpr[16]); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 == 0u; @@ -5634,12 +5635,12 @@ L_089D27CC: ctx.gpr[2] = (ctx.gpr[18] & 255u); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; - ctx.gpr[31] = aot_run_words[3]; + aot_gpr_31 = aot_run_words[3]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -5649,10 +5650,10 @@ L_089D27E8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); ctx.gpr[17] = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_16 = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); if (branch_taken) { goto L_089D2838; } @@ -5662,18 +5663,18 @@ L_089D2804: aot_gpr_4 = (2235u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-26756)); aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(108), aot_gpr_4); - ctx.gpr[31] = (0x089D2818u); + aot_gpr_31 = (0x089D2818u); aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0165_entry, 165u, 425u, 0x08A9B6A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D2818u) goto L_089D2818; AOT_REGCACHE_SYNC_OUT(); return; L_089D2818: aot_gpr_4 = (ctx.gpr[17] | 0u); - ctx.gpr[31] = (0x089D2824u); + aot_gpr_31 = (0x089D2824u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0034_entry, 34u, 411u, 0x0888E5E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D2824u) goto L_089D2824; AOT_REGCACHE_SYNC_OUT(); return; L_089D2824: - aot_gpr_4 = (aot_gpr_16 & 1u); + aot_gpr_4 = (ctx.gpr[16] & 1u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -5682,25 +5683,25 @@ L_089D2824: goto L_089D2830; } L_089D2830: - ctx.gpr[31] = (0x089D2838u); + aot_gpr_31 = (0x089D2838u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D2838u) goto L_089D2838; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D2838u) goto L_089D2838; AOT_REGCACHE_SYNC_OUT(); return; L_089D2838: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; - ctx.gpr[31] = aot_run_words[2]; + aot_gpr_31 = aot_run_words[2]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_089D284C: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; ctx.gpr[2] = (0u | 1u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -5712,15 +5713,15 @@ L_089D2854: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_4); aot_gpr_4 = (2237u << 16u); aot_gpr_5 = (0u | 352u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[31]); - ctx.gpr[31] = (0x089D2878u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[16]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); + aot_gpr_31 = (0x089D2878u); aot_gpr_4 = (aot_gpr_4 + static_cast(-29120)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 501u, 0x08ABE57Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D2878u) goto L_089D2878; AOT_REGCACHE_SYNC_OUT(); return; L_089D2878: - aot_gpr_16 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (ctx.gpr[2] | 0u); + { const bool branch_taken = ctx.gpr[16] == 0u; ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); if (branch_taken) { goto L_089D2890; @@ -5728,16 +5729,16 @@ L_089D2878: goto L_089D2884; } L_089D2884: - ctx.gpr[31] = (0x089D288Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_31 = (0x089D288Cu); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_089D202C; L_089D288C: - ctx.gpr[2] = (aot_gpr_16 | 0u); + ctx.gpr[2] = (ctx.gpr[16] | 0u); goto L_089D2890; L_089D2890: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); - jump_target = ctx.gpr[31]; + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -5745,7 +5746,7 @@ L_089D2890: AOT_REGCACHE_SYNC_OUT(); return; L_089D28A0: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_4 = (aot_gpr_5 | 0u); if (branch_taken) { @@ -5757,17 +5758,17 @@ L_089D28B0: aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_5 = (0u | 3u); aot_gpr_6 = (aot_gpr_6 + static_cast(8)); - ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(0)))))); + aot_gpr_7 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(0)))))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(4))); jump_target = aot_gpr_6; - ctx.gpr[31] = (0x089D28CCu); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[7]); + aot_gpr_31 = (0x089D28CCu); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_7); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D28CCu) goto L_089D28CC; AOT_REGCACHE_SYNC_OUT(); return; L_089D28CC: - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -5780,16 +5781,16 @@ L_089D28D8: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_4); aot_gpr_4 = (2237u << 16u); aot_gpr_5 = (0u | 352u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[31]); - ctx.gpr[31] = (0x089D2900u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[16]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); + aot_gpr_31 = (0x089D2900u); aot_gpr_4 = (aot_gpr_4 + static_cast(-29120)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 501u, 0x08ABE57Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D2900u) goto L_089D2900; AOT_REGCACHE_SYNC_OUT(); return; L_089D2900: - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (ctx.gpr[2] | 0u); ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - { const bool branch_taken = aot_gpr_16 == 0u; + { const bool branch_taken = ctx.gpr[16] == 0u; aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); if (branch_taken) { goto L_089D2920; @@ -5798,16 +5799,16 @@ L_089D2900: } L_089D2910: aot_gpr_5 = (aot_gpr_4 | 0u); - ctx.gpr[31] = (0x089D291Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_31 = (0x089D291Cu); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_089D253C; L_089D291C: - ctx.gpr[2] = (aot_gpr_16 | 0u); + ctx.gpr[2] = (ctx.gpr[16] | 0u); goto L_089D2920; L_089D2920: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); - jump_target = ctx.gpr[31]; + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -5816,13 +5817,13 @@ L_089D2920: L_089D2930: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[31]); - ctx.gpr[31] = (0x089D2944u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); + aot_gpr_31 = (0x089D2944u); aot_gpr_5 = (aot_gpr_6 | 0u); goto L_089D23E0; L_089D2944: - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -5830,27 +5831,27 @@ L_089D2944: AOT_REGCACHE_SYNC_OUT(); return; L_089D2950: aot_gpr_29 = (aot_gpr_29 + static_cast(-64)); - { const std::uint32_t aot_run_words[6]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[6]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(28), aot_run_words); } - ctx.gpr[31] = (0x089D2974u); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_gpr_31 = (0x089D2974u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0034_entry, 34u, 409u, 0x0888E5A0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D2974u) goto L_089D2974; AOT_REGCACHE_SYNC_OUT(); return; L_089D2974: aot_gpr_4 = (2234u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(25592)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(108), aot_gpr_4); - aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(124), static_cast(0u)); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(218), static_cast(0u)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(108), aot_gpr_4); + aot_mem.aot_direct_store16(ctx.gpr[16] + static_cast(124), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(218), static_cast(0u)); aot_fpr_12 = std::bit_cast(0u); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(219), static_cast(0u)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(220), std::bit_cast(aot_fpr_12)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(224), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(219), static_cast(0u)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(220), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(224), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-11672))); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); ctx.gpr[17] = (0u | 0u); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-11672), aot_gpr_4); - ctx.gpr[31] = (0x089D29B0u); + aot_gpr_31 = (0x089D29B0u); aot_gpr_4 = (0u | 448u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D29B0u) goto L_089D29B0; AOT_REGCACHE_SYNC_OUT(); return; @@ -5865,8 +5866,8 @@ L_089D29B0: } L_089D29BC: aot_gpr_4 = (ctx.gpr[18] | 0u); - ctx.gpr[31] = (0x089D29C8u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_31 = (0x089D29C8u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0116_entry, 116u, 41u, 0x089D4258u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D29C8u) goto L_089D29C8; AOT_REGCACHE_SYNC_OUT(); return; L_089D29C8: @@ -5874,20 +5875,20 @@ L_089D29C8: aot_gpr_4 = (17036u << 16u); goto L_089D29D0; L_089D29D0: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(112), ctx.gpr[17]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(112), ctx.gpr[17]); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (17096u << 16u); aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(208), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_5 = (16076u << 16u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(112))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(112))); aot_gpr_5 = (aot_gpr_5 | 52429u); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(212), std::bit_cast(aot_fpr_12)); aot_fpr_13 = std::bit_cast(aot_gpr_5); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(112))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(112))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(208))); aot_fpr_12 = aot_fpr_13 / aot_fpr_12; - ctx.gpr[17] = (aot_gpr_16 | 0u); + ctx.gpr[17] = (ctx.gpr[16] | 0u); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(220), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(9628))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(9632))); @@ -5923,10 +5924,10 @@ L_089D2A38: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(9624))); aot_gpr_6 = (0u | 1u); aot_gpr_5 = (aot_gpr_4 - aot_gpr_5); - ctx.gpr[7] = (static_cast(static_cast(aot_gpr_5) >> 2u)); - ctx.gpr[7] = (ctx.gpr[7] >> 30u); + aot_gpr_7 = (static_cast(static_cast(aot_gpr_5) >> 2u)); + aot_gpr_7 = (aot_gpr_7 >> 30u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(4), static_cast(0u)); - aot_gpr_5 = (aot_gpr_5 + ctx.gpr[7]); + aot_gpr_5 = (aot_gpr_5 + aot_gpr_7); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_6); aot_gpr_5 = (static_cast(static_cast(aot_gpr_5) >> 2u)); aot_gpr_6 = (aot_gpr_5 < static_cast(1) ? 1u : 0u); @@ -5964,7 +5965,7 @@ L_089D2A8C: aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_4 = (ctx.gpr[18] << 2u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_5); - ctx.gpr[31] = (0x089D2AA0u); + aot_gpr_31 = (0x089D2AA0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_4); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 474u, 0x08ABE308u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D2AA0u) goto L_089D2AA0; AOT_REGCACHE_SYNC_OUT(); return; @@ -5980,7 +5981,7 @@ L_089D2AA0: } L_089D2AB0: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_4); - ctx.gpr[31] = (0x089D2ABCu); + aot_gpr_31 = (0x089D2ABCu); aot_gpr_4 = (aot_gpr_6 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 289u, 0x08B65438u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D2ABCu) goto L_089D2ABC; AOT_REGCACHE_SYNC_OUT(); return; @@ -6009,7 +6010,7 @@ L_089D2AD8: aot_gpr_5 = (aot_gpr_6 | 0u); ctx.gpr[20] = (aot_gpr_4 - aot_gpr_6); aot_gpr_4 = (ctx.gpr[19] | 0u); - ctx.gpr[31] = (0x089D2AECu); + aot_gpr_31 = (0x089D2AECu); aot_gpr_6 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 164u, 0x08AF54A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D2AECu) goto L_089D2AEC; AOT_REGCACHE_SYNC_OUT(); return; @@ -6049,9 +6050,9 @@ L_089D2B1C: goto L_089D2B28; } L_089D2B28: - ctx.gpr[31] = (0x089D2B30u); + aot_gpr_31 = (0x089D2B30u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D2B30u) goto L_089D2B30; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D2B30u) goto L_089D2B30; AOT_REGCACHE_SYNC_OUT(); return; L_089D2B30: aot_gpr_4 = (ctx.gpr[18] << 2u); @@ -6061,17 +6062,17 @@ L_089D2B30: aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(9632), aot_gpr_4); goto L_089D2B44; L_089D2B44: - ctx.gpr[2] = (aot_gpr_16 | 0u); + ctx.gpr[2] = (ctx.gpr[16] | 0u); { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(28), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; - ctx.gpr[31] = aot_run_words[5]; + aot_gpr_31 = aot_run_words[5]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(64)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -6081,11 +6082,11 @@ L_089D2B68: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), ctx.gpr[17]); ctx.gpr[17] = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_16); - { const std::uint32_t aot_run_words[3]{ctx.gpr[18], ctx.gpr[19], ctx.gpr[31]}; + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), ctx.gpr[16]); + { const std::uint32_t aot_run_words[3]{ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(32), aot_run_words); } - ctx.gpr[31] = (0x089D2B8Cu); - aot_gpr_16 = (aot_gpr_5 | 0u); + aot_gpr_31 = (0x089D2B8Cu); + ctx.gpr[16] = (aot_gpr_5 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0034_entry, 34u, 409u, 0x0888E5A0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D2B8Cu) goto L_089D2B8C; AOT_REGCACHE_SYNC_OUT(); return; L_089D2B8C: @@ -6103,15 +6104,15 @@ L_089D2B8C: aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-11672), aot_gpr_4); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_4 = (2237u << 16u); - aot_gpr_6 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x089D2BD0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); + aot_gpr_31 = (0x089D2BD0u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 736u, 0x08ADEF00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D2BD0u) goto L_089D2BD0; AOT_REGCACHE_SYNC_OUT(); return; L_089D2BD0: - aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(104), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(104), ctx.gpr[16]); ctx.gpr[18] = (0u | 0u); - ctx.gpr[31] = (0x089D2BE0u); + aot_gpr_31 = (0x089D2BE0u); aot_gpr_4 = (0u | 448u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D2BE0u) goto L_089D2BE0; AOT_REGCACHE_SYNC_OUT(); return; @@ -6126,7 +6127,7 @@ L_089D2BE0: } L_089D2BEC: aot_gpr_4 = (ctx.gpr[19] | 0u); - ctx.gpr[31] = (0x089D2BF8u); + aot_gpr_31 = (0x089D2BF8u); aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0116_entry, 116u, 41u, 0x089D4258u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D2BF8u) goto L_089D2BF8; AOT_REGCACHE_SYNC_OUT(); return; @@ -6150,14 +6151,14 @@ L_089D2C00: aot_fpr_12 = aot_fpr_13 / aot_fpr_12; aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(220), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(112))); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(86)))))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(92))); aot_gpr_6 = (aot_gpr_6 + static_cast(48)); - ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(0)))))); + aot_gpr_7 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(0)))))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(4))); jump_target = aot_gpr_6; - ctx.gpr[31] = (0x089D2C58u); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[7]); + aot_gpr_31 = (0x089D2C58u); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_7); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D2C58u) goto L_089D2C58; AOT_REGCACHE_SYNC_OUT(); return; @@ -6167,14 +6168,14 @@ L_089D2C58: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); jump_target = aot_gpr_6; - ctx.gpr[31] = (0x089D2C70u); + aot_gpr_31 = (0x089D2C70u); aot_gpr_4 = (ctx.gpr[17] + aot_gpr_5); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D2C70u) goto L_089D2C70; AOT_REGCACHE_SYNC_OUT(); return; L_089D2C70: - aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(1916))); - ctx.gpr[31] = (0x089D2C7Cu); + aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(1916))); + aot_gpr_31 = (0x089D2C7Cu); aot_gpr_4 = (ctx.gpr[17] | 0u); goto L_089D3450; L_089D2C7C: @@ -6183,7 +6184,7 @@ L_089D2C7C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_4); aot_gpr_4 = (2237u << 16u); aot_gpr_5 = (0u | 352u); - ctx.gpr[31] = (0x089D2C98u); + aot_gpr_31 = (0x089D2C98u); aot_gpr_4 = (aot_gpr_4 + static_cast(-29120)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 501u, 0x08ABE57Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D2C98u) goto L_089D2C98; AOT_REGCACHE_SYNC_OUT(); return; @@ -6198,8 +6199,8 @@ L_089D2C98: } L_089D2CA4: aot_gpr_4 = (ctx.gpr[18] | 0u); - ctx.gpr[31] = (0x089D2CB0u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_31 = (0x089D2CB0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); goto L_089D20A0; L_089D2CB0: aot_gpr_4 = (ctx.gpr[18] | 0u); @@ -6207,7 +6208,7 @@ L_089D2CB0: L_089D2CB4: aot_gpr_6 = (aot_gpr_4 | 0u); aot_gpr_4 = (ctx.gpr[17] | 0u); - ctx.gpr[31] = (0x089D2CC4u); + aot_gpr_31 = (0x089D2CC4u); aot_gpr_5 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0165_entry, 165u, 456u, 0x08A9B9F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D2CC4u) goto L_089D2CC4; AOT_REGCACHE_SYNC_OUT(); return; @@ -6215,13 +6216,13 @@ L_089D2CC4: ctx.gpr[2] = (ctx.gpr[17] | 0u); { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(24), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; - ctx.gpr[31] = aot_run_words[4]; + aot_gpr_31 = aot_run_words[4]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(48)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -6229,9 +6230,9 @@ L_089D2CC4: AOT_REGCACHE_SYNC_OUT(); return; L_089D2CE4: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); - { const std::uint32_t aot_run_words[3]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[31]}; + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); + { const std::uint32_t aot_run_words[3]{ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(12), aot_run_words); } { const bool branch_taken = aot_gpr_4 == 0u; ctx.gpr[17] = (aot_gpr_5 | 0u); @@ -6243,13 +6244,13 @@ L_089D2CE4: L_089D2D04: aot_gpr_4 = (2234u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(25592)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(108), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(108), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-11672))); aot_gpr_5 = (2237u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-1)); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-11672), aot_gpr_4); aot_gpr_4 = (aot_gpr_5 + static_cast(-28736)); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(3)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(3)))))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(100))); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(52))); aot_gpr_4 = (aot_gpr_5 ^ aot_gpr_4); @@ -6265,9 +6266,9 @@ L_089D2D04: L_089D2D44: ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(9628))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(9624))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_gpr_5 = (ctx.gpr[18] | 0u); - ctx.gpr[31] = (0x089D2D5Cu); + aot_gpr_31 = (0x089D2D5Cu); aot_gpr_6 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0218_entry, 218u, 256u, 0x08B6D560u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D2D5Cu) goto L_089D2D5C; AOT_REGCACHE_SYNC_OUT(); return; @@ -6302,8 +6303,8 @@ L_089D2D80: aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); goto L_089D2D84; L_089D2D84: - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - if (aot_gpr_6 == ctx.gpr[7]) { + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + if (aot_gpr_6 == aot_gpr_7) { aot_gpr_4 = (aot_gpr_4 + static_cast(4)); goto L_089D2DA0; } @@ -6341,11 +6342,11 @@ L_089D2DB8: goto L_089D2DC8; } L_089D2DC8: - ctx.gpr[7] = (aot_gpr_5 + static_cast(4)); - aot_gpr_6 = (aot_gpr_4 - ctx.gpr[7]); + aot_gpr_7 = (aot_gpr_5 + static_cast(4)); + aot_gpr_6 = (aot_gpr_4 - aot_gpr_7); aot_gpr_4 = (aot_gpr_5 | 0u); - ctx.gpr[31] = (0x089D2DDCu); - aot_gpr_5 = (ctx.gpr[7] | 0u); + aot_gpr_31 = (0x089D2DDCu); + aot_gpr_5 = (aot_gpr_7 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 164u, 0x08AF54A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D2DDCu) goto L_089D2DDC; AOT_REGCACHE_SYNC_OUT(); return; L_089D2DDC: @@ -6354,8 +6355,8 @@ L_089D2DDC: aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(9628), aot_gpr_4); goto L_089D2DE8; L_089D2DE8: - ctx.gpr[31] = (0x089D2DF0u); - ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(112))); + aot_gpr_31 = (0x089D2DF0u); + ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(112))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0132_entry, 132u, 623u, 0x08A17AF8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D2DF0u) goto L_089D2DF0; AOT_REGCACHE_SYNC_OUT(); return; L_089D2DF0: @@ -6367,12 +6368,12 @@ L_089D2DF0: goto L_089D2DF8; } L_089D2DF8: - ctx.gpr[31] = (0x089D2E00u); + aot_gpr_31 = (0x089D2E00u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0132_entry, 132u, 606u, 0x08A17A04u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D2E00u) goto L_089D2E00; AOT_REGCACHE_SYNC_OUT(); return; L_089D2E00: - ctx.gpr[31] = (0x089D2E08u); + aot_gpr_31 = (0x089D2E08u); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0031_entry, 31u, 79u, 0x0888089Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D2E08u) goto L_089D2E08; AOT_REGCACHE_SYNC_OUT(); return; @@ -6446,10 +6447,10 @@ L_089D2E6C: goto L_089D2E74; } L_089D2E74: - ctx.gpr[7] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(1912))); + aot_gpr_7 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(1912))); aot_gpr_6 = (0u | 0u); - ctx.gpr[7] = (static_cast(aot_gpr_6) < static_cast(ctx.gpr[7]) ? 1u : 0u); - { const bool branch_taken = ctx.gpr[7] == 0u; + aot_gpr_7 = (static_cast(aot_gpr_6) < static_cast(aot_gpr_7) ? 1u : 0u); + { const bool branch_taken = aot_gpr_7 == 0u; // nop if (branch_taken) { goto L_089D2F10; @@ -6457,10 +6458,10 @@ L_089D2E74: goto L_089D2E88; } L_089D2E88: - ctx.gpr[7] = (aot_gpr_6 << 2u); - ctx.gpr[7] = (aot_gpr_5 + ctx.gpr[7]); - ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(1824))); - { const bool branch_taken = ctx.gpr[7] != aot_gpr_16; + aot_gpr_7 = (aot_gpr_6 << 2u); + aot_gpr_7 = (aot_gpr_5 + aot_gpr_7); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_7 + static_cast(1824))); + { const bool branch_taken = aot_gpr_7 != ctx.gpr[16]; // nop if (branch_taken) { goto L_089D2EFC; @@ -6468,50 +6469,50 @@ L_089D2E88: goto L_089D2E9C; } L_089D2E9C: - aot_gpr_8 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(1912))); - ctx.gpr[7] = (aot_gpr_6 | 0u); - aot_gpr_8 = (aot_gpr_8 + static_cast(-1)); - aot_gpr_8 = (static_cast(ctx.gpr[7]) < static_cast(aot_gpr_8) ? 1u : 0u); - if (aot_gpr_8 == 0u) { - ctx.gpr[7] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(1912))); + ctx.gpr[8] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(1912))); + aot_gpr_7 = (aot_gpr_6 | 0u); + ctx.gpr[8] = (ctx.gpr[8] + static_cast(-1)); + ctx.gpr[8] = (static_cast(aot_gpr_7) < static_cast(ctx.gpr[8]) ? 1u : 0u); + if (ctx.gpr[8] == 0u) { + aot_gpr_7 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(1912))); goto L_089D2EE0; } goto L_089D2EB4; L_089D2EB4: - aot_gpr_8 = (ctx.gpr[7] << 2u); + ctx.gpr[8] = (aot_gpr_7 << 2u); goto L_089D2EB8; L_089D2EB8: - aot_gpr_8 = (aot_gpr_5 + aot_gpr_8); - ctx.gpr[9] = (aot_mem.aot_direct_load32(aot_gpr_8 + static_cast(1828))); - ctx.gpr[7] = (ctx.gpr[7] + static_cast(1)); - aot_mem.aot_direct_store32(aot_gpr_8 + static_cast(1824), ctx.gpr[9]); - aot_gpr_8 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(1912))); - aot_gpr_8 = (aot_gpr_8 + static_cast(-1)); - aot_gpr_8 = (static_cast(ctx.gpr[7]) < static_cast(aot_gpr_8) ? 1u : 0u); - { const bool branch_taken = aot_gpr_8 != 0u; - aot_gpr_8 = (ctx.gpr[7] << 2u); + ctx.gpr[8] = (aot_gpr_5 + ctx.gpr[8]); + ctx.gpr[9] = (aot_mem.aot_direct_load32(ctx.gpr[8] + static_cast(1828))); + aot_gpr_7 = (aot_gpr_7 + static_cast(1)); + aot_mem.aot_direct_store32(ctx.gpr[8] + static_cast(1824), ctx.gpr[9]); + ctx.gpr[8] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(1912))); + ctx.gpr[8] = (ctx.gpr[8] + static_cast(-1)); + ctx.gpr[8] = (static_cast(aot_gpr_7) < static_cast(ctx.gpr[8]) ? 1u : 0u); + { const bool branch_taken = ctx.gpr[8] != 0u; + ctx.gpr[8] = (aot_gpr_7 << 2u); if (branch_taken) { goto L_089D2EB8; } goto L_089D2EDC; } L_089D2EDC: - ctx.gpr[7] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(1912))); + aot_gpr_7 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(1912))); goto L_089D2EE0; L_089D2EE0: aot_gpr_6 = (aot_gpr_6 + static_cast(-1)); - ctx.gpr[7] = (ctx.gpr[7] + static_cast(-1)); - aot_mem.aot_direct_store16(aot_gpr_5 + static_cast(1912), static_cast(ctx.gpr[7])); - ctx.gpr[7] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(1912))); - ctx.gpr[7] = (ctx.gpr[7] << 2u); - ctx.gpr[7] = (aot_gpr_5 + ctx.gpr[7]); - aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(1824), 0u); + aot_gpr_7 = (aot_gpr_7 + static_cast(-1)); + aot_mem.aot_direct_store16(aot_gpr_5 + static_cast(1912), static_cast(aot_gpr_7)); + aot_gpr_7 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(1912))); + aot_gpr_7 = (aot_gpr_7 << 2u); + aot_gpr_7 = (aot_gpr_5 + aot_gpr_7); + aot_mem.aot_direct_store32(aot_gpr_7 + static_cast(1824), 0u); goto L_089D2EFC; L_089D2EFC: - ctx.gpr[7] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(1912))); + aot_gpr_7 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(1912))); aot_gpr_6 = (aot_gpr_6 + static_cast(1)); - ctx.gpr[7] = (static_cast(aot_gpr_6) < static_cast(ctx.gpr[7]) ? 1u : 0u); - { const bool branch_taken = ctx.gpr[7] != 0u; + aot_gpr_7 = (static_cast(aot_gpr_6) < static_cast(aot_gpr_7) ? 1u : 0u); + { const bool branch_taken = aot_gpr_7 != 0u; // nop if (branch_taken) { goto L_089D2E88; @@ -6530,7 +6531,7 @@ L_089D2F10: goto L_089D2F24; } L_089D2F24: - { const bool branch_taken = aot_gpr_16 == 0u; + { const bool branch_taken = ctx.gpr[16] == 0u; aot_gpr_4 = (ctx.gpr[17] & 1u); if (branch_taken) { goto L_089D2F50; @@ -6540,14 +6541,14 @@ L_089D2F24: L_089D2F2C: aot_gpr_4 = (2235u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-26756)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(108), aot_gpr_4); - ctx.gpr[31] = (0x089D2F40u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(108), aot_gpr_4); + aot_gpr_31 = (0x089D2F40u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0165_entry, 165u, 425u, 0x08A9B6A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D2F40u) goto L_089D2F40; AOT_REGCACHE_SYNC_OUT(); return; L_089D2F40: - aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x089D2F4Cu); + aot_gpr_4 = (ctx.gpr[16] | 0u); + aot_gpr_31 = (0x089D2F4Cu); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0034_entry, 34u, 411u, 0x0888E5E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D2F4Cu) goto L_089D2F4C; AOT_REGCACHE_SYNC_OUT(); return; @@ -6563,19 +6564,19 @@ L_089D2F50: goto L_089D2F58; } L_089D2F58: - ctx.gpr[31] = (0x089D2F60u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D2F60u) goto L_089D2F60; + aot_gpr_31 = (0x089D2F60u); + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D2F60u) goto L_089D2F60; AOT_REGCACHE_SYNC_OUT(); return; L_089D2F60: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(8), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; - ctx.gpr[31] = aot_run_words[3]; + aot_gpr_31 = aot_run_words[3]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -6583,13 +6584,13 @@ L_089D2F60: AOT_REGCACHE_SYNC_OUT(); return; L_089D2F78: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), aot_gpr_5); - { const std::uint32_t aot_run_words[3]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(24), aot_run_words); } - ctx.gpr[31] = (0x089D2F9Cu); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(104))); + aot_gpr_31 = (0x089D2F9Cu); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(104))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 73u, 0x08AD06ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D2F9Cu) goto L_089D2F9C; AOT_REGCACHE_SYNC_OUT(); return; L_089D2F9C: @@ -6598,7 +6599,7 @@ L_089D2F9C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_4); aot_gpr_4 = (2237u << 16u); aot_gpr_5 = (0u | 352u); - ctx.gpr[31] = (0x089D2FB8u); + aot_gpr_31 = (0x089D2FB8u); aot_gpr_4 = (aot_gpr_4 + static_cast(-29120)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 501u, 0x08ABE57Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D2FB8u) goto L_089D2FB8; AOT_REGCACHE_SYNC_OUT(); return; @@ -6612,8 +6613,8 @@ L_089D2FB8: goto L_089D2FC4; } L_089D2FC4: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(104))); - ctx.gpr[31] = (0x089D2FD0u); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(104))); + aot_gpr_31 = (0x089D2FD0u); aot_gpr_4 = (ctx.gpr[17] | 0u); goto L_089D20A0; L_089D2FD0: @@ -6621,20 +6622,20 @@ L_089D2FD0: goto L_089D2FD4; L_089D2FD4: aot_gpr_6 = (aot_gpr_4 | 0u); - aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x089D2FE4u); + aot_gpr_4 = (ctx.gpr[16] | 0u); + aot_gpr_31 = (0x089D2FE4u); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0165_entry, 165u, 456u, 0x08A9B9F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D2FE4u) goto L_089D2FE4; AOT_REGCACHE_SYNC_OUT(); return; L_089D2FE4: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(20), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; - ctx.gpr[31] = aot_run_words[3]; + aot_gpr_31 = aot_run_words[3]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(48)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -6643,24 +6644,24 @@ L_089D2FE4: L_089D2FFC: aot_gpr_29 = (aot_gpr_29 + static_cast(-64)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), aot_gpr_6); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), ctx.gpr[7]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), aot_gpr_7); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); - ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(68)))))); + aot_gpr_7 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(68)))))); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(0)))))); aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(30), static_cast(aot_gpr_6)); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(30)))))); - aot_gpr_6 = (ctx.gpr[7] - aot_gpr_6); + aot_gpr_6 = (aot_gpr_7 - aot_gpr_6); aot_gpr_6 = (aot_gpr_6 << 16u); aot_gpr_6 = (static_cast(static_cast(aot_gpr_6) >> 16u)); aot_gpr_6 = (static_cast(aot_gpr_6) < 0 ? 1u : 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), ctx.gpr[17]); ctx.gpr[17] = (aot_gpr_4 | 0u); aot_gpr_6 = (aot_gpr_6 & 255u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), aot_gpr_16); - { const std::uint32_t aot_run_words[3]{ctx.gpr[18], ctx.gpr[19], ctx.gpr[31]}; + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), ctx.gpr[16]); + { const std::uint32_t aot_run_words[3]{ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(52), aot_run_words); } { const bool branch_taken = aot_gpr_6 == 0u; - aot_gpr_16 = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); if (branch_taken) { goto L_089D3098; } @@ -6670,7 +6671,7 @@ L_089D3050: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(64)))))); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(32), static_cast(aot_gpr_5)); - ctx.gpr[31] = (0x089D3064u); + aot_gpr_31 = (0x089D3064u); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(32)))))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0165_entry, 165u, 440u, 0x08A9B864u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D3064u) goto L_089D3064; AOT_REGCACHE_SYNC_OUT(); return; @@ -6679,16 +6680,16 @@ L_089D3064: ctx.gpr[19] = (ctx.gpr[2] | 0u); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (0u + static_cast(-1)); - ctx.gpr[31] = (0x089D307Cu); + aot_gpr_31 = (0x089D307Cu); aot_gpr_6 = (0u | 12u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D307Cu) goto L_089D307C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D307Cu) goto L_089D307C; AOT_REGCACHE_SYNC_OUT(); return; L_089D307C: aot_gpr_4 = (ctx.gpr[17] | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_6 = (ctx.gpr[19] | 0u); - ctx.gpr[31] = (0x089D3090u); - ctx.gpr[7] = (ctx.gpr[18] | 0u); + aot_gpr_31 = (0x089D3090u); + aot_gpr_7 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0116_entry, 116u, 363u, 0x089D58F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D3090u) goto L_089D3090; AOT_REGCACHE_SYNC_OUT(); return; L_089D3090: @@ -6703,7 +6704,7 @@ L_089D3098: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(64)))))); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(34), static_cast(aot_gpr_5)); - ctx.gpr[31] = (0x089D30ACu); + aot_gpr_31 = (0x089D30ACu); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(34)))))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0165_entry, 165u, 440u, 0x08A9B864u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D30ACu) goto L_089D30AC; AOT_REGCACHE_SYNC_OUT(); return; @@ -6712,7 +6713,7 @@ L_089D30AC: ctx.gpr[18] = (ctx.gpr[2] | 0u); aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(36), static_cast(aot_gpr_4)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(36)))))); - ctx.gpr[31] = (0x089D30C4u); + aot_gpr_31 = (0x089D30C4u); aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0165_entry, 165u, 440u, 0x08A9B864u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D30C4u) goto L_089D30C4; AOT_REGCACHE_SYNC_OUT(); return; @@ -6725,30 +6726,30 @@ L_089D30C4: aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(40)))))); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (aot_gpr_5 - aot_gpr_6); - aot_gpr_8 = (aot_gpr_5 << 16u); - aot_gpr_8 = (static_cast(static_cast(aot_gpr_8) >> 16u)); - aot_gpr_5 = (aot_gpr_16 | 0u); + ctx.gpr[8] = (aot_gpr_5 << 16u); + ctx.gpr[8] = (static_cast(static_cast(ctx.gpr[8]) >> 16u)); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_6 = (ctx.gpr[18] | 0u); - ctx.gpr[31] = (0x089D30FCu); - ctx.gpr[7] = (ctx.gpr[2] | 0u); + aot_gpr_31 = (0x089D30FCu); + aot_gpr_7 = (ctx.gpr[2] | 0u); goto L_089D3460; L_089D30FC: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(44), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; - ctx.gpr[31] = aot_run_words[4]; + aot_gpr_31 = aot_run_words[4]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(64)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_089D3118: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; // nop local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -6758,19 +6759,19 @@ L_089D3120: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); ctx.gpr[17] = (aot_gpr_5 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_gpr_5 = (aot_gpr_4 | 0u); - aot_gpr_16 = (aot_gpr_6 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[31]); + ctx.gpr[16] = (aot_gpr_6 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); - ctx.gpr[31] = (0x089D314Cu); - aot_gpr_6 = (aot_gpr_16 | 0u); + aot_gpr_31 = (0x089D314Cu); + aot_gpr_6 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0034_entry, 34u, 421u, 0x0888E688u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D314Cu) goto L_089D314C; AOT_REGCACHE_SYNC_OUT(); return; L_089D314C: - aot_gpr_8 = (ctx.gpr[17] | 0u); - ctx.gpr[17] = (aot_mem.aot_direct_load8(aot_gpr_8 + static_cast(214))); + ctx.gpr[8] = (ctx.gpr[17] | 0u); + ctx.gpr[17] = (aot_mem.aot_direct_load8(ctx.gpr[8] + static_cast(214))); aot_gpr_4 = (0u | 0u); aot_gpr_6 = (aot_gpr_4 < ctx.gpr[17] ? 1u : 0u); { const bool branch_taken = aot_gpr_6 == 0u; @@ -6781,11 +6782,11 @@ L_089D314C: goto L_089D3164; } L_089D3164: - ctx.gpr[7] = (aot_gpr_16 + static_cast(216)); - aot_gpr_6 = (ctx.gpr[7] | 0u); + aot_gpr_7 = (ctx.gpr[16] + static_cast(216)); + aot_gpr_6 = (aot_gpr_7 | 0u); goto L_089D316C; L_089D316C: - ctx.gpr[9] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_8 + static_cast(232)))))); + ctx.gpr[9] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[8] + static_cast(232)))))); ctx.gpr[11] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(16)))))); { const bool branch_taken = ctx.gpr[9] != ctx.gpr[11]; ctx.gpr[10] = (aot_gpr_5 + static_cast(1)); @@ -6795,7 +6796,7 @@ L_089D316C: goto L_089D317C; } L_089D317C: - ctx.gpr[11] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_8 + static_cast(234)))))); + ctx.gpr[11] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[8] + static_cast(234)))))); ctx.gpr[2] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(18)))))); { const bool branch_taken = ctx.gpr[11] == ctx.gpr[2]; // nop @@ -6809,7 +6810,7 @@ L_089D318C: ctx.gpr[2] = (ctx.gpr[9] | 0u); ctx.gpr[9] = (ctx.gpr[11] + ctx.gpr[11]); ctx.gpr[9] = (ctx.gpr[11] + ctx.gpr[9]); - ctx.gpr[9] = (ctx.gpr[7] + ctx.gpr[9]); + ctx.gpr[9] = (aot_gpr_7 + ctx.gpr[9]); ctx.gpr[11] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[9] + static_cast(16)))))); { const bool branch_taken = ctx.gpr[2] != ctx.gpr[11]; // nop @@ -6819,7 +6820,7 @@ L_089D318C: goto L_089D31AC; } L_089D31AC: - ctx.gpr[11] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_8 + static_cast(234)))))); + ctx.gpr[11] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[8] + static_cast(234)))))); ctx.gpr[9] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[9] + static_cast(18)))))); { const bool branch_taken = ctx.gpr[11] != ctx.gpr[9]; // nop @@ -6853,7 +6854,7 @@ L_089D31D8: aot_gpr_4 = (aot_gpr_4 + static_cast(1)); ctx.gpr[9] = (aot_gpr_4 < ctx.gpr[17] ? 1u : 0u); { const bool branch_taken = ctx.gpr[9] != 0u; - aot_gpr_8 = (aot_gpr_8 + static_cast(24)); + ctx.gpr[8] = (ctx.gpr[8] + static_cast(24)); if (branch_taken) { goto L_089D316C; } @@ -6862,11 +6863,11 @@ L_089D31D8: L_089D31E8: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; - ctx.gpr[31] = aot_run_words[2]; + aot_gpr_31 = aot_run_words[2]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -6874,18 +6875,18 @@ L_089D31E8: AOT_REGCACHE_SYNC_OUT(); return; L_089D31FC: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); ctx.gpr[17] = (aot_gpr_5 | 0u); - aot_gpr_16 = (aot_gpr_6 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[31]); + ctx.gpr[16] = (aot_gpr_6 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_5 = (ctx.gpr[17] | 0u); - ctx.gpr[31] = (0x089D3220u); - aot_gpr_6 = (aot_gpr_16 | 0u); + aot_gpr_31 = (0x089D3220u); + aot_gpr_6 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0165_entry, 165u, 355u, 0x08A9AE40u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D3220u) goto L_089D3220; AOT_REGCACHE_SYNC_OUT(); return; L_089D3220: - aot_fpr_12 = std::bit_cast(aot_gpr_16); + aot_fpr_12 = std::bit_cast(ctx.gpr[16]); aot_gpr_4 = (15496u << 16u); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_gpr_4 = (aot_gpr_4 | 34953u); @@ -6934,11 +6935,11 @@ L_089D3270: L_089D3284: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; - ctx.gpr[31] = aot_run_words[2]; + aot_gpr_31 = aot_run_words[2]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -6949,46 +6950,46 @@ L_089D3298: aot_fpr_13 = std::bit_cast(0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), std::bit_cast(aot_fpr_13)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), std::bit_cast(aot_fpr_20)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), ctx.gpr[17]); aot_fpr_20 = std::bit_cast(std::bit_cast(aot_fpr_12)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(112))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(112))); ctx.gpr[17] = (aot_gpr_29 + static_cast(16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), std::bit_cast(ctx.fpr[22])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), ctx.gpr[18]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), ctx.gpr[31]); - ctx.gpr[31] = (0x089D32DCu); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), aot_gpr_31); + aot_gpr_31 = (0x089D32DCu); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(80))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0038_entry, 38u, 621u, 0x0889EB08u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D32DCu) goto L_089D32DC; AOT_REGCACHE_SYNC_OUT(); return; L_089D32DC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(148))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(148))); ctx.gpr[18] = (ctx.gpr[2] | 0u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); - ctx.gpr[31] = (0x089D32F0u); + aot_gpr_31 = (0x089D32F0u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 251u, 0x08969194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D32F0u) goto L_089D32F0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08969194, 89u, 251u, 0x08969194u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 251u, 0x08969194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D32F0u) goto L_089D32F0; AOT_REGCACHE_SYNC_OUT(); return; L_089D32F0: aot_gpr_4 = (ctx.gpr[18] | 0u); - ctx.gpr[31] = (0x089D32FCu); + aot_gpr_31 = (0x089D32FCu); ctx.gpr[18] = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D32FCu) goto L_089D32FC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0896918C, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D32FCu) goto L_089D32FC; AOT_REGCACHE_SYNC_OUT(); return; L_089D32FC: - ctx.gpr[7] = (ctx.gpr[18] << 6u); - ctx.gpr[7] = (ctx.gpr[2] + ctx.gpr[7]); + aot_gpr_7 = (ctx.gpr[18] << 6u); + aot_gpr_7 = (ctx.gpr[2] + aot_gpr_7); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); - ctx.gpr[31] = (0x089D3314u); + aot_gpr_31 = (0x089D3314u); aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 239u, 0x088619ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D3314u) goto L_089D3314; AOT_REGCACHE_SYNC_OUT(); return; L_089D3314: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(96))); { const bool branch_taken = aot_gpr_4 != 0u; ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); if (branch_taken) { @@ -6997,19 +6998,19 @@ L_089D3314: goto L_089D3320; } L_089D3320: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(10)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(10)))))); aot_gpr_6 = (aot_gpr_29 + static_cast(32)); - ctx.gpr[31] = (0x089D3330u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_31 = (0x089D3330u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D3330u) goto L_089D3330; AOT_REGCACHE_SYNC_OUT(); return; L_089D3330: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(32))); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(96), ctx.gpr[2]); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(4), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(4), static_cast(aot_gpr_4)); goto L_089D333C; L_089D333C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(96))); aot_gpr_4 = (aot_gpr_4 + static_cast(64)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); aot_fpr_12 = aot_fpr_12 + aot_fpr_20; @@ -7038,12 +7039,12 @@ L_089D3368: aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(36), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); - aot_gpr_16 = aot_run_words[2]; + ctx.gpr[16] = aot_run_words[2]; ctx.gpr[17] = aot_run_words[3]; ctx.gpr[18] = aot_run_words[4]; - ctx.gpr[31] = aot_run_words[5]; + aot_gpr_31 = aot_run_words[5]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(64)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -7059,18 +7060,18 @@ L_089D3388: ctx.gpr[18] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), std::bit_cast(aot_fpr_12)); ctx.gpr[17] = (aot_gpr_5 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), ctx.gpr[19]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), aot_gpr_31); { const bool branch_taken = static_cast(aot_gpr_6) <= 0; - aot_gpr_16 = (aot_gpr_6 | 0u); + ctx.gpr[16] = (aot_gpr_6 | 0u); if (branch_taken) { goto L_089D33CC; } goto L_089D33C0; } L_089D33C0: - aot_gpr_4 = (static_cast(aot_gpr_16) < 18 ? 1u : 0u); + aot_gpr_4 = (static_cast(ctx.gpr[16]) < 18 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -7101,32 +7102,32 @@ L_089D33CC: } L_089D33DC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(112))); - ctx.gpr[31] = (0x089D33E8u); + aot_gpr_31 = (0x089D33E8u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(80))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0038_entry, 38u, 621u, 0x0889EB08u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D33E8u) goto L_089D33E8; AOT_REGCACHE_SYNC_OUT(); return; L_089D33E8: ctx.gpr[19] = (ctx.gpr[2] | 0u); - aot_gpr_4 = (aot_gpr_16 << 2u); + aot_gpr_4 = (ctx.gpr[16] << 2u); aot_gpr_4 = (ctx.gpr[18] + aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(140))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); - ctx.gpr[31] = (0x089D3404u); + aot_gpr_31 = (0x089D3404u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 251u, 0x08969194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D3404u) goto L_089D3404; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08969194, 89u, 251u, 0x08969194u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 251u, 0x08969194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D3404u) goto L_089D3404; AOT_REGCACHE_SYNC_OUT(); return; L_089D3404: aot_gpr_4 = (ctx.gpr[19] | 0u); - ctx.gpr[31] = (0x089D3410u); - aot_gpr_16 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D3410u) goto L_089D3410; + aot_gpr_31 = (0x089D3410u); + ctx.gpr[16] = (ctx.gpr[2] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0896918C, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D3410u) goto L_089D3410; AOT_REGCACHE_SYNC_OUT(); return; L_089D3410: - ctx.gpr[7] = (aot_gpr_16 << 6u); - ctx.gpr[7] = (ctx.gpr[2] + ctx.gpr[7]); + aot_gpr_7 = (ctx.gpr[16] << 6u); + aot_gpr_7 = (ctx.gpr[2] + aot_gpr_7); aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_5 = (aot_gpr_29 | 0u); - ctx.gpr[31] = (0x089D3428u); + aot_gpr_31 = (0x089D3428u); aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 239u, 0x088619ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D3428u) goto L_089D3428; AOT_REGCACHE_SYNC_OUT(); return; @@ -7149,27 +7150,27 @@ L_089D3428: L_089D3434: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; - ctx.gpr[31] = aot_run_words[4]; + aot_gpr_31 = aot_run_words[4]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(48)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_089D3450: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(216), static_cast(aot_gpr_5)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_089D3458: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; ctx.gpr[2] = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(216))); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -7179,13 +7180,13 @@ L_089D3460: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[18]); ctx.gpr[18] = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[17]); ctx.gpr[17] = (aot_gpr_5 | 0u); - aot_gpr_16 = (aot_gpr_6 | 0u); + ctx.gpr[16] = (aot_gpr_6 | 0u); aot_gpr_4 = (aot_gpr_29 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), ctx.gpr[31]); - ctx.gpr[31] = (0x089D348Cu); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_31); + aot_gpr_31 = (0x089D348Cu); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0116_entry, 116u, 264u, 0x089D5288u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D348Cu) goto L_089D348C; AOT_REGCACHE_SYNC_OUT(); return; @@ -7201,9 +7202,9 @@ L_089D348C: L_089D3498: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); - aot_gpr_6 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x089D34ACu); - ctx.gpr[7] = (aot_gpr_29 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); + aot_gpr_31 = (0x089D34ACu); + aot_gpr_7 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0116_entry, 116u, 363u, 0x089D58F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D34ACu) goto L_089D34AC; AOT_REGCACHE_SYNC_OUT(); return; L_089D34AC: @@ -7220,12 +7221,12 @@ L_089D34B4: L_089D34B8: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(12), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; - ctx.gpr[31] = aot_run_words[3]; + aot_gpr_31 = aot_run_words[3]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -7240,7 +7241,7 @@ L_089D34D0: aot_fpr_12 = std::bit_cast(aot_gpr_4); ctx.gpr[2] = (0u | 0u); ctx.gpr[9] = (0u | 0u); - aot_gpr_8 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(20))); + ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(20))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_14 <= aot_fpr_12)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); @@ -7355,26 +7356,26 @@ L_089D35AC: goto L_089D35B4; } L_089D35B4: - aot_fpr_13 = std::bit_cast(ctx.gpr[7]); + aot_fpr_13 = std::bit_cast(aot_gpr_7); ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(12))); aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_13))); - ctx.gpr[7] = (15496u << 16u); - ctx.gpr[7] = (ctx.gpr[7] | 34953u); - ctx.fpr[15] = std::bit_cast(ctx.gpr[7]); + aot_gpr_7 = (15496u << 16u); + aot_gpr_7 = (aot_gpr_7 | 34953u); + ctx.fpr[15] = std::bit_cast(aot_gpr_7); { const float fs = aot_fpr_13; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } { const float fs = aot_fpr_13; const float ft = ctx.fpr[16]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_fpr_13 = aot_fpr_14 + aot_fpr_13; goto L_089D35D8; L_089D35D8: aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(8))); - ctx.gpr[7] = (48163u << 16u); + aot_gpr_7 = (48163u << 16u); aot_fpr_14 = aot_fpr_13 - aot_fpr_14; - ctx.gpr[9] = (ctx.gpr[7] | 55050u); + ctx.gpr[9] = (aot_gpr_7 | 55050u); ctx.fpr[15] = std::bit_cast(ctx.gpr[9]); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_14 <= ctx.fpr[15])) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); - ctx.gpr[7] = (0u | 0u); + aot_gpr_7 = (0u | 0u); if (branch_taken) { goto L_089D361C; } @@ -7387,20 +7388,20 @@ L_089D35FC: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_14 <= ctx.fpr[15])) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); - ctx.gpr[7] = (ctx.gpr[7] & 255u); + aot_gpr_7 = (aot_gpr_7 & 255u); if (branch_taken) { goto L_089D3620; } goto L_089D3618; } L_089D3618: - ctx.gpr[7] = (0u | 1u); + aot_gpr_7 = (0u | 1u); goto L_089D361C; L_089D361C: - ctx.gpr[7] = (ctx.gpr[7] & 255u); + aot_gpr_7 = (aot_gpr_7 & 255u); goto L_089D3620; L_089D3620: - { const bool branch_taken = ctx.gpr[7] != 0u; + { const bool branch_taken = aot_gpr_7 != 0u; // nop if (branch_taken) { goto L_089D3634; @@ -7427,7 +7428,7 @@ L_089D363C: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_14)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); - ctx.gpr[7] = (0u | 0u); + aot_gpr_7 = (0u | 0u); if (branch_taken) { goto L_089D3678; } @@ -7440,20 +7441,20 @@ L_089D3658: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_14)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); - ctx.gpr[7] = (ctx.gpr[7] & 255u); + aot_gpr_7 = (aot_gpr_7 & 255u); if (branch_taken) { goto L_089D367C; } goto L_089D3674; } L_089D3674: - ctx.gpr[7] = (0u | 1u); + aot_gpr_7 = (0u | 1u); goto L_089D3678; L_089D3678: - ctx.gpr[7] = (ctx.gpr[7] & 255u); + aot_gpr_7 = (aot_gpr_7 & 255u); goto L_089D367C; L_089D367C: - { const bool branch_taken = ctx.gpr[7] != 0u; + { const bool branch_taken = aot_gpr_7 != 0u; // nop if (branch_taken) { goto L_089D36A0; @@ -7465,7 +7466,7 @@ L_089D3684: ctx.gpr[10] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(16)))))); ctx.gpr[9] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(18)))))); ctx.gpr[2] = (ctx.gpr[2] | 8u); - ctx.gpr[7] = (ctx.gpr[11] & 65535u); + aot_gpr_7 = (ctx.gpr[11] & 65535u); { const bool branch_taken = 0u == 0u; aot_gpr_6 = (ctx.gpr[11] & aot_gpr_4); if (branch_taken) { @@ -7478,7 +7479,7 @@ L_089D36A0: ctx.gpr[11] = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(20))); ctx.gpr[10] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(16)))))); ctx.gpr[9] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(18)))))); - ctx.gpr[7] = (ctx.gpr[11] & 65535u); + aot_gpr_7 = (ctx.gpr[11] & 65535u); aot_gpr_6 = (ctx.gpr[11] & aot_gpr_4); goto L_089D36B8; L_089D36B8: @@ -7508,8 +7509,8 @@ L_089D36D8: ctx.gpr[2] = (ctx.gpr[2] | 16u); goto L_089D36E0; L_089D36E0: - aot_gpr_5 = (aot_gpr_8 & 65535u); - { const bool branch_taken = ctx.gpr[7] == aot_gpr_5; + aot_gpr_5 = (ctx.gpr[8] & 65535u); + { const bool branch_taken = aot_gpr_7 == aot_gpr_5; // nop if (branch_taken) { goto L_089D36F0; @@ -7520,7 +7521,7 @@ L_089D36EC: ctx.gpr[2] = (ctx.gpr[2] | 64u); goto L_089D36F0; L_089D36F0: - aot_gpr_4 = (aot_gpr_8 & aot_gpr_4); + aot_gpr_4 = (ctx.gpr[8] & aot_gpr_4); { const bool branch_taken = aot_gpr_6 == aot_gpr_4; // nop if (branch_taken) { @@ -7532,24 +7533,24 @@ L_089D36FC: ctx.gpr[2] = (ctx.gpr[2] | 128u); goto L_089D3700; L_089D3700: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; // nop local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_089D3708: - aot_gpr_4 = (ctx.gpr[7] & 255u); - aot_gpr_8 = (aot_mem.aot_direct_load_word_right(aot_gpr_5 + static_cast(0), aot_gpr_8)); - aot_gpr_8 = (aot_mem.aot_direct_load_word_left(aot_gpr_5 + static_cast(3), aot_gpr_8)); - aot_gpr_8 = (aot_gpr_8 & 65535u); - ctx.gpr[9] = (aot_gpr_5 + aot_gpr_8); - aot_gpr_8 = (aot_gpr_8 + static_cast(1)); - aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(0), static_cast(aot_gpr_8)); - ctx.gpr[1] = (static_cast(static_cast(aot_gpr_8) >> 8u)); + aot_gpr_4 = (aot_gpr_7 & 255u); + ctx.gpr[8] = (aot_mem.aot_direct_load_word_right(aot_gpr_5 + static_cast(0), ctx.gpr[8])); + ctx.gpr[8] = (aot_mem.aot_direct_load_word_left(aot_gpr_5 + static_cast(3), ctx.gpr[8])); + ctx.gpr[8] = (ctx.gpr[8] & 65535u); + ctx.gpr[9] = (aot_gpr_5 + ctx.gpr[8]); + ctx.gpr[8] = (ctx.gpr[8] + static_cast(1)); + aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(0), static_cast(ctx.gpr[8])); + ctx.gpr[1] = (static_cast(static_cast(ctx.gpr[8]) >> 8u)); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(1), static_cast(ctx.gpr[1])); aot_mem.aot_direct_store8(ctx.gpr[9] + static_cast(0), static_cast(aot_gpr_4)); - aot_gpr_4 = (ctx.gpr[7] & 1u); + aot_gpr_4 = (aot_gpr_7 & 1u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -7560,9 +7561,9 @@ L_089D3708: L_089D373C: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); - aot_gpr_8 = (aot_gpr_4 & 65535u); - aot_gpr_8 = (aot_gpr_8 & 65535u); - ctx.gpr[9] = (aot_gpr_8 & 255u); + ctx.gpr[8] = (aot_gpr_4 & 65535u); + ctx.gpr[8] = (ctx.gpr[8] & 65535u); + ctx.gpr[9] = (ctx.gpr[8] & 255u); ctx.gpr[10] = (aot_mem.aot_direct_load_word_right(aot_gpr_5 + static_cast(0), ctx.gpr[10])); ctx.gpr[10] = (aot_mem.aot_direct_load_word_left(aot_gpr_5 + static_cast(3), ctx.gpr[10])); ctx.gpr[10] = (ctx.gpr[10] & 65535u); @@ -7572,8 +7573,8 @@ L_089D373C: ctx.gpr[1] = (static_cast(static_cast(ctx.gpr[10]) >> 8u)); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(1), static_cast(ctx.gpr[1])); aot_mem.aot_direct_store8(ctx.gpr[11] + static_cast(0), static_cast(ctx.gpr[9])); - aot_gpr_8 = (static_cast(static_cast(aot_gpr_8) >> 8u)); - aot_gpr_8 = (aot_gpr_8 & 255u); + ctx.gpr[8] = (static_cast(static_cast(ctx.gpr[8]) >> 8u)); + ctx.gpr[8] = (ctx.gpr[8] & 255u); ctx.gpr[9] = (aot_mem.aot_direct_load_word_right(aot_gpr_5 + static_cast(0), ctx.gpr[9])); ctx.gpr[9] = (aot_mem.aot_direct_load_word_left(aot_gpr_5 + static_cast(3), ctx.gpr[9])); ctx.gpr[9] = (ctx.gpr[9] & 65535u); @@ -7582,10 +7583,10 @@ L_089D373C: aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(0), static_cast(ctx.gpr[9])); ctx.gpr[1] = (static_cast(static_cast(ctx.gpr[9]) >> 8u)); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(1), static_cast(ctx.gpr[1])); - aot_mem.aot_direct_store8(ctx.gpr[10] + static_cast(0), static_cast(aot_gpr_8)); + aot_mem.aot_direct_store8(ctx.gpr[10] + static_cast(0), static_cast(ctx.gpr[8])); aot_gpr_4 = (aot_gpr_4 >> 16u); aot_gpr_4 = (aot_gpr_4 & 65535u); - aot_gpr_8 = (aot_gpr_4 & 255u); + ctx.gpr[8] = (aot_gpr_4 & 255u); ctx.gpr[9] = (aot_mem.aot_direct_load_word_right(aot_gpr_5 + static_cast(0), ctx.gpr[9])); ctx.gpr[9] = (aot_mem.aot_direct_load_word_left(aot_gpr_5 + static_cast(3), ctx.gpr[9])); ctx.gpr[9] = (ctx.gpr[9] & 65535u); @@ -7594,21 +7595,21 @@ L_089D373C: aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(0), static_cast(ctx.gpr[9])); ctx.gpr[1] = (static_cast(static_cast(ctx.gpr[9]) >> 8u)); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(1), static_cast(ctx.gpr[1])); - aot_mem.aot_direct_store8(ctx.gpr[10] + static_cast(0), static_cast(aot_gpr_8)); + aot_mem.aot_direct_store8(ctx.gpr[10] + static_cast(0), static_cast(ctx.gpr[8])); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 8u)); aot_gpr_4 = (aot_gpr_4 & 255u); - aot_gpr_8 = (aot_mem.aot_direct_load_word_right(aot_gpr_5 + static_cast(0), aot_gpr_8)); - aot_gpr_8 = (aot_mem.aot_direct_load_word_left(aot_gpr_5 + static_cast(3), aot_gpr_8)); - aot_gpr_8 = (aot_gpr_8 & 65535u); - ctx.gpr[9] = (aot_gpr_5 + aot_gpr_8); - aot_gpr_8 = (aot_gpr_8 + static_cast(1)); - aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(0), static_cast(aot_gpr_8)); - ctx.gpr[1] = (static_cast(static_cast(aot_gpr_8) >> 8u)); + ctx.gpr[8] = (aot_mem.aot_direct_load_word_right(aot_gpr_5 + static_cast(0), ctx.gpr[8])); + ctx.gpr[8] = (aot_mem.aot_direct_load_word_left(aot_gpr_5 + static_cast(3), ctx.gpr[8])); + ctx.gpr[8] = (ctx.gpr[8] & 65535u); + ctx.gpr[9] = (aot_gpr_5 + ctx.gpr[8]); + ctx.gpr[8] = (ctx.gpr[8] + static_cast(1)); + aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(0), static_cast(ctx.gpr[8])); + ctx.gpr[1] = (static_cast(static_cast(ctx.gpr[8]) >> 8u)); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(1), static_cast(ctx.gpr[1])); aot_mem.aot_direct_store8(ctx.gpr[9] + static_cast(0), static_cast(aot_gpr_4)); goto L_089D37FC; L_089D37FC: - aot_gpr_4 = (ctx.gpr[7] & 2u); + aot_gpr_4 = (aot_gpr_7 & 2u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -7619,9 +7620,9 @@ L_089D37FC: L_089D3808: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(4))); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); - aot_gpr_8 = (aot_gpr_4 & 65535u); - aot_gpr_8 = (aot_gpr_8 & 65535u); - ctx.gpr[9] = (aot_gpr_8 & 255u); + ctx.gpr[8] = (aot_gpr_4 & 65535u); + ctx.gpr[8] = (ctx.gpr[8] & 65535u); + ctx.gpr[9] = (ctx.gpr[8] & 255u); ctx.gpr[10] = (aot_mem.aot_direct_load_word_right(aot_gpr_5 + static_cast(0), ctx.gpr[10])); ctx.gpr[10] = (aot_mem.aot_direct_load_word_left(aot_gpr_5 + static_cast(3), ctx.gpr[10])); ctx.gpr[10] = (ctx.gpr[10] & 65535u); @@ -7631,8 +7632,8 @@ L_089D3808: ctx.gpr[1] = (static_cast(static_cast(ctx.gpr[10]) >> 8u)); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(1), static_cast(ctx.gpr[1])); aot_mem.aot_direct_store8(ctx.gpr[11] + static_cast(0), static_cast(ctx.gpr[9])); - aot_gpr_8 = (static_cast(static_cast(aot_gpr_8) >> 8u)); - aot_gpr_8 = (aot_gpr_8 & 255u); + ctx.gpr[8] = (static_cast(static_cast(ctx.gpr[8]) >> 8u)); + ctx.gpr[8] = (ctx.gpr[8] & 255u); ctx.gpr[9] = (aot_mem.aot_direct_load_word_right(aot_gpr_5 + static_cast(0), ctx.gpr[9])); ctx.gpr[9] = (aot_mem.aot_direct_load_word_left(aot_gpr_5 + static_cast(3), ctx.gpr[9])); ctx.gpr[9] = (ctx.gpr[9] & 65535u); @@ -7641,10 +7642,10 @@ L_089D3808: aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(0), static_cast(ctx.gpr[9])); ctx.gpr[1] = (static_cast(static_cast(ctx.gpr[9]) >> 8u)); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(1), static_cast(ctx.gpr[1])); - aot_mem.aot_direct_store8(ctx.gpr[10] + static_cast(0), static_cast(aot_gpr_8)); + aot_mem.aot_direct_store8(ctx.gpr[10] + static_cast(0), static_cast(ctx.gpr[8])); aot_gpr_4 = (aot_gpr_4 >> 16u); aot_gpr_4 = (aot_gpr_4 & 65535u); - aot_gpr_8 = (aot_gpr_4 & 255u); + ctx.gpr[8] = (aot_gpr_4 & 255u); ctx.gpr[9] = (aot_mem.aot_direct_load_word_right(aot_gpr_5 + static_cast(0), ctx.gpr[9])); ctx.gpr[9] = (aot_mem.aot_direct_load_word_left(aot_gpr_5 + static_cast(3), ctx.gpr[9])); ctx.gpr[9] = (ctx.gpr[9] & 65535u); @@ -7653,21 +7654,21 @@ L_089D3808: aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(0), static_cast(ctx.gpr[9])); ctx.gpr[1] = (static_cast(static_cast(ctx.gpr[9]) >> 8u)); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(1), static_cast(ctx.gpr[1])); - aot_mem.aot_direct_store8(ctx.gpr[10] + static_cast(0), static_cast(aot_gpr_8)); + aot_mem.aot_direct_store8(ctx.gpr[10] + static_cast(0), static_cast(ctx.gpr[8])); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 8u)); aot_gpr_4 = (aot_gpr_4 & 255u); - aot_gpr_8 = (aot_mem.aot_direct_load_word_right(aot_gpr_5 + static_cast(0), aot_gpr_8)); - aot_gpr_8 = (aot_mem.aot_direct_load_word_left(aot_gpr_5 + static_cast(3), aot_gpr_8)); - aot_gpr_8 = (aot_gpr_8 & 65535u); - ctx.gpr[9] = (aot_gpr_5 + aot_gpr_8); - aot_gpr_8 = (aot_gpr_8 + static_cast(1)); - aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(0), static_cast(aot_gpr_8)); - ctx.gpr[1] = (static_cast(static_cast(aot_gpr_8) >> 8u)); + ctx.gpr[8] = (aot_mem.aot_direct_load_word_right(aot_gpr_5 + static_cast(0), ctx.gpr[8])); + ctx.gpr[8] = (aot_mem.aot_direct_load_word_left(aot_gpr_5 + static_cast(3), ctx.gpr[8])); + ctx.gpr[8] = (ctx.gpr[8] & 65535u); + ctx.gpr[9] = (aot_gpr_5 + ctx.gpr[8]); + ctx.gpr[8] = (ctx.gpr[8] + static_cast(1)); + aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(0), static_cast(ctx.gpr[8])); + ctx.gpr[1] = (static_cast(static_cast(ctx.gpr[8]) >> 8u)); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(1), static_cast(ctx.gpr[1])); aot_mem.aot_direct_store8(ctx.gpr[9] + static_cast(0), static_cast(aot_gpr_4)); goto L_089D38C8; L_089D38C8: - aot_gpr_4 = (ctx.gpr[7] & 4u); + aot_gpr_4 = (aot_gpr_7 & 4u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -7678,9 +7679,9 @@ L_089D38C8: L_089D38D4: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(8))); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); - aot_gpr_8 = (aot_gpr_4 & 65535u); - aot_gpr_8 = (aot_gpr_8 & 65535u); - ctx.gpr[9] = (aot_gpr_8 & 255u); + ctx.gpr[8] = (aot_gpr_4 & 65535u); + ctx.gpr[8] = (ctx.gpr[8] & 65535u); + ctx.gpr[9] = (ctx.gpr[8] & 255u); ctx.gpr[10] = (aot_mem.aot_direct_load_word_right(aot_gpr_5 + static_cast(0), ctx.gpr[10])); ctx.gpr[10] = (aot_mem.aot_direct_load_word_left(aot_gpr_5 + static_cast(3), ctx.gpr[10])); ctx.gpr[10] = (ctx.gpr[10] & 65535u); @@ -7690,8 +7691,8 @@ L_089D38D4: ctx.gpr[1] = (static_cast(static_cast(ctx.gpr[10]) >> 8u)); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(1), static_cast(ctx.gpr[1])); aot_mem.aot_direct_store8(ctx.gpr[11] + static_cast(0), static_cast(ctx.gpr[9])); - aot_gpr_8 = (static_cast(static_cast(aot_gpr_8) >> 8u)); - aot_gpr_8 = (aot_gpr_8 & 255u); + ctx.gpr[8] = (static_cast(static_cast(ctx.gpr[8]) >> 8u)); + ctx.gpr[8] = (ctx.gpr[8] & 255u); ctx.gpr[9] = (aot_mem.aot_direct_load_word_right(aot_gpr_5 + static_cast(0), ctx.gpr[9])); ctx.gpr[9] = (aot_mem.aot_direct_load_word_left(aot_gpr_5 + static_cast(3), ctx.gpr[9])); ctx.gpr[9] = (ctx.gpr[9] & 65535u); @@ -7700,10 +7701,10 @@ L_089D38D4: aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(0), static_cast(ctx.gpr[9])); ctx.gpr[1] = (static_cast(static_cast(ctx.gpr[9]) >> 8u)); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(1), static_cast(ctx.gpr[1])); - aot_mem.aot_direct_store8(ctx.gpr[10] + static_cast(0), static_cast(aot_gpr_8)); + aot_mem.aot_direct_store8(ctx.gpr[10] + static_cast(0), static_cast(ctx.gpr[8])); aot_gpr_4 = (aot_gpr_4 >> 16u); aot_gpr_4 = (aot_gpr_4 & 65535u); - aot_gpr_8 = (aot_gpr_4 & 255u); + ctx.gpr[8] = (aot_gpr_4 & 255u); ctx.gpr[9] = (aot_mem.aot_direct_load_word_right(aot_gpr_5 + static_cast(0), ctx.gpr[9])); ctx.gpr[9] = (aot_mem.aot_direct_load_word_left(aot_gpr_5 + static_cast(3), ctx.gpr[9])); ctx.gpr[9] = (ctx.gpr[9] & 65535u); @@ -7712,21 +7713,21 @@ L_089D38D4: aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(0), static_cast(ctx.gpr[9])); ctx.gpr[1] = (static_cast(static_cast(ctx.gpr[9]) >> 8u)); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(1), static_cast(ctx.gpr[1])); - aot_mem.aot_direct_store8(ctx.gpr[10] + static_cast(0), static_cast(aot_gpr_8)); + aot_mem.aot_direct_store8(ctx.gpr[10] + static_cast(0), static_cast(ctx.gpr[8])); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 8u)); aot_gpr_4 = (aot_gpr_4 & 255u); - aot_gpr_8 = (aot_mem.aot_direct_load_word_right(aot_gpr_5 + static_cast(0), aot_gpr_8)); - aot_gpr_8 = (aot_mem.aot_direct_load_word_left(aot_gpr_5 + static_cast(3), aot_gpr_8)); - aot_gpr_8 = (aot_gpr_8 & 65535u); - ctx.gpr[9] = (aot_gpr_5 + aot_gpr_8); - aot_gpr_8 = (aot_gpr_8 + static_cast(1)); - aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(0), static_cast(aot_gpr_8)); - ctx.gpr[1] = (static_cast(static_cast(aot_gpr_8) >> 8u)); + ctx.gpr[8] = (aot_mem.aot_direct_load_word_right(aot_gpr_5 + static_cast(0), ctx.gpr[8])); + ctx.gpr[8] = (aot_mem.aot_direct_load_word_left(aot_gpr_5 + static_cast(3), ctx.gpr[8])); + ctx.gpr[8] = (ctx.gpr[8] & 65535u); + ctx.gpr[9] = (aot_gpr_5 + ctx.gpr[8]); + ctx.gpr[8] = (ctx.gpr[8] + static_cast(1)); + aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(0), static_cast(ctx.gpr[8])); + ctx.gpr[1] = (static_cast(static_cast(ctx.gpr[8]) >> 8u)); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(1), static_cast(ctx.gpr[1])); aot_mem.aot_direct_store8(ctx.gpr[9] + static_cast(0), static_cast(aot_gpr_4)); goto L_089D3994; L_089D3994: - aot_gpr_4 = (ctx.gpr[7] & 8u); + aot_gpr_4 = (aot_gpr_7 & 8u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -7737,9 +7738,9 @@ L_089D3994: L_089D39A0: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(12))); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); - aot_gpr_8 = (aot_gpr_4 & 65535u); - aot_gpr_8 = (aot_gpr_8 & 65535u); - ctx.gpr[9] = (aot_gpr_8 & 255u); + ctx.gpr[8] = (aot_gpr_4 & 65535u); + ctx.gpr[8] = (ctx.gpr[8] & 65535u); + ctx.gpr[9] = (ctx.gpr[8] & 255u); ctx.gpr[10] = (aot_mem.aot_direct_load_word_right(aot_gpr_5 + static_cast(0), ctx.gpr[10])); ctx.gpr[10] = (aot_mem.aot_direct_load_word_left(aot_gpr_5 + static_cast(3), ctx.gpr[10])); ctx.gpr[10] = (ctx.gpr[10] & 65535u); @@ -7749,8 +7750,8 @@ L_089D39A0: ctx.gpr[1] = (static_cast(static_cast(ctx.gpr[10]) >> 8u)); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(1), static_cast(ctx.gpr[1])); aot_mem.aot_direct_store8(ctx.gpr[11] + static_cast(0), static_cast(ctx.gpr[9])); - aot_gpr_8 = (static_cast(static_cast(aot_gpr_8) >> 8u)); - aot_gpr_8 = (aot_gpr_8 & 255u); + ctx.gpr[8] = (static_cast(static_cast(ctx.gpr[8]) >> 8u)); + ctx.gpr[8] = (ctx.gpr[8] & 255u); ctx.gpr[9] = (aot_mem.aot_direct_load_word_right(aot_gpr_5 + static_cast(0), ctx.gpr[9])); ctx.gpr[9] = (aot_mem.aot_direct_load_word_left(aot_gpr_5 + static_cast(3), ctx.gpr[9])); ctx.gpr[9] = (ctx.gpr[9] & 65535u); @@ -7759,10 +7760,10 @@ L_089D39A0: aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(0), static_cast(ctx.gpr[9])); ctx.gpr[1] = (static_cast(static_cast(ctx.gpr[9]) >> 8u)); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(1), static_cast(ctx.gpr[1])); - aot_mem.aot_direct_store8(ctx.gpr[10] + static_cast(0), static_cast(aot_gpr_8)); + aot_mem.aot_direct_store8(ctx.gpr[10] + static_cast(0), static_cast(ctx.gpr[8])); aot_gpr_4 = (aot_gpr_4 >> 16u); aot_gpr_4 = (aot_gpr_4 & 65535u); - aot_gpr_8 = (aot_gpr_4 & 255u); + ctx.gpr[8] = (aot_gpr_4 & 255u); ctx.gpr[9] = (aot_mem.aot_direct_load_word_right(aot_gpr_5 + static_cast(0), ctx.gpr[9])); ctx.gpr[9] = (aot_mem.aot_direct_load_word_left(aot_gpr_5 + static_cast(3), ctx.gpr[9])); ctx.gpr[9] = (ctx.gpr[9] & 65535u); @@ -7771,21 +7772,21 @@ L_089D39A0: aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(0), static_cast(ctx.gpr[9])); ctx.gpr[1] = (static_cast(static_cast(ctx.gpr[9]) >> 8u)); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(1), static_cast(ctx.gpr[1])); - aot_mem.aot_direct_store8(ctx.gpr[10] + static_cast(0), static_cast(aot_gpr_8)); + aot_mem.aot_direct_store8(ctx.gpr[10] + static_cast(0), static_cast(ctx.gpr[8])); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 8u)); aot_gpr_4 = (aot_gpr_4 & 255u); - aot_gpr_8 = (aot_mem.aot_direct_load_word_right(aot_gpr_5 + static_cast(0), aot_gpr_8)); - aot_gpr_8 = (aot_mem.aot_direct_load_word_left(aot_gpr_5 + static_cast(3), aot_gpr_8)); - aot_gpr_8 = (aot_gpr_8 & 65535u); - ctx.gpr[9] = (aot_gpr_5 + aot_gpr_8); - aot_gpr_8 = (aot_gpr_8 + static_cast(1)); - aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(0), static_cast(aot_gpr_8)); - ctx.gpr[1] = (static_cast(static_cast(aot_gpr_8) >> 8u)); + ctx.gpr[8] = (aot_mem.aot_direct_load_word_right(aot_gpr_5 + static_cast(0), ctx.gpr[8])); + ctx.gpr[8] = (aot_mem.aot_direct_load_word_left(aot_gpr_5 + static_cast(3), ctx.gpr[8])); + ctx.gpr[8] = (ctx.gpr[8] & 65535u); + ctx.gpr[9] = (aot_gpr_5 + ctx.gpr[8]); + ctx.gpr[8] = (ctx.gpr[8] + static_cast(1)); + aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(0), static_cast(ctx.gpr[8])); + ctx.gpr[1] = (static_cast(static_cast(ctx.gpr[8]) >> 8u)); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(1), static_cast(ctx.gpr[1])); aot_mem.aot_direct_store8(ctx.gpr[9] + static_cast(0), static_cast(aot_gpr_4)); goto L_089D3A60; L_089D3A60: - aot_gpr_4 = (ctx.gpr[7] & 16u); + aot_gpr_4 = (aot_gpr_7 & 16u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -7799,7 +7800,7 @@ L_089D3A6C: aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 16u)); aot_gpr_4 = (aot_gpr_4 & 65535u); aot_gpr_4 = (aot_gpr_4 & 65535u); - aot_gpr_8 = (aot_gpr_4 & 255u); + ctx.gpr[8] = (aot_gpr_4 & 255u); ctx.gpr[9] = (aot_mem.aot_direct_load_word_right(aot_gpr_5 + static_cast(0), ctx.gpr[9])); ctx.gpr[9] = (aot_mem.aot_direct_load_word_left(aot_gpr_5 + static_cast(3), ctx.gpr[9])); ctx.gpr[9] = (ctx.gpr[9] & 65535u); @@ -7808,21 +7809,21 @@ L_089D3A6C: aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(0), static_cast(ctx.gpr[9])); ctx.gpr[1] = (static_cast(static_cast(ctx.gpr[9]) >> 8u)); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(1), static_cast(ctx.gpr[1])); - aot_mem.aot_direct_store8(ctx.gpr[10] + static_cast(0), static_cast(aot_gpr_8)); + aot_mem.aot_direct_store8(ctx.gpr[10] + static_cast(0), static_cast(ctx.gpr[8])); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 8u)); aot_gpr_4 = (aot_gpr_4 & 255u); - aot_gpr_8 = (aot_mem.aot_direct_load_word_right(aot_gpr_5 + static_cast(0), aot_gpr_8)); - aot_gpr_8 = (aot_mem.aot_direct_load_word_left(aot_gpr_5 + static_cast(3), aot_gpr_8)); - aot_gpr_8 = (aot_gpr_8 & 65535u); - ctx.gpr[9] = (aot_gpr_5 + aot_gpr_8); - aot_gpr_8 = (aot_gpr_8 + static_cast(1)); - aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(0), static_cast(aot_gpr_8)); - ctx.gpr[1] = (static_cast(static_cast(aot_gpr_8) >> 8u)); + ctx.gpr[8] = (aot_mem.aot_direct_load_word_right(aot_gpr_5 + static_cast(0), ctx.gpr[8])); + ctx.gpr[8] = (aot_mem.aot_direct_load_word_left(aot_gpr_5 + static_cast(3), ctx.gpr[8])); + ctx.gpr[8] = (ctx.gpr[8] & 65535u); + ctx.gpr[9] = (aot_gpr_5 + ctx.gpr[8]); + ctx.gpr[8] = (ctx.gpr[8] + static_cast(1)); + aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(0), static_cast(ctx.gpr[8])); + ctx.gpr[1] = (static_cast(static_cast(ctx.gpr[8]) >> 8u)); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(1), static_cast(ctx.gpr[1])); aot_mem.aot_direct_store8(ctx.gpr[9] + static_cast(0), static_cast(aot_gpr_4)); goto L_089D3AD4; L_089D3AD4: - aot_gpr_4 = (ctx.gpr[7] & 32u); + aot_gpr_4 = (aot_gpr_7 & 32u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -7836,7 +7837,7 @@ L_089D3AE0: aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 16u)); aot_gpr_4 = (aot_gpr_4 & 65535u); aot_gpr_4 = (aot_gpr_4 & 65535u); - aot_gpr_8 = (aot_gpr_4 & 255u); + ctx.gpr[8] = (aot_gpr_4 & 255u); ctx.gpr[9] = (aot_mem.aot_direct_load_word_right(aot_gpr_5 + static_cast(0), ctx.gpr[9])); ctx.gpr[9] = (aot_mem.aot_direct_load_word_left(aot_gpr_5 + static_cast(3), ctx.gpr[9])); ctx.gpr[9] = (ctx.gpr[9] & 65535u); @@ -7845,21 +7846,21 @@ L_089D3AE0: aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(0), static_cast(ctx.gpr[9])); ctx.gpr[1] = (static_cast(static_cast(ctx.gpr[9]) >> 8u)); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(1), static_cast(ctx.gpr[1])); - aot_mem.aot_direct_store8(ctx.gpr[10] + static_cast(0), static_cast(aot_gpr_8)); + aot_mem.aot_direct_store8(ctx.gpr[10] + static_cast(0), static_cast(ctx.gpr[8])); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 8u)); aot_gpr_4 = (aot_gpr_4 & 255u); - aot_gpr_8 = (aot_mem.aot_direct_load_word_right(aot_gpr_5 + static_cast(0), aot_gpr_8)); - aot_gpr_8 = (aot_mem.aot_direct_load_word_left(aot_gpr_5 + static_cast(3), aot_gpr_8)); - aot_gpr_8 = (aot_gpr_8 & 65535u); - ctx.gpr[9] = (aot_gpr_5 + aot_gpr_8); - aot_gpr_8 = (aot_gpr_8 + static_cast(1)); - aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(0), static_cast(aot_gpr_8)); - ctx.gpr[1] = (static_cast(static_cast(aot_gpr_8) >> 8u)); + ctx.gpr[8] = (aot_mem.aot_direct_load_word_right(aot_gpr_5 + static_cast(0), ctx.gpr[8])); + ctx.gpr[8] = (aot_mem.aot_direct_load_word_left(aot_gpr_5 + static_cast(3), ctx.gpr[8])); + ctx.gpr[8] = (ctx.gpr[8] & 65535u); + ctx.gpr[9] = (aot_gpr_5 + ctx.gpr[8]); + ctx.gpr[8] = (ctx.gpr[8] + static_cast(1)); + aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(0), static_cast(ctx.gpr[8])); + ctx.gpr[1] = (static_cast(static_cast(ctx.gpr[8]) >> 8u)); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(1), static_cast(ctx.gpr[1])); aot_mem.aot_direct_store8(ctx.gpr[9] + static_cast(0), static_cast(aot_gpr_4)); goto L_089D3B48; L_089D3B48: - aot_gpr_4 = (ctx.gpr[7] & 64u); + aot_gpr_4 = (aot_gpr_7 & 64u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -7871,7 +7872,7 @@ L_089D3B54: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(20))); aot_gpr_4 = (aot_gpr_4 & 65535u); aot_gpr_4 = (aot_gpr_4 & 65535u); - aot_gpr_8 = (aot_gpr_4 & 255u); + ctx.gpr[8] = (aot_gpr_4 & 255u); ctx.gpr[9] = (aot_mem.aot_direct_load_word_right(aot_gpr_5 + static_cast(0), ctx.gpr[9])); ctx.gpr[9] = (aot_mem.aot_direct_load_word_left(aot_gpr_5 + static_cast(3), ctx.gpr[9])); ctx.gpr[9] = (ctx.gpr[9] & 65535u); @@ -7880,21 +7881,21 @@ L_089D3B54: aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(0), static_cast(ctx.gpr[9])); ctx.gpr[1] = (static_cast(static_cast(ctx.gpr[9]) >> 8u)); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(1), static_cast(ctx.gpr[1])); - aot_mem.aot_direct_store8(ctx.gpr[10] + static_cast(0), static_cast(aot_gpr_8)); + aot_mem.aot_direct_store8(ctx.gpr[10] + static_cast(0), static_cast(ctx.gpr[8])); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 8u)); aot_gpr_4 = (aot_gpr_4 & 255u); - aot_gpr_8 = (aot_mem.aot_direct_load_word_right(aot_gpr_5 + static_cast(0), aot_gpr_8)); - aot_gpr_8 = (aot_mem.aot_direct_load_word_left(aot_gpr_5 + static_cast(3), aot_gpr_8)); - aot_gpr_8 = (aot_gpr_8 & 65535u); - ctx.gpr[9] = (aot_gpr_5 + aot_gpr_8); - aot_gpr_8 = (aot_gpr_8 + static_cast(1)); - aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(0), static_cast(aot_gpr_8)); - ctx.gpr[1] = (static_cast(static_cast(aot_gpr_8) >> 8u)); + ctx.gpr[8] = (aot_mem.aot_direct_load_word_right(aot_gpr_5 + static_cast(0), ctx.gpr[8])); + ctx.gpr[8] = (aot_mem.aot_direct_load_word_left(aot_gpr_5 + static_cast(3), ctx.gpr[8])); + ctx.gpr[8] = (ctx.gpr[8] & 65535u); + ctx.gpr[9] = (aot_gpr_5 + ctx.gpr[8]); + ctx.gpr[8] = (ctx.gpr[8] + static_cast(1)); + aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(0), static_cast(ctx.gpr[8])); + ctx.gpr[1] = (static_cast(static_cast(ctx.gpr[8]) >> 8u)); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(1), static_cast(ctx.gpr[1])); aot_mem.aot_direct_store8(ctx.gpr[9] + static_cast(0), static_cast(aot_gpr_4)); goto L_089D3BB4; L_089D3BB4: - aot_gpr_4 = (ctx.gpr[7] & 128u); + aot_gpr_4 = (aot_gpr_7 & 128u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -7907,29 +7908,29 @@ L_089D3BC0: aot_gpr_4 = (aot_gpr_4 >> 16u); aot_gpr_4 = (aot_gpr_4 & 65535u); aot_gpr_6 = (aot_gpr_4 & 255u); - ctx.gpr[7] = (aot_mem.aot_direct_load_word_right(aot_gpr_5 + static_cast(0), ctx.gpr[7])); - ctx.gpr[7] = (aot_mem.aot_direct_load_word_left(aot_gpr_5 + static_cast(3), ctx.gpr[7])); - ctx.gpr[7] = (ctx.gpr[7] & 65535u); - aot_gpr_8 = (aot_gpr_5 + ctx.gpr[7]); - ctx.gpr[7] = (ctx.gpr[7] + static_cast(1)); - aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(0), static_cast(ctx.gpr[7])); - ctx.gpr[1] = (static_cast(static_cast(ctx.gpr[7]) >> 8u)); + aot_gpr_7 = (aot_mem.aot_direct_load_word_right(aot_gpr_5 + static_cast(0), aot_gpr_7)); + aot_gpr_7 = (aot_mem.aot_direct_load_word_left(aot_gpr_5 + static_cast(3), aot_gpr_7)); + aot_gpr_7 = (aot_gpr_7 & 65535u); + ctx.gpr[8] = (aot_gpr_5 + aot_gpr_7); + aot_gpr_7 = (aot_gpr_7 + static_cast(1)); + aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(0), static_cast(aot_gpr_7)); + ctx.gpr[1] = (static_cast(static_cast(aot_gpr_7) >> 8u)); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(1), static_cast(ctx.gpr[1])); - aot_mem.aot_direct_store8(aot_gpr_8 + static_cast(0), static_cast(aot_gpr_6)); + aot_mem.aot_direct_store8(ctx.gpr[8] + static_cast(0), static_cast(aot_gpr_6)); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 8u)); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_6 = (aot_mem.aot_direct_load_word_right(aot_gpr_5 + static_cast(0), aot_gpr_6)); aot_gpr_6 = (aot_mem.aot_direct_load_word_left(aot_gpr_5 + static_cast(3), aot_gpr_6)); aot_gpr_6 = (aot_gpr_6 & 65535u); - ctx.gpr[7] = (aot_gpr_5 + aot_gpr_6); + aot_gpr_7 = (aot_gpr_5 + aot_gpr_6); aot_gpr_6 = (aot_gpr_6 + static_cast(1)); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(0), static_cast(aot_gpr_6)); ctx.gpr[1] = (static_cast(static_cast(aot_gpr_6) >> 8u)); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(1), static_cast(ctx.gpr[1])); - aot_mem.aot_direct_store8(ctx.gpr[7] + static_cast(0), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(aot_gpr_7 + static_cast(0), static_cast(aot_gpr_4)); goto L_089D3C20; L_089D3C20: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; // nop local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -7938,11 +7939,11 @@ L_089D3C20: L_089D3C28: aot_gpr_5 = (aot_gpr_5 + static_cast(4)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); - ctx.gpr[7] = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), ctx.gpr[7]); + aot_gpr_7 = (aot_gpr_4 + static_cast(1)); + aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_7); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0))); - ctx.gpr[7] = (aot_gpr_4 & 1u); - { const bool branch_taken = ctx.gpr[7] == 0u; + aot_gpr_7 = (aot_gpr_4 & 1u); + { const bool branch_taken = aot_gpr_7 == 0u; // nop if (branch_taken) { goto L_089D3CB0; @@ -7950,36 +7951,36 @@ L_089D3C28: goto L_089D3C48; } L_089D3C48: - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); - aot_gpr_8 = (ctx.gpr[7] + static_cast(1)); - aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_8); - ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[7] + static_cast(0))); - aot_gpr_8 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); - ctx.gpr[9] = (aot_gpr_8 + static_cast(1)); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); + ctx.gpr[8] = (aot_gpr_7 + static_cast(1)); + aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), ctx.gpr[8]); + aot_gpr_7 = (aot_mem.aot_direct_load8(aot_gpr_7 + static_cast(0))); + ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); + ctx.gpr[9] = (ctx.gpr[8] + static_cast(1)); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), ctx.gpr[9]); - aot_gpr_8 = (aot_mem.aot_direct_load8(aot_gpr_8 + static_cast(0))); - aot_gpr_8 = (aot_gpr_8 << 8u); - ctx.gpr[7] = (ctx.gpr[7] | aot_gpr_8); - ctx.gpr[7] = (ctx.gpr[7] & 65535u); - aot_gpr_8 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); - ctx.gpr[9] = (aot_gpr_8 + static_cast(1)); + ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[8] + static_cast(0))); + ctx.gpr[8] = (ctx.gpr[8] << 8u); + aot_gpr_7 = (aot_gpr_7 | ctx.gpr[8]); + aot_gpr_7 = (aot_gpr_7 & 65535u); + ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); + ctx.gpr[9] = (ctx.gpr[8] + static_cast(1)); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), ctx.gpr[9]); - aot_gpr_8 = (aot_mem.aot_direct_load8(aot_gpr_8 + static_cast(0))); + ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[8] + static_cast(0))); ctx.gpr[9] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); ctx.gpr[10] = (ctx.gpr[9] + static_cast(1)); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), ctx.gpr[10]); ctx.gpr[9] = (aot_mem.aot_direct_load8(ctx.gpr[9] + static_cast(0))); ctx.gpr[9] = (ctx.gpr[9] << 8u); - aot_gpr_8 = (aot_gpr_8 | ctx.gpr[9]); - aot_gpr_8 = (aot_gpr_8 & 65535u); - aot_gpr_8 = (aot_gpr_8 << 16u); - ctx.gpr[7] = (ctx.gpr[7] | aot_gpr_8); - aot_fpr_12 = std::bit_cast(ctx.gpr[7]); + ctx.gpr[8] = (ctx.gpr[8] | ctx.gpr[9]); + ctx.gpr[8] = (ctx.gpr[8] & 65535u); + ctx.gpr[8] = (ctx.gpr[8] << 16u); + aot_gpr_7 = (aot_gpr_7 | ctx.gpr[8]); + aot_fpr_12 = std::bit_cast(aot_gpr_7); aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(0), std::bit_cast(aot_fpr_12)); goto L_089D3CB0; L_089D3CB0: - ctx.gpr[7] = (aot_gpr_4 & 2u); - { const bool branch_taken = ctx.gpr[7] == 0u; + aot_gpr_7 = (aot_gpr_4 & 2u); + { const bool branch_taken = aot_gpr_7 == 0u; // nop if (branch_taken) { goto L_089D3D24; @@ -7987,36 +7988,36 @@ L_089D3CB0: goto L_089D3CBC; } L_089D3CBC: - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); - aot_gpr_8 = (ctx.gpr[7] + static_cast(1)); - aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_8); - ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[7] + static_cast(0))); - aot_gpr_8 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); - ctx.gpr[9] = (aot_gpr_8 + static_cast(1)); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); + ctx.gpr[8] = (aot_gpr_7 + static_cast(1)); + aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), ctx.gpr[8]); + aot_gpr_7 = (aot_mem.aot_direct_load8(aot_gpr_7 + static_cast(0))); + ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); + ctx.gpr[9] = (ctx.gpr[8] + static_cast(1)); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), ctx.gpr[9]); - aot_gpr_8 = (aot_mem.aot_direct_load8(aot_gpr_8 + static_cast(0))); - aot_gpr_8 = (aot_gpr_8 << 8u); - ctx.gpr[7] = (ctx.gpr[7] | aot_gpr_8); - ctx.gpr[7] = (ctx.gpr[7] & 65535u); - aot_gpr_8 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); - ctx.gpr[9] = (aot_gpr_8 + static_cast(1)); + ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[8] + static_cast(0))); + ctx.gpr[8] = (ctx.gpr[8] << 8u); + aot_gpr_7 = (aot_gpr_7 | ctx.gpr[8]); + aot_gpr_7 = (aot_gpr_7 & 65535u); + ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); + ctx.gpr[9] = (ctx.gpr[8] + static_cast(1)); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), ctx.gpr[9]); - aot_gpr_8 = (aot_mem.aot_direct_load8(aot_gpr_8 + static_cast(0))); + ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[8] + static_cast(0))); ctx.gpr[9] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); ctx.gpr[10] = (ctx.gpr[9] + static_cast(1)); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), ctx.gpr[10]); ctx.gpr[9] = (aot_mem.aot_direct_load8(ctx.gpr[9] + static_cast(0))); ctx.gpr[9] = (ctx.gpr[9] << 8u); - aot_gpr_8 = (aot_gpr_8 | ctx.gpr[9]); - aot_gpr_8 = (aot_gpr_8 & 65535u); - aot_gpr_8 = (aot_gpr_8 << 16u); - ctx.gpr[7] = (ctx.gpr[7] | aot_gpr_8); - aot_fpr_12 = std::bit_cast(ctx.gpr[7]); + ctx.gpr[8] = (ctx.gpr[8] | ctx.gpr[9]); + ctx.gpr[8] = (ctx.gpr[8] & 65535u); + ctx.gpr[8] = (ctx.gpr[8] << 16u); + aot_gpr_7 = (aot_gpr_7 | ctx.gpr[8]); + aot_fpr_12 = std::bit_cast(aot_gpr_7); aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(4), std::bit_cast(aot_fpr_12)); goto L_089D3D24; L_089D3D24: - ctx.gpr[7] = (aot_gpr_4 & 4u); - { const bool branch_taken = ctx.gpr[7] == 0u; + aot_gpr_7 = (aot_gpr_4 & 4u); + { const bool branch_taken = aot_gpr_7 == 0u; // nop if (branch_taken) { goto L_089D3D98; @@ -8024,36 +8025,36 @@ L_089D3D24: goto L_089D3D30; } L_089D3D30: - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); - aot_gpr_8 = (ctx.gpr[7] + static_cast(1)); - aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_8); - ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[7] + static_cast(0))); - aot_gpr_8 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); - ctx.gpr[9] = (aot_gpr_8 + static_cast(1)); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); + ctx.gpr[8] = (aot_gpr_7 + static_cast(1)); + aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), ctx.gpr[8]); + aot_gpr_7 = (aot_mem.aot_direct_load8(aot_gpr_7 + static_cast(0))); + ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); + ctx.gpr[9] = (ctx.gpr[8] + static_cast(1)); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), ctx.gpr[9]); - aot_gpr_8 = (aot_mem.aot_direct_load8(aot_gpr_8 + static_cast(0))); - aot_gpr_8 = (aot_gpr_8 << 8u); - ctx.gpr[7] = (ctx.gpr[7] | aot_gpr_8); - ctx.gpr[7] = (ctx.gpr[7] & 65535u); - aot_gpr_8 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); - ctx.gpr[9] = (aot_gpr_8 + static_cast(1)); + ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[8] + static_cast(0))); + ctx.gpr[8] = (ctx.gpr[8] << 8u); + aot_gpr_7 = (aot_gpr_7 | ctx.gpr[8]); + aot_gpr_7 = (aot_gpr_7 & 65535u); + ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); + ctx.gpr[9] = (ctx.gpr[8] + static_cast(1)); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), ctx.gpr[9]); - aot_gpr_8 = (aot_mem.aot_direct_load8(aot_gpr_8 + static_cast(0))); + ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[8] + static_cast(0))); ctx.gpr[9] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); ctx.gpr[10] = (ctx.gpr[9] + static_cast(1)); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), ctx.gpr[10]); ctx.gpr[9] = (aot_mem.aot_direct_load8(ctx.gpr[9] + static_cast(0))); ctx.gpr[9] = (ctx.gpr[9] << 8u); - aot_gpr_8 = (aot_gpr_8 | ctx.gpr[9]); - aot_gpr_8 = (aot_gpr_8 & 65535u); - aot_gpr_8 = (aot_gpr_8 << 16u); - ctx.gpr[7] = (ctx.gpr[7] | aot_gpr_8); - aot_fpr_12 = std::bit_cast(ctx.gpr[7]); + ctx.gpr[8] = (ctx.gpr[8] | ctx.gpr[9]); + ctx.gpr[8] = (ctx.gpr[8] & 65535u); + ctx.gpr[8] = (ctx.gpr[8] << 16u); + aot_gpr_7 = (aot_gpr_7 | ctx.gpr[8]); + aot_fpr_12 = std::bit_cast(aot_gpr_7); aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(8), std::bit_cast(aot_fpr_12)); goto L_089D3D98; L_089D3D98: - ctx.gpr[7] = (aot_gpr_4 & 8u); - { const bool branch_taken = ctx.gpr[7] == 0u; + aot_gpr_7 = (aot_gpr_4 & 8u); + { const bool branch_taken = aot_gpr_7 == 0u; // nop if (branch_taken) { goto L_089D3E0C; @@ -8061,36 +8062,36 @@ L_089D3D98: goto L_089D3DA4; } L_089D3DA4: - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); - aot_gpr_8 = (ctx.gpr[7] + static_cast(1)); - aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_8); - ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[7] + static_cast(0))); - aot_gpr_8 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); - ctx.gpr[9] = (aot_gpr_8 + static_cast(1)); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); + ctx.gpr[8] = (aot_gpr_7 + static_cast(1)); + aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), ctx.gpr[8]); + aot_gpr_7 = (aot_mem.aot_direct_load8(aot_gpr_7 + static_cast(0))); + ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); + ctx.gpr[9] = (ctx.gpr[8] + static_cast(1)); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), ctx.gpr[9]); - aot_gpr_8 = (aot_mem.aot_direct_load8(aot_gpr_8 + static_cast(0))); - aot_gpr_8 = (aot_gpr_8 << 8u); - ctx.gpr[7] = (ctx.gpr[7] | aot_gpr_8); - ctx.gpr[7] = (ctx.gpr[7] & 65535u); - aot_gpr_8 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); - ctx.gpr[9] = (aot_gpr_8 + static_cast(1)); + ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[8] + static_cast(0))); + ctx.gpr[8] = (ctx.gpr[8] << 8u); + aot_gpr_7 = (aot_gpr_7 | ctx.gpr[8]); + aot_gpr_7 = (aot_gpr_7 & 65535u); + ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); + ctx.gpr[9] = (ctx.gpr[8] + static_cast(1)); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), ctx.gpr[9]); - aot_gpr_8 = (aot_mem.aot_direct_load8(aot_gpr_8 + static_cast(0))); + ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[8] + static_cast(0))); ctx.gpr[9] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); ctx.gpr[10] = (ctx.gpr[9] + static_cast(1)); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), ctx.gpr[10]); ctx.gpr[9] = (aot_mem.aot_direct_load8(ctx.gpr[9] + static_cast(0))); ctx.gpr[9] = (ctx.gpr[9] << 8u); - aot_gpr_8 = (aot_gpr_8 | ctx.gpr[9]); - aot_gpr_8 = (aot_gpr_8 & 65535u); - aot_gpr_8 = (aot_gpr_8 << 16u); - ctx.gpr[7] = (ctx.gpr[7] | aot_gpr_8); - aot_fpr_12 = std::bit_cast(ctx.gpr[7]); + ctx.gpr[8] = (ctx.gpr[8] | ctx.gpr[9]); + ctx.gpr[8] = (ctx.gpr[8] & 65535u); + ctx.gpr[8] = (ctx.gpr[8] << 16u); + aot_gpr_7 = (aot_gpr_7 | ctx.gpr[8]); + aot_fpr_12 = std::bit_cast(aot_gpr_7); aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(12), std::bit_cast(aot_fpr_12)); goto L_089D3E0C; L_089D3E0C: - ctx.gpr[7] = (aot_gpr_4 & 16u); - { const bool branch_taken = ctx.gpr[7] == 0u; + aot_gpr_7 = (aot_gpr_4 & 16u); + { const bool branch_taken = aot_gpr_7 == 0u; // nop if (branch_taken) { goto L_089D3E44; @@ -8098,21 +8099,21 @@ L_089D3E0C: goto L_089D3E18; } L_089D3E18: - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); - aot_gpr_8 = (ctx.gpr[7] + static_cast(1)); - aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_8); - ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[7] + static_cast(0))); - aot_gpr_8 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); - ctx.gpr[9] = (aot_gpr_8 + static_cast(1)); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); + ctx.gpr[8] = (aot_gpr_7 + static_cast(1)); + aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), ctx.gpr[8]); + aot_gpr_7 = (aot_mem.aot_direct_load8(aot_gpr_7 + static_cast(0))); + ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); + ctx.gpr[9] = (ctx.gpr[8] + static_cast(1)); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), ctx.gpr[9]); - aot_gpr_8 = (aot_mem.aot_direct_load8(aot_gpr_8 + static_cast(0))); - aot_gpr_8 = (aot_gpr_8 << 8u); - ctx.gpr[7] = (ctx.gpr[7] | aot_gpr_8); - aot_mem.aot_direct_store16(aot_gpr_6 + static_cast(16), static_cast(ctx.gpr[7])); + ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[8] + static_cast(0))); + ctx.gpr[8] = (ctx.gpr[8] << 8u); + aot_gpr_7 = (aot_gpr_7 | ctx.gpr[8]); + aot_mem.aot_direct_store16(aot_gpr_6 + static_cast(16), static_cast(aot_gpr_7)); goto L_089D3E44; L_089D3E44: - ctx.gpr[7] = (aot_gpr_4 & 32u); - { const bool branch_taken = ctx.gpr[7] == 0u; + aot_gpr_7 = (aot_gpr_4 & 32u); + { const bool branch_taken = aot_gpr_7 == 0u; // nop if (branch_taken) { goto L_089D3E7C; @@ -8120,21 +8121,21 @@ L_089D3E44: goto L_089D3E50; } L_089D3E50: - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); - aot_gpr_8 = (ctx.gpr[7] + static_cast(1)); - aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_8); - ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[7] + static_cast(0))); - aot_gpr_8 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); - ctx.gpr[9] = (aot_gpr_8 + static_cast(1)); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); + ctx.gpr[8] = (aot_gpr_7 + static_cast(1)); + aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), ctx.gpr[8]); + aot_gpr_7 = (aot_mem.aot_direct_load8(aot_gpr_7 + static_cast(0))); + ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); + ctx.gpr[9] = (ctx.gpr[8] + static_cast(1)); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), ctx.gpr[9]); - aot_gpr_8 = (aot_mem.aot_direct_load8(aot_gpr_8 + static_cast(0))); - aot_gpr_8 = (aot_gpr_8 << 8u); - ctx.gpr[7] = (ctx.gpr[7] | aot_gpr_8); - aot_mem.aot_direct_store16(aot_gpr_6 + static_cast(18), static_cast(ctx.gpr[7])); + ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[8] + static_cast(0))); + ctx.gpr[8] = (ctx.gpr[8] << 8u); + aot_gpr_7 = (aot_gpr_7 | ctx.gpr[8]); + aot_mem.aot_direct_store16(aot_gpr_6 + static_cast(18), static_cast(aot_gpr_7)); goto L_089D3E7C; L_089D3E7C: - ctx.gpr[7] = (aot_gpr_4 & 64u); - { const bool branch_taken = ctx.gpr[7] == 0u; + aot_gpr_7 = (aot_gpr_4 & 64u); + { const bool branch_taken = aot_gpr_7 == 0u; // nop if (branch_taken) { goto L_089D3EC8; @@ -8142,22 +8143,22 @@ L_089D3E7C: goto L_089D3E88; } L_089D3E88: - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(20))); - aot_gpr_8 = (65535u << 16u); - ctx.gpr[7] = (ctx.gpr[7] & aot_gpr_8); - aot_gpr_8 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); - ctx.gpr[9] = (aot_gpr_8 + static_cast(1)); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(20))); + ctx.gpr[8] = (65535u << 16u); + aot_gpr_7 = (aot_gpr_7 & ctx.gpr[8]); + ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); + ctx.gpr[9] = (ctx.gpr[8] + static_cast(1)); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), ctx.gpr[9]); - aot_gpr_8 = (aot_mem.aot_direct_load8(aot_gpr_8 + static_cast(0))); + ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[8] + static_cast(0))); ctx.gpr[9] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); ctx.gpr[10] = (ctx.gpr[9] + static_cast(1)); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), ctx.gpr[10]); ctx.gpr[9] = (aot_mem.aot_direct_load8(ctx.gpr[9] + static_cast(0))); ctx.gpr[9] = (ctx.gpr[9] << 8u); - aot_gpr_8 = (aot_gpr_8 | ctx.gpr[9]); - aot_gpr_8 = (aot_gpr_8 & 65535u); - ctx.gpr[7] = (ctx.gpr[7] | aot_gpr_8); - aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(20), ctx.gpr[7]); + ctx.gpr[8] = (ctx.gpr[8] | ctx.gpr[9]); + ctx.gpr[8] = (ctx.gpr[8] & 65535u); + aot_gpr_7 = (aot_gpr_7 | ctx.gpr[8]); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(20), aot_gpr_7); goto L_089D3EC8; L_089D3EC8: aot_gpr_4 = (aot_gpr_4 & 128u); @@ -8171,23 +8172,23 @@ L_089D3EC8: L_089D3ED4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(20))); aot_gpr_4 = (aot_gpr_4 & 65535u); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); - aot_gpr_8 = (ctx.gpr[7] + static_cast(1)); - aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_8); - ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[7] + static_cast(0))); - aot_gpr_8 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); - ctx.gpr[9] = (aot_gpr_8 + static_cast(1)); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); + ctx.gpr[8] = (aot_gpr_7 + static_cast(1)); + aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), ctx.gpr[8]); + aot_gpr_7 = (aot_mem.aot_direct_load8(aot_gpr_7 + static_cast(0))); + ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); + ctx.gpr[9] = (ctx.gpr[8] + static_cast(1)); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), ctx.gpr[9]); - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_8 + static_cast(0))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[8] + static_cast(0))); aot_gpr_5 = (aot_gpr_5 << 8u); - aot_gpr_5 = (ctx.gpr[7] | aot_gpr_5); + aot_gpr_5 = (aot_gpr_7 | aot_gpr_5); aot_gpr_5 = (aot_gpr_5 & 65535u); aot_gpr_5 = (aot_gpr_5 << 16u); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(20), aot_gpr_4); goto L_089D3F14; L_089D3F14: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; // nop local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -8195,20 +8196,20 @@ L_089D3F14: AOT_REGCACHE_SYNC_OUT(); return; L_089D3F1C: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[4]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(20), aot_run_words); } ctx.gpr[17] = (0u | 0u); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(8))); aot_gpr_5 = (static_cast(aot_gpr_5) < 2 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 != 0u; - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0116_entry, 116u, 5u, 0x089D4024u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_089D3F44; } L_089D3F44: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(96))); { const bool branch_taken = aot_gpr_4 != 0u; ctx.gpr[18] = (0u | 65535u); if (branch_taken) { @@ -8217,16 +8218,16 @@ L_089D3F44: goto L_089D3F50; } L_089D3F50: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(10)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(10)))))); aot_gpr_6 = (aot_gpr_29 + static_cast(16)); - ctx.gpr[31] = (0x089D3F60u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_31 = (0x089D3F60u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D3F60u) goto L_089D3F60; AOT_REGCACHE_SYNC_OUT(); return; L_089D3F60: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(96), ctx.gpr[2]); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(16))); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(4), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_4 = (ctx.gpr[2] | 0u); goto L_089D3F70; L_089D3F70: @@ -8249,8 +8250,8 @@ L_089D3F7C: L_089D3F84: aot_gpr_4 = (2237u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); - ctx.gpr[31] = (0x089D3F94u); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(3)))))); + aot_gpr_31 = (0x089D3F94u); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(3)))))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 192u, 0x08ADCA6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D3F94u) goto L_089D3F94; AOT_REGCACHE_SYNC_OUT(); return; L_089D3F94: @@ -8263,23 +8264,23 @@ L_089D3F98: } goto L_089D3FA0; L_089D3FA0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(96))); if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(176))); goto L_089D3FD0; } goto L_089D3FAC; L_089D3FAC: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(10)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(10)))))); aot_gpr_6 = (aot_gpr_29 + static_cast(17)); - ctx.gpr[31] = (0x089D3FBCu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_31 = (0x089D3FBCu); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D3FBCu) goto L_089D3FBC; AOT_REGCACHE_SYNC_OUT(); return; L_089D3FBC: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(96), ctx.gpr[2]); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(17))); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(4), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(176))); goto L_089D3FD0; @@ -8293,9 +8294,9 @@ L_089D3FD0: } L_089D3FD8: aot_gpr_4 = (0u | 0u); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(108))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(108))); { const bool branch_taken = 0u == 0u; - aot_gpr_16 = (aot_gpr_16 + static_cast(136)); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(136)); if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0116_entry, 116u, 2u, 0x089D4004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } @@ -8304,13 +8305,13 @@ L_089D3FD8: L_089D3FE8: aot_gpr_4 = (2237u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); - ctx.gpr[31] = (0x089D3FF8u); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(3)))))); + aot_gpr_31 = (0x089D3FF8u); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(3)))))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 192u, 0x08ADCA6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D3FF8u) goto L_089D3FF8; AOT_REGCACHE_SYNC_OUT(); return; L_089D3FF8: aot_gpr_4 = (ctx.gpr[2] | 0u); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(108))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(108))); ctx.pc = 0x089D4000u; AOT_REGCACHE_SYNC_OUT(); return; } diff --git a/profiles/vcs/generated/generated_unit_0116.cpp b/profiles/vcs/generated/generated_unit_0116.cpp index 37e67ab..cbd520f 100644 --- a/profiles/vcs/generated/generated_unit_0116.cpp +++ b/profiles/vcs/generated/generated_unit_0116.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0116[4091] = { }; void recomp_unit_0116_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,6,17,16,29 fprs=12,13,20,14 gpr_occ=4897 fpr_occ=369 gpr_total=6508 fpr_total=426 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,6,17,16,31 fprs=12,13,20,14 gpr_occ=4894 fpr_occ=369 gpr_total=6626 fpr_total=426 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_6 = ctx.gpr[6]; std::uint32_t aot_gpr_17 = ctx.gpr[17]; std::uint32_t aot_gpr_16 = ctx.gpr[16]; - std::uint32_t aot_gpr_29 = ctx.gpr[29]; + std::uint32_t aot_gpr_31 = ctx.gpr[31]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_20 = ctx.fpr[20]; float aot_fpr_14 = ctx.fpr[14]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[6] = aot_gpr_6; ctx.gpr[17] = aot_gpr_17; ctx.gpr[16] = aot_gpr_16; ctx.gpr[29] = aot_gpr_29; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; ctx.fpr[14] = aot_fpr_14; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_17 = ctx.gpr[17]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_29 = ctx.gpr[29]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_14 = ctx.fpr[14]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[6] = aot_gpr_6; ctx.gpr[17] = aot_gpr_17; ctx.gpr[16] = aot_gpr_16; ctx.gpr[31] = aot_gpr_31; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; ctx.fpr[14] = aot_fpr_14; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_17 = ctx.gpr[17]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_31 = ctx.gpr[31]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_14 = ctx.fpr[14]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -906,7 +907,7 @@ L_089D4004: aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); jump_target = aot_gpr_5; - ctx.gpr[31] = (0x089D4018u); + aot_gpr_31 = (0x089D4018u); // nop ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D4018u) goto L_089D4018; @@ -925,22 +926,22 @@ L_089D4020: L_089D4024: ctx.gpr[2] = (aot_gpr_17 & 255u); { std::uint32_t aot_run_words[4]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(20), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(20), aot_run_words); aot_gpr_16 = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; - ctx.gpr[31] = aot_run_words[3]; + aot_gpr_31 = aot_run_words[3]; } - jump_target = ctx.gpr[31]; - aot_gpr_29 = (aot_gpr_29 + static_cast(48)); + jump_target = aot_gpr_31; + ctx.gpr[29] = (ctx.gpr[29] + static_cast(48)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_089D4040: - aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[31]}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(20), aot_run_words); } + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-48)); + { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(20), aot_run_words); } aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); ctx.gpr[18] = (0u | 65535u); @@ -953,14 +954,14 @@ L_089D4040: } L_089D4068: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(10)))))); - aot_gpr_6 = (aot_gpr_29 + static_cast(16)); - ctx.gpr[31] = (0x089D4078u); + aot_gpr_6 = (ctx.gpr[29] + static_cast(16)); + aot_gpr_31 = (0x089D4078u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D4078u) goto L_089D4078; AOT_REGCACHE_SYNC_OUT(); return; L_089D4078: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(96), ctx.gpr[2]); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(16))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(16))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_4 = (ctx.gpr[2] | 0u); goto L_089D4088; @@ -984,7 +985,7 @@ L_089D4094: L_089D409C: aot_gpr_4 = (2237u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); - ctx.gpr[31] = (0x089D40ACu); + aot_gpr_31 = (0x089D40ACu); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(3)))))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 192u, 0x08ADCA6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D40ACu) goto L_089D40AC; AOT_REGCACHE_SYNC_OUT(); return; @@ -1008,14 +1009,14 @@ L_089D40BC: goto L_089D40C4; L_089D40C4: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(10)))))); - aot_gpr_6 = (aot_gpr_29 + static_cast(17)); - ctx.gpr[31] = (0x089D40D4u); + aot_gpr_6 = (ctx.gpr[29] + static_cast(17)); + aot_gpr_31 = (0x089D40D4u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D40D4u) goto L_089D40D4; AOT_REGCACHE_SYNC_OUT(); return; L_089D40D4: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(96), ctx.gpr[2]); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(17))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(17))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(176))); @@ -1042,7 +1043,7 @@ L_089D40F0: L_089D4104: aot_gpr_4 = (2237u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); - ctx.gpr[31] = (0x089D4114u); + aot_gpr_31 = (0x089D4114u); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(3)))))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 192u, 0x08ADCA6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D4114u) goto L_089D4114; AOT_REGCACHE_SYNC_OUT(); return; @@ -1068,14 +1069,14 @@ L_089D412C: goto L_089D4134; L_089D4134: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(10)))))); - aot_gpr_6 = (aot_gpr_29 + static_cast(18)); - ctx.gpr[31] = (0x089D4144u); + aot_gpr_6 = (ctx.gpr[29] + static_cast(18)); + aot_gpr_31 = (0x089D4144u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D4144u) goto L_089D4144; AOT_REGCACHE_SYNC_OUT(); return; L_089D4144: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(96), ctx.gpr[2]); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(18))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(18))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(176))); @@ -1101,7 +1102,7 @@ L_089D4160: L_089D4170: aot_gpr_4 = (2237u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); - ctx.gpr[31] = (0x089D4180u); + aot_gpr_31 = (0x089D4180u); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(3)))))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 192u, 0x08ADCA6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D4180u) goto L_089D4180; AOT_REGCACHE_SYNC_OUT(); return; @@ -1115,7 +1116,7 @@ L_089D418C: aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_4 = (aot_gpr_16 + aot_gpr_5); jump_target = aot_gpr_6; - ctx.gpr[31] = (0x089D41A0u); + aot_gpr_31 = (0x089D41A0u); aot_gpr_5 = (aot_gpr_17 | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D41A0u) goto L_089D41A0; @@ -1136,14 +1137,14 @@ L_089D41A8: goto L_089D41B0; L_089D41B0: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(10)))))); - aot_gpr_6 = (aot_gpr_29 + static_cast(19)); - ctx.gpr[31] = (0x089D41C0u); + aot_gpr_6 = (ctx.gpr[29] + static_cast(19)); + aot_gpr_31 = (0x089D41C0u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D41C0u) goto L_089D41C0; AOT_REGCACHE_SYNC_OUT(); return; L_089D41C0: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(96), ctx.gpr[2]); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(19))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(19))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(176))); @@ -1159,65 +1160,65 @@ L_089D41D4: L_089D41DC: aot_gpr_4 = (2237u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); - ctx.gpr[31] = (0x089D41ECu); + aot_gpr_31 = (0x089D41ECu); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(3)))))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 192u, 0x08ADCA6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D41ECu) goto L_089D41EC; AOT_REGCACHE_SYNC_OUT(); return; L_089D41EC: aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x089D41F8u); + aot_gpr_31 = (0x089D41F8u); aot_gpr_5 = (aot_gpr_17 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0165_entry, 165u, 448u, 0x08A9B950u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D41F8u) goto L_089D41F8; AOT_REGCACHE_SYNC_OUT(); return; L_089D41F8: { std::uint32_t aot_run_words[4]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(20), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(20), aot_run_words); aot_gpr_16 = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; - ctx.gpr[31] = aot_run_words[3]; + aot_gpr_31 = aot_run_words[3]; } - jump_target = ctx.gpr[31]; - aot_gpr_29 = (aot_gpr_29 + static_cast(48)); + jump_target = aot_gpr_31; + ctx.gpr[29] = (ctx.gpr[29] + static_cast(48)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_089D4210: - aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), ctx.gpr[31]); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-32)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(20), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(24), aot_gpr_31); aot_gpr_16 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), aot_gpr_5); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(32)))))); - aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(16), static_cast(aot_gpr_4)); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(16)))))); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(32), aot_gpr_5); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[29] + static_cast(32)))))); + aot_mem.aot_direct_store16(ctx.gpr[29] + static_cast(16), static_cast(aot_gpr_4)); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[29] + static_cast(16)))))); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x089D423Cu); + aot_gpr_31 = (0x089D423Cu); aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D423Cu) goto L_089D423C; AOT_REGCACHE_SYNC_OUT(); return; L_089D423C: aot_gpr_4 = (ctx.gpr[2] + static_cast(192)); - ctx.gpr[31] = (0x089D4248u); + aot_gpr_31 = (0x089D4248u); aot_gpr_5 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 254u, 0x08A9DE74u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D4248u) goto L_089D4248; AOT_REGCACHE_SYNC_OUT(); return; L_089D4248: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); - jump_target = ctx.gpr[31]; - aot_gpr_29 = (aot_gpr_29 + static_cast(32)); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(20))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(24))); + jump_target = aot_gpr_31; + ctx.gpr[29] = (ctx.gpr[29] + static_cast(32)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_089D4258: - aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - { const std::uint32_t aot_run_words[4]{std::bit_cast(aot_fpr_20), aot_gpr_16, aot_gpr_17, ctx.gpr[31]}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(4), aot_run_words); } + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-32)); + { const std::uint32_t aot_run_words[4]{std::bit_cast(aot_fpr_20), aot_gpr_16, aot_gpr_17, aot_gpr_31}; + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(4), aot_run_words); } aot_gpr_16 = (aot_gpr_4 | 0u); - ctx.gpr[31] = (0x089D4278u); + aot_gpr_31 = (0x089D4278u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0034_entry, 34u, 570u, 0x0888FA44u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D4278u) goto L_089D4278; AOT_REGCACHE_SYNC_OUT(); return; @@ -1244,7 +1245,7 @@ L_089D4278: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(72), aot_gpr_4); aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); aot_gpr_5 = (0u | 0u); - ctx.gpr[31] = (0x089D42E4u); + aot_gpr_31 = (0x089D42E4u); aot_gpr_6 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 497u, 0x08A05F1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D42E4u) goto L_089D42E4; AOT_REGCACHE_SYNC_OUT(); return; @@ -1381,22 +1382,22 @@ L_089D43E0: aot_mem.aot_direct_store16(aot_gpr_17 + static_cast(0), static_cast(aot_gpr_4)); ctx.gpr[2] = (aot_gpr_16 | 0u); { std::uint32_t aot_run_words[4]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(4), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(4), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); aot_gpr_16 = aot_run_words[1]; aot_gpr_17 = aot_run_words[2]; - ctx.gpr[31] = aot_run_words[3]; + aot_gpr_31 = aot_run_words[3]; } - jump_target = ctx.gpr[31]; - aot_gpr_29 = (aot_gpr_29 + static_cast(32)); + jump_target = aot_gpr_31; + ctx.gpr[29] = (ctx.gpr[29] + static_cast(32)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_089D4418: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, ctx.gpr[31]}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); + { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(0), aot_run_words); } aot_gpr_17 = (aot_gpr_4 | 0u); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_16 = (aot_gpr_5 | 0u); @@ -1410,13 +1411,13 @@ L_089D4434: aot_gpr_4 = (aot_gpr_4 + static_cast(25768)); aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(92), aot_gpr_4); aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); - ctx.gpr[31] = (0x089D444Cu); + aot_gpr_31 = (0x089D444Cu); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(96))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 499u, 0x08A05F3Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D444Cu) goto L_089D444C; AOT_REGCACHE_SYNC_OUT(); return; L_089D444C: aot_gpr_4 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x089D4458u); + aot_gpr_31 = (0x089D4458u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0034_entry, 34u, 573u, 0x0888FABCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D4458u) goto L_089D4458; AOT_REGCACHE_SYNC_OUT(); return; @@ -1430,27 +1431,27 @@ L_089D4458: goto L_089D4464; } L_089D4464: - ctx.gpr[31] = (0x089D446Cu); + aot_gpr_31 = (0x089D446Cu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D446Cu) goto L_089D446C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D446Cu) goto L_089D446C; AOT_REGCACHE_SYNC_OUT(); return; L_089D446C: { std::uint32_t aot_run_words[3]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; - ctx.gpr[31] = aot_run_words[2]; + aot_gpr_31 = aot_run_words[2]; } - jump_target = ctx.gpr[31]; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + jump_target = aot_gpr_31; + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_089D4480: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, ctx.gpr[31]}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); + { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(0), aot_run_words); } aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(86)))))); aot_gpr_16 = (aot_gpr_4 | 0u); { const bool branch_taken = aot_gpr_6 == aot_gpr_5; @@ -1461,7 +1462,7 @@ L_089D4480: goto L_089D44A0; } L_089D44A0: - ctx.gpr[31] = (0x089D44A8u); + aot_gpr_31 = (0x089D44A8u); aot_gpr_4 = (aot_gpr_17 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 607u, 0x08AD3698u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D44A8u) goto L_089D44A8; AOT_REGCACHE_SYNC_OUT(); return; @@ -1492,30 +1493,30 @@ L_089D44B8: L_089D44C0: aot_gpr_4 = (aot_gpr_17 | 0u); aot_gpr_5 = (0u | 4u); - ctx.gpr[31] = (0x089D44D0u); + aot_gpr_31 = (0x089D44D0u); aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 546u, 0x08AD3258u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D44D0u) goto L_089D44D0; AOT_REGCACHE_SYNC_OUT(); return; L_089D44D0: - ctx.gpr[31] = (0x089D44D8u); + aot_gpr_31 = (0x089D44D8u); aot_gpr_4 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 598u, 0x08AD3610u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D44D8u) goto L_089D44D8; AOT_REGCACHE_SYNC_OUT(); return; L_089D44D8: aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x089D44E4u); + aot_gpr_31 = (0x089D44E4u); aot_gpr_5 = (aot_gpr_17 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0178_entry, 178u, 1055u, 0x08ACFA70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D44E4u) goto L_089D44E4; AOT_REGCACHE_SYNC_OUT(); return; L_089D44E4: - ctx.gpr[31] = (0x089D44ECu); + aot_gpr_31 = (0x089D44ECu); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 171u, 0x0886D308u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D44ECu) goto L_089D44EC; AOT_REGCACHE_SYNC_OUT(); return; L_089D44EC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(352))); - ctx.gpr[31] = (0x089D44FCu); + aot_gpr_31 = (0x089D44FCu); aot_gpr_5 = (aot_gpr_5 + static_cast(140)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 140u, 0x0886CFF8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D44FCu) goto L_089D44FC; AOT_REGCACHE_SYNC_OUT(); return; @@ -1558,7 +1559,7 @@ L_089D4520: } goto L_089D4564; L_089D4564: - ctx.gpr[31] = (0x089D456Cu); + aot_gpr_31 = (0x089D456Cu); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 313u, 0x08B65564u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D456Cu) goto L_089D456C; AOT_REGCACHE_SYNC_OUT(); return; @@ -1569,7 +1570,7 @@ L_089D4570: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(352))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(136))); - ctx.gpr[31] = (0x089D4584u); + aot_gpr_31 = (0x089D4584u); ctx.gpr[7] = (0u | 6u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 635u, 0x0893E914u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D4584u) goto L_089D4584; AOT_REGCACHE_SYNC_OUT(); return; @@ -1580,32 +1581,32 @@ L_089D4584: aot_gpr_5 = (aot_gpr_5 + static_cast(220)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(12), aot_gpr_5); aot_gpr_5 = (aot_gpr_16 + static_cast(424)); - ctx.gpr[31] = (0x089D45A4u); + aot_gpr_31 = (0x089D45A4u); aot_gpr_4 = (aot_gpr_17 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0063_entry, 63u, 611u, 0x089034E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D45A4u) goto L_089D45A4; AOT_REGCACHE_SYNC_OUT(); return; L_089D45A4: { std::uint32_t aot_run_words[3]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; - ctx.gpr[31] = aot_run_words[2]; + aot_gpr_31 = aot_run_words[2]; } - jump_target = ctx.gpr[31]; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + jump_target = aot_gpr_31; + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_089D45B8: - aot_gpr_29 = (aot_gpr_29 + static_cast(-144)); - { const std::uint32_t aot_run_words[6]{std::bit_cast(aot_fpr_20), aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[31]}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(112), aot_run_words); } + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-144)); + { const std::uint32_t aot_run_words[6]{std::bit_cast(aot_fpr_20), aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(112), aot_run_words); } aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(352))); aot_gpr_4 = (aot_gpr_4 + static_cast(10)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); - aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(16), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store16(ctx.gpr[29] + static_cast(16), static_cast(aot_gpr_4)); aot_gpr_4 = (2237u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(84))); @@ -1613,26 +1614,26 @@ L_089D45B8: aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 16u)); aot_gpr_4 = (aot_gpr_4 << 16u); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 16u)); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(16)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[29] + static_cast(16)))))); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); - aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(82), static_cast(aot_gpr_4)); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(82)))))); - aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(18), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store16(ctx.gpr[29] + static_cast(82), static_cast(aot_gpr_4)); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[29] + static_cast(82)))))); + aot_mem.aot_direct_store16(ctx.gpr[29] + static_cast(18), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(352))); - ctx.gpr[31] = (0x089D4624u); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(18)))))); + aot_gpr_31 = (0x089D4624u); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[29] + static_cast(18)))))); goto L_089D4210; L_089D4624: - ctx.gpr[31] = (0x089D462Cu); + aot_gpr_31 = (0x089D462Cu); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 73u, 0x08AD06ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D462Cu) goto L_089D462C; AOT_REGCACHE_SYNC_OUT(); return; L_089D462C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(352))); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(18)))))); - aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(86), static_cast(aot_gpr_5)); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(86)))))); - ctx.gpr[31] = (0x089D4644u); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[29] + static_cast(18)))))); + aot_mem.aot_direct_store16(ctx.gpr[29] + static_cast(86), static_cast(aot_gpr_5)); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[29] + static_cast(86)))))); + aot_gpr_31 = (0x089D4644u); aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D4644u) goto L_089D4644; AOT_REGCACHE_SYNC_OUT(); return; @@ -1646,7 +1647,7 @@ L_089D4644: goto L_089D4650; } L_089D4650: - ctx.gpr[31] = (0x089D4658u); + aot_gpr_31 = (0x089D4658u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0038_entry, 38u, 621u, 0x0889EB08u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D4658u) goto L_089D4658; AOT_REGCACHE_SYNC_OUT(); return; @@ -1656,33 +1657,33 @@ L_089D4658: aot_gpr_4 = (aot_gpr_4 + static_cast(140)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); - ctx.gpr[31] = (0x089D4674u); + aot_gpr_31 = (0x089D4674u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 251u, 0x08969194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D4674u) goto L_089D4674; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08969194, 89u, 251u, 0x08969194u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 251u, 0x08969194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D4674u) goto L_089D4674; AOT_REGCACHE_SYNC_OUT(); return; L_089D4674: aot_gpr_4 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x089D4680u); + aot_gpr_31 = (0x089D4680u); aot_gpr_17 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D4680u) goto L_089D4680; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0896918C, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D4680u) goto L_089D4680; AOT_REGCACHE_SYNC_OUT(); return; L_089D4680: aot_gpr_4 = (aot_gpr_17 << 6u); aot_gpr_4 = (ctx.gpr[2] + aot_gpr_4); aot_fpr_12 = std::bit_cast(0u); { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_12)}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(20), aot_run_words); } - aot_gpr_5 = (aot_gpr_29 + static_cast(20)); - ctx.gpr[31] = (0x089D46A4u); + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(20), aot_run_words); } + aot_gpr_5 = (ctx.gpr[29] + static_cast(20)); + aot_gpr_31 = (0x089D46A4u); aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 151u, 0x089D8C6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D46A4u) goto L_089D46A4; AOT_REGCACHE_SYNC_OUT(); return; L_089D46A4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(352))); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(18)))))); - aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(88), static_cast(aot_gpr_5)); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(88)))))); - ctx.gpr[31] = (0x089D46BCu); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[29] + static_cast(18)))))); + aot_mem.aot_direct_store16(ctx.gpr[29] + static_cast(88), static_cast(aot_gpr_5)); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[29] + static_cast(88)))))); + aot_gpr_31 = (0x089D46BCu); aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D46BCu) goto L_089D46BC; AOT_REGCACHE_SYNC_OUT(); return; @@ -1697,10 +1698,10 @@ L_089D46BC: } L_089D46C8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(352))); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(18)))))); - aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(90), static_cast(aot_gpr_5)); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(90)))))); - ctx.gpr[31] = (0x089D46E0u); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[29] + static_cast(18)))))); + aot_mem.aot_direct_store16(ctx.gpr[29] + static_cast(90), static_cast(aot_gpr_5)); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[29] + static_cast(90)))))); + aot_gpr_31 = (0x089D46E0u); aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D46E0u) goto L_089D46E0; AOT_REGCACHE_SYNC_OUT(); return; @@ -1727,12 +1728,12 @@ L_089D46EC: L_089D4700: aot_fpr_20 = std::bit_cast(0u); { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_20)}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(48), aot_run_words); } - ctx.gpr[18] = (aot_gpr_29 + static_cast(48)); + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(48), aot_run_words); } + ctx.gpr[18] = (ctx.gpr[29] + static_cast(48)); { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_20)}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(64), aot_run_words); } - aot_gpr_17 = (aot_gpr_29 + static_cast(64)); - ctx.gpr[31] = (0x089D472Cu); + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(64), aot_run_words); } + aot_gpr_17 = (ctx.gpr[29] + static_cast(64)); + aot_gpr_31 = (0x089D472Cu); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0038_entry, 38u, 621u, 0x0889EB08u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D472Cu) goto L_089D472C; AOT_REGCACHE_SYNC_OUT(); return; @@ -1742,22 +1743,22 @@ L_089D472C: aot_gpr_4 = (aot_gpr_4 + static_cast(140)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); - ctx.gpr[31] = (0x089D4748u); + aot_gpr_31 = (0x089D4748u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 251u, 0x08969194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D4748u) goto L_089D4748; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08969194, 89u, 251u, 0x08969194u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 251u, 0x08969194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D4748u) goto L_089D4748; AOT_REGCACHE_SYNC_OUT(); return; L_089D4748: aot_gpr_4 = (ctx.gpr[19] | 0u); - ctx.gpr[31] = (0x089D4754u); + aot_gpr_31 = (0x089D4754u); ctx.gpr[19] = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D4754u) goto L_089D4754; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0896918C, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D4754u) goto L_089D4754; AOT_REGCACHE_SYNC_OUT(); return; L_089D4754: ctx.gpr[7] = (ctx.gpr[19] << 6u); ctx.gpr[7] = (ctx.gpr[2] + ctx.gpr[7]); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); - ctx.gpr[31] = (0x089D476Cu); + aot_gpr_31 = (0x089D476Cu); aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 239u, 0x088619ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D476Cu) goto L_089D476C; AOT_REGCACHE_SYNC_OUT(); return; @@ -1778,7 +1779,7 @@ L_089D476C: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); - aot_gpr_4 = (aot_gpr_29 + static_cast(32)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(32)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; @@ -1807,7 +1808,7 @@ L_089D47A0: ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); - ctx.gpr[31] = (0x089D47C8u); + aot_gpr_31 = (0x089D47C8u); ctx.gpr[11] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0062_entry, 62u, 716u, 0x088FF060u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D47C8u) goto L_089D47C8; AOT_REGCACHE_SYNC_OUT(); return; @@ -1824,24 +1825,24 @@ L_089D47C8: } L_089D47DC: { std::uint32_t aot_run_words[6]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(112), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(112), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); aot_gpr_16 = aot_run_words[1]; aot_gpr_17 = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; ctx.gpr[19] = aot_run_words[4]; - ctx.gpr[31] = aot_run_words[5]; + aot_gpr_31 = aot_run_words[5]; } - jump_target = ctx.gpr[31]; - aot_gpr_29 = (aot_gpr_29 + static_cast(144)); + jump_target = aot_gpr_31; + ctx.gpr[29] = (ctx.gpr[29] + static_cast(144)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_089D47FC: - aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[31]}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(28), aot_run_words); } + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-48)); + { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(28), aot_run_words); } aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(76))); aot_gpr_5 = (aot_gpr_5 & 1024u); aot_gpr_17 = (aot_gpr_4 + static_cast(418)); @@ -1853,7 +1854,7 @@ L_089D47FC: goto L_089D4824; } L_089D4824: - ctx.gpr[31] = (0x089D482Cu); + aot_gpr_31 = (0x089D482Cu); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 50u, 0x08AD0530u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D482Cu) goto L_089D482C; AOT_REGCACHE_SYNC_OUT(); return; @@ -1870,11 +1871,11 @@ L_089D4848: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(352))); aot_gpr_5 = (aot_gpr_4 + static_cast(10)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); - aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(16), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store16(ctx.gpr[29] + static_cast(16), static_cast(aot_gpr_5)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(0)))))); - aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(20), static_cast(aot_gpr_5)); - ctx.gpr[18] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(16)))))); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(20)))))); + aot_mem.aot_direct_store16(ctx.gpr[29] + static_cast(20), static_cast(aot_gpr_5)); + ctx.gpr[18] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[29] + static_cast(16)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[29] + static_cast(20)))))); aot_gpr_5 = (ctx.gpr[18] ^ aot_gpr_5); aot_gpr_5 = (aot_gpr_5 < static_cast(1) ? 1u : 0u); aot_gpr_5 = (aot_gpr_5 & 255u); @@ -1888,9 +1889,9 @@ L_089D4848: goto L_089D4884; } L_089D4884: - aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(22), static_cast(ctx.gpr[18])); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(22)))))); - ctx.gpr[31] = (0x089D4894u); + aot_mem.aot_direct_store16(ctx.gpr[29] + static_cast(22), static_cast(ctx.gpr[18])); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[29] + static_cast(22)))))); + aot_gpr_31 = (0x089D4894u); aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D4894u) goto L_089D4894; AOT_REGCACHE_SYNC_OUT(); return; @@ -1905,9 +1906,9 @@ L_089D4894: } L_089D48A0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(352))); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(16)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[29] + static_cast(16)))))); aot_gpr_6 = (16256u << 16u); - ctx.gpr[31] = (0x089D48B4u); + aot_gpr_31 = (0x089D48B4u); aot_fpr_12 = std::bit_cast(aot_gpr_6); goto L_089D730C; L_089D48B4: @@ -1916,7 +1917,7 @@ L_089D48B4: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(76))); aot_gpr_5 = (aot_gpr_5 & 1024u); aot_gpr_5 = (aot_gpr_5 < static_cast(1) ? 1u : 0u); - ctx.gpr[31] = (0x089D48D0u); + aot_gpr_31 = (0x089D48D0u); aot_gpr_5 = (aot_gpr_5 & 255u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0018_entry, 18u, 148u, 0x0884CC80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D48D0u) goto L_089D48D0; AOT_REGCACHE_SYNC_OUT(); return; @@ -1930,11 +1931,11 @@ L_089D48D0: } L_089D48D8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); - aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(24), static_cast(ctx.gpr[18])); + aot_mem.aot_direct_store16(ctx.gpr[29] + static_cast(24), static_cast(ctx.gpr[18])); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(0)))))); - aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(26), static_cast(aot_gpr_5)); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(24)))))); - aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(26)))))); + aot_mem.aot_direct_store16(ctx.gpr[29] + static_cast(26), static_cast(aot_gpr_5)); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[29] + static_cast(24)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[29] + static_cast(26)))))); aot_gpr_5 = (aot_gpr_5 - aot_gpr_6); aot_gpr_5 = (aot_gpr_5 << 16u); aot_gpr_5 = (static_cast(static_cast(aot_gpr_5) >> 16u)); @@ -1946,7 +1947,7 @@ L_089D48D8: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(76))); aot_gpr_5 = (aot_gpr_5 & 1024u); aot_gpr_5 = (aot_gpr_5 < static_cast(1) ? 1u : 0u); - ctx.gpr[31] = (0x089D4924u); + aot_gpr_31 = (0x089D4924u); aot_gpr_5 = (aot_gpr_5 & 255u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0018_entry, 18u, 148u, 0x0884CC80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D4924u) goto L_089D4924; AOT_REGCACHE_SYNC_OUT(); return; @@ -1955,22 +1956,22 @@ L_089D4924: goto L_089D4928; L_089D4928: { std::uint32_t aot_run_words[4]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(28), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(28), aot_run_words); aot_gpr_16 = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; - ctx.gpr[31] = aot_run_words[3]; + aot_gpr_31 = aot_run_words[3]; } - jump_target = ctx.gpr[31]; - aot_gpr_29 = (aot_gpr_29 + static_cast(48)); + jump_target = aot_gpr_31; + ctx.gpr[29] = (ctx.gpr[29] + static_cast(48)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_089D4940: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, ctx.gpr[31]}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); + { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(0), aot_run_words); } aot_gpr_6 = (0u + static_cast(-1)); { const bool branch_taken = aot_gpr_5 == aot_gpr_6; aot_gpr_16 = (aot_gpr_4 | 0u); @@ -2022,7 +2023,7 @@ L_089D498C: } L_089D4998: aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x089D49A4u); + aot_gpr_31 = (0x089D49A4u); aot_gpr_5 = (0u + static_cast(-1)); goto L_089D49DC; L_089D49A4: @@ -2031,34 +2032,34 @@ L_089D49A4: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); jump_target = aot_gpr_5; - ctx.gpr[31] = (0x089D49BCu); + aot_gpr_31 = (0x089D49BCu); aot_gpr_4 = (aot_gpr_17 + aot_gpr_4); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D49BCu) goto L_089D49BC; AOT_REGCACHE_SYNC_OUT(); return; L_089D49BC: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(372), ctx.gpr[2]); - ctx.gpr[31] = (0x089D49C8u); + aot_gpr_31 = (0x089D49C8u); aot_gpr_4 = (aot_gpr_17 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0054_entry, 54u, 458u, 0x088DF74Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D49C8u) goto L_089D49C8; AOT_REGCACHE_SYNC_OUT(); return; L_089D49C8: { std::uint32_t aot_run_words[3]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; - ctx.gpr[31] = aot_run_words[2]; + aot_gpr_31 = aot_run_words[2]; } - jump_target = ctx.gpr[31]; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + jump_target = aot_gpr_31; + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_089D49DC: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, ctx.gpr[31]}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); + { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(0), aot_run_words); } aot_gpr_17 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(372))); { const bool branch_taken = aot_gpr_4 == 0u; @@ -2078,7 +2079,7 @@ L_089D49FC: goto L_089D4A08; } L_089D4A08: - ctx.gpr[31] = (0x089D4A10u); + aot_gpr_31 = (0x089D4A10u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 180u, 0x08945288u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D4A10u) goto L_089D4A10; AOT_REGCACHE_SYNC_OUT(); return; @@ -2108,24 +2109,24 @@ L_089D4A34: goto L_089D4A3C; } L_089D4A3C: - ctx.gpr[31] = (0x089D4A44u); + aot_gpr_31 = (0x089D4A44u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(372))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 180u, 0x08945288u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D4A44u) goto L_089D4A44; AOT_REGCACHE_SYNC_OUT(); return; L_089D4A44: - ctx.gpr[31] = (0x089D4A4Cu); + aot_gpr_31 = (0x089D4A4Cu); aot_gpr_4 = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0054_entry, 54u, 460u, 0x088DF770u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D4A4Cu) goto L_089D4A4C; AOT_REGCACHE_SYNC_OUT(); return; L_089D4A4C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(372))); aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - ctx.gpr[31] = (0x089D4A5Cu); + aot_gpr_31 = (0x089D4A5Cu); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0085_entry, 85u, 518u, 0x0895B97Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D4A5Cu) goto L_089D4A5C; AOT_REGCACHE_SYNC_OUT(); return; L_089D4A5C: - ctx.gpr[31] = (0x089D4A64u); + aot_gpr_31 = (0x089D4A64u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0091_entry, 91u, 658u, 0x089730ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D4A64u) goto L_089D4A64; AOT_REGCACHE_SYNC_OUT(); return; @@ -2134,13 +2135,13 @@ L_089D4A64: goto L_089D4A68; L_089D4A68: { std::uint32_t aot_run_words[3]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; - ctx.gpr[31] = aot_run_words[2]; + aot_gpr_31 = aot_run_words[2]; } - jump_target = ctx.gpr[31]; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + jump_target = aot_gpr_31; + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -2176,16 +2177,16 @@ L_089D4AB8: aot_gpr_5 = (0u | 1u); goto L_089D4ABC; L_089D4ABC: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; ctx.gpr[2] = (aot_gpr_5 & 255u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_089D4AC4: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[31]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_6); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), aot_gpr_31); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(16), aot_gpr_6); aot_gpr_5 = (aot_mem.aot_direct_load_word_right(aot_gpr_4 + static_cast(3), aot_gpr_5)); aot_gpr_5 = (aot_mem.aot_direct_load_word_left(aot_gpr_4 + static_cast(6), aot_gpr_5)); aot_gpr_4 = (2237u << 16u); @@ -2208,7 +2209,7 @@ L_089D4AF0: goto L_089D4AF8; } L_089D4AF8: - ctx.gpr[31] = (0x089D4B00u); + aot_gpr_31 = (0x089D4B00u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D4B00u) goto L_089D4B00; AOT_REGCACHE_SYNC_OUT(); return; @@ -2220,26 +2221,26 @@ L_089D4B00: aot_gpr_6 = (0u | 47u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 0u); - ctx.gpr[31] = (0x089D4B24u); + aot_gpr_31 = (0x089D4B24u); ctx.gpr[9] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0057_entry, 57u, 692u, 0x088EB674u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D4B24u) goto L_089D4B24; AOT_REGCACHE_SYNC_OUT(); return; L_089D4B24: - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - jump_target = ctx.gpr[31]; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); + jump_target = aot_gpr_31; + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_089D4B30: - aot_gpr_29 = (aot_gpr_29 + static_cast(-80)); - { const std::uint32_t aot_run_words[11]{std::bit_cast(aot_fpr_20), aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], ctx.gpr[31]}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(36), aot_run_words); } + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-80)); + { const std::uint32_t aot_run_words[11]{std::bit_cast(aot_fpr_20), aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(36), aot_run_words); } aot_gpr_17 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(80), aot_gpr_5); - ctx.gpr[31] = (0x089D4B70u); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(80)))))); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(80), aot_gpr_5); + aot_gpr_31 = (0x089D4B70u); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[29] + static_cast(80)))))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0034_entry, 34u, 429u, 0x0888E7E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D4B70u) goto L_089D4B70; AOT_REGCACHE_SYNC_OUT(); return; L_089D4B70: @@ -2261,10 +2262,10 @@ L_089D4B70: L_089D4B98: ctx.gpr[20] = (0u + static_cast(-1)); ctx.gpr[19] = (0u | 0u); - ctx.gpr[30] = (aot_gpr_29 + static_cast(17)); - ctx.gpr[23] = (aot_gpr_29 + static_cast(18)); - ctx.gpr[22] = (aot_gpr_29 + static_cast(19)); - ctx.gpr[21] = (aot_gpr_29 + static_cast(20)); + ctx.gpr[30] = (ctx.gpr[29] + static_cast(17)); + ctx.gpr[23] = (ctx.gpr[29] + static_cast(18)); + ctx.gpr[22] = (ctx.gpr[29] + static_cast(19)); + ctx.gpr[21] = (ctx.gpr[29] + static_cast(20)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(96))); ctx.gpr[18] = (0u | 0u); goto L_089D4BB8; @@ -2276,14 +2277,14 @@ L_089D4BB8: goto L_089D4BC0; L_089D4BC0: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(10)))))); - aot_gpr_6 = (aot_gpr_29 + static_cast(16)); - ctx.gpr[31] = (0x089D4BD0u); + aot_gpr_6 = (ctx.gpr[29] + static_cast(16)); + aot_gpr_31 = (0x089D4BD0u); aot_gpr_4 = (aot_gpr_17 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D4BD0u) goto L_089D4BD0; AOT_REGCACHE_SYNC_OUT(); return; L_089D4BD0: aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(96), ctx.gpr[2]); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(16))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(16))); aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(214))); @@ -2308,13 +2309,13 @@ L_089D4BF0: L_089D4BF8: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(10)))))); aot_gpr_4 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x089D4C08u); + aot_gpr_31 = (0x089D4C08u); aot_gpr_6 = (ctx.gpr[30] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D4C08u) goto L_089D4C08; AOT_REGCACHE_SYNC_OUT(); return; L_089D4C08: aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(96), ctx.gpr[2]); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(17))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(17))); aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_5 = (aot_gpr_4 + ctx.gpr[18]); @@ -2340,20 +2341,20 @@ L_089D4C2C: L_089D4C34: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(10)))))); aot_gpr_4 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x089D4C44u); + aot_gpr_31 = (0x089D4C44u); aot_gpr_6 = (ctx.gpr[23] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D4C44u) goto L_089D4C44; AOT_REGCACHE_SYNC_OUT(); return; L_089D4C44: aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(96), ctx.gpr[2]); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(18))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(18))); aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_4 = (ctx.gpr[2] | 0u); goto L_089D4C54; L_089D4C54: - ctx.gpr[31] = (0x089D4C5Cu); + aot_gpr_31 = (0x089D4C5Cu); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(183))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D4C5Cu) goto L_089D4C5C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D4C5Cu) goto L_089D4C5C; AOT_REGCACHE_SYNC_OUT(); return; L_089D4C5C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(0))); @@ -2386,20 +2387,20 @@ L_089D4C84: L_089D4C8C: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(10)))))); aot_gpr_4 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x089D4C9Cu); + aot_gpr_31 = (0x089D4C9Cu); aot_gpr_6 = (ctx.gpr[22] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D4C9Cu) goto L_089D4C9C; AOT_REGCACHE_SYNC_OUT(); return; L_089D4C9C: aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(96), ctx.gpr[2]); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(19))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(19))); aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_4 = (ctx.gpr[2] | 0u); goto L_089D4CAC; L_089D4CAC: - ctx.gpr[31] = (0x089D4CB4u); + aot_gpr_31 = (0x089D4CB4u); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(183))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D4CB4u) goto L_089D4CB4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D4CB4u) goto L_089D4CB4; AOT_REGCACHE_SYNC_OUT(); return; L_089D4CB4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(0))); @@ -2424,13 +2425,13 @@ L_089D4CD4: L_089D4CDC: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(10)))))); aot_gpr_4 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x089D4CECu); + aot_gpr_31 = (0x089D4CECu); aot_gpr_6 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D4CECu) goto L_089D4CEC; AOT_REGCACHE_SYNC_OUT(); return; L_089D4CEC: aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(96), ctx.gpr[2]); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(20))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(20))); aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_5 = (aot_gpr_4 + ctx.gpr[18]); @@ -2493,14 +2494,14 @@ L_089D4D3C: } L_089D4D48: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(10)))))); - aot_gpr_6 = (aot_gpr_29 + static_cast(21)); - ctx.gpr[31] = (0x089D4D58u); + aot_gpr_6 = (ctx.gpr[29] + static_cast(21)); + aot_gpr_31 = (0x089D4D58u); aot_gpr_4 = (aot_gpr_17 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D4D58u) goto L_089D4D58; AOT_REGCACHE_SYNC_OUT(); return; L_089D4D58: aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(96), ctx.gpr[2]); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(21))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(21))); aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_4 = (ctx.gpr[2] | 0u); goto L_089D4D68; @@ -2512,7 +2513,7 @@ L_089D4D68: aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x089D4D8Cu); + aot_gpr_31 = (0x089D4D8Cu); aot_gpr_6 = (0u | 56u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 503u, 0x08A05F80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D4D8Cu) goto L_089D4D8C; AOT_REGCACHE_SYNC_OUT(); return; @@ -2543,10 +2544,10 @@ L_089D4DA8: L_089D4DAC: ctx.gpr[19] = (ctx.gpr[30] | 0u); ctx.gpr[18] = (0u | 0u); - ctx.gpr[23] = (aot_gpr_29 + static_cast(22)); - ctx.gpr[22] = (aot_gpr_29 + static_cast(23)); - ctx.gpr[21] = (aot_gpr_29 + static_cast(24)); - ctx.gpr[20] = (aot_gpr_29 + static_cast(25)); + ctx.gpr[23] = (ctx.gpr[29] + static_cast(22)); + ctx.gpr[22] = (ctx.gpr[29] + static_cast(23)); + ctx.gpr[21] = (ctx.gpr[29] + static_cast(24)); + ctx.gpr[20] = (ctx.gpr[29] + static_cast(25)); aot_gpr_16 = (0u | 0u); goto L_089D4DC8; L_089D4DC8: @@ -2558,13 +2559,13 @@ L_089D4DC8: L_089D4DD0: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(10)))))); aot_gpr_4 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x089D4DE0u); + aot_gpr_31 = (0x089D4DE0u); aot_gpr_6 = (ctx.gpr[23] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D4DE0u) goto L_089D4DE0; AOT_REGCACHE_SYNC_OUT(); return; L_089D4DE0: aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(96), ctx.gpr[2]); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(22))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(22))); aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(214))); @@ -2589,13 +2590,13 @@ L_089D4E00: L_089D4E08: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(10)))))); aot_gpr_4 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x089D4E18u); + aot_gpr_31 = (0x089D4E18u); aot_gpr_6 = (ctx.gpr[22] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D4E18u) goto L_089D4E18; AOT_REGCACHE_SYNC_OUT(); return; L_089D4E18: aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(96), ctx.gpr[2]); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(23))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(23))); aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_5 = (aot_gpr_4 + aot_gpr_16); @@ -2619,13 +2620,13 @@ L_089D4E3C: L_089D4E44: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(10)))))); aot_gpr_4 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x089D4E54u); + aot_gpr_31 = (0x089D4E54u); aot_gpr_6 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D4E54u) goto L_089D4E54; AOT_REGCACHE_SYNC_OUT(); return; L_089D4E54: aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(96), ctx.gpr[2]); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(24))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(24))); aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_5 = (aot_gpr_4 + aot_gpr_16); @@ -2649,13 +2650,13 @@ L_089D4E78: L_089D4E80: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(10)))))); aot_gpr_4 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x089D4E90u); + aot_gpr_31 = (0x089D4E90u); aot_gpr_6 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D4E90u) goto L_089D4E90; AOT_REGCACHE_SYNC_OUT(); return; L_089D4E90: aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(96), ctx.gpr[2]); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(25))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(25))); aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_5 = (aot_gpr_4 + aot_gpr_16); @@ -2735,14 +2736,14 @@ L_089D4EF4: } L_089D4F00: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(10)))))); - aot_gpr_6 = (aot_gpr_29 + static_cast(26)); - ctx.gpr[31] = (0x089D4F10u); + aot_gpr_6 = (ctx.gpr[29] + static_cast(26)); + aot_gpr_31 = (0x089D4F10u); aot_gpr_4 = (aot_gpr_17 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D4F10u) goto L_089D4F10; AOT_REGCACHE_SYNC_OUT(); return; L_089D4F10: aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(96), ctx.gpr[2]); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(26))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(26))); aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_4 = (ctx.gpr[2] | 0u); goto L_089D4F20; @@ -2754,7 +2755,7 @@ L_089D4F20: aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x089D4F44u); + aot_gpr_31 = (0x089D4F44u); aot_gpr_6 = (0u | 57u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 503u, 0x08A05F80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D4F44u) goto L_089D4F44; AOT_REGCACHE_SYNC_OUT(); return; @@ -2772,14 +2773,14 @@ L_089D4F4C: goto L_089D4F54; L_089D4F54: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(10)))))); - aot_gpr_6 = (aot_gpr_29 + static_cast(27)); - ctx.gpr[31] = (0x089D4F64u); + aot_gpr_6 = (ctx.gpr[29] + static_cast(27)); + aot_gpr_31 = (0x089D4F64u); aot_gpr_4 = (aot_gpr_17 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D4F64u) goto L_089D4F64; AOT_REGCACHE_SYNC_OUT(); return; L_089D4F64: aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(96), ctx.gpr[2]); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(27))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(27))); aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(183))); @@ -2801,14 +2802,14 @@ L_089D4F84: goto L_089D4F8C; L_089D4F8C: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(10)))))); - aot_gpr_6 = (aot_gpr_29 + static_cast(28)); - ctx.gpr[31] = (0x089D4F9Cu); + aot_gpr_6 = (ctx.gpr[29] + static_cast(28)); + aot_gpr_31 = (0x089D4F9Cu); aot_gpr_4 = (aot_gpr_17 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D4F9Cu) goto L_089D4F9C; AOT_REGCACHE_SYNC_OUT(); return; L_089D4F9C: aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(96), ctx.gpr[2]); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(28))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(28))); aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(176))); @@ -2825,8 +2826,8 @@ L_089D4FB0: L_089D4FBC: ctx.gpr[18] = (0u | 214u); ctx.gpr[19] = (0u | 0u); - ctx.gpr[20] = (aot_gpr_29 + static_cast(29)); - ctx.gpr[21] = (aot_gpr_29 + static_cast(30)); + ctx.gpr[20] = (ctx.gpr[29] + static_cast(29)); + ctx.gpr[21] = (ctx.gpr[29] + static_cast(30)); aot_gpr_16 = (ctx.gpr[28] + static_cast(7768)); aot_gpr_5 = (16256u << 16u); aot_fpr_20 = std::bit_cast(aot_gpr_5); @@ -2841,13 +2842,13 @@ L_089D4FDC: L_089D4FE4: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(10)))))); aot_gpr_4 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x089D4FF4u); + aot_gpr_31 = (0x089D4FF4u); aot_gpr_6 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D4FF4u) goto L_089D4FF4; AOT_REGCACHE_SYNC_OUT(); return; L_089D4FF4: aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(96), ctx.gpr[2]); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(29))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(29))); aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(214))); @@ -2870,13 +2871,13 @@ L_089D5014: L_089D501C: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(10)))))); aot_gpr_4 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x089D502Cu); + aot_gpr_31 = (0x089D502Cu); aot_gpr_6 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D502Cu) goto L_089D502C; AOT_REGCACHE_SYNC_OUT(); return; L_089D502C: aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(96), ctx.gpr[2]); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(30))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(30))); aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_5 = (aot_gpr_4 + ctx.gpr[22]); @@ -2914,7 +2915,7 @@ L_089D5064: L_089D5068: aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x089D5078u); + aot_gpr_31 = (0x089D5078u); aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 501u, 0x08A05F5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D5078u) goto L_089D5078; AOT_REGCACHE_SYNC_OUT(); return; @@ -2927,14 +2928,14 @@ L_089D5078: goto L_089D5084; L_089D5084: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(10)))))); - aot_gpr_6 = (aot_gpr_29 + static_cast(31)); - ctx.gpr[31] = (0x089D5094u); + aot_gpr_6 = (ctx.gpr[29] + static_cast(31)); + aot_gpr_31 = (0x089D5094u); aot_gpr_4 = (aot_gpr_17 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D5094u) goto L_089D5094; AOT_REGCACHE_SYNC_OUT(); return; L_089D5094: aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(96), ctx.gpr[2]); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(31))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(31))); aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(214))); @@ -2956,14 +2957,14 @@ L_089D50B4: goto L_089D50BC; L_089D50BC: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(10)))))); - aot_gpr_6 = (aot_gpr_29 + static_cast(32)); - ctx.gpr[31] = (0x089D50CCu); + aot_gpr_6 = (ctx.gpr[29] + static_cast(32)); + aot_gpr_31 = (0x089D50CCu); aot_gpr_4 = (aot_gpr_17 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D50CCu) goto L_089D50CC; AOT_REGCACHE_SYNC_OUT(); return; L_089D50CC: aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(96), ctx.gpr[2]); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(32))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(32))); aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(183))); @@ -2986,14 +2987,14 @@ L_089D50E8: } L_089D50F0: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(10)))))); - aot_gpr_6 = (aot_gpr_29 + static_cast(33)); - ctx.gpr[31] = (0x089D5100u); + aot_gpr_6 = (ctx.gpr[29] + static_cast(33)); + aot_gpr_31 = (0x089D5100u); aot_gpr_4 = (aot_gpr_17 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D5100u) goto L_089D5100; AOT_REGCACHE_SYNC_OUT(); return; L_089D5100: aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(96), ctx.gpr[2]); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(33))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(33))); aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_5 = (aot_gpr_4 + ctx.gpr[22]); @@ -3020,14 +3021,14 @@ L_089D5134: goto L_089D513C; L_089D513C: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(10)))))); - aot_gpr_6 = (aot_gpr_29 + static_cast(34)); - ctx.gpr[31] = (0x089D514Cu); + aot_gpr_6 = (ctx.gpr[29] + static_cast(34)); + aot_gpr_31 = (0x089D514Cu); aot_gpr_4 = (aot_gpr_17 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D514Cu) goto L_089D514C; AOT_REGCACHE_SYNC_OUT(); return; L_089D514C: aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(96), ctx.gpr[2]); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(34))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(34))); aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_5 = (aot_gpr_4 + ctx.gpr[22]); @@ -3059,14 +3060,14 @@ L_089D5194: goto L_089D519C; L_089D519C: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(10)))))); - aot_gpr_6 = (aot_gpr_29 + static_cast(35)); - ctx.gpr[31] = (0x089D51ACu); + aot_gpr_6 = (ctx.gpr[29] + static_cast(35)); + aot_gpr_31 = (0x089D51ACu); aot_gpr_4 = (aot_gpr_17 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D51ACu) goto L_089D51AC; AOT_REGCACHE_SYNC_OUT(); return; L_089D51AC: aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(96), ctx.gpr[2]); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(35))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(35))); aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(345))); @@ -3087,7 +3088,7 @@ L_089D51D0: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (aot_gpr_17 | 0u); aot_gpr_6 = (0u | 54u); - ctx.gpr[31] = (0x089D51ECu); + aot_gpr_31 = (0x089D51ECu); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 503u, 0x08A05F80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D51ECu) goto L_089D51EC; AOT_REGCACHE_SYNC_OUT(); return; @@ -3104,7 +3105,7 @@ L_089D51F4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (aot_gpr_17 | 0u); aot_gpr_6 = (0u | 53u); - ctx.gpr[31] = (0x089D520Cu); + aot_gpr_31 = (0x089D520Cu); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 503u, 0x08A05F80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D520Cu) goto L_089D520C; AOT_REGCACHE_SYNC_OUT(); return; @@ -3122,7 +3123,7 @@ L_089D5214: aot_fpr_12 = std::bit_cast(0u); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_6 = (0u | 52u); - ctx.gpr[31] = (0x089D5230u); + aot_gpr_31 = (0x089D5230u); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 503u, 0x08A05F80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D5230u) goto L_089D5230; AOT_REGCACHE_SYNC_OUT(); return; @@ -3140,13 +3141,13 @@ L_089D5238: aot_fpr_12 = std::bit_cast(0u); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_6 = (0u | 52u); - ctx.gpr[31] = (0x089D5254u); + aot_gpr_31 = (0x089D5254u); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 503u, 0x08A05F80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D5254u) goto L_089D5254; AOT_REGCACHE_SYNC_OUT(); return; L_089D5254: { std::uint32_t aot_run_words[11]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(36), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(36), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); aot_gpr_16 = aot_run_words[1]; aot_gpr_17 = aot_run_words[2]; @@ -3157,31 +3158,31 @@ L_089D5254: ctx.gpr[22] = aot_run_words[7]; ctx.gpr[23] = aot_run_words[8]; ctx.gpr[30] = aot_run_words[9]; - ctx.gpr[31] = aot_run_words[10]; + aot_gpr_31 = aot_run_words[10]; } - jump_target = ctx.gpr[31]; - aot_gpr_29 = (aot_gpr_29 + static_cast(80)); + jump_target = aot_gpr_31; + ctx.gpr[29] = (ctx.gpr[29] + static_cast(80)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_089D5288: - aot_gpr_29 = (aot_gpr_29 + static_cast(-80)); - { const std::uint32_t aot_run_words[11]{std::bit_cast(aot_fpr_20), aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], ctx.gpr[31]}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(24), aot_run_words); } + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-80)); + { const std::uint32_t aot_run_words[11]{std::bit_cast(aot_fpr_20), aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(24), aot_run_words); } ctx.gpr[30] = (ctx.gpr[7] | 0u); ctx.gpr[23] = (aot_gpr_6 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[8]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(12), ctx.gpr[8]); aot_gpr_16 = (aot_gpr_5 | 0u); aot_gpr_17 = (aot_gpr_4 | 0u); - aot_gpr_4 = (aot_gpr_29 | 0u); + aot_gpr_4 = (ctx.gpr[29] | 0u); aot_gpr_5 = (0u | 0u); - ctx.gpr[31] = (0x089D52DCu); + aot_gpr_31 = (0x089D52DCu); aot_gpr_6 = (0u | 12u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D52DCu) goto L_089D52DC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D52DCu) goto L_089D52DC; AOT_REGCACHE_SYNC_OUT(); return; L_089D52DC: - ctx.gpr[22] = (aot_gpr_29 | 0u); + ctx.gpr[22] = (ctx.gpr[29] | 0u); aot_gpr_6 = (aot_mem.aot_direct_load16(ctx.gpr[30] + static_cast(176))); ctx.gpr[7] = (aot_mem.aot_direct_load16(ctx.gpr[23] + static_cast(176))); aot_gpr_4 = (ctx.gpr[30] + static_cast(64)); @@ -3189,9 +3190,9 @@ L_089D52DC: ctx.gpr[8] = (47747u << 16u); ctx.gpr[8] = (ctx.gpr[8] | 4719u); aot_fpr_20 = std::bit_cast(ctx.gpr[8]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(16), aot_gpr_16); { const bool branch_taken = aot_gpr_6 == ctx.gpr[7]; - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_17); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(20), aot_gpr_17); if (branch_taken) { goto L_089D5314; } @@ -3545,17 +3546,17 @@ L_089D5590: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[30] + static_cast(214))); aot_gpr_4 = (aot_gpr_17 < aot_gpr_4 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_16 = (aot_gpr_29 + aot_gpr_17); + aot_gpr_16 = (ctx.gpr[29] + aot_gpr_17); if (branch_taken) { goto L_089D55BC; } goto L_089D55A0; } L_089D55A0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(16))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(12))); aot_gpr_5 = (ctx.gpr[19] | 0u); - ctx.gpr[31] = (0x089D55B4u); + aot_gpr_31 = (0x089D55B4u); aot_gpr_6 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 604u, 0x089D34D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D55B4u) goto L_089D55B4; AOT_REGCACHE_SYNC_OUT(); return; @@ -3615,13 +3616,13 @@ L_089D5604: L_089D5610: aot_gpr_4 = (ctx.gpr[23] + static_cast(192)); aot_gpr_5 = (ctx.gpr[30] + static_cast(192)); - ctx.gpr[31] = (0x089D5620u); - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); + aot_gpr_31 = (0x089D5620u); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(12))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 185u, 0x08A9D5B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D5620u) goto L_089D5620; AOT_REGCACHE_SYNC_OUT(); return; L_089D5620: - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(9), static_cast(ctx.gpr[2])); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(9))); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(9), static_cast(ctx.gpr[2])); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(9))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -3728,7 +3729,7 @@ L_089D56EC: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[30] + static_cast(340))); aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[23] + static_cast(340))); if (aot_gpr_4 == aot_gpr_5) { - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(16))); goto L_089D5710; } goto L_089D56FC; @@ -3737,10 +3738,10 @@ L_089D56FC: aot_gpr_5 = (16u << 16u); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(0), aot_gpr_4); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(16))); goto L_089D5710; L_089D5710: - ctx.gpr[31] = (0x089D5718u); + aot_gpr_31 = (0x089D5718u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D5718u) goto L_089D5718; AOT_REGCACHE_SYNC_OUT(); return; @@ -3953,7 +3954,7 @@ L_089D5880: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[30] + static_cast(346))); aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[23] + static_cast(346))); if (aot_gpr_4 == aot_gpr_5) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(20))); goto L_089D58A4; } goto L_089D5890; @@ -3962,11 +3963,11 @@ L_089D5890: aot_gpr_5 = (2048u << 16u); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(0), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(20))); goto L_089D58A4; L_089D58A4: { std::uint32_t aot_run_words[3]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(0), aot_run_words); aot_gpr_5 = aot_run_words[0]; aot_gpr_6 = aot_run_words[1]; ctx.gpr[7] = aot_run_words[2]; @@ -3974,7 +3975,7 @@ L_089D58A4: { const std::uint32_t aot_run_words[3]{aot_gpr_5, aot_gpr_6, ctx.gpr[7]}; aot_mem.aot_direct_store32_block(aot_gpr_4 + static_cast(0), aot_run_words); } { std::uint32_t aot_run_words[11]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(24), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(24), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); aot_gpr_16 = aot_run_words[1]; aot_gpr_17 = aot_run_words[2]; @@ -3985,28 +3986,28 @@ L_089D58A4: ctx.gpr[22] = aot_run_words[7]; ctx.gpr[23] = aot_run_words[8]; ctx.gpr[30] = aot_run_words[9]; - ctx.gpr[31] = aot_run_words[10]; + aot_gpr_31 = aot_run_words[10]; } - jump_target = ctx.gpr[31]; - aot_gpr_29 = (aot_gpr_29 + static_cast(80)); + jump_target = aot_gpr_31; + ctx.gpr[29] = (ctx.gpr[29] + static_cast(80)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_089D58F0: - aot_gpr_29 = (aot_gpr_29 + static_cast(-64)); - { const std::uint32_t aot_run_words[8]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[31]}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(24), aot_run_words); } + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-64)); + { const std::uint32_t aot_run_words[8]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_31}; + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(24), aot_run_words); } aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(0))); ctx.gpr[8] = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(4))); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(8))); { const std::uint32_t aot_run_words[3]{aot_gpr_4, ctx.gpr[8], ctx.gpr[7]}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(12), aot_run_words); } + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(12), aot_run_words); } aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_6 + static_cast(214))); aot_gpr_17 = (aot_gpr_5 | 0u); ctx.gpr[18] = (aot_gpr_6 | 0u); - ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); + ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(12))); aot_gpr_5 = (aot_gpr_4 < static_cast(5) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_5 = (0u | 128u); @@ -4584,11 +4585,11 @@ L_089D6074: goto L_089D6084; } L_089D6084: - aot_gpr_4 = (aot_gpr_29 + ctx.gpr[21]); + aot_gpr_4 = (ctx.gpr[29] + ctx.gpr[21]); ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(16))); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x089D609Cu); + aot_gpr_31 = (0x089D609Cu); aot_gpr_6 = (ctx.gpr[22] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 643u, 0x089D3708u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D609Cu) goto L_089D609C; AOT_REGCACHE_SYNC_OUT(); return; @@ -4635,9 +4636,9 @@ L_089D60E4: } L_089D60F0: aot_gpr_5 = (ctx.gpr[18] + static_cast(192)); - aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(21))); + aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(21))); ctx.gpr[7] = (0u | 65535u); - ctx.gpr[31] = (0x089D6104u); + aot_gpr_31 = (0x089D6104u); aot_gpr_4 = (aot_gpr_17 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 210u, 0x08A9D6DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D6104u) goto L_089D6104; AOT_REGCACHE_SYNC_OUT(); return; @@ -4798,7 +4799,7 @@ L_089D6288: } L_089D6298: aot_gpr_5 = (ctx.gpr[18] + static_cast(96)); - ctx.gpr[31] = (0x089D62A4u); + aot_gpr_31 = (0x089D62A4u); aot_gpr_4 = (aot_gpr_17 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 73u, 0x089647D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D62A4u) goto L_089D62A4; AOT_REGCACHE_SYNC_OUT(); return; @@ -4931,7 +4932,7 @@ L_089D63C0: goto L_089D63E8; L_089D63E8: { std::uint32_t aot_run_words[8]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(24), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(24), aot_run_words); aot_gpr_16 = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; @@ -4939,18 +4940,18 @@ L_089D63E8: ctx.gpr[20] = aot_run_words[4]; ctx.gpr[21] = aot_run_words[5]; ctx.gpr[22] = aot_run_words[6]; - ctx.gpr[31] = aot_run_words[7]; + aot_gpr_31 = aot_run_words[7]; } - jump_target = ctx.gpr[31]; - aot_gpr_29 = (aot_gpr_29 + static_cast(64)); + jump_target = aot_gpr_31; + ctx.gpr[29] = (ctx.gpr[29] + static_cast(64)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_089D6410: - aot_gpr_29 = (aot_gpr_29 + static_cast(-192)); - { const std::uint32_t aot_run_words[12]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], ctx.gpr[31]}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(140), aot_run_words); } + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-192)); + { const std::uint32_t aot_run_words[12]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(140), aot_run_words); } ctx.gpr[20] = (aot_gpr_6 | 0u); aot_gpr_16 = (ctx.gpr[20] + static_cast(64)); { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); @@ -4962,7 +4963,7 @@ L_089D6410: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_6 = (aot_gpr_29 + static_cast(16)); + aot_gpr_6 = (ctx.gpr[29] + static_cast(16)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; @@ -5029,7 +5030,7 @@ L_089D64DC: aot_gpr_5 = (aot_gpr_5 | ctx.gpr[7]); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(4))); jump_target = aot_gpr_6; - ctx.gpr[31] = (0x089D6524u); + aot_gpr_31 = (0x089D6524u); aot_gpr_5 = (aot_gpr_5 & 65535u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D6524u) goto L_089D6524; @@ -5114,7 +5115,7 @@ L_089D65D4: aot_gpr_4 = (1024u << 16u); aot_gpr_4 = (ctx.gpr[22] & aot_gpr_4); if (aot_gpr_4 == 0u) { - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(136), aot_gpr_17); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(136), aot_gpr_17); goto L_089D65FC; } goto L_089D65E4; @@ -5124,7 +5125,7 @@ L_089D65E4: aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast(0), aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0))); aot_mem.aot_direct_store8(ctx.gpr[20] + static_cast(181), static_cast(aot_gpr_4)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(136), aot_gpr_17); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(136), aot_gpr_17); goto L_089D65FC; L_089D65FC: { const bool branch_taken = aot_gpr_17 == 0u; @@ -5214,7 +5215,7 @@ L_089D663C: L_089D6714: aot_gpr_4 = (ctx.gpr[22] & 8u); if (aot_gpr_4 == 0u) { - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(132), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(132), aot_gpr_16); goto L_089D679C; } goto L_089D6720; @@ -5248,7 +5249,7 @@ L_089D6720: aot_fpr_14 = std::bit_cast(aot_gpr_4); { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_13), std::bit_cast(aot_fpr_14)}; aot_mem.aot_direct_store32_block(ctx.gpr[20] + static_cast(64), aot_run_words); } - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(132), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(132), aot_gpr_16); goto L_089D679C; L_089D679C: aot_gpr_4 = (ctx.gpr[22] & 16u); @@ -5260,7 +5261,7 @@ L_089D679C: goto L_089D67A8; } L_089D67A8: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(132), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(132), aot_gpr_16); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(0))); aot_gpr_5 = (aot_gpr_4 + static_cast(1)); aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast(0), aot_gpr_5); @@ -5297,7 +5298,7 @@ L_089D67A8: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_4 = (aot_gpr_29 + static_cast(48)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(48)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; @@ -5305,18 +5306,18 @@ L_089D67A8: aot_gpr_16 = (ctx.gpr[20] + static_cast(16)); aot_fpr_12 = std::bit_cast(0u); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x089D6838u); + aot_gpr_31 = (0x089D6838u); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_12)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 923u, 0x0885FA28u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D6838u) goto L_089D6838; AOT_REGCACHE_SYNC_OUT(); return; L_089D6838: { std::uint32_t aot_run_words[3]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(48), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(48), aot_run_words); aot_fpr_12 = std::bit_cast(aot_run_words[0]); aot_fpr_13 = std::bit_cast(aot_run_words[1]); aot_fpr_14 = std::bit_cast(aot_run_words[2]); } - ctx.gpr[31] = (0x089D684Cu); + aot_gpr_31 = (0x089D684Cu); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 4u, 0x08860094u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D684Cu) goto L_089D684C; AOT_REGCACHE_SYNC_OUT(); return; @@ -5409,7 +5410,7 @@ L_089D690C: L_089D6914: aot_gpr_4 = (ctx.gpr[30] | 0u); aot_gpr_5 = (ctx.gpr[23] | 0u); - ctx.gpr[31] = (0x089D6924u); + aot_gpr_31 = (0x089D6924u); aot_gpr_6 = (aot_gpr_17 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 660u, 0x089D3C28u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D6924u) goto L_089D6924; AOT_REGCACHE_SYNC_OUT(); return; @@ -5453,7 +5454,7 @@ L_089D6958: L_089D6968: aot_gpr_4 = (ctx.gpr[30] | 0u); aot_gpr_5 = (ctx.gpr[23] | 0u); - ctx.gpr[31] = (0x089D6978u); + aot_gpr_31 = (0x089D6978u); aot_gpr_6 = (aot_gpr_17 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 660u, 0x089D3C28u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D6978u) goto L_089D6978; AOT_REGCACHE_SYNC_OUT(); return; @@ -5470,7 +5471,7 @@ L_089D6978: L_089D6988: aot_gpr_4 = (ctx.gpr[22] & 16384u); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(132))); + aot_gpr_17 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(132))); if (branch_taken) { goto L_089D69A8; } @@ -5494,7 +5495,7 @@ L_089D69A8: } L_089D69B4: aot_gpr_5 = (ctx.gpr[20] + static_cast(192)); - ctx.gpr[31] = (0x089D69C0u); + aot_gpr_31 = (0x089D69C0u); aot_gpr_4 = (ctx.gpr[23] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 231u, 0x08A9DBC8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D69C0u) goto L_089D69C0; AOT_REGCACHE_SYNC_OUT(); return; @@ -5589,7 +5590,7 @@ L_089D6A60: aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); aot_mem.aot_direct_store16(ctx.gpr[20] + static_cast(338), static_cast(aot_gpr_4)); aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[20] + static_cast(338))); - ctx.gpr[31] = (0x089D6A98u); + aot_gpr_31 = (0x089D6A98u); aot_gpr_4 = (ctx.gpr[30] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 596u, 0x089D3450u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D6A98u) goto L_089D6A98; AOT_REGCACHE_SYNC_OUT(); return; @@ -5622,7 +5623,7 @@ L_089D6ABC: } L_089D6ACC: aot_gpr_5 = (ctx.gpr[20] + static_cast(96)); - ctx.gpr[31] = (0x089D6AD8u); + aot_gpr_31 = (0x089D6AD8u); aot_gpr_4 = (ctx.gpr[23] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 79u, 0x08964CC8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D6AD8u) goto L_089D6AD8; AOT_REGCACHE_SYNC_OUT(); return; @@ -5697,7 +5698,7 @@ L_089D6B6C: aot_gpr_4 = (2237u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[30] + static_cast(3)))))); - ctx.gpr[31] = (0x089D6B80u); + aot_gpr_31 = (0x089D6B80u); aot_gpr_6 = (aot_mem.aot_direct_load16(ctx.gpr[20] + static_cast(176))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 192u, 0x08ADCA6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D6B80u) goto L_089D6B80; AOT_REGCACHE_SYNC_OUT(); return; @@ -5716,7 +5717,7 @@ L_089D6B8C: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); jump_target = aot_gpr_5; - ctx.gpr[31] = (0x089D6BA4u); + aot_gpr_31 = (0x089D6BA4u); aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D6BA4u) goto L_089D6BA4; @@ -5741,14 +5742,14 @@ L_089D6BB0: } L_089D6BBC: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(10)))))); - aot_gpr_6 = (aot_gpr_29 + static_cast(64)); - ctx.gpr[31] = (0x089D6BCCu); + aot_gpr_6 = (ctx.gpr[29] + static_cast(64)); + aot_gpr_31 = (0x089D6BCCu); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D6BCCu) goto L_089D6BCC; AOT_REGCACHE_SYNC_OUT(); return; L_089D6BCC: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(96), ctx.gpr[2]); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(64))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(64))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(4), static_cast(aot_gpr_4)); goto L_089D6BD8; L_089D6BD8: @@ -5808,7 +5809,7 @@ L_089D6C3C: goto L_089D6C58; } L_089D6C58: - ctx.gpr[31] = (0x089D6C60u); + aot_gpr_31 = (0x089D6C60u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 36u, 0x08B6033Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D6C60u) goto L_089D6C60; AOT_REGCACHE_SYNC_OUT(); return; @@ -5821,7 +5822,7 @@ L_089D6C60: goto L_089D6C68; } L_089D6C68: - ctx.gpr[31] = (0x089D6C70u); + aot_gpr_31 = (0x089D6C70u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 26u, 0x089644F8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D6C70u) goto L_089D6C70; AOT_REGCACHE_SYNC_OUT(); return; @@ -5837,14 +5838,14 @@ L_089D6C74: goto L_089D6C80; L_089D6C80: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(10)))))); - aot_gpr_6 = (aot_gpr_29 + static_cast(65)); - ctx.gpr[31] = (0x089D6C90u); + aot_gpr_6 = (ctx.gpr[29] + static_cast(65)); + aot_gpr_31 = (0x089D6C90u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D6C90u) goto L_089D6C90; AOT_REGCACHE_SYNC_OUT(); return; L_089D6C90: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(96), ctx.gpr[2]); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(65))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(65))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); goto L_089D6CA0; @@ -5860,25 +5861,25 @@ L_089D6CA0: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_4 = (aot_gpr_29 + static_cast(80)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(80)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_16 = (ctx.gpr[20] + static_cast(16)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x089D6CC4u); + aot_gpr_31 = (0x089D6CC4u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 923u, 0x0885FA28u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D6CC4u) goto L_089D6CC4; AOT_REGCACHE_SYNC_OUT(); return; L_089D6CC4: { std::uint32_t aot_run_words[3]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(80), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(80), aot_run_words); aot_fpr_12 = std::bit_cast(aot_run_words[0]); aot_fpr_13 = std::bit_cast(aot_run_words[1]); aot_fpr_14 = std::bit_cast(aot_run_words[2]); } - ctx.gpr[31] = (0x089D6CD8u); + aot_gpr_31 = (0x089D6CD8u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 4u, 0x08860094u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D6CD8u) goto L_089D6CD8; AOT_REGCACHE_SYNC_OUT(); return; @@ -5904,7 +5905,7 @@ L_089D6CE8: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); jump_target = aot_gpr_5; - ctx.gpr[31] = (0x089D6D00u); + aot_gpr_31 = (0x089D6D00u); aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D6D00u) goto L_089D6D00; @@ -5928,7 +5929,7 @@ L_089D6D0C: goto L_089D6D18; } L_089D6D18: - ctx.gpr[31] = (0x089D6D20u); + aot_gpr_31 = (0x089D6D20u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 327u, 0x089D1ED8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D6D20u) goto L_089D6D20; AOT_REGCACHE_SYNC_OUT(); return; @@ -5958,7 +5959,7 @@ L_089D6D40: } L_089D6D50: aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_13)); - ctx.gpr[31] = (0x089D6D5Cu); + aot_gpr_31 = (0x089D6D5Cu); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_14)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 28u, 0x08964540u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D6D5Cu) goto L_089D6D5C; AOT_REGCACHE_SYNC_OUT(); return; @@ -5982,25 +5983,25 @@ L_089D6D64: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_4 = (aot_gpr_29 + static_cast(96)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(96)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_16 = (ctx.gpr[20] + static_cast(16)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x089D6D88u); + aot_gpr_31 = (0x089D6D88u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 923u, 0x0885FA28u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D6D88u) goto L_089D6D88; AOT_REGCACHE_SYNC_OUT(); return; L_089D6D88: { std::uint32_t aot_run_words[3]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(96), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(96), aot_run_words); aot_fpr_12 = std::bit_cast(aot_run_words[0]); aot_fpr_13 = std::bit_cast(aot_run_words[1]); aot_fpr_14 = std::bit_cast(aot_run_words[2]); } - ctx.gpr[31] = (0x089D6D9Cu); + aot_gpr_31 = (0x089D6D9Cu); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 4u, 0x08860094u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D6D9Cu) goto L_089D6D9C; AOT_REGCACHE_SYNC_OUT(); return; @@ -6013,7 +6014,7 @@ L_089D6D9C: goto L_089D6DA4; } L_089D6DA4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(136))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(136))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -6032,7 +6033,7 @@ L_089D6DB0: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_4 = (aot_gpr_29 + static_cast(112)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(112)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; @@ -6040,18 +6041,18 @@ L_089D6DB0: aot_gpr_16 = (ctx.gpr[20] + static_cast(16)); aot_fpr_12 = std::bit_cast(0u); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x089D6DD4u); + aot_gpr_31 = (0x089D6DD4u); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_12)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 923u, 0x0885FA28u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D6DD4u) goto L_089D6DD4; AOT_REGCACHE_SYNC_OUT(); return; L_089D6DD4: { std::uint32_t aot_run_words[3]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(112), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(112), aot_run_words); aot_fpr_12 = std::bit_cast(aot_run_words[0]); aot_fpr_13 = std::bit_cast(aot_run_words[1]); aot_fpr_14 = std::bit_cast(aot_run_words[2]); } - ctx.gpr[31] = (0x089D6DE8u); + aot_gpr_31 = (0x089D6DE8u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 4u, 0x08860094u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D6DE8u) goto L_089D6DE8; AOT_REGCACHE_SYNC_OUT(); return; @@ -6131,7 +6132,7 @@ L_089D6E94: goto L_089D6E98; L_089D6E98: { std::uint32_t aot_run_words[12]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(140), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(140), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); aot_gpr_16 = aot_run_words[2]; @@ -6143,19 +6144,19 @@ L_089D6E98: ctx.gpr[22] = aot_run_words[8]; ctx.gpr[23] = aot_run_words[9]; ctx.gpr[30] = aot_run_words[10]; - ctx.gpr[31] = aot_run_words[11]; + aot_gpr_31 = aot_run_words[11]; } - jump_target = ctx.gpr[31]; - aot_gpr_29 = (aot_gpr_29 + static_cast(192)); + jump_target = aot_gpr_31; + ctx.gpr[29] = (ctx.gpr[29] + static_cast(192)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_089D6ED0: - aot_gpr_29 = (aot_gpr_29 + static_cast(-64)); - { const std::uint32_t aot_run_words[7]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[31]}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(32), aot_run_words); } - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), ctx.gpr[7]); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-64)); + { const std::uint32_t aot_run_words[7]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_31}; + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(32), aot_run_words); } + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(64), ctx.gpr[7]); ctx.gpr[7] = (2237u << 16u); ctx.gpr[7] = (ctx.gpr[7] + static_cast(-28736)); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(100))); @@ -6178,14 +6179,14 @@ L_089D6F14: goto L_089D6F20; L_089D6F20: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(10)))))); - aot_gpr_6 = (aot_gpr_29 + static_cast(20)); - ctx.gpr[31] = (0x089D6F30u); + aot_gpr_6 = (ctx.gpr[29] + static_cast(20)); + aot_gpr_31 = (0x089D6F30u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D6F30u) goto L_089D6F30; AOT_REGCACHE_SYNC_OUT(); return; L_089D6F30: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(96), ctx.gpr[2]); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(20))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(20))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(4), static_cast(aot_gpr_4)); ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); goto L_089D6F40; @@ -6216,7 +6217,7 @@ L_089D6F60: aot_gpr_6 = (ctx.gpr[19] + static_cast(64)); aot_gpr_5 = (ctx.gpr[20] | 0u); ctx.gpr[7] = (0u | 0u); - ctx.gpr[31] = (0x089D6F78u); + aot_gpr_31 = (0x089D6F78u); ctx.gpr[8] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0113_entry, 113u, 729u, 0x089CAC6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D6F78u) goto L_089D6F78; AOT_REGCACHE_SYNC_OUT(); return; @@ -6225,20 +6226,20 @@ L_089D6F78: aot_gpr_4 = (2237u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); aot_gpr_5 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x089D6F90u); + aot_gpr_31 = (0x089D6F90u); aot_gpr_6 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 736u, 0x08ADEF00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D6F90u) goto L_089D6F90; AOT_REGCACHE_SYNC_OUT(); return; L_089D6F90: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(104), ctx.gpr[20]); aot_gpr_5 = (ctx.gpr[19] + static_cast(16)); - ctx.gpr[31] = (0x089D6FA0u); + aot_gpr_31 = (0x089D6FA0u); aot_gpr_4 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 7u, 0x08860358u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D6FA0u) goto L_089D6FA0; AOT_REGCACHE_SYNC_OUT(); return; L_089D6FA0: aot_gpr_5 = (ctx.gpr[19] + static_cast(96)); - ctx.gpr[31] = (0x089D6FACu); + aot_gpr_31 = (0x089D6FACu); aot_gpr_4 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 538u, 0x08A666C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D6FACu) goto L_089D6FAC; AOT_REGCACHE_SYNC_OUT(); return; @@ -6318,14 +6319,14 @@ L_089D6FAC: } L_089D7038: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(1360))); - ctx.gpr[31] = (0x089D7044u); + aot_gpr_31 = (0x089D7044u); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0113_entry, 113u, 238u, 0x089C8D68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D7044u) goto L_089D7044; AOT_REGCACHE_SYNC_OUT(); return; L_089D7044: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[19] + static_cast(182))); aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(1360), aot_gpr_4); - ctx.gpr[31] = (0x089D7054u); + aot_gpr_31 = (0x089D7054u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0113_entry, 113u, 238u, 0x089C8D68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D7054u) goto L_089D7054; AOT_REGCACHE_SYNC_OUT(); return; @@ -6391,7 +6392,7 @@ L_089D7114: aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_5 = (aot_gpr_4 << 24u); aot_gpr_5 = (static_cast(static_cast(aot_gpr_5) >> 24u)); - ctx.gpr[31] = (0x089D7128u); + aot_gpr_31 = (0x089D7128u); aot_gpr_4 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 631u, 0x0890A728u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D7128u) goto L_089D7128; AOT_REGCACHE_SYNC_OUT(); return; @@ -6410,7 +6411,7 @@ L_089D7138: aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(3)))))); ctx.gpr[7] = (aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(176))); - ctx.gpr[31] = (0x089D7150u); + aot_gpr_31 = (0x089D7150u); aot_gpr_5 = (aot_gpr_17 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 215u, 0x08ADCB84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D7150u) goto L_089D7150; AOT_REGCACHE_SYNC_OUT(); return; @@ -6425,13 +6426,13 @@ L_089D7150: } L_089D715C: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(104))); - ctx.gpr[31] = (0x089D7168u); + aot_gpr_31 = (0x089D7168u); aot_gpr_4 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 171u, 0x08910A24u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D7168u) goto L_089D7168; AOT_REGCACHE_SYNC_OUT(); return; L_089D7168: aot_gpr_4 = (ctx.gpr[20] | 0u); - ctx.gpr[31] = (0x089D7174u); + aot_gpr_31 = (0x089D7174u); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 209u, 0x08910BDCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D7174u) goto L_089D7174; AOT_REGCACHE_SYNC_OUT(); return; @@ -6447,35 +6448,35 @@ L_089D7174: aot_gpr_4 = (aot_gpr_5 | aot_gpr_4); aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(72), aot_gpr_4); aot_gpr_4 = (ctx.gpr[20] | 0u); - ctx.gpr[31] = (0x089D71A8u); + aot_gpr_31 = (0x089D71A8u); aot_gpr_5 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 240u, 0x08908D60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D71A8u) goto L_089D71A8; AOT_REGCACHE_SYNC_OUT(); return; L_089D71A8: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(1152))); aot_gpr_4 = (ctx.gpr[20] | 0u); - ctx.gpr[31] = (0x089D71B8u); + aot_gpr_31 = (0x089D71B8u); aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 307u, 0x089B56FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D71B8u) goto L_089D71B8; AOT_REGCACHE_SYNC_OUT(); return; L_089D71B8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(1152))); - ctx.gpr[31] = (0x089D71C4u); + aot_gpr_31 = (0x089D71C4u); aot_gpr_5 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 72u, 0x08B00520u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D71C4u) goto L_089D71C4; AOT_REGCACHE_SYNC_OUT(); return; L_089D71C4: aot_gpr_4 = (ctx.gpr[20] | 0u); - ctx.gpr[31] = (0x089D71D0u); + aot_gpr_31 = (0x089D71D0u); aot_gpr_5 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 240u, 0x08908D60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D71D0u) goto L_089D71D0; AOT_REGCACHE_SYNC_OUT(); return; L_089D71D0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(9624))); ctx.gpr[21] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(9628))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_16); - aot_gpr_6 = (aot_gpr_29 + static_cast(16)); - ctx.gpr[31] = (0x089D71E8u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(16), aot_gpr_16); + aot_gpr_6 = (ctx.gpr[29] + static_cast(16)); + aot_gpr_31 = (0x089D71E8u); aot_gpr_5 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0218_entry, 218u, 256u, 0x08B6D560u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D71E8u) goto L_089D71E8; AOT_REGCACHE_SYNC_OUT(); return; @@ -6509,7 +6510,7 @@ L_089D7208: aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); goto L_089D720C; L_089D720C: - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(16))); if (aot_gpr_6 == ctx.gpr[7]) { aot_gpr_4 = (aot_gpr_4 + static_cast(4)); goto L_089D7228; @@ -6531,7 +6532,7 @@ L_089D7230: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(9628))); aot_gpr_6 = (aot_gpr_4 | 0u); { const bool branch_taken = aot_gpr_6 == aot_gpr_6; - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(21), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(21), static_cast(0u)); if (branch_taken) { goto L_089D7260; } @@ -6542,7 +6543,7 @@ L_089D7240: ctx.gpr[19] = (aot_gpr_6 - ctx.gpr[7]); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (ctx.gpr[7] | 0u); - ctx.gpr[31] = (0x089D7258u); + aot_gpr_31 = (0x089D7258u); aot_gpr_6 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 164u, 0x08AF54A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D7258u) goto L_089D7258; AOT_REGCACHE_SYNC_OUT(); return; @@ -6555,29 +6556,29 @@ L_089D7258: goto L_089D7260; } L_089D7260: - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(22), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast(22), static_cast(0u)); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(9628), aot_gpr_5); - ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(64)))))); + ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[29] + static_cast(64)))))); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x089D727Cu); + aot_gpr_31 = (0x089D727Cu); aot_gpr_6 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0034_entry, 34u, 454u, 0x0888EA48u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D727Cu) goto L_089D727C; AOT_REGCACHE_SYNC_OUT(); return; L_089D727C: aot_gpr_17 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(10)))))); aot_gpr_4 = (0u | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(28), aot_gpr_4); aot_gpr_4 = (2237u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-29120)); - ctx.gpr[31] = (0x089D7298u); + aot_gpr_31 = (0x089D7298u); aot_gpr_5 = (0u | 352u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 501u, 0x08ABE57Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D7298u) goto L_089D7298; AOT_REGCACHE_SYNC_OUT(); return; L_089D7298: ctx.gpr[18] = (ctx.gpr[2] | 0u); { const bool branch_taken = ctx.gpr[18] == 0u; - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(28))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(28))); if (branch_taken) { goto L_089D72B4; } @@ -6585,7 +6586,7 @@ L_089D7298: } L_089D72A4: aot_gpr_4 = (ctx.gpr[18] | 0u); - ctx.gpr[31] = (0x089D72B0u); + aot_gpr_31 = (0x089D72B0u); aot_gpr_5 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 353u, 0x089D20A0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D72B0u) goto L_089D72B0; AOT_REGCACHE_SYNC_OUT(); return; @@ -6595,12 +6596,12 @@ L_089D72B0: L_089D72B4: aot_gpr_6 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x089D72C4u); + aot_gpr_31 = (0x089D72C4u); aot_gpr_5 = (aot_gpr_17 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0165_entry, 165u, 456u, 0x08A9B9F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D72C4u) goto L_089D72C4; AOT_REGCACHE_SYNC_OUT(); return; L_089D72C4: - ctx.gpr[31] = (0x089D72CCu); + aot_gpr_31 = (0x089D72CCu); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(112))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 463u, 0x08A66048u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D72CCu) goto L_089D72CC; AOT_REGCACHE_SYNC_OUT(); return; @@ -6613,41 +6614,41 @@ L_089D72CC: goto L_089D72D4; } L_089D72D4: - ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(64)))))); + ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[29] + static_cast(64)))))); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x089D72E8u); + aot_gpr_31 = (0x089D72E8u); aot_gpr_6 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0034_entry, 34u, 454u, 0x0888EA48u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D72E8u) goto L_089D72E8; AOT_REGCACHE_SYNC_OUT(); return; L_089D72E8: { std::uint32_t aot_run_words[7]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(32), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(32), aot_run_words); aot_gpr_16 = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; ctx.gpr[21] = aot_run_words[5]; - ctx.gpr[31] = aot_run_words[6]; + aot_gpr_31 = aot_run_words[6]; } - jump_target = ctx.gpr[31]; - aot_gpr_29 = (aot_gpr_29 + static_cast(64)); + jump_target = aot_gpr_31; + ctx.gpr[29] = (ctx.gpr[29] + static_cast(64)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_089D730C: - aot_gpr_29 = (aot_gpr_29 + static_cast(-80)); - { const std::uint32_t aot_run_words[10]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[31]}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(28), aot_run_words); } + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-80)); + { const std::uint32_t aot_run_words[10]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_31}; + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(28), aot_run_words); } aot_gpr_17 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(80), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(80), aot_gpr_5); aot_gpr_16 = (aot_gpr_17 + static_cast(124)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(0)))))); - aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(22), static_cast(aot_gpr_4)); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(80)))))); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(22)))))); + aot_mem.aot_direct_store16(ctx.gpr[29] + static_cast(22), static_cast(aot_gpr_4)); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[29] + static_cast(80)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[29] + static_cast(22)))))); aot_gpr_5 = (aot_gpr_4 ^ aot_gpr_5); aot_gpr_5 = (aot_gpr_5 < static_cast(1) ? 1u : 0u); aot_gpr_5 = (aot_gpr_5 & 255u); @@ -6660,21 +6661,21 @@ L_089D730C: } L_089D7368: aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(0), static_cast(aot_gpr_4)); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(80)))))); - aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(24), static_cast(aot_gpr_4)); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(24)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[29] + static_cast(80)))))); + aot_mem.aot_direct_store16(ctx.gpr[29] + static_cast(24), static_cast(aot_gpr_4)); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[29] + static_cast(24)))))); aot_gpr_4 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x089D7384u); + aot_gpr_31 = (0x089D7384u); aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D7384u) goto L_089D7384; AOT_REGCACHE_SYNC_OUT(); return; L_089D7384: aot_gpr_16 = (ctx.gpr[2] | 0u); - aot_gpr_4 = (aot_gpr_29 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(16)); aot_gpr_5 = (0u | 0u); - ctx.gpr[31] = (0x089D7398u); + aot_gpr_31 = (0x089D7398u); aot_gpr_6 = (0u | 5u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D7398u) goto L_089D7398; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D7398u) goto L_089D7398; AOT_REGCACHE_SYNC_OUT(); return; L_089D7398: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(112))); @@ -6723,7 +6724,7 @@ L_089D73D4: goto L_089D73E8; } L_089D73E8: - ctx.gpr[8] = (aot_gpr_29 + aot_gpr_5); + ctx.gpr[8] = (ctx.gpr[29] + aot_gpr_5); ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[8] + static_cast(16))); { const bool branch_taken = ctx.gpr[8] != 0u; // nop @@ -6779,7 +6780,7 @@ L_089D7430: goto L_089D7438; } L_089D7438: - aot_gpr_4 = (aot_gpr_29 + aot_gpr_5); + aot_gpr_4 = (ctx.gpr[29] + aot_gpr_5); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(16), static_cast(ctx.gpr[22])); aot_gpr_4 = (aot_gpr_5 << 3u); aot_gpr_5 = (aot_gpr_4 + aot_gpr_4); @@ -6787,7 +6788,7 @@ L_089D7438: ctx.gpr[21] = (ctx.gpr[20] + ctx.gpr[21]); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(0))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(4))); - ctx.gpr[31] = (0x089D7460u); + aot_gpr_31 = (0x089D7460u); aot_gpr_4 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 92u, 0x088905C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D7460u) goto L_089D7460; AOT_REGCACHE_SYNC_OUT(); return; @@ -6807,7 +6808,7 @@ L_089D7478: aot_fpr_12 = aot_fpr_12 - aot_fpr_13; { const float fs = aot_fpr_20; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_4 = (ctx.gpr[19] | 0u); - ctx.gpr[31] = (0x089D748Cu); + aot_gpr_31 = (0x089D748Cu); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[22])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0018_entry, 18u, 294u, 0x0884D734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D748Cu) goto L_089D748C; AOT_REGCACHE_SYNC_OUT(); return; @@ -6820,7 +6821,7 @@ L_089D748C: goto L_089D7494; } L_089D7494: - ctx.gpr[31] = (0x089D749Cu); + aot_gpr_31 = (0x089D749Cu); aot_gpr_4 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 73u, 0x08890474u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D749Cu) goto L_089D749C; AOT_REGCACHE_SYNC_OUT(); return; @@ -6840,7 +6841,7 @@ L_089D749C: } L_089D74BC: aot_gpr_4 = (ctx.gpr[19] | 0u); - ctx.gpr[31] = (0x089D74C8u); + aot_gpr_31 = (0x089D74C8u); aot_gpr_5 = (0u | 3u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0034_entry, 34u, 611u, 0x0888FE40u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D74C8u) goto L_089D74C8; AOT_REGCACHE_SYNC_OUT(); return; @@ -6866,7 +6867,7 @@ L_089D74D4: goto L_089D74E4; } L_089D74E4: - aot_gpr_4 = (aot_gpr_29 + ctx.gpr[18]); + aot_gpr_4 = (ctx.gpr[29] + ctx.gpr[18]); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(16))); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -6885,7 +6886,7 @@ L_089D74F4: goto L_089D7500; } L_089D7500: - ctx.gpr[31] = (0x089D7508u); + aot_gpr_31 = (0x089D7508u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 313u, 0x08B65564u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D7508u) goto L_089D7508; AOT_REGCACHE_SYNC_OUT(); return; @@ -6899,7 +6900,7 @@ L_089D750C: } goto L_089D7514; L_089D7514: - ctx.gpr[31] = (0x089D751Cu); + aot_gpr_31 = (0x089D751Cu); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 313u, 0x08B65564u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D751Cu) goto L_089D751C; AOT_REGCACHE_SYNC_OUT(); return; @@ -6909,7 +6910,7 @@ L_089D751C: goto L_089D7524; L_089D7524: ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(18)))))); - ctx.gpr[31] = (0x089D7530u); + aot_gpr_31 = (0x089D7530u); aot_gpr_5 = (aot_gpr_17 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 635u, 0x0893E914u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D7530u) goto L_089D7530; AOT_REGCACHE_SYNC_OUT(); return; @@ -6917,13 +6918,13 @@ L_089D7530: ctx.gpr[20] = (ctx.gpr[2] | 0u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(0))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(4))); - ctx.gpr[31] = (0x089D7544u); + aot_gpr_31 = (0x089D7544u); aot_gpr_4 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 92u, 0x088905C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D7544u) goto L_089D7544; AOT_REGCACHE_SYNC_OUT(); return; L_089D7544: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(8))); - ctx.gpr[31] = (0x089D7550u); + aot_gpr_31 = (0x089D7550u); aot_gpr_4 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 73u, 0x08890474u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D7550u) goto L_089D7550; AOT_REGCACHE_SYNC_OUT(); return; @@ -6948,7 +6949,7 @@ L_089D7568: } L_089D757C: { std::uint32_t aot_run_words[10]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(28), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(28), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); aot_gpr_16 = aot_run_words[2]; @@ -6958,18 +6959,18 @@ L_089D757C: ctx.gpr[20] = aot_run_words[6]; ctx.gpr[21] = aot_run_words[7]; ctx.gpr[22] = aot_run_words[8]; - ctx.gpr[31] = aot_run_words[9]; + aot_gpr_31 = aot_run_words[9]; } - jump_target = ctx.gpr[31]; - aot_gpr_29 = (aot_gpr_29 + static_cast(80)); + jump_target = aot_gpr_31; + ctx.gpr[29] = (ctx.gpr[29] + static_cast(80)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_089D75AC: - aot_gpr_29 = (aot_gpr_29 + static_cast(-64)); - { const std::uint32_t aot_run_words[6]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[31]}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(32), aot_run_words); } + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-64)); + { const std::uint32_t aot_run_words[6]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(32), aot_run_words); } aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(352))); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(8))); ctx.gpr[19] = (0u | 1u); @@ -6984,7 +6985,7 @@ L_089D75AC: goto L_089D75E8; } L_089D75E8: - ctx.gpr[31] = (0x089D75F0u); + aot_gpr_31 = (0x089D75F0u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D75F0u) goto L_089D75F0; AOT_REGCACHE_SYNC_OUT(); return; @@ -6998,14 +6999,14 @@ L_089D75F0: goto L_089D75FC; } L_089D75FC: - ctx.gpr[31] = (0x089D7604u); + aot_gpr_31 = (0x089D7604u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D7604u) goto L_089D7604; AOT_REGCACHE_SYNC_OUT(); return; L_089D7604: - ctx.gpr[31] = (0x089D760Cu); + aot_gpr_31 = (0x089D760Cu); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(1152))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D760Cu) goto L_089D760C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B01E00, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D760Cu) goto L_089D760C; AOT_REGCACHE_SYNC_OUT(); return; L_089D760C: aot_gpr_4 = (0u | 3u); @@ -7074,7 +7075,7 @@ L_089D7670: } L_089D7678: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(3)))))); - ctx.gpr[31] = (0x089D7684u); + aot_gpr_31 = (0x089D7684u); aot_gpr_4 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 12u, 0x08ADC0F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D7684u) goto L_089D7684; AOT_REGCACHE_SYNC_OUT(); return; @@ -7088,7 +7089,7 @@ L_089D7684: goto L_089D7690; } L_089D7690: - ctx.gpr[31] = (0x089D7698u); + aot_gpr_31 = (0x089D7698u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0008_entry, 8u, 81u, 0x08824880u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D7698u) goto L_089D7698; AOT_REGCACHE_SYNC_OUT(); return; @@ -7098,17 +7099,17 @@ L_089D7698: L_089D769C: aot_gpr_4 = (aot_gpr_4 + static_cast(10)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); - aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(16), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store16(ctx.gpr[29] + static_cast(16), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(84))); aot_gpr_4 = (aot_gpr_4 << 16u); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 16u)); aot_gpr_4 = (aot_gpr_4 << 16u); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 16u)); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(16)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[29] + static_cast(16)))))); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); - aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(22), static_cast(aot_gpr_4)); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(22)))))); - aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(18), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store16(ctx.gpr[29] + static_cast(22), static_cast(aot_gpr_4)); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[29] + static_cast(22)))))); + aot_mem.aot_direct_store16(ctx.gpr[29] + static_cast(18), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(352))); ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(104))); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(80))); @@ -7143,7 +7144,7 @@ L_089D771C: ctx.gpr[20] = (0u | 14u); goto L_089D7720; L_089D7720: - ctx.gpr[31] = (0x089D7728u); + aot_gpr_31 = (0x089D7728u); aot_gpr_4 = (aot_gpr_16 | 0u); goto L_089D4A7C; L_089D7728: @@ -7173,7 +7174,7 @@ L_089D7738: goto L_089D7748; } L_089D7748: - ctx.gpr[31] = (0x089D7750u); + aot_gpr_31 = (0x089D7750u); aot_gpr_4 = (aot_gpr_17 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0134_entry, 134u, 56u, 0x08A1C658u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D7750u) goto L_089D7750; AOT_REGCACHE_SYNC_OUT(); return; @@ -7254,14 +7255,14 @@ L_089D77A4: } L_089D77AC: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(10)))))); - aot_gpr_6 = (aot_gpr_29 + static_cast(26)); - ctx.gpr[31] = (0x089D77BCu); + aot_gpr_6 = (ctx.gpr[29] + static_cast(26)); + aot_gpr_31 = (0x089D77BCu); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D77BCu) goto L_089D77BC; AOT_REGCACHE_SYNC_OUT(); return; L_089D77BC: aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(96), ctx.gpr[2]); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(26))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast(26))); aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(96))); goto L_089D77CC; @@ -7278,7 +7279,7 @@ L_089D77CC: goto L_089D77E4; } L_089D77E4: - ctx.gpr[31] = (0x089D77ECu); + aot_gpr_31 = (0x089D77ECu); aot_gpr_4 = (aot_gpr_16 | 0u); goto L_089D4A7C; L_089D77EC: @@ -7306,7 +7307,7 @@ L_089D77FC: goto L_089D7804; } L_089D7804: - ctx.gpr[31] = (0x089D780Cu); + aot_gpr_31 = (0x089D780Cu); aot_gpr_4 = (aot_gpr_17 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0134_entry, 134u, 274u, 0x08A1D7C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D780Cu) goto L_089D780C; AOT_REGCACHE_SYNC_OUT(); return; @@ -7353,21 +7354,21 @@ L_089D7838: aot_gpr_5 = (aot_gpr_16 + static_cast(424)); goto L_089D784C; L_089D784C: - ctx.gpr[31] = (0x089D7854u); + aot_gpr_31 = (0x089D7854u); aot_gpr_4 = (aot_gpr_17 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0063_entry, 63u, 648u, 0x0890380Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D7854u) goto L_089D7854; AOT_REGCACHE_SYNC_OUT(); return; L_089D7854: - ctx.gpr[31] = (0x089D785Cu); + aot_gpr_31 = (0x089D785Cu); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0034_entry, 34u, 582u, 0x0888FB40u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D785Cu) goto L_089D785C; AOT_REGCACHE_SYNC_OUT(); return; L_089D785C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(352))); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(18)))))); - aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(28), static_cast(aot_gpr_5)); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(28)))))); - ctx.gpr[31] = (0x089D7874u); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[29] + static_cast(18)))))); + aot_mem.aot_direct_store16(ctx.gpr[29] + static_cast(28), static_cast(aot_gpr_5)); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[29] + static_cast(28)))))); + aot_gpr_31 = (0x089D7874u); aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D7874u) goto L_089D7874; AOT_REGCACHE_SYNC_OUT(); return; @@ -7390,13 +7391,13 @@ L_089D7884: goto L_089D788C; } L_089D788C: - ctx.gpr[31] = (0x089D7894u); + aot_gpr_31 = (0x089D7894u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D7894u) goto L_089D7894; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D7894u) goto L_089D7894; AOT_REGCACHE_SYNC_OUT(); return; L_089D7894: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(96))); - ctx.gpr[31] = (0x089D78A0u); + aot_gpr_31 = (0x089D78A0u); aot_gpr_4 = (aot_gpr_16 | 0u); goto L_089D49DC; L_089D78A0: @@ -7408,13 +7409,13 @@ L_089D78A0: goto L_089D78A8; } L_089D78A8: - ctx.gpr[31] = (0x089D78B0u); + aot_gpr_31 = (0x089D78B0u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D78B0u) goto L_089D78B0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D78B0u) goto L_089D78B0; AOT_REGCACHE_SYNC_OUT(); return; L_089D78B0: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(96))); - ctx.gpr[31] = (0x089D78BCu); + aot_gpr_31 = (0x089D78BCu); aot_gpr_4 = (aot_gpr_16 | 0u); goto L_089D4940; L_089D78BC: @@ -7430,7 +7431,7 @@ L_089D78C0: goto L_089D78CC; } L_089D78CC: - ctx.gpr[31] = (0x089D78D4u); + aot_gpr_31 = (0x089D78D4u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0038_entry, 38u, 621u, 0x0889EB08u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D78D4u) goto L_089D78D4; AOT_REGCACHE_SYNC_OUT(); return; @@ -7440,15 +7441,15 @@ L_089D78D4: aot_gpr_4 = (aot_gpr_4 + static_cast(140)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(24))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); - ctx.gpr[31] = (0x089D78F0u); + aot_gpr_31 = (0x089D78F0u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 251u, 0x08969194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D78F0u) goto L_089D78F0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08969194, 89u, 251u, 0x08969194u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 251u, 0x08969194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D78F0u) goto L_089D78F0; AOT_REGCACHE_SYNC_OUT(); return; L_089D78F0: aot_gpr_4 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x089D78FCu); + aot_gpr_31 = (0x089D78FCu); aot_gpr_17 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D78FCu) goto L_089D78FC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0896918C, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D78FCu) goto L_089D78FC; AOT_REGCACHE_SYNC_OUT(); return; L_089D78FC: aot_gpr_4 = (aot_gpr_17 << 6u); @@ -7498,7 +7499,7 @@ L_089D78FC: aot_mem.aot_direct_store32_block(aot_gpr_6 + static_cast(48), aot_run_words); } aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(60))); aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(60), aot_gpr_4); - ctx.gpr[31] = (0x089D7998u); + aot_gpr_31 = (0x089D7998u); aot_gpr_4 = (aot_gpr_5 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0091_entry, 91u, 621u, 0x08972D80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D7998u) goto L_089D7998; AOT_REGCACHE_SYNC_OUT(); return; @@ -7523,7 +7524,7 @@ L_089D79A8: } L_089D79B4: jump_target = aot_gpr_5; - ctx.gpr[31] = (0x089D79BCu); + aot_gpr_31 = (0x089D79BCu); aot_gpr_4 = (aot_gpr_16 | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D79BCu) goto L_089D79BC; @@ -7537,29 +7538,29 @@ L_089D79BC: goto L_089D79C4; } L_089D79C4: - ctx.gpr[31] = (0x089D79CCu); + aot_gpr_31 = (0x089D79CCu); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0085_entry, 85u, 528u, 0x0895BBA4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D79CCu) goto L_089D79CC; AOT_REGCACHE_SYNC_OUT(); return; L_089D79CC: { std::uint32_t aot_run_words[6]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(32), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(32), aot_run_words); aot_gpr_16 = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; - ctx.gpr[31] = aot_run_words[5]; + aot_gpr_31 = aot_run_words[5]; } - jump_target = ctx.gpr[31]; - aot_gpr_29 = (aot_gpr_29 + static_cast(64)); + jump_target = aot_gpr_31; + ctx.gpr[29] = (ctx.gpr[29] + static_cast(64)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_089D79EC: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[31]); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); aot_gpr_4 = (0u | 27u); aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(8681), static_cast(aot_gpr_4)); aot_gpr_4 = (ctx.gpr[28] + static_cast(-11648)); @@ -7663,32 +7664,32 @@ L_089D79EC: aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_4); { const std::uint32_t aot_run_words[3]{0u, 0u, 0u}; aot_mem.aot_direct_store32_block(ctx.gpr[28] + static_cast(9624), aot_run_words); } - ctx.gpr[31] = (0x089D7B9Cu); + aot_gpr_31 = (0x089D7B9Cu); aot_gpr_4 = (ctx.gpr[28] + static_cast(-11660)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D7B9Cu) goto L_089D7B9C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D7B9Cu) goto L_089D7B9C; AOT_REGCACHE_SYNC_OUT(); return; L_089D7B9C: - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); - jump_target = ctx.gpr[31]; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); + jump_target = aot_gpr_31; + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_089D7BA8: - aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-32)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_17); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(8), ctx.gpr[18]); ctx.gpr[18] = (2236u << 16u); aot_gpr_17 = (aot_gpr_16 + static_cast(16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[19]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(12), ctx.gpr[19]); ctx.gpr[19] = (ctx.gpr[18] + static_cast(29704)); aot_gpr_5 = (aot_gpr_17 | 0u); aot_gpr_6 = (0u | 9u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[31]); - ctx.gpr[31] = (0x089D7BE0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(16), aot_gpr_31); + aot_gpr_31 = (0x089D7BE0u); ctx.gpr[7] = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D7BE0u) goto L_089D7BE0; AOT_REGCACHE_SYNC_OUT(); return; @@ -7706,7 +7707,7 @@ L_089D7BE0: aot_gpr_4 = aot_run_words[7]; } aot_gpr_5 = (0u | 0u); - ctx.gpr[31] = (0x089D7C10u); + aot_gpr_31 = (0x089D7C10u); aot_gpr_4 = (aot_gpr_4 & 255u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0090_entry, 90u, 613u, 0x0896E838u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D7C10u) goto L_089D7C10; AOT_REGCACHE_SYNC_OUT(); return; @@ -7714,36 +7715,36 @@ L_089D7C10: aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(29704), ctx.gpr[2]); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x089D7C24u); + aot_gpr_31 = (0x089D7C24u); aot_gpr_6 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D7C24u) goto L_089D7C24; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D7C24u) goto L_089D7C24; AOT_REGCACHE_SYNC_OUT(); return; L_089D7C24: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[5]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; - ctx.gpr[31] = aot_run_words[4]; + aot_gpr_31 = aot_run_words[4]; } - jump_target = ctx.gpr[31]; - aot_gpr_29 = (aot_gpr_29 + static_cast(32)); + jump_target = aot_gpr_31; + ctx.gpr[29] = (ctx.gpr[29] + static_cast(32)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_089D7C44: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), aot_gpr_16); aot_gpr_16 = (2236u << 16u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_17); aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); aot_gpr_6 = (0u | 2u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[31]); - ctx.gpr[31] = (0x089D7C6Cu); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(8), aot_gpr_31); + aot_gpr_31 = (0x089D7C6Cu); ctx.gpr[7] = (aot_gpr_17 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D7C6Cu) goto L_089D7C6C; AOT_REGCACHE_SYNC_OUT(); return; @@ -7760,7 +7761,7 @@ L_089D7C78: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); aot_gpr_5 = (0u | 0u); aot_gpr_4 = (aot_gpr_4 << 16u); - ctx.gpr[31] = (0x089D7C8Cu); + aot_gpr_31 = (0x089D7C8Cu); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 16u)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0090_entry, 90u, 524u, 0x0896E2B0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D7C8Cu) goto L_089D7C8C; AOT_REGCACHE_SYNC_OUT(); return; @@ -7774,7 +7775,7 @@ L_089D7C8C: } L_089D7C94: aot_gpr_5 = (aot_gpr_4 | 0u); - ctx.gpr[31] = (0x089D7CA0u); + aot_gpr_31 = (0x089D7CA0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D7CA0u) goto L_089D7CA0; AOT_REGCACHE_SYNC_OUT(); return; @@ -7782,41 +7783,41 @@ L_089D7CA0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); aot_gpr_5 = (ctx.gpr[2] | 0u); aot_gpr_4 = (aot_gpr_4 << 16u); - ctx.gpr[31] = (0x089D7CB4u); + aot_gpr_31 = (0x089D7CB4u); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 16u)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0090_entry, 90u, 524u, 0x0896E2B0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D7CB4u) goto L_089D7CB4; AOT_REGCACHE_SYNC_OUT(); return; L_089D7CB4: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[3]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; - ctx.gpr[31] = aot_run_words[2]; + aot_gpr_31 = aot_run_words[2]; } - jump_target = ctx.gpr[31]; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + jump_target = aot_gpr_31; + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_089D7CCC: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_17); aot_gpr_17 = (2236u << 16u); aot_gpr_5 = (aot_gpr_16 + static_cast(16)); aot_gpr_6 = (0u | 1u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[31]); - ctx.gpr[31] = (0x089D7CF4u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(8), aot_gpr_31); + aot_gpr_31 = (0x089D7CF4u); ctx.gpr[7] = (aot_gpr_17 + static_cast(29704)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D7CF4u) goto L_089D7CF4; AOT_REGCACHE_SYNC_OUT(); return; L_089D7CF4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29704))); aot_gpr_4 = (aot_gpr_4 << 16u); - ctx.gpr[31] = (0x089D7D04u); + aot_gpr_31 = (0x089D7D04u); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 16u)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0090_entry, 90u, 342u, 0x0896D418u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D7D04u) goto L_089D7D04; AOT_REGCACHE_SYNC_OUT(); return; @@ -7901,25 +7902,25 @@ L_089D7D80: L_089D7D84: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[3]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; - ctx.gpr[31] = aot_run_words[2]; + aot_gpr_31 = aot_run_words[2]; } - jump_target = ctx.gpr[31]; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + jump_target = aot_gpr_31; + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_089D7D9C: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), aot_gpr_16); aot_gpr_16 = (2236u << 16u); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); aot_gpr_6 = (0u | 1u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[31]); - ctx.gpr[31] = (0x089D7DBCu); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); + aot_gpr_31 = (0x089D7DBCu); ctx.gpr[7] = (aot_gpr_16 + static_cast(29704)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D7DBCu) goto L_089D7DBC; AOT_REGCACHE_SYNC_OUT(); return; @@ -7946,24 +7947,24 @@ L_089D7DD4: goto L_089D7DD8; L_089D7DD8: ctx.gpr[2] = (0u | 0u); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); - jump_target = ctx.gpr[31]; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); + jump_target = aot_gpr_31; + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_089D7DEC: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), aot_gpr_16); aot_gpr_16 = (2236u << 16u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_17); aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); aot_gpr_6 = (0u | 2u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[31]); - ctx.gpr[31] = (0x089D7E14u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(8), aot_gpr_31); + aot_gpr_31 = (0x089D7E14u); ctx.gpr[7] = (aot_gpr_17 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D7E14u) goto L_089D7E14; AOT_REGCACHE_SYNC_OUT(); return; @@ -7973,34 +7974,34 @@ L_089D7E14: aot_gpr_4 = (aot_gpr_4 << 16u); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 16u)); aot_gpr_5 = (aot_gpr_5 & 255u); - ctx.gpr[31] = (0x089D7E30u); + aot_gpr_31 = (0x089D7E30u); aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0090_entry, 90u, 293u, 0x0896D0F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D7E30u) goto L_089D7E30; AOT_REGCACHE_SYNC_OUT(); return; L_089D7E30: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[3]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; - ctx.gpr[31] = aot_run_words[2]; + aot_gpr_31 = aot_run_words[2]; } - jump_target = ctx.gpr[31]; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + jump_target = aot_gpr_31; + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_089D7E48: - aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_17); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-32)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(20), aot_gpr_17); aot_gpr_17 = (2236u << 16u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(16), aot_gpr_16); aot_gpr_16 = (aot_gpr_17 + static_cast(29704)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), ctx.gpr[31]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(24), aot_gpr_31); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); aot_gpr_6 = (0u | 10u); - ctx.gpr[31] = (0x089D7E70u); + aot_gpr_31 = (0x089D7E70u); ctx.gpr[7] = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D7E70u) goto L_089D7E70; AOT_REGCACHE_SYNC_OUT(); return; @@ -8056,41 +8057,41 @@ L_089D7EBC: ctx.fpr[19] = std::bit_cast(aot_gpr_4); aot_gpr_4 = (17204u << 16u); { const float fs = ctx.fpr[1]; const float ft = ctx.fpr[19]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[19] = std::bit_cast(0x7FC00000u); else ctx.fpr[19] = fs * ft; } - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), std::bit_cast(ctx.fpr[17])); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), std::bit_cast(ctx.fpr[17])); ctx.fpr[4] = std::bit_cast(aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), std::bit_cast(ctx.fpr[18])); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), std::bit_cast(ctx.fpr[18])); ctx.fpr[19] = ctx.fpr[19] / ctx.fpr[4]; aot_gpr_4 = (0u | 1u); aot_gpr_5 = (0u | 0u); ctx.fpr[17] = std::bit_cast(std::bit_cast(ctx.fpr[2])); - ctx.gpr[31] = (0x089D7F14u); + aot_gpr_31 = (0x089D7F14u); ctx.fpr[18] = std::bit_cast(std::bit_cast(ctx.fpr[3])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0091_entry, 91u, 293u, 0x08971858u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D7F14u) goto L_089D7F14; AOT_REGCACHE_SYNC_OUT(); return; L_089D7F14: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[3]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(16), aot_run_words); aot_gpr_16 = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; - ctx.gpr[31] = aot_run_words[2]; + aot_gpr_31 = aot_run_words[2]; } - jump_target = ctx.gpr[31]; - aot_gpr_29 = (aot_gpr_29 + static_cast(32)); + jump_target = aot_gpr_31; + ctx.gpr[29] = (ctx.gpr[29] + static_cast(32)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_089D7F2C: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_17); aot_gpr_17 = (2236u << 16u); aot_gpr_5 = (aot_gpr_16 + static_cast(16)); aot_gpr_6 = (0u | 1u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[31]); - ctx.gpr[31] = (0x089D7F54u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(8), aot_gpr_31); + aot_gpr_31 = (0x089D7F54u); ctx.gpr[7] = (aot_gpr_17 + static_cast(29704)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D7F54u) goto L_089D7F54; AOT_REGCACHE_SYNC_OUT(); return; @@ -8098,7 +8099,7 @@ L_089D7F54: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29704))); aot_gpr_17 = (0u | 0u); aot_gpr_4 = (aot_gpr_4 << 16u); - ctx.gpr[31] = (0x089D7F68u); + aot_gpr_31 = (0x089D7F68u); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 16u)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0090_entry, 90u, 369u, 0x0896D5D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D7F68u) goto L_089D7F68; AOT_REGCACHE_SYNC_OUT(); return; @@ -8177,13 +8178,13 @@ L_089D7FE4: L_089D7FE8: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[3]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; - ctx.gpr[31] = aot_run_words[2]; + aot_gpr_31 = aot_run_words[2]; } - jump_target = ctx.gpr[31]; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + jump_target = aot_gpr_31; + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; diff --git a/profiles/vcs/generated/generated_unit_0117.cpp b/profiles/vcs/generated/generated_unit_0117.cpp index 848079b..603d499 100644 --- a/profiles/vcs/generated/generated_unit_0117.cpp +++ b/profiles/vcs/generated/generated_unit_0117.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,7 +139,7 @@ static const std::uint16_t kEntryIds_recomp_unit_0117[4096] = { }; void recomp_unit_0117_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,16,31,6 fprs=12,13,14,15 gpr_occ=3545 fpr_occ=1604 gpr_total=4531 fpr_total=2186 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,16,31,6 fprs=12,13,14,15 gpr_occ=3609 fpr_occ=1606 gpr_total=4646 fpr_total=2188 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; @@ -1699,7 +1700,7 @@ L_089D86D8: L_089D86E0: aot_gpr_31 = (0x089D86E8u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D86E8u) goto L_089D86E8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D86E8u) goto L_089D86E8; AOT_REGCACHE_SYNC_OUT(); return; L_089D86E8: ctx.gpr[2] = (0u | 1u); @@ -2118,7 +2119,7 @@ L_089D89E0: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); aot_gpr_31 = (0x089D89F0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D89F0u) goto L_089D89F0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D89F0u) goto L_089D89F0; AOT_REGCACHE_SYNC_OUT(); return; L_089D89F0: ctx.gpr[2] = (0u | 1u); @@ -5699,7 +5700,7 @@ L_089DA31C: ctx.fpr[24] = std::bit_cast(aot_gpr_4); aot_gpr_31 = (0x089DA334u); ctx.fpr[20] = ctx.fpr[24] - aot_fpr_12; - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DA334u) goto L_089DA334; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DA334u) goto L_089DA334; AOT_REGCACHE_SYNC_OUT(); return; L_089DA334: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-11292))); @@ -5707,18 +5708,18 @@ L_089DA334: aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x089DA348u); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DA348u) goto L_089DA348; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61EF4, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DA348u) goto L_089DA348; AOT_REGCACHE_SYNC_OUT(); return; L_089DA348: aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x089DA354u); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DA354u) goto L_089DA354; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B627F0, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DA354u) goto L_089DA354; AOT_REGCACHE_SYNC_OUT(); return; L_089DA354: aot_gpr_31 = (0x089DA35Cu); ctx.fpr[22] = std::bit_cast(std::bit_cast(ctx.fpr[0])); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DA35Cu) goto L_089DA35C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DA35Cu) goto L_089DA35C; AOT_REGCACHE_SYNC_OUT(); return; L_089DA35C: aot_gpr_4 = (16968u << 16u); @@ -6099,7 +6100,7 @@ L_089DA64C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), std::bit_cast(ctx.fpr[20])); aot_gpr_31 = (0x089DA670u); ctx.fpr[20] = ctx.fpr[24] - aot_fpr_12; - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DA670u) goto L_089DA670; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DA670u) goto L_089DA670; AOT_REGCACHE_SYNC_OUT(); return; L_089DA670: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-11356))); @@ -6167,7 +6168,7 @@ L_089DA704: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(1920), std::bit_cast(ctx.fpr[20])); aot_gpr_31 = (0x089DA72Cu); ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-11344))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DA72Cu) goto L_089DA72C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DA72Cu) goto L_089DA72C; AOT_REGCACHE_SYNC_OUT(); return; L_089DA72C: { const std::int64_t product = static_cast(static_cast(ctx.gpr[21])) * static_cast(static_cast(ctx.gpr[21])); ctx.lo = static_cast(product); ctx.hi = static_cast(static_cast(product) >> 32u); } @@ -6203,7 +6204,7 @@ L_089DA770: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(1924), std::bit_cast(ctx.fpr[20])); aot_gpr_31 = (0x089DA798u); ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-11332))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DA798u) goto L_089DA798; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DA798u) goto L_089DA798; AOT_REGCACHE_SYNC_OUT(); return; L_089DA798: { const std::int64_t product = static_cast(static_cast(ctx.gpr[21])) * static_cast(static_cast(ctx.gpr[21])); ctx.lo = static_cast(product); ctx.hi = static_cast(static_cast(product) >> 32u); } @@ -6239,7 +6240,7 @@ L_089DA7DC: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(1928), std::bit_cast(ctx.fpr[20])); aot_gpr_31 = (0x089DA804u); ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-11320))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DA804u) goto L_089DA804; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DA804u) goto L_089DA804; AOT_REGCACHE_SYNC_OUT(); return; L_089DA804: { const std::int64_t product = static_cast(static_cast(ctx.gpr[21])) * static_cast(static_cast(ctx.gpr[21])); ctx.lo = static_cast(product); ctx.hi = static_cast(static_cast(product) >> 32u); } @@ -6462,7 +6463,7 @@ L_089DA9B0: aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_31 = (0x089DA9C8u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DA9C8u) goto L_089DA9C8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DA9C8u) goto L_089DA9C8; AOT_REGCACHE_SYNC_OUT(); return; L_089DA9C8: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-11284))); @@ -6470,7 +6471,7 @@ L_089DA9C8: aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x089DA9DCu); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DA9DCu) goto L_089DA9DC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B6256C, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DA9DCu) goto L_089DA9DC; AOT_REGCACHE_SYNC_OUT(); return; L_089DA9DC: { const bool branch_taken = static_cast(ctx.gpr[2]) <= 0; diff --git a/profiles/vcs/generated/generated_unit_0118.cpp b/profiles/vcs/generated/generated_unit_0118.cpp index 6af8843..4bee0d1 100644 --- a/profiles/vcs/generated/generated_unit_0118.cpp +++ b/profiles/vcs/generated/generated_unit_0118.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0118[4094] = { }; void recomp_unit_0118_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,16,31,17 fprs=12,13,20,14 gpr_occ=4298 fpr_occ=592 gpr_total=5550 fpr_total=770 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,31,29,6,16 fprs=12,13,20,14 gpr_occ=4445 fpr_occ=592 gpr_total=5934 fpr_total=770 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; - std::uint32_t aot_gpr_29 = ctx.gpr[29]; - std::uint32_t aot_gpr_16 = ctx.gpr[16]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; - std::uint32_t aot_gpr_17 = ctx.gpr[17]; + std::uint32_t aot_gpr_29 = ctx.gpr[29]; + std::uint32_t aot_gpr_6 = ctx.gpr[6]; + std::uint32_t aot_gpr_16 = ctx.gpr[16]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_20 = ctx.fpr[20]; float aot_fpr_14 = ctx.fpr[14]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[16] = aot_gpr_16; ctx.gpr[31] = aot_gpr_31; ctx.gpr[17] = aot_gpr_17; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; ctx.fpr[14] = aot_fpr_14; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_17 = ctx.gpr[17]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_14 = ctx.fpr[14]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[31] = aot_gpr_31; ctx.gpr[29] = aot_gpr_29; ctx.gpr[6] = aot_gpr_6; ctx.gpr[16] = aot_gpr_16; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; ctx.fpr[14] = aot_fpr_14; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_16 = ctx.gpr[16]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_14 = ctx.fpr[14]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -1018,7 +1019,7 @@ L_089DC034: aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-11408))); aot_fpr_13 = aot_fpr_13 / aot_fpr_14; aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(336))); - aot_gpr_17 = (aot_gpr_16 + static_cast(2032)); + ctx.gpr[17] = (aot_gpr_16 + static_cast(2032)); { const float fs = ctx.fpr[30]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[30] = std::bit_cast(0x7FC00000u); else ctx.fpr[30] = fs * ft; } ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[26] <= ctx.fpr[22])) ? 0x00800000u : 0u); // nop @@ -1031,8 +1032,8 @@ L_089DC034: } L_089DC05C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(236))); - ctx.gpr[6] = (8u << 16u); - aot_gpr_5 = (aot_gpr_5 & ctx.gpr[6]); + aot_gpr_6 = (8u << 16u); + aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); { const bool branch_taken = aot_gpr_5 != 0u; // nop if (branch_taken) { @@ -1118,7 +1119,7 @@ L_089DC0D4: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(0), static_cast(0u)); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[20] | 0u); - ctx.gpr[6] = (ctx.gpr[18] | 0u); + aot_gpr_6 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x089DC0ECu); ctx.gpr[7] = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 265u, 0x08B00F0Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DC0ECu) goto L_089DC0EC; @@ -1359,12 +1360,12 @@ L_089DC260: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(900))); aot_gpr_4 = (aot_gpr_4 + static_cast(328)); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - aot_gpr_4 = (aot_gpr_16 + ctx.gpr[6]); + aot_gpr_4 = (aot_gpr_16 + aot_gpr_6); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x089DC280u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DC280u) goto L_089DC280; AOT_REGCACHE_SYNC_OUT(); return; @@ -1419,7 +1420,7 @@ L_089DC2B4: goto L_089DC2D0; } L_089DC2D0: - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -1504,10 +1505,10 @@ L_089DC2D0: ctx.gpr[7] = (aot_gpr_29 + static_cast(64)); ctx.gpr[19] = (aot_gpr_29 + static_cast(48)); ctx.gpr[8] = (aot_gpr_29 + static_cast(80)); - ctx.gpr[6] = (aot_gpr_16 + static_cast(48)); + aot_gpr_6 = (aot_gpr_16 + static_cast(48)); goto L_089DC324; L_089DC324: - ctx.gpr[9] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(1264))); + ctx.gpr[9] = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(1264))); { const bool branch_taken = ctx.gpr[9] == 0u; // nop if (branch_taken) { @@ -1516,7 +1517,7 @@ L_089DC324: goto L_089DC330; } L_089DC330: - ctx.gpr[9] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(1264))); + ctx.gpr[9] = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(1264))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[9] + static_cast(64))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), std::bit_cast(aot_fpr_13)); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[9] + static_cast(68))); @@ -1589,7 +1590,7 @@ L_089DC390: aot_gpr_5 = (aot_gpr_5 + static_cast(1)); ctx.gpr[9] = (static_cast(aot_gpr_5) < 27 ? 1u : 0u); { const bool branch_taken = ctx.gpr[9] != 0u; - ctx.gpr[6] = (ctx.gpr[6] + static_cast(4)); + aot_gpr_6 = (aot_gpr_6 + static_cast(4)); if (branch_taken) { goto L_089DC324; } @@ -1615,7 +1616,7 @@ L_089DC3A8: L_089DC3B4: aot_gpr_31 = (0x089DC3BCu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DC3BCu) goto L_089DC3BC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DC3BCu) goto L_089DC3BC; AOT_REGCACHE_SYNC_OUT(); return; L_089DC3BC: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -1639,7 +1640,7 @@ L_089DC3CC: L_089DC3D8: aot_gpr_31 = (0x089DC3E0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DC3E0u) goto L_089DC3E0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DC3E0u) goto L_089DC3E0; AOT_REGCACHE_SYNC_OUT(); return; L_089DC3E0: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -1732,7 +1733,7 @@ L_089DC460: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(1264))); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x089DC470u); - ctx.gpr[6] = (0u | 2u); + aot_gpr_6 = (0u | 2u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 3u, 0x08B00014u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DC470u) goto L_089DC470; AOT_REGCACHE_SYNC_OUT(); return; L_089DC470: @@ -1742,7 +1743,7 @@ L_089DC474: { const float fs = aot_fpr_12; const float ft = ctx.fpr[26]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x089DC484u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 795u, 0x08833928u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DC484u) goto L_089DC484; AOT_REGCACHE_SYNC_OUT(); return; L_089DC484: @@ -1778,7 +1779,7 @@ L_089DC4AC: ctx.fpr[28] = std::bit_cast(aot_run_words[4]); ctx.fpr[30] = std::bit_cast(aot_run_words[5]); aot_gpr_16 = aot_run_words[6]; - aot_gpr_17 = aot_run_words[7]; + ctx.gpr[17] = aot_run_words[7]; ctx.gpr[18] = aot_run_words[8]; ctx.gpr[19] = aot_run_words[9]; ctx.gpr[20] = aot_run_words[10]; @@ -1793,10 +1794,10 @@ L_089DC4AC: AOT_REGCACHE_SYNC_OUT(); return; L_089DC4E8: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(615)))))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_17); - aot_gpr_17 = (aot_gpr_4 | 0u); - aot_gpr_4 = (ctx.gpr[6] & 64u); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(615)))))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_4 | 0u); + aot_gpr_4 = (aot_gpr_6 & 64u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), std::bit_cast(aot_fpr_20)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_16); { const std::uint32_t aot_run_words[3]{ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; @@ -1809,7 +1810,7 @@ L_089DC4E8: goto L_089DC518; } L_089DC518: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(72))); aot_fpr_20 = std::bit_cast(0u); aot_gpr_4 = (aot_gpr_4 & 496u); { const bool branch_taken = aot_gpr_4 == 0u; @@ -1836,7 +1837,7 @@ L_089DC534: goto L_089DC53C; } L_089DC53C: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(533)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(533)))))); aot_gpr_5 = (0u | 34u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -1846,7 +1847,7 @@ L_089DC53C: goto L_089DC54C; } L_089DC54C: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(86)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(86)))))); { const bool branch_taken = aot_gpr_4 != ctx.gpr[19]; // nop if (branch_taken) { @@ -1861,7 +1862,7 @@ L_089DC558: AOT_REGCACHE_SYNC_OUT(); return; L_089DC560: { const bool branch_taken = aot_gpr_16 == ctx.gpr[2]; - ctx.gpr[18] = (aot_gpr_17 + static_cast(48)); + ctx.gpr[18] = (ctx.gpr[17] + static_cast(48)); if (branch_taken) { goto L_089DC590; } @@ -1877,9 +1878,9 @@ L_089DC568: } L_089DC570: aot_gpr_4 = (0u | 34u); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(533), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(533), static_cast(aot_gpr_4)); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(636), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(636), std::bit_cast(aot_fpr_20)); if (branch_taken) { goto L_089DC8F4; } @@ -1901,23 +1902,23 @@ L_089DC588: L_089DC590: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7800))); aot_gpr_5 = (aot_gpr_4 + aot_gpr_4); - ctx.gpr[6] = (aot_gpr_4 << 8u); + aot_gpr_6 = (aot_gpr_4 << 8u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_gpr_4 << 5u); aot_gpr_5 = (2238u << 16u); - aot_gpr_4 = (ctx.gpr[6] + aot_gpr_4); + aot_gpr_4 = (aot_gpr_6 + aot_gpr_4); aot_gpr_5 = (aot_gpr_5 + static_cast(-6992)); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(320))); - ctx.gpr[6] = (16672u << 16u); - aot_fpr_13 = std::bit_cast(ctx.gpr[6]); + aot_gpr_6 = (16672u << 16u); + aot_fpr_13 = std::bit_cast(aot_gpr_6); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(316))); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; aot_gpr_5 = (aot_gpr_5 + static_cast(20)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(316), aot_gpr_5); aot_gpr_31 = (0x089DC5D8u); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(320), std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DC5D8u) goto L_089DC5D8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DC5D8u) goto L_089DC5D8; AOT_REGCACHE_SYNC_OUT(); return; L_089DC5D8: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -1930,46 +1931,46 @@ L_089DC5D8: aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7904), aot_gpr_4); goto L_089DC5F8; L_089DC5F8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 496u); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(72))); goto L_089DC644; } goto L_089DC608; L_089DC608: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(72))); aot_gpr_5 = (65528u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(-1)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(72), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(72), aot_gpr_4); aot_gpr_5 = (0u + static_cast(-513)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(72), aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(328), std::bit_cast(aot_fpr_20)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(324), std::bit_cast(aot_fpr_20)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(320), std::bit_cast(aot_fpr_20)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(120), std::bit_cast(aot_fpr_20)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(116), std::bit_cast(aot_fpr_20)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(112), std::bit_cast(aot_fpr_20)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(72))); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(72), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(328), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(324), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(320), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(120), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(116), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(112), std::bit_cast(aot_fpr_20)); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(72))); goto L_089DC644; L_089DC644: aot_gpr_5 = (0u + static_cast(-497)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_4 = (aot_gpr_4 | 80u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(72), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(72), aot_gpr_4); aot_gpr_5 = (32u << 16u); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(72), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(72), aot_gpr_4); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); - aot_gpr_4 = (aot_gpr_17 + static_cast(944)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(944)); aot_gpr_31 = (0x089DC670u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(660), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(660), aot_gpr_5); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 420u, 0x08B0DB74u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DC670u) goto L_089DC670; AOT_REGCACHE_SYNC_OUT(); return; L_089DC670: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(86)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(86)))))); { const bool branch_taken = aot_gpr_4 == ctx.gpr[19]; // nop if (branch_taken) { @@ -1978,78 +1979,78 @@ L_089DC670: goto L_089DC67C; } L_089DC67C: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (0u | 12u); - ctx.gpr[6] = (0u | 5u); + aot_gpr_6 = (0u | 5u); aot_gpr_31 = (0x089DC690u); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 310u, 0x088316CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DC690u) goto L_089DC690; AOT_REGCACHE_SYNC_OUT(); return; L_089DC690: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (0u | 13u); - ctx.gpr[6] = (0u | 6u); + aot_gpr_6 = (0u | 6u); aot_gpr_31 = (0x089DC6A4u); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 310u, 0x088316CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DC6A4u) goto L_089DC6A4; AOT_REGCACHE_SYNC_OUT(); return; L_089DC6A4: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (0u | 18u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x089DC6B8u); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 341u, 0x088318B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DC6B8u) goto L_089DC6B8; AOT_REGCACHE_SYNC_OUT(); return; L_089DC6B8: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (0u | 19u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_gpr_31 = (0x089DC6CCu); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 341u, 0x088318B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DC6CCu) goto L_089DC6CC; AOT_REGCACHE_SYNC_OUT(); return; L_089DC6CC: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (0u | 10u); - ctx.gpr[6] = (0u | 2u); + aot_gpr_6 = (0u | 2u); aot_gpr_31 = (0x089DC6E0u); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 341u, 0x088318B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DC6E0u) goto L_089DC6E0; AOT_REGCACHE_SYNC_OUT(); return; L_089DC6E0: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (0u | 8u); - ctx.gpr[6] = (0u | 3u); + aot_gpr_6 = (0u | 3u); aot_gpr_31 = (0x089DC6F4u); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 341u, 0x088318B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DC6F4u) goto L_089DC6F4; AOT_REGCACHE_SYNC_OUT(); return; L_089DC6F4: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (0u | 11u); - ctx.gpr[6] = (0u | 4u); + aot_gpr_6 = (0u | 4u); aot_gpr_31 = (0x089DC708u); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 341u, 0x088318B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DC708u) goto L_089DC708; AOT_REGCACHE_SYNC_OUT(); return; L_089DC708: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (0u | 9u); - ctx.gpr[6] = (0u | 5u); + aot_gpr_6 = (0u | 5u); aot_gpr_31 = (0x089DC71Cu); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 341u, 0x088318B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DC71Cu) goto L_089DC71C; AOT_REGCACHE_SYNC_OUT(); return; L_089DC71C: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (0u | 5u); aot_gpr_31 = (0x089DC72Cu); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0016_entry, 16u, 275u, 0x08845928u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DC72Cu) goto L_089DC72C; AOT_REGCACHE_SYNC_OUT(); return; L_089DC72C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1284))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1284))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -2060,8 +2061,8 @@ L_089DC72C: L_089DC738: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), 0u); aot_gpr_5 = (2179u << 16u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1284))); - ctx.gpr[6] = (aot_gpr_29 + static_cast(16)); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1284))); + aot_gpr_6 = (aot_gpr_29 + static_cast(16)); aot_gpr_31 = (0x089DC750u); aot_gpr_5 = (aot_gpr_5 + static_cast(992)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0091_entry, 91u, 626u, 0x08972E68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DC750u) goto L_089DC750; @@ -2080,12 +2081,12 @@ L_089DC75C: aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(2), static_cast(0u)); goto L_089DC764; L_089DC764: - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(636), std::bit_cast(aot_fpr_20)); - aot_mem.aot_direct_store16(aot_gpr_17 + static_cast(666), static_cast(0u)); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(1653)))))); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(636), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store16(ctx.gpr[17] + static_cast(666), static_cast(0u)); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(1653)))))); aot_gpr_5 = (0u + static_cast(-8)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(1653), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(1653), static_cast(aot_gpr_4)); aot_gpr_4 = (2236u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(32304)); aot_gpr_5 = (16076u << 16u); @@ -2111,36 +2112,36 @@ L_089DC7A0: const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089DC7B4u); aot_gpr_5 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 877u, 0x08AFFAC8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DC7B4u) goto L_089DC7B4; AOT_REGCACHE_SYNC_OUT(); return; L_089DC7B4: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(613)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(613)))))); aot_gpr_5 = (0u + static_cast(-17)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(613), static_cast(aot_gpr_4)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(2016), static_cast(0u)); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(706)))))); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(613), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(2016), static_cast(0u)); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(706)))))); aot_gpr_5 = (0u + static_cast(-4)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(706), static_cast(aot_gpr_4)); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(613)))))); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(706), static_cast(aot_gpr_4)); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(613)))))); aot_gpr_5 = (0u + static_cast(-65)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(613), static_cast(aot_gpr_4)); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(618)))))); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(613), static_cast(aot_gpr_4)); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(618)))))); aot_gpr_5 = (0u + static_cast(-33)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(618), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(618), static_cast(aot_gpr_4)); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089DC804u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 604u, 0x08832988u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DC804u) goto L_089DC804; AOT_REGCACHE_SYNC_OUT(); return; L_089DC804: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(613)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(613)))))); aot_gpr_4 = (aot_gpr_4 & 2u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -2150,16 +2151,16 @@ L_089DC804: goto L_089DC814; } L_089DC814: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(613)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(613)))))); aot_gpr_5 = (0u + static_cast(-3)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(613), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(613), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5452))); aot_gpr_4 = (aot_gpr_4 + static_cast(-1)); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(5452), aot_gpr_4); goto L_089DC830; L_089DC830: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(613)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(613)))))); aot_gpr_4 = (aot_gpr_4 & 4u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -2169,16 +2170,16 @@ L_089DC830: goto L_089DC840; } L_089DC840: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(613)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(613)))))); aot_gpr_5 = (0u + static_cast(-5)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(613), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(613), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5456))); aot_gpr_4 = (aot_gpr_4 + static_cast(-1)); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(5456), aot_gpr_4); goto L_089DC85C; L_089DC85C: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089DC868u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 450u, 0x08B01B4Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DC868u) goto L_089DC868; @@ -2187,9 +2188,9 @@ L_089DC868: aot_gpr_4 = (16204u << 16u); aot_gpr_4 = (aot_gpr_4 | 52429u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_4 = (2238u << 16u); - ctx.gpr[6] = (aot_gpr_16 | 0u); + aot_gpr_6 = (aot_gpr_16 | 0u); ctx.gpr[7] = (0u | 1u); ctx.gpr[8] = (0u | 1u); aot_gpr_31 = (0x089DC890u); @@ -2198,11 +2199,11 @@ L_089DC868: AOT_REGCACHE_SYNC_OUT(); return; L_089DC890: aot_gpr_31 = (0x089DC898u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 544u, 0x08A362BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DC898u) goto L_089DC898; AOT_REGCACHE_SYNC_OUT(); return; L_089DC898: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(86)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(86)))))); { const bool branch_taken = aot_gpr_4 != ctx.gpr[19]; // nop if (branch_taken) { @@ -2211,9 +2212,9 @@ L_089DC898: goto L_089DC8A4; } L_089DC8A4: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (0u | 12u); + aot_gpr_6 = (0u | 12u); ctx.gpr[7] = (ctx.gpr[18] | 0u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 1u); @@ -2231,9 +2232,9 @@ L_089DC8C8: goto L_089DC8D0; } L_089DC8D0: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (0u | 6u); + aot_gpr_6 = (0u | 6u); ctx.gpr[7] = (ctx.gpr[18] | 0u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 1u); @@ -2247,7 +2248,7 @@ L_089DC8F4: aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(20), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); aot_gpr_16 = aot_run_words[1]; - aot_gpr_17 = aot_run_words[2]; + ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; ctx.gpr[19] = aot_run_words[4]; aot_gpr_31 = aot_run_words[5]; @@ -2289,7 +2290,7 @@ L_089DC94C: ctx.gpr[7] = (2206u << 16u); aot_gpr_4 = (aot_gpr_16 + static_cast(32)); aot_gpr_5 = (0u | 4u); - ctx.gpr[6] = (0u | 6u); + aot_gpr_6 = (0u | 6u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x089DC974u); ctx.gpr[7] = (ctx.gpr[7] + static_cast(-14028)); @@ -2316,10 +2317,10 @@ L_089DC974: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(154)))))); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(116), aot_gpr_4); aot_gpr_4 = (16672u << 16u); - ctx.gpr[6] = (0u + static_cast(-3)); + aot_gpr_6 = (0u + static_cast(-3)); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(132), std::bit_cast(aot_fpr_12)); - aot_gpr_4 = (aot_gpr_5 & ctx.gpr[6]); + aot_gpr_4 = (aot_gpr_5 & aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(136), std::bit_cast(aot_fpr_13)); aot_gpr_5 = (16256u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_5); @@ -2332,10 +2333,10 @@ L_089DC974: aot_gpr_5 = (0u | 10u); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(150), static_cast(0u)); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(151), static_cast(aot_gpr_5)); - ctx.gpr[6] = (0u + static_cast(-5)); + aot_gpr_6 = (0u + static_cast(-5)); aot_gpr_5 = (0u | 10u); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(152), static_cast(0u)); - aot_gpr_4 = (aot_gpr_4 & ctx.gpr[6]); + aot_gpr_4 = (aot_gpr_4 & aot_gpr_6); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(153), static_cast(aot_gpr_5)); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(154), static_cast(aot_gpr_4)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(154)))))); @@ -2389,11 +2390,11 @@ L_089DCA98: L_089DCAA4: aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(132))); aot_fpr_14 = aot_fpr_14 / aot_fpr_12; - ctx.gpr[6] = (17530u << 16u); + aot_gpr_6 = (17530u << 16u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(112))); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(116))); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(136), std::bit_cast(aot_fpr_12)); - ctx.fpr[15] = std::bit_cast(ctx.gpr[6]); + ctx.fpr[15] = std::bit_cast(aot_gpr_6); ctx.fpr[16] = std::bit_cast(ctx.gpr[7]); ctx.fpr[16] = static_cast(static_cast(std::bit_cast(ctx.fpr[16]))); { const float fs = aot_fpr_14; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } @@ -2433,12 +2434,12 @@ L_089DCB04: ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_089DCB28: - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(60)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(60)))))); aot_gpr_5 = (0u | 0u); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(-1)); - aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(60), static_cast(ctx.gpr[6])); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(60)))))); - ctx.gpr[7] = (static_cast(aot_gpr_5) < static_cast(ctx.gpr[6]) ? 1u : 0u); + aot_gpr_6 = (aot_gpr_6 + static_cast(-1)); + aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(60), static_cast(aot_gpr_6)); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(60)))))); + ctx.gpr[7] = (static_cast(aot_gpr_5) < static_cast(aot_gpr_6) ? 1u : 0u); { const bool branch_taken = ctx.gpr[7] == 0u; // nop if (branch_taken) { @@ -2454,7 +2455,7 @@ L_089DCB48: aot_gpr_5 = (aot_gpr_5 << 16u); aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(0), ctx.gpr[8]); aot_gpr_5 = (static_cast(static_cast(aot_gpr_5) >> 16u)); - ctx.gpr[7] = (static_cast(aot_gpr_5) < static_cast(ctx.gpr[6]) ? 1u : 0u); + ctx.gpr[7] = (static_cast(aot_gpr_5) < static_cast(aot_gpr_6) ? 1u : 0u); { const bool branch_taken = ctx.gpr[7] != 0u; // nop if (branch_taken) { @@ -2471,29 +2472,29 @@ L_089DCB70: AOT_REGCACHE_SYNC_OUT(); return; L_089DCB78: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(112))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(116))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(116))); ctx.gpr[7] = (aot_gpr_4 + static_cast(38)); - aot_gpr_5 = (aot_gpr_5 + ctx.gpr[6]); + aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(112), aot_gpr_5); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[7] + static_cast(0)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[7] + static_cast(0)))))); ctx.gpr[8] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[7] + static_cast(2)))))); aot_gpr_5 = (aot_gpr_4 + static_cast(32)); ctx.gpr[9] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[7] + static_cast(4)))))); - aot_mem.aot_direct_store16(aot_gpr_5 + static_cast(0), static_cast(ctx.gpr[6])); + aot_mem.aot_direct_store16(aot_gpr_5 + static_cast(0), static_cast(aot_gpr_6)); aot_mem.aot_direct_store16(aot_gpr_5 + static_cast(2), static_cast(ctx.gpr[8])); aot_mem.aot_direct_store16(aot_gpr_5 + static_cast(4), static_cast(ctx.gpr[9])); aot_gpr_5 = (aot_gpr_4 + static_cast(44)); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); ctx.gpr[8] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(2)))))); ctx.gpr[9] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(4)))))); - aot_mem.aot_direct_store16(ctx.gpr[7] + static_cast(0), static_cast(ctx.gpr[6])); + aot_mem.aot_direct_store16(ctx.gpr[7] + static_cast(0), static_cast(aot_gpr_6)); aot_mem.aot_direct_store16(ctx.gpr[7] + static_cast(2), static_cast(ctx.gpr[8])); aot_mem.aot_direct_store16(ctx.gpr[7] + static_cast(4), static_cast(ctx.gpr[9])); aot_gpr_4 = (aot_gpr_4 + static_cast(50)); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(2)))))); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(4)))))); - aot_mem.aot_direct_store16(aot_gpr_5 + static_cast(0), static_cast(ctx.gpr[6])); + aot_mem.aot_direct_store16(aot_gpr_5 + static_cast(0), static_cast(aot_gpr_6)); aot_mem.aot_direct_store16(aot_gpr_5 + static_cast(2), static_cast(ctx.gpr[7])); jump_target = aot_gpr_31; aot_mem.aot_direct_store16(aot_gpr_5 + static_cast(4), static_cast(aot_gpr_4)); @@ -2503,22 +2504,22 @@ L_089DCB78: AOT_REGCACHE_SYNC_OUT(); return; L_089DCBE4: aot_gpr_29 = (aot_gpr_29 + static_cast(-96)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(80), aot_run_words); } - aot_gpr_17 = (ctx.gpr[6] | 0u); + ctx.gpr[17] = (aot_gpr_6 | 0u); aot_gpr_16 = (aot_gpr_4 | 0u); ctx.gpr[7] = (ctx.gpr[7] & 255u); aot_gpr_4 = (aot_gpr_16 + static_cast(44)); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); ctx.gpr[8] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(2)))))); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(4)))))); - aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(0), static_cast(ctx.gpr[6])); + aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_6)); aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(2), static_cast(ctx.gpr[8])); aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(4), static_cast(aot_gpr_5)); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (0u | 1u); aot_gpr_31 = (0x089DCC30u); - ctx.gpr[6] = (0u | 3u); + aot_gpr_6 = (0u | 3u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0208_entry, 208u, 509u, 0x08B46834u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DCC30u) goto L_089DCC30; AOT_REGCACHE_SYNC_OUT(); return; L_089DCC30: @@ -2535,7 +2536,7 @@ L_089DCC38: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(116), aot_gpr_4); - aot_gpr_4 = (aot_gpr_17 + static_cast(48)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -2550,19 +2551,19 @@ L_089DCC38: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } ctx.gpr[18] = (0u | 0u); - aot_gpr_17 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[17] = (aot_gpr_29 + static_cast(16)); goto L_089DCC70; L_089DCC70: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x089DCC80u); - ctx.gpr[6] = (aot_gpr_17 | 0u); + aot_gpr_6 = (ctx.gpr[17] | 0u); goto L_089DCF78; L_089DCC80: ctx.gpr[18] = (ctx.gpr[18] + static_cast(1)); aot_gpr_4 = (static_cast(ctx.gpr[18]) < 4 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(16)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(16)); if (branch_taken) { goto L_089DCC70; } @@ -2571,7 +2572,7 @@ L_089DCC80: L_089DCC90: aot_gpr_4 = (aot_gpr_29 + static_cast(16)); aot_gpr_5 = (aot_gpr_29 + static_cast(32)); - ctx.gpr[6] = (aot_gpr_29 + static_cast(48)); + aot_gpr_6 = (aot_gpr_29 + static_cast(48)); ctx.gpr[7] = (aot_gpr_29 + static_cast(64)); aot_gpr_31 = (0x089DCCA8u); ctx.gpr[8] = (aot_gpr_29 | 0u); @@ -2605,7 +2606,7 @@ L_089DCCC8: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(80), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -2647,9 +2648,9 @@ L_089DCD1C: AOT_REGCACHE_SYNC_OUT(); return; L_089DCD44: aot_gpr_29 = (aot_gpr_29 + static_cast(-96)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(80), aot_run_words); } - aot_gpr_17 = (ctx.gpr[7] | 0u); + ctx.gpr[17] = (ctx.gpr[7] | 0u); aot_gpr_16 = (aot_gpr_4 | 0u); ctx.gpr[7] = (ctx.gpr[8] & 255u); aot_gpr_4 = (aot_gpr_16 + static_cast(32)); @@ -2667,16 +2668,16 @@ L_089DCD44: aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(2), static_cast(ctx.gpr[9])); aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(4), static_cast(aot_gpr_5)); aot_gpr_4 = (aot_gpr_16 + static_cast(44)); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[6] + static_cast(0)))))); - ctx.gpr[8] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[6] + static_cast(2)))))); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[6] + static_cast(4)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(0)))))); + ctx.gpr[8] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(2)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(4)))))); aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_5)); aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(2), static_cast(ctx.gpr[8])); - aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(4), static_cast(ctx.gpr[6])); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(4), static_cast(aot_gpr_6)); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (0u | 1u); aot_gpr_31 = (0x089DCDC8u); - ctx.gpr[6] = (0u | 3u); + aot_gpr_6 = (0u | 3u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0208_entry, 208u, 509u, 0x08B46834u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DCDC8u) goto L_089DCDC8; AOT_REGCACHE_SYNC_OUT(); return; L_089DCDC8: @@ -2693,7 +2694,7 @@ L_089DCDD0: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(116), aot_gpr_4); - aot_gpr_4 = (aot_gpr_17 + static_cast(48)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -2708,19 +2709,19 @@ L_089DCDD0: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } ctx.gpr[18] = (0u | 0u); - aot_gpr_17 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[17] = (aot_gpr_29 + static_cast(16)); goto L_089DCE08; L_089DCE08: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x089DCE18u); - ctx.gpr[6] = (aot_gpr_17 | 0u); + aot_gpr_6 = (ctx.gpr[17] | 0u); goto L_089DCF78; L_089DCE18: ctx.gpr[18] = (ctx.gpr[18] + static_cast(1)); aot_gpr_4 = (static_cast(ctx.gpr[18]) < 4 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(16)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(16)); if (branch_taken) { goto L_089DCE08; } @@ -2729,7 +2730,7 @@ L_089DCE18: L_089DCE28: aot_gpr_4 = (aot_gpr_29 + static_cast(16)); aot_gpr_5 = (aot_gpr_29 + static_cast(32)); - ctx.gpr[6] = (aot_gpr_29 + static_cast(48)); + aot_gpr_6 = (aot_gpr_29 + static_cast(48)); ctx.gpr[7] = (aot_gpr_29 + static_cast(64)); aot_gpr_31 = (0x089DCE40u); ctx.gpr[8] = (aot_gpr_29 | 0u); @@ -2763,7 +2764,7 @@ L_089DCE60: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(80), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -2780,16 +2781,16 @@ L_089DCE98: aot_fpr_20 = std::bit_cast(std::bit_cast(aot_fpr_12)); ctx.gpr[7] = (ctx.gpr[7] | 39322u); aot_fpr_12 = std::bit_cast(ctx.gpr[7]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(88), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(88), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(92), ctx.gpr[18]); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_20 <= aot_fpr_12)) ? 0x00800000u : 0u); ctx.gpr[18] = (aot_gpr_4 | 0u); - aot_gpr_17 = (aot_gpr_5 | 0u); + ctx.gpr[17] = (aot_gpr_5 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(84), aot_gpr_16); { const std::uint32_t aot_run_words[3]{ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(96), aot_run_words); } { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); - aot_gpr_16 = (ctx.gpr[6] | 0u); + aot_gpr_16 = (aot_gpr_6 | 0u); if (branch_taken) { goto L_089DCEE4; } @@ -2825,7 +2826,7 @@ L_089DCF04: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x089DCF14u); - ctx.gpr[6] = (ctx.gpr[19] | 0u); + aot_gpr_6 = (ctx.gpr[19] | 0u); goto L_089DCF78; L_089DCF14: ctx.gpr[20] = (ctx.gpr[20] + static_cast(1)); @@ -2843,11 +2844,11 @@ L_089DCF24: ctx.gpr[10] = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(116))); aot_gpr_4 = (aot_gpr_29 + static_cast(16)); aot_gpr_5 = (aot_gpr_29 + static_cast(32)); - ctx.gpr[6] = (aot_gpr_29 + static_cast(48)); + aot_gpr_6 = (aot_gpr_29 + static_cast(48)); ctx.gpr[7] = (aot_gpr_29 + static_cast(64)); ctx.gpr[8] = (ctx.gpr[18] + static_cast(80)); ctx.gpr[9] = (ctx.gpr[18] + static_cast(96)); - ctx.gpr[11] = (aot_gpr_17 | 0u); + ctx.gpr[11] = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089DCF54u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0132_entry, 132u, 583u, 0x08A17304u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DCF54u) goto L_089DCF54; @@ -2857,7 +2858,7 @@ L_089DCF54: aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(80), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); aot_gpr_16 = aot_run_words[1]; - aot_gpr_17 = aot_run_words[2]; + ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; ctx.gpr[19] = aot_run_words[4]; ctx.gpr[20] = aot_run_words[5]; @@ -2874,18 +2875,18 @@ L_089DCF78: ctx.gpr[7] = (aot_gpr_5 + aot_gpr_5); aot_gpr_5 = (aot_gpr_5 + ctx.gpr[7]); aot_gpr_5 = (aot_gpr_5 + aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(184), aot_gpr_17); - aot_gpr_17 = (aot_gpr_4 + aot_gpr_5); - aot_gpr_17 = (aot_gpr_17 + static_cast(32)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(184), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_4 + aot_gpr_5); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(32)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16928))); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(2)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(2)))))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(188), ctx.gpr[18]); ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(180), aot_gpr_16); aot_gpr_5 = (aot_gpr_5 << 2u); - aot_gpr_16 = (ctx.gpr[6] | 0u); + aot_gpr_16 = (aot_gpr_6 | 0u); ctx.gpr[18] = (ctx.gpr[18] + aot_gpr_5); - ctx.gpr[6] = (aot_gpr_29 + static_cast(32)); + aot_gpr_6 = (aot_gpr_29 + static_cast(32)); ctx.gpr[7] = (aot_gpr_29 + static_cast(36)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(176), std::bit_cast(aot_fpr_20)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(192), aot_gpr_31); @@ -2909,7 +2910,7 @@ L_089DCFCC: goto L_089DCFF0; } L_089DCFF0: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(5)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(5)))))); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(2)))))); ctx.fpr[15] = std::bit_cast(aot_gpr_4); ctx.fpr[16] = static_cast(static_cast(std::bit_cast(ctx.fpr[15]))); @@ -2950,7 +2951,7 @@ L_089DD034: goto L_089DD044; } L_089DD044: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(5)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(5)))))); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(2)))))); ctx.fpr[15] = std::bit_cast(aot_gpr_4); ctx.fpr[16] = static_cast(static_cast(std::bit_cast(ctx.fpr[15]))); @@ -2983,11 +2984,11 @@ L_089DD084: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(40))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(44))); aot_gpr_5 = (aot_gpr_5 + static_cast(5)); - ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0))); + aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0))); aot_gpr_4 = (aot_gpr_4 + static_cast(5)); ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0))); - ctx.gpr[6] = (static_cast(ctx.gpr[7]) < static_cast(ctx.gpr[6]) ? 1u : 0u); - if (ctx.gpr[6] == 0u) { + aot_gpr_6 = (static_cast(ctx.gpr[7]) < static_cast(aot_gpr_6) ? 1u : 0u); + if (aot_gpr_6 == 0u) { aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0))); goto L_089DD0BC; } @@ -3009,7 +3010,7 @@ L_089DD0BC: ctx.fpr[15] = static_cast(static_cast(std::bit_cast(ctx.fpr[15]))); goto L_089DD0C8; L_089DD0C8: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(5)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(5)))))); ctx.fpr[16] = std::bit_cast(aot_gpr_4); ctx.fpr[16] = static_cast(static_cast(std::bit_cast(ctx.fpr[16]))); aot_gpr_4 = (15744u << 16u); @@ -3172,7 +3173,7 @@ L_089DD0F0: { const float fs = aot_fpr_13; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_fpr_13 = ctx.fpr[16] + aot_fpr_13; aot_fpr_13 = std::sqrt(aot_fpr_13); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(4)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(4)))))); aot_fpr_14 = std::bit_cast(aot_gpr_4); aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); { const float fs = aot_fpr_12; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } @@ -3204,7 +3205,7 @@ L_089DD21C: aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(176), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); aot_gpr_16 = aot_run_words[1]; - aot_gpr_17 = aot_run_words[2]; + ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; } @@ -3223,13 +3224,13 @@ L_089DD23C: AOT_REGCACHE_SYNC_OUT(); return; L_089DD244: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_4 | 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(56))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_4 | 0u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(56))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_16 = (ctx.gpr[6] | 0u); + aot_gpr_16 = (aot_gpr_6 | 0u); if (branch_taken) { goto L_089DD26C; } @@ -3237,13 +3238,13 @@ L_089DD244: } L_089DD264: aot_gpr_31 = (0x089DD26Cu); - aot_gpr_5 = (aot_gpr_17 + static_cast(56)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DD26Cu) goto L_089DD26C; + aot_gpr_5 = (ctx.gpr[17] + static_cast(56)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A93004, 163u, 430u, 0x08A93004u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DD26Cu) goto L_089DD26C; AOT_REGCACHE_SYNC_OUT(); return; L_089DD26C: aot_gpr_4 = (aot_gpr_16 | 0u); { const bool branch_taken = aot_gpr_4 == 0u; - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(56), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(56), aot_gpr_16); if (branch_taken) { goto L_089DD288; } @@ -3259,14 +3260,14 @@ L_089DD278: } L_089DD280: aot_gpr_31 = (0x089DD288u); - aot_gpr_5 = (aot_gpr_17 + static_cast(56)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DD288u) goto L_089DD288; + aot_gpr_5 = (ctx.gpr[17] + static_cast(56)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DD288u) goto L_089DD288; AOT_REGCACHE_SYNC_OUT(); return; L_089DD288: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -3276,7 +3277,7 @@ L_089DD288: ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_089DD29C: - { const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -3298,10 +3299,10 @@ L_089DD29C: AOT_REGCACHE_SYNC_OUT(); return; L_089DD2B0: aot_gpr_29 = (aot_gpr_29 + static_cast(-144)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, ctx.gpr[18]}; + { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(112), aot_run_words); } ctx.gpr[18] = (0u | 0u); - aot_gpr_17 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[17] = (aot_gpr_29 + static_cast(16)); aot_gpr_16 = (aot_gpr_4 | 0u); { const std::uint32_t aot_run_words[3]{ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(124), aot_run_words); } @@ -3310,26 +3311,26 @@ L_089DD2D8: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x089DD2E8u); - ctx.gpr[6] = (aot_gpr_17 | 0u); + aot_gpr_6 = (ctx.gpr[17] | 0u); goto L_089DCF78; L_089DD2E8: ctx.gpr[18] = (ctx.gpr[18] + static_cast(1)); aot_gpr_4 = (static_cast(ctx.gpr[18]) < 4 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(16)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(16)); if (branch_taken) { goto L_089DD2D8; } goto L_089DD2F8; } L_089DD2F8: - aot_gpr_17 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[17] = (aot_gpr_29 + static_cast(16)); ctx.gpr[18] = (aot_gpr_29 + static_cast(32)); ctx.gpr[19] = (aot_gpr_29 + static_cast(48)); ctx.gpr[20] = (aot_gpr_29 + static_cast(64)); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); - ctx.gpr[6] = (ctx.gpr[19] | 0u); + aot_gpr_6 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x089DD31Cu); ctx.gpr[7] = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0132_entry, 132u, 587u, 0x08A17634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DD31Cu) goto L_089DD31C; @@ -3345,7 +3346,7 @@ L_089DD31C: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -3456,7 +3457,7 @@ L_089DD31C: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(112), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -3470,9 +3471,9 @@ L_089DD31C: AOT_REGCACHE_SYNC_OUT(); return; L_089DD3C4: aot_gpr_29 = (aot_gpr_29 + static_cast(-64)); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-11240))); - ctx.gpr[6] = (static_cast(ctx.gpr[6]) < 16 ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-11240))); + aot_gpr_6 = (static_cast(aot_gpr_6) < 16 ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 == 0u; // nop if (branch_taken) { goto L_089DD458; @@ -3489,10 +3490,10 @@ L_089DD3D8: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - ctx.gpr[6] = (2236u << 16u); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(32304)); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(48)); - { const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + aot_gpr_6 = (2236u << 16u); + aot_gpr_6 = (aot_gpr_6 + static_cast(32304)); + aot_gpr_6 = (aot_gpr_6 + static_cast(48)); + { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -3502,12 +3503,12 @@ L_089DD3D8: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>(); - ctx.gpr[6] = (aot_gpr_29 + static_cast(16)); + aot_gpr_6 = (aot_gpr_29 + static_cast(16)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - { const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -3518,10 +3519,10 @@ L_089DD3D8: ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 0u, 0u, 3u>(); ctx.execute_vfpu_unary_ct<28u, 28u, 1u, 22u>(); - ctx.gpr[6] = (ctx.vfpu_scalar_bits_ct<28u>()); - aot_fpr_12 = std::bit_cast(ctx.gpr[6]); - ctx.gpr[6] = (17096u << 16u); - aot_fpr_13 = std::bit_cast(ctx.gpr[6]); + aot_gpr_6 = (ctx.vfpu_scalar_bits_ct<28u>()); + aot_fpr_12 = std::bit_cast(aot_gpr_6); + aot_gpr_6 = (17096u << 16u); + aot_fpr_13 = std::bit_cast(aot_gpr_6); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); @@ -3532,11 +3533,11 @@ L_089DD3D8: goto L_089DD424; } L_089DD424: - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-11240))); - ctx.gpr[6] = (ctx.gpr[6] << 5u); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-11240))); + aot_gpr_6 = (aot_gpr_6 << 5u); ctx.gpr[7] = (2279u << 16u); ctx.gpr[7] = (ctx.gpr[7] + static_cast(19776)); - ctx.gpr[6] = (ctx.gpr[6] + ctx.gpr[7]); + aot_gpr_6 = (aot_gpr_6 + ctx.gpr[7]); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -3547,13 +3548,13 @@ L_089DD424: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-11240))); - ctx.gpr[6] = (aot_gpr_4 << 5u); - ctx.gpr[6] = (ctx.gpr[6] + ctx.gpr[7]); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(16), aot_gpr_5); + aot_gpr_6 = (aot_gpr_4 << 5u); + aot_gpr_6 = (aot_gpr_6 + ctx.gpr[7]); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(16), aot_gpr_5); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-11240), aot_gpr_4); goto L_089DD458; @@ -3566,17 +3567,17 @@ L_089DD458: AOT_REGCACHE_SYNC_OUT(); return; L_089DD460: aot_gpr_29 = (aot_gpr_29 + static_cast(-112)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(100), aot_gpr_17); - aot_gpr_17 = (ctx.gpr[6] | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(100), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_6 | 0u); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-11240))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(88), std::bit_cast(aot_fpr_20)); aot_fpr_20 = std::bit_cast(0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(92), std::bit_cast(ctx.fpr[22])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(96), aot_gpr_16); ctx.fpr[22] = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_16 = (aot_gpr_5 | 0u); - ctx.gpr[7] = (static_cast(ctx.gpr[6]) < static_cast(ctx.gpr[7]) ? 1u : 0u); + ctx.gpr[7] = (static_cast(aot_gpr_6) < static_cast(ctx.gpr[7]) ? 1u : 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(104), aot_gpr_31); { const bool branch_taken = ctx.gpr[7] == 0u; aot_gpr_5 = (0u | 0u); @@ -3587,7 +3588,7 @@ L_089DD460: } L_089DD49C: ctx.gpr[8] = (2279u << 16u); - ctx.gpr[7] = (ctx.gpr[6] << 5u); + ctx.gpr[7] = (aot_gpr_6 << 5u); ctx.gpr[8] = (ctx.gpr[8] + static_cast(19776)); ctx.gpr[7] = (ctx.gpr[7] + ctx.gpr[8]); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(16))); @@ -3625,7 +3626,7 @@ L_089DD4D0: ctx.gpr[7] = (16752u << 16u); aot_fpr_13 = std::bit_cast(ctx.gpr[7]); ctx.gpr[8] = (2279u << 16u); - ctx.gpr[7] = (ctx.gpr[6] << 5u); + ctx.gpr[7] = (aot_gpr_6 << 5u); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; ctx.gpr[8] = (ctx.gpr[8] + static_cast(19776)); aot_fpr_14 = std::bit_cast(0u); @@ -3658,7 +3659,7 @@ L_089DD524: ctx.gpr[7] = (16256u << 16u); aot_fpr_14 = std::bit_cast(ctx.gpr[7]); aot_fpr_12 = aot_fpr_14 - aot_fpr_12; - ctx.gpr[7] = (ctx.gpr[6] << 5u); + ctx.gpr[7] = (aot_gpr_6 << 5u); ctx.gpr[8] = (2279u << 16u); ctx.gpr[8] = (ctx.gpr[8] + static_cast(19776)); ctx.gpr[7] = (ctx.gpr[7] + ctx.gpr[8]); @@ -3770,8 +3771,8 @@ L_089DD5DC: goto L_089DD608; L_089DD608: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-11240))); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(1)); - ctx.gpr[7] = (static_cast(ctx.gpr[6]) < static_cast(ctx.gpr[7]) ? 1u : 0u); + aot_gpr_6 = (aot_gpr_6 + static_cast(1)); + ctx.gpr[7] = (static_cast(aot_gpr_6) < static_cast(ctx.gpr[7]) ? 1u : 0u); { const bool branch_taken = ctx.gpr[7] != 0u; // nop if (branch_taken) { @@ -3790,7 +3791,7 @@ L_089DD61C: L_089DD624: aot_gpr_31 = (0x089DD62Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DD62Cu) goto L_089DD62C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DD62Cu) goto L_089DD62C; AOT_REGCACHE_SYNC_OUT(); return; L_089DD62C: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -3811,10 +3812,10 @@ L_089DD62C: ctx.fpr[15] = ctx.fpr[15] + ctx.fpr[16]; { const float fs = aot_fpr_12; const float ft = ctx.fpr[22]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), std::bit_cast(ctx.fpr[15])); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_fpr_12 = aot_fpr_13 + aot_fpr_12; { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_089DD688; } @@ -3829,7 +3830,7 @@ L_089DD688: aot_fpr_20 = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); aot_gpr_16 = aot_run_words[2]; - aot_gpr_17 = aot_run_words[3]; + ctx.gpr[17] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; } jump_target = aot_gpr_31; @@ -3842,23 +3843,23 @@ L_089DD6A4: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_16); aot_gpr_16 = (2236u << 16u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), aot_gpr_17); - aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_16 + static_cast(29704)); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 3u); + aot_gpr_6 = (0u | 3u); { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(16), aot_run_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), aot_gpr_31); aot_gpr_31 = (0x089DD6D8u); - ctx.gpr[7] = (aot_gpr_17 | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DD6D8u) goto L_089DD6D8; AOT_REGCACHE_SYNC_OUT(); return; L_089DD6D8: ctx.fpr[24] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); - ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5884))); { const bool branch_taken = aot_gpr_4 != 0u; - aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); if (branch_taken) { goto L_089DD6F4; } @@ -3894,7 +3895,7 @@ L_089DD6F4: ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); aot_gpr_16 = aot_run_words[3]; - aot_gpr_17 = aot_run_words[4]; + ctx.gpr[17] = aot_run_words[4]; aot_gpr_31 = aot_run_words[5]; } jump_target = aot_gpr_31; @@ -3908,7 +3909,7 @@ L_089DD734: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (2236u << 16u); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x089DD754u); ctx.gpr[7] = (aot_gpr_16 + static_cast(29704)); @@ -3956,7 +3957,7 @@ L_089DD780: L_089DD794: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x089DD7B0u); @@ -4110,12 +4111,12 @@ L_089DD890: } L_089DD898: aot_gpr_5 = (aot_gpr_16 + static_cast(518)); - ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0))); - ctx.gpr[7] = (ctx.gpr[6] + static_cast(-1)); + aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0))); + ctx.gpr[7] = (aot_gpr_6 + static_cast(-1)); aot_mem.aot_direct_store16(aot_gpr_5 + static_cast(0), static_cast(ctx.gpr[7])); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(521))); - ctx.gpr[6] = (static_cast(ctx.gpr[6]) < 9 ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_6 = (static_cast(aot_gpr_6) < 9 ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); if (branch_taken) { goto L_089DD8C4; @@ -4191,7 +4192,7 @@ L_089DD928: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (2236u << 16u); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x089DD948u); ctx.gpr[7] = (aot_gpr_16 + static_cast(29704)); @@ -4217,19 +4218,19 @@ L_089DD968: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (2236u << 16u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_16 + static_cast(29704)); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 2u); + aot_gpr_6 = (0u | 2u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x089DD990u); - ctx.gpr[7] = (aot_gpr_17 | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DD990u) goto L_089DD990; AOT_REGCACHE_SYNC_OUT(); return; L_089DD990: - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23440))); - { const bool branch_taken = ctx.gpr[6] == 0u; + { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); if (branch_taken) { goto L_089DD9BC; @@ -4237,11 +4238,11 @@ L_089DD990: goto L_089DD9A0; } L_089DD9A0: - ctx.gpr[6] = (aot_gpr_4 | 0u); + aot_gpr_6 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (ctx.gpr[6] | 0u); + aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x089DD9B4u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0054_entry, 54u, 346u, 0x088DE1A0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DD9B4u) goto L_089DD9B4; AOT_REGCACHE_SYNC_OUT(); return; L_089DD9B4: @@ -4253,11 +4254,11 @@ L_089DD9B4: goto L_089DD9BC; } L_089DD9BC: - ctx.gpr[6] = (aot_gpr_4 | 0u); + aot_gpr_6 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (ctx.gpr[6] | 0u); + aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x089DD9D0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0054_entry, 54u, 346u, 0x088DE1A0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DD9D0u) goto L_089DD9D0; AOT_REGCACHE_SYNC_OUT(); return; L_089DD9D0: @@ -4265,7 +4266,7 @@ L_089DD9D0: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -4279,7 +4280,7 @@ L_089DD9E8: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (2236u << 16u); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x089DDA08u); ctx.gpr[7] = (aot_gpr_16 + static_cast(29704)); @@ -4325,8 +4326,8 @@ L_089DDA2C: L_089DDA40: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5884))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (0u | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (0u | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); { const bool branch_taken = aot_gpr_5 != 0u; @@ -4355,18 +4356,18 @@ L_089DDA68: goto L_089DDA84; } L_089DDA84: - aot_gpr_17 = (0u | 1u); + ctx.gpr[17] = (0u | 1u); goto L_089DDA88; L_089DDA88: - aot_gpr_4 = (0u < aot_gpr_17 ? 1u : 0u); + aot_gpr_4 = (0u < ctx.gpr[17] ? 1u : 0u); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(524))); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); - aot_gpr_17 = (aot_gpr_4 ^ aot_gpr_5); + ctx.gpr[17] = (aot_gpr_4 ^ aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(518))); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_17 = (0u < aot_gpr_17 ? 1u : 0u); + ctx.gpr[17] = (0u < ctx.gpr[17] ? 1u : 0u); if (branch_taken) { goto L_089DDAB4; } @@ -4374,7 +4375,7 @@ L_089DDA88: } L_089DDAAC: { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_17)); + aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(ctx.gpr[17])); if (branch_taken) { goto L_089DDAFC; } @@ -4383,8 +4384,8 @@ L_089DDAAC: L_089DDAB4: aot_gpr_4 = (aot_gpr_16 + static_cast(518)); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0))); - ctx.gpr[6] = (aot_gpr_5 + static_cast(-1)); - aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(0), static_cast(ctx.gpr[6])); + aot_gpr_6 = (aot_gpr_5 + static_cast(-1)); + aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_6)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(521))); aot_gpr_5 = (static_cast(aot_gpr_5) < 9 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; @@ -4395,7 +4396,7 @@ L_089DDAB4: goto L_089DDAD4; } L_089DDAD4: - aot_gpr_4 = (aot_gpr_17 & aot_gpr_4); + aot_gpr_4 = (ctx.gpr[17] & aot_gpr_4); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_4)); if (branch_taken) { @@ -4404,7 +4405,7 @@ L_089DDAD4: goto L_089DDAE0; } L_089DDAE0: - aot_gpr_4 = (aot_gpr_17 | aot_gpr_4); + aot_gpr_4 = (ctx.gpr[17] | aot_gpr_4); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(518))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_4)); aot_gpr_4 = (static_cast(aot_gpr_5) < 21 ? 1u : 0u); @@ -4423,7 +4424,7 @@ L_089DDAFC: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -4434,22 +4435,22 @@ L_089DDAFC: AOT_REGCACHE_SYNC_OUT(); return; L_089DDB14: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_5 = (aot_gpr_4 + static_cast(16)); aot_gpr_16 = (2236u << 16u); - aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); - ctx.gpr[6] = (0u | 3u); + ctx.gpr[17] = (aot_gpr_16 + static_cast(29704)); + aot_gpr_6 = (0u | 3u); aot_gpr_31 = (0x089DDB3Cu); - ctx.gpr[7] = (aot_gpr_17 | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DDB3Cu) goto L_089DDB3C; AOT_REGCACHE_SYNC_OUT(); return; L_089DDB3C: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8576), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8580), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8584), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (ctx.gpr[28] + static_cast(8576)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); @@ -4476,7 +4477,7 @@ L_089DDB3C: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -4662,24 +4663,24 @@ L_089DDC7C: AOT_REGCACHE_SYNC_OUT(); return; L_089DDC8C: aot_gpr_29 = (aot_gpr_29 + static_cast(-64)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), ctx.gpr[20]); ctx.gpr[20] = (2236u << 16u); - aot_gpr_17 = (2238u << 16u); + ctx.gpr[17] = (2238u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), ctx.gpr[19]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), ctx.gpr[21]); ctx.gpr[21] = (aot_gpr_4 + static_cast(16)); aot_gpr_16 = (aot_gpr_4 | 0u); ctx.gpr[19] = (ctx.gpr[20] + static_cast(29704)); - aot_gpr_17 = (aot_gpr_17 + static_cast(-6992)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(-6992)); { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(20), aot_run_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), aot_gpr_31); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[21] | 0u); - ctx.gpr[6] = (0u | 4u); + aot_gpr_6 = (0u | 4u); aot_gpr_31 = (0x089DDCE4u); ctx.gpr[7] = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DDCE4u) goto L_089DDCE4; @@ -4694,20 +4695,20 @@ L_089DDCE4: L_089DDCF4: aot_gpr_4 = (ctx.gpr[18] + ctx.gpr[18]); ctx.gpr[7] = (ctx.gpr[18] + aot_gpr_4); - ctx.gpr[6] = (ctx.gpr[18] << 8u); + aot_gpr_6 = (ctx.gpr[18] << 8u); ctx.gpr[7] = (ctx.gpr[7] << 5u); - ctx.gpr[6] = (ctx.gpr[6] + ctx.gpr[7]); + aot_gpr_6 = (aot_gpr_6 + ctx.gpr[7]); aot_gpr_5 = (0u | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); - aot_gpr_17 = (ctx.gpr[6] + aot_gpr_17); + ctx.gpr[17] = (aot_gpr_6 + ctx.gpr[17]); goto L_089DDD14; L_089DDD14: - ctx.gpr[6] = (ctx.gpr[28] + aot_gpr_5); - ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[6] + static_cast(-17536)))))); + aot_gpr_6 = (ctx.gpr[28] + aot_gpr_5); + ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_6 + static_cast(-17536)))))); aot_gpr_5 = (aot_gpr_5 + static_cast(1)); - aot_mem.aot_direct_store8(ctx.gpr[6] + static_cast(-17528), static_cast(ctx.gpr[7])); - ctx.gpr[6] = (static_cast(aot_gpr_5) < 8 ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] != 0u; + aot_mem.aot_direct_store8(aot_gpr_6 + static_cast(-17528), static_cast(ctx.gpr[7])); + aot_gpr_6 = (static_cast(aot_gpr_5) < 8 ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 != 0u; // nop if (branch_taken) { goto L_089DDD14; @@ -4728,7 +4729,7 @@ L_089DDD38: goto L_089DDD40; } L_089DDD40: - ctx.gpr[6] = (ctx.gpr[28] + static_cast(-11204)); + aot_gpr_6 = (ctx.gpr[28] + static_cast(-11204)); aot_gpr_31 = (0x089DDD4Cu); aot_gpr_5 = (0u | 6u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 546u, 0x08AD3258u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DDD4Cu) goto L_089DDD4C; @@ -4748,7 +4749,7 @@ L_089DDD58: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 559u, 0x08946D60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DDD64u) goto L_089DDD64; AOT_REGCACHE_SYNC_OUT(); return; L_089DDD64: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_gpr_31 = (0x089DDD70u); aot_gpr_5 = (0u | 2u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 334u, 0x08911320u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DDD70u) goto L_089DDD70; @@ -4795,17 +4796,17 @@ L_089DDDBC: goto L_089DDDC0; L_089DDDC0: aot_gpr_31 = (0x089DDDC8u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 160u, 0x08AD0AE4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DDDC8u) goto L_089DDDC8; AOT_REGCACHE_SYNC_OUT(); return; L_089DDDC8: aot_fpr_12 = aot_fpr_20 + ctx.fpr[0]; - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); - ctx.gpr[6] = (aot_gpr_16 | 0u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); + aot_gpr_6 = (aot_gpr_16 | 0u); { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[22]), std::bit_cast(aot_fpr_12)}; aot_mem.aot_direct_store32_block(aot_gpr_4 + static_cast(48), aot_run_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), std::bit_cast(ctx.fpr[24])); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), std::bit_cast(ctx.fpr[22])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x089DDDF8u); @@ -4820,7 +4821,7 @@ L_089DDDF8: L_089DDE00: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15976))); aot_gpr_31 = (0x089DDE0Cu); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 775u, 0x08B67368u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DDE0Cu) goto L_089DDE0C; AOT_REGCACHE_SYNC_OUT(); return; L_089DDE0C: @@ -4828,8 +4829,8 @@ L_089DDE0C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x089DDE20u); - ctx.gpr[6] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DDE20u) goto L_089DDE20; + aot_gpr_6 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DDE20u) goto L_089DDE20; AOT_REGCACHE_SYNC_OUT(); return; L_089DDE20: ctx.gpr[2] = (0u | 0u); @@ -4839,7 +4840,7 @@ L_089DDE20: ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); aot_gpr_16 = aot_run_words[3]; - aot_gpr_17 = aot_run_words[4]; + ctx.gpr[17] = aot_run_words[4]; ctx.gpr[18] = aot_run_words[5]; ctx.gpr[19] = aot_run_words[6]; ctx.gpr[20] = aot_run_words[7]; @@ -4856,13 +4857,13 @@ L_089DDE54: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (2236u << 16u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_16 + static_cast(29704)); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 2u); + aot_gpr_6 = (0u | 2u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x089DDE7Cu); - ctx.gpr[7] = (aot_gpr_17 | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DDE7Cu) goto L_089DDE7C; AOT_REGCACHE_SYNC_OUT(); return; L_089DDE7C: @@ -4874,13 +4875,13 @@ L_089DDE7C: L_089DDE88: aot_gpr_31 = (0x089DDE90u); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DDE90u) goto L_089DDE90; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089474C4, 80u, 661u, 0x089474C4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DDE90u) goto L_089DDE90; AOT_REGCACHE_SYNC_OUT(); return; L_089DDE90: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(172))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); - aot_gpr_5 = (aot_gpr_5 + ctx.gpr[6]); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); + aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); { const bool branch_taken = static_cast(aot_gpr_5) >= 0; aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(172), aot_gpr_5); if (branch_taken) { @@ -4896,7 +4897,7 @@ L_089DDEAC: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -4909,13 +4910,13 @@ L_089DDEC4: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); - { const std::uint32_t aot_run_words[3]{aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(4), aot_run_words); } - aot_gpr_17 = (2236u << 16u); - ctx.gpr[18] = (aot_gpr_17 + static_cast(29704)); + ctx.gpr[17] = (2236u << 16u); + ctx.gpr[18] = (ctx.gpr[17] + static_cast(29704)); aot_gpr_5 = (aot_gpr_16 + static_cast(16)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (0u | 2u); + aot_gpr_6 = (0u | 2u); aot_gpr_31 = (0x089DDEF8u); ctx.gpr[7] = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DDEF8u) goto L_089DDEF8; @@ -4923,13 +4924,13 @@ L_089DDEC4: L_089DDEF8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15976))); aot_gpr_31 = (0x089DDF04u); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29704))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29704))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DDF04u) goto L_089DDF04; AOT_REGCACHE_SYNC_OUT(); return; L_089DDF04: aot_gpr_31 = (0x089DDF0Cu); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DDF0Cu) goto L_089DDF0C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089474C4, 80u, 661u, 0x089474C4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DDF0Cu) goto L_089DDF0C; AOT_REGCACHE_SYNC_OUT(); return; L_089DDF0C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(172))); @@ -4976,12 +4977,12 @@ L_089DDF48: } L_089DDF50: aot_gpr_5 = (aot_gpr_16 + static_cast(518)); - ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0))); - ctx.gpr[7] = (ctx.gpr[6] + static_cast(-1)); + aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0))); + ctx.gpr[7] = (aot_gpr_6 + static_cast(-1)); aot_mem.aot_direct_store16(aot_gpr_5 + static_cast(0), static_cast(ctx.gpr[7])); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(521))); - ctx.gpr[6] = (static_cast(ctx.gpr[6]) < 9 ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_6 = (static_cast(aot_gpr_6) < 9 ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); if (branch_taken) { goto L_089DDF7C; @@ -5017,7 +5018,7 @@ L_089DDF98: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -5031,12 +5032,12 @@ L_089DDFB4: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_16 + static_cast(16)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_16 + static_cast(16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); ctx.gpr[18] = (2236u << 16u); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_6 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); aot_gpr_31 = (0x089DDFE4u); ctx.gpr[7] = (ctx.gpr[18] + static_cast(29704)); @@ -5051,23 +5052,23 @@ L_089DDFE4: L_089DDFF0: aot_gpr_31 = (0x089DDFF8u); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DDFF8u) goto L_089DDFF8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089474C4, 80u, 661u, 0x089474C4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DDFF8u) goto L_089DDFF8; AOT_REGCACHE_SYNC_OUT(); return; L_089DDFF8: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(172))); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(29704), aot_gpr_5); aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089DE010u); - ctx.gpr[6] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DE010u) goto L_089DE010; + aot_gpr_6 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DE010u) goto L_089DE010; AOT_REGCACHE_SYNC_OUT(); return; L_089DE010: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -5085,15 +5086,15 @@ L_089DE02C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[19]); ctx.gpr[18] = (2236u << 16u); ctx.gpr[19] = (aot_gpr_16 + static_cast(16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_17); - aot_gpr_17 = (ctx.gpr[18] + static_cast(29704)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[17]); + ctx.gpr[17] = (ctx.gpr[18] + static_cast(29704)); aot_gpr_5 = (ctx.gpr[19] | 0u); - ctx.gpr[6] = (0u | 5u); + aot_gpr_6 = (0u | 5u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), std::bit_cast(aot_fpr_20)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), std::bit_cast(ctx.fpr[22])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_31); aot_gpr_31 = (0x089DE06Cu); - ctx.gpr[7] = (aot_gpr_17 | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DE06Cu) goto L_089DE06C; AOT_REGCACHE_SYNC_OUT(); return; L_089DE06C: @@ -5105,17 +5106,17 @@ L_089DE06C: L_089DE078: aot_gpr_31 = (0x089DE080u); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DE080u) goto L_089DE080; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089474C4, 80u, 661u, 0x089474C4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DE080u) goto L_089DE080; AOT_REGCACHE_SYNC_OUT(); return; L_089DE080: - ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(12))); + ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(12))); aot_gpr_4 = (49864u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(aot_fpr_13)) && aot_fpr_12 == aot_fpr_13)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); - aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); if (branch_taken) { goto L_089DE0B8; } @@ -5145,7 +5146,7 @@ L_089DE0C4: goto L_089DE0CC; L_089DE0CC: aot_fpr_14 = std::bit_cast(std::bit_cast(aot_fpr_12)); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(16))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(16))); aot_gpr_4 = (aot_gpr_4 | 4059u); ctx.fpr[15] = std::bit_cast(aot_gpr_4); aot_gpr_5 = (17204u << 16u); @@ -5169,8 +5170,8 @@ L_089DE108: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x089DE11Cu); - ctx.gpr[6] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DE11Cu) goto L_089DE11C; + aot_gpr_6 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DE11Cu) goto L_089DE11C; AOT_REGCACHE_SYNC_OUT(); return; L_089DE11C: ctx.gpr[2] = (0u | 0u); @@ -5179,7 +5180,7 @@ L_089DE11C: aot_fpr_20 = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); aot_gpr_16 = aot_run_words[2]; - aot_gpr_17 = aot_run_words[3]; + ctx.gpr[17] = aot_run_words[3]; ctx.gpr[18] = aot_run_words[4]; ctx.gpr[19] = aot_run_words[5]; aot_gpr_31 = aot_run_words[6]; @@ -5194,13 +5195,13 @@ L_089DE144: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (2236u << 16u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_16 + static_cast(29704)); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 2u); + aot_gpr_6 = (0u | 2u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x089DE16Cu); - ctx.gpr[7] = (aot_gpr_17 | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DE16Cu) goto L_089DE16C; AOT_REGCACHE_SYNC_OUT(); return; L_089DE16C: @@ -5212,12 +5213,12 @@ L_089DE16C: L_089DE178: aot_gpr_31 = (0x089DE180u); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DE180u) goto L_089DE180; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089474C4, 80u, 661u, 0x089474C4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DE180u) goto L_089DE180; AOT_REGCACHE_SYNC_OUT(); return; L_089DE180: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(0))); aot_gpr_31 = (0x089DE18Cu); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 655u, 0x08947470u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DE18Cu) goto L_089DE18C; AOT_REGCACHE_SYNC_OUT(); return; L_089DE18C: @@ -5225,7 +5226,7 @@ L_089DE18C: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -5238,13 +5239,13 @@ L_089DE1A4: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (2236u << 16u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_16 + static_cast(29704)); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 2u); + aot_gpr_6 = (0u | 2u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x089DE1CCu); - ctx.gpr[7] = (aot_gpr_17 | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DE1CCu) goto L_089DE1CC; AOT_REGCACHE_SYNC_OUT(); return; L_089DE1CC: @@ -5256,12 +5257,12 @@ L_089DE1CC: L_089DE1D8: aot_gpr_31 = (0x089DE1E0u); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DE1E0u) goto L_089DE1E0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089474C4, 80u, 661u, 0x089474C4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DE1E0u) goto L_089DE1E0; AOT_REGCACHE_SYNC_OUT(); return; L_089DE1E0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(0))); aot_gpr_31 = (0x089DE1ECu); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 659u, 0x089474A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DE1ECu) goto L_089DE1EC; AOT_REGCACHE_SYNC_OUT(); return; L_089DE1EC: @@ -5269,7 +5270,7 @@ L_089DE1EC: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -5281,13 +5282,13 @@ L_089DE1EC: L_089DE204: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (2236u << 16u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (2236u << 16u); aot_gpr_16 = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); - ctx.gpr[18] = (aot_gpr_17 + static_cast(29704)); + ctx.gpr[18] = (ctx.gpr[17] + static_cast(29704)); aot_gpr_5 = (aot_gpr_16 + static_cast(16)); - ctx.gpr[6] = (0u | 2u); + aot_gpr_6 = (0u | 2u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); aot_gpr_31 = (0x089DE234u); ctx.gpr[7] = (ctx.gpr[18] | 0u); @@ -5296,13 +5297,13 @@ L_089DE204: L_089DE234: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15976))); aot_gpr_31 = (0x089DE240u); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29704))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29704))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DE240u) goto L_089DE240; AOT_REGCACHE_SYNC_OUT(); return; L_089DE240: aot_gpr_31 = (0x089DE248u); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DE248u) goto L_089DE248; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089474C4, 80u, 661u, 0x089474C4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DE248u) goto L_089DE248; AOT_REGCACHE_SYNC_OUT(); return; L_089DE248: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(0))); @@ -5350,12 +5351,12 @@ L_089DE288: } L_089DE290: aot_gpr_5 = (aot_gpr_16 + static_cast(518)); - ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0))); - ctx.gpr[7] = (ctx.gpr[6] + static_cast(-1)); + aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0))); + ctx.gpr[7] = (aot_gpr_6 + static_cast(-1)); aot_mem.aot_direct_store16(aot_gpr_5 + static_cast(0), static_cast(ctx.gpr[7])); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(521))); - ctx.gpr[6] = (static_cast(ctx.gpr[6]) < 9 ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_6 = (static_cast(aot_gpr_6) < 9 ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); if (branch_taken) { goto L_089DE2BC; @@ -5391,7 +5392,7 @@ L_089DE2D8: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -5406,7 +5407,7 @@ L_089DE2F4: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (2236u << 16u); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x089DE314u); ctx.gpr[7] = (aot_gpr_16 + static_cast(29704)); @@ -5421,7 +5422,7 @@ L_089DE314: L_089DE320: aot_gpr_31 = (0x089DE328u); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DE328u) goto L_089DE328; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089474C4, 80u, 661u, 0x089474C4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DE328u) goto L_089DE328; AOT_REGCACHE_SYNC_OUT(); return; L_089DE328: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(0))); @@ -5443,17 +5444,17 @@ L_089DE348: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (2236u << 16u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (2236u << 16u); aot_gpr_5 = (aot_gpr_16 + static_cast(16)); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x089DE370u); - ctx.gpr[7] = (aot_gpr_17 + static_cast(29704)); + ctx.gpr[7] = (ctx.gpr[17] + static_cast(29704)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DE370u) goto L_089DE370; AOT_REGCACHE_SYNC_OUT(); return; L_089DE370: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29704))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29704))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -5478,7 +5479,7 @@ L_089DE38C: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -5508,12 +5509,12 @@ L_089DE3B8: aot_gpr_5 = (0u | 0u); goto L_089DE3BC; L_089DE3BC: - ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(524))); + aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(524))); aot_gpr_5 = (aot_gpr_5 & 255u); - ctx.gpr[6] = (0u < ctx.gpr[6] ? 1u : 0u); - aot_gpr_5 = (aot_gpr_5 ^ ctx.gpr[6]); - ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(518))); - { const bool branch_taken = ctx.gpr[6] != 0u; + aot_gpr_6 = (0u < aot_gpr_6 ? 1u : 0u); + aot_gpr_5 = (aot_gpr_5 ^ aot_gpr_6); + aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(518))); + { const bool branch_taken = aot_gpr_6 != 0u; aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); if (branch_taken) { goto L_089DE3E0; @@ -5529,21 +5530,21 @@ L_089DE3D8: goto L_089DE3E0; } L_089DE3E0: - ctx.gpr[6] = (aot_gpr_4 + static_cast(518)); - ctx.gpr[7] = (aot_mem.aot_direct_load16(ctx.gpr[6] + static_cast(0))); + aot_gpr_6 = (aot_gpr_4 + static_cast(518)); + ctx.gpr[7] = (aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(0))); ctx.gpr[8] = (ctx.gpr[7] + static_cast(-1)); - aot_mem.aot_direct_store16(ctx.gpr[6] + static_cast(0), static_cast(ctx.gpr[8])); - ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(521))); + aot_mem.aot_direct_store16(aot_gpr_6 + static_cast(0), static_cast(ctx.gpr[8])); + aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(521))); ctx.gpr[7] = (static_cast(ctx.gpr[7]) < 9 ? 1u : 0u); { const bool branch_taken = ctx.gpr[7] == 0u; - ctx.gpr[6] = (0u < ctx.gpr[6] ? 1u : 0u); + aot_gpr_6 = (0u < aot_gpr_6 ? 1u : 0u); if (branch_taken) { goto L_089DE40C; } goto L_089DE400; } L_089DE400: - aot_gpr_5 = (aot_gpr_5 & ctx.gpr[6]); + aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(521), static_cast(aot_gpr_5)); if (branch_taken) { @@ -5552,10 +5553,10 @@ L_089DE400: goto L_089DE40C; } L_089DE40C: - aot_gpr_5 = (aot_gpr_5 | ctx.gpr[6]); - ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(518))); + aot_gpr_5 = (aot_gpr_5 | aot_gpr_6); + aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(518))); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(521), static_cast(aot_gpr_5)); - aot_gpr_5 = (static_cast(ctx.gpr[6]) < 21 ? 1u : 0u); + aot_gpr_5 = (static_cast(aot_gpr_6) < 21 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; // nop if (branch_taken) { @@ -5577,31 +5578,31 @@ L_089DE430: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); - aot_gpr_17 = (2236u << 16u); + ctx.gpr[17] = (2236u << 16u); aot_gpr_5 = (aot_gpr_16 + static_cast(16)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_gpr_31 = (0x089DE45Cu); - ctx.gpr[7] = (aot_gpr_17 + static_cast(29704)); + ctx.gpr[7] = (ctx.gpr[17] + static_cast(29704)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DE45Cu) goto L_089DE45C; AOT_REGCACHE_SYNC_OUT(); return; L_089DE45C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15976))); aot_gpr_31 = (0x089DE468u); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29704))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29704))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DE468u) goto L_089DE468; AOT_REGCACHE_SYNC_OUT(); return; L_089DE468: aot_gpr_31 = (0x089DE470u); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DE470u) goto L_089DE470; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089474C4, 80u, 661u, 0x089474C4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DE470u) goto L_089DE470; AOT_REGCACHE_SYNC_OUT(); return; L_089DE470: aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(208))); - ctx.gpr[6] = (0u | 2u); - { const bool branch_taken = aot_gpr_5 != ctx.gpr[6]; + aot_gpr_6 = (0u | 2u); + { const bool branch_taken = aot_gpr_5 != aot_gpr_6; aot_gpr_4 = (0u | 0u); if (branch_taken) { goto L_089DE484; @@ -5636,12 +5637,12 @@ L_089DE4A8: } L_089DE4B0: aot_gpr_5 = (aot_gpr_16 + static_cast(518)); - ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0))); - ctx.gpr[7] = (ctx.gpr[6] + static_cast(-1)); + aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0))); + ctx.gpr[7] = (aot_gpr_6 + static_cast(-1)); aot_mem.aot_direct_store16(aot_gpr_5 + static_cast(0), static_cast(ctx.gpr[7])); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(521))); - ctx.gpr[6] = (static_cast(ctx.gpr[6]) < 9 ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_6 = (static_cast(aot_gpr_6) < 9 ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); if (branch_taken) { goto L_089DE4DC; @@ -5677,7 +5678,7 @@ L_089DE4F8: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -5690,13 +5691,13 @@ L_089DE510: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (2236u << 16u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_16 + static_cast(29704)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 2u); + aot_gpr_6 = (0u | 2u); aot_gpr_31 = (0x089DE538u); - ctx.gpr[7] = (aot_gpr_17 | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DE538u) goto L_089DE538; AOT_REGCACHE_SYNC_OUT(); return; L_089DE538: @@ -5708,7 +5709,7 @@ L_089DE538: L_089DE544: aot_gpr_31 = (0x089DE54Cu); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DE54Cu) goto L_089DE54C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089474C4, 80u, 661u, 0x089474C4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DE54Cu) goto L_089DE54C; AOT_REGCACHE_SYNC_OUT(); return; L_089DE54C: aot_gpr_31 = (0x089DE554u); @@ -5734,7 +5735,7 @@ L_089DE564: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 362u, 0x0890D7C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DE56Cu) goto L_089DE56C; AOT_REGCACHE_SYNC_OUT(); return; L_089DE56C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -5752,7 +5753,7 @@ L_089DE580: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(3262)))))); aot_gpr_5 = (aot_gpr_5 & 8u); { const bool branch_taken = aot_gpr_5 == 0u; - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); if (branch_taken) { goto L_089DE5B4; } @@ -5761,7 +5762,7 @@ L_089DE580: L_089DE594: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1152))); if (aot_gpr_5 == 0u) { - aot_gpr_4 = (aot_gpr_17 & 255u); + aot_gpr_4 = (ctx.gpr[17] & 255u); goto L_089DE5B8; } goto L_089DE5A0; @@ -5772,17 +5773,17 @@ L_089DE5A0: AOT_REGCACHE_SYNC_OUT(); return; L_089DE5A8: { const bool branch_taken = ctx.gpr[2] == 0u; - aot_gpr_4 = (aot_gpr_17 & 255u); + aot_gpr_4 = (ctx.gpr[17] & 255u); if (branch_taken) { goto L_089DE5B8; } goto L_089DE5B0; } L_089DE5B0: - aot_gpr_17 = (0u | 1u); + ctx.gpr[17] = (0u | 1u); goto L_089DE5B4; L_089DE5B4: - aot_gpr_4 = (aot_gpr_17 & 255u); + aot_gpr_4 = (ctx.gpr[17] & 255u); goto L_089DE5B8; L_089DE5B8: { const bool branch_taken = aot_gpr_4 == 0u; @@ -5870,7 +5871,7 @@ L_089DE634: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(3262)))))); aot_gpr_5 = (aot_gpr_5 & 8u); { const bool branch_taken = aot_gpr_5 == 0u; - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); if (branch_taken) { goto L_089DE668; } @@ -5879,7 +5880,7 @@ L_089DE634: L_089DE648: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1152))); if (aot_gpr_5 == 0u) { - aot_gpr_4 = (aot_gpr_17 & 255u); + aot_gpr_4 = (ctx.gpr[17] & 255u); goto L_089DE66C; } goto L_089DE654; @@ -5890,17 +5891,17 @@ L_089DE654: AOT_REGCACHE_SYNC_OUT(); return; L_089DE65C: { const bool branch_taken = ctx.gpr[2] == 0u; - aot_gpr_4 = (aot_gpr_17 & 255u); + aot_gpr_4 = (ctx.gpr[17] & 255u); if (branch_taken) { goto L_089DE66C; } goto L_089DE664; } L_089DE664: - aot_gpr_17 = (0u | 1u); + ctx.gpr[17] = (0u | 1u); goto L_089DE668; L_089DE668: - aot_gpr_4 = (aot_gpr_17 & 255u); + aot_gpr_4 = (ctx.gpr[17] & 255u); goto L_089DE66C; L_089DE66C: { const bool branch_taken = aot_gpr_4 == 0u; @@ -5958,7 +5959,7 @@ L_089DE6B8: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -5971,12 +5972,12 @@ L_089DE6D0: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_16 + static_cast(16)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_16 + static_cast(16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); ctx.gpr[18] = (2236u << 16u); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_6 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); aot_gpr_31 = (0x089DE700u); ctx.gpr[7] = (ctx.gpr[18] + static_cast(29704)); @@ -5991,24 +5992,24 @@ L_089DE700: L_089DE70C: aot_gpr_31 = (0x089DE714u); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DE714u) goto L_089DE714; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089474C4, 80u, 661u, 0x089474C4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DE714u) goto L_089DE714; AOT_REGCACHE_SYNC_OUT(); return; L_089DE714: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(0))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(2320))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(2320))); aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); - aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(29704), ctx.gpr[6]); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(29704), aot_gpr_6); aot_gpr_31 = (0x089DE730u); - ctx.gpr[6] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DE730u) goto L_089DE730; + aot_gpr_6 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DE730u) goto L_089DE730; AOT_REGCACHE_SYNC_OUT(); return; L_089DE730: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -6023,7 +6024,7 @@ L_089DE74C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (2236u << 16u); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x089DE76Cu); ctx.gpr[7] = (aot_gpr_16 + static_cast(29704)); @@ -6048,13 +6049,13 @@ L_089DE788: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (2236u << 16u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_16 + static_cast(29704)); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 2u); + aot_gpr_6 = (0u | 2u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x089DE7B0u); - ctx.gpr[7] = (aot_gpr_17 | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DE7B0u) goto L_089DE7B0; AOT_REGCACHE_SYNC_OUT(); return; L_089DE7B0: @@ -6066,12 +6067,12 @@ L_089DE7B0: L_089DE7BC: aot_gpr_31 = (0x089DE7C4u); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DE7C4u) goto L_089DE7C4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089474C4, 80u, 661u, 0x089474C4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DE7C4u) goto L_089DE7C4; AOT_REGCACHE_SYNC_OUT(); return; L_089DE7C4: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(0))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); + { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(2318)))))); if (branch_taken) { goto L_089DE7E8; @@ -6093,8 +6094,8 @@ L_089DE7E0: goto L_089DE7E8; } L_089DE7E8: - ctx.gpr[6] = (0u + static_cast(-2)); - aot_gpr_4 = (aot_gpr_4 & ctx.gpr[6]); + aot_gpr_6 = (0u + static_cast(-2)); + aot_gpr_4 = (aot_gpr_4 & aot_gpr_6); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(2318), static_cast(aot_gpr_4)); goto L_089DE7F4; L_089DE7F4: @@ -6102,7 +6103,7 @@ L_089DE7F4: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -6113,11 +6114,11 @@ L_089DE7F4: AOT_REGCACHE_SYNC_OUT(); return; L_089DE80C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - ctx.gpr[6] = (2236u << 16u); + aot_gpr_6 = (2236u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (ctx.gpr[6] + static_cast(29704)); + aot_gpr_16 = (aot_gpr_6 + static_cast(29704)); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 2u); + aot_gpr_6 = (0u | 2u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x089DE830u); ctx.gpr[7] = (aot_gpr_16 | 0u); @@ -6168,28 +6169,28 @@ L_089DE870: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (2236u << 16u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (2236u << 16u); aot_gpr_5 = (aot_gpr_16 + static_cast(16)); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x089DE898u); - ctx.gpr[7] = (aot_gpr_17 + static_cast(29704)); + ctx.gpr[7] = (ctx.gpr[17] + static_cast(29704)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DE898u) goto L_089DE898; AOT_REGCACHE_SYNC_OUT(); return; L_089DE898: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15976))); aot_gpr_31 = (0x089DE8A4u); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29704))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29704))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DE8A4u) goto L_089DE8A4; AOT_REGCACHE_SYNC_OUT(); return; L_089DE8A4: aot_gpr_31 = (0x089DE8ACu); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DE8ACu) goto L_089DE8AC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089474C4, 80u, 661u, 0x089474C4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DE8ACu) goto L_089DE8AC; AOT_REGCACHE_SYNC_OUT(); return; L_089DE8AC: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_31 = (0x089DE8B8u); aot_gpr_4 = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 90u, 0x089607E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DE8B8u) goto L_089DE8B8; @@ -6203,18 +6204,18 @@ L_089DE8B8: goto L_089DE8C0; } L_089DE8C0: - aot_gpr_17 = (0u | 1u); + ctx.gpr[17] = (0u | 1u); goto L_089DE8C4; L_089DE8C4: - aot_gpr_4 = (0u < aot_gpr_17 ? 1u : 0u); + aot_gpr_4 = (0u < ctx.gpr[17] ? 1u : 0u); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(524))); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); - aot_gpr_17 = (aot_gpr_4 ^ aot_gpr_5); + ctx.gpr[17] = (aot_gpr_4 ^ aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(518))); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_17 = (0u < aot_gpr_17 ? 1u : 0u); + ctx.gpr[17] = (0u < ctx.gpr[17] ? 1u : 0u); if (branch_taken) { goto L_089DE8F0; } @@ -6222,7 +6223,7 @@ L_089DE8C4: } L_089DE8E8: { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_17)); + aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(ctx.gpr[17])); if (branch_taken) { goto L_089DE938; } @@ -6231,8 +6232,8 @@ L_089DE8E8: L_089DE8F0: aot_gpr_4 = (aot_gpr_16 + static_cast(518)); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0))); - ctx.gpr[6] = (aot_gpr_5 + static_cast(-1)); - aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(0), static_cast(ctx.gpr[6])); + aot_gpr_6 = (aot_gpr_5 + static_cast(-1)); + aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_6)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(521))); aot_gpr_5 = (static_cast(aot_gpr_5) < 9 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; @@ -6243,7 +6244,7 @@ L_089DE8F0: goto L_089DE910; } L_089DE910: - aot_gpr_4 = (aot_gpr_17 & aot_gpr_4); + aot_gpr_4 = (ctx.gpr[17] & aot_gpr_4); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_4)); if (branch_taken) { @@ -6252,7 +6253,7 @@ L_089DE910: goto L_089DE91C; } L_089DE91C: - aot_gpr_4 = (aot_gpr_17 | aot_gpr_4); + aot_gpr_4 = (ctx.gpr[17] | aot_gpr_4); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(518))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_4)); aot_gpr_4 = (static_cast(aot_gpr_5) < 21 ? 1u : 0u); @@ -6271,7 +6272,7 @@ L_089DE938: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -6282,12 +6283,12 @@ L_089DE938: AOT_REGCACHE_SYNC_OUT(); return; L_089DE950: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_17); - aot_gpr_17 = (2236u << 16u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), ctx.gpr[17]); + ctx.gpr[17] = (2236u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_16); - aot_gpr_16 = (aot_gpr_17 + static_cast(29704)); + aot_gpr_16 = (ctx.gpr[17] + static_cast(29704)); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 4u); + aot_gpr_6 = (0u | 4u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), std::bit_cast(aot_fpr_20)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), std::bit_cast(ctx.fpr[22])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), aot_gpr_31); @@ -6296,7 +6297,7 @@ L_089DE950: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DE980u) goto L_089DE980; AOT_REGCACHE_SYNC_OUT(); return; L_089DE980: - ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29704))); + ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29704))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); aot_gpr_4 = (49864u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); @@ -6343,13 +6344,13 @@ L_089DE9C8: L_089DE9E4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15976))); aot_gpr_31 = (0x089DE9F0u); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29704))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29704))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DE9F0u) goto L_089DE9F0; AOT_REGCACHE_SYNC_OUT(); return; L_089DE9F0: aot_gpr_31 = (0x089DE9F8u); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DE9F8u) goto L_089DE9F8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089474C4, 80u, 661u, 0x089474C4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DE9F8u) goto L_089DE9F8; AOT_REGCACHE_SYNC_OUT(); return; L_089DE9F8: aot_gpr_31 = (0x089DEA00u); @@ -6363,7 +6364,7 @@ L_089DEA00: aot_fpr_20 = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); aot_gpr_16 = aot_run_words[2]; - aot_gpr_17 = aot_run_words[3]; + ctx.gpr[17] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; } jump_target = aot_gpr_31; @@ -6392,12 +6393,12 @@ L_089DEA40: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_16 + static_cast(16)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_16 + static_cast(16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); ctx.gpr[18] = (2236u << 16u); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_6 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); aot_gpr_31 = (0x089DEA70u); ctx.gpr[7] = (ctx.gpr[18] + static_cast(29704)); @@ -6411,17 +6412,17 @@ L_089DEA70: L_089DEA78: aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(29704), ctx.gpr[2]); aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089DEA8Cu); - ctx.gpr[6] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DEA8Cu) goto L_089DEA8C; + aot_gpr_6 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DEA8Cu) goto L_089DEA8C; AOT_REGCACHE_SYNC_OUT(); return; L_089DEA8C: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -6435,30 +6436,30 @@ L_089DEAA8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (2236u << 16u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (2236u << 16u); aot_gpr_5 = (aot_gpr_16 + static_cast(16)); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); aot_gpr_31 = (0x089DEAD4u); - ctx.gpr[7] = (aot_gpr_17 + static_cast(29704)); + ctx.gpr[7] = (ctx.gpr[17] + static_cast(29704)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DEAD4u) goto L_089DEAD4; AOT_REGCACHE_SYNC_OUT(); return; L_089DEAD4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15976))); aot_gpr_31 = (0x089DEAE0u); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29704))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29704))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DEAE0u) goto L_089DEAE0; AOT_REGCACHE_SYNC_OUT(); return; L_089DEAE0: ctx.gpr[18] = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x089DEAECu); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DEAECu) goto L_089DEAEC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089474C4, 80u, 661u, 0x089474C4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DEAECu) goto L_089DEAEC; AOT_REGCACHE_SYNC_OUT(); return; L_089DEAEC: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_31 = (0x089DEAF8u); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 195u, 0x08910B38u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DEAF8u) goto L_089DEAF8; @@ -6515,18 +6516,18 @@ L_089DEB2C: goto L_089DEB34; } L_089DEB34: - aot_gpr_17 = (0u | 1u); + ctx.gpr[17] = (0u | 1u); goto L_089DEB38; L_089DEB38: - aot_gpr_4 = (0u < aot_gpr_17 ? 1u : 0u); + aot_gpr_4 = (0u < ctx.gpr[17] ? 1u : 0u); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(524))); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); - aot_gpr_17 = (aot_gpr_4 ^ aot_gpr_5); + ctx.gpr[17] = (aot_gpr_4 ^ aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(518))); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_17 = (0u < aot_gpr_17 ? 1u : 0u); + ctx.gpr[17] = (0u < ctx.gpr[17] ? 1u : 0u); if (branch_taken) { goto L_089DEB64; } @@ -6534,7 +6535,7 @@ L_089DEB38: } L_089DEB5C: { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_17)); + aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(ctx.gpr[17])); if (branch_taken) { goto L_089DEBAC; } @@ -6543,8 +6544,8 @@ L_089DEB5C: L_089DEB64: aot_gpr_4 = (aot_gpr_16 + static_cast(518)); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0))); - ctx.gpr[6] = (aot_gpr_5 + static_cast(-1)); - aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(0), static_cast(ctx.gpr[6])); + aot_gpr_6 = (aot_gpr_5 + static_cast(-1)); + aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_6)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(521))); aot_gpr_5 = (static_cast(aot_gpr_5) < 9 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; @@ -6555,7 +6556,7 @@ L_089DEB64: goto L_089DEB84; } L_089DEB84: - aot_gpr_4 = (aot_gpr_17 & aot_gpr_4); + aot_gpr_4 = (ctx.gpr[17] & aot_gpr_4); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_4)); if (branch_taken) { @@ -6564,7 +6565,7 @@ L_089DEB84: goto L_089DEB90; } L_089DEB90: - aot_gpr_4 = (aot_gpr_17 | aot_gpr_4); + aot_gpr_4 = (ctx.gpr[17] | aot_gpr_4); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(518))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_4)); aot_gpr_4 = (static_cast(aot_gpr_5) < 21 ? 1u : 0u); @@ -6583,7 +6584,7 @@ L_089DEBAC: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -6599,19 +6600,19 @@ L_089DEBC8: aot_gpr_16 = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[18]); ctx.gpr[18] = (aot_gpr_16 + static_cast(16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_17); - aot_gpr_17 = (2236u << 16u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[17]); + ctx.gpr[17] = (2236u << 16u); aot_gpr_5 = (ctx.gpr[18] | 0u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); aot_gpr_31 = (0x089DEBF8u); - ctx.gpr[7] = (aot_gpr_17 + static_cast(29704)); + ctx.gpr[7] = (ctx.gpr[17] + static_cast(29704)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DEBF8u) goto L_089DEBF8; AOT_REGCACHE_SYNC_OUT(); return; L_089DEBF8: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_gpr_31 = (0x089DEC0Cu); ctx.gpr[7] = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DEC0Cu) goto L_089DEC0C; @@ -6637,8 +6638,8 @@ L_089DEC20: L_089DEC24: aot_gpr_4 = (aot_gpr_5 | 0u); ctx.gpr[7] = (aot_gpr_4 | 0u); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[7] + static_cast(0)))))); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[7] + static_cast(0)))))); + { const bool branch_taken = aot_gpr_6 == 0u; ctx.gpr[8] = (0u | 0u); if (branch_taken) { goto L_089DEC6C; @@ -6646,9 +6647,9 @@ L_089DEC24: goto L_089DEC38; } L_089DEC38: - ctx.gpr[9] = (static_cast(ctx.gpr[6]) < 65 ? 1u : 0u); + ctx.gpr[9] = (static_cast(aot_gpr_6) < 65 ? 1u : 0u); { const bool branch_taken = ctx.gpr[9] != 0u; - ctx.gpr[9] = (static_cast(ctx.gpr[6]) < 91 ? 1u : 0u); + ctx.gpr[9] = (static_cast(aot_gpr_6) < 91 ? 1u : 0u); if (branch_taken) { goto L_089DEC54; } @@ -6663,15 +6664,15 @@ L_089DEC44: goto L_089DEC4C; } L_089DEC4C: - ctx.gpr[6] = (ctx.gpr[6] + static_cast(32)); - aot_mem.aot_direct_store8(ctx.gpr[7] + static_cast(0), static_cast(ctx.gpr[6])); + aot_gpr_6 = (aot_gpr_6 + static_cast(32)); + aot_mem.aot_direct_store8(ctx.gpr[7] + static_cast(0), static_cast(aot_gpr_6)); goto L_089DEC54; L_089DEC54: ctx.gpr[8] = (ctx.gpr[8] + static_cast(1)); ctx.gpr[8] = (ctx.gpr[8] & 255u); ctx.gpr[7] = (aot_gpr_5 + ctx.gpr[8]); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[7] + static_cast(0)))))); - { const bool branch_taken = ctx.gpr[6] != 0u; + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[7] + static_cast(0)))))); + { const bool branch_taken = aot_gpr_6 != 0u; // nop if (branch_taken) { goto L_089DEC38; @@ -6681,7 +6682,7 @@ L_089DEC54: L_089DEC6C: aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(522))); { const bool branch_taken = aot_gpr_5 == 0u; - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29704))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29704))); if (branch_taken) { goto L_089DEC90; } @@ -6691,7 +6692,7 @@ L_089DEC78: aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x089DEC88u); - ctx.gpr[6] = (0u | 6u); + aot_gpr_6 = (0u | 6u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 552u, 0x08AD32D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DEC88u) goto L_089DEC88; AOT_REGCACHE_SYNC_OUT(); return; L_089DEC88: @@ -6706,7 +6707,7 @@ L_089DEC90: aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x089DECA0u); - ctx.gpr[6] = (0u | 132u); + aot_gpr_6 = (0u | 132u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 552u, 0x08AD32D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DECA0u) goto L_089DECA0; AOT_REGCACHE_SYNC_OUT(); return; L_089DECA0: @@ -6714,7 +6715,7 @@ L_089DECA0: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(4), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -6726,14 +6727,14 @@ L_089DECA0: AOT_REGCACHE_SYNC_OUT(); return; L_089DECBC: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_16 = (2236u << 16u); - aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); + ctx.gpr[17] = (aot_gpr_16 + static_cast(29704)); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 2u); + aot_gpr_6 = (0u | 2u); aot_gpr_31 = (0x089DECE4u); - ctx.gpr[7] = (aot_gpr_17 | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DECE4u) goto L_089DECE4; AOT_REGCACHE_SYNC_OUT(); return; L_089DECE4: @@ -6745,10 +6746,10 @@ L_089DECE4: L_089DECF0: aot_gpr_31 = (0x089DECF8u); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DECF8u) goto L_089DECF8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089474C4, 80u, 661u, 0x089474C4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DECF8u) goto L_089DECF8; AOT_REGCACHE_SYNC_OUT(); return; L_089DECF8: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_4 = (ctx.gpr[2] | 0u); if (branch_taken) { @@ -6773,7 +6774,7 @@ L_089DED14: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -6786,13 +6787,13 @@ L_089DED2C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (2236u << 16u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_16 + static_cast(29704)); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 2u); + aot_gpr_6 = (0u | 2u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x089DED54u); - ctx.gpr[7] = (aot_gpr_17 | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DED54u) goto L_089DED54; AOT_REGCACHE_SYNC_OUT(); return; L_089DED54: @@ -6804,10 +6805,10 @@ L_089DED54: L_089DED60: aot_gpr_31 = (0x089DED68u); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DED68u) goto L_089DED68; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089474C4, 80u, 661u, 0x089474C4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DED68u) goto L_089DED68; AOT_REGCACHE_SYNC_OUT(); return; L_089DED68: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_4 = (ctx.gpr[2] | 0u); if (branch_taken) { @@ -6832,7 +6833,7 @@ L_089DED84: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -6845,13 +6846,13 @@ L_089DED9C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (2236u << 16u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_16 + static_cast(29704)); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 2u); + aot_gpr_6 = (0u | 2u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x089DEDC4u); - ctx.gpr[7] = (aot_gpr_17 | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DEDC4u) goto L_089DEDC4; AOT_REGCACHE_SYNC_OUT(); return; L_089DEDC4: @@ -6863,12 +6864,12 @@ L_089DEDC4: L_089DEDD0: aot_gpr_31 = (0x089DEDD8u); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DEDD8u) goto L_089DEDD8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089474C4, 80u, 661u, 0x089474C4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DEDD8u) goto L_089DEDD8; AOT_REGCACHE_SYNC_OUT(); return; L_089DEDD8: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(0))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); + { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(2318)))))); if (branch_taken) { goto L_089DEDFC; @@ -6890,8 +6891,8 @@ L_089DEDF4: goto L_089DEDFC; } L_089DEDFC: - ctx.gpr[6] = (0u + static_cast(-3)); - aot_gpr_4 = (aot_gpr_4 & ctx.gpr[6]); + aot_gpr_6 = (0u + static_cast(-3)); + aot_gpr_4 = (aot_gpr_4 & aot_gpr_6); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(2318), static_cast(aot_gpr_4)); goto L_089DEE08; L_089DEE08: @@ -6899,7 +6900,7 @@ L_089DEE08: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -6913,7 +6914,7 @@ L_089DEE20: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_16); aot_gpr_16 = (2236u << 16u); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), std::bit_cast(aot_fpr_20)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x089DEE44u); @@ -7028,10 +7029,10 @@ L_089DEEF0: AOT_REGCACHE_SYNC_OUT(); return; L_089DEF04: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7688))); - aot_gpr_17 = (2237u << 16u); - aot_gpr_17 = (aot_gpr_17 + static_cast(-28416)); + ctx.gpr[17] = (2237u << 16u); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(-28416)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); { const bool branch_taken = aot_gpr_5 != 0u; @@ -7045,17 +7046,17 @@ L_089DEF28: aot_gpr_4 = (0u | 1u); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7688), aot_gpr_4); aot_gpr_31 = (0x089DEF38u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0010_entry, 10u, 286u, 0x0882D794u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DEF38u) goto L_089DEF38; AOT_REGCACHE_SYNC_OUT(); return; L_089DEF38: aot_gpr_31 = (0x089DEF40u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-11216)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DEF40u) goto L_089DEF40; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DEF40u) goto L_089DEF40; AOT_REGCACHE_SYNC_OUT(); return; L_089DEF40: aot_gpr_31 = (0x089DEF48u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0010_entry, 10u, 611u, 0x0882E9B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DEF48u) goto L_089DEF48; AOT_REGCACHE_SYNC_OUT(); return; L_089DEF48: @@ -7102,12 +7103,12 @@ L_089DEF80: } L_089DEF88: aot_gpr_5 = (aot_gpr_16 + static_cast(518)); - ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0))); - ctx.gpr[7] = (ctx.gpr[6] + static_cast(-1)); + aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0))); + ctx.gpr[7] = (aot_gpr_6 + static_cast(-1)); aot_mem.aot_direct_store16(aot_gpr_5 + static_cast(0), static_cast(ctx.gpr[7])); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(521))); - ctx.gpr[6] = (static_cast(ctx.gpr[6]) < 9 ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_6 = (static_cast(aot_gpr_6) < 9 ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); if (branch_taken) { goto L_089DEFB4; @@ -7143,7 +7144,7 @@ L_089DEFD0: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -7156,95 +7157,95 @@ L_089DEFE8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (2236u << 16u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (2236u << 16u); aot_gpr_5 = (aot_gpr_16 + static_cast(16)); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x089DF010u); - ctx.gpr[7] = (aot_gpr_17 + static_cast(29704)); + ctx.gpr[7] = (ctx.gpr[17] + static_cast(29704)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DF010u) goto L_089DF010; AOT_REGCACHE_SYNC_OUT(); return; L_089DF010: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15976))); aot_gpr_31 = (0x089DF01Cu); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29704))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29704))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DF01Cu) goto L_089DF01C; AOT_REGCACHE_SYNC_OUT(); return; L_089DF01C: aot_gpr_5 = (ctx.gpr[2] | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(2228))); - ctx.gpr[6] = (static_cast(aot_gpr_4) < 4 ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] != 0u; - ctx.gpr[6] = (static_cast(aot_gpr_4) < 43 ? 1u : 0u); + aot_gpr_6 = (static_cast(aot_gpr_4) < 4 ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 != 0u; + aot_gpr_6 = (static_cast(aot_gpr_4) < 43 ? 1u : 0u); if (branch_taken) { goto L_089DF04C; } goto L_089DF030; } L_089DF030: - ctx.gpr[6] = (static_cast(aot_gpr_4) < 40 ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] == 0u; - ctx.gpr[6] = (static_cast(aot_gpr_4) < 43 ? 1u : 0u); + aot_gpr_6 = (static_cast(aot_gpr_4) < 40 ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 == 0u; + aot_gpr_6 = (static_cast(aot_gpr_4) < 43 ? 1u : 0u); if (branch_taken) { goto L_089DF04C; } goto L_089DF03C; } L_089DF03C: - ctx.gpr[6] = (0u | 36u); - if (aot_gpr_4 != ctx.gpr[6]) { + aot_gpr_6 = (0u | 36u); + if (aot_gpr_4 != aot_gpr_6) { aot_gpr_5 = (0u | 55u); goto L_089DF0A8; } goto L_089DF048; L_089DF048: - ctx.gpr[6] = (static_cast(aot_gpr_4) < 43 ? 1u : 0u); + aot_gpr_6 = (static_cast(aot_gpr_4) < 43 ? 1u : 0u); goto L_089DF04C; L_089DF04C: - { const bool branch_taken = ctx.gpr[6] != 0u; - ctx.gpr[6] = (static_cast(aot_gpr_4) < 52 ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 != 0u; + aot_gpr_6 = (static_cast(aot_gpr_4) < 52 ? 1u : 0u); if (branch_taken) { goto L_089DF064; } goto L_089DF054; } L_089DF054: - ctx.gpr[6] = (static_cast(aot_gpr_4) < 49 ? 1u : 0u); - if (ctx.gpr[6] != 0u) { + aot_gpr_6 = (static_cast(aot_gpr_4) < 49 ? 1u : 0u); + if (aot_gpr_6 != 0u) { aot_gpr_5 = (0u | 55u); goto L_089DF0A8; } goto L_089DF060; L_089DF060: - ctx.gpr[6] = (static_cast(aot_gpr_4) < 52 ? 1u : 0u); + aot_gpr_6 = (static_cast(aot_gpr_4) < 52 ? 1u : 0u); goto L_089DF064; L_089DF064: - { const bool branch_taken = ctx.gpr[6] != 0u; - ctx.gpr[6] = (static_cast(aot_gpr_4) < 66 ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 != 0u; + aot_gpr_6 = (static_cast(aot_gpr_4) < 66 ? 1u : 0u); if (branch_taken) { goto L_089DF074; } goto L_089DF06C; } L_089DF06C: - if (ctx.gpr[6] != 0u) { + if (aot_gpr_6 != 0u) { aot_gpr_5 = (0u | 55u); goto L_089DF0A8; } goto L_089DF074; L_089DF074: - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(456))); - ctx.gpr[7] = (ctx.gpr[6] & 4096u); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(456))); + ctx.gpr[7] = (aot_gpr_6 & 4096u); { const bool branch_taken = ctx.gpr[7] != 0u; - ctx.gpr[6] = (ctx.gpr[6] & 8192u); + aot_gpr_6 = (aot_gpr_6 & 8192u); if (branch_taken) { goto L_089DF0A4; } goto L_089DF084; } L_089DF084: - if (ctx.gpr[6] != 0u) { + if (aot_gpr_6 != 0u) { aot_gpr_5 = (0u | 55u); goto L_089DF0A8; } @@ -7306,12 +7307,12 @@ L_089DF0D8: } L_089DF0E0: aot_gpr_5 = (aot_gpr_16 + static_cast(518)); - ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0))); - ctx.gpr[7] = (ctx.gpr[6] + static_cast(-1)); + aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0))); + ctx.gpr[7] = (aot_gpr_6 + static_cast(-1)); aot_mem.aot_direct_store16(aot_gpr_5 + static_cast(0), static_cast(ctx.gpr[7])); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(521))); - ctx.gpr[6] = (static_cast(ctx.gpr[6]) < 9 ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_6 = (static_cast(aot_gpr_6) < 9 ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); if (branch_taken) { goto L_089DF10C; @@ -7347,7 +7348,7 @@ L_089DF128: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -7362,7 +7363,7 @@ L_089DF140: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_16 = (2236u << 16u); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_gpr_31 = (0x089DF160u); ctx.gpr[7] = (aot_gpr_16 + static_cast(29704)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DF160u) goto L_089DF160; @@ -7376,7 +7377,7 @@ L_089DF160: L_089DF16C: aot_gpr_31 = (0x089DF174u); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DF174u) goto L_089DF174; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089474C4, 80u, 661u, 0x089474C4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DF174u) goto L_089DF174; AOT_REGCACHE_SYNC_OUT(); return; L_089DF174: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); @@ -7424,13 +7425,13 @@ L_089DF1CC: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (2236u << 16u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_16 + static_cast(29704)); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 2u); + aot_gpr_6 = (0u | 2u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x089DF1F4u); - ctx.gpr[7] = (aot_gpr_17 | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DF1F4u) goto L_089DF1F4; AOT_REGCACHE_SYNC_OUT(); return; L_089DF1F4: @@ -7442,7 +7443,7 @@ L_089DF1F4: L_089DF200: aot_gpr_31 = (0x089DF208u); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DF208u) goto L_089DF208; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089474C4, 80u, 661u, 0x089474C4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DF208u) goto L_089DF208; AOT_REGCACHE_SYNC_OUT(); return; L_089DF208: aot_gpr_31 = (0x089DF210u); @@ -7450,7 +7451,7 @@ L_089DF208: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DF210u) goto L_089DF210; AOT_REGCACHE_SYNC_OUT(); return; L_089DF210: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); aot_gpr_31 = (0x089DF21Cu); aot_gpr_4 = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0097_entry, 97u, 953u, 0x0898BB34u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DF21Cu) goto L_089DF21C; @@ -7460,7 +7461,7 @@ L_089DF21C: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -7473,11 +7474,11 @@ L_089DF234: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7800))); aot_gpr_5 = (aot_gpr_4 + aot_gpr_4); - ctx.gpr[6] = (aot_gpr_4 << 8u); + aot_gpr_6 = (aot_gpr_4 << 8u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_gpr_4 << 5u); aot_gpr_5 = (2238u << 16u); - aot_gpr_4 = (ctx.gpr[6] + aot_gpr_4); + aot_gpr_4 = (aot_gpr_6 + aot_gpr_4); aot_gpr_5 = (aot_gpr_5 + static_cast(-6992)); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); @@ -7498,13 +7499,13 @@ L_089DF278: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (2236u << 16u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_16 + static_cast(29704)); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 2u); + aot_gpr_6 = (0u | 2u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x089DF2A0u); - ctx.gpr[7] = (aot_gpr_17 | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DF2A0u) goto L_089DF2A0; AOT_REGCACHE_SYNC_OUT(); return; L_089DF2A0: @@ -7516,10 +7517,10 @@ L_089DF2A0: L_089DF2AC: aot_gpr_31 = (0x089DF2B4u); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DF2B4u) goto L_089DF2B4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089474C4, 80u, 661u, 0x089474C4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DF2B4u) goto L_089DF2B4; AOT_REGCACHE_SYNC_OUT(); return; L_089DF2B4: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_4 = (ctx.gpr[2] | 0u); if (branch_taken) { @@ -7544,7 +7545,7 @@ L_089DF2D0: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -7557,13 +7558,13 @@ L_089DF2E8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (2236u << 16u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_16 + static_cast(29704)); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 2u); + aot_gpr_6 = (0u | 2u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x089DF310u); - ctx.gpr[7] = (aot_gpr_17 | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DF310u) goto L_089DF310; AOT_REGCACHE_SYNC_OUT(); return; L_089DF310: @@ -7575,10 +7576,10 @@ L_089DF310: L_089DF31C: aot_gpr_31 = (0x089DF324u); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DF324u) goto L_089DF324; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089474C4, 80u, 661u, 0x089474C4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DF324u) goto L_089DF324; AOT_REGCACHE_SYNC_OUT(); return; L_089DF324: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_4 = (ctx.gpr[2] | 0u); if (branch_taken) { @@ -7603,7 +7604,7 @@ L_089DF340: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -7616,14 +7617,14 @@ L_089DF358: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); - aot_gpr_17 = (2236u << 16u); + ctx.gpr[17] = (2236u << 16u); ctx.gpr[18] = (aot_gpr_16 + static_cast(16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[19]); - ctx.gpr[19] = (aot_gpr_17 + static_cast(29704)); + ctx.gpr[19] = (ctx.gpr[17] + static_cast(29704)); aot_gpr_5 = (ctx.gpr[18] | 0u); - ctx.gpr[6] = (0u | 2u); + aot_gpr_6 = (0u | 2u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); aot_gpr_31 = (0x089DF390u); ctx.gpr[7] = (ctx.gpr[19] | 0u); @@ -7632,12 +7633,12 @@ L_089DF358: L_089DF390: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15976))); aot_gpr_31 = (0x089DF39Cu); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29704))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29704))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DF39Cu) goto L_089DF39C; AOT_REGCACHE_SYNC_OUT(); return; L_089DF39C: - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(29704), 0u); - ctx.gpr[6] = (0u | 0u); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(29704), 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(4))); aot_gpr_5 = (ctx.gpr[2] + static_cast(1396)); goto L_089DF3AC; @@ -7652,11 +7653,11 @@ L_089DF3AC: } L_089DF3B8: ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(16))); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(29704), ctx.gpr[7]); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(29704), ctx.gpr[7]); goto L_089DF3C0; L_089DF3C0: - ctx.gpr[6] = (ctx.gpr[6] + static_cast(1)); - ctx.gpr[7] = (static_cast(ctx.gpr[6]) < 10 ? 1u : 0u); + aot_gpr_6 = (aot_gpr_6 + static_cast(1)); + ctx.gpr[7] = (static_cast(aot_gpr_6) < 10 ? 1u : 0u); { const bool branch_taken = ctx.gpr[7] != 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(28)); if (branch_taken) { @@ -7668,15 +7669,15 @@ L_089DF3D0: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x089DF3E0u); - ctx.gpr[6] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DF3E0u) goto L_089DF3E0; + aot_gpr_6 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DF3E0u) goto L_089DF3E0; AOT_REGCACHE_SYNC_OUT(); return; L_089DF3E0: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; @@ -7709,12 +7710,12 @@ L_089DF410: AOT_REGCACHE_SYNC_OUT(); return; L_089DF430: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_17); - aot_gpr_17 = (2236u << 16u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[17]); + ctx.gpr[17] = (2236u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_16); - aot_gpr_16 = (aot_gpr_17 + static_cast(29704)); + aot_gpr_16 = (ctx.gpr[17] + static_cast(29704)); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 6u); + aot_gpr_6 = (0u | 6u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), std::bit_cast(aot_fpr_20)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), std::bit_cast(ctx.fpr[22])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); @@ -7725,13 +7726,13 @@ L_089DF430: L_089DF460: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15976))); aot_gpr_31 = (0x089DF46Cu); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29704))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29704))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DF46Cu) goto L_089DF46C; AOT_REGCACHE_SYNC_OUT(); return; L_089DF46C: aot_gpr_31 = (0x089DF474u); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DF474u) goto L_089DF474; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089474C4, 80u, 661u, 0x089474C4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DF474u) goto L_089DF474; AOT_REGCACHE_SYNC_OUT(); return; L_089DF474: ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); @@ -7792,7 +7793,7 @@ L_089DF4F4: aot_fpr_20 = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); aot_gpr_16 = aot_run_words[2]; - aot_gpr_17 = aot_run_words[3]; + ctx.gpr[17] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; } jump_target = aot_gpr_31; @@ -7807,23 +7808,23 @@ L_089DF514: aot_gpr_16 = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); ctx.gpr[18] = (aot_gpr_16 + static_cast(16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (2236u << 16u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (2236u << 16u); aot_gpr_5 = (ctx.gpr[18] | 0u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); aot_gpr_31 = (0x089DF544u); - ctx.gpr[7] = (aot_gpr_17 + static_cast(29704)); + ctx.gpr[7] = (ctx.gpr[17] + static_cast(29704)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DF544u) goto L_089DF544; AOT_REGCACHE_SYNC_OUT(); return; L_089DF544: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29704))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29704))); aot_gpr_5 = (aot_gpr_4 + aot_gpr_4); - ctx.gpr[6] = (aot_gpr_4 << 8u); + aot_gpr_6 = (aot_gpr_4 << 8u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_gpr_4 << 5u); aot_gpr_5 = (2238u << 16u); - aot_gpr_4 = (ctx.gpr[6] + aot_gpr_4); + aot_gpr_4 = (aot_gpr_6 + aot_gpr_4); aot_gpr_5 = (aot_gpr_5 + static_cast(-6992)); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); @@ -7842,7 +7843,7 @@ L_089DF574: AOT_REGCACHE_SYNC_OUT(); return; L_089DF580: { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(29704), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(29704), ctx.gpr[2]); if (branch_taken) { goto L_089DF590; } @@ -7850,21 +7851,21 @@ L_089DF580: } L_089DF588: aot_gpr_4 = (0u + static_cast(-1)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(29704), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(29704), aot_gpr_4); goto L_089DF590; L_089DF590: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x089DF5A0u); - ctx.gpr[6] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DF5A0u) goto L_089DF5A0; + aot_gpr_6 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DF5A0u) goto L_089DF5A0; AOT_REGCACHE_SYNC_OUT(); return; L_089DF5A0: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -7879,7 +7880,7 @@ L_089DF5BC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (2236u << 16u); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x089DF5DCu); ctx.gpr[7] = (aot_gpr_16 + static_cast(29704)); @@ -7920,32 +7921,32 @@ L_089DF60C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (2236u << 16u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (2236u << 16u); aot_gpr_5 = (aot_gpr_16 + static_cast(16)); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); aot_gpr_31 = (0x089DF638u); - ctx.gpr[7] = (aot_gpr_17 + static_cast(29704)); + ctx.gpr[7] = (ctx.gpr[17] + static_cast(29704)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DF638u) goto L_089DF638; AOT_REGCACHE_SYNC_OUT(); return; L_089DF638: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15976))); aot_gpr_31 = (0x089DF644u); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29704))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29704))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DF644u) goto L_089DF644; AOT_REGCACHE_SYNC_OUT(); return; L_089DF644: aot_gpr_31 = (0x089DF64Cu); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DF64Cu) goto L_089DF64C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089474C4, 80u, 661u, 0x089474C4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DF64Cu) goto L_089DF64C; AOT_REGCACHE_SYNC_OUT(); return; L_089DF64C: ctx.gpr[18] = (ctx.gpr[2] | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); aot_gpr_31 = (0x089DF65Cu); - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 195u, 0x08910B38u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DF65Cu) goto L_089DF65C; AOT_REGCACHE_SYNC_OUT(); return; L_089DF65C: @@ -7969,7 +7970,7 @@ L_089DF664: L_089DF674: aot_gpr_31 = (0x089DF67Cu); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(1152))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DF67Cu) goto L_089DF67C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B01E00, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DF67Cu) goto L_089DF67C; AOT_REGCACHE_SYNC_OUT(); return; L_089DF67C: aot_gpr_4 = (0u | 4u); @@ -7981,18 +7982,18 @@ L_089DF67C: goto L_089DF688; } L_089DF688: - aot_gpr_17 = (0u | 1u); + ctx.gpr[17] = (0u | 1u); goto L_089DF68C; L_089DF68C: - aot_gpr_4 = (0u < aot_gpr_17 ? 1u : 0u); + aot_gpr_4 = (0u < ctx.gpr[17] ? 1u : 0u); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(524))); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); - aot_gpr_17 = (aot_gpr_4 ^ aot_gpr_5); + ctx.gpr[17] = (aot_gpr_4 ^ aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(518))); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_17 = (0u < aot_gpr_17 ? 1u : 0u); + ctx.gpr[17] = (0u < ctx.gpr[17] ? 1u : 0u); if (branch_taken) { goto L_089DF6B8; } @@ -8000,7 +8001,7 @@ L_089DF68C: } L_089DF6B0: { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_17)); + aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(ctx.gpr[17])); if (branch_taken) { goto L_089DF700; } @@ -8009,8 +8010,8 @@ L_089DF6B0: L_089DF6B8: aot_gpr_4 = (aot_gpr_16 + static_cast(518)); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0))); - ctx.gpr[6] = (aot_gpr_5 + static_cast(-1)); - aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(0), static_cast(ctx.gpr[6])); + aot_gpr_6 = (aot_gpr_5 + static_cast(-1)); + aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_6)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(521))); aot_gpr_5 = (static_cast(aot_gpr_5) < 9 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; @@ -8021,7 +8022,7 @@ L_089DF6B8: goto L_089DF6D8; } L_089DF6D8: - aot_gpr_4 = (aot_gpr_17 & aot_gpr_4); + aot_gpr_4 = (ctx.gpr[17] & aot_gpr_4); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_4)); if (branch_taken) { @@ -8030,7 +8031,7 @@ L_089DF6D8: goto L_089DF6E4; } L_089DF6E4: - aot_gpr_4 = (aot_gpr_17 | aot_gpr_4); + aot_gpr_4 = (ctx.gpr[17] | aot_gpr_4); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(518))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_4)); aot_gpr_4 = (static_cast(aot_gpr_5) < 21 ? 1u : 0u); @@ -8049,7 +8050,7 @@ L_089DF700: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -8063,32 +8064,32 @@ L_089DF71C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (2236u << 16u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (2236u << 16u); aot_gpr_5 = (aot_gpr_16 + static_cast(16)); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); aot_gpr_31 = (0x089DF748u); - ctx.gpr[7] = (aot_gpr_17 + static_cast(29704)); + ctx.gpr[7] = (ctx.gpr[17] + static_cast(29704)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DF748u) goto L_089DF748; AOT_REGCACHE_SYNC_OUT(); return; L_089DF748: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15976))); aot_gpr_31 = (0x089DF754u); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29704))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29704))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DF754u) goto L_089DF754; AOT_REGCACHE_SYNC_OUT(); return; L_089DF754: aot_gpr_31 = (0x089DF75Cu); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DF75Cu) goto L_089DF75C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089474C4, 80u, 661u, 0x089474C4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DF75Cu) goto L_089DF75C; AOT_REGCACHE_SYNC_OUT(); return; L_089DF75C: ctx.gpr[18] = (ctx.gpr[2] | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); aot_gpr_31 = (0x089DF76Cu); - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 195u, 0x08910B38u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DF76Cu) goto L_089DF76C; AOT_REGCACHE_SYNC_OUT(); return; L_089DF76C: @@ -8112,7 +8113,7 @@ L_089DF774: L_089DF784: aot_gpr_31 = (0x089DF78Cu); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(1152))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DF78Cu) goto L_089DF78C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B01E00, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DF78Cu) goto L_089DF78C; AOT_REGCACHE_SYNC_OUT(); return; L_089DF78C: aot_gpr_4 = (0u | 3u); @@ -8124,18 +8125,18 @@ L_089DF78C: goto L_089DF798; } L_089DF798: - aot_gpr_17 = (0u | 1u); + ctx.gpr[17] = (0u | 1u); goto L_089DF79C; L_089DF79C: - aot_gpr_4 = (0u < aot_gpr_17 ? 1u : 0u); + aot_gpr_4 = (0u < ctx.gpr[17] ? 1u : 0u); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(524))); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); - aot_gpr_17 = (aot_gpr_4 ^ aot_gpr_5); + ctx.gpr[17] = (aot_gpr_4 ^ aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(518))); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_17 = (0u < aot_gpr_17 ? 1u : 0u); + ctx.gpr[17] = (0u < ctx.gpr[17] ? 1u : 0u); if (branch_taken) { goto L_089DF7C8; } @@ -8143,7 +8144,7 @@ L_089DF79C: } L_089DF7C0: { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_17)); + aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(ctx.gpr[17])); if (branch_taken) { goto L_089DF810; } @@ -8152,8 +8153,8 @@ L_089DF7C0: L_089DF7C8: aot_gpr_4 = (aot_gpr_16 + static_cast(518)); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0))); - ctx.gpr[6] = (aot_gpr_5 + static_cast(-1)); - aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(0), static_cast(ctx.gpr[6])); + aot_gpr_6 = (aot_gpr_5 + static_cast(-1)); + aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_6)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(521))); aot_gpr_5 = (static_cast(aot_gpr_5) < 9 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; @@ -8164,7 +8165,7 @@ L_089DF7C8: goto L_089DF7E8; } L_089DF7E8: - aot_gpr_4 = (aot_gpr_17 & aot_gpr_4); + aot_gpr_4 = (ctx.gpr[17] & aot_gpr_4); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_4)); if (branch_taken) { @@ -8173,7 +8174,7 @@ L_089DF7E8: goto L_089DF7F4; } L_089DF7F4: - aot_gpr_4 = (aot_gpr_17 | aot_gpr_4); + aot_gpr_4 = (ctx.gpr[17] | aot_gpr_4); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(518))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_4)); aot_gpr_4 = (static_cast(aot_gpr_5) < 21 ? 1u : 0u); @@ -8192,7 +8193,7 @@ L_089DF810: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -8206,32 +8207,32 @@ L_089DF82C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (2236u << 16u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (2236u << 16u); aot_gpr_5 = (aot_gpr_16 + static_cast(16)); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); aot_gpr_31 = (0x089DF858u); - ctx.gpr[7] = (aot_gpr_17 + static_cast(29704)); + ctx.gpr[7] = (ctx.gpr[17] + static_cast(29704)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DF858u) goto L_089DF858; AOT_REGCACHE_SYNC_OUT(); return; L_089DF858: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15976))); aot_gpr_31 = (0x089DF864u); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29704))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29704))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DF864u) goto L_089DF864; AOT_REGCACHE_SYNC_OUT(); return; L_089DF864: aot_gpr_31 = (0x089DF86Cu); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DF86Cu) goto L_089DF86C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089474C4, 80u, 661u, 0x089474C4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DF86Cu) goto L_089DF86C; AOT_REGCACHE_SYNC_OUT(); return; L_089DF86C: ctx.gpr[18] = (ctx.gpr[2] | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); aot_gpr_31 = (0x089DF87Cu); - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 195u, 0x08910B38u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DF87Cu) goto L_089DF87C; AOT_REGCACHE_SYNC_OUT(); return; L_089DF87C: @@ -8255,7 +8256,7 @@ L_089DF884: L_089DF894: aot_gpr_31 = (0x089DF89Cu); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(1152))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DF89Cu) goto L_089DF89C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B01E00, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DF89Cu) goto L_089DF89C; AOT_REGCACHE_SYNC_OUT(); return; L_089DF89C: aot_gpr_4 = (0u | 5u); @@ -8267,18 +8268,18 @@ L_089DF89C: goto L_089DF8A8; } L_089DF8A8: - aot_gpr_17 = (0u | 1u); + ctx.gpr[17] = (0u | 1u); goto L_089DF8AC; L_089DF8AC: - aot_gpr_4 = (0u < aot_gpr_17 ? 1u : 0u); + aot_gpr_4 = (0u < ctx.gpr[17] ? 1u : 0u); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(524))); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); - aot_gpr_17 = (aot_gpr_4 ^ aot_gpr_5); + ctx.gpr[17] = (aot_gpr_4 ^ aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(518))); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_17 = (0u < aot_gpr_17 ? 1u : 0u); + ctx.gpr[17] = (0u < ctx.gpr[17] ? 1u : 0u); if (branch_taken) { goto L_089DF8D8; } @@ -8286,7 +8287,7 @@ L_089DF8AC: } L_089DF8D0: { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_17)); + aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(ctx.gpr[17])); if (branch_taken) { goto L_089DF920; } @@ -8295,8 +8296,8 @@ L_089DF8D0: L_089DF8D8: aot_gpr_4 = (aot_gpr_16 + static_cast(518)); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0))); - ctx.gpr[6] = (aot_gpr_5 + static_cast(-1)); - aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(0), static_cast(ctx.gpr[6])); + aot_gpr_6 = (aot_gpr_5 + static_cast(-1)); + aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_6)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(521))); aot_gpr_5 = (static_cast(aot_gpr_5) < 9 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; @@ -8307,7 +8308,7 @@ L_089DF8D8: goto L_089DF8F8; } L_089DF8F8: - aot_gpr_4 = (aot_gpr_17 & aot_gpr_4); + aot_gpr_4 = (ctx.gpr[17] & aot_gpr_4); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_4)); if (branch_taken) { @@ -8316,7 +8317,7 @@ L_089DF8F8: goto L_089DF904; } L_089DF904: - aot_gpr_4 = (aot_gpr_17 | aot_gpr_4); + aot_gpr_4 = (ctx.gpr[17] | aot_gpr_4); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(518))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_4)); aot_gpr_4 = (static_cast(aot_gpr_5) < 21 ? 1u : 0u); @@ -8335,7 +8336,7 @@ L_089DF920: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -8350,7 +8351,7 @@ L_089DF93C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (2236u << 16u); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x089DF95Cu); ctx.gpr[7] = (aot_gpr_16 + static_cast(29704)); @@ -8365,7 +8366,7 @@ L_089DF95C: L_089DF968: aot_gpr_31 = (0x089DF970u); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DF970u) goto L_089DF970; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089474C4, 80u, 661u, 0x089474C4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DF970u) goto L_089DF970; AOT_REGCACHE_SYNC_OUT(); return; L_089DF970: aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(316), 0u); @@ -8382,12 +8383,12 @@ L_089DF988: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_16 + static_cast(16)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_16 + static_cast(16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); ctx.gpr[18] = (2236u << 16u); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_6 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); aot_gpr_31 = (0x089DF9B8u); ctx.gpr[7] = (ctx.gpr[18] + static_cast(29704)); @@ -8402,23 +8403,23 @@ L_089DF9B8: L_089DF9C4: aot_gpr_31 = (0x089DF9CCu); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DF9CCu) goto L_089DF9CC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089474C4, 80u, 661u, 0x089474C4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DF9CCu) goto L_089DF9CC; AOT_REGCACHE_SYNC_OUT(); return; L_089DF9CC: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(316))); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(29704), aot_gpr_5); aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089DF9E4u); - ctx.gpr[6] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DF9E4u) goto L_089DF9E4; + aot_gpr_6 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DF9E4u) goto L_089DF9E4; AOT_REGCACHE_SYNC_OUT(); return; L_089DF9E4: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -8432,32 +8433,32 @@ L_089DFA00: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (2236u << 16u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (2236u << 16u); aot_gpr_5 = (aot_gpr_16 + static_cast(16)); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); aot_gpr_31 = (0x089DFA2Cu); - ctx.gpr[7] = (aot_gpr_17 + static_cast(29704)); + ctx.gpr[7] = (ctx.gpr[17] + static_cast(29704)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DFA2Cu) goto L_089DFA2C; AOT_REGCACHE_SYNC_OUT(); return; L_089DFA2C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15976))); aot_gpr_31 = (0x089DFA38u); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29704))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29704))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DFA38u) goto L_089DFA38; AOT_REGCACHE_SYNC_OUT(); return; L_089DFA38: aot_gpr_31 = (0x089DFA40u); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DFA40u) goto L_089DFA40; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089474C4, 80u, 661u, 0x089474C4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DFA40u) goto L_089DFA40; AOT_REGCACHE_SYNC_OUT(); return; L_089DFA40: ctx.gpr[18] = (ctx.gpr[2] | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); aot_gpr_31 = (0x089DFA50u); - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 195u, 0x08910B38u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DFA50u) goto L_089DFA50; AOT_REGCACHE_SYNC_OUT(); return; L_089DFA50: @@ -8481,7 +8482,7 @@ L_089DFA58: L_089DFA68: aot_gpr_31 = (0x089DFA70u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1152))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DFA70u) goto L_089DFA70; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B01E00, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DFA70u) goto L_089DFA70; AOT_REGCACHE_SYNC_OUT(); return; L_089DFA70: aot_gpr_4 = (0u | 5u); @@ -8496,7 +8497,7 @@ L_089DFA7C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); aot_gpr_31 = (0x089DFA88u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1152))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DFA88u) goto L_089DFA88; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B01E00, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DFA88u) goto L_089DFA88; AOT_REGCACHE_SYNC_OUT(); return; L_089DFA88: aot_gpr_4 = (0u | 3u); @@ -8508,18 +8509,18 @@ L_089DFA88: goto L_089DFA94; } L_089DFA94: - aot_gpr_17 = (0u | 1u); + ctx.gpr[17] = (0u | 1u); goto L_089DFA98; L_089DFA98: - aot_gpr_4 = (0u < aot_gpr_17 ? 1u : 0u); + aot_gpr_4 = (0u < ctx.gpr[17] ? 1u : 0u); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(524))); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); - aot_gpr_17 = (aot_gpr_4 ^ aot_gpr_5); + ctx.gpr[17] = (aot_gpr_4 ^ aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(518))); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_17 = (0u < aot_gpr_17 ? 1u : 0u); + ctx.gpr[17] = (0u < ctx.gpr[17] ? 1u : 0u); if (branch_taken) { goto L_089DFAC4; } @@ -8527,7 +8528,7 @@ L_089DFA98: } L_089DFABC: { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_17)); + aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(ctx.gpr[17])); if (branch_taken) { goto L_089DFB0C; } @@ -8536,8 +8537,8 @@ L_089DFABC: L_089DFAC4: aot_gpr_4 = (aot_gpr_16 + static_cast(518)); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0))); - ctx.gpr[6] = (aot_gpr_5 + static_cast(-1)); - aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(0), static_cast(ctx.gpr[6])); + aot_gpr_6 = (aot_gpr_5 + static_cast(-1)); + aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_6)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(521))); aot_gpr_5 = (static_cast(aot_gpr_5) < 9 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; @@ -8548,7 +8549,7 @@ L_089DFAC4: goto L_089DFAE4; } L_089DFAE4: - aot_gpr_4 = (aot_gpr_17 & aot_gpr_4); + aot_gpr_4 = (ctx.gpr[17] & aot_gpr_4); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_4)); if (branch_taken) { @@ -8557,7 +8558,7 @@ L_089DFAE4: goto L_089DFAF0; } L_089DFAF0: - aot_gpr_4 = (aot_gpr_17 | aot_gpr_4); + aot_gpr_4 = (ctx.gpr[17] | aot_gpr_4); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(518))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_4)); aot_gpr_4 = (static_cast(aot_gpr_5) < 21 ? 1u : 0u); @@ -8576,7 +8577,7 @@ L_089DFB0C: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -8591,7 +8592,7 @@ L_089DFB28: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (2236u << 16u); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x089DFB48u); ctx.gpr[7] = (aot_gpr_16 + static_cast(29704)); @@ -8632,11 +8633,11 @@ L_089DFB78: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7800))); aot_gpr_5 = (aot_gpr_4 + aot_gpr_4); - ctx.gpr[6] = (aot_gpr_4 << 8u); + aot_gpr_6 = (aot_gpr_4 << 8u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_gpr_4 << 5u); aot_gpr_5 = (2238u << 16u); - aot_gpr_4 = (ctx.gpr[6] + aot_gpr_4); + aot_gpr_4 = (aot_gpr_6 + aot_gpr_4); aot_gpr_5 = (aot_gpr_5 + static_cast(-6992)); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); @@ -8654,8 +8655,8 @@ L_089DFBAC: ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_089DFBBC: - ctx.gpr[6] = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7592))); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7592))); + { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_5 = (0u | 0u); if (branch_taken) { goto L_089DFBD4; @@ -8663,19 +8664,19 @@ L_089DFBBC: goto L_089DFBC8; } L_089DFBC8: - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_5 = (0u | 1u); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(7592), static_cast(ctx.gpr[6])); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(7592), static_cast(aot_gpr_6)); goto L_089DFBD4; L_089DFBD4: aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); - ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(524))); + aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(524))); aot_gpr_5 = (aot_gpr_5 & 255u); aot_gpr_5 = (aot_gpr_5 & 255u); - ctx.gpr[6] = (0u < ctx.gpr[6] ? 1u : 0u); - aot_gpr_5 = (aot_gpr_5 ^ ctx.gpr[6]); - ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(518))); - { const bool branch_taken = ctx.gpr[6] != 0u; + aot_gpr_6 = (0u < aot_gpr_6 ? 1u : 0u); + aot_gpr_5 = (aot_gpr_5 ^ aot_gpr_6); + aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(518))); + { const bool branch_taken = aot_gpr_6 != 0u; aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); if (branch_taken) { goto L_089DFC00; @@ -8691,21 +8692,21 @@ L_089DFBF8: goto L_089DFC00; } L_089DFC00: - ctx.gpr[6] = (aot_gpr_4 + static_cast(518)); - ctx.gpr[7] = (aot_mem.aot_direct_load16(ctx.gpr[6] + static_cast(0))); + aot_gpr_6 = (aot_gpr_4 + static_cast(518)); + ctx.gpr[7] = (aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(0))); ctx.gpr[8] = (ctx.gpr[7] + static_cast(-1)); - aot_mem.aot_direct_store16(ctx.gpr[6] + static_cast(0), static_cast(ctx.gpr[8])); - ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(521))); + aot_mem.aot_direct_store16(aot_gpr_6 + static_cast(0), static_cast(ctx.gpr[8])); + aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(521))); ctx.gpr[7] = (static_cast(ctx.gpr[7]) < 9 ? 1u : 0u); { const bool branch_taken = ctx.gpr[7] == 0u; - ctx.gpr[6] = (0u < ctx.gpr[6] ? 1u : 0u); + aot_gpr_6 = (0u < aot_gpr_6 ? 1u : 0u); if (branch_taken) { goto L_089DFC2C; } goto L_089DFC20; } L_089DFC20: - aot_gpr_5 = (aot_gpr_5 & ctx.gpr[6]); + aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(521), static_cast(aot_gpr_5)); if (branch_taken) { @@ -8714,10 +8715,10 @@ L_089DFC20: goto L_089DFC2C; } L_089DFC2C: - aot_gpr_5 = (aot_gpr_5 | ctx.gpr[6]); - ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(518))); + aot_gpr_5 = (aot_gpr_5 | aot_gpr_6); + aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(518))); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(521), static_cast(aot_gpr_5)); - aot_gpr_5 = (static_cast(ctx.gpr[6]) < 21 ? 1u : 0u); + aot_gpr_5 = (static_cast(aot_gpr_6) < 21 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; // nop if (branch_taken) { @@ -8739,13 +8740,13 @@ L_089DFC50: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (2236u << 16u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_16 + static_cast(29704)); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 3u); + aot_gpr_6 = (0u | 3u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x089DFC78u); - ctx.gpr[7] = (aot_gpr_17 | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DFC78u) goto L_089DFC78; AOT_REGCACHE_SYNC_OUT(); return; L_089DFC78: @@ -8757,12 +8758,12 @@ L_089DFC78: L_089DFC84: aot_gpr_31 = (0x089DFC8Cu); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DFC8Cu) goto L_089DFC8C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089474C4, 80u, 661u, 0x089474C4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DFC8Cu) goto L_089DFC8C; AOT_REGCACHE_SYNC_OUT(); return; L_089DFC8C: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); aot_gpr_31 = (0x089DFCA0u); aot_gpr_5 = (aot_gpr_5 & 255u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 633u, 0x08A06800u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DFCA0u) goto L_089DFCA0; @@ -8772,7 +8773,7 @@ L_089DFCA0: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -8787,20 +8788,20 @@ L_089DFCB8: aot_gpr_16 = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[18]); ctx.gpr[18] = (aot_gpr_16 + static_cast(16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_17); - aot_gpr_17 = (2236u << 16u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[17]); + ctx.gpr[17] = (2236u << 16u); aot_gpr_5 = (ctx.gpr[18] | 0u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[19]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_31); aot_gpr_31 = (0x089DFCECu); - ctx.gpr[7] = (aot_gpr_17 + static_cast(29704)); + ctx.gpr[7] = (ctx.gpr[17] + static_cast(29704)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DFCECu) goto L_089DFCEC; AOT_REGCACHE_SYNC_OUT(); return; L_089DFCEC: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_gpr_31 = (0x089DFD00u); ctx.gpr[7] = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DFD00u) goto L_089DFD00; @@ -8825,8 +8826,8 @@ L_089DFD14: goto L_089DFD18; L_089DFD18: ctx.gpr[18] = (aot_gpr_4 | 0u); - ctx.gpr[6] = (ctx.gpr[18] | 0u); - ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[6] + static_cast(0)))))); + aot_gpr_6 = (ctx.gpr[18] | 0u); + ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_6 + static_cast(0)))))); { const bool branch_taken = ctx.gpr[7] == 0u; aot_gpr_5 = (0u | 0u); if (branch_taken) { @@ -8853,13 +8854,13 @@ L_089DFD38: } L_089DFD40: ctx.gpr[7] = (ctx.gpr[7] + static_cast(32)); - aot_mem.aot_direct_store8(ctx.gpr[6] + static_cast(0), static_cast(ctx.gpr[7])); + aot_mem.aot_direct_store8(aot_gpr_6 + static_cast(0), static_cast(ctx.gpr[7])); goto L_089DFD48; L_089DFD48: aot_gpr_5 = (aot_gpr_5 + static_cast(1)); aot_gpr_5 = (aot_gpr_5 & 255u); - ctx.gpr[6] = (aot_gpr_4 + aot_gpr_5); - ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[6] + static_cast(0)))))); + aot_gpr_6 = (aot_gpr_4 + aot_gpr_5); + ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_6 + static_cast(0)))))); { const bool branch_taken = ctx.gpr[7] != 0u; // nop if (branch_taken) { @@ -8870,13 +8871,13 @@ L_089DFD48: L_089DFD60: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15976))); aot_gpr_31 = (0x089DFD6Cu); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29704))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29704))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DFD6Cu) goto L_089DFD6C; AOT_REGCACHE_SYNC_OUT(); return; L_089DFD6C: aot_gpr_31 = (0x089DFD74u); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DFD74u) goto L_089DFD74; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089474C4, 80u, 661u, 0x089474C4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DFD74u) goto L_089DFD74; AOT_REGCACHE_SYNC_OUT(); return; L_089DFD74: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(0))); @@ -8884,7 +8885,7 @@ L_089DFD74: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(86)))))); aot_gpr_5 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_5) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); if (branch_taken) { goto L_089DFD9C; } @@ -8894,11 +8895,11 @@ L_089DFD8C: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); goto L_089DFD9C; L_089DFD9C: - ctx.gpr[19] = (aot_gpr_17 | 0u); - aot_gpr_17 = (0u | 0u); + ctx.gpr[19] = (ctx.gpr[17] | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_31 = (0x089DFDACu); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0162_entry, 162u, 79u, 0x08A8C7F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DFDACu) goto L_089DFDAC; @@ -8914,16 +8915,16 @@ L_089DFDAC: goto L_089DFDBC; } L_089DFDBC: - aot_gpr_17 = (0u | 1u); + ctx.gpr[17] = (0u | 1u); goto L_089DFDC0; L_089DFDC0: - aot_gpr_5 = (0u < aot_gpr_17 ? 1u : 0u); + aot_gpr_5 = (0u < ctx.gpr[17] ? 1u : 0u); aot_gpr_5 = (aot_gpr_5 & 255u); aot_gpr_5 = (aot_gpr_5 & 255u); - ctx.gpr[6] = (0u < ctx.gpr[18] ? 1u : 0u); - aot_gpr_17 = (aot_gpr_5 ^ ctx.gpr[6]); + aot_gpr_6 = (0u < ctx.gpr[18] ? 1u : 0u); + ctx.gpr[17] = (aot_gpr_5 ^ aot_gpr_6); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_17 = (0u < aot_gpr_17 ? 1u : 0u); + ctx.gpr[17] = (0u < ctx.gpr[17] ? 1u : 0u); if (branch_taken) { goto L_089DFDE4; } @@ -8931,7 +8932,7 @@ L_089DFDC0: } L_089DFDDC: { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_17)); + aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(ctx.gpr[17])); if (branch_taken) { goto L_089DFE2C; } @@ -8940,8 +8941,8 @@ L_089DFDDC: L_089DFDE4: aot_gpr_4 = (aot_gpr_16 + static_cast(518)); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0))); - ctx.gpr[6] = (aot_gpr_5 + static_cast(-1)); - aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(0), static_cast(ctx.gpr[6])); + aot_gpr_6 = (aot_gpr_5 + static_cast(-1)); + aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_6)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(521))); aot_gpr_5 = (static_cast(aot_gpr_5) < 9 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; @@ -8952,7 +8953,7 @@ L_089DFDE4: goto L_089DFE04; } L_089DFE04: - aot_gpr_4 = (aot_gpr_17 & aot_gpr_4); + aot_gpr_4 = (ctx.gpr[17] & aot_gpr_4); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_4)); if (branch_taken) { @@ -8961,7 +8962,7 @@ L_089DFE04: goto L_089DFE10; } L_089DFE10: - aot_gpr_4 = (aot_gpr_17 | aot_gpr_4); + aot_gpr_4 = (ctx.gpr[17] | aot_gpr_4); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(518))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_4)); aot_gpr_4 = (static_cast(aot_gpr_5) < 21 ? 1u : 0u); @@ -8980,7 +8981,7 @@ L_089DFE2C: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(4), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; @@ -8993,11 +8994,11 @@ L_089DFE2C: AOT_REGCACHE_SYNC_OUT(); return; L_089DFE4C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - ctx.gpr[6] = (2236u << 16u); + aot_gpr_6 = (2236u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (ctx.gpr[6] + static_cast(29704)); + aot_gpr_16 = (aot_gpr_6 + static_cast(29704)); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 2u); + aot_gpr_6 = (0u | 2u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x089DFE70u); ctx.gpr[7] = (aot_gpr_16 | 0u); @@ -9012,7 +9013,7 @@ L_089DFE70: L_089DFE7C: aot_gpr_31 = (0x089DFE84u); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DFE84u) goto L_089DFE84; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089474C4, 80u, 661u, 0x089474C4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DFE84u) goto L_089DFE84; AOT_REGCACHE_SYNC_OUT(); return; L_089DFE84: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); @@ -9049,13 +9050,13 @@ L_089DFEB4: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (2236u << 16u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_16 + static_cast(29704)); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 2u); + aot_gpr_6 = (0u | 2u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x089DFEDCu); - ctx.gpr[7] = (aot_gpr_17 | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DFEDCu) goto L_089DFEDC; AOT_REGCACHE_SYNC_OUT(); return; L_089DFEDC: @@ -9067,16 +9068,16 @@ L_089DFEDC: L_089DFEE8: aot_gpr_31 = (0x089DFEF0u); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DFEF0u) goto L_089DFEF0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089474C4, 80u, 661u, 0x089474C4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DFEF0u) goto L_089DFEF0; AOT_REGCACHE_SYNC_OUT(); return; L_089DFEF0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(0))); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(3258), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(0))); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(3261)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(3261)))))); aot_gpr_5 = (0u + static_cast(-2)); - aot_gpr_5 = (ctx.gpr[6] & aot_gpr_5); + aot_gpr_5 = (aot_gpr_6 & aot_gpr_5); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(3261), static_cast(aot_gpr_5)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(0))); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(3258))); @@ -9099,7 +9100,7 @@ L_089DFF30: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -9112,19 +9113,19 @@ L_089DFF48: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), aot_gpr_16); aot_gpr_16 = (2236u << 16u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), aot_gpr_17); - aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_16 + static_cast(29704)); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 8u); + aot_gpr_6 = (0u | 8u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), aot_gpr_31); aot_gpr_31 = (0x089DFF70u); - ctx.gpr[7] = (aot_gpr_17 | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089DFF70u) goto L_089DFF70; AOT_REGCACHE_SYNC_OUT(); return; L_089DFF70: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); { std::uint32_t aot_run_words[7]{}; - aot_mem.aot_direct_load32_block(aot_gpr_17 + static_cast(4), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[17] + static_cast(4), aot_run_words); aot_fpr_14 = std::bit_cast(aot_run_words[0]); ctx.fpr[15] = std::bit_cast(aot_run_words[1]); aot_fpr_12 = std::bit_cast(aot_run_words[2]); @@ -9149,7 +9150,7 @@ L_089DFFB8: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(32), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; diff --git a/profiles/vcs/generated/generated_unit_0119.cpp b/profiles/vcs/generated/generated_unit_0119.cpp index 40dfd12..1e758e2 100644 --- a/profiles/vcs/generated/generated_unit_0119.cpp +++ b/profiles/vcs/generated/generated_unit_0119.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0119[4096] = { }; void recomp_unit_0119_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,16,29,31,6 fprs=12,13,20,22 gpr_occ=4580 fpr_occ=447 gpr_total=5781 fpr_total=564 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,31,29,16,6 fprs=12,13,20,22 gpr_occ=4812 fpr_occ=448 gpr_total=6169 fpr_total=565 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; - std::uint32_t aot_gpr_16 = ctx.gpr[16]; - std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; + std::uint32_t aot_gpr_29 = ctx.gpr[29]; + std::uint32_t aot_gpr_16 = ctx.gpr[16]; std::uint32_t aot_gpr_6 = ctx.gpr[6]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_20 = ctx.fpr[20]; float aot_fpr_22 = ctx.fpr[22]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[16] = aot_gpr_16; ctx.gpr[29] = aot_gpr_29; ctx.gpr[31] = aot_gpr_31; ctx.gpr[6] = aot_gpr_6; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; ctx.fpr[22] = aot_fpr_22; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_6 = ctx.gpr[6]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_22 = ctx.fpr[22]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[31] = aot_gpr_31; ctx.gpr[29] = aot_gpr_29; ctx.gpr[16] = aot_gpr_16; ctx.gpr[6] = aot_gpr_6; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; ctx.fpr[22] = aot_fpr_22; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_6 = ctx.gpr[6]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_22 = ctx.fpr[22]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -1036,7 +1037,7 @@ L_089E0020: L_089E002C: aot_gpr_31 = (0x089E0034u); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E0034u) goto L_089E0034; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089474C4, 80u, 661u, 0x089474C4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E0034u) goto L_089E0034; AOT_REGCACHE_SYNC_OUT(); return; L_089E0034: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(336))); @@ -1103,7 +1104,7 @@ L_089E00B8: L_089E00C4: aot_gpr_31 = (0x089E00CCu); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E00CCu) goto L_089E00CC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089474C4, 80u, 661u, 0x089474C4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E00CCu) goto L_089E00CC; AOT_REGCACHE_SYNC_OUT(); return; L_089E00CC: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(337))); @@ -1306,7 +1307,7 @@ L_089E0264: L_089E0270: aot_gpr_31 = (0x089E0278u); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E0278u) goto L_089E0278; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089474C4, 80u, 661u, 0x089474C4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E0278u) goto L_089E0278; AOT_REGCACHE_SYNC_OUT(); return; L_089E0278: ctx.gpr[17] = (ctx.gpr[2] | 0u); @@ -1587,7 +1588,7 @@ L_089E04A0: L_089E04AC: aot_gpr_31 = (0x089E04B4u); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E04B4u) goto L_089E04B4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089474C4, 80u, 661u, 0x089474C4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E04B4u) goto L_089E04B4; AOT_REGCACHE_SYNC_OUT(); return; L_089E04B4: ctx.gpr[18] = (ctx.gpr[2] | 0u); @@ -1748,7 +1749,7 @@ L_089E05E4: L_089E05F0: aot_gpr_31 = (0x089E05F8u); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E05F8u) goto L_089E05F8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089474C4, 80u, 661u, 0x089474C4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E05F8u) goto L_089E05F8; AOT_REGCACHE_SYNC_OUT(); return; L_089E05F8: aot_gpr_4 = (2236u << 16u); @@ -1903,7 +1904,7 @@ L_089E074C: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x089E075Cu); aot_gpr_5 = (aot_gpr_6 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E075Cu) goto L_089E075C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E075Cu) goto L_089E075C; AOT_REGCACHE_SYNC_OUT(); return; L_089E075C: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7800))); @@ -1918,7 +1919,7 @@ L_089E075C: L_089E077C: aot_gpr_31 = (0x089E0784u); aot_gpr_4 = (aot_gpr_5 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E0784u) goto L_089E0784; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B01E00, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E0784u) goto L_089E0784; AOT_REGCACHE_SYNC_OUT(); return; L_089E0784: aot_gpr_5 = (ctx.gpr[2] | 0u); @@ -2561,7 +2562,7 @@ L_089E0C7C: L_089E0C88: aot_gpr_31 = (0x089E0C90u); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E0C90u) goto L_089E0C90; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089474C4, 80u, 661u, 0x089474C4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E0C90u) goto L_089E0C90; AOT_REGCACHE_SYNC_OUT(); return; L_089E0C90: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(0))); @@ -2571,7 +2572,7 @@ L_089E0C90: aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(29704), aot_gpr_6); aot_gpr_31 = (0x089E0CACu); aot_gpr_6 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E0CACu) goto L_089E0CAC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E0CACu) goto L_089E0CAC; AOT_REGCACHE_SYNC_OUT(); return; L_089E0CAC: ctx.gpr[2] = (0u | 0u); @@ -2614,7 +2615,7 @@ L_089E0D1C: ctx.gpr[20] = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x089E0D28u); aot_gpr_4 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E0D28u) goto L_089E0D28; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E0D28u) goto L_089E0D28; AOT_REGCACHE_SYNC_OUT(); return; L_089E0D28: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -2840,7 +2841,7 @@ L_089E0EAC: L_089E0EB8: aot_gpr_31 = (0x089E0EC0u); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E0EC0u) goto L_089E0EC0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089474C4, 80u, 661u, 0x089474C4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E0EC0u) goto L_089E0EC0; AOT_REGCACHE_SYNC_OUT(); return; L_089E0EC0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); @@ -3110,7 +3111,7 @@ L_089E10D4: L_089E10E0: aot_gpr_31 = (0x089E10E8u); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E10E8u) goto L_089E10E8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089474C4, 80u, 661u, 0x089474C4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E10E8u) goto L_089E10E8; AOT_REGCACHE_SYNC_OUT(); return; L_089E10E8: aot_gpr_16 = (ctx.gpr[2] | 0u); @@ -3205,7 +3206,7 @@ L_089E119C: ctx.gpr[17] = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x089E11A8u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E11A8u) goto L_089E11A8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089474C4, 80u, 661u, 0x089474C4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E11A8u) goto L_089E11A8; AOT_REGCACHE_SYNC_OUT(); return; L_089E11A8: aot_gpr_6 = (2236u << 16u); @@ -3534,7 +3535,7 @@ L_089E14A4: L_089E14B0: aot_gpr_31 = (0x089E14B8u); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E14B8u) goto L_089E14B8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089474C4, 80u, 661u, 0x089474C4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E14B8u) goto L_089E14B8; AOT_REGCACHE_SYNC_OUT(); return; L_089E14B8: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); @@ -3693,7 +3694,7 @@ L_089E15D8: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); aot_gpr_31 = (0x089E1600u); aot_gpr_6 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E1600u) goto L_089E1600; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E1600u) goto L_089E1600; AOT_REGCACHE_SYNC_OUT(); return; L_089E1600: ctx.gpr[2] = (0u | 0u); @@ -4316,7 +4317,7 @@ L_089E1A4C: aot_gpr_5 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x089E1A60u); aot_gpr_6 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E1A60u) goto L_089E1A60; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E1A60u) goto L_089E1A60; AOT_REGCACHE_SYNC_OUT(); return; L_089E1A60: ctx.gpr[2] = (0u | 0u); @@ -4571,7 +4572,7 @@ L_089E1C74: aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x089E1C88u); aot_gpr_6 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E1C88u) goto L_089E1C88; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E1C88u) goto L_089E1C88; AOT_REGCACHE_SYNC_OUT(); return; L_089E1C88: ctx.gpr[2] = (0u | 0u); @@ -4708,7 +4709,7 @@ L_089E1DC0: aot_gpr_5 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x089E1DD4u); aot_gpr_6 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E1DD4u) goto L_089E1DD4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E1DD4u) goto L_089E1DD4; AOT_REGCACHE_SYNC_OUT(); return; L_089E1DD4: ctx.gpr[2] = (0u | 0u); @@ -5063,7 +5064,7 @@ L_089E2078: aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x089E208Cu); aot_gpr_6 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E208Cu) goto L_089E208C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E208Cu) goto L_089E208C; AOT_REGCACHE_SYNC_OUT(); return; L_089E208C: ctx.gpr[2] = (0u | 0u); @@ -5266,7 +5267,7 @@ L_089E21F0: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(88))); aot_gpr_31 = (0x089E2204u); aot_gpr_6 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E2204u) goto L_089E2204; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E2204u) goto L_089E2204; AOT_REGCACHE_SYNC_OUT(); return; L_089E2204: ctx.gpr[2] = (0u | 0u); @@ -5487,7 +5488,7 @@ L_089E2408: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089E241Cu); aot_gpr_5 = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E241Cu) goto L_089E241C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E241Cu) goto L_089E241C; AOT_REGCACHE_SYNC_OUT(); return; L_089E241C: aot_gpr_4 = (ctx.gpr[18] << 6u); @@ -5640,7 +5641,7 @@ L_089E2554: aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0))); aot_gpr_31 = (0x089E2564u); ctx.gpr[20] = (aot_gpr_4 + static_cast(1)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E2564u) goto L_089E2564; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E2564u) goto L_089E2564; AOT_REGCACHE_SYNC_OUT(); return; L_089E2564: aot_gpr_6 = (ctx.gpr[20] + static_cast(-170)); @@ -5648,7 +5649,7 @@ L_089E2564: aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x089E2578u); ctx.gpr[7] = (static_cast(static_cast(aot_gpr_6) >> 31u)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E2578u) goto L_089E2578; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E2578u) goto L_089E2578; AOT_REGCACHE_SYNC_OUT(); return; L_089E2578: ctx.gpr[1] = (ctx.gpr[3] << 1u); @@ -5712,7 +5713,7 @@ L_089E25DC: aot_fpr_20 = std::bit_cast(0u); aot_gpr_31 = (0x089E25ECu); aot_fpr_22 = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E25ECu) goto L_089E25EC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E25ECu) goto L_089E25EC; AOT_REGCACHE_SYNC_OUT(); return; L_089E25EC: aot_fpr_12 = aot_fpr_22 - aot_fpr_20; @@ -6191,7 +6192,7 @@ L_089E2934: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1152))); aot_gpr_31 = (0x089E2940u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(900))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E2940u) goto L_089E2940; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E2940u) goto L_089E2940; AOT_REGCACHE_SYNC_OUT(); return; L_089E2940: if (ctx.gpr[2] == 0u) { @@ -6244,7 +6245,7 @@ L_089E299C: aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_31 = (0x089E29BCu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E29BCu) goto L_089E29BC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E29BCu) goto L_089E29BC; AOT_REGCACHE_SYNC_OUT(); return; L_089E29BC: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-11100))); @@ -6252,7 +6253,7 @@ L_089E29BC: aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x089E29D0u); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E29D0u) goto L_089E29D0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B6256C, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E29D0u) goto L_089E29D0; AOT_REGCACHE_SYNC_OUT(); return; L_089E29D0: if (static_cast(ctx.gpr[2]) >= 0) { @@ -6301,7 +6302,7 @@ L_089E2A10: aot_gpr_4 = (aot_gpr_4 | 39322u); aot_gpr_31 = (0x089E2A2Cu); ctx.fpr[24] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E2A2Cu) goto L_089E2A2C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E2A2Cu) goto L_089E2A2C; AOT_REGCACHE_SYNC_OUT(); return; L_089E2A2C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1152))); @@ -6967,7 +6968,7 @@ L_089E3064: L_089E306C: aot_gpr_31 = (0x089E3074u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E3074u) goto L_089E3074; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890FF64, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E3074u) goto L_089E3074; AOT_REGCACHE_SYNC_OUT(); return; L_089E3074: { const bool branch_taken = 0u == 0u; @@ -7142,7 +7143,7 @@ L_089E3194: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x089E31A4u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(2244))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E31A4u) goto L_089E31A4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E31A4u) goto L_089E31A4; AOT_REGCACHE_SYNC_OUT(); return; L_089E31A4: { const bool branch_taken = 0u == 0u; @@ -7349,7 +7350,7 @@ L_089E32B4: L_089E32BC: aot_gpr_31 = (0x089E32C4u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E32C4u) goto L_089E32C4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E32C4u) goto L_089E32C4; AOT_REGCACHE_SYNC_OUT(); return; L_089E32C4: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -7555,7 +7556,7 @@ L_089E3414: L_089E3428: aot_gpr_31 = (0x089E3430u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E3430u) goto L_089E3430; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E3430u) goto L_089E3430; AOT_REGCACHE_SYNC_OUT(); return; L_089E3430: aot_gpr_4 = (ctx.gpr[2] | 0u); @@ -7563,7 +7564,7 @@ L_089E3430: ctx.gpr[7] = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x089E3444u); aot_gpr_6 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E3444u) goto L_089E3444; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E3444u) goto L_089E3444; AOT_REGCACHE_SYNC_OUT(); return; L_089E3444: ctx.gpr[1] = (ctx.gpr[3] << 1u); @@ -7826,7 +7827,7 @@ L_089E3638: L_089E3640: aot_gpr_31 = (0x089E3648u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E3648u) goto L_089E3648; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089101A4, 67u, 27u, 0x089101A4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E3648u) goto L_089E3648; AOT_REGCACHE_SYNC_OUT(); return; L_089E3648: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -7839,7 +7840,7 @@ L_089E3648: L_089E3650: aot_gpr_31 = (0x089E3658u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E3658u) goto L_089E3658; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089101A4, 67u, 27u, 0x089101A4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E3658u) goto L_089E3658; AOT_REGCACHE_SYNC_OUT(); return; L_089E3658: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -7852,7 +7853,7 @@ L_089E3658: L_089E3660: aot_gpr_31 = (0x089E3668u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E3668u) goto L_089E3668; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089101A4, 67u, 27u, 0x089101A4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E3668u) goto L_089E3668; AOT_REGCACHE_SYNC_OUT(); return; L_089E3668: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(72))); @@ -7869,7 +7870,7 @@ L_089E3668: L_089E3680: aot_gpr_31 = (0x089E3688u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E3688u) goto L_089E3688; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089101A4, 67u, 27u, 0x089101A4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E3688u) goto L_089E3688; AOT_REGCACHE_SYNC_OUT(); return; L_089E3688: ctx.gpr[17] = (ctx.gpr[2] | 0u); @@ -7960,7 +7961,7 @@ L_089E3714: L_089E372C: aot_gpr_31 = (0x089E3734u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E3734u) goto L_089E3734; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089101A4, 67u, 27u, 0x089101A4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E3734u) goto L_089E3734; AOT_REGCACHE_SYNC_OUT(); return; L_089E3734: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -7978,13 +7979,13 @@ L_089E3744: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(468), aot_gpr_4); aot_gpr_31 = (0x089E3764u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E3764u) goto L_089E3764; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890FF64, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E3764u) goto L_089E3764; AOT_REGCACHE_SYNC_OUT(); return; L_089E3764: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x089E3770u); aot_gpr_5 = (0u | 5u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E3770u) goto L_089E3770; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E3770u) goto L_089E3770; AOT_REGCACHE_SYNC_OUT(); return; L_089E3770: { const bool branch_taken = 0u == 0u; @@ -7997,7 +7998,7 @@ L_089E3770: L_089E3778: aot_gpr_31 = (0x089E3780u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E3780u) goto L_089E3780; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089101A4, 67u, 27u, 0x089101A4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E3780u) goto L_089E3780; AOT_REGCACHE_SYNC_OUT(); return; L_089E3780: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -8016,13 +8017,13 @@ L_089E3790: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(468), aot_gpr_4); aot_gpr_31 = (0x089E37B4u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E37B4u) goto L_089E37B4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890FF64, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E37B4u) goto L_089E37B4; AOT_REGCACHE_SYNC_OUT(); return; L_089E37B4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x089E37C0u); aot_gpr_5 = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E37C0u) goto L_089E37C0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E37C0u) goto L_089E37C0; AOT_REGCACHE_SYNC_OUT(); return; L_089E37C0: { const bool branch_taken = 0u == 0u; @@ -8072,7 +8073,7 @@ L_089E3800: L_089E3808: aot_gpr_31 = (0x089E3810u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E3810u) goto L_089E3810; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E3810u) goto L_089E3810; AOT_REGCACHE_SYNC_OUT(); return; L_089E3810: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -8108,7 +8109,7 @@ L_089E3828: L_089E3838: aot_gpr_31 = (0x089E3840u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E3840u) goto L_089E3840; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089101A4, 67u, 27u, 0x089101A4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E3840u) goto L_089E3840; AOT_REGCACHE_SYNC_OUT(); return; L_089E3840: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -8128,7 +8129,7 @@ L_089E3850: L_089E3858: aot_gpr_31 = (0x089E3860u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E3860u) goto L_089E3860; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E3860u) goto L_089E3860; AOT_REGCACHE_SYNC_OUT(); return; L_089E3860: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -8155,7 +8156,7 @@ L_089E3870: L_089E387C: aot_gpr_31 = (0x089E3884u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E3884u) goto L_089E3884; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089101A4, 67u, 27u, 0x089101A4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E3884u) goto L_089E3884; AOT_REGCACHE_SYNC_OUT(); return; L_089E3884: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -8171,7 +8172,7 @@ L_089E3894: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(456), aot_gpr_4); aot_gpr_31 = (0x089E38ACu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E38ACu) goto L_089E38AC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890FF64, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E38ACu) goto L_089E38AC; AOT_REGCACHE_SYNC_OUT(); return; L_089E38AC: aot_gpr_4 = (17505u << 16u); @@ -8189,7 +8190,7 @@ L_089E38C4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x089E38D0u); aot_gpr_5 = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E38D0u) goto L_089E38D0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E38D0u) goto L_089E38D0; AOT_REGCACHE_SYNC_OUT(); return; L_089E38D0: { const bool branch_taken = 0u == 0u; @@ -8203,7 +8204,7 @@ L_089E38D8: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x089E38E4u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E38E4u) goto L_089E38E4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E38E4u) goto L_089E38E4; AOT_REGCACHE_SYNC_OUT(); return; L_089E38E4: { const bool branch_taken = 0u == 0u; @@ -8216,7 +8217,7 @@ L_089E38E4: L_089E38EC: aot_gpr_31 = (0x089E38F4u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E38F4u) goto L_089E38F4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089101A4, 67u, 27u, 0x089101A4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E38F4u) goto L_089E38F4; AOT_REGCACHE_SYNC_OUT(); return; L_089E38F4: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -8236,7 +8237,7 @@ L_089E3904: L_089E390C: aot_gpr_31 = (0x089E3914u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E3914u) goto L_089E3914; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089101A4, 67u, 27u, 0x089101A4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E3914u) goto L_089E3914; AOT_REGCACHE_SYNC_OUT(); return; L_089E3914: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -8252,7 +8253,7 @@ L_089E3924: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(456), aot_gpr_4); aot_gpr_31 = (0x089E393Cu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E393Cu) goto L_089E393C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890FF64, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E393Cu) goto L_089E393C; AOT_REGCACHE_SYNC_OUT(); return; L_089E393C: aot_gpr_4 = (17352u << 16u); @@ -8270,7 +8271,7 @@ L_089E3954: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x089E3960u); aot_gpr_5 = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E3960u) goto L_089E3960; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E3960u) goto L_089E3960; AOT_REGCACHE_SYNC_OUT(); return; L_089E3960: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(468))); @@ -8286,7 +8287,7 @@ L_089E3970: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x089E397Cu); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E397Cu) goto L_089E397C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E397Cu) goto L_089E397C; AOT_REGCACHE_SYNC_OUT(); return; L_089E397C: { const bool branch_taken = 0u == 0u; @@ -8299,7 +8300,7 @@ L_089E397C: L_089E3984: aot_gpr_31 = (0x089E398Cu); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E398Cu) goto L_089E398C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E398Cu) goto L_089E398C; AOT_REGCACHE_SYNC_OUT(); return; L_089E398C: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -8336,7 +8337,7 @@ L_089E39A4: L_089E39BC: aot_gpr_31 = (0x089E39C4u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E39C4u) goto L_089E39C4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089101A4, 67u, 27u, 0x089101A4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E39C4u) goto L_089E39C4; AOT_REGCACHE_SYNC_OUT(); return; L_089E39C4: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -8354,7 +8355,7 @@ L_089E39D4: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(468), aot_gpr_4); aot_gpr_31 = (0x089E39F4u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E39F4u) goto L_089E39F4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890FF64, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E39F4u) goto L_089E39F4; AOT_REGCACHE_SYNC_OUT(); return; L_089E39F4: { const bool branch_taken = 0u == 0u; @@ -8367,14 +8368,14 @@ L_089E39F4: L_089E39FC: aot_gpr_31 = (0x089E3A04u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E3A04u) goto L_089E3A04; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089101A4, 67u, 27u, 0x089101A4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E3A04u) goto L_089E3A04; AOT_REGCACHE_SYNC_OUT(); return; L_089E3A04: aot_gpr_4 = (ctx.gpr[2] + static_cast(48)); aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_31 = (0x089E3A14u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E3A14u) goto L_089E3A14; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089101A4, 67u, 27u, 0x089101A4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E3A14u) goto L_089E3A14; AOT_REGCACHE_SYNC_OUT(); return; L_089E3A14: aot_gpr_4 = (ctx.gpr[2] + static_cast(48)); @@ -8393,18 +8394,18 @@ L_089E3A34: aot_gpr_5 = (aot_gpr_5 | ctx.gpr[17]); aot_gpr_31 = (0x089E3A48u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(456), aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E3A48u) goto L_089E3A48; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890FF64, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E3A48u) goto L_089E3A48; AOT_REGCACHE_SYNC_OUT(); return; L_089E3A48: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x089E3A54u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E3A54u) goto L_089E3A54; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E3A54u) goto L_089E3A54; AOT_REGCACHE_SYNC_OUT(); return; L_089E3A54: aot_gpr_31 = (0x089E3A5Cu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E3A5Cu) goto L_089E3A5C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089101A4, 67u, 27u, 0x089101A4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E3A5Cu) goto L_089E3A5C; AOT_REGCACHE_SYNC_OUT(); return; L_089E3A5C: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -8849,7 +8850,7 @@ L_089E3DB8: L_089E3DD0: aot_gpr_31 = (0x089E3DD8u); ctx.gpr[17] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E3DD8u) goto L_089E3DD8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089101A4, 67u, 27u, 0x089101A4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E3DD8u) goto L_089E3DD8; AOT_REGCACHE_SYNC_OUT(); return; L_089E3DD8: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -8862,7 +8863,7 @@ L_089E3DD8: L_089E3DE0: aot_gpr_31 = (0x089E3DE8u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(692))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E3DE8u) goto L_089E3DE8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089101A4, 67u, 27u, 0x089101A4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E3DE8u) goto L_089E3DE8; AOT_REGCACHE_SYNC_OUT(); return; L_089E3DE8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(72))); @@ -8879,7 +8880,7 @@ L_089E3DE8: L_089E3E00: aot_gpr_31 = (0x089E3E08u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(692))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E3E08u) goto L_089E3E08; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089101A4, 67u, 27u, 0x089101A4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E3E08u) goto L_089E3E08; AOT_REGCACHE_SYNC_OUT(); return; L_089E3E08: aot_gpr_4 = (ctx.gpr[2] + static_cast(48)); @@ -8983,13 +8984,13 @@ L_089E3F1C: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(456), aot_gpr_4); aot_gpr_31 = (0x089E3F34u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E3F34u) goto L_089E3F34; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890FF64, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E3F34u) goto L_089E3F34; AOT_REGCACHE_SYNC_OUT(); return; L_089E3F34: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x089E3F40u); aot_gpr_5 = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E3F40u) goto L_089E3F40; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E3F40u) goto L_089E3F40; AOT_REGCACHE_SYNC_OUT(); return; L_089E3F40: { const bool branch_taken = 0u == 0u; @@ -9025,13 +9026,13 @@ L_089E3F70: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(456), aot_gpr_4); aot_gpr_31 = (0x089E3F88u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E3F88u) goto L_089E3F88; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890FF64, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E3F88u) goto L_089E3F88; AOT_REGCACHE_SYNC_OUT(); return; L_089E3F88: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x089E3F94u); aot_gpr_5 = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E3F94u) goto L_089E3F94; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E3F94u) goto L_089E3F94; AOT_REGCACHE_SYNC_OUT(); return; L_089E3F94: { const bool branch_taken = 0u == 0u; @@ -9044,7 +9045,7 @@ L_089E3F94: L_089E3F9C: aot_gpr_31 = (0x089E3FA4u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E3FA4u) goto L_089E3FA4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089101A4, 67u, 27u, 0x089101A4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E3FA4u) goto L_089E3FA4; AOT_REGCACHE_SYNC_OUT(); return; L_089E3FA4: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -9057,7 +9058,7 @@ L_089E3FA4: L_089E3FAC: aot_gpr_31 = (0x089E3FB4u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E3FB4u) goto L_089E3FB4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089101A4, 67u, 27u, 0x089101A4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E3FB4u) goto L_089E3FB4; AOT_REGCACHE_SYNC_OUT(); return; L_089E3FB4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(72))); @@ -9074,7 +9075,7 @@ L_089E3FB4: L_089E3FCC: aot_gpr_31 = (0x089E3FD4u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E3FD4u) goto L_089E3FD4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089101A4, 67u, 27u, 0x089101A4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E3FD4u) goto L_089E3FD4; AOT_REGCACHE_SYNC_OUT(); return; L_089E3FD4: ctx.gpr[17] = (ctx.gpr[2] | 0u); diff --git a/profiles/vcs/generated/generated_unit_0120.cpp b/profiles/vcs/generated/generated_unit_0120.cpp index 8b610ee..52e94a5 100644 --- a/profiles/vcs/generated/generated_unit_0120.cpp +++ b/profiles/vcs/generated/generated_unit_0120.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0120[4093] = { }; void recomp_unit_0120_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,31,16,6 fprs=12,13,20,14 gpr_occ=4266 fpr_occ=267 gpr_total=5928 fpr_total=349 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,31,6,16 fprs=12,13,20,14 gpr_occ=4373 fpr_occ=267 gpr_total=6093 fpr_total=349 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; - std::uint32_t aot_gpr_16 = ctx.gpr[16]; std::uint32_t aot_gpr_6 = ctx.gpr[6]; + std::uint32_t aot_gpr_16 = ctx.gpr[16]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_20 = ctx.fpr[20]; float aot_fpr_14 = ctx.fpr[14]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[31] = aot_gpr_31; ctx.gpr[16] = aot_gpr_16; ctx.gpr[6] = aot_gpr_6; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; ctx.fpr[14] = aot_fpr_14; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_6 = ctx.gpr[6]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_14 = ctx.fpr[14]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[31] = aot_gpr_31; ctx.gpr[6] = aot_gpr_6; ctx.gpr[16] = aot_gpr_16; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; ctx.fpr[14] = aot_fpr_14; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_16 = ctx.gpr[16]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_14 = ctx.fpr[14]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -1062,7 +1063,7 @@ L_089E401C: L_089E4028: aot_gpr_31 = (0x089E4030u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E4030u) goto L_089E4030; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089101A4, 67u, 27u, 0x089101A4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E4030u) goto L_089E4030; AOT_REGCACHE_SYNC_OUT(); return; L_089E4030: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -1078,13 +1079,13 @@ L_089E4040: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(456), aot_gpr_4); aot_gpr_31 = (0x089E4058u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E4058u) goto L_089E4058; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890FF64, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E4058u) goto L_089E4058; AOT_REGCACHE_SYNC_OUT(); return; L_089E4058: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x089E4064u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E4064u) goto L_089E4064; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E4064u) goto L_089E4064; AOT_REGCACHE_SYNC_OUT(); return; L_089E4064: { const bool branch_taken = 0u == 0u; @@ -1147,7 +1148,7 @@ L_089E40B4: L_089E40D4: aot_gpr_31 = (0x089E40DCu); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E40DCu) goto L_089E40DC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E40DCu) goto L_089E40DC; AOT_REGCACHE_SYNC_OUT(); return; L_089E40DC: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -1183,7 +1184,7 @@ L_089E40F4: L_089E4104: aot_gpr_31 = (0x089E410Cu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E410Cu) goto L_089E410C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089101A4, 67u, 27u, 0x089101A4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E410Cu) goto L_089E410C; AOT_REGCACHE_SYNC_OUT(); return; L_089E410C: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -1203,7 +1204,7 @@ L_089E411C: L_089E4124: aot_gpr_31 = (0x089E412Cu); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E412Cu) goto L_089E412C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E412Cu) goto L_089E412C; AOT_REGCACHE_SYNC_OUT(); return; L_089E412C: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -1248,7 +1249,7 @@ L_089E4158: L_089E4160: aot_gpr_31 = (0x089E4168u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E4168u) goto L_089E4168; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089101A4, 67u, 27u, 0x089101A4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E4168u) goto L_089E4168; AOT_REGCACHE_SYNC_OUT(); return; L_089E4168: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -1264,7 +1265,7 @@ L_089E4178: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(456), aot_gpr_4); aot_gpr_31 = (0x089E4190u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E4190u) goto L_089E4190; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890FF64, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E4190u) goto L_089E4190; AOT_REGCACHE_SYNC_OUT(); return; L_089E4190: { const bool branch_taken = 0u == 0u; @@ -1294,7 +1295,7 @@ L_089E41A0: L_089E41AC: aot_gpr_31 = (0x089E41B4u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E41B4u) goto L_089E41B4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089101A4, 67u, 27u, 0x089101A4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E41B4u) goto L_089E41B4; AOT_REGCACHE_SYNC_OUT(); return; L_089E41B4: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -1314,7 +1315,7 @@ L_089E41C4: L_089E41CC: aot_gpr_31 = (0x089E41D4u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E41D4u) goto L_089E41D4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089101A4, 67u, 27u, 0x089101A4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E41D4u) goto L_089E41D4; AOT_REGCACHE_SYNC_OUT(); return; L_089E41D4: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -1369,7 +1370,7 @@ L_089E420C: L_089E4218: aot_gpr_31 = (0x089E4220u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E4220u) goto L_089E4220; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E4220u) goto L_089E4220; AOT_REGCACHE_SYNC_OUT(); return; L_089E4220: { const bool branch_taken = ctx.gpr[2] != 0u; @@ -1486,7 +1487,7 @@ L_089E42B8: L_089E42C0: aot_gpr_31 = (0x089E42C8u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E42C8u) goto L_089E42C8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089101A4, 67u, 27u, 0x089101A4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E42C8u) goto L_089E42C8; AOT_REGCACHE_SYNC_OUT(); return; L_089E42C8: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -1499,7 +1500,7 @@ L_089E42C8: L_089E42D0: aot_gpr_31 = (0x089E42D8u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E42D8u) goto L_089E42D8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089101A4, 67u, 27u, 0x089101A4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E42D8u) goto L_089E42D8; AOT_REGCACHE_SYNC_OUT(); return; L_089E42D8: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -3561,7 +3562,7 @@ L_089E52D8: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x089E52E4u); aot_gpr_5 = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E52E4u) goto L_089E52E4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806AE0, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E52E4u) goto L_089E52E4; AOT_REGCACHE_SYNC_OUT(); return; L_089E52E4: aot_gpr_16 = (0u < ctx.gpr[2] ? 1u : 0u); @@ -3704,7 +3705,7 @@ L_089E54AC: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x089E54B8u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E54B8u) goto L_089E54B8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E54B8u) goto L_089E54B8; AOT_REGCACHE_SYNC_OUT(); return; L_089E54B8: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[0])); @@ -3823,7 +3824,7 @@ L_089E5650: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x089E565Cu); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E565Cu) goto L_089E565C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E565Cu) goto L_089E565C; AOT_REGCACHE_SYNC_OUT(); return; L_089E565C: aot_fpr_20 = std::bit_cast(std::bit_cast(ctx.fpr[0])); @@ -4011,7 +4012,7 @@ L_089E57D4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x089E57E0u); aot_gpr_5 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E57E0u) goto L_089E57E0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E57E0u) goto L_089E57E0; AOT_REGCACHE_SYNC_OUT(); return; L_089E57E0: ctx.gpr[2] = (ctx.gpr[18] | 0u); @@ -4051,7 +4052,7 @@ L_089E5844: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x089E5850u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E5850u) goto L_089E5850; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E5850u) goto L_089E5850; AOT_REGCACHE_SYNC_OUT(); return; L_089E5850: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[0])); @@ -4114,7 +4115,7 @@ L_089E58C0: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); aot_gpr_31 = (0x089E58D0u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E58D0u) goto L_089E58D0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E58D0u) goto L_089E58D0; AOT_REGCACHE_SYNC_OUT(); return; L_089E58D0: aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[0])); @@ -4157,7 +4158,7 @@ L_089E591C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); aot_gpr_31 = (0x089E592Cu); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E592Cu) goto L_089E592C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E592Cu) goto L_089E592C; AOT_REGCACHE_SYNC_OUT(); return; L_089E592C: aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[0])); @@ -4204,7 +4205,7 @@ L_089E597C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); aot_gpr_31 = (0x089E598Cu); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E598Cu) goto L_089E598C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806AE0, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E598Cu) goto L_089E598C; AOT_REGCACHE_SYNC_OUT(); return; L_089E598C: aot_gpr_4 = (ctx.gpr[2] < static_cast(1) ? 1u : 0u); @@ -4222,7 +4223,7 @@ L_089E59A4: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); aot_gpr_31 = (0x089E59B4u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E59B4u) goto L_089E59B4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806AE0, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E59B4u) goto L_089E59B4; AOT_REGCACHE_SYNC_OUT(); return; L_089E59B4: aot_gpr_4 = (0u < ctx.gpr[2] ? 1u : 0u); @@ -4326,7 +4327,7 @@ L_089E5A94: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x089E5AA0u); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E5AA0u) goto L_089E5AA0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E5AA0u) goto L_089E5AA0; AOT_REGCACHE_SYNC_OUT(); return; L_089E5AA0: ctx.gpr[2] = (ctx.gpr[18] | 0u); @@ -4419,7 +4420,7 @@ L_089E5B54: L_089E5B64: aot_gpr_31 = (0x089E5B6Cu); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E5B6Cu) goto L_089E5B6C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E5B6Cu) goto L_089E5B6C; AOT_REGCACHE_SYNC_OUT(); return; L_089E5B6C: ctx.gpr[17] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(9665)))))); @@ -4491,7 +4492,7 @@ L_089E5BE0: L_089E5BF0: aot_gpr_31 = (0x089E5BF8u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E5BF8u) goto L_089E5BF8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E5BF8u) goto L_089E5BF8; AOT_REGCACHE_SYNC_OUT(); return; L_089E5BF8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5892))); @@ -8864,7 +8865,7 @@ L_089E7DC8: L_089E7DD0: aot_gpr_31 = (0x089E7DD8u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E7DD8u) goto L_089E7DD8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E7DD8u) goto L_089E7DD8; AOT_REGCACHE_SYNC_OUT(); return; L_089E7DD8: aot_gpr_4 = (aot_gpr_16 & 1u); @@ -8880,7 +8881,7 @@ L_089E7DDC: L_089E7DE4: aot_gpr_31 = (0x089E7DECu); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E7DECu) goto L_089E7DEC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E7DECu) goto L_089E7DEC; AOT_REGCACHE_SYNC_OUT(); return; L_089E7DEC: { std::uint32_t aot_run_words[3]{}; @@ -8910,7 +8911,7 @@ L_089E7E00: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x089E7E38u); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E7E38u) goto L_089E7E38; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E7E38u) goto L_089E7E38; AOT_REGCACHE_SYNC_OUT(); return; L_089E7E38: aot_fpr_12 = std::bit_cast(0u); @@ -8947,7 +8948,7 @@ L_089E7E64: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_31); aot_gpr_31 = (0x089E7EBCu); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E7EBCu) goto L_089E7EBC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E7EBCu) goto L_089E7EBC; AOT_REGCACHE_SYNC_OUT(); return; L_089E7EBC: { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[22])}; diff --git a/profiles/vcs/generated/generated_unit_0121.cpp b/profiles/vcs/generated/generated_unit_0121.cpp index 9a9a7f3..b33b7bf 100644 --- a/profiles/vcs/generated/generated_unit_0121.cpp +++ b/profiles/vcs/generated/generated_unit_0121.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0121[4090] = { }; void recomp_unit_0121_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,6,7,17 fprs=12,13,14,20 gpr_occ=3835 fpr_occ=762 gpr_total=5536 fpr_total=990 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,6,7,31,29 fprs=12,13,14,20 gpr_occ=4097 fpr_occ=762 gpr_total=6014 fpr_total=990 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; - std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_6 = ctx.gpr[6]; std::uint32_t aot_gpr_7 = ctx.gpr[7]; - std::uint32_t aot_gpr_17 = ctx.gpr[17]; + std::uint32_t aot_gpr_31 = ctx.gpr[31]; + std::uint32_t aot_gpr_29 = ctx.gpr[29]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_14 = ctx.fpr[14]; float aot_fpr_20 = ctx.fpr[20]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[6] = aot_gpr_6; ctx.gpr[7] = aot_gpr_7; ctx.gpr[17] = aot_gpr_17; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[20] = aot_fpr_20; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_7 = ctx.gpr[7]; aot_gpr_17 = ctx.gpr[17]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_20 = ctx.fpr[20]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[6] = aot_gpr_6; ctx.gpr[7] = aot_gpr_7; ctx.gpr[31] = aot_gpr_31; ctx.gpr[29] = aot_gpr_29; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[20] = aot_fpr_20; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_7 = ctx.gpr[7]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_29 = ctx.gpr[29]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_20 = ctx.fpr[20]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -824,7 +825,7 @@ LOCAL_DISPATCH: L_089E8000: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(9680))); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; - aot_gpr_17 = (ctx.gpr[16] | 0u); + ctx.gpr[17] = (ctx.gpr[16] | 0u); if (branch_taken) { goto L_089E802C; } @@ -840,7 +841,7 @@ L_089E800C: goto L_089E8018; } L_089E8018: - aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), ctx.gpr[17]); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(9676))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); goto L_089E8024; @@ -897,7 +898,7 @@ L_089E8080: aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_4 = (ctx.gpr[18] << 2u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_5); - ctx.gpr[31] = (0x089E8094u); + aot_gpr_31 = (0x089E8094u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_4); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 474u, 0x08ABE308u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E8094u) goto L_089E8094; AOT_REGCACHE_SYNC_OUT(); return; @@ -913,7 +914,7 @@ L_089E8094: } L_089E80A4: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_4); - ctx.gpr[31] = (0x089E80B0u); + aot_gpr_31 = (0x089E80B0u); aot_gpr_4 = (aot_gpr_6 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 289u, 0x08B65438u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E80B0u) goto L_089E80B0; AOT_REGCACHE_SYNC_OUT(); return; @@ -942,7 +943,7 @@ L_089E80CC: aot_gpr_5 = (aot_gpr_6 | 0u); ctx.gpr[20] = (aot_gpr_4 - aot_gpr_6); aot_gpr_4 = (ctx.gpr[19] | 0u); - ctx.gpr[31] = (0x089E80E0u); + aot_gpr_31 = (0x089E80E0u); aot_gpr_6 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 164u, 0x08AF54A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E80E0u) goto L_089E80E0; AOT_REGCACHE_SYNC_OUT(); return; @@ -955,12 +956,12 @@ L_089E80E8: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (aot_gpr_6 | 0u); if (aot_gpr_5 == 0u) { - aot_gpr_17 = (aot_gpr_4 | 0u); + ctx.gpr[17] = (aot_gpr_4 | 0u); goto L_089E8110; } goto L_089E80FC; L_089E80FC: - aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), ctx.gpr[17]); aot_gpr_5 = (aot_gpr_5 + static_cast(-1)); { const bool branch_taken = aot_gpr_5 != 0u; aot_gpr_4 = (aot_gpr_4 + static_cast(4)); @@ -970,7 +971,7 @@ L_089E80FC: goto L_089E810C; } L_089E810C: - aot_gpr_17 = (aot_gpr_4 | 0u); + ctx.gpr[17] = (aot_gpr_4 | 0u); goto L_089E8110; L_089E8110: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(9672))); @@ -982,15 +983,15 @@ L_089E8110: goto L_089E811C; } L_089E811C: - ctx.gpr[31] = (0x089E8124u); + aot_gpr_31 = (0x089E8124u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E8124u) goto L_089E8124; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E8124u) goto L_089E8124; AOT_REGCACHE_SYNC_OUT(); return; L_089E8124: aot_gpr_4 = (ctx.gpr[18] << 2u); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(9672), ctx.gpr[19]); aot_gpr_4 = (ctx.gpr[19] + aot_gpr_4); - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(9676), aot_gpr_17); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(9676), ctx.gpr[17]); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(9680), aot_gpr_4); goto L_089E8138; L_089E8138: @@ -998,13 +999,13 @@ L_089E8138: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(28), aot_run_words); ctx.gpr[16] = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; - ctx.gpr[31] = aot_run_words[5]; + aot_gpr_31 = aot_run_words[5]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(64)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -1014,10 +1015,10 @@ L_089E815C: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[16]); ctx.gpr[16] = (aot_gpr_4 | 0u); - { const std::uint32_t aot_run_words[3]{aot_gpr_17, ctx.gpr[18], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(12), aot_run_words); } { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_17 = (aot_gpr_5 | 0u); + ctx.gpr[17] = (aot_gpr_5 | 0u); if (branch_taken) { goto L_089E8244; } @@ -1031,7 +1032,7 @@ L_089E817C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(9672))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_gpr_5 = (ctx.gpr[18] | 0u); - ctx.gpr[31] = (0x089E81A0u); + aot_gpr_31 = (0x089E81A0u); aot_gpr_6 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0218_entry, 218u, 281u, 0x08B6D670u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E81A0u) goto L_089E81A0; AOT_REGCACHE_SYNC_OUT(); return; @@ -1099,7 +1100,7 @@ L_089E81FC: ctx.gpr[18] = (aot_gpr_6 - aot_gpr_7); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (aot_gpr_7 | 0u); - ctx.gpr[31] = (0x089E8214u); + aot_gpr_31 = (0x089E8214u); aot_gpr_6 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 164u, 0x08AF54A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E8214u) goto L_089E8214; AOT_REGCACHE_SYNC_OUT(); return; @@ -1115,12 +1116,12 @@ L_089E821C: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(5), static_cast(0u)); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(9676), aot_gpr_5); aot_gpr_4 = (ctx.gpr[16] | 0u); - ctx.gpr[31] = (0x089E8230u); + aot_gpr_31 = (0x089E8230u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0165_entry, 165u, 309u, 0x08A9A87Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E8230u) goto L_089E8230; AOT_REGCACHE_SYNC_OUT(); return; L_089E8230: - aot_gpr_4 = (aot_gpr_17 & 1u); + aot_gpr_4 = (ctx.gpr[17] & 1u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -1129,19 +1130,19 @@ L_089E8230: goto L_089E823C; } L_089E823C: - ctx.gpr[31] = (0x089E8244u); + aot_gpr_31 = (0x089E8244u); aot_gpr_4 = (ctx.gpr[16] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E8244u) goto L_089E8244; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E8244u) goto L_089E8244; AOT_REGCACHE_SYNC_OUT(); return; L_089E8244: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(8), aot_run_words); ctx.gpr[16] = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; - ctx.gpr[31] = aot_run_words[3]; + aot_gpr_31 = aot_run_words[3]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -1164,11 +1165,11 @@ L_089E825C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); ctx.gpr[16] = (aot_gpr_5 | 0u); aot_gpr_5 = (aot_gpr_6 << 8u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_4 | aot_gpr_5); - aot_gpr_17 = (aot_gpr_17 & 65535u); - aot_gpr_4 = (aot_gpr_17 & 1u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_4 | aot_gpr_5); + ctx.gpr[17] = (ctx.gpr[17] & 65535u); + aot_gpr_4 = (ctx.gpr[17] & 1u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -1178,12 +1179,12 @@ L_089E825C: } L_089E82B8: aot_gpr_5 = (ctx.gpr[19] + static_cast(12)); - ctx.gpr[31] = (0x089E82C4u); + aot_gpr_31 = (0x089E82C4u); aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 80u, 0x08964E08u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E82C4u) goto L_089E82C4; AOT_REGCACHE_SYNC_OUT(); return; L_089E82C4: - aot_gpr_4 = (aot_gpr_17 & 2u); + aot_gpr_4 = (ctx.gpr[17] & 2u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -1220,7 +1221,7 @@ L_089E82D0: aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(20), std::bit_cast(aot_fpr_12)); goto L_089E8338; L_089E8338: - aot_gpr_4 = (aot_gpr_17 & 4u); + aot_gpr_4 = (ctx.gpr[17] & 4u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -1257,7 +1258,7 @@ L_089E8344: aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(24), std::bit_cast(aot_fpr_12)); goto L_089E83AC; L_089E83AC: - aot_gpr_4 = (aot_gpr_17 & 8u); + aot_gpr_4 = (ctx.gpr[17] & 8u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -1267,12 +1268,12 @@ L_089E83AC: } L_089E83B8: aot_gpr_5 = (ctx.gpr[19] + static_cast(8)); - ctx.gpr[31] = (0x089E83C4u); + aot_gpr_31 = (0x089E83C4u); aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 85u, 0x08964F68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E83C4u) goto L_089E83C4; AOT_REGCACHE_SYNC_OUT(); return; L_089E83C4: - aot_gpr_4 = (aot_gpr_17 & 16u); + aot_gpr_4 = (ctx.gpr[17] & 16u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -1312,12 +1313,12 @@ L_089E8438: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); ctx.gpr[16] = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; - ctx.gpr[31] = aot_run_words[4]; + aot_gpr_31 = aot_run_words[4]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -1326,14 +1327,14 @@ L_089E8438: L_089E8454: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[31]); - ctx.gpr[31] = (0x089E8468u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); + aot_gpr_31 = (0x089E8468u); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(32)))))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0165_entry, 165u, 338u, 0x08A9AC30u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E8468u) goto L_089E8468; AOT_REGCACHE_SYNC_OUT(); return; L_089E8468: - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -1342,10 +1343,10 @@ L_089E8468: L_089E8474: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(96))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_17); - aot_gpr_17 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[16]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_31); { const bool branch_taken = aot_gpr_6 != 0u; ctx.gpr[16] = (aot_gpr_5 | 0u); if (branch_taken) { @@ -1354,19 +1355,19 @@ L_089E8474: goto L_089E8494; } L_089E8494: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(10)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(10)))))); aot_gpr_6 = (aot_gpr_29 + static_cast(16)); - ctx.gpr[31] = (0x089E84A4u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_31 = (0x089E84A4u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E84A4u) goto L_089E84A4; AOT_REGCACHE_SYNC_OUT(); return; L_089E84A4: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(16))); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(96), ctx.gpr[2]); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(4), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(4), static_cast(aot_gpr_4)); goto L_089E84B0; L_089E84B0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(96))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(0))); aot_gpr_4 = (aot_gpr_4 + static_cast(8)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_5)); @@ -1379,10 +1380,10 @@ L_089E84B0: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(20), aot_run_words); ctx.gpr[16] = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; - ctx.gpr[31] = aot_run_words[2]; + ctx.gpr[17] = aot_run_words[1]; + aot_gpr_31 = aot_run_words[2]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -1392,7 +1393,7 @@ L_089E84EC: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(96))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[16]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_31); { const bool branch_taken = aot_gpr_5 != 0u; ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { @@ -1403,7 +1404,7 @@ L_089E84EC: L_089E8504: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(10)))))); aot_gpr_6 = (aot_gpr_29 + static_cast(16)); - ctx.gpr[31] = (0x089E8514u); + aot_gpr_31 = (0x089E8514u); aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E8514u) goto L_089E8514; AOT_REGCACHE_SYNC_OUT(); return; @@ -1416,8 +1417,8 @@ L_089E8520: ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(96))); ctx.gpr[2] = (ctx.gpr[2] + static_cast(8)); ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -1429,7 +1430,7 @@ L_089E8538: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), std::bit_cast(aot_fpr_20)); aot_fpr_20 = std::bit_cast(std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), ctx.gpr[16]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_31); { const bool branch_taken = aot_gpr_5 != 0u; ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { @@ -1440,7 +1441,7 @@ L_089E8538: L_089E8558: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(10)))))); aot_gpr_6 = (aot_gpr_29 + static_cast(16)); - ctx.gpr[31] = (0x089E8568u); + aot_gpr_31 = (0x089E8568u); aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E8568u) goto L_089E8568; AOT_REGCACHE_SYNC_OUT(); return; @@ -1456,9 +1457,9 @@ L_089E8574: aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(20), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); ctx.gpr[16] = aot_run_words[1]; - ctx.gpr[31] = aot_run_words[2]; + aot_gpr_31 = aot_run_words[2]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -1468,7 +1469,7 @@ L_089E8590: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(96))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[16]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_31); { const bool branch_taken = aot_gpr_5 != 0u; ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { @@ -1479,7 +1480,7 @@ L_089E8590: L_089E85A8: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(10)))))); aot_gpr_6 = (aot_gpr_29 + static_cast(16)); - ctx.gpr[31] = (0x089E85B8u); + aot_gpr_31 = (0x089E85B8u); aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E85B8u) goto L_089E85B8; AOT_REGCACHE_SYNC_OUT(); return; @@ -1492,8 +1493,8 @@ L_089E85C4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(96))); ctx.fpr[0] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(28))); ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -1750,7 +1751,7 @@ L_089E87B0: aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_5)); goto L_089E87BC; L_089E87BC: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; // nop local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -1758,7 +1759,7 @@ L_089E87BC: AOT_REGCACHE_SYNC_OUT(); return; L_089E87C4: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[3]{ctx.gpr[16], aot_gpr_17, ctx.gpr[31]}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[16], ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_7); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(16))); @@ -1786,7 +1787,7 @@ L_089E87C4: aot_mem.aot_direct_store8(ctx.gpr[8] + static_cast(0), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(16))); aot_gpr_7 = (aot_gpr_4 & 1u); - aot_gpr_17 = (aot_gpr_5 | 0u); + ctx.gpr[17] = (aot_gpr_5 | 0u); ctx.gpr[16] = (aot_gpr_6 | 0u); { const bool branch_taken = aot_gpr_7 == 0u; // nop @@ -1797,8 +1798,8 @@ L_089E87C4: } L_089E884C: aot_gpr_5 = (ctx.gpr[16] + static_cast(12)); - ctx.gpr[31] = (0x089E8858u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_31 = (0x089E8858u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 74u, 0x08964A14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E8858u) goto L_089E8858; AOT_REGCACHE_SYNC_OUT(); return; L_089E8858: @@ -1819,48 +1820,48 @@ L_089E8868: aot_gpr_5 = (aot_gpr_4 & 65535u); aot_gpr_5 = (aot_gpr_5 & 65535u); aot_gpr_6 = (aot_gpr_5 & 255u); - aot_gpr_7 = (aot_mem.aot_direct_load_word_right(aot_gpr_17 + static_cast(0), aot_gpr_7)); - aot_gpr_7 = (aot_mem.aot_direct_load_word_left(aot_gpr_17 + static_cast(3), aot_gpr_7)); + aot_gpr_7 = (aot_mem.aot_direct_load_word_right(ctx.gpr[17] + static_cast(0), aot_gpr_7)); + aot_gpr_7 = (aot_mem.aot_direct_load_word_left(ctx.gpr[17] + static_cast(3), aot_gpr_7)); aot_gpr_7 = (aot_gpr_7 & 65535u); - ctx.gpr[8] = (aot_gpr_17 + aot_gpr_7); + ctx.gpr[8] = (ctx.gpr[17] + aot_gpr_7); aot_gpr_7 = (aot_gpr_7 + static_cast(1)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(0), static_cast(aot_gpr_7)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(0), static_cast(aot_gpr_7)); ctx.gpr[1] = (static_cast(static_cast(aot_gpr_7) >> 8u)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(1), static_cast(ctx.gpr[1])); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(1), static_cast(ctx.gpr[1])); aot_mem.aot_direct_store8(ctx.gpr[8] + static_cast(0), static_cast(aot_gpr_6)); aot_gpr_5 = (static_cast(static_cast(aot_gpr_5) >> 8u)); aot_gpr_5 = (aot_gpr_5 & 255u); - aot_gpr_6 = (aot_mem.aot_direct_load_word_right(aot_gpr_17 + static_cast(0), aot_gpr_6)); - aot_gpr_6 = (aot_mem.aot_direct_load_word_left(aot_gpr_17 + static_cast(3), aot_gpr_6)); + aot_gpr_6 = (aot_mem.aot_direct_load_word_right(ctx.gpr[17] + static_cast(0), aot_gpr_6)); + aot_gpr_6 = (aot_mem.aot_direct_load_word_left(ctx.gpr[17] + static_cast(3), aot_gpr_6)); aot_gpr_6 = (aot_gpr_6 & 65535u); - aot_gpr_7 = (aot_gpr_17 + aot_gpr_6); + aot_gpr_7 = (ctx.gpr[17] + aot_gpr_6); aot_gpr_6 = (aot_gpr_6 + static_cast(1)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(0), static_cast(aot_gpr_6)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(0), static_cast(aot_gpr_6)); ctx.gpr[1] = (static_cast(static_cast(aot_gpr_6) >> 8u)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(1), static_cast(ctx.gpr[1])); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(1), static_cast(ctx.gpr[1])); aot_mem.aot_direct_store8(aot_gpr_7 + static_cast(0), static_cast(aot_gpr_5)); aot_gpr_4 = (aot_gpr_4 >> 16u); aot_gpr_4 = (aot_gpr_4 & 65535u); aot_gpr_5 = (aot_gpr_4 & 255u); - aot_gpr_6 = (aot_mem.aot_direct_load_word_right(aot_gpr_17 + static_cast(0), aot_gpr_6)); - aot_gpr_6 = (aot_mem.aot_direct_load_word_left(aot_gpr_17 + static_cast(3), aot_gpr_6)); + aot_gpr_6 = (aot_mem.aot_direct_load_word_right(ctx.gpr[17] + static_cast(0), aot_gpr_6)); + aot_gpr_6 = (aot_mem.aot_direct_load_word_left(ctx.gpr[17] + static_cast(3), aot_gpr_6)); aot_gpr_6 = (aot_gpr_6 & 65535u); - aot_gpr_7 = (aot_gpr_17 + aot_gpr_6); + aot_gpr_7 = (ctx.gpr[17] + aot_gpr_6); aot_gpr_6 = (aot_gpr_6 + static_cast(1)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(0), static_cast(aot_gpr_6)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(0), static_cast(aot_gpr_6)); ctx.gpr[1] = (static_cast(static_cast(aot_gpr_6) >> 8u)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(1), static_cast(ctx.gpr[1])); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(1), static_cast(ctx.gpr[1])); aot_mem.aot_direct_store8(aot_gpr_7 + static_cast(0), static_cast(aot_gpr_5)); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 8u)); aot_gpr_4 = (aot_gpr_4 & 255u); - aot_gpr_5 = (aot_mem.aot_direct_load_word_right(aot_gpr_17 + static_cast(0), aot_gpr_5)); - aot_gpr_5 = (aot_mem.aot_direct_load_word_left(aot_gpr_17 + static_cast(3), aot_gpr_5)); + aot_gpr_5 = (aot_mem.aot_direct_load_word_right(ctx.gpr[17] + static_cast(0), aot_gpr_5)); + aot_gpr_5 = (aot_mem.aot_direct_load_word_left(ctx.gpr[17] + static_cast(3), aot_gpr_5)); aot_gpr_5 = (aot_gpr_5 & 65535u); - aot_gpr_6 = (aot_gpr_17 + aot_gpr_5); + aot_gpr_6 = (ctx.gpr[17] + aot_gpr_5); aot_gpr_5 = (aot_gpr_5 + static_cast(1)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(0), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(0), static_cast(aot_gpr_5)); ctx.gpr[1] = (static_cast(static_cast(aot_gpr_5) >> 8u)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(1), static_cast(ctx.gpr[1])); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(1), static_cast(ctx.gpr[1])); aot_mem.aot_direct_store8(aot_gpr_6 + static_cast(0), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(16))); goto L_089E892C; @@ -1879,48 +1880,48 @@ L_089E8938: aot_gpr_5 = (aot_gpr_4 & 65535u); aot_gpr_5 = (aot_gpr_5 & 65535u); aot_gpr_6 = (aot_gpr_5 & 255u); - aot_gpr_7 = (aot_mem.aot_direct_load_word_right(aot_gpr_17 + static_cast(0), aot_gpr_7)); - aot_gpr_7 = (aot_mem.aot_direct_load_word_left(aot_gpr_17 + static_cast(3), aot_gpr_7)); + aot_gpr_7 = (aot_mem.aot_direct_load_word_right(ctx.gpr[17] + static_cast(0), aot_gpr_7)); + aot_gpr_7 = (aot_mem.aot_direct_load_word_left(ctx.gpr[17] + static_cast(3), aot_gpr_7)); aot_gpr_7 = (aot_gpr_7 & 65535u); - ctx.gpr[8] = (aot_gpr_17 + aot_gpr_7); + ctx.gpr[8] = (ctx.gpr[17] + aot_gpr_7); aot_gpr_7 = (aot_gpr_7 + static_cast(1)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(0), static_cast(aot_gpr_7)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(0), static_cast(aot_gpr_7)); ctx.gpr[1] = (static_cast(static_cast(aot_gpr_7) >> 8u)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(1), static_cast(ctx.gpr[1])); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(1), static_cast(ctx.gpr[1])); aot_mem.aot_direct_store8(ctx.gpr[8] + static_cast(0), static_cast(aot_gpr_6)); aot_gpr_5 = (static_cast(static_cast(aot_gpr_5) >> 8u)); aot_gpr_5 = (aot_gpr_5 & 255u); - aot_gpr_6 = (aot_mem.aot_direct_load_word_right(aot_gpr_17 + static_cast(0), aot_gpr_6)); - aot_gpr_6 = (aot_mem.aot_direct_load_word_left(aot_gpr_17 + static_cast(3), aot_gpr_6)); + aot_gpr_6 = (aot_mem.aot_direct_load_word_right(ctx.gpr[17] + static_cast(0), aot_gpr_6)); + aot_gpr_6 = (aot_mem.aot_direct_load_word_left(ctx.gpr[17] + static_cast(3), aot_gpr_6)); aot_gpr_6 = (aot_gpr_6 & 65535u); - aot_gpr_7 = (aot_gpr_17 + aot_gpr_6); + aot_gpr_7 = (ctx.gpr[17] + aot_gpr_6); aot_gpr_6 = (aot_gpr_6 + static_cast(1)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(0), static_cast(aot_gpr_6)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(0), static_cast(aot_gpr_6)); ctx.gpr[1] = (static_cast(static_cast(aot_gpr_6) >> 8u)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(1), static_cast(ctx.gpr[1])); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(1), static_cast(ctx.gpr[1])); aot_mem.aot_direct_store8(aot_gpr_7 + static_cast(0), static_cast(aot_gpr_5)); aot_gpr_4 = (aot_gpr_4 >> 16u); aot_gpr_4 = (aot_gpr_4 & 65535u); aot_gpr_5 = (aot_gpr_4 & 255u); - aot_gpr_6 = (aot_mem.aot_direct_load_word_right(aot_gpr_17 + static_cast(0), aot_gpr_6)); - aot_gpr_6 = (aot_mem.aot_direct_load_word_left(aot_gpr_17 + static_cast(3), aot_gpr_6)); + aot_gpr_6 = (aot_mem.aot_direct_load_word_right(ctx.gpr[17] + static_cast(0), aot_gpr_6)); + aot_gpr_6 = (aot_mem.aot_direct_load_word_left(ctx.gpr[17] + static_cast(3), aot_gpr_6)); aot_gpr_6 = (aot_gpr_6 & 65535u); - aot_gpr_7 = (aot_gpr_17 + aot_gpr_6); + aot_gpr_7 = (ctx.gpr[17] + aot_gpr_6); aot_gpr_6 = (aot_gpr_6 + static_cast(1)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(0), static_cast(aot_gpr_6)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(0), static_cast(aot_gpr_6)); ctx.gpr[1] = (static_cast(static_cast(aot_gpr_6) >> 8u)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(1), static_cast(ctx.gpr[1])); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(1), static_cast(ctx.gpr[1])); aot_mem.aot_direct_store8(aot_gpr_7 + static_cast(0), static_cast(aot_gpr_5)); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 8u)); aot_gpr_4 = (aot_gpr_4 & 255u); - aot_gpr_5 = (aot_mem.aot_direct_load_word_right(aot_gpr_17 + static_cast(0), aot_gpr_5)); - aot_gpr_5 = (aot_mem.aot_direct_load_word_left(aot_gpr_17 + static_cast(3), aot_gpr_5)); + aot_gpr_5 = (aot_mem.aot_direct_load_word_right(ctx.gpr[17] + static_cast(0), aot_gpr_5)); + aot_gpr_5 = (aot_mem.aot_direct_load_word_left(ctx.gpr[17] + static_cast(3), aot_gpr_5)); aot_gpr_5 = (aot_gpr_5 & 65535u); - aot_gpr_6 = (aot_gpr_17 + aot_gpr_5); + aot_gpr_6 = (ctx.gpr[17] + aot_gpr_5); aot_gpr_5 = (aot_gpr_5 + static_cast(1)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(0), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(0), static_cast(aot_gpr_5)); ctx.gpr[1] = (static_cast(static_cast(aot_gpr_5) >> 8u)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(1), static_cast(ctx.gpr[1])); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(1), static_cast(ctx.gpr[1])); aot_mem.aot_direct_store8(aot_gpr_6 + static_cast(0), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(16))); goto L_089E89FC; @@ -1935,8 +1936,8 @@ L_089E89FC: } L_089E8A08: aot_gpr_5 = (ctx.gpr[16] + static_cast(8)); - ctx.gpr[31] = (0x089E8A14u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_31 = (0x089E8A14u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 78u, 0x08964C24u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E8A14u) goto L_089E8A14; AOT_REGCACHE_SYNC_OUT(); return; L_089E8A14: @@ -1957,58 +1958,58 @@ L_089E8A24: aot_gpr_5 = (aot_gpr_4 & 65535u); aot_gpr_5 = (aot_gpr_5 & 65535u); aot_gpr_6 = (aot_gpr_5 & 255u); - aot_gpr_7 = (aot_mem.aot_direct_load_word_right(aot_gpr_17 + static_cast(0), aot_gpr_7)); - aot_gpr_7 = (aot_mem.aot_direct_load_word_left(aot_gpr_17 + static_cast(3), aot_gpr_7)); + aot_gpr_7 = (aot_mem.aot_direct_load_word_right(ctx.gpr[17] + static_cast(0), aot_gpr_7)); + aot_gpr_7 = (aot_mem.aot_direct_load_word_left(ctx.gpr[17] + static_cast(3), aot_gpr_7)); aot_gpr_7 = (aot_gpr_7 & 65535u); - ctx.gpr[8] = (aot_gpr_17 + aot_gpr_7); + ctx.gpr[8] = (ctx.gpr[17] + aot_gpr_7); aot_gpr_7 = (aot_gpr_7 + static_cast(1)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(0), static_cast(aot_gpr_7)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(0), static_cast(aot_gpr_7)); ctx.gpr[1] = (static_cast(static_cast(aot_gpr_7) >> 8u)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(1), static_cast(ctx.gpr[1])); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(1), static_cast(ctx.gpr[1])); aot_mem.aot_direct_store8(ctx.gpr[8] + static_cast(0), static_cast(aot_gpr_6)); aot_gpr_5 = (static_cast(static_cast(aot_gpr_5) >> 8u)); aot_gpr_5 = (aot_gpr_5 & 255u); - aot_gpr_6 = (aot_mem.aot_direct_load_word_right(aot_gpr_17 + static_cast(0), aot_gpr_6)); - aot_gpr_6 = (aot_mem.aot_direct_load_word_left(aot_gpr_17 + static_cast(3), aot_gpr_6)); + aot_gpr_6 = (aot_mem.aot_direct_load_word_right(ctx.gpr[17] + static_cast(0), aot_gpr_6)); + aot_gpr_6 = (aot_mem.aot_direct_load_word_left(ctx.gpr[17] + static_cast(3), aot_gpr_6)); aot_gpr_6 = (aot_gpr_6 & 65535u); - aot_gpr_7 = (aot_gpr_17 + aot_gpr_6); + aot_gpr_7 = (ctx.gpr[17] + aot_gpr_6); aot_gpr_6 = (aot_gpr_6 + static_cast(1)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(0), static_cast(aot_gpr_6)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(0), static_cast(aot_gpr_6)); ctx.gpr[1] = (static_cast(static_cast(aot_gpr_6) >> 8u)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(1), static_cast(ctx.gpr[1])); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(1), static_cast(ctx.gpr[1])); aot_mem.aot_direct_store8(aot_gpr_7 + static_cast(0), static_cast(aot_gpr_5)); aot_gpr_4 = (aot_gpr_4 >> 16u); aot_gpr_4 = (aot_gpr_4 & 65535u); aot_gpr_5 = (aot_gpr_4 & 255u); - aot_gpr_6 = (aot_mem.aot_direct_load_word_right(aot_gpr_17 + static_cast(0), aot_gpr_6)); - aot_gpr_6 = (aot_mem.aot_direct_load_word_left(aot_gpr_17 + static_cast(3), aot_gpr_6)); + aot_gpr_6 = (aot_mem.aot_direct_load_word_right(ctx.gpr[17] + static_cast(0), aot_gpr_6)); + aot_gpr_6 = (aot_mem.aot_direct_load_word_left(ctx.gpr[17] + static_cast(3), aot_gpr_6)); aot_gpr_6 = (aot_gpr_6 & 65535u); - aot_gpr_7 = (aot_gpr_17 + aot_gpr_6); + aot_gpr_7 = (ctx.gpr[17] + aot_gpr_6); aot_gpr_6 = (aot_gpr_6 + static_cast(1)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(0), static_cast(aot_gpr_6)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(0), static_cast(aot_gpr_6)); ctx.gpr[1] = (static_cast(static_cast(aot_gpr_6) >> 8u)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(1), static_cast(ctx.gpr[1])); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(1), static_cast(ctx.gpr[1])); aot_mem.aot_direct_store8(aot_gpr_7 + static_cast(0), static_cast(aot_gpr_5)); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 8u)); aot_gpr_4 = (aot_gpr_4 & 255u); - aot_gpr_5 = (aot_mem.aot_direct_load_word_right(aot_gpr_17 + static_cast(0), aot_gpr_5)); - aot_gpr_5 = (aot_mem.aot_direct_load_word_left(aot_gpr_17 + static_cast(3), aot_gpr_5)); + aot_gpr_5 = (aot_mem.aot_direct_load_word_right(ctx.gpr[17] + static_cast(0), aot_gpr_5)); + aot_gpr_5 = (aot_mem.aot_direct_load_word_left(ctx.gpr[17] + static_cast(3), aot_gpr_5)); aot_gpr_5 = (aot_gpr_5 & 65535u); - aot_gpr_6 = (aot_gpr_17 + aot_gpr_5); + aot_gpr_6 = (ctx.gpr[17] + aot_gpr_5); aot_gpr_5 = (aot_gpr_5 + static_cast(1)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(0), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(0), static_cast(aot_gpr_5)); ctx.gpr[1] = (static_cast(static_cast(aot_gpr_5) >> 8u)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(1), static_cast(ctx.gpr[1])); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(1), static_cast(ctx.gpr[1])); aot_mem.aot_direct_store8(aot_gpr_6 + static_cast(0), static_cast(aot_gpr_4)); goto L_089E8AE4; L_089E8AE4: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); ctx.gpr[16] = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; - ctx.gpr[31] = aot_run_words[2]; + ctx.gpr[17] = aot_run_words[1]; + aot_gpr_31 = aot_run_words[2]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -2016,7 +2017,7 @@ L_089E8AE4: AOT_REGCACHE_SYNC_OUT(); return; L_089E8AF8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(9672))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(9676))); aot_gpr_6 = (aot_gpr_5 ^ aot_gpr_4); @@ -2053,7 +2054,7 @@ L_089E8B30: aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(4))); jump_target = aot_gpr_6; - ctx.gpr[31] = (0x089E8B4Cu); + aot_gpr_31 = (0x089E8B4Cu); aot_gpr_5 = (0u | 3u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E8B4Cu) goto L_089E8B4C; @@ -2077,8 +2078,8 @@ L_089E8B68: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(0), static_cast(0u)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(1), static_cast(0u)); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(9676), aot_gpr_5); - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -2086,12 +2087,12 @@ L_089E8B68: AOT_REGCACHE_SYNC_OUT(); return; L_089E8B80: aot_gpr_29 = (aot_gpr_29 + static_cast(-80)); - { const std::uint32_t aot_run_words[9]{ctx.gpr[16], aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[9]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(32), aot_run_words); } ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(9672))); - aot_gpr_17 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(9676))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(9676))); aot_gpr_4 = (aot_gpr_29 + static_cast(8)); - ctx.gpr[31] = (0x089E8BBCu); + aot_gpr_31 = (0x089E8BBCu); aot_gpr_5 = (ctx.gpr[28] + static_cast(-10808)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0218_entry, 218u, 306u, 0x08B6D780u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E8BBCu) goto L_089E8BBC; AOT_REGCACHE_SYNC_OUT(); return; @@ -2099,7 +2100,7 @@ L_089E8BBC: ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[18]); - { const bool branch_taken = ctx.gpr[16] == aot_gpr_17; + { const bool branch_taken = ctx.gpr[16] == ctx.gpr[17]; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[19]); if (branch_taken) { goto L_089E8C20; @@ -2139,14 +2140,14 @@ L_089E8BF4: goto L_089E8C0C; L_089E8C0C: jump_target = aot_gpr_5; - ctx.gpr[31] = (0x089E8C14u); + aot_gpr_31 = (0x089E8C14u); // nop ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E8C14u) goto L_089E8C14; AOT_REGCACHE_SYNC_OUT(); return; L_089E8C14: ctx.gpr[16] = (ctx.gpr[16] + static_cast(4)); - if (ctx.gpr[16] != aot_gpr_17) { + if (ctx.gpr[16] != ctx.gpr[17]) { aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); goto L_089E8BE4; } @@ -2157,16 +2158,16 @@ L_089E8C20: { std::uint32_t aot_run_words[9]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(32), aot_run_words); ctx.gpr[16] = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; ctx.gpr[21] = aot_run_words[5]; ctx.gpr[22] = aot_run_words[6]; ctx.gpr[23] = aot_run_words[7]; - ctx.gpr[31] = aot_run_words[8]; + aot_gpr_31 = aot_run_words[8]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(80)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -2174,16 +2175,16 @@ L_089E8C20: AOT_REGCACHE_SYNC_OUT(); return; L_089E8C54: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); { const std::uint32_t aot_run_words[3]{0u, 0u, 0u}; aot_mem.aot_direct_store32_block(ctx.gpr[28] + static_cast(9672), aot_run_words); } - ctx.gpr[31] = (0x089E8C70u); + aot_gpr_31 = (0x089E8C70u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-10792)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E8C70u) goto L_089E8C70; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E8C70u) goto L_089E8C70; AOT_REGCACHE_SYNC_OUT(); return; L_089E8C70: - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -2191,10 +2192,10 @@ L_089E8C70: AOT_REGCACHE_SYNC_OUT(); return; L_089E8C7C: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); - { const std::uint32_t aot_run_words[3]{ctx.gpr[18], ctx.gpr[19], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(8), aot_run_words); } { const bool branch_taken = aot_gpr_5 != 0u; ctx.gpr[16] = (aot_gpr_5 | 0u); @@ -2204,24 +2205,24 @@ L_089E8C7C: goto L_089E8CA0; } L_089E8CA0: - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(4), 0u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), 0u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(8), 0u); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(4), 0u); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), 0u); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(8), 0u); { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_gpr_17 | 0u); + ctx.gpr[2] = (ctx.gpr[17] | 0u); if (branch_taken) { goto L_089E8CF0; } goto L_089E8CB4; } L_089E8CB4: - ctx.gpr[31] = (0x089E8CBCu); + aot_gpr_31 = (0x089E8CBCu); aot_gpr_4 = (ctx.gpr[16] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E8CBCu) goto L_089E8CBC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E8CBCu) goto L_089E8CBC; AOT_REGCACHE_SYNC_OUT(); return; L_089E8CBC: ctx.gpr[18] = (ctx.gpr[2] + static_cast(1)); - ctx.gpr[31] = (0x089E8CC8u); + aot_gpr_31 = (0x089E8CC8u); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 468u, 0x08ABE29Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E8CC8u) goto L_089E8CC8; AOT_REGCACHE_SYNC_OUT(); return; @@ -2229,27 +2230,27 @@ L_089E8CC8: ctx.gpr[19] = (ctx.gpr[2] | 0u); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (ctx.gpr[16] | 0u); - ctx.gpr[31] = (0x089E8CDCu); + aot_gpr_31 = (0x089E8CDCu); aot_gpr_6 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E8CDCu) goto L_089E8CDC; AOT_REGCACHE_SYNC_OUT(); return; L_089E8CDC: - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(4), ctx.gpr[18]); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), ctx.gpr[19]); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(4), ctx.gpr[18]); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), ctx.gpr[19]); aot_gpr_4 = (ctx.gpr[18] + static_cast(-1)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(8), aot_gpr_4); - ctx.gpr[2] = (aot_gpr_17 | 0u); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(8), aot_gpr_4); + ctx.gpr[2] = (ctx.gpr[17] | 0u); goto L_089E8CF0; L_089E8CF0: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); ctx.gpr[16] = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; - ctx.gpr[31] = aot_run_words[4]; + aot_gpr_31 = aot_run_words[4]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -2257,10 +2258,10 @@ L_089E8CF0: AOT_REGCACHE_SYNC_OUT(); return; L_089E8D0C: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); - { const std::uint32_t aot_run_words[3]{ctx.gpr[18], ctx.gpr[19], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(8), aot_run_words); } { const bool branch_taken = aot_gpr_5 != 0u; ctx.gpr[16] = (aot_gpr_5 | 0u); @@ -2270,7 +2271,7 @@ L_089E8D0C: goto L_089E8D30; } L_089E8D30: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -2279,15 +2280,15 @@ L_089E8D30: goto L_089E8D3C; } L_089E8D3C: - ctx.gpr[31] = (0x089E8D44u); + aot_gpr_31 = (0x089E8D44u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E8D44u) goto L_089E8D44; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2E4, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E8D44u) goto L_089E8D44; AOT_REGCACHE_SYNC_OUT(); return; L_089E8D44: - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), 0u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(4), 0u); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), 0u); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(4), 0u); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(8), 0u); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(8), 0u); if (branch_taken) { goto L_089E8DA4; } @@ -2295,13 +2296,13 @@ L_089E8D44: } L_089E8D54: ctx.gpr[19] = (ctx.gpr[16] | 0u); - ctx.gpr[31] = (0x089E8D60u); + aot_gpr_31 = (0x089E8D60u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E8D60u) goto L_089E8D60; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E8D60u) goto L_089E8D60; AOT_REGCACHE_SYNC_OUT(); return; L_089E8D60: ctx.gpr[18] = (ctx.gpr[2] + static_cast(1)); - ctx.gpr[31] = (0x089E8D6Cu); + aot_gpr_31 = (0x089E8D6Cu); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 468u, 0x08ABE29Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E8D6Cu) goto L_089E8D6C; AOT_REGCACHE_SYNC_OUT(); return; @@ -2309,12 +2310,12 @@ L_089E8D6C: ctx.gpr[16] = (ctx.gpr[2] | 0u); aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); - ctx.gpr[31] = (0x089E8D80u); + aot_gpr_31 = (0x089E8D80u); aot_gpr_6 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E8D80u) goto L_089E8D80; AOT_REGCACHE_SYNC_OUT(); return; L_089E8D80: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -2323,26 +2324,26 @@ L_089E8D80: goto L_089E8D8C; } L_089E8D8C: - ctx.gpr[31] = (0x089E8D94u); + aot_gpr_31 = (0x089E8D94u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E8D94u) goto L_089E8D94; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2E4, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E8D94u) goto L_089E8D94; AOT_REGCACHE_SYNC_OUT(); return; L_089E8D94: - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(4), ctx.gpr[18]); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), ctx.gpr[16]); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(4), ctx.gpr[18]); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), ctx.gpr[16]); aot_gpr_4 = (ctx.gpr[18] + static_cast(-1)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(8), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(8), aot_gpr_4); goto L_089E8DA4; L_089E8DA4: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); ctx.gpr[16] = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; - ctx.gpr[31] = aot_run_words[4]; + aot_gpr_31 = aot_run_words[4]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -2351,11 +2352,11 @@ L_089E8DA4: L_089E8DC0: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_5 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_5 | 0u); ctx.gpr[16] = (aot_gpr_4 | 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); - { const std::uint32_t aot_run_words[4]{ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[31]}; + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); + { const std::uint32_t aot_run_words[4]{ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(8), aot_run_words); } { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_5 = (0u | 1u); @@ -2365,7 +2366,7 @@ L_089E8DC0: goto L_089E8DF0; } L_089E8DF0: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); aot_gpr_5 = (aot_gpr_5 < static_cast(1) ? 1u : 0u); goto L_089E8DF8; L_089E8DF8: @@ -2377,8 +2378,8 @@ L_089E8DF8: goto L_089E8E00; } L_089E8E00: - aot_gpr_17 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_089E8E14; @@ -2386,9 +2387,9 @@ L_089E8E00: goto L_089E8E0C; } L_089E8E0C: - ctx.gpr[31] = (0x089E8E14u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E8E14u) goto L_089E8E14; + aot_gpr_31 = (0x089E8E14u); + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2E4, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E8E14u) goto L_089E8E14; AOT_REGCACHE_SYNC_OUT(); return; L_089E8E14: aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), 0u); @@ -2409,17 +2410,17 @@ L_089E8E24: goto L_089E8E2C; } L_089E8E2C: - ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); ctx.gpr[18] = (ctx.gpr[18] + static_cast(1)); goto L_089E8E34; L_089E8E34: ctx.gpr[20] = (ctx.gpr[18] | 0u); - ctx.gpr[31] = (0x089E8E40u); + aot_gpr_31 = (0x089E8E40u); aot_gpr_4 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 468u, 0x08ABE29Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E8E40u) goto L_089E8E40; AOT_REGCACHE_SYNC_OUT(); return; L_089E8E40: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); { const bool branch_taken = aot_gpr_4 == 0u; ctx.gpr[19] = (ctx.gpr[2] | 0u); if (branch_taken) { @@ -2429,25 +2430,25 @@ L_089E8E40: } L_089E8E4C: { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); if (branch_taken) { goto L_089E8E58; } goto L_089E8E54; } L_089E8E54: - aot_gpr_17 = (ctx.gpr[28] + static_cast(-10776)); + ctx.gpr[17] = (ctx.gpr[28] + static_cast(-10776)); goto L_089E8E58; L_089E8E58: aot_gpr_4 = (ctx.gpr[19] | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x089E8E68u); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_31 = (0x089E8E68u); aot_gpr_6 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E8E68u) goto L_089E8E68; AOT_REGCACHE_SYNC_OUT(); return; L_089E8E68: - aot_gpr_17 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_089E8E7C; @@ -2455,9 +2456,9 @@ L_089E8E68: goto L_089E8E74; } L_089E8E74: - ctx.gpr[31] = (0x089E8E7Cu); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E8E7Cu) goto L_089E8E7C; + aot_gpr_31 = (0x089E8E7Cu); + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2E4, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E8E7Cu) goto L_089E8E7C; AOT_REGCACHE_SYNC_OUT(); return; L_089E8E7C: aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(4), ctx.gpr[20]); @@ -2469,13 +2470,13 @@ L_089E8E8C: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); ctx.gpr[16] = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; - ctx.gpr[31] = aot_run_words[5]; + aot_gpr_31 = aot_run_words[5]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -2484,10 +2485,10 @@ L_089E8E8C: L_089E8EAC: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); { const bool branch_taken = aot_gpr_6 == 0u; ctx.gpr[16] = (aot_gpr_5 | 0u); if (branch_taken) { @@ -2505,7 +2506,7 @@ L_089E8ECC: goto L_089E8ED8; } L_089E8ED8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_4 = (2232u << 16u); if (branch_taken) { @@ -2516,7 +2517,7 @@ L_089E8ED8: L_089E8EE4: aot_gpr_6 = (ctx.gpr[28] + static_cast(-10772)); aot_gpr_5 = (0u | 267u); - ctx.gpr[31] = (0x089E8EF4u); + aot_gpr_31 = (0x089E8EF4u); aot_gpr_4 = (aot_gpr_4 + static_cast(-1976)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0212_entry, 212u, 924u, 0x08B576ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E8EF4u) goto L_089E8EF4; AOT_REGCACHE_SYNC_OUT(); return; @@ -2532,13 +2533,13 @@ L_089E8EF4: L_089E8F00: aot_gpr_6 = (ctx.gpr[28] + static_cast(-10764)); aot_gpr_5 = (0u | 268u); - ctx.gpr[31] = (0x089E8F10u); + aot_gpr_31 = (0x089E8F10u); aot_gpr_4 = (aot_gpr_4 + static_cast(-1976)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0212_entry, 212u, 924u, 0x08B576ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E8F10u) goto L_089E8F10; AOT_REGCACHE_SYNC_OUT(); return; L_089E8F10: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); - ctx.gpr[31] = (0x089E8F1Cu); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); + aot_gpr_31 = (0x089E8F1Cu); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 56u, 0x08B582CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E8F1Cu) goto L_089E8F1C; AOT_REGCACHE_SYNC_OUT(); return; @@ -2557,10 +2558,10 @@ L_089E8F28: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); ctx.gpr[16] = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; - ctx.gpr[31] = aot_run_words[2]; + ctx.gpr[17] = aot_run_words[1]; + aot_gpr_31 = aot_run_words[2]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -2634,7 +2635,7 @@ L_089E8F9C: ctx.gpr[2] = (0u + static_cast(-1)); goto L_089E8FA0; L_089E8FA0: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; // nop local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -2643,14 +2644,14 @@ L_089E8FA0: L_089E8FA8: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_5 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_5 | 0u); ctx.gpr[16] = (aot_gpr_4 | 0u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); ctx.gpr[18] = (0u | 0u); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0)))))); - { const std::uint32_t aot_run_words[4]{ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[4]{ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(12), aot_run_words); } goto L_089E8FDC; L_089E8FDC: @@ -2729,7 +2730,7 @@ L_089E9028: } L_089E903C: ctx.gpr[20] = (ctx.gpr[19] + ctx.gpr[19]); - ctx.gpr[31] = (0x089E9048u); + aot_gpr_31 = (0x089E9048u); aot_gpr_4 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 468u, 0x08ABE29Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E9048u) goto L_089E9048; AOT_REGCACHE_SYNC_OUT(); return; @@ -2763,7 +2764,7 @@ L_089E9068: goto L_089E9078; L_089E9078: aot_gpr_6 = (aot_gpr_4 | 0u); - ctx.gpr[31] = (0x089E9084u); + aot_gpr_31 = (0x089E9084u); aot_gpr_4 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E9084u) goto L_089E9084; AOT_REGCACHE_SYNC_OUT(); return; @@ -2780,8 +2781,8 @@ L_089E9088: goto L_089E9098; L_089E9098: aot_gpr_4 = (ctx.gpr[21] + aot_gpr_4); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x089E90A8u); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_31 = (0x089E90A8u); aot_gpr_6 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E90A8u) goto L_089E90A8; AOT_REGCACHE_SYNC_OUT(); return; @@ -2804,9 +2805,9 @@ L_089E90B4: goto L_089E90C0; } L_089E90C0: - ctx.gpr[31] = (0x089E90C8u); + aot_gpr_31 = (0x089E90C8u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E90C8u) goto L_089E90C8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2E4, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E90C8u) goto L_089E90C8; AOT_REGCACHE_SYNC_OUT(); return; L_089E90C8: aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), ctx.gpr[21]); @@ -2828,8 +2829,8 @@ L_089E90D4: goto L_089E90E8; L_089E90E8: aot_gpr_4 = (ctx.gpr[21] + aot_gpr_4); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x089E90F8u); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_31 = (0x089E90F8u); aot_gpr_6 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E90F8u) goto L_089E90F8; AOT_REGCACHE_SYNC_OUT(); return; @@ -2846,14 +2847,14 @@ L_089E910C: { std::uint32_t aot_run_words[7]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); ctx.gpr[16] = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; ctx.gpr[21] = aot_run_words[5]; - ctx.gpr[31] = aot_run_words[6]; + aot_gpr_31 = aot_run_words[6]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -2862,14 +2863,14 @@ L_089E910C: L_089E9130: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_5 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_5 | 0u); ctx.gpr[16] = (aot_gpr_4 | 0u); - { const std::uint32_t aot_run_words[5]{ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[5]{ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(8), aot_run_words); } - ctx.gpr[31] = (0x089E9160u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E9160u) goto L_089E9160; + aot_gpr_31 = (0x089E9160u); + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E9160u) goto L_089E9160; AOT_REGCACHE_SYNC_OUT(); return; L_089E9160: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); @@ -2894,7 +2895,7 @@ L_089E9174: } L_089E918C: ctx.gpr[19] = (ctx.gpr[18] + ctx.gpr[18]); - ctx.gpr[31] = (0x089E9198u); + aot_gpr_31 = (0x089E9198u); aot_gpr_4 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 468u, 0x08ABE29Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E9198u) goto L_089E9198; AOT_REGCACHE_SYNC_OUT(); return; @@ -2933,7 +2934,7 @@ L_089E91C4: goto L_089E91CC; L_089E91CC: aot_gpr_6 = (aot_gpr_4 | 0u); - ctx.gpr[31] = (0x089E91D8u); + aot_gpr_31 = (0x089E91D8u); aot_gpr_4 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E91D8u) goto L_089E91D8; AOT_REGCACHE_SYNC_OUT(); return; @@ -2950,15 +2951,15 @@ L_089E91DC: goto L_089E91EC; L_089E91EC: ctx.gpr[21] = (ctx.gpr[20] + aot_gpr_4); - ctx.gpr[31] = (0x089E91F8u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E91F8u) goto L_089E91F8; + aot_gpr_31 = (0x089E91F8u); + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E91F8u) goto L_089E91F8; AOT_REGCACHE_SYNC_OUT(); return; L_089E91F8: aot_gpr_6 = (ctx.gpr[2] + static_cast(1)); aot_gpr_4 = (ctx.gpr[21] | 0u); - ctx.gpr[31] = (0x089E9208u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_31 = (0x089E9208u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E9208u) goto L_089E9208; AOT_REGCACHE_SYNC_OUT(); return; L_089E9208: @@ -2980,9 +2981,9 @@ L_089E9214: goto L_089E9220; } L_089E9220: - ctx.gpr[31] = (0x089E9228u); + aot_gpr_31 = (0x089E9228u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E9228u) goto L_089E9228; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2E4, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E9228u) goto L_089E9228; AOT_REGCACHE_SYNC_OUT(); return; L_089E9228: aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), ctx.gpr[20]); @@ -3004,15 +3005,15 @@ L_089E9234: goto L_089E9248; L_089E9248: ctx.gpr[19] = (aot_gpr_4 + aot_gpr_5); - ctx.gpr[31] = (0x089E9254u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E9254u) goto L_089E9254; + aot_gpr_31 = (0x089E9254u); + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E9254u) goto L_089E9254; AOT_REGCACHE_SYNC_OUT(); return; L_089E9254: aot_gpr_6 = (ctx.gpr[2] + static_cast(1)); aot_gpr_4 = (ctx.gpr[19] | 0u); - ctx.gpr[31] = (0x089E9264u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_31 = (0x089E9264u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E9264u) goto L_089E9264; AOT_REGCACHE_SYNC_OUT(); return; L_089E9264: @@ -3021,14 +3022,14 @@ L_089E9264: { std::uint32_t aot_run_words[7]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); ctx.gpr[16] = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; ctx.gpr[21] = aot_run_words[5]; - ctx.gpr[31] = aot_run_words[6]; + aot_gpr_31 = aot_run_words[6]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -3038,7 +3039,7 @@ L_089E9290: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); { const std::uint32_t aot_run_words[7]{aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(20), aot_run_words); } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(48)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -3051,7 +3052,7 @@ L_089E92B8: aot_gpr_4 = (0u | 1u); ctx.gpr[16] = (ctx.gpr[28] + static_cast(7768)); aot_gpr_5 = (aot_gpr_5 + static_cast(-17072)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_31); aot_gpr_6 = (aot_gpr_5 | 0u); aot_fpr_13 = std::bit_cast(0u); ctx.gpr[8] = (0u | 0u); @@ -3101,7 +3102,7 @@ L_089E9300: L_089E9348: aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 1u); - ctx.gpr[31] = (0x089E9358u); + aot_gpr_31 = (0x089E9358u); aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 497u, 0x08A05F1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E9358u) goto L_089E9358; AOT_REGCACHE_SYNC_OUT(); return; @@ -3117,14 +3118,14 @@ L_089E9358: L_089E9364: aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_4 = (ctx.gpr[16] | 0u); - ctx.gpr[31] = (0x089E9374u); + aot_gpr_31 = (0x089E9374u); aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 501u, 0x08A05F5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E9374u) goto L_089E9374; AOT_REGCACHE_SYNC_OUT(); return; L_089E9374: ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -3138,7 +3139,7 @@ L_089E9384: aot_gpr_5 = (2236u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(-17072)); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; ctx.gpr[2] = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(53))); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -3152,7 +3153,7 @@ L_089E93A8: aot_gpr_5 = (2236u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(-17072)); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(53), static_cast(0u)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -3166,7 +3167,7 @@ L_089E93CC: aot_gpr_5 = (2236u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(-17072)); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; ctx.gpr[2] = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(55))); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -3180,7 +3181,7 @@ L_089E93F0: aot_gpr_5 = (2236u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(-17072)); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -3194,7 +3195,7 @@ L_089E9414: aot_gpr_4 = (2236u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-17072)); aot_gpr_4 = (aot_gpr_4 + static_cast(16)); - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; ctx.gpr[2] = (ctx.gpr[2] + aot_gpr_4); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -3316,7 +3317,7 @@ L_089E94E8: ctx.gpr[2] = (0u | 0u); goto L_089E94EC; L_089E94EC: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; // nop local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -3375,7 +3376,7 @@ L_089E955C: goto L_089E956C; } L_089E956C: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; // nop local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -3395,7 +3396,7 @@ L_089E9574: aot_fpr_14 = std::bit_cast(aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(4), std::bit_cast(aot_fpr_13)); - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(8), std::bit_cast(aot_fpr_14)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -3403,14 +3404,14 @@ L_089E9574: AOT_REGCACHE_SYNC_OUT(); return; L_089E95B0: aot_gpr_29 = (aot_gpr_29 + static_cast(-96)); - { const std::uint32_t aot_run_words[9]{ctx.gpr[16], aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[9]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(52), aot_run_words); } ctx.gpr[16] = (aot_gpr_5 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(96), aot_gpr_6); - aot_gpr_17 = (aot_gpr_4 | 0u); - aot_gpr_4 = (aot_gpr_17 + static_cast(3)); + ctx.gpr[17] = (aot_gpr_4 | 0u); + aot_gpr_4 = (ctx.gpr[17] + static_cast(3)); ctx.gpr[18] = (aot_gpr_29 + static_cast(16)); - ctx.gpr[31] = (0x089E95F4u); + aot_gpr_31 = (0x089E95F4u); aot_gpr_5 = (ctx.gpr[18] | 0u); goto L_089E9574; L_089E95F4: @@ -3432,7 +3433,7 @@ L_089E95F4: ctx.gpr[20] = (2237u << 16u); ctx.gpr[20] = (ctx.gpr[20] + static_cast(-28736)); aot_gpr_4 = (ctx.gpr[20] | 0u); - ctx.gpr[31] = (0x089E9618u); + aot_gpr_31 = (0x089E9618u); aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 12u, 0x08ADC0F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E9618u) goto L_089E9618; AOT_REGCACHE_SYNC_OUT(); return; @@ -3455,7 +3456,7 @@ L_089E9624: L_089E9630: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[21] + static_cast(10)))))); aot_gpr_6 = (aot_gpr_29 + static_cast(48)); - ctx.gpr[31] = (0x089E9640u); + aot_gpr_31 = (0x089E9640u); aot_gpr_4 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E9640u) goto L_089E9640; AOT_REGCACHE_SYNC_OUT(); return; @@ -3482,8 +3483,8 @@ L_089E9664: L_089E9668: ctx.gpr[21] = (0u | 0u); ctx.gpr[22] = (0u | 0u); - aot_gpr_4 = (aot_mem.aot_direct_load_word_right(aot_gpr_17 + static_cast(21), aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load_word_left(aot_gpr_17 + static_cast(24), aot_gpr_4)); + aot_gpr_4 = (aot_mem.aot_direct_load_word_right(ctx.gpr[17] + static_cast(21), aot_gpr_4)); + aot_gpr_4 = (aot_mem.aot_direct_load_word_left(ctx.gpr[17] + static_cast(24), aot_gpr_4)); aot_gpr_4 = (aot_gpr_4 << 16u); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 16u)); { const bool branch_taken = aot_gpr_4 == ctx.gpr[23]; @@ -3494,12 +3495,12 @@ L_089E9668: goto L_089E9688; } L_089E9688: - aot_gpr_6 = (aot_mem.aot_direct_load_word_right(aot_gpr_17 + static_cast(21), aot_gpr_6)); - aot_gpr_6 = (aot_mem.aot_direct_load_word_left(aot_gpr_17 + static_cast(24), aot_gpr_6)); + aot_gpr_6 = (aot_mem.aot_direct_load_word_right(ctx.gpr[17] + static_cast(21), aot_gpr_6)); + aot_gpr_6 = (aot_mem.aot_direct_load_word_left(ctx.gpr[17] + static_cast(24), aot_gpr_6)); aot_gpr_6 = (aot_gpr_6 << 16u); aot_gpr_6 = (static_cast(static_cast(aot_gpr_6) >> 16u)); aot_gpr_4 = (ctx.gpr[20] | 0u); - ctx.gpr[31] = (0x089E96A4u); + aot_gpr_31 = (0x089E96A4u); aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 192u, 0x08ADCA6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E96A4u) goto L_089E96A4; AOT_REGCACHE_SYNC_OUT(); return; @@ -3516,8 +3517,8 @@ L_089E96B0: ctx.gpr[21] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(112))); goto L_089E96B4; L_089E96B4: - aot_gpr_4 = (aot_mem.aot_direct_load_word_right(aot_gpr_17 + static_cast(23), aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load_word_left(aot_gpr_17 + static_cast(26), aot_gpr_4)); + aot_gpr_4 = (aot_mem.aot_direct_load_word_right(ctx.gpr[17] + static_cast(23), aot_gpr_4)); + aot_gpr_4 = (aot_mem.aot_direct_load_word_left(ctx.gpr[17] + static_cast(26), aot_gpr_4)); aot_gpr_4 = (aot_gpr_4 << 16u); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 16u)); { const bool branch_taken = aot_gpr_4 == ctx.gpr[23]; @@ -3528,12 +3529,12 @@ L_089E96B4: goto L_089E96CC; } L_089E96CC: - aot_gpr_6 = (aot_mem.aot_direct_load_word_right(aot_gpr_17 + static_cast(23), aot_gpr_6)); - aot_gpr_6 = (aot_mem.aot_direct_load_word_left(aot_gpr_17 + static_cast(26), aot_gpr_6)); + aot_gpr_6 = (aot_mem.aot_direct_load_word_right(ctx.gpr[17] + static_cast(23), aot_gpr_6)); + aot_gpr_6 = (aot_mem.aot_direct_load_word_left(ctx.gpr[17] + static_cast(26), aot_gpr_6)); aot_gpr_6 = (aot_gpr_6 << 16u); aot_gpr_6 = (static_cast(static_cast(aot_gpr_6) >> 16u)); aot_gpr_4 = (ctx.gpr[20] | 0u); - ctx.gpr[31] = (0x089E96E8u); + aot_gpr_31 = (0x089E96E8u); aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 192u, 0x08ADCA6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E96E8u) goto L_089E96E8; AOT_REGCACHE_SYNC_OUT(); return; @@ -3550,31 +3551,31 @@ L_089E96F4: ctx.gpr[22] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(112))); goto L_089E96F8; L_089E96F8: - aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(19))); - ctx.gpr[8] = (aot_mem.aot_direct_load_word_right(aot_gpr_17 + static_cast(15), ctx.gpr[8])); - ctx.gpr[8] = (aot_mem.aot_direct_load_word_left(aot_gpr_17 + static_cast(18), ctx.gpr[8])); - ctx.gpr[9] = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(20))); + aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(19))); + ctx.gpr[8] = (aot_mem.aot_direct_load_word_right(ctx.gpr[17] + static_cast(15), ctx.gpr[8])); + ctx.gpr[8] = (aot_mem.aot_direct_load_word_left(ctx.gpr[17] + static_cast(18), ctx.gpr[8])); + ctx.gpr[9] = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(20))); aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_5 = (ctx.gpr[22] | 0u); aot_gpr_7 = (ctx.gpr[18] | 0u); ctx.gpr[10] = (0u | 0u); - ctx.gpr[31] = (0x089E9720u); + aot_gpr_31 = (0x089E9720u); ctx.gpr[11] = (ctx.gpr[19] | 0u); goto L_089E974C; L_089E9720: { std::uint32_t aot_run_words[9]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(52), aot_run_words); ctx.gpr[16] = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; ctx.gpr[21] = aot_run_words[5]; ctx.gpr[22] = aot_run_words[6]; ctx.gpr[23] = aot_run_words[7]; - ctx.gpr[31] = aot_run_words[8]; + aot_gpr_31 = aot_run_words[8]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(96)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -3582,7 +3583,7 @@ L_089E9720: AOT_REGCACHE_SYNC_OUT(); return; L_089E974C: aot_gpr_29 = (aot_gpr_29 + static_cast(-720)); - { const std::uint32_t aot_run_words[16]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), ctx.gpr[16], aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[16]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(644), aot_run_words); } ctx.gpr[19] = (aot_gpr_4 | 0u); ctx.gpr[30] = (ctx.gpr[9] & 255u); @@ -3622,7 +3623,7 @@ L_089E97E8: aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(48), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(9684))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(50), static_cast(aot_gpr_4)); - aot_gpr_17 = (aot_gpr_29 + static_cast(48)); + ctx.gpr[17] = (aot_gpr_29 + static_cast(48)); aot_gpr_4 = (aot_gpr_29 + static_cast(51)); aot_gpr_5 = (aot_gpr_4 + static_cast(4)); aot_gpr_6 = (aot_gpr_4 + static_cast(8)); @@ -3689,7 +3690,7 @@ L_089E98A4: aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); jump_target = aot_gpr_5; - ctx.gpr[31] = (0x089E98C0u); + aot_gpr_31 = (0x089E98C0u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E98C0u) goto L_089E98C0; @@ -3823,8 +3824,8 @@ L_089E99A4: goto L_089E99B4; L_089E99B4: aot_gpr_4 = (ctx.gpr[16] | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x089E99C4u); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_31 = (0x089E99C4u); aot_gpr_6 = (0u + static_cast(-1)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 189u, 0x08ADCA34u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E99C4u) goto L_089E99C4; AOT_REGCACHE_SYNC_OUT(); return; @@ -3841,7 +3842,7 @@ L_089E99C4: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(29), static_cast(aot_gpr_4)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(30), static_cast(aot_gpr_4)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(31), static_cast(aot_gpr_5)); - ctx.gpr[31] = (0x089E99FCu); + aot_gpr_31 = (0x089E99FCu); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E99FCu) goto L_089E99FC; AOT_REGCACHE_SYNC_OUT(); return; @@ -3905,7 +3906,7 @@ L_089E9A48: ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); ctx.fpr[16] = std::bit_cast(std::bit_cast(ctx.fpr[24])); - ctx.gpr[31] = (0x089E9AA4u); + aot_gpr_31 = (0x089E9AA4u); ctx.gpr[11] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0164_entry, 164u, 328u, 0x08A961ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E9AA4u) goto L_089E9AA4; AOT_REGCACHE_SYNC_OUT(); return; @@ -3959,9 +3960,9 @@ L_089E9AD8: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_17 = (ctx.gpr[20] + static_cast(16)); + ctx.gpr[17] = (ctx.gpr[20] + static_cast(16)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (16256u << 16u); @@ -4001,9 +4002,9 @@ L_089E9B14: goto L_089E9B1C; } L_089E9B1C: - ctx.gpr[31] = (0x089E9B24u); + aot_gpr_31 = (0x089E9B24u); aot_gpr_4 = (ctx.gpr[22] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E9B24u) goto L_089E9B24; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E9B24u) goto L_089E9B24; AOT_REGCACHE_SYNC_OUT(); return; L_089E9B24: aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(44), ctx.gpr[19]); @@ -4023,9 +4024,9 @@ L_089E9B30: goto L_089E9B38; } L_089E9B38: - ctx.gpr[31] = (0x089E9B40u); + aot_gpr_31 = (0x089E9B40u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E9B40u) goto L_089E9B40; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E9B40u) goto L_089E9B40; AOT_REGCACHE_SYNC_OUT(); return; L_089E9B40: aot_mem.aot_direct_store8(ctx.gpr[20] + static_cast(52), static_cast(ctx.gpr[16])); @@ -4124,7 +4125,7 @@ L_089E9BD8: aot_gpr_4 = (16448u << 16u); ctx.fpr[15] = std::bit_cast(aot_gpr_4); aot_fpr_14 = aot_fpr_14 + ctx.fpr[15]; - ctx.gpr[31] = (0x089E9C0Cu); + aot_gpr_31 = (0x089E9C0Cu); aot_gpr_4 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 519u, 0x08893460u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E9C0Cu) goto L_089E9C0C; AOT_REGCACHE_SYNC_OUT(); return; @@ -4145,7 +4146,7 @@ L_089E9C0C: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (0u | 13u); - ctx.gpr[31] = (0x089E9C28u); + aot_gpr_31 = (0x089E9C28u); aot_gpr_6 = (0u | 250u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0094_entry, 94u, 981u, 0x0897FF40u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E9C28u) goto L_089E9C28; AOT_REGCACHE_SYNC_OUT(); return; @@ -4160,7 +4161,7 @@ L_089E9C28: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -4200,17 +4201,17 @@ L_089E9C28: goto L_089E9C6C; } L_089E9C6C: - ctx.gpr[31] = (0x089E9C74u); + aot_gpr_31 = (0x089E9C74u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E9C74u) goto L_089E9C74; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E9C74u) goto L_089E9C74; AOT_REGCACHE_SYNC_OUT(); return; L_089E9C74: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_7 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-10724))); - ctx.gpr[31] = (0x089E9C88u); + aot_gpr_31 = (0x089E9C88u); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-10728))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E9C88u) goto L_089E9C88; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E9C88u) goto L_089E9C88; AOT_REGCACHE_SYNC_OUT(); return; L_089E9C88: ctx.gpr[1] = (ctx.gpr[3] << 1u); @@ -4246,12 +4247,12 @@ L_089E9C88: aot_fpr_12 = std::bit_cast(aot_gpr_4); ctx.gpr[8] = (aot_gpr_29 + static_cast(144)); aot_gpr_4 = (0u | 43u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_7 = (0u | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[11] = (0u | 0u); - ctx.gpr[31] = (0x089E9D2Cu); + aot_gpr_31 = (0x089E9D2Cu); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0063_entry, 63u, 90u, 0x0890043Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E9D2Cu) goto L_089E9D2C; AOT_REGCACHE_SYNC_OUT(); return; @@ -4310,7 +4311,7 @@ L_089E9D6C: aot_gpr_4 = (16384u << 16u); ctx.fpr[15] = std::bit_cast(aot_gpr_4); aot_fpr_14 = aot_fpr_14 + ctx.fpr[15]; - ctx.gpr[31] = (0x089E9D9Cu); + aot_gpr_31 = (0x089E9D9Cu); aot_gpr_4 = (aot_gpr_29 + static_cast(16)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 519u, 0x08893460u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E9D9Cu) goto L_089E9D9C; AOT_REGCACHE_SYNC_OUT(); return; @@ -4334,7 +4335,7 @@ L_089E9DB0: aot_fpr_13 = std::bit_cast(aot_run_words[1]); aot_fpr_14 = std::bit_cast(aot_run_words[2]); } - ctx.gpr[31] = (0x089E9DC4u); + aot_gpr_31 = (0x089E9DC4u); aot_gpr_4 = (aot_gpr_29 + static_cast(20)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0189_entry, 189u, 138u, 0x08AF8918u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E9DC4u) goto L_089E9DC4; AOT_REGCACHE_SYNC_OUT(); return; @@ -4410,7 +4411,7 @@ L_089E9E18: aot_gpr_6 = (aot_gpr_6 | 13107u); aot_fpr_12 = std::bit_cast(aot_gpr_6); aot_gpr_6 = (0u | 0u); - ctx.gpr[31] = (0x089E9E44u); + aot_gpr_31 = (0x089E9E44u); aot_gpr_7 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0114_entry, 114u, 710u, 0x089CFED4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E9E44u) goto L_089E9E44; AOT_REGCACHE_SYNC_OUT(); return; @@ -4463,7 +4464,7 @@ L_089E9E88: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (0u | 13u); - ctx.gpr[31] = (0x089E9EA8u); + aot_gpr_31 = (0x089E9EA8u); aot_gpr_6 = (0u | 250u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0094_entry, 94u, 981u, 0x0897FF40u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E9EA8u) goto L_089E9EA8; AOT_REGCACHE_SYNC_OUT(); return; @@ -4478,7 +4479,7 @@ L_089E9EA8: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -4525,12 +4526,12 @@ L_089E9EEC: aot_fpr_12 = std::bit_cast(aot_gpr_4); ctx.gpr[8] = (aot_gpr_29 + static_cast(28)); aot_gpr_4 = (0u | 43u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_7 = (0u | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[11] = (0u | 0u); - ctx.gpr[31] = (0x089E9F28u); + aot_gpr_31 = (0x089E9F28u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0063_entry, 63u, 90u, 0x0890043Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089E9F28u) goto L_089E9F28; AOT_REGCACHE_SYNC_OUT(); return; @@ -4643,7 +4644,7 @@ L_089E9FF8: aot_gpr_4 = (0u | 13u); aot_gpr_5 = (0u | 2u); aot_gpr_7 = (ctx.gpr[22] | 0u); - ctx.gpr[31] = (0x089EA010u); + aot_gpr_31 = (0x089EA010u); ctx.gpr[8] = (0u | 1000u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0095_entry, 95u, 24u, 0x0898019Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EA010u) goto L_089EA010; AOT_REGCACHE_SYNC_OUT(); return; @@ -4660,7 +4661,7 @@ L_089EA018: aot_gpr_4 = (0u | 13u); aot_gpr_5 = (0u | 2u); aot_gpr_7 = (0u | 0u); - ctx.gpr[31] = (0x089EA030u); + aot_gpr_31 = (0x089EA030u); ctx.gpr[8] = (0u | 1000u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0095_entry, 95u, 24u, 0x0898019Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EA030u) goto L_089EA030; AOT_REGCACHE_SYNC_OUT(); return; @@ -4688,7 +4689,7 @@ L_089EA038: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (0u | 13u); - ctx.gpr[31] = (0x089EA050u); + aot_gpr_31 = (0x089EA050u); aot_gpr_6 = (0u | 1000u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0094_entry, 94u, 981u, 0x0897FF40u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EA050u) goto L_089EA050; AOT_REGCACHE_SYNC_OUT(); return; @@ -4711,9 +4712,9 @@ L_089EA05C: goto L_089EA068; } L_089EA068: - ctx.gpr[31] = (0x089EA070u); + aot_gpr_31 = (0x089EA070u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EA070u) goto L_089EA070; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EA070u) goto L_089EA070; AOT_REGCACHE_SYNC_OUT(); return; L_089EA070: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -4723,7 +4724,7 @@ L_089EA070: aot_gpr_6 = (static_cast(aot_gpr_5) < static_cast(aot_gpr_4) ? 1u : 0u); ctx.gpr[18] = (aot_gpr_29 + static_cast(256)); { const bool branch_taken = aot_gpr_6 == 0u; - aot_gpr_17 = (aot_gpr_29 + static_cast(272)); + ctx.gpr[17] = (aot_gpr_29 + static_cast(272)); if (branch_taken) { goto L_089EA0A0; } @@ -4774,7 +4775,7 @@ L_089EA0DC: aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); aot_gpr_5 = (0u | 3u); jump_target = aot_gpr_7; - ctx.gpr[31] = (0x089EA0FCu); + aot_gpr_31 = (0x089EA0FCu); aot_gpr_6 = (ctx.gpr[18] | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EA0FCu) goto L_089EA0FC; @@ -4794,7 +4795,7 @@ L_089EA104: aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); jump_target = aot_gpr_6; - ctx.gpr[31] = (0x089EA120u); + aot_gpr_31 = (0x089EA120u); aot_gpr_5 = (0u | 13u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EA120u) goto L_089EA120; @@ -4814,7 +4815,7 @@ L_089EA128: aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); jump_target = aot_gpr_6; - ctx.gpr[31] = (0x089EA144u); + aot_gpr_31 = (0x089EA144u); aot_gpr_5 = (0u | 7u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EA144u) goto L_089EA144; @@ -4835,7 +4836,7 @@ L_089EA14C: aot_gpr_4 = (ctx.gpr[16] + aot_gpr_5); aot_gpr_5 = (0u | 13u); jump_target = aot_gpr_7; - ctx.gpr[31] = (0x089EA16Cu); + aot_gpr_31 = (0x089EA16Cu); aot_gpr_6 = (ctx.gpr[18] | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EA16Cu) goto L_089EA16C; @@ -4848,8 +4849,8 @@ L_089EA16C: aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); aot_gpr_5 = (0u | 7u); jump_target = aot_gpr_7; - ctx.gpr[31] = (0x089EA18Cu); - aot_gpr_6 = (aot_gpr_17 | 0u); + aot_gpr_31 = (0x089EA18Cu); + aot_gpr_6 = (ctx.gpr[17] | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EA18Cu) goto L_089EA18C; AOT_REGCACHE_SYNC_OUT(); return; @@ -4863,7 +4864,7 @@ L_089EA18C: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -4925,7 +4926,7 @@ L_089EA1D4: aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); jump_target = aot_gpr_6; - ctx.gpr[31] = (0x089EA1F0u); + aot_gpr_31 = (0x089EA1F0u); aot_gpr_5 = (0u | 19u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EA1F0u) goto L_089EA1F0; @@ -4946,7 +4947,7 @@ L_089EA1F8: aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); aot_gpr_5 = (0u | 19u); jump_target = aot_gpr_7; - ctx.gpr[31] = (0x089EA218u); + aot_gpr_31 = (0x089EA218u); aot_gpr_6 = (ctx.gpr[18] | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EA218u) goto L_089EA218; @@ -4963,16 +4964,16 @@ L_089EA218: goto L_089EA22C; } L_089EA22C: - ctx.gpr[31] = (0x089EA234u); + aot_gpr_31 = (0x089EA234u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EA234u) goto L_089EA234; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EA234u) goto L_089EA234; AOT_REGCACHE_SYNC_OUT(); return; L_089EA234: aot_gpr_4 = (ctx.gpr[2] & 65535u); - aot_gpr_17 = (aot_gpr_4 & 2u); - aot_gpr_17 = (aot_gpr_17 + static_cast(2)); + ctx.gpr[17] = (aot_gpr_4 & 2u); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(2)); ctx.gpr[16] = (0u | 0u); - aot_gpr_4 = (static_cast(ctx.gpr[16]) < static_cast(aot_gpr_17) ? 1u : 0u); + aot_gpr_4 = (static_cast(ctx.gpr[16]) < static_cast(ctx.gpr[17]) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_4 = (16480u << 16u); if (branch_taken) { @@ -4987,9 +4988,9 @@ L_089EA250: ctx.fpr[24] = std::bit_cast(aot_gpr_4); goto L_089EA260; L_089EA260: - ctx.gpr[31] = (0x089EA268u); + aot_gpr_31 = (0x089EA268u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EA268u) goto L_089EA268; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EA268u) goto L_089EA268; AOT_REGCACHE_SYNC_OUT(); return; L_089EA268: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -4999,13 +5000,13 @@ L_089EA268: { const float fs = aot_fpr_12; const float ft = aot_fpr_20; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = aot_fpr_12 + ctx.fpr[22]; aot_gpr_4 = (ctx.gpr[18] | 0u); - ctx.gpr[31] = (0x089EA28Cu); + aot_gpr_31 = (0x089EA28Cu); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[24])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0062_entry, 62u, 733u, 0x088FF204u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EA28Cu) goto L_089EA28C; AOT_REGCACHE_SYNC_OUT(); return; L_089EA28C: ctx.gpr[16] = (ctx.gpr[16] + static_cast(1)); - aot_gpr_4 = (static_cast(ctx.gpr[16]) < static_cast(aot_gpr_17) ? 1u : 0u); + aot_gpr_4 = (static_cast(ctx.gpr[16]) < static_cast(ctx.gpr[17]) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -5081,7 +5082,7 @@ L_089EA30C: aot_gpr_4 = (15692u << 16u); aot_gpr_4 = (aot_gpr_4 | 52429u); aot_fpr_20 = std::bit_cast(aot_gpr_4); - aot_gpr_17 = (aot_gpr_29 + static_cast(336)); + ctx.gpr[17] = (aot_gpr_29 + static_cast(336)); aot_gpr_4 = (16416u << 16u); ctx.fpr[24] = std::bit_cast(aot_gpr_4); ctx.gpr[19] = (aot_gpr_29 + static_cast(28)); @@ -5105,9 +5106,9 @@ L_089EA358: const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - ctx.gpr[31] = (0x089EA36Cu); + aot_gpr_31 = (0x089EA36Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EA36Cu) goto L_089EA36C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EA36Cu) goto L_089EA36C; AOT_REGCACHE_SYNC_OUT(); return; L_089EA36C: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -5115,9 +5116,9 @@ L_089EA36C: aot_gpr_4 = (aot_gpr_4 + static_cast(-128)); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); - ctx.gpr[31] = (0x089EA388u); + aot_gpr_31 = (0x089EA388u); { const float fs = aot_fpr_12; const float ft = aot_fpr_20; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[26] = std::bit_cast(0x7FC00000u); else ctx.fpr[26] = fs * ft; } - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EA388u) goto L_089EA388; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EA388u) goto L_089EA388; AOT_REGCACHE_SYNC_OUT(); return; L_089EA388: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -5125,9 +5126,9 @@ L_089EA388: aot_gpr_4 = (aot_gpr_4 + static_cast(-128)); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_13))); - ctx.gpr[31] = (0x089EA3A4u); + aot_gpr_31 = (0x089EA3A4u); { const float fs = aot_fpr_13; const float ft = aot_fpr_20; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[22] = std::bit_cast(0x7FC00000u); else ctx.fpr[22] = fs * ft; } - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EA3A4u) goto L_089EA3A4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EA3A4u) goto L_089EA3A4; AOT_REGCACHE_SYNC_OUT(); return; L_089EA3A4: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -5139,8 +5140,8 @@ L_089EA3A4: { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[22]), std::bit_cast(aot_fpr_12)}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(336), aot_run_words); } aot_gpr_4 = (ctx.gpr[16] | 0u); - ctx.gpr[31] = (0x089EA3D4u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_31 = (0x089EA3D4u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EA3D4u) goto L_089EA3D4; AOT_REGCACHE_SYNC_OUT(); return; L_089EA3D4: @@ -5148,14 +5149,14 @@ L_089EA3D4: aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(336), aot_run_words); } aot_gpr_4 = (0u | 42u); aot_gpr_5 = (ctx.gpr[16] | 0u); - aot_gpr_6 = (aot_gpr_17 | 0u); + aot_gpr_6 = (ctx.gpr[17] | 0u); aot_gpr_7 = (0u | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[24])); ctx.gpr[8] = (ctx.gpr[19] | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[11] = (0u | 0u); - ctx.gpr[31] = (0x089EA40Cu); + aot_gpr_31 = (0x089EA40Cu); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0063_entry, 63u, 90u, 0x0890043Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EA40Cu) goto L_089EA40C; AOT_REGCACHE_SYNC_OUT(); return; @@ -5173,9 +5174,9 @@ L_089EA40C: const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - ctx.gpr[31] = (0x089EA41Cu); + aot_gpr_31 = (0x089EA41Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EA41Cu) goto L_089EA41C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EA41Cu) goto L_089EA41C; AOT_REGCACHE_SYNC_OUT(); return; L_089EA41C: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -5183,9 +5184,9 @@ L_089EA41C: aot_gpr_4 = (aot_gpr_4 + static_cast(-128)); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); - ctx.gpr[31] = (0x089EA438u); + aot_gpr_31 = (0x089EA438u); { const float fs = aot_fpr_12; const float ft = aot_fpr_20; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[22] = std::bit_cast(0x7FC00000u); else ctx.fpr[22] = fs * ft; } - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EA438u) goto L_089EA438; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EA438u) goto L_089EA438; AOT_REGCACHE_SYNC_OUT(); return; L_089EA438: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -5193,9 +5194,9 @@ L_089EA438: aot_gpr_4 = (aot_gpr_4 + static_cast(-128)); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_13))); - ctx.gpr[31] = (0x089EA454u); + aot_gpr_31 = (0x089EA454u); { const float fs = aot_fpr_13; const float ft = aot_fpr_20; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[26] = std::bit_cast(0x7FC00000u); else ctx.fpr[26] = fs * ft; } - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EA454u) goto L_089EA454; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EA454u) goto L_089EA454; AOT_REGCACHE_SYNC_OUT(); return; L_089EA454: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -5207,8 +5208,8 @@ L_089EA454: { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[26]), std::bit_cast(aot_fpr_12)}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(336), aot_run_words); } aot_gpr_4 = (ctx.gpr[16] | 0u); - ctx.gpr[31] = (0x089EA484u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_31 = (0x089EA484u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EA484u) goto L_089EA484; AOT_REGCACHE_SYNC_OUT(); return; L_089EA484: @@ -5216,14 +5217,14 @@ L_089EA484: aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(336), aot_run_words); } aot_gpr_4 = (0u | 43u); aot_gpr_5 = (ctx.gpr[16] | 0u); - aot_gpr_6 = (aot_gpr_17 | 0u); + aot_gpr_6 = (ctx.gpr[17] | 0u); aot_gpr_7 = (0u | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[30])); ctx.gpr[8] = (ctx.gpr[19] | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[11] = (0u | 0u); - ctx.gpr[31] = (0x089EA4BCu); + aot_gpr_31 = (0x089EA4BCu); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0063_entry, 63u, 90u, 0x0890043Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EA4BCu) goto L_089EA4BC; AOT_REGCACHE_SYNC_OUT(); return; @@ -5241,9 +5242,9 @@ L_089EA4BC: const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - ctx.gpr[31] = (0x089EA4CCu); + aot_gpr_31 = (0x089EA4CCu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EA4CCu) goto L_089EA4CC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EA4CCu) goto L_089EA4CC; AOT_REGCACHE_SYNC_OUT(); return; L_089EA4CC: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -5251,9 +5252,9 @@ L_089EA4CC: aot_gpr_4 = (aot_gpr_4 + static_cast(-128)); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); - ctx.gpr[31] = (0x089EA4E8u); + aot_gpr_31 = (0x089EA4E8u); { const float fs = aot_fpr_12; const float ft = aot_fpr_20; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[22] = std::bit_cast(0x7FC00000u); else ctx.fpr[22] = fs * ft; } - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EA4E8u) goto L_089EA4E8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EA4E8u) goto L_089EA4E8; AOT_REGCACHE_SYNC_OUT(); return; L_089EA4E8: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -5261,9 +5262,9 @@ L_089EA4E8: aot_gpr_4 = (aot_gpr_4 + static_cast(-128)); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_13))); - ctx.gpr[31] = (0x089EA504u); + aot_gpr_31 = (0x089EA504u); { const float fs = aot_fpr_13; const float ft = aot_fpr_20; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[26] = std::bit_cast(0x7FC00000u); else ctx.fpr[26] = fs * ft; } - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EA504u) goto L_089EA504; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EA504u) goto L_089EA504; AOT_REGCACHE_SYNC_OUT(); return; L_089EA504: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -5275,8 +5276,8 @@ L_089EA504: { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[26]), std::bit_cast(aot_fpr_12)}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(336), aot_run_words); } aot_gpr_4 = (ctx.gpr[16] | 0u); - ctx.gpr[31] = (0x089EA534u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_31 = (0x089EA534u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EA534u) goto L_089EA534; AOT_REGCACHE_SYNC_OUT(); return; L_089EA534: @@ -5284,7 +5285,7 @@ L_089EA534: ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(640))); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[22])); ctx.fpr[26] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(636))); - ctx.gpr[31] = (0x089EA54Cu); + aot_gpr_31 = (0x089EA54Cu); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[26])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0062_entry, 62u, 733u, 0x088FF204u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EA54Cu) goto L_089EA54C; AOT_REGCACHE_SYNC_OUT(); return; @@ -5312,7 +5313,7 @@ L_089EA55C: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (0u | 13u); - ctx.gpr[31] = (0x089EA574u); + aot_gpr_31 = (0x089EA574u); aot_gpr_6 = (0u | 1000u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0094_entry, 94u, 981u, 0x0897FF40u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EA574u) goto L_089EA574; AOT_REGCACHE_SYNC_OUT(); return; @@ -5371,7 +5372,7 @@ L_089EA5B0: aot_gpr_4 = (16512u << 16u); ctx.fpr[15] = std::bit_cast(aot_gpr_4); aot_fpr_14 = aot_fpr_14 + ctx.fpr[15]; - ctx.gpr[31] = (0x089EA5E4u); + aot_gpr_31 = (0x089EA5E4u); aot_gpr_4 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 519u, 0x08893460u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EA5E4u) goto L_089EA5E4; AOT_REGCACHE_SYNC_OUT(); return; @@ -5392,7 +5393,7 @@ L_089EA5E4: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (0u | 13u); - ctx.gpr[31] = (0x089EA600u); + aot_gpr_31 = (0x089EA600u); aot_gpr_6 = (0u | 250u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0094_entry, 94u, 981u, 0x0897FF40u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EA600u) goto L_089EA600; AOT_REGCACHE_SYNC_OUT(); return; @@ -5430,7 +5431,7 @@ L_089EA638: L_089EA644: aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(48), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(36), std::bit_cast(aot_fpr_20)); - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); ctx.gpr[16] = (aot_gpr_29 + static_cast(448)); aot_gpr_4 = (15523u << 16u); aot_gpr_4 = (aot_gpr_4 | 55050u); @@ -5455,9 +5456,9 @@ L_089EA674: const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - ctx.gpr[31] = (0x089EA684u); + aot_gpr_31 = (0x089EA684u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EA684u) goto L_089EA684; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EA684u) goto L_089EA684; AOT_REGCACHE_SYNC_OUT(); return; L_089EA684: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -5465,9 +5466,9 @@ L_089EA684: aot_gpr_4 = (aot_gpr_4 + static_cast(-128)); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); - ctx.gpr[31] = (0x089EA6A0u); + aot_gpr_31 = (0x089EA6A0u); { const float fs = aot_fpr_12; const float ft = aot_fpr_20; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[24] = std::bit_cast(0x7FC00000u); else ctx.fpr[24] = fs * ft; } - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EA6A0u) goto L_089EA6A0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EA6A0u) goto L_089EA6A0; AOT_REGCACHE_SYNC_OUT(); return; L_089EA6A0: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -5475,9 +5476,9 @@ L_089EA6A0: aot_gpr_4 = (aot_gpr_4 + static_cast(-128)); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_13))); - ctx.gpr[31] = (0x089EA6BCu); + aot_gpr_31 = (0x089EA6BCu); { const float fs = aot_fpr_13; const float ft = aot_fpr_20; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[26] = std::bit_cast(0x7FC00000u); else ctx.fpr[26] = fs * ft; } - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EA6BCu) goto L_089EA6BC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EA6BCu) goto L_089EA6BC; AOT_REGCACHE_SYNC_OUT(); return; L_089EA6BC: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -5489,7 +5490,7 @@ L_089EA6BC: { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(aot_fpr_12)}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(432), aot_run_words); } aot_gpr_4 = (ctx.gpr[16] | 0u); - ctx.gpr[31] = (0x089EA6ECu); + aot_gpr_31 = (0x089EA6ECu); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EA6ECu) goto L_089EA6EC; AOT_REGCACHE_SYNC_OUT(); return; @@ -5505,13 +5506,13 @@ L_089EA6EC: ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[11] = (0u | 0u); - ctx.gpr[31] = (0x089EA724u); + aot_gpr_31 = (0x089EA724u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0063_entry, 63u, 90u, 0x0890043Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EA724u) goto L_089EA724; AOT_REGCACHE_SYNC_OUT(); return; L_089EA724: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - aot_gpr_4 = (static_cast(aot_gpr_17) < 6 ? 1u : 0u); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + aot_gpr_4 = (static_cast(ctx.gpr[17]) < 6 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -5543,7 +5544,7 @@ L_089EA734: aot_gpr_4 = (16512u << 16u); ctx.fpr[15] = std::bit_cast(aot_gpr_4); aot_fpr_14 = aot_fpr_14 + ctx.fpr[15]; - ctx.gpr[31] = (0x089EA760u); + aot_gpr_31 = (0x089EA760u); aot_gpr_4 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 519u, 0x08893460u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EA760u) goto L_089EA760; AOT_REGCACHE_SYNC_OUT(); return; @@ -5564,7 +5565,7 @@ L_089EA760: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (0u | 13u); - ctx.gpr[31] = (0x089EA77Cu); + aot_gpr_31 = (0x089EA77Cu); aot_gpr_6 = (0u | 250u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0094_entry, 94u, 981u, 0x0897FF40u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EA77Cu) goto L_089EA77C; AOT_REGCACHE_SYNC_OUT(); return; @@ -5623,7 +5624,7 @@ L_089EA7B8: aot_gpr_4 = (16512u << 16u); ctx.fpr[15] = std::bit_cast(aot_gpr_4); aot_fpr_14 = aot_fpr_14 + ctx.fpr[15]; - ctx.gpr[31] = (0x089EA7ECu); + aot_gpr_31 = (0x089EA7ECu); aot_gpr_4 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 519u, 0x08893460u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EA7ECu) goto L_089EA7EC; AOT_REGCACHE_SYNC_OUT(); return; @@ -5644,7 +5645,7 @@ L_089EA7EC: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (0u | 13u); - ctx.gpr[31] = (0x089EA808u); + aot_gpr_31 = (0x089EA808u); aot_gpr_6 = (0u | 250u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0094_entry, 94u, 981u, 0x0897FF40u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EA808u) goto L_089EA808; AOT_REGCACHE_SYNC_OUT(); return; @@ -5703,7 +5704,7 @@ L_089EA844: aot_gpr_4 = (16512u << 16u); ctx.fpr[15] = std::bit_cast(aot_gpr_4); aot_fpr_14 = aot_fpr_14 + ctx.fpr[15]; - ctx.gpr[31] = (0x089EA878u); + aot_gpr_31 = (0x089EA878u); aot_gpr_4 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 519u, 0x08893460u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EA878u) goto L_089EA878; AOT_REGCACHE_SYNC_OUT(); return; @@ -5724,7 +5725,7 @@ L_089EA878: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (0u | 13u); - ctx.gpr[31] = (0x089EA894u); + aot_gpr_31 = (0x089EA894u); aot_gpr_6 = (0u | 250u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0094_entry, 94u, 981u, 0x0897FF40u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EA894u) goto L_089EA894; AOT_REGCACHE_SYNC_OUT(); return; @@ -5738,7 +5739,7 @@ L_089EA894: } L_089EA89C: aot_gpr_4 = (2232u << 16u); - ctx.gpr[31] = (0x089EA8A8u); + aot_gpr_31 = (0x089EA8A8u); aot_gpr_4 = (aot_gpr_4 + static_cast(-1952)); goto L_089E9290; L_089EA8A8: @@ -5776,7 +5777,7 @@ L_089EA8E0: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(ctx.fpr[28])) && aot_fpr_12 == ctx.fpr[28])) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); - aot_gpr_17 = (0u | 1u); + ctx.gpr[17] = (0u | 1u); if (branch_taken) { goto L_089EA9C8; } @@ -5810,7 +5811,7 @@ L_089EA918: goto L_089EA920; } L_089EA920: - { const bool branch_taken = aot_gpr_4 == aot_gpr_17; + { const bool branch_taken = aot_gpr_4 == ctx.gpr[17]; // nop if (branch_taken) { goto L_089EA948; @@ -5888,12 +5889,12 @@ L_089EA968: aot_gpr_6 = (aot_gpr_4 | aot_gpr_5); aot_gpr_6 = (aot_gpr_6 & 255u); aot_gpr_4 = (ctx.gpr[21] | 0u); - ctx.gpr[31] = (0x089EA9C8u); + aot_gpr_31 = (0x089EA9C8u); aot_gpr_5 = (ctx.gpr[22] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 340u, 0x08892400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EA9C8u) goto L_089EA9C8; AOT_REGCACHE_SYNC_OUT(); return; L_089EA9C8: - { const bool branch_taken = ctx.gpr[23] != aot_gpr_17; + { const bool branch_taken = ctx.gpr[23] != ctx.gpr[17]; // nop if (branch_taken) { goto L_089EA9F8; @@ -5910,7 +5911,7 @@ L_089EA9D0: aot_fpr_14 = std::bit_cast(aot_run_words[1]); ctx.fpr[15] = std::bit_cast(aot_run_words[2]); } - ctx.gpr[31] = (0x089EA9F0u); + aot_gpr_31 = (0x089EA9F0u); aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 572u, 0x08A1BC64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EA9F0u) goto L_089EA9F0; AOT_REGCACHE_SYNC_OUT(); return; @@ -5932,12 +5933,12 @@ L_089EA9F8: aot_fpr_14 = std::bit_cast(aot_run_words[1]); ctx.fpr[15] = std::bit_cast(aot_run_words[2]); } - ctx.gpr[31] = (0x089EAA18u); + aot_gpr_31 = (0x089EAA18u); aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 572u, 0x08A1BC64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EAA18u) goto L_089EAA18; AOT_REGCACHE_SYNC_OUT(); return; L_089EAA18: - ctx.gpr[31] = (0x089EAA20u); + aot_gpr_31 = (0x089EAA20u); aot_gpr_4 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EAA20u) goto L_089EAA20; AOT_REGCACHE_SYNC_OUT(); return; @@ -5950,7 +5951,7 @@ L_089EAA20: } aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_5 = (0u | 300u); - ctx.gpr[31] = (0x089EAA3Cu); + aot_gpr_31 = (0x089EAA3Cu); aot_gpr_6 = (0u | 128u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0097_entry, 97u, 955u, 0x0898BB44u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EAA3Cu) goto L_089EAA3C; AOT_REGCACHE_SYNC_OUT(); return; @@ -5976,7 +5977,7 @@ L_089EAA4C: ctx.fpr[28] = std::bit_cast(aot_run_words[4]); ctx.fpr[30] = std::bit_cast(aot_run_words[5]); ctx.gpr[16] = aot_run_words[6]; - aot_gpr_17 = aot_run_words[7]; + ctx.gpr[17] = aot_run_words[7]; ctx.gpr[18] = aot_run_words[8]; ctx.gpr[19] = aot_run_words[9]; ctx.gpr[20] = aot_run_words[10]; @@ -5984,9 +5985,9 @@ L_089EAA4C: ctx.gpr[22] = aot_run_words[12]; ctx.gpr[23] = aot_run_words[13]; ctx.gpr[30] = aot_run_words[14]; - ctx.gpr[31] = aot_run_words[15]; + aot_gpr_31 = aot_run_words[15]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(720)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -5994,7 +5995,7 @@ L_089EAA4C: AOT_REGCACHE_SYNC_OUT(); return; L_089EAA94: aot_gpr_29 = (aot_gpr_29 + static_cast(-576)); - { const std::uint32_t aot_run_words[11]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), ctx.gpr[16], aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[11]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(528), aot_run_words); } aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(16), static_cast(0u)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(17), static_cast(0u)); @@ -6012,11 +6013,11 @@ L_089EAA94: L_089EAAE4: aot_gpr_4 = (ctx.gpr[16] << 6u); aot_gpr_5 = (ctx.gpr[16] << 4u); - aot_gpr_17 = (aot_gpr_4 + aot_gpr_5); + ctx.gpr[17] = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (2236u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-17072)); - aot_gpr_17 = (aot_gpr_17 + aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(52))); + ctx.gpr[17] = (ctx.gpr[17] + aot_gpr_4); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(52))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -6025,7 +6026,7 @@ L_089EAAE4: goto L_089EAB08; } L_089EAB08: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(60))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(60))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -6034,7 +6035,7 @@ L_089EAB08: goto L_089EAB14; } L_089EAB14: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(60))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(60))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_4 = (aot_gpr_4 < aot_gpr_5 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; @@ -6045,8 +6046,8 @@ L_089EAB14: goto L_089EAB28; } L_089EAB28: - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(60), 0u); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(64))); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(60), 0u); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(64))); aot_fpr_13 = std::bit_cast(0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(aot_fpr_13)) && aot_fpr_12 == aot_fpr_13)) ? 0x00800000u : 0u); // nop @@ -6058,10 +6059,10 @@ L_089EAB28: goto L_089EAB44; } L_089EAB44: - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(32))); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(64))); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(40))); - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(32))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(64))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(40))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_gpr_7 = (0u | 2u); { const bool branch_taken = aot_gpr_6 == aot_gpr_7; aot_gpr_5 = (0u | 0u); @@ -6071,7 +6072,7 @@ L_089EAB44: goto L_089EAB60; } L_089EAB60: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_gpr_7 = (0u | 4u); if (aot_gpr_6 == aot_gpr_7) { aot_gpr_5 = (0u | 1u); @@ -6079,7 +6080,7 @@ L_089EAB60: } goto L_089EAB70; L_089EAB70: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_gpr_7 = (0u | 8u); if (aot_gpr_6 == aot_gpr_7) { aot_gpr_5 = (0u | 1u); @@ -6087,7 +6088,7 @@ L_089EAB70: } goto L_089EAB80; L_089EAB80: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_gpr_7 = (0u | 9u); if (aot_gpr_6 == aot_gpr_7) { aot_gpr_5 = (0u | 1u); @@ -6095,7 +6096,7 @@ L_089EAB80: } goto L_089EAB90; L_089EAB90: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_gpr_7 = (0u | 10u); if (aot_gpr_6 == aot_gpr_7) { aot_gpr_5 = (0u | 1u); @@ -6103,7 +6104,7 @@ L_089EAB90: } goto L_089EABA0; L_089EABA0: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_gpr_7 = (0u | 11u); if (aot_gpr_6 != aot_gpr_7) { aot_fpr_14 = std::bit_cast(std::bit_cast(aot_fpr_12)); @@ -6119,11 +6120,11 @@ L_089EABB4: L_089EABB8: aot_gpr_6 = (aot_gpr_5 & 255u); aot_gpr_5 = (aot_gpr_4 | 0u); - aot_gpr_4 = (aot_gpr_17 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(16)); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_13)); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_14)); aot_gpr_7 = (0u | 0u); - ctx.gpr[31] = (0x089EABD8u); + aot_gpr_31 = (0x089EABD8u); ctx.gpr[8] = (0u | 44u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 340u, 0x08892400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EABD8u) goto L_089EABD8; AOT_REGCACHE_SYNC_OUT(); return; @@ -6136,13 +6137,13 @@ L_089EABD8: goto L_089EABE0; } L_089EABE0: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(32))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(36))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(32))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(36))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); { const float fs = aot_fpr_13; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_fpr_12 = aot_fpr_12 + aot_fpr_13; - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(32), std::bit_cast(aot_fpr_12)); - aot_gpr_4 = (aot_gpr_17 + static_cast(16)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(32), std::bit_cast(aot_fpr_12)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(16)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -6157,7 +6158,7 @@ L_089EABE0: const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(48))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(48))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_fpr_13 = std::bit_cast(aot_gpr_4); { const bool branch_taken = static_cast(aot_gpr_4) >= 0; @@ -6176,7 +6177,7 @@ L_089EAC28: aot_fpr_12 = aot_fpr_12 - aot_fpr_13; aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); ctx.gpr[18] = (std::bit_cast(aot_fpr_12)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_gpr_5 = (aot_gpr_4 < static_cast(12) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; // nop @@ -6206,7 +6207,7 @@ L_089EAC5C: goto L_089EAC68; } L_089EAC68: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(52))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(52))); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -6224,7 +6225,7 @@ L_089EAC78: goto L_089EAC80; } L_089EAC80: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(44))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(44))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -6237,15 +6238,15 @@ L_089EAC8C: aot_fpr_20 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (16204u << 16u); aot_gpr_4 = (aot_gpr_4 | 52429u); - ctx.gpr[31] = (0x089EACA4u); + aot_gpr_31 = (0x089EACA4u); ctx.fpr[22] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EACA4u) goto L_089EACA4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EACA4u) goto L_089EACA4; AOT_REGCACHE_SYNC_OUT(); return; L_089EACA4: aot_fpr_12 = ctx.fpr[22] - aot_fpr_20; { const float fs = aot_fpr_12; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = aot_fpr_20 + aot_fpr_12; - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(44))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(44))); aot_gpr_5 = (aot_gpr_5 + static_cast(48)); aot_fpr_13 = std::bit_cast(0u); { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_13), std::bit_cast(aot_fpr_13), std::bit_cast(aot_fpr_13)}; @@ -6257,7 +6258,7 @@ L_089EACA4: ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[11] = (0u | 0u); - ctx.gpr[31] = (0x089EACECu); + aot_gpr_31 = (0x089EACECu); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0063_entry, 63u, 90u, 0x0890043Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EACECu) goto L_089EACEC; AOT_REGCACHE_SYNC_OUT(); return; @@ -6265,15 +6266,15 @@ L_089EACEC: aot_gpr_4 = (16128u << 16u); aot_fpr_20 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (16384u << 16u); - ctx.gpr[31] = (0x089EAD00u); + aot_gpr_31 = (0x089EAD00u); ctx.fpr[22] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EAD00u) goto L_089EAD00; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EAD00u) goto L_089EAD00; AOT_REGCACHE_SYNC_OUT(); return; L_089EAD00: aot_fpr_12 = ctx.fpr[22] - aot_fpr_20; { const float fs = aot_fpr_12; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = aot_fpr_20 + aot_fpr_12; - aot_gpr_4 = (aot_gpr_17 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(16)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -6307,7 +6308,7 @@ L_089EAD00: ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[11] = (0u | 0u); - ctx.gpr[31] = (0x089EAD70u); + aot_gpr_31 = (0x089EAD70u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0063_entry, 63u, 90u, 0x0890043Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EAD70u) goto L_089EAD70; AOT_REGCACHE_SYNC_OUT(); return; @@ -6320,7 +6321,7 @@ L_089EAD70: goto L_089EAD78; } L_089EAD78: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(44))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(44))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -6329,9 +6330,9 @@ L_089EAD78: goto L_089EAD84; } L_089EAD84: - ctx.gpr[31] = (0x089EAD8Cu); + aot_gpr_31 = (0x089EAD8Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EAD8Cu) goto L_089EAD8C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EAD8Cu) goto L_089EAD8C; AOT_REGCACHE_SYNC_OUT(); return; L_089EAD8C: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -6344,7 +6345,7 @@ L_089EAD8C: goto L_089EAD9C; } L_089EAD9C: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(54))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(54))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -6353,7 +6354,7 @@ L_089EAD9C: goto L_089EADA8; } L_089EADA8: - ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(44))); + ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(44))); ctx.gpr[20] = (0u | 17u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(852))); aot_gpr_5 = (0u | 6u); @@ -6384,7 +6385,7 @@ L_089EADD4: aot_gpr_4 = (ctx.gpr[19] + aot_gpr_4); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); jump_target = aot_gpr_6; - ctx.gpr[31] = (0x089EADF0u); + aot_gpr_31 = (0x089EADF0u); aot_gpr_5 = (ctx.gpr[20] | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EADF0u) goto L_089EADF0; @@ -6406,7 +6407,7 @@ L_089EADF8: aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); aot_gpr_5 = (ctx.gpr[20] | 0u); jump_target = aot_gpr_7; - ctx.gpr[31] = (0x089EAE1Cu); + aot_gpr_31 = (0x089EAE1Cu); aot_gpr_6 = (ctx.gpr[19] | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EAE1Cu) goto L_089EAE1C; @@ -6415,12 +6416,12 @@ L_089EAE1C: aot_gpr_4 = (16128u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_13 = std::bit_cast(0u); - ctx.gpr[31] = (0x089EAE30u); + aot_gpr_31 = (0x089EAE30u); aot_gpr_4 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0062_entry, 62u, 733u, 0x088FF204u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EAE30u) goto L_089EAE30; AOT_REGCACHE_SYNC_OUT(); return; L_089EAE30: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(56))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(56))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_fpr_13 = std::bit_cast(aot_gpr_4); { const bool branch_taken = static_cast(aot_gpr_4) >= 0; @@ -6446,9 +6447,9 @@ L_089EAE50: goto L_089EAE60; } L_089EAE60: - ctx.gpr[31] = (0x089EAE68u); + aot_gpr_31 = (0x089EAE68u); ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EAE68u) goto L_089EAE68; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EAE68u) goto L_089EAE68; AOT_REGCACHE_SYNC_OUT(); return; L_089EAE68: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -6457,8 +6458,8 @@ L_089EAE68: aot_gpr_4 = (aot_gpr_4 + static_cast(125)); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(56), std::bit_cast(aot_fpr_12)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(44))); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(56), std::bit_cast(aot_fpr_12)); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(44))); aot_gpr_4 = (aot_gpr_4 + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; @@ -6474,9 +6475,9 @@ L_089EAE68: const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - ctx.gpr[31] = (0x089EAEA0u); + aot_gpr_31 = (0x089EAEA0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EAEA0u) goto L_089EAEA0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EAEA0u) goto L_089EAEA0; AOT_REGCACHE_SYNC_OUT(); return; L_089EAEA0: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -6505,7 +6506,7 @@ L_089EAEBC: ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[11] = (0u | 0u); - ctx.gpr[31] = (0x089EAEFCu); + aot_gpr_31 = (0x089EAEFCu); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0063_entry, 63u, 90u, 0x0890043Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EAEFCu) goto L_089EAEFC; AOT_REGCACHE_SYNC_OUT(); return; @@ -6558,7 +6559,7 @@ L_089EAF1C: aot_fpr_14 = std::bit_cast(std::bit_cast(aot_fpr_20)); ctx.fpr[15] = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_7 = (0u | 0u); - ctx.gpr[31] = (0x089EAF6Cu); + aot_gpr_31 = (0x089EAF6Cu); ctx.gpr[8] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0200_entry, 200u, 403u, 0x08B25C64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EAF6Cu) goto L_089EAF6C; AOT_REGCACHE_SYNC_OUT(); return; @@ -6571,7 +6572,7 @@ L_089EAF6C: ctx.gpr[10] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4264))); aot_gpr_4 = (16320u << 16u); ctx.fpr[15] = std::bit_cast(aot_gpr_4); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (0u | 200u); aot_gpr_6 = (0u | 100u); aot_gpr_7 = (0u | 0u); @@ -6581,7 +6582,7 @@ L_089EAF6C: { const std::uint32_t aot_run_words[3]{ctx.gpr[20], 0u, 0u}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_fpr_14 = std::bit_cast(std::bit_cast(aot_fpr_20)); - ctx.gpr[31] = (0x089EAFC0u); + aot_gpr_31 = (0x089EAFC0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0095_entry, 95u, 634u, 0x08983B9Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EAFC0u) goto L_089EAFC0; AOT_REGCACHE_SYNC_OUT(); return; @@ -6605,7 +6606,7 @@ L_089EAFC8: aot_fpr_14 = std::bit_cast(0u); aot_gpr_4 = (16320u << 16u); ctx.fpr[15] = std::bit_cast(aot_gpr_4); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (0u | 128u); aot_gpr_6 = (0u | 0u); aot_gpr_7 = (0u | 0u); @@ -6613,14 +6614,14 @@ L_089EAFC8: ctx.gpr[11] = (0u | 1u); { const std::uint32_t aot_run_words[3]{ctx.gpr[2], 0u, 0u}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - ctx.gpr[31] = (0x089EB020u); + aot_gpr_31 = (0x089EB020u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0095_entry, 95u, 634u, 0x08983B9Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EB020u) goto L_089EB020; AOT_REGCACHE_SYNC_OUT(); return; L_089EB020: - aot_gpr_4 = (aot_gpr_17 + static_cast(1)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(1)); ctx.gpr[9] = (aot_gpr_29 + static_cast(32)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(32))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(32))); aot_gpr_5 = (17056u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_5); aot_gpr_5 = (2234u << 16u); @@ -6636,7 +6637,7 @@ L_089EB020: ctx.gpr[11] = (0u | 0u); { const std::uint32_t aot_run_words[3]{0u, 0u, 0u}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - ctx.gpr[31] = (0x089EB074u); + aot_gpr_31 = (0x089EB074u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0095_entry, 95u, 634u, 0x08983B9Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EB074u) goto L_089EB074; AOT_REGCACHE_SYNC_OUT(); return; @@ -6688,7 +6689,7 @@ L_089EB08C: aot_gpr_4 = (0u | 0u); aot_fpr_14 = std::bit_cast(std::bit_cast(aot_fpr_13)); aot_gpr_7 = (0u | 0u); - ctx.gpr[31] = (0x089EB0E0u); + aot_gpr_31 = (0x089EB0E0u); ctx.gpr[8] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0200_entry, 200u, 403u, 0x08B25C64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EB0E0u) goto L_089EB0E0; AOT_REGCACHE_SYNC_OUT(); return; @@ -6701,7 +6702,7 @@ L_089EB0E0: ctx.gpr[10] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4264))); aot_gpr_4 = (16320u << 16u); ctx.fpr[15] = std::bit_cast(aot_gpr_4); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (0u | 255u); aot_gpr_6 = (0u | 255u); aot_gpr_7 = (0u | 200u); @@ -6711,7 +6712,7 @@ L_089EB0E0: { const std::uint32_t aot_run_words[3]{ctx.gpr[20], 0u, 0u}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_fpr_14 = std::bit_cast(std::bit_cast(aot_fpr_20)); - ctx.gpr[31] = (0x089EB134u); + aot_gpr_31 = (0x089EB134u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0095_entry, 95u, 634u, 0x08983B9Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EB134u) goto L_089EB134; AOT_REGCACHE_SYNC_OUT(); return; @@ -6735,7 +6736,7 @@ L_089EB13C: aot_fpr_14 = std::bit_cast(0u); aot_gpr_4 = (16320u << 16u); ctx.fpr[15] = std::bit_cast(aot_gpr_4); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (0u | 128u); aot_gpr_6 = (0u | 128u); aot_gpr_7 = (0u | 100u); @@ -6743,14 +6744,14 @@ L_089EB13C: ctx.gpr[11] = (0u | 1u); { const std::uint32_t aot_run_words[3]{ctx.gpr[2], 0u, 0u}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - ctx.gpr[31] = (0x089EB194u); + aot_gpr_31 = (0x089EB194u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0095_entry, 95u, 634u, 0x08983B9Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EB194u) goto L_089EB194; AOT_REGCACHE_SYNC_OUT(); return; L_089EB194: - aot_gpr_4 = (aot_gpr_17 + static_cast(1)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(1)); ctx.gpr[9] = (aot_gpr_29 + static_cast(32)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(32))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(32))); aot_gpr_5 = (17136u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_5); aot_gpr_5 = (2234u << 16u); @@ -6766,7 +6767,7 @@ L_089EB194: ctx.gpr[11] = (0u | 0u); { const std::uint32_t aot_run_words[3]{0u, 0u, 0u}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - ctx.gpr[31] = (0x089EB1E8u); + aot_gpr_31 = (0x089EB1E8u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0095_entry, 95u, 634u, 0x08983B9Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EB1E8u) goto L_089EB1E8; AOT_REGCACHE_SYNC_OUT(); return; @@ -6779,7 +6780,7 @@ L_089EB1E8: goto L_089EB1F0; } L_089EB1F0: - aot_gpr_4 = (aot_gpr_17 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(16)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -6802,8 +6803,8 @@ L_089EB1F0: } aot_gpr_4 = (16576u << 16u); aot_fpr_20 = std::bit_cast(aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(40))); - ctx.gpr[31] = (0x089EB220u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(40))); + aot_gpr_31 = (0x089EB220u); ctx.fpr[15] = std::bit_cast(std::bit_cast(aot_fpr_20)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 577u, 0x088937CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EB220u) goto L_089EB220; AOT_REGCACHE_SYNC_OUT(); return; @@ -6814,8 +6815,8 @@ L_089EB220: aot_fpr_13 = std::bit_cast(aot_run_words[1]); aot_fpr_14 = std::bit_cast(aot_run_words[2]); } - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(40))); - ctx.gpr[31] = (0x089EB238u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(40))); + aot_gpr_31 = (0x089EB238u); ctx.fpr[15] = std::bit_cast(std::bit_cast(aot_fpr_20)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 626u, 0x08893C18u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EB238u) goto L_089EB238; AOT_REGCACHE_SYNC_OUT(); return; @@ -6826,8 +6827,8 @@ L_089EB238: aot_fpr_13 = std::bit_cast(aot_run_words[1]); aot_fpr_14 = std::bit_cast(aot_run_words[2]); } - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(40))); - ctx.gpr[31] = (0x089EB250u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(40))); + aot_gpr_31 = (0x089EB250u); ctx.fpr[15] = std::bit_cast(std::bit_cast(aot_fpr_20)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 647u, 0x08893E14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EB250u) goto L_089EB250; AOT_REGCACHE_SYNC_OUT(); return; @@ -6838,7 +6839,7 @@ L_089EB250: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(226), static_cast(0u)); aot_gpr_4 = (0u | 30u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(227), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(52))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(52))); aot_gpr_4 = (static_cast(aot_gpr_4) < 10 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -6848,7 +6849,7 @@ L_089EB250: goto L_089EB278; } L_089EB278: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(52))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(52))); aot_gpr_5 = (0u | 1u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -6858,7 +6859,7 @@ L_089EB278: goto L_089EB288; } L_089EB288: - aot_gpr_4 = (aot_gpr_17 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(16)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -6889,7 +6890,7 @@ L_089EB288: ctx.gpr[11] = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), 0u); - ctx.gpr[31] = (0x089EB2E0u); + aot_gpr_31 = (0x089EB2E0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 287u, 0x08891DD4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EB2E0u) goto L_089EB2E0; AOT_REGCACHE_SYNC_OUT(); return; @@ -6904,18 +6905,18 @@ L_089EB2E0: L_089EB2E8: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(264))); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(68), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(68), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_089EB2FC; } goto L_089EB2F4; } L_089EB2F4: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(24))); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(68), std::bit_cast(aot_fpr_12)); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(24))); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(68), std::bit_cast(aot_fpr_12)); goto L_089EB2FC; L_089EB2FC: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(52))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(52))); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_20 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_gpr_4 = (16140u << 16u); @@ -6937,9 +6938,9 @@ L_089EB2FC: goto L_089EB33C; } L_089EB33C: - ctx.gpr[31] = (0x089EB344u); + aot_gpr_31 = (0x089EB344u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EB344u) goto L_089EB344; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EB344u) goto L_089EB344; AOT_REGCACHE_SYNC_OUT(); return; L_089EB344: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -6950,7 +6951,7 @@ L_089EB344: aot_gpr_4 = (aot_gpr_4 | 62915u); aot_fpr_13 = std::bit_cast(aot_gpr_4); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - aot_gpr_4 = (aot_gpr_17 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(16)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -6991,19 +6992,19 @@ L_089EB344: { const float fs = aot_fpr_20; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = aot_fpr_13 + aot_fpr_12; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(340), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(68))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(68))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(344), std::bit_cast(aot_fpr_12)); - ctx.gpr[31] = (0x089EB3DCu); + aot_gpr_31 = (0x089EB3DCu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EB3DCu) goto L_089EB3DC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EB3DCu) goto L_089EB3DC; AOT_REGCACHE_SYNC_OUT(); return; L_089EB3DC: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_7 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-10708))); - ctx.gpr[31] = (0x089EB3F0u); + aot_gpr_31 = (0x089EB3F0u); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-10712))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EB3F0u) goto L_089EB3F0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EB3F0u) goto L_089EB3F0; AOT_REGCACHE_SYNC_OUT(); return; L_089EB3F0: ctx.gpr[1] = (ctx.gpr[3] << 1u); @@ -7018,17 +7019,17 @@ L_089EB3F0: aot_gpr_5 = (aot_gpr_4 + aot_gpr_7); aot_gpr_4 = (ctx.gpr[8] | 0u); ctx.gpr[22] = (aot_gpr_4 | 0u); - ctx.gpr[31] = (0x089EB428u); + aot_gpr_31 = (0x089EB428u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EB428u) goto L_089EB428; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EB428u) goto L_089EB428; AOT_REGCACHE_SYNC_OUT(); return; L_089EB428: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_7 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-10692))); - ctx.gpr[31] = (0x089EB43Cu); + aot_gpr_31 = (0x089EB43Cu); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-10696))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EB43Cu) goto L_089EB43C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EB43Cu) goto L_089EB43C; AOT_REGCACHE_SYNC_OUT(); return; L_089EB43C: ctx.gpr[1] = (ctx.gpr[3] << 1u); @@ -7057,7 +7058,7 @@ L_089EB43C: aot_gpr_7 = (0u | 0u); ctx.gpr[9] = (ctx.gpr[22] | 0u); ctx.gpr[11] = (0u | 0u); - ctx.gpr[31] = (0x089EB4B0u); + aot_gpr_31 = (0x089EB4B0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[2]); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0063_entry, 63u, 90u, 0x0890043Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EB4B0u) goto L_089EB4B0; AOT_REGCACHE_SYNC_OUT(); return; @@ -7072,7 +7073,7 @@ L_089EB4B0: goto L_089EB4C0; } L_089EB4C0: - aot_gpr_4 = (aot_gpr_17 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(16)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -7087,7 +7088,7 @@ L_089EB4C0: const std::uint32_t vfpu_address = aot_gpr_7 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(68))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(68))); aot_gpr_4 = (15395u << 16u); aot_gpr_4 = (aot_gpr_4 | 55050u); aot_fpr_13 = std::bit_cast(aot_gpr_4); @@ -7105,7 +7106,7 @@ L_089EB4C0: ctx.fpr[17] = std::bit_cast(aot_gpr_4); aot_gpr_4 = (16928u << 16u); ctx.fpr[18] = std::bit_cast(aot_gpr_4); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (0u | 2u); aot_fpr_14 = std::bit_cast(std::bit_cast(aot_fpr_13)); ctx.gpr[8] = (0u | 100u); @@ -7115,7 +7116,7 @@ L_089EB4C0: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); ctx.fpr[19] = std::bit_cast(std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), 0u); - ctx.gpr[31] = (0x089EB548u); + aot_gpr_31 = (0x089EB548u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), std::bit_cast(aot_fpr_13)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0164_entry, 164u, 490u, 0x08A97518u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EB548u) goto L_089EB548; AOT_REGCACHE_SYNC_OUT(); return; @@ -7128,7 +7129,7 @@ L_089EB548: goto L_089EB550; } L_089EB550: - aot_gpr_4 = (aot_gpr_17 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(16)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -7143,20 +7144,20 @@ L_089EB550: const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(68))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(68))); aot_gpr_4 = (15395u << 16u); aot_gpr_4 = (aot_gpr_4 | 55050u); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(360), std::bit_cast(aot_fpr_12)); - ctx.gpr[31] = (0x089EB580u); + aot_gpr_31 = (0x089EB580u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EB580u) goto L_089EB580; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EB580u) goto L_089EB580; AOT_REGCACHE_SYNC_OUT(); return; L_089EB580: - ctx.gpr[31] = (0x089EB588u); + aot_gpr_31 = (0x089EB588u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EB588u) goto L_089EB588; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EB588u) goto L_089EB588; AOT_REGCACHE_SYNC_OUT(); return; L_089EB588: ctx.gpr[19] = (0u | 0u); @@ -7179,7 +7180,7 @@ L_089EB598: ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); - ctx.gpr[31] = (0x089EB5CCu); + aot_gpr_31 = (0x089EB5CCu); ctx.gpr[11] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0062_entry, 62u, 716u, 0x088FF060u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EB5CCu) goto L_089EB5CC; AOT_REGCACHE_SYNC_OUT(); return; @@ -7194,7 +7195,7 @@ L_089EB5CC: goto L_089EB5DC; } L_089EB5DC: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(52))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(52))); aot_gpr_5 = (0u | 7u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -7204,7 +7205,7 @@ L_089EB5DC: goto L_089EB5EC; } L_089EB5EC: - aot_gpr_4 = (aot_gpr_17 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(16)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -7219,7 +7220,7 @@ L_089EB5EC: const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(68))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(68))); aot_gpr_4 = (16345u << 16u); aot_gpr_4 = (aot_gpr_4 | 39322u); aot_fpr_13 = std::bit_cast(aot_gpr_4); @@ -7240,18 +7241,18 @@ L_089EB624: aot_fpr_20 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (15605u << 16u); aot_gpr_4 = (aot_gpr_4 | 49807u); - ctx.gpr[31] = (0x089EB640u); + aot_gpr_31 = (0x089EB640u); ctx.fpr[22] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EB640u) goto L_089EB640; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EB640u) goto L_089EB640; AOT_REGCACHE_SYNC_OUT(); return; L_089EB640: aot_fpr_12 = ctx.fpr[22] - aot_fpr_20; { const float fs = aot_fpr_12; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } ctx.fpr[24] = aot_fpr_20 + aot_fpr_12; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(400), std::bit_cast(ctx.fpr[24])); - ctx.gpr[31] = (0x089EB658u); + aot_gpr_31 = (0x089EB658u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EB658u) goto L_089EB658; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EB658u) goto L_089EB658; AOT_REGCACHE_SYNC_OUT(); return; L_089EB658: aot_fpr_13 = ctx.fpr[22] - aot_fpr_20; @@ -7305,7 +7306,7 @@ L_089EB658: ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[11] = (0u | 0u); - ctx.gpr[31] = (0x089EB6E8u); + aot_gpr_31 = (0x089EB6E8u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[2]); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0063_entry, 63u, 90u, 0x0890043Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EB6E8u) goto L_089EB6E8; AOT_REGCACHE_SYNC_OUT(); return; @@ -7325,15 +7326,15 @@ L_089EB6F8: aot_fpr_12 = std::bit_cast(aot_gpr_5); aot_gpr_5 = (16384u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_5); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(40))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(40))); aot_gpr_6 = (0u | 1u); aot_gpr_7 = (0u | 0u); - ctx.gpr[31] = (0x089EB720u); + aot_gpr_31 = (0x089EB720u); ctx.gpr[8] = (0u | 17u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 340u, 0x08892400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EB720u) goto L_089EB720; AOT_REGCACHE_SYNC_OUT(); return; L_089EB720: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(52))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(52))); aot_gpr_4 = (static_cast(aot_gpr_4) < 7 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -7343,7 +7344,7 @@ L_089EB720: goto L_089EB730; } L_089EB730: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(52))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(52))); aot_gpr_4 = (static_cast(aot_gpr_4) < 33 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -7353,7 +7354,7 @@ L_089EB730: goto L_089EB740; } L_089EB740: - aot_gpr_4 = (aot_gpr_17 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(16)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -7368,13 +7369,13 @@ L_089EB740: const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(68))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(68))); aot_gpr_4 = (15395u << 16u); aot_gpr_4 = (aot_gpr_4 | 55050u); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(472), std::bit_cast(aot_fpr_12)); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(52))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(52))); aot_gpr_4 = (aot_gpr_4 << 3u); aot_gpr_5 = (0u | 256u); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); @@ -7385,15 +7386,15 @@ L_089EB740: aot_fpr_20 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (16025u << 16u); aot_gpr_4 = (aot_gpr_4 | 39322u); - ctx.gpr[31] = (0x089EB79Cu); + aot_gpr_31 = (0x089EB79Cu); ctx.fpr[22] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EB79Cu) goto L_089EB79C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EB79Cu) goto L_089EB79C; AOT_REGCACHE_SYNC_OUT(); return; L_089EB79C: aot_fpr_12 = ctx.fpr[22] - aot_fpr_20; { const float fs = aot_fpr_12; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = aot_fpr_20 + aot_fpr_12; - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(52))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(52))); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_13))); aot_gpr_4 = (15779u << 16u); @@ -7401,7 +7402,7 @@ L_089EB79C: aot_fpr_14 = std::bit_cast(aot_gpr_4); { const float fs = aot_fpr_13; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } ctx.fpr[15] = aot_fpr_12 + aot_fpr_13; - aot_gpr_4 = (aot_gpr_17 + static_cast(1)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(1)); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-5048))); aot_gpr_5 = (16358u << 16u); aot_gpr_5 = (aot_gpr_5 | 26214u); @@ -7428,7 +7429,7 @@ L_089EB79C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); ctx.fpr[19] = std::bit_cast(std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), 0u); - ctx.gpr[31] = (0x089EB83Cu); + aot_gpr_31 = (0x089EB83Cu); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), std::bit_cast(aot_fpr_13)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0164_entry, 164u, 490u, 0x08A97518u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EB83Cu) goto L_089EB83C; AOT_REGCACHE_SYNC_OUT(); return; @@ -7441,7 +7442,7 @@ L_089EB83C: goto L_089EB844; } L_089EB844: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(52))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(52))); aot_gpr_4 = (static_cast(aot_gpr_4) < 5 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -7451,7 +7452,7 @@ L_089EB844: goto L_089EB854; } L_089EB854: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(52))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(52))); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_20 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_gpr_4 = (16166u << 16u); @@ -7473,9 +7474,9 @@ L_089EB854: goto L_089EB894; } L_089EB894: - ctx.gpr[31] = (0x089EB89Cu); + aot_gpr_31 = (0x089EB89Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EB89Cu) goto L_089EB89C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EB89Cu) goto L_089EB89C; AOT_REGCACHE_SYNC_OUT(); return; L_089EB89C: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -7484,9 +7485,9 @@ L_089EB89C: aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(496), std::bit_cast(aot_fpr_12)); - ctx.gpr[31] = (0x089EB8BCu); + aot_gpr_31 = (0x089EB8BCu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EB8BCu) goto L_089EB8BC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EB8BCu) goto L_089EB8BC; AOT_REGCACHE_SYNC_OUT(); return; L_089EB8BC: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -7495,9 +7496,9 @@ L_089EB8BC: aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(500), std::bit_cast(aot_fpr_12)); - ctx.gpr[31] = (0x089EB8DCu); + aot_gpr_31 = (0x089EB8DCu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EB8DCu) goto L_089EB8DC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EB8DCu) goto L_089EB8DC; AOT_REGCACHE_SYNC_OUT(); return; L_089EB8DC: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -7527,7 +7528,7 @@ L_089EB8DC: const std::uint32_t vfpu_address = ctx.gpr[21] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(52))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(52))); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); @@ -7551,8 +7552,8 @@ L_089EB8DC: const std::uint32_t vfpu_address = ctx.gpr[21] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_5 = (aot_gpr_17 + static_cast(16)); - ctx.gpr[31] = (0x089EB958u); + aot_gpr_5 = (ctx.gpr[17] + static_cast(16)); + aot_gpr_31 = (0x089EB958u); aot_gpr_4 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EB958u) goto L_089EB958; AOT_REGCACHE_SYNC_OUT(); return; @@ -7562,17 +7563,17 @@ L_089EB958: aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_12 = aot_fpr_13 + aot_fpr_12; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(504), std::bit_cast(aot_fpr_12)); - ctx.gpr[31] = (0x089EB974u); + aot_gpr_31 = (0x089EB974u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EB974u) goto L_089EB974; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EB974u) goto L_089EB974; AOT_REGCACHE_SYNC_OUT(); return; L_089EB974: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_7 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-10708))); - ctx.gpr[31] = (0x089EB988u); + aot_gpr_31 = (0x089EB988u); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-10712))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EB988u) goto L_089EB988; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EB988u) goto L_089EB988; AOT_REGCACHE_SYNC_OUT(); return; L_089EB988: ctx.gpr[1] = (ctx.gpr[3] << 1u); @@ -7587,17 +7588,17 @@ L_089EB988: aot_gpr_5 = (aot_gpr_4 + aot_gpr_7); aot_gpr_4 = (ctx.gpr[8] | 0u); ctx.gpr[22] = (aot_gpr_4 | 0u); - ctx.gpr[31] = (0x089EB9C0u); + aot_gpr_31 = (0x089EB9C0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EB9C0u) goto L_089EB9C0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EB9C0u) goto L_089EB9C0; AOT_REGCACHE_SYNC_OUT(); return; L_089EB9C0: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_7 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-10692))); - ctx.gpr[31] = (0x089EB9D4u); + aot_gpr_31 = (0x089EB9D4u); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-10696))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EB9D4u) goto L_089EB9D4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EB9D4u) goto L_089EB9D4; AOT_REGCACHE_SYNC_OUT(); return; L_089EB9D4: ctx.gpr[1] = (ctx.gpr[3] << 1u); @@ -7622,7 +7623,7 @@ L_089EB9D4: aot_gpr_7 = (0u | 0u); ctx.gpr[9] = (ctx.gpr[22] | 0u); ctx.gpr[11] = (0u | 0u); - ctx.gpr[31] = (0x089EBA38u); + aot_gpr_31 = (0x089EBA38u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0063_entry, 63u, 90u, 0x0890043Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EBA38u) goto L_089EBA38; AOT_REGCACHE_SYNC_OUT(); return; @@ -7653,17 +7654,17 @@ L_089EBA50: goto L_089EBA58; } L_089EBA58: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(52))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(52))); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(52), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(52), static_cast(aot_gpr_4)); if (branch_taken) { goto L_089EBA6C; } goto L_089EBA68; } L_089EBA68: - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(52), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(52), static_cast(0u)); goto L_089EBA6C; L_089EBA6C: ctx.gpr[16] = (ctx.gpr[16] + static_cast(1)); @@ -7682,15 +7683,15 @@ L_089EBA7C: ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); ctx.gpr[16] = aot_run_words[3]; - aot_gpr_17 = aot_run_words[4]; + ctx.gpr[17] = aot_run_words[4]; ctx.gpr[18] = aot_run_words[5]; ctx.gpr[19] = aot_run_words[6]; ctx.gpr[20] = aot_run_words[7]; ctx.gpr[21] = aot_run_words[8]; ctx.gpr[22] = aot_run_words[9]; - ctx.gpr[31] = aot_run_words[10]; + aot_gpr_31 = aot_run_words[10]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(576)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -7705,7 +7706,7 @@ L_089EBAB0: aot_gpr_6 = (2237u << 16u); aot_gpr_6 = (aot_gpr_6 + static_cast(-30144)); aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_4); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -7713,7 +7714,7 @@ L_089EBAB0: AOT_REGCACHE_SYNC_OUT(); return; L_089EBAD8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -7747,13 +7748,13 @@ L_089EBB08: goto L_089EBB14; } L_089EBB14: - ctx.gpr[31] = (0x089EBB1Cu); + aot_gpr_31 = (0x089EBB1Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EBB1Cu) goto L_089EBB1C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EBB1Cu) goto L_089EBB1C; AOT_REGCACHE_SYNC_OUT(); return; L_089EBB1C: - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -7761,10 +7762,10 @@ L_089EBB1C: AOT_REGCACHE_SYNC_OUT(); return; L_089EBB28: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_17); - aot_gpr_17 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[16]); - { const std::uint32_t aot_run_words[4]{ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[4]{ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(12), aot_run_words); } { const bool branch_taken = aot_gpr_4 == 0u; ctx.gpr[16] = (aot_gpr_5 | 0u); @@ -7776,13 +7777,13 @@ L_089EBB28: L_089EBB50: aot_gpr_4 = (2234u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(26880)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(4), aot_gpr_4); - ctx.gpr[31] = (0x089EBB64u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(4), aot_gpr_4); + aot_gpr_31 = (0x089EBB64u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0122_entry, 122u, 47u, 0x089EC3FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EBB64u) goto L_089EBB64; AOT_REGCACHE_SYNC_OUT(); return; L_089EBB64: - ctx.gpr[20] = (aot_gpr_17 + static_cast(12)); + ctx.gpr[20] = (ctx.gpr[17] + static_cast(12)); { const bool branch_taken = ctx.gpr[20] == 0u; // nop if (branch_taken) { @@ -7791,8 +7792,8 @@ L_089EBB64: goto L_089EBB70; } L_089EBB70: - ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(12))); - ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(16))); + ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(12))); + ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(16))); { const bool branch_taken = ctx.gpr[18] == ctx.gpr[19]; aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(0), static_cast(0u)); if (branch_taken) { @@ -7804,7 +7805,7 @@ L_089EBB80: aot_gpr_4 = (ctx.gpr[18] | 0u); goto L_089EBB84; L_089EBB84: - ctx.gpr[31] = (0x089EBB8Cu); + aot_gpr_31 = (0x089EBB8Cu); aot_gpr_5 = (0u | 2u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0122_entry, 122u, 52u, 0x089EC4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EBB8Cu) goto L_089EBB8C; AOT_REGCACHE_SYNC_OUT(); return; @@ -7826,7 +7827,7 @@ L_089EBB98: goto L_089EBBA0; } L_089EBBA0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(12))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(12))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -7843,12 +7844,12 @@ L_089EBBAC: goto L_089EBBB4; } L_089EBBB4: - ctx.gpr[31] = (0x089EBBBCu); + aot_gpr_31 = (0x089EBBBCu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EBBBCu) goto L_089EBBBC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EBBBCu) goto L_089EBBBC; AOT_REGCACHE_SYNC_OUT(); return; L_089EBBBC: - { const bool branch_taken = aot_gpr_17 == 0u; + { const bool branch_taken = ctx.gpr[17] == 0u; aot_gpr_4 = (ctx.gpr[16] & 1u); if (branch_taken) { goto L_089EBBE8; @@ -7858,8 +7859,8 @@ L_089EBBBC: L_089EBBC4: aot_gpr_4 = (2235u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-26580)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(4), aot_gpr_4); - { const bool branch_taken = aot_gpr_17 == 0u; + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(4), aot_gpr_4); + { const bool branch_taken = ctx.gpr[17] == 0u; aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(5844), 0u); if (branch_taken) { goto L_089EBBE4; @@ -7869,7 +7870,7 @@ L_089EBBC4: L_089EBBD8: aot_gpr_4 = (2235u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28772)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(4), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(4), aot_gpr_4); goto L_089EBBE4; L_089EBBE4: aot_gpr_4 = (ctx.gpr[16] & 1u); @@ -7883,21 +7884,21 @@ L_089EBBE8: goto L_089EBBF0; } L_089EBBF0: - ctx.gpr[31] = (0x089EBBF8u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EBBF8u) goto L_089EBBF8; + aot_gpr_31 = (0x089EBBF8u); + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EBBF8u) goto L_089EBBF8; AOT_REGCACHE_SYNC_OUT(); return; L_089EBBF8: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(4), aot_run_words); ctx.gpr[16] = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; - ctx.gpr[31] = aot_run_words[5]; + aot_gpr_31 = aot_run_words[5]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -7918,10 +7919,10 @@ L_089EBC18: aot_gpr_7 = (static_cast(static_cast(aot_gpr_7) >> 6u)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_7); aot_gpr_7 = (aot_gpr_7 < ctx.gpr[8] ? 1u : 0u); - { const std::uint32_t aot_run_words[6]{aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[6]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(32), aot_run_words); } { const bool branch_taken = aot_gpr_7 == 0u; - aot_gpr_17 = (aot_gpr_29 + static_cast(4)); + ctx.gpr[17] = (aot_gpr_29 + static_cast(4)); if (branch_taken) { goto L_089EBC78; } @@ -7929,17 +7930,17 @@ L_089EBC18: } L_089EBC70: { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (aot_gpr_29 | 0u); + ctx.gpr[17] = (aot_gpr_29 | 0u); if (branch_taken) { goto L_089EBC78; } goto L_089EBC78; } L_089EBC78: - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); - aot_gpr_17 = (aot_gpr_7 + aot_gpr_17); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (aot_gpr_7 + ctx.gpr[17]); + { const bool branch_taken = ctx.gpr[17] == 0u; ctx.gpr[19] = (0u | 0u); if (branch_taken) { goto L_089EBCE0; @@ -7949,9 +7950,9 @@ L_089EBC78: L_089EBC8C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_6); - aot_gpr_4 = (aot_gpr_17 << 6u); + aot_gpr_4 = (ctx.gpr[17] << 6u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_5); - ctx.gpr[31] = (0x089EBCA4u); + aot_gpr_31 = (0x089EBCA4u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_4); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 474u, 0x08ABE308u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EBCA4u) goto L_089EBCA4; AOT_REGCACHE_SYNC_OUT(); return; @@ -7974,7 +7975,7 @@ L_089EBCBC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_5); - ctx.gpr[31] = (0x089EBCD0u); + aot_gpr_31 = (0x089EBCD0u); aot_gpr_4 = (aot_gpr_7 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 289u, 0x08B65438u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EBCD0u) goto L_089EBCD0; AOT_REGCACHE_SYNC_OUT(); return; @@ -8276,7 +8277,7 @@ L_089EBF50: aot_gpr_4 = (ctx.gpr[21] | 0u); goto L_089EBF54; L_089EBF54: - ctx.gpr[31] = (0x089EBF5Cu); + aot_gpr_31 = (0x089EBF5Cu); aot_gpr_5 = (0u | 2u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0122_entry, 122u, 52u, 0x089EC4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EBF5Cu) goto L_089EBF5C; AOT_REGCACHE_SYNC_OUT(); return; @@ -8299,12 +8300,12 @@ L_089EBF68: goto L_089EBF74; } L_089EBF74: - ctx.gpr[31] = (0x089EBF7Cu); + aot_gpr_31 = (0x089EBF7Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EBF7Cu) goto L_089EBF7C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EBF7Cu) goto L_089EBF7C; AOT_REGCACHE_SYNC_OUT(); return; L_089EBF7C: - aot_gpr_4 = (aot_gpr_17 << 6u); + aot_gpr_4 = (ctx.gpr[17] << 6u); aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), ctx.gpr[18]); aot_gpr_4 = (ctx.gpr[18] + aot_gpr_4); aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(4), ctx.gpr[19]); @@ -8312,14 +8313,14 @@ L_089EBF7C: { std::uint32_t aot_run_words[7]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(28), aot_run_words); ctx.gpr[16] = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; ctx.gpr[21] = aot_run_words[5]; - ctx.gpr[31] = aot_run_words[6]; + aot_gpr_31 = aot_run_words[6]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(64)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -8327,14 +8328,14 @@ L_089EBF7C: AOT_REGCACHE_SYNC_OUT(); return; L_089EBFB4: aot_gpr_29 = (aot_gpr_29 + static_cast(-112)); - { const std::uint32_t aot_run_words[5]{std::bit_cast(aot_fpr_20), ctx.gpr[16], aot_gpr_17, ctx.gpr[18], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[5]{std::bit_cast(aot_fpr_20), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(84), aot_run_words); } aot_fpr_20 = std::bit_cast(std::bit_cast(aot_fpr_12)); ctx.gpr[18] = (aot_gpr_5 | 0u); ctx.gpr[16] = (aot_gpr_4 | 0u); - aot_gpr_17 = (aot_gpr_29 + static_cast(16)); - ctx.gpr[31] = (0x089EBFE4u); - aot_gpr_4 = (aot_gpr_17 | 0u); + ctx.gpr[17] = (aot_gpr_29 + static_cast(16)); + aot_gpr_31 = (0x089EBFE4u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0122_entry, 122u, 51u, 0x089EC460u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EBFE4u) goto L_089EBFE4; AOT_REGCACHE_SYNC_OUT(); return; L_089EBFE4: diff --git a/profiles/vcs/generated/generated_unit_0122.cpp b/profiles/vcs/generated/generated_unit_0122.cpp index 1f8f57d..4e9bf5f 100644 --- a/profiles/vcs/generated/generated_unit_0122.cpp +++ b/profiles/vcs/generated/generated_unit_0122.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,11 +139,11 @@ static const std::uint16_t kEntryIds_recomp_unit_0122[4075] = { }; void recomp_unit_0122_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,6,16,31 fprs=12,13,20,14 gpr_occ=3834 fpr_occ=1055 gpr_total=4867 fpr_total=1295 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,6,29,16,31 fprs=12,13,20,14 gpr_occ=3909 fpr_occ=1056 gpr_total=5007 fpr_total=1296 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; - std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_6 = ctx.gpr[6]; + std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_16 = ctx.gpr[16]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; float aot_fpr_12 = ctx.fpr[12]; @@ -150,8 +151,8 @@ void recomp_unit_0122_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t dir float aot_fpr_20 = ctx.fpr[20]; float aot_fpr_14 = ctx.fpr[14]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[6] = aot_gpr_6; ctx.gpr[16] = aot_gpr_16; ctx.gpr[31] = aot_gpr_31; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; ctx.fpr[14] = aot_fpr_14; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_31 = ctx.gpr[31]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_14 = ctx.fpr[14]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[6] = aot_gpr_6; ctx.gpr[29] = aot_gpr_29; ctx.gpr[16] = aot_gpr_16; ctx.gpr[31] = aot_gpr_31; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; ctx.fpr[14] = aot_fpr_14; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_31 = ctx.gpr[31]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_14 = ctx.fpr[14]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -1393,7 +1394,7 @@ L_089EC4E8: L_089EC4F4: aot_gpr_31 = (0x089EC4FCu); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EC4FCu) goto L_089EC4FC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EC4FCu) goto L_089EC4FC; AOT_REGCACHE_SYNC_OUT(); return; L_089EC4FC: { std::uint32_t aot_run_words[3]{}; @@ -1525,7 +1526,7 @@ L_089EC5C4: ctx.gpr[7] = (0u | 140u); aot_gpr_31 = (0x089EC5DCu); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EC5DCu) goto L_089EC5DC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EC5DCu) goto L_089EC5DC; AOT_REGCACHE_SYNC_OUT(); return; L_089EC5DC: { const bool branch_taken = 0u == 0u; @@ -3351,7 +3352,7 @@ L_089ED860: ctx.gpr[7] = (0u | 255u); aot_gpr_31 = (0x089ED878u); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ED878u) goto L_089ED878; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089ED878u) goto L_089ED878; AOT_REGCACHE_SYNC_OUT(); return; L_089ED878: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(0))); @@ -3588,7 +3589,7 @@ L_089EDA44: aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(2053), static_cast(0u)); aot_gpr_31 = (0x089EDA88u); ctx.fpr[22] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EDA88u) goto L_089EDA88; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EDA88u) goto L_089EDA88; AOT_REGCACHE_SYNC_OUT(); return; L_089EDA88: aot_fpr_12 = ctx.fpr[22] - aot_fpr_20; @@ -3739,7 +3740,7 @@ L_089EDBC8: L_089EDBEC: aot_gpr_31 = (0x089EDBF4u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EDBF4u) goto L_089EDBF4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EDBF4u) goto L_089EDBF4; AOT_REGCACHE_SYNC_OUT(); return; L_089EDBF4: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9956))); @@ -3755,7 +3756,7 @@ L_089EDC08: aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x089EDC1Cu); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EDC1Cu) goto L_089EDC1C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_16, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EDC1Cu) goto L_089EDC1C; AOT_REGCACHE_SYNC_OUT(); return; L_089EDC1C: aot_gpr_5 = (ctx.gpr[3] | 0u); @@ -4497,7 +4498,7 @@ L_089EE194: L_089EE1A4: aot_gpr_31 = (0x089EE1ACu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EE1ACu) goto L_089EE1AC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EE1ACu) goto L_089EE1AC; AOT_REGCACHE_SYNC_OUT(); return; L_089EE1AC: aot_gpr_4 = (ctx.gpr[2] | 0u); @@ -4505,7 +4506,7 @@ L_089EE1AC: ctx.gpr[7] = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x089EE1C0u); aot_gpr_6 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EE1C0u) goto L_089EE1C0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EE1C0u) goto L_089EE1C0; AOT_REGCACHE_SYNC_OUT(); return; L_089EE1C0: ctx.gpr[1] = (ctx.gpr[3] << 1u); @@ -5046,7 +5047,7 @@ L_089EE54C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast(9688))); aot_gpr_31 = (0x089EE558u); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(1969), static_cast(0u)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EE558u) goto L_089EE558; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EE558u) goto L_089EE558; AOT_REGCACHE_SYNC_OUT(); return; L_089EE558: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9972))); @@ -5054,7 +5055,7 @@ L_089EE558: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x089EE56Cu); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EE56Cu) goto L_089EE56C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EE56Cu) goto L_089EE56C; AOT_REGCACHE_SYNC_OUT(); return; L_089EE56C: ctx.gpr[1] = (ctx.gpr[3] << 1u); @@ -5453,7 +5454,7 @@ L_089EE814: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(9688))); aot_gpr_31 = (0x089EE820u); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(1969), static_cast(0u)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EE820u) goto L_089EE820; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EE820u) goto L_089EE820; AOT_REGCACHE_SYNC_OUT(); return; L_089EE820: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9972))); @@ -5461,7 +5462,7 @@ L_089EE820: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x089EE834u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EE834u) goto L_089EE834; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EE834u) goto L_089EE834; AOT_REGCACHE_SYNC_OUT(); return; L_089EE834: ctx.gpr[1] = (ctx.gpr[3] << 1u); @@ -6167,7 +6168,7 @@ L_089EED50: L_089EED68: aot_gpr_31 = (0x089EED70u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EED70u) goto L_089EED70; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EED70u) goto L_089EED70; AOT_REGCACHE_SYNC_OUT(); return; L_089EED70: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -6468,7 +6469,7 @@ L_089EEF34: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_31 = (0x089EEF48u); ctx.fpr[24] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(160))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EEF48u) goto L_089EEF48; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EEF48u) goto L_089EEF48; AOT_REGCACHE_SYNC_OUT(); return; L_089EEF48: aot_gpr_4 = (ctx.gpr[2] & 255u); @@ -6483,7 +6484,7 @@ L_089EEF48: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(160), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x089EEF78u); ctx.fpr[28] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(164))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EEF78u) goto L_089EEF78; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EEF78u) goto L_089EEF78; AOT_REGCACHE_SYNC_OUT(); return; L_089EEF78: aot_gpr_4 = (ctx.gpr[2] & 255u); @@ -6629,7 +6630,7 @@ L_089EF038: L_089EF050: aot_gpr_31 = (0x089EF058u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EF058u) goto L_089EF058; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EF058u) goto L_089EF058; AOT_REGCACHE_SYNC_OUT(); return; L_089EF058: aot_fpr_12 = aot_fpr_20 - ctx.fpr[22]; @@ -7525,7 +7526,7 @@ L_089EF674: L_089EF67C: aot_gpr_31 = (0x089EF684u); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EF684u) goto L_089EF684; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089474C4, 80u, 661u, 0x089474C4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089EF684u) goto L_089EF684; AOT_REGCACHE_SYNC_OUT(); return; L_089EF684: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(208))); diff --git a/profiles/vcs/generated/generated_unit_0123.cpp b/profiles/vcs/generated/generated_unit_0123.cpp index 35b2ec0..1edc71a 100644 --- a/profiles/vcs/generated/generated_unit_0123.cpp +++ b/profiles/vcs/generated/generated_unit_0123.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0123[4085] = { }; void recomp_unit_0123_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,6,16,17 fprs=12,13,14,20 gpr_occ=3770 fpr_occ=1091 gpr_total=5109 fpr_total=1326 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,6,31,16 fprs=12,13,14,20 gpr_occ=3810 fpr_occ=1093 gpr_total=5263 fpr_total=1328 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_6 = ctx.gpr[6]; + std::uint32_t aot_gpr_31 = ctx.gpr[31]; std::uint32_t aot_gpr_16 = ctx.gpr[16]; - std::uint32_t aot_gpr_17 = ctx.gpr[17]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_14 = ctx.fpr[14]; float aot_fpr_20 = ctx.fpr[20]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[6] = aot_gpr_6; ctx.gpr[16] = aot_gpr_16; ctx.gpr[17] = aot_gpr_17; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[20] = aot_fpr_20; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_17 = ctx.gpr[17]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_20 = ctx.fpr[20]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[6] = aot_gpr_6; ctx.gpr[31] = aot_gpr_31; ctx.gpr[16] = aot_gpr_16; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[20] = aot_fpr_20; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_16 = ctx.gpr[16]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_20 = ctx.fpr[20]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -838,12 +839,12 @@ L_089F0000: const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - ctx.gpr[31] = (0x089F0010u); + aot_gpr_31 = (0x089F0010u); aot_gpr_4 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F0010u) goto L_089F0010; AOT_REGCACHE_SYNC_OUT(); return; L_089F0010: - ctx.gpr[31] = (0x089F0018u); + aot_gpr_31 = (0x089F0018u); aot_gpr_4 = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0098_entry, 98u, 347u, 0x0898CF8Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F0018u) goto L_089F0018; AOT_REGCACHE_SYNC_OUT(); return; @@ -872,7 +873,7 @@ L_089F003C: ctx.gpr[22] = (aot_gpr_29 + static_cast(432)); aot_gpr_4 = (ctx.gpr[22] | 0u); aot_gpr_5 = (0u | 28u); - ctx.gpr[31] = (0x089F0050u); + aot_gpr_31 = (0x089F0050u); aot_gpr_6 = (0u | 5000u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0143_entry, 143u, 117u, 0x08A40A8Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F0050u) goto L_089F0050; AOT_REGCACHE_SYNC_OUT(); return; @@ -896,10 +897,10 @@ L_089F0050: ctx.gpr[20] = (aot_gpr_29 + static_cast(496)); ctx.gpr[19] = (aot_gpr_29 + static_cast(464)); ctx.gpr[23] = (aot_gpr_29 + static_cast(512)); - aot_gpr_17 = (aot_gpr_29 + static_cast(400)); + ctx.gpr[17] = (aot_gpr_29 + static_cast(400)); goto L_089F00A0; L_089F00A0: - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -908,15 +909,15 @@ L_089F00A0: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(616), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(616), ctx.gpr[17]); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(612))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(612))); aot_gpr_4 = (ctx.gpr[21] | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x089F00C0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_31 = (0x089F00C0u); aot_gpr_6 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0122_entry, 122u, 220u, 0x089ED8FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F00C0u) goto L_089F00C0; AOT_REGCACHE_SYNC_OUT(); return; @@ -975,41 +976,41 @@ L_089F00C0: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (ctx.gpr[22] | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_6 = (aot_gpr_16 | 0u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 0u); - ctx.gpr[31] = (0x089F010Cu); + aot_gpr_31 = (0x089F010Cu); ctx.gpr[9] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0145_entry, 145u, 46u, 0x08A4842Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F010Cu) goto L_089F010C; AOT_REGCACHE_SYNC_OUT(); return; L_089F010C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(512), std::bit_cast(aot_fpr_20)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(516), std::bit_cast(ctx.fpr[22])); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (aot_gpr_16 | 0u); aot_gpr_6 = (ctx.gpr[23] | 0u); - ctx.gpr[31] = (0x089F0128u); + aot_gpr_31 = (0x089F0128u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[26])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0143_entry, 143u, 255u, 0x08A41568u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F0128u) goto L_089F0128; AOT_REGCACHE_SYNC_OUT(); return; L_089F0128: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(608))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(96))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); aot_gpr_6 = (0u | 55u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); - ctx.gpr[31] = (0x089F0140u); + aot_gpr_31 = (0x089F0140u); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[24])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 503u, 0x08A05F80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F0140u) goto L_089F0140; AOT_REGCACHE_SYNC_OUT(); return; L_089F0140: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(656), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(656), aot_gpr_4); ctx.gpr[18] = (ctx.gpr[18] + static_cast(1)); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(616))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(616))); aot_gpr_4 = (static_cast(ctx.gpr[18]) < 2 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(16)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(16)); if (branch_taken) { goto L_089F00A0; } @@ -1023,7 +1024,7 @@ L_089F015C: ctx.fpr[24] = std::bit_cast(aot_run_words[2]); ctx.fpr[26] = std::bit_cast(aot_run_words[3]); aot_gpr_16 = aot_run_words[4]; - aot_gpr_17 = aot_run_words[5]; + ctx.gpr[17] = aot_run_words[5]; ctx.gpr[18] = aot_run_words[6]; ctx.gpr[19] = aot_run_words[7]; ctx.gpr[20] = aot_run_words[8]; @@ -1031,9 +1032,9 @@ L_089F015C: ctx.gpr[22] = aot_run_words[10]; ctx.gpr[23] = aot_run_words[11]; ctx.gpr[30] = aot_run_words[12]; - ctx.gpr[31] = aot_run_words[13]; + aot_gpr_31 = aot_run_words[13]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(688)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -1041,9 +1042,9 @@ L_089F015C: AOT_REGCACHE_SYNC_OUT(); return; L_089F019C: aot_gpr_29 = (aot_gpr_29 + static_cast(-256)); - { const std::uint32_t aot_run_words[15]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[15]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(192), aot_run_words); } - ctx.gpr[31] = (0x089F01E4u); + aot_gpr_31 = (0x089F01E4u); aot_gpr_16 = (aot_gpr_4 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 662u, 0x08AFEF74u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F01E4u) goto L_089F01E4; AOT_REGCACHE_SYNC_OUT(); return; @@ -1055,7 +1056,7 @@ L_089F01E4: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); aot_gpr_6 = (16585u << 16u); aot_gpr_6 = (aot_gpr_6 | 4059u); - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); ctx.fpr[30] = std::bit_cast(aot_gpr_6); aot_gpr_5 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_5) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; @@ -1069,7 +1070,7 @@ L_089F0214: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); goto L_089F0224; L_089F0224: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(72))); @@ -1098,7 +1099,7 @@ L_089F0240: } L_089F0258: aot_gpr_4 = (0u | 19u); - ctx.gpr[31] = (0x089F0264u); + aot_gpr_31 = (0x089F0264u); aot_gpr_5 = (0u | 6u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0079_entry, 79u, 248u, 0x08941B38u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F0264u) goto L_089F0264; AOT_REGCACHE_SYNC_OUT(); return; @@ -1186,7 +1187,7 @@ L_089F026C: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2040))); aot_gpr_6 = (aot_gpr_16 + static_cast(11)); ctx.gpr[7] = (0u | 1u); - ctx.gpr[31] = (0x089F02ECu); + aot_gpr_31 = (0x089F02ECu); ctx.gpr[8] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0122_entry, 122u, 301u, 0x089EDFE4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F02ECu) goto L_089F02EC; AOT_REGCACHE_SYNC_OUT(); return; @@ -1217,14 +1218,14 @@ L_089F0324: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(1688))); aot_fpr_12 = aot_fpr_12 / aot_fpr_13; aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(1520))); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_6 = (ctx.gpr[23] | 0u); aot_fpr_12 = ctx.fpr[22] - aot_fpr_12; ctx.fpr[24] = aot_fpr_14 - aot_fpr_12; aot_fpr_12 = ctx.fpr[22] - aot_fpr_12; ctx.fpr[24] = ctx.fpr[24] / aot_fpr_12; - ctx.gpr[31] = (0x089F0358u); + aot_gpr_31 = (0x089F0358u); ctx.gpr[7] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0167_entry, 167u, 384u, 0x08AA1844u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F0358u) goto L_089F0358; AOT_REGCACHE_SYNC_OUT(); return; @@ -1332,16 +1333,16 @@ L_089F03F8: L_089F0414: aot_gpr_4 = (16672u << 16u); aot_fpr_20 = std::bit_cast(aot_gpr_4); - ctx.gpr[31] = (0x089F0424u); + aot_gpr_31 = (0x089F0424u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F0424u) goto L_089F0424; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F0424u) goto L_089F0424; AOT_REGCACHE_SYNC_OUT(); return; L_089F0424: - aot_gpr_17 = (aot_gpr_29 + static_cast(144)); + ctx.gpr[17] = (aot_gpr_29 + static_cast(144)); ctx.gpr[21] = (ctx.gpr[3] | 0u); ctx.gpr[20] = (ctx.gpr[2] | 0u); - ctx.gpr[31] = (0x089F0438u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_31 = (0x089F0438u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 16u, 0x08960154u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F0438u) goto L_089F0438; AOT_REGCACHE_SYNC_OUT(); return; L_089F0438: @@ -1352,36 +1353,36 @@ L_089F0438: aot_fpr_12 = aot_fpr_13 - aot_fpr_12; aot_fpr_14 = std::bit_cast(aot_gpr_4); aot_fpr_12 = aot_fpr_12 - aot_fpr_14; - ctx.gpr[31] = (0x089F045Cu); + aot_gpr_31 = (0x089F045Cu); aot_fpr_12 = aot_fpr_12 - aot_fpr_20; - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F045Cu) goto L_089F045C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F045Cu) goto L_089F045C; AOT_REGCACHE_SYNC_OUT(); return; L_089F045C: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9916))); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9920))); aot_gpr_5 = (ctx.gpr[3] | 0u); - ctx.gpr[31] = (0x089F0470u); + aot_gpr_31 = (0x089F0470u); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F0470u) goto L_089F0470; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_16, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F0470u) goto L_089F0470; AOT_REGCACHE_SYNC_OUT(); return; L_089F0470: aot_gpr_5 = (ctx.gpr[21] | 0u); aot_gpr_4 = (ctx.gpr[20] | 0u); ctx.gpr[7] = (ctx.gpr[3] | 0u); - ctx.gpr[31] = (0x089F0484u); + aot_gpr_31 = (0x089F0484u); aot_gpr_6 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F0484u) goto L_089F0484; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61EF4, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F0484u) goto L_089F0484; AOT_REGCACHE_SYNC_OUT(); return; L_089F0484: aot_gpr_5 = (ctx.gpr[3] | 0u); - ctx.gpr[31] = (0x089F0490u); + aot_gpr_31 = (0x089F0490u); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F0490u) goto L_089F0490; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B627F0, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F0490u) goto L_089F0490; AOT_REGCACHE_SYNC_OUT(); return; L_089F0490: aot_fpr_20 = std::bit_cast(std::bit_cast(ctx.fpr[0])); - ctx.gpr[31] = (0x089F049Cu); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_31 = (0x089F049Cu); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 16u, 0x08960154u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F049Cu) goto L_089F049C; AOT_REGCACHE_SYNC_OUT(); return; L_089F049C: @@ -1407,7 +1408,7 @@ L_089F04D4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); - ctx.gpr[31] = (0x089F04ECu); + aot_gpr_31 = (0x089F04ECu); aot_gpr_5 = (std::bit_cast(aot_fpr_14)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0193_entry, 193u, 371u, 0x08B09D30u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F04ECu) goto L_089F04EC; AOT_REGCACHE_SYNC_OUT(); return; @@ -1585,7 +1586,7 @@ L_089F063C: goto L_089F0648; } L_089F0648: - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1312))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1312))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); ctx.gpr[20] = (aot_gpr_29 + static_cast(80)); { const bool branch_taken = aot_gpr_4 == 0u; @@ -1599,26 +1600,26 @@ L_089F065C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_4 = (aot_gpr_17 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(16)); if (branch_taken) { goto L_089F0678; } goto L_089F066C; } L_089F066C: - ctx.gpr[31] = (0x089F0674u); + aot_gpr_31 = (0x089F0674u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 129u, 0x089D89E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F0674u) goto L_089F0674; AOT_REGCACHE_SYNC_OUT(); return; L_089F0674: - aot_gpr_4 = (aot_gpr_17 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(16)); goto L_089F0678; L_089F0678: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(72), aot_gpr_4); - ctx.gpr[31] = (0x089F0690u); + aot_gpr_31 = (0x089F0690u); aot_gpr_4 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 939u, 0x0885FF48u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F0690u) goto L_089F0690; AOT_REGCACHE_SYNC_OUT(); return; @@ -1637,7 +1638,7 @@ L_089F0690: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1944))); - ctx.gpr[31] = (0x089F06A4u); + aot_gpr_31 = (0x089F06A4u); aot_gpr_4 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 921u, 0x0885FA00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F06A4u) goto L_089F06A4; AOT_REGCACHE_SYNC_OUT(); return; @@ -1648,12 +1649,12 @@ L_089F06A4: aot_fpr_13 = std::bit_cast(aot_run_words[1]); aot_fpr_14 = std::bit_cast(aot_run_words[2]); } - ctx.gpr[31] = (0x089F06B8u); + aot_gpr_31 = (0x089F06B8u); aot_gpr_4 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 4u, 0x08860094u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F06B8u) goto L_089F06B8; AOT_REGCACHE_SYNC_OUT(); return; L_089F06B8: - ctx.gpr[31] = (0x089F06C0u); + aot_gpr_31 = (0x089F06C0u); aot_gpr_4 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 936u, 0x0885FF14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F06C0u) goto L_089F06C0; AOT_REGCACHE_SYNC_OUT(); return; @@ -1667,7 +1668,7 @@ L_089F06C0: goto L_089F06CC; } L_089F06CC: - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1316))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1316))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); ctx.gpr[20] = (aot_gpr_29 + static_cast(80)); { const bool branch_taken = aot_gpr_4 == 0u; @@ -1681,26 +1682,26 @@ L_089F06E0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_4 = (aot_gpr_17 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(16)); if (branch_taken) { goto L_089F06FC; } goto L_089F06F0; } L_089F06F0: - ctx.gpr[31] = (0x089F06F8u); + aot_gpr_31 = (0x089F06F8u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 129u, 0x089D89E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F06F8u) goto L_089F06F8; AOT_REGCACHE_SYNC_OUT(); return; L_089F06F8: - aot_gpr_4 = (aot_gpr_17 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(16)); goto L_089F06FC; L_089F06FC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(72), aot_gpr_4); - ctx.gpr[31] = (0x089F0714u); + aot_gpr_31 = (0x089F0714u); aot_gpr_4 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 939u, 0x0885FF48u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F0714u) goto L_089F0714; AOT_REGCACHE_SYNC_OUT(); return; @@ -1719,7 +1720,7 @@ L_089F0714: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1944))); - ctx.gpr[31] = (0x089F0728u); + aot_gpr_31 = (0x089F0728u); aot_gpr_4 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 921u, 0x0885FA00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F0728u) goto L_089F0728; AOT_REGCACHE_SYNC_OUT(); return; @@ -1730,12 +1731,12 @@ L_089F0728: aot_fpr_13 = std::bit_cast(aot_run_words[1]); aot_fpr_14 = std::bit_cast(aot_run_words[2]); } - ctx.gpr[31] = (0x089F073Cu); + aot_gpr_31 = (0x089F073Cu); aot_gpr_4 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 4u, 0x08860094u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F073Cu) goto L_089F073C; AOT_REGCACHE_SYNC_OUT(); return; L_089F073C: - ctx.gpr[31] = (0x089F0744u); + aot_gpr_31 = (0x089F0744u); aot_gpr_4 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 936u, 0x0885FF14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F0744u) goto L_089F0744; AOT_REGCACHE_SYNC_OUT(); return; @@ -1749,7 +1750,7 @@ L_089F0744: goto L_089F0750; } L_089F0750: - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1320))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1320))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); ctx.gpr[20] = (aot_gpr_29 + static_cast(80)); { const bool branch_taken = aot_gpr_4 == 0u; @@ -1763,26 +1764,26 @@ L_089F0764: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_4 = (aot_gpr_17 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(16)); if (branch_taken) { goto L_089F0780; } goto L_089F0774; } L_089F0774: - ctx.gpr[31] = (0x089F077Cu); + aot_gpr_31 = (0x089F077Cu); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 129u, 0x089D89E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F077Cu) goto L_089F077C; AOT_REGCACHE_SYNC_OUT(); return; L_089F077C: - aot_gpr_4 = (aot_gpr_17 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(16)); goto L_089F0780; L_089F0780: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(72), aot_gpr_4); - ctx.gpr[31] = (0x089F0798u); + aot_gpr_31 = (0x089F0798u); aot_gpr_4 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 939u, 0x0885FF48u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F0798u) goto L_089F0798; AOT_REGCACHE_SYNC_OUT(); return; @@ -1801,7 +1802,7 @@ L_089F0798: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1948))); - ctx.gpr[31] = (0x089F07ACu); + aot_gpr_31 = (0x089F07ACu); aot_gpr_4 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 917u, 0x0885F9B0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F07ACu) goto L_089F07AC; AOT_REGCACHE_SYNC_OUT(); return; @@ -1812,12 +1813,12 @@ L_089F07AC: aot_fpr_13 = std::bit_cast(aot_run_words[1]); aot_fpr_14 = std::bit_cast(aot_run_words[2]); } - ctx.gpr[31] = (0x089F07C0u); + aot_gpr_31 = (0x089F07C0u); aot_gpr_4 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 4u, 0x08860094u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F07C0u) goto L_089F07C0; AOT_REGCACHE_SYNC_OUT(); return; L_089F07C0: - ctx.gpr[31] = (0x089F07C8u); + aot_gpr_31 = (0x089F07C8u); aot_gpr_4 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 936u, 0x0885FF14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F07C8u) goto L_089F07C8; AOT_REGCACHE_SYNC_OUT(); return; @@ -1831,7 +1832,7 @@ L_089F07C8: goto L_089F07D4; } L_089F07D4: - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1324))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1324))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); ctx.gpr[20] = (aot_gpr_29 + static_cast(80)); { const bool branch_taken = aot_gpr_4 == 0u; @@ -1845,26 +1846,26 @@ L_089F07E8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_4 = (aot_gpr_17 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(16)); if (branch_taken) { goto L_089F0804; } goto L_089F07F8; } L_089F07F8: - ctx.gpr[31] = (0x089F0800u); + aot_gpr_31 = (0x089F0800u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 129u, 0x089D89E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F0800u) goto L_089F0800; AOT_REGCACHE_SYNC_OUT(); return; L_089F0800: - aot_gpr_4 = (aot_gpr_17 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(16)); goto L_089F0804; L_089F0804: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(72), aot_gpr_4); - ctx.gpr[31] = (0x089F081Cu); + aot_gpr_31 = (0x089F081Cu); aot_gpr_4 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 939u, 0x0885FF48u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F081Cu) goto L_089F081C; AOT_REGCACHE_SYNC_OUT(); return; @@ -1883,7 +1884,7 @@ L_089F081C: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1948))); - ctx.gpr[31] = (0x089F0830u); + aot_gpr_31 = (0x089F0830u); aot_gpr_4 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 917u, 0x0885F9B0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F0830u) goto L_089F0830; AOT_REGCACHE_SYNC_OUT(); return; @@ -1894,12 +1895,12 @@ L_089F0830: aot_fpr_13 = std::bit_cast(aot_run_words[1]); aot_fpr_14 = std::bit_cast(aot_run_words[2]); } - ctx.gpr[31] = (0x089F0844u); + aot_gpr_31 = (0x089F0844u); aot_gpr_4 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 4u, 0x08860094u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F0844u) goto L_089F0844; AOT_REGCACHE_SYNC_OUT(); return; L_089F0844: - ctx.gpr[31] = (0x089F084Cu); + aot_gpr_31 = (0x089F084Cu); aot_gpr_4 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 936u, 0x0885FF14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F084Cu) goto L_089F084C; AOT_REGCACHE_SYNC_OUT(); return; @@ -1915,7 +1916,7 @@ L_089F084C: L_089F0858: ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1328))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); - aot_gpr_17 = (aot_gpr_29 + static_cast(80)); + ctx.gpr[17] = (aot_gpr_29 + static_cast(80)); { const bool branch_taken = aot_gpr_4 == 0u; ctx.gpr[19] = (aot_gpr_29 + static_cast(48)); if (branch_taken) { @@ -1934,7 +1935,7 @@ L_089F086C: goto L_089F087C; } L_089F087C: - ctx.gpr[31] = (0x089F0884u); + aot_gpr_31 = (0x089F0884u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 129u, 0x089D89E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F0884u) goto L_089F0884; AOT_REGCACHE_SYNC_OUT(); return; @@ -1946,7 +1947,7 @@ L_089F0888: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(72), aot_gpr_4); - ctx.gpr[31] = (0x089F08A0u); + aot_gpr_31 = (0x089F08A0u); aot_gpr_4 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 939u, 0x0885FF48u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F08A0u) goto L_089F08A0; AOT_REGCACHE_SYNC_OUT(); return; @@ -1961,7 +1962,7 @@ L_089F08A0: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1924))); @@ -1969,7 +1970,7 @@ L_089F08A0: aot_gpr_4 = (aot_gpr_4 | 47299u); aot_fpr_13 = std::bit_cast(aot_gpr_4); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - ctx.gpr[31] = (0x089F08C4u); + aot_gpr_31 = (0x089F08C4u); aot_gpr_4 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 921u, 0x0885FA00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F08C4u) goto L_089F08C4; AOT_REGCACHE_SYNC_OUT(); return; @@ -1980,23 +1981,23 @@ L_089F08C4: aot_fpr_13 = std::bit_cast(aot_run_words[1]); aot_fpr_14 = std::bit_cast(aot_run_words[2]); } - ctx.gpr[31] = (0x089F08D8u); + aot_gpr_31 = (0x089F08D8u); aot_gpr_4 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 4u, 0x08860094u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F08D8u) goto L_089F08D8; AOT_REGCACHE_SYNC_OUT(); return; L_089F08D8: - ctx.gpr[31] = (0x089F08E0u); + aot_gpr_31 = (0x089F08E0u); aot_gpr_4 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 936u, 0x0885FF14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F08E0u) goto L_089F08E0; AOT_REGCACHE_SYNC_OUT(); return; L_089F08E0: aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x089F08ECu); + aot_gpr_31 = (0x089F08ECu); aot_gpr_5 = (0u | 2u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0164_entry, 164u, 527u, 0x08A979D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F08ECu) goto L_089F08EC; AOT_REGCACHE_SYNC_OUT(); return; L_089F08EC: - ctx.gpr[31] = (0x089F08F4u); + aot_gpr_31 = (0x089F08F4u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0016_entry, 16u, 130u, 0x0884477Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F08F4u) goto L_089F08F4; AOT_REGCACHE_SYNC_OUT(); return; @@ -2020,7 +2021,7 @@ L_089F0904: goto L_089F0910; } L_089F0910: - ctx.gpr[31] = (0x089F0918u); + aot_gpr_31 = (0x089F0918u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 129u, 0x089D89E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F0918u) goto L_089F0918; AOT_REGCACHE_SYNC_OUT(); return; @@ -2034,16 +2035,16 @@ L_089F0918: ctx.fpr[28] = std::bit_cast(aot_run_words[4]); ctx.fpr[30] = std::bit_cast(aot_run_words[5]); aot_gpr_16 = aot_run_words[6]; - aot_gpr_17 = aot_run_words[7]; + ctx.gpr[17] = aot_run_words[7]; ctx.gpr[18] = aot_run_words[8]; ctx.gpr[19] = aot_run_words[9]; ctx.gpr[20] = aot_run_words[10]; ctx.gpr[21] = aot_run_words[11]; ctx.gpr[22] = aot_run_words[12]; ctx.gpr[23] = aot_run_words[13]; - ctx.gpr[31] = aot_run_words[14]; + aot_gpr_31 = aot_run_words[14]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(256)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -2052,7 +2053,7 @@ L_089F0918: L_089F095C: aot_gpr_29 = (aot_gpr_29 + static_cast(-256)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(440))); - { const std::uint32_t aot_run_words[6]{std::bit_cast(aot_fpr_20), aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[6]{std::bit_cast(aot_fpr_20), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(224), aot_run_words); } { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_16 = (aot_gpr_4 | 0u); @@ -2073,9 +2074,9 @@ L_089F0984: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_17 = (aot_gpr_29 + static_cast(48)); + ctx.gpr[17] = (aot_gpr_29 + static_cast(48)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1969))); @@ -2097,7 +2098,7 @@ L_089F09A4: goto L_089F09B4; } L_089F09B4: - ctx.gpr[31] = (0x089F09BCu); + aot_gpr_31 = (0x089F09BCu); aot_gpr_4 = (0u | 9u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 607u, 0x08AD3698u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F09BCu) goto L_089F09BC; AOT_REGCACHE_SYNC_OUT(); return; @@ -2110,23 +2111,23 @@ L_089F09BC: goto L_089F09C4; } L_089F09C4: - ctx.gpr[31] = (0x089F09CCu); + aot_gpr_31 = (0x089F09CCu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F09CCu) goto L_089F09CC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F09CCu) goto L_089F09CC; AOT_REGCACHE_SYNC_OUT(); return; L_089F09CC: aot_gpr_4 = (ctx.gpr[2] & 65535u); aot_gpr_4 = (aot_gpr_4 & 127u); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (branch_taken) { goto L_089F0AF4; } goto L_089F09DC; } L_089F09DC: - aot_gpr_17 = (aot_gpr_16 + static_cast(48)); - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + ctx.gpr[17] = (aot_gpr_16 + static_cast(48)); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -2194,16 +2195,16 @@ L_089F0A1C: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); - ctx.gpr[18] = (aot_gpr_17 | 0u); + ctx.gpr[18] = (ctx.gpr[17] | 0u); if (branch_taken) { goto L_089F0AE4; } goto L_089F0A50; } L_089F0A50: - aot_gpr_17 = (aot_gpr_29 + static_cast(80)); - aot_gpr_4 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x089F0A60u); + ctx.gpr[17] = (aot_gpr_29 + static_cast(80)); + aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_31 = (0x089F0A60u); aot_gpr_5 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 912u, 0x0885F828u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F0A60u) goto L_089F0A60; AOT_REGCACHE_SYNC_OUT(); return; @@ -2212,12 +2213,12 @@ L_089F0A60: aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1969))); aot_gpr_6 = (aot_gpr_6 + static_cast(-1)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x089F0A78u); + aot_gpr_31 = (0x089F0A78u); aot_gpr_5 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0122_entry, 122u, 271u, 0x089EDDB0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F0A78u) goto L_089F0A78; AOT_REGCACHE_SYNC_OUT(); return; L_089F0A78: - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -2226,7 +2227,7 @@ L_089F0A78: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<4u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(16); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(16); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -2235,7 +2236,7 @@ L_089F0A78: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<5u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(32); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(32); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -2267,13 +2268,13 @@ L_089F0A78: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_17 = (aot_gpr_29 + static_cast(64)); + ctx.gpr[17] = (aot_gpr_29 + static_cast(64)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_4 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x089F0AA8u); + aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_31 = (0x089F0AA8u); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F0AA8u) goto L_089F0AA8; AOT_REGCACHE_SYNC_OUT(); return; @@ -2284,7 +2285,7 @@ L_089F0AA8: aot_fpr_13 = std::bit_cast(aot_run_words[1]); aot_fpr_14 = std::bit_cast(aot_run_words[2]); } - ctx.gpr[31] = (0x089F0ABCu); + aot_gpr_31 = (0x089F0ABCu); aot_gpr_4 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 519u, 0x08893460u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F0ABCu) goto L_089F0ABC; AOT_REGCACHE_SYNC_OUT(); return; @@ -2385,7 +2386,7 @@ L_089F0B34: aot_fpr_13 = std::bit_cast(aot_run_words[1]); aot_fpr_14 = std::bit_cast(aot_run_words[2]); } - ctx.gpr[31] = (0x089F0B48u); + aot_gpr_31 = (0x089F0B48u); aot_gpr_4 = (aot_gpr_29 + static_cast(160)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0189_entry, 189u, 138u, 0x08AF8918u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F0B48u) goto L_089F0B48; AOT_REGCACHE_SYNC_OUT(); return; @@ -2412,7 +2413,7 @@ L_089F0B64: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1969))); aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(-1)); - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -2428,7 +2429,7 @@ L_089F0B64: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_5 = (0u | 1u); ctx.gpr[7] = (0u | 0u); - ctx.gpr[31] = (0x089F0B8Cu); + aot_gpr_31 = (0x089F0B8Cu); ctx.gpr[8] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 828u, 0x0893FA88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F0B8Cu) goto L_089F0B8C; AOT_REGCACHE_SYNC_OUT(); return; @@ -2444,37 +2445,37 @@ L_089F0B94: ctx.gpr[18] = (0u | 1u); aot_gpr_4 = (0u | 6u); aot_gpr_5 = (0u | 3u); - aot_gpr_6 = (aot_gpr_17 | 0u); + aot_gpr_6 = (ctx.gpr[17] | 0u); ctx.gpr[7] = (0u | 0u); - ctx.gpr[31] = (0x089F0BB0u); + aot_gpr_31 = (0x089F0BB0u); ctx.gpr[8] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0113_entry, 113u, 729u, 0x089CAC6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F0BB0u) goto L_089F0BB0; AOT_REGCACHE_SYNC_OUT(); return; L_089F0BB0: - aot_gpr_17 = (ctx.gpr[2] | 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(72))); + ctx.gpr[17] = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(72))); aot_gpr_5 = (0u + static_cast(-513)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_4 = (aot_gpr_4 | 512u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(72), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(72), aot_gpr_4); { const bool branch_taken = aot_gpr_16 == 0u; - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(2316), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(2316), aot_gpr_16); if (branch_taken) { goto L_089F0BDC; } goto L_089F0BD0; } L_089F0BD0: - aot_gpr_5 = (aot_gpr_17 + static_cast(2316)); - ctx.gpr[31] = (0x089F0BDCu); + aot_gpr_5 = (ctx.gpr[17] + static_cast(2316)); + aot_gpr_31 = (0x089F0BDCu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F0BDCu) goto L_089F0BDC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F0BDCu) goto L_089F0BDC; AOT_REGCACHE_SYNC_OUT(); return; L_089F0BDC: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1969))); aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(-1)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(2320), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(2320), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1969))); aot_gpr_5 = (0u | 255u); aot_gpr_4 = (aot_gpr_4 + static_cast(-1)); @@ -2489,7 +2490,7 @@ L_089F0BDC: } goto L_089F0C14; L_089F0C14: - ctx.gpr[31] = (0x089F0C1Cu); + aot_gpr_31 = (0x089F0C1Cu); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 313u, 0x08B65564u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F0C1Cu) goto L_089F0C1C; AOT_REGCACHE_SYNC_OUT(); return; @@ -2498,10 +2499,10 @@ L_089F0C1C: goto L_089F0C20; L_089F0C20: ctx.gpr[8] = (16512u << 16u); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(80))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(80))); aot_fpr_12 = std::bit_cast(ctx.gpr[8]); aot_gpr_6 = (0u | 0u); - ctx.gpr[31] = (0x089F0C38u); + aot_gpr_31 = (0x089F0C38u); ctx.gpr[7] = (0u | 167u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 650u, 0x0893EA14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F0C38u) goto L_089F0C38; AOT_REGCACHE_SYNC_OUT(); return; @@ -2525,7 +2526,7 @@ L_089F0C48: goto L_089F0C54; } L_089F0C54: - ctx.gpr[31] = (0x089F0C5Cu); + aot_gpr_31 = (0x089F0C5Cu); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(144))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 129u, 0x089D89E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F0C5Cu) goto L_089F0C5C; AOT_REGCACHE_SYNC_OUT(); return; @@ -2557,7 +2558,7 @@ L_089F0C74: goto L_089F0C80; } L_089F0C80: - ctx.gpr[31] = (0x089F0C88u); + aot_gpr_31 = (0x089F0C88u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(144))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 129u, 0x089D89E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F0C88u) goto L_089F0C88; AOT_REGCACHE_SYNC_OUT(); return; @@ -2569,12 +2570,12 @@ L_089F0C8C: aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(224), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); aot_gpr_16 = aot_run_words[1]; - aot_gpr_17 = aot_run_words[2]; + ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; ctx.gpr[19] = aot_run_words[4]; - ctx.gpr[31] = aot_run_words[5]; + aot_gpr_31 = aot_run_words[5]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(256)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -2583,11 +2584,11 @@ L_089F0C8C: L_089F0CAC: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7080))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_17); - aot_gpr_17 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), std::bit_cast(aot_fpr_20)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_16); - { const std::uint32_t aot_run_words[3]{ctx.gpr[18], ctx.gpr[19], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(32), aot_run_words); } { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_16 = (aot_gpr_5 | 0u); @@ -2597,7 +2598,7 @@ L_089F0CAC: goto L_089F0CD8; } L_089F0CD8: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(340))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(340))); aot_gpr_4 = (aot_gpr_4 & 2u); aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); @@ -2609,13 +2610,13 @@ L_089F0CD8: goto L_089F0CF0; } L_089F0CF0: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(340))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(340))); aot_gpr_5 = (0u + static_cast(-3)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(340), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(340), static_cast(aot_gpr_4)); goto L_089F0D00; L_089F0D00: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(615)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(615)))))); aot_gpr_4 = (aot_gpr_4 & 64u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -2625,7 +2626,7 @@ L_089F0D00: goto L_089F0D10; } L_089F0D10: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(72))); aot_fpr_20 = std::bit_cast(0u); aot_gpr_4 = (aot_gpr_4 & 496u); { const bool branch_taken = aot_gpr_4 == 0u; @@ -2652,7 +2653,7 @@ L_089F0D2C: goto L_089F0D34; } L_089F0D34: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(533)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(533)))))); aot_gpr_5 = (0u | 28u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -2662,7 +2663,7 @@ L_089F0D34: goto L_089F0D44; } L_089F0D44: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(86)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(86)))))); { const bool branch_taken = aot_gpr_4 == ctx.gpr[19]; // nop if (branch_taken) { @@ -2671,7 +2672,7 @@ L_089F0D44: goto L_089F0D50; } L_089F0D50: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(86)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(86)))))); aot_gpr_5 = (0u + static_cast(-971)); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -2681,13 +2682,13 @@ L_089F0D50: goto L_089F0D60; } L_089F0D60: - ctx.gpr[31] = (0x089F0D68u); + aot_gpr_31 = (0x089F0D68u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F0D68u) goto L_089F0D68; AOT_REGCACHE_SYNC_OUT(); return; L_089F0D68: { const bool branch_taken = aot_gpr_16 == ctx.gpr[2]; - ctx.gpr[18] = (aot_gpr_17 + static_cast(48)); + ctx.gpr[18] = (ctx.gpr[17] + static_cast(48)); if (branch_taken) { goto L_089F0D98; } @@ -2703,16 +2704,16 @@ L_089F0D70: } L_089F0D78: aot_gpr_4 = (0u | 28u); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(533), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(533), static_cast(aot_gpr_4)); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(636), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(636), std::bit_cast(aot_fpr_20)); if (branch_taken) { goto L_089F110C; } goto L_089F0D88; } L_089F0D88: - ctx.gpr[31] = (0x089F0D90u); + aot_gpr_31 = (0x089F0D90u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F0D90u) goto L_089F0D90; AOT_REGCACHE_SYNC_OUT(); return; @@ -2741,9 +2742,9 @@ L_089F0D98: aot_fpr_12 = aot_fpr_12 + aot_fpr_13; aot_gpr_5 = (aot_gpr_5 + static_cast(20)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(316), aot_gpr_5); - ctx.gpr[31] = (0x089F0DE0u); + aot_gpr_31 = (0x089F0DE0u); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(320), std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F0DE0u) goto L_089F0DE0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F0DE0u) goto L_089F0DE0; AOT_REGCACHE_SYNC_OUT(); return; L_089F0DE0: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -2756,46 +2757,46 @@ L_089F0DE0: aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7904), aot_gpr_4); goto L_089F0E00; L_089F0E00: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 496u); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(72))); goto L_089F0E4C; } goto L_089F0E10; L_089F0E10: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(72))); aot_gpr_5 = (65528u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(-1)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(72), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(72), aot_gpr_4); aot_gpr_5 = (0u + static_cast(-513)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(72), aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(328), std::bit_cast(aot_fpr_20)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(324), std::bit_cast(aot_fpr_20)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(320), std::bit_cast(aot_fpr_20)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(120), std::bit_cast(aot_fpr_20)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(116), std::bit_cast(aot_fpr_20)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(112), std::bit_cast(aot_fpr_20)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(72))); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(72), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(328), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(324), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(320), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(120), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(116), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(112), std::bit_cast(aot_fpr_20)); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(72))); goto L_089F0E4C; L_089F0E4C: aot_gpr_5 = (0u + static_cast(-497)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_4 = (aot_gpr_4 | 80u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(72), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(72), aot_gpr_4); aot_gpr_5 = (32u << 16u); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(72), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(72), aot_gpr_4); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); - aot_gpr_4 = (aot_gpr_17 + static_cast(944)); - ctx.gpr[31] = (0x089F0E78u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(660), aot_gpr_5); + aot_gpr_4 = (ctx.gpr[17] + static_cast(944)); + aot_gpr_31 = (0x089F0E78u); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(660), aot_gpr_5); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 420u, 0x08B0DB74u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F0E78u) goto L_089F0E78; AOT_REGCACHE_SYNC_OUT(); return; L_089F0E78: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(86)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(86)))))); { const bool branch_taken = aot_gpr_4 == ctx.gpr[19]; // nop if (branch_taken) { @@ -2804,7 +2805,7 @@ L_089F0E78: goto L_089F0E84; } L_089F0E84: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(86)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(86)))))); aot_gpr_5 = (0u + static_cast(-971)); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -2814,82 +2815,82 @@ L_089F0E84: goto L_089F0E94; } L_089F0E94: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (0u | 12u); aot_gpr_6 = (0u | 5u); - ctx.gpr[31] = (0x089F0EA8u); + aot_gpr_31 = (0x089F0EA8u); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 310u, 0x088316CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F0EA8u) goto L_089F0EA8; AOT_REGCACHE_SYNC_OUT(); return; L_089F0EA8: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (0u | 13u); aot_gpr_6 = (0u | 6u); - ctx.gpr[31] = (0x089F0EBCu); + aot_gpr_31 = (0x089F0EBCu); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 310u, 0x088316CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F0EBCu) goto L_089F0EBC; AOT_REGCACHE_SYNC_OUT(); return; L_089F0EBC: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (0u | 18u); aot_gpr_6 = (0u | 0u); - ctx.gpr[31] = (0x089F0ED0u); + aot_gpr_31 = (0x089F0ED0u); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 341u, 0x088318B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F0ED0u) goto L_089F0ED0; AOT_REGCACHE_SYNC_OUT(); return; L_089F0ED0: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (0u | 19u); aot_gpr_6 = (0u | 1u); - ctx.gpr[31] = (0x089F0EE4u); + aot_gpr_31 = (0x089F0EE4u); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 341u, 0x088318B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F0EE4u) goto L_089F0EE4; AOT_REGCACHE_SYNC_OUT(); return; L_089F0EE4: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (0u | 10u); aot_gpr_6 = (0u | 2u); - ctx.gpr[31] = (0x089F0EF8u); + aot_gpr_31 = (0x089F0EF8u); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 341u, 0x088318B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F0EF8u) goto L_089F0EF8; AOT_REGCACHE_SYNC_OUT(); return; L_089F0EF8: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (0u | 8u); aot_gpr_6 = (0u | 3u); - ctx.gpr[31] = (0x089F0F0Cu); + aot_gpr_31 = (0x089F0F0Cu); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 341u, 0x088318B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F0F0Cu) goto L_089F0F0C; AOT_REGCACHE_SYNC_OUT(); return; L_089F0F0C: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (0u | 11u); aot_gpr_6 = (0u | 4u); - ctx.gpr[31] = (0x089F0F20u); + aot_gpr_31 = (0x089F0F20u); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 341u, 0x088318B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F0F20u) goto L_089F0F20; AOT_REGCACHE_SYNC_OUT(); return; L_089F0F20: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (0u | 9u); aot_gpr_6 = (0u | 5u); - ctx.gpr[31] = (0x089F0F34u); + aot_gpr_31 = (0x089F0F34u); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 341u, 0x088318B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F0F34u) goto L_089F0F34; AOT_REGCACHE_SYNC_OUT(); return; L_089F0F34: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (0u | 5u); - ctx.gpr[31] = (0x089F0F44u); + aot_gpr_31 = (0x089F0F44u); aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0016_entry, 16u, 275u, 0x08845928u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F0F44u) goto L_089F0F44; AOT_REGCACHE_SYNC_OUT(); return; L_089F0F44: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), 0u); aot_gpr_5 = (2179u << 16u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1284))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1284))); aot_gpr_6 = (aot_gpr_29 + static_cast(16)); - ctx.gpr[31] = (0x089F0F5Cu); + aot_gpr_31 = (0x089F0F5Cu); aot_gpr_5 = (aot_gpr_5 + static_cast(992)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0091_entry, 91u, 626u, 0x08972E68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F0F5Cu) goto L_089F0F5C; AOT_REGCACHE_SYNC_OUT(); return; @@ -2907,12 +2908,12 @@ L_089F0F68: aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(2), static_cast(0u)); goto L_089F0F70; L_089F0F70: - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(636), std::bit_cast(aot_fpr_20)); - aot_mem.aot_direct_store16(aot_gpr_17 + static_cast(666), static_cast(0u)); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(1653)))))); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(636), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store16(ctx.gpr[17] + static_cast(666), static_cast(0u)); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(1653)))))); aot_gpr_5 = (0u + static_cast(-8)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(1653), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(1653), static_cast(aot_gpr_4)); aot_gpr_4 = (2236u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(32304)); aot_gpr_5 = (16076u << 16u); @@ -2920,7 +2921,7 @@ L_089F0F70: aot_fpr_12 = std::bit_cast(aot_gpr_5); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); - ctx.gpr[31] = (0x089F0FACu); + aot_gpr_31 = (0x089F0FACu); ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 572u, 0x08A1BC64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F0FACu) goto L_089F0FAC; AOT_REGCACHE_SYNC_OUT(); return; @@ -2938,35 +2939,35 @@ L_089F0FAC: const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_4 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x089F0FC0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_31 = (0x089F0FC0u); aot_gpr_5 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 877u, 0x08AFFAC8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F0FC0u) goto L_089F0FC0; AOT_REGCACHE_SYNC_OUT(); return; L_089F0FC0: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(613)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(613)))))); aot_gpr_5 = (0u + static_cast(-17)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(613), static_cast(aot_gpr_4)); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(706)))))); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(613), static_cast(aot_gpr_4)); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(706)))))); aot_gpr_5 = (0u + static_cast(-4)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(706), static_cast(aot_gpr_4)); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(613)))))); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(706), static_cast(aot_gpr_4)); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(613)))))); aot_gpr_5 = (0u + static_cast(-65)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(613), static_cast(aot_gpr_4)); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(618)))))); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(613), static_cast(aot_gpr_4)); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(618)))))); aot_gpr_5 = (0u + static_cast(-33)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(618), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x089F100Cu); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(618), static_cast(aot_gpr_4)); + aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_31 = (0x089F100Cu); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 604u, 0x08832988u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F100Cu) goto L_089F100C; AOT_REGCACHE_SYNC_OUT(); return; L_089F100C: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(613)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(613)))))); aot_gpr_4 = (aot_gpr_4 & 2u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -2976,16 +2977,16 @@ L_089F100C: goto L_089F101C; } L_089F101C: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(613)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(613)))))); aot_gpr_5 = (0u + static_cast(-3)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(613), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(613), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5452))); aot_gpr_4 = (aot_gpr_4 + static_cast(-1)); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(5452), aot_gpr_4); goto L_089F1038; L_089F1038: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(613)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(613)))))); aot_gpr_4 = (aot_gpr_4 & 4u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -2995,17 +2996,17 @@ L_089F1038: goto L_089F1048; } L_089F1048: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(613)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(613)))))); aot_gpr_5 = (0u + static_cast(-5)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(613), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(613), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5456))); aot_gpr_4 = (aot_gpr_4 + static_cast(-1)); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(5456), aot_gpr_4); goto L_089F1064; L_089F1064: - aot_gpr_4 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x089F1070u); + aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_31 = (0x089F1070u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 450u, 0x08B01B4Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F1070u) goto L_089F1070; AOT_REGCACHE_SYNC_OUT(); return; @@ -3013,22 +3014,22 @@ L_089F1070: aot_gpr_4 = (16204u << 16u); aot_gpr_4 = (aot_gpr_4 | 52429u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_4 = (2238u << 16u); aot_gpr_6 = (aot_gpr_16 | 0u); ctx.gpr[7] = (0u | 1u); ctx.gpr[8] = (0u | 1u); - ctx.gpr[31] = (0x089F1098u); + aot_gpr_31 = (0x089F1098u); aot_gpr_4 = (aot_gpr_4 + static_cast(14864)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 167u, 0x089D1074u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F1098u) goto L_089F1098; AOT_REGCACHE_SYNC_OUT(); return; L_089F1098: - ctx.gpr[31] = (0x089F10A0u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_31 = (0x089F10A0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 544u, 0x08A362BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F10A0u) goto L_089F10A0; AOT_REGCACHE_SYNC_OUT(); return; L_089F10A0: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(86)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(86)))))); { const bool branch_taken = aot_gpr_4 == ctx.gpr[19]; // nop if (branch_taken) { @@ -3037,7 +3038,7 @@ L_089F10A0: goto L_089F10AC; } L_089F10AC: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(86)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(86)))))); aot_gpr_5 = (0u + static_cast(-971)); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -3047,14 +3048,14 @@ L_089F10AC: goto L_089F10BC; } L_089F10BC: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (aot_gpr_16 | 0u); aot_gpr_6 = (0u | 12u); ctx.gpr[7] = (ctx.gpr[18] | 0u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 1u); ctx.gpr[10] = (0u | 1u); - ctx.gpr[31] = (0x089F10E0u); + aot_gpr_31 = (0x089F10E0u); ctx.gpr[11] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0121_entry, 121u, 287u, 0x089E974Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F10E0u) goto L_089F10E0; AOT_REGCACHE_SYNC_OUT(); return; @@ -3067,14 +3068,14 @@ L_089F10E0: goto L_089F10E8; } L_089F10E8: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (aot_gpr_16 | 0u); aot_gpr_6 = (0u | 6u); ctx.gpr[7] = (ctx.gpr[18] | 0u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 1u); ctx.gpr[10] = (0u | 1u); - ctx.gpr[31] = (0x089F110Cu); + aot_gpr_31 = (0x089F110Cu); ctx.gpr[11] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0121_entry, 121u, 287u, 0x089E974Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F110Cu) goto L_089F110C; AOT_REGCACHE_SYNC_OUT(); return; @@ -3083,12 +3084,12 @@ L_089F110C: aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(20), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); aot_gpr_16 = aot_run_words[1]; - aot_gpr_17 = aot_run_words[2]; + ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; ctx.gpr[19] = aot_run_words[4]; - ctx.gpr[31] = aot_run_words[5]; + aot_gpr_31 = aot_run_words[5]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(48)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -3102,21 +3103,21 @@ L_089F112C: ctx.gpr[20] = (0u & 255u); ctx.gpr[21] = (0u | 30u); ctx.gpr[19] = (32u << 16u); - { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_20), aot_gpr_16, aot_gpr_17}; + { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_20), aot_gpr_16, ctx.gpr[17]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(52), aot_run_words); } - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(80), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(80), aot_gpr_31); aot_gpr_16 = (0u | 0u); - ctx.gpr[31] = (0x089F116Cu); + aot_gpr_31 = (0x089F116Cu); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7612), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F116Cu) goto L_089F116C; AOT_REGCACHE_SYNC_OUT(); return; L_089F116C: - ctx.gpr[31] = (0x089F1174u); + aot_gpr_31 = (0x089F1174u); aot_gpr_4 = (ctx.gpr[2] + static_cast(2288)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0172_entry, 172u, 1u, 0x08AB4000u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F1174u) goto L_089F1174; AOT_REGCACHE_SYNC_OUT(); return; L_089F1174: - aot_gpr_17 = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (ctx.gpr[2] | 0u); aot_gpr_4 = (0u | 0u); aot_gpr_5 = (ctx.gpr[28] | 0u); goto L_089F1180; @@ -3172,7 +3173,7 @@ L_089F11C4: goto L_089F11D4; } L_089F11D4: - ctx.gpr[31] = (0x089F11DCu); + aot_gpr_31 = (0x089F11DCu); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0170_entry, 170u, 542u, 0x08AAE9E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F11DCu) goto L_089F11DC; AOT_REGCACHE_SYNC_OUT(); return; @@ -3187,7 +3188,7 @@ L_089F11DC: goto L_089F11EC; } L_089F11EC: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); goto L_089F11F0; L_089F11F0: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-9980))); @@ -3199,7 +3200,7 @@ L_089F11F0: goto L_089F11FC; } L_089F11FC: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); goto L_089F1200; L_089F1200: { const bool branch_taken = ctx.gpr[20] != 0u; @@ -3218,7 +3219,7 @@ L_089F1208: goto L_089F1210; } L_089F1210: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); goto L_089F1214; L_089F1214: aot_gpr_4 = (0u | 0u); @@ -3256,7 +3257,7 @@ L_089F123C: } L_089F124C: ctx.gpr[18] = (0u | 0u); - ctx.gpr[31] = (0x089F1258u); + aot_gpr_31 = (0x089F1258u); aot_gpr_4 = (0u | 261u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 607u, 0x08AD3698u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F1258u) goto L_089F1258; AOT_REGCACHE_SYNC_OUT(); return; @@ -3281,7 +3282,7 @@ L_089F1260: } L_089F1274: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); - aot_gpr_5 = (static_cast(aot_gpr_16) < static_cast(aot_gpr_17) ? 1u : 0u); + aot_gpr_5 = (static_cast(aot_gpr_16) < static_cast(ctx.gpr[17]) ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 + static_cast(15000)); { const bool branch_taken = aot_gpr_5 == 0u; aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(9704), aot_gpr_4); @@ -3291,13 +3292,13 @@ L_089F1274: goto L_089F1288; } L_089F1288: - ctx.gpr[31] = (0x089F1290u); + aot_gpr_31 = (0x089F1290u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F1290u) goto L_089F1290; AOT_REGCACHE_SYNC_OUT(); return; L_089F1290: aot_gpr_4 = (ctx.gpr[2] | 0u); - ctx.gpr[31] = (0x089F129Cu); + aot_gpr_31 = (0x089F129Cu); aot_gpr_5 = (ctx.gpr[18] | 0u); goto L_089F1600; L_089F129C: @@ -3319,9 +3320,9 @@ L_089F12A8: } L_089F12B0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(9688))); - ctx.gpr[31] = (0x089F12BCu); + aot_gpr_31 = (0x089F12BCu); aot_gpr_5 = (ctx.gpr[28] + static_cast(9688)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F12BCu) goto L_089F12BC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F12BCu) goto L_089F12BC; AOT_REGCACHE_SYNC_OUT(); return; L_089F12BC: { const bool branch_taken = 0u == 0u; @@ -3350,9 +3351,9 @@ L_089F12D0: } L_089F12D8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(9692))); - ctx.gpr[31] = (0x089F12E4u); + aot_gpr_31 = (0x089F12E4u); aot_gpr_5 = (ctx.gpr[28] + static_cast(9692)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F12E4u) goto L_089F12E4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F12E4u) goto L_089F12E4; AOT_REGCACHE_SYNC_OUT(); return; L_089F12E4: aot_gpr_4 = (17194u << 16u); @@ -3415,7 +3416,7 @@ L_089F1340: goto L_089F1354; } L_089F1354: - ctx.gpr[31] = (0x089F135Cu); + aot_gpr_31 = (0x089F135Cu); aot_gpr_4 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 16u, 0x08960154u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F135Cu) goto L_089F135C; AOT_REGCACHE_SYNC_OUT(); return; @@ -3470,7 +3471,7 @@ L_089F135C: } L_089F139C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(9688))); - ctx.gpr[31] = (0x089F13A8u); + aot_gpr_31 = (0x089F13A8u); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 247u, 0x08891B8Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F13A8u) goto L_089F13A8; AOT_REGCACHE_SYNC_OUT(); return; @@ -3491,7 +3492,7 @@ L_089F13B4: ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(0)))))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(4))); jump_target = aot_gpr_6; - ctx.gpr[31] = (0x089F13D4u); + aot_gpr_31 = (0x089F13D4u); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[7]); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F13D4u) goto L_089F13D4; @@ -3536,14 +3537,14 @@ L_089F1404: goto L_089F1418; } L_089F1418: - if (static_cast(aot_gpr_17) <= 0) { + if (static_cast(ctx.gpr[17]) <= 0) { aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(9688))); goto L_089F1428; } goto L_089F1420; L_089F1420: { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(-1)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(-1)); if (branch_taken) { goto L_089F1440; } @@ -3572,14 +3573,14 @@ L_089F1450: aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(52), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); aot_gpr_16 = aot_run_words[1]; - aot_gpr_17 = aot_run_words[2]; + ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; ctx.gpr[19] = aot_run_words[4]; ctx.gpr[20] = aot_run_words[5]; ctx.gpr[21] = aot_run_words[6]; - ctx.gpr[31] = aot_run_words[7]; + aot_gpr_31 = aot_run_words[7]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(96)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -3591,10 +3592,10 @@ L_089F1478: aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (0u | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (0u | 0u); aot_gpr_6 = (static_cast(aot_gpr_5) < static_cast(aot_gpr_4) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); if (branch_taken) { @@ -3606,7 +3607,7 @@ L_089F14A4: aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); aot_gpr_5 = (aot_gpr_5 << 2u); aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); goto L_089F14B4; L_089F14B4: aot_gpr_4 = (aot_gpr_4 + static_cast(304)); @@ -3614,7 +3615,7 @@ L_089F14B4: aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_4 = (aot_gpr_16 + aot_gpr_5); jump_target = aot_gpr_6; - ctx.gpr[31] = (0x089F14CCu); + aot_gpr_31 = (0x089F14CCu); aot_gpr_5 = (0u | 2u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F14CCu) goto L_089F14CC; @@ -3636,13 +3637,13 @@ L_089F14D4: ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_4 = (aot_gpr_16 + aot_gpr_5); jump_target = ctx.gpr[7]; - ctx.gpr[31] = (0x089F14F8u); + aot_gpr_31 = (0x089F14F8u); aot_gpr_5 = (0u | 10u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F14F8u) goto L_089F14F8; AOT_REGCACHE_SYNC_OUT(); return; L_089F14F8: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(628)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(628)))))); aot_gpr_4 = (static_cast(aot_gpr_4) < 2 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -3658,7 +3659,7 @@ L_089F1508: aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); jump_target = ctx.gpr[7]; - ctx.gpr[31] = (0x089F1524u); + aot_gpr_31 = (0x089F1524u); aot_gpr_4 = (aot_gpr_16 + aot_gpr_6); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F1524u) goto L_089F1524; @@ -3680,13 +3681,13 @@ L_089F152C: ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_4 = (aot_gpr_16 + aot_gpr_5); jump_target = ctx.gpr[7]; - ctx.gpr[31] = (0x089F1550u); + aot_gpr_31 = (0x089F1550u); aot_gpr_5 = (0u | 8u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F1550u) goto L_089F1550; AOT_REGCACHE_SYNC_OUT(); return; L_089F1550: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(628)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(628)))))); aot_gpr_4 = (static_cast(aot_gpr_4) < 3 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -3702,7 +3703,7 @@ L_089F1560: aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); jump_target = ctx.gpr[7]; - ctx.gpr[31] = (0x089F157Cu); + aot_gpr_31 = (0x089F157Cu); aot_gpr_4 = (aot_gpr_16 + aot_gpr_6); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F157Cu) goto L_089F157C; @@ -3723,7 +3724,7 @@ L_089F1584: aot_gpr_4 = (aot_gpr_16 + aot_gpr_5); aot_gpr_5 = (0u | 11u); jump_target = ctx.gpr[7]; - ctx.gpr[31] = (0x089F15A4u); + aot_gpr_31 = (0x089F15A4u); aot_gpr_6 = (0u | 4u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F15A4u) goto L_089F15A4; @@ -3737,7 +3738,7 @@ L_089F15A8: aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_4 = (aot_gpr_16 + aot_gpr_5); jump_target = aot_gpr_6; - ctx.gpr[31] = (0x089F15C0u); + aot_gpr_31 = (0x089F15C0u); aot_gpr_5 = (0u | 5u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F15C0u) goto L_089F15C0; @@ -3759,7 +3760,7 @@ L_089F15C8: ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_4 = (aot_gpr_16 + aot_gpr_5); jump_target = ctx.gpr[7]; - ctx.gpr[31] = (0x089F15ECu); + aot_gpr_31 = (0x089F15ECu); aot_gpr_5 = (0u | 9u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F15ECu) goto L_089F15EC; @@ -3768,10 +3769,10 @@ L_089F15EC: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; - ctx.gpr[31] = aot_run_words[2]; + ctx.gpr[17] = aot_run_words[1]; + aot_gpr_31 = aot_run_words[2]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -3779,8 +3780,8 @@ L_089F15EC: AOT_REGCACHE_SYNC_OUT(); return; L_089F1600: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_17); - aot_gpr_17 = (aot_gpr_5 & 255u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_5 & 255u); aot_gpr_5 = (17274u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), std::bit_cast(aot_fpr_20)); aot_fpr_20 = std::bit_cast(aot_gpr_5); @@ -3792,8 +3793,8 @@ L_089F1600: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), ctx.gpr[20]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), ctx.gpr[31]); - { const bool branch_taken = aot_gpr_17 == 0u; + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), aot_gpr_31); + { const bool branch_taken = ctx.gpr[17] == 0u; aot_gpr_16 = (aot_gpr_4 | 0u); if (branch_taken) { goto L_089F1674; @@ -3802,7 +3803,7 @@ L_089F1600: } L_089F1644: ctx.gpr[18] = (0u | 0u); - ctx.gpr[31] = (0x089F1650u); + aot_gpr_31 = (0x089F1650u); aot_gpr_4 = (0u | 2080u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 732u, 0x08AFF2C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F1650u) goto L_089F1650; AOT_REGCACHE_SYNC_OUT(); return; @@ -3817,7 +3818,7 @@ L_089F1650: } L_089F165C: aot_gpr_5 = (0u | 260u); - ctx.gpr[31] = (0x089F1668u); + aot_gpr_31 = (0x089F1668u); aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0122_entry, 122u, 226u, 0x089ED94Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F1668u) goto L_089F1668; AOT_REGCACHE_SYNC_OUT(); return; @@ -3834,7 +3835,7 @@ L_089F166C: } L_089F1674: ctx.gpr[18] = (0u | 0u); - ctx.gpr[31] = (0x089F1680u); + aot_gpr_31 = (0x089F1680u); aot_gpr_4 = (0u | 2080u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 732u, 0x08AFF2C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F1680u) goto L_089F1680; AOT_REGCACHE_SYNC_OUT(); return; @@ -3849,7 +3850,7 @@ L_089F1680: } L_089F168C: aot_gpr_5 = (0u | 261u); - ctx.gpr[31] = (0x089F1698u); + aot_gpr_31 = (0x089F1698u); aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0122_entry, 122u, 226u, 0x089ED94Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F1698u) goto L_089F1698; AOT_REGCACHE_SYNC_OUT(); return; @@ -3873,9 +3874,9 @@ L_089F16A0: const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - ctx.gpr[31] = (0x089F16B0u); + aot_gpr_31 = (0x089F16B0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F16B0u) goto L_089F16B0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F16B0u) goto L_089F16B0; AOT_REGCACHE_SYNC_OUT(); return; L_089F16B0: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -4012,7 +4013,7 @@ L_089F1808: aot_fpr_20 = aot_fpr_20 + aot_fpr_12; aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); - ctx.gpr[31] = (0x089F1824u); + aot_gpr_31 = (0x089F1824u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), std::bit_cast(aot_fpr_20)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 514u, 0x088933E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F1824u) goto L_089F1824; AOT_REGCACHE_SYNC_OUT(); return; @@ -4031,7 +4032,7 @@ L_089F1838: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_13)); aot_gpr_4 = (ctx.gpr[18] | 0u); - ctx.gpr[31] = (0x089F1854u); + aot_gpr_31 = (0x089F1854u); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 943u, 0x0885FFE4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F1854u) goto L_089F1854; AOT_REGCACHE_SYNC_OUT(); return; @@ -4078,7 +4079,7 @@ L_089F1894: goto L_089F18AC; } L_089F18AC: - { const bool branch_taken = aot_gpr_17 == 0u; + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_089F18DC; @@ -4087,14 +4088,14 @@ L_089F18AC: } L_089F18B4: aot_gpr_4 = (0u | 31u); - ctx.gpr[31] = (0x089F18C0u); + aot_gpr_31 = (0x089F18C0u); aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(533), static_cast(aot_gpr_4)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F18C0u) goto L_089F18C0; AOT_REGCACHE_SYNC_OUT(); return; L_089F18C0: aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); - ctx.gpr[31] = (0x089F18D0u); + aot_gpr_31 = (0x089F18D0u); aot_gpr_6 = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0118_entry, 118u, 181u, 0x089DD244u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F18D0u) goto L_089F18D0; AOT_REGCACHE_SYNC_OUT(); return; @@ -4120,12 +4121,12 @@ L_089F18EC: aot_gpr_4 = (ctx.gpr[20] | 0u); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(1960), std::bit_cast(aot_fpr_12)); aot_gpr_5 = (ctx.gpr[18] | 0u); - ctx.gpr[31] = (0x089F190Cu); + aot_gpr_31 = (0x089F190Cu); aot_gpr_6 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0118_entry, 118u, 181u, 0x089DD244u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F190Cu) goto L_089F190C; AOT_REGCACHE_SYNC_OUT(); return; L_089F190C: - { const bool branch_taken = aot_gpr_17 == 0u; + { const bool branch_taken = ctx.gpr[17] == 0u; aot_gpr_4 = (16672u << 16u); if (branch_taken) { goto L_089F1938; @@ -4148,12 +4149,12 @@ L_089F1938: aot_gpr_4 = (aot_gpr_4 | 62915u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (ctx.gpr[18] | 0u); - ctx.gpr[31] = (0x089F1950u); + aot_gpr_31 = (0x089F1950u); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(1640), std::bit_cast(aot_fpr_12)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 224u, 0x08891A2Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F1950u) goto L_089F1950; AOT_REGCACHE_SYNC_OUT(); return; L_089F1950: - ctx.gpr[31] = (0x089F1958u); + aot_gpr_31 = (0x089F1958u); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 106u, 0x08B00708u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F1958u) goto L_089F1958; AOT_REGCACHE_SYNC_OUT(); return; @@ -4181,13 +4182,13 @@ L_089F197C: aot_fpr_20 = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); aot_gpr_16 = aot_run_words[2]; - aot_gpr_17 = aot_run_words[3]; + ctx.gpr[17] = aot_run_words[3]; ctx.gpr[18] = aot_run_words[4]; ctx.gpr[19] = aot_run_words[5]; ctx.gpr[20] = aot_run_words[6]; - ctx.gpr[31] = aot_run_words[7]; + aot_gpr_31 = aot_run_words[7]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(48)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -4197,7 +4198,7 @@ L_089F19A8: aot_gpr_29 = (aot_gpr_29 + static_cast(-576)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(86)))))); aot_gpr_6 = (0u | 275u); - { const std::uint32_t aot_run_words[6]{std::bit_cast(aot_fpr_20), aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[6]{std::bit_cast(aot_fpr_20), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(544), aot_run_words); } { const bool branch_taken = aot_gpr_5 != aot_gpr_6; aot_gpr_16 = (aot_gpr_4 | 0u); @@ -4218,7 +4219,7 @@ L_089F19D4: } L_089F19E4: aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_gpr_17 = (0u | 350u); + ctx.gpr[17] = (0u | 350u); aot_gpr_4 = (16352u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_gpr_4); @@ -4235,15 +4236,15 @@ L_089F19E4: goto L_089F1A14; } L_089F1A14: - aot_gpr_17 = (0u | 700u); + ctx.gpr[17] = (0u | 700u); goto L_089F1A18; L_089F1A18: - ctx.gpr[31] = (0x089F1A20u); + aot_gpr_31 = (0x089F1A20u); aot_gpr_4 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F1A20u) goto L_089F1A20; AOT_REGCACHE_SYNC_OUT(); return; L_089F1A20: - ctx.gpr[31] = (0x089F1A28u); + aot_gpr_31 = (0x089F1A28u); aot_gpr_4 = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0098_entry, 98u, 351u, 0x0898CFB8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F1A28u) goto L_089F1A28; AOT_REGCACHE_SYNC_OUT(); return; @@ -4258,7 +4259,7 @@ L_089F1A28: L_089F1A30: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(656))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); - aot_gpr_4 = (aot_gpr_4 + aot_gpr_17); + aot_gpr_4 = (aot_gpr_4 + ctx.gpr[17]); aot_gpr_4 = (aot_gpr_4 < aot_gpr_5 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -4270,7 +4271,7 @@ L_089F1A30: L_089F1A48: aot_gpr_4 = (aot_gpr_29 + static_cast(88)); aot_gpr_5 = (0u | 32u); - ctx.gpr[31] = (0x089F1A58u); + aot_gpr_31 = (0x089F1A58u); aot_gpr_6 = (0u | 100u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0143_entry, 143u, 117u, 0x08A40A8Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F1A58u) goto L_089F1A58; AOT_REGCACHE_SYNC_OUT(); return; @@ -4290,7 +4291,7 @@ L_089F1A58: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (aot_gpr_29 + static_cast(32)); - ctx.gpr[31] = (0x089F1A70u); + aot_gpr_31 = (0x089F1A70u); aot_gpr_5 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0122_entry, 122u, 220u, 0x089ED8FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F1A70u) goto L_089F1A70; AOT_REGCACHE_SYNC_OUT(); return; @@ -4329,8 +4330,8 @@ L_089F1A70: L_089F1AA0: aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); - aot_gpr_17 = (aot_gpr_16 + static_cast(16)); - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + ctx.gpr[17] = (aot_gpr_16 + static_cast(16)); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -4406,7 +4407,7 @@ L_089F1AA0: aot_fpr_20 = std::bit_cast(0u); aot_gpr_5 = (aot_gpr_16 | 0u); aot_gpr_6 = (ctx.gpr[19] | 0u); - ctx.gpr[31] = (0x089F1B14u); + aot_gpr_31 = (0x089F1B14u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0145_entry, 145u, 614u, 0x08A4B48Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F1B14u) goto L_089F1B14; AOT_REGCACHE_SYNC_OUT(); return; @@ -4429,7 +4430,7 @@ L_089F1B14: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(128), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x089F1B38u); + aot_gpr_31 = (0x089F1B38u); aot_gpr_6 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0122_entry, 122u, 220u, 0x089ED8FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F1B38u) goto L_089F1B38; AOT_REGCACHE_SYNC_OUT(); return; @@ -4445,7 +4446,7 @@ L_089F1B38: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -4543,7 +4544,7 @@ L_089F1B64: aot_gpr_4 = (aot_gpr_29 + static_cast(88)); aot_fpr_20 = std::bit_cast(0u); aot_gpr_5 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x089F1BD4u); + aot_gpr_31 = (0x089F1BD4u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0145_entry, 145u, 614u, 0x08A4B48Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F1BD4u) goto L_089F1BD4; AOT_REGCACHE_SYNC_OUT(); return; @@ -4553,7 +4554,7 @@ L_089F1BD4: aot_gpr_6 = (16256u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_6); aot_gpr_6 = (0u | 55u); - ctx.gpr[31] = (0x089F1BF0u); + aot_gpr_31 = (0x089F1BF0u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 503u, 0x08A05F80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F1BF0u) goto L_089F1BF0; AOT_REGCACHE_SYNC_OUT(); return; @@ -4568,12 +4569,12 @@ L_089F1BF0: goto L_089F1C00; } L_089F1C00: - ctx.gpr[31] = (0x089F1C08u); + aot_gpr_31 = (0x089F1C08u); aot_gpr_4 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F1C08u) goto L_089F1C08; AOT_REGCACHE_SYNC_OUT(); return; L_089F1C08: - ctx.gpr[31] = (0x089F1C10u); + aot_gpr_31 = (0x089F1C10u); aot_gpr_4 = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0098_entry, 98u, 367u, 0x0898D050u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F1C10u) goto L_089F1C10; AOT_REGCACHE_SYNC_OUT(); return; @@ -4607,10 +4608,10 @@ L_089F1C30: goto L_089F1C3C; } L_089F1C3C: - aot_gpr_17 = (aot_gpr_29 + static_cast(200)); - aot_gpr_4 = (aot_gpr_17 | 0u); + ctx.gpr[17] = (aot_gpr_29 + static_cast(200)); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (0u | 35u); - ctx.gpr[31] = (0x089F1C50u); + aot_gpr_31 = (0x089F1C50u); aot_gpr_6 = (0u | 5000u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0143_entry, 143u, 117u, 0x08A40A8Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F1C50u) goto L_089F1C50; AOT_REGCACHE_SYNC_OUT(); return; @@ -4633,7 +4634,7 @@ L_089F1C50: ctx.gpr[19] = (aot_gpr_29 + static_cast(160)); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x089F1C74u); + aot_gpr_31 = (0x089F1C74u); aot_gpr_6 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0122_entry, 122u, 220u, 0x089ED8FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F1C74u) goto L_089F1C74; AOT_REGCACHE_SYNC_OUT(); return; @@ -4694,12 +4695,12 @@ L_089F1C74: const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (aot_gpr_16 | 0u); aot_gpr_6 = (ctx.gpr[18] | 0u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 0u); - ctx.gpr[31] = (0x089F1CCCu); + aot_gpr_31 = (0x089F1CCCu); ctx.gpr[9] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0145_entry, 145u, 46u, 0x08A4842Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F1CCCu) goto L_089F1CCC; AOT_REGCACHE_SYNC_OUT(); return; @@ -4715,7 +4716,7 @@ L_089F1CCC: aot_gpr_4 = (aot_gpr_4 | 52429u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x089F1D00u); + aot_gpr_31 = (0x089F1D00u); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0143_entry, 143u, 255u, 0x08A41568u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F1D00u) goto L_089F1D00; AOT_REGCACHE_SYNC_OUT(); return; @@ -4725,7 +4726,7 @@ L_089F1D00: aot_gpr_6 = (16256u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_6); aot_gpr_6 = (0u | 55u); - ctx.gpr[31] = (0x089F1D1Cu); + aot_gpr_31 = (0x089F1D1Cu); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 503u, 0x08A05F80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F1D1Cu) goto L_089F1D1C; AOT_REGCACHE_SYNC_OUT(); return; @@ -4778,12 +4779,12 @@ L_089F1D54: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(260), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(264), std::bit_cast(aot_fpr_12)); - ctx.gpr[31] = (0x089F1D84u); + aot_gpr_31 = (0x089F1D84u); aot_gpr_4 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F1D84u) goto L_089F1D84; AOT_REGCACHE_SYNC_OUT(); return; L_089F1D84: - ctx.gpr[31] = (0x089F1D8Cu); + aot_gpr_31 = (0x089F1D8Cu); aot_gpr_4 = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0098_entry, 98u, 347u, 0x0898CF8Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F1D8Cu) goto L_089F1D8C; AOT_REGCACHE_SYNC_OUT(); return; @@ -4808,10 +4809,10 @@ L_089F1D94: goto L_089F1DAC; } L_089F1DAC: - aot_gpr_17 = (aot_gpr_29 + static_cast(328)); - aot_gpr_4 = (aot_gpr_17 | 0u); + ctx.gpr[17] = (aot_gpr_29 + static_cast(328)); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (0u | 28u); - ctx.gpr[31] = (0x089F1DC0u); + aot_gpr_31 = (0x089F1DC0u); aot_gpr_6 = (0u | 5000u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0143_entry, 143u, 117u, 0x08A40A8Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F1DC0u) goto L_089F1DC0; AOT_REGCACHE_SYNC_OUT(); return; @@ -4834,7 +4835,7 @@ L_089F1DC0: ctx.gpr[19] = (aot_gpr_29 + static_cast(288)); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x089F1DE4u); + aot_gpr_31 = (0x089F1DE4u); aot_gpr_6 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0122_entry, 122u, 220u, 0x089ED8FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F1DE4u) goto L_089F1DE4; AOT_REGCACHE_SYNC_OUT(); return; @@ -4895,12 +4896,12 @@ L_089F1DE4: const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (aot_gpr_16 | 0u); aot_gpr_6 = (ctx.gpr[18] | 0u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 0u); - ctx.gpr[31] = (0x089F1E3Cu); + aot_gpr_31 = (0x089F1E3Cu); ctx.gpr[9] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0145_entry, 145u, 46u, 0x08A4842Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F1E3Cu) goto L_089F1E3C; AOT_REGCACHE_SYNC_OUT(); return; @@ -4916,7 +4917,7 @@ L_089F1E3C: aot_gpr_4 = (aot_gpr_4 | 52429u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x089F1E70u); + aot_gpr_31 = (0x089F1E70u); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0143_entry, 143u, 255u, 0x08A41568u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F1E70u) goto L_089F1E70; AOT_REGCACHE_SYNC_OUT(); return; @@ -4926,7 +4927,7 @@ L_089F1E70: aot_gpr_6 = (16256u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_6); aot_gpr_6 = (0u | 55u); - ctx.gpr[31] = (0x089F1E8Cu); + aot_gpr_31 = (0x089F1E8Cu); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 503u, 0x08A05F80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F1E8Cu) goto L_089F1E8C; AOT_REGCACHE_SYNC_OUT(); return; @@ -4948,12 +4949,12 @@ L_089F1EA0: aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(544), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); aot_gpr_16 = aot_run_words[1]; - aot_gpr_17 = aot_run_words[2]; + ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; ctx.gpr[19] = aot_run_words[4]; - ctx.gpr[31] = aot_run_words[5]; + aot_gpr_31 = aot_run_words[5]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(576)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -4969,7 +4970,7 @@ L_089F1EC0: aot_gpr_4 = (aot_gpr_4 | 26214u); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7620), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_gpr_4); - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7624), std::bit_cast(aot_fpr_12)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -5005,7 +5006,7 @@ L_089F1EEC: aot_mem.aot_direct_store32_block(aot_gpr_4 + static_cast(64), aot_run_words); } aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(84), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(88), std::bit_cast(aot_fpr_14)); - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(92), std::bit_cast(ctx.fpr[16])); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -5018,11 +5019,11 @@ L_089F1F70: ctx.gpr[19] = (ctx.gpr[19] + static_cast(29232)); aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[19] + static_cast(301))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), aot_gpr_17); - aot_gpr_17 = (aot_gpr_4 + static_cast(16)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_4 + static_cast(16)); aot_gpr_16 = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), ctx.gpr[18]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), aot_gpr_31); { const bool branch_taken = aot_gpr_5 != 0u; ctx.gpr[18] = (2236u << 16u); if (branch_taken) { @@ -5034,7 +5035,7 @@ L_089F1FA4: aot_gpr_4 = (ctx.gpr[19] | 0u); goto L_089F1FA8; L_089F1FA8: - ctx.gpr[31] = (0x089F1FB0u); + aot_gpr_31 = (0x089F1FB0u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0109_entry, 109u, 323u, 0x089B9ABCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F1FB0u) goto L_089F1FB0; AOT_REGCACHE_SYNC_OUT(); return; @@ -5054,7 +5055,7 @@ L_089F1FBC: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(29552))); aot_gpr_5 = (aot_gpr_5 + static_cast(4)); - { const bool branch_taken = aot_gpr_17 == 0u; + { const bool branch_taken = ctx.gpr[17] == 0u; aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(29552), aot_gpr_5); if (branch_taken) { goto L_089F202C; @@ -5062,7 +5063,7 @@ L_089F1FBC: goto L_089F1FDC; } L_089F1FDC: - aot_gpr_6 = (aot_gpr_17 >> 8u); + aot_gpr_6 = (ctx.gpr[17] >> 8u); ctx.gpr[7] = (15u << 16u); aot_gpr_6 = (aot_gpr_6 & ctx.gpr[7]); ctx.gpr[7] = (ctx.gpr[18] + static_cast(29552)); @@ -5074,7 +5075,7 @@ L_089F1FDC: aot_gpr_6 = (256u << 16u); aot_gpr_6 = (aot_gpr_6 + static_cast(-1)); aot_gpr_5 = (aot_gpr_5 + static_cast(4)); - aot_gpr_6 = (aot_gpr_17 & aot_gpr_6); + aot_gpr_6 = (ctx.gpr[17] & aot_gpr_6); ctx.gpr[7] = (256u << 16u); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(29552), aot_gpr_5); aot_gpr_6 = (aot_gpr_6 | ctx.gpr[7]); @@ -5095,7 +5096,7 @@ L_089F202C: aot_gpr_4 = (aot_gpr_4 - aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(8), aot_gpr_4); aot_gpr_5 = (aot_gpr_4 + static_cast(4)); - ctx.gpr[31] = (0x089F2060u); + aot_gpr_31 = (0x089F2060u); aot_gpr_4 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 501u, 0x08ABE57Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F2060u) goto L_089F2060; AOT_REGCACHE_SYNC_OUT(); return; @@ -5103,7 +5104,7 @@ L_089F2060: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), ctx.gpr[2]); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); aot_gpr_4 = (ctx.gpr[2] | 0u); - ctx.gpr[31] = (0x089F2074u); + aot_gpr_31 = (0x089F2074u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F2074u) goto L_089F2074; AOT_REGCACHE_SYNC_OUT(); return; @@ -5112,7 +5113,7 @@ L_089F2074: aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); - ctx.gpr[31] = (0x089F208Cu); + aot_gpr_31 = (0x089F208Cu); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0054_entry, 54u, 498u, 0x088DF9D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F208Cu) goto L_089F208C; AOT_REGCACHE_SYNC_OUT(); return; @@ -5129,12 +5130,12 @@ L_089F208C: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(28), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; - ctx.gpr[31] = aot_run_words[4]; + aot_gpr_31 = aot_run_words[4]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(48)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -5142,7 +5143,7 @@ L_089F208C: AOT_REGCACHE_SYNC_OUT(); return; L_089F20CC: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), 0u); - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(8), 0u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -5153,12 +5154,12 @@ L_089F20D8: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[18]); ctx.gpr[18] = (aot_gpr_5 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_17); - aot_gpr_17 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_4 | 0u); aot_gpr_16 = (aot_gpr_6 | 0u); aot_gpr_5 = (ctx.gpr[28] + static_cast(7744)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[31]); - ctx.gpr[31] = (0x089F2104u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); + aot_gpr_31 = (0x089F2104u); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F2104u) goto L_089F2104; AOT_REGCACHE_SYNC_OUT(); return; @@ -5282,7 +5283,7 @@ L_089F221C: ctx.gpr[7] = (256u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(4)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(29552), aot_gpr_5); - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); ctx.gpr[7] = (ctx.gpr[7] + static_cast(-1)); ctx.gpr[8] = (aot_gpr_6 & ctx.gpr[7]); ctx.gpr[9] = (21760u << 16u); @@ -5316,7 +5317,7 @@ L_089F221C: ctx.gpr[10] = (15u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(4)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(29552), aot_gpr_5); - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); ctx.gpr[8] = (aot_gpr_4 + static_cast(29552)); ctx.gpr[9] = (aot_gpr_6 >> 8u); ctx.gpr[9] = (ctx.gpr[9] & ctx.gpr[10]); @@ -5339,18 +5340,18 @@ L_089F221C: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(4), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; - ctx.gpr[31] = aot_run_words[3]; + aot_gpr_31 = aot_run_words[3]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_089F2358: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; ctx.gpr[2] = (aot_gpr_4 | 0u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -5363,8 +5364,8 @@ L_089F2360: aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_5 = (0u | 3u); aot_gpr_6 = (0u | 1936u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[31]); - ctx.gpr[31] = (0x089F2384u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); + aot_gpr_31 = (0x089F2384u); ctx.gpr[7] = (ctx.gpr[7] + static_cast(9048)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 158u, 0x08B60C7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F2384u) goto L_089F2384; AOT_REGCACHE_SYNC_OUT(); return; @@ -5372,22 +5373,22 @@ L_089F2384: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(5808), 0u); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 0u); - ctx.gpr[31] = (0x089F2398u); + aot_gpr_31 = (0x089F2398u); aot_gpr_6 = (0u | 5808u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F2398u) goto L_089F2398; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F2398u) goto L_089F2398; AOT_REGCACHE_SYNC_OUT(); return; L_089F2398: ctx.gpr[2] = (aot_gpr_16 | 0u); aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_089F23AC: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(5808), aot_gpr_5); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -5403,7 +5404,7 @@ L_089F23B4: // nop // nop { const std::int32_t dividend = static_cast(aot_gpr_5); const std::int32_t divisor = static_cast(aot_gpr_6); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); ctx.gpr[7] = (ctx.hi); { const bool branch_taken = ctx.gpr[7] != 0u; // nop @@ -5415,12 +5416,12 @@ L_089F23B4: L_089F23E8: { const std::int32_t dividend = static_cast(aot_gpr_5); const std::int32_t divisor = static_cast(aot_gpr_6); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } aot_gpr_5 = (ctx.lo); - ctx.gpr[31] = (0x089F23F8u); + aot_gpr_31 = (0x089F23F8u); // nop goto L_089F2750; L_089F23F8: - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -5428,10 +5429,10 @@ L_089F23F8: AOT_REGCACHE_SYNC_OUT(); return; L_089F2404: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[19]); ctx.gpr[19] = (0u | 0u); - aot_gpr_17 = (aot_gpr_5 | 0u); + ctx.gpr[17] = (aot_gpr_5 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); { const std::uint32_t aot_run_words[4]{ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23]}; @@ -5441,13 +5442,13 @@ L_089F2404: ctx.gpr[23] = (0u + static_cast(-2)); ctx.gpr[22] = (0u + static_cast(-3)); ctx.gpr[21] = (0u + static_cast(-5)); - ctx.gpr[20] = (aot_gpr_17 + static_cast(16)); + ctx.gpr[20] = (ctx.gpr[17] + static_cast(16)); ctx.gpr[19] = (aot_gpr_5 + ctx.gpr[19]); aot_gpr_16 = (aot_gpr_5 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), aot_gpr_31); goto L_089F2454; L_089F2454: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(16))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(16))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -5475,7 +5476,7 @@ L_089F246C: goto L_089F247C; } L_089F247C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(16))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(16))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -5484,10 +5485,10 @@ L_089F247C: goto L_089F2488; } L_089F2488: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(16))); - ctx.gpr[31] = (0x089F2494u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(16))); + aot_gpr_31 = (0x089F2494u); aot_gpr_5 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F2494u) goto L_089F2494; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A93004, 163u, 430u, 0x08A93004u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F2494u) goto L_089F2494; AOT_REGCACHE_SYNC_OUT(); return; L_089F2494: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1920))); @@ -5564,13 +5565,13 @@ L_089F2568: aot_gpr_4 = (aot_gpr_4 << 6u); aot_gpr_5 = (aot_gpr_16 + aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(16))); - ctx.gpr[31] = (0x089F2580u); + aot_gpr_31 = (0x089F2580u); aot_gpr_5 = (aot_gpr_5 + static_cast(16)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F2580u) goto L_089F2580; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F2580u) goto L_089F2580; AOT_REGCACHE_SYNC_OUT(); return; L_089F2580: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1920))); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(16), 0u); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(16), 0u); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(1920), aot_gpr_4); goto L_089F2590; @@ -5585,7 +5586,7 @@ L_089F2590: aot_gpr_4 = (aot_gpr_6 < aot_gpr_4 ? 1u : 0u); ctx.gpr[9] = (static_cast(ctx.gpr[7]) < static_cast(aot_gpr_5) ? 1u : 0u); aot_gpr_4 = (ctx.gpr[8] & aot_gpr_4); - aot_gpr_17 = (aot_gpr_17 + static_cast(64)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(64)); ctx.gpr[20] = (ctx.gpr[20] + static_cast(64)); aot_gpr_4 = (aot_gpr_4 | ctx.gpr[9]); { const bool branch_taken = aot_gpr_4 != 0u; @@ -5599,16 +5600,16 @@ L_089F25CC: { std::uint32_t aot_run_words[9]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; ctx.gpr[21] = aot_run_words[5]; ctx.gpr[22] = aot_run_words[6]; ctx.gpr[23] = aot_run_words[7]; - ctx.gpr[31] = aot_run_words[8]; + aot_gpr_31 = aot_run_words[8]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(48)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -5637,7 +5638,7 @@ L_089F2624: { const float fs = aot_fpr_12; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } { const float fs = aot_fpr_14; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = std::sqrt(aot_fpr_12); - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(48), std::bit_cast(aot_fpr_12)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -5672,7 +5673,7 @@ L_089F264C: } goto L_089F26AC; L_089F26AC: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(8), std::bit_cast(aot_fpr_12)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -5680,15 +5681,15 @@ L_089F26AC: AOT_REGCACHE_SYNC_OUT(); return; L_089F26B4: aot_gpr_29 = (aot_gpr_29 + static_cast(-128)); - { const std::uint32_t aot_run_words[6]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[6]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(96), aot_run_words); } aot_gpr_16 = (aot_gpr_6 | 0u); - aot_gpr_17 = (aot_gpr_5 | 0u); + ctx.gpr[17] = (aot_gpr_5 | 0u); ctx.gpr[18] = (aot_gpr_4 | 0u); ctx.gpr[19] = (aot_gpr_29 + static_cast(32)); ctx.gpr[20] = (aot_gpr_29 + static_cast(48)); aot_gpr_5 = (ctx.gpr[19] | 0u); - ctx.gpr[31] = (0x089F26F0u); + aot_gpr_31 = (0x089F26F0u); aot_gpr_6 = (ctx.gpr[20] | 0u); goto L_089F264C; L_089F26F0: @@ -5744,7 +5745,7 @@ L_089F26F0: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(48))); @@ -5752,13 +5753,13 @@ L_089F26F0: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(96), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; - ctx.gpr[31] = aot_run_words[5]; + aot_gpr_31 = aot_run_words[5]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(128)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -5789,7 +5790,7 @@ L_089F2750: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8508), std::bit_cast(ctx.fpr[22])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8520), std::bit_cast(ctx.fpr[28])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8524), std::bit_cast(ctx.fpr[30])); - { const std::uint32_t aot_run_words[9]{aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[9]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(8532), aot_run_words); } { const bool branch_taken = static_cast(aot_gpr_5) > 0; ctx.fpr[28] = std::bit_cast(aot_gpr_6); @@ -5855,28 +5856,28 @@ L_089F2814: L_089F281C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(5808))); aot_gpr_4 = (aot_gpr_29 + static_cast(24)); - aot_gpr_17 = (aot_gpr_5 + static_cast(48)); - ctx.gpr[31] = (0x089F2830u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8468), aot_gpr_17); + ctx.gpr[17] = (aot_gpr_5 + static_cast(48)); + aot_gpr_31 = (0x089F2830u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8468), ctx.gpr[17]); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 291u, 0x089D1AECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F2830u) goto L_089F2830; AOT_REGCACHE_SYNC_OUT(); return; L_089F2830: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_fpr_12 = aot_fpr_12 - ctx.fpr[22]; aot_fpr_13 = aot_fpr_12 / ctx.fpr[24]; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), std::bit_cast(aot_fpr_12)); aot_gpr_5 = (0u | 49u); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); aot_fpr_13 = aot_fpr_13 + ctx.fpr[26]; aot_fpr_12 = aot_fpr_12 - ctx.fpr[22]; aot_fpr_13 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_fpr_12 = aot_fpr_12 + ctx.fpr[22]; aot_gpr_4 = (std::bit_cast(aot_fpr_13)); aot_gpr_5 = (static_cast(aot_gpr_5) < static_cast(aot_gpr_4) ? 1u : 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); aot_fpr_12 = aot_fpr_12 + ctx.fpr[22]; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), std::bit_cast(aot_fpr_12)); if (aot_gpr_5 != 0u) { @@ -6279,7 +6280,7 @@ L_089F2B90: ctx.gpr[20] = (aot_gpr_16 + static_cast(16)); ctx.gpr[19] = (aot_gpr_16 + static_cast(64)); ctx.gpr[18] = (ctx.gpr[7] + ctx.gpr[18]); - aot_gpr_17 = (aot_gpr_16 + static_cast(80)); + ctx.gpr[17] = (aot_gpr_16 + static_cast(80)); goto L_089F2BA4; L_089F2BA4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); @@ -6292,9 +6293,9 @@ L_089F2BA4: } L_089F2BB0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); - ctx.gpr[31] = (0x089F2BBCu); + aot_gpr_31 = (0x089F2BBCu); aot_gpr_5 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F2BBCu) goto L_089F2BBC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A93004, 163u, 430u, 0x08A93004u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F2BBCu) goto L_089F2BBC; AOT_REGCACHE_SYNC_OUT(); return; L_089F2BBC: { const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); @@ -6364,9 +6365,9 @@ L_089F2BBC: } L_089F2C80: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); - ctx.gpr[31] = (0x089F2C8Cu); - aot_gpr_5 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F2C8Cu) goto L_089F2C8C; + aot_gpr_31 = (0x089F2C8Cu); + aot_gpr_5 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F2C8Cu) goto L_089F2C8C; AOT_REGCACHE_SYNC_OUT(); return; L_089F2C8C: ctx.gpr[21] = (ctx.gpr[21] + static_cast(-1)); @@ -6376,7 +6377,7 @@ L_089F2C8C: ctx.gpr[18] = (ctx.gpr[18] + static_cast(-64)); aot_gpr_4 = (static_cast(ctx.gpr[21]) < static_cast(ctx.gpr[22]) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(-64)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(-64)); if (branch_taken) { goto L_089F2BA4; } @@ -6393,9 +6394,9 @@ L_089F2CAC: } L_089F2CB8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast(16))); - ctx.gpr[31] = (0x089F2CC4u); + aot_gpr_31 = (0x089F2CC4u); aot_gpr_5 = (ctx.gpr[23] + static_cast(16)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F2CC4u) goto L_089F2CC4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A93004, 163u, 430u, 0x08A93004u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F2CC4u) goto L_089F2CC4; AOT_REGCACHE_SYNC_OUT(); return; L_089F2CC4: aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8448))); @@ -6408,9 +6409,9 @@ L_089F2CC4: } L_089F2CD0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast(16))); - ctx.gpr[31] = (0x089F2CDCu); + aot_gpr_31 = (0x089F2CDCu); aot_gpr_5 = (ctx.gpr[23] + static_cast(16)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F2CDCu) goto L_089F2CDC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F2CDCu) goto L_089F2CDC; AOT_REGCACHE_SYNC_OUT(); return; L_089F2CDC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8456))); @@ -6570,14 +6571,14 @@ L_089F2E20: L_089F2E38: aot_gpr_4 = (49029u << 16u); aot_gpr_16 = (0u | 0u); - aot_gpr_17 = (ctx.gpr[22] | 0u); + ctx.gpr[17] = (ctx.gpr[22] | 0u); aot_gpr_4 = (aot_gpr_4 | 7864u); - aot_gpr_16 = (aot_gpr_17 + aot_gpr_16); + aot_gpr_16 = (ctx.gpr[17] + aot_gpr_16); aot_fpr_20 = std::bit_cast(aot_gpr_4); goto L_089F2E50; L_089F2E50: - ctx.gpr[31] = (0x089F2E58u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(16))); + aot_gpr_31 = (0x089F2E58u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(16))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 195u, 0x08910B38u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F2E58u) goto L_089F2E58; AOT_REGCACHE_SYNC_OUT(); return; L_089F2E58: @@ -6589,24 +6590,24 @@ L_089F2E58: goto L_089F2E60; } L_089F2E60: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(52)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(52)))))); aot_gpr_4 = (aot_gpr_4 | 2u); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(52), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(52), static_cast(aot_gpr_4)); goto L_089F2E6C; L_089F2E6C: - ctx.gpr[31] = (0x089F2E74u); + aot_gpr_31 = (0x089F2E74u); aot_gpr_4 = (aot_gpr_16 | 0u); goto L_089F3530; L_089F2E74: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9892))); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(52)))))); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(48), std::bit_cast(aot_fpr_12)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(24), std::bit_cast(aot_fpr_20)); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(52)))))); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(48), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(24), std::bit_cast(aot_fpr_20)); aot_gpr_4 = (aot_gpr_4 | 1u); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(52), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(52), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(1920))); ctx.gpr[19] = (ctx.gpr[19] + static_cast(1)); - aot_gpr_17 = (aot_gpr_17 + static_cast(64)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(64)); aot_gpr_4 = (static_cast(ctx.gpr[19]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_16 = (aot_gpr_16 + static_cast(64)); @@ -6619,7 +6620,7 @@ L_089F2EA4: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9892))); aot_gpr_4 = (16512u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_4 = (0u | 0u); ctx.gpr[11] = (0u | 0u); @@ -6633,7 +6634,7 @@ L_089F2ED4: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(1920))); aot_gpr_5 = (static_cast(ctx.gpr[11]) < static_cast(aot_gpr_5) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; - aot_gpr_5 = (static_cast(aot_gpr_17) < 2048 ? 1u : 0u); + aot_gpr_5 = (static_cast(ctx.gpr[17]) < 2048 ? 1u : 0u); if (branch_taken) { goto L_089F2FEC; } @@ -6667,7 +6668,7 @@ L_089F2F0C: ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(1920))); ctx.gpr[2] = (static_cast(ctx.gpr[9]) < static_cast(ctx.gpr[2]) ? 1u : 0u); { const bool branch_taken = ctx.gpr[2] == 0u; - ctx.gpr[2] = (static_cast(aot_gpr_17) < 2048 ? 1u : 0u); + ctx.gpr[2] = (static_cast(ctx.gpr[17]) < 2048 ? 1u : 0u); if (branch_taken) { goto L_089F2FBC; } @@ -6765,19 +6766,19 @@ L_089F2F40: L_089F2F88: ctx.gpr[2] = (aot_gpr_5 | 0u); { const bool branch_taken = ctx.gpr[2] != 0u; - aot_gpr_5 = (aot_gpr_17 + static_cast(1)); + aot_gpr_5 = (ctx.gpr[17] + static_cast(1)); if (branch_taken) { goto L_089F2F9C; } goto L_089F2F94; } L_089F2F94: - aot_gpr_17 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_17 + static_cast(1)); + ctx.gpr[17] = (aot_gpr_5 | 0u); + aot_gpr_5 = (ctx.gpr[17] + static_cast(1)); goto L_089F2F9C; L_089F2F9C: - ctx.gpr[2] = (aot_gpr_17 << 2u); - aot_gpr_17 = (aot_gpr_5 | 0u); + ctx.gpr[2] = (ctx.gpr[17] << 2u); + ctx.gpr[17] = (aot_gpr_5 | 0u); aot_gpr_5 = (aot_gpr_29 + ctx.gpr[2]); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(48), ctx.gpr[9]); aot_gpr_5 = (0u | 1u); @@ -6792,7 +6793,7 @@ L_089F2FB0: goto L_089F2FBC; } L_089F2FBC: - ctx.gpr[8] = (aot_gpr_17 << 2u); + ctx.gpr[8] = (ctx.gpr[17] << 2u); { const bool branch_taken = aot_gpr_5 == 0u; ctx.gpr[8] = (aot_gpr_29 + ctx.gpr[8]); if (branch_taken) { @@ -6801,9 +6802,9 @@ L_089F2FBC: goto L_089F2FC8; } L_089F2FC8: - aot_gpr_5 = (aot_gpr_17 << 2u); + aot_gpr_5 = (ctx.gpr[17] << 2u); aot_gpr_5 = (aot_gpr_29 + aot_gpr_5); - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); ctx.gpr[8] = (ctx.gpr[8] + static_cast(4)); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(48), ctx.gpr[18]); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); @@ -6826,7 +6827,7 @@ L_089F2FEC: goto L_089F2FF4; } L_089F2FF4: - aot_gpr_4 = (static_cast(aot_gpr_16) < static_cast(aot_gpr_17) ? 1u : 0u); + aot_gpr_4 = (static_cast(aot_gpr_16) < static_cast(ctx.gpr[17]) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -7032,11 +7033,11 @@ L_089F311C: aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[24])); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[22])); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); - ctx.gpr[31] = (0x089F314Cu); + aot_gpr_31 = (0x089F314Cu); ctx.fpr[15] = std::bit_cast(std::bit_cast(ctx.fpr[26])); goto L_089F25F8; L_089F314C: - aot_gpr_4 = (static_cast(aot_gpr_16) < static_cast(aot_gpr_17) ? 1u : 0u); + aot_gpr_4 = (static_cast(aot_gpr_16) < static_cast(ctx.gpr[17]) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; ctx.gpr[19] = (ctx.gpr[19] + static_cast(4)); if (branch_taken) { @@ -7064,7 +7065,7 @@ L_089F3170: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(1920))); aot_gpr_4 = (static_cast(ctx.gpr[19]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); if (branch_taken) { goto L_089F31EC; } @@ -7073,12 +7074,12 @@ L_089F3170: L_089F3188: ctx.gpr[18] = (ctx.gpr[22] | 0u); aot_gpr_16 = (0u + static_cast(-2)); - aot_gpr_17 = (ctx.gpr[18] + aot_gpr_17); + ctx.gpr[17] = (ctx.gpr[18] + ctx.gpr[17]); goto L_089F3194; L_089F3194: ctx.gpr[20] = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(16))); - ctx.gpr[31] = (0x089F31A0u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_31 = (0x089F31A0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); goto L_089F3530; L_089F31A0: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[20] + static_cast(86)))))); @@ -7099,7 +7100,7 @@ L_089F31A0: ctx.gpr[18] = (ctx.gpr[18] + static_cast(64)); aot_gpr_4 = (static_cast(ctx.gpr[19]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(64)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(64)); if (branch_taken) { goto L_089F3194; } @@ -7134,14 +7135,14 @@ L_089F320C: aot_gpr_4 = (51572u << 16u); aot_gpr_4 = (aot_gpr_4 | 9200u); ctx.fpr[26] = std::bit_cast(aot_gpr_4); - aot_gpr_17 = (ctx.gpr[22] | 0u); + ctx.gpr[17] = (ctx.gpr[22] | 0u); aot_gpr_4 = (16256u << 16u); ctx.gpr[19] = (0u + static_cast(-2)); ctx.fpr[28] = std::bit_cast(aot_gpr_4); - ctx.gpr[18] = (aot_gpr_17 + ctx.gpr[18]); + ctx.gpr[18] = (ctx.gpr[17] + ctx.gpr[18]); goto L_089F3240; L_089F3240: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(16))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(16))); ctx.gpr[8] = (0u | 0u); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(86)))))); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); @@ -7181,14 +7182,14 @@ L_089F327C: L_089F3288: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[10] + static_cast(40))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[10] + static_cast(44))); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(40), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(40), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[10] + static_cast(32))); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(44), std::bit_cast(aot_fpr_13)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(44), std::bit_cast(aot_fpr_13)); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[10] + static_cast(36))); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(32), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(32), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[10] + static_cast(48))); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(36), std::bit_cast(aot_fpr_13)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(48), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(36), std::bit_cast(aot_fpr_13)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(48), std::bit_cast(aot_fpr_12)); ctx.gpr[7] = (0u | 1u); goto L_089F32B4; L_089F32B4: @@ -7354,14 +7355,14 @@ L_089F340C: aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[22])); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[22])); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[22])); - ctx.gpr[31] = (0x089F3424u); + aot_gpr_31 = (0x089F3424u); ctx.fpr[15] = std::bit_cast(std::bit_cast(ctx.fpr[22])); goto L_089F25F8; L_089F3424: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(52)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(52)))))); aot_gpr_4 = (aot_gpr_4 | 1u); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(52), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(52), static_cast(aot_gpr_4)); if (branch_taken) { goto L_089F34A8; } @@ -7372,7 +7373,7 @@ L_089F3434: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8340))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8352))); ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8356))); - ctx.gpr[31] = (0x089F344Cu); + aot_gpr_31 = (0x089F344Cu); aot_gpr_4 = (ctx.gpr[18] | 0u); goto L_089F25F8; L_089F344C: @@ -7404,19 +7405,19 @@ L_089F347C: goto L_089F348C; } L_089F348C: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(52)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(52)))))); aot_gpr_4 = (aot_gpr_4 | 1u); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(52), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(52), static_cast(aot_gpr_4)); if (branch_taken) { goto L_089F34A8; } goto L_089F349C; } L_089F349C: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(52)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(52)))))); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[19]); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(52), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(52), static_cast(aot_gpr_4)); goto L_089F34A8; L_089F34A8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); @@ -7431,10 +7432,10 @@ L_089F34AC: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(1920))); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(24), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(24), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (static_cast(aot_gpr_16) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(64)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(64)); if (branch_taken) { goto L_089F3240; } @@ -7458,7 +7459,7 @@ L_089F34E8: ctx.fpr[28] = std::bit_cast(aot_run_words[4]); ctx.fpr[30] = std::bit_cast(aot_run_words[5]); aot_gpr_16 = aot_run_words[6]; - aot_gpr_17 = aot_run_words[7]; + ctx.gpr[17] = aot_run_words[7]; ctx.gpr[18] = aot_run_words[8]; ctx.gpr[19] = aot_run_words[9]; ctx.gpr[20] = aot_run_words[10]; @@ -7466,9 +7467,9 @@ L_089F34E8: ctx.gpr[22] = aot_run_words[12]; ctx.gpr[23] = aot_run_words[13]; ctx.gpr[30] = aot_run_words[14]; - ctx.gpr[31] = aot_run_words[15]; + aot_gpr_31 = aot_run_words[15]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(8576)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -7483,8 +7484,8 @@ L_089F3530: aot_gpr_4 = (aot_gpr_4 & 14u); aot_gpr_4 = (aot_gpr_4 >> 1u); aot_gpr_5 = (static_cast(aot_gpr_4) < 3 ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); if (aot_gpr_5 == 0u) { aot_gpr_4 = (static_cast(aot_gpr_4) < 4 ? 1u : 0u); goto L_089F3574; @@ -7516,9 +7517,9 @@ L_089F3574: goto L_089F357C; } L_089F357C: - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); aot_gpr_4 = (4096u << 16u); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(472))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(472))); aot_gpr_4 = (aot_gpr_5 & aot_gpr_4); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -7528,7 +7529,7 @@ L_089F357C: goto L_089F3594; } L_089F3594: - aot_gpr_4 = (aot_gpr_17 + static_cast(320)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(320)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -7562,7 +7563,7 @@ L_089F3594: goto L_089F35B8; } L_089F35B8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(2244))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(2244))); aot_gpr_5 = (static_cast(aot_gpr_4) < 4 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; aot_fpr_12 = std::bit_cast(0u); @@ -7581,7 +7582,7 @@ L_089F35C8: goto L_089F35D4; } L_089F35D4: - aot_gpr_4 = (aot_gpr_17 + static_cast(1056)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(1056)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -7664,7 +7665,7 @@ L_089F3648: goto L_089F3650; } L_089F3650: - aot_gpr_4 = (aot_gpr_17 + static_cast(1056)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(1056)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -7728,7 +7729,7 @@ L_089F3650: goto L_089F36B0; } L_089F36B0: - aot_gpr_4 = (aot_gpr_17 + static_cast(1056)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(1056)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -7800,9 +7801,9 @@ L_089F3718: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), std::bit_cast(aot_fpr_12)); goto L_089F3728; L_089F3728: - ctx.gpr[31] = (0x089F3730u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F3730u) goto L_089F3730; + aot_gpr_31 = (0x089F3730u); + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F3730u) goto L_089F3730; AOT_REGCACHE_SYNC_OUT(); return; L_089F3730: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -7813,7 +7814,7 @@ L_089F3730: goto L_089F3738; } L_089F3738: - aot_gpr_4 = (aot_gpr_17 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(16)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -7873,10 +7874,10 @@ L_089F377C: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; - ctx.gpr[31] = aot_run_words[2]; + ctx.gpr[17] = aot_run_words[1]; + aot_gpr_31 = aot_run_words[2]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -8068,7 +8069,7 @@ L_089F38CC: ctx.gpr[2] = (0u | 0u); goto L_089F38D4; L_089F38D4: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; // nop local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -8080,7 +8081,7 @@ L_089F38DC: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(44), 0u); { const std::uint32_t aot_run_words[8]{std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_12)}; aot_mem.aot_direct_store32_block(aot_gpr_4 + static_cast(4), aot_run_words); } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; ctx.gpr[2] = (aot_gpr_4 | 0u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -8091,13 +8092,13 @@ L_089F3910: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); ctx.gpr[18] = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_5 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_5 | 0u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(76))); ctx.gpr[7] = (8u << 16u); aot_gpr_5 = (aot_gpr_5 & ctx.gpr[7]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_16 = (aot_gpr_6 | 0u); if (branch_taken) { @@ -8112,18 +8113,18 @@ L_089F3944: aot_gpr_5 = (std::bit_cast(aot_fpr_12)); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); aot_gpr_4 = (std::bit_cast(aot_fpr_13)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), aot_gpr_5); aot_gpr_5 = (std::bit_cast(aot_fpr_14)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(4), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(4), aot_gpr_4); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(8), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(8), aot_gpr_5); if (branch_taken) { goto L_089F39D4; } goto L_089F3970; } L_089F3970: - ctx.gpr[31] = (0x089F3978u); + aot_gpr_31 = (0x089F3978u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(80))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0038_entry, 38u, 621u, 0x0889EB08u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F3978u) goto L_089F3978; AOT_REGCACHE_SYNC_OUT(); return; @@ -8134,15 +8135,15 @@ L_089F3978: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(700))); aot_gpr_16 = (ctx.gpr[2] | 0u); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x089F3998u); + aot_gpr_31 = (0x089F3998u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(20))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 251u, 0x08969194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F3998u) goto L_089F3998; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08969194, 89u, 251u, 0x08969194u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 251u, 0x08969194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F3998u) goto L_089F3998; AOT_REGCACHE_SYNC_OUT(); return; L_089F3998: aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x089F39A4u); + aot_gpr_31 = (0x089F39A4u); aot_gpr_16 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F39A4u) goto L_089F39A4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0896918C, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F39A4u) goto L_089F39A4; AOT_REGCACHE_SYNC_OUT(); return; L_089F39A4: aot_gpr_4 = (aot_gpr_16 << 6u); @@ -8153,20 +8154,20 @@ L_089F39A4: aot_gpr_5 = (std::bit_cast(aot_fpr_12)); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); aot_gpr_4 = (std::bit_cast(aot_fpr_13)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), aot_gpr_5); aot_gpr_5 = (std::bit_cast(aot_fpr_14)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(4), aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(8), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(4), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(8), aot_gpr_5); goto L_089F39D4; L_089F39D4: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; - ctx.gpr[31] = aot_run_words[3]; + aot_gpr_31 = aot_run_words[3]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -8357,7 +8358,7 @@ L_089F3B50: aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(0), std::bit_cast(aot_fpr_12)); goto L_089F3B5C; L_089F3B5C: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -8368,33 +8369,33 @@ L_089F3B64: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_17); - aot_gpr_17 = (aot_gpr_5 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_5 | 0u); aot_gpr_5 = (aot_gpr_29 | 0u); aot_gpr_4 = (aot_gpr_4 + static_cast(816)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), std::bit_cast(aot_fpr_20)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), ctx.gpr[31]); - ctx.gpr[31] = (0x089F3B94u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_31); + aot_gpr_31 = (0x089F3B94u); aot_gpr_6 = (0u | 1u); goto L_089F3910; L_089F3B94: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); aot_fpr_12 = aot_fpr_14 - aot_fpr_12; - ctx.gpr[31] = (0x089F3BB0u); + aot_gpr_31 = (0x089F3BB0u); aot_fpr_13 = aot_fpr_13 - ctx.fpr[15]; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 28u, 0x08964540u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F3BB0u) goto L_089F3BB0; AOT_REGCACHE_SYNC_OUT(); return; L_089F3BB0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_gpr_5 = (aot_gpr_4 + static_cast(48)); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_gpr_4 = (aot_gpr_4 + static_cast(48)); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); aot_fpr_12 = aot_fpr_13 - aot_fpr_12; aot_fpr_14 = aot_fpr_14 - ctx.fpr[15]; { const float fs = aot_fpr_12; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } @@ -8402,16 +8403,16 @@ L_089F3BB0: aot_fpr_13 = aot_fpr_12 + aot_fpr_14; aot_fpr_20 = std::bit_cast(std::bit_cast(ctx.fpr[0])); aot_fpr_13 = std::sqrt(aot_fpr_13); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); - ctx.gpr[31] = (0x089F3BF8u); + aot_gpr_31 = (0x089F3BF8u); aot_fpr_12 = ctx.fpr[15] - aot_fpr_12; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 28u, 0x08964540u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F3BF8u) goto L_089F3BF8; AOT_REGCACHE_SYNC_OUT(); return; L_089F3BF8: aot_gpr_4 = (aot_gpr_16 | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); - ctx.gpr[31] = (0x089F3C08u); + aot_gpr_31 = (0x089F3C08u); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[0])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 15u, 0x089F4168u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F3C08u) goto L_089F3C08; AOT_REGCACHE_SYNC_OUT(); return; @@ -8420,10 +8421,10 @@ L_089F3C08: aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); aot_gpr_16 = aot_run_words[1]; - aot_gpr_17 = aot_run_words[2]; - ctx.gpr[31] = aot_run_words[3]; + ctx.gpr[17] = aot_run_words[2]; + aot_gpr_31 = aot_run_words[3]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -8439,10 +8440,10 @@ L_089F3C20: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[18]); ctx.gpr[18] = (0u | 0u); aot_gpr_6 = (aot_gpr_4 & 2u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_17); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[17]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_31); { const bool branch_taken = aot_gpr_6 == 0u; - aot_gpr_17 = (aot_gpr_16 + static_cast(4)); + ctx.gpr[17] = (aot_gpr_16 + static_cast(4)); if (branch_taken) { goto L_089F3C6C; } @@ -8463,7 +8464,7 @@ L_089F3C54: L_089F3C6C: ctx.gpr[7] = (aot_gpr_29 + static_cast(4)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x089F3C7Cu); + aot_gpr_31 = (0x089F3C7Cu); aot_gpr_6 = (aot_gpr_29 | 0u); goto L_089F3F90; L_089F3C7C: @@ -8471,8 +8472,8 @@ L_089F3C7C: aot_gpr_6 = (2234u << 16u); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x089F3C98u); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_31 = (0x089F3C98u); aot_gpr_6 = (aot_gpr_6 + static_cast(7224)); goto L_089F3790; L_089F3C98: @@ -8490,8 +8491,8 @@ L_089F3CA8: goto L_089F3CAC; L_089F3CAC: aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_6 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x089F3CBCu); + aot_gpr_6 = (ctx.gpr[17] | 0u); + aot_gpr_31 = (0x089F3CBCu); ctx.gpr[7] = (0u | 0u); goto L_089F3EDC; L_089F3CBC: @@ -8510,7 +8511,7 @@ L_089F3CCC: aot_gpr_5 = (aot_gpr_16 + static_cast(12)); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x089F3CE8u); + aot_gpr_31 = (0x089F3CE8u); aot_gpr_6 = (aot_gpr_6 + static_cast(7248)); goto L_089F3790; L_089F3CE8: @@ -8528,7 +8529,7 @@ L_089F3CF8: aot_gpr_6 = (aot_gpr_16 + static_cast(12)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(704))); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x089F3D10u); + aot_gpr_31 = (0x089F3D10u); ctx.gpr[7] = (0u | 0u); goto L_089F3EDC; L_089F3D10: @@ -8536,11 +8537,11 @@ L_089F3D10: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(8), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; - ctx.gpr[31] = aot_run_words[3]; + aot_gpr_31 = aot_run_words[3]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -8559,12 +8560,12 @@ L_089F3D2C: aot_gpr_6 = (aot_gpr_6 + ctx.gpr[7]); aot_gpr_6 = (aot_gpr_6 + static_cast(1396)); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(4))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_17); - aot_gpr_17 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_4 | 0u); ctx.gpr[7] = (0u | 23u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), std::bit_cast(aot_fpr_20)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_31); { const bool branch_taken = aot_gpr_6 == ctx.gpr[7]; aot_gpr_16 = (aot_gpr_5 | 0u); if (branch_taken) { @@ -8573,7 +8574,7 @@ L_089F3D2C: goto L_089F3D80; } L_089F3D80: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(1929)))))); aot_gpr_6 = (aot_gpr_5 << 5u); aot_gpr_5 = (aot_gpr_5 << 2u); @@ -8590,13 +8591,13 @@ L_089F3D80: goto L_089F3DAC; } L_089F3DAC: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (aot_gpr_29 | 0u); - ctx.gpr[31] = (0x089F3DBCu); + aot_gpr_31 = (0x089F3DBCu); aot_gpr_6 = (0u | 4u); goto L_089F3910; L_089F3DBC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_gpr_5 = (aot_gpr_4 + static_cast(48)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_gpr_4 = (aot_gpr_4 + static_cast(48)); @@ -8610,7 +8611,7 @@ L_089F3DBC: goto L_089F3DDC; } L_089F3DDC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_gpr_4 = (aot_gpr_4 + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; @@ -8632,7 +8633,7 @@ L_089F3DEC: aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); aot_fpr_12 = aot_fpr_14 - aot_fpr_12; - ctx.gpr[31] = (0x089F3E08u); + aot_gpr_31 = (0x089F3E08u); aot_fpr_13 = aot_fpr_13 - ctx.fpr[15]; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 28u, 0x08964540u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F3E08u) goto L_089F3E08; AOT_REGCACHE_SYNC_OUT(); return; @@ -8650,14 +8651,14 @@ L_089F3E08: aot_fpr_13 = std::sqrt(aot_fpr_13); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); - ctx.gpr[31] = (0x089F3E44u); + aot_gpr_31 = (0x089F3E44u); aot_fpr_12 = ctx.fpr[15] - aot_fpr_12; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 28u, 0x08964540u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F3E44u) goto L_089F3E44; AOT_REGCACHE_SYNC_OUT(); return; L_089F3E44: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); - ctx.gpr[31] = (0x089F3E54u); + aot_gpr_31 = (0x089F3E54u); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[0])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 49u, 0x089F44B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F3E54u) goto L_089F3E54; AOT_REGCACHE_SYNC_OUT(); return; @@ -8666,10 +8667,10 @@ L_089F3E54: aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); aot_gpr_16 = aot_run_words[1]; - aot_gpr_17 = aot_run_words[2]; - ctx.gpr[31] = aot_run_words[3]; + ctx.gpr[17] = aot_run_words[2]; + aot_gpr_31 = aot_run_words[3]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -8679,15 +8680,15 @@ L_089F3E6C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_fpr_12 = std::bit_cast(0u); - aot_gpr_17 = (aot_gpr_16 + static_cast(12)); + ctx.gpr[17] = (aot_gpr_16 + static_cast(12)); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_12)); aot_gpr_6 = (2234u << 16u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[31]); - ctx.gpr[31] = (0x089F3EA0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); + aot_gpr_31 = (0x089F3EA0u); aot_gpr_6 = (aot_gpr_6 + static_cast(7248)); goto L_089F3790; L_089F3EA0: @@ -8695,8 +8696,8 @@ L_089F3EA0: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(704))); ctx.gpr[18] = (ctx.gpr[2] | 0u); aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_6 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x089F3EBCu); + aot_gpr_6 = (ctx.gpr[17] | 0u); + aot_gpr_31 = (0x089F3EBCu); ctx.gpr[7] = (0u | 0u); goto L_089F3EDC; L_089F3EBC: @@ -8705,11 +8706,11 @@ L_089F3EBC: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; - ctx.gpr[31] = aot_run_words[3]; + aot_gpr_31 = aot_run_words[3]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -8717,8 +8718,8 @@ L_089F3EBC: AOT_REGCACHE_SYNC_OUT(); return; L_089F3EDC: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_17); - aot_gpr_17 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_4 | 0u); aot_gpr_4 = (17204u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), std::bit_cast(aot_fpr_20)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_16); @@ -8736,8 +8737,8 @@ L_089F3EDC: aot_gpr_5 = (ctx.gpr[28] + static_cast(-9872)); aot_fpr_12 = aot_fpr_12 / ctx.fpr[22]; aot_gpr_4 = (ctx.gpr[18] | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[31]); - ctx.gpr[31] = (0x089F3F38u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_31); + aot_gpr_31 = (0x089F3F38u); aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 220u, 0x08968D2Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F3F38u) goto L_089F3F38; AOT_REGCACHE_SYNC_OUT(); return; @@ -8747,15 +8748,15 @@ L_089F3F38: aot_gpr_4 = (ctx.gpr[18] | 0u); { const float fs = aot_fpr_12; const float ft = aot_fpr_20; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = aot_fpr_12 / ctx.fpr[22]; - ctx.gpr[31] = (0x089F3F54u); + aot_gpr_31 = (0x089F3F54u); aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 220u, 0x08968D2Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F3F54u) goto L_089F3F54; AOT_REGCACHE_SYNC_OUT(); return; L_089F3F54: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(44))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(44))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_gpr_4 = (aot_gpr_4 | 64u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(44), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(44), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(464))); aot_gpr_4 = (aot_gpr_4 | 8192u); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(464), aot_gpr_4); @@ -8764,11 +8765,11 @@ L_089F3F54: aot_fpr_20 = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); aot_gpr_16 = aot_run_words[2]; - aot_gpr_17 = aot_run_words[3]; + ctx.gpr[17] = aot_run_words[3]; ctx.gpr[18] = aot_run_words[4]; - ctx.gpr[31] = aot_run_words[5]; + aot_gpr_31 = aot_run_words[5]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -8776,19 +8777,19 @@ L_089F3F54: AOT_REGCACHE_SYNC_OUT(); return; L_089F3F90: aot_gpr_29 = (aot_gpr_29 + static_cast(-64)); - { const std::uint32_t aot_run_words[6]{std::bit_cast(aot_fpr_20), aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[6]{std::bit_cast(aot_fpr_20), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(32), aot_run_words); } aot_gpr_16 = (ctx.gpr[7] | 0u); - aot_gpr_17 = (aot_gpr_6 | 0u); + ctx.gpr[17] = (aot_gpr_6 | 0u); ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(16))); - ctx.gpr[31] = (0x089F3FC0u); + aot_gpr_31 = (0x089F3FC0u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 127u, 0x089D89C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F3FC0u) goto L_089F3FC0; AOT_REGCACHE_SYNC_OUT(); return; L_089F3FC0: ctx.gpr[18] = (ctx.gpr[2] | 0u); aot_gpr_4 = (ctx.gpr[19] + static_cast(8)); - ctx.gpr[31] = (0x089F3FD0u); + aot_gpr_31 = (0x089F3FD0u); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 218u, 0x08968CF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F3FD0u) goto L_089F3FD0; AOT_REGCACHE_SYNC_OUT(); return; diff --git a/profiles/vcs/generated/generated_unit_0124.cpp b/profiles/vcs/generated/generated_unit_0124.cpp index 2600871..38372e5 100644 --- a/profiles/vcs/generated/generated_unit_0124.cpp +++ b/profiles/vcs/generated/generated_unit_0124.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0124[4071] = { }; void recomp_unit_0124_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,16,31,6 fprs=12,13,24,20 gpr_occ=3825 fpr_occ=628 gpr_total=5568 fpr_total=859 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,31,16,6 fprs=12,13,24,20 gpr_occ=3940 fpr_occ=628 gpr_total=5774 fpr_total=859 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; - std::uint32_t aot_gpr_16 = ctx.gpr[16]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; + std::uint32_t aot_gpr_16 = ctx.gpr[16]; std::uint32_t aot_gpr_6 = ctx.gpr[6]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_24 = ctx.fpr[24]; float aot_fpr_20 = ctx.fpr[20]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[16] = aot_gpr_16; ctx.gpr[31] = aot_gpr_31; ctx.gpr[6] = aot_gpr_6; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[24] = aot_fpr_24; ctx.fpr[20] = aot_fpr_20; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_6 = ctx.gpr[6]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_24 = ctx.fpr[24]; aot_fpr_20 = ctx.fpr[20]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[31] = aot_gpr_31; ctx.gpr[16] = aot_gpr_16; ctx.gpr[6] = aot_gpr_6; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[24] = aot_fpr_24; ctx.fpr[20] = aot_fpr_20; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_6 = ctx.gpr[6]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_24 = ctx.fpr[24]; aot_fpr_20 = ctx.fpr[20]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -1179,13 +1180,13 @@ L_089F41D4: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(768))); aot_gpr_31 = (0x089F41F0u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(20))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 251u, 0x08969194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F41F0u) goto L_089F41F0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08969194, 89u, 251u, 0x08969194u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 251u, 0x08969194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F41F0u) goto L_089F41F0; AOT_REGCACHE_SYNC_OUT(); return; L_089F41F0: ctx.gpr[19] = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x089F41FCu); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F41FCu) goto L_089F41FC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0896918C, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F41FCu) goto L_089F41FC; AOT_REGCACHE_SYNC_OUT(); return; L_089F41FC: ctx.gpr[19] = (ctx.gpr[19] << 6u); @@ -1261,13 +1262,13 @@ L_089F4298: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x089F42A8u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(20))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 251u, 0x08969194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F42A8u) goto L_089F42A8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08969194, 89u, 251u, 0x08969194u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 251u, 0x08969194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F42A8u) goto L_089F42A8; AOT_REGCACHE_SYNC_OUT(); return; L_089F42A8: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x089F42B4u); ctx.gpr[18] = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F42B4u) goto L_089F42B4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0896918C, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F42B4u) goto L_089F42B4; AOT_REGCACHE_SYNC_OUT(); return; L_089F42B4: ctx.gpr[18] = (ctx.gpr[18] << 6u); @@ -1600,13 +1601,13 @@ L_089F45A0: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); aot_gpr_31 = (0x089F45B8u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 251u, 0x08969194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F45B8u) goto L_089F45B8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08969194, 89u, 251u, 0x08969194u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 251u, 0x08969194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F45B8u) goto L_089F45B8; AOT_REGCACHE_SYNC_OUT(); return; L_089F45B8: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x089F45C4u); ctx.gpr[18] = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F45C4u) goto L_089F45C4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0896918C, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F45C4u) goto L_089F45C4; AOT_REGCACHE_SYNC_OUT(); return; L_089F45C4: aot_gpr_4 = (ctx.gpr[18] << 6u); @@ -1808,7 +1809,7 @@ L_089F46EC: L_089F46F8: aot_gpr_31 = (0x089F4700u); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F4700u) goto L_089F4700; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0896918C, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F4700u) goto L_089F4700; AOT_REGCACHE_SYNC_OUT(); return; L_089F4700: aot_gpr_4 = (0u | 128u); @@ -1967,13 +1968,13 @@ L_089F48B4: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x089F48CCu); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(20))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 251u, 0x08969194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F48CCu) goto L_089F48CC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08969194, 89u, 251u, 0x08969194u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 251u, 0x08969194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F48CCu) goto L_089F48CC; AOT_REGCACHE_SYNC_OUT(); return; L_089F48CC: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x089F48D8u); ctx.gpr[18] = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F48D8u) goto L_089F48D8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0896918C, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F48D8u) goto L_089F48D8; AOT_REGCACHE_SYNC_OUT(); return; L_089F48D8: aot_gpr_4 = (49225u << 16u); @@ -2260,7 +2261,7 @@ L_089F4B74: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(756))); aot_gpr_31 = (0x089F4B88u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(20))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 251u, 0x08969194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F4B88u) goto L_089F4B88; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08969194, 89u, 251u, 0x08969194u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 251u, 0x08969194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F4B88u) goto L_089F4B88; AOT_REGCACHE_SYNC_OUT(); return; L_089F4B88: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); @@ -2471,7 +2472,7 @@ L_089F4DD0: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089F4DDCu); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F4DDCu) goto L_089F4DDC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F4DDCu) goto L_089F4DDC; AOT_REGCACHE_SYNC_OUT(); return; L_089F4DDC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5836))); @@ -2661,7 +2662,7 @@ L_089F4F50: L_089F4F5C: aot_gpr_31 = (0x089F4F64u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F4F64u) goto L_089F4F64; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F4F64u) goto L_089F4F64; AOT_REGCACHE_SYNC_OUT(); return; L_089F4F64: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -3175,7 +3176,7 @@ L_089F53C0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(80))); aot_gpr_31 = (0x089F53D4u); aot_gpr_5 = (0u | 161u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F53D4u) goto L_089F53D4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0886D4BC, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F53D4u) goto L_089F53D4; AOT_REGCACHE_SYNC_OUT(); return; L_089F53D4: aot_gpr_4 = (ctx.gpr[2] | 0u); @@ -3233,7 +3234,7 @@ L_089F542C: aot_gpr_6 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x089F5450u); aot_gpr_5 = (aot_gpr_5 + static_cast(20104)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F5450u) goto L_089F5450; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F5450u) goto L_089F5450; AOT_REGCACHE_SYNC_OUT(); return; L_089F5450: { const bool branch_taken = 0u == 0u; @@ -3457,7 +3458,7 @@ L_089F55D4: L_089F55DC: aot_gpr_31 = (0x089F55E4u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F55E4u) goto L_089F55E4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F55E4u) goto L_089F55E4; AOT_REGCACHE_SYNC_OUT(); return; L_089F55E4: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -3705,7 +3706,7 @@ L_089F57E8: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x089F57F8u); aot_gpr_6 = (ctx.gpr[22] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F57F8u) goto L_089F57F8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F57F8u) goto L_089F57F8; AOT_REGCACHE_SYNC_OUT(); return; L_089F57F8: aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(6888), ctx.gpr[18]); @@ -3810,7 +3811,7 @@ L_089F5888: L_089F5890: aot_gpr_31 = (0x089F5898u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F5898u) goto L_089F5898; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F5898u) goto L_089F5898; AOT_REGCACHE_SYNC_OUT(); return; L_089F5898: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -4010,7 +4011,7 @@ L_089F5A34: L_089F5A48: aot_gpr_31 = (0x089F5A50u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-9776)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F5A50u) goto L_089F5A50; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F5A50u) goto L_089F5A50; AOT_REGCACHE_SYNC_OUT(); return; L_089F5A50: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -4534,7 +4535,7 @@ L_089F5DC4: L_089F5DE0: aot_gpr_31 = (0x089F5DE8u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F5DE8u) goto L_089F5DE8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2E4, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F5DE8u) goto L_089F5DE8; AOT_REGCACHE_SYNC_OUT(); return; L_089F5DE8: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), 0u); @@ -4877,7 +4878,7 @@ L_089F60B0: L_089F60CC: aot_gpr_31 = (0x089F60D4u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F60D4u) goto L_089F60D4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2E4, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F60D4u) goto L_089F60D4; AOT_REGCACHE_SYNC_OUT(); return; L_089F60D4: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), 0u); @@ -5240,7 +5241,7 @@ L_089F63FC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_31); aot_gpr_31 = (0x089F6444u); aot_gpr_6 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F6444u) goto L_089F6444; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F6444u) goto L_089F6444; AOT_REGCACHE_SYNC_OUT(); return; L_089F6444: aot_gpr_4 = (ctx.gpr[19] | 0u); @@ -5315,7 +5316,7 @@ L_089F64B0: L_089F64C4: aot_gpr_31 = (0x089F64CCu); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F64CCu) goto L_089F64CC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2E4, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F64CCu) goto L_089F64CC; AOT_REGCACHE_SYNC_OUT(); return; L_089F64CC: { const bool branch_taken = 0u == 0u; @@ -6823,7 +6824,7 @@ L_089F70A4: aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x089F70C0u); aot_gpr_6 = (0u | 24u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F70C0u) goto L_089F70C0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F70C0u) goto L_089F70C0; AOT_REGCACHE_SYNC_OUT(); return; L_089F70C0: aot_gpr_4 = (16192u << 16u); @@ -7131,7 +7132,7 @@ L_089F732C: L_089F7338: aot_gpr_31 = (0x089F7340u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F7340u) goto L_089F7340; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F7340u) goto L_089F7340; AOT_REGCACHE_SYNC_OUT(); return; L_089F7340: { std::uint32_t aot_run_words[3]{}; @@ -7364,7 +7365,7 @@ L_089F7540: aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x089F755Cu); aot_gpr_6 = (0u | 24u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F755Cu) goto L_089F755C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F755Cu) goto L_089F755C; AOT_REGCACHE_SYNC_OUT(); return; L_089F755C: aot_gpr_4 = (16192u << 16u); @@ -7430,7 +7431,7 @@ L_089F75E4: aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x089F7600u); aot_gpr_6 = (0u | 24u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F7600u) goto L_089F7600; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F7600u) goto L_089F7600; AOT_REGCACHE_SYNC_OUT(); return; L_089F7600: aot_gpr_4 = (16192u << 16u); @@ -7797,7 +7798,7 @@ L_089F7930: aot_gpr_5 = (0u + static_cast(-1)); aot_gpr_31 = (0x089F7948u); aot_gpr_6 = (0u | 40u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F7948u) goto L_089F7948; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F7948u) goto L_089F7948; AOT_REGCACHE_SYNC_OUT(); return; L_089F7948: aot_gpr_4 = (ctx.gpr[17] | 0u); @@ -7875,7 +7876,7 @@ L_089F79E8: aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x089F7A18u); aot_gpr_6 = (0u | 24u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F7A18u) goto L_089F7A18; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F7A18u) goto L_089F7A18; AOT_REGCACHE_SYNC_OUT(); return; L_089F7A18: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(112))); @@ -8267,7 +8268,7 @@ L_089F7CCC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(60), aot_gpr_31); aot_gpr_31 = (0x089F7D0Cu); aot_gpr_6 = (0u | 40u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F7D0Cu) goto L_089F7D0C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089F7D0Cu) goto L_089F7D0C; AOT_REGCACHE_SYNC_OUT(); return; L_089F7D0C: aot_gpr_4 = (ctx.gpr[18] | 0u); diff --git a/profiles/vcs/generated/generated_unit_0125.cpp b/profiles/vcs/generated/generated_unit_0125.cpp index 6173fa4..ca9c833 100644 --- a/profiles/vcs/generated/generated_unit_0125.cpp +++ b/profiles/vcs/generated/generated_unit_0125.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,7 +139,7 @@ static const std::uint16_t kEntryIds_recomp_unit_0125[4095] = { }; void recomp_unit_0125_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,6,17,7 fprs=12,13,14,20 gpr_occ=4410 fpr_occ=575 gpr_total=6189 fpr_total=616 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,6,17,7 fprs=12,13,14,20 gpr_occ=4417 fpr_occ=575 gpr_total=6203 fpr_total=616 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; @@ -7005,7 +7006,7 @@ L_089FB5E4: aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(48), 0u); ctx.gpr[31] = (0x089FB604u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-9568)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FB604u) goto L_089FB604; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[16], aot_gpr_17, ctx.gpr[18], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FB604u) goto L_089FB604; AOT_REGCACHE_SYNC_OUT(); return; L_089FB604: aot_gpr_5 = (2232u << 16u); @@ -7041,7 +7042,7 @@ L_089FB654: ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); ctx.gpr[31] = (0x089FB660u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FB660u) goto L_089FB660; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FB660u) goto L_089FB660; AOT_REGCACHE_SYNC_OUT(); return; L_089FB660: aot_gpr_4 = (ctx.gpr[16] | 0u); diff --git a/profiles/vcs/generated/generated_unit_0126.cpp b/profiles/vcs/generated/generated_unit_0126.cpp index f730ef6..bdcaecf 100644 --- a/profiles/vcs/generated/generated_unit_0126.cpp +++ b/profiles/vcs/generated/generated_unit_0126.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0126[4096] = { }; void recomp_unit_0126_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,6,16,29,31 fprs=12,13,15,20 gpr_occ=3936 fpr_occ=666 gpr_total=5353 fpr_total=1372 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,6,31,7,2 fprs=12,13,15,20 gpr_occ=3854 fpr_occ=666 gpr_total=5631 fpr_total=1372 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_6 = ctx.gpr[6]; - std::uint32_t aot_gpr_16 = ctx.gpr[16]; - std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; + std::uint32_t aot_gpr_7 = ctx.gpr[7]; + std::uint32_t aot_gpr_2 = ctx.gpr[2]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_15 = ctx.fpr[15]; float aot_fpr_20 = ctx.fpr[20]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[6] = aot_gpr_6; ctx.gpr[16] = aot_gpr_16; ctx.gpr[29] = aot_gpr_29; ctx.gpr[31] = aot_gpr_31; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[15] = aot_fpr_15; ctx.fpr[20] = aot_fpr_20; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_31 = ctx.gpr[31]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_15 = ctx.fpr[15]; aot_fpr_20 = ctx.fpr[20]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[6] = aot_gpr_6; ctx.gpr[31] = aot_gpr_31; ctx.gpr[7] = aot_gpr_7; ctx.gpr[2] = aot_gpr_2; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[15] = aot_fpr_15; ctx.fpr[20] = aot_fpr_20; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_7 = ctx.gpr[7]; aot_gpr_2 = ctx.gpr[2]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_15 = ctx.fpr[15]; aot_fpr_20 = ctx.fpr[20]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -902,7 +903,7 @@ LOCAL_DISPATCH: } L_089FC000: aot_gpr_5 = (2232u << 16u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_6 = (0u | 286u); aot_gpr_31 = (0x089FC014u); aot_gpr_5 = (aot_gpr_5 + static_cast(-1320)); @@ -910,8 +911,8 @@ L_089FC000: AOT_REGCACHE_SYNC_OUT(); return; L_089FC014: { std::uint32_t aot_run_words[7]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(0), aot_run_words); + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -920,30 +921,30 @@ L_089FC014: aot_gpr_31 = aot_run_words[6]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(32)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(32)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_089FC038: - aot_gpr_29 = (aot_gpr_29 + static_cast(-64)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[17]); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-64)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(16), ctx.gpr[17]); ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(40))); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), ctx.gpr[20]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), ctx.gpr[22]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), ctx.gpr[23]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(12), ctx.gpr[16]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(28), ctx.gpr[20]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(36), ctx.gpr[22]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(40), ctx.gpr[23]); ctx.gpr[20] = (0u | 0u); ctx.gpr[23] = (0u | 91u); aot_gpr_6 = (aot_gpr_6 < static_cast(5) ? 1u : 0u); ctx.gpr[22] = (0u | 10u); - aot_gpr_16 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[18]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), ctx.gpr[19]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), ctx.gpr[21]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), ctx.gpr[30]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), aot_gpr_31); + ctx.gpr[16] = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(20), ctx.gpr[18]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(24), ctx.gpr[19]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(32), ctx.gpr[21]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(44), ctx.gpr[30]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(48), aot_gpr_31); { const bool branch_taken = aot_gpr_6 == 0u; ctx.gpr[30] = (aot_gpr_5 | 0u); if (branch_taken) { @@ -952,31 +953,31 @@ L_089FC038: goto L_089FC088; } L_089FC088: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(32))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(32))); aot_gpr_6 = (0u | 32u); aot_gpr_31 = (0x089FC098u); aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0164_entry, 164u, 257u, 0x08A954A0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FC098u) goto L_089FC098; AOT_REGCACHE_SYNC_OUT(); return; L_089FC098: - ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(40))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(40))); goto L_089FC09C; L_089FC09C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(ctx.gpr[23])); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(40))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(40))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_5)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(36))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(36))); ctx.gpr[17] = (0u | 2u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); ctx.gpr[19] = (0u | 3u); aot_gpr_6 = (aot_gpr_5 + static_cast(-1)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_6); { const bool branch_taken = aot_gpr_5 == 0u; - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(36))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(36))); if (branch_taken) { goto L_089FC0F4; } @@ -1001,11 +1002,11 @@ L_089FC0F4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0164_entry, 164u, 231u, 0x08A952D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FC0FCu) goto L_089FC0FC; AOT_REGCACHE_SYNC_OUT(); return; L_089FC0FC: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); goto L_089FC100; L_089FC100: { const bool branch_taken = aot_gpr_4 != ctx.gpr[22]; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), aot_gpr_4); if (branch_taken) { goto L_089FC110; } @@ -1013,19 +1014,19 @@ L_089FC100: } L_089FC108: aot_gpr_31 = (0x089FC110u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0125_entry, 125u, 563u, 0x089FB8C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FC110u) goto L_089FC110; AOT_REGCACHE_SYNC_OUT(); return; L_089FC110: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(40))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(40))); aot_gpr_5 = (2232u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(-1300)); ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_6 = (2232u << 16u); aot_gpr_6 = (aot_gpr_6 + static_cast(-1276)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_5); ctx.gpr[21] = (0u | 93u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_6); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), aot_gpr_6); ctx.gpr[18] = (ctx.gpr[18] < static_cast(7) ? 1u : 0u); goto L_089FC138; L_089FC138: @@ -1037,16 +1038,16 @@ L_089FC138: goto L_089FC140; } L_089FC140: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(32))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(32))); aot_gpr_31 = (0x089FC14Cu); aot_gpr_6 = (ctx.gpr[17] + static_cast(32)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0164_entry, 164u, 257u, 0x08A954A0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FC14Cu) goto L_089FC14C; AOT_REGCACHE_SYNC_OUT(); return; L_089FC14C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(40))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(40))); goto L_089FC150; L_089FC150: - ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); { const bool branch_taken = ctx.gpr[18] == ctx.gpr[21]; aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); if (branch_taken) { @@ -1088,30 +1089,30 @@ L_089FC174: } L_089FC18C: { const bool branch_taken = 0u == 0u; - ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); if (branch_taken) { goto L_089FC198; } goto L_089FC194; } L_089FC194: - ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); goto L_089FC198; L_089FC198: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[21]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(8), ctx.gpr[21]); ctx.gpr[21] = (aot_gpr_4 | 0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x089FC1B0u); aot_gpr_6 = (0u | 288u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0125_entry, 125u, 557u, 0x089FB874u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FC1B0u) goto L_089FC1B0; AOT_REGCACHE_SYNC_OUT(); return; L_089FC1B0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(40))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(40))); ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); ctx.gpr[18] = (ctx.gpr[18] < ctx.gpr[21] ? 1u : 0u); { const bool branch_taken = 0u == 0u; - ctx.gpr[21] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); + ctx.gpr[21] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(8))); if (branch_taken) { goto L_089FC448; } @@ -1119,14 +1120,14 @@ L_089FC1B0: } L_089FC1C4: aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(ctx.gpr[18])); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(36))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(36))); ctx.gpr[17] = (ctx.gpr[19] | 0u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); ctx.gpr[19] = (ctx.gpr[17] + static_cast(1)); aot_gpr_6 = (aot_gpr_5 + static_cast(-1)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_6); { const bool branch_taken = aot_gpr_5 == 0u; - ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(36))); + ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(36))); if (branch_taken) { goto L_089FC208; } @@ -1138,7 +1139,7 @@ L_089FC1E8: aot_gpr_6 = (aot_gpr_5 + static_cast(1)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_6); ctx.gpr[18] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0)))))); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(40))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(40))); { const bool branch_taken = 0u == 0u; ctx.gpr[18] = (ctx.gpr[18] & 255u); if (branch_taken) { @@ -1152,12 +1153,12 @@ L_089FC208: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0164_entry, 164u, 231u, 0x08A952D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FC210u) goto L_089FC210; AOT_REGCACHE_SYNC_OUT(); return; L_089FC210: - ctx.gpr[18] = (ctx.gpr[2] | 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(40))); + ctx.gpr[18] = (aot_gpr_2 | 0u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(40))); goto L_089FC218; L_089FC218: { const bool branch_taken = ctx.gpr[18] != ctx.gpr[23]; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), ctx.gpr[18]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), ctx.gpr[18]); if (branch_taken) { goto L_089FC284; } @@ -1167,7 +1168,7 @@ L_089FC220: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[17]); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(ctx.gpr[18])); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(36))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(36))); ctx.gpr[17] = (ctx.gpr[19] | 0u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); ctx.gpr[20] = (ctx.gpr[20] + static_cast(1)); @@ -1175,7 +1176,7 @@ L_089FC220: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_6); ctx.gpr[19] = (ctx.gpr[17] + static_cast(1)); { const bool branch_taken = aot_gpr_5 == 0u; - ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(36))); + ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(36))); if (branch_taken) { goto L_089FC270; } @@ -1187,7 +1188,7 @@ L_089FC250: aot_gpr_6 = (aot_gpr_5 + static_cast(1)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_6); ctx.gpr[18] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0)))))); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(40))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(40))); { const bool branch_taken = 0u == 0u; ctx.gpr[18] = (ctx.gpr[18] & 255u); if (branch_taken) { @@ -1201,11 +1202,11 @@ L_089FC270: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0164_entry, 164u, 231u, 0x08A952D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FC278u) goto L_089FC278; AOT_REGCACHE_SYNC_OUT(); return; L_089FC278: - ctx.gpr[18] = (ctx.gpr[2] | 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(40))); + ctx.gpr[18] = (aot_gpr_2 | 0u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(40))); goto L_089FC280; L_089FC280: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), ctx.gpr[18]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), ctx.gpr[18]); goto L_089FC284; L_089FC284: ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); @@ -1220,14 +1221,14 @@ L_089FC284: L_089FC294: aot_gpr_4 = (aot_gpr_4 + ctx.gpr[17]); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(ctx.gpr[18])); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(36))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(36))); ctx.gpr[17] = (ctx.gpr[19] | 0u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); ctx.gpr[19] = (ctx.gpr[17] + static_cast(1)); aot_gpr_6 = (aot_gpr_5 + static_cast(-1)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_6); { const bool branch_taken = aot_gpr_5 == 0u; - ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(36))); + ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(36))); if (branch_taken) { goto L_089FC2DC; } @@ -1239,7 +1240,7 @@ L_089FC2BC: aot_gpr_6 = (aot_gpr_5 + static_cast(1)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_6); ctx.gpr[18] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0)))))); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(40))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(40))); { const bool branch_taken = 0u == 0u; ctx.gpr[18] = (ctx.gpr[18] & 255u); if (branch_taken) { @@ -1253,12 +1254,12 @@ L_089FC2DC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0164_entry, 164u, 231u, 0x08A952D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FC2E4u) goto L_089FC2E4; AOT_REGCACHE_SYNC_OUT(); return; L_089FC2E4: - ctx.gpr[18] = (ctx.gpr[2] | 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(40))); + ctx.gpr[18] = (aot_gpr_2 | 0u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(40))); goto L_089FC2EC; L_089FC2EC: { const bool branch_taken = ctx.gpr[18] != ctx.gpr[21]; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), ctx.gpr[18]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), ctx.gpr[18]); if (branch_taken) { goto L_089FC3A0; } @@ -1275,13 +1276,13 @@ L_089FC2F4: L_089FC2FC: aot_gpr_4 = (aot_gpr_4 + ctx.gpr[17]); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(ctx.gpr[18])); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(36))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(36))); ctx.gpr[17] = (ctx.gpr[19] | 0u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_6 = (aot_gpr_5 + static_cast(-1)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_6); { const bool branch_taken = aot_gpr_5 == 0u; - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(36))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(36))); if (branch_taken) { goto L_089FC450; } @@ -1293,7 +1294,7 @@ L_089FC320: aot_gpr_6 = (aot_gpr_5 + static_cast(1)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_6); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0)))))); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(40))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(40))); { const bool branch_taken = 0u == 0u; aot_gpr_5 = (aot_gpr_5 & 255u); if (branch_taken) { @@ -1304,7 +1305,7 @@ L_089FC320: L_089FC340: aot_gpr_4 = (aot_gpr_4 + ctx.gpr[17]); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(ctx.gpr[18])); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(36))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(36))); ctx.gpr[17] = (ctx.gpr[19] | 0u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); ctx.gpr[20] = (ctx.gpr[20] + static_cast(-1)); @@ -1312,7 +1313,7 @@ L_089FC340: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_6); ctx.gpr[19] = (ctx.gpr[17] + static_cast(1)); { const bool branch_taken = aot_gpr_5 == 0u; - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(36))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(36))); if (branch_taken) { goto L_089FC38C; } @@ -1324,7 +1325,7 @@ L_089FC36C: aot_gpr_6 = (aot_gpr_5 + static_cast(1)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_6); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0)))))); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(40))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(40))); { const bool branch_taken = 0u == 0u; aot_gpr_5 = (aot_gpr_5 & 255u); if (branch_taken) { @@ -1338,11 +1339,11 @@ L_089FC38C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0164_entry, 164u, 231u, 0x08A952D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FC394u) goto L_089FC394; AOT_REGCACHE_SYNC_OUT(); return; L_089FC394: - aot_gpr_5 = (ctx.gpr[2] | 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(40))); + aot_gpr_5 = (aot_gpr_2 | 0u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(40))); goto L_089FC39C; L_089FC39C: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), aot_gpr_5); goto L_089FC3A0; L_089FC3A0: ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); @@ -1359,11 +1360,11 @@ L_089FC3B0: aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(ctx.gpr[22])); ctx.gpr[17] = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x089FC3C4u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0125_entry, 125u, 563u, 0x089FB8C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FC3C4u) goto L_089FC3C4; AOT_REGCACHE_SYNC_OUT(); return; L_089FC3C4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(40))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(40))); { const bool branch_taken = ctx.gpr[30] != 0u; ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); if (branch_taken) { @@ -1386,7 +1387,7 @@ L_089FC3D4: } L_089FC3E4: aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(ctx.gpr[18])); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(36))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(36))); ctx.gpr[17] = (ctx.gpr[19] | 0u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); ctx.gpr[18] = (ctx.gpr[17] + static_cast(5)); @@ -1394,7 +1395,7 @@ L_089FC3E4: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_6); ctx.gpr[19] = (ctx.gpr[17] + static_cast(1)); { const bool branch_taken = aot_gpr_5 == 0u; - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(36))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(36))); if (branch_taken) { goto L_089FC42C; } @@ -1406,7 +1407,7 @@ L_089FC40C: aot_gpr_6 = (aot_gpr_5 + static_cast(1)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_6); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0)))))); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(40))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(40))); { const bool branch_taken = 0u == 0u; aot_gpr_5 = (aot_gpr_5 & 255u); if (branch_taken) { @@ -1420,11 +1421,11 @@ L_089FC42C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0164_entry, 164u, 231u, 0x08A952D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FC434u) goto L_089FC434; AOT_REGCACHE_SYNC_OUT(); return; L_089FC434: - aot_gpr_5 = (ctx.gpr[2] | 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(40))); + aot_gpr_5 = (aot_gpr_2 | 0u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(40))); goto L_089FC43C; L_089FC43C: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); ctx.gpr[18] = (aot_gpr_5 < ctx.gpr[18] ? 1u : 0u); goto L_089FC448; @@ -1442,11 +1443,11 @@ L_089FC450: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0164_entry, 164u, 231u, 0x08A952D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FC458u) goto L_089FC458; AOT_REGCACHE_SYNC_OUT(); return; L_089FC458: - aot_gpr_5 = (ctx.gpr[2] | 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(40))); + aot_gpr_5 = (aot_gpr_2 | 0u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(40))); goto L_089FC460; L_089FC460: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[17]); { const bool branch_taken = ctx.gpr[30] == 0u; @@ -1457,22 +1458,22 @@ L_089FC460: goto L_089FC474; } L_089FC474: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(40))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(40))); aot_gpr_6 = (ctx.gpr[17] + static_cast(1)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(32))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(32))); aot_gpr_5 = (aot_gpr_5 + static_cast(2)); aot_gpr_31 = (0x089FC490u); aot_gpr_6 = (aot_gpr_6 + static_cast(-5)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 314u, 0x089D1D64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FC490u) goto L_089FC490; AOT_REGCACHE_SYNC_OUT(); return; L_089FC490: - aot_mem.aot_direct_store32(ctx.gpr[30] + static_cast(0), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[30] + static_cast(0), aot_gpr_2); goto L_089FC494; L_089FC494: { std::uint32_t aot_run_words[10]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(12), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(12), aot_run_words); + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -1484,26 +1485,26 @@ L_089FC494: aot_gpr_31 = aot_run_words[9]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(64)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(64)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_089FC4C4: - aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[19]); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-48)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(20), ctx.gpr[19]); ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(40))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[18]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(16), ctx.gpr[18]); ctx.gpr[18] = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(4))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), aot_gpr_5); aot_gpr_4 = (aot_gpr_4 < static_cast(5) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[17]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(8), ctx.gpr[16]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(12), ctx.gpr[17]); { const std::uint32_t aot_run_words[6]{ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(24), aot_run_words); } + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(24), aot_run_words); } { const bool branch_taken = aot_gpr_4 == 0u; - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_6); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_6); if (branch_taken) { goto L_089FC520; } @@ -1555,12 +1556,12 @@ L_089FC568: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0164_entry, 164u, 231u, 0x08A952D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FC570u) goto L_089FC570; AOT_REGCACHE_SYNC_OUT(); return; L_089FC570: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(40))); goto L_089FC578; L_089FC578: aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(0), aot_gpr_4); - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); { const bool branch_taken = aot_gpr_4 == aot_gpr_6; aot_gpr_6 = (2234u << 16u); if (branch_taken) { @@ -1579,8 +1580,8 @@ L_089FC588: goto L_089FC5A4; L_089FC5A4: aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); - ctx.gpr[7] = (ctx.gpr[19] + static_cast(5)); - aot_gpr_6 = (aot_gpr_6 < ctx.gpr[7] ? 1u : 0u); + aot_gpr_7 = (ctx.gpr[19] + static_cast(5)); + aot_gpr_6 = (aot_gpr_6 < aot_gpr_7 ? 1u : 0u); { const bool branch_taken = aot_gpr_6 == 0u; // nop if (branch_taken) { @@ -1617,8 +1618,8 @@ L_089FC5D4: goto L_089FC5E4; } L_089FC5E4: - ctx.gpr[7] = (0u + static_cast(-1)); - if (aot_gpr_4 != ctx.gpr[7]) { + aot_gpr_7 = (0u + static_cast(-1)); + if (aot_gpr_4 != aot_gpr_7) { aot_gpr_6 = (aot_gpr_6 + ctx.gpr[19]); goto L_089FCB20; } @@ -1692,7 +1693,7 @@ L_089FC674: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0164_entry, 164u, 231u, 0x08A952D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FC67Cu) goto L_089FC67C; AOT_REGCACHE_SYNC_OUT(); return; L_089FC67C: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); goto L_089FC680; L_089FC680: aot_gpr_5 = (static_cast(aot_gpr_4) < 97 ? 1u : 0u); @@ -1812,7 +1813,7 @@ L_089FC748: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0164_entry, 164u, 231u, 0x08A952D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FC750u) goto L_089FC750; AOT_REGCACHE_SYNC_OUT(); return; L_089FC750: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(40))); goto L_089FC758; L_089FC758: @@ -1861,7 +1862,7 @@ L_089FC7B0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0164_entry, 164u, 231u, 0x08A952D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FC7B8u) goto L_089FC7B8; AOT_REGCACHE_SYNC_OUT(); return; L_089FC7B8: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(40))); goto L_089FC7C0; L_089FC7C0: @@ -1910,7 +1911,7 @@ L_089FC818: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0164_entry, 164u, 231u, 0x08A952D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FC820u) goto L_089FC820; AOT_REGCACHE_SYNC_OUT(); return; L_089FC820: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(40))); goto L_089FC828; L_089FC828: @@ -1958,7 +1959,7 @@ L_089FC87C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0164_entry, 164u, 231u, 0x08A952D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FC884u) goto L_089FC884; AOT_REGCACHE_SYNC_OUT(); return; L_089FC884: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(40))); goto L_089FC88C; L_089FC88C: @@ -2007,7 +2008,7 @@ L_089FC8E4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0164_entry, 164u, 231u, 0x08A952D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FC8ECu) goto L_089FC8EC; AOT_REGCACHE_SYNC_OUT(); return; L_089FC8EC: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(40))); goto L_089FC8F4; L_089FC8F4: @@ -2056,7 +2057,7 @@ L_089FC94C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0164_entry, 164u, 231u, 0x08A952D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FC954u) goto L_089FC954; AOT_REGCACHE_SYNC_OUT(); return; L_089FC954: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(40))); goto L_089FC95C; L_089FC95C: @@ -2105,7 +2106,7 @@ L_089FC9B4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0164_entry, 164u, 231u, 0x08A952D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FC9BCu) goto L_089FC9BC; AOT_REGCACHE_SYNC_OUT(); return; L_089FC9BC: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(40))); goto L_089FC9C4; L_089FC9C4: @@ -2164,7 +2165,7 @@ L_089FCA2C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0164_entry, 164u, 231u, 0x08A952D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FCA34u) goto L_089FCA34; AOT_REGCACHE_SYNC_OUT(); return; L_089FCA34: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(40))); goto L_089FCA3C; L_089FCA3C: @@ -2177,19 +2178,19 @@ L_089FCA3C: } L_089FCA44: ctx.gpr[17] = (0u | 0u); - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); goto L_089FCA4C; L_089FCA4C: aot_gpr_5 = (ctx.gpr[17] << 3u); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(36))); aot_gpr_5 = (ctx.gpr[17] + aot_gpr_5); aot_gpr_5 = (ctx.gpr[17] + aot_gpr_5); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); ctx.gpr[17] = (aot_gpr_5 + aot_gpr_4); - aot_gpr_4 = (ctx.gpr[7] + static_cast(-1)); + aot_gpr_4 = (aot_gpr_7 + static_cast(-1)); aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(0), aot_gpr_4); ctx.gpr[17] = (ctx.gpr[17] + static_cast(-48)); - { const bool branch_taken = ctx.gpr[7] == 0u; + { const bool branch_taken = aot_gpr_7 == 0u; aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(36))); if (branch_taken) { goto L_089FCA94; @@ -2215,12 +2216,12 @@ L_089FCA94: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0164_entry, 164u, 231u, 0x08A952D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FCA9Cu) goto L_089FCA9C; AOT_REGCACHE_SYNC_OUT(); return; L_089FCA9C: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); goto L_089FCAA0; L_089FCAA0: aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(0), aot_gpr_4); - aot_gpr_16 = (aot_gpr_16 + static_cast(1)); - aot_gpr_4 = (static_cast(aot_gpr_16) < 3 ? 1u : 0u); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(1)); + aot_gpr_4 = (static_cast(ctx.gpr[16]) < 3 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -2314,14 +2315,14 @@ L_089FCB60: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0164_entry, 164u, 231u, 0x08A952D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FCB68u) goto L_089FCB68; AOT_REGCACHE_SYNC_OUT(); return; L_089FCB68: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(40))); goto L_089FCB70; L_089FCB70: aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(0), aot_gpr_4); goto L_089FCB74; L_089FCB74: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); { const bool branch_taken = aot_gpr_4 != aot_gpr_6; // nop if (branch_taken) { @@ -2365,11 +2366,11 @@ L_089FCBC8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0164_entry, 164u, 231u, 0x08A952D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FCBD0u) goto L_089FCBD0; AOT_REGCACHE_SYNC_OUT(); return; L_089FCBD0: - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(40))); goto L_089FCBD8; L_089FCBD8: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(0), aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_6 = (ctx.gpr[19] + static_cast(1)); @@ -2384,10 +2385,10 @@ L_089FCBD8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 314u, 0x089D1D64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FCC08u) goto L_089FCC08; AOT_REGCACHE_SYNC_OUT(); return; L_089FCC08: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), aot_gpr_2); { std::uint32_t aot_run_words[10]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(8), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(8), aot_run_words); + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -2399,22 +2400,22 @@ L_089FCC08: aot_gpr_31 = aot_run_words[9]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(48)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(48)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_089FCC3C: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), ctx.gpr[16]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), ctx.gpr[17]); + ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.gpr[17] = (aot_gpr_5 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(8), ctx.gpr[18]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(12), aot_gpr_31); goto L_089FCC58; L_089FCC58: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_5 = (static_cast(aot_gpr_4) < 60 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_5 = (0u | 126u); @@ -2451,7 +2452,7 @@ L_089FCC7C: } L_089FCC88: aot_gpr_5 = (2234u << 16u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_5 = (aot_gpr_5 + static_cast(14520)); aot_gpr_5 = (aot_gpr_5 + static_cast(1)); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); @@ -2474,7 +2475,7 @@ L_089FCCAC: } L_089FCCB4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 288u); + aot_gpr_2 = (0u | 288u); if (branch_taken) { goto L_089FD454; } @@ -2490,7 +2491,7 @@ L_089FCCBC: } L_089FCCC4: aot_gpr_31 = (0x089FCCCCu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0125_entry, 125u, 563u, 0x089FB8C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FCCCCu) goto L_089FCCCC; AOT_REGCACHE_SYNC_OUT(); return; L_089FCCCC: @@ -2569,7 +2570,7 @@ L_089FCD1C: goto L_089FCD24; } L_089FCD24: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(36))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(36))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_6 = (aot_gpr_5 + static_cast(-1)); { const bool branch_taken = aot_gpr_5 == 0u; @@ -2580,7 +2581,7 @@ L_089FCD24: goto L_089FCD38; } L_089FCD38: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(36))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(36))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_6 = (aot_gpr_5 + static_cast(1)); @@ -2595,23 +2596,23 @@ L_089FCD38: } L_089FCD58: aot_gpr_31 = (0x089FCD60u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(36))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(36))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0164_entry, 164u, 231u, 0x08A952D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FCD60u) goto L_089FCD60; AOT_REGCACHE_SYNC_OUT(); return; L_089FCD60: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); goto L_089FCD64; L_089FCD64: aot_gpr_5 = (0u | 45u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), aot_gpr_4); if (branch_taken) { goto L_089FCDA4; } goto L_089FCD70; } L_089FCD70: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(36))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(36))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_6 = (aot_gpr_5 + static_cast(-1)); { const bool branch_taken = aot_gpr_5 == 0u; @@ -2622,7 +2623,7 @@ L_089FCD70: goto L_089FCD84; } L_089FCD84: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(36))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(36))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_6 = (aot_gpr_5 + static_cast(1)); @@ -2637,7 +2638,7 @@ L_089FCD84: } L_089FCDA4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 45u); + aot_gpr_2 = (0u | 45u); if (branch_taken) { goto L_089FD454; } @@ -2645,23 +2646,23 @@ L_089FCDA4: } L_089FCDAC: aot_gpr_31 = (0x089FCDB4u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(36))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(36))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0164_entry, 164u, 231u, 0x08A952D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FCDB4u) goto L_089FCDB4; AOT_REGCACHE_SYNC_OUT(); return; L_089FCDB4: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); goto L_089FCDB8; L_089FCDB8: aot_gpr_5 = (0u | 91u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), aot_gpr_4); if (branch_taken) { goto L_089FCE24; } goto L_089FCDC4; } L_089FCDC4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(36))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(36))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_6 = (aot_gpr_5 + static_cast(-1)); { const bool branch_taken = aot_gpr_5 == 0u; @@ -2672,7 +2673,7 @@ L_089FCDC4: goto L_089FCDD8; } L_089FCDD8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(36))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(36))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_6 = (aot_gpr_5 + static_cast(1)); @@ -2687,23 +2688,23 @@ L_089FCDD8: } L_089FCDF8: aot_gpr_31 = (0x089FCE00u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(36))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(36))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0164_entry, 164u, 231u, 0x08A952D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FCE00u) goto L_089FCE00; AOT_REGCACHE_SYNC_OUT(); return; L_089FCE00: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); goto L_089FCE04; L_089FCE04: aot_gpr_5 = (0u | 91u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), aot_gpr_4); if (branch_taken) { goto L_089FCE24; } goto L_089FCE10; } L_089FCE10: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089FCE1Cu); aot_gpr_5 = (0u | 0u); goto L_089FC038; @@ -2716,7 +2717,7 @@ L_089FCE1C: goto L_089FCE24; } L_089FCE24: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_5 = (0u | 10u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -2726,7 +2727,7 @@ L_089FCE24: goto L_089FCE34; } L_089FCE34: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_5 = (0u + static_cast(-1)); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -2736,7 +2737,7 @@ L_089FCE34: goto L_089FCE44; } L_089FCE44: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(36))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(36))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_6 = (aot_gpr_5 + static_cast(-1)); { const bool branch_taken = aot_gpr_5 == 0u; @@ -2747,7 +2748,7 @@ L_089FCE44: goto L_089FCE58; } L_089FCE58: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(36))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(36))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_6 = (aot_gpr_5 + static_cast(1)); @@ -2762,22 +2763,22 @@ L_089FCE58: } L_089FCE78: aot_gpr_31 = (0x089FCE80u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(36))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(36))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0164_entry, 164u, 231u, 0x08A952D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FCE80u) goto L_089FCE80; AOT_REGCACHE_SYNC_OUT(); return; L_089FCE80: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); goto L_089FCE84; L_089FCE84: { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), aot_gpr_4); if (branch_taken) { goto L_089FCE24; } goto L_089FCE8C; } L_089FCE8C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(36))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(36))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_6 = (aot_gpr_5 + static_cast(-1)); { const bool branch_taken = aot_gpr_5 == 0u; @@ -2788,7 +2789,7 @@ L_089FCE8C: goto L_089FCEA0; } L_089FCEA0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(36))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(36))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_6 = (aot_gpr_5 + static_cast(1)); @@ -2803,16 +2804,16 @@ L_089FCEA0: } L_089FCEC0: aot_gpr_31 = (0x089FCEC8u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(36))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(36))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0164_entry, 164u, 231u, 0x08A952D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FCEC8u) goto L_089FCEC8; AOT_REGCACHE_SYNC_OUT(); return; L_089FCEC8: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); goto L_089FCECC; L_089FCECC: aot_gpr_5 = (0u | 91u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), aot_gpr_4); if (branch_taken) { goto L_089FCEE0; } @@ -2820,27 +2821,27 @@ L_089FCECC: } L_089FCED8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 91u); + aot_gpr_2 = (0u | 91u); if (branch_taken) { goto L_089FD454; } goto L_089FCEE0; } L_089FCEE0: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089FCEECu); aot_gpr_5 = (ctx.gpr[17] | 0u); goto L_089FC038; L_089FCEEC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 287u); + aot_gpr_2 = (0u | 287u); if (branch_taken) { goto L_089FD454; } goto L_089FCEF4; } L_089FCEF4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(36))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(36))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_6 = (aot_gpr_5 + static_cast(-1)); { const bool branch_taken = aot_gpr_5 == 0u; @@ -2851,7 +2852,7 @@ L_089FCEF4: goto L_089FCF08; } L_089FCF08: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(36))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(36))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_6 = (aot_gpr_5 + static_cast(1)); @@ -2866,23 +2867,23 @@ L_089FCF08: } L_089FCF28: aot_gpr_31 = (0x089FCF30u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(36))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(36))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0164_entry, 164u, 231u, 0x08A952D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FCF30u) goto L_089FCF30; AOT_REGCACHE_SYNC_OUT(); return; L_089FCF30: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); goto L_089FCF34; L_089FCF34: aot_gpr_5 = (0u | 61u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), aot_gpr_4); if (branch_taken) { goto L_089FCF74; } goto L_089FCF40; } L_089FCF40: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(36))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(36))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_6 = (aot_gpr_5 + static_cast(-1)); { const bool branch_taken = aot_gpr_5 == 0u; @@ -2893,7 +2894,7 @@ L_089FCF40: goto L_089FCF54; } L_089FCF54: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(36))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(36))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_6 = (aot_gpr_5 + static_cast(1)); @@ -2908,7 +2909,7 @@ L_089FCF54: } L_089FCF74: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 61u); + aot_gpr_2 = (0u | 61u); if (branch_taken) { goto L_089FD454; } @@ -2916,23 +2917,23 @@ L_089FCF74: } L_089FCF7C: aot_gpr_31 = (0x089FCF84u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(36))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(36))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0164_entry, 164u, 231u, 0x08A952D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FCF84u) goto L_089FCF84; AOT_REGCACHE_SYNC_OUT(); return; L_089FCF84: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); goto L_089FCF88; L_089FCF88: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), aot_gpr_4); { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 281u); + aot_gpr_2 = (0u | 281u); if (branch_taken) { goto L_089FD454; } goto L_089FCF94; } L_089FCF94: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(36))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(36))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_6 = (aot_gpr_5 + static_cast(-1)); { const bool branch_taken = aot_gpr_5 == 0u; @@ -2943,7 +2944,7 @@ L_089FCF94: goto L_089FCFA8; } L_089FCFA8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(36))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(36))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_6 = (aot_gpr_5 + static_cast(1)); @@ -2958,23 +2959,23 @@ L_089FCFA8: } L_089FCFC8: aot_gpr_31 = (0x089FCFD0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(36))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(36))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0164_entry, 164u, 231u, 0x08A952D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FCFD0u) goto L_089FCFD0; AOT_REGCACHE_SYNC_OUT(); return; L_089FCFD0: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); goto L_089FCFD4; L_089FCFD4: aot_gpr_5 = (0u | 61u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), aot_gpr_4); if (branch_taken) { goto L_089FD014; } goto L_089FCFE0; } L_089FCFE0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(36))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(36))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_6 = (aot_gpr_5 + static_cast(-1)); { const bool branch_taken = aot_gpr_5 == 0u; @@ -2985,7 +2986,7 @@ L_089FCFE0: goto L_089FCFF4; } L_089FCFF4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(36))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(36))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_6 = (aot_gpr_5 + static_cast(1)); @@ -3000,7 +3001,7 @@ L_089FCFF4: } L_089FD014: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 60u); + aot_gpr_2 = (0u | 60u); if (branch_taken) { goto L_089FD454; } @@ -3008,23 +3009,23 @@ L_089FD014: } L_089FD01C: aot_gpr_31 = (0x089FD024u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(36))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(36))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0164_entry, 164u, 231u, 0x08A952D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FD024u) goto L_089FD024; AOT_REGCACHE_SYNC_OUT(); return; L_089FD024: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); goto L_089FD028; L_089FD028: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), aot_gpr_4); { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 283u); + aot_gpr_2 = (0u | 283u); if (branch_taken) { goto L_089FD454; } goto L_089FD034; } L_089FD034: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(36))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(36))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_6 = (aot_gpr_5 + static_cast(-1)); { const bool branch_taken = aot_gpr_5 == 0u; @@ -3035,7 +3036,7 @@ L_089FD034: goto L_089FD048; } L_089FD048: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(36))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(36))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_6 = (aot_gpr_5 + static_cast(1)); @@ -3050,23 +3051,23 @@ L_089FD048: } L_089FD068: aot_gpr_31 = (0x089FD070u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(36))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(36))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0164_entry, 164u, 231u, 0x08A952D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FD070u) goto L_089FD070; AOT_REGCACHE_SYNC_OUT(); return; L_089FD070: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); goto L_089FD074; L_089FD074: aot_gpr_5 = (0u | 61u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), aot_gpr_4); if (branch_taken) { goto L_089FD0B4; } goto L_089FD080; } L_089FD080: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(36))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(36))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_6 = (aot_gpr_5 + static_cast(-1)); { const bool branch_taken = aot_gpr_5 == 0u; @@ -3077,7 +3078,7 @@ L_089FD080: goto L_089FD094; } L_089FD094: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(36))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(36))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_6 = (aot_gpr_5 + static_cast(1)); @@ -3092,7 +3093,7 @@ L_089FD094: } L_089FD0B4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 62u); + aot_gpr_2 = (0u | 62u); if (branch_taken) { goto L_089FD454; } @@ -3100,23 +3101,23 @@ L_089FD0B4: } L_089FD0BC: aot_gpr_31 = (0x089FD0C4u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(36))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(36))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0164_entry, 164u, 231u, 0x08A952D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FD0C4u) goto L_089FD0C4; AOT_REGCACHE_SYNC_OUT(); return; L_089FD0C4: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); goto L_089FD0C8; L_089FD0C8: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), aot_gpr_4); { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 282u); + aot_gpr_2 = (0u | 282u); if (branch_taken) { goto L_089FD454; } goto L_089FD0D4; } L_089FD0D4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(36))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(36))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_6 = (aot_gpr_5 + static_cast(-1)); { const bool branch_taken = aot_gpr_5 == 0u; @@ -3127,7 +3128,7 @@ L_089FD0D4: goto L_089FD0E8; } L_089FD0E8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(36))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(36))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_6 = (aot_gpr_5 + static_cast(1)); @@ -3142,23 +3143,23 @@ L_089FD0E8: } L_089FD108: aot_gpr_31 = (0x089FD110u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(36))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(36))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0164_entry, 164u, 231u, 0x08A952D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FD110u) goto L_089FD110; AOT_REGCACHE_SYNC_OUT(); return; L_089FD110: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); goto L_089FD114; L_089FD114: aot_gpr_5 = (0u | 61u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), aot_gpr_4); if (branch_taken) { goto L_089FD154; } goto L_089FD120; } L_089FD120: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(36))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(36))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_6 = (aot_gpr_5 + static_cast(-1)); { const bool branch_taken = aot_gpr_5 == 0u; @@ -3169,7 +3170,7 @@ L_089FD120: goto L_089FD134; } L_089FD134: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(36))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(36))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_6 = (aot_gpr_5 + static_cast(1)); @@ -3184,7 +3185,7 @@ L_089FD134: } L_089FD154: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 126u); + aot_gpr_2 = (0u | 126u); if (branch_taken) { goto L_089FD454; } @@ -3192,37 +3193,37 @@ L_089FD154: } L_089FD15C: aot_gpr_31 = (0x089FD164u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(36))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(36))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0164_entry, 164u, 231u, 0x08A952D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FD164u) goto L_089FD164; AOT_REGCACHE_SYNC_OUT(); return; L_089FD164: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); goto L_089FD168; L_089FD168: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), aot_gpr_4); { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 284u); + aot_gpr_2 = (0u | 284u); if (branch_taken) { goto L_089FD454; } goto L_089FD174; } L_089FD174: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089FD184u); aot_gpr_6 = (ctx.gpr[17] | 0u); goto L_089FC4C4; L_089FD184: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 287u); + aot_gpr_2 = (0u | 287u); if (branch_taken) { goto L_089FD454; } goto L_089FD18C; } L_089FD18C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(36))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(36))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_6 = (aot_gpr_5 + static_cast(-1)); { const bool branch_taken = aot_gpr_5 == 0u; @@ -3233,7 +3234,7 @@ L_089FD18C: goto L_089FD1A0; } L_089FD1A0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(36))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(36))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_6 = (aot_gpr_5 + static_cast(1)); @@ -3248,23 +3249,23 @@ L_089FD1A0: } L_089FD1C0: aot_gpr_31 = (0x089FD1C8u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(36))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(36))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0164_entry, 164u, 231u, 0x08A952D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FD1C8u) goto L_089FD1C8; AOT_REGCACHE_SYNC_OUT(); return; L_089FD1C8: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); goto L_089FD1CC; L_089FD1CC: aot_gpr_5 = (0u | 46u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), aot_gpr_4); if (branch_taken) { goto L_089FD278; } goto L_089FD1D8; } L_089FD1D8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(36))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(36))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_6 = (aot_gpr_5 + static_cast(-1)); { const bool branch_taken = aot_gpr_5 == 0u; @@ -3275,7 +3276,7 @@ L_089FD1D8: goto L_089FD1EC; } L_089FD1EC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(36))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(36))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_6 = (aot_gpr_5 + static_cast(1)); @@ -3290,23 +3291,23 @@ L_089FD1EC: } L_089FD20C: aot_gpr_31 = (0x089FD214u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(36))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(36))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0164_entry, 164u, 231u, 0x08A952D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FD214u) goto L_089FD214; AOT_REGCACHE_SYNC_OUT(); return; L_089FD214: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); goto L_089FD218; L_089FD218: aot_gpr_5 = (0u | 46u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), aot_gpr_4); if (branch_taken) { goto L_089FD270; } goto L_089FD224; } L_089FD224: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(36))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(36))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_6 = (aot_gpr_5 + static_cast(-1)); { const bool branch_taken = aot_gpr_5 == 0u; @@ -3317,7 +3318,7 @@ L_089FD224: goto L_089FD238; } L_089FD238: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(36))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(36))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_6 = (aot_gpr_5 + static_cast(1)); @@ -3332,16 +3333,16 @@ L_089FD238: } L_089FD258: aot_gpr_31 = (0x089FD260u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(36))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(36))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0164_entry, 164u, 231u, 0x08A952D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FD260u) goto L_089FD260; AOT_REGCACHE_SYNC_OUT(); return; L_089FD260: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); goto L_089FD264; L_089FD264: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), aot_gpr_4); { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 280u); + aot_gpr_2 = (0u | 280u); if (branch_taken) { goto L_089FD454; } @@ -3349,7 +3350,7 @@ L_089FD264: } L_089FD270: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 279u); + aot_gpr_2 = (0u | 279u); if (branch_taken) { goto L_089FD454; } @@ -3357,7 +3358,7 @@ L_089FD270: } L_089FD278: aot_gpr_5 = (2234u << 16u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_5 = (aot_gpr_5 + static_cast(14520)); aot_gpr_5 = (aot_gpr_5 + static_cast(1)); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); @@ -3372,14 +3373,14 @@ L_089FD278: } L_089FD29C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 46u); + aot_gpr_2 = (0u | 46u); if (branch_taken) { goto L_089FD454; } goto L_089FD2A4; } L_089FD2A4: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 1u); aot_gpr_31 = (0x089FD2B4u); aot_gpr_6 = (ctx.gpr[17] | 0u); @@ -3387,14 +3388,14 @@ L_089FD2A4: AOT_REGCACHE_SYNC_OUT(); return; L_089FD2B4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 286u); + aot_gpr_2 = (0u | 286u); if (branch_taken) { goto L_089FD454; } goto L_089FD2BC; } L_089FD2BC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(36))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(36))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_6 = (aot_gpr_5 + static_cast(-1)); { const bool branch_taken = aot_gpr_5 == 0u; @@ -3405,7 +3406,7 @@ L_089FD2BC: goto L_089FD2D0; } L_089FD2D0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(36))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(36))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_6 = (aot_gpr_5 + static_cast(1)); @@ -3420,15 +3421,15 @@ L_089FD2D0: } L_089FD2F0: aot_gpr_31 = (0x089FD2F8u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(36))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(36))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0164_entry, 164u, 231u, 0x08A952D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FD2F8u) goto L_089FD2F8; AOT_REGCACHE_SYNC_OUT(); return; L_089FD2F8: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); goto L_089FD2FC; L_089FD2FC: { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), aot_gpr_4); if (branch_taken) { goto L_089FCCCC; } @@ -3436,7 +3437,7 @@ L_089FD2FC: } L_089FD304: aot_gpr_5 = (2234u << 16u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_5 = (aot_gpr_5 + static_cast(14520)); aot_gpr_5 = (aot_gpr_5 + static_cast(1)); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); @@ -3451,7 +3452,7 @@ L_089FD304: } L_089FD328: aot_gpr_5 = (2234u << 16u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_5 = (aot_gpr_5 + static_cast(14520)); aot_gpr_5 = (aot_gpr_5 + static_cast(1)); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); @@ -3466,14 +3467,14 @@ L_089FD328: } L_089FD34C: { const bool branch_taken = 0u == 0u; - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); if (branch_taken) { goto L_089FD36C; } goto L_089FD354; } L_089FD354: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x089FD364u); aot_gpr_6 = (ctx.gpr[17] | 0u); @@ -3481,7 +3482,7 @@ L_089FD354: AOT_REGCACHE_SYNC_OUT(); return; L_089FD364: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 286u); + aot_gpr_2 = (0u | 286u); if (branch_taken) { goto L_089FD454; } @@ -3498,20 +3499,20 @@ L_089FD36C: } L_089FD378: aot_gpr_31 = (0x089FD380u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0125_entry, 125u, 582u, 0x089FBA50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FD380u) goto L_089FD380; AOT_REGCACHE_SYNC_OUT(); return; L_089FD380: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(40))); - aot_gpr_6 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(40))); + aot_gpr_6 = (aot_gpr_2 | 0u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_31 = (0x089FD394u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(32))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(32))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 314u, 0x089D1D64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FD394u) goto L_089FD394; AOT_REGCACHE_SYNC_OUT(); return; L_089FD394: - aot_gpr_16 = (ctx.gpr[2] | 0u); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(6))); + ctx.gpr[16] = (aot_gpr_2 | 0u); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(6))); { const bool branch_taken = static_cast(aot_gpr_4) <= 0; // nop if (branch_taken) { @@ -3520,18 +3521,18 @@ L_089FD394: goto L_089FD3A4; } L_089FD3A4: - ctx.gpr[2] = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(6))); + aot_gpr_2 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(6))); { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (ctx.gpr[2] + static_cast(256)); + aot_gpr_2 = (aot_gpr_2 + static_cast(256)); if (branch_taken) { goto L_089FD454; } goto L_089FD3B0; } L_089FD3B0: - aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), ctx.gpr[16]); { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 278u); + aot_gpr_2 = (0u | 278u); if (branch_taken) { goto L_089FD454; } @@ -3539,7 +3540,7 @@ L_089FD3B0: } L_089FD3BC: aot_gpr_4 = (2234u << 16u); - ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_4 = (aot_gpr_4 + static_cast(14520)); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[17]); @@ -3553,23 +3554,23 @@ L_089FD3BC: goto L_089FD3E0; } L_089FD3E0: - ctx.gpr[7] = (2232u << 16u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(32))); + aot_gpr_7 = (2232u << 16u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(32))); aot_gpr_5 = (ctx.gpr[28] + static_cast(-9320)); aot_gpr_6 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x089FD3F8u); - ctx.gpr[18] = (ctx.gpr[7] + static_cast(-1204)); + ctx.gpr[18] = (aot_gpr_7 + static_cast(-1204)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0045_entry, 45u, 337u, 0x088B98ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FD3F8u) goto L_089FD3F8; AOT_REGCACHE_SYNC_OUT(); return; L_089FD3F8: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x089FD408u); - aot_gpr_6 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0125_entry, 125u, 541u, 0x089FB77Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FD408u) goto L_089FD408; AOT_REGCACHE_SYNC_OUT(); return; L_089FD408: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(36))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(36))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_6 = (aot_gpr_5 + static_cast(-1)); { const bool branch_taken = aot_gpr_5 == 0u; @@ -3580,7 +3581,7 @@ L_089FD408: goto L_089FD41C; } L_089FD41C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(36))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(36))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_6 = (aot_gpr_5 + static_cast(1)); @@ -3595,16 +3596,16 @@ L_089FD41C: } L_089FD43C: aot_gpr_31 = (0x089FD444u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(36))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(36))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0164_entry, 164u, 231u, 0x08A952D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FD444u) goto L_089FD444; AOT_REGCACHE_SYNC_OUT(); return; L_089FD444: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); goto L_089FD448; L_089FD448: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), aot_gpr_4); { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (ctx.gpr[17] | 0u); + aot_gpr_2 = (ctx.gpr[17] | 0u); if (branch_taken) { goto L_089FD454; } @@ -3612,14 +3613,14 @@ L_089FD448: } L_089FD454: { std::uint32_t aot_run_words[4]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(0), aot_run_words); + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -3698,7 +3699,7 @@ L_089FD49C: AOT_REGCACHE_SYNC_OUT(); return; L_089FD4A4: jump_target = aot_gpr_31; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -3719,35 +3720,35 @@ L_089FD4B4: AOT_REGCACHE_SYNC_OUT(); return; L_089FD4BC: jump_target = aot_gpr_31; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_089FD4C4: jump_target = aot_gpr_31; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_089FD4CC: jump_target = aot_gpr_31; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_089FD4D4: jump_target = aot_gpr_31; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_089FD4DC: jump_target = aot_gpr_31; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -3768,7 +3769,7 @@ L_089FD4EC: AOT_REGCACHE_SYNC_OUT(); return; L_089FD4F4: jump_target = aot_gpr_31; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -3782,21 +3783,21 @@ L_089FD4FC: AOT_REGCACHE_SYNC_OUT(); return; L_089FD504: jump_target = aot_gpr_31; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_089FD50C: jump_target = aot_gpr_31; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_089FD514: jump_target = aot_gpr_31; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -3825,18 +3826,18 @@ L_089FD544: AOT_REGCACHE_SYNC_OUT(); return; L_089FD54C: jump_target = aot_gpr_31; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_089FD554: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); - aot_gpr_16 = (aot_gpr_5 | 0u); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), ctx.gpr[16]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), ctx.gpr[17]); + ctx.gpr[16] = (aot_gpr_5 | 0u); ctx.gpr[17] = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x089FD574u); aot_gpr_5 = (aot_gpr_6 & 255u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 959u, 0x08B03834u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FD574u) goto L_089FD574; @@ -3846,7 +3847,7 @@ L_089FD574: aot_gpr_4 = (aot_gpr_4 + static_cast(27856)); aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(92), aot_gpr_4); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); - aot_gpr_5 = (static_cast(aot_gpr_16) < static_cast(aot_gpr_5) ? 1u : 0u); + aot_gpr_5 = (static_cast(ctx.gpr[16]) < static_cast(aot_gpr_5) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_4 = (0u | 0u); if (branch_taken) { @@ -3856,7 +3857,7 @@ L_089FD574: } L_089FD590: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); - aot_gpr_5 = (aot_gpr_16 << 2u); + aot_gpr_5 = (ctx.gpr[16] << 2u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); goto L_089FD5A0; @@ -3867,7 +3868,7 @@ L_089FD5A0: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(352), aot_gpr_5); aot_gpr_31 = (0x089FD5BCu); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); goto L_089FD75C; L_089FD5BC: aot_gpr_4 = (19646u << 16u); @@ -3889,9 +3890,9 @@ L_089FD5BC: aot_gpr_4 = (aot_gpr_4 | 8u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(72))); aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(236), aot_gpr_4); - ctx.gpr[7] = (128u << 16u); + aot_gpr_7 = (128u << 16u); aot_gpr_6 = (0u + static_cast(-513)); - aot_gpr_4 = (aot_gpr_4 | ctx.gpr[7]); + aot_gpr_4 = (aot_gpr_4 | aot_gpr_7); aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(236), aot_gpr_4); aot_gpr_4 = (aot_gpr_5 | 512u); @@ -3905,27 +3906,27 @@ L_089FD5BC: aot_gpr_4 = (0u + static_cast(-8)); aot_gpr_4 = (aot_gpr_5 & aot_gpr_4); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(90), static_cast(aot_gpr_4)); - ctx.gpr[2] = (ctx.gpr[17] | 0u); + aot_gpr_2 = (ctx.gpr[17] | 0u); { std::uint32_t aot_run_words[3]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(0), aot_run_words); + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_089FD660: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), ctx.gpr[17]); ctx.gpr[17] = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), ctx.gpr[16]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(8), aot_gpr_31); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_16 = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); if (branch_taken) { goto L_089FD6B0; } @@ -3945,7 +3946,7 @@ L_089FD690: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 736u, 0x08AFF300u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FD69Cu) goto L_089FD69C; AOT_REGCACHE_SYNC_OUT(); return; L_089FD69C: - aot_gpr_4 = (aot_gpr_16 & 1u); + aot_gpr_4 = (ctx.gpr[16] & 1u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -3960,24 +3961,24 @@ L_089FD6A8: AOT_REGCACHE_SYNC_OUT(); return; L_089FD6B0: { std::uint32_t aot_run_words[3]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(0), aot_run_words); + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_089FD6C4: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(80))); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), ctx.gpr[17]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(8), aot_gpr_31); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -3996,7 +3997,7 @@ L_089FD6E4: goto L_089FD6F4; } L_089FD6F4: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(64))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(64))); { const bool branch_taken = aot_gpr_5 == 0u; // nop if (branch_taken) { @@ -4005,7 +4006,7 @@ L_089FD6F4: goto L_089FD700; } L_089FD700: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(72))); aot_gpr_6 = (aot_gpr_6 & 1u); { const bool branch_taken = aot_gpr_6 == 0u; // nop @@ -4020,10 +4021,10 @@ L_089FD710: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 129u, 0x089D89E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FD718u) goto L_089FD718; AOT_REGCACHE_SYNC_OUT(); return; L_089FD718: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(80))); goto L_089FD71C; L_089FD71C: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(64), 0u); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0))); { const bool branch_taken = aot_gpr_5 != ctx.gpr[17]; // nop @@ -4043,48 +4044,48 @@ L_089FD734: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0091_entry, 91u, 658u, 0x089730ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FD73Cu) goto L_089FD73C; AOT_REGCACHE_SYNC_OUT(); return; L_089FD73C: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(80), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(80), 0u); goto L_089FD740; L_089FD740: aot_gpr_31 = (0x089FD748u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0178_entry, 178u, 1147u, 0x08ACFFD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FD748u) goto L_089FD748; AOT_REGCACHE_SYNC_OUT(); return; L_089FD748: { std::uint32_t aot_run_words[3]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(0), aot_run_words); + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_089FD75C: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), aot_gpr_31); aot_gpr_31 = (0x089FD76Cu); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 769u, 0x08AFF4B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FD76Cu) goto L_089FD76C; AOT_REGCACHE_SYNC_OUT(); return; L_089FD76C: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_089FD778: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(4224))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), ctx.gpr[16]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), aot_gpr_31); { const bool branch_taken = aot_gpr_5 != 0u; - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_089FD7AC; } @@ -4092,7 +4093,7 @@ L_089FD778: } L_089FD790: aot_gpr_4 = (0u | 1u); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(961), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(961), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5884))); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -4136,23 +4137,23 @@ L_089FD7C0: } L_089FD7CC: aot_gpr_31 = (0x089FD7D4u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 129u, 0x08AD0934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FD7D4u) goto L_089FD7D4; AOT_REGCACHE_SYNC_OUT(); return; L_089FD7D4: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(4))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_089FD7E4: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7080))); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], aot_gpr_31}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } + { const std::uint32_t aot_run_words[3]{ctx.gpr[16], ctx.gpr[17], aot_gpr_31}; + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(0), aot_run_words); } { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -4187,11 +4188,11 @@ L_089FD814: } L_089FD81C: ctx.gpr[17] = (0u | 0u); - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); goto L_089FD824; L_089FD824: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9304))); - aot_gpr_4 = (aot_gpr_4 + aot_gpr_16); + aot_gpr_4 = (aot_gpr_4 + ctx.gpr[16]); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -4222,7 +4223,7 @@ L_089FD844: AOT_REGCACHE_SYNC_OUT(); return; L_089FD85C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9304))); - aot_gpr_4 = (aot_gpr_4 + aot_gpr_16); + aot_gpr_4 = (aot_gpr_4 + ctx.gpr[16]); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); goto L_089FD868; L_089FD868: @@ -4232,7 +4233,7 @@ L_089FD86C: ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); aot_gpr_4 = (static_cast(ctx.gpr[17]) < 3 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_16 = (aot_gpr_16 + static_cast(4)); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(4)); if (branch_taken) { goto L_089FD824; } @@ -4240,13 +4241,13 @@ L_089FD86C: } L_089FD87C: { std::uint32_t aot_run_words[3]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(0), aot_run_words); + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -4261,10 +4262,10 @@ L_089FD890: ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_089FD8A0: - aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-32)); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7080))); - { const std::uint32_t aot_run_words[7]{std::bit_cast(aot_fpr_20), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } + { const std::uint32_t aot_run_words[7]{std::bit_cast(aot_fpr_20), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(0), aot_run_words); } { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -4342,7 +4343,7 @@ L_089FD938: ctx.gpr[20] = (0u | 0u); aot_fpr_20 = std::bit_cast(0u); ctx.gpr[17] = (0u + static_cast(-497)); - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); goto L_089FD948; L_089FD948: ctx.gpr[19] = (0u | 0u); @@ -4351,7 +4352,7 @@ L_089FD948: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 732u, 0x08AFF2C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FD954u) goto L_089FD954; AOT_REGCACHE_SYNC_OUT(); return; L_089FD954: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[18] == 0u; aot_gpr_4 = (ctx.gpr[18] | 0u); if (branch_taken) { @@ -4392,11 +4393,11 @@ L_089FD984: L_089FD9B0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9304))); ctx.gpr[20] = (ctx.gpr[20] + static_cast(1)); - aot_gpr_4 = (aot_gpr_4 + aot_gpr_16); + aot_gpr_4 = (aot_gpr_4 + ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), ctx.gpr[19]); aot_gpr_4 = (static_cast(ctx.gpr[20]) < 3 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_16 = (aot_gpr_16 + static_cast(4)); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(4)); if (branch_taken) { goto L_089FD948; } @@ -4404,9 +4405,9 @@ L_089FD9B0: } L_089FD9CC: { std::uint32_t aot_run_words[7]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(0), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); - aot_gpr_16 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[1]; ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; ctx.gpr[19] = aot_run_words[4]; @@ -4414,7 +4415,7 @@ L_089FD9CC: aot_gpr_31 = aot_run_words[6]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(32)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(32)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -4427,10 +4428,10 @@ L_089FD9F0: ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_089FD9F8: - aot_gpr_29 = (aot_gpr_29 + static_cast(-80)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-80)); aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7080))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(72), aot_gpr_31); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(68), ctx.gpr[16]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(72), aot_gpr_31); { const bool branch_taken = aot_gpr_5 != 0u; // nop if (branch_taken) { @@ -4439,8 +4440,8 @@ L_089FD9F8: goto L_089FDA10; } L_089FDA10: - ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(8))); + aot_gpr_7 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_7 + static_cast(8))); { const bool branch_taken = aot_gpr_5 != 0u; aot_gpr_6 = (aot_gpr_5 + static_cast(-1)); if (branch_taken) { @@ -4458,7 +4459,7 @@ L_089FDA20: } L_089FDA28: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_089FDB74; } @@ -4473,10 +4474,10 @@ L_089FDA30: goto L_089FDA38; } L_089FDA38: - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(8))); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_7 + static_cast(8))); aot_gpr_5 = (static_cast(aot_gpr_6) < static_cast(aot_gpr_5) ? 1u : 0u); if (aot_gpr_5 != 0u) { - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_7 + static_cast(4))); goto L_089FDA50; } goto L_089FDA48; @@ -4509,7 +4510,7 @@ L_089FDA64: } L_089FDA6C: ctx.gpr[9] = (0u + aot_gpr_5); - ctx.gpr[8] = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(0))); + ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_7 + static_cast(0))); aot_gpr_5 = (aot_gpr_5 << 6u); aot_gpr_5 = (ctx.gpr[9] + aot_gpr_5); aot_gpr_5 = (ctx.gpr[8] + aot_gpr_5); @@ -4572,7 +4573,7 @@ L_089FDAB4: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>(); - ctx.gpr[8] = (aot_gpr_29 + static_cast(16)); + ctx.gpr[8] = (ctx.gpr[29] + static_cast(16)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[8] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; @@ -4587,10 +4588,10 @@ L_089FDAB4: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[29] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - { const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[29] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -4616,8 +4617,8 @@ L_089FDAB4: L_089FDAFC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7764))); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(956), aot_gpr_4); - aot_gpr_16 = (0u | 1u); - aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(960), static_cast(aot_gpr_16)); + ctx.gpr[16] = (0u | 1u); + aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(960), static_cast(ctx.gpr[16])); aot_gpr_4 = (aot_gpr_5 + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; @@ -4628,15 +4629,15 @@ L_089FDAFC: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - ctx.gpr[8] = (aot_gpr_29 + static_cast(32)); + ctx.gpr[8] = (ctx.gpr[29] + static_cast(32)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[8] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7800))); aot_gpr_5 = (aot_gpr_4 << 8u); - ctx.gpr[7] = (aot_gpr_4 + aot_gpr_4); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[7]); + aot_gpr_7 = (aot_gpr_4 + aot_gpr_4); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_7); aot_gpr_4 = (aot_gpr_4 << 5u); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_5 = (2238u << 16u); @@ -4644,7 +4645,7 @@ L_089FDAFC: aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_4 = (aot_gpr_4 + static_cast(2288)); - ctx.gpr[7] = (aot_gpr_6 + static_cast(1983)); + aot_gpr_7 = (aot_gpr_6 + static_cast(1983)); aot_gpr_5 = (0u | 16u); aot_gpr_6 = (ctx.gpr[8] | 0u); aot_gpr_31 = (0x089FDB5Cu); @@ -4653,7 +4654,7 @@ L_089FDAFC: AOT_REGCACHE_SYNC_OUT(); return; L_089FDB5C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_gpr_16 | 0u); + aot_gpr_2 = (ctx.gpr[16] | 0u); if (branch_taken) { goto L_089FDB74; } @@ -4669,20 +4670,20 @@ L_089FDB64: goto L_089FDB70; } L_089FDB70: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_089FDB74; L_089FDB74: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(68))); - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(72))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(68))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(72))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(80)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(80)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_089FDB84: - aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-16)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), aot_gpr_31); aot_gpr_5 = (0u | 0u); aot_gpr_4 = (0u | 0u); goto L_089FDB94; @@ -4705,18 +4706,18 @@ L_089FDBB0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 621u, 0x08AD3780u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FDBB8u) goto L_089FDBB8; AOT_REGCACHE_SYNC_OUT(); return; L_089FDBB8: - aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(0))); jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_089FDBC4: - aot_gpr_29 = (aot_gpr_29 + static_cast(-848)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-848)); aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(4224))); - { const std::uint32_t aot_run_words[16]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(776), aot_run_words); } + { const std::uint32_t aot_run_words[16]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(776), aot_run_words); } { const bool branch_taken = aot_gpr_5 != 0u; ctx.gpr[30] = (aot_gpr_4 | 0u); if (branch_taken) { @@ -4729,7 +4730,7 @@ L_089FDC14: ctx.fpr[22] = std::bit_cast(0u); aot_gpr_4 = (0u | 0u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(8))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(756), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(756), aot_gpr_4); aot_gpr_4 = (17056u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_gpr_5 = (0u | 280u); @@ -4789,9 +4790,9 @@ L_089FDC84: aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7764))); aot_gpr_5 = (aot_gpr_6 - aot_gpr_5); aot_gpr_6 = (aot_gpr_5 < static_cast(40) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(752), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(752), aot_gpr_5); { const bool branch_taken = aot_gpr_5 != aot_gpr_4; - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(760), aot_gpr_6); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(760), aot_gpr_6); if (branch_taken) { goto L_089FDF44; } @@ -4804,8 +4805,8 @@ L_089FDCA0: AOT_REGCACHE_SYNC_OUT(); return; L_089FDCA8: { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[22])}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(96), aot_run_words); } - aot_gpr_4 = (aot_gpr_29 + static_cast(96)); + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(96), aot_run_words); } + aot_gpr_4 = (ctx.gpr[29] + static_cast(96)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -4853,13 +4854,13 @@ L_089FDCA8: ctx.write_vfpu_vector_ct<7u, 4u>(vfpu_value); } ctx.execute_vfpu_vtfm_ct<0u, 36u, 1u, 3u, 3u>(); ctx.execute_vfpu_vec3_ct<0u, 0u, 7u, 3u, 0u>(); - ctx.gpr[7] = (aot_gpr_29 + static_cast(80)); + aot_gpr_7 = (ctx.gpr[29] + static_cast(80)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = ctx.gpr[7] + static_cast(0); + const std::uint32_t vfpu_address = aot_gpr_7 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (0u | 0u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); aot_gpr_6 = (0u | 6u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 1u); @@ -4869,82 +4870,82 @@ L_089FDCA8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0121_entry, 121u, 287u, 0x089E974Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FDCFCu) goto L_089FDCFC; AOT_REGCACHE_SYNC_OUT(); return; L_089FDCFC: - aot_gpr_16 = (aot_gpr_29 + static_cast(144)); - aot_gpr_4 = (aot_gpr_16 | 0u); + ctx.gpr[16] = (ctx.gpr[29] + static_cast(144)); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_6 = (0u | 0u); - ctx.gpr[7] = (0u | 0u); + aot_gpr_7 = (0u | 0u); aot_gpr_31 = (0x089FDD18u); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FDD18u) goto L_089FDD18; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FDD18u) goto L_089FDD18; AOT_REGCACHE_SYNC_OUT(); return; L_089FDD18: - aot_gpr_4 = (aot_gpr_16 + static_cast(4)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(4)); aot_gpr_5 = (0u | 224u); aot_gpr_6 = (0u | 230u); - ctx.gpr[7] = (0u | 238u); + aot_gpr_7 = (0u | 238u); aot_gpr_31 = (0x089FDD30u); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FDD30u) goto L_089FDD30; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FDD30u) goto L_089FDD30; AOT_REGCACHE_SYNC_OUT(); return; L_089FDD30: - aot_gpr_4 = (aot_gpr_16 + static_cast(8)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(8)); aot_gpr_5 = (0u | 224u); aot_gpr_6 = (0u | 230u); - ctx.gpr[7] = (0u | 238u); + aot_gpr_7 = (0u | 238u); aot_gpr_31 = (0x089FDD48u); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FDD48u) goto L_089FDD48; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FDD48u) goto L_089FDD48; AOT_REGCACHE_SYNC_OUT(); return; L_089FDD48: - aot_gpr_4 = (aot_gpr_16 + static_cast(12)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(12)); aot_gpr_5 = (0u | 0u); aot_gpr_6 = (0u | 0u); - ctx.gpr[7] = (0u | 0u); + aot_gpr_7 = (0u | 0u); aot_gpr_31 = (0x089FDD60u); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FDD60u) goto L_089FDD60; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FDD60u) goto L_089FDD60; AOT_REGCACHE_SYNC_OUT(); return; L_089FDD60: - aot_gpr_4 = (aot_gpr_16 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(16)); aot_gpr_5 = (0u | 224u); aot_gpr_6 = (0u | 230u); - ctx.gpr[7] = (0u | 238u); + aot_gpr_7 = (0u | 238u); aot_gpr_31 = (0x089FDD78u); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FDD78u) goto L_089FDD78; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FDD78u) goto L_089FDD78; AOT_REGCACHE_SYNC_OUT(); return; L_089FDD78: - aot_gpr_4 = (aot_gpr_16 + static_cast(20)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(20)); aot_gpr_5 = (0u | 0u); aot_gpr_6 = (0u | 0u); - ctx.gpr[7] = (0u | 0u); + aot_gpr_7 = (0u | 0u); aot_gpr_31 = (0x089FDD90u); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FDD90u) goto L_089FDD90; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FDD90u) goto L_089FDD90; AOT_REGCACHE_SYNC_OUT(); return; L_089FDD90: - aot_gpr_4 = (aot_gpr_16 + static_cast(24)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(24)); aot_gpr_5 = (0u | 0u); aot_gpr_6 = (0u | 0u); - ctx.gpr[7] = (0u | 0u); + aot_gpr_7 = (0u | 0u); aot_gpr_31 = (0x089FDDA8u); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FDDA8u) goto L_089FDDA8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FDDA8u) goto L_089FDDA8; AOT_REGCACHE_SYNC_OUT(); return; L_089FDDA8: - aot_gpr_4 = (aot_gpr_16 + static_cast(28)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(28)); aot_gpr_5 = (0u | 224u); aot_gpr_6 = (0u | 230u); - ctx.gpr[7] = (0u | 238u); + aot_gpr_7 = (0u | 238u); aot_gpr_31 = (0x089FDDC0u); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FDDC0u) goto L_089FDDC0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FDDC0u) goto L_089FDDC0; AOT_REGCACHE_SYNC_OUT(); return; L_089FDDC0: { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[22])}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(128), aot_run_words); } - aot_gpr_4 = (aot_gpr_29 + static_cast(128)); + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(128), aot_run_words); } + aot_gpr_4 = (ctx.gpr[29] + static_cast(128)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -4992,7 +4993,7 @@ L_089FDDC0: ctx.write_vfpu_vector_ct<7u, 4u>(vfpu_value); } ctx.execute_vfpu_vtfm_ct<0u, 36u, 1u, 3u, 3u>(); ctx.execute_vfpu_vec3_ct<0u, 0u, 7u, 3u, 0u>(); - aot_gpr_4 = (aot_gpr_29 + static_cast(112)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(112)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; @@ -5006,7 +5007,7 @@ L_089FDDC0: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - ctx.gpr[18] = (aot_gpr_29 + static_cast(176)); + ctx.gpr[18] = (ctx.gpr[29] + static_cast(176)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; @@ -5025,61 +5026,61 @@ L_089FDDC0: ctx.fpr[24] = std::bit_cast(aot_gpr_4); aot_gpr_4 = (16256u << 16u); aot_fpr_20 = std::bit_cast(aot_gpr_4); - ctx.gpr[19] = (aot_gpr_29 + static_cast(192)); + ctx.gpr[19] = (ctx.gpr[29] + static_cast(192)); goto L_089FDE3C; L_089FDE3C: aot_gpr_31 = (0x089FDE44u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FDE44u) goto L_089FDE44; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FDE44u) goto L_089FDE44; AOT_REGCACHE_SYNC_OUT(); return; L_089FDE44: aot_fpr_12 = ctx.fpr[26] - ctx.fpr[28]; { const float fs = aot_fpr_12; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = ctx.fpr[28] + aot_fpr_12; aot_gpr_31 = (0x089FDE58u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(192), std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FDE58u) goto L_089FDE58; + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(192), std::bit_cast(aot_fpr_12)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FDE58u) goto L_089FDE58; AOT_REGCACHE_SYNC_OUT(); return; L_089FDE58: aot_fpr_12 = ctx.fpr[26] - ctx.fpr[28]; { const float fs = aot_fpr_12; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = ctx.fpr[28] + aot_fpr_12; aot_gpr_31 = (0x089FDE6Cu); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(196), std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FDE6Cu) goto L_089FDE6C; + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(196), std::bit_cast(aot_fpr_12)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FDE6Cu) goto L_089FDE6C; AOT_REGCACHE_SYNC_OUT(); return; L_089FDE6C: aot_fpr_12 = ctx.fpr[26] - ctx.fpr[22]; { const float fs = aot_fpr_12; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = ctx.fpr[22] + aot_fpr_12; aot_gpr_31 = (0x089FDE80u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(200), std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FDE80u) goto L_089FDE80; + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(200), std::bit_cast(aot_fpr_12)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FDE80u) goto L_089FDE80; AOT_REGCACHE_SYNC_OUT(); return; L_089FDE80: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 0u); - ctx.gpr[7] = (ctx.gpr[23] | 0u); + aot_gpr_7 = (ctx.gpr[23] | 0u); aot_gpr_31 = (0x089FDE94u); aot_gpr_6 = (ctx.gpr[22] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FDE94u) goto L_089FDE94; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FDE94u) goto L_089FDE94; AOT_REGCACHE_SYNC_OUT(); return; L_089FDE94: ctx.gpr[1] = (ctx.gpr[3] << 1u); - aot_gpr_4 = (ctx.gpr[2] >> 31u); + aot_gpr_4 = (aot_gpr_2 >> 31u); aot_gpr_5 = (static_cast(static_cast(ctx.gpr[3]) >> 31u)); aot_gpr_4 = (ctx.gpr[1] | aot_gpr_4); aot_gpr_6 = (aot_gpr_4 + ctx.gpr[20]); - ctx.gpr[7] = (aot_gpr_6 < ctx.gpr[20] ? 1u : 0u); - aot_gpr_4 = (ctx.gpr[7] + aot_gpr_5); + aot_gpr_7 = (aot_gpr_6 < ctx.gpr[20] ? 1u : 0u); + aot_gpr_4 = (aot_gpr_7 + aot_gpr_5); aot_gpr_5 = (aot_gpr_4 + ctx.gpr[21]); aot_gpr_4 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x089FDEC0u); - aot_gpr_16 = (aot_gpr_4 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FDEC0u) goto L_089FDEC0; + ctx.gpr[16] = (aot_gpr_4 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FDEC0u) goto L_089FDEC0; AOT_REGCACHE_SYNC_OUT(); return; L_089FDEC0: - aot_gpr_4 = (ctx.gpr[2] & 65535u); + aot_gpr_4 = (aot_gpr_2 & 65535u); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -5089,17 +5090,17 @@ L_089FDEC0: goto L_089FDED0; } L_089FDED0: - aot_gpr_16 = (0u - aot_gpr_16); + ctx.gpr[16] = (0u - ctx.gpr[16]); goto L_089FDED4; L_089FDED4: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(768), ctx.gpr[30]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(768), ctx.gpr[30]); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(6896))); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); aot_gpr_5 = (aot_gpr_4 & 255u); aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(6896), static_cast(aot_gpr_4)); aot_gpr_31 = (0x089FDEF0u); ctx.gpr[30] = (aot_gpr_5 & 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FDEF0u) goto L_089FDEF0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FDEF0u) goto L_089FDEF0; AOT_REGCACHE_SYNC_OUT(); return; L_089FDEF0: aot_fpr_12 = aot_fpr_20 - ctx.fpr[24]; @@ -5108,31 +5109,31 @@ L_089FDEF0: aot_gpr_5 = (aot_gpr_5 & 7u); aot_gpr_5 = (aot_gpr_5 << 2u); { const float fs = aot_fpr_12; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - ctx.gpr[8] = (aot_gpr_29 + aot_gpr_5); + ctx.gpr[8] = (ctx.gpr[29] + aot_gpr_5); ctx.gpr[8] = (ctx.gpr[8] + static_cast(144)); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_6 = (ctx.gpr[19] | 0u); aot_fpr_12 = ctx.fpr[24] + aot_fpr_12; - ctx.gpr[7] = (0u | 0u); - ctx.gpr[9] = (aot_gpr_16 | 0u); + aot_gpr_7 = (0u | 0u); + ctx.gpr[9] = (ctx.gpr[16] | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[11] = (ctx.gpr[30] | 0u); aot_gpr_31 = (0x089FDF34u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0063_entry, 63u, 90u, 0x0890043Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FDF34u) goto L_089FDF34; AOT_REGCACHE_SYNC_OUT(); return; L_089FDF34: ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); aot_gpr_4 = (static_cast(ctx.gpr[17]) < 40 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; - ctx.gpr[30] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(768))); + ctx.gpr[30] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(768))); if (branch_taken) { goto L_089FDE3C; } goto L_089FDF44; } L_089FDF44: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(760))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(760))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -5141,7 +5142,7 @@ L_089FDF44: goto L_089FDF50; } L_089FDF50: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(752))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(752))); aot_gpr_4 = (aot_gpr_5 < static_cast(81) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_4 = (aot_gpr_5 & 1u); @@ -5163,7 +5164,7 @@ L_089FDF68: aot_gpr_6 = (aot_gpr_6 | 52429u); aot_fpr_20 = std::bit_cast(aot_gpr_6); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_16 = (aot_gpr_5 + static_cast(-40)); + ctx.gpr[16] = (aot_gpr_5 + static_cast(-40)); if (branch_taken) { goto L_089FE038; } @@ -5171,16 +5172,16 @@ L_089FDF68: } L_089FDF7C: aot_gpr_31 = (0x089FDF84u); - ctx.gpr[17] = (aot_gpr_16 | 0u); + ctx.gpr[17] = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FDF84u) goto L_089FDF84; AOT_REGCACHE_SYNC_OUT(); return; L_089FDF84: aot_gpr_31 = (0x089FDF8Cu); - aot_gpr_16 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FDF8Cu) goto L_089FDF8C; + ctx.gpr[16] = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FDF8Cu) goto L_089FDF8C; AOT_REGCACHE_SYNC_OUT(); return; L_089FDF8C: - aot_gpr_4 = (ctx.gpr[2] & 65535u); + aot_gpr_4 = (aot_gpr_2 & 65535u); aot_fpr_12 = std::bit_cast(ctx.gpr[17]); aot_gpr_4 = (aot_gpr_4 & 63u); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); @@ -5202,18 +5203,18 @@ L_089FDFB0: L_089FDFBC: aot_gpr_31 = (0x089FDFC4u); ctx.fpr[26] = std::bit_cast(std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FDFC4u) goto L_089FDFC4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FDFC4u) goto L_089FDFC4; AOT_REGCACHE_SYNC_OUT(); return; L_089FDFC4: - aot_gpr_4 = (ctx.gpr[2] & 65535u); + aot_gpr_4 = (aot_gpr_2 & 65535u); aot_gpr_4 = (aot_gpr_4 & 63u); aot_gpr_4 = (aot_gpr_4 + static_cast(-32)); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_13))); { const float fs = aot_fpr_13; const float ft = aot_fpr_20; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(aot_fpr_13)}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(224), aot_run_words); } - aot_gpr_4 = (aot_gpr_29 + static_cast(224)); + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(224), aot_run_words); } + aot_gpr_4 = (ctx.gpr[29] + static_cast(224)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -5261,13 +5262,13 @@ L_089FDFC4: ctx.write_vfpu_vector_ct<7u, 4u>(vfpu_value); } ctx.execute_vfpu_vtfm_ct<0u, 36u, 1u, 3u, 3u>(); ctx.execute_vfpu_vec3_ct<0u, 0u, 7u, 3u, 0u>(); - ctx.gpr[7] = (aot_gpr_29 + static_cast(208)); + aot_gpr_7 = (ctx.gpr[29] + static_cast(208)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = ctx.gpr[7] + static_cast(0); + const std::uint32_t vfpu_address = aot_gpr_7 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (0u | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_6 = (0u | 6u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 1u); @@ -5286,16 +5287,16 @@ L_089FE030: } L_089FE038: aot_gpr_31 = (0x089FE040u); - ctx.gpr[17] = (aot_gpr_16 | 0u); + ctx.gpr[17] = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FE040u) goto L_089FE040; AOT_REGCACHE_SYNC_OUT(); return; L_089FE040: aot_gpr_31 = (0x089FE048u); - aot_gpr_16 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FE048u) goto L_089FE048; + ctx.gpr[16] = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FE048u) goto L_089FE048; AOT_REGCACHE_SYNC_OUT(); return; L_089FE048: - aot_gpr_4 = (ctx.gpr[2] & 65535u); + aot_gpr_4 = (aot_gpr_2 & 65535u); aot_gpr_4 = (aot_gpr_4 & 63u); aot_gpr_4 = (aot_gpr_4 + static_cast(-32)); aot_fpr_12 = std::bit_cast(aot_gpr_4); @@ -5318,18 +5319,18 @@ L_089FE070: L_089FE07C: aot_gpr_31 = (0x089FE084u); ctx.fpr[26] = std::bit_cast(std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FE084u) goto L_089FE084; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FE084u) goto L_089FE084; AOT_REGCACHE_SYNC_OUT(); return; L_089FE084: - aot_gpr_4 = (ctx.gpr[2] & 65535u); + aot_gpr_4 = (aot_gpr_2 & 65535u); aot_gpr_4 = (aot_gpr_4 & 63u); aot_gpr_4 = (aot_gpr_4 + static_cast(-32)); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_13))); { const float fs = aot_fpr_13; const float ft = aot_fpr_20; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(aot_fpr_13)}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(256), aot_run_words); } - aot_gpr_4 = (aot_gpr_29 + static_cast(256)); + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(256), aot_run_words); } + aot_gpr_4 = (ctx.gpr[29] + static_cast(256)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -5377,13 +5378,13 @@ L_089FE084: ctx.write_vfpu_vector_ct<7u, 4u>(vfpu_value); } ctx.execute_vfpu_vtfm_ct<0u, 36u, 1u, 3u, 3u>(); ctx.execute_vfpu_vec3_ct<0u, 0u, 7u, 3u, 0u>(); - ctx.gpr[7] = (aot_gpr_29 + static_cast(240)); + aot_gpr_7 = (ctx.gpr[29] + static_cast(240)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = ctx.gpr[7] + static_cast(0); + const std::uint32_t vfpu_address = aot_gpr_7 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (0u | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_6 = (0u | 6u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 1u); @@ -5393,7 +5394,7 @@ L_089FE084: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0121_entry, 121u, 287u, 0x089E974Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FE0F0u) goto L_089FE0F0; AOT_REGCACHE_SYNC_OUT(); return; L_089FE0F0: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(752))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(752))); aot_gpr_4 = (0u | 60u); { const bool branch_taken = aot_gpr_5 != aot_gpr_4; // nop @@ -5419,16 +5420,16 @@ L_089FE110: } L_089FE11C: aot_gpr_4 = (2236u << 16u); - aot_gpr_16 = (aot_gpr_4 + static_cast(32304)); - aot_gpr_4 = (aot_gpr_16 | 0u); + ctx.gpr[16] = (aot_gpr_4 + static_cast(32304)); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 255u); aot_gpr_6 = (0u | 255u); aot_gpr_31 = (0x089FE138u); - ctx.gpr[7] = (0u | 255u); + aot_gpr_7 = (0u | 255u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0134_entry, 134u, 156u, 0x08A1CF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FE138u) goto L_089FE138; AOT_REGCACHE_SYNC_OUT(); return; L_089FE138: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[22])); aot_gpr_31 = (0x089FE148u); aot_gpr_5 = (0u | 0u); @@ -5436,12 +5437,12 @@ L_089FE138: AOT_REGCACHE_SYNC_OUT(); return; L_089FE148: aot_gpr_31 = (0x089FE150u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0134_entry, 134u, 91u, 0x08A1C8D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FE150u) goto L_089FE150; AOT_REGCACHE_SYNC_OUT(); return; L_089FE150: aot_gpr_6 = (16256u << 16u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_fpr_12 = std::bit_cast(aot_gpr_6); aot_gpr_31 = (0x089FE164u); aot_gpr_5 = (0u | 1u); @@ -5471,9 +5472,9 @@ L_089FE184: aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7764))); aot_gpr_5 = (aot_gpr_6 - aot_gpr_5); aot_gpr_6 = (aot_gpr_5 < static_cast(40) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(752), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(752), aot_gpr_5); { const bool branch_taken = aot_gpr_5 != aot_gpr_4; - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(760), aot_gpr_6); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(760), aot_gpr_6); if (branch_taken) { goto L_089FE444; } @@ -5486,8 +5487,8 @@ L_089FE1A0: AOT_REGCACHE_SYNC_OUT(); return; L_089FE1A8: { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[22])}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(288), aot_run_words); } - aot_gpr_4 = (aot_gpr_29 + static_cast(288)); + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(288), aot_run_words); } + aot_gpr_4 = (ctx.gpr[29] + static_cast(288)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -5535,13 +5536,13 @@ L_089FE1A8: ctx.write_vfpu_vector_ct<7u, 4u>(vfpu_value); } ctx.execute_vfpu_vtfm_ct<0u, 36u, 1u, 3u, 3u>(); ctx.execute_vfpu_vec3_ct<0u, 0u, 7u, 3u, 0u>(); - ctx.gpr[7] = (aot_gpr_29 + static_cast(272)); + aot_gpr_7 = (ctx.gpr[29] + static_cast(272)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = ctx.gpr[7] + static_cast(0); + const std::uint32_t vfpu_address = aot_gpr_7 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (0u | 0u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); aot_gpr_6 = (0u | 6u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 1u); @@ -5551,82 +5552,82 @@ L_089FE1A8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0121_entry, 121u, 287u, 0x089E974Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FE1FCu) goto L_089FE1FC; AOT_REGCACHE_SYNC_OUT(); return; L_089FE1FC: - aot_gpr_16 = (aot_gpr_29 + static_cast(336)); - aot_gpr_4 = (aot_gpr_16 | 0u); + ctx.gpr[16] = (ctx.gpr[29] + static_cast(336)); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_6 = (0u | 0u); - ctx.gpr[7] = (0u | 0u); + aot_gpr_7 = (0u | 0u); aot_gpr_31 = (0x089FE218u); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FE218u) goto L_089FE218; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FE218u) goto L_089FE218; AOT_REGCACHE_SYNC_OUT(); return; L_089FE218: - aot_gpr_4 = (aot_gpr_16 + static_cast(4)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(4)); aot_gpr_5 = (0u | 224u); aot_gpr_6 = (0u | 230u); - ctx.gpr[7] = (0u | 238u); + aot_gpr_7 = (0u | 238u); aot_gpr_31 = (0x089FE230u); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FE230u) goto L_089FE230; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FE230u) goto L_089FE230; AOT_REGCACHE_SYNC_OUT(); return; L_089FE230: - aot_gpr_4 = (aot_gpr_16 + static_cast(8)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(8)); aot_gpr_5 = (0u | 224u); aot_gpr_6 = (0u | 230u); - ctx.gpr[7] = (0u | 238u); + aot_gpr_7 = (0u | 238u); aot_gpr_31 = (0x089FE248u); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FE248u) goto L_089FE248; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FE248u) goto L_089FE248; AOT_REGCACHE_SYNC_OUT(); return; L_089FE248: - aot_gpr_4 = (aot_gpr_16 + static_cast(12)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(12)); aot_gpr_5 = (0u | 0u); aot_gpr_6 = (0u | 0u); - ctx.gpr[7] = (0u | 0u); + aot_gpr_7 = (0u | 0u); aot_gpr_31 = (0x089FE260u); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FE260u) goto L_089FE260; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FE260u) goto L_089FE260; AOT_REGCACHE_SYNC_OUT(); return; L_089FE260: - aot_gpr_4 = (aot_gpr_16 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(16)); aot_gpr_5 = (0u | 252u); aot_gpr_6 = (0u | 66u); - ctx.gpr[7] = (0u | 66u); + aot_gpr_7 = (0u | 66u); aot_gpr_31 = (0x089FE278u); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FE278u) goto L_089FE278; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FE278u) goto L_089FE278; AOT_REGCACHE_SYNC_OUT(); return; L_089FE278: - aot_gpr_4 = (aot_gpr_16 + static_cast(20)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(20)); aot_gpr_5 = (0u | 0u); aot_gpr_6 = (0u | 0u); - ctx.gpr[7] = (0u | 0u); + aot_gpr_7 = (0u | 0u); aot_gpr_31 = (0x089FE290u); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FE290u) goto L_089FE290; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FE290u) goto L_089FE290; AOT_REGCACHE_SYNC_OUT(); return; L_089FE290: - aot_gpr_4 = (aot_gpr_16 + static_cast(24)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(24)); aot_gpr_5 = (0u | 0u); aot_gpr_6 = (0u | 0u); - ctx.gpr[7] = (0u | 0u); + aot_gpr_7 = (0u | 0u); aot_gpr_31 = (0x089FE2A8u); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FE2A8u) goto L_089FE2A8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FE2A8u) goto L_089FE2A8; AOT_REGCACHE_SYNC_OUT(); return; L_089FE2A8: - aot_gpr_4 = (aot_gpr_16 + static_cast(28)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(28)); aot_gpr_5 = (0u | 252u); aot_gpr_6 = (0u | 66u); - ctx.gpr[7] = (0u | 66u); + aot_gpr_7 = (0u | 66u); aot_gpr_31 = (0x089FE2C0u); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FE2C0u) goto L_089FE2C0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FE2C0u) goto L_089FE2C0; AOT_REGCACHE_SYNC_OUT(); return; L_089FE2C0: { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[22])}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(320), aot_run_words); } - aot_gpr_4 = (aot_gpr_29 + static_cast(320)); + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(320), aot_run_words); } + aot_gpr_4 = (ctx.gpr[29] + static_cast(320)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -5674,7 +5675,7 @@ L_089FE2C0: ctx.write_vfpu_vector_ct<7u, 4u>(vfpu_value); } ctx.execute_vfpu_vtfm_ct<0u, 36u, 1u, 3u, 3u>(); ctx.execute_vfpu_vec3_ct<0u, 0u, 7u, 3u, 0u>(); - aot_gpr_4 = (aot_gpr_29 + static_cast(304)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(304)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; @@ -5688,7 +5689,7 @@ L_089FE2C0: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - ctx.gpr[18] = (aot_gpr_29 + static_cast(368)); + ctx.gpr[18] = (ctx.gpr[29] + static_cast(368)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; @@ -5707,61 +5708,61 @@ L_089FE2C0: ctx.fpr[28] = std::bit_cast(aot_gpr_4); aot_gpr_4 = (16256u << 16u); ctx.fpr[26] = std::bit_cast(aot_gpr_4); - ctx.gpr[19] = (aot_gpr_29 + static_cast(384)); + ctx.gpr[19] = (ctx.gpr[29] + static_cast(384)); goto L_089FE33C; L_089FE33C: aot_gpr_31 = (0x089FE344u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FE344u) goto L_089FE344; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FE344u) goto L_089FE344; AOT_REGCACHE_SYNC_OUT(); return; L_089FE344: aot_fpr_12 = ctx.fpr[24] - aot_fpr_20; { const float fs = aot_fpr_12; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = aot_fpr_20 + aot_fpr_12; aot_gpr_31 = (0x089FE358u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(384), std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FE358u) goto L_089FE358; + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(384), std::bit_cast(aot_fpr_12)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FE358u) goto L_089FE358; AOT_REGCACHE_SYNC_OUT(); return; L_089FE358: aot_fpr_12 = ctx.fpr[24] - aot_fpr_20; { const float fs = aot_fpr_12; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = aot_fpr_20 + aot_fpr_12; aot_gpr_31 = (0x089FE36Cu); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(388), std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FE36Cu) goto L_089FE36C; + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(388), std::bit_cast(aot_fpr_12)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FE36Cu) goto L_089FE36C; AOT_REGCACHE_SYNC_OUT(); return; L_089FE36C: aot_fpr_12 = ctx.fpr[24] - ctx.fpr[22]; { const float fs = aot_fpr_12; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = ctx.fpr[22] + aot_fpr_12; aot_gpr_31 = (0x089FE380u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(392), std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FE380u) goto L_089FE380; + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(392), std::bit_cast(aot_fpr_12)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FE380u) goto L_089FE380; AOT_REGCACHE_SYNC_OUT(); return; L_089FE380: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 0u); - ctx.gpr[7] = (ctx.gpr[23] | 0u); + aot_gpr_7 = (ctx.gpr[23] | 0u); aot_gpr_31 = (0x089FE394u); aot_gpr_6 = (ctx.gpr[22] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FE394u) goto L_089FE394; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FE394u) goto L_089FE394; AOT_REGCACHE_SYNC_OUT(); return; L_089FE394: ctx.gpr[1] = (ctx.gpr[3] << 1u); - aot_gpr_4 = (ctx.gpr[2] >> 31u); + aot_gpr_4 = (aot_gpr_2 >> 31u); aot_gpr_5 = (static_cast(static_cast(ctx.gpr[3]) >> 31u)); aot_gpr_4 = (ctx.gpr[1] | aot_gpr_4); aot_gpr_6 = (aot_gpr_4 + ctx.gpr[20]); - ctx.gpr[7] = (aot_gpr_6 < ctx.gpr[20] ? 1u : 0u); - aot_gpr_4 = (ctx.gpr[7] + aot_gpr_5); + aot_gpr_7 = (aot_gpr_6 < ctx.gpr[20] ? 1u : 0u); + aot_gpr_4 = (aot_gpr_7 + aot_gpr_5); aot_gpr_5 = (aot_gpr_4 + ctx.gpr[21]); aot_gpr_4 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x089FE3C0u); - aot_gpr_16 = (aot_gpr_4 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FE3C0u) goto L_089FE3C0; + ctx.gpr[16] = (aot_gpr_4 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FE3C0u) goto L_089FE3C0; AOT_REGCACHE_SYNC_OUT(); return; L_089FE3C0: - aot_gpr_4 = (ctx.gpr[2] & 65535u); + aot_gpr_4 = (aot_gpr_2 & 65535u); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -5771,17 +5772,17 @@ L_089FE3C0: goto L_089FE3D0; } L_089FE3D0: - aot_gpr_16 = (0u - aot_gpr_16); + ctx.gpr[16] = (0u - ctx.gpr[16]); goto L_089FE3D4; L_089FE3D4: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(768), ctx.gpr[30]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(768), ctx.gpr[30]); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(6897))); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); aot_gpr_5 = (aot_gpr_4 & 255u); aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(6897), static_cast(aot_gpr_4)); aot_gpr_31 = (0x089FE3F0u); ctx.gpr[30] = (aot_gpr_5 & 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FE3F0u) goto L_089FE3F0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FE3F0u) goto L_089FE3F0; AOT_REGCACHE_SYNC_OUT(); return; L_089FE3F0: aot_fpr_12 = ctx.fpr[26] - ctx.fpr[28]; @@ -5790,31 +5791,31 @@ L_089FE3F0: aot_gpr_5 = (aot_gpr_5 & 7u); aot_gpr_5 = (aot_gpr_5 << 2u); { const float fs = aot_fpr_12; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - ctx.gpr[8] = (aot_gpr_29 + aot_gpr_5); + ctx.gpr[8] = (ctx.gpr[29] + aot_gpr_5); ctx.gpr[8] = (ctx.gpr[8] + static_cast(336)); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_6 = (ctx.gpr[19] | 0u); aot_fpr_12 = ctx.fpr[28] + aot_fpr_12; - ctx.gpr[7] = (0u | 0u); - ctx.gpr[9] = (aot_gpr_16 | 0u); + aot_gpr_7 = (0u | 0u); + ctx.gpr[9] = (ctx.gpr[16] | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[11] = (ctx.gpr[30] | 0u); aot_gpr_31 = (0x089FE434u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0063_entry, 63u, 90u, 0x0890043Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FE434u) goto L_089FE434; AOT_REGCACHE_SYNC_OUT(); return; L_089FE434: ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); aot_gpr_4 = (static_cast(ctx.gpr[17]) < 40 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; - ctx.gpr[30] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(768))); + ctx.gpr[30] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(768))); if (branch_taken) { goto L_089FE33C; } goto L_089FE444; } L_089FE444: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(760))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(760))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -5823,7 +5824,7 @@ L_089FE444: goto L_089FE450; } L_089FE450: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(752))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(752))); aot_gpr_4 = (aot_gpr_5 < static_cast(61) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_4 = (aot_gpr_5 & 1u); @@ -5841,7 +5842,7 @@ L_089FE460: goto L_089FE468; } L_089FE468: - aot_gpr_16 = (aot_gpr_5 + static_cast(-40)); + ctx.gpr[16] = (aot_gpr_5 + static_cast(-40)); aot_gpr_5 = (15820u << 16u); aot_gpr_5 = (aot_gpr_5 | 52429u); aot_fpr_20 = std::bit_cast(aot_gpr_5); @@ -5856,16 +5857,16 @@ L_089FE468: } L_089FE488: aot_gpr_31 = (0x089FE490u); - ctx.gpr[17] = (aot_gpr_16 | 0u); + ctx.gpr[17] = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FE490u) goto L_089FE490; AOT_REGCACHE_SYNC_OUT(); return; L_089FE490: aot_gpr_31 = (0x089FE498u); - aot_gpr_16 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FE498u) goto L_089FE498; + ctx.gpr[16] = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FE498u) goto L_089FE498; AOT_REGCACHE_SYNC_OUT(); return; L_089FE498: - aot_gpr_4 = (ctx.gpr[2] & 65535u); + aot_gpr_4 = (aot_gpr_2 & 65535u); aot_fpr_12 = std::bit_cast(ctx.gpr[17]); aot_gpr_4 = (aot_gpr_4 & 63u); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); @@ -5887,18 +5888,18 @@ L_089FE4BC: L_089FE4C8: aot_gpr_31 = (0x089FE4D0u); { const float fs = aot_fpr_12; const float ft = ctx.fpr[26]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[26] = std::bit_cast(0x7FC00000u); else ctx.fpr[26] = fs * ft; } - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FE4D0u) goto L_089FE4D0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FE4D0u) goto L_089FE4D0; AOT_REGCACHE_SYNC_OUT(); return; L_089FE4D0: - aot_gpr_4 = (ctx.gpr[2] & 65535u); + aot_gpr_4 = (aot_gpr_2 & 65535u); aot_gpr_4 = (aot_gpr_4 & 63u); aot_gpr_4 = (aot_gpr_4 + static_cast(-32)); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_13))); { const float fs = aot_fpr_13; const float ft = aot_fpr_20; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(aot_fpr_13)}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(416), aot_run_words); } - aot_gpr_4 = (aot_gpr_29 + static_cast(416)); + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(416), aot_run_words); } + aot_gpr_4 = (ctx.gpr[29] + static_cast(416)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -5946,13 +5947,13 @@ L_089FE4D0: ctx.write_vfpu_vector_ct<7u, 4u>(vfpu_value); } ctx.execute_vfpu_vtfm_ct<0u, 36u, 1u, 3u, 3u>(); ctx.execute_vfpu_vec3_ct<0u, 0u, 7u, 3u, 0u>(); - ctx.gpr[7] = (aot_gpr_29 + static_cast(400)); + aot_gpr_7 = (ctx.gpr[29] + static_cast(400)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = ctx.gpr[7] + static_cast(0); + const std::uint32_t vfpu_address = aot_gpr_7 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (0u | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_6 = (0u | 6u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 1u); @@ -5971,16 +5972,16 @@ L_089FE53C: } L_089FE544: aot_gpr_31 = (0x089FE54Cu); - ctx.gpr[17] = (aot_gpr_16 | 0u); + ctx.gpr[17] = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FE54Cu) goto L_089FE54C; AOT_REGCACHE_SYNC_OUT(); return; L_089FE54C: aot_gpr_31 = (0x089FE554u); - aot_gpr_16 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FE554u) goto L_089FE554; + ctx.gpr[16] = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FE554u) goto L_089FE554; AOT_REGCACHE_SYNC_OUT(); return; L_089FE554: - aot_gpr_4 = (ctx.gpr[2] & 65535u); + aot_gpr_4 = (aot_gpr_2 & 65535u); aot_gpr_4 = (aot_gpr_4 & 63u); aot_gpr_4 = (aot_gpr_4 + static_cast(-32)); aot_fpr_12 = std::bit_cast(aot_gpr_4); @@ -6003,18 +6004,18 @@ L_089FE57C: L_089FE588: aot_gpr_31 = (0x089FE590u); { const float fs = aot_fpr_12; const float ft = ctx.fpr[26]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[26] = std::bit_cast(0x7FC00000u); else ctx.fpr[26] = fs * ft; } - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FE590u) goto L_089FE590; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FE590u) goto L_089FE590; AOT_REGCACHE_SYNC_OUT(); return; L_089FE590: - aot_gpr_4 = (ctx.gpr[2] & 65535u); + aot_gpr_4 = (aot_gpr_2 & 65535u); aot_gpr_4 = (aot_gpr_4 & 63u); aot_gpr_4 = (aot_gpr_4 + static_cast(-32)); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_13))); { const float fs = aot_fpr_13; const float ft = aot_fpr_20; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(aot_fpr_13)}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(448), aot_run_words); } - aot_gpr_4 = (aot_gpr_29 + static_cast(448)); + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(448), aot_run_words); } + aot_gpr_4 = (ctx.gpr[29] + static_cast(448)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -6062,13 +6063,13 @@ L_089FE590: ctx.write_vfpu_vector_ct<7u, 4u>(vfpu_value); } ctx.execute_vfpu_vtfm_ct<0u, 36u, 1u, 3u, 3u>(); ctx.execute_vfpu_vec3_ct<0u, 0u, 7u, 3u, 0u>(); - ctx.gpr[7] = (aot_gpr_29 + static_cast(432)); + aot_gpr_7 = (ctx.gpr[29] + static_cast(432)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = ctx.gpr[7] + static_cast(0); + const std::uint32_t vfpu_address = aot_gpr_7 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (0u | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_6 = (0u | 6u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 1u); @@ -6078,7 +6079,7 @@ L_089FE590: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0121_entry, 121u, 287u, 0x089E974Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FE5FCu) goto L_089FE5FC; AOT_REGCACHE_SYNC_OUT(); return; L_089FE5FC: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(752))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(752))); aot_gpr_4 = (0u | 30u); { const bool branch_taken = aot_gpr_5 != aot_gpr_4; // nop @@ -6104,16 +6105,16 @@ L_089FE61C: } L_089FE628: aot_gpr_4 = (2236u << 16u); - aot_gpr_16 = (aot_gpr_4 + static_cast(32304)); - aot_gpr_4 = (aot_gpr_16 | 0u); + ctx.gpr[16] = (aot_gpr_4 + static_cast(32304)); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 200u); aot_gpr_6 = (0u | 200u); aot_gpr_31 = (0x089FE644u); - ctx.gpr[7] = (0u | 200u); + aot_gpr_7 = (0u | 200u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0134_entry, 134u, 156u, 0x08A1CF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FE644u) goto L_089FE644; AOT_REGCACHE_SYNC_OUT(); return; L_089FE644: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[22])); aot_gpr_31 = (0x089FE654u); aot_gpr_5 = (0u | 0u); @@ -6121,12 +6122,12 @@ L_089FE644: AOT_REGCACHE_SYNC_OUT(); return; L_089FE654: aot_gpr_31 = (0x089FE65Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0134_entry, 134u, 91u, 0x08A1C8D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FE65Cu) goto L_089FE65C; AOT_REGCACHE_SYNC_OUT(); return; L_089FE65C: aot_gpr_6 = (16256u << 16u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_fpr_12 = std::bit_cast(aot_gpr_6); aot_gpr_31 = (0x089FE670u); aot_gpr_5 = (0u | 1u); @@ -6183,23 +6184,23 @@ L_089FE6C8: L_089FE6CC: ctx.gpr[23] = (aot_gpr_6 + static_cast(32304)); aot_gpr_6 = (15496u << 16u); - ctx.gpr[7] = (16256u << 16u); + aot_gpr_7 = (16256u << 16u); aot_gpr_6 = (aot_gpr_6 | 34953u); - ctx.fpr[28] = std::bit_cast(ctx.gpr[7]); + ctx.fpr[28] = std::bit_cast(aot_gpr_7); ctx.fpr[3] = std::bit_cast(aot_gpr_6); - ctx.gpr[7] = (16880u << 16u); + aot_gpr_7 = (16880u << 16u); aot_gpr_6 = (18351u << 16u); - ctx.fpr[30] = std::bit_cast(ctx.gpr[7]); + ctx.fpr[30] = std::bit_cast(aot_gpr_7); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[30] + static_cast(86)))))); aot_gpr_6 = (aot_gpr_6 | 51200u); - ctx.gpr[7] = (16128u << 16u); + aot_gpr_7 = (16128u << 16u); ctx.fpr[4] = std::bit_cast(aot_gpr_6); ctx.gpr[21] = (65534u << 16u); - ctx.fpr[2] = std::bit_cast(ctx.gpr[7]); - ctx.gpr[17] = (aot_gpr_29 + static_cast(16)); - ctx.gpr[19] = (aot_gpr_29 + static_cast(64)); - ctx.gpr[22] = (aot_gpr_29 + static_cast(32)); - ctx.gpr[20] = (aot_gpr_29 + static_cast(48)); + ctx.fpr[2] = std::bit_cast(aot_gpr_7); + ctx.gpr[17] = (ctx.gpr[29] + static_cast(16)); + ctx.gpr[19] = (ctx.gpr[29] + static_cast(64)); + ctx.gpr[22] = (ctx.gpr[29] + static_cast(32)); + ctx.gpr[20] = (ctx.gpr[29] + static_cast(48)); ctx.gpr[9] = (ctx.gpr[30] + static_cast(112)); ctx.gpr[8] = (0u + static_cast(-16385)); ctx.gpr[23] = (ctx.gpr[23] + static_cast(48)); @@ -6218,7 +6219,7 @@ L_089FE72C: aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(28))); aot_gpr_4 = (17008u << 16u); aot_fpr_20 = aot_fpr_20 - ctx.fpr[30]; - ctx.gpr[18] = (aot_gpr_29 + static_cast(464)); + ctx.gpr[18] = (ctx.gpr[29] + static_cast(464)); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_20 < ctx.fpr[22])) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); @@ -6320,7 +6321,7 @@ L_089FE7F8: } L_089FE80C: ctx.fpr[30] = aot_fpr_12 / aot_fpr_13; - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(764), ctx.gpr[9]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(764), ctx.gpr[9]); { const bool branch_taken = 0u == 0u; ctx.fpr[30] = ctx.fpr[28] - ctx.fpr[30]; if (branch_taken) { @@ -6332,7 +6333,7 @@ L_089FE81C: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[22])) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(764), ctx.gpr[9]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(764), ctx.gpr[9]); if (branch_taken) { goto L_089FE850; } @@ -6344,7 +6345,7 @@ L_089FE82C: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(764), ctx.gpr[9]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(764), ctx.gpr[9]); if (branch_taken) { goto L_089FE850; } @@ -6352,20 +6353,20 @@ L_089FE82C: } L_089FE844: ctx.fpr[30] = aot_fpr_12 / aot_fpr_13; - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(764), ctx.gpr[9]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(764), ctx.gpr[9]); ctx.fpr[30] = ctx.fpr[28] - ctx.fpr[30]; goto L_089FE850; L_089FE850: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9304))); - aot_gpr_16 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[30] + static_cast(948)))))); + ctx.gpr[16] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[30] + static_cast(948)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(68))); - aot_gpr_6 = (aot_gpr_16 << 4u); - ctx.gpr[7] = (aot_gpr_16 << 2u); - aot_gpr_6 = (aot_gpr_6 + ctx.gpr[7]); + aot_gpr_6 = (ctx.gpr[16] << 4u); + aot_gpr_7 = (ctx.gpr[16] << 2u); + aot_gpr_6 = (aot_gpr_6 + aot_gpr_7); aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(64))); - aot_gpr_16 = (aot_gpr_16 + static_cast(1)); - aot_gpr_4 = (static_cast(aot_gpr_16) < static_cast(aot_gpr_4) ? 1u : 0u); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(1)); + aot_gpr_4 = (static_cast(ctx.gpr[16]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(12))); if (branch_taken) { @@ -6375,7 +6376,7 @@ L_089FE850: } L_089FE880: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9304))); - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); { const bool branch_taken = 0u == 0u; aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(12))); if (branch_taken) { @@ -6385,9 +6386,9 @@ L_089FE880: } L_089FE890: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9304))); - aot_gpr_5 = (aot_gpr_16 << 4u); + aot_gpr_5 = (ctx.gpr[16] << 4u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(68))); - aot_gpr_6 = (aot_gpr_16 << 2u); + aot_gpr_6 = (ctx.gpr[16] << 2u); aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(12))); @@ -6419,15 +6420,15 @@ L_089FE8D0: aot_gpr_4 = (ctx.hi); aot_mem.aot_direct_store16(ctx.gpr[30] + static_cast(948), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9304))); - aot_gpr_16 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[30] + static_cast(948)))))); + ctx.gpr[16] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[30] + static_cast(948)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(68))); - aot_gpr_6 = (aot_gpr_16 << 4u); - ctx.gpr[7] = (aot_gpr_16 << 2u); - aot_gpr_6 = (aot_gpr_6 + ctx.gpr[7]); + aot_gpr_6 = (ctx.gpr[16] << 4u); + aot_gpr_7 = (ctx.gpr[16] << 2u); + aot_gpr_6 = (aot_gpr_6 + aot_gpr_7); aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(64))); - aot_gpr_16 = (aot_gpr_16 + static_cast(1)); - aot_gpr_4 = (static_cast(aot_gpr_16) < static_cast(aot_gpr_4) ? 1u : 0u); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(1)); + aot_gpr_4 = (static_cast(ctx.gpr[16]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(12))); if (branch_taken) { @@ -6437,7 +6438,7 @@ L_089FE8D0: } L_089FE918: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9304))); - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); { const bool branch_taken = 0u == 0u; aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(12))); if (branch_taken) { @@ -6447,9 +6448,9 @@ L_089FE918: } L_089FE928: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9304))); - aot_gpr_5 = (aot_gpr_16 << 4u); + aot_gpr_5 = (ctx.gpr[16] << 4u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(68))); - aot_gpr_6 = (aot_gpr_16 << 2u); + aot_gpr_6 = (ctx.gpr[16] << 2u); aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(12))); @@ -6469,11 +6470,11 @@ L_089FE94C: aot_gpr_5 = (aot_gpr_5 << 2u); aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); - aot_gpr_5 = (aot_gpr_16 << 4u); + aot_gpr_5 = (ctx.gpr[16] << 4u); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(16))); - aot_gpr_16 = (aot_gpr_16 << 2u); + ctx.gpr[16] = (ctx.gpr[16] << 2u); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_16 = (aot_gpr_5 + aot_gpr_16); + ctx.gpr[16] = (aot_gpr_5 + ctx.gpr[16]); if (branch_taken) { goto L_089FE998; } @@ -6482,7 +6483,7 @@ L_089FE94C: L_089FE978: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9304))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(68))); - aot_gpr_4 = (aot_gpr_4 + aot_gpr_16); + aot_gpr_4 = (aot_gpr_4 + ctx.gpr[16]); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(16))); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -6547,9 +6548,9 @@ L_089FEA08: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(68))); aot_gpr_6 = (aot_gpr_5 << 4u); aot_gpr_5 = (aot_gpr_5 << 2u); - ctx.gpr[7] = (aot_gpr_4 + aot_gpr_16); + aot_gpr_7 = (aot_gpr_4 + ctx.gpr[16]); aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(12))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_7 + static_cast(12))); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(12))); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; @@ -6569,14 +6570,14 @@ L_089FEA40: L_089FEA50: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[30] + static_cast(948)))))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(68))); - ctx.gpr[7] = (aot_gpr_5 << 4u); + aot_gpr_7 = (aot_gpr_5 << 4u); aot_gpr_5 = (aot_gpr_5 << 2u); - aot_gpr_5 = (ctx.gpr[7] + aot_gpr_5); + aot_gpr_5 = (aot_gpr_7 + aot_gpr_5); aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(12))); aot_fpr_13 = aot_fpr_20 - aot_fpr_13; aot_fpr_12 = aot_fpr_13 / aot_fpr_12; - aot_gpr_6 = (aot_gpr_6 + aot_gpr_16); + aot_gpr_6 = (aot_gpr_6 + ctx.gpr[16]); ctx.fpr[14] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(4))); @@ -6609,19 +6610,19 @@ L_089FEAC8: goto L_089FEAD4; L_089FEAD4: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[30] + static_cast(948)))))); - ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9304))); + aot_gpr_7 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9304))); ctx.fpr[2] = aot_fpr_20 + ctx.fpr[26]; aot_gpr_5 = (aot_gpr_4 << 4u); - aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(68))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_7 + static_cast(68))); ctx.gpr[8] = (aot_gpr_4 << 2u); aot_gpr_5 = (aot_gpr_5 + ctx.gpr[8]); aot_gpr_6 = (aot_gpr_6 + aot_gpr_5); aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(12))); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); - ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(64))); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_7 + static_cast(64))); aot_gpr_6 = (aot_gpr_4 | 0u); - ctx.gpr[7] = (static_cast(aot_gpr_6) < static_cast(ctx.gpr[7]) ? 1u : 0u); - { const bool branch_taken = ctx.gpr[7] != 0u; + aot_gpr_7 = (static_cast(aot_gpr_6) < static_cast(aot_gpr_7) ? 1u : 0u); + { const bool branch_taken = aot_gpr_7 != 0u; // nop if (branch_taken) { goto L_089FEB20; @@ -6629,23 +6630,23 @@ L_089FEAD4: goto L_089FEB10; } L_089FEB10: - ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9304))); + aot_gpr_7 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9304))); aot_gpr_6 = (0u | 0u); { const bool branch_taken = 0u == 0u; - ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(12))); + ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_7 + static_cast(12))); if (branch_taken) { goto L_089FEB3C; } goto L_089FEB20; } L_089FEB20: - ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9304))); + aot_gpr_7 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9304))); ctx.gpr[8] = (aot_gpr_4 << 4u); - ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(68))); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_7 + static_cast(68))); ctx.gpr[9] = (aot_gpr_4 << 2u); ctx.gpr[8] = (ctx.gpr[8] + ctx.gpr[9]); - ctx.gpr[7] = (ctx.gpr[7] + ctx.gpr[8]); - ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(12))); + aot_gpr_7 = (aot_gpr_7 + ctx.gpr[8]); + ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_7 + static_cast(12))); goto L_089FEB3C; L_089FEB3C: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_15 <= aot_fpr_20)) ? 0x00800000u : 0u); @@ -6667,8 +6668,8 @@ L_089FEB5C: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9304))); goto L_089FEB60; L_089FEB60: - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(64))); - { const std::int32_t dividend = static_cast(aot_gpr_4); const std::int32_t divisor = static_cast(ctx.gpr[7]); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(64))); + { const std::int32_t dividend = static_cast(aot_gpr_4); const std::int32_t divisor = static_cast(aot_gpr_7); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(68))); aot_gpr_6 = (ctx.hi); aot_gpr_5 = (aot_gpr_6 << 4u); @@ -6677,8 +6678,8 @@ L_089FEB60: ctx.gpr[8] = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_gpr_6 + static_cast(1)); aot_gpr_6 = (aot_gpr_4 | 0u); - ctx.gpr[7] = (static_cast(aot_gpr_6) < static_cast(ctx.gpr[7]) ? 1u : 0u); - { const bool branch_taken = ctx.gpr[7] != 0u; + aot_gpr_7 = (static_cast(aot_gpr_6) < static_cast(aot_gpr_7) ? 1u : 0u); + { const bool branch_taken = aot_gpr_7 != 0u; aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[8] + static_cast(12))); if (branch_taken) { goto L_089FEBA4; @@ -6686,23 +6687,23 @@ L_089FEB60: goto L_089FEB94; } L_089FEB94: - ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9304))); + aot_gpr_7 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9304))); aot_gpr_6 = (0u | 0u); { const bool branch_taken = 0u == 0u; - ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(12))); + ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_7 + static_cast(12))); if (branch_taken) { goto L_089FEBC0; } goto L_089FEBA4; } L_089FEBA4: - ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9304))); + aot_gpr_7 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9304))); ctx.gpr[8] = (aot_gpr_4 << 4u); - ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(68))); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_7 + static_cast(68))); ctx.gpr[9] = (aot_gpr_4 << 2u); ctx.gpr[8] = (ctx.gpr[8] + ctx.gpr[9]); - ctx.gpr[7] = (ctx.gpr[7] + ctx.gpr[8]); - ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(12))); + aot_gpr_7 = (aot_gpr_7 + ctx.gpr[8]); + ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_7 + static_cast(12))); goto L_089FEBC0; L_089FEBC0: { const bool branch_taken = 0u == 0u; @@ -6713,13 +6714,13 @@ L_089FEBC0: goto L_089FEBC8; } L_089FEBC8: - ctx.gpr[7] = (aot_gpr_6 << 4u); + aot_gpr_7 = (aot_gpr_6 << 4u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(68))); aot_gpr_6 = (aot_gpr_6 << 2u); - aot_gpr_6 = (ctx.gpr[7] + aot_gpr_6); - ctx.gpr[7] = (aot_gpr_4 + aot_gpr_6); + aot_gpr_6 = (aot_gpr_7 + aot_gpr_6); + aot_gpr_7 = (aot_gpr_4 + aot_gpr_6); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); - aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(12))); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_7 + static_cast(12))); ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(12))); aot_fpr_15 = aot_fpr_15 - ctx.fpr[16]; ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_15 < ctx.fpr[22])) ? 0x00800000u : 0u); @@ -6736,12 +6737,12 @@ L_089FEBFC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9304))); goto L_089FEC0C; L_089FEC0C: - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(68))); - aot_gpr_5 = (ctx.gpr[7] + aot_gpr_5); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(68))); + aot_gpr_5 = (aot_gpr_7 + aot_gpr_5); ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(12))); ctx.fpr[16] = aot_fpr_20 - ctx.fpr[16]; aot_fpr_15 = ctx.fpr[16] / aot_fpr_15; - aot_gpr_6 = (ctx.gpr[7] + aot_gpr_6); + aot_gpr_6 = (aot_gpr_7 + aot_gpr_6); ctx.fpr[17] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); ctx.fpr[18] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); ctx.fpr[19] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(4))); @@ -6785,17 +6786,17 @@ L_089FECA0: goto L_089FECAC; L_089FECAC: aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[30] + static_cast(948)))))); - ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9304))); + aot_gpr_7 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9304))); aot_gpr_5 = (aot_gpr_6 << 4u); - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(68))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_7 + static_cast(68))); ctx.gpr[8] = (aot_gpr_6 << 2u); aot_gpr_5 = (aot_gpr_5 + ctx.gpr[8]); ctx.gpr[8] = (aot_gpr_4 + aot_gpr_5); aot_gpr_6 = (aot_gpr_6 + static_cast(1)); - ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(64))); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_7 + static_cast(64))); aot_gpr_4 = (aot_gpr_6 | 0u); - ctx.gpr[7] = (static_cast(aot_gpr_4) < static_cast(ctx.gpr[7]) ? 1u : 0u); - { const bool branch_taken = ctx.gpr[7] != 0u; + aot_gpr_7 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_7) ? 1u : 0u); + { const bool branch_taken = aot_gpr_7 != 0u; ctx.fpr[2] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[8] + static_cast(12))); if (branch_taken) { goto L_089FECF0; @@ -6803,23 +6804,23 @@ L_089FECAC: goto L_089FECE0; } L_089FECE0: - ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9304))); + aot_gpr_7 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9304))); aot_gpr_4 = (0u | 0u); { const bool branch_taken = 0u == 0u; - ctx.fpr[1] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(12))); + ctx.fpr[1] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_7 + static_cast(12))); if (branch_taken) { goto L_089FED0C; } goto L_089FECF0; } L_089FECF0: - ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9304))); + aot_gpr_7 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9304))); ctx.gpr[8] = (aot_gpr_6 << 4u); - ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(68))); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_7 + static_cast(68))); ctx.gpr[9] = (aot_gpr_6 << 2u); ctx.gpr[8] = (ctx.gpr[8] + ctx.gpr[9]); - ctx.gpr[7] = (ctx.gpr[7] + ctx.gpr[8]); - ctx.fpr[1] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(12))); + aot_gpr_7 = (aot_gpr_7 + ctx.gpr[8]); + ctx.fpr[1] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_7 + static_cast(12))); goto L_089FED0C; L_089FED0C: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[2] <= aot_fpr_20)) ? 0x00800000u : 0u); @@ -6841,8 +6842,8 @@ L_089FED2C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9304))); goto L_089FED30; L_089FED30: - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(64))); - { const std::int32_t dividend = static_cast(aot_gpr_6); const std::int32_t divisor = static_cast(ctx.gpr[7]); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(64))); + { const std::int32_t dividend = static_cast(aot_gpr_6); const std::int32_t divisor = static_cast(aot_gpr_7); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(68))); aot_gpr_6 = (ctx.hi); aot_gpr_5 = (aot_gpr_6 << 4u); @@ -6851,8 +6852,8 @@ L_089FED30: ctx.gpr[8] = (aot_gpr_4 + aot_gpr_5); aot_gpr_6 = (aot_gpr_6 + static_cast(1)); aot_gpr_4 = (aot_gpr_6 | 0u); - ctx.gpr[7] = (static_cast(aot_gpr_4) < static_cast(ctx.gpr[7]) ? 1u : 0u); - { const bool branch_taken = ctx.gpr[7] != 0u; + aot_gpr_7 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_7) ? 1u : 0u); + { const bool branch_taken = aot_gpr_7 != 0u; ctx.fpr[2] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[8] + static_cast(12))); if (branch_taken) { goto L_089FED74; @@ -6860,23 +6861,23 @@ L_089FED30: goto L_089FED64; } L_089FED64: - ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9304))); + aot_gpr_7 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9304))); aot_gpr_4 = (0u | 0u); { const bool branch_taken = 0u == 0u; - ctx.fpr[1] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(12))); + ctx.fpr[1] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_7 + static_cast(12))); if (branch_taken) { goto L_089FED90; } goto L_089FED74; } L_089FED74: - ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9304))); + aot_gpr_7 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9304))); ctx.gpr[8] = (aot_gpr_6 << 4u); - ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(68))); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_7 + static_cast(68))); ctx.gpr[9] = (aot_gpr_6 << 2u); ctx.gpr[8] = (ctx.gpr[8] + ctx.gpr[9]); - ctx.gpr[7] = (ctx.gpr[7] + ctx.gpr[8]); - ctx.fpr[1] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(12))); + aot_gpr_7 = (aot_gpr_7 + ctx.gpr[8]); + ctx.fpr[1] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_7 + static_cast(12))); goto L_089FED90; L_089FED90: { const bool branch_taken = 0u == 0u; @@ -6887,13 +6888,13 @@ L_089FED90: goto L_089FED98; } L_089FED98: - ctx.gpr[7] = (aot_gpr_4 << 4u); + aot_gpr_7 = (aot_gpr_4 << 4u); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(68))); aot_gpr_4 = (aot_gpr_4 << 2u); - aot_gpr_4 = (ctx.gpr[7] + aot_gpr_4); - ctx.gpr[7] = (aot_gpr_6 + aot_gpr_4); + aot_gpr_4 = (aot_gpr_7 + aot_gpr_4); + aot_gpr_7 = (aot_gpr_6 + aot_gpr_4); aot_gpr_6 = (aot_gpr_6 + aot_gpr_5); - ctx.fpr[2] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(12))); + ctx.fpr[2] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_7 + static_cast(12))); ctx.fpr[1] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(12))); ctx.fpr[2] = ctx.fpr[2] - ctx.fpr[1]; ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[2] < ctx.fpr[22])) ? 0x00800000u : 0u); @@ -6942,7 +6943,7 @@ L_089FEDDC: ctx.fpr[18] = ctx.fpr[18] + ctx.fpr[19]; aot_mem.aot_direct_store32(ctx.gpr[30] + static_cast(56), std::bit_cast(ctx.fpr[18])); { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[17]), std::bit_cast(ctx.fpr[1]), std::bit_cast(ctx.fpr[3])}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(464), aot_run_words); } + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(464), aot_run_words); } { const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -6986,13 +6987,13 @@ L_089FEDDC: goto L_089FEE9C; } L_089FEE9C: - ctx.fpr[17] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); + ctx.fpr[17] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(24))); aot_gpr_4 = (16076u << 16u); aot_gpr_4 = (aot_gpr_4 | 52429u); ctx.fpr[18] = std::bit_cast(aot_gpr_4); { const float fs = ctx.fpr[30]; const float ft = ctx.fpr[18]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[18] = std::bit_cast(0x7FC00000u); else ctx.fpr[18] = fs * ft; } ctx.fpr[17] = ctx.fpr[17] + ctx.fpr[18]; - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), std::bit_cast(ctx.fpr[17])); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(24), std::bit_cast(ctx.fpr[17])); { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -7016,11 +7017,11 @@ L_089FEE9C: goto L_089FEED8; L_089FEED8: aot_fpr_12 = aot_fpr_20 - aot_fpr_12; - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(464), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(464), std::bit_cast(aot_fpr_12)); aot_fpr_12 = aot_fpr_15 - aot_fpr_13; - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(468), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(468), std::bit_cast(aot_fpr_12)); aot_fpr_12 = ctx.fpr[16] - ctx.fpr[14]; - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(472), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(472), std::bit_cast(aot_fpr_12)); { const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -7077,9 +7078,9 @@ L_089FEED8: const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(472))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(472))); { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[28])}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(464), aot_run_words); } + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(464), aot_run_words); } { const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -7138,13 +7139,13 @@ L_089FEED8: } L_089FEF60: aot_fpr_13 = std::bit_cast(aot_gpr_4); - ctx.fpr[14] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(56))); + ctx.fpr[14] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(56))); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = ctx.fpr[14] + aot_fpr_12; - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(56), std::bit_cast(aot_fpr_12)); goto L_089FEF74; L_089FEF74: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(764))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(764))); ctx.gpr[19] = (0u + static_cast(-16385)); aot_gpr_4 = (65534u << 16u); ctx.gpr[21] = (aot_gpr_4 + static_cast(-1)); @@ -7210,23 +7211,23 @@ L_089FEF74: const std::uint32_t vfpu_address = ctx.gpr[22] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(48))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(48))); aot_mem.aot_direct_store32(ctx.gpr[30] + static_cast(0), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(52))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(52))); aot_mem.aot_direct_store32(ctx.gpr[30] + static_cast(4), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(56))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(56))); aot_mem.aot_direct_store32(ctx.gpr[30] + static_cast(8), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(32))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(32))); aot_mem.aot_direct_store32(ctx.gpr[30] + static_cast(32), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(36))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(36))); aot_mem.aot_direct_store32(ctx.gpr[30] + static_cast(36), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(40))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(40))); aot_mem.aot_direct_store32(ctx.gpr[30] + static_cast(40), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(16))); aot_mem.aot_direct_store32(ctx.gpr[30] + static_cast(16), std::bit_cast(aot_fpr_12)); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(20))); aot_mem.aot_direct_store32(ctx.gpr[30] + static_cast(20), std::bit_cast(aot_fpr_13)); - ctx.fpr[14] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); + ctx.fpr[14] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(24))); aot_mem.aot_direct_store32(ctx.gpr[30] + static_cast(24), std::bit_cast(ctx.fpr[14])); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[30] + static_cast(944)))))); aot_gpr_4 = (aot_gpr_4 << 2u); @@ -7252,8 +7253,8 @@ L_089FF050: { const float fs = aot_fpr_12; const float ft = ctx.fpr[28]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_mem.aot_direct_store32(ctx.gpr[30] + static_cast(952), std::bit_cast(aot_fpr_12)); { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[22])}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(672), aot_run_words); } - aot_gpr_4 = (aot_gpr_29 + static_cast(672)); + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(672), aot_run_words); } + aot_gpr_4 = (ctx.gpr[29] + static_cast(672)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -7264,7 +7265,7 @@ L_089FF050: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_31 = (0x089FF08Cu); @@ -7365,7 +7366,7 @@ L_089FF148: ctx.fpr[14] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(12))); goto L_089FF158; L_089FF158: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(756))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(756))); goto L_089FF15C; L_089FF15C: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 <= aot_fpr_12)) ? 0x00800000u : 0u); @@ -7393,8 +7394,8 @@ L_089FF180: aot_mem.aot_direct_store16(ctx.gpr[30] + static_cast(948), static_cast(aot_gpr_4)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[30] + static_cast(948)))))); aot_gpr_6 = (aot_gpr_4 << 4u); - ctx.gpr[7] = (aot_gpr_4 << 2u); - aot_gpr_6 = (aot_gpr_6 + ctx.gpr[7]); + aot_gpr_7 = (aot_gpr_4 << 2u); + aot_gpr_6 = (aot_gpr_6 + aot_gpr_7); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(12))); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); aot_gpr_6 = (aot_gpr_4 < static_cast(0) ? 1u : 0u); @@ -7416,8 +7417,8 @@ L_089FF1B4: } L_089FF1C0: aot_gpr_6 = (aot_gpr_4 << 4u); - ctx.gpr[7] = (aot_gpr_4 << 2u); - aot_gpr_6 = (aot_gpr_6 + ctx.gpr[7]); + aot_gpr_7 = (aot_gpr_4 << 2u); + aot_gpr_6 = (aot_gpr_6 + aot_gpr_7); ctx.fpr[14] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(12))); goto L_089FF1D0; L_089FF1D0: @@ -7463,7 +7464,7 @@ L_089FF214: ctx.fpr[19] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); aot_gpr_4 = (16800u << 16u); ctx.fpr[0] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(8))); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(756))); + aot_gpr_7 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(756))); ctx.fpr[18] = std::bit_cast(aot_gpr_4); aot_fpr_12 = aot_fpr_12 + ctx.fpr[18]; ctx.fpr[1] = ctx.fpr[28] - aot_fpr_13; @@ -7535,7 +7536,7 @@ L_089FF2D8: } goto L_089FF2E8; L_089FF2E8: - { const std::uint32_t dividend = aot_gpr_6; const std::uint32_t divisor = ctx.gpr[7]; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } + { const std::uint32_t dividend = aot_gpr_6; const std::uint32_t divisor = aot_gpr_7; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } aot_gpr_6 = (ctx.hi); aot_gpr_4 = (aot_gpr_6 << 4u); aot_gpr_5 = (aot_gpr_6 << 2u); @@ -7678,7 +7679,7 @@ L_089FF42C: } goto L_089FF43C; L_089FF43C: - { const std::uint32_t dividend = aot_gpr_5; const std::uint32_t divisor = ctx.gpr[7]; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } + { const std::uint32_t dividend = aot_gpr_5; const std::uint32_t divisor = aot_gpr_7; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } aot_gpr_5 = (ctx.hi); aot_gpr_6 = (aot_gpr_5 << 4u); aot_gpr_4 = (aot_gpr_5 << 2u); @@ -7725,20 +7726,20 @@ L_089FF488: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[2] < ctx.fpr[22])) ? 0x00800000u : 0u); // nop if (!((ctx.fcr31 & 0x00800000u) != 0u)) { - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(768), ctx.gpr[23]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(768), ctx.gpr[23]); goto L_089FF4B4; } goto L_089FF4AC; L_089FF4AC: ctx.fpr[2] = ctx.fpr[2] + ctx.fpr[22]; - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(768), ctx.gpr[23]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(768), ctx.gpr[23]); goto L_089FF4B4; L_089FF4B4: aot_gpr_5 = (65535u << 16u); - aot_gpr_16 = (aot_gpr_5 + static_cast(32767)); + ctx.gpr[16] = (aot_gpr_5 + static_cast(32767)); ctx.gpr[18] = (ctx.gpr[9] | 0u); ctx.gpr[23] = (ctx.gpr[8] | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(772), std::bit_cast(ctx.fpr[4])); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(772), std::bit_cast(ctx.fpr[4])); ctx.fpr[26] = std::bit_cast(std::bit_cast(ctx.fpr[3])); ctx.fpr[1] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(12))); aot_fpr_12 = aot_fpr_12 - ctx.fpr[1]; @@ -7764,8 +7765,8 @@ L_089FF4B4: aot_fpr_13 = ctx.fpr[14] + ctx.fpr[28]; aot_mem.aot_direct_store32(ctx.gpr[30] + static_cast(56), std::bit_cast(aot_fpr_13)); { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_15), std::bit_cast(ctx.fpr[16]), std::bit_cast(ctx.fpr[17])}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(480), aot_run_words); } - aot_gpr_4 = (aot_gpr_29 + static_cast(480)); + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(480), aot_run_words); } + aot_gpr_4 = (ctx.gpr[29] + static_cast(480)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -7800,11 +7801,11 @@ L_089FF4B4: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_13 = ctx.fpr[1] - ctx.fpr[18]; - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(480), std::bit_cast(aot_fpr_13)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(480), std::bit_cast(aot_fpr_13)); aot_fpr_13 = ctx.fpr[2] - ctx.fpr[19]; - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(484), std::bit_cast(aot_fpr_13)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(484), std::bit_cast(aot_fpr_13)); aot_fpr_12 = aot_fpr_12 - ctx.fpr[0]; - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(488), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(488), std::bit_cast(aot_fpr_12)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -7861,9 +7862,9 @@ L_089FF4B4: const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(488))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(488))); { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[28])}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(480), aot_run_words); } + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(480), aot_run_words); } { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -7913,12 +7914,12 @@ L_089FF4B4: const std::uint32_t vfpu_address = ctx.gpr[20] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(56))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(56))); aot_gpr_5 = (16448u << 16u); ctx.fpr[14] = std::bit_cast(aot_gpr_5); { const float fs = aot_fpr_12; const float ft = ctx.fpr[14]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = aot_fpr_13 + aot_fpr_12; - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(56), std::bit_cast(aot_fpr_12)); { const std::uint32_t vfpu_address = ctx.gpr[20] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -7975,23 +7976,23 @@ L_089FF4B4: const std::uint32_t vfpu_address = ctx.gpr[22] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(48))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(48))); aot_mem.aot_direct_store32(ctx.gpr[30] + static_cast(0), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(52))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(52))); aot_mem.aot_direct_store32(ctx.gpr[30] + static_cast(4), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(56))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(56))); aot_mem.aot_direct_store32(ctx.gpr[30] + static_cast(8), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(32))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(32))); aot_mem.aot_direct_store32(ctx.gpr[30] + static_cast(32), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(36))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(36))); aot_mem.aot_direct_store32(ctx.gpr[30] + static_cast(36), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(40))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(40))); aot_mem.aot_direct_store32(ctx.gpr[30] + static_cast(40), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(16))); aot_mem.aot_direct_store32(ctx.gpr[30] + static_cast(16), std::bit_cast(aot_fpr_12)); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(20))); aot_mem.aot_direct_store32(ctx.gpr[30] + static_cast(20), std::bit_cast(aot_fpr_13)); - ctx.fpr[14] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); + ctx.fpr[14] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(24))); aot_mem.aot_direct_store32(ctx.gpr[30] + static_cast(24), std::bit_cast(ctx.fpr[14])); { const float fs = aot_fpr_12; const float ft = ctx.fpr[22]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } { const float fs = aot_fpr_12; const float ft = ctx.fpr[26]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } @@ -8007,8 +8008,8 @@ L_089FF698: { const float fs = ctx.fpr[22]; const float ft = ctx.fpr[26]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_mem.aot_direct_store32(ctx.gpr[30] + static_cast(952), std::bit_cast(aot_fpr_12)); { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[22])}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(736), aot_run_words); } - aot_gpr_4 = (aot_gpr_29 + static_cast(736)); + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(736), aot_run_words); } + aot_gpr_4 = (ctx.gpr[29] + static_cast(736)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -8031,13 +8032,13 @@ L_089FF6C0: aot_gpr_4 = (aot_gpr_4 & ctx.gpr[23]); aot_mem.aot_direct_store32(ctx.gpr[30] + static_cast(72), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[30] + static_cast(72))); - aot_gpr_4 = (aot_gpr_4 & aot_gpr_16); + aot_gpr_4 = (aot_gpr_4 & ctx.gpr[16]); aot_gpr_4 = (aot_gpr_4 | 32768u); aot_mem.aot_direct_store32(ctx.gpr[30] + static_cast(72), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[30] + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[21]); aot_mem.aot_direct_store32(ctx.gpr[30] + static_cast(72), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(768))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(768))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_fpr_12 = ctx.fpr[24] - aot_fpr_12; { const float fs = aot_fpr_12; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } @@ -8045,7 +8046,7 @@ L_089FF6C0: aot_fpr_13 = aot_fpr_20 - aot_fpr_13; { const float fs = aot_fpr_13; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_fpr_12 = aot_fpr_12 + aot_fpr_13; - ctx.fpr[14] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(772))); + ctx.fpr[14] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(772))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[14])) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); @@ -8088,7 +8089,7 @@ L_089FF754: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); aot_gpr_5 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_5) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); if (branch_taken) { goto L_089FF778; } @@ -8098,7 +8099,7 @@ L_089FF768: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); goto L_089FF778; L_089FF778: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[30] + static_cast(946)))))); @@ -8115,7 +8116,7 @@ L_089FF784: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 607u, 0x08AD3698u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FF78Cu) goto L_089FF78C; AOT_REGCACHE_SYNC_OUT(); return; L_089FF78C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_089FF838; @@ -8133,9 +8134,9 @@ L_089FF794: } L_089FF7A0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[30] + static_cast(80))); - aot_gpr_16 = (0u | 1u); + ctx.gpr[16] = (0u | 1u); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0))); - { const bool branch_taken = aot_gpr_4 != aot_gpr_16; + { const bool branch_taken = aot_gpr_4 != ctx.gpr[16]; // nop if (branch_taken) { goto L_089FF810; @@ -8179,7 +8180,7 @@ L_089FF7D8: L_089FF7E8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[30] + static_cast(80))); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0))); - { const bool branch_taken = aot_gpr_4 != aot_gpr_16; + { const bool branch_taken = aot_gpr_4 != ctx.gpr[16]; // nop if (branch_taken) { goto L_089FF80C; @@ -8189,12 +8190,12 @@ L_089FF7E8: L_089FF7F8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[30] + static_cast(80))); aot_gpr_31 = (0x089FF804u); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0085_entry, 85u, 518u, 0x0895B97Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FF804u) goto L_089FF804; AOT_REGCACHE_SYNC_OUT(); return; L_089FF804: aot_gpr_31 = (0x089FF80Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0091_entry, 91u, 658u, 0x089730ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FF80Cu) goto L_089FF80C; AOT_REGCACHE_SYNC_OUT(); return; L_089FF80C: @@ -8272,9 +8273,9 @@ L_089FF870: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FF888u) goto L_089FF888; AOT_REGCACHE_SYNC_OUT(); return; L_089FF888: - aot_gpr_16 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(624)))))); + ctx.gpr[16] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(624)))))); aot_gpr_4 = (0u + static_cast(-1)); - { const bool branch_taken = aot_gpr_16 == aot_gpr_4; + { const bool branch_taken = ctx.gpr[16] == aot_gpr_4; // nop if (branch_taken) { goto L_089FF920; @@ -8283,7 +8284,7 @@ L_089FF888: } L_089FF898: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); - aot_gpr_5 = (static_cast(aot_gpr_16) < static_cast(aot_gpr_5) ? 1u : 0u); + aot_gpr_5 = (static_cast(ctx.gpr[16]) < static_cast(aot_gpr_5) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_4 = (0u | 0u); if (branch_taken) { @@ -8293,7 +8294,7 @@ L_089FF898: } L_089FF8A8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); - aot_gpr_5 = (aot_gpr_16 << 2u); + aot_gpr_5 = (ctx.gpr[16] << 2u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); goto L_089FF8B8; @@ -8309,8 +8310,8 @@ L_089FF8B8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FF8D0u) goto L_089FF8D0; AOT_REGCACHE_SYNC_OUT(); return; L_089FF8D0: - { const bool branch_taken = ctx.gpr[2] == 0u; - aot_mem.aot_direct_store32(ctx.gpr[30] + static_cast(80), ctx.gpr[2]); + { const bool branch_taken = aot_gpr_2 == 0u; + aot_mem.aot_direct_store32(ctx.gpr[30] + static_cast(80), aot_gpr_2); if (branch_taken) { goto L_089FF920; } @@ -8320,7 +8321,7 @@ L_089FF8D8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[30] + static_cast(80))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[30] + static_cast(64))); { const bool branch_taken = aot_gpr_5 == 0u; - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); if (branch_taken) { goto L_089FF900; } @@ -8343,7 +8344,7 @@ L_089FF900: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[30] + static_cast(72))); goto L_089FF904; L_089FF904: - aot_gpr_5 = (aot_gpr_16 + static_cast(16)); + aot_gpr_5 = (ctx.gpr[16] + static_cast(16)); aot_gpr_6 = (0u + static_cast(-2)); aot_mem.aot_direct_store32(ctx.gpr[30] + static_cast(64), aot_gpr_5); aot_gpr_4 = (aot_gpr_4 & aot_gpr_6); @@ -8354,14 +8355,14 @@ L_089FF904: AOT_REGCACHE_SYNC_OUT(); return; L_089FF920: { std::uint32_t aot_run_words[16]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(776), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(776), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); ctx.fpr[26] = std::bit_cast(aot_run_words[3]); ctx.fpr[28] = std::bit_cast(aot_run_words[4]); ctx.fpr[30] = std::bit_cast(aot_run_words[5]); - aot_gpr_16 = aot_run_words[6]; + ctx.gpr[16] = aot_run_words[6]; ctx.gpr[17] = aot_run_words[7]; ctx.gpr[18] = aot_run_words[8]; ctx.gpr[19] = aot_run_words[9]; @@ -8373,18 +8374,18 @@ L_089FF920: aot_gpr_31 = aot_run_words[15]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(848)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(848)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_089FF968: - aot_gpr_29 = (aot_gpr_29 + static_cast(-256)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(-256)); aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(4224))); - { const std::uint32_t aot_run_words[14]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_31}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(196), aot_run_words); } + { const std::uint32_t aot_run_words[14]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_31}; + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(196), aot_run_words); } { const bool branch_taken = aot_gpr_5 != 0u; - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_089FFA34; } @@ -8392,11 +8393,11 @@ L_089FF968: } L_089FF9B0: aot_gpr_31 = (0x089FF9B8u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 662u, 0x08AFEF74u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FF9B8u) goto L_089FF9B8; AOT_REGCACHE_SYNC_OUT(); return; L_089FF9B8: - aot_gpr_4 = (aot_gpr_16 + static_cast(48)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -8419,7 +8420,7 @@ L_089FF9B8: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>(); - aot_gpr_4 = (aot_gpr_29 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(16)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; @@ -8433,7 +8434,7 @@ L_089FF9B8: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_4 = (aot_gpr_29 + static_cast(80)); + aot_gpr_4 = (ctx.gpr[29] + static_cast(80)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; @@ -8497,8 +8498,8 @@ L_089FFA34: } L_089FFA3C: { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[30]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[26])}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(112), aot_run_words); } - aot_gpr_5 = (aot_gpr_29 + static_cast(112)); + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(112), aot_run_words); } + aot_gpr_5 = (ctx.gpr[29] + static_cast(112)); { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -8523,7 +8524,7 @@ L_089FFA54: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_4 = (aot_gpr_16 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(16)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -8546,21 +8547,21 @@ L_089FFA54: goto L_089FFA7C; } L_089FFA7C: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(86)))))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); - ctx.gpr[7] = (17264u << 16u); - ctx.fpr[24] = std::bit_cast(ctx.gpr[7]); + aot_gpr_7 = (17264u << 16u); + ctx.fpr[24] = std::bit_cast(aot_gpr_7); aot_gpr_6 = (static_cast(aot_gpr_5) < static_cast(aot_gpr_4) ? 1u : 0u); - ctx.gpr[7] = (16320u << 16u); + aot_gpr_7 = (16320u << 16u); ctx.gpr[20] = (0u | 0u); - ctx.fpr[22] = std::bit_cast(ctx.gpr[7]); - aot_gpr_4 = (aot_gpr_29 + static_cast(32)); - ctx.gpr[17] = (aot_gpr_29 + static_cast(64)); - ctx.gpr[18] = (aot_gpr_29 + static_cast(48)); - ctx.gpr[19] = (aot_gpr_16 + static_cast(10)); + ctx.fpr[22] = std::bit_cast(aot_gpr_7); + aot_gpr_4 = (ctx.gpr[29] + static_cast(32)); + ctx.gpr[17] = (ctx.gpr[29] + static_cast(64)); + ctx.gpr[18] = (ctx.gpr[29] + static_cast(48)); + ctx.gpr[19] = (ctx.gpr[16] + static_cast(10)); ctx.gpr[21] = (0u | 1u); { const bool branch_taken = aot_gpr_6 == 0u; - ctx.gpr[22] = (aot_gpr_16 + static_cast(11)); + ctx.gpr[22] = (ctx.gpr[16] + static_cast(11)); if (branch_taken) { goto L_089FFAC8; } @@ -8573,7 +8574,7 @@ L_089FFAB8: ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); goto L_089FFAC8; L_089FFAC8: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(192), std::bit_cast(ctx.fpr[22])); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(192), std::bit_cast(ctx.fpr[22])); aot_gpr_6 = (aot_gpr_4 | 0u); ctx.fpr[22] = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_4 = (ctx.gpr[20] + static_cast(112)); @@ -8590,10 +8591,10 @@ L_089FFAC8: const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - ctx.gpr[20] = (aot_gpr_29 + static_cast(128)); + ctx.gpr[20] = (ctx.gpr[29] + static_cast(128)); aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x089FFAF0u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); goto L_089FD46C; L_089FFAF0: { const std::uint32_t vfpu_address = ctx.gpr[20] + static_cast(0); @@ -8622,13 +8623,13 @@ L_089FFAF0: const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(32))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(32))); aot_gpr_4 = (16384u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -8670,7 +8671,7 @@ L_089FFB30: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[22] < ctx.fpr[14])) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); - ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(192))); + ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast(192))); if (branch_taken) { goto L_089FFC34; } @@ -8689,43 +8690,43 @@ L_089FFB8C: goto L_089FFBA4; } L_089FFBA4: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[21]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), ctx.gpr[21]); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), 0u); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[24])); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[21]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(8), ctx.gpr[21]); ctx.fpr[14] = std::bit_cast(std::bit_cast(ctx.fpr[26])); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_fpr_15 = std::bit_cast(std::bit_cast(ctx.fpr[22])); aot_gpr_5 = (ctx.gpr[20] | 0u); aot_gpr_6 = (ctx.gpr[20] | 0u); - ctx.gpr[7] = (ctx.gpr[20] | 0u); + aot_gpr_7 = (ctx.gpr[20] | 0u); ctx.gpr[8] = (0u | 255u); ctx.gpr[9] = (ctx.gpr[18] | 0u); ctx.gpr[10] = (0u | 1u); ctx.gpr[11] = (0u | 2u); aot_gpr_31 = (0x089FFBE8u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(12), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0095_entry, 95u, 311u, 0x08981324u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FFBE8u) goto L_089FFBE8; AOT_REGCACHE_SYNC_OUT(); return; L_089FFBE8: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[21]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), ctx.gpr[21]); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), 0u); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[24])); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[21]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(8), ctx.gpr[21]); ctx.fpr[14] = std::bit_cast(std::bit_cast(ctx.fpr[26])); aot_gpr_4 = (ctx.gpr[22] | 0u); aot_fpr_15 = std::bit_cast(std::bit_cast(ctx.fpr[22])); aot_gpr_5 = (ctx.gpr[20] | 0u); aot_gpr_6 = (ctx.gpr[20] | 0u); - ctx.gpr[7] = (ctx.gpr[20] | 0u); + aot_gpr_7 = (ctx.gpr[20] | 0u); ctx.gpr[8] = (0u | 255u); ctx.gpr[9] = (ctx.gpr[17] | 0u); ctx.gpr[10] = (0u | 1u); ctx.gpr[11] = (0u | 2u); aot_gpr_31 = (0x089FFC2Cu); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(12), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0095_entry, 95u, 311u, 0x08981324u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FFC2Cu) goto L_089FFC2C; AOT_REGCACHE_SYNC_OUT(); return; L_089FFC2C: @@ -8737,43 +8738,43 @@ L_089FFC2C: goto L_089FFC34; } L_089FFC34: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[21]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), ctx.gpr[21]); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), 0u); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[24])); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[21]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(8), ctx.gpr[21]); ctx.fpr[14] = std::bit_cast(std::bit_cast(ctx.fpr[26])); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_fpr_15 = std::bit_cast(std::bit_cast(ctx.fpr[22])); aot_gpr_5 = (ctx.gpr[20] | 0u); aot_gpr_6 = (ctx.gpr[20] | 0u); - ctx.gpr[7] = (ctx.gpr[20] | 0u); + aot_gpr_7 = (ctx.gpr[20] | 0u); ctx.gpr[8] = (0u | 255u); ctx.gpr[9] = (ctx.gpr[18] | 0u); ctx.gpr[10] = (0u | 1u); ctx.gpr[11] = (0u | 0u); aot_gpr_31 = (0x089FFC78u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(12), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0095_entry, 95u, 311u, 0x08981324u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FFC78u) goto L_089FFC78; AOT_REGCACHE_SYNC_OUT(); return; L_089FFC78: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[21]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(0), ctx.gpr[21]); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(4), 0u); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[24])); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[21]); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(8), ctx.gpr[21]); ctx.fpr[14] = std::bit_cast(std::bit_cast(ctx.fpr[26])); aot_gpr_4 = (ctx.gpr[22] | 0u); aot_fpr_15 = std::bit_cast(std::bit_cast(ctx.fpr[22])); aot_gpr_5 = (ctx.gpr[20] | 0u); aot_gpr_6 = (ctx.gpr[20] | 0u); - ctx.gpr[7] = (ctx.gpr[20] | 0u); + aot_gpr_7 = (ctx.gpr[20] | 0u); ctx.gpr[8] = (0u | 255u); ctx.gpr[9] = (ctx.gpr[17] | 0u); ctx.gpr[10] = (0u | 1u); ctx.gpr[11] = (0u | 0u); aot_gpr_31 = (0x089FFCBCu); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(12), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0095_entry, 95u, 311u, 0x08981324u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FFCBCu) goto L_089FFCBC; AOT_REGCACHE_SYNC_OUT(); return; L_089FFCBC: @@ -8787,12 +8788,12 @@ L_089FFCBC: goto L_089FFCCC; } L_089FFCCC: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(86)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); aot_gpr_6 = (0u | 0u); - ctx.gpr[7] = (static_cast(aot_gpr_4) < static_cast(aot_gpr_5) ? 1u : 0u); - { const bool branch_taken = ctx.gpr[7] == 0u; - aot_gpr_5 = (aot_gpr_29 + static_cast(32)); + aot_gpr_7 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_5) ? 1u : 0u); + { const bool branch_taken = aot_gpr_7 == 0u; + aot_gpr_5 = (ctx.gpr[29] + static_cast(32)); if (branch_taken) { goto L_089FFCF4; } @@ -8805,7 +8806,7 @@ L_089FFCE4: aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); goto L_089FFCF4; L_089FFCF4: - ctx.gpr[7] = (aot_gpr_5 | 0u); + aot_gpr_7 = (aot_gpr_5 | 0u); aot_gpr_4 = (aot_gpr_6 + static_cast(128)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; @@ -8817,14 +8818,14 @@ L_089FFCF4: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = ctx.gpr[7] + static_cast(0); + const std::uint32_t vfpu_address = aot_gpr_7 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - ctx.gpr[17] = (aot_gpr_29 + static_cast(144)); + ctx.gpr[17] = (ctx.gpr[29] + static_cast(144)); aot_gpr_4 = (ctx.gpr[17] | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x089FFD18u); - aot_gpr_6 = (ctx.gpr[7] | 0u); + aot_gpr_6 = (aot_gpr_7 | 0u); goto L_089FD46C; L_089FFD18: { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); @@ -8836,41 +8837,41 @@ L_089FFD18: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - ctx.gpr[9] = (aot_gpr_29 + static_cast(96)); + ctx.gpr[9] = (ctx.gpr[29] + static_cast(96)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = ctx.gpr[9] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_4 = (aot_gpr_16 + static_cast(12)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(12)); aot_gpr_5 = (17136u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_5); - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); aot_gpr_5 = (16320u << 16u); aot_fpr_15 = std::bit_cast(aot_gpr_5); aot_gpr_5 = (0u | 255u); aot_gpr_6 = (0u | 0u); - ctx.gpr[7] = (0u | 0u); + aot_gpr_7 = (0u | 0u); ctx.gpr[8] = (0u | 255u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[30])); ctx.gpr[10] = (0u | 1u); ctx.gpr[11] = (0u | 0u); - { const std::uint32_t aot_run_words[3]{ctx.gpr[2], 0u, ctx.gpr[2]}; - aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } + { const std::uint32_t aot_run_words[3]{aot_gpr_2, 0u, aot_gpr_2}; + aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast(0), aot_run_words); } ctx.fpr[14] = std::bit_cast(std::bit_cast(ctx.fpr[26])); aot_gpr_31 = (0x089FFD70u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), 0u); + aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(12), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0095_entry, 95u, 311u, 0x08981324u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089FFD70u) goto L_089FFD70; AOT_REGCACHE_SYNC_OUT(); return; L_089FFD70: { std::uint32_t aot_run_words[14]{}; - aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(196), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast(196), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); ctx.fpr[26] = std::bit_cast(aot_run_words[3]); ctx.fpr[28] = std::bit_cast(aot_run_words[4]); ctx.fpr[30] = std::bit_cast(aot_run_words[5]); - aot_gpr_16 = aot_run_words[6]; + ctx.gpr[16] = aot_run_words[6]; ctx.gpr[17] = aot_run_words[7]; ctx.gpr[18] = aot_run_words[8]; ctx.gpr[19] = aot_run_words[9]; @@ -8880,7 +8881,7 @@ L_089FFD70: aot_gpr_31 = aot_run_words[13]; } jump_target = aot_gpr_31; - aot_gpr_29 = (aot_gpr_29 + static_cast(256)); + ctx.gpr[29] = (ctx.gpr[29] + static_cast(256)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -8912,7 +8913,7 @@ L_089FFDC8: ctx.gpr[8] = (8u << 16u); aot_gpr_4 = (17530u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); aot_gpr_4 = (16384u << 16u); ctx.gpr[9] = (0u | 0u); aot_fpr_12 = std::bit_cast(aot_gpr_4); @@ -8964,7 +8965,7 @@ L_089FFE48: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[16] <= ctx.fpr[0])) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); - ctx.gpr[7] = (0u | 0u); + aot_gpr_7 = (0u | 0u); if (branch_taken) { goto L_089FFE7C; } @@ -8976,7 +8977,7 @@ L_089FFE64: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[16] <= ctx.fpr[18])) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); - ctx.gpr[7] = (ctx.gpr[7] + static_cast(20)); + aot_gpr_7 = (aot_gpr_7 + static_cast(20)); if (branch_taken) { goto L_089FFE64; } @@ -8985,7 +8986,7 @@ L_089FFE64: L_089FFE7C: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(40), std::bit_cast(aot_fpr_15)); ctx.gpr[11] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9304))); - aot_gpr_6 = (ctx.gpr[11] + ctx.gpr[7]); + aot_gpr_6 = (ctx.gpr[11] + aot_gpr_7); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_6 + static_cast(72))); { const bool branch_taken = static_cast(aot_gpr_4) > 0; ctx.gpr[3] = (static_cast(aot_gpr_4) < 2 ? 1u : 0u); @@ -9048,7 +9049,7 @@ L_089FFED0: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(28), std::bit_cast(aot_fpr_15)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9304))); aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(24))); - aot_gpr_6 = (aot_gpr_4 + ctx.gpr[7]); + aot_gpr_6 = (aot_gpr_4 + aot_gpr_7); { const float fs = aot_fpr_15; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_15 = std::bit_cast(0x7FC00000u); else aot_fpr_15 = fs * ft; } ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(84))); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); @@ -9074,7 +9075,7 @@ L_089FFF18: ctx.fpr[16] = ctx.fpr[18] + ctx.fpr[16]; aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(28), std::bit_cast(ctx.fpr[16])); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9304))); - aot_gpr_6 = (aot_gpr_4 + ctx.gpr[7]); + aot_gpr_6 = (aot_gpr_4 + aot_gpr_7); ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(88))); ctx.fpr[1] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(24))); { const float fs = ctx.fpr[16]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[16] = std::bit_cast(0x7FC00000u); else ctx.fpr[16] = fs * ft; } @@ -9088,9 +9089,9 @@ L_089FFF18: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(52), std::bit_cast(aot_fpr_15)); goto L_089FFF78; L_089FFF78: - ctx.gpr[2] = (ctx.gpr[2] + static_cast(1)); + aot_gpr_2 = (aot_gpr_2 + static_cast(1)); ctx.gpr[9] = (ctx.gpr[9] + ctx.gpr[10]); - aot_gpr_4 = (static_cast(ctx.gpr[2]) < 3 ? 1u : 0u); + aot_gpr_4 = (static_cast(aot_gpr_2) < 3 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(4)); if (branch_taken) { diff --git a/profiles/vcs/generated/generated_unit_0127.cpp b/profiles/vcs/generated/generated_unit_0127.cpp index e5aa440..91e86a9 100644 --- a/profiles/vcs/generated/generated_unit_0127.cpp +++ b/profiles/vcs/generated/generated_unit_0127.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,7 +139,7 @@ static const std::uint16_t kEntryIds_recomp_unit_0127[4094] = { }; void recomp_unit_0127_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,29,31,5,16,17 fprs=12,13,0,20 gpr_occ=3860 fpr_occ=314 gpr_total=5474 fpr_total=382 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,29,31,5,16,17 fprs=12,13,0,20 gpr_occ=4223 fpr_occ=316 gpr_total=6131 fpr_total=384 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; @@ -1392,7 +1393,7 @@ L_08A00104: aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) & 0x7FFFFFFFu); aot_gpr_31 = (0x08A0012Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A0012Cu) goto L_08A0012C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A0012Cu) goto L_08A0012C; AOT_REGCACHE_SYNC_OUT(); return; L_08A0012C: ctx.gpr[19] = (ctx.gpr[3] | 0u); @@ -1404,7 +1405,7 @@ L_08A0013C: aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_0) & 0x7FFFFFFFu); aot_gpr_31 = (0x08A00148u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A00148u) goto L_08A00148; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A00148u) goto L_08A00148; AOT_REGCACHE_SYNC_OUT(); return; L_08A00148: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9244))); @@ -1420,7 +1421,7 @@ L_08A0015C: ctx.gpr[7] = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08A00170u); ctx.gpr[6] = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A00170u) goto L_08A00170; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B6256C, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A00170u) goto L_08A00170; AOT_REGCACHE_SYNC_OUT(); return; L_08A00170: { const bool branch_taken = static_cast(ctx.gpr[2]) < 0; @@ -2121,7 +2122,7 @@ L_08A005E4: L_08A005EC: aot_gpr_31 = (0x08A005F4u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A005F4u) goto L_08A005F4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A005F4u) goto L_08A005F4; AOT_REGCACHE_SYNC_OUT(); return; L_08A005F4: { const bool branch_taken = ctx.gpr[18] == 0u; @@ -2148,7 +2149,7 @@ L_08A00604: L_08A0060C: aot_gpr_31 = (0x08A00614u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A00614u) goto L_08A00614; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A00614u) goto L_08A00614; AOT_REGCACHE_SYNC_OUT(); return; L_08A00614: aot_gpr_4 = (aot_gpr_16 & 1u); @@ -2164,7 +2165,7 @@ L_08A00618: L_08A00620: aot_gpr_31 = (0x08A00628u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A00628u) goto L_08A00628; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A00628u) goto L_08A00628; AOT_REGCACHE_SYNC_OUT(); return; L_08A00628: { std::uint32_t aot_run_words[4]{}; @@ -2496,7 +2497,7 @@ L_08A00808: L_08A00818: aot_gpr_31 = (0x08A00820u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-9240)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A00820u) goto L_08A00820; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A00820u) goto L_08A00820; AOT_REGCACHE_SYNC_OUT(); return; L_08A00820: aot_gpr_31 = (0x08A00828u); @@ -2585,7 +2586,7 @@ L_08A008B4: L_08A008C4: aot_gpr_31 = (0x08A008CCu); aot_gpr_4 = (ctx.gpr[28] + static_cast(-9240)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A008CCu) goto L_08A008CC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A008CCu) goto L_08A008CC; AOT_REGCACHE_SYNC_OUT(); return; L_08A008CC: aot_gpr_31 = (0x08A008D4u); @@ -2739,7 +2740,7 @@ L_08A009B4: L_08A009C4: aot_gpr_31 = (0x08A009CCu); aot_gpr_4 = (ctx.gpr[28] + static_cast(-9240)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A009CCu) goto L_08A009CC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A009CCu) goto L_08A009CC; AOT_REGCACHE_SYNC_OUT(); return; L_08A009CC: aot_gpr_31 = (0x08A009D4u); @@ -2892,7 +2893,7 @@ L_08A00AB0: L_08A00AC0: aot_gpr_31 = (0x08A00AC8u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-9240)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A00AC8u) goto L_08A00AC8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A00AC8u) goto L_08A00AC8; AOT_REGCACHE_SYNC_OUT(); return; L_08A00AC8: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); @@ -2937,7 +2938,7 @@ L_08A00B08: L_08A00B18: aot_gpr_31 = (0x08A00B20u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-9240)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A00B20u) goto L_08A00B20; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A00B20u) goto L_08A00B20; AOT_REGCACHE_SYNC_OUT(); return; L_08A00B20: aot_gpr_4 = (0u + static_cast(-1)); @@ -2984,7 +2985,7 @@ L_08A00B78: L_08A00B88: aot_gpr_31 = (0x08A00B90u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-9240)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A00B90u) goto L_08A00B90; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A00B90u) goto L_08A00B90; AOT_REGCACHE_SYNC_OUT(); return; L_08A00B90: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(28)))))); @@ -3052,7 +3053,7 @@ L_08A00BE4: L_08A00BF0: aot_gpr_31 = (0x08A00BF8u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-9240)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A00BF8u) goto L_08A00BF8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A00BF8u) goto L_08A00BF8; AOT_REGCACHE_SYNC_OUT(); return; L_08A00BF8: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(28)))))); @@ -3093,7 +3094,7 @@ L_08A00C2C: L_08A00C38: aot_gpr_31 = (0x08A00C40u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-9240)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A00C40u) goto L_08A00C40; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A00C40u) goto L_08A00C40; AOT_REGCACHE_SYNC_OUT(); return; L_08A00C40: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(64))); @@ -3170,7 +3171,7 @@ L_08A00C98: L_08A00CA4: aot_gpr_31 = (0x08A00CACu); aot_gpr_4 = (ctx.gpr[28] + static_cast(-9240)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A00CACu) goto L_08A00CAC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A00CACu) goto L_08A00CAC; AOT_REGCACHE_SYNC_OUT(); return; L_08A00CAC: aot_gpr_31 = (0x08A00CB4u); @@ -3259,7 +3260,7 @@ L_08A00D50: L_08A00D60: aot_gpr_31 = (0x08A00D68u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-9240)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A00D68u) goto L_08A00D68; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A00D68u) goto L_08A00D68; AOT_REGCACHE_SYNC_OUT(); return; L_08A00D68: aot_gpr_31 = (0x08A00D70u); @@ -3284,7 +3285,7 @@ L_08A00D7C: L_08A00D88: aot_gpr_31 = (0x08A00D90u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-9240)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A00D90u) goto L_08A00D90; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A00D90u) goto L_08A00D90; AOT_REGCACHE_SYNC_OUT(); return; L_08A00D90: aot_gpr_31 = (0x08A00D98u); @@ -3317,7 +3318,7 @@ L_08A00DA8: L_08A00DB8: aot_gpr_31 = (0x08A00DC0u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-9240)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A00DC0u) goto L_08A00DC0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A00DC0u) goto L_08A00DC0; AOT_REGCACHE_SYNC_OUT(); return; L_08A00DC0: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -3353,7 +3354,7 @@ L_08A00DDC: L_08A00DEC: aot_gpr_31 = (0x08A00DF4u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-9240)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A00DF4u) goto L_08A00DF4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A00DF4u) goto L_08A00DF4; AOT_REGCACHE_SYNC_OUT(); return; L_08A00DF4: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -3434,7 +3435,7 @@ L_08A00E90: L_08A00EA0: aot_gpr_31 = (0x08A00EA8u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-9240)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A00EA8u) goto L_08A00EA8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A00EA8u) goto L_08A00EA8; AOT_REGCACHE_SYNC_OUT(); return; L_08A00EA8: aot_gpr_31 = (0x08A00EB0u); @@ -3578,7 +3579,7 @@ L_08A00F74: L_08A00F84: aot_gpr_31 = (0x08A00F8Cu); aot_gpr_4 = (ctx.gpr[28] + static_cast(-9240)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A00F8Cu) goto L_08A00F8C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A00F8Cu) goto L_08A00F8C; AOT_REGCACHE_SYNC_OUT(); return; L_08A00F8C: aot_gpr_31 = (0x08A00F94u); @@ -3604,7 +3605,7 @@ L_08A00FA0: L_08A00FB0: aot_gpr_31 = (0x08A00FB8u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-9240)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A00FB8u) goto L_08A00FB8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A00FB8u) goto L_08A00FB8; AOT_REGCACHE_SYNC_OUT(); return; L_08A00FB8: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -3692,7 +3693,7 @@ L_08A0104C: L_08A0105C: aot_gpr_31 = (0x08A01064u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-9240)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A01064u) goto L_08A01064; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A01064u) goto L_08A01064; AOT_REGCACHE_SYNC_OUT(); return; L_08A01064: aot_gpr_31 = (0x08A0106Cu); @@ -3718,7 +3719,7 @@ L_08A01078: L_08A01088: aot_gpr_31 = (0x08A01090u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-9240)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A01090u) goto L_08A01090; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A01090u) goto L_08A01090; AOT_REGCACHE_SYNC_OUT(); return; L_08A01090: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -3766,7 +3767,7 @@ L_08A010D4: L_08A010E4: aot_gpr_31 = (0x08A010ECu); aot_gpr_4 = (ctx.gpr[28] + static_cast(-9240)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A010ECu) goto L_08A010EC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A010ECu) goto L_08A010EC; AOT_REGCACHE_SYNC_OUT(); return; L_08A010EC: aot_gpr_31 = (0x08A010F4u); @@ -3829,7 +3830,7 @@ L_08A01154: L_08A01164: aot_gpr_31 = (0x08A0116Cu); aot_gpr_4 = (ctx.gpr[28] + static_cast(-9240)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A0116Cu) goto L_08A0116C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A0116Cu) goto L_08A0116C; AOT_REGCACHE_SYNC_OUT(); return; L_08A0116C: aot_gpr_31 = (0x08A01174u); @@ -3906,7 +3907,7 @@ L_08A011DC: L_08A011EC: aot_gpr_31 = (0x08A011F4u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-9240)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A011F4u) goto L_08A011F4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A011F4u) goto L_08A011F4; AOT_REGCACHE_SYNC_OUT(); return; L_08A011F4: ctx.gpr[2] = (0u | 1u); @@ -3947,7 +3948,7 @@ L_08A01230: L_08A01240: aot_gpr_31 = (0x08A01248u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-9240)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A01248u) goto L_08A01248; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A01248u) goto L_08A01248; AOT_REGCACHE_SYNC_OUT(); return; L_08A01248: aot_gpr_31 = (0x08A01250u); @@ -3973,7 +3974,7 @@ L_08A0125C: L_08A0126C: aot_gpr_31 = (0x08A01274u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-9240)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A01274u) goto L_08A01274; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A01274u) goto L_08A01274; AOT_REGCACHE_SYNC_OUT(); return; L_08A01274: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -4021,7 +4022,7 @@ L_08A012B8: L_08A012C8: aot_gpr_31 = (0x08A012D0u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-9240)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A012D0u) goto L_08A012D0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A012D0u) goto L_08A012D0; AOT_REGCACHE_SYNC_OUT(); return; L_08A012D0: ctx.gpr[2] = (0u | 1u); @@ -4067,7 +4068,7 @@ L_08A01318: L_08A01328: aot_gpr_31 = (0x08A01330u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-9240)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A01330u) goto L_08A01330; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A01330u) goto L_08A01330; AOT_REGCACHE_SYNC_OUT(); return; L_08A01330: aot_gpr_5 = (aot_gpr_16 + static_cast(4)); @@ -4418,7 +4419,7 @@ L_08A01600: L_08A0160C: aot_gpr_31 = (0x08A01614u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A01614u) goto L_08A01614; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A01614u) goto L_08A01614; AOT_REGCACHE_SYNC_OUT(); return; L_08A01614: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -4875,7 +4876,7 @@ L_08A01954: L_08A0195C: aot_gpr_31 = (0x08A01964u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A01964u) goto L_08A01964; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A01964u) goto L_08A01964; AOT_REGCACHE_SYNC_OUT(); return; L_08A01964: { const bool branch_taken = ctx.gpr[18] == 0u; @@ -4909,7 +4910,7 @@ L_08A01980: L_08A01988: aot_gpr_31 = (0x08A01990u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A01990u) goto L_08A01990; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A01990u) goto L_08A01990; AOT_REGCACHE_SYNC_OUT(); return; L_08A01990: aot_gpr_4 = (aot_gpr_16 & 1u); @@ -4925,7 +4926,7 @@ L_08A01994: L_08A0199C: aot_gpr_31 = (0x08A019A4u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A019A4u) goto L_08A019A4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A019A4u) goto L_08A019A4; AOT_REGCACHE_SYNC_OUT(); return; L_08A019A4: { std::uint32_t aot_run_words[4]{}; @@ -5302,7 +5303,7 @@ L_08A01C08: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08A01C24u); ctx.fpr[22] = std::bit_cast(std::bit_cast(aot_fpr_20) ^ 0x80000000u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A01C24u) goto L_08A01C24; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A01C24u) goto L_08A01C24; AOT_REGCACHE_SYNC_OUT(); return; L_08A01C24: aot_fpr_12 = aot_fpr_20 - ctx.fpr[22]; @@ -5328,7 +5329,7 @@ L_08A01C44: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08A01C60u); ctx.fpr[22] = std::bit_cast(std::bit_cast(aot_fpr_20) ^ 0x80000000u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A01C60u) goto L_08A01C60; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A01C60u) goto L_08A01C60; AOT_REGCACHE_SYNC_OUT(); return; L_08A01C60: aot_fpr_12 = aot_fpr_20 - ctx.fpr[22]; @@ -5614,7 +5615,7 @@ L_08A01E4C: L_08A01E58: aot_gpr_31 = (0x08A01E60u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A01E60u) goto L_08A01E60; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A01E60u) goto L_08A01E60; AOT_REGCACHE_SYNC_OUT(); return; L_08A01E60: aot_gpr_4 = (ctx.gpr[20] << 2u); @@ -5910,7 +5911,7 @@ L_08A0208C: L_08A02098: aot_gpr_31 = (0x08A020A0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A020A0u) goto L_08A020A0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A020A0u) goto L_08A020A0; AOT_REGCACHE_SYNC_OUT(); return; L_08A020A0: aot_gpr_4 = (ctx.gpr[19] << 2u); @@ -6257,7 +6258,7 @@ L_08A0230C: L_08A02314: aot_gpr_31 = (0x08A0231Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A0231Cu) goto L_08A0231C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A0231Cu) goto L_08A0231C; AOT_REGCACHE_SYNC_OUT(); return; L_08A0231C: { const bool branch_taken = ctx.gpr[18] == 0u; @@ -6291,7 +6292,7 @@ L_08A02338: L_08A02340: aot_gpr_31 = (0x08A02348u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A02348u) goto L_08A02348; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A02348u) goto L_08A02348; AOT_REGCACHE_SYNC_OUT(); return; L_08A02348: aot_gpr_4 = (aot_gpr_16 & 1u); @@ -6307,7 +6308,7 @@ L_08A0234C: L_08A02354: aot_gpr_31 = (0x08A0235Cu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A0235Cu) goto L_08A0235C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A0235Cu) goto L_08A0235C; AOT_REGCACHE_SYNC_OUT(); return; L_08A0235C: { std::uint32_t aot_run_words[4]{}; @@ -6336,7 +6337,7 @@ L_08A0237C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x08A02390u); aot_gpr_16 = (aot_gpr_5 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A02390u) goto L_08A02390; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A02390u) goto L_08A02390; AOT_REGCACHE_SYNC_OUT(); return; L_08A02390: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-8964))); @@ -6344,7 +6345,7 @@ L_08A02390: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08A023A4u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A023A4u) goto L_08A023A4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A023A4u) goto L_08A023A4; AOT_REGCACHE_SYNC_OUT(); return; L_08A023A4: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-8956))); @@ -6438,7 +6439,7 @@ L_08A0245C: L_08A02464: aot_gpr_31 = (0x08A0246Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A0246Cu) goto L_08A0246C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A0246Cu) goto L_08A0246C; AOT_REGCACHE_SYNC_OUT(); return; L_08A0246C: { const bool branch_taken = ctx.gpr[18] == 0u; @@ -6472,7 +6473,7 @@ L_08A02488: L_08A02490: aot_gpr_31 = (0x08A02498u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A02498u) goto L_08A02498; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A02498u) goto L_08A02498; AOT_REGCACHE_SYNC_OUT(); return; L_08A02498: aot_gpr_4 = (aot_gpr_16 & 1u); @@ -6488,7 +6489,7 @@ L_08A0249C: L_08A024A4: aot_gpr_31 = (0x08A024ACu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A024ACu) goto L_08A024AC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A024ACu) goto L_08A024AC; AOT_REGCACHE_SYNC_OUT(); return; L_08A024AC: { std::uint32_t aot_run_words[4]{}; @@ -6583,7 +6584,7 @@ L_08A02534: L_08A0253C: aot_gpr_31 = (0x08A02544u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A02544u) goto L_08A02544; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A02544u) goto L_08A02544; AOT_REGCACHE_SYNC_OUT(); return; L_08A02544: { const bool branch_taken = ctx.gpr[18] == 0u; @@ -6617,7 +6618,7 @@ L_08A02560: L_08A02568: aot_gpr_31 = (0x08A02570u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A02570u) goto L_08A02570; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A02570u) goto L_08A02570; AOT_REGCACHE_SYNC_OUT(); return; L_08A02570: aot_gpr_4 = (aot_gpr_16 & 1u); @@ -6633,7 +6634,7 @@ L_08A02574: L_08A0257C: aot_gpr_31 = (0x08A02584u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A02584u) goto L_08A02584; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A02584u) goto L_08A02584; AOT_REGCACHE_SYNC_OUT(); return; L_08A02584: { std::uint32_t aot_run_words[4]{}; @@ -6728,7 +6729,7 @@ L_08A0260C: L_08A02614: aot_gpr_31 = (0x08A0261Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A0261Cu) goto L_08A0261C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A0261Cu) goto L_08A0261C; AOT_REGCACHE_SYNC_OUT(); return; L_08A0261C: { const bool branch_taken = ctx.gpr[18] == 0u; @@ -6762,7 +6763,7 @@ L_08A02638: L_08A02640: aot_gpr_31 = (0x08A02648u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A02648u) goto L_08A02648; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A02648u) goto L_08A02648; AOT_REGCACHE_SYNC_OUT(); return; L_08A02648: aot_gpr_4 = (aot_gpr_16 & 1u); @@ -6778,7 +6779,7 @@ L_08A0264C: L_08A02654: aot_gpr_31 = (0x08A0265Cu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A0265Cu) goto L_08A0265C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A0265Cu) goto L_08A0265C; AOT_REGCACHE_SYNC_OUT(); return; L_08A0265C: { std::uint32_t aot_run_words[4]{}; @@ -6902,7 +6903,7 @@ L_08A0270C: L_08A02714: aot_gpr_31 = (0x08A0271Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A0271Cu) goto L_08A0271C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A0271Cu) goto L_08A0271C; AOT_REGCACHE_SYNC_OUT(); return; L_08A0271C: { const bool branch_taken = ctx.gpr[18] == 0u; @@ -6936,7 +6937,7 @@ L_08A02738: L_08A02740: aot_gpr_31 = (0x08A02748u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A02748u) goto L_08A02748; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A02748u) goto L_08A02748; AOT_REGCACHE_SYNC_OUT(); return; L_08A02748: aot_gpr_4 = (aot_gpr_16 & 1u); @@ -6952,7 +6953,7 @@ L_08A0274C: L_08A02754: aot_gpr_31 = (0x08A0275Cu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A0275Cu) goto L_08A0275C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A0275Cu) goto L_08A0275C; AOT_REGCACHE_SYNC_OUT(); return; L_08A0275C: { std::uint32_t aot_run_words[4]{}; @@ -7058,7 +7059,7 @@ L_08A027DC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); aot_gpr_31 = (0x08A02808u); ctx.fpr[22] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A02808u) goto L_08A02808; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A02808u) goto L_08A02808; AOT_REGCACHE_SYNC_OUT(); return; L_08A02808: aot_fpr_12 = ctx.fpr[22] - aot_fpr_20; @@ -7378,7 +7379,7 @@ L_08A029DC: L_08A029E8: aot_gpr_31 = (0x08A029F0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A029F0u) goto L_08A029F0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A029F0u) goto L_08A029F0; AOT_REGCACHE_SYNC_OUT(); return; L_08A029F0: aot_gpr_4 = (aot_gpr_17 << 4u); @@ -7446,7 +7447,7 @@ L_08A02AC0: ctx.gpr[18] = (0u | 0u); aot_gpr_31 = (0x08A02ACCu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A02ACCu) goto L_08A02ACC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A02ACCu) goto L_08A02ACC; AOT_REGCACHE_SYNC_OUT(); return; L_08A02ACC: aot_fpr_12 = ctx.fpr[22] - aot_fpr_20; @@ -7472,7 +7473,7 @@ L_08A02ACC: ctx.fpr[30] = std::bit_cast(aot_gpr_4); aot_gpr_31 = (0x08A02B18u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A02B18u) goto L_08A02B18; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A02B18u) goto L_08A02B18; AOT_REGCACHE_SYNC_OUT(); return; L_08A02B18: aot_fpr_12 = ctx.fpr[24] - aot_fpr_20; @@ -7746,7 +7747,7 @@ L_08A02CF0: L_08A02CF8: aot_gpr_31 = (0x08A02D00u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A02D00u) goto L_08A02D00; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A02D00u) goto L_08A02D00; AOT_REGCACHE_SYNC_OUT(); return; L_08A02D00: { const bool branch_taken = ctx.gpr[18] == 0u; @@ -7780,7 +7781,7 @@ L_08A02D1C: L_08A02D24: aot_gpr_31 = (0x08A02D2Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A02D2Cu) goto L_08A02D2C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A02D2Cu) goto L_08A02D2C; AOT_REGCACHE_SYNC_OUT(); return; L_08A02D2C: aot_gpr_4 = (aot_gpr_16 & 1u); @@ -7796,7 +7797,7 @@ L_08A02D30: L_08A02D38: aot_gpr_31 = (0x08A02D40u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A02D40u) goto L_08A02D40; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A02D40u) goto L_08A02D40; AOT_REGCACHE_SYNC_OUT(); return; L_08A02D40: { std::uint32_t aot_run_words[4]{}; @@ -10172,7 +10173,7 @@ L_08A03B30: L_08A03B38: aot_gpr_31 = (0x08A03B40u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A03B40u) goto L_08A03B40; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A03B40u) goto L_08A03B40; AOT_REGCACHE_SYNC_OUT(); return; L_08A03B40: aot_gpr_4 = (ctx.gpr[20] << 8u); diff --git a/profiles/vcs/generated/generated_unit_0128.cpp b/profiles/vcs/generated/generated_unit_0128.cpp index e57d118..862842a 100644 --- a/profiles/vcs/generated/generated_unit_0128.cpp +++ b/profiles/vcs/generated/generated_unit_0128.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,7 +139,7 @@ static const std::uint16_t kEntryIds_recomp_unit_0128[4094] = { }; void recomp_unit_0128_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,31,6,16 fprs=12,13,14,15 gpr_occ=4443 fpr_occ=274 gpr_total=6025 fpr_total=366 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,31,6,16 fprs=12,13,14,15 gpr_occ=4508 fpr_occ=274 gpr_total=6154 fpr_total=366 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; @@ -2015,7 +2016,7 @@ L_08A045B8: L_08A045C0: aot_gpr_31 = (0x08A045C8u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A045C8u) goto L_08A045C8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A045C8u) goto L_08A045C8; AOT_REGCACHE_SYNC_OUT(); return; L_08A045C8: aot_gpr_4 = (aot_gpr_16 & 1u); @@ -2031,7 +2032,7 @@ L_08A045CC: L_08A045D4: aot_gpr_31 = (0x08A045DCu); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A045DCu) goto L_08A045DC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A045DCu) goto L_08A045DC; AOT_REGCACHE_SYNC_OUT(); return; L_08A045DC: { std::uint32_t aot_run_words[3]{}; @@ -4264,7 +4265,7 @@ L_08A05648: L_08A05658: aot_gpr_31 = (0x08A05660u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A05660u) goto L_08A05660; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A05660u) goto L_08A05660; AOT_REGCACHE_SYNC_OUT(); return; L_08A05660: aot_gpr_4 = (aot_gpr_16 << 2u); @@ -4481,7 +4482,7 @@ L_08A057D8: L_08A057E8: aot_gpr_31 = (0x08A057F0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A057F0u) goto L_08A057F0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A057F0u) goto L_08A057F0; AOT_REGCACHE_SYNC_OUT(); return; L_08A057F0: aot_gpr_4 = (aot_gpr_16 << 2u); @@ -4698,7 +4699,7 @@ L_08A05968: L_08A05978: aot_gpr_31 = (0x08A05980u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A05980u) goto L_08A05980; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A05980u) goto L_08A05980; AOT_REGCACHE_SYNC_OUT(); return; L_08A05980: aot_gpr_4 = (aot_gpr_16 << 2u); @@ -4915,7 +4916,7 @@ L_08A05AF8: L_08A05B08: aot_gpr_31 = (0x08A05B10u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A05B10u) goto L_08A05B10; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A05B10u) goto L_08A05B10; AOT_REGCACHE_SYNC_OUT(); return; L_08A05B10: aot_gpr_4 = (aot_gpr_16 << 2u); @@ -5132,7 +5133,7 @@ L_08A05C88: L_08A05C98: aot_gpr_31 = (0x08A05CA0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A05CA0u) goto L_08A05CA0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A05CA0u) goto L_08A05CA0; AOT_REGCACHE_SYNC_OUT(); return; L_08A05CA0: aot_gpr_4 = (aot_gpr_16 << 2u); @@ -5349,7 +5350,7 @@ L_08A05E18: L_08A05E28: aot_gpr_31 = (0x08A05E30u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A05E30u) goto L_08A05E30; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A05E30u) goto L_08A05E30; AOT_REGCACHE_SYNC_OUT(); return; L_08A05E30: aot_gpr_4 = (aot_gpr_16 << 2u); @@ -5410,7 +5411,7 @@ L_08A05E94: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x08A05EB0u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-8944)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A05EB0u) goto L_08A05EB0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A05EB0u) goto L_08A05EB0; AOT_REGCACHE_SYNC_OUT(); return; L_08A05EB0: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); @@ -7942,7 +7943,7 @@ L_08A073BC: aot_gpr_4 = (2236u << 16u); aot_gpr_31 = (0x08A073CCu); aot_gpr_4 = (aot_gpr_4 + static_cast(25856)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A073CCu) goto L_08A073CC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A073CCu) goto L_08A073CC; AOT_REGCACHE_SYNC_OUT(); return; L_08A073CC: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -8439,7 +8440,7 @@ L_08A077CC: aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_31 = (0x08A077D8u); aot_gpr_4 = (ctx.gpr[22] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A077D8u) goto L_08A077D8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A077D8u) goto L_08A077D8; AOT_REGCACHE_SYNC_OUT(); return; L_08A077D8: aot_gpr_4 = (aot_gpr_16 | 0u); diff --git a/profiles/vcs/generated/generated_unit_0129.cpp b/profiles/vcs/generated/generated_unit_0129.cpp index 17ee2ab..47e6931 100644 --- a/profiles/vcs/generated/generated_unit_0129.cpp +++ b/profiles/vcs/generated/generated_unit_0129.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include "vcs_tier2_superblocks.hpp" #include #include @@ -139,20 +140,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0129[4094] = { }; void recomp_unit_0129_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,6,16,31 fprs=13,12,14,15 gpr_occ=4385 fpr_occ=356 gpr_total=6154 fpr_total=567 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,6,31,16 fprs=13,12,14,15 gpr_occ=4484 fpr_occ=356 gpr_total=6308 fpr_total=567 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_6 = ctx.gpr[6]; - std::uint32_t aot_gpr_16 = ctx.gpr[16]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; + std::uint32_t aot_gpr_16 = ctx.gpr[16]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_14 = ctx.fpr[14]; float aot_fpr_15 = ctx.fpr[15]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[6] = aot_gpr_6; ctx.gpr[16] = aot_gpr_16; ctx.gpr[31] = aot_gpr_31; ctx.fpr[13] = aot_fpr_13; ctx.fpr[12] = aot_fpr_12; ctx.fpr[14] = aot_fpr_14; ctx.fpr[15] = aot_fpr_15; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_31 = ctx.gpr[31]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_15 = ctx.fpr[15]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[6] = aot_gpr_6; ctx.gpr[31] = aot_gpr_31; ctx.gpr[16] = aot_gpr_16; ctx.fpr[13] = aot_fpr_13; ctx.fpr[12] = aot_fpr_12; ctx.fpr[14] = aot_fpr_14; ctx.fpr[15] = aot_fpr_15; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_16 = ctx.gpr[16]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_15 = ctx.fpr[15]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -1488,7 +1489,7 @@ L_08A087A0: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08A087ACu); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A087ACu) goto L_08A087AC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A087ACu) goto L_08A087AC; AOT_REGCACHE_SYNC_OUT(); return; L_08A087AC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2228))); @@ -1504,7 +1505,7 @@ L_08A087BC: aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_31 = (0x08A087C8u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A087C8u) goto L_08A087C8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08908E78, 65u, 261u, 0x08908E78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A087C8u) goto L_08A087C8; AOT_REGCACHE_SYNC_OUT(); return; L_08A087C8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2244))); @@ -1942,7 +1943,7 @@ L_08A08B48: L_08A08B50: aot_gpr_31 = (0x08A08B58u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A08B58u) goto L_08A08B58; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A08B58u) goto L_08A08B58; AOT_REGCACHE_SYNC_OUT(); return; L_08A08B58: { const bool branch_taken = ctx.gpr[2] != 0u; @@ -2018,7 +2019,7 @@ L_08A08BD0: L_08A08BD8: aot_gpr_31 = (0x08A08BE0u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A08BE0u) goto L_08A08BE0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A08BE0u) goto L_08A08BE0; AOT_REGCACHE_SYNC_OUT(); return; L_08A08BE0: { const bool branch_taken = ctx.gpr[2] != 0u; @@ -2050,7 +2051,7 @@ L_08A08BF8: L_08A08C04: aot_gpr_31 = (0x08A08C0Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A08C0Cu) goto L_08A08C0C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A08C0Cu) goto L_08A08C0C; AOT_REGCACHE_SYNC_OUT(); return; L_08A08C0C: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -2113,7 +2114,7 @@ L_08A08C58: L_08A08C60: aot_gpr_31 = (0x08A08C68u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A08C68u) goto L_08A08C68; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A08C68u) goto L_08A08C68; AOT_REGCACHE_SYNC_OUT(); return; L_08A08C68: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -2137,7 +2138,7 @@ L_08A08C80: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08A08C8Cu); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A08C8Cu) goto L_08A08C8C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08908E78, 65u, 261u, 0x08908E78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A08C8Cu) goto L_08A08C8C; AOT_REGCACHE_SYNC_OUT(); return; L_08A08C8C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2232))); @@ -2270,7 +2271,7 @@ L_08A08D44: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08A08D50u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A08D50u) goto L_08A08D50; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A08D50u) goto L_08A08D50; AOT_REGCACHE_SYNC_OUT(); return; L_08A08D50: { const bool branch_taken = 0u == 0u; @@ -2314,7 +2315,7 @@ L_08A08D78: L_08A08D80: aot_gpr_31 = (0x08A08D88u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A08D88u) goto L_08A08D88; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A08D88u) goto L_08A08D88; AOT_REGCACHE_SYNC_OUT(); return; L_08A08D88: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -2380,13 +2381,13 @@ L_08A08DE4: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2252))); aot_gpr_31 = (0x08A08DF0u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A08DF0u) goto L_08A08DF0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A08DF0u) goto L_08A08DF0; AOT_REGCACHE_SYNC_OUT(); return; L_08A08DF0: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08A08DFCu); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A08DFCu) goto L_08A08DFC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08908E78, 65u, 261u, 0x08908E78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A08DFCu) goto L_08A08DFC; AOT_REGCACHE_SYNC_OUT(); return; L_08A08DFC: aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(48))); @@ -2430,7 +2431,7 @@ L_08A08E14: L_08A08E6C: aot_gpr_31 = (0x08A08E74u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A08E74u) goto L_08A08E74; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A08E74u) goto L_08A08E74; AOT_REGCACHE_SYNC_OUT(); return; L_08A08E74: aot_gpr_4 = (ctx.gpr[2] | 0u); @@ -4381,7 +4382,7 @@ L_08A0A038: L_08A0A044: aot_gpr_31 = (0x08A0A04Cu); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A0A04Cu) goto L_08A0A04C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A0A04Cu) goto L_08A0A04C; AOT_REGCACHE_SYNC_OUT(); return; L_08A0A04C: aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -4728,7 +4729,7 @@ L_08A0A338: L_08A0A340: aot_gpr_31 = (0x08A0A348u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A0A348u) goto L_08A0A348; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A0A348u) goto L_08A0A348; AOT_REGCACHE_SYNC_OUT(); return; L_08A0A348: aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -6573,7 +6574,7 @@ L_08A0B320: L_08A0B32C: aot_gpr_31 = (0x08A0B334u); aot_gpr_4 = (ctx.gpr[21] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A0B334u) goto L_08A0B334; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A0B334u) goto L_08A0B334; AOT_REGCACHE_SYNC_OUT(); return; L_08A0B334: ctx.gpr[20] = (ctx.gpr[21] | 0u); @@ -6597,7 +6598,7 @@ L_08A0B358: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08A0B368u); aot_gpr_5 = (0u | 220u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A0B368u) goto L_08A0B368; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A0B368u) goto L_08A0B368; AOT_REGCACHE_SYNC_OUT(); return; L_08A0B368: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), ctx.gpr[2]); @@ -6679,7 +6680,7 @@ L_08A0B408: L_08A0B414: aot_gpr_31 = (0x08A0B41Cu); aot_gpr_4 = (ctx.gpr[21] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A0B41Cu) goto L_08A0B41C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A0B41Cu) goto L_08A0B41C; AOT_REGCACHE_SYNC_OUT(); return; L_08A0B41C: ctx.gpr[20] = (ctx.gpr[21] | 0u); @@ -6703,7 +6704,7 @@ L_08A0B440: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08A0B450u); aot_gpr_5 = (0u | 220u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A0B450u) goto L_08A0B450; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A0B450u) goto L_08A0B450; AOT_REGCACHE_SYNC_OUT(); return; L_08A0B450: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), ctx.gpr[2]); @@ -6785,7 +6786,7 @@ L_08A0B4F0: L_08A0B4FC: aot_gpr_31 = (0x08A0B504u); aot_gpr_4 = (ctx.gpr[21] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A0B504u) goto L_08A0B504; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A0B504u) goto L_08A0B504; AOT_REGCACHE_SYNC_OUT(); return; L_08A0B504: ctx.gpr[20] = (ctx.gpr[21] | 0u); @@ -6809,7 +6810,7 @@ L_08A0B528: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08A0B538u); aot_gpr_5 = (0u | 220u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A0B538u) goto L_08A0B538; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A0B538u) goto L_08A0B538; AOT_REGCACHE_SYNC_OUT(); return; L_08A0B538: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), ctx.gpr[2]); @@ -6891,7 +6892,7 @@ L_08A0B5D8: L_08A0B5E4: aot_gpr_31 = (0x08A0B5ECu); aot_gpr_4 = (ctx.gpr[21] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A0B5ECu) goto L_08A0B5EC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A0B5ECu) goto L_08A0B5EC; AOT_REGCACHE_SYNC_OUT(); return; L_08A0B5EC: ctx.gpr[17] = (ctx.gpr[21] | 0u); @@ -6915,7 +6916,7 @@ L_08A0B610: aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08A0B620u); aot_gpr_5 = (0u | 220u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A0B620u) goto L_08A0B620; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A0B620u) goto L_08A0B620; AOT_REGCACHE_SYNC_OUT(); return; L_08A0B620: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), ctx.gpr[2]); @@ -7030,7 +7031,7 @@ L_08A0B6FC: ctx.gpr[18] = (aot_gpr_29 + static_cast(40)); aot_gpr_31 = (0x08A0B708u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A0B708u) goto L_08A0B708; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A0B708u) goto L_08A0B708; AOT_REGCACHE_SYNC_OUT(); return; L_08A0B708: aot_gpr_4 = (ctx.gpr[18] | 0u); @@ -7059,7 +7060,7 @@ L_08A0B734: aot_gpr_4 = (aot_gpr_4 + static_cast(25856)); aot_gpr_31 = (0x08A0B740u); aot_gpr_5 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A0B740u) goto L_08A0B740; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A0B740u) goto L_08A0B740; AOT_REGCACHE_SYNC_OUT(); return; L_08A0B740: aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(304))); @@ -7289,7 +7290,7 @@ L_08A0B944: aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08A0B978u); aot_gpr_6 = (0u | 1024u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A0B978u) goto L_08A0B978; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A0B978u) goto L_08A0B978; AOT_REGCACHE_SYNC_OUT(); return; L_08A0B978: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(1792), 0u); @@ -7312,7 +7313,7 @@ L_08A0B998: aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08A0B9A8u); aot_gpr_6 = (0u | 768u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A0B9A8u) goto L_08A0B9A8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A0B9A8u) goto L_08A0B9A8; AOT_REGCACHE_SYNC_OUT(); return; L_08A0B9A8: ctx.gpr[7] = (0u | 1u); @@ -7739,7 +7740,7 @@ L_08A0BDAC: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1392))); aot_gpr_31 = (0x08A0BDCCu); aot_gpr_4 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A0BDCCu) goto L_08A0BDCC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A0BDCCu) goto L_08A0BDCC; AOT_REGCACHE_SYNC_OUT(); return; L_08A0BDCC: aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1792))); diff --git a/profiles/vcs/generated/generated_unit_0130.cpp b/profiles/vcs/generated/generated_unit_0130.cpp index 6770ae7..4d23239 100644 --- a/profiles/vcs/generated/generated_unit_0130.cpp +++ b/profiles/vcs/generated/generated_unit_0130.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0130[4072] = { }; void recomp_unit_0130_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,16,6,31 fprs=12,13,14,15 gpr_occ=3286 fpr_occ=922 gpr_total=4656 fpr_total=1196 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,6,16,31 fprs=12,13,14,15 gpr_occ=3296 fpr_occ=922 gpr_total=4674 fpr_total=1196 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; - std::uint32_t aot_gpr_16 = ctx.gpr[16]; std::uint32_t aot_gpr_6 = ctx.gpr[6]; + std::uint32_t aot_gpr_16 = ctx.gpr[16]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_14 = ctx.fpr[14]; float aot_fpr_15 = ctx.fpr[15]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[16] = aot_gpr_16; ctx.gpr[6] = aot_gpr_6; ctx.gpr[31] = aot_gpr_31; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[15] = aot_fpr_15; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_31 = ctx.gpr[31]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_15 = ctx.fpr[15]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[6] = aot_gpr_6; ctx.gpr[16] = aot_gpr_16; ctx.gpr[31] = aot_gpr_31; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[15] = aot_fpr_15; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_31 = ctx.gpr[31]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_15 = ctx.fpr[15]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -7393,7 +7394,7 @@ L_08A0EEAC: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(56))); aot_gpr_31 = (0x08A0EEB8u); aot_gpr_4 = (ctx.gpr[30] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A0EEB8u) goto L_08A0EEB8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A0EEB8u) goto L_08A0EEB8; AOT_REGCACHE_SYNC_OUT(); return; L_08A0EEB8: aot_gpr_4 = (ctx.gpr[2] << 1u); @@ -7444,7 +7445,7 @@ L_08A0EEF4: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(56))); aot_gpr_31 = (0x08A0EF00u); aot_gpr_4 = (ctx.gpr[30] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A0EF00u) goto L_08A0EF00; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A0EF00u) goto L_08A0EF00; AOT_REGCACHE_SYNC_OUT(); return; L_08A0EF00: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), ctx.gpr[2]); @@ -7461,7 +7462,7 @@ L_08A0EF18: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08A0EF28u); aot_gpr_5 = (ctx.gpr[23] >> 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A0EF28u) goto L_08A0EF28; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089B7A84, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A0EF28u) goto L_08A0EF28; AOT_REGCACHE_SYNC_OUT(); return; L_08A0EF28: aot_gpr_4 = (ctx.gpr[23] + ctx.gpr[2]); diff --git a/profiles/vcs/generated/generated_unit_0131.cpp b/profiles/vcs/generated/generated_unit_0131.cpp index 7778c3d..739260a 100644 --- a/profiles/vcs/generated/generated_unit_0131.cpp +++ b/profiles/vcs/generated/generated_unit_0131.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,7 +139,7 @@ static const std::uint16_t kEntryIds_recomp_unit_0131[4088] = { }; void recomp_unit_0131_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,16,31,17 fprs=12,13,14,16 gpr_occ=3735 fpr_occ=711 gpr_total=5032 fpr_total=1086 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,16,31,17 fprs=12,13,14,16 gpr_occ=3789 fpr_occ=711 gpr_total=5185 fpr_total=1086 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; @@ -4374,7 +4375,7 @@ L_08A11564: L_08A11578: aot_gpr_31 = (0x08A11580u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-8116)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A11580u) goto L_08A11580; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A11580u) goto L_08A11580; AOT_REGCACHE_SYNC_OUT(); return; L_08A11580: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -5012,7 +5013,7 @@ L_08A11A28: aot_gpr_5 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08A11A3Cu); ctx.gpr[6] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A11A3Cu) goto L_08A11A3C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A11A3Cu) goto L_08A11A3C; AOT_REGCACHE_SYNC_OUT(); return; L_08A11A3C: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(522))); @@ -5275,7 +5276,7 @@ L_08A11C50: aot_gpr_5 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08A11C68u); ctx.gpr[6] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A11C68u) goto L_08A11C68; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A11C68u) goto L_08A11C68; AOT_REGCACHE_SYNC_OUT(); return; L_08A11C68: ctx.gpr[2] = (0u | 0u); @@ -5407,7 +5408,7 @@ L_08A11D70: aot_gpr_5 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08A11DA4u); ctx.gpr[6] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A11DA4u) goto L_08A11DA4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A11DA4u) goto L_08A11DA4; AOT_REGCACHE_SYNC_OUT(); return; L_08A11DA4: ctx.gpr[2] = (0u | 0u); @@ -5790,7 +5791,7 @@ L_08A1212C: aot_gpr_5 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08A12140u); ctx.gpr[6] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A12140u) goto L_08A12140; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A12140u) goto L_08A12140; AOT_REGCACHE_SYNC_OUT(); return; L_08A12140: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(522))); @@ -7133,7 +7134,7 @@ L_08A12BC8: aot_gpr_5 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08A12BF0u); ctx.gpr[6] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A12BF0u) goto L_08A12BF0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A12BF0u) goto L_08A12BF0; AOT_REGCACHE_SYNC_OUT(); return; L_08A12BF0: ctx.gpr[2] = (0u | 0u); @@ -9111,7 +9112,7 @@ L_08A13BE4: aot_gpr_5 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08A13C0Cu); ctx.gpr[6] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A13C0Cu) goto L_08A13C0C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A13C0Cu) goto L_08A13C0C; AOT_REGCACHE_SYNC_OUT(); return; L_08A13C0C: ctx.gpr[2] = (0u | 0u); @@ -9355,7 +9356,7 @@ L_08A13E10: aot_gpr_4 = (ctx.gpr[30] | 0u); aot_gpr_31 = (0x08A13E24u); ctx.gpr[6] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A13E24u) goto L_08A13E24; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A13E24u) goto L_08A13E24; AOT_REGCACHE_SYNC_OUT(); return; L_08A13E24: ctx.gpr[2] = (0u | 0u); @@ -9477,7 +9478,7 @@ L_08A13F44: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08A13F58u); ctx.gpr[6] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A13F58u) goto L_08A13F58; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A13F58u) goto L_08A13F58; AOT_REGCACHE_SYNC_OUT(); return; L_08A13F58: { const bool branch_taken = 0u == 0u; diff --git a/profiles/vcs/generated/generated_unit_0132.cpp b/profiles/vcs/generated/generated_unit_0132.cpp index 5ed0cc3..5920821 100644 --- a/profiles/vcs/generated/generated_unit_0132.cpp +++ b/profiles/vcs/generated/generated_unit_0132.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0132[4082] = { }; void recomp_unit_0132_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,29,5,31,16,6 fprs=12,13,14,15 gpr_occ=3497 fpr_occ=709 gpr_total=4927 fpr_total=1038 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,29,5,31,6,16 fprs=12,13,14,15 gpr_occ=3561 fpr_occ=709 gpr_total=5055 fpr_total=1038 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; - std::uint32_t aot_gpr_16 = ctx.gpr[16]; std::uint32_t aot_gpr_6 = ctx.gpr[6]; + std::uint32_t aot_gpr_16 = ctx.gpr[16]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_14 = ctx.fpr[14]; float aot_fpr_15 = ctx.fpr[15]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[29] = aot_gpr_29; ctx.gpr[5] = aot_gpr_5; ctx.gpr[31] = aot_gpr_31; ctx.gpr[16] = aot_gpr_16; ctx.gpr[6] = aot_gpr_6; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[15] = aot_fpr_15; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_6 = ctx.gpr[6]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_15 = ctx.fpr[15]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[29] = aot_gpr_29; ctx.gpr[5] = aot_gpr_5; ctx.gpr[31] = aot_gpr_31; ctx.gpr[6] = aot_gpr_6; ctx.gpr[16] = aot_gpr_16; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[15] = aot_fpr_15; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_16 = ctx.gpr[16]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_15 = ctx.fpr[15]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -1176,7 +1177,7 @@ L_08A14300: aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08A14318u); aot_gpr_6 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A14318u) goto L_08A14318; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A14318u) goto L_08A14318; AOT_REGCACHE_SYNC_OUT(); return; L_08A14318: ctx.gpr[2] = (0u | 0u); @@ -1488,7 +1489,7 @@ L_08A145D4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08A145E8u); aot_gpr_6 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A145E8u) goto L_08A145E8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A145E8u) goto L_08A145E8; AOT_REGCACHE_SYNC_OUT(); return; L_08A145E8: { const bool branch_taken = 0u == 0u; @@ -1876,7 +1877,7 @@ L_08A14924: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08A14938u); aot_gpr_6 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A14938u) goto L_08A14938; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A14938u) goto L_08A14938; AOT_REGCACHE_SYNC_OUT(); return; L_08A14938: { const bool branch_taken = 0u == 0u; @@ -8831,7 +8832,7 @@ L_08A1790C: L_08A17914: aot_gpr_31 = (0x08A1791Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A1791Cu) goto L_08A1791C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A1791Cu) goto L_08A1791C; AOT_REGCACHE_SYNC_OUT(); return; L_08A1791C: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -9287,7 +9288,7 @@ L_08A17C50: aot_gpr_6 = (aot_gpr_6 & 255u); aot_gpr_31 = (0x08A17C8Cu); ctx.gpr[7] = (ctx.gpr[7] & 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A17C8Cu) goto L_08A17C8C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A17C8Cu) goto L_08A17C8C; AOT_REGCACHE_SYNC_OUT(); return; L_08A17C8C: ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -9428,7 +9429,7 @@ L_08A17D50: aot_gpr_16 = (aot_gpr_29 + static_cast(8)); aot_gpr_31 = (0x08A17D5Cu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A17D5Cu) goto L_08A17D5C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42C4, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A17D5Cu) goto L_08A17D5C; AOT_REGCACHE_SYNC_OUT(); return; L_08A17D5C: aot_gpr_4 = (16409u << 16u); @@ -9478,7 +9479,7 @@ L_08A17DD0: aot_fpr_12 = aot_fpr_14 - aot_fpr_12; aot_gpr_31 = (0x08A17DFCu); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-7840), std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A17DFCu) goto L_08A17DFC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42D0, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 31u, 0x08AF42D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A17DFCu) goto L_08A17DFC; AOT_REGCACHE_SYNC_OUT(); return; L_08A17DFC: { std::uint32_t aot_run_words[3]{}; @@ -9571,12 +9572,12 @@ L_08A17E8C: L_08A17EA4: aot_gpr_31 = (0x08A17EACu); aot_gpr_4 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A17EACu) goto L_08A17EAC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C498, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A17EACu) goto L_08A17EAC; AOT_REGCACHE_SYNC_OUT(); return; L_08A17EAC: aot_gpr_31 = (0x08A17EB4u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A17EB4u) goto L_08A17EB4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C05C, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A17EB4u) goto L_08A17EB4; AOT_REGCACHE_SYNC_OUT(); return; L_08A17EB4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(48))); @@ -9604,7 +9605,7 @@ L_08A17ED4: L_08A17EE0: aot_gpr_31 = (0x08A17EE8u); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A17EE8u) goto L_08A17EE8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C4A8, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A17EE8u) goto L_08A17EE8; AOT_REGCACHE_SYNC_OUT(); return; L_08A17EE8: { const bool branch_taken = 0u == 0u; @@ -9628,12 +9629,12 @@ L_08A17EF8: L_08A17F04: aot_gpr_31 = (0x08A17F0Cu); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A17F0Cu) goto L_08A17F0C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C4A8, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A17F0Cu) goto L_08A17F0C; AOT_REGCACHE_SYNC_OUT(); return; L_08A17F0C: aot_gpr_31 = (0x08A17F14u); aot_gpr_4 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A17F14u) goto L_08A17F14; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C604, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A17F14u) goto L_08A17F14; AOT_REGCACHE_SYNC_OUT(); return; L_08A17F14: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); @@ -9660,7 +9661,7 @@ L_08A17F2C: L_08A17F38: aot_gpr_31 = (0x08A17F40u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A17F40u) goto L_08A17F40; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A17F40u) goto L_08A17F40; AOT_REGCACHE_SYNC_OUT(); return; L_08A17F40: ctx.gpr[17] = (aot_gpr_16 | 0u); @@ -9679,7 +9680,7 @@ L_08A17F54: aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08A17F64u); aot_gpr_6 = (0u | 200u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A17F64u) goto L_08A17F64; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A17F64u) goto L_08A17F64; AOT_REGCACHE_SYNC_OUT(); return; L_08A17F64: { std::uint32_t aot_run_words[3]{}; diff --git a/profiles/vcs/generated/generated_unit_0133.cpp b/profiles/vcs/generated/generated_unit_0133.cpp index 71f601f..05b8490 100644 --- a/profiles/vcs/generated/generated_unit_0133.cpp +++ b/profiles/vcs/generated/generated_unit_0133.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0133[4093] = { }; void recomp_unit_0133_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,29,5,31,16,24 fprs=12,13,14,15 gpr_occ=3732 fpr_occ=838 gpr_total=5076 fpr_total=1286 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,29,5,31,16,6 fprs=12,13,14,15 gpr_occ=3817 fpr_occ=847 gpr_total=5332 fpr_total=1295 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; std::uint32_t aot_gpr_16 = ctx.gpr[16]; - std::uint32_t aot_gpr_24 = ctx.gpr[24]; + std::uint32_t aot_gpr_6 = ctx.gpr[6]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_14 = ctx.fpr[14]; float aot_fpr_15 = ctx.fpr[15]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[29] = aot_gpr_29; ctx.gpr[5] = aot_gpr_5; ctx.gpr[31] = aot_gpr_31; ctx.gpr[16] = aot_gpr_16; ctx.gpr[24] = aot_gpr_24; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[15] = aot_fpr_15; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_24 = ctx.gpr[24]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_15 = ctx.fpr[15]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[29] = aot_gpr_29; ctx.gpr[5] = aot_gpr_5; ctx.gpr[31] = aot_gpr_31; ctx.gpr[16] = aot_gpr_16; ctx.gpr[6] = aot_gpr_6; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[15] = aot_fpr_15; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_6 = ctx.gpr[6]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_15 = ctx.fpr[15]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -855,7 +856,7 @@ L_08A1805C: goto L_08A18068; L_08A18068: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(10)))))); - ctx.gpr[6] = (aot_gpr_29 + static_cast(56)); + aot_gpr_6 = (aot_gpr_29 + static_cast(56)); aot_gpr_31 = (0x08A18078u); aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A18078u) goto L_08A18078; @@ -936,8 +937,8 @@ L_08A1811C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(108))); aot_gpr_4 = (aot_gpr_4 + static_cast(64)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - jump_target = ctx.gpr[6]; + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); + jump_target = aot_gpr_6; aot_gpr_31 = (0x08A1813Cu); aot_gpr_4 = (ctx.gpr[17] + aot_gpr_5); ctx.pc = jump_target; @@ -961,7 +962,7 @@ L_08A18148: goto L_08A18154; L_08A18154: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(10)))))); - ctx.gpr[6] = (aot_gpr_29 + static_cast(57)); + aot_gpr_6 = (aot_gpr_29 + static_cast(57)); aot_gpr_31 = (0x08A18164u); aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A18164u) goto L_08A18164; @@ -1113,31 +1114,31 @@ L_08A182DC: aot_gpr_4 = (0u | 6u); aot_gpr_31 = (0x08A182E8u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A182E8u) goto L_08A182E8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A182E8u) goto L_08A182E8; AOT_REGCACHE_SYNC_OUT(); return; L_08A182E8: aot_gpr_4 = (0u | 4u); aot_gpr_31 = (0x08A182F4u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A182F4u) goto L_08A182F4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A182F4u) goto L_08A182F4; AOT_REGCACHE_SYNC_OUT(); return; L_08A182F4: aot_gpr_4 = (0u | 10u); aot_gpr_31 = (0x08A18300u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A18300u) goto L_08A18300; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A18300u) goto L_08A18300; AOT_REGCACHE_SYNC_OUT(); return; L_08A18300: aot_gpr_4 = (0u | 8u); aot_gpr_31 = (0x08A1830Cu); aot_gpr_5 = (0u | 5u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A1830Cu) goto L_08A1830C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A1830Cu) goto L_08A1830C; AOT_REGCACHE_SYNC_OUT(); return; L_08A1830C: aot_gpr_4 = (0u | 9u); aot_gpr_31 = (0x08A18318u); aot_gpr_5 = (0u | 6u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A18318u) goto L_08A18318; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A18318u) goto L_08A18318; AOT_REGCACHE_SYNC_OUT(); return; L_08A18318: aot_gpr_16 = (aot_gpr_16 + static_cast(7488)); @@ -1225,7 +1226,7 @@ L_08A183A4: aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08A183B8u); - ctx.gpr[6] = (0u | 2u); + aot_gpr_6 = (0u | 2u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0055_entry, 55u, 571u, 0x088E3E88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A183B8u) goto L_08A183B8; AOT_REGCACHE_SYNC_OUT(); return; L_08A183B8: @@ -1267,8 +1268,8 @@ L_08A183FC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(108))); aot_gpr_4 = (aot_gpr_4 + static_cast(64)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - jump_target = ctx.gpr[6]; + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); + jump_target = aot_gpr_6; aot_gpr_31 = (0x08A1841Cu); aot_gpr_4 = (ctx.gpr[19] + aot_gpr_5); ctx.pc = jump_target; @@ -1287,7 +1288,7 @@ L_08A18428: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08A18438u); - ctx.gpr[6] = (0u | 2u); + aot_gpr_6 = (0u | 2u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 587u, 0x089D3388u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A18438u) goto L_08A18438; AOT_REGCACHE_SYNC_OUT(); return; L_08A18438: @@ -1299,7 +1300,7 @@ L_08A18438: goto L_08A18444; L_08A18444: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(10)))))); - ctx.gpr[6] = (aot_gpr_29 + static_cast(132)); + aot_gpr_6 = (aot_gpr_29 + static_cast(132)); aot_gpr_31 = (0x08A18454u); aot_gpr_4 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A18454u) goto L_08A18454; @@ -1349,11 +1350,11 @@ L_08A18498: L_08A184B4: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(48))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(92))); - ctx.gpr[6] = (aot_gpr_4 + static_cast(80)); + aot_gpr_6 = (aot_gpr_4 + static_cast(80)); aot_gpr_4 = (aot_gpr_29 + static_cast(96)); - ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[6] + static_cast(0)))))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(4))); - jump_target = ctx.gpr[6]; + ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(0)))))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(4))); + jump_target = aot_gpr_6; aot_gpr_31 = (0x08A184D4u); aot_gpr_5 = (aot_gpr_5 + ctx.gpr[7]); ctx.pc = jump_target; @@ -1365,8 +1366,8 @@ L_08A184D4: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(100))); aot_gpr_5 = (std::bit_cast(aot_fpr_13)); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(104))); - ctx.gpr[6] = (std::bit_cast(aot_fpr_14)); - { const std::uint32_t aot_run_words[3]{aot_gpr_4, aot_gpr_5, ctx.gpr[6]}; + aot_gpr_6 = (std::bit_cast(aot_fpr_14)); + { const std::uint32_t aot_run_words[3]{aot_gpr_4, aot_gpr_5, aot_gpr_6}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(80), aot_run_words); } aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(108))); aot_gpr_4 = (std::bit_cast(aot_fpr_15)); @@ -1445,7 +1446,7 @@ L_08A1858C: goto L_08A185B8; L_08A185B8: aot_gpr_5 = (aot_gpr_29 + static_cast(16)); - ctx.gpr[6] = (aot_gpr_29 + static_cast(32)); + aot_gpr_6 = (aot_gpr_29 + static_cast(32)); ctx.gpr[7] = (aot_gpr_29 + static_cast(36)); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08A185D0u); @@ -1483,7 +1484,7 @@ L_08A185FC: aot_gpr_4 = (0u | 1u); aot_gpr_31 = (0x08A1860Cu); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A1860Cu) goto L_08A1860C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A1860Cu) goto L_08A1860C; AOT_REGCACHE_SYNC_OUT(); return; L_08A1860C: aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); @@ -1494,7 +1495,7 @@ L_08A1860C: aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(45))); ctx.gpr[10] = (17280u << 16u); ctx.gpr[11] = (17184u << 16u); - ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(46))); + aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(46))); ctx.gpr[7] = (0u | 255u); ctx.gpr[8] = (0u | 255u); aot_fpr_15 = std::bit_cast(ctx.gpr[9]); @@ -1517,7 +1518,7 @@ L_08A18654: aot_gpr_4 = (0u | 1u); aot_gpr_31 = (0x08A18664u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A18664u) goto L_08A18664; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A18664u) goto L_08A18664; AOT_REGCACHE_SYNC_OUT(); return; L_08A18664: aot_gpr_5 = (16076u << 16u); @@ -1586,7 +1587,7 @@ L_08A186D4: ctx.fpr[19] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(44))); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(45))); - ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(46))); + aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(46))); ctx.fpr[18] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(36))); ctx.gpr[9] = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(47))); ctx.gpr[7] = (0u | 158u); @@ -1616,7 +1617,7 @@ L_08A1874C: ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(44))); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(45))); - ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(46))); + aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(46))); ctx.fpr[18] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(36))); ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(47))); ctx.gpr[7] = (0u | 158u); @@ -1641,7 +1642,7 @@ L_08A1879C: ctx.fpr[17] = ctx.fpr[22] / ctx.fpr[16]; aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(44))); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(45))); - ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(46))); + aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(46))); ctx.fpr[18] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(36))); ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(47))); ctx.gpr[7] = (0u | 158u); @@ -1705,7 +1706,7 @@ L_08A1884C: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(44))); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(45))); ctx.gpr[9] = (16204u << 16u); - ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(46))); + aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(46))); ctx.gpr[7] = (48972u << 16u); ctx.gpr[9] = (ctx.gpr[9] | 52429u); ctx.gpr[7] = (ctx.gpr[7] | 52429u); @@ -1738,7 +1739,7 @@ L_08A188CC: ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(44))); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(45))); - ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(46))); + aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(46))); ctx.fpr[18] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(36))); ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(47))); ctx.gpr[7] = (0u | 158u); @@ -1767,7 +1768,7 @@ L_08A1891C: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(44))); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(45))); - ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(46))); + aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(46))); ctx.fpr[18] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(36))); ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(47))); aot_fpr_13 = aot_fpr_15 + aot_fpr_13; @@ -1823,19 +1824,19 @@ L_08A189C0: aot_gpr_4 = (0u | 10u); aot_gpr_31 = (0x08A189CCu); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A189CCu) goto L_08A189CC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A189CCu) goto L_08A189CC; AOT_REGCACHE_SYNC_OUT(); return; L_08A189CC: aot_gpr_4 = (0u | 6u); aot_gpr_31 = (0x08A189D8u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A189D8u) goto L_08A189D8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A189D8u) goto L_08A189D8; AOT_REGCACHE_SYNC_OUT(); return; L_08A189D8: aot_gpr_4 = (0u | 4u); aot_gpr_31 = (0x08A189E4u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A189E4u) goto L_08A189E4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A189E4u) goto L_08A189E4; AOT_REGCACHE_SYNC_OUT(); return; L_08A189E4: { std::uint32_t aot_run_words[11]{}; @@ -1863,22 +1864,22 @@ L_08A18A18: ctx.gpr[13] = (15820u << 16u); ctx.gpr[13] = (ctx.gpr[13] | 52429u); aot_fpr_14 = std::bit_cast(ctx.gpr[13]); - aot_gpr_24 = (16256u << 16u); + ctx.gpr[24] = (16256u << 16u); ctx.gpr[13] = (15907u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(656), aot_gpr_16); - aot_fpr_13 = std::bit_cast(aot_gpr_24); + aot_fpr_13 = std::bit_cast(ctx.gpr[24]); ctx.gpr[13] = (ctx.gpr[13] | 55050u); aot_gpr_16 = (2238u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(660), ctx.gpr[17]); ctx.fpr[16] = std::bit_cast(ctx.gpr[13]); aot_gpr_16 = (aot_gpr_16 + static_cast(-272)); - aot_gpr_24 = (16384u << 16u); + ctx.gpr[24] = (16384u << 16u); ctx.gpr[17] = (2238u << 16u); aot_fpr_12 = std::bit_cast(0u); - aot_fpr_15 = std::bit_cast(aot_gpr_24); + aot_fpr_15 = std::bit_cast(ctx.gpr[24]); aot_gpr_4 = (ctx.gpr[28] + static_cast(9776)); aot_gpr_5 = (aot_gpr_29 + static_cast(160)); - ctx.gpr[6] = (ctx.gpr[28] + static_cast(9760)); + aot_gpr_6 = (ctx.gpr[28] + static_cast(9760)); ctx.gpr[7] = (aot_gpr_29 + static_cast(176)); ctx.gpr[8] = (aot_gpr_29 + static_cast(192)); ctx.gpr[9] = (aot_gpr_29 + static_cast(64)); @@ -1897,13 +1898,13 @@ L_08A18A18: aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8452), 0u); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8456), 0u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(128), static_cast(0u)); - aot_gpr_24 = (0u | 1u); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(129), static_cast(aot_gpr_24)); + ctx.gpr[24] = (0u | 1u); + aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(129), static_cast(ctx.gpr[24])); ctx.gpr[25] = (0u | 2u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(130), static_cast(ctx.gpr[25])); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(131), static_cast(aot_gpr_24)); - aot_gpr_24 = (0u | 3u); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(132), static_cast(aot_gpr_24)); + aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(131), static_cast(ctx.gpr[24])); + ctx.gpr[24] = (0u | 3u); + aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(132), static_cast(ctx.gpr[24])); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(133), static_cast(ctx.gpr[25])); { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_13)}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } @@ -1926,9 +1927,9 @@ L_08A18A18: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<2u, 4u>(vfpu_value); } ctx.execute_vfpu_cross_quat_ct<0u, 1u, 2u, 3u>(); - aot_gpr_24 = (aot_gpr_29 + static_cast(144)); + ctx.gpr[24] = (aot_gpr_29 + static_cast(144)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_24 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[24] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); @@ -1940,7 +1941,7 @@ L_08A18A18: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = aot_gpr_24 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[24] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -1959,7 +1960,7 @@ L_08A18A18: aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-7835), static_cast(ctx.gpr[25])); ctx.gpr[25] = (std::bit_cast(aot_fpr_14)); ctx.set_vfpu_scalar_bits_ct<28u>(ctx.gpr[25]); - { const std::uint32_t vfpu_address = aot_gpr_24 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[24] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -1973,7 +1974,7 @@ L_08A18A18: const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - { const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -1998,7 +1999,7 @@ L_08A18A18: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } ctx.gpr[25] = (std::bit_cast(aot_fpr_14)); ctx.set_vfpu_scalar_bits_ct<28u>(ctx.gpr[25]); - { const std::uint32_t vfpu_address = aot_gpr_24 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[24] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -2013,7 +2014,7 @@ L_08A18A18: const std::uint32_t vfpu_address = ctx.gpr[25] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - { const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -2053,7 +2054,7 @@ L_08A18A18: const std::uint32_t vfpu_address = ctx.gpr[25] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - { const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -2079,7 +2080,7 @@ L_08A18A18: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_31 = (std::bit_cast(ctx.fpr[16])); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_31); - { const std::uint32_t vfpu_address = aot_gpr_24 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[24] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -2132,7 +2133,7 @@ L_08A18A18: const std::uint32_t vfpu_address = ctx.gpr[11] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - { const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -2157,7 +2158,7 @@ L_08A18A18: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } ctx.gpr[25] = (std::bit_cast(ctx.fpr[16])); ctx.set_vfpu_scalar_bits_ct<28u>(ctx.gpr[25]); - { const std::uint32_t vfpu_address = aot_gpr_24 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[24] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -2194,11 +2195,11 @@ L_08A18A18: const std::uint32_t vfpu_address = ctx.gpr[12] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_24 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); - aot_gpr_24 = (aot_gpr_24 << 3u); - ctx.gpr[25] = (aot_gpr_24 + aot_gpr_24); - aot_gpr_24 = (aot_gpr_24 + ctx.gpr[25]); - aot_gpr_24 = (aot_gpr_24 + aot_gpr_16); + ctx.gpr[24] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); + ctx.gpr[24] = (ctx.gpr[24] << 3u); + ctx.gpr[25] = (ctx.gpr[24] + ctx.gpr[24]); + ctx.gpr[24] = (ctx.gpr[24] + ctx.gpr[25]); + ctx.gpr[24] = (ctx.gpr[24] + aot_gpr_16); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(176), aot_run_words); ctx.fpr[17] = std::bit_cast(aot_run_words[0]); @@ -2206,12 +2207,12 @@ L_08A18A18: ctx.fpr[19] = std::bit_cast(aot_run_words[2]); } { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[17]), std::bit_cast(ctx.fpr[18]), std::bit_cast(ctx.fpr[19])}; - aot_mem.aot_direct_store32_block(aot_gpr_24 + static_cast(12), aot_run_words); } - aot_gpr_24 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); - aot_gpr_24 = (aot_gpr_24 << 3u); - ctx.gpr[25] = (aot_gpr_24 + aot_gpr_24); - aot_gpr_24 = (aot_gpr_24 + ctx.gpr[25]); - aot_gpr_24 = (aot_gpr_24 + ctx.gpr[13]); + aot_mem.aot_direct_store32_block(ctx.gpr[24] + static_cast(12), aot_run_words); } + ctx.gpr[24] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); + ctx.gpr[24] = (ctx.gpr[24] << 3u); + ctx.gpr[25] = (ctx.gpr[24] + ctx.gpr[24]); + ctx.gpr[24] = (ctx.gpr[24] + ctx.gpr[25]); + ctx.gpr[24] = (ctx.gpr[24] + ctx.gpr[13]); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(192), aot_run_words); ctx.fpr[17] = std::bit_cast(aot_run_words[0]); @@ -2219,12 +2220,12 @@ L_08A18A18: ctx.fpr[19] = std::bit_cast(aot_run_words[2]); } { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[17]), std::bit_cast(ctx.fpr[18]), std::bit_cast(ctx.fpr[19])}; - aot_mem.aot_direct_store32_block(aot_gpr_24 + static_cast(12), aot_run_words); } - aot_gpr_24 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); - aot_gpr_24 = (aot_gpr_24 << 3u); - ctx.gpr[25] = (aot_gpr_24 + aot_gpr_24); - aot_gpr_24 = (aot_gpr_24 + ctx.gpr[25]); - aot_gpr_24 = (aot_gpr_24 + ctx.gpr[14]); + aot_mem.aot_direct_store32_block(ctx.gpr[24] + static_cast(12), aot_run_words); } + ctx.gpr[24] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); + ctx.gpr[24] = (ctx.gpr[24] << 3u); + ctx.gpr[25] = (ctx.gpr[24] + ctx.gpr[24]); + ctx.gpr[24] = (ctx.gpr[24] + ctx.gpr[25]); + ctx.gpr[24] = (ctx.gpr[24] + ctx.gpr[14]); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(208), aot_run_words); ctx.fpr[17] = std::bit_cast(aot_run_words[0]); @@ -2232,12 +2233,12 @@ L_08A18A18: ctx.fpr[19] = std::bit_cast(aot_run_words[2]); } { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[17]), std::bit_cast(ctx.fpr[18]), std::bit_cast(ctx.fpr[19])}; - aot_mem.aot_direct_store32_block(aot_gpr_24 + static_cast(12), aot_run_words); } - aot_gpr_24 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); - aot_gpr_24 = (aot_gpr_24 << 3u); - ctx.gpr[25] = (aot_gpr_24 + aot_gpr_24); - aot_gpr_24 = (aot_gpr_24 + ctx.gpr[25]); - aot_gpr_24 = (aot_gpr_24 + ctx.gpr[15]); + aot_mem.aot_direct_store32_block(ctx.gpr[24] + static_cast(12), aot_run_words); } + ctx.gpr[24] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); + ctx.gpr[24] = (ctx.gpr[24] << 3u); + ctx.gpr[25] = (ctx.gpr[24] + ctx.gpr[24]); + ctx.gpr[24] = (ctx.gpr[24] + ctx.gpr[25]); + ctx.gpr[24] = (ctx.gpr[24] + ctx.gpr[15]); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(224), aot_run_words); ctx.fpr[17] = std::bit_cast(aot_run_words[0]); @@ -2245,187 +2246,187 @@ L_08A18A18: ctx.fpr[19] = std::bit_cast(aot_run_words[2]); } { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[17]), std::bit_cast(ctx.fpr[18]), std::bit_cast(ctx.fpr[19])}; - aot_mem.aot_direct_store32_block(aot_gpr_24 + static_cast(12), aot_run_words); } - aot_gpr_24 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); - aot_gpr_24 = (aot_gpr_24 << 3u); - ctx.gpr[25] = (aot_gpr_24 + aot_gpr_24); - aot_gpr_24 = (aot_gpr_24 + ctx.gpr[25]); - aot_gpr_24 = (aot_gpr_24 + aot_gpr_16); + aot_mem.aot_direct_store32_block(ctx.gpr[24] + static_cast(12), aot_run_words); } + ctx.gpr[24] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); + ctx.gpr[24] = (ctx.gpr[24] << 3u); + ctx.gpr[25] = (ctx.gpr[24] + ctx.gpr[24]); + ctx.gpr[24] = (ctx.gpr[24] + ctx.gpr[25]); + ctx.gpr[24] = (ctx.gpr[24] + aot_gpr_16); ctx.gpr[25] = (0u | 255u); - aot_mem.aot_direct_store8(aot_gpr_24 + static_cast(8), static_cast(ctx.gpr[25])); - aot_mem.aot_direct_store8(aot_gpr_24 + static_cast(9), static_cast(ctx.gpr[25])); - aot_mem.aot_direct_store8(aot_gpr_24 + static_cast(10), static_cast(ctx.gpr[25])); + aot_mem.aot_direct_store8(ctx.gpr[24] + static_cast(8), static_cast(ctx.gpr[25])); + aot_mem.aot_direct_store8(ctx.gpr[24] + static_cast(9), static_cast(ctx.gpr[25])); + aot_mem.aot_direct_store8(ctx.gpr[24] + static_cast(10), static_cast(ctx.gpr[25])); aot_gpr_31 = (0u | 120u); - aot_mem.aot_direct_store8(aot_gpr_24 + static_cast(11), static_cast(aot_gpr_31)); - aot_gpr_24 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); - aot_gpr_24 = (aot_gpr_24 << 3u); - ctx.gpr[18] = (aot_gpr_24 + aot_gpr_24); - aot_gpr_24 = (aot_gpr_24 + ctx.gpr[18]); - aot_gpr_24 = (aot_gpr_24 + ctx.gpr[13]); - aot_mem.aot_direct_store8(aot_gpr_24 + static_cast(8), static_cast(ctx.gpr[25])); - aot_mem.aot_direct_store8(aot_gpr_24 + static_cast(9), static_cast(ctx.gpr[25])); - aot_mem.aot_direct_store8(aot_gpr_24 + static_cast(10), static_cast(ctx.gpr[25])); - aot_mem.aot_direct_store8(aot_gpr_24 + static_cast(11), static_cast(aot_gpr_31)); - aot_gpr_24 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); - aot_gpr_24 = (aot_gpr_24 << 3u); - ctx.gpr[18] = (aot_gpr_24 + aot_gpr_24); - aot_gpr_24 = (aot_gpr_24 + ctx.gpr[18]); - aot_gpr_24 = (aot_gpr_24 + ctx.gpr[14]); - aot_mem.aot_direct_store8(aot_gpr_24 + static_cast(8), static_cast(ctx.gpr[25])); - aot_mem.aot_direct_store8(aot_gpr_24 + static_cast(9), static_cast(ctx.gpr[25])); - aot_mem.aot_direct_store8(aot_gpr_24 + static_cast(10), static_cast(ctx.gpr[25])); - aot_mem.aot_direct_store8(aot_gpr_24 + static_cast(11), static_cast(aot_gpr_31)); - aot_gpr_24 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); - aot_gpr_24 = (aot_gpr_24 << 3u); - ctx.gpr[18] = (aot_gpr_24 + aot_gpr_24); - aot_gpr_24 = (aot_gpr_24 + ctx.gpr[18]); - aot_gpr_24 = (aot_gpr_24 + ctx.gpr[15]); - aot_mem.aot_direct_store8(aot_gpr_24 + static_cast(8), static_cast(ctx.gpr[25])); - aot_mem.aot_direct_store8(aot_gpr_24 + static_cast(9), static_cast(ctx.gpr[25])); - aot_mem.aot_direct_store8(aot_gpr_24 + static_cast(10), static_cast(ctx.gpr[25])); - aot_mem.aot_direct_store8(aot_gpr_24 + static_cast(11), static_cast(aot_gpr_31)); - aot_gpr_24 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7835))); - if (aot_gpr_24 == 0u) { - aot_gpr_24 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); + aot_mem.aot_direct_store8(ctx.gpr[24] + static_cast(11), static_cast(aot_gpr_31)); + ctx.gpr[24] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); + ctx.gpr[24] = (ctx.gpr[24] << 3u); + ctx.gpr[18] = (ctx.gpr[24] + ctx.gpr[24]); + ctx.gpr[24] = (ctx.gpr[24] + ctx.gpr[18]); + ctx.gpr[24] = (ctx.gpr[24] + ctx.gpr[13]); + aot_mem.aot_direct_store8(ctx.gpr[24] + static_cast(8), static_cast(ctx.gpr[25])); + aot_mem.aot_direct_store8(ctx.gpr[24] + static_cast(9), static_cast(ctx.gpr[25])); + aot_mem.aot_direct_store8(ctx.gpr[24] + static_cast(10), static_cast(ctx.gpr[25])); + aot_mem.aot_direct_store8(ctx.gpr[24] + static_cast(11), static_cast(aot_gpr_31)); + ctx.gpr[24] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); + ctx.gpr[24] = (ctx.gpr[24] << 3u); + ctx.gpr[18] = (ctx.gpr[24] + ctx.gpr[24]); + ctx.gpr[24] = (ctx.gpr[24] + ctx.gpr[18]); + ctx.gpr[24] = (ctx.gpr[24] + ctx.gpr[14]); + aot_mem.aot_direct_store8(ctx.gpr[24] + static_cast(8), static_cast(ctx.gpr[25])); + aot_mem.aot_direct_store8(ctx.gpr[24] + static_cast(9), static_cast(ctx.gpr[25])); + aot_mem.aot_direct_store8(ctx.gpr[24] + static_cast(10), static_cast(ctx.gpr[25])); + aot_mem.aot_direct_store8(ctx.gpr[24] + static_cast(11), static_cast(aot_gpr_31)); + ctx.gpr[24] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); + ctx.gpr[24] = (ctx.gpr[24] << 3u); + ctx.gpr[18] = (ctx.gpr[24] + ctx.gpr[24]); + ctx.gpr[24] = (ctx.gpr[24] + ctx.gpr[18]); + ctx.gpr[24] = (ctx.gpr[24] + ctx.gpr[15]); + aot_mem.aot_direct_store8(ctx.gpr[24] + static_cast(8), static_cast(ctx.gpr[25])); + aot_mem.aot_direct_store8(ctx.gpr[24] + static_cast(9), static_cast(ctx.gpr[25])); + aot_mem.aot_direct_store8(ctx.gpr[24] + static_cast(10), static_cast(ctx.gpr[25])); + aot_mem.aot_direct_store8(ctx.gpr[24] + static_cast(11), static_cast(aot_gpr_31)); + ctx.gpr[24] = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7835))); + if (ctx.gpr[24] == 0u) { + ctx.gpr[24] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); goto L_08A18E08; } goto L_08A18D44; L_08A18D44: - aot_gpr_24 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); - aot_gpr_24 = (aot_gpr_24 << 3u); - ctx.gpr[25] = (aot_gpr_24 + aot_gpr_24); - aot_gpr_24 = (aot_gpr_24 + ctx.gpr[25]); - aot_gpr_24 = (aot_gpr_24 + aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_24 + static_cast(0), std::bit_cast(aot_fpr_12)); - aot_gpr_24 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); - aot_gpr_24 = (aot_gpr_24 << 3u); - ctx.gpr[25] = (aot_gpr_24 + aot_gpr_24); - aot_gpr_24 = (aot_gpr_24 + ctx.gpr[25]); - aot_gpr_24 = (aot_gpr_24 + aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_24 + static_cast(4), std::bit_cast(aot_fpr_12)); - aot_gpr_24 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); - aot_gpr_24 = (aot_gpr_24 << 3u); - ctx.gpr[25] = (aot_gpr_24 + aot_gpr_24); - aot_gpr_24 = (aot_gpr_24 + ctx.gpr[25]); - aot_gpr_24 = (aot_gpr_24 + ctx.gpr[13]); - aot_mem.aot_direct_store32(aot_gpr_24 + static_cast(0), std::bit_cast(aot_fpr_13)); - aot_gpr_24 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); - aot_gpr_24 = (aot_gpr_24 << 3u); - ctx.gpr[25] = (aot_gpr_24 + aot_gpr_24); - aot_gpr_24 = (aot_gpr_24 + ctx.gpr[25]); - aot_gpr_24 = (aot_gpr_24 + ctx.gpr[13]); - aot_mem.aot_direct_store32(aot_gpr_24 + static_cast(4), std::bit_cast(aot_fpr_12)); - aot_gpr_24 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); - aot_gpr_24 = (aot_gpr_24 << 3u); - ctx.gpr[25] = (aot_gpr_24 + aot_gpr_24); - aot_gpr_24 = (aot_gpr_24 + ctx.gpr[25]); - aot_gpr_24 = (aot_gpr_24 + ctx.gpr[14]); - aot_mem.aot_direct_store32(aot_gpr_24 + static_cast(0), std::bit_cast(aot_fpr_12)); - aot_gpr_24 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); - aot_gpr_24 = (aot_gpr_24 << 3u); - ctx.gpr[25] = (aot_gpr_24 + aot_gpr_24); - aot_gpr_24 = (aot_gpr_24 + ctx.gpr[25]); - aot_gpr_24 = (aot_gpr_24 + ctx.gpr[14]); - aot_mem.aot_direct_store32(aot_gpr_24 + static_cast(4), std::bit_cast(aot_fpr_13)); - aot_gpr_24 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); - aot_gpr_24 = (aot_gpr_24 << 3u); - ctx.gpr[25] = (aot_gpr_24 + aot_gpr_24); - aot_gpr_24 = (aot_gpr_24 + ctx.gpr[25]); - aot_gpr_24 = (aot_gpr_24 + ctx.gpr[15]); - aot_mem.aot_direct_store32(aot_gpr_24 + static_cast(0), std::bit_cast(aot_fpr_13)); - aot_gpr_24 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); - aot_gpr_24 = (aot_gpr_24 << 3u); - ctx.gpr[25] = (aot_gpr_24 + aot_gpr_24); - aot_gpr_24 = (aot_gpr_24 + ctx.gpr[25]); - aot_gpr_24 = (aot_gpr_24 + ctx.gpr[15]); + ctx.gpr[24] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); + ctx.gpr[24] = (ctx.gpr[24] << 3u); + ctx.gpr[25] = (ctx.gpr[24] + ctx.gpr[24]); + ctx.gpr[24] = (ctx.gpr[24] + ctx.gpr[25]); + ctx.gpr[24] = (ctx.gpr[24] + aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[24] + static_cast(0), std::bit_cast(aot_fpr_12)); + ctx.gpr[24] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); + ctx.gpr[24] = (ctx.gpr[24] << 3u); + ctx.gpr[25] = (ctx.gpr[24] + ctx.gpr[24]); + ctx.gpr[24] = (ctx.gpr[24] + ctx.gpr[25]); + ctx.gpr[24] = (ctx.gpr[24] + aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[24] + static_cast(4), std::bit_cast(aot_fpr_12)); + ctx.gpr[24] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); + ctx.gpr[24] = (ctx.gpr[24] << 3u); + ctx.gpr[25] = (ctx.gpr[24] + ctx.gpr[24]); + ctx.gpr[24] = (ctx.gpr[24] + ctx.gpr[25]); + ctx.gpr[24] = (ctx.gpr[24] + ctx.gpr[13]); + aot_mem.aot_direct_store32(ctx.gpr[24] + static_cast(0), std::bit_cast(aot_fpr_13)); + ctx.gpr[24] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); + ctx.gpr[24] = (ctx.gpr[24] << 3u); + ctx.gpr[25] = (ctx.gpr[24] + ctx.gpr[24]); + ctx.gpr[24] = (ctx.gpr[24] + ctx.gpr[25]); + ctx.gpr[24] = (ctx.gpr[24] + ctx.gpr[13]); + aot_mem.aot_direct_store32(ctx.gpr[24] + static_cast(4), std::bit_cast(aot_fpr_12)); + ctx.gpr[24] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); + ctx.gpr[24] = (ctx.gpr[24] << 3u); + ctx.gpr[25] = (ctx.gpr[24] + ctx.gpr[24]); + ctx.gpr[24] = (ctx.gpr[24] + ctx.gpr[25]); + ctx.gpr[24] = (ctx.gpr[24] + ctx.gpr[14]); + aot_mem.aot_direct_store32(ctx.gpr[24] + static_cast(0), std::bit_cast(aot_fpr_12)); + ctx.gpr[24] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); + ctx.gpr[24] = (ctx.gpr[24] << 3u); + ctx.gpr[25] = (ctx.gpr[24] + ctx.gpr[24]); + ctx.gpr[24] = (ctx.gpr[24] + ctx.gpr[25]); + ctx.gpr[24] = (ctx.gpr[24] + ctx.gpr[14]); + aot_mem.aot_direct_store32(ctx.gpr[24] + static_cast(4), std::bit_cast(aot_fpr_13)); + ctx.gpr[24] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); + ctx.gpr[24] = (ctx.gpr[24] << 3u); + ctx.gpr[25] = (ctx.gpr[24] + ctx.gpr[24]); + ctx.gpr[24] = (ctx.gpr[24] + ctx.gpr[25]); + ctx.gpr[24] = (ctx.gpr[24] + ctx.gpr[15]); + aot_mem.aot_direct_store32(ctx.gpr[24] + static_cast(0), std::bit_cast(aot_fpr_13)); + ctx.gpr[24] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); + ctx.gpr[24] = (ctx.gpr[24] << 3u); + ctx.gpr[25] = (ctx.gpr[24] + ctx.gpr[24]); + ctx.gpr[24] = (ctx.gpr[24] + ctx.gpr[25]); + ctx.gpr[24] = (ctx.gpr[24] + ctx.gpr[15]); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_24 + static_cast(4), std::bit_cast(aot_fpr_13)); + aot_mem.aot_direct_store32(ctx.gpr[24] + static_cast(4), std::bit_cast(aot_fpr_13)); if (branch_taken) { goto L_08A18EC4; } goto L_08A18E08; } L_08A18E08: - aot_gpr_24 = (aot_gpr_24 << 3u); - ctx.gpr[25] = (aot_gpr_24 + aot_gpr_24); - aot_gpr_24 = (aot_gpr_24 + ctx.gpr[25]); - aot_gpr_24 = (aot_gpr_24 + aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_24 + static_cast(0), std::bit_cast(aot_fpr_13)); - aot_gpr_24 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); - aot_gpr_24 = (aot_gpr_24 << 3u); - ctx.gpr[25] = (aot_gpr_24 + aot_gpr_24); - aot_gpr_24 = (aot_gpr_24 + ctx.gpr[25]); - aot_gpr_24 = (aot_gpr_24 + aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_24 + static_cast(4), std::bit_cast(aot_fpr_12)); - aot_gpr_24 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); - aot_gpr_24 = (aot_gpr_24 << 3u); - ctx.gpr[25] = (aot_gpr_24 + aot_gpr_24); - aot_gpr_24 = (aot_gpr_24 + ctx.gpr[25]); - aot_gpr_24 = (aot_gpr_24 + ctx.gpr[13]); - aot_mem.aot_direct_store32(aot_gpr_24 + static_cast(0), std::bit_cast(aot_fpr_12)); - aot_gpr_24 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); - aot_gpr_24 = (aot_gpr_24 << 3u); - ctx.gpr[25] = (aot_gpr_24 + aot_gpr_24); - aot_gpr_24 = (aot_gpr_24 + ctx.gpr[25]); - aot_gpr_24 = (aot_gpr_24 + ctx.gpr[13]); - aot_mem.aot_direct_store32(aot_gpr_24 + static_cast(4), std::bit_cast(aot_fpr_12)); - aot_gpr_24 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); - aot_gpr_24 = (aot_gpr_24 << 3u); - ctx.gpr[25] = (aot_gpr_24 + aot_gpr_24); - aot_gpr_24 = (aot_gpr_24 + ctx.gpr[25]); - aot_gpr_24 = (aot_gpr_24 + ctx.gpr[14]); - aot_mem.aot_direct_store32(aot_gpr_24 + static_cast(0), std::bit_cast(aot_fpr_13)); - aot_gpr_24 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); - aot_gpr_24 = (aot_gpr_24 << 3u); - ctx.gpr[25] = (aot_gpr_24 + aot_gpr_24); - aot_gpr_24 = (aot_gpr_24 + ctx.gpr[25]); - aot_gpr_24 = (aot_gpr_24 + ctx.gpr[14]); - aot_mem.aot_direct_store32(aot_gpr_24 + static_cast(4), std::bit_cast(aot_fpr_13)); - aot_gpr_24 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); - aot_gpr_24 = (aot_gpr_24 << 3u); - ctx.gpr[25] = (aot_gpr_24 + aot_gpr_24); - aot_gpr_24 = (aot_gpr_24 + ctx.gpr[25]); - aot_gpr_24 = (aot_gpr_24 + ctx.gpr[15]); - aot_mem.aot_direct_store32(aot_gpr_24 + static_cast(0), std::bit_cast(aot_fpr_12)); - aot_gpr_24 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); - aot_gpr_24 = (aot_gpr_24 << 3u); - ctx.gpr[25] = (aot_gpr_24 + aot_gpr_24); - aot_gpr_24 = (aot_gpr_24 + ctx.gpr[25]); - aot_gpr_24 = (aot_gpr_24 + ctx.gpr[15]); - aot_mem.aot_direct_store32(aot_gpr_24 + static_cast(4), std::bit_cast(aot_fpr_13)); + ctx.gpr[24] = (ctx.gpr[24] << 3u); + ctx.gpr[25] = (ctx.gpr[24] + ctx.gpr[24]); + ctx.gpr[24] = (ctx.gpr[24] + ctx.gpr[25]); + ctx.gpr[24] = (ctx.gpr[24] + aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[24] + static_cast(0), std::bit_cast(aot_fpr_13)); + ctx.gpr[24] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); + ctx.gpr[24] = (ctx.gpr[24] << 3u); + ctx.gpr[25] = (ctx.gpr[24] + ctx.gpr[24]); + ctx.gpr[24] = (ctx.gpr[24] + ctx.gpr[25]); + ctx.gpr[24] = (ctx.gpr[24] + aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[24] + static_cast(4), std::bit_cast(aot_fpr_12)); + ctx.gpr[24] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); + ctx.gpr[24] = (ctx.gpr[24] << 3u); + ctx.gpr[25] = (ctx.gpr[24] + ctx.gpr[24]); + ctx.gpr[24] = (ctx.gpr[24] + ctx.gpr[25]); + ctx.gpr[24] = (ctx.gpr[24] + ctx.gpr[13]); + aot_mem.aot_direct_store32(ctx.gpr[24] + static_cast(0), std::bit_cast(aot_fpr_12)); + ctx.gpr[24] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); + ctx.gpr[24] = (ctx.gpr[24] << 3u); + ctx.gpr[25] = (ctx.gpr[24] + ctx.gpr[24]); + ctx.gpr[24] = (ctx.gpr[24] + ctx.gpr[25]); + ctx.gpr[24] = (ctx.gpr[24] + ctx.gpr[13]); + aot_mem.aot_direct_store32(ctx.gpr[24] + static_cast(4), std::bit_cast(aot_fpr_12)); + ctx.gpr[24] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); + ctx.gpr[24] = (ctx.gpr[24] << 3u); + ctx.gpr[25] = (ctx.gpr[24] + ctx.gpr[24]); + ctx.gpr[24] = (ctx.gpr[24] + ctx.gpr[25]); + ctx.gpr[24] = (ctx.gpr[24] + ctx.gpr[14]); + aot_mem.aot_direct_store32(ctx.gpr[24] + static_cast(0), std::bit_cast(aot_fpr_13)); + ctx.gpr[24] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); + ctx.gpr[24] = (ctx.gpr[24] << 3u); + ctx.gpr[25] = (ctx.gpr[24] + ctx.gpr[24]); + ctx.gpr[24] = (ctx.gpr[24] + ctx.gpr[25]); + ctx.gpr[24] = (ctx.gpr[24] + ctx.gpr[14]); + aot_mem.aot_direct_store32(ctx.gpr[24] + static_cast(4), std::bit_cast(aot_fpr_13)); + ctx.gpr[24] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); + ctx.gpr[24] = (ctx.gpr[24] << 3u); + ctx.gpr[25] = (ctx.gpr[24] + ctx.gpr[24]); + ctx.gpr[24] = (ctx.gpr[24] + ctx.gpr[25]); + ctx.gpr[24] = (ctx.gpr[24] + ctx.gpr[15]); + aot_mem.aot_direct_store32(ctx.gpr[24] + static_cast(0), std::bit_cast(aot_fpr_12)); + ctx.gpr[24] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); + ctx.gpr[24] = (ctx.gpr[24] << 3u); + ctx.gpr[25] = (ctx.gpr[24] + ctx.gpr[24]); + ctx.gpr[24] = (ctx.gpr[24] + ctx.gpr[25]); + ctx.gpr[24] = (ctx.gpr[24] + ctx.gpr[15]); + aot_mem.aot_direct_store32(ctx.gpr[24] + static_cast(4), std::bit_cast(aot_fpr_13)); goto L_08A18EC4; L_08A18EC4: - aot_gpr_24 = (0u | 0u); - ctx.gpr[25] = (aot_gpr_29 + aot_gpr_24); + ctx.gpr[24] = (0u | 0u); + ctx.gpr[25] = (aot_gpr_29 + ctx.gpr[24]); goto L_08A18ECC; L_08A18ECC: ctx.gpr[25] = (aot_mem.aot_direct_load8(ctx.gpr[25] + static_cast(128))); aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8452))); ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); - aot_gpr_31 = (aot_gpr_31 + aot_gpr_24); + aot_gpr_31 = (aot_gpr_31 + ctx.gpr[24]); aot_gpr_31 = (aot_gpr_31 + aot_gpr_31); ctx.gpr[25] = (ctx.gpr[25] + ctx.gpr[18]); aot_gpr_31 = (aot_gpr_31 + ctx.gpr[17]); - aot_gpr_24 = (aot_gpr_24 + static_cast(1)); + ctx.gpr[24] = (ctx.gpr[24] + static_cast(1)); aot_mem.aot_direct_store16(aot_gpr_31 + static_cast(0), static_cast(ctx.gpr[25])); - aot_gpr_24 = (aot_gpr_24 & 255u); - ctx.gpr[25] = (static_cast(aot_gpr_24) < 6 ? 1u : 0u); + ctx.gpr[24] = (ctx.gpr[24] & 255u); + ctx.gpr[25] = (static_cast(ctx.gpr[24]) < 6 ? 1u : 0u); { const bool branch_taken = ctx.gpr[25] != 0u; - ctx.gpr[25] = (aot_gpr_29 + aot_gpr_24); + ctx.gpr[25] = (aot_gpr_29 + ctx.gpr[24]); if (branch_taken) { goto L_08A18ECC; } goto L_08A18F00; } L_08A18F00: - aot_gpr_24 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8452))); - aot_gpr_24 = (aot_gpr_24 + static_cast(6)); - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8452), aot_gpr_24); - aot_gpr_24 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); - aot_gpr_24 = (aot_gpr_24 + static_cast(4)); - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8456), aot_gpr_24); - aot_gpr_24 = (std::bit_cast(aot_fpr_14)); - ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_24); + ctx.gpr[24] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8452))); + ctx.gpr[24] = (ctx.gpr[24] + static_cast(6)); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8452), ctx.gpr[24]); + ctx.gpr[24] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); + ctx.gpr[24] = (ctx.gpr[24] + static_cast(4)); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8456), ctx.gpr[24]); + ctx.gpr[24] = (std::bit_cast(aot_fpr_14)); + ctx.set_vfpu_scalar_bits_ct<28u>(ctx.gpr[24]); { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -2440,7 +2441,7 @@ L_08A18F00: const std::uint32_t vfpu_address = ctx.gpr[11] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - { const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -2492,7 +2493,7 @@ L_08A18F00: const std::uint32_t vfpu_address = ctx.gpr[11] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - { const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -2544,7 +2545,7 @@ L_08A18F00: const std::uint32_t vfpu_address = ctx.gpr[2] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - { const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -2635,7 +2636,7 @@ L_08A18F00: const std::uint32_t vfpu_address = ctx.gpr[2] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - { const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -2771,8 +2772,8 @@ L_08A18F00: aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(8), static_cast(aot_gpr_5)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(9), static_cast(aot_gpr_5)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(10), static_cast(aot_gpr_5)); - ctx.gpr[6] = (0u | 120u); - aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(11), static_cast(ctx.gpr[6])); + aot_gpr_6 = (0u | 120u); + aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(11), static_cast(aot_gpr_6)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); aot_gpr_4 = (aot_gpr_4 << 3u); ctx.gpr[7] = (aot_gpr_4 + aot_gpr_4); @@ -2781,7 +2782,7 @@ L_08A18F00: aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(8), static_cast(aot_gpr_5)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(9), static_cast(aot_gpr_5)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(10), static_cast(aot_gpr_5)); - aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(11), static_cast(ctx.gpr[6])); + aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(11), static_cast(aot_gpr_6)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); aot_gpr_4 = (aot_gpr_4 << 3u); ctx.gpr[7] = (aot_gpr_4 + aot_gpr_4); @@ -2790,7 +2791,7 @@ L_08A18F00: aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(8), static_cast(aot_gpr_5)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(9), static_cast(aot_gpr_5)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(10), static_cast(aot_gpr_5)); - aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(11), static_cast(ctx.gpr[6])); + aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(11), static_cast(aot_gpr_6)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); aot_gpr_4 = (aot_gpr_4 << 3u); ctx.gpr[7] = (aot_gpr_4 + aot_gpr_4); @@ -2799,7 +2800,7 @@ L_08A18F00: aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(8), static_cast(aot_gpr_5)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(9), static_cast(aot_gpr_5)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(10), static_cast(aot_gpr_5)); - aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(11), static_cast(ctx.gpr[6])); + aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(11), static_cast(aot_gpr_6)); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7835))); if (aot_gpr_4 == 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); @@ -2916,14 +2917,14 @@ L_08A192E4: goto L_08A192EC; L_08A192EC: aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(128))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8452))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8452))); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); - ctx.gpr[6] = (ctx.gpr[6] + aot_gpr_4); - ctx.gpr[6] = (ctx.gpr[6] + ctx.gpr[6]); + aot_gpr_6 = (aot_gpr_6 + aot_gpr_4); + aot_gpr_6 = (aot_gpr_6 + aot_gpr_6); aot_gpr_5 = (aot_gpr_5 + ctx.gpr[7]); - ctx.gpr[6] = (ctx.gpr[6] + ctx.gpr[17]); + aot_gpr_6 = (aot_gpr_6 + ctx.gpr[17]); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store16(ctx.gpr[6] + static_cast(0), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store16(aot_gpr_6 + static_cast(0), static_cast(aot_gpr_5)); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_5 = (static_cast(aot_gpr_4) < 6 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 != 0u; @@ -2943,31 +2944,31 @@ L_08A19320: aot_gpr_4 = (0u | 8u); aot_gpr_31 = (0x08A19344u); aot_gpr_5 = (0u | 5u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A19344u) goto L_08A19344; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A19344u) goto L_08A19344; AOT_REGCACHE_SYNC_OUT(); return; L_08A19344: aot_gpr_4 = (0u | 9u); aot_gpr_31 = (0x08A19350u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A19350u) goto L_08A19350; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A19350u) goto L_08A19350; AOT_REGCACHE_SYNC_OUT(); return; L_08A19350: aot_gpr_4 = (0u | 6u); aot_gpr_31 = (0x08A1935Cu); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A1935Cu) goto L_08A1935C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A1935Cu) goto L_08A1935C; AOT_REGCACHE_SYNC_OUT(); return; L_08A1935C: aot_gpr_4 = (0u | 10u); aot_gpr_31 = (0x08A19368u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A19368u) goto L_08A19368; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A19368u) goto L_08A19368; AOT_REGCACHE_SYNC_OUT(); return; L_08A19368: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8752))); aot_gpr_31 = (0x08A19374u); aot_gpr_4 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A19374u) goto L_08A19374; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A19374u) goto L_08A19374; AOT_REGCACHE_SYNC_OUT(); return; L_08A19374: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8452))); @@ -2981,7 +2982,7 @@ L_08A19374: L_08A19380: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x08A19394u); ctx.gpr[7] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0186_entry, 186u, 515u, 0x08AEE610u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A19394u) goto L_08A19394; @@ -2995,7 +2996,7 @@ L_08A19394: goto L_08A1939C; } L_08A1939C: - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8452))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8452))); aot_gpr_4 = (0u | 3u); aot_gpr_31 = (0x08A193ACu); aot_gpr_5 = (ctx.gpr[17] | 0u); @@ -3031,7 +3032,7 @@ L_08A193CC: L_08A193E0: aot_gpr_31 = (0x08A193E8u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-7760)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A193E8u) goto L_08A193E8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A193E8u) goto L_08A193E8; AOT_REGCACHE_SYNC_OUT(); return; L_08A193E8: aot_fpr_12 = std::bit_cast(0u); @@ -3050,14 +3051,14 @@ L_08A19410: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(12), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); - ctx.gpr[6] = (std::bit_cast(aot_fpr_12)); + aot_gpr_6 = (std::bit_cast(aot_fpr_12)); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(8))); aot_gpr_5 = (std::bit_cast(aot_fpr_13)); - aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), ctx.gpr[6]); - ctx.gpr[6] = (std::bit_cast(aot_fpr_14)); + aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_6); + aot_gpr_6 = (std::bit_cast(aot_fpr_14)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), aot_gpr_5); jump_target = aot_gpr_31; - aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(8), ctx.gpr[6]); + aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(8), aot_gpr_6); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -3073,7 +3074,7 @@ L_08A1943C: ctx.gpr[8] = (std::bit_cast(aot_fpr_14)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(8), ctx.gpr[8]); - aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(16), static_cast(ctx.gpr[6])); + aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(16), static_cast(aot_gpr_6)); jump_target = aot_gpr_31; aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(17), static_cast(ctx.gpr[7])); local_pc = jump_target; @@ -3086,7 +3087,7 @@ L_08A19470: aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(164), aot_run_words); } aot_gpr_16 = (ctx.gpr[8] | 0u); ctx.gpr[17] = (ctx.gpr[7] | 0u); - ctx.gpr[18] = (ctx.gpr[6] | 0u); + ctx.gpr[18] = (aot_gpr_6 | 0u); ctx.gpr[19] = (aot_gpr_5 | 0u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), std::bit_cast(aot_fpr_12)); @@ -3237,8 +3238,8 @@ L_08A19524: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(68))); - ctx.gpr[6] = (std::bit_cast(aot_fpr_12)); - ctx.set_vfpu_scalar_bits_ct<28u>(ctx.gpr[6]); + aot_gpr_6 = (std::bit_cast(aot_fpr_12)); + ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_6); { const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -3410,12 +3411,12 @@ L_08A19664: L_08A19680: aot_gpr_31 = (0x08A19688u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-7736)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A19688u) goto L_08A19688; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A19688u) goto L_08A19688; AOT_REGCACHE_SYNC_OUT(); return; L_08A19688: aot_gpr_4 = (ctx.gpr[28] + static_cast(9792)); aot_gpr_5 = (ctx.gpr[28] + static_cast(-7724)); - ctx.gpr[6] = (aot_gpr_16 | 0u); + aot_gpr_6 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08A1969Cu); ctx.gpr[7] = (0u | 96u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0139_entry, 139u, 279u, 0x08A312B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A1969Cu) goto L_08A1969C; @@ -3531,9 +3532,9 @@ L_08A19794: AOT_REGCACHE_SYNC_OUT(); return; L_08A197A8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); - ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0))); + aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0))); aot_gpr_5 = (0u | 2u); - { const bool branch_taken = ctx.gpr[6] != aot_gpr_5; + { const bool branch_taken = aot_gpr_6 != aot_gpr_5; // nop if (branch_taken) { goto L_08A197EC; @@ -3666,7 +3667,7 @@ L_08A1989C: L_08A198A8: aot_gpr_31 = (0x08A198B0u); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A198B0u) goto L_08A198B0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0896918C, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A198B0u) goto L_08A198B0; AOT_REGCACHE_SYNC_OUT(); return; L_08A198B0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(496))); @@ -4006,7 +4007,7 @@ L_08A19AD8: L_08A19AE4: aot_gpr_31 = (0x08A19AECu); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A19AECu) goto L_08A19AEC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0896918C, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A19AECu) goto L_08A19AEC; AOT_REGCACHE_SYNC_OUT(); return; L_08A19AEC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(496))); @@ -4193,7 +4194,7 @@ L_08A19C04: aot_fpr_14 = std::bit_cast(aot_gpr_5); aot_fpr_12 = aot_fpr_12 - aot_fpr_14; aot_gpr_5 = (aot_gpr_29 + static_cast(32)); - ctx.gpr[6] = (aot_gpr_29 + static_cast(64)); + aot_gpr_6 = (aot_gpr_29 + static_cast(64)); ctx.gpr[7] = (0u | 1u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); @@ -4230,13 +4231,13 @@ L_08A19C80: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); - aot_gpr_16 = (ctx.gpr[6] | 0u); + aot_gpr_16 = (aot_gpr_6 | 0u); ctx.gpr[17] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); ctx.gpr[18] = (0u | 0u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-7712)); aot_gpr_5 = (0u | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); ctx.gpr[7] = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); aot_gpr_31 = (0x08A19CB8u); @@ -4247,7 +4248,7 @@ L_08A19CB8: aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), ctx.gpr[2]); aot_gpr_4 = (ctx.gpr[28] + static_cast(-7700)); aot_gpr_5 = (0u | 0u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); ctx.gpr[7] = (0u | 1u); aot_gpr_31 = (0x08A19CD4u); ctx.gpr[8] = (0u | 0u); @@ -4257,7 +4258,7 @@ L_08A19CD4: aot_gpr_4 = (2232u << 16u); aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(4), ctx.gpr[2]); aot_gpr_5 = (0u | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); ctx.gpr[7] = (0u | 1u); ctx.gpr[8] = (0u | 0u); aot_gpr_31 = (0x08A19CF4u); @@ -4282,10 +4283,10 @@ L_08A19CF4: aot_gpr_4 = (ctx.gpr[28] + static_cast(6920)); aot_gpr_5 = (ctx.gpr[17] + aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(36), aot_gpr_4); - ctx.gpr[6] = (68u << 16u); + aot_gpr_6 = (68u << 16u); aot_gpr_5 = (ctx.gpr[28] + static_cast(6924)); - ctx.gpr[6] = (ctx.gpr[17] + ctx.gpr[6]); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(40), aot_gpr_5); + aot_gpr_6 = (ctx.gpr[17] + aot_gpr_6); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(40), aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_16); ctx.gpr[2] = (ctx.gpr[18] | 0u); { std::uint32_t aot_run_words[4]{}; @@ -4339,7 +4340,7 @@ L_08A19DC8: L_08A19DD4: aot_gpr_4 = (0u | 0u); aot_gpr_5 = (0u | 512u); - ctx.gpr[6] = (0u | 3u); + aot_gpr_6 = (0u | 3u); aot_gpr_31 = (0x08A19DE8u); ctx.gpr[7] = (0u | 1u); ctx.pc = 0x08B73204u; @@ -4434,14 +4435,14 @@ L_08A19E8C: ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08A19EA0: - ctx.gpr[6] = (68u << 16u); - ctx.gpr[6] = (aot_gpr_4 + ctx.gpr[6]); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(24))); + aot_gpr_6 = (68u << 16u); + aot_gpr_6 = (aot_gpr_4 + aot_gpr_6); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(24))); ctx.gpr[7] = (68u << 16u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(0))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); ctx.gpr[2] = (0u | 0u); - ctx.gpr[6] = (ctx.gpr[6] << 2u); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_6 = (aot_gpr_6 << 2u); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[7]); jump_target = aot_gpr_31; aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(16), aot_gpr_5); @@ -4450,14 +4451,14 @@ L_08A19EA0: ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08A19ECC: - ctx.gpr[6] = (68u << 16u); - ctx.gpr[6] = (aot_gpr_4 + ctx.gpr[6]); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(28))); + aot_gpr_6 = (68u << 16u); + aot_gpr_6 = (aot_gpr_4 + aot_gpr_6); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(28))); ctx.gpr[7] = (68u << 16u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(0))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); ctx.gpr[2] = (0u | 0u); - ctx.gpr[6] = (ctx.gpr[6] << 2u); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_6 = (aot_gpr_6 << 2u); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[7]); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); jump_target = aot_gpr_31; @@ -4474,29 +4475,29 @@ L_08A19EFC: aot_gpr_5 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x08A19F1Cu); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); ctx.pc = 0x08B734BCu; AOT_REGCACHE_SYNC_OUT(); return; L_08A19F1C: aot_gpr_4 = (68u << 16u); aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(32))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_5 = (68u << 16u); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(1)); + aot_gpr_6 = (aot_gpr_6 + static_cast(1)); aot_gpr_5 = (aot_gpr_16 + aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), ctx.gpr[6]); + aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_6); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(24))); aot_gpr_5 = (68u << 16u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_5 = (aot_gpr_16 + aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(36))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(1)); - { const std::int32_t dividend = static_cast(ctx.gpr[6]); const std::int32_t divisor = static_cast(aot_gpr_5); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } + aot_gpr_6 = (aot_gpr_6 + static_cast(1)); + { const std::int32_t dividend = static_cast(aot_gpr_6); const std::int32_t divisor = static_cast(aot_gpr_5); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } aot_gpr_5 = (0u | 1u); - ctx.gpr[6] = (ctx.hi); - aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), ctx.gpr[6]); + aot_gpr_6 = (ctx.hi); + aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_6); aot_gpr_31 = (0x08A19F70u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); ctx.pc = 0x08B734A4u; @@ -4515,8 +4516,8 @@ L_08A19F84: aot_gpr_5 = (68u << 16u); aot_gpr_5 = (aot_gpr_4 + aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(36))); - ctx.gpr[6] = (68u << 16u); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_6 = (68u << 16u); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(32))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); @@ -4553,8 +4554,8 @@ L_08A19FD0: ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08A19FE4: - ctx.gpr[6] = (68u << 16u); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_6 = (68u << 16u); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(40))); ctx.gpr[2] = (0u | 0u); jump_target = aot_gpr_31; @@ -4589,7 +4590,7 @@ L_08A1A010: aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), aot_gpr_31); aot_gpr_31 = (0x08A1A058u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); ctx.pc = 0x08B734BCu; AOT_REGCACHE_SYNC_OUT(); return; L_08A1A058: @@ -4678,7 +4679,7 @@ L_08A1A0D4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(4))); aot_gpr_5 = (0u | 1u); aot_gpr_31 = (0x08A1A0E4u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); ctx.pc = 0x08B734BCu; AOT_REGCACHE_SYNC_OUT(); return; L_08A1A0E4: @@ -4761,7 +4762,7 @@ L_08A1A168: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(4))); aot_gpr_5 = (0u | 1u); aot_gpr_31 = (0x08A1A178u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); ctx.pc = 0x08B734BCu; AOT_REGCACHE_SYNC_OUT(); return; L_08A1A178: @@ -4792,7 +4793,7 @@ L_08A1A19C: L_08A1A1AC: aot_gpr_4 = (0u | 0u); aot_gpr_5 = (0u | 512u); - ctx.gpr[6] = (0u | 3u); + aot_gpr_6 = (0u | 3u); aot_gpr_31 = (0x08A1A1C0u); ctx.gpr[7] = (0u | 1u); ctx.pc = 0x08B73204u; @@ -4828,7 +4829,7 @@ L_08A1A1F8: aot_gpr_5 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); aot_gpr_31 = (0x08A1A210u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); ctx.pc = 0x08B734BCu; AOT_REGCACHE_SYNC_OUT(); return; L_08A1A210: @@ -4866,8 +4867,8 @@ L_08A1A254: ctx.gpr[17] = (68u << 16u); ctx.gpr[17] = (aot_gpr_16 + ctx.gpr[17]); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(28))); - ctx.gpr[6] = (0u | 1u); - { const bool branch_taken = ctx.gpr[2] != ctx.gpr[6]; + aot_gpr_6 = (0u | 1u); + { const bool branch_taken = ctx.gpr[2] != aot_gpr_6; aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); if (branch_taken) { goto L_08A1A2A4; @@ -4879,7 +4880,7 @@ L_08A1A26C: aot_gpr_5 = (aot_gpr_5 + static_cast(-32768)); { const std::int64_t product = static_cast(static_cast(aot_gpr_4)) * static_cast(static_cast(aot_gpr_5)); ctx.lo = static_cast(product); ctx.hi = static_cast(static_cast(product) >> 32u); } aot_gpr_5 = (0u | 512u); - ctx.gpr[6] = (0u | 3u); + aot_gpr_6 = (0u | 3u); ctx.gpr[7] = (0u | 1u); aot_gpr_4 = (ctx.lo); aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); @@ -4897,12 +4898,12 @@ L_08A1A29C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); goto L_08A1A2A4; L_08A1A2A4: - ctx.gpr[6] = (68u << 16u); - ctx.gpr[6] = (aot_gpr_16 + ctx.gpr[6]); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(36))); + aot_gpr_6 = (68u << 16u); + aot_gpr_6 = (aot_gpr_16 + aot_gpr_6); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(36))); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(0))); - { const std::int32_t dividend = static_cast(aot_gpr_4); const std::int32_t divisor = static_cast(ctx.gpr[6]); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); + { const std::int32_t dividend = static_cast(aot_gpr_4); const std::int32_t divisor = static_cast(aot_gpr_6); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } ctx.gpr[2] = (0u | 0u); aot_gpr_4 = (ctx.hi); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_4); @@ -5030,9 +5031,9 @@ L_08A1A37C: } L_08A1A3BC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); - ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(12))); + aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(12))); ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(13))); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(2), static_cast(ctx.gpr[6])); + aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(2), static_cast(aot_gpr_6)); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(3), static_cast(ctx.gpr[7])); if (branch_taken) { @@ -5055,14 +5056,14 @@ L_08A1A3DC: goto L_08A1A3E8; L_08A1A3E8: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(0), static_cast(aot_gpr_5)); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(84))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(84))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(1), static_cast(aot_gpr_5)); - aot_gpr_5 = (aot_gpr_4 ^ ctx.gpr[6]); + aot_gpr_5 = (aot_gpr_4 ^ aot_gpr_6); aot_gpr_5 = (aot_gpr_5 & aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(88), aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(84), aot_gpr_4); aot_gpr_5 = (0u | 0u); - ctx.gpr[6] = (aot_gpr_16 | 0u); + aot_gpr_6 = (aot_gpr_16 | 0u); goto L_08A1A40C; L_08A1A40C: ctx.gpr[7] = (ctx.gpr[17] << (aot_gpr_5 & 31u)); @@ -5081,11 +5082,11 @@ L_08A1A41C: goto L_08A1A424; } L_08A1A424: - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(4), std::bit_cast(aot_fpr_15)); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(4), std::bit_cast(aot_fpr_15)); aot_gpr_5 = (aot_gpr_5 + static_cast(1)); ctx.gpr[7] = (static_cast(aot_gpr_5) < 16 ? 1u : 0u); { const bool branch_taken = ctx.gpr[7] != 0u; - ctx.gpr[6] = (ctx.gpr[6] + static_cast(4)); + aot_gpr_6 = (aot_gpr_6 + static_cast(4)); if (branch_taken) { goto L_08A1A40C; } @@ -5096,10 +5097,10 @@ L_08A1A438: aot_gpr_5 = (aot_gpr_16 | 0u); goto L_08A1A440; L_08A1A440: - ctx.gpr[6] = (aot_gpr_29 + aot_gpr_4); - ctx.gpr[6] = (aot_mem.aot_direct_load8(ctx.gpr[6] + static_cast(2))); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(-128)); - aot_fpr_15 = std::bit_cast(ctx.gpr[6]); + aot_gpr_6 = (aot_gpr_29 + aot_gpr_4); + aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_6 + static_cast(2))); + aot_gpr_6 = (aot_gpr_6 + static_cast(-128)); + aot_fpr_15 = std::bit_cast(aot_gpr_6); aot_fpr_15 = static_cast(static_cast(std::bit_cast(aot_fpr_15))); { const float fs = aot_fpr_15; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_15 = std::bit_cast(0x7FC00000u); else aot_fpr_15 = fs * ft; } ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_15 < aot_fpr_13)) ? 0x00800000u : 0u); @@ -5182,8 +5183,8 @@ L_08A1A4BC: L_08A1A4D0: aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(68), std::bit_cast(ctx.fpr[0])); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); - ctx.gpr[6] = (static_cast(aot_gpr_4) < 2 ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] != 0u; + aot_gpr_6 = (static_cast(aot_gpr_4) < 2 ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 != 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(4)); if (branch_taken) { goto L_08A1A440; @@ -5302,14 +5303,14 @@ L_08A1A58C: ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08A1A5A0: - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_fpr_12 = std::bit_cast(0u); aot_gpr_5 = (aot_gpr_4 | 0u); goto L_08A1A5AC; L_08A1A5AC: aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(4), std::bit_cast(aot_fpr_12)); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(1)); - ctx.gpr[7] = (static_cast(ctx.gpr[6]) < 20 ? 1u : 0u); + aot_gpr_6 = (aot_gpr_6 + static_cast(1)); + ctx.gpr[7] = (static_cast(aot_gpr_6) < 20 ? 1u : 0u); { const bool branch_taken = ctx.gpr[7] != 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(4)); if (branch_taken) { @@ -5349,7 +5350,7 @@ L_08A1A5DC: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -5370,7 +5371,7 @@ L_08A1A5DC: ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08A1A5F4: - { const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -5465,7 +5466,7 @@ L_08A1A638: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -5495,7 +5496,7 @@ L_08A1A650: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -5516,8 +5517,8 @@ L_08A1A650: ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08A1A668: - ctx.gpr[6] = (std::bit_cast(aot_fpr_12)); - ctx.set_vfpu_scalar_bits_ct<28u>(ctx.gpr[6]); + aot_gpr_6 = (std::bit_cast(aot_fpr_12)); + ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_6); { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -5539,8 +5540,8 @@ L_08A1A668: ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08A1A684: - ctx.gpr[6] = (std::bit_cast(aot_fpr_12)); - ctx.set_vfpu_scalar_bits_ct<28u>(ctx.gpr[6]); + aot_gpr_6 = (std::bit_cast(aot_fpr_12)); + ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_6); { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -5661,7 +5662,7 @@ L_08A1A730: { const std::uint32_t aot_run_words[4]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), aot_gpr_16}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(8), aot_run_words); } ctx.fpr[24] = std::bit_cast(0u); - ctx.gpr[6] = (ctx.gpr[6] & 255u); + aot_gpr_6 = (aot_gpr_6 & 255u); ctx.fpr[20] = std::bit_cast(std::bit_cast(aot_fpr_13)); ctx.gpr[7] = (0u | 1u); ctx.fpr[22] = std::bit_cast(std::bit_cast(aot_fpr_14)); @@ -5669,7 +5670,7 @@ L_08A1A730: aot_gpr_16 = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_31); - { const bool branch_taken = ctx.gpr[6] != ctx.gpr[7]; + { const bool branch_taken = aot_gpr_6 != ctx.gpr[7]; ctx.gpr[17] = (aot_gpr_5 | 0u); if (branch_taken) { goto L_08A1A780; @@ -5854,8 +5855,8 @@ L_08A1A8C0: L_08A1A8C8: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - ctx.gpr[6] = (static_cast(aot_gpr_5) < static_cast(aot_gpr_4) ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_6 = (static_cast(aot_gpr_5) < static_cast(aot_gpr_4) ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 == 0u; ctx.gpr[2] = (aot_gpr_5 | 0u); if (branch_taken) { goto L_08A1A8E4; @@ -5886,9 +5887,9 @@ L_08A1A8EC: AOT_REGCACHE_SYNC_OUT(); return; L_08A1A8F4: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1940))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1936))); - aot_gpr_5 = (ctx.gpr[6] - aot_gpr_5); + aot_gpr_5 = (aot_gpr_6 - aot_gpr_5); aot_fpr_14 = std::bit_cast(aot_gpr_5); { const bool branch_taken = static_cast(aot_gpr_5) >= 0; aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); @@ -5954,13 +5955,13 @@ L_08A1A980: aot_gpr_4 = (aot_gpr_4 + static_cast(32304)); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(80))); aot_gpr_5 = (aot_gpr_5 << 5u); - ctx.gpr[6] = (0u - aot_gpr_5); + aot_gpr_6 = (0u - aot_gpr_5); aot_gpr_5 = (aot_gpr_5 << 2u); - ctx.gpr[6] = (ctx.gpr[6] + aot_gpr_5); + aot_gpr_6 = (aot_gpr_6 + aot_gpr_5); aot_gpr_5 = (aot_gpr_5 << 2u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[17]); aot_gpr_4 = (aot_gpr_4 + static_cast(144)); - ctx.gpr[17] = (ctx.gpr[6] + aot_gpr_5); + ctx.gpr[17] = (aot_gpr_6 + aot_gpr_5); ctx.gpr[17] = (ctx.gpr[17] + aot_gpr_4); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); @@ -6029,7 +6030,7 @@ L_08A1AA20: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(104))); ctx.gpr[7] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(10))); { const bool branch_taken = aot_gpr_4 == ctx.gpr[7]; - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (branch_taken) { goto L_08A1AA9C; } @@ -6038,56 +6039,56 @@ L_08A1AA20: L_08A1AA30: ctx.gpr[7] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(12))); if (aot_gpr_4 == ctx.gpr[7]) { - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); goto L_08A1AAA0; } goto L_08A1AA3C; L_08A1AA3C: ctx.gpr[7] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(14))); if (aot_gpr_4 == ctx.gpr[7]) { - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); goto L_08A1AAA0; } goto L_08A1AA48; L_08A1AA48: ctx.gpr[7] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(184))); if (aot_gpr_4 == ctx.gpr[7]) { - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); goto L_08A1AAA0; } goto L_08A1AA54; L_08A1AA54: ctx.gpr[7] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(226))); if (aot_gpr_4 == ctx.gpr[7]) { - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); goto L_08A1AAA0; } goto L_08A1AA60; L_08A1AA60: ctx.gpr[7] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(18))); if (aot_gpr_4 == ctx.gpr[7]) { - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); goto L_08A1AAA0; } goto L_08A1AA6C; L_08A1AA6C: ctx.gpr[7] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(20))); if (aot_gpr_4 == ctx.gpr[7]) { - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); goto L_08A1AAA0; } goto L_08A1AA78; L_08A1AA78: ctx.gpr[7] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(232))); if (aot_gpr_4 == ctx.gpr[7]) { - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); goto L_08A1AAA0; } goto L_08A1AA84; L_08A1AA84: ctx.gpr[7] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(6))); if (aot_gpr_4 == ctx.gpr[7]) { - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); goto L_08A1AAA0; } goto L_08A1AA90; @@ -6101,11 +6102,11 @@ L_08A1AA90: goto L_08A1AA9C; } L_08A1AA9C: - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); goto L_08A1AAA0; L_08A1AAA0: jump_target = aot_gpr_31; - ctx.gpr[2] = (ctx.gpr[6] & 255u); + ctx.gpr[2] = (aot_gpr_6 & 255u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -6528,8 +6529,8 @@ L_08A1AD74: AOT_REGCACHE_SYNC_OUT(); return; L_08A1AD7C: aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(154))); - ctx.gpr[6] = (0u + static_cast(-2)); - aot_gpr_5 = (aot_gpr_5 & ctx.gpr[6]); + aot_gpr_6 = (0u + static_cast(-2)); + aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); jump_target = aot_gpr_31; aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(154), static_cast(aot_gpr_5)); local_pc = jump_target; @@ -6580,7 +6581,7 @@ L_08A1ADC8: L_08A1ADD0: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(8), ctx.gpr[7]); - aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), ctx.gpr[6]); + aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), aot_gpr_6); jump_target = aot_gpr_31; aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(40), ctx.gpr[8]); local_pc = jump_target; @@ -6633,7 +6634,7 @@ L_08A1AE34: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); aot_gpr_31 = (0x08A1AE44u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A1AE44u) goto L_08A1AE44; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A1AE44u) goto L_08A1AE44; AOT_REGCACHE_SYNC_OUT(); return; L_08A1AE44: ctx.gpr[2] = (ctx.gpr[2] & 65535u); @@ -6791,7 +6792,7 @@ L_08A1AF14: ctx.fpr[26] = std::bit_cast(std::bit_cast(aot_fpr_12)); aot_gpr_16 = (aot_gpr_5 | 0u); ctx.gpr[17] = (aot_gpr_4 | 0u); - { const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -7525,7 +7526,7 @@ L_08A1B310: ctx.gpr[14] = (aot_gpr_29 + static_cast(208)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[13]); aot_gpr_5 = (aot_gpr_29 + static_cast(64)); - ctx.gpr[6] = (aot_gpr_29 + static_cast(68)); + aot_gpr_6 = (aot_gpr_29 + static_cast(68)); ctx.gpr[10] = (aot_gpr_29 + static_cast(128)); aot_gpr_4 = (aot_gpr_16 | 0u); ctx.gpr[7] = (ctx.gpr[17] | 0u); @@ -7585,9 +7586,9 @@ L_08A1B3B0: goto L_08A1B3B8; } L_08A1B3B8: - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7608))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7608))); aot_gpr_5 = (aot_gpr_5 + static_cast(-1)); - aot_gpr_5 = (ctx.gpr[6] < aot_gpr_5 ? 1u : 0u); + aot_gpr_5 = (aot_gpr_6 < aot_gpr_5 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; // nop if (branch_taken) { @@ -7612,7 +7613,7 @@ L_08A1B3D0: aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8068), aot_gpr_5); { const std::uint32_t aot_run_words[4]{0u, 0u, 0u, 0u}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - ctx.gpr[6] = (aot_gpr_29 + static_cast(304)); + aot_gpr_6 = (aot_gpr_29 + static_cast(304)); ctx.gpr[7] = (aot_gpr_29 + static_cast(336)); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); @@ -7787,7 +7788,7 @@ L_08A1B528: ctx.fpr[22] = std::bit_cast(aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8068), aot_gpr_4); - ctx.gpr[6] = (aot_gpr_29 + static_cast(256)); + aot_gpr_6 = (aot_gpr_29 + static_cast(256)); ctx.gpr[7] = (aot_gpr_29 + static_cast(288)); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); @@ -7840,7 +7841,7 @@ L_08A1B5AC: aot_gpr_4 = (aot_gpr_16 | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_gpr_5 = (0u | 28u); - ctx.gpr[6] = (ctx.gpr[18] | 0u); + aot_gpr_6 = (ctx.gpr[18] | 0u); ctx.gpr[7] = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08A1B5C8u); ctx.gpr[8] = (0u | 0u); @@ -7876,10 +7877,10 @@ L_08A1B5E0: L_08A1B5F0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(6948))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7556))); - ctx.gpr[6] = (aot_gpr_4 + static_cast(1)); + aot_gpr_6 = (aot_gpr_4 + static_cast(1)); aot_gpr_4 = (static_cast(aot_gpr_5) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(6948), ctx.gpr[6]); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(6948), aot_gpr_6); if (branch_taken) { goto L_08A1B5AC; } @@ -7904,7 +7905,7 @@ L_08A1B614: aot_gpr_5 = (ctx.gpr[18] | 0u); aot_fpr_15 = std::bit_cast(ctx.gpr[7]); aot_gpr_31 = (0x08A1B63Cu); - ctx.gpr[6] = (ctx.gpr[17] | 0u); + aot_gpr_6 = (ctx.gpr[17] | 0u); goto L_08A1AF14; L_08A1B63C: ctx.gpr[2] = (ctx.gpr[22] | 0u); @@ -7943,7 +7944,7 @@ L_08A1B674: } aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(112))); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_4); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(0), aot_gpr_4); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(0), aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; @@ -7972,7 +7973,7 @@ L_08A1B674: const std::uint32_t vfpu_address = ctx.gpr[8] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); aot_gpr_4 = (aot_gpr_4 + static_cast(32)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; @@ -7987,7 +7988,7 @@ L_08A1B674: const std::uint32_t vfpu_address = ctx.gpr[9] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -8001,7 +8002,7 @@ L_08A1B674: const std::uint32_t vfpu_address = ctx.gpr[10] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); aot_gpr_4 = (aot_gpr_4 + static_cast(16)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; @@ -8016,7 +8017,7 @@ L_08A1B674: const std::uint32_t vfpu_address = ctx.gpr[11] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); aot_gpr_4 = (aot_gpr_4 + static_cast(320)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; @@ -8045,7 +8046,7 @@ L_08A1B674: aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(ctx.gpr[3] + static_cast(0), std::bit_cast(aot_fpr_12)); - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); aot_gpr_4 = (aot_gpr_4 + static_cast(112)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; @@ -8074,14 +8075,14 @@ L_08A1B674: aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(ctx.gpr[13] + static_cast(0), std::bit_cast(aot_fpr_12)); - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(86)))))); - ctx.gpr[6] = (aot_gpr_5 << 2u); + aot_gpr_6 = (aot_gpr_5 << 2u); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); - ctx.gpr[6] = (ctx.gpr[7] + ctx.gpr[6]); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(0))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(20))); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(12))); + aot_gpr_6 = (ctx.gpr[7] + aot_gpr_6); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(20))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(12))); aot_gpr_5 = (aot_gpr_5 << 2u); aot_gpr_5 = (ctx.gpr[7] + aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); @@ -8146,7 +8147,7 @@ L_08A1B674: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (ctx.gpr[14] | 0u); aot_gpr_5 = (aot_gpr_29 | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x08A1B7B0u); ctx.gpr[7] = (0u | 0u); goto L_08A1943C; @@ -8166,11 +8167,11 @@ L_08A1B7BC: ctx.gpr[7] = (ctx.gpr[8] & 255u); aot_gpr_5 = (ctx.gpr[28] + aot_gpr_16); ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(-7596))); - aot_gpr_5 = (ctx.gpr[6] | 0u); + aot_gpr_5 = (aot_gpr_6 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(116), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(120), aot_gpr_31); { const bool branch_taken = ctx.gpr[8] != 0u; - ctx.gpr[6] = (ctx.gpr[9] | 0u); + aot_gpr_6 = (ctx.gpr[9] | 0u); if (branch_taken) { goto L_08A1B84C; } @@ -8184,7 +8185,7 @@ L_08A1B7EC: ctx.gpr[10] = (2234u << 16u); ctx.gpr[10] = (ctx.gpr[10] + static_cast(7776)); ctx.gpr[8] = (ctx.gpr[8] + ctx.gpr[10]); - { const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -8276,9 +8277,9 @@ L_08A1B880: aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8068), aot_gpr_4); { const std::uint32_t aot_run_words[3]{0u, 0u, 0u}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - aot_gpr_4 = (ctx.gpr[6] | 0u); + aot_gpr_4 = (aot_gpr_6 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), 0u); - ctx.gpr[6] = (aot_gpr_29 + static_cast(48)); + aot_gpr_6 = (aot_gpr_29 + static_cast(48)); ctx.gpr[7] = (aot_gpr_29 + static_cast(80)); ctx.gpr[8] = (0u | 1u); ctx.gpr[9] = (0u | 1u); @@ -8454,7 +8455,7 @@ L_08A1B9C8: L_08A1B9D0: aot_gpr_31 = (0x08A1B9D8u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A1B9D8u) goto L_08A1B9D8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A1B9D8u) goto L_08A1B9D8; AOT_REGCACHE_SYNC_OUT(); return; L_08A1B9D8: { std::uint32_t aot_run_words[3]{}; @@ -8492,7 +8493,7 @@ L_08A1B9EC: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_31 = (0x08A1BA30u); ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(32))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A1BA30u) goto L_08A1BA30; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A1BA30u) goto L_08A1BA30; AOT_REGCACHE_SYNC_OUT(); return; L_08A1BA30: aot_fpr_12 = ctx.fpr[22] - ctx.fpr[20]; @@ -8500,7 +8501,7 @@ L_08A1BA30: ctx.fpr[24] = ctx.fpr[20] + aot_fpr_12; aot_gpr_31 = (0x08A1BA44u); ctx.fpr[26] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(36))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A1BA44u) goto L_08A1BA44; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A1BA44u) goto L_08A1BA44; AOT_REGCACHE_SYNC_OUT(); return; L_08A1BA44: aot_fpr_13 = ctx.fpr[26] - ctx.fpr[20]; @@ -8508,7 +8509,7 @@ L_08A1BA44: ctx.fpr[22] = ctx.fpr[20] + aot_fpr_13; aot_gpr_31 = (0x08A1BA58u); ctx.fpr[28] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(40))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A1BA58u) goto L_08A1BA58; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A1BA58u) goto L_08A1BA58; AOT_REGCACHE_SYNC_OUT(); return; L_08A1BA58: aot_fpr_12 = ctx.fpr[28] - ctx.fpr[20]; @@ -8779,7 +8780,7 @@ L_08A1BC40: L_08A1BC48: aot_gpr_31 = (0x08A1BC50u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A1BC50u) goto L_08A1BC50; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A1BC50u) goto L_08A1BC50; AOT_REGCACHE_SYNC_OUT(); return; L_08A1BC50: { std::uint32_t aot_run_words[3]{}; @@ -8798,11 +8799,11 @@ L_08A1BC64: aot_gpr_29 = (aot_gpr_29 + static_cast(-64)); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(80))); aot_gpr_5 = (aot_gpr_5 << 5u); - ctx.gpr[6] = (0u - aot_gpr_5); + aot_gpr_6 = (0u - aot_gpr_5); aot_gpr_5 = (aot_gpr_5 << 2u); - ctx.gpr[6] = (ctx.gpr[6] + aot_gpr_5); + aot_gpr_6 = (aot_gpr_6 + aot_gpr_5); aot_gpr_5 = (aot_gpr_5 << 2u); - aot_gpr_5 = (ctx.gpr[6] + aot_gpr_5); + aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); aot_gpr_5 = (aot_gpr_4 + aot_gpr_5); ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(144))); aot_fpr_13 = ctx.fpr[16] - aot_fpr_13; @@ -8857,29 +8858,29 @@ L_08A1BD10: L_08A1BD14: aot_gpr_31 = (0x08A1BD1Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A1BD1Cu) goto L_08A1BD1C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A1BD1Cu) goto L_08A1BD1C; AOT_REGCACHE_SYNC_OUT(); return; L_08A1BD1C: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7548))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7552))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7552))); aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08A1BD30u); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A1BD30u) goto L_08A1BD30; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_16, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A1BD30u) goto L_08A1BD30; AOT_REGCACHE_SYNC_OUT(); return; L_08A1BD30: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7540))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7544))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7544))); aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08A1BD44u); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A1BD44u) goto L_08A1BD44; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61EF4, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A1BD44u) goto L_08A1BD44; AOT_REGCACHE_SYNC_OUT(); return; L_08A1BD44: aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08A1BD50u); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A1BD50u) goto L_08A1BD50; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B627F0, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A1BD50u) goto L_08A1BD50; AOT_REGCACHE_SYNC_OUT(); return; L_08A1BD50: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1940))); @@ -8978,8 +8979,8 @@ L_08A1BE00: } L_08A1BE20: aot_gpr_5 = (aot_gpr_4 | 0u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2900))); - { const bool branch_taken = ctx.gpr[6] == aot_gpr_5; + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2900))); + { const bool branch_taken = aot_gpr_6 == aot_gpr_5; aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(1976)))))); if (branch_taken) { goto L_08A1BE40; @@ -9148,7 +9149,7 @@ L_08A1BF0C: aot_gpr_4 = (aot_gpr_4 + static_cast(31984)); aot_gpr_31 = (0x08A1BF20u); aot_gpr_5 = (aot_gpr_5 + static_cast(-32)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A1BF20u) goto L_08A1BF20; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A1BF20u) goto L_08A1BF20; AOT_REGCACHE_SYNC_OUT(); return; L_08A1BF20: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2544), 0u); @@ -9171,7 +9172,7 @@ L_08A1BF34: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2020))); ctx.fpr[20] = std::bit_cast(aot_gpr_4); aot_fpr_13 = aot_fpr_12 / ctx.fpr[20]; - ctx.gpr[6] = (17392u << 16u); + aot_gpr_6 = (17392u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), std::bit_cast(ctx.fpr[22])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), std::bit_cast(ctx.fpr[26])); aot_gpr_5 = (17160u << 16u); @@ -9180,31 +9181,31 @@ L_08A1BF34: { const std::uint32_t aot_run_words[3]{ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(40), aot_run_words); } ctx.fpr[22] = std::bit_cast(0u); - ctx.fpr[26] = std::bit_cast(ctx.gpr[6]); + ctx.fpr[26] = std::bit_cast(aot_gpr_6); ctx.fpr[24] = std::bit_cast(aot_gpr_5); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[26])); aot_fpr_15 = std::bit_cast(std::bit_cast(ctx.fpr[22])); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[22])); aot_gpr_31 = (0x08A1BF98u); { const float fs = aot_fpr_13; const float ft = ctx.fpr[24]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A1BF98u) goto L_08A1BF98; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A1BF98u) goto L_08A1BF98; AOT_REGCACHE_SYNC_OUT(); return; L_08A1BF98: ctx.gpr[17] = (aot_gpr_29 + static_cast(16)); ctx.gpr[18] = (ctx.gpr[2] | 0u); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (0u | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x08A1BFB8u); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A1BFB8u) goto L_08A1BFB8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A1BFB8u) goto L_08A1BFB8; AOT_REGCACHE_SYNC_OUT(); return; L_08A1BFB8: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08A1BFC8u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 107u, 0x08AF5130u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A1BFC8u) goto L_08A1BFC8; AOT_REGCACHE_SYNC_OUT(); return; L_08A1BFC8: @@ -9218,13 +9219,13 @@ L_08A1BFC8: aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[22])); aot_gpr_31 = (0x08A1BFF0u); aot_fpr_15 = aot_fpr_13 - aot_fpr_15; - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A1BFF0u) goto L_08A1BFF0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A1BFF0u) goto L_08A1BFF0; AOT_REGCACHE_SYNC_OUT(); return; L_08A1BFF0: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_16 = (ctx.gpr[2] | 0u); aot_gpr_5 = (0u | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); ctx.pc = 0x08A1C000u; AOT_REGCACHE_SYNC_OUT(); return; } diff --git a/profiles/vcs/generated/generated_unit_0134.cpp b/profiles/vcs/generated/generated_unit_0134.cpp index 5fed6d0..17457e2 100644 --- a/profiles/vcs/generated/generated_unit_0134.cpp +++ b/profiles/vcs/generated/generated_unit_0134.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0134[4094] = { }; void recomp_unit_0134_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,6,16,31 fprs=12,13,14,15 gpr_occ=3720 fpr_occ=1227 gpr_total=4841 fpr_total=1581 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,6,29,31,16 fprs=12,13,14,15 gpr_occ=3793 fpr_occ=1227 gpr_total=4971 fpr_total=1581 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; - std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_6 = ctx.gpr[6]; - std::uint32_t aot_gpr_16 = ctx.gpr[16]; + std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; + std::uint32_t aot_gpr_16 = ctx.gpr[16]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_14 = ctx.fpr[14]; float aot_fpr_15 = ctx.fpr[15]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[6] = aot_gpr_6; ctx.gpr[16] = aot_gpr_16; ctx.gpr[31] = aot_gpr_31; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[15] = aot_fpr_15; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_31 = ctx.gpr[31]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_15 = ctx.fpr[15]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[6] = aot_gpr_6; ctx.gpr[29] = aot_gpr_29; ctx.gpr[31] = aot_gpr_31; ctx.gpr[16] = aot_gpr_16; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[15] = aot_fpr_15; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_16 = ctx.gpr[16]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_15 = ctx.fpr[15]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -823,7 +824,7 @@ L_08A1C000: ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x08A1C00Cu); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A1C00Cu) goto L_08A1C00C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A1C00Cu) goto L_08A1C00C; AOT_REGCACHE_SYNC_OUT(); return; L_08A1C00C: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -3363,7 +3364,7 @@ L_08A1D2D8: L_08A1D314: aot_gpr_31 = (0x08A1D31Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A1D31Cu) goto L_08A1D31C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B01E00, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A1D31Cu) goto L_08A1D31C; AOT_REGCACHE_SYNC_OUT(); return; L_08A1D31C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); @@ -6019,7 +6020,7 @@ L_08A1E860: ctx.fpr[24] = aot_fpr_12 / aot_fpr_14; aot_gpr_31 = (0x08A1E888u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A1E888u) goto L_08A1E888; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A1E888u) goto L_08A1E888; AOT_REGCACHE_SYNC_OUT(); return; L_08A1E888: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -6291,7 +6292,7 @@ L_08A1EB00: aot_gpr_4 = (16320u << 16u); aot_gpr_31 = (0x08A1EB34u); ctx.fpr[22] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A1EB34u) goto L_08A1EB34; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A1EB34u) goto L_08A1EB34; AOT_REGCACHE_SYNC_OUT(); return; L_08A1EB34: aot_fpr_12 = ctx.fpr[22] - ctx.fpr[20]; @@ -6305,7 +6306,7 @@ L_08A1EB34: aot_gpr_4 = (16256u << 16u); aot_gpr_31 = (0x08A1EB60u); ctx.fpr[22] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A1EB60u) goto L_08A1EB60; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A1EB60u) goto L_08A1EB60; AOT_REGCACHE_SYNC_OUT(); return; L_08A1EB60: aot_fpr_12 = ctx.fpr[22] - ctx.fpr[24]; @@ -6316,7 +6317,7 @@ L_08A1EB60: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(36), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08A1EB80u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A1EB80u) goto L_08A1EB80; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A1EB80u) goto L_08A1EB80; AOT_REGCACHE_SYNC_OUT(); return; L_08A1EB80: aot_fpr_12 = ctx.fpr[22] - ctx.fpr[24]; @@ -6327,7 +6328,7 @@ L_08A1EB80: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(40), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08A1EBA0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A1EBA0u) goto L_08A1EBA0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A1EBA0u) goto L_08A1EBA0; AOT_REGCACHE_SYNC_OUT(); return; L_08A1EBA0: aot_fpr_12 = ctx.fpr[22] - ctx.fpr[24]; @@ -6339,7 +6340,7 @@ L_08A1EBA0: aot_gpr_4 = (16384u << 16u); aot_gpr_31 = (0x08A1EBC4u); ctx.fpr[20] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A1EBC4u) goto L_08A1EBC4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A1EBC4u) goto L_08A1EBC4; AOT_REGCACHE_SYNC_OUT(); return; L_08A1EBC4: aot_fpr_12 = ctx.fpr[20] - ctx.fpr[24]; @@ -6394,7 +6395,7 @@ L_08A1EC30: aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(2072), static_cast(0u)); aot_gpr_31 = (0x08A1EC80u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A1EC80u) goto L_08A1EC80; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A1EC80u) goto L_08A1EC80; AOT_REGCACHE_SYNC_OUT(); return; L_08A1EC80: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7452))); @@ -6668,7 +6669,7 @@ L_08A1EDD4: aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(8), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08A1EE78u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A1EE78u) goto L_08A1EE78; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A1EE78u) goto L_08A1EE78; AOT_REGCACHE_SYNC_OUT(); return; L_08A1EE78: aot_gpr_4 = (ctx.gpr[2] | 0u); @@ -6676,7 +6677,7 @@ L_08A1EE78: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7572))); aot_gpr_31 = (0x08A1EE8Cu); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7576))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A1EE8Cu) goto L_08A1EE8C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A1EE8Cu) goto L_08A1EE8C; AOT_REGCACHE_SYNC_OUT(); return; L_08A1EE8C: ctx.gpr[1] = (ctx.gpr[3] << 1u); @@ -6702,7 +6703,7 @@ L_08A1EEA8: L_08A1EEB0: aot_gpr_31 = (0x08A1EEB8u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A1EEB8u) goto L_08A1EEB8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A1EEB8u) goto L_08A1EEB8; AOT_REGCACHE_SYNC_OUT(); return; L_08A1EEB8: aot_gpr_4 = (ctx.gpr[2] | 0u); @@ -6710,7 +6711,7 @@ L_08A1EEB8: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7572))); aot_gpr_31 = (0x08A1EECCu); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7576))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A1EECCu) goto L_08A1EECC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A1EECCu) goto L_08A1EECC; AOT_REGCACHE_SYNC_OUT(); return; L_08A1EECC: ctx.gpr[1] = (ctx.gpr[3] << 1u); @@ -6967,7 +6968,7 @@ L_08A1F074: L_08A1F07C: aot_gpr_31 = (0x08A1F084u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A1F084u) goto L_08A1F084; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A1F084u) goto L_08A1F084; AOT_REGCACHE_SYNC_OUT(); return; L_08A1F084: aot_gpr_4 = (ctx.gpr[2] | 0u); @@ -6975,7 +6976,7 @@ L_08A1F084: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7572))); aot_gpr_31 = (0x08A1F098u); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7576))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A1F098u) goto L_08A1F098; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A1F098u) goto L_08A1F098; AOT_REGCACHE_SYNC_OUT(); return; L_08A1F098: ctx.gpr[1] = (ctx.gpr[3] << 1u); @@ -7017,7 +7018,7 @@ L_08A1F0D8: aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(153), static_cast(aot_gpr_4)); aot_gpr_31 = (0x08A1F0E4u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A1F0E4u) goto L_08A1F0E4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A1F0E4u) goto L_08A1F0E4; AOT_REGCACHE_SYNC_OUT(); return; L_08A1F0E4: aot_gpr_4 = (ctx.gpr[2] | 0u); @@ -7025,7 +7026,7 @@ L_08A1F0E4: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7572))); aot_gpr_31 = (0x08A1F0F8u); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7576))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A1F0F8u) goto L_08A1F0F8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A1F0F8u) goto L_08A1F0F8; AOT_REGCACHE_SYNC_OUT(); return; L_08A1F0F8: ctx.gpr[1] = (ctx.gpr[3] << 1u); diff --git a/profiles/vcs/generated/generated_unit_0135.cpp b/profiles/vcs/generated/generated_unit_0135.cpp index 2db6c36..4775e13 100644 --- a/profiles/vcs/generated/generated_unit_0135.cpp +++ b/profiles/vcs/generated/generated_unit_0135.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0135[4096] = { }; void recomp_unit_0135_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,16,29,28,6 fprs=12,13,14,20 gpr_occ=3434 fpr_occ=1259 gpr_total=4481 fpr_total=1705 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,16,6,31 fprs=12,13,14,20 gpr_occ=3501 fpr_occ=1259 gpr_total=4681 fpr_total=1705 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; - std::uint32_t aot_gpr_16 = ctx.gpr[16]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; - std::uint32_t aot_gpr_28 = ctx.gpr[28]; + std::uint32_t aot_gpr_16 = ctx.gpr[16]; std::uint32_t aot_gpr_6 = ctx.gpr[6]; + std::uint32_t aot_gpr_31 = ctx.gpr[31]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_14 = ctx.fpr[14]; float aot_fpr_20 = ctx.fpr[20]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[16] = aot_gpr_16; ctx.gpr[29] = aot_gpr_29; ctx.gpr[28] = aot_gpr_28; ctx.gpr[6] = aot_gpr_6; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[20] = aot_fpr_20; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_28 = ctx.gpr[28]; aot_gpr_6 = ctx.gpr[6]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_20 = ctx.fpr[20]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[16] = aot_gpr_16; ctx.gpr[6] = aot_gpr_6; ctx.gpr[31] = aot_gpr_31; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[20] = aot_fpr_20; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_31 = ctx.gpr[31]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_20 = ctx.fpr[20]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -696,10 +697,10 @@ LOCAL_DISPATCH: } } L_08A20000: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7024))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7024))); aot_gpr_5 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(7024), aot_gpr_5); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-7448))); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7024), aot_gpr_5); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7448))); aot_gpr_4 = (static_cast(aot_gpr_5) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -709,9 +710,9 @@ L_08A20000: goto L_08A2001C; } L_08A2001C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-7448))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7448))); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(7024), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7024), aot_gpr_4); if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0134_entry, 134u, 647u, 0x08A1FFB8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } @@ -721,7 +722,7 @@ L_08A20028: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 < ctx.fpr[26])) ? 0x00800000u : 0u); // nop if (!((ctx.fcr31 & 0x00800000u) != 0u)) { - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-7428))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7428))); goto L_08A20040; } goto L_08A20038; @@ -735,11 +736,11 @@ L_08A20038: } L_08A20040: { const float fs = aot_fpr_13; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-7424))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7424))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_14 < aot_fpr_13)) ? 0x00800000u : 0u); // nop if (!((ctx.fcr31 & 0x00800000u) != 0u)) { - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-7424))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7424))); goto L_08A20058; } goto L_08A20058; @@ -747,7 +748,7 @@ L_08A20058: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 <= ctx.fpr[22])) ? 0x00800000u : 0u); // nop if (((ctx.fcr31 & 0x00800000u) != 0u)) { - ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-7428))); + ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7428))); goto L_08A20070; } goto L_08A20068; @@ -761,11 +762,11 @@ L_08A20068: } L_08A20070: { const float fs = ctx.fpr[22]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[22] = std::bit_cast(0x7FC00000u); else ctx.fpr[22] = fs * ft; } - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-7424))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7424))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 < ctx.fpr[22])) ? 0x00800000u : 0u); // nop if (!((ctx.fcr31 & 0x00800000u) != 0u)) { - ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-7424))); + ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7424))); goto L_08A20088; } goto L_08A20088; @@ -785,7 +786,7 @@ L_08A20088: aot_gpr_6 = (ctx.gpr[30] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[26])); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[28])); - ctx.gpr[31] = (0x08A200CCu); + aot_gpr_31 = (0x08A200CCu); ctx.fpr[15] = std::bit_cast(std::bit_cast(ctx.fpr[22])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 471u, 0x08A1AF14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A200CCu) goto L_08A200CC; AOT_REGCACHE_SYNC_OUT(); return; @@ -810,9 +811,9 @@ L_08A200D0: ctx.gpr[22] = aot_run_words[12]; ctx.gpr[23] = aot_run_words[13]; ctx.gpr[30] = aot_run_words[14]; - ctx.gpr[31] = aot_run_words[15]; + aot_gpr_31 = aot_run_words[15]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(688)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -820,7 +821,7 @@ L_08A200D0: AOT_REGCACHE_SYNC_OUT(); return; L_08A20118: aot_gpr_29 = (aot_gpr_29 + static_cast(-2848)); - { const std::uint32_t aot_run_words[16]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[16]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(2772), aot_run_words); } aot_gpr_5 = (2236u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(32304)); @@ -867,17 +868,17 @@ L_08A20194: ctx.gpr[11] = (ctx.gpr[17] | 0u); { const std::uint32_t aot_run_words[4]{ctx.gpr[2], ctx.gpr[3], ctx.gpr[12], ctx.gpr[13]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - ctx.gpr[31] = (0x08A201F0u); + aot_gpr_31 = (0x08A201F0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[14]); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 515u, 0x08A1B674u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A201F0u) goto L_08A201F0; AOT_REGCACHE_SYNC_OUT(); return; L_08A201F0: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7660))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7028))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7028))); aot_gpr_4 = (0u | 50u); ctx.gpr[18] = (0u | 1u); { const bool branch_taken = aot_gpr_5 == 0u; - ctx.gpr[7] = (aot_gpr_28 + static_cast(2)); + ctx.gpr[7] = (ctx.gpr[28] + static_cast(2)); if (branch_taken) { goto L_08A20218; } @@ -901,12 +902,12 @@ L_08A20210: } L_08A20218: aot_gpr_5 = (0u | 1u); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(7028), aot_gpr_5); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-7400))); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(7032), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7028), aot_gpr_5); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7400))); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7032), aot_gpr_5); goto L_08A20228; L_08A20228: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-7584))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7584))); if (aot_gpr_5 != aot_gpr_4) { aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(2764), ctx.gpr[7]); goto L_08A20258; @@ -915,8 +916,8 @@ L_08A20228: L_08A20234: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(2764), ctx.gpr[7]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(2756), aot_gpr_6); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-7608))); - ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7764))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7608))); + ctx.gpr[8] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7764))); ctx.gpr[8] = (ctx.gpr[8] + static_cast(-1)); aot_gpr_5 = (aot_gpr_5 < ctx.gpr[8] ? 1u : 0u); if (aot_gpr_5 == 0u) { @@ -931,25 +932,25 @@ L_08A20258: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(2756), aot_gpr_6); aot_mem.aot_direct_store8(ctx.gpr[7] + static_cast(-7596), static_cast(0u)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(2760), ctx.gpr[7]); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-7584), aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-7604), aot_gpr_6); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-7584), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-7604), aot_gpr_6); aot_gpr_4 = (2234u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(7704)); aot_gpr_4 = (aot_gpr_4 + static_cast(8)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_4 = (aot_gpr_6 + aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-7600), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-7400))); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(7032), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-7600), aot_gpr_4); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7400))); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7032), aot_gpr_4); aot_gpr_4 = (2279u << 16u); - ctx.gpr[31] = (0x08A20298u); + aot_gpr_31 = (0x08A20298u); aot_gpr_4 = (aot_gpr_4 + static_cast(25248)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 546u, 0x08A1B9ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A20298u) goto L_08A20298; AOT_REGCACHE_SYNC_OUT(); return; L_08A20298: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(2416), 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(2420), 0u); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-7392))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7392))); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); @@ -967,7 +968,7 @@ L_08A20298: const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-7380))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7380))); aot_gpr_4 = (std::bit_cast(aot_fpr_13)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); { const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); @@ -1009,7 +1010,7 @@ L_08A20298: const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-7392))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7392))); aot_gpr_6 = (aot_gpr_29 + static_cast(2424)); ctx.gpr[8] = (aot_gpr_29 + static_cast(368)); aot_gpr_5 = (0u | 1u); @@ -1019,12 +1020,12 @@ L_08A20298: ctx.gpr[11] = (0u | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[18]); - ctx.gpr[31] = (0x08A2031Cu); + aot_gpr_31 = (0x08A2031Cu); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0037_entry, 37u, 287u, 0x08899758u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A2031Cu) goto L_08A2031C; AOT_REGCACHE_SYNC_OUT(); return; L_08A2031C: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-7388))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7388))); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); @@ -1041,7 +1042,7 @@ L_08A2031C: const std::uint32_t vfpu_address = ctx.gpr[20] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-7376))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7376))); aot_gpr_4 = (std::bit_cast(aot_fpr_13)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); { const std::uint32_t vfpu_address = ctx.gpr[20] + static_cast(0); @@ -1082,7 +1083,7 @@ L_08A2031C: const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-7388))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7388))); aot_gpr_6 = (aot_gpr_29 + static_cast(2426)); ctx.gpr[8] = (aot_gpr_29 + static_cast(880)); aot_gpr_5 = (0u | 1u); @@ -1092,7 +1093,7 @@ L_08A2031C: ctx.gpr[11] = (0u | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[18]); - ctx.gpr[31] = (0x08A20390u); + aot_gpr_31 = (0x08A20390u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0037_entry, 37u, 287u, 0x08899758u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A20390u) goto L_08A20390; AOT_REGCACHE_SYNC_OUT(); return; @@ -1127,7 +1128,7 @@ L_08A203BC: goto L_08A203D4; L_08A203D4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(368))); - ctx.gpr[31] = (0x08A203E0u); + aot_gpr_31 = (0x08A203E0u); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(86)))))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 405u, 0x08A1AA20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A203E0u) goto L_08A203E0; AOT_REGCACHE_SYNC_OUT(); return; @@ -1189,7 +1190,7 @@ L_08A20440: } L_08A20458: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(880))); - ctx.gpr[31] = (0x08A20464u); + aot_gpr_31 = (0x08A20464u); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(86)))))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 405u, 0x08A1AA20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A20464u) goto L_08A20464; AOT_REGCACHE_SYNC_OUT(); return; @@ -1281,7 +1282,7 @@ L_08A2050C: goto L_08A20524; L_08A20524: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(1392))); - ctx.gpr[31] = (0x08A20530u); + aot_gpr_31 = (0x08A20530u); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(86)))))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 405u, 0x08A1AA20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A20530u) goto L_08A20530; AOT_REGCACHE_SYNC_OUT(); return; @@ -1295,7 +1296,7 @@ L_08A20538: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(1392))); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(86)))))); aot_gpr_4 = (aot_gpr_4 << 2u); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(24))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); @@ -1316,7 +1317,7 @@ L_08A20538: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(1392))); aot_gpr_16 = (aot_gpr_29 + static_cast(2512)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08A20574u); + aot_gpr_31 = (0x08A20574u); aot_gpr_6 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 350u, 0x08A1A5F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A20574u) goto L_08A20574; AOT_REGCACHE_SYNC_OUT(); return; @@ -1337,7 +1338,7 @@ L_08A20574: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(1392))); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(86)))))); aot_gpr_5 = (aot_gpr_4 << 2u); - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(24))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(20))); @@ -1351,9 +1352,9 @@ L_08A20574: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); { const float fs = aot_fpr_13; const float ft = ctx.fpr[22]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } ctx.fpr[28] = aot_fpr_12 - aot_fpr_13; - ctx.gpr[31] = (0x08A205C8u); + aot_gpr_31 = (0x08A205C8u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A205C8u) goto L_08A205C8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A205C8u) goto L_08A205C8; AOT_REGCACHE_SYNC_OUT(); return; L_08A205C8: aot_fpr_14 = ctx.fpr[28] - ctx.fpr[24]; @@ -1419,13 +1420,13 @@ L_08A205C8: const std::uint32_t vfpu_address = ctx.gpr[23] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - ctx.gpr[31] = (0x08A20624u); + aot_gpr_31 = (0x08A20624u); aot_gpr_4 = (ctx.gpr[23] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A20624u) goto L_08A20624; AOT_REGCACHE_SYNC_OUT(); return; L_08A20624: aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[26]) & 0x7FFFFFFFu); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-7372))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7372))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); @@ -1479,7 +1480,7 @@ L_08A20664: } L_08A2067C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1904))); - ctx.gpr[31] = (0x08A20688u); + aot_gpr_31 = (0x08A20688u); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(86)))))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 405u, 0x08A1AA20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A20688u) goto L_08A20688; AOT_REGCACHE_SYNC_OUT(); return; @@ -1495,7 +1496,7 @@ L_08A20690: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(1904))); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(86)))))); aot_gpr_4 = (aot_gpr_4 << 2u); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(24))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); @@ -1515,7 +1516,7 @@ L_08A20690: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1904))); aot_gpr_4 = (ctx.gpr[21] | 0u); - ctx.gpr[31] = (0x08A206C8u); + aot_gpr_31 = (0x08A206C8u); aot_gpr_6 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 350u, 0x08A1A5F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A206C8u) goto L_08A206C8; AOT_REGCACHE_SYNC_OUT(); return; @@ -1536,7 +1537,7 @@ L_08A206C8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(1904))); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(86)))))); aot_gpr_5 = (aot_gpr_4 << 2u); - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(24))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(20))); @@ -1550,9 +1551,9 @@ L_08A206C8: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); { const float fs = aot_fpr_13; const float ft = ctx.fpr[22]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } ctx.fpr[28] = aot_fpr_12 - aot_fpr_13; - ctx.gpr[31] = (0x08A2071Cu); + aot_gpr_31 = (0x08A2071Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A2071Cu) goto L_08A2071C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A2071Cu) goto L_08A2071C; AOT_REGCACHE_SYNC_OUT(); return; L_08A2071C: aot_fpr_14 = ctx.fpr[28] - ctx.fpr[24]; @@ -1571,7 +1572,7 @@ L_08A2071C: ctx.gpr[10] = (0u | 0u); ctx.gpr[11] = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[2]); - ctx.gpr[31] = (0x08A20764u); + aot_gpr_31 = (0x08A20764u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0036_entry, 36u, 527u, 0x088967ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A20764u) goto L_08A20764; AOT_REGCACHE_SYNC_OUT(); return; @@ -1594,7 +1595,7 @@ L_08A2076C: ctx.gpr[10] = (0u | 0u); ctx.gpr[11] = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[2]); - ctx.gpr[31] = (0x08A2079Cu); + aot_gpr_31 = (0x08A2079Cu); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0036_entry, 36u, 527u, 0x088967ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A2079Cu) goto L_08A2079C; AOT_REGCACHE_SYNC_OUT(); return; @@ -1702,11 +1703,11 @@ L_08A20814: goto L_08A20818; L_08A20818: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(2756))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-7604))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7604))); aot_gpr_4 = (aot_gpr_4 - aot_gpr_5); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_20 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-7600))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7600))); aot_gpr_4 = (aot_gpr_4 - aot_gpr_5); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_13))); @@ -1786,7 +1787,7 @@ L_08A20818: const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-7396))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7396))); aot_gpr_5 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_5); { const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); @@ -1804,12 +1805,12 @@ L_08A20818: const std::uint32_t vfpu_address = ctx.gpr[20] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - ctx.gpr[31] = (0x08A208BCu); + aot_gpr_31 = (0x08A208BCu); aot_gpr_5 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 464u, 0x08A931D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A208BCu) goto L_08A208BC; AOT_REGCACHE_SYNC_OUT(); return; L_08A208BC: - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-7396))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7396))); aot_gpr_4 = (std::bit_cast(aot_fpr_13)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); { const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); @@ -1846,7 +1847,7 @@ L_08A208BC: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (ctx.gpr[17] | 0u); - ctx.gpr[31] = (0x08A20900u); + aot_gpr_31 = (0x08A20900u); aot_gpr_5 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A20900u) goto L_08A20900; AOT_REGCACHE_SYNC_OUT(); return; @@ -1871,7 +1872,7 @@ L_08A2090C: ctx.fpr[15] = std::bit_cast(aot_gpr_4); { const float fs = aot_fpr_13; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } ctx.fpr[24] = aot_fpr_13 / aot_fpr_12; - ctx.gpr[31] = (0x08A20948u); + aot_gpr_31 = (0x08A20948u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[24])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 417u, 0x08A1AAA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A20948u) goto L_08A20948; AOT_REGCACHE_SYNC_OUT(); return; @@ -1888,7 +1889,7 @@ L_08A20948: { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } ctx.fpr[22] = ctx.fpr[22] + aot_fpr_12; ctx.fpr[30] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(244))); - ctx.gpr[31] = (0x08A20980u); + aot_gpr_31 = (0x08A20980u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[24])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 417u, 0x08A1AAA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A20980u) goto L_08A20980; AOT_REGCACHE_SYNC_OUT(); return; @@ -1901,7 +1902,7 @@ L_08A20980: { const float fs = aot_fpr_14; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } ctx.fpr[30] = ctx.fpr[30] + aot_fpr_12; aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(248))); - ctx.gpr[31] = (0x08A209A8u); + aot_gpr_31 = (0x08A209A8u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[24])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 417u, 0x08A1AAA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A209A8u) goto L_08A209A8; AOT_REGCACHE_SYNC_OUT(); return; @@ -1943,7 +1944,7 @@ L_08A209E8: aot_gpr_5 = (0u | 22u); aot_gpr_6 = (ctx.gpr[17] | 0u); ctx.gpr[7] = (ctx.gpr[20] | 0u); - ctx.gpr[31] = (0x08A20A14u); + aot_gpr_31 = (0x08A20A14u); ctx.gpr[8] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 517u, 0x08A1B7BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A20A14u) goto L_08A20A14; AOT_REGCACHE_SYNC_OUT(); return; @@ -1957,7 +1958,7 @@ L_08A20A14: } L_08A20A1C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(8068), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8068), aot_gpr_4); aot_gpr_6 = (aot_gpr_29 + static_cast(288)); ctx.gpr[7] = (aot_gpr_29 + static_cast(320)); aot_gpr_4 = (ctx.gpr[20] | 0u); @@ -1968,13 +1969,13 @@ L_08A20A1C: ctx.gpr[11] = (0u | 0u); { const std::uint32_t aot_run_words[4]{0u, 0u, 0u, 0u}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - ctx.gpr[31] = (0x08A20A5Cu); + aot_gpr_31 = (0x08A20A5Cu); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0036_entry, 36u, 698u, 0x0889786Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A20A5Cu) goto L_08A20A5C; AOT_REGCACHE_SYNC_OUT(); return; L_08A20A5C: aot_gpr_4 = (ctx.gpr[2] < static_cast(1) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(8068), 0u); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8068), 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -2000,10 +2001,10 @@ L_08A20A74: goto L_08A20A80; } L_08A20A80: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7032))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7032))); aot_gpr_5 = (aot_gpr_4 + static_cast(-1)); { const bool branch_taken = aot_gpr_4 != 0u; - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(7032), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7032), aot_gpr_5); if (branch_taken) { goto L_08A20AC0; } @@ -2019,10 +2020,10 @@ L_08A20A90: goto L_08A20A9C; } L_08A20A9C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7032))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7032))); aot_gpr_5 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(7032), aot_gpr_5); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-7400))); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7032), aot_gpr_5); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7400))); aot_gpr_4 = (static_cast(aot_gpr_5) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -2032,8 +2033,8 @@ L_08A20A9C: goto L_08A20AB8; } L_08A20AB8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-7400))); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(7032), aot_gpr_4); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7400))); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7032), aot_gpr_4); goto L_08A20AC0; L_08A20AC0: aot_fpr_12 = std::bit_cast(0u); @@ -2044,7 +2045,7 @@ L_08A20AC0: aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_6 = (ctx.gpr[20] | 0u); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); - ctx.gpr[31] = (0x08A20AE8u); + aot_gpr_31 = (0x08A20AE8u); ctx.fpr[15] = std::bit_cast(std::bit_cast(aot_fpr_12)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 471u, 0x08A1AF14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A20AE8u) goto L_08A20AE8; AOT_REGCACHE_SYNC_OUT(); return; @@ -2069,9 +2070,9 @@ L_08A20AEC: ctx.gpr[22] = aot_run_words[12]; ctx.gpr[23] = aot_run_words[13]; ctx.gpr[30] = aot_run_words[14]; - ctx.gpr[31] = aot_run_words[15]; + aot_gpr_31 = aot_run_words[15]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(2848)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -2079,7 +2080,7 @@ L_08A20AEC: AOT_REGCACHE_SYNC_OUT(); return; L_08A20B34: aot_gpr_29 = (aot_gpr_29 + static_cast(-432)); - { const std::uint32_t aot_run_words[11]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[11]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(384), aot_run_words); } aot_gpr_5 = (2236u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(32304)); @@ -2122,14 +2123,14 @@ L_08A20B9C: aot_gpr_4 = (aot_gpr_16 | 0u); { const std::uint32_t aot_run_words[4]{ctx.gpr[2], ctx.gpr[3], ctx.gpr[12], ctx.gpr[13]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - ctx.gpr[31] = (0x08A20BE8u); + aot_gpr_31 = (0x08A20BE8u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[14]); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 515u, 0x08A1B674u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A20BE8u) goto L_08A20BE8; AOT_REGCACHE_SYNC_OUT(); return; L_08A20BE8: - ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7660))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); ctx.gpr[18] = (0u | 3u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-7584))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7584))); aot_gpr_5 = (0u | 51u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -2140,7 +2141,7 @@ L_08A20BE8: } L_08A20C00: { const bool branch_taken = 0u == 0u; - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-7608))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7608))); if (branch_taken) { goto L_08A20C10; } @@ -2155,7 +2156,7 @@ L_08A20C08: goto L_08A20C10; } L_08A20C10: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7764))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7764))); aot_gpr_5 = (aot_gpr_5 + static_cast(-1)); aot_gpr_4 = (aot_gpr_4 < aot_gpr_5 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; @@ -2166,21 +2167,21 @@ L_08A20C10: goto L_08A20C24; } L_08A20C24: - aot_gpr_4 = (aot_gpr_28 + ctx.gpr[18]); + aot_gpr_4 = (ctx.gpr[28] + ctx.gpr[18]); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(-7596), static_cast(0u)); aot_gpr_4 = (0u | 51u); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-7584), aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-7604), ctx.gpr[17]); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-7584), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-7604), ctx.gpr[17]); aot_gpr_4 = (ctx.gpr[18] << 2u); aot_gpr_5 = (2234u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(7704)); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_4 = (ctx.gpr[17] + aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-7600), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-7600), aot_gpr_4); aot_gpr_4 = (0u | 0u); ctx.gpr[19] = (0u | 0u); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-7368))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7368))); aot_gpr_5 = (static_cast(ctx.gpr[19]) < static_cast(aot_gpr_5) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; // nop @@ -2206,15 +2207,15 @@ L_08A20C6C: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(72))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-7364))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7364))); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(72), std::bit_cast(aot_fpr_12)); - aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-7360))); + aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7360))); aot_gpr_4 = (16128u << 16u); ctx.fpr[22] = std::bit_cast(aot_gpr_4); - ctx.gpr[31] = (0x08A20CA0u); + aot_gpr_31 = (0x08A20CA0u); { const float fs = aot_fpr_20; const float ft = ctx.fpr[22]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[24] = std::bit_cast(0x7FC00000u); else ctx.fpr[24] = fs * ft; } - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A20CA0u) goto L_08A20CA0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A20CA0u) goto L_08A20CA0; AOT_REGCACHE_SYNC_OUT(); return; L_08A20CA0: aot_fpr_12 = aot_fpr_20 - ctx.fpr[24]; @@ -2223,10 +2224,10 @@ L_08A20CA0: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); aot_fpr_12 = aot_fpr_13 + aot_fpr_12; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), std::bit_cast(aot_fpr_12)); - ctx.fpr[26] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-7360))); - ctx.gpr[31] = (0x08A20CC4u); + ctx.fpr[26] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7360))); + aot_gpr_31 = (0x08A20CC4u); { const float fs = ctx.fpr[26]; const float ft = ctx.fpr[22]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[22] = std::bit_cast(0x7FC00000u); else ctx.fpr[22] = fs * ft; } - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A20CC4u) goto L_08A20CC4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A20CC4u) goto L_08A20CC4; AOT_REGCACHE_SYNC_OUT(); return; L_08A20CC4: aot_fpr_12 = ctx.fpr[26] - ctx.fpr[22]; @@ -2236,7 +2237,7 @@ L_08A20CC4: aot_fpr_12 = aot_fpr_14 + aot_fpr_12; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(32))); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(8068), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8068), aot_gpr_4); aot_gpr_6 = (aot_gpr_29 + static_cast(272)); ctx.gpr[7] = (aot_gpr_29 + static_cast(304)); aot_gpr_4 = (ctx.gpr[20] | 0u); @@ -2247,13 +2248,13 @@ L_08A20CC4: ctx.gpr[11] = (0u | 0u); { const std::uint32_t aot_run_words[4]{0u, 0u, 0u, 0u}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - ctx.gpr[31] = (0x08A20D1Cu); + aot_gpr_31 = (0x08A20D1Cu); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0036_entry, 36u, 698u, 0x0889786Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A20D1Cu) goto L_08A20D1C; AOT_REGCACHE_SYNC_OUT(); return; L_08A20D1C: aot_gpr_4 = (ctx.gpr[2] < static_cast(1) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(8068), 0u); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8068), 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -2278,16 +2279,16 @@ L_08A20D2C: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_5 = (aot_gpr_28 + static_cast(7040)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(7040)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7048))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7048))); aot_gpr_5 = (16384u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_5); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(7048), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7048), std::bit_cast(aot_fpr_12)); { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { @@ -2297,7 +2298,7 @@ L_08A20D2C: } L_08A20D70: ctx.gpr[19] = (ctx.gpr[19] + static_cast(1)); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-7368))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7368))); aot_gpr_5 = (static_cast(ctx.gpr[19]) < static_cast(aot_gpr_5) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 != 0u; // nop @@ -2315,17 +2316,17 @@ L_08A20D84: goto L_08A20D8C; } L_08A20D8C: - ctx.gpr[31] = (0x08A20D94u); + aot_gpr_31 = (0x08A20D94u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A20D94u) goto L_08A20D94; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A20D94u) goto L_08A20D94; AOT_REGCACHE_SYNC_OUT(); return; L_08A20D94: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_5 = (0u | 0u); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-7572))); - ctx.gpr[31] = (0x08A20DA8u); - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-7576))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A20DA8u) goto L_08A20DA8; + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7572))); + aot_gpr_31 = (0x08A20DA8u); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7576))); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A20DA8u) goto L_08A20DA8; AOT_REGCACHE_SYNC_OUT(); return; L_08A20DA8: ctx.gpr[1] = (ctx.gpr[3] << 1u); @@ -2350,7 +2351,7 @@ L_08A20DC4: } L_08A20DCC: aot_gpr_4 = (0u | 1u); - aot_gpr_5 = (aot_gpr_28 + ctx.gpr[18]); + aot_gpr_5 = (ctx.gpr[28] + ctx.gpr[18]); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(-7596), static_cast(aot_gpr_4)); { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 0u); @@ -2360,19 +2361,19 @@ L_08A20DCC: goto L_08A20DE0; } L_08A20DE0: - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-7356), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-7356), static_cast(aot_gpr_4)); goto L_08A20DE4; L_08A20DE4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-7604))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7604))); aot_gpr_5 = (ctx.gpr[17] - aot_gpr_4); aot_fpr_12 = std::bit_cast(aot_gpr_5); aot_fpr_20 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-7600))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7600))); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_13))); aot_fpr_20 = aot_fpr_20 / aot_fpr_13; - aot_gpr_4 = (aot_gpr_28 + static_cast(7040)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(7040)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -2439,7 +2440,7 @@ L_08A20DE4: goto L_08A20E64; } L_08A20E64: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-7356))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7356))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -2457,7 +2458,7 @@ L_08A20E70: } L_08A20E78: aot_gpr_4 = (0u | 1u); - aot_gpr_5 = (aot_gpr_28 + ctx.gpr[18]); + aot_gpr_5 = (ctx.gpr[28] + ctx.gpr[18]); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(-7596), static_cast(aot_gpr_4)); { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 0u); @@ -2506,13 +2507,13 @@ L_08A20E8C: ctx.execute_vfpu_unary_ct<28u, 28u, 1u, 22u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); ctx.fpr[22] = std::bit_cast(aot_gpr_4); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-7348))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7348))); aot_fpr_12 = ctx.fpr[22] / aot_fpr_12; aot_fpr_13 = std::bit_cast(0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); // nop if (!((ctx.fcr31 & 0x00800000u) != 0u)) { - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-7348))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7348))); goto L_08A20EE0; } goto L_08A20ED8; @@ -2546,7 +2547,7 @@ L_08A20EFC: goto L_08A20F04; } L_08A20F04: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-7348))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7348))); ctx.fpr[22] = ctx.fpr[22] / aot_fpr_12; goto L_08A20F0C; L_08A20F0C: @@ -2576,12 +2577,12 @@ L_08A20F0C: aot_gpr_4 = (16128u << 16u); aot_fpr_14 = std::bit_cast(aot_gpr_4); { const float fs = aot_fpr_12; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-7340))); - ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-7344))); + ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7340))); + ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7344))); ctx.fpr[15] = ctx.fpr[15] - ctx.fpr[22]; { const float fs = aot_fpr_12; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } ctx.fpr[22] = ctx.fpr[22] + aot_fpr_12; - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-7336))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7336))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 <= aot_fpr_20)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); @@ -2592,7 +2593,7 @@ L_08A20F0C: goto L_08A20F94; } L_08A20F94: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7060))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7060))); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_4 = (0u | 1u); if (branch_taken) { @@ -2601,18 +2602,18 @@ L_08A20F94: goto L_08A20FA0; } L_08A20FA0: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(7060), aot_gpr_4); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-7344))); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(7064), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7060), aot_gpr_4); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7344))); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7064), std::bit_cast(aot_fpr_12)); goto L_08A20FAC; L_08A20FAC: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-7336))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7336))); aot_fpr_12 = aot_fpr_20 / aot_fpr_12; aot_fpr_13 = std::bit_cast(0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); // nop if (!((ctx.fcr31 & 0x00800000u) != 0u)) { - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-7336))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7336))); goto L_08A20FD0; } goto L_08A20FC8; @@ -2646,7 +2647,7 @@ L_08A20FEC: goto L_08A20FF4; } L_08A20FF4: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-7336))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7336))); aot_fpr_12 = aot_fpr_20 / aot_fpr_12; goto L_08A20FFC; L_08A20FFC: @@ -2676,14 +2677,14 @@ L_08A20FFC: aot_gpr_4 = (16128u << 16u); aot_fpr_14 = std::bit_cast(aot_gpr_4); { const float fs = aot_fpr_12; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7064))); + ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7064))); ctx.fpr[16] = ctx.fpr[22] - ctx.fpr[15]; { const float fs = aot_fpr_12; const float ft = ctx.fpr[16]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[22] = std::bit_cast(0x7FC00000u); else ctx.fpr[22] = fs * ft; } ctx.fpr[22] = ctx.fpr[15] + ctx.fpr[22]; goto L_08A2106C; L_08A2106C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(32))); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(8068), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8068), aot_gpr_4); aot_gpr_4 = (aot_gpr_29 + static_cast(48)); aot_gpr_5 = (aot_gpr_29 + static_cast(64)); aot_gpr_6 = (aot_gpr_29 + static_cast(224)); @@ -2694,14 +2695,14 @@ L_08A2106C: ctx.gpr[11] = (0u | 0u); { const std::uint32_t aot_run_words[4]{0u, 0u, 0u, 0u}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - ctx.gpr[31] = (0x08A210ACu); + aot_gpr_31 = (0x08A210ACu); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0036_entry, 36u, 698u, 0x0889786Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A210ACu) goto L_08A210AC; AOT_REGCACHE_SYNC_OUT(); return; L_08A210AC: aot_gpr_4 = (ctx.gpr[2] < static_cast(1) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(8068), 0u); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7036))); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8068), 0u); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7036))); { const bool branch_taken = aot_gpr_5 != 0u; aot_gpr_5 = (0u | 1u); if (branch_taken) { @@ -2710,9 +2711,9 @@ L_08A210AC: goto L_08A210C0; } L_08A210C0: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(7036), aot_gpr_5); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-7352))); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(7056), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7036), aot_gpr_5); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7352))); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7056), aot_gpr_5); goto L_08A210CC; L_08A210CC: { const bool branch_taken = aot_gpr_4 != 0u; @@ -2723,10 +2724,10 @@ L_08A210CC: goto L_08A210D4; } L_08A210D4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7056))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7056))); aot_gpr_5 = (aot_gpr_4 + static_cast(-1)); { const bool branch_taken = aot_gpr_4 == 0u; - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(7056), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7056), aot_gpr_5); if (branch_taken) { goto L_08A2111C; } @@ -2738,7 +2739,7 @@ L_08A210E4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 23u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); - ctx.gpr[31] = (0x08A21100u); + aot_gpr_31 = (0x08A21100u); ctx.gpr[8] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 517u, 0x08A1B7BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A21100u) goto L_08A21100; AOT_REGCACHE_SYNC_OUT(); return; @@ -2752,7 +2753,7 @@ L_08A21100: } L_08A21108: aot_gpr_4 = (0u | 1u); - aot_gpr_5 = (aot_gpr_28 + ctx.gpr[18]); + aot_gpr_5 = (ctx.gpr[28] + ctx.gpr[18]); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(-7596), static_cast(aot_gpr_4)); { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 0u); @@ -2763,7 +2764,7 @@ L_08A21108: } L_08A2111C: aot_gpr_4 = (0u | 1u); - aot_gpr_5 = (aot_gpr_28 + ctx.gpr[18]); + aot_gpr_5 = (ctx.gpr[28] + ctx.gpr[18]); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(-7596), static_cast(aot_gpr_4)); { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 0u); @@ -2773,10 +2774,10 @@ L_08A2111C: goto L_08A21130; } L_08A21130: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7056))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7056))); aot_gpr_5 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(7056), aot_gpr_5); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-7352))); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7056), aot_gpr_5); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7352))); aot_gpr_4 = (static_cast(aot_gpr_5) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -2786,9 +2787,9 @@ L_08A21130: goto L_08A2114C; } L_08A2114C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-7352))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7352))); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(7056), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7056), aot_gpr_4); if (branch_taken) { goto L_08A210E4; } @@ -2811,7 +2812,7 @@ L_08A21158: aot_gpr_4 = (16256u << 16u); ctx.fpr[15] = std::bit_cast(aot_gpr_4); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08A211A0u); + aot_gpr_31 = (0x08A211A0u); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[22])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 471u, 0x08A1AF14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A211A0u) goto L_08A211A0; AOT_REGCACHE_SYNC_OUT(); return; @@ -2831,9 +2832,9 @@ L_08A211A4: ctx.gpr[19] = aot_run_words[7]; ctx.gpr[20] = aot_run_words[8]; ctx.gpr[21] = aot_run_words[9]; - ctx.gpr[31] = aot_run_words[10]; + aot_gpr_31 = aot_run_words[10]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(432)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -2841,7 +2842,7 @@ L_08A211A4: AOT_REGCACHE_SYNC_OUT(); return; L_08A211D8: aot_gpr_29 = (aot_gpr_29 + static_cast(-592)); - { const std::uint32_t aot_run_words[14]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[14]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(532), aot_run_words); } aot_gpr_16 = (2236u << 16u); aot_gpr_16 = (aot_gpr_16 + static_cast(32304)); @@ -2888,14 +2889,14 @@ L_08A2124C: ctx.gpr[8] = (ctx.gpr[23] | 0u); { const std::uint32_t aot_run_words[4]{ctx.gpr[2], ctx.gpr[3], ctx.gpr[12], ctx.gpr[13]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - ctx.gpr[31] = (0x08A212A8u); + aot_gpr_31 = (0x08A212A8u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[14]); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 515u, 0x08A1B674u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A212A8u) goto L_08A212A8; AOT_REGCACHE_SYNC_OUT(); return; L_08A212A8: - ctx.gpr[30] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7660))); + ctx.gpr[30] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(104))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-7328))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7328))); ctx.gpr[19] = (0u | 1u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 <= aot_fpr_12)) ? 0x00800000u : 0u); // nop @@ -2907,7 +2908,7 @@ L_08A212A8: goto L_08A212C8; } L_08A212C8: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-7584))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7584))); aot_gpr_4 = (0u | 54u); { const bool branch_taken = aot_gpr_6 != aot_gpr_4; // nop @@ -2918,14 +2919,14 @@ L_08A212C8: } L_08A212D8: { const bool branch_taken = 0u == 0u; - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-7608))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7608))); if (branch_taken) { goto L_08A212F8; } goto L_08A212E0; } L_08A212E0: - aot_gpr_4 = (aot_gpr_28 + static_cast(6)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(6)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(-7596), static_cast(ctx.gpr[19])); { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 0u); @@ -2943,7 +2944,7 @@ L_08A212F0: goto L_08A212F8; } L_08A212F8: - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7764))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7764))); ctx.gpr[7] = (ctx.gpr[7] + static_cast(-1)); aot_gpr_6 = (aot_gpr_6 < ctx.gpr[7] ? 1u : 0u); { const bool branch_taken = aot_gpr_6 == 0u; @@ -2954,18 +2955,18 @@ L_08A212F8: goto L_08A2130C; } L_08A2130C: - aot_gpr_16 = (aot_gpr_28 + static_cast(6)); + aot_gpr_16 = (ctx.gpr[28] + static_cast(6)); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(-7596), static_cast(0u)); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-7584), aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-7604), ctx.gpr[30]); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-7584), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-7604), ctx.gpr[30]); aot_gpr_4 = (2234u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(7704)); aot_gpr_4 = (aot_gpr_4 + static_cast(24)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_4 = (ctx.gpr[30] + aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-7600), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-7600), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(80))); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(8068), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8068), aot_gpr_4); aot_gpr_6 = (aot_gpr_29 + static_cast(336)); ctx.gpr[7] = (aot_gpr_29 + static_cast(368)); aot_gpr_4 = (aot_gpr_5 | 0u); @@ -2976,12 +2977,12 @@ L_08A2130C: ctx.gpr[11] = (0u | 0u); { const std::uint32_t aot_run_words[4]{0u, 0u, 0u, 0u}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - ctx.gpr[31] = (0x08A21374u); + aot_gpr_31 = (0x08A21374u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0036_entry, 36u, 698u, 0x0889786Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A21374u) goto L_08A21374; AOT_REGCACHE_SYNC_OUT(); return; L_08A21374: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(8068), 0u); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8068), 0u); { const bool branch_taken = ctx.gpr[2] != 0u; // nop if (branch_taken) { @@ -2992,20 +2993,20 @@ L_08A21374: L_08A21380: aot_gpr_4 = (16256u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(7072), std::bit_cast(aot_fpr_12)); - ctx.gpr[31] = (0x08A21394u); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7072), std::bit_cast(aot_fpr_12)); + aot_gpr_31 = (0x08A21394u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A21394u) goto L_08A21394; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A21394u) goto L_08A21394; AOT_REGCACHE_SYNC_OUT(); return; L_08A21394: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_5 = (0u | 0u); - ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-7572))); - ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-7576))); + ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7572))); + ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7576))); ctx.gpr[7] = (ctx.gpr[19] | 0u); - ctx.gpr[31] = (0x08A213B0u); + aot_gpr_31 = (0x08A213B0u); aot_gpr_6 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A213B0u) goto L_08A213B0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A213B0u) goto L_08A213B0; AOT_REGCACHE_SYNC_OUT(); return; L_08A213B0: ctx.gpr[1] = (ctx.gpr[3] << 1u); @@ -3059,22 +3060,22 @@ L_08A2140C: goto L_08A21414; } L_08A21414: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7072))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7072))); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(7072), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7072), std::bit_cast(aot_fpr_12)); goto L_08A21420; L_08A21420: - ctx.gpr[31] = (0x08A21428u); + aot_gpr_31 = (0x08A21428u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A21428u) goto L_08A21428; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A21428u) goto L_08A21428; AOT_REGCACHE_SYNC_OUT(); return; L_08A21428: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_5 = (0u | 0u); ctx.gpr[7] = (ctx.gpr[19] | 0u); - ctx.gpr[31] = (0x08A2143Cu); + aot_gpr_31 = (0x08A2143Cu); aot_gpr_6 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A2143Cu) goto L_08A2143C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A2143Cu) goto L_08A2143C; AOT_REGCACHE_SYNC_OUT(); return; L_08A2143C: ctx.gpr[1] = (ctx.gpr[3] << 1u); @@ -3112,7 +3113,7 @@ L_08A21468: L_08A21470: aot_gpr_4 = (49024u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-7332), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-7332), std::bit_cast(aot_fpr_12)); goto L_08A2147C; L_08A2147C: { const bool branch_taken = 0u == 0u; @@ -3123,12 +3124,12 @@ L_08A2147C: goto L_08A21484; } L_08A21484: - ctx.gpr[31] = (0x08A2148Cu); + aot_gpr_31 = (0x08A2148Cu); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0134_entry, 134u, 443u, 0x08A1E670u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A2148Cu) goto L_08A2148C; AOT_REGCACHE_SYNC_OUT(); return; L_08A2148C: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-7296))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7296))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[0] < aot_fpr_12)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); @@ -3139,7 +3140,7 @@ L_08A2148C: goto L_08A214A0; } L_08A214A0: - aot_gpr_4 = (aot_gpr_28 + static_cast(6)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(6)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(-7596), static_cast(ctx.gpr[19])); { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 0u); @@ -3163,11 +3164,11 @@ L_08A214B0: ctx.fpr[26] = std::bit_cast(std::bit_cast(aot_fpr_20)); goto L_08A214E0; L_08A214E0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-7604))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7604))); aot_gpr_5 = (ctx.gpr[30] - aot_gpr_4); aot_fpr_12 = std::bit_cast(aot_gpr_5); aot_fpr_20 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-7600))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7600))); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_13))); @@ -3240,7 +3241,7 @@ L_08A214E0: const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-7332))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7332))); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<1u>(aot_gpr_4); { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); @@ -3257,7 +3258,7 @@ L_08A214E0: const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-7324))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7324))); aot_gpr_4 = (std::bit_cast(aot_fpr_13)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); { const std::uint32_t vfpu_address = ctx.gpr[22] + static_cast(0); @@ -3311,7 +3312,7 @@ L_08A214E0: const std::uint32_t vfpu_address = ctx.gpr[23] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-7320))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7320))); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); @@ -3329,12 +3330,12 @@ L_08A214E0: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (ctx.gpr[23] | 0u); - ctx.gpr[31] = (0x08A215CCu); + aot_gpr_31 = (0x08A215CCu); aot_gpr_5 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A215CCu) goto L_08A215CC; AOT_REGCACHE_SYNC_OUT(); return; L_08A215CC: - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-7316))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7316))); aot_gpr_4 = (std::bit_cast(aot_fpr_13)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); ctx.gpr[17] = (aot_gpr_29 + static_cast(128)); @@ -3353,12 +3354,12 @@ L_08A215CC: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (ctx.gpr[23] | 0u); - ctx.gpr[31] = (0x08A215F4u); + aot_gpr_31 = (0x08A215F4u); aot_gpr_5 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A215F4u) goto L_08A215F4; AOT_REGCACHE_SYNC_OUT(); return; L_08A215F4: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-7304))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7304))); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); @@ -3392,7 +3393,7 @@ L_08A215F4: const std::uint32_t vfpu_address = ctx.gpr[21] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7072))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7072))); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); { const std::uint32_t vfpu_address = ctx.gpr[21] + static_cast(0); @@ -3410,26 +3411,26 @@ L_08A215F4: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (ctx.gpr[23] | 0u); - ctx.gpr[31] = (0x08A21648u); + aot_gpr_31 = (0x08A21648u); aot_gpr_5 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A21648u) goto L_08A21648; AOT_REGCACHE_SYNC_OUT(); return; L_08A21648: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-7604))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7604))); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_13))); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-7600))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7600))); aot_fpr_14 = std::bit_cast(aot_gpr_4); aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-7308))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7308))); ctx.fpr[15] = std::bit_cast(aot_gpr_4); ctx.fpr[15] = static_cast(static_cast(std::bit_cast(ctx.fpr[15]))); - ctx.gpr[31] = (0x08A21674u); + aot_gpr_31 = (0x08A21674u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[22])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 418u, 0x08A1AACCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A21674u) goto L_08A21674; AOT_REGCACHE_SYNC_OUT(); return; L_08A21674: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-7312))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7312))); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); @@ -3463,13 +3464,13 @@ L_08A21674: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (ctx.gpr[23] | 0u); - ctx.gpr[31] = (0x08A216ACu); + aot_gpr_31 = (0x08A216ACu); aot_gpr_5 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A216ACu) goto L_08A216AC; AOT_REGCACHE_SYNC_OUT(); return; L_08A216AC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(80))); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(8068), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8068), aot_gpr_4); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_6 = (aot_gpr_29 + static_cast(288)); ctx.gpr[7] = (aot_gpr_29 + static_cast(320)); @@ -3480,14 +3481,14 @@ L_08A216AC: ctx.gpr[11] = (0u | 0u); { const std::uint32_t aot_run_words[4]{0u, 0u, 0u, 0u}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - ctx.gpr[31] = (0x08A216ECu); + aot_gpr_31 = (0x08A216ECu); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0036_entry, 36u, 698u, 0x0889786Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A216ECu) goto L_08A216EC; AOT_REGCACHE_SYNC_OUT(); return; L_08A216EC: ctx.gpr[30] = (ctx.gpr[2] < static_cast(1) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(8068), 0u); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7068))); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8068), 0u); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7068))); { const bool branch_taken = aot_gpr_5 != 0u; aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(528))); if (branch_taken) { @@ -3497,9 +3498,9 @@ L_08A216EC: } L_08A21700: aot_gpr_5 = (0u | 1u); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(7068), aot_gpr_5); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-7300))); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(7076), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7068), aot_gpr_5); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7300))); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7076), aot_gpr_5); goto L_08A21710; L_08A21710: { const bool branch_taken = ctx.gpr[30] != 0u; @@ -3510,10 +3511,10 @@ L_08A21710: goto L_08A21718; } L_08A21718: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7076))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7076))); aot_gpr_6 = (aot_gpr_5 + static_cast(-1)); { const bool branch_taken = aot_gpr_5 == 0u; - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(7076), aot_gpr_6); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7076), aot_gpr_6); if (branch_taken) { goto L_08A2175C; } @@ -3527,7 +3528,7 @@ L_08A2172C: aot_gpr_6 = (ctx.gpr[23] | 0u); ctx.gpr[7] = (ctx.gpr[18] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); - ctx.gpr[31] = (0x08A21744u); + aot_gpr_31 = (0x08A21744u); ctx.gpr[8] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 517u, 0x08A1B7BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A21744u) goto L_08A21744; AOT_REGCACHE_SYNC_OUT(); return; @@ -3540,7 +3541,7 @@ L_08A21744: goto L_08A2174C; } L_08A2174C: - aot_gpr_4 = (aot_gpr_28 + static_cast(6)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(6)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(-7596), static_cast(ctx.gpr[19])); { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 0u); @@ -3550,7 +3551,7 @@ L_08A2174C: goto L_08A2175C; } L_08A2175C: - aot_gpr_4 = (aot_gpr_28 + static_cast(6)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(6)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(-7596), static_cast(ctx.gpr[19])); { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 0u); @@ -3560,10 +3561,10 @@ L_08A2175C: goto L_08A2176C; } L_08A2176C: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7076))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7076))); aot_gpr_6 = (aot_gpr_5 + static_cast(1)); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(7076), aot_gpr_6); - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-7300))); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7076), aot_gpr_6); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7300))); aot_gpr_5 = (static_cast(aot_gpr_6) < static_cast(aot_gpr_5) ? 1u : 0u); if (aot_gpr_5 == 0u) { aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(528), aot_gpr_4); @@ -3571,9 +3572,9 @@ L_08A2176C: } goto L_08A21788; L_08A21788: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-7300))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7300))); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(7076), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7076), aot_gpr_5); if (branch_taken) { goto L_08A21728; } @@ -3587,7 +3588,7 @@ L_08A21794: ctx.fpr[15] = std::bit_cast(aot_gpr_5); aot_gpr_5 = (ctx.gpr[23] | 0u); aot_gpr_6 = (ctx.gpr[18] | 0u); - ctx.gpr[31] = (0x08A217B8u); + aot_gpr_31 = (0x08A217B8u); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[24])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 471u, 0x08A1AF14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A217B8u) goto L_08A217B8; AOT_REGCACHE_SYNC_OUT(); return; @@ -3610,9 +3611,9 @@ L_08A217BC: ctx.gpr[22] = aot_run_words[10]; ctx.gpr[23] = aot_run_words[11]; ctx.gpr[30] = aot_run_words[12]; - ctx.gpr[31] = aot_run_words[13]; + aot_gpr_31 = aot_run_words[13]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(592)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -3620,7 +3621,7 @@ L_08A217BC: AOT_REGCACHE_SYNC_OUT(); return; L_08A217FC: aot_gpr_29 = (aot_gpr_29 + static_cast(-528)); - { const std::uint32_t aot_run_words[13]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[13]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(464), aot_run_words); } aot_gpr_5 = (2236u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(32304)); @@ -3667,14 +3668,14 @@ L_08A2186C: ctx.gpr[11] = (ctx.gpr[30] | 0u); { const std::uint32_t aot_run_words[4]{ctx.gpr[2], ctx.gpr[3], ctx.gpr[12], ctx.gpr[13]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - ctx.gpr[31] = (0x08A218C8u); + aot_gpr_31 = (0x08A218C8u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[14]); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 515u, 0x08A1B674u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A218C8u) goto L_08A218C8; AOT_REGCACHE_SYNC_OUT(); return; L_08A218C8: - ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7660))); + ctx.gpr[20] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(88))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-7288))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7288))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 <= aot_fpr_12)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); @@ -3685,7 +3686,7 @@ L_08A218C8: goto L_08A218E4; } L_08A218E4: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-7584))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7584))); aot_gpr_4 = (0u | 55u); { const bool branch_taken = aot_gpr_5 != aot_gpr_4; // nop @@ -3696,14 +3697,14 @@ L_08A218E4: } L_08A218F4: { const bool branch_taken = 0u == 0u; - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-7608))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7608))); if (branch_taken) { goto L_08A21914; } goto L_08A218FC; } L_08A218FC: - aot_gpr_4 = (aot_gpr_28 + static_cast(7)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(7)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(-7596), static_cast(ctx.gpr[22])); { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 0u); @@ -3721,7 +3722,7 @@ L_08A2190C: goto L_08A21914; } L_08A21914: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7764))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7764))); aot_gpr_6 = (aot_gpr_6 + static_cast(-1)); aot_gpr_5 = (aot_gpr_5 < aot_gpr_6 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; @@ -3732,18 +3733,18 @@ L_08A21914: goto L_08A21928; } L_08A21928: - aot_gpr_16 = (aot_gpr_28 + static_cast(7)); + aot_gpr_16 = (ctx.gpr[28] + static_cast(7)); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(-7596), static_cast(0u)); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-7584), aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-7604), ctx.gpr[20]); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-7584), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-7604), ctx.gpr[20]); aot_gpr_4 = (2234u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(7704)); aot_gpr_4 = (aot_gpr_4 + static_cast(28)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_4 = (ctx.gpr[20] + aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-7600), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-7600), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(8068), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8068), aot_gpr_4); aot_gpr_6 = (aot_gpr_29 + static_cast(320)); ctx.gpr[7] = (aot_gpr_29 + static_cast(352)); aot_gpr_4 = (ctx.gpr[19] | 0u); @@ -3754,12 +3755,12 @@ L_08A21928: ctx.gpr[11] = (0u | 0u); { const std::uint32_t aot_run_words[4]{0u, 0u, 0u, 0u}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - ctx.gpr[31] = (0x08A21990u); + aot_gpr_31 = (0x08A21990u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0036_entry, 36u, 698u, 0x0889786Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A21990u) goto L_08A21990; AOT_REGCACHE_SYNC_OUT(); return; L_08A21990: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(8068), 0u); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8068), 0u); { const bool branch_taken = ctx.gpr[2] != 0u; // nop if (branch_taken) { @@ -3770,20 +3771,20 @@ L_08A21990: L_08A2199C: aot_gpr_4 = (16256u << 16u); aot_fpr_20 = std::bit_cast(aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(7084), std::bit_cast(aot_fpr_20)); - ctx.gpr[31] = (0x08A219B0u); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7084), std::bit_cast(aot_fpr_20)); + aot_gpr_31 = (0x08A219B0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A219B0u) goto L_08A219B0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A219B0u) goto L_08A219B0; AOT_REGCACHE_SYNC_OUT(); return; L_08A219B0: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_5 = (0u | 0u); - ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-7572))); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-7576))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7572))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7576))); ctx.gpr[7] = (ctx.gpr[17] | 0u); - ctx.gpr[31] = (0x08A219CCu); + aot_gpr_31 = (0x08A219CCu); aot_gpr_6 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A219CCu) goto L_08A219CC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A219CCu) goto L_08A219CC; AOT_REGCACHE_SYNC_OUT(); return; L_08A219CC: ctx.gpr[1] = (ctx.gpr[3] << 1u); @@ -3824,23 +3825,23 @@ L_08A219FC: goto L_08A21A04; } L_08A21A04: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7084))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7084))); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(7084), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7084), std::bit_cast(aot_fpr_12)); goto L_08A21A10; L_08A21A10: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(7088), std::bit_cast(aot_fpr_20)); - ctx.gpr[31] = (0x08A21A1Cu); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7088), std::bit_cast(aot_fpr_20)); + aot_gpr_31 = (0x08A21A1Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A21A1Cu) goto L_08A21A1C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A21A1Cu) goto L_08A21A1C; AOT_REGCACHE_SYNC_OUT(); return; L_08A21A1C: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_5 = (0u | 0u); ctx.gpr[7] = (ctx.gpr[17] | 0u); - ctx.gpr[31] = (0x08A21A30u); + aot_gpr_31 = (0x08A21A30u); aot_gpr_6 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A21A30u) goto L_08A21A30; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A21A30u) goto L_08A21A30; AOT_REGCACHE_SYNC_OUT(); return; L_08A21A30: ctx.gpr[1] = (ctx.gpr[3] << 1u); @@ -3872,22 +3873,22 @@ L_08A21A54: goto L_08A21A5C; } L_08A21A5C: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7088))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7088))); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(7088), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7088), std::bit_cast(aot_fpr_12)); goto L_08A21A68; L_08A21A68: - ctx.gpr[31] = (0x08A21A70u); + aot_gpr_31 = (0x08A21A70u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A21A70u) goto L_08A21A70; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A21A70u) goto L_08A21A70; AOT_REGCACHE_SYNC_OUT(); return; L_08A21A70: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_5 = (0u | 0u); ctx.gpr[7] = (ctx.gpr[17] | 0u); - ctx.gpr[31] = (0x08A21A84u); + aot_gpr_31 = (0x08A21A84u); aot_gpr_6 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A21A84u) goto L_08A21A84; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A21A84u) goto L_08A21A84; AOT_REGCACHE_SYNC_OUT(); return; L_08A21A84: ctx.gpr[1] = (ctx.gpr[3] << 1u); @@ -3921,14 +3922,14 @@ L_08A21AA8: L_08A21AB0: aot_gpr_4 = (49024u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-7292), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-7292), std::bit_cast(aot_fpr_12)); goto L_08A21ABC; L_08A21ABC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-7604))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7604))); aot_gpr_5 = (ctx.gpr[20] - aot_gpr_4); aot_fpr_12 = std::bit_cast(aot_gpr_5); ctx.fpr[22] = static_cast(static_cast(std::bit_cast(aot_fpr_12))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-7600))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7600))); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_13))); @@ -4041,7 +4042,7 @@ L_08A21ABC: const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7088))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7088))); aot_gpr_6 = (std::bit_cast(aot_fpr_14)); ctx.set_vfpu_scalar_bits_ct<1u>(aot_gpr_6); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); @@ -4058,7 +4059,7 @@ L_08A21ABC: const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-7292))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7292))); aot_gpr_6 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<1u>(aot_gpr_6); { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); @@ -4075,7 +4076,7 @@ L_08A21ABC: const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-7284))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7284))); aot_gpr_6 = (std::bit_cast(aot_fpr_13)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_6); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); @@ -4130,7 +4131,7 @@ L_08A21ABC: const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-7280))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7280))); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); @@ -4148,12 +4149,12 @@ L_08A21ABC: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (ctx.gpr[18] | 0u); - ctx.gpr[31] = (0x08A21C0Cu); + aot_gpr_31 = (0x08A21C0Cu); aot_gpr_5 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A21C0Cu) goto L_08A21C0C; AOT_REGCACHE_SYNC_OUT(); return; L_08A21C0C: - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-7276))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7276))); aot_gpr_4 = (std::bit_cast(aot_fpr_13)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); { const std::uint32_t vfpu_address = ctx.gpr[21] + static_cast(0); @@ -4171,27 +4172,27 @@ L_08A21C0C: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (ctx.gpr[18] | 0u); - ctx.gpr[31] = (0x08A21C30u); + aot_gpr_31 = (0x08A21C30u); aot_gpr_5 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A21C30u) goto L_08A21C30; AOT_REGCACHE_SYNC_OUT(); return; L_08A21C30: aot_fpr_12 = std::bit_cast(ctx.gpr[20]); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-7604))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7604))); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_13))); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-7600))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7600))); aot_fpr_14 = std::bit_cast(aot_gpr_4); aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-7268))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7268))); ctx.fpr[15] = std::bit_cast(aot_gpr_4); - ctx.gpr[31] = (0x08A21C60u); + aot_gpr_31 = (0x08A21C60u); ctx.fpr[15] = static_cast(static_cast(std::bit_cast(ctx.fpr[15]))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 418u, 0x08A1AACCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A21C60u) goto L_08A21C60; AOT_REGCACHE_SYNC_OUT(); return; L_08A21C60: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-7272))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7272))); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); { const std::uint32_t vfpu_address = ctx.gpr[21] + static_cast(0); @@ -4225,7 +4226,7 @@ L_08A21C60: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (ctx.gpr[18] | 0u); - ctx.gpr[31] = (0x08A21C98u); + aot_gpr_31 = (0x08A21C98u); aot_gpr_5 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A21C98u) goto L_08A21C98; AOT_REGCACHE_SYNC_OUT(); return; @@ -4233,7 +4234,7 @@ L_08A21C98: aot_gpr_4 = (17036u << 16u); ctx.fpr[24] = std::bit_cast(aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(8068), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8068), aot_gpr_4); aot_gpr_6 = (aot_gpr_29 + static_cast(272)); ctx.gpr[7] = (aot_gpr_29 + static_cast(304)); aot_gpr_4 = (ctx.gpr[19] | 0u); @@ -4244,14 +4245,14 @@ L_08A21C98: ctx.gpr[11] = (0u | 0u); { const std::uint32_t aot_run_words[4]{0u, 0u, 0u, 0u}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - ctx.gpr[31] = (0x08A21CE0u); + aot_gpr_31 = (0x08A21CE0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0036_entry, 36u, 698u, 0x0889786Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A21CE0u) goto L_08A21CE0; AOT_REGCACHE_SYNC_OUT(); return; L_08A21CE0: ctx.gpr[21] = (ctx.gpr[2] < static_cast(1) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(8068), 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7080))); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8068), 0u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7080))); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_4 = (0u | 1u); if (branch_taken) { @@ -4260,9 +4261,9 @@ L_08A21CE0: goto L_08A21CF4; } L_08A21CF4: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(7080), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-7264))); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(7092), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7080), aot_gpr_4); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7264))); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7092), aot_gpr_4); goto L_08A21D00; L_08A21D00: { const bool branch_taken = ctx.gpr[21] != 0u; @@ -4273,10 +4274,10 @@ L_08A21D00: goto L_08A21D08; } L_08A21D08: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7092))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7092))); aot_gpr_5 = (aot_gpr_4 + static_cast(-1)); { const bool branch_taken = aot_gpr_4 == 0u; - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(7092), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7092), aot_gpr_5); if (branch_taken) { goto L_08A21D4C; } @@ -4288,7 +4289,7 @@ L_08A21D18: aot_gpr_6 = (ctx.gpr[18] | 0u); ctx.gpr[7] = (ctx.gpr[19] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[22])); - ctx.gpr[31] = (0x08A21D34u); + aot_gpr_31 = (0x08A21D34u); ctx.gpr[8] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 517u, 0x08A1B7BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A21D34u) goto L_08A21D34; AOT_REGCACHE_SYNC_OUT(); return; @@ -4301,7 +4302,7 @@ L_08A21D34: goto L_08A21D3C; } L_08A21D3C: - aot_gpr_4 = (aot_gpr_28 + static_cast(7)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(7)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(-7596), static_cast(ctx.gpr[22])); { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 0u); @@ -4311,7 +4312,7 @@ L_08A21D3C: goto L_08A21D4C; } L_08A21D4C: - aot_gpr_4 = (aot_gpr_28 + static_cast(7)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(7)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(-7596), static_cast(ctx.gpr[22])); { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 0u); @@ -4321,10 +4322,10 @@ L_08A21D4C: goto L_08A21D5C; } L_08A21D5C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7092))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7092))); aot_gpr_5 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(7092), aot_gpr_5); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-7264))); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7092), aot_gpr_5); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7264))); aot_gpr_4 = (static_cast(aot_gpr_5) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -4334,9 +4335,9 @@ L_08A21D5C: goto L_08A21D78; } L_08A21D78: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-7264))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7264))); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(7092), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7092), aot_gpr_4); if (branch_taken) { goto L_08A21D18; } @@ -4350,7 +4351,7 @@ L_08A21D84: aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_6 = (ctx.gpr[19] | 0u); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[24])); - ctx.gpr[31] = (0x08A21DA8u); + aot_gpr_31 = (0x08A21DA8u); ctx.fpr[15] = std::bit_cast(std::bit_cast(aot_fpr_20)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 471u, 0x08A1AF14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A21DA8u) goto L_08A21DA8; AOT_REGCACHE_SYNC_OUT(); return; @@ -4372,9 +4373,9 @@ L_08A21DAC: ctx.gpr[22] = aot_run_words[9]; ctx.gpr[23] = aot_run_words[10]; ctx.gpr[30] = aot_run_words[11]; - ctx.gpr[31] = aot_run_words[12]; + aot_gpr_31 = aot_run_words[12]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(528)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -4382,7 +4383,7 @@ L_08A21DAC: AOT_REGCACHE_SYNC_OUT(); return; L_08A21DE8: aot_gpr_29 = (aot_gpr_29 + static_cast(-96)); - { const std::uint32_t aot_run_words[10]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[10]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(48), aot_run_words); } aot_fpr_20 = std::bit_cast(std::bit_cast(aot_fpr_12)); ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(160))); @@ -4617,9 +4618,9 @@ L_08A21FCC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), std::bit_cast(aot_fpr_12)); goto L_08A21FDC; L_08A21FDC: - ctx.gpr[31] = (0x08A21FE4u); + aot_gpr_31 = (0x08A21FE4u); ctx.fpr[24] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(32))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A21FE4u) goto L_08A21FE4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A21FE4u) goto L_08A21FE4; AOT_REGCACHE_SYNC_OUT(); return; L_08A21FE4: aot_fpr_12 = ctx.fpr[24] - ctx.fpr[22]; @@ -4627,9 +4628,9 @@ L_08A21FE4: aot_fpr_12 = ctx.fpr[22] + aot_fpr_12; aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[26] = std::bit_cast(0x7FC00000u); else ctx.fpr[26] = fs * ft; } - ctx.gpr[31] = (0x08A22000u); + aot_gpr_31 = (0x08A22000u); ctx.fpr[28] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(36))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A22000u) goto L_08A22000; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A22000u) goto L_08A22000; AOT_REGCACHE_SYNC_OUT(); return; L_08A22000: aot_fpr_14 = ctx.fpr[28] - ctx.fpr[22]; @@ -4637,9 +4638,9 @@ L_08A22000: aot_fpr_14 = ctx.fpr[22] + aot_fpr_14; aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); { const float fs = aot_fpr_14; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[24] = std::bit_cast(0x7FC00000u); else ctx.fpr[24] = fs * ft; } - ctx.gpr[31] = (0x08A2201Cu); + aot_gpr_31 = (0x08A2201Cu); ctx.fpr[30] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(40))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A2201Cu) goto L_08A2201C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A2201Cu) goto L_08A2201C; AOT_REGCACHE_SYNC_OUT(); return; L_08A2201C: aot_fpr_13 = ctx.fpr[30] - ctx.fpr[22]; @@ -4697,30 +4698,30 @@ L_08A2208C: goto L_08A22098; L_08A22098: aot_gpr_4 = (ctx.gpr[18] | 0u); - ctx.gpr[31] = (0x08A220A4u); + aot_gpr_31 = (0x08A220A4u); aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A220A4u) goto L_08A220A4; AOT_REGCACHE_SYNC_OUT(); return; L_08A220A4: - ctx.gpr[31] = (0x08A220ACu); + aot_gpr_31 = (0x08A220ACu); ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(168))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A220ACu) goto L_08A220AC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A220ACu) goto L_08A220AC; AOT_REGCACHE_SYNC_OUT(); return; L_08A220AC: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_6 = (ctx.gpr[17] + static_cast(-1)); - ctx.gpr[31] = (0x08A220C0u); + aot_gpr_31 = (0x08A220C0u); ctx.gpr[7] = (static_cast(static_cast(aot_gpr_6) >> 31u)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A220C0u) goto L_08A220C0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A220C0u) goto L_08A220C0; AOT_REGCACHE_SYNC_OUT(); return; L_08A220C0: ctx.gpr[1] = (ctx.gpr[3] << 1u); aot_gpr_5 = (static_cast(static_cast(ctx.gpr[3]) >> 31u)); aot_gpr_4 = (ctx.gpr[2] >> 31u); aot_gpr_4 = (ctx.gpr[1] | aot_gpr_4); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-7252))); - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-7256))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7252))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7256))); ctx.gpr[8] = (aot_gpr_4 + aot_gpr_6); ctx.gpr[9] = (ctx.gpr[8] < aot_gpr_6 ? 1u : 0u); aot_gpr_4 = (ctx.gpr[9] + aot_gpr_5); @@ -4737,27 +4738,27 @@ L_08A220C0: } L_08A220FC: ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(172))); - ctx.gpr[31] = (0x08A22108u); + aot_gpr_31 = (0x08A22108u); ctx.fpr[24] = std::bit_cast(std::bit_cast(ctx.fpr[22]) ^ 0x80000000u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A22108u) goto L_08A22108; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A22108u) goto L_08A22108; AOT_REGCACHE_SYNC_OUT(); return; L_08A22108: aot_fpr_12 = ctx.fpr[22] - ctx.fpr[24]; { const float fs = aot_fpr_12; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } ctx.fpr[24] = ctx.fpr[24] + aot_fpr_12; ctx.fpr[26] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(172))); - ctx.gpr[31] = (0x08A22120u); + aot_gpr_31 = (0x08A22120u); ctx.fpr[28] = std::bit_cast(std::bit_cast(ctx.fpr[26]) ^ 0x80000000u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A22120u) goto L_08A22120; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A22120u) goto L_08A22120; AOT_REGCACHE_SYNC_OUT(); return; L_08A22120: aot_fpr_13 = ctx.fpr[26] - ctx.fpr[28]; { const float fs = aot_fpr_13; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } ctx.fpr[22] = ctx.fpr[28] + aot_fpr_13; ctx.fpr[30] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(172))); - ctx.gpr[31] = (0x08A22138u); + aot_gpr_31 = (0x08A22138u); ctx.fpr[26] = std::bit_cast(std::bit_cast(ctx.fpr[30]) ^ 0x80000000u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A22138u) goto L_08A22138; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A22138u) goto L_08A22138; AOT_REGCACHE_SYNC_OUT(); return; L_08A22138: aot_fpr_12 = ctx.fpr[30] - ctx.fpr[26]; @@ -4766,13 +4767,13 @@ L_08A22138: { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[22]), std::bit_cast(aot_fpr_12)}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(32), aot_run_words); } aot_gpr_5 = (aot_gpr_29 + static_cast(32)); - ctx.gpr[31] = (0x08A2215Cu); + aot_gpr_31 = (0x08A2215Cu); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A2215Cu) goto L_08A2215C; AOT_REGCACHE_SYNC_OUT(); return; L_08A2215C: aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08A22168u); + aot_gpr_31 = (0x08A22168u); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A22168u) goto L_08A22168; AOT_REGCACHE_SYNC_OUT(); return; @@ -4887,7 +4888,7 @@ L_08A22224: aot_gpr_4 = (aot_gpr_16 + static_cast(80)); { const float fs = aot_fpr_12; const float ft = aot_fpr_20; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } { const float fs = aot_fpr_14; const float ft = aot_fpr_20; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } - ctx.gpr[31] = (0x08A22238u); + aot_gpr_31 = (0x08A22238u); { const float fs = ctx.fpr[16]; const float ft = aot_fpr_20; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 923u, 0x0885FA28u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A22238u) goto L_08A22238; AOT_REGCACHE_SYNC_OUT(); return; @@ -4903,9 +4904,9 @@ L_08A22238: aot_gpr_16 = aot_run_words[6]; ctx.gpr[17] = aot_run_words[7]; ctx.gpr[18] = aot_run_words[8]; - ctx.gpr[31] = aot_run_words[9]; + aot_gpr_31 = aot_run_words[9]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(96)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -4913,13 +4914,13 @@ L_08A22238: AOT_REGCACHE_SYNC_OUT(); return; L_08A22268: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - { const std::uint32_t aot_run_words[6]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[6]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(16), aot_run_words); } aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_5 = (0u | 0u); - ctx.gpr[31] = (0x08A22294u); + aot_gpr_31 = (0x08A22294u); aot_gpr_6 = (0u | 2912u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A22294u) goto L_08A22294; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A22294u) goto L_08A22294; AOT_REGCACHE_SYNC_OUT(); return; L_08A22294: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2544), 0u); @@ -4929,17 +4930,17 @@ L_08A22294: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2196), std::bit_cast(aot_fpr_20)); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(90), static_cast(0u)); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(89), static_cast(0u)); - ctx.gpr[31] = (0x08A222B8u); + aot_gpr_31 = (0x08A222B8u); aot_gpr_4 = (aot_gpr_16 + static_cast(112)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0101_entry, 101u, 198u, 0x089997E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A222B8u) goto L_08A222B8; AOT_REGCACHE_SYNC_OUT(); return; L_08A222B8: - ctx.gpr[31] = (0x08A222C0u); + aot_gpr_31 = (0x08A222C0u); aot_gpr_4 = (aot_gpr_16 + static_cast(720)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0101_entry, 101u, 198u, 0x089997E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A222C0u) goto L_08A222C0; AOT_REGCACHE_SYNC_OUT(); return; L_08A222C0: - ctx.gpr[31] = (0x08A222C8u); + aot_gpr_31 = (0x08A222C8u); aot_gpr_4 = (aot_gpr_16 + static_cast(1328)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0101_entry, 101u, 198u, 0x089997E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A222C8u) goto L_08A222C8; AOT_REGCACHE_SYNC_OUT(); return; @@ -4949,9 +4950,9 @@ L_08A222C8: aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(720), static_cast(ctx.gpr[18])); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(2083), static_cast(0u)); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(2084), static_cast(0u)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-7680))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7680))); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(444), std::bit_cast(aot_fpr_12)); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-7676))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7676))); aot_fpr_12 = aot_fpr_13 - aot_fpr_12; aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(448), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (15733u << 16u); @@ -4967,7 +4968,7 @@ L_08A222C8: aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(440), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(2071), static_cast(0u)); - ctx.gpr[31] = (0x08A2232Cu); + aot_gpr_31 = (0x08A2232Cu); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 588u, 0x08A1BE00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A2232Cu) goto L_08A2232C; AOT_REGCACHE_SYNC_OUT(); return; @@ -5018,7 +5019,7 @@ L_08A2232C: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2132), std::bit_cast(aot_fpr_20)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2192), std::bit_cast(aot_fpr_20)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(1984), 0u); - ctx.gpr[31] = (0x08A223ECu); + aot_gpr_31 = (0x08A223ECu); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A223ECu) goto L_08A223EC; AOT_REGCACHE_SYNC_OUT(); return; @@ -5031,7 +5032,7 @@ L_08A223EC: goto L_08A223F4; } L_08A223F4: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(7800))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7800))); aot_gpr_5 = (aot_gpr_4 << 8u); aot_gpr_6 = (aot_gpr_4 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); @@ -5049,7 +5050,7 @@ L_08A223F4: goto L_08A22424; } L_08A22424: - ctx.gpr[31] = (0x08A2242Cu); + aot_gpr_31 = (0x08A2242Cu); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A2242Cu) goto L_08A2242C; AOT_REGCACHE_SYNC_OUT(); return; @@ -5063,7 +5064,7 @@ L_08A22430: aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(2082), static_cast(0u)); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(2053), static_cast(0u)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2164), std::bit_cast(aot_fpr_20)); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(4212))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(4212))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -5074,7 +5075,7 @@ L_08A22430: L_08A22454: aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(2640), static_cast(0u)); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(2641), static_cast(0u)); - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-16965), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-16965), static_cast(0u)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2644), std::bit_cast(aot_fpr_20)); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(2651), static_cast(0u)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2808), std::bit_cast(aot_fpr_20)); @@ -5089,7 +5090,7 @@ L_08A22454: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2216), std::bit_cast(aot_fpr_12)); goto L_08A22490; L_08A22490: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(4212))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(4212))); { const bool branch_taken = aot_gpr_4 != ctx.gpr[17]; // nop if (branch_taken) { @@ -5114,7 +5115,7 @@ L_08A224A0: aot_gpr_4 = (16256u << 16u); ctx.fpr[22] = std::bit_cast(aot_gpr_4); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08A224DCu); + aot_gpr_31 = (0x08A224DCu); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[22])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 942u, 0x0885FFB4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A224DCu) goto L_08A224DC; AOT_REGCACHE_SYNC_OUT(); return; @@ -5127,7 +5128,7 @@ L_08A224DC: aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(88), static_cast(0u)); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(2057), static_cast(0u)); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(2648), static_cast(0u)); - ctx.gpr[31] = (0x08A22504u); + aot_gpr_31 = (0x08A22504u); aot_gpr_4 = (aot_gpr_16 + static_cast(2856)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0045_entry, 45u, 518u, 0x088BA740u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A22504u) goto L_08A22504; AOT_REGCACHE_SYNC_OUT(); return; @@ -5173,7 +5174,7 @@ L_08A22504: aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2644), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (0u | 255u); - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-16965), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-16965), static_cast(aot_gpr_4)); { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); @@ -5181,9 +5182,9 @@ L_08A22504: aot_gpr_16 = aot_run_words[2]; ctx.gpr[17] = aot_run_words[3]; ctx.gpr[18] = aot_run_words[4]; - ctx.gpr[31] = aot_run_words[5]; + aot_gpr_31 = aot_run_words[5]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(48)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -5191,7 +5192,7 @@ L_08A22504: AOT_REGCACHE_SYNC_OUT(); return; L_08A225A4: aot_gpr_29 = (aot_gpr_29 + static_cast(-1280)); - { const std::uint32_t aot_run_words[16]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[16]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(1208), aot_run_words); } aot_fpr_20 = std::bit_cast(0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(212), std::bit_cast(aot_fpr_20)); @@ -5255,7 +5256,7 @@ L_08A22660: goto L_08A2266C; } L_08A2266C: - ctx.gpr[31] = (0x08A22674u); + aot_gpr_31 = (0x08A22674u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0138_entry, 138u, 481u, 0x08A2F364u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A22674u) goto L_08A22674; AOT_REGCACHE_SYNC_OUT(); return; @@ -5269,7 +5270,7 @@ L_08A22674: goto L_08A22680; } L_08A22680: - ctx.gpr[31] = (0x08A22688u); + aot_gpr_31 = (0x08A22688u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A22688u) goto L_08A22688; AOT_REGCACHE_SYNC_OUT(); return; @@ -5387,12 +5388,12 @@ L_08A22798: aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(224), aot_gpr_4); goto L_08A2279C; L_08A2279C: - ctx.gpr[31] = (0x08A227A4u); + aot_gpr_31 = (0x08A227A4u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0137_entry, 137u, 233u, 0x08A28D34u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A227A4u) goto L_08A227A4; AOT_REGCACHE_SYNC_OUT(); return; L_08A227A4: - ctx.gpr[31] = (0x08A227ACu); + aot_gpr_31 = (0x08A227ACu); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0134_entry, 134u, 91u, 0x08A1C8D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A227ACu) goto L_08A227AC; AOT_REGCACHE_SYNC_OUT(); return; @@ -5406,7 +5407,7 @@ L_08A227AC: goto L_08A227B8; } L_08A227B8: - ctx.gpr[31] = (0x08A227C0u); + aot_gpr_31 = (0x08A227C0u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0134_entry, 134u, 343u, 0x08A1DDB4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A227C0u) goto L_08A227C0; AOT_REGCACHE_SYNC_OUT(); return; @@ -5420,13 +5421,13 @@ L_08A227C0: goto L_08A227CC; } L_08A227CC: - ctx.gpr[31] = (0x08A227D4u); + aot_gpr_31 = (0x08A227D4u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0134_entry, 134u, 320u, 0x08A1DB18u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A227D4u) goto L_08A227D4; AOT_REGCACHE_SYNC_OUT(); return; L_08A227D4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8896))); - ctx.gpr[31] = (0x08A227E0u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8896))); + aot_gpr_31 = (0x08A227E0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[24])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 111u, 0x08890798u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A227E0u) goto L_08A227E0; AOT_REGCACHE_SYNC_OUT(); return; @@ -5486,7 +5487,7 @@ L_08A22850: aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(128))); - ctx.gpr[31] = (0x08A2287Cu); + aot_gpr_31 = (0x08A2287Cu); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(132))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 28u, 0x08964540u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A2287Cu) goto L_08A2287C; AOT_REGCACHE_SYNC_OUT(); return; @@ -5515,7 +5516,7 @@ L_08A2289C: aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); - ctx.gpr[31] = (0x08A228C4u); + aot_gpr_31 = (0x08A228C4u); aot_gpr_4 = (aot_gpr_4 + static_cast(112)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0101_entry, 101u, 449u, 0x0899B8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A228C4u) goto L_08A228C4; AOT_REGCACHE_SYNC_OUT(); return; @@ -5528,7 +5529,7 @@ L_08A228C4: aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); - ctx.gpr[31] = (0x08A228ECu); + aot_gpr_31 = (0x08A228ECu); aot_gpr_4 = (aot_gpr_4 + static_cast(112)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0104_entry, 104u, 115u, 0x089A5494u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A228ECu) goto L_08A228EC; AOT_REGCACHE_SYNC_OUT(); return; @@ -5588,7 +5589,7 @@ L_08A2295C: aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(128))); - ctx.gpr[31] = (0x08A22988u); + aot_gpr_31 = (0x08A22988u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(132))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 28u, 0x08964540u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A22988u) goto L_08A22988; AOT_REGCACHE_SYNC_OUT(); return; @@ -5624,7 +5625,7 @@ L_08A229B8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2100))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2104))); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7660))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_4 = (aot_gpr_4 < aot_gpr_5 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -5648,13 +5649,13 @@ L_08A229E0: goto L_08A229EC; } L_08A229EC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8896))); - ctx.gpr[31] = (0x08A229F8u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8896))); + aot_gpr_31 = (0x08A229F8u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2180))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 111u, 0x08890798u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A229F8u) goto L_08A229F8; AOT_REGCACHE_SYNC_OUT(); return; L_08A229F8: - ctx.gpr[31] = (0x08A22A00u); + aot_gpr_31 = (0x08A22A00u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[22])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0162_entry, 162u, 580u, 0x08A8F0B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A22A00u) goto L_08A22A00; AOT_REGCACHE_SYNC_OUT(); return; @@ -5783,7 +5784,7 @@ L_08A22A90: } L_08A22AF4: aot_gpr_5 = (aot_gpr_16 + static_cast(2464)); - ctx.gpr[31] = (0x08A22B00u); + aot_gpr_31 = (0x08A22B00u); aot_gpr_4 = (ctx.gpr[30] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A22B00u) goto L_08A22B00; AOT_REGCACHE_SYNC_OUT(); return; @@ -6026,7 +6027,7 @@ L_08A22C2C: } L_08A22C58: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2100))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7660))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2104))); aot_gpr_6 = (aot_gpr_4 < aot_gpr_5 ? 1u : 0u); @@ -6551,7 +6552,7 @@ L_08A22F78: ctx.execute_vfpu_unary_ct<28u, 28u, 1u, 22u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-7248))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7248))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); @@ -6563,7 +6564,7 @@ L_08A22F78: } L_08A22FB4: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(416))); - ctx.gpr[31] = (0x08A22FC0u); + aot_gpr_31 = (0x08A22FC0u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(420))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 28u, 0x08964540u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A22FC0u) goto L_08A22FC0; AOT_REGCACHE_SYNC_OUT(); return; @@ -6594,7 +6595,7 @@ L_08A22FE0: ctx.execute_vfpu_unary_ct<1u, 64u, 1u, 19u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<1u>()); aot_fpr_14 = std::bit_cast(aot_gpr_4); - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-7248))); + ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7248))); { const float fs = ctx.fpr[15]; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } aot_fpr_13 = aot_fpr_13 + aot_fpr_14; aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2416), std::bit_cast(aot_fpr_13)); @@ -6608,7 +6609,7 @@ L_08A22FE0: ctx.execute_vfpu_unary_ct<1u, 64u, 1u, 18u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<1u>()); aot_fpr_14 = std::bit_cast(aot_gpr_4); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-7248))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7248))); { const float fs = aot_fpr_12; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = aot_fpr_13 + aot_fpr_12; aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2420), std::bit_cast(aot_fpr_12)); @@ -6728,7 +6729,7 @@ L_08A23044: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_6 = (ctx.gpr[30] | 0u); - ctx.gpr[31] = (0x08A230C8u); + aot_gpr_31 = (0x08A230C8u); ctx.gpr[7] = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0134_entry, 134u, 313u, 0x08A1DA3Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A230C8u) goto L_08A230C8; AOT_REGCACHE_SYNC_OUT(); return; @@ -7196,7 +7197,7 @@ L_08A23354: { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_20)}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(480), aot_run_words); } aot_gpr_4 = (ctx.gpr[17] | 0u); - ctx.gpr[31] = (0x08A23398u); + aot_gpr_31 = (0x08A23398u); aot_gpr_5 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 461u, 0x08A93198u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A23398u) goto L_08A23398; AOT_REGCACHE_SYNC_OUT(); return; @@ -7375,7 +7376,7 @@ L_08A2344C: ctx.execute_vfpu_unary_ct<28u, 28u, 1u, 22u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-7248))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7248))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); @@ -7387,7 +7388,7 @@ L_08A2344C: } L_08A2348C: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(544))); - ctx.gpr[31] = (0x08A23498u); + aot_gpr_31 = (0x08A23498u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(548))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 28u, 0x08964540u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A23498u) goto L_08A23498; AOT_REGCACHE_SYNC_OUT(); return; @@ -7418,7 +7419,7 @@ L_08A234B8: ctx.execute_vfpu_unary_ct<1u, 64u, 1u, 19u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<1u>()); aot_fpr_14 = std::bit_cast(aot_gpr_4); - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-7248))); + ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7248))); { const float fs = ctx.fpr[15]; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } aot_fpr_13 = aot_fpr_13 + aot_fpr_14; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(80), std::bit_cast(aot_fpr_13)); @@ -7484,7 +7485,7 @@ L_08A2358C: { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_20)}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(480), aot_run_words); } aot_gpr_4 = (ctx.gpr[20] | 0u); - ctx.gpr[31] = (0x08A235A4u); + aot_gpr_31 = (0x08A235A4u); aot_gpr_5 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 461u, 0x08A93198u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A235A4u) goto L_08A235A4; AOT_REGCACHE_SYNC_OUT(); return; @@ -7628,7 +7629,7 @@ L_08A2364C: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2148))); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(220), std::bit_cast(aot_fpr_12)); - ctx.gpr[31] = (0x08A23684u); + aot_gpr_31 = (0x08A23684u); aot_gpr_4 = (aot_gpr_29 + static_cast(220)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 381u, 0x08A1A87Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A23684u) goto L_08A23684; AOT_REGCACHE_SYNC_OUT(); return; @@ -7673,7 +7674,7 @@ L_08A23684: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[30] | 0u); ctx.gpr[8] = (aot_gpr_29 + static_cast(216)); - ctx.gpr[31] = (0x08A236B4u); + aot_gpr_31 = (0x08A236B4u); ctx.gpr[7] = (ctx.gpr[22] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0134_entry, 134u, 313u, 0x08A1DA3Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A236B4u) goto L_08A236B4; AOT_REGCACHE_SYNC_OUT(); return; @@ -8079,7 +8080,7 @@ L_08A238D0: { const float fs = aot_fpr_13; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_fpr_13 = aot_fpr_12 + aot_fpr_13; aot_fpr_13 = std::sqrt(aot_fpr_13); - ctx.gpr[31] = (0x08A23904u); + aot_gpr_31 = (0x08A23904u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(280))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 28u, 0x08964540u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A23904u) goto L_08A23904; AOT_REGCACHE_SYNC_OUT(); return; @@ -8102,7 +8103,7 @@ L_08A23918: L_08A23924: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(288), std::bit_cast(aot_fpr_12)); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(272))); - ctx.gpr[31] = (0x08A23934u); + aot_gpr_31 = (0x08A23934u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(276))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 28u, 0x08964540u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A23934u) goto L_08A23934; AOT_REGCACHE_SYNC_OUT(); return; @@ -8139,7 +8140,7 @@ L_08A23958: ctx.gpr[9] = (aot_gpr_29 + static_cast(292)); aot_gpr_5 = (ctx.gpr[30] | 0u); ctx.gpr[7] = (ctx.gpr[22] | 0u); - ctx.gpr[31] = (0x08A2399Cu); + aot_gpr_31 = (0x08A2399Cu); ctx.gpr[10] = (aot_gpr_29 + static_cast(216)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0101_entry, 101u, 201u, 0x08999940u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A2399Cu) goto L_08A2399C; AOT_REGCACHE_SYNC_OUT(); return; @@ -8171,7 +8172,7 @@ L_08A239B4: goto L_08A239C0; } L_08A239C0: - ctx.gpr[31] = (0x08A239C8u); + aot_gpr_31 = (0x08A239C8u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0170_entry, 170u, 518u, 0x08AAE910u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A239C8u) goto L_08A239C8; AOT_REGCACHE_SYNC_OUT(); return; @@ -8206,7 +8207,7 @@ L_08A239DC: ctx.gpr[11] = (0u | 1u); { const std::uint32_t aot_run_words[4]{0u, ctx.gpr[2], ctx.gpr[2], 0u}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - ctx.gpr[31] = (0x08A23A20u); + aot_gpr_31 = (0x08A23A20u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0036_entry, 36u, 698u, 0x0889786Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A23A20u) goto L_08A23A20; AOT_REGCACHE_SYNC_OUT(); return; @@ -8239,10 +8240,10 @@ L_08A23A28: const std::uint32_t vfpu_address = ctx.gpr[30] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8896))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8896))); aot_gpr_5 = (15692u << 16u); aot_gpr_5 = (aot_gpr_5 | 52429u); - ctx.gpr[31] = (0x08A23A60u); + aot_gpr_31 = (0x08A23A60u); aot_fpr_12 = std::bit_cast(aot_gpr_5); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 111u, 0x08890798u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A23A60u) goto L_08A23A60; AOT_REGCACHE_SYNC_OUT(); return; @@ -8258,7 +8259,7 @@ L_08A23A60: goto L_08A23A74; } L_08A23A74: - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-7624))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7624))); { const float fs = aot_fpr_13; const float ft = ctx.fpr[26]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } aot_gpr_4 = (17204u << 16u); ctx.fpr[15] = std::bit_cast(aot_gpr_4); @@ -8276,7 +8277,7 @@ L_08A23A74: aot_gpr_5 = (16544u << 16u); ctx.fpr[15] = std::bit_cast(aot_gpr_5); aot_fpr_13 = aot_fpr_13 + ctx.fpr[15]; - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-7624), std::bit_cast(aot_fpr_13)); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-7624), std::bit_cast(aot_fpr_13)); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(80))); aot_gpr_5 = (aot_gpr_5 << 5u); aot_gpr_6 = (0u - aot_gpr_5); @@ -8358,7 +8359,7 @@ L_08A23A74: { const float fs = ctx.fpr[16]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = aot_fpr_14 + aot_fpr_12; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(100), std::bit_cast(aot_fpr_12)); - ctx.gpr[31] = (0x08A23BDCu); + aot_gpr_31 = (0x08A23BDCu); aot_gpr_4 = (ctx.gpr[23] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 434u, 0x08A1AC54u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A23BDCu) goto L_08A23BDC; AOT_REGCACHE_SYNC_OUT(); return; @@ -8366,13 +8367,13 @@ L_08A23BDC: ctx.gpr[17] = (aot_gpr_29 + static_cast(32)); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[22] | 0u); - ctx.gpr[31] = (0x08A23BF0u); + aot_gpr_31 = (0x08A23BF0u); aot_gpr_6 = (ctx.gpr[23] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 349u, 0x08A1A5DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A23BF0u) goto L_08A23BF0; AOT_REGCACHE_SYNC_OUT(); return; L_08A23BF0: aot_gpr_4 = (aot_gpr_29 + static_cast(64)); - ctx.gpr[31] = (0x08A23BFCu); + aot_gpr_31 = (0x08A23BFCu); aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 438u, 0x08A1ACCCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A23BFCu) goto L_08A23BFC; AOT_REGCACHE_SYNC_OUT(); return; @@ -8401,7 +8402,7 @@ L_08A23BFC: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(52), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(88))); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), std::bit_cast(aot_fpr_12)); - ctx.gpr[31] = (0x08A23C64u); + aot_gpr_31 = (0x08A23C64u); ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1936))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 390u, 0x08A1A8ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A23C64u) goto L_08A23C64; AOT_REGCACHE_SYNC_OUT(); return; @@ -8432,7 +8433,7 @@ L_08A23C84: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), std::bit_cast(ctx.fpr[28])); ctx.gpr[18] = (aot_gpr_29 + static_cast(48)); aot_gpr_4 = (ctx.gpr[17] | 0u); - ctx.gpr[31] = (0x08A23CB4u); + aot_gpr_31 = (0x08A23CB4u); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 356u, 0x08A1A6A0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A23CB4u) goto L_08A23CB4; AOT_REGCACHE_SYNC_OUT(); return; @@ -8440,14 +8441,14 @@ L_08A23CB4: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(212), std::bit_cast(ctx.fpr[0])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), std::bit_cast(aot_fpr_20)); aot_gpr_4 = (ctx.gpr[17] | 0u); - ctx.gpr[31] = (0x08A23CC8u); + aot_gpr_31 = (0x08A23CC8u); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 359u, 0x08A1A6C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A23CC8u) goto L_08A23CC8; AOT_REGCACHE_SYNC_OUT(); return; L_08A23CC8: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(212), std::bit_cast(ctx.fpr[0])); ctx.fpr[22] = std::bit_cast(std::bit_cast(ctx.fpr[0])); - ctx.gpr[31] = (0x08A23CD8u); + aot_gpr_31 = (0x08A23CD8u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 463u, 0x08A1AE34u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A23CD8u) goto L_08A23CD8; AOT_REGCACHE_SYNC_OUT(); return; @@ -8494,12 +8495,12 @@ L_08A23CD8: goto L_08A23D68; } L_08A23D68: - ctx.gpr[31] = (0x08A23D70u); + aot_gpr_31 = (0x08A23D70u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 587u, 0x08A1BDF8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A23D70u) goto L_08A23D70; AOT_REGCACHE_SYNC_OUT(); return; L_08A23D70: - ctx.gpr[31] = (0x08A23D78u); + aot_gpr_31 = (0x08A23D78u); aot_gpr_4 = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 455u, 0x08A1ADC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A23D78u) goto L_08A23D78; AOT_REGCACHE_SYNC_OUT(); return; @@ -8530,25 +8531,25 @@ L_08A23DA4: ctx.gpr[17] = (0u | 150u); goto L_08A23DA8; L_08A23DA8: - ctx.gpr[31] = (0x08A23DB0u); + aot_gpr_31 = (0x08A23DB0u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 587u, 0x08A1BDF8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A23DB0u) goto L_08A23DB0; AOT_REGCACHE_SYNC_OUT(); return; L_08A23DB0: ctx.gpr[18] = (ctx.gpr[2] | 0u); - ctx.gpr[31] = (0x08A23DBCu); + aot_gpr_31 = (0x08A23DBCu); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 587u, 0x08A1BDF8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A23DBCu) goto L_08A23DBC; AOT_REGCACHE_SYNC_OUT(); return; L_08A23DBC: ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(0))); - ctx.gpr[31] = (0x08A23DC8u); + aot_gpr_31 = (0x08A23DC8u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 587u, 0x08A1BDF8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A23DC8u) goto L_08A23DC8; AOT_REGCACHE_SYNC_OUT(); return; L_08A23DC8: ctx.gpr[20] = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(4))); - ctx.gpr[31] = (0x08A23DD4u); + aot_gpr_31 = (0x08A23DD4u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 587u, 0x08A1BDF8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A23DD4u) goto L_08A23DD4; AOT_REGCACHE_SYNC_OUT(); return; @@ -8557,18 +8558,18 @@ L_08A23DD4: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_6 = (ctx.gpr[20] | 0u); - ctx.gpr[31] = (0x08A23DECu); + aot_gpr_31 = (0x08A23DECu); ctx.gpr[8] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 457u, 0x08A1ADD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A23DECu) goto L_08A23DEC; AOT_REGCACHE_SYNC_OUT(); return; L_08A23DEC: - ctx.gpr[31] = (0x08A23DF4u); + aot_gpr_31 = (0x08A23DF4u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 587u, 0x08A1BDF8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A23DF4u) goto L_08A23DF4; AOT_REGCACHE_SYNC_OUT(); return; L_08A23DF4: aot_gpr_4 = (ctx.gpr[2] | 0u); - ctx.gpr[31] = (0x08A23E00u); + aot_gpr_31 = (0x08A23E00u); aot_gpr_5 = (0u | 11u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 456u, 0x08A1ADC8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A23E00u) goto L_08A23E00; AOT_REGCACHE_SYNC_OUT(); return; @@ -8581,12 +8582,12 @@ L_08A23E00: goto L_08A23E08; } L_08A23E08: - ctx.gpr[31] = (0x08A23E10u); + aot_gpr_31 = (0x08A23E10u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 587u, 0x08A1BDF8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A23E10u) goto L_08A23E10; AOT_REGCACHE_SYNC_OUT(); return; L_08A23E10: - ctx.gpr[31] = (0x08A23E18u); + aot_gpr_31 = (0x08A23E18u); aot_gpr_4 = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 455u, 0x08A1ADC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A23E18u) goto L_08A23E18; AOT_REGCACHE_SYNC_OUT(); return; @@ -8600,25 +8601,25 @@ L_08A23E18: goto L_08A23E24; } L_08A23E24: - ctx.gpr[31] = (0x08A23E2Cu); + aot_gpr_31 = (0x08A23E2Cu); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 587u, 0x08A1BDF8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A23E2Cu) goto L_08A23E2C; AOT_REGCACHE_SYNC_OUT(); return; L_08A23E2C: ctx.gpr[17] = (ctx.gpr[2] | 0u); - ctx.gpr[31] = (0x08A23E38u); + aot_gpr_31 = (0x08A23E38u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 587u, 0x08A1BDF8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A23E38u) goto L_08A23E38; AOT_REGCACHE_SYNC_OUT(); return; L_08A23E38: ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(0))); - ctx.gpr[31] = (0x08A23E44u); + aot_gpr_31 = (0x08A23E44u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 587u, 0x08A1BDF8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A23E44u) goto L_08A23E44; AOT_REGCACHE_SYNC_OUT(); return; L_08A23E44: ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(4))); - ctx.gpr[31] = (0x08A23E50u); + aot_gpr_31 = (0x08A23E50u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 587u, 0x08A1BDF8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A23E50u) goto L_08A23E50; AOT_REGCACHE_SYNC_OUT(); return; @@ -8627,50 +8628,50 @@ L_08A23E50: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_6 = (ctx.gpr[19] | 0u); - ctx.gpr[31] = (0x08A23E68u); + aot_gpr_31 = (0x08A23E68u); ctx.gpr[8] = (0u + static_cast(-1)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 457u, 0x08A1ADD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A23E68u) goto L_08A23E68; AOT_REGCACHE_SYNC_OUT(); return; L_08A23E68: - ctx.gpr[31] = (0x08A23E70u); + aot_gpr_31 = (0x08A23E70u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 587u, 0x08A1BDF8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A23E70u) goto L_08A23E70; AOT_REGCACHE_SYNC_OUT(); return; L_08A23E70: aot_gpr_4 = (ctx.gpr[2] | 0u); - ctx.gpr[31] = (0x08A23E7Cu); + aot_gpr_31 = (0x08A23E7Cu); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 456u, 0x08A1ADC8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A23E7Cu) goto L_08A23E7C; AOT_REGCACHE_SYNC_OUT(); return; L_08A23E7C: - ctx.gpr[31] = (0x08A23E84u); + aot_gpr_31 = (0x08A23E84u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0134_entry, 134u, 445u, 0x08A1E6C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A23E84u) goto L_08A23E84; AOT_REGCACHE_SYNC_OUT(); return; L_08A23E84: - ctx.gpr[31] = (0x08A23E8Cu); + aot_gpr_31 = (0x08A23E8Cu); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0134_entry, 134u, 324u, 0x08A1DB40u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A23E8Cu) goto L_08A23E8C; AOT_REGCACHE_SYNC_OUT(); return; L_08A23E8C: - ctx.gpr[31] = (0x08A23E94u); + aot_gpr_31 = (0x08A23E94u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0134_entry, 134u, 480u, 0x08A1E998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A23E94u) goto L_08A23E94; AOT_REGCACHE_SYNC_OUT(); return; L_08A23E94: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(216))); - ctx.gpr[31] = (0x08A23EA0u); + aot_gpr_31 = (0x08A23EA0u); aot_fpr_12 = aot_fpr_12 + ctx.fpr[0]; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0092_entry, 92u, 437u, 0x08975D44u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A23EA0u) goto L_08A23EA0; AOT_REGCACHE_SYNC_OUT(); return; L_08A23EA0: - ctx.gpr[31] = (0x08A23EA8u); + aot_gpr_31 = (0x08A23EA8u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1980))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 121u, 0x08890828u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A23EA8u) goto L_08A23EA8; AOT_REGCACHE_SYNC_OUT(); return; L_08A23EA8: ctx.gpr[17] = (ctx.gpr[2] | 0u); - ctx.gpr[31] = (0x08A23EB4u); + aot_gpr_31 = (0x08A23EB4u); aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 348u, 0x08A1A5D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A23EB4u) goto L_08A23EB4; AOT_REGCACHE_SYNC_OUT(); return; @@ -8702,22 +8703,22 @@ L_08A23EB4: aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(4), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(8), std::bit_cast(aot_fpr_12)); - ctx.gpr[31] = (0x08A23F28u); + aot_gpr_31 = (0x08A23F28u); aot_gpr_4 = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 347u, 0x08A1A5CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A23F28u) goto L_08A23F28; AOT_REGCACHE_SYNC_OUT(); return; L_08A23F28: - ctx.gpr[31] = (0x08A23F30u); + aot_gpr_31 = (0x08A23F30u); aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0091_entry, 91u, 621u, 0x08972D80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A23F30u) goto L_08A23F30; AOT_REGCACHE_SYNC_OUT(); return; L_08A23F30: - ctx.gpr[31] = (0x08A23F38u); + aot_gpr_31 = (0x08A23F38u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0138_entry, 138u, 459u, 0x08A2EF8Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A23F38u) goto L_08A23F38; AOT_REGCACHE_SYNC_OUT(); return; L_08A23F38: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7764))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7764))); aot_gpr_4 = (aot_gpr_4 & 15u); ctx.gpr[18] = (0u | 3u); { const bool branch_taken = aot_gpr_4 != ctx.gpr[18]; @@ -8728,19 +8729,19 @@ L_08A23F38: goto L_08A23F4C; } L_08A23F4C: - ctx.gpr[31] = (0x08A23F54u); + aot_gpr_31 = (0x08A23F54u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 439u, 0x08A1ACDCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A23F54u) goto L_08A23F54; AOT_REGCACHE_SYNC_OUT(); return; L_08A23F54: ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(0))); - ctx.gpr[31] = (0x08A23F60u); + aot_gpr_31 = (0x08A23F60u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 439u, 0x08A1ACDCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A23F60u) goto L_08A23F60; AOT_REGCACHE_SYNC_OUT(); return; L_08A23F60: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(4))); - ctx.gpr[31] = (0x08A23F6Cu); + aot_gpr_31 = (0x08A23F6Cu); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[22])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0189_entry, 189u, 203u, 0x08AF9130u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A23F6Cu) goto L_08A23F6C; AOT_REGCACHE_SYNC_OUT(); return; @@ -8748,12 +8749,12 @@ L_08A23F6C: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2136), std::bit_cast(ctx.fpr[0])); goto L_08A23F70; L_08A23F70: - ctx.gpr[31] = (0x08A23F78u); + aot_gpr_31 = (0x08A23F78u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 362u, 0x08A1A6F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A23F78u) goto L_08A23F78; AOT_REGCACHE_SYNC_OUT(); return; L_08A23F78: - ctx.gpr[31] = (0x08A23F80u); + aot_gpr_31 = (0x08A23F80u); aot_gpr_4 = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0134_entry, 134u, 481u, 0x08A1E9A0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A23F80u) goto L_08A23F80; AOT_REGCACHE_SYNC_OUT(); return; @@ -8766,12 +8767,12 @@ L_08A23F80: goto L_08A23F88; } L_08A23F88: - ctx.gpr[31] = (0x08A23F90u); + aot_gpr_31 = (0x08A23F90u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 362u, 0x08A1A6F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A23F90u) goto L_08A23F90; AOT_REGCACHE_SYNC_OUT(); return; L_08A23F90: - ctx.gpr[31] = (0x08A23F98u); + aot_gpr_31 = (0x08A23F98u); aot_gpr_4 = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0134_entry, 134u, 482u, 0x08A1E9A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A23F98u) goto L_08A23F98; AOT_REGCACHE_SYNC_OUT(); return; @@ -8794,7 +8795,7 @@ L_08A23FA0: goto L_08A23FB0; } L_08A23FB0: - ctx.gpr[31] = (0x08A23FB8u); + aot_gpr_31 = (0x08A23FB8u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 450u, 0x08A1AD74u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A23FB8u) goto L_08A23FB8; AOT_REGCACHE_SYNC_OUT(); return; @@ -8804,7 +8805,7 @@ L_08A23FB8: aot_fpr_12 = aot_fpr_12 / ctx.fpr[0]; aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(1960), std::bit_cast(aot_fpr_12)); ctx.gpr[17] = (0u | 0u); - ctx.gpr[31] = (0x08A23FD4u); + aot_gpr_31 = (0x08A23FD4u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A23FD4u) goto L_08A23FD4; AOT_REGCACHE_SYNC_OUT(); return; @@ -8818,18 +8819,18 @@ L_08A23FD4: goto L_08A23FE0; } L_08A23FE0: - ctx.gpr[31] = (0x08A23FE8u); + aot_gpr_31 = (0x08A23FE8u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A23FE8u) goto L_08A23FE8; AOT_REGCACHE_SYNC_OUT(); return; L_08A23FE8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(352))); - ctx.gpr[31] = (0x08A23FF4u); + aot_gpr_31 = (0x08A23FF4u); aot_gpr_5 = (512u << 16u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 465u, 0x08A1AE54u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A23FF4u) goto L_08A23FF4; AOT_REGCACHE_SYNC_OUT(); return; L_08A23FF4: - ctx.gpr[31] = (0x08A23FFCu); + aot_gpr_31 = (0x08A23FFCu); ctx.gpr[19] = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A23FFCu) goto L_08A23FFC; AOT_REGCACHE_SYNC_OUT(); return; diff --git a/profiles/vcs/generated/generated_unit_0136.cpp b/profiles/vcs/generated/generated_unit_0136.cpp index 5a5ca3f..50c84bd 100644 --- a/profiles/vcs/generated/generated_unit_0136.cpp +++ b/profiles/vcs/generated/generated_unit_0136.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0136[4092] = { }; void recomp_unit_0136_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,29,5,31,2,16 fprs=12,13,20,14 gpr_occ=3125 fpr_occ=939 gpr_total=3927 fpr_total=1122 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,29,31,16,17,18 fprs=12,20,22,24 gpr_occ=3036 fpr_occ=858 gpr_total=4359 fpr_total=1266 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; - std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; - std::uint32_t aot_gpr_2 = ctx.gpr[2]; std::uint32_t aot_gpr_16 = ctx.gpr[16]; + std::uint32_t aot_gpr_17 = ctx.gpr[17]; + std::uint32_t aot_gpr_18 = ctx.gpr[18]; float aot_fpr_12 = ctx.fpr[12]; - float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_20 = ctx.fpr[20]; - float aot_fpr_14 = ctx.fpr[14]; + float aot_fpr_22 = ctx.fpr[22]; + float aot_fpr_24 = ctx.fpr[24]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[29] = aot_gpr_29; ctx.gpr[5] = aot_gpr_5; ctx.gpr[31] = aot_gpr_31; ctx.gpr[2] = aot_gpr_2; ctx.gpr[16] = aot_gpr_16; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; ctx.fpr[14] = aot_fpr_14; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_2 = ctx.gpr[2]; aot_gpr_16 = ctx.gpr[16]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_14 = ctx.fpr[14]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[29] = aot_gpr_29; ctx.gpr[31] = aot_gpr_31; ctx.gpr[16] = aot_gpr_16; ctx.gpr[17] = aot_gpr_17; ctx.gpr[18] = aot_gpr_18; ctx.fpr[12] = aot_fpr_12; ctx.fpr[20] = aot_fpr_20; ctx.fpr[22] = aot_fpr_22; ctx.fpr[24] = aot_fpr_24; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_17 = ctx.gpr[17]; aot_gpr_18 = ctx.gpr[18]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_22 = ctx.fpr[22]; aot_fpr_24 = ctx.fpr[24]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -944,11 +945,11 @@ LOCAL_DISPATCH: } L_08A24000: aot_gpr_31 = (0x08A24008u); - aot_gpr_5 = (1024u << 16u); + ctx.gpr[5] = (1024u << 16u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 465u, 0x08A1AE54u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A24008u) goto L_08A24008; AOT_REGCACHE_SYNC_OUT(); return; L_08A24008: - aot_gpr_4 = (ctx.gpr[19] | aot_gpr_2); + aot_gpr_4 = (ctx.gpr[19] | ctx.gpr[2]); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -957,7 +958,7 @@ L_08A24008: goto L_08A24014; } L_08A24014: - ctx.gpr[17] = (ctx.gpr[21] | 0u); + aot_gpr_17 = (ctx.gpr[21] | 0u); goto L_08A24018; L_08A24018: aot_gpr_31 = (0x08A24020u); @@ -965,8 +966,8 @@ L_08A24018: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 439u, 0x08A1ACDCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A24020u) goto L_08A24020; AOT_REGCACHE_SYNC_OUT(); return; L_08A24020: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(8))); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[22])) ? 0x00800000u : 0u); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(8))); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_22)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -981,7 +982,7 @@ L_08A24034: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A2403Cu) goto L_08A2403C; AOT_REGCACHE_SYNC_OUT(); return; L_08A2403C: - { const bool branch_taken = aot_gpr_2 == 0u; + { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_08A2404C; @@ -989,7 +990,7 @@ L_08A2403C: goto L_08A24044; } L_08A24044: - if (ctx.gpr[17] != 0u) { + if (aot_gpr_17 != 0u) { aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1204), std::bit_cast(ctx.fpr[26])); goto L_08A24068; } @@ -1001,11 +1002,11 @@ L_08A2404C: AOT_REGCACHE_SYNC_OUT(); return; L_08A24054: aot_gpr_31 = (0x08A2405Cu); - aot_gpr_4 = (aot_gpr_2 | 0u); + aot_gpr_4 = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0134_entry, 134u, 476u, 0x08A1E978u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A2405Cu) goto L_08A2405C; AOT_REGCACHE_SYNC_OUT(); return; L_08A2405C: - { const bool branch_taken = aot_gpr_2 == 0u; + { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_08A240F0; @@ -1023,13 +1024,13 @@ L_08A24068: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 439u, 0x08A1ACDCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A24078u) goto L_08A24078; AOT_REGCACHE_SYNC_OUT(); return; L_08A24078: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(8))); - aot_fpr_12 = aot_fpr_12 - ctx.fpr[22]; + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(8))); + aot_fpr_12 = aot_fpr_12 - aot_fpr_22; aot_gpr_4 = (17008u << 16u); ctx.fpr[28] = std::bit_cast(aot_gpr_4); aot_fpr_12 = aot_fpr_12 / ctx.fpr[28]; aot_gpr_31 = (0x08A24094u); - aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); + ctx.fpr[13] = std::bit_cast(std::bit_cast(aot_fpr_20)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 429u, 0x08A1ABF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A24094u) goto L_08A24094; AOT_REGCACHE_SYNC_OUT(); return; L_08A24094: @@ -1043,22 +1044,22 @@ L_08A24094: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 439u, 0x08A1ACDCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A240B0u) goto L_08A240B0; AOT_REGCACHE_SYNC_OUT(); return; L_08A240B0: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(8))); - aot_fpr_12 = aot_fpr_12 - ctx.fpr[22]; + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(8))); + aot_fpr_12 = aot_fpr_12 - aot_fpr_22; aot_fpr_12 = aot_fpr_12 / ctx.fpr[28]; aot_gpr_31 = (0x08A240C4u); - aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[26])); + ctx.fpr[13] = std::bit_cast(std::bit_cast(ctx.fpr[26])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 427u, 0x08A1ABD8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A240C4u) goto L_08A240C4; AOT_REGCACHE_SYNC_OUT(); return; L_08A240C4: - ctx.fpr[22] = ctx.fpr[0] + ctx.fpr[26]; - { const float fs = ctx.fpr[22]; const float ft = ctx.fpr[24]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[22] = std::bit_cast(0x7FC00000u); else ctx.fpr[22] = fs * ft; } + aot_fpr_22 = ctx.fpr[0] + ctx.fpr[26]; + { const float fs = aot_fpr_22; const float ft = aot_fpr_24; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_22 = std::bit_cast(0x7FC00000u); else aot_fpr_22 = fs * ft; } aot_gpr_31 = (0x08A240D4u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8896))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 122u, 0x08890830u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A240D4u) goto L_08A240D4; AOT_REGCACHE_SYNC_OUT(); return; L_08A240D4: - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[0] < ctx.fpr[24])) ? 0x00800000u : 0u); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[0] < aot_fpr_24)) ? 0x00800000u : 0u); ctx.fpr[28] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1200))); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); ctx.fpr[26] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1204))); @@ -1070,7 +1071,7 @@ L_08A240D4: L_08A240E4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8896))); aot_gpr_31 = (0x08A240F0u); - aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[22])); + aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_22)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 111u, 0x08890798u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A240F0u) goto L_08A240F0; AOT_REGCACHE_SYNC_OUT(); return; L_08A240F0: @@ -1140,7 +1141,7 @@ L_08A24150: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0134_entry, 134u, 274u, 0x08A1D7C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A24158u) goto L_08A24158; AOT_REGCACHE_SYNC_OUT(); return; L_08A24158: - { const bool branch_taken = aot_gpr_2 == 0u; + { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_08A2416C; @@ -1182,27 +1183,27 @@ L_08A24184: L_08A241A0: aot_gpr_4 = (aot_gpr_29 + static_cast(224)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(48))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2240))); - aot_fpr_12 = aot_fpr_12 - aot_fpr_13; - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(52))); - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2244))); - aot_fpr_13 = aot_fpr_13 - aot_fpr_14; - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(56))); + ctx.fpr[13] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2240))); + aot_fpr_12 = aot_fpr_12 - ctx.fpr[13]; + ctx.fpr[13] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(52))); + ctx.fpr[14] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2244))); + ctx.fpr[13] = ctx.fpr[13] - ctx.fpr[14]; + ctx.fpr[14] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(56))); ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2248))); aot_gpr_31 = (0x08A241CCu); - aot_fpr_14 = aot_fpr_14 - ctx.fpr[15]; + ctx.fpr[14] = ctx.fpr[14] - ctx.fpr[15]; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 431u, 0x08A1AC10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A241CCu) goto L_08A241CC; AOT_REGCACHE_SYNC_OUT(); return; L_08A241CC: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(224))); { const float fs = aot_fpr_12; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(228))); - { const float fs = aot_fpr_13; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } - aot_fpr_12 = aot_fpr_12 + aot_fpr_13; - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(232))); - { const float fs = aot_fpr_14; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } + ctx.fpr[13] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(228))); + { const float fs = ctx.fpr[13]; const float ft = ctx.fpr[13]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[13] = std::bit_cast(0x7FC00000u); else ctx.fpr[13] = fs * ft; } + aot_fpr_12 = aot_fpr_12 + ctx.fpr[13]; + ctx.fpr[14] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(232))); + { const float fs = ctx.fpr[14]; const float ft = ctx.fpr[14]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[14] = std::bit_cast(0x7FC00000u); else ctx.fpr[14] = fs * ft; } aot_gpr_31 = (0x08A241F0u); - aot_fpr_12 = aot_fpr_12 + aot_fpr_14; + aot_fpr_12 = aot_fpr_12 + ctx.fpr[14]; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 426u, 0x08A1ABCCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A241F0u) goto L_08A241F0; AOT_REGCACHE_SYNC_OUT(); return; L_08A241F0: @@ -1212,8 +1213,8 @@ L_08A241F0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2116))); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2116), aot_gpr_4); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2112))); - { const bool branch_taken = aot_gpr_4 != aot_gpr_5; + ctx.gpr[5] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2112))); + { const bool branch_taken = aot_gpr_4 != ctx.gpr[5]; // nop if (branch_taken) { goto L_08A24234; @@ -1223,9 +1224,9 @@ L_08A241F0: L_08A24214: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2172))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2112))); - aot_fpr_13 = std::bit_cast(aot_gpr_4); - aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_13))); - aot_fpr_12 = aot_fpr_12 / aot_fpr_13; + ctx.fpr[13] = std::bit_cast(aot_gpr_4); + ctx.fpr[13] = static_cast(static_cast(std::bit_cast(ctx.fpr[13]))); + aot_fpr_12 = aot_fpr_12 / ctx.fpr[13]; aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2168), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2172), std::bit_cast(aot_fpr_20)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2116), 0u); @@ -1241,14 +1242,14 @@ L_08A24234: ctx.fpr[26] = aot_fpr_12 + ctx.fpr[26]; aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(80))); aot_gpr_4 = (aot_gpr_4 << 5u); - aot_gpr_5 = (0u - aot_gpr_4); + ctx.gpr[5] = (0u - aot_gpr_4); aot_gpr_4 = (aot_gpr_4 << 2u); - aot_gpr_5 = (aot_gpr_5 + aot_gpr_4); + ctx.gpr[5] = (ctx.gpr[5] + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 << 2u); - aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[5] + aot_gpr_4); aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(228))); - { const bool branch_taken = aot_gpr_4 == ctx.gpr[18]; + { const bool branch_taken = aot_gpr_4 == aot_gpr_18; // nop if (branch_taken) { goto L_08A242E0; @@ -1258,15 +1259,15 @@ L_08A24234: L_08A24280: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(80))); aot_gpr_4 = (aot_gpr_4 << 5u); - aot_gpr_5 = (0u - aot_gpr_4); + ctx.gpr[5] = (0u - aot_gpr_4); aot_gpr_4 = (aot_gpr_4 << 2u); - aot_gpr_5 = (aot_gpr_5 + aot_gpr_4); + ctx.gpr[5] = (ctx.gpr[5] + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 << 2u); - aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[5] + aot_gpr_4); aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(112)))))); - aot_gpr_5 = (0u | 37u); - { const bool branch_taken = aot_gpr_4 == aot_gpr_5; + ctx.gpr[5] = (0u | 37u); + { const bool branch_taken = aot_gpr_4 == ctx.gpr[5]; // nop if (branch_taken) { goto L_08A242E0; @@ -1276,15 +1277,15 @@ L_08A24280: L_08A242B0: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(80))); aot_gpr_4 = (aot_gpr_4 << 5u); - aot_gpr_5 = (0u - aot_gpr_4); + ctx.gpr[5] = (0u - aot_gpr_4); aot_gpr_4 = (aot_gpr_4 << 2u); - aot_gpr_5 = (aot_gpr_5 + aot_gpr_4); + ctx.gpr[5] = (ctx.gpr[5] + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 << 2u); - aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); - aot_gpr_5 = (aot_gpr_16 + aot_gpr_4); - aot_gpr_4 = (aot_gpr_5 + static_cast(144)); + aot_gpr_4 = (ctx.gpr[5] + aot_gpr_4); + ctx.gpr[5] = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[5] + static_cast(144)); aot_gpr_31 = (0x08A242DCu); - aot_gpr_5 = (aot_gpr_5 + static_cast(192)); + ctx.gpr[5] = (ctx.gpr[5] + static_cast(192)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 438u, 0x08A1ACCCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A242DCu) goto L_08A242DC; AOT_REGCACHE_SYNC_OUT(); return; L_08A242DC: @@ -1311,11 +1312,11 @@ L_08A242FC: aot_gpr_4 = (aot_gpr_4 & 1u); aot_gpr_4 = (0u - aot_gpr_4); aot_gpr_4 = (aot_gpr_4 << 5u); - aot_gpr_5 = (0u - aot_gpr_4); + ctx.gpr[5] = (0u - aot_gpr_4); aot_gpr_4 = (aot_gpr_4 << 2u); - aot_gpr_5 = (aot_gpr_5 + aot_gpr_4); + ctx.gpr[5] = (ctx.gpr[5] + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 << 2u); - aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[5] + aot_gpr_4); { const bool branch_taken = 0u == 0u; aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); if (branch_taken) { @@ -1325,11 +1326,11 @@ L_08A242FC: } L_08A24324: aot_gpr_4 = (aot_gpr_4 << 5u); - aot_gpr_5 = (0u - aot_gpr_4); + ctx.gpr[5] = (0u - aot_gpr_4); aot_gpr_4 = (aot_gpr_4 << 2u); - aot_gpr_5 = (aot_gpr_5 + aot_gpr_4); + ctx.gpr[5] = (ctx.gpr[5] + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 << 2u); - aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[5] + aot_gpr_4); aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); goto L_08A24340; L_08A24340: @@ -1356,7 +1357,7 @@ L_08A24358: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 453u, 0x08A1ADA4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A24360u) goto L_08A24360; AOT_REGCACHE_SYNC_OUT(); return; L_08A24360: - { const bool branch_taken = aot_gpr_2 == 0u; + { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_08A2451C; @@ -1375,11 +1376,11 @@ L_08A24378: aot_gpr_4 = (aot_gpr_4 & 1u); aot_gpr_4 = (0u - aot_gpr_4); aot_gpr_4 = (aot_gpr_4 << 5u); - aot_gpr_5 = (0u - aot_gpr_4); + ctx.gpr[5] = (0u - aot_gpr_4); aot_gpr_4 = (aot_gpr_4 << 2u); - aot_gpr_5 = (aot_gpr_5 + aot_gpr_4); + ctx.gpr[5] = (ctx.gpr[5] + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 << 2u); - aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[5] + aot_gpr_4); { const bool branch_taken = 0u == 0u; aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); if (branch_taken) { @@ -1389,11 +1390,11 @@ L_08A24378: } L_08A243A0: aot_gpr_4 = (aot_gpr_4 << 5u); - aot_gpr_5 = (0u - aot_gpr_4); + ctx.gpr[5] = (0u - aot_gpr_4); aot_gpr_4 = (aot_gpr_4 << 2u); - aot_gpr_5 = (aot_gpr_5 + aot_gpr_4); + ctx.gpr[5] = (ctx.gpr[5] + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 << 2u); - aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[5] + aot_gpr_4); aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); goto L_08A243BC; L_08A243BC: @@ -1402,7 +1403,7 @@ L_08A243BC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 452u, 0x08A1AD90u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A243C4u) goto L_08A243C4; AOT_REGCACHE_SYNC_OUT(); return; L_08A243C4: - { const bool branch_taken = aot_gpr_2 != 0u; + { const bool branch_taken = ctx.gpr[2] != 0u; // nop if (branch_taken) { goto L_08A2451C; @@ -1412,15 +1413,15 @@ L_08A243C4: L_08A243CC: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(80))); aot_gpr_4 = (aot_gpr_4 << 5u); - aot_gpr_5 = (0u - aot_gpr_4); + ctx.gpr[5] = (0u - aot_gpr_4); aot_gpr_4 = (aot_gpr_4 << 2u); - aot_gpr_5 = (aot_gpr_5 + aot_gpr_4); + ctx.gpr[5] = (ctx.gpr[5] + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 << 2u); - aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[5] + aot_gpr_4); aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(112)))))); - aot_gpr_5 = (0u | 37u); - { const bool branch_taken = aot_gpr_4 == aot_gpr_5; + ctx.gpr[5] = (0u | 37u); + { const bool branch_taken = aot_gpr_4 == ctx.gpr[5]; // nop if (branch_taken) { goto L_08A2451C; @@ -1439,11 +1440,11 @@ L_08A2440C: aot_gpr_4 = (aot_gpr_4 & 1u); aot_gpr_4 = (0u - aot_gpr_4); aot_gpr_4 = (aot_gpr_4 << 5u); - aot_gpr_5 = (0u - aot_gpr_4); + ctx.gpr[5] = (0u - aot_gpr_4); aot_gpr_4 = (aot_gpr_4 << 2u); - aot_gpr_5 = (aot_gpr_5 + aot_gpr_4); + ctx.gpr[5] = (ctx.gpr[5] + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 << 2u); - aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[5] + aot_gpr_4); { const bool branch_taken = 0u == 0u; aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); if (branch_taken) { @@ -1453,16 +1454,16 @@ L_08A2440C: } L_08A24434: aot_gpr_4 = (aot_gpr_4 << 5u); - aot_gpr_5 = (0u - aot_gpr_4); + ctx.gpr[5] = (0u - aot_gpr_4); aot_gpr_4 = (aot_gpr_4 << 2u); - aot_gpr_5 = (aot_gpr_5 + aot_gpr_4); + ctx.gpr[5] = (ctx.gpr[5] + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 << 2u); - aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[5] + aot_gpr_4); aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); goto L_08A24450; L_08A24450: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(228))); - { const bool branch_taken = aot_gpr_4 == ctx.gpr[18]; + { const bool branch_taken = aot_gpr_4 == aot_gpr_18; // nop if (branch_taken) { goto L_08A2451C; @@ -1481,11 +1482,11 @@ L_08A2446C: aot_gpr_4 = (aot_gpr_4 & 1u); aot_gpr_4 = (0u - aot_gpr_4); aot_gpr_4 = (aot_gpr_4 << 5u); - aot_gpr_5 = (0u - aot_gpr_4); + ctx.gpr[5] = (0u - aot_gpr_4); aot_gpr_4 = (aot_gpr_4 << 2u); - aot_gpr_5 = (aot_gpr_5 + aot_gpr_4); + ctx.gpr[5] = (ctx.gpr[5] + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 << 2u); - aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[5] + aot_gpr_4); aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); { const bool branch_taken = 0u == 0u; aot_gpr_4 = (aot_gpr_4 + static_cast(144)); @@ -1496,47 +1497,47 @@ L_08A2446C: } L_08A24498: aot_gpr_4 = (aot_gpr_4 << 5u); - aot_gpr_5 = (0u - aot_gpr_4); + ctx.gpr[5] = (0u - aot_gpr_4); aot_gpr_4 = (aot_gpr_4 << 2u); - aot_gpr_5 = (aot_gpr_5 + aot_gpr_4); + ctx.gpr[5] = (ctx.gpr[5] + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 << 2u); - aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[5] + aot_gpr_4); aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(144)); goto L_08A244B8; L_08A244B8: - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(80))); - if (static_cast(aot_gpr_5) >= 0) { - aot_gpr_5 = (aot_gpr_5 & 1u); + ctx.gpr[5] = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(80))); + if (static_cast(ctx.gpr[5]) >= 0) { + ctx.gpr[5] = (ctx.gpr[5] & 1u); goto L_08A244F0; } goto L_08A244C4; L_08A244C4: - aot_gpr_5 = (aot_gpr_5 & 1u); - aot_gpr_5 = (0u - aot_gpr_5); - aot_gpr_5 = (aot_gpr_5 << 5u); - ctx.gpr[6] = (0u - aot_gpr_5); - aot_gpr_5 = (aot_gpr_5 << 2u); - ctx.gpr[6] = (ctx.gpr[6] + aot_gpr_5); - aot_gpr_5 = (aot_gpr_5 << 2u); - aot_gpr_5 = (ctx.gpr[6] + aot_gpr_5); - aot_gpr_5 = (aot_gpr_16 + aot_gpr_5); + ctx.gpr[5] = (ctx.gpr[5] & 1u); + ctx.gpr[5] = (0u - ctx.gpr[5]); + ctx.gpr[5] = (ctx.gpr[5] << 5u); + ctx.gpr[6] = (0u - ctx.gpr[5]); + ctx.gpr[5] = (ctx.gpr[5] << 2u); + ctx.gpr[6] = (ctx.gpr[6] + ctx.gpr[5]); + ctx.gpr[5] = (ctx.gpr[5] << 2u); + ctx.gpr[5] = (ctx.gpr[6] + ctx.gpr[5]); + ctx.gpr[5] = (aot_gpr_16 + ctx.gpr[5]); { const bool branch_taken = 0u == 0u; - aot_gpr_5 = (aot_gpr_5 + static_cast(192)); + ctx.gpr[5] = (ctx.gpr[5] + static_cast(192)); if (branch_taken) { goto L_08A24510; } goto L_08A244F0; } L_08A244F0: - aot_gpr_5 = (aot_gpr_5 << 5u); - ctx.gpr[6] = (0u - aot_gpr_5); - aot_gpr_5 = (aot_gpr_5 << 2u); - ctx.gpr[6] = (ctx.gpr[6] + aot_gpr_5); - aot_gpr_5 = (aot_gpr_5 << 2u); - aot_gpr_5 = (ctx.gpr[6] + aot_gpr_5); - aot_gpr_5 = (aot_gpr_16 + aot_gpr_5); - aot_gpr_5 = (aot_gpr_5 + static_cast(192)); + ctx.gpr[5] = (ctx.gpr[5] << 5u); + ctx.gpr[6] = (0u - ctx.gpr[5]); + ctx.gpr[5] = (ctx.gpr[5] << 2u); + ctx.gpr[6] = (ctx.gpr[6] + ctx.gpr[5]); + ctx.gpr[5] = (ctx.gpr[5] << 2u); + ctx.gpr[5] = (ctx.gpr[6] + ctx.gpr[5]); + ctx.gpr[5] = (aot_gpr_16 + ctx.gpr[5]); + ctx.gpr[5] = (ctx.gpr[5] + static_cast(192)); goto L_08A24510; L_08A24510: aot_gpr_31 = (0x08A24518u); @@ -1552,14 +1553,14 @@ L_08A2451C: { std::uint32_t aot_run_words[16]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(1208), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); - ctx.fpr[22] = std::bit_cast(aot_run_words[1]); - ctx.fpr[24] = std::bit_cast(aot_run_words[2]); + aot_fpr_22 = std::bit_cast(aot_run_words[1]); + aot_fpr_24 = std::bit_cast(aot_run_words[2]); ctx.fpr[26] = std::bit_cast(aot_run_words[3]); ctx.fpr[28] = std::bit_cast(aot_run_words[4]); ctx.fpr[30] = std::bit_cast(aot_run_words[5]); aot_gpr_16 = aot_run_words[6]; - ctx.gpr[17] = aot_run_words[7]; - ctx.gpr[18] = aot_run_words[8]; + aot_gpr_17 = aot_run_words[7]; + aot_gpr_18 = aot_run_words[8]; ctx.gpr[19] = aot_run_words[9]; ctx.gpr[20] = aot_run_words[10]; ctx.gpr[21] = aot_run_words[11]; @@ -1576,10 +1577,10 @@ L_08A2451C: AOT_REGCACHE_SYNC_OUT(); return; L_08A2456C: aot_gpr_29 = (aot_gpr_29 + static_cast(-640)); - { const std::uint32_t aot_run_words[16]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; + { const std::uint32_t aot_run_words[16]{std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_22), std::bit_cast(aot_fpr_24), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), aot_gpr_16, aot_gpr_17, aot_gpr_18, ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(572), aot_run_words); } - ctx.fpr[24] = std::bit_cast(0u); - aot_fpr_20 = std::bit_cast(std::bit_cast(ctx.fpr[24])); + aot_fpr_24 = std::bit_cast(0u); + aot_fpr_20 = std::bit_cast(std::bit_cast(aot_fpr_24)); { const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -1589,7 +1590,7 @@ L_08A2456C: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[5] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -1606,8 +1607,8 @@ L_08A2456C: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_20)}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(32), aot_run_words); } - ctx.gpr[18] = (aot_gpr_29 + static_cast(32)); - { const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); + aot_gpr_18 = (aot_gpr_29 + static_cast(32)); + { const std::uint32_t vfpu_address = aot_gpr_18 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -1632,8 +1633,8 @@ L_08A2456C: ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 0u, 0u, 3u>(); ctx.execute_vfpu_unary_ct<28u, 28u, 1u, 22u>(); - aot_gpr_5 = (ctx.vfpu_scalar_bits_ct<28u>()); - ctx.fpr[28] = std::bit_cast(aot_gpr_5); + ctx.gpr[5] = (ctx.vfpu_scalar_bits_ct<28u>()); + ctx.fpr[28] = std::bit_cast(ctx.gpr[5]); { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -1645,18 +1646,18 @@ L_08A2456C: ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 0u, 0u, 2u>(); ctx.execute_vfpu_unary_ct<28u, 28u, 1u, 22u>(); - aot_gpr_5 = (ctx.vfpu_scalar_bits_ct<28u>()); - ctx.fpr[26] = std::bit_cast(aot_gpr_5); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); + ctx.gpr[5] = (ctx.vfpu_scalar_bits_ct<28u>()); + ctx.fpr[26] = std::bit_cast(ctx.gpr[5]); + ctx.fpr[13] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); ctx.gpr[21] = (aot_gpr_29 + static_cast(80)); ctx.gpr[22] = (aot_gpr_29 + static_cast(48)); - aot_gpr_5 = (16128u << 16u); - ctx.fpr[30] = std::bit_cast(aot_gpr_5); + ctx.gpr[5] = (16128u << 16u); + ctx.fpr[30] = std::bit_cast(ctx.gpr[5]); ctx.gpr[23] = (aot_gpr_29 + static_cast(144)); ctx.gpr[20] = (aot_gpr_4 | 0u); - ctx.gpr[17] = (ctx.gpr[6] | 0u); + aot_gpr_17 = (ctx.gpr[6] | 0u); ctx.gpr[19] = (ctx.gpr[7] | 0u); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_13) || std::isnan(aot_fpr_20)) && aot_fpr_13 == aot_fpr_20)) ? 0x00800000u : 0u); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(ctx.fpr[13]) || std::isnan(aot_fpr_20)) && ctx.fpr[13] == aot_fpr_20)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(568), std::bit_cast(aot_fpr_12)); @@ -1667,7 +1668,7 @@ L_08A2456C: } L_08A24644: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(68))); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(ctx.fpr[24])) && aot_fpr_12 == ctx.fpr[24])) ? 0x00800000u : 0u); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(aot_fpr_24)) && aot_fpr_12 == aot_fpr_24)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -1677,14 +1678,14 @@ L_08A24644: goto L_08A24658; } L_08A24658: - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); + ctx.fpr[13] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); aot_gpr_31 = (0x08A24664u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(68))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 28u, 0x08964540u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A24664u) goto L_08A24664; AOT_REGCACHE_SYNC_OUT(); return; L_08A24664: - ctx.fpr[22] = std::bit_cast(std::bit_cast(ctx.fpr[0])); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[22] < ctx.fpr[24])) ? 0x00800000u : 0u); + aot_fpr_22 = std::bit_cast(std::bit_cast(ctx.fpr[0])); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_22 < aot_fpr_24)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); aot_gpr_4 = (16585u << 16u); @@ -1696,7 +1697,7 @@ L_08A24664: L_08A24678: aot_gpr_4 = (aot_gpr_4 | 4059u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - ctx.fpr[22] = ctx.fpr[22] + aot_fpr_12; + aot_fpr_22 = aot_fpr_22 + aot_fpr_12; goto L_08A24684; L_08A24684: { const bool branch_taken = 0u == 0u; @@ -1707,14 +1708,14 @@ L_08A24684: goto L_08A2468C; } L_08A2468C: - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(16))); + ctx.fpr[13] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(16))); aot_gpr_31 = (0x08A24698u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(20))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 28u, 0x08964540u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A24698u) goto L_08A24698; AOT_REGCACHE_SYNC_OUT(); return; L_08A24698: - ctx.fpr[22] = std::bit_cast(std::bit_cast(ctx.fpr[0])); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[22] < ctx.fpr[24])) ? 0x00800000u : 0u); + aot_fpr_22 = std::bit_cast(std::bit_cast(ctx.fpr[0])); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_22 < aot_fpr_24)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); aot_gpr_4 = (16585u << 16u); @@ -1726,10 +1727,10 @@ L_08A24698: L_08A246AC: aot_gpr_4 = (aot_gpr_4 | 4059u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - ctx.fpr[22] = ctx.fpr[22] + aot_fpr_12; + aot_fpr_22 = aot_fpr_22 + aot_fpr_12; goto L_08A246B8; L_08A246B8: - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(ctx.fpr[26]) || std::isnan(ctx.fpr[24])) && ctx.fpr[26] == ctx.fpr[24])) ? 0x00800000u : 0u); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(ctx.fpr[26]) || std::isnan(aot_fpr_24)) && ctx.fpr[26] == aot_fpr_24)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -1740,7 +1741,7 @@ L_08A246B8: } L_08A246C8: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(72))); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(ctx.fpr[24])) && aot_fpr_12 == ctx.fpr[24])) ? 0x00800000u : 0u); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(aot_fpr_24)) && aot_fpr_12 == aot_fpr_24)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -1752,12 +1753,12 @@ L_08A246C8: L_08A246DC: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(72))); aot_gpr_31 = (0x08A246E8u); - aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[26])); + ctx.fpr[13] = std::bit_cast(std::bit_cast(ctx.fpr[26])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 28u, 0x08964540u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A246E8u) goto L_08A246E8; AOT_REGCACHE_SYNC_OUT(); return; L_08A246E8: aot_fpr_20 = std::bit_cast(std::bit_cast(ctx.fpr[0])); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_20 < ctx.fpr[24])) ? 0x00800000u : 0u); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_20 < aot_fpr_24)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); aot_gpr_4 = (16585u << 16u); @@ -1773,7 +1774,7 @@ L_08A246FC: goto L_08A24708; L_08A24708: aot_gpr_31 = (0x08A24710u); - aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[22])); + aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_22)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 419u, 0x08A1AB28u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A24710u) goto L_08A24710; AOT_REGCACHE_SYNC_OUT(); return; L_08A24710: @@ -1785,23 +1786,23 @@ L_08A24710: L_08A2471C: { const float fs = ctx.fpr[26]; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[26] = std::bit_cast(0x7FC00000u); else ctx.fpr[26] = fs * ft; } aot_gpr_31 = (0x08A24728u); - aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[22])); + aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_22)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 417u, 0x08A1AAA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A24728u) goto L_08A24728; AOT_REGCACHE_SYNC_OUT(); return; L_08A24728: - ctx.fpr[22] = std::bit_cast(std::bit_cast(ctx.fpr[0])); + aot_fpr_22 = std::bit_cast(std::bit_cast(ctx.fpr[0])); aot_gpr_31 = (0x08A24734u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 419u, 0x08A1AB28u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A24734u) goto L_08A24734; AOT_REGCACHE_SYNC_OUT(); return; L_08A24734: - { const float fs = ctx.fpr[22]; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[22] = std::bit_cast(0x7FC00000u); else ctx.fpr[22] = fs * ft; } + { const float fs = aot_fpr_22; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_22 = std::bit_cast(0x7FC00000u); else aot_fpr_22 = fs * ft; } aot_gpr_31 = (0x08A24740u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 417u, 0x08A1AAA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A24740u) goto L_08A24740; AOT_REGCACHE_SYNC_OUT(); return; L_08A24740: - { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[0])}; + { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[26]), std::bit_cast(aot_fpr_22), std::bit_cast(ctx.fpr[0])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(80), aot_run_words); } aot_gpr_4 = (std::bit_cast(ctx.fpr[28])); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); @@ -1819,7 +1820,7 @@ L_08A24740: const std::uint32_t vfpu_address = ctx.gpr[22] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -1839,10 +1840,10 @@ L_08A24740: ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); + const std::uint32_t vfpu_address = aot_gpr_18 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - { const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_18 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -1880,21 +1881,21 @@ L_08A24740: aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8068), aot_gpr_4); ctx.gpr[6] = (aot_gpr_29 + static_cast(96)); ctx.gpr[7] = (aot_gpr_29 + static_cast(128)); - aot_gpr_4 = (ctx.gpr[17] | 0u); - aot_gpr_5 = (ctx.gpr[19] | 0u); + aot_gpr_4 = (aot_gpr_17 | 0u); + ctx.gpr[5] = (ctx.gpr[19] | 0u); ctx.gpr[8] = (0u | 1u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[11] = (0u | 1u); - aot_gpr_2 = (0u | 1u); - { const std::uint32_t aot_run_words[4]{0u, 0u, aot_gpr_2, 0u}; + ctx.gpr[2] = (0u | 1u); + { const std::uint32_t aot_run_words[4]{0u, 0u, ctx.gpr[2], 0u}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_31 = (0x08A247E0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0036_entry, 36u, 698u, 0x0889786Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A247E0u) goto L_08A247E0; AOT_REGCACHE_SYNC_OUT(); return; L_08A247E0: - { const bool branch_taken = aot_gpr_2 == 0u; + { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_08A24818; @@ -1904,11 +1905,11 @@ L_08A247E0: L_08A247E8: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(96))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(160), std::bit_cast(aot_fpr_12)); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(100))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(164), std::bit_cast(aot_fpr_13)); - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(104))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(168), std::bit_cast(aot_fpr_14)); - { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_13), std::bit_cast(aot_fpr_14)}; + ctx.fpr[13] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(100))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(164), std::bit_cast(ctx.fpr[13])); + ctx.fpr[14] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(104))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(168), std::bit_cast(ctx.fpr[14])); + { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_12), std::bit_cast(ctx.fpr[13]), std::bit_cast(ctx.fpr[14])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(176), aot_run_words); } aot_gpr_4 = (aot_gpr_29 + static_cast(176)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); @@ -1927,7 +1928,7 @@ L_08A247E8: goto L_08A24818; L_08A24818: aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8068), 0u); - { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -1981,7 +1982,7 @@ L_08A24818: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A24850u) goto L_08A24850; AOT_REGCACHE_SYNC_OUT(); return; L_08A24850: - if (aot_gpr_2 == 0u) { + if (ctx.gpr[2] == 0u) { aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(568))); goto L_08A2489C; } @@ -2024,11 +2025,11 @@ L_08A24898: L_08A2489C: aot_gpr_4 = (16457u << 16u); aot_gpr_4 = (aot_gpr_4 | 4059u); - aot_fpr_13 = std::bit_cast(aot_gpr_4); - { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } + ctx.fpr[13] = std::bit_cast(aot_gpr_4); + { const float fs = aot_fpr_12; const float ft = ctx.fpr[13]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_4 = (17204u << 16u); - aot_fpr_14 = std::bit_cast(aot_gpr_4); - aot_fpr_12 = aot_fpr_12 / aot_fpr_14; + ctx.fpr[14] = std::bit_cast(aot_gpr_4); + aot_fpr_12 = aot_fpr_12 / ctx.fpr[14]; { const float fs = aot_fpr_12; const float ft = ctx.fpr[30]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<0u>(aot_gpr_4); @@ -2059,7 +2060,7 @@ L_08A248F0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0112_entry, 112u, 677u, 0x089C6F50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A248F8u) goto L_08A248F8; AOT_REGCACHE_SYNC_OUT(); return; L_08A248F8: - { const bool branch_taken = aot_gpr_2 == 0u; + { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_08A24914; @@ -2068,8 +2069,8 @@ L_08A248F8: } L_08A24900: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16972))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7628))); - { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } + ctx.fpr[13] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7628))); + { const float fs = aot_fpr_12; const float ft = ctx.fpr[13]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } { const bool branch_taken = 0u == 0u; { const float fs = aot_fpr_12; const float ft = aot_fpr_20; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_20 = std::bit_cast(0x7FC00000u); else aot_fpr_20 = fs * ft; } if (branch_taken) { @@ -2079,8 +2080,8 @@ L_08A24900: } L_08A24914: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16972))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7628))); - { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } + ctx.fpr[13] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7628))); + { const float fs = aot_fpr_12; const float ft = ctx.fpr[13]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } { const float fs = aot_fpr_12; const float ft = aot_fpr_20; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_20 = std::bit_cast(0x7FC00000u); else aot_fpr_20 = fs * ft; } goto L_08A24924; L_08A24924: @@ -2139,12 +2140,12 @@ L_08A2492C: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); + const std::uint32_t vfpu_address = aot_gpr_18 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_4 = (ctx.gpr[18] | 0u); + aot_gpr_4 = (aot_gpr_18 | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); - aot_gpr_5 = (0u | 0u); + ctx.gpr[5] = (0u | 0u); ctx.gpr[6] = (0u | 1u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 0u); @@ -2157,8 +2158,8 @@ L_08A2492C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0037_entry, 37u, 487u, 0x0889ACD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A2498Cu) goto L_08A2498C; AOT_REGCACHE_SYNC_OUT(); return; L_08A2498C: - ctx.fpr[22] = std::bit_cast(std::bit_cast(ctx.fpr[24])); - { const bool branch_taken = aot_gpr_2 == 0u; + aot_fpr_22 = std::bit_cast(std::bit_cast(aot_fpr_24)); + { const bool branch_taken = ctx.gpr[2] == 0u; aot_gpr_16 = (0u | 1u); if (branch_taken) { goto L_08A24CB0; @@ -2174,8 +2175,8 @@ L_08A24998: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(212), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(216), std::bit_cast(aot_fpr_12)); - aot_gpr_5 = (aot_gpr_29 + static_cast(208)); - { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); + ctx.gpr[5] = (aot_gpr_29 + static_cast(208)); + { const std::uint32_t vfpu_address = ctx.gpr[5] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -2194,9 +2195,9 @@ L_08A24998: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>(); - ctx.gpr[17] = (aot_gpr_29 + static_cast(272)); + aot_gpr_17 = (aot_gpr_29 + static_cast(272)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); + const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(2032))); @@ -2250,11 +2251,11 @@ L_08A24998: ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 0u, 1u, 3u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); - ctx.fpr[22] = std::bit_cast(aot_gpr_4); + aot_fpr_22 = std::bit_cast(aot_gpr_4); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7664))); - ctx.gpr[18] = (aot_gpr_29 + static_cast(304)); + aot_gpr_18 = (aot_gpr_29 + static_cast(304)); ctx.gpr[21] = (aot_gpr_29 + static_cast(320)); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[22] <= aot_fpr_12)) ? 0x00800000u : 0u); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_22 <= aot_fpr_12)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); ctx.gpr[19] = (aot_gpr_29 + static_cast(240)); @@ -2267,7 +2268,7 @@ L_08A24A30: aot_gpr_4 = (16230u << 16u); aot_gpr_4 = (aot_gpr_4 | 26214u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[22] < aot_fpr_12)) ? 0x00800000u : 0u); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_22 < aot_fpr_12)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -2282,7 +2283,7 @@ L_08A24A4C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 122u, 0x08890830u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A24A54u) goto L_08A24A54; AOT_REGCACHE_SYNC_OUT(); return; L_08A24A54: - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[22] < ctx.fpr[0])) ? 0x00800000u : 0u); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_22 < ctx.fpr[0])) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -2294,7 +2295,7 @@ L_08A24A54: L_08A24A64: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8896))); aot_gpr_31 = (0x08A24A70u); - aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[22])); + aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_22)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 111u, 0x08890798u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A24A70u) goto L_08A24A70; AOT_REGCACHE_SYNC_OUT(); return; L_08A24A70: @@ -2307,7 +2308,7 @@ L_08A24A70: } L_08A24A78: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7664))); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[22] < aot_fpr_12)) ? 0x00800000u : 0u); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_22 < aot_fpr_12)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -2323,7 +2324,7 @@ L_08A24A8C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 111u, 0x08890798u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A24A98u) goto L_08A24A98; AOT_REGCACHE_SYNC_OUT(); return; L_08A24A98: - { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -2337,7 +2338,7 @@ L_08A24A98: aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_12 = aot_fpr_20 - aot_fpr_12; - { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -2354,16 +2355,16 @@ L_08A24A98: ctx.execute_vfpu_vscl_ct<1u, 1u, 28u, 3u>(); ctx.execute_vfpu_vcmov_ct<1u, 0u, 3u, 0u, false>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<1u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); + const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(304), std::bit_cast(aot_fpr_13)); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(308), std::bit_cast(aot_fpr_13)); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(312), std::bit_cast(aot_fpr_13)); - { const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); + ctx.fpr[13] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(304), std::bit_cast(ctx.fpr[13])); + ctx.fpr[13] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(308), std::bit_cast(ctx.fpr[13])); + ctx.fpr[13] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(312), std::bit_cast(ctx.fpr[13])); + { const std::uint32_t vfpu_address = aot_gpr_18 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -2380,12 +2381,12 @@ L_08A24A98: ctx.execute_vfpu_vscl_ct<1u, 1u, 28u, 3u>(); ctx.execute_vfpu_vcmov_ct<1u, 0u, 3u, 0u, false>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<1u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); + const std::uint32_t vfpu_address = aot_gpr_18 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); - { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -2399,7 +2400,7 @@ L_08A24A98: const std::uint32_t vfpu_address = ctx.gpr[21] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -2413,7 +2414,7 @@ L_08A24A98: const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - { const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_18 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -2434,7 +2435,7 @@ L_08A24A98: ctx.execute_vfpu_vdot_ct<28u, 0u, 1u, 3u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_12 = std::bit_cast(aot_gpr_4); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[24])) ? 0x00800000u : 0u); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_24)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -2444,7 +2445,7 @@ L_08A24A98: goto L_08A24B4C; } L_08A24B4C: - { const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_18 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -2469,7 +2470,7 @@ L_08A24B4C: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); + const std::uint32_t vfpu_address = aot_gpr_18 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } goto L_08A24B64; @@ -2489,7 +2490,7 @@ L_08A24B64: const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - { const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_18 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -2512,7 +2513,7 @@ L_08A24B64: aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); - { const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_18 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -2540,7 +2541,7 @@ L_08A24B64: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (16256u << 16u); - ctx.fpr[22] = std::bit_cast(aot_gpr_4); + aot_fpr_22 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(1984))); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -2571,8 +2572,8 @@ L_08A24BD8: L_08A24BE0: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7664))); aot_gpr_4 = (16384u << 16u); - aot_fpr_13 = std::bit_cast(aot_gpr_4); - { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } + ctx.fpr[13] = std::bit_cast(aot_gpr_4); + { const float fs = aot_fpr_12; const float ft = ctx.fpr[13]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[0] < aot_fpr_12)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); @@ -2584,7 +2585,7 @@ L_08A24BE0: } L_08A24C00: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(1984))); - { const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_18 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -2606,7 +2607,7 @@ L_08A24C00: ctx.execute_vfpu_vdot_ct<28u, 0u, 1u, 3u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_12 = std::bit_cast(aot_gpr_4); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[24])) ? 0x00800000u : 0u); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_24)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -2617,7 +2618,7 @@ L_08A24C00: } L_08A24C2C: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(84))); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[24])) ? 0x00800000u : 0u); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_24)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -2627,12 +2628,12 @@ L_08A24C2C: goto L_08A24C40; } L_08A24C40: - aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(84), std::bit_cast(ctx.fpr[24])); + aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(84), std::bit_cast(aot_fpr_24)); goto L_08A24C44; L_08A24C44: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(84))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); - aot_fpr_12 = aot_fpr_12 + aot_fpr_13; + ctx.fpr[13] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); + aot_fpr_12 = aot_fpr_12 + ctx.fpr[13]; { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(84), std::bit_cast(aot_fpr_12)); if (branch_taken) { @@ -2642,7 +2643,7 @@ L_08A24C44: } L_08A24C58: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(1984))); - { const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_18 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -2675,7 +2676,7 @@ L_08A24C58: } L_08A24C84: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(84))); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[24])) ? 0x00800000u : 0u); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_24)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -2685,12 +2686,12 @@ L_08A24C84: goto L_08A24C98; } L_08A24C98: - aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(84), std::bit_cast(ctx.fpr[24])); + aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(84), std::bit_cast(aot_fpr_24)); goto L_08A24C9C; L_08A24C9C: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(84))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); - aot_fpr_12 = aot_fpr_12 - aot_fpr_13; + ctx.fpr[13] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); + aot_fpr_12 = aot_fpr_12 - ctx.fpr[13]; aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(84), std::bit_cast(aot_fpr_12)); goto L_08A24CAC; L_08A24CAC: @@ -2698,28 +2699,28 @@ L_08A24CAC: goto L_08A24CB0; L_08A24CB0: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7632))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); + ctx.fpr[13] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); - aot_gpr_5 = (std::bit_cast(aot_fpr_13)); + ctx.gpr[5] = (std::bit_cast(ctx.fpr[13])); ctx.set_vfpu_scalar_bits_ct<0u>(aot_gpr_4); - ctx.set_vfpu_scalar_bits_ct<32u>(aot_gpr_5); + ctx.set_vfpu_scalar_bits_ct<32u>(ctx.gpr[5]); ctx.execute_vfpu_unary_ct<64u, 0u, 1u, 21u>(); ctx.execute_vfpu_vec3_ct<0u, 32u, 64u, 1u, 2u>(); ctx.execute_vfpu_unary_ct<32u, 0u, 1u, 20u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<32u>()); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(84))); - { const float fs = aot_fpr_13; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } + ctx.fpr[13] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(84))); + { const float fs = ctx.fpr[13]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(84), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (ctx.gpr[28] + static_cast(-7640)); - aot_gpr_5 = (ctx.gpr[28] + static_cast(-7636)); + ctx.gpr[5] = (ctx.gpr[28] + static_cast(-7636)); ctx.gpr[6] = (15948u << 16u); ctx.gpr[6] = (ctx.gpr[6] | 52429u); - aot_fpr_13 = std::bit_cast(ctx.gpr[6]); + ctx.fpr[13] = std::bit_cast(ctx.gpr[6]); ctx.gpr[6] = (15692u << 16u); ctx.gpr[6] = (ctx.gpr[6] | 52429u); - aot_fpr_14 = std::bit_cast(ctx.gpr[6]); - aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[22])); + ctx.fpr[14] = std::bit_cast(ctx.gpr[6]); + aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_22)); aot_gpr_31 = (0x08A24D14u); ctx.gpr[6] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 367u, 0x08A1A730u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A24D14u) goto L_08A24D14; @@ -2728,7 +2729,7 @@ L_08A24D14: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7640))); aot_gpr_4 = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x08A24D24u); - aot_gpr_5 = (ctx.gpr[30] | 0u); + ctx.gpr[5] = (ctx.gpr[30] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 354u, 0x08A1A668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A24D24u) goto L_08A24D24; AOT_REGCACHE_SYNC_OUT(); return; L_08A24D24: @@ -2749,14 +2750,14 @@ L_08A24D24: { std::uint32_t aot_run_words[16]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(572), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); - ctx.fpr[22] = std::bit_cast(aot_run_words[1]); - ctx.fpr[24] = std::bit_cast(aot_run_words[2]); + aot_fpr_22 = std::bit_cast(aot_run_words[1]); + aot_fpr_24 = std::bit_cast(aot_run_words[2]); ctx.fpr[26] = std::bit_cast(aot_run_words[3]); ctx.fpr[28] = std::bit_cast(aot_run_words[4]); ctx.fpr[30] = std::bit_cast(aot_run_words[5]); aot_gpr_16 = aot_run_words[6]; - ctx.gpr[17] = aot_run_words[7]; - ctx.gpr[18] = aot_run_words[8]; + aot_gpr_17 = aot_run_words[7]; + aot_gpr_18 = aot_run_words[8]; ctx.gpr[19] = aot_run_words[9]; ctx.gpr[20] = aot_run_words[10]; ctx.gpr[21] = aot_run_words[11]; @@ -2773,13 +2774,13 @@ L_08A24D24: AOT_REGCACHE_SYNC_OUT(); return; L_08A24D78: aot_gpr_29 = (aot_gpr_29 + static_cast(-688)); - { const std::uint32_t aot_run_words[5]{std::bit_cast(aot_fpr_20), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[5]{std::bit_cast(aot_fpr_20), aot_gpr_16, aot_gpr_17, aot_gpr_18, aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(664), aot_run_words); } ctx.gpr[7] = (16153u << 16u); ctx.gpr[7] = (ctx.gpr[7] | 39322u); aot_fpr_20 = std::bit_cast(ctx.gpr[7]); - ctx.gpr[17] = (aot_gpr_4 | 0u); - { const bool branch_taken = static_cast(aot_gpr_5) < 0; + aot_gpr_17 = (aot_gpr_4 | 0u); + { const bool branch_taken = static_cast(ctx.gpr[5]) < 0; aot_gpr_16 = (ctx.gpr[6] | 0u); if (branch_taken) { goto L_08A24DCC; @@ -2787,7 +2788,7 @@ L_08A24D78: goto L_08A24DA8; } L_08A24DA8: - aot_gpr_4 = (aot_gpr_5 < static_cast(30) ? 1u : 0u); + aot_gpr_4 = (ctx.gpr[5] < static_cast(30) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -2796,9 +2797,9 @@ L_08A24DA8: goto L_08A24DB4; } L_08A24DB4: - aot_gpr_5 = (aot_gpr_5 << 2u); + ctx.gpr[5] = (ctx.gpr[5] << 2u); ctx.gpr[1] = (2232u << 16u); - ctx.gpr[1] = (ctx.gpr[1] + aot_gpr_5); + ctx.gpr[1] = (ctx.gpr[1] + ctx.gpr[5]); ctx.gpr[1] = (aot_mem.aot_direct_load32(ctx.gpr[1] + static_cast(5400))); jump_target = ctx.gpr[1]; // nop @@ -2808,7 +2809,7 @@ L_08A24DB4: AOT_REGCACHE_SYNC_OUT(); return; L_08A24DCC: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (0u | 1u); + ctx.gpr[2] = (0u | 1u); if (branch_taken) { goto L_08A26158; } @@ -2820,7 +2821,7 @@ L_08A24DD4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A24DDCu) goto L_08A24DDC; AOT_REGCACHE_SYNC_OUT(); return; L_08A24DDC: - aot_gpr_4 = (aot_gpr_2 | 0u); + aot_gpr_4 = (ctx.gpr[2] | 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -2829,9 +2830,9 @@ L_08A24DDC: goto L_08A24DE8; } L_08A24DE8: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(852))); + ctx.gpr[5] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(852))); ctx.gpr[6] = (0u | 1u); - { const bool branch_taken = aot_gpr_5 == ctx.gpr[6]; + { const bool branch_taken = ctx.gpr[5] == ctx.gpr[6]; // nop if (branch_taken) { goto L_08A24E08; @@ -2839,9 +2840,9 @@ L_08A24DE8: goto L_08A24DF8; } L_08A24DF8: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(852))); + ctx.gpr[5] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(852))); ctx.gpr[6] = (0u | 2u); - { const bool branch_taken = aot_gpr_5 != ctx.gpr[6]; + { const bool branch_taken = ctx.gpr[5] != ctx.gpr[6]; // nop if (branch_taken) { goto L_08A24E1C; @@ -2849,10 +2850,10 @@ L_08A24DF8: goto L_08A24E08; } L_08A24E08: - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1984))); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(86)))))); + ctx.gpr[5] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1984))); + ctx.gpr[5] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[5] + static_cast(86)))))); ctx.gpr[6] = (0u | 278u); - { const bool branch_taken = aot_gpr_5 != ctx.gpr[6]; + { const bool branch_taken = ctx.gpr[5] != ctx.gpr[6]; // nop if (branch_taken) { goto L_08A24EC4; @@ -2861,8 +2862,8 @@ L_08A24E08: } L_08A24E1C: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(86)))))); - aot_gpr_5 = (0u | 246u); - { const bool branch_taken = aot_gpr_4 == aot_gpr_5; + ctx.gpr[5] = (0u | 246u); + { const bool branch_taken = aot_gpr_4 == ctx.gpr[5]; // nop if (branch_taken) { goto L_08A24EBC; @@ -2870,17 +2871,17 @@ L_08A24E1C: goto L_08A24E2C; } L_08A24E2C: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1984))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1984))); aot_gpr_4 = (aot_gpr_4 + static_cast(48)); - aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(80))); - aot_gpr_5 = (aot_gpr_5 << 5u); - ctx.gpr[6] = (0u - aot_gpr_5); - aot_gpr_5 = (aot_gpr_5 << 2u); - ctx.gpr[6] = (ctx.gpr[6] + aot_gpr_5); - aot_gpr_5 = (aot_gpr_5 << 2u); - aot_gpr_5 = (ctx.gpr[6] + aot_gpr_5); - aot_gpr_5 = (ctx.gpr[17] + aot_gpr_5); - aot_gpr_5 = (aot_gpr_5 + static_cast(144)); + ctx.gpr[5] = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(80))); + ctx.gpr[5] = (ctx.gpr[5] << 5u); + ctx.gpr[6] = (0u - ctx.gpr[5]); + ctx.gpr[5] = (ctx.gpr[5] << 2u); + ctx.gpr[6] = (ctx.gpr[6] + ctx.gpr[5]); + ctx.gpr[5] = (ctx.gpr[5] << 2u); + ctx.gpr[5] = (ctx.gpr[6] + ctx.gpr[5]); + ctx.gpr[5] = (aot_gpr_17 + ctx.gpr[5]); + ctx.gpr[5] = (ctx.gpr[5] + static_cast(144)); ctx.gpr[6] = (0u | 1u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 0u); @@ -2893,7 +2894,7 @@ L_08A24E2C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0036_entry, 36u, 527u, 0x088967ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A24E7Cu) goto L_08A24E7C; AOT_REGCACHE_SYNC_OUT(); return; L_08A24E7C: - { const bool branch_taken = aot_gpr_2 == 0u; + { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_08A24EB4; @@ -2902,8 +2903,8 @@ L_08A24E7C: } L_08A24E84: aot_gpr_4 = (aot_gpr_16 + static_cast(5000)); - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); - aot_gpr_4 = (aot_gpr_4 < aot_gpr_5 ? 1u : 0u); + ctx.gpr[5] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); + aot_gpr_4 = (aot_gpr_4 < ctx.gpr[5] ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -2912,7 +2913,7 @@ L_08A24E84: goto L_08A24E98; } L_08A24E98: - aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_4 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08A24EA4u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0134_entry, 134u, 166u, 0x08A1D008u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A24EA4u) goto L_08A24EA4; @@ -2927,7 +2928,7 @@ L_08A24EA4: } L_08A24EAC: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (0u | 1u); + ctx.gpr[2] = (0u | 1u); if (branch_taken) { goto L_08A26158; } @@ -2935,7 +2936,7 @@ L_08A24EAC: } L_08A24EB4: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (0u | 1u); + ctx.gpr[2] = (0u | 1u); if (branch_taken) { goto L_08A26158; } @@ -2943,7 +2944,7 @@ L_08A24EB4: } L_08A24EBC: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (0u | 1u); + ctx.gpr[2] = (0u | 1u); if (branch_taken) { goto L_08A26158; } @@ -2951,7 +2952,7 @@ L_08A24EBC: } L_08A24EC4: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (0u | 1u); + ctx.gpr[2] = (0u | 1u); if (branch_taken) { goto L_08A26158; } @@ -2963,7 +2964,7 @@ L_08A24ECC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A24ED4u) goto L_08A24ED4; AOT_REGCACHE_SYNC_OUT(); return; L_08A24ED4: - { const bool branch_taken = aot_gpr_2 == 0u; + { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_08A24F20; @@ -2976,9 +2977,9 @@ L_08A24EDC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A24EE4u) goto L_08A24EE4; AOT_REGCACHE_SYNC_OUT(); return; L_08A24EE4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(852))); - aot_gpr_5 = (0u | 1u); - { const bool branch_taken = aot_gpr_4 == aot_gpr_5; + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(852))); + ctx.gpr[5] = (0u | 1u); + { const bool branch_taken = aot_gpr_4 == ctx.gpr[5]; // nop if (branch_taken) { goto L_08A24F0C; @@ -2991,9 +2992,9 @@ L_08A24EF4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A24EFCu) goto L_08A24EFC; AOT_REGCACHE_SYNC_OUT(); return; L_08A24EFC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(852))); - aot_gpr_5 = (0u | 2u); - { const bool branch_taken = aot_gpr_4 != aot_gpr_5; + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(852))); + ctx.gpr[5] = (0u | 2u); + { const bool branch_taken = aot_gpr_4 != ctx.gpr[5]; // nop if (branch_taken) { goto L_08A24F20; @@ -3001,10 +3002,10 @@ L_08A24EFC: goto L_08A24F0C; } L_08A24F0C: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1984))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1984))); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(86)))))); - aot_gpr_5 = (0u | 278u); - { const bool branch_taken = aot_gpr_4 != aot_gpr_5; + ctx.gpr[5] = (0u | 278u); + { const bool branch_taken = aot_gpr_4 != ctx.gpr[5]; // nop if (branch_taken) { goto L_08A24FD4; @@ -3018,7 +3019,7 @@ L_08A24F20: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 16u, 0x08960154u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A24F2Cu) goto L_08A24F2C; AOT_REGCACHE_SYNC_OUT(); return; L_08A24F2C: - aot_gpr_5 = (ctx.gpr[17] + static_cast(2288)); + ctx.gpr[5] = (aot_gpr_17 + static_cast(2288)); aot_gpr_4 = (aot_gpr_16 | 0u); ctx.gpr[6] = (0u | 1u); ctx.gpr[7] = (0u | 0u); @@ -3032,7 +3033,7 @@ L_08A24F2C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0036_entry, 36u, 527u, 0x088967ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A24F58u) goto L_08A24F58; AOT_REGCACHE_SYNC_OUT(); return; L_08A24F58: - { const bool branch_taken = aot_gpr_2 == 0u; + { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_08A24FCC; @@ -3055,7 +3056,7 @@ L_08A24F6C: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_4 = (ctx.gpr[17] + static_cast(2288)); + aot_gpr_4 = (aot_gpr_17 + static_cast(2288)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -3101,8 +3102,8 @@ L_08A24F6C: aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (16928u << 16u); - aot_fpr_13 = std::bit_cast(aot_gpr_4); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); + ctx.fpr[13] = std::bit_cast(aot_gpr_4); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[13])) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -3121,7 +3122,7 @@ L_08A24FC4: } L_08A24FCC: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (0u | 1u); + ctx.gpr[2] = (0u | 1u); if (branch_taken) { goto L_08A26158; } @@ -3129,7 +3130,7 @@ L_08A24FCC: } L_08A24FD4: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (0u | 1u); + ctx.gpr[2] = (0u | 1u); if (branch_taken) { goto L_08A26158; } @@ -3141,7 +3142,7 @@ L_08A24FDC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 22u, 0x08960240u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A24FE4u) goto L_08A24FE4; AOT_REGCACHE_SYNC_OUT(); return; L_08A24FE4: - { const std::uint32_t vfpu_address = aot_gpr_2 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[2] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -3163,8 +3164,8 @@ L_08A24FE4: ctx.execute_vfpu_vdot_ct<28u, 0u, 1u, 3u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_fpr_13 = std::bit_cast(0u); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); + ctx.fpr[13] = std::bit_cast(0u); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[13])) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -3189,8 +3190,8 @@ L_08A25010: aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (16416u << 16u); - aot_fpr_13 = std::bit_cast(aot_gpr_4); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); + ctx.fpr[13] = std::bit_cast(aot_gpr_4); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[13])) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -3209,7 +3210,7 @@ L_08A25040: } L_08A25048: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (0u | 1u); + ctx.gpr[2] = (0u | 1u); if (branch_taken) { goto L_08A26158; } @@ -3217,7 +3218,7 @@ L_08A25048: } L_08A25050: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (0u | 1u); + ctx.gpr[2] = (0u | 1u); if (branch_taken) { goto L_08A26158; } @@ -3229,7 +3230,7 @@ L_08A25058: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A25060u) goto L_08A25060; AOT_REGCACHE_SYNC_OUT(); return; L_08A25060: - { const bool branch_taken = aot_gpr_2 == 0u; + { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_08A250AC; @@ -3242,9 +3243,9 @@ L_08A25068: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A25070u) goto L_08A25070; AOT_REGCACHE_SYNC_OUT(); return; L_08A25070: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(852))); - aot_gpr_5 = (0u | 1u); - { const bool branch_taken = aot_gpr_4 == aot_gpr_5; + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(852))); + ctx.gpr[5] = (0u | 1u); + { const bool branch_taken = aot_gpr_4 == ctx.gpr[5]; // nop if (branch_taken) { goto L_08A25098; @@ -3257,9 +3258,9 @@ L_08A25080: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A25088u) goto L_08A25088; AOT_REGCACHE_SYNC_OUT(); return; L_08A25088: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(852))); - aot_gpr_5 = (0u | 2u); - { const bool branch_taken = aot_gpr_4 != aot_gpr_5; + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(852))); + ctx.gpr[5] = (0u | 2u); + { const bool branch_taken = aot_gpr_4 != ctx.gpr[5]; // nop if (branch_taken) { goto L_08A250AC; @@ -3267,10 +3268,10 @@ L_08A25088: goto L_08A25098; } L_08A25098: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1984))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1984))); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(86)))))); - aot_gpr_5 = (0u | 278u); - { const bool branch_taken = aot_gpr_4 != aot_gpr_5; + ctx.gpr[5] = (0u | 278u); + { const bool branch_taken = aot_gpr_4 != ctx.gpr[5]; // nop if (branch_taken) { goto L_08A25160; @@ -3284,7 +3285,7 @@ L_08A250AC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 16u, 0x08960154u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A250B8u) goto L_08A250B8; AOT_REGCACHE_SYNC_OUT(); return; L_08A250B8: - aot_gpr_5 = (ctx.gpr[17] + static_cast(2288)); + ctx.gpr[5] = (aot_gpr_17 + static_cast(2288)); aot_gpr_4 = (aot_gpr_16 | 0u); ctx.gpr[6] = (0u | 1u); ctx.gpr[7] = (0u | 0u); @@ -3298,7 +3299,7 @@ L_08A250B8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0036_entry, 36u, 527u, 0x088967ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A250E4u) goto L_08A250E4; AOT_REGCACHE_SYNC_OUT(); return; L_08A250E4: - { const bool branch_taken = aot_gpr_2 == 0u; + { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_08A25158; @@ -3321,7 +3322,7 @@ L_08A250F8: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_4 = (ctx.gpr[17] + static_cast(2288)); + aot_gpr_4 = (aot_gpr_17 + static_cast(2288)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -3367,8 +3368,8 @@ L_08A250F8: aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (16384u << 16u); - aot_fpr_13 = std::bit_cast(aot_gpr_4); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); + ctx.fpr[13] = std::bit_cast(aot_gpr_4); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[13])) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -3387,7 +3388,7 @@ L_08A25150: } L_08A25158: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (0u | 1u); + ctx.gpr[2] = (0u | 1u); if (branch_taken) { goto L_08A26158; } @@ -3395,7 +3396,7 @@ L_08A25158: } L_08A25160: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (0u | 1u); + ctx.gpr[2] = (0u | 1u); if (branch_taken) { goto L_08A26158; } @@ -3417,12 +3418,12 @@ L_08A25168: aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (16128u << 16u); - aot_fpr_13 = std::bit_cast(aot_gpr_4); - { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } + ctx.fpr[13] = std::bit_cast(aot_gpr_4); + { const float fs = aot_fpr_12; const float ft = ctx.fpr[13]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_4 = (15692u << 16u); aot_gpr_4 = (aot_gpr_4 | 52429u); - aot_fpr_14 = std::bit_cast(aot_gpr_4); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_14)) ? 0x00800000u : 0u); + ctx.fpr[14] = std::bit_cast(aot_gpr_4); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[14])) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -3438,7 +3439,7 @@ L_08A251A8: goto L_08A251B4; L_08A251B4: aot_gpr_31 = (0x08A251BCu); - aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_4 = (aot_gpr_17 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0134_entry, 134u, 166u, 0x08A1D008u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A251BCu) goto L_08A251BC; AOT_REGCACHE_SYNC_OUT(); return; L_08A251BC: @@ -3457,8 +3458,8 @@ L_08A251BC: aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (16872u << 16u); - aot_fpr_13 = std::bit_cast(aot_gpr_4); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); + ctx.fpr[13] = std::bit_cast(aot_gpr_4); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[13])) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -3473,7 +3474,7 @@ L_08A251EC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 22u, 0x08960240u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A251F4u) goto L_08A251F4; AOT_REGCACHE_SYNC_OUT(); return; L_08A251F4: - { const std::uint32_t vfpu_address = aot_gpr_2 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[2] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -3495,8 +3496,8 @@ L_08A251F4: ctx.execute_vfpu_vdot_ct<28u, 0u, 1u, 3u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_fpr_13 = std::bit_cast(0u); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); + ctx.fpr[13] = std::bit_cast(0u); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[13])) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -3521,8 +3522,8 @@ L_08A25220: aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (16384u << 16u); - aot_fpr_13 = std::bit_cast(aot_gpr_4); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); + ctx.fpr[13] = std::bit_cast(aot_gpr_4); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[13])) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -3541,7 +3542,7 @@ L_08A25250: } L_08A25258: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (0u | 1u); + ctx.gpr[2] = (0u | 1u); if (branch_taken) { goto L_08A26158; } @@ -3549,7 +3550,7 @@ L_08A25258: } L_08A25260: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (0u | 1u); + ctx.gpr[2] = (0u | 1u); if (branch_taken) { goto L_08A26158; } @@ -3562,7 +3563,7 @@ L_08A25268: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 16u, 0x08960154u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A25274u) goto L_08A25274; AOT_REGCACHE_SYNC_OUT(); return; L_08A25274: - aot_gpr_5 = (ctx.gpr[17] + static_cast(2288)); + ctx.gpr[5] = (aot_gpr_17 + static_cast(2288)); aot_gpr_4 = (aot_gpr_16 | 0u); ctx.gpr[6] = (0u | 1u); ctx.gpr[7] = (0u | 0u); @@ -3576,7 +3577,7 @@ L_08A25274: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0036_entry, 36u, 527u, 0x088967ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A252A0u) goto L_08A252A0; AOT_REGCACHE_SYNC_OUT(); return; L_08A252A0: - { const bool branch_taken = aot_gpr_2 == 0u; + { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_08A25314; @@ -3599,7 +3600,7 @@ L_08A252B4: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_4 = (ctx.gpr[17] + static_cast(2288)); + aot_gpr_4 = (aot_gpr_17 + static_cast(2288)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -3645,8 +3646,8 @@ L_08A252B4: aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (16960u << 16u); - aot_fpr_13 = std::bit_cast(aot_gpr_4); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); + ctx.fpr[13] = std::bit_cast(aot_gpr_4); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[13])) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -3665,7 +3666,7 @@ L_08A2530C: } L_08A25314: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (0u | 1u); + ctx.gpr[2] = (0u | 1u); if (branch_taken) { goto L_08A26158; } @@ -3677,7 +3678,7 @@ L_08A2531C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 22u, 0x08960240u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A25324u) goto L_08A25324; AOT_REGCACHE_SYNC_OUT(); return; L_08A25324: - { const std::uint32_t vfpu_address = aot_gpr_2 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[2] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -3699,8 +3700,8 @@ L_08A25324: ctx.execute_vfpu_vdot_ct<28u, 0u, 1u, 3u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_fpr_13 = std::bit_cast(0u); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); + ctx.fpr[13] = std::bit_cast(0u); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[13])) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -3711,7 +3712,7 @@ L_08A25324: } L_08A25350: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (0u | 1u); + ctx.gpr[2] = (0u | 1u); if (branch_taken) { goto L_08A26158; } @@ -3719,8 +3720,8 @@ L_08A25350: } L_08A25358: aot_gpr_4 = (aot_gpr_16 + static_cast(3000)); - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); - aot_gpr_4 = (aot_gpr_4 < aot_gpr_5 ? 1u : 0u); + ctx.gpr[5] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); + aot_gpr_4 = (aot_gpr_4 < ctx.gpr[5] ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -3738,7 +3739,7 @@ L_08A2536C: } L_08A25374: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (0u | 1u); + ctx.gpr[2] = (0u | 1u); if (branch_taken) { goto L_08A26158; } @@ -3751,7 +3752,7 @@ L_08A2537C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 16u, 0x08960154u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A25388u) goto L_08A25388; AOT_REGCACHE_SYNC_OUT(); return; L_08A25388: - aot_gpr_5 = (ctx.gpr[17] + static_cast(2288)); + ctx.gpr[5] = (aot_gpr_17 + static_cast(2288)); aot_gpr_4 = (aot_gpr_16 | 0u); ctx.gpr[6] = (0u | 1u); ctx.gpr[7] = (0u | 0u); @@ -3765,7 +3766,7 @@ L_08A25388: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0036_entry, 36u, 527u, 0x088967ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A253B4u) goto L_08A253B4; AOT_REGCACHE_SYNC_OUT(); return; L_08A253B4: - { const bool branch_taken = aot_gpr_2 == 0u; + { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_08A25428; @@ -3788,7 +3789,7 @@ L_08A253C8: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_4 = (ctx.gpr[17] + static_cast(2288)); + aot_gpr_4 = (aot_gpr_17 + static_cast(2288)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -3834,8 +3835,8 @@ L_08A253C8: aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (16920u << 16u); - aot_fpr_13 = std::bit_cast(aot_gpr_4); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); + ctx.fpr[13] = std::bit_cast(aot_gpr_4); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[13])) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -3854,7 +3855,7 @@ L_08A25420: } L_08A25428: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (0u | 1u); + ctx.gpr[2] = (0u | 1u); if (branch_taken) { goto L_08A26158; } @@ -3866,7 +3867,7 @@ L_08A25430: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 22u, 0x08960240u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A25438u) goto L_08A25438; AOT_REGCACHE_SYNC_OUT(); return; L_08A25438: - { const std::uint32_t vfpu_address = aot_gpr_2 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[2] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -3888,8 +3889,8 @@ L_08A25438: ctx.execute_vfpu_vdot_ct<28u, 0u, 1u, 3u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_fpr_13 = std::bit_cast(0u); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); + ctx.fpr[13] = std::bit_cast(0u); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[13])) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -3900,7 +3901,7 @@ L_08A25438: } L_08A25464: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (0u | 1u); + ctx.gpr[2] = (0u | 1u); if (branch_taken) { goto L_08A26158; } @@ -3908,8 +3909,8 @@ L_08A25464: } L_08A2546C: aot_gpr_4 = (aot_gpr_16 + static_cast(3000)); - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); - aot_gpr_4 = (aot_gpr_4 < aot_gpr_5 ? 1u : 0u); + ctx.gpr[5] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); + aot_gpr_4 = (aot_gpr_4 < ctx.gpr[5] ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -3927,7 +3928,7 @@ L_08A25480: } L_08A25488: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (0u | 1u); + ctx.gpr[2] = (0u | 1u); if (branch_taken) { goto L_08A26158; } @@ -3935,8 +3936,8 @@ L_08A25488: } L_08A25490: aot_gpr_4 = (aot_gpr_16 + static_cast(2000)); - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); - aot_gpr_4 = (aot_gpr_4 < aot_gpr_5 ? 1u : 0u); + ctx.gpr[5] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); + aot_gpr_4 = (aot_gpr_4 < ctx.gpr[5] ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -3951,11 +3952,11 @@ L_08A254A4: AOT_REGCACHE_SYNC_OUT(); return; L_08A254AC: aot_gpr_31 = (0x08A254B4u); - aot_gpr_4 = (aot_gpr_2 | 0u); + aot_gpr_4 = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 50u, 0x08AD0530u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A254B4u) goto L_08A254B4; AOT_REGCACHE_SYNC_OUT(); return; L_08A254B4: - { const bool branch_taken = aot_gpr_2 == 0u; + { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_08A254C4; @@ -3972,7 +3973,7 @@ L_08A254BC: } L_08A254C4: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (0u | 1u); + ctx.gpr[2] = (0u | 1u); if (branch_taken) { goto L_08A26158; } @@ -3984,7 +3985,7 @@ L_08A254CC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A254D4u) goto L_08A254D4; AOT_REGCACHE_SYNC_OUT(); return; L_08A254D4: - { const bool branch_taken = aot_gpr_2 == 0u; + { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_08A25520; @@ -3997,9 +3998,9 @@ L_08A254DC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A254E4u) goto L_08A254E4; AOT_REGCACHE_SYNC_OUT(); return; L_08A254E4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(852))); - aot_gpr_5 = (0u | 1u); - { const bool branch_taken = aot_gpr_4 == aot_gpr_5; + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(852))); + ctx.gpr[5] = (0u | 1u); + { const bool branch_taken = aot_gpr_4 == ctx.gpr[5]; // nop if (branch_taken) { goto L_08A2550C; @@ -4012,9 +4013,9 @@ L_08A254F4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A254FCu) goto L_08A254FC; AOT_REGCACHE_SYNC_OUT(); return; L_08A254FC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(852))); - aot_gpr_5 = (0u | 2u); - { const bool branch_taken = aot_gpr_4 != aot_gpr_5; + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(852))); + ctx.gpr[5] = (0u | 2u); + { const bool branch_taken = aot_gpr_4 != ctx.gpr[5]; // nop if (branch_taken) { goto L_08A25520; @@ -4022,10 +4023,10 @@ L_08A254FC: goto L_08A2550C; } L_08A2550C: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1984))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1984))); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(86)))))); - aot_gpr_5 = (0u | 278u); - { const bool branch_taken = aot_gpr_4 != aot_gpr_5; + ctx.gpr[5] = (0u | 278u); + { const bool branch_taken = aot_gpr_4 != ctx.gpr[5]; // nop if (branch_taken) { goto L_08A255B0; @@ -4033,17 +4034,17 @@ L_08A2550C: goto L_08A25520; } L_08A25520: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1984))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1984))); aot_gpr_4 = (aot_gpr_4 + static_cast(48)); - aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(80))); - aot_gpr_5 = (aot_gpr_5 << 5u); - ctx.gpr[6] = (0u - aot_gpr_5); - aot_gpr_5 = (aot_gpr_5 << 2u); - ctx.gpr[6] = (ctx.gpr[6] + aot_gpr_5); - aot_gpr_5 = (aot_gpr_5 << 2u); - aot_gpr_5 = (ctx.gpr[6] + aot_gpr_5); - aot_gpr_5 = (ctx.gpr[17] + aot_gpr_5); - aot_gpr_5 = (aot_gpr_5 + static_cast(144)); + ctx.gpr[5] = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(80))); + ctx.gpr[5] = (ctx.gpr[5] << 5u); + ctx.gpr[6] = (0u - ctx.gpr[5]); + ctx.gpr[5] = (ctx.gpr[5] << 2u); + ctx.gpr[6] = (ctx.gpr[6] + ctx.gpr[5]); + ctx.gpr[5] = (ctx.gpr[5] << 2u); + ctx.gpr[5] = (ctx.gpr[6] + ctx.gpr[5]); + ctx.gpr[5] = (aot_gpr_17 + ctx.gpr[5]); + ctx.gpr[5] = (ctx.gpr[5] + static_cast(144)); ctx.gpr[6] = (0u | 1u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 0u); @@ -4056,7 +4057,7 @@ L_08A25520: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0036_entry, 36u, 527u, 0x088967ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A25570u) goto L_08A25570; AOT_REGCACHE_SYNC_OUT(); return; L_08A25570: - { const bool branch_taken = aot_gpr_2 == 0u; + { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_08A255A8; @@ -4065,8 +4066,8 @@ L_08A25570: } L_08A25578: aot_gpr_4 = (aot_gpr_16 + static_cast(1000)); - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); - aot_gpr_4 = (aot_gpr_4 < aot_gpr_5 ? 1u : 0u); + ctx.gpr[5] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); + aot_gpr_4 = (aot_gpr_4 < ctx.gpr[5] ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -4075,7 +4076,7 @@ L_08A25578: goto L_08A2558C; } L_08A2558C: - aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_4 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08A25598u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0134_entry, 134u, 166u, 0x08A1D008u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A25598u) goto L_08A25598; @@ -4090,7 +4091,7 @@ L_08A25598: } L_08A255A0: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (0u | 1u); + ctx.gpr[2] = (0u | 1u); if (branch_taken) { goto L_08A26158; } @@ -4098,7 +4099,7 @@ L_08A255A0: } L_08A255A8: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (0u | 1u); + ctx.gpr[2] = (0u | 1u); if (branch_taken) { goto L_08A26158; } @@ -4106,7 +4107,7 @@ L_08A255A8: } L_08A255B0: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (0u | 1u); + ctx.gpr[2] = (0u | 1u); if (branch_taken) { goto L_08A26158; } @@ -4119,7 +4120,7 @@ L_08A255B8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 16u, 0x08960154u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A255C4u) goto L_08A255C4; AOT_REGCACHE_SYNC_OUT(); return; L_08A255C4: - aot_gpr_5 = (ctx.gpr[17] + static_cast(2288)); + ctx.gpr[5] = (aot_gpr_17 + static_cast(2288)); aot_gpr_4 = (aot_gpr_16 | 0u); ctx.gpr[6] = (0u | 1u); ctx.gpr[7] = (0u | 0u); @@ -4133,7 +4134,7 @@ L_08A255C4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0036_entry, 36u, 527u, 0x088967ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A255F0u) goto L_08A255F0; AOT_REGCACHE_SYNC_OUT(); return; L_08A255F0: - { const bool branch_taken = aot_gpr_2 == 0u; + { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_08A25660; @@ -4142,16 +4143,16 @@ L_08A255F0: } L_08A255F8: aot_gpr_16 = (aot_gpr_29 + static_cast(160)); - ctx.gpr[18] = (aot_gpr_29 + static_cast(176)); + aot_gpr_18 = (aot_gpr_29 + static_cast(176)); aot_gpr_31 = (0x08A25608u); - aot_gpr_4 = (ctx.gpr[18] | 0u); + aot_gpr_4 = (aot_gpr_18 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 16u, 0x08960154u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A25608u) goto L_08A25608; AOT_REGCACHE_SYNC_OUT(); return; L_08A25608: - ctx.gpr[6] = (ctx.gpr[17] + static_cast(2288)); + ctx.gpr[6] = (aot_gpr_17 + static_cast(2288)); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08A25618u); - aot_gpr_5 = (ctx.gpr[18] | 0u); + ctx.gpr[5] = (aot_gpr_18 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 353u, 0x08A1A650u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A25618u) goto L_08A25618; AOT_REGCACHE_SYNC_OUT(); return; L_08A25618: @@ -4185,8 +4186,8 @@ L_08A25618: aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (16800u << 16u); - aot_fpr_13 = std::bit_cast(aot_gpr_4); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); + ctx.fpr[13] = std::bit_cast(aot_gpr_4); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[13])) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -4205,7 +4206,7 @@ L_08A25658: } L_08A25660: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (0u | 1u); + ctx.gpr[2] = (0u | 1u); if (branch_taken) { goto L_08A26158; } @@ -4217,7 +4218,7 @@ L_08A25668: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 22u, 0x08960240u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A25670u) goto L_08A25670; AOT_REGCACHE_SYNC_OUT(); return; L_08A25670: - { const std::uint32_t vfpu_address = aot_gpr_2 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[2] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -4239,8 +4240,8 @@ L_08A25670: ctx.execute_vfpu_vdot_ct<28u, 0u, 1u, 3u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_fpr_13 = std::bit_cast(0u); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); + ctx.fpr[13] = std::bit_cast(0u); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[13])) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -4251,7 +4252,7 @@ L_08A25670: } L_08A2569C: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (0u | 1u); + ctx.gpr[2] = (0u | 1u); if (branch_taken) { goto L_08A26158; } @@ -4264,7 +4265,7 @@ L_08A256A4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 16u, 0x08960154u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A256B0u) goto L_08A256B0; AOT_REGCACHE_SYNC_OUT(); return; L_08A256B0: - aot_gpr_5 = (ctx.gpr[17] + static_cast(2288)); + ctx.gpr[5] = (aot_gpr_17 + static_cast(2288)); aot_gpr_4 = (aot_gpr_16 | 0u); ctx.gpr[6] = (0u | 1u); ctx.gpr[7] = (0u | 0u); @@ -4278,7 +4279,7 @@ L_08A256B0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0036_entry, 36u, 527u, 0x088967ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A256DCu) goto L_08A256DC; AOT_REGCACHE_SYNC_OUT(); return; L_08A256DC: - { const bool branch_taken = aot_gpr_2 == 0u; + { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_08A25750; @@ -4301,7 +4302,7 @@ L_08A256F0: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_4 = (ctx.gpr[17] + static_cast(2288)); + aot_gpr_4 = (aot_gpr_17 + static_cast(2288)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -4347,8 +4348,8 @@ L_08A256F0: aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (16640u << 16u); - aot_fpr_13 = std::bit_cast(aot_gpr_4); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); + ctx.fpr[13] = std::bit_cast(aot_gpr_4); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[13])) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -4367,7 +4368,7 @@ L_08A25748: } L_08A25750: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (0u | 1u); + ctx.gpr[2] = (0u | 1u); if (branch_taken) { goto L_08A26158; } @@ -4379,7 +4380,7 @@ L_08A25758: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 22u, 0x08960240u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A25760u) goto L_08A25760; AOT_REGCACHE_SYNC_OUT(); return; L_08A25760: - { const std::uint32_t vfpu_address = aot_gpr_2 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[2] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -4401,8 +4402,8 @@ L_08A25760: ctx.execute_vfpu_vdot_ct<28u, 0u, 1u, 3u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_fpr_13 = std::bit_cast(0u); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); + ctx.fpr[13] = std::bit_cast(0u); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[13])) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -4413,7 +4414,7 @@ L_08A25760: } L_08A2578C: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (0u | 1u); + ctx.gpr[2] = (0u | 1u); if (branch_taken) { goto L_08A26158; } @@ -4426,7 +4427,7 @@ L_08A25794: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 16u, 0x08960154u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A257A0u) goto L_08A257A0; AOT_REGCACHE_SYNC_OUT(); return; L_08A257A0: - aot_gpr_5 = (ctx.gpr[17] + static_cast(2288)); + ctx.gpr[5] = (aot_gpr_17 + static_cast(2288)); aot_gpr_4 = (aot_gpr_16 | 0u); ctx.gpr[6] = (0u | 1u); ctx.gpr[7] = (0u | 0u); @@ -4440,7 +4441,7 @@ L_08A257A0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0036_entry, 36u, 527u, 0x088967ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A257CCu) goto L_08A257CC; AOT_REGCACHE_SYNC_OUT(); return; L_08A257CC: - { const bool branch_taken = aot_gpr_2 == 0u; + { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_08A25840; @@ -4463,7 +4464,7 @@ L_08A257E0: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_4 = (ctx.gpr[17] + static_cast(2288)); + aot_gpr_4 = (aot_gpr_17 + static_cast(2288)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -4509,8 +4510,8 @@ L_08A257E0: aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (16840u << 16u); - aot_fpr_13 = std::bit_cast(aot_gpr_4); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); + ctx.fpr[13] = std::bit_cast(aot_gpr_4); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[13])) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -4529,7 +4530,7 @@ L_08A25838: } L_08A25840: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (0u | 1u); + ctx.gpr[2] = (0u | 1u); if (branch_taken) { goto L_08A26158; } @@ -4541,7 +4542,7 @@ L_08A25848: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 22u, 0x08960240u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A25850u) goto L_08A25850; AOT_REGCACHE_SYNC_OUT(); return; L_08A25850: - { const std::uint32_t vfpu_address = aot_gpr_2 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[2] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -4563,8 +4564,8 @@ L_08A25850: ctx.execute_vfpu_vdot_ct<28u, 0u, 1u, 3u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_fpr_13 = std::bit_cast(0u); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); + ctx.fpr[13] = std::bit_cast(0u); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[13])) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -4575,7 +4576,7 @@ L_08A25850: } L_08A2587C: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (0u | 1u); + ctx.gpr[2] = (0u | 1u); if (branch_taken) { goto L_08A26158; } @@ -4588,7 +4589,7 @@ L_08A25884: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 16u, 0x08960154u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A25890u) goto L_08A25890; AOT_REGCACHE_SYNC_OUT(); return; L_08A25890: - aot_gpr_5 = (ctx.gpr[17] + static_cast(2288)); + ctx.gpr[5] = (aot_gpr_17 + static_cast(2288)); aot_gpr_4 = (aot_gpr_16 | 0u); ctx.gpr[6] = (0u | 1u); ctx.gpr[7] = (0u | 0u); @@ -4602,7 +4603,7 @@ L_08A25890: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0036_entry, 36u, 527u, 0x088967ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A258BCu) goto L_08A258BC; AOT_REGCACHE_SYNC_OUT(); return; L_08A258BC: - { const bool branch_taken = aot_gpr_2 == 0u; + { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_08A25930; @@ -4625,7 +4626,7 @@ L_08A258D0: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_4 = (ctx.gpr[17] + static_cast(2288)); + aot_gpr_4 = (aot_gpr_17 + static_cast(2288)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -4671,8 +4672,8 @@ L_08A258D0: aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (16640u << 16u); - aot_fpr_13 = std::bit_cast(aot_gpr_4); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); + ctx.fpr[13] = std::bit_cast(aot_gpr_4); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[13])) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -4691,7 +4692,7 @@ L_08A25928: } L_08A25930: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (0u | 1u); + ctx.gpr[2] = (0u | 1u); if (branch_taken) { goto L_08A26158; } @@ -4703,7 +4704,7 @@ L_08A25938: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 22u, 0x08960240u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A25940u) goto L_08A25940; AOT_REGCACHE_SYNC_OUT(); return; L_08A25940: - { const std::uint32_t vfpu_address = aot_gpr_2 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[2] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -4725,8 +4726,8 @@ L_08A25940: ctx.execute_vfpu_vdot_ct<28u, 0u, 1u, 3u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_fpr_13 = std::bit_cast(0u); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); + ctx.fpr[13] = std::bit_cast(0u); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[13])) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -4737,7 +4738,7 @@ L_08A25940: } L_08A2596C: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (0u | 1u); + ctx.gpr[2] = (0u | 1u); if (branch_taken) { goto L_08A26158; } @@ -4745,8 +4746,8 @@ L_08A2596C: } L_08A25974: aot_gpr_4 = (aot_gpr_16 + static_cast(5000)); - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); - aot_gpr_4 = (aot_gpr_4 < aot_gpr_5 ? 1u : 0u); + ctx.gpr[5] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); + aot_gpr_4 = (aot_gpr_4 < ctx.gpr[5] ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -4764,7 +4765,7 @@ L_08A25988: } L_08A25990: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (0u | 1u); + ctx.gpr[2] = (0u | 1u); if (branch_taken) { goto L_08A26158; } @@ -4776,7 +4777,7 @@ L_08A25998: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A259A0u) goto L_08A259A0; AOT_REGCACHE_SYNC_OUT(); return; L_08A259A0: - { const bool branch_taken = aot_gpr_2 == 0u; + { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_08A25A00; @@ -4784,17 +4785,17 @@ L_08A259A0: goto L_08A259A8; } L_08A259A8: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1984))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1984))); aot_gpr_4 = (aot_gpr_4 + static_cast(48)); - aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(80))); - aot_gpr_5 = (aot_gpr_5 << 5u); - ctx.gpr[6] = (0u - aot_gpr_5); - aot_gpr_5 = (aot_gpr_5 << 2u); - ctx.gpr[6] = (ctx.gpr[6] + aot_gpr_5); - aot_gpr_5 = (aot_gpr_5 << 2u); - aot_gpr_5 = (ctx.gpr[6] + aot_gpr_5); - aot_gpr_5 = (ctx.gpr[17] + aot_gpr_5); - aot_gpr_5 = (aot_gpr_5 + static_cast(144)); + ctx.gpr[5] = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(80))); + ctx.gpr[5] = (ctx.gpr[5] << 5u); + ctx.gpr[6] = (0u - ctx.gpr[5]); + ctx.gpr[5] = (ctx.gpr[5] << 2u); + ctx.gpr[6] = (ctx.gpr[6] + ctx.gpr[5]); + ctx.gpr[5] = (ctx.gpr[5] << 2u); + ctx.gpr[5] = (ctx.gpr[6] + ctx.gpr[5]); + ctx.gpr[5] = (aot_gpr_17 + ctx.gpr[5]); + ctx.gpr[5] = (ctx.gpr[5] + static_cast(144)); ctx.gpr[6] = (0u | 1u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 0u); @@ -4807,7 +4808,7 @@ L_08A259A8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0036_entry, 36u, 527u, 0x088967ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A259F8u) goto L_08A259F8; AOT_REGCACHE_SYNC_OUT(); return; L_08A259F8: - { const bool branch_taken = aot_gpr_2 == 0u; + { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_08A25A30; @@ -4816,8 +4817,8 @@ L_08A259F8: } L_08A25A00: aot_gpr_4 = (aot_gpr_16 + static_cast(8000)); - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); - aot_gpr_4 = (aot_gpr_4 < aot_gpr_5 ? 1u : 0u); + ctx.gpr[5] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); + aot_gpr_4 = (aot_gpr_4 < ctx.gpr[5] ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -4826,7 +4827,7 @@ L_08A25A00: goto L_08A25A14; } L_08A25A14: - aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_4 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08A25A20u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0134_entry, 134u, 166u, 0x08A1D008u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A25A20u) goto L_08A25A20; @@ -4841,7 +4842,7 @@ L_08A25A20: } L_08A25A28: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (0u | 1u); + ctx.gpr[2] = (0u | 1u); if (branch_taken) { goto L_08A26158; } @@ -4849,7 +4850,7 @@ L_08A25A28: } L_08A25A30: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (0u | 1u); + ctx.gpr[2] = (0u | 1u); if (branch_taken) { goto L_08A26158; } @@ -4861,7 +4862,7 @@ L_08A25A38: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A25A40u) goto L_08A25A40; AOT_REGCACHE_SYNC_OUT(); return; L_08A25A40: - { const bool branch_taken = aot_gpr_2 == 0u; + { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_08A25B70; @@ -4875,7 +4876,7 @@ L_08A25A48: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 16u, 0x08960154u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A25A54u) goto L_08A25A54; AOT_REGCACHE_SYNC_OUT(); return; L_08A25A54: - aot_gpr_5 = (ctx.gpr[17] + static_cast(2288)); + ctx.gpr[5] = (aot_gpr_17 + static_cast(2288)); aot_gpr_4 = (aot_gpr_16 | 0u); ctx.gpr[6] = (0u | 1u); ctx.gpr[7] = (0u | 0u); @@ -4889,7 +4890,7 @@ L_08A25A54: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0036_entry, 36u, 527u, 0x088967ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A25A80u) goto L_08A25A80; AOT_REGCACHE_SYNC_OUT(); return; L_08A25A80: - { const bool branch_taken = aot_gpr_2 == 0u; + { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_08A25AF4; @@ -4912,7 +4913,7 @@ L_08A25A94: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_4 = (ctx.gpr[17] + static_cast(2288)); + aot_gpr_4 = (aot_gpr_17 + static_cast(2288)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -4958,8 +4959,8 @@ L_08A25A94: aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (16944u << 16u); - aot_fpr_13 = std::bit_cast(aot_gpr_4); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); + ctx.fpr[13] = std::bit_cast(aot_gpr_4); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[13])) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -4978,7 +4979,7 @@ L_08A25AEC: } L_08A25AF4: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (0u | 1u); + ctx.gpr[2] = (0u | 1u); if (branch_taken) { goto L_08A26158; } @@ -4990,7 +4991,7 @@ L_08A25AFC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 22u, 0x08960240u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A25B04u) goto L_08A25B04; AOT_REGCACHE_SYNC_OUT(); return; L_08A25B04: - { const std::uint32_t vfpu_address = aot_gpr_2 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[2] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -5012,8 +5013,8 @@ L_08A25B04: ctx.execute_vfpu_vdot_ct<28u, 0u, 1u, 3u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_fpr_13 = std::bit_cast(0u); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); + ctx.fpr[13] = std::bit_cast(0u); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[13])) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -5038,8 +5039,8 @@ L_08A25B30: aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (16448u << 16u); - aot_fpr_13 = std::bit_cast(aot_gpr_4); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); + ctx.fpr[13] = std::bit_cast(aot_gpr_4); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[13])) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -5050,7 +5051,7 @@ L_08A25B30: } L_08A25B60: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (0u | 1u); + ctx.gpr[2] = (0u | 1u); if (branch_taken) { goto L_08A26158; } @@ -5058,7 +5059,7 @@ L_08A25B60: } L_08A25B68: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (0u | 1u); + ctx.gpr[2] = (0u | 1u); if (branch_taken) { goto L_08A26158; } @@ -5078,7 +5079,7 @@ L_08A25B78: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A25B80u) goto L_08A25B80; AOT_REGCACHE_SYNC_OUT(); return; L_08A25B80: - { const bool branch_taken = aot_gpr_2 == 0u; + { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_08A25C74; @@ -5092,7 +5093,7 @@ L_08A25B88: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 16u, 0x08960154u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A25B94u) goto L_08A25B94; AOT_REGCACHE_SYNC_OUT(); return; L_08A25B94: - aot_gpr_5 = (ctx.gpr[17] + static_cast(2288)); + ctx.gpr[5] = (aot_gpr_17 + static_cast(2288)); aot_gpr_4 = (aot_gpr_16 | 0u); ctx.gpr[6] = (0u | 1u); ctx.gpr[7] = (0u | 0u); @@ -5106,7 +5107,7 @@ L_08A25B94: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0036_entry, 36u, 527u, 0x088967ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A25BC0u) goto L_08A25BC0; AOT_REGCACHE_SYNC_OUT(); return; L_08A25BC0: - { const bool branch_taken = aot_gpr_2 == 0u; + { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_08A25C6C; @@ -5129,7 +5130,7 @@ L_08A25BD4: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_4 = (ctx.gpr[17] + static_cast(2288)); + aot_gpr_4 = (aot_gpr_17 + static_cast(2288)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -5175,8 +5176,8 @@ L_08A25BD4: aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (16968u << 16u); - aot_fpr_13 = std::bit_cast(aot_gpr_4); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); + ctx.fpr[13] = std::bit_cast(aot_gpr_4); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[13])) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -5201,8 +5202,8 @@ L_08A25C2C: aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (16448u << 16u); - aot_fpr_13 = std::bit_cast(aot_gpr_4); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); + ctx.fpr[13] = std::bit_cast(aot_gpr_4); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[13])) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -5213,7 +5214,7 @@ L_08A25C2C: } L_08A25C5C: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (0u | 1u); + ctx.gpr[2] = (0u | 1u); if (branch_taken) { goto L_08A26158; } @@ -5221,7 +5222,7 @@ L_08A25C5C: } L_08A25C64: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (0u | 1u); + ctx.gpr[2] = (0u | 1u); if (branch_taken) { goto L_08A26158; } @@ -5229,7 +5230,7 @@ L_08A25C64: } L_08A25C6C: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (0u | 1u); + ctx.gpr[2] = (0u | 1u); if (branch_taken) { goto L_08A26158; } @@ -5249,7 +5250,7 @@ L_08A25C7C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A25C84u) goto L_08A25C84; AOT_REGCACHE_SYNC_OUT(); return; L_08A25C84: - { const bool branch_taken = aot_gpr_2 == 0u; + { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_08A25DB4; @@ -5263,7 +5264,7 @@ L_08A25C8C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 16u, 0x08960154u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A25C98u) goto L_08A25C98; AOT_REGCACHE_SYNC_OUT(); return; L_08A25C98: - aot_gpr_5 = (ctx.gpr[17] + static_cast(2288)); + ctx.gpr[5] = (aot_gpr_17 + static_cast(2288)); aot_gpr_4 = (aot_gpr_16 | 0u); ctx.gpr[6] = (0u | 1u); ctx.gpr[7] = (0u | 0u); @@ -5277,7 +5278,7 @@ L_08A25C98: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0036_entry, 36u, 527u, 0x088967ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A25CC4u) goto L_08A25CC4; AOT_REGCACHE_SYNC_OUT(); return; L_08A25CC4: - { const bool branch_taken = aot_gpr_2 == 0u; + { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_08A25D38; @@ -5300,7 +5301,7 @@ L_08A25CD8: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_4 = (ctx.gpr[17] + static_cast(2288)); + aot_gpr_4 = (aot_gpr_17 + static_cast(2288)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -5346,8 +5347,8 @@ L_08A25CD8: aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (16968u << 16u); - aot_fpr_13 = std::bit_cast(aot_gpr_4); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); + ctx.fpr[13] = std::bit_cast(aot_gpr_4); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[13])) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -5366,7 +5367,7 @@ L_08A25D30: } L_08A25D38: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (0u | 1u); + ctx.gpr[2] = (0u | 1u); if (branch_taken) { goto L_08A26158; } @@ -5378,7 +5379,7 @@ L_08A25D40: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 22u, 0x08960240u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A25D48u) goto L_08A25D48; AOT_REGCACHE_SYNC_OUT(); return; L_08A25D48: - { const std::uint32_t vfpu_address = aot_gpr_2 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[2] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -5400,8 +5401,8 @@ L_08A25D48: ctx.execute_vfpu_vdot_ct<28u, 0u, 1u, 3u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_fpr_13 = std::bit_cast(0u); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); + ctx.fpr[13] = std::bit_cast(0u); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[13])) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -5426,8 +5427,8 @@ L_08A25D74: aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (16384u << 16u); - aot_fpr_13 = std::bit_cast(aot_gpr_4); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); + ctx.fpr[13] = std::bit_cast(aot_gpr_4); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[13])) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -5438,7 +5439,7 @@ L_08A25D74: } L_08A25DA4: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (0u | 1u); + ctx.gpr[2] = (0u | 1u); if (branch_taken) { goto L_08A26158; } @@ -5446,7 +5447,7 @@ L_08A25DA4: } L_08A25DAC: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (0u | 1u); + ctx.gpr[2] = (0u | 1u); if (branch_taken) { goto L_08A26158; } @@ -5467,7 +5468,7 @@ L_08A25DBC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 16u, 0x08960154u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A25DC8u) goto L_08A25DC8; AOT_REGCACHE_SYNC_OUT(); return; L_08A25DC8: - aot_gpr_5 = (ctx.gpr[17] + static_cast(2288)); + ctx.gpr[5] = (aot_gpr_17 + static_cast(2288)); aot_gpr_4 = (aot_gpr_16 | 0u); ctx.gpr[6] = (0u | 1u); ctx.gpr[7] = (0u | 0u); @@ -5481,7 +5482,7 @@ L_08A25DC8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0036_entry, 36u, 527u, 0x088967ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A25DF4u) goto L_08A25DF4; AOT_REGCACHE_SYNC_OUT(); return; L_08A25DF4: - { const bool branch_taken = aot_gpr_2 == 0u; + { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_08A25E9C; @@ -5490,16 +5491,16 @@ L_08A25DF4: } L_08A25DFC: aot_gpr_16 = (aot_gpr_29 + static_cast(384)); - ctx.gpr[18] = (aot_gpr_29 + static_cast(400)); + aot_gpr_18 = (aot_gpr_29 + static_cast(400)); aot_gpr_31 = (0x08A25E0Cu); - aot_gpr_4 = (ctx.gpr[18] | 0u); + aot_gpr_4 = (aot_gpr_18 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 16u, 0x08960154u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A25E0Cu) goto L_08A25E0C; AOT_REGCACHE_SYNC_OUT(); return; L_08A25E0C: - ctx.gpr[6] = (ctx.gpr[17] + static_cast(2288)); + ctx.gpr[6] = (aot_gpr_17 + static_cast(2288)); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08A25E1Cu); - aot_gpr_5 = (ctx.gpr[18] | 0u); + ctx.gpr[5] = (aot_gpr_18 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 353u, 0x08A1A650u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A25E1Cu) goto L_08A25E1C; AOT_REGCACHE_SYNC_OUT(); return; L_08A25E1C: @@ -5531,8 +5532,8 @@ L_08A25E1C: aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (16996u << 16u); - aot_fpr_13 = std::bit_cast(aot_gpr_4); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); + ctx.fpr[13] = std::bit_cast(aot_gpr_4); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[13])) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -5557,8 +5558,8 @@ L_08A25E54: aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (16256u << 16u); - aot_fpr_13 = std::bit_cast(aot_gpr_4); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); + ctx.fpr[13] = std::bit_cast(aot_gpr_4); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[13])) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -5577,7 +5578,7 @@ L_08A25E84: } L_08A25E8C: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (0u | 1u); + ctx.gpr[2] = (0u | 1u); if (branch_taken) { goto L_08A26158; } @@ -5585,7 +5586,7 @@ L_08A25E8C: } L_08A25E94: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (0u | 1u); + ctx.gpr[2] = (0u | 1u); if (branch_taken) { goto L_08A26158; } @@ -5593,7 +5594,7 @@ L_08A25E94: } L_08A25E9C: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (0u | 1u); + ctx.gpr[2] = (0u | 1u); if (branch_taken) { goto L_08A26158; } @@ -5606,7 +5607,7 @@ L_08A25EA4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 16u, 0x08960154u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A25EB0u) goto L_08A25EB0; AOT_REGCACHE_SYNC_OUT(); return; L_08A25EB0: - aot_gpr_5 = (ctx.gpr[17] + static_cast(2288)); + ctx.gpr[5] = (aot_gpr_17 + static_cast(2288)); aot_gpr_4 = (aot_gpr_16 | 0u); ctx.gpr[6] = (0u | 1u); ctx.gpr[7] = (0u | 0u); @@ -5620,7 +5621,7 @@ L_08A25EB0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0036_entry, 36u, 527u, 0x088967ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A25EDCu) goto L_08A25EDC; AOT_REGCACHE_SYNC_OUT(); return; L_08A25EDC: - { const bool branch_taken = aot_gpr_2 == 0u; + { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_08A25F90; @@ -5643,7 +5644,7 @@ L_08A25EF0: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_4 = (ctx.gpr[17] + static_cast(2288)); + aot_gpr_4 = (aot_gpr_17 + static_cast(2288)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -5689,8 +5690,8 @@ L_08A25EF0: aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (16912u << 16u); - aot_fpr_13 = std::bit_cast(aot_gpr_4); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); + ctx.fpr[13] = std::bit_cast(aot_gpr_4); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[13])) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -5715,8 +5716,8 @@ L_08A25F48: aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (16384u << 16u); - aot_fpr_13 = std::bit_cast(aot_gpr_4); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); + ctx.fpr[13] = std::bit_cast(aot_gpr_4); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[13])) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -5735,7 +5736,7 @@ L_08A25F78: } L_08A25F80: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (0u | 1u); + ctx.gpr[2] = (0u | 1u); if (branch_taken) { goto L_08A26158; } @@ -5743,7 +5744,7 @@ L_08A25F80: } L_08A25F88: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (0u | 1u); + ctx.gpr[2] = (0u | 1u); if (branch_taken) { goto L_08A26158; } @@ -5751,28 +5752,28 @@ L_08A25F88: } L_08A25F90: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (0u | 1u); + ctx.gpr[2] = (0u | 1u); if (branch_taken) { goto L_08A26158; } goto L_08A25F98; } L_08A25F98: - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(80))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(80))); aot_gpr_4 = (aot_gpr_4 << 5u); - aot_gpr_5 = (0u - aot_gpr_4); + ctx.gpr[5] = (0u - aot_gpr_4); aot_gpr_4 = (aot_gpr_4 << 2u); - aot_gpr_5 = (aot_gpr_5 + aot_gpr_4); + ctx.gpr[5] = (ctx.gpr[5] + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 << 2u); - aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); - aot_gpr_4 = (ctx.gpr[17] + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[5] + aot_gpr_4); + aot_gpr_4 = (aot_gpr_17 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(112)); aot_gpr_31 = (0x08A25FC4u); - aot_gpr_5 = (0u | 1u); + ctx.gpr[5] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0134_entry, 134u, 496u, 0x08A1EC30u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A25FC4u) goto L_08A25FC4; AOT_REGCACHE_SYNC_OUT(); return; L_08A25FC4: - { const bool branch_taken = aot_gpr_2 == 0u; + { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_08A25FD4; @@ -5789,28 +5790,28 @@ L_08A25FCC: } L_08A25FD4: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (0u | 1u); + ctx.gpr[2] = (0u | 1u); if (branch_taken) { goto L_08A26158; } goto L_08A25FDC; } L_08A25FDC: - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(80))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(80))); aot_gpr_4 = (aot_gpr_4 << 5u); - aot_gpr_5 = (0u - aot_gpr_4); + ctx.gpr[5] = (0u - aot_gpr_4); aot_gpr_4 = (aot_gpr_4 << 2u); - aot_gpr_5 = (aot_gpr_5 + aot_gpr_4); + ctx.gpr[5] = (ctx.gpr[5] + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 << 2u); - aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); - aot_gpr_4 = (ctx.gpr[17] + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[5] + aot_gpr_4); + aot_gpr_4 = (aot_gpr_17 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(112)); aot_gpr_31 = (0x08A26008u); - aot_gpr_5 = (0u | 1u); + ctx.gpr[5] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0134_entry, 134u, 597u, 0x08A1F8D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A26008u) goto L_08A26008; AOT_REGCACHE_SYNC_OUT(); return; L_08A26008: - { const bool branch_taken = aot_gpr_2 == 0u; + { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_08A26018; @@ -5827,28 +5828,28 @@ L_08A26010: } L_08A26018: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (0u | 1u); + ctx.gpr[2] = (0u | 1u); if (branch_taken) { goto L_08A26158; } goto L_08A26020; } L_08A26020: - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(80))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(80))); aot_gpr_4 = (aot_gpr_4 << 5u); - aot_gpr_5 = (0u - aot_gpr_4); + ctx.gpr[5] = (0u - aot_gpr_4); aot_gpr_4 = (aot_gpr_4 << 2u); - aot_gpr_5 = (aot_gpr_5 + aot_gpr_4); + ctx.gpr[5] = (ctx.gpr[5] + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 << 2u); - aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); - aot_gpr_4 = (ctx.gpr[17] + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[5] + aot_gpr_4); + aot_gpr_4 = (aot_gpr_17 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(112)); aot_gpr_31 = (0x08A2604Cu); - aot_gpr_5 = (0u | 1u); + ctx.gpr[5] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0135_entry, 135u, 12u, 0x08A20118u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A2604Cu) goto L_08A2604C; AOT_REGCACHE_SYNC_OUT(); return; L_08A2604C: - { const bool branch_taken = aot_gpr_2 == 0u; + { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_08A2605C; @@ -5865,28 +5866,28 @@ L_08A26054: } L_08A2605C: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (0u | 1u); + ctx.gpr[2] = (0u | 1u); if (branch_taken) { goto L_08A26158; } goto L_08A26064; } L_08A26064: - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(80))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(80))); aot_gpr_4 = (aot_gpr_4 << 5u); - aot_gpr_5 = (0u - aot_gpr_4); + ctx.gpr[5] = (0u - aot_gpr_4); aot_gpr_4 = (aot_gpr_4 << 2u); - aot_gpr_5 = (aot_gpr_5 + aot_gpr_4); + ctx.gpr[5] = (ctx.gpr[5] + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 << 2u); - aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); - aot_gpr_4 = (ctx.gpr[17] + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[5] + aot_gpr_4); + aot_gpr_4 = (aot_gpr_17 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(112)); aot_gpr_31 = (0x08A26090u); - aot_gpr_5 = (0u | 1u); + ctx.gpr[5] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0135_entry, 135u, 144u, 0x08A211D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A26090u) goto L_08A26090; AOT_REGCACHE_SYNC_OUT(); return; L_08A26090: - { const bool branch_taken = aot_gpr_2 == 0u; + { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_08A260A0; @@ -5903,28 +5904,28 @@ L_08A26098: } L_08A260A0: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (0u | 1u); + ctx.gpr[2] = (0u | 1u); if (branch_taken) { goto L_08A26158; } goto L_08A260A8; } L_08A260A8: - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(80))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(80))); aot_gpr_4 = (aot_gpr_4 << 5u); - aot_gpr_5 = (0u - aot_gpr_4); + ctx.gpr[5] = (0u - aot_gpr_4); aot_gpr_4 = (aot_gpr_4 << 2u); - aot_gpr_5 = (aot_gpr_5 + aot_gpr_4); + ctx.gpr[5] = (ctx.gpr[5] + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 << 2u); - aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); - aot_gpr_4 = (ctx.gpr[17] + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[5] + aot_gpr_4); + aot_gpr_4 = (aot_gpr_17 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(112)); aot_gpr_31 = (0x08A260D4u); - aot_gpr_5 = (0u | 1u); + ctx.gpr[5] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0135_entry, 135u, 195u, 0x08A217FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A260D4u) goto L_08A260D4; AOT_REGCACHE_SYNC_OUT(); return; L_08A260D4: - { const bool branch_taken = aot_gpr_2 == 0u; + { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_08A260E4; @@ -5941,28 +5942,28 @@ L_08A260DC: } L_08A260E4: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (0u | 1u); + ctx.gpr[2] = (0u | 1u); if (branch_taken) { goto L_08A26158; } goto L_08A260EC; } L_08A260EC: - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(80))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(80))); aot_gpr_4 = (aot_gpr_4 << 5u); - aot_gpr_5 = (0u - aot_gpr_4); + ctx.gpr[5] = (0u - aot_gpr_4); aot_gpr_4 = (aot_gpr_4 << 2u); - aot_gpr_5 = (aot_gpr_5 + aot_gpr_4); + ctx.gpr[5] = (ctx.gpr[5] + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 << 2u); - aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); - aot_gpr_4 = (ctx.gpr[17] + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[5] + aot_gpr_4); + aot_gpr_4 = (aot_gpr_17 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(112)); aot_gpr_31 = (0x08A26118u); - aot_gpr_5 = (0u | 1u); + ctx.gpr[5] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 487u, 0x08A1B2A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A26118u) goto L_08A26118; AOT_REGCACHE_SYNC_OUT(); return; L_08A26118: - { const bool branch_taken = aot_gpr_2 == 0u; + { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_08A26128; @@ -5979,7 +5980,7 @@ L_08A26120: } L_08A26128: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (0u | 1u); + ctx.gpr[2] = (0u | 1u); if (branch_taken) { goto L_08A26158; } @@ -5987,8 +5988,8 @@ L_08A26128: } L_08A26130: aot_gpr_4 = (aot_gpr_16 + static_cast(5000)); - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); - aot_gpr_4 = (aot_gpr_4 < aot_gpr_5 ? 1u : 0u); + ctx.gpr[5] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); + aot_gpr_4 = (aot_gpr_4 < ctx.gpr[5] ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -6006,22 +6007,22 @@ L_08A26144: } L_08A2614C: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (0u | 1u); + ctx.gpr[2] = (0u | 1u); if (branch_taken) { goto L_08A26158; } goto L_08A26154; } L_08A26154: - aot_gpr_2 = (0u | 0u); + ctx.gpr[2] = (0u | 0u); goto L_08A26158; L_08A26158: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(664), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); aot_gpr_16 = aot_run_words[1]; - ctx.gpr[17] = aot_run_words[2]; - ctx.gpr[18] = aot_run_words[3]; + aot_gpr_17 = aot_run_words[2]; + aot_gpr_18 = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; } jump_target = aot_gpr_31; @@ -6032,9 +6033,9 @@ L_08A26158: AOT_REGCACHE_SYNC_OUT(); return; L_08A26174: aot_gpr_29 = (aot_gpr_29 + static_cast(-1008)); - { const std::uint32_t aot_run_words[11]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_31}; + { const std::uint32_t aot_run_words[11]{std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_22), std::bit_cast(aot_fpr_24), aot_gpr_16, aot_gpr_17, aot_gpr_18, ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(960), aot_run_words); } - ctx.gpr[6] = (aot_gpr_5 < static_cast(30) ? 1u : 0u); + ctx.gpr[6] = (ctx.gpr[5] < static_cast(30) ? 1u : 0u); { const bool branch_taken = ctx.gpr[6] == 0u; aot_gpr_16 = (aot_gpr_4 | 0u); if (branch_taken) { @@ -6043,9 +6044,9 @@ L_08A26174: goto L_08A261B0; } L_08A261B0: - aot_gpr_5 = (aot_gpr_5 << 2u); + ctx.gpr[5] = (ctx.gpr[5] << 2u); ctx.gpr[1] = (2232u << 16u); - ctx.gpr[1] = (ctx.gpr[1] + aot_gpr_5); + ctx.gpr[1] = (ctx.gpr[1] + ctx.gpr[5]); ctx.gpr[1] = (aot_mem.aot_direct_load32(ctx.gpr[1] + static_cast(5520))); jump_target = ctx.gpr[1]; // nop @@ -6059,8 +6060,8 @@ L_08A261C8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A261D0u) goto L_08A261D0; AOT_REGCACHE_SYNC_OUT(); return; L_08A261D0: - ctx.gpr[17] = (aot_gpr_2 | 0u); - { const bool branch_taken = ctx.gpr[17] == 0u; + aot_gpr_17 = (ctx.gpr[2] | 0u); + { const bool branch_taken = aot_gpr_17 == 0u; // nop if (branch_taken) { goto L_08A2631C; @@ -6068,9 +6069,9 @@ L_08A261D0: goto L_08A261DC; } L_08A261DC: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(852))); - aot_gpr_5 = (0u | 1u); - { const bool branch_taken = aot_gpr_4 == aot_gpr_5; + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(852))); + ctx.gpr[5] = (0u | 1u); + { const bool branch_taken = aot_gpr_4 == ctx.gpr[5]; // nop if (branch_taken) { goto L_08A261FC; @@ -6078,9 +6079,9 @@ L_08A261DC: goto L_08A261EC; } L_08A261EC: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(852))); - aot_gpr_5 = (0u | 2u); - { const bool branch_taken = aot_gpr_4 != aot_gpr_5; + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(852))); + ctx.gpr[5] = (0u | 2u); + { const bool branch_taken = aot_gpr_4 != ctx.gpr[5]; // nop if (branch_taken) { goto L_08A26210; @@ -6090,8 +6091,8 @@ L_08A261EC: L_08A261FC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1984))); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(86)))))); - aot_gpr_5 = (0u | 278u); - { const bool branch_taken = aot_gpr_4 != aot_gpr_5; + ctx.gpr[5] = (0u | 278u); + { const bool branch_taken = aot_gpr_4 != ctx.gpr[5]; // nop if (branch_taken) { goto L_08A262F4; @@ -6099,9 +6100,9 @@ L_08A261FC: goto L_08A26210; } L_08A26210: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(86)))))); - aot_gpr_5 = (0u | 246u); - { const bool branch_taken = aot_gpr_4 == aot_gpr_5; + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(86)))))); + ctx.gpr[5] = (0u | 246u); + { const bool branch_taken = aot_gpr_4 == ctx.gpr[5]; // nop if (branch_taken) { goto L_08A262EC; @@ -6126,7 +6127,7 @@ L_08A26228: aot_gpr_4 = (aot_gpr_4 | 39322u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(136), std::bit_cast(aot_fpr_12)); - { const std::uint32_t vfpu_address = aot_gpr_2 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[2] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -6135,7 +6136,7 @@ L_08A26228: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<4u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = aot_gpr_2 + static_cast(16); + { const std::uint32_t vfpu_address = ctx.gpr[2] + static_cast(16); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -6144,7 +6145,7 @@ L_08A26228: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<5u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = aot_gpr_2 + static_cast(32); + { const std::uint32_t vfpu_address = ctx.gpr[2] + static_cast(32); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -6178,9 +6179,9 @@ L_08A26228: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - ctx.gpr[18] = (aot_gpr_29 + static_cast(144)); + aot_gpr_18 = (aot_gpr_29 + static_cast(144)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); + const std::uint32_t vfpu_address = aot_gpr_18 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_31 = (0x08A2628Cu); @@ -6188,9 +6189,9 @@ L_08A26228: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A2628Cu) goto L_08A2628C; AOT_REGCACHE_SYNC_OUT(); return; L_08A2628C: - aot_gpr_5 = (aot_gpr_2 + static_cast(48)); + ctx.gpr[5] = (ctx.gpr[2] + static_cast(48)); aot_gpr_31 = (0x08A26298u); - aot_gpr_4 = (ctx.gpr[18] | 0u); + aot_gpr_4 = (aot_gpr_18 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A26298u) goto L_08A26298; AOT_REGCACHE_SYNC_OUT(); return; L_08A26298: @@ -6199,7 +6200,7 @@ L_08A26298: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A262A0u) goto L_08A262A0; AOT_REGCACHE_SYNC_OUT(); return; L_08A262A0: - aot_gpr_4 = (aot_gpr_2 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[2] + static_cast(16)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -6214,8 +6215,8 @@ L_08A262A0: const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_4 = (ctx.gpr[17] + static_cast(48)); - aot_gpr_5 = (ctx.gpr[18] | 0u); + aot_gpr_4 = (aot_gpr_17 + static_cast(48)); + ctx.gpr[5] = (aot_gpr_18 | 0u); ctx.gpr[6] = (0u | 1u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 0u); @@ -6228,7 +6229,7 @@ L_08A262A0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0036_entry, 36u, 527u, 0x088967ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A262DCu) goto L_08A262DC; AOT_REGCACHE_SYNC_OUT(); return; L_08A262DC: - { const bool branch_taken = aot_gpr_2 != 0u; + { const bool branch_taken = ctx.gpr[2] != 0u; // nop if (branch_taken) { goto L_08A262FC; @@ -6237,31 +6238,31 @@ L_08A262DC: } L_08A262E4: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (0u | 0u); + ctx.gpr[2] = (0u | 0u); if (branch_taken) { - (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0137_entry, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; + (void)([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A28D00, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem, ctx.pc, aot_gpr_16, aot_gpr_17, aot_gpr_18, ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_29, aot_gpr_31, aot_fpr_20, aot_fpr_22, aot_fpr_24); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0137_entry, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08A262EC; } L_08A262EC: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (0u | 0u); + ctx.gpr[2] = (0u | 0u); if (branch_taken) { - (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0137_entry, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; + (void)([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A28D00, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem, ctx.pc, aot_gpr_16, aot_gpr_17, aot_gpr_18, ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_29, aot_gpr_31, aot_fpr_20, aot_fpr_22, aot_fpr_24); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0137_entry, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08A262F4; } L_08A262F4: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (0u | 0u); + ctx.gpr[2] = (0u | 0u); if (branch_taken) { - (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0137_entry, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; + (void)([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A28D00, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem, ctx.pc, aot_gpr_16, aot_gpr_17, aot_gpr_18, ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_29, aot_gpr_31, aot_fpr_20, aot_fpr_22, aot_fpr_24); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0137_entry, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08A262FC; } L_08A262FC: aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (ctx.gpr[17] | 0u); + ctx.gpr[5] = (aot_gpr_17 | 0u); ctx.gpr[6] = (0u | 14u); ctx.gpr[7] = (0u | 2u); aot_gpr_31 = (0x08A26314u); @@ -6270,28 +6271,28 @@ L_08A262FC: AOT_REGCACHE_SYNC_OUT(); return; L_08A26314: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (0u | 1u); + ctx.gpr[2] = (0u | 1u); if (branch_taken) { - (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0137_entry, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; + (void)([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A28D00, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem, ctx.pc, aot_gpr_16, aot_gpr_17, aot_gpr_18, ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_29, aot_gpr_31, aot_fpr_20, aot_fpr_22, aot_fpr_24); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0137_entry, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08A2631C; } L_08A2631C: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (0u | 0u); + ctx.gpr[2] = (0u | 0u); if (branch_taken) { - (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0137_entry, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; + (void)([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A28D00, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem, ctx.pc, aot_gpr_16, aot_gpr_17, aot_gpr_18, ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_29, aot_gpr_31, aot_fpr_20, aot_fpr_22, aot_fpr_24); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0137_entry, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08A26324; } L_08A26324: - ctx.gpr[17] = (aot_gpr_29 + static_cast(80)); + aot_gpr_17 = (aot_gpr_29 + static_cast(80)); aot_gpr_31 = (0x08A26330u); - aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_4 = (aot_gpr_17 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 16u, 0x08960154u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A26330u) goto L_08A26330; AOT_REGCACHE_SYNC_OUT(); return; L_08A26330: - { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -6310,7 +6311,7 @@ L_08A26330: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 22u, 0x08960240u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A26344u) goto L_08A26344; AOT_REGCACHE_SYNC_OUT(); return; L_08A26344: - { const std::uint32_t vfpu_address = aot_gpr_2 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[2] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -6337,8 +6338,8 @@ L_08A26344: ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 0u, 0u, 3u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); - aot_fpr_13 = std::bit_cast(aot_gpr_4); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 <= aot_fpr_12)) ? 0x00800000u : 0u); + ctx.fpr[13] = std::bit_cast(aot_gpr_4); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[13] <= aot_fpr_12)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -6382,7 +6383,7 @@ L_08A263A4: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), std::bit_cast(aot_fpr_12)); goto L_08A263B0; L_08A263B0: - ctx.gpr[17] = (aot_gpr_29 + static_cast(16)); + aot_gpr_17 = (aot_gpr_29 + static_cast(16)); aot_gpr_4 = (16800u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); @@ -6398,32 +6399,32 @@ L_08A263B0: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); - ctx.gpr[18] = (aot_gpr_29 + static_cast(80)); + aot_gpr_18 = (aot_gpr_29 + static_cast(80)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); + const std::uint32_t vfpu_address = aot_gpr_18 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_4 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08A263E4u); - aot_gpr_5 = (ctx.gpr[18] | 0u); + ctx.gpr[5] = (aot_gpr_18 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A263E4u) goto L_08A263E4; AOT_REGCACHE_SYNC_OUT(); return; L_08A263E4: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(36))); aot_gpr_4 = (16448u << 16u); - aot_fpr_13 = std::bit_cast(aot_gpr_4); - { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(32))); + ctx.fpr[13] = std::bit_cast(aot_gpr_4); + { const float fs = aot_fpr_12; const float ft = ctx.fpr[13]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } + ctx.fpr[14] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(32))); aot_gpr_4 = (49216u << 16u); ctx.fpr[15] = std::bit_cast(aot_gpr_4); - { const float fs = aot_fpr_14; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } + { const float fs = ctx.fpr[14]; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[14] = std::bit_cast(0x7FC00000u); else ctx.fpr[14] = fs * ft; } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(80), std::bit_cast(aot_fpr_12)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(84), std::bit_cast(aot_fpr_14)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(84), std::bit_cast(ctx.fpr[14])); aot_fpr_12 = std::bit_cast(0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(88), std::bit_cast(aot_fpr_12)); - aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_4 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08A26420u); - aot_gpr_5 = (ctx.gpr[18] | 0u); + ctx.gpr[5] = (aot_gpr_18 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A26420u) goto L_08A26420; AOT_REGCACHE_SYNC_OUT(); return; L_08A26420: @@ -6432,7 +6433,7 @@ L_08A26420: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A26428u) goto L_08A26428; AOT_REGCACHE_SYNC_OUT(); return; L_08A26428: - { const bool branch_taken = aot_gpr_2 == 0u; + { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_08A26474; @@ -6445,9 +6446,9 @@ L_08A26430: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A26438u) goto L_08A26438; AOT_REGCACHE_SYNC_OUT(); return; L_08A26438: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(852))); - aot_gpr_5 = (0u | 1u); - { const bool branch_taken = aot_gpr_4 == aot_gpr_5; + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(852))); + ctx.gpr[5] = (0u | 1u); + { const bool branch_taken = aot_gpr_4 == ctx.gpr[5]; // nop if (branch_taken) { goto L_08A26460; @@ -6460,9 +6461,9 @@ L_08A26448: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A26450u) goto L_08A26450; AOT_REGCACHE_SYNC_OUT(); return; L_08A26450: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(852))); - aot_gpr_5 = (0u | 2u); - { const bool branch_taken = aot_gpr_4 != aot_gpr_5; + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(852))); + ctx.gpr[5] = (0u | 2u); + { const bool branch_taken = aot_gpr_4 != ctx.gpr[5]; // nop if (branch_taken) { goto L_08A26474; @@ -6472,8 +6473,8 @@ L_08A26450: L_08A26460: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1984))); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(86)))))); - aot_gpr_5 = (0u | 278u); - { const bool branch_taken = aot_gpr_4 != aot_gpr_5; + ctx.gpr[5] = (0u | 278u); + { const bool branch_taken = aot_gpr_4 != ctx.gpr[5]; // nop if (branch_taken) { goto L_08A264B8; @@ -6484,12 +6485,12 @@ L_08A26474: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); aot_fpr_12 = std::bit_cast(aot_run_words[0]); - aot_fpr_13 = std::bit_cast(aot_run_words[1]); - aot_fpr_14 = std::bit_cast(aot_run_words[2]); + ctx.fpr[13] = std::bit_cast(aot_run_words[1]); + ctx.fpr[14] = std::bit_cast(aot_run_words[2]); } aot_gpr_4 = (16544u << 16u); ctx.fpr[15] = std::bit_cast(aot_gpr_4); - aot_fpr_14 = aot_fpr_14 + ctx.fpr[15]; + ctx.fpr[14] = ctx.fpr[14] + ctx.fpr[15]; aot_gpr_31 = (0x08A26494u); aot_gpr_4 = (aot_gpr_29 + static_cast(48)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 519u, 0x08893460u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A26494u) goto L_08A26494; @@ -6506,8 +6507,8 @@ L_08A26494: } L_08A264A4: aot_gpr_4 = (16320u << 16u); - aot_fpr_13 = std::bit_cast(aot_gpr_4); - aot_fpr_12 = aot_fpr_12 + aot_fpr_13; + ctx.fpr[13] = std::bit_cast(aot_gpr_4); + aot_fpr_12 = aot_fpr_12 + ctx.fpr[13]; { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), std::bit_cast(aot_fpr_12)); if (branch_taken) { @@ -6517,9 +6518,9 @@ L_08A264A4: } L_08A264B8: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (0u | 0u); + ctx.gpr[2] = (0u | 0u); if (branch_taken) { - (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0137_entry, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; + (void)([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A28D00, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem, ctx.pc, aot_gpr_16, aot_gpr_17, aot_gpr_18, ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_29, aot_gpr_31, aot_fpr_20, aot_fpr_22, aot_fpr_24); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0137_entry, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08A264C0; } @@ -6527,12 +6528,12 @@ L_08A264C0: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); aot_fpr_12 = std::bit_cast(aot_run_words[0]); - aot_fpr_13 = std::bit_cast(aot_run_words[1]); - aot_fpr_14 = std::bit_cast(aot_run_words[2]); + ctx.fpr[13] = std::bit_cast(aot_run_words[1]); + ctx.fpr[14] = std::bit_cast(aot_run_words[2]); } aot_gpr_4 = (16544u << 16u); ctx.fpr[15] = std::bit_cast(aot_gpr_4); - aot_fpr_14 = aot_fpr_14 - ctx.fpr[15]; + ctx.fpr[14] = ctx.fpr[14] - ctx.fpr[15]; aot_gpr_31 = (0x08A264E0u); aot_gpr_4 = (aot_gpr_29 + static_cast(48)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 528u, 0x088934F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A264E0u) goto L_08A264E0; @@ -6549,19 +6550,19 @@ L_08A264E0: } L_08A264F0: aot_gpr_4 = (16320u << 16u); - aot_fpr_13 = std::bit_cast(aot_gpr_4); - aot_fpr_12 = aot_fpr_12 + aot_fpr_13; + ctx.fpr[13] = std::bit_cast(aot_gpr_4); + aot_fpr_12 = aot_fpr_12 + ctx.fpr[13]; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), std::bit_cast(aot_fpr_12)); goto L_08A26500; L_08A26500: - ctx.gpr[17] = (aot_gpr_29 + static_cast(80)); + aot_gpr_17 = (aot_gpr_29 + static_cast(80)); aot_gpr_31 = (0x08A2650Cu); - aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_4 = (aot_gpr_17 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 16u, 0x08960154u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A2650Cu) goto L_08A2650C; AOT_REGCACHE_SYNC_OUT(); return; L_08A2650C: - aot_gpr_5 = (aot_gpr_29 + static_cast(16)); - aot_gpr_4 = (ctx.gpr[17] | 0u); + ctx.gpr[5] = (aot_gpr_29 + static_cast(16)); + aot_gpr_4 = (aot_gpr_17 | 0u); ctx.gpr[6] = (0u | 1u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 0u); @@ -6574,7 +6575,7 @@ L_08A2650C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0036_entry, 36u, 527u, 0x088967ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A26538u) goto L_08A26538; AOT_REGCACHE_SYNC_OUT(); return; L_08A26538: - { const bool branch_taken = aot_gpr_2 == 0u; + { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_08A265AC; @@ -6582,13 +6583,13 @@ L_08A26538: goto L_08A26540; } L_08A26540: - ctx.gpr[17] = (aot_gpr_29 + static_cast(96)); + aot_gpr_17 = (aot_gpr_29 + static_cast(96)); aot_gpr_31 = (0x08A2654Cu); - aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_4 = (aot_gpr_17 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 16u, 0x08960154u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A2654Cu) goto L_08A2654C; AOT_REGCACHE_SYNC_OUT(); return; L_08A2654C: - { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -6643,8 +6644,8 @@ L_08A2654C: aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (16928u << 16u); - aot_fpr_13 = std::bit_cast(aot_gpr_4); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); + ctx.fpr[13] = std::bit_cast(aot_gpr_4); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[13])) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -6663,9 +6664,9 @@ L_08A265A4: } L_08A265AC: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (0u | 0u); + ctx.gpr[2] = (0u | 0u); if (branch_taken) { - (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0137_entry, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; + (void)([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A28D00, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem, ctx.pc, aot_gpr_16, aot_gpr_17, aot_gpr_18, ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_29, aot_gpr_31, aot_fpr_20, aot_fpr_22, aot_fpr_24); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0137_entry, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08A265B4; } @@ -6675,7 +6676,7 @@ L_08A265B4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 22u, 0x08960240u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A265BCu) goto L_08A265BC; AOT_REGCACHE_SYNC_OUT(); return; L_08A265BC: - { const std::uint32_t vfpu_address = aot_gpr_2 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[2] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -6697,8 +6698,8 @@ L_08A265BC: ctx.execute_vfpu_vdot_ct<28u, 0u, 1u, 3u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_fpr_13 = std::bit_cast(0u); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); + ctx.fpr[13] = std::bit_cast(0u); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[13])) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -6723,8 +6724,8 @@ L_08A265E8: aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (16416u << 16u); - aot_fpr_13 = std::bit_cast(aot_gpr_4); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); + ctx.fpr[13] = std::bit_cast(aot_gpr_4); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[13])) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -6735,22 +6736,22 @@ L_08A265E8: } L_08A26618: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (0u | 0u); + ctx.gpr[2] = (0u | 0u); if (branch_taken) { - (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0137_entry, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; + (void)([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A28D00, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem, ctx.pc, aot_gpr_16, aot_gpr_17, aot_gpr_18, ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_29, aot_gpr_31, aot_fpr_20, aot_fpr_22, aot_fpr_24); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0137_entry, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08A26620; } L_08A26620: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (0u | 0u); + ctx.gpr[2] = (0u | 0u); if (branch_taken) { - (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0137_entry, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; + (void)([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A28D00, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem, ctx.pc, aot_gpr_16, aot_gpr_17, aot_gpr_18, ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_29, aot_gpr_31, aot_fpr_20, aot_fpr_22, aot_fpr_24); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0137_entry, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08A26628; } L_08A26628: - aot_gpr_5 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[5] = (aot_gpr_29 + static_cast(16)); aot_fpr_12 = std::bit_cast(0u); { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_12)}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(96), aot_run_words); } @@ -6766,7 +6767,7 @@ L_08A26648: AOT_REGCACHE_SYNC_OUT(); return; L_08A26650: aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_2 | 0u); + ctx.gpr[5] = (ctx.gpr[2] | 0u); ctx.gpr[6] = (0u | 15u); ctx.gpr[7] = (0u | 2u); aot_gpr_31 = (0x08A26668u); @@ -6775,9 +6776,9 @@ L_08A26650: AOT_REGCACHE_SYNC_OUT(); return; L_08A26668: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (0u | 1u); + ctx.gpr[2] = (0u | 1u); if (branch_taken) { - (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0137_entry, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; + (void)([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A28D00, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem, ctx.pc, aot_gpr_16, aot_gpr_17, aot_gpr_18, ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_29, aot_gpr_31, aot_fpr_20, aot_fpr_22, aot_fpr_24); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0137_entry, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08A26670; } @@ -6787,7 +6788,7 @@ L_08A26670: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A26678u) goto L_08A26678; AOT_REGCACHE_SYNC_OUT(); return; L_08A26678: - { const bool branch_taken = aot_gpr_2 == 0u; + { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_08A266C4; @@ -6800,9 +6801,9 @@ L_08A26680: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A26688u) goto L_08A26688; AOT_REGCACHE_SYNC_OUT(); return; L_08A26688: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(852))); - aot_gpr_5 = (0u | 1u); - { const bool branch_taken = aot_gpr_4 == aot_gpr_5; + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(852))); + ctx.gpr[5] = (0u | 1u); + { const bool branch_taken = aot_gpr_4 == ctx.gpr[5]; // nop if (branch_taken) { goto L_08A266B0; @@ -6815,9 +6816,9 @@ L_08A26698: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A266A0u) goto L_08A266A0; AOT_REGCACHE_SYNC_OUT(); return; L_08A266A0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(852))); - aot_gpr_5 = (0u | 2u); - { const bool branch_taken = aot_gpr_4 != aot_gpr_5; + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(852))); + ctx.gpr[5] = (0u | 2u); + { const bool branch_taken = aot_gpr_4 != ctx.gpr[5]; // nop if (branch_taken) { goto L_08A266C4; @@ -6827,8 +6828,8 @@ L_08A266A0: L_08A266B0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1984))); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(86)))))); - aot_gpr_5 = (0u | 278u); - { const bool branch_taken = aot_gpr_4 != aot_gpr_5; + ctx.gpr[5] = (0u | 278u); + { const bool branch_taken = aot_gpr_4 != ctx.gpr[5]; // nop if (branch_taken) { goto L_08A26744; @@ -6836,13 +6837,13 @@ L_08A266B0: goto L_08A266C4; } L_08A266C4: - ctx.gpr[17] = (aot_gpr_29 + static_cast(96)); + aot_gpr_17 = (aot_gpr_29 + static_cast(96)); aot_gpr_31 = (0x08A266D0u); - aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_4 = (aot_gpr_17 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 16u, 0x08960154u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A266D0u) goto L_08A266D0; AOT_REGCACHE_SYNC_OUT(); return; L_08A266D0: - { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -6861,7 +6862,7 @@ L_08A266D0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 22u, 0x08960240u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A266E4u) goto L_08A266E4; AOT_REGCACHE_SYNC_OUT(); return; L_08A266E4: - { const std::uint32_t vfpu_address = aot_gpr_2 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[2] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -6888,8 +6889,8 @@ L_08A266E4: ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 0u, 0u, 3u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); - aot_fpr_13 = std::bit_cast(aot_gpr_4); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 <= aot_fpr_12)) ? 0x00800000u : 0u); + ctx.fpr[13] = std::bit_cast(aot_gpr_4); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[13] <= aot_fpr_12)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -6929,9 +6930,9 @@ L_08A26718: } L_08A26744: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (0u | 0u); + ctx.gpr[2] = (0u | 0u); if (branch_taken) { - (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0137_entry, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; + (void)([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A28D00, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem, ctx.pc, aot_gpr_16, aot_gpr_17, aot_gpr_18, ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_29, aot_gpr_31, aot_fpr_20, aot_fpr_22, aot_fpr_24); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0137_entry, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08A2674C; } @@ -6941,7 +6942,7 @@ L_08A2674C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), std::bit_cast(aot_fpr_12)); goto L_08A26758; L_08A26758: - ctx.gpr[17] = (aot_gpr_29 + static_cast(16)); + aot_gpr_17 = (aot_gpr_29 + static_cast(16)); aot_gpr_4 = (16768u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); @@ -6957,44 +6958,44 @@ L_08A26758: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); - ctx.gpr[18] = (aot_gpr_29 + static_cast(96)); + aot_gpr_18 = (aot_gpr_29 + static_cast(96)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); + const std::uint32_t vfpu_address = aot_gpr_18 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_4 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08A2678Cu); - aot_gpr_5 = (ctx.gpr[18] | 0u); + ctx.gpr[5] = (aot_gpr_18 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A2678Cu) goto L_08A2678C; AOT_REGCACHE_SYNC_OUT(); return; L_08A2678C: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(36))); aot_gpr_4 = (16416u << 16u); - aot_fpr_13 = std::bit_cast(aot_gpr_4); - { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(32))); + ctx.fpr[13] = std::bit_cast(aot_gpr_4); + { const float fs = aot_fpr_12; const float ft = ctx.fpr[13]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } + ctx.fpr[14] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(32))); aot_gpr_4 = (49184u << 16u); ctx.fpr[15] = std::bit_cast(aot_gpr_4); - { const float fs = aot_fpr_14; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } + { const float fs = ctx.fpr[14]; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[14] = std::bit_cast(0x7FC00000u); else ctx.fpr[14] = fs * ft; } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(96), std::bit_cast(aot_fpr_12)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(100), std::bit_cast(aot_fpr_14)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(100), std::bit_cast(ctx.fpr[14])); aot_fpr_12 = std::bit_cast(0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(104), std::bit_cast(aot_fpr_12)); - aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_4 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08A267C8u); - aot_gpr_5 = (ctx.gpr[18] | 0u); + ctx.gpr[5] = (aot_gpr_18 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A267C8u) goto L_08A267C8; AOT_REGCACHE_SYNC_OUT(); return; L_08A267C8: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); aot_fpr_12 = std::bit_cast(aot_run_words[0]); - aot_fpr_13 = std::bit_cast(aot_run_words[1]); - aot_fpr_14 = std::bit_cast(aot_run_words[2]); + ctx.fpr[13] = std::bit_cast(aot_run_words[1]); + ctx.fpr[14] = std::bit_cast(aot_run_words[2]); } aot_gpr_4 = (16544u << 16u); ctx.fpr[15] = std::bit_cast(aot_gpr_4); - aot_fpr_14 = aot_fpr_14 + ctx.fpr[15]; + ctx.fpr[14] = ctx.fpr[14] + ctx.fpr[15]; aot_gpr_31 = (0x08A267E8u); aot_gpr_4 = (aot_gpr_29 + static_cast(48)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 519u, 0x08893460u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A267E8u) goto L_08A267E8; @@ -7011,8 +7012,8 @@ L_08A267E8: } L_08A267F8: aot_gpr_4 = (16128u << 16u); - aot_fpr_13 = std::bit_cast(aot_gpr_4); - aot_fpr_12 = aot_fpr_12 + aot_fpr_13; + ctx.fpr[13] = std::bit_cast(aot_gpr_4); + aot_fpr_12 = aot_fpr_12 + ctx.fpr[13]; { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), std::bit_cast(aot_fpr_12)); if (branch_taken) { @@ -7024,12 +7025,12 @@ L_08A2680C: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); aot_fpr_12 = std::bit_cast(aot_run_words[0]); - aot_fpr_13 = std::bit_cast(aot_run_words[1]); - aot_fpr_14 = std::bit_cast(aot_run_words[2]); + ctx.fpr[13] = std::bit_cast(aot_run_words[1]); + ctx.fpr[14] = std::bit_cast(aot_run_words[2]); } aot_gpr_4 = (16544u << 16u); ctx.fpr[15] = std::bit_cast(aot_gpr_4); - aot_fpr_14 = aot_fpr_14 - ctx.fpr[15]; + ctx.fpr[14] = ctx.fpr[14] - ctx.fpr[15]; aot_gpr_31 = (0x08A2682Cu); aot_gpr_4 = (aot_gpr_29 + static_cast(48)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 528u, 0x088934F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A2682Cu) goto L_08A2682C; @@ -7046,19 +7047,19 @@ L_08A2682C: } L_08A2683C: aot_gpr_4 = (16128u << 16u); - aot_fpr_13 = std::bit_cast(aot_gpr_4); - aot_fpr_12 = aot_fpr_12 + aot_fpr_13; + ctx.fpr[13] = std::bit_cast(aot_gpr_4); + aot_fpr_12 = aot_fpr_12 + ctx.fpr[13]; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), std::bit_cast(aot_fpr_12)); goto L_08A2684C; L_08A2684C: - ctx.gpr[17] = (aot_gpr_29 + static_cast(96)); + aot_gpr_17 = (aot_gpr_29 + static_cast(96)); aot_gpr_31 = (0x08A26858u); - aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_4 = (aot_gpr_17 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 16u, 0x08960154u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A26858u) goto L_08A26858; AOT_REGCACHE_SYNC_OUT(); return; L_08A26858: - aot_gpr_5 = (aot_gpr_29 + static_cast(16)); - aot_gpr_4 = (ctx.gpr[17] | 0u); + ctx.gpr[5] = (aot_gpr_29 + static_cast(16)); + aot_gpr_4 = (aot_gpr_17 | 0u); ctx.gpr[6] = (0u | 1u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 0u); @@ -7071,7 +7072,7 @@ L_08A26858: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0036_entry, 36u, 527u, 0x088967ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A26884u) goto L_08A26884; AOT_REGCACHE_SYNC_OUT(); return; L_08A26884: - { const bool branch_taken = aot_gpr_2 == 0u; + { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_08A268F8; @@ -7079,13 +7080,13 @@ L_08A26884: goto L_08A2688C; } L_08A2688C: - ctx.gpr[17] = (aot_gpr_29 + static_cast(80)); + aot_gpr_17 = (aot_gpr_29 + static_cast(80)); aot_gpr_31 = (0x08A26898u); - aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_4 = (aot_gpr_17 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 16u, 0x08960154u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A26898u) goto L_08A26898; AOT_REGCACHE_SYNC_OUT(); return; L_08A26898: - { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -7140,8 +7141,8 @@ L_08A26898: aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (16872u << 16u); - aot_fpr_13 = std::bit_cast(aot_gpr_4); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); + ctx.fpr[13] = std::bit_cast(aot_gpr_4); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[13])) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -7160,9 +7161,9 @@ L_08A268F0: } L_08A268F8: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (0u | 0u); + ctx.gpr[2] = (0u | 0u); if (branch_taken) { - (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0137_entry, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; + (void)([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A28D00, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem, ctx.pc, aot_gpr_16, aot_gpr_17, aot_gpr_18, ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_29, aot_gpr_31, aot_fpr_20, aot_fpr_22, aot_fpr_24); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0137_entry, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08A26900; } @@ -7172,7 +7173,7 @@ L_08A26900: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 22u, 0x08960240u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A26908u) goto L_08A26908; AOT_REGCACHE_SYNC_OUT(); return; L_08A26908: - { const std::uint32_t vfpu_address = aot_gpr_2 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[2] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -7194,8 +7195,8 @@ L_08A26908: ctx.execute_vfpu_vdot_ct<28u, 0u, 1u, 3u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_fpr_13 = std::bit_cast(0u); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); + ctx.fpr[13] = std::bit_cast(0u); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[13])) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -7220,8 +7221,8 @@ L_08A26934: aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (16384u << 16u); - aot_fpr_13 = std::bit_cast(aot_gpr_4); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); + ctx.fpr[13] = std::bit_cast(aot_gpr_4); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[13])) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -7232,22 +7233,22 @@ L_08A26934: } L_08A26964: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (0u | 0u); + ctx.gpr[2] = (0u | 0u); if (branch_taken) { - (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0137_entry, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; + (void)([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A28D00, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem, ctx.pc, aot_gpr_16, aot_gpr_17, aot_gpr_18, ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_29, aot_gpr_31, aot_fpr_20, aot_fpr_22, aot_fpr_24); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0137_entry, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08A2696C; } L_08A2696C: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (0u | 0u); + ctx.gpr[2] = (0u | 0u); if (branch_taken) { - (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0137_entry, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; + (void)([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A28D00, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem, ctx.pc, aot_gpr_16, aot_gpr_17, aot_gpr_18, ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_29, aot_gpr_31, aot_fpr_20, aot_fpr_22, aot_fpr_24); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0137_entry, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08A26974; } L_08A26974: - aot_gpr_5 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[5] = (aot_gpr_29 + static_cast(16)); aot_fpr_12 = std::bit_cast(0u); { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_12)}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(96), aot_run_words); } @@ -7263,7 +7264,7 @@ L_08A26994: AOT_REGCACHE_SYNC_OUT(); return; L_08A2699C: aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_2 | 0u); + ctx.gpr[5] = (ctx.gpr[2] | 0u); ctx.gpr[6] = (0u | 15u); ctx.gpr[7] = (0u | 2u); aot_gpr_31 = (0x08A269B4u); @@ -7272,20 +7273,20 @@ L_08A2699C: AOT_REGCACHE_SYNC_OUT(); return; L_08A269B4: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (0u | 1u); + ctx.gpr[2] = (0u | 1u); if (branch_taken) { - (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0137_entry, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; + (void)([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A28D00, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem, ctx.pc, aot_gpr_16, aot_gpr_17, aot_gpr_18, ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_29, aot_gpr_31, aot_fpr_20, aot_fpr_22, aot_fpr_24); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0137_entry, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08A269BC; } L_08A269BC: - ctx.gpr[17] = (aot_gpr_29 + static_cast(96)); + aot_gpr_17 = (aot_gpr_29 + static_cast(96)); aot_gpr_31 = (0x08A269C8u); - aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_4 = (aot_gpr_17 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 16u, 0x08960154u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A269C8u) goto L_08A269C8; AOT_REGCACHE_SYNC_OUT(); return; L_08A269C8: - { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -7304,7 +7305,7 @@ L_08A269C8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 22u, 0x08960240u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A269DCu) goto L_08A269DC; AOT_REGCACHE_SYNC_OUT(); return; L_08A269DC: - { const std::uint32_t vfpu_address = aot_gpr_2 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[2] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -7331,8 +7332,8 @@ L_08A269DC: ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 0u, 0u, 3u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); - aot_fpr_13 = std::bit_cast(aot_gpr_4); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 <= aot_fpr_12)) ? 0x00800000u : 0u); + ctx.fpr[13] = std::bit_cast(aot_gpr_4); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[13] <= aot_fpr_12)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -7376,7 +7377,7 @@ L_08A26A3C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), std::bit_cast(aot_fpr_12)); goto L_08A26A48; L_08A26A48: - ctx.gpr[17] = (aot_gpr_29 + static_cast(16)); + aot_gpr_17 = (aot_gpr_29 + static_cast(16)); aot_gpr_4 = (16880u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); @@ -7392,47 +7393,47 @@ L_08A26A48: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); - ctx.gpr[18] = (aot_gpr_29 + static_cast(96)); + aot_gpr_18 = (aot_gpr_29 + static_cast(96)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); + const std::uint32_t vfpu_address = aot_gpr_18 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_4 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08A26A7Cu); - aot_gpr_5 = (ctx.gpr[18] | 0u); + ctx.gpr[5] = (aot_gpr_18 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A26A7Cu) goto L_08A26A7C; AOT_REGCACHE_SYNC_OUT(); return; L_08A26A7C: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(36))); aot_gpr_4 = (16640u << 16u); - aot_fpr_13 = std::bit_cast(aot_gpr_4); - { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(32))); + ctx.fpr[13] = std::bit_cast(aot_gpr_4); + { const float fs = aot_fpr_12; const float ft = ctx.fpr[13]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } + ctx.fpr[14] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(32))); aot_gpr_4 = (49408u << 16u); ctx.fpr[15] = std::bit_cast(aot_gpr_4); - { const float fs = aot_fpr_14; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } + { const float fs = ctx.fpr[14]; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[14] = std::bit_cast(0x7FC00000u); else ctx.fpr[14] = fs * ft; } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(96), std::bit_cast(aot_fpr_12)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(100), std::bit_cast(aot_fpr_14)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(100), std::bit_cast(ctx.fpr[14])); aot_fpr_12 = std::bit_cast(0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(104), std::bit_cast(aot_fpr_12)); - aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_4 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08A26AB8u); - aot_gpr_5 = (ctx.gpr[18] | 0u); + ctx.gpr[5] = (aot_gpr_18 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A26AB8u) goto L_08A26AB8; AOT_REGCACHE_SYNC_OUT(); return; L_08A26AB8: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); aot_gpr_4 = (16768u << 16u); - aot_fpr_13 = std::bit_cast(aot_gpr_4); - aot_fpr_12 = aot_fpr_12 + aot_fpr_13; + ctx.fpr[13] = std::bit_cast(aot_gpr_4); + aot_fpr_12 = aot_fpr_12 + ctx.fpr[13]; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08A26AD4u); - aot_gpr_4 = (ctx.gpr[18] | 0u); + aot_gpr_4 = (aot_gpr_18 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 16u, 0x08960154u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A26AD4u) goto L_08A26AD4; AOT_REGCACHE_SYNC_OUT(); return; L_08A26AD4: - aot_gpr_4 = (ctx.gpr[18] | 0u); - aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_4 = (aot_gpr_18 | 0u); + ctx.gpr[5] = (aot_gpr_17 | 0u); ctx.gpr[6] = (0u | 1u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 0u); @@ -7445,7 +7446,7 @@ L_08A26AD4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0036_entry, 36u, 527u, 0x088967ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A26B00u) goto L_08A26B00; AOT_REGCACHE_SYNC_OUT(); return; L_08A26B00: - { const bool branch_taken = aot_gpr_2 != 0u; + { const bool branch_taken = ctx.gpr[2] != 0u; // nop if (branch_taken) { goto L_08A26B10; @@ -7454,14 +7455,14 @@ L_08A26B00: } L_08A26B08: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (0u | 0u); + ctx.gpr[2] = (0u | 0u); if (branch_taken) { - (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0137_entry, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; + (void)([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A28D00, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem, ctx.pc, aot_gpr_16, aot_gpr_17, aot_gpr_18, ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_29, aot_gpr_31, aot_fpr_20, aot_fpr_22, aot_fpr_24); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0137_entry, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08A26B10; } L_08A26B10: - aot_gpr_5 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[5] = (aot_gpr_29 + static_cast(16)); aot_fpr_12 = std::bit_cast(0u); { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_12)}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(96), aot_run_words); } @@ -7477,7 +7478,7 @@ L_08A26B30: AOT_REGCACHE_SYNC_OUT(); return; L_08A26B38: aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_2 | 0u); + ctx.gpr[5] = (ctx.gpr[2] | 0u); ctx.gpr[6] = (0u | 15u); ctx.gpr[7] = (0u | 2u); aot_gpr_31 = (0x08A26B50u); @@ -7486,9 +7487,9 @@ L_08A26B38: AOT_REGCACHE_SYNC_OUT(); return; L_08A26B50: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (0u | 1u); + ctx.gpr[2] = (0u | 1u); if (branch_taken) { - (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0137_entry, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; + (void)([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A28D00, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem, ctx.pc, aot_gpr_16, aot_gpr_17, aot_gpr_18, ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_29, aot_gpr_31, aot_fpr_20, aot_fpr_22, aot_fpr_24); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0137_entry, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08A26B58; } @@ -7499,7 +7500,7 @@ L_08A26B58: AOT_REGCACHE_SYNC_OUT(); return; L_08A26B60: aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_2 | 0u); + ctx.gpr[5] = (ctx.gpr[2] | 0u); ctx.gpr[6] = (0u | 16u); ctx.gpr[7] = (0u | 2u); aot_gpr_31 = (0x08A26B78u); @@ -7508,20 +7509,20 @@ L_08A26B60: AOT_REGCACHE_SYNC_OUT(); return; L_08A26B78: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (0u | 1u); + ctx.gpr[2] = (0u | 1u); if (branch_taken) { - (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0137_entry, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; + (void)([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A28D00, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem, ctx.pc, aot_gpr_16, aot_gpr_17, aot_gpr_18, ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_29, aot_gpr_31, aot_fpr_20, aot_fpr_22, aot_fpr_24); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0137_entry, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08A26B80; } L_08A26B80: - ctx.gpr[17] = (aot_gpr_29 + static_cast(96)); + aot_gpr_17 = (aot_gpr_29 + static_cast(96)); aot_gpr_31 = (0x08A26B8Cu); - aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_4 = (aot_gpr_17 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 16u, 0x08960154u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A26B8Cu) goto L_08A26B8C; AOT_REGCACHE_SYNC_OUT(); return; L_08A26B8C: - { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -7540,7 +7541,7 @@ L_08A26B8C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 22u, 0x08960240u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A26BA0u) goto L_08A26BA0; AOT_REGCACHE_SYNC_OUT(); return; L_08A26BA0: - { const std::uint32_t vfpu_address = aot_gpr_2 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[2] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -7567,8 +7568,8 @@ L_08A26BA0: ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 0u, 0u, 3u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); - aot_fpr_13 = std::bit_cast(aot_gpr_4); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 <= aot_fpr_12)) ? 0x00800000u : 0u); + ctx.fpr[13] = std::bit_cast(aot_gpr_4); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[13] <= aot_fpr_12)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -7612,7 +7613,7 @@ L_08A26C00: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), std::bit_cast(aot_fpr_12)); goto L_08A26C0C; L_08A26C0C: - ctx.gpr[17] = (aot_gpr_29 + static_cast(16)); + aot_gpr_17 = (aot_gpr_29 + static_cast(16)); aot_gpr_4 = (16880u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); @@ -7628,44 +7629,44 @@ L_08A26C0C: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); - ctx.gpr[18] = (aot_gpr_29 + static_cast(96)); + aot_gpr_18 = (aot_gpr_29 + static_cast(96)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); + const std::uint32_t vfpu_address = aot_gpr_18 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_4 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08A26C40u); - aot_gpr_5 = (ctx.gpr[18] | 0u); + ctx.gpr[5] = (aot_gpr_18 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A26C40u) goto L_08A26C40; AOT_REGCACHE_SYNC_OUT(); return; L_08A26C40: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(36))); aot_gpr_4 = (49344u << 16u); - aot_fpr_13 = std::bit_cast(aot_gpr_4); - { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(32))); + ctx.fpr[13] = std::bit_cast(aot_gpr_4); + { const float fs = aot_fpr_12; const float ft = ctx.fpr[13]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } + ctx.fpr[14] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(32))); aot_gpr_4 = (16576u << 16u); ctx.fpr[15] = std::bit_cast(aot_gpr_4); - { const float fs = aot_fpr_14; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } + { const float fs = ctx.fpr[14]; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[14] = std::bit_cast(0x7FC00000u); else ctx.fpr[14] = fs * ft; } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(96), std::bit_cast(aot_fpr_12)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(100), std::bit_cast(aot_fpr_14)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(100), std::bit_cast(ctx.fpr[14])); aot_fpr_12 = std::bit_cast(0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(104), std::bit_cast(aot_fpr_12)); - aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_4 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08A26C7Cu); - aot_gpr_5 = (ctx.gpr[18] | 0u); + ctx.gpr[5] = (aot_gpr_18 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A26C7Cu) goto L_08A26C7C; AOT_REGCACHE_SYNC_OUT(); return; L_08A26C7C: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); aot_fpr_12 = std::bit_cast(aot_run_words[0]); - aot_fpr_13 = std::bit_cast(aot_run_words[1]); - aot_fpr_14 = std::bit_cast(aot_run_words[2]); + ctx.fpr[13] = std::bit_cast(aot_run_words[1]); + ctx.fpr[14] = std::bit_cast(aot_run_words[2]); } aot_gpr_4 = (16544u << 16u); ctx.fpr[15] = std::bit_cast(aot_gpr_4); - aot_fpr_14 = aot_fpr_14 + ctx.fpr[15]; + ctx.fpr[14] = ctx.fpr[14] + ctx.fpr[15]; aot_gpr_31 = (0x08A26C9Cu); aot_gpr_4 = (aot_gpr_29 + static_cast(48)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 519u, 0x08893460u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A26C9Cu) goto L_08A26C9C; @@ -7682,8 +7683,8 @@ L_08A26C9C: } L_08A26CAC: aot_gpr_4 = (16480u << 16u); - aot_fpr_13 = std::bit_cast(aot_gpr_4); - aot_fpr_12 = aot_fpr_12 + aot_fpr_13; + ctx.fpr[13] = std::bit_cast(aot_gpr_4); + aot_fpr_12 = aot_fpr_12 + ctx.fpr[13]; { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), std::bit_cast(aot_fpr_12)); if (branch_taken) { @@ -7695,12 +7696,12 @@ L_08A26CC0: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); aot_fpr_12 = std::bit_cast(aot_run_words[0]); - aot_fpr_13 = std::bit_cast(aot_run_words[1]); - aot_fpr_14 = std::bit_cast(aot_run_words[2]); + ctx.fpr[13] = std::bit_cast(aot_run_words[1]); + ctx.fpr[14] = std::bit_cast(aot_run_words[2]); } aot_gpr_4 = (16544u << 16u); ctx.fpr[15] = std::bit_cast(aot_gpr_4); - aot_fpr_14 = aot_fpr_14 - ctx.fpr[15]; + ctx.fpr[14] = ctx.fpr[14] - ctx.fpr[15]; aot_gpr_31 = (0x08A26CE0u); aot_gpr_4 = (aot_gpr_29 + static_cast(48)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 528u, 0x088934F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A26CE0u) goto L_08A26CE0; @@ -7717,19 +7718,19 @@ L_08A26CE0: } L_08A26CF0: aot_gpr_4 = (16480u << 16u); - aot_fpr_13 = std::bit_cast(aot_gpr_4); - aot_fpr_12 = aot_fpr_12 + aot_fpr_13; + ctx.fpr[13] = std::bit_cast(aot_gpr_4); + aot_fpr_12 = aot_fpr_12 + ctx.fpr[13]; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), std::bit_cast(aot_fpr_12)); goto L_08A26D00; L_08A26D00: - ctx.gpr[17] = (aot_gpr_29 + static_cast(96)); + aot_gpr_17 = (aot_gpr_29 + static_cast(96)); aot_gpr_31 = (0x08A26D0Cu); - aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_4 = (aot_gpr_17 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 16u, 0x08960154u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A26D0Cu) goto L_08A26D0C; AOT_REGCACHE_SYNC_OUT(); return; L_08A26D0C: - aot_gpr_5 = (aot_gpr_29 + static_cast(16)); - aot_gpr_4 = (ctx.gpr[17] | 0u); + ctx.gpr[5] = (aot_gpr_29 + static_cast(16)); + aot_gpr_4 = (aot_gpr_17 | 0u); ctx.gpr[6] = (0u | 1u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 0u); @@ -7742,7 +7743,7 @@ L_08A26D0C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0036_entry, 36u, 527u, 0x088967ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A26D38u) goto L_08A26D38; AOT_REGCACHE_SYNC_OUT(); return; L_08A26D38: - { const bool branch_taken = aot_gpr_2 == 0u; + { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_08A26D60; @@ -7755,9 +7756,9 @@ L_08A26D40: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A26D48u) goto L_08A26D48; AOT_REGCACHE_SYNC_OUT(); return; L_08A26D48: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(852))); - aot_gpr_5 = (0u | 1u); - { const bool branch_taken = aot_gpr_4 == aot_gpr_5; + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(852))); + ctx.gpr[5] = (0u | 1u); + { const bool branch_taken = aot_gpr_4 == ctx.gpr[5]; // nop if (branch_taken) { goto L_08A26D80; @@ -7774,9 +7775,9 @@ L_08A26D58: } L_08A26D60: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (0u | 0u); + ctx.gpr[2] = (0u | 0u); if (branch_taken) { - (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0137_entry, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; + (void)([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A28D00, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem, ctx.pc, aot_gpr_16, aot_gpr_17, aot_gpr_18, ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_29, aot_gpr_31, aot_fpr_20, aot_fpr_22, aot_fpr_24); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0137_entry, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08A26D68; } @@ -7786,9 +7787,9 @@ L_08A26D68: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A26D70u) goto L_08A26D70; AOT_REGCACHE_SYNC_OUT(); return; L_08A26D70: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(852))); - aot_gpr_5 = (0u | 2u); - { const bool branch_taken = aot_gpr_4 != aot_gpr_5; + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(852))); + ctx.gpr[5] = (0u | 2u); + { const bool branch_taken = aot_gpr_4 != ctx.gpr[5]; // nop if (branch_taken) { goto L_08A26DB8; @@ -7798,12 +7799,12 @@ L_08A26D70: L_08A26D80: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); aot_gpr_4 = (16384u << 16u); - aot_fpr_13 = std::bit_cast(aot_gpr_4); - aot_fpr_12 = aot_fpr_12 + aot_fpr_13; + ctx.fpr[13] = std::bit_cast(aot_gpr_4); + aot_fpr_12 = aot_fpr_12 + ctx.fpr[13]; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (16640u << 16u); - aot_fpr_14 = std::bit_cast(aot_gpr_4); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_14)) ? 0x00800000u : 0u); + ctx.fpr[14] = std::bit_cast(aot_gpr_4); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[14])) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -7818,7 +7819,7 @@ L_08A26DAC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), std::bit_cast(aot_fpr_12)); goto L_08A26DB8; L_08A26DB8: - aot_gpr_5 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[5] = (aot_gpr_29 + static_cast(16)); aot_fpr_12 = std::bit_cast(0u); { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_12)}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(96), aot_run_words); } @@ -7834,7 +7835,7 @@ L_08A26DD8: AOT_REGCACHE_SYNC_OUT(); return; L_08A26DE0: aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_2 | 0u); + ctx.gpr[5] = (ctx.gpr[2] | 0u); ctx.gpr[6] = (0u | 15u); ctx.gpr[7] = (0u | 2u); aot_gpr_31 = (0x08A26DF8u); @@ -7843,9 +7844,9 @@ L_08A26DE0: AOT_REGCACHE_SYNC_OUT(); return; L_08A26DF8: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (0u | 1u); + ctx.gpr[2] = (0u | 1u); if (branch_taken) { - (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0137_entry, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; + (void)([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A28D00, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem, ctx.pc, aot_gpr_16, aot_gpr_17, aot_gpr_18, ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_29, aot_gpr_31, aot_fpr_20, aot_fpr_22, aot_fpr_24); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0137_entry, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08A26E00; } @@ -7856,7 +7857,7 @@ L_08A26E00: AOT_REGCACHE_SYNC_OUT(); return; L_08A26E08: aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_2 | 0u); + ctx.gpr[5] = (ctx.gpr[2] | 0u); ctx.gpr[6] = (0u | 18u); ctx.gpr[7] = (0u | 2u); aot_gpr_31 = (0x08A26E20u); @@ -7865,9 +7866,9 @@ L_08A26E08: AOT_REGCACHE_SYNC_OUT(); return; L_08A26E20: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (0u | 1u); + ctx.gpr[2] = (0u | 1u); if (branch_taken) { - (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0137_entry, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; + (void)([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A28D00, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem, ctx.pc, aot_gpr_16, aot_gpr_17, aot_gpr_18, ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_29, aot_gpr_31, aot_fpr_20, aot_fpr_22, aot_fpr_24); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0137_entry, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08A26E28; } @@ -7877,7 +7878,7 @@ L_08A26E28: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A26E30u) goto L_08A26E30; AOT_REGCACHE_SYNC_OUT(); return; L_08A26E30: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(2320))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(2320))); aot_gpr_4 = (static_cast(aot_gpr_4) < 1 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -7892,7 +7893,7 @@ L_08A26E40: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A26E48u) goto L_08A26E48; AOT_REGCACHE_SYNC_OUT(); return; L_08A26E48: - { const bool branch_taken = aot_gpr_2 == 0u; + { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_08A26E68; @@ -7905,7 +7906,7 @@ L_08A26E50: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A26E58u) goto L_08A26E58; AOT_REGCACHE_SYNC_OUT(); return; L_08A26E58: - { const bool branch_taken = aot_gpr_2 != 0u; + { const bool branch_taken = ctx.gpr[2] != 0u; // nop if (branch_taken) { goto L_08A26E78; @@ -7922,17 +7923,17 @@ L_08A26E60: } L_08A26E68: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (0u | 0u); + ctx.gpr[2] = (0u | 0u); if (branch_taken) { - (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0137_entry, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; + (void)([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A28D00, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem, ctx.pc, aot_gpr_16, aot_gpr_17, aot_gpr_18, ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_29, aot_gpr_31, aot_fpr_20, aot_fpr_22, aot_fpr_24); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0137_entry, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08A26E70; } L_08A26E70: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (0u | 0u); + ctx.gpr[2] = (0u | 0u); if (branch_taken) { - (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0137_entry, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; + (void)([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A28D00, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem, ctx.pc, aot_gpr_16, aot_gpr_17, aot_gpr_18, ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_29, aot_gpr_31, aot_fpr_20, aot_fpr_22, aot_fpr_24); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0137_entry, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08A26E78; } @@ -7942,9 +7943,9 @@ L_08A26E78: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A26E80u) goto L_08A26E80; AOT_REGCACHE_SYNC_OUT(); return; L_08A26E80: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(852))); - aot_gpr_5 = (0u | 1u); - { const bool branch_taken = aot_gpr_4 == aot_gpr_5; + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(852))); + ctx.gpr[5] = (0u | 1u); + { const bool branch_taken = aot_gpr_4 == ctx.gpr[5]; // nop if (branch_taken) { goto L_08A26EA8; @@ -7957,9 +7958,9 @@ L_08A26E90: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A26E98u) goto L_08A26E98; AOT_REGCACHE_SYNC_OUT(); return; L_08A26E98: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(852))); - aot_gpr_5 = (0u | 2u); - { const bool branch_taken = aot_gpr_4 != aot_gpr_5; + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(852))); + ctx.gpr[5] = (0u | 2u); + { const bool branch_taken = aot_gpr_4 != ctx.gpr[5]; // nop if (branch_taken) { goto L_08A26EBC; @@ -7969,8 +7970,8 @@ L_08A26E98: L_08A26EA8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1984))); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(86)))))); - aot_gpr_5 = (0u | 278u); - { const bool branch_taken = aot_gpr_4 != aot_gpr_5; + ctx.gpr[5] = (0u | 278u); + { const bool branch_taken = aot_gpr_4 != ctx.gpr[5]; // nop if (branch_taken) { goto L_08A26ED4; @@ -7978,10 +7979,10 @@ L_08A26EA8: goto L_08A26EBC; } L_08A26EBC: - ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); + aot_gpr_17 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); { const bool branch_taken = aot_gpr_4 != 0u; - ctx.gpr[18] = (aot_gpr_4 + static_cast(-1)); + aot_gpr_18 = (aot_gpr_4 + static_cast(-1)); if (branch_taken) { goto L_08A26EDC; } @@ -7997,14 +7998,14 @@ L_08A26ECC: } L_08A26ED4: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (0u | 0u); + ctx.gpr[2] = (0u | 0u); if (branch_taken) { - (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0137_entry, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; + (void)([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A28D00, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem, ctx.pc, aot_gpr_16, aot_gpr_17, aot_gpr_18, ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_29, aot_gpr_31, aot_fpr_20, aot_fpr_22, aot_fpr_24); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0137_entry, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08A26EDC; } L_08A26EDC: - { const bool branch_taken = static_cast(ctx.gpr[18]) < 0; + { const bool branch_taken = static_cast(aot_gpr_18) < 0; // nop if (branch_taken) { goto L_08A26EF4; @@ -8012,10 +8013,10 @@ L_08A26EDC: goto L_08A26EE4; } L_08A26EE4: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); - aot_gpr_4 = (static_cast(ctx.gpr[18]) < static_cast(aot_gpr_4) ? 1u : 0u); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + aot_gpr_4 = (static_cast(aot_gpr_18) < static_cast(aot_gpr_4) ? 1u : 0u); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); goto L_08A26EFC; } goto L_08A26EF4; @@ -8028,11 +8029,11 @@ L_08A26EF4: goto L_08A26EFC; } L_08A26EFC: - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[18]); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_18); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0))); aot_gpr_4 = (aot_gpr_4 & 128u); if (aot_gpr_4 == 0u) { - ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); + ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); goto L_08A26F18; } goto L_08A26F10; @@ -8045,10 +8046,10 @@ L_08A26F10: goto L_08A26F18; } L_08A26F18: - aot_gpr_4 = (ctx.gpr[18] << 5u); - aot_gpr_5 = (0u + aot_gpr_4); + aot_gpr_4 = (aot_gpr_18 << 5u); + ctx.gpr[5] = (0u + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 << 6u); - aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[5] + aot_gpr_4); ctx.gpr[19] = (ctx.gpr[19] + aot_gpr_4); goto L_08A26F2C; L_08A26F2C: @@ -8074,7 +8075,7 @@ L_08A26F40: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A26F48u) goto L_08A26F48; AOT_REGCACHE_SYNC_OUT(); return; L_08A26F48: - { const bool branch_taken = ctx.gpr[19] == aot_gpr_2; + { const bool branch_taken = ctx.gpr[19] == ctx.gpr[2]; // nop if (branch_taken) { goto L_08A27094; @@ -8094,8 +8095,8 @@ L_08A26F50: L_08A26F60: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 496u); - aot_gpr_5 = (0u | 48u); - { const bool branch_taken = aot_gpr_4 != aot_gpr_5; + ctx.gpr[5] = (0u | 48u); + { const bool branch_taken = aot_gpr_4 != ctx.gpr[5]; // nop if (branch_taken) { goto L_08A27094; @@ -8118,9 +8119,9 @@ L_08A26F80: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 16u, 0x08960154u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A26F98u) goto L_08A26F98; AOT_REGCACHE_SYNC_OUT(); return; L_08A26F98: - ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(180))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(4))); - ctx.fpr[22] = aot_fpr_13 - ctx.fpr[22]; + aot_fpr_22 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(180))); + ctx.fpr[13] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(4))); + aot_fpr_22 = ctx.fpr[13] - aot_fpr_22; ctx.gpr[22] = (aot_gpr_29 + static_cast(192)); aot_gpr_31 = (0x08A26FB0u); aot_gpr_4 = (ctx.gpr[22] | 0u); @@ -8164,8 +8165,8 @@ L_08A26FB0: aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (16880u << 16u); - aot_fpr_13 = std::bit_cast(aot_gpr_4); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); + ctx.fpr[13] = std::bit_cast(aot_gpr_4); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[13])) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -8180,19 +8181,19 @@ L_08A26FEC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A26FF4u) goto L_08A26FF4; AOT_REGCACHE_SYNC_OUT(); return; L_08A26FF4: - aot_gpr_4 = (aot_gpr_2 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[2] + static_cast(16)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_31 = (0x08A27004u); { const float fs = aot_fpr_20; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_20 = std::bit_cast(0x7FC00000u); else aot_fpr_20 = fs * ft; } if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A27004u) goto L_08A27004; AOT_REGCACHE_SYNC_OUT(); return; L_08A27004: - aot_gpr_4 = (aot_gpr_2 + static_cast(16)); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - { const float fs = ctx.fpr[22]; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } - aot_fpr_13 = aot_fpr_20 + aot_fpr_13; - aot_fpr_14 = std::bit_cast(0u); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 < aot_fpr_14)) ? 0x00800000u : 0u); + aot_gpr_4 = (ctx.gpr[2] + static_cast(16)); + ctx.fpr[13] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); + { const float fs = aot_fpr_22; const float ft = ctx.fpr[13]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[13] = std::bit_cast(0x7FC00000u); else ctx.fpr[13] = fs * ft; } + ctx.fpr[13] = aot_fpr_20 + ctx.fpr[13]; + ctx.fpr[14] = std::bit_cast(0u); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[13] < ctx.fpr[14])) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -8208,22 +8209,22 @@ L_08A27028: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A27034u) goto L_08A27034; AOT_REGCACHE_SYNC_OUT(); return; L_08A27034: - aot_gpr_4 = (aot_gpr_2 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[2] + static_cast(16)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); { const float fs = aot_fpr_20; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_20 = std::bit_cast(0x7FC00000u); else aot_fpr_20 = fs * ft; } aot_gpr_31 = (0x08A27048u); - ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(4))); + aot_fpr_22 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(4))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A27048u) goto L_08A27048; AOT_REGCACHE_SYNC_OUT(); return; L_08A27048: - aot_gpr_4 = (aot_gpr_2 + static_cast(16)); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - { const float fs = ctx.fpr[22]; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } - aot_fpr_13 = aot_fpr_20 + aot_fpr_13; + aot_gpr_4 = (ctx.gpr[2] + static_cast(16)); + ctx.fpr[13] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); + { const float fs = aot_fpr_22; const float ft = ctx.fpr[13]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[13] = std::bit_cast(0x7FC00000u); else ctx.fpr[13] = fs * ft; } + ctx.fpr[13] = aot_fpr_20 + ctx.fpr[13]; aot_gpr_4 = (16204u << 16u); aot_gpr_4 = (aot_gpr_4 | 52429u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 <= aot_fpr_12)) ? 0x00800000u : 0u); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[13] <= aot_fpr_12)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -8234,7 +8235,7 @@ L_08A27048: } L_08A27074: aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (ctx.gpr[19] | 0u); + ctx.gpr[5] = (ctx.gpr[19] | 0u); ctx.gpr[6] = (0u | 18u); ctx.gpr[7] = (0u | 2u); aot_gpr_31 = (0x08A2708Cu); @@ -8243,16 +8244,16 @@ L_08A27074: AOT_REGCACHE_SYNC_OUT(); return; L_08A2708C: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (0u | 1u); + ctx.gpr[2] = (0u | 1u); if (branch_taken) { - (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0137_entry, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; + (void)([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A28D00, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem, ctx.pc, aot_gpr_16, aot_gpr_17, aot_gpr_18, ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_29, aot_gpr_31, aot_fpr_20, aot_fpr_22, aot_fpr_24); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0137_entry, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08A27094; } L_08A27094: - aot_gpr_4 = (ctx.gpr[18] | 0u); + aot_gpr_4 = (aot_gpr_18 | 0u); { const bool branch_taken = aot_gpr_4 != 0u; - ctx.gpr[18] = (ctx.gpr[18] + static_cast(-1)); + aot_gpr_18 = (aot_gpr_18 + static_cast(-1)); if (branch_taken) { goto L_08A26EDC; } @@ -8260,9 +8261,9 @@ L_08A27094: } L_08A270A0: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (0u | 0u); + ctx.gpr[2] = (0u | 0u); if (branch_taken) { - (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0137_entry, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; + (void)([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A28D00, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem, ctx.pc, aot_gpr_16, aot_gpr_17, aot_gpr_18, ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_29, aot_gpr_31, aot_fpr_20, aot_fpr_22, aot_fpr_24); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0137_entry, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08A270A8; } @@ -8272,7 +8273,7 @@ L_08A270A8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A270B0u) goto L_08A270B0; AOT_REGCACHE_SYNC_OUT(); return; L_08A270B0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(2320))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(2320))); aot_gpr_4 = (static_cast(aot_gpr_4) < 1 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -8287,7 +8288,7 @@ L_08A270C0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A270C8u) goto L_08A270C8; AOT_REGCACHE_SYNC_OUT(); return; L_08A270C8: - { const bool branch_taken = aot_gpr_2 == 0u; + { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_08A270F0; @@ -8295,14 +8296,14 @@ L_08A270C8: goto L_08A270D0; } L_08A270D0: - ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); - ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); + aot_gpr_17 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); + aot_gpr_18 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); aot_gpr_31 = (0x08A270E0u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A270E0u) goto L_08A270E0; AOT_REGCACHE_SYNC_OUT(); return; L_08A270E0: - { const bool branch_taken = aot_gpr_2 != 0u; + { const bool branch_taken = ctx.gpr[2] != 0u; // nop if (branch_taken) { goto L_08A27100; @@ -8319,17 +8320,17 @@ L_08A270E8: } L_08A270F0: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (0u | 0u); + ctx.gpr[2] = (0u | 0u); if (branch_taken) { - (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0137_entry, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; + (void)([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A28D00, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem, ctx.pc, aot_gpr_16, aot_gpr_17, aot_gpr_18, ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_29, aot_gpr_31, aot_fpr_20, aot_fpr_22, aot_fpr_24); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0137_entry, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08A270F8; } L_08A270F8: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (0u | 0u); + ctx.gpr[2] = (0u | 0u); if (branch_taken) { - (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0137_entry, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; + (void)([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A28D00, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem, ctx.pc, aot_gpr_16, aot_gpr_17, aot_gpr_18, ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_29, aot_gpr_31, aot_fpr_20, aot_fpr_22, aot_fpr_24); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0137_entry, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08A27100; } @@ -8339,9 +8340,9 @@ L_08A27100: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A27108u) goto L_08A27108; AOT_REGCACHE_SYNC_OUT(); return; L_08A27108: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(852))); - aot_gpr_5 = (0u | 1u); - { const bool branch_taken = aot_gpr_4 == aot_gpr_5; + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(852))); + ctx.gpr[5] = (0u | 1u); + { const bool branch_taken = aot_gpr_4 == ctx.gpr[5]; // nop if (branch_taken) { goto L_08A27130; @@ -8354,9 +8355,9 @@ L_08A27118: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A27120u) goto L_08A27120; AOT_REGCACHE_SYNC_OUT(); return; L_08A27120: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(852))); - aot_gpr_5 = (0u | 2u); - { const bool branch_taken = aot_gpr_4 != aot_gpr_5; + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(852))); + ctx.gpr[5] = (0u | 2u); + { const bool branch_taken = aot_gpr_4 != ctx.gpr[5]; // nop if (branch_taken) { goto L_08A27144; @@ -8366,8 +8367,8 @@ L_08A27120: L_08A27130: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1984))); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(86)))))); - aot_gpr_5 = (0u | 278u); - { const bool branch_taken = aot_gpr_4 != aot_gpr_5; + ctx.gpr[5] = (0u | 278u); + { const bool branch_taken = aot_gpr_4 != ctx.gpr[5]; // nop if (branch_taken) { goto L_08A27158; @@ -8375,9 +8376,9 @@ L_08A27130: goto L_08A27144; } L_08A27144: - aot_gpr_4 = (ctx.gpr[18] | 0u); + aot_gpr_4 = (aot_gpr_18 | 0u); { const bool branch_taken = aot_gpr_4 != 0u; - ctx.gpr[18] = (ctx.gpr[18] + static_cast(-1)); + aot_gpr_18 = (aot_gpr_18 + static_cast(-1)); if (branch_taken) { goto L_08A27160; } @@ -8393,14 +8394,14 @@ L_08A27150: } L_08A27158: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (0u | 0u); + ctx.gpr[2] = (0u | 0u); if (branch_taken) { - (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0137_entry, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; + (void)([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A28D00, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem, ctx.pc, aot_gpr_16, aot_gpr_17, aot_gpr_18, ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_29, aot_gpr_31, aot_fpr_20, aot_fpr_22, aot_fpr_24); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0137_entry, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08A27160; } L_08A27160: - { const bool branch_taken = static_cast(ctx.gpr[18]) < 0; + { const bool branch_taken = static_cast(aot_gpr_18) < 0; // nop if (branch_taken) { goto L_08A27178; @@ -8408,10 +8409,10 @@ L_08A27160: goto L_08A27168; } L_08A27168: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); - aot_gpr_4 = (static_cast(ctx.gpr[18]) < static_cast(aot_gpr_4) ? 1u : 0u); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + aot_gpr_4 = (static_cast(aot_gpr_18) < static_cast(aot_gpr_4) ? 1u : 0u); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); goto L_08A27180; } goto L_08A27178; @@ -8424,11 +8425,11 @@ L_08A27178: goto L_08A27180; } L_08A27180: - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[18]); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_18); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0))); aot_gpr_4 = (aot_gpr_4 & 128u); if (aot_gpr_4 == 0u) { - ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); + ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); goto L_08A2719C; } goto L_08A27194; @@ -8441,10 +8442,10 @@ L_08A27194: goto L_08A2719C; } L_08A2719C: - aot_gpr_4 = (ctx.gpr[18] << 5u); - aot_gpr_5 = (0u + aot_gpr_4); + aot_gpr_4 = (aot_gpr_18 << 5u); + ctx.gpr[5] = (0u + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 << 6u); - aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[5] + aot_gpr_4); ctx.gpr[19] = (ctx.gpr[19] + aot_gpr_4); goto L_08A271B0; L_08A271B0: @@ -8470,7 +8471,7 @@ L_08A271C4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A271CCu) goto L_08A271CC; AOT_REGCACHE_SYNC_OUT(); return; L_08A271CC: - { const bool branch_taken = ctx.gpr[19] == aot_gpr_2; + { const bool branch_taken = ctx.gpr[19] == ctx.gpr[2]; // nop if (branch_taken) { goto L_08A273BC; @@ -8503,9 +8504,9 @@ L_08A271F0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 16u, 0x08960154u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A27208u) goto L_08A27208; AOT_REGCACHE_SYNC_OUT(); return; L_08A27208: - ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(212))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(4))); - ctx.fpr[22] = aot_fpr_13 - ctx.fpr[22]; + aot_fpr_22 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(212))); + ctx.fpr[13] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(4))); + aot_fpr_22 = ctx.fpr[13] - aot_fpr_22; ctx.gpr[22] = (aot_gpr_29 + static_cast(224)); aot_gpr_31 = (0x08A27220u); aot_gpr_4 = (ctx.gpr[22] | 0u); @@ -8549,8 +8550,8 @@ L_08A27220: aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (16880u << 16u); - aot_fpr_13 = std::bit_cast(aot_gpr_4); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); + ctx.fpr[13] = std::bit_cast(aot_gpr_4); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[13])) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -8565,19 +8566,19 @@ L_08A2725C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A27264u) goto L_08A27264; AOT_REGCACHE_SYNC_OUT(); return; L_08A27264: - aot_gpr_4 = (aot_gpr_2 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[2] + static_cast(16)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_31 = (0x08A27274u); { const float fs = aot_fpr_20; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_20 = std::bit_cast(0x7FC00000u); else aot_fpr_20 = fs * ft; } if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A27274u) goto L_08A27274; AOT_REGCACHE_SYNC_OUT(); return; L_08A27274: - aot_gpr_4 = (aot_gpr_2 + static_cast(16)); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - { const float fs = ctx.fpr[22]; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } - aot_fpr_13 = aot_fpr_20 + aot_fpr_13; - aot_fpr_14 = std::bit_cast(0u); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 < aot_fpr_14)) ? 0x00800000u : 0u); + aot_gpr_4 = (ctx.gpr[2] + static_cast(16)); + ctx.fpr[13] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); + { const float fs = aot_fpr_22; const float ft = ctx.fpr[13]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[13] = std::bit_cast(0x7FC00000u); else ctx.fpr[13] = fs * ft; } + ctx.fpr[13] = aot_fpr_20 + ctx.fpr[13]; + ctx.fpr[14] = std::bit_cast(0u); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[13] < ctx.fpr[14])) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -8593,22 +8594,22 @@ L_08A27298: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A272A4u) goto L_08A272A4; AOT_REGCACHE_SYNC_OUT(); return; L_08A272A4: - aot_gpr_4 = (aot_gpr_2 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[2] + static_cast(16)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); { const float fs = aot_fpr_20; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_20 = std::bit_cast(0x7FC00000u); else aot_fpr_20 = fs * ft; } aot_gpr_31 = (0x08A272B8u); - ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(4))); + aot_fpr_22 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(4))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A272B8u) goto L_08A272B8; AOT_REGCACHE_SYNC_OUT(); return; L_08A272B8: - aot_gpr_4 = (aot_gpr_2 + static_cast(16)); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - { const float fs = ctx.fpr[22]; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } - aot_fpr_13 = aot_fpr_20 + aot_fpr_13; + aot_gpr_4 = (ctx.gpr[2] + static_cast(16)); + ctx.fpr[13] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); + { const float fs = aot_fpr_22; const float ft = ctx.fpr[13]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[13] = std::bit_cast(0x7FC00000u); else ctx.fpr[13] = fs * ft; } + ctx.fpr[13] = aot_fpr_20 + ctx.fpr[13]; aot_gpr_4 = (16204u << 16u); aot_gpr_4 = (aot_gpr_4 | 52429u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 <= aot_fpr_12)) ? 0x00800000u : 0u); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[13] <= aot_fpr_12)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -8682,15 +8683,15 @@ L_08A272E4: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - ctx.gpr[17] = (aot_gpr_29 + static_cast(272)); + aot_gpr_17 = (aot_gpr_29 + static_cast(272)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); + const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - ctx.gpr[18] = (ctx.gpr[19] + static_cast(48)); - aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_18 = (ctx.gpr[19] + static_cast(48)); + aot_gpr_4 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08A27350u); - aot_gpr_5 = (ctx.gpr[18] | 0u); + ctx.gpr[5] = (aot_gpr_18 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A27350u) goto L_08A27350; AOT_REGCACHE_SYNC_OUT(); return; L_08A27350: @@ -8709,8 +8710,8 @@ L_08A27350: const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_4 = (ctx.gpr[18] | 0u); - aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_4 = (aot_gpr_18 | 0u); + ctx.gpr[5] = (aot_gpr_17 | 0u); ctx.gpr[6] = (0u | 1u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 0u); @@ -8723,7 +8724,7 @@ L_08A27350: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0036_entry, 36u, 527u, 0x088967ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A2738Cu) goto L_08A2738C; AOT_REGCACHE_SYNC_OUT(); return; L_08A2738C: - { const bool branch_taken = aot_gpr_2 != 0u; + { const bool branch_taken = ctx.gpr[2] != 0u; // nop if (branch_taken) { goto L_08A2739C; @@ -8732,15 +8733,15 @@ L_08A2738C: } L_08A27394: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (0u | 0u); + ctx.gpr[2] = (0u | 0u); if (branch_taken) { - (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0137_entry, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; + (void)([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A28D00, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem, ctx.pc, aot_gpr_16, aot_gpr_17, aot_gpr_18, ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_29, aot_gpr_31, aot_fpr_20, aot_fpr_22, aot_fpr_24); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0137_entry, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08A2739C; } L_08A2739C: aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (ctx.gpr[19] | 0u); + ctx.gpr[5] = (ctx.gpr[19] | 0u); ctx.gpr[6] = (0u | 14u); ctx.gpr[7] = (0u | 2u); aot_gpr_31 = (0x08A273B4u); @@ -8749,16 +8750,16 @@ L_08A2739C: AOT_REGCACHE_SYNC_OUT(); return; L_08A273B4: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (0u | 1u); + ctx.gpr[2] = (0u | 1u); if (branch_taken) { - (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0137_entry, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; + (void)([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A28D00, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem, ctx.pc, aot_gpr_16, aot_gpr_17, aot_gpr_18, ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_29, aot_gpr_31, aot_fpr_20, aot_fpr_22, aot_fpr_24); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0137_entry, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08A273BC; } L_08A273BC: - aot_gpr_4 = (ctx.gpr[18] | 0u); + aot_gpr_4 = (aot_gpr_18 | 0u); { const bool branch_taken = aot_gpr_4 != 0u; - ctx.gpr[18] = (ctx.gpr[18] + static_cast(-1)); + aot_gpr_18 = (aot_gpr_18 + static_cast(-1)); if (branch_taken) { goto L_08A27160; } @@ -8766,20 +8767,20 @@ L_08A273BC: } L_08A273C8: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (0u | 0u); + ctx.gpr[2] = (0u | 0u); if (branch_taken) { - (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0137_entry, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; + (void)([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A28D00, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem, ctx.pc, aot_gpr_16, aot_gpr_17, aot_gpr_18, ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_29, aot_gpr_31, aot_fpr_20, aot_fpr_22, aot_fpr_24); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0137_entry, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08A273D0; } L_08A273D0: - ctx.gpr[17] = (aot_gpr_29 + static_cast(96)); + aot_gpr_17 = (aot_gpr_29 + static_cast(96)); aot_gpr_31 = (0x08A273DCu); - aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_4 = (aot_gpr_17 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 16u, 0x08960154u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A273DCu) goto L_08A273DC; AOT_REGCACHE_SYNC_OUT(); return; L_08A273DC: - { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -8798,7 +8799,7 @@ L_08A273DC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 22u, 0x08960240u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A273F0u) goto L_08A273F0; AOT_REGCACHE_SYNC_OUT(); return; L_08A273F0: - { const std::uint32_t vfpu_address = aot_gpr_2 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[2] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -8825,8 +8826,8 @@ L_08A273F0: ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 0u, 0u, 3u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); - aot_fpr_13 = std::bit_cast(aot_gpr_4); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 <= aot_fpr_12)) ? 0x00800000u : 0u); + ctx.fpr[13] = std::bit_cast(aot_gpr_4); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[13] <= aot_fpr_12)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -8870,7 +8871,7 @@ L_08A27450: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), std::bit_cast(aot_fpr_12)); goto L_08A2745C; L_08A2745C: - ctx.gpr[17] = (aot_gpr_29 + static_cast(16)); + aot_gpr_17 = (aot_gpr_29 + static_cast(16)); aot_gpr_4 = (16752u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); @@ -8886,14 +8887,14 @@ L_08A2745C: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); - ctx.gpr[18] = (aot_gpr_29 + static_cast(96)); + aot_gpr_18 = (aot_gpr_29 + static_cast(96)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); + const std::uint32_t vfpu_address = aot_gpr_18 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_4 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08A27490u); - aot_gpr_5 = (ctx.gpr[18] | 0u); + ctx.gpr[5] = (aot_gpr_18 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A27490u) goto L_08A27490; AOT_REGCACHE_SYNC_OUT(); return; L_08A27490: @@ -8905,21 +8906,21 @@ L_08A27490: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(100), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(104), std::bit_cast(aot_fpr_12)); - aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_4 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08A274BCu); - aot_gpr_5 = (ctx.gpr[18] | 0u); + ctx.gpr[5] = (aot_gpr_18 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A274BCu) goto L_08A274BC; AOT_REGCACHE_SYNC_OUT(); return; L_08A274BC: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); aot_fpr_12 = std::bit_cast(aot_run_words[0]); - aot_fpr_13 = std::bit_cast(aot_run_words[1]); - aot_fpr_14 = std::bit_cast(aot_run_words[2]); + ctx.fpr[13] = std::bit_cast(aot_run_words[1]); + ctx.fpr[14] = std::bit_cast(aot_run_words[2]); } aot_gpr_4 = (16544u << 16u); ctx.fpr[15] = std::bit_cast(aot_gpr_4); - aot_fpr_14 = aot_fpr_14 + ctx.fpr[15]; + ctx.fpr[14] = ctx.fpr[14] + ctx.fpr[15]; aot_gpr_31 = (0x08A274DCu); aot_gpr_4 = (aot_gpr_29 + static_cast(48)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 519u, 0x08893460u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A274DCu) goto L_08A274DC; @@ -8936,8 +8937,8 @@ L_08A274DC: } L_08A274EC: aot_gpr_4 = (16128u << 16u); - aot_fpr_13 = std::bit_cast(aot_gpr_4); - aot_fpr_12 = aot_fpr_12 + aot_fpr_13; + ctx.fpr[13] = std::bit_cast(aot_gpr_4); + aot_fpr_12 = aot_fpr_12 + ctx.fpr[13]; { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), std::bit_cast(aot_fpr_12)); if (branch_taken) { @@ -8949,12 +8950,12 @@ L_08A27500: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); aot_fpr_12 = std::bit_cast(aot_run_words[0]); - aot_fpr_13 = std::bit_cast(aot_run_words[1]); - aot_fpr_14 = std::bit_cast(aot_run_words[2]); + ctx.fpr[13] = std::bit_cast(aot_run_words[1]); + ctx.fpr[14] = std::bit_cast(aot_run_words[2]); } aot_gpr_4 = (16544u << 16u); ctx.fpr[15] = std::bit_cast(aot_gpr_4); - aot_fpr_14 = aot_fpr_14 - ctx.fpr[15]; + ctx.fpr[14] = ctx.fpr[14] - ctx.fpr[15]; aot_gpr_31 = (0x08A27520u); aot_gpr_4 = (aot_gpr_29 + static_cast(48)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 528u, 0x088934F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A27520u) goto L_08A27520; @@ -8971,12 +8972,12 @@ L_08A27520: } L_08A27530: aot_gpr_4 = (16128u << 16u); - aot_fpr_13 = std::bit_cast(aot_gpr_4); - aot_fpr_12 = aot_fpr_12 + aot_fpr_13; + ctx.fpr[13] = std::bit_cast(aot_gpr_4); + aot_fpr_12 = aot_fpr_12 + ctx.fpr[13]; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), std::bit_cast(aot_fpr_12)); goto L_08A27540; L_08A27540: - aot_gpr_5 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[5] = (aot_gpr_29 + static_cast(16)); aot_fpr_12 = std::bit_cast(0u); { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_12)}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(96), aot_run_words); } @@ -8992,7 +8993,7 @@ L_08A27560: AOT_REGCACHE_SYNC_OUT(); return; L_08A27568: aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_2 | 0u); + ctx.gpr[5] = (ctx.gpr[2] | 0u); ctx.gpr[6] = (0u | 15u); ctx.gpr[7] = (0u | 2u); aot_gpr_31 = (0x08A27580u); @@ -9001,20 +9002,20 @@ L_08A27568: AOT_REGCACHE_SYNC_OUT(); return; L_08A27580: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (0u | 1u); + ctx.gpr[2] = (0u | 1u); if (branch_taken) { - (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0137_entry, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; + (void)([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A28D00, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem, ctx.pc, aot_gpr_16, aot_gpr_17, aot_gpr_18, ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_29, aot_gpr_31, aot_fpr_20, aot_fpr_22, aot_fpr_24); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0137_entry, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08A27588; } L_08A27588: - ctx.gpr[17] = (aot_gpr_29 + static_cast(96)); + aot_gpr_17 = (aot_gpr_29 + static_cast(96)); aot_gpr_31 = (0x08A27594u); - aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_4 = (aot_gpr_17 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 16u, 0x08960154u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A27594u) goto L_08A27594; AOT_REGCACHE_SYNC_OUT(); return; L_08A27594: - { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -9033,7 +9034,7 @@ L_08A27594: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 22u, 0x08960240u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A275A8u) goto L_08A275A8; AOT_REGCACHE_SYNC_OUT(); return; L_08A275A8: - { const std::uint32_t vfpu_address = aot_gpr_2 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[2] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -9060,8 +9061,8 @@ L_08A275A8: ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 0u, 0u, 3u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); - aot_fpr_13 = std::bit_cast(aot_gpr_4); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 <= aot_fpr_12)) ? 0x00800000u : 0u); + ctx.fpr[13] = std::bit_cast(aot_gpr_4); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[13] <= aot_fpr_12)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -9105,7 +9106,7 @@ L_08A27608: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), std::bit_cast(aot_fpr_12)); goto L_08A27614; L_08A27614: - ctx.gpr[17] = (aot_gpr_29 + static_cast(16)); + aot_gpr_17 = (aot_gpr_29 + static_cast(16)); aot_gpr_4 = (16544u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); @@ -9121,14 +9122,14 @@ L_08A27614: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); - ctx.gpr[18] = (aot_gpr_29 + static_cast(96)); + aot_gpr_18 = (aot_gpr_29 + static_cast(96)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); + const std::uint32_t vfpu_address = aot_gpr_18 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_4 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08A27648u); - aot_gpr_5 = (ctx.gpr[18] | 0u); + ctx.gpr[5] = (aot_gpr_18 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A27648u) goto L_08A27648; AOT_REGCACHE_SYNC_OUT(); return; L_08A27648: @@ -9141,19 +9142,19 @@ L_08A27648: aot_gpr_4 = (16128u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(104), std::bit_cast(aot_fpr_12)); - aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_4 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08A27678u); - aot_gpr_5 = (ctx.gpr[18] | 0u); + ctx.gpr[5] = (aot_gpr_18 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A27678u) goto L_08A27678; AOT_REGCACHE_SYNC_OUT(); return; L_08A27678: aot_gpr_31 = (0x08A27680u); - aot_gpr_4 = (ctx.gpr[18] | 0u); + aot_gpr_4 = (aot_gpr_18 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 16u, 0x08960154u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A27680u) goto L_08A27680; AOT_REGCACHE_SYNC_OUT(); return; L_08A27680: - aot_gpr_4 = (ctx.gpr[18] | 0u); - aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_4 = (aot_gpr_18 | 0u); + ctx.gpr[5] = (aot_gpr_17 | 0u); ctx.gpr[6] = (0u | 1u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 0u); @@ -9166,7 +9167,7 @@ L_08A27680: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0036_entry, 36u, 527u, 0x088967ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A276ACu) goto L_08A276AC; AOT_REGCACHE_SYNC_OUT(); return; L_08A276AC: - { const bool branch_taken = aot_gpr_2 != 0u; + { const bool branch_taken = ctx.gpr[2] != 0u; // nop if (branch_taken) { goto L_08A276BC; @@ -9175,14 +9176,14 @@ L_08A276AC: } L_08A276B4: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (0u | 0u); + ctx.gpr[2] = (0u | 0u); if (branch_taken) { - (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0137_entry, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; + (void)([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A28D00, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem, ctx.pc, aot_gpr_16, aot_gpr_17, aot_gpr_18, ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_29, aot_gpr_31, aot_fpr_20, aot_fpr_22, aot_fpr_24); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0137_entry, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08A276BC; } L_08A276BC: - aot_gpr_5 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[5] = (aot_gpr_29 + static_cast(16)); aot_fpr_12 = std::bit_cast(0u); { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_12)}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(96), aot_run_words); } @@ -9198,7 +9199,7 @@ L_08A276DC: AOT_REGCACHE_SYNC_OUT(); return; L_08A276E4: aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_2 | 0u); + ctx.gpr[5] = (ctx.gpr[2] | 0u); ctx.gpr[6] = (0u | 15u); ctx.gpr[7] = (0u | 2u); aot_gpr_31 = (0x08A276FCu); @@ -9207,20 +9208,20 @@ L_08A276E4: AOT_REGCACHE_SYNC_OUT(); return; L_08A276FC: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (0u | 1u); + ctx.gpr[2] = (0u | 1u); if (branch_taken) { - (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0137_entry, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; + (void)([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A28D00, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem, ctx.pc, aot_gpr_16, aot_gpr_17, aot_gpr_18, ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_29, aot_gpr_31, aot_fpr_20, aot_fpr_22, aot_fpr_24); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0137_entry, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08A27704; } L_08A27704: - ctx.gpr[17] = (aot_gpr_29 + static_cast(96)); + aot_gpr_17 = (aot_gpr_29 + static_cast(96)); aot_gpr_31 = (0x08A27710u); - aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_4 = (aot_gpr_17 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 16u, 0x08960154u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A27710u) goto L_08A27710; AOT_REGCACHE_SYNC_OUT(); return; L_08A27710: - { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -9239,7 +9240,7 @@ L_08A27710: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 22u, 0x08960240u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A27724u) goto L_08A27724; AOT_REGCACHE_SYNC_OUT(); return; L_08A27724: - { const std::uint32_t vfpu_address = aot_gpr_2 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[2] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -9266,8 +9267,8 @@ L_08A27724: ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 0u, 0u, 3u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); - aot_fpr_13 = std::bit_cast(aot_gpr_4); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 <= aot_fpr_12)) ? 0x00800000u : 0u); + ctx.fpr[13] = std::bit_cast(aot_gpr_4); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[13] <= aot_fpr_12)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -9311,7 +9312,7 @@ L_08A27784: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), std::bit_cast(aot_fpr_12)); goto L_08A27790; L_08A27790: - ctx.gpr[17] = (aot_gpr_29 + static_cast(16)); + aot_gpr_17 = (aot_gpr_29 + static_cast(16)); aot_gpr_4 = (16800u << 16u); aot_fpr_20 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (std::bit_cast(aot_fpr_20)); @@ -9327,14 +9328,14 @@ L_08A27790: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); - ctx.gpr[18] = (aot_gpr_29 + static_cast(96)); + aot_gpr_18 = (aot_gpr_29 + static_cast(96)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); + const std::uint32_t vfpu_address = aot_gpr_18 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_4 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08A277C4u); - aot_gpr_5 = (ctx.gpr[18] | 0u); + ctx.gpr[5] = (aot_gpr_18 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A277C4u) goto L_08A277C4; AOT_REGCACHE_SYNC_OUT(); return; L_08A277C4: @@ -9345,19 +9346,19 @@ L_08A277C4: aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(100), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(104), std::bit_cast(aot_fpr_20)); - aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_4 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08A277ECu); - aot_gpr_5 = (ctx.gpr[18] | 0u); + ctx.gpr[5] = (aot_gpr_18 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A277ECu) goto L_08A277EC; AOT_REGCACHE_SYNC_OUT(); return; L_08A277EC: aot_gpr_31 = (0x08A277F4u); - aot_gpr_4 = (ctx.gpr[18] | 0u); + aot_gpr_4 = (aot_gpr_18 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 16u, 0x08960154u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A277F4u) goto L_08A277F4; AOT_REGCACHE_SYNC_OUT(); return; L_08A277F4: - aot_gpr_4 = (ctx.gpr[18] | 0u); - aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_4 = (aot_gpr_18 | 0u); + ctx.gpr[5] = (aot_gpr_17 | 0u); ctx.gpr[6] = (0u | 1u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 0u); @@ -9370,7 +9371,7 @@ L_08A277F4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0036_entry, 36u, 527u, 0x088967ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A27820u) goto L_08A27820; AOT_REGCACHE_SYNC_OUT(); return; L_08A27820: - { const bool branch_taken = aot_gpr_2 != 0u; + { const bool branch_taken = ctx.gpr[2] != 0u; // nop if (branch_taken) { goto L_08A27830; @@ -9379,14 +9380,14 @@ L_08A27820: } L_08A27828: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (0u | 0u); + ctx.gpr[2] = (0u | 0u); if (branch_taken) { - (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0137_entry, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; + (void)([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A28D00, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem, ctx.pc, aot_gpr_16, aot_gpr_17, aot_gpr_18, ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_29, aot_gpr_31, aot_fpr_20, aot_fpr_22, aot_fpr_24); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0137_entry, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08A27830; } L_08A27830: - aot_gpr_5 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[5] = (aot_gpr_29 + static_cast(16)); aot_fpr_12 = std::bit_cast(0u); { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_12)}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(96), aot_run_words); } @@ -9402,7 +9403,7 @@ L_08A27850: AOT_REGCACHE_SYNC_OUT(); return; L_08A27858: aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_2 | 0u); + ctx.gpr[5] = (ctx.gpr[2] | 0u); ctx.gpr[6] = (0u | 15u); ctx.gpr[7] = (0u | 2u); aot_gpr_31 = (0x08A27870u); @@ -9411,20 +9412,20 @@ L_08A27858: AOT_REGCACHE_SYNC_OUT(); return; L_08A27870: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (0u | 1u); + ctx.gpr[2] = (0u | 1u); if (branch_taken) { - (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0137_entry, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; + (void)([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A28D00, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem, ctx.pc, aot_gpr_16, aot_gpr_17, aot_gpr_18, ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_29, aot_gpr_31, aot_fpr_20, aot_fpr_22, aot_fpr_24); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0137_entry, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08A27878; } L_08A27878: - ctx.gpr[17] = (aot_gpr_29 + static_cast(96)); + aot_gpr_17 = (aot_gpr_29 + static_cast(96)); aot_gpr_31 = (0x08A27884u); - aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_4 = (aot_gpr_17 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 16u, 0x08960154u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A27884u) goto L_08A27884; AOT_REGCACHE_SYNC_OUT(); return; L_08A27884: - { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -9443,7 +9444,7 @@ L_08A27884: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 22u, 0x08960240u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A27898u) goto L_08A27898; AOT_REGCACHE_SYNC_OUT(); return; L_08A27898: - { const std::uint32_t vfpu_address = aot_gpr_2 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[2] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -9470,8 +9471,8 @@ L_08A27898: ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 0u, 0u, 3u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); - aot_fpr_13 = std::bit_cast(aot_gpr_4); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 <= aot_fpr_12)) ? 0x00800000u : 0u); + ctx.fpr[13] = std::bit_cast(aot_gpr_4); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[13] <= aot_fpr_12)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -9515,7 +9516,7 @@ L_08A278F8: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), std::bit_cast(aot_fpr_12)); goto L_08A27904; L_08A27904: - ctx.gpr[17] = (aot_gpr_29 + static_cast(16)); + aot_gpr_17 = (aot_gpr_29 + static_cast(16)); aot_gpr_4 = (16544u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); @@ -9531,14 +9532,14 @@ L_08A27904: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); - ctx.gpr[18] = (aot_gpr_29 + static_cast(96)); + aot_gpr_18 = (aot_gpr_29 + static_cast(96)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); + const std::uint32_t vfpu_address = aot_gpr_18 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_4 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08A27938u); - aot_gpr_5 = (ctx.gpr[18] | 0u); + ctx.gpr[5] = (aot_gpr_18 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A27938u) goto L_08A27938; AOT_REGCACHE_SYNC_OUT(); return; L_08A27938: @@ -9551,19 +9552,19 @@ L_08A27938: aot_gpr_4 = (16680u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(104), std::bit_cast(aot_fpr_12)); - aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_4 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08A27968u); - aot_gpr_5 = (ctx.gpr[18] | 0u); + ctx.gpr[5] = (aot_gpr_18 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A27968u) goto L_08A27968; AOT_REGCACHE_SYNC_OUT(); return; L_08A27968: aot_gpr_31 = (0x08A27970u); - aot_gpr_4 = (ctx.gpr[18] | 0u); + aot_gpr_4 = (aot_gpr_18 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 16u, 0x08960154u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A27970u) goto L_08A27970; AOT_REGCACHE_SYNC_OUT(); return; L_08A27970: - aot_gpr_4 = (ctx.gpr[18] | 0u); - aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_4 = (aot_gpr_18 | 0u); + ctx.gpr[5] = (aot_gpr_17 | 0u); ctx.gpr[6] = (0u | 1u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 0u); @@ -9576,7 +9577,7 @@ L_08A27970: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0036_entry, 36u, 527u, 0x088967ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A2799Cu) goto L_08A2799C; AOT_REGCACHE_SYNC_OUT(); return; L_08A2799C: - { const bool branch_taken = aot_gpr_2 != 0u; + { const bool branch_taken = ctx.gpr[2] != 0u; // nop if (branch_taken) { goto L_08A279AC; @@ -9585,14 +9586,14 @@ L_08A2799C: } L_08A279A4: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (0u | 0u); + ctx.gpr[2] = (0u | 0u); if (branch_taken) { - (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0137_entry, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; + (void)([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A28D00, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem, ctx.pc, aot_gpr_16, aot_gpr_17, aot_gpr_18, ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_29, aot_gpr_31, aot_fpr_20, aot_fpr_22, aot_fpr_24); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0137_entry, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08A279AC; } L_08A279AC: - aot_gpr_5 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[5] = (aot_gpr_29 + static_cast(16)); aot_fpr_12 = std::bit_cast(0u); { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_12)}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(96), aot_run_words); } @@ -9608,7 +9609,7 @@ L_08A279CC: AOT_REGCACHE_SYNC_OUT(); return; L_08A279D4: aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_2 | 0u); + ctx.gpr[5] = (ctx.gpr[2] | 0u); ctx.gpr[6] = (0u | 15u); ctx.gpr[7] = (0u | 2u); aot_gpr_31 = (0x08A279ECu); @@ -9617,9 +9618,9 @@ L_08A279D4: AOT_REGCACHE_SYNC_OUT(); return; L_08A279EC: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (0u | 1u); + ctx.gpr[2] = (0u | 1u); if (branch_taken) { - (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0137_entry, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; + (void)([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A28D00, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem, ctx.pc, aot_gpr_16, aot_gpr_17, aot_gpr_18, ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_29, aot_gpr_31, aot_fpr_20, aot_fpr_22, aot_fpr_24); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0137_entry, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08A279F4; } @@ -9630,7 +9631,7 @@ L_08A279F4: AOT_REGCACHE_SYNC_OUT(); return; L_08A279FC: aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_2 | 0u); + ctx.gpr[5] = (ctx.gpr[2] | 0u); ctx.gpr[6] = (0u | 1u); ctx.gpr[7] = (0u | 2u); aot_gpr_31 = (0x08A27A14u); @@ -9639,9 +9640,9 @@ L_08A279FC: AOT_REGCACHE_SYNC_OUT(); return; L_08A27A14: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (0u | 1u); + ctx.gpr[2] = (0u | 1u); if (branch_taken) { - (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0137_entry, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; + (void)([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A28D00, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem, ctx.pc, aot_gpr_16, aot_gpr_17, aot_gpr_18, ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_29, aot_gpr_31, aot_fpr_20, aot_fpr_22, aot_fpr_24); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0137_entry, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08A27A1C; } @@ -9651,8 +9652,8 @@ L_08A27A1C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A27A24u) goto L_08A27A24; AOT_REGCACHE_SYNC_OUT(); return; L_08A27A24: - ctx.gpr[17] = (aot_gpr_2 | 0u); - { const bool branch_taken = ctx.gpr[17] == 0u; + aot_gpr_17 = (ctx.gpr[2] | 0u); + { const bool branch_taken = aot_gpr_17 == 0u; // nop if (branch_taken) { goto L_08A27B38; @@ -9677,7 +9678,7 @@ L_08A27A38: aot_gpr_4 = (aot_gpr_4 | 39322u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(328), std::bit_cast(aot_fpr_12)); - { const std::uint32_t vfpu_address = aot_gpr_2 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[2] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -9686,7 +9687,7 @@ L_08A27A38: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<4u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = aot_gpr_2 + static_cast(16); + { const std::uint32_t vfpu_address = ctx.gpr[2] + static_cast(16); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -9695,7 +9696,7 @@ L_08A27A38: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<5u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = aot_gpr_2 + static_cast(32); + { const std::uint32_t vfpu_address = ctx.gpr[2] + static_cast(32); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -9729,9 +9730,9 @@ L_08A27A38: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - ctx.gpr[18] = (aot_gpr_29 + static_cast(336)); + aot_gpr_18 = (aot_gpr_29 + static_cast(336)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); + const std::uint32_t vfpu_address = aot_gpr_18 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_31 = (0x08A27A9Cu); @@ -9739,9 +9740,9 @@ L_08A27A38: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A27A9Cu) goto L_08A27A9C; AOT_REGCACHE_SYNC_OUT(); return; L_08A27A9C: - aot_gpr_5 = (aot_gpr_2 + static_cast(48)); + ctx.gpr[5] = (ctx.gpr[2] + static_cast(48)); aot_gpr_31 = (0x08A27AA8u); - aot_gpr_4 = (ctx.gpr[18] | 0u); + aot_gpr_4 = (aot_gpr_18 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A27AA8u) goto L_08A27AA8; AOT_REGCACHE_SYNC_OUT(); return; L_08A27AA8: @@ -9750,7 +9751,7 @@ L_08A27AA8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A27AB0u) goto L_08A27AB0; AOT_REGCACHE_SYNC_OUT(); return; L_08A27AB0: - aot_gpr_4 = (aot_gpr_2 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[2] + static_cast(16)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -9765,9 +9766,9 @@ L_08A27AB0: const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(852))); - aot_gpr_5 = (0u | 1u); - { const bool branch_taken = aot_gpr_4 == aot_gpr_5; + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(852))); + ctx.gpr[5] = (0u | 1u); + { const bool branch_taken = aot_gpr_4 == ctx.gpr[5]; // nop if (branch_taken) { goto L_08A27B18; @@ -9775,17 +9776,17 @@ L_08A27AB0: goto L_08A27AD0; } L_08A27AD0: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(852))); - aot_gpr_5 = (0u | 2u); - { const bool branch_taken = aot_gpr_4 == aot_gpr_5; - aot_gpr_4 = (ctx.gpr[17] + static_cast(48)); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(852))); + ctx.gpr[5] = (0u | 2u); + { const bool branch_taken = aot_gpr_4 == ctx.gpr[5]; + aot_gpr_4 = (aot_gpr_17 + static_cast(48)); if (branch_taken) { goto L_08A27B18; } goto L_08A27AE0; } L_08A27AE0: - aot_gpr_5 = (aot_gpr_29 + static_cast(336)); + ctx.gpr[5] = (aot_gpr_29 + static_cast(336)); ctx.gpr[6] = (0u | 1u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 0u); @@ -9798,7 +9799,7 @@ L_08A27AE0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0036_entry, 36u, 527u, 0x088967ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A27B08u) goto L_08A27B08; AOT_REGCACHE_SYNC_OUT(); return; L_08A27B08: - { const bool branch_taken = aot_gpr_2 != 0u; + { const bool branch_taken = ctx.gpr[2] != 0u; // nop if (branch_taken) { goto L_08A27B18; @@ -9807,15 +9808,15 @@ L_08A27B08: } L_08A27B10: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (0u | 0u); + ctx.gpr[2] = (0u | 0u); if (branch_taken) { - (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0137_entry, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; + (void)([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A28D00, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem, ctx.pc, aot_gpr_16, aot_gpr_17, aot_gpr_18, ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_29, aot_gpr_31, aot_fpr_20, aot_fpr_22, aot_fpr_24); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0137_entry, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08A27B18; } L_08A27B18: aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (ctx.gpr[17] | 0u); + ctx.gpr[5] = (aot_gpr_17 | 0u); ctx.gpr[6] = (0u | 14u); ctx.gpr[7] = (0u | 2u); aot_gpr_31 = (0x08A27B30u); @@ -9824,17 +9825,17 @@ L_08A27B18: AOT_REGCACHE_SYNC_OUT(); return; L_08A27B30: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (0u | 1u); + ctx.gpr[2] = (0u | 1u); if (branch_taken) { - (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0137_entry, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; + (void)([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A28D00, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem, ctx.pc, aot_gpr_16, aot_gpr_17, aot_gpr_18, ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_29, aot_gpr_31, aot_fpr_20, aot_fpr_22, aot_fpr_24); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0137_entry, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08A27B38; } L_08A27B38: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (0u | 0u); + ctx.gpr[2] = (0u | 0u); if (branch_taken) { - (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0137_entry, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; + (void)([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A28D00, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem, ctx.pc, aot_gpr_16, aot_gpr_17, aot_gpr_18, ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_29, aot_gpr_31, aot_fpr_20, aot_fpr_22, aot_fpr_24); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0137_entry, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08A27B40; } @@ -9844,7 +9845,7 @@ L_08A27B40: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A27B48u) goto L_08A27B48; AOT_REGCACHE_SYNC_OUT(); return; L_08A27B48: - { const bool branch_taken = aot_gpr_2 == 0u; + { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_08A27DD4; @@ -9852,13 +9853,13 @@ L_08A27B48: goto L_08A27B50; } L_08A27B50: - ctx.gpr[17] = (aot_gpr_29 + static_cast(368)); + aot_gpr_17 = (aot_gpr_29 + static_cast(368)); aot_gpr_31 = (0x08A27B5Cu); - aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_4 = (aot_gpr_17 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 16u, 0x08960154u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A27B5Cu) goto L_08A27B5C; AOT_REGCACHE_SYNC_OUT(); return; L_08A27B5C: - { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -9877,7 +9878,7 @@ L_08A27B5C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 22u, 0x08960240u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A27B70u) goto L_08A27B70; AOT_REGCACHE_SYNC_OUT(); return; L_08A27B70: - { const std::uint32_t vfpu_address = aot_gpr_2 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[2] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -9904,8 +9905,8 @@ L_08A27B70: ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 0u, 0u, 3u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); - aot_fpr_13 = std::bit_cast(aot_gpr_4); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 <= aot_fpr_12)) ? 0x00800000u : 0u); + ctx.fpr[13] = std::bit_cast(aot_gpr_4); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[13] <= aot_fpr_12)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -9950,12 +9951,12 @@ L_08A27BD0: goto L_08A27BDC; L_08A27BDC: aot_gpr_4 = (aot_gpr_29 + static_cast(16)); - aot_gpr_5 = (16904u << 16u); - aot_fpr_12 = std::bit_cast(aot_gpr_5); - aot_gpr_5 = (std::bit_cast(aot_fpr_12)); - ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_5); - aot_gpr_5 = (aot_gpr_29 + static_cast(32)); - { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); + ctx.gpr[5] = (16904u << 16u); + aot_fpr_12 = std::bit_cast(ctx.gpr[5]); + ctx.gpr[5] = (std::bit_cast(aot_fpr_12)); + ctx.set_vfpu_scalar_bits_ct<28u>(ctx.gpr[5]); + ctx.gpr[5] = (aot_gpr_29 + static_cast(32)); + { const std::uint32_t vfpu_address = ctx.gpr[5] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -9965,34 +9966,34 @@ L_08A27BDC: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); - ctx.gpr[17] = (aot_gpr_29 + static_cast(368)); + aot_gpr_17 = (aot_gpr_29 + static_cast(368)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); + const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_31 = (0x08A27C0Cu); - aot_gpr_5 = (ctx.gpr[17] | 0u); + ctx.gpr[5] = (aot_gpr_17 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A27C0Cu) goto L_08A27C0C; AOT_REGCACHE_SYNC_OUT(); return; L_08A27C0C: aot_gpr_31 = (0x08A27C14u); - aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_4 = (aot_gpr_17 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 16u, 0x08960154u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A27C14u) goto L_08A27C14; AOT_REGCACHE_SYNC_OUT(); return; L_08A27C14: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(376))); aot_gpr_4 = (16128u << 16u); - aot_fpr_13 = std::bit_cast(aot_gpr_4); - aot_fpr_12 = aot_fpr_12 + aot_fpr_13; + ctx.fpr[13] = std::bit_cast(aot_gpr_4); + aot_fpr_12 = aot_fpr_12 + ctx.fpr[13]; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08A27C30u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A27C30u) goto L_08A27C30; AOT_REGCACHE_SYNC_OUT(); return; L_08A27C30: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(852))); - aot_gpr_5 = (0u | 1u); - { const bool branch_taken = aot_gpr_4 == aot_gpr_5; + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(852))); + ctx.gpr[5] = (0u | 1u); + { const bool branch_taken = aot_gpr_4 == ctx.gpr[5]; // nop if (branch_taken) { goto L_08A27C58; @@ -10005,9 +10006,9 @@ L_08A27C40: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A27C48u) goto L_08A27C48; AOT_REGCACHE_SYNC_OUT(); return; L_08A27C48: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(852))); - aot_gpr_5 = (0u | 2u); - { const bool branch_taken = aot_gpr_4 != aot_gpr_5; + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(852))); + ctx.gpr[5] = (0u | 2u); + { const bool branch_taken = aot_gpr_4 != ctx.gpr[5]; // nop if (branch_taken) { goto L_08A27C6C; @@ -10017,19 +10018,19 @@ L_08A27C48: L_08A27C58: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); aot_gpr_4 = (16256u << 16u); - aot_fpr_13 = std::bit_cast(aot_gpr_4); - aot_fpr_12 = aot_fpr_12 + aot_fpr_13; + ctx.fpr[13] = std::bit_cast(aot_gpr_4); + aot_fpr_12 = aot_fpr_12 + ctx.fpr[13]; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), std::bit_cast(aot_fpr_12)); goto L_08A27C6C; L_08A27C6C: - ctx.gpr[17] = (aot_gpr_29 + static_cast(368)); + aot_gpr_17 = (aot_gpr_29 + static_cast(368)); aot_gpr_31 = (0x08A27C78u); - aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_4 = (aot_gpr_17 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 16u, 0x08960154u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A27C78u) goto L_08A27C78; AOT_REGCACHE_SYNC_OUT(); return; L_08A27C78: - aot_gpr_5 = (aot_gpr_29 + static_cast(16)); - aot_gpr_4 = (ctx.gpr[17] | 0u); + ctx.gpr[5] = (aot_gpr_29 + static_cast(16)); + aot_gpr_4 = (aot_gpr_17 | 0u); ctx.gpr[6] = (0u | 1u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 0u); @@ -10042,7 +10043,7 @@ L_08A27C78: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0036_entry, 36u, 527u, 0x088967ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A27CA4u) goto L_08A27CA4; AOT_REGCACHE_SYNC_OUT(); return; L_08A27CA4: - { const bool branch_taken = aot_gpr_2 == 0u; + { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_08A27D2C; @@ -10050,13 +10051,13 @@ L_08A27CA4: goto L_08A27CAC; } L_08A27CAC: - ctx.gpr[17] = (aot_gpr_29 + static_cast(368)); + aot_gpr_17 = (aot_gpr_29 + static_cast(368)); aot_gpr_31 = (0x08A27CB8u); - aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_4 = (aot_gpr_17 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 16u, 0x08960154u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A27CB8u) goto L_08A27CB8; AOT_REGCACHE_SYNC_OUT(); return; L_08A27CB8: - { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -10065,8 +10066,8 @@ L_08A27CB8: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - ctx.gpr[17] = (aot_gpr_29 + static_cast(16)); - { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); + aot_gpr_17 = (aot_gpr_29 + static_cast(16)); + { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -10076,9 +10077,9 @@ L_08A27CB8: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>(); - ctx.gpr[18] = (aot_gpr_29 + static_cast(416)); + aot_gpr_18 = (aot_gpr_29 + static_cast(416)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); + const std::uint32_t vfpu_address = aot_gpr_18 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } ctx.gpr[19] = (aot_gpr_29 + static_cast(64)); @@ -10097,7 +10098,7 @@ L_08A27CE0: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -10107,9 +10108,9 @@ L_08A27CE0: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>(); - aot_gpr_5 = (aot_gpr_29 + static_cast(384)); + ctx.gpr[5] = (aot_gpr_29 + static_cast(384)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[5] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_31 = (0x08A27CFCu); @@ -10120,7 +10121,7 @@ L_08A27CFC: aot_fpr_12 = std::bit_cast(0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(72), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08A27D0Cu); - aot_gpr_4 = (ctx.gpr[18] | 0u); + aot_gpr_4 = (aot_gpr_18 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 435u, 0x08A1AC7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A27D0Cu) goto L_08A27D0C; AOT_REGCACHE_SYNC_OUT(); return; L_08A27D0C: @@ -10145,9 +10146,9 @@ L_08A27D24: } L_08A27D2C: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (0u | 0u); + ctx.gpr[2] = (0u | 0u); if (branch_taken) { - (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0137_entry, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; + (void)([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A28D00, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem, ctx.pc, aot_gpr_16, aot_gpr_17, aot_gpr_18, ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_29, aot_gpr_31, aot_fpr_20, aot_fpr_22, aot_fpr_24); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0137_entry, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08A27D34; } @@ -10157,9 +10158,9 @@ L_08A27D34: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 22u, 0x08960240u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A27D3Cu) goto L_08A27D3C; AOT_REGCACHE_SYNC_OUT(); return; L_08A27D3C: - aot_gpr_5 = (aot_gpr_29 + static_cast(64)); + ctx.gpr[5] = (aot_gpr_29 + static_cast(64)); aot_gpr_31 = (0x08A27D48u); - aot_gpr_4 = (aot_gpr_2 | 0u); + aot_gpr_4 = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 351u, 0x08A1A61Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A27D48u) goto L_08A27D48; AOT_REGCACHE_SYNC_OUT(); return; L_08A27D48: @@ -10192,22 +10193,22 @@ L_08A27D64: } L_08A27D7C: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (0u | 0u); + ctx.gpr[2] = (0u | 0u); if (branch_taken) { - (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0137_entry, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; + (void)([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A28D00, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem, ctx.pc, aot_gpr_16, aot_gpr_17, aot_gpr_18, ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_29, aot_gpr_31, aot_fpr_20, aot_fpr_22, aot_fpr_24); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0137_entry, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08A27D84; } L_08A27D84: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (0u | 0u); + ctx.gpr[2] = (0u | 0u); if (branch_taken) { - (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0137_entry, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; + (void)([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A28D00, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem, ctx.pc, aot_gpr_16, aot_gpr_17, aot_gpr_18, ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_29, aot_gpr_31, aot_fpr_20, aot_fpr_22, aot_fpr_24); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0137_entry, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08A27D8C; } L_08A27D8C: - aot_gpr_5 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[5] = (aot_gpr_29 + static_cast(16)); aot_fpr_12 = std::bit_cast(0u); { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_12)}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(400), aot_run_words); } @@ -10223,7 +10224,7 @@ L_08A27DAC: AOT_REGCACHE_SYNC_OUT(); return; L_08A27DB4: aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_2 | 0u); + ctx.gpr[5] = (ctx.gpr[2] | 0u); ctx.gpr[6] = (0u | 15u); ctx.gpr[7] = (0u | 2u); aot_gpr_31 = (0x08A27DCCu); @@ -10232,17 +10233,17 @@ L_08A27DB4: AOT_REGCACHE_SYNC_OUT(); return; L_08A27DCC: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (0u | 1u); + ctx.gpr[2] = (0u | 1u); if (branch_taken) { - (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0137_entry, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; + (void)([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A28D00, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem, ctx.pc, aot_gpr_16, aot_gpr_17, aot_gpr_18, ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_29, aot_gpr_31, aot_fpr_20, aot_fpr_22, aot_fpr_24); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0137_entry, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08A27DD4; } L_08A27DD4: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (0u | 0u); + ctx.gpr[2] = (0u | 0u); if (branch_taken) { - (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0137_entry, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; + (void)([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A28D00, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem, ctx.pc, aot_gpr_16, aot_gpr_17, aot_gpr_18, ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_29, aot_gpr_31, aot_fpr_20, aot_fpr_22, aot_fpr_24); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0137_entry, 137u, 232u, 0x08A28D00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08A27DDC; } @@ -10252,7 +10253,7 @@ L_08A27DDC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A27DE4u) goto L_08A27DE4; AOT_REGCACHE_SYNC_OUT(); return; L_08A27DE4: - { const bool branch_taken = aot_gpr_2 == 0u; + { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0137_entry, 137u, 10u, 0x08A28084u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; @@ -10260,16 +10261,16 @@ L_08A27DE4: goto L_08A27DEC; } L_08A27DEC: - ctx.gpr[17] = (aot_gpr_29 + static_cast(16)); - ctx.gpr[18] = (aot_gpr_29 + static_cast(432)); + aot_gpr_17 = (aot_gpr_29 + static_cast(16)); + aot_gpr_18 = (aot_gpr_29 + static_cast(432)); aot_gpr_31 = (0x08A27DFCu); - aot_gpr_4 = (ctx.gpr[18] | 0u); + aot_gpr_4 = (aot_gpr_18 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 16u, 0x08960154u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A27DFCu) goto L_08A27DFC; AOT_REGCACHE_SYNC_OUT(); return; L_08A27DFC: - aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_4 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08A27E08u); - aot_gpr_5 = (ctx.gpr[18] | 0u); + ctx.gpr[5] = (aot_gpr_18 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 438u, 0x08A1ACCCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A27E08u) goto L_08A27E08; AOT_REGCACHE_SYNC_OUT(); return; L_08A27E08: @@ -10280,7 +10281,7 @@ L_08A27E08: L_08A27E10: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08A27E1Cu); - aot_gpr_5 = (aot_gpr_2 | 0u); + ctx.gpr[5] = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 438u, 0x08A1ACCCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A27E1Cu) goto L_08A27E1C; AOT_REGCACHE_SYNC_OUT(); return; L_08A27E1C: @@ -10293,30 +10294,30 @@ L_08A27E1C: L_08A27E2C: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(32))); aot_gpr_31 = (0x08A27E38u); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(36))); + ctx.fpr[13] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(36))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 459u, 0x08A1ADECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A27E38u) goto L_08A27E38; AOT_REGCACHE_SYNC_OUT(); return; L_08A27E38: aot_gpr_4 = (16262u << 16u); aot_gpr_4 = (aot_gpr_4 | 2706u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - ctx.fpr[22] = ctx.fpr[0] + aot_fpr_12; + aot_fpr_22 = ctx.fpr[0] + aot_fpr_12; aot_gpr_31 = (0x08A27E50u); - aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[22])); + aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_22)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 419u, 0x08A1AB28u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A27E50u) goto L_08A27E50; AOT_REGCACHE_SYNC_OUT(); return; L_08A27E50: - aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[22])); + aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_22)); aot_gpr_31 = (0x08A27E5Cu); - ctx.fpr[24] = std::bit_cast(std::bit_cast(ctx.fpr[0])); + aot_fpr_24 = std::bit_cast(std::bit_cast(ctx.fpr[0])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 417u, 0x08A1AAA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A27E5Cu) goto L_08A27E5C; AOT_REGCACHE_SYNC_OUT(); return; L_08A27E5C: - { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[0]), std::bit_cast(aot_fpr_20)}; + { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_24), std::bit_cast(ctx.fpr[0]), std::bit_cast(aot_fpr_20)}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(432), aot_run_words); } aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08A27E74u); - aot_gpr_5 = (ctx.gpr[18] | 0u); + ctx.gpr[5] = (aot_gpr_18 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A27E74u) goto L_08A27E74; AOT_REGCACHE_SYNC_OUT(); return; L_08A27E74: @@ -10327,31 +10328,31 @@ L_08A27E74: L_08A27E7C: aot_gpr_4 = (16880u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_gpr_4 = (ctx.gpr[18] | 0u); + aot_gpr_4 = (aot_gpr_18 | 0u); aot_gpr_31 = (0x08A27E90u); - aot_gpr_5 = (ctx.gpr[19] | 0u); + ctx.gpr[5] = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 355u, 0x08A1A684u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A27E90u) goto L_08A27E90; AOT_REGCACHE_SYNC_OUT(); return; L_08A27E90: - aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_4 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08A27E9Cu); - aot_gpr_5 = (ctx.gpr[18] | 0u); + ctx.gpr[5] = (aot_gpr_18 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A27E9Cu) goto L_08A27E9C; AOT_REGCACHE_SYNC_OUT(); return; L_08A27E9C: aot_gpr_31 = (0x08A27EA4u); - aot_gpr_4 = (ctx.gpr[18] | 0u); + aot_gpr_4 = (aot_gpr_18 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 16u, 0x08960154u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A27EA4u) goto L_08A27EA4; AOT_REGCACHE_SYNC_OUT(); return; L_08A27EA4: - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(440))); + ctx.fpr[14] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(440))); aot_gpr_4 = (16560u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_fpr_14 = aot_fpr_14 - aot_fpr_12; - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), std::bit_cast(aot_fpr_14)); + ctx.fpr[14] = ctx.fpr[14] - aot_fpr_12; + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), std::bit_cast(ctx.fpr[14])); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(448), static_cast(0u)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); + ctx.fpr[13] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); aot_gpr_31 = (0x08A27ECCu); aot_gpr_4 = (aot_gpr_29 + static_cast(448)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 528u, 0x088934F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A27ECCu) goto L_08A27ECC; @@ -10359,8 +10360,8 @@ L_08A27EA4: L_08A27ECC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(452), std::bit_cast(ctx.fpr[0])); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(448))); - aot_gpr_5 = (0u | 1u); - { const bool branch_taken = aot_gpr_4 != aot_gpr_5; + ctx.gpr[5] = (0u | 1u); + { const bool branch_taken = aot_gpr_4 != ctx.gpr[5]; // nop if (branch_taken) { goto L_08A27EF8; @@ -10370,8 +10371,8 @@ L_08A27ECC: L_08A27EE0: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(452))); aot_gpr_4 = (16128u << 16u); - aot_fpr_13 = std::bit_cast(aot_gpr_4); - aot_fpr_12 = aot_fpr_12 + aot_fpr_13; + ctx.fpr[13] = std::bit_cast(aot_gpr_4); + aot_fpr_12 = aot_fpr_12 + ctx.fpr[13]; { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), std::bit_cast(aot_fpr_12)); if (branch_taken) { @@ -10383,15 +10384,15 @@ L_08A27EF8: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); aot_fpr_12 = std::bit_cast(aot_run_words[0]); - aot_fpr_13 = std::bit_cast(aot_run_words[1]); - aot_fpr_14 = std::bit_cast(aot_run_words[2]); + ctx.fpr[13] = std::bit_cast(aot_run_words[1]); + ctx.fpr[14] = std::bit_cast(aot_run_words[2]); } aot_gpr_31 = (0x08A27F0Cu); aot_gpr_4 = (aot_gpr_29 + static_cast(452)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0189_entry, 189u, 138u, 0x08AF8918u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A27F0Cu) goto L_08A27F0C; AOT_REGCACHE_SYNC_OUT(); return; L_08A27F0C: - { const bool branch_taken = aot_gpr_2 == 0u; + { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_08A27F84; @@ -10405,7 +10406,7 @@ L_08A27F14: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A27F20u) goto L_08A27F20; AOT_REGCACHE_SYNC_OUT(); return; L_08A27F20: - { const bool branch_taken = aot_gpr_2 == 0u; + { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_08A27F5C; @@ -10418,9 +10419,9 @@ L_08A27F28: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A27F30u) goto L_08A27F30; AOT_REGCACHE_SYNC_OUT(); return; L_08A27F30: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(852))); - aot_gpr_5 = (0u | 1u); - { const bool branch_taken = aot_gpr_4 == aot_gpr_5; + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(852))); + ctx.gpr[5] = (0u | 1u); + { const bool branch_taken = aot_gpr_4 == ctx.gpr[5]; // nop if (branch_taken) { goto L_08A27F58; @@ -10433,9 +10434,9 @@ L_08A27F40: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A27F48u) goto L_08A27F48; AOT_REGCACHE_SYNC_OUT(); return; L_08A27F48: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(852))); - aot_gpr_5 = (0u | 2u); - { const bool branch_taken = aot_gpr_4 != aot_gpr_5; + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(852))); + ctx.gpr[5] = (0u | 2u); + { const bool branch_taken = aot_gpr_4 != ctx.gpr[5]; // nop if (branch_taken) { goto L_08A27F5C; @@ -10447,9 +10448,9 @@ L_08A27F58: goto L_08A27F5C; L_08A27F5C: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(452))); - aot_fpr_13 = aot_fpr_13 + aot_fpr_20; - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); + ctx.fpr[13] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(452))); + ctx.fpr[13] = ctx.fpr[13] + aot_fpr_20; + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[13])) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -10464,14 +10465,14 @@ L_08A27F78: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), std::bit_cast(aot_fpr_12)); goto L_08A27F84; L_08A27F84: - ctx.gpr[17] = (aot_gpr_29 + static_cast(432)); + aot_gpr_17 = (aot_gpr_29 + static_cast(432)); aot_gpr_31 = (0x08A27F90u); - aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_4 = (aot_gpr_17 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 16u, 0x08960154u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A27F90u) goto L_08A27F90; AOT_REGCACHE_SYNC_OUT(); return; L_08A27F90: - aot_gpr_5 = (aot_gpr_29 + static_cast(16)); - aot_gpr_4 = (ctx.gpr[17] | 0u); + ctx.gpr[5] = (aot_gpr_29 + static_cast(16)); + aot_gpr_4 = (aot_gpr_17 | 0u); ctx.gpr[6] = (0u | 1u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 0u); @@ -10484,7 +10485,7 @@ L_08A27F90: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0036_entry, 36u, 527u, 0x088967ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A27FBCu) goto L_08A27FBC; AOT_REGCACHE_SYNC_OUT(); return; L_08A27FBC: - { const bool branch_taken = aot_gpr_2 == 0u; + { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0137_entry, 137u, 5u, 0x08A28034u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; @@ -10492,22 +10493,22 @@ L_08A27FBC: goto L_08A27FC4; } L_08A27FC4: - ctx.gpr[17] = (aot_gpr_29 + static_cast(464)); - ctx.gpr[18] = (aot_gpr_29 + static_cast(432)); + aot_gpr_17 = (aot_gpr_29 + static_cast(464)); + aot_gpr_18 = (aot_gpr_29 + static_cast(432)); aot_gpr_31 = (0x08A27FD4u); - aot_gpr_4 = (ctx.gpr[18] | 0u); + aot_gpr_4 = (aot_gpr_18 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 16u, 0x08960154u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A27FD4u) goto L_08A27FD4; AOT_REGCACHE_SYNC_OUT(); return; L_08A27FD4: ctx.gpr[6] = (aot_gpr_29 + static_cast(16)); - aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_4 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08A27FE4u); - aot_gpr_5 = (ctx.gpr[18] | 0u); + ctx.gpr[5] = (aot_gpr_18 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 353u, 0x08A1A650u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A27FE4u) goto L_08A27FE4; AOT_REGCACHE_SYNC_OUT(); return; L_08A27FE4: aot_gpr_31 = (0x08A27FECu); - aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_4 = (aot_gpr_17 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 435u, 0x08A1AC7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A27FECu) goto L_08A27FEC; AOT_REGCACHE_SYNC_OUT(); return; L_08A27FEC: diff --git a/profiles/vcs/generated/generated_unit_0137.cpp b/profiles/vcs/generated/generated_unit_0137.cpp index ca186b9..52dbbd5 100644 --- a/profiles/vcs/generated/generated_unit_0137.cpp +++ b/profiles/vcs/generated/generated_unit_0137.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,7 +139,7 @@ static const std::uint16_t kEntryIds_recomp_unit_0137[4085] = { }; void recomp_unit_0137_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,17,29,31,2 fprs=12,13,14,20 gpr_occ=4085 fpr_occ=906 gpr_total=4840 fpr_total=1077 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,17,29,31,2 fprs=12,13,14,20 gpr_occ=4099 fpr_occ=906 gpr_total=4862 fpr_total=1077 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_17 = ctx.gpr[17]; @@ -5395,7 +5396,7 @@ L_08A29E20: L_08A29E28: aot_gpr_31 = (0x08A29E30u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1984))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A29E30u) goto L_08A29E30; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B01E00, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A29E30u) goto L_08A29E30; AOT_REGCACHE_SYNC_OUT(); return; L_08A29E30: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(128), 0u); @@ -9067,7 +9068,7 @@ L_08A2BAF4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1984))); aot_gpr_31 = (0x08A2BB00u); aot_gpr_5 = (aot_gpr_17 + static_cast(1984)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A2BB00u) goto L_08A2BB00; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A2BB00u) goto L_08A2BB00; AOT_REGCACHE_SYNC_OUT(); return; L_08A2BB00: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(80))); @@ -9098,7 +9099,7 @@ L_08A2BB2C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(224))); aot_gpr_31 = (0x08A2BB58u); aot_gpr_5 = (aot_gpr_5 + static_cast(224)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A2BB58u) goto L_08A2BB58; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A2BB58u) goto L_08A2BB58; AOT_REGCACHE_SYNC_OUT(); return; L_08A2BB58: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(2128))); @@ -9528,7 +9529,7 @@ L_08A2BDE4: L_08A2BDEC: aot_gpr_31 = (0x08A2BDF4u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1984))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A2BDF4u) goto L_08A2BDF4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B01E00, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A2BDF4u) goto L_08A2BDF4; AOT_REGCACHE_SYNC_OUT(); return; L_08A2BDF4: aot_gpr_4 = (0u | 3u); diff --git a/profiles/vcs/generated/generated_unit_0138.cpp b/profiles/vcs/generated/generated_unit_0138.cpp index 117bee1..9a8aecb 100644 --- a/profiles/vcs/generated/generated_unit_0138.cpp +++ b/profiles/vcs/generated/generated_unit_0138.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,7 +139,7 @@ static const std::uint16_t kEntryIds_recomp_unit_0138[4087] = { }; void recomp_unit_0138_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,17,16,6,7 fprs=12,13,14,20 gpr_occ=5802 fpr_occ=413 gpr_total=6597 fpr_total=484 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,17,16,6,7 fprs=12,13,14,20 gpr_occ=5874 fpr_occ=413 gpr_total=6712 fpr_total=484 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_17 = ctx.gpr[17]; @@ -2916,7 +2917,7 @@ L_08A2D2E0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1984))); ctx.gpr[31] = (0x08A2D2ECu); aot_gpr_5 = (aot_gpr_17 + static_cast(1984)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A2D2ECu) goto L_08A2D2EC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A2D2ECu) goto L_08A2D2EC; AOT_REGCACHE_SYNC_OUT(); return; L_08A2D2EC: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(80))); @@ -2947,7 +2948,7 @@ L_08A2D318: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(224))); ctx.gpr[31] = (0x08A2D344u); aot_gpr_5 = (aot_gpr_5 + static_cast(224)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A2D344u) goto L_08A2D344; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A2D344u) goto L_08A2D344; AOT_REGCACHE_SYNC_OUT(); return; L_08A2D344: { const bool branch_taken = 0u == 0u; @@ -2984,7 +2985,7 @@ L_08A2D370: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1984))); ctx.gpr[31] = (0x08A2D37Cu); aot_gpr_5 = (aot_gpr_17 + static_cast(1984)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A2D37Cu) goto L_08A2D37C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A2D37Cu) goto L_08A2D37C; AOT_REGCACHE_SYNC_OUT(); return; L_08A2D37C: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(80))); @@ -3015,7 +3016,7 @@ L_08A2D3A8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(224))); ctx.gpr[31] = (0x08A2D3D4u); aot_gpr_5 = (aot_gpr_5 + static_cast(224)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A2D3D4u) goto L_08A2D3D4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A2D3D4u) goto L_08A2D3D4; AOT_REGCACHE_SYNC_OUT(); return; L_08A2D3D4: { const bool branch_taken = 0u == 0u; @@ -3288,7 +3289,7 @@ L_08A2D5C8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1984))); ctx.gpr[31] = (0x08A2D5D4u); aot_gpr_5 = (aot_gpr_17 + static_cast(1984)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A2D5D4u) goto L_08A2D5D4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A2D5D4u) goto L_08A2D5D4; AOT_REGCACHE_SYNC_OUT(); return; L_08A2D5D4: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(80))); @@ -3319,7 +3320,7 @@ L_08A2D600: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(224))); ctx.gpr[31] = (0x08A2D62Cu); aot_gpr_5 = (aot_gpr_5 + static_cast(224)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A2D62Cu) goto L_08A2D62C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A2D62Cu) goto L_08A2D62C; AOT_REGCACHE_SYNC_OUT(); return; L_08A2D62C: { const bool branch_taken = 0u == 0u; @@ -3408,7 +3409,7 @@ L_08A2D6C0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1984))); ctx.gpr[31] = (0x08A2D6CCu); aot_gpr_5 = (aot_gpr_17 + static_cast(1984)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A2D6CCu) goto L_08A2D6CC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A2D6CCu) goto L_08A2D6CC; AOT_REGCACHE_SYNC_OUT(); return; L_08A2D6CC: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(80))); @@ -3439,7 +3440,7 @@ L_08A2D6F8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(224))); ctx.gpr[31] = (0x08A2D724u); aot_gpr_5 = (aot_gpr_5 + static_cast(224)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A2D724u) goto L_08A2D724; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A2D724u) goto L_08A2D724; AOT_REGCACHE_SYNC_OUT(); return; L_08A2D724: { const bool branch_taken = 0u == 0u; @@ -3654,7 +3655,7 @@ L_08A2D898: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1984))); ctx.gpr[31] = (0x08A2D8A4u); aot_gpr_5 = (aot_gpr_17 + static_cast(1984)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A2D8A4u) goto L_08A2D8A4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A2D8A4u) goto L_08A2D8A4; AOT_REGCACHE_SYNC_OUT(); return; L_08A2D8A4: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(80))); @@ -3685,7 +3686,7 @@ L_08A2D8D0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(224))); ctx.gpr[31] = (0x08A2D8FCu); aot_gpr_5 = (aot_gpr_5 + static_cast(224)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A2D8FCu) goto L_08A2D8FC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A2D8FCu) goto L_08A2D8FC; AOT_REGCACHE_SYNC_OUT(); return; L_08A2D8FC: { const bool branch_taken = 0u == 0u; @@ -3746,7 +3747,7 @@ L_08A2D958: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1984))); ctx.gpr[31] = (0x08A2D964u); aot_gpr_5 = (aot_gpr_17 + static_cast(1984)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A2D964u) goto L_08A2D964; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A2D964u) goto L_08A2D964; AOT_REGCACHE_SYNC_OUT(); return; L_08A2D964: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(80))); @@ -3777,7 +3778,7 @@ L_08A2D990: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(224))); ctx.gpr[31] = (0x08A2D9BCu); aot_gpr_5 = (aot_gpr_5 + static_cast(224)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A2D9BCu) goto L_08A2D9BC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A2D9BCu) goto L_08A2D9BC; AOT_REGCACHE_SYNC_OUT(); return; L_08A2D9BC: { const bool branch_taken = 0u == 0u; @@ -3996,7 +3997,7 @@ L_08A2DBB0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1984))); ctx.gpr[31] = (0x08A2DBBCu); aot_gpr_5 = (aot_gpr_17 + static_cast(1984)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A2DBBCu) goto L_08A2DBBC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A2DBBCu) goto L_08A2DBBC; AOT_REGCACHE_SYNC_OUT(); return; L_08A2DBBC: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(80))); @@ -4027,7 +4028,7 @@ L_08A2DBE8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(224))); ctx.gpr[31] = (0x08A2DC14u); aot_gpr_5 = (aot_gpr_5 + static_cast(224)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A2DC14u) goto L_08A2DC14; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A2DC14u) goto L_08A2DC14; AOT_REGCACHE_SYNC_OUT(); return; L_08A2DC14: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(2128))); @@ -4789,7 +4790,7 @@ L_08A2E378: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(224))); ctx.gpr[31] = (0x08A2E3A4u); aot_gpr_5 = (aot_gpr_5 + static_cast(224)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A2E3A4u) goto L_08A2E3A4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A93004, 163u, 430u, 0x08A93004u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[28], ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A2E3A4u) goto L_08A2E3A4; AOT_REGCACHE_SYNC_OUT(); return; L_08A2E3A4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1984))); @@ -4819,7 +4820,7 @@ L_08A2E3D4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(224))); ctx.gpr[31] = (0x08A2E400u); aot_gpr_5 = (aot_gpr_5 + static_cast(224)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A2E400u) goto L_08A2E400; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A2E400u) goto L_08A2E400; AOT_REGCACHE_SYNC_OUT(); return; L_08A2E400: aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(8), aot_gpr_17); @@ -7449,7 +7450,7 @@ L_08A2F8EC: L_08A2F8F4: ctx.gpr[31] = (0x08A2F8FCu); aot_gpr_4 = (ctx.gpr[28] + static_cast(-7212)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A2F8FCu) goto L_08A2F8FC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[29], ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A2F8FCu) goto L_08A2F8FC; AOT_REGCACHE_SYNC_OUT(); return; L_08A2F8FC: aot_gpr_4 = (2279u << 16u); @@ -7464,7 +7465,7 @@ L_08A2F8FC: L_08A2F918: ctx.gpr[31] = (0x08A2F920u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-7200)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A2F920u) goto L_08A2F920; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[29], ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A2F920u) goto L_08A2F920; AOT_REGCACHE_SYNC_OUT(); return; L_08A2F920: aot_gpr_4 = (2279u << 16u); diff --git a/profiles/vcs/generated/generated_unit_0139.cpp b/profiles/vcs/generated/generated_unit_0139.cpp index 29dfabd..77f9c26 100644 --- a/profiles/vcs/generated/generated_unit_0139.cpp +++ b/profiles/vcs/generated/generated_unit_0139.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,11 +139,11 @@ static const std::uint16_t kEntryIds_recomp_unit_0139[4085] = { }; void recomp_unit_0139_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,16,31,29,6 fprs=12,13,14,20 gpr_occ=4053 fpr_occ=602 gpr_total=5224 fpr_total=683 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,31,16,29,6 fprs=12,13,14,20 gpr_occ=4179 fpr_occ=603 gpr_total=5427 fpr_total=684 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; - std::uint32_t aot_gpr_16 = ctx.gpr[16]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; + std::uint32_t aot_gpr_16 = ctx.gpr[16]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_6 = ctx.gpr[6]; float aot_fpr_12 = ctx.fpr[12]; @@ -150,8 +151,8 @@ void recomp_unit_0139_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t dir float aot_fpr_14 = ctx.fpr[14]; float aot_fpr_20 = ctx.fpr[20]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[16] = aot_gpr_16; ctx.gpr[31] = aot_gpr_31; ctx.gpr[29] = aot_gpr_29; ctx.gpr[6] = aot_gpr_6; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[20] = aot_fpr_20; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_6 = ctx.gpr[6]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_20 = ctx.fpr[20]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[31] = aot_gpr_31; ctx.gpr[16] = aot_gpr_16; ctx.gpr[29] = aot_gpr_29; ctx.gpr[6] = aot_gpr_6; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[20] = aot_fpr_20; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_6 = ctx.gpr[6]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_20 = ctx.fpr[20]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -1423,7 +1424,7 @@ L_08A30274: aot_fpr_12 = aot_fpr_12 / aot_fpr_14; aot_gpr_31 = (0x08A30288u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A30288u) goto L_08A30288; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A30288u) goto L_08A30288; AOT_REGCACHE_SYNC_OUT(); return; L_08A30288: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7084))); @@ -1431,7 +1432,7 @@ L_08A30288: aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08A3029Cu); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A3029Cu) goto L_08A3029C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B6256C, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A3029Cu) goto L_08A3029C; AOT_REGCACHE_SYNC_OUT(); return; L_08A3029C: { const bool branch_taken = static_cast(ctx.gpr[2]) >= 0; @@ -2144,7 +2145,7 @@ L_08A307CC: aot_gpr_16 = (aot_gpr_16 + static_cast(-28736)); aot_gpr_31 = (0x08A307DCu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A307DCu) goto L_08A307DC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC734, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A307DCu) goto L_08A307DC; AOT_REGCACHE_SYNC_OUT(); return; L_08A307DC: { const bool branch_taken = ctx.gpr[2] != ctx.gpr[17]; @@ -2174,7 +2175,7 @@ L_08A3080C: ctx.gpr[18] = (0u | 0u); aot_gpr_31 = (0x08A30818u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A30818u) goto L_08A30818; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC734, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A30818u) goto L_08A30818; AOT_REGCACHE_SYNC_OUT(); return; L_08A30818: { const bool branch_taken = ctx.gpr[2] != ctx.gpr[17]; @@ -2187,7 +2188,7 @@ L_08A30818: L_08A30820: aot_gpr_31 = (0x08A30828u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A30828u) goto L_08A30828; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC784, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A30828u) goto L_08A30828; AOT_REGCACHE_SYNC_OUT(); return; L_08A30828: { const bool branch_taken = ctx.gpr[2] != ctx.gpr[17]; @@ -2212,7 +2213,7 @@ L_08A30838: L_08A30840: aot_gpr_31 = (0x08A30848u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A30848u) goto L_08A30848; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC734, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A30848u) goto L_08A30848; AOT_REGCACHE_SYNC_OUT(); return; L_08A30848: { const bool branch_taken = ctx.gpr[2] != ctx.gpr[17]; @@ -2225,7 +2226,7 @@ L_08A30848: L_08A30850: aot_gpr_31 = (0x08A30858u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A30858u) goto L_08A30858; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC784, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A30858u) goto L_08A30858; AOT_REGCACHE_SYNC_OUT(); return; L_08A30858: aot_gpr_4 = (0u | 2u); @@ -2328,7 +2329,7 @@ L_08A30914: L_08A30924: aot_gpr_31 = (0x08A3092Cu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A3092Cu) goto L_08A3092C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC734, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A3092Cu) goto L_08A3092C; AOT_REGCACHE_SYNC_OUT(); return; L_08A3092C: { const bool branch_taken = ctx.gpr[2] != ctx.gpr[17]; @@ -2543,7 +2544,7 @@ L_08A30A80: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_31); aot_gpr_31 = (0x08A30AB4u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A30AB4u) goto L_08A30AB4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC754, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A30AB4u) goto L_08A30AB4; AOT_REGCACHE_SYNC_OUT(); return; L_08A30AB4: aot_gpr_4 = (ctx.gpr[2] < static_cast(6) ? 1u : 0u); @@ -3649,7 +3650,7 @@ L_08A3128C: L_08A312A0: aot_gpr_31 = (0x08A312A8u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-7060)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A312A8u) goto L_08A312A8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A312A8u) goto L_08A312A8; AOT_REGCACHE_SYNC_OUT(); return; L_08A312A8: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -3990,7 +3991,7 @@ L_08A3158C: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(36), aot_gpr_4); aot_gpr_31 = (0x08A315A8u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-7000)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A315A8u) goto L_08A315A8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A315A8u) goto L_08A315A8; AOT_REGCACHE_SYNC_OUT(); return; L_08A315A8: aot_gpr_4 = (ctx.gpr[28] + static_cast(9880)); @@ -4610,7 +4611,7 @@ L_08A31A1C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), aot_gpr_31); aot_gpr_31 = (0x08A31A3Cu); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A31A3Cu) goto L_08A31A3C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A31A3Cu) goto L_08A31A3C; AOT_REGCACHE_SYNC_OUT(); return; L_08A31A3C: aot_gpr_31 = (0x08A31A44u); @@ -6284,7 +6285,7 @@ L_08A3276C: L_08A32778: aot_gpr_31 = (0x08A32780u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A32780u) goto L_08A32780; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A32780u) goto L_08A32780; AOT_REGCACHE_SYNC_OUT(); return; L_08A32780: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -7133,7 +7134,7 @@ L_08A32CB8: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08A32CC4u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A32CC4u) goto L_08A32CC4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A32CC4u) goto L_08A32CC4; AOT_REGCACHE_SYNC_OUT(); return; L_08A32CC4: { const bool branch_taken = 0u == 0u; @@ -7562,7 +7563,7 @@ L_08A32FCC: L_08A32FD4: aot_gpr_31 = (0x08A32FDCu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A32FDCu) goto L_08A32FDC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A32FDCu) goto L_08A32FDC; AOT_REGCACHE_SYNC_OUT(); return; L_08A32FDC: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-6956))); @@ -7570,7 +7571,7 @@ L_08A32FDC: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08A32FF0u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A32FF0u) goto L_08A32FF0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A32FF0u) goto L_08A32FF0; AOT_REGCACHE_SYNC_OUT(); return; L_08A32FF0: ctx.gpr[1] = (ctx.gpr[3] << 1u); @@ -7698,7 +7699,7 @@ L_08A330E4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08A330F0u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A330F0u) goto L_08A330F0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A330F0u) goto L_08A330F0; AOT_REGCACHE_SYNC_OUT(); return; L_08A330F0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(456))); @@ -7915,7 +7916,7 @@ L_08A33294: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08A332A8u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A332A8u) goto L_08A332A8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08908E78, 65u, 261u, 0x08908E78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A332A8u) goto L_08A332A8; AOT_REGCACHE_SYNC_OUT(); return; L_08A332A8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(456))); @@ -8045,7 +8046,7 @@ L_08A33378: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08A33384u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A33384u) goto L_08A33384; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08908E78, 65u, 261u, 0x08908E78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A33384u) goto L_08A33384; AOT_REGCACHE_SYNC_OUT(); return; L_08A33384: aot_gpr_6 = (16416u << 16u); @@ -8067,7 +8068,7 @@ L_08A333A0: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08A333ACu); aot_gpr_5 = (0u | 5u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A333ACu) goto L_08A333AC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08908E78, 65u, 261u, 0x08908E78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A333ACu) goto L_08A333AC; AOT_REGCACHE_SYNC_OUT(); return; L_08A333AC: aot_gpr_31 = (0x08A333B4u); @@ -8103,13 +8104,13 @@ L_08A33400: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(456), aot_gpr_4); aot_gpr_31 = (0x08A33418u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A33418u) goto L_08A33418; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890FF64, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A33418u) goto L_08A33418; AOT_REGCACHE_SYNC_OUT(); return; L_08A33418: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08A33424u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A33424u) goto L_08A33424; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A33424u) goto L_08A33424; AOT_REGCACHE_SYNC_OUT(); return; L_08A33424: { const bool branch_taken = 0u == 0u; @@ -8303,7 +8304,7 @@ L_08A335AC: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08A335BCu); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A335BCu) goto L_08A335BC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08908E78, 65u, 261u, 0x08908E78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A335BCu) goto L_08A335BC; AOT_REGCACHE_SYNC_OUT(); return; L_08A335BC: aot_gpr_4 = (ctx.gpr[19] | 0u); @@ -8438,7 +8439,7 @@ L_08A3369C: aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); aot_gpr_31 = (0x08A336BCu); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A336BCu) goto L_08A336BC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A336BCu) goto L_08A336BC; AOT_REGCACHE_SYNC_OUT(); return; L_08A336BC: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(8))); @@ -8648,7 +8649,7 @@ L_08A338C4: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08A338D0u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A338D0u) goto L_08A338D0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A338D0u) goto L_08A338D0; AOT_REGCACHE_SYNC_OUT(); return; L_08A338D0: aot_gpr_31 = (0x08A338D8u); @@ -8677,7 +8678,7 @@ L_08A338E8: L_08A338F4: aot_gpr_31 = (0x08A338FCu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A338FCu) goto L_08A338FC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A338FCu) goto L_08A338FC; AOT_REGCACHE_SYNC_OUT(); return; L_08A338FC: ctx.gpr[21] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-6948))); @@ -8687,7 +8688,7 @@ L_08A338FC: ctx.gpr[7] = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x08A33918u); aot_gpr_6 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A33918u) goto L_08A33918; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A33918u) goto L_08A33918; AOT_REGCACHE_SYNC_OUT(); return; L_08A33918: ctx.gpr[1] = (ctx.gpr[3] << 1u); @@ -8707,7 +8708,7 @@ L_08A33918: L_08A33948: aot_gpr_31 = (0x08A33950u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A33950u) goto L_08A33950; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A33950u) goto L_08A33950; AOT_REGCACHE_SYNC_OUT(); return; L_08A33950: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-6940))); @@ -8715,7 +8716,7 @@ L_08A33950: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08A33964u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A33964u) goto L_08A33964; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A33964u) goto L_08A33964; AOT_REGCACHE_SYNC_OUT(); return; L_08A33964: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-6932))); @@ -9260,7 +9261,7 @@ L_08A33CEC: aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); aot_gpr_31 = (0x08A33D0Cu); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A33D0Cu) goto L_08A33D0C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A33D0Cu) goto L_08A33D0C; AOT_REGCACHE_SYNC_OUT(); return; L_08A33D0C: ctx.gpr[17] = (ctx.gpr[2] | 0u); @@ -9359,13 +9360,13 @@ L_08A33DB0: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); aot_gpr_31 = (0x08A33DC4u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 251u, 0x08969194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A33DC4u) goto L_08A33DC4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08969194, 89u, 251u, 0x08969194u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 251u, 0x08969194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A33DC4u) goto L_08A33DC4; AOT_REGCACHE_SYNC_OUT(); return; L_08A33DC4: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08A33DD0u); ctx.gpr[18] = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A33DD0u) goto L_08A33DD0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0896918C, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A33DD0u) goto L_08A33DD0; AOT_REGCACHE_SYNC_OUT(); return; L_08A33DD0: ctx.gpr[7] = (ctx.gpr[18] << 6u); @@ -9439,7 +9440,7 @@ L_08A33E60: L_08A33E6C: aot_gpr_31 = (0x08A33E74u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A33E74u) goto L_08A33E74; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A33E74u) goto L_08A33E74; AOT_REGCACHE_SYNC_OUT(); return; L_08A33E74: ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-6948))); @@ -9449,7 +9450,7 @@ L_08A33E74: ctx.gpr[7] = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08A33E90u); aot_gpr_6 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A33E90u) goto L_08A33E90; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A33E90u) goto L_08A33E90; AOT_REGCACHE_SYNC_OUT(); return; L_08A33E90: ctx.gpr[1] = (ctx.gpr[3] << 1u); @@ -9469,7 +9470,7 @@ L_08A33E90: L_08A33EC0: aot_gpr_31 = (0x08A33EC8u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A33EC8u) goto L_08A33EC8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A33EC8u) goto L_08A33EC8; AOT_REGCACHE_SYNC_OUT(); return; L_08A33EC8: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-6940))); @@ -9477,7 +9478,7 @@ L_08A33EC8: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08A33EDCu); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A33EDCu) goto L_08A33EDC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A33EDCu) goto L_08A33EDC; AOT_REGCACHE_SYNC_OUT(); return; L_08A33EDC: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-6932))); @@ -9500,7 +9501,7 @@ L_08A33F14: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08A33F20u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A33F20u) goto L_08A33F20; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A33F20u) goto L_08A33F20; AOT_REGCACHE_SYNC_OUT(); return; L_08A33F20: { const bool branch_taken = 0u == 0u; diff --git a/profiles/vcs/generated/generated_unit_0140.cpp b/profiles/vcs/generated/generated_unit_0140.cpp index 3425abc..ba37d0b 100644 --- a/profiles/vcs/generated/generated_unit_0140.cpp +++ b/profiles/vcs/generated/generated_unit_0140.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0140[4094] = { }; void recomp_unit_0140_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,31,29,16,6 fprs=12,13,14,20 gpr_occ=4204 fpr_occ=392 gpr_total=5605 fpr_total=505 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,31,6,29,2 fprs=12,13,14,15 gpr_occ=4390 fpr_occ=387 gpr_total=6095 fpr_total=537 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; - std::uint32_t aot_gpr_29 = ctx.gpr[29]; - std::uint32_t aot_gpr_16 = ctx.gpr[16]; std::uint32_t aot_gpr_6 = ctx.gpr[6]; + std::uint32_t aot_gpr_29 = ctx.gpr[29]; + std::uint32_t aot_gpr_2 = ctx.gpr[2]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_14 = ctx.fpr[14]; - float aot_fpr_20 = ctx.fpr[20]; + float aot_fpr_15 = ctx.fpr[15]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[31] = aot_gpr_31; ctx.gpr[29] = aot_gpr_29; ctx.gpr[16] = aot_gpr_16; ctx.gpr[6] = aot_gpr_6; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[20] = aot_fpr_20; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_6 = ctx.gpr[6]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_20 = ctx.fpr[20]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[31] = aot_gpr_31; ctx.gpr[6] = aot_gpr_6; ctx.gpr[29] = aot_gpr_29; ctx.gpr[2] = aot_gpr_2; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[15] = aot_fpr_15; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_2 = ctx.gpr[2]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_15 = ctx.fpr[15]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -1167,7 +1168,7 @@ L_08A34008: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (0u | 9u); aot_gpr_31 = (0x08A34018u); - aot_gpr_6 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0178_entry, 178u, 482u, 0x08ACD698u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A34018u) goto L_08A34018; AOT_REGCACHE_SYNC_OUT(); return; L_08A34018: @@ -1197,7 +1198,7 @@ L_08A3403C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A34044u) goto L_08A34044; AOT_REGCACHE_SYNC_OUT(); return; L_08A34044: - if (ctx.gpr[2] == 0u) { + if (aot_gpr_2 == 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(460))); goto L_08A34088; } @@ -1208,7 +1209,7 @@ L_08A3404C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A34054u) goto L_08A34054; AOT_REGCACHE_SYNC_OUT(); return; L_08A34054: - aot_gpr_4 = (ctx.gpr[2] + static_cast(320)); + aot_gpr_4 = (aot_gpr_2 + static_cast(320)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -1269,18 +1270,18 @@ L_08A340C4: aot_gpr_5 = (aot_gpr_4 + static_cast(48)); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_gpr_5 = (aot_gpr_4 + static_cast(48)); - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_fpr_13 = aot_fpr_13 - aot_fpr_14; ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_gpr_5 = (aot_gpr_4 + static_cast(48)); ctx.fpr[17] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(4))); - ctx.fpr[15] = ctx.fpr[15] - ctx.fpr[16]; + aot_fpr_15 = aot_fpr_15 - ctx.fpr[16]; ctx.fpr[18] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); aot_gpr_4 = (aot_gpr_4 + static_cast(48)); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); ctx.fpr[17] = ctx.fpr[17] - ctx.fpr[18]; ctx.fpr[19] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - { const float fs = aot_fpr_13; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } + { const float fs = aot_fpr_13; const float ft = aot_fpr_15; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_fpr_14 = aot_fpr_14 - ctx.fpr[19]; { const float fs = ctx.fpr[17]; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } { const bool branch_taken = 0u == 0u; @@ -1486,7 +1487,7 @@ L_08A34288: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 620u, 0x08906DE4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A34290u) goto L_08A34290; AOT_REGCACHE_SYNC_OUT(); return; L_08A34290: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08A34680; @@ -1508,7 +1509,7 @@ L_08A342A4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 195u, 0x08910B38u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A342ACu) goto L_08A342AC; AOT_REGCACHE_SYNC_OUT(); return; L_08A342AC: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08A343C8; @@ -1521,7 +1522,7 @@ L_08A342B4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 456u, 0x08B01BA4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A342BCu) goto L_08A342BC; AOT_REGCACHE_SYNC_OUT(); return; L_08A342BC: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08A3436C; @@ -1579,10 +1580,10 @@ L_08A34314: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(1152))); aot_gpr_31 = (0x08A34320u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(900))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A34320u) goto L_08A34320; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A34320u) goto L_08A34320; AOT_REGCACHE_SYNC_OUT(); return; L_08A34320: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08A34680; @@ -1595,7 +1596,7 @@ L_08A34328: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A34330u) goto L_08A34330; AOT_REGCACHE_SYNC_OUT(); return; L_08A34330: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08A3433Cu); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 659u, 0x089474A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A3433Cu) goto L_08A3433C; @@ -1647,10 +1648,10 @@ L_08A34374: L_08A34380: aot_gpr_31 = (0x08A34388u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A34388u) goto L_08A34388; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A34388u) goto L_08A34388; AOT_REGCACHE_SYNC_OUT(); return; L_08A34388: - aot_gpr_4 = (ctx.gpr[2] & 65535u); + aot_gpr_4 = (aot_gpr_2 & 65535u); if (static_cast(aot_gpr_4) >= 0) { aot_gpr_4 = (aot_gpr_4 & 7u); goto L_08A343AC; @@ -1729,7 +1730,7 @@ L_08A343F8: } L_08A3440C: ctx.gpr[21] = (0u | 6u); - aot_fpr_20 = std::bit_cast(aot_gpr_4); + ctx.fpr[20] = std::bit_cast(aot_gpr_4); ctx.gpr[30] = (0u | 5u); ctx.gpr[22] = (ctx.gpr[19] + static_cast(48)); ctx.gpr[20] = (aot_gpr_29 + static_cast(176)); @@ -1762,7 +1763,7 @@ L_08A34448: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 319u, 0x0890D46Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A34450u) goto L_08A34450; AOT_REGCACHE_SYNC_OUT(); return; L_08A34450: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08A34540; @@ -1775,7 +1776,7 @@ L_08A34458: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 620u, 0x08906DE4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A34460u) goto L_08A34460; AOT_REGCACHE_SYNC_OUT(); return; L_08A34460: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08A34540; @@ -1806,7 +1807,7 @@ L_08A34498: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_5 = (0u | 9u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); if (branch_taken) { goto L_08A344FC; } @@ -1818,7 +1819,7 @@ L_08A344B0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 20u, 0x08910150u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A344B8u) goto L_08A344B8; AOT_REGCACHE_SYNC_OUT(); return; L_08A344B8: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08A344FC; @@ -1831,7 +1832,7 @@ L_08A344C0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 20u, 0x08910150u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A344C8u) goto L_08A344C8; AOT_REGCACHE_SYNC_OUT(); return; L_08A344C8: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 14u); aot_gpr_4 = (aot_gpr_4 ^ 6u); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); @@ -1849,7 +1850,7 @@ L_08A344E4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 20u, 0x08910150u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A344ECu) goto L_08A344EC; AOT_REGCACHE_SYNC_OUT(); return; L_08A344EC: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(1360))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(1360))); { const bool branch_taken = aot_gpr_4 != ctx.gpr[21]; // nop if (branch_taken) { @@ -1858,10 +1859,10 @@ L_08A344EC: goto L_08A344F8; } L_08A344F8: - aot_gpr_16 = (ctx.gpr[23] | 0u); + ctx.gpr[16] = (ctx.gpr[23] | 0u); goto L_08A344FC; L_08A344FC: - { const bool branch_taken = aot_gpr_16 != 0u; + { const bool branch_taken = ctx.gpr[16] != 0u; // nop if (branch_taken) { goto L_08A34538; @@ -1914,10 +1915,10 @@ L_08A34540: L_08A34550: aot_gpr_31 = (0x08A34558u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1784))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A34558u) goto L_08A34558; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A34558u) goto L_08A34558; AOT_REGCACHE_SYNC_OUT(); return; L_08A34558: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08A3466C; @@ -1930,7 +1931,7 @@ L_08A34560: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 620u, 0x08906DE4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A34568u) goto L_08A34568; AOT_REGCACHE_SYNC_OUT(); return; L_08A34568: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08A3466C; @@ -1949,8 +1950,8 @@ L_08A34570: goto L_08A34584; } L_08A34584: - aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1784))); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2196))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1784))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2196))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -1959,7 +1960,7 @@ L_08A34584: goto L_08A34594; } L_08A34594: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2228))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2228))); { const bool branch_taken = aot_gpr_4 != ctx.gpr[30]; // nop if (branch_taken) { @@ -1968,7 +1969,7 @@ L_08A34594: goto L_08A345A0; } L_08A345A0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1716))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1716))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -1977,7 +1978,7 @@ L_08A345A0: goto L_08A345AC; } L_08A345AC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1736))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1736))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_4 = (aot_gpr_4 < aot_gpr_5 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; @@ -1997,7 +1998,7 @@ L_08A345C0: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_4 = (aot_gpr_16 + static_cast(48)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -2024,7 +2025,7 @@ L_08A345C0: ctx.execute_vfpu_vdot_ct<28u, 0u, 0u, 3u>(); aot_gpr_5 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_12 = std::bit_cast(aot_gpr_5); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_20)) ? 0x00800000u : 0u); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[20])) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -2048,7 +2049,7 @@ L_08A345F4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0036_entry, 36u, 527u, 0x088967ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A34620u) goto L_08A34620; AOT_REGCACHE_SYNC_OUT(); return; L_08A34620: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08A3466C; @@ -2065,11 +2066,11 @@ L_08A34634: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (0u | 14u); aot_gpr_31 = (0x08A34644u); - aot_gpr_6 = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0178_entry, 178u, 482u, 0x08ACD698u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A34644u) goto L_08A34644; AOT_REGCACHE_SYNC_OUT(); return; L_08A34644: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 2u); aot_gpr_31 = (0x08A34654u); aot_gpr_6 = (ctx.gpr[19] | 0u); @@ -2101,8 +2102,8 @@ L_08A3466C: L_08A34680: { std::uint32_t aot_run_words[11]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(292), aot_run_words); - aot_fpr_20 = std::bit_cast(aot_run_words[0]); - aot_gpr_16 = aot_run_words[1]; + ctx.fpr[20] = std::bit_cast(aot_run_words[0]); + ctx.gpr[16] = aot_run_words[1]; ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; ctx.gpr[19] = aot_run_words[4]; @@ -2123,15 +2124,15 @@ L_08A346B4: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); ctx.gpr[17] = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); { const std::uint32_t aot_run_words[3]{ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(8), aot_run_words); } aot_gpr_31 = (0x08A346D8u); - aot_gpr_16 = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 620u, 0x08906DE4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A346D8u) goto L_08A346D8; AOT_REGCACHE_SYNC_OUT(); return; L_08A346D8: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08A34770; @@ -2139,7 +2140,7 @@ L_08A346D8: goto L_08A346E0; } L_08A346E0: - { const bool branch_taken = aot_gpr_16 == 0u; + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08A34770; @@ -2158,19 +2159,19 @@ L_08A346E8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A34700u) goto L_08A34700; AOT_REGCACHE_SYNC_OUT(); return; L_08A34700: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(36))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(36))); aot_gpr_4 = (aot_gpr_4 + static_cast(8)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); jump_target = aot_gpr_6; aot_gpr_31 = (0x08A34718u); - aot_gpr_4 = (ctx.gpr[2] + aot_gpr_5); + aot_gpr_4 = (aot_gpr_2 + aot_gpr_5); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A34718u) goto L_08A34718; AOT_REGCACHE_SYNC_OUT(); return; L_08A34718: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-30640))); - aot_gpr_5 = (ctx.gpr[2] << 6u); + aot_gpr_5 = (aot_gpr_2 << 6u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(44)))))); @@ -2185,7 +2186,7 @@ L_08A34718: goto L_08A34740; } L_08A34740: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A3474Cu); aot_gpr_5 = (0u | 108u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 16u, 0x08860424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A3474Cu) goto L_08A3474C; @@ -2197,7 +2198,7 @@ L_08A3474C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 16u, 0x08860424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A34758u) goto L_08A34758; AOT_REGCACHE_SYNC_OUT(); return; L_08A34758: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2228))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2228))); aot_gpr_5 = (0u | 61u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; ctx.gpr[19] = (0u | 0u); @@ -2242,20 +2243,20 @@ L_08A34780: goto L_08A34794; } L_08A34794: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(460))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(460))); aot_gpr_5 = (16384u << 16u); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); aot_gpr_31 = (0x08A347A8u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(460), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(460), aot_gpr_4); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A347A8u) goto L_08A347A8; AOT_REGCACHE_SYNC_OUT(); return; L_08A347A8: - aot_gpr_4 = (ctx.gpr[2] + static_cast(3261)); + aot_gpr_4 = (aot_gpr_2 + static_cast(3261)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0)))))); aot_gpr_6 = (0u + static_cast(-17)); aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_5)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(3152), ctx.gpr[17]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(3152), ctx.gpr[17]); { const bool branch_taken = ctx.gpr[17] == 0u; ctx.gpr[18] = (0u + static_cast(-9)); if (branch_taken) { @@ -2264,10 +2265,10 @@ L_08A347A8: goto L_08A347C8; } L_08A347C8: - aot_gpr_5 = (aot_gpr_16 + static_cast(3152)); + aot_gpr_5 = (ctx.gpr[16] + static_cast(3152)); aot_gpr_31 = (0x08A347D4u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A347D4u) goto L_08A347D4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A347D4u) goto L_08A347D4; AOT_REGCACHE_SYNC_OUT(); return; L_08A347D4: { const bool branch_taken = 0u == 0u; @@ -2295,19 +2296,19 @@ L_08A347E4: goto L_08A347F0; } L_08A347F0: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A347FCu); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A347FCu) goto L_08A347FC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08908E78, 65u, 261u, 0x08908E78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A347FCu) goto L_08A347FC; AOT_REGCACHE_SYNC_OUT(); return; L_08A347FC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(3292))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(3292))); aot_gpr_31 = (0x08A34808u); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0141_entry, 141u, 431u, 0x08A39D10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A34808u) goto L_08A34808; AOT_REGCACHE_SYNC_OUT(); return; L_08A34808: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A34814u); aot_gpr_5 = (0u | 65u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 240u, 0x08908D60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A34814u) goto L_08A34814; @@ -2318,23 +2319,23 @@ L_08A34814: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A3481Cu) goto L_08A3481C; AOT_REGCACHE_SYNC_OUT(); return; L_08A3481C: - aot_gpr_4 = (ctx.gpr[2] + static_cast(3261)); + aot_gpr_4 = (aot_gpr_2 + static_cast(3261)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0)))))); aot_gpr_6 = (0u + static_cast(-17)); aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_5)); { const bool branch_taken = ctx.gpr[17] == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(3152), ctx.gpr[17]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(3152), ctx.gpr[17]); if (branch_taken) { goto L_08A348E4; } goto L_08A34838; } L_08A34838: - aot_gpr_5 = (aot_gpr_16 + static_cast(3152)); + aot_gpr_5 = (ctx.gpr[16] + static_cast(3152)); aot_gpr_31 = (0x08A34844u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A34844u) goto L_08A34844; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A34844u) goto L_08A34844; AOT_REGCACHE_SYNC_OUT(); return; L_08A34844: { const bool branch_taken = 0u == 0u; @@ -2381,8 +2382,8 @@ L_08A34868: L_08A34874: aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_31 = (0x08A34880u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A34880u) goto L_08A34880; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08908E78, 65u, 261u, 0x08908E78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A34880u) goto L_08A34880; AOT_REGCACHE_SYNC_OUT(); return; L_08A34880: { const bool branch_taken = 0u == 0u; @@ -2393,18 +2394,18 @@ L_08A34880: goto L_08A34888; } L_08A34888: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A34894u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A34894u) goto L_08A34894; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08908E78, 65u, 261u, 0x08908E78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A34894u) goto L_08A34894; AOT_REGCACHE_SYNC_OUT(); return; L_08A34894: aot_gpr_31 = (0x08A3489Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 195u, 0x08910B38u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A3489Cu) goto L_08A3489C; AOT_REGCACHE_SYNC_OUT(); return; L_08A3489C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08A348A8; @@ -2415,7 +2416,7 @@ L_08A348A4: ctx.gpr[19] = (0u | 1u); goto L_08A348A8; L_08A348A8: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A348B4u); aot_gpr_5 = (0u | 65u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 240u, 0x08908D60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A348B4u) goto L_08A348B4; @@ -2426,23 +2427,23 @@ L_08A348B4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A348BCu) goto L_08A348BC; AOT_REGCACHE_SYNC_OUT(); return; L_08A348BC: - aot_gpr_4 = (ctx.gpr[2] + static_cast(3261)); + aot_gpr_4 = (aot_gpr_2 + static_cast(3261)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0)))))); aot_gpr_6 = (0u + static_cast(-17)); aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_5)); { const bool branch_taken = ctx.gpr[17] == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(3152), ctx.gpr[17]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(3152), ctx.gpr[17]); if (branch_taken) { goto L_08A348E4; } goto L_08A348D8; } L_08A348D8: - aot_gpr_5 = (aot_gpr_16 + static_cast(3152)); + aot_gpr_5 = (ctx.gpr[16] + static_cast(3152)); aot_gpr_31 = (0x08A348E4u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A348E4u) goto L_08A348E4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A348E4u) goto L_08A348E4; AOT_REGCACHE_SYNC_OUT(); return; L_08A348E4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(92))); @@ -2456,12 +2457,12 @@ L_08A348E4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A348FCu) goto L_08A348FC; AOT_REGCACHE_SYNC_OUT(); return; L_08A348FC: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(36))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(36))); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_4 = (aot_gpr_4 + static_cast(40)); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - aot_gpr_4 = (ctx.gpr[2] + aot_gpr_6); + aot_gpr_4 = (aot_gpr_2 + aot_gpr_6); aot_gpr_6 = (0u | 0u); jump_target = ctx.gpr[8]; aot_gpr_31 = (0x08A34920u); @@ -2488,7 +2489,7 @@ L_08A34938: aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(456), aot_gpr_4); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08A34954u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 50u, 0x0891034Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A34954u) goto L_08A34954; AOT_REGCACHE_SYNC_OUT(); return; L_08A34954: @@ -2504,7 +2505,7 @@ L_08A34960: } goto L_08A34968; L_08A34968: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1152))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1152))); if (aot_gpr_4 == 0u) { aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(1929)))))); goto L_08A349A8; @@ -2512,15 +2513,15 @@ L_08A34968: goto L_08A34974; L_08A34974: aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(562), static_cast(0u)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1152))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1152))); aot_gpr_5 = (0u | 1u); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(563), static_cast(0u)); aot_gpr_31 = (0x08A3498Cu); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1152))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1152))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 5u, 0x08B00044u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A3498Cu) goto L_08A3498C; AOT_REGCACHE_SYNC_OUT(); return; L_08A3498C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1152))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1152))); aot_gpr_5 = (0u + static_cast(-497)); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); aot_gpr_5 = (aot_gpr_6 & aot_gpr_5); @@ -2551,7 +2552,7 @@ L_08A349C8: L_08A349D4: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -2566,10 +2567,10 @@ L_08A349D4: L_08A349F0: aot_gpr_29 = (aot_gpr_29 + static_cast(-288)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(2332))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(252), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(252), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(244), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(244), std::bit_cast(ctx.fpr[20])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(248), std::bit_cast(ctx.fpr[22])); { const std::uint32_t aot_run_words[5]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(256), aot_run_words); } @@ -2586,7 +2587,7 @@ L_08A34A28: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A34A30u) goto L_08A34A30; AOT_REGCACHE_SYNC_OUT(); return; L_08A34A30: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08A34EBC; @@ -2599,7 +2600,7 @@ L_08A34A38: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A34A40u) goto L_08A34A40; AOT_REGCACHE_SYNC_OUT(); return; L_08A34A40: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(852))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -2613,7 +2614,7 @@ L_08A34A4C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A34A54u) goto L_08A34A54; AOT_REGCACHE_SYNC_OUT(); return; L_08A34A54: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(852))); aot_gpr_5 = (0u | 6u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -2623,7 +2624,7 @@ L_08A34A54: goto L_08A34A64; } L_08A34A64: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2332))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2332))); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0))); if (aot_gpr_4 == 0u) { aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7800))); @@ -2632,7 +2633,7 @@ L_08A34A64: goto L_08A34A74; L_08A34A74: aot_gpr_31 = (0x08A34A7Cu); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2332))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2332))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0168_entry, 168u, 541u, 0x08AA7770u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A34A7Cu) goto L_08A34A7C; AOT_REGCACHE_SYNC_OUT(); return; L_08A34A7C: @@ -2667,7 +2668,7 @@ L_08A34AB4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A34ABCu) goto L_08A34ABC; AOT_REGCACHE_SYNC_OUT(); return; L_08A34ABC: - ctx.gpr[17] = (aot_gpr_16 + static_cast(48)); + ctx.gpr[17] = (ctx.gpr[16] + static_cast(48)); { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -2677,7 +2678,7 @@ L_08A34ABC: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_4 = (ctx.gpr[2] + static_cast(48)); + aot_gpr_4 = (aot_gpr_2 + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -2703,8 +2704,8 @@ L_08A34ABC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), aot_gpr_4); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(48))); aot_gpr_4 = (std::bit_cast(aot_fpr_14)); - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(52))); - aot_gpr_5 = (std::bit_cast(ctx.fpr[15])); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(52))); + aot_gpr_5 = (std::bit_cast(aot_fpr_15)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_5); ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -2716,8 +2717,8 @@ L_08A34ABC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A34B28u) goto L_08A34B28; AOT_REGCACHE_SYNC_OUT(); return; L_08A34B28: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(320))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(324))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(320))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(324))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(192), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(196), std::bit_cast(aot_fpr_13)); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); @@ -2726,8 +2727,8 @@ L_08A34B28: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(60), aot_gpr_4); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(56))); aot_gpr_4 = (std::bit_cast(aot_fpr_14)); - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(60))); - aot_gpr_5 = (std::bit_cast(ctx.fpr[15])); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(60))); + aot_gpr_5 = (std::bit_cast(aot_fpr_15)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_5); ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -2755,9 +2756,9 @@ L_08A34B9C: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(44))); { const float fs = aot_fpr_12; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } { const float fs = aot_fpr_13; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } - aot_fpr_20 = std::bit_cast(0u); + ctx.fpr[20] = std::bit_cast(0u); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_20)) ? 0x00800000u : 0u); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[20])) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -2773,7 +2774,7 @@ L_08A34BC4: { const float fs = aot_fpr_13; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_gpr_4 = (16256u << 16u); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_20)) ? 0x00800000u : 0u); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[20])) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); ctx.fpr[22] = std::bit_cast(aot_gpr_4); @@ -2811,7 +2812,7 @@ L_08A34C28: { const float fs = aot_fpr_12; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } { const float fs = aot_fpr_13; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_fpr_12 = aot_fpr_12 + aot_fpr_13; - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_20)) ? 0x00800000u : 0u); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[20])) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -2847,10 +2848,10 @@ L_08A34C88: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(32))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(40))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(36))); - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(44))); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(44))); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_4 = (16204u << 16u); - { const float fs = aot_fpr_14; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } + { const float fs = aot_fpr_14; const float ft = aot_fpr_15; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } aot_gpr_4 = (aot_gpr_4 | 52429u); ctx.fpr[16] = std::bit_cast(aot_gpr_4); aot_fpr_12 = aot_fpr_12 + aot_fpr_14; @@ -2891,7 +2892,7 @@ L_08A34CC0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0092_entry, 92u, 650u, 0x08976FBCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A34CF4u) goto L_08A34CF4; AOT_REGCACHE_SYNC_OUT(); return; L_08A34CF4: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); aot_gpr_4 = (0u + static_cast(-1)); { const bool branch_taken = ctx.gpr[18] == aot_gpr_4; // nop @@ -2902,11 +2903,11 @@ L_08A34CF4: } L_08A34D04: aot_gpr_31 = (0x08A34D0Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 843u, 0x0890FCD8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A34D0Cu) goto L_08A34D0C; AOT_REGCACHE_SYNC_OUT(); return; L_08A34D0C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08A34EB4; @@ -2916,7 +2917,7 @@ L_08A34D0C: L_08A34D14: aot_gpr_5 = (aot_gpr_29 + static_cast(80)); aot_gpr_31 = (0x08A34D20u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 875u, 0x0890FE30u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A34D20u) goto L_08A34D20; AOT_REGCACHE_SYNC_OUT(); return; L_08A34D20: @@ -2942,7 +2943,7 @@ L_08A34D20: aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(84))); aot_fpr_12 = aot_fpr_12 - aot_fpr_14; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(100), std::bit_cast(aot_fpr_12)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(104), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(104), std::bit_cast(ctx.fpr[20])); { const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -2998,7 +2999,7 @@ L_08A34D88: const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(136), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(136), std::bit_cast(ctx.fpr[20])); { const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -3024,7 +3025,7 @@ L_08A34D88: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(152))); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_20)) ? 0x00800000u : 0u); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[20])) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -3039,7 +3040,7 @@ L_08A34DC8: aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); aot_gpr_4 = (aot_gpr_4 | 4059u); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(100))); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(aot_fpr_20)) && aot_fpr_12 == aot_fpr_20)) ? 0x00800000u : 0u); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(ctx.fpr[20])) && aot_fpr_12 == ctx.fpr[20])) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); ctx.fpr[22] = std::bit_cast(aot_gpr_4); @@ -3049,7 +3050,7 @@ L_08A34DC8: goto L_08A34DEC; } L_08A34DEC: - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_13) || std::isnan(aot_fpr_20)) && aot_fpr_13 == aot_fpr_20)) ? 0x00800000u : 0u); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_13) || std::isnan(ctx.fpr[20])) && aot_fpr_13 == ctx.fpr[20])) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -3060,7 +3061,7 @@ L_08A34DEC: } L_08A34DFC: { const bool branch_taken = 0u == 0u; - aot_fpr_20 = aot_fpr_20 + ctx.fpr[22]; + ctx.fpr[20] = ctx.fpr[20] + ctx.fpr[22]; if (branch_taken) { goto L_08A34E10; } @@ -3072,20 +3073,20 @@ L_08A34E04: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 28u, 0x08964540u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A34E0Cu) goto L_08A34E0C; AOT_REGCACHE_SYNC_OUT(); return; L_08A34E0C: - aot_fpr_20 = ctx.fpr[0] + ctx.fpr[22]; + ctx.fpr[20] = ctx.fpr[0] + ctx.fpr[22]; goto L_08A34E10; L_08A34E10: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A34E1Cu); - aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); + aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0170_entry, 170u, 785u, 0x08AAF8ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A34E1Cu) goto L_08A34E1C; AOT_REGCACHE_SYNC_OUT(); return; L_08A34E1C: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2256), std::bit_cast(aot_fpr_20)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2332))); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2260), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(2256), std::bit_cast(ctx.fpr[20])); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2332))); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(2260), std::bit_cast(ctx.fpr[20])); aot_gpr_31 = (0x08A34E30u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0168_entry, 168u, 524u, 0x08AA76A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A34E30u) goto L_08A34E30; AOT_REGCACHE_SYNC_OUT(); return; L_08A34E30: @@ -3098,7 +3099,7 @@ L_08A34E30: } L_08A34E38: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(152))); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_20)) ? 0x00800000u : 0u); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[20])) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -3113,7 +3114,7 @@ L_08A34E4C: aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); aot_gpr_4 = (aot_gpr_4 | 4059u); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(100))); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(aot_fpr_20)) && aot_fpr_12 == aot_fpr_20)) ? 0x00800000u : 0u); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(ctx.fpr[20])) && aot_fpr_12 == ctx.fpr[20])) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); ctx.fpr[22] = std::bit_cast(aot_gpr_4); @@ -3123,7 +3124,7 @@ L_08A34E4C: goto L_08A34E70; } L_08A34E70: - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_13) || std::isnan(aot_fpr_20)) && aot_fpr_13 == aot_fpr_20)) ? 0x00800000u : 0u); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_13) || std::isnan(ctx.fpr[20])) && aot_fpr_13 == ctx.fpr[20])) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); // nop @@ -3134,7 +3135,7 @@ L_08A34E70: } L_08A34E80: { const bool branch_taken = 0u == 0u; - aot_fpr_20 = aot_fpr_20 - ctx.fpr[22]; + ctx.fpr[20] = ctx.fpr[20] - ctx.fpr[22]; if (branch_taken) { goto L_08A34E94; } @@ -3146,20 +3147,20 @@ L_08A34E88: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 28u, 0x08964540u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A34E90u) goto L_08A34E90; AOT_REGCACHE_SYNC_OUT(); return; L_08A34E90: - aot_fpr_20 = ctx.fpr[0] - ctx.fpr[22]; + ctx.fpr[20] = ctx.fpr[0] - ctx.fpr[22]; goto L_08A34E94; L_08A34E94: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A34EA0u); - aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); + aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0170_entry, 170u, 785u, 0x08AAF8ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A34EA0u) goto L_08A34EA0; AOT_REGCACHE_SYNC_OUT(); return; L_08A34EA0: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2256), std::bit_cast(aot_fpr_20)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2332))); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2260), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(2256), std::bit_cast(ctx.fpr[20])); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2332))); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(2260), std::bit_cast(ctx.fpr[20])); aot_gpr_31 = (0x08A34EB4u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0168_entry, 168u, 524u, 0x08AA76A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A34EB4u) goto L_08A34EB4; AOT_REGCACHE_SYNC_OUT(); return; L_08A34EB4: @@ -3172,15 +3173,15 @@ L_08A34EB4: } L_08A34EBC: aot_gpr_31 = (0x08A34EC4u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0139_entry, 139u, 712u, 0x08A33164u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A34EC4u) goto L_08A34EC4; AOT_REGCACHE_SYNC_OUT(); return; L_08A34EC4: { std::uint32_t aot_run_words[8]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(244), aot_run_words); - aot_fpr_20 = std::bit_cast(aot_run_words[0]); + ctx.fpr[20] = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); - aot_gpr_16 = aot_run_words[2]; + ctx.gpr[16] = aot_run_words[2]; ctx.gpr[17] = aot_run_words[3]; ctx.gpr[18] = aot_run_words[4]; ctx.gpr[19] = aot_run_words[5]; @@ -3202,7 +3203,7 @@ L_08A34EEC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0038_entry, 38u, 252u, 0x0889D374u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A34F00u) goto L_08A34F00; AOT_REGCACHE_SYNC_OUT(); return; L_08A34F00: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -3238,7 +3239,7 @@ L_08A34F34: goto L_08A34F3C; } L_08A34F3C: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_08A34F40; L_08A34F40: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -3250,24 +3251,24 @@ L_08A34F40: AOT_REGCACHE_SYNC_OUT(); return; L_08A34F4C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); ctx.gpr[17] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(8))); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08A34F6Cu); aot_gpr_5 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 555u, 0x088079D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A34F6Cu) goto L_08A34F6C; AOT_REGCACHE_SYNC_OUT(); return; L_08A34F6C: - aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(0), ctx.gpr[17]); + aot_mem.aot_direct_store32(aot_gpr_2 + static_cast(0), ctx.gpr[17]); aot_gpr_5 = (ctx.gpr[28] + static_cast(-6828)); aot_gpr_31 = (0x08A34F7Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0038_entry, 38u, 249u, 0x0889D344u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A34F7Cu) goto L_08A34F7C; AOT_REGCACHE_SYNC_OUT(); return; L_08A34F7C: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A34F88u); aot_gpr_5 = (0u + static_cast(-2)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 492u, 0x08807510u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A34F88u) goto L_08A34F88; @@ -3275,7 +3276,7 @@ L_08A34F7C: L_08A34F88: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -3287,59 +3288,59 @@ L_08A34F88: AOT_REGCACHE_SYNC_OUT(); return; L_08A34F9C: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), ctx.gpr[20]); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.gpr[20] = (0u | 1u); - { const std::uint32_t aot_run_words[4]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26])}; + { const std::uint32_t aot_run_words[4]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } { const std::uint32_t aot_run_words[3]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(20), aot_run_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), aot_gpr_31); aot_gpr_31 = (0x08A34FD8u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A34FD8u) goto L_08A34FD8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A34FD8u) goto L_08A34FD8; AOT_REGCACHE_SYNC_OUT(); return; L_08A34FD8: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[0])); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 2u); aot_gpr_31 = (0x08A34FECu); ctx.gpr[19] = (std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A34FECu) goto L_08A34FEC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A34FECu) goto L_08A34FEC; AOT_REGCACHE_SYNC_OUT(); return; L_08A34FEC: ctx.fpr[26] = std::bit_cast(std::bit_cast(ctx.fpr[0])); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A34FFCu); aot_gpr_5 = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A34FFCu) goto L_08A34FFC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A34FFCu) goto L_08A34FFC; AOT_REGCACHE_SYNC_OUT(); return; L_08A34FFC: ctx.fpr[24] = std::bit_cast(std::bit_cast(ctx.fpr[0])); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A3500Cu); aot_gpr_5 = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A3500Cu) goto L_08A3500C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A3500Cu) goto L_08A3500C; AOT_REGCACHE_SYNC_OUT(); return; L_08A3500C: ctx.fpr[22] = std::bit_cast(std::bit_cast(ctx.fpr[0])); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A3501Cu); aot_gpr_5 = (0u | 5u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A3501Cu) goto L_08A3501C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A3501Cu) goto L_08A3501C; AOT_REGCACHE_SYNC_OUT(); return; L_08A3501C: - aot_fpr_20 = std::bit_cast(std::bit_cast(ctx.fpr[0])); + ctx.fpr[20] = std::bit_cast(std::bit_cast(ctx.fpr[0])); ctx.gpr[18] = (0u | 0u); aot_gpr_31 = (0x08A3502Cu); aot_gpr_4 = (0u | 116u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A3502Cu) goto L_08A3502C; AOT_REGCACHE_SYNC_OUT(); return; L_08A3502C: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[17] == 0u; - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (branch_taken) { goto L_08A3505C; } @@ -3352,26 +3353,26 @@ L_08A35038: aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[24])); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[22])); aot_gpr_31 = (0x08A35054u); - ctx.fpr[15] = std::bit_cast(std::bit_cast(aot_fpr_20)); + aot_fpr_15 = std::bit_cast(std::bit_cast(ctx.fpr[20])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 460u, 0x08B1E884u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A35054u) goto L_08A35054; AOT_REGCACHE_SYNC_OUT(); return; L_08A35054: ctx.gpr[18] = (ctx.gpr[17] | 0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_08A3505C; L_08A3505C: aot_gpr_31 = (0x08A35064u); aot_gpr_5 = (ctx.gpr[18] | 0u); goto L_08A34F4C; L_08A35064: - ctx.gpr[2] = (ctx.gpr[20] | 0u); + aot_gpr_2 = (ctx.gpr[20] | 0u); { std::uint32_t aot_run_words[10]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_fpr_20 = std::bit_cast(aot_run_words[0]); + ctx.fpr[20] = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); ctx.fpr[26] = std::bit_cast(aot_run_words[3]); - aot_gpr_16 = aot_run_words[4]; + ctx.gpr[16] = aot_run_words[4]; ctx.gpr[17] = aot_run_words[5]; ctx.gpr[18] = aot_run_words[6]; ctx.gpr[19] = aot_run_words[7]; @@ -3388,14 +3389,14 @@ L_08A35098: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[17]); ctx.gpr[17] = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); aot_gpr_31 = (0x08A350B4u); aot_gpr_5 = (0u | 1u); goto L_08A34EEC; L_08A350B4: - aot_gpr_16 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08A350F0; @@ -3406,10 +3407,10 @@ L_08A350C0: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08A350CCu); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A350CCu) goto L_08A350CC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880692C, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[16], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A350CCu) goto L_08A350CC; AOT_REGCACHE_SYNC_OUT(); return; L_08A350CC: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08A350F8; @@ -3418,18 +3419,18 @@ L_08A350CC: } L_08A350D4: aot_gpr_31 = (0x08A350DCu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 515u, 0x08B1EDB8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A350DCu) goto L_08A350DC; AOT_REGCACHE_SYNC_OUT(); return; L_08A350DC: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08A350E8u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[0])); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A350E8u) goto L_08A350E8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A350E8u) goto L_08A350E8; AOT_REGCACHE_SYNC_OUT(); return; L_08A350E8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_08A35170; } @@ -3437,7 +3438,7 @@ L_08A350E8: } L_08A350F0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08A35170; } @@ -3447,7 +3448,7 @@ L_08A350F8: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08A35104u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A35104u) goto L_08A35104; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A35104u) goto L_08A35104; AOT_REGCACHE_SYNC_OUT(); return; L_08A35104: aot_gpr_4 = (16256u << 16u); @@ -3498,14 +3499,14 @@ L_08A35150: } L_08A35158: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A35168u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), std::bit_cast(aot_fpr_12)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 511u, 0x08B1ED60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A35168u) goto L_08A35168; AOT_REGCACHE_SYNC_OUT(); return; L_08A35168: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08A35170; } @@ -3514,7 +3515,7 @@ L_08A35168: L_08A35170: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(8), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -3526,15 +3527,15 @@ L_08A35170: AOT_REGCACHE_SYNC_OUT(); return; L_08A35184: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08A351A0u); aot_gpr_5 = (0u | 1u); goto L_08A34EEC; L_08A351A0: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { @@ -3543,13 +3544,13 @@ L_08A351A0: goto L_08A351AC; } L_08A351AC: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A351B8u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A351B8u) goto L_08A351B8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880692C, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[16], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A351B8u) goto L_08A351B8; AOT_REGCACHE_SYNC_OUT(); return; L_08A351B8: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08A351E8; @@ -3562,15 +3563,15 @@ L_08A351C0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 507u, 0x08B1ED14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A351C8u) goto L_08A351C8; AOT_REGCACHE_SYNC_OUT(); return; L_08A351C8: - aot_fpr_12 = std::bit_cast(ctx.gpr[2]); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_fpr_12 = std::bit_cast(aot_gpr_2); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A351D8u); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A351D8u) goto L_08A351D8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A351D8u) goto L_08A351D8; AOT_REGCACHE_SYNC_OUT(); return; L_08A351D8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_08A35210; } @@ -3578,17 +3579,17 @@ L_08A351D8: } L_08A351E0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08A35210; } goto L_08A351E8; } L_08A351E8: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A351F4u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A351F4u) goto L_08A351F4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A351F4u) goto L_08A351F4; AOT_REGCACHE_SYNC_OUT(); return; L_08A351F4: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[0])); @@ -3600,7 +3601,7 @@ L_08A351F4: AOT_REGCACHE_SYNC_OUT(); return; L_08A35208: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08A35210; } @@ -3609,7 +3610,7 @@ L_08A35208: L_08A35210: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -3621,15 +3622,15 @@ L_08A35210: AOT_REGCACHE_SYNC_OUT(); return; L_08A35224: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08A35240u); aot_gpr_5 = (0u | 1u); goto L_08A34EEC; L_08A35240: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { @@ -3638,14 +3639,14 @@ L_08A35240: goto L_08A3524C; } L_08A3524C: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A35258u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A35258u) goto L_08A35258; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806888, 0u, 324u, 0x08806888u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A35258u) goto L_08A35258; AOT_REGCACHE_SYNC_OUT(); return; L_08A35258: aot_gpr_4 = (0u | 1u); - { const bool branch_taken = ctx.gpr[2] == aot_gpr_4; + { const bool branch_taken = aot_gpr_2 == aot_gpr_4; // nop if (branch_taken) { goto L_08A3528C; @@ -3658,15 +3659,15 @@ L_08A35264: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 523u, 0x08B1EE5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A3526Cu) goto L_08A3526C; AOT_REGCACHE_SYNC_OUT(); return; L_08A3526C: - aot_fpr_12 = std::bit_cast(ctx.gpr[2]); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_fpr_12 = std::bit_cast(aot_gpr_2); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A3527Cu); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A3527Cu) goto L_08A3527C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A3527Cu) goto L_08A3527C; AOT_REGCACHE_SYNC_OUT(); return; L_08A3527C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_08A352AC; } @@ -3674,27 +3675,27 @@ L_08A3527C: } L_08A35284: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08A352AC; } goto L_08A3528C; } L_08A3528C: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A35298u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A35298u) goto L_08A35298; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806AE0, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A35298u) goto L_08A35298; AOT_REGCACHE_SYNC_OUT(); return; L_08A35298: - aot_gpr_5 = (0u < ctx.gpr[2] ? 1u : 0u); + aot_gpr_5 = (0u < aot_gpr_2 ? 1u : 0u); aot_gpr_31 = (0x08A352A4u); aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 519u, 0x08B1EE04u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A352A4u) goto L_08A352A4; AOT_REGCACHE_SYNC_OUT(); return; L_08A352A4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08A352AC; } @@ -3703,7 +3704,7 @@ L_08A352A4: L_08A352AC: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -3715,15 +3716,15 @@ L_08A352AC: AOT_REGCACHE_SYNC_OUT(); return; L_08A352C0: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); aot_gpr_31 = (0x08A352DCu); aot_gpr_5 = (0u | 1u); goto L_08A34EEC; L_08A352DC: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { @@ -3732,13 +3733,13 @@ L_08A352DC: goto L_08A352E8; } L_08A352E8: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A352F4u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A352F4u) goto L_08A352F4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880692C, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[16], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A352F4u) goto L_08A352F4; AOT_REGCACHE_SYNC_OUT(); return; L_08A352F4: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08A3530C; @@ -3755,20 +3756,20 @@ L_08A352FC: } L_08A35304: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08A35398; } goto L_08A3530C; } L_08A3530C: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A35318u); aot_gpr_5 = (0u | 2u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0075_entry, 75u, 355u, 0x08931D08u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A35318u) goto L_08A35318; AOT_REGCACHE_SYNC_OUT(); return; L_08A35318: - aot_gpr_4 = (ctx.gpr[2] << 8u); + aot_gpr_4 = (aot_gpr_2 << 8u); aot_gpr_4 = (aot_gpr_4 + static_cast(255)); aot_gpr_5 = (aot_gpr_4 >> 24u); aot_gpr_6 = (aot_gpr_4 >> 16u); @@ -3784,7 +3785,7 @@ L_08A35318: AOT_REGCACHE_SYNC_OUT(); return; L_08A35348: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08A35398; } @@ -3796,11 +3797,11 @@ L_08A35350: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0121_entry, 121u, 57u, 0x089E84ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A35358u) goto L_08A35358; AOT_REGCACHE_SYNC_OUT(); return; L_08A35358: - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(0))); - aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(1))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(0))); + aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(1))); aot_gpr_4 = (aot_gpr_4 << 16u); aot_gpr_5 = (aot_gpr_5 << 8u); - aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(2))); + aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(2))); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); aot_fpr_12 = std::bit_cast(aot_gpr_4); @@ -3818,16 +3819,16 @@ L_08A35380: goto L_08A3538C; L_08A3538C: aot_gpr_31 = (0x08A35394u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A35394u) goto L_08A35394; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A35394u) goto L_08A35394; AOT_REGCACHE_SYNC_OUT(); return; L_08A35394: - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); goto L_08A35398; L_08A35398: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(4), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -3839,15 +3840,15 @@ L_08A35398: AOT_REGCACHE_SYNC_OUT(); return; L_08A353AC: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08A353C8u); aot_gpr_5 = (0u | 1u); goto L_08A34EEC; L_08A353C8: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { @@ -3856,13 +3857,13 @@ L_08A353C8: goto L_08A353D4; } L_08A353D4: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A353E0u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A353E0u) goto L_08A353E0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880692C, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[16], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A353E0u) goto L_08A353E0; AOT_REGCACHE_SYNC_OUT(); return; L_08A353E0: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08A353F8; @@ -3879,17 +3880,17 @@ L_08A353E8: } L_08A353F0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08A3541C; } goto L_08A353F8; } L_08A353F8: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A35404u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A35404u) goto L_08A35404; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A35404u) goto L_08A35404; AOT_REGCACHE_SYNC_OUT(); return; L_08A35404: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[0])); @@ -3900,12 +3901,12 @@ L_08A35404: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 527u, 0x08B1EEACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A35418u) goto L_08A35418; AOT_REGCACHE_SYNC_OUT(); return; L_08A35418: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_08A3541C; L_08A3541C: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -3917,15 +3918,15 @@ L_08A3541C: AOT_REGCACHE_SYNC_OUT(); return; L_08A35430: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08A3544Cu); aot_gpr_5 = (0u | 1u); goto L_08A34EEC; L_08A3544C: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { @@ -3934,13 +3935,13 @@ L_08A3544C: goto L_08A35458; } L_08A35458: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A35464u); aot_gpr_5 = (0u | 2u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 344u, 0x08806984u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A35464u) goto L_08A35464; AOT_REGCACHE_SYNC_OUT(); return; L_08A35464: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08A3547C; @@ -3957,14 +3958,14 @@ L_08A3546C: } L_08A35474: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08A35498; } goto L_08A3547C; } L_08A3547C: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A35488u); aot_gpr_5 = (0u | 2u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 375u, 0x08806B2Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A35488u) goto L_08A35488; @@ -3972,16 +3973,16 @@ L_08A3547C: L_08A35488: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08A35494u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 531u, 0x08B1EF04u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A35494u) goto L_08A35494; AOT_REGCACHE_SYNC_OUT(); return; L_08A35494: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_08A35498; L_08A35498: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -4054,7 +4055,7 @@ L_08A3550C: aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(2), static_cast(ctx.gpr[7])); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(3), static_cast(ctx.gpr[8])); jump_target = aot_gpr_31; - ctx.gpr[2] = (aot_gpr_4 | 0u); + aot_gpr_2 = (aot_gpr_4 | 0u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -4069,7 +4070,7 @@ L_08A35524: L_08A3552C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[28] + static_cast(9892))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_gpr_5 = (static_cast(aot_gpr_4) < 2 ? 1u : 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); { const bool branch_taken = aot_gpr_5 == 0u; @@ -4131,9 +4132,9 @@ L_08A35578: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8728))); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8732))); - aot_gpr_16 = (aot_gpr_5 - aot_gpr_6); - aot_gpr_16 = (aot_gpr_4 - aot_gpr_16); - if (static_cast(aot_gpr_16) > 0) { + ctx.gpr[16] = (aot_gpr_5 - aot_gpr_6); + ctx.gpr[16] = (aot_gpr_4 - ctx.gpr[16]); + if (static_cast(ctx.gpr[16]) > 0) { aot_gpr_4 = (0u | 1000u); goto L_08A355FC; } @@ -4162,7 +4163,7 @@ L_08A355A8: AOT_REGCACHE_SYNC_OUT(); return; L_08A355B0: aot_gpr_31 = (0x08A355B8u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 745u, 0x08947944u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A355B8u) goto L_08A355B8; AOT_REGCACHE_SYNC_OUT(); return; L_08A355B8: @@ -4200,10 +4201,10 @@ L_08A355F4: goto L_08A355FC; } L_08A355FC: - { const std::int32_t dividend = static_cast(aot_gpr_16); const std::int32_t divisor = static_cast(aot_gpr_4); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } + { const std::int32_t dividend = static_cast(ctx.gpr[16]); const std::int32_t divisor = static_cast(aot_gpr_4); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(9920))); - aot_gpr_16 = (ctx.lo); - { const bool branch_taken = aot_gpr_16 == aot_gpr_4; + ctx.gpr[16] = (ctx.lo); + { const bool branch_taken = ctx.gpr[16] == aot_gpr_4; // nop if (branch_taken) { goto L_08A35630; @@ -4223,11 +4224,11 @@ L_08A3561C: aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); aot_gpr_5 = (0u | 168u); aot_gpr_31 = (0x08A3562Cu); - aot_gpr_6 = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 553u, 0x08A062F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A3562Cu) goto L_08A3562C; AOT_REGCACHE_SYNC_OUT(); return; L_08A3562C: - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(9920), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(9920), ctx.gpr[16]); goto L_08A35630; L_08A35630: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7080))); @@ -4281,7 +4282,7 @@ L_08A35678: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A35684u) goto L_08A35684; AOT_REGCACHE_SYNC_OUT(); return; L_08A35684: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08A35690u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 655u, 0x08947470u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A35690u) goto L_08A35690; @@ -4323,7 +4324,7 @@ L_08A356BC: goto L_08A356C4; } L_08A356C4: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -4346,7 +4347,7 @@ L_08A356D4: ctx.gpr[17] = (aot_gpr_5 | 0u); ctx.gpr[18] = (ctx.gpr[18] + static_cast(14304)); aot_gpr_5 = (ctx.gpr[28] + static_cast(-6816)); - { const std::uint32_t aot_run_words[5]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), aot_gpr_16}; + { const std::uint32_t aot_run_words[5]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), ctx.gpr[16]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(40), aot_run_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), ctx.gpr[19]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(72), aot_gpr_31); @@ -4363,10 +4364,10 @@ L_08A35744: aot_gpr_5 = (17389u << 16u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5848))); aot_gpr_5 = (aot_gpr_5 | 32768u); - aot_gpr_16 = (2238u << 16u); + ctx.gpr[16] = (2238u << 16u); ctx.fpr[24] = std::bit_cast(aot_gpr_5); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_16 = (aot_gpr_16 + static_cast(-8144)); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(-8144)); if (branch_taken) { goto L_08A3576C; } @@ -4420,15 +4421,15 @@ L_08A357BC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0109_entry, 109u, 554u, 0x089BAA68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A357C4u) goto L_08A357C4; AOT_REGCACHE_SYNC_OUT(); return; L_08A357C4: - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(3), static_cast(ctx.gpr[2])); + aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(3), static_cast(aot_gpr_2)); aot_gpr_31 = (0x08A357D0u); aot_gpr_4 = (aot_gpr_29 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A357D0u) goto L_08A357D0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C4A8, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A357D0u) goto L_08A357D0; AOT_REGCACHE_SYNC_OUT(); return; L_08A357D0: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08A357DCu); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0032_entry, 32u, 843u, 0x08887B04u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A357DCu) goto L_08A357DC; AOT_REGCACHE_SYNC_OUT(); return; L_08A357DC: @@ -4446,11 +4447,11 @@ L_08A357E8: ctx.gpr[18] = (0u | 0u); aot_gpr_31 = (0x08A357FCu); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A357FCu) goto L_08A357FC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC734, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A357FCu) goto L_08A357FC; AOT_REGCACHE_SYNC_OUT(); return; L_08A357FC: aot_gpr_4 = (0u | 9u); - { const bool branch_taken = ctx.gpr[2] == aot_gpr_4; + { const bool branch_taken = aot_gpr_2 == aot_gpr_4; // nop if (branch_taken) { goto L_08A3581C; @@ -4460,11 +4461,11 @@ L_08A357FC: L_08A35808: aot_gpr_31 = (0x08A35810u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A35810u) goto L_08A35810; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC734, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A35810u) goto L_08A35810; AOT_REGCACHE_SYNC_OUT(); return; L_08A35810: aot_gpr_4 = (0u | 7u); - { const bool branch_taken = ctx.gpr[2] != aot_gpr_4; + { const bool branch_taken = aot_gpr_2 != aot_gpr_4; // nop if (branch_taken) { goto L_08A35834; @@ -4478,7 +4479,7 @@ L_08A3581C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 145u, 0x08ADC774u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A35828u) goto L_08A35828; AOT_REGCACHE_SYNC_OUT(); return; L_08A35828: - { const bool branch_taken = static_cast(ctx.gpr[2]) <= 0; + { const bool branch_taken = static_cast(aot_gpr_2) <= 0; // nop if (branch_taken) { goto L_08A35834; @@ -4523,17 +4524,17 @@ L_08A3584C: L_08A3587C: aot_gpr_31 = (0x08A35884u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A35884u) goto L_08A35884; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C05C, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[16], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A35884u) goto L_08A35884; AOT_REGCACHE_SYNC_OUT(); return; L_08A35884: aot_gpr_31 = (0x08A3588Cu); aot_gpr_4 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A3588Cu) goto L_08A3588C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C604, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A3588Cu) goto L_08A3588C; AOT_REGCACHE_SYNC_OUT(); return; L_08A3588C: aot_gpr_31 = (0x08A35894u); aot_gpr_4 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A35894u) goto L_08A35894; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C498, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A35894u) goto L_08A35894; AOT_REGCACHE_SYNC_OUT(); return; L_08A35894: aot_gpr_4 = (16143u << 16u); @@ -4552,8 +4553,8 @@ L_08A358A4: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (17288u << 16u); aot_gpr_31 = (0x08A358CCu); - ctx.fpr[15] = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A358CCu) goto L_08A358CC; + aot_fpr_15 = std::bit_cast(aot_gpr_5); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08873400, 27u, 732u, 0x08873400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A358CCu) goto L_08A358CC; AOT_REGCACHE_SYNC_OUT(); return; L_08A358CC: aot_gpr_4 = (0u | 255u); @@ -4564,7 +4565,7 @@ L_08A358CC: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(7), static_cast(aot_gpr_4)); aot_gpr_6 = (ctx.gpr[18] + static_cast(63)); ctx.gpr[7] = (aot_gpr_29 + static_cast(4)); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 0u); ctx.gpr[8] = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08A35900u); @@ -4594,20 +4595,20 @@ L_08A35910: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[22])); aot_gpr_31 = (0x08A35938u); - ctx.fpr[15] = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A35938u) goto L_08A35938; + aot_fpr_15 = std::bit_cast(aot_gpr_5); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08873400, 27u, 732u, 0x08873400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A35938u) goto L_08A35938; AOT_REGCACHE_SYNC_OUT(); return; L_08A35938: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_6 = (0u | 0u); - ctx.gpr[7] = (ctx.gpr[2] | 0u); + ctx.gpr[7] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08A35950u); ctx.gpr[8] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 90u, 0x08B0C660u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A35950u) goto L_08A35950; AOT_REGCACHE_SYNC_OUT(); return; L_08A35950: - aot_gpr_4 = (ctx.gpr[2] + static_cast(4)); + aot_gpr_4 = (aot_gpr_2 + static_cast(4)); aot_fpr_12 = std::bit_cast(aot_gpr_4); ctx.fpr[26] = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_gpr_31 = (0x08A35964u); @@ -4616,23 +4617,23 @@ L_08A35950: AOT_REGCACHE_SYNC_OUT(); return; L_08A35964: aot_gpr_4 = (17096u << 16u); - aot_fpr_20 = std::bit_cast(aot_gpr_4); + ctx.fpr[20] = std::bit_cast(aot_gpr_4); aot_gpr_31 = (0x08A35974u); ctx.fpr[26] = ctx.fpr[24] - ctx.fpr[26]; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 75u, 0x08B0C580u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A35974u) goto L_08A35974; AOT_REGCACHE_SYNC_OUT(); return; L_08A35974: - ctx.fpr[15] = ctx.fpr[0] + aot_fpr_20; + aot_fpr_15 = ctx.fpr[0] + ctx.fpr[20]; aot_gpr_4 = (ctx.gpr[19] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[22])); - aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); + aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_gpr_31 = (0x08A3598Cu); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[26])); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A3598Cu) goto L_08A3598C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08873400, 27u, 732u, 0x08873400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A3598Cu) goto L_08A3598C; AOT_REGCACHE_SYNC_OUT(); return; L_08A3598C: aot_gpr_31 = (0x08A35994u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 64u, 0x08B0C4D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A35994u) goto L_08A35994; AOT_REGCACHE_SYNC_OUT(); return; L_08A35994: @@ -4649,7 +4650,7 @@ L_08A359A0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A359ACu) goto L_08A359AC; AOT_REGCACHE_SYNC_OUT(); return; L_08A359AC: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { @@ -4660,7 +4661,7 @@ L_08A359AC: L_08A359B8: aot_gpr_31 = (0x08A359C0u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A359C0u) goto L_08A359C0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A359C0u) goto L_08A359C0; AOT_REGCACHE_SYNC_OUT(); return; L_08A359C0: ctx.gpr[18] = (ctx.gpr[17] | 0u); @@ -4675,16 +4676,16 @@ L_08A359CC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A359D4u) goto L_08A359D4; AOT_REGCACHE_SYNC_OUT(); return; L_08A359D4: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08A359E4u); aot_gpr_6 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A359E4u) goto L_08A359E4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A359E4u) goto L_08A359E4; AOT_REGCACHE_SYNC_OUT(); return; L_08A359E4: aot_gpr_31 = (0x08A359ECu); aot_gpr_4 = (aot_gpr_29 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A359ECu) goto L_08A359EC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C4A8, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A359ECu) goto L_08A359EC; AOT_REGCACHE_SYNC_OUT(); return; L_08A359EC: aot_gpr_31 = (0x08A359F4u); @@ -4697,34 +4698,34 @@ L_08A359F4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 75u, 0x08B0C580u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A359FCu) goto L_08A359FC; AOT_REGCACHE_SYNC_OUT(); return; L_08A359FC: - ctx.fpr[15] = ctx.fpr[0] + aot_fpr_20; + aot_fpr_15 = ctx.fpr[0] + ctx.fpr[20]; aot_gpr_4 = (ctx.gpr[19] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[22])); - aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); + aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_gpr_31 = (0x08A35A14u); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[24])); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A35A14u) goto L_08A35A14; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08873400, 27u, 732u, 0x08873400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A35A14u) goto L_08A35A14; AOT_REGCACHE_SYNC_OUT(); return; L_08A35A14: aot_gpr_31 = (0x08A35A1Cu); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 64u, 0x08B0C4D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A35A1Cu) goto L_08A35A1C; AOT_REGCACHE_SYNC_OUT(); return; L_08A35A1C: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08A35A2Cu); aot_gpr_6 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A35A2Cu) goto L_08A35A2C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A35A2Cu) goto L_08A35A2C; AOT_REGCACHE_SYNC_OUT(); return; L_08A35A2C: { std::uint32_t aot_run_words[9]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(40), aot_run_words); - aot_fpr_20 = std::bit_cast(aot_run_words[0]); + ctx.fpr[20] = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); ctx.fpr[26] = std::bit_cast(aot_run_words[3]); - aot_gpr_16 = aot_run_words[4]; + ctx.gpr[16] = aot_run_words[4]; ctx.gpr[17] = aot_run_words[5]; ctx.gpr[18] = aot_run_words[6]; ctx.gpr[19] = aot_run_words[7]; @@ -4738,16 +4739,16 @@ L_08A35A2C: AOT_REGCACHE_SYNC_OUT(); return; L_08A35A58: jump_target = aot_gpr_31; - ctx.gpr[2] = (aot_mem.aot_direct_load16(ctx.gpr[28] + static_cast(9892))); + aot_gpr_2 = (aot_mem.aot_direct_load16(ctx.gpr[28] + static_cast(9892))); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08A35A60: aot_gpr_29 = (aot_gpr_29 + static_cast(-64)); - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); + aot_gpr_2 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); ctx.gpr[3] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(68))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_2); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[3]); { const std::uint32_t aot_run_words[3]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(20), aot_run_words); } @@ -4758,7 +4759,7 @@ L_08A35A60: ctx.gpr[22] = (0u | 1u); ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); ctx.gpr[18] = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), ctx.gpr[20]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), ctx.gpr[21]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), ctx.gpr[30]); @@ -4831,8 +4832,8 @@ L_08A35B18: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A35B24u) goto L_08A35B24; AOT_REGCACHE_SYNC_OUT(); return; L_08A35B24: - aot_gpr_16 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08A35B3C; @@ -4841,11 +4842,11 @@ L_08A35B24: } L_08A35B30: aot_gpr_31 = (0x08A35B38u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A35B38u) goto L_08A35B38; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A35B38u) goto L_08A35B38; AOT_REGCACHE_SYNC_OUT(); return; L_08A35B38: - ctx.gpr[17] = (aot_gpr_16 | 0u); + ctx.gpr[17] = (ctx.gpr[16] | 0u); goto L_08A35B3C; L_08A35B3C: aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), ctx.gpr[17]); @@ -4857,7 +4858,7 @@ L_08A35B40: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A35B4Cu) goto L_08A35B4C; AOT_REGCACHE_SYNC_OUT(); return; L_08A35B4C: - { const bool branch_taken = ctx.gpr[19] != ctx.gpr[2]; + { const bool branch_taken = ctx.gpr[19] != aot_gpr_2; // nop if (branch_taken) { goto L_08A35B60; @@ -4905,10 +4906,10 @@ L_08A35B94: L_08A35B9C: aot_gpr_31 = (0x08A35BA4u); aot_gpr_4 = (0u | 25u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A35BA4u) goto L_08A35BA4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A35BA4u) goto L_08A35BA4; AOT_REGCACHE_SYNC_OUT(); return; L_08A35BA4: - ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(104))); + ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(104))); { const bool branch_taken = 0u == 0u; ctx.gpr[18] = (ctx.gpr[18] & 255u); if (branch_taken) { @@ -4936,10 +4937,10 @@ L_08A35BBC: L_08A35BC4: aot_gpr_31 = (0x08A35BCCu); aot_gpr_4 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A35BCCu) goto L_08A35BCC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A35BCCu) goto L_08A35BCC; AOT_REGCACHE_SYNC_OUT(); return; L_08A35BCC: - ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(104))); + ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(104))); { const bool branch_taken = 0u == 0u; ctx.gpr[18] = (ctx.gpr[18] & 255u); if (branch_taken) { @@ -4950,10 +4951,10 @@ L_08A35BCC: L_08A35BD8: aot_gpr_31 = (0x08A35BE0u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A35BE0u) goto L_08A35BE0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A35BE0u) goto L_08A35BE0; AOT_REGCACHE_SYNC_OUT(); return; L_08A35BE0: - ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(104))); + ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(104))); ctx.gpr[18] = (ctx.gpr[18] & 255u); goto L_08A35BE8; L_08A35BE8: @@ -4964,8 +4965,8 @@ L_08A35BE8: L_08A35BF0: aot_gpr_4 = (ctx.gpr[18] << 5u); aot_gpr_5 = (ctx.gpr[18] << 2u); - aot_gpr_16 = (aot_gpr_4 - aot_gpr_5); - aot_gpr_4 = (ctx.gpr[2] + aot_gpr_16); + ctx.gpr[16] = (aot_gpr_4 - aot_gpr_5); + aot_gpr_4 = (aot_gpr_2 + ctx.gpr[16]); aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_31 = (0x08A35C10u); @@ -4973,7 +4974,7 @@ L_08A35BF0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A35C10u) goto L_08A35C10; AOT_REGCACHE_SYNC_OUT(); return; L_08A35C10: - aot_gpr_4 = (ctx.gpr[2] + aot_gpr_16); + aot_gpr_4 = (aot_gpr_2 + ctx.gpr[16]); aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); aot_gpr_31 = (0x08A35C24u); @@ -4981,11 +4982,11 @@ L_08A35C10: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A35C24u) goto L_08A35C24; AOT_REGCACHE_SYNC_OUT(); return; L_08A35C24: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(1929)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(1929)))))); aot_gpr_5 = (aot_gpr_4 << 5u); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); - aot_gpr_4 = (ctx.gpr[2] + aot_gpr_4); + aot_gpr_4 = (aot_gpr_2 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(9924))); @@ -4999,10 +5000,10 @@ L_08A35C24: L_08A35C4C: aot_gpr_31 = (0x08A35C54u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A35C54u) goto L_08A35C54; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A35C54u) goto L_08A35C54; AOT_REGCACHE_SYNC_OUT(); return; L_08A35C54: - ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(96))); + ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(96))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); aot_gpr_5 = (static_cast(ctx.gpr[18]) < static_cast(aot_gpr_5) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; @@ -5033,7 +5034,7 @@ L_08A35C88: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(9924))); aot_fpr_12 = std::bit_cast(aot_gpr_6); aot_gpr_31 = (0x08A35C9Cu); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0056_entry, 56u, 15u, 0x088E4294u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A35C9Cu) goto L_08A35C9C; AOT_REGCACHE_SYNC_OUT(); return; L_08A35C9C: @@ -5042,7 +5043,7 @@ L_08A35C9C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A35CA4u) goto L_08A35CA4; AOT_REGCACHE_SYNC_OUT(); return; L_08A35CA4: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (ctx.gpr[21] | 0u); aot_gpr_6 = (0u | 30000u); aot_gpr_31 = (0x08A35CB8u); @@ -5055,7 +5056,7 @@ L_08A35CB8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A35CC0u) goto L_08A35CC0; AOT_REGCACHE_SYNC_OUT(); return; L_08A35CC0: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08A35CCCu); aot_gpr_5 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 28u, 0x0890816Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A35CCCu) goto L_08A35CCC; @@ -5066,7 +5067,7 @@ L_08A35CCC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A35CD4u) goto L_08A35CD4; AOT_REGCACHE_SYNC_OUT(); return; L_08A35CD4: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08A35CE0u); aot_gpr_5 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 613u, 0x089471E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A35CE0u) goto L_08A35CE0; @@ -5077,7 +5078,7 @@ L_08A35CE0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A35CE8u) goto L_08A35CE8; AOT_REGCACHE_SYNC_OUT(); return; L_08A35CE8: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08A35DB0; @@ -5091,13 +5092,13 @@ L_08A35CF0: AOT_REGCACHE_SYNC_OUT(); return; L_08A35CF8: aot_gpr_31 = (0x08A35D00u); - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A35D00u) goto L_08A35D00; AOT_REGCACHE_SYNC_OUT(); return; L_08A35D00: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(3256)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(3256)))))); aot_gpr_31 = (0x08A35D0Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 15u, 0x08908080u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A35D0Cu) goto L_08A35D0C; AOT_REGCACHE_SYNC_OUT(); return; L_08A35D0C: @@ -5107,44 +5108,44 @@ L_08A35D0C: AOT_REGCACHE_SYNC_OUT(); return; L_08A35D14: aot_gpr_31 = (0x08A35D1Cu); - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A35D1Cu) goto L_08A35D1C; AOT_REGCACHE_SYNC_OUT(); return; L_08A35D1C: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(1929)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(1929)))))); aot_gpr_5 = (aot_gpr_4 << 5u); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); - aot_gpr_4 = (ctx.gpr[2] + aot_gpr_4); + aot_gpr_4 = (aot_gpr_2 + aot_gpr_4); ctx.gpr[17] = (aot_gpr_4 + static_cast(1396)); aot_gpr_31 = (0x08A35D3Cu); ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A35D3Cu) goto L_08A35D3C; AOT_REGCACHE_SYNC_OUT(); return; L_08A35D3C: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(1929)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(1929)))))); aot_gpr_5 = (aot_gpr_4 << 5u); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); - aot_gpr_4 = (ctx.gpr[2] + aot_gpr_4); + aot_gpr_4 = (aot_gpr_2 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); aot_gpr_31 = (0x08A35D5Cu); ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A35D5Cu) goto L_08A35D5C; AOT_REGCACHE_SYNC_OUT(); return; L_08A35D5C: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(1929)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(1929)))))); aot_gpr_5 = (aot_gpr_4 << 5u); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); - aot_gpr_4 = (ctx.gpr[2] + aot_gpr_4); + aot_gpr_4 = (aot_gpr_2 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); aot_gpr_31 = (0x08A35D7Cu); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A35D7Cu) goto L_08A35D7C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A35D7Cu) goto L_08A35D7C; AOT_REGCACHE_SYNC_OUT(); return; L_08A35D7C: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(20))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(20))); aot_gpr_5 = (static_cast(ctx.gpr[18]) < static_cast(aot_gpr_4) ? 1u : 0u); if (aot_gpr_5 != 0u) { aot_gpr_4 = (ctx.gpr[18] | 0u); @@ -5153,7 +5154,7 @@ L_08A35D7C: goto L_08A35D8C; L_08A35D8C: aot_gpr_6 = (aot_gpr_4 | 0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A35D9Cu); aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 66u, 0x089083B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A35D9Cu) goto L_08A35D9C; @@ -5164,7 +5165,7 @@ L_08A35D9C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A35DA4u) goto L_08A35DA4; AOT_REGCACHE_SYNC_OUT(); return; L_08A35DA4: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08A35DB0u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0081_entry, 81u, 16u, 0x08948114u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A35DB0u) goto L_08A35DB0; @@ -5188,7 +5189,7 @@ L_08A35DBC: L_08A35DCC: { std::uint32_t aot_run_words[10]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -5219,11 +5220,11 @@ L_08A35DFC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[17]); ctx.gpr[17] = (0u | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[16]); { const std::uint32_t aot_run_words[3]{ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(20), aot_run_words); } { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_16 = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); if (branch_taken) { goto L_08A35E78; } @@ -5236,7 +5237,7 @@ L_08A35E50: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A35E5Cu) goto L_08A35E5C; AOT_REGCACHE_SYNC_OUT(); return; L_08A35E5C: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[19] == 0u; // nop if (branch_taken) { @@ -5247,7 +5248,7 @@ L_08A35E5C: L_08A35E68: aot_gpr_31 = (0x08A35E70u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A35E70u) goto L_08A35E70; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A35E70u) goto L_08A35E70; AOT_REGCACHE_SYNC_OUT(); return; L_08A35E70: ctx.gpr[20] = (ctx.gpr[19] | 0u); @@ -5262,7 +5263,7 @@ L_08A35E78: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A35E84u) goto L_08A35E84; AOT_REGCACHE_SYNC_OUT(); return; L_08A35E84: - { const bool branch_taken = ctx.gpr[17] != ctx.gpr[2]; + { const bool branch_taken = ctx.gpr[17] != aot_gpr_2; aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8876))); if (branch_taken) { goto L_08A35E98; @@ -5283,12 +5284,12 @@ L_08A35E98: goto L_08A35E9C; L_08A35E9C: aot_gpr_5 = (0u | 1000u); - { const std::int32_t dividend = static_cast(aot_gpr_16); const std::int32_t divisor = static_cast(aot_gpr_5); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } + { const std::int32_t dividend = static_cast(ctx.gpr[16]); const std::int32_t divisor = static_cast(aot_gpr_5); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(9940), static_cast(ctx.gpr[18])); aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(9941), static_cast(0u)); aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(8725), static_cast(0u)); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8728), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8728), ctx.gpr[16]); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8732), aot_gpr_5); aot_gpr_5 = (static_cast(aot_gpr_4) < 40 ? 1u : 0u); aot_gpr_6 = (ctx.lo); @@ -5302,19 +5303,19 @@ L_08A35E9C: L_08A35ECC: aot_gpr_31 = (0x08A35ED4u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A35ED4u) goto L_08A35ED4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A35ED4u) goto L_08A35ED4; AOT_REGCACHE_SYNC_OUT(); return; L_08A35ED4: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(104))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(104))); aot_gpr_31 = (0x08A35EE0u); - aot_gpr_16 = (aot_gpr_4 & 255u); + ctx.gpr[16] = (aot_gpr_4 & 255u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A35EE0u) goto L_08A35EE0; AOT_REGCACHE_SYNC_OUT(); return; L_08A35EE0: - aot_gpr_4 = (aot_gpr_16 << 5u); - aot_gpr_5 = (aot_gpr_16 << 2u); - aot_gpr_16 = (aot_gpr_4 - aot_gpr_5); - aot_gpr_4 = (ctx.gpr[2] + aot_gpr_16); + aot_gpr_4 = (ctx.gpr[16] << 5u); + aot_gpr_5 = (ctx.gpr[16] << 2u); + ctx.gpr[16] = (aot_gpr_4 - aot_gpr_5); + aot_gpr_4 = (aot_gpr_2 + ctx.gpr[16]); aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_31 = (0x08A35F00u); @@ -5322,7 +5323,7 @@ L_08A35EE0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A35F00u) goto L_08A35F00; AOT_REGCACHE_SYNC_OUT(); return; L_08A35F00: - aot_gpr_4 = (ctx.gpr[2] + aot_gpr_16); + aot_gpr_4 = (aot_gpr_2 + ctx.gpr[16]); aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); aot_gpr_31 = (0x08A35F14u); @@ -5330,11 +5331,11 @@ L_08A35F00: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A35F14u) goto L_08A35F14; AOT_REGCACHE_SYNC_OUT(); return; L_08A35F14: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(1929)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(1929)))))); aot_gpr_5 = (aot_gpr_4 << 5u); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); - aot_gpr_4 = (ctx.gpr[2] + aot_gpr_4); + aot_gpr_4 = (aot_gpr_2 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(9924))); @@ -5348,10 +5349,10 @@ L_08A35F14: L_08A35F3C: aot_gpr_31 = (0x08A35F44u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A35F44u) goto L_08A35F44; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A35F44u) goto L_08A35F44; AOT_REGCACHE_SYNC_OUT(); return; L_08A35F44: - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(96))); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(96))); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); aot_gpr_6 = (static_cast(aot_gpr_5) < static_cast(aot_gpr_6) ? 1u : 0u); { const bool branch_taken = aot_gpr_6 == 0u; @@ -5378,10 +5379,10 @@ L_08A35F70: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A35F78u) goto L_08A35F78; AOT_REGCACHE_SYNC_OUT(); return; L_08A35F78: - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(3330))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(3330))); aot_gpr_4 = (aot_gpr_4 | 8u); aot_gpr_31 = (0x08A35F88u); - aot_mem.aot_direct_store8(ctx.gpr[2] + static_cast(3330), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(aot_gpr_2 + static_cast(3330), static_cast(aot_gpr_4)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A35F88u) goto L_08A35F88; AOT_REGCACHE_SYNC_OUT(); return; L_08A35F88: @@ -5389,7 +5390,7 @@ L_08A35F88: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(9924))); aot_fpr_12 = std::bit_cast(aot_gpr_6); aot_gpr_31 = (0x08A35F9Cu); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0056_entry, 56u, 15u, 0x088E4294u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A35F9Cu) goto L_08A35F9C; AOT_REGCACHE_SYNC_OUT(); return; L_08A35F9C: @@ -5399,7 +5400,7 @@ L_08A35F9C: AOT_REGCACHE_SYNC_OUT(); return; L_08A35FA4: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8876))); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_6 = (0u | 30000u); aot_gpr_31 = (0x08A35FB8u); ctx.gpr[7] = (0u | 1u); @@ -5413,7 +5414,7 @@ L_08A35FB8: L_08A35FC0: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8876))); aot_gpr_31 = (0x08A35FCCu); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 28u, 0x0890816Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A35FCCu) goto L_08A35FCC; AOT_REGCACHE_SYNC_OUT(); return; L_08A35FCC: @@ -5424,7 +5425,7 @@ L_08A35FCC: L_08A35FD4: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8876))); aot_gpr_31 = (0x08A35FE0u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 613u, 0x089471E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A35FE0u) goto L_08A35FE0; AOT_REGCACHE_SYNC_OUT(); return; L_08A35FE0: @@ -5433,7 +5434,7 @@ L_08A35FE0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A35FE8u) goto L_08A35FE8; AOT_REGCACHE_SYNC_OUT(); return; L_08A35FE8: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08A360B0; @@ -5447,13 +5448,13 @@ L_08A35FF0: AOT_REGCACHE_SYNC_OUT(); return; L_08A35FF8: aot_gpr_31 = (0x08A36000u); - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A36000u) goto L_08A36000; AOT_REGCACHE_SYNC_OUT(); return; L_08A36000: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(3256)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(3256)))))); aot_gpr_31 = (0x08A3600Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 15u, 0x08908080u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A3600Cu) goto L_08A3600C; AOT_REGCACHE_SYNC_OUT(); return; L_08A3600C: @@ -5463,47 +5464,47 @@ L_08A3600C: AOT_REGCACHE_SYNC_OUT(); return; L_08A36014: aot_gpr_31 = (0x08A3601Cu); - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A3601Cu) goto L_08A3601C; AOT_REGCACHE_SYNC_OUT(); return; L_08A3601C: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(1929)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(1929)))))); aot_gpr_5 = (aot_gpr_4 << 5u); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); - aot_gpr_4 = (ctx.gpr[2] + aot_gpr_4); + aot_gpr_4 = (aot_gpr_2 + aot_gpr_4); ctx.gpr[17] = (aot_gpr_4 + static_cast(1396)); aot_gpr_31 = (0x08A3603Cu); ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A3603Cu) goto L_08A3603C; AOT_REGCACHE_SYNC_OUT(); return; L_08A3603C: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(1929)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(1929)))))); aot_gpr_5 = (aot_gpr_4 << 5u); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); - aot_gpr_4 = (ctx.gpr[2] + aot_gpr_4); + aot_gpr_4 = (aot_gpr_2 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); aot_gpr_31 = (0x08A3605Cu); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A3605Cu) goto L_08A3605C; AOT_REGCACHE_SYNC_OUT(); return; L_08A3605C: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(1929)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(1929)))))); aot_gpr_5 = (aot_gpr_4 << 5u); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); - aot_gpr_4 = (ctx.gpr[2] + aot_gpr_4); + aot_gpr_4 = (aot_gpr_2 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); aot_gpr_31 = (0x08A3607Cu); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A3607Cu) goto L_08A3607C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A3607Cu) goto L_08A3607C; AOT_REGCACHE_SYNC_OUT(); return; L_08A3607C: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(20))); - aot_gpr_5 = (static_cast(aot_gpr_16) < static_cast(aot_gpr_4) ? 1u : 0u); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(20))); + aot_gpr_5 = (static_cast(ctx.gpr[16]) < static_cast(aot_gpr_4) ? 1u : 0u); if (aot_gpr_5 != 0u) { - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_08A3608C; } goto L_08A3608C; @@ -5520,7 +5521,7 @@ L_08A3609C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A360A4u) goto L_08A360A4; AOT_REGCACHE_SYNC_OUT(); return; L_08A360A4: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08A360B0u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0081_entry, 81u, 16u, 0x08948114u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A360B0u) goto L_08A360B0; @@ -5544,7 +5545,7 @@ L_08A360BC: L_08A360CC: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(8), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -5566,10 +5567,10 @@ L_08A360EC: ctx.gpr[17] = (2279u << 16u); ctx.gpr[7] = (0u | 1u); ctx.gpr[17] = (ctx.gpr[17] + static_cast(17488)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); { const bool branch_taken = aot_gpr_6 != ctx.gpr[7]; - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08A36214; } @@ -5689,7 +5690,7 @@ L_08A36194: } L_08A3619C: if (ctx.gpr[7] != aot_gpr_4) { - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(86)))))); goto L_08A36218; } goto L_08A361A4; @@ -5704,7 +5705,7 @@ L_08A361A4: goto L_08A361B4; } L_08A361B4: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(86)))))); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop if (branch_taken) { @@ -5733,7 +5734,7 @@ L_08A361CC: L_08A361D8: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(9908))); if (aot_gpr_4 != aot_gpr_5) { - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(86)))))); goto L_08A36218; } goto L_08A361E4; @@ -5748,7 +5749,7 @@ L_08A361E4: } L_08A361F0: if (ctx.gpr[18] == 0u) { - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(86)))))); goto L_08A36218; } goto L_08A361F8; @@ -5763,7 +5764,7 @@ L_08A361F8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 553u, 0x08A062F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A36214u) goto L_08A36214; AOT_REGCACHE_SYNC_OUT(); return; L_08A36214: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(86)))))); goto L_08A36218; L_08A36218: aot_gpr_5 = (2279u << 16u); @@ -5776,10 +5777,10 @@ L_08A36218: aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_5)); aot_gpr_4 = (aot_gpr_6 + static_cast(1)); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(9300), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(464))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(464))); aot_gpr_4 = (aot_gpr_4 & 128u); if (aot_gpr_4 == 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1360))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1360))); goto L_08A36260; } goto L_08A36250; @@ -5819,7 +5820,7 @@ L_08A36288: aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(9408), aot_gpr_4); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; @@ -5843,10 +5844,10 @@ L_08A362BC: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[28] + static_cast(9892))); aot_gpr_6 = (0u | 1u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); { const bool branch_taken = aot_gpr_5 != aot_gpr_6; - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08A36334; } @@ -5863,7 +5864,7 @@ L_08A362D8: goto L_08A362E8; } L_08A362E8: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(86)))))); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop if (branch_taken) { @@ -5892,7 +5893,7 @@ L_08A36300: L_08A3630C: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(9908))); if (aot_gpr_4 != aot_gpr_5) { - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(86)))))); goto L_08A36338; } goto L_08A36318; @@ -5907,7 +5908,7 @@ L_08A36318: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 553u, 0x08A062F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A36334u) goto L_08A36334; AOT_REGCACHE_SYNC_OUT(); return; L_08A36334: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(86)))))); goto L_08A36338; L_08A36338: aot_gpr_5 = (2279u << 16u); @@ -5915,15 +5916,15 @@ L_08A36338: aot_gpr_5 = (aot_gpr_5 + static_cast(26560)); aot_gpr_5 = (aot_gpr_4 + aot_gpr_5); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_6 = (aot_gpr_6 + static_cast(1)); aot_gpr_31 = (0x08A3635Cu); aot_mem.aot_direct_store16(aot_gpr_5 + static_cast(0), static_cast(aot_gpr_6)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A3635Cu) goto L_08A3635C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B01E00, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A3635Cu) goto L_08A3635C; AOT_REGCACHE_SYNC_OUT(); return; L_08A3635C: - aot_gpr_16 = (ctx.gpr[2] + static_cast(-1)); - aot_gpr_4 = (aot_gpr_16 < static_cast(5) ? 1u : 0u); + ctx.gpr[16] = (aot_gpr_2 + static_cast(-1)); + aot_gpr_4 = (ctx.gpr[16] < static_cast(5) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -5932,7 +5933,7 @@ L_08A3635C: goto L_08A3636C; } L_08A3636C: - { const bool branch_taken = aot_gpr_16 == 0u; + { const bool branch_taken = ctx.gpr[16] == 0u; ctx.gpr[1] = (0u + static_cast(1)); if (branch_taken) { goto L_08A3639C; @@ -5940,7 +5941,7 @@ L_08A3636C: goto L_08A36374; } L_08A36374: - { const bool branch_taken = aot_gpr_16 == ctx.gpr[1]; + { const bool branch_taken = ctx.gpr[16] == ctx.gpr[1]; ctx.gpr[1] = (0u + static_cast(2)); if (branch_taken) { goto L_08A3639C; @@ -5948,7 +5949,7 @@ L_08A36374: goto L_08A3637C; } L_08A3637C: - { const bool branch_taken = aot_gpr_16 == ctx.gpr[1]; + { const bool branch_taken = ctx.gpr[16] == ctx.gpr[1]; ctx.gpr[1] = (0u + static_cast(4)); if (branch_taken) { goto L_08A363AC; @@ -5956,7 +5957,7 @@ L_08A3637C: goto L_08A36384; } L_08A36384: - { const bool branch_taken = aot_gpr_16 == ctx.gpr[1]; + { const bool branch_taken = ctx.gpr[16] == ctx.gpr[1]; // nop if (branch_taken) { goto L_08A363AC; @@ -5989,7 +5990,7 @@ L_08A363AC: aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(9320), aot_gpr_4); goto L_08A363B8; L_08A363B8: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -5999,9 +6000,9 @@ L_08A363B8: AOT_REGCACHE_SYNC_OUT(); return; L_08A363C8: aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[28] + static_cast(9892))); - ctx.gpr[2] = (aot_gpr_4 ^ 1u); + aot_gpr_2 = (aot_gpr_4 ^ 1u); jump_target = aot_gpr_31; - ctx.gpr[2] = (ctx.gpr[2] < static_cast(1) ? 1u : 0u); + aot_gpr_2 = (aot_gpr_2 < static_cast(1) ? 1u : 0u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -6068,7 +6069,7 @@ L_08A36450: aot_gpr_5 = (aot_gpr_5 + static_cast(26560)); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); jump_target = aot_gpr_31; - ctx.gpr[2] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); + aot_gpr_2 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -6113,9 +6114,9 @@ L_08A3649C: aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); aot_gpr_5 = (0u | 500u); { const std::uint32_t dividend = aot_gpr_4; const std::uint32_t divisor = aot_gpr_5; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } - ctx.gpr[2] = (ctx.lo); + aot_gpr_2 = (ctx.lo); { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (ctx.gpr[2] & 255u); + aot_gpr_2 = (aot_gpr_2 & 255u); if (branch_taken) { goto L_08A364E0; } @@ -6126,9 +6127,9 @@ L_08A364B8: aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); aot_gpr_5 = (0u | 500u); { const std::uint32_t dividend = aot_gpr_4; const std::uint32_t divisor = aot_gpr_5; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } - ctx.gpr[2] = (ctx.lo); + aot_gpr_2 = (ctx.lo); { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (ctx.gpr[2] & 255u); + aot_gpr_2 = (aot_gpr_2 & 255u); if (branch_taken) { goto L_08A364E0; } @@ -6136,14 +6137,14 @@ L_08A364B8: } L_08A364D4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08A364E0; } goto L_08A364DC; } L_08A364DC: - ctx.gpr[2] = (0u | 255u); + aot_gpr_2 = (0u | 255u); goto L_08A364E0; L_08A364E0: jump_target = aot_gpr_31; @@ -6157,7 +6158,7 @@ L_08A364E8: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8876))); aot_gpr_4 = (0u | 45u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); { const std::uint32_t aot_run_words[3]{ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(8), aot_run_words); } { const bool branch_taken = ctx.gpr[17] != aot_gpr_4; @@ -6170,7 +6171,7 @@ L_08A364E8: L_08A36510: ctx.gpr[17] = (0u | 25u); { const bool branch_taken = 0u == 0u; - aot_gpr_16 = (0u | 1u); + ctx.gpr[16] = (0u | 1u); if (branch_taken) { goto L_08A36540; } @@ -6196,17 +6197,17 @@ L_08A36528: L_08A36530: ctx.gpr[17] = (0u | 0u); { const bool branch_taken = 0u == 0u; - aot_gpr_16 = (0u | 1u); + ctx.gpr[16] = (0u | 1u); if (branch_taken) { goto L_08A36540; } goto L_08A3653C; } L_08A3653C: - aot_gpr_16 = (static_cast(ctx.gpr[17]) < 40 ? 1u : 0u); + ctx.gpr[16] = (static_cast(ctx.gpr[17]) < 40 ? 1u : 0u); goto L_08A36540; L_08A36540: - { const bool branch_taken = aot_gpr_16 == 0u; + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08A36588; @@ -6225,10 +6226,10 @@ L_08A36548: L_08A36554: aot_gpr_31 = (0x08A3655Cu); aot_gpr_4 = (aot_gpr_5 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A3655Cu) goto L_08A3655C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A3655Cu) goto L_08A3655C; AOT_REGCACHE_SYNC_OUT(); return; L_08A3655C: - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(96))); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(96))); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); aot_gpr_6 = (static_cast(aot_gpr_5) < static_cast(aot_gpr_6) ? 1u : 0u); { const bool branch_taken = aot_gpr_6 == 0u; @@ -6250,7 +6251,7 @@ L_08A36580: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0054_entry, 54u, 460u, 0x088DF770u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A36588u) goto L_08A36588; AOT_REGCACHE_SYNC_OUT(); return; L_08A36588: - { const bool branch_taken = aot_gpr_16 == 0u; + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08A36630; @@ -6260,31 +6261,31 @@ L_08A36588: L_08A36590: aot_gpr_31 = (0x08A36598u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A36598u) goto L_08A36598; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A36598u) goto L_08A36598; AOT_REGCACHE_SYNC_OUT(); return; L_08A36598: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(104))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(104))); aot_gpr_31 = (0x08A365A4u); ctx.gpr[18] = (aot_gpr_4 & 255u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A365A4u) goto L_08A365A4; AOT_REGCACHE_SYNC_OUT(); return; L_08A365A4: aot_gpr_31 = (0x08A365ACu); - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A365ACu) goto L_08A365AC; AOT_REGCACHE_SYNC_OUT(); return; L_08A365AC: aot_gpr_4 = (ctx.gpr[18] << 5u); aot_gpr_5 = (ctx.gpr[18] << 2u); ctx.gpr[18] = (aot_gpr_4 - aot_gpr_5); - aot_gpr_4 = (ctx.gpr[2] + ctx.gpr[18]); + aot_gpr_4 = (aot_gpr_2 + ctx.gpr[18]); aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); aot_gpr_31 = (0x08A365C8u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A365C8u) goto L_08A365C8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A365C8u) goto L_08A365C8; AOT_REGCACHE_SYNC_OUT(); return; L_08A365C8: - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(96))); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(96))); aot_gpr_31 = (0x08A365D4u); aot_gpr_4 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 922u, 0x08907F9Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A365D4u) goto L_08A365D4; @@ -6295,28 +6296,28 @@ L_08A365D4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A365DCu) goto L_08A365DC; AOT_REGCACHE_SYNC_OUT(); return; L_08A365DC: - aot_gpr_4 = (ctx.gpr[2] + ctx.gpr[18]); + aot_gpr_4 = (aot_gpr_2 + ctx.gpr[18]); aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); aot_gpr_31 = (0x08A365ECu); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A365ECu) goto L_08A365EC; AOT_REGCACHE_SYNC_OUT(); return; L_08A365EC: - aot_gpr_4 = (ctx.gpr[2] + ctx.gpr[18]); + aot_gpr_4 = (aot_gpr_2 + ctx.gpr[18]); aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); aot_gpr_31 = (0x08A365FCu); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(16), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A365FCu) goto L_08A365FC; AOT_REGCACHE_SYNC_OUT(); return; L_08A365FC: - aot_gpr_4 = (ctx.gpr[2] + ctx.gpr[18]); + aot_gpr_4 = (aot_gpr_2 + ctx.gpr[18]); aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); aot_gpr_31 = (0x08A3660Cu); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(12), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A3660Cu) goto L_08A3660C; AOT_REGCACHE_SYNC_OUT(); return; L_08A3660C: - aot_gpr_4 = (ctx.gpr[2] + ctx.gpr[18]); + aot_gpr_4 = (aot_gpr_2 + ctx.gpr[18]); aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); aot_gpr_31 = (0x08A3661Cu); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(8), 0u); @@ -6324,14 +6325,14 @@ L_08A3660C: AOT_REGCACHE_SYNC_OUT(); return; L_08A3661C: aot_gpr_6 = (50298u << 16u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_fpr_12 = std::bit_cast(aot_gpr_6); aot_gpr_31 = (0x08A36630u); aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0056_entry, 56u, 15u, 0x088E4294u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A36630u) goto L_08A36630; AOT_REGCACHE_SYNC_OUT(); return; L_08A36630: - { const bool branch_taken = aot_gpr_16 == 0u; + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08A36678; @@ -6341,22 +6342,22 @@ L_08A36630: L_08A36638: aot_gpr_31 = (0x08A36640u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(9924))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A36640u) goto L_08A36640; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A36640u) goto L_08A36640; AOT_REGCACHE_SYNC_OUT(); return; L_08A36640: aot_gpr_31 = (0x08A36648u); - aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(104))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(104))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A36648u) goto L_08A36648; AOT_REGCACHE_SYNC_OUT(); return; L_08A36648: aot_gpr_31 = (0x08A36650u); - aot_mem.aot_direct_store8(ctx.gpr[2] + static_cast(3256), static_cast(aot_gpr_16)); + aot_mem.aot_direct_store8(aot_gpr_2 + static_cast(3256), static_cast(ctx.gpr[16])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A36650u) goto L_08A36650; AOT_REGCACHE_SYNC_OUT(); return; L_08A36650: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(9924))); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(9928))); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08A36664u); ctx.gpr[7] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0069_entry, 69u, 600u, 0x0891B7DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A36664u) goto L_08A36664; @@ -6369,7 +6370,7 @@ L_08A36664: L_08A3666C: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(9932))); aot_gpr_31 = (0x08A36678u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 28u, 0x0890816Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A36678u) goto L_08A36678; AOT_REGCACHE_SYNC_OUT(); return; L_08A36678: @@ -6378,7 +6379,7 @@ L_08A36678: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A36680u) goto L_08A36680; AOT_REGCACHE_SYNC_OUT(); return; L_08A36680: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08A36774; @@ -6392,24 +6393,24 @@ L_08A36688: AOT_REGCACHE_SYNC_OUT(); return; L_08A36690: aot_gpr_31 = (0x08A36698u); - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A36698u) goto L_08A36698; AOT_REGCACHE_SYNC_OUT(); return; L_08A36698: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(1929)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(1929)))))); aot_gpr_5 = (aot_gpr_4 << 5u); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); - aot_gpr_4 = (ctx.gpr[2] + aot_gpr_4); + aot_gpr_4 = (aot_gpr_2 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); aot_gpr_31 = (0x08A366B8u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A366B8u) goto L_08A366B8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A366B8u) goto L_08A366B8; AOT_REGCACHE_SYNC_OUT(); return; L_08A366B8: - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(96))); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(96))); aot_gpr_31 = (0x08A366C4u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 922u, 0x08907F9Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A366C4u) goto L_08A366C4; AOT_REGCACHE_SYNC_OUT(); return; L_08A366C4: @@ -6418,7 +6419,7 @@ L_08A366C4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A366CCu) goto L_08A366CC; AOT_REGCACHE_SYNC_OUT(); return; L_08A366CC: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(1540))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(1540))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -6433,18 +6434,18 @@ L_08A366D8: AOT_REGCACHE_SYNC_OUT(); return; L_08A366E0: aot_gpr_31 = (0x08A366E8u); - aot_mem.aot_direct_store8(ctx.gpr[2] + static_cast(3256), static_cast(0u)); + aot_mem.aot_direct_store8(aot_gpr_2 + static_cast(3256), static_cast(0u)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A366E8u) goto L_08A366E8; AOT_REGCACHE_SYNC_OUT(); return; L_08A366E8: aot_gpr_31 = (0x08A366F0u); - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A366F0u) goto L_08A366F0; AOT_REGCACHE_SYNC_OUT(); return; L_08A366F0: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(3256)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(3256)))))); aot_gpr_31 = (0x08A366FCu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 15u, 0x08908080u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A366FCu) goto L_08A366FC; AOT_REGCACHE_SYNC_OUT(); return; L_08A366FC: @@ -6457,23 +6458,23 @@ L_08A366FC: } L_08A36704: aot_gpr_31 = (0x08A3670Cu); - aot_gpr_16 = (0u | 5u); + ctx.gpr[16] = (0u | 5u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A3670Cu) goto L_08A3670C; AOT_REGCACHE_SYNC_OUT(); return; L_08A3670C: aot_gpr_31 = (0x08A36714u); - aot_mem.aot_direct_store8(ctx.gpr[2] + static_cast(3256), static_cast(aot_gpr_16)); + aot_mem.aot_direct_store8(aot_gpr_2 + static_cast(3256), static_cast(ctx.gpr[16])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A36714u) goto L_08A36714; AOT_REGCACHE_SYNC_OUT(); return; L_08A36714: aot_gpr_31 = (0x08A3671Cu); - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A3671Cu) goto L_08A3671C; AOT_REGCACHE_SYNC_OUT(); return; L_08A3671C: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(3256)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(3256)))))); aot_gpr_31 = (0x08A36728u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 15u, 0x08908080u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A36728u) goto L_08A36728; AOT_REGCACHE_SYNC_OUT(); return; L_08A36728: @@ -6483,19 +6484,19 @@ L_08A36728: AOT_REGCACHE_SYNC_OUT(); return; L_08A36730: aot_gpr_31 = (0x08A36738u); - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A36738u) goto L_08A36738; AOT_REGCACHE_SYNC_OUT(); return; L_08A36738: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(1929)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(1929)))))); aot_gpr_5 = (aot_gpr_4 << 5u); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); - aot_gpr_4 = (ctx.gpr[2] + aot_gpr_4); + aot_gpr_4 = (aot_gpr_2 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_31 = (0x08A3675Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 613u, 0x089471E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A3675Cu) goto L_08A3675C; AOT_REGCACHE_SYNC_OUT(); return; L_08A3675C: @@ -6505,7 +6506,7 @@ L_08A3675C: AOT_REGCACHE_SYNC_OUT(); return; L_08A36764: aot_gpr_31 = (0x08A3676Cu); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 742u, 0x089AB7C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A3676Cu) goto L_08A3676C; AOT_REGCACHE_SYNC_OUT(); return; L_08A3676C: @@ -6534,7 +6535,7 @@ L_08A36788: AOT_REGCACHE_SYNC_OUT(); return; L_08A36790: aot_gpr_31 = (0x08A36798u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0055_entry, 55u, 438u, 0x088E34ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A36798u) goto L_08A36798; AOT_REGCACHE_SYNC_OUT(); return; L_08A36798: @@ -6544,13 +6545,13 @@ L_08A36798: AOT_REGCACHE_SYNC_OUT(); return; L_08A367A0: aot_gpr_4 = (0u + static_cast(-1)); - aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(2076), 0u); + aot_mem.aot_direct_store32(aot_gpr_2 + static_cast(2076), 0u); aot_gpr_31 = (0x08A367B0u); - aot_mem.aot_direct_store8(ctx.gpr[2] + static_cast(1928), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(aot_gpr_2 + static_cast(1928), static_cast(aot_gpr_4)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A367B0u) goto L_08A367B0; AOT_REGCACHE_SYNC_OUT(); return; L_08A367B0: - aot_gpr_4 = (ctx.gpr[2] + static_cast(2228)); + aot_gpr_4 = (aot_gpr_2 + static_cast(2228)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_5 = (0u | 12u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; @@ -6567,13 +6568,13 @@ L_08A367C4: AOT_REGCACHE_SYNC_OUT(); return; L_08A367CC: aot_gpr_31 = (0x08A367D4u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 282u, 0x0890905Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A367D4u) goto L_08A367D4; AOT_REGCACHE_SYNC_OUT(); return; L_08A367D4: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -6588,9 +6589,9 @@ L_08A367D4: L_08A367F0: aot_gpr_29 = (aot_gpr_29 + static_cast(-80)); aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[28] + static_cast(9892))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), std::bit_cast(ctx.fpr[20])); aot_gpr_5 = (static_cast(aot_gpr_4) < 2 ? 1u : 0u); - { const std::uint32_t aot_run_words[7]{std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[7]{std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(52), aot_run_words); } { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_5 = (static_cast(aot_gpr_4) < 3 ? 1u : 0u); @@ -6642,21 +6643,21 @@ L_08A36844: L_08A3684C: aot_gpr_31 = (0x08A36854u); aot_gpr_4 = (0u | 18u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A36854u) goto L_08A36854; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C604, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A36854u) goto L_08A36854; AOT_REGCACHE_SYNC_OUT(); return; L_08A36854: - aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8732))); aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(9940))); { const bool branch_taken = aot_gpr_5 == 0u; - aot_gpr_16 = (aot_gpr_16 - aot_gpr_4); + ctx.gpr[16] = (ctx.gpr[16] - aot_gpr_4); if (branch_taken) { goto L_08A368E0; } goto L_08A36868; } L_08A36868: - aot_gpr_4 = (aot_gpr_16 < static_cast(3000) ? 1u : 0u); + aot_gpr_4 = (ctx.gpr[16] < static_cast(3000) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -6665,7 +6666,7 @@ L_08A36868: goto L_08A36874; } L_08A36874: - aot_gpr_4 = (aot_gpr_16 < static_cast(11000) ? 1u : 0u); + aot_gpr_4 = (ctx.gpr[16] < static_cast(11000) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -6676,10 +6677,10 @@ L_08A36874: L_08A36880: aot_gpr_31 = (0x08A36888u); aot_gpr_4 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A36888u) goto L_08A36888; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C498, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A36888u) goto L_08A36888; AOT_REGCACHE_SYNC_OUT(); return; L_08A36888: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 3000u); aot_gpr_31 = (0x08A36898u); aot_gpr_6 = (0u | 11000u); @@ -6689,16 +6690,16 @@ L_08A36898: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(0), static_cast(aot_gpr_5)); aot_gpr_6 = (0u | 128u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(1), static_cast(aot_gpr_5)); - aot_gpr_4 = (ctx.gpr[2] & 255u); + aot_gpr_4 = (aot_gpr_2 & 255u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(2), static_cast(aot_gpr_6)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(3), static_cast(aot_gpr_4)); aot_gpr_31 = (0x08A368BCu); aot_gpr_4 = (aot_gpr_29 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A368BCu) goto L_08A368BC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C4A8, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A368BCu) goto L_08A368BC; AOT_REGCACHE_SYNC_OUT(); return; L_08A368BC: - aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(9936))); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(9936))); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08A368D8; @@ -6706,11 +6707,11 @@ L_08A368BC: goto L_08A368C8; } L_08A368C8: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08A368D8u); aot_gpr_6 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A368D8u) goto L_08A368D8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A368D8u) goto L_08A368D8; AOT_REGCACHE_SYNC_OUT(); return; L_08A368D8: { const bool branch_taken = 0u == 0u; @@ -6721,7 +6722,7 @@ L_08A368D8: goto L_08A368E0; } L_08A368E0: - aot_gpr_4 = (aot_gpr_16 < static_cast(8000) ? 1u : 0u); + aot_gpr_4 = (ctx.gpr[16] < static_cast(8000) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -6732,10 +6733,10 @@ L_08A368E0: L_08A368EC: aot_gpr_31 = (0x08A368F4u); aot_gpr_4 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A368F4u) goto L_08A368F4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C498, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A368F4u) goto L_08A368F4; AOT_REGCACHE_SYNC_OUT(); return; L_08A368F4: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08A36904u); aot_gpr_6 = (0u | 8000u); @@ -6745,16 +6746,16 @@ L_08A36904: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(4), static_cast(aot_gpr_5)); aot_gpr_6 = (0u | 128u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(5), static_cast(aot_gpr_5)); - aot_gpr_4 = (ctx.gpr[2] & 255u); + aot_gpr_4 = (aot_gpr_2 & 255u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(6), static_cast(aot_gpr_6)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(7), static_cast(aot_gpr_4)); aot_gpr_31 = (0x08A36928u); aot_gpr_4 = (aot_gpr_29 + static_cast(4)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A36928u) goto L_08A36928; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C4A8, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A36928u) goto L_08A36928; AOT_REGCACHE_SYNC_OUT(); return; L_08A36928: - aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(9936))); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(9936))); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08A36944; @@ -6762,15 +6763,15 @@ L_08A36928: goto L_08A36934; } L_08A36934: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08A36944u); aot_gpr_6 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A36944u) goto L_08A36944; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A36944u) goto L_08A36944; AOT_REGCACHE_SYNC_OUT(); return; L_08A36944: - aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8728))); - { const bool branch_taken = static_cast(aot_gpr_16) < 0; + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8728))); + { const bool branch_taken = static_cast(ctx.gpr[16]) < 0; // nop if (branch_taken) { goto L_08A369A0; @@ -6781,8 +6782,8 @@ L_08A36950: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8732))); aot_gpr_4 = (aot_gpr_4 - aot_gpr_5); - aot_gpr_16 = (aot_gpr_16 - aot_gpr_4); - aot_gpr_4 = (aot_gpr_16 < static_cast(4001) ? 1u : 0u); + ctx.gpr[16] = (ctx.gpr[16] - aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] < static_cast(4001) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -6809,9 +6810,9 @@ L_08A3697C: ctx.gpr[8] = (0u | 255u); goto L_08A3550C; L_08A36994: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A369A0u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); goto L_08A356D4; L_08A369A0: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7080))); @@ -6836,11 +6837,11 @@ L_08A369BC: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(9916))); ctx.gpr[17] = (2238u << 16u); aot_gpr_4 = (ctx.gpr[7] - aot_gpr_4); - aot_gpr_16 = (2238u << 16u); + ctx.gpr[16] = (2238u << 16u); aot_gpr_5 = (ctx.gpr[28] + static_cast(-6776)); aot_gpr_6 = (static_cast(aot_gpr_4) < 0 ? 1u : 0u); ctx.gpr[17] = (ctx.gpr[17] + static_cast(14304)); - aot_gpr_16 = (aot_gpr_16 + static_cast(-8144)); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(-8144)); if (aot_gpr_6 != 0u) { aot_gpr_4 = (0u | 0u); goto L_08A369E4; @@ -6886,7 +6887,7 @@ L_08A36A1C: L_08A36A24: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08A36A30u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0032_entry, 32u, 843u, 0x08887B04u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A36A30u) goto L_08A36A30; AOT_REGCACHE_SYNC_OUT(); return; L_08A36A30: @@ -6915,12 +6916,12 @@ L_08A36A50: aot_gpr_5 = (0u | 200u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(24), static_cast(aot_gpr_5)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(25), static_cast(aot_gpr_5)); - aot_gpr_4 = (ctx.gpr[2] & 255u); + aot_gpr_4 = (aot_gpr_2 & 255u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(26), static_cast(aot_gpr_5)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(27), static_cast(aot_gpr_4)); aot_gpr_31 = (0x08A36A70u); aot_gpr_4 = (aot_gpr_29 + static_cast(24)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A36A70u) goto L_08A36A70; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C4A8, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A36A70u) goto L_08A36A70; AOT_REGCACHE_SYNC_OUT(); return; L_08A36A70: aot_gpr_31 = (0x08A36A78u); @@ -6929,28 +6930,28 @@ L_08A36A70: AOT_REGCACHE_SYNC_OUT(); return; L_08A36A78: aot_gpr_5 = (17391u << 16u); - aot_fpr_20 = std::bit_cast(0u); + ctx.fpr[20] = std::bit_cast(0u); aot_fpr_14 = std::bit_cast(aot_gpr_5); ctx.gpr[17] = (aot_gpr_29 + static_cast(28)); aot_gpr_5 = (17287u << 16u); - aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); + aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_gpr_4 = (ctx.gpr[17] | 0u); - aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); + aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_gpr_31 = (0x08A36AA0u); - ctx.fpr[15] = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A36AA0u) goto L_08A36AA0; + aot_fpr_15 = std::bit_cast(aot_gpr_5); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08873400, 27u, 732u, 0x08873400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A36AA0u) goto L_08A36AA0; AOT_REGCACHE_SYNC_OUT(); return; L_08A36AA0: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_6 = (0u | 0u); - ctx.gpr[7] = (ctx.gpr[2] | 0u); + ctx.gpr[7] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08A36AB8u); ctx.gpr[8] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 90u, 0x08B0C660u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A36AB8u) goto L_08A36AB8; AOT_REGCACHE_SYNC_OUT(); return; L_08A36AB8: - aot_gpr_4 = (ctx.gpr[2] + static_cast(4)); + aot_gpr_4 = (aot_gpr_2 + static_cast(4)); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (17389u << 16u); ctx.fpr[22] = static_cast(static_cast(std::bit_cast(aot_fpr_12))); @@ -6963,24 +6964,24 @@ L_08A36AB8: AOT_REGCACHE_SYNC_OUT(); return; L_08A36ADC: aot_gpr_4 = (ctx.gpr[17] | 0u); - ctx.fpr[15] = ctx.fpr[0] + ctx.fpr[26]; - aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); + aot_fpr_15 = ctx.fpr[0] + ctx.fpr[26]; + aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[26])); aot_gpr_31 = (0x08A36AF4u); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[24])); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A36AF4u) goto L_08A36AF4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08873400, 27u, 732u, 0x08873400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A36AF4u) goto L_08A36AF4; AOT_REGCACHE_SYNC_OUT(); return; L_08A36AF4: aot_gpr_31 = (0x08A36AFCu); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 64u, 0x08B0C4D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A36AFCu) goto L_08A36AFC; AOT_REGCACHE_SYNC_OUT(); return; L_08A36AFC: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08A36B0Cu); aot_gpr_6 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A36B0Cu) goto L_08A36B0C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A36B0Cu) goto L_08A36B0C; AOT_REGCACHE_SYNC_OUT(); return; L_08A36B0C: aot_gpr_31 = (0x08A36B14u); @@ -6993,17 +6994,17 @@ L_08A36B14: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 75u, 0x08B0C580u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A36B1Cu) goto L_08A36B1C; AOT_REGCACHE_SYNC_OUT(); return; L_08A36B1C: - ctx.fpr[15] = ctx.fpr[0] + ctx.fpr[26]; + aot_fpr_15 = ctx.fpr[0] + ctx.fpr[26]; aot_gpr_4 = (ctx.gpr[17] | 0u); - aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); + aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[26])); aot_gpr_31 = (0x08A36B34u); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[22])); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A36B34u) goto L_08A36B34; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08873400, 27u, 732u, 0x08873400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A36B34u) goto L_08A36B34; AOT_REGCACHE_SYNC_OUT(); return; L_08A36B34: aot_gpr_31 = (0x08A36B3Cu); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 64u, 0x08B0C4D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A36B3Cu) goto L_08A36B3C; AOT_REGCACHE_SYNC_OUT(); return; L_08A36B3C: @@ -7016,13 +7017,13 @@ L_08A36B3C: goto L_08A36B48; } L_08A36B48: - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); aot_gpr_31 = (0x08A36B54u); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A36B54u) goto L_08A36B54; AOT_REGCACHE_SYNC_OUT(); return; L_08A36B54: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { @@ -7033,14 +7034,14 @@ L_08A36B54: L_08A36B60: aot_gpr_31 = (0x08A36B68u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A36B68u) goto L_08A36B68; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A36B68u) goto L_08A36B68; AOT_REGCACHE_SYNC_OUT(); return; L_08A36B68: - aot_gpr_16 = (ctx.gpr[17] | 0u); + ctx.gpr[16] = (ctx.gpr[17] | 0u); goto L_08A36B6C; L_08A36B6C: - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); - ctx.gpr[17] = (aot_gpr_16 | 0u); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), ctx.gpr[16]); + ctx.gpr[17] = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[28] + static_cast(-6768)); goto L_08A36B78; L_08A36B78: @@ -7049,11 +7050,11 @@ L_08A36B78: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A36B80u) goto L_08A36B80; AOT_REGCACHE_SYNC_OUT(); return; L_08A36B80: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08A36B90u); aot_gpr_6 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A36B90u) goto L_08A36B90; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A36B90u) goto L_08A36B90; AOT_REGCACHE_SYNC_OUT(); return; L_08A36B90: { const bool branch_taken = 0u == 0u; @@ -7073,10 +7074,10 @@ L_08A36B98: goto L_08A36BA4; } L_08A36BA4: - aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8732))); - aot_gpr_16 = (aot_gpr_16 - aot_gpr_4); - aot_gpr_4 = (aot_gpr_16 < static_cast(5000) ? 1u : 0u); + ctx.gpr[16] = (ctx.gpr[16] - aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] < static_cast(5000) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -7087,7 +7088,7 @@ L_08A36BA4: L_08A36BBC: ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); { const bool branch_taken = ctx.gpr[17] != 0u; - ctx.gpr[18] = (aot_gpr_16 | 0u); + ctx.gpr[18] = (ctx.gpr[16] | 0u); if (branch_taken) { goto L_08A36BF4; } @@ -7100,7 +7101,7 @@ L_08A36BC8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A36BD4u) goto L_08A36BD4; AOT_REGCACHE_SYNC_OUT(); return; L_08A36BD4: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[18] == 0u; // nop if (branch_taken) { @@ -7111,14 +7112,14 @@ L_08A36BD4: L_08A36BE0: aot_gpr_31 = (0x08A36BE8u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A36BE8u) goto L_08A36BE8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A36BE8u) goto L_08A36BE8; AOT_REGCACHE_SYNC_OUT(); return; L_08A36BE8: ctx.gpr[17] = (ctx.gpr[18] | 0u); goto L_08A36BEC; L_08A36BEC: aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), ctx.gpr[17]); - ctx.gpr[18] = (aot_gpr_16 | 0u); + ctx.gpr[18] = (ctx.gpr[16] | 0u); goto L_08A36BF4; L_08A36BF4: aot_gpr_5 = (ctx.gpr[28] + static_cast(-6760)); @@ -7127,15 +7128,15 @@ L_08A36BF4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A36C00u) goto L_08A36C00; AOT_REGCACHE_SYNC_OUT(); return; L_08A36C00: - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08A36C0Cu); aot_gpr_4 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A36C0Cu) goto L_08A36C0C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C498, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A36C0Cu) goto L_08A36C0C; AOT_REGCACHE_SYNC_OUT(); return; L_08A36C0C: aot_gpr_31 = (0x08A36C14u); aot_gpr_4 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A36C14u) goto L_08A36C14; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C604, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A36C14u) goto L_08A36C14; AOT_REGCACHE_SYNC_OUT(); return; L_08A36C14: aot_gpr_4 = (ctx.gpr[18] | 0u); @@ -7148,12 +7149,12 @@ L_08A36C24: aot_gpr_6 = (0u | 255u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(44), static_cast(aot_gpr_5)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(45), static_cast(aot_gpr_6)); - aot_gpr_4 = (ctx.gpr[2] & 255u); + aot_gpr_4 = (aot_gpr_2 & 255u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(46), static_cast(aot_gpr_5)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(47), static_cast(aot_gpr_4)); aot_gpr_31 = (0x08A36C48u); aot_gpr_4 = (aot_gpr_29 + static_cast(44)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A36C48u) goto L_08A36C48; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C4A8, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A36C48u) goto L_08A36C48; AOT_REGCACHE_SYNC_OUT(); return; L_08A36C48: aot_fpr_12 = std::bit_cast(ctx.gpr[18]); @@ -7177,12 +7178,12 @@ L_08A36C60: aot_gpr_4 = (17185u << 16u); aot_fpr_14 = std::bit_cast(aot_gpr_4); aot_gpr_5 = (0u | 0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_fpr_12 = aot_fpr_14 - aot_fpr_12; aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); aot_gpr_31 = (0x08A36C90u); aot_gpr_6 = (std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A36C90u) goto L_08A36C90; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C138, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 19u, 0x08B0C138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A36C90u) goto L_08A36C90; AOT_REGCACHE_SYNC_OUT(); return; L_08A36C90: { const bool branch_taken = 0u == 0u; @@ -7195,11 +7196,11 @@ L_08A36C90: L_08A36C98: { std::uint32_t aot_run_words[8]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(48), aot_run_words); - aot_fpr_20 = std::bit_cast(aot_run_words[0]); + ctx.fpr[20] = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); ctx.fpr[26] = std::bit_cast(aot_run_words[3]); - aot_gpr_16 = aot_run_words[4]; + ctx.gpr[16] = aot_run_words[4]; ctx.gpr[17] = aot_run_words[5]; ctx.gpr[18] = aot_run_words[6]; aot_gpr_31 = aot_run_words[7]; @@ -7297,14 +7298,14 @@ L_08A36D4C: } L_08A36D7C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08A36D88; } goto L_08A36D84; } L_08A36D84: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(20))); + aot_gpr_2 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(20))); goto L_08A36D88; L_08A36D88: jump_target = aot_gpr_31; @@ -7321,7 +7322,7 @@ L_08A36D90: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), aot_gpr_6); ctx.gpr[20] = (aot_gpr_4 | 0u); ctx.gpr[19] = (ctx.gpr[19] + static_cast(-28736)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18]}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_31); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(100))); @@ -7332,7 +7333,7 @@ L_08A36D90: L_08A36DC8: ctx.gpr[18] = (aot_mem.aot_direct_load8(ctx.gpr[20] + static_cast(4))); ctx.gpr[17] = (0u | 1u); - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); goto L_08A36DD4; L_08A36DD4: aot_gpr_4 = (ctx.gpr[18] & ctx.gpr[17]); @@ -7360,11 +7361,11 @@ L_08A36DF4: goto L_08A36DF8; L_08A36DF8: aot_gpr_31 = (0x08A36E00u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0147_entry, 147u, 573u, 0x08A53124u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A36E00u) goto L_08A36E00; AOT_REGCACHE_SYNC_OUT(); return; L_08A36E00: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08A36E18; @@ -7375,13 +7376,13 @@ L_08A36E08: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(100))); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[20] + static_cast(3)))))); aot_gpr_31 = (0x08A36E18u); - aot_gpr_6 = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0161_entry, 161u, 330u, 0x08A897C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A36E18u) goto L_08A36E18; AOT_REGCACHE_SYNC_OUT(); return; L_08A36E18: ctx.gpr[17] = (ctx.gpr[17] + ctx.gpr[17]); - aot_gpr_16 = (aot_gpr_16 + static_cast(1)); - aot_gpr_4 = (static_cast(aot_gpr_16) < 8 ? 1u : 0u); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(1)); + aot_gpr_4 = (static_cast(ctx.gpr[16]) < 8 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; ctx.gpr[17] = (ctx.gpr[17] & 255u); if (branch_taken) { @@ -7396,13 +7397,13 @@ L_08A36E2C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0075_entry, 75u, 759u, 0x08933F0Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A36E38u) goto L_08A36E38; AOT_REGCACHE_SYNC_OUT(); return; L_08A36E38: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(60))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(60))); aot_gpr_4 = (aot_gpr_4 + static_cast(40)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); jump_target = aot_gpr_6; aot_gpr_31 = (0x08A36E50u); - aot_gpr_4 = (ctx.gpr[2] + aot_gpr_5); + aot_gpr_4 = (aot_gpr_2 + aot_gpr_5); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A36E50u) goto L_08A36E50; AOT_REGCACHE_SYNC_OUT(); return; @@ -7414,7 +7415,7 @@ L_08A36E50: L_08A36E58: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -7533,7 +7534,7 @@ L_08A36F60: aot_gpr_5 = (aot_mem.aot_direct_load_word_left(aot_gpr_6 + static_cast(6), aot_gpr_5)); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(100))); ctx.gpr[7] = (aot_mem.aot_direct_load16(ctx.gpr[7] + static_cast(52))); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[16], ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } { const bool branch_taken = aot_gpr_5 != ctx.gpr[7]; // nop @@ -7550,7 +7551,7 @@ L_08A36F98: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 192u, 0x08ADCA6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A36FA8u) goto L_08A36FA8; AOT_REGCACHE_SYNC_OUT(); return; L_08A36FA8: - aot_gpr_6 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_6 != 0u; // nop if (branch_taken) { @@ -7575,8 +7576,8 @@ L_08A36FBC: goto L_08A36FC4; } L_08A36FC4: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(104))); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(104))); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08A36FE8; @@ -7584,7 +7585,7 @@ L_08A36FC4: goto L_08A36FD0; } L_08A36FD0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(900))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -7593,7 +7594,7 @@ L_08A36FD0: goto L_08A36FDC; } L_08A36FDC: - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A36FE8u); aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0106_entry, 106u, 80u, 0x089AC664u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A36FE8u) goto L_08A36FE8; @@ -7602,13 +7603,13 @@ L_08A36FE8: ctx.gpr[17] = (0u | 0u); goto L_08A36FEC; L_08A36FEC: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A36FF8u); aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A36FF8u) goto L_08A36FF8; AOT_REGCACHE_SYNC_OUT(); return; L_08A36FF8: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08A3701C; @@ -7616,14 +7617,14 @@ L_08A36FF8: goto L_08A37000; } L_08A37000: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A3700Cu); aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A3700Cu) goto L_08A3700C; AOT_REGCACHE_SYNC_OUT(); return; L_08A3700C: - aot_gpr_4 = (ctx.gpr[2] | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A3701Cu); aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0106_entry, 106u, 80u, 0x089AC664u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A3701Cu) goto L_08A3701C; @@ -7641,7 +7642,7 @@ L_08A3701C: L_08A3702C: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -7653,13 +7654,13 @@ L_08A3702C: AOT_REGCACHE_SYNC_OUT(); return; L_08A37040: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_6); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_4 = (2237u << 16u); - aot_gpr_5 = (aot_mem.aot_direct_load_word_right(aot_gpr_16 + static_cast(3), aot_gpr_5)); + aot_gpr_5 = (aot_mem.aot_direct_load_word_right(ctx.gpr[16] + static_cast(3), aot_gpr_5)); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); - aot_gpr_5 = (aot_mem.aot_direct_load_word_left(aot_gpr_16 + static_cast(6), aot_gpr_5)); + aot_gpr_5 = (aot_mem.aot_direct_load_word_left(ctx.gpr[16] + static_cast(6), aot_gpr_5)); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(100))); aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(52))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); @@ -7671,13 +7672,13 @@ L_08A37040: goto L_08A37074; } L_08A37074: - aot_gpr_6 = (aot_mem.aot_direct_load_word_right(aot_gpr_16 + static_cast(7), aot_gpr_6)); + aot_gpr_6 = (aot_mem.aot_direct_load_word_right(ctx.gpr[16] + static_cast(7), aot_gpr_6)); aot_gpr_31 = (0x08A37080u); - aot_gpr_6 = (aot_mem.aot_direct_load_word_left(aot_gpr_16 + static_cast(10), aot_gpr_6)); + aot_gpr_6 = (aot_mem.aot_direct_load_word_left(ctx.gpr[16] + static_cast(10), aot_gpr_6)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 192u, 0x08ADCA6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A37080u) goto L_08A37080; AOT_REGCACHE_SYNC_OUT(); return; L_08A37080: - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_5 == 0u; // nop if (branch_taken) { @@ -7695,7 +7696,7 @@ L_08A3708C: goto L_08A37098; } L_08A37098: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(11))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(11))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -7741,7 +7742,7 @@ L_08A370C8: aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(860), static_cast(aot_gpr_4)); goto L_08A370D0; L_08A370D0: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -7751,13 +7752,13 @@ L_08A370D0: AOT_REGCACHE_SYNC_OUT(); return; L_08A370E0: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_6); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_4 = (2237u << 16u); - aot_gpr_5 = (aot_mem.aot_direct_load_word_right(aot_gpr_16 + static_cast(3), aot_gpr_5)); + aot_gpr_5 = (aot_mem.aot_direct_load_word_right(ctx.gpr[16] + static_cast(3), aot_gpr_5)); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); - aot_gpr_5 = (aot_mem.aot_direct_load_word_left(aot_gpr_16 + static_cast(6), aot_gpr_5)); + aot_gpr_5 = (aot_mem.aot_direct_load_word_left(ctx.gpr[16] + static_cast(6), aot_gpr_5)); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(100))); aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(52))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); @@ -7769,13 +7770,13 @@ L_08A370E0: goto L_08A37114; } L_08A37114: - aot_gpr_6 = (aot_mem.aot_direct_load_word_right(aot_gpr_16 + static_cast(7), aot_gpr_6)); + aot_gpr_6 = (aot_mem.aot_direct_load_word_right(ctx.gpr[16] + static_cast(7), aot_gpr_6)); aot_gpr_31 = (0x08A37120u); - aot_gpr_6 = (aot_mem.aot_direct_load_word_left(aot_gpr_16 + static_cast(10), aot_gpr_6)); + aot_gpr_6 = (aot_mem.aot_direct_load_word_left(ctx.gpr[16] + static_cast(10), aot_gpr_6)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 192u, 0x08ADCA6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A37120u) goto L_08A37120; AOT_REGCACHE_SYNC_OUT(); return; L_08A37120: - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_5 == 0u; // nop if (branch_taken) { @@ -7817,12 +7818,12 @@ L_08A37148: goto L_08A37150; } L_08A37150: - aot_gpr_4 = (aot_mem.aot_direct_load_word_right(aot_gpr_16 + static_cast(11), aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load_word_left(aot_gpr_16 + static_cast(14), aot_gpr_4)); + aot_gpr_4 = (aot_mem.aot_direct_load_word_right(ctx.gpr[16] + static_cast(11), aot_gpr_4)); + aot_gpr_4 = (aot_mem.aot_direct_load_word_left(ctx.gpr[16] + static_cast(14), aot_gpr_4)); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(680), aot_gpr_4); goto L_08A3715C; L_08A3715C: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -7832,13 +7833,13 @@ L_08A3715C: AOT_REGCACHE_SYNC_OUT(); return; L_08A3716C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_6); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_4 = (2237u << 16u); - aot_gpr_5 = (aot_mem.aot_direct_load_word_right(aot_gpr_16 + static_cast(3), aot_gpr_5)); + aot_gpr_5 = (aot_mem.aot_direct_load_word_right(ctx.gpr[16] + static_cast(3), aot_gpr_5)); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); - aot_gpr_5 = (aot_mem.aot_direct_load_word_left(aot_gpr_16 + static_cast(6), aot_gpr_5)); + aot_gpr_5 = (aot_mem.aot_direct_load_word_left(ctx.gpr[16] + static_cast(6), aot_gpr_5)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(100))); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(52))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); @@ -7850,18 +7851,18 @@ L_08A3716C: goto L_08A371A0; } L_08A371A0: - aot_gpr_5 = (aot_mem.aot_direct_load_word_right(aot_gpr_16 + static_cast(3), aot_gpr_5)); - aot_gpr_5 = (aot_mem.aot_direct_load_word_left(aot_gpr_16 + static_cast(6), aot_gpr_5)); - aot_gpr_6 = (aot_mem.aot_direct_load_word_right(aot_gpr_16 + static_cast(7), aot_gpr_6)); + aot_gpr_5 = (aot_mem.aot_direct_load_word_right(ctx.gpr[16] + static_cast(3), aot_gpr_5)); + aot_gpr_5 = (aot_mem.aot_direct_load_word_left(ctx.gpr[16] + static_cast(6), aot_gpr_5)); + aot_gpr_6 = (aot_mem.aot_direct_load_word_right(ctx.gpr[16] + static_cast(7), aot_gpr_6)); aot_gpr_4 = (2237u << 16u); - aot_gpr_6 = (aot_mem.aot_direct_load_word_left(aot_gpr_16 + static_cast(10), aot_gpr_6)); + aot_gpr_6 = (aot_mem.aot_direct_load_word_left(ctx.gpr[16] + static_cast(10), aot_gpr_6)); aot_gpr_31 = (0x08A371BCu); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 192u, 0x08ADCA6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A371BCu) goto L_08A371BC; AOT_REGCACHE_SYNC_OUT(); return; L_08A371BC: - aot_gpr_16 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08A37228; @@ -7869,19 +7870,19 @@ L_08A371BC: goto L_08A371C8; } L_08A371C8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(108))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(108))); aot_gpr_4 = (aot_gpr_4 + static_cast(64)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); jump_target = aot_gpr_6; aot_gpr_31 = (0x08A371E0u); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_5); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_5); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A371E0u) goto L_08A371E0; AOT_REGCACHE_SYNC_OUT(); return; L_08A371E0: aot_gpr_4 = (0u | 2u); - { const bool branch_taken = ctx.gpr[2] != aot_gpr_4; + { const bool branch_taken = aot_gpr_2 != aot_gpr_4; // nop if (branch_taken) { goto L_08A371FC; @@ -7890,7 +7891,7 @@ L_08A371E0: } L_08A371EC: aot_gpr_31 = (0x08A371F4u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 704u, 0x089F79E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A371F4u) goto L_08A371F4; AOT_REGCACHE_SYNC_OUT(); return; L_08A371F4: @@ -7902,19 +7903,19 @@ L_08A371F4: goto L_08A371FC; } L_08A371FC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(108))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(108))); aot_gpr_4 = (aot_gpr_4 + static_cast(64)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); jump_target = aot_gpr_6; aot_gpr_31 = (0x08A37214u); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_5); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_5); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A37214u) goto L_08A37214; AOT_REGCACHE_SYNC_OUT(); return; L_08A37214: aot_gpr_4 = (0u | 3u); - { const bool branch_taken = ctx.gpr[2] != aot_gpr_4; + { const bool branch_taken = aot_gpr_2 != aot_gpr_4; // nop if (branch_taken) { goto L_08A37228; @@ -7923,7 +7924,7 @@ L_08A37214: } L_08A37220: aot_gpr_31 = (0x08A37228u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0168_entry, 168u, 178u, 0x08AA5240u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A37228u) goto L_08A37228; AOT_REGCACHE_SYNC_OUT(); return; L_08A37228: @@ -7935,18 +7936,18 @@ L_08A37228: goto L_08A37230; } L_08A37230: - aot_gpr_5 = (aot_mem.aot_direct_load_word_right(aot_gpr_16 + static_cast(3), aot_gpr_5)); - aot_gpr_5 = (aot_mem.aot_direct_load_word_left(aot_gpr_16 + static_cast(6), aot_gpr_5)); - aot_gpr_6 = (aot_mem.aot_direct_load_word_right(aot_gpr_16 + static_cast(7), aot_gpr_6)); + aot_gpr_5 = (aot_mem.aot_direct_load_word_right(ctx.gpr[16] + static_cast(3), aot_gpr_5)); + aot_gpr_5 = (aot_mem.aot_direct_load_word_left(ctx.gpr[16] + static_cast(6), aot_gpr_5)); + aot_gpr_6 = (aot_mem.aot_direct_load_word_right(ctx.gpr[16] + static_cast(7), aot_gpr_6)); aot_gpr_4 = (2237u << 16u); - aot_gpr_6 = (aot_mem.aot_direct_load_word_left(aot_gpr_16 + static_cast(10), aot_gpr_6)); + aot_gpr_6 = (aot_mem.aot_direct_load_word_left(ctx.gpr[16] + static_cast(10), aot_gpr_6)); aot_gpr_31 = (0x08A3724Cu); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 192u, 0x08ADCA6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A3724Cu) goto L_08A3724C; AOT_REGCACHE_SYNC_OUT(); return; L_08A3724C: - aot_gpr_16 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08A37308; @@ -7954,8 +7955,8 @@ L_08A3724C: goto L_08A37258; } L_08A37258: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(104))); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(104))); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08A37308; @@ -7963,7 +7964,7 @@ L_08A37258: goto L_08A37264; } L_08A37264: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(852))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -7973,34 +7974,34 @@ L_08A37264: } L_08A37270: aot_fpr_12 = std::bit_cast(0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A37280u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(1752), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(1752), std::bit_cast(aot_fpr_12)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 576u, 0x088327B0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A37280u) goto L_08A37280; AOT_REGCACHE_SYNC_OUT(); return; L_08A37280: aot_gpr_31 = (0x08A37288u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 711u, 0x088331D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A37288u) goto L_08A37288; AOT_REGCACHE_SYNC_OUT(); return; L_08A37288: aot_gpr_31 = (0x08A37290u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 681u, 0x08832FA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A37290u) goto L_08A37290; AOT_REGCACHE_SYNC_OUT(); return; L_08A37290: aot_gpr_31 = (0x08A37298u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 696u, 0x088330BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A37298u) goto L_08A37298; AOT_REGCACHE_SYNC_OUT(); return; L_08A37298: aot_gpr_4 = (2237u << 16u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A372A8u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); goto L_08A36CD0; L_08A372A8: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -8023,19 +8024,19 @@ L_08A372BC: } L_08A372C4: aot_fpr_12 = std::bit_cast(0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A372D4u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(1400), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(1400), std::bit_cast(aot_fpr_12)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0149_entry, 149u, 311u, 0x08A5959Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A372D4u) goto L_08A372D4; AOT_REGCACHE_SYNC_OUT(); return; L_08A372D4: aot_gpr_4 = (2237u << 16u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A372E4u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); goto L_08A36CD0; L_08A372E4: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -8049,13 +8050,13 @@ L_08A372F0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0168_entry, 168u, 178u, 0x08AA5240u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A372F8u) goto L_08A372F8; AOT_REGCACHE_SYNC_OUT(); return; L_08A372F8: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(632))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(632))); aot_gpr_4 = (0u | 1u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(636), std::bit_cast(aot_fpr_12)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(680), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(636), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(680), aot_gpr_4); goto L_08A37308; L_08A37308: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -8073,7 +8074,7 @@ L_08A37318: aot_gpr_5 = (aot_mem.aot_direct_load_word_left(aot_gpr_6 + static_cast(6), aot_gpr_5)); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(100))); ctx.gpr[7] = (aot_mem.aot_direct_load16(ctx.gpr[7] + static_cast(52))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); { const bool branch_taken = aot_gpr_5 != ctx.gpr[7]; // nop @@ -8090,7 +8091,7 @@ L_08A3734C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 192u, 0x08ADCA6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A3735Cu) goto L_08A3735C; AOT_REGCACHE_SYNC_OUT(); return; L_08A3735C: - aot_gpr_6 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_6 != 0u; // nop if (branch_taken) { @@ -8115,8 +8116,8 @@ L_08A37370: goto L_08A37378; } L_08A37378: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(104))); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(104))); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08A373C0; @@ -8124,7 +8125,7 @@ L_08A37378: goto L_08A37384; } L_08A37384: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(900))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -8133,13 +8134,13 @@ L_08A37384: goto L_08A37390; } L_08A37390: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A3739Cu); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 247u, 0x08891B8Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A3739Cu) goto L_08A3739C; AOT_REGCACHE_SYNC_OUT(); return; L_08A3739C: - { const bool branch_taken = aot_gpr_16 == 0u; + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08A373C0; @@ -8147,19 +8148,19 @@ L_08A3739C: goto L_08A373A4; } L_08A373A4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(92))); aot_gpr_5 = (0u | 3u); aot_gpr_4 = (aot_gpr_4 + static_cast(24)); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x08A373C0u); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_6); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_6); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A373C0u) goto L_08A373C0; AOT_REGCACHE_SYNC_OUT(); return; L_08A373C0: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -8169,13 +8170,13 @@ L_08A373C0: AOT_REGCACHE_SYNC_OUT(); return; L_08A373D0: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_6); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_4 = (2237u << 16u); - aot_gpr_5 = (aot_mem.aot_direct_load_word_right(aot_gpr_16 + static_cast(3), aot_gpr_5)); + aot_gpr_5 = (aot_mem.aot_direct_load_word_right(ctx.gpr[16] + static_cast(3), aot_gpr_5)); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); - aot_gpr_5 = (aot_mem.aot_direct_load_word_left(aot_gpr_16 + static_cast(6), aot_gpr_5)); + aot_gpr_5 = (aot_mem.aot_direct_load_word_left(ctx.gpr[16] + static_cast(6), aot_gpr_5)); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(100))); aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(52))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); @@ -8187,13 +8188,13 @@ L_08A373D0: goto L_08A37404; } L_08A37404: - aot_gpr_6 = (aot_mem.aot_direct_load_word_right(aot_gpr_16 + static_cast(7), aot_gpr_6)); + aot_gpr_6 = (aot_mem.aot_direct_load_word_right(ctx.gpr[16] + static_cast(7), aot_gpr_6)); aot_gpr_31 = (0x08A37410u); - aot_gpr_6 = (aot_mem.aot_direct_load_word_left(aot_gpr_16 + static_cast(10), aot_gpr_6)); + aot_gpr_6 = (aot_mem.aot_direct_load_word_left(ctx.gpr[16] + static_cast(10), aot_gpr_6)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 192u, 0x08ADCA6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A37410u) goto L_08A37410; AOT_REGCACHE_SYNC_OUT(); return; L_08A37410: - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_5 == 0u; // nop if (branch_taken) { @@ -8236,7 +8237,7 @@ L_08A37438: } L_08A37440: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(617)))))); - aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(11))); + aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(11))); ctx.gpr[7] = (0u + static_cast(-9)); aot_gpr_6 = (aot_gpr_6 & 1u); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[7]); @@ -8245,7 +8246,7 @@ L_08A37440: aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(617), static_cast(aot_gpr_4)); goto L_08A37460; L_08A37460: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -8255,43 +8256,43 @@ L_08A37460: AOT_REGCACHE_SYNC_OUT(); return; L_08A37470: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_4 = (2237u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); ctx.gpr[17] = (aot_gpr_4 + static_cast(-28736)); - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(3))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(3))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08A3749Cu); aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 378u, 0x08ADD694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A3749Cu) goto L_08A3749C; AOT_REGCACHE_SYNC_OUT(); return; L_08A3749C: - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(4))); aot_gpr_31 = (0x08A374A8u); aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 379u, 0x08ADD69Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A374A8u) goto L_08A374A8; AOT_REGCACHE_SYNC_OUT(); return; L_08A374A8: - aot_gpr_5 = (aot_mem.aot_direct_load_word_right(aot_gpr_16 + static_cast(5), aot_gpr_5)); - aot_gpr_5 = (aot_mem.aot_direct_load_word_left(aot_gpr_16 + static_cast(8), aot_gpr_5)); + aot_gpr_5 = (aot_mem.aot_direct_load_word_right(ctx.gpr[16] + static_cast(5), aot_gpr_5)); + aot_gpr_5 = (aot_mem.aot_direct_load_word_left(ctx.gpr[16] + static_cast(8), aot_gpr_5)); aot_gpr_31 = (0x08A374B8u); aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 380u, 0x08ADD6A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A374B8u) goto L_08A374B8; AOT_REGCACHE_SYNC_OUT(); return; L_08A374B8: - aot_gpr_4 = (aot_mem.aot_direct_load_word_right(aot_gpr_16 + static_cast(9), aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load_word_left(aot_gpr_16 + static_cast(12), aot_gpr_4)); + aot_gpr_4 = (aot_mem.aot_direct_load_word_right(ctx.gpr[16] + static_cast(9), aot_gpr_4)); + aot_gpr_4 = (aot_mem.aot_direct_load_word_left(ctx.gpr[16] + static_cast(12), aot_gpr_4)); aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(256), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load_word_right(aot_gpr_16 + static_cast(13), aot_gpr_4)); + aot_gpr_4 = (aot_mem.aot_direct_load_word_right(ctx.gpr[16] + static_cast(13), aot_gpr_4)); aot_gpr_5 = (0u | 1u); - aot_gpr_4 = (aot_mem.aot_direct_load_word_left(aot_gpr_16 + static_cast(16), aot_gpr_4)); + aot_gpr_4 = (aot_mem.aot_direct_load_word_left(ctx.gpr[16] + static_cast(16), aot_gpr_4)); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(10), static_cast(aot_gpr_5)); aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(260), aot_gpr_4); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -8341,8 +8342,8 @@ L_08A37534: L_08A37540: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), aot_gpr_6); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_5 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_5 | 0u); ctx.gpr[7] = (aot_mem.aot_direct_load_word_right(aot_gpr_4 + static_cast(3), ctx.gpr[7])); aot_gpr_5 = (2237u << 16u); ctx.gpr[7] = (aot_mem.aot_direct_load_word_left(aot_gpr_4 + static_cast(6), ctx.gpr[7])); @@ -8357,7 +8358,7 @@ L_08A37540: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 192u, 0x08ADCA6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A37584u) goto L_08A37584; AOT_REGCACHE_SYNC_OUT(); return; L_08A37584: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { @@ -8399,12 +8400,12 @@ L_08A375B8: aot_gpr_4 = (ctx.gpr[19] | 0u); jump_target = aot_gpr_6; aot_gpr_31 = (0x08A375C8u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A375C8u) goto L_08A375C8; AOT_REGCACHE_SYNC_OUT(); return; L_08A375C8: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08A375D8; @@ -8422,13 +8423,13 @@ L_08A375D0: L_08A375D8: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08A375E4u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0034_entry, 34u, 557u, 0x0888F948u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A375E4u) goto L_08A375E4; AOT_REGCACHE_SYNC_OUT(); return; L_08A375E4: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -8442,7 +8443,7 @@ L_08A375E4: AOT_REGCACHE_SYNC_OUT(); return; L_08A37600: aot_gpr_29 = (aot_gpr_29 + static_cast(-112)); - { const std::uint32_t aot_run_words[9]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], aot_gpr_31}; + { const std::uint32_t aot_run_words[9]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(64), aot_run_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(112), aot_gpr_6); aot_gpr_5 = (aot_mem.aot_direct_load_word_right(aot_gpr_4 + static_cast(3), aot_gpr_5)); @@ -8484,16 +8485,16 @@ L_08A37600: { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_13), std::bit_cast(aot_fpr_14)}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(16), aot_run_words); } ctx.gpr[17] = (aot_gpr_29 + static_cast(16)); - aot_gpr_16 = (aot_mem.aot_direct_load_word_right(aot_gpr_4 + static_cast(47), aot_gpr_16)); - aot_gpr_16 = (aot_mem.aot_direct_load_word_left(aot_gpr_4 + static_cast(50), aot_gpr_16)); - aot_gpr_16 = (0u < aot_gpr_16 ? 1u : 0u); + ctx.gpr[16] = (aot_mem.aot_direct_load_word_right(aot_gpr_4 + static_cast(47), ctx.gpr[16])); + ctx.gpr[16] = (aot_mem.aot_direct_load_word_left(aot_gpr_4 + static_cast(50), ctx.gpr[16])); + ctx.gpr[16] = (0u < ctx.gpr[16] ? 1u : 0u); aot_gpr_4 = (2237u << 16u); aot_gpr_31 = (0x08A376E8u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 192u, 0x08ADCA6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A376E8u) goto L_08A376E8; AOT_REGCACHE_SYNC_OUT(); return; L_08A376E8: - ctx.gpr[21] = (ctx.gpr[2] | 0u); + ctx.gpr[21] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[21] == 0u; // nop if (branch_taken) { @@ -8535,12 +8536,12 @@ L_08A3771C: aot_gpr_4 = (ctx.gpr[23] | 0u); jump_target = aot_gpr_6; aot_gpr_31 = (0x08A3772Cu); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A3772Cu) goto L_08A3772C; AOT_REGCACHE_SYNC_OUT(); return; L_08A3772C: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08A3773C; @@ -8598,13 +8599,13 @@ L_08A37744: aot_gpr_5 = (ctx.gpr[20] | 0u); aot_gpr_6 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08A37778u); - ctx.gpr[10] = (aot_gpr_16 | 0u); + ctx.gpr[10] = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0125_entry, 125u, 164u, 0x089F933Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A37778u) goto L_08A37778; AOT_REGCACHE_SYNC_OUT(); return; L_08A37778: { std::uint32_t aot_run_words[9]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(64), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -8627,19 +8628,19 @@ L_08A377A4: aot_gpr_5 = (aot_mem.aot_direct_load_word_left(aot_gpr_4 + static_cast(6), aot_gpr_5)); aot_gpr_6 = (aot_mem.aot_direct_load_word_right(aot_gpr_4 + static_cast(7), aot_gpr_6)); aot_gpr_6 = (aot_mem.aot_direct_load_word_left(aot_gpr_4 + static_cast(10), aot_gpr_6)); - { const std::uint32_t aot_run_words[5]{std::bit_cast(aot_fpr_20), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[5]{std::bit_cast(ctx.fpr[20]), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } ctx.gpr[1] = (aot_mem.aot_direct_load_word_right(aot_gpr_4 + static_cast(11), ctx.gpr[1])); ctx.gpr[1] = (aot_mem.aot_direct_load_word_left(aot_gpr_4 + static_cast(14), ctx.gpr[1])); - aot_fpr_20 = std::bit_cast(ctx.gpr[1]); + ctx.fpr[20] = std::bit_cast(ctx.gpr[1]); aot_gpr_4 = (2237u << 16u); aot_gpr_31 = (0x08A377E8u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 192u, 0x08ADCA6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A377E8u) goto L_08A377E8; AOT_REGCACHE_SYNC_OUT(); return; L_08A377E8: - aot_gpr_16 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08A37804; @@ -8647,8 +8648,8 @@ L_08A377E8: goto L_08A377F4; } L_08A377F4: - if (aot_gpr_16 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(108))); + if (ctx.gpr[16] != 0u) { + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(108))); goto L_08A3780C; } goto L_08A377FC; @@ -8672,7 +8673,7 @@ L_08A3780C: ctx.gpr[17] = (aot_gpr_4 + static_cast(16)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(0)))))); aot_gpr_31 = (0x08A3781Cu); - ctx.gpr[18] = (aot_gpr_16 + aot_gpr_4); + ctx.gpr[18] = (ctx.gpr[16] + aot_gpr_4); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0158_entry, 158u, 666u, 0x08A7FAA4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A3781Cu) goto L_08A3781C; AOT_REGCACHE_SYNC_OUT(); return; L_08A3781C: @@ -8680,12 +8681,12 @@ L_08A3781C: aot_gpr_4 = (ctx.gpr[18] | 0u); jump_target = aot_gpr_6; aot_gpr_31 = (0x08A3782Cu); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A3782Cu) goto L_08A3782C; AOT_REGCACHE_SYNC_OUT(); return; L_08A3782C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; aot_gpr_4 = (0u | 0u); if (branch_taken) { goto L_08A3783C; @@ -8694,7 +8695,7 @@ L_08A3782C: } L_08A37834: { const bool branch_taken = 0u == 0u; - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (branch_taken) { goto L_08A3783C; } @@ -8718,13 +8719,13 @@ L_08A37844: goto L_08A37850; } L_08A37850: - aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(636), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(636), std::bit_cast(ctx.fpr[20])); goto L_08A37854; L_08A37854: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_fpr_20 = std::bit_cast(aot_run_words[0]); - aot_gpr_16 = aot_run_words[1]; + ctx.fpr[20] = std::bit_cast(aot_run_words[0]); + ctx.gpr[16] = aot_run_words[1]; ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; @@ -8737,7 +8738,7 @@ L_08A37854: AOT_REGCACHE_SYNC_OUT(); return; L_08A37870: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - { const std::uint32_t aot_run_words[5]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31, aot_gpr_6}; + { const std::uint32_t aot_run_words[5]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31, aot_gpr_6}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(16), aot_run_words); } aot_gpr_5 = (aot_mem.aot_direct_load_word_right(aot_gpr_4 + static_cast(3), aot_gpr_5)); aot_gpr_5 = (aot_mem.aot_direct_load_word_left(aot_gpr_4 + static_cast(6), aot_gpr_5)); @@ -8763,8 +8764,8 @@ L_08A37870: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 192u, 0x08ADCA6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A378E0u) goto L_08A378E0; AOT_REGCACHE_SYNC_OUT(); return; L_08A378E0: - aot_gpr_16 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[16] == 0u; aot_gpr_4 = (0u | 0u); if (branch_taken) { goto L_08A37920; @@ -8772,11 +8773,11 @@ L_08A378E0: goto L_08A378EC; } L_08A378EC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(108))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(108))); ctx.gpr[17] = (aot_gpr_4 + static_cast(16)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(0)))))); aot_gpr_31 = (0x08A37900u); - ctx.gpr[18] = (aot_gpr_16 + aot_gpr_4); + ctx.gpr[18] = (ctx.gpr[16] + aot_gpr_4); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0170_entry, 170u, 139u, 0x08AACA60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A37900u) goto L_08A37900; AOT_REGCACHE_SYNC_OUT(); return; L_08A37900: @@ -8784,12 +8785,12 @@ L_08A37900: aot_gpr_4 = (ctx.gpr[18] | 0u); jump_target = aot_gpr_6; aot_gpr_31 = (0x08A37910u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A37910u) goto L_08A37910; AOT_REGCACHE_SYNC_OUT(); return; L_08A37910: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; aot_gpr_4 = (0u | 0u); if (branch_taken) { goto L_08A37920; @@ -8798,7 +8799,7 @@ L_08A37910: } L_08A37918: { const bool branch_taken = 0u == 0u; - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (branch_taken) { goto L_08A37920; } @@ -8840,7 +8841,7 @@ L_08A3794C: goto L_08A37954; } L_08A37954: - { const bool branch_taken = aot_gpr_16 == 0u; + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08A379F8; @@ -8848,19 +8849,19 @@ L_08A37954: goto L_08A3795C; } L_08A3795C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(108))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(108))); aot_gpr_4 = (aot_gpr_4 + static_cast(64)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); jump_target = aot_gpr_6; aot_gpr_31 = (0x08A37974u); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_5); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_5); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A37974u) goto L_08A37974; AOT_REGCACHE_SYNC_OUT(); return; L_08A37974: aot_gpr_4 = (0u | 3u); - { const bool branch_taken = ctx.gpr[2] != aot_gpr_4; + { const bool branch_taken = aot_gpr_2 != aot_gpr_4; // nop if (branch_taken) { goto L_08A379F8; @@ -8868,7 +8869,7 @@ L_08A37974: goto L_08A37980; } L_08A37980: - { const bool branch_taken = aot_gpr_16 == 0u; + { const bool branch_taken = ctx.gpr[16] == 0u; aot_gpr_4 = (0u | 0u); if (branch_taken) { goto L_08A379BC; @@ -8876,11 +8877,11 @@ L_08A37980: goto L_08A37988; } L_08A37988: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(108))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(108))); ctx.gpr[17] = (aot_gpr_4 + static_cast(16)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(0)))))); aot_gpr_31 = (0x08A3799Cu); - ctx.gpr[18] = (aot_gpr_16 + aot_gpr_4); + ctx.gpr[18] = (ctx.gpr[16] + aot_gpr_4); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0168_entry, 168u, 71u, 0x08AA4980u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A3799Cu) goto L_08A3799C; AOT_REGCACHE_SYNC_OUT(); return; L_08A3799C: @@ -8888,12 +8889,12 @@ L_08A3799C: aot_gpr_4 = (ctx.gpr[18] | 0u); jump_target = aot_gpr_6; aot_gpr_31 = (0x08A379ACu); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A379ACu) goto L_08A379AC; AOT_REGCACHE_SYNC_OUT(); return; L_08A379AC: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; aot_gpr_4 = (0u | 0u); if (branch_taken) { goto L_08A379BC; @@ -8902,7 +8903,7 @@ L_08A379AC: } L_08A379B4: { const bool branch_taken = 0u == 0u; - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (branch_taken) { goto L_08A379BC; } @@ -8954,7 +8955,7 @@ L_08A379E0: L_08A379F8: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; @@ -8967,16 +8968,16 @@ L_08A379F8: AOT_REGCACHE_SYNC_OUT(); return; L_08A37A10: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), aot_gpr_6); - aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_5 = (aot_mem.aot_direct_load_word_right(aot_gpr_16 + static_cast(3), aot_gpr_5)); - aot_gpr_5 = (aot_mem.aot_direct_load_word_left(aot_gpr_16 + static_cast(6), aot_gpr_5)); + ctx.gpr[16] = (aot_gpr_4 | 0u); + aot_gpr_5 = (aot_mem.aot_direct_load_word_right(ctx.gpr[16] + static_cast(3), aot_gpr_5)); + aot_gpr_5 = (aot_mem.aot_direct_load_word_left(ctx.gpr[16] + static_cast(6), aot_gpr_5)); aot_gpr_4 = (2237u << 16u); - aot_gpr_6 = (aot_mem.aot_direct_load_word_right(aot_gpr_16 + static_cast(7), aot_gpr_6)); + aot_gpr_6 = (aot_mem.aot_direct_load_word_right(ctx.gpr[16] + static_cast(7), aot_gpr_6)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); ctx.gpr[18] = (aot_gpr_4 + static_cast(-28736)); - aot_gpr_6 = (aot_mem.aot_direct_load_word_left(aot_gpr_16 + static_cast(10), aot_gpr_6)); + aot_gpr_6 = (aot_mem.aot_direct_load_word_left(ctx.gpr[16] + static_cast(10), aot_gpr_6)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[19]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); @@ -8985,16 +8986,16 @@ L_08A37A10: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 192u, 0x08ADCA6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A37A50u) goto L_08A37A50; AOT_REGCACHE_SYNC_OUT(); return; L_08A37A50: - aot_gpr_5 = (aot_mem.aot_direct_load_word_right(aot_gpr_16 + static_cast(11), aot_gpr_5)); - aot_gpr_5 = (aot_mem.aot_direct_load_word_left(aot_gpr_16 + static_cast(14), aot_gpr_5)); - ctx.gpr[17] = (ctx.gpr[2] | 0u); - aot_gpr_16 = (0u | 0u); + aot_gpr_5 = (aot_mem.aot_direct_load_word_right(ctx.gpr[16] + static_cast(11), aot_gpr_5)); + aot_gpr_5 = (aot_mem.aot_direct_load_word_left(ctx.gpr[16] + static_cast(14), aot_gpr_5)); + ctx.gpr[17] = (aot_gpr_2 | 0u); + ctx.gpr[16] = (0u | 0u); aot_gpr_31 = (0x08A37A68u); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 16u, 0x08ADC120u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A37A68u) goto L_08A37A68; AOT_REGCACHE_SYNC_OUT(); return; L_08A37A68: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -9003,7 +9004,7 @@ L_08A37A68: goto L_08A37A74; } L_08A37A74: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(112))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(112))); goto L_08A37A78; L_08A37A78: { const bool branch_taken = ctx.gpr[17] == 0u; @@ -9026,12 +9027,12 @@ L_08A37A94: aot_gpr_4 = (ctx.gpr[19] | 0u); jump_target = aot_gpr_6; aot_gpr_31 = (0x08A37AA4u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A37AA4u) goto L_08A37AA4; AOT_REGCACHE_SYNC_OUT(); return; L_08A37AA4: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; aot_gpr_4 = (0u | 0u); if (branch_taken) { goto L_08A37AB4; @@ -9065,7 +9066,7 @@ L_08A37ABC: } L_08A37AC8: aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(92))); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_6 = (aot_gpr_6 + static_cast(328)); ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(0)))))); ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(4))); @@ -9105,7 +9106,7 @@ L_08A37AF8: AOT_REGCACHE_SYNC_OUT(); return; L_08A37B10: aot_gpr_4 = (0u | 3u); - { const bool branch_taken = ctx.gpr[2] != aot_gpr_4; + { const bool branch_taken = aot_gpr_2 != aot_gpr_4; // nop if (branch_taken) { goto L_08A37B9C; @@ -9133,12 +9134,12 @@ L_08A37B38: aot_gpr_4 = (ctx.gpr[19] | 0u); jump_target = aot_gpr_6; aot_gpr_31 = (0x08A37B48u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A37B48u) goto L_08A37B48; AOT_REGCACHE_SYNC_OUT(); return; L_08A37B48: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; aot_gpr_4 = (0u | 0u); if (branch_taken) { goto L_08A37B58; @@ -9188,7 +9189,7 @@ L_08A37B74: } L_08A37B7C: aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(92))); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_6 = (aot_gpr_6 + static_cast(328)); ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(0)))))); ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(4))); @@ -9202,7 +9203,7 @@ L_08A37B7C: L_08A37B9C: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -9224,7 +9225,7 @@ L_08A37BB8: aot_gpr_6 = (aot_mem.aot_direct_load_word_left(ctx.gpr[17] + static_cast(6), aot_gpr_6)); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(100))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), ctx.gpr[16]); { const std::uint32_t aot_run_words[3]{ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(40), aot_run_words); } aot_gpr_31 = (0x08A37BF4u); @@ -9232,8 +9233,8 @@ L_08A37BB8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 192u, 0x08ADCA6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A37BF4u) goto L_08A37BF4; AOT_REGCACHE_SYNC_OUT(); return; L_08A37BF4: - aot_gpr_16 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08A37CC4; @@ -9241,11 +9242,11 @@ L_08A37BF4: goto L_08A37C00; } L_08A37C00: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(108))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(108))); ctx.gpr[18] = (aot_gpr_4 + static_cast(16)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(0)))))); aot_gpr_31 = (0x08A37C14u); - ctx.gpr[19] = (aot_gpr_16 + aot_gpr_4); + ctx.gpr[19] = (ctx.gpr[16] + aot_gpr_4); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0158_entry, 158u, 666u, 0x08A7FAA4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A37C14u) goto L_08A37C14; AOT_REGCACHE_SYNC_OUT(); return; L_08A37C14: @@ -9253,12 +9254,12 @@ L_08A37C14: aot_gpr_4 = (ctx.gpr[19] | 0u); jump_target = aot_gpr_6; aot_gpr_31 = (0x08A37C24u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A37C24u) goto L_08A37C24; AOT_REGCACHE_SYNC_OUT(); return; L_08A37C24: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08A37CC4; @@ -9266,8 +9267,8 @@ L_08A37C24: goto L_08A37C2C; } L_08A37C2C: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(104))); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(104))); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08A37CC4; @@ -9305,7 +9306,7 @@ L_08A37C38: aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(16), aot_run_words); } aot_gpr_6 = (aot_gpr_29 + static_cast(16)); ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(35))); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A37CC4u); aot_gpr_5 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 626u, 0x08B02610u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A37CC4u) goto L_08A37CC4; @@ -9313,7 +9314,7 @@ L_08A37C38: L_08A37CC4: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(32), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -9327,13 +9328,13 @@ L_08A37CC4: AOT_REGCACHE_SYNC_OUT(); return; L_08A37CE0: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_6); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_4 = (2237u << 16u); - aot_gpr_5 = (aot_mem.aot_direct_load_word_right(aot_gpr_16 + static_cast(3), aot_gpr_5)); + aot_gpr_5 = (aot_mem.aot_direct_load_word_right(ctx.gpr[16] + static_cast(3), aot_gpr_5)); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); - aot_gpr_5 = (aot_mem.aot_direct_load_word_left(aot_gpr_16 + static_cast(6), aot_gpr_5)); + aot_gpr_5 = (aot_mem.aot_direct_load_word_left(ctx.gpr[16] + static_cast(6), aot_gpr_5)); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(100))); aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(52))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); @@ -9345,13 +9346,13 @@ L_08A37CE0: goto L_08A37D14; } L_08A37D14: - aot_gpr_6 = (aot_mem.aot_direct_load_word_right(aot_gpr_16 + static_cast(7), aot_gpr_6)); + aot_gpr_6 = (aot_mem.aot_direct_load_word_right(ctx.gpr[16] + static_cast(7), aot_gpr_6)); aot_gpr_31 = (0x08A37D20u); - aot_gpr_6 = (aot_mem.aot_direct_load_word_left(aot_gpr_16 + static_cast(10), aot_gpr_6)); + aot_gpr_6 = (aot_mem.aot_direct_load_word_left(ctx.gpr[16] + static_cast(10), aot_gpr_6)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 192u, 0x08ADCA6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A37D20u) goto L_08A37D20; AOT_REGCACHE_SYNC_OUT(); return; L_08A37D20: - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_5 == 0u; // nop if (branch_taken) { @@ -9394,7 +9395,7 @@ L_08A37D48: } L_08A37D50: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(236))); - aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(11))); + aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(11))); ctx.gpr[7] = (0u + static_cast(-5)); aot_gpr_6 = (aot_gpr_6 & 1u); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[7]); @@ -9403,7 +9404,7 @@ L_08A37D50: aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(236), aot_gpr_4); goto L_08A37D70; L_08A37D70: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -9417,10 +9418,10 @@ L_08A37D80: rt.unsupported(0x08A37D84u, 0x0000000Du, "special? not lowered yet"); AOT_REGCACHE_SYNC_OUT(); return; L_08A37D90: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), aot_gpr_6); - aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(3))); + ctx.gpr[16] = (aot_gpr_4 | 0u); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(3))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_31); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -9436,7 +9437,7 @@ L_08A37DB0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 508u, 0x08ADDEE8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A37DBCu) goto L_08A37DBC; AOT_REGCACHE_SYNC_OUT(); return; L_08A37DBC: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(4))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(4))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -9447,17 +9448,17 @@ L_08A37DBC: L_08A37DC8: aot_gpr_4 = (2237u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); - aot_gpr_5 = (aot_mem.aot_direct_load_word_right(aot_gpr_16 + static_cast(17), aot_gpr_5)); - aot_gpr_5 = (aot_mem.aot_direct_load_word_left(aot_gpr_16 + static_cast(20), aot_gpr_5)); - aot_gpr_6 = (aot_gpr_16 + static_cast(5)); + aot_gpr_5 = (aot_mem.aot_direct_load_word_right(ctx.gpr[16] + static_cast(17), aot_gpr_5)); + aot_gpr_5 = (aot_mem.aot_direct_load_word_left(ctx.gpr[16] + static_cast(20), aot_gpr_5)); + aot_gpr_6 = (ctx.gpr[16] + static_cast(5)); ctx.gpr[7] = (aot_mem.aot_direct_load_word_left(aot_gpr_6 + static_cast(3), ctx.gpr[7])); ctx.gpr[7] = (aot_mem.aot_direct_load_word_right(aot_gpr_6 + static_cast(0), ctx.gpr[7])); aot_fpr_12 = std::bit_cast(ctx.gpr[7]); - aot_gpr_6 = (aot_gpr_16 + static_cast(9)); + aot_gpr_6 = (ctx.gpr[16] + static_cast(9)); ctx.gpr[7] = (aot_mem.aot_direct_load_word_left(aot_gpr_6 + static_cast(3), ctx.gpr[7])); ctx.gpr[7] = (aot_mem.aot_direct_load_word_right(aot_gpr_6 + static_cast(0), ctx.gpr[7])); aot_fpr_13 = std::bit_cast(ctx.gpr[7]); - aot_gpr_6 = (aot_gpr_16 + static_cast(13)); + aot_gpr_6 = (ctx.gpr[16] + static_cast(13)); ctx.gpr[7] = (aot_mem.aot_direct_load_word_left(aot_gpr_6 + static_cast(3), ctx.gpr[7])); ctx.gpr[7] = (aot_mem.aot_direct_load_word_right(aot_gpr_6 + static_cast(0), ctx.gpr[7])); aot_fpr_14 = std::bit_cast(ctx.gpr[7]); @@ -9468,7 +9469,7 @@ L_08A37DC8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 492u, 0x08ADDD28u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A37E1Cu) goto L_08A37E1C; AOT_REGCACHE_SYNC_OUT(); return; L_08A37E1C: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); @@ -9489,20 +9490,20 @@ L_08A37E2C: AOT_REGCACHE_SYNC_OUT(); return; L_08A37E44: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18]}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(20), aot_run_words); } - aot_gpr_16 = (2237u << 16u); + ctx.gpr[16] = (2237u << 16u); ctx.gpr[17] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(9943)))))); ctx.gpr[18] = (0u | 0u); aot_gpr_4 = (0u | 12u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), ctx.gpr[19]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), aot_gpr_31); aot_gpr_31 = (0x08A37E74u); - aot_gpr_16 = (aot_gpr_16 + static_cast(-28736)); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(-28736)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A37E74u) goto L_08A37E74; AOT_REGCACHE_SYNC_OUT(); return; L_08A37E74: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_4 == 0u; ctx.gpr[19] = (aot_gpr_29 + static_cast(16)); if (branch_taken) { @@ -9537,7 +9538,7 @@ L_08A37EB4: aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(0), aot_gpr_4); goto L_08A37EC0; L_08A37EC0: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08A37ED0u); aot_gpr_6 = (ctx.gpr[19] | 0u); @@ -9565,7 +9566,7 @@ L_08A37EDC: L_08A37EEC: aot_gpr_31 = (0x08A37EF4u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A37EF4u) goto L_08A37EF4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A37EF4u) goto L_08A37EF4; AOT_REGCACHE_SYNC_OUT(); return; L_08A37EF4: ctx.gpr[17] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(9747)))))); @@ -9575,7 +9576,7 @@ L_08A37EF4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A37F04u) goto L_08A37F04; AOT_REGCACHE_SYNC_OUT(); return; L_08A37F04: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_5 = (2235u << 16u); if (branch_taken) { @@ -9609,7 +9610,7 @@ L_08A37F40: aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(0), aot_gpr_4); goto L_08A37F4C; L_08A37F4C: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08A37F5Cu); aot_gpr_6 = (ctx.gpr[19] | 0u); @@ -9637,7 +9638,7 @@ L_08A37F68: L_08A37F78: aot_gpr_31 = (0x08A37F80u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A37F80u) goto L_08A37F80; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A37F80u) goto L_08A37F80; AOT_REGCACHE_SYNC_OUT(); return; L_08A37F80: ctx.gpr[17] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(8885)))))); @@ -9647,7 +9648,7 @@ L_08A37F80: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A37F90u) goto L_08A37F90; AOT_REGCACHE_SYNC_OUT(); return; L_08A37F90: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_5 = (2235u << 16u); if (branch_taken) { @@ -9681,7 +9682,7 @@ L_08A37FCC: aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(0), aot_gpr_4); goto L_08A37FD8; L_08A37FD8: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08A37FE8u); aot_gpr_6 = (ctx.gpr[19] | 0u); diff --git a/profiles/vcs/generated/generated_unit_0141.cpp b/profiles/vcs/generated/generated_unit_0141.cpp index 07ad05e..7fb0563 100644 --- a/profiles/vcs/generated/generated_unit_0141.cpp +++ b/profiles/vcs/generated/generated_unit_0141.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,7 +139,7 @@ static const std::uint16_t kEntryIds_recomp_unit_0141[4095] = { }; void recomp_unit_0141_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,17,18,29,6 fprs=12,13,14,20 gpr_occ=4518 fpr_occ=186 gpr_total=6160 fpr_total=254 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,17,18,29,6 fprs=12,13,14,20 gpr_occ=4795 fpr_occ=186 gpr_total=6719 fpr_total=254 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_17 = ctx.gpr[17]; @@ -1059,7 +1060,7 @@ LOCAL_DISPATCH: L_08A38004: ctx.gpr[31] = (0x08A3800Cu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A3800Cu) goto L_08A3800C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], aot_gpr_17, aot_gpr_18, ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A3800Cu) goto L_08A3800C; AOT_REGCACHE_SYNC_OUT(); return; L_08A3800C: aot_gpr_17 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(8884)))))); @@ -1131,7 +1132,7 @@ L_08A38080: L_08A38090: ctx.gpr[31] = (0x08A38098u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A38098u) goto L_08A38098; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], aot_gpr_17, aot_gpr_18, ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A38098u) goto L_08A38098; AOT_REGCACHE_SYNC_OUT(); return; L_08A38098: aot_gpr_17 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(9944)))))); @@ -1203,7 +1204,7 @@ L_08A3810C: L_08A3811C: ctx.gpr[31] = (0x08A38124u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A38124u) goto L_08A38124; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], aot_gpr_17, aot_gpr_18, ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A38124u) goto L_08A38124; AOT_REGCACHE_SYNC_OUT(); return; L_08A38124: aot_gpr_17 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(9945)))))); @@ -1275,7 +1276,7 @@ L_08A38198: L_08A381A8: ctx.gpr[31] = (0x08A381B0u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A381B0u) goto L_08A381B0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], aot_gpr_17, aot_gpr_18, ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A381B0u) goto L_08A381B0; AOT_REGCACHE_SYNC_OUT(); return; L_08A381B0: aot_gpr_17 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(9946)))))); @@ -1347,7 +1348,7 @@ L_08A38224: L_08A38234: ctx.gpr[31] = (0x08A3823Cu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A3823Cu) goto L_08A3823C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], aot_gpr_17, aot_gpr_18, ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A3823Cu) goto L_08A3823C; AOT_REGCACHE_SYNC_OUT(); return; L_08A3823C: aot_gpr_17 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(8724)))))); @@ -1419,7 +1420,7 @@ L_08A382B0: L_08A382C0: ctx.gpr[31] = (0x08A382C8u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A382C8u) goto L_08A382C8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], aot_gpr_17, aot_gpr_18, ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A382C8u) goto L_08A382C8; AOT_REGCACHE_SYNC_OUT(); return; L_08A382C8: aot_gpr_17 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(9947)))))); @@ -1491,7 +1492,7 @@ L_08A3833C: L_08A3834C: ctx.gpr[31] = (0x08A38354u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A38354u) goto L_08A38354; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], aot_gpr_17, aot_gpr_18, ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A38354u) goto L_08A38354; AOT_REGCACHE_SYNC_OUT(); return; L_08A38354: aot_gpr_17 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(9948)))))); @@ -1563,7 +1564,7 @@ L_08A383C8: L_08A383D8: ctx.gpr[31] = (0x08A383E0u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A383E0u) goto L_08A383E0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], aot_gpr_17, aot_gpr_18, ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A383E0u) goto L_08A383E0; AOT_REGCACHE_SYNC_OUT(); return; L_08A383E0: aot_gpr_17 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(9949)))))); @@ -1635,7 +1636,7 @@ L_08A38454: L_08A38464: ctx.gpr[31] = (0x08A3846Cu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A3846Cu) goto L_08A3846C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], aot_gpr_17, aot_gpr_18, ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A3846Cu) goto L_08A3846C; AOT_REGCACHE_SYNC_OUT(); return; L_08A3846C: aot_gpr_17 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(9950)))))); @@ -1707,7 +1708,7 @@ L_08A384E0: L_08A384F0: ctx.gpr[31] = (0x08A384F8u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A384F8u) goto L_08A384F8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], aot_gpr_17, aot_gpr_18, ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A384F8u) goto L_08A384F8; AOT_REGCACHE_SYNC_OUT(); return; L_08A384F8: aot_gpr_17 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(9951)))))); @@ -1779,7 +1780,7 @@ L_08A3856C: L_08A3857C: ctx.gpr[31] = (0x08A38584u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A38584u) goto L_08A38584; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], aot_gpr_17, aot_gpr_18, ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A38584u) goto L_08A38584; AOT_REGCACHE_SYNC_OUT(); return; L_08A38584: aot_gpr_17 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(8681)))))); @@ -1851,7 +1852,7 @@ L_08A385F8: L_08A38608: ctx.gpr[31] = (0x08A38610u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A38610u) goto L_08A38610; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], aot_gpr_17, aot_gpr_18, ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A38610u) goto L_08A38610; AOT_REGCACHE_SYNC_OUT(); return; L_08A38610: aot_gpr_17 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(9637)))))); @@ -1923,7 +1924,7 @@ L_08A38684: L_08A38694: ctx.gpr[31] = (0x08A3869Cu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A3869Cu) goto L_08A3869C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], aot_gpr_17, aot_gpr_18, ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A3869Cu) goto L_08A3869C; AOT_REGCACHE_SYNC_OUT(); return; L_08A3869C: aot_gpr_17 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(9642)))))); @@ -1995,7 +1996,7 @@ L_08A38710: L_08A38720: ctx.gpr[31] = (0x08A38728u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A38728u) goto L_08A38728; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], aot_gpr_17, aot_gpr_18, ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A38728u) goto L_08A38728; AOT_REGCACHE_SYNC_OUT(); return; L_08A38728: aot_gpr_17 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(9638)))))); @@ -2067,7 +2068,7 @@ L_08A3879C: L_08A387AC: ctx.gpr[31] = (0x08A387B4u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A387B4u) goto L_08A387B4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], aot_gpr_17, aot_gpr_18, ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A387B4u) goto L_08A387B4; AOT_REGCACHE_SYNC_OUT(); return; L_08A387B4: aot_gpr_17 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(9639)))))); @@ -2139,7 +2140,7 @@ L_08A38828: L_08A38838: ctx.gpr[31] = (0x08A38840u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A38840u) goto L_08A38840; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], aot_gpr_17, aot_gpr_18, ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A38840u) goto L_08A38840; AOT_REGCACHE_SYNC_OUT(); return; L_08A38840: aot_gpr_17 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(9640)))))); @@ -2211,7 +2212,7 @@ L_08A388B4: L_08A388C4: ctx.gpr[31] = (0x08A388CCu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A388CCu) goto L_08A388CC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], aot_gpr_17, aot_gpr_18, ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A388CCu) goto L_08A388CC; AOT_REGCACHE_SYNC_OUT(); return; L_08A388CC: aot_gpr_17 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(8064)))))); @@ -2283,7 +2284,7 @@ L_08A38940: L_08A38950: ctx.gpr[31] = (0x08A38958u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A38958u) goto L_08A38958; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], aot_gpr_17, aot_gpr_18, ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A38958u) goto L_08A38958; AOT_REGCACHE_SYNC_OUT(); return; L_08A38958: aot_gpr_17 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(8433)))))); @@ -2355,7 +2356,7 @@ L_08A389CC: L_08A389DC: ctx.gpr[31] = (0x08A389E4u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A389E4u) goto L_08A389E4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], aot_gpr_17, aot_gpr_18, ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A389E4u) goto L_08A389E4; AOT_REGCACHE_SYNC_OUT(); return; L_08A389E4: aot_gpr_17 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(9641)))))); @@ -2427,7 +2428,7 @@ L_08A38A58: L_08A38A68: ctx.gpr[31] = (0x08A38A70u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A38A70u) goto L_08A38A70; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], aot_gpr_17, aot_gpr_18, ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A38A70u) goto L_08A38A70; AOT_REGCACHE_SYNC_OUT(); return; L_08A38A70: aot_gpr_17 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(9643)))))); @@ -2499,7 +2500,7 @@ L_08A38AE4: L_08A38AF4: ctx.gpr[31] = (0x08A38AFCu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A38AFCu) goto L_08A38AFC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], aot_gpr_17, aot_gpr_18, ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A38AFCu) goto L_08A38AFC; AOT_REGCACHE_SYNC_OUT(); return; L_08A38AFC: aot_gpr_17 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(9645)))))); @@ -2571,7 +2572,7 @@ L_08A38B70: L_08A38B80: ctx.gpr[31] = (0x08A38B88u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A38B88u) goto L_08A38B88; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], aot_gpr_17, aot_gpr_18, ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A38B88u) goto L_08A38B88; AOT_REGCACHE_SYNC_OUT(); return; L_08A38B88: aot_gpr_17 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(9646)))))); @@ -2643,7 +2644,7 @@ L_08A38BFC: L_08A38C0C: ctx.gpr[31] = (0x08A38C14u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A38C14u) goto L_08A38C14; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], aot_gpr_17, aot_gpr_18, ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A38C14u) goto L_08A38C14; AOT_REGCACHE_SYNC_OUT(); return; L_08A38C14: aot_gpr_17 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(9745)))))); @@ -2715,7 +2716,7 @@ L_08A38C88: L_08A38C98: ctx.gpr[31] = (0x08A38CA0u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A38CA0u) goto L_08A38CA0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], aot_gpr_17, aot_gpr_18, ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A38CA0u) goto L_08A38CA0; AOT_REGCACHE_SYNC_OUT(); return; L_08A38CA0: aot_gpr_17 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(9744)))))); @@ -2787,7 +2788,7 @@ L_08A38D14: L_08A38D24: ctx.gpr[31] = (0x08A38D2Cu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A38D2Cu) goto L_08A38D2C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], aot_gpr_17, aot_gpr_18, ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A38D2Cu) goto L_08A38D2C; AOT_REGCACHE_SYNC_OUT(); return; L_08A38D2C: aot_gpr_17 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(9746)))))); @@ -2859,7 +2860,7 @@ L_08A38DA0: L_08A38DB0: ctx.gpr[31] = (0x08A38DB8u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A38DB8u) goto L_08A38DB8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], aot_gpr_17, aot_gpr_18, ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A38DB8u) goto L_08A38DB8; AOT_REGCACHE_SYNC_OUT(); return; L_08A38DB8: aot_gpr_17 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(9684)))))); @@ -2931,7 +2932,7 @@ L_08A38E2C: L_08A38E3C: ctx.gpr[31] = (0x08A38E44u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A38E44u) goto L_08A38E44; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], aot_gpr_17, aot_gpr_18, ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A38E44u) goto L_08A38E44; AOT_REGCACHE_SYNC_OUT(); return; L_08A38E44: aot_gpr_17 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(9636)))))); @@ -3003,7 +3004,7 @@ L_08A38EB8: L_08A38EC8: ctx.gpr[31] = (0x08A38ED0u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A38ED0u) goto L_08A38ED0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], aot_gpr_17, aot_gpr_18, ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A38ED0u) goto L_08A38ED0; AOT_REGCACHE_SYNC_OUT(); return; L_08A38ED0: aot_gpr_17 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7884)))))); @@ -3075,7 +3076,7 @@ L_08A38F44: L_08A38F54: ctx.gpr[31] = (0x08A38F5Cu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A38F5Cu) goto L_08A38F5C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], aot_gpr_17, aot_gpr_18, ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A38F5Cu) goto L_08A38F5C; AOT_REGCACHE_SYNC_OUT(); return; L_08A38F5C: aot_gpr_17 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(9956)))))); @@ -3147,7 +3148,7 @@ L_08A38FD0: L_08A38FE0: ctx.gpr[31] = (0x08A38FE8u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A38FE8u) goto L_08A38FE8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], aot_gpr_17, aot_gpr_18, ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A38FE8u) goto L_08A38FE8; AOT_REGCACHE_SYNC_OUT(); return; L_08A38FE8: aot_gpr_17 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(9954)))))); @@ -3219,7 +3220,7 @@ L_08A3905C: L_08A3906C: ctx.gpr[31] = (0x08A39074u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A39074u) goto L_08A39074; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], aot_gpr_17, aot_gpr_18, ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A39074u) goto L_08A39074; AOT_REGCACHE_SYNC_OUT(); return; L_08A39074: aot_gpr_17 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(9955)))))); @@ -3291,7 +3292,7 @@ L_08A390E8: L_08A390F8: ctx.gpr[31] = (0x08A39100u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A39100u) goto L_08A39100; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], aot_gpr_17, aot_gpr_18, ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A39100u) goto L_08A39100; AOT_REGCACHE_SYNC_OUT(); return; L_08A39100: aot_gpr_17 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(9960)))))); @@ -3363,7 +3364,7 @@ L_08A39174: L_08A39184: ctx.gpr[31] = (0x08A3918Cu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A3918Cu) goto L_08A3918C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], aot_gpr_17, aot_gpr_18, ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A3918Cu) goto L_08A3918C; AOT_REGCACHE_SYNC_OUT(); return; L_08A3918C: aot_gpr_17 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(9961)))))); @@ -3435,7 +3436,7 @@ L_08A39200: L_08A39210: ctx.gpr[31] = (0x08A39218u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A39218u) goto L_08A39218; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], aot_gpr_17, aot_gpr_18, ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A39218u) goto L_08A39218; AOT_REGCACHE_SYNC_OUT(); return; L_08A39218: aot_gpr_17 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(8680)))))); @@ -3507,7 +3508,7 @@ L_08A3928C: L_08A3929C: ctx.gpr[31] = (0x08A392A4u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A392A4u) goto L_08A392A4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], aot_gpr_17, aot_gpr_18, ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A392A4u) goto L_08A392A4; AOT_REGCACHE_SYNC_OUT(); return; L_08A392A4: aot_gpr_17 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(9953)))))); @@ -3579,7 +3580,7 @@ L_08A39318: L_08A39328: ctx.gpr[31] = (0x08A39330u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A39330u) goto L_08A39330; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], aot_gpr_17, aot_gpr_18, ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A39330u) goto L_08A39330; AOT_REGCACHE_SYNC_OUT(); return; L_08A39330: aot_gpr_17 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(9644)))))); @@ -3651,7 +3652,7 @@ L_08A393A4: L_08A393B4: ctx.gpr[31] = (0x08A393BCu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A393BCu) goto L_08A393BC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], aot_gpr_17, aot_gpr_18, ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A393BCu) goto L_08A393BC; AOT_REGCACHE_SYNC_OUT(); return; L_08A393BC: aot_gpr_17 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7788)))))); @@ -3723,7 +3724,7 @@ L_08A39430: L_08A39440: ctx.gpr[31] = (0x08A39448u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A39448u) goto L_08A39448; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], aot_gpr_17, aot_gpr_18, ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A39448u) goto L_08A39448; AOT_REGCACHE_SYNC_OUT(); return; L_08A39448: aot_gpr_17 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7789)))))); @@ -3795,7 +3796,7 @@ L_08A394BC: L_08A394CC: ctx.gpr[31] = (0x08A394D4u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A394D4u) goto L_08A394D4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], aot_gpr_17, aot_gpr_18, ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A394D4u) goto L_08A394D4; AOT_REGCACHE_SYNC_OUT(); return; L_08A394D4: aot_gpr_17 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(9957)))))); @@ -3867,7 +3868,7 @@ L_08A39548: L_08A39558: ctx.gpr[31] = (0x08A39560u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A39560u) goto L_08A39560; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], aot_gpr_17, aot_gpr_18, ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A39560u) goto L_08A39560; AOT_REGCACHE_SYNC_OUT(); return; L_08A39560: aot_gpr_17 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(8617)))))); @@ -3939,7 +3940,7 @@ L_08A395D4: L_08A395E4: ctx.gpr[31] = (0x08A395ECu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A395ECu) goto L_08A395EC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], aot_gpr_17, aot_gpr_18, ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A395ECu) goto L_08A395EC; AOT_REGCACHE_SYNC_OUT(); return; L_08A395EC: aot_gpr_17 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(9952)))))); @@ -4011,7 +4012,7 @@ L_08A39660: L_08A39670: ctx.gpr[31] = (0x08A39678u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A39678u) goto L_08A39678; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], aot_gpr_17, aot_gpr_18, ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A39678u) goto L_08A39678; AOT_REGCACHE_SYNC_OUT(); return; L_08A39678: aot_gpr_17 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(9958)))))); @@ -4083,7 +4084,7 @@ L_08A396EC: L_08A396FC: ctx.gpr[31] = (0x08A39704u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A39704u) goto L_08A39704; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], aot_gpr_17, aot_gpr_18, ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A39704u) goto L_08A39704; AOT_REGCACHE_SYNC_OUT(); return; L_08A39704: aot_gpr_17 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(9959)))))); @@ -4155,7 +4156,7 @@ L_08A39778: L_08A39788: ctx.gpr[31] = (0x08A39790u); aot_gpr_4 = (ctx.gpr[16] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A39790u) goto L_08A39790; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], aot_gpr_17, aot_gpr_18, ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A39790u) goto L_08A39790; AOT_REGCACHE_SYNC_OUT(); return; L_08A39790: { std::uint32_t aot_run_words[5]{}; @@ -4407,7 +4408,7 @@ L_08A39ACC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[31]); ctx.gpr[31] = (0x08A39AECu); aot_gpr_4 = (aot_gpr_4 + static_cast(31984)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A39AECu) goto L_08A39AEC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], aot_gpr_17, aot_gpr_18, ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A39AECu) goto L_08A39AEC; AOT_REGCACHE_SYNC_OUT(); return; L_08A39AEC: ctx.gpr[31] = (0x08A39AF4u); @@ -4793,7 +4794,7 @@ L_08A39DB4: L_08A39DC0: ctx.gpr[31] = (0x08A39DC8u); aot_gpr_4 = (ctx.gpr[16] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A39DC8u) goto L_08A39DC8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A39DC8u) goto L_08A39DC8; AOT_REGCACHE_SYNC_OUT(); return; L_08A39DC8: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -5800,7 +5801,7 @@ L_08A3A540: aot_gpr_5 = (0u | 0u); ctx.gpr[31] = (0x08A3A574u); aot_gpr_6 = (0u | 48u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A3A574u) goto L_08A3A574; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A3A574u) goto L_08A3A574; AOT_REGCACHE_SYNC_OUT(); return; L_08A3A574: { const bool branch_taken = aot_gpr_17 != 0u; @@ -5815,7 +5816,7 @@ L_08A3A57C: aot_gpr_5 = (0u | 255u); ctx.gpr[31] = (0x08A3A58Cu); aot_gpr_6 = (0u | 48u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A3A58Cu) goto L_08A3A58C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A3A58Cu) goto L_08A3A58C; AOT_REGCACHE_SYNC_OUT(); return; L_08A3A58C: ctx.gpr[31] = (0x08A3A594u); diff --git a/profiles/vcs/generated/generated_unit_0142.cpp b/profiles/vcs/generated/generated_unit_0142.cpp index fb8fedb..2f1c37e 100644 --- a/profiles/vcs/generated/generated_unit_0142.cpp +++ b/profiles/vcs/generated/generated_unit_0142.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0142[4094] = { }; void recomp_unit_0142_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,6,16,31 fprs=12,13,14,15 gpr_occ=4257 fpr_occ=559 gpr_total=5966 fpr_total=747 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,6,31,16 fprs=12,13,14,15 gpr_occ=4354 fpr_occ=559 gpr_total=6129 fpr_total=747 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_6 = ctx.gpr[6]; - std::uint32_t aot_gpr_16 = ctx.gpr[16]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; + std::uint32_t aot_gpr_16 = ctx.gpr[16]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_14 = ctx.fpr[14]; float aot_fpr_15 = ctx.fpr[15]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[6] = aot_gpr_6; ctx.gpr[16] = aot_gpr_16; ctx.gpr[31] = aot_gpr_31; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[15] = aot_fpr_15; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_31 = ctx.gpr[31]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_15 = ctx.fpr[15]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[6] = aot_gpr_6; ctx.gpr[31] = aot_gpr_31; ctx.gpr[16] = aot_gpr_16; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[15] = aot_fpr_15; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_16 = ctx.gpr[16]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_15 = ctx.fpr[15]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -4106,7 +4107,7 @@ L_08A3D9B4: L_08A3D9D0: aot_gpr_31 = (0x08A3D9D8u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-6504)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A3D9D8u) goto L_08A3D9D8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A3D9D8u) goto L_08A3D9D8; AOT_REGCACHE_SYNC_OUT(); return; L_08A3D9D8: aot_gpr_4 = (ctx.gpr[28] + static_cast(9968)); @@ -4320,7 +4321,7 @@ L_08A3DBA8: L_08A3DBB4: aot_gpr_31 = (0x08A3DBBCu); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A3DBBCu) goto L_08A3DBBC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A3DBBCu) goto L_08A3DBBC; AOT_REGCACHE_SYNC_OUT(); return; L_08A3DBBC: { std::uint32_t aot_run_words[3]{}; @@ -4564,7 +4565,7 @@ L_08A3DDCC: L_08A3DDFC: aot_gpr_31 = (0x08A3DE04u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A3DE04u) goto L_08A3DE04; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A3DE04u) goto L_08A3DE04; AOT_REGCACHE_SYNC_OUT(); return; L_08A3DE04: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(260))); @@ -4650,7 +4651,7 @@ L_08A3DE68: ctx.fpr[26] = aot_fpr_12 / ctx.fpr[26]; aot_gpr_31 = (0x08A3DEA4u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A3DEA4u) goto L_08A3DEA4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A3DEA4u) goto L_08A3DEA4; AOT_REGCACHE_SYNC_OUT(); return; L_08A3DEA4: aot_fpr_13 = ctx.fpr[26] - ctx.fpr[30]; @@ -4661,7 +4662,7 @@ L_08A3DEA4: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(104), std::bit_cast(aot_fpr_13)); aot_gpr_31 = (0x08A3DEC4u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A3DEC4u) goto L_08A3DEC4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A3DEC4u) goto L_08A3DEC4; AOT_REGCACHE_SYNC_OUT(); return; L_08A3DEC4: aot_fpr_12 = ctx.fpr[22] - ctx.fpr[22]; @@ -4716,7 +4717,7 @@ L_08A3DEF0: aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); aot_gpr_31 = (0x08A3DF30u); ctx.gpr[19] = (aot_gpr_4 + static_cast(112)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A3DF30u) goto L_08A3DF30; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A3DF30u) goto L_08A3DF30; AOT_REGCACHE_SYNC_OUT(); return; L_08A3DF30: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -4726,7 +4727,7 @@ L_08A3DF30: aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_gpr_31 = (0x08A3DF4Cu); { const float fs = aot_fpr_12; const float ft = ctx.fpr[20]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[26] = std::bit_cast(0x7FC00000u); else ctx.fpr[26] = fs * ft; } - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A3DF4Cu) goto L_08A3DF4C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A3DF4Cu) goto L_08A3DF4C; AOT_REGCACHE_SYNC_OUT(); return; L_08A3DF4C: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -4736,7 +4737,7 @@ L_08A3DF4C: aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_13))); aot_gpr_31 = (0x08A3DF68u); { const float fs = aot_fpr_13; const float ft = ctx.fpr[20]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[30] = std::bit_cast(0x7FC00000u); else ctx.fpr[30] = fs * ft; } - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A3DF68u) goto L_08A3DF68; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A3DF68u) goto L_08A3DF68; AOT_REGCACHE_SYNC_OUT(); return; L_08A3DF68: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -4979,7 +4980,7 @@ L_08A3E19C: L_08A3E1A4: aot_gpr_31 = (0x08A3E1ACu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A3E1ACu) goto L_08A3E1AC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A3E1ACu) goto L_08A3E1AC; AOT_REGCACHE_SYNC_OUT(); return; L_08A3E1AC: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-6444))); @@ -4987,7 +4988,7 @@ L_08A3E1AC: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08A3E1C0u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A3E1C0u) goto L_08A3E1C0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A3E1C0u) goto L_08A3E1C0; AOT_REGCACHE_SYNC_OUT(); return; L_08A3E1C0: ctx.gpr[1] = (ctx.gpr[3] << 1u); @@ -5841,25 +5842,25 @@ L_08A3E85C: aot_gpr_4 = (0u | 6u); aot_gpr_31 = (0x08A3E868u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A3E868u) goto L_08A3E868; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A3E868u) goto L_08A3E868; AOT_REGCACHE_SYNC_OUT(); return; L_08A3E868: aot_gpr_4 = (0u | 10u); aot_gpr_31 = (0x08A3E874u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A3E874u) goto L_08A3E874; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A3E874u) goto L_08A3E874; AOT_REGCACHE_SYNC_OUT(); return; L_08A3E874: aot_gpr_4 = (0u | 11u); aot_gpr_31 = (0x08A3E880u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A3E880u) goto L_08A3E880; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A3E880u) goto L_08A3E880; AOT_REGCACHE_SYNC_OUT(); return; L_08A3E880: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(7212))); aot_gpr_31 = (0x08A3E88Cu); aot_gpr_4 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A3E88Cu) goto L_08A3E88C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A3E88Cu) goto L_08A3E88C; AOT_REGCACHE_SYNC_OUT(); return; L_08A3E88C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8452))); @@ -5902,19 +5903,19 @@ L_08A3E8CC: aot_gpr_4 = (0u | 11u); aot_gpr_31 = (0x08A3E8D8u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A3E8D8u) goto L_08A3E8D8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A3E8D8u) goto L_08A3E8D8; AOT_REGCACHE_SYNC_OUT(); return; L_08A3E8D8: aot_gpr_4 = (0u | 6u); aot_gpr_31 = (0x08A3E8E4u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A3E8E4u) goto L_08A3E8E4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A3E8E4u) goto L_08A3E8E4; AOT_REGCACHE_SYNC_OUT(); return; L_08A3E8E4: aot_gpr_4 = (0u | 10u); aot_gpr_31 = (0x08A3E8F0u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A3E8F0u) goto L_08A3E8F0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A3E8F0u) goto L_08A3E8F0; AOT_REGCACHE_SYNC_OUT(); return; L_08A3E8F0: { std::uint32_t aot_run_words[6]{}; @@ -5945,7 +5946,7 @@ L_08A3E910: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x08A3E940u); aot_gpr_6 = (0u | 48u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A3E940u) goto L_08A3E940; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A3E940u) goto L_08A3E940; AOT_REGCACHE_SYNC_OUT(); return; L_08A3E940: aot_gpr_4 = (0u | 255u); @@ -6296,7 +6297,7 @@ L_08A3EBE8: L_08A3EBF4: aot_gpr_31 = (0x08A3EBFCu); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A3EBFCu) goto L_08A3EBFC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A3EBFCu) goto L_08A3EBFC; AOT_REGCACHE_SYNC_OUT(); return; L_08A3EBFC: { std::uint32_t aot_run_words[3]{}; @@ -6672,7 +6673,7 @@ L_08A3EF10: L_08A3EF18: aot_gpr_31 = (0x08A3EF20u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A3EF20u) goto L_08A3EF20; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A3EF20u) goto L_08A3EF20; AOT_REGCACHE_SYNC_OUT(); return; L_08A3EF20: { std::uint32_t aot_run_words[3]{}; diff --git a/profiles/vcs/generated/generated_unit_0143.cpp b/profiles/vcs/generated/generated_unit_0143.cpp index c7e8c4b..911dfb5 100644 --- a/profiles/vcs/generated/generated_unit_0143.cpp +++ b/profiles/vcs/generated/generated_unit_0143.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0143[4076] = { }; void recomp_unit_0143_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,29,5,31,16,6 fprs=12,13,20,14 gpr_occ=3497 fpr_occ=992 gpr_total=4860 fpr_total=1255 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,31,6,2 fprs=12,13,20,14 gpr_occ=3709 fpr_occ=992 gpr_total=5309 fpr_total=1255 std::uint32_t aot_gpr_4 = ctx.gpr[4]; - std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; + std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; - std::uint32_t aot_gpr_16 = ctx.gpr[16]; std::uint32_t aot_gpr_6 = ctx.gpr[6]; + std::uint32_t aot_gpr_2 = ctx.gpr[2]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_20 = ctx.fpr[20]; float aot_fpr_14 = ctx.fpr[14]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[29] = aot_gpr_29; ctx.gpr[5] = aot_gpr_5; ctx.gpr[31] = aot_gpr_31; ctx.gpr[16] = aot_gpr_16; ctx.gpr[6] = aot_gpr_6; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; ctx.fpr[14] = aot_fpr_14; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_6 = ctx.gpr[6]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_14 = ctx.fpr[14]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[31] = aot_gpr_31; ctx.gpr[6] = aot_gpr_6; ctx.gpr[2] = aot_gpr_2; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; ctx.fpr[14] = aot_fpr_14; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_2 = ctx.gpr[2]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_14 = ctx.fpr[14]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -918,9 +919,9 @@ L_08A40024: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_16 = (aot_gpr_29 + static_cast(64)); + ctx.gpr[16] = (aot_gpr_29 + static_cast(64)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (2237u << 16u); @@ -933,7 +934,7 @@ L_08A40024: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 192u, 0x08ADCA6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4004Cu) goto L_08A4004C; AOT_REGCACHE_SYNC_OUT(); return; L_08A4004C: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -1014,7 +1015,7 @@ L_08A40098: const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -1034,7 +1035,7 @@ L_08A40098: L_08A400B4: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(80), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -1049,9 +1050,9 @@ L_08A400B4: AOT_REGCACHE_SYNC_OUT(); return; L_08A400D4: aot_gpr_29 = (aot_gpr_29 + static_cast(-240)); - { const std::uint32_t aot_run_words[10]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; + { const std::uint32_t aot_run_words[10]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(192), aot_run_words); } - aot_gpr_16 = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(240), aot_gpr_6); ctx.gpr[17] = (aot_gpr_4 | 0u); aot_gpr_4 = (ctx.gpr[17] + static_cast(4)); @@ -1102,11 +1103,11 @@ L_08A40134: aot_gpr_6 = (aot_gpr_6 & 65535u); aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x08A40160u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 192u, 0x08ADCA6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A40160u) goto L_08A40160; AOT_REGCACHE_SYNC_OUT(); return; L_08A40160: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); ctx.gpr[22] = (0u | 0u); if (aot_gpr_4 != 0u) { ctx.gpr[22] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(112))); @@ -1143,11 +1144,11 @@ L_08A401A8: ctx.gpr[23] = (0u | 0u); aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x08A401B8u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 12u, 0x08ADC0F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A401B8u) goto L_08A401B8; AOT_REGCACHE_SYNC_OUT(); return; L_08A401B8: - ctx.gpr[30] = (ctx.gpr[2] | 0u); + ctx.gpr[30] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[30] == 0u; // nop if (branch_taken) { @@ -1170,7 +1171,7 @@ L_08A401D0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A401E0u) goto L_08A401E0; AOT_REGCACHE_SYNC_OUT(); return; L_08A401E0: - aot_mem.aot_direct_store32(ctx.gpr[30] + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[30] + static_cast(96), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(144))); aot_mem.aot_direct_store8(ctx.gpr[30] + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[30] + static_cast(96))); @@ -1195,11 +1196,11 @@ L_08A40208: aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_6 = (aot_gpr_6 & 65535u); aot_gpr_31 = (0x08A40220u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 192u, 0x08ADCA6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A40220u) goto L_08A40220; AOT_REGCACHE_SYNC_OUT(); return; L_08A40220: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08A40268; @@ -1212,11 +1213,11 @@ L_08A40228: aot_gpr_6 = (aot_gpr_6 & 65535u); aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x08A40240u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 192u, 0x08ADCA6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A40240u) goto L_08A40240; AOT_REGCACHE_SYNC_OUT(); return; L_08A40240: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(112))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(112))); aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(3))); { const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); std::uint32_t vfpu_words[4]{}; @@ -1268,7 +1269,7 @@ L_08A40268: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_31 = (0x08A40280u); aot_gpr_4 = (0u | 30u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A40280u) goto L_08A40280; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A40280u) goto L_08A40280; AOT_REGCACHE_SYNC_OUT(); return; L_08A40280: aot_gpr_4 = (15820u << 16u); @@ -1314,7 +1315,7 @@ L_08A40280: const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(12))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(12))); ctx.gpr[7] = (ctx.gpr[7] & 65535u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(96))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(100))); @@ -1332,7 +1333,7 @@ L_08A40280: L_08A402EC: { std::uint32_t aot_run_words[10]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(192), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -1351,9 +1352,9 @@ L_08A402EC: AOT_REGCACHE_SYNC_OUT(); return; L_08A4031C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(900))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(900))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); { const bool branch_taken = aot_gpr_4 == 0u; @@ -1366,10 +1367,10 @@ L_08A4031C: L_08A4033C: aot_gpr_31 = (0x08A40344u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A40344u) goto L_08A40344; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A40344u) goto L_08A40344; AOT_REGCACHE_SYNC_OUT(); return; L_08A40344: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08A40354; @@ -1378,14 +1379,14 @@ L_08A40344: } L_08A4034C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(900))); + aot_gpr_2 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(900))); if (branch_taken) { goto L_08A403CC; } goto L_08A40354; } L_08A40354: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(565))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(565))); ctx.gpr[17] = (0u | 0u); aot_gpr_4 = (static_cast(ctx.gpr[17]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; @@ -1396,13 +1397,13 @@ L_08A40354: goto L_08A40368; } L_08A40368: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A40374u); aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A40374u) goto L_08A40374; AOT_REGCACHE_SYNC_OUT(); return; L_08A40374: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08A40398; @@ -1410,18 +1411,18 @@ L_08A40374: goto L_08A4037C; } L_08A4037C: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A40388u); aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A40388u) goto L_08A40388; AOT_REGCACHE_SYNC_OUT(); return; L_08A40388: aot_gpr_31 = (0x08A40390u); - aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A40390u) goto L_08A40390; + aot_gpr_4 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A40390u) goto L_08A40390; AOT_REGCACHE_SYNC_OUT(); return; L_08A40390: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08A403B4; @@ -1429,7 +1430,7 @@ L_08A40390: goto L_08A40398; } L_08A40398: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(565))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(565))); ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); aot_gpr_4 = (static_cast(ctx.gpr[17]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; @@ -1448,7 +1449,7 @@ L_08A403AC: goto L_08A403B4; } L_08A403B4: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A403C0u); aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A403C0u) goto L_08A403C0; @@ -1462,12 +1463,12 @@ L_08A403C0: goto L_08A403C8; } L_08A403C8: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_08A403CC; L_08A403CC: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -1486,8 +1487,8 @@ L_08A403E0: ctx.gpr[21] = (aot_gpr_4 | 0u); ctx.gpr[18] = (ctx.gpr[18] + static_cast(-28736)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(100))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), aot_gpr_16); - aot_gpr_16 = (aot_gpr_5 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_5 | 0u); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(52))); aot_gpr_6 = (aot_mem.aot_direct_load_word_right(ctx.gpr[21] + static_cast(3), aot_gpr_6)); aot_gpr_6 = (aot_mem.aot_direct_load_word_left(ctx.gpr[21] + static_cast(6), aot_gpr_6)); @@ -1505,7 +1506,7 @@ L_08A403E0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 192u, 0x08ADCA6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4044Cu) goto L_08A4044C; AOT_REGCACHE_SYNC_OUT(); return; L_08A4044C: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -1538,11 +1539,11 @@ L_08A4046C: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_6 = (aot_gpr_6 & 65535u); aot_gpr_31 = (0x08A40484u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 192u, 0x08ADCA6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A40484u) goto L_08A40484; AOT_REGCACHE_SYNC_OUT(); return; L_08A40484: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[19] == 0u; // nop if (branch_taken) { @@ -1558,7 +1559,7 @@ L_08A40490: L_08A40498: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08A404A4u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0077_entry, 77u, 108u, 0x089387ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A404A4u) goto L_08A404A4; AOT_REGCACHE_SYNC_OUT(); return; L_08A404A4: @@ -1567,7 +1568,7 @@ L_08A404A4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 327u, 0x08911284u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A404ACu) goto L_08A404AC; AOT_REGCACHE_SYNC_OUT(); return; L_08A404AC: - if (ctx.gpr[2] != 0u) { + if (aot_gpr_2 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1152))); goto L_08A404CC; } @@ -1643,7 +1644,7 @@ L_08A40508: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 600u, 0x0893E5E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A40518u) goto L_08A40518; AOT_REGCACHE_SYNC_OUT(); return; L_08A40518: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08A40560; @@ -1676,9 +1677,9 @@ L_08A40538: L_08A4054C: aot_fpr_12 = std::bit_cast(0u); aot_gpr_4 = (16640u << 16u); - aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(16), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(aot_gpr_2 + static_cast(16), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(36), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(aot_gpr_2 + static_cast(36), std::bit_cast(aot_fpr_12)); goto L_08A40560; L_08A40560: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(96))); @@ -1695,7 +1696,7 @@ L_08A4056C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4057Cu) goto L_08A4057C; AOT_REGCACHE_SYNC_OUT(); return; L_08A4057C: - aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(96), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(48))); aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(96))); @@ -1714,7 +1715,7 @@ L_08A4058C: } L_08A405A4: aot_gpr_4 = (ctx.gpr[18] | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A405B4u); aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 192u, 0x08ADCA6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A405B4u) goto L_08A405B4; @@ -1722,7 +1723,7 @@ L_08A405A4: L_08A405B4: aot_gpr_4 = (aot_mem.aot_direct_load_word_right(ctx.gpr[21] + static_cast(9), aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load_word_left(ctx.gpr[21] + static_cast(12), aot_gpr_4)); - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(112))); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(112))); ctx.gpr[7] = (aot_mem.aot_direct_load_word_right(ctx.gpr[21] + static_cast(7), ctx.gpr[7])); ctx.gpr[7] = (aot_mem.aot_direct_load_word_left(ctx.gpr[21] + static_cast(10), ctx.gpr[7])); aot_gpr_4 = (aot_gpr_4 & 65535u); @@ -1743,7 +1744,7 @@ L_08A405F0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 50u, 0x08AD0530u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A405F8u) goto L_08A405F8; AOT_REGCACHE_SYNC_OUT(); return; L_08A405F8: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08A406F0; @@ -1768,7 +1769,7 @@ L_08A4060C: aot_gpr_4 = (15820u << 16u); ctx.gpr[19] = (ctx.gpr[21] + static_cast(16)); aot_gpr_4 = (aot_gpr_4 | 52429u); - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); ctx.fpr[24] = std::bit_cast(aot_gpr_4); ctx.gpr[21] = (ctx.gpr[21] + static_cast(20)); ctx.gpr[23] = (aot_gpr_29 + static_cast(16)); @@ -1777,7 +1778,7 @@ L_08A4060C: L_08A40640: aot_gpr_31 = (0x08A40648u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A40648u) goto L_08A40648; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A40648u) goto L_08A40648; AOT_REGCACHE_SYNC_OUT(); return; L_08A40648: aot_fpr_12 = ctx.fpr[24] - ctx.fpr[22]; @@ -1786,7 +1787,7 @@ L_08A40648: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08A40660u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A40660u) goto L_08A40660; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A40660u) goto L_08A40660; AOT_REGCACHE_SYNC_OUT(); return; L_08A40660: aot_fpr_12 = ctx.fpr[24] - ctx.fpr[22]; @@ -1795,7 +1796,7 @@ L_08A40660: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08A40678u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A40678u) goto L_08A40678; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A40678u) goto L_08A40678; AOT_REGCACHE_SYNC_OUT(); return; L_08A40678: aot_fpr_12 = ctx.fpr[24] - ctx.fpr[22]; @@ -1826,8 +1827,8 @@ L_08A40678: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0062_entry, 62u, 716u, 0x088FF060u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A406E0u) goto L_08A406E0; AOT_REGCACHE_SYNC_OUT(); return; L_08A406E0: - aot_gpr_16 = (aot_gpr_16 + static_cast(1)); - aot_gpr_4 = (static_cast(aot_gpr_16) < 4 ? 1u : 0u); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(1)); + aot_gpr_4 = (static_cast(ctx.gpr[16]) < 4 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -1841,7 +1842,7 @@ L_08A406F0: aot_fpr_20 = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); - aot_gpr_16 = aot_run_words[3]; + ctx.gpr[16] = aot_run_words[3]; ctx.gpr[17] = aot_run_words[4]; ctx.gpr[18] = aot_run_words[5]; ctx.gpr[19] = aot_run_words[6]; @@ -1869,7 +1870,7 @@ L_08A4072C: ctx.gpr[20] = (2237u << 16u); ctx.gpr[20] = (ctx.gpr[20] + static_cast(-28736)); aot_gpr_6 = (aot_gpr_6 & 65535u); - { const std::uint32_t aot_run_words[5]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18]}; + { const std::uint32_t aot_run_words[5]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(112), aot_run_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(140), ctx.gpr[21]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(144), aot_gpr_31); @@ -1878,7 +1879,7 @@ L_08A4072C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 192u, 0x08ADCA6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A40778u) goto L_08A40778; AOT_REGCACHE_SYNC_OUT(); return; L_08A40778: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[18] == 0u; // nop if (branch_taken) { @@ -1916,7 +1917,7 @@ L_08A40784: aot_fpr_14 = std::bit_cast(aot_gpr_5); { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_13), std::bit_cast(aot_fpr_14)}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(64), aot_run_words); } - aot_gpr_16 = (aot_gpr_29 + static_cast(64)); + ctx.gpr[16] = (aot_gpr_29 + static_cast(64)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(96))); ctx.fpr[22] = std::bit_cast(0u); aot_gpr_5 = (16256u << 16u); @@ -1951,7 +1952,7 @@ L_08A40828: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A40838u) goto L_08A40838; AOT_REGCACHE_SYNC_OUT(); return; L_08A40838: - aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(96), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(80))); aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(4), static_cast(aot_gpr_4)); goto L_08A40844; @@ -1963,7 +1964,7 @@ L_08A40844: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 16u, 0x08ADC120u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A40854u) goto L_08A40854; AOT_REGCACHE_SYNC_OUT(); return; L_08A40854: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); ctx.gpr[20] = (0u | 0u); if (aot_gpr_4 != 0u) { ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(112))); @@ -2071,7 +2072,7 @@ L_08A408FC: L_08A40944: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(112))); aot_gpr_4 = (ctx.gpr[17] | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A40958u); aot_gpr_6 = (0u | 45u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0041_entry, 41u, 324u, 0x088AA4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A40958u) goto L_08A40958; @@ -2081,7 +2082,7 @@ L_08A40958: aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(112), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); - aot_gpr_16 = aot_run_words[2]; + ctx.gpr[16] = aot_run_words[2]; ctx.gpr[17] = aot_run_words[3]; ctx.gpr[18] = aot_run_words[4]; ctx.gpr[19] = aot_run_words[5]; @@ -2106,8 +2107,8 @@ L_08A40984: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(100))); aot_gpr_6 = (aot_mem.aot_direct_load_word_right(ctx.gpr[19] + static_cast(5), aot_gpr_6)); aot_gpr_6 = (aot_mem.aot_direct_load_word_left(ctx.gpr[19] + static_cast(8), aot_gpr_6)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_16); - aot_gpr_16 = (aot_gpr_5 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_5 | 0u); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(52))); aot_gpr_6 = (aot_gpr_6 & 65535u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[17]); @@ -2117,7 +2118,7 @@ L_08A40984: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 192u, 0x08ADCA6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A409CCu) goto L_08A409CC; AOT_REGCACHE_SYNC_OUT(); return; L_08A409CC: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { @@ -2140,12 +2141,12 @@ L_08A409E4: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_6 = (aot_gpr_6 & 65535u); aot_gpr_31 = (0x08A409FCu); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 192u, 0x08ADCA6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A409FCu) goto L_08A409FC; AOT_REGCACHE_SYNC_OUT(); return; L_08A409FC: - aot_gpr_16 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08A40A40; @@ -2153,7 +2154,7 @@ L_08A409FC: goto L_08A40A08; } L_08A40A08: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(112))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(112))); aot_fpr_13 = std::bit_cast(0u); aot_gpr_4 = (aot_mem.aot_direct_load_word_right(ctx.gpr[19] + static_cast(7), aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load_word_left(ctx.gpr[19] + static_cast(10), aot_gpr_4)); @@ -2172,7 +2173,7 @@ L_08A40A08: L_08A40A40: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -2227,13 +2228,13 @@ L_08A40A78: AOT_REGCACHE_SYNC_OUT(); return; L_08A40A8C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), 0u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(16), aot_gpr_6); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(8), 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(16), aot_gpr_6); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(4), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(8), 0u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(16))); aot_gpr_5 = (2u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(-31073)); aot_gpr_5 = (static_cast(aot_gpr_5) < static_cast(aot_gpr_4) ? 1u : 0u); @@ -2250,17 +2251,17 @@ L_08A40AC4: aot_gpr_4 = (aot_gpr_4 + static_cast(-31073)); goto L_08A40ACC; L_08A40ACC: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(16), aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(12), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(16), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(12), 0u); aot_gpr_31 = (0x08A40ADCu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_08A40FCC; L_08A40ADC: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(20), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(20), 0u); aot_gpr_4 = (0u | 0u); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(24), static_cast(aot_gpr_4)); - ctx.gpr[2] = (aot_gpr_16 | 0u); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(24), static_cast(aot_gpr_4)); + aot_gpr_2 = (ctx.gpr[16] | 0u); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -2334,11 +2335,11 @@ L_08A40B6C: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[17]); ctx.gpr[17] = (0u + static_cast(-1)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_31); { const bool branch_taken = static_cast(aot_gpr_5) < 0; - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08A40B98; } @@ -2358,11 +2359,11 @@ L_08A40B98: aot_gpr_6 = (0u | 0u); goto L_08A40BA0; L_08A40BA0: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), 0u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(16), aot_gpr_6); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(8), 0u); - ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(16), aot_gpr_6); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(4), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(8), 0u); + ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(16))); aot_gpr_4 = (2u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-31073)); aot_gpr_4 = (static_cast(aot_gpr_4) < static_cast(ctx.gpr[18]) ? 1u : 0u); @@ -2378,26 +2379,26 @@ L_08A40BC8: ctx.gpr[18] = (ctx.gpr[18] + static_cast(-31073)); goto L_08A40BD0; L_08A40BD0: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(16), ctx.gpr[18]); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(12), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(16), ctx.gpr[18]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(12), 0u); aot_gpr_31 = (0x08A40BE0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_08A40FCC; L_08A40BE0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_gpr_31 = (0x08A40BECu); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(20), 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A40BECu) goto L_08A40BEC; + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(20), 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A40BECu) goto L_08A40BEC; AOT_REGCACHE_SYNC_OUT(); return; L_08A40BEC: - ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(96))); + ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(96))); aot_gpr_31 = (0x08A40BF8u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A40BF8u) goto L_08A40BF8; + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A40BF8u) goto L_08A40BF8; AOT_REGCACHE_SYNC_OUT(); return; L_08A40BF8: { const bool branch_taken = ctx.gpr[18] == ctx.gpr[17]; - aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(100))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(100))); if (branch_taken) { goto L_08A40C28; } @@ -2425,7 +2426,7 @@ L_08A40C20: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0054_entry, 54u, 458u, 0x088DF74Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A40C28u) goto L_08A40C28; AOT_REGCACHE_SYNC_OUT(); return; L_08A40C28: - { const bool branch_taken = aot_gpr_16 == ctx.gpr[17]; + { const bool branch_taken = ctx.gpr[16] == ctx.gpr[17]; // nop if (branch_taken) { goto L_08A40C58; @@ -2434,7 +2435,7 @@ L_08A40C28: } L_08A40C30: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); - aot_gpr_5 = (static_cast(aot_gpr_16) < static_cast(aot_gpr_5) ? 1u : 0u); + aot_gpr_5 = (static_cast(ctx.gpr[16]) < static_cast(aot_gpr_5) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_4 = (0u | 0u); if (branch_taken) { @@ -2444,7 +2445,7 @@ L_08A40C30: } L_08A40C40: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); - aot_gpr_5 = (aot_gpr_16 << 2u); + aot_gpr_5 = (ctx.gpr[16] << 2u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); goto L_08A40C50; @@ -2456,7 +2457,7 @@ L_08A40C50: L_08A40C58: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(8), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; @@ -2469,24 +2470,24 @@ L_08A40C58: AOT_REGCACHE_SYNC_OUT(); return; L_08A40C70: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); { const std::uint32_t aot_run_words[4]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(4), aot_run_words); } aot_gpr_31 = (0x08A40C94u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A40C94u) goto L_08A40C94; + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A40C94u) goto L_08A40C94; AOT_REGCACHE_SYNC_OUT(); return; L_08A40C94: - ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(96))); + ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(96))); aot_gpr_31 = (0x08A40CA0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A40CA0u) goto L_08A40CA0; + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A40CA0u) goto L_08A40CA0; AOT_REGCACHE_SYNC_OUT(); return; L_08A40CA0: ctx.gpr[18] = (0u + static_cast(-1)); { const bool branch_taken = ctx.gpr[19] == ctx.gpr[18]; - ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(100))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(100))); if (branch_taken) { goto L_08A40CD4; } @@ -2543,14 +2544,14 @@ L_08A40CFC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0054_entry, 54u, 460u, 0x088DF770u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A40D04u) goto L_08A40D04; AOT_REGCACHE_SYNC_OUT(); return; L_08A40D04: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), 0u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(8), 0u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(16), 0u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(12), 0u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(20), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(4), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(8), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(16), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(12), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(20), 0u); { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -2567,11 +2568,11 @@ L_08A40D34: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); aot_gpr_31 = (0x08A40D44u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A40D44u) goto L_08A40D44; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A40D44u) goto L_08A40D44; AOT_REGCACHE_SYNC_OUT(); return; L_08A40D44: - ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(4))); - ctx.gpr[2] = (ctx.gpr[2] < static_cast(1) ? 1u : 0u); + aot_gpr_2 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(4))); + aot_gpr_2 = (aot_gpr_2 < static_cast(1) ? 1u : 0u); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -2671,14 +2672,14 @@ L_08A40DB0: } L_08A40DB8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_08A40DC4; } goto L_08A40DC0; } L_08A40DC0: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_08A40DC4; L_08A40DC4: jump_target = aot_gpr_31; @@ -2689,11 +2690,11 @@ L_08A40DC4: AOT_REGCACHE_SYNC_OUT(); return; L_08A40DCC: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.gpr[17] = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[19]); ctx.gpr[19] = (aot_gpr_6 & 255u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); @@ -2715,7 +2716,7 @@ L_08A40DFC: goto L_08A40E08; } L_08A40E08: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(12))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(12))); { const bool branch_taken = static_cast(aot_gpr_5) <= 0; // nop if (branch_taken) { @@ -2725,14 +2726,14 @@ L_08A40E08: } L_08A40E14: ctx.gpr[7] = (aot_gpr_4 | 0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08A40E28u); aot_gpr_6 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0146_entry, 146u, 438u, 0x08A4F110u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A40E28u) goto L_08A40E28; AOT_REGCACHE_SYNC_OUT(); return; L_08A40E28: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; ctx.gpr[19] = (0u | 1u); if (branch_taken) { goto L_08A40E48; @@ -2749,7 +2750,7 @@ L_08A40E30: } L_08A40E38: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08A40FB0; } @@ -2757,7 +2758,7 @@ L_08A40E38: } L_08A40E40: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08A40FB0; } @@ -2829,7 +2830,7 @@ L_08A40EA8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A40EB0u) goto L_08A40EB0; AOT_REGCACHE_SYNC_OUT(); return; L_08A40EB0: - { const bool branch_taken = ctx.gpr[18] != ctx.gpr[2]; + { const bool branch_taken = ctx.gpr[18] != aot_gpr_2; // nop if (branch_taken) { goto L_08A40EC4; @@ -2842,7 +2843,7 @@ L_08A40EB8: aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(9316), aot_gpr_4); goto L_08A40EC4; L_08A40EC4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(12))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(12))); { const bool branch_taken = static_cast(aot_gpr_4) <= 0; // nop if (branch_taken) { @@ -2852,10 +2853,10 @@ L_08A40EC4: } L_08A40ED0: aot_gpr_4 = (aot_gpr_4 + static_cast(-1)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(12), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(12), aot_gpr_4); goto L_08A40ED8; L_08A40ED8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(16))); aot_gpr_5 = (static_cast(aot_gpr_4) < 25000 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; // nop @@ -2917,14 +2918,14 @@ L_08A40F1C: goto L_08A40F34; } L_08A40F34: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(16))); aot_gpr_4 = (aot_gpr_4 + static_cast(-1)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(16), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(16), aot_gpr_4); goto L_08A40F40; L_08A40F40: aot_gpr_4 = (0u | 1u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(8), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(12))); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(8), aot_gpr_4); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(12))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -2933,7 +2934,7 @@ L_08A40F40: goto L_08A40F54; } L_08A40F54: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(16))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -2943,7 +2944,7 @@ L_08A40F54: } L_08A40F60: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (ctx.gpr[19] | 0u); + aot_gpr_2 = (ctx.gpr[19] | 0u); if (branch_taken) { goto L_08A40FB0; } @@ -2951,19 +2952,19 @@ L_08A40F60: } L_08A40F68: aot_gpr_4 = (0u | 2u); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(8), aot_gpr_4); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(8), aot_gpr_4); aot_gpr_31 = (0x08A40F7Cu); aot_gpr_4 = (aot_gpr_5 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A40F7Cu) goto L_08A40F7C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A40F7Cu) goto L_08A40F7C; AOT_REGCACHE_SYNC_OUT(); return; L_08A40F7C: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(16))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(16))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); - ctx.gpr[2] = (ctx.gpr[19] | 0u); + aot_gpr_2 = (ctx.gpr[19] | 0u); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(20), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(20), aot_gpr_4); if (branch_taken) { goto L_08A40FB0; } @@ -2971,22 +2972,22 @@ L_08A40F7C: } L_08A40F94: aot_gpr_31 = (0x08A40F9Cu); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A40F9Cu) goto L_08A40F9C; + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A40F9Cu) goto L_08A40F9C; AOT_REGCACHE_SYNC_OUT(); return; L_08A40F9C: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(12))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(12))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(20), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(20), aot_gpr_4); goto L_08A40FAC; L_08A40FAC: - ctx.gpr[2] = (ctx.gpr[19] | 0u); + aot_gpr_2 = (ctx.gpr[19] | 0u); goto L_08A40FB0; L_08A40FB0: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -3001,10 +3002,10 @@ L_08A40FB0: L_08A40FCC: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); { const bool branch_taken = aot_gpr_5 == 0u; - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08A41008; } @@ -3012,12 +3013,12 @@ L_08A40FCC: } L_08A40FE4: aot_gpr_31 = (0x08A40FECu); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A40FECu) goto L_08A40FEC; + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A40FECu) goto L_08A40FEC; AOT_REGCACHE_SYNC_OUT(); return; L_08A40FEC: - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(20))); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(20))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(16))); aot_gpr_5 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_5) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; // nop @@ -3028,7 +3029,7 @@ L_08A40FEC: } L_08A41000: { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(12), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(12), aot_gpr_4); if (branch_taken) { goto L_08A41020; } @@ -3044,15 +3045,15 @@ L_08A41008: } L_08A41010: aot_gpr_31 = (0x08A41018u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A41018u) goto L_08A41018; + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A41018u) goto L_08A41018; AOT_REGCACHE_SYNC_OUT(); return; L_08A41018: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(20))); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(12), aot_gpr_4); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(20))); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(12), aot_gpr_4); goto L_08A41020; L_08A41020: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -3072,10 +3073,10 @@ L_08A41030: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(148), ctx.gpr[18]); ctx.gpr[18] = (ctx.gpr[8] & 255u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 <= aot_fpr_12)) ? 0x00800000u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(140), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(140), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(152), aot_gpr_31); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); - aot_gpr_16 = (ctx.gpr[7] | 0u); + ctx.gpr[16] = (ctx.gpr[7] | 0u); if (branch_taken) { goto L_08A411A4; } @@ -3098,7 +3099,7 @@ L_08A41074: goto L_08A4107C; } L_08A4107C: - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(8))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 <= aot_fpr_12)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); @@ -3203,7 +3204,7 @@ L_08A410A4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0189_entry, 189u, 115u, 0x08AF8668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A41114u) goto L_08A41114; AOT_REGCACHE_SYNC_OUT(); return; L_08A41114: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08A411A4; @@ -3225,7 +3226,7 @@ L_08A41124: goto L_08A4112C; } L_08A4112C: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(8))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(72))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); // nop @@ -3249,32 +3250,32 @@ L_08A41148: aot_gpr_5 = (std::bit_cast(aot_fpr_12)); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); aot_gpr_4 = (std::bit_cast(aot_fpr_13)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), aot_gpr_5); aot_gpr_5 = (std::bit_cast(aot_fpr_14)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(8), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(4), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(8), aot_gpr_5); aot_gpr_4 = (0u | 0u); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(28), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(28), static_cast(aot_gpr_4)); aot_gpr_4 = (0u | 0u); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(29), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(29), static_cast(aot_gpr_4)); aot_gpr_4 = (0u | 19u); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(30), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(30), static_cast(aot_gpr_4)); aot_gpr_4 = (0u | 0u); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(31), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(31), static_cast(aot_gpr_4)); { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (ctx.gpr[17] | 0u); + aot_gpr_2 = (ctx.gpr[17] | 0u); if (branch_taken) { goto L_08A411A8; } goto L_08A411A4; } L_08A411A4: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_08A411A8; L_08A411A8: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(140), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; @@ -3287,33 +3288,33 @@ L_08A411A8: AOT_REGCACHE_SYNC_OUT(); return; L_08A411C0: aot_gpr_29 = (aot_gpr_29 + static_cast(-160)); - { const std::uint32_t aot_run_words[9]{std::bit_cast(aot_fpr_20), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], aot_gpr_31}; + { const std::uint32_t aot_run_words[9]{std::bit_cast(aot_fpr_20), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(124), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.gpr[17] = (aot_gpr_5 | 0u); aot_fpr_20 = std::bit_cast(0u); { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_20)}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(16), aot_run_words); } aot_gpr_31 = (0x08A41208u); ctx.gpr[18] = (aot_gpr_29 + static_cast(16)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A41208u) goto L_08A41208; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A41208u) goto L_08A41208; AOT_REGCACHE_SYNC_OUT(); return; L_08A41208: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 0u); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-6380))); aot_gpr_31 = (0x08A4121Cu); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-6384))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4121Cu) goto L_08A4121C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4121Cu) goto L_08A4121C; AOT_REGCACHE_SYNC_OUT(); return; L_08A4121C: ctx.gpr[1] = (ctx.gpr[3] << 1u); aot_gpr_5 = (static_cast(static_cast(ctx.gpr[3]) >> 31u)); - aot_gpr_4 = (ctx.gpr[2] >> 31u); + aot_gpr_4 = (aot_gpr_2 >> 31u); aot_gpr_4 = (ctx.gpr[1] | aot_gpr_4); ctx.gpr[9] = (aot_gpr_4 | 0u); aot_gpr_4 = (0u | 74u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_6 = (ctx.gpr[18] | 0u); ctx.gpr[7] = (0u | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); @@ -3324,7 +3325,7 @@ L_08A4121C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0062_entry, 62u, 716u, 0x088FF060u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A41254u) goto L_08A41254; AOT_REGCACHE_SYNC_OUT(); return; L_08A41254: - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -3361,7 +3362,7 @@ L_08A41254: const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -3413,22 +3414,22 @@ L_08A41290: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_31 = (0x08A412B0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A412B0u) goto L_08A412B0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A412B0u) goto L_08A412B0; AOT_REGCACHE_SYNC_OUT(); return; L_08A412B0: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 0u); ctx.gpr[21] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-6372))); ctx.gpr[20] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-6376))); ctx.gpr[7] = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x08A412CCu); aot_gpr_6 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A412CCu) goto L_08A412CC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A412CCu) goto L_08A412CC; AOT_REGCACHE_SYNC_OUT(); return; L_08A412CC: ctx.gpr[1] = (ctx.gpr[3] << 1u); aot_gpr_5 = (static_cast(static_cast(ctx.gpr[3]) >> 31u)); - aot_gpr_4 = (ctx.gpr[2] >> 31u); + aot_gpr_4 = (aot_gpr_2 >> 31u); aot_gpr_4 = (ctx.gpr[1] | aot_gpr_4); ctx.gpr[23] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-6364))); ctx.gpr[22] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-6368))); @@ -3470,20 +3471,20 @@ L_08A41324: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_31 = (0x08A41344u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A41344u) goto L_08A41344; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A41344u) goto L_08A41344; AOT_REGCACHE_SYNC_OUT(); return; L_08A41344: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 0u); ctx.gpr[7] = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x08A41358u); aot_gpr_6 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A41358u) goto L_08A41358; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A41358u) goto L_08A41358; AOT_REGCACHE_SYNC_OUT(); return; L_08A41358: ctx.gpr[1] = (ctx.gpr[3] << 1u); aot_gpr_5 = (static_cast(static_cast(ctx.gpr[3]) >> 31u)); - aot_gpr_4 = (ctx.gpr[2] >> 31u); + aot_gpr_4 = (aot_gpr_2 >> 31u); aot_gpr_4 = (ctx.gpr[1] | aot_gpr_4); aot_gpr_6 = (aot_gpr_4 + ctx.gpr[22]); ctx.gpr[7] = (aot_gpr_6 < ctx.gpr[22] ? 1u : 0u); @@ -3523,20 +3524,20 @@ L_08A413A8: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_31 = (0x08A413C8u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A413C8u) goto L_08A413C8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A413C8u) goto L_08A413C8; AOT_REGCACHE_SYNC_OUT(); return; L_08A413C8: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 0u); ctx.gpr[7] = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x08A413DCu); aot_gpr_6 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A413DCu) goto L_08A413DC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A413DCu) goto L_08A413DC; AOT_REGCACHE_SYNC_OUT(); return; L_08A413DC: ctx.gpr[1] = (ctx.gpr[3] << 1u); aot_gpr_5 = (static_cast(static_cast(ctx.gpr[3]) >> 31u)); - aot_gpr_4 = (ctx.gpr[2] >> 31u); + aot_gpr_4 = (aot_gpr_2 >> 31u); aot_gpr_4 = (ctx.gpr[1] | aot_gpr_4); aot_gpr_6 = (aot_gpr_4 + ctx.gpr[22]); ctx.gpr[7] = (aot_gpr_6 < ctx.gpr[22] ? 1u : 0u); @@ -3576,20 +3577,20 @@ L_08A4142C: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_31 = (0x08A4144Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4144Cu) goto L_08A4144C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4144Cu) goto L_08A4144C; AOT_REGCACHE_SYNC_OUT(); return; L_08A4144C: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 0u); ctx.gpr[7] = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x08A41460u); aot_gpr_6 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A41460u) goto L_08A41460; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A41460u) goto L_08A41460; AOT_REGCACHE_SYNC_OUT(); return; L_08A41460: ctx.gpr[1] = (ctx.gpr[3] << 1u); aot_gpr_5 = (static_cast(static_cast(ctx.gpr[3]) >> 31u)); - aot_gpr_4 = (ctx.gpr[2] >> 31u); + aot_gpr_4 = (aot_gpr_2 >> 31u); aot_gpr_4 = (ctx.gpr[1] | aot_gpr_4); aot_gpr_6 = (aot_gpr_4 + ctx.gpr[22]); ctx.gpr[7] = (aot_gpr_6 < ctx.gpr[22] ? 1u : 0u); @@ -3629,20 +3630,20 @@ L_08A414B0: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_31 = (0x08A414D0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A414D0u) goto L_08A414D0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A414D0u) goto L_08A414D0; AOT_REGCACHE_SYNC_OUT(); return; L_08A414D0: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 0u); ctx.gpr[7] = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x08A414E4u); aot_gpr_6 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A414E4u) goto L_08A414E4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A414E4u) goto L_08A414E4; AOT_REGCACHE_SYNC_OUT(); return; L_08A414E4: ctx.gpr[1] = (ctx.gpr[3] << 1u); aot_gpr_5 = (static_cast(static_cast(ctx.gpr[3]) >> 31u)); - aot_gpr_4 = (ctx.gpr[2] >> 31u); + aot_gpr_4 = (aot_gpr_2 >> 31u); aot_gpr_4 = (ctx.gpr[1] | aot_gpr_4); aot_gpr_6 = (aot_gpr_4 + ctx.gpr[22]); ctx.gpr[7] = (aot_gpr_6 < ctx.gpr[22] ? 1u : 0u); @@ -3666,7 +3667,7 @@ L_08A41534: { std::uint32_t aot_run_words[9]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(124), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); - aot_gpr_16 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[1]; ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -3691,11 +3692,11 @@ L_08A41560: L_08A41568: aot_gpr_29 = (aot_gpr_29 + static_cast(-128)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(96), std::bit_cast(aot_fpr_20)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(108), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(108), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(112), ctx.gpr[17]); aot_fpr_20 = std::bit_cast(std::bit_cast(aot_fpr_12)); ctx.gpr[17] = (aot_gpr_4 | 0u); - aot_gpr_16 = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(100), std::bit_cast(ctx.fpr[22])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(104), std::bit_cast(ctx.fpr[24])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(116), aot_gpr_31); @@ -3723,7 +3724,7 @@ L_08A41598: ctx.fpr[24] = std::bit_cast(aot_gpr_4); aot_gpr_31 = (0x08A415D8u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), std::bit_cast(aot_fpr_13)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A415D8u) goto L_08A415D8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A415D8u) goto L_08A415D8; AOT_REGCACHE_SYNC_OUT(); return; L_08A415D8: aot_fpr_12 = ctx.fpr[24] - ctx.fpr[22]; @@ -3731,21 +3732,21 @@ L_08A415D8: aot_fpr_12 = ctx.fpr[22] + aot_fpr_12; aot_gpr_31 = (0x08A415ECu); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A415ECu) goto L_08A415EC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A415ECu) goto L_08A415EC; AOT_REGCACHE_SYNC_OUT(); return; L_08A415EC: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-6356))); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-6360))); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08A41600u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A41600u) goto L_08A41600; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A41600u) goto L_08A41600; AOT_REGCACHE_SYNC_OUT(); return; L_08A41600: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-6348))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-6352))); ctx.gpr[1] = (ctx.gpr[3] << 1u); - aot_gpr_6 = (ctx.gpr[2] >> 31u); + aot_gpr_6 = (aot_gpr_2 >> 31u); ctx.gpr[7] = (static_cast(static_cast(ctx.gpr[3]) >> 31u)); aot_gpr_6 = (ctx.gpr[1] | aot_gpr_6); ctx.gpr[8] = (aot_gpr_6 + aot_gpr_4); @@ -3867,7 +3868,7 @@ L_08A416D8: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (0u | 69u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_6 = (ctx.gpr[8] | 0u); ctx.gpr[7] = (0u | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); @@ -3892,7 +3893,7 @@ L_08A41718: aot_gpr_6 = (aot_gpr_5 | 0u); ctx.gpr[8] = (aot_gpr_4 | 0u); aot_gpr_4 = (0u | 70u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); ctx.gpr[7] = (0u | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[11] = (0u | 0u); @@ -3906,7 +3907,7 @@ L_08A41744: aot_fpr_20 = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); - aot_gpr_16 = aot_run_words[3]; + ctx.gpr[16] = aot_run_words[3]; ctx.gpr[17] = aot_run_words[4]; aot_gpr_31 = aot_run_words[5]; } @@ -4015,14 +4016,14 @@ L_08A417C0: } L_08A417C8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08A417D4; } goto L_08A417D0; } L_08A417D0: - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); goto L_08A417D4; L_08A417D4: jump_target = aot_gpr_31; @@ -4054,7 +4055,7 @@ L_08A417EC: AOT_REGCACHE_SYNC_OUT(); return; L_08A41804: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_08A41824; } @@ -4071,14 +4072,14 @@ L_08A4180C: } L_08A41818: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_08A41824; } goto L_08A41820; } L_08A41820: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_08A41824; L_08A41824: jump_target = aot_gpr_31; @@ -4089,10 +4090,10 @@ L_08A41824: AOT_REGCACHE_SYNC_OUT(); return; L_08A4182C: aot_gpr_29 = (aot_gpr_29 + static_cast(-64)); - { const std::uint32_t aot_run_words[6]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), aot_gpr_16, ctx.gpr[17], aot_gpr_31}; + { const std::uint32_t aot_run_words[6]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), ctx.gpr[16], ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(32), aot_run_words); } { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08A41A8C; } @@ -4100,7 +4101,7 @@ L_08A4182C: } L_08A41850: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(104))); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(86)))))); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(138))); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -4146,7 +4147,7 @@ L_08A4188C: goto L_08A41894; } L_08A41894: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(482)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(482)))))); aot_gpr_4 = (aot_gpr_4 & 64u); aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); @@ -4158,7 +4159,7 @@ L_08A41894: goto L_08A418AC; } L_08A418AC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 14u); aot_gpr_4 = (aot_gpr_4 ^ 8u); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); @@ -4171,12 +4172,12 @@ L_08A418AC: goto L_08A418C8; } L_08A418C8: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(482)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(482)))))); aot_gpr_5 = (0u + static_cast(-65)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_4 = (aot_gpr_4 | 64u); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(482), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_gpr_16 + static_cast(48)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(482), static_cast(aot_gpr_4)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -4200,8 +4201,8 @@ L_08A418C8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A41904u) goto L_08A41904; AOT_REGCACHE_SYNC_OUT(); return; L_08A41904: - aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); aot_gpr_6 = (0u | 9u); ctx.gpr[7] = (aot_gpr_29 | 0u); ctx.gpr[8] = (0u | 100u); @@ -4212,7 +4213,7 @@ L_08A41904: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0121_entry, 121u, 287u, 0x089E974Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A41928u) goto L_08A41928; AOT_REGCACHE_SYNC_OUT(); return; L_08A41928: - aot_gpr_4 = (aot_gpr_16 + static_cast(320)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(320)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -4227,7 +4228,7 @@ L_08A41928: const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(86)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(104))); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(138))); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; @@ -4260,10 +4261,10 @@ L_08A41968: L_08A4197C: aot_gpr_31 = (0x08A41984u); aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A41984u) goto L_08A41984; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A41984u) goto L_08A41984; AOT_REGCACHE_SYNC_OUT(); return; L_08A41984: - aot_gpr_4 = (ctx.gpr[2] & 65535u); + aot_gpr_4 = (aot_gpr_2 & 65535u); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_4 = (aot_gpr_4 + static_cast(-128)); aot_fpr_12 = std::bit_cast(aot_gpr_4); @@ -4276,15 +4277,15 @@ L_08A41984: aot_fpr_12 = aot_fpr_20 + aot_fpr_12; aot_gpr_31 = (0x08A419B8u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A419B8u) goto L_08A419B8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A419B8u) goto L_08A419B8; AOT_REGCACHE_SYNC_OUT(); return; L_08A419B8: - aot_gpr_4 = (ctx.gpr[2] & 65535u); + aot_gpr_4 = (aot_gpr_2 & 65535u); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_4 = (aot_gpr_4 + static_cast(-128)); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); { const float fs = aot_fpr_12; const float ft = ctx.fpr[22]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = ctx.fpr[24] + aot_fpr_12; @@ -4293,7 +4294,7 @@ L_08A419B8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 538u, 0x08A666C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A419E4u) goto L_08A419E4; AOT_REGCACHE_SYNC_OUT(); return; L_08A419E4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 2048u); { const bool branch_taken = aot_gpr_4 != 0u; ctx.gpr[17] = (0u | 0u); @@ -4303,7 +4304,7 @@ L_08A419E4: goto L_08A419F4; } L_08A419F4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(76))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(76))); aot_gpr_4 = (aot_gpr_4 & 2048u); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_4 = (ctx.gpr[17] & 255u); @@ -4325,12 +4326,12 @@ L_08A41A0C: goto L_08A41A14; } L_08A41A14: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(72))); aot_gpr_5 = (0u + static_cast(-2049)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(72), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(72), aot_gpr_4); aot_gpr_31 = (0x08A41A2Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 463u, 0x08A66048u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A41A2Cu) goto L_08A41A2C; AOT_REGCACHE_SYNC_OUT(); return; L_08A41A2C: @@ -4342,18 +4343,18 @@ L_08A41A2C: goto L_08A41A34; } L_08A41A34: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(92))); aot_gpr_4 = (aot_gpr_4 + static_cast(32)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); jump_target = aot_gpr_6; aot_gpr_31 = (0x08A41A4Cu); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_5); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_5); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A41A4Cu) goto L_08A41A4C; AOT_REGCACHE_SYNC_OUT(); return; L_08A41A4C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08A41A8C; @@ -4361,7 +4362,7 @@ L_08A41A4C: goto L_08A41A54; } L_08A41A54: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(483)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(483)))))); aot_gpr_4 = (aot_gpr_4 & 4u); aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); @@ -4373,7 +4374,7 @@ L_08A41A54: goto L_08A41A6C; } L_08A41A6C: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(482)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(482)))))); aot_gpr_4 = (aot_gpr_4 & 64u); aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); @@ -4386,7 +4387,7 @@ L_08A41A6C: } L_08A41A84: aot_gpr_4 = (0u | 44u); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(91), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(91), static_cast(aot_gpr_4)); goto L_08A41A8C; L_08A41A8C: { std::uint32_t aot_run_words[6]{}; @@ -4394,7 +4395,7 @@ L_08A41A8C: aot_fpr_20 = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); - aot_gpr_16 = aot_run_words[3]; + ctx.gpr[16] = aot_run_words[3]; ctx.gpr[17] = aot_run_words[4]; aot_gpr_31 = aot_run_words[5]; } @@ -4409,8 +4410,8 @@ L_08A41AAC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), ctx.gpr[17]); ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15976))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), std::bit_cast(ctx.fpr[22])); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); @@ -4672,7 +4673,7 @@ L_08A41C88: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A41C90u) goto L_08A41C90; AOT_REGCACHE_SYNC_OUT(); return; L_08A41C90: - { const bool branch_taken = ctx.gpr[20] == ctx.gpr[2]; + { const bool branch_taken = ctx.gpr[20] == aot_gpr_2; // nop if (branch_taken) { goto L_08A41CD0; @@ -4682,11 +4683,11 @@ L_08A41C90: L_08A41C98: aot_gpr_31 = (0x08A41CA0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A41CA0u) goto L_08A41CA0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A41CA0u) goto L_08A41CA0; AOT_REGCACHE_SYNC_OUT(); return; L_08A41CA0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(76))); - aot_gpr_5 = (ctx.gpr[2] & 65535u); + aot_gpr_5 = (aot_gpr_2 & 65535u); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[23]); aot_gpr_4 = (aot_gpr_4 >> 22u); aot_gpr_4 = (aot_gpr_5 ^ aot_gpr_4); @@ -4700,7 +4701,7 @@ L_08A41CA0: } L_08A41CC0: aot_gpr_4 = (ctx.gpr[22] | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A41CD0u); aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0070_entry, 70u, 550u, 0x0891ECB8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A41CD0u) goto L_08A41CD0; @@ -4725,7 +4726,7 @@ L_08A41CE4: ctx.fpr[26] = std::bit_cast(aot_run_words[3]); ctx.fpr[28] = std::bit_cast(aot_run_words[4]); ctx.fpr[30] = std::bit_cast(aot_run_words[5]); - aot_gpr_16 = aot_run_words[6]; + ctx.gpr[16] = aot_run_words[6]; ctx.gpr[17] = aot_run_words[7]; ctx.gpr[18] = aot_run_words[8]; ctx.gpr[19] = aot_run_words[9]; @@ -4747,11 +4748,11 @@ L_08A41D28: ctx.gpr[10] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(48))); ctx.gpr[9] = (ctx.gpr[11] & 255u); ctx.gpr[11] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(52))); - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(56))); + aot_gpr_2 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(56))); ctx.gpr[3] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); - ctx.gpr[2] = (ctx.gpr[2] & 255u); + aot_gpr_2 = (aot_gpr_2 & 255u); ctx.gpr[12] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(68))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_2); ctx.gpr[3] = (ctx.gpr[3] & 255u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), 0u); ctx.gpr[13] = (0u | 1u); @@ -4775,18 +4776,18 @@ L_08A41D7C: AOT_REGCACHE_SYNC_OUT(); return; L_08A41D88: aot_gpr_29 = (aot_gpr_29 + static_cast(-256)); - { const std::uint32_t aot_run_words[6]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; + { const std::uint32_t aot_run_words[6]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(232), aot_run_words); } - aot_gpr_16 = (aot_gpr_6 | 0u); + ctx.gpr[16] = (aot_gpr_6 | 0u); ctx.gpr[17] = (aot_gpr_5 | 0u); ctx.gpr[18] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(128), 0u); aot_gpr_31 = (0x08A41DBCu); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A41DBCu) goto L_08A41DBC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A41DBCu) goto L_08A41DBC; AOT_REGCACHE_SYNC_OUT(); return; L_08A41DBC: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(8))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(8))); aot_gpr_4 = (2236u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(32304)); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(80))); @@ -4936,7 +4937,7 @@ L_08A41EA0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0036_entry, 36u, 698u, 0x0889786Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A41ED8u) goto L_08A41ED8; AOT_REGCACHE_SYNC_OUT(); return; L_08A41ED8: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08A41FE0; @@ -4959,7 +4960,7 @@ L_08A41EE0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0169_entry, 169u, 32u, 0x08AA82D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A41F10u) goto L_08A41F10; AOT_REGCACHE_SYNC_OUT(); return; L_08A41F10: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08A41FE0; @@ -4988,8 +4989,8 @@ L_08A41F34: ctx.gpr[10] = (16544u << 16u); ctx.gpr[11] = (16640u << 16u); ctx.gpr[17] = (0u | 1u); - ctx.gpr[2] = (16281u << 16u); - ctx.gpr[2] = (ctx.gpr[2] | 39322u); + aot_gpr_2 = (16281u << 16u); + aot_gpr_2 = (aot_gpr_2 | 39322u); aot_gpr_4 = (ctx.gpr[18] + static_cast(7)); ctx.gpr[9] = (aot_gpr_29 + static_cast(176)); aot_gpr_5 = (0u | 128u); @@ -5009,33 +5010,33 @@ L_08A41F34: { const float fs = aot_fpr_12; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = ctx.fpr[15] - aot_fpr_12; aot_fpr_14 = std::bit_cast(0u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), std::bit_cast(aot_fpr_12)); + aot_fpr_12 = std::bit_cast(aot_gpr_2); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), 0u); - ctx.gpr[2] = (16968u << 16u); - aot_fpr_13 = std::bit_cast(ctx.gpr[2]); + aot_gpr_2 = (16968u << 16u); + aot_fpr_13 = std::bit_cast(aot_gpr_2); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[17]); - ctx.gpr[2] = (16320u << 16u); + aot_gpr_2 = (16320u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), 0u); aot_gpr_31 = (0x08A41FD8u); - ctx.fpr[15] = std::bit_cast(ctx.gpr[2]); + ctx.fpr[15] = std::bit_cast(aot_gpr_2); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0095_entry, 95u, 311u, 0x08981324u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A41FD8u) goto L_08A41FD8; AOT_REGCACHE_SYNC_OUT(); return; L_08A41FD8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (ctx.gpr[17] | 0u); + aot_gpr_2 = (ctx.gpr[17] | 0u); if (branch_taken) { goto L_08A41FE4; } goto L_08A41FE0; } L_08A41FE0: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_08A41FE4; L_08A41FE4: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(232), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -5050,10 +5051,10 @@ L_08A41FE4: AOT_REGCACHE_SYNC_OUT(); return; L_08A42004: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08A420AC; } @@ -5065,7 +5066,7 @@ L_08A42018: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A42020u) goto L_08A42020; AOT_REGCACHE_SYNC_OUT(); return; L_08A42020: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08A420AC; @@ -5078,7 +5079,7 @@ L_08A42028: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A42030u) goto L_08A42030; AOT_REGCACHE_SYNC_OUT(); return; L_08A42030: - { const bool branch_taken = aot_gpr_16 != ctx.gpr[2]; + { const bool branch_taken = ctx.gpr[16] != aot_gpr_2; // nop if (branch_taken) { goto L_08A420AC; @@ -5091,11 +5092,11 @@ L_08A42038: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A42040u) goto L_08A42040; AOT_REGCACHE_SYNC_OUT(); return; L_08A42040: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(1929)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(1929)))))); aot_gpr_5 = (aot_gpr_4 << 5u); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); - aot_gpr_4 = (ctx.gpr[2] + aot_gpr_4); + aot_gpr_4 = (aot_gpr_2 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_5 = (0u | 36u); @@ -5112,27 +5113,27 @@ L_08A42068: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A42070u) goto L_08A42070; AOT_REGCACHE_SYNC_OUT(); return; L_08A42070: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(1929)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(1929)))))); aot_gpr_5 = (aot_gpr_4 << 5u); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); - aot_gpr_4 = (ctx.gpr[2] + aot_gpr_4); + aot_gpr_4 = (aot_gpr_2 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); aot_gpr_31 = (0x08A42090u); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(12), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A42090u) goto L_08A42090; AOT_REGCACHE_SYNC_OUT(); return; L_08A42090: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(1929)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(1929)))))); aot_gpr_5 = (aot_gpr_4 << 5u); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); - aot_gpr_4 = (ctx.gpr[2] + aot_gpr_4); + aot_gpr_4 = (aot_gpr_2 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(16), 0u); goto L_08A420AC; L_08A420AC: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -5164,14 +5165,14 @@ L_08A420D0: AOT_REGCACHE_SYNC_OUT(); return; L_08A420E8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_08A420F4; } goto L_08A420F0; } L_08A420F0: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_08A420F4; L_08A420F4: jump_target = aot_gpr_31; @@ -5201,7 +5202,7 @@ L_08A4210C: } L_08A42118: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_gpr_4 + static_cast(96)); + aot_gpr_2 = (aot_gpr_4 + static_cast(96)); if (branch_taken) { goto L_08A4212C; } @@ -5209,14 +5210,14 @@ L_08A42118: } L_08A42120: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_gpr_4 + static_cast(96)); + aot_gpr_2 = (aot_gpr_4 + static_cast(96)); if (branch_taken) { goto L_08A4212C; } goto L_08A42128; } L_08A42128: - ctx.gpr[2] = (aot_gpr_4 + static_cast(160)); + aot_gpr_2 = (aot_gpr_4 + static_cast(160)); goto L_08A4212C; L_08A4212C: jump_target = aot_gpr_31; @@ -5239,10 +5240,10 @@ L_08A42134: aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(228))); aot_gpr_6 = (0u | 3u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); { const bool branch_taken = aot_gpr_5 != aot_gpr_6; - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08A42198; } @@ -5255,12 +5256,12 @@ L_08A42178: AOT_REGCACHE_SYNC_OUT(); return; L_08A42180: aot_gpr_31 = (0x08A42188u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0098_entry, 98u, 347u, 0x0898CF8Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A42188u) goto L_08A42188; AOT_REGCACHE_SYNC_OUT(); return; L_08A42188: - if (ctx.gpr[2] != 0u) { - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(616)))))); + if (aot_gpr_2 != 0u) { + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(616)))))); goto L_08A421A0; } goto L_08A42190; @@ -5291,7 +5292,7 @@ L_08A421A0: } L_08A421AC: aot_gpr_31 = (0x08A421B4u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0147_entry, 147u, 241u, 0x08A51A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A421B4u) goto L_08A421B4; AOT_REGCACHE_SYNC_OUT(); return; L_08A421B4: @@ -5303,7 +5304,7 @@ L_08A421B4: goto L_08A421BC; } L_08A421BC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(656))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(656))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_4 = (aot_gpr_4 + static_cast(1400)); aot_gpr_4 = (aot_gpr_4 < aot_gpr_5 ? 1u : 0u); @@ -5316,10 +5317,10 @@ L_08A421BC: } L_08A421D4: aot_gpr_4 = (0u | 20u); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(625), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(625), static_cast(aot_gpr_4)); goto L_08A421DC; L_08A421DC: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -5330,10 +5331,10 @@ L_08A421DC: L_08A421EC: aot_gpr_29 = (aot_gpr_29 + static_cast(-112)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(900))); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[16], ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(96), aot_run_words); } { const bool branch_taken = aot_gpr_5 == 0u; - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08A4225C; } @@ -5347,7 +5348,7 @@ L_08A42208: aot_gpr_6 = (0u | 100u); goto L_08A40A8C; L_08A4221C: - aot_gpr_4 = (aot_gpr_16 + static_cast(48)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -5357,7 +5358,7 @@ L_08A4221C: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_4 = (aot_gpr_16 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(16)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -5381,7 +5382,7 @@ L_08A4221C: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_4 = (aot_gpr_16 + static_cast(32)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(32)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -5400,13 +5401,13 @@ L_08A4221C: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-6336))); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08A4225Cu); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0145_entry, 145u, 614u, 0x08A4B48Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4225Cu) goto L_08A4225C; AOT_REGCACHE_SYNC_OUT(); return; L_08A4225C: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(96), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -5418,14 +5419,14 @@ L_08A4225C: AOT_REGCACHE_SYNC_OUT(); return; L_08A42270: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x08A42284u); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A42284u) goto L_08A42284; AOT_REGCACHE_SYNC_OUT(); return; L_08A42284: - { const bool branch_taken = aot_gpr_16 != ctx.gpr[2]; + { const bool branch_taken = ctx.gpr[16] != aot_gpr_2; // nop if (branch_taken) { goto L_08A422F8; @@ -5433,11 +5434,11 @@ L_08A42284: goto L_08A4228C; } L_08A4228C: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1929)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(1929)))))); aot_gpr_5 = (aot_gpr_4 << 5u); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_5 = (0u | 25u); @@ -5477,17 +5478,17 @@ L_08A422E4: } L_08A422F0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_08A422FC; } goto L_08A422F8; } L_08A422F8: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_08A422FC; L_08A422FC: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -5507,7 +5508,7 @@ L_08A4230C: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(ctx.fpr[26])) && aot_fpr_12 == ctx.fpr[26])) ? 0x00800000u : 0u); { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(160), aot_run_words); } - { const std::uint32_t aot_run_words[12]{std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; + { const std::uint32_t aot_run_words[12]{std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(176), aot_run_words); } { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); aot_fpr_20 = std::bit_cast(aot_gpr_4); @@ -5800,38 +5801,38 @@ L_08A425D0: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), aot_gpr_4); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(132), static_cast(aot_gpr_5)); ctx.gpr[17] = (aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(45))); - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); goto L_08A425F8; L_08A425F8: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(156), std::bit_cast(ctx.fpr[30])); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(152), static_cast(ctx.gpr[17])); aot_gpr_31 = (0x08A42608u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(148), aot_gpr_16); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A42608u) goto L_08A42608; + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(148), ctx.gpr[16]); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A42608u) goto L_08A42608; AOT_REGCACHE_SYNC_OUT(); return; L_08A42608: - aot_gpr_4 = (ctx.gpr[2] & 65535u); + aot_gpr_4 = (aot_gpr_2 & 65535u); aot_gpr_31 = (0x08A42614u); - aot_gpr_16 = (aot_gpr_4 & 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A42614u) goto L_08A42614; + ctx.gpr[16] = (aot_gpr_4 & 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A42614u) goto L_08A42614; AOT_REGCACHE_SYNC_OUT(); return; L_08A42614: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 0u); ctx.gpr[7] = (ctx.gpr[23] | 0u); aot_gpr_31 = (0x08A42628u); aot_gpr_6 = (ctx.gpr[22] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A42628u) goto L_08A42628; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A42628u) goto L_08A42628; AOT_REGCACHE_SYNC_OUT(); return; L_08A42628: ctx.gpr[1] = (ctx.gpr[3] << 1u); - aot_gpr_4 = (ctx.gpr[2] >> 31u); + aot_gpr_4 = (aot_gpr_2 >> 31u); aot_gpr_5 = (static_cast(static_cast(ctx.gpr[3]) >> 31u)); aot_gpr_4 = (ctx.gpr[1] | aot_gpr_4); aot_gpr_4 = (aot_gpr_4 | 0u); aot_gpr_31 = (0x08A42644u); ctx.gpr[17] = (aot_gpr_4 + static_cast(20)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A42644u) goto L_08A42644; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A42644u) goto L_08A42644; AOT_REGCACHE_SYNC_OUT(); return; L_08A42644: ctx.fpr[30] = std::bit_cast(std::bit_cast(aot_fpr_20) ^ 0x80000000u); @@ -5840,7 +5841,7 @@ L_08A42644: aot_fpr_12 = ctx.fpr[30] + aot_fpr_12; aot_gpr_31 = (0x08A4265Cu); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(80), std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4265Cu) goto L_08A4265C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4265Cu) goto L_08A4265C; AOT_REGCACHE_SYNC_OUT(); return; L_08A4265C: aot_fpr_12 = aot_fpr_20 - ctx.fpr[30]; @@ -5848,7 +5849,7 @@ L_08A4265C: aot_fpr_12 = ctx.fpr[30] + aot_fpr_12; aot_gpr_31 = (0x08A42670u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(84), std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A42670u) goto L_08A42670; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A42670u) goto L_08A42670; AOT_REGCACHE_SYNC_OUT(); return; L_08A42670: aot_fpr_13 = aot_fpr_20 - ctx.fpr[30]; @@ -5863,15 +5864,15 @@ L_08A42670: ctx.gpr[9] = (ctx.gpr[17] | 0u); aot_fpr_13 = ctx.fpr[30] + aot_fpr_13; ctx.gpr[10] = (0u | 0u); - ctx.gpr[11] = (aot_gpr_16 | 0u); + ctx.gpr[11] = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A426ACu); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(88), std::bit_cast(aot_fpr_13)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0063_entry, 63u, 90u, 0x0890043Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A426ACu) goto L_08A426AC; AOT_REGCACHE_SYNC_OUT(); return; L_08A426AC: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(148))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(148))); ctx.gpr[17] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(152))); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_4 == 0u; ctx.fpr[30] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(156))); if (branch_taken) { @@ -5883,8 +5884,8 @@ L_08A426C0: aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(45), static_cast(ctx.gpr[17])); goto L_08A426C4; L_08A426C4: - aot_gpr_16 = (aot_gpr_16 + static_cast(1)); - aot_gpr_4 = (static_cast(aot_gpr_16) < 8 ? 1u : 0u); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(1)); + aot_gpr_4 = (static_cast(ctx.gpr[16]) < 8 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -5895,7 +5896,7 @@ L_08A426C4: L_08A426D4: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(132))); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(136))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(136))); if (branch_taken) { goto L_08A42708; } @@ -5905,7 +5906,7 @@ L_08A426E0: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (ctx.gpr[30] | 0u); aot_gpr_31 = (0x08A426F0u); - aot_gpr_6 = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0062_entry, 62u, 725u, 0x088FF17Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A426F0u) goto L_08A426F0; AOT_REGCACHE_SYNC_OUT(); return; L_08A426F0: @@ -5926,7 +5927,7 @@ L_08A426F8: } L_08A42700: { const bool branch_taken = 0u == 0u; - ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(128))); + ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(128))); if (branch_taken) { goto L_08A42710; } @@ -5953,7 +5954,7 @@ L_08A42718: ctx.fpr[26] = std::bit_cast(aot_run_words[3]); ctx.fpr[28] = std::bit_cast(aot_run_words[4]); ctx.fpr[30] = std::bit_cast(aot_run_words[5]); - aot_gpr_16 = aot_run_words[6]; + ctx.gpr[16] = aot_run_words[6]; ctx.gpr[17] = aot_run_words[7]; ctx.gpr[18] = aot_run_words[8]; ctx.gpr[19] = aot_run_words[9]; @@ -6119,14 +6120,14 @@ L_08A4283C: } L_08A4286C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08A42878; } goto L_08A42874; } L_08A42874: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(20))); + aot_gpr_2 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(20))); goto L_08A42878; L_08A42878: jump_target = aot_gpr_31; @@ -6137,10 +6138,10 @@ L_08A42878: AOT_REGCACHE_SYNC_OUT(); return; L_08A42880: aot_gpr_29 = (aot_gpr_29 + static_cast(-544)); - { const std::uint32_t aot_run_words[9]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; + { const std::uint32_t aot_run_words[9]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(496), aot_run_words); } ctx.gpr[17] = (aot_gpr_5 | 0u); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_4 = (ctx.gpr[7] & 65535u); { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; @@ -6195,7 +6196,7 @@ L_08A42880: aot_fpr_20 = std::bit_cast(0u); aot_gpr_5 = (16256u << 16u); ctx.fpr[22] = std::bit_cast(aot_gpr_5); - aot_gpr_5 = (aot_gpr_16 + static_cast(-19)); + aot_gpr_5 = (ctx.gpr[16] + static_cast(-19)); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_20)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); @@ -6251,7 +6252,7 @@ L_08A42968: L_08A42980: aot_gpr_4 = (static_cast(aot_gpr_4) < 50 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; - ctx.gpr[20] = (aot_gpr_16 | 0u); + ctx.gpr[20] = (ctx.gpr[16] | 0u); if (branch_taken) { goto L_08A429B0; } @@ -6264,7 +6265,7 @@ L_08A4298C: aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 == 0u; - ctx.gpr[20] = (aot_gpr_16 | 0u); + ctx.gpr[20] = (ctx.gpr[16] | 0u); if (branch_taken) { goto L_08A429B0; } @@ -6312,7 +6313,7 @@ L_08A429B0: AOT_REGCACHE_SYNC_OUT(); return; L_08A429FC: aot_gpr_4 = (0u | 35u); - aot_gpr_16 = (aot_gpr_29 + static_cast(64)); + ctx.gpr[16] = (aot_gpr_29 + static_cast(64)); { const bool branch_taken = ctx.gpr[20] != aot_gpr_4; ctx.gpr[19] = (aot_gpr_29 + static_cast(128)); if (branch_taken) { @@ -6405,7 +6406,7 @@ L_08A42A54: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); @@ -6495,7 +6496,7 @@ L_08A42B2C: aot_gpr_4 = (aot_gpr_4 | 55050u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (ctx.gpr[18] | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A42B48u); aot_gpr_6 = (ctx.gpr[19] | 0u); goto L_08A41568; @@ -6517,9 +6518,9 @@ L_08A42B50: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_16 = (aot_gpr_29 + static_cast(208)); + ctx.gpr[16] = (aot_gpr_29 + static_cast(208)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_20)}; @@ -6531,7 +6532,7 @@ L_08A42B50: aot_gpr_4 = (aot_gpr_4 | 52429u); aot_fpr_14 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (0u | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_6 = (ctx.gpr[19] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[24])); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[22])); @@ -6565,11 +6566,11 @@ L_08A42BA4: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (ctx.gpr[19] | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A42BC4u); aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0041_entry, 41u, 368u, 0x088AA874u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A42BC4u) goto L_08A42BC4; @@ -6758,7 +6759,7 @@ L_08A42D1C: AOT_REGCACHE_SYNC_OUT(); return; L_08A42D3C: aot_gpr_4 = (0u | 20u); - { const bool branch_taken = aot_gpr_16 == aot_gpr_4; + { const bool branch_taken = ctx.gpr[16] == aot_gpr_4; // nop if (branch_taken) { goto L_08A42E44; @@ -6878,7 +6879,7 @@ L_08A42E44: aot_fpr_20 = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); - aot_gpr_16 = aot_run_words[3]; + ctx.gpr[16] = aot_run_words[3]; ctx.gpr[17] = aot_run_words[4]; ctx.gpr[18] = aot_run_words[5]; ctx.gpr[19] = aot_run_words[6]; @@ -6893,7 +6894,7 @@ L_08A42E44: AOT_REGCACHE_SYNC_OUT(); return; L_08A42E70: aot_gpr_29 = (aot_gpr_29 + static_cast(-320)); - { const std::uint32_t aot_run_words[7]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[7]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(288), aot_run_words); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), std::bit_cast(aot_fpr_12)); @@ -6946,7 +6947,7 @@ L_08A42E70: aot_gpr_5 = (aot_gpr_5 | 52429u); aot_fpr_12 = std::bit_cast(aot_gpr_5); { const float fs = aot_fpr_14; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 <= aot_fpr_12)) ? 0x00800000u : 0u); // nop if (!((ctx.fcr31 & 0x00800000u) != 0u)) { @@ -6955,11 +6956,11 @@ L_08A42E70: } goto L_08A42F04; L_08A42F04: - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), std::bit_cast(aot_fpr_13)); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), std::bit_cast(aot_fpr_13)); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), std::bit_cast(aot_fpr_13)); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); @@ -7022,7 +7023,7 @@ L_08A42F04: const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(30))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(30))); aot_gpr_5 = (aot_gpr_4 + static_cast(-2)); aot_gpr_5 = (aot_gpr_5 < static_cast(32) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; @@ -7052,20 +7053,20 @@ L_08A42F98: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(82), static_cast(aot_gpr_4)); aot_gpr_4 = (0u | 255u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(83), static_cast(aot_gpr_4)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(128), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(132), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(136), std::bit_cast(aot_fpr_12)); aot_gpr_5 = (aot_gpr_29 + static_cast(128)); aot_fpr_20 = std::bit_cast(0u); { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_20)}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(144), aot_run_words); } - aot_gpr_16 = (aot_gpr_29 + static_cast(144)); + ctx.gpr[16] = (aot_gpr_29 + static_cast(144)); ctx.gpr[8] = (aot_gpr_29 + static_cast(80)); aot_gpr_4 = (0u | 89u); - aot_gpr_6 = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); ctx.gpr[7] = (0u | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); ctx.gpr[9] = (0u | 0u); @@ -7083,7 +7084,7 @@ L_08A43010: aot_gpr_4 = (aot_gpr_4 | 52429u); aot_gpr_31 = (0x08A4302Cu); ctx.fpr[24] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4302Cu) goto L_08A4302C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4302Cu) goto L_08A4302C; AOT_REGCACHE_SYNC_OUT(); return; L_08A4302C: aot_fpr_12 = ctx.fpr[24] - ctx.fpr[22]; @@ -7094,7 +7095,7 @@ L_08A4302C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(112), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08A4304Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4304Cu) goto L_08A4304C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4304Cu) goto L_08A4304C; AOT_REGCACHE_SYNC_OUT(); return; L_08A4304C: aot_fpr_12 = ctx.fpr[24] - ctx.fpr[22]; @@ -7105,7 +7106,7 @@ L_08A4304C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(116), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08A4306Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4306Cu) goto L_08A4306C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4306Cu) goto L_08A4306C; AOT_REGCACHE_SYNC_OUT(); return; L_08A4306C: aot_fpr_12 = ctx.fpr[24] - ctx.fpr[22]; @@ -7118,7 +7119,7 @@ L_08A4306C: { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_20)}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(144), aot_run_words); } aot_gpr_4 = (0u | 68u); - aot_gpr_6 = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); ctx.gpr[7] = (0u | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); ctx.gpr[8] = (0u | 0u); @@ -7145,11 +7146,11 @@ L_08A430C0: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(82), static_cast(aot_gpr_4)); aot_gpr_4 = (0u | 255u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(83), static_cast(aot_gpr_4)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(128), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(132), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(136), std::bit_cast(aot_fpr_12)); ctx.gpr[17] = (aot_gpr_29 + static_cast(128)); aot_fpr_20 = std::bit_cast(0u); @@ -7170,11 +7171,11 @@ L_08A430C0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0063_entry, 63u, 90u, 0x0890043Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4313Cu) goto L_08A4313C; AOT_REGCACHE_SYNC_OUT(); return; L_08A4313C: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(128), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(132), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(136), std::bit_cast(aot_fpr_12)); { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_20)}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(144), aot_run_words); } @@ -7209,18 +7210,18 @@ L_08A43190: goto L_08A431A0; } L_08A431A0: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(160), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(164), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(168), std::bit_cast(aot_fpr_12)); aot_gpr_5 = (aot_gpr_29 + static_cast(160)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(16))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(192), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(20))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(196), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(24))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(200), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (15692u << 16u); aot_gpr_4 = (aot_gpr_4 | 52429u); @@ -7271,7 +7272,7 @@ L_08A4322C: aot_gpr_4 = (aot_gpr_4 | 52429u); aot_gpr_31 = (0x08A43248u); ctx.fpr[22] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A43248u) goto L_08A43248; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A43248u) goto L_08A43248; AOT_REGCACHE_SYNC_OUT(); return; L_08A43248: aot_fpr_12 = ctx.fpr[22] - aot_fpr_20; @@ -7282,7 +7283,7 @@ L_08A43248: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(112), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08A43268u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A43268u) goto L_08A43268; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A43268u) goto L_08A43268; AOT_REGCACHE_SYNC_OUT(); return; L_08A43268: aot_fpr_12 = ctx.fpr[22] - aot_fpr_20; @@ -7293,7 +7294,7 @@ L_08A43268: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(116), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08A43288u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A43288u) goto L_08A43288; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A43288u) goto L_08A43288; AOT_REGCACHE_SYNC_OUT(); return; L_08A43288: aot_fpr_12 = ctx.fpr[22] - aot_fpr_20; @@ -7330,7 +7331,7 @@ L_08A432DC: aot_fpr_20 = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); - aot_gpr_16 = aot_run_words[3]; + ctx.gpr[16] = aot_run_words[3]; ctx.gpr[17] = aot_run_words[4]; ctx.gpr[18] = aot_run_words[5]; aot_gpr_31 = aot_run_words[6]; @@ -7343,13 +7344,13 @@ L_08A432DC: AOT_REGCACHE_SYNC_OUT(); return; L_08A43300: aot_gpr_29 = (aot_gpr_29 + static_cast(-352)); - { const std::uint32_t aot_run_words[9]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_31}; + { const std::uint32_t aot_run_words[9]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(304), aot_run_words); } ctx.gpr[17] = (aot_gpr_6 | 0u); ctx.gpr[19] = (aot_gpr_5 | 0u); ctx.gpr[18] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(112), 0u); - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); aot_fpr_20 = std::bit_cast(0u); { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_20)}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(32), aot_run_words); } @@ -7402,14 +7403,14 @@ L_08A43378: L_08A433C8: aot_gpr_6 = (aot_gpr_29 + static_cast(80)); ctx.gpr[7] = (aot_gpr_29 + static_cast(112)); - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); ctx.gpr[8] = (0u | 1u); ctx.gpr[9] = (0u | 1u); ctx.gpr[10] = (0u | 1u); ctx.gpr[11] = (0u | 1u); - { const std::uint32_t aot_run_words[4]{ctx.gpr[2], ctx.gpr[2], 0u, 0u}; + { const std::uint32_t aot_run_words[4]{aot_gpr_2, aot_gpr_2, 0u, 0u}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_31 = (0x08A43404u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), 0u); @@ -7494,8 +7495,8 @@ L_08A43468: goto L_08A43488; } L_08A43488: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(112))); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2228))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(112))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2228))); aot_gpr_5 = (0u | 57u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; aot_gpr_5 = (0u | 58u); @@ -7539,17 +7540,17 @@ L_08A434A4: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(180), std::bit_cast(aot_fpr_14)); aot_gpr_5 = (aot_gpr_29 + static_cast(176)); aot_gpr_31 = (0x08A434E4u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 618u, 0x08906DC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A434E4u) goto L_08A434E4; AOT_REGCACHE_SYNC_OUT(); return; L_08A434E4: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08A434F0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 327u, 0x08911284u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A434F0u) goto L_08A434F0; AOT_REGCACHE_SYNC_OUT(); return; L_08A434F0: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08A43568; @@ -7558,7 +7559,7 @@ L_08A434F0: } L_08A434F8: aot_gpr_31 = (0x08A43500u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0055_entry, 55u, 281u, 0x088E2A9Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A43500u) goto L_08A43500; AOT_REGCACHE_SYNC_OUT(); return; L_08A43500: @@ -7577,13 +7578,13 @@ L_08A43514: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5836))); goto L_08A43518; L_08A43518: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(80))); aot_gpr_31 = (0x08A43524u); aot_gpr_6 = (ctx.gpr[18] + static_cast(32)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 600u, 0x0893E5E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A43524u) goto L_08A43524; AOT_REGCACHE_SYNC_OUT(); return; L_08A43524: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08A43568; @@ -7606,7 +7607,7 @@ L_08A43540: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5836))); goto L_08A43544; L_08A43544: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(80))); ctx.gpr[7] = (ctx.gpr[18] + static_cast(32)); aot_gpr_31 = (0x08A43554u); aot_gpr_6 = (0u | 0u); @@ -7614,17 +7615,17 @@ L_08A43544: AOT_REGCACHE_SYNC_OUT(); return; L_08A43554: aot_fpr_12 = std::bit_cast(0u); - aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(16), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(aot_gpr_2 + static_cast(16), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (16640u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(36), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(aot_gpr_2 + static_cast(36), std::bit_cast(aot_fpr_12)); goto L_08A43568; L_08A43568: aot_fpr_12 = std::bit_cast(ctx.gpr[17]); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(111))); ctx.gpr[8] = (ctx.gpr[18] & 255u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_6 = (0u | 25u); aot_gpr_31 = (0x08A4358Cu); @@ -7639,11 +7640,11 @@ L_08A4358C: aot_fpr_12 = aot_fpr_12 + aot_fpr_13; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(168), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08A435ACu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 50u, 0x08AD0530u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A435ACu) goto L_08A435AC; AOT_REGCACHE_SYNC_OUT(); return; L_08A435AC: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08A43664; @@ -7677,7 +7678,7 @@ L_08A435D0: aot_gpr_4 = (aot_gpr_4 | 52429u); aot_gpr_31 = (0x08A435ECu); ctx.fpr[22] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A435ECu) goto L_08A435EC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A435ECu) goto L_08A435EC; AOT_REGCACHE_SYNC_OUT(); return; L_08A435EC: aot_fpr_12 = ctx.fpr[22] - aot_fpr_20; @@ -7686,7 +7687,7 @@ L_08A435EC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(144), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08A43604u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A43604u) goto L_08A43604; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A43604u) goto L_08A43604; AOT_REGCACHE_SYNC_OUT(); return; L_08A43604: aot_fpr_12 = ctx.fpr[22] - aot_fpr_20; @@ -7695,7 +7696,7 @@ L_08A43604: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(148), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08A4361Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4361Cu) goto L_08A4361C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4361Cu) goto L_08A4361C; AOT_REGCACHE_SYNC_OUT(); return; L_08A4361C: aot_fpr_12 = ctx.fpr[22] - aot_fpr_20; @@ -7813,9 +7814,9 @@ L_08A436FC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(196), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(88))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(200), std::bit_cast(aot_fpr_12)); - aot_gpr_16 = (aot_gpr_29 + static_cast(192)); + ctx.gpr[16] = (aot_gpr_29 + static_cast(192)); aot_gpr_4 = (0u | 72u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A43728u); aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0018_entry, 18u, 46u, 0x0884C57Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A43728u) goto L_08A43728; @@ -7836,7 +7837,7 @@ L_08A43728: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(216), std::bit_cast(aot_fpr_13)); aot_gpr_6 = (aot_gpr_29 + static_cast(208)); aot_gpr_4 = (0u | 20u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); @@ -7874,7 +7875,7 @@ L_08A437A8: } L_08A437B0: aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(96))); aot_gpr_6 = (16256u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_6); aot_gpr_6 = (0u | 61u); @@ -7954,7 +7955,7 @@ L_08A43840: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0189_entry, 189u, 115u, 0x08AF8668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A43864u) goto L_08A43864; AOT_REGCACHE_SYNC_OUT(); return; L_08A43864: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08A438D0; @@ -7971,9 +7972,9 @@ L_08A4386C: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_16 = (aot_gpr_29 + static_cast(240)); + ctx.gpr[16] = (aot_gpr_29 + static_cast(240)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(224))); @@ -7987,7 +7988,7 @@ L_08A4386C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(264), std::bit_cast(aot_fpr_13)); aot_gpr_6 = (aot_gpr_29 + static_cast(256)); aot_gpr_4 = (0u | 45u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); @@ -7998,7 +7999,7 @@ L_08A4386C: AOT_REGCACHE_SYNC_OUT(); return; L_08A438C0: aot_gpr_4 = (0u | 75u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A438D0u); aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0018_entry, 18u, 46u, 0x0884C57Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A438D0u) goto L_08A438D0; @@ -8008,7 +8009,7 @@ L_08A438D0: aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(304), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); - aot_gpr_16 = aot_run_words[2]; + ctx.gpr[16] = aot_run_words[2]; ctx.gpr[17] = aot_run_words[3]; ctx.gpr[18] = aot_run_words[4]; ctx.gpr[19] = aot_run_words[5]; @@ -8024,18 +8025,18 @@ L_08A438D0: AOT_REGCACHE_SYNC_OUT(); return; L_08A438FC: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - { const std::uint32_t aot_run_words[7]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_31}; + { const std::uint32_t aot_run_words[7]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } ctx.gpr[18] = (aot_gpr_6 | 0u); ctx.gpr[17] = (aot_gpr_5 | 0u); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.gpr[19] = (ctx.gpr[17] | 0u); ctx.gpr[20] = (0u | 1u); aot_gpr_31 = (0x08A43938u); // nop goto L_08A4031C; L_08A43938: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -8046,10 +8047,10 @@ L_08A43938: L_08A43944: aot_gpr_31 = (0x08A4394Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4394Cu) goto L_08A4394C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089474C4, 80u, 661u, 0x089474C4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4394Cu) goto L_08A4394C; AOT_REGCACHE_SYNC_OUT(); return; L_08A4394C: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -8081,10 +8082,10 @@ L_08A43970: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(80))); aot_gpr_31 = (0x08A4397Cu); aot_gpr_5 = (0u | 201u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4397Cu) goto L_08A4397C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0886D4BC, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4397Cu) goto L_08A4397C; AOT_REGCACHE_SYNC_OUT(); return; L_08A4397C: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -8101,10 +8102,10 @@ L_08A43994: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(80))); aot_gpr_31 = (0x08A439A0u); aot_gpr_5 = (0u | 202u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A439A0u) goto L_08A439A0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0886D4BC, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A439A0u) goto L_08A439A0; AOT_REGCACHE_SYNC_OUT(); return; L_08A439A0: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -8121,10 +8122,10 @@ L_08A439B8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(80))); aot_gpr_31 = (0x08A439C4u); aot_gpr_5 = (0u | 203u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A439C4u) goto L_08A439C4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0886D4BC, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A439C4u) goto L_08A439C4; AOT_REGCACHE_SYNC_OUT(); return; L_08A439C4: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[19] == 0u; // nop if (branch_taken) { @@ -8154,10 +8155,10 @@ L_08A439E4: ctx.gpr[20] = (ctx.gpr[20] + static_cast(1396)); aot_gpr_31 = (0x08A43A04u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A43A04u) goto L_08A43A04; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A43A04u) goto L_08A43A04; AOT_REGCACHE_SYNC_OUT(); return; L_08A43A04: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(104))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(104))); aot_gpr_5 = (0u | 5u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -8226,11 +8227,11 @@ L_08A43A7C: AOT_REGCACHE_SYNC_OUT(); return; L_08A43A84: aot_gpr_31 = (0x08A43A8Cu); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0098_entry, 98u, 148u, 0x0898C6D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A43A8Cu) goto L_08A43A8C; AOT_REGCACHE_SYNC_OUT(); return; L_08A43A8C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08A43A98; @@ -8247,11 +8248,11 @@ L_08A43A98: AOT_REGCACHE_SYNC_OUT(); return; L_08A43AA0: aot_gpr_31 = (0x08A43AA8u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0098_entry, 98u, 200u, 0x0898C924u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A43AA8u) goto L_08A43AA8; AOT_REGCACHE_SYNC_OUT(); return; L_08A43AA8: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08A43AD8; @@ -8306,11 +8307,11 @@ L_08A43AE4: AOT_REGCACHE_SYNC_OUT(); return; L_08A43AEC: aot_gpr_31 = (0x08A43AF4u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0098_entry, 98u, 347u, 0x0898CF8Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A43AF4u) goto L_08A43AF4; AOT_REGCACHE_SYNC_OUT(); return; L_08A43AF4: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08A43D5C; @@ -8328,10 +8329,10 @@ L_08A43AFC: L_08A43B04: aot_gpr_31 = (0x08A43B0Cu); aot_gpr_5 = (0u | 202u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A43B0Cu) goto L_08A43B0C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0886D4BC, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A43B0Cu) goto L_08A43B0C; AOT_REGCACHE_SYNC_OUT(); return; L_08A43B0C: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -8348,10 +8349,10 @@ L_08A43B24: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(80))); aot_gpr_31 = (0x08A43B30u); aot_gpr_5 = (0u | 203u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A43B30u) goto L_08A43B30; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0886D4BC, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A43B30u) goto L_08A43B30; AOT_REGCACHE_SYNC_OUT(); return; L_08A43B30: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -8368,10 +8369,10 @@ L_08A43B48: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(80))); aot_gpr_31 = (0x08A43B54u); aot_gpr_5 = (0u | 201u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A43B54u) goto L_08A43B54; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0886D4BC, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A43B54u) goto L_08A43B54; AOT_REGCACHE_SYNC_OUT(); return; L_08A43B54: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -8415,7 +8416,7 @@ L_08A43B94: AOT_REGCACHE_SYNC_OUT(); return; L_08A43BA0: { const bool branch_taken = 0u == 0u; - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (branch_taken) { goto L_08A43CF4; } @@ -8432,10 +8433,10 @@ L_08A43BA8: L_08A43BB0: aot_gpr_31 = (0x08A43BB8u); aot_gpr_5 = (0u | 201u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A43BB8u) goto L_08A43BB8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0886D4BC, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A43BB8u) goto L_08A43BB8; AOT_REGCACHE_SYNC_OUT(); return; L_08A43BB8: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -8452,10 +8453,10 @@ L_08A43BD0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(80))); aot_gpr_31 = (0x08A43BDCu); aot_gpr_5 = (0u | 203u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A43BDCu) goto L_08A43BDC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0886D4BC, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A43BDCu) goto L_08A43BDC; AOT_REGCACHE_SYNC_OUT(); return; L_08A43BDC: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -8472,10 +8473,10 @@ L_08A43BF4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(80))); aot_gpr_31 = (0x08A43C00u); aot_gpr_5 = (0u | 202u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A43C00u) goto L_08A43C00; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0886D4BC, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A43C00u) goto L_08A43C00; AOT_REGCACHE_SYNC_OUT(); return; L_08A43C00: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -8519,7 +8520,7 @@ L_08A43C40: AOT_REGCACHE_SYNC_OUT(); return; L_08A43C4C: { const bool branch_taken = 0u == 0u; - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (branch_taken) { goto L_08A43CF4; } @@ -8528,10 +8529,10 @@ L_08A43C4C: L_08A43C54: aot_gpr_31 = (0x08A43C5Cu); aot_gpr_5 = (0u | 201u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A43C5Cu) goto L_08A43C5C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0886D4BC, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A43C5Cu) goto L_08A43C5C; AOT_REGCACHE_SYNC_OUT(); return; L_08A43C5C: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -8548,10 +8549,10 @@ L_08A43C74: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(80))); aot_gpr_31 = (0x08A43C80u); aot_gpr_5 = (0u | 202u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A43C80u) goto L_08A43C80; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0886D4BC, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A43C80u) goto L_08A43C80; AOT_REGCACHE_SYNC_OUT(); return; L_08A43C80: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -8568,10 +8569,10 @@ L_08A43C98: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(80))); aot_gpr_31 = (0x08A43CA4u); aot_gpr_5 = (0u | 203u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A43CA4u) goto L_08A43CA4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0886D4BC, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A43CA4u) goto L_08A43CA4; AOT_REGCACHE_SYNC_OUT(); return; L_08A43CA4: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -8614,7 +8615,7 @@ L_08A43CE4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 635u, 0x0893E914u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A43CF0u) goto L_08A43CF0; AOT_REGCACHE_SYNC_OUT(); return; L_08A43CF0: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); goto L_08A43CF4; L_08A43CF4: { const bool branch_taken = aot_gpr_4 == 0u; @@ -8641,11 +8642,11 @@ L_08A43D0C: AOT_REGCACHE_SYNC_OUT(); return; L_08A43D14: aot_gpr_31 = (0x08A43D1Cu); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0098_entry, 98u, 347u, 0x0898CF8Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A43D1Cu) goto L_08A43D1C; AOT_REGCACHE_SYNC_OUT(); return; L_08A43D1C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08A43DD0; @@ -8665,7 +8666,7 @@ L_08A43D24: } L_08A43D38: aot_gpr_4 = (ctx.gpr[20] | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_6 = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x08A43D4Cu); ctx.gpr[7] = (ctx.gpr[17] | 0u); @@ -8688,10 +8689,10 @@ L_08A43D64: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(80))); aot_gpr_31 = (0x08A43D70u); aot_gpr_5 = (0u | 201u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A43D70u) goto L_08A43D70; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0886D4BC, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A43D70u) goto L_08A43D70; AOT_REGCACHE_SYNC_OUT(); return; L_08A43D70: - ctx.gpr[20] = (ctx.gpr[2] | 0u); + ctx.gpr[20] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[20] == 0u; // nop if (branch_taken) { @@ -8708,10 +8709,10 @@ L_08A43D88: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(80))); aot_gpr_31 = (0x08A43D94u); aot_gpr_5 = (0u | 202u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A43D94u) goto L_08A43D94; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0886D4BC, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A43D94u) goto L_08A43D94; AOT_REGCACHE_SYNC_OUT(); return; L_08A43D94: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -8728,10 +8729,10 @@ L_08A43DAC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(80))); aot_gpr_31 = (0x08A43DB8u); aot_gpr_5 = (0u | 203u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A43DB8u) goto L_08A43DB8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0886D4BC, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A43DB8u) goto L_08A43DB8; AOT_REGCACHE_SYNC_OUT(); return; L_08A43DB8: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[19] == 0u; // nop if (branch_taken) { @@ -8747,7 +8748,7 @@ L_08A43DC4: L_08A43DD0: { std::uint32_t aot_run_words[7]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -8763,26 +8764,26 @@ L_08A43DD0: AOT_REGCACHE_SYNC_OUT(); return; L_08A43DF4: aot_gpr_29 = (aot_gpr_29 + static_cast(-256)); - { const std::uint32_t aot_run_words[10]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_31}; + { const std::uint32_t aot_run_words[10]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(212), aot_run_words); } ctx.gpr[18] = (aot_gpr_5 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(256), aot_gpr_6); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.gpr[17] = (0u | 0u); ctx.gpr[19] = (0u | 0u); ctx.gpr[20] = (2237u << 16u); ctx.gpr[20] = (ctx.gpr[20] + static_cast(-28736)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(100))); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(52))); - aot_gpr_6 = (aot_mem.aot_direct_load_word_right(aot_gpr_16 + static_cast(3), aot_gpr_6)); - aot_gpr_6 = (aot_mem.aot_direct_load_word_left(aot_gpr_16 + static_cast(6), aot_gpr_6)); + aot_gpr_6 = (aot_mem.aot_direct_load_word_right(ctx.gpr[16] + static_cast(3), aot_gpr_6)); + aot_gpr_6 = (aot_mem.aot_direct_load_word_left(ctx.gpr[16] + static_cast(6), aot_gpr_6)); aot_gpr_6 = (aot_gpr_6 & 65535u); aot_gpr_31 = (0x08A43E58u); aot_gpr_4 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 192u, 0x08ADCA6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A43E58u) goto L_08A43E58; AOT_REGCACHE_SYNC_OUT(); return; L_08A43E58: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -8802,8 +8803,8 @@ L_08A43E6C: ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(104))); goto L_08A43E70; L_08A43E70: - aot_gpr_6 = (aot_mem.aot_direct_load_word_right(aot_gpr_16 + static_cast(5), aot_gpr_6)); - aot_gpr_6 = (aot_mem.aot_direct_load_word_left(aot_gpr_16 + static_cast(8), aot_gpr_6)); + aot_gpr_6 = (aot_mem.aot_direct_load_word_right(ctx.gpr[16] + static_cast(5), aot_gpr_6)); + aot_gpr_6 = (aot_mem.aot_direct_load_word_left(ctx.gpr[16] + static_cast(8), aot_gpr_6)); aot_gpr_6 = (aot_gpr_6 & 65535u); aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08A43E88u); @@ -8811,7 +8812,7 @@ L_08A43E70: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 192u, 0x08ADCA6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A43E88u) goto L_08A43E88; AOT_REGCACHE_SYNC_OUT(); return; L_08A43E88: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -8854,8 +8855,8 @@ L_08A43EB0: AOT_REGCACHE_SYNC_OUT(); return; L_08A43EBC: aot_gpr_31 = (0x08A43EC4u); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(10))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A43EC4u) goto L_08A43EC4; + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(10))); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A43EC4u) goto L_08A43EC4; AOT_REGCACHE_SYNC_OUT(); return; L_08A43EC4: aot_gpr_31 = (0x08A43ECCu); @@ -8863,7 +8864,7 @@ L_08A43EC4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 620u, 0x08906DE4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A43ECCu) goto L_08A43ECC; AOT_REGCACHE_SYNC_OUT(); return; L_08A43ECC: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08A43EF0; @@ -8897,15 +8898,15 @@ L_08A43EE4: } L_08A43EF0: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(112))); - aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(10))); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(9))); + aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(10))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(9))); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); - ctx.gpr[7] = (aot_mem.aot_direct_load_word_right(aot_gpr_16 + static_cast(7), ctx.gpr[7])); - ctx.gpr[7] = (aot_mem.aot_direct_load_word_left(aot_gpr_16 + static_cast(10), ctx.gpr[7])); + ctx.gpr[7] = (aot_mem.aot_direct_load_word_right(ctx.gpr[16] + static_cast(7), ctx.gpr[7])); + ctx.gpr[7] = (aot_mem.aot_direct_load_word_left(ctx.gpr[16] + static_cast(10), ctx.gpr[7])); ctx.gpr[7] = (ctx.gpr[7] << 16u); ctx.gpr[7] = (static_cast(static_cast(ctx.gpr[7]) >> 16u)); - ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(11))); + ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(11))); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08A43F24u); ctx.gpr[9] = (0u | 0u); @@ -8930,7 +8931,7 @@ L_08A43F2C: goto L_08A43F3C; } L_08A43F3C: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(10))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(10))); aot_gpr_5 = (0u | 23u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -8940,7 +8941,7 @@ L_08A43F3C: goto L_08A43F4C; } L_08A43F4C: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(10))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(10))); aot_gpr_5 = (0u | 22u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -8950,7 +8951,7 @@ L_08A43F4C: goto L_08A43F5C; } L_08A43F5C: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(10))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(10))); aot_gpr_5 = (0u | 21u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -8960,7 +8961,7 @@ L_08A43F5C: goto L_08A43F6C; } L_08A43F6C: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(10))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(10))); aot_gpr_5 = (0u | 37u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -8970,7 +8971,7 @@ L_08A43F6C: goto L_08A43F7C; } L_08A43F7C: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(10))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(10))); aot_gpr_5 = (0u | 34u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -8980,7 +8981,7 @@ L_08A43F7C: goto L_08A43F8C; } L_08A43F8C: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(10))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(10))); aot_gpr_5 = (0u | 20u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -8992,10 +8993,10 @@ L_08A43F8C: L_08A43F9C: aot_gpr_31 = (0x08A43FA4u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A43FA4u) goto L_08A43FA4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A43FA4u) goto L_08A43FA4; AOT_REGCACHE_SYNC_OUT(); return; L_08A43FA4: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0144_entry, 144u, 8u, 0x08A440FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; @@ -9003,11 +9004,11 @@ L_08A43FA4: goto L_08A43FAC; } L_08A43FAC: - aot_gpr_4 = (aot_gpr_16 + static_cast(12)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(12)); aot_gpr_5 = (aot_mem.aot_direct_load_word_left(aot_gpr_4 + static_cast(3), aot_gpr_5)); aot_gpr_5 = (aot_mem.aot_direct_load_word_right(aot_gpr_4 + static_cast(0), aot_gpr_5)); aot_fpr_12 = std::bit_cast(aot_gpr_5); - aot_gpr_4 = (aot_gpr_16 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(16)); aot_gpr_5 = (aot_mem.aot_direct_load_word_left(aot_gpr_4 + static_cast(3), aot_gpr_5)); aot_gpr_5 = (aot_mem.aot_direct_load_word_right(aot_gpr_4 + static_cast(0), aot_gpr_5)); aot_fpr_13 = std::bit_cast(aot_gpr_5); diff --git a/profiles/vcs/generated/generated_unit_0144.cpp b/profiles/vcs/generated/generated_unit_0144.cpp index 8790e21..df448ad 100644 --- a/profiles/vcs/generated/generated_unit_0144.cpp +++ b/profiles/vcs/generated/generated_unit_0144.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0144[4096] = { }; void recomp_unit_0144_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,6,16,31 fprs=12,13,14,22 gpr_occ=3651 fpr_occ=906 gpr_total=5038 fpr_total=1042 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,31,6,2 fprs=12,13,14,22 gpr_occ=3684 fpr_occ=906 gpr_total=5267 fpr_total=1042 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; - std::uint32_t aot_gpr_6 = ctx.gpr[6]; - std::uint32_t aot_gpr_16 = ctx.gpr[16]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; + std::uint32_t aot_gpr_6 = ctx.gpr[6]; + std::uint32_t aot_gpr_2 = ctx.gpr[2]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_14 = ctx.fpr[14]; float aot_fpr_22 = ctx.fpr[22]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[6] = aot_gpr_6; ctx.gpr[16] = aot_gpr_16; ctx.gpr[31] = aot_gpr_31; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[22] = aot_fpr_22; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_31 = ctx.gpr[31]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_22 = ctx.fpr[22]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[31] = aot_gpr_31; ctx.gpr[6] = aot_gpr_6; ctx.gpr[2] = aot_gpr_2; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[22] = aot_fpr_22; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_2 = ctx.gpr[2]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_22 = ctx.fpr[22]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -1017,7 +1018,7 @@ L_08A44064: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 600u, 0x08A66CD8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A440A8u) goto L_08A440A8; AOT_REGCACHE_SYNC_OUT(); return; L_08A440A8: - aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(11))); + aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(11))); aot_gpr_6 = (aot_gpr_6 + static_cast(28)); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (0u | 1500u); @@ -1027,15 +1028,15 @@ L_08A440A8: AOT_REGCACHE_SYNC_OUT(); return; L_08A440C0: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(112))); - aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(10))); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(9))); + aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(10))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(9))); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); - ctx.gpr[7] = (aot_mem.aot_direct_load_word_right(aot_gpr_16 + static_cast(7), ctx.gpr[7])); - ctx.gpr[7] = (aot_mem.aot_direct_load_word_left(aot_gpr_16 + static_cast(10), ctx.gpr[7])); + ctx.gpr[7] = (aot_mem.aot_direct_load_word_right(ctx.gpr[16] + static_cast(7), ctx.gpr[7])); + ctx.gpr[7] = (aot_mem.aot_direct_load_word_left(ctx.gpr[16] + static_cast(10), ctx.gpr[7])); ctx.gpr[7] = (ctx.gpr[7] << 16u); ctx.gpr[7] = (static_cast(static_cast(ctx.gpr[7]) >> 16u)); - ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(11))); + ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(11))); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08A440F4u); ctx.gpr[9] = (0u | 0u); @@ -1055,7 +1056,7 @@ L_08A440FC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 327u, 0x08911284u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A44104u) goto L_08A44104; AOT_REGCACHE_SYNC_OUT(); return; L_08A44104: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08A44388; @@ -1065,10 +1066,10 @@ L_08A44104: L_08A4410C: aot_gpr_31 = (0x08A44114u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A44114u) goto L_08A44114; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A44114u) goto L_08A44114; AOT_REGCACHE_SYNC_OUT(); return; L_08A44114: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08A44310; @@ -1158,10 +1159,10 @@ L_08A441E0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(80))); aot_gpr_31 = (0x08A441ECu); aot_gpr_5 = (0u | 214u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A441ECu) goto L_08A441EC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0886D4BC, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A441ECu) goto L_08A441EC; AOT_REGCACHE_SYNC_OUT(); return; L_08A441EC: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08A44244; @@ -1172,10 +1173,10 @@ L_08A441F4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(80))); aot_gpr_31 = (0x08A44200u); aot_gpr_5 = (0u | 215u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A44200u) goto L_08A44200; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0886D4BC, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A44200u) goto L_08A44200; AOT_REGCACHE_SYNC_OUT(); return; L_08A44200: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08A44244; @@ -1186,10 +1187,10 @@ L_08A44208: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(80))); aot_gpr_31 = (0x08A44214u); aot_gpr_5 = (0u | 218u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A44214u) goto L_08A44214; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0886D4BC, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A44214u) goto L_08A44214; AOT_REGCACHE_SYNC_OUT(); return; L_08A44214: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08A44244; @@ -1200,10 +1201,10 @@ L_08A4421C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(80))); aot_gpr_31 = (0x08A44228u); aot_gpr_5 = (0u | 216u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A44228u) goto L_08A44228; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0886D4BC, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A44228u) goto L_08A44228; AOT_REGCACHE_SYNC_OUT(); return; L_08A44228: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08A44244; @@ -1214,10 +1215,10 @@ L_08A44230: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(80))); aot_gpr_31 = (0x08A4423Cu); aot_gpr_5 = (0u | 217u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4423Cu) goto L_08A4423C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0886D4BC, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4423Cu) goto L_08A4423C; AOT_REGCACHE_SYNC_OUT(); return; L_08A4423C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08A44248; @@ -1268,13 +1269,13 @@ L_08A44280: goto L_08A44284; L_08A44284: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(80))); - aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(11))); + aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(11))); aot_gpr_31 = (0x08A44294u); aot_gpr_6 = (aot_gpr_6 + static_cast(32)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 600u, 0x0893E5E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A44294u) goto L_08A44294; AOT_REGCACHE_SYNC_OUT(); return; L_08A44294: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08A442DC; @@ -1298,7 +1299,7 @@ L_08A442B0: goto L_08A442B4; L_08A442B4: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(80))); - ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(11))); + ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(11))); ctx.gpr[7] = (ctx.gpr[7] + static_cast(32)); aot_gpr_31 = (0x08A442C8u); aot_gpr_6 = (0u | 0u); @@ -1306,13 +1307,13 @@ L_08A442B4: AOT_REGCACHE_SYNC_OUT(); return; L_08A442C8: aot_fpr_12 = std::bit_cast(0u); - aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(16), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(aot_gpr_2 + static_cast(16), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (16640u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(36), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(aot_gpr_2 + static_cast(36), std::bit_cast(aot_fpr_12)); goto L_08A442DC; L_08A442DC: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(10))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(10))); aot_gpr_5 = (0u | 28u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -1366,13 +1367,13 @@ L_08A4432C: goto L_08A44330; L_08A44330: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(80))); - aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(11))); + aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(11))); aot_gpr_31 = (0x08A44340u); aot_gpr_6 = (aot_gpr_6 + static_cast(32)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 600u, 0x0893E5E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A44340u) goto L_08A44340; AOT_REGCACHE_SYNC_OUT(); return; L_08A44340: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08A44388; @@ -1396,7 +1397,7 @@ L_08A4435C: goto L_08A44360; L_08A44360: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(80))); - ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(11))); + ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(11))); ctx.gpr[7] = (ctx.gpr[7] + static_cast(32)); aot_gpr_31 = (0x08A44374u); aot_gpr_6 = (0u | 0u); @@ -1404,22 +1405,22 @@ L_08A44360: AOT_REGCACHE_SYNC_OUT(); return; L_08A44374: aot_fpr_12 = std::bit_cast(0u); - aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(16), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(aot_gpr_2 + static_cast(16), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (16640u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(36), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(aot_gpr_2 + static_cast(36), std::bit_cast(aot_fpr_12)); goto L_08A44388; L_08A44388: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(112))); - aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(10))); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(9))); + aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(10))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(9))); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); - ctx.gpr[7] = (aot_mem.aot_direct_load_word_right(aot_gpr_16 + static_cast(7), ctx.gpr[7])); - ctx.gpr[7] = (aot_mem.aot_direct_load_word_left(aot_gpr_16 + static_cast(10), ctx.gpr[7])); + ctx.gpr[7] = (aot_mem.aot_direct_load_word_right(ctx.gpr[16] + static_cast(7), ctx.gpr[7])); + ctx.gpr[7] = (aot_mem.aot_direct_load_word_left(ctx.gpr[16] + static_cast(10), ctx.gpr[7])); ctx.gpr[7] = (ctx.gpr[7] << 16u); ctx.gpr[7] = (static_cast(static_cast(ctx.gpr[7]) >> 16u)); - ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(11))); + ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(11))); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08A443BCu); ctx.gpr[9] = (0u | 0u); @@ -1435,7 +1436,7 @@ L_08A443BC: goto L_08A443C8; } L_08A443C8: - aot_gpr_4 = (aot_gpr_16 + static_cast(20)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(20)); ctx.gpr[18] = (aot_gpr_29 + static_cast(32)); aot_gpr_31 = (0x08A443D8u); aot_gpr_5 = (ctx.gpr[18] | 0u); @@ -1457,7 +1458,7 @@ L_08A443D8: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } ctx.gpr[20] = (0u | 8u); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(10))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(10))); aot_gpr_5 = (0u | 23u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; ctx.gpr[21] = (aot_gpr_29 + static_cast(64)); @@ -1467,7 +1468,7 @@ L_08A443D8: goto L_08A443F8; } L_08A443F8: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(10))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(10))); aot_gpr_5 = (0u | 22u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -1477,7 +1478,7 @@ L_08A443F8: goto L_08A44408; } L_08A44408: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(10))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(10))); aot_gpr_5 = (0u | 21u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -1487,7 +1488,7 @@ L_08A44408: goto L_08A44418; } L_08A44418: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(10))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(10))); aot_gpr_5 = (0u | 37u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -1549,7 +1550,7 @@ L_08A4442C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 50u, 0x08AD0530u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4446Cu) goto L_08A4446C; AOT_REGCACHE_SYNC_OUT(); return; L_08A4446C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08A444C4; @@ -1594,7 +1595,7 @@ L_08A444B0: goto L_08A444C4; } L_08A444C4: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(10))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(10))); aot_gpr_5 = (0u | 35u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -1607,10 +1608,10 @@ L_08A444D4: ctx.fpr[20] = std::bit_cast(0u); { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[20])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(80), aot_run_words); } - aot_gpr_16 = (aot_gpr_29 + static_cast(80)); + ctx.gpr[16] = (aot_gpr_29 + static_cast(80)); aot_gpr_4 = (0u | 81u); aot_gpr_5 = (ctx.gpr[19] | 0u); - aot_gpr_6 = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); ctx.gpr[7] = (0u | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); ctx.gpr[8] = (0u | 0u); @@ -1651,14 +1652,14 @@ L_08A44510: ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 0u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[20])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(112), aot_run_words); } ctx.gpr[18] = (aot_gpr_29 + static_cast(112)); aot_gpr_4 = (0u | 81u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_6 = (ctx.gpr[18] | 0u); ctx.gpr[7] = (0u | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); @@ -1699,7 +1700,7 @@ L_08A44580: aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(80), aot_run_words); } aot_gpr_4 = (0u | 81u); aot_gpr_5 = (ctx.gpr[18] | 0u); - aot_gpr_6 = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); ctx.gpr[7] = (0u | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); ctx.gpr[8] = (0u | 0u); @@ -1715,7 +1716,7 @@ L_08A445D0: ctx.fpr[20] = std::bit_cast(aot_run_words[0]); aot_fpr_22 = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); - aot_gpr_16 = aot_run_words[3]; + ctx.gpr[16] = aot_run_words[3]; ctx.gpr[17] = aot_run_words[4]; ctx.gpr[18] = aot_run_words[5]; ctx.gpr[19] = aot_run_words[6]; @@ -1731,9 +1732,9 @@ L_08A445D0: AOT_REGCACHE_SYNC_OUT(); return; L_08A44600: aot_gpr_29 = (aot_gpr_29 + static_cast(-432)); - { const std::uint32_t aot_run_words[15]{std::bit_cast(ctx.fpr[20]), std::bit_cast(aot_fpr_22), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; + { const std::uint32_t aot_run_words[15]{std::bit_cast(ctx.fpr[20]), std::bit_cast(aot_fpr_22), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(360), aot_run_words); } - aot_gpr_16 = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(432), aot_gpr_6); ctx.gpr[20] = (aot_gpr_4 | 0u); aot_gpr_4 = (2237u << 16u); @@ -1748,7 +1749,7 @@ L_08A44600: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 192u, 0x08ADCA6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A44670u) goto L_08A44670; AOT_REGCACHE_SYNC_OUT(); return; L_08A44670: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_4 == 0u; ctx.gpr[7] = (ctx.gpr[17] | 0u); if (branch_taken) { @@ -1832,11 +1833,11 @@ L_08A446E4: aot_gpr_6 = (aot_gpr_6 & 65535u); aot_gpr_4 = (ctx.gpr[7] | 0u); aot_gpr_31 = (0x08A446FCu); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 192u, 0x08ADCA6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A446FCu) goto L_08A446FC; AOT_REGCACHE_SYNC_OUT(); return; L_08A446FC: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[19] == 0u; // nop if (branch_taken) { @@ -1875,7 +1876,7 @@ L_08A44708: aot_fpr_14 = std::bit_cast(aot_gpr_5); { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_13), std::bit_cast(aot_fpr_14)}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(16), aot_run_words); } - aot_gpr_16 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[16] = (aot_gpr_29 + static_cast(16)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[20] + static_cast(27)))))); aot_gpr_5 = (aot_gpr_4 & 16u); aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); @@ -1938,10 +1939,10 @@ L_08A447EC: L_08A44804: aot_gpr_31 = (0x08A4480Cu); aot_gpr_4 = (ctx.gpr[23] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4480Cu) goto L_08A4480C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4480Cu) goto L_08A4480C; AOT_REGCACHE_SYNC_OUT(); return; L_08A4480C: - ctx.gpr[30] = (ctx.gpr[2] | 0u); + ctx.gpr[30] = (aot_gpr_2 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(2228))); { const bool branch_taken = aot_gpr_4 == ctx.gpr[22]; // nop @@ -1989,7 +1990,7 @@ L_08A44864: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 50u, 0x08AD0530u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4486Cu) goto L_08A4486C; AOT_REGCACHE_SYNC_OUT(); return; L_08A4486C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08A44CB4; @@ -1997,7 +1998,7 @@ L_08A4486C: goto L_08A44874; } L_08A44874: - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -2016,7 +2017,7 @@ L_08A44874: aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); ctx.execute_vfpu_unary_ct<28u, 28u, 1u, 16u>(); - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -2026,15 +2027,15 @@ L_08A44874: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); - aot_gpr_16 = (aot_gpr_29 + static_cast(48)); + ctx.gpr[16] = (aot_gpr_29 + static_cast(48)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } ctx.fpr[26] = std::bit_cast(0u); aot_gpr_4 = (0u | 6u); aot_gpr_5 = (aot_gpr_29 | 0u); - aot_gpr_6 = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); ctx.gpr[7] = (0u | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[26])); ctx.gpr[8] = (0u | 0u); @@ -2047,7 +2048,7 @@ L_08A44874: L_08A448DC: aot_gpr_4 = (0u | 6u); aot_gpr_5 = (aot_gpr_29 | 0u); - aot_gpr_6 = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); ctx.gpr[7] = (0u | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[26])); ctx.gpr[8] = (0u | 0u); @@ -2060,7 +2061,7 @@ L_08A448DC: L_08A44904: aot_gpr_4 = (0u | 6u); aot_gpr_5 = (aot_gpr_29 | 0u); - aot_gpr_6 = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); ctx.gpr[7] = (0u | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[26])); ctx.gpr[8] = (0u | 0u); @@ -2087,7 +2088,7 @@ L_08A44938: aot_gpr_4 = (aot_gpr_4 | 52429u); aot_gpr_31 = (0x08A44954u); ctx.fpr[28] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A44954u) goto L_08A44954; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A44954u) goto L_08A44954; AOT_REGCACHE_SYNC_OUT(); return; L_08A44954: aot_fpr_12 = ctx.fpr[28] - ctx.fpr[24]; @@ -2098,7 +2099,7 @@ L_08A44954: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08A44974u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A44974u) goto L_08A44974; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A44974u) goto L_08A44974; AOT_REGCACHE_SYNC_OUT(); return; L_08A44974: aot_fpr_12 = ctx.fpr[28] - ctx.fpr[24]; @@ -2109,7 +2110,7 @@ L_08A44974: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (0u | 6u); aot_gpr_5 = (aot_gpr_29 | 0u); - aot_gpr_6 = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); ctx.gpr[7] = (0u | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[26])); ctx.gpr[8] = (0u | 0u); @@ -2122,7 +2123,7 @@ L_08A44974: L_08A449B4: aot_gpr_31 = (0x08A449BCu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A449BCu) goto L_08A449BC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A449BCu) goto L_08A449BC; AOT_REGCACHE_SYNC_OUT(); return; L_08A449BC: aot_fpr_12 = ctx.fpr[28] - ctx.fpr[24]; @@ -2133,7 +2134,7 @@ L_08A449BC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08A449DCu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A449DCu) goto L_08A449DC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A449DCu) goto L_08A449DC; AOT_REGCACHE_SYNC_OUT(); return; L_08A449DC: aot_fpr_12 = ctx.fpr[28] - ctx.fpr[24]; @@ -2144,7 +2145,7 @@ L_08A449DC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (0u | 6u); aot_gpr_5 = (aot_gpr_29 | 0u); - aot_gpr_6 = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); ctx.gpr[7] = (0u | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[26])); ctx.gpr[8] = (0u | 0u); @@ -2221,7 +2222,7 @@ L_08A44A68: L_08A44A9C: { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[24])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(80), aot_run_words); } - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -2261,7 +2262,7 @@ L_08A44A9C: L_08A44AE8: { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[24])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(64), aot_run_words); } - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -2303,7 +2304,7 @@ L_08A44B2C: aot_gpr_4 = (aot_gpr_4 | 52429u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(72), std::bit_cast(aot_fpr_12)); - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -2436,13 +2437,13 @@ L_08A44BCC: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_31 = (0x08A44C3Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A44C3Cu) goto L_08A44C3C; AOT_REGCACHE_SYNC_OUT(); return; L_08A44C3C: aot_gpr_4 = (0u | 8u); aot_gpr_5 = (aot_gpr_29 | 0u); - aot_gpr_6 = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); ctx.gpr[7] = (0u | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[26])); ctx.gpr[8] = (0u | 0u); @@ -2455,7 +2456,7 @@ L_08A44C3C: L_08A44C64: aot_gpr_4 = (0u | 8u); aot_gpr_5 = (aot_gpr_29 | 0u); - aot_gpr_6 = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); ctx.gpr[7] = (0u | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[26])); ctx.gpr[8] = (0u | 0u); @@ -2468,7 +2469,7 @@ L_08A44C64: L_08A44C8C: aot_gpr_4 = (0u | 8u); aot_gpr_5 = (aot_gpr_29 | 0u); - aot_gpr_6 = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); ctx.gpr[7] = (0u | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[26])); ctx.gpr[8] = (0u | 0u); @@ -2558,10 +2559,10 @@ L_08A44D48: L_08A44D58: aot_gpr_31 = (0x08A44D60u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A44D60u) goto L_08A44D60; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A44D60u) goto L_08A44D60; AOT_REGCACHE_SYNC_OUT(); return; L_08A44D60: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08A44FC0; @@ -2687,10 +2688,10 @@ L_08A44E64: L_08A44E70: aot_gpr_31 = (0x08A44E78u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A44E78u) goto L_08A44E78; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A44E78u) goto L_08A44E78; AOT_REGCACHE_SYNC_OUT(); return; L_08A44E78: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08A44EA4; @@ -2865,7 +2866,7 @@ L_08A44FE0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 192u, 0x08ADCA6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A44FFCu) goto L_08A44FFC; AOT_REGCACHE_SYNC_OUT(); return; L_08A44FFC: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -2882,8 +2883,8 @@ L_08A45008: goto L_08A45010; } L_08A45010: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(104))); - { const bool branch_taken = aot_gpr_16 != 0u; + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(104))); + { const bool branch_taken = ctx.gpr[16] != 0u; // nop if (branch_taken) { goto L_08A45034; @@ -2916,7 +2917,7 @@ L_08A4502C: } L_08A45034: ctx.gpr[17] = (aot_mem.aot_direct_load8(ctx.gpr[20] + static_cast(31))); - { const bool branch_taken = aot_gpr_16 == 0u; + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08A452F4; @@ -2924,7 +2925,7 @@ L_08A45034: goto L_08A45040; } L_08A45040: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(852))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -2933,7 +2934,7 @@ L_08A45040: goto L_08A4504C; } L_08A4504C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(852))); aot_gpr_5 = (0u | 6u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -2943,7 +2944,7 @@ L_08A4504C: goto L_08A4505C; } L_08A4505C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(852))); aot_gpr_5 = (0u | 1u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -2953,7 +2954,7 @@ L_08A4505C: goto L_08A4506C; } L_08A4506C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(852))); aot_gpr_5 = (0u | 2u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -2963,20 +2964,20 @@ L_08A4506C: goto L_08A4507C; } L_08A4507C: - ctx.fpr[20] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(636))); + ctx.fpr[20] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(636))); ctx.gpr[18] = (aot_mem.aot_direct_load_word_right(ctx.gpr[20] + static_cast(36), ctx.gpr[18])); ctx.gpr[18] = (aot_mem.aot_direct_load_word_left(ctx.gpr[20] + static_cast(39), ctx.gpr[18])); ctx.gpr[18] = (ctx.gpr[18] & 65535u); aot_gpr_31 = (0x08A45094u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A45094u) goto L_08A45094; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A45094u) goto L_08A45094; AOT_REGCACHE_SYNC_OUT(); return; L_08A45094: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(92))); aot_gpr_5 = (aot_gpr_4 + static_cast(416)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(352))); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(352))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(188))); aot_gpr_6 = (15395u << 16u); aot_gpr_6 = (aot_gpr_6 | 55050u); @@ -2998,7 +2999,7 @@ L_08A45094: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A450E8u) goto L_08A450E8; AOT_REGCACHE_SYNC_OUT(); return; L_08A450E8: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(636))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(636))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[20])) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); @@ -3011,10 +3012,10 @@ L_08A450E8: L_08A450FC: aot_gpr_4 = (ctx.gpr[17] << 24u); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 24u)); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(91), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(91), static_cast(aot_gpr_4)); goto L_08A45108; L_08A45108: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(532)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(532)))))); { const bool branch_taken = aot_gpr_4 == ctx.gpr[20]; // nop if (branch_taken) { @@ -3027,7 +3028,7 @@ L_08A45114: aot_gpr_4 = (16256u << 16u); aot_gpr_31 = (0x08A45124u); aot_fpr_22 = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A45124u) goto L_08A45124; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A45124u) goto L_08A45124; AOT_REGCACHE_SYNC_OUT(); return; L_08A45124: aot_fpr_12 = aot_fpr_22 - ctx.fpr[20]; @@ -3045,7 +3046,7 @@ L_08A45124: goto L_08A45148; } L_08A45148: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(533)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(533)))))); aot_gpr_5 = (0u | 1u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -3055,7 +3056,7 @@ L_08A45148: goto L_08A45158; } L_08A45158: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(900))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -3064,7 +3065,7 @@ L_08A45158: goto L_08A45164; } L_08A45164: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(900))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(2196))); aot_gpr_5 = (0u | 16u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; @@ -3075,7 +3076,7 @@ L_08A45164: goto L_08A45178; } L_08A45178: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(900))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(2196))); aot_gpr_5 = (0u | 8u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; @@ -3086,7 +3087,7 @@ L_08A45178: goto L_08A4518C; } L_08A4518C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(900))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(2196))); { const bool branch_taken = aot_gpr_4 == ctx.gpr[20]; // nop @@ -3096,7 +3097,7 @@ L_08A4518C: goto L_08A4519C; } L_08A4519C: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(532)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(532)))))); { const bool branch_taken = aot_gpr_4 == ctx.gpr[20]; // nop if (branch_taken) { @@ -3105,7 +3106,7 @@ L_08A4519C: goto L_08A451A8; } L_08A451A8: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(535)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(535)))))); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_gpr_4 = (16320u << 16u); @@ -3115,12 +3116,12 @@ L_08A451A8: aot_gpr_4 = (std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_gpr_4 << 24u); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 24u)); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(535), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(535), static_cast(aot_gpr_4)); goto L_08A451D4; L_08A451D4: aot_gpr_4 = (0u | 3u); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(532), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(532), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08A452F4; } @@ -3128,7 +3129,7 @@ L_08A451D4: } L_08A451E0: ctx.gpr[18] = (0u | 200u); - ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(900))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(900))); { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { @@ -3167,7 +3168,7 @@ L_08A45220: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (0u | 8u); aot_gpr_31 = (0x08A45230u); - aot_gpr_6 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0178_entry, 178u, 482u, 0x08ACD698u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A45230u) goto L_08A45230; AOT_REGCACHE_SYNC_OUT(); return; L_08A45230: @@ -3195,7 +3196,7 @@ L_08A45250: goto L_08A45260; L_08A45260: ctx.gpr[19] = (0u | 0u); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(565))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(565))); aot_gpr_4 = (static_cast(ctx.gpr[19]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; ctx.gpr[17] = (0u | 2u); @@ -3205,13 +3206,13 @@ L_08A45260: goto L_08A45274; } L_08A45274: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A45280u); aot_gpr_5 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A45280u) goto L_08A45280; AOT_REGCACHE_SYNC_OUT(); return; L_08A45280: - ctx.gpr[20] = (ctx.gpr[2] | 0u); + ctx.gpr[20] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[20] == 0u; // nop if (branch_taken) { @@ -3268,7 +3269,7 @@ L_08A452D0: goto L_08A452E0; L_08A452E0: ctx.gpr[19] = (ctx.gpr[19] + static_cast(1)); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(565))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(565))); aot_gpr_4 = (static_cast(ctx.gpr[19]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -3285,7 +3286,7 @@ L_08A452F4: ctx.fpr[24] = std::bit_cast(aot_run_words[2]); ctx.fpr[26] = std::bit_cast(aot_run_words[3]); ctx.fpr[28] = std::bit_cast(aot_run_words[4]); - aot_gpr_16 = aot_run_words[5]; + ctx.gpr[16] = aot_run_words[5]; ctx.gpr[17] = aot_run_words[6]; ctx.gpr[18] = aot_run_words[7]; ctx.gpr[19] = aot_run_words[8]; @@ -3304,7 +3305,7 @@ L_08A452F4: AOT_REGCACHE_SYNC_OUT(); return; L_08A45338: aot_gpr_29 = (aot_gpr_29 + static_cast(-208)); - { const std::uint32_t aot_run_words[9]{std::bit_cast(ctx.fpr[20]), std::bit_cast(aot_fpr_22), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_31}; + { const std::uint32_t aot_run_words[9]{std::bit_cast(ctx.fpr[20]), std::bit_cast(aot_fpr_22), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(172), aot_run_words); } ctx.gpr[19] = (0u | 0u); ctx.gpr[20] = (0u | 1u); @@ -3315,7 +3316,7 @@ L_08A45338: ctx.gpr[7] = (ctx.gpr[7] | 39322u); aot_fpr_12 = std::bit_cast(ctx.gpr[7]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), std::bit_cast(aot_fpr_12)); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.gpr[17] = (aot_gpr_5 | 0u); { const bool branch_taken = aot_gpr_5 == 0u; ctx.gpr[18] = (aot_gpr_6 | 0u); @@ -3338,7 +3339,7 @@ L_08A45394: goto L_08A453B0; } L_08A453B0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_gpr_5 = (static_cast(static_cast(aot_gpr_4) >> 31u)); aot_gpr_6 = (aot_gpr_4 | 0u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-6308))); @@ -3351,7 +3352,7 @@ L_08A453CC: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-6292))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-6296))); aot_gpr_5 = (ctx.gpr[3] & aot_gpr_5); - aot_gpr_4 = (ctx.gpr[2] & aot_gpr_4); + aot_gpr_4 = (aot_gpr_2 & aot_gpr_4); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-6284))); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-6288))); { const bool branch_taken = aot_gpr_4 != aot_gpr_6; @@ -3377,7 +3378,7 @@ L_08A453F4: aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(472), aot_gpr_4); goto L_08A45408; L_08A45408: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_gpr_5 = (0u | 39u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -3404,7 +3405,7 @@ L_08A45420: } L_08A45428: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08A45EF4; } @@ -3482,7 +3483,7 @@ L_08A45478: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A454A4u) goto L_08A454A4; AOT_REGCACHE_SYNC_OUT(); return; L_08A454A4: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(24))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(24))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -3573,7 +3574,7 @@ L_08A454F4: aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(4), std::bit_cast(aot_fpr_12)); goto L_08A45584; L_08A45584: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(8))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -3582,7 +3583,7 @@ L_08A45584: goto L_08A45590; } L_08A45590: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(8))); aot_gpr_5 = (0u | 1u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -3607,7 +3608,7 @@ L_08A455A8: } L_08A455B0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08A45EF4; } @@ -3656,11 +3657,11 @@ L_08A455FC: AOT_REGCACHE_SYNC_OUT(); return; L_08A45608: aot_gpr_31 = (0x08A45610u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A45610u) goto L_08A45610; + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A45610u) goto L_08A45610; AOT_REGCACHE_SYNC_OUT(); return; L_08A45610: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(4))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(4))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -3669,7 +3670,7 @@ L_08A45610: goto L_08A4561C; } L_08A4561C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(12))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(12))); { const bool branch_taken = static_cast(aot_gpr_4) > 0; // nop if (branch_taken) { @@ -3678,7 +3679,7 @@ L_08A4561C: goto L_08A45628; } L_08A45628: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(16))); { const bool branch_taken = static_cast(aot_gpr_4) <= 0; // nop if (branch_taken) { @@ -3687,7 +3688,7 @@ L_08A45628: goto L_08A45634; } L_08A45634: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(8))); aot_gpr_5 = (0u | 2u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -3698,7 +3699,7 @@ L_08A45634: } L_08A45644: aot_gpr_31 = (0x08A4564Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0143_entry, 143u, 212u, 0x08A40FCCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4564Cu) goto L_08A4564C; AOT_REGCACHE_SYNC_OUT(); return; L_08A4564C: @@ -3711,14 +3712,14 @@ L_08A4564C: } L_08A45654: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08A45EF4; } goto L_08A4565C; } L_08A4565C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_gpr_4 = (aot_gpr_4 + static_cast(-12)); aot_gpr_5 = (aot_gpr_4 < static_cast(27) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; @@ -3740,14 +3741,14 @@ L_08A45670: ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08A45688: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08A45698u); aot_gpr_6 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0146_entry, 146u, 239u, 0x08A4D824u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A45698u) goto L_08A45698; AOT_REGCACHE_SYNC_OUT(); return; L_08A45698: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); ctx.gpr[20] = (0u | 1u); { const bool branch_taken = 0u == 0u; // nop @@ -3762,7 +3763,7 @@ L_08A456A8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A456B0u) goto L_08A456B0; AOT_REGCACHE_SYNC_OUT(); return; L_08A456B0: - { const bool branch_taken = ctx.gpr[2] != ctx.gpr[17]; + { const bool branch_taken = aot_gpr_2 != ctx.gpr[17]; // nop if (branch_taken) { goto L_08A456CC; @@ -3770,21 +3771,21 @@ L_08A456B0: goto L_08A456B8; } L_08A456B8: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A456C4u); aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0146_entry, 146u, 282u, 0x08A4DE30u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A456C4u) goto L_08A456C4; AOT_REGCACHE_SYNC_OUT(); return; L_08A456C4: { const bool branch_taken = 0u == 0u; - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); if (branch_taken) { goto L_08A456EC; } goto L_08A456CC; } L_08A456CC: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_6 = (ctx.gpr[18] | 0u); ctx.gpr[7] = (0u | 0u); @@ -3794,7 +3795,7 @@ L_08A456CC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0145_entry, 145u, 46u, 0x08A4842Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A456E8u) goto L_08A456E8; AOT_REGCACHE_SYNC_OUT(); return; L_08A456E8: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); goto L_08A456EC; L_08A456EC: { const bool branch_taken = 0u == 0u; @@ -3832,7 +3833,7 @@ L_08A4571C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A45724u) goto L_08A45724; AOT_REGCACHE_SYNC_OUT(); return; L_08A45724: - { const bool branch_taken = ctx.gpr[17] != ctx.gpr[2]; + { const bool branch_taken = ctx.gpr[17] != aot_gpr_2; // nop if (branch_taken) { goto L_08A45744; @@ -3840,13 +3841,13 @@ L_08A45724: goto L_08A4572C; } L_08A4572C: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A45738u); aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0146_entry, 146u, 378u, 0x08A4E990u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A45738u) goto L_08A45738; AOT_REGCACHE_SYNC_OUT(); return; L_08A45738: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); { const bool branch_taken = 0u == 0u; ctx.gpr[20] = (0u | 1u); if (branch_taken) { @@ -3898,7 +3899,7 @@ L_08A45784: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(72), aot_gpr_5); goto L_08A457A0; L_08A457A0: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_6 = (ctx.gpr[18] | 0u); ctx.gpr[7] = (0u | 0u); @@ -3908,7 +3909,7 @@ L_08A457A0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0145_entry, 145u, 46u, 0x08A4842Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A457BCu) goto L_08A457BC; AOT_REGCACHE_SYNC_OUT(); return; L_08A457BC: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(472))); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 == 0u; @@ -3947,7 +3948,7 @@ L_08A45800: goto L_08A45808; } L_08A45808: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_6 = (ctx.gpr[18] | 0u); ctx.gpr[7] = (0u | 0u); @@ -3957,7 +3958,7 @@ L_08A45808: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0145_entry, 145u, 46u, 0x08A4842Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A45824u) goto L_08A45824; AOT_REGCACHE_SYNC_OUT(); return; L_08A45824: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); goto L_08A45828; L_08A45828: ctx.gpr[20] = (0u | 0u); @@ -3987,7 +3988,7 @@ L_08A45848: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 3u, 0x08910020u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A45850u) goto L_08A45850; AOT_REGCACHE_SYNC_OUT(); return; L_08A45850: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08A458EC; @@ -4010,7 +4011,7 @@ L_08A45860: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_4 = (ctx.gpr[2] + static_cast(48)); + aot_gpr_4 = (aot_gpr_2 + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -4067,10 +4068,10 @@ L_08A45860: L_08A458B4: aot_gpr_31 = (0x08A458BCu); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A458BCu) goto L_08A458BC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A458BCu) goto L_08A458BC; AOT_REGCACHE_SYNC_OUT(); return; L_08A458BC: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08A458E0; @@ -4078,7 +4079,7 @@ L_08A458BC: goto L_08A458C4; } L_08A458C4: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_6 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08A458D8u); @@ -4087,7 +4088,7 @@ L_08A458C4: AOT_REGCACHE_SYNC_OUT(); return; L_08A458D8: { const bool branch_taken = 0u == 0u; - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); if (branch_taken) { goto L_08A458E4; } @@ -4105,7 +4106,7 @@ L_08A458E4: goto L_08A458EC; } L_08A458EC: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_6 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08A45900u); @@ -4113,7 +4114,7 @@ L_08A458EC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0145_entry, 145u, 614u, 0x08A4B48Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A45900u) goto L_08A45900; AOT_REGCACHE_SYNC_OUT(); return; L_08A45900: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); goto L_08A45904; L_08A45904: { const bool branch_taken = 0u == 0u; @@ -4129,7 +4130,7 @@ L_08A4590C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A45914u) goto L_08A45914; AOT_REGCACHE_SYNC_OUT(); return; L_08A45914: - { const bool branch_taken = ctx.gpr[17] != ctx.gpr[2]; + { const bool branch_taken = ctx.gpr[17] != aot_gpr_2; // nop if (branch_taken) { goto L_08A45948; @@ -4142,7 +4143,7 @@ L_08A4591C: aot_gpr_4 = (aot_gpr_4 | 21845u); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_12 = aot_fpr_12 / aot_fpr_13; - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08A45940u); aot_gpr_6 = (ctx.gpr[18] | 0u); @@ -4150,7 +4151,7 @@ L_08A4591C: AOT_REGCACHE_SYNC_OUT(); return; L_08A45940: { const bool branch_taken = 0u == 0u; - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); if (branch_taken) { goto L_08A45A40; } @@ -4173,7 +4174,7 @@ L_08A4595C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 3u, 0x08910020u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A45964u) goto L_08A45964; AOT_REGCACHE_SYNC_OUT(); return; L_08A45964: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08A45A20; @@ -4196,7 +4197,7 @@ L_08A45974: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_4 = (ctx.gpr[2] + static_cast(48)); + aot_gpr_4 = (aot_gpr_2 + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -4276,14 +4277,14 @@ L_08A45A00: aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_14)); goto L_08A45A04; L_08A45A04: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08A45A14u); aot_gpr_6 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0145_entry, 145u, 614u, 0x08A4B48Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A45A14u) goto L_08A45A14; AOT_REGCACHE_SYNC_OUT(); return; L_08A45A14: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { @@ -4295,17 +4296,17 @@ L_08A45A20: aot_gpr_4 = (16025u << 16u); aot_gpr_4 = (aot_gpr_4 | 39322u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08A45A3Cu); aot_gpr_6 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0145_entry, 145u, 614u, 0x08A4B48Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A45A3Cu) goto L_08A45A3C; AOT_REGCACHE_SYNC_OUT(); return; L_08A45A3C: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); goto L_08A45A40; L_08A45A40: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_gpr_5 = (0u | 13u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -4329,8 +4330,8 @@ L_08A45A64: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 51u, 0x089082A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A45A70u) goto L_08A45A70; AOT_REGCACHE_SYNC_OUT(); return; L_08A45A70: - aot_gpr_4 = (ctx.gpr[2] << 5u); - aot_gpr_5 = (ctx.gpr[2] << 2u); + aot_gpr_4 = (aot_gpr_2 << 5u); + aot_gpr_5 = (aot_gpr_2 << 2u); aot_gpr_4 = (aot_gpr_4 - aot_gpr_5); aot_gpr_4 = (ctx.gpr[17] + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); @@ -4352,14 +4353,14 @@ L_08A45A9C: aot_gpr_4 = (15820u << 16u); aot_gpr_4 = (aot_gpr_4 | 52429u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08A45AB8u); aot_gpr_6 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0145_entry, 145u, 614u, 0x08A4B48Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A45AB8u) goto L_08A45AB8; AOT_REGCACHE_SYNC_OUT(); return; L_08A45AB8: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { @@ -4368,14 +4369,14 @@ L_08A45AB8: goto L_08A45AC4; } L_08A45AC4: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08A45AD4u); aot_gpr_6 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0145_entry, 145u, 683u, 0x08A4BB5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A45AD4u) goto L_08A45AD4; AOT_REGCACHE_SYNC_OUT(); return; L_08A45AD4: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { @@ -4390,8 +4391,8 @@ L_08A45AE0: AOT_REGCACHE_SYNC_OUT(); return; L_08A45AE8: ctx.gpr[19] = (0u | 1u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(12), ctx.gpr[19]); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(16), ctx.gpr[19]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(12), ctx.gpr[19]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(16), ctx.gpr[19]); { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { @@ -4400,13 +4401,13 @@ L_08A45AE8: goto L_08A45AFC; } L_08A45AFC: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A45B08u); aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0146_entry, 146u, 327u, 0x08A4E3A0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A45B08u) goto L_08A45B08; AOT_REGCACHE_SYNC_OUT(); return; L_08A45B08: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08A45B14u); aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0055_entry, 55u, 261u, 0x088E29C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A45B14u) goto L_08A45B14; @@ -4442,7 +4443,7 @@ L_08A45B24: goto L_08A45B44; } L_08A45B44: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_gpr_5 = (0u | 38u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -4458,10 +4459,10 @@ L_08A45B54: aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(456), aot_gpr_4); aot_gpr_31 = (0x08A45B6Cu); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A45B6Cu) goto L_08A45B6C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A45B6Cu) goto L_08A45B6C; AOT_REGCACHE_SYNC_OUT(); return; L_08A45B6C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08A45B78; @@ -4495,7 +4496,7 @@ L_08A45B9C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 3u, 0x08910020u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A45BA4u) goto L_08A45BA4; AOT_REGCACHE_SYNC_OUT(); return; L_08A45BA4: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08A45BDC; @@ -4508,7 +4509,7 @@ L_08A45BAC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 3u, 0x08910020u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A45BB4u) goto L_08A45BB4; AOT_REGCACHE_SYNC_OUT(); return; L_08A45BB4: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 14u); aot_gpr_4 = (aot_gpr_4 ^ 6u); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); @@ -4527,7 +4528,7 @@ L_08A45BD0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 16u, 0x08860424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A45BDCu) goto L_08A45BDC; AOT_REGCACHE_SYNC_OUT(); return; L_08A45BDC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_gpr_4 = (aot_gpr_4 + static_cast(-12)); aot_gpr_5 = (aot_gpr_4 < static_cast(26) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; @@ -4554,7 +4555,7 @@ L_08A45C08: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A45C10u) goto L_08A45C10; AOT_REGCACHE_SYNC_OUT(); return; L_08A45C10: - { const bool branch_taken = ctx.gpr[17] != ctx.gpr[2]; + { const bool branch_taken = ctx.gpr[17] != aot_gpr_2; // nop if (branch_taken) { goto L_08A45C24; @@ -4586,7 +4587,7 @@ L_08A45C2C: goto L_08A45C40; } L_08A45C40: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(12))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(12))); { const bool branch_taken = static_cast(aot_gpr_4) <= 0; // nop if (branch_taken) { @@ -4595,12 +4596,12 @@ L_08A45C40: goto L_08A45C4C; } L_08A45C4C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(12))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(12))); aot_gpr_4 = (aot_gpr_4 + static_cast(-1)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(12), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(12), aot_gpr_4); goto L_08A45C58; L_08A45C58: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(16))); { const bool branch_taken = static_cast(aot_gpr_4) <= 0; // nop if (branch_taken) { @@ -4609,7 +4610,7 @@ L_08A45C58: goto L_08A45C64; } L_08A45C64: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(16))); aot_gpr_4 = (static_cast(aot_gpr_4) < 25000 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -4661,7 +4662,7 @@ L_08A45C98: goto L_08A45CB0; } L_08A45CB0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_gpr_5 = (0u | 36u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -4671,12 +4672,12 @@ L_08A45CB0: goto L_08A45CC0; } L_08A45CC0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(16))); aot_gpr_4 = (aot_gpr_4 + static_cast(-1)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(16), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(16), aot_gpr_4); goto L_08A45CCC; L_08A45CCC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(8))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -4685,7 +4686,7 @@ L_08A45CCC: goto L_08A45CD8; } L_08A45CD8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_gpr_5 = (0u | 33u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -4706,8 +4707,8 @@ L_08A45CE8: AOT_REGCACHE_SYNC_OUT(); return; L_08A45D04: aot_gpr_4 = (0u | 1u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(8), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(12))); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(8), aot_gpr_4); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(12))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -4716,7 +4717,7 @@ L_08A45D04: goto L_08A45D18; } L_08A45D18: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(16))); { const bool branch_taken = aot_gpr_4 != 0u; ctx.gpr[18] = (0u | 1u); if (branch_taken) { @@ -4750,14 +4751,14 @@ L_08A45D5C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A45D64u) goto L_08A45D64; AOT_REGCACHE_SYNC_OUT(); return; L_08A45D64: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08A45D70u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0097_entry, 97u, 941u, 0x0898BA34u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A45D70u) goto L_08A45D70; AOT_REGCACHE_SYNC_OUT(); return; L_08A45D70: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (ctx.gpr[18] | 0u); + aot_gpr_2 = (ctx.gpr[18] | 0u); if (branch_taken) { goto L_08A45EF4; } @@ -4765,22 +4766,22 @@ L_08A45D70: } L_08A45D78: aot_gpr_4 = (0u | 2u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(8), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(8), aot_gpr_4); aot_gpr_31 = (0x08A45D88u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A45D88u) goto L_08A45D88; + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A45D88u) goto L_08A45D88; AOT_REGCACHE_SYNC_OUT(); return; L_08A45D88: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(16))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(16))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(20), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(20), aot_gpr_4); aot_gpr_31 = (0x08A45DA0u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A45DA0u) goto L_08A45DA0; AOT_REGCACHE_SYNC_OUT(); return; L_08A45DA0: - { const bool branch_taken = ctx.gpr[17] != ctx.gpr[2]; + { const bool branch_taken = ctx.gpr[17] != aot_gpr_2; // nop if (branch_taken) { goto L_08A45E00; @@ -4807,22 +4808,22 @@ L_08A45DA8: } L_08A45DD8: aot_gpr_31 = (0x08A45DE0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A45DE0u) goto L_08A45DE0; + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A45DE0u) goto L_08A45DE0; AOT_REGCACHE_SYNC_OUT(); return; L_08A45DE0: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(16))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(16))); aot_gpr_5 = (static_cast(static_cast(aot_gpr_4) >> 2u)); aot_gpr_5 = (aot_gpr_5 >> 30u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 2u)); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(20), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(20), aot_gpr_4); goto L_08A45E00; L_08A45E00: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (ctx.gpr[18] | 0u); + aot_gpr_2 = (ctx.gpr[18] | 0u); if (branch_taken) { goto L_08A45EF4; } @@ -4838,15 +4839,15 @@ L_08A45E08: } L_08A45E10: aot_gpr_31 = (0x08A45E18u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A45E18u) goto L_08A45E18; + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A45E18u) goto L_08A45E18; AOT_REGCACHE_SYNC_OUT(); return; L_08A45E18: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(12))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(12))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(20), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(20), aot_gpr_4); if (branch_taken) { goto L_08A45E34; } @@ -4854,7 +4855,7 @@ L_08A45E18: } L_08A45E2C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(20), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(20), aot_gpr_4); goto L_08A45E34; L_08A45E34: { const bool branch_taken = 0u == 0u; @@ -4865,7 +4866,7 @@ L_08A45E34: goto L_08A45E3C; } L_08A45E3C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(8))); ctx.gpr[20] = (0u | 1u); { const bool branch_taken = aot_gpr_4 == ctx.gpr[20]; // nop @@ -4876,15 +4877,15 @@ L_08A45E3C: } L_08A45E4C: aot_gpr_31 = (0x08A45E54u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A45E54u) goto L_08A45E54; + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A45E54u) goto L_08A45E54; AOT_REGCACHE_SYNC_OUT(); return; L_08A45E54: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(16))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(16))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(20), aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(8), ctx.gpr[20]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(20), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(8), ctx.gpr[20]); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 14u); aot_gpr_4 = (aot_gpr_4 ^ 6u); @@ -4898,7 +4899,7 @@ L_08A45E54: goto L_08A45E84; } L_08A45E84: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_gpr_5 = (0u | 11u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -4910,7 +4911,7 @@ L_08A45E84: L_08A45E94: aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_gpr_6 = (aot_gpr_6 << 8u); aot_fpr_12 = std::bit_cast(aot_gpr_6); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); @@ -4921,13 +4922,13 @@ L_08A45E94: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 503u, 0x08A05F80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A45EBCu) goto L_08A45EBC; AOT_REGCACHE_SYNC_OUT(); return; L_08A45EBC: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08A45ECCu); aot_gpr_6 = (ctx.gpr[18] | 0u); goto L_08A46364; L_08A45ECC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -4936,7 +4937,7 @@ L_08A45ECC: goto L_08A45ED8; } L_08A45ED8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_gpr_5 = (0u | 6u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -4947,21 +4948,21 @@ L_08A45ED8: } L_08A45EE8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_08A45EF4; } goto L_08A45EF0; } L_08A45EF0: - ctx.gpr[2] = (ctx.gpr[19] | 0u); + aot_gpr_2 = (ctx.gpr[19] | 0u); goto L_08A45EF4; L_08A45EF4: { std::uint32_t aot_run_words[9]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(172), aot_run_words); ctx.fpr[20] = std::bit_cast(aot_run_words[0]); aot_fpr_22 = std::bit_cast(aot_run_words[1]); - aot_gpr_16 = aot_run_words[2]; + ctx.gpr[16] = aot_run_words[2]; ctx.gpr[17] = aot_run_words[3]; ctx.gpr[18] = aot_run_words[4]; ctx.gpr[19] = aot_run_words[5]; @@ -4977,18 +4978,18 @@ L_08A45EF4: AOT_REGCACHE_SYNC_OUT(); return; L_08A45F20: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - { const std::uint32_t aot_run_words[6]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; + { const std::uint32_t aot_run_words[6]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } ctx.gpr[18] = (aot_gpr_6 | 0u); ctx.gpr[17] = (aot_gpr_5 | 0u); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_31 = (0x08A45F50u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A45F50u) goto L_08A45F50; + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A45F50u) goto L_08A45F50; AOT_REGCACHE_SYNC_OUT(); return; L_08A45F50: - ctx.gpr[19] = (ctx.gpr[2] | 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); + ctx.gpr[19] = (aot_gpr_2 | 0u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(8))); aot_gpr_5 = (static_cast(aot_gpr_4) < 3 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_5 = (static_cast(aot_gpr_4) < 4 ? 1u : 0u); @@ -5038,7 +5039,7 @@ L_08A45F84: goto L_08A45F8C; } L_08A45F8C: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(8), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(8), 0u); { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { @@ -5047,9 +5048,9 @@ L_08A45F8C: goto L_08A45F98; } L_08A45F98: - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_gpr_5 = (0u | 23u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(20))); { const bool branch_taken = ctx.gpr[7] == aot_gpr_5; aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); if (branch_taken) { @@ -5118,7 +5119,7 @@ L_08A45FF8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 503u, 0x08A05F80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A46018u) goto L_08A46018; AOT_REGCACHE_SYNC_OUT(); return; L_08A46018: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(20))); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); goto L_08A46020; L_08A46020: @@ -5140,7 +5141,7 @@ L_08A4602C: goto L_08A46038; } L_08A46038: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(16))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -5150,9 +5151,9 @@ L_08A46038: } L_08A46044: aot_gpr_4 = (0u | 3u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(8), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(8), aot_gpr_4); aot_gpr_31 = (0x08A46054u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0059_entry, 59u, 664u, 0x088F3578u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A46054u) goto L_08A46054; AOT_REGCACHE_SYNC_OUT(); return; L_08A46054: @@ -5164,7 +5165,7 @@ L_08A46054: goto L_08A4605C; } L_08A4605C: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(8), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(8), 0u); goto L_08A46060; L_08A46060: { const bool branch_taken = 0u == 0u; @@ -5183,7 +5184,7 @@ L_08A46068: goto L_08A46070; } L_08A46070: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_gpr_4 = (static_cast(aot_gpr_4) < 40 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -5234,10 +5235,10 @@ L_08A460A4: L_08A460D4: aot_gpr_31 = (0x08A460DCu); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A460DCu) goto L_08A460DC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A460DCu) goto L_08A460DC; AOT_REGCACHE_SYNC_OUT(); return; L_08A460DC: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08A46148; @@ -5259,10 +5260,10 @@ L_08A460E4: L_08A46104: aot_gpr_31 = (0x08A4610Cu); aot_gpr_5 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4610Cu) goto L_08A4610C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0886D4BC, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4610Cu) goto L_08A4610C; AOT_REGCACHE_SYNC_OUT(); return; L_08A4610C: - ctx.gpr[20] = (ctx.gpr[2] | 0u); + ctx.gpr[20] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[20] != 0u; // nop if (branch_taken) { @@ -5286,10 +5287,10 @@ L_08A46138: aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_31 = (0x08A46144u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A46144u) goto L_08A46144; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0886D4BC, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A46144u) goto L_08A46144; AOT_REGCACHE_SYNC_OUT(); return; L_08A46144: - ctx.gpr[20] = (ctx.gpr[2] | 0u); + ctx.gpr[20] = (aot_gpr_2 | 0u); goto L_08A46148; L_08A46148: { const bool branch_taken = ctx.gpr[20] == 0u; @@ -5424,7 +5425,7 @@ L_08A46228: } L_08A46248: aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_fpr_12 = std::bit_cast(aot_gpr_5); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_gpr_5 = (16256u << 16u); @@ -5435,7 +5436,7 @@ L_08A46248: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 503u, 0x08A05F80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4626Cu) goto L_08A4626C; AOT_REGCACHE_SYNC_OUT(); return; L_08A4626C: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(20))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_5 = (aot_gpr_5 < aot_gpr_4 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; @@ -5463,7 +5464,7 @@ L_08A46280: goto L_08A462AC; } L_08A462AC: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(20), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(20), aot_gpr_4); goto L_08A462B0; L_08A462B0: { const bool branch_taken = 0u == 0u; @@ -5474,8 +5475,8 @@ L_08A462B0: goto L_08A462B8; } L_08A462B8: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(20))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_gpr_6 = (aot_gpr_4 + aot_gpr_4); ctx.gpr[7] = (2234u << 16u); ctx.gpr[7] = (ctx.gpr[7] + static_cast(13600)); @@ -5514,7 +5515,7 @@ L_08A462F8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 503u, 0x08A05F80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4631Cu) goto L_08A4631C; AOT_REGCACHE_SYNC_OUT(); return; L_08A4631C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(20))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_4 = (aot_gpr_4 < aot_gpr_5 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; @@ -5526,11 +5527,11 @@ L_08A4631C: } L_08A46330: aot_gpr_31 = (0x08A46338u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0143_entry, 143u, 212u, 0x08A40FCCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A46338u) goto L_08A46338; AOT_REGCACHE_SYNC_OUT(); return; L_08A46338: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(8), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(8), 0u); goto L_08A4633C; L_08A4633C: { const bool branch_taken = 0u == 0u; @@ -5543,7 +5544,7 @@ L_08A4633C: L_08A46344: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -5558,17 +5559,17 @@ L_08A46344: AOT_REGCACHE_SYNC_OUT(); return; L_08A46364: aot_gpr_29 = (aot_gpr_29 + static_cast(-1056)); - { const std::uint32_t aot_run_words[14]{std::bit_cast(ctx.fpr[20]), std::bit_cast(aot_fpr_22), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; + { const std::uint32_t aot_run_words[14]{std::bit_cast(ctx.fpr[20]), std::bit_cast(aot_fpr_22), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(988), aot_run_words); } ctx.gpr[30] = (aot_gpr_6 | 0u); ctx.gpr[20] = (aot_gpr_5 | 0u); ctx.gpr[18] = (aot_gpr_4 | 0u); aot_gpr_31 = (0x08A463B4u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A463B4u) goto L_08A463B4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A463B4u) goto L_08A463B4; AOT_REGCACHE_SYNC_OUT(); return; L_08A463B4: - ctx.gpr[23] = (ctx.gpr[2] | 0u); + ctx.gpr[23] = (aot_gpr_2 | 0u); aot_gpr_4 = (0u | 0u); aot_gpr_5 = (0u | 0u); aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(970), static_cast(aot_gpr_4)); @@ -5579,7 +5580,7 @@ L_08A463B4: aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); aot_gpr_5 = (aot_gpr_5 & 255u); { const bool branch_taken = aot_gpr_5 != 0u; - aot_gpr_16 = (ctx.gpr[20] | 0u); + ctx.gpr[16] = (ctx.gpr[20] | 0u); if (branch_taken) { goto L_08A463FC; } @@ -5629,10 +5630,10 @@ L_08A46420: L_08A46440: aot_gpr_31 = (0x08A46448u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A46448u) goto L_08A46448; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0886D4BC, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A46448u) goto L_08A46448; AOT_REGCACHE_SYNC_OUT(); return; L_08A46448: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08A46458; @@ -5649,8 +5650,8 @@ L_08A46458: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A46460u) goto L_08A46460; AOT_REGCACHE_SYNC_OUT(); return; L_08A46460: - if (aot_gpr_16 != ctx.gpr[2]) { - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(964), aot_gpr_16); + if (ctx.gpr[16] != aot_gpr_2) { + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(964), ctx.gpr[16]); goto L_08A46538; } goto L_08A46468; @@ -5728,7 +5729,7 @@ L_08A464D8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); aot_gpr_5 = (0u | 11u); if (aot_gpr_4 != aot_gpr_5) { - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(964), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(964), ctx.gpr[16]); goto L_08A46538; } goto L_08A464E8; @@ -5768,20 +5769,20 @@ L_08A4650C: AOT_REGCACHE_SYNC_OUT(); return; L_08A46514: aot_gpr_31 = (0x08A4651Cu); - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4651Cu) goto L_08A4651C; AOT_REGCACHE_SYNC_OUT(); return; L_08A4651C: aot_gpr_4 = (0u | 4u); aot_gpr_5 = (0u | 1u); aot_gpr_6 = (ctx.gpr[17] | 0u); - ctx.gpr[7] = (ctx.gpr[2] | 0u); + ctx.gpr[7] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08A46534u); ctx.gpr[8] = (0u | 1000u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0095_entry, 95u, 24u, 0x0898019Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A46534u) goto L_08A46534; AOT_REGCACHE_SYNC_OUT(); return; L_08A46534: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(964), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(964), ctx.gpr[16]); goto L_08A46538; L_08A46538: aot_gpr_4 = (0u | 0u); @@ -5790,7 +5791,7 @@ L_08A46538: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A46544u) goto L_08A46544; AOT_REGCACHE_SYNC_OUT(); return; L_08A46544: - if (aot_gpr_16 != ctx.gpr[2]) { + if (ctx.gpr[16] != aot_gpr_2) { aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(956), ctx.gpr[30]); goto L_08A46570; } @@ -5802,11 +5803,11 @@ L_08A4654C: AOT_REGCACHE_SYNC_OUT(); return; L_08A46554: aot_gpr_31 = (0x08A4655Cu); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 707u, 0x089476BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4655Cu) goto L_08A4655C; AOT_REGCACHE_SYNC_OUT(); return; L_08A4655C: - if (ctx.gpr[2] == 0u) { + if (aot_gpr_2 == 0u) { aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(956), ctx.gpr[30]); goto L_08A46570; } @@ -5832,7 +5833,7 @@ L_08A46570: } L_08A46590: ctx.gpr[21] = (0u | 0u); - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); ctx.gpr[17] = (0u | 0u); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(954))); aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[20] + static_cast(1914))); @@ -5847,9 +5848,9 @@ L_08A46590: L_08A465B0: aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (ctx.gpr[20] + aot_gpr_4); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1784))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1784))); { const bool branch_taken = 0u == 0u; - ctx.gpr[22] = (aot_gpr_16 | 0u); + ctx.gpr[22] = (ctx.gpr[16] | 0u); if (branch_taken) { goto L_08A465DC; } @@ -5864,14 +5865,14 @@ L_08A465C4: ctx.gpr[22] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(112))); goto L_08A465DC; L_08A465DC: - if (aot_gpr_16 == 0u) { + if (ctx.gpr[16] == 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); goto L_08A465EC; } goto L_08A465E4; L_08A465E4: { const bool branch_taken = 0u == 0u; - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1360))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1360))); if (branch_taken) { goto L_08A46618; } @@ -5891,7 +5892,7 @@ L_08A465F4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A46604u) goto L_08A46604; AOT_REGCACHE_SYNC_OUT(); return; L_08A46604: - aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(96), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(592))); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); @@ -5900,7 +5901,7 @@ L_08A46614: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(182))); goto L_08A46618; L_08A46618: - { const bool branch_taken = aot_gpr_16 == 0u; + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08A4666C; @@ -5920,7 +5921,7 @@ L_08A4662C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 3u, 0x08910020u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A46634u) goto L_08A46634; AOT_REGCACHE_SYNC_OUT(); return; L_08A46634: - { const bool branch_taken = aot_gpr_16 != ctx.gpr[2]; + { const bool branch_taken = ctx.gpr[16] != aot_gpr_2; // nop if (branch_taken) { goto L_08A46648; @@ -5931,7 +5932,7 @@ L_08A4663C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(676))); goto L_08A46640; L_08A46640: - { const bool branch_taken = aot_gpr_16 != aot_gpr_4; + { const bool branch_taken = ctx.gpr[16] != aot_gpr_4; // nop if (branch_taken) { goto L_08A4666C; @@ -5941,10 +5942,10 @@ L_08A46640: L_08A46648: aot_gpr_31 = (0x08A46650u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A46650u) goto L_08A46650; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A46650u) goto L_08A46650; AOT_REGCACHE_SYNC_OUT(); return; L_08A46650: - aot_gpr_4 = (ctx.gpr[2] & 65535u); + aot_gpr_4 = (aot_gpr_2 & 65535u); aot_gpr_4 = (aot_gpr_4 & 31u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -5968,7 +5969,7 @@ L_08A4666C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 319u, 0x0890D46Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A46674u) goto L_08A46674; AOT_REGCACHE_SYNC_OUT(); return; L_08A46674: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08A466A0; @@ -5976,8 +5977,8 @@ L_08A46674: goto L_08A4667C; } L_08A4667C: - { const bool branch_taken = aot_gpr_16 == 0u; - aot_gpr_4 = (aot_gpr_16 | 0u); + { const bool branch_taken = ctx.gpr[16] == 0u; + aot_gpr_4 = (ctx.gpr[16] | 0u); if (branch_taken) { goto L_08A466A0; } @@ -5989,7 +5990,7 @@ L_08A46684: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 762u, 0x089AB910u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4668Cu) goto L_08A4668C; AOT_REGCACHE_SYNC_OUT(); return; L_08A4668C: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08A466A0; @@ -6006,14 +6007,14 @@ L_08A46694: goto L_08A466A0; } L_08A466A0: - if (aot_gpr_16 == 0u) { + if (ctx.gpr[16] == 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); goto L_08A466B0; } goto L_08A466A8; L_08A466A8: { const bool branch_taken = 0u == 0u; - ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2228))); + ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2228))); if (branch_taken) { goto L_08A466DC; } @@ -6033,7 +6034,7 @@ L_08A466B8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A466C8u) goto L_08A466C8; AOT_REGCACHE_SYNC_OUT(); return; L_08A466C8: - aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(96), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(593))); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); @@ -6196,7 +6197,7 @@ L_08A467D0: goto L_08A467D8; } L_08A467D8: - { const bool branch_taken = aot_gpr_16 == 0u; + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08A4681C; @@ -6204,7 +6205,7 @@ L_08A467D8: goto L_08A467E0; } L_08A467E0: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(456))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(456))); ctx.gpr[7] = (8192u << 16u); aot_gpr_6 = (aot_gpr_6 & ctx.gpr[7]); { const bool branch_taken = aot_gpr_6 != 0u; @@ -6215,7 +6216,7 @@ L_08A467E0: goto L_08A467F4; } L_08A467F4: - { const bool branch_taken = aot_gpr_16 == 0u; + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08A46854; @@ -6223,7 +6224,7 @@ L_08A467F4: goto L_08A467FC; } L_08A467FC: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2236))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2236))); ctx.gpr[7] = (0u | 28u); { const bool branch_taken = aot_gpr_6 == ctx.gpr[7]; // nop @@ -6233,7 +6234,7 @@ L_08A467FC: goto L_08A4680C; } L_08A4680C: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2236))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2236))); ctx.gpr[7] = (0u | 24u); { const bool branch_taken = aot_gpr_6 != ctx.gpr[7]; // nop @@ -6265,7 +6266,7 @@ L_08A46840: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0063_entry, 63u, 678u, 0x08903BB0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A46848u) goto L_08A46848; AOT_REGCACHE_SYNC_OUT(); return; L_08A46848: - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); { const bool branch_taken = 0u == 0u; aot_gpr_4 = (0u | 1u); if (branch_taken) { @@ -6508,7 +6509,7 @@ L_08A4698C: goto L_08A469A4; } L_08A469A4: - { const bool branch_taken = aot_gpr_16 == 0u; + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08A469BC; @@ -6517,11 +6518,11 @@ L_08A469A4: } L_08A469AC: aot_gpr_31 = (0x08A469B4u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A469B4u) goto L_08A469B4; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A469B4u) goto L_08A469B4; AOT_REGCACHE_SYNC_OUT(); return; L_08A469B4: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; aot_gpr_4 = (0u | 46u); if (branch_taken) { goto L_08A469D8; @@ -6565,14 +6566,14 @@ L_08A469E4: goto L_08A469EC; } L_08A469EC: - if (aot_gpr_16 == 0u) { + if (ctx.gpr[16] == 0u) { ctx.fpr[20] = std::bit_cast(0u); goto L_08A469FC; } goto L_08A469F4; L_08A469F4: { const bool branch_taken = 0u == 0u; - ctx.fpr[20] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1252))); + ctx.fpr[20] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1252))); if (branch_taken) { goto L_08A469FC; } @@ -6635,7 +6636,7 @@ L_08A469FC: aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); aot_fpr_12 = aot_fpr_12 - aot_fpr_14; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(180), std::bit_cast(aot_fpr_12)); - { const bool branch_taken = aot_gpr_16 == 0u; + { const bool branch_taken = ctx.gpr[16] == 0u; aot_gpr_5 = (aot_gpr_29 + static_cast(176)); if (branch_taken) { goto L_08A46A7C; @@ -6644,12 +6645,12 @@ L_08A469FC: } L_08A46A6C: aot_gpr_31 = (0x08A46A74u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 618u, 0x08906DC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A46A74u) goto L_08A46A74; AOT_REGCACHE_SYNC_OUT(); return; L_08A46A74: { const bool branch_taken = 0u == 0u; - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (branch_taken) { goto L_08A46AB8; } @@ -6670,7 +6671,7 @@ L_08A46A88: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A46A98u) goto L_08A46A98; AOT_REGCACHE_SYNC_OUT(); return; L_08A46A98: - aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(96), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(704))); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); @@ -6682,7 +6683,7 @@ L_08A46AA8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 605u, 0x08906CD8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A46AB4u) goto L_08A46AB4; AOT_REGCACHE_SYNC_OUT(); return; L_08A46AB4: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); goto L_08A46AB8; L_08A46AB8: aot_gpr_4 = (aot_gpr_4 & 255u); @@ -6780,11 +6781,11 @@ L_08A46B3C: goto L_08A46B54; } L_08A46B54: - aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(336), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(336), ctx.gpr[16]); goto L_08A46B58; L_08A46B58: aot_gpr_4 = (0u | 3u); - { const bool branch_taken = aot_gpr_16 == 0u; + { const bool branch_taken = ctx.gpr[16] == 0u; aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(970), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08A46C50; @@ -6793,11 +6794,11 @@ L_08A46B58: } L_08A46B64: aot_gpr_31 = (0x08A46B6Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 195u, 0x08910B38u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A46B6Cu) goto L_08A46B6C; AOT_REGCACHE_SYNC_OUT(); return; L_08A46B6C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08A46C1C; @@ -6805,7 +6806,7 @@ L_08A46B6C: goto L_08A46B74; } L_08A46B74: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1152))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1152))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -6814,18 +6815,18 @@ L_08A46B74: goto L_08A46B80; } L_08A46B80: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1152))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1152))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(852))); aot_gpr_5 = (0u | 6u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; - ctx.gpr[7] = (aot_gpr_16 | 0u); + ctx.gpr[7] = (ctx.gpr[16] | 0u); if (branch_taken) { goto L_08A46BAC; } goto L_08A46B94; } L_08A46B94: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1152))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1152))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(852))); aot_gpr_5 = (0u | 2u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; @@ -6836,20 +6837,20 @@ L_08A46B94: goto L_08A46BA8; } L_08A46BA8: - ctx.gpr[7] = (aot_gpr_16 | 0u); + ctx.gpr[7] = (ctx.gpr[16] | 0u); goto L_08A46BAC; L_08A46BAC: - aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(1152))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(1152))); aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(952))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); aot_gpr_6 = (aot_gpr_6 & 255u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A46BC8u); ctx.gpr[8] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0192_entry, 192u, 212u, 0x08B04D14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A46BC8u) goto L_08A46BC8; AOT_REGCACHE_SYNC_OUT(); return; L_08A46BC8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(900))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -6858,7 +6859,7 @@ L_08A46BC8: goto L_08A46BD4; } L_08A46BD4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(900))); aot_gpr_31 = (0x08A46BE0u); aot_gpr_5 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0077_entry, 77u, 108u, 0x089387ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A46BE0u) goto L_08A46BE0; @@ -6872,13 +6873,13 @@ L_08A46BE0: goto L_08A46BE8; } L_08A46BE8: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A46BF4u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A46BF4u) goto L_08A46BF4; AOT_REGCACHE_SYNC_OUT(); return; L_08A46BF4: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08A46C14; @@ -6886,13 +6887,13 @@ L_08A46BF4: goto L_08A46BFC; } L_08A46BFC: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A46C08u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A46C08u) goto L_08A46C08; AOT_REGCACHE_SYNC_OUT(); return; L_08A46C08: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08A46C14u); aot_gpr_5 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0077_entry, 77u, 108u, 0x089387ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A46C14u) goto L_08A46C14; @@ -6906,7 +6907,7 @@ L_08A46C14: goto L_08A46C1C; } L_08A46C1C: - { const bool branch_taken = aot_gpr_16 == 0u; + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08A46C50; @@ -6914,7 +6915,7 @@ L_08A46C1C: goto L_08A46C24; } L_08A46C24: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2228))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2228))); aot_gpr_5 = (0u | 57u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -6924,7 +6925,7 @@ L_08A46C24: goto L_08A46C34; } L_08A46C34: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2228))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2228))); aot_gpr_5 = (0u | 58u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -6934,7 +6935,7 @@ L_08A46C34: goto L_08A46C44; } L_08A46C44: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A46C50u); aot_gpr_5 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0077_entry, 77u, 108u, 0x089387ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A46C50u) goto L_08A46C50; @@ -6960,10 +6961,10 @@ L_08A46C60: L_08A46C68: aot_gpr_31 = (0x08A46C70u); aot_gpr_4 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A46C70u) goto L_08A46C70; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A46C70u) goto L_08A46C70; AOT_REGCACHE_SYNC_OUT(); return; L_08A46C70: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08A46C94; @@ -6998,10 +6999,10 @@ L_08A46C8C: L_08A46C94: aot_gpr_31 = (0x08A46C9Cu); aot_gpr_4 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A46C9Cu) goto L_08A46C9C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A46C9Cu) goto L_08A46C9C; AOT_REGCACHE_SYNC_OUT(); return; L_08A46C9C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08A46D08; @@ -7064,7 +7065,7 @@ L_08A46D00: goto L_08A46D08; } L_08A46D08: - { const bool branch_taken = aot_gpr_16 == 0u; + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08A46D20; @@ -7073,11 +7074,11 @@ L_08A46D08: } L_08A46D10: aot_gpr_31 = (0x08A46D18u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A46D18u) goto L_08A46D18; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A46D18u) goto L_08A46D18; AOT_REGCACHE_SYNC_OUT(); return; L_08A46D18: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08A46D38; @@ -7158,10 +7159,10 @@ L_08A46D8C: L_08A46D94: aot_gpr_31 = (0x08A46D9Cu); aot_gpr_4 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A46D9Cu) goto L_08A46D9C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A46D9Cu) goto L_08A46D9C; AOT_REGCACHE_SYNC_OUT(); return; L_08A46D9C: - if (ctx.gpr[2] == 0u) { + if (aot_gpr_2 == 0u) { aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(960))); goto L_08A46DBC; } @@ -7210,7 +7211,7 @@ L_08A46DD0: } goto L_08A46DE8; L_08A46DE8: - { const bool branch_taken = aot_gpr_16 == 0u; + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08A46E18; @@ -7224,7 +7225,7 @@ L_08A46DF0: aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); ctx.gpr[8] = (ctx.gpr[8] & 255u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(964))); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x08A46E18u); ctx.gpr[9] = (0u | 0u); @@ -7245,7 +7246,7 @@ L_08A46E24: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 50u, 0x08AD0530u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A46E2Cu) goto L_08A46E2C; AOT_REGCACHE_SYNC_OUT(); return; L_08A46E2C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08A4736C; @@ -7346,7 +7347,7 @@ L_08A46F00: aot_gpr_4 = (aot_gpr_4 | 52429u); aot_gpr_31 = (0x08A46F20u); ctx.fpr[24] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A46F20u) goto L_08A46F20; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A46F20u) goto L_08A46F20; AOT_REGCACHE_SYNC_OUT(); return; L_08A46F20: aot_fpr_12 = ctx.fpr[24] - aot_fpr_22; @@ -7357,7 +7358,7 @@ L_08A46F20: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(192), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08A46F40u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A46F40u) goto L_08A46F40; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A46F40u) goto L_08A46F40; AOT_REGCACHE_SYNC_OUT(); return; L_08A46F40: aot_fpr_12 = ctx.fpr[24] - aot_fpr_22; @@ -7384,7 +7385,7 @@ L_08A46F40: L_08A46F8C: aot_gpr_31 = (0x08A46F94u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A46F94u) goto L_08A46F94; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A46F94u) goto L_08A46F94; AOT_REGCACHE_SYNC_OUT(); return; L_08A46F94: aot_fpr_12 = ctx.fpr[24] - aot_fpr_22; @@ -7395,7 +7396,7 @@ L_08A46F94: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(192), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08A46FB4u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A46FB4u) goto L_08A46FB4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A46FB4u) goto L_08A46FB4; AOT_REGCACHE_SYNC_OUT(); return; L_08A46FB4: aot_fpr_12 = ctx.fpr[24] - aot_fpr_22; @@ -7676,20 +7677,20 @@ L_08A47200: L_08A47224: aot_gpr_31 = (0x08A4722Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4722Cu) goto L_08A4722C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4722Cu) goto L_08A4722C; AOT_REGCACHE_SYNC_OUT(); return; L_08A4722C: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 0u); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-6276))); aot_gpr_31 = (0x08A47240u); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-6280))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A47240u) goto L_08A47240; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A47240u) goto L_08A47240; AOT_REGCACHE_SYNC_OUT(); return; L_08A47240: ctx.gpr[1] = (ctx.gpr[3] << 1u); aot_gpr_5 = (static_cast(static_cast(ctx.gpr[3]) >> 31u)); - aot_gpr_4 = (ctx.gpr[2] >> 31u); + aot_gpr_4 = (aot_gpr_2 >> 31u); aot_gpr_4 = (ctx.gpr[1] | aot_gpr_4); aot_gpr_4 = (aot_gpr_4 | 0u); { const bool branch_taken = 0u == 0u; @@ -7831,7 +7832,7 @@ L_08A47368: ctx.gpr[21] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(972))); goto L_08A4736C; L_08A4736C: - { const bool branch_taken = aot_gpr_16 == 0u; + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08A4768C; @@ -7864,7 +7865,7 @@ L_08A47388: goto L_08A47390; } L_08A47390: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1252))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1252))); aot_fpr_13 = std::bit_cast(0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); // nop @@ -7876,7 +7877,7 @@ L_08A47390: goto L_08A473A8; } L_08A473A8: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1252))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1252))); aot_gpr_4 = (16880u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); @@ -7901,11 +7902,11 @@ L_08A473C4: } L_08A473D8: aot_gpr_31 = (0x08A473E0u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A473E0u) goto L_08A473E0; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A473E0u) goto L_08A473E0; AOT_REGCACHE_SYNC_OUT(); return; L_08A473E0: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08A4768C; @@ -7975,11 +7976,11 @@ L_08A47434: L_08A47470: aot_gpr_4 = (0u | 0u); aot_gpr_4 = (aot_gpr_4 & 1u); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(456))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(456))); aot_gpr_6 = (0u + static_cast(-2)); aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); aot_gpr_4 = (aot_gpr_5 | aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(456), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(456), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); aot_gpr_5 = (0u | 11u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; @@ -8002,7 +8003,7 @@ L_08A4749C: aot_fpr_14 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(312), std::bit_cast(aot_fpr_14)); aot_gpr_31 = (0x08A474D0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 600u, 0x08A66CD8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A474D0u) goto L_08A474D0; AOT_REGCACHE_SYNC_OUT(); return; L_08A474D0: @@ -8026,7 +8027,7 @@ L_08A474D8: aot_fpr_14 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(328), std::bit_cast(aot_fpr_14)); aot_gpr_31 = (0x08A4750Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 600u, 0x08A66CD8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4750Cu) goto L_08A4750C; AOT_REGCACHE_SYNC_OUT(); return; L_08A4750C: @@ -8037,11 +8038,11 @@ L_08A4750C: goto L_08A47514; L_08A47514: aot_gpr_31 = (0x08A4751Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4751Cu) goto L_08A4751C; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4751Cu) goto L_08A4751C; AOT_REGCACHE_SYNC_OUT(); return; L_08A4751C: - if (ctx.gpr[2] != 0u) { + if (aot_gpr_2 != 0u) { aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(952))); goto L_08A47544; } @@ -8049,7 +8050,7 @@ L_08A4751C: L_08A47524: aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(952))); aot_gpr_6 = (aot_gpr_6 + static_cast(28)); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 3000u); aot_gpr_31 = (0x08A4753Cu); ctx.gpr[7] = (0u | 0u); @@ -8065,7 +8066,7 @@ L_08A4753C: } L_08A47544: aot_gpr_6 = (aot_gpr_6 + static_cast(28)); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 1500u); aot_gpr_31 = (0x08A47558u); ctx.gpr[7] = (0u | 0u); @@ -8074,7 +8075,7 @@ L_08A47544: L_08A47558: aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08A47564u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 50u, 0x0891034Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A47564u) goto L_08A47564; AOT_REGCACHE_SYNC_OUT(); return; L_08A47564: @@ -8086,7 +8087,7 @@ L_08A47564: goto L_08A4756C; } L_08A4756C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2228))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2228))); aot_gpr_5 = (0u | 57u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -8149,11 +8150,11 @@ L_08A475BC: L_08A475F8: aot_gpr_4 = (0u | 0u); aot_gpr_4 = (aot_gpr_4 & 1u); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(456))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(456))); aot_gpr_6 = (0u + static_cast(-2)); aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); aot_gpr_4 = (aot_gpr_5 | aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(456), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(456), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); aot_gpr_5 = (0u | 11u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; @@ -8174,7 +8175,7 @@ L_08A47624: aot_fpr_14 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(344), std::bit_cast(aot_fpr_14)); aot_gpr_31 = (0x08A47650u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 600u, 0x08A66CD8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A47650u) goto L_08A47650; AOT_REGCACHE_SYNC_OUT(); return; L_08A47650: @@ -8198,13 +8199,13 @@ L_08A47658: aot_fpr_14 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(360), std::bit_cast(aot_fpr_14)); aot_gpr_31 = (0x08A4768Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 600u, 0x08A66CD8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4768Cu) goto L_08A4768C; AOT_REGCACHE_SYNC_OUT(); return; L_08A4768C: aot_gpr_4 = (0u | 4u); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(8), aot_gpr_4); - { const bool branch_taken = aot_gpr_16 == 0u; + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08A4777C; @@ -8252,7 +8253,7 @@ L_08A476CC: goto L_08A476DC; } L_08A476DC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1360))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1360))); aot_gpr_5 = (0u | 6u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -8264,7 +8265,7 @@ L_08A476DC: L_08A476EC: aot_gpr_4 = (0u | 18u); aot_gpr_5 = (0u | 1u); - aot_gpr_6 = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); ctx.gpr[7] = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08A47704u); ctx.gpr[8] = (0u | 2000u); @@ -8281,7 +8282,7 @@ L_08A47704: L_08A4770C: aot_gpr_4 = (0u | 17u); aot_gpr_5 = (0u | 1u); - aot_gpr_6 = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); ctx.gpr[7] = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08A47724u); ctx.gpr[8] = (0u | 2000u); @@ -8296,7 +8297,7 @@ L_08A47724: goto L_08A4772C; } L_08A4772C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1360))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1360))); aot_gpr_5 = (0u | 6u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -8308,7 +8309,7 @@ L_08A4772C: L_08A4773C: aot_gpr_4 = (0u | 3u); aot_gpr_5 = (0u | 1u); - aot_gpr_6 = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); ctx.gpr[7] = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08A47754u); ctx.gpr[8] = (0u | 2000u); @@ -8325,7 +8326,7 @@ L_08A47754: L_08A4775C: aot_gpr_4 = (0u | 1u); aot_gpr_5 = (0u | 1u); - aot_gpr_6 = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); ctx.gpr[7] = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08A47774u); ctx.gpr[8] = (0u | 2000u); @@ -8547,7 +8548,7 @@ L_08A4798C: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast(32))); - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); aot_gpr_5 = (0u | 0u); aot_gpr_6 = (0u | 0u); ctx.gpr[7] = (0u | 0u); @@ -8555,14 +8556,14 @@ L_08A4798C: ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[11] = (0u | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_2); aot_gpr_31 = (0x08A479CCu); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0037_entry, 37u, 487u, 0x0889ACD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A479CCu) goto L_08A479CC; AOT_REGCACHE_SYNC_OUT(); return; L_08A479CC: - aot_gpr_16 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08A47C74; @@ -8570,7 +8571,7 @@ L_08A479CC: goto L_08A479D8; } L_08A479D8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 14u); aot_gpr_4 = (aot_gpr_4 ^ 14u); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); @@ -8583,8 +8584,8 @@ L_08A479D8: goto L_08A479F4; } L_08A479F4: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(352))); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(352))); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08A47A2C; @@ -8592,11 +8593,11 @@ L_08A479F4: goto L_08A47A00; } L_08A47A00: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(108))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(108))); ctx.gpr[17] = (aot_gpr_4 + static_cast(16)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(0)))))); aot_gpr_31 = (0x08A47A14u); - ctx.gpr[19] = (aot_gpr_16 + aot_gpr_4); + ctx.gpr[19] = (ctx.gpr[16] + aot_gpr_4); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0158_entry, 158u, 666u, 0x08A7FAA4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A47A14u) goto L_08A47A14; AOT_REGCACHE_SYNC_OUT(); return; L_08A47A14: @@ -8604,12 +8605,12 @@ L_08A47A14: aot_gpr_4 = (ctx.gpr[19] | 0u); jump_target = aot_gpr_6; aot_gpr_31 = (0x08A47A24u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A47A24u) goto L_08A47A24; AOT_REGCACHE_SYNC_OUT(); return; L_08A47A24: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08A47A34; @@ -8618,14 +8619,14 @@ L_08A47A24: } L_08A47A2C: { const bool branch_taken = 0u == 0u; - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); if (branch_taken) { goto L_08A47A34; } goto L_08A47A34; } L_08A47A34: - { const bool branch_taken = aot_gpr_16 == 0u; + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08A47C74; @@ -8676,7 +8677,7 @@ L_08A47A3C: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(442), static_cast(aot_gpr_4)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(443), static_cast(aot_gpr_5)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(444), static_cast(aot_gpr_6)); - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(8))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(8))); aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(450), static_cast(aot_gpr_4)); aot_gpr_31 = (0x08A47AF8u); // nop @@ -8689,7 +8690,7 @@ L_08A47AF8: aot_gpr_6 = (aot_gpr_5 + static_cast(4)); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); { const bool branch_taken = aot_gpr_6 == 0u; - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (branch_taken) { goto L_08A47B48; } @@ -8841,7 +8842,7 @@ L_08A47C1C: aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); aot_gpr_5 = (aot_gpr_29 + static_cast(418)); aot_gpr_31 = (0x08A47C74u); - aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(3)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(3)))))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 189u, 0x08ADCA34u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A47C74u) goto L_08A47C74; AOT_REGCACHE_SYNC_OUT(); return; L_08A47C74: @@ -8873,8 +8874,8 @@ L_08A47C74: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0037_entry, 37u, 487u, 0x0889ACD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A47CACu) goto L_08A47CAC; AOT_REGCACHE_SYNC_OUT(); return; L_08A47CAC: - aot_gpr_16 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0145_entry, 145u, 30u, 0x08A481F8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; @@ -8882,7 +8883,7 @@ L_08A47CAC: goto L_08A47CB8; } L_08A47CB8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(852))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -8898,7 +8899,7 @@ L_08A47CC4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A47CD4u) goto L_08A47CD4; AOT_REGCACHE_SYNC_OUT(); return; L_08A47CD4: - { const bool branch_taken = ctx.gpr[20] != ctx.gpr[2]; + { const bool branch_taken = ctx.gpr[20] != aot_gpr_2; // nop if (branch_taken) { goto L_08A47D24; @@ -8907,11 +8908,11 @@ L_08A47CD4: } L_08A47CDC: aot_gpr_31 = (0x08A47CE4u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 456u, 0x08B01BA4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A47CE4u) goto L_08A47CE4; AOT_REGCACHE_SYNC_OUT(); return; L_08A47CE4: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08A47D24; @@ -8940,7 +8941,7 @@ L_08A47CEC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0172_entry, 172u, 62u, 0x08AB437Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A47D08u) goto L_08A47D08; AOT_REGCACHE_SYNC_OUT(); return; L_08A47D08: - { const bool branch_taken = static_cast(ctx.gpr[2]) <= 0; + { const bool branch_taken = static_cast(aot_gpr_2) <= 0; // nop if (branch_taken) { goto L_08A47D24; @@ -8953,13 +8954,13 @@ L_08A47D10: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A47D18u) goto L_08A47D18; AOT_REGCACHE_SYNC_OUT(); return; L_08A47D18: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08A47D24u); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 659u, 0x089474A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A47D24u) goto L_08A47D24; AOT_REGCACHE_SYNC_OUT(); return; L_08A47D24: - ctx.fpr[20] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(636))); + ctx.fpr[20] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(636))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); aot_gpr_5 = (0u | 11u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; @@ -9082,11 +9083,11 @@ L_08A47E4C: goto L_08A47E6C; } L_08A47E6C: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(92))); aot_gpr_5 = (aot_gpr_5 + static_cast(416)); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); - aot_gpr_6 = (aot_gpr_16 + aot_gpr_6); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(352))); + aot_gpr_6 = (ctx.gpr[16] + aot_gpr_6); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(352))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(188))); ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(960))); ctx.gpr[8] = (14916u << 16u); @@ -9146,11 +9147,11 @@ L_08A47EF0: goto L_08A47EF8; } L_08A47EF8: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(92))); aot_gpr_5 = (aot_gpr_5 + static_cast(416)); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); - aot_gpr_6 = (aot_gpr_16 + aot_gpr_6); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(352))); + aot_gpr_6 = (ctx.gpr[16] + aot_gpr_6); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(352))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(188))); ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(960))); ctx.gpr[8] = (15395u << 16u); @@ -9199,7 +9200,7 @@ L_08A47F4C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A47F78u) goto L_08A47F78; AOT_REGCACHE_SYNC_OUT(); return; L_08A47F78: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(636))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(636))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[20])) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); @@ -9214,8 +9215,8 @@ L_08A47F8C: aot_gpr_4 = (aot_gpr_4 << 24u); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 24u)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(964))); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(91), static_cast(aot_gpr_4)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(688), aot_gpr_5); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(91), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(688), aot_gpr_5); goto L_08A47FA4; L_08A47FA4: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(268))); @@ -9230,7 +9231,7 @@ L_08A47FA4: goto L_08A47FBC; } L_08A47FBC: - aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(336), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(336), ctx.gpr[16]); goto L_08A47FC0; L_08A47FC0: ctx.gpr[17] = (0u | 2u); @@ -9239,11 +9240,11 @@ L_08A47FC0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A47FCCu) goto L_08A47FCC; AOT_REGCACHE_SYNC_OUT(); return; L_08A47FCC: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(1929)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(1929)))))); aot_gpr_5 = (aot_gpr_4 << 5u); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); - aot_gpr_4 = (ctx.gpr[2] + aot_gpr_4); + aot_gpr_4 = (aot_gpr_2 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); { const bool branch_taken = aot_gpr_4 != ctx.gpr[18]; aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(970), static_cast(ctx.gpr[17])); @@ -9253,7 +9254,7 @@ L_08A47FCC: goto L_08A47FEC; } L_08A47FEC: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(612))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(612))); aot_gpr_5 = (0u | 2u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -9263,7 +9264,7 @@ L_08A47FEC: goto L_08A47FFC; } L_08A47FFC: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(532)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(532)))))); ctx.pc = 0x08A48000u; AOT_REGCACHE_SYNC_OUT(); return; } diff --git a/profiles/vcs/generated/generated_unit_0145.cpp b/profiles/vcs/generated/generated_unit_0145.cpp index 35a3ee8..a6ee453 100644 --- a/profiles/vcs/generated/generated_unit_0145.cpp +++ b/profiles/vcs/generated/generated_unit_0145.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0145[4093] = { }; void recomp_unit_0145_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,31,16,6 fprs=12,13,14,20 gpr_occ=3546 fpr_occ=904 gpr_total=4909 fpr_total=1043 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,31,6,2 fprs=12,13,14,20 gpr_occ=3584 fpr_occ=904 gpr_total=5051 fpr_total=1043 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; - std::uint32_t aot_gpr_16 = ctx.gpr[16]; std::uint32_t aot_gpr_6 = ctx.gpr[6]; + std::uint32_t aot_gpr_2 = ctx.gpr[2]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_14 = ctx.fpr[14]; float aot_fpr_20 = ctx.fpr[20]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[31] = aot_gpr_31; ctx.gpr[16] = aot_gpr_16; ctx.gpr[6] = aot_gpr_6; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[20] = aot_fpr_20; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_6 = ctx.gpr[6]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_20 = ctx.fpr[20]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[31] = aot_gpr_31; ctx.gpr[6] = aot_gpr_6; ctx.gpr[2] = aot_gpr_2; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[20] = aot_fpr_20; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_2 = ctx.gpr[2]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_20 = ctx.fpr[20]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -907,7 +908,7 @@ L_08A4800C: aot_gpr_4 = (16256u << 16u); aot_gpr_31 = (0x08A4801Cu); ctx.fpr[22] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4801Cu) goto L_08A4801C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4801Cu) goto L_08A4801C; AOT_REGCACHE_SYNC_OUT(); return; L_08A4801C: aot_fpr_12 = ctx.fpr[22] - aot_fpr_20; @@ -925,7 +926,7 @@ L_08A4801C: goto L_08A48040; } L_08A48040: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(533)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(533)))))); aot_gpr_5 = (0u | 1u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -935,7 +936,7 @@ L_08A48040: goto L_08A48050; } L_08A48050: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(900))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -944,7 +945,7 @@ L_08A48050: goto L_08A4805C; } L_08A4805C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(900))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(2196))); aot_gpr_5 = (0u | 16u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; @@ -955,7 +956,7 @@ L_08A4805C: goto L_08A48070; } L_08A48070: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(900))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(2196))); aot_gpr_5 = (0u | 8u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; @@ -966,7 +967,7 @@ L_08A48070: goto L_08A48084; } L_08A48084: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(900))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(2196))); aot_gpr_5 = (0u | 3u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; @@ -977,7 +978,7 @@ L_08A48084: goto L_08A48098; } L_08A48098: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(532)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(532)))))); aot_gpr_5 = (0u | 3u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -987,7 +988,7 @@ L_08A48098: goto L_08A480A8; } L_08A480A8: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(535)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(535)))))); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_gpr_4 = (16320u << 16u); @@ -997,12 +998,12 @@ L_08A480A8: aot_gpr_4 = (std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_gpr_4 << 24u); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 24u)); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(535), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(535), static_cast(aot_gpr_4)); goto L_08A480D4; L_08A480D4: aot_gpr_4 = (0u | 3u); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(532), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(532), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08A481F8; } @@ -1010,7 +1011,7 @@ L_08A480D4: } L_08A480E0: ctx.gpr[17] = (0u | 200u); - ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(900))); + ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(900))); { const bool branch_taken = ctx.gpr[19] == 0u; // nop if (branch_taken) { @@ -1049,7 +1050,7 @@ L_08A48120: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (0u | 8u); aot_gpr_31 = (0x08A48130u); - aot_gpr_6 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0178_entry, 178u, 482u, 0x08ACD698u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A48130u) goto L_08A48130; AOT_REGCACHE_SYNC_OUT(); return; L_08A48130: @@ -1077,7 +1078,7 @@ L_08A48150: goto L_08A48160; L_08A48160: ctx.gpr[19] = (0u | 0u); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(565))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(565))); aot_gpr_4 = (static_cast(ctx.gpr[19]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -1087,13 +1088,13 @@ L_08A48160: goto L_08A48174; } L_08A48174: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A48180u); aot_gpr_5 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A48180u) goto L_08A48180; AOT_REGCACHE_SYNC_OUT(); return; L_08A48180: - ctx.gpr[21] = (ctx.gpr[2] | 0u); + ctx.gpr[21] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[21] == 0u; // nop if (branch_taken) { @@ -1151,7 +1152,7 @@ L_08A481D4: goto L_08A481E4; L_08A481E4: ctx.gpr[19] = (ctx.gpr[19] + static_cast(1)); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(565))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(565))); aot_gpr_4 = (static_cast(ctx.gpr[19]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -1199,7 +1200,7 @@ L_08A48208: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0037_entry, 37u, 487u, 0x0889ACD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A48240u) goto L_08A48240; AOT_REGCACHE_SYNC_OUT(); return; L_08A48240: - ctx.gpr[23] = (ctx.gpr[2] | 0u); + ctx.gpr[23] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[23] == 0u; // nop if (branch_taken) { @@ -1208,8 +1209,8 @@ L_08A48240: goto L_08A4824C; } L_08A4824C: - aot_gpr_16 = (0u | 0u); - aot_gpr_4 = (static_cast(aot_gpr_16) < 4 ? 1u : 0u); + ctx.gpr[16] = (0u | 0u); + aot_gpr_4 = (static_cast(ctx.gpr[16]) < 4 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -1293,10 +1294,10 @@ L_08A482C8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0062_entry, 62u, 716u, 0x088FF060u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A48344u) goto L_08A48344; AOT_REGCACHE_SYNC_OUT(); return; L_08A48344: - aot_gpr_4 = (aot_gpr_16 + static_cast(1)); - aot_gpr_16 = (aot_gpr_4 << 16u); - aot_gpr_16 = (static_cast(static_cast(aot_gpr_16) >> 16u)); - aot_gpr_4 = (static_cast(aot_gpr_16) < 4 ? 1u : 0u); + aot_gpr_4 = (ctx.gpr[16] + static_cast(1)); + ctx.gpr[16] = (aot_gpr_4 << 16u); + ctx.gpr[16] = (static_cast(static_cast(ctx.gpr[16]) >> 16u)); + aot_gpr_4 = (static_cast(ctx.gpr[16]) < 4 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -1377,14 +1378,14 @@ L_08A483D8: aot_mem.aot_direct_store8(ctx.gpr[23] + static_cast(91), static_cast(aot_gpr_4)); goto L_08A483E8; L_08A483E8: - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); { std::uint32_t aot_run_words[14]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(988), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); ctx.fpr[26] = std::bit_cast(aot_run_words[3]); - aot_gpr_16 = aot_run_words[4]; + ctx.gpr[16] = aot_run_words[4]; ctx.gpr[17] = aot_run_words[5]; ctx.gpr[18] = aot_run_words[6]; ctx.gpr[19] = aot_run_words[7]; @@ -1403,11 +1404,11 @@ L_08A483E8: AOT_REGCACHE_SYNC_OUT(); return; L_08A4842C: aot_gpr_29 = (aot_gpr_29 + static_cast(-688)); - { const std::uint32_t aot_run_words[15]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; + { const std::uint32_t aot_run_words[15]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(620), aot_run_words); } ctx.gpr[20] = (aot_gpr_4 | 0u); ctx.gpr[18] = (aot_gpr_5 | 0u); - aot_gpr_16 = (aot_gpr_6 | 0u); + ctx.gpr[16] = (aot_gpr_6 | 0u); { const bool branch_taken = ctx.gpr[8] == 0u; ctx.gpr[19] = (ctx.gpr[7] | 0u); if (branch_taken) { @@ -1446,16 +1447,16 @@ L_08A48480: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } goto L_08A48498; L_08A48498: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(608), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(608), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(112), 0u); ctx.gpr[30] = (0u | 0u); aot_gpr_31 = (0x08A484ACu); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A484ACu) goto L_08A484AC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A484ACu) goto L_08A484AC; AOT_REGCACHE_SYNC_OUT(); return; L_08A484AC: - ctx.gpr[21] = (ctx.gpr[2] | 0u); - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + ctx.gpr[21] = (aot_gpr_2 | 0u); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -1685,7 +1686,7 @@ L_08A48684: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4868Cu) goto L_08A4868C; AOT_REGCACHE_SYNC_OUT(); return; L_08A4868C: - { const bool branch_taken = ctx.gpr[2] != ctx.gpr[18]; + { const bool branch_taken = aot_gpr_2 != ctx.gpr[18]; // nop if (branch_taken) { goto L_08A486D8; @@ -1722,13 +1723,13 @@ L_08A486D4: ctx.gpr[22] = (0u | 1u); goto L_08A486D8; L_08A486D8: - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); aot_gpr_31 = (0x08A486E4u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A486E4u) goto L_08A486E4; AOT_REGCACHE_SYNC_OUT(); return; L_08A486E4: - { const bool branch_taken = ctx.gpr[18] != ctx.gpr[2]; + { const bool branch_taken = ctx.gpr[18] != aot_gpr_2; // nop if (branch_taken) { goto L_08A48708; @@ -1742,11 +1743,11 @@ L_08A486EC: AOT_REGCACHE_SYNC_OUT(); return; L_08A486F4: aot_gpr_31 = (0x08A486FCu); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 707u, 0x089476BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A486FCu) goto L_08A486FC; AOT_REGCACHE_SYNC_OUT(); return; L_08A486FC: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08A48708; @@ -1754,7 +1755,7 @@ L_08A486FC: goto L_08A48704; } L_08A48704: - aot_gpr_16 = (0u | 1u); + ctx.gpr[16] = (0u | 1u); goto L_08A48708; L_08A48708: { const bool branch_taken = ctx.gpr[19] == 0u; @@ -1797,9 +1798,9 @@ L_08A48734: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(72), aot_gpr_5); goto L_08A48758; L_08A48758: - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[19] + static_cast(565))); - aot_gpr_4 = (static_cast(aot_gpr_16) < static_cast(aot_gpr_4) ? 1u : 0u); + aot_gpr_4 = (static_cast(ctx.gpr[16]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -1810,11 +1811,11 @@ L_08A48758: L_08A4876C: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08A48778u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A48778u) goto L_08A48778; AOT_REGCACHE_SYNC_OUT(); return; L_08A48778: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; aot_gpr_4 = (ctx.gpr[19] | 0u); if (branch_taken) { goto L_08A487C8; @@ -1823,11 +1824,11 @@ L_08A48778: } L_08A48780: aot_gpr_31 = (0x08A48788u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A48788u) goto L_08A48788; AOT_REGCACHE_SYNC_OUT(); return; L_08A48788: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(472))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(472))); aot_gpr_5 = (8192u << 16u); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); { const bool branch_taken = aot_gpr_4 == 0u; @@ -1840,23 +1841,23 @@ L_08A48788: L_08A4879C: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08A487A8u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A487A8u) goto L_08A487A8; AOT_REGCACHE_SYNC_OUT(); return; L_08A487A8: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(72))); aot_gpr_5 = (0u | 1u); aot_gpr_5 = (aot_gpr_5 & 1u); aot_gpr_6 = (0u + static_cast(-513)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_6); aot_gpr_5 = (aot_gpr_5 << 9u); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); - aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(72), aot_gpr_4); + aot_mem.aot_direct_store32(aot_gpr_2 + static_cast(72), aot_gpr_4); goto L_08A487C8; L_08A487C8: - aot_gpr_16 = (aot_gpr_16 + static_cast(1)); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(1)); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[19] + static_cast(565))); - aot_gpr_4 = (static_cast(aot_gpr_16) < static_cast(aot_gpr_4) ? 1u : 0u); + aot_gpr_4 = (static_cast(ctx.gpr[16]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -1871,18 +1872,18 @@ L_08A487DC: aot_gpr_6 = (aot_gpr_29 + static_cast(80)); ctx.gpr[7] = (aot_gpr_29 + static_cast(112)); ctx.gpr[8] = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(4))); - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); ctx.gpr[9] = (ctx.gpr[18] | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[11] = (0u | 0u); - { const std::uint32_t aot_run_words[5]{ctx.gpr[2], 0u, 0u, ctx.gpr[2], 0u}; + { const std::uint32_t aot_run_words[5]{aot_gpr_2, 0u, 0u, aot_gpr_2, 0u}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_31 = (0x08A48820u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_2); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0143_entry, 143u, 354u, 0x08A41D28u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A48820u) goto L_08A48820; AOT_REGCACHE_SYNC_OUT(); return; L_08A48820: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08A48880; @@ -1904,8 +1905,8 @@ L_08A48828: goto L_08A48848; } L_08A48848: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(112))); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(472))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(112))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(472))); aot_gpr_5 = (8192u << 16u); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); { const bool branch_taken = aot_gpr_4 == 0u; @@ -1917,11 +1918,11 @@ L_08A48848: } L_08A48860: aot_gpr_31 = (0x08A48868u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 195u, 0x08910B38u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A48868u) goto L_08A48868; AOT_REGCACHE_SYNC_OUT(); return; L_08A48868: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08A48880; @@ -1929,7 +1930,7 @@ L_08A48868: goto L_08A48870; } L_08A48870: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1152))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1152))); { const bool branch_taken = aot_gpr_4 != ctx.gpr[19]; // nop if (branch_taken) { @@ -1961,9 +1962,9 @@ L_08A4888C: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(72), aot_gpr_5); goto L_08A488B0; L_08A488B0: - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[19] + static_cast(565))); - aot_gpr_4 = (static_cast(aot_gpr_16) < static_cast(aot_gpr_4) ? 1u : 0u); + aot_gpr_4 = (static_cast(ctx.gpr[16]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -1974,11 +1975,11 @@ L_08A488B0: L_08A488C4: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08A488D0u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A488D0u) goto L_08A488D0; AOT_REGCACHE_SYNC_OUT(); return; L_08A488D0: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08A48904; @@ -1988,23 +1989,23 @@ L_08A488D0: L_08A488D8: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08A488E4u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A488E4u) goto L_08A488E4; AOT_REGCACHE_SYNC_OUT(); return; L_08A488E4: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(72))); aot_gpr_5 = (0u | 0u); aot_gpr_5 = (aot_gpr_5 & 1u); aot_gpr_6 = (0u + static_cast(-513)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_6); aot_gpr_5 = (aot_gpr_5 << 9u); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); - aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(72), aot_gpr_4); + aot_mem.aot_direct_store32(aot_gpr_2 + static_cast(72), aot_gpr_4); goto L_08A48904; L_08A48904: - aot_gpr_16 = (aot_gpr_16 + static_cast(1)); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(1)); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[19] + static_cast(565))); - aot_gpr_4 = (static_cast(aot_gpr_16) < static_cast(aot_gpr_4) ? 1u : 0u); + aot_gpr_4 = (static_cast(ctx.gpr[16]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -2023,7 +2024,7 @@ L_08A48918: L_08A48920: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(112), 0u); { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08A49960; } @@ -2141,7 +2142,7 @@ L_08A489E8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A489F0u) goto L_08A489F0; AOT_REGCACHE_SYNC_OUT(); return; L_08A489F0: - { const bool branch_taken = ctx.gpr[18] != ctx.gpr[2]; + { const bool branch_taken = ctx.gpr[18] != aot_gpr_2; // nop if (branch_taken) { goto L_08A48A2C; @@ -2284,7 +2285,7 @@ L_08A48AE0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A48AE8u) goto L_08A48AE8; AOT_REGCACHE_SYNC_OUT(); return; L_08A48AE8: - { const bool branch_taken = ctx.gpr[18] != ctx.gpr[2]; + { const bool branch_taken = ctx.gpr[18] != aot_gpr_2; // nop if (branch_taken) { goto L_08A48C78; @@ -2321,7 +2322,7 @@ L_08A48B24: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A48B30u) goto L_08A48B30; AOT_REGCACHE_SYNC_OUT(); return; L_08A48B30: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(3168))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(3168))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-6408))); { const float fs = aot_fpr_14; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } { const float fs = aot_fpr_12; const float ft = aot_fpr_20; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_20 = std::bit_cast(0x7FC00000u); else aot_fpr_20 = fs * ft; } @@ -2330,7 +2331,7 @@ L_08A48B30: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A48B48u) goto L_08A48B48; AOT_REGCACHE_SYNC_OUT(); return; L_08A48B48: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(460))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(460))); aot_gpr_4 = (aot_gpr_4 & 8192u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -2351,7 +2352,7 @@ L_08A48B68: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A48B70u) goto L_08A48B70; AOT_REGCACHE_SYNC_OUT(); return; L_08A48B70: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(3262)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(3262)))))); aot_gpr_4 = (aot_gpr_4 & 8u); aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); @@ -2371,14 +2372,14 @@ L_08A48B88: aot_gpr_4 = (aot_gpr_4 | 39322u); aot_gpr_31 = (0x08A48BA8u); ctx.fpr[24] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A48BA8u) goto L_08A48BA8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A48BA8u) goto L_08A48BA8; AOT_REGCACHE_SYNC_OUT(); return; L_08A48BA8: aot_fpr_12 = ctx.fpr[24] - ctx.fpr[22]; { const float fs = aot_fpr_12; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_31 = (0x08A48BB8u); ctx.fpr[26] = ctx.fpr[22] + aot_fpr_12; - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A48BB8u) goto L_08A48BB8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A48BB8u) goto L_08A48BB8; AOT_REGCACHE_SYNC_OUT(); return; L_08A48BB8: aot_fpr_13 = ctx.fpr[24] - ctx.fpr[22]; @@ -2391,7 +2392,7 @@ L_08A48BB8: aot_gpr_4 = (aot_gpr_4 | 52429u); aot_gpr_31 = (0x08A48BE0u); ctx.fpr[24] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A48BE0u) goto L_08A48BE0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A48BE0u) goto L_08A48BE0; AOT_REGCACHE_SYNC_OUT(); return; L_08A48BE0: aot_fpr_12 = ctx.fpr[24] - ctx.fpr[28]; @@ -2427,8 +2428,8 @@ L_08A48C1C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A48C24u) goto L_08A48C24; AOT_REGCACHE_SYNC_OUT(); return; L_08A48C24: - aot_gpr_4 = (ctx.gpr[2] + static_cast(3168)); - aot_gpr_5 = (aot_gpr_16 & 255u); + aot_gpr_4 = (aot_gpr_2 + static_cast(3168)); + aot_gpr_5 = (ctx.gpr[16] & 255u); { const bool branch_taken = aot_gpr_5 != 0u; aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); if (branch_taken) { @@ -2486,7 +2487,7 @@ L_08A48C8C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A48C94u) goto L_08A48C94; AOT_REGCACHE_SYNC_OUT(); return; L_08A48C94: - { const bool branch_taken = ctx.gpr[17] != ctx.gpr[2]; + { const bool branch_taken = ctx.gpr[17] != aot_gpr_2; // nop if (branch_taken) { goto L_08A48CFC; @@ -2502,7 +2503,7 @@ L_08A48C9C: AOT_REGCACHE_SYNC_OUT(); return; L_08A48CAC: aot_gpr_31 = (0x08A48CB4u); - aot_gpr_4 = (ctx.gpr[2] + static_cast(320)); + aot_gpr_4 = (aot_gpr_2 + static_cast(320)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0143_entry, 143u, 115u, 0x08A40A5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A48CB4u) goto L_08A48CB4; AOT_REGCACHE_SYNC_OUT(); return; L_08A48CB4: @@ -2530,7 +2531,7 @@ L_08A48CC8: { const float fs = aot_fpr_20; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_20 = std::bit_cast(0x7FC00000u); else aot_fpr_20 = fs * ft; } goto L_08A48CFC; L_08A48CFC: - aot_gpr_16 = (aot_gpr_29 + static_cast(48)); + ctx.gpr[16] = (aot_gpr_29 + static_cast(48)); aot_gpr_4 = (48716u << 16u); aot_gpr_4 = (aot_gpr_4 | 52429u); ctx.fpr[22] = std::bit_cast(aot_gpr_4); @@ -2538,14 +2539,14 @@ L_08A48CFC: aot_gpr_4 = (aot_gpr_4 | 52429u); aot_gpr_31 = (0x08A48D1Cu); ctx.fpr[24] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A48D1Cu) goto L_08A48D1C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A48D1Cu) goto L_08A48D1C; AOT_REGCACHE_SYNC_OUT(); return; L_08A48D1C: aot_fpr_12 = ctx.fpr[24] - ctx.fpr[22]; { const float fs = aot_fpr_12; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_31 = (0x08A48D2Cu); ctx.fpr[26] = ctx.fpr[22] + aot_fpr_12; - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A48D2Cu) goto L_08A48D2C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A48D2Cu) goto L_08A48D2C; AOT_REGCACHE_SYNC_OUT(); return; L_08A48D2C: aot_fpr_13 = ctx.fpr[24] - ctx.fpr[22]; @@ -2558,7 +2559,7 @@ L_08A48D2C: aot_gpr_4 = (aot_gpr_4 | 52429u); aot_gpr_31 = (0x08A48D54u); ctx.fpr[24] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A48D54u) goto L_08A48D54; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A48D54u) goto L_08A48D54; AOT_REGCACHE_SYNC_OUT(); return; L_08A48D54: aot_fpr_12 = ctx.fpr[24] - ctx.fpr[28]; @@ -2585,7 +2586,7 @@ L_08A48D54: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_31 = (0x08A48D90u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A48D90u) goto L_08A48D90; AOT_REGCACHE_SYNC_OUT(); return; L_08A48D90: @@ -2594,7 +2595,7 @@ L_08A48D90: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A48D98u) goto L_08A48D98; AOT_REGCACHE_SYNC_OUT(); return; L_08A48D98: - { const bool branch_taken = ctx.gpr[18] != ctx.gpr[2]; + { const bool branch_taken = ctx.gpr[18] != aot_gpr_2; // nop if (branch_taken) { goto L_08A48DA8; @@ -2606,10 +2607,10 @@ L_08A48DA0: aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(8072), static_cast(aot_gpr_4)); goto L_08A48DA8; L_08A48DA8: - ctx.gpr[2] = (0u | 1u); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(8423), static_cast(ctx.gpr[2])); + aot_gpr_2 = (0u | 1u); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(8423), static_cast(aot_gpr_2)); ctx.gpr[30] = (0u | 0u); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(8422), static_cast(ctx.gpr[2])); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(8422), static_cast(aot_gpr_2)); aot_gpr_4 = (aot_gpr_29 + static_cast(64)); aot_gpr_5 = (aot_gpr_29 + static_cast(48)); aot_gpr_6 = (aot_gpr_29 + static_cast(80)); @@ -2618,14 +2619,14 @@ L_08A48DA8: ctx.gpr[9] = (ctx.gpr[18] | 0u); ctx.gpr[10] = (0u | 1u); ctx.gpr[11] = (0u | 1u); - { const std::uint32_t aot_run_words[5]{ctx.gpr[2], ctx.gpr[2], ctx.gpr[2], 0u, 0u}; + { const std::uint32_t aot_run_words[5]{aot_gpr_2, aot_gpr_2, aot_gpr_2, 0u, 0u}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_31 = (0x08A48DF4u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_2); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0143_entry, 143u, 354u, 0x08A41D28u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A48DF4u) goto L_08A48DF4; AOT_REGCACHE_SYNC_OUT(); return; L_08A48DF4: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08A48E18; @@ -2680,7 +2681,7 @@ L_08A48E18: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0143_entry, 143u, 220u, 0x08A41030u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A48E48u) goto L_08A48E48; AOT_REGCACHE_SYNC_OUT(); return; L_08A48E48: - ctx.gpr[30] = (ctx.gpr[2] | 0u); + ctx.gpr[30] = (aot_gpr_2 | 0u); aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(8422), static_cast(0u)); aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(8072), static_cast(0u)); aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(8423), static_cast(0u)); @@ -2707,9 +2708,9 @@ L_08A48E60: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_16 = (aot_gpr_29 + static_cast(48)); + ctx.gpr[16] = (aot_gpr_29 + static_cast(48)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_31 = (0x08A48E8Cu); @@ -2717,43 +2718,43 @@ L_08A48E60: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0038_entry, 38u, 621u, 0x0889EB08u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A48E8Cu) goto L_08A48E8C; AOT_REGCACHE_SYNC_OUT(); return; L_08A48E8C: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(724))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); aot_gpr_31 = (0x08A48EA0u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 251u, 0x08969194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A48EA0u) goto L_08A48EA0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08969194, 89u, 251u, 0x08969194u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 251u, 0x08969194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A48EA0u) goto L_08A48EA0; AOT_REGCACHE_SYNC_OUT(); return; L_08A48EA0: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08A48EACu); - ctx.gpr[17] = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A48EACu) goto L_08A48EAC; + ctx.gpr[17] = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0896918C, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A48EACu) goto L_08A48EAC; AOT_REGCACHE_SYNC_OUT(); return; L_08A48EAC: ctx.gpr[7] = (ctx.gpr[17] << 6u); - ctx.gpr[7] = (ctx.gpr[2] + ctx.gpr[7]); - aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); + ctx.gpr[7] = (aot_gpr_2 + ctx.gpr[7]); + aot_gpr_4 = (ctx.gpr[16] | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A48EC4u); aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 239u, 0x088619ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A48EC4u) goto L_08A48EC4; AOT_REGCACHE_SYNC_OUT(); return; L_08A48EC4: - ctx.gpr[2] = (0u | 1u); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(8423), static_cast(ctx.gpr[2])); + aot_gpr_2 = (0u | 1u); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(8423), static_cast(aot_gpr_2)); aot_gpr_4 = (aot_gpr_29 + static_cast(64)); aot_gpr_6 = (aot_gpr_29 + static_cast(80)); ctx.gpr[7] = (aot_gpr_29 + static_cast(112)); ctx.gpr[8] = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(4))); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); ctx.gpr[9] = (ctx.gpr[18] | 0u); ctx.gpr[10] = (0u | 1u); ctx.gpr[11] = (0u | 1u); - { const std::uint32_t aot_run_words[5]{ctx.gpr[2], ctx.gpr[2], ctx.gpr[2], 0u, 0u}; + { const std::uint32_t aot_run_words[5]{aot_gpr_2, aot_gpr_2, aot_gpr_2, 0u, 0u}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_31 = (0x08A48F08u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_2); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0143_entry, 143u, 354u, 0x08A41D28u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A48F08u) goto L_08A48F08; AOT_REGCACHE_SYNC_OUT(); return; L_08A48F08: @@ -2827,8 +2828,8 @@ L_08A48F70: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(8))); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<1u>(aot_gpr_4); - aot_gpr_16 = (aot_gpr_29 + static_cast(48)); - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + ctx.gpr[16] = (aot_gpr_29 + static_cast(48)); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -2839,11 +2840,11 @@ L_08A48F70: ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 1u, 3u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } ctx.gpr[17] = (aot_gpr_29 + static_cast(64)); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A48F9Cu); aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A48F9Cu) goto L_08A48F9C; @@ -2854,21 +2855,21 @@ L_08A48F9C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A48FA4u) goto L_08A48FA4; AOT_REGCACHE_SYNC_OUT(); return; L_08A48FA4: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_6 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08A48FB8u); - ctx.gpr[7] = (aot_gpr_16 | 0u); + ctx.gpr[7] = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0147_entry, 147u, 135u, 0x08A50F48u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A48FB8u) goto L_08A48FB8; AOT_REGCACHE_SYNC_OUT(); return; L_08A48FB8: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A48FC4u); aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 464u, 0x08A931D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A48FC4u) goto L_08A48FC4; AOT_REGCACHE_SYNC_OUT(); return; L_08A48FC4: - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -2885,7 +2886,7 @@ L_08A48FC4: ctx.execute_vfpu_vscl_ct<1u, 1u, 28u, 3u>(); ctx.execute_vfpu_vcmov_ct<1u, 0u, 3u, 0u, false>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<1u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(86)))))); @@ -2933,7 +2934,7 @@ L_08A49024: aot_fpr_20 = std::bit_cast(aot_gpr_4); goto L_08A49030; L_08A49030: - aot_gpr_16 = (aot_gpr_29 + static_cast(48)); + ctx.gpr[16] = (aot_gpr_29 + static_cast(48)); aot_gpr_4 = (48716u << 16u); aot_gpr_4 = (aot_gpr_4 | 52429u); ctx.fpr[22] = std::bit_cast(aot_gpr_4); @@ -2941,14 +2942,14 @@ L_08A49030: aot_gpr_4 = (aot_gpr_4 | 52429u); aot_gpr_31 = (0x08A49050u); ctx.fpr[24] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A49050u) goto L_08A49050; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A49050u) goto L_08A49050; AOT_REGCACHE_SYNC_OUT(); return; L_08A49050: aot_fpr_12 = ctx.fpr[24] - ctx.fpr[22]; { const float fs = aot_fpr_12; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_31 = (0x08A49060u); ctx.fpr[26] = ctx.fpr[22] + aot_fpr_12; - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A49060u) goto L_08A49060; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A49060u) goto L_08A49060; AOT_REGCACHE_SYNC_OUT(); return; L_08A49060: aot_fpr_13 = ctx.fpr[24] - ctx.fpr[22]; @@ -2961,7 +2962,7 @@ L_08A49060: aot_gpr_4 = (aot_gpr_4 | 52429u); aot_gpr_31 = (0x08A49088u); ctx.fpr[24] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A49088u) goto L_08A49088; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A49088u) goto L_08A49088; AOT_REGCACHE_SYNC_OUT(); return; L_08A49088: aot_fpr_12 = ctx.fpr[24] - ctx.fpr[28]; @@ -2988,11 +2989,11 @@ L_08A49088: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_31 = (0x08A490C4u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A490C4u) goto L_08A490C4; AOT_REGCACHE_SYNC_OUT(); return; L_08A490C4: - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -3009,13 +3010,13 @@ L_08A490C4: ctx.execute_vfpu_vscl_ct<1u, 1u, 28u, 3u>(); ctx.execute_vfpu_vcmov_ct<1u, 0u, 3u, 0u, false>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<1u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(8))); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<1u>(aot_gpr_4); - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -3026,11 +3027,11 @@ L_08A490C4: ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 1u, 3u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } ctx.gpr[17] = (aot_gpr_29 + static_cast(64)); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A4910Cu); aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4910Cu) goto L_08A4910C; @@ -3040,16 +3041,16 @@ L_08A4910C: aot_gpr_6 = (aot_gpr_29 + static_cast(80)); ctx.gpr[7] = (aot_gpr_29 + static_cast(112)); ctx.gpr[8] = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(4))); - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); aot_gpr_4 = (ctx.gpr[17] | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); ctx.gpr[9] = (ctx.gpr[18] | 0u); ctx.gpr[10] = (0u | 1u); ctx.gpr[11] = (0u | 1u); - { const std::uint32_t aot_run_words[5]{ctx.gpr[2], ctx.gpr[2], ctx.gpr[2], ctx.gpr[2], 0u}; + { const std::uint32_t aot_run_words[5]{aot_gpr_2, aot_gpr_2, aot_gpr_2, aot_gpr_2, 0u}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_31 = (0x08A49150u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_2); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0143_entry, 143u, 354u, 0x08A41D28u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A49150u) goto L_08A49150; AOT_REGCACHE_SYNC_OUT(); return; L_08A49150: @@ -3095,7 +3096,7 @@ L_08A49184: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0122_entry, 122u, 345u, 0x089EE640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4919Cu) goto L_08A4919C; AOT_REGCACHE_SYNC_OUT(); return; L_08A4919C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08A491F8; @@ -3103,8 +3104,8 @@ L_08A4919C: goto L_08A491A4; } L_08A491A4: - aot_gpr_16 = (0u | 0u); - aot_gpr_4 = (aot_gpr_16 < static_cast(16) ? 1u : 0u); + ctx.gpr[16] = (0u | 0u); + aot_gpr_4 = (ctx.gpr[16] < static_cast(16) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -3128,8 +3129,8 @@ L_08A491B4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0062_entry, 62u, 716u, 0x088FF060u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A491E8u) goto L_08A491E8; AOT_REGCACHE_SYNC_OUT(); return; L_08A491E8: - aot_gpr_16 = (aot_gpr_16 + static_cast(1)); - aot_gpr_4 = (aot_gpr_16 < static_cast(16) ? 1u : 0u); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(1)); + aot_gpr_4 = (ctx.gpr[16] < static_cast(16) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -3307,7 +3308,7 @@ L_08A49390: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A49398u) goto L_08A49398; AOT_REGCACHE_SYNC_OUT(); return; L_08A49398: - { const bool branch_taken = ctx.gpr[18] != ctx.gpr[2]; + { const bool branch_taken = ctx.gpr[18] != aot_gpr_2; // nop if (branch_taken) { goto L_08A493B8; @@ -3334,8 +3335,8 @@ L_08A493B8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0147_entry, 147u, 85u, 0x08A5071Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A493C8u) goto L_08A493C8; AOT_REGCACHE_SYNC_OUT(); return; L_08A493C8: - ctx.gpr[2] = (0u | 1u); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(8423), static_cast(ctx.gpr[2])); + aot_gpr_2 = (0u | 1u); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(8423), static_cast(aot_gpr_2)); aot_gpr_4 = (aot_gpr_29 + static_cast(64)); aot_gpr_5 = (aot_gpr_29 + static_cast(48)); aot_gpr_6 = (aot_gpr_29 + static_cast(80)); @@ -3344,10 +3345,10 @@ L_08A493C8: ctx.gpr[9] = (ctx.gpr[18] | 0u); ctx.gpr[10] = (0u | 1u); ctx.gpr[11] = (0u | 1u); - { const std::uint32_t aot_run_words[5]{ctx.gpr[2], ctx.gpr[2], ctx.gpr[2], 0u, 0u}; + { const std::uint32_t aot_run_words[5]{aot_gpr_2, aot_gpr_2, aot_gpr_2, 0u, 0u}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_31 = (0x08A4940Cu); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_2); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0143_entry, 143u, 354u, 0x08A41D28u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4940Cu) goto L_08A4940C; AOT_REGCACHE_SYNC_OUT(); return; L_08A4940C: @@ -3375,7 +3376,7 @@ L_08A49428: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0122_entry, 122u, 345u, 0x089EE640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A49440u) goto L_08A49440; AOT_REGCACHE_SYNC_OUT(); return; L_08A49440: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08A4949C; @@ -3383,8 +3384,8 @@ L_08A49440: goto L_08A49448; } L_08A49448: - aot_gpr_16 = (0u | 0u); - aot_gpr_4 = (static_cast(aot_gpr_16) < 16 ? 1u : 0u); + ctx.gpr[16] = (0u | 0u); + aot_gpr_4 = (static_cast(ctx.gpr[16]) < 16 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -3408,8 +3409,8 @@ L_08A49458: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0062_entry, 62u, 716u, 0x088FF060u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4948Cu) goto L_08A4948C; AOT_REGCACHE_SYNC_OUT(); return; L_08A4948C: - aot_gpr_16 = (aot_gpr_16 + static_cast(1)); - aot_gpr_4 = (static_cast(aot_gpr_16) < 16 ? 1u : 0u); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(1)); + aot_gpr_4 = (static_cast(ctx.gpr[16]) < 16 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -3473,7 +3474,7 @@ L_08A494F4: } L_08A494FC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08A49960; } @@ -3485,7 +3486,7 @@ L_08A49504: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 319u, 0x0890D46Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4950Cu) goto L_08A4950C; AOT_REGCACHE_SYNC_OUT(); return; L_08A4950C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08A49528; @@ -3499,7 +3500,7 @@ L_08A49514: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 762u, 0x089AB910u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A49520u) goto L_08A49520; AOT_REGCACHE_SYNC_OUT(); return; L_08A49520: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08A49564; @@ -3538,7 +3539,7 @@ L_08A4955C: } L_08A49564: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08A49960; } @@ -3581,7 +3582,7 @@ L_08A495AC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A495B4u) goto L_08A495B4; AOT_REGCACHE_SYNC_OUT(); return; L_08A495B4: - { const bool branch_taken = ctx.gpr[18] != ctx.gpr[2]; + { const bool branch_taken = ctx.gpr[18] != aot_gpr_2; // nop if (branch_taken) { goto L_08A495DC; @@ -3626,7 +3627,7 @@ L_08A495E8: ctx.gpr[8] = (ctx.gpr[7] + static_cast(4)); ctx.gpr[9] = (ctx.gpr[7] + static_cast(8)); ctx.gpr[17] = (aot_gpr_29 + static_cast(516)); - aot_gpr_16 = (ctx.gpr[17] + static_cast(4)); + ctx.gpr[16] = (ctx.gpr[17] + static_cast(4)); ctx.gpr[10] = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(4))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(491), static_cast(ctx.gpr[10])); ctx.gpr[10] = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(12))); @@ -3664,7 +3665,7 @@ L_08A495E8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0143_entry, 143u, 456u, 0x08A427C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A496A0u) goto L_08A496A0; AOT_REGCACHE_SYNC_OUT(); return; L_08A496A0: - aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(8))); + aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(8))); aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(524), static_cast(aot_gpr_4)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(528)))))); aot_gpr_5 = (0u + static_cast(-2)); @@ -3689,8 +3690,8 @@ L_08A496A0: aot_mem.aot_direct_store_word_left(ctx.gpr[17] + static_cast(3), aot_gpr_4); aot_mem.aot_direct_store_word_right(ctx.gpr[17] + static_cast(0), aot_gpr_4); aot_gpr_4 = (std::bit_cast(aot_fpr_13)); - aot_mem.aot_direct_store_word_left(aot_gpr_16 + static_cast(3), aot_gpr_4); - aot_mem.aot_direct_store_word_right(aot_gpr_16 + static_cast(0), aot_gpr_4); + aot_mem.aot_direct_store_word_left(ctx.gpr[16] + static_cast(3), aot_gpr_4); + aot_mem.aot_direct_store_word_right(ctx.gpr[16] + static_cast(0), aot_gpr_4); aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_5 = (aot_gpr_29 + static_cast(488)); aot_gpr_31 = (0x08A4971Cu); @@ -3791,7 +3792,7 @@ L_08A497D0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0122_entry, 122u, 345u, 0x089EE640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A497E8u) goto L_08A497E8; AOT_REGCACHE_SYNC_OUT(); return; L_08A497E8: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08A49844; @@ -3799,8 +3800,8 @@ L_08A497E8: goto L_08A497F0; } L_08A497F0: - aot_gpr_16 = (0u | 0u); - aot_gpr_4 = (aot_gpr_16 < static_cast(16) ? 1u : 0u); + ctx.gpr[16] = (0u | 0u); + aot_gpr_4 = (ctx.gpr[16] < static_cast(16) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -3824,8 +3825,8 @@ L_08A49800: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0062_entry, 62u, 716u, 0x088FF060u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A49834u) goto L_08A49834; AOT_REGCACHE_SYNC_OUT(); return; L_08A49834: - aot_gpr_16 = (aot_gpr_16 + static_cast(1)); - aot_gpr_4 = (aot_gpr_16 < static_cast(16) ? 1u : 0u); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(1)); + aot_gpr_4 = (ctx.gpr[16] < static_cast(16) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -3876,9 +3877,9 @@ L_08A49894: goto L_08A4989C; } L_08A4989C: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(112))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(112))); ctx.gpr[17] = (0u | 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(900))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -3887,7 +3888,7 @@ L_08A4989C: goto L_08A498B0; } L_08A498B0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(900))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(472))); aot_gpr_5 = (8192u << 16u); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); @@ -3908,7 +3909,7 @@ L_08A498C8: } L_08A498D0: ctx.gpr[19] = (0u | 0u); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(565))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(565))); aot_gpr_4 = (static_cast(ctx.gpr[19]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -3918,13 +3919,13 @@ L_08A498D0: goto L_08A498E4; } L_08A498E4: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A498F0u); aot_gpr_5 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A498F0u) goto L_08A498F0; AOT_REGCACHE_SYNC_OUT(); return; L_08A498F0: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08A49924; @@ -3932,13 +3933,13 @@ L_08A498F0: goto L_08A498F8; } L_08A498F8: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A49904u); aot_gpr_5 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A49904u) goto L_08A49904; AOT_REGCACHE_SYNC_OUT(); return; L_08A49904: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(472))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(472))); aot_gpr_5 = (8192u << 16u); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); { const bool branch_taken = aot_gpr_4 == 0u; @@ -3959,7 +3960,7 @@ L_08A49918: } L_08A49924: ctx.gpr[19] = (ctx.gpr[19] + static_cast(1)); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(565))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(565))); aot_gpr_4 = (static_cast(ctx.gpr[19]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -3983,10 +3984,10 @@ L_08A49940: aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08A4995Cu); - ctx.gpr[7] = (aot_gpr_16 | 0u); + ctx.gpr[7] = (ctx.gpr[16] | 0u); goto L_08A4842C; L_08A4995C: - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); goto L_08A49960; L_08A49960: { std::uint32_t aot_run_words[15]{}; @@ -3996,7 +3997,7 @@ L_08A49960: ctx.fpr[24] = std::bit_cast(aot_run_words[2]); ctx.fpr[26] = std::bit_cast(aot_run_words[3]); ctx.fpr[28] = std::bit_cast(aot_run_words[4]); - aot_gpr_16 = aot_run_words[5]; + ctx.gpr[16] = aot_run_words[5]; ctx.gpr[17] = aot_run_words[6]; ctx.gpr[18] = aot_run_words[7]; ctx.gpr[19] = aot_run_words[8]; @@ -4015,10 +4016,10 @@ L_08A49960: AOT_REGCACHE_SYNC_OUT(); return; L_08A499A4: aot_gpr_29 = (aot_gpr_29 + static_cast(-1104)); - { const std::uint32_t aot_run_words[13]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; + { const std::uint32_t aot_run_words[13]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(1044), aot_run_words); } ctx.gpr[18] = (ctx.gpr[9] | 0u); - aot_gpr_16 = (ctx.gpr[8] | 0u); + ctx.gpr[16] = (ctx.gpr[8] | 0u); ctx.gpr[23] = (ctx.gpr[7] | 0u); ctx.gpr[21] = (aot_gpr_6 | 0u); ctx.gpr[19] = (aot_gpr_5 | 0u); @@ -4032,10 +4033,10 @@ L_08A499A4: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_5); aot_gpr_31 = (0x08A49A18u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A49A18u) goto L_08A49A18; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A49A18u) goto L_08A49A18; AOT_REGCACHE_SYNC_OUT(); return; L_08A49A18: - ctx.gpr[30] = (ctx.gpr[2] | 0u); + ctx.gpr[30] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { @@ -4088,13 +4089,13 @@ L_08A49A5C: goto L_08A49A68; } L_08A49A68: - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); aot_gpr_31 = (0x08A49A74u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A49A74u) goto L_08A49A74; AOT_REGCACHE_SYNC_OUT(); return; L_08A49A74: - { const bool branch_taken = ctx.gpr[19] == ctx.gpr[2]; + { const bool branch_taken = ctx.gpr[19] == aot_gpr_2; // nop if (branch_taken) { goto L_08A49A8C; @@ -4124,11 +4125,11 @@ L_08A49A8C: AOT_REGCACHE_SYNC_OUT(); return; L_08A49A94: aot_gpr_31 = (0x08A49A9Cu); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 707u, 0x089476BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A49A9Cu) goto L_08A49A9C; AOT_REGCACHE_SYNC_OUT(); return; L_08A49A9C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08A49AA8; @@ -4136,7 +4137,7 @@ L_08A49A9C: goto L_08A49AA4; } L_08A49AA4: - aot_gpr_16 = (0u | 1u); + ctx.gpr[16] = (0u | 1u); goto L_08A49AA8; L_08A49AA8: { const bool branch_taken = ctx.gpr[19] == 0u; @@ -4162,10 +4163,10 @@ L_08A49AB0: L_08A49ACC: aot_gpr_31 = (0x08A49AD4u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A49AD4u) goto L_08A49AD4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A49AD4u) goto L_08A49AD4; AOT_REGCACHE_SYNC_OUT(); return; L_08A49AD4: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08A49D1C; @@ -4545,7 +4546,7 @@ L_08A49D78: aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); if (aot_gpr_4 == 0u) { - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(1036), static_cast(aot_gpr_16)); + aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(1036), static_cast(ctx.gpr[16])); goto L_08A49DC4; } goto L_08A49D94; @@ -4556,20 +4557,20 @@ L_08A49D94: aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); if (aot_gpr_4 == 0u) { - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(1036), static_cast(aot_gpr_16)); + aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(1036), static_cast(ctx.gpr[16])); goto L_08A49DC4; } goto L_08A49DB0; L_08A49DB0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(900))); if (aot_gpr_4 == 0u) { - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(1036), static_cast(aot_gpr_16)); + aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(1036), static_cast(ctx.gpr[16])); goto L_08A49DC4; } goto L_08A49DBC; L_08A49DBC: ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(900))); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(1036), static_cast(aot_gpr_16)); + aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(1036), static_cast(ctx.gpr[16])); goto L_08A49DC4; L_08A49DC4: ctx.gpr[20] = (0u | 0u); @@ -4586,8 +4587,8 @@ L_08A49DC4: goto L_08A49DE4; } L_08A49DE4: - aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(352))); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(352))); + { const bool branch_taken = ctx.gpr[16] == 0u; ctx.gpr[20] = (0u | 0u); if (branch_taken) { goto L_08A49E2C; @@ -4595,26 +4596,26 @@ L_08A49DE4: goto L_08A49DF0; } L_08A49DF0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(108))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1040), aot_gpr_16); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(108))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1040), ctx.gpr[16]); ctx.gpr[20] = (aot_gpr_4 + static_cast(16)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[20] + static_cast(0)))))); aot_gpr_31 = (0x08A49E08u); - aot_gpr_16 = (aot_gpr_16 + aot_gpr_4); + ctx.gpr[16] = (ctx.gpr[16] + aot_gpr_4); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 419u, 0x089D273Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A49E08u) goto L_08A49E08; AOT_REGCACHE_SYNC_OUT(); return; L_08A49E08: aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(4))); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); jump_target = aot_gpr_6; aot_gpr_31 = (0x08A49E18u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A49E18u) goto L_08A49E18; AOT_REGCACHE_SYNC_OUT(); return; L_08A49E18: - { const bool branch_taken = ctx.gpr[2] == 0u; - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1040))); + { const bool branch_taken = aot_gpr_2 == 0u; + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1040))); if (branch_taken) { goto L_08A49E28; } @@ -4622,7 +4623,7 @@ L_08A49E18: } L_08A49E20: { const bool branch_taken = 0u == 0u; - ctx.gpr[20] = (aot_gpr_16 | 0u); + ctx.gpr[20] = (ctx.gpr[16] | 0u); if (branch_taken) { goto L_08A49E2C; } @@ -4637,8 +4638,8 @@ L_08A49E2C: aot_gpr_4 = (aot_gpr_4 ^ 6u); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); - aot_gpr_16 = (aot_gpr_4 | ctx.gpr[20]); - aot_gpr_16 = (0u < aot_gpr_16 ? 1u : 0u); + ctx.gpr[16] = (aot_gpr_4 | ctx.gpr[20]); + ctx.gpr[16] = (0u < ctx.gpr[16] ? 1u : 0u); aot_gpr_4 = (0u | 0u); { const bool branch_taken = ctx.gpr[20] == 0u; // nop @@ -4662,7 +4663,7 @@ L_08A49E60: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A49E70u) goto L_08A49E70; AOT_REGCACHE_SYNC_OUT(); return; L_08A49E70: - aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(96), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(736))); aot_mem.aot_direct_store8(ctx.gpr[20] + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(96))); @@ -4692,7 +4693,7 @@ L_08A49EA4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(1360))); goto L_08A49EA8; L_08A49EA8: - { const bool branch_taken = aot_gpr_16 == 0u; + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08A4AAD8; @@ -4751,7 +4752,7 @@ L_08A49EF0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 319u, 0x0890D46Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A49EF8u) goto L_08A49EF8; AOT_REGCACHE_SYNC_OUT(); return; L_08A49EF8: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08A4AAD8; @@ -4779,7 +4780,7 @@ L_08A49F10: L_08A49F18: ctx.gpr[17] = (ctx.gpr[21] | 0u); { const bool branch_taken = 0u == 0u; - aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(2228))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(2228))); if (branch_taken) { goto L_08A49F58; } @@ -4801,17 +4802,17 @@ L_08A49F34: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A49F44u) goto L_08A49F44; AOT_REGCACHE_SYNC_OUT(); return; L_08A49F44: - aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(96), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(737))); aot_mem.aot_direct_store8(ctx.gpr[20] + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(96))); goto L_08A49F54; L_08A49F54: - aot_gpr_16 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(180))); + ctx.gpr[16] = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(180))); goto L_08A49F58; L_08A49F58: aot_gpr_4 = (0u | 57u); - { const bool branch_taken = aot_gpr_16 == aot_gpr_4; + { const bool branch_taken = ctx.gpr[16] == aot_gpr_4; aot_gpr_4 = (0u | 58u); if (branch_taken) { goto L_08A4A8B4; @@ -4819,7 +4820,7 @@ L_08A49F58: goto L_08A49F64; } L_08A49F64: - { const bool branch_taken = aot_gpr_16 == aot_gpr_4; + { const bool branch_taken = ctx.gpr[16] == aot_gpr_4; // nop if (branch_taken) { goto L_08A4A8B4; @@ -4872,7 +4873,7 @@ L_08A49FAC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 618u, 0x08906DC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A49FB8u) goto L_08A49FB8; AOT_REGCACHE_SYNC_OUT(); return; L_08A49FB8: - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (aot_gpr_2 | 0u); { const bool branch_taken = 0u == 0u; ctx.gpr[23] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(1036))); if (branch_taken) { @@ -4897,7 +4898,7 @@ L_08A49FD0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A49FE0u) goto L_08A49FE0; AOT_REGCACHE_SYNC_OUT(); return; L_08A49FE0: - aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(96), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(738))); aot_mem.aot_direct_store8(ctx.gpr[20] + static_cast(4), static_cast(aot_gpr_4)); goto L_08A49FEC; @@ -4909,7 +4910,7 @@ L_08A49FEC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 605u, 0x08906CD8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A49FFCu) goto L_08A49FFC; AOT_REGCACHE_SYNC_OUT(); return; L_08A49FFC: - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (aot_gpr_2 | 0u); goto L_08A4A000; L_08A4A000: { const bool branch_taken = ctx.gpr[17] == 0u; @@ -4935,7 +4936,7 @@ L_08A4A014: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0056_entry, 56u, 36u, 0x088E43E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4A020u) goto L_08A4A020; AOT_REGCACHE_SYNC_OUT(); return; L_08A4A020: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08A4A034; @@ -4954,7 +4955,7 @@ L_08A4A034: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 620u, 0x08906DE4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4A03Cu) goto L_08A4A03C; AOT_REGCACHE_SYNC_OUT(); return; L_08A4A03C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08A4A064; @@ -4998,7 +4999,7 @@ L_08A4A078: aot_fpr_12 = std::bit_cast(ctx.gpr[30]); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(31))); - ctx.gpr[8] = (aot_gpr_16 & 255u); + ctx.gpr[8] = (ctx.gpr[16] & 255u); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08A4A098u); @@ -5104,10 +5105,10 @@ L_08A4A120: L_08A4A130: aot_gpr_31 = (0x08A4A138u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4A138u) goto L_08A4A138; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4A138u) goto L_08A4A138; AOT_REGCACHE_SYNC_OUT(); return; L_08A4A138: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08A4A26C; @@ -5180,7 +5181,7 @@ L_08A4A1B0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 600u, 0x08A66CD8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4A200u) goto L_08A4A200; AOT_REGCACHE_SYNC_OUT(); return; L_08A4A200: - aot_gpr_6 = (aot_gpr_16 + static_cast(28)); + aot_gpr_6 = (ctx.gpr[16] + static_cast(28)); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (0u | 1500u); aot_gpr_31 = (0x08A4A214u); @@ -5219,7 +5220,7 @@ L_08A4A240: aot_fpr_12 = std::bit_cast(ctx.gpr[30]); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(31))); - ctx.gpr[8] = (aot_gpr_16 & 255u); + ctx.gpr[8] = (ctx.gpr[16] & 255u); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08A4A264u); @@ -5240,7 +5241,7 @@ L_08A4A26C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 327u, 0x08911284u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4A274u) goto L_08A4A274; AOT_REGCACHE_SYNC_OUT(); return; L_08A4A274: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08A4A39C; @@ -5250,10 +5251,10 @@ L_08A4A274: L_08A4A27C: aot_gpr_31 = (0x08A4A284u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4A284u) goto L_08A4A284; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4A284u) goto L_08A4A284; AOT_REGCACHE_SYNC_OUT(); return; L_08A4A284: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08A4A32C; @@ -5294,11 +5295,11 @@ L_08A4A2BC: L_08A4A2C0: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(80))); aot_gpr_31 = (0x08A4A2CCu); - aot_gpr_6 = (aot_gpr_16 + static_cast(32)); + aot_gpr_6 = (ctx.gpr[16] + static_cast(32)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 600u, 0x0893E5E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4A2CCu) goto L_08A4A2CC; AOT_REGCACHE_SYNC_OUT(); return; L_08A4A2CC: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08A4A2FC; @@ -5307,7 +5308,7 @@ L_08A4A2CC: } L_08A4A2D4: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(80))); - ctx.gpr[7] = (aot_gpr_16 + static_cast(32)); + ctx.gpr[7] = (ctx.gpr[16] + static_cast(32)); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08A4A2E8u); aot_gpr_6 = (0u | 0u); @@ -5315,10 +5316,10 @@ L_08A4A2D4: AOT_REGCACHE_SYNC_OUT(); return; L_08A4A2E8: aot_fpr_12 = std::bit_cast(0u); - aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(16), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(aot_gpr_2 + static_cast(16), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (16640u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(36), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(aot_gpr_2 + static_cast(36), std::bit_cast(aot_fpr_12)); goto L_08A4A2FC; L_08A4A2FC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(4))); @@ -5373,11 +5374,11 @@ L_08A4A348: L_08A4A34C: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(80))); aot_gpr_31 = (0x08A4A358u); - aot_gpr_6 = (aot_gpr_16 + static_cast(32)); + aot_gpr_6 = (ctx.gpr[16] + static_cast(32)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 600u, 0x0893E5E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4A358u) goto L_08A4A358; AOT_REGCACHE_SYNC_OUT(); return; L_08A4A358: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08A4A39C; @@ -5401,17 +5402,17 @@ L_08A4A374: goto L_08A4A378; L_08A4A378: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(80))); - ctx.gpr[7] = (aot_gpr_16 + static_cast(32)); + ctx.gpr[7] = (ctx.gpr[16] + static_cast(32)); aot_gpr_31 = (0x08A4A388u); aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 635u, 0x0893E914u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4A388u) goto L_08A4A388; AOT_REGCACHE_SYNC_OUT(); return; L_08A4A388: aot_fpr_12 = std::bit_cast(0u); - aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(16), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(aot_gpr_2 + static_cast(16), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (16640u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(36), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(aot_gpr_2 + static_cast(36), std::bit_cast(aot_fpr_12)); goto L_08A4A39C; L_08A4A39C: aot_gpr_5 = (ctx.gpr[23] & 255u); @@ -5445,7 +5446,7 @@ L_08A4A3C8: aot_fpr_12 = std::bit_cast(ctx.gpr[30]); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(31))); - ctx.gpr[8] = (aot_gpr_16 & 255u); + ctx.gpr[8] = (ctx.gpr[16] & 255u); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08A4A3ECu); @@ -5645,7 +5646,7 @@ L_08A4A598: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(197), static_cast(aot_gpr_4)); ctx.gpr[1] = (static_cast(static_cast(aot_gpr_4) >> 8u)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(198), static_cast(ctx.gpr[1])); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(203), static_cast(aot_gpr_16)); + aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(203), static_cast(ctx.gpr[16])); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(4))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(202), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(31))); @@ -5707,7 +5708,7 @@ L_08A4A630: goto L_08A4A63C; } L_08A4A63C: - aot_gpr_16 = (0u | 8u); + ctx.gpr[16] = (0u | 8u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(4))); aot_gpr_5 = (0u | 23u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; @@ -5748,7 +5749,7 @@ L_08A4A670: goto L_08A4A680; } L_08A4A680: - aot_gpr_16 = (0u | 32u); + ctx.gpr[16] = (0u | 32u); goto L_08A4A684; L_08A4A684: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); @@ -5809,7 +5810,7 @@ L_08A4A684: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 50u, 0x08AD0530u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4A6E8u) goto L_08A4A6E8; AOT_REGCACHE_SYNC_OUT(); return; L_08A4A6E8: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08A4A754; @@ -5818,7 +5819,7 @@ L_08A4A6E8: } L_08A4A6F0: ctx.gpr[23] = (0u | 0u); - aot_gpr_4 = (static_cast(ctx.gpr[23]) < static_cast(aot_gpr_16) ? 1u : 0u); + aot_gpr_4 = (static_cast(ctx.gpr[23]) < static_cast(ctx.gpr[16]) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -5848,7 +5849,7 @@ L_08A4A700: L_08A4A740: ctx.gpr[23] = (ctx.gpr[23] + static_cast(1)); ctx.gpr[23] = (ctx.gpr[23] & 255u); - aot_gpr_4 = (static_cast(ctx.gpr[23]) < static_cast(aot_gpr_16) ? 1u : 0u); + aot_gpr_4 = (static_cast(ctx.gpr[23]) < static_cast(ctx.gpr[16]) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -5873,13 +5874,13 @@ L_08A4A764: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(292), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(296), std::bit_cast(aot_fpr_12)); - aot_gpr_16 = (aot_gpr_29 + static_cast(288)); + ctx.gpr[16] = (aot_gpr_29 + static_cast(288)); aot_fpr_20 = std::bit_cast(0u); { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_20)}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(304), aot_run_words); } ctx.gpr[22] = (aot_gpr_29 + static_cast(304)); aot_gpr_4 = (0u | 81u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_6 = (ctx.gpr[22] | 0u); ctx.gpr[7] = (0u | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); @@ -5906,7 +5907,7 @@ L_08A4A7BC: ctx.fpr[24] = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(324), std::bit_cast(ctx.fpr[24])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(328), std::bit_cast(aot_fpr_20)); - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -5954,7 +5955,7 @@ L_08A4A844: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(296), std::bit_cast(aot_fpr_12)); { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[22]), std::bit_cast(aot_fpr_20)}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(320), aot_run_words); } - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -6067,7 +6068,7 @@ L_08A4A8C0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 50u, 0x08AD0530u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4A924u) goto L_08A4A924; AOT_REGCACHE_SYNC_OUT(); return; L_08A4A924: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08A4A9C0; @@ -6155,7 +6156,7 @@ L_08A4A9C0: } L_08A4A9C8: aot_gpr_4 = (0u | 58u); - { const bool branch_taken = aot_gpr_16 != aot_gpr_4; + { const bool branch_taken = ctx.gpr[16] != aot_gpr_4; // nop if (branch_taken) { goto L_08A4AA80; @@ -6169,7 +6170,7 @@ L_08A4A9D4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 211u, 0x0886D4F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4A9E0u) goto L_08A4A9E0; AOT_REGCACHE_SYNC_OUT(); return; L_08A4A9E0: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08A4AA20; @@ -6202,7 +6203,7 @@ L_08A4AA00: AOT_REGCACHE_SYNC_OUT(); return; L_08A4AA18: { const bool branch_taken = 0u == 0u; - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (aot_gpr_2 | 0u); if (branch_taken) { goto L_08A4AA54; } @@ -6233,10 +6234,10 @@ L_08A4AA38: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 650u, 0x0893EA14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4AA50u) goto L_08A4AA50; AOT_REGCACHE_SYNC_OUT(); return; L_08A4AA50: - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (aot_gpr_2 | 0u); goto L_08A4AA54; L_08A4AA54: - { const bool branch_taken = aot_gpr_16 == 0u; + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08A4AA80; @@ -6246,16 +6247,16 @@ L_08A4AA54: L_08A4AA5C: aot_fpr_12 = std::bit_cast(0u); aot_gpr_31 = (0x08A4AA68u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 73u, 0x08890474u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4AA68u) goto L_08A4AA68; AOT_REGCACHE_SYNC_OUT(); return; L_08A4AA68: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(8))); aot_gpr_4 = (aot_gpr_4 | 1u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(8), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(8), aot_gpr_4); aot_gpr_5 = (0u + static_cast(-9)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(8), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(8), aot_gpr_4); goto L_08A4AA80; L_08A4AA80: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7080))); @@ -6339,20 +6340,20 @@ L_08A4AAF4: L_08A4AB0C: aot_gpr_31 = (0x08A4AB14u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4AB14u) goto L_08A4AB14; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4AB14u) goto L_08A4AB14; AOT_REGCACHE_SYNC_OUT(); return; L_08A4AB14: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 0u); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-6340))); aot_gpr_31 = (0x08A4AB28u); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-6344))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4AB28u) goto L_08A4AB28; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4AB28u) goto L_08A4AB28; AOT_REGCACHE_SYNC_OUT(); return; L_08A4AB28: ctx.gpr[1] = (ctx.gpr[3] << 1u); aot_gpr_5 = (static_cast(static_cast(ctx.gpr[3]) >> 31u)); - aot_gpr_4 = (ctx.gpr[2] >> 31u); + aot_gpr_4 = (aot_gpr_2 >> 31u); aot_gpr_4 = (ctx.gpr[1] | aot_gpr_4); aot_gpr_4 = (aot_gpr_4 | 0u); { const bool branch_taken = aot_gpr_4 != 0u; @@ -6412,8 +6413,8 @@ L_08A4AB74: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4AB94u) goto L_08A4AB94; AOT_REGCACHE_SYNC_OUT(); return; L_08A4AB94: - aot_gpr_16 = (0u | 0u); - aot_gpr_4 = (static_cast(aot_gpr_16) < 4 ? 1u : 0u); + ctx.gpr[16] = (0u | 0u); + aot_gpr_4 = (static_cast(ctx.gpr[16]) < 4 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -6467,9 +6468,9 @@ L_08A4ABA4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0062_entry, 62u, 716u, 0x088FF060u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4AC20u) goto L_08A4AC20; AOT_REGCACHE_SYNC_OUT(); return; L_08A4AC20: - aot_gpr_16 = (aot_gpr_16 + static_cast(1)); - aot_gpr_16 = (aot_gpr_16 & 255u); - aot_gpr_4 = (static_cast(aot_gpr_16) < 4 ? 1u : 0u); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(1)); + ctx.gpr[16] = (ctx.gpr[16] & 255u); + aot_gpr_4 = (static_cast(ctx.gpr[16]) < 4 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -6530,8 +6531,8 @@ L_08A4AC6C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0192_entry, 192u, 71u, 0x08B0452Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4ACA0u) goto L_08A4ACA0; AOT_REGCACHE_SYNC_OUT(); return; L_08A4ACA0: - aot_gpr_16 = (0u | 0u); - aot_gpr_4 = (aot_gpr_16 < static_cast(16) ? 1u : 0u); + ctx.gpr[16] = (0u | 0u); + aot_gpr_4 = (ctx.gpr[16] < static_cast(16) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -6585,8 +6586,8 @@ L_08A4ACB0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0062_entry, 62u, 716u, 0x088FF060u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4AD2Cu) goto L_08A4AD2C; AOT_REGCACHE_SYNC_OUT(); return; L_08A4AD2C: - aot_gpr_16 = (aot_gpr_16 + static_cast(1)); - aot_gpr_4 = (aot_gpr_16 < static_cast(16) ? 1u : 0u); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(1)); + aot_gpr_4 = (ctx.gpr[16] < static_cast(16) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -6665,7 +6666,7 @@ L_08A4ADC0: aot_fpr_12 = std::bit_cast(aot_gpr_4); goto L_08A4ADC8; L_08A4ADC8: - aot_gpr_16 = (aot_gpr_29 + static_cast(528)); + ctx.gpr[16] = (aot_gpr_29 + static_cast(528)); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); aot_gpr_4 = (aot_gpr_29 + static_cast(544)); @@ -6684,7 +6685,7 @@ L_08A4ADC8: const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A4ADF4u); aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 464u, 0x08A931D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4ADF4u) goto L_08A4ADF4; @@ -6699,7 +6700,7 @@ L_08A4ADF4: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -6821,8 +6822,8 @@ L_08A4AEC0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0143_entry, 143u, 503u, 0x08A42E70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4AECCu) goto L_08A4AECC; AOT_REGCACHE_SYNC_OUT(); return; L_08A4AECC: - aot_gpr_16 = (ctx.gpr[21] | 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(236))); + ctx.gpr[16] = (ctx.gpr[21] | 0u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(236))); aot_gpr_4 = (aot_gpr_4 & 4u); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -6832,7 +6833,7 @@ L_08A4AECC: goto L_08A4AEE0; } L_08A4AEE0: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(460))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(460))); aot_gpr_4 = (17095u << 16u); aot_gpr_4 = (aot_gpr_4 | 52429u); aot_fpr_13 = std::bit_cast(aot_gpr_4); @@ -6846,7 +6847,7 @@ L_08A4AEE0: goto L_08A4AF00; } L_08A4AF00: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(72))); aot_gpr_5 = (aot_gpr_5 & 2048u); { const bool branch_taken = aot_gpr_5 != 0u; aot_gpr_4 = (0u | 0u); @@ -6856,7 +6857,7 @@ L_08A4AF00: goto L_08A4AF10; } L_08A4AF10: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(76))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(76))); aot_gpr_5 = (aot_gpr_5 & 2048u); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_4 = (aot_gpr_4 & 255u); @@ -6878,7 +6879,7 @@ L_08A4AF28: goto L_08A4AF30; } L_08A4AF30: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(456))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(456))); aot_fpr_13 = std::bit_cast(0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); // nop @@ -6892,18 +6893,18 @@ L_08A4AF30: L_08A4AF48: aot_gpr_4 = (0u | 0u); aot_gpr_4 = (aot_gpr_4 & 1u); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(72))); aot_gpr_6 = (0u + static_cast(-2049)); aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); aot_gpr_4 = (aot_gpr_4 << 11u); aot_gpr_4 = (aot_gpr_5 | aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(72), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(72), aot_gpr_4); aot_gpr_31 = (0x08A4AF70u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 463u, 0x08A66048u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4AF70u) goto L_08A4AF70; AOT_REGCACHE_SYNC_OUT(); return; L_08A4AF70: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(72))); aot_gpr_5 = (aot_gpr_5 & 2048u); { const bool branch_taken = aot_gpr_5 != 0u; aot_gpr_4 = (0u | 0u); @@ -6913,7 +6914,7 @@ L_08A4AF70: goto L_08A4AF80; } L_08A4AF80: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(76))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(76))); aot_gpr_5 = (aot_gpr_5 & 2048u); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_4 = (aot_gpr_4 & 255u); @@ -6968,7 +6969,7 @@ L_08A4AFA0: aot_fpr_14 = std::bit_cast(aot_run_words[2]); } aot_gpr_31 = (0x08A4AFF0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 600u, 0x08A66CD8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4AFF0u) goto L_08A4AFF0; AOT_REGCACHE_SYNC_OUT(); return; L_08A4AFF0: @@ -6980,15 +6981,15 @@ L_08A4AFF0: goto L_08A4AFF8; } L_08A4AFF8: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(473))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(473))); aot_gpr_4 = (static_cast(aot_gpr_4) < 3 ? 1u : 0u); if (aot_gpr_4 == 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(72))); goto L_08A4B018; } goto L_08A4B008; L_08A4B008: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(478)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(478)))))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -6997,7 +6998,7 @@ L_08A4B008: goto L_08A4B014; } L_08A4B014: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(72))); goto L_08A4B018; L_08A4B018: aot_gpr_5 = (1024u << 16u); @@ -7012,7 +7013,7 @@ L_08A4B018: L_08A4B028: aot_gpr_4 = (16968u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A4B03Cu); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0009_entry, 9u, 482u, 0x0882BFC8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4B03Cu) goto L_08A4B03C; @@ -7021,7 +7022,7 @@ L_08A4B03C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(4))); aot_gpr_4 = (aot_gpr_4 << 24u); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 24u)); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(91), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(91), static_cast(aot_gpr_4)); goto L_08A4B04C; L_08A4B04C: { const bool branch_taken = 0u == 0u; @@ -7040,8 +7041,8 @@ L_08A4B054: goto L_08A4B05C; } L_08A4B05C: - aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(352))); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(352))); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08A4B094; @@ -7049,11 +7050,11 @@ L_08A4B05C: goto L_08A4B068; } L_08A4B068: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(108))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(108))); ctx.gpr[17] = (aot_gpr_4 + static_cast(16)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(0)))))); aot_gpr_31 = (0x08A4B07Cu); - ctx.gpr[23] = (aot_gpr_16 + aot_gpr_4); + ctx.gpr[23] = (ctx.gpr[16] + aot_gpr_4); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0158_entry, 158u, 666u, 0x08A7FAA4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4B07Cu) goto L_08A4B07C; AOT_REGCACHE_SYNC_OUT(); return; L_08A4B07C: @@ -7061,12 +7062,12 @@ L_08A4B07C: aot_gpr_4 = (ctx.gpr[23] | 0u); jump_target = aot_gpr_6; aot_gpr_31 = (0x08A4B08Cu); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4B08Cu) goto L_08A4B08C; AOT_REGCACHE_SYNC_OUT(); return; L_08A4B08C: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08A4B09C; @@ -7075,14 +7076,14 @@ L_08A4B08C: } L_08A4B094: { const bool branch_taken = 0u == 0u; - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); if (branch_taken) { goto L_08A4B09C; } goto L_08A4B09C; } L_08A4B09C: - { const bool branch_taken = aot_gpr_16 == 0u; + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08A4B208; @@ -7105,7 +7106,7 @@ L_08A4B0BC: aot_gpr_6 = (aot_gpr_5 + static_cast(4)); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); { const bool branch_taken = aot_gpr_6 == 0u; - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (branch_taken) { goto L_08A4B10C; } @@ -7204,7 +7205,7 @@ L_08A4B190: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(659), static_cast(aot_gpr_4)); ctx.gpr[1] = (static_cast(static_cast(aot_gpr_4) >> 8u)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(660), static_cast(ctx.gpr[1])); - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(8))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(8))); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(1036))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(661), static_cast(aot_gpr_4)); ctx.gpr[1] = (static_cast(static_cast(aot_gpr_4) >> 8u)); @@ -7245,7 +7246,7 @@ L_08A4B1E0: aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); aot_gpr_5 = (aot_gpr_29 + static_cast(656)); aot_gpr_31 = (0x08A4B208u); - aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(3)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(3)))))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 189u, 0x08ADCA34u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4B208u) goto L_08A4B208; AOT_REGCACHE_SYNC_OUT(); return; L_08A4B208: @@ -7299,7 +7300,7 @@ L_08A4B26C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4B274u) goto L_08A4B274; AOT_REGCACHE_SYNC_OUT(); return; L_08A4B274: - { const bool branch_taken = ctx.gpr[19] != ctx.gpr[2]; + { const bool branch_taken = ctx.gpr[19] != aot_gpr_2; // nop if (branch_taken) { goto L_08A4B288; @@ -7335,7 +7336,7 @@ L_08A4B2AC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4B2B4u) goto L_08A4B2B4; AOT_REGCACHE_SYNC_OUT(); return; L_08A4B2B4: - { const bool branch_taken = ctx.gpr[19] != ctx.gpr[2]; + { const bool branch_taken = ctx.gpr[19] != aot_gpr_2; // nop if (branch_taken) { goto L_08A4B2C8; @@ -7401,7 +7402,7 @@ L_08A4B324: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4B32Cu) goto L_08A4B32C; AOT_REGCACHE_SYNC_OUT(); return; L_08A4B32C: - { const bool branch_taken = ctx.gpr[19] != ctx.gpr[2]; + { const bool branch_taken = ctx.gpr[19] != aot_gpr_2; // nop if (branch_taken) { goto L_08A4B340; @@ -7466,7 +7467,7 @@ L_08A4B3A0: L_08A4B3A8: aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(4))); aot_gpr_4 = (ctx.gpr[23] | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A4B3BCu); ctx.gpr[7] = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0041_entry, 41u, 324u, 0x088AA4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4B3BCu) goto L_08A4B3BC; @@ -7501,7 +7502,7 @@ L_08A4B3F0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4B3F8u) goto L_08A4B3F8; AOT_REGCACHE_SYNC_OUT(); return; L_08A4B3F8: - { const bool branch_taken = ctx.gpr[19] != ctx.gpr[2]; + { const bool branch_taken = ctx.gpr[19] != aot_gpr_2; // nop if (branch_taken) { goto L_08A4B448; @@ -7515,25 +7516,25 @@ L_08A4B400: AOT_REGCACHE_SYNC_OUT(); return; L_08A4B408: aot_gpr_31 = (0x08A4B410u); - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4B410u) goto L_08A4B410; AOT_REGCACHE_SYNC_OUT(); return; L_08A4B410: - aot_gpr_4 = (ctx.gpr[2] + static_cast(48)); + aot_gpr_4 = (aot_gpr_2 + static_cast(48)); aot_gpr_31 = (0x08A4B41Cu); aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4B41Cu) goto L_08A4B41C; AOT_REGCACHE_SYNC_OUT(); return; L_08A4B41C: - aot_gpr_4 = (ctx.gpr[2] + static_cast(48)); + aot_gpr_4 = (aot_gpr_2 + static_cast(48)); aot_gpr_31 = (0x08A4B428u); ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4B428u) goto L_08A4B428; AOT_REGCACHE_SYNC_OUT(); return; L_08A4B428: - aot_gpr_4 = (ctx.gpr[2] + static_cast(48)); + aot_gpr_4 = (aot_gpr_2 + static_cast(48)); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 240u); aot_gpr_6 = (0u | 128u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); @@ -7552,7 +7553,7 @@ L_08A4B450: aot_fpr_20 = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); - aot_gpr_16 = aot_run_words[3]; + ctx.gpr[16] = aot_run_words[3]; ctx.gpr[17] = aot_run_words[4]; ctx.gpr[18] = aot_run_words[5]; ctx.gpr[19] = aot_run_words[6]; @@ -7571,19 +7572,19 @@ L_08A4B450: AOT_REGCACHE_SYNC_OUT(); return; L_08A4B48C: aot_gpr_29 = (aot_gpr_29 + static_cast(-352)); - { const std::uint32_t aot_run_words[11]{std::bit_cast(aot_fpr_20), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; + { const std::uint32_t aot_run_words[11]{std::bit_cast(aot_fpr_20), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(308), aot_run_words); } aot_fpr_20 = std::bit_cast(std::bit_cast(aot_fpr_12)); ctx.gpr[21] = (aot_gpr_6 | 0u); ctx.gpr[20] = (aot_gpr_5 | 0u); ctx.gpr[23] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); aot_gpr_31 = (0x08A4B4D8u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4B4D8u) goto L_08A4B4D8; AOT_REGCACHE_SYNC_OUT(); return; L_08A4B4D8: - { const bool branch_taken = ctx.gpr[20] != ctx.gpr[2]; + { const bool branch_taken = ctx.gpr[20] != aot_gpr_2; ctx.gpr[22] = (aot_gpr_29 + static_cast(16)); if (branch_taken) { goto L_08A4B4FC; @@ -7597,11 +7598,11 @@ L_08A4B4E0: AOT_REGCACHE_SYNC_OUT(); return; L_08A4B4E8: aot_gpr_31 = (0x08A4B4F0u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 707u, 0x089476BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4B4F0u) goto L_08A4B4F0; AOT_REGCACHE_SYNC_OUT(); return; L_08A4B4F0: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08A4B4FC; @@ -7609,12 +7610,12 @@ L_08A4B4F0: goto L_08A4B4F8; } L_08A4B4F8: - aot_gpr_16 = (0u | 1u); + ctx.gpr[16] = (0u | 1u); goto L_08A4B4FC; L_08A4B4FC: aot_gpr_4 = (0u | 13u); if (ctx.gpr[23] != aot_gpr_4) { - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(304), static_cast(aot_gpr_16)); + aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(304), static_cast(ctx.gpr[16])); goto L_08A4B618; } goto L_08A4B508; @@ -7625,18 +7626,18 @@ L_08A4B508: aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); if (aot_gpr_4 == 0u) { - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(304), static_cast(aot_gpr_16)); + aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(304), static_cast(ctx.gpr[16])); goto L_08A4B618; } goto L_08A4B524; L_08A4B524: aot_gpr_31 = (0x08A4B52Cu); aot_gpr_4 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4B52Cu) goto L_08A4B52C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4B52Cu) goto L_08A4B52C; AOT_REGCACHE_SYNC_OUT(); return; L_08A4B52C: - if (ctx.gpr[2] == 0u) { - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(304), static_cast(aot_gpr_16)); + if (aot_gpr_2 == 0u) { + aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(304), static_cast(ctx.gpr[16])); goto L_08A4B618; } goto L_08A4B534; @@ -7647,19 +7648,19 @@ L_08A4B534: AOT_REGCACHE_SYNC_OUT(); return; L_08A4B53C: aot_gpr_31 = (0x08A4B544u); - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4B544u) goto L_08A4B544; AOT_REGCACHE_SYNC_OUT(); return; L_08A4B544: ctx.gpr[18] = (0u | 36u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08A4B554u); aot_gpr_5 = (0u | 36u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 51u, 0x089082A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4B554u) goto L_08A4B554; AOT_REGCACHE_SYNC_OUT(); return; L_08A4B554: - aot_gpr_4 = (ctx.gpr[2] << 5u); - aot_gpr_5 = (ctx.gpr[2] << 2u); + aot_gpr_4 = (aot_gpr_2 << 5u); + aot_gpr_5 = (aot_gpr_2 << 2u); aot_gpr_4 = (aot_gpr_4 - aot_gpr_5); aot_gpr_4 = (ctx.gpr[17] + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); @@ -7678,18 +7679,18 @@ L_08A4B574: AOT_REGCACHE_SYNC_OUT(); return; L_08A4B57C: aot_gpr_31 = (0x08A4B584u); - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4B584u) goto L_08A4B584; AOT_REGCACHE_SYNC_OUT(); return; L_08A4B584: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08A4B590u); aot_gpr_5 = (0u | 36u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 51u, 0x089082A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4B590u) goto L_08A4B590; AOT_REGCACHE_SYNC_OUT(); return; L_08A4B590: - aot_gpr_4 = (ctx.gpr[2] << 5u); - aot_gpr_5 = (ctx.gpr[2] << 2u); + aot_gpr_4 = (aot_gpr_2 << 5u); + aot_gpr_5 = (aot_gpr_2 << 2u); aot_gpr_4 = (aot_gpr_4 - aot_gpr_5); aot_gpr_4 = (ctx.gpr[17] + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); @@ -7707,7 +7708,7 @@ L_08A4B5B0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4B5B8u) goto L_08A4B5B8; AOT_REGCACHE_SYNC_OUT(); return; L_08A4B5B8: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 36u); aot_gpr_6 = (0u | 1u); aot_gpr_31 = (0x08A4B5CCu); @@ -7721,18 +7722,18 @@ L_08A4B5CC: AOT_REGCACHE_SYNC_OUT(); return; L_08A4B5D4: aot_gpr_31 = (0x08A4B5DCu); - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4B5DCu) goto L_08A4B5DC; AOT_REGCACHE_SYNC_OUT(); return; L_08A4B5DC: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08A4B5E8u); aot_gpr_5 = (0u | 36u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 51u, 0x089082A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4B5E8u) goto L_08A4B5E8; AOT_REGCACHE_SYNC_OUT(); return; L_08A4B5E8: - aot_gpr_4 = (ctx.gpr[2] << 5u); - aot_gpr_5 = (ctx.gpr[2] << 2u); + aot_gpr_4 = (aot_gpr_2 << 5u); + aot_gpr_5 = (aot_gpr_2 << 2u); aot_gpr_4 = (aot_gpr_4 - aot_gpr_5); aot_gpr_4 = (ctx.gpr[17] + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); @@ -7742,13 +7743,13 @@ L_08A4B5E8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4B608u) goto L_08A4B608; AOT_REGCACHE_SYNC_OUT(); return; L_08A4B608: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08A4B614u); aot_gpr_5 = (0u | 36u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 28u, 0x0890816Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4B614u) goto L_08A4B614; AOT_REGCACHE_SYNC_OUT(); return; L_08A4B614: - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(304), static_cast(aot_gpr_16)); + aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(304), static_cast(ctx.gpr[16])); goto L_08A4B618; L_08A4B618: aot_gpr_4 = (0u | 32u); @@ -7789,10 +7790,10 @@ L_08A4B624: L_08A4B64C: aot_gpr_31 = (0x08A4B654u); aot_gpr_4 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4B654u) goto L_08A4B654; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4B654u) goto L_08A4B654; AOT_REGCACHE_SYNC_OUT(); return; L_08A4B654: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08A4B7F4; @@ -7952,7 +7953,7 @@ L_08A4B7E0: } L_08A4B7EC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08A4BB28; } @@ -7969,7 +7970,7 @@ L_08A4B800: ctx.gpr[19] = (aot_gpr_29 + static_cast(32)); goto L_08A4B808; L_08A4B808: - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(304), static_cast(aot_gpr_16)); + aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(304), static_cast(ctx.gpr[16])); { const std::uint32_t vfpu_address = ctx.gpr[21] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -8011,12 +8012,12 @@ L_08A4B81C: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>(); - aot_gpr_16 = (aot_gpr_29 + static_cast(48)); + ctx.gpr[16] = (aot_gpr_29 + static_cast(48)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -8147,10 +8148,10 @@ L_08A4B8E4: ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -8221,10 +8222,10 @@ L_08A4B8E4: ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -8254,8 +8255,8 @@ L_08A4B940: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0036_entry, 36u, 527u, 0x088967ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4B970u) goto L_08A4B970; AOT_REGCACHE_SYNC_OUT(); return; L_08A4B970: - { const bool branch_taken = ctx.gpr[2] != 0u; - aot_gpr_16 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(304))); + { const bool branch_taken = aot_gpr_2 != 0u; + ctx.gpr[16] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(304))); if (branch_taken) { goto L_08A4BA84; } @@ -8385,7 +8386,7 @@ L_08A4B9C0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0037_entry, 37u, 487u, 0x0889ACD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4BA34u) goto L_08A4BA34; AOT_REGCACHE_SYNC_OUT(); return; L_08A4BA34: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08A4BA64; @@ -8411,7 +8412,7 @@ L_08A4BA3C: aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_5 = (ctx.gpr[23] | 0u); aot_gpr_31 = (0x08A4BA5Cu); - ctx.gpr[7] = (aot_gpr_16 | 0u); + ctx.gpr[7] = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0031_entry, 31u, 101u, 0x088809F8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4BA5Cu) goto L_08A4BA5C; AOT_REGCACHE_SYNC_OUT(); return; L_08A4BA5C: @@ -8469,7 +8470,7 @@ L_08A4BA84: aot_gpr_5 = (ctx.gpr[23] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_31 = (0x08A4BAA4u); - ctx.gpr[7] = (aot_gpr_16 | 0u); + ctx.gpr[7] = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0031_entry, 31u, 101u, 0x088809F8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4BAA4u) goto L_08A4BAA4; AOT_REGCACHE_SYNC_OUT(); return; L_08A4BAA4: @@ -8535,13 +8536,13 @@ L_08A4BB0C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0095_entry, 95u, 24u, 0x0898019Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4BB24u) goto L_08A4BB24; AOT_REGCACHE_SYNC_OUT(); return; L_08A4BB24: - ctx.gpr[2] = (ctx.gpr[30] | 0u); + aot_gpr_2 = (ctx.gpr[30] | 0u); goto L_08A4BB28; L_08A4BB28: { std::uint32_t aot_run_words[11]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(308), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); - aot_gpr_16 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[1]; ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; ctx.gpr[19] = aot_run_words[4]; @@ -8560,17 +8561,17 @@ L_08A4BB28: AOT_REGCACHE_SYNC_OUT(); return; L_08A4BB5C: aot_gpr_29 = (aot_gpr_29 + static_cast(-320)); - { const std::uint32_t aot_run_words[13]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; + { const std::uint32_t aot_run_words[13]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(260), aot_run_words); } ctx.gpr[19] = (aot_gpr_6 | 0u); ctx.gpr[17] = (aot_gpr_5 | 0u); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_31 = (0x08A4BBA8u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4BBA8u) goto L_08A4BBA8; + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4BBA8u) goto L_08A4BBA8; AOT_REGCACHE_SYNC_OUT(); return; L_08A4BBA8: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); { const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -8638,7 +8639,7 @@ L_08A4BC0C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4BC24u) goto L_08A4BC24; AOT_REGCACHE_SYNC_OUT(); return; L_08A4BC24: - { const bool branch_taken = ctx.gpr[17] != ctx.gpr[2]; + { const bool branch_taken = ctx.gpr[17] != aot_gpr_2; ctx.gpr[20] = (2236u << 16u); if (branch_taken) { goto L_08A4BCC4; @@ -8652,7 +8653,7 @@ L_08A4BC2C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0101_entry, 101u, 124u, 0x08999134u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4BC38u) goto L_08A4BC38; AOT_REGCACHE_SYNC_OUT(); return; L_08A4BC38: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08A4BC58; @@ -8996,7 +8997,7 @@ L_08A4BE10: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } goto L_08A4BE2C; L_08A4BE2C: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); { const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -9085,8 +9086,8 @@ L_08A4BE7C: ctx.gpr[9] = (ctx.gpr[7] + static_cast(8)); ctx.gpr[10] = (aot_gpr_29 + static_cast(172)); ctx.gpr[11] = (ctx.gpr[10] + static_cast(4)); - ctx.gpr[2] = (ctx.gpr[10] + static_cast(8)); - ctx.gpr[3] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_2 = (ctx.gpr[10] + static_cast(8)); + ctx.gpr[3] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(147), static_cast(ctx.gpr[3])); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(32))); ctx.gpr[3] = (std::bit_cast(aot_fpr_12)); @@ -9122,19 +9123,19 @@ L_08A4BE7C: aot_mem.aot_direct_store_word_right(ctx.gpr[11] + static_cast(0), aot_gpr_4); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(56))); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); - aot_mem.aot_direct_store_word_left(ctx.gpr[2] + static_cast(3), aot_gpr_4); - aot_mem.aot_direct_store_word_right(ctx.gpr[2] + static_cast(0), aot_gpr_4); + aot_mem.aot_direct_store_word_left(aot_gpr_2 + static_cast(3), aot_gpr_4); + aot_mem.aot_direct_store_word_right(aot_gpr_2 + static_cast(0), aot_gpr_4); aot_gpr_4 = (2237u << 16u); - aot_gpr_16 = (aot_gpr_4 + static_cast(-28736)); - aot_gpr_4 = (aot_gpr_16 | 0u); + ctx.gpr[16] = (aot_gpr_4 + static_cast(-28736)); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A4BF60u); aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0143_entry, 143u, 456u, 0x08A427C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4BF60u) goto L_08A4BF60; AOT_REGCACHE_SYNC_OUT(); return; L_08A4BF60: - aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(8))); + aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(8))); aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(184), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08A4BF78u); aot_gpr_6 = (0u + static_cast(-1)); @@ -9146,7 +9147,7 @@ L_08A4BF78: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4BF80u) goto L_08A4BF80; AOT_REGCACHE_SYNC_OUT(); return; L_08A4BF80: - { const bool branch_taken = ctx.gpr[17] != ctx.gpr[2]; + { const bool branch_taken = ctx.gpr[17] != aot_gpr_2; // nop if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0146_entry, 146u, 5u, 0x08A4C030u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; @@ -9154,7 +9155,7 @@ L_08A4BF80: goto L_08A4BF88; } L_08A4BF88: - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); ctx.gpr[19] = (0u | 1u); ctx.gpr[20] = (0u | 9u); goto L_08A4BF94; @@ -9164,8 +9165,8 @@ L_08A4BF94: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4BF9Cu) goto L_08A4BF9C; AOT_REGCACHE_SYNC_OUT(); return; L_08A4BF9C: - aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(1914))); - aot_gpr_4 = (static_cast(aot_gpr_16) < static_cast(aot_gpr_4) ? 1u : 0u); + aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(1914))); + aot_gpr_4 = (static_cast(ctx.gpr[16]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -9179,8 +9180,8 @@ L_08A4BFAC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4BFB4u) goto L_08A4BFB4; AOT_REGCACHE_SYNC_OUT(); return; L_08A4BFB4: - ctx.gpr[18] = (aot_gpr_16 << 2u); - aot_gpr_4 = (ctx.gpr[2] + ctx.gpr[18]); + ctx.gpr[18] = (ctx.gpr[16] << 2u); + aot_gpr_4 = (aot_gpr_2 + ctx.gpr[18]); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1784))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(2276))); { const bool branch_taken = aot_gpr_4 != ctx.gpr[19]; @@ -9196,13 +9197,13 @@ L_08A4BFCC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4BFD4u) goto L_08A4BFD4; AOT_REGCACHE_SYNC_OUT(); return; L_08A4BFD4: - aot_gpr_4 = (ctx.gpr[2] + ctx.gpr[18]); + aot_gpr_4 = (aot_gpr_2 + ctx.gpr[18]); aot_gpr_31 = (0x08A4BFE0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1784))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 620u, 0x08906DE4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4BFE0u) goto L_08A4BFE0; AOT_REGCACHE_SYNC_OUT(); return; L_08A4BFE0: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0146_entry, 146u, 4u, 0x08A4C024u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; @@ -9215,7 +9216,7 @@ L_08A4BFE8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4BFF0u) goto L_08A4BFF0; AOT_REGCACHE_SYNC_OUT(); return; L_08A4BFF0: - aot_gpr_4 = (ctx.gpr[2] + ctx.gpr[18]); + aot_gpr_4 = (aot_gpr_2 + ctx.gpr[18]); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1784))); aot_gpr_4 = (aot_gpr_4 + static_cast(2228)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); diff --git a/profiles/vcs/generated/generated_unit_0146.cpp b/profiles/vcs/generated/generated_unit_0146.cpp index d48c42b..e74cf55 100644 --- a/profiles/vcs/generated/generated_unit_0146.cpp +++ b/profiles/vcs/generated/generated_unit_0146.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0146[4088] = { }; void recomp_unit_0146_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,6,31,16 fprs=12,13,14,20 gpr_occ=3702 fpr_occ=1078 gpr_total=4929 fpr_total=1294 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,6,31,2 fprs=12,13,14,20 gpr_occ=3806 fpr_occ=1079 gpr_total=5108 fpr_total=1295 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_6 = ctx.gpr[6]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; - std::uint32_t aot_gpr_16 = ctx.gpr[16]; + std::uint32_t aot_gpr_2 = ctx.gpr[2]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_14 = ctx.fpr[14]; float aot_fpr_20 = ctx.fpr[20]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[6] = aot_gpr_6; ctx.gpr[31] = aot_gpr_31; ctx.gpr[16] = aot_gpr_16; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[20] = aot_fpr_20; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_16 = ctx.gpr[16]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_20 = ctx.fpr[20]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[6] = aot_gpr_6; ctx.gpr[31] = aot_gpr_31; ctx.gpr[2] = aot_gpr_2; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[20] = aot_fpr_20; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_2 = ctx.gpr[2]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_20 = ctx.fpr[20]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -771,7 +772,7 @@ L_08A4C008: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4C010u) goto L_08A4C010; AOT_REGCACHE_SYNC_OUT(); return; L_08A4C010: - aot_gpr_4 = (ctx.gpr[2] + ctx.gpr[18]); + aot_gpr_4 = (aot_gpr_2 + ctx.gpr[18]); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1784))); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08A4C024u); @@ -779,22 +780,22 @@ L_08A4C010: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 803u, 0x0890B27Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4C024u) goto L_08A4C024; AOT_REGCACHE_SYNC_OUT(); return; L_08A4C024: - aot_gpr_16 = (aot_gpr_16 + static_cast(1)); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(1)); { const bool branch_taken = 0u == 0u; - aot_gpr_16 = (aot_gpr_16 & 65535u); + ctx.gpr[16] = (ctx.gpr[16] & 65535u); if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0145_entry, 145u, 715u, 0x08A4BF94u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08A4C030; } L_08A4C030: - ctx.gpr[2] = (ctx.gpr[23] | 0u); + aot_gpr_2 = (ctx.gpr[23] | 0u); { std::uint32_t aot_run_words[13]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(260), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); - aot_gpr_16 = aot_run_words[3]; + ctx.gpr[16] = aot_run_words[3]; ctx.gpr[17] = aot_run_words[4]; ctx.gpr[18] = aot_run_words[5]; ctx.gpr[19] = aot_run_words[6]; @@ -813,10 +814,10 @@ L_08A4C030: AOT_REGCACHE_SYNC_OUT(); return; L_08A4C070: aot_gpr_29 = (aot_gpr_29 + static_cast(-1472)); - { const std::uint32_t aot_run_words[16]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; + { const std::uint32_t aot_run_words[16]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(1404), aot_run_words); } aot_fpr_20 = std::bit_cast(std::bit_cast(aot_fpr_12)); - aot_gpr_16 = (ctx.gpr[8] | 0u); + ctx.gpr[16] = (ctx.gpr[8] | 0u); ctx.gpr[20] = (aot_gpr_6 | 0u); ctx.gpr[18] = (aot_gpr_5 | 0u); ctx.gpr[21] = (aot_gpr_4 | 0u); @@ -829,14 +830,14 @@ L_08A4C070: ctx.fpr[22] = std::bit_cast(0u); aot_gpr_31 = (0x08A4C0ECu); aot_gpr_4 = (ctx.gpr[21] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4C0ECu) goto L_08A4C0EC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4C0ECu) goto L_08A4C0EC; AOT_REGCACHE_SYNC_OUT(); return; L_08A4C0EC: - ctx.gpr[22] = (ctx.gpr[2] | 0u); + ctx.gpr[22] = (aot_gpr_2 | 0u); aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_5 = (static_cast(aot_gpr_4) < 22 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1392), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1392), ctx.gpr[16]); if (branch_taken) { goto L_08A4C128; } @@ -919,7 +920,7 @@ L_08A4C170: goto L_08A4C1A8; } L_08A4C1A8: - aot_gpr_16 = (0u | 1u); + ctx.gpr[16] = (0u | 1u); aot_fpr_12 = std::bit_cast(ctx.gpr[23]); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); { const float fs = aot_fpr_12; const float ft = ctx.fpr[24]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } @@ -1003,7 +1004,7 @@ L_08A4C29C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4C2A4u) goto L_08A4C2A4; AOT_REGCACHE_SYNC_OUT(); return; L_08A4C2A4: - { const bool branch_taken = ctx.gpr[18] != ctx.gpr[2]; + { const bool branch_taken = ctx.gpr[18] != aot_gpr_2; aot_gpr_4 = (2236u << 16u); if (branch_taken) { goto L_08A4C434; @@ -1017,7 +1018,7 @@ L_08A4C2AC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0101_entry, 101u, 124u, 0x08999134u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4C2B8u) goto L_08A4C2B8; AOT_REGCACHE_SYNC_OUT(); return; L_08A4C2B8: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08A4C434; @@ -1028,7 +1029,7 @@ L_08A4C2C0: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1380), ctx.gpr[19]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1388), ctx.gpr[17]); aot_gpr_4 = (2236u << 16u); - aot_gpr_16 = (aot_gpr_4 + static_cast(32304)); + ctx.gpr[16] = (aot_gpr_4 + static_cast(32304)); aot_gpr_4 = (16256u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); { const std::uint32_t vfpu_address = ctx.gpr[20] + static_cast(0); @@ -1046,7 +1047,7 @@ L_08A4C2C0: const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); ctx.gpr[19] = (aot_gpr_29 + static_cast(144)); aot_gpr_6 = (ctx.gpr[19] | 0u); @@ -1090,16 +1091,16 @@ L_08A4C304: aot_fpr_12 = std::bit_cast(aot_gpr_5); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); { const float fs = aot_fpr_12; const float ft = ctx.fpr[24]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(80))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(80))); aot_gpr_5 = (aot_gpr_5 << 5u); aot_gpr_6 = (0u - aot_gpr_5); aot_gpr_5 = (aot_gpr_5 << 2u); aot_gpr_6 = (aot_gpr_6 + aot_gpr_5); aot_gpr_5 = (aot_gpr_5 << 2u); aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); - aot_gpr_6 = (aot_gpr_16 + static_cast(128)); + aot_gpr_6 = (ctx.gpr[16] + static_cast(128)); aot_gpr_6 = (aot_gpr_5 + aot_gpr_6); - ctx.gpr[7] = (aot_gpr_16 + static_cast(208)); + ctx.gpr[7] = (ctx.gpr[16] + static_cast(208)); aot_gpr_5 = (aot_gpr_5 + ctx.gpr[7]); { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; @@ -1201,9 +1202,9 @@ L_08A4C304: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4C3D4u) goto L_08A4C3D4; AOT_REGCACHE_SYNC_OUT(); return; L_08A4C3D4: - ctx.gpr[2] = (0u | 1u); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(8072), static_cast(ctx.gpr[2])); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(8423), static_cast(ctx.gpr[2])); + aot_gpr_2 = (0u | 1u); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(8072), static_cast(aot_gpr_2)); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(8423), static_cast(aot_gpr_2)); aot_gpr_6 = (aot_gpr_29 + static_cast(48)); ctx.gpr[7] = (aot_gpr_29 + static_cast(32)); aot_gpr_4 = (ctx.gpr[19] | 0u); @@ -1212,10 +1213,10 @@ L_08A4C3D4: ctx.gpr[9] = (ctx.gpr[18] | 0u); ctx.gpr[10] = (0u | 1u); ctx.gpr[11] = (0u | 1u); - { const std::uint32_t aot_run_words[5]{ctx.gpr[2], ctx.gpr[2], ctx.gpr[2], 0u, 0u}; + { const std::uint32_t aot_run_words[5]{aot_gpr_2, aot_gpr_2, aot_gpr_2, 0u, 0u}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_31 = (0x08A4C41Cu); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_2); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0143_entry, 143u, 354u, 0x08A41D28u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4C41Cu) goto L_08A4C41C; AOT_REGCACHE_SYNC_OUT(); return; L_08A4C41C: @@ -1261,7 +1262,7 @@ L_08A4C434: goto L_08A4C494; } L_08A4C494: - { const bool branch_taken = aot_gpr_16 == 0u; + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08A4C568; @@ -1369,7 +1370,7 @@ L_08A4C568: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4C570u) goto L_08A4C570; AOT_REGCACHE_SYNC_OUT(); return; L_08A4C570: - { const bool branch_taken = ctx.gpr[18] != ctx.gpr[2]; + { const bool branch_taken = ctx.gpr[18] != aot_gpr_2; // nop if (branch_taken) { goto L_08A4C580; @@ -1513,8 +1514,8 @@ L_08A4C630: goto L_08A4C63C; } L_08A4C63C: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1392))); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1392))); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08A4C7D4; @@ -1559,14 +1560,14 @@ L_08A4C678: aot_gpr_4 = (16128u << 16u); aot_gpr_31 = (0x08A4C68Cu); ctx.fpr[28] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4C68Cu) goto L_08A4C68C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4C68Cu) goto L_08A4C68C; AOT_REGCACHE_SYNC_OUT(); return; L_08A4C68C: aot_fpr_12 = ctx.fpr[28] - ctx.fpr[26]; { const float fs = aot_fpr_12; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_31 = (0x08A4C69Cu); ctx.fpr[30] = ctx.fpr[26] + aot_fpr_12; - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4C69Cu) goto L_08A4C69C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4C69Cu) goto L_08A4C69C; AOT_REGCACHE_SYNC_OUT(); return; L_08A4C69C: aot_fpr_13 = ctx.fpr[28] - ctx.fpr[26]; @@ -1579,7 +1580,7 @@ L_08A4C69C: aot_gpr_4 = (aot_gpr_4 | 52429u); aot_gpr_31 = (0x08A4C6C4u); ctx.fpr[24] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4C6C4u) goto L_08A4C6C4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4C6C4u) goto L_08A4C6C4; AOT_REGCACHE_SYNC_OUT(); return; L_08A4C6C4: aot_fpr_12 = ctx.fpr[24] - ctx.fpr[28]; @@ -1605,7 +1606,7 @@ L_08A4C6C4: ctx.fpr[24] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1400))); goto L_08A4C6F0; L_08A4C6F0: - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -1625,18 +1626,18 @@ L_08A4C6F0: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 0u>(); - aot_gpr_16 = (aot_gpr_29 + static_cast(400)); + ctx.gpr[16] = (aot_gpr_29 + static_cast(400)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A4C714u); aot_gpr_5 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 464u, 0x08A931D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4C714u) goto L_08A4C714; AOT_REGCACHE_SYNC_OUT(); return; L_08A4C714: - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -1653,7 +1654,7 @@ L_08A4C714: aot_gpr_4 = (aot_gpr_4 | 52429u); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -1670,12 +1671,12 @@ L_08A4C714: ctx.execute_vfpu_vscl_ct<1u, 1u, 28u, 3u>(); ctx.execute_vfpu_vcmov_ct<1u, 0u, 3u, 0u, false>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<1u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -1724,22 +1725,22 @@ L_08A4C714: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_6 = (aot_gpr_29 + static_cast(48)); ctx.gpr[7] = (aot_gpr_29 + static_cast(32)); - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); aot_gpr_4 = (ctx.gpr[20] | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); ctx.gpr[8] = (ctx.gpr[21] | 0u); ctx.gpr[9] = (ctx.gpr[18] | 0u); ctx.gpr[10] = (0u | 1u); ctx.gpr[11] = (0u | 1u); - { const std::uint32_t aot_run_words[5]{ctx.gpr[2], ctx.gpr[2], ctx.gpr[2], 0u, 0u}; + { const std::uint32_t aot_run_words[5]{aot_gpr_2, aot_gpr_2, aot_gpr_2, 0u, 0u}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_31 = (0x08A4C7CCu); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_2); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0143_entry, 143u, 354u, 0x08A41D28u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4C7CCu) goto L_08A4C7CC; AOT_REGCACHE_SYNC_OUT(); return; L_08A4C7CC: @@ -1754,16 +1755,16 @@ L_08A4C7D4: aot_gpr_5 = (aot_gpr_29 + static_cast(112)); aot_gpr_6 = (aot_gpr_29 + static_cast(48)); ctx.gpr[7] = (aot_gpr_29 + static_cast(32)); - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); aot_gpr_4 = (ctx.gpr[20] | 0u); ctx.gpr[8] = (ctx.gpr[21] | 0u); ctx.gpr[9] = (ctx.gpr[18] | 0u); ctx.gpr[10] = (0u | 1u); ctx.gpr[11] = (0u | 1u); - { const std::uint32_t aot_run_words[5]{ctx.gpr[2], ctx.gpr[2], ctx.gpr[2], 0u, 0u}; + { const std::uint32_t aot_run_words[5]{aot_gpr_2, aot_gpr_2, aot_gpr_2, 0u, 0u}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_31 = (0x08A4C814u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_2); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0143_entry, 143u, 354u, 0x08A41D28u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4C814u) goto L_08A4C814; AOT_REGCACHE_SYNC_OUT(); return; L_08A4C814: @@ -1830,10 +1831,10 @@ L_08A4C86C: L_08A4C888: aot_gpr_31 = (0x08A4C890u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4C890u) goto L_08A4C890; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4C890u) goto L_08A4C890; AOT_REGCACHE_SYNC_OUT(); return; L_08A4C890: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08A4CADC; @@ -2238,7 +2239,7 @@ L_08A4CB50: goto L_08A4CB5C; } L_08A4CB5C: - aot_gpr_16 = (0u | 1u); + ctx.gpr[16] = (0u | 1u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(32))); aot_gpr_4 = (aot_gpr_4 + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); @@ -2271,7 +2272,7 @@ L_08A4CB5C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 618u, 0x08906DC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4CBA8u) goto L_08A4CBA8; AOT_REGCACHE_SYNC_OUT(); return; L_08A4CBA8: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08A4CBB8u); aot_gpr_5 = (ctx.gpr[18] | 0u); @@ -2342,7 +2343,7 @@ L_08A4CC40: goto L_08A4CC50; } L_08A4CC50: - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); goto L_08A4CC54; L_08A4CC54: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(456))); @@ -2355,7 +2356,7 @@ L_08A4CC54: goto L_08A4CC64; } L_08A4CC64: - { const bool branch_taken = aot_gpr_16 == 0u; + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08A4CCC4; @@ -2409,7 +2410,7 @@ L_08A4CCC4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 600u, 0x08A66CD8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4CCF4u) goto L_08A4CCF4; AOT_REGCACHE_SYNC_OUT(); return; L_08A4CCF4: - if (aot_gpr_16 == 0u) { + if (ctx.gpr[16] == 0u) { aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(1384))); goto L_08A4CD14; } @@ -2598,7 +2599,7 @@ L_08A4CDDC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 50u, 0x08AD0530u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4CE44u) goto L_08A4CE44; AOT_REGCACHE_SYNC_OUT(); return; L_08A4CE44: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08A4CEB0; @@ -2606,8 +2607,8 @@ L_08A4CE44: goto L_08A4CE4C; } L_08A4CE4C: - aot_gpr_16 = (0u | 0u); - aot_gpr_4 = (static_cast(aot_gpr_16) < static_cast(ctx.gpr[17]) ? 1u : 0u); + ctx.gpr[16] = (0u | 0u); + aot_gpr_4 = (static_cast(ctx.gpr[16]) < static_cast(ctx.gpr[17]) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -2635,9 +2636,9 @@ L_08A4CE5C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0062_entry, 62u, 716u, 0x088FF060u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4CE9Cu) goto L_08A4CE9C; AOT_REGCACHE_SYNC_OUT(); return; L_08A4CE9C: - aot_gpr_16 = (aot_gpr_16 + static_cast(1)); - aot_gpr_16 = (aot_gpr_16 & 255u); - aot_gpr_4 = (static_cast(aot_gpr_16) < static_cast(ctx.gpr[17]) ? 1u : 0u); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(1)); + ctx.gpr[16] = (ctx.gpr[16] & 255u); + aot_gpr_4 = (static_cast(ctx.gpr[16]) < static_cast(ctx.gpr[17]) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -2721,7 +2722,7 @@ L_08A4CEC4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 50u, 0x08AD0530u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4CF28u) goto L_08A4CF28; AOT_REGCACHE_SYNC_OUT(); return; L_08A4CF28: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08A4CFC4; @@ -2729,8 +2730,8 @@ L_08A4CF28: goto L_08A4CF30; } L_08A4CF30: - aot_gpr_16 = (0u | 0u); - aot_gpr_4 = (static_cast(aot_gpr_16) < 8 ? 1u : 0u); + ctx.gpr[16] = (0u | 0u); + aot_gpr_4 = (static_cast(ctx.gpr[16]) < 8 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -2789,9 +2790,9 @@ L_08A4CF40: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0062_entry, 62u, 716u, 0x088FF060u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4CFB0u) goto L_08A4CFB0; AOT_REGCACHE_SYNC_OUT(); return; L_08A4CFB0: - aot_gpr_16 = (aot_gpr_16 + static_cast(1)); - aot_gpr_16 = (aot_gpr_16 & 255u); - aot_gpr_4 = (static_cast(aot_gpr_16) < 8 ? 1u : 0u); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(1)); + ctx.gpr[16] = (ctx.gpr[16] & 255u); + aot_gpr_4 = (static_cast(ctx.gpr[16]) < 8 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -2815,7 +2816,7 @@ L_08A4CFD0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 211u, 0x0886D4F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4CFDCu) goto L_08A4CFDC; AOT_REGCACHE_SYNC_OUT(); return; L_08A4CFDC: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08A4D01C; @@ -2848,7 +2849,7 @@ L_08A4CFFC: AOT_REGCACHE_SYNC_OUT(); return; L_08A4D014: { const bool branch_taken = 0u == 0u; - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (aot_gpr_2 | 0u); if (branch_taken) { goto L_08A4D050; } @@ -2879,10 +2880,10 @@ L_08A4D034: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 650u, 0x0893EA14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4D04Cu) goto L_08A4D04C; AOT_REGCACHE_SYNC_OUT(); return; L_08A4D04C: - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (aot_gpr_2 | 0u); goto L_08A4D050; L_08A4D050: - { const bool branch_taken = aot_gpr_16 == 0u; + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08A4D07C; @@ -2892,16 +2893,16 @@ L_08A4D050: L_08A4D058: aot_fpr_12 = std::bit_cast(0u); aot_gpr_31 = (0x08A4D064u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 73u, 0x08890474u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4D064u) goto L_08A4D064; AOT_REGCACHE_SYNC_OUT(); return; L_08A4D064: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(8))); aot_gpr_4 = (aot_gpr_4 | 1u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(8), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(8), aot_gpr_4); aot_gpr_5 = (0u + static_cast(-9)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(8), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(8), aot_gpr_4); goto L_08A4D07C; L_08A4D07C: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7080))); @@ -3016,7 +3017,7 @@ L_08A4D11C: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(1384))); aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(32))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(32))); if (branch_taken) { goto L_08A4D134; } @@ -3047,15 +3048,15 @@ L_08A4D14C: { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_13), std::bit_cast(aot_fpr_13), std::bit_cast(aot_fpr_13)}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(736), aot_run_words); } ctx.gpr[7] = (aot_gpr_29 + static_cast(736)); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08A4D178u); aot_gpr_6 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0192_entry, 192u, 71u, 0x08B0452Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4D178u) goto L_08A4D178; AOT_REGCACHE_SYNC_OUT(); return; L_08A4D178: - aot_gpr_16 = (0u | 0u); - aot_gpr_4 = (static_cast(aot_gpr_16) < 16 ? 1u : 0u); + ctx.gpr[16] = (0u | 0u); + aot_gpr_4 = (static_cast(ctx.gpr[16]) < 16 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -3109,9 +3110,9 @@ L_08A4D188: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0062_entry, 62u, 716u, 0x088FF060u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4D204u) goto L_08A4D204; AOT_REGCACHE_SYNC_OUT(); return; L_08A4D204: - aot_gpr_16 = (aot_gpr_16 + static_cast(1)); - aot_gpr_16 = (aot_gpr_16 & 65535u); - aot_gpr_4 = (static_cast(aot_gpr_16) < 16 ? 1u : 0u); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(1)); + ctx.gpr[16] = (ctx.gpr[16] & 65535u); + aot_gpr_4 = (static_cast(ctx.gpr[16]) < 16 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -3190,7 +3191,7 @@ L_08A4D29C: aot_fpr_12 = std::bit_cast(aot_gpr_4); goto L_08A4D2A4; L_08A4D2A4: - aot_gpr_16 = (aot_gpr_29 + static_cast(768)); + ctx.gpr[16] = (aot_gpr_29 + static_cast(768)); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); aot_gpr_4 = (aot_gpr_29 + static_cast(784)); @@ -3209,7 +3210,7 @@ L_08A4D2A4: const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A4D2D0u); aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 464u, 0x08A931D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4D2D0u) goto L_08A4D2D0; @@ -3224,7 +3225,7 @@ L_08A4D2D0: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -3253,8 +3254,8 @@ L_08A4D2D0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0062_entry, 62u, 716u, 0x088FF060u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4D314u) goto L_08A4D314; AOT_REGCACHE_SYNC_OUT(); return; L_08A4D314: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(32))); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(236))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(32))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(236))); aot_gpr_4 = (aot_gpr_4 & 4u); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -3264,7 +3265,7 @@ L_08A4D314: goto L_08A4D328; } L_08A4D328: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(72))); aot_gpr_5 = (aot_gpr_5 & 2048u); { const bool branch_taken = aot_gpr_5 != 0u; aot_gpr_4 = (0u | 0u); @@ -3274,7 +3275,7 @@ L_08A4D328: goto L_08A4D338; } L_08A4D338: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(76))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(76))); aot_gpr_5 = (aot_gpr_5 & 2048u); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_4 = (aot_gpr_4 & 255u); @@ -3298,18 +3299,18 @@ L_08A4D350: L_08A4D358: aot_gpr_4 = (0u | 0u); aot_gpr_4 = (aot_gpr_4 & 1u); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(72))); aot_gpr_6 = (0u + static_cast(-2049)); aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); aot_gpr_4 = (aot_gpr_4 << 11u); aot_gpr_4 = (aot_gpr_5 | aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(72), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(72), aot_gpr_4); aot_gpr_31 = (0x08A4D380u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 463u, 0x08A66048u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4D380u) goto L_08A4D380; AOT_REGCACHE_SYNC_OUT(); return; L_08A4D380: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(72))); aot_gpr_5 = (aot_gpr_5 & 2048u); { const bool branch_taken = aot_gpr_5 != 0u; aot_gpr_4 = (0u | 0u); @@ -3319,7 +3320,7 @@ L_08A4D380: goto L_08A4D390; } L_08A4D390: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(76))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(76))); aot_gpr_5 = (aot_gpr_5 & 2048u); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_4 = (aot_gpr_4 & 255u); @@ -3362,7 +3363,7 @@ L_08A4D3DC: aot_fpr_14 = std::bit_cast(aot_run_words[2]); } aot_gpr_31 = (0x08A4D3F0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 600u, 0x08A66CD8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4D3F0u) goto L_08A4D3F0; AOT_REGCACHE_SYNC_OUT(); return; L_08A4D3F0: @@ -3394,8 +3395,8 @@ L_08A4D404: goto L_08A4D424; } L_08A4D424: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(32))); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(236))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(32))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(236))); aot_gpr_4 = (aot_gpr_4 & 4u); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -3405,7 +3406,7 @@ L_08A4D424: goto L_08A4D438; } L_08A4D438: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(460))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(460))); aot_gpr_4 = (17095u << 16u); aot_gpr_4 = (aot_gpr_4 | 52429u); aot_fpr_13 = std::bit_cast(aot_gpr_4); @@ -3419,7 +3420,7 @@ L_08A4D438: goto L_08A4D458; } L_08A4D458: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(72))); aot_gpr_5 = (aot_gpr_5 & 2048u); { const bool branch_taken = aot_gpr_5 != 0u; aot_gpr_4 = (0u | 0u); @@ -3429,7 +3430,7 @@ L_08A4D458: goto L_08A4D468; } L_08A4D468: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(76))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(76))); aot_gpr_5 = (aot_gpr_5 & 2048u); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_4 = (aot_gpr_4 & 255u); @@ -3451,7 +3452,7 @@ L_08A4D480: goto L_08A4D488; } L_08A4D488: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(456))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(456))); aot_fpr_13 = std::bit_cast(0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); // nop @@ -3465,18 +3466,18 @@ L_08A4D488: L_08A4D4A0: aot_gpr_4 = (0u | 0u); aot_gpr_4 = (aot_gpr_4 & 1u); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(72))); aot_gpr_6 = (0u + static_cast(-2049)); aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); aot_gpr_4 = (aot_gpr_4 << 11u); aot_gpr_4 = (aot_gpr_5 | aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(72), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(72), aot_gpr_4); aot_gpr_31 = (0x08A4D4C8u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 463u, 0x08A66048u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4D4C8u) goto L_08A4D4C8; AOT_REGCACHE_SYNC_OUT(); return; L_08A4D4C8: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(72))); aot_gpr_5 = (aot_gpr_5 & 2048u); { const bool branch_taken = aot_gpr_5 != 0u; aot_gpr_4 = (0u | 0u); @@ -3486,7 +3487,7 @@ L_08A4D4C8: goto L_08A4D4D8; } L_08A4D4D8: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(76))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(76))); aot_gpr_5 = (aot_gpr_5 & 2048u); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_4 = (aot_gpr_4 & 255u); @@ -3529,7 +3530,7 @@ L_08A4D524: aot_fpr_14 = std::bit_cast(aot_run_words[2]); } aot_gpr_31 = (0x08A4D538u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 600u, 0x08A66CD8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4D538u) goto L_08A4D538; AOT_REGCACHE_SYNC_OUT(); return; L_08A4D538: @@ -3541,15 +3542,15 @@ L_08A4D538: goto L_08A4D540; } L_08A4D540: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(473))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(473))); aot_gpr_4 = (static_cast(aot_gpr_4) < 3 ? 1u : 0u); if (aot_gpr_4 == 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(72))); goto L_08A4D560; } goto L_08A4D550; L_08A4D550: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(478)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(478)))))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -3558,7 +3559,7 @@ L_08A4D550: goto L_08A4D55C; } L_08A4D55C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(72))); goto L_08A4D560; L_08A4D560: aot_gpr_5 = (1024u << 16u); @@ -3573,7 +3574,7 @@ L_08A4D560: L_08A4D570: aot_gpr_4 = (16968u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A4D584u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0009_entry, 9u, 482u, 0x0882BFC8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4D584u) goto L_08A4D584; @@ -3581,7 +3582,7 @@ L_08A4D570: L_08A4D584: aot_gpr_4 = (ctx.gpr[21] << 24u); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 24u)); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(91), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(91), static_cast(aot_gpr_4)); goto L_08A4D590; L_08A4D590: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(32))); @@ -3666,7 +3667,7 @@ L_08A4D610: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4D618u) goto L_08A4D618; AOT_REGCACHE_SYNC_OUT(); return; L_08A4D618: - { const bool branch_taken = ctx.gpr[18] != ctx.gpr[2]; + { const bool branch_taken = ctx.gpr[18] != aot_gpr_2; // nop if (branch_taken) { goto L_08A4D62C; @@ -3716,7 +3717,7 @@ L_08A4D668: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4D670u) goto L_08A4D670; AOT_REGCACHE_SYNC_OUT(); return; L_08A4D670: - { const bool branch_taken = ctx.gpr[18] != ctx.gpr[2]; + { const bool branch_taken = ctx.gpr[18] != aot_gpr_2; // nop if (branch_taken) { goto L_08A4D684; @@ -3771,7 +3772,7 @@ L_08A4D6C8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4D6D0u) goto L_08A4D6D0; AOT_REGCACHE_SYNC_OUT(); return; L_08A4D6D0: - { const bool branch_taken = ctx.gpr[18] != ctx.gpr[2]; + { const bool branch_taken = ctx.gpr[18] != aot_gpr_2; // nop if (branch_taken) { goto L_08A4D6E4; @@ -3830,7 +3831,7 @@ L_08A4D744: goto L_08A4D74C; } L_08A4D74C: - aot_gpr_16 = (aot_gpr_29 + static_cast(944)); + ctx.gpr[16] = (aot_gpr_29 + static_cast(944)); aot_gpr_4 = (aot_gpr_29 + static_cast(960)); aot_gpr_5 = (aot_gpr_29 + static_cast(112)); { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); @@ -3876,7 +3877,7 @@ L_08A4D788: AOT_REGCACHE_SYNC_OUT(); return; L_08A4D798: aot_gpr_6 = (aot_gpr_29 + static_cast(960)); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A4D7A8u); aot_gpr_5 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0142_entry, 142u, 569u, 0x08A3FB78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4D7A8u) goto L_08A4D7A8; @@ -3923,7 +3924,7 @@ L_08A4D7DC: ctx.fpr[26] = std::bit_cast(aot_run_words[3]); ctx.fpr[28] = std::bit_cast(aot_run_words[4]); ctx.fpr[30] = std::bit_cast(aot_run_words[5]); - aot_gpr_16 = aot_run_words[6]; + ctx.gpr[16] = aot_run_words[6]; ctx.gpr[17] = aot_run_words[7]; ctx.gpr[18] = aot_run_words[8]; ctx.gpr[19] = aot_run_words[9]; @@ -3942,7 +3943,7 @@ L_08A4D7DC: AOT_REGCACHE_SYNC_OUT(); return; L_08A4D824: aot_gpr_29 = (aot_gpr_29 + static_cast(-288)); - { const std::uint32_t aot_run_words[11]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; + { const std::uint32_t aot_run_words[11]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(244), aot_run_words); } ctx.gpr[18] = (aot_gpr_29 + static_cast(32)); aot_fpr_20 = std::bit_cast(0u); @@ -3954,7 +3955,7 @@ L_08A4D824: ctx.gpr[7] = (16256u << 16u); ctx.fpr[26] = std::bit_cast(ctx.gpr[7]); ctx.gpr[19] = (aot_gpr_29 + static_cast(56)); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.gpr[17] = (aot_gpr_5 | 0u); { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; @@ -4377,7 +4378,7 @@ L_08A4DC8C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4DC98u) goto L_08A4DC98; AOT_REGCACHE_SYNC_OUT(); return; L_08A4DC98: - { const bool branch_taken = ctx.gpr[17] != ctx.gpr[2]; + { const bool branch_taken = ctx.gpr[17] != aot_gpr_2; // nop if (branch_taken) { goto L_08A4DCBC; @@ -4391,11 +4392,11 @@ L_08A4DCA0: AOT_REGCACHE_SYNC_OUT(); return; L_08A4DCA8: aot_gpr_31 = (0x08A4DCB0u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 707u, 0x089476BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4DCB0u) goto L_08A4DCB0; AOT_REGCACHE_SYNC_OUT(); return; L_08A4DCB0: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08A4DCBC; @@ -4406,7 +4407,7 @@ L_08A4DCB8: ctx.gpr[20] = (0u | 1u); goto L_08A4DCBC; L_08A4DCBC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[24])); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_6 = (ctx.gpr[18] | 0u); @@ -4432,7 +4433,7 @@ L_08A4DCE4: aot_gpr_4 = (aot_gpr_29 + static_cast(212)); aot_gpr_5 = (aot_gpr_4 + static_cast(4)); aot_gpr_6 = (aot_gpr_4 + static_cast(8)); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(211), static_cast(ctx.gpr[7])); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(32))); ctx.gpr[7] = (std::bit_cast(aot_fpr_12)); @@ -4448,14 +4449,14 @@ L_08A4DCE4: aot_mem.aot_direct_store_word_right(aot_gpr_6 + static_cast(0), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(224), std::bit_cast(ctx.fpr[24])); aot_gpr_4 = (2237u << 16u); - aot_gpr_16 = (aot_gpr_4 + static_cast(-28736)); - aot_gpr_4 = (aot_gpr_16 | 0u); + ctx.gpr[16] = (aot_gpr_4 + static_cast(-28736)); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A4DD54u); aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0143_entry, 143u, 456u, 0x08A427C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4DD54u) goto L_08A4DD54; AOT_REGCACHE_SYNC_OUT(); return; L_08A4DD54: - aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(8))); + aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(8))); aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(228), static_cast(aot_gpr_4)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(48)))))); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(50)))))); @@ -4470,7 +4471,7 @@ L_08A4DD54: aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(238), static_cast(aot_gpr_5)); aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(240), static_cast(aot_gpr_6)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(242), static_cast(ctx.gpr[19])); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08A4DDA0u); aot_gpr_6 = (0u + static_cast(-1)); @@ -4482,7 +4483,7 @@ L_08A4DDA0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4DDA8u) goto L_08A4DDA8; AOT_REGCACHE_SYNC_OUT(); return; L_08A4DDA8: - { const bool branch_taken = ctx.gpr[17] != ctx.gpr[2]; + { const bool branch_taken = ctx.gpr[17] != aot_gpr_2; // nop if (branch_taken) { goto L_08A4DDF8; @@ -4496,25 +4497,25 @@ L_08A4DDB0: AOT_REGCACHE_SYNC_OUT(); return; L_08A4DDB8: aot_gpr_31 = (0x08A4DDC0u); - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4DDC0u) goto L_08A4DDC0; AOT_REGCACHE_SYNC_OUT(); return; L_08A4DDC0: - aot_gpr_4 = (ctx.gpr[2] + static_cast(48)); + aot_gpr_4 = (aot_gpr_2 + static_cast(48)); aot_gpr_31 = (0x08A4DDCCu); aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4DDCCu) goto L_08A4DDCC; AOT_REGCACHE_SYNC_OUT(); return; L_08A4DDCC: - aot_gpr_4 = (ctx.gpr[2] + static_cast(48)); + aot_gpr_4 = (aot_gpr_2 + static_cast(48)); aot_gpr_31 = (0x08A4DDD8u); ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4DDD8u) goto L_08A4DDD8; AOT_REGCACHE_SYNC_OUT(); return; L_08A4DDD8: - aot_gpr_4 = (ctx.gpr[2] + static_cast(48)); + aot_gpr_4 = (aot_gpr_2 + static_cast(48)); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 240u); aot_gpr_6 = (0u | 128u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); @@ -4523,7 +4524,7 @@ L_08A4DDD8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0097_entry, 97u, 955u, 0x0898BB44u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4DDF8u) goto L_08A4DDF8; AOT_REGCACHE_SYNC_OUT(); return; L_08A4DDF8: - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); { std::uint32_t aot_run_words[11]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(244), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); @@ -4531,7 +4532,7 @@ L_08A4DDF8: ctx.fpr[24] = std::bit_cast(aot_run_words[2]); ctx.fpr[26] = std::bit_cast(aot_run_words[3]); ctx.fpr[28] = std::bit_cast(aot_run_words[4]); - aot_gpr_16 = aot_run_words[5]; + ctx.gpr[16] = aot_run_words[5]; ctx.gpr[17] = aot_run_words[6]; ctx.gpr[18] = aot_run_words[7]; ctx.gpr[19] = aot_run_words[8]; @@ -4546,9 +4547,9 @@ L_08A4DDF8: AOT_REGCACHE_SYNC_OUT(); return; L_08A4DE30: aot_gpr_29 = (aot_gpr_29 + static_cast(-144)); - { const std::uint32_t aot_run_words[8]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; + { const std::uint32_t aot_run_words[8]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(100), aot_run_words); } - aot_gpr_16 = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); ctx.gpr[17] = (aot_gpr_4 | 0u); ctx.gpr[18] = (0u | 0u); aot_gpr_31 = (0x08A4DE68u); @@ -4557,7 +4558,7 @@ L_08A4DE30: AOT_REGCACHE_SYNC_OUT(); return; L_08A4DE68: ctx.gpr[19] = (2236u << 16u); - { const bool branch_taken = ctx.gpr[2] != aot_gpr_16; + { const bool branch_taken = aot_gpr_2 != ctx.gpr[16]; ctx.gpr[19] = (ctx.gpr[19] + static_cast(32304)); if (branch_taken) { goto L_08A4DE78; @@ -4574,7 +4575,7 @@ L_08A4DE78: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4DE84u) goto L_08A4DE84; AOT_REGCACHE_SYNC_OUT(); return; L_08A4DE84: - { const bool branch_taken = aot_gpr_16 != ctx.gpr[2]; + { const bool branch_taken = ctx.gpr[16] != aot_gpr_2; // nop if (branch_taken) { goto L_08A4DEA8; @@ -4588,11 +4589,11 @@ L_08A4DE8C: AOT_REGCACHE_SYNC_OUT(); return; L_08A4DE94: aot_gpr_31 = (0x08A4DE9Cu); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 707u, 0x089476BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4DE9Cu) goto L_08A4DE9C; AOT_REGCACHE_SYNC_OUT(); return; L_08A4DE9C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08A4DEA8; @@ -4802,7 +4803,7 @@ L_08A4E018: } L_08A4E070: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08A4E378; } @@ -4977,7 +4978,7 @@ L_08A4E150: const std::uint32_t vfpu_address = ctx.gpr[7] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_6 = (aot_gpr_29 | 0u); aot_gpr_31 = (0x08A4E1B4u); ctx.gpr[8] = (ctx.gpr[20] | 0u); @@ -4989,7 +4990,7 @@ L_08A4E1B4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4E1BCu) goto L_08A4E1BC; AOT_REGCACHE_SYNC_OUT(); return; L_08A4E1BC: - { const bool branch_taken = aot_gpr_16 != ctx.gpr[2]; + { const bool branch_taken = ctx.gpr[16] != aot_gpr_2; // nop if (branch_taken) { goto L_08A4E22C; @@ -5003,23 +5004,23 @@ L_08A4E1C4: AOT_REGCACHE_SYNC_OUT(); return; L_08A4E1CC: aot_gpr_31 = (0x08A4E1D4u); - ctx.gpr[20] = (ctx.gpr[2] | 0u); + ctx.gpr[20] = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4E1D4u) goto L_08A4E1D4; AOT_REGCACHE_SYNC_OUT(); return; L_08A4E1D4: - aot_gpr_4 = (ctx.gpr[2] + static_cast(48)); + aot_gpr_4 = (aot_gpr_2 + static_cast(48)); aot_gpr_31 = (0x08A4E1E0u); aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4E1E0u) goto L_08A4E1E0; AOT_REGCACHE_SYNC_OUT(); return; L_08A4E1E0: - aot_gpr_4 = (ctx.gpr[2] + static_cast(48)); + aot_gpr_4 = (aot_gpr_2 + static_cast(48)); aot_gpr_31 = (0x08A4E1ECu); ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4E1ECu) goto L_08A4E1EC; AOT_REGCACHE_SYNC_OUT(); return; L_08A4E1EC: - aot_gpr_4 = (ctx.gpr[2] + static_cast(48)); + aot_gpr_4 = (aot_gpr_2 + static_cast(48)); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_5 = (0u | 240u); @@ -5030,7 +5031,7 @@ L_08A4E1EC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0097_entry, 97u, 955u, 0x0898BB44u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4E20Cu) goto L_08A4E20C; AOT_REGCACHE_SYNC_OUT(); return; L_08A4E20C: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A4E218u); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0143_entry, 143u, 413u, 0x08A4230Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4E218u) goto L_08A4E218; @@ -5044,7 +5045,7 @@ L_08A4E218: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 391u, 0x08A1A8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4E22Cu) goto L_08A4E22C; AOT_REGCACHE_SYNC_OUT(); return; L_08A4E22C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 14u); aot_gpr_4 = (aot_gpr_4 ^ 6u); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); @@ -5059,8 +5060,8 @@ L_08A4E22C: L_08A4E248: aot_gpr_4 = (0u | 4u); aot_gpr_5 = (0u | 1u); - aot_gpr_6 = (aot_gpr_16 | 0u); - ctx.gpr[7] = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); + ctx.gpr[7] = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A4E260u); ctx.gpr[8] = (0u | 1000u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0095_entry, 95u, 24u, 0x0898019Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4E260u) goto L_08A4E260; @@ -5074,7 +5075,7 @@ L_08A4E260: goto L_08A4E268; } L_08A4E268: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 14u); aot_gpr_4 = (aot_gpr_4 ^ 4u); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); @@ -5087,7 +5088,7 @@ L_08A4E268: goto L_08A4E284; } L_08A4E284: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(900))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -5096,10 +5097,10 @@ L_08A4E284: goto L_08A4E290; } L_08A4E290: - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(900))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(900))); aot_gpr_4 = (0u | 4u); aot_gpr_5 = (0u | 2u); - aot_gpr_6 = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A4E2A8u); ctx.gpr[8] = (0u | 1000u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0095_entry, 95u, 24u, 0x0898019Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4E2A8u) goto L_08A4E2A8; @@ -5155,11 +5156,11 @@ L_08A4E2B4: ctx.gpr[17] = (aot_gpr_4 + static_cast(-28736)); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08A4E35Cu); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0143_entry, 143u, 456u, 0x08A427C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4E35Cu) goto L_08A4E35C; AOT_REGCACHE_SYNC_OUT(); return; L_08A4E35C: - aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(8))); + aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(8))); aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(92), static_cast(aot_gpr_4)); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); @@ -5168,14 +5169,14 @@ L_08A4E35C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 186u, 0x08ADC9FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4E374u) goto L_08A4E374; AOT_REGCACHE_SYNC_OUT(); return; L_08A4E374: - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); goto L_08A4E378; L_08A4E378: { std::uint32_t aot_run_words[8]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(100), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); - aot_gpr_16 = aot_run_words[2]; + ctx.gpr[16] = aot_run_words[2]; ctx.gpr[17] = aot_run_words[3]; ctx.gpr[18] = aot_run_words[4]; ctx.gpr[19] = aot_run_words[5]; @@ -5190,18 +5191,18 @@ L_08A4E378: AOT_REGCACHE_SYNC_OUT(); return; L_08A4E3A0: aot_gpr_29 = (aot_gpr_29 + static_cast(-416)); - { const std::uint32_t aot_run_words[15]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; + { const std::uint32_t aot_run_words[15]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(344), aot_run_words); } - aot_gpr_16 = (2236u << 16u); - aot_gpr_16 = (aot_gpr_16 + static_cast(32304)); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(80))); + ctx.gpr[16] = (2236u << 16u); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(32304)); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(80))); aot_gpr_4 = (aot_gpr_4 << 5u); aot_gpr_5 = (0u - aot_gpr_4); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_5 = (aot_gpr_5 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); - aot_gpr_4 = (aot_gpr_4 + aot_gpr_16); + aot_gpr_4 = (aot_gpr_4 + ctx.gpr[16]); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(112)))))); aot_gpr_5 = (0u | 46u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; @@ -5212,7 +5213,7 @@ L_08A4E3A0: goto L_08A4E418; } L_08A4E418: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(340), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(340), ctx.gpr[16]); aot_gpr_4 = (0u | 1u); aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-24896), static_cast(aot_gpr_4)); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-24900), 0u); @@ -5255,15 +5256,15 @@ L_08A4E47C: } L_08A4E484: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08A4E94C; } goto L_08A4E48C; } L_08A4E48C: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(340), aot_gpr_16); - aot_gpr_4 = (aot_gpr_16 + static_cast(48)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(340), ctx.gpr[16]); + aot_gpr_4 = (ctx.gpr[16] + static_cast(48)); ctx.gpr[30] = (aot_gpr_29 + static_cast(128)); aot_gpr_5 = (17146u << 16u); ctx.fpr[28] = std::bit_cast(aot_gpr_5); @@ -5280,7 +5281,7 @@ L_08A4E48C: ctx.fpr[22] = std::bit_cast(aot_gpr_4); aot_gpr_4 = (16384u << 16u); aot_fpr_20 = std::bit_cast(aot_gpr_4); - aot_gpr_4 = (aot_gpr_16 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(16)); ctx.gpr[23] = (aot_gpr_29 + static_cast(160)); ctx.gpr[22] = (aot_gpr_29 + static_cast(144)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(336), aot_gpr_4); @@ -5333,14 +5334,14 @@ L_08A4E52C: ctx.gpr[17] = (ctx.gpr[17] + ctx.gpr[20]); goto L_08A4E530; L_08A4E530: - aot_gpr_16 = (ctx.gpr[17] | 0u); - if (aot_gpr_16 == 0u) { + ctx.gpr[16] = (ctx.gpr[17] | 0u); + if (ctx.gpr[16] == 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(332))); goto L_08A4E6CC; } goto L_08A4E53C; L_08A4E53C: - aot_gpr_4 = (aot_gpr_16 + static_cast(48)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -5413,7 +5414,7 @@ L_08A4E578: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0169_entry, 169u, 32u, 0x08AA82D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4E5A4u) goto L_08A4E5A4; AOT_REGCACHE_SYNC_OUT(); return; L_08A4E5A4: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08A4E6C8; @@ -5528,17 +5529,17 @@ L_08A4E63C: aot_gpr_5 = (ctx.gpr[19] | 0u); ctx.gpr[8] = (0u | 1u); ctx.gpr[9] = (0u | 1u); - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); ctx.gpr[10] = (0u | 1u); ctx.gpr[11] = (0u | 1u); - { const std::uint32_t aot_run_words[4]{ctx.gpr[2], ctx.gpr[2], 0u, 0u}; + { const std::uint32_t aot_run_words[4]{aot_gpr_2, aot_gpr_2, 0u, 0u}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_31 = (0x08A4E6A4u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0036_entry, 36u, 698u, 0x0889786Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4E6A4u) goto L_08A4E6A4; AOT_REGCACHE_SYNC_OUT(); return; L_08A4E6A4: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; aot_gpr_4 = (128u << 16u); if (branch_taken) { goto L_08A4E6BC; @@ -5558,9 +5559,9 @@ L_08A4E6B8: aot_gpr_4 = (128u << 16u); goto L_08A4E6BC; L_08A4E6BC: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(464))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(464))); aot_gpr_4 = (aot_gpr_5 | aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(464), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(464), aot_gpr_4); goto L_08A4E6C8; L_08A4E6C8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(332))); @@ -5660,14 +5661,14 @@ L_08A4E798: ctx.gpr[17] = (ctx.gpr[17] + ctx.gpr[19]); goto L_08A4E79C; L_08A4E79C: - aot_gpr_16 = (ctx.gpr[17] | 0u); - if (aot_gpr_16 == 0u) { + ctx.gpr[16] = (ctx.gpr[17] | 0u); + if (ctx.gpr[16] == 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(332))); goto L_08A4E934; } goto L_08A4E7A8; L_08A4E7A8: - aot_gpr_4 = (aot_gpr_16 + static_cast(48)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -5740,7 +5741,7 @@ L_08A4E7E4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0169_entry, 169u, 32u, 0x08AA82D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4E810u) goto L_08A4E810; AOT_REGCACHE_SYNC_OUT(); return; L_08A4E810: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08A4E930; @@ -5855,17 +5856,17 @@ L_08A4E8A8: aot_gpr_5 = (ctx.gpr[20] | 0u); ctx.gpr[8] = (0u | 1u); ctx.gpr[9] = (0u | 1u); - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); ctx.gpr[10] = (0u | 1u); ctx.gpr[11] = (0u | 1u); - { const std::uint32_t aot_run_words[4]{ctx.gpr[2], ctx.gpr[2], 0u, 0u}; + { const std::uint32_t aot_run_words[4]{aot_gpr_2, aot_gpr_2, 0u, 0u}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_31 = (0x08A4E910u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0036_entry, 36u, 698u, 0x0889786Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4E910u) goto L_08A4E910; AOT_REGCACHE_SYNC_OUT(); return; L_08A4E910: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08A4E924; @@ -5882,9 +5883,9 @@ L_08A4E918: goto L_08A4E924; } L_08A4E924: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(619)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(619)))))); aot_gpr_4 = (aot_gpr_4 | 2u); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(619), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(619), static_cast(aot_gpr_4)); goto L_08A4E930; L_08A4E930: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(332))); @@ -5901,7 +5902,7 @@ L_08A4E934: goto L_08A4E948; } L_08A4E948: - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); goto L_08A4E94C; L_08A4E94C: { std::uint32_t aot_run_words[15]{}; @@ -5911,7 +5912,7 @@ L_08A4E94C: ctx.fpr[24] = std::bit_cast(aot_run_words[2]); ctx.fpr[26] = std::bit_cast(aot_run_words[3]); ctx.fpr[28] = std::bit_cast(aot_run_words[4]); - aot_gpr_16 = aot_run_words[5]; + ctx.gpr[16] = aot_run_words[5]; ctx.gpr[17] = aot_run_words[6]; ctx.gpr[18] = aot_run_words[7]; ctx.gpr[19] = aot_run_words[8]; @@ -5930,7 +5931,7 @@ L_08A4E94C: AOT_REGCACHE_SYNC_OUT(); return; L_08A4E990: aot_gpr_29 = (aot_gpr_29 + static_cast(-320)); - { const std::uint32_t aot_run_words[14]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; + { const std::uint32_t aot_run_words[14]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(256), aot_run_words); } ctx.gpr[22] = (2236u << 16u); ctx.gpr[22] = (ctx.gpr[22] + static_cast(32304)); @@ -6072,11 +6073,11 @@ L_08A4EB58: L_08A4EB5C: aot_gpr_31 = (0x08A4EB64u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4EB64u) goto L_08A4EB64; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4EB64u) goto L_08A4EB64; AOT_REGCACHE_SYNC_OUT(); return; L_08A4EB64: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[22] + static_cast(80))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(252), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(252), aot_gpr_2); aot_gpr_4 = (aot_gpr_4 << 5u); aot_gpr_5 = (0u - aot_gpr_4); aot_gpr_4 = (aot_gpr_4 << 2u); @@ -6108,7 +6109,7 @@ L_08A4EB64: aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_5 = (ctx.gpr[22] + static_cast(128)); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(8))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(8))); aot_gpr_5 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_5); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); @@ -6145,12 +6146,12 @@ L_08A4EB64: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 0u>(); - aot_gpr_16 = (aot_gpr_29 + static_cast(32)); + ctx.gpr[16] = (aot_gpr_29 + static_cast(32)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -6164,11 +6165,11 @@ L_08A4EB64: const std::uint32_t vfpu_address = ctx.gpr[30] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - ctx.gpr[2] = (0u | 1u); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(8072), static_cast(ctx.gpr[2])); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(8422), static_cast(ctx.gpr[2])); + aot_gpr_2 = (0u | 1u); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(8072), static_cast(aot_gpr_2)); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(8422), static_cast(aot_gpr_2)); ctx.gpr[9] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(248))); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(8423), static_cast(ctx.gpr[2])); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(8423), static_cast(aot_gpr_2)); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8068), ctx.gpr[9]); ctx.gpr[19] = (0u | 0u); ctx.gpr[21] = (aot_gpr_29 + static_cast(112)); @@ -6180,17 +6181,17 @@ L_08A4EB64: ctx.gpr[7] = (ctx.gpr[18] | 0u); ctx.gpr[10] = (0u | 1u); ctx.gpr[11] = (0u | 1u); - { const std::uint32_t aot_run_words[5]{ctx.gpr[2], ctx.gpr[2], ctx.gpr[2], ctx.gpr[2], 0u}; + { const std::uint32_t aot_run_words[5]{aot_gpr_2, aot_gpr_2, aot_gpr_2, aot_gpr_2, 0u}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_31 = (0x08A4EC54u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_2); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0143_entry, 143u, 354u, 0x08A41D28u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4EC54u) goto L_08A4EC54; AOT_REGCACHE_SYNC_OUT(); return; L_08A4EC54: aot_fpr_20 = std::bit_cast(0u); aot_gpr_4 = (16256u << 16u); ctx.fpr[22] = std::bit_cast(aot_gpr_4); - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; ctx.gpr[20] = (aot_gpr_29 + static_cast(96)); if (branch_taken) { goto L_08A4EC78; @@ -6207,7 +6208,7 @@ L_08A4EC68: } L_08A4EC70: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08A4F0D0; } @@ -6248,20 +6249,20 @@ L_08A4EC98: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(244))); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); - aot_gpr_6 = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); ctx.gpr[7] = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x08A4ECC4u); ctx.gpr[8] = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0143_entry, 143u, 220u, 0x08A41030u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4ECC4u) goto L_08A4ECC4; AOT_REGCACHE_SYNC_OUT(); return; L_08A4ECC4: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(8072), static_cast(0u)); aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(8422), static_cast(0u)); aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(8423), static_cast(0u)); @@ -6390,7 +6391,7 @@ L_08A4EDF4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0122_entry, 122u, 345u, 0x089EE640u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4EE08u) goto L_08A4EE08; AOT_REGCACHE_SYNC_OUT(); return; L_08A4EE08: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08A4EE5C; @@ -6398,7 +6399,7 @@ L_08A4EE08: goto L_08A4EE10; } L_08A4EE10: - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); ctx.gpr[17] = (aot_gpr_29 + static_cast(160)); goto L_08A4EE18; L_08A4EE18: @@ -6417,8 +6418,8 @@ L_08A4EE18: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0062_entry, 62u, 716u, 0x088FF060u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4EE4Cu) goto L_08A4EE4C; AOT_REGCACHE_SYNC_OUT(); return; L_08A4EE4C: - aot_gpr_16 = (aot_gpr_16 + static_cast(1)); - aot_gpr_4 = (aot_gpr_16 < static_cast(16) ? 1u : 0u); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(1)); + aot_gpr_4 = (ctx.gpr[16] < static_cast(16) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -6432,7 +6433,7 @@ L_08A4EE5C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4EE64u) goto L_08A4EE64; AOT_REGCACHE_SYNC_OUT(); return; L_08A4EE64: - { const bool branch_taken = ctx.gpr[19] != ctx.gpr[2]; + { const bool branch_taken = ctx.gpr[19] != aot_gpr_2; // nop if (branch_taken) { goto L_08A4F0CC; @@ -6512,7 +6513,7 @@ L_08A4EEE4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4EEECu) goto L_08A4EEEC; AOT_REGCACHE_SYNC_OUT(); return; L_08A4EEEC: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(460))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(460))); aot_gpr_4 = (aot_gpr_4 & 8192u); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -6527,7 +6528,7 @@ L_08A4EEFC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4EF04u) goto L_08A4EF04; AOT_REGCACHE_SYNC_OUT(); return; L_08A4EF04: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(2120))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(2120))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -6552,10 +6553,10 @@ L_08A4EF20: aot_gpr_4 = (aot_gpr_4 + ctx.gpr[22]); aot_gpr_31 = (0x08A4EF48u); ctx.fpr[26] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(236))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4EF48u) goto L_08A4EF48; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4EF48u) goto L_08A4EF48; AOT_REGCACHE_SYNC_OUT(); return; L_08A4EF48: - aot_gpr_4 = (ctx.gpr[2] & 65535u); + aot_gpr_4 = (aot_gpr_2 & 65535u); aot_gpr_4 = (aot_gpr_4 & 127u); aot_gpr_4 = (aot_gpr_4 + static_cast(-64)); aot_fpr_12 = std::bit_cast(aot_gpr_4); @@ -6573,10 +6574,10 @@ L_08A4EF48: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(236), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08A4EF90u); ctx.fpr[26] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(232))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4EF90u) goto L_08A4EF90; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4EF90u) goto L_08A4EF90; AOT_REGCACHE_SYNC_OUT(); return; L_08A4EF90: - aot_gpr_4 = (ctx.gpr[2] & 65535u); + aot_gpr_4 = (aot_gpr_2 & 65535u); aot_gpr_4 = (aot_gpr_4 & 127u); aot_gpr_4 = (aot_gpr_4 + static_cast(-64)); aot_fpr_12 = std::bit_cast(aot_gpr_4); @@ -6602,7 +6603,7 @@ L_08A4EFDC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-6264))); ctx.gpr[7] = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08A4EFF0u); - aot_gpr_6 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 395u, 0x08B61F5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4EFF0u) goto L_08A4EFF0; AOT_REGCACHE_SYNC_OUT(); return; L_08A4EFF0: @@ -6610,41 +6611,41 @@ L_08A4EFF0: aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-6256))); aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08A4F004u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 445u, 0x08B62348u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4F004u) goto L_08A4F004; AOT_REGCACHE_SYNC_OUT(); return; L_08A4F004: ctx.gpr[19] = (ctx.gpr[3] | 0u); - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08A4F014u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4F014u) goto L_08A4F014; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4F014u) goto L_08A4F014; AOT_REGCACHE_SYNC_OUT(); return; L_08A4F014: ctx.gpr[17] = (ctx.gpr[3] | 0u); - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (aot_gpr_2 | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); ctx.gpr[7] = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08A4F030u); aot_gpr_6 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4F030u) goto L_08A4F030; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B6256C, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4F030u) goto L_08A4F030; AOT_REGCACHE_SYNC_OUT(); return; L_08A4F030: - if (static_cast(ctx.gpr[2]) <= 0) { + if (static_cast(aot_gpr_2) <= 0) { aot_gpr_5 = (ctx.gpr[19] | 0u); goto L_08A4F044; } goto L_08A4F038; L_08A4F038: ctx.gpr[19] = (ctx.gpr[17] | 0u); - ctx.gpr[18] = (aot_gpr_16 | 0u); + ctx.gpr[18] = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); goto L_08A4F044; L_08A4F044: aot_gpr_31 = (0x08A4F04Cu); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4F04Cu) goto L_08A4F04C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B627F0, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4F04Cu) goto L_08A4F04C; AOT_REGCACHE_SYNC_OUT(); return; L_08A4F04C: aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[0])); @@ -6664,13 +6665,13 @@ L_08A4F060: aot_fpr_12 = aot_fpr_12 + aot_fpr_14; aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); - aot_gpr_16 = (aot_gpr_4 & 255u); + ctx.gpr[16] = (aot_gpr_4 & 255u); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); aot_gpr_4 = (18076u << 16u); aot_gpr_4 = (aot_gpr_4 | 16384u); aot_fpr_14 = std::bit_cast(aot_gpr_4); { const float fs = aot_fpr_13; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } - aot_fpr_12 = std::bit_cast(aot_gpr_16); + aot_fpr_12 = std::bit_cast(ctx.gpr[16]); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_fpr_12 = aot_fpr_13 / aot_fpr_12; aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); @@ -6683,13 +6684,13 @@ L_08A4F060: L_08A4F0B8: aot_gpr_5 = (ctx.gpr[17] << 16u); aot_gpr_5 = (static_cast(static_cast(aot_gpr_5) >> 16u)); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08A4F0CCu); - aot_gpr_6 = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0097_entry, 97u, 954u, 0x0898BB3Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4F0CCu) goto L_08A4F0CC; AOT_REGCACHE_SYNC_OUT(); return; L_08A4F0CC: - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); goto L_08A4F0D0; L_08A4F0D0: { std::uint32_t aot_run_words[14]{}; @@ -6698,7 +6699,7 @@ L_08A4F0D0: ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); ctx.fpr[26] = std::bit_cast(aot_run_words[3]); - aot_gpr_16 = aot_run_words[4]; + ctx.gpr[16] = aot_run_words[4]; ctx.gpr[17] = aot_run_words[5]; ctx.gpr[18] = aot_run_words[6]; ctx.gpr[19] = aot_run_words[7]; @@ -6717,20 +6718,20 @@ L_08A4F0D0: AOT_REGCACHE_SYNC_OUT(); return; L_08A4F110: aot_gpr_29 = (aot_gpr_29 + static_cast(-1296)); - { const std::uint32_t aot_run_words[14]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; + { const std::uint32_t aot_run_words[14]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(1236), aot_run_words); } ctx.gpr[17] = (aot_gpr_5 | 0u); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.gpr[18] = (aot_gpr_6 & 255u); ctx.gpr[19] = (ctx.gpr[7] & 255u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(144), 0u); ctx.gpr[20] = (0u | 0u); aot_gpr_31 = (0x08A4F16Cu); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4F16Cu) goto L_08A4F16C; + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4F16Cu) goto L_08A4F16C; AOT_REGCACHE_SYNC_OUT(); return; L_08A4F16C: - ctx.gpr[21] = (ctx.gpr[2] | 0u); + ctx.gpr[21] = (aot_gpr_2 | 0u); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(86)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); aot_gpr_5 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_5) ? 1u : 0u); @@ -6763,7 +6764,7 @@ L_08A4F1A4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4F1ACu) goto L_08A4F1AC; AOT_REGCACHE_SYNC_OUT(); return; L_08A4F1AC: - { const bool branch_taken = ctx.gpr[30] != ctx.gpr[2]; + { const bool branch_taken = ctx.gpr[30] != aot_gpr_2; // nop if (branch_taken) { goto L_08A4F1D0; @@ -6777,11 +6778,11 @@ L_08A4F1B4: AOT_REGCACHE_SYNC_OUT(); return; L_08A4F1BC: aot_gpr_31 = (0x08A4F1C4u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 707u, 0x089476BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4F1C4u) goto L_08A4F1C4; AOT_REGCACHE_SYNC_OUT(); return; L_08A4F1C4: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08A4F1D0; @@ -6868,23 +6869,23 @@ L_08A4F22C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0038_entry, 38u, 621u, 0x0889EB08u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4F244u) goto L_08A4F244; AOT_REGCACHE_SYNC_OUT(); return; L_08A4F244: - ctx.gpr[22] = (ctx.gpr[2] | 0u); + ctx.gpr[22] = (aot_gpr_2 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(724))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); aot_gpr_31 = (0x08A4F25Cu); aot_gpr_4 = (ctx.gpr[22] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 251u, 0x08969194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4F25Cu) goto L_08A4F25C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08969194, 89u, 251u, 0x08969194u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 251u, 0x08969194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4F25Cu) goto L_08A4F25C; AOT_REGCACHE_SYNC_OUT(); return; L_08A4F25C: aot_gpr_4 = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x08A4F268u); - ctx.gpr[22] = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4F268u) goto L_08A4F268; + ctx.gpr[22] = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0896918C, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4F268u) goto L_08A4F268; AOT_REGCACHE_SYNC_OUT(); return; L_08A4F268: ctx.gpr[7] = (ctx.gpr[22] << 6u); - ctx.gpr[7] = (ctx.gpr[2] + ctx.gpr[7]); + ctx.gpr[7] = (aot_gpr_2 + ctx.gpr[7]); aot_gpr_4 = (ctx.gpr[30] | 0u); aot_gpr_5 = (ctx.gpr[30] | 0u); aot_gpr_31 = (0x08A4F280u); @@ -7143,16 +7144,16 @@ L_08A4F3A0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0143_entry, 143u, 383u, 0x08A420FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4F3D8u) goto L_08A4F3D8; AOT_REGCACHE_SYNC_OUT(); return; L_08A4F3D8: - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(4))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(4))); aot_gpr_4 = (15692u << 16u); aot_gpr_4 = (aot_gpr_4 | 52429u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_31 = (0x08A4F3F0u); ctx.fpr[22] = aot_fpr_14 - aot_fpr_12; - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4F3F0u) goto L_08A4F3F0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4F3F0u) goto L_08A4F3F0; AOT_REGCACHE_SYNC_OUT(); return; L_08A4F3F0: - aot_gpr_4 = (ctx.gpr[2] & 65535u); + aot_gpr_4 = (aot_gpr_2 & 65535u); aot_gpr_4 = (aot_gpr_4 & 255u); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_13))); @@ -7166,7 +7167,7 @@ L_08A4F3F0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0143_entry, 143u, 383u, 0x08A420FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4F41Cu) goto L_08A4F41C; AOT_REGCACHE_SYNC_OUT(); return; L_08A4F41C: - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(8))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(8))); aot_gpr_4 = (16161u << 16u); aot_gpr_4 = (aot_gpr_4 | 18350u); ctx.fpr[15] = std::bit_cast(aot_gpr_4); @@ -7474,10 +7475,10 @@ L_08A4F5B4: aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_gpr_31 = (0x08A4F5CCu); ctx.fpr[22] = aot_fpr_12 - aot_fpr_13; - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4F5CCu) goto L_08A4F5CC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4F5CCu) goto L_08A4F5CC; AOT_REGCACHE_SYNC_OUT(); return; L_08A4F5CC: - aot_gpr_4 = (ctx.gpr[2] & 65535u); + aot_gpr_4 = (aot_gpr_2 & 65535u); aot_gpr_4 = (aot_gpr_4 & 255u); aot_fpr_14 = std::bit_cast(aot_gpr_4); aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); @@ -7491,7 +7492,7 @@ L_08A4F5CC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0143_entry, 143u, 383u, 0x08A420FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4F5F8u) goto L_08A4F5F8; AOT_REGCACHE_SYNC_OUT(); return; L_08A4F5F8: - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(8))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(8))); aot_gpr_4 = (16133u << 16u); aot_gpr_4 = (aot_gpr_4 | 7864u); ctx.fpr[15] = std::bit_cast(aot_gpr_4); @@ -7630,7 +7631,7 @@ L_08A4F6A0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0143_entry, 143u, 383u, 0x08A420FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4F6ACu) goto L_08A4F6AC; AOT_REGCACHE_SYNC_OUT(); return; L_08A4F6AC: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(8))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(8))); aot_gpr_4 = (16128u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; @@ -7713,10 +7714,10 @@ L_08A4F6AC: L_08A4F704: aot_gpr_31 = (0x08A4F70Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4F70Cu) goto L_08A4F70C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4F70Cu) goto L_08A4F70C; AOT_REGCACHE_SYNC_OUT(); return; L_08A4F70C: - aot_gpr_4 = (ctx.gpr[2] & 65535u); + aot_gpr_4 = (aot_gpr_2 & 65535u); aot_gpr_4 = (aot_gpr_4 & 255u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); @@ -7733,7 +7734,7 @@ L_08A4F70C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0143_entry, 143u, 383u, 0x08A420FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4F744u) goto L_08A4F744; AOT_REGCACHE_SYNC_OUT(); return; L_08A4F744: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(4))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(4))); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(86)))))); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); @@ -8103,23 +8104,23 @@ L_08A4F930: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0038_entry, 38u, 621u, 0x0889EB08u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4F93Cu) goto L_08A4F93C; AOT_REGCACHE_SYNC_OUT(); return; L_08A4F93C: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(724))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); aot_gpr_31 = (0x08A4F954u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 251u, 0x08969194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4F954u) goto L_08A4F954; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08969194, 89u, 251u, 0x08969194u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 251u, 0x08969194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4F954u) goto L_08A4F954; AOT_REGCACHE_SYNC_OUT(); return; L_08A4F954: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08A4F960u); - ctx.gpr[19] = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4F960u) goto L_08A4F960; + ctx.gpr[19] = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0896918C, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4F960u) goto L_08A4F960; AOT_REGCACHE_SYNC_OUT(); return; L_08A4F960: ctx.gpr[7] = (ctx.gpr[19] << 6u); - ctx.gpr[7] = (ctx.gpr[2] + ctx.gpr[7]); + ctx.gpr[7] = (aot_gpr_2 + ctx.gpr[7]); ctx.gpr[19] = (aot_gpr_29 + static_cast(80)); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); @@ -8303,10 +8304,10 @@ L_08A4FA34: L_08A4FA44: aot_gpr_31 = (0x08A4FA4Cu); ctx.gpr[18] = (aot_gpr_29 + static_cast(64)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4FA4Cu) goto L_08A4FA4C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4FA4Cu) goto L_08A4FA4C; AOT_REGCACHE_SYNC_OUT(); return; L_08A4FA4C: - aot_gpr_4 = (ctx.gpr[2] & 65535u); + aot_gpr_4 = (aot_gpr_2 & 65535u); aot_gpr_4 = (aot_gpr_4 & 255u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); @@ -8319,20 +8320,20 @@ L_08A4FA4C: ctx.fpr[22] = std::bit_cast(aot_gpr_4); aot_gpr_31 = (0x08A4FA80u); ctx.fpr[24] = aot_fpr_12 - ctx.fpr[22]; - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4FA80u) goto L_08A4FA80; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4FA80u) goto L_08A4FA80; AOT_REGCACHE_SYNC_OUT(); return; L_08A4FA80: - aot_gpr_4 = (ctx.gpr[2] & 65535u); + aot_gpr_4 = (aot_gpr_2 & 65535u); aot_gpr_4 = (aot_gpr_4 & 255u); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_13))); { const float fs = aot_fpr_13; const float ft = aot_fpr_20; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_gpr_31 = (0x08A4FA9Cu); ctx.fpr[26] = aot_fpr_13 - ctx.fpr[22]; - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4FA9Cu) goto L_08A4FA9C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4FA9Cu) goto L_08A4FA9C; AOT_REGCACHE_SYNC_OUT(); return; L_08A4FA9C: - aot_gpr_4 = (ctx.gpr[2] & 65535u); + aot_gpr_4 = (aot_gpr_2 & 65535u); aot_gpr_4 = (aot_gpr_4 & 255u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); @@ -8352,7 +8353,7 @@ L_08A4FACC: AOT_REGCACHE_SYNC_OUT(); return; L_08A4FAD4: aot_gpr_6 = (aot_gpr_29 + static_cast(80)); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08A4FAE8u); ctx.gpr[7] = (ctx.gpr[18] | 0u); @@ -8365,14 +8366,14 @@ L_08A4FAE8: AOT_REGCACHE_SYNC_OUT(); return; L_08A4FAF0: aot_gpr_31 = (0x08A4FAF8u); - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4FAF8u) goto L_08A4FAF8; AOT_REGCACHE_SYNC_OUT(); return; L_08A4FAF8: aot_gpr_4 = (0u | 4u); aot_gpr_5 = (0u | 1u); aot_gpr_6 = (ctx.gpr[18] | 0u); - ctx.gpr[7] = (ctx.gpr[2] | 0u); + ctx.gpr[7] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08A4FB10u); ctx.gpr[8] = (0u | 1000u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0095_entry, 95u, 24u, 0x0898019Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4FB10u) goto L_08A4FB10; @@ -8384,7 +8385,7 @@ L_08A4FB10: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0134_entry, 134u, 68u, 0x08A1C714u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4FB1Cu) goto L_08A4FB1C; AOT_REGCACHE_SYNC_OUT(); return; L_08A4FB1C: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08A4FB9C; @@ -8398,7 +8399,7 @@ L_08A4FB24: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0134_entry, 134u, 63u, 0x08A1C6C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4FB30u) goto L_08A4FB30; AOT_REGCACHE_SYNC_OUT(); return; L_08A4FB30: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08A4FBF8; @@ -8580,7 +8581,7 @@ L_08A4FC00: aot_gpr_4 = (0u | 4u); aot_gpr_5 = (0u | 2u); aot_gpr_6 = (ctx.gpr[17] | 0u); - ctx.gpr[7] = (ctx.gpr[2] | 0u); + ctx.gpr[7] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08A4FC18u); ctx.gpr[8] = (0u | 1000u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0095_entry, 95u, 24u, 0x0898019Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4FC18u) goto L_08A4FC18; @@ -8619,21 +8620,21 @@ L_08A4FC18: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0200_entry, 200u, 403u, 0x08B25C64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4FC68u) goto L_08A4FC68; AOT_REGCACHE_SYNC_OUT(); return; L_08A4FC68: - ctx.gpr[2] = (0u | 1u); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(8423), static_cast(ctx.gpr[2])); + aot_gpr_2 = (0u | 1u); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(8423), static_cast(aot_gpr_2)); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8068), ctx.gpr[17]); aot_gpr_5 = (aot_gpr_29 + static_cast(64)); aot_gpr_6 = (aot_gpr_29 + static_cast(112)); ctx.gpr[7] = (aot_gpr_29 + static_cast(144)); - ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + ctx.gpr[8] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); ctx.gpr[9] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); aot_gpr_4 = (ctx.gpr[18] | 0u); ctx.gpr[10] = (0u | 1u); ctx.gpr[11] = (0u | 1u); - { const std::uint32_t aot_run_words[5]{ctx.gpr[2], ctx.gpr[2], ctx.gpr[2], ctx.gpr[2], 0u}; + { const std::uint32_t aot_run_words[5]{aot_gpr_2, aot_gpr_2, aot_gpr_2, aot_gpr_2, 0u}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_31 = (0x08A4FCB0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_2); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0143_entry, 143u, 354u, 0x08A41D28u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4FCB0u) goto L_08A4FCB0; AOT_REGCACHE_SYNC_OUT(); return; L_08A4FCB0: @@ -8728,12 +8729,12 @@ L_08A4FD68: aot_gpr_4 = (ctx.gpr[19] | 0u); jump_target = aot_gpr_6; aot_gpr_31 = (0x08A4FD78u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4FD78u) goto L_08A4FD78; AOT_REGCACHE_SYNC_OUT(); return; L_08A4FD78: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0147_entry, 147u, 17u, 0x08A50174u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; @@ -8774,7 +8775,7 @@ L_08A4FDB8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0055_entry, 55u, 244u, 0x088E289Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4FDC0u) goto L_08A4FDC0; AOT_REGCACHE_SYNC_OUT(); return; L_08A4FDC0: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 57u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; aot_gpr_5 = (0u | 58u); @@ -8846,7 +8847,7 @@ L_08A4FE28: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4FE38u) goto L_08A4FE38; AOT_REGCACHE_SYNC_OUT(); return; L_08A4FE38: - aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(96), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(1184))); aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(96))); @@ -8860,7 +8861,7 @@ L_08A4FE4C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 605u, 0x08906CD8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4FE54u) goto L_08A4FE54; AOT_REGCACHE_SYNC_OUT(); return; L_08A4FE54: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[20] == 0u; // nop if (branch_taken) { @@ -8876,7 +8877,7 @@ L_08A4FE60: L_08A4FE68: aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08A4FE74u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0077_entry, 77u, 108u, 0x089387ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4FE74u) goto L_08A4FE74; AOT_REGCACHE_SYNC_OUT(); return; L_08A4FE74: @@ -8885,7 +8886,7 @@ L_08A4FE74: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 327u, 0x08911284u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4FE7Cu) goto L_08A4FE7C; AOT_REGCACHE_SYNC_OUT(); return; L_08A4FE7C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08A4FEF4; @@ -8919,7 +8920,7 @@ L_08A4FEA4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 600u, 0x0893E5E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4FEB0u) goto L_08A4FEB0; AOT_REGCACHE_SYNC_OUT(); return; L_08A4FEB0: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08A4FEF4; @@ -8950,10 +8951,10 @@ L_08A4FED0: AOT_REGCACHE_SYNC_OUT(); return; L_08A4FEE0: aot_fpr_12 = std::bit_cast(0u); - aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(16), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(aot_gpr_2 + static_cast(16), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (16640u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(36), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(aot_gpr_2 + static_cast(36), std::bit_cast(aot_fpr_12)); goto L_08A4FEF4; L_08A4FEF4: aot_gpr_4 = (ctx.gpr[23] & 255u); @@ -9008,7 +9009,7 @@ L_08A4FF4C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 50u, 0x08AD0530u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4FF6Cu) goto L_08A4FF6C; AOT_REGCACHE_SYNC_OUT(); return; L_08A4FF6C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0147_entry, 147u, 3u, 0x08A50024u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; @@ -9042,7 +9043,7 @@ L_08A4FF90: aot_gpr_4 = (aot_gpr_4 | 52429u); aot_gpr_31 = (0x08A4FFACu); ctx.fpr[22] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4FFACu) goto L_08A4FFAC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4FFACu) goto L_08A4FFAC; AOT_REGCACHE_SYNC_OUT(); return; L_08A4FFAC: aot_fpr_12 = ctx.fpr[22] - aot_fpr_20; @@ -9051,7 +9052,7 @@ L_08A4FFAC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(640), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08A4FFC4u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4FFC4u) goto L_08A4FFC4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4FFC4u) goto L_08A4FFC4; AOT_REGCACHE_SYNC_OUT(); return; L_08A4FFC4: aot_fpr_12 = ctx.fpr[22] - aot_fpr_20; @@ -9060,7 +9061,7 @@ L_08A4FFC4: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(644), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08A4FFDCu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4FFDCu) goto L_08A4FFDC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A4FFDCu) goto L_08A4FFDC; AOT_REGCACHE_SYNC_OUT(); return; L_08A4FFDC: aot_fpr_12 = ctx.fpr[22] - aot_fpr_20; diff --git a/profiles/vcs/generated/generated_unit_0147.cpp b/profiles/vcs/generated/generated_unit_0147.cpp index ad163d5..7a3fc1c 100644 --- a/profiles/vcs/generated/generated_unit_0147.cpp +++ b/profiles/vcs/generated/generated_unit_0147.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0147[4096] = { }; void recomp_unit_0147_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,31,16,6 fprs=12,13,14,20 gpr_occ=3942 fpr_occ=541 gpr_total=5484 fpr_total=716 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,31,29,6,2 fprs=12,13,14,20 gpr_occ=4025 fpr_occ=541 gpr_total=5825 fpr_total=716 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; - std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; - std::uint32_t aot_gpr_16 = ctx.gpr[16]; + std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_6 = ctx.gpr[6]; + std::uint32_t aot_gpr_2 = ctx.gpr[2]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_14 = ctx.fpr[14]; float aot_fpr_20 = ctx.fpr[20]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[31] = aot_gpr_31; ctx.gpr[16] = aot_gpr_16; ctx.gpr[6] = aot_gpr_6; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[20] = aot_fpr_20; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_6 = ctx.gpr[6]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_20 = ctx.fpr[20]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[31] = aot_gpr_31; ctx.gpr[29] = aot_gpr_29; ctx.gpr[6] = aot_gpr_6; ctx.gpr[2] = aot_gpr_2; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[20] = aot_fpr_20; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_2 = ctx.gpr[2]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_20 = ctx.fpr[20]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -999,7 +1000,7 @@ L_08A50044: aot_gpr_4 = (0u | 12u); aot_gpr_5 = (0u | 1u); aot_gpr_6 = (ctx.gpr[20] | 0u); - ctx.gpr[7] = (ctx.gpr[2] | 0u); + ctx.gpr[7] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08A5005Cu); ctx.gpr[8] = (0u | 10000u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0095_entry, 95u, 24u, 0x0898019Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5005Cu) goto L_08A5005C; @@ -1021,7 +1022,7 @@ L_08A5006C: aot_gpr_4 = (0u | 11u); aot_gpr_5 = (0u | 1u); aot_gpr_6 = (ctx.gpr[20] | 0u); - ctx.gpr[7] = (ctx.gpr[2] | 0u); + ctx.gpr[7] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08A50084u); ctx.gpr[8] = (0u | 10000u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0095_entry, 95u, 24u, 0x0898019Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A50084u) goto L_08A50084; @@ -1050,7 +1051,7 @@ L_08A5008C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0143_entry, 143u, 456u, 0x08A427C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A500BCu) goto L_08A500BC; AOT_REGCACHE_SYNC_OUT(); return; L_08A500BC: - aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(8))); + aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(8))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(685), static_cast(aot_gpr_4)); ctx.gpr[1] = (static_cast(static_cast(aot_gpr_4) >> 8u)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(686), static_cast(ctx.gpr[1])); @@ -1142,7 +1143,7 @@ L_08A50194: L_08A5019C: aot_gpr_5 = (ctx.gpr[23] & 255u); { const bool branch_taken = aot_gpr_5 != 0u; - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (branch_taken) { goto L_08A501E0; } @@ -1227,12 +1228,12 @@ L_08A50244: aot_gpr_4 = (ctx.gpr[22] | 0u); jump_target = aot_gpr_6; aot_gpr_31 = (0x08A50254u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A50254u) goto L_08A50254; AOT_REGCACHE_SYNC_OUT(); return; L_08A50254: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08A50264; @@ -1268,11 +1269,11 @@ L_08A5026C: L_08A50288: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08A50294u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0143_entry, 143u, 456u, 0x08A427C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A50294u) goto L_08A50294; AOT_REGCACHE_SYNC_OUT(); return; L_08A50294: - aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(8))); + aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(8))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(707), static_cast(aot_gpr_4)); ctx.gpr[1] = (static_cast(static_cast(aot_gpr_4) >> 8u)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(708), static_cast(ctx.gpr[1])); @@ -1408,7 +1409,7 @@ L_08A503B0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A503B8u) goto L_08A503B8; AOT_REGCACHE_SYNC_OUT(); return; L_08A503B8: - { const bool branch_taken = ctx.gpr[18] != ctx.gpr[2]; + { const bool branch_taken = ctx.gpr[18] != aot_gpr_2; // nop if (branch_taken) { goto L_08A503CC; @@ -1481,7 +1482,7 @@ L_08A50430: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A50438u) goto L_08A50438; AOT_REGCACHE_SYNC_OUT(); return; L_08A50438: - { const bool branch_taken = ctx.gpr[18] != ctx.gpr[2]; + { const bool branch_taken = ctx.gpr[18] != aot_gpr_2; // nop if (branch_taken) { goto L_08A5044C; @@ -1540,7 +1541,7 @@ L_08A50490: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A50498u) goto L_08A50498; AOT_REGCACHE_SYNC_OUT(); return; L_08A50498: - { const bool branch_taken = ctx.gpr[18] != ctx.gpr[2]; + { const bool branch_taken = ctx.gpr[18] != aot_gpr_2; // nop if (branch_taken) { goto L_08A504AC; @@ -1657,7 +1658,7 @@ L_08A50558: L_08A50564: aot_gpr_4 = (aot_gpr_29 + static_cast(80)); aot_gpr_5 = (aot_gpr_29 + static_cast(160)); - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_gpr_31 = (0x08A50578u); ctx.gpr[7] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0041_entry, 41u, 324u, 0x088AA4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A50578u) goto L_08A50578; @@ -1668,7 +1669,7 @@ L_08A50578: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A50580u) goto L_08A50580; AOT_REGCACHE_SYNC_OUT(); return; L_08A50580: - { const bool branch_taken = ctx.gpr[17] != ctx.gpr[2]; + { const bool branch_taken = ctx.gpr[17] != aot_gpr_2; // nop if (branch_taken) { goto L_08A505D0; @@ -1682,25 +1683,25 @@ L_08A50588: AOT_REGCACHE_SYNC_OUT(); return; L_08A50590: aot_gpr_31 = (0x08A50598u); - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A50598u) goto L_08A50598; AOT_REGCACHE_SYNC_OUT(); return; L_08A50598: - aot_gpr_4 = (ctx.gpr[2] + static_cast(48)); + aot_gpr_4 = (aot_gpr_2 + static_cast(48)); aot_gpr_31 = (0x08A505A4u); aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A505A4u) goto L_08A505A4; AOT_REGCACHE_SYNC_OUT(); return; L_08A505A4: - aot_gpr_4 = (ctx.gpr[2] + static_cast(48)); + aot_gpr_4 = (aot_gpr_2 + static_cast(48)); aot_gpr_31 = (0x08A505B0u); ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A505B0u) goto L_08A505B0; AOT_REGCACHE_SYNC_OUT(); return; L_08A505B0: - aot_gpr_4 = (ctx.gpr[2] + static_cast(48)); + aot_gpr_4 = (aot_gpr_2 + static_cast(48)); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 240u); aot_gpr_6 = (0u | 128u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); @@ -1722,7 +1723,7 @@ L_08A505DC: aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(800), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(9643))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(802), static_cast(aot_gpr_4)); - aot_gpr_16 = (aot_gpr_29 + static_cast(800)); + ctx.gpr[16] = (aot_gpr_29 + static_cast(800)); aot_gpr_4 = (aot_gpr_29 + static_cast(803)); aot_gpr_5 = (aot_gpr_4 + static_cast(4)); aot_gpr_6 = (aot_gpr_4 + static_cast(8)); @@ -1731,7 +1732,7 @@ L_08A505DC: ctx.gpr[9] = (ctx.gpr[7] + static_cast(8)); ctx.gpr[10] = (aot_gpr_29 + static_cast(827)); ctx.gpr[11] = (ctx.gpr[10] + static_cast(4)); - ctx.gpr[2] = (ctx.gpr[10] + static_cast(8)); + aot_gpr_2 = (ctx.gpr[10] + static_cast(8)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(80))); ctx.gpr[3] = (std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store_word_left(aot_gpr_4 + static_cast(3), ctx.gpr[3]); @@ -1766,8 +1767,8 @@ L_08A505DC: aot_mem.aot_direct_store_word_right(ctx.gpr[11] + static_cast(0), aot_gpr_4); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(328))); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); - aot_mem.aot_direct_store_word_left(ctx.gpr[2] + static_cast(3), aot_gpr_4); - aot_mem.aot_direct_store_word_right(ctx.gpr[2] + static_cast(0), aot_gpr_4); + aot_mem.aot_direct_store_word_left(aot_gpr_2 + static_cast(3), aot_gpr_4); + aot_mem.aot_direct_store_word_right(aot_gpr_2 + static_cast(0), aot_gpr_4); aot_gpr_4 = (2237u << 16u); ctx.gpr[18] = (aot_gpr_4 + static_cast(-28736)); aot_gpr_4 = (ctx.gpr[18] | 0u); @@ -1776,25 +1777,25 @@ L_08A505DC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0143_entry, 143u, 456u, 0x08A427C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A506B8u) goto L_08A506B8; AOT_REGCACHE_SYNC_OUT(); return; L_08A506B8: - aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(8))); + aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(8))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(839), static_cast(aot_gpr_4)); ctx.gpr[1] = (static_cast(static_cast(aot_gpr_4) >> 8u)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(840), static_cast(ctx.gpr[1])); aot_gpr_4 = (ctx.gpr[18] | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A506D8u); aot_gpr_6 = (0u + static_cast(-1)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 186u, 0x08ADC9FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A506D8u) goto L_08A506D8; AOT_REGCACHE_SYNC_OUT(); return; L_08A506D8: - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); { std::uint32_t aot_run_words[14]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(1236), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); ctx.fpr[26] = std::bit_cast(aot_run_words[3]); - aot_gpr_16 = aot_run_words[4]; + ctx.gpr[16] = aot_run_words[4]; ctx.gpr[17] = aot_run_words[5]; ctx.gpr[18] = aot_run_words[6]; ctx.gpr[19] = aot_run_words[7]; @@ -1813,9 +1814,9 @@ L_08A506D8: AOT_REGCACHE_SYNC_OUT(); return; L_08A5071C: aot_gpr_29 = (aot_gpr_29 + static_cast(-256)); - { const std::uint32_t aot_run_words[14]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; + { const std::uint32_t aot_run_words[14]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(200), aot_run_words); } - aot_gpr_16 = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(196), aot_gpr_6); ctx.gpr[18] = (aot_gpr_4 | 0u); ctx.gpr[30] = (0u | 0u); @@ -1828,7 +1829,7 @@ L_08A5071C: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -1858,7 +1859,7 @@ L_08A5071C: aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_6 = (aot_gpr_29 + static_cast(112)); ctx.gpr[8] = (aot_gpr_29 + static_cast(48)); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 1u); ctx.gpr[7] = (0u | 15u); ctx.gpr[9] = (0u | 0u); @@ -1878,7 +1879,7 @@ L_08A507C0: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(112)))))); aot_gpr_4 = (static_cast(ctx.gpr[17]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(192), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(192), ctx.gpr[16]); if (branch_taken) { goto L_08A50950; } @@ -1898,9 +1899,9 @@ L_08A507E0: ctx.fpr[26] = std::bit_cast(aot_gpr_4); goto L_08A5080C; L_08A5080C: - aot_gpr_16 = (ctx.gpr[17] << 2u); - aot_gpr_16 = (aot_gpr_29 + aot_gpr_16); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(48))); + ctx.gpr[16] = (ctx.gpr[17] << 2u); + ctx.gpr[16] = (aot_gpr_29 + ctx.gpr[16]); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(48))); { const bool branch_taken = ctx.gpr[18] == aot_gpr_4; // nop if (branch_taken) { @@ -1909,14 +1910,14 @@ L_08A5080C: goto L_08A50820; } L_08A50820: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(48))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(48))); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08A50830u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[22])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 627u, 0x089AB048u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A50830u) goto L_08A50830; AOT_REGCACHE_SYNC_OUT(); return; L_08A50830: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08A50934; @@ -1924,7 +1925,7 @@ L_08A50830: goto L_08A50838; } L_08A50838: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(48))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(48))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 496u); aot_gpr_4 = (aot_gpr_4 >> 4u); @@ -1936,7 +1937,7 @@ L_08A50838: goto L_08A50850; } L_08A50850: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(48))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(48))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 496u); aot_gpr_4 = (aot_gpr_4 >> 4u); @@ -1948,7 +1949,7 @@ L_08A50850: goto L_08A50868; } L_08A50868: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(48))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(48))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 496u); aot_gpr_4 = (aot_gpr_4 >> 4u); @@ -1960,7 +1961,7 @@ L_08A50868: goto L_08A50880; } L_08A50880: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(48))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(48))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 496u); aot_gpr_4 = (aot_gpr_4 >> 4u); @@ -1972,7 +1973,7 @@ L_08A50880: goto L_08A50898; } L_08A50898: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(48))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(48))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 496u); aot_gpr_4 = (aot_gpr_4 >> 4u); @@ -1985,7 +1986,7 @@ L_08A50898: } L_08A508B0: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(48))); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(48))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(48))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(48))); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; { const float fs = aot_fpr_12; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } @@ -2067,21 +2068,21 @@ L_08A5096C: aot_gpr_5 = (aot_gpr_5 + static_cast(48)); aot_gpr_6 = (aot_gpr_29 + static_cast(128)); ctx.gpr[7] = (aot_gpr_29 + static_cast(160)); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(192))); - ctx.gpr[2] = (0u | 1u); - aot_gpr_4 = (aot_gpr_16 | 0u); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(192))); + aot_gpr_2 = (0u | 1u); + aot_gpr_4 = (ctx.gpr[16] | 0u); ctx.gpr[8] = (0u | 1u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[11] = (0u | 0u); - { const std::uint32_t aot_run_words[4]{0u, 0u, 0u, ctx.gpr[2]}; + { const std::uint32_t aot_run_words[4]{0u, 0u, 0u, aot_gpr_2}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_31 = (0x08A509B8u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0036_entry, 36u, 698u, 0x0889786Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A509B8u) goto L_08A509B8; AOT_REGCACHE_SYNC_OUT(); return; L_08A509B8: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08A50AA0; @@ -2091,11 +2092,11 @@ L_08A509B8: L_08A509C0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(196))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; { const float fs = aot_fpr_12; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_fpr_14 = aot_fpr_14 - ctx.fpr[15]; { const float fs = aot_fpr_14; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } aot_fpr_12 = aot_fpr_12 + aot_fpr_14; @@ -2153,7 +2154,7 @@ L_08A50A78: aot_fpr_14 = aot_fpr_14 - ctx.fpr[15]; goto L_08A50A88; L_08A50A88: - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); + ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(8))); aot_fpr_14 = aot_fpr_14 - ctx.fpr[15]; aot_fpr_12 = aot_fpr_12 / aot_fpr_13; { const float fs = aot_fpr_14; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } @@ -2167,7 +2168,7 @@ L_08A50AA0: ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); ctx.fpr[26] = std::bit_cast(aot_run_words[3]); - aot_gpr_16 = aot_run_words[4]; + ctx.gpr[16] = aot_run_words[4]; ctx.gpr[17] = aot_run_words[5]; ctx.gpr[18] = aot_run_words[6]; ctx.gpr[19] = aot_run_words[7]; @@ -2186,7 +2187,7 @@ L_08A50AA0: AOT_REGCACHE_SYNC_OUT(); return; L_08A50AE0: aot_gpr_29 = (aot_gpr_29 + static_cast(-352)); - { const std::uint32_t aot_run_words[16]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; + { const std::uint32_t aot_run_words[16]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(288), aot_run_words); } ctx.gpr[8] = (0u | 0u); aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(280), static_cast(ctx.gpr[8])); @@ -2354,10 +2355,10 @@ L_08A50C24: ctx.gpr[17] = (aot_gpr_29 + static_cast(192)); aot_gpr_4 = (16256u << 16u); ctx.fpr[28] = std::bit_cast(aot_gpr_4); - aot_gpr_16 = (aot_gpr_29 | 0u); + ctx.gpr[16] = (aot_gpr_29 | 0u); goto L_08A50C4C; L_08A50C4C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(32))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(32))); { const bool branch_taken = ctx.gpr[20] == aot_gpr_4; // nop if (branch_taken) { @@ -2366,7 +2367,7 @@ L_08A50C4C: goto L_08A50C58; } L_08A50C58: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(32))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(32))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(284))); { const bool branch_taken = aot_gpr_5 == aot_gpr_4; // nop @@ -2376,7 +2377,7 @@ L_08A50C58: goto L_08A50C68; } L_08A50C68: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(32))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(32))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 496u); aot_gpr_4 = (aot_gpr_4 >> 4u); @@ -2389,7 +2390,7 @@ L_08A50C68: goto L_08A50C84; } L_08A50C84: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(32))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(32))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 496u); aot_gpr_4 = (aot_gpr_4 >> 4u); @@ -2402,7 +2403,7 @@ L_08A50C84: goto L_08A50CA0; } L_08A50CA0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(32))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(32))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 496u); aot_gpr_4 = (aot_gpr_4 >> 4u); @@ -2415,7 +2416,7 @@ L_08A50CA0: goto L_08A50CBC; } L_08A50CBC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(32))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(32))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 496u); aot_gpr_4 = (aot_gpr_4 >> 4u); @@ -2428,7 +2429,7 @@ L_08A50CBC: goto L_08A50CD8; } L_08A50CD8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(32))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(32))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 14u); aot_gpr_4 = (aot_gpr_4 ^ 4u); @@ -2442,7 +2443,7 @@ L_08A50CD8: goto L_08A50CF8; } L_08A50CF8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(32))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(32))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[30]); { const bool branch_taken = aot_gpr_4 != 0u; @@ -2454,7 +2455,7 @@ L_08A50CF8: } L_08A50D0C: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(48))); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(32))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(32))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(48))); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; { const float fs = aot_fpr_12; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } @@ -2498,7 +2499,7 @@ L_08A50D6C: goto L_08A50D80; } L_08A50D80: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(32))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(32))); aot_gpr_4 = (aot_gpr_4 + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; @@ -2521,7 +2522,7 @@ L_08A50D80: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0043_entry, 43u, 186u, 0x088B1424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A50DA4u) goto L_08A50DA4; AOT_REGCACHE_SYNC_OUT(); return; L_08A50DA4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(32))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(32))); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(86)))))); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); @@ -2541,7 +2542,7 @@ L_08A50DA4: } L_08A50DD8: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast(8))); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(32))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(32))); aot_gpr_4 = (aot_gpr_4 + static_cast(48)); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; @@ -2599,7 +2600,7 @@ L_08A50E00: const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(32))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(32))); aot_gpr_4 = (aot_gpr_4 + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; @@ -2697,7 +2698,7 @@ L_08A50EB4: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(96)))))); aot_gpr_4 = (static_cast(ctx.gpr[19]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_16 = (aot_gpr_16 + static_cast(4)); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(4)); if (branch_taken) { goto L_08A50C4C; } @@ -2745,7 +2746,7 @@ L_08A50F00: ctx.fpr[26] = std::bit_cast(aot_run_words[3]); ctx.fpr[28] = std::bit_cast(aot_run_words[4]); ctx.fpr[30] = std::bit_cast(aot_run_words[5]); - aot_gpr_16 = aot_run_words[6]; + ctx.gpr[16] = aot_run_words[6]; ctx.gpr[17] = aot_run_words[7]; ctx.gpr[18] = aot_run_words[8]; ctx.gpr[19] = aot_run_words[9]; @@ -2764,12 +2765,12 @@ L_08A50F00: AOT_REGCACHE_SYNC_OUT(); return; L_08A50F48: aot_gpr_29 = (aot_gpr_29 + static_cast(-528)); - { const std::uint32_t aot_run_words[14]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; + { const std::uint32_t aot_run_words[14]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(464), aot_run_words); } ctx.gpr[30] = (ctx.gpr[7] | 0u); ctx.gpr[19] = (aot_gpr_6 | 0u); ctx.gpr[18] = (aot_gpr_5 | 0u); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_4 = (0u | 0u); aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(460), static_cast(aot_gpr_4)); { const std::uint32_t vfpu_address = ctx.gpr[30] + static_cast(0); @@ -2809,7 +2810,7 @@ L_08A50F48: ctx.execute_vfpu_unary_ct<28u, 28u, 1u, 22u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_12 = std::bit_cast(aot_gpr_4); - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); aot_gpr_6 = (aot_gpr_29 + static_cast(96)); ctx.gpr[8] = (aot_gpr_29 + static_cast(32)); aot_gpr_4 = (ctx.gpr[19] | 0u); @@ -2821,7 +2822,7 @@ L_08A50F48: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), 0u); aot_gpr_31 = (0x08A50FF8u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_2); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0037_entry, 37u, 287u, 0x08899758u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A50FF8u) goto L_08A50FF8; AOT_REGCACHE_SYNC_OUT(); return; L_08A50FF8: @@ -2832,7 +2833,7 @@ L_08A50FF8: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(96)))))); aot_gpr_4 = (static_cast(ctx.gpr[17]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; - ctx.gpr[8] = (aot_gpr_16 | 0u); + ctx.gpr[8] = (ctx.gpr[16] | 0u); if (branch_taken) { goto L_08A511F4; } @@ -2856,15 +2857,15 @@ L_08A51018: ctx.fpr[26] = std::bit_cast(0u); goto L_08A51054; L_08A51054: - aot_gpr_16 = (ctx.gpr[17] << 2u); - aot_gpr_16 = (aot_gpr_29 + aot_gpr_16); + ctx.gpr[16] = (ctx.gpr[17] << 2u); + ctx.gpr[16] = (aot_gpr_29 + ctx.gpr[16]); aot_gpr_31 = (0x08A51064u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(32))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(32))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0055_entry, 55u, 244u, 0x088E289Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A51064u) goto L_08A51064; AOT_REGCACHE_SYNC_OUT(); return; L_08A51064: - aot_gpr_4 = (ctx.gpr[2] | 0u); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(32))); + aot_gpr_4 = (aot_gpr_2 | 0u); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(32))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(456))); { const bool branch_taken = aot_gpr_6 == aot_gpr_5; aot_gpr_5 = (0u | 57u); @@ -2890,7 +2891,7 @@ L_08A51080: goto L_08A51088; } L_08A51088: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(32))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(32))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 14u); aot_gpr_4 = (aot_gpr_4 ^ 6u); @@ -2904,7 +2905,7 @@ L_08A51088: goto L_08A510A8; } L_08A510A8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(32))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(32))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(2120))); { const bool branch_taken = aot_gpr_4 == ctx.gpr[18]; // nop @@ -2914,7 +2915,7 @@ L_08A510A8: goto L_08A510B8; } L_08A510B8: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(32))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(32))); aot_gpr_6 = (aot_gpr_6 + static_cast(48)); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08A510CCu); @@ -2943,7 +2944,7 @@ L_08A510E0: goto L_08A510F0; } L_08A510F0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(32))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(32))); aot_gpr_4 = (aot_gpr_4 + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; @@ -2999,7 +3000,7 @@ L_08A51130: goto L_08A5113C; } L_08A5113C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(32))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(32))); aot_gpr_4 = (aot_gpr_4 + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; @@ -3065,7 +3066,7 @@ L_08A51174: const std::uint32_t vfpu_address = ctx.gpr[21] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(32))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(32))); aot_gpr_4 = (aot_gpr_4 + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; @@ -3245,12 +3246,12 @@ L_08A512B4: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>(); - aot_gpr_16 = (aot_gpr_29 + static_cast(192)); + ctx.gpr[16] = (aot_gpr_29 + static_cast(192)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -3288,10 +3289,10 @@ L_08A512B4: ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -3412,10 +3413,10 @@ L_08A5135C: ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 0u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -3444,21 +3445,21 @@ L_08A513B0: aot_gpr_4 = (aot_gpr_4 | 39322u); aot_gpr_31 = (0x08A513CCu); ctx.fpr[22] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A513CCu) goto L_08A513CC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A513CCu) goto L_08A513CC; AOT_REGCACHE_SYNC_OUT(); return; L_08A513CC: aot_fpr_12 = ctx.fpr[22] - aot_fpr_20; { const float fs = aot_fpr_12; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_31 = (0x08A513DCu); ctx.fpr[24] = aot_fpr_20 + aot_fpr_12; - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A513DCu) goto L_08A513DC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A513DCu) goto L_08A513DC; AOT_REGCACHE_SYNC_OUT(); return; L_08A513DC: aot_fpr_13 = ctx.fpr[22] - aot_fpr_20; { const float fs = aot_fpr_13; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_gpr_31 = (0x08A513ECu); ctx.fpr[26] = aot_fpr_20 + aot_fpr_13; - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A513ECu) goto L_08A513EC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A513ECu) goto L_08A513EC; AOT_REGCACHE_SYNC_OUT(); return; L_08A513EC: aot_fpr_14 = ctx.fpr[22] - aot_fpr_20; @@ -3478,7 +3479,7 @@ L_08A51410: ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); ctx.fpr[26] = std::bit_cast(aot_run_words[3]); - aot_gpr_16 = aot_run_words[4]; + ctx.gpr[16] = aot_run_words[4]; ctx.gpr[17] = aot_run_words[5]; ctx.gpr[18] = aot_run_words[6]; ctx.gpr[19] = aot_run_words[7]; @@ -3497,10 +3498,10 @@ L_08A51410: AOT_REGCACHE_SYNC_OUT(); return; L_08A51450: aot_gpr_29 = (aot_gpr_29 + static_cast(-448)); - { const std::uint32_t aot_run_words[10]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; + { const std::uint32_t aot_run_words[10]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(404), aot_run_words); } aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.gpr[17] = (aot_gpr_5 | 0u); ctx.gpr[20] = (ctx.gpr[7] | 0u); { const bool branch_taken = aot_gpr_6 == 0u; @@ -3511,7 +3512,7 @@ L_08A51450: goto L_08A51494; } L_08A51494: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 14u); aot_gpr_4 = (aot_gpr_4 ^ 4u); @@ -3525,7 +3526,7 @@ L_08A51494: goto L_08A514B4; } L_08A514B4: - ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_31 = (0x08A514C4u); aot_gpr_5 = (ctx.gpr[17] | 0u); @@ -3543,7 +3544,7 @@ L_08A514C4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0167_entry, 167u, 61u, 0x08AA0468u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A514E4u) goto L_08A514E4; AOT_REGCACHE_SYNC_OUT(); return; L_08A514E4: - { const std::uint32_t vfpu_address = ctx.gpr[2] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_2 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -3557,7 +3558,7 @@ L_08A514E4: const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_4 = (ctx.gpr[2] + static_cast(16)); + aot_gpr_4 = (aot_gpr_2 + static_cast(16)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -3602,23 +3603,23 @@ L_08A51520: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0038_entry, 38u, 621u, 0x0889EB08u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A51540u) goto L_08A51540; AOT_REGCACHE_SYNC_OUT(); return; L_08A51540: - ctx.gpr[23] = (ctx.gpr[2] | 0u); + ctx.gpr[23] = (aot_gpr_2 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(900))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(708))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); aot_gpr_31 = (0x08A51558u); aot_gpr_4 = (ctx.gpr[23] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 251u, 0x08969194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A51558u) goto L_08A51558; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08969194, 89u, 251u, 0x08969194u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 251u, 0x08969194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A51558u) goto L_08A51558; AOT_REGCACHE_SYNC_OUT(); return; L_08A51558: aot_gpr_4 = (ctx.gpr[23] | 0u); aot_gpr_31 = (0x08A51564u); - ctx.gpr[23] = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A51564u) goto L_08A51564; + ctx.gpr[23] = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0896918C, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A51564u) goto L_08A51564; AOT_REGCACHE_SYNC_OUT(); return; L_08A51564: ctx.gpr[7] = (ctx.gpr[23] << 6u); - ctx.gpr[7] = (ctx.gpr[2] + ctx.gpr[7]); + ctx.gpr[7] = (aot_gpr_2 + ctx.gpr[7]); aot_gpr_4 = (ctx.gpr[22] | 0u); aot_gpr_5 = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x08A5157Cu); @@ -3660,7 +3661,7 @@ L_08A515C8: if (ctx.pc == 0x08A515DCu) goto L_08A515DC; AOT_REGCACHE_SYNC_OUT(); return; L_08A515DC: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08A515F0; @@ -3669,7 +3670,7 @@ L_08A515DC: } L_08A515E4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(900))); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), aot_gpr_4); ctx.gpr[19] = (0u | 1u); goto L_08A515F0; L_08A515F0: @@ -3690,7 +3691,7 @@ L_08A51604: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A51610u) goto L_08A51610; AOT_REGCACHE_SYNC_OUT(); return; L_08A51610: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; aot_gpr_4 = (ctx.gpr[18] | 0u); if (branch_taken) { goto L_08A51718; @@ -3703,7 +3704,7 @@ L_08A51618: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A51620u) goto L_08A51620; AOT_REGCACHE_SYNC_OUT(); return; L_08A51620: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(468))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(468))); aot_gpr_4 = (aot_gpr_4 & 4u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -3724,32 +3725,32 @@ L_08A51630: AOT_REGCACHE_SYNC_OUT(); return; L_08A51650: aot_gpr_31 = (0x08A51658u); - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(80))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(80))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0038_entry, 38u, 621u, 0x0889EB08u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A51658u) goto L_08A51658; AOT_REGCACHE_SYNC_OUT(); return; L_08A51658: - ctx.gpr[30] = (ctx.gpr[2] | 0u); + ctx.gpr[30] = (aot_gpr_2 | 0u); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08A51668u); aot_gpr_5 = (ctx.gpr[22] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A51668u) goto L_08A51668; AOT_REGCACHE_SYNC_OUT(); return; L_08A51668: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(708))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(708))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); aot_gpr_31 = (0x08A51678u); aot_gpr_4 = (ctx.gpr[30] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 251u, 0x08969194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A51678u) goto L_08A51678; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08969194, 89u, 251u, 0x08969194u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 251u, 0x08969194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A51678u) goto L_08A51678; AOT_REGCACHE_SYNC_OUT(); return; L_08A51678: aot_gpr_4 = (ctx.gpr[30] | 0u); aot_gpr_31 = (0x08A51684u); - ctx.gpr[30] = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A51684u) goto L_08A51684; + ctx.gpr[30] = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0896918C, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A51684u) goto L_08A51684; AOT_REGCACHE_SYNC_OUT(); return; L_08A51684: ctx.gpr[7] = (ctx.gpr[30] << 6u); - ctx.gpr[7] = (ctx.gpr[2] + ctx.gpr[7]); + ctx.gpr[7] = (aot_gpr_2 + ctx.gpr[7]); aot_gpr_4 = (ctx.gpr[23] | 0u); aot_gpr_5 = (ctx.gpr[23] | 0u); aot_gpr_31 = (0x08A5169Cu); @@ -3791,7 +3792,7 @@ L_08A516E8: if (ctx.pc == 0x08A516FCu) goto L_08A516FC; AOT_REGCACHE_SYNC_OUT(); return; L_08A516FC: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08A51718; @@ -3805,7 +3806,7 @@ L_08A51704: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A51710u) goto L_08A51710; AOT_REGCACHE_SYNC_OUT(); return; L_08A51710: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), aot_gpr_2); ctx.gpr[19] = (0u | 1u); goto L_08A51718; L_08A51718: @@ -3969,7 +3970,7 @@ L_08A517E0: L_08A517F4: aot_gpr_4 = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x08A51800u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 912u, 0x0885F828u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A51800u) goto L_08A51800; AOT_REGCACHE_SYNC_OUT(); return; L_08A51800: @@ -4077,7 +4078,7 @@ L_08A51868: if (ctx.pc == 0x08A5189Cu) goto L_08A5189C; AOT_REGCACHE_SYNC_OUT(); return; L_08A5189C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08A5191C; @@ -4118,7 +4119,7 @@ L_08A518D4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0043_entry, 43u, 428u, 0x088B36D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A518ECu) goto L_08A518EC; AOT_REGCACHE_SYNC_OUT(); return; L_08A518EC: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08A51900; @@ -4197,7 +4198,7 @@ L_08A5195C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0043_entry, 43u, 428u, 0x088B36D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A51974u) goto L_08A51974; AOT_REGCACHE_SYNC_OUT(); return; L_08A51974: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08A51988; @@ -4242,7 +4243,7 @@ L_08A519AC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 348u, 0x08B0D6E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A519BCu) goto L_08A519BC; AOT_REGCACHE_SYNC_OUT(); return; L_08A519BC: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08A51A18; @@ -4257,7 +4258,7 @@ L_08A519C4: AOT_REGCACHE_SYNC_OUT(); return; L_08A519D0: aot_gpr_4 = (0u | 2u); - { const bool branch_taken = ctx.gpr[2] != aot_gpr_4; + { const bool branch_taken = aot_gpr_2 != aot_gpr_4; // nop if (branch_taken) { goto L_08A519E8; @@ -4321,7 +4322,7 @@ L_08A51A3C: goto L_08A51A44; } L_08A51A44: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), ctx.gpr[18]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), ctx.gpr[18]); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08A51A54u); aot_gpr_5 = (aot_gpr_29 | 0u); @@ -4330,7 +4331,7 @@ L_08A51A44: L_08A51A54: { std::uint32_t aot_run_words[10]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(404), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -4349,11 +4350,11 @@ L_08A51A54: AOT_REGCACHE_SYNC_OUT(); return; L_08A51A84: aot_gpr_29 = (aot_gpr_29 + static_cast(-192)); - { const std::uint32_t aot_run_words[12]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; + { const std::uint32_t aot_run_words[12]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(140), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_4 = (0u | 150u); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(852))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(852))); aot_gpr_6 = (0u | 1u); { const bool branch_taken = aot_gpr_5 != aot_gpr_6; // nop @@ -4363,7 +4364,7 @@ L_08A51A84: goto L_08A51AD0; } L_08A51AD0: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(613)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(613)))))); aot_gpr_5 = (aot_gpr_5 & 1u); { const bool branch_taken = aot_gpr_5 == 0u; // nop @@ -4376,7 +4377,7 @@ L_08A51AE0: aot_gpr_4 = (0u | 400u); goto L_08A51AE4; L_08A51AE4: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(656))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(656))); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_4 = (aot_gpr_4 < aot_gpr_5 ? 1u : 0u); @@ -4388,7 +4389,7 @@ L_08A51AE4: goto L_08A51AFC; } L_08A51AFC: - aot_gpr_4 = (aot_gpr_16 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(16)); ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_4 = (15820u << 16u); @@ -4409,7 +4410,7 @@ L_08A51B34: aot_fpr_20 = ctx.fpr[15] / aot_fpr_12; ctx.fpr[22] = aot_fpr_14 / aot_fpr_12; aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(656), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(656), aot_gpr_4); aot_gpr_4 = (16243u << 16u); aot_gpr_4 = (aot_gpr_4 | 13107u); aot_fpr_13 = std::bit_cast(aot_gpr_4); @@ -4437,7 +4438,7 @@ L_08A51B34: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (ctx.gpr[17] | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A51B90u); aot_gpr_6 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0142_entry, 142u, 568u, 0x08A3FB50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A51B90u) goto L_08A51B90; @@ -4507,10 +4508,10 @@ L_08A51B90: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_31 = (0x08A51BECu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A51BECu) goto L_08A51BEC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A51BECu) goto L_08A51BEC; AOT_REGCACHE_SYNC_OUT(); return; L_08A51BEC: - aot_gpr_4 = (ctx.gpr[2] & 65535u); + aot_gpr_4 = (aot_gpr_2 & 65535u); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_4 = (aot_gpr_4 + static_cast(-128)); aot_fpr_12 = std::bit_cast(aot_gpr_4); @@ -4521,20 +4522,20 @@ L_08A51BEC: { const float fs = aot_fpr_12; const float ft = ctx.fpr[30]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[28] = std::bit_cast(0x7FC00000u); else ctx.fpr[28] = fs * ft; } aot_gpr_31 = (0x08A51C18u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(132), std::bit_cast(ctx.fpr[30])); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A51C18u) goto L_08A51C18; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A51C18u) goto L_08A51C18; AOT_REGCACHE_SYNC_OUT(); return; L_08A51C18: - aot_gpr_4 = (ctx.gpr[2] & 65535u); + aot_gpr_4 = (aot_gpr_2 & 65535u); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_4 = (aot_gpr_4 + static_cast(-128)); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_13))); aot_gpr_31 = (0x08A51C34u); { const float fs = aot_fpr_13; const float ft = ctx.fpr[30]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[30] = std::bit_cast(0x7FC00000u); else ctx.fpr[30] = fs * ft; } - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A51C34u) goto L_08A51C34; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A51C34u) goto L_08A51C34; AOT_REGCACHE_SYNC_OUT(); return; L_08A51C34: - aot_gpr_4 = (ctx.gpr[2] & 65535u); + aot_gpr_4 = (aot_gpr_2 & 65535u); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_4 = (aot_gpr_4 + static_cast(-128)); aot_fpr_12 = std::bit_cast(aot_gpr_4); @@ -4551,8 +4552,8 @@ L_08A51C34: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A51C70u) goto L_08A51C70; AOT_REGCACHE_SYNC_OUT(); return; L_08A51C70: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(900))); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(900))); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_6 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08A51C84u); ctx.gpr[7] = (ctx.gpr[20] | 0u); @@ -4584,7 +4585,7 @@ L_08A51C94: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (ctx.gpr[19] | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A51CC4u); aot_gpr_6 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0142_entry, 142u, 568u, 0x08A3FB50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A51CC4u) goto L_08A51CC4; @@ -4646,10 +4647,10 @@ L_08A51CC4: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_31 = (0x08A51D00u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A51D00u) goto L_08A51D00; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A51D00u) goto L_08A51D00; AOT_REGCACHE_SYNC_OUT(); return; L_08A51D00: - aot_gpr_4 = (ctx.gpr[2] & 65535u); + aot_gpr_4 = (aot_gpr_2 & 65535u); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_4 = (aot_gpr_4 + static_cast(-128)); aot_fpr_12 = std::bit_cast(aot_gpr_4); @@ -4657,20 +4658,20 @@ L_08A51D00: ctx.fpr[24] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(132))); aot_gpr_31 = (0x08A51D20u); { const float fs = aot_fpr_12; const float ft = ctx.fpr[24]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[26] = std::bit_cast(0x7FC00000u); else ctx.fpr[26] = fs * ft; } - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A51D20u) goto L_08A51D20; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A51D20u) goto L_08A51D20; AOT_REGCACHE_SYNC_OUT(); return; L_08A51D20: - aot_gpr_4 = (ctx.gpr[2] & 65535u); + aot_gpr_4 = (aot_gpr_2 & 65535u); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_4 = (aot_gpr_4 + static_cast(-128)); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_13))); aot_gpr_31 = (0x08A51D3Cu); { const float fs = aot_fpr_13; const float ft = ctx.fpr[24]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[24] = std::bit_cast(0x7FC00000u); else ctx.fpr[24] = fs * ft; } - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A51D3Cu) goto L_08A51D3C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A51D3Cu) goto L_08A51D3C; AOT_REGCACHE_SYNC_OUT(); return; L_08A51D3C: - aot_gpr_4 = (ctx.gpr[2] & 65535u); + aot_gpr_4 = (aot_gpr_2 & 65535u); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_4 = (aot_gpr_4 + static_cast(-128)); aot_fpr_12 = std::bit_cast(aot_gpr_4); @@ -4684,8 +4685,8 @@ L_08A51D3C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A51D6Cu) goto L_08A51D6C; AOT_REGCACHE_SYNC_OUT(); return; L_08A51D6C: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(900))); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(900))); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_6 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08A51D80u); ctx.gpr[7] = (ctx.gpr[20] | 0u); @@ -4699,7 +4700,7 @@ L_08A51D80: AOT_REGCACHE_SYNC_OUT(); return; L_08A51D90: aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(96))); aot_gpr_6 = (16256u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_6); aot_gpr_6 = (0u | 55u); @@ -4708,10 +4709,10 @@ L_08A51D90: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 503u, 0x08A05F80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A51DACu) goto L_08A51DAC; AOT_REGCACHE_SYNC_OUT(); return; L_08A51DAC: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(625))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(625))); aot_gpr_4 = (aot_gpr_4 + static_cast(-1)); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(625), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(625))); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(625), static_cast(aot_gpr_4)); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(625))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -4721,10 +4722,10 @@ L_08A51DAC: } L_08A51DC4: aot_gpr_4 = (0u | 20u); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(625), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(625), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_4 = (aot_gpr_4 + static_cast(1400)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(656), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(656), aot_gpr_4); goto L_08A51DD8; L_08A51DD8: { std::uint32_t aot_run_words[12]{}; @@ -4735,7 +4736,7 @@ L_08A51DD8: ctx.fpr[26] = std::bit_cast(aot_run_words[3]); ctx.fpr[28] = std::bit_cast(aot_run_words[4]); ctx.fpr[30] = std::bit_cast(aot_run_words[5]); - aot_gpr_16 = aot_run_words[6]; + ctx.gpr[16] = aot_run_words[6]; ctx.gpr[17] = aot_run_words[7]; ctx.gpr[18] = aot_run_words[8]; ctx.gpr[19] = aot_run_words[9]; @@ -4750,17 +4751,17 @@ L_08A51DD8: AOT_REGCACHE_SYNC_OUT(); return; L_08A51E10: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - { const std::uint32_t aot_run_words[10]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; + { const std::uint32_t aot_run_words[10]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(8), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.gpr[30] = (0u | 0u); - ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(900))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(900))); aot_gpr_31 = (0x08A51E50u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0143_entry, 143u, 32u, 0x08A4031Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A51E50u) goto L_08A51E50; AOT_REGCACHE_SYNC_OUT(); return; L_08A51E50: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -4771,10 +4772,10 @@ L_08A51E50: L_08A51E5C: aot_gpr_31 = (0x08A51E64u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A51E64u) goto L_08A51E64; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089474C4, 80u, 661u, 0x089474C4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A51E64u) goto L_08A51E64; AOT_REGCACHE_SYNC_OUT(); return; L_08A51E64: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -4829,11 +4830,11 @@ L_08A51EB0: L_08A51EC0: aot_gpr_31 = (0x08A51EC8u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A51EC8u) goto L_08A51EC8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B01E00, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A51EC8u) goto L_08A51EC8; AOT_REGCACHE_SYNC_OUT(); return; L_08A51EC8: aot_gpr_4 = (0u | 3u); - { const bool branch_taken = ctx.gpr[2] == aot_gpr_4; + { const bool branch_taken = aot_gpr_2 == aot_gpr_4; // nop if (branch_taken) { goto L_08A51EF4; @@ -4843,10 +4844,10 @@ L_08A51EC8: L_08A51ED4: aot_gpr_31 = (0x08A51EDCu); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A51EDCu) goto L_08A51EDC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A51EDCu) goto L_08A51EDC; AOT_REGCACHE_SYNC_OUT(); return; L_08A51EDC: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(104))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(104))); aot_gpr_5 = (0u | 5u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -4888,7 +4889,7 @@ L_08A51F04: goto L_08A51F0C; } L_08A51F0C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(900))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(96))); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08A51F20u); @@ -4933,11 +4934,11 @@ L_08A51F6C: AOT_REGCACHE_SYNC_OUT(); return; L_08A51F74: aot_gpr_31 = (0x08A51F7Cu); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0098_entry, 98u, 148u, 0x0898C6D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A51F7Cu) goto L_08A51F7C; AOT_REGCACHE_SYNC_OUT(); return; L_08A51F7C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08A51F88; @@ -4954,13 +4955,13 @@ L_08A51F88: AOT_REGCACHE_SYNC_OUT(); return; L_08A51F90: aot_gpr_31 = (0x08A51F98u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0098_entry, 98u, 200u, 0x0898C924u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A51F98u) goto L_08A51F98; AOT_REGCACHE_SYNC_OUT(); return; L_08A51F98: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1152))); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(614)))))); - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; aot_gpr_5 = (aot_gpr_5 & 8u); if (branch_taken) { goto L_08A51FD8; @@ -5036,10 +5037,10 @@ L_08A52004: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(80))); aot_gpr_31 = (0x08A52010u); aot_gpr_5 = (ctx.gpr[23] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A52010u) goto L_08A52010; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0886D4BC, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A52010u) goto L_08A52010; AOT_REGCACHE_SYNC_OUT(); return; L_08A52010: - ctx.gpr[23] = (ctx.gpr[2] | 0u); + ctx.gpr[23] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[23] == 0u; // nop if (branch_taken) { @@ -5056,10 +5057,10 @@ L_08A52028: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(80))); aot_gpr_31 = (0x08A52034u); aot_gpr_5 = (ctx.gpr[22] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A52034u) goto L_08A52034; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0886D4BC, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A52034u) goto L_08A52034; AOT_REGCACHE_SYNC_OUT(); return; L_08A52034: - ctx.gpr[30] = (ctx.gpr[2] | 0u); + ctx.gpr[30] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[30] == 0u; // nop if (branch_taken) { @@ -5104,7 +5105,7 @@ L_08A52074: AOT_REGCACHE_SYNC_OUT(); return; L_08A52084: { const bool branch_taken = 0u == 0u; - ctx.gpr[30] = (ctx.gpr[2] | 0u); + ctx.gpr[30] = (aot_gpr_2 | 0u); if (branch_taken) { goto L_08A52150; } @@ -5116,7 +5117,7 @@ L_08A5208C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A52094u) goto L_08A52094; AOT_REGCACHE_SYNC_OUT(); return; L_08A52094: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08A520CC; @@ -5145,10 +5146,10 @@ L_08A520CC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(80))); aot_gpr_31 = (0x08A520D8u); aot_gpr_5 = (ctx.gpr[22] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A520D8u) goto L_08A520D8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0886D4BC, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A520D8u) goto L_08A520D8; AOT_REGCACHE_SYNC_OUT(); return; L_08A520D8: - ctx.gpr[22] = (ctx.gpr[2] | 0u); + ctx.gpr[22] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[22] == 0u; // nop if (branch_taken) { @@ -5165,10 +5166,10 @@ L_08A520F0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(80))); aot_gpr_31 = (0x08A520FCu); aot_gpr_5 = (ctx.gpr[23] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A520FCu) goto L_08A520FC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0886D4BC, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A520FCu) goto L_08A520FC; AOT_REGCACHE_SYNC_OUT(); return; L_08A520FC: - ctx.gpr[30] = (ctx.gpr[2] | 0u); + ctx.gpr[30] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[30] == 0u; // nop if (branch_taken) { @@ -5212,7 +5213,7 @@ L_08A5213C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 635u, 0x0893E914u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5214Cu) goto L_08A5214C; AOT_REGCACHE_SYNC_OUT(); return; L_08A5214C: - ctx.gpr[30] = (ctx.gpr[2] | 0u); + ctx.gpr[30] = (aot_gpr_2 | 0u); goto L_08A52150; L_08A52150: { const bool branch_taken = ctx.gpr[30] == 0u; @@ -5239,11 +5240,11 @@ L_08A52168: AOT_REGCACHE_SYNC_OUT(); return; L_08A52170: aot_gpr_31 = (0x08A52178u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0098_entry, 98u, 347u, 0x0898CF8Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A52178u) goto L_08A52178; AOT_REGCACHE_SYNC_OUT(); return; L_08A52178: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08A52214; @@ -5263,7 +5264,7 @@ L_08A52180: } L_08A52194: aot_gpr_4 = (ctx.gpr[18] | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_6 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08A521A8u); ctx.gpr[7] = (0u | 1u); @@ -5272,10 +5273,10 @@ L_08A52194: L_08A521A8: aot_gpr_31 = (0x08A521B0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A521B0u) goto L_08A521B0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A521B0u) goto L_08A521B0; AOT_REGCACHE_SYNC_OUT(); return; L_08A521B0: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(12))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(12))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); { const bool branch_taken = 0u == 0u; @@ -5294,10 +5295,10 @@ L_08A521CC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(80))); aot_gpr_31 = (0x08A521D8u); aot_gpr_5 = (ctx.gpr[22] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A521D8u) goto L_08A521D8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0886D4BC, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A521D8u) goto L_08A521D8; AOT_REGCACHE_SYNC_OUT(); return; L_08A521D8: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[18] == 0u; // nop if (branch_taken) { @@ -5314,10 +5315,10 @@ L_08A521F0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(80))); aot_gpr_31 = (0x08A521FCu); aot_gpr_5 = (ctx.gpr[23] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A521FCu) goto L_08A521FC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0886D4BC, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A521FCu) goto L_08A521FC; AOT_REGCACHE_SYNC_OUT(); return; L_08A521FC: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { @@ -5339,7 +5340,7 @@ L_08A52214: goto L_08A5221C; } L_08A5221C: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1844))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1844))); aot_fpr_13 = std::bit_cast(0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); // nop @@ -5357,8 +5358,8 @@ L_08A52234: ctx.fpr[15] = std::bit_cast(aot_gpr_4); { const float fs = aot_fpr_14; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } aot_fpr_12 = aot_fpr_12 - aot_fpr_14; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(1844), std::bit_cast(aot_fpr_12)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(1844), std::bit_cast(aot_fpr_12)); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(92))); aot_gpr_4 = (aot_gpr_4 + static_cast(272)); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); // nop @@ -5368,10 +5369,10 @@ L_08A52234: } goto L_08A52268; L_08A52268: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(1844), std::bit_cast(aot_fpr_13)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(1844), std::bit_cast(aot_fpr_13)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_5); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_5); aot_gpr_5 = (0u | 10u); aot_gpr_6 = (0u | 173u); jump_target = ctx.gpr[7]; @@ -5389,7 +5390,7 @@ L_08A52288: goto L_08A52290; } L_08A52290: - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1848))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1848))); aot_fpr_12 = std::bit_cast(0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 <= aot_fpr_12)) ? 0x00800000u : 0u); // nop @@ -5407,8 +5408,8 @@ L_08A522A8: ctx.fpr[15] = std::bit_cast(aot_gpr_4); { const float fs = aot_fpr_14; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } aot_fpr_13 = aot_fpr_13 - aot_fpr_14; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(1848), std::bit_cast(aot_fpr_13)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(1848), std::bit_cast(aot_fpr_13)); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(92))); aot_gpr_4 = (aot_gpr_4 + static_cast(272)); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 <= aot_fpr_12)) ? 0x00800000u : 0u); // nop @@ -5418,10 +5419,10 @@ L_08A522A8: } goto L_08A522DC; L_08A522DC: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(1848), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(1848), std::bit_cast(aot_fpr_12)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_5); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_5); aot_gpr_5 = (0u | 8u); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x08A522F8u); @@ -5432,7 +5433,7 @@ L_08A522DC: L_08A522F8: { std::uint32_t aot_run_words[10]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(8), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -5451,13 +5452,13 @@ L_08A522F8: AOT_REGCACHE_SYNC_OUT(); return; L_08A52328: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - { const std::uint32_t aot_run_words[8]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_31}; + { const std::uint32_t aot_run_words[8]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(852))); aot_gpr_6 = (0u | 2u); ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(900))); { const bool branch_taken = aot_gpr_5 == aot_gpr_6; - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08A5237C; } @@ -5467,10 +5468,10 @@ L_08A52360: ctx.gpr[22] = (0u | 0u); aot_gpr_31 = (0x08A5236Cu); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5236Cu) goto L_08A5236C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5236Cu) goto L_08A5236C; AOT_REGCACHE_SYNC_OUT(); return; L_08A5236C: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08A52394; @@ -5486,8 +5487,8 @@ L_08A52374: goto L_08A5237C; } L_08A5237C: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1120))); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1120))); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A5238Cu); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0143_entry, 143u, 581u, 0x08A438FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5238Cu) goto L_08A5238C; @@ -5503,10 +5504,10 @@ L_08A5238C: L_08A52394: aot_gpr_31 = (0x08A5239Cu); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5239Cu) goto L_08A5239C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089474C4, 80u, 661u, 0x089474C4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5239Cu) goto L_08A5239C; AOT_REGCACHE_SYNC_OUT(); return; L_08A5239C: - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(340))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(340))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -5531,10 +5532,10 @@ L_08A523B0: ctx.gpr[17] = (ctx.gpr[17] + static_cast(1396)); aot_gpr_31 = (0x08A523D0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A523D0u) goto L_08A523D0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A523D0u) goto L_08A523D0; AOT_REGCACHE_SYNC_OUT(); return; L_08A523D0: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(104))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(104))); aot_gpr_5 = (0u | 5u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -5544,7 +5545,7 @@ L_08A523D0: goto L_08A523E0; } L_08A523E0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(900))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(96))); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08A523F4u); @@ -5589,11 +5590,11 @@ L_08A52440: AOT_REGCACHE_SYNC_OUT(); return; L_08A52448: aot_gpr_31 = (0x08A52450u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0098_entry, 98u, 148u, 0x0898C6D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A52450u) goto L_08A52450; AOT_REGCACHE_SYNC_OUT(); return; L_08A52450: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08A5245C; @@ -5610,11 +5611,11 @@ L_08A5245C: AOT_REGCACHE_SYNC_OUT(); return; L_08A52464: aot_gpr_31 = (0x08A5246Cu); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0098_entry, 98u, 200u, 0x0898C924u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5246Cu) goto L_08A5246C; AOT_REGCACHE_SYNC_OUT(); return; L_08A5246C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08A5249C; @@ -5674,10 +5675,10 @@ L_08A524B0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(80))); aot_gpr_31 = (0x08A524BCu); aot_gpr_5 = (0u | 106u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A524BCu) goto L_08A524BC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0886D4BC, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A524BCu) goto L_08A524BC; AOT_REGCACHE_SYNC_OUT(); return; L_08A524BC: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -5694,10 +5695,10 @@ L_08A524D4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(80))); aot_gpr_31 = (0x08A524E0u); aot_gpr_5 = (0u | 105u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A524E0u) goto L_08A524E0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0886D4BC, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A524E0u) goto L_08A524E0; AOT_REGCACHE_SYNC_OUT(); return; L_08A524E0: - ctx.gpr[22] = (ctx.gpr[2] | 0u); + ctx.gpr[22] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[22] == 0u; // nop if (branch_taken) { @@ -5742,7 +5743,7 @@ L_08A52520: AOT_REGCACHE_SYNC_OUT(); return; L_08A52530: { const bool branch_taken = 0u == 0u; - ctx.gpr[22] = (ctx.gpr[2] | 0u); + ctx.gpr[22] = (aot_gpr_2 | 0u); if (branch_taken) { goto L_08A52600; } @@ -5755,7 +5756,7 @@ L_08A52538: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A52544u) goto L_08A52544; AOT_REGCACHE_SYNC_OUT(); return; L_08A52544: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08A5257C; @@ -5784,10 +5785,10 @@ L_08A5257C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(80))); aot_gpr_31 = (0x08A52588u); aot_gpr_5 = (0u | 105u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A52588u) goto L_08A52588; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0886D4BC, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A52588u) goto L_08A52588; AOT_REGCACHE_SYNC_OUT(); return; L_08A52588: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -5804,10 +5805,10 @@ L_08A525A0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(80))); aot_gpr_31 = (0x08A525ACu); aot_gpr_5 = (0u | 106u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A525ACu) goto L_08A525AC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0886D4BC, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A525ACu) goto L_08A525AC; AOT_REGCACHE_SYNC_OUT(); return; L_08A525AC: - ctx.gpr[22] = (ctx.gpr[2] | 0u); + ctx.gpr[22] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[22] == 0u; // nop if (branch_taken) { @@ -5851,7 +5852,7 @@ L_08A525EC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 635u, 0x0893E914u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A525FCu) goto L_08A525FC; AOT_REGCACHE_SYNC_OUT(); return; L_08A525FC: - ctx.gpr[22] = (ctx.gpr[2] | 0u); + ctx.gpr[22] = (aot_gpr_2 | 0u); goto L_08A52600; L_08A52600: { const bool branch_taken = ctx.gpr[22] == 0u; @@ -5878,11 +5879,11 @@ L_08A52618: AOT_REGCACHE_SYNC_OUT(); return; L_08A52620: aot_gpr_31 = (0x08A52628u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0098_entry, 98u, 347u, 0x0898CF8Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A52628u) goto L_08A52628; AOT_REGCACHE_SYNC_OUT(); return; L_08A52628: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08A526B8; @@ -5902,7 +5903,7 @@ L_08A52630: } L_08A52644: aot_gpr_4 = (ctx.gpr[17] | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_6 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08A52658u); ctx.gpr[7] = (0u | 1u); @@ -5927,10 +5928,10 @@ L_08A52670: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(80))); aot_gpr_31 = (0x08A5267Cu); aot_gpr_5 = (0u | 105u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5267Cu) goto L_08A5267C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0886D4BC, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5267Cu) goto L_08A5267C; AOT_REGCACHE_SYNC_OUT(); return; L_08A5267C: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { @@ -5947,10 +5948,10 @@ L_08A52694: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(80))); aot_gpr_31 = (0x08A526A0u); aot_gpr_5 = (0u | 106u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A526A0u) goto L_08A526A0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0886D4BC, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A526A0u) goto L_08A526A0; AOT_REGCACHE_SYNC_OUT(); return; L_08A526A0: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[18] == 0u; // nop if (branch_taken) { @@ -5966,7 +5967,7 @@ L_08A526AC: L_08A526B8: { std::uint32_t aot_run_words[8]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -6019,7 +6020,7 @@ L_08A52710: L_08A5271C: aot_gpr_31 = (0x08A52724u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A52724u) goto L_08A52724; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A52724u) goto L_08A52724; AOT_REGCACHE_SYNC_OUT(); return; L_08A52724: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -6044,21 +6045,21 @@ L_08A52730: aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(6))); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(12), static_cast(0u)); aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(10), static_cast(aot_gpr_5)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[17]); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(13), static_cast(0u)); ctx.gpr[17] = (aot_gpr_4 + static_cast(16)); - aot_gpr_16 = (ctx.gpr[28] + static_cast(-6240)); + ctx.gpr[16] = (ctx.gpr[28] + static_cast(-6240)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_31); aot_gpr_31 = (0x08A52788u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A52788u) goto L_08A52788; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A52788u) goto L_08A52788; AOT_REGCACHE_SYNC_OUT(); return; L_08A52788: aot_gpr_4 = (ctx.gpr[17] | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A52798u); - aot_gpr_6 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 283u, 0x08B653C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A52798u) goto L_08A52798; AOT_REGCACHE_SYNC_OUT(); return; L_08A52798: @@ -6077,44 +6078,44 @@ L_08A52798: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 474u, 0x08ABE308u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A527D0u) goto L_08A527D0; AOT_REGCACHE_SYNC_OUT(); return; L_08A527D0: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); { const bool branch_taken = aot_gpr_4 != 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); + aot_gpr_2 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); if (branch_taken) { goto L_08A527F4; } goto L_08A527E0; } L_08A527E0: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_2); aot_gpr_31 = (0x08A527ECu); aot_gpr_4 = (aot_gpr_5 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 289u, 0x08B65438u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A527ECu) goto L_08A527EC; AOT_REGCACHE_SYNC_OUT(); return; L_08A527EC: - aot_gpr_4 = (ctx.gpr[2] | 0u); - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); + aot_gpr_4 = (aot_gpr_2 | 0u); + aot_gpr_2 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); goto L_08A527F4; L_08A527F4: - aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(108), aot_gpr_4); - aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(112), 0u); + aot_mem.aot_direct_store32(aot_gpr_2 + static_cast(108), aot_gpr_4); + aot_mem.aot_direct_store32(aot_gpr_2 + static_cast(112), 0u); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(0)))))); - aot_gpr_5 = (ctx.gpr[2] + static_cast(116)); + aot_gpr_5 = (aot_gpr_2 + static_cast(116)); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(0), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(108))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(108))); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(0u)); - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(108))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(108))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(108))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(108))); aot_gpr_5 = (aot_gpr_4 + static_cast(8)); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_4); aot_gpr_5 = (aot_gpr_4 + static_cast(12)); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_4); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(12), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -6126,8 +6127,8 @@ L_08A527F4: AOT_REGCACHE_SYNC_OUT(); return; L_08A52844: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); { const std::uint32_t aot_run_words[6]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(20), aot_run_words); } { const bool branch_taken = aot_gpr_4 == 0u; @@ -6138,11 +6139,11 @@ L_08A52844: goto L_08A52870; } L_08A52870: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(112))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(112))); aot_gpr_5 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); aot_gpr_5 = (aot_gpr_5 & 255u); { const bool branch_taken = aot_gpr_5 != 0u; - ctx.gpr[21] = (aot_gpr_16 + static_cast(108)); + ctx.gpr[21] = (ctx.gpr[16] + static_cast(108)); if (branch_taken) { goto L_08A52954; } @@ -6152,7 +6153,7 @@ L_08A52884: ctx.gpr[18] = (0u | 1u); ctx.gpr[19] = (aot_gpr_29 + static_cast(8)); ctx.gpr[20] = (aot_gpr_29 + static_cast(12)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(108))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(108))); goto L_08A52894; L_08A52894: aot_gpr_5 = (aot_gpr_4 + static_cast(8)); @@ -6169,7 +6170,7 @@ L_08A52894: } L_08A528B0: aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-4784), static_cast(ctx.gpr[18])); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(108))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(108))); aot_gpr_4 = (aot_gpr_4 + static_cast(8)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_4); @@ -6196,7 +6197,7 @@ L_08A528D4: AOT_REGCACHE_SYNC_OUT(); return; L_08A528F0: aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-4784), static_cast(0u)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(112))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(112))); aot_gpr_5 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); { const bool branch_taken = 0u == 0u; aot_gpr_5 = (aot_gpr_5 & 255u); @@ -6217,7 +6218,7 @@ L_08A52904: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0217_entry, 217u, 484u, 0x08B6AC34u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A52924u) goto L_08A52924; AOT_REGCACHE_SYNC_OUT(); return; L_08A52924: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -6228,30 +6229,30 @@ L_08A52924: L_08A52930: aot_gpr_31 = (0x08A52938u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A52938u) goto L_08A52938; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A52938u) goto L_08A52938; AOT_REGCACHE_SYNC_OUT(); return; L_08A52938: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(112))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(112))); aot_gpr_4 = (aot_gpr_4 + static_cast(-1)); aot_gpr_5 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(112), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(112), aot_gpr_4); aot_gpr_5 = (aot_gpr_5 & 255u); goto L_08A5294C; L_08A5294C: if (aot_gpr_5 == 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(108))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(108))); goto L_08A52894; } goto L_08A52954; L_08A52954: if (ctx.gpr[21] == 0u) { - aot_gpr_4 = (aot_gpr_16 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(16)); goto L_08A529C4; } goto L_08A5295C; L_08A5295C: if (ctx.gpr[21] == 0u) { - aot_gpr_4 = (aot_gpr_16 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(16)); goto L_08A529C4; } goto L_08A52964; @@ -6264,7 +6265,7 @@ L_08A52964: goto L_08A5296C; } L_08A5296C: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(108))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(108))); aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_5 = (aot_gpr_5 + static_cast(4)); aot_gpr_31 = (0x08A52980u); @@ -6272,38 +6273,38 @@ L_08A5296C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0218_entry, 218u, 375u, 0x08B6DB8Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A52980u) goto L_08A52980; AOT_REGCACHE_SYNC_OUT(); return; L_08A52980: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(108))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(108))); aot_gpr_5 = (aot_gpr_4 + static_cast(8)); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(108))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(108))); aot_gpr_5 = (aot_gpr_4 + static_cast(12)); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(112), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(112), 0u); goto L_08A529A4; L_08A529A4: { const bool branch_taken = ctx.gpr[21] == 0u; - aot_gpr_4 = (aot_gpr_16 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(16)); if (branch_taken) { goto L_08A529C4; } goto L_08A529AC; } L_08A529AC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(108))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(108))); if (aot_gpr_4 == 0u) { - aot_gpr_4 = (aot_gpr_16 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(16)); goto L_08A529C4; } goto L_08A529B8; L_08A529B8: aot_gpr_31 = (0x08A529C0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A529C0u) goto L_08A529C0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A529C0u) goto L_08A529C0; AOT_REGCACHE_SYNC_OUT(); return; L_08A529C0: - aot_gpr_4 = (aot_gpr_16 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(16)); goto L_08A529C4; L_08A529C4: { const bool branch_taken = aot_gpr_4 == 0u; @@ -6314,7 +6315,7 @@ L_08A529C4: goto L_08A529CC; } L_08A529CC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(20))); aot_gpr_5 = (ctx.gpr[28] + static_cast(5824)); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; aot_gpr_5 = (aot_gpr_4 | 0u); @@ -6327,7 +6328,7 @@ L_08A529DC: aot_gpr_4 = (2236u << 16u); aot_gpr_31 = (0x08A529E8u); aot_gpr_4 = (aot_gpr_4 + static_cast(25856)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A529E8u) goto L_08A529E8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A529E8u) goto L_08A529E8; AOT_REGCACHE_SYNC_OUT(); return; L_08A529E8: aot_gpr_4 = (ctx.gpr[17] & 1u); @@ -6342,13 +6343,13 @@ L_08A529EC: } L_08A529F4: aot_gpr_31 = (0x08A529FCu); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A529FCu) goto L_08A529FC; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A529FCu) goto L_08A529FC; AOT_REGCACHE_SYNC_OUT(); return; L_08A529FC: { std::uint32_t aot_run_words[7]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -6395,7 +6396,7 @@ L_08A52A48: } L_08A52A54: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08A52A70; } @@ -6403,7 +6404,7 @@ L_08A52A54: } L_08A52A5C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08A52A70; } @@ -6411,14 +6412,14 @@ L_08A52A5C: } L_08A52A64: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_08A52A70; } goto L_08A52A6C; } L_08A52A6C: - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); goto L_08A52A70; L_08A52A70: jump_target = aot_gpr_31; @@ -6434,10 +6435,10 @@ L_08A52A78: aot_gpr_5 = (aot_gpr_5 < static_cast(1) ? 1u : 0u); ctx.gpr[17] = (aot_gpr_4 + static_cast(16)); aot_gpr_5 = (aot_gpr_5 & 255u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); { const bool branch_taken = aot_gpr_5 == 0u; - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08A52AF0; } @@ -6459,7 +6460,7 @@ L_08A52AB4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5868))); goto L_08A52AB8; L_08A52AB8: - aot_gpr_6 = (aot_gpr_16 + static_cast(4)); + aot_gpr_6 = (ctx.gpr[16] + static_cast(4)); aot_gpr_31 = (0x08A52AC4u); aot_gpr_5 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0148_entry, 148u, 180u, 0x08A54B14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A52AC4u) goto L_08A52AC4; @@ -6472,9 +6473,9 @@ L_08A52AC4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 319u, 0x08B655B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A52AD4u) goto L_08A52AD4; AOT_REGCACHE_SYNC_OUT(); return; L_08A52AD4: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); aot_gpr_4 = (ctx.gpr[28] + static_cast(5824)); - { const bool branch_taken = aot_gpr_16 == aot_gpr_4; + { const bool branch_taken = ctx.gpr[16] == aot_gpr_4; aot_gpr_4 = (2236u << 16u); if (branch_taken) { goto L_08A52AF0; @@ -6482,16 +6483,16 @@ L_08A52AD4: goto L_08A52AE4; } L_08A52AE4: - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A52AF0u); aot_gpr_4 = (aot_gpr_4 + static_cast(25856)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A52AF0u) goto L_08A52AF0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A52AF0u) goto L_08A52AF0; AOT_REGCACHE_SYNC_OUT(); return; L_08A52AF0: - ctx.gpr[2] = (ctx.gpr[17] | 0u); + aot_gpr_2 = (ctx.gpr[17] | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(8), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -6517,7 +6518,7 @@ L_08A52B08: L_08A52B24: aot_gpr_4 = (aot_gpr_5 + static_cast(96)); { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); + aot_gpr_2 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); if (branch_taken) { goto L_08A52B38; } @@ -6525,7 +6526,7 @@ L_08A52B24: } L_08A52B30: aot_gpr_4 = (aot_gpr_4 + static_cast(2)); - ctx.gpr[2] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); + aot_gpr_2 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); goto L_08A52B38; L_08A52B38: jump_target = aot_gpr_31; @@ -6560,7 +6561,7 @@ L_08A52B60: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(1), static_cast(0u)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(2), static_cast(0u)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(20), 0u); - ctx.gpr[2] = (aot_gpr_4 | 0u); + aot_gpr_2 = (aot_gpr_4 | 0u); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; @@ -6571,10 +6572,10 @@ L_08A52BA4: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[17]); ctx.gpr[17] = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_16 = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); if (branch_taken) { goto L_08A52C40; } @@ -6624,11 +6625,11 @@ L_08A52BF4: L_08A52BFC: aot_gpr_31 = (0x08A52C04u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A52C04u) goto L_08A52C04; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A52C04u) goto L_08A52C04; AOT_REGCACHE_SYNC_OUT(); return; L_08A52C04: { const bool branch_taken = ctx.gpr[17] == 0u; - aot_gpr_4 = (aot_gpr_16 & 1u); + aot_gpr_4 = (ctx.gpr[16] & 1u); if (branch_taken) { goto L_08A52C30; } @@ -6651,7 +6652,7 @@ L_08A52C20: aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(4), aot_gpr_4); goto L_08A52C2C; L_08A52C2C: - aot_gpr_4 = (aot_gpr_16 & 1u); + aot_gpr_4 = (ctx.gpr[16] & 1u); goto L_08A52C30; L_08A52C30: { const bool branch_taken = aot_gpr_4 == 0u; @@ -6664,12 +6665,12 @@ L_08A52C30: L_08A52C38: aot_gpr_31 = (0x08A52C40u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A52C40u) goto L_08A52C40; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A52C40u) goto L_08A52C40; AOT_REGCACHE_SYNC_OUT(); return; L_08A52C40: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(4), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -6689,10 +6690,10 @@ L_08A52C54: AOT_REGCACHE_SYNC_OUT(); return; L_08A52C60: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(16))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(20))); aot_gpr_5 = (aot_gpr_4 ^ aot_gpr_5); aot_gpr_5 = (aot_gpr_5 < static_cast(1) ? 1u : 0u); aot_gpr_5 = (aot_gpr_5 & 255u); @@ -6706,13 +6707,13 @@ L_08A52C60: } L_08A52C8C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A52C9Cu); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0))); goto L_08A52F08; L_08A52C9C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(16))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(20))); aot_gpr_5 = (aot_gpr_4 ^ aot_gpr_5); aot_gpr_5 = (aot_gpr_5 < static_cast(1) ? 1u : 0u); aot_gpr_5 = (aot_gpr_5 & 255u); @@ -6726,8 +6727,8 @@ L_08A52C9C: L_08A52CB8: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(0), static_cast(0u)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(1), static_cast(0u)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(20), aot_gpr_4); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(20), aot_gpr_4); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -6741,11 +6742,11 @@ L_08A52CD4: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), ctx.gpr[21]); ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); ctx.gpr[21] = (2237u << 16u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), ctx.gpr[19]); ctx.gpr[19] = (aot_gpr_5 & 255u); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.gpr[17] = (aot_gpr_6 | 0u); ctx.gpr[21] = (ctx.gpr[21] + static_cast(-28736)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), ctx.gpr[18]); @@ -6766,7 +6767,7 @@ L_08A52D18: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A52D20u) goto L_08A52D20; AOT_REGCACHE_SYNC_OUT(); return; L_08A52D20: - ctx.gpr[20] = (ctx.gpr[2] | 0u); + ctx.gpr[20] = (aot_gpr_2 | 0u); aot_gpr_4 = (ctx.gpr[20] | 0u); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_5 = (ctx.gpr[19] | 0u); @@ -6781,9 +6782,9 @@ L_08A52D30: ctx.gpr[7] = (ctx.gpr[18] | 0u); goto L_08A52730; L_08A52D3C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(20))); { const bool branch_taken = 0u == 0u; - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(24))); if (branch_taken) { goto L_08A52D7C; } @@ -6796,7 +6797,7 @@ L_08A52D48: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A52D54u) goto L_08A52D54; AOT_REGCACHE_SYNC_OUT(); return; L_08A52D54: - ctx.gpr[22] = (ctx.gpr[2] | 0u); + ctx.gpr[22] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[22] == 0u; aot_gpr_4 = (ctx.gpr[22] | 0u); if (branch_taken) { @@ -6814,8 +6815,8 @@ L_08A52D70: ctx.gpr[20] = (ctx.gpr[22] | 0u); goto L_08A52D74; L_08A52D74: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(20))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(24))); goto L_08A52D7C; L_08A52D7C: { const bool branch_taken = aot_gpr_4 == aot_gpr_5; @@ -6835,20 +6836,20 @@ L_08A52D84: } L_08A52D8C: aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), ctx.gpr[20]); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(20))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); goto L_08A52D98; L_08A52D98: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(20), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(20), aot_gpr_4); { const bool branch_taken = 0u == 0u; - aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(100))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(100))); if (branch_taken) { goto L_08A52EB4; } goto L_08A52DA4; } L_08A52DA4: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(16))); aot_gpr_6 = (0u | 1u); aot_gpr_5 = (aot_gpr_4 - aot_gpr_5); ctx.gpr[7] = (static_cast(static_cast(aot_gpr_5) >> 2u)); @@ -6898,7 +6899,7 @@ L_08A52DF8: AOT_REGCACHE_SYNC_OUT(); return; L_08A52E0C: aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_5 != 0u; aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); if (branch_taken) { @@ -6913,11 +6914,11 @@ L_08A52E1C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 289u, 0x08B65438u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A52E28u) goto L_08A52E28; AOT_REGCACHE_SYNC_OUT(); return; L_08A52E28: - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); goto L_08A52E30; L_08A52E30: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(16))); { const bool branch_taken = aot_gpr_4 != aot_gpr_6; ctx.gpr[18] = (aot_gpr_5 | 0u); if (branch_taken) { @@ -6942,7 +6943,7 @@ L_08A52E44: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 164u, 0x08AF54A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A52E58u) goto L_08A52E58; AOT_REGCACHE_SYNC_OUT(); return; L_08A52E58: - aot_gpr_5 = (ctx.gpr[2] + ctx.gpr[22]); + aot_gpr_5 = (aot_gpr_2 + ctx.gpr[22]); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); goto L_08A52E60; L_08A52E60: @@ -6968,7 +6969,7 @@ L_08A52E84: ctx.gpr[20] = (aot_gpr_4 | 0u); goto L_08A52E88; L_08A52E88: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(16))); { const bool branch_taken = aot_gpr_4 == 0u; aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(16), static_cast(0u)); if (branch_taken) { @@ -6979,18 +6980,18 @@ L_08A52E88: L_08A52E94: aot_gpr_31 = (0x08A52E9Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A52E9Cu) goto L_08A52E9C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A52E9Cu) goto L_08A52E9C; AOT_REGCACHE_SYNC_OUT(); return; L_08A52E9C: aot_gpr_4 = (ctx.gpr[17] << 2u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(16), ctx.gpr[18]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(16), ctx.gpr[18]); aot_gpr_4 = (ctx.gpr[18] + aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(20), ctx.gpr[20]); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(24), aot_gpr_4); - aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(100))); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(20), ctx.gpr[20]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(24), aot_gpr_4); + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(100))); goto L_08A52EB4; L_08A52EB4: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A52EC0u); aot_gpr_5 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0161_entry, 161u, 278u, 0x08A89478u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A52EC0u) goto L_08A52EC0; @@ -7012,7 +7013,7 @@ L_08A52ED0: L_08A52EE0: { std::uint32_t aot_run_words[8]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(28), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -7029,10 +7030,10 @@ L_08A52EE0: AOT_REGCACHE_SYNC_OUT(); return; L_08A52F08: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[19]); ctx.gpr[19] = (aot_gpr_5 & 255u); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_31); @@ -7044,8 +7045,8 @@ L_08A52F08: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0161_entry, 161u, 367u, 0x08A89A28u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A52F3Cu) goto L_08A52F3C; AOT_REGCACHE_SYNC_OUT(); return; L_08A52F3C: - ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); + ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(16))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(20))); { const bool branch_taken = ctx.gpr[18] == aot_gpr_4; // nop if (branch_taken) { @@ -7064,7 +7065,7 @@ L_08A52F4C: goto L_08A52F5C; } L_08A52F5C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(12))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(12))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -7078,7 +7079,7 @@ L_08A52F68: aot_gpr_5 = (0u | 2u); goto L_08A52844; L_08A52F74: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(12))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(12))); jump_target = aot_gpr_5; aot_gpr_31 = (0x08A52F80u); aot_gpr_4 = (ctx.gpr[17] | 0u); @@ -7087,7 +7088,7 @@ L_08A52F74: AOT_REGCACHE_SYNC_OUT(); return; L_08A52F80: { const bool branch_taken = 0u == 0u; - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(20))); if (branch_taken) { goto L_08A52F98; } @@ -7099,7 +7100,7 @@ L_08A52F88: aot_gpr_5 = (0u | 3u); goto L_08A52844; L_08A52F94: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(20))); goto L_08A52F98; L_08A52F98: aot_gpr_5 = (ctx.gpr[18] + static_cast(4)); @@ -7127,12 +7128,12 @@ L_08A52FB0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 164u, 0x08AF54A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A52FC0u) goto L_08A52FC0; AOT_REGCACHE_SYNC_OUT(); return; L_08A52FC0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(20))); goto L_08A52FC4; L_08A52FC4: aot_gpr_4 = (aot_gpr_4 + static_cast(-4)); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(20), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(20), aot_gpr_4); if (branch_taken) { goto L_08A52FDC; } @@ -7150,7 +7151,7 @@ L_08A52FD0: L_08A52FDC: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(4), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -7183,9 +7184,9 @@ L_08A52FF8: } L_08A5302C: ctx.gpr[8] = (ctx.gpr[7] << 2u); - ctx.gpr[2] = (aot_gpr_5 + ctx.gpr[8]); - ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(0))); - ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(0))); + aot_gpr_2 = (aot_gpr_5 + ctx.gpr[8]); + aot_gpr_2 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(0))); + ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(0))); { const bool branch_taken = ctx.gpr[8] != aot_gpr_6; // nop if (branch_taken) { @@ -7213,7 +7214,7 @@ L_08A5304C: goto L_08A53060; } L_08A53060: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_08A53064; L_08A53064: jump_target = aot_gpr_31; @@ -7259,7 +7260,7 @@ L_08A53098: } L_08A530C4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08A5311C; } @@ -7277,14 +7278,14 @@ L_08A530CC: } L_08A530DC: { const bool branch_taken = ctx.gpr[8] != aot_gpr_5; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); + aot_gpr_2 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); if (branch_taken) { goto L_08A530EC; } goto L_08A530E4; } L_08A530E4: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08A530FC; @@ -7292,7 +7293,7 @@ L_08A530E4: goto L_08A530EC; } L_08A530EC: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08A53104; @@ -7329,7 +7330,7 @@ L_08A53108: goto L_08A53118; } L_08A53118: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_08A5311C; L_08A5311C: jump_target = aot_gpr_31; @@ -7345,7 +7346,7 @@ L_08A53124: aot_gpr_5 = (aot_gpr_5 & 255u); goto L_08A52FF8; L_08A53134: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -7355,7 +7356,7 @@ L_08A53134: } L_08A53140: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08A53150; } @@ -7375,15 +7376,15 @@ L_08A53150: AOT_REGCACHE_SYNC_OUT(); return; L_08A5315C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_6 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_6 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x08A53174u); aot_gpr_5 = (aot_gpr_5 & 255u); goto L_08A52FF8; L_08A53174: - aot_gpr_4 = (ctx.gpr[2] | 0u); - aot_fpr_12 = std::bit_cast(aot_gpr_16); + aot_gpr_4 = (aot_gpr_2 | 0u); + aot_fpr_12 = std::bit_cast(ctx.gpr[16]); aot_gpr_6 = (15496u << 16u); aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(40))); @@ -7515,7 +7516,7 @@ L_08A5328C: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(44), std::bit_cast(aot_fpr_13)); goto L_08A532A0; L_08A532A0: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -7525,12 +7526,12 @@ L_08A532A0: AOT_REGCACHE_SYNC_OUT(); return; L_08A532B0: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(20))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(16))); ctx.gpr[17] = (0u | 0u); aot_gpr_4 = (aot_gpr_4 - aot_gpr_5); aot_gpr_5 = (static_cast(static_cast(aot_gpr_4) >> 2u)); @@ -7549,11 +7550,11 @@ L_08A532B0: L_08A532F4: aot_gpr_5 = (ctx.gpr[17] & 255u); aot_gpr_31 = (0x08A53300u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_08A53098; L_08A53300: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(20))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(16))); ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); aot_gpr_4 = (aot_gpr_4 - aot_gpr_5); aot_gpr_5 = (static_cast(static_cast(aot_gpr_4) >> 2u)); @@ -7572,7 +7573,7 @@ L_08A53300: L_08A53330: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -7584,8 +7585,8 @@ L_08A53330: AOT_REGCACHE_SYNC_OUT(); return; L_08A53344: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_4 = (2237u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); ctx.gpr[17] = (aot_gpr_4 + static_cast(-28736)); @@ -7596,17 +7597,17 @@ L_08A53344: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0161_entry, 161u, 278u, 0x08A89478u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5336Cu) goto L_08A5336C; AOT_REGCACHE_SYNC_OUT(); return; L_08A5336C: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(28), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(28), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(100))); aot_gpr_31 = (0x08A5337Cu); aot_gpr_5 = (0u + static_cast(-3)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0161_entry, 161u, 278u, 0x08A89478u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5337Cu) goto L_08A5337C; AOT_REGCACHE_SYNC_OUT(); return; L_08A5337C: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(32), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(32), aot_gpr_2); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -7618,21 +7619,21 @@ L_08A5337C: AOT_REGCACHE_SYNC_OUT(); return; L_08A53394: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(28))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(28))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x08A533B0u); aot_gpr_5 = (0u | 0u); goto L_08A533D0; L_08A533B0: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(32))); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(32))); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A533C0u); aot_gpr_5 = (0u | 1u); goto L_08A533D0; L_08A533C0: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -7644,12 +7645,12 @@ L_08A533D0: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); ctx.gpr[18] = (2237u << 16u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[21]); ctx.gpr[21] = (aot_gpr_5 & 255u); ctx.gpr[17] = (aot_gpr_4 | 0u); - aot_gpr_16 = (aot_gpr_6 | 0u); + ctx.gpr[16] = (aot_gpr_6 | 0u); ctx.gpr[18] = (ctx.gpr[18] + static_cast(-28736)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[19]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[20]); @@ -7677,14 +7678,14 @@ L_08A53434: aot_gpr_4 = (ctx.gpr[17] | 0u); goto L_08A53098; L_08A53440: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[19] + static_cast(0))); aot_gpr_31 = (0x08A53450u); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 101u, 0x08ADC560u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A53450u) goto L_08A53450; AOT_REGCACHE_SYNC_OUT(); return; L_08A53450: - if (ctx.gpr[2] != ctx.gpr[21]) { + if (aot_gpr_2 != ctx.gpr[21]) { aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(20))); goto L_08A53484; } @@ -7693,11 +7694,11 @@ L_08A53458: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(100))); aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[19] + static_cast(0))); aot_gpr_31 = (0x08A53468u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0161_entry, 161u, 357u, 0x08A89998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A53468u) goto L_08A53468; AOT_REGCACHE_SYNC_OUT(); return; L_08A53468: - if (ctx.gpr[2] != 0u) { + if (aot_gpr_2 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(20))); goto L_08A53484; } @@ -7706,7 +7707,7 @@ L_08A53470: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(100))); aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[19] + static_cast(0))); aot_gpr_31 = (0x08A53480u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0161_entry, 161u, 330u, 0x08A897C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A53480u) goto L_08A53480; AOT_REGCACHE_SYNC_OUT(); return; L_08A53480: @@ -7732,24 +7733,24 @@ L_08A53484: L_08A534B0: aot_gpr_4 = (ctx.gpr[18] + static_cast(116)); aot_gpr_31 = (0x08A534BCu); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0075_entry, 75u, 759u, 0x08933F0Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A534BCu) goto L_08A534BC; AOT_REGCACHE_SYNC_OUT(); return; L_08A534BC: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(60))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(60))); aot_gpr_4 = (aot_gpr_4 + static_cast(40)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); jump_target = aot_gpr_6; aot_gpr_31 = (0x08A534D4u); - aot_gpr_4 = (ctx.gpr[2] + aot_gpr_5); + aot_gpr_4 = (aot_gpr_2 + aot_gpr_5); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A534D4u) goto L_08A534D4; AOT_REGCACHE_SYNC_OUT(); return; L_08A534D4: { std::uint32_t aot_run_words[7]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -7765,7 +7766,7 @@ L_08A534D4: AOT_REGCACHE_SYNC_OUT(); return; L_08A534F8: jump_target = aot_gpr_31; - ctx.gpr[2] = (aot_gpr_4 | 0u); + aot_gpr_2 = (aot_gpr_4 | 0u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -7775,12 +7776,12 @@ L_08A53500: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(3))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_gpr_5 = (aot_gpr_4 & 128u); { const std::uint32_t aot_run_words[3]{ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(8), aot_run_words); } { const bool branch_taken = aot_gpr_5 == 0u; - aot_gpr_16 = (ctx.gpr[17] + static_cast(12)); + ctx.gpr[16] = (ctx.gpr[17] + static_cast(12)); if (branch_taken) { goto L_08A53534; } @@ -7797,7 +7798,7 @@ L_08A5352C: L_08A53534: aot_gpr_4 = (aot_gpr_4 | 128u); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(3), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); ctx.gpr[17] = (0u | 0u); aot_gpr_4 = (ctx.gpr[17] < aot_gpr_4 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; @@ -7808,7 +7809,7 @@ L_08A53534: goto L_08A53550; } L_08A53550: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); ctx.gpr[19] = (aot_gpr_4 + ctx.gpr[18]); ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(0))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(12))); @@ -7835,8 +7836,8 @@ L_08A53574: AOT_REGCACHE_SYNC_OUT(); return; L_08A5357C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(12))); - aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), ctx.gpr[2]); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), aot_gpr_2); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); ctx.gpr[19] = (aot_gpr_4 + ctx.gpr[18]); ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(0))); goto L_08A53590; @@ -7852,10 +7853,10 @@ L_08A53590: L_08A5359C: aot_gpr_31 = (0x08A535A4u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A535A4u) goto L_08A535A4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A535A4u) goto L_08A535A4; AOT_REGCACHE_SYNC_OUT(); return; L_08A535A4: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08A535F4; @@ -7869,7 +7870,7 @@ L_08A535AC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 50u, 0x08B58294u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A535B8u) goto L_08A535B8; AOT_REGCACHE_SYNC_OUT(); return; L_08A535B8: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -7888,24 +7889,24 @@ L_08A535CC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 398u, 0x08A65C4Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A535D8u) goto L_08A535D8; AOT_REGCACHE_SYNC_OUT(); return; L_08A535D8: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); + aot_gpr_4 = (aot_gpr_2 | 0u); ctx.gpr[19] = (aot_gpr_5 + ctx.gpr[18]); ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(0))); aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(0), aot_gpr_4); { const bool branch_taken = 0u == 0u; - ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); if (branch_taken) { goto L_08A53608; } goto L_08A535F4; } L_08A535F4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[18]); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), 0u); - ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); goto L_08A53608; L_08A53608: ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); @@ -7920,7 +7921,7 @@ L_08A53608: L_08A53618: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -7937,11 +7938,11 @@ L_08A53634: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); ctx.gpr[17] = (aot_gpr_4 + static_cast(8)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); { const bool branch_taken = aot_gpr_4 == ctx.gpr[17]; - aot_gpr_16 = (0u + static_cast(28)); + ctx.gpr[16] = (0u + static_cast(28)); if (branch_taken) { goto L_08A53670; } @@ -7950,7 +7951,7 @@ L_08A53634: L_08A53658: ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_31 = (0x08A53664u); - aot_gpr_4 = (aot_gpr_4 - aot_gpr_16); + aot_gpr_4 = (aot_gpr_4 - ctx.gpr[16]); goto L_08A53500; L_08A53664: aot_gpr_4 = (ctx.gpr[18] | 0u); @@ -7964,7 +7965,7 @@ L_08A53664: L_08A53670: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; @@ -7977,18 +7978,18 @@ L_08A53670: AOT_REGCACHE_SYNC_OUT(); return; L_08A53688: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x08A536A0u); aot_gpr_5 = (0u | 0u); goto L_08A534F8; L_08A536A0: aot_gpr_31 = (0x08A536A8u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_08A53500; L_08A536A8: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -7998,9 +7999,9 @@ L_08A536A8: AOT_REGCACHE_SYNC_OUT(); return; L_08A536B8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_gpr_5 = (2213u << 16u); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_6 = (0u | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x08A536D8u); @@ -8009,10 +8010,10 @@ L_08A536B8: AOT_REGCACHE_SYNC_OUT(); return; L_08A536D8: aot_gpr_31 = (0x08A536E0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_08A53634; L_08A536E0: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -8024,7 +8025,7 @@ L_08A536F0: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[18]); ctx.gpr[18] = (0u | 1u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[17]); { const std::uint32_t aot_run_words[3]{ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(24), aot_run_words); } @@ -8034,29 +8035,29 @@ L_08A536F0: AOT_REGCACHE_SYNC_OUT(); return; L_08A53718: aot_gpr_4 = (97u << 16u); - aot_gpr_16 = (aot_gpr_4 + static_cast(-31744)); + ctx.gpr[16] = (aot_gpr_4 + static_cast(-31744)); aot_gpr_4 = (2236u << 16u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A53730u); aot_gpr_4 = (aot_gpr_4 + static_cast(25856)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 501u, 0x08ABE57Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A53730u) goto L_08A53730; AOT_REGCACHE_SYNC_OUT(); return; L_08A53730: aot_gpr_4 = (2232u << 16u); - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08A53740u); aot_gpr_4 = (aot_gpr_4 + static_cast(7048)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0077_entry, 77u, 250u, 0x08938F04u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A53740u) goto L_08A53740; AOT_REGCACHE_SYNC_OUT(); return; L_08A53740: - ctx.gpr[19] = (ctx.gpr[2] | 0u); - ctx.gpr[20] = (ctx.gpr[17] + aot_gpr_16); + ctx.gpr[19] = (aot_gpr_2 | 0u); + ctx.gpr[20] = (ctx.gpr[17] + ctx.gpr[16]); aot_gpr_31 = (0x08A53750u); aot_gpr_4 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0077_entry, 77u, 262u, 0x08938FD8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A53750u) goto L_08A53750; AOT_REGCACHE_SYNC_OUT(); return; L_08A53750: - aot_gpr_4 = (ctx.gpr[2] + static_cast(15)); + aot_gpr_4 = (aot_gpr_2 + static_cast(15)); aot_gpr_5 = (0u + static_cast(-16)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); ctx.gpr[20] = (ctx.gpr[20] - aot_gpr_4); @@ -8068,7 +8069,7 @@ L_08A53768: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08A53778u); - aot_gpr_6 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0077_entry, 77u, 270u, 0x08939050u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A53778u) goto L_08A53778; AOT_REGCACHE_SYNC_OUT(); return; L_08A53778: @@ -8079,7 +8080,7 @@ L_08A53778: L_08A53780: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[20] | 0u); - aot_gpr_6 = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A53794u); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0076_entry, 76u, 694u, 0x0893681Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A53794u) goto L_08A53794; @@ -8096,11 +8097,11 @@ L_08A53794: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0139_entry, 139u, 285u, 0x08A3137Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A537B4u) goto L_08A537B4; AOT_REGCACHE_SYNC_OUT(); return; L_08A537B4: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); aot_gpr_4 = (0u < ctx.gpr[17] ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 == 0u; - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_2); if (branch_taken) { goto L_08A53894; } @@ -8168,9 +8169,9 @@ L_08A53874: AOT_REGCACHE_SYNC_OUT(); return; L_08A5387C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5836))); - aot_gpr_16 = (2237u << 16u); + ctx.gpr[16] = (2237u << 16u); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_16 = (aot_gpr_16 + static_cast(-28416)); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(-28416)); if (branch_taken) { goto L_08A5389C; } @@ -8186,7 +8187,7 @@ L_08A5388C: } L_08A53894: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08A53A48; } @@ -8395,18 +8396,18 @@ L_08A53A00: aot_gpr_4 = (0u | 1u); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7688), aot_gpr_4); aot_gpr_31 = (0x08A53A10u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0010_entry, 10u, 286u, 0x0882D794u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A53A10u) goto L_08A53A10; AOT_REGCACHE_SYNC_OUT(); return; L_08A53A10: aot_gpr_31 = (0x08A53A18u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-6224)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A53A18u) goto L_08A53A18; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A53A18u) goto L_08A53A18; AOT_REGCACHE_SYNC_OUT(); return; L_08A53A18: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(192))); aot_gpr_31 = (0x08A53A24u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0010_entry, 10u, 612u, 0x0882E9BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A53A24u) goto L_08A53A24; AOT_REGCACHE_SYNC_OUT(); return; L_08A53A24: @@ -8430,12 +8431,12 @@ L_08A53A3C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 327u, 0x088099B0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A53A44u) goto L_08A53A44; AOT_REGCACHE_SYNC_OUT(); return; L_08A53A44: - ctx.gpr[2] = (ctx.gpr[18] | 0u); + aot_gpr_2 = (ctx.gpr[18] | 0u); goto L_08A53A48; L_08A53A48: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(12), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -8475,10 +8476,10 @@ L_08A53A90: ctx.gpr[19] = (aot_gpr_5 | 0u); ctx.gpr[18] = (aot_gpr_6 | 0u); ctx.gpr[17] = (ctx.gpr[7] | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_31); { const bool branch_taken = ctx.gpr[9] != 0u; - aot_gpr_16 = (ctx.gpr[8] | 0u); + ctx.gpr[16] = (ctx.gpr[8] | 0u); if (branch_taken) { goto L_08A53AD0; } @@ -8496,13 +8497,13 @@ L_08A53AD0: ctx.gpr[7] = (ctx.gpr[18] | 0u); ctx.gpr[8] = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08A53AECu); - ctx.gpr[9] = (aot_gpr_16 | 0u); + ctx.gpr[9] = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0148_entry, 148u, 640u, 0x08A56C00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A53AECu) goto L_08A53AEC; AOT_REGCACHE_SYNC_OUT(); return; L_08A53AEC: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -8524,10 +8525,10 @@ L_08A53B0C: ctx.gpr[19] = (aot_gpr_5 | 0u); ctx.gpr[18] = (aot_gpr_6 | 0u); ctx.gpr[17] = (ctx.gpr[7] | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_31); { const bool branch_taken = ctx.gpr[9] != 0u; - aot_gpr_16 = (ctx.gpr[8] | 0u); + ctx.gpr[16] = (ctx.gpr[8] | 0u); if (branch_taken) { goto L_08A53B4C; } @@ -8545,13 +8546,13 @@ L_08A53B4C: ctx.gpr[7] = (ctx.gpr[18] | 0u); ctx.gpr[8] = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08A53B68u); - ctx.gpr[9] = (aot_gpr_16 | 0u); + ctx.gpr[9] = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0148_entry, 148u, 684u, 0x08A56F50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A53B68u) goto L_08A53B68; AOT_REGCACHE_SYNC_OUT(); return; L_08A53B68: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -8588,7 +8589,7 @@ L_08A53BA4: ctx.pc = 0x08B73524u; AOT_REGCACHE_SYNC_OUT(); return; L_08A53BB4: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -8605,41 +8606,41 @@ L_08A53BC4: aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(4), static_cast(aot_gpr_5)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(5), static_cast(aot_gpr_5)); jump_target = aot_gpr_31; - ctx.gpr[2] = (aot_gpr_4 | 0u); + aot_gpr_2 = (aot_gpr_4 | 0u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08A53BE8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - aot_gpr_16 = (aot_gpr_6 | 0u); + ctx.gpr[16] = (aot_gpr_6 | 0u); ctx.gpr[17] = (aot_gpr_5 | 0u); ctx.gpr[18] = (aot_gpr_4 | 0u); aot_gpr_4 = (ctx.gpr[18] + static_cast(92)); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08A53C18u); aot_gpr_6 = (0u | 1064u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A53C18u) goto L_08A53C18; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A53C18u) goto L_08A53C18; AOT_REGCACHE_SYNC_OUT(); return; L_08A53C18: aot_gpr_4 = (ctx.gpr[18] + static_cast(2100)); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08A53C28u); aot_gpr_6 = (0u | 1064u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A53C28u) goto L_08A53C28; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A53C28u) goto L_08A53C28; AOT_REGCACHE_SYNC_OUT(); return; L_08A53C28: aot_gpr_4 = (ctx.gpr[18] + static_cast(1156)); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08A53C38u); aot_gpr_6 = (0u | 938u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A53C38u) goto L_08A53C38; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A53C38u) goto L_08A53C38; AOT_REGCACHE_SYNC_OUT(); return; L_08A53C38: aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(40), ctx.gpr[17]); - aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(44), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(44), ctx.gpr[16]); aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(60), static_cast(0u)); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(64), 0u); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(68), 0u); @@ -8657,8 +8658,8 @@ L_08A53C38: ctx.pc = 0x08B734B4u; AOT_REGCACHE_SYNC_OUT(); return; L_08A53C78: - aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(8), ctx.gpr[2]); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(8), aot_gpr_2); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08A53C8Cu); aot_gpr_6 = (0u | 0u); @@ -8678,7 +8679,7 @@ L_08A53C8C: L_08A53CAC: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; @@ -8691,14 +8692,14 @@ L_08A53CAC: AOT_REGCACHE_SYNC_OUT(); return; L_08A53CC4: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[16], ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(16), aot_run_words); } aot_gpr_31 = (0x08A53CDCu); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0148_entry, 148u, 237u, 0x08A54ED4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A53CDCu) goto L_08A53CDC; AOT_REGCACHE_SYNC_OUT(); return; L_08A53CDC: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08A53D34; @@ -8710,17 +8711,17 @@ L_08A53CE4: ctx.gpr[17] = (aot_gpr_4 + static_cast(7120)); aot_gpr_31 = (0x08A53CF4u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A53CF4u) goto L_08A53CF4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A53CF4u) goto L_08A53CF4; AOT_REGCACHE_SYNC_OUT(); return; L_08A53CF4: aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08A53D04u); - aot_gpr_6 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 283u, 0x08B653C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A53D04u) goto L_08A53D04; AOT_REGCACHE_SYNC_OUT(); return; L_08A53D04: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A53D10u); aot_gpr_5 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0148_entry, 148u, 542u, 0x08A564A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A53D10u) goto L_08A53D10; @@ -8739,7 +8740,7 @@ L_08A53D20: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); aot_gpr_31 = (0x08A53D2Cu); aot_gpr_4 = (aot_gpr_4 + static_cast(25856)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A53D2Cu) goto L_08A53D2C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A53D2Cu) goto L_08A53D2C; AOT_REGCACHE_SYNC_OUT(); return; L_08A53D2C: { const bool branch_taken = 0u == 0u; @@ -8751,12 +8752,12 @@ L_08A53D2C: } L_08A53D34: aot_gpr_31 = (0x08A53D3Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0148_entry, 148u, 575u, 0x08A56714u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A53D3Cu) goto L_08A53D3C; AOT_REGCACHE_SYNC_OUT(); return; L_08A53D3C: - aot_gpr_4 = (aot_gpr_16 + static_cast(92)); - aot_gpr_5 = (aot_gpr_16 + static_cast(2100)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(92)); + aot_gpr_5 = (ctx.gpr[16] + static_cast(2100)); aot_gpr_31 = (0x08A53D4Cu); aot_gpr_6 = (0u | 1064u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A53D4Cu) goto L_08A53D4C; @@ -8776,7 +8777,7 @@ L_08A53D5C: aot_gpr_5 = (ctx.gpr[8] + aot_gpr_4); aot_gpr_5 = (aot_gpr_5 << 3u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(2100))); aot_gpr_5 = (0u | 2u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; @@ -8790,7 +8791,7 @@ L_08A53D80: aot_gpr_5 = (ctx.gpr[8] + aot_gpr_4); aot_gpr_5 = (aot_gpr_5 << 3u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(2248)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_6 = (aot_gpr_5 + static_cast(1)); @@ -8808,7 +8809,7 @@ L_08A53DAC: aot_gpr_5 = (ctx.gpr[8] + aot_gpr_4); aot_gpr_5 = (aot_gpr_5 << 3u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(2100), 0u); goto L_08A53DC4; L_08A53DC4: @@ -8830,7 +8831,7 @@ L_08A53DD8: aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_5 = (aot_gpr_6 << 3u); aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); aot_gpr_5 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (0u | 255u); @@ -8913,7 +8914,7 @@ L_08A53E84: aot_gpr_5 = (ctx.gpr[8] + aot_gpr_4); aot_gpr_5 = (aot_gpr_5 << 3u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(2100))); aot_gpr_5 = (0u | 2u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; @@ -8928,7 +8929,7 @@ L_08A53EA4: aot_gpr_5 = (ctx.gpr[8] + aot_gpr_4); aot_gpr_5 = (aot_gpr_5 << 3u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(2100), 0u); goto L_08A53EBC; L_08A53EBC: @@ -8943,14 +8944,14 @@ L_08A53EBC: } L_08A53ECC: aot_gpr_31 = (0x08A53ED4u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0148_entry, 148u, 577u, 0x08A56738u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A53ED4u) goto L_08A53ED4; AOT_REGCACHE_SYNC_OUT(); return; L_08A53ED4: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(16)))))); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(18)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(16)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(18)))))); { const bool branch_taken = aot_gpr_5 != 0u; - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); if (branch_taken) { goto L_08A53EEC; } @@ -8958,25 +8959,25 @@ L_08A53ED4: } L_08A53EE4: { const bool branch_taken = 0u == 0u; - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(20))); if (branch_taken) { goto L_08A53F10; } goto L_08A53EEC; } L_08A53EEC: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); - aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(18)))))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(20))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(18)))))); aot_gpr_5 = (aot_gpr_4 + aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_gpr_6 = (aot_gpr_6 << 3u); aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); goto L_08A53F10; L_08A53F10: - jump_target = aot_gpr_16; + jump_target = ctx.gpr[16]; aot_gpr_31 = (0x08A53F18u); // nop ctx.pc = jump_target; @@ -8985,7 +8986,7 @@ L_08A53F10: L_08A53F18: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -8997,9 +8998,9 @@ L_08A53F18: AOT_REGCACHE_SYNC_OUT(); return; L_08A53F2C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(18)))))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(18)))))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); { const bool branch_taken = aot_gpr_5 != 0u; aot_gpr_4 = (0u | 0u); @@ -9009,14 +9010,14 @@ L_08A53F2C: goto L_08A53F48; } L_08A53F48: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(16)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(16)))))); if (aot_gpr_5 != 0u) { aot_gpr_4 = (0u | 1u); goto L_08A53F6C; } goto L_08A53F54; L_08A53F54: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(20))); aot_gpr_6 = (2213u << 16u); aot_gpr_6 = (aot_gpr_6 + static_cast(21956)); { const bool branch_taken = aot_gpr_6 == aot_gpr_5; @@ -9046,7 +9047,7 @@ L_08A53F78: ctx.pc = 0x08B735B4u; AOT_REGCACHE_SYNC_OUT(); return; L_08A53F80: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(18)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(18)))))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -9056,7 +9057,7 @@ L_08A53F80: } L_08A53F8C: { const bool branch_taken = 0u == 0u; - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(16)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(16)))))); if (branch_taken) { goto L_08A53F9C; } @@ -9079,7 +9080,7 @@ L_08A53F9C: goto L_08A53FA4; } L_08A53FA4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(20))); aot_gpr_5 = (2213u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(21964)); { const bool branch_taken = aot_gpr_5 == aot_gpr_4; @@ -9091,17 +9092,17 @@ L_08A53FA4: } L_08A53FB8: aot_gpr_31 = (0x08A53FC0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0148_entry, 148u, 255u, 0x08A54FE4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A53FC0u) goto L_08A53FC0; AOT_REGCACHE_SYNC_OUT(); return; L_08A53FC0: aot_gpr_31 = (0x08A53FC8u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0142_entry, 142u, 99u, 0x08A3C804u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A53FC8u) goto L_08A53FC8; AOT_REGCACHE_SYNC_OUT(); return; L_08A53FC8: aot_gpr_31 = (0x08A53FD0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0148_entry, 148u, 293u, 0x08A552D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A53FD0u) goto L_08A53FD0; AOT_REGCACHE_SYNC_OUT(); return; L_08A53FD0: @@ -9128,14 +9129,14 @@ L_08A53FE8: goto L_08A53FF0; } L_08A53FF0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(8))); aot_gpr_31 = (0x08A53FFCu); aot_gpr_5 = (0u | 0u); ctx.pc = 0x08B7346Cu; AOT_REGCACHE_SYNC_OUT(); return; L_08A53FFC: aot_gpr_31 = (0x08A54004u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(8))); ctx.pc = 0x08B7349Cu; AOT_REGCACHE_SYNC_OUT(); return; } diff --git a/profiles/vcs/generated/generated_unit_0148.cpp b/profiles/vcs/generated/generated_unit_0148.cpp index d187038..e7ad2c6 100644 --- a/profiles/vcs/generated/generated_unit_0148.cpp +++ b/profiles/vcs/generated/generated_unit_0148.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0148[4095] = { }; void recomp_unit_0148_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,31,16,6 fprs=12,0,20,13 gpr_occ=4600 fpr_occ=87 gpr_total=6226 fpr_total=103 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,31,6,29,2 fprs=12,0,20,13 gpr_occ=4872 fpr_occ=87 gpr_total=7056 fpr_total=103 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; - std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; - std::uint32_t aot_gpr_16 = ctx.gpr[16]; std::uint32_t aot_gpr_6 = ctx.gpr[6]; + std::uint32_t aot_gpr_29 = ctx.gpr[29]; + std::uint32_t aot_gpr_2 = ctx.gpr[2]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_0 = ctx.fpr[0]; float aot_fpr_20 = ctx.fpr[20]; float aot_fpr_13 = ctx.fpr[13]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[31] = aot_gpr_31; ctx.gpr[16] = aot_gpr_16; ctx.gpr[6] = aot_gpr_6; ctx.fpr[12] = aot_fpr_12; ctx.fpr[0] = aot_fpr_0; ctx.fpr[20] = aot_fpr_20; ctx.fpr[13] = aot_fpr_13; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_6 = ctx.gpr[6]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_0 = ctx.fpr[0]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_13 = ctx.fpr[13]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[31] = aot_gpr_31; ctx.gpr[6] = aot_gpr_6; ctx.gpr[29] = aot_gpr_29; ctx.gpr[2] = aot_gpr_2; ctx.fpr[12] = aot_fpr_12; ctx.fpr[0] = aot_fpr_0; ctx.fpr[20] = aot_fpr_20; ctx.fpr[13] = aot_fpr_13; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_2 = ctx.gpr[2]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_0 = ctx.fpr[0]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_13 = ctx.fpr[13]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -1089,13 +1090,13 @@ L_08A54004: L_08A5400C: aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-6096), static_cast(0u)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-6176))); - aot_gpr_5 = (aot_gpr_16 + static_cast(16)); + aot_gpr_5 = (ctx.gpr[16] + static_cast(16)); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-6172))); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(4), aot_gpr_6); goto L_08A54024; L_08A54024: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -1105,23 +1106,23 @@ L_08A54024: AOT_REGCACHE_SYNC_OUT(); return; L_08A54034: aot_gpr_29 = (aot_gpr_29 + static_cast(-64)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); { const std::uint32_t aot_run_words[3]{ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(52), aot_run_words); } aot_gpr_4 = (0u << 4u); aot_gpr_5 = (0u | 1u); aot_gpr_6 = (0u + aot_gpr_4); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(12), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(12), static_cast(aot_gpr_5)); aot_gpr_5 = (aot_gpr_6 << 3u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(36), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(36), 0u); aot_gpr_6 = (0u | 5u); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(2100), aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(92), aot_gpr_6); aot_gpr_4 = (aot_gpr_4 + static_cast(2112)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(24), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(24), aot_gpr_4); aot_gpr_4 = (0u | 0u); aot_gpr_5 = (static_cast(aot_gpr_4) < 7 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; @@ -1140,7 +1141,7 @@ L_08A54094: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(18), static_cast(aot_gpr_5)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(19), static_cast(aot_gpr_5)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(20), static_cast(aot_gpr_5)); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(24))); aot_gpr_6 = (aot_gpr_4 << 3u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(21), static_cast(aot_gpr_5)); aot_gpr_5 = (aot_gpr_4 + aot_gpr_6); @@ -1163,41 +1164,41 @@ L_08A54094: goto L_08A540EC; } L_08A540EC: - ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(24))); aot_gpr_31 = (0x08A540F8u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_08A54F5C; L_08A540F8: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(0)))))); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(2)))))); - aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(4)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(0)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(2)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(4)))))); aot_mem.aot_direct_store16(ctx.gpr[17] + static_cast(0), static_cast(aot_gpr_4)); aot_mem.aot_direct_store16(ctx.gpr[17] + static_cast(2), static_cast(aot_gpr_5)); aot_mem.aot_direct_store16(ctx.gpr[17] + static_cast(4), static_cast(aot_gpr_6)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(36))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(36))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(24))); aot_gpr_6 = (aot_gpr_4 << 3u); aot_gpr_6 = (aot_gpr_4 + aot_gpr_6); aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); ctx.gpr[17] = (aot_gpr_4 + static_cast(10)); aot_gpr_31 = (0x08A54134u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_08A54F5C; L_08A54134: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(0)))))); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(2)))))); - aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(4)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(0)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(2)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(4)))))); aot_mem.aot_direct_store16(ctx.gpr[17] + static_cast(0), static_cast(aot_gpr_4)); aot_mem.aot_direct_store16(ctx.gpr[17] + static_cast(2), static_cast(aot_gpr_5)); aot_mem.aot_direct_store16(ctx.gpr[17] + static_cast(4), static_cast(aot_gpr_6)); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(24))); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A5415Cu); aot_gpr_5 = (aot_gpr_5 + static_cast(125)); goto L_08A56758; L_08A5415C: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(18)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(18)))))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -1206,7 +1207,7 @@ L_08A5415C: goto L_08A54168; } L_08A54168: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(16)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(16)))))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -1215,7 +1216,7 @@ L_08A54168: goto L_08A54174; } L_08A54174: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(20))); aot_gpr_5 = (2213u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(22960)); { const bool branch_taken = aot_gpr_5 != aot_gpr_4; @@ -1227,7 +1228,7 @@ L_08A54174: } L_08A54188: aot_gpr_31 = (0x08A54190u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_08A552D8; L_08A54190: aot_gpr_31 = (0x08A54198u); @@ -1235,8 +1236,8 @@ L_08A54190: ctx.pc = 0x08B72F54u; AOT_REGCACHE_SYNC_OUT(); return; L_08A54198: - { const bool branch_taken = static_cast(ctx.gpr[2]) < 0; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), ctx.gpr[2]); + { const bool branch_taken = static_cast(aot_gpr_2) < 0; + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(64), aot_gpr_2); if (branch_taken) { goto L_08A541B8; } @@ -1252,9 +1253,9 @@ L_08A541A0: } L_08A541A8: aot_gpr_4 = (0u | 1u); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(3164), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(3164), static_cast(aot_gpr_4)); { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08A54340; } @@ -1266,17 +1267,17 @@ L_08A541B8: ctx.gpr[17] = (aot_gpr_29 + static_cast(24)); aot_gpr_31 = (0x08A541CCu); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A541CCu) goto L_08A541CC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A541CCu) goto L_08A541CC; AOT_REGCACHE_SYNC_OUT(); return; L_08A541CC: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08A541DCu); - aot_gpr_6 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 283u, 0x08B653C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A541DCu) goto L_08A541DC; AOT_REGCACHE_SYNC_OUT(); return; L_08A541DC: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A541E8u); aot_gpr_5 = (ctx.gpr[17] | 0u); goto L_08A564A4; @@ -1294,11 +1295,11 @@ L_08A541F8: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(28))); aot_gpr_31 = (0x08A54204u); aot_gpr_4 = (aot_gpr_4 + static_cast(25856)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A54204u) goto L_08A54204; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A54204u) goto L_08A54204; AOT_REGCACHE_SYNC_OUT(); return; L_08A54204: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08A54340; } @@ -1323,32 +1324,32 @@ L_08A5420C: ctx.pc = 0x08B72F84u; AOT_REGCACHE_SYNC_OUT(); return; L_08A54248: - { const bool branch_taken = static_cast(ctx.gpr[2]) >= 0; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(84), ctx.gpr[2]); + { const bool branch_taken = static_cast(aot_gpr_2) >= 0; + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(84), aot_gpr_2); if (branch_taken) { goto L_08A542AC; } goto L_08A54250; } L_08A54250: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(84))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(84))); ctx.gpr[17] = (aot_gpr_29 + static_cast(32)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(64), aot_gpr_4); aot_gpr_4 = (2232u << 16u); ctx.gpr[18] = (aot_gpr_4 + static_cast(7196)); aot_gpr_31 = (0x08A5426Cu); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5426Cu) goto L_08A5426C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5426Cu) goto L_08A5426C; AOT_REGCACHE_SYNC_OUT(); return; L_08A5426C: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08A5427Cu); - aot_gpr_6 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 283u, 0x08B653C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5427Cu) goto L_08A5427C; AOT_REGCACHE_SYNC_OUT(); return; L_08A5427C: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A54288u); aot_gpr_5 = (ctx.gpr[17] | 0u); goto L_08A564A4; @@ -1366,19 +1367,19 @@ L_08A54298: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(36))); aot_gpr_31 = (0x08A542A4u); aot_gpr_4 = (aot_gpr_4 + static_cast(25856)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A542A4u) goto L_08A542A4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A542A4u) goto L_08A542A4; AOT_REGCACHE_SYNC_OUT(); return; L_08A542A4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08A54340; } goto L_08A542AC; } L_08A542AC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(84))); - ctx.gpr[10] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(84))); + ctx.gpr[10] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(24))); aot_gpr_5 = (0u | 16u); aot_gpr_6 = (0u | 8192u); ctx.gpr[7] = (0u | 16u); @@ -1388,8 +1389,8 @@ L_08A542AC: ctx.pc = 0x08B72F74u; AOT_REGCACHE_SYNC_OUT(); return; L_08A542CC: - { const bool branch_taken = static_cast(ctx.gpr[2]) >= 0; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), ctx.gpr[2]); + { const bool branch_taken = static_cast(aot_gpr_2) >= 0; + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(64), aot_gpr_2); if (branch_taken) { goto L_08A54328; } @@ -1401,17 +1402,17 @@ L_08A542D4: ctx.gpr[17] = (aot_gpr_29 + static_cast(40)); aot_gpr_31 = (0x08A542E8u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A542E8u) goto L_08A542E8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A542E8u) goto L_08A542E8; AOT_REGCACHE_SYNC_OUT(); return; L_08A542E8: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08A542F8u); - aot_gpr_6 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 283u, 0x08B653C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A542F8u) goto L_08A542F8; AOT_REGCACHE_SYNC_OUT(); return; L_08A542F8: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A54304u); aot_gpr_5 = (ctx.gpr[17] | 0u); goto L_08A564A4; @@ -1429,11 +1430,11 @@ L_08A54314: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(44))); aot_gpr_31 = (0x08A54320u); aot_gpr_4 = (aot_gpr_4 + static_cast(25856)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A54320u) goto L_08A54320; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A54320u) goto L_08A54320; AOT_REGCACHE_SYNC_OUT(); return; L_08A54320: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08A54340; } @@ -1441,16 +1442,16 @@ L_08A54320: } L_08A54328: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-6152))); - aot_gpr_5 = (aot_gpr_16 + static_cast(16)); + aot_gpr_5 = (ctx.gpr[16] + static_cast(16)); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-6148))); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(4), aot_gpr_6); - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); goto L_08A54340; L_08A54340: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(48), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; @@ -1463,8 +1464,8 @@ L_08A54340: AOT_REGCACHE_SYNC_OUT(); return; L_08A54358: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); { const std::uint32_t aot_run_words[3]{ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(12), aot_run_words); } ctx.gpr[18] = (0u | 0u); @@ -1478,7 +1479,7 @@ L_08A54358: } L_08A54380: aot_gpr_4 = (ctx.gpr[18] << 3u); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(24))); aot_gpr_4 = (ctx.gpr[18] + aot_gpr_4); aot_gpr_4 = (ctx.gpr[18] + aot_gpr_4); ctx.gpr[17] = (aot_gpr_5 + aot_gpr_4); @@ -1500,7 +1501,7 @@ L_08A543A8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5868))); goto L_08A54F5C; L_08A543B0: - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(4))); ctx.gpr[7] = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(4))); { const bool branch_taken = ctx.gpr[7] != aot_gpr_6; @@ -1544,7 +1545,7 @@ L_08A543EC: } L_08A543F4: aot_gpr_4 = (ctx.gpr[18] << 3u); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(24))); aot_gpr_4 = (ctx.gpr[18] + aot_gpr_4); aot_gpr_4 = (ctx.gpr[18] + aot_gpr_4); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); @@ -1567,13 +1568,13 @@ L_08A54414: goto L_08A54424; } L_08A54424: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(68), 0u); aot_gpr_31 = (0x08A54430u); // nop ctx.pc = 0x08B72FB4u; AOT_REGCACHE_SYNC_OUT(); return; L_08A54430: - { const bool branch_taken = static_cast(ctx.gpr[2]) >= 0; + { const bool branch_taken = static_cast(aot_gpr_2) >= 0; // nop if (branch_taken) { goto L_08A54488; @@ -1585,17 +1586,17 @@ L_08A54438: ctx.gpr[17] = (aot_gpr_4 + static_cast(7268)); aot_gpr_31 = (0x08A54448u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A54448u) goto L_08A54448; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A54448u) goto L_08A54448; AOT_REGCACHE_SYNC_OUT(); return; L_08A54448: aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08A54458u); - aot_gpr_6 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 283u, 0x08B653C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A54458u) goto L_08A54458; AOT_REGCACHE_SYNC_OUT(); return; L_08A54458: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A54464u); aot_gpr_5 = (aot_gpr_29 | 0u); goto L_08A564A4; @@ -1613,7 +1614,7 @@ L_08A54474: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); aot_gpr_31 = (0x08A54480u); aot_gpr_4 = (aot_gpr_4 + static_cast(25856)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A54480u) goto L_08A54480; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A54480u) goto L_08A54480; AOT_REGCACHE_SYNC_OUT(); return; L_08A54480: { const bool branch_taken = 0u == 0u; @@ -1625,7 +1626,7 @@ L_08A54480: } L_08A54488: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-6168))); - aot_gpr_5 = (aot_gpr_16 + static_cast(16)); + aot_gpr_5 = (ctx.gpr[16] + static_cast(16)); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-6164))); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(4), aot_gpr_6); @@ -1633,7 +1634,7 @@ L_08A54488: L_08A5449C: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(8), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; @@ -1646,36 +1647,36 @@ L_08A5449C: AOT_REGCACHE_SYNC_OUT(); return; L_08A544B4: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[16], ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(8), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_4 = (aot_gpr_16 + static_cast(92)); + ctx.gpr[16] = (aot_gpr_4 | 0u); + aot_gpr_4 = (ctx.gpr[16] + static_cast(92)); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08A544D8u); aot_gpr_6 = (0u | 1064u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A544D8u) goto L_08A544D8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A544D8u) goto L_08A544D8; AOT_REGCACHE_SYNC_OUT(); return; L_08A544D8: - aot_gpr_4 = (aot_gpr_16 + static_cast(2100)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(2100)); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08A544E8u); aot_gpr_6 = (0u | 1064u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A544E8u) goto L_08A544E8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A544E8u) goto L_08A544E8; AOT_REGCACHE_SYNC_OUT(); return; L_08A544E8: - aot_gpr_4 = (aot_gpr_16 + static_cast(1156)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(1156)); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08A544F8u); aot_gpr_6 = (0u | 938u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A544F8u) goto L_08A544F8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A544F8u) goto L_08A544F8; AOT_REGCACHE_SYNC_OUT(); return; L_08A544F8: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(68), 0u); aot_gpr_31 = (0x08A54504u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_08A54ED4; L_08A54504: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08A54584; @@ -1688,7 +1689,7 @@ L_08A5450C: ctx.pc = 0x08B72FB4u; AOT_REGCACHE_SYNC_OUT(); return; L_08A54514: - { const bool branch_taken = static_cast(ctx.gpr[2]) >= 0; + { const bool branch_taken = static_cast(aot_gpr_2) >= 0; // nop if (branch_taken) { goto L_08A5456C; @@ -1700,17 +1701,17 @@ L_08A5451C: ctx.gpr[17] = (aot_gpr_4 + static_cast(7300)); aot_gpr_31 = (0x08A5452Cu); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5452Cu) goto L_08A5452C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5452Cu) goto L_08A5452C; AOT_REGCACHE_SYNC_OUT(); return; L_08A5452C: aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08A5453Cu); - aot_gpr_6 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 283u, 0x08B653C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5453Cu) goto L_08A5453C; AOT_REGCACHE_SYNC_OUT(); return; L_08A5453C: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A54548u); aot_gpr_5 = (aot_gpr_29 | 0u); goto L_08A564A4; @@ -1728,7 +1729,7 @@ L_08A54558: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); aot_gpr_31 = (0x08A54564u); aot_gpr_4 = (aot_gpr_4 + static_cast(25856)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A54564u) goto L_08A54564; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A54564u) goto L_08A54564; AOT_REGCACHE_SYNC_OUT(); return; L_08A54564: { const bool branch_taken = 0u == 0u; @@ -1740,7 +1741,7 @@ L_08A54564: } L_08A5456C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-6160))); - aot_gpr_5 = (aot_gpr_16 + static_cast(16)); + aot_gpr_5 = (ctx.gpr[16] + static_cast(16)); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-6156))); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_4); { const bool branch_taken = 0u == 0u; @@ -1752,7 +1753,7 @@ L_08A5456C: } L_08A54584: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-6176))); - aot_gpr_5 = (aot_gpr_16 + static_cast(16)); + aot_gpr_5 = (ctx.gpr[16] + static_cast(16)); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-6172))); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(4), aot_gpr_6); @@ -1760,7 +1761,7 @@ L_08A54584: L_08A54598: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(8), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -1797,14 +1798,14 @@ L_08A545B8: } L_08A545D8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_gpr_6 + static_cast(12)); + aot_gpr_2 = (aot_gpr_6 + static_cast(12)); if (branch_taken) { goto L_08A545E4; } goto L_08A545E0; } L_08A545E0: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_08A545E4; L_08A545E4: jump_target = aot_gpr_31; @@ -1817,15 +1818,15 @@ L_08A545EC: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[17]); ctx.gpr[17] = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[16]); { const std::uint32_t aot_run_words[3]{ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(16), aot_run_words); } aot_gpr_31 = (0x08A54610u); - aot_gpr_16 = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); goto L_08A56714; L_08A54610: - aot_gpr_4 = (aot_gpr_16 << 4u); - aot_gpr_5 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] << 4u); + aot_gpr_5 = (ctx.gpr[16] + aot_gpr_4); aot_gpr_5 = (aot_gpr_5 << 3u); ctx.gpr[19] = (aot_gpr_4 + aot_gpr_5); ctx.gpr[19] = (ctx.gpr[17] + ctx.gpr[19]); @@ -1848,7 +1849,7 @@ L_08A54634: ctx.pc = 0x08B72F64u; AOT_REGCACHE_SYNC_OUT(); return; L_08A5464C: - { const bool branch_taken = static_cast(ctx.gpr[2]) < 0; + { const bool branch_taken = static_cast(aot_gpr_2) < 0; // nop if (branch_taken) { goto L_08A546AC; @@ -1877,7 +1878,7 @@ L_08A54654: aot_mem.aot_direct_store16(aot_gpr_5 + static_cast(4), static_cast(ctx.gpr[7])); aot_gpr_4 = (0u | 4u); aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(2100), aot_gpr_4); - aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(36), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(36), ctx.gpr[16]); goto L_08A546AC; L_08A546AC: aot_gpr_31 = (0x08A546B4u); @@ -1886,7 +1887,7 @@ L_08A546AC: L_08A546B4: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(8), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -1961,10 +1962,10 @@ L_08A54734: AOT_REGCACHE_SYNC_OUT(); return; L_08A54740: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[17]); ctx.gpr[17] = (aot_gpr_6 | 0u); - aot_gpr_16 = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); { const std::uint32_t aot_run_words[4]{ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(24), aot_run_words); } aot_gpr_31 = (0x08A5476Cu); @@ -1972,7 +1973,7 @@ L_08A54740: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 259u, 0x08B65214u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5476Cu) goto L_08A5476C; AOT_REGCACHE_SYNC_OUT(); return; L_08A5476C: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); { const bool branch_taken = static_cast(ctx.gpr[18]) > 0; // nop if (branch_taken) { @@ -1996,7 +1997,7 @@ L_08A54784: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A54790u) goto L_08A54790; AOT_REGCACHE_SYNC_OUT(); return; L_08A54790: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[18] == 0u; // nop if (branch_taken) { @@ -2007,7 +2008,7 @@ L_08A54790: L_08A5479C: aot_gpr_31 = (0x08A547A4u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A547A4u) goto L_08A547A4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A547A4u) goto L_08A547A4; AOT_REGCACHE_SYNC_OUT(); return; L_08A547A4: ctx.gpr[17] = (ctx.gpr[18] | 0u); @@ -2023,20 +2024,20 @@ L_08A547AC: AOT_REGCACHE_SYNC_OUT(); return; L_08A547B8: aot_gpr_31 = (0x08A547C0u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 309u, 0x089F5AC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A547C0u) goto L_08A547C0; AOT_REGCACHE_SYNC_OUT(); return; L_08A547C0: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08A547CCu); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A547CCu) goto L_08A547CC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A547CCu) goto L_08A547CC; AOT_REGCACHE_SYNC_OUT(); return; L_08A547CC: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08A547DCu); - aot_gpr_6 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 283u, 0x08B653C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A547DCu) goto L_08A547DC; AOT_REGCACHE_SYNC_OUT(); return; L_08A547DC: @@ -2055,13 +2056,13 @@ L_08A547E4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 468u, 0x08ABE29Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A547F4u) goto L_08A547F4; AOT_REGCACHE_SYNC_OUT(); return; L_08A547F4: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); aot_gpr_6 = (ctx.gpr[18] + ctx.gpr[18]); aot_gpr_6 = (aot_gpr_6 + static_cast(4)); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08A5480Cu); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5480Cu) goto L_08A5480C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5480Cu) goto L_08A5480C; AOT_REGCACHE_SYNC_OUT(); return; L_08A5480C: aot_gpr_5 = (ctx.gpr[18] + static_cast(1)); @@ -2072,7 +2073,7 @@ L_08A5480C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 237u, 0x08B65088u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A54820u) goto L_08A54820; AOT_REGCACHE_SYNC_OUT(); return; L_08A54820: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); aot_gpr_4 = (0u | 0u); aot_gpr_5 = (0u | 0u); ctx.gpr[7] = (0u | 32u); @@ -2140,7 +2141,7 @@ L_08A54878: L_08A54880: aot_gpr_31 = (0x08A54888u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A54888u) goto L_08A54888; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2E4, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A54888u) goto L_08A54888; AOT_REGCACHE_SYNC_OUT(); return; L_08A54888: ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); @@ -2158,7 +2159,7 @@ L_08A54894: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A548A0u) goto L_08A548A0; AOT_REGCACHE_SYNC_OUT(); return; L_08A548A0: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[19] == 0u; // nop if (branch_taken) { @@ -2169,7 +2170,7 @@ L_08A548A0: L_08A548AC: aot_gpr_31 = (0x08A548B4u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A548B4u) goto L_08A548B4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A548B4u) goto L_08A548B4; AOT_REGCACHE_SYNC_OUT(); return; L_08A548B4: ctx.gpr[18] = (ctx.gpr[19] | 0u); @@ -2185,20 +2186,20 @@ L_08A548BC: AOT_REGCACHE_SYNC_OUT(); return; L_08A548C8: aot_gpr_31 = (0x08A548D0u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 309u, 0x089F5AC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A548D0u) goto L_08A548D0; AOT_REGCACHE_SYNC_OUT(); return; L_08A548D0: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08A548DCu); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A548DCu) goto L_08A548DC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A548DCu) goto L_08A548DC; AOT_REGCACHE_SYNC_OUT(); return; L_08A548DC: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08A548ECu); - aot_gpr_6 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 283u, 0x08B653C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A548ECu) goto L_08A548EC; AOT_REGCACHE_SYNC_OUT(); return; L_08A548EC: @@ -2216,13 +2217,13 @@ L_08A548F4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 468u, 0x08ABE29Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A54900u) goto L_08A54900; AOT_REGCACHE_SYNC_OUT(); return; L_08A54900: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); aot_gpr_6 = (ctx.gpr[18] + ctx.gpr[18]); aot_gpr_6 = (aot_gpr_6 + static_cast(2)); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08A54918u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A54918u) goto L_08A54918; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A54918u) goto L_08A54918; AOT_REGCACHE_SYNC_OUT(); return; L_08A54918: aot_gpr_4 = (ctx.gpr[19] | 0u); @@ -2234,7 +2235,7 @@ L_08A54918: L_08A54928: aot_gpr_31 = (0x08A54930u); aot_gpr_4 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A54930u) goto L_08A54930; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C498, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A54930u) goto L_08A54930; AOT_REGCACHE_SYNC_OUT(); return; L_08A54930: aot_gpr_31 = (0x08A54938u); @@ -2242,7 +2243,7 @@ L_08A54930: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 96u, 0x08B0C748u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A54938u) goto L_08A54938; AOT_REGCACHE_SYNC_OUT(); return; L_08A54938: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08A54944u); aot_gpr_5 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 283u, 0x08AFD8D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A54944u) goto L_08A54944; @@ -2258,28 +2259,28 @@ L_08A5494C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 309u, 0x089F5AC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A54954u) goto L_08A54954; AOT_REGCACHE_SYNC_OUT(); return; L_08A54954: - ctx.gpr[20] = (ctx.gpr[2] | 0u); + ctx.gpr[20] = (aot_gpr_2 | 0u); ctx.gpr[18] = (aot_gpr_29 + static_cast(4)); aot_gpr_31 = (0x08A54964u); aot_gpr_4 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A54964u) goto L_08A54964; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A54964u) goto L_08A54964; AOT_REGCACHE_SYNC_OUT(); return; L_08A54964: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08A54974u); - aot_gpr_6 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 283u, 0x08B653C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A54974u) goto L_08A54974; AOT_REGCACHE_SYNC_OUT(); return; L_08A54974: aot_gpr_31 = (0x08A5497Cu); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5497Cu) goto L_08A5497C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2E4, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5497Cu) goto L_08A5497C; AOT_REGCACHE_SYNC_OUT(); return; L_08A5497C: aot_gpr_31 = (0x08A54984u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A54984u) goto L_08A54984; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2E4, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A54984u) goto L_08A54984; AOT_REGCACHE_SYNC_OUT(); return; L_08A54984: ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); @@ -2309,15 +2310,15 @@ L_08A549B0: goto L_08A549B4; L_08A549B4: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A549C4u); aot_gpr_6 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 283u, 0x08B653C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A549C4u) goto L_08A549C4; AOT_REGCACHE_SYNC_OUT(); return; L_08A549C4: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); aot_gpr_4 = (ctx.gpr[28] + static_cast(5824)); - { const bool branch_taken = aot_gpr_16 == aot_gpr_4; + { const bool branch_taken = ctx.gpr[16] == aot_gpr_4; aot_gpr_4 = (2236u << 16u); if (branch_taken) { goto L_08A549E0; @@ -2325,15 +2326,15 @@ L_08A549C4: goto L_08A549D4; } L_08A549D4: - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A549E0u); aot_gpr_4 = (aot_gpr_4 + static_cast(25856)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A549E0u) goto L_08A549E0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A549E0u) goto L_08A549E0; AOT_REGCACHE_SYNC_OUT(); return; L_08A549E0: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -2348,8 +2349,8 @@ L_08A549E0: AOT_REGCACHE_SYNC_OUT(); return; L_08A54A00: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_5 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_5 | 0u); { const std::uint32_t aot_run_words[3]{ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(4), aot_run_words); } ctx.gpr[7] = (aot_gpr_4 | 0u); @@ -2359,8 +2360,8 @@ L_08A54A00: goto L_08A54A28; L_08A54A28: ctx.gpr[9] = (ctx.gpr[8] | 0u); - ctx.gpr[2] = (aot_mem.aot_direct_load16(ctx.gpr[9] + static_cast(4))); - { const bool branch_taken = ctx.gpr[2] != ctx.gpr[11]; + aot_gpr_2 = (aot_mem.aot_direct_load16(ctx.gpr[9] + static_cast(4))); + { const bool branch_taken = aot_gpr_2 != ctx.gpr[11]; ctx.gpr[10] = (0u | 0u); if (branch_taken) { goto L_08A54A5C; @@ -2368,17 +2369,17 @@ L_08A54A28: goto L_08A54A38; } L_08A54A38: - ctx.gpr[2] = (aot_mem.aot_direct_load16(ctx.gpr[9] + static_cast(2))); + aot_gpr_2 = (aot_mem.aot_direct_load16(ctx.gpr[9] + static_cast(2))); ctx.gpr[3] = (aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(2))); - if (ctx.gpr[2] != ctx.gpr[3]) { + if (aot_gpr_2 != ctx.gpr[3]) { ctx.gpr[9] = (ctx.gpr[10] & 255u); goto L_08A54A60; } goto L_08A54A48; L_08A54A48: ctx.gpr[9] = (aot_mem.aot_direct_load16(ctx.gpr[9] + static_cast(0))); - ctx.gpr[2] = (aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(0))); - { const bool branch_taken = ctx.gpr[9] != ctx.gpr[2]; + aot_gpr_2 = (aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(0))); + { const bool branch_taken = ctx.gpr[9] != aot_gpr_2; ctx.gpr[9] = (ctx.gpr[10] & 255u); if (branch_taken) { goto L_08A54A60; @@ -2421,7 +2422,7 @@ L_08A54A7C: L_08A54A84: aot_gpr_6 = (ctx.gpr[7] + static_cast(1162)); aot_gpr_31 = (0x08A54A90u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); goto L_08A54740; L_08A54A90: { const bool branch_taken = 0u == 0u; @@ -2447,7 +2448,7 @@ L_08A54AA4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A54AB0u) goto L_08A54AB0; AOT_REGCACHE_SYNC_OUT(); return; L_08A54AB0: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[18] == 0u; // nop if (branch_taken) { @@ -2458,7 +2459,7 @@ L_08A54AB0: L_08A54ABC: aot_gpr_31 = (0x08A54AC4u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A54AC4u) goto L_08A54AC4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A54AC4u) goto L_08A54AC4; AOT_REGCACHE_SYNC_OUT(); return; L_08A54AC4: ctx.gpr[17] = (ctx.gpr[18] | 0u); @@ -2474,26 +2475,26 @@ L_08A54AD0: AOT_REGCACHE_SYNC_OUT(); return; L_08A54AD8: aot_gpr_31 = (0x08A54AE0u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 309u, 0x089F5AC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A54AE0u) goto L_08A54AE0; AOT_REGCACHE_SYNC_OUT(); return; L_08A54AE0: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08A54AECu); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A54AECu) goto L_08A54AEC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A54AECu) goto L_08A54AEC; AOT_REGCACHE_SYNC_OUT(); return; L_08A54AEC: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08A54AFCu); - aot_gpr_6 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 283u, 0x08B653C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A54AFCu) goto L_08A54AFC; AOT_REGCACHE_SYNC_OUT(); return; L_08A54AFC: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; @@ -2506,32 +2507,32 @@ L_08A54AFC: AOT_REGCACHE_SYNC_OUT(); return; L_08A54B14: aot_gpr_29 = (aot_gpr_29 + static_cast(-64)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18]}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(32), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.gpr[17] = (aot_gpr_5 | 0u); ctx.gpr[18] = (aot_gpr_6 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), ctx.gpr[19]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), aot_gpr_31); aot_gpr_31 = (0x08A54B40u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A54B40u) goto L_08A54B40; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A54B40u) goto L_08A54B40; AOT_REGCACHE_SYNC_OUT(); return; L_08A54B40: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-6068))); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-6072))); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08A54B54u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A54B54u) goto L_08A54B54; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A54B54u) goto L_08A54B54; AOT_REGCACHE_SYNC_OUT(); return; L_08A54B54: ctx.gpr[1] = (ctx.gpr[3] << 1u); - aot_gpr_4 = (ctx.gpr[2] >> 31u); + aot_gpr_4 = (aot_gpr_2 >> 31u); aot_gpr_5 = (static_cast(static_cast(ctx.gpr[3]) >> 31u)); aot_gpr_4 = (ctx.gpr[1] | aot_gpr_4); ctx.gpr[19] = (aot_gpr_4 | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_4 = (0u | 0u); aot_gpr_6 = (aot_gpr_5 + static_cast(1156)); goto L_08A54B74; @@ -2616,7 +2617,7 @@ L_08A54BE0: } L_08A54BE8: aot_gpr_6 = (aot_gpr_5 + static_cast(1162)); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A54BF8u); aot_gpr_5 = (ctx.gpr[17] | 0u); goto L_08A54740; @@ -2633,7 +2634,7 @@ L_08A54C00: aot_gpr_4 = (ctx.gpr[19] + aot_gpr_4); aot_gpr_4 = (ctx.gpr[19] + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + aot_gpr_4); - ctx.gpr[19] = (aot_gpr_16 + aot_gpr_4); + ctx.gpr[19] = (ctx.gpr[16] + aot_gpr_4); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(0)))))); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(2)))))); aot_gpr_5 = (ctx.gpr[19] + static_cast(1156)); @@ -2643,10 +2644,10 @@ L_08A54C00: aot_mem.aot_direct_store16(aot_gpr_5 + static_cast(4), static_cast(ctx.gpr[7])); ctx.gpr[19] = (ctx.gpr[19] + static_cast(1162)); aot_gpr_31 = (0x08A54C3Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_08A54F5C; L_08A54C3C: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(4))); ctx.gpr[7] = (aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(4))); { const bool branch_taken = ctx.gpr[7] != aot_gpr_6; @@ -2696,7 +2697,7 @@ L_08A54C80: ctx.pc = 0x08B730A4u; AOT_REGCACHE_SYNC_OUT(); return; L_08A54C90: - { const bool branch_taken = static_cast(ctx.gpr[2]) >= 0; + { const bool branch_taken = static_cast(aot_gpr_2) >= 0; // nop if (branch_taken) { goto L_08A54D0C; @@ -2713,13 +2714,13 @@ L_08A54C98: L_08A54CA8: aot_gpr_31 = (0x08A54CB0u); aot_gpr_4 = (aot_gpr_29 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A54CB0u) goto L_08A54CB0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A54CB0u) goto L_08A54CB0; AOT_REGCACHE_SYNC_OUT(); return; L_08A54CB0: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (aot_gpr_29 | 0u); aot_gpr_31 = (0x08A54CC0u); - aot_gpr_6 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 283u, 0x08B653C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A54CC0u) goto L_08A54CC0; AOT_REGCACHE_SYNC_OUT(); return; L_08A54CC0: @@ -2737,7 +2738,7 @@ L_08A54CC8: ctx.pc = 0x08B72FCCu; AOT_REGCACHE_SYNC_OUT(); return; L_08A54CD4: - { const bool branch_taken = static_cast(ctx.gpr[2]) >= 0; + { const bool branch_taken = static_cast(aot_gpr_2) >= 0; // nop if (branch_taken) { goto L_08A54D0C; @@ -2754,13 +2755,13 @@ L_08A54CDC: L_08A54CEC: aot_gpr_31 = (0x08A54CF4u); aot_gpr_4 = (aot_gpr_29 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A54CF4u) goto L_08A54CF4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A54CF4u) goto L_08A54CF4; AOT_REGCACHE_SYNC_OUT(); return; L_08A54CF4: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (aot_gpr_29 | 0u); aot_gpr_31 = (0x08A54D04u); - aot_gpr_6 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 283u, 0x08B653C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A54D04u) goto L_08A54D04; AOT_REGCACHE_SYNC_OUT(); return; L_08A54D04: @@ -2772,7 +2773,7 @@ L_08A54D04: goto L_08A54D0C; } L_08A54D0C: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08A54D1Cu); aot_gpr_6 = (ctx.gpr[19] | 0u); @@ -2780,7 +2781,7 @@ L_08A54D0C: L_08A54D1C: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(32), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -2876,10 +2877,10 @@ L_08A54DD0: aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(12))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); ctx.gpr[17] = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); { const bool branch_taken = aot_gpr_6 != 0u; - aot_gpr_16 = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); if (branch_taken) { goto L_08A54E0C; } @@ -2890,11 +2891,11 @@ L_08A54DF0: aot_gpr_4 = (ctx.gpr[17] | 0u); goto L_08A56714; L_08A54DF8: - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(24))); aot_gpr_4 = (0u | 0u); { const bool branch_taken = 0u == 0u; - aot_gpr_16 = (0u | 17u); + ctx.gpr[16] = (0u | 17u); if (branch_taken) { goto L_08A54E14; } @@ -2915,8 +2916,8 @@ L_08A54E14: ctx.gpr[9] = (aot_gpr_6 + aot_gpr_4); aot_mem.aot_direct_store32(ctx.gpr[9] + static_cast(0), ctx.gpr[8]); aot_mem.aot_direct_store32(ctx.gpr[9] + static_cast(4), ctx.gpr[7]); - aot_gpr_16 = (aot_gpr_16 + static_cast(-1)); - { const bool branch_taken = aot_gpr_16 != 0u; + ctx.gpr[16] = (ctx.gpr[16] + static_cast(-1)); + { const bool branch_taken = ctx.gpr[16] != 0u; aot_gpr_4 = (aot_gpr_4 + static_cast(8)); if (branch_taken) { goto L_08A54E14; @@ -2934,7 +2935,7 @@ L_08A54E40: L_08A54E48: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -2946,9 +2947,9 @@ L_08A54E48: AOT_REGCACHE_SYNC_OUT(); return; L_08A54E5C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); - aot_gpr_16 = (aot_gpr_6 | 0u); + ctx.gpr[16] = (aot_gpr_6 | 0u); ctx.gpr[17] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); @@ -2958,7 +2959,7 @@ L_08A54E5C: L_08A54E80: aot_gpr_4 = (ctx.gpr[18] << 3u); aot_gpr_4 = (ctx.gpr[18] + aot_gpr_4); - aot_gpr_5 = (aot_gpr_16 + static_cast(10)); + aot_gpr_5 = (ctx.gpr[16] + static_cast(10)); aot_gpr_4 = (ctx.gpr[18] + aot_gpr_4); aot_gpr_5 = (aot_gpr_5 + aot_gpr_4); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(24))); @@ -2975,7 +2976,7 @@ L_08A54E80: L_08A54EBC: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; @@ -2988,9 +2989,9 @@ L_08A54EBC: AOT_REGCACHE_SYNC_OUT(); return; L_08A54ED4: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(88))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(88))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); { const bool branch_taken = static_cast(aot_gpr_4) <= 0; // nop @@ -3001,7 +3002,7 @@ L_08A54ED4: } L_08A54EF0: aot_gpr_4 = (aot_gpr_4 + static_cast(-1)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(88), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(88), aot_gpr_4); goto L_08A54EF8; L_08A54EF8: { const bool branch_taken = aot_gpr_4 != 0u; @@ -3018,7 +3019,7 @@ L_08A54F00: AOT_REGCACHE_SYNC_OUT(); return; L_08A54F08: aot_gpr_4 = (0u | 1u); - { const bool branch_taken = ctx.gpr[2] == aot_gpr_4; + { const bool branch_taken = aot_gpr_2 == aot_gpr_4; // nop if (branch_taken) { goto L_08A54F1C; @@ -3027,12 +3028,12 @@ L_08A54F08: } L_08A54F14: aot_gpr_4 = (0u | 20u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(88), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(88), aot_gpr_4); goto L_08A54F1C; L_08A54F1C: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(88))); - ctx.gpr[2] = (ctx.gpr[2] < static_cast(1) ? 1u : 0u); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_2 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(88))); + aot_gpr_2 = (aot_gpr_2 < static_cast(1) ? 1u : 0u); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -3072,10 +3073,10 @@ L_08A54F5C: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(2), static_cast(aot_gpr_5)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(3), static_cast(aot_gpr_5)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(4), static_cast(aot_gpr_5)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[16]); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(5), static_cast(aot_gpr_5)); - aot_gpr_16 = (aot_gpr_4 + static_cast(3166)); - aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(4))); + ctx.gpr[16] = (aot_gpr_4 + static_cast(3166)); + aot_gpr_6 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(4))); ctx.gpr[7] = (aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); { const bool branch_taken = aot_gpr_6 != ctx.gpr[7]; @@ -3086,7 +3087,7 @@ L_08A54F5C: goto L_08A54F98; } L_08A54F98: - aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(2))); + aot_gpr_6 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(2))); ctx.gpr[7] = (aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(2))); if (aot_gpr_6 != ctx.gpr[7]) { aot_gpr_5 = (aot_gpr_5 & 255u); @@ -3094,7 +3095,7 @@ L_08A54F98: } goto L_08A54FA8; L_08A54FA8: - aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(0))); + aot_gpr_6 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(0))); ctx.gpr[7] = (aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(0))); { const bool branch_taken = aot_gpr_6 != ctx.gpr[7]; aot_gpr_5 = (aot_gpr_5 & 255u); @@ -3122,8 +3123,8 @@ L_08A54FC8: // nop goto L_08A54F34; L_08A54FD0: - ctx.gpr[2] = (aot_gpr_16 | 0u); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); + aot_gpr_2 = (ctx.gpr[16] | 0u); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -3133,15 +3134,15 @@ L_08A54FD0: AOT_REGCACHE_SYNC_OUT(); return; L_08A54FE4: jump_target = aot_gpr_31; - ctx.gpr[2] = (aot_gpr_4 + static_cast(3172)); + aot_gpr_2 = (aot_gpr_4 + static_cast(3172)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08A54FEC: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); { const std::uint32_t aot_run_words[4]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(12), aot_run_words); } ctx.gpr[19] = (0u | 0u); @@ -3149,7 +3150,7 @@ L_08A54FEC: ctx.gpr[17] = (0u | 0u); goto L_08A55014; L_08A55014: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A55020u); aot_gpr_5 = (0u + static_cast(-1)); goto L_08A545AC; @@ -3159,7 +3160,7 @@ L_08A55020: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(1), static_cast(aot_gpr_4)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(2), static_cast(aot_gpr_4)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(3), static_cast(aot_gpr_4)); - aot_gpr_5 = (ctx.gpr[2] + static_cast(10)); + aot_gpr_5 = (aot_gpr_2 + static_cast(10)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_5 = (aot_gpr_5 + ctx.gpr[17]); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(5), static_cast(aot_gpr_4)); @@ -3220,10 +3221,10 @@ L_08A55090: goto L_08A550A0; } L_08A550A0: - ctx.gpr[2] = (ctx.gpr[19] | 0u); + aot_gpr_2 = (ctx.gpr[19] | 0u); { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(8), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -3237,8 +3238,8 @@ L_08A550A0: AOT_REGCACHE_SYNC_OUT(); return; L_08A550C0: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); { const std::uint32_t aot_run_words[6]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(12), aot_run_words); } ctx.gpr[21] = (0u | 0u); @@ -3248,7 +3249,7 @@ L_08A550C0: ctx.gpr[18] = (0u | 0u); goto L_08A550F8; L_08A550F8: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A55104u); aot_gpr_5 = (0u + static_cast(-1)); goto L_08A545AC; @@ -3258,7 +3259,7 @@ L_08A55104: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(1), static_cast(aot_gpr_4)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(2), static_cast(aot_gpr_4)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(3), static_cast(aot_gpr_4)); - aot_gpr_5 = (ctx.gpr[2] + static_cast(10)); + aot_gpr_5 = (aot_gpr_2 + static_cast(10)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_5 = (aot_gpr_5 + ctx.gpr[18]); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(5), static_cast(aot_gpr_4)); @@ -3306,12 +3307,12 @@ L_08A55160: goto L_08A55170; } L_08A55170: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A5517Cu); aot_gpr_5 = (0u + static_cast(-1)); goto L_08A545AC; L_08A5517C: - aot_gpr_4 = (ctx.gpr[2] + static_cast(10)); + aot_gpr_4 = (aot_gpr_2 + static_cast(10)); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[18]); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(8))); { const bool branch_taken = aot_gpr_4 != 0u; @@ -3325,12 +3326,12 @@ L_08A55190: ctx.gpr[21] = (ctx.gpr[17] | 0u); goto L_08A55194; L_08A55194: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A551A0u); aot_gpr_5 = (0u + static_cast(-1)); goto L_08A545AC; L_08A551A0: - aot_gpr_4 = (ctx.gpr[2] + static_cast(10)); + aot_gpr_4 = (aot_gpr_2 + static_cast(10)); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[18]); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(8))); { const bool branch_taken = aot_gpr_4 != ctx.gpr[17]; @@ -3354,10 +3355,10 @@ L_08A551B8: goto L_08A551C8; } L_08A551C8: - ctx.gpr[2] = (ctx.gpr[20] + ctx.gpr[21]); + aot_gpr_2 = (ctx.gpr[20] + ctx.gpr[21]); { std::uint32_t aot_run_words[7]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(8), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -3374,10 +3375,10 @@ L_08A551C8: L_08A551F0: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(12))); - { const std::uint32_t aot_run_words[5]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; + { const std::uint32_t aot_run_words[5]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } { const bool branch_taken = aot_gpr_5 != 0u; - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08A5521C; } @@ -3395,7 +3396,7 @@ L_08A5521C: aot_gpr_4 = (0u | 0u); goto L_08A55220; L_08A55220: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(24))); aot_gpr_6 = (aot_gpr_4 + static_cast(1)); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(114), static_cast(aot_gpr_6)); @@ -3413,15 +3414,15 @@ L_08A55240: ctx.gpr[17] = (0u | 5u); goto L_08A55248; L_08A55248: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(24))); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[18]); aot_gpr_31 = (0x08A55258u); ctx.gpr[19] = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(114))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A55258u) goto L_08A55258; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A55258u) goto L_08A55258; AOT_REGCACHE_SYNC_OUT(); return; L_08A55258: - { const std::uint32_t dividend = ctx.gpr[2]; const std::uint32_t divisor = ctx.gpr[17]; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); + { const std::uint32_t dividend = aot_gpr_2; const std::uint32_t divisor = ctx.gpr[17]; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(24))); aot_gpr_5 = (aot_gpr_4 + ctx.gpr[18]); ctx.gpr[18] = (ctx.gpr[18] + static_cast(1)); aot_gpr_6 = (static_cast(ctx.gpr[18]) < 6 ? 1u : 0u); @@ -3429,7 +3430,7 @@ L_08A55258: aot_gpr_4 = (aot_gpr_4 + ctx.gpr[7]); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(114))); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(114), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(24))); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[7]); { const bool branch_taken = aot_gpr_6 != 0u; aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(114), static_cast(ctx.gpr[19])); @@ -3444,7 +3445,7 @@ L_08A5528C: aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); goto L_08A55298; L_08A55298: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(24))); ctx.gpr[7] = (aot_gpr_5 + aot_gpr_4); aot_gpr_6 = (aot_gpr_6 + aot_gpr_5); aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_6 + static_cast(114))); @@ -3461,7 +3462,7 @@ L_08A55298: L_08A552BC: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -3523,7 +3524,7 @@ L_08A55324: AOT_REGCACHE_SYNC_OUT(); return; L_08A5532C: jump_target = aot_gpr_31; - ctx.gpr[2] = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(3184))); + aot_gpr_2 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(3184))); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -3546,17 +3547,17 @@ L_08A55344: AOT_REGCACHE_SYNC_OUT(); return; L_08A55354: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_4 = (0u | 255u); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(12), static_cast(aot_gpr_4)); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(13), static_cast(aot_gpr_4)); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(14), static_cast(aot_gpr_4)); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(15), static_cast(aot_gpr_4)); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(16), static_cast(aot_gpr_4)); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(17), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(12), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(13), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(14), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(15), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(16), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(17), static_cast(aot_gpr_4)); ctx.gpr[7] = (2213u << 16u); - aot_gpr_4 = (aot_gpr_16 + static_cast(22)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(22)); aot_gpr_5 = (0u | 7u); aot_gpr_6 = (0u | 10u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); @@ -3565,8 +3566,8 @@ L_08A55354: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 158u, 0x08B60C7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A55398u) goto L_08A55398; AOT_REGCACHE_SYNC_OUT(); return; L_08A55398: - ctx.gpr[2] = (aot_gpr_16 | 0u); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_2 = (ctx.gpr[16] | 0u); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -3582,21 +3583,21 @@ L_08A553AC: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(2), static_cast(aot_gpr_5)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(3), static_cast(aot_gpr_5)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(4), static_cast(aot_gpr_5)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(136), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(136), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(5), static_cast(aot_gpr_5)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(0)))))); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(1)))))); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(2)))))); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(0), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(0), static_cast(aot_gpr_4)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(3)))))); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(1), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(1), static_cast(aot_gpr_5)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(4)))))); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(2), static_cast(aot_gpr_6)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(2), static_cast(aot_gpr_6)); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(5)))))); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(3), static_cast(aot_gpr_4)); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(4), static_cast(aot_gpr_5)); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(5), static_cast(aot_gpr_6)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(3), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(4), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(5), static_cast(aot_gpr_6)); aot_gpr_4 = (aot_gpr_29 + static_cast(6)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(140), aot_gpr_31); aot_gpr_31 = (0x08A55414u); @@ -3604,7 +3605,7 @@ L_08A553AC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 94u, 0x08B60818u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A55414u) goto L_08A55414; AOT_REGCACHE_SYNC_OUT(); return; L_08A55414: - aot_gpr_6 = (aot_gpr_16 + static_cast(6)); + aot_gpr_6 = (ctx.gpr[16] + static_cast(6)); aot_gpr_5 = (0u | 0u); aot_gpr_4 = (0u | 64u); goto L_08A55420; @@ -3624,8 +3625,8 @@ L_08A55420: goto L_08A55444; } L_08A55444: - ctx.gpr[2] = (aot_gpr_16 | 0u); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(136))); + aot_gpr_2 = (ctx.gpr[16] | 0u); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(136))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(140))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(144)); @@ -3635,36 +3636,36 @@ L_08A55444: AOT_REGCACHE_SYNC_OUT(); return; L_08A55458: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - { const std::uint32_t aot_run_words[5]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; + { const std::uint32_t aot_run_words[5]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(8), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_4 = (2235u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-25860)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), aot_gpr_4); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(12), static_cast(0u)); - aot_gpr_4 = (aot_gpr_16 + static_cast(16)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(4), aot_gpr_4); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(12), static_cast(0u)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(16)); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-6064))); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-6060))); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), aot_gpr_6); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(24), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(24), 0u); ctx.gpr[17] = (0u | 255u); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(28), static_cast(ctx.gpr[17])); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(29), static_cast(ctx.gpr[17])); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(30), static_cast(ctx.gpr[17])); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(31), static_cast(ctx.gpr[17])); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(32), static_cast(ctx.gpr[17])); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(33), static_cast(ctx.gpr[17])); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(28), static_cast(ctx.gpr[17])); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(29), static_cast(ctx.gpr[17])); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(30), static_cast(ctx.gpr[17])); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(31), static_cast(ctx.gpr[17])); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(32), static_cast(ctx.gpr[17])); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(33), static_cast(ctx.gpr[17])); ctx.gpr[18] = (0u + static_cast(-1)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(36), ctx.gpr[18]); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(44), 0u); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(60), static_cast(0u)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(36), ctx.gpr[18]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(44), 0u); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(60), static_cast(0u)); { const std::uint32_t aot_run_words[3]{0u, 0u, 0u}; - aot_mem.aot_direct_store32_block(aot_gpr_16 + static_cast(64), aot_run_words); } + aot_mem.aot_direct_store32_block(ctx.gpr[16] + static_cast(64), aot_run_words); } aot_gpr_4 = (ctx.gpr[28] + static_cast(5824)); { const std::uint32_t aot_run_words[4]{aot_gpr_4, ctx.gpr[18], ctx.gpr[18], 0u}; - aot_mem.aot_direct_store32_block(aot_gpr_16 + static_cast(76), aot_run_words); } - aot_gpr_4 = (aot_gpr_16 + static_cast(92)); + aot_mem.aot_direct_store32_block(ctx.gpr[16] + static_cast(76), aot_run_words); } + aot_gpr_4 = (ctx.gpr[16] + static_cast(92)); aot_gpr_5 = (2213u << 16u); ctx.gpr[19] = (aot_gpr_5 + static_cast(21332)); aot_gpr_5 = (0u | 7u); @@ -3674,7 +3675,7 @@ L_08A55458: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 158u, 0x08B60C7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A55504u) goto L_08A55504; AOT_REGCACHE_SYNC_OUT(); return; L_08A55504: - aot_gpr_4 = (aot_gpr_16 + static_cast(1156)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(1156)); ctx.gpr[7] = (2213u << 16u); ctx.gpr[7] = (ctx.gpr[7] + static_cast(21420)); aot_gpr_5 = (0u | 7u); @@ -3683,8 +3684,8 @@ L_08A55504: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 158u, 0x08B60C7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5551Cu) goto L_08A5551C; AOT_REGCACHE_SYNC_OUT(); return; L_08A5551C: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2096), ctx.gpr[18]); - aot_gpr_4 = (aot_gpr_16 + static_cast(2100)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(2096), ctx.gpr[18]); + aot_gpr_4 = (ctx.gpr[16] + static_cast(2100)); aot_gpr_5 = (0u | 7u); aot_gpr_6 = (0u | 152u); aot_gpr_31 = (0x08A55534u); @@ -3692,26 +3693,26 @@ L_08A5551C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 158u, 0x08B60C7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A55534u) goto L_08A55534; AOT_REGCACHE_SYNC_OUT(); return; L_08A55534: - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(3166), static_cast(ctx.gpr[17])); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(3167), static_cast(ctx.gpr[17])); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(3168), static_cast(ctx.gpr[17])); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(3169), static_cast(ctx.gpr[17])); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(3170), static_cast(ctx.gpr[17])); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(3171), static_cast(ctx.gpr[17])); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(3172), ctx.gpr[18]); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(3166), static_cast(ctx.gpr[17])); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(3167), static_cast(ctx.gpr[17])); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(3168), static_cast(ctx.gpr[17])); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(3169), static_cast(ctx.gpr[17])); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(3170), static_cast(ctx.gpr[17])); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(3171), static_cast(ctx.gpr[17])); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(3172), ctx.gpr[18]); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(0), static_cast(ctx.gpr[17])); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(1), static_cast(ctx.gpr[17])); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(2), static_cast(ctx.gpr[17])); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(3), static_cast(ctx.gpr[17])); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(4), static_cast(ctx.gpr[17])); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(5), static_cast(ctx.gpr[17])); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(3176), static_cast(ctx.gpr[17])); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(3177), static_cast(ctx.gpr[17])); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(3178), static_cast(ctx.gpr[17])); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(3179), static_cast(ctx.gpr[17])); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(3180), static_cast(ctx.gpr[17])); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(3181), static_cast(ctx.gpr[17])); - aot_gpr_4 = (aot_gpr_16 + static_cast(3176)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(3176), static_cast(ctx.gpr[17])); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(3177), static_cast(ctx.gpr[17])); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(3178), static_cast(ctx.gpr[17])); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(3179), static_cast(ctx.gpr[17])); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(3180), static_cast(ctx.gpr[17])); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(3181), static_cast(ctx.gpr[17])); + aot_gpr_4 = (ctx.gpr[16] + static_cast(3176)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(0)))))); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(2)))))); ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(4)))))); @@ -3719,11 +3720,11 @@ L_08A55534: aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(2), static_cast(aot_gpr_6)); aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(4), static_cast(ctx.gpr[7])); aot_gpr_4 = (0u | 1u); - aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(3182), static_cast(aot_gpr_4)); - ctx.gpr[2] = (aot_gpr_16 | 0u); + aot_mem.aot_direct_store16(ctx.gpr[16] + static_cast(3182), static_cast(aot_gpr_4)); + aot_gpr_2 = (ctx.gpr[16] | 0u); { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(8), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -3744,9 +3745,9 @@ L_08A555C4: AOT_REGCACHE_SYNC_OUT(); return; L_08A555CC: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); { const std::uint32_t aot_run_words[3]{ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(24), aot_run_words); } @@ -3755,7 +3756,7 @@ L_08A555CC: ctx.pc = 0x08B7346Cu; AOT_REGCACHE_SYNC_OUT(); return; L_08A555F4: - { const bool branch_taken = static_cast(ctx.gpr[2]) < 0; + { const bool branch_taken = static_cast(aot_gpr_2) < 0; // nop if (branch_taken) { goto L_08A557E8; @@ -3764,7 +3765,7 @@ L_08A555F4: } L_08A555FC: aot_gpr_31 = (0x08A55604u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(8))); ctx.pc = 0x08B7349Cu; AOT_REGCACHE_SYNC_OUT(); return; L_08A55604: @@ -3777,8 +3778,8 @@ L_08A55604: ctx.pc = 0x08B7306Cu; AOT_REGCACHE_SYNC_OUT(); return; L_08A5561C: - { const bool branch_taken = static_cast(ctx.gpr[2]) >= 0; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), ctx.gpr[2]); + { const bool branch_taken = static_cast(aot_gpr_2) >= 0; + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(64), aot_gpr_2); if (branch_taken) { goto L_08A55654; } @@ -3787,22 +3788,22 @@ L_08A5561C: L_08A55624: aot_gpr_4 = (2232u << 16u); ctx.gpr[18] = (aot_gpr_4 + static_cast(7332)); - ctx.gpr[17] = (aot_gpr_16 + static_cast(72)); + ctx.gpr[17] = (ctx.gpr[16] + static_cast(72)); aot_gpr_31 = (0x08A55638u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A55638u) goto L_08A55638; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A55638u) goto L_08A55638; AOT_REGCACHE_SYNC_OUT(); return; L_08A55638: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08A55648u); - aot_gpr_6 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 319u, 0x08B655B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A55648u) goto L_08A55648; AOT_REGCACHE_SYNC_OUT(); return; L_08A55648: ctx.gpr[18] = (0u | 1u); { const bool branch_taken = 0u == 0u; - ctx.gpr[17] = (aot_gpr_16 + static_cast(16)); + ctx.gpr[17] = (ctx.gpr[16] + static_cast(16)); if (branch_taken) { goto L_08A557C8; } @@ -3814,8 +3815,8 @@ L_08A55654: ctx.pc = 0x08B7304Cu; AOT_REGCACHE_SYNC_OUT(); return; L_08A5565C: - { const bool branch_taken = static_cast(ctx.gpr[2]) >= 0; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), ctx.gpr[2]); + { const bool branch_taken = static_cast(aot_gpr_2) >= 0; + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(64), aot_gpr_2); if (branch_taken) { goto L_08A55694; } @@ -3824,22 +3825,22 @@ L_08A5565C: L_08A55664: aot_gpr_4 = (2232u << 16u); ctx.gpr[18] = (aot_gpr_4 + static_cast(7368)); - ctx.gpr[17] = (aot_gpr_16 + static_cast(72)); + ctx.gpr[17] = (ctx.gpr[16] + static_cast(72)); aot_gpr_31 = (0x08A55678u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A55678u) goto L_08A55678; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A55678u) goto L_08A55678; AOT_REGCACHE_SYNC_OUT(); return; L_08A55678: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08A55688u); - aot_gpr_6 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 319u, 0x08B655B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A55688u) goto L_08A55688; AOT_REGCACHE_SYNC_OUT(); return; L_08A55688: ctx.gpr[18] = (0u | 1u); { const bool branch_taken = 0u == 0u; - ctx.gpr[17] = (aot_gpr_16 + static_cast(16)); + ctx.gpr[17] = (ctx.gpr[16] + static_cast(16)); if (branch_taken) { goto L_08A557C0; } @@ -3847,7 +3848,7 @@ L_08A55688: } L_08A55694: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), 0u); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(40))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(40))); aot_gpr_4 = (aot_gpr_29 + static_cast(8)); aot_gpr_31 = (0x08A556A8u); aot_gpr_6 = (0u | 9u); @@ -3861,8 +3862,8 @@ L_08A556A8: ctx.pc = 0x08B72FDCu; AOT_REGCACHE_SYNC_OUT(); return; L_08A556B8: - { const bool branch_taken = static_cast(ctx.gpr[2]) >= 0; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), ctx.gpr[2]); + { const bool branch_taken = static_cast(aot_gpr_2) >= 0; + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(64), aot_gpr_2); if (branch_taken) { goto L_08A556F0; } @@ -3871,22 +3872,22 @@ L_08A556B8: L_08A556C0: aot_gpr_4 = (2232u << 16u); ctx.gpr[18] = (aot_gpr_4 + static_cast(7412)); - ctx.gpr[17] = (aot_gpr_16 + static_cast(72)); + ctx.gpr[17] = (ctx.gpr[16] + static_cast(72)); aot_gpr_31 = (0x08A556D4u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A556D4u) goto L_08A556D4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A556D4u) goto L_08A556D4; AOT_REGCACHE_SYNC_OUT(); return; L_08A556D4: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08A556E4u); - aot_gpr_6 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 319u, 0x08B655B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A556E4u) goto L_08A556E4; AOT_REGCACHE_SYNC_OUT(); return; L_08A556E4: ctx.gpr[18] = (0u | 1u); { const bool branch_taken = 0u == 0u; - ctx.gpr[17] = (aot_gpr_16 + static_cast(16)); + ctx.gpr[17] = (ctx.gpr[16] + static_cast(16)); if (branch_taken) { goto L_08A557B8; } @@ -3894,40 +3895,40 @@ L_08A556E4: } L_08A556F0: aot_gpr_4 = (2213u << 16u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A55700u); aot_gpr_4 = (aot_gpr_4 + static_cast(14952)); ctx.pc = 0x08B72FACu; AOT_REGCACHE_SYNC_OUT(); return; L_08A55700: - { const bool branch_taken = static_cast(ctx.gpr[2]) >= 0; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(80), ctx.gpr[2]); + { const bool branch_taken = static_cast(aot_gpr_2) >= 0; + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(80), aot_gpr_2); if (branch_taken) { goto L_08A55740; } goto L_08A55708; } L_08A55708: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); - ctx.gpr[17] = (aot_gpr_16 + static_cast(72)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), aot_gpr_4); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(80))); + ctx.gpr[17] = (ctx.gpr[16] + static_cast(72)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(64), aot_gpr_4); aot_gpr_4 = (2232u << 16u); ctx.gpr[18] = (aot_gpr_4 + static_cast(7472)); aot_gpr_31 = (0x08A55724u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A55724u) goto L_08A55724; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A55724u) goto L_08A55724; AOT_REGCACHE_SYNC_OUT(); return; L_08A55724: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08A55734u); - aot_gpr_6 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 319u, 0x08B655B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A55734u) goto L_08A55734; AOT_REGCACHE_SYNC_OUT(); return; L_08A55734: ctx.gpr[18] = (0u | 1u); { const bool branch_taken = 0u == 0u; - ctx.gpr[17] = (aot_gpr_16 + static_cast(16)); + ctx.gpr[17] = (ctx.gpr[16] + static_cast(16)); if (branch_taken) { goto L_08A557B0; } @@ -3944,43 +3945,43 @@ L_08A55740: ctx.pc = 0x08B7341Cu; AOT_REGCACHE_SYNC_OUT(); return; L_08A5575C: - { const bool branch_taken = static_cast(ctx.gpr[2]) >= 0; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2096), ctx.gpr[2]); + { const bool branch_taken = static_cast(aot_gpr_2) >= 0; + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(2096), aot_gpr_2); if (branch_taken) { goto L_08A5579C; } goto L_08A55764; } L_08A55764: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2096))); - ctx.gpr[17] = (aot_gpr_16 + static_cast(72)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), aot_gpr_4); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2096))); + ctx.gpr[17] = (ctx.gpr[16] + static_cast(72)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(64), aot_gpr_4); aot_gpr_4 = (2232u << 16u); ctx.gpr[18] = (aot_gpr_4 + static_cast(7548)); aot_gpr_31 = (0x08A55780u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A55780u) goto L_08A55780; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A55780u) goto L_08A55780; AOT_REGCACHE_SYNC_OUT(); return; L_08A55780: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08A55790u); - aot_gpr_6 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 319u, 0x08B655B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A55790u) goto L_08A55790; AOT_REGCACHE_SYNC_OUT(); return; L_08A55790: ctx.gpr[18] = (0u | 1u); { const bool branch_taken = 0u == 0u; - ctx.gpr[17] = (aot_gpr_16 + static_cast(16)); + ctx.gpr[17] = (ctx.gpr[16] + static_cast(16)); if (branch_taken) { goto L_08A557B0; } goto L_08A5579C; } L_08A5579C: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(64), 0u); aot_gpr_31 = (0x08A557A8u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_08A560B0; L_08A557A8: { const bool branch_taken = 0u == 0u; @@ -4012,7 +4013,7 @@ L_08A557C8: AOT_REGCACHE_SYNC_OUT(); return; L_08A557D0: aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-6096), static_cast(0u)); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(60), static_cast(ctx.gpr[18])); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(60), static_cast(ctx.gpr[18])); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-6176))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-6172))); aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), aot_gpr_4); @@ -4021,7 +4022,7 @@ L_08A557D0: L_08A557E8: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(20), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; @@ -4034,12 +4035,12 @@ L_08A557E8: AOT_REGCACHE_SYNC_OUT(); return; L_08A55800: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[16], ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(28), aot_run_words); } aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(68))); aot_gpr_5 = (aot_gpr_5 & 1u); { const bool branch_taken = aot_gpr_5 == 0u; - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08A55870; } @@ -4050,17 +4051,17 @@ L_08A55820: ctx.gpr[17] = (aot_gpr_4 + static_cast(7580)); aot_gpr_31 = (0x08A55830u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A55830u) goto L_08A55830; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A55830u) goto L_08A55830; AOT_REGCACHE_SYNC_OUT(); return; L_08A55830: aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08A55840u); - aot_gpr_6 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 283u, 0x08B653C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A55840u) goto L_08A55840; AOT_REGCACHE_SYNC_OUT(); return; L_08A55840: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A5584Cu); aot_gpr_5 = (aot_gpr_29 | 0u); goto L_08A564A4; @@ -4078,7 +4079,7 @@ L_08A5585C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); aot_gpr_31 = (0x08A55868u); aot_gpr_4 = (aot_gpr_4 + static_cast(25856)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A55868u) goto L_08A55868; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A55868u) goto L_08A55868; AOT_REGCACHE_SYNC_OUT(); return; L_08A55868: { const bool branch_taken = 0u == 0u; @@ -4089,7 +4090,7 @@ L_08A55868: goto L_08A55870; } L_08A55870: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(68))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(68))); aot_gpr_4 = (aot_gpr_4 & 2u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -4099,7 +4100,7 @@ L_08A55870: goto L_08A55880; } L_08A55880: - ctx.gpr[7] = (aot_gpr_16 | 0u); + ctx.gpr[7] = (ctx.gpr[16] | 0u); ctx.gpr[8] = (0u | 0u); aot_gpr_6 = (ctx.gpr[7] + static_cast(104)); goto L_08A5588C; @@ -4164,16 +4165,16 @@ L_08A55920: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(13), static_cast(aot_gpr_4)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(8)))))); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(10)))))); - aot_gpr_5 = (aot_gpr_16 + static_cast(28)); + aot_gpr_5 = (ctx.gpr[16] + static_cast(28)); ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(12)))))); aot_mem.aot_direct_store16(aot_gpr_5 + static_cast(0), static_cast(aot_gpr_4)); aot_mem.aot_direct_store16(aot_gpr_5 + static_cast(2), static_cast(aot_gpr_6)); aot_mem.aot_direct_store16(aot_gpr_5 + static_cast(4), static_cast(ctx.gpr[7])); aot_gpr_31 = (0x08A55960u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_08A54F34; L_08A55960: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(3164))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(3164))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -4182,14 +4183,14 @@ L_08A55960: goto L_08A5596C; } L_08A5596C: - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(3164), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(3164), static_cast(0u)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-6144))); - aot_gpr_5 = (aot_gpr_16 + static_cast(16)); + aot_gpr_5 = (ctx.gpr[16] + static_cast(16)); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-6140))); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(4), aot_gpr_6); aot_gpr_31 = (0x08A5598Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_08A54034; L_08A5598C: { const bool branch_taken = 0u == 0u; @@ -4201,12 +4202,12 @@ L_08A5598C: } L_08A55994: aot_gpr_31 = (0x08A5599Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_08A56210; L_08A5599C: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(28), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -4330,19 +4331,19 @@ L_08A55A88: AOT_REGCACHE_SYNC_OUT(); return; L_08A55A90: aot_gpr_29 = (aot_gpr_29 + static_cast(-80)); - { const std::uint32_t aot_run_words[6]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; + { const std::uint32_t aot_run_words[6]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(52), aot_run_words); } aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(68))); aot_gpr_5 = (aot_gpr_5 & 4u); { const bool branch_taken = aot_gpr_5 == 0u; - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08A55C44; } goto L_08A55ABC; } L_08A55ABC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(24))); ctx.gpr[17] = (aot_gpr_29 + static_cast(32)); aot_gpr_31 = (0x08A55ACCu); aot_gpr_5 = (ctx.gpr[17] | 0u); @@ -4351,46 +4352,46 @@ L_08A55ABC: L_08A55ACC: aot_gpr_31 = (0x08A55AD4u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A55AD4u) goto L_08A55AD4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A55AD4u) goto L_08A55AD4; AOT_REGCACHE_SYNC_OUT(); return; L_08A55AD4: aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08A55AE4u); - aot_gpr_6 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 283u, 0x08B653C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A55AE4u) goto L_08A55AE4; AOT_REGCACHE_SYNC_OUT(); return; L_08A55AE4: - ctx.gpr[19] = (aot_gpr_16 + static_cast(48)); + ctx.gpr[19] = (ctx.gpr[16] + static_cast(48)); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08A55AF8u); aot_gpr_6 = (0u | 8u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A55AF8u) goto L_08A55AF8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A55AF8u) goto L_08A55AF8; AOT_REGCACHE_SYNC_OUT(); return; L_08A55AF8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(24))); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(125)))))); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(48), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(48), static_cast(aot_gpr_5)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(126)))))); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(49), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(49), static_cast(aot_gpr_5)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(127)))))); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(50), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(50), static_cast(aot_gpr_5)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(128)))))); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(51), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(51), static_cast(aot_gpr_5)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(129)))))); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(52), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(52), static_cast(aot_gpr_5)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(130)))))); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(53), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(53), static_cast(aot_gpr_5)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(131)))))); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(54), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(54), static_cast(aot_gpr_5)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(132)))))); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(55), static_cast(aot_gpr_4)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), 0u); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(12))); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(55), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(68), 0u); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(12))); ctx.gpr[18] = (ctx.gpr[28] + static_cast(5824)); { const bool branch_taken = aot_gpr_4 == 0u; - ctx.gpr[17] = (aot_gpr_16 + static_cast(16)); + ctx.gpr[17] = (ctx.gpr[16] + static_cast(16)); if (branch_taken) { goto L_08A55BBC; } @@ -4402,8 +4403,8 @@ L_08A55B50: ctx.pc = 0x08B72FE4u; AOT_REGCACHE_SYNC_OUT(); return; L_08A55B58: - { const bool branch_taken = static_cast(ctx.gpr[2]) >= 0; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), ctx.gpr[2]); + { const bool branch_taken = static_cast(aot_gpr_2) >= 0; + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(64), aot_gpr_2); if (branch_taken) { goto L_08A55BA8; } @@ -4415,17 +4416,17 @@ L_08A55B60: ctx.gpr[19] = (aot_gpr_29 + static_cast(8)); aot_gpr_31 = (0x08A55B74u); aot_gpr_4 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A55B74u) goto L_08A55B74; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A55B74u) goto L_08A55B74; AOT_REGCACHE_SYNC_OUT(); return; L_08A55B74: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08A55B84u); - aot_gpr_6 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 283u, 0x08B653C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A55B84u) goto L_08A55B84; AOT_REGCACHE_SYNC_OUT(); return; L_08A55B84: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A55B90u); aot_gpr_5 = (ctx.gpr[19] | 0u); goto L_08A564A4; @@ -4442,7 +4443,7 @@ L_08A55B9C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); aot_gpr_31 = (0x08A55BA8u); aot_gpr_4 = (aot_gpr_4 + static_cast(25856)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A55BA8u) goto L_08A55BA8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A55BA8u) goto L_08A55BA8; AOT_REGCACHE_SYNC_OUT(); return; L_08A55BA8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-6128))); @@ -4457,12 +4458,12 @@ L_08A55BA8: } L_08A55BBC: aot_gpr_31 = (0x08A55BC4u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(56), 0u); ctx.pc = 0x08B72F9Cu; AOT_REGCACHE_SYNC_OUT(); return; L_08A55BC4: - { const bool branch_taken = static_cast(ctx.gpr[2]) >= 0; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), ctx.gpr[2]); + { const bool branch_taken = static_cast(aot_gpr_2) >= 0; + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(64), aot_gpr_2); if (branch_taken) { goto L_08A55C14; } @@ -4474,17 +4475,17 @@ L_08A55BCC: ctx.gpr[19] = (aot_gpr_29 + static_cast(16)); aot_gpr_31 = (0x08A55BE0u); aot_gpr_4 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A55BE0u) goto L_08A55BE0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A55BE0u) goto L_08A55BE0; AOT_REGCACHE_SYNC_OUT(); return; L_08A55BE0: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08A55BF0u); - aot_gpr_6 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 283u, 0x08B653C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A55BF0u) goto L_08A55BF0; AOT_REGCACHE_SYNC_OUT(); return; L_08A55BF0: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A55BFCu); aot_gpr_5 = (ctx.gpr[19] | 0u); goto L_08A564A4; @@ -4501,7 +4502,7 @@ L_08A55C08: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); aot_gpr_31 = (0x08A55C14u); aot_gpr_4 = (aot_gpr_4 + static_cast(25856)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A55C14u) goto L_08A55C14; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A55C14u) goto L_08A55C14; AOT_REGCACHE_SYNC_OUT(); return; L_08A55C14: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-6120))); @@ -4522,7 +4523,7 @@ L_08A55C30: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); aot_gpr_31 = (0x08A55C3Cu); aot_gpr_4 = (aot_gpr_4 + static_cast(25856)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A55C3Cu) goto L_08A55C3C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A55C3Cu) goto L_08A55C3C; AOT_REGCACHE_SYNC_OUT(); return; L_08A55C3C: { const bool branch_taken = 0u == 0u; @@ -4533,7 +4534,7 @@ L_08A55C3C: goto L_08A55C44; } L_08A55C44: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(68))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(68))); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -4548,17 +4549,17 @@ L_08A55C54: ctx.gpr[17] = (aot_gpr_29 + static_cast(24)); aot_gpr_31 = (0x08A55C68u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A55C68u) goto L_08A55C68; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A55C68u) goto L_08A55C68; AOT_REGCACHE_SYNC_OUT(); return; L_08A55C68: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08A55C78u); - aot_gpr_6 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 283u, 0x08B653C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A55C78u) goto L_08A55C78; AOT_REGCACHE_SYNC_OUT(); return; L_08A55C78: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A55C84u); aot_gpr_5 = (ctx.gpr[17] | 0u); goto L_08A564A4; @@ -4576,12 +4577,12 @@ L_08A55C94: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(28))); aot_gpr_31 = (0x08A55CA0u); aot_gpr_4 = (aot_gpr_4 + static_cast(25856)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A55CA0u) goto L_08A55CA0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A55CA0u) goto L_08A55CA0; AOT_REGCACHE_SYNC_OUT(); return; L_08A55CA0: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(52), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -4596,7 +4597,7 @@ L_08A55CA0: AOT_REGCACHE_SYNC_OUT(); return; L_08A55CC0: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(68))); aot_gpr_5 = (aot_gpr_5 & 1u); @@ -4610,16 +4611,16 @@ L_08A55CC0: L_08A55CDC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_4); aot_gpr_4 = (2232u << 16u); - aot_gpr_16 = (aot_gpr_4 + static_cast(7672)); + ctx.gpr[16] = (aot_gpr_4 + static_cast(7672)); aot_gpr_31 = (0x08A55CF0u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A55CF0u) goto L_08A55CF0; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A55CF0u) goto L_08A55CF0; AOT_REGCACHE_SYNC_OUT(); return; L_08A55CF0: aot_gpr_4 = (aot_gpr_29 | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A55D00u); - aot_gpr_6 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 283u, 0x08B653C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A55D00u) goto L_08A55D00; AOT_REGCACHE_SYNC_OUT(); return; L_08A55D00: @@ -4641,7 +4642,7 @@ L_08A55D1C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); aot_gpr_31 = (0x08A55D28u); aot_gpr_4 = (aot_gpr_4 + static_cast(25856)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A55D28u) goto L_08A55D28; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A55D28u) goto L_08A55D28; AOT_REGCACHE_SYNC_OUT(); return; L_08A55D28: { const bool branch_taken = 0u == 0u; @@ -4669,7 +4670,7 @@ L_08A55D40: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), aot_gpr_6); goto L_08A55D54; L_08A55D54: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); @@ -4679,12 +4680,12 @@ L_08A55D54: AOT_REGCACHE_SYNC_OUT(); return; L_08A55D64: aot_gpr_29 = (aot_gpr_29 + static_cast(-736)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(716), aot_run_words); } aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(68))); aot_gpr_5 = (aot_gpr_5 & 1u); { const bool branch_taken = aot_gpr_5 == 0u; - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08A55DD8; } @@ -4695,17 +4696,17 @@ L_08A55D88: ctx.gpr[17] = (aot_gpr_4 + static_cast(7700)); aot_gpr_31 = (0x08A55D98u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A55D98u) goto L_08A55D98; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A55D98u) goto L_08A55D98; AOT_REGCACHE_SYNC_OUT(); return; L_08A55D98: aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08A55DA8u); - aot_gpr_6 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 283u, 0x08B653C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A55DA8u) goto L_08A55DA8; AOT_REGCACHE_SYNC_OUT(); return; L_08A55DA8: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A55DB4u); aot_gpr_5 = (aot_gpr_29 | 0u); goto L_08A564A4; @@ -4723,7 +4724,7 @@ L_08A55DC4: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); aot_gpr_31 = (0x08A55DD0u); aot_gpr_4 = (aot_gpr_4 + static_cast(25856)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A55DD0u) goto L_08A55DD0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A55DD0u) goto L_08A55DD0; AOT_REGCACHE_SYNC_OUT(); return; L_08A55DD0: { const bool branch_taken = 0u == 0u; @@ -4734,7 +4735,7 @@ L_08A55DD0: goto L_08A55DD8; } L_08A55DD8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(68))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(68))); aot_gpr_4 = (aot_gpr_4 & 8u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -4744,7 +4745,7 @@ L_08A55DD8: goto L_08A55DE8; } L_08A55DE8: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(68), 0u); aot_gpr_4 = (0u | 672u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(680), aot_gpr_4); aot_gpr_4 = (aot_gpr_29 + static_cast(680)); @@ -4753,8 +4754,8 @@ L_08A55DE8: ctx.pc = 0x08B72FC4u; AOT_REGCACHE_SYNC_OUT(); return; L_08A55E00: - { const bool branch_taken = static_cast(ctx.gpr[2]) >= 0; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), ctx.gpr[2]); + { const bool branch_taken = static_cast(aot_gpr_2) >= 0; + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(64), aot_gpr_2); if (branch_taken) { goto L_08A55E5C; } @@ -4766,17 +4767,17 @@ L_08A55E08: ctx.gpr[17] = (aot_gpr_29 + static_cast(684)); aot_gpr_31 = (0x08A55E1Cu); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A55E1Cu) goto L_08A55E1C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A55E1Cu) goto L_08A55E1C; AOT_REGCACHE_SYNC_OUT(); return; L_08A55E1C: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08A55E2Cu); - aot_gpr_6 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 283u, 0x08B653C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A55E2Cu) goto L_08A55E2C; AOT_REGCACHE_SYNC_OUT(); return; L_08A55E2C: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A55E38u); aot_gpr_5 = (ctx.gpr[17] | 0u); goto L_08A564A4; @@ -4794,7 +4795,7 @@ L_08A55E48: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(688))); aot_gpr_31 = (0x08A55E54u); aot_gpr_4 = (aot_gpr_4 + static_cast(25856)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A55E54u) goto L_08A55E54; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A55E54u) goto L_08A55E54; AOT_REGCACHE_SYNC_OUT(); return; L_08A55E54: { const bool branch_taken = 0u == 0u; @@ -4822,13 +4823,13 @@ L_08A55E6C: } L_08A55E74: aot_gpr_4 = (ctx.gpr[17] + static_cast(8)); - aot_gpr_5 = (aot_gpr_16 + static_cast(48)); + aot_gpr_5 = (ctx.gpr[16] + static_cast(48)); aot_gpr_31 = (0x08A55E84u); aot_gpr_6 = (0u | 8u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A55E84u) goto L_08A55E84; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58100, 213u, 23u, 0x08B58100u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A55E84u) goto L_08A55E84; AOT_REGCACHE_SYNC_OUT(); return; L_08A55E84: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08A55E94; @@ -4861,9 +4862,9 @@ L_08A55EA0: goto L_08A55EA8; } L_08A55EA8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(56))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(56))); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(56), aot_gpr_4); aot_gpr_4 = (static_cast(aot_gpr_4) < 11 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -4878,17 +4879,17 @@ L_08A55EC0: ctx.gpr[17] = (aot_gpr_29 + static_cast(692)); aot_gpr_31 = (0x08A55ED4u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A55ED4u) goto L_08A55ED4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A55ED4u) goto L_08A55ED4; AOT_REGCACHE_SYNC_OUT(); return; L_08A55ED4: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08A55EE4u); - aot_gpr_6 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 283u, 0x08B653C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A55EE4u) goto L_08A55EE4; AOT_REGCACHE_SYNC_OUT(); return; L_08A55EE4: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A55EF0u); aot_gpr_5 = (ctx.gpr[17] | 0u); goto L_08A564A4; @@ -4906,11 +4907,11 @@ L_08A55F00: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(696))); aot_gpr_31 = (0x08A55F0Cu); aot_gpr_4 = (aot_gpr_4 + static_cast(25856)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A55F0Cu) goto L_08A55F0C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A55F0Cu) goto L_08A55F0C; AOT_REGCACHE_SYNC_OUT(); return; L_08A55F0C: aot_gpr_31 = (0x08A55F14u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0147_entry, 147u, 764u, 0x08A53F2Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A55F14u) goto L_08A55F14; AOT_REGCACHE_SYNC_OUT(); return; L_08A55F14: @@ -4927,8 +4928,8 @@ L_08A55F1C: ctx.pc = 0x08B72F9Cu; AOT_REGCACHE_SYNC_OUT(); return; L_08A55F24: - { const bool branch_taken = static_cast(ctx.gpr[2]) >= 0; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), ctx.gpr[2]); + { const bool branch_taken = static_cast(aot_gpr_2) >= 0; + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(64), aot_gpr_2); if (branch_taken) { goto L_08A55F78; } @@ -4940,17 +4941,17 @@ L_08A55F2C: ctx.gpr[17] = (aot_gpr_29 + static_cast(700)); aot_gpr_31 = (0x08A55F40u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A55F40u) goto L_08A55F40; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A55F40u) goto L_08A55F40; AOT_REGCACHE_SYNC_OUT(); return; L_08A55F40: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08A55F50u); - aot_gpr_6 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 283u, 0x08B653C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A55F50u) goto L_08A55F50; AOT_REGCACHE_SYNC_OUT(); return; L_08A55F50: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A55F5Cu); aot_gpr_5 = (ctx.gpr[17] | 0u); goto L_08A564A4; @@ -4968,7 +4969,7 @@ L_08A55F6C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(704))); aot_gpr_31 = (0x08A55F78u); aot_gpr_4 = (aot_gpr_4 + static_cast(25856)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A55F78u) goto L_08A55F78; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A55F78u) goto L_08A55F78; AOT_REGCACHE_SYNC_OUT(); return; L_08A55F78: { const bool branch_taken = 0u == 0u; @@ -4984,8 +4985,8 @@ L_08A55F80: ctx.pc = 0x08B72FBCu; AOT_REGCACHE_SYNC_OUT(); return; L_08A55F88: - { const bool branch_taken = static_cast(ctx.gpr[2]) >= 0; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), ctx.gpr[2]); + { const bool branch_taken = static_cast(aot_gpr_2) >= 0; + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(64), aot_gpr_2); if (branch_taken) { goto L_08A55FE4; } @@ -4997,17 +4998,17 @@ L_08A55F90: ctx.gpr[17] = (aot_gpr_29 + static_cast(708)); aot_gpr_31 = (0x08A55FA4u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A55FA4u) goto L_08A55FA4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A55FA4u) goto L_08A55FA4; AOT_REGCACHE_SYNC_OUT(); return; L_08A55FA4: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08A55FB4u); - aot_gpr_6 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 283u, 0x08B653C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A55FB4u) goto L_08A55FB4; AOT_REGCACHE_SYNC_OUT(); return; L_08A55FB4: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A55FC0u); aot_gpr_5 = (ctx.gpr[17] | 0u); goto L_08A564A4; @@ -5025,7 +5026,7 @@ L_08A55FD0: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(712))); aot_gpr_31 = (0x08A55FDCu); aot_gpr_4 = (aot_gpr_4 + static_cast(25856)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A55FDCu) goto L_08A55FDC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A55FDCu) goto L_08A55FDC; AOT_REGCACHE_SYNC_OUT(); return; L_08A55FDC: { const bool branch_taken = 0u == 0u; @@ -5037,7 +5038,7 @@ L_08A55FDC: } L_08A55FE4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-6128))); - aot_gpr_5 = (aot_gpr_16 + static_cast(16)); + aot_gpr_5 = (ctx.gpr[16] + static_cast(16)); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-6124))); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(4), aot_gpr_6); @@ -5045,7 +5046,7 @@ L_08A55FE4: L_08A55FF8: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(716), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; @@ -5065,7 +5066,7 @@ L_08A56010: AOT_REGCACHE_SYNC_OUT(); return; L_08A56018: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(68))); aot_gpr_5 = (aot_gpr_5 & 4u); @@ -5101,16 +5102,16 @@ L_08A56044: L_08A56054: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_4); aot_gpr_4 = (2232u << 16u); - aot_gpr_16 = (aot_gpr_4 + static_cast(7268)); + ctx.gpr[16] = (aot_gpr_4 + static_cast(7268)); aot_gpr_31 = (0x08A56068u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A56068u) goto L_08A56068; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A56068u) goto L_08A56068; AOT_REGCACHE_SYNC_OUT(); return; L_08A56068: aot_gpr_4 = (aot_gpr_29 | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A56078u); - aot_gpr_6 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 283u, 0x08B653C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A56078u) goto L_08A56078; AOT_REGCACHE_SYNC_OUT(); return; L_08A56078: @@ -5132,10 +5133,10 @@ L_08A56094: aot_gpr_4 = (2236u << 16u); aot_gpr_31 = (0x08A560A0u); aot_gpr_4 = (aot_gpr_4 + static_cast(25856)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A560A0u) goto L_08A560A0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A560A0u) goto L_08A560A0; AOT_REGCACHE_SYNC_OUT(); return; L_08A560A0: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); @@ -5145,14 +5146,14 @@ L_08A560A0: AOT_REGCACHE_SYNC_OUT(); return; L_08A560B0: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x08A560C8u); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(44))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(44))); goto L_08A560FC; L_08A560C8: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08A560D8; @@ -5169,13 +5170,13 @@ L_08A560D0: } L_08A560D8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-6136))); - aot_gpr_5 = (aot_gpr_16 + static_cast(16)); + aot_gpr_5 = (ctx.gpr[16] + static_cast(16)); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-6132))); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(4), aot_gpr_6); goto L_08A560EC; L_08A560EC: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -5185,19 +5186,19 @@ L_08A560EC: AOT_REGCACHE_SYNC_OUT(); return; L_08A560FC: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - { const std::uint32_t aot_run_words[6]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; + { const std::uint32_t aot_run_words[6]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(24), aot_run_words); } - aot_gpr_16 = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); ctx.gpr[17] = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08A56130u); aot_gpr_6 = (0u | 8u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A56130u) goto L_08A56130; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A56130u) goto L_08A56130; AOT_REGCACHE_SYNC_OUT(); return; L_08A56130: aot_gpr_4 = (aot_gpr_29 | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A56140u); aot_gpr_6 = (0u | 8u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A56140u) goto L_08A56140; @@ -5209,7 +5210,7 @@ L_08A56140: ctx.pc = 0x08B72FA4u; AOT_REGCACHE_SYNC_OUT(); return; L_08A5614C: - { const bool branch_taken = static_cast(ctx.gpr[2]) >= 0; + { const bool branch_taken = static_cast(aot_gpr_2) >= 0; // nop if (branch_taken) { goto L_08A561EC; @@ -5221,13 +5222,13 @@ L_08A56154: ctx.gpr[18] = (aot_gpr_4 + static_cast(7828)); aot_gpr_31 = (0x08A56164u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A56164u) goto L_08A56164; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A56164u) goto L_08A56164; AOT_REGCACHE_SYNC_OUT(); return; L_08A56164: aot_gpr_4 = (aot_gpr_29 + static_cast(16)); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08A56174u); - aot_gpr_6 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 283u, 0x08B653C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A56174u) goto L_08A56174; AOT_REGCACHE_SYNC_OUT(); return; L_08A56174: @@ -5235,16 +5236,16 @@ L_08A56174: ctx.gpr[18] = (aot_gpr_29 + static_cast(8)); ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); aot_gpr_31 = (0x08A56188u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A56188u) goto L_08A56188; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A56188u) goto L_08A56188; AOT_REGCACHE_SYNC_OUT(); return; L_08A56188: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_6 = (ctx.gpr[20] | 0u); - ctx.gpr[7] = (aot_gpr_16 | 0u); + ctx.gpr[7] = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A561A0u); - ctx.gpr[8] = (ctx.gpr[2] | 0u); + ctx.gpr[8] = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0217_entry, 217u, 7u, 0x08B6804Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A561A0u) goto L_08A561A0; AOT_REGCACHE_SYNC_OUT(); return; L_08A561A0: @@ -5266,7 +5267,7 @@ L_08A561BC: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); aot_gpr_31 = (0x08A561C8u); aot_gpr_4 = (aot_gpr_4 + static_cast(25856)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A561C8u) goto L_08A561C8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A561C8u) goto L_08A561C8; AOT_REGCACHE_SYNC_OUT(); return; L_08A561C8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); @@ -5282,23 +5283,23 @@ L_08A561D8: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); aot_gpr_31 = (0x08A561E4u); aot_gpr_4 = (aot_gpr_4 + static_cast(25856)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A561E4u) goto L_08A561E4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A561E4u) goto L_08A561E4; AOT_REGCACHE_SYNC_OUT(); return; L_08A561E4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08A561F0; } goto L_08A561EC; } L_08A561EC: - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); goto L_08A561F0; L_08A561F0: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(24), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -5313,31 +5314,31 @@ L_08A561F0: AOT_REGCACHE_SYNC_OUT(); return; L_08A56210: aot_gpr_29 = (aot_gpr_29 + static_cast(-64)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(40), aot_run_words); } aot_gpr_31 = (0x08A5622Cu); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); goto L_08A552D8; L_08A5622C: - aot_gpr_4 = (aot_gpr_16 + static_cast(92)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(92)); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08A5623Cu); aot_gpr_6 = (0u | 1064u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5623Cu) goto L_08A5623C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5623Cu) goto L_08A5623C; AOT_REGCACHE_SYNC_OUT(); return; L_08A5623C: - aot_gpr_4 = (aot_gpr_16 + static_cast(2100)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(2100)); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08A5624Cu); aot_gpr_6 = (0u | 1064u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5624Cu) goto L_08A5624C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5624Cu) goto L_08A5624C; AOT_REGCACHE_SYNC_OUT(); return; L_08A5624C: - aot_gpr_4 = (aot_gpr_16 + static_cast(1156)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(1156)); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08A5625Cu); aot_gpr_6 = (0u | 938u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5625Cu) goto L_08A5625C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5625Cu) goto L_08A5625C; AOT_REGCACHE_SYNC_OUT(); return; L_08A5625C: aot_gpr_31 = (0x08A56264u); @@ -5345,8 +5346,8 @@ L_08A5625C: ctx.pc = 0x08B72F54u; AOT_REGCACHE_SYNC_OUT(); return; L_08A56264: - { const bool branch_taken = static_cast(ctx.gpr[2]) >= 0; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), ctx.gpr[2]); + { const bool branch_taken = static_cast(aot_gpr_2) >= 0; + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(64), aot_gpr_2); if (branch_taken) { goto L_08A562C0; } @@ -5358,17 +5359,17 @@ L_08A5626C: ctx.gpr[17] = (aot_gpr_29 + static_cast(16)); aot_gpr_31 = (0x08A56280u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A56280u) goto L_08A56280; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A56280u) goto L_08A56280; AOT_REGCACHE_SYNC_OUT(); return; L_08A56280: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08A56290u); - aot_gpr_6 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 283u, 0x08B653C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A56290u) goto L_08A56290; AOT_REGCACHE_SYNC_OUT(); return; L_08A56290: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A5629Cu); aot_gpr_5 = (ctx.gpr[17] | 0u); goto L_08A564A4; @@ -5386,11 +5387,11 @@ L_08A562AC: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); aot_gpr_31 = (0x08A562B8u); aot_gpr_4 = (aot_gpr_4 + static_cast(25856)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A562B8u) goto L_08A562B8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A562B8u) goto L_08A562B8; AOT_REGCACHE_SYNC_OUT(); return; L_08A562B8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08A56400; } @@ -5415,32 +5416,32 @@ L_08A562C0: ctx.pc = 0x08B72F84u; AOT_REGCACHE_SYNC_OUT(); return; L_08A562FC: - { const bool branch_taken = static_cast(ctx.gpr[2]) >= 0; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(84), ctx.gpr[2]); + { const bool branch_taken = static_cast(aot_gpr_2) >= 0; + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(84), aot_gpr_2); if (branch_taken) { goto L_08A56360; } goto L_08A56304; } L_08A56304: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(84))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(84))); ctx.gpr[17] = (aot_gpr_29 + static_cast(24)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(64), aot_gpr_4); aot_gpr_4 = (2232u << 16u); ctx.gpr[18] = (aot_gpr_4 + static_cast(7196)); aot_gpr_31 = (0x08A56320u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A56320u) goto L_08A56320; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A56320u) goto L_08A56320; AOT_REGCACHE_SYNC_OUT(); return; L_08A56320: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08A56330u); - aot_gpr_6 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 283u, 0x08B653C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A56330u) goto L_08A56330; AOT_REGCACHE_SYNC_OUT(); return; L_08A56330: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A5633Cu); aot_gpr_5 = (ctx.gpr[17] | 0u); goto L_08A564A4; @@ -5458,18 +5459,18 @@ L_08A5634C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(28))); aot_gpr_31 = (0x08A56358u); aot_gpr_4 = (aot_gpr_4 + static_cast(25856)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A56358u) goto L_08A56358; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A56358u) goto L_08A56358; AOT_REGCACHE_SYNC_OUT(); return; L_08A56358: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08A56400; } goto L_08A56360; } L_08A56360: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(84))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(84))); aot_gpr_5 = (0u | 16u); aot_gpr_6 = (0u | 8192u); ctx.gpr[7] = (0u | 16u); @@ -5480,8 +5481,8 @@ L_08A56360: ctx.pc = 0x08B72F74u; AOT_REGCACHE_SYNC_OUT(); return; L_08A56380: - { const bool branch_taken = static_cast(ctx.gpr[2]) >= 0; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), ctx.gpr[2]); + { const bool branch_taken = static_cast(aot_gpr_2) >= 0; + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(64), aot_gpr_2); if (branch_taken) { goto L_08A563DC; } @@ -5493,17 +5494,17 @@ L_08A56388: ctx.gpr[17] = (aot_gpr_29 + static_cast(32)); aot_gpr_31 = (0x08A5639Cu); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5639Cu) goto L_08A5639C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5639Cu) goto L_08A5639C; AOT_REGCACHE_SYNC_OUT(); return; L_08A5639C: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08A563ACu); - aot_gpr_6 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 283u, 0x08B653C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A563ACu) goto L_08A563AC; AOT_REGCACHE_SYNC_OUT(); return; L_08A563AC: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A563B8u); aot_gpr_5 = (ctx.gpr[17] | 0u); goto L_08A564A4; @@ -5521,31 +5522,31 @@ L_08A563C8: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(36))); aot_gpr_31 = (0x08A563D4u); aot_gpr_4 = (aot_gpr_4 + static_cast(25856)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A563D4u) goto L_08A563D4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A563D4u) goto L_08A563D4; AOT_REGCACHE_SYNC_OUT(); return; L_08A563D4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08A56400; } goto L_08A563DC; } L_08A563DC: - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(12), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(12), static_cast(0u)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-6144))); - aot_gpr_5 = (aot_gpr_16 + static_cast(16)); + aot_gpr_5 = (ctx.gpr[16] + static_cast(16)); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-6140))); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(4), aot_gpr_6); aot_gpr_4 = (0u + static_cast(-1)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(36), aot_gpr_4); - ctx.gpr[2] = (0u | 1u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(36), aot_gpr_4); + aot_gpr_2 = (0u | 1u); goto L_08A56400; L_08A56400: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(40), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; @@ -5560,15 +5561,15 @@ L_08A56418: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); ctx.gpr[17] = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); aot_gpr_31 = (0x08A56438u); - aot_gpr_16 = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); goto L_08A56714; L_08A56438: - aot_gpr_4 = (aot_gpr_16 << 4u); - aot_gpr_5 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] << 4u); + aot_gpr_5 = (ctx.gpr[16] + aot_gpr_4); aot_gpr_5 = (aot_gpr_5 << 3u); aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(12))); ctx.gpr[18] = (aot_gpr_4 + aot_gpr_5); @@ -5581,7 +5582,7 @@ L_08A56438: } L_08A56454: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(36))); - { const bool branch_taken = aot_gpr_4 != aot_gpr_16; + { const bool branch_taken = aot_gpr_4 != ctx.gpr[16]; // nop if (branch_taken) { goto L_08A5646C; @@ -5615,7 +5616,7 @@ L_08A56484: L_08A5648C: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; @@ -5628,8 +5629,8 @@ L_08A5648C: AOT_REGCACHE_SYNC_OUT(); return; L_08A564A4: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08A564C0u); @@ -5638,17 +5639,17 @@ L_08A564A4: AOT_REGCACHE_SYNC_OUT(); return; L_08A564C0: aot_gpr_4 = (0u | 1u); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(60), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(60), static_cast(aot_gpr_4)); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_gpr_31 = (0x08A564D8u); - aot_gpr_4 = (aot_gpr_16 + static_cast(72)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(72)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 319u, 0x08B655B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A564D8u) goto L_08A564D8; AOT_REGCACHE_SYNC_OUT(); return; L_08A564D8: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -5660,10 +5661,10 @@ L_08A564D8: AOT_REGCACHE_SYNC_OUT(); return; L_08A564EC: aot_gpr_29 = (aot_gpr_29 + static_cast(-176)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(140), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(140), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(144), ctx.gpr[17]); ctx.gpr[17] = (aot_gpr_4 | 0u); - aot_gpr_16 = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); { const std::uint32_t aot_run_words[5]{ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(148), aot_run_words); } aot_gpr_31 = (0x08A5651Cu); @@ -5694,13 +5695,13 @@ L_08A56538: } L_08A56540: aot_gpr_4 = (ctx.gpr[19] | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A56550u); aot_gpr_6 = (0u | 6u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A56550u) goto L_08A56550; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58100, 213u, 23u, 0x08B58100u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A56550u) goto L_08A56550; AOT_REGCACHE_SYNC_OUT(); return; L_08A56550: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08A56574; @@ -5728,7 +5729,7 @@ L_08A5656C: } L_08A56574: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (ctx.gpr[21] | 0u); + aot_gpr_2 = (ctx.gpr[21] | 0u); if (branch_taken) { goto L_08A566F0; } @@ -5765,7 +5766,7 @@ L_08A56598: goto L_08A56738; L_08A565A0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u + static_cast(-1)); + aot_gpr_2 = (0u + static_cast(-1)); if (branch_taken) { goto L_08A566F0; } @@ -5793,11 +5794,11 @@ L_08A565B0: L_08A565C4: aot_gpr_5 = (aot_gpr_29 + static_cast(12)); aot_gpr_31 = (0x08A565D0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); ctx.pc = 0x08B72FCCu; AOT_REGCACHE_SYNC_OUT(); return; L_08A565D0: - { const bool branch_taken = static_cast(ctx.gpr[2]) >= 0; + { const bool branch_taken = static_cast(aot_gpr_2) >= 0; // nop if (branch_taken) { goto L_08A5669C; @@ -5805,15 +5806,15 @@ L_08A565D0: goto L_08A565D8; } L_08A565D8: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(0)))))); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1)))))); - aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(2)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(0)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(1)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(2)))))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(0), static_cast(aot_gpr_4)); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(3)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(3)))))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(1), static_cast(aot_gpr_5)); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(4)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(4)))))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(2), static_cast(aot_gpr_6)); - aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(5)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(5)))))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(3), static_cast(aot_gpr_4)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(4), static_cast(aot_gpr_5)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(5), static_cast(aot_gpr_6)); @@ -5821,15 +5822,15 @@ L_08A565D8: aot_gpr_4 = (ctx.gpr[17] | 0u); goto L_08A54F5C; L_08A56610: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(0)))))); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(1)))))); - aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(2)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(0)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(1)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(2)))))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(6), static_cast(aot_gpr_4)); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(3)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(3)))))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(7), static_cast(aot_gpr_5)); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(4)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(4)))))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(8), static_cast(aot_gpr_6)); - aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(5)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(5)))))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(9), static_cast(aot_gpr_4)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(10), static_cast(aot_gpr_5)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(11), static_cast(aot_gpr_6)); @@ -5883,7 +5884,7 @@ L_08A5668C: goto L_08A56738; L_08A56694: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u + static_cast(-1)); + aot_gpr_2 = (0u + static_cast(-1)); if (branch_taken) { goto L_08A566F0; } @@ -5899,25 +5900,25 @@ L_08A566A0: aot_gpr_6 = (0u | 1u); aot_gpr_4 = (ctx.gpr[17] + aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(2100), aot_gpr_6); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(0)))))); - aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(0)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(1)))))); aot_gpr_4 = (aot_gpr_4 + static_cast(2104)); - ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(2)))))); + ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(2)))))); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_5)); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(3)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(3)))))); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(1), static_cast(aot_gpr_6)); - aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(4)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(4)))))); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(2), static_cast(ctx.gpr[7])); - ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(5)))))); + ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(5)))))); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(3), static_cast(aot_gpr_5)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(4), static_cast(aot_gpr_6)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(5), static_cast(ctx.gpr[7])); - ctx.gpr[2] = (ctx.gpr[18] | 0u); + aot_gpr_2 = (ctx.gpr[18] | 0u); goto L_08A566F0; L_08A566F0: { std::uint32_t aot_run_words[7]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(140), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -5966,15 +5967,15 @@ L_08A5674C: AOT_REGCACHE_SYNC_OUT(); return; L_08A56758: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_5 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_5 | 0u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (0u | 0u); { const std::uint32_t aot_run_words[6]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(4), aot_run_words); } aot_gpr_31 = (0x08A5678Cu); aot_gpr_6 = (0u | 8u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5678Cu) goto L_08A5678C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5678Cu) goto L_08A5678C; AOT_REGCACHE_SYNC_OUT(); return; L_08A5678C: ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-6052))); @@ -5986,19 +5987,19 @@ L_08A5678C: L_08A567A0: aot_gpr_31 = (0x08A567A8u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A567A8u) goto L_08A567A8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A567A8u) goto L_08A567A8; AOT_REGCACHE_SYNC_OUT(); return; L_08A567A8: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 0u); ctx.gpr[7] = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08A567BCu); aot_gpr_6 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A567BCu) goto L_08A567BC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A567BCu) goto L_08A567BC; AOT_REGCACHE_SYNC_OUT(); return; L_08A567BC: ctx.gpr[1] = (ctx.gpr[3] << 1u); - aot_gpr_4 = (ctx.gpr[2] >> 31u); + aot_gpr_4 = (aot_gpr_2 >> 31u); aot_gpr_5 = (static_cast(static_cast(ctx.gpr[3]) >> 31u)); aot_gpr_4 = (ctx.gpr[1] | aot_gpr_4); aot_gpr_6 = (aot_gpr_4 + ctx.gpr[20]); @@ -6006,7 +6007,7 @@ L_08A567BC: aot_gpr_4 = (ctx.gpr[7] + aot_gpr_5); aot_gpr_5 = (aot_gpr_4 + ctx.gpr[21]); aot_gpr_4 = (aot_gpr_6 | 0u); - aot_gpr_6 = (aot_gpr_16 + ctx.gpr[17]); + aot_gpr_6 = (ctx.gpr[16] + ctx.gpr[17]); aot_gpr_4 = (aot_gpr_4 | 0u); aot_mem.aot_direct_store8(aot_gpr_6 + static_cast(0), static_cast(aot_gpr_4)); ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); @@ -6021,7 +6022,7 @@ L_08A567BC: L_08A567FC: { std::uint32_t aot_run_words[7]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -6158,7 +6159,7 @@ L_08A568E0: L_08A568EC: aot_gpr_31 = (0x08A568F4u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A568F4u) goto L_08A568F4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A568F4u) goto L_08A568F4; AOT_REGCACHE_SYNC_OUT(); return; L_08A568F4: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -6170,13 +6171,13 @@ L_08A568F4: AOT_REGCACHE_SYNC_OUT(); return; L_08A56900: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - { const std::uint32_t aot_run_words[6]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; + { const std::uint32_t aot_run_words[6]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_31 = (0x08A56924u); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); goto L_08A56714; L_08A56924: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(12))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(12))); ctx.gpr[20] = (2237u << 16u); { const bool branch_taken = aot_gpr_4 == 0u; ctx.gpr[20] = (ctx.gpr[20] + static_cast(-28736)); @@ -6190,7 +6191,7 @@ L_08A56934: ctx.gpr[18] = (0u | 0u); goto L_08A5693C; L_08A5693C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(24))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5868))); ctx.gpr[19] = (aot_gpr_4 + ctx.gpr[18]); { const bool branch_taken = aot_gpr_5 != 0u; @@ -6210,7 +6211,7 @@ L_08A56958: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5868))); goto L_08A54F5C; L_08A56960: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(4))); ctx.gpr[7] = (aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(4))); { const bool branch_taken = ctx.gpr[7] != aot_gpr_6; @@ -6253,11 +6254,11 @@ L_08A5699C: goto L_08A569A4; } L_08A569A4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(24))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7072))); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[18]); aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(18), static_cast(aot_gpr_5)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(24))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-7076))); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[18]); aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(16), static_cast(aot_gpr_5)); @@ -6275,79 +6276,79 @@ L_08A569C4: L_08A569D4: aot_gpr_31 = (0x08A569DCu); aot_gpr_4 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A569DCu) goto L_08A569DC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC754, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A569DCu) goto L_08A569DC; AOT_REGCACHE_SYNC_OUT(); return; L_08A569DC: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(24))); aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08A569ECu); - aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(84), ctx.gpr[2]); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A569ECu) goto L_08A569EC; + aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(84), aot_gpr_2); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC734, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A569ECu) goto L_08A569EC; AOT_REGCACHE_SYNC_OUT(); return; L_08A569EC: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(24))); aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08A569FCu); - aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(80), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(80), aot_gpr_2); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 143u, 0x08ADC764u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A569FCu) goto L_08A569FC; AOT_REGCACHE_SYNC_OUT(); return; L_08A569FC: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(24))); aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08A56A0Cu); - aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(88), ctx.gpr[2]); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A56A0Cu) goto L_08A56A0C; + aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(88), aot_gpr_2); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC784, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A56A0Cu) goto L_08A56A0C; AOT_REGCACHE_SYNC_OUT(); return; L_08A56A0C: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(24))); aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08A56A1Cu); - aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(92), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(92), aot_gpr_2); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 145u, 0x08ADC774u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A56A1Cu) goto L_08A56A1C; AOT_REGCACHE_SYNC_OUT(); return; L_08A56A1C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); - aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(100), ctx.gpr[2]); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(24))); + aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(100), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(48))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(24))); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(104), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[20] + static_cast(52))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(24))); aot_gpr_6 = (0u | 1u); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(108), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[20] + static_cast(54))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(24))); aot_mem.aot_direct_store16(aot_gpr_5 + static_cast(110), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(24))); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(122), static_cast(aot_gpr_6)); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[20] + static_cast(36))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(24))); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(112), static_cast(aot_gpr_4)); aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[20] + static_cast(37))); - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(24))); aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08A56A74u); aot_mem.aot_direct_store8(aot_gpr_6 + static_cast(113), static_cast(aot_gpr_5)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 149u, 0x08ADC794u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A56A74u) goto L_08A56A74; AOT_REGCACHE_SYNC_OUT(); return; L_08A56A74: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(24))); aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08A56A84u); - aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(96), aot_gpr_2); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 151u, 0x08ADC7A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A56A84u) goto L_08A56A84; AOT_REGCACHE_SYNC_OUT(); return; L_08A56A84: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(24))); aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08A56A94u); - aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(123), static_cast(ctx.gpr[2])); + aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(123), static_cast(aot_gpr_2)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 153u, 0x08ADC7B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A56A94u) goto L_08A56A94; AOT_REGCACHE_SYNC_OUT(); return; L_08A56A94: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(24))); ctx.gpr[17] = (0u | 0u); - aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(124), static_cast(ctx.gpr[2])); + aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(124), static_cast(aot_gpr_2)); goto L_08A56AA0; L_08A56AA0: aot_gpr_4 = (ctx.gpr[20] | 0u); @@ -6356,9 +6357,9 @@ L_08A56AA0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 396u, 0x08ADD774u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A56AACu) goto L_08A56AAC; AOT_REGCACHE_SYNC_OUT(); return; L_08A56AAC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(24))); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[17]); - aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(114), static_cast(ctx.gpr[2])); + aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(114), static_cast(aot_gpr_2)); ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); aot_gpr_4 = (static_cast(ctx.gpr[17]) < 6 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; @@ -6369,7 +6370,7 @@ L_08A56AAC: goto L_08A56AC8; } L_08A56AC8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(84))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(84))); { const bool branch_taken = static_cast(aot_gpr_4) < 0; // nop if (branch_taken) { @@ -6378,7 +6379,7 @@ L_08A56AC8: goto L_08A56AD4; } L_08A56AD4: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(24))); aot_gpr_31 = (0x08A56AE0u); aot_gpr_5 = (0u | 136u); ctx.pc = 0x08B72F7Cu; @@ -6392,74 +6393,74 @@ L_08A56AE0: goto L_08A56AE8; } L_08A56AE8: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(24))); aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08A56AF8u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(84))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 138u, 0x08ADC73Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A56AF8u) goto L_08A56AF8; AOT_REGCACHE_SYNC_OUT(); return; L_08A56AF8: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(24))); aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08A56B08u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(80))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 136u, 0x08ADC72Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A56B08u) goto L_08A56B08; AOT_REGCACHE_SYNC_OUT(); return; L_08A56B08: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(24))); aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08A56B18u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(88))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 142u, 0x08ADC75Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A56B18u) goto L_08A56B18; AOT_REGCACHE_SYNC_OUT(); return; L_08A56B18: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(24))); aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08A56B28u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(92))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 146u, 0x08ADC77Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A56B28u) goto L_08A56B28; AOT_REGCACHE_SYNC_OUT(); return; L_08A56B28: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(24))); aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08A56B38u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(100))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 144u, 0x08ADC76Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A56B38u) goto L_08A56B38; AOT_REGCACHE_SYNC_OUT(); return; L_08A56B38: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(24))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(104))); aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(48), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(24))); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(108))); aot_mem.aot_direct_store8(ctx.gpr[20] + static_cast(52), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(24))); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(110))); aot_mem.aot_direct_store16(ctx.gpr[20] + static_cast(54), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(24))); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(112))); aot_mem.aot_direct_store8(ctx.gpr[20] + static_cast(36), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(24))); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(113))); aot_mem.aot_direct_store8(ctx.gpr[20] + static_cast(37), static_cast(aot_gpr_4)); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(24))); aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08A56B84u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(96))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 148u, 0x08ADC78Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A56B84u) goto L_08A56B84; AOT_REGCACHE_SYNC_OUT(); return; L_08A56B84: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(24))); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(122))); aot_mem.aot_direct_store8(ctx.gpr[20] + static_cast(56), static_cast(aot_gpr_4)); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(24))); aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08A56BA0u); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(123))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 150u, 0x08ADC79Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A56BA0u) goto L_08A56BA0; AOT_REGCACHE_SYNC_OUT(); return; L_08A56BA0: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(24))); aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08A56BB0u); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(124))); @@ -6469,7 +6470,7 @@ L_08A56BB0: aot_gpr_4 = (0u | 0u); goto L_08A56BB4; L_08A56BB4: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(24))); aot_gpr_6 = (aot_gpr_4 + ctx.gpr[20]); aot_gpr_5 = (aot_gpr_5 + aot_gpr_4); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(114))); @@ -6485,12 +6486,12 @@ L_08A56BB4: } L_08A56BD8: aot_gpr_31 = (0x08A56BE0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_08A56738; L_08A56BE0: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -6506,9 +6507,9 @@ L_08A56BE0: L_08A56C00: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(18)))))); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19]}; + { const std::uint32_t aot_run_words[4]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(20), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.gpr[17] = (aot_gpr_6 | 0u); ctx.gpr[18] = (ctx.gpr[7] | 0u); ctx.gpr[19] = (ctx.gpr[8] | 0u); @@ -6522,14 +6523,14 @@ L_08A56C00: goto L_08A56C38; } L_08A56C38: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(16)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(16)))))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(18)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(18)))))); goto L_08A56C5C; } goto L_08A56C44; L_08A56C44: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(20))); aot_gpr_5 = (2213u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(23184)); { const bool branch_taken = aot_gpr_5 == aot_gpr_4; @@ -6540,23 +6541,23 @@ L_08A56C44: goto L_08A56C58; } L_08A56C58: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(18)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(18)))))); goto L_08A56C5C; L_08A56C5C: if (aot_gpr_4 != 0u) { - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(18)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(18)))))); goto L_08A56C88; } goto L_08A56C64; L_08A56C64: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(16)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(16)))))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(18)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(18)))))); goto L_08A56C88; } goto L_08A56C70; L_08A56C70: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(20))); aot_gpr_5 = (2213u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(23744)); { const bool branch_taken = aot_gpr_5 == aot_gpr_4; @@ -6567,23 +6568,23 @@ L_08A56C70: goto L_08A56C84; } L_08A56C84: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(18)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(18)))))); goto L_08A56C88; L_08A56C88: if (aot_gpr_4 != 0u) { - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(18)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(18)))))); goto L_08A56CB4; } goto L_08A56C90; L_08A56C90: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(16)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(16)))))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(18)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(18)))))); goto L_08A56CB4; } goto L_08A56C9C; L_08A56C9C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(20))); aot_gpr_5 = (2213u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(23908)); { const bool branch_taken = aot_gpr_5 == aot_gpr_4; @@ -6594,7 +6595,7 @@ L_08A56C9C: goto L_08A56CB0; } L_08A56CB0: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(18)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(18)))))); goto L_08A56CB4; L_08A56CB4: { const bool branch_taken = aot_gpr_4 != 0u; @@ -6605,7 +6606,7 @@ L_08A56CB4: goto L_08A56CBC; } L_08A56CBC: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(16)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(16)))))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -6614,7 +6615,7 @@ L_08A56CBC: goto L_08A56CC8; } L_08A56CC8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(20))); aot_gpr_5 = (2213u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(24592)); { const bool branch_taken = aot_gpr_5 == aot_gpr_4; @@ -6625,12 +6626,12 @@ L_08A56CC8: goto L_08A56CDC; } L_08A56CDC: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A56CE8u); aot_gpr_5 = (ctx.gpr[18] | 0u); goto L_08A564EC; L_08A56CE8: - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); { const bool branch_taken = static_cast(aot_gpr_5) < 0; // nop if (branch_taken) { @@ -6643,7 +6644,7 @@ L_08A56CF4: aot_gpr_6 = (aot_gpr_5 + aot_gpr_4); aot_gpr_6 = (aot_gpr_6 << 3u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); aot_gpr_6 = (ctx.gpr[17] + static_cast(-1)); aot_gpr_6 = (aot_gpr_6 < static_cast(10) ? 1u : 0u); { const bool branch_taken = aot_gpr_6 == 0u; @@ -6693,7 +6694,7 @@ L_08A56D44: } L_08A56D54: aot_gpr_31 = (0x08A56D5Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_08A56738; L_08A56D5C: { const bool branch_taken = 0u == 0u; @@ -6781,7 +6782,7 @@ L_08A56E14: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(3), static_cast(aot_gpr_5)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(4), static_cast(aot_gpr_6)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(5), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A56E54u); aot_gpr_5 = (aot_gpr_29 | 0u); goto L_08A54D38; @@ -6794,7 +6795,7 @@ L_08A56E54: goto L_08A56E5C; } L_08A56E5C: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(36))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(36))); { const bool branch_taken = aot_gpr_5 != aot_gpr_6; // nop if (branch_taken) { @@ -6836,13 +6837,13 @@ L_08A56E7C: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(11), static_cast(ctx.gpr[7])); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(6)))))); ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(8)))))); - aot_gpr_6 = (aot_gpr_16 + static_cast(28)); + aot_gpr_6 = (ctx.gpr[16] + static_cast(28)); ctx.gpr[8] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(10)))))); aot_mem.aot_direct_store16(aot_gpr_6 + static_cast(0), static_cast(aot_gpr_5)); aot_mem.aot_direct_store16(aot_gpr_6 + static_cast(2), static_cast(ctx.gpr[7])); aot_mem.aot_direct_store16(aot_gpr_6 + static_cast(4), static_cast(ctx.gpr[8])); aot_gpr_5 = (aot_gpr_4 + static_cast(12)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(24), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(24), aot_gpr_5); aot_gpr_5 = (0u | 5u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_5); @@ -6852,7 +6853,7 @@ L_08A56E7C: goto L_08A56EDC; } L_08A56EDC: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(36))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(36))); { const bool branch_taken = aot_gpr_5 != aot_gpr_6; // nop if (branch_taken) { @@ -6888,7 +6889,7 @@ L_08A56F00: } L_08A56F08: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(36))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(36))); { const bool branch_taken = aot_gpr_5 == aot_gpr_4; // nop if (branch_taken) { @@ -6923,7 +6924,7 @@ L_08A56F28: L_08A56F30: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(20), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -6943,11 +6944,11 @@ L_08A56F50: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), ctx.gpr[18]); ctx.gpr[18] = (aot_gpr_4 | 0u); ctx.gpr[17] = (aot_gpr_6 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), ctx.gpr[19]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), aot_gpr_31); { const bool branch_taken = aot_gpr_5 != 0u; - aot_gpr_16 = (ctx.gpr[7] | 0u); + ctx.gpr[16] = (ctx.gpr[7] | 0u); if (branch_taken) { goto L_08A56F9C; } @@ -7032,10 +7033,10 @@ L_08A56FE0: L_08A56FF4: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08A57000u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); goto L_08A564EC; L_08A57000: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = static_cast(aot_gpr_4) < 0; // nop if (branch_taken) { @@ -7120,9 +7121,9 @@ L_08A57088: aot_gpr_4 = (ctx.gpr[18] | 0u); goto L_08A54FEC; L_08A57090: - aot_gpr_4 = (static_cast(ctx.gpr[2]) < 7 ? 1u : 0u); + aot_gpr_4 = (static_cast(aot_gpr_2) < 7 ? 1u : 0u); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(0)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(0)))))); goto L_08A570B0; } goto L_08A5709C; @@ -7141,27 +7142,27 @@ L_08A570A8: goto L_08A570B0; } L_08A570B0: - aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(1)))))); aot_gpr_5 = (ctx.gpr[19] + static_cast(4)); - ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(2)))))); + ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(2)))))); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(0), static_cast(aot_gpr_4)); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(3)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(3)))))); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(1), static_cast(aot_gpr_6)); - aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(4)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(4)))))); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(2), static_cast(ctx.gpr[7])); - ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(5)))))); + ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(5)))))); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(3), static_cast(aot_gpr_4)); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(4), static_cast(aot_gpr_6)); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(5), static_cast(ctx.gpr[7])); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(84))); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x08A570F4u); ctx.gpr[7] = (0u | 0u); ctx.pc = 0x08B72F64u; AOT_REGCACHE_SYNC_OUT(); return; L_08A570F4: - { const bool branch_taken = static_cast(ctx.gpr[2]) < 0; + { const bool branch_taken = static_cast(aot_gpr_2) < 0; // nop if (branch_taken) { goto L_08A57104; @@ -7187,15 +7188,15 @@ L_08A5710C: L_08A57114: aot_gpr_5 = (0u | 5u); aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(0), aot_gpr_5); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(0)))))); - aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1)))))); - ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(2)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(0)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(1)))))); + ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(2)))))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(0), static_cast(aot_gpr_5)); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(3)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(3)))))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(1), static_cast(aot_gpr_6)); - aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(4)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(4)))))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(2), static_cast(ctx.gpr[7])); - ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(5)))))); + ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(5)))))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(3), static_cast(aot_gpr_5)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(4), static_cast(aot_gpr_6)); aot_gpr_5 = (aot_gpr_4 << 3u); @@ -7211,15 +7212,15 @@ L_08A57114: aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_5)); aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(2), static_cast(aot_gpr_6)); aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(4), static_cast(ctx.gpr[7])); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(0)))))); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1)))))); - aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(2)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(0)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(1)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(2)))))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(6), static_cast(aot_gpr_4)); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(3)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(3)))))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(7), static_cast(aot_gpr_5)); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(4)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(4)))))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(8), static_cast(aot_gpr_6)); - aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(5)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(5)))))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(9), static_cast(aot_gpr_4)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(10), static_cast(aot_gpr_5)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(11), static_cast(aot_gpr_6)); @@ -7332,7 +7333,7 @@ L_08A57270: L_08A57278: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(20), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -7346,9 +7347,9 @@ L_08A57278: AOT_REGCACHE_SYNC_OUT(); return; L_08A57294: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); - aot_gpr_16 = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); ctx.gpr[17] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08A572B4u); @@ -7356,7 +7357,7 @@ L_08A57294: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 555u, 0x088079D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A572B4u) goto L_08A572B4; AOT_REGCACHE_SYNC_OUT(); return; L_08A572B4: - aot_mem.aot_direct_store16(ctx.gpr[2] + static_cast(0), static_cast(aot_gpr_16)); + aot_mem.aot_direct_store16(aot_gpr_2 + static_cast(0), static_cast(ctx.gpr[16])); aot_gpr_5 = (ctx.gpr[28] + static_cast(-5916)); aot_gpr_31 = (0x08A572C4u); aot_gpr_4 = (ctx.gpr[17] | 0u); @@ -7371,7 +7372,7 @@ L_08A572C4: L_08A572D0: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -7398,20 +7399,20 @@ L_08A572F4: AOT_REGCACHE_SYNC_OUT(); return; L_08A57300: aot_gpr_29 = (aot_gpr_29 + static_cast(-128)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(88), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(88), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(80), std::bit_cast(aot_fpr_20)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(84), std::bit_cast(ctx.fpr[22])); { const std::uint32_t aot_run_words[9]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(92), aot_run_words); } aot_gpr_31 = (0x08A57340u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A57340u) goto L_08A57340; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A57340u) goto L_08A57340; AOT_REGCACHE_SYNC_OUT(); return; L_08A57340: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_0)); aot_gpr_4 = (aot_gpr_29 | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_6 = (0u | 2u); ctx.gpr[7] = (0u | 1u); aot_gpr_31 = (0x08A5735Cu); @@ -7421,7 +7422,7 @@ L_08A57340: L_08A5735C: ctx.gpr[23] = (aot_gpr_29 + static_cast(16)); aot_gpr_4 = (ctx.gpr[23] | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_6 = (0u | 3u); aot_gpr_31 = (0x08A57374u); ctx.gpr[7] = (0u | 1u); @@ -7435,11 +7436,11 @@ L_08A57374: ctx.gpr[22] = (aot_gpr_29 + static_cast(32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08A57394u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A57394u) goto L_08A57394; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806634, 0u, 302u, 0x08806634u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A57394u) goto L_08A57394; AOT_REGCACHE_SYNC_OUT(); return; L_08A57394: - aot_gpr_4 = (static_cast(ctx.gpr[2]) < 4 ? 1u : 0u); + aot_gpr_4 = (static_cast(aot_gpr_2) < 4 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -7450,7 +7451,7 @@ L_08A57394: L_08A573A0: ctx.gpr[17] = (aot_gpr_29 + static_cast(64)); aot_gpr_4 = (ctx.gpr[17] | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A573B4u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0075_entry, 75u, 406u, 0x08932014u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A573B4u) goto L_08A573B4; @@ -7481,11 +7482,11 @@ L_08A573BC: ctx.gpr[18] = (0u | 0u); ctx.gpr[17] = (0u | 255u); aot_gpr_31 = (0x08A573E8u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A573E8u) goto L_08A573E8; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806634, 0u, 302u, 0x08806634u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A573E8u) goto L_08A573E8; AOT_REGCACHE_SYNC_OUT(); return; L_08A573E8: - aot_gpr_4 = (static_cast(ctx.gpr[2]) < 5 ? 1u : 0u); + aot_gpr_4 = (static_cast(aot_gpr_2) < 5 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -7494,37 +7495,37 @@ L_08A573E8: goto L_08A573F4; } L_08A573F4: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A57400u); aot_gpr_5 = (0u | 5u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A57400u) goto L_08A57400; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A57400u) goto L_08A57400; AOT_REGCACHE_SYNC_OUT(); return; L_08A57400: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_0)); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 6u); ctx.gpr[20] = (std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08A57418u); ctx.gpr[20] = (ctx.gpr[20] & 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A57418u) goto L_08A57418; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A57418u) goto L_08A57418; AOT_REGCACHE_SYNC_OUT(); return; L_08A57418: aot_fpr_13 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_0)); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 7u); ctx.gpr[19] = (std::bit_cast(aot_fpr_13)); aot_gpr_31 = (0x08A57430u); ctx.gpr[19] = (ctx.gpr[19] & 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A57430u) goto L_08A57430; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A57430u) goto L_08A57430; AOT_REGCACHE_SYNC_OUT(); return; L_08A57430: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_0)); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 8u); ctx.gpr[18] = (std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08A57448u); ctx.gpr[18] = (ctx.gpr[18] & 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A57448u) goto L_08A57448; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A57448u) goto L_08A57448; AOT_REGCACHE_SYNC_OUT(); return; L_08A57448: aot_fpr_13 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_0)); @@ -7538,15 +7539,15 @@ L_08A57454: ctx.gpr[7] = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08A5746Cu); ctx.gpr[8] = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5746Cu) goto L_08A5746C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5746Cu) goto L_08A5746C; AOT_REGCACHE_SYNC_OUT(); return; L_08A5746C: aot_gpr_31 = (0x08A57474u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A57474u) goto L_08A57474; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806634, 0u, 302u, 0x08806634u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A57474u) goto L_08A57474; AOT_REGCACHE_SYNC_OUT(); return; L_08A57474: - aot_gpr_4 = (static_cast(ctx.gpr[2]) < 9 ? 1u : 0u); + aot_gpr_4 = (static_cast(aot_gpr_2) < 9 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -7555,10 +7556,10 @@ L_08A57474: goto L_08A57480; } L_08A57480: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A5748Cu); aot_gpr_5 = (0u | 9u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5748Cu) goto L_08A5748C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5748Cu) goto L_08A5748C; AOT_REGCACHE_SYNC_OUT(); return; L_08A5748C: aot_fpr_20 = std::bit_cast(std::bit_cast(aot_fpr_0)); @@ -7566,11 +7567,11 @@ L_08A5748C: L_08A57490: ctx.fpr[22] = std::bit_cast(0u); aot_gpr_31 = (0x08A5749Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5749Cu) goto L_08A5749C; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806634, 0u, 302u, 0x08806634u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5749Cu) goto L_08A5749C; AOT_REGCACHE_SYNC_OUT(); return; L_08A5749C: - aot_gpr_4 = (static_cast(ctx.gpr[2]) < 10 ? 1u : 0u); + aot_gpr_4 = (static_cast(aot_gpr_2) < 10 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -7579,10 +7580,10 @@ L_08A5749C: goto L_08A574A8; } L_08A574A8: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A574B4u); aot_gpr_5 = (0u | 10u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A574B4u) goto L_08A574B4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A574B4u) goto L_08A574B4; AOT_REGCACHE_SYNC_OUT(); return; L_08A574B4: ctx.fpr[22] = std::bit_cast(std::bit_cast(aot_fpr_0)); @@ -7591,11 +7592,11 @@ L_08A574B8: ctx.gpr[18] = (0u | 1u); ctx.gpr[17] = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08A574C8u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A574C8u) goto L_08A574C8; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806634, 0u, 302u, 0x08806634u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A574C8u) goto L_08A574C8; AOT_REGCACHE_SYNC_OUT(); return; L_08A574C8: - aot_gpr_4 = (static_cast(ctx.gpr[2]) < 11 ? 1u : 0u); + aot_gpr_4 = (static_cast(aot_gpr_2) < 11 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -7604,31 +7605,31 @@ L_08A574C8: goto L_08A574D4; } L_08A574D4: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A574E0u); aot_gpr_5 = (0u | 11u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A574E0u) goto L_08A574E0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806AE0, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A574E0u) goto L_08A574E0; AOT_REGCACHE_SYNC_OUT(); return; L_08A574E0: - ctx.gpr[17] = (0u < ctx.gpr[2] ? 1u : 0u); + ctx.gpr[17] = (0u < aot_gpr_2 ? 1u : 0u); goto L_08A574E4; L_08A574E4: aot_gpr_31 = (0x08A574ECu); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A574ECu) goto L_08A574EC; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806634, 0u, 302u, 0x08806634u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A574ECu) goto L_08A574EC; AOT_REGCACHE_SYNC_OUT(); return; L_08A574EC: - aot_gpr_4 = (static_cast(ctx.gpr[2]) < 12 ? 1u : 0u); + aot_gpr_4 = (static_cast(aot_gpr_2) < 12 ? 1u : 0u); if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(51))); goto L_08A57510; } goto L_08A574F8; L_08A574F8: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A57504u); aot_gpr_5 = (0u | 12u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A57504u) goto L_08A57504; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A57504u) goto L_08A57504; AOT_REGCACHE_SYNC_OUT(); return; L_08A57504: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_0)); @@ -7660,17 +7661,17 @@ L_08A57510: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0156_entry, 156u, 502u, 0x08A765B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A57564u) goto L_08A57564; AOT_REGCACHE_SYNC_OUT(); return; L_08A57564: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A57570u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); goto L_08A57294; L_08A57570: - ctx.gpr[2] = (ctx.gpr[18] | 0u); + aot_gpr_2 = (ctx.gpr[18] | 0u); { std::uint32_t aot_run_words[12]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(80), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); - aot_gpr_16 = aot_run_words[2]; + ctx.gpr[16] = aot_run_words[2]; ctx.gpr[17] = aot_run_words[3]; ctx.gpr[18] = aot_run_words[4]; ctx.gpr[19] = aot_run_words[5]; @@ -7689,14 +7690,14 @@ L_08A57570: AOT_REGCACHE_SYNC_OUT(); return; L_08A575AC: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x08A575C0u); aot_gpr_5 = (0u | 1u); goto L_08A572E4; L_08A575C0: - aot_gpr_16 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08A575F8; @@ -7704,7 +7705,7 @@ L_08A575C0: goto L_08A575CC; } L_08A575CC: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(0))); aot_gpr_5 = (0u | 65535u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -7723,11 +7724,11 @@ L_08A575DC: AOT_REGCACHE_SYNC_OUT(); return; L_08A575F0: aot_gpr_4 = (0u | 65535u); - aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(0), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store16(ctx.gpr[16] + static_cast(0), static_cast(aot_gpr_4)); goto L_08A575F8; L_08A575F8: - ctx.gpr[2] = (0u | 0u); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_2 = (0u | 0u); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -7737,16 +7738,16 @@ L_08A575F8: AOT_REGCACHE_SYNC_OUT(); return; L_08A5760C: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), ctx.gpr[17]); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.gpr[17] = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_31); aot_gpr_31 = (0x08A5762Cu); aot_gpr_5 = (0u | 1u); goto L_08A572E4; L_08A5762C: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -7835,26 +7836,26 @@ L_08A576C4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_4); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A576DCu); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(24))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A576DCu) goto L_08A576DC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A576DCu) goto L_08A576DC; AOT_REGCACHE_SYNC_OUT(); return; L_08A576DC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (ctx.gpr[17] | 0u); + aot_gpr_2 = (ctx.gpr[17] | 0u); if (branch_taken) { goto L_08A576E8; } goto L_08A576E4; } L_08A576E4: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_08A576E8; L_08A576E8: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(20), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -7869,18 +7870,18 @@ L_08A576FC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); aot_gpr_31 = (0x08A5770Cu); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5770Cu) goto L_08A5770C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806AE0, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5770Cu) goto L_08A5770C; AOT_REGCACHE_SYNC_OUT(); return; L_08A5770C: aot_gpr_4 = (2237u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); - aot_gpr_5 = (0u < ctx.gpr[2] ? 1u : 0u); + aot_gpr_5 = (0u < aot_gpr_2 ? 1u : 0u); aot_gpr_31 = (0x08A57720u); aot_gpr_4 = (aot_gpr_4 + static_cast(176)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0156_entry, 156u, 592u, 0x08A76D5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A57720u) goto L_08A57720; AOT_REGCACHE_SYNC_OUT(); return; L_08A57720: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -7910,7 +7911,7 @@ L_08A5774C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0030_entry, 30u, 236u, 0x0887CCD4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A57760u) goto L_08A57760; AOT_REGCACHE_SYNC_OUT(); return; L_08A57760: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); @@ -7926,7 +7927,7 @@ L_08A57770: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0030_entry, 30u, 241u, 0x0887CD60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A57780u) goto L_08A57780; AOT_REGCACHE_SYNC_OUT(); return; L_08A57780: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -7994,9 +7995,9 @@ L_08A577E8: AOT_REGCACHE_SYNC_OUT(); return; L_08A577F4: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); - aot_gpr_16 = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); ctx.gpr[17] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08A57814u); @@ -8004,7 +8005,7 @@ L_08A577F4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 555u, 0x088079D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A57814u) goto L_08A57814; AOT_REGCACHE_SYNC_OUT(); return; L_08A57814: - aot_mem.aot_direct_store16(ctx.gpr[2] + static_cast(0), static_cast(aot_gpr_16)); + aot_mem.aot_direct_store16(aot_gpr_2 + static_cast(0), static_cast(ctx.gpr[16])); aot_gpr_5 = (ctx.gpr[28] + static_cast(-5904)); aot_gpr_31 = (0x08A57824u); aot_gpr_4 = (ctx.gpr[17] | 0u); @@ -8019,7 +8020,7 @@ L_08A57824: L_08A57830: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -8046,12 +8047,12 @@ L_08A57854: AOT_REGCACHE_SYNC_OUT(); return; L_08A57860: aot_gpr_29 = (aot_gpr_29 + static_cast(-80)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), ctx.gpr[20]); ctx.gpr[20] = (0u | 1u); aot_gpr_4 = (aot_gpr_29 | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_6 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), std::bit_cast(aot_fpr_20)); { const std::uint32_t aot_run_words[3]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19]}; @@ -8069,12 +8070,12 @@ L_08A5789C: ctx.gpr[19] = (aot_gpr_29 + static_cast(16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08A578BCu); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A578BCu) goto L_08A578BC; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806634, 0u, 302u, 0x08806634u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A578BCu) goto L_08A578BC; AOT_REGCACHE_SYNC_OUT(); return; L_08A578BC: ctx.gpr[17] = (2237u << 16u); - aot_gpr_4 = (static_cast(ctx.gpr[2]) < 2 ? 1u : 0u); + aot_gpr_4 = (static_cast(aot_gpr_2) < 2 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; ctx.gpr[17] = (ctx.gpr[17] + static_cast(-28736)); if (branch_taken) { @@ -8085,7 +8086,7 @@ L_08A578BC: L_08A578CC: ctx.gpr[18] = (aot_gpr_29 + static_cast(32)); aot_gpr_4 = (ctx.gpr[18] | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A578E0u); aot_gpr_6 = (0u | 2u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0075_entry, 75u, 406u, 0x08932014u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A578E0u) goto L_08A578E0; @@ -8110,13 +8111,13 @@ L_08A578E8: aot_gpr_4 = (16224u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); ctx.gpr[18] = (255u << 16u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A57904u); { const float fs = aot_fpr_20; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_20 = std::bit_cast(0x7FC00000u); else aot_fpr_20 = fs * ft; } - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A57904u) goto L_08A57904; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806634, 0u, 302u, 0x08806634u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A57904u) goto L_08A57904; AOT_REGCACHE_SYNC_OUT(); return; L_08A57904: - aot_gpr_4 = (static_cast(ctx.gpr[2]) < 3 ? 1u : 0u); + aot_gpr_4 = (static_cast(aot_gpr_2) < 3 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -8125,10 +8126,10 @@ L_08A57904: goto L_08A57910; } L_08A57910: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A5791Cu); aot_gpr_5 = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5791Cu) goto L_08A5791C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5791Cu) goto L_08A5791C; AOT_REGCACHE_SYNC_OUT(); return; L_08A5791C: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_0)); @@ -8139,21 +8140,21 @@ L_08A5791C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 155u, 0x08ADC7D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A57930u) goto L_08A57930; AOT_REGCACHE_SYNC_OUT(); return; L_08A57930: - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(0))); - aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(1))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(0))); + aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(1))); aot_gpr_4 = (aot_gpr_4 << 16u); aot_gpr_5 = (aot_gpr_5 << 8u); - ctx.gpr[18] = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(2))); + ctx.gpr[18] = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(2))); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); ctx.gpr[18] = (aot_gpr_4 + ctx.gpr[18]); goto L_08A5794C; L_08A5794C: aot_gpr_31 = (0x08A57954u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A57954u) goto L_08A57954; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806634, 0u, 302u, 0x08806634u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A57954u) goto L_08A57954; AOT_REGCACHE_SYNC_OUT(); return; L_08A57954: - aot_gpr_4 = (static_cast(ctx.gpr[2]) < 4 ? 1u : 0u); + aot_gpr_4 = (static_cast(aot_gpr_2) < 4 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -8162,10 +8163,10 @@ L_08A57954: goto L_08A57960; } L_08A57960: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A5796Cu); aot_gpr_5 = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5796Cu) goto L_08A5796C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5796Cu) goto L_08A5796C; AOT_REGCACHE_SYNC_OUT(); return; L_08A5796C: aot_fpr_20 = std::bit_cast(std::bit_cast(aot_fpr_0)); @@ -8180,16 +8181,16 @@ L_08A57970: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0079_entry, 79u, 171u, 0x089414D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A57988u) goto L_08A57988; AOT_REGCACHE_SYNC_OUT(); return; L_08A57988: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A57994u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); goto L_08A577F4; L_08A57994: - ctx.gpr[2] = (ctx.gpr[20] | 0u); + aot_gpr_2 = (ctx.gpr[20] | 0u); { std::uint32_t aot_run_words[7]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(48), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); - aot_gpr_16 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[1]; ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; ctx.gpr[19] = aot_run_words[4]; @@ -8204,14 +8205,14 @@ L_08A57994: AOT_REGCACHE_SYNC_OUT(); return; L_08A579BC: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x08A579D0u); aot_gpr_5 = (0u | 1u); goto L_08A57844; L_08A579D0: - aot_gpr_16 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08A57A08; @@ -8219,7 +8220,7 @@ L_08A579D0: goto L_08A579DC; } L_08A579DC: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(0))); aot_gpr_5 = (0u | 65535u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -8238,11 +8239,11 @@ L_08A579EC: AOT_REGCACHE_SYNC_OUT(); return; L_08A57A00: aot_gpr_4 = (0u | 65535u); - aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(0), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store16(ctx.gpr[16] + static_cast(0), static_cast(aot_gpr_4)); goto L_08A57A08; L_08A57A08: - ctx.gpr[2] = (0u | 0u); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_2 = (0u | 0u); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -8318,7 +8319,7 @@ L_08A57A7C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A57A98u) goto L_08A57A98; AOT_REGCACHE_SYNC_OUT(); return; L_08A57A98: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -8337,7 +8338,7 @@ L_08A57AA8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A57AC4u) goto L_08A57AC4; AOT_REGCACHE_SYNC_OUT(); return; L_08A57AC4: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -8356,7 +8357,7 @@ L_08A57AD4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A57AF0u) goto L_08A57AF0; AOT_REGCACHE_SYNC_OUT(); return; L_08A57AF0: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -8366,7 +8367,7 @@ L_08A57AF0: AOT_REGCACHE_SYNC_OUT(); return; L_08A57B00: jump_target = aot_gpr_31; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -8387,10 +8388,10 @@ L_08A57B08: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); aot_gpr_31 = (0x08A57B44u); aot_gpr_6 = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A57B44u) goto L_08A57B44; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A57B44u) goto L_08A57B44; AOT_REGCACHE_SYNC_OUT(); return; L_08A57B44: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -8423,10 +8424,10 @@ L_08A57B54: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x08A57BB4u); aot_gpr_6 = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A57BB4u) goto L_08A57BB4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A57BB4u) goto L_08A57BB4; AOT_REGCACHE_SYNC_OUT(); return; L_08A57BB4: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -8436,42 +8437,42 @@ L_08A57BB4: AOT_REGCACHE_SYNC_OUT(); return; L_08A57BC4: jump_target = aot_gpr_31; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08A57BCC: jump_target = aot_gpr_31; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08A57BD4: jump_target = aot_gpr_31; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08A57BDC: jump_target = aot_gpr_31; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08A57BE4: jump_target = aot_gpr_31; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08A57BEC: jump_target = aot_gpr_31; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -8487,7 +8488,7 @@ L_08A57BF4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A57C10u) goto L_08A57C10; AOT_REGCACHE_SYNC_OUT(); return; L_08A57C10: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -8554,7 +8555,7 @@ L_08A57C80: goto L_08A57C84; L_08A57C84: jump_target = aot_gpr_31; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -8636,28 +8637,28 @@ L_08A57D14: goto L_08A57D18; L_08A57D18: jump_target = aot_gpr_31; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08A57D20: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (2236u << 16u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (2236u << 16u); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); aot_gpr_6 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x08A57D40u); - ctx.gpr[7] = (aot_gpr_16 + static_cast(29704)); + ctx.gpr[7] = (ctx.gpr[16] + static_cast(29704)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A57D40u) goto L_08A57D40; AOT_REGCACHE_SYNC_OUT(); return; L_08A57D40: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(29704))); aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(4188), static_cast(aot_gpr_4)); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -8667,7 +8668,7 @@ L_08A57D40: AOT_REGCACHE_SYNC_OUT(); return; L_08A57D60: jump_target = aot_gpr_31; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -8683,7 +8684,7 @@ L_08A57D68: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A57D84u) goto L_08A57D84; AOT_REGCACHE_SYNC_OUT(); return; L_08A57D84: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -8702,7 +8703,7 @@ L_08A57D94: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A57DB0u) goto L_08A57DB0; AOT_REGCACHE_SYNC_OUT(); return; L_08A57DB0: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -8721,7 +8722,7 @@ L_08A57DC0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A57DDCu) goto L_08A57DDC; AOT_REGCACHE_SYNC_OUT(); return; L_08A57DDC: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -8740,7 +8741,7 @@ L_08A57DEC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A57E08u) goto L_08A57E08; AOT_REGCACHE_SYNC_OUT(); return; L_08A57E08: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -8759,7 +8760,7 @@ L_08A57E18: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A57E34u) goto L_08A57E34; AOT_REGCACHE_SYNC_OUT(); return; L_08A57E34: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -8771,14 +8772,14 @@ L_08A57E44: aot_gpr_4 = (0u | 1u); aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(4215), static_cast(aot_gpr_4)); jump_target = aot_gpr_31; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08A57E54: jump_target = aot_gpr_31; - ctx.gpr[2] = (aot_gpr_4 + static_cast(16)); + aot_gpr_2 = (aot_gpr_4 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; diff --git a/profiles/vcs/generated/generated_unit_0149.cpp b/profiles/vcs/generated/generated_unit_0149.cpp index 8c7fa33..7909245 100644 --- a/profiles/vcs/generated/generated_unit_0149.cpp +++ b/profiles/vcs/generated/generated_unit_0149.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0149[4095] = { }; void recomp_unit_0149_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,31,16,29,6 fprs=12,13,20,14 gpr_occ=3776 fpr_occ=951 gpr_total=5046 fpr_total=1182 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,31,6,29,16 fprs=12,13,20,14 gpr_occ=4038 fpr_occ=951 gpr_total=5396 fpr_total=1182 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; - std::uint32_t aot_gpr_16 = ctx.gpr[16]; - std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_6 = ctx.gpr[6]; + std::uint32_t aot_gpr_29 = ctx.gpr[29]; + std::uint32_t aot_gpr_16 = ctx.gpr[16]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_20 = ctx.fpr[20]; float aot_fpr_14 = ctx.fpr[14]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[31] = aot_gpr_31; ctx.gpr[16] = aot_gpr_16; ctx.gpr[29] = aot_gpr_29; ctx.gpr[6] = aot_gpr_6; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; ctx.fpr[14] = aot_fpr_14; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_6 = ctx.gpr[6]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_14 = ctx.fpr[14]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[31] = aot_gpr_31; ctx.gpr[6] = aot_gpr_6; ctx.gpr[29] = aot_gpr_29; ctx.gpr[16] = aot_gpr_16; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; ctx.fpr[14] = aot_fpr_14; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_16 = ctx.gpr[16]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_14 = ctx.fpr[14]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -1353,7 +1354,7 @@ L_08A58270: L_08A58278: aot_gpr_31 = (0x08A58280u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A58280u) goto L_08A58280; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A58280u) goto L_08A58280; AOT_REGCACHE_SYNC_OUT(); return; L_08A58280: { std::uint32_t aot_run_words[3]{}; @@ -1744,7 +1745,7 @@ L_08A5852C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08A58548u); ctx.fpr[22] = std::bit_cast(std::bit_cast(aot_fpr_13)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A58548u) goto L_08A58548; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A58548u) goto L_08A58548; AOT_REGCACHE_SYNC_OUT(); return; L_08A58548: aot_fpr_14 = ctx.fpr[22] - aot_fpr_20; @@ -1772,7 +1773,7 @@ L_08A58568: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); aot_gpr_31 = (0x08A5858Cu); ctx.gpr[19] = (static_cast(static_cast(ctx.gpr[18]) >> 31u)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5858Cu) goto L_08A5858C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5858Cu) goto L_08A5858C; AOT_REGCACHE_SYNC_OUT(); return; L_08A5858C: aot_gpr_6 = (ctx.gpr[17] - ctx.gpr[18]); @@ -1780,7 +1781,7 @@ L_08A5858C: aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08A585A0u); ctx.gpr[7] = (static_cast(static_cast(aot_gpr_6) >> 31u)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A585A0u) goto L_08A585A0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A585A0u) goto L_08A585A0; AOT_REGCACHE_SYNC_OUT(); return; L_08A585A0: ctx.gpr[1] = (ctx.gpr[3] << 1u); @@ -2317,7 +2318,7 @@ L_08A588B0: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08A588BCu); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A588BCu) goto L_08A588BC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A588BCu) goto L_08A588BC; AOT_REGCACHE_SYNC_OUT(); return; L_08A588BC: { const bool branch_taken = 0u == 0u; @@ -2360,12 +2361,12 @@ L_08A58900: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08A5890Cu); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5890Cu) goto L_08A5890C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5890Cu) goto L_08A5890C; AOT_REGCACHE_SYNC_OUT(); return; L_08A5890C: aot_gpr_31 = (0x08A58914u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A58914u) goto L_08A58914; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A58914u) goto L_08A58914; AOT_REGCACHE_SYNC_OUT(); return; L_08A58914: aot_gpr_5 = (2203u << 16u); @@ -2373,7 +2374,7 @@ L_08A58914: aot_gpr_6 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08A58928u); aot_gpr_5 = (aot_gpr_5 + static_cast(13856)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A58928u) goto L_08A58928; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A58928u) goto L_08A58928; AOT_REGCACHE_SYNC_OUT(); return; L_08A58928: { std::uint32_t aot_run_words[6]{}; @@ -2451,7 +2452,7 @@ L_08A589C4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08A589D0u); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A589D0u) goto L_08A589D0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A589D0u) goto L_08A589D0; AOT_REGCACHE_SYNC_OUT(); return; L_08A589D0: { const bool branch_taken = 0u == 0u; @@ -2494,12 +2495,12 @@ L_08A58A14: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08A58A20u); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A58A20u) goto L_08A58A20; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A58A20u) goto L_08A58A20; AOT_REGCACHE_SYNC_OUT(); return; L_08A58A20: aot_gpr_31 = (0x08A58A28u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A58A28u) goto L_08A58A28; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A58A28u) goto L_08A58A28; AOT_REGCACHE_SYNC_OUT(); return; L_08A58A28: aot_gpr_5 = (2203u << 16u); @@ -2507,7 +2508,7 @@ L_08A58A28: aot_gpr_6 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08A58A3Cu); aot_gpr_5 = (aot_gpr_5 + static_cast(13856)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A58A3Cu) goto L_08A58A3C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A58A3Cu) goto L_08A58A3C; AOT_REGCACHE_SYNC_OUT(); return; L_08A58A3C: aot_gpr_4 = (0u + static_cast(-1)); @@ -2659,7 +2660,7 @@ L_08A58B30: L_08A58B3C: aot_gpr_31 = (0x08A58B44u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A58B44u) goto L_08A58B44; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A58B44u) goto L_08A58B44; AOT_REGCACHE_SYNC_OUT(); return; L_08A58B44: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -3443,7 +3444,7 @@ L_08A59138: aot_gpr_4 = (aot_gpr_4 | 52429u); aot_gpr_31 = (0x08A59164u); ctx.fpr[22] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A59164u) goto L_08A59164; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A59164u) goto L_08A59164; AOT_REGCACHE_SYNC_OUT(); return; L_08A59164: aot_fpr_12 = ctx.fpr[22] - aot_fpr_20; @@ -3452,7 +3453,7 @@ L_08A59164: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08A5917Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5917Cu) goto L_08A5917C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5917Cu) goto L_08A5917C; AOT_REGCACHE_SYNC_OUT(); return; L_08A5917C: aot_fpr_12 = ctx.fpr[22] - aot_fpr_20; @@ -3461,7 +3462,7 @@ L_08A5917C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08A59194u); ctx.gpr[21] = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A59194u) goto L_08A59194; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A59194u) goto L_08A59194; AOT_REGCACHE_SYNC_OUT(); return; L_08A59194: aot_gpr_4 = (16128u << 16u); @@ -3508,7 +3509,7 @@ L_08A591C8: L_08A591D4: aot_gpr_31 = (0x08A591DCu); ctx.gpr[21] = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A591DCu) goto L_08A591DC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A591DCu) goto L_08A591DC; AOT_REGCACHE_SYNC_OUT(); return; L_08A591DC: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[0] <= aot_fpr_20)) ? 0x00800000u : 0u); @@ -4456,7 +4457,7 @@ L_08A5984C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08A59858u); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A59858u) goto L_08A59858; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A59858u) goto L_08A59858; AOT_REGCACHE_SYNC_OUT(); return; L_08A59858: { const bool branch_taken = 0u == 0u; @@ -4492,19 +4493,19 @@ L_08A59888: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08A59894u); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A59894u) goto L_08A59894; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A59894u) goto L_08A59894; AOT_REGCACHE_SYNC_OUT(); return; L_08A59894: aot_gpr_31 = (0x08A5989Cu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5989Cu) goto L_08A5989C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5989Cu) goto L_08A5989C; AOT_REGCACHE_SYNC_OUT(); return; L_08A5989C: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08A598ACu); aot_gpr_6 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A598ACu) goto L_08A598AC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A598ACu) goto L_08A598AC; AOT_REGCACHE_SYNC_OUT(); return; L_08A598AC: aot_gpr_4 = (0u + static_cast(-1)); @@ -4557,19 +4558,19 @@ L_08A59908: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08A59914u); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A59914u) goto L_08A59914; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A59914u) goto L_08A59914; AOT_REGCACHE_SYNC_OUT(); return; L_08A59914: aot_gpr_31 = (0x08A5991Cu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5991Cu) goto L_08A5991C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5991Cu) goto L_08A5991C; AOT_REGCACHE_SYNC_OUT(); return; L_08A5991C: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_5 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08A5992Cu); aot_gpr_6 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5992Cu) goto L_08A5992C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5992Cu) goto L_08A5992C; AOT_REGCACHE_SYNC_OUT(); return; L_08A5992C: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(1280)))))); @@ -4671,7 +4672,7 @@ L_08A599E4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08A599F0u); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A599F0u) goto L_08A599F0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A599F0u) goto L_08A599F0; AOT_REGCACHE_SYNC_OUT(); return; L_08A599F0: { const bool branch_taken = 0u == 0u; @@ -4715,19 +4716,19 @@ L_08A59A38: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08A59A44u); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A59A44u) goto L_08A59A44; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A59A44u) goto L_08A59A44; AOT_REGCACHE_SYNC_OUT(); return; L_08A59A44: aot_gpr_31 = (0x08A59A4Cu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A59A4Cu) goto L_08A59A4C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A59A4Cu) goto L_08A59A4C; AOT_REGCACHE_SYNC_OUT(); return; L_08A59A4C: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_5 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08A59A5Cu); aot_gpr_6 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A59A5Cu) goto L_08A59A5C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A59A5Cu) goto L_08A59A5C; AOT_REGCACHE_SYNC_OUT(); return; L_08A59A5C: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(1280)))))); @@ -4792,7 +4793,7 @@ L_08A59AB8: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08A59AC4u); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A59AC4u) goto L_08A59AC4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A59AC4u) goto L_08A59AC4; AOT_REGCACHE_SYNC_OUT(); return; L_08A59AC4: { const bool branch_taken = 0u == 0u; @@ -4828,7 +4829,7 @@ L_08A59AF4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08A59B00u); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A59B00u) goto L_08A59B00; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A59B00u) goto L_08A59B00; AOT_REGCACHE_SYNC_OUT(); return; L_08A59B00: { const bool branch_taken = 0u == 0u; @@ -4875,7 +4876,7 @@ L_08A59B44: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08A59B50u); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A59B50u) goto L_08A59B50; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A59B50u) goto L_08A59B50; AOT_REGCACHE_SYNC_OUT(); return; L_08A59B50: { const bool branch_taken = 0u == 0u; @@ -4911,12 +4912,12 @@ L_08A59B80: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08A59B8Cu); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A59B8Cu) goto L_08A59B8C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A59B8Cu) goto L_08A59B8C; AOT_REGCACHE_SYNC_OUT(); return; L_08A59B8C: aot_gpr_31 = (0x08A59B94u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A59B94u) goto L_08A59B94; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A59B94u) goto L_08A59B94; AOT_REGCACHE_SYNC_OUT(); return; L_08A59B94: aot_gpr_5 = (2203u << 16u); @@ -4924,7 +4925,7 @@ L_08A59B94: aot_gpr_6 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08A59BA8u); aot_gpr_5 = (aot_gpr_5 + static_cast(12000)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A59BA8u) goto L_08A59BA8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A59BA8u) goto L_08A59BA8; AOT_REGCACHE_SYNC_OUT(); return; L_08A59BA8: { const bool branch_taken = 0u == 0u; @@ -5006,19 +5007,19 @@ L_08A59C30: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08A59C3Cu); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A59C3Cu) goto L_08A59C3C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A59C3Cu) goto L_08A59C3C; AOT_REGCACHE_SYNC_OUT(); return; L_08A59C3C: aot_gpr_31 = (0x08A59C44u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A59C44u) goto L_08A59C44; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A59C44u) goto L_08A59C44; AOT_REGCACHE_SYNC_OUT(); return; L_08A59C44: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_5 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08A59C54u); aot_gpr_6 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A59C54u) goto L_08A59C54; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A59C54u) goto L_08A59C54; AOT_REGCACHE_SYNC_OUT(); return; L_08A59C54: { const bool branch_taken = 0u == 0u; @@ -5070,19 +5071,19 @@ L_08A59CA0: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08A59CACu); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A59CACu) goto L_08A59CAC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A59CACu) goto L_08A59CAC; AOT_REGCACHE_SYNC_OUT(); return; L_08A59CAC: aot_gpr_31 = (0x08A59CB4u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A59CB4u) goto L_08A59CB4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A59CB4u) goto L_08A59CB4; AOT_REGCACHE_SYNC_OUT(); return; L_08A59CB4: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_5 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08A59CC4u); aot_gpr_6 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A59CC4u) goto L_08A59CC4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A59CC4u) goto L_08A59CC4; AOT_REGCACHE_SYNC_OUT(); return; L_08A59CC4: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(1280)))))); @@ -5264,7 +5265,7 @@ L_08A59DF0: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08A59DFCu); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A59DFCu) goto L_08A59DFC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A59DFCu) goto L_08A59DFC; AOT_REGCACHE_SYNC_OUT(); return; L_08A59DFC: { const bool branch_taken = 0u == 0u; @@ -5300,19 +5301,19 @@ L_08A59E2C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08A59E38u); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A59E38u) goto L_08A59E38; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A59E38u) goto L_08A59E38; AOT_REGCACHE_SYNC_OUT(); return; L_08A59E38: aot_gpr_31 = (0x08A59E40u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A59E40u) goto L_08A59E40; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A59E40u) goto L_08A59E40; AOT_REGCACHE_SYNC_OUT(); return; L_08A59E40: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08A59E50u); aot_gpr_6 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A59E50u) goto L_08A59E50; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A59E50u) goto L_08A59E50; AOT_REGCACHE_SYNC_OUT(); return; L_08A59E50: ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); @@ -5380,7 +5381,7 @@ L_08A59EBC: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08A59EC8u); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A59EC8u) goto L_08A59EC8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A59EC8u) goto L_08A59EC8; AOT_REGCACHE_SYNC_OUT(); return; L_08A59EC8: { const bool branch_taken = 0u == 0u; @@ -5424,19 +5425,19 @@ L_08A59F10: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08A59F1Cu); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A59F1Cu) goto L_08A59F1C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A59F1Cu) goto L_08A59F1C; AOT_REGCACHE_SYNC_OUT(); return; L_08A59F1C: aot_gpr_31 = (0x08A59F24u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A59F24u) goto L_08A59F24; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A59F24u) goto L_08A59F24; AOT_REGCACHE_SYNC_OUT(); return; L_08A59F24: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_5 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08A59F34u); aot_gpr_6 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A59F34u) goto L_08A59F34; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A59F34u) goto L_08A59F34; AOT_REGCACHE_SYNC_OUT(); return; L_08A59F34: { const bool branch_taken = 0u == 0u; @@ -5614,7 +5615,7 @@ L_08A5A05C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08A5A068u); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5A068u) goto L_08A5A068; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5A068u) goto L_08A5A068; AOT_REGCACHE_SYNC_OUT(); return; L_08A5A068: { const bool branch_taken = 0u == 0u; @@ -5650,19 +5651,19 @@ L_08A5A098: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08A5A0A4u); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5A0A4u) goto L_08A5A0A4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5A0A4u) goto L_08A5A0A4; AOT_REGCACHE_SYNC_OUT(); return; L_08A5A0A4: aot_gpr_31 = (0x08A5A0ACu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5A0ACu) goto L_08A5A0AC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5A0ACu) goto L_08A5A0AC; AOT_REGCACHE_SYNC_OUT(); return; L_08A5A0AC: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08A5A0BCu); aot_gpr_6 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5A0BCu) goto L_08A5A0BC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5A0BCu) goto L_08A5A0BC; AOT_REGCACHE_SYNC_OUT(); return; L_08A5A0BC: aot_gpr_4 = (ctx.gpr[17] | 0u); @@ -5737,7 +5738,7 @@ L_08A5A138: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08A5A144u); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5A144u) goto L_08A5A144; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5A144u) goto L_08A5A144; AOT_REGCACHE_SYNC_OUT(); return; L_08A5A144: { const bool branch_taken = 0u == 0u; @@ -5781,19 +5782,19 @@ L_08A5A18C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08A5A198u); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5A198u) goto L_08A5A198; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5A198u) goto L_08A5A198; AOT_REGCACHE_SYNC_OUT(); return; L_08A5A198: aot_gpr_31 = (0x08A5A1A0u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5A1A0u) goto L_08A5A1A0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5A1A0u) goto L_08A5A1A0; AOT_REGCACHE_SYNC_OUT(); return; L_08A5A1A0: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_5 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08A5A1B0u); aot_gpr_6 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5A1B0u) goto L_08A5A1B0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5A1B0u) goto L_08A5A1B0; AOT_REGCACHE_SYNC_OUT(); return; L_08A5A1B0: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(1280)))))); @@ -6024,7 +6025,7 @@ L_08A5A368: aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-5828))); aot_gpr_31 = (0x08A5A374u); ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-5824))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5A374u) goto L_08A5A374; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5A374u) goto L_08A5A374; AOT_REGCACHE_SYNC_OUT(); return; L_08A5A374: aot_fpr_12 = ctx.fpr[22] - aot_fpr_20; @@ -6037,7 +6038,7 @@ L_08A5A374: ctx.fpr[22] = std::bit_cast(aot_gpr_4); aot_gpr_31 = (0x08A5A39Cu); aot_fpr_20 = aot_fpr_20 + aot_fpr_12; - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5A39Cu) goto L_08A5A39C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5A39Cu) goto L_08A5A39C; AOT_REGCACHE_SYNC_OUT(); return; L_08A5A39C: aot_fpr_13 = ctx.fpr[22] - ctx.fpr[24]; @@ -6109,7 +6110,7 @@ L_08A5A450: aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-5828))); aot_gpr_31 = (0x08A5A45Cu); ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-5824))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5A45Cu) goto L_08A5A45C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5A45Cu) goto L_08A5A45C; AOT_REGCACHE_SYNC_OUT(); return; L_08A5A45C: aot_fpr_12 = ctx.fpr[22] - aot_fpr_20; @@ -6122,7 +6123,7 @@ L_08A5A45C: ctx.fpr[22] = std::bit_cast(aot_gpr_4); aot_gpr_31 = (0x08A5A484u); aot_fpr_20 = aot_fpr_20 + aot_fpr_12; - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5A484u) goto L_08A5A484; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5A484u) goto L_08A5A484; AOT_REGCACHE_SYNC_OUT(); return; L_08A5A484: aot_fpr_13 = ctx.fpr[22] - ctx.fpr[24]; @@ -6195,7 +6196,7 @@ L_08A5A4D8: L_08A5A540: aot_gpr_31 = (0x08A5A548u); aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-5828))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5A548u) goto L_08A5A548; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5A548u) goto L_08A5A548; AOT_REGCACHE_SYNC_OUT(); return; L_08A5A548: aot_fpr_12 = aot_fpr_20 - aot_fpr_20; @@ -6208,7 +6209,7 @@ L_08A5A548: ctx.fpr[24] = std::bit_cast(aot_gpr_4); aot_gpr_31 = (0x08A5A570u); aot_fpr_20 = aot_fpr_20 + aot_fpr_12; - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5A570u) goto L_08A5A570; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5A570u) goto L_08A5A570; AOT_REGCACHE_SYNC_OUT(); return; L_08A5A570: aot_fpr_13 = ctx.fpr[24] - ctx.fpr[22]; @@ -6313,7 +6314,7 @@ L_08A5A638: aot_gpr_4 = (aot_gpr_4 | 18350u); aot_gpr_31 = (0x08A5A67Cu); ctx.fpr[24] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5A67Cu) goto L_08A5A67C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5A67Cu) goto L_08A5A67C; AOT_REGCACHE_SYNC_OUT(); return; L_08A5A67C: aot_fpr_12 = ctx.fpr[24] - ctx.fpr[22]; @@ -6407,7 +6408,7 @@ L_08A5A6F0: aot_gpr_4 = (aot_gpr_4 | 55050u); aot_gpr_31 = (0x08A5A768u); ctx.fpr[22] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5A768u) goto L_08A5A768; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5A768u) goto L_08A5A768; AOT_REGCACHE_SYNC_OUT(); return; L_08A5A768: aot_fpr_12 = ctx.fpr[22] - aot_fpr_20; @@ -6422,7 +6423,7 @@ L_08A5A768: aot_gpr_4 = (16128u << 16u); aot_gpr_31 = (0x08A5A79Cu); ctx.fpr[22] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5A79Cu) goto L_08A5A79C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5A79Cu) goto L_08A5A79C; AOT_REGCACHE_SYNC_OUT(); return; L_08A5A79C: aot_fpr_12 = ctx.fpr[22] - ctx.fpr[24]; @@ -8011,7 +8012,7 @@ L_08A5B4BC: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_5); aot_gpr_31 = (0x08A5B4D8u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(900))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5B4D8u) goto L_08A5B4D8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5B4D8u) goto L_08A5B4D8; AOT_REGCACHE_SYNC_OUT(); return; L_08A5B4D8: { const bool branch_taken = ctx.gpr[2] != 0u; @@ -8179,7 +8180,7 @@ L_08A5B5F8: L_08A5B614: aot_gpr_31 = (0x08A5B61Cu); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5B61Cu) goto L_08A5B61C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5B61Cu) goto L_08A5B61C; AOT_REGCACHE_SYNC_OUT(); return; L_08A5B61C: { const bool branch_taken = ctx.gpr[2] != 0u; @@ -8392,7 +8393,7 @@ L_08A5B7E0: L_08A5B7EC: aot_gpr_31 = (0x08A5B7F4u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast(900))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5B7F4u) goto L_08A5B7F4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5B7F4u) goto L_08A5B7F4; AOT_REGCACHE_SYNC_OUT(); return; L_08A5B7F4: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -8613,7 +8614,7 @@ L_08A5B9A8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast(668))); aot_gpr_31 = (0x08A5B9B4u); aot_gpr_5 = (ctx.gpr[23] + static_cast(668)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5B9B4u) goto L_08A5B9B4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5B9B4u) goto L_08A5B9B4; AOT_REGCACHE_SYNC_OUT(); return; L_08A5B9B4: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast(96))); diff --git a/profiles/vcs/generated/generated_unit_0150.cpp b/profiles/vcs/generated/generated_unit_0150.cpp index 27a54f2..53fd090 100644 --- a/profiles/vcs/generated/generated_unit_0150.cpp +++ b/profiles/vcs/generated/generated_unit_0150.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,11 +139,11 @@ static const std::uint16_t kEntryIds_recomp_unit_0150[4094] = { }; void recomp_unit_0150_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,23,31,5,29,2 fprs=12,13,20,0 gpr_occ=3594 fpr_occ=1378 gpr_total=4599 fpr_total=1851 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,31,5,23,29,2 fprs=12,13,20,0 gpr_occ=3712 fpr_occ=1386 gpr_total=4862 fpr_total=1859 std::uint32_t aot_gpr_4 = ctx.gpr[4]; - std::uint32_t aot_gpr_23 = ctx.gpr[23]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; + std::uint32_t aot_gpr_23 = ctx.gpr[23]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_2 = ctx.gpr[2]; float aot_fpr_12 = ctx.fpr[12]; @@ -150,8 +151,8 @@ void recomp_unit_0150_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t dir float aot_fpr_20 = ctx.fpr[20]; float aot_fpr_0 = ctx.fpr[0]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[23] = aot_gpr_23; ctx.gpr[31] = aot_gpr_31; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[2] = aot_gpr_2; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; ctx.fpr[0] = aot_fpr_0; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_23 = ctx.gpr[23]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_2 = ctx.gpr[2]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_0 = ctx.fpr[0]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[31] = aot_gpr_31; ctx.gpr[5] = aot_gpr_5; ctx.gpr[23] = aot_gpr_23; ctx.gpr[29] = aot_gpr_29; ctx.gpr[2] = aot_gpr_2; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; ctx.fpr[0] = aot_fpr_0; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_23 = ctx.gpr[23]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_2 = ctx.gpr[2]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_0 = ctx.fpr[0]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -3165,7 +3166,7 @@ L_08A5CF20: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(80))); aot_gpr_31 = (0x08A5CF2Cu); aot_gpr_5 = (0u | 192u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5CF2Cu) goto L_08A5CF2C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0886D4BC, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5CF2Cu) goto L_08A5CF2C; AOT_REGCACHE_SYNC_OUT(); return; L_08A5CF2C: ctx.gpr[16] = (aot_gpr_2 | 0u); @@ -5716,7 +5717,7 @@ L_08A5E2F0: L_08A5E300: aot_gpr_31 = (0x08A5E308u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5E308u) goto L_08A5E308; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5E308u) goto L_08A5E308; AOT_REGCACHE_SYNC_OUT(); return; L_08A5E308: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-5780))); @@ -5724,13 +5725,13 @@ L_08A5E308: aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08A5E31Cu); aot_gpr_4 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5E31Cu) goto L_08A5E31C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5E31Cu) goto L_08A5E31C; AOT_REGCACHE_SYNC_OUT(); return; L_08A5E31C: aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08A5E328u); aot_gpr_4 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5E328u) goto L_08A5E328; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B627F0, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5E328u) goto L_08A5E328; AOT_REGCACHE_SYNC_OUT(); return; L_08A5E328: aot_fpr_20 = std::bit_cast(std::bit_cast(aot_fpr_0)); @@ -6330,7 +6331,7 @@ L_08A5E798: L_08A5E7A8: aot_gpr_31 = (0x08A5E7B0u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5E7B0u) goto L_08A5E7B0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5E7B0u) goto L_08A5E7B0; AOT_REGCACHE_SYNC_OUT(); return; L_08A5E7B0: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-5780))); @@ -6338,13 +6339,13 @@ L_08A5E7B0: aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08A5E7C4u); aot_gpr_4 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5E7C4u) goto L_08A5E7C4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5E7C4u) goto L_08A5E7C4; AOT_REGCACHE_SYNC_OUT(); return; L_08A5E7C4: aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08A5E7D0u); aot_gpr_4 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5E7D0u) goto L_08A5E7D0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B627F0, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5E7D0u) goto L_08A5E7D0; AOT_REGCACHE_SYNC_OUT(); return; L_08A5E7D0: aot_fpr_20 = std::bit_cast(std::bit_cast(aot_fpr_0)); @@ -6899,7 +6900,7 @@ L_08A5EBE8: L_08A5EBF8: aot_gpr_31 = (0x08A5EC00u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5EC00u) goto L_08A5EC00; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5EC00u) goto L_08A5EC00; AOT_REGCACHE_SYNC_OUT(); return; L_08A5EC00: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-5780))); @@ -6907,13 +6908,13 @@ L_08A5EC00: aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08A5EC14u); aot_gpr_4 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5EC14u) goto L_08A5EC14; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5EC14u) goto L_08A5EC14; AOT_REGCACHE_SYNC_OUT(); return; L_08A5EC14: aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08A5EC20u); aot_gpr_4 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5EC20u) goto L_08A5EC20; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B627F0, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5EC20u) goto L_08A5EC20; AOT_REGCACHE_SYNC_OUT(); return; L_08A5EC20: aot_fpr_20 = std::bit_cast(std::bit_cast(aot_fpr_0)); @@ -7043,7 +7044,7 @@ L_08A5ED2C: aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A5ED38u); aot_gpr_5 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5ED38u) goto L_08A5ED38; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0886D4BC, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5ED38u) goto L_08A5ED38; AOT_REGCACHE_SYNC_OUT(); return; L_08A5ED38: ctx.gpr[16] = (aot_gpr_2 | 0u); @@ -7214,7 +7215,7 @@ L_08A5EE74: L_08A5EE8C: aot_gpr_31 = (0x08A5EE94u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5EE94u) goto L_08A5EE94; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5EE94u) goto L_08A5EE94; AOT_REGCACHE_SYNC_OUT(); return; L_08A5EE94: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_23 + static_cast(1072))); @@ -7222,7 +7223,7 @@ L_08A5EE94: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); aot_gpr_31 = (0x08A5EEA8u); ctx.gpr[16] = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5EEA8u) goto L_08A5EEA8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5EEA8u) goto L_08A5EEA8; AOT_REGCACHE_SYNC_OUT(); return; L_08A5EEA8: ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-5780))); @@ -7232,7 +7233,7 @@ L_08A5EEA8: aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08A5EEC4u); ctx.gpr[6] = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5EEC4u) goto L_08A5EEC4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5EEC4u) goto L_08A5EEC4; AOT_REGCACHE_SYNC_OUT(); return; L_08A5EEC4: aot_gpr_5 = (ctx.gpr[17] | 0u); @@ -7240,7 +7241,7 @@ L_08A5EEC4: aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A5EED8u); ctx.gpr[6] = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5EED8u) goto L_08A5EED8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B6256C, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5EED8u) goto L_08A5EED8; AOT_REGCACHE_SYNC_OUT(); return; L_08A5EED8: { const bool branch_taken = static_cast(aot_gpr_2) <= 0; @@ -7254,7 +7255,7 @@ L_08A5EEE0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_23 + static_cast(1072))); aot_gpr_31 = (0x08A5EEECu); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5EEECu) goto L_08A5EEEC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5EEECu) goto L_08A5EEEC; AOT_REGCACHE_SYNC_OUT(); return; L_08A5EEEC: aot_gpr_5 = (ctx.gpr[3] | 0u); @@ -7262,13 +7263,13 @@ L_08A5EEEC: aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08A5EF00u); ctx.gpr[6] = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5EF00u) goto L_08A5EF00; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5EF00u) goto L_08A5EF00; AOT_REGCACHE_SYNC_OUT(); return; L_08A5EF00: aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08A5EF0Cu); aot_gpr_4 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5EF0Cu) goto L_08A5EF0C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B627F0, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5EF0Cu) goto L_08A5EF0C; AOT_REGCACHE_SYNC_OUT(); return; L_08A5EF0C: { const bool branch_taken = 0u == 0u; @@ -7283,7 +7284,7 @@ L_08A5EF14: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); aot_gpr_31 = (0x08A5EF24u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5EF24u) goto L_08A5EF24; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5EF24u) goto L_08A5EF24; AOT_REGCACHE_SYNC_OUT(); return; L_08A5EF24: aot_gpr_5 = (ctx.gpr[3] | 0u); @@ -7291,7 +7292,7 @@ L_08A5EF24: aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08A5EF38u); ctx.gpr[6] = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5EF38u) goto L_08A5EF38; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5EF38u) goto L_08A5EF38; AOT_REGCACHE_SYNC_OUT(); return; L_08A5EF38: aot_gpr_5 = (ctx.gpr[17] | 0u); @@ -7299,7 +7300,7 @@ L_08A5EF38: aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A5EF4Cu); ctx.gpr[6] = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5EF4Cu) goto L_08A5EF4C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B6256C, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5EF4Cu) goto L_08A5EF4C; AOT_REGCACHE_SYNC_OUT(); return; L_08A5EF4C: { const bool branch_taken = static_cast(aot_gpr_2) >= 0; @@ -7314,7 +7315,7 @@ L_08A5EF54: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); aot_gpr_31 = (0x08A5EF64u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5EF64u) goto L_08A5EF64; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5EF64u) goto L_08A5EF64; AOT_REGCACHE_SYNC_OUT(); return; L_08A5EF64: aot_gpr_5 = (ctx.gpr[3] | 0u); @@ -7322,13 +7323,13 @@ L_08A5EF64: aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08A5EF78u); ctx.gpr[6] = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5EF78u) goto L_08A5EF78; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5EF78u) goto L_08A5EF78; AOT_REGCACHE_SYNC_OUT(); return; L_08A5EF78: aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08A5EF84u); aot_gpr_4 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5EF84u) goto L_08A5EF84; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B627F0, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A5EF84u) goto L_08A5EF84; AOT_REGCACHE_SYNC_OUT(); return; L_08A5EF84: { const bool branch_taken = 0u == 0u; diff --git a/profiles/vcs/generated/generated_unit_0151.cpp b/profiles/vcs/generated/generated_unit_0151.cpp index db470db..d3f8039 100644 --- a/profiles/vcs/generated/generated_unit_0151.cpp +++ b/profiles/vcs/generated/generated_unit_0151.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0151[4086] = { }; void recomp_unit_0151_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,31,23,16 fprs=12,13,14,22 gpr_occ=3084 fpr_occ=1332 gpr_total=4266 fpr_total=1878 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,31,23,6 fprs=12,13,14,22 gpr_occ=3086 fpr_occ=1332 gpr_total=4282 fpr_total=1878 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; std::uint32_t aot_gpr_23 = ctx.gpr[23]; - std::uint32_t aot_gpr_16 = ctx.gpr[16]; + std::uint32_t aot_gpr_6 = ctx.gpr[6]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_14 = ctx.fpr[14]; float aot_fpr_22 = ctx.fpr[22]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[31] = aot_gpr_31; ctx.gpr[23] = aot_gpr_23; ctx.gpr[16] = aot_gpr_16; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[22] = aot_fpr_22; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_23 = ctx.gpr[23]; aot_gpr_16 = ctx.gpr[16]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_22 = ctx.fpr[22]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[31] = aot_gpr_31; ctx.gpr[23] = aot_gpr_23; ctx.gpr[6] = aot_gpr_6; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[22] = aot_fpr_22; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_23 = ctx.gpr[23]; aot_gpr_6 = ctx.gpr[6]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_22 = ctx.fpr[22]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -854,16 +855,16 @@ L_08A60008: AOT_REGCACHE_SYNC_OUT(); return; L_08A60014: aot_gpr_4 = (ctx.gpr[18] | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A60024u); - ctx.gpr[6] = (ctx.gpr[2] | 0u); + aot_gpr_6 = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0148_entry, 148u, 902u, 0x08A57F34u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A60024u) goto L_08A60024; AOT_REGCACHE_SYNC_OUT(); return; L_08A60024: aot_gpr_4 = (aot_gpr_23 | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08A60034u); - ctx.gpr[6] = (ctx.gpr[18] | 0u); + aot_gpr_6 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0149_entry, 149u, 84u, 0x08A58628u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A60034u) goto L_08A60034; AOT_REGCACHE_SYNC_OUT(); return; L_08A60034: @@ -1064,16 +1065,16 @@ L_08A601C8: AOT_REGCACHE_SYNC_OUT(); return; L_08A601D4: aot_gpr_4 = (ctx.gpr[18] | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A601E4u); - ctx.gpr[6] = (ctx.gpr[2] | 0u); + aot_gpr_6 = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0148_entry, 148u, 902u, 0x08A57F34u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A601E4u) goto L_08A601E4; AOT_REGCACHE_SYNC_OUT(); return; L_08A601E4: aot_gpr_4 = (aot_gpr_23 | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08A601F4u); - ctx.gpr[6] = (ctx.gpr[18] | 0u); + aot_gpr_6 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0149_entry, 149u, 84u, 0x08A58628u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A601F4u) goto L_08A601F4; AOT_REGCACHE_SYNC_OUT(); return; L_08A601F4: @@ -1108,16 +1109,16 @@ L_08A60234: AOT_REGCACHE_SYNC_OUT(); return; L_08A6023C: aot_gpr_4 = (ctx.gpr[17] | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A6024Cu); - ctx.gpr[6] = (ctx.gpr[2] | 0u); + aot_gpr_6 = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0148_entry, 148u, 902u, 0x08A57F34u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A6024Cu) goto L_08A6024C; AOT_REGCACHE_SYNC_OUT(); return; L_08A6024C: aot_gpr_4 = (aot_gpr_23 | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08A6025Cu); - ctx.gpr[6] = (ctx.gpr[17] | 0u); + aot_gpr_6 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0149_entry, 149u, 84u, 0x08A58628u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A6025Cu) goto L_08A6025C; AOT_REGCACHE_SYNC_OUT(); return; L_08A6025C: @@ -1313,16 +1314,16 @@ L_08A603E8: AOT_REGCACHE_SYNC_OUT(); return; L_08A603F4: aot_gpr_4 = (ctx.gpr[19] | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A60404u); - ctx.gpr[6] = (ctx.gpr[2] | 0u); + aot_gpr_6 = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0148_entry, 148u, 902u, 0x08A57F34u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A60404u) goto L_08A60404; AOT_REGCACHE_SYNC_OUT(); return; L_08A60404: aot_gpr_4 = (aot_gpr_23 | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08A60414u); - ctx.gpr[6] = (ctx.gpr[19] | 0u); + aot_gpr_6 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0149_entry, 149u, 84u, 0x08A58628u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A60414u) goto L_08A60414; AOT_REGCACHE_SYNC_OUT(); return; L_08A60414: @@ -1371,16 +1372,16 @@ L_08A60480: AOT_REGCACHE_SYNC_OUT(); return; L_08A60488: aot_gpr_4 = (ctx.gpr[18] | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A60498u); - ctx.gpr[6] = (ctx.gpr[2] | 0u); + aot_gpr_6 = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0148_entry, 148u, 902u, 0x08A57F34u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A60498u) goto L_08A60498; AOT_REGCACHE_SYNC_OUT(); return; L_08A60498: aot_gpr_4 = (aot_gpr_23 | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08A604A8u); - ctx.gpr[6] = (ctx.gpr[18] | 0u); + aot_gpr_6 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0149_entry, 149u, 84u, 0x08A58628u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A604A8u) goto L_08A604A8; AOT_REGCACHE_SYNC_OUT(); return; L_08A604A8: @@ -1392,7 +1393,7 @@ L_08A604A8: ctx.fpr[26] = std::bit_cast(aot_run_words[3]); ctx.fpr[28] = std::bit_cast(aot_run_words[4]); ctx.fpr[30] = std::bit_cast(aot_run_words[5]); - aot_gpr_16 = aot_run_words[6]; + ctx.gpr[16] = aot_run_words[6]; ctx.gpr[17] = aot_run_words[7]; ctx.gpr[18] = aot_run_words[8]; ctx.gpr[19] = aot_run_words[9]; @@ -1411,11 +1412,11 @@ L_08A604A8: AOT_REGCACHE_SYNC_OUT(); return; L_08A604F0: aot_gpr_29 = (aot_gpr_29 + static_cast(-96)); - { const std::uint32_t aot_run_words[11]{std::bit_cast(ctx.fpr[20]), std::bit_cast(aot_fpr_22), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; + { const std::uint32_t aot_run_words[11]{std::bit_cast(ctx.fpr[20]), std::bit_cast(aot_fpr_22), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(52), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.gpr[17] = (aot_gpr_5 & 255u); - ctx.gpr[18] = (aot_gpr_16 + static_cast(320)); + ctx.gpr[18] = (ctx.gpr[16] + static_cast(320)); { const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -1425,7 +1426,7 @@ L_08A604F0: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_4 = (aot_gpr_16 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(16)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -1465,7 +1466,7 @@ L_08A60554: goto L_08A60580; } L_08A60580: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A6058Cu); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 5u, 0x08B00044u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A6058Cu) goto L_08A6058C; @@ -1492,12 +1493,12 @@ L_08A605A4: aot_gpr_5 = (0u < ctx.gpr[2] ? 1u : 0u); aot_gpr_5 = (aot_gpr_5 & 255u); aot_gpr_31 = (0x08A605B4u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 5u, 0x08B00044u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A605B4u) goto L_08A605B4; AOT_REGCACHE_SYNC_OUT(); return; L_08A605B4: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), std::bit_cast(ctx.fpr[26])); - ctx.fpr[26] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(848))); + ctx.fpr[26] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(848))); aot_gpr_31 = (0x08A605C4u); aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A605C4u) goto L_08A605C4; @@ -1510,7 +1511,7 @@ L_08A605C4: L_08A605CC: aot_gpr_4 = (0u - ctx.gpr[2]); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(848))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(848))); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); { const float fs = aot_fpr_12; const float ft = ctx.fpr[24]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[15] = std::bit_cast(0x7FC00000u); else ctx.fpr[15] = fs * ft; } @@ -1519,11 +1520,11 @@ L_08A605CC: { const float fs = aot_fpr_13; const float ft = aot_fpr_22; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } { const float fs = aot_fpr_13; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_fpr_13 = ctx.fpr[26] + aot_fpr_13; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(848), std::bit_cast(aot_fpr_13)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(848), std::bit_cast(aot_fpr_13)); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 <= aot_fpr_12)) ? 0x00800000u : 0u); ctx.fpr[26] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(48))); if (!((ctx.fcr31 & 0x00800000u) != 0u)) { - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(848))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(848))); goto L_08A6060C; } goto L_08A6060C; @@ -1539,8 +1540,8 @@ L_08A6060C: goto L_08A60624; L_08A60624: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), std::bit_cast(ctx.fpr[26])); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(848), std::bit_cast(aot_fpr_13)); - ctx.fpr[26] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1524))); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(848), std::bit_cast(aot_fpr_13)); + ctx.fpr[26] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1524))); aot_gpr_31 = (0x08A60638u); aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A60638u) goto L_08A60638; @@ -1553,7 +1554,7 @@ L_08A60638: L_08A60640: aot_gpr_4 = (0u - ctx.gpr[2]); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1524))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1524))); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); { const float fs = aot_fpr_12; const float ft = ctx.fpr[24]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } @@ -1561,11 +1562,11 @@ L_08A60640: { const float fs = aot_fpr_12; const float ft = aot_fpr_22; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } { const float fs = aot_fpr_12; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = ctx.fpr[26] + aot_fpr_12; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(1524), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(1524), std::bit_cast(aot_fpr_12)); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[20])) ? 0x00800000u : 0u); ctx.fpr[26] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(48))); if (!((ctx.fcr31 & 0x00800000u) != 0u)) { - ctx.fpr[20] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1524))); + ctx.fpr[20] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1524))); goto L_08A6067C; } goto L_08A6067C; @@ -1580,7 +1581,7 @@ L_08A6067C: } goto L_08A60694; L_08A60694: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(1524), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(1524), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08A606A0u); aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A606A0u) goto L_08A606A0; @@ -1689,7 +1690,7 @@ L_08A60764: aot_fpr_12 = aot_fpr_12 / ctx.fpr[30]; aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08A6077Cu); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(604), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(604), std::bit_cast(aot_fpr_12)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A6077Cu) goto L_08A6077C; AOT_REGCACHE_SYNC_OUT(); return; L_08A6077C: @@ -1702,18 +1703,18 @@ L_08A60784: aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_fpr_12 = aot_fpr_12 / ctx.fpr[30]; aot_gpr_4 = (0u | 1u); - aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(1384), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store16(ctx.gpr[16] + static_cast(1384), static_cast(aot_gpr_4)); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(608), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(608), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_08A6080C; } goto L_08A607A0; } L_08A607A0: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(604), std::bit_cast(ctx.fpr[20])); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(604), std::bit_cast(ctx.fpr[20])); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(608), std::bit_cast(ctx.fpr[26])); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(608), std::bit_cast(ctx.fpr[26])); if (branch_taken) { goto L_08A6080C; } @@ -1740,19 +1741,19 @@ L_08A607BC: goto L_08A607CC; } L_08A607CC: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(604), std::bit_cast(ctx.fpr[20])); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(604), std::bit_cast(ctx.fpr[20])); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(608), std::bit_cast(ctx.fpr[26])); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(608), std::bit_cast(ctx.fpr[26])); if (branch_taken) { goto L_08A6080C; } goto L_08A607D8; } L_08A607D8: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(604), std::bit_cast(ctx.fpr[26])); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(604), std::bit_cast(ctx.fpr[26])); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20]) ^ 0x80000000u); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(608), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(608), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_08A6080C; } @@ -1769,29 +1770,29 @@ L_08A607E8: goto L_08A607F8; } L_08A607F8: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(604), std::bit_cast(ctx.fpr[26])); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(604), std::bit_cast(ctx.fpr[26])); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(608), std::bit_cast(ctx.fpr[20])); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(608), std::bit_cast(ctx.fpr[20])); if (branch_taken) { goto L_08A6080C; } goto L_08A60804; } L_08A60804: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(604), std::bit_cast(ctx.fpr[20])); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(608), std::bit_cast(ctx.fpr[26])); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(604), std::bit_cast(ctx.fpr[20])); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(608), std::bit_cast(ctx.fpr[26])); goto L_08A6080C; L_08A6080C: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(848))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(848))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[26])) ? 0x00800000u : 0u); // nop if (((ctx.fcr31 & 0x00800000u) != 0u)) { - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(848))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(848))); goto L_08A60830; } goto L_08A60820; L_08A60820: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(848))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(848))); { const float fs = aot_fpr_12; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7172), std::bit_cast(aot_fpr_12)); @@ -1806,7 +1807,7 @@ L_08A60830: aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7172), std::bit_cast(aot_fpr_12)); goto L_08A6083C; L_08A6083C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(352))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(352))); aot_gpr_5 = (16457u << 16u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(104))); aot_gpr_4 = (aot_gpr_5 | 4059u); @@ -1816,11 +1817,11 @@ L_08A6083C: aot_fpr_14 = std::bit_cast(aot_gpr_4); aot_fpr_12 = aot_fpr_12 / aot_fpr_14; ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7172))); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(614)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(614)))))); aot_gpr_4 = (aot_gpr_4 & 16u); { const float fs = ctx.fpr[15]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } { const bool branch_taken = aot_gpr_4 == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(600), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(600), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_08A60908; } @@ -1841,7 +1842,7 @@ L_08A60878: L_08A60890: aot_gpr_4 = (16256u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(604), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(604), std::bit_cast(aot_fpr_12)); goto L_08A6089C; L_08A6089C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); @@ -1857,10 +1858,10 @@ L_08A6089C: goto L_08A608B8; } L_08A608B8: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(608), std::bit_cast(ctx.fpr[26])); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(608), std::bit_cast(ctx.fpr[26])); goto L_08A608BC; L_08A608BC: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A608C8u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 5u, 0x08B00044u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A608C8u) goto L_08A608C8; @@ -1877,23 +1878,23 @@ L_08A608C8: } L_08A608D8: aot_gpr_4 = (15779u << 16u); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(600))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(600))); aot_gpr_4 = (aot_gpr_4 | 55050u); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(600), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(600), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_08A60908; } goto L_08A608F4; } L_08A608F4: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(600))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(600))); aot_gpr_4 = (aot_gpr_4 | 49807u); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(600), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(600), std::bit_cast(aot_fpr_12)); goto L_08A60908; L_08A60908: aot_gpr_31 = (0x08A60910u); @@ -1924,7 +1925,7 @@ L_08A60924: goto L_08A60930; } L_08A60930: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(860))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(860))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -1951,7 +1952,7 @@ L_08A60948: goto L_08A60954; } L_08A60954: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(860))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(860))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -1963,13 +1964,13 @@ L_08A60960: aot_gpr_4 = (16256u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_5 = (0u | 1u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A60978u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(608), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(608), std::bit_cast(aot_fpr_12)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 5u, 0x08B00044u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A60978u) goto L_08A60978; AOT_REGCACHE_SYNC_OUT(); return; L_08A60978: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(604), std::bit_cast(ctx.fpr[26])); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(604), std::bit_cast(ctx.fpr[26])); aot_gpr_5 = (16015u << 16u); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7080))); aot_gpr_5 = (aot_gpr_5 | 23593u); @@ -2033,7 +2034,7 @@ L_08A609C4: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_31 = (0x08A609E8u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 538u, 0x08A666C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A609E8u) goto L_08A609E8; AOT_REGCACHE_SYNC_OUT(); return; L_08A609E8: @@ -2045,7 +2046,7 @@ L_08A609E8: ctx.fpr[26] = std::bit_cast(aot_run_words[3]); ctx.fpr[28] = std::bit_cast(aot_run_words[4]); ctx.fpr[30] = std::bit_cast(aot_run_words[5]); - aot_gpr_16 = aot_run_words[6]; + ctx.gpr[16] = aot_run_words[6]; ctx.gpr[17] = aot_run_words[7]; ctx.gpr[18] = aot_run_words[8]; ctx.gpr[19] = aot_run_words[9]; @@ -2059,7 +2060,7 @@ L_08A609E8: AOT_REGCACHE_SYNC_OUT(); return; L_08A60A1C: aot_gpr_29 = (aot_gpr_29 + static_cast(-2704)); - { const std::uint32_t aot_run_words[16]{std::bit_cast(ctx.fpr[20]), std::bit_cast(aot_fpr_22), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_23, ctx.gpr[30], aot_gpr_31}; + { const std::uint32_t aot_run_words[16]{std::bit_cast(ctx.fpr[20]), std::bit_cast(aot_fpr_22), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_23, ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(2640), aot_run_words); } aot_gpr_31 = (0x08A60A68u); aot_gpr_23 = (aot_gpr_4 | 0u); @@ -2075,14 +2076,14 @@ L_08A60A68: ctx.fpr[20] = std::bit_cast(aot_gpr_5); aot_gpr_5 = (16256u << 16u); aot_fpr_22 = std::bit_cast(0u); - ctx.gpr[6] = (aot_gpr_23 + static_cast(320)); + aot_gpr_6 = (aot_gpr_23 + static_cast(320)); ctx.fpr[24] = std::bit_cast(aot_gpr_5); ctx.gpr[18] = (aot_gpr_23 + static_cast(16)); ctx.gpr[20] = (0u | 1u); ctx.gpr[19] = (0u | 2u); ctx.gpr[17] = (0u | 191u); { const bool branch_taken = aot_gpr_4 == 0u; - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(2624), ctx.gpr[6]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(2624), aot_gpr_6); if (branch_taken) { goto L_08A60D28; } @@ -2139,7 +2140,7 @@ L_08A60AD0: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(340), std::bit_cast(ctx.fpr[16])); ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_23 + static_cast(1192))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(344), std::bit_cast(ctx.fpr[16])); - aot_gpr_16 = (aot_gpr_29 + static_cast(336)); + ctx.gpr[16] = (aot_gpr_29 + static_cast(336)); ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_23 + static_cast(1240))); ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-5888))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[16] < ctx.fpr[15])) ? 0x00800000u : 0u); @@ -2158,7 +2159,7 @@ L_08A60B58: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(388), std::bit_cast(aot_fpr_14)); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_23 + static_cast(1160))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(392), std::bit_cast(aot_fpr_14)); - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -2210,7 +2211,7 @@ L_08A60B58: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } goto L_08A60BA8; @@ -2232,7 +2233,7 @@ L_08A60BA8: const std::uint32_t vfpu_address = ctx.gpr[21] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A60BCCu); aot_gpr_5 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A60BCCu) goto L_08A60BCC; @@ -2240,7 +2241,7 @@ L_08A60BA8: L_08A60BCC: { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_22), std::bit_cast(aot_fpr_22), std::bit_cast(ctx.fpr[20])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(304), aot_run_words); } - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -2266,7 +2267,7 @@ L_08A60BCC: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_22), std::bit_cast(aot_fpr_22), std::bit_cast(aot_fpr_22)}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(320), aot_run_words); } - ctx.gpr[6] = (aot_gpr_29 + static_cast(320)); + aot_gpr_6 = (aot_gpr_29 + static_cast(320)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-5776))); aot_gpr_4 = (0u | 66u); aot_gpr_5 = (ctx.gpr[21] | 0u); @@ -2281,11 +2282,11 @@ L_08A60BCC: L_08A60C20: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_23 + static_cast(1272))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_23 + static_cast(1272))); ctx.gpr[7] = (aot_gpr_23 + static_cast(1277)); aot_gpr_4 = (aot_gpr_23 | 0u); aot_gpr_31 = (0x08A60C3Cu); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 70u, 0x08B205BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A60C3Cu) goto L_08A60C3C; AOT_REGCACHE_SYNC_OUT(); return; L_08A60C3C: @@ -2326,7 +2327,7 @@ L_08A60C60: L_08A60C68: { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_22), std::bit_cast(aot_fpr_22), std::bit_cast(ctx.fpr[20])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(416), aot_run_words); } - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -2356,7 +2357,7 @@ L_08A60C68: ctx.gpr[22] = (aot_gpr_29 + static_cast(432)); aot_gpr_4 = (0u | 67u); aot_gpr_5 = (ctx.gpr[21] | 0u); - ctx.gpr[6] = (ctx.gpr[22] | 0u); + aot_gpr_6 = (ctx.gpr[22] | 0u); ctx.gpr[7] = (0u | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_22)); ctx.gpr[8] = (0u | 0u); @@ -2369,7 +2370,7 @@ L_08A60C68: L_08A60CC4: { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_22), std::bit_cast(aot_fpr_22), std::bit_cast(ctx.fpr[20])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(416), aot_run_words); } - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -2400,7 +2401,7 @@ L_08A60CC4: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(408), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (0u | 67u); aot_gpr_5 = (ctx.gpr[22] | 0u); - ctx.gpr[6] = (ctx.gpr[21] | 0u); + aot_gpr_6 = (ctx.gpr[21] | 0u); ctx.gpr[7] = (0u | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_22)); ctx.gpr[8] = (0u | 0u); @@ -2510,7 +2511,7 @@ L_08A60D40: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_23 + static_cast(1272))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_23 + static_cast(1272))); ctx.gpr[7] = (aot_gpr_23 + static_cast(1277)); aot_gpr_31 = (0x08A60DF4u); aot_gpr_4 = (aot_gpr_23 | 0u); @@ -2536,12 +2537,12 @@ L_08A60E04: goto L_08A60E14; L_08A60E14: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_23 + static_cast(76))); - ctx.gpr[6] = (16320u << 16u); - aot_gpr_5 = (aot_gpr_5 & ctx.gpr[6]); + aot_gpr_6 = (16320u << 16u); + aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); aot_gpr_5 = (aot_gpr_5 >> 22u); - ctx.gpr[6] = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7649))); + aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7649))); aot_gpr_5 = (aot_gpr_5 & 63u); - aot_gpr_5 = (static_cast(aot_gpr_5) < static_cast(ctx.gpr[6]) ? 1u : 0u); + aot_gpr_5 = (static_cast(aot_gpr_5) < static_cast(aot_gpr_6) ? 1u : 0u); if (aot_gpr_5 != 0u) { aot_gpr_4 = (ctx.gpr[20] | 0u); goto L_08A60F00; @@ -2558,9 +2559,9 @@ L_08A60E3C: } goto L_08A60E48; L_08A60E48: - ctx.gpr[6] = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7648))); - ctx.gpr[6] = (static_cast(ctx.gpr[6]) < 8 ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7648))); + aot_gpr_6 = (static_cast(aot_gpr_6) < 8 ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_5 = (16320u << 16u); if (branch_taken) { goto L_08A60E78; @@ -2568,27 +2569,27 @@ L_08A60E48: goto L_08A60E58; } L_08A60E58: - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_23 + static_cast(76))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_23 + static_cast(76))); ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7649))); - ctx.gpr[6] = (ctx.gpr[6] & aot_gpr_5); - ctx.gpr[6] = (ctx.gpr[6] >> 22u); - ctx.gpr[6] = (ctx.gpr[6] & 63u); - ctx.gpr[6] = (static_cast(ctx.gpr[7]) < static_cast(ctx.gpr[6]) ? 1u : 0u); - if (ctx.gpr[6] != 0u) { + aot_gpr_6 = (aot_gpr_6 & aot_gpr_5); + aot_gpr_6 = (aot_gpr_6 >> 22u); + aot_gpr_6 = (aot_gpr_6 & 63u); + aot_gpr_6 = (static_cast(ctx.gpr[7]) < static_cast(aot_gpr_6) ? 1u : 0u); + if (aot_gpr_6 != 0u) { aot_gpr_4 = (ctx.gpr[20] | 0u); goto L_08A60F00; } goto L_08A60E78; L_08A60E78: - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_23 + static_cast(76))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_23 + static_cast(76))); ctx.gpr[7] = (18243u << 16u); - ctx.gpr[6] = (ctx.gpr[6] & aot_gpr_5); - ctx.gpr[6] = (ctx.gpr[6] >> 22u); - aot_fpr_13 = std::bit_cast(ctx.gpr[6]); + aot_gpr_6 = (aot_gpr_6 & aot_gpr_5); + aot_gpr_6 = (aot_gpr_6 >> 22u); + aot_fpr_13 = std::bit_cast(aot_gpr_6); ctx.gpr[7] = (ctx.gpr[7] | 20480u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7900))); aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_13))); - { const bool branch_taken = static_cast(ctx.gpr[6]) >= 0; + { const bool branch_taken = static_cast(aot_gpr_6) >= 0; aot_fpr_14 = std::bit_cast(ctx.gpr[7]); if (branch_taken) { goto L_08A60EAC; @@ -2596,8 +2597,8 @@ L_08A60E78: goto L_08A60EA0; } L_08A60EA0: - ctx.gpr[6] = (20352u << 16u); - ctx.fpr[15] = std::bit_cast(ctx.gpr[6]); + aot_gpr_6 = (20352u << 16u); + ctx.fpr[15] = std::bit_cast(aot_gpr_6); aot_fpr_13 = aot_fpr_13 + ctx.fpr[15]; goto L_08A60EAC; L_08A60EAC: @@ -2610,9 +2611,9 @@ L_08A60EAC: } goto L_08A60EC0; L_08A60EC0: - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_23 + static_cast(76))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_23 + static_cast(76))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7888))); - aot_gpr_5 = (ctx.gpr[6] & aot_gpr_5); + aot_gpr_5 = (aot_gpr_6 & aot_gpr_5); aot_gpr_5 = (aot_gpr_5 >> 22u); aot_fpr_13 = std::bit_cast(aot_gpr_5); { const bool branch_taken = static_cast(aot_gpr_5) >= 0; @@ -2655,9 +2656,9 @@ L_08A60F00: } L_08A60F18: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_23 + static_cast(72))); - ctx.gpr[6] = (0u | 80u); + aot_gpr_6 = (0u | 80u); aot_gpr_5 = (aot_gpr_5 & 496u); - { const bool branch_taken = aot_gpr_5 == ctx.gpr[6]; + { const bool branch_taken = aot_gpr_5 == aot_gpr_6; // nop if (branch_taken) { goto L_08A60FE0; @@ -2666,9 +2667,9 @@ L_08A60F18: } L_08A60F2C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_23 + static_cast(72))); - ctx.gpr[6] = (0u | 64u); + aot_gpr_6 = (0u | 64u); aot_gpr_5 = (aot_gpr_5 & 496u); - { const bool branch_taken = aot_gpr_5 == ctx.gpr[6]; + { const bool branch_taken = aot_gpr_5 == aot_gpr_6; // nop if (branch_taken) { goto L_08A60F60; @@ -2677,9 +2678,9 @@ L_08A60F2C: } L_08A60F40: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_23 + static_cast(613)))))); - ctx.gpr[6] = (0u + static_cast(-65)); + aot_gpr_6 = (0u + static_cast(-65)); aot_gpr_4 = (aot_gpr_4 & 1u); - aot_gpr_5 = (aot_gpr_5 & ctx.gpr[6]); + aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); aot_gpr_4 = (aot_gpr_4 << 6u); aot_gpr_4 = (aot_gpr_5 | aot_gpr_4); { const bool branch_taken = 0u == 0u; @@ -2705,9 +2706,9 @@ L_08A60F70: aot_gpr_5 = (aot_gpr_23 + static_cast(48)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); - ctx.gpr[6] = (17096u << 16u); + aot_gpr_6 = (17096u << 16u); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; - aot_fpr_14 = std::bit_cast(ctx.gpr[6]); + aot_fpr_14 = std::bit_cast(aot_gpr_6); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_22)) ? 0x00800000u : 0u); // nop if (((ctx.fcr31 & 0x00800000u) != 0u)) { @@ -2744,10 +2745,10 @@ L_08A60FD0: aot_mem.aot_direct_store8(aot_gpr_23 + static_cast(613), static_cast(aot_gpr_4)); goto L_08A60FE0; L_08A60FE0: - ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_23 + static_cast(558))); + aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_23 + static_cast(558))); ctx.gpr[30] = (0u | 0u); aot_gpr_4 = (0u | 0u); - { const bool branch_taken = ctx.gpr[6] == 0u; + { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_5 = (0u | 0u); if (branch_taken) { goto L_08A6101C; @@ -2755,18 +2756,18 @@ L_08A60FE0: goto L_08A60FF4; } L_08A60FF4: - ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_23 + static_cast(558))); + aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_23 + static_cast(558))); ctx.gpr[7] = (0u | 65535u); - if (ctx.gpr[6] == ctx.gpr[7]) { + if (aot_gpr_6 == ctx.gpr[7]) { aot_gpr_5 = (aot_gpr_5 & 255u); goto L_08A61020; } goto L_08A61004; L_08A61004: - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_23 + static_cast(72))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_23 + static_cast(72))); ctx.gpr[7] = (0u | 80u); - ctx.gpr[6] = (ctx.gpr[6] & 496u); - { const bool branch_taken = ctx.gpr[6] == ctx.gpr[7]; + aot_gpr_6 = (aot_gpr_6 & 496u); + { const bool branch_taken = aot_gpr_6 == ctx.gpr[7]; aot_gpr_5 = (aot_gpr_5 & 255u); if (branch_taken) { goto L_08A61020; @@ -2914,7 +2915,7 @@ L_08A61088: ctx.execute_vfpu_unary_ct<28u, 28u, 1u, 22u>(); aot_gpr_5 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_12 = std::bit_cast(aot_gpr_5); - aot_gpr_16 = (aot_gpr_29 + static_cast(640)); + ctx.gpr[16] = (aot_gpr_29 + static_cast(640)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(2620), std::bit_cast(aot_fpr_12)); ctx.gpr[17] = (aot_gpr_29 + static_cast(672)); ctx.gpr[18] = (aot_gpr_29 + static_cast(608)); @@ -3034,7 +3035,7 @@ L_08A6118C: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (0u + static_cast(-2)); @@ -3068,7 +3069,7 @@ L_08A611D4: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(2628))); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08A611E8u); - ctx.gpr[6] = (ctx.gpr[17] | 0u); + aot_gpr_6 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 935u, 0x0885FEC8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A611E8u) goto L_08A611E8; AOT_REGCACHE_SYNC_OUT(); return; L_08A611E8: @@ -3116,7 +3117,7 @@ L_08A61220: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 7u, 0x08860358u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A6122Cu) goto L_08A6122C; AOT_REGCACHE_SYNC_OUT(); return; L_08A6122C: - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -3196,7 +3197,7 @@ L_08A61264: { const float fs = aot_fpr_12; const float ft = ctx.fpr[26]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[24] = std::bit_cast(0x7FC00000u); else ctx.fpr[24] = fs * ft; } aot_gpr_4 = (16256u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); - aot_gpr_16 = (0u | 1u); + ctx.gpr[16] = (0u | 1u); aot_gpr_4 = (aot_gpr_5 | 39322u); aot_gpr_5 = (49016u << 16u); aot_fpr_14 = std::bit_cast(aot_gpr_4); @@ -3230,16 +3231,16 @@ L_08A612B4: } L_08A612D0: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_23 + static_cast(352))); - ctx.gpr[6] = (64u << 16u); + aot_gpr_6 = (64u << 16u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(204))); aot_gpr_4 = (aot_gpr_23 + static_cast(6)); - aot_gpr_5 = (aot_gpr_5 & ctx.gpr[6]); - ctx.gpr[6] = (16281u << 16u); - ctx.gpr[6] = (ctx.gpr[6] | 39322u); - aot_fpr_12 = std::bit_cast(ctx.gpr[6]); - ctx.gpr[6] = (16948u << 16u); + aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); + aot_gpr_6 = (16281u << 16u); + aot_gpr_6 = (aot_gpr_6 | 39322u); + aot_fpr_12 = std::bit_cast(aot_gpr_6); + aot_gpr_6 = (16948u << 16u); { const bool branch_taken = aot_gpr_5 == 0u; - aot_fpr_13 = std::bit_cast(ctx.gpr[6]); + aot_fpr_13 = std::bit_cast(aot_gpr_6); if (branch_taken) { goto L_08A61344; } @@ -3248,12 +3249,12 @@ L_08A612D0: L_08A612FC: aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(1960))); ctx.fpr[15] = std::bit_cast(std::bit_cast(ctx.fpr[20])); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); { const float fs = aot_fpr_14; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), 0u); aot_gpr_5 = (0u | 150u); - ctx.gpr[6] = (0u | 150u); + aot_gpr_6 = (0u | 150u); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[28])); ctx.gpr[7] = (0u | 195u); ctx.gpr[8] = (0u | 255u); @@ -3275,12 +3276,12 @@ L_08A6133C: L_08A61344: aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(1960))); ctx.fpr[15] = std::bit_cast(std::bit_cast(ctx.fpr[20])); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); { const float fs = aot_fpr_14; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), 0u); aot_gpr_5 = (0u | 160u); - ctx.gpr[6] = (0u | 160u); + aot_gpr_6 = (0u | 160u); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[28])); ctx.gpr[7] = (0u | 140u); ctx.gpr[8] = (0u | 255u); @@ -3303,10 +3304,10 @@ L_08A6138C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_23 + static_cast(352))); aot_gpr_5 = (64u << 16u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(204))); - ctx.gpr[6] = (16968u << 16u); + aot_gpr_6 = (16968u << 16u); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); { const bool branch_taken = aot_gpr_4 == 0u; - aot_fpr_12 = std::bit_cast(ctx.gpr[6]); + aot_fpr_12 = std::bit_cast(aot_gpr_6); if (branch_taken) { goto L_08A61420; } @@ -3320,10 +3321,10 @@ L_08A613A8: aot_fpr_14 = std::bit_cast(aot_gpr_4); ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(1960))); { const float fs = ctx.fpr[24]; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_fpr_13 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[16]); aot_fpr_14 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_14)); aot_gpr_4 = (aot_gpr_23 | 0u); ctx.gpr[8] = (0u | 255u); @@ -3332,7 +3333,7 @@ L_08A613A8: { const float fs = ctx.fpr[15]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_gpr_5 = (aot_gpr_5 & 255u); ctx.gpr[7] = (std::bit_cast(aot_fpr_14)); - ctx.gpr[6] = (aot_gpr_5 | 0u); + aot_gpr_6 = (aot_gpr_5 | 0u); ctx.gpr[7] = (ctx.gpr[7] & 255u); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[28])); ctx.gpr[10] = (0u | 8u); @@ -3359,10 +3360,10 @@ L_08A61420: aot_fpr_14 = std::bit_cast(aot_gpr_4); ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(1960))); { const float fs = ctx.fpr[24]; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_fpr_13 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[16]); aot_fpr_14 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_14)); aot_gpr_4 = (aot_gpr_23 | 0u); ctx.gpr[8] = (0u | 255u); @@ -3371,7 +3372,7 @@ L_08A61420: { const float fs = ctx.fpr[15]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_gpr_5 = (aot_gpr_5 & 255u); ctx.gpr[7] = (std::bit_cast(aot_fpr_14)); - ctx.gpr[6] = (aot_gpr_5 | 0u); + aot_gpr_6 = (aot_gpr_5 | 0u); ctx.gpr[7] = (ctx.gpr[7] & 255u); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[28])); ctx.gpr[10] = (0u | 8u); @@ -3391,16 +3392,16 @@ L_08A61490: goto L_08A61498; } L_08A61498: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[26])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), 0u); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_22)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[16]); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[28])); aot_gpr_4 = (aot_gpr_23 | 0u); ctx.fpr[15] = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_gpr_5 = (0u | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (ctx.gpr[18] | 0u); @@ -3441,10 +3442,10 @@ L_08A61508: aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[19]); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(112)))))); - ctx.gpr[6] = (16256u << 16u); + aot_gpr_6 = (16256u << 16u); aot_gpr_5 = (0u | 16u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; - ctx.fpr[20] = std::bit_cast(ctx.gpr[6]); + ctx.fpr[20] = std::bit_cast(aot_gpr_6); if (branch_taken) { goto L_08A61548; } @@ -3502,9 +3503,9 @@ L_08A61548: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - ctx.gpr[6] = (aot_gpr_29 + static_cast(880)); + aot_gpr_6 = (aot_gpr_29 + static_cast(880)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } ctx.gpr[7] = (aot_gpr_29 + static_cast(688)); @@ -3534,10 +3535,10 @@ L_08A61548: AOT_REGCACHE_SYNC_OUT(); return; L_08A615A0: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_23 + static_cast(86)))))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); aot_gpr_4 = (0u | 0u); - ctx.gpr[6] = (static_cast(aot_gpr_5) < static_cast(ctx.gpr[6]) ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_6 = (static_cast(aot_gpr_5) < static_cast(aot_gpr_6) ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 == 0u; ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(2632))); if (branch_taken) { goto L_08A615C8; @@ -3667,22 +3668,22 @@ L_08A61640: } L_08A61648: aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_23 + static_cast(608))); - ctx.gpr[6] = (16320u << 16u); + aot_gpr_6 = (16320u << 16u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_14 <= aot_fpr_22)) ? 0x00800000u : 0u); aot_gpr_4 = (0u | 1u); aot_gpr_5 = (aot_gpr_23 + static_cast(14)); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); - aot_fpr_14 = std::bit_cast(ctx.gpr[6]); + aot_fpr_14 = std::bit_cast(aot_gpr_6); if (branch_taken) { goto L_08A61678; } goto L_08A61664; } L_08A61664: - ctx.gpr[6] = (16025u << 16u); + aot_gpr_6 = (16025u << 16u); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; - ctx.gpr[6] = (ctx.gpr[6] | 39322u); - ctx.fpr[15] = std::bit_cast(ctx.gpr[6]); + aot_gpr_6 = (aot_gpr_6 | 39322u); + ctx.fpr[15] = std::bit_cast(aot_gpr_6); ctx.fpr[30] = ctx.fpr[30] + ctx.fpr[15]; goto L_08A61678; L_08A61678: @@ -3700,7 +3701,7 @@ L_08A61680: { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_4 = (16968u << 16u); aot_fpr_14 = std::bit_cast(aot_gpr_4); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_4 = (aot_gpr_5 | 0u); ctx.gpr[7] = (0u | 0u); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(1960))); @@ -3740,7 +3741,7 @@ L_08A616EC: aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[28])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[2]); aot_gpr_5 = (0u | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (ctx.gpr[21] | 0u); @@ -3759,10 +3760,10 @@ L_08A61734: goto L_08A6173C; } L_08A6173C: - ctx.gpr[6] = (16968u << 16u); + aot_gpr_6 = (16968u << 16u); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[28])); aot_gpr_4 = (aot_gpr_23 + static_cast(14)); - aot_fpr_12 = std::bit_cast(ctx.gpr[6]); + aot_fpr_12 = std::bit_cast(aot_gpr_6); aot_gpr_31 = (0x08A61754u); aot_gpr_5 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0095_entry, 95u, 313u, 0x08981398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A61754u) goto L_08A61754; @@ -3806,9 +3807,9 @@ L_08A61754: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - ctx.gpr[6] = (aot_gpr_29 + static_cast(544)); + aot_gpr_6 = (aot_gpr_29 + static_cast(544)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (aot_gpr_23 + static_cast(976)); @@ -3855,9 +3856,9 @@ L_08A617B8: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_16 = (aot_gpr_29 + static_cast(576)); + ctx.gpr[16] = (aot_gpr_29 + static_cast(576)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (aot_gpr_29 + static_cast(688)); @@ -3895,14 +3896,14 @@ L_08A6180C: ctx.fpr[28] = std::bit_cast(aot_gpr_4); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(584))); { const float fs = aot_fpr_12; const float ft = ctx.fpr[24]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[18] = std::bit_cast(0x7FC00000u); else ctx.fpr[18] = fs * ft; } - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-5044))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-5044))); aot_gpr_4 = (16528u << 16u); aot_fpr_14 = aot_fpr_14 + ctx.fpr[28]; ctx.gpr[2] = (16608u << 16u); { const float fs = aot_fpr_12; const float ft = ctx.fpr[26]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } ctx.fpr[15] = ctx.fpr[17] + ctx.fpr[18]; aot_gpr_5 = (aot_gpr_23 + static_cast(22)); - ctx.gpr[7] = (aot_gpr_16 | 0u); + ctx.gpr[7] = (ctx.gpr[16] | 0u); ctx.fpr[16] = std::bit_cast(ctx.gpr[2]); aot_fpr_12 = aot_fpr_13 + aot_fpr_12; ctx.gpr[8] = (0u | 145u); @@ -3935,13 +3936,13 @@ L_08A618A8: ctx.fpr[17] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(580))); ctx.fpr[18] = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_fpr_12 = aot_fpr_12 - aot_fpr_14; - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-5048))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-5048))); aot_gpr_4 = (16512u << 16u); ctx.fpr[16] = std::bit_cast(aot_gpr_4); aot_gpr_5 = (aot_gpr_23 + static_cast(25)); { const float fs = aot_fpr_12; const float ft = ctx.fpr[24]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_gpr_4 = (aot_gpr_23 | 0u); - ctx.gpr[7] = (aot_gpr_16 | 0u); + ctx.gpr[7] = (ctx.gpr[16] | 0u); ctx.gpr[8] = (0u | 40u); { const float fs = aot_fpr_12; const float ft = ctx.fpr[26]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } ctx.gpr[9] = (0u | 0u); @@ -4011,7 +4012,7 @@ L_08A6196C: { const float fs = ctx.fpr[26]; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_gpr_4 = (aot_gpr_4 | 23592u); aot_fpr_14 = std::bit_cast(aot_gpr_4); - aot_gpr_16 = (aot_gpr_29 + static_cast(944)); + ctx.gpr[16] = (aot_gpr_29 + static_cast(944)); aot_gpr_4 = (16800u << 16u); aot_fpr_13 = ctx.fpr[24] + aot_fpr_13; ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 < aot_fpr_14)) ? 0x00800000u : 0u); @@ -4047,9 +4048,9 @@ L_08A619A0: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - ctx.gpr[6] = (aot_gpr_29 + static_cast(976)); + aot_gpr_6 = (aot_gpr_29 + static_cast(976)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (0u | 1u); @@ -4093,9 +4094,9 @@ L_08A619DC: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - ctx.gpr[6] = (aot_gpr_29 + static_cast(1008)); + aot_gpr_6 = (aot_gpr_29 + static_cast(1008)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (0u | 1u); @@ -4161,7 +4162,7 @@ L_08A61A10: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_23 + static_cast(608))); @@ -4175,7 +4176,7 @@ L_08A61A10: goto L_08A61A60; } L_08A61A60: - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -4191,7 +4192,7 @@ L_08A61A60: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_22), std::bit_cast(aot_fpr_22), std::bit_cast(aot_fpr_22)}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(1040), aot_run_words); } - ctx.gpr[6] = (aot_gpr_29 + static_cast(1040)); + aot_gpr_6 = (aot_gpr_29 + static_cast(1040)); aot_gpr_4 = (16672u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (0u | 0u); @@ -4212,7 +4213,7 @@ L_08A61AA0: goto L_08A61AA8; } L_08A61AA8: - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -4228,7 +4229,7 @@ L_08A61AA8: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_22), std::bit_cast(aot_fpr_22), std::bit_cast(aot_fpr_22)}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(1072), aot_run_words); } - ctx.gpr[6] = (aot_gpr_29 + static_cast(1072)); + aot_gpr_6 = (aot_gpr_29 + static_cast(1072)); aot_gpr_4 = (16608u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (16153u << 16u); @@ -4328,14 +4329,14 @@ L_08A61B6C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0149_entry, 149u, 312u, 0x08A595C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A61B74u) goto L_08A61B74; AOT_REGCACHE_SYNC_OUT(); return; L_08A61B74: - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_23 + static_cast(86)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_23 + static_cast(86)))))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); aot_gpr_5 = (0u | 0u); - ctx.gpr[7] = (static_cast(ctx.gpr[6]) < static_cast(aot_gpr_4) ? 1u : 0u); + ctx.gpr[7] = (static_cast(aot_gpr_6) < static_cast(aot_gpr_4) ? 1u : 0u); aot_gpr_4 = (2236u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(32304)); { const bool branch_taken = ctx.gpr[7] == 0u; - aot_gpr_16 = (aot_gpr_29 + static_cast(1104)); + ctx.gpr[16] = (aot_gpr_29 + static_cast(1104)); if (branch_taken) { goto L_08A61BA4; } @@ -4343,8 +4344,8 @@ L_08A61B74: } L_08A61B94: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); - ctx.gpr[6] = (ctx.gpr[6] << 2u); - aot_gpr_5 = (aot_gpr_5 + ctx.gpr[6]); + aot_gpr_6 = (aot_gpr_6 << 2u); + aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); goto L_08A61BA4; L_08A61BA4: @@ -4359,10 +4360,10 @@ L_08A61BA4: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -4425,7 +4426,7 @@ L_08A61BA4: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_23 + static_cast(608))); @@ -4553,9 +4554,9 @@ L_08A61C74: } L_08A61C88: aot_gpr_5 = (aot_gpr_23 + static_cast(14)); - ctx.gpr[6] = (16281u << 16u); - ctx.gpr[6] = (ctx.gpr[6] | 39322u); - aot_fpr_12 = std::bit_cast(ctx.gpr[6]); + aot_gpr_6 = (16281u << 16u); + aot_gpr_6 = (aot_gpr_6 | 39322u); + aot_fpr_12 = std::bit_cast(aot_gpr_6); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1960))); aot_gpr_4 = (16968u << 16u); aot_fpr_14 = std::bit_cast(aot_gpr_4); @@ -4565,10 +4566,10 @@ L_08A61C88: ctx.fpr[15] = std::bit_cast(aot_gpr_4); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (0u | 120u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 255u); - ctx.gpr[9] = (aot_gpr_16 | 0u); + ctx.gpr[9] = (ctx.gpr[16] | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[11] = (0u | 0u); { const std::uint32_t aot_run_words[3]{ctx.gpr[2], 0u, ctx.gpr[2]}; @@ -4579,7 +4580,7 @@ L_08A61C88: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0095_entry, 95u, 311u, 0x08981324u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A61CECu) goto L_08A61CEC; AOT_REGCACHE_SYNC_OUT(); return; L_08A61CEC: - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -4617,9 +4618,9 @@ L_08A61CEC: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - ctx.gpr[6] = (aot_gpr_29 + static_cast(1184)); + aot_gpr_6 = (aot_gpr_29 + static_cast(1184)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } ctx.gpr[7] = (aot_gpr_23 + static_cast(976)); @@ -4663,7 +4664,7 @@ L_08A61D4C: aot_gpr_4 = (aot_gpr_23 + static_cast(14)); { const float fs = aot_fpr_12; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_31 = (0x08A61D6Cu); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0095_entry, 95u, 313u, 0x08981398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A61D6Cu) goto L_08A61D6C; AOT_REGCACHE_SYNC_OUT(); return; L_08A61D6C: @@ -4682,7 +4683,7 @@ L_08A61D74: aot_gpr_4 = (aot_gpr_23 + static_cast(14)); { const float fs = aot_fpr_12; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_31 = (0x08A61D94u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0095_entry, 95u, 313u, 0x08981398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A61D94u) goto L_08A61D94; AOT_REGCACHE_SYNC_OUT(); return; L_08A61D94: @@ -4819,9 +4820,9 @@ L_08A61E80: } L_08A61EA4: aot_gpr_5 = (ctx.gpr[20] << 5u); - aot_gpr_16 = (aot_gpr_23 + aot_gpr_5); - aot_gpr_16 = (aot_gpr_16 + static_cast(1088)); - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(30))); + ctx.gpr[16] = (aot_gpr_23 + aot_gpr_5); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(1088)); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(30))); { const bool branch_taken = aot_gpr_5 == ctx.gpr[9]; // nop if (branch_taken) { @@ -4830,9 +4831,9 @@ L_08A61EA4: goto L_08A61EBC; } L_08A61EBC: - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(30))); - ctx.gpr[6] = (0u | 4u); - { const bool branch_taken = aot_gpr_5 == ctx.gpr[6]; + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(30))); + aot_gpr_6 = (0u | 4u); + { const bool branch_taken = aot_gpr_5 == aot_gpr_6; // nop if (branch_taken) { goto L_08A620F0; @@ -4840,9 +4841,9 @@ L_08A61EBC: goto L_08A61ECC; } L_08A61ECC: - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(30))); - ctx.gpr[6] = (0u | 18u); - { const bool branch_taken = aot_gpr_5 == ctx.gpr[6]; + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(30))); + aot_gpr_6 = (0u | 18u); + { const bool branch_taken = aot_gpr_5 == aot_gpr_6; // nop if (branch_taken) { goto L_08A620F0; @@ -4850,7 +4851,7 @@ L_08A61ECC: goto L_08A61EDC; } L_08A61EDC: - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(30))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(30))); { const bool branch_taken = aot_gpr_5 == ctx.gpr[7]; // nop if (branch_taken) { @@ -4859,11 +4860,11 @@ L_08A61EDC: goto L_08A61EE8; } L_08A61EE8: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(16))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1216), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(20))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1220), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(24))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1224), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_gpr_29 + static_cast(1216)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); @@ -4887,11 +4888,11 @@ L_08A61EE8: ctx.execute_vfpu_vdot_ct<28u, 0u, 1u, 3u>(); aot_gpr_5 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_12 = std::bit_cast(aot_gpr_5); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(16))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1216), std::bit_cast(aot_fpr_13)); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(20))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1220), std::bit_cast(aot_fpr_13)); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(24))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1224), std::bit_cast(aot_fpr_13)); aot_gpr_5 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_5); @@ -4933,17 +4934,17 @@ L_08A61EE8: const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1296), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1300), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1304), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1248), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1252), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1256), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (std::bit_cast(ctx.fpr[30])); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); @@ -4963,7 +4964,7 @@ L_08A61EE8: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_5 = (aot_gpr_29 + static_cast(1248)); aot_gpr_4 = (0u | 1u); - ctx.gpr[6] = (ctx.gpr[30] | 0u); + aot_gpr_6 = (ctx.gpr[30] | 0u); ctx.gpr[7] = (0u | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_22)); ctx.gpr[8] = (0u | 0u); @@ -4985,11 +4986,11 @@ L_08A61FC4: goto L_08A61FD8; } L_08A61FD8: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1312), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1316), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1320), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (std::bit_cast(ctx.fpr[30])); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); @@ -5009,7 +5010,7 @@ L_08A61FD8: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_5 = (aot_gpr_29 + static_cast(1312)); aot_gpr_4 = (0u | 1u); - ctx.gpr[6] = (ctx.gpr[22] | 0u); + aot_gpr_6 = (ctx.gpr[22] | 0u); ctx.gpr[7] = (0u | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_22)); ctx.gpr[8] = (0u | 0u); @@ -5031,11 +5032,11 @@ L_08A6202C: goto L_08A62040; } L_08A62040: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1344), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1348), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1352), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (std::bit_cast(ctx.fpr[30])); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); @@ -5055,7 +5056,7 @@ L_08A62040: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (0u | 1u); aot_gpr_5 = (ctx.gpr[21] | 0u); - ctx.gpr[6] = (ctx.gpr[19] | 0u); + aot_gpr_6 = (ctx.gpr[19] | 0u); ctx.gpr[7] = (0u | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_22)); ctx.gpr[8] = (0u | 0u); @@ -5066,11 +5067,11 @@ L_08A62040: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0062_entry, 62u, 716u, 0x088FF060u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A62094u) goto L_08A62094; AOT_REGCACHE_SYNC_OUT(); return; L_08A62094: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1344), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1348), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1352), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (std::bit_cast(ctx.fpr[30])); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); @@ -5090,7 +5091,7 @@ L_08A62094: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (0u | 1u); aot_gpr_5 = (ctx.gpr[21] | 0u); - ctx.gpr[6] = (ctx.gpr[19] | 0u); + aot_gpr_6 = (ctx.gpr[19] | 0u); ctx.gpr[7] = (0u | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_22)); ctx.gpr[8] = (0u | 0u); @@ -5151,8 +5152,8 @@ L_08A6213C: aot_gpr_4 = (aot_gpr_23 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(1088)); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(30))); - ctx.gpr[6] = (0u | 2u); - { const bool branch_taken = aot_gpr_5 == ctx.gpr[6]; + aot_gpr_6 = (0u | 2u); + { const bool branch_taken = aot_gpr_5 == aot_gpr_6; // nop if (branch_taken) { goto L_08A62180; @@ -5161,8 +5162,8 @@ L_08A6213C: } L_08A62154: aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(30))); - ctx.gpr[6] = (0u | 4u); - { const bool branch_taken = aot_gpr_5 == ctx.gpr[6]; + aot_gpr_6 = (0u | 4u); + { const bool branch_taken = aot_gpr_5 == aot_gpr_6; // nop if (branch_taken) { goto L_08A62180; @@ -5171,8 +5172,8 @@ L_08A62154: } L_08A62164: aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(30))); - ctx.gpr[6] = (0u | 18u); - { const bool branch_taken = aot_gpr_5 == ctx.gpr[6]; + aot_gpr_6 = (0u | 18u); + { const bool branch_taken = aot_gpr_5 == aot_gpr_6; // nop if (branch_taken) { goto L_08A62180; @@ -5190,7 +5191,7 @@ L_08A62174: } L_08A62180: aot_gpr_5 = (aot_gpr_4 | 0u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(2608))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(2608))); aot_gpr_31 = (0x08A62190u); aot_gpr_4 = (aot_gpr_23 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0149_entry, 149u, 544u, 0x08A5A288u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A62190u) goto L_08A62190; @@ -5225,9 +5226,9 @@ L_08A621BC: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_23 + static_cast(86)))))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(120), aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); - ctx.gpr[6] = (16128u << 16u); + aot_gpr_6 = (16128u << 16u); ctx.gpr[17] = (0u | 0u); - ctx.fpr[20] = std::bit_cast(ctx.gpr[6]); + ctx.fpr[20] = std::bit_cast(aot_gpr_6); aot_gpr_5 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_5) ? 1u : 0u); ctx.gpr[20] = (aot_gpr_29 + static_cast(48)); { const bool branch_taken = aot_gpr_5 == 0u; @@ -5355,7 +5356,7 @@ L_08A622AC: ctx.fpr[15] = aot_fpr_12 + aot_fpr_13; aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_23 + static_cast(1232))); ctx.gpr[7] = (aot_gpr_23 + static_cast(112)); - ctx.gpr[6] = (aot_gpr_23 + static_cast(144)); + aot_gpr_6 = (aot_gpr_23 + static_cast(144)); aot_gpr_5 = (aot_gpr_23 + static_cast(128)); { const float fs = ctx.fpr[15]; const float ft = ctx.fpr[20]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[15] = std::bit_cast(0x7FC00000u); else ctx.fpr[15] = fs * ft; } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); @@ -5397,7 +5398,7 @@ L_08A62300: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -5407,14 +5408,14 @@ L_08A62300: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 0u>(); - ctx.gpr[6] = (aot_gpr_29 + static_cast(2384)); + aot_gpr_6 = (aot_gpr_29 + static_cast(2384)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[16]), std::bit_cast(ctx.fpr[15]), std::bit_cast(aot_fpr_12)}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(2400), aot_run_words); } - { const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -5423,8 +5424,8 @@ L_08A62300: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } - ctx.gpr[6] = (aot_gpr_29 + static_cast(2400)); - { const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + aot_gpr_6 = (aot_gpr_29 + static_cast(2400)); + { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -5434,12 +5435,12 @@ L_08A62300: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<2u, 4u>(vfpu_value); } ctx.execute_vfpu_cross_quat_ct<0u, 1u, 2u, 3u>(); - ctx.gpr[6] = (aot_gpr_29 + static_cast(2368)); + aot_gpr_6 = (aot_gpr_29 + static_cast(2368)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - { const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -5458,12 +5459,12 @@ L_08A62300: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 0u>(); - ctx.gpr[6] = (aot_gpr_29 + static_cast(2352)); + aot_gpr_6 = (aot_gpr_29 + static_cast(2352)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - { const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -5501,7 +5502,7 @@ L_08A62300: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(88))); - ctx.gpr[6] = (aot_gpr_4 | 0u); + aot_gpr_6 = (aot_gpr_4 | 0u); { const float fs = aot_fpr_12; const float ft = ctx.fpr[20]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_4 = (0u | 0u); aot_gpr_31 = (0x08A62398u); @@ -5551,8 +5552,8 @@ L_08A623D4: aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_22)); aot_gpr_5 = (aot_gpr_23 + static_cast(144)); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[16] < ctx.fpr[17])) ? 0x00800000u : 0u); - ctx.gpr[6] = (aot_gpr_23 + static_cast(128)); - aot_gpr_16 = (aot_gpr_29 + static_cast(144)); + aot_gpr_6 = (aot_gpr_23 + static_cast(128)); + ctx.gpr[16] = (aot_gpr_29 + static_cast(144)); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(164), std::bit_cast(aot_fpr_13)); if (branch_taken) { @@ -5662,7 +5663,7 @@ L_08A62424: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -5678,7 +5679,7 @@ L_08A62424: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_31 = (0x08A624A4u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0149_entry, 149u, 15u, 0x08A58168u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A624A4u) goto L_08A624A4; AOT_REGCACHE_SYNC_OUT(); return; L_08A624A4: @@ -5693,7 +5694,7 @@ L_08A624B4: aot_gpr_5 = (aot_gpr_29 + static_cast(192)); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08A624C8u); - ctx.gpr[6] = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 209u, 0x08B00C34u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A624C8u) goto L_08A624C8; AOT_REGCACHE_SYNC_OUT(); return; L_08A624C8: @@ -5727,7 +5728,7 @@ L_08A624FC: aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_5 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08A6250Cu); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0149_entry, 149u, 18u, 0x08A581B0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A6250Cu) goto L_08A6250C; AOT_REGCACHE_SYNC_OUT(); return; L_08A6250C: @@ -5742,21 +5743,21 @@ L_08A62514: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0149_entry, 149u, 15u, 0x08A58168u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A62520u) goto L_08A62520; AOT_REGCACHE_SYNC_OUT(); return; L_08A62520: - aot_gpr_16 = (aot_gpr_29 + static_cast(1408)); + ctx.gpr[16] = (aot_gpr_29 + static_cast(1408)); aot_gpr_31 = (0x08A6252Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0149_entry, 149u, 17u, 0x08A58194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A6252Cu) goto L_08A6252C; AOT_REGCACHE_SYNC_OUT(); return; L_08A6252C: aot_gpr_4 = (aot_gpr_29 + static_cast(1488)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1472), aot_gpr_4); aot_gpr_31 = (0x08A6253Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 940u, 0x0885FF78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A6253Cu) goto L_08A6253C; AOT_REGCACHE_SYNC_OUT(); return; L_08A6253C: aot_gpr_31 = (0x08A62544u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 936u, 0x0885FF14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A62544u) goto L_08A62544; AOT_REGCACHE_SYNC_OUT(); return; L_08A62544: @@ -5820,7 +5821,7 @@ L_08A625C4: AOT_REGCACHE_SYNC_OUT(); return; L_08A625D0: aot_gpr_31 = (0x08A625D8u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 939u, 0x0885FF48u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A625D8u) goto L_08A625D8; AOT_REGCACHE_SYNC_OUT(); return; L_08A625D8: @@ -5831,7 +5832,7 @@ L_08A625D8: L_08A625E0: aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08A625ECu); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 10u, 0x088603A0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A625ECu) goto L_08A625EC; AOT_REGCACHE_SYNC_OUT(); return; L_08A625EC: @@ -5869,7 +5870,7 @@ L_08A62620: aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_5 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08A62630u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0149_entry, 149u, 18u, 0x08A581B0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A62630u) goto L_08A62630; AOT_REGCACHE_SYNC_OUT(); return; L_08A62630: @@ -5919,7 +5920,7 @@ L_08A6266C: L_08A62674: aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08A62680u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 10u, 0x088603A0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A62680u) goto L_08A62680; AOT_REGCACHE_SYNC_OUT(); return; L_08A62680: @@ -5948,7 +5949,7 @@ L_08A626A0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 936u, 0x0885FF14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A626A8u) goto L_08A626A8; AOT_REGCACHE_SYNC_OUT(); return; L_08A626A8: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A626B4u); aot_gpr_5 = (0u | 2u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0149_entry, 149u, 24u, 0x08A5822Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A626B4u) goto L_08A626B4; @@ -5982,7 +5983,7 @@ L_08A626E8: aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_5 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08A626F8u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0149_entry, 149u, 18u, 0x08A581B0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A626F8u) goto L_08A626F8; AOT_REGCACHE_SYNC_OUT(); return; L_08A626F8: @@ -6024,7 +6025,7 @@ L_08A6273C: aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_5 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08A6274Cu); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0149_entry, 149u, 18u, 0x08A581B0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A6274Cu) goto L_08A6274C; AOT_REGCACHE_SYNC_OUT(); return; L_08A6274C: @@ -6137,7 +6138,7 @@ L_08A62840: aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_5 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08A62850u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0149_entry, 149u, 18u, 0x08A581B0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A62850u) goto L_08A62850; AOT_REGCACHE_SYNC_OUT(); return; L_08A62850: @@ -6189,7 +6190,7 @@ L_08A628B4: aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_5 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08A628C4u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0149_entry, 149u, 18u, 0x08A581B0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A628C4u) goto L_08A628C4; AOT_REGCACHE_SYNC_OUT(); return; L_08A628C4: @@ -6291,7 +6292,7 @@ L_08A62974: aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_5 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08A62984u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0149_entry, 149u, 18u, 0x08A581B0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A62984u) goto L_08A62984; AOT_REGCACHE_SYNC_OUT(); return; L_08A62984: @@ -6386,13 +6387,13 @@ L_08A62A2C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0149_entry, 149u, 79u, 0x08A585E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A62A3Cu) goto L_08A62A3C; AOT_REGCACHE_SYNC_OUT(); return; L_08A62A3C: - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08A62A48u); aot_gpr_4 = (aot_gpr_23 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0149_entry, 149u, 33u, 0x08A5829Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A62A48u) goto L_08A62A48; AOT_REGCACHE_SYNC_OUT(); return; L_08A62A48: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A62A54u); aot_gpr_5 = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0148_entry, 148u, 900u, 0x08A57F04u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A62A54u) goto L_08A62A54; @@ -6422,14 +6423,14 @@ L_08A62A7C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0149_entry, 149u, 41u, 0x08A58304u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A62A84u) goto L_08A62A84; AOT_REGCACHE_SYNC_OUT(); return; L_08A62A84: - aot_gpr_16 = (aot_gpr_29 + static_cast(1600)); + ctx.gpr[16] = (aot_gpr_29 + static_cast(1600)); aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08A62A94u); aot_gpr_5 = (0u | 6u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0149_entry, 149u, 105u, 0x08A5877Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A62A94u) goto L_08A62A94; AOT_REGCACHE_SYNC_OUT(); return; L_08A62A94: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A62AA0u); aot_gpr_5 = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0149_entry, 149u, 11u, 0x08A580FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A62AA0u) goto L_08A62AA0; @@ -6443,7 +6444,7 @@ L_08A62AA0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0149_entry, 149u, 9u, 0x08A580C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A62AB4u) goto L_08A62AB4; AOT_REGCACHE_SYNC_OUT(); return; L_08A62AB4: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A62AC0u); aot_gpr_5 = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 461u, 0x08A93198u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A62AC0u) goto L_08A62AC0; @@ -6492,7 +6493,7 @@ L_08A62B0C: aot_gpr_4 = (aot_gpr_29 + static_cast(1696)); aot_gpr_5 = (aot_gpr_23 | 0u); aot_gpr_31 = (0x08A62B1Cu); - ctx.gpr[6] = (ctx.gpr[2] | 0u); + aot_gpr_6 = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0148_entry, 148u, 897u, 0x08A57E9Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A62B1Cu) goto L_08A62B1C; AOT_REGCACHE_SYNC_OUT(); return; L_08A62B1C: @@ -6540,7 +6541,7 @@ L_08A62B74: aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_5 = (aot_gpr_23 | 0u); aot_gpr_31 = (0x08A62B8Cu); - ctx.gpr[6] = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0148_entry, 148u, 899u, 0x08A57EDCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A62B8Cu) goto L_08A62B8C; AOT_REGCACHE_SYNC_OUT(); return; L_08A62B8C: @@ -6568,24 +6569,24 @@ L_08A62BAC: ctx.gpr[19] = (aot_gpr_29 + static_cast(1728)); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08A62BC0u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0149_entry, 149u, 11u, 0x08A580FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A62BC0u) goto L_08A62BC0; AOT_REGCACHE_SYNC_OUT(); return; L_08A62BC0: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1728))); - aot_gpr_16 = (aot_gpr_29 + static_cast(1712)); + ctx.gpr[16] = (aot_gpr_29 + static_cast(1712)); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1728), std::bit_cast(aot_fpr_12)); aot_gpr_5 = (aot_gpr_23 | 0u); aot_gpr_31 = (0x08A62BE0u); - ctx.gpr[6] = (ctx.gpr[19] | 0u); + aot_gpr_6 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0148_entry, 148u, 899u, 0x08A57EDCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A62BE0u) goto L_08A62BE0; AOT_REGCACHE_SYNC_OUT(); return; L_08A62BE0: aot_gpr_4 = (aot_gpr_29 + static_cast(1664)); aot_gpr_31 = (0x08A62BECu); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0149_entry, 149u, 15u, 0x08A58168u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A62BECu) goto L_08A62BEC; AOT_REGCACHE_SYNC_OUT(); return; L_08A62BEC: @@ -6618,11 +6619,11 @@ L_08A62C08: goto L_08A62C30; } L_08A62C30: - aot_gpr_16 = (aot_gpr_29 + static_cast(1632)); + ctx.gpr[16] = (aot_gpr_29 + static_cast(1632)); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_22)); aot_gpr_4 = (0u | 65u); aot_gpr_5 = (ctx.gpr[18] | 0u); - ctx.gpr[6] = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); @@ -6643,7 +6644,7 @@ L_08A62C64: aot_gpr_5 = (aot_gpr_29 + static_cast(1664)); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_22)); aot_gpr_4 = (0u | 65u); - ctx.gpr[6] = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); @@ -6681,11 +6682,11 @@ L_08A62CB0: aot_fpr_14 = std::bit_cast(std::bit_cast(aot_fpr_22)); aot_gpr_5 = (aot_gpr_5 | 37749u); ctx.fpr[20] = std::bit_cast(aot_gpr_5); - aot_gpr_16 = (aot_gpr_29 + static_cast(1744)); + ctx.gpr[16] = (aot_gpr_29 + static_cast(1744)); aot_gpr_5 = (48754u << 16u); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_gpr_5 = (aot_gpr_5 | 45089u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A62CDCu); aot_fpr_12 = std::bit_cast(aot_gpr_5); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0149_entry, 149u, 9u, 0x08A580C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A62CDCu) goto L_08A62CDC; @@ -6701,7 +6702,7 @@ L_08A62CE8: aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_gpr_5 = (aot_gpr_5 | 40370u); aot_fpr_14 = std::bit_cast(std::bit_cast(aot_fpr_22)); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A62D04u); aot_fpr_12 = std::bit_cast(aot_gpr_5); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0149_entry, 149u, 9u, 0x08A580C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A62D04u) goto L_08A62D04; @@ -6723,7 +6724,7 @@ L_08A62D10: aot_gpr_4 = (aot_gpr_4 | 14680u); aot_fpr_14 = std::bit_cast(aot_gpr_4); aot_gpr_31 = (0x08A62D3Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0149_entry, 149u, 9u, 0x08A580C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A62D3Cu) goto L_08A62D3C; AOT_REGCACHE_SYNC_OUT(); return; L_08A62D3C: @@ -6736,7 +6737,7 @@ L_08A62D48: aot_gpr_5 = (49073u << 16u); aot_gpr_5 = (aot_gpr_5 | 26739u); ctx.fpr[20] = std::bit_cast(aot_gpr_5); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (15948u << 16u); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_gpr_5 = (aot_gpr_5 | 52429u); @@ -6759,7 +6760,7 @@ L_08A62D88: aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_gpr_5 = (aot_gpr_5 | 14156u); aot_fpr_14 = std::bit_cast(std::bit_cast(aot_fpr_22)); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A62DA4u); aot_fpr_12 = std::bit_cast(aot_gpr_5); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0149_entry, 149u, 9u, 0x08A580C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A62DA4u) goto L_08A62DA4; @@ -6785,16 +6786,16 @@ L_08A62DB0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0149_entry, 149u, 47u, 0x08A5834Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A62DDCu) goto L_08A62DDC; AOT_REGCACHE_SYNC_OUT(); return; L_08A62DDC: - ctx.gpr[6] = (16076u << 16u); - ctx.gpr[6] = (ctx.gpr[6] | 52429u); - ctx.fpr[24] = std::bit_cast(ctx.gpr[6]); + aot_gpr_6 = (16076u << 16u); + aot_gpr_6 = (aot_gpr_6 | 52429u); + ctx.fpr[24] = std::bit_cast(aot_gpr_6); aot_gpr_4 = (ctx.gpr[2] & 1023u); ctx.gpr[7] = (16968u << 16u); - ctx.gpr[6] = (16320u << 16u); + aot_gpr_6 = (16320u << 16u); aot_fpr_22 = std::bit_cast(ctx.gpr[7]); aot_gpr_5 = (aot_gpr_4 < static_cast(512) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; - ctx.fpr[20] = std::bit_cast(ctx.gpr[6]); + ctx.fpr[20] = std::bit_cast(aot_gpr_6); if (branch_taken) { goto L_08A62E1C; } @@ -6995,18 +6996,18 @@ L_08A62FAC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0149_entry, 149u, 34u, 0x08A582A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A62FB8u) goto L_08A62FB8; AOT_REGCACHE_SYNC_OUT(); return; L_08A62FB8: - ctx.gpr[6] = (16384u << 16u); + aot_gpr_6 = (16384u << 16u); aot_gpr_4 = (ctx.gpr[20] | 0u); - aot_fpr_12 = std::bit_cast(ctx.gpr[6]); + aot_fpr_12 = std::bit_cast(aot_gpr_6); aot_gpr_31 = (0x08A62FCCu); aot_gpr_5 = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0148_entry, 148u, 904u, 0x08A57F64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A62FCCu) goto L_08A62FCC; AOT_REGCACHE_SYNC_OUT(); return; L_08A62FCC: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08A62FDCu); - ctx.gpr[6] = (ctx.gpr[20] | 0u); + aot_gpr_6 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0148_entry, 148u, 902u, 0x08A57F34u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A62FDCu) goto L_08A62FDC; AOT_REGCACHE_SYNC_OUT(); return; L_08A62FDC: @@ -7023,8 +7024,8 @@ L_08A62FF0: aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); aot_gpr_4 = (0u | 0u); aot_fpr_13 = ctx.fpr[28] / aot_fpr_22; - aot_gpr_5 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (ctx.gpr[2] | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); + aot_gpr_6 = (ctx.gpr[2] | 0u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 1u); aot_fpr_14 = aot_fpr_14 / aot_fpr_22; @@ -7040,11 +7041,11 @@ L_08A63024: ctx.gpr[21] = (aot_gpr_29 + static_cast(1984)); goto L_08A63034; L_08A63034: - aot_gpr_16 = (ctx.gpr[17] << 4u); - aot_gpr_16 = (aot_gpr_29 + aot_gpr_16); + ctx.gpr[16] = (ctx.gpr[17] << 4u); + ctx.gpr[16] = (aot_gpr_29 + ctx.gpr[16]); ctx.gpr[19] = (aot_gpr_23 + ctx.gpr[17]); aot_gpr_4 = (static_cast(ctx.gpr[17]) < 2 ? 1u : 0u); - ctx.gpr[18] = (aot_gpr_16 + static_cast(1792)); + ctx.gpr[18] = (ctx.gpr[16] + static_cast(1792)); { const bool branch_taken = aot_gpr_4 == 0u; ctx.gpr[19] = (ctx.gpr[19] + static_cast(21)); if (branch_taken) { @@ -7054,13 +7055,13 @@ L_08A63034: } L_08A63050: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(2628))); - ctx.gpr[6] = (aot_gpr_29 + static_cast(208)); + aot_gpr_6 = (aot_gpr_29 + static_cast(208)); aot_gpr_31 = (0x08A63060u); aot_gpr_4 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 935u, 0x0885FEC8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A63060u) goto L_08A63060; AOT_REGCACHE_SYNC_OUT(); return; L_08A63060: - ctx.gpr[6] = (aot_gpr_16 + static_cast(1792)); + aot_gpr_6 = (ctx.gpr[16] + static_cast(1792)); aot_gpr_4 = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x08A63070u); aot_gpr_5 = (ctx.gpr[20] | 0u); @@ -7088,7 +7089,7 @@ L_08A63088: } L_08A63090: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(2628))); - ctx.gpr[6] = (aot_gpr_16 + static_cast(1792)); + aot_gpr_6 = (ctx.gpr[16] + static_cast(1792)); aot_gpr_31 = (0x08A630A0u); aot_gpr_4 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0148_entry, 148u, 899u, 0x08A57EDCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A630A0u) goto L_08A630A0; @@ -7143,7 +7144,7 @@ L_08A630DC: L_08A630E4: aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(2613))); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[24])); - ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(2612))); + aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(2612))); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_22)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[26])); @@ -7170,8 +7171,8 @@ L_08A63128: } L_08A63130: aot_gpr_4 = (0u | 0u); - ctx.gpr[6] = (0u | 1u); - if (ctx.gpr[17] == ctx.gpr[6]) { + aot_gpr_6 = (0u | 1u); + if (ctx.gpr[17] == aot_gpr_6) { aot_gpr_4 = (aot_gpr_5 | 0u); goto L_08A63140; } @@ -7179,7 +7180,7 @@ L_08A63130: L_08A63140: aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(2616))); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[24])); - ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(2615))); + aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(2615))); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_22)); ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(2614))); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[26])); @@ -7247,7 +7248,7 @@ L_08A631D0: ctx.fpr[26] = std::bit_cast(aot_run_words[3]); ctx.fpr[28] = std::bit_cast(aot_run_words[4]); ctx.fpr[30] = std::bit_cast(aot_run_words[5]); - aot_gpr_16 = aot_run_words[6]; + ctx.gpr[16] = aot_run_words[6]; ctx.gpr[17] = aot_run_words[7]; ctx.gpr[18] = aot_run_words[8]; ctx.gpr[19] = aot_run_words[9]; @@ -7266,14 +7267,14 @@ L_08A631D0: AOT_REGCACHE_SYNC_OUT(); return; L_08A63218: aot_gpr_29 = (aot_gpr_29 + static_cast(-528)); - { const std::uint32_t aot_run_words[7]{std::bit_cast(ctx.fpr[20]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; + { const std::uint32_t aot_run_words[7]{std::bit_cast(ctx.fpr[20]), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(496), aot_run_words); } aot_gpr_31 = (0x08A63240u); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A63240u) goto L_08A63240; AOT_REGCACHE_SYNC_OUT(); return; L_08A63240: - { const bool branch_taken = aot_gpr_16 != ctx.gpr[2]; + { const bool branch_taken = ctx.gpr[16] != ctx.gpr[2]; aot_gpr_4 = (2236u << 16u); if (branch_taken) { goto L_08A63258; @@ -7299,8 +7300,8 @@ L_08A63258: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A63260u) goto L_08A63260; AOT_REGCACHE_SYNC_OUT(); return; L_08A63260: - if (aot_gpr_16 != ctx.gpr[2]) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(76))); + if (ctx.gpr[16] != ctx.gpr[2]) { + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(76))); goto L_08A63278; } goto L_08A63268; @@ -7336,7 +7337,7 @@ L_08A63278: } L_08A63298: aot_gpr_4 = (17442u << 16u); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(636))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(636))); aot_gpr_4 = (aot_gpr_4 | 32768u); aot_fpr_13 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); @@ -7369,7 +7370,7 @@ L_08A632C8: aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); - ctx.gpr[18] = (aot_gpr_16 + static_cast(320)); + ctx.gpr[18] = (ctx.gpr[16] + static_cast(320)); { const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -7385,11 +7386,11 @@ L_08A632C8: const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(86)))))); aot_gpr_5 = (0u | 0u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); - ctx.gpr[6] = (static_cast(aot_gpr_4) < static_cast(ctx.gpr[6]) ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); + aot_gpr_6 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_6) ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 == 0u; ctx.gpr[20] = (aot_gpr_29 + static_cast(32)); if (branch_taken) { goto L_08A63314; @@ -7404,8 +7405,8 @@ L_08A63304: goto L_08A63314; L_08A63314: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(84))); - ctx.gpr[6] = (0u | 1u); - if (aot_gpr_4 != ctx.gpr[6]) { + aot_gpr_6 = (0u | 1u); + if (aot_gpr_4 != aot_gpr_6) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(84))); goto L_08A6332C; } @@ -7419,8 +7420,8 @@ L_08A63324: goto L_08A6332C; } L_08A6332C: - ctx.gpr[6] = (0u | 2u); - if (aot_gpr_4 != ctx.gpr[6]) { + aot_gpr_6 = (0u | 2u); + if (aot_gpr_4 != aot_gpr_6) { aot_gpr_5 = (aot_gpr_5 + static_cast(160)); goto L_08A63340; } @@ -7454,9 +7455,9 @@ L_08A63340: aot_fpr_12 = aot_fpr_12 - aot_fpr_13; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_gpr_29 | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A63370u); - ctx.gpr[6] = (ctx.gpr[20] | 0u); + aot_gpr_6 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0148_entry, 148u, 899u, 0x08A57EDCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A63370u) goto L_08A63370; AOT_REGCACHE_SYNC_OUT(); return; L_08A63370: @@ -7474,11 +7475,11 @@ L_08A63370: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_31 = (0x08A63380u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0149_entry, 149u, 312u, 0x08A595C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A63380u) goto L_08A63380; AOT_REGCACHE_SYNC_OUT(); return; L_08A63380: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(636))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(636))); aot_gpr_4 = (17274u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); @@ -7491,7 +7492,7 @@ L_08A63380: goto L_08A6339C; } L_08A6339C: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(636))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(636))); aot_gpr_4 = (17312u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); @@ -7519,12 +7520,12 @@ L_08A633B8: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); - ctx.gpr[6] = (aot_gpr_29 + static_cast(48)); + aot_gpr_6 = (aot_gpr_29 + static_cast(48)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - { const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -7542,7 +7543,7 @@ L_08A633B8: aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); - aot_gpr_4 = (aot_gpr_16 + static_cast(960)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(960)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -7578,7 +7579,7 @@ L_08A633B8: ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 0u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(0u); @@ -7601,7 +7602,7 @@ L_08A63440: goto L_08A63448; } L_08A63448: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(636))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(636))); aot_gpr_4 = (17347u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); @@ -7614,7 +7615,7 @@ L_08A63448: goto L_08A63464; } L_08A63464: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(76))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(76))); ctx.fpr[20] = std::bit_cast(0u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7764))); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[17]); @@ -7622,14 +7623,14 @@ L_08A63464: aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 & 3u); { const bool branch_taken = aot_gpr_4 == 0u; - ctx.gpr[18] = (aot_gpr_16 + static_cast(960)); + ctx.gpr[18] = (ctx.gpr[16] + static_cast(960)); if (branch_taken) { goto L_08A634AC; } goto L_08A63488; } L_08A63488: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(76))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(76))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7764))); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[17]); aot_gpr_4 = (aot_gpr_4 >> 22u); @@ -7683,9 +7684,9 @@ L_08A634AC: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 0u>(); - ctx.gpr[6] = (aot_gpr_29 + static_cast(112)); + aot_gpr_6 = (aot_gpr_29 + static_cast(112)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (0u | 33u); @@ -7715,12 +7716,12 @@ L_08A63508: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); - ctx.gpr[6] = (aot_gpr_29 + static_cast(80)); + aot_gpr_6 = (aot_gpr_29 + static_cast(80)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - { const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -7773,7 +7774,7 @@ L_08A63508: ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 0u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (0u | 55u); @@ -7796,7 +7797,7 @@ L_08A6358C: goto L_08A63594; } L_08A63594: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(636))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(636))); aot_gpr_4 = (17382u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); @@ -7809,7 +7810,7 @@ L_08A63594: goto L_08A635B0; } L_08A635B0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(76))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(76))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7764))); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[17]); aot_gpr_4 = (aot_gpr_4 >> 22u); @@ -7823,7 +7824,7 @@ L_08A635B0: goto L_08A635D0; } L_08A635D0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(76))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(76))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7764))); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[17]); aot_gpr_4 = (aot_gpr_4 >> 22u); @@ -7843,7 +7844,7 @@ L_08A635F4: aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); - aot_gpr_4 = (aot_gpr_16 + static_cast(960)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(960)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -7885,7 +7886,7 @@ L_08A635F4: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(0u); aot_gpr_4 = (0u | 33u); - ctx.gpr[6] = (ctx.gpr[19] | 0u); + aot_gpr_6 = (ctx.gpr[19] | 0u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); @@ -7903,7 +7904,7 @@ L_08A63654: goto L_08A6365C; } L_08A6365C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(76))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(76))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7764))); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[17]); aot_gpr_4 = (aot_gpr_4 >> 22u); @@ -8075,7 +8076,7 @@ L_08A6373C: aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); - aot_gpr_4 = (aot_gpr_16 + static_cast(960)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(960)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -8110,9 +8111,9 @@ L_08A6373C: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 0u>(); - ctx.gpr[6] = (aot_gpr_29 + static_cast(176)); + aot_gpr_6 = (aot_gpr_29 + static_cast(176)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (15820u << 16u); @@ -8137,7 +8138,7 @@ L_08A637A4: goto L_08A637AC; } L_08A637AC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(76))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(76))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7764))); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[17]); aot_gpr_4 = (aot_gpr_4 >> 22u); @@ -8166,12 +8167,12 @@ L_08A637CC: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); - ctx.gpr[6] = (aot_gpr_29 + static_cast(208)); + aot_gpr_6 = (aot_gpr_29 + static_cast(208)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - { const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -8189,7 +8190,7 @@ L_08A637CC: aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); - aot_gpr_4 = (aot_gpr_16 + static_cast(960)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(960)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -8225,7 +8226,7 @@ L_08A637CC: ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 0u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (15820u << 16u); @@ -8245,7 +8246,7 @@ L_08A6385C: { std::uint32_t aot_run_words[7]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(496), aot_run_words); ctx.fpr[20] = std::bit_cast(aot_run_words[0]); - aot_gpr_16 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[1]; ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; ctx.gpr[19] = aot_run_words[4]; @@ -8264,13 +8265,13 @@ L_08A63880: ctx.gpr[17] = (aot_gpr_5 & 255u); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(617)))))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(96), ctx.gpr[18]); - ctx.gpr[18] = (ctx.gpr[6] & 255u); + ctx.gpr[18] = (aot_gpr_6 & 255u); aot_gpr_5 = (aot_gpr_5 & 8u); - { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[20]), std::bit_cast(aot_fpr_22), aot_gpr_16}; + { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[20]), std::bit_cast(aot_fpr_22), ctx.gpr[16]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(80), aot_run_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(100), aot_gpr_31); { const bool branch_taken = aot_gpr_5 != 0u; - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08A638D4; } @@ -8322,7 +8323,7 @@ L_08A638E4: ctx.gpr[17] = (0u | 1u); goto L_08A638E8; L_08A638E8: - aot_gpr_4 = (aot_gpr_16 + ctx.gpr[17]); + aot_gpr_4 = (ctx.gpr[16] + ctx.gpr[17]); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(1076))); { const bool branch_taken = aot_gpr_5 != 0u; // nop @@ -8336,15 +8337,15 @@ L_08A638F8: aot_fpr_12 = std::bit_cast(0u); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(1076), static_cast(aot_gpr_5)); ctx.gpr[7] = (16256u << 16u); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(96))); aot_fpr_13 = std::bit_cast(ctx.gpr[7]); aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); aot_gpr_31 = (0x08A6391Cu); - ctx.gpr[6] = (0u | 15u); + aot_gpr_6 = (0u | 15u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 503u, 0x08A05F80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A6391Cu) goto L_08A6391C; AOT_REGCACHE_SYNC_OUT(); return; L_08A6391C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(72))); aot_gpr_5 = (0u | 32u); aot_gpr_4 = (aot_gpr_4 & 496u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; @@ -8355,13 +8356,13 @@ L_08A6391C: goto L_08A63930; } L_08A63930: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(72))); aot_gpr_5 = (0u + static_cast(-497)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_4 = (aot_gpr_4 | 48u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(72), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(72), aot_gpr_4); aot_gpr_31 = (0x08A6394Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0207_entry, 207u, 365u, 0x08B41608u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A6394Cu) goto L_08A6394C; AOT_REGCACHE_SYNC_OUT(); return; L_08A6394C: @@ -8376,17 +8377,17 @@ L_08A63954: ctx.fpr[20] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-5848))); aot_gpr_31 = (0x08A63960u); aot_fpr_22 = std::bit_cast(std::bit_cast(ctx.fpr[20]) ^ 0x80000000u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A63960u) goto L_08A63960; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A63960u) goto L_08A63960; AOT_REGCACHE_SYNC_OUT(); return; L_08A63960: aot_fpr_12 = ctx.fpr[20] - aot_fpr_22; { const float fs = aot_fpr_12; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = aot_fpr_22 + aot_fpr_12; - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(208))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(208))); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -8407,24 +8408,24 @@ L_08A63960: aot_fpr_14 = std::bit_cast(aot_run_words[2]); } aot_gpr_31 = (0x08A6399Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 600u, 0x08A66CD8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A6399Cu) goto L_08A6399C; AOT_REGCACHE_SYNC_OUT(); return; L_08A6399C: ctx.fpr[20] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-5848))); aot_gpr_31 = (0x08A639A8u); aot_fpr_22 = std::bit_cast(std::bit_cast(ctx.fpr[20]) ^ 0x80000000u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A639A8u) goto L_08A639A8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A639A8u) goto L_08A639A8; AOT_REGCACHE_SYNC_OUT(); return; L_08A639A8: aot_fpr_12 = ctx.fpr[20] - aot_fpr_22; { const float fs = aot_fpr_12; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = aot_fpr_22 + aot_fpr_12; - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(212))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(212))); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -8444,7 +8445,7 @@ L_08A639A8: aot_fpr_13 = std::bit_cast(aot_run_words[1]); aot_fpr_14 = std::bit_cast(aot_run_words[2]); } - aot_gpr_4 = (aot_gpr_16 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(16)); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_4 + static_cast(0), aot_run_words); ctx.fpr[15] = std::bit_cast(aot_run_words[0]); @@ -8452,11 +8453,11 @@ L_08A639A8: ctx.fpr[17] = std::bit_cast(aot_run_words[2]); } aot_gpr_31 = (0x08A639F4u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 611u, 0x08A66E08u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A639F4u) goto L_08A639F4; AOT_REGCACHE_SYNC_OUT(); return; L_08A639F4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(900))); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_4 = (0u | 13u); if (branch_taken) { @@ -8473,7 +8474,7 @@ L_08A63A00: goto L_08A63A08; } L_08A63A08: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1232))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1232))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-5888))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); // nop @@ -8485,7 +8486,7 @@ L_08A63A08: goto L_08A63A20; } L_08A63A20: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1236))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1236))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-5888))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); // nop @@ -8508,7 +8509,7 @@ L_08A63A3C: goto L_08A63A44; } L_08A63A44: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1240))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1240))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-5888))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); // nop @@ -8520,7 +8521,7 @@ L_08A63A44: goto L_08A63A5C; } L_08A63A5C: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1244))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1244))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-5888))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); // nop @@ -8532,7 +8533,7 @@ L_08A63A5C: goto L_08A63A74; } L_08A63A74: - aot_gpr_5 = (aot_gpr_16 + static_cast(320)); + aot_gpr_5 = (ctx.gpr[16] + static_cast(320)); { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -8557,7 +8558,7 @@ L_08A63A74: goto L_08A63AA0; } L_08A63AA0: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(72))); aot_gpr_5 = (aot_gpr_5 & 496u); { const bool branch_taken = aot_gpr_5 != 0u; // nop @@ -8586,16 +8587,16 @@ L_08A63AC4: goto L_08A63ACC; } L_08A63ACC: - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(900))); - aot_gpr_4 = (aot_gpr_16 | 0u); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(900))); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 42u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x08A63AE4u); ctx.gpr[8] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0192_entry, 192u, 212u, 0x08B04D14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A63AE4u) goto L_08A63AE4; AOT_REGCACHE_SYNC_OUT(); return; L_08A63AE4: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A63AF0u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A63AF0u) goto L_08A63AF0; @@ -8609,15 +8610,15 @@ L_08A63AF0: goto L_08A63AF8; } L_08A63AF8: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A63B04u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A63B04u) goto L_08A63B04; AOT_REGCACHE_SYNC_OUT(); return; L_08A63B04: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 42u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); ctx.gpr[7] = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08A63B1Cu); ctx.gpr[8] = (0u | 0u); @@ -8636,11 +8637,11 @@ L_08A63B24: aot_gpr_4 = (16384u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(212))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(212))); { const float fs = aot_fpr_12; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -8661,7 +8662,7 @@ L_08A63B24: aot_fpr_13 = std::bit_cast(aot_run_words[1]); aot_fpr_14 = std::bit_cast(aot_run_words[2]); } - aot_gpr_4 = (aot_gpr_16 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(16)); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_4 + static_cast(0), aot_run_words); ctx.fpr[15] = std::bit_cast(aot_run_words[0]); @@ -8669,7 +8670,7 @@ L_08A63B24: ctx.fpr[17] = std::bit_cast(aot_run_words[2]); } aot_gpr_31 = (0x08A63B78u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 611u, 0x08A66E08u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A63B78u) goto L_08A63B78; AOT_REGCACHE_SYNC_OUT(); return; L_08A63B78: @@ -8677,7 +8678,7 @@ L_08A63B78: aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(80), aot_run_words); ctx.fpr[20] = std::bit_cast(aot_run_words[0]); aot_fpr_22 = std::bit_cast(aot_run_words[1]); - aot_gpr_16 = aot_run_words[2]; + ctx.gpr[16] = aot_run_words[2]; ctx.gpr[17] = aot_run_words[3]; ctx.gpr[18] = aot_run_words[4]; aot_gpr_31 = aot_run_words[5]; @@ -8690,19 +8691,19 @@ L_08A63B78: AOT_REGCACHE_SYNC_OUT(); return; L_08A63B98: aot_gpr_29 = (aot_gpr_29 + static_cast(-336)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(300), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(300), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(308), ctx.gpr[18]); - ctx.gpr[18] = (ctx.gpr[6] | 0u); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); + ctx.gpr[18] = (aot_gpr_6 | 0u); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(86)))))); ctx.gpr[9] = (16153u << 16u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); ctx.gpr[9] = (ctx.gpr[9] | 39322u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(296), std::bit_cast(ctx.fpr[24])); ctx.fpr[24] = std::bit_cast(ctx.gpr[9]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(304), ctx.gpr[17]); ctx.gpr[17] = (aot_gpr_5 | 0u); - ctx.gpr[8] = (static_cast(aot_gpr_4) < static_cast(ctx.gpr[6]) ? 1u : 0u); + ctx.gpr[8] = (static_cast(aot_gpr_4) < static_cast(aot_gpr_6) ? 1u : 0u); ctx.gpr[9] = (16128u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(288), std::bit_cast(ctx.fpr[20])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(292), std::bit_cast(aot_fpr_22)); @@ -8711,7 +8712,7 @@ L_08A63B98: ctx.fpr[20] = std::bit_cast(0u); aot_gpr_5 = (0u | 0u); aot_fpr_22 = std::bit_cast(ctx.gpr[9]); - ctx.gpr[6] = (aot_gpr_29 + static_cast(48)); + aot_gpr_6 = (aot_gpr_29 + static_cast(48)); ctx.gpr[7] = (0u | 11u); ctx.gpr[19] = (aot_gpr_29 + static_cast(16)); ctx.gpr[20] = (aot_gpr_29 + static_cast(64)); @@ -8779,7 +8780,7 @@ L_08A63C6C: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const bool branch_taken = ctx.gpr[17] == ctx.gpr[7]; @@ -8809,7 +8810,7 @@ L_08A63C84: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } goto L_08A63C90; @@ -8838,7 +8839,7 @@ L_08A63CA4: L_08A63CB0: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08A63CBCu); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0148_entry, 148u, 899u, 0x08A57EDCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A63CBCu) goto L_08A63CBC; AOT_REGCACHE_SYNC_OUT(); return; L_08A63CBC: @@ -8856,8 +8857,8 @@ L_08A63CBC: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (ctx.gpr[19] | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (ctx.gpr[17] | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); + aot_gpr_6 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08A63CD8u); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0107_entry, 107u, 395u, 0x089B16E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A63CD8u) goto L_08A63CD8; @@ -8920,7 +8921,7 @@ L_08A63D08: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(144), std::bit_cast(aot_fpr_12)); goto L_08A63D14; L_08A63D14: - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -8929,7 +8930,7 @@ L_08A63D14: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<4u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(16); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(16); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -8938,7 +8939,7 @@ L_08A63D14: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<5u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(32); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(32); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -8981,7 +8982,7 @@ L_08A63D14: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A63D44u) goto L_08A63D44; AOT_REGCACHE_SYNC_OUT(); return; L_08A63D44: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(40))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(40))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[20])) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); @@ -9109,7 +9110,7 @@ L_08A63D70: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (ctx.gpr[20] | 0u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 1u); @@ -9144,8 +9145,8 @@ L_08A63E14: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (ctx.gpr[22] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[24])); - aot_gpr_5 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_5 = (ctx.gpr[16] | 0u); + aot_gpr_6 = (0u | 1u); ctx.gpr[7] = (0u | 1u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 1u); @@ -9173,7 +9174,7 @@ L_08A63E54: aot_gpr_4 = (ctx.gpr[21] | 0u); aot_fpr_12 = std::bit_cast(ctx.gpr[2]); aot_gpr_5 = (ctx.gpr[17] | 0u); - ctx.gpr[6] = (ctx.gpr[18] | 0u); + aot_gpr_6 = (ctx.gpr[18] | 0u); ctx.gpr[7] = (0u | 1u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); @@ -9239,7 +9240,7 @@ L_08A63EC8: goto L_08A63EE0; } L_08A63EE0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(236))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(236))); aot_gpr_4 = (aot_gpr_4 & 256u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -9271,7 +9272,7 @@ L_08A63F00: aot_gpr_4 = (ctx.gpr[21] | 0u); aot_fpr_12 = std::bit_cast(ctx.gpr[2]); aot_gpr_5 = (ctx.gpr[17] | 0u); - ctx.gpr[6] = (ctx.gpr[18] | 0u); + aot_gpr_6 = (ctx.gpr[18] | 0u); ctx.gpr[7] = (0u | 1u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); @@ -9356,7 +9357,7 @@ L_08A63F9C: ctx.fpr[20] = std::bit_cast(aot_run_words[0]); aot_fpr_22 = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); - aot_gpr_16 = aot_run_words[3]; + ctx.gpr[16] = aot_run_words[3]; ctx.gpr[17] = aot_run_words[4]; ctx.gpr[18] = aot_run_words[5]; ctx.gpr[19] = aot_run_words[6]; @@ -9374,11 +9375,11 @@ L_08A63F9C: AOT_REGCACHE_SYNC_OUT(); return; L_08A63FD4: aot_gpr_29 = (aot_gpr_29 + static_cast(-144)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(104), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(104), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(132), aot_gpr_23); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(136), ctx.gpr[30]); - aot_gpr_23 = (ctx.gpr[6] | 0u); - aot_gpr_16 = (aot_gpr_5 | 0u); + aot_gpr_23 = (aot_gpr_6 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); ctx.gpr[30] = (aot_gpr_4 | 0u); { const std::uint32_t aot_run_words[4]{std::bit_cast(ctx.fpr[20]), std::bit_cast(aot_fpr_22), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(80), aot_run_words); } diff --git a/profiles/vcs/generated/generated_unit_0152.cpp b/profiles/vcs/generated/generated_unit_0152.cpp index 4601449..787b124 100644 --- a/profiles/vcs/generated/generated_unit_0152.cpp +++ b/profiles/vcs/generated/generated_unit_0152.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,7 +139,7 @@ static const std::uint16_t kEntryIds_recomp_unit_0152[4093] = { }; void recomp_unit_0152_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,16,31,6 fprs=12,13,14,20 gpr_occ=3444 fpr_occ=1071 gpr_total=4504 fpr_total=1377 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,16,31,6 fprs=12,13,14,20 gpr_occ=3541 fpr_occ=1075 gpr_total=4673 fpr_total=1381 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; @@ -943,7 +944,7 @@ L_08A64000: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(140), aot_gpr_31); aot_gpr_31 = (0x08A6402Cu); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), ctx.gpr[7]); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A6402Cu) goto L_08A6402C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A6402Cu) goto L_08A6402C; AOT_REGCACHE_SYNC_OUT(); return; L_08A6402C: aot_gpr_4 = (0u | 0u); @@ -1017,14 +1018,14 @@ L_08A640B0: ctx.fpr[24] = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_31 = (0x08A640C8u); aot_gpr_5 = (0u | 189u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A640C8u) goto L_08A640C8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0886D4BC, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A640C8u) goto L_08A640C8; AOT_REGCACHE_SYNC_OUT(); return; L_08A640C8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[30] + static_cast(80))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(60), ctx.gpr[2]); aot_gpr_31 = (0x08A640D8u); aot_gpr_5 = (0u | 190u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A640D8u) goto L_08A640D8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0886D4BC, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A640D8u) goto L_08A640D8; AOT_REGCACHE_SYNC_OUT(); return; L_08A640D8: ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[30] + static_cast(80))); @@ -1037,7 +1038,7 @@ L_08A640E8: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08A640F4u); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A640F4u) goto L_08A640F4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0886D4BC, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A640F4u) goto L_08A640F4; AOT_REGCACHE_SYNC_OUT(); return; L_08A640F4: ctx.gpr[17] = (ctx.gpr[2] | 0u); @@ -1052,14 +1053,14 @@ L_08A64100: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[30] + static_cast(80))); aot_gpr_31 = (0x08A6410Cu); aot_gpr_5 = (0u | 192u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A6410Cu) goto L_08A6410C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0886D4BC, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A6410Cu) goto L_08A6410C; AOT_REGCACHE_SYNC_OUT(); return; L_08A6410C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[30] + static_cast(80))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), ctx.gpr[2]); aot_gpr_31 = (0x08A6411Cu); aot_gpr_5 = (0u | 191u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A6411Cu) goto L_08A6411C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0886D4BC, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A6411Cu) goto L_08A6411C; AOT_REGCACHE_SYNC_OUT(); return; L_08A6411C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), ctx.gpr[2]); @@ -1074,14 +1075,14 @@ L_08A6412C: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08A64138u); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A64138u) goto L_08A64138; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0886D4BC, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A64138u) goto L_08A64138; AOT_REGCACHE_SYNC_OUT(); return; L_08A64138: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[30] + static_cast(80))); ctx.gpr[18] = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08A64148u); aot_gpr_5 = (0u | 201u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A64148u) goto L_08A64148; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0886D4BC, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A64148u) goto L_08A64148; AOT_REGCACHE_SYNC_OUT(); return; L_08A64148: ctx.gpr[21] = (ctx.gpr[2] | 0u); @@ -1096,7 +1097,7 @@ L_08A64154: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[30] + static_cast(80))); aot_gpr_31 = (0x08A64160u); aot_gpr_5 = (0u | 202u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A64160u) goto L_08A64160; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0886D4BC, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A64160u) goto L_08A64160; AOT_REGCACHE_SYNC_OUT(); return; L_08A64160: ctx.gpr[21] = (ctx.gpr[2] | 0u); @@ -1113,7 +1114,7 @@ L_08A6416C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[30] + static_cast(80))); aot_gpr_31 = (0x08A64178u); aot_gpr_5 = (0u | 203u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A64178u) goto L_08A64178; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0886D4BC, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A64178u) goto L_08A64178; AOT_REGCACHE_SYNC_OUT(); return; L_08A64178: ctx.gpr[21] = (ctx.gpr[2] | 0u); @@ -1492,7 +1493,7 @@ L_08A64410: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(72), ctx.gpr[17]); aot_gpr_31 = (0x08A6441Cu); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[30])); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A6441Cu) goto L_08A6441C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A6441Cu) goto L_08A6441C; AOT_REGCACHE_SYNC_OUT(); return; L_08A6441C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(352))); @@ -1501,7 +1502,7 @@ L_08A6441C: aot_gpr_16 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08A64434u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(88))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A64434u) goto L_08A64434; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A64434u) goto L_08A64434; AOT_REGCACHE_SYNC_OUT(); return; L_08A64434: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-5764))); @@ -1509,7 +1510,7 @@ L_08A64434: aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08A64448u); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A64448u) goto L_08A64448; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_16, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A64448u) goto L_08A64448; AOT_REGCACHE_SYNC_OUT(); return; L_08A64448: aot_gpr_5 = (ctx.gpr[17] | 0u); @@ -1517,7 +1518,7 @@ L_08A64448: ctx.gpr[7] = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08A6445Cu); aot_gpr_6 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A6445Cu) goto L_08A6445C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B6256C, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A6445Cu) goto L_08A6445C; AOT_REGCACHE_SYNC_OUT(); return; L_08A6445C: ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(72))); @@ -1612,7 +1613,7 @@ L_08A644F4: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(72), ctx.gpr[17]); aot_gpr_31 = (0x08A64500u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[30])); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A64500u) goto L_08A64500; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A64500u) goto L_08A64500; AOT_REGCACHE_SYNC_OUT(); return; L_08A64500: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(352))); @@ -1621,7 +1622,7 @@ L_08A64500: aot_gpr_16 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08A64518u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(88))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A64518u) goto L_08A64518; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A64518u) goto L_08A64518; AOT_REGCACHE_SYNC_OUT(); return; L_08A64518: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-5764))); @@ -1629,7 +1630,7 @@ L_08A64518: aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08A6452Cu); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A6452Cu) goto L_08A6452C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_16, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A6452Cu) goto L_08A6452C; AOT_REGCACHE_SYNC_OUT(); return; L_08A6452C: aot_gpr_5 = (ctx.gpr[17] | 0u); @@ -1637,7 +1638,7 @@ L_08A6452C: ctx.gpr[7] = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08A64540u); aot_gpr_6 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A64540u) goto L_08A64540; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B6256C, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A64540u) goto L_08A64540; AOT_REGCACHE_SYNC_OUT(); return; L_08A64540: ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(72))); @@ -3380,7 +3381,7 @@ L_08A65230: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1488))); aot_gpr_31 = (0x08A6523Cu); aot_gpr_5 = (aot_gpr_16 + static_cast(1488)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A6523Cu) goto L_08A6523C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A6523Cu) goto L_08A6523C; AOT_REGCACHE_SYNC_OUT(); return; L_08A6523C: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(288))); @@ -4119,7 +4120,7 @@ L_08A657C4: aot_gpr_5 = (aot_gpr_5 + static_cast(1404)); aot_gpr_31 = (0x08A657D8u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A657D8u) goto L_08A657D8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A657D8u) goto L_08A657D8; AOT_REGCACHE_SYNC_OUT(); return; L_08A657D8: aot_gpr_4 = (ctx.gpr[20] << 4u); @@ -5120,7 +5121,7 @@ L_08A65E30: L_08A65E38: aot_gpr_31 = (0x08A65E40u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A65E40u) goto L_08A65E40; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A65E40u) goto L_08A65E40; AOT_REGCACHE_SYNC_OUT(); return; L_08A65E40: { std::uint32_t aot_run_words[3]{}; @@ -5888,7 +5889,7 @@ L_08A66368: L_08A66374: aot_gpr_31 = (0x08A6637Cu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A6637Cu) goto L_08A6637C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A6637Cu) goto L_08A6637C; AOT_REGCACHE_SYNC_OUT(); return; L_08A6637C: { std::uint32_t aot_run_words[6]{}; @@ -7050,7 +7051,7 @@ L_08A66CA4: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(336), aot_gpr_4); aot_gpr_31 = (0x08A66CB8u); aot_gpr_5 = (aot_gpr_16 + static_cast(336)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A66CB8u) goto L_08A66CB8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A66CB8u) goto L_08A66CB8; AOT_REGCACHE_SYNC_OUT(); return; L_08A66CB8: { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); diff --git a/profiles/vcs/generated/generated_unit_0153.cpp b/profiles/vcs/generated/generated_unit_0153.cpp index fa16d71..e5a83f8 100644 --- a/profiles/vcs/generated/generated_unit_0153.cpp +++ b/profiles/vcs/generated/generated_unit_0153.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,7 +139,7 @@ static const std::uint16_t kEntryIds_recomp_unit_0153[4094] = { }; void recomp_unit_0153_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,16,29,6,31 fprs=12,13,20,14 gpr_occ=3810 fpr_occ=1002 gpr_total=4780 fpr_total=1377 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,16,29,6,31 fprs=12,13,20,14 gpr_occ=3875 fpr_occ=1005 gpr_total=4902 fpr_total=1380 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_16 = ctx.gpr[16]; @@ -2217,7 +2218,7 @@ L_08A688C4: ctx.fpr[22] = std::bit_cast(std::bit_cast(ctx.fpr[22]) ^ 0x80000000u); aot_gpr_31 = (0x08A688F8u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A688F8u) goto L_08A688F8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A688F8u) goto L_08A688F8; AOT_REGCACHE_SYNC_OUT(); return; L_08A688F8: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-5708))); @@ -2225,14 +2226,14 @@ L_08A688F8: aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08A6890Cu); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A6890Cu) goto L_08A6890C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_16, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A6890Cu) goto L_08A6890C; AOT_REGCACHE_SYNC_OUT(); return; L_08A6890C: ctx.gpr[19] = (ctx.gpr[3] | 0u); ctx.gpr[18] = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08A6891Cu); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A6891Cu) goto L_08A6891C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A6891Cu) goto L_08A6891C; AOT_REGCACHE_SYNC_OUT(); return; L_08A6891C: aot_gpr_5 = (ctx.gpr[19] | 0u); @@ -2240,13 +2241,13 @@ L_08A6891C: ctx.gpr[7] = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08A68930u); aot_gpr_6 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A68930u) goto L_08A68930; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_16, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A68930u) goto L_08A68930; AOT_REGCACHE_SYNC_OUT(); return; L_08A68930: aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08A6893Cu); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A6893Cu) goto L_08A6893C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B627F0, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A6893Cu) goto L_08A6893C; AOT_REGCACHE_SYNC_OUT(); return; L_08A6893C: aot_fpr_20 = std::bit_cast(std::bit_cast(ctx.fpr[0])); @@ -4648,7 +4649,7 @@ L_08A69BF4: L_08A69C2C: aot_gpr_31 = (0x08A69C34u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A69C34u) goto L_08A69C34; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A69C34u) goto L_08A69C34; AOT_REGCACHE_SYNC_OUT(); return; L_08A69C34: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -4661,7 +4662,7 @@ L_08A69C34: L_08A69C3C: aot_gpr_31 = (0x08A69C44u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A69C44u) goto L_08A69C44; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A69C44u) goto L_08A69C44; AOT_REGCACHE_SYNC_OUT(); return; L_08A69C44: aot_gpr_4 = (ctx.gpr[2] | 0u); @@ -5004,7 +5005,7 @@ L_08A69ED4: ctx.fpr[28] = std::bit_cast(std::bit_cast(ctx.fpr[30])); aot_gpr_31 = (0x08A69EE0u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A69EE0u) goto L_08A69EE0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B01E00, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A69EE0u) goto L_08A69EE0; AOT_REGCACHE_SYNC_OUT(); return; L_08A69EE0: aot_gpr_4 = (0u | 2u); @@ -6105,7 +6106,7 @@ L_08A6A6D4: L_08A6A6EC: aot_gpr_31 = (0x08A6A6F4u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A6A6F4u) goto L_08A6A6F4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A6A6F4u) goto L_08A6A6F4; AOT_REGCACHE_SYNC_OUT(); return; L_08A6A6F4: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -6360,7 +6361,7 @@ L_08A6A8DC: L_08A6A8F0: aot_gpr_31 = (0x08A6A8F8u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A6A8F8u) goto L_08A6A8F8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A6A8F8u) goto L_08A6A8F8; AOT_REGCACHE_SYNC_OUT(); return; L_08A6A8F8: { const bool branch_taken = ctx.gpr[2] != 0u; @@ -6904,7 +6905,7 @@ L_08A6AC5C: L_08A6AC74: aot_gpr_31 = (0x08A6AC7Cu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A6AC7Cu) goto L_08A6AC7C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A6AC7Cu) goto L_08A6AC7C; AOT_REGCACHE_SYNC_OUT(); return; L_08A6AC7C: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -7153,7 +7154,7 @@ L_08A6AE64: L_08A6AE6C: aot_gpr_31 = (0x08A6AE74u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A6AE74u) goto L_08A6AE74; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A6AE74u) goto L_08A6AE74; AOT_REGCACHE_SYNC_OUT(); return; L_08A6AE74: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -7783,7 +7784,7 @@ L_08A6B280: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(316), aot_gpr_5); aot_gpr_31 = (0x08A6B2D8u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A6B2D8u) goto L_08A6B2D8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A6B2D8u) goto L_08A6B2D8; AOT_REGCACHE_SYNC_OUT(); return; L_08A6B2D8: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -8279,7 +8280,7 @@ L_08A6B5E8: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(316), aot_gpr_5); aot_gpr_31 = (0x08A6B640u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A6B640u) goto L_08A6B640; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A6B640u) goto L_08A6B640; AOT_REGCACHE_SYNC_OUT(); return; L_08A6B640: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -8767,7 +8768,7 @@ L_08A6B99C: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_31 = (0x08A6B9B4u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(520))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A6B9B4u) goto L_08A6B9B4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A6B9B4u) goto L_08A6B9B4; AOT_REGCACHE_SYNC_OUT(); return; L_08A6B9B4: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-5692))); @@ -8781,7 +8782,7 @@ L_08A6B9C8: aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08A6B9D4u); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A6B9D4u) goto L_08A6B9D4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B627F0, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A6B9D4u) goto L_08A6B9D4; AOT_REGCACHE_SYNC_OUT(); return; L_08A6B9D4: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(520), std::bit_cast(ctx.fpr[0])); @@ -8866,7 +8867,7 @@ L_08A6BA60: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_31 = (0x08A6BA78u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A6BA78u) goto L_08A6BA78; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A6BA78u) goto L_08A6BA78; AOT_REGCACHE_SYNC_OUT(); return; L_08A6BA78: aot_gpr_4 = (ctx.gpr[2] & 65535u); diff --git a/profiles/vcs/generated/generated_unit_0154.cpp b/profiles/vcs/generated/generated_unit_0154.cpp index f34d7fd..a46fa92 100644 --- a/profiles/vcs/generated/generated_unit_0154.cpp +++ b/profiles/vcs/generated/generated_unit_0154.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include "vcs_tier2_superblocks.hpp" #include #include @@ -139,7 +140,7 @@ static const std::uint16_t kEntryIds_recomp_unit_0154[4092] = { }; void recomp_unit_0154_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,29,5,6,19,16 fprs=12,13,14,15 gpr_occ=3521 fpr_occ=1337 gpr_total=4397 fpr_total=1767 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,29,5,6,19,16 fprs=12,13,14,15 gpr_occ=3548 fpr_occ=1338 gpr_total=4453 fpr_total=1768 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; @@ -1805,7 +1806,7 @@ L_08A6C740: aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[24]) & 0x7FFFFFFFu); ctx.gpr[31] = (0x08A6C754u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A6C754u) goto L_08A6C754; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, ctx.gpr[31], aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A6C754u) goto L_08A6C754; AOT_REGCACHE_SYNC_OUT(); return; L_08A6C754: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-5684))); @@ -1813,7 +1814,7 @@ L_08A6C754: aot_gpr_5 = (ctx.gpr[3] | 0u); ctx.gpr[31] = (0x08A6C768u); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A6C768u) goto L_08A6C768; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B6256C, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_16, aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A6C768u) goto L_08A6C768; AOT_REGCACHE_SYNC_OUT(); return; L_08A6C768: { const bool branch_taken = static_cast(ctx.gpr[2]) >= 0; @@ -9235,7 +9236,7 @@ L_08A6F868: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1560))); ctx.gpr[31] = (0x08A6F880u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A6F880u) goto L_08A6F880; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A6F880u) goto L_08A6F880; AOT_REGCACHE_SYNC_OUT(); return; L_08A6F880: aot_gpr_4 = (aot_gpr_29 + static_cast(384)); @@ -9300,7 +9301,7 @@ L_08A6F8E4: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1560))); ctx.gpr[31] = (0x08A6F8FCu); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A6F8FCu) goto L_08A6F8FC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A6F8FCu) goto L_08A6F8FC; AOT_REGCACHE_SYNC_OUT(); return; L_08A6F8FC: aot_gpr_4 = (aot_gpr_29 + static_cast(400)); @@ -9511,7 +9512,7 @@ L_08A6FA7C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1560))); ctx.gpr[31] = (0x08A6FA94u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A6FA94u) goto L_08A6FA94; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A6FA94u) goto L_08A6FA94; AOT_REGCACHE_SYNC_OUT(); return; L_08A6FA94: aot_gpr_4 = (aot_gpr_29 + static_cast(432)); @@ -9729,7 +9730,7 @@ L_08A6FC28: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1560))); ctx.gpr[31] = (0x08A6FC40u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A6FC40u) goto L_08A6FC40; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A6FC40u) goto L_08A6FC40; AOT_REGCACHE_SYNC_OUT(); return; L_08A6FC40: aot_gpr_4 = (aot_gpr_29 + static_cast(464)); @@ -9801,7 +9802,7 @@ L_08A6FCA8: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1560))); ctx.gpr[31] = (0x08A6FCC0u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A6FCC0u) goto L_08A6FCC0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A6FCC0u) goto L_08A6FCC0; AOT_REGCACHE_SYNC_OUT(); return; L_08A6FCC0: aot_gpr_4 = (aot_gpr_29 + static_cast(480)); @@ -10258,7 +10259,7 @@ L_08A6FFEC: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1560))); ctx.gpr[31] = (0x08A70004u); aot_gpr_4 = (ctx.gpr[17] | 0u); - (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); + (void)([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } diff --git a/profiles/vcs/generated/generated_unit_0155.cpp b/profiles/vcs/generated/generated_unit_0155.cpp index 71bff95..3d1d486 100644 --- a/profiles/vcs/generated/generated_unit_0155.cpp +++ b/profiles/vcs/generated/generated_unit_0155.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include "vcs_tier2_superblocks.hpp" #include #include @@ -139,20 +140,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0155[4094] = { }; void recomp_unit_0155_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,16,6,31 fprs=12,13,20,14 gpr_occ=3923 fpr_occ=762 gpr_total=5245 fpr_total=906 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,6,31,16 fprs=12,13,20,14 gpr_occ=3993 fpr_occ=762 gpr_total=5353 fpr_total=906 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; - std::uint32_t aot_gpr_16 = ctx.gpr[16]; std::uint32_t aot_gpr_6 = ctx.gpr[6]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; + std::uint32_t aot_gpr_16 = ctx.gpr[16]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_20 = ctx.fpr[20]; float aot_fpr_14 = ctx.fpr[14]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[16] = aot_gpr_16; ctx.gpr[6] = aot_gpr_6; ctx.gpr[31] = aot_gpr_31; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; ctx.fpr[14] = aot_fpr_14; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_31 = ctx.gpr[31]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_14 = ctx.fpr[14]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[6] = aot_gpr_6; ctx.gpr[31] = aot_gpr_31; ctx.gpr[16] = aot_gpr_16; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; ctx.fpr[14] = aot_fpr_14; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_16 = ctx.gpr[16]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_14 = ctx.fpr[14]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -1477,7 +1478,7 @@ L_08A703F0: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1560))); aot_gpr_31 = (0x08A70408u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A70408u) goto L_08A70408; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A70408u) goto L_08A70408; AOT_REGCACHE_SYNC_OUT(); return; L_08A70408: aot_gpr_4 = (aot_gpr_29 + static_cast(624)); @@ -1522,7 +1523,7 @@ L_08A7044C: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08A70464u); aot_gpr_5 = (ctx.gpr[23] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A70464u) goto L_08A70464; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A70464u) goto L_08A70464; AOT_REGCACHE_SYNC_OUT(); return; L_08A70464: aot_gpr_4 = (aot_gpr_29 + static_cast(624)); @@ -1823,7 +1824,7 @@ L_08A70638: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1560))); aot_gpr_31 = (0x08A70650u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A70650u) goto L_08A70650; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A70650u) goto L_08A70650; AOT_REGCACHE_SYNC_OUT(); return; L_08A70650: aot_gpr_4 = (aot_gpr_29 + static_cast(720)); @@ -1868,7 +1869,7 @@ L_08A70694: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08A706ACu); aot_gpr_5 = (ctx.gpr[23] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A706ACu) goto L_08A706AC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A706ACu) goto L_08A706AC; AOT_REGCACHE_SYNC_OUT(); return; L_08A706AC: aot_gpr_4 = (aot_gpr_29 + static_cast(720)); @@ -2250,7 +2251,7 @@ L_08A70914: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1560))); aot_gpr_31 = (0x08A7092Cu); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A7092Cu) goto L_08A7092C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A7092Cu) goto L_08A7092C; AOT_REGCACHE_SYNC_OUT(); return; L_08A7092C: aot_gpr_4 = (aot_gpr_29 + static_cast(816)); @@ -2295,7 +2296,7 @@ L_08A70970: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08A70988u); aot_gpr_5 = (ctx.gpr[23] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A70988u) goto L_08A70988; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A70988u) goto L_08A70988; AOT_REGCACHE_SYNC_OUT(); return; L_08A70988: aot_gpr_4 = (aot_gpr_29 + static_cast(816)); @@ -2754,7 +2755,7 @@ L_08A70CB4: L_08A70CBC: aot_gpr_31 = (0x08A70CC4u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A70CC4u) goto L_08A70CC4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A70CC4u) goto L_08A70CC4; AOT_REGCACHE_SYNC_OUT(); return; L_08A70CC4: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -2838,7 +2839,7 @@ L_08A70D38: L_08A70D40: aot_gpr_31 = (0x08A70D48u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A70D48u) goto L_08A70D48; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A70D48u) goto L_08A70D48; AOT_REGCACHE_SYNC_OUT(); return; L_08A70D48: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -6659,7 +6660,7 @@ L_08A72740: aot_gpr_5 = (aot_gpr_16 + static_cast(336)); aot_gpr_31 = (0x08A72758u); aot_gpr_4 = (ctx.gpr[22] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A72758u) goto L_08A72758; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A72758u) goto L_08A72758; AOT_REGCACHE_SYNC_OUT(); return; L_08A72758: { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); @@ -6707,7 +6708,7 @@ L_08A727A8: aot_gpr_5 = (ctx.gpr[22] + static_cast(336)); aot_gpr_31 = (0x08A727C0u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A727C0u) goto L_08A727C0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A727C0u) goto L_08A727C0; AOT_REGCACHE_SYNC_OUT(); return; L_08A727C0: { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); @@ -6989,7 +6990,7 @@ L_08A72990: aot_gpr_5 = (aot_gpr_16 + static_cast(336)); aot_gpr_31 = (0x08A729A8u); aot_gpr_4 = (ctx.gpr[22] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A729A8u) goto L_08A729A8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A729A8u) goto L_08A729A8; AOT_REGCACHE_SYNC_OUT(); return; L_08A729A8: { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); @@ -7037,7 +7038,7 @@ L_08A729F8: aot_gpr_5 = (ctx.gpr[22] + static_cast(336)); aot_gpr_31 = (0x08A72A10u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A72A10u) goto L_08A72A10; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A72A10u) goto L_08A72A10; AOT_REGCACHE_SYNC_OUT(); return; L_08A72A10: { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); @@ -7414,7 +7415,7 @@ L_08A72CAC: aot_gpr_5 = (aot_gpr_16 + static_cast(336)); aot_gpr_31 = (0x08A72CC4u); aot_gpr_4 = (ctx.gpr[22] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A72CC4u) goto L_08A72CC4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A72CC4u) goto L_08A72CC4; AOT_REGCACHE_SYNC_OUT(); return; L_08A72CC4: { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); @@ -7462,7 +7463,7 @@ L_08A72D14: aot_gpr_5 = (ctx.gpr[22] + static_cast(336)); aot_gpr_31 = (0x08A72D2Cu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A72D2Cu) goto L_08A72D2C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A72D2Cu) goto L_08A72D2C; AOT_REGCACHE_SYNC_OUT(); return; L_08A72D2C: { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); @@ -7726,7 +7727,7 @@ L_08A72F34: aot_gpr_5 = (aot_gpr_16 + static_cast(336)); aot_gpr_31 = (0x08A72F4Cu); aot_gpr_4 = (ctx.gpr[22] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A72F4Cu) goto L_08A72F4C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A72F4Cu) goto L_08A72F4C; AOT_REGCACHE_SYNC_OUT(); return; L_08A72F4C: { const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); @@ -7774,7 +7775,7 @@ L_08A72F9C: aot_gpr_5 = (ctx.gpr[22] + static_cast(336)); aot_gpr_31 = (0x08A72FB4u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A72FB4u) goto L_08A72FB4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A72FB4u) goto L_08A72FB4; AOT_REGCACHE_SYNC_OUT(); return; L_08A72FB4: { const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); @@ -8768,7 +8769,7 @@ L_08A73708: aot_gpr_4 = (ctx.gpr[28] + static_cast(7696)); aot_gpr_31 = (0x08A73728u); aot_gpr_5 = (0u | 80u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A73728u) goto L_08A73728; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A73728u) goto L_08A73728; AOT_REGCACHE_SYNC_OUT(); return; L_08A73728: aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(68), ctx.gpr[2]); @@ -9086,14 +9087,14 @@ L_08A73A20: aot_gpr_5 = (aot_gpr_5 + static_cast(119)); aot_gpr_31 = (0x08A73A48u); aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(56), aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A73A48u) goto L_08A73A48; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A73A48u) goto L_08A73A48; AOT_REGCACHE_SYNC_OUT(); return; L_08A73A48: aot_gpr_16 = (ctx.gpr[2] | 0u); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08A73A58u); aot_gpr_5 = (0u | 1000u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A73A58u) goto L_08A73A58; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089B7A84, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0108_entry, 108u, 690u, 0x089B7A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A73A58u) goto L_08A73A58; AOT_REGCACHE_SYNC_OUT(); return; L_08A73A58: aot_gpr_4 = (aot_gpr_16 + ctx.gpr[2]); diff --git a/profiles/vcs/generated/generated_unit_0156.cpp b/profiles/vcs/generated/generated_unit_0156.cpp index 7351653..9cb6b79 100644 --- a/profiles/vcs/generated/generated_unit_0156.cpp +++ b/profiles/vcs/generated/generated_unit_0156.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0156[4085] = { }; void recomp_unit_0156_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,6,16,17 fprs=12,13,22,14 gpr_occ=3807 fpr_occ=760 gpr_total=5510 fpr_total=1122 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,6,31,16 fprs=12,13,22,14 gpr_occ=3945 fpr_occ=768 gpr_total=5816 fpr_total=1130 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_6 = ctx.gpr[6]; + std::uint32_t aot_gpr_31 = ctx.gpr[31]; std::uint32_t aot_gpr_16 = ctx.gpr[16]; - std::uint32_t aot_gpr_17 = ctx.gpr[17]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_22 = ctx.fpr[22]; float aot_fpr_14 = ctx.fpr[14]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[6] = aot_gpr_6; ctx.gpr[16] = aot_gpr_16; ctx.gpr[17] = aot_gpr_17; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[22] = aot_fpr_22; ctx.fpr[14] = aot_fpr_14; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_17 = ctx.gpr[17]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_22 = ctx.fpr[22]; aot_fpr_14 = ctx.fpr[14]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[6] = aot_gpr_6; ctx.gpr[31] = aot_gpr_31; ctx.gpr[16] = aot_gpr_16; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[22] = aot_fpr_22; ctx.fpr[14] = aot_fpr_14; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_16 = ctx.gpr[16]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_22 = ctx.fpr[22]; aot_fpr_14 = ctx.fpr[14]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -953,8 +954,8 @@ LOCAL_DISPATCH: } } L_08A74000: - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(80))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(80))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(96)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -966,7 +967,7 @@ L_08A7400C: ctx.gpr[8] = (16256u << 16u); ctx.fpr[20] = std::bit_cast(0u); aot_gpr_4 = (0u | 2u); - { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_22), aot_gpr_16, ctx.gpr[31]}; + { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_22), aot_gpr_16, aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(64), aot_run_words); } { const bool branch_taken = aot_gpr_6 != aot_gpr_4; aot_fpr_22 = std::bit_cast(ctx.gpr[8]); @@ -997,7 +998,7 @@ L_08A74050: L_08A74060: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(10)))))); aot_gpr_6 = (aot_gpr_29 + static_cast(56)); - ctx.gpr[31] = (0x08A74070u); + aot_gpr_31 = (0x08A74070u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A74070u) goto L_08A74070; AOT_REGCACHE_SYNC_OUT(); return; @@ -1050,9 +1051,9 @@ L_08A740C8: ctx.fpr[20] = std::bit_cast(aot_run_words[0]); aot_fpr_22 = std::bit_cast(aot_run_words[1]); aot_gpr_16 = aot_run_words[2]; - ctx.gpr[31] = aot_run_words[3]; + aot_gpr_31 = aot_run_words[3]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(80)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -1079,10 +1080,10 @@ L_08A740E0: ctx.gpr[21] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), std::bit_cast(ctx.fpr[20])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), std::bit_cast(ctx.fpr[24])); - { const std::uint32_t aot_run_words[7]{std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20]}; + { const std::uint32_t aot_run_words[7]{std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(72), aot_run_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(108), ctx.gpr[23]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(116), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(116), aot_gpr_31); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); ctx.gpr[20] = (aot_gpr_5 | 0u); if (branch_taken) { @@ -1092,7 +1093,7 @@ L_08A740E0: } L_08A7415C: aot_gpr_5 = (ctx.gpr[20] + static_cast(4)); - ctx.gpr[31] = (0x08A74168u); + aot_gpr_31 = (0x08A74168u); aot_gpr_4 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0048_entry, 48u, 397u, 0x088C6080u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A74168u) goto L_08A74168; AOT_REGCACHE_SYNC_OUT(); return; @@ -1224,7 +1225,7 @@ L_08A741FC: L_08A7420C: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[22] + static_cast(10)))))); aot_gpr_6 = (aot_gpr_29 + static_cast(40)); - ctx.gpr[31] = (0x08A7421Cu); + aot_gpr_31 = (0x08A7421Cu); aot_gpr_4 = (ctx.gpr[22] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A7421Cu) goto L_08A7421C; AOT_REGCACHE_SYNC_OUT(); return; @@ -1314,7 +1315,7 @@ L_08A742A0: L_08A742B0: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(10)))))); aot_gpr_6 = (aot_gpr_29 + static_cast(41)); - ctx.gpr[31] = (0x08A742C0u); + aot_gpr_31 = (0x08A742C0u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A742C0u) goto L_08A742C0; AOT_REGCACHE_SYNC_OUT(); return; @@ -1378,7 +1379,7 @@ L_08A7431C: aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(352))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_17 = (0u | 2u); + ctx.gpr[17] = (0u | 2u); if (branch_taken) { goto L_08A7434C; } @@ -1387,7 +1388,7 @@ L_08A7431C: L_08A74330: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(10)))))); aot_gpr_6 = (aot_gpr_29 + static_cast(42)); - ctx.gpr[31] = (0x08A74340u); + aot_gpr_31 = (0x08A74340u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A74340u) goto L_08A74340; AOT_REGCACHE_SYNC_OUT(); return; @@ -1399,7 +1400,7 @@ L_08A74340: L_08A7434C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(194))); - { const bool branch_taken = aot_gpr_5 == aot_gpr_17; + { const bool branch_taken = aot_gpr_5 == ctx.gpr[17]; aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(16))); if (branch_taken) { goto L_08A74370; @@ -1470,7 +1471,7 @@ L_08A743A0: ctx.gpr[7] = (0u | 6u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(12))); { const bool branch_taken = aot_gpr_6 != ctx.gpr[7]; - aot_gpr_17 = (0u | 1u); + ctx.gpr[17] = (0u | 1u); if (branch_taken) { goto L_08A74408; } @@ -1487,7 +1488,7 @@ L_08A743B4: L_08A743C4: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(10)))))); aot_gpr_6 = (aot_gpr_29 + static_cast(43)); - ctx.gpr[31] = (0x08A743D4u); + aot_gpr_31 = (0x08A743D4u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A743D4u) goto L_08A743D4; AOT_REGCACHE_SYNC_OUT(); return; @@ -1500,7 +1501,7 @@ L_08A743D4: goto L_08A743E8; L_08A743E8: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(220))); - { const bool branch_taken = aot_gpr_5 != aot_gpr_17; + { const bool branch_taken = aot_gpr_5 != ctx.gpr[17]; // nop if (branch_taken) { goto L_08A744A4; @@ -1529,7 +1530,7 @@ L_08A74408: L_08A74418: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(10)))))); aot_gpr_6 = (aot_gpr_29 + static_cast(44)); - ctx.gpr[31] = (0x08A74428u); + aot_gpr_31 = (0x08A74428u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A74428u) goto L_08A74428; AOT_REGCACHE_SYNC_OUT(); return; @@ -1542,7 +1543,7 @@ L_08A74428: goto L_08A7443C; L_08A7443C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(220))); - { const bool branch_taken = aot_gpr_4 != aot_gpr_17; + { const bool branch_taken = aot_gpr_4 != ctx.gpr[17]; // nop if (branch_taken) { goto L_08A74458; @@ -1566,7 +1567,7 @@ L_08A74458: L_08A74468: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(10)))))); aot_gpr_6 = (aot_gpr_29 + static_cast(45)); - ctx.gpr[31] = (0x08A74478u); + aot_gpr_31 = (0x08A74478u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A74478u) goto L_08A74478; AOT_REGCACHE_SYNC_OUT(); return; @@ -1578,7 +1579,7 @@ L_08A74478: goto L_08A74488; L_08A74488: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(228))); - { const bool branch_taken = aot_gpr_5 != aot_gpr_17; + { const bool branch_taken = aot_gpr_5 != ctx.gpr[17]; aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(16))); if (branch_taken) { goto L_08A744A4; @@ -1604,7 +1605,7 @@ L_08A744AC: ctx.gpr[7] = (0u | 6u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(12))); { const bool branch_taken = aot_gpr_6 != ctx.gpr[7]; - aot_gpr_17 = (0u | 1u); + ctx.gpr[17] = (0u | 1u); if (branch_taken) { goto L_08A74514; } @@ -1621,7 +1622,7 @@ L_08A744C0: L_08A744D0: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(10)))))); aot_gpr_6 = (aot_gpr_29 + static_cast(46)); - ctx.gpr[31] = (0x08A744E0u); + aot_gpr_31 = (0x08A744E0u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A744E0u) goto L_08A744E0; AOT_REGCACHE_SYNC_OUT(); return; @@ -1634,7 +1635,7 @@ L_08A744E0: goto L_08A744F4; L_08A744F4: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(216))); - { const bool branch_taken = aot_gpr_5 != aot_gpr_17; + { const bool branch_taken = aot_gpr_5 != ctx.gpr[17]; // nop if (branch_taken) { goto L_08A745B0; @@ -1663,7 +1664,7 @@ L_08A74514: L_08A74524: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(10)))))); aot_gpr_6 = (aot_gpr_29 + static_cast(47)); - ctx.gpr[31] = (0x08A74534u); + aot_gpr_31 = (0x08A74534u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A74534u) goto L_08A74534; AOT_REGCACHE_SYNC_OUT(); return; @@ -1676,7 +1677,7 @@ L_08A74534: goto L_08A74548; L_08A74548: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(216))); - { const bool branch_taken = aot_gpr_4 != aot_gpr_17; + { const bool branch_taken = aot_gpr_4 != ctx.gpr[17]; // nop if (branch_taken) { goto L_08A74564; @@ -1700,7 +1701,7 @@ L_08A74564: L_08A74574: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(10)))))); aot_gpr_6 = (aot_gpr_29 + static_cast(48)); - ctx.gpr[31] = (0x08A74584u); + aot_gpr_31 = (0x08A74584u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A74584u) goto L_08A74584; AOT_REGCACHE_SYNC_OUT(); return; @@ -1712,7 +1713,7 @@ L_08A74584: goto L_08A74594; L_08A74594: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(224))); - { const bool branch_taken = aot_gpr_5 != aot_gpr_17; + { const bool branch_taken = aot_gpr_5 != ctx.gpr[17]; aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(16))); if (branch_taken) { goto L_08A745B0; @@ -1746,7 +1747,7 @@ L_08A745B8: L_08A745C8: aot_gpr_4 = (15820u << 16u); aot_gpr_4 = (aot_gpr_4 | 52429u); - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); ctx.fpr[20] = std::bit_cast(aot_gpr_4); ctx.gpr[18] = (aot_gpr_29 + static_cast(49)); goto L_08A745DC; @@ -1762,7 +1763,7 @@ L_08A745DC: L_08A745F0: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(10)))))); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08A74600u); + aot_gpr_31 = (0x08A74600u); aot_gpr_6 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A74600u) goto L_08A74600; AOT_REGCACHE_SYNC_OUT(); return; @@ -1773,7 +1774,7 @@ L_08A74600: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); goto L_08A74610; L_08A74610: - aot_gpr_5 = (aot_gpr_17 << 2u); + aot_gpr_5 = (ctx.gpr[17] << 2u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(216))); { const bool branch_taken = aot_gpr_4 != ctx.gpr[19]; @@ -1787,9 +1788,9 @@ L_08A74624: aot_fpr_22 = aot_fpr_22 + ctx.fpr[20]; goto L_08A74628; L_08A74628: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - aot_gpr_17 = (aot_gpr_17 & 255u); - aot_gpr_4 = (static_cast(aot_gpr_17) < 2 ? 1u : 0u); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + ctx.gpr[17] = (ctx.gpr[17] & 255u); + aot_gpr_4 = (static_cast(ctx.gpr[17]) < 2 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -1808,7 +1809,7 @@ L_08A7463C: L_08A74644: aot_gpr_4 = (15692u << 16u); aot_gpr_4 = (aot_gpr_4 | 52429u); - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); ctx.fpr[20] = std::bit_cast(aot_gpr_4); ctx.gpr[18] = (aot_gpr_29 + static_cast(50)); goto L_08A74658; @@ -1824,7 +1825,7 @@ L_08A74658: L_08A7466C: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(10)))))); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08A7467Cu); + aot_gpr_31 = (0x08A7467Cu); aot_gpr_6 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A7467Cu) goto L_08A7467C; AOT_REGCACHE_SYNC_OUT(); return; @@ -1835,7 +1836,7 @@ L_08A7467C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); goto L_08A7468C; L_08A7468C: - aot_gpr_5 = (aot_gpr_17 << 2u); + aot_gpr_5 = (ctx.gpr[17] << 2u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(216))); { const bool branch_taken = aot_gpr_4 != ctx.gpr[19]; @@ -1849,9 +1850,9 @@ L_08A746A0: aot_fpr_22 = aot_fpr_22 + ctx.fpr[20]; goto L_08A746A4; L_08A746A4: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - aot_gpr_17 = (aot_gpr_17 & 255u); - aot_gpr_4 = (static_cast(aot_gpr_17) < 4 ? 1u : 0u); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + ctx.gpr[17] = (ctx.gpr[17] & 255u); + aot_gpr_4 = (static_cast(ctx.gpr[17]) < 4 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -1946,7 +1947,7 @@ L_08A74768: aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(352))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_17 = (0u | 2u); + ctx.gpr[17] = (0u | 2u); if (branch_taken) { goto L_08A7479C; } @@ -1955,7 +1956,7 @@ L_08A74768: L_08A7477C: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(10)))))); aot_gpr_6 = (aot_gpr_29 + static_cast(51)); - ctx.gpr[31] = (0x08A7478Cu); + aot_gpr_31 = (0x08A7478Cu); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A7478Cu) goto L_08A7478C; AOT_REGCACHE_SYNC_OUT(); return; @@ -1967,7 +1968,7 @@ L_08A7478C: goto L_08A7479C; L_08A7479C: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(194))); - if (aot_gpr_4 == aot_gpr_17) { + if (aot_gpr_4 == ctx.gpr[17]) { aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast(0))); goto L_08A747D8; } @@ -2267,7 +2268,7 @@ L_08A74A14: aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_12)); aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_4 = (ctx.gpr[21] | 0u); - ctx.gpr[31] = (0x08A74A28u); + aot_gpr_31 = (0x08A74A28u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[30])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0109_entry, 109u, 21u, 0x089B8190u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A74A28u) goto L_08A74A28; AOT_REGCACHE_SYNC_OUT(); return; @@ -2296,7 +2297,7 @@ L_08A74A44: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(86)))))); aot_gpr_6 = (15523u << 16u); aot_gpr_6 = (aot_gpr_6 | 55050u); - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); ctx.fpr[20] = std::bit_cast(aot_gpr_6); aot_gpr_5 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_5) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; @@ -2310,10 +2311,10 @@ L_08A74A6C: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); goto L_08A74A7C; L_08A74A7C: - ctx.gpr[18] = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(648))); + ctx.gpr[18] = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(648))); ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(352))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(96))); { const bool branch_taken = aot_gpr_4 != 0u; @@ -2326,7 +2327,7 @@ L_08A74A7C: L_08A74A90: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(10)))))); aot_gpr_6 = (aot_gpr_29 + static_cast(52)); - ctx.gpr[31] = (0x08A74AA0u); + aot_gpr_31 = (0x08A74AA0u); aot_gpr_4 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A74AA0u) goto L_08A74AA0; AOT_REGCACHE_SYNC_OUT(); return; @@ -2403,7 +2404,7 @@ L_08A74B2C: goto L_08A74B38; } L_08A74B38: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(644))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(644))); aot_gpr_5 = (0u | 2u); aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast(56), aot_gpr_4); { const bool branch_taken = 0u == 0u; @@ -2425,7 +2426,7 @@ L_08A74B4C: L_08A74B60: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[20] + static_cast(10)))))); aot_gpr_6 = (aot_gpr_29 + static_cast(53)); - ctx.gpr[31] = (0x08A74B70u); + aot_gpr_31 = (0x08A74B70u); aot_gpr_4 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A74B70u) goto L_08A74B70; AOT_REGCACHE_SYNC_OUT(); return; @@ -2494,7 +2495,7 @@ L_08A74BF4: goto L_08A74C00; } L_08A74C00: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(644))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(644))); aot_gpr_5 = (0u | 2u); aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast(56), aot_gpr_4); aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast(52), aot_gpr_5); @@ -2577,7 +2578,7 @@ L_08A74CA8: aot_gpr_4 = (2237u << 16u); aot_mem.aot_direct_store8(ctx.gpr[21] + static_cast(113), static_cast(0u)); aot_gpr_5 = (0u | 0u); - ctx.gpr[31] = (0x08A74CDCu); + aot_gpr_31 = (0x08A74CDCu); aot_gpr_4 = (aot_gpr_4 + static_cast(-28320)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 703u, 0x089B7B80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A74CDCu) goto L_08A74CDC; AOT_REGCACHE_SYNC_OUT(); return; @@ -2602,7 +2603,7 @@ L_08A74CE8: ctx.fpr[28] = std::bit_cast(aot_run_words[4]); ctx.fpr[30] = std::bit_cast(aot_run_words[5]); aot_gpr_16 = aot_run_words[6]; - aot_gpr_17 = aot_run_words[7]; + ctx.gpr[17] = aot_run_words[7]; ctx.gpr[18] = aot_run_words[8]; ctx.gpr[19] = aot_run_words[9]; ctx.gpr[20] = aot_run_words[10]; @@ -2610,9 +2611,9 @@ L_08A74CE8: ctx.gpr[22] = aot_run_words[12]; ctx.gpr[23] = aot_run_words[13]; ctx.gpr[30] = aot_run_words[14]; - ctx.gpr[31] = aot_run_words[15]; + aot_gpr_31 = aot_run_words[15]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(128)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -2635,9 +2636,9 @@ L_08A74D30: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); ctx.gpr[19] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), std::bit_cast(ctx.fpr[26])); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), ctx.gpr[18]); - { const std::uint32_t aot_run_words[6]{ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[6]{ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(56), aot_run_words); } { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); ctx.gpr[18] = (aot_gpr_5 | 0u); @@ -2689,7 +2690,7 @@ L_08A74DC0: goto L_08A74DC8; } L_08A74DC8: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); ctx.gpr[21] = (aot_gpr_29 + static_cast(16)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(12))); goto L_08A74DD4; @@ -2704,7 +2705,7 @@ L_08A74DD4: L_08A74DE4: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[20] + static_cast(10)))))); aot_gpr_4 = (ctx.gpr[20] | 0u); - ctx.gpr[31] = (0x08A74DF4u); + aot_gpr_31 = (0x08A74DF4u); aot_gpr_6 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A74DF4u) goto L_08A74DF4; AOT_REGCACHE_SYNC_OUT(); return; @@ -2716,7 +2717,7 @@ L_08A74DF4: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(96))); goto L_08A74E08; L_08A74E08: - aot_gpr_6 = (aot_gpr_17 & 255u); + aot_gpr_6 = (ctx.gpr[17] & 255u); aot_gpr_6 = (aot_gpr_6 & 255u); aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(209))); @@ -2732,8 +2733,8 @@ L_08A74E20: aot_gpr_16 = (aot_gpr_16 & 255u); goto L_08A74E28; L_08A74E28: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - aot_gpr_5 = (static_cast(aot_gpr_17) < 4 ? 1u : 0u); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + aot_gpr_5 = (static_cast(ctx.gpr[17]) < 4 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 != 0u; // nop if (branch_taken) { @@ -2751,7 +2752,7 @@ L_08A74E38: goto L_08A74E44; } L_08A74E44: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); ctx.gpr[21] = (aot_gpr_29 + static_cast(17)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(12))); goto L_08A74E50; @@ -2766,7 +2767,7 @@ L_08A74E50: L_08A74E60: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[20] + static_cast(10)))))); aot_gpr_4 = (ctx.gpr[20] | 0u); - ctx.gpr[31] = (0x08A74E70u); + aot_gpr_31 = (0x08A74E70u); aot_gpr_6 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A74E70u) goto L_08A74E70; AOT_REGCACHE_SYNC_OUT(); return; @@ -2778,7 +2779,7 @@ L_08A74E70: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(96))); goto L_08A74E84; L_08A74E84: - aot_gpr_6 = (aot_gpr_17 & 255u); + aot_gpr_6 = (ctx.gpr[17] & 255u); aot_gpr_6 = (aot_gpr_6 & 255u); aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(209))); @@ -2794,8 +2795,8 @@ L_08A74E9C: aot_gpr_16 = (aot_gpr_16 & 255u); goto L_08A74EA4; L_08A74EA4: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - aot_gpr_5 = (static_cast(aot_gpr_17) < 2 ? 1u : 0u); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + aot_gpr_5 = (static_cast(ctx.gpr[17]) < 2 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 != 0u; // nop if (branch_taken) { @@ -2819,13 +2820,13 @@ L_08A74EC4: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(20), static_cast(ctx.gpr[20])); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); aot_gpr_5 = (ctx.gpr[18] + static_cast(4)); - ctx.gpr[31] = (0x08A74ED8u); + aot_gpr_31 = (0x08A74ED8u); aot_gpr_4 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0048_entry, 48u, 397u, 0x088C6080u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A74ED8u) goto L_08A74ED8; AOT_REGCACHE_SYNC_OUT(); return; L_08A74ED8: - aot_gpr_17 = (0u | 0u); - aot_gpr_4 = (static_cast(aot_gpr_17) < static_cast(ctx.gpr[20]) ? 1u : 0u); + ctx.gpr[17] = (0u | 0u); + aot_gpr_4 = (static_cast(ctx.gpr[17]) < static_cast(ctx.gpr[20]) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; ctx.gpr[30] = (0u | 70u); if (branch_taken) { @@ -2853,7 +2854,7 @@ L_08A74EF8: L_08A74F0C: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(10)))))); aot_gpr_6 = (aot_gpr_29 + static_cast(18)); - ctx.gpr[31] = (0x08A74F1Cu); + aot_gpr_31 = (0x08A74F1Cu); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A74F1Cu) goto L_08A74F1C; AOT_REGCACHE_SYNC_OUT(); return; @@ -2864,7 +2865,7 @@ L_08A74F1C: goto L_08A74F28; L_08A74F28: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); - aot_gpr_5 = (aot_gpr_17 << 2u); + aot_gpr_5 = (ctx.gpr[17] << 2u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(216))); { const bool branch_taken = aot_gpr_16 != 0u; @@ -2919,7 +2920,7 @@ L_08A74F6C: } L_08A74F74: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(12))); - { const bool branch_taken = aot_gpr_17 == ctx.gpr[22]; + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[22]; aot_fpr_22 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(24))); if (branch_taken) { goto L_08A74F88; @@ -2927,7 +2928,7 @@ L_08A74F74: goto L_08A74F80; } L_08A74F80: - { const bool branch_taken = aot_gpr_17 != ctx.gpr[21]; + { const bool branch_taken = ctx.gpr[17] != ctx.gpr[21]; // nop if (branch_taken) { goto L_08A74FAC; @@ -2940,7 +2941,7 @@ L_08A74F88: aot_gpr_5 = (aot_gpr_4 | 0u); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_22)); aot_gpr_4 = (ctx.gpr[19] | 0u); - ctx.gpr[31] = (0x08A74FA4u); + aot_gpr_31 = (0x08A74FA4u); aot_gpr_6 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0155_entry, 155u, 720u, 0x08A73E24u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A74FA4u) goto L_08A74FA4; AOT_REGCACHE_SYNC_OUT(); return; @@ -2957,7 +2958,7 @@ L_08A74FAC: aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_22)); aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_4 = (ctx.gpr[19] | 0u); - ctx.gpr[31] = (0x08A74FC4u); + aot_gpr_31 = (0x08A74FC4u); aot_gpr_6 = (aot_gpr_16 | 0u); goto L_08A7400C; L_08A74FC4: @@ -2973,7 +2974,7 @@ L_08A74FC8: } L_08A74FD0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(12))); - { const bool branch_taken = aot_gpr_17 == 0u; + { const bool branch_taken = ctx.gpr[17] == 0u; aot_fpr_22 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(24))); if (branch_taken) { goto L_08A74FE4; @@ -2981,7 +2982,7 @@ L_08A74FD0: goto L_08A74FDC; } L_08A74FDC: - { const bool branch_taken = aot_gpr_17 != ctx.gpr[20]; + { const bool branch_taken = ctx.gpr[17] != ctx.gpr[20]; // nop if (branch_taken) { goto L_08A75008; @@ -2994,7 +2995,7 @@ L_08A74FE4: aot_gpr_5 = (aot_gpr_4 | 0u); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_22)); aot_gpr_4 = (ctx.gpr[19] | 0u); - ctx.gpr[31] = (0x08A75000u); + aot_gpr_31 = (0x08A75000u); aot_gpr_6 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0155_entry, 155u, 720u, 0x08A73E24u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A75000u) goto L_08A75000; AOT_REGCACHE_SYNC_OUT(); return; @@ -3011,7 +3012,7 @@ L_08A75008: aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_22)); aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_4 = (ctx.gpr[19] | 0u); - ctx.gpr[31] = (0x08A75020u); + aot_gpr_31 = (0x08A75020u); aot_gpr_6 = (aot_gpr_16 | 0u); goto L_08A7400C; L_08A75020: @@ -3031,7 +3032,7 @@ L_08A7502C: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(12))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(24))); aot_gpr_4 = (ctx.gpr[19] | 0u); - ctx.gpr[31] = (0x08A75048u); + aot_gpr_31 = (0x08A75048u); aot_gpr_6 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0155_entry, 155u, 720u, 0x08A73E24u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A75048u) goto L_08A75048; AOT_REGCACHE_SYNC_OUT(); return; @@ -3052,10 +3053,10 @@ L_08A7505C: ctx.fpr[24] = std::bit_cast(std::bit_cast(aot_fpr_22)); goto L_08A75060; L_08A75060: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(20))); - aot_gpr_17 = (aot_gpr_17 & 255u); - aot_gpr_4 = (static_cast(aot_gpr_17) < static_cast(aot_gpr_4) ? 1u : 0u); + ctx.gpr[17] = (ctx.gpr[17] & 255u); + aot_gpr_4 = (static_cast(ctx.gpr[17]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -3084,7 +3085,7 @@ L_08A75088: aot_fpr_14 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); aot_gpr_5 = (std::bit_cast(aot_fpr_14)); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); - ctx.gpr[31] = (0x08A750B8u); + aot_gpr_31 = (0x08A750B8u); aot_gpr_5 = (aot_gpr_5 & 255u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0109_entry, 109u, 21u, 0x089B8190u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A750B8u) goto L_08A750B8; AOT_REGCACHE_SYNC_OUT(); return; @@ -3102,8 +3103,8 @@ L_08A750C8: aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(52), aot_gpr_16); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(12))); aot_gpr_5 = (20224u << 16u); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(352))); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(96))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(352))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); { const bool branch_taken = aot_gpr_4 != 0u; aot_fpr_22 = std::bit_cast(aot_gpr_5); if (branch_taken) { @@ -3112,17 +3113,17 @@ L_08A750C8: goto L_08A750E4; } L_08A750E4: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(10)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(10)))))); aot_gpr_6 = (aot_gpr_29 + static_cast(19)); - ctx.gpr[31] = (0x08A750F4u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_31 = (0x08A750F4u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A750F4u) goto L_08A750F4; AOT_REGCACHE_SYNC_OUT(); return; L_08A750F4: - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(96), ctx.gpr[2]); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(19))); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(96))); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(4), static_cast(aot_gpr_5)); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(4), static_cast(aot_gpr_5)); goto L_08A75104; L_08A75104: aot_gpr_4 = (aot_gpr_4 + static_cast(304)); @@ -3329,7 +3330,7 @@ L_08A752BC: aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(116), aot_gpr_16); aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(113), static_cast(0u)); aot_gpr_4 = (aot_gpr_6 | 0u); - ctx.gpr[31] = (0x08A752ECu); + aot_gpr_31 = (0x08A752ECu); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 703u, 0x089B7B80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A752ECu) goto L_08A752EC; AOT_REGCACHE_SYNC_OUT(); return; @@ -3352,7 +3353,7 @@ L_08A752F8: ctx.fpr[24] = std::bit_cast(aot_run_words[2]); ctx.fpr[26] = std::bit_cast(aot_run_words[3]); aot_gpr_16 = aot_run_words[4]; - aot_gpr_17 = aot_run_words[5]; + ctx.gpr[17] = aot_run_words[5]; ctx.gpr[18] = aot_run_words[6]; ctx.gpr[19] = aot_run_words[7]; ctx.gpr[20] = aot_run_words[8]; @@ -3360,9 +3361,9 @@ L_08A752F8: ctx.gpr[22] = aot_run_words[10]; ctx.gpr[23] = aot_run_words[11]; ctx.gpr[30] = aot_run_words[12]; - ctx.gpr[31] = aot_run_words[13]; + aot_gpr_31 = aot_run_words[13]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(80)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -3381,18 +3382,18 @@ L_08A75338: aot_gpr_16 = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), std::bit_cast(ctx.fpr[20])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), std::bit_cast(aot_fpr_22)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), aot_gpr_17); - { const std::uint32_t aot_run_words[4]{ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[31]}; + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), ctx.gpr[17]); + { const std::uint32_t aot_run_words[4]{ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(48), aot_run_words); } { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); - aot_gpr_17 = (aot_gpr_5 | 0u); + ctx.gpr[17] = (aot_gpr_5 | 0u); if (branch_taken) { goto L_08A756A8; } goto L_08A75384; } L_08A75384: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); { const bool branch_taken = static_cast(aot_gpr_4) > 0; aot_gpr_5 = (0u | 6u); if (branch_taken) { @@ -3437,7 +3438,7 @@ L_08A753B0: ctx.gpr[21] = (aot_gpr_29 + static_cast(24)); goto L_08A753B8; L_08A753B8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(12))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(12))); ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(352))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(96))); if (aot_gpr_4 != 0u) { @@ -3448,7 +3449,7 @@ L_08A753B8: L_08A753CC: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[20] + static_cast(10)))))); aot_gpr_4 = (ctx.gpr[20] | 0u); - ctx.gpr[31] = (0x08A753DCu); + aot_gpr_31 = (0x08A753DCu); aot_gpr_6 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A753DCu) goto L_08A753DC; AOT_REGCACHE_SYNC_OUT(); return; @@ -3486,7 +3487,7 @@ L_08A7540C: } L_08A7541C: { const bool branch_taken = 0u == 0u; - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(16))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(16))); if (branch_taken) { goto L_08A754A0; } @@ -3497,7 +3498,7 @@ L_08A75424: ctx.gpr[21] = (aot_gpr_29 + static_cast(25)); goto L_08A7542C; L_08A7542C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(12))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(12))); ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(352))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(96))); if (aot_gpr_4 != 0u) { @@ -3508,7 +3509,7 @@ L_08A7542C: L_08A75440: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[20] + static_cast(10)))))); aot_gpr_4 = (ctx.gpr[20] | 0u); - ctx.gpr[31] = (0x08A75450u); + aot_gpr_31 = (0x08A75450u); aot_gpr_6 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A75450u) goto L_08A75450; AOT_REGCACHE_SYNC_OUT(); return; @@ -3546,7 +3547,7 @@ L_08A75480: } L_08A75490: { const bool branch_taken = 0u == 0u; - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(16))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(16))); if (branch_taken) { goto L_08A754A0; } @@ -3554,7 +3555,7 @@ L_08A75490: } L_08A75498: ctx.gpr[18] = (0u | 4u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(16))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(16))); goto L_08A754A0; L_08A754A0: { const bool branch_taken = aot_gpr_4 == 0u; @@ -3573,7 +3574,7 @@ L_08A754A8: goto L_08A754B0; } L_08A754B0: - ctx.fpr[20] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(24))); + ctx.fpr[20] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(24))); ctx.fpr[20] = std::bit_cast(std::bit_cast(ctx.fpr[20]) & 0x7FFFFFFFu); aot_fpr_12 = std::bit_cast(0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[20] <= aot_fpr_12)) ? 0x00800000u : 0u); @@ -3587,14 +3588,14 @@ L_08A754B0: } L_08A754CC: aot_fpr_22 = std::bit_cast(std::bit_cast(ctx.fpr[20])); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); - aot_gpr_5 = (aot_gpr_17 + static_cast(4)); - ctx.gpr[31] = (0x08A754E0u); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); + aot_gpr_5 = (ctx.gpr[17] + static_cast(4)); + aot_gpr_31 = (0x08A754E0u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0048_entry, 48u, 397u, 0x088C6080u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A754E0u) goto L_08A754E0; AOT_REGCACHE_SYNC_OUT(); return; L_08A754E0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(16))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(16))); aot_gpr_5 = (16128u << 16u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(80))); ctx.fpr[20] = std::bit_cast(aot_gpr_5); @@ -3622,7 +3623,7 @@ L_08A7551C: aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_14)); ctx.gpr[18] = (std::bit_cast(ctx.fpr[15])); ctx.gpr[18] = (ctx.gpr[18] & 255u); - ctx.gpr[31] = (0x08A75548u); + aot_gpr_31 = (0x08A75548u); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0109_entry, 109u, 21u, 0x089B8190u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A75548u) goto L_08A75548; AOT_REGCACHE_SYNC_OUT(); return; @@ -3642,9 +3643,9 @@ L_08A75558: aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(61), static_cast(0u)); aot_gpr_4 = (0u | 3u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(12))); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(352))); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(96))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(12))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(352))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_4 = (aot_gpr_4 + static_cast(304)); if (branch_taken) { @@ -3653,17 +3654,17 @@ L_08A75558: goto L_08A75580; } L_08A75580: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(10)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(10)))))); aot_gpr_6 = (aot_gpr_29 + static_cast(26)); - ctx.gpr[31] = (0x08A75590u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_31 = (0x08A75590u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A75590u) goto L_08A75590; AOT_REGCACHE_SYNC_OUT(); return; L_08A75590: - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(96), ctx.gpr[2]); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(26))); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(96))); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(4), static_cast(aot_gpr_5)); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(4), static_cast(aot_gpr_5)); aot_gpr_4 = (aot_gpr_4 + static_cast(304)); goto L_08A755A4; L_08A755A4: @@ -3701,9 +3702,9 @@ L_08A755E4: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), aot_gpr_4); aot_gpr_4 = (ctx.gpr[28] + static_cast(7696)); aot_gpr_5 = (0u | 296u); - ctx.gpr[31] = (0x08A75604u); + aot_gpr_31 = (0x08A75604u); { const float fs = aot_fpr_12; const float ft = ctx.fpr[20]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[20] = std::bit_cast(0x7FC00000u); else ctx.fpr[20] = fs * ft; } - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A75604u) goto L_08A75604; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A75604u) goto L_08A75604; AOT_REGCACHE_SYNC_OUT(); return; L_08A75604: aot_gpr_4 = (ctx.gpr[2] + ctx.gpr[2]); @@ -3765,7 +3766,7 @@ L_08A7566C: aot_gpr_4 = (2237u << 16u); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(113), static_cast(0u)); aot_gpr_5 = (0u | 0u); - ctx.gpr[31] = (0x08A756A0u); + aot_gpr_31 = (0x08A756A0u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28320)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 703u, 0x089B7B80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A756A0u) goto L_08A756A0; AOT_REGCACHE_SYNC_OUT(); return; @@ -3786,14 +3787,14 @@ L_08A756AC: ctx.fpr[20] = std::bit_cast(aot_run_words[0]); aot_fpr_22 = std::bit_cast(aot_run_words[1]); aot_gpr_16 = aot_run_words[2]; - aot_gpr_17 = aot_run_words[3]; + ctx.gpr[17] = aot_run_words[3]; ctx.gpr[18] = aot_run_words[4]; ctx.gpr[19] = aot_run_words[5]; ctx.gpr[20] = aot_run_words[6]; ctx.gpr[21] = aot_run_words[7]; - ctx.gpr[31] = aot_run_words[8]; + aot_gpr_31 = aot_run_words[8]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(64)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -3810,18 +3811,18 @@ L_08A756D8: ctx.gpr[18] = (0u | 0u); aot_gpr_16 = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), std::bit_cast(ctx.fpr[20])); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), aot_gpr_17); - { const std::uint32_t aot_run_words[3]{ctx.gpr[19], ctx.gpr[20], ctx.gpr[31]}; + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), ctx.gpr[17]); + { const std::uint32_t aot_run_words[3]{ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(44), aot_run_words); } { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); - aot_gpr_17 = (aot_gpr_5 | 0u); + ctx.gpr[17] = (aot_gpr_5 | 0u); if (branch_taken) { goto L_08A75A9C; } goto L_08A75718; } L_08A75718: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); { const bool branch_taken = static_cast(aot_gpr_4) > 0; aot_gpr_5 = (0u | 6u); if (branch_taken) { @@ -3890,7 +3891,7 @@ L_08A75764: goto L_08A7576C; } L_08A7576C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(12))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(12))); ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(352))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(96))); if (aot_gpr_4 != 0u) { @@ -3901,7 +3902,7 @@ L_08A7576C: L_08A75780: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(10)))))); aot_gpr_6 = (aot_gpr_29 + static_cast(24)); - ctx.gpr[31] = (0x08A75790u); + aot_gpr_31 = (0x08A75790u); aot_gpr_4 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A75790u) goto L_08A75790; AOT_REGCACHE_SYNC_OUT(); return; @@ -3924,7 +3925,7 @@ L_08A757A0: goto L_08A757B8; } L_08A757B8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(12))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(12))); ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(352))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(96))); if (aot_gpr_4 != 0u) { @@ -3935,7 +3936,7 @@ L_08A757B8: L_08A757CC: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(10)))))); aot_gpr_6 = (aot_gpr_29 + static_cast(25)); - ctx.gpr[31] = (0x08A757DCu); + aot_gpr_31 = (0x08A757DCu); aot_gpr_4 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A757DCu) goto L_08A757DC; AOT_REGCACHE_SYNC_OUT(); return; @@ -4005,7 +4006,7 @@ L_08A75840: goto L_08A75848; } L_08A75848: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(12))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(12))); ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(352))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(96))); if (aot_gpr_4 != 0u) { @@ -4016,7 +4017,7 @@ L_08A75848: L_08A7585C: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[20] + static_cast(10)))))); aot_gpr_6 = (aot_gpr_29 + static_cast(26)); - ctx.gpr[31] = (0x08A7586Cu); + aot_gpr_31 = (0x08A7586Cu); aot_gpr_4 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A7586Cu) goto L_08A7586C; AOT_REGCACHE_SYNC_OUT(); return; @@ -4039,7 +4040,7 @@ L_08A7587C: goto L_08A75894; } L_08A75894: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(12))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(12))); ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(352))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(96))); if (aot_gpr_4 != 0u) { @@ -4050,7 +4051,7 @@ L_08A75894: L_08A758A8: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[20] + static_cast(10)))))); aot_gpr_6 = (aot_gpr_29 + static_cast(27)); - ctx.gpr[31] = (0x08A758B8u); + aot_gpr_31 = (0x08A758B8u); aot_gpr_4 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A758B8u) goto L_08A758B8; AOT_REGCACHE_SYNC_OUT(); return; @@ -4120,11 +4121,11 @@ L_08A7591C: goto L_08A75924; } L_08A75924: - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(24))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(24))); aot_gpr_4 = (16256u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); ctx.fpr[20] = std::bit_cast(std::bit_cast(aot_fpr_13) & 0x7FFFFFFFu); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(16))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(16))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(80))); aot_gpr_4 = (16025u << 16u); aot_gpr_4 = (aot_gpr_4 | 39322u); @@ -4152,9 +4153,9 @@ L_08A75960: goto L_08A7597C; } L_08A7597C: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); - aot_gpr_5 = (aot_gpr_17 + static_cast(4)); - ctx.gpr[31] = (0x08A7598Cu); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); + aot_gpr_5 = (ctx.gpr[17] + static_cast(4)); + aot_gpr_31 = (0x08A7598Cu); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0048_entry, 48u, 397u, 0x088C6080u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A7598Cu) goto L_08A7598C; AOT_REGCACHE_SYNC_OUT(); return; @@ -4168,7 +4169,7 @@ L_08A7598C: aot_fpr_14 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_gpr_5); aot_gpr_5 = (std::bit_cast(aot_fpr_14)); - ctx.gpr[31] = (0x08A759B8u); + aot_gpr_31 = (0x08A759B8u); aot_gpr_5 = (aot_gpr_5 & 255u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0109_entry, 109u, 21u, 0x089B8190u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A759B8u) goto L_08A759B8; AOT_REGCACHE_SYNC_OUT(); return; @@ -4246,7 +4247,7 @@ L_08A75A50: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(116), aot_gpr_4); aot_gpr_4 = (2237u << 16u); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(113), static_cast(0u)); - ctx.gpr[31] = (0x08A75A94u); + aot_gpr_31 = (0x08A75A94u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28320)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 703u, 0x089B7B80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A75A94u) goto L_08A75A94; AOT_REGCACHE_SYNC_OUT(); return; @@ -4266,13 +4267,13 @@ L_08A75AA0: aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(28), aot_run_words); ctx.fpr[20] = std::bit_cast(aot_run_words[0]); aot_gpr_16 = aot_run_words[1]; - aot_gpr_17 = aot_run_words[2]; + ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; ctx.gpr[19] = aot_run_words[4]; ctx.gpr[20] = aot_run_words[5]; - ctx.gpr[31] = aot_run_words[6]; + aot_gpr_31 = aot_run_words[6]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(64)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -4289,17 +4290,17 @@ L_08A75AC4: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), std::bit_cast(ctx.fpr[20])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), std::bit_cast(aot_fpr_22)); - { const std::uint32_t aot_run_words[7]{aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[7]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(32), aot_run_words); } { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); - aot_gpr_17 = (aot_gpr_5 | 0u); + ctx.gpr[17] = (aot_gpr_5 | 0u); if (branch_taken) { goto L_08A75D70; } goto L_08A75B10; } L_08A75B10: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(12))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(12))); ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(352))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(96))); { const bool branch_taken = aot_gpr_4 != 0u; @@ -4312,7 +4313,7 @@ L_08A75B10: L_08A75B24: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(10)))))); aot_gpr_6 = (aot_gpr_29 + static_cast(16)); - ctx.gpr[31] = (0x08A75B34u); + aot_gpr_31 = (0x08A75B34u); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A75B34u) goto L_08A75B34; AOT_REGCACHE_SYNC_OUT(); return; @@ -4332,14 +4333,14 @@ L_08A75B40: goto L_08A75B50; } L_08A75B50: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); - aot_gpr_5 = (aot_gpr_17 + static_cast(4)); - ctx.gpr[31] = (0x08A75B60u); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); + aot_gpr_5 = (ctx.gpr[17] + static_cast(4)); + aot_gpr_31 = (0x08A75B60u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0048_entry, 48u, 397u, 0x088C6080u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A75B60u) goto L_08A75B60; AOT_REGCACHE_SYNC_OUT(); return; L_08A75B60: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(12))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(12))); ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(352))); aot_gpr_4 = (17116u << 16u); ctx.fpr[20] = std::bit_cast(aot_gpr_4); @@ -4354,7 +4355,7 @@ L_08A75B60: L_08A75B7C: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(10)))))); aot_gpr_6 = (aot_gpr_29 + static_cast(17)); - ctx.gpr[31] = (0x08A75B8Cu); + aot_gpr_31 = (0x08A75B8Cu); aot_gpr_4 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A75B8Cu) goto L_08A75B8C; AOT_REGCACHE_SYNC_OUT(); return; @@ -4383,13 +4384,13 @@ L_08A75BB8: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(76))); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08A75BCCu); + aot_gpr_31 = (0x08A75BCCu); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0109_entry, 109u, 21u, 0x089B8190u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A75BCCu) goto L_08A75BCC; AOT_REGCACHE_SYNC_OUT(); return; L_08A75BCC: aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(72), static_cast(ctx.gpr[2])); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(12))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(12))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(86)))))); aot_gpr_5 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_5) ? 1u : 0u); @@ -4419,8 +4420,8 @@ L_08A75C04: ctx.gpr[19] = (0u | 5u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(52), ctx.gpr[19]); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08A75C18u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_31 = (0x08A75C18u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0155_entry, 155u, 565u, 0x08A731B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A75C18u) goto L_08A75C18; AOT_REGCACHE_SYNC_OUT(); return; L_08A75C18: @@ -4432,7 +4433,7 @@ L_08A75C18: goto L_08A75C20; } L_08A75C20: - ctx.gpr[21] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(12))); + ctx.gpr[21] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(12))); aot_gpr_4 = (0u | 4u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(72))); aot_gpr_5 = (aot_gpr_5 & 496u); @@ -4475,7 +4476,7 @@ L_08A75C5C: L_08A75C64: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[21] + static_cast(10)))))); aot_gpr_6 = (aot_gpr_29 + static_cast(18)); - ctx.gpr[31] = (0x08A75C74u); + aot_gpr_31 = (0x08A75C74u); aot_gpr_4 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A75C74u) goto L_08A75C74; AOT_REGCACHE_SYNC_OUT(); return; @@ -4489,7 +4490,7 @@ L_08A75C84: aot_gpr_4 = (aot_gpr_4 + static_cast(195)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0))); { const bool branch_taken = aot_gpr_4 == 0u; - ctx.gpr[21] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(20))); + ctx.gpr[21] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(20))); if (branch_taken) { goto L_08A75CE8; } @@ -4515,7 +4516,7 @@ L_08A75CA0: L_08A75CA8: aot_gpr_4 = (0u | 310u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(20))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(20))); aot_gpr_5 = (0u | 23u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -4535,9 +4536,9 @@ L_08A75CC0: } L_08A75CCC: aot_gpr_4 = (ctx.gpr[28] + static_cast(7696)); - ctx.gpr[31] = (0x08A75CD8u); + aot_gpr_31 = (0x08A75CD8u); aot_gpr_5 = (0u | 310u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A75CD8u) goto L_08A75CD8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880A400, 1u, 514u, 0x0880A400u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0001_entry, 1u, 514u, 0x0880A400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A75CD8u) goto L_08A75CD8; AOT_REGCACHE_SYNC_OUT(); return; L_08A75CD8: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), ctx.gpr[2]); @@ -4601,7 +4602,7 @@ L_08A75D38: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(116), ctx.gpr[19]); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(113), static_cast(0u)); aot_gpr_4 = (ctx.gpr[22] | 0u); - ctx.gpr[31] = (0x08A75D68u); + aot_gpr_31 = (0x08A75D68u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 703u, 0x089B7B80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A75D68u) goto L_08A75D68; AOT_REGCACHE_SYNC_OUT(); return; @@ -4622,15 +4623,15 @@ L_08A75D74: ctx.fpr[20] = std::bit_cast(aot_run_words[0]); aot_fpr_22 = std::bit_cast(aot_run_words[1]); aot_gpr_16 = aot_run_words[2]; - aot_gpr_17 = aot_run_words[3]; + ctx.gpr[17] = aot_run_words[3]; ctx.gpr[18] = aot_run_words[4]; ctx.gpr[19] = aot_run_words[5]; ctx.gpr[20] = aot_run_words[6]; ctx.gpr[21] = aot_run_words[7]; ctx.gpr[22] = aot_run_words[8]; - ctx.gpr[31] = aot_run_words[9]; + aot_gpr_31 = aot_run_words[9]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(64)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -4643,14 +4644,14 @@ L_08A75DA4: ctx.gpr[7] = (ctx.gpr[7] + static_cast(-28736)); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_6 + static_cast(3)))))); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(100))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), ctx.gpr[17]); ctx.gpr[7] = (aot_mem.aot_direct_load16(ctx.gpr[7] + static_cast(52))); - aot_gpr_17 = (aot_gpr_4 | 0u); + ctx.gpr[17] = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_6 ^ ctx.gpr[7]); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), aot_gpr_16); - { const std::uint32_t aot_run_words[4]{ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[4]{ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(60), aot_run_words); } { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_16 = (aot_gpr_5 | 0u); @@ -4740,14 +4741,14 @@ L_08A75E7C: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_5 = (aot_gpr_17 + static_cast(96)); + aot_gpr_5 = (ctx.gpr[17] + static_cast(96)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(20), static_cast(0u)); - ctx.gpr[31] = (0x08A75E9Cu); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_31 = (0x08A75E9Cu); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0049_entry, 49u, 494u, 0x088CA7B0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A75E9Cu) goto L_08A75E9C; AOT_REGCACHE_SYNC_OUT(); return; L_08A75E9C: @@ -4789,7 +4790,7 @@ L_08A75EC8: L_08A75EE8: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(10)))))); aot_gpr_6 = (aot_gpr_29 + static_cast(44)); - ctx.gpr[31] = (0x08A75EF8u); + aot_gpr_31 = (0x08A75EF8u); aot_gpr_4 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A75EF8u) goto L_08A75EF8; AOT_REGCACHE_SYNC_OUT(); return; @@ -4820,7 +4821,7 @@ L_08A75F08: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(108))); ctx.gpr[19] = (aot_gpr_5 + static_cast(16)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(0)))))); - ctx.gpr[31] = (0x08A75F40u); + aot_gpr_31 = (0x08A75F40u); ctx.gpr[20] = (aot_gpr_4 + aot_gpr_5); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 597u, 0x089F71F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A75F40u) goto L_08A75F40; AOT_REGCACHE_SYNC_OUT(); return; @@ -4828,7 +4829,7 @@ L_08A75F40: aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(4))); aot_gpr_4 = (ctx.gpr[20] | 0u); jump_target = aot_gpr_6; - ctx.gpr[31] = (0x08A75F50u); + aot_gpr_31 = (0x08A75F50u); aot_gpr_5 = (ctx.gpr[2] | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A75F50u) goto L_08A75F50; @@ -4852,7 +4853,7 @@ L_08A75F60: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(108))); ctx.gpr[19] = (aot_gpr_5 + static_cast(16)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(0)))))); - ctx.gpr[31] = (0x08A75F78u); + aot_gpr_31 = (0x08A75F78u); ctx.gpr[20] = (aot_gpr_4 + aot_gpr_5); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0168_entry, 168u, 71u, 0x08AA4980u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A75F78u) goto L_08A75F78; AOT_REGCACHE_SYNC_OUT(); return; @@ -4860,7 +4861,7 @@ L_08A75F78: aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(4))); aot_gpr_4 = (ctx.gpr[20] | 0u); jump_target = aot_gpr_6; - ctx.gpr[31] = (0x08A75F88u); + aot_gpr_31 = (0x08A75F88u); aot_gpr_5 = (ctx.gpr[2] | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A75F88u) goto L_08A75F88; @@ -4885,7 +4886,7 @@ L_08A75F9C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(108))); ctx.gpr[19] = (aot_gpr_5 + static_cast(16)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(0)))))); - ctx.gpr[31] = (0x08A75FB4u); + aot_gpr_31 = (0x08A75FB4u); ctx.gpr[20] = (aot_gpr_4 + aot_gpr_5); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0025_entry, 25u, 741u, 0x0886BB34u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A75FB4u) goto L_08A75FB4; AOT_REGCACHE_SYNC_OUT(); return; @@ -4893,7 +4894,7 @@ L_08A75FB4: aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(4))); aot_gpr_4 = (ctx.gpr[20] | 0u); jump_target = aot_gpr_6; - ctx.gpr[31] = (0x08A75FC4u); + aot_gpr_31 = (0x08A75FC4u); aot_gpr_5 = (ctx.gpr[2] | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A75FC4u) goto L_08A75FC4; @@ -4918,7 +4919,7 @@ L_08A75FD8: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(108))); ctx.gpr[19] = (aot_gpr_5 + static_cast(16)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(0)))))); - ctx.gpr[31] = (0x08A75FF0u); + aot_gpr_31 = (0x08A75FF0u); ctx.gpr[20] = (aot_gpr_4 + aot_gpr_5); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0197_entry, 197u, 847u, 0x08B1BC2Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A75FF0u) goto L_08A75FF0; AOT_REGCACHE_SYNC_OUT(); return; @@ -4926,7 +4927,7 @@ L_08A75FF0: aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(4))); aot_gpr_4 = (ctx.gpr[20] | 0u); jump_target = aot_gpr_6; - ctx.gpr[31] = (0x08A76000u); + aot_gpr_31 = (0x08A76000u); aot_gpr_5 = (ctx.gpr[2] | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A76000u) goto L_08A76000; @@ -4951,7 +4952,7 @@ L_08A76014: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(108))); ctx.gpr[19] = (aot_gpr_5 + static_cast(16)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(0)))))); - ctx.gpr[31] = (0x08A7602Cu); + aot_gpr_31 = (0x08A7602Cu); ctx.gpr[20] = (aot_gpr_4 + aot_gpr_5); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0005_entry, 5u, 508u, 0x0881AF4Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A7602Cu) goto L_08A7602C; AOT_REGCACHE_SYNC_OUT(); return; @@ -4959,7 +4960,7 @@ L_08A7602C: aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(4))); aot_gpr_4 = (ctx.gpr[20] | 0u); jump_target = aot_gpr_6; - ctx.gpr[31] = (0x08A7603Cu); + aot_gpr_31 = (0x08A7603Cu); aot_gpr_5 = (ctx.gpr[2] | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A7603Cu) goto L_08A7603C; @@ -4984,7 +4985,7 @@ L_08A76050: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(108))); ctx.gpr[19] = (aot_gpr_5 + static_cast(16)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(0)))))); - ctx.gpr[31] = (0x08A76068u); + aot_gpr_31 = (0x08A76068u); ctx.gpr[20] = (aot_gpr_4 + aot_gpr_5); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0008_entry, 8u, 243u, 0x08825BB8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A76068u) goto L_08A76068; AOT_REGCACHE_SYNC_OUT(); return; @@ -4992,7 +4993,7 @@ L_08A76068: aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(4))); aot_gpr_4 = (ctx.gpr[20] | 0u); jump_target = aot_gpr_6; - ctx.gpr[31] = (0x08A76078u); + aot_gpr_31 = (0x08A76078u); aot_gpr_5 = (ctx.gpr[2] | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A76078u) goto L_08A76078; @@ -5017,7 +5018,7 @@ L_08A7608C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(108))); ctx.gpr[19] = (aot_gpr_5 + static_cast(16)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(0)))))); - ctx.gpr[31] = (0x08A760A4u); + aot_gpr_31 = (0x08A760A4u); ctx.gpr[20] = (aot_gpr_4 + aot_gpr_5); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0114_entry, 114u, 383u, 0x089CE1DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A760A4u) goto L_08A760A4; AOT_REGCACHE_SYNC_OUT(); return; @@ -5025,7 +5026,7 @@ L_08A760A4: aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(4))); aot_gpr_4 = (ctx.gpr[20] | 0u); jump_target = aot_gpr_6; - ctx.gpr[31] = (0x08A760B4u); + aot_gpr_31 = (0x08A760B4u); aot_gpr_5 = (ctx.gpr[2] | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A760B4u) goto L_08A760B4; @@ -5078,13 +5079,13 @@ L_08A760E0: L_08A760E8: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(28))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); - ctx.gpr[31] = (0x08A760F8u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_31 = (0x08A760F8u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0155_entry, 155u, 585u, 0x08A7326Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A760F8u) goto L_08A760F8; AOT_REGCACHE_SYNC_OUT(); return; L_08A760F8: - aot_gpr_4 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x08A76104u); + aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_31 = (0x08A76104u); aot_gpr_5 = (ctx.gpr[18] | 0u); goto L_08A75338; L_08A76104: @@ -5096,35 +5097,35 @@ L_08A76104: goto L_08A7610C; } L_08A7610C: - aot_gpr_4 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x08A76118u); + aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_31 = (0x08A76118u); aot_gpr_5 = (ctx.gpr[18] | 0u); goto L_08A74D30; L_08A76118: - aot_gpr_4 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x08A76124u); + aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_31 = (0x08A76124u); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0155_entry, 155u, 679u, 0x08A73AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A76124u) goto L_08A76124; AOT_REGCACHE_SYNC_OUT(); return; L_08A76124: - aot_gpr_4 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x08A76130u); + aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_31 = (0x08A76130u); aot_gpr_5 = (ctx.gpr[18] | 0u); goto L_08A75AC4; L_08A76130: - aot_gpr_4 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x08A7613Cu); + aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_31 = (0x08A7613Cu); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0155_entry, 155u, 624u, 0x08A735B0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A7613Cu) goto L_08A7613C; AOT_REGCACHE_SYNC_OUT(); return; L_08A7613C: - aot_gpr_4 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x08A76148u); + aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_31 = (0x08A76148u); aot_gpr_5 = (ctx.gpr[18] | 0u); goto L_08A740E0; L_08A76148: - aot_gpr_4 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x08A76154u); + aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_31 = (0x08A76154u); aot_gpr_5 = (ctx.gpr[18] | 0u); goto L_08A756D8; L_08A76154: @@ -5139,13 +5140,13 @@ L_08A76154: L_08A76160: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(28))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); - ctx.gpr[31] = (0x08A76170u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_31 = (0x08A76170u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0155_entry, 155u, 585u, 0x08A7326Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A76170u) goto L_08A76170; AOT_REGCACHE_SYNC_OUT(); return; L_08A76170: - aot_gpr_4 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x08A7617Cu); + aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_31 = (0x08A7617Cu); aot_gpr_5 = (ctx.gpr[18] | 0u); goto L_08A75338; L_08A7617C: @@ -5157,46 +5158,46 @@ L_08A7617C: goto L_08A76184; } L_08A76184: - aot_gpr_4 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x08A76190u); + aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_31 = (0x08A76190u); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0155_entry, 155u, 594u, 0x08A73324u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A76190u) goto L_08A76190; AOT_REGCACHE_SYNC_OUT(); return; L_08A76190: - aot_gpr_4 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x08A7619Cu); + aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_31 = (0x08A7619Cu); aot_gpr_5 = (ctx.gpr[18] | 0u); goto L_08A74D30; L_08A7619C: - aot_gpr_4 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x08A761A8u); + aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_31 = (0x08A761A8u); aot_gpr_5 = (ctx.gpr[18] | 0u); goto L_08A756D8; L_08A761A8: - aot_gpr_4 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x08A761B4u); + aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_31 = (0x08A761B4u); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0155_entry, 155u, 679u, 0x08A73AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A761B4u) goto L_08A761B4; AOT_REGCACHE_SYNC_OUT(); return; L_08A761B4: - aot_gpr_4 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x08A761C0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_31 = (0x08A761C0u); aot_gpr_5 = (ctx.gpr[18] | 0u); goto L_08A75AC4; L_08A761C0: - aot_gpr_4 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x08A761CCu); + aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_31 = (0x08A761CCu); aot_gpr_5 = (ctx.gpr[18] | 0u); goto L_08A740E0; L_08A761CC: - aot_gpr_4 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x08A761D8u); + aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_31 = (0x08A761D8u); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0155_entry, 155u, 624u, 0x08A735B0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A761D8u) goto L_08A761D8; AOT_REGCACHE_SYNC_OUT(); return; L_08A761D8: - aot_gpr_4 = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x08A761E4u); + aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_31 = (0x08A761E4u); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0155_entry, 155u, 652u, 0x08A737F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A761E4u) goto L_08A761E4; AOT_REGCACHE_SYNC_OUT(); return; @@ -5208,13 +5209,13 @@ L_08A761EC: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(52), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; - ctx.gpr[31] = aot_run_words[5]; + aot_gpr_31 = aot_run_words[5]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(80)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -5222,13 +5223,13 @@ L_08A761EC: AOT_REGCACHE_SYNC_OUT(); return; L_08A7620C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_4); aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(0), static_cast(0u)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(1), static_cast(0u)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), 0u); aot_gpr_4 = (0u | 28u); - ctx.gpr[31] = (0x08A76230u); + aot_gpr_31 = (0x08A76230u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_4); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 474u, 0x08ABE308u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A76230u) goto L_08A76230; AOT_REGCACHE_SYNC_OUT(); return; @@ -5244,7 +5245,7 @@ L_08A76230: } L_08A76240: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[2]); - ctx.gpr[31] = (0x08A7624Cu); + aot_gpr_31 = (0x08A7624Cu); aot_gpr_4 = (aot_gpr_5 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 289u, 0x08B65438u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A7624Cu) goto L_08A7624C; AOT_REGCACHE_SYNC_OUT(); return; @@ -5272,8 +5273,8 @@ L_08A76254: aot_mem.aot_direct_store32_block(ctx.gpr[2] + static_cast(16), aot_run_words); } aot_gpr_4 = (0u | 1u); aot_mem.aot_direct_store8(ctx.gpr[2] + static_cast(28), static_cast(aot_gpr_4)); - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -5281,18 +5282,18 @@ L_08A76254: AOT_REGCACHE_SYNC_OUT(); return; L_08A762B0: aot_gpr_29 = (aot_gpr_29 + static_cast(-96)); - { const std::uint32_t aot_run_words[7]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[7]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(68), aot_run_words); } aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_17 = (2237u << 16u); - aot_gpr_17 = (aot_gpr_17 + static_cast(-28736)); + ctx.gpr[17] = (2237u << 16u); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(-28736)); ctx.gpr[18] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(10016)))))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-5672))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-5668))); { const std::uint32_t aot_run_words[4]{aot_gpr_4, aot_gpr_5, aot_gpr_4, aot_gpr_5}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(20), aot_run_words); } ctx.gpr[19] = (0u | 0u); - ctx.gpr[31] = (0x08A76304u); + aot_gpr_31 = (0x08A76304u); aot_gpr_4 = (0u | 20u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A76304u) goto L_08A76304; AOT_REGCACHE_SYNC_OUT(); return; @@ -5308,7 +5309,7 @@ L_08A76304: L_08A76310: aot_gpr_5 = (aot_gpr_29 + static_cast(28)); aot_gpr_4 = (ctx.gpr[20] | 0u); - ctx.gpr[31] = (0x08A76320u); + aot_gpr_31 = (0x08A76320u); aot_gpr_6 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0218_entry, 218u, 392u, 0x08B6DC90u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A76320u) goto L_08A76320; AOT_REGCACHE_SYNC_OUT(); return; @@ -5329,9 +5330,9 @@ L_08A7632C: aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(0), aot_gpr_4); goto L_08A76338; L_08A76338: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); - ctx.gpr[31] = (0x08A76348u); + aot_gpr_31 = (0x08A76348u); aot_gpr_6 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 340u, 0x08ADD3DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A76348u) goto L_08A76348; AOT_REGCACHE_SYNC_OUT(); return; @@ -5355,9 +5356,9 @@ L_08A76354: goto L_08A76364; } L_08A76364: - ctx.gpr[31] = (0x08A7636Cu); + aot_gpr_31 = (0x08A7636Cu); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A7636Cu) goto L_08A7636C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A7636Cu) goto L_08A7636C; AOT_REGCACHE_SYNC_OUT(); return; L_08A7636C: ctx.gpr[18] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(10017)))))); @@ -5366,7 +5367,7 @@ L_08A7636C: { const std::uint32_t aot_run_words[4]{aot_gpr_4, aot_gpr_5, aot_gpr_4, aot_gpr_5}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(36), aot_run_words); } ctx.gpr[19] = (0u | 0u); - ctx.gpr[31] = (0x08A76394u); + aot_gpr_31 = (0x08A76394u); aot_gpr_4 = (0u | 20u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A76394u) goto L_08A76394; AOT_REGCACHE_SYNC_OUT(); return; @@ -5381,7 +5382,7 @@ L_08A76394: } L_08A763A0: aot_gpr_4 = (ctx.gpr[20] | 0u); - ctx.gpr[31] = (0x08A763ACu); + aot_gpr_31 = (0x08A763ACu); aot_gpr_6 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0218_entry, 218u, 392u, 0x08B6DC90u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A763ACu) goto L_08A763AC; AOT_REGCACHE_SYNC_OUT(); return; @@ -5402,9 +5403,9 @@ L_08A763B8: aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(0), aot_gpr_4); goto L_08A763C4; L_08A763C4: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); - ctx.gpr[31] = (0x08A763D4u); + aot_gpr_31 = (0x08A763D4u); aot_gpr_6 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 340u, 0x08ADD3DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A763D4u) goto L_08A763D4; AOT_REGCACHE_SYNC_OUT(); return; @@ -5428,9 +5429,9 @@ L_08A763E0: goto L_08A763F0; } L_08A763F0: - ctx.gpr[31] = (0x08A763F8u); + aot_gpr_31 = (0x08A763F8u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A763F8u) goto L_08A763F8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A763F8u) goto L_08A763F8; AOT_REGCACHE_SYNC_OUT(); return; L_08A763F8: ctx.gpr[18] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(10018)))))); @@ -5439,7 +5440,7 @@ L_08A763F8: { const std::uint32_t aot_run_words[4]{aot_gpr_4, aot_gpr_5, aot_gpr_4, aot_gpr_5}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(52), aot_run_words); } ctx.gpr[19] = (0u | 0u); - ctx.gpr[31] = (0x08A76420u); + aot_gpr_31 = (0x08A76420u); aot_gpr_4 = (0u | 20u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A76420u) goto L_08A76420; AOT_REGCACHE_SYNC_OUT(); return; @@ -5454,7 +5455,7 @@ L_08A76420: } L_08A7642C: aot_gpr_4 = (ctx.gpr[20] | 0u); - ctx.gpr[31] = (0x08A76438u); + aot_gpr_31 = (0x08A76438u); aot_gpr_6 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0218_entry, 218u, 392u, 0x08B6DC90u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A76438u) goto L_08A76438; AOT_REGCACHE_SYNC_OUT(); return; @@ -5475,15 +5476,15 @@ L_08A76444: aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(0), aot_gpr_4); goto L_08A76450; L_08A76450: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); - ctx.gpr[31] = (0x08A76460u); + aot_gpr_31 = (0x08A76460u); aot_gpr_6 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 340u, 0x08ADD3DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A76460u) goto L_08A76460; AOT_REGCACHE_SYNC_OUT(); return; L_08A76460: - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_08A76484; @@ -5491,32 +5492,32 @@ L_08A76460: goto L_08A7646C; } L_08A7646C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_gpr_4 = (aot_gpr_4 + static_cast(-1)); { const bool branch_taken = aot_gpr_4 != 0u; - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), aot_gpr_4); if (branch_taken) { goto L_08A76484; } goto L_08A7647C; } L_08A7647C: - ctx.gpr[31] = (0x08A76484u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A76484u) goto L_08A76484; + aot_gpr_31 = (0x08A76484u); + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A76484u) goto L_08A76484; AOT_REGCACHE_SYNC_OUT(); return; L_08A76484: { std::uint32_t aot_run_words[7]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(68), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; ctx.gpr[21] = aot_run_words[5]; - ctx.gpr[31] = aot_run_words[6]; + aot_gpr_31 = aot_run_words[6]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(96)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -5589,7 +5590,7 @@ L_08A764A8: aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(53), static_cast(ctx.gpr[10])); aot_mem.aot_direct_store_word_right(aot_gpr_4 + static_cast(54), ctx.gpr[11]); aot_mem.aot_direct_store_word_left(aot_gpr_4 + static_cast(57), ctx.gpr[11]); - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; ctx.gpr[2] = (aot_gpr_4 | 0u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -5597,23 +5598,23 @@ L_08A764A8: AOT_REGCACHE_SYNC_OUT(); return; L_08A765B8: aot_gpr_29 = (aot_gpr_29 + static_cast(-208)); - { const std::uint32_t aot_run_words[12]{std::bit_cast(ctx.fpr[20]), std::bit_cast(aot_fpr_22), aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[12]{std::bit_cast(ctx.fpr[20]), std::bit_cast(aot_fpr_22), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(160), aot_run_words); } ctx.gpr[2] = (aot_gpr_6 | 0u); - aot_gpr_17 = (aot_gpr_4 | 0u); + ctx.gpr[17] = (aot_gpr_4 | 0u); ctx.gpr[21] = (ctx.gpr[10] & 255u); ctx.gpr[18] = (aot_gpr_5 | 0u); - aot_gpr_16 = (aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(0))); + aot_gpr_16 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(0))); aot_gpr_4 = (aot_gpr_16 + static_cast(1)); aot_gpr_4 = (aot_gpr_4 & 32767u); - aot_mem.aot_direct_store16(aot_gpr_17 + static_cast(0), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store16(ctx.gpr[17] + static_cast(0), static_cast(aot_gpr_4)); aot_gpr_4 = (0u | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[18]); aot_gpr_4 = (0u | 0u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(24), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_6 = (aot_gpr_5 + static_cast(4)); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); @@ -5671,7 +5672,7 @@ L_08A76694: aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_4 = (aot_gpr_17 + static_cast(12)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(12)); if (branch_taken) { goto L_08A766D0; } @@ -5700,12 +5701,12 @@ L_08A766D0: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(140))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(132), static_cast(aot_gpr_4)); aot_gpr_6 = (aot_gpr_29 + static_cast(120)); - aot_gpr_4 = (aot_gpr_17 + static_cast(4)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(4)); aot_gpr_5 = (aot_gpr_29 + static_cast(116)); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(148), aot_gpr_6); aot_gpr_6 = (aot_gpr_29 + static_cast(148)); - ctx.gpr[31] = (0x08A7670Cu); + aot_gpr_31 = (0x08A7670Cu); ctx.gpr[7] = (aot_gpr_29 + static_cast(124)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0218_entry, 218u, 444u, 0x08B6E0F8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A7670Cu) goto L_08A7670C; AOT_REGCACHE_SYNC_OUT(); return; @@ -5729,7 +5730,7 @@ L_08A7671C: ctx.gpr[9] = (ctx.gpr[23] | 0u); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_22)); ctx.gpr[10] = (ctx.gpr[21] | 0u); - ctx.gpr[31] = (0x08A76758u); + aot_gpr_31 = (0x08A76758u); ctx.gpr[11] = (ctx.gpr[22] | 0u); goto L_08A764A8; L_08A76758: @@ -5745,10 +5746,10 @@ L_08A76758: L_08A76768: aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(102), static_cast(0u)); ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(102)))))); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_6 = (ctx.gpr[18] | 0u); - ctx.gpr[31] = (0x08A76784u); + aot_gpr_31 = (0x08A76784u); ctx.gpr[8] = (0u | 1u); goto L_08A76DCC; L_08A76784: @@ -5762,7 +5763,7 @@ L_08A76784: L_08A7678C: aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); - ctx.gpr[31] = (0x08A7679Cu); + aot_gpr_31 = (0x08A7679Cu); aot_gpr_6 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 189u, 0x08ADCA34u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A7679Cu) goto L_08A7679C; AOT_REGCACHE_SYNC_OUT(); return; @@ -5773,7 +5774,7 @@ L_08A7679C: ctx.fpr[20] = std::bit_cast(aot_run_words[0]); aot_fpr_22 = std::bit_cast(aot_run_words[1]); aot_gpr_16 = aot_run_words[2]; - aot_gpr_17 = aot_run_words[3]; + ctx.gpr[17] = aot_run_words[3]; ctx.gpr[18] = aot_run_words[4]; ctx.gpr[19] = aot_run_words[5]; ctx.gpr[20] = aot_run_words[6]; @@ -5781,9 +5782,9 @@ L_08A7679C: ctx.gpr[22] = aot_run_words[8]; ctx.gpr[23] = aot_run_words[9]; ctx.gpr[30] = aot_run_words[10]; - ctx.gpr[31] = aot_run_words[11]; + aot_gpr_31 = aot_run_words[11]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(208)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -5791,7 +5792,7 @@ L_08A7679C: AOT_REGCACHE_SYNC_OUT(); return; L_08A767D8: aot_gpr_29 = (aot_gpr_29 + static_cast(-80)); - { const std::uint32_t aot_run_words[6]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[6]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(52), aot_run_words); } aot_gpr_16 = (aot_gpr_4 | 0u); ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); @@ -5885,7 +5886,7 @@ L_08A76898: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_4); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(16), static_cast(0u)); - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_6 = (aot_gpr_5 ^ aot_gpr_4); @@ -5899,7 +5900,7 @@ L_08A76898: goto L_08A768C4; } L_08A768C4: - ctx.gpr[31] = (0x08A768CCu); + aot_gpr_31 = (0x08A768CCu); aot_gpr_4 = (aot_gpr_5 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0217_entry, 217u, 391u, 0x08B6A5DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A768CCu) goto L_08A768CC; AOT_REGCACHE_SYNC_OUT(); return; @@ -5911,7 +5912,7 @@ L_08A768CC: aot_gpr_6 = (0u < aot_gpr_6 ? 1u : 0u); aot_gpr_6 = (aot_gpr_6 & 255u); { const bool branch_taken = aot_gpr_6 != 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); if (branch_taken) { goto L_08A768C4; } @@ -5964,7 +5965,7 @@ L_08A76950: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - ctx.gpr[31] = (0x08A76964u); + aot_gpr_31 = (0x08A76964u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0218_entry, 218u, 422u, 0x08B6DF1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A76964u) goto L_08A76964; AOT_REGCACHE_SYNC_OUT(); return; @@ -6003,7 +6004,7 @@ L_08A76994: L_08A769AC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), aot_gpr_4); - ctx.gpr[31] = (0x08A769BCu); + aot_gpr_31 = (0x08A769BCu); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0217_entry, 217u, 391u, 0x08B6A5DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A769BCu) goto L_08A769BC; AOT_REGCACHE_SYNC_OUT(); return; @@ -6013,7 +6014,7 @@ L_08A769BC: ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); aot_gpr_5 = (ctx.gpr[7] + static_cast(4)); aot_gpr_6 = (ctx.gpr[7] + static_cast(8)); - ctx.gpr[31] = (0x08A769D8u); + aot_gpr_31 = (0x08A769D8u); ctx.gpr[7] = (ctx.gpr[7] + static_cast(12)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0217_entry, 217u, 484u, 0x08B6AC34u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A769D8u) goto L_08A769D8; AOT_REGCACHE_SYNC_OUT(); return; @@ -6025,9 +6026,9 @@ L_08A769D8: } goto L_08A769E4; L_08A769E4: - ctx.gpr[31] = (0x08A769ECu); + aot_gpr_31 = (0x08A769ECu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A769ECu) goto L_08A769EC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A769ECu) goto L_08A769EC; AOT_REGCACHE_SYNC_OUT(); return; L_08A769EC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); @@ -6048,17 +6049,17 @@ L_08A769F0: goto L_08A76A14; } L_08A76A14: - ctx.gpr[2] = (aot_gpr_17 | 0u); + ctx.gpr[2] = (ctx.gpr[17] | 0u); { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(52), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; - ctx.gpr[31] = aot_run_words[5]; + aot_gpr_31 = aot_run_words[5]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(80)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -6066,7 +6067,7 @@ L_08A76A14: AOT_REGCACHE_SYNC_OUT(); return; L_08A76A38: aot_gpr_29 = (aot_gpr_29 + static_cast(-80)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(60), aot_run_words); } ctx.gpr[8] = (aot_gpr_5 | 0u); aot_gpr_16 = (aot_gpr_4 | 0u); @@ -6077,9 +6078,9 @@ L_08A76A38: ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_4 = (ctx.gpr[8] | 0u); ctx.gpr[18] = (aot_gpr_16 + static_cast(4)); - aot_gpr_17 = (2237u << 16u); + ctx.gpr[17] = (2237u << 16u); { const bool branch_taken = ctx.gpr[7] == 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(-28736)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(-28736)); if (branch_taken) { goto L_08A76AB0; } @@ -6155,7 +6156,7 @@ L_08A76AEC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), aot_gpr_4); aot_gpr_6 = (aot_gpr_29 + static_cast(56)); ctx.gpr[7] = (aot_gpr_29 + static_cast(32)); - ctx.gpr[31] = (0x08A76B28u); + aot_gpr_31 = (0x08A76B28u); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0218_entry, 218u, 444u, 0x08B6E0F8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A76B28u) goto L_08A76B28; AOT_REGCACHE_SYNC_OUT(); return; @@ -6168,7 +6169,7 @@ L_08A76B28: goto L_08A76B3C; L_08A76B3C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(100))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(100))); aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(52))); { const bool branch_taken = aot_gpr_5 == aot_gpr_6; aot_gpr_6 = (aot_gpr_4 | 0u); @@ -6188,8 +6189,8 @@ L_08A76B50: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(7), static_cast(aot_gpr_4)); ctx.gpr[1] = (static_cast(static_cast(aot_gpr_4) >> 8u)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(8), static_cast(ctx.gpr[1])); - ctx.gpr[31] = (0x08A76B80u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_31 = (0x08A76B80u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 189u, 0x08ADCA34u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A76B80u) goto L_08A76B80; AOT_REGCACHE_SYNC_OUT(); return; L_08A76B80: @@ -6201,23 +6202,23 @@ L_08A76B80: goto L_08A76B88; } L_08A76B88: - ctx.gpr[31] = (0x08A76B90u); + aot_gpr_31 = (0x08A76B90u); aot_gpr_4 = (aot_gpr_16 | 0u); goto L_08A770C0; L_08A76B90: aot_gpr_4 = (ctx.gpr[18] | 0u); - ctx.gpr[31] = (0x08A76B9Cu); + aot_gpr_31 = (0x08A76B9Cu); aot_gpr_5 = (aot_gpr_29 | 0u); goto L_08A767D8; L_08A76B9C: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(60), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; - ctx.gpr[31] = aot_run_words[3]; + aot_gpr_31 = aot_run_words[3]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(80)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -6225,7 +6226,7 @@ L_08A76B9C: AOT_REGCACHE_SYNC_OUT(); return; L_08A76BB4: aot_gpr_29 = (aot_gpr_29 + static_cast(-64)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), aot_gpr_31); ctx.gpr[7] = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_5 = (aot_gpr_6 | 0u); @@ -6308,7 +6309,7 @@ L_08A76C48: aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), aot_gpr_6); aot_gpr_6 = (aot_gpr_29 + static_cast(48)); - ctx.gpr[31] = (0x08A76C84u); + aot_gpr_31 = (0x08A76C84u); ctx.gpr[7] = (aot_gpr_29 + static_cast(24)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0218_entry, 218u, 444u, 0x08B6E0F8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A76C84u) goto L_08A76C84; AOT_REGCACHE_SYNC_OUT(); return; @@ -6321,8 +6322,8 @@ L_08A76C84: L_08A76C94: aot_gpr_5 = (0u | 1u); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(4), static_cast(aot_gpr_5)); - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(52))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(52))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(64)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -6330,7 +6331,7 @@ L_08A76C94: AOT_REGCACHE_SYNC_OUT(); return; L_08A76CA8: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - { const std::uint32_t aot_run_words[5]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[5]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(4), aot_run_words); } aot_gpr_16 = (aot_gpr_4 | 0u); ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); @@ -6345,7 +6346,7 @@ L_08A76CA8: L_08A76CD4: ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(0))); { const bool branch_taken = ctx.gpr[18] == 0u; - aot_gpr_17 = (ctx.gpr[19] + static_cast(4)); + ctx.gpr[17] = (ctx.gpr[19] + static_cast(4)); if (branch_taken) { goto L_08A76D30; } @@ -6353,7 +6354,7 @@ L_08A76CD4: } L_08A76CE0: aot_gpr_4 = (ctx.gpr[18] | 0u); - ctx.gpr[31] = (0x08A76CECu); + aot_gpr_31 = (0x08A76CECu); aot_gpr_5 = (aot_gpr_16 | 0u); goto L_08A7725C; L_08A76CEC: @@ -6365,19 +6366,19 @@ L_08A76CEC: goto L_08A76CF4; } L_08A76CF4: - ctx.gpr[31] = (0x08A76CFCu); + aot_gpr_31 = (0x08A76CFCu); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A76CFCu) goto L_08A76CFC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A76CFCu) goto L_08A76CFC; AOT_REGCACHE_SYNC_OUT(); return; L_08A76CFC: ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); - if (aot_gpr_17 == ctx.gpr[18]) { + if (ctx.gpr[17] == ctx.gpr[18]) { ctx.gpr[18] = (ctx.gpr[18] + static_cast(-4)); goto L_08A76D28; } goto L_08A76D08; L_08A76D08: - { const bool branch_taken = ctx.gpr[18] == aot_gpr_17; + { const bool branch_taken = ctx.gpr[18] == ctx.gpr[17]; aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(0), static_cast(0u)); if (branch_taken) { goto L_08A76D24; @@ -6385,10 +6386,10 @@ L_08A76D08: goto L_08A76D10; } L_08A76D10: - aot_gpr_6 = (ctx.gpr[18] - aot_gpr_17); + aot_gpr_6 = (ctx.gpr[18] - ctx.gpr[17]); aot_gpr_4 = (ctx.gpr[19] | 0u); - ctx.gpr[31] = (0x08A76D20u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_31 = (0x08A76D20u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 164u, 0x08AF54A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A76D20u) goto L_08A76D20; AOT_REGCACHE_SYNC_OUT(); return; L_08A76D20: @@ -6406,7 +6407,7 @@ L_08A76D28: goto L_08A76D30; } L_08A76D30: - ctx.gpr[19] = (aot_gpr_17 | 0u); + ctx.gpr[19] = (ctx.gpr[17] | 0u); ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); goto L_08A76D38; L_08A76D38: @@ -6421,19 +6422,19 @@ L_08A76D40: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(4), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; - ctx.gpr[31] = aot_run_words[4]; + aot_gpr_31 = aot_run_words[4]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08A76D5C: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(28), static_cast(aot_gpr_5)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -6441,13 +6442,13 @@ L_08A76D5C: AOT_REGCACHE_SYNC_OUT(); return; L_08A76D64: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, ctx.gpr[31]}; + { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(4), aot_run_words); } aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); - aot_gpr_17 = (aot_gpr_5 | 0u); - { const bool branch_taken = aot_gpr_17 == aot_gpr_4; + ctx.gpr[17] = (aot_gpr_5 | 0u); + { const bool branch_taken = ctx.gpr[17] == aot_gpr_4; // nop if (branch_taken) { goto L_08A76DAC; @@ -6455,15 +6456,15 @@ L_08A76D64: goto L_08A76D8C; } L_08A76D8C: - ctx.gpr[31] = (0x08A76D94u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A76D94u) goto L_08A76D94; + aot_gpr_31 = (0x08A76D94u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A76D94u) goto L_08A76D94; AOT_REGCACHE_SYNC_OUT(); return; L_08A76D94: - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), 0u); - aot_gpr_17 = (aot_gpr_17 + static_cast(4)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), 0u); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(4)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); - { const bool branch_taken = aot_gpr_17 != aot_gpr_4; + { const bool branch_taken = ctx.gpr[17] != aot_gpr_4; // nop if (branch_taken) { goto L_08A76D8C; @@ -6480,10 +6481,10 @@ L_08A76DAC: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(4), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; - ctx.gpr[31] = aot_run_words[2]; + ctx.gpr[17] = aot_run_words[1]; + aot_gpr_31 = aot_run_words[2]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -6491,21 +6492,21 @@ L_08A76DAC: AOT_REGCACHE_SYNC_OUT(); return; L_08A76DCC: aot_gpr_29 = (aot_gpr_29 + static_cast(-128)); - { const std::uint32_t aot_run_words[6]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[6]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(104), aot_run_words); } - aot_gpr_17 = (aot_gpr_6 | 0u); + ctx.gpr[17] = (aot_gpr_6 | 0u); aot_gpr_16 = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(128), ctx.gpr[7]); ctx.gpr[18] = (aot_gpr_5 | 0u); ctx.gpr[19] = (0u | 0u); - ctx.gpr[31] = (0x08A76E04u); + aot_gpr_31 = (0x08A76E04u); aot_gpr_4 = (0u | 96u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A76E04u) goto L_08A76E04; AOT_REGCACHE_SYNC_OUT(); return; L_08A76E04: ctx.gpr[20] = (ctx.gpr[2] | 0u); { const bool branch_taken = ctx.gpr[20] == 0u; - aot_gpr_5 = (aot_gpr_17 & 65535u); + aot_gpr_5 = (ctx.gpr[17] & 65535u); if (branch_taken) { goto L_08A76F1C; } @@ -6573,7 +6574,7 @@ L_08A76E10: ctx.gpr[2] = (aot_mem.aot_direct_load_word_right(ctx.gpr[18] + static_cast(54), ctx.gpr[2])); ctx.gpr[2] = (aot_mem.aot_direct_load_word_left(ctx.gpr[18] + static_cast(57), ctx.gpr[2])); aot_gpr_4 = (ctx.gpr[20] | 0u); - ctx.gpr[31] = (0x08A76F18u); + aot_gpr_31 = (0x08A76F18u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[2]); goto L_08A77168; L_08A76F18: @@ -6620,7 +6621,7 @@ L_08A76F48: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(88), aot_gpr_5); aot_gpr_5 = (aot_gpr_5 < static_cast(1) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; - aot_gpr_17 = (aot_gpr_29 + static_cast(88)); + ctx.gpr[17] = (aot_gpr_29 + static_cast(88)); if (branch_taken) { goto L_08A76F88; } @@ -6628,17 +6629,17 @@ L_08A76F48: } L_08A76F80: { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (aot_gpr_29 + static_cast(84)); + ctx.gpr[17] = (aot_gpr_29 + static_cast(84)); if (branch_taken) { goto L_08A76F88; } goto L_08A76F88; } L_08A76F88: - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(88))); - aot_gpr_17 = (aot_gpr_5 + aot_gpr_17); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (aot_gpr_5 + ctx.gpr[17]); + { const bool branch_taken = ctx.gpr[17] == 0u; aot_gpr_5 = (0u | 0u); if (branch_taken) { goto L_08A76FD0; @@ -6647,8 +6648,8 @@ L_08A76F88: } L_08A76F9C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(100), aot_gpr_4); - aot_gpr_4 = (aot_gpr_17 << 2u); - ctx.gpr[31] = (0x08A76FACu); + aot_gpr_4 = (ctx.gpr[17] << 2u); + aot_gpr_31 = (0x08A76FACu); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(96), aot_gpr_4); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 474u, 0x08ABE308u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A76FACu) goto L_08A76FAC; AOT_REGCACHE_SYNC_OUT(); return; @@ -6664,7 +6665,7 @@ L_08A76FAC: } L_08A76FBC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(100), aot_gpr_4); - ctx.gpr[31] = (0x08A76FC8u); + aot_gpr_31 = (0x08A76FC8u); aot_gpr_4 = (aot_gpr_6 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 289u, 0x08B65438u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A76FC8u) goto L_08A76FC8; AOT_REGCACHE_SYNC_OUT(); return; @@ -6685,7 +6686,7 @@ L_08A76FDC: aot_gpr_5 = (aot_gpr_6 | 0u); ctx.gpr[20] = (aot_gpr_4 - aot_gpr_6); aot_gpr_4 = (ctx.gpr[18] | 0u); - ctx.gpr[31] = (0x08A76FF0u); + aot_gpr_31 = (0x08A76FF0u); aot_gpr_6 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 164u, 0x08AF54A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A76FF0u) goto L_08A76FF0; AOT_REGCACHE_SYNC_OUT(); return; @@ -6728,12 +6729,12 @@ L_08A7701C: goto L_08A77028; } L_08A77028: - ctx.gpr[31] = (0x08A77030u); + aot_gpr_31 = (0x08A77030u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A77030u) goto L_08A77030; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A77030u) goto L_08A77030; AOT_REGCACHE_SYNC_OUT(); return; L_08A77030: - aot_gpr_4 = (aot_gpr_17 << 2u); + aot_gpr_4 = (ctx.gpr[17] << 2u); aot_gpr_4 = (ctx.gpr[18] + aot_gpr_4); { const std::uint32_t aot_run_words[3]{ctx.gpr[18], ctx.gpr[19], aot_gpr_4}; aot_mem.aot_direct_store32_block(aot_gpr_16 + static_cast(16), aot_run_words); } @@ -6742,13 +6743,13 @@ L_08A77044: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(104), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; - ctx.gpr[31] = aot_run_words[5]; + aot_gpr_31 = aot_run_words[5]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(128)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -6756,18 +6757,18 @@ L_08A77044: AOT_REGCACHE_SYNC_OUT(); return; L_08A77064: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[7]); ctx.gpr[7] = (aot_mem.aot_direct_load_word_right(aot_gpr_5 + static_cast(3), ctx.gpr[7])); ctx.gpr[7] = (aot_mem.aot_direct_load_word_left(aot_gpr_5 + static_cast(6), ctx.gpr[7])); ctx.gpr[7] = (ctx.gpr[7] & 65535u); aot_gpr_5 = (aot_gpr_6 | 0u); - ctx.gpr[31] = (0x08A77088u); + aot_gpr_31 = (0x08A77088u); aot_gpr_6 = (ctx.gpr[7] | 0u); goto L_08A770C0; L_08A77088: - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -6775,17 +6776,17 @@ L_08A77088: AOT_REGCACHE_SYNC_OUT(); return; L_08A77094: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[7]); aot_gpr_6 = (aot_mem.aot_direct_load_word_right(aot_gpr_5 + static_cast(3), aot_gpr_6)); aot_gpr_6 = (aot_mem.aot_direct_load_word_left(aot_gpr_5 + static_cast(6), aot_gpr_6)); aot_gpr_6 = (aot_gpr_6 & 65535u); - ctx.gpr[31] = (0x08A770B4u); + aot_gpr_31 = (0x08A770B4u); aot_gpr_5 = (aot_gpr_6 | 0u); goto L_08A76BB4; L_08A770B4: - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -6793,12 +6794,12 @@ L_08A770B4: AOT_REGCACHE_SYNC_OUT(); return; L_08A770C0: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, ctx.gpr[31]}; + { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(4), aot_run_words); } aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); - { const bool branch_taken = aot_gpr_17 == aot_gpr_4; + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); + { const bool branch_taken = ctx.gpr[17] == aot_gpr_4; // nop if (branch_taken) { goto L_08A77154; @@ -6806,7 +6807,7 @@ L_08A770C0: goto L_08A770E4; } L_08A770E4: - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); ctx.gpr[8] = (aot_mem.aot_direct_load16(ctx.gpr[7] + static_cast(0))); { const bool branch_taken = ctx.gpr[8] != aot_gpr_5; // nop @@ -6825,12 +6826,12 @@ L_08A770F4: goto L_08A77100; } L_08A77100: - ctx.gpr[31] = (0x08A77108u); + aot_gpr_31 = (0x08A77108u); aot_gpr_4 = (ctx.gpr[7] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A77108u) goto L_08A77108; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A77108u) goto L_08A77108; AOT_REGCACHE_SYNC_OUT(); return; L_08A77108: - aot_gpr_5 = (aot_gpr_17 + static_cast(4)); + aot_gpr_5 = (ctx.gpr[17] + static_cast(4)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); if (aot_gpr_5 == aot_gpr_4) { aot_gpr_4 = (aot_gpr_4 + static_cast(-4)); @@ -6838,7 +6839,7 @@ L_08A77108: } goto L_08A77118; L_08A77118: - aot_gpr_5 = (aot_gpr_17 + static_cast(4)); + aot_gpr_5 = (ctx.gpr[17] + static_cast(4)); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(0), static_cast(0u)); if (branch_taken) { @@ -6847,10 +6848,10 @@ L_08A77118: goto L_08A77124; } L_08A77124: - aot_gpr_5 = (aot_gpr_17 + static_cast(4)); + aot_gpr_5 = (ctx.gpr[17] + static_cast(4)); aot_gpr_6 = (aot_gpr_4 - aot_gpr_5); - ctx.gpr[31] = (0x08A77134u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_31 = (0x08A77134u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 164u, 0x08AF54A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A77134u) goto L_08A77134; AOT_REGCACHE_SYNC_OUT(); return; L_08A77134: @@ -6869,8 +6870,8 @@ L_08A7713C: goto L_08A77148; } L_08A77148: - aot_gpr_17 = (aot_gpr_17 + static_cast(4)); - { const bool branch_taken = aot_gpr_17 != aot_gpr_4; + ctx.gpr[17] = (ctx.gpr[17] + static_cast(4)); + { const bool branch_taken = ctx.gpr[17] != aot_gpr_4; // nop if (branch_taken) { goto L_08A770E4; @@ -6881,10 +6882,10 @@ L_08A77154: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(4), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; - ctx.gpr[31] = aot_run_words[2]; + ctx.gpr[17] = aot_run_words[1]; + aot_gpr_31 = aot_run_words[2]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -6893,7 +6894,7 @@ L_08A77154: L_08A77168: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_5)); aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(2), static_cast(aot_gpr_6)); @@ -6968,7 +6969,7 @@ L_08A77168: } L_08A771FC: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); - ctx.gpr[31] = (0x08A77208u); + aot_gpr_31 = (0x08A77208u); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 514u, 0x088933E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A77208u) goto L_08A77208; AOT_REGCACHE_SYNC_OUT(); return; @@ -6994,7 +6995,7 @@ L_08A77224: aot_fpr_13 = std::bit_cast(aot_run_words[1]); aot_fpr_14 = std::bit_cast(aot_run_words[2]); } - ctx.gpr[31] = (0x08A77238u); + aot_gpr_31 = (0x08A77238u); aot_gpr_4 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0030_entry, 30u, 236u, 0x0887CCD4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A77238u) goto L_08A77238; AOT_REGCACHE_SYNC_OUT(); return; @@ -7007,15 +7008,15 @@ L_08A77238: goto L_08A77240; } L_08A77240: - ctx.gpr[31] = (0x08A77248u); + aot_gpr_31 = (0x08A77248u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0030_entry, 30u, 241u, 0x0887CD60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A77248u) goto L_08A77248; AOT_REGCACHE_SYNC_OUT(); return; L_08A77248: ctx.gpr[2] = (aot_gpr_16 | 0u); aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -7023,14 +7024,14 @@ L_08A77248: AOT_REGCACHE_SYNC_OUT(); return; L_08A7725C: aot_gpr_29 = (aot_gpr_29 + static_cast(-128)); - { const std::uint32_t aot_run_words[10]{std::bit_cast(ctx.fpr[20]), aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[10]{std::bit_cast(ctx.fpr[20]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(84), aot_run_words); } aot_gpr_16 = (aot_gpr_5 | 0u); - aot_gpr_17 = (aot_gpr_4 | 0u); + ctx.gpr[17] = (aot_gpr_4 | 0u); ctx.gpr[23] = (2237u << 16u); ctx.gpr[23] = (ctx.gpr[23] + static_cast(-28736)); aot_gpr_4 = (ctx.gpr[23] | 0u); - ctx.gpr[31] = (0x08A772A4u); + aot_gpr_31 = (0x08A772A4u); aot_gpr_5 = (0u + static_cast(-1)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 12u, 0x08ADC0F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A772A4u) goto L_08A772A4; AOT_REGCACHE_SYNC_OUT(); return; @@ -7038,44 +7039,44 @@ L_08A772A4: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(3)))))); ctx.gpr[22] = (0u | 1u); aot_gpr_4 = (ctx.gpr[23] | 0u); - ctx.gpr[31] = (0x08A772B8u); + aot_gpr_31 = (0x08A772B8u); aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 192u, 0x08ADCA6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A772B8u) goto L_08A772B8; AOT_REGCACHE_SYNC_OUT(); return; L_08A772B8: ctx.gpr[21] = (ctx.gpr[2] | 0u); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(64))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(64))); ctx.fpr[20] = std::bit_cast(0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[20])) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); - ctx.gpr[20] = (aot_gpr_17 + static_cast(16)); + ctx.gpr[20] = (ctx.gpr[17] + static_cast(16)); if (branch_taken) { goto L_08A77414; } goto L_08A772D4; } L_08A772D4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(80))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(80))); ctx.gpr[19] = (0u | 1u); { const bool branch_taken = aot_gpr_4 != 0u; - ctx.gpr[18] = (aot_gpr_17 + static_cast(32)); + ctx.gpr[18] = (ctx.gpr[17] + static_cast(32)); if (branch_taken) { goto L_08A77340; } goto L_08A772E4; } L_08A772E4: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(2))); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(64))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(2))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(64))); aot_gpr_5 = (16179u << 16u); aot_gpr_5 = (aot_gpr_5 | 13107u); aot_fpr_13 = std::bit_cast(aot_gpr_5); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(68))); - ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(69))); - ctx.gpr[9] = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(70))); - ctx.gpr[10] = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(71))); + ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(68))); + ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(69))); + ctx.gpr[9] = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(70))); + ctx.gpr[10] = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(71))); aot_gpr_5 = (17096u << 16u); aot_fpr_14 = std::bit_cast(aot_gpr_5); aot_gpr_5 = (0u | 6u); @@ -7084,7 +7085,7 @@ L_08A772E4: aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[20])); { const std::uint32_t aot_run_words[3]{ctx.gpr[19], 0u, 0u}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - ctx.gpr[31] = (0x08A77338u); + aot_gpr_31 = (0x08A77338u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0042_entry, 42u, 276u, 0x088AEFC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A77338u) goto L_08A77338; AOT_REGCACHE_SYNC_OUT(); return; @@ -7097,7 +7098,7 @@ L_08A77338: goto L_08A77340; } L_08A77340: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(80))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(80))); { const bool branch_taken = aot_gpr_4 != ctx.gpr[19]; // nop if (branch_taken) { @@ -7106,12 +7107,12 @@ L_08A77340: goto L_08A7734C; } L_08A7734C: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(2))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(2))); aot_gpr_5 = (16576u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_5); - ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(68))); - ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(69))); - ctx.gpr[9] = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(70))); + ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(68))); + ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(69))); + ctx.gpr[9] = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(70))); aot_gpr_5 = (16256u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_5); aot_gpr_5 = (0u | 8u); @@ -7122,13 +7123,13 @@ L_08A7734C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[18]); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), 0u); - ctx.gpr[31] = (0x08A77394u); + aot_gpr_31 = (0x08A77394u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0042_entry, 42u, 276u, 0x088AEFC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A77394u) goto L_08A77394; AOT_REGCACHE_SYNC_OUT(); return; L_08A77394: aot_gpr_4 = (ctx.gpr[18] | 0u); - ctx.gpr[31] = (0x08A773A0u); + aot_gpr_31 = (0x08A773A0u); aot_gpr_5 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 461u, 0x08A93198u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A773A0u) goto L_08A773A0; AOT_REGCACHE_SYNC_OUT(); return; @@ -7155,9 +7156,9 @@ L_08A773A8: const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(72))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(72))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), std::bit_cast(aot_fpr_12)); - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(76))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(76))); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_6 = (aot_gpr_4 | 0u); if (branch_taken) { @@ -7166,15 +7167,15 @@ L_08A773A8: goto L_08A773C8; } L_08A773C8: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(2))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(2))); aot_gpr_4 = (aot_gpr_4 + static_cast(2)); aot_gpr_5 = (16460u << 16u); aot_gpr_5 = (aot_gpr_5 | 52429u); aot_fpr_12 = std::bit_cast(aot_gpr_5); - ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(68))); - ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(69))); - ctx.gpr[9] = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(70))); - ctx.gpr[10] = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(71))); + ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(68))); + ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(69))); + ctx.gpr[9] = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(70))); + ctx.gpr[10] = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(71))); aot_gpr_5 = (16256u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_5); aot_gpr_5 = (0u | 3u); @@ -7183,7 +7184,7 @@ L_08A773C8: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[18]); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), 0u); - ctx.gpr[31] = (0x08A77414u); + aot_gpr_31 = (0x08A77414u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0042_entry, 42u, 276u, 0x088AEFC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A77414u) goto L_08A77414; AOT_REGCACHE_SYNC_OUT(); return; @@ -7197,7 +7198,7 @@ L_08A77414: L_08A77420: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[21] + static_cast(10)))))); aot_gpr_6 = (aot_gpr_29 + static_cast(53)); - ctx.gpr[31] = (0x08A77430u); + aot_gpr_31 = (0x08A77430u); aot_gpr_4 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A77430u) goto L_08A77430; AOT_REGCACHE_SYNC_OUT(); return; @@ -7235,7 +7236,7 @@ L_08A77440: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) & 0x7FFFFFFFu); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(48))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(48))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); @@ -7248,7 +7249,7 @@ L_08A77440: L_08A77474: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) & 0x7FFFFFFFu); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(52))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(52))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); @@ -7259,7 +7260,7 @@ L_08A77474: goto L_08A77490; } L_08A77490: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast(100))); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(52))); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; @@ -7270,8 +7271,8 @@ L_08A77490: goto L_08A774A4; } L_08A774A4: - aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(2))); - ctx.gpr[31] = (0x08A774B0u); + aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(2))); + aot_gpr_31 = (0x08A774B0u); aot_gpr_4 = (aot_gpr_16 | 0u); goto L_08A76BB4; L_08A774B0: @@ -7283,7 +7284,7 @@ L_08A774B0: goto L_08A774B8; } L_08A774B8: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(2))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(2))); aot_gpr_5 = (0u | 5u); aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(48), static_cast(aot_gpr_5)); aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(10018))); @@ -7292,8 +7293,8 @@ L_08A774B8: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(51), static_cast(aot_gpr_4)); ctx.gpr[1] = (static_cast(static_cast(aot_gpr_4) >> 8u)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(52), static_cast(ctx.gpr[1])); - aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(0))); - ctx.gpr[31] = (0x08A774E8u); + aot_gpr_6 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(0))); + aot_gpr_31 = (0x08A774E8u); aot_gpr_4 = (ctx.gpr[23] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 189u, 0x08ADCA34u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A774E8u) goto L_08A774E8; AOT_REGCACHE_SYNC_OUT(); return; @@ -7313,16 +7314,16 @@ L_08A774F4: aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(84), aot_run_words); ctx.fpr[20] = std::bit_cast(aot_run_words[0]); aot_gpr_16 = aot_run_words[1]; - aot_gpr_17 = aot_run_words[2]; + ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; ctx.gpr[19] = aot_run_words[4]; ctx.gpr[20] = aot_run_words[5]; ctx.gpr[21] = aot_run_words[6]; ctx.gpr[22] = aot_run_words[7]; ctx.gpr[23] = aot_run_words[8]; - ctx.gpr[31] = aot_run_words[9]; + aot_gpr_31 = aot_run_words[9]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(128)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -7351,7 +7352,7 @@ L_08A77524: aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(10018))); aot_gpr_5 = (aot_gpr_5 << 2u); aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_4); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -7423,7 +7424,7 @@ L_08A775E8: goto L_08A775F0; } L_08A775F0: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; // nop local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -7445,7 +7446,7 @@ L_08A775F8: aot_gpr_5 = (16256u << 16u); ctx.fpr[28] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-5580))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), std::bit_cast(ctx.fpr[24])); - { const std::uint32_t aot_run_words[7]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[7]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(20), aot_run_words); } { const bool branch_taken = aot_gpr_4 != 0u; ctx.fpr[24] = std::bit_cast(aot_gpr_5); @@ -7455,16 +7456,16 @@ L_08A775F8: goto L_08A77658; } L_08A77658: - ctx.gpr[31] = (0x08A77660u); + aot_gpr_31 = (0x08A77660u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A77660u) goto L_08A77660; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A77660u) goto L_08A77660; AOT_REGCACHE_SYNC_OUT(); return; L_08A77660: - aot_gpr_17 = (ctx.gpr[3] | 0u); + ctx.gpr[17] = (ctx.gpr[3] | 0u); aot_gpr_16 = (ctx.gpr[2] | 0u); - ctx.gpr[31] = (0x08A77670u); + aot_gpr_31 = (0x08A77670u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_22)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A77670u) goto L_08A77670; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A77670u) goto L_08A77670; AOT_REGCACHE_SYNC_OUT(); return; L_08A77670: ctx.gpr[19] = (ctx.gpr[3] | 0u); @@ -7478,9 +7479,9 @@ L_08A77670: ctx.execute_vfpu_unary_ct<1u, 64u, 1u, 18u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<1u>()); aot_fpr_12 = std::bit_cast(aot_gpr_4); - ctx.gpr[31] = (0x08A7769Cu); + aot_gpr_31 = (0x08A7769Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A7769Cu) goto L_08A7769C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A7769Cu) goto L_08A7769C; AOT_REGCACHE_SYNC_OUT(); return; L_08A7769C: ctx.gpr[21] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-5564))); @@ -7488,31 +7489,31 @@ L_08A7769C: aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_4 = (ctx.gpr[2] | 0u); ctx.gpr[7] = (ctx.gpr[21] | 0u); - ctx.gpr[31] = (0x08A776B8u); + aot_gpr_31 = (0x08A776B8u); aot_gpr_6 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A776B8u) goto L_08A776B8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_16, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A776B8u) goto L_08A776B8; AOT_REGCACHE_SYNC_OUT(); return; L_08A776B8: aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_4 = (ctx.gpr[18] | 0u); ctx.gpr[7] = (ctx.gpr[3] | 0u); - ctx.gpr[31] = (0x08A776CCu); + aot_gpr_31 = (0x08A776CCu); aot_gpr_6 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A776CCu) goto L_08A776CC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61EF4, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A776CCu) goto L_08A776CC; AOT_REGCACHE_SYNC_OUT(); return; L_08A776CC: - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_4 = (aot_gpr_16 | 0u); ctx.gpr[7] = (ctx.gpr[3] | 0u); - ctx.gpr[31] = (0x08A776E0u); + aot_gpr_31 = (0x08A776E0u); aot_gpr_6 = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 395u, 0x08B61F5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A776E0u) goto L_08A776E0; AOT_REGCACHE_SYNC_OUT(); return; L_08A776E0: aot_gpr_5 = (ctx.gpr[3] | 0u); - ctx.gpr[31] = (0x08A776ECu); + aot_gpr_31 = (0x08A776ECu); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A776ECu) goto L_08A776EC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B627F0, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A776ECu) goto L_08A776EC; AOT_REGCACHE_SYNC_OUT(); return; L_08A776EC: aot_fpr_22 = std::bit_cast(std::bit_cast(ctx.fpr[0])); @@ -7530,46 +7531,46 @@ L_08A776EC: ctx.execute_vfpu_unary_ct<1u, 64u, 1u, 19u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<1u>()); aot_fpr_12 = std::bit_cast(aot_gpr_4); - ctx.gpr[31] = (0x08A77728u); + aot_gpr_31 = (0x08A77728u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A77728u) goto L_08A77728; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A77728u) goto L_08A77728; AOT_REGCACHE_SYNC_OUT(); return; L_08A77728: aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_4 = (ctx.gpr[2] | 0u); ctx.gpr[7] = (ctx.gpr[21] | 0u); - ctx.gpr[31] = (0x08A7773Cu); + aot_gpr_31 = (0x08A7773Cu); aot_gpr_6 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A7773Cu) goto L_08A7773C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_16, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A7773Cu) goto L_08A7773C; AOT_REGCACHE_SYNC_OUT(); return; L_08A7773C: aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_4 = (ctx.gpr[18] | 0u); ctx.gpr[7] = (ctx.gpr[3] | 0u); - ctx.gpr[31] = (0x08A77750u); + aot_gpr_31 = (0x08A77750u); aot_gpr_6 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A77750u) goto L_08A77750; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61EF4, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A77750u) goto L_08A77750; AOT_REGCACHE_SYNC_OUT(); return; L_08A77750: - aot_gpr_17 = (ctx.gpr[3] | 0u); + ctx.gpr[17] = (ctx.gpr[3] | 0u); aot_gpr_16 = (ctx.gpr[2] | 0u); - ctx.gpr[31] = (0x08A77760u); + aot_gpr_31 = (0x08A77760u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[28])); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A77760u) goto L_08A77760; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A77760u) goto L_08A77760; AOT_REGCACHE_SYNC_OUT(); return; L_08A77760: - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_4 = (aot_gpr_16 | 0u); ctx.gpr[7] = (ctx.gpr[3] | 0u); - ctx.gpr[31] = (0x08A77774u); + aot_gpr_31 = (0x08A77774u); aot_gpr_6 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A77774u) goto L_08A77774; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61EF4, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A77774u) goto L_08A77774; AOT_REGCACHE_SYNC_OUT(); return; L_08A77774: aot_gpr_5 = (ctx.gpr[3] | 0u); - ctx.gpr[31] = (0x08A77780u); + aot_gpr_31 = (0x08A77780u); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A77780u) goto L_08A77780; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B627F0, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A77780u) goto L_08A77780; AOT_REGCACHE_SYNC_OUT(); return; L_08A77780: aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-5580), std::bit_cast(ctx.fpr[0])); @@ -7603,7 +7604,7 @@ L_08A777B0: aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-5580), std::bit_cast(ctx.fpr[26])); goto L_08A777B4; L_08A777B4: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_4 = (0u | 1u); aot_gpr_16 = (ctx.gpr[28] | 0u); goto L_08A777C0; @@ -7625,17 +7626,17 @@ L_08A777C8: goto L_08A777D4; } L_08A777D4: - aot_gpr_4 = (aot_gpr_17 << 2u); + aot_gpr_4 = (ctx.gpr[17] << 2u); aot_gpr_4 = (ctx.gpr[28] + aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(10024))); - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); aot_gpr_16 = (aot_gpr_16 + static_cast(4)); - ctx.gpr[31] = (0x08A777F0u); + aot_gpr_31 = (0x08A777F0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(716))); goto L_08A77584; L_08A777F0: { const bool branch_taken = 0u == 0u; - aot_gpr_4 = (static_cast(aot_gpr_17) < 4 ? 1u : 0u); + aot_gpr_4 = (static_cast(ctx.gpr[17]) < 4 ? 1u : 0u); if (branch_taken) { goto L_08A777C0; } @@ -7650,14 +7651,14 @@ L_08A777F8: ctx.fpr[26] = std::bit_cast(aot_run_words[3]); ctx.fpr[28] = std::bit_cast(aot_run_words[4]); aot_gpr_16 = aot_run_words[5]; - aot_gpr_17 = aot_run_words[6]; + ctx.gpr[17] = aot_run_words[6]; ctx.gpr[18] = aot_run_words[7]; ctx.gpr[19] = aot_run_words[8]; ctx.gpr[20] = aot_run_words[9]; ctx.gpr[21] = aot_run_words[10]; - ctx.gpr[31] = aot_run_words[11]; + aot_gpr_31 = aot_run_words[11]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(48)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -7956,7 +7957,7 @@ L_08A77A74: goto L_08A77A88; } L_08A77A88: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; // nop local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -8135,7 +8136,7 @@ L_08A77BE8: aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_5)); goto L_08A77BF0; L_08A77BF0: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; // nop local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -8148,14 +8149,14 @@ L_08A77BF8: aot_gpr_16 = (0u | 1u); { const std::uint32_t aot_run_words[6]{std::bit_cast(ctx.fpr[20]), std::bit_cast(aot_fpr_22), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(324), aot_run_words); } - { const std::uint32_t aot_run_words[9]{aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[9]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(352), aot_run_words); } - ctx.gpr[31] = (0x08A77C4Cu); + aot_gpr_31 = (0x08A77C4Cu); aot_gpr_4 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A77C4Cu) goto L_08A77C4C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A77C4Cu) goto L_08A77C4C; AOT_REGCACHE_SYNC_OUT(); return; L_08A77C4C: - ctx.gpr[31] = (0x08A77C54u); + aot_gpr_31 = (0x08A77C54u); // nop goto L_08A77830; L_08A77C54: @@ -8165,9 +8166,9 @@ L_08A77C54: aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_12 = aot_fpr_13 / aot_fpr_12; aot_gpr_4 = (0u | 0u); - ctx.gpr[31] = (0x08A77C74u); + aot_gpr_31 = (0x08A77C74u); aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(312), static_cast(aot_gpr_4)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A77C74u) goto L_08A77C74; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A77C74u) goto L_08A77C74; AOT_REGCACHE_SYNC_OUT(); return; L_08A77C74: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(300), ctx.gpr[3]); @@ -8323,9 +8324,9 @@ L_08A77DFC: { const float fs = aot_fpr_12; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = aot_fpr_12 / ctx.fpr[20]; ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(292))); - ctx.gpr[31] = (0x08A77E40u); + aot_gpr_31 = (0x08A77E40u); aot_fpr_12 = ctx.fpr[15] + aot_fpr_12; - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A77E40u) goto L_08A77E40; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A77E40u) goto L_08A77E40; AOT_REGCACHE_SYNC_OUT(); return; L_08A77E40: aot_gpr_4 = (ctx.gpr[22] << 2u); @@ -8335,20 +8336,20 @@ L_08A77E40: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(260))); ctx.gpr[21] = (ctx.gpr[3] | 0u); ctx.gpr[20] = (ctx.gpr[2] | 0u); - ctx.gpr[31] = (0x08A77E64u); + aot_gpr_31 = (0x08A77E64u); aot_fpr_12 = ctx.fpr[20] - aot_fpr_12; - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A77E64u) goto L_08A77E64; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A77E64u) goto L_08A77E64; AOT_REGCACHE_SYNC_OUT(); return; L_08A77E64: - aot_gpr_17 = (ctx.gpr[3] | 0u); + ctx.gpr[17] = (ctx.gpr[3] | 0u); aot_gpr_16 = (ctx.gpr[2] | 0u); ctx.gpr[30] = (ctx.gpr[22] + static_cast(-1)); aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_4 = (ctx.gpr[18] | 0u); - ctx.gpr[7] = (aot_gpr_17 | 0u); - ctx.gpr[31] = (0x08A77E84u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); + aot_gpr_31 = (0x08A77E84u); aot_gpr_6 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A77E84u) goto L_08A77E84; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B6256C, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A77E84u) goto L_08A77E84; AOT_REGCACHE_SYNC_OUT(); return; L_08A77E84: if (static_cast(ctx.gpr[2]) > 0) { @@ -8357,36 +8358,36 @@ L_08A77E84: } goto L_08A77E8C; L_08A77E8C: - ctx.gpr[19] = (aot_gpr_17 | 0u); + ctx.gpr[19] = (ctx.gpr[17] | 0u); ctx.gpr[18] = (aot_gpr_16 | 0u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(300))); goto L_08A77E98; L_08A77E98: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(296))); ctx.gpr[7] = (ctx.gpr[19] | 0u); - ctx.gpr[31] = (0x08A77EA8u); + aot_gpr_31 = (0x08A77EA8u); aot_gpr_6 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A77EA8u) goto L_08A77EA8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_16, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A77EA8u) goto L_08A77EA8; AOT_REGCACHE_SYNC_OUT(); return; L_08A77EA8: aot_gpr_5 = (ctx.gpr[21] | 0u); ctx.gpr[7] = (ctx.gpr[3] | 0u); aot_gpr_4 = (ctx.gpr[20] | 0u); - ctx.gpr[31] = (0x08A77EBCu); + aot_gpr_31 = (0x08A77EBCu); aot_gpr_6 = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 395u, 0x08B61F5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A77EBCu) goto L_08A77EBC; AOT_REGCACHE_SYNC_OUT(); return; L_08A77EBC: aot_gpr_5 = (ctx.gpr[3] | 0u); - ctx.gpr[31] = (0x08A77EC8u); + aot_gpr_31 = (0x08A77EC8u); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A77EC8u) goto L_08A77EC8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B627F0, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A77EC8u) goto L_08A77EC8; AOT_REGCACHE_SYNC_OUT(); return; L_08A77EC8: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-5576))); aot_fpr_12 = ctx.fpr[0] / aot_fpr_12; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), std::bit_cast(ctx.fpr[0])); - aot_gpr_17 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(252))); + ctx.gpr[17] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(252))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_22)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); diff --git a/profiles/vcs/generated/generated_unit_0157.cpp b/profiles/vcs/generated/generated_unit_0157.cpp index 512bbe4..165c0b5 100644 --- a/profiles/vcs/generated/generated_unit_0157.cpp +++ b/profiles/vcs/generated/generated_unit_0157.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include "vcs_tier2_superblocks.hpp" #include #include @@ -139,7 +140,7 @@ static const std::uint16_t kEntryIds_recomp_unit_0157[4091] = { }; void recomp_unit_0157_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,29,5,31,16,6 fprs=12,13,14,20 gpr_occ=4395 fpr_occ=528 gpr_total=5833 fpr_total=935 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,29,5,31,16,6 fprs=12,13,14,20 gpr_occ=4535 fpr_occ=528 gpr_total=6125 fpr_total=935 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; @@ -1372,13 +1373,13 @@ L_08A7844C: aot_gpr_4 = (0u | 6u); aot_gpr_31 = (0x08A78458u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A78458u) goto L_08A78458; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A78458u) goto L_08A78458; AOT_REGCACHE_SYNC_OUT(); return; L_08A78458: aot_gpr_4 = (0u | 4u); aot_gpr_31 = (0x08A78464u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A78464u) goto L_08A78464; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A78464u) goto L_08A78464; AOT_REGCACHE_SYNC_OUT(); return; L_08A78464: aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(324))); @@ -2200,7 +2201,7 @@ L_08A78D70: aot_gpr_5 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08A78D84u); aot_gpr_6 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A78D84u) goto L_08A78D84; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A78D84u) goto L_08A78D84; AOT_REGCACHE_SYNC_OUT(); return; L_08A78D84: ctx.gpr[2] = (0u | 0u); @@ -2390,7 +2391,7 @@ L_08A78EF0: aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08A78F04u); aot_gpr_6 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A78F04u) goto L_08A78F04; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A78F04u) goto L_08A78F04; AOT_REGCACHE_SYNC_OUT(); return; L_08A78F04: ctx.gpr[2] = (0u | 0u); @@ -2531,7 +2532,7 @@ L_08A78FFC: aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08A79010u); aot_gpr_6 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A79010u) goto L_08A79010; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A79010u) goto L_08A79010; AOT_REGCACHE_SYNC_OUT(); return; L_08A79010: ctx.gpr[2] = (0u | 0u); @@ -2672,7 +2673,7 @@ L_08A79108: aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08A7911Cu); aot_gpr_6 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A7911Cu) goto L_08A7911C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A7911Cu) goto L_08A7911C; AOT_REGCACHE_SYNC_OUT(); return; L_08A7911C: ctx.gpr[2] = (0u | 0u); @@ -2849,7 +2850,7 @@ L_08A7926C: aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08A79280u); aot_gpr_6 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A79280u) goto L_08A79280; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A79280u) goto L_08A79280; AOT_REGCACHE_SYNC_OUT(); return; L_08A79280: ctx.gpr[2] = (0u | 0u); @@ -3075,7 +3076,7 @@ L_08A79444: aot_gpr_5 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08A79458u); aot_gpr_6 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A79458u) goto L_08A79458; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A79458u) goto L_08A79458; AOT_REGCACHE_SYNC_OUT(); return; L_08A79458: ctx.gpr[2] = (0u | 0u); @@ -3257,7 +3258,7 @@ L_08A795BC: aot_gpr_5 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08A795D0u); aot_gpr_6 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A795D0u) goto L_08A795D0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A795D0u) goto L_08A795D0; AOT_REGCACHE_SYNC_OUT(); return; L_08A795D0: ctx.gpr[2] = (0u | 0u); @@ -3439,7 +3440,7 @@ L_08A79734: aot_gpr_5 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08A79748u); aot_gpr_6 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A79748u) goto L_08A79748; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A79748u) goto L_08A79748; AOT_REGCACHE_SYNC_OUT(); return; L_08A79748: ctx.gpr[2] = (0u | 0u); @@ -3596,7 +3597,7 @@ L_08A79874: aot_gpr_5 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08A79888u); aot_gpr_6 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A79888u) goto L_08A79888; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A79888u) goto L_08A79888; AOT_REGCACHE_SYNC_OUT(); return; L_08A79888: ctx.gpr[2] = (0u | 0u); @@ -3775,7 +3776,7 @@ L_08A799E0: aot_gpr_5 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08A799F4u); aot_gpr_6 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A799F4u) goto L_08A799F4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A799F4u) goto L_08A799F4; AOT_REGCACHE_SYNC_OUT(); return; L_08A799F4: ctx.gpr[2] = (0u | 0u); @@ -4736,7 +4737,7 @@ L_08A7A094: aot_gpr_4 = (0u | 11u); aot_gpr_31 = (0x08A7A0B0u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A7A0B0u) goto L_08A7A0B0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A7A0B0u) goto L_08A7A0B0; AOT_REGCACHE_SYNC_OUT(); return; L_08A7A0B0: aot_gpr_31 = (0x08A7A0B8u); @@ -5031,7 +5032,7 @@ L_08A7A2C8: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); aot_gpr_31 = (0x08A7A2DCu); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A7A2DCu) goto L_08A7A2DC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A7A2DCu) goto L_08A7A2DC; AOT_REGCACHE_SYNC_OUT(); return; L_08A7A2DC: aot_gpr_31 = (0x08A7A2E4u); @@ -5083,7 +5084,7 @@ L_08A7A300: aot_gpr_4 = (0u | 11u); aot_gpr_31 = (0x08A7A368u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A7A368u) goto L_08A7A368; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A7A368u) goto L_08A7A368; AOT_REGCACHE_SYNC_OUT(); return; L_08A7A368: aot_gpr_31 = (0x08A7A370u); @@ -5380,7 +5381,7 @@ L_08A7A558: aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08A7A568u); aot_gpr_16 = (2236u << 16u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A7A568u) goto L_08A7A568; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A7A568u) goto L_08A7A568; AOT_REGCACHE_SYNC_OUT(); return; L_08A7A568: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29552))); @@ -5422,37 +5423,37 @@ L_08A7A5CC: aot_gpr_4 = (0u | 11u); aot_gpr_31 = (0x08A7A5D8u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A7A5D8u) goto L_08A7A5D8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A7A5D8u) goto L_08A7A5D8; AOT_REGCACHE_SYNC_OUT(); return; L_08A7A5D8: aot_gpr_4 = (0u | 6u); aot_gpr_31 = (0x08A7A5E4u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A7A5E4u) goto L_08A7A5E4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A7A5E4u) goto L_08A7A5E4; AOT_REGCACHE_SYNC_OUT(); return; L_08A7A5E4: aot_gpr_4 = (0u | 4u); aot_gpr_31 = (0x08A7A5F0u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A7A5F0u) goto L_08A7A5F0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A7A5F0u) goto L_08A7A5F0; AOT_REGCACHE_SYNC_OUT(); return; L_08A7A5F0: aot_gpr_4 = (0u | 10u); aot_gpr_31 = (0x08A7A5FCu); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A7A5FCu) goto L_08A7A5FC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A7A5FCu) goto L_08A7A5FC; AOT_REGCACHE_SYNC_OUT(); return; L_08A7A5FC: aot_gpr_4 = (0u | 8u); aot_gpr_31 = (0x08A7A608u); aot_gpr_5 = (0u | 5u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A7A608u) goto L_08A7A608; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A7A608u) goto L_08A7A608; AOT_REGCACHE_SYNC_OUT(); return; L_08A7A608: aot_gpr_4 = (0u | 9u); aot_gpr_31 = (0x08A7A614u); aot_gpr_5 = (0u | 6u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A7A614u) goto L_08A7A614; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A7A614u) goto L_08A7A614; AOT_REGCACHE_SYNC_OUT(); return; L_08A7A614: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(10080))); @@ -5463,7 +5464,7 @@ L_08A7A620: aot_gpr_4 = (0u | 11u); aot_gpr_31 = (0x08A7A62Cu); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A7A62Cu) goto L_08A7A62C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A7A62Cu) goto L_08A7A62C; AOT_REGCACHE_SYNC_OUT(); return; L_08A7A62C: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -5980,7 +5981,7 @@ L_08A7A94C: aot_gpr_4 = (0u | 11u); aot_gpr_31 = (0x08A7AA6Cu); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A7AA6Cu) goto L_08A7AA6C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A7AA6Cu) goto L_08A7AA6C; AOT_REGCACHE_SYNC_OUT(); return; L_08A7AA6C: aot_gpr_31 = (0x08A7AA74u); @@ -6411,7 +6412,7 @@ L_08A7AD48: aot_gpr_4 = (0u | 11u); aot_gpr_31 = (0x08A7AD54u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A7AD54u) goto L_08A7AD54; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A7AD54u) goto L_08A7AD54; AOT_REGCACHE_SYNC_OUT(); return; L_08A7AD54: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29552))); @@ -6451,7 +6452,7 @@ L_08A7ADA4: aot_gpr_4 = (0u | 11u); aot_gpr_31 = (0x08A7ADD4u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A7ADD4u) goto L_08A7ADD4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A7ADD4u) goto L_08A7ADD4; AOT_REGCACHE_SYNC_OUT(); return; L_08A7ADD4: aot_gpr_5 = (2236u << 16u); diff --git a/profiles/vcs/generated/generated_unit_0158.cpp b/profiles/vcs/generated/generated_unit_0158.cpp index 62a979f..8a3c05f 100644 --- a/profiles/vcs/generated/generated_unit_0158.cpp +++ b/profiles/vcs/generated/generated_unit_0158.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include "vcs_tier2_superblocks.hpp" #include #include @@ -139,7 +140,7 @@ static const std::uint16_t kEntryIds_recomp_unit_0158[4093] = { }; void recomp_unit_0158_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,16,6,17 fprs=12,13,14,20 gpr_occ=4324 fpr_occ=1103 gpr_total=5394 fpr_total=1447 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,16,6,17 fprs=12,13,14,20 gpr_occ=4353 fpr_occ=1103 gpr_total=5457 fpr_total=1447 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; @@ -7870,7 +7871,7 @@ L_08A7F800: aot_gpr_5 = (0u | 0u); ctx.gpr[31] = (0x08A7F810u); aot_gpr_6 = (0u | 32u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A7F810u) goto L_08A7F810; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A7F810u) goto L_08A7F810; AOT_REGCACHE_SYNC_OUT(); return; L_08A7F810: aot_gpr_17 = (aot_gpr_17 + static_cast(1)); @@ -7985,7 +7986,7 @@ L_08A7F8AC: L_08A7F940: ctx.gpr[31] = (0x08A7F948u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A7F948u) goto L_08A7F948; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A7F948u) goto L_08A7F948; AOT_REGCACHE_SYNC_OUT(); return; L_08A7F948: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -8098,7 +8099,7 @@ L_08A7FA68: aot_gpr_5 = (aot_gpr_16 + static_cast(180)); ctx.gpr[31] = (0x08A7FA7Cu); aot_gpr_6 = (ctx.gpr[7] - aot_gpr_6); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A7FA7Cu) goto L_08A7FA7C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58100, 213u, 23u, 0x08B58100u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A7FA7Cu) goto L_08A7FA7C; AOT_REGCACHE_SYNC_OUT(); return; L_08A7FA7C: { const bool branch_taken = ctx.gpr[2] != 0u; @@ -8315,7 +8316,7 @@ L_08A7FC0C: L_08A7FC18: ctx.gpr[31] = (0x08A7FC20u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A7FC20u) goto L_08A7FC20; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A7FC20u) goto L_08A7FC20; AOT_REGCACHE_SYNC_OUT(); return; L_08A7FC20: aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -8675,7 +8676,7 @@ L_08A7FF04: aot_fpr_13 = std::bit_cast(aot_gpr_4); ctx.gpr[31] = (0x08A7FF4Cu); { const float fs = aot_fpr_20; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[26] = std::bit_cast(0x7FC00000u); else ctx.fpr[26] = fs * ft; } - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A7FF4Cu) goto L_08A7FF4C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A7FF4Cu) goto L_08A7FF4C; AOT_REGCACHE_SYNC_OUT(); return; L_08A7FF4C: aot_fpr_14 = ctx.fpr[26] - ctx.fpr[24]; @@ -8716,7 +8717,7 @@ L_08A7FF84: aot_fpr_13 = std::bit_cast(aot_gpr_4); ctx.gpr[31] = (0x08A7FFACu); { const float fs = aot_fpr_20; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[26] = std::bit_cast(0x7FC00000u); else ctx.fpr[26] = fs * ft; } - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A7FFACu) goto L_08A7FFAC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A7FFACu) goto L_08A7FFAC; AOT_REGCACHE_SYNC_OUT(); return; L_08A7FFAC: aot_fpr_14 = ctx.fpr[26] - ctx.fpr[24]; @@ -8727,7 +8728,7 @@ L_08A7FFAC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(96), std::bit_cast(aot_fpr_12)); ctx.gpr[31] = (0x08A7FFCCu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A7FFCCu) goto L_08A7FFCC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A7FFCCu) goto L_08A7FFCC; AOT_REGCACHE_SYNC_OUT(); return; L_08A7FFCC: aot_fpr_12 = ctx.fpr[26] - ctx.fpr[24]; @@ -8740,7 +8741,7 @@ L_08A7FFCC: aot_fpr_12 = std::bit_cast(aot_gpr_4); ctx.gpr[31] = (0x08A7FFF4u); { const float fs = aot_fpr_20; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_20 = std::bit_cast(0x7FC00000u); else aot_fpr_20 = fs * ft; } - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A7FFF4u) goto L_08A7FFF4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A7FFF4u) goto L_08A7FFF4; AOT_REGCACHE_SYNC_OUT(); return; L_08A7FFF4: aot_fpr_14 = aot_fpr_20 - ctx.fpr[26]; diff --git a/profiles/vcs/generated/generated_unit_0159.cpp b/profiles/vcs/generated/generated_unit_0159.cpp index bdf4f32..34972c0 100644 --- a/profiles/vcs/generated/generated_unit_0159.cpp +++ b/profiles/vcs/generated/generated_unit_0159.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,7 +139,7 @@ static const std::uint16_t kEntryIds_recomp_unit_0159[4095] = { }; void recomp_unit_0159_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=5,4,6,8,7,9 fprs=12,13,14,20 gpr_occ=5692 fpr_occ=166 gpr_total=7836 fpr_total=178 +// PSPRECOMP_AOT_REGCACHE_META gprs=5,4,6,8,7,9 fprs=12,13,14,20 gpr_occ=5703 fpr_occ=166 gpr_total=7866 fpr_total=178 std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_6 = ctx.gpr[6]; @@ -2947,7 +2948,7 @@ L_08A81E04: L_08A81E2C: ctx.gpr[31] = (0x08A81E34u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A81E34u) goto L_08A81E34; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A81E34u) goto L_08A81E34; AOT_REGCACHE_SYNC_OUT(); return; L_08A81E34: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -2970,7 +2971,7 @@ L_08A81E3C: L_08A81E4C: ctx.gpr[31] = (0x08A81E54u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A81E54u) goto L_08A81E54; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A81E54u) goto L_08A81E54; AOT_REGCACHE_SYNC_OUT(); return; L_08A81E54: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -2983,7 +2984,7 @@ L_08A81E54: L_08A81E5C: ctx.gpr[31] = (0x08A81E64u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A81E64u) goto L_08A81E64; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A81E64u) goto L_08A81E64; AOT_REGCACHE_SYNC_OUT(); return; L_08A81E64: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(48)))))); @@ -2998,7 +2999,7 @@ L_08A81E64: L_08A81E74: ctx.gpr[31] = (0x08A81E7Cu); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A81E7Cu) goto L_08A81E7C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A81E7Cu) goto L_08A81E7C; AOT_REGCACHE_SYNC_OUT(); return; L_08A81E7C: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(48)))))); @@ -3013,7 +3014,7 @@ L_08A81E7C: L_08A81E8C: ctx.gpr[31] = (0x08A81E94u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A81E94u) goto L_08A81E94; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A81E94u) goto L_08A81E94; AOT_REGCACHE_SYNC_OUT(); return; L_08A81E94: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(48)))))); @@ -3108,7 +3109,7 @@ L_08A81F24: L_08A81F2C: ctx.gpr[31] = (0x08A81F34u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A81F34u) goto L_08A81F34; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A81F34u) goto L_08A81F34; AOT_REGCACHE_SYNC_OUT(); return; L_08A81F34: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -3533,7 +3534,7 @@ L_08A8227C: L_08A82288: ctx.gpr[31] = (0x08A82290u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A82290u) goto L_08A82290; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[29], ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A82290u) goto L_08A82290; AOT_REGCACHE_SYNC_OUT(); return; L_08A82290: { std::uint32_t aot_run_words[3]{}; diff --git a/profiles/vcs/generated/generated_unit_0160.cpp b/profiles/vcs/generated/generated_unit_0160.cpp index 2c944b7..a270ae4 100644 --- a/profiles/vcs/generated/generated_unit_0160.cpp +++ b/profiles/vcs/generated/generated_unit_0160.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0160[4096] = { }; void recomp_unit_0160_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,29,5,6,7,16 fprs=12,13,20,14 gpr_occ=3583 fpr_occ=950 gpr_total=5405 fpr_total=1255 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,6,7,31 fprs=12,13,20,14 gpr_occ=3814 fpr_occ=950 gpr_total=5815 fpr_total=1255 std::uint32_t aot_gpr_4 = ctx.gpr[4]; - std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; + std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_6 = ctx.gpr[6]; std::uint32_t aot_gpr_7 = ctx.gpr[7]; - std::uint32_t aot_gpr_16 = ctx.gpr[16]; + std::uint32_t aot_gpr_31 = ctx.gpr[31]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_20 = ctx.fpr[20]; float aot_fpr_14 = ctx.fpr[14]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[29] = aot_gpr_29; ctx.gpr[5] = aot_gpr_5; ctx.gpr[6] = aot_gpr_6; ctx.gpr[7] = aot_gpr_7; ctx.gpr[16] = aot_gpr_16; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; ctx.fpr[14] = aot_fpr_14; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_7 = ctx.gpr[7]; aot_gpr_16 = ctx.gpr[16]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_14 = ctx.fpr[14]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[6] = aot_gpr_6; ctx.gpr[7] = aot_gpr_7; ctx.gpr[31] = aot_gpr_31; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; ctx.fpr[14] = aot_fpr_14; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_7 = ctx.gpr[7]; aot_gpr_31 = ctx.gpr[31]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_14 = ctx.fpr[14]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -975,7 +976,7 @@ L_08A840E4: L_08A840EC: ctx.gpr[20] = (ctx.gpr[20] | 32u); { const bool branch_taken = 0u == 0u; - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(104))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(104))); if (branch_taken) { goto L_08A84100; } @@ -983,10 +984,10 @@ L_08A840EC: } L_08A840F8: aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(280), std::bit_cast(aot_fpr_12)); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(104))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(104))); goto L_08A84100; L_08A84100: - { const bool branch_taken = aot_gpr_16 == 0u; + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08A844DC; @@ -994,13 +995,13 @@ L_08A84100: goto L_08A84108; } L_08A84108: - ctx.gpr[31] = (0x08A84110u); + aot_gpr_31 = (0x08A84110u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A84110u) goto L_08A84110; AOT_REGCACHE_SYNC_OUT(); return; L_08A84110: - aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08A8411Cu); + aot_gpr_4 = (ctx.gpr[16] | 0u); + aot_gpr_31 = (0x08A8411Cu); aot_gpr_5 = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 187u, 0x08B00B68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A8411Cu) goto L_08A8411C; AOT_REGCACHE_SYNC_OUT(); return; @@ -1529,16 +1530,16 @@ L_08A844E0: { std::uint32_t aot_run_words[9]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(64), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); - aot_gpr_16 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[1]; ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; ctx.gpr[19] = aot_run_words[4]; ctx.gpr[20] = aot_run_words[5]; ctx.gpr[21] = aot_run_words[6]; ctx.gpr[22] = aot_run_words[7]; - ctx.gpr[31] = aot_run_words[8]; + aot_gpr_31 = aot_run_words[8]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(112)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -1546,9 +1547,9 @@ L_08A844E0: AOT_REGCACHE_SYNC_OUT(); return; L_08A8450C: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[4]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(32), aot_run_words); } - aot_gpr_16 = (aot_gpr_7 | 0u); + ctx.gpr[16] = (aot_gpr_7 | 0u); ctx.gpr[17] = (aot_gpr_6 | 0u); ctx.gpr[18] = (aot_gpr_5 | 0u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(108))); @@ -1556,7 +1557,7 @@ L_08A8450C: aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); jump_target = aot_gpr_5; - ctx.gpr[31] = (0x08A84544u); + aot_gpr_31 = (0x08A84544u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A84544u) goto L_08A84544; @@ -1597,7 +1598,7 @@ L_08A84550: aot_gpr_4 = (aot_gpr_4 << 16u); aot_gpr_5 = (aot_gpr_5 | aot_gpr_4); aot_gpr_7 = (aot_gpr_5 & 1u); - aot_gpr_4 = (aot_gpr_16 << 5u); + aot_gpr_4 = (ctx.gpr[16] << 5u); aot_gpr_4 = (ctx.gpr[17] + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(304)); { const bool branch_taken = aot_gpr_7 != 0u; @@ -1624,7 +1625,7 @@ L_08A845D4: goto L_08A845DC; } L_08A845DC: - aot_gpr_7 = (aot_gpr_16 + ctx.gpr[17]); + aot_gpr_7 = (ctx.gpr[16] + ctx.gpr[17]); aot_gpr_7 = (aot_gpr_7 + static_cast(209)); ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); ctx.gpr[9] = (ctx.gpr[8] + static_cast(1)); @@ -1646,7 +1647,7 @@ L_08A84604: ctx.gpr[8] = (aot_gpr_7 + static_cast(1)); aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(0), ctx.gpr[8]); aot_gpr_7 = (aot_mem.aot_direct_load8(aot_gpr_7 + static_cast(0))); - ctx.gpr[8] = (aot_gpr_16 << 2u); + ctx.gpr[8] = (ctx.gpr[16] << 2u); ctx.gpr[8] = (ctx.gpr[17] + ctx.gpr[8]); aot_mem.aot_direct_store32(ctx.gpr[8] + static_cast(216), aot_gpr_7); goto L_08A84620; @@ -1660,7 +1661,7 @@ L_08A84620: goto L_08A8462C; } L_08A8462C: - aot_gpr_7 = (aot_gpr_16 << 2u); + aot_gpr_7 = (ctx.gpr[16] << 2u); aot_gpr_7 = (ctx.gpr[17] + aot_gpr_7); aot_gpr_7 = (aot_gpr_7 + static_cast(232)); ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); @@ -1700,7 +1701,7 @@ L_08A846A0: goto L_08A846AC; } L_08A846AC: - aot_gpr_7 = (aot_gpr_16 << 2u); + aot_gpr_7 = (ctx.gpr[16] << 2u); aot_gpr_7 = (ctx.gpr[17] + aot_gpr_7); aot_gpr_7 = (aot_gpr_7 + static_cast(248)); ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); @@ -1740,7 +1741,7 @@ L_08A84720: goto L_08A8472C; } L_08A8472C: - aot_gpr_7 = (aot_gpr_16 << 2u); + aot_gpr_7 = (ctx.gpr[16] << 2u); aot_gpr_7 = (ctx.gpr[17] + aot_gpr_7); aot_gpr_7 = (aot_gpr_7 + static_cast(264)); ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); @@ -1780,7 +1781,7 @@ L_08A847A0: goto L_08A847AC; } L_08A847AC: - aot_gpr_7 = (aot_gpr_16 << 2u); + aot_gpr_7 = (ctx.gpr[16] << 2u); aot_gpr_7 = (ctx.gpr[17] + aot_gpr_7); aot_gpr_7 = (aot_gpr_7 + static_cast(280)); ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); @@ -1824,7 +1825,7 @@ L_08A8482C: ctx.gpr[8] = (aot_gpr_7 + static_cast(1)); aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(0), ctx.gpr[8]); aot_gpr_7 = (aot_mem.aot_direct_load8(aot_gpr_7 + static_cast(0))); - ctx.gpr[8] = (aot_gpr_16 << 2u); + ctx.gpr[8] = (ctx.gpr[16] << 2u); ctx.gpr[8] = (ctx.gpr[17] + ctx.gpr[8]); aot_mem.aot_direct_store32(ctx.gpr[8] + static_cast(432), aot_gpr_7); goto L_08A84848; @@ -2185,12 +2186,12 @@ L_08A84C64: L_08A84C78: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(32), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; - ctx.gpr[31] = aot_run_words[3]; + aot_gpr_31 = aot_run_words[3]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(48)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -2198,18 +2199,18 @@ L_08A84C78: AOT_REGCACHE_SYNC_OUT(); return; L_08A84C90: aot_gpr_29 = (aot_gpr_29 + static_cast(-304)); - { const std::uint32_t aot_run_words[6]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), aot_gpr_16, ctx.gpr[17], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[6]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), ctx.gpr[16], ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(272), aot_run_words); } ctx.gpr[17] = (aot_gpr_4 | 0u); { const bool branch_taken = aot_gpr_6 != 0u; - aot_gpr_16 = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); if (branch_taken) { goto L_08A84CD8; } goto L_08A84CB8; } L_08A84CB8: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(30))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(30))); aot_gpr_5 = (0u | 18u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -2219,7 +2220,7 @@ L_08A84CB8: goto L_08A84CC8; } L_08A84CC8: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(30))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(30))); aot_gpr_5 = (0u | 33u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -2229,7 +2230,7 @@ L_08A84CC8: goto L_08A84CD8; } L_08A84CD8: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(30))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(30))); aot_gpr_5 = (aot_gpr_4 + static_cast(-2)); aot_gpr_5 = (aot_gpr_5 < static_cast(32) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; @@ -2259,11 +2260,11 @@ L_08A84D04: goto L_08A84D0C; } L_08A84D0C: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(320))); aot_gpr_4 = (48460u << 16u); @@ -2296,9 +2297,9 @@ L_08A84D74: aot_fpr_20 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (15820u << 16u); aot_gpr_4 = (aot_gpr_4 | 52429u); - ctx.gpr[31] = (0x08A84D90u); + aot_gpr_31 = (0x08A84D90u); ctx.fpr[22] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A84D90u) goto L_08A84D90; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A84D90u) goto L_08A84D90; AOT_REGCACHE_SYNC_OUT(); return; L_08A84D90: aot_fpr_12 = ctx.fpr[22] - aot_fpr_20; @@ -2309,9 +2310,9 @@ L_08A84D90: ctx.fpr[24] = std::bit_cast(aot_gpr_4); aot_gpr_4 = (15733u << 16u); aot_gpr_4 = (aot_gpr_4 | 49807u); - ctx.gpr[31] = (0x08A84DB8u); + aot_gpr_31 = (0x08A84DB8u); ctx.fpr[22] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A84DB8u) goto L_08A84DB8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A84DB8u) goto L_08A84DB8; AOT_REGCACHE_SYNC_OUT(); return; L_08A84DB8: aot_fpr_12 = ctx.fpr[22] - ctx.fpr[24]; @@ -2327,7 +2328,7 @@ L_08A84DB8: ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[11] = (0u | 0u); - ctx.gpr[31] = (0x08A84DF4u); + aot_gpr_31 = (0x08A84DF4u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0063_entry, 63u, 90u, 0x0890043Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A84DF4u) goto L_08A84DF4; AOT_REGCACHE_SYNC_OUT(); return; @@ -2350,11 +2351,11 @@ L_08A84E04: goto L_08A84E0C; } L_08A84E0C: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(72), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(320))); aot_gpr_4 = (48460u << 16u); @@ -2386,9 +2387,9 @@ L_08A84E70: aot_fpr_20 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (15800u << 16u); aot_gpr_4 = (aot_gpr_4 | 20972u); - ctx.gpr[31] = (0x08A84E8Cu); + aot_gpr_31 = (0x08A84E8Cu); ctx.fpr[22] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A84E8Cu) goto L_08A84E8C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A84E8Cu) goto L_08A84E8C; AOT_REGCACHE_SYNC_OUT(); return; L_08A84E8C: aot_fpr_12 = ctx.fpr[22] - aot_fpr_20; @@ -2399,9 +2400,9 @@ L_08A84E8C: ctx.fpr[24] = std::bit_cast(aot_gpr_4); aot_gpr_4 = (15733u << 16u); aot_gpr_4 = (aot_gpr_4 | 49807u); - ctx.gpr[31] = (0x08A84EB4u); + aot_gpr_31 = (0x08A84EB4u); ctx.fpr[22] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A84EB4u) goto L_08A84EB4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A84EB4u) goto L_08A84EB4; AOT_REGCACHE_SYNC_OUT(); return; L_08A84EB4: aot_fpr_12 = ctx.fpr[22] - ctx.fpr[24]; @@ -2417,7 +2418,7 @@ L_08A84EB4: ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[11] = (0u | 0u); - ctx.gpr[31] = (0x08A84EF0u); + aot_gpr_31 = (0x08A84EF0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0063_entry, 63u, 90u, 0x0890043Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A84EF0u) goto L_08A84EF0; AOT_REGCACHE_SYNC_OUT(); return; @@ -2440,11 +2441,11 @@ L_08A84F00: goto L_08A84F08; } L_08A84F08: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(112), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(116), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(120), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(320))); aot_gpr_4 = (48460u << 16u); @@ -2478,9 +2479,9 @@ L_08A84F74: aot_fpr_20 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (15733u << 16u); aot_gpr_4 = (aot_gpr_4 | 49807u); - ctx.gpr[31] = (0x08A84F90u); + aot_gpr_31 = (0x08A84F90u); ctx.fpr[22] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A84F90u) goto L_08A84F90; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A84F90u) goto L_08A84F90; AOT_REGCACHE_SYNC_OUT(); return; L_08A84F90: aot_fpr_12 = ctx.fpr[22] - aot_fpr_20; @@ -2488,9 +2489,9 @@ L_08A84F90: aot_fpr_20 = aot_fpr_20 + aot_fpr_12; aot_gpr_4 = (15605u << 16u); aot_gpr_4 = (aot_gpr_4 | 49807u); - ctx.gpr[31] = (0x08A84FACu); + aot_gpr_31 = (0x08A84FACu); ctx.fpr[24] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A84FACu) goto L_08A84FAC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A84FACu) goto L_08A84FAC; AOT_REGCACHE_SYNC_OUT(); return; L_08A84FAC: aot_fpr_13 = ctx.fpr[22] - ctx.fpr[24]; @@ -2506,7 +2507,7 @@ L_08A84FAC: ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[11] = (0u | 0u); - ctx.gpr[31] = (0x08A84FE8u); + aot_gpr_31 = (0x08A84FE8u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0063_entry, 63u, 90u, 0x0890043Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A84FE8u) goto L_08A84FE8; AOT_REGCACHE_SYNC_OUT(); return; @@ -2554,9 +2555,9 @@ L_08A85028: aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7888))); aot_gpr_4 = (16257u << 16u); aot_gpr_4 = (aot_gpr_4 | 18350u); - ctx.gpr[31] = (0x08A8503Cu); + aot_gpr_31 = (0x08A8503Cu); ctx.fpr[22] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A8503Cu) goto L_08A8503C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A8503Cu) goto L_08A8503C; AOT_REGCACHE_SYNC_OUT(); return; L_08A8503C: aot_fpr_12 = ctx.fpr[22] - aot_fpr_20; @@ -2582,11 +2583,11 @@ L_08A85060: goto L_08A85068; } L_08A85068: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(160), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(164), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(168), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(320))); aot_gpr_4 = (16128u << 16u); @@ -2604,8 +2605,8 @@ L_08A85068: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(194), static_cast(aot_gpr_4)); aot_gpr_4 = (0u | 255u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(195), static_cast(aot_gpr_4)); - aot_gpr_16 = (0u | 0u); - aot_gpr_4 = (static_cast(aot_gpr_16) < 1 ? 1u : 0u); + ctx.gpr[16] = (0u | 0u); + aot_gpr_4 = (static_cast(ctx.gpr[16]) < 1 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -2636,9 +2637,9 @@ L_08A850D0: ctx.fpr[22] = std::bit_cast(aot_gpr_4); aot_gpr_4 = (15713u << 16u); aot_gpr_4 = (aot_gpr_4 | 18350u); - ctx.gpr[31] = (0x08A85110u); + aot_gpr_31 = (0x08A85110u); ctx.fpr[24] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A85110u) goto L_08A85110; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A85110u) goto L_08A85110; AOT_REGCACHE_SYNC_OUT(); return; L_08A85110: aot_fpr_12 = ctx.fpr[24] - ctx.fpr[22]; @@ -2654,13 +2655,13 @@ L_08A85110: ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[11] = (0u | 0u); - ctx.gpr[31] = (0x08A8514Cu); + aot_gpr_31 = (0x08A8514Cu); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0063_entry, 63u, 90u, 0x0890043Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A8514Cu) goto L_08A8514C; AOT_REGCACHE_SYNC_OUT(); return; L_08A8514C: - aot_gpr_16 = (aot_gpr_16 + static_cast(1)); - aot_gpr_4 = (static_cast(aot_gpr_16) < 1 ? 1u : 0u); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(1)); + aot_gpr_4 = (static_cast(ctx.gpr[16]) < 1 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -2691,11 +2692,11 @@ L_08A85164: goto L_08A85184; } L_08A85184: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(208), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(212), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(216), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (16000u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); @@ -2727,9 +2728,9 @@ L_08A851D4: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_16 = (aot_gpr_29 + static_cast(240)); + ctx.gpr[16] = (aot_gpr_29 + static_cast(240)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(248))); @@ -2742,9 +2743,9 @@ L_08A851D4: aot_fpr_20 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (15651u << 16u); aot_gpr_4 = (aot_gpr_4 | 55050u); - ctx.gpr[31] = (0x08A85214u); + aot_gpr_31 = (0x08A85214u); ctx.fpr[22] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A85214u) goto L_08A85214; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A85214u) goto L_08A85214; AOT_REGCACHE_SYNC_OUT(); return; L_08A85214: aot_fpr_12 = ctx.fpr[22] - aot_fpr_20; @@ -2757,9 +2758,9 @@ L_08A85214: aot_gpr_4 = (aot_gpr_4 | 52429u); ctx.fpr[24] = std::bit_cast(aot_gpr_4); aot_gpr_4 = (16128u << 16u); - ctx.gpr[31] = (0x08A85248u); + aot_gpr_31 = (0x08A85248u); ctx.fpr[22] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A85248u) goto L_08A85248; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A85248u) goto L_08A85248; AOT_REGCACHE_SYNC_OUT(); return; L_08A85248: aot_fpr_12 = ctx.fpr[22] - ctx.fpr[24]; @@ -2767,13 +2768,13 @@ L_08A85248: aot_fpr_12 = ctx.fpr[24] + aot_fpr_12; ctx.gpr[8] = (aot_gpr_29 + static_cast(224)); aot_gpr_4 = (0u | 39u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_6 = (aot_gpr_29 + static_cast(256)); aot_gpr_7 = (0u | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[11] = (0u | 0u); - ctx.gpr[31] = (0x08A8527Cu); + aot_gpr_31 = (0x08A8527Cu); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0063_entry, 63u, 90u, 0x0890043Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A8527Cu) goto L_08A8527C; AOT_REGCACHE_SYNC_OUT(); return; @@ -2794,11 +2795,11 @@ L_08A85288: aot_fpr_20 = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); - aot_gpr_16 = aot_run_words[3]; + ctx.gpr[16] = aot_run_words[3]; ctx.gpr[17] = aot_run_words[4]; - ctx.gpr[31] = aot_run_words[5]; + aot_gpr_31 = aot_run_words[5]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(304)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -2807,31 +2808,31 @@ L_08A85288: L_08A852A8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), std::bit_cast(aot_fpr_20)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[16]); aot_fpr_20 = std::bit_cast(std::bit_cast(aot_fpr_12)); - aot_gpr_16 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[31]); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), 0u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(4), 0u); aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_6 = (0u | 255u); aot_gpr_7 = (0u | 0u); - ctx.gpr[31] = (0x08A852E0u); + aot_gpr_31 = (0x08A852E0u); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A852E0u) goto L_08A852E0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A852E0u) goto L_08A852E0; AOT_REGCACHE_SYNC_OUT(); return; L_08A852E0: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(0))); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(8), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(8), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(1))); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(9), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(9), static_cast(aot_gpr_4)); aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(2))); aot_gpr_4 = (0u | 0u); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(10), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(10), static_cast(aot_gpr_5)); aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(3))); aot_gpr_5 = (0u | 0u); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(11), static_cast(aot_gpr_6)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(11), static_cast(aot_gpr_6)); goto L_08A85308; L_08A85308: aot_gpr_6 = (aot_gpr_5 << 6u); @@ -2851,11 +2852,11 @@ L_08A85328: ctx.gpr[8] = (aot_gpr_4 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); aot_gpr_4 = (aot_gpr_4 & 65535u); - ctx.gpr[8] = (aot_gpr_16 + ctx.gpr[8]); + ctx.gpr[8] = (ctx.gpr[16] + ctx.gpr[8]); aot_mem.aot_direct_store16(ctx.gpr[8] + static_cast(26160), static_cast(aot_gpr_6)); ctx.gpr[9] = (aot_gpr_4 + aot_gpr_4); ctx.gpr[8] = (aot_gpr_6 + static_cast(33)); - ctx.gpr[9] = (aot_gpr_16 + ctx.gpr[9]); + ctx.gpr[9] = (ctx.gpr[16] + ctx.gpr[9]); aot_gpr_6 = (aot_gpr_6 + static_cast(1)); aot_mem.aot_direct_store16(ctx.gpr[9] + static_cast(26160), static_cast(ctx.gpr[8])); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); @@ -2886,11 +2887,11 @@ L_08A85384: ctx.gpr[8] = (aot_gpr_4 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); aot_gpr_4 = (aot_gpr_4 & 65535u); - ctx.gpr[8] = (aot_gpr_16 + ctx.gpr[8]); + ctx.gpr[8] = (ctx.gpr[16] + ctx.gpr[8]); aot_mem.aot_direct_store16(ctx.gpr[8] + static_cast(26160), static_cast(aot_gpr_6)); ctx.gpr[9] = (aot_gpr_4 + aot_gpr_4); ctx.gpr[8] = (aot_gpr_6 + static_cast(33)); - ctx.gpr[9] = (aot_gpr_16 + ctx.gpr[9]); + ctx.gpr[9] = (ctx.gpr[16] + ctx.gpr[9]); aot_gpr_6 = (aot_gpr_6 + static_cast(-1)); aot_mem.aot_direct_store16(ctx.gpr[9] + static_cast(26160), static_cast(ctx.gpr[8])); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); @@ -2922,7 +2923,7 @@ L_08A853D8: aot_gpr_6 = (15616u << 16u); ctx.gpr[8] = (17536u << 16u); ctx.gpr[9] = (49184u << 16u); - aot_gpr_4 = (aot_gpr_16 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(16)); aot_gpr_5 = (0u | 0u); aot_gpr_7 = (0u | 0u); ctx.fpr[15] = std::bit_cast(aot_gpr_6); @@ -2951,14 +2952,14 @@ L_08A85438: ctx.fpr[18] = static_cast(static_cast(std::bit_cast(ctx.fpr[18]))); { const float fs = ctx.fpr[17]; const float ft = aot_fpr_20; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[17] = std::bit_cast(0x7FC00000u); else ctx.fpr[17] = fs * ft; } aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), std::bit_cast(ctx.fpr[17])); - ctx.gpr[11] = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(8))); + ctx.gpr[11] = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(8))); ctx.fpr[17] = ctx.fpr[18] - aot_fpr_12; aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(8), static_cast(ctx.gpr[11])); - ctx.gpr[11] = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(9))); + ctx.gpr[11] = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(9))); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(9), static_cast(ctx.gpr[11])); - ctx.gpr[11] = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(10))); + ctx.gpr[11] = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(10))); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(10), static_cast(ctx.gpr[11])); - ctx.gpr[11] = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(11))); + ctx.gpr[11] = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(11))); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(12), std::bit_cast(ctx.fpr[16])); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(11), static_cast(ctx.gpr[11])); { const bool branch_taken = ctx.gpr[9] != 0u; @@ -3025,14 +3026,14 @@ L_08A854BC: goto L_08A854CC; } L_08A854CC: - ctx.gpr[2] = (aot_gpr_16 | 0u); + ctx.gpr[2] = (ctx.gpr[16] | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(4), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); - aot_gpr_16 = aot_run_words[1]; - ctx.gpr[31] = aot_run_words[2]; + ctx.gpr[16] = aot_run_words[1]; + aot_gpr_31 = aot_run_words[2]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -3044,13 +3045,13 @@ L_08A854E4: ctx.gpr[20] = (2236u << 16u); ctx.gpr[20] = (ctx.gpr[20] + static_cast(29232)); aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[20] + static_cast(301))); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18]}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(28), aot_run_words); } ctx.gpr[18] = (aot_gpr_4 + static_cast(26160)); ctx.gpr[17] = (aot_gpr_4 + static_cast(16)); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), ctx.gpr[19]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), aot_gpr_31); { const bool branch_taken = aot_gpr_5 != 0u; ctx.gpr[19] = (2236u << 16u); if (branch_taken) { @@ -3062,7 +3063,7 @@ L_08A85520: aot_gpr_4 = (ctx.gpr[20] | 0u); goto L_08A85524; L_08A85524: - ctx.gpr[31] = (0x08A8552Cu); + aot_gpr_31 = (0x08A8552Cu); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0109_entry, 109u, 323u, 0x089B9ABCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A8552Cu) goto L_08A8552C; AOT_REGCACHE_SYNC_OUT(); return; @@ -3151,26 +3152,26 @@ L_08A85604: aot_gpr_4 = (aot_gpr_6 + static_cast(4)); aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(29552), aot_gpr_4); aot_gpr_4 = (aot_gpr_4 - aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(4), aot_gpr_4); aot_gpr_5 = (aot_gpr_4 + static_cast(4)); - ctx.gpr[31] = (0x08A85634u); + aot_gpr_31 = (0x08A85634u); aot_gpr_4 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 501u, 0x08ABE57Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A85634u) goto L_08A85634; AOT_REGCACHE_SYNC_OUT(); return; L_08A85634: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), ctx.gpr[2]); - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), ctx.gpr[2]); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_gpr_4 = (ctx.gpr[2] | 0u); - ctx.gpr[31] = (0x08A85648u); + aot_gpr_31 = (0x08A85648u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A85648u) goto L_08A85648; AOT_REGCACHE_SYNC_OUT(); return; L_08A85648: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); - ctx.gpr[31] = (0x08A85660u); + aot_gpr_31 = (0x08A85660u); aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0054_entry, 54u, 498u, 0x088DF9D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A85660u) goto L_08A85660; AOT_REGCACHE_SYNC_OUT(); return; @@ -3179,21 +3180,21 @@ L_08A85660: aot_gpr_5 = (2816u << 16u); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_4); aot_gpr_4 = (aot_gpr_5 + static_cast(4)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(4), aot_gpr_4); { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(28), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; - ctx.gpr[31] = aot_run_words[5]; + aot_gpr_31 = aot_run_words[5]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(64)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -3201,7 +3202,7 @@ L_08A85660: AOT_REGCACHE_SYNC_OUT(); return; L_08A856A4: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), 0u); - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), 0u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -3209,13 +3210,13 @@ L_08A856A4: AOT_REGCACHE_SYNC_OUT(); return; L_08A856B0: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_16); - aot_gpr_16 = (aot_gpr_5 | 0u); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_5 | 0u); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_5 = (15616u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_5); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1404))); aot_fpr_12 = ctx.fpr[15] + aot_fpr_12; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[17]); @@ -3243,9 +3244,9 @@ L_08A856B0: aot_gpr_4 = (aot_gpr_4 + static_cast(4)); aot_gpr_5 = (ctx.gpr[28] + static_cast(7744)); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(29552), aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[31]); - ctx.gpr[31] = (0x08A85748u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); + aot_gpr_31 = (0x08A85748u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A85748u) goto L_08A85748; AOT_REGCACHE_SYNC_OUT(); return; L_08A85748: @@ -3256,7 +3257,7 @@ L_08A85748: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(29552))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(29552), aot_gpr_4); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_6 = (std::bit_cast(aot_fpr_12)); aot_gpr_5 = (15104u << 16u); aot_gpr_6 = (aot_gpr_6 >> 8u); @@ -3265,7 +3266,7 @@ L_08A85748: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(29552))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(29552), aot_gpr_4); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_gpr_6 = (std::bit_cast(aot_fpr_13)); aot_gpr_6 = (aot_gpr_6 >> 8u); aot_gpr_6 = (aot_gpr_6 | aot_gpr_5); @@ -3273,7 +3274,7 @@ L_08A85748: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(29552))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(29552), aot_gpr_4); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(8))); aot_gpr_6 = (std::bit_cast(aot_fpr_12)); aot_gpr_6 = (aot_gpr_6 >> 8u); aot_gpr_5 = (aot_gpr_6 | aot_gpr_5); @@ -3311,12 +3312,12 @@ L_08A85748: aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(20), aot_gpr_5); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(4), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; - ctx.gpr[31] = aot_run_words[3]; + aot_gpr_31 = aot_run_words[3]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -3330,14 +3331,14 @@ L_08A85850: aot_gpr_5 = (aot_gpr_5 + static_cast(48)); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(8))); aot_gpr_5 = (16736u << 16u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[16]); aot_fpr_13 = std::bit_cast(aot_gpr_5); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_fpr_12 = std::bit_cast(0u); aot_gpr_4 = (49184u << 16u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_14 <= aot_fpr_13)) ? 0x00800000u : 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), std::bit_cast(aot_fpr_20)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); aot_fpr_20 = std::bit_cast(aot_gpr_4); if (branch_taken) { @@ -3367,21 +3368,21 @@ L_08A858B0: aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(33))); aot_gpr_7 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(34))); ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(35))); - ctx.gpr[31] = (0x08A858C8u); + aot_gpr_31 = (0x08A858C8u); aot_gpr_4 = (aot_gpr_29 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A858C8u) goto L_08A858C8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A858C8u) goto L_08A858C8; AOT_REGCACHE_SYNC_OUT(); return; L_08A858C8: aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(32))); aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(33))); aot_gpr_4 = (aot_gpr_29 + static_cast(4)); aot_gpr_7 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(34))); - ctx.gpr[31] = (0x08A858E0u); + aot_gpr_31 = (0x08A858E0u); ctx.gpr[8] = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A858E0u) goto L_08A858E0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A858E0u) goto L_08A858E0; AOT_REGCACHE_SYNC_OUT(); return; L_08A858E0: - aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(8))); + aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(8))); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(0))); { const bool branch_taken = aot_gpr_6 != aot_gpr_5; aot_gpr_4 = (0u | 0u); @@ -3391,7 +3392,7 @@ L_08A858E0: goto L_08A858F0; } L_08A858F0: - aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(9))); + aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(9))); aot_gpr_7 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(1))); if (aot_gpr_6 != aot_gpr_7) { aot_gpr_4 = (aot_gpr_4 & 255u); @@ -3399,7 +3400,7 @@ L_08A858F0: } goto L_08A85900; L_08A85900: - aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(10))); + aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(10))); aot_gpr_7 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(2))); if (aot_gpr_6 != aot_gpr_7) { aot_gpr_4 = (aot_gpr_4 & 255u); @@ -3407,7 +3408,7 @@ L_08A85900: } goto L_08A85910; L_08A85910: - aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(11))); + aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(11))); aot_gpr_7 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(3))); { const bool branch_taken = aot_gpr_6 != aot_gpr_7; aot_gpr_4 = (aot_gpr_4 & 255u); @@ -3434,13 +3435,13 @@ L_08A85928: } L_08A85938: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(1))); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(8), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(8), static_cast(aot_gpr_5)); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(2))); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(9), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(9), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(3))); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(10), static_cast(aot_gpr_5)); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(11), static_cast(aot_gpr_4)); - aot_gpr_5 = (aot_gpr_16 + static_cast(16)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(10), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(11), static_cast(aot_gpr_4)); + aot_gpr_5 = (ctx.gpr[16] + static_cast(16)); aot_gpr_4 = (0u | 0u); goto L_08A8595C; L_08A8595C: @@ -3451,7 +3452,7 @@ L_08A8595C: goto L_08A8596C; L_08A8596C: if (ctx.gpr[8] != 0u) { - ctx.gpr[10] = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(8))); + ctx.gpr[10] = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(8))); goto L_08A859B4; } goto L_08A85974; @@ -3473,7 +3474,7 @@ L_08A8597C: } L_08A85984: if (ctx.gpr[10] == 0u) { - ctx.gpr[10] = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(8))); + ctx.gpr[10] = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(8))); goto L_08A859B4; } goto L_08A8598C; @@ -3493,15 +3494,15 @@ L_08A8598C: goto L_08A859B0; } L_08A859B0: - ctx.gpr[10] = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(8))); + ctx.gpr[10] = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(8))); goto L_08A859B4; L_08A859B4: aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(8), static_cast(ctx.gpr[10])); - ctx.gpr[10] = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(9))); + ctx.gpr[10] = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(9))); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(9), static_cast(ctx.gpr[10])); - ctx.gpr[10] = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(10))); + ctx.gpr[10] = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(10))); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(10), static_cast(ctx.gpr[10])); - ctx.gpr[10] = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(11))); + ctx.gpr[10] = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(11))); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(11), static_cast(ctx.gpr[10])); goto L_08A859D0; L_08A859D0: @@ -3563,10 +3564,10 @@ L_08A85A14: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(8), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); - aot_gpr_16 = aot_run_words[1]; - ctx.gpr[31] = aot_run_words[2]; + ctx.gpr[16] = aot_run_words[1]; + aot_gpr_31 = aot_run_words[2]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -3577,11 +3578,11 @@ L_08A85A28: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[17]); ctx.gpr[17] = (aot_gpr_4 + static_cast(16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_16); - { const std::uint32_t aot_run_words[4]{ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[31]}; + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[16]); + { const std::uint32_t aot_run_words[4]{ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(12), aot_run_words); } { const bool branch_taken = aot_gpr_5 != 0u; - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08A85A7C; } @@ -3589,7 +3590,7 @@ L_08A85A28: } L_08A85A54: ctx.gpr[19] = (0u | 0u); - ctx.gpr[31] = (0x08A85A60u); + aot_gpr_31 = (0x08A85A60u); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A85A60u) goto L_08A85A60; AOT_REGCACHE_SYNC_OUT(); return; @@ -3603,9 +3604,9 @@ L_08A85A60: goto L_08A85A6C; } L_08A85A6C: - ctx.gpr[31] = (0x08A85A74u); + aot_gpr_31 = (0x08A85A74u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A85A74u) goto L_08A85A74; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A85A74u) goto L_08A85A74; AOT_REGCACHE_SYNC_OUT(); return; L_08A85A74: ctx.gpr[19] = (ctx.gpr[18] | 0u); @@ -3615,10 +3616,10 @@ L_08A85A78: goto L_08A85A7C; L_08A85A7C: ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_6 = (0u | 1u); - ctx.gpr[31] = (0x08A85A94u); + aot_gpr_31 = (0x08A85A94u); aot_gpr_7 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A85A94u) goto L_08A85A94; AOT_REGCACHE_SYNC_OUT(); return; @@ -3642,7 +3643,7 @@ L_08A85AA8: goto L_08A85AAC; L_08A85AAC: aot_gpr_5 = (aot_gpr_4 | 0u); - ctx.gpr[31] = (0x08A85AB8u); + aot_gpr_31 = (0x08A85AB8u); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A85AB8u) goto L_08A85AB8; AOT_REGCACHE_SYNC_OUT(); return; @@ -3650,10 +3651,10 @@ L_08A85AB8: ctx.gpr[19] = (2236u << 16u); ctx.gpr[20] = (ctx.gpr[19] + static_cast(29704)); ctx.gpr[18] = (ctx.gpr[2] | 0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_6 = (0u | 3u); - ctx.gpr[31] = (0x08A85AD8u); + aot_gpr_31 = (0x08A85AD8u); aot_gpr_7 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A85AD8u) goto L_08A85AD8; AOT_REGCACHE_SYNC_OUT(); return; @@ -3666,7 +3667,7 @@ L_08A85AD8: aot_gpr_7 = (aot_gpr_7 & 65535u); ctx.gpr[8] = (ctx.gpr[8] & 65535u); aot_gpr_5 = (ctx.gpr[18] | 0u); - ctx.gpr[31] = (0x08A85B00u); + aot_gpr_31 = (0x08A85B00u); aot_gpr_4 = (aot_gpr_4 + static_cast(8968)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0077_entry, 77u, 652u, 0x0893AC1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A85B00u) goto L_08A85B00; AOT_REGCACHE_SYNC_OUT(); return; @@ -3674,14 +3675,14 @@ L_08A85B00: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(4), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; - ctx.gpr[31] = aot_run_words[5]; + aot_gpr_31 = aot_run_words[5]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -3692,11 +3693,11 @@ L_08A85B24: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), ctx.gpr[17]); ctx.gpr[17] = (aot_gpr_4 + static_cast(16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_16); - { const std::uint32_t aot_run_words[4]{ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[31]}; + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[16]); + { const std::uint32_t aot_run_words[4]{ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(28), aot_run_words); } { const bool branch_taken = aot_gpr_5 != 0u; - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08A85B78; } @@ -3704,7 +3705,7 @@ L_08A85B24: } L_08A85B50: ctx.gpr[19] = (0u | 0u); - ctx.gpr[31] = (0x08A85B5Cu); + aot_gpr_31 = (0x08A85B5Cu); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A85B5Cu) goto L_08A85B5C; AOT_REGCACHE_SYNC_OUT(); return; @@ -3718,9 +3719,9 @@ L_08A85B5C: goto L_08A85B68; } L_08A85B68: - ctx.gpr[31] = (0x08A85B70u); + aot_gpr_31 = (0x08A85B70u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A85B70u) goto L_08A85B70; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A85B70u) goto L_08A85B70; AOT_REGCACHE_SYNC_OUT(); return; L_08A85B70: ctx.gpr[19] = (ctx.gpr[18] | 0u); @@ -3731,9 +3732,9 @@ L_08A85B74: L_08A85B78: ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); aot_gpr_7 = (aot_gpr_29 + static_cast(16)); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); - ctx.gpr[31] = (0x08A85B90u); + aot_gpr_31 = (0x08A85B90u); aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A85B90u) goto L_08A85B90; AOT_REGCACHE_SYNC_OUT(); return; @@ -3757,7 +3758,7 @@ L_08A85BA4: goto L_08A85BA8; L_08A85BA8: aot_gpr_5 = (aot_gpr_4 | 0u); - ctx.gpr[31] = (0x08A85BB4u); + aot_gpr_31 = (0x08A85BB4u); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A85BB4u) goto L_08A85BB4; AOT_REGCACHE_SYNC_OUT(); return; @@ -3765,10 +3766,10 @@ L_08A85BB4: ctx.gpr[19] = (2236u << 16u); ctx.gpr[20] = (ctx.gpr[19] + static_cast(29704)); ctx.gpr[18] = (ctx.gpr[2] | 0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_6 = (0u | 4u); - ctx.gpr[31] = (0x08A85BD4u); + aot_gpr_31 = (0x08A85BD4u); aot_gpr_7 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A85BD4u) goto L_08A85BD4; AOT_REGCACHE_SYNC_OUT(); return; @@ -3790,7 +3791,7 @@ L_08A85BD4: ctx.gpr[10] = (0u + static_cast(-1)); ctx.gpr[11] = (0u + static_cast(-1)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[3]); - ctx.gpr[31] = (0x08A85C20u); + aot_gpr_31 = (0x08A85C20u); aot_gpr_4 = (aot_gpr_4 + static_cast(8968)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0077_entry, 77u, 668u, 0x0893AE5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A85C20u) goto L_08A85C20; AOT_REGCACHE_SYNC_OUT(); return; @@ -3798,14 +3799,14 @@ L_08A85C20: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(20), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; - ctx.gpr[31] = aot_run_words[5]; + aot_gpr_31 = aot_run_words[5]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(48)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -3816,22 +3817,22 @@ L_08A85C44: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5848))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); ctx.gpr[17] = (0u | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); { const bool branch_taken = aot_gpr_5 != 0u; - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08A85C6C; } goto L_08A85C64; } L_08A85C64: - ctx.gpr[31] = (0x08A85C6Cu); + aot_gpr_31 = (0x08A85C6Cu); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 351u, 0x08B657E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A85C6Cu) goto L_08A85C6C; AOT_REGCACHE_SYNC_OUT(); return; L_08A85C6C: - ctx.gpr[31] = (0x08A85C74u); + aot_gpr_31 = (0x08A85C74u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5848))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0109_entry, 109u, 694u, 0x089BB2D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A85C74u) goto L_08A85C74; AOT_REGCACHE_SYNC_OUT(); return; @@ -3848,12 +3849,12 @@ L_08A85C7C: goto L_08A85C80; L_08A85C80: aot_gpr_4 = (0u < ctx.gpr[17] ? 1u : 0u); - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(524))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(524))); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); ctx.gpr[17] = (aot_gpr_4 ^ aot_gpr_5); - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(518))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(518))); { const bool branch_taken = aot_gpr_4 != 0u; ctx.gpr[17] = (0u < ctx.gpr[17] ? 1u : 0u); if (branch_taken) { @@ -3863,18 +3864,18 @@ L_08A85C80: } L_08A85CA4: { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(ctx.gpr[17])); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(521), static_cast(ctx.gpr[17])); if (branch_taken) { goto L_08A85CF4; } goto L_08A85CAC; } L_08A85CAC: - aot_gpr_4 = (aot_gpr_16 + static_cast(518)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(518)); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0))); aot_gpr_6 = (aot_gpr_5 + static_cast(-1)); aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_6)); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(521))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(521))); aot_gpr_5 = (static_cast(aot_gpr_5) < 9 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); @@ -3886,7 +3887,7 @@ L_08A85CAC: L_08A85CCC: aot_gpr_4 = (ctx.gpr[17] & aot_gpr_4); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(521), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08A85CF4; } @@ -3894,8 +3895,8 @@ L_08A85CCC: } L_08A85CD8: aot_gpr_4 = (ctx.gpr[17] | aot_gpr_4); - aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(518))); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_4)); + aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(518))); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(521), static_cast(aot_gpr_4)); aot_gpr_4 = (static_cast(aot_gpr_5) < 21 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -3905,17 +3906,17 @@ L_08A85CD8: goto L_08A85CF0; } L_08A85CF0: - aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(518), static_cast(0u)); + aot_mem.aot_direct_store16(ctx.gpr[16] + static_cast(518), static_cast(0u)); goto L_08A85CF4; L_08A85CF4: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; - ctx.gpr[31] = aot_run_words[2]; + aot_gpr_31 = aot_run_words[2]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -3924,15 +3925,15 @@ L_08A85CF4: L_08A85D0C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_4 = (2247u << 16u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[31]); - ctx.gpr[31] = (0x08A85D20u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); + aot_gpr_31 = (0x08A85D20u); aot_gpr_4 = (aot_gpr_4 + static_cast(8968)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0077_entry, 77u, 646u, 0x0893ABACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A85D20u) goto L_08A85D20; AOT_REGCACHE_SYNC_OUT(); return; L_08A85D20: ctx.gpr[2] = (0u | 0u); - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -3990,7 +3991,7 @@ L_08A85D30: const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; // nop local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -4006,7 +4007,7 @@ L_08A85D58: ctx.execute_vfpu_unary_ct<1u, 64u, 1u, 18u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<1u>()); ctx.fpr[0] = std::bit_cast(aot_gpr_4); - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; // nop local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -4022,7 +4023,7 @@ L_08A85D7C: ctx.execute_vfpu_unary_ct<1u, 64u, 1u, 19u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<1u>()); ctx.fpr[0] = std::bit_cast(aot_gpr_4); - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; // nop local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -4079,7 +4080,7 @@ L_08A85DD4: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(48), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(52), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(72), std::bit_cast(aot_fpr_13)); - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(76), std::bit_cast(aot_fpr_12)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -4095,18 +4096,18 @@ L_08A85E50: ctx.gpr[17] = (static_cast(static_cast(ctx.gpr[17]) >> 16u)); aot_gpr_5 = (aot_gpr_5 < aot_gpr_6 ? 1u : 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), std::bit_cast(aot_fpr_20)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), aot_gpr_16); - { const std::uint32_t aot_run_words[4]{ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[31]}; + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), ctx.gpr[16]); + { const std::uint32_t aot_run_words[4]{ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(64), aot_run_words); } { const bool branch_taken = aot_gpr_5 == 0u; - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08A85EC0; } goto L_08A85E90; } L_08A85E90: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(4)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(4)))))); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); if (static_cast(aot_gpr_4) >= 0) { aot_gpr_4 = (aot_gpr_4 & 15u); @@ -4124,9 +4125,9 @@ L_08A85EA0: goto L_08A85EB0; } L_08A85EB0: - aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(4), static_cast(aot_gpr_4)); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(4)))))); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_mem.aot_direct_store16(ctx.gpr[16] + static_cast(4), static_cast(aot_gpr_4)); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(4)))))); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(528), static_cast(0u)); goto L_08A85EC0; L_08A85EC0: @@ -4136,7 +4137,7 @@ L_08A85EC0: aot_fpr_20 = std::bit_cast(aot_gpr_4); goto L_08A85ED0; L_08A85ED0: - aot_gpr_4 = (aot_gpr_16 + ctx.gpr[18]); + aot_gpr_4 = (ctx.gpr[16] + ctx.gpr[18]); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(528))); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -4147,7 +4148,7 @@ L_08A85ED0: } L_08A85EE0: aot_gpr_4 = (ctx.gpr[18] << 4u); - aot_gpr_5 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_5 = (ctx.gpr[16] + aot_gpr_4); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(280))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); { const float fs = aot_fpr_13; const float ft = aot_fpr_20; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } @@ -4172,7 +4173,7 @@ L_08A85EE0: const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - ctx.gpr[31] = (0x08A85F24u); + aot_gpr_31 = (0x08A85F24u); aot_gpr_5 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A85F24u) goto L_08A85F24; AOT_REGCACHE_SYNC_OUT(); return; @@ -4197,7 +4198,7 @@ L_08A85F3C: ctx.gpr[19] = (ctx.gpr[19] + static_cast(14864)); goto L_08A85F54; L_08A85F54: - aot_gpr_4 = (aot_gpr_16 + ctx.gpr[20]); + aot_gpr_4 = (ctx.gpr[16] + ctx.gpr[20]); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(528))); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -4208,7 +4209,7 @@ L_08A85F54: } L_08A85F64: aot_gpr_4 = (ctx.gpr[20] << 4u); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(16)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; @@ -4225,7 +4226,7 @@ L_08A85F64: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); - ctx.gpr[31] = (0x08A85F88u); + aot_gpr_31 = (0x08A85F88u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 270u, 0x089D1734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A85F88u) goto L_08A85F88; AOT_REGCACHE_SYNC_OUT(); return; @@ -4264,14 +4265,14 @@ L_08A85FAC: goto L_08A85FC0; } L_08A85FC0: - ctx.gpr[31] = (0x08A85FC8u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_31 = (0x08A85FC8u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_08A8676C; L_08A85FC8: ctx.gpr[18] = (0u | 0u); goto L_08A85FCC; L_08A85FCC: - aot_gpr_4 = (aot_gpr_16 + ctx.gpr[18]); + aot_gpr_4 = (ctx.gpr[16] + ctx.gpr[18]); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(528))); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -4294,7 +4295,7 @@ L_08A85FDC: } L_08A85FF4: { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), 0u); if (branch_taken) { goto L_08A85FFC; } @@ -4304,14 +4305,14 @@ L_08A85FFC: { std::uint32_t aot_run_words[7]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(52), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); - aot_gpr_16 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[1]; ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; ctx.gpr[19] = aot_run_words[4]; ctx.gpr[20] = aot_run_words[5]; - ctx.gpr[31] = aot_run_words[6]; + aot_gpr_31 = aot_run_words[6]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(80)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -4355,14 +4356,14 @@ L_08A86020: aot_gpr_5 = (0u | 1u); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(4)))))); aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(528), static_cast(aot_gpr_5)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08A86064: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; ctx.gpr[2] = (aot_gpr_4 | 0u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -4370,19 +4371,19 @@ L_08A86064: AOT_REGCACHE_SYNC_OUT(); return; L_08A8606C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[16], ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - aot_gpr_16 = (2246u << 16u); + ctx.gpr[16] = (2246u << 16u); ctx.gpr[17] = (0u | 0u); - aot_gpr_16 = (aot_gpr_16 + static_cast(29008)); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(29008)); goto L_08A86088; L_08A86088: aot_gpr_4 = (ctx.gpr[17] << 5u); aot_gpr_5 = (0u + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 << 4u); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); - ctx.gpr[31] = (0x08A860A0u); - aot_gpr_4 = (aot_gpr_4 + aot_gpr_16); + aot_gpr_31 = (0x08A860A0u); + aot_gpr_4 = (aot_gpr_4 + ctx.gpr[16]); goto L_08A85DA0; L_08A860A0: aot_gpr_4 = (ctx.gpr[17] + static_cast(1)); @@ -4399,11 +4400,11 @@ L_08A860A0: L_08A860B8: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; - ctx.gpr[31] = aot_run_words[2]; + aot_gpr_31 = aot_run_words[2]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -4413,16 +4414,16 @@ L_08A860CC: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); ctx.gpr[18] = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); - aot_gpr_16 = (aot_gpr_6 | 0u); + ctx.gpr[16] = (aot_gpr_6 | 0u); ctx.gpr[17] = (aot_gpr_5 | 0u); aot_gpr_4 = (2246u << 16u); aot_gpr_6 = (0u | 0u); aot_gpr_5 = (0u | 1u); aot_gpr_4 = (aot_gpr_4 + static_cast(29008)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[19]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); goto L_08A86100; L_08A86100: { const bool branch_taken = aot_gpr_5 == 0u; @@ -4471,8 +4472,8 @@ L_08A86140: aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_5 = (ctx.gpr[17] | 0u); - ctx.gpr[31] = (0x08A86160u); - aot_gpr_6 = (aot_gpr_16 | 0u); + aot_gpr_31 = (0x08A86160u); + aot_gpr_6 = (ctx.gpr[16] | 0u); goto L_08A86020; L_08A86160: { const bool branch_taken = 0u == 0u; @@ -4532,26 +4533,26 @@ L_08A861B0: aot_gpr_5 = (aot_gpr_5 << 4u); aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); ctx.gpr[19] = (aot_gpr_5 + aot_gpr_4); - ctx.gpr[31] = (0x08A861CCu); + aot_gpr_31 = (0x08A861CCu); aot_gpr_4 = (ctx.gpr[19] | 0u); goto L_08A85DA0; L_08A861CC: aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(0), ctx.gpr[18]); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); - ctx.gpr[31] = (0x08A861E0u); - aot_gpr_6 = (aot_gpr_16 | 0u); + aot_gpr_31 = (0x08A861E0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); goto L_08A86020; L_08A861E0: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; - ctx.gpr[31] = aot_run_words[4]; + aot_gpr_31 = aot_run_words[4]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -4559,19 +4560,19 @@ L_08A861E0: AOT_REGCACHE_SYNC_OUT(); return; L_08A861FC: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (2246u << 16u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (2246u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); ctx.gpr[17] = (0u | 0u); - aot_gpr_16 = (aot_gpr_16 + static_cast(29008)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[31]); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(29008)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); goto L_08A86218; L_08A86218: aot_gpr_4 = (ctx.gpr[17] << 5u); aot_gpr_5 = (0u + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 << 4u); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); - aot_gpr_4 = (aot_gpr_4 + aot_gpr_16); + aot_gpr_4 = (aot_gpr_4 + ctx.gpr[16]); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); { const bool branch_taken = aot_gpr_5 == 0u; // nop @@ -4581,7 +4582,7 @@ L_08A86218: goto L_08A86238; } L_08A86238: - ctx.gpr[31] = (0x08A86240u); + aot_gpr_31 = (0x08A86240u); aot_gpr_5 = (ctx.gpr[17] | 0u); goto L_08A85E50; L_08A86240: @@ -4599,11 +4600,11 @@ L_08A86240: L_08A86258: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; - ctx.gpr[31] = aot_run_words[2]; + aot_gpr_31 = aot_run_words[2]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -4611,19 +4612,19 @@ L_08A86258: AOT_REGCACHE_SYNC_OUT(); return; L_08A8626C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (2246u << 16u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (2246u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); ctx.gpr[17] = (0u | 0u); - aot_gpr_16 = (aot_gpr_16 + static_cast(29008)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[31]); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(29008)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); goto L_08A86288; L_08A86288: aot_gpr_4 = (ctx.gpr[17] << 5u); aot_gpr_5 = (0u + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 << 4u); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); - aot_gpr_4 = (aot_gpr_4 + aot_gpr_16); + aot_gpr_4 = (aot_gpr_4 + ctx.gpr[16]); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); { const bool branch_taken = aot_gpr_5 == 0u; // nop @@ -4633,7 +4634,7 @@ L_08A86288: goto L_08A862A8; } L_08A862A8: - ctx.gpr[31] = (0x08A862B0u); + aot_gpr_31 = (0x08A862B0u); // nop goto L_08A862DC; L_08A862B0: @@ -4651,11 +4652,11 @@ L_08A862B0: L_08A862C8: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; - ctx.gpr[31] = aot_run_words[2]; + aot_gpr_31 = aot_run_words[2]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -4666,31 +4667,31 @@ L_08A862DC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(128), ctx.gpr[21]); ctx.gpr[21] = (aot_gpr_4 | 0u); aot_gpr_4 = (0u | 6u); - { const std::uint32_t aot_run_words[9]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20]}; + { const std::uint32_t aot_run_words[9]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(92), aot_run_words); } - { const std::uint32_t aot_run_words[4]{ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[4]{ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(132), aot_run_words); } - ctx.gpr[31] = (0x08A86328u); + aot_gpr_31 = (0x08A86328u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A86328u) goto L_08A86328; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A86328u) goto L_08A86328; AOT_REGCACHE_SYNC_OUT(); return; L_08A86328: aot_gpr_4 = (0u | 10u); - ctx.gpr[31] = (0x08A86334u); + aot_gpr_31 = (0x08A86334u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A86334u) goto L_08A86334; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A86334u) goto L_08A86334; AOT_REGCACHE_SYNC_OUT(); return; L_08A86334: aot_gpr_4 = (0u | 11u); - ctx.gpr[31] = (0x08A86340u); + aot_gpr_31 = (0x08A86340u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A86340u) goto L_08A86340; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A86340u) goto L_08A86340; AOT_REGCACHE_SYNC_OUT(); return; L_08A86340: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8768))); - ctx.gpr[31] = (0x08A8634Cu); + aot_gpr_31 = (0x08A8634Cu); aot_gpr_4 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A8634Cu) goto L_08A8634C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A8634Cu) goto L_08A8634C; AOT_REGCACHE_SYNC_OUT(); return; L_08A8634C: aot_gpr_4 = (16968u << 16u); @@ -4705,7 +4706,7 @@ L_08A8634C: aot_gpr_6 = (16256u << 16u); aot_gpr_4 = (2236u << 16u); aot_fpr_20 = std::bit_cast(aot_gpr_6); - aot_gpr_16 = (aot_gpr_4 + static_cast(-9536)); + ctx.gpr[16] = (aot_gpr_4 + static_cast(-9536)); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_20)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); @@ -4735,16 +4736,16 @@ L_08A863A8: L_08A863AC: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-5432))); aot_fpr_13 = std::bit_cast(0u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), std::bit_cast(aot_fpr_13)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(4), std::bit_cast(aot_fpr_13)); aot_fpr_14 = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(28), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(28), std::bit_cast(aot_fpr_20)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(-9536), std::bit_cast(aot_fpr_14)); aot_fpr_12 = aot_fpr_20 - aot_fpr_12; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(24), std::bit_cast(aot_fpr_14)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(52), std::bit_cast(aot_fpr_13)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(76), std::bit_cast(aot_fpr_20)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(48), std::bit_cast(aot_fpr_12)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(72), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(24), std::bit_cast(aot_fpr_14)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(52), std::bit_cast(aot_fpr_13)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(76), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(48), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(72), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[21] + static_cast(4)))))); if (static_cast(aot_gpr_4) >= 0) { aot_gpr_4 = (aot_gpr_4 & 15u); @@ -4990,11 +4991,11 @@ L_08A86538: goto L_08A86570; L_08A86570: aot_gpr_6 = (0u | 255u); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(8), static_cast(aot_gpr_6)); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(9), static_cast(aot_gpr_6)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(8), static_cast(aot_gpr_6)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(9), static_cast(aot_gpr_6)); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(10), static_cast(aot_gpr_6)); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(11), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(10), static_cast(aot_gpr_6)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(11), static_cast(aot_gpr_5)); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[9] + static_cast(16))); @@ -5006,10 +5007,10 @@ L_08A86570: ctx.fpr[18] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[9] + static_cast(24))); aot_gpr_5 = (0u | 0u); aot_fpr_14 = ctx.fpr[17] - aot_fpr_14; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(12), std::bit_cast(aot_fpr_13)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(12), std::bit_cast(aot_fpr_13)); aot_fpr_13 = ctx.fpr[18] - ctx.fpr[16]; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(16), std::bit_cast(aot_fpr_14)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(20), std::bit_cast(aot_fpr_13)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(16), std::bit_cast(aot_fpr_14)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(20), std::bit_cast(aot_fpr_13)); if (aot_gpr_7 == 0u) { aot_gpr_5 = (aot_gpr_4 | 0u); goto L_08A865CC; @@ -5017,11 +5018,11 @@ L_08A86570: goto L_08A865CC; L_08A865CC: aot_gpr_6 = (0u | 255u); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(32), static_cast(aot_gpr_6)); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(33), static_cast(aot_gpr_6)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(32), static_cast(aot_gpr_6)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(33), static_cast(aot_gpr_6)); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(34), static_cast(aot_gpr_6)); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(35), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(34), static_cast(aot_gpr_6)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(35), static_cast(aot_gpr_5)); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); ctx.fpr[17] = std::bit_cast(ctx.gpr[20]); @@ -5032,19 +5033,19 @@ L_08A865CC: ctx.fpr[0] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[9] + static_cast(20))); aot_fpr_14 = ctx.fpr[16] + aot_fpr_14; ctx.fpr[2] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[9] + static_cast(24))); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(56), static_cast(aot_gpr_6)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(56), static_cast(aot_gpr_6)); { const float fs = aot_fpr_12; const float ft = ctx.fpr[19]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } ctx.fpr[18] = ctx.fpr[0] + ctx.fpr[18]; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(36), std::bit_cast(aot_fpr_14)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(36), std::bit_cast(aot_fpr_14)); aot_fpr_14 = ctx.fpr[17] + aot_fpr_20; - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(57), static_cast(aot_gpr_6)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(57), static_cast(aot_gpr_6)); aot_fpr_12 = ctx.fpr[2] + aot_fpr_12; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(40), std::bit_cast(ctx.fpr[18])); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(58), static_cast(aot_gpr_6)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(40), std::bit_cast(ctx.fpr[18])); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(58), static_cast(aot_gpr_6)); { const float fs = aot_fpr_14; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[15] = std::bit_cast(0x7FC00000u); else ctx.fpr[15] = fs * ft; } - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(44), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(44), std::bit_cast(aot_fpr_12)); { const float fs = aot_fpr_14; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(59), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(59), static_cast(aot_gpr_4)); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(ctx.gpr[8] + static_cast(16), aot_run_words); ctx.fpr[16] = std::bit_cast(aot_run_words[0]); @@ -5052,27 +5053,27 @@ L_08A865CC: ctx.fpr[0] = std::bit_cast(aot_run_words[2]); } { const float fs = aot_fpr_14; const float ft = ctx.fpr[19]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(80), static_cast(aot_gpr_6)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(80), static_cast(aot_gpr_6)); ctx.fpr[16] = ctx.fpr[16] - aot_fpr_12; - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(81), static_cast(aot_gpr_6)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(81), static_cast(aot_gpr_6)); aot_fpr_13 = ctx.fpr[18] - ctx.fpr[15]; ctx.fpr[17] = ctx.fpr[0] - aot_fpr_14; { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[16]), std::bit_cast(aot_fpr_13), std::bit_cast(ctx.fpr[17])}; - aot_mem.aot_direct_store32_block(aot_gpr_16 + static_cast(60), aot_run_words); } - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(82), static_cast(aot_gpr_6)); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(83), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store32_block(ctx.gpr[16] + static_cast(60), aot_run_words); } + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(82), static_cast(aot_gpr_6)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(83), static_cast(aot_gpr_4)); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[8] + static_cast(16))); ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[8] + static_cast(20))); aot_fpr_12 = aot_fpr_13 + aot_fpr_12; ctx.fpr[17] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[8] + static_cast(24))); ctx.fpr[15] = ctx.fpr[16] + ctx.fpr[15]; - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_fpr_14 = ctx.fpr[17] + aot_fpr_14; aot_gpr_5 = (0u | 4u); aot_gpr_6 = (0u | 0u); { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_12), std::bit_cast(ctx.fpr[15]), std::bit_cast(aot_fpr_14)}; - aot_mem.aot_direct_store32_block(aot_gpr_16 + static_cast(84), aot_run_words); } - ctx.gpr[31] = (0x08A866B0u); + aot_mem.aot_direct_store32_block(ctx.gpr[16] + static_cast(84), aot_run_words); } + aot_gpr_31 = (0x08A866B0u); aot_gpr_7 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0186_entry, 186u, 515u, 0x08AEE610u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A866B0u) goto L_08A866B0; AOT_REGCACHE_SYNC_OUT(); return; @@ -5087,12 +5088,12 @@ L_08A866B0: L_08A866B8: aot_gpr_4 = (0u | 3u); aot_gpr_5 = (ctx.gpr[30] | 0u); - ctx.gpr[31] = (0x08A866C8u); + aot_gpr_31 = (0x08A866C8u); aot_gpr_6 = (0u | 12u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0186_entry, 186u, 536u, 0x08AEE8E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A866C8u) goto L_08A866C8; AOT_REGCACHE_SYNC_OUT(); return; L_08A866C8: - ctx.gpr[31] = (0x08A866D0u); + aot_gpr_31 = (0x08A866D0u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0186_entry, 186u, 535u, 0x08AEE8D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A866D0u) goto L_08A866D0; AOT_REGCACHE_SYNC_OUT(); return; @@ -5126,21 +5127,21 @@ L_08A866FC: } L_08A86708: aot_gpr_4 = (0u | 6u); - ctx.gpr[31] = (0x08A86714u); + aot_gpr_31 = (0x08A86714u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A86714u) goto L_08A86714; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A86714u) goto L_08A86714; AOT_REGCACHE_SYNC_OUT(); return; L_08A86714: aot_gpr_4 = (0u | 10u); - ctx.gpr[31] = (0x08A86720u); + aot_gpr_31 = (0x08A86720u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A86720u) goto L_08A86720; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A86720u) goto L_08A86720; AOT_REGCACHE_SYNC_OUT(); return; L_08A86720: aot_gpr_4 = (0u | 11u); - ctx.gpr[31] = (0x08A8672Cu); + aot_gpr_31 = (0x08A8672Cu); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A8672Cu) goto L_08A8672C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A8672Cu) goto L_08A8672C; AOT_REGCACHE_SYNC_OUT(); return; L_08A8672C: { std::uint32_t aot_run_words[14]{}; @@ -5149,7 +5150,7 @@ L_08A8672C: ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); ctx.fpr[26] = std::bit_cast(aot_run_words[3]); - aot_gpr_16 = aot_run_words[4]; + ctx.gpr[16] = aot_run_words[4]; ctx.gpr[17] = aot_run_words[5]; ctx.gpr[18] = aot_run_words[6]; ctx.gpr[19] = aot_run_words[7]; @@ -5158,9 +5159,9 @@ L_08A8672C: ctx.gpr[22] = aot_run_words[10]; ctx.gpr[23] = aot_run_words[11]; ctx.gpr[30] = aot_run_words[12]; - ctx.gpr[31] = aot_run_words[13]; + aot_gpr_31 = aot_run_words[13]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(160)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -5184,10 +5185,10 @@ L_08A8676C: aot_gpr_4 = (ctx.gpr[23] + static_cast(16)); ctx.fpr[17] = std::bit_cast(std::bit_cast(aot_fpr_13)); aot_gpr_6 = (ctx.gpr[23] + static_cast(24)); - { const std::uint32_t aot_run_words[13]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22]}; + { const std::uint32_t aot_run_words[13]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(168), aot_run_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(224), ctx.gpr[30]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(228), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(228), aot_gpr_31); goto L_08A867EC; L_08A867EC: ctx.gpr[8] = (ctx.gpr[23] + aot_gpr_7); @@ -5461,20 +5462,20 @@ L_08A86A48: aot_gpr_5 = (aot_gpr_4 + ctx.gpr[23]); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(528))); { const bool branch_taken = aot_gpr_5 == 0u; - aot_gpr_16 = (aot_gpr_4 << 4u); + ctx.gpr[16] = (aot_gpr_4 << 4u); if (branch_taken) { goto L_08A86C88; } goto L_08A86A58; } L_08A86A58: - aot_gpr_16 = (ctx.gpr[23] + aot_gpr_16); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); + ctx.gpr[16] = (ctx.gpr[23] + ctx.gpr[16]); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(16))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(0))); - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(20))); ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(4))); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; - ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); + ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(24))); aot_fpr_14 = aot_fpr_14 - ctx.fpr[15]; ctx.fpr[17] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(8))); { const float fs = aot_fpr_12; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } @@ -5496,18 +5497,18 @@ L_08A86A58: } L_08A86AAC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(164), ctx.gpr[30]); - ctx.gpr[30] = (aot_gpr_16 | 0u); + ctx.gpr[30] = (ctx.gpr[16] | 0u); aot_gpr_4 = (16256u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), std::bit_cast(aot_fpr_20)); aot_gpr_5 = (aot_gpr_29 + static_cast(24)); - ctx.gpr[31] = (0x08A86AD0u); + aot_gpr_31 = (0x08A86AD0u); aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 618u, 0x08906DC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A86AD0u) goto L_08A86AD0; AOT_REGCACHE_SYNC_OUT(); return; L_08A86AD0: - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (ctx.gpr[2] | 0u); aot_gpr_4 = (0u + static_cast(-2)); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(456))); aot_gpr_4 = (aot_gpr_5 & aot_gpr_4); @@ -5520,7 +5521,7 @@ L_08A86AD0: aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(32), aot_run_words); } aot_gpr_4 = (ctx.gpr[17] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); - ctx.gpr[31] = (0x08A86B10u); + aot_gpr_31 = (0x08A86B10u); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 600u, 0x08A66CD8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A86B10u) goto L_08A86B10; AOT_REGCACHE_SYNC_OUT(); return; @@ -5583,15 +5584,15 @@ L_08A86B6C: goto L_08A86B88; L_08A86B88: aot_gpr_4 = (ctx.gpr[17] | 0u); - ctx.gpr[31] = (0x08A86B94u); + aot_gpr_31 = (0x08A86B94u); aot_gpr_5 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 538u, 0x08A666C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A86B94u) goto L_08A86B94; AOT_REGCACHE_SYNC_OUT(); return; L_08A86B94: - aot_gpr_6 = (aot_gpr_16 + static_cast(28)); + aot_gpr_6 = (ctx.gpr[16] + static_cast(28)); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (0u | 2000u); - ctx.gpr[31] = (0x08A86BA8u); + aot_gpr_31 = (0x08A86BA8u); aot_gpr_7 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0070_entry, 70u, 14u, 0x0891C0E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A86BA8u) goto L_08A86BA8; AOT_REGCACHE_SYNC_OUT(); return; @@ -5623,7 +5624,7 @@ L_08A86BA8: ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); - ctx.gpr[31] = (0x08A86BF0u); + aot_gpr_31 = (0x08A86BF0u); ctx.gpr[11] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0062_entry, 62u, 716u, 0x088FF060u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A86BF0u) goto L_08A86BF0; AOT_REGCACHE_SYNC_OUT(); return; @@ -5672,18 +5673,18 @@ L_08A86BF0: const std::uint32_t vfpu_address = ctx.gpr[20] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - ctx.gpr[31] = (0x08A86C34u); + aot_gpr_31 = (0x08A86C34u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A86C34u) goto L_08A86C34; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A86C34u) goto L_08A86C34; AOT_REGCACHE_SYNC_OUT(); return; L_08A86C34: aot_fpr_12 = ctx.fpr[30] - aot_fpr_20; { const float fs = aot_fpr_12; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = aot_fpr_20 + aot_fpr_12; aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); - ctx.gpr[31] = (0x08A86C4Cu); - aot_gpr_16 = (std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A86C4Cu) goto L_08A86C4C; + aot_gpr_31 = (0x08A86C4Cu); + ctx.gpr[16] = (std::bit_cast(aot_fpr_12)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A86C4Cu) goto L_08A86C4C; AOT_REGCACHE_SYNC_OUT(); return; L_08A86C4C: aot_fpr_13 = ctx.fpr[28] - aot_fpr_20; @@ -5696,9 +5697,9 @@ L_08A86C4C: aot_gpr_6 = (ctx.gpr[20] | 0u); aot_gpr_7 = (0u | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[22])); - ctx.gpr[8] = (aot_gpr_16 | 0u); + ctx.gpr[8] = (ctx.gpr[16] | 0u); ctx.gpr[10] = (0u | 1u); - ctx.gpr[31] = (0x08A86C84u); + aot_gpr_31 = (0x08A86C84u); ctx.gpr[11] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0062_entry, 62u, 716u, 0x088FF060u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A86C84u) goto L_08A86C84; AOT_REGCACHE_SYNC_OUT(); return; @@ -5739,7 +5740,7 @@ L_08A86CBC: ctx.fpr[26] = std::bit_cast(aot_run_words[3]); ctx.fpr[28] = std::bit_cast(aot_run_words[4]); ctx.fpr[30] = std::bit_cast(aot_run_words[5]); - aot_gpr_16 = aot_run_words[6]; + ctx.gpr[16] = aot_run_words[6]; ctx.gpr[17] = aot_run_words[7]; ctx.gpr[18] = aot_run_words[8]; ctx.gpr[19] = aot_run_words[9]; @@ -5748,9 +5749,9 @@ L_08A86CBC: ctx.gpr[22] = aot_run_words[12]; ctx.gpr[23] = aot_run_words[13]; ctx.gpr[30] = aot_run_words[14]; - ctx.gpr[31] = aot_run_words[15]; + aot_gpr_31 = aot_run_words[15]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(240)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -5758,14 +5759,14 @@ L_08A86CBC: AOT_REGCACHE_SYNC_OUT(); return; L_08A86D04: aot_gpr_29 = (aot_gpr_29 + static_cast(-528)); - { const std::uint32_t aot_run_words[9]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[9]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(480), aot_run_words); } - ctx.gpr[31] = (0x08A86D34u); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_gpr_31 = (0x08A86D34u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A86D34u) goto L_08A86D34; AOT_REGCACHE_SYNC_OUT(); return; L_08A86D34: - { const bool branch_taken = aot_gpr_16 != ctx.gpr[2]; + { const bool branch_taken = ctx.gpr[16] != ctx.gpr[2]; // nop if (branch_taken) { goto L_08A86FCC; @@ -5773,12 +5774,12 @@ L_08A86D34: goto L_08A86D3C; } L_08A86D3C: - ctx.gpr[31] = (0x08A86D44u); + aot_gpr_31 = (0x08A86D44u); aot_gpr_4 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A86D44u) goto L_08A86D44; AOT_REGCACHE_SYNC_OUT(); return; L_08A86D44: - ctx.gpr[31] = (0x08A86D4Cu); + aot_gpr_31 = (0x08A86D4Cu); aot_gpr_4 = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0098_entry, 98u, 347u, 0x0898CF8Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A86D4Cu) goto L_08A86D4C; AOT_REGCACHE_SYNC_OUT(); return; @@ -5795,36 +5796,36 @@ L_08A86D54: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); aot_gpr_4 = (aot_gpr_4 | 4719u); aot_fpr_13 = std::bit_cast(aot_gpr_4); - ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1852))); + ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1852))); aot_gpr_4 = (0u | 0u); - ctx.gpr[31] = (0x08A86D74u); + aot_gpr_31 = (0x08A86D74u); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[24] = std::bit_cast(0x7FC00000u); else ctx.fpr[24] = fs * ft; } if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A86D74u) goto L_08A86D74; AOT_REGCACHE_SYNC_OUT(); return; L_08A86D74: aot_gpr_4 = (ctx.gpr[2] | 0u); - ctx.gpr[31] = (0x08A86D80u); + aot_gpr_31 = (0x08A86D80u); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0098_entry, 98u, 73u, 0x0898C2B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A86D80u) goto L_08A86D80; AOT_REGCACHE_SYNC_OUT(); return; L_08A86D80: aot_fpr_14 = std::bit_cast(ctx.gpr[2]); aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); - aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1856))); + aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1856))); aot_gpr_4 = (14545u << 16u); aot_gpr_4 = (aot_gpr_4 | 46871u); { const float fs = ctx.fpr[24]; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (0u | 0u); aot_fpr_12 = ctx.fpr[22] + aot_fpr_12; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(1852), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(1852), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); - ctx.gpr[31] = (0x08A86DB4u); + aot_gpr_31 = (0x08A86DB4u); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[24] = std::bit_cast(0x7FC00000u); else ctx.fpr[24] = fs * ft; } if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A86DB4u) goto L_08A86DB4; AOT_REGCACHE_SYNC_OUT(); return; L_08A86DB4: - ctx.gpr[31] = (0x08A86DBCu); + aot_gpr_31 = (0x08A86DBCu); aot_gpr_4 = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0098_entry, 98u, 90u, 0x0898C3A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A86DBCu) goto L_08A86DBC; AOT_REGCACHE_SYNC_OUT(); return; @@ -5864,17 +5865,17 @@ L_08A86DFC: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_14)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(1856), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(1856), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_08A86E18; } goto L_08A86E14; } L_08A86E14: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(1856), std::bit_cast(aot_fpr_14)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(1856), std::bit_cast(aot_fpr_14)); goto L_08A86E18; L_08A86E18: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1856))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1856))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[15])) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); @@ -5885,7 +5886,7 @@ L_08A86E18: goto L_08A86E2C; } L_08A86E2C: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(1856), std::bit_cast(ctx.fpr[15])); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(1856), std::bit_cast(ctx.fpr[15])); goto L_08A86E30; L_08A86E30: aot_fpr_12 = std::bit_cast(0u); @@ -5925,21 +5926,21 @@ L_08A86E30: aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(168), aot_gpr_4); ctx.gpr[20] = (aot_gpr_29 + static_cast(96)); - ctx.gpr[31] = (0x08A86EA0u); + aot_gpr_31 = (0x08A86EA0u); aot_gpr_4 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 940u, 0x0885FF78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A86EA0u) goto L_08A86EA0; AOT_REGCACHE_SYNC_OUT(); return; L_08A86EA0: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1852))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1852))); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); - ctx.gpr[31] = (0x08A86EB0u); + aot_gpr_31 = (0x08A86EB0u); aot_gpr_4 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 921u, 0x0885FA00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A86EB0u) goto L_08A86EB0; AOT_REGCACHE_SYNC_OUT(); return; L_08A86EB0: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[20] | 0u); - ctx.gpr[31] = (0x08A86EC0u); + aot_gpr_31 = (0x08A86EC0u); aot_gpr_6 = (ctx.gpr[19] | 0u); goto L_08A85D30; L_08A86EC0: @@ -5957,14 +5958,14 @@ L_08A86EC0: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (ctx.gpr[18] | 0u); - ctx.gpr[31] = (0x08A86ED4u); + aot_gpr_31 = (0x08A86ED4u); aot_gpr_5 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A86ED4u) goto L_08A86ED4; AOT_REGCACHE_SYNC_OUT(); return; L_08A86ED4: aot_gpr_4 = (ctx.gpr[17] | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08A86EE4u); + aot_gpr_5 = (ctx.gpr[16] | 0u); + aot_gpr_31 = (0x08A86EE4u); aot_gpr_6 = (ctx.gpr[18] | 0u); goto L_08A85D30; L_08A86EE4: @@ -5982,28 +5983,28 @@ L_08A86EE4: const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - ctx.gpr[31] = (0x08A86EF8u); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1852))); + aot_gpr_31 = (0x08A86EF8u); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1852))); goto L_08A85D58; L_08A86EF8: aot_fpr_20 = std::bit_cast(std::bit_cast(ctx.fpr[0])); - ctx.gpr[31] = (0x08A86F04u); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1856))); + aot_gpr_31 = (0x08A86F04u); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1856))); goto L_08A85D7C; L_08A86F04: { const float fs = aot_fpr_20; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_20 = std::bit_cast(0x7FC00000u); else aot_fpr_20 = fs * ft; } - ctx.gpr[31] = (0x08A86F10u); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1852))); + aot_gpr_31 = (0x08A86F10u); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1852))); goto L_08A85D7C; L_08A86F10: ctx.fpr[22] = std::bit_cast(std::bit_cast(ctx.fpr[0])); - ctx.gpr[31] = (0x08A86F1Cu); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1856))); + aot_gpr_31 = (0x08A86F1Cu); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1856))); goto L_08A85D7C; L_08A86F1C: { const float fs = ctx.fpr[22]; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[22] = std::bit_cast(0x7FC00000u); else ctx.fpr[22] = fs * ft; } - ctx.gpr[31] = (0x08A86F28u); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1856))); + aot_gpr_31 = (0x08A86F28u); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1856))); goto L_08A85D58; L_08A86F28: { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[0])}; @@ -6021,7 +6022,7 @@ L_08A86F28: const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -6030,7 +6031,7 @@ L_08A86F28: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<4u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(16); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(16); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -6039,7 +6040,7 @@ L_08A86F28: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<5u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(32); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(32); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -6076,9 +6077,9 @@ L_08A86F28: const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - ctx.gpr[31] = (0x08A86F68u); + aot_gpr_31 = (0x08A86F68u); aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(72))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A86F68u) goto L_08A86F68; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A86F68u) goto L_08A86F68; AOT_REGCACHE_SYNC_OUT(); return; L_08A86F68: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -6091,9 +6092,9 @@ L_08A86F68: { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = aot_fpr_20 + aot_fpr_12; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(72), std::bit_cast(aot_fpr_12)); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); - ctx.gpr[31] = (0x08A86FA0u); + aot_gpr_31 = (0x08A86FA0u); aot_gpr_6 = (ctx.gpr[17] | 0u); goto L_08A860CC; L_08A86FA0: @@ -6116,7 +6117,7 @@ L_08A86FB0: goto L_08A86FBC; } L_08A86FBC: - ctx.gpr[31] = (0x08A86FC4u); + aot_gpr_31 = (0x08A86FC4u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(160))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 129u, 0x089D89E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A86FC4u) goto L_08A86FC4; AOT_REGCACHE_SYNC_OUT(); return; @@ -6129,7 +6130,7 @@ L_08A86FC4: goto L_08A86FCC; } L_08A86FCC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(72))); aot_gpr_5 = (0u | 48u); aot_gpr_4 = (aot_gpr_4 & 496u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; @@ -6142,7 +6143,7 @@ L_08A86FCC: L_08A86FE0: aot_gpr_4 = (2238u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(14864)); - ctx.gpr[17] = (aot_gpr_16 + static_cast(48)); + ctx.gpr[17] = (ctx.gpr[16] + static_cast(48)); { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -6160,7 +6161,7 @@ L_08A86FE0: aot_gpr_6 = (16672u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_6); aot_gpr_6 = (16908u << 16u); - ctx.gpr[31] = (0x08A8700Cu); + aot_gpr_31 = (0x08A8700Cu); aot_fpr_13 = std::bit_cast(aot_gpr_6); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0114_entry, 114u, 698u, 0x089CFD18u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A8700Cu) goto L_08A8700C; AOT_REGCACHE_SYNC_OUT(); return; @@ -6179,7 +6180,7 @@ L_08A87018: aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); aot_fpr_13 = aot_fpr_13 - aot_fpr_12; ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); - ctx.gpr[31] = (0x08A87034u); + aot_gpr_31 = (0x08A87034u); aot_fpr_12 = aot_fpr_14 - ctx.fpr[15]; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 28u, 0x08964540u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A87034u) goto L_08A87034; AOT_REGCACHE_SYNC_OUT(); return; @@ -6201,9 +6202,9 @@ L_08A8704C: ctx.fpr[22] = ctx.fpr[22] + aot_fpr_12; goto L_08A87058; L_08A87058: - aot_gpr_4 = (aot_gpr_16 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(16)); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - ctx.gpr[31] = (0x08A87068u); + aot_gpr_31 = (0x08A87068u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 28u, 0x08964540u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A87068u) goto L_08A87068; AOT_REGCACHE_SYNC_OUT(); return; @@ -6225,8 +6226,8 @@ L_08A8707C: goto L_08A87088; L_08A87088: ctx.fpr[22] = aot_fpr_12 - ctx.fpr[22]; - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1852))); - ctx.gpr[31] = (0x08A87098u); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1852))); + aot_gpr_31 = (0x08A87098u); aot_fpr_12 = ctx.fpr[22] - aot_fpr_12; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0162_entry, 162u, 580u, 0x08A8F0B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A87098u) goto L_08A87098; AOT_REGCACHE_SYNC_OUT(); return; @@ -6256,7 +6257,7 @@ L_08A870C0: } L_08A870D0: { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(1852), std::bit_cast(ctx.fpr[22])); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(1852), std::bit_cast(ctx.fpr[22])); if (branch_taken) { goto L_08A87104; } @@ -6273,19 +6274,19 @@ L_08A870D8: goto L_08A870E8; } L_08A870E8: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1852))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1852))); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(1852), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(1852), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_08A87104; } goto L_08A870F8; } L_08A870F8: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1852))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1852))); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(1852), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(1852), std::bit_cast(aot_fpr_12)); goto L_08A87104; L_08A87104: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); @@ -6325,7 +6326,7 @@ L_08A87124: aot_fpr_12 = std::bit_cast(aot_gpr_4); { const float fs = aot_fpr_13; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_fpr_12 = aot_fpr_13 + aot_fpr_12; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(1856), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(1856), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_4 = (aot_gpr_4 >> 10u); aot_gpr_4 = (aot_gpr_4 & 3u); @@ -6373,21 +6374,21 @@ L_08A87188: aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(344), aot_gpr_4); ctx.gpr[20] = (aot_gpr_29 + static_cast(272)); - ctx.gpr[31] = (0x08A871F4u); + aot_gpr_31 = (0x08A871F4u); aot_gpr_4 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 940u, 0x0885FF78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A871F4u) goto L_08A871F4; AOT_REGCACHE_SYNC_OUT(); return; L_08A871F4: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1852))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1852))); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); - ctx.gpr[31] = (0x08A87204u); + aot_gpr_31 = (0x08A87204u); aot_gpr_4 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 921u, 0x0885FA00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A87204u) goto L_08A87204; AOT_REGCACHE_SYNC_OUT(); return; L_08A87204: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[20] | 0u); - ctx.gpr[31] = (0x08A87214u); + aot_gpr_31 = (0x08A87214u); aot_gpr_6 = (ctx.gpr[19] | 0u); goto L_08A85D30; L_08A87214: @@ -6405,14 +6406,14 @@ L_08A87214: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (ctx.gpr[18] | 0u); - ctx.gpr[31] = (0x08A87228u); + aot_gpr_31 = (0x08A87228u); aot_gpr_5 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A87228u) goto L_08A87228; AOT_REGCACHE_SYNC_OUT(); return; L_08A87228: aot_gpr_4 = (ctx.gpr[17] | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08A87238u); + aot_gpr_5 = (ctx.gpr[16] | 0u); + aot_gpr_31 = (0x08A87238u); aot_gpr_6 = (ctx.gpr[18] | 0u); goto L_08A85D30; L_08A87238: @@ -6430,28 +6431,28 @@ L_08A87238: const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - ctx.gpr[31] = (0x08A8724Cu); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1852))); + aot_gpr_31 = (0x08A8724Cu); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1852))); goto L_08A85D58; L_08A8724C: aot_fpr_20 = std::bit_cast(std::bit_cast(ctx.fpr[0])); - ctx.gpr[31] = (0x08A87258u); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1856))); + aot_gpr_31 = (0x08A87258u); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1856))); goto L_08A85D7C; L_08A87258: { const float fs = aot_fpr_20; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_20 = std::bit_cast(0x7FC00000u); else aot_fpr_20 = fs * ft; } - ctx.gpr[31] = (0x08A87264u); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1852))); + aot_gpr_31 = (0x08A87264u); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1852))); goto L_08A85D7C; L_08A87264: ctx.fpr[22] = std::bit_cast(std::bit_cast(ctx.fpr[0])); - ctx.gpr[31] = (0x08A87270u); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1856))); + aot_gpr_31 = (0x08A87270u); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1856))); goto L_08A85D7C; L_08A87270: { const float fs = ctx.fpr[22]; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[22] = std::bit_cast(0x7FC00000u); else ctx.fpr[22] = fs * ft; } - ctx.gpr[31] = (0x08A8727Cu); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1856))); + aot_gpr_31 = (0x08A8727Cu); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1856))); goto L_08A85D58; L_08A8727C: { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[0])}; @@ -6469,7 +6470,7 @@ L_08A8727C: const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -6478,7 +6479,7 @@ L_08A8727C: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<4u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(16); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(16); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -6487,7 +6488,7 @@ L_08A8727C: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<5u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(32); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(32); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -6524,9 +6525,9 @@ L_08A8727C: const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - ctx.gpr[31] = (0x08A872BCu); + aot_gpr_31 = (0x08A872BCu); aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(248))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A872BCu) goto L_08A872BC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A872BCu) goto L_08A872BC; AOT_REGCACHE_SYNC_OUT(); return; L_08A872BC: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -6558,12 +6559,12 @@ L_08A872F4: goto L_08A87300; } L_08A87300: - ctx.gpr[31] = (0x08A87308u); + aot_gpr_31 = (0x08A87308u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(336))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 129u, 0x089D89E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A87308u) goto L_08A87308; AOT_REGCACHE_SYNC_OUT(); return; L_08A87308: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1316))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1316))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -6577,7 +6578,7 @@ L_08A87314: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(416), 0u); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(424), aot_gpr_4); - ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1316))); + ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1316))); { const bool branch_taken = 0u == 0u; ctx.gpr[18] = (aot_gpr_29 + static_cast(352)); if (branch_taken) { @@ -6596,7 +6597,7 @@ L_08A87334: goto L_08A87344; } L_08A87344: - ctx.gpr[31] = (0x08A8734Cu); + aot_gpr_31 = (0x08A8734Cu); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(416))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 129u, 0x089D89E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A8734Cu) goto L_08A8734C; AOT_REGCACHE_SYNC_OUT(); return; @@ -6608,7 +6609,7 @@ L_08A87350: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(424))); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(424), aot_gpr_4); - ctx.gpr[31] = (0x08A87368u); + aot_gpr_31 = (0x08A87368u); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 939u, 0x0885FF48u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A87368u) goto L_08A87368; AOT_REGCACHE_SYNC_OUT(); return; @@ -6628,9 +6629,9 @@ L_08A87368: const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1852))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1852))); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); - ctx.gpr[31] = (0x08A87388u); + aot_gpr_31 = (0x08A87388u); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 921u, 0x0885FA00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A87388u) goto L_08A87388; AOT_REGCACHE_SYNC_OUT(); return; @@ -6641,12 +6642,12 @@ L_08A87388: aot_fpr_13 = std::bit_cast(aot_run_words[1]); aot_fpr_14 = std::bit_cast(aot_run_words[2]); } - ctx.gpr[31] = (0x08A8739Cu); + aot_gpr_31 = (0x08A8739Cu); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 4u, 0x08860094u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A8739Cu) goto L_08A8739C; AOT_REGCACHE_SYNC_OUT(); return; L_08A8739C: - ctx.gpr[31] = (0x08A873A4u); + aot_gpr_31 = (0x08A873A4u); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 936u, 0x0885FF14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A873A4u) goto L_08A873A4; AOT_REGCACHE_SYNC_OUT(); return; @@ -6670,7 +6671,7 @@ L_08A873B4: goto L_08A873C0; } L_08A873C0: - ctx.gpr[31] = (0x08A873C8u); + aot_gpr_31 = (0x08A873C8u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(416))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 129u, 0x089D89E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A873C8u) goto L_08A873C8; AOT_REGCACHE_SYNC_OUT(); return; @@ -6680,14 +6681,14 @@ L_08A873C8: aot_fpr_20 = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); - aot_gpr_16 = aot_run_words[3]; + ctx.gpr[16] = aot_run_words[3]; ctx.gpr[17] = aot_run_words[4]; ctx.gpr[18] = aot_run_words[5]; ctx.gpr[19] = aot_run_words[6]; ctx.gpr[20] = aot_run_words[7]; - ctx.gpr[31] = aot_run_words[8]; + aot_gpr_31 = aot_run_words[8]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(528)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -6700,14 +6701,14 @@ L_08A873F4: aot_gpr_5 = (0u | 3u); aot_gpr_6 = (0u | 544u); aot_gpr_4 = (aot_gpr_4 + static_cast(29008)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[31]); - ctx.gpr[31] = (0x08A87418u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); + aot_gpr_31 = (0x08A87418u); aot_gpr_7 = (aot_gpr_7 + static_cast(24676)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 158u, 0x08B60C7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A87418u) goto L_08A87418; AOT_REGCACHE_SYNC_OUT(); return; L_08A87418: - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -6724,7 +6725,7 @@ L_08A87424: aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(14), static_cast(aot_gpr_5)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(16), 0u); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(20), 0u); - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; ctx.gpr[2] = (aot_gpr_4 | 0u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -6734,106 +6735,106 @@ L_08A87458: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_4 = (0u | 0u); aot_gpr_5 = (0u | 91u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[31]); - ctx.gpr[31] = (0x08A87470u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); + aot_gpr_31 = (0x08A87470u); aot_gpr_6 = (0u | 92u); goto L_08A87590; L_08A87470: aot_gpr_4 = (0u | 1u); aot_gpr_5 = (0u | 93u); - ctx.gpr[31] = (0x08A87480u); + aot_gpr_31 = (0x08A87480u); aot_gpr_6 = (0u | 94u); goto L_08A87590; L_08A87480: aot_gpr_4 = (0u | 2u); aot_gpr_5 = (0u | 95u); - ctx.gpr[31] = (0x08A87490u); + aot_gpr_31 = (0x08A87490u); aot_gpr_6 = (0u | 96u); goto L_08A87590; L_08A87490: aot_gpr_4 = (0u | 3u); aot_gpr_5 = (0u | 97u); - ctx.gpr[31] = (0x08A874A0u); + aot_gpr_31 = (0x08A874A0u); aot_gpr_6 = (0u | 98u); goto L_08A87590; L_08A874A0: aot_gpr_4 = (0u | 4u); aot_gpr_5 = (0u | 99u); - ctx.gpr[31] = (0x08A874B0u); + aot_gpr_31 = (0x08A874B0u); aot_gpr_6 = (0u | 100u); goto L_08A87590; L_08A874B0: aot_gpr_4 = (0u | 5u); aot_gpr_5 = (0u | 101u); - ctx.gpr[31] = (0x08A874C0u); + aot_gpr_31 = (0x08A874C0u); aot_gpr_6 = (0u | 102u); goto L_08A87590; L_08A874C0: aot_gpr_4 = (0u | 6u); aot_gpr_5 = (0u | 103u); - ctx.gpr[31] = (0x08A874D0u); + aot_gpr_31 = (0x08A874D0u); aot_gpr_6 = (0u | 104u); goto L_08A87590; L_08A874D0: aot_gpr_4 = (0u | 7u); aot_gpr_5 = (0u | 105u); - ctx.gpr[31] = (0x08A874E0u); + aot_gpr_31 = (0x08A874E0u); aot_gpr_6 = (0u | 106u); goto L_08A87590; L_08A874E0: aot_gpr_4 = (0u | 8u); aot_gpr_5 = (0u | 107u); - ctx.gpr[31] = (0x08A874F0u); + aot_gpr_31 = (0x08A874F0u); aot_gpr_6 = (0u | 108u); goto L_08A87590; L_08A874F0: aot_gpr_4 = (0u | 0u); - ctx.gpr[31] = (0x08A874FCu); + aot_gpr_31 = (0x08A874FCu); aot_gpr_5 = (0u | 267u); goto L_08A87568; L_08A874FC: aot_gpr_4 = (0u | 1u); - ctx.gpr[31] = (0x08A87508u); + aot_gpr_31 = (0x08A87508u); aot_gpr_5 = (0u | 265u); goto L_08A87568; L_08A87508: aot_gpr_4 = (0u | 2u); - ctx.gpr[31] = (0x08A87514u); + aot_gpr_31 = (0x08A87514u); aot_gpr_5 = (0u | 269u); goto L_08A87568; L_08A87514: aot_gpr_4 = (0u | 3u); - ctx.gpr[31] = (0x08A87520u); + aot_gpr_31 = (0x08A87520u); aot_gpr_5 = (0u | 171u); goto L_08A87568; L_08A87520: aot_gpr_4 = (0u | 4u); - ctx.gpr[31] = (0x08A8752Cu); + aot_gpr_31 = (0x08A8752Cu); aot_gpr_5 = (0u | 174u); goto L_08A87568; L_08A8752C: aot_gpr_4 = (0u | 5u); - ctx.gpr[31] = (0x08A87538u); + aot_gpr_31 = (0x08A87538u); aot_gpr_5 = (0u | 231u); goto L_08A87568; L_08A87538: aot_gpr_4 = (0u | 6u); - ctx.gpr[31] = (0x08A87544u); + aot_gpr_31 = (0x08A87544u); aot_gpr_5 = (0u | 171u); goto L_08A87568; L_08A87544: aot_gpr_4 = (0u | 7u); - ctx.gpr[31] = (0x08A87550u); + aot_gpr_31 = (0x08A87550u); aot_gpr_5 = (0u | 184u); goto L_08A87568; L_08A87550: aot_gpr_4 = (0u | 8u); - ctx.gpr[31] = (0x08A8755Cu); + aot_gpr_31 = (0x08A8755Cu); aot_gpr_5 = (0u | 171u); goto L_08A87568; L_08A8755C: - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -6848,7 +6849,7 @@ L_08A87568: aot_gpr_6 = (2246u << 16u); aot_gpr_6 = (aot_gpr_6 + static_cast(30712)); aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_5); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -6864,7 +6865,7 @@ L_08A87590: aot_gpr_7 = (aot_gpr_7 + static_cast(30712)); aot_gpr_4 = (aot_gpr_4 + aot_gpr_7); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), aot_gpr_5); - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(8), aot_gpr_6); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -6880,7 +6881,7 @@ L_08A875BC: aot_gpr_7 = (aot_gpr_7 + static_cast(30712)); aot_gpr_4 = (aot_gpr_4 + aot_gpr_7); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(16), aot_gpr_5); - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(20), aot_gpr_6); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -6904,7 +6905,7 @@ L_08A875E8: } goto L_08A8761C; L_08A8761C: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(13), static_cast(aot_gpr_4)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -6924,7 +6925,7 @@ L_08A87624: aot_gpr_5 = (aot_gpr_5 + static_cast(30712)); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_5 = (std::bit_cast(aot_fpr_12)); - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(14), static_cast(aot_gpr_5)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -6936,14 +6937,14 @@ L_08A87660: aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 16u)); aot_gpr_5 = (aot_gpr_4 << 5u); aot_gpr_4 = (aot_gpr_4 << 2u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_5 - aot_gpr_4); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_5 - aot_gpr_4); aot_gpr_4 = (2246u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(30712)); - aot_gpr_16 = (aot_gpr_16 + aot_gpr_4); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(12)))))); + ctx.gpr[16] = (ctx.gpr[16] + aot_gpr_4); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(12)))))); aot_gpr_5 = (0u + static_cast(-1)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[31]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop if (branch_taken) { @@ -6952,17 +6953,17 @@ L_08A87660: goto L_08A8769C; } L_08A8769C: - ctx.gpr[31] = (0x08A876A4u); + aot_gpr_31 = (0x08A876A4u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A876A4u) goto L_08A876A4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A876A4u) goto L_08A876A4; AOT_REGCACHE_SYNC_OUT(); return; L_08A876A4: aot_gpr_7 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-5404))); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-5408))); aot_gpr_4 = (ctx.gpr[2] | 0u); - ctx.gpr[31] = (0x08A876B8u); + aot_gpr_31 = (0x08A876B8u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A876B8u) goto L_08A876B8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A876B8u) goto L_08A876B8; AOT_REGCACHE_SYNC_OUT(); return; L_08A876B8: ctx.gpr[1] = (ctx.gpr[3] << 1u); @@ -6995,7 +6996,7 @@ L_08A876DC: } L_08A876E4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); if (branch_taken) { goto L_08A876F8; } @@ -7003,19 +7004,19 @@ L_08A876E4: } L_08A876EC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(8))); if (branch_taken) { goto L_08A876F8; } goto L_08A876F4; } L_08A876F4: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); goto L_08A876F8; L_08A876F8: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); - jump_target = ctx.gpr[31]; + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -7031,7 +7032,7 @@ L_08A87708: aot_gpr_7 = (aot_gpr_7 + static_cast(30712)); aot_gpr_4 = (aot_gpr_4 + aot_gpr_7); aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(24), static_cast(aot_gpr_5)); - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(26), static_cast(aot_gpr_6)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -7068,7 +7069,7 @@ L_08A87754: aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(-5431), static_cast(aot_gpr_5)); goto L_08A8775C; L_08A8775C: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; // nop local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -7104,14 +7105,14 @@ L_08A87780: ctx.gpr[2] = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(-5431))); goto L_08A87788; L_08A87788: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; // nop local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08A87790: - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; // nop local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -7124,19 +7125,19 @@ L_08A87798: aot_gpr_5 = (0u | 9u); aot_gpr_6 = (0u | 28u); aot_gpr_4 = (aot_gpr_4 + static_cast(30712)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[31]); - ctx.gpr[31] = (0x08A877BCu); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); + aot_gpr_31 = (0x08A877BCu); aot_gpr_7 = (aot_gpr_7 + static_cast(29732)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 158u, 0x08B60C7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A877BCu) goto L_08A877BC; AOT_REGCACHE_SYNC_OUT(); return; L_08A877BC: - ctx.gpr[31] = (0x08A877C4u); + aot_gpr_31 = (0x08A877C4u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-5392)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A877C4u) goto L_08A877C4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A877C4u) goto L_08A877C4; AOT_REGCACHE_SYNC_OUT(); return; L_08A877C4: - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -7151,15 +7152,15 @@ L_08A877D0: aot_gpr_5 = (aot_gpr_6 + static_cast(29704)); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(4), aot_gpr_7); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[31]); - ctx.gpr[31] = (0x08A877FCu); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); + aot_gpr_31 = (0x08A877FCu); aot_gpr_6 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A877FCu) goto L_08A877FC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A877FCu) goto L_08A877FC; AOT_REGCACHE_SYNC_OUT(); return; L_08A877FC: ctx.gpr[2] = (0u | 0u); - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -7167,22 +7168,22 @@ L_08A877FC: AOT_REGCACHE_SYNC_OUT(); return; L_08A8780C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (2236u << 16u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (2236u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); - ctx.gpr[17] = (aot_gpr_16 + static_cast(29704)); + ctx.gpr[17] = (ctx.gpr[16] + static_cast(29704)); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); aot_gpr_6 = (0u | 2u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[31]); - ctx.gpr[31] = (0x08A87834u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); + aot_gpr_31 = (0x08A87834u); aot_gpr_7 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A87834u) goto L_08A87834; AOT_REGCACHE_SYNC_OUT(); return; L_08A87834: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(29704))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); aot_gpr_4 = (aot_gpr_4 & 255u); - ctx.gpr[31] = (0x08A87848u); + aot_gpr_31 = (0x08A87848u); aot_gpr_5 = (aot_gpr_5 & 255u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0079_entry, 79u, 225u, 0x08941948u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A87848u) goto L_08A87848; AOT_REGCACHE_SYNC_OUT(); return; @@ -7190,11 +7191,11 @@ L_08A87848: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; - ctx.gpr[31] = aot_run_words[2]; + aot_gpr_31 = aot_run_words[2]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -7202,18 +7203,18 @@ L_08A87848: AOT_REGCACHE_SYNC_OUT(); return; L_08A87860: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); ctx.gpr[18] = (2236u << 16u); - ctx.gpr[17] = (aot_gpr_16 + static_cast(16)); + ctx.gpr[17] = (ctx.gpr[16] + static_cast(16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[19]); ctx.gpr[19] = (ctx.gpr[18] + static_cast(29704)); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_6 = (0u | 2u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[31]); - ctx.gpr[31] = (0x08A87898u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); + aot_gpr_31 = (0x08A87898u); aot_gpr_7 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A87898u) goto L_08A87898; AOT_REGCACHE_SYNC_OUT(); return; @@ -7221,29 +7222,29 @@ L_08A87898: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(29704))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(4))); aot_gpr_4 = (aot_gpr_4 & 255u); - ctx.gpr[31] = (0x08A878ACu); + aot_gpr_31 = (0x08A878ACu); aot_gpr_5 = (aot_gpr_5 & 255u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0079_entry, 79u, 226u, 0x08941988u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A878ACu) goto L_08A878AC; AOT_REGCACHE_SYNC_OUT(); return; L_08A878AC: aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(29704), ctx.gpr[2]); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); - ctx.gpr[31] = (0x08A878C0u); + aot_gpr_31 = (0x08A878C0u); aot_gpr_6 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A878C0u) goto L_08A878C0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A878C0u) goto L_08A878C0; AOT_REGCACHE_SYNC_OUT(); return; L_08A878C0: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; - ctx.gpr[31] = aot_run_words[4]; + aot_gpr_31 = aot_run_words[4]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -7251,27 +7252,27 @@ L_08A878C0: AOT_REGCACHE_SYNC_OUT(); return; L_08A878E0: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (2236u << 16u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (2236u << 16u); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); aot_gpr_6 = (0u | 1u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[31]); - ctx.gpr[31] = (0x08A87900u); - aot_gpr_7 = (aot_gpr_16 + static_cast(29704)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); + aot_gpr_31 = (0x08A87900u); + aot_gpr_7 = (ctx.gpr[16] + static_cast(29704)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A87900u) goto L_08A87900; AOT_REGCACHE_SYNC_OUT(); return; L_08A87900: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(29704))); aot_gpr_4 = (aot_gpr_4 << 16u); - ctx.gpr[31] = (0x08A87910u); + aot_gpr_31 = (0x08A87910u); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 16u)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0189_entry, 189u, 473u, 0x08AFB4E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A87910u) goto L_08A87910; AOT_REGCACHE_SYNC_OUT(); return; L_08A87910: ctx.gpr[2] = (0u | 0u); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); - jump_target = ctx.gpr[31]; + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -7279,27 +7280,27 @@ L_08A87910: AOT_REGCACHE_SYNC_OUT(); return; L_08A87924: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (2236u << 16u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (2236u << 16u); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); aot_gpr_6 = (0u | 1u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[31]); - ctx.gpr[31] = (0x08A87944u); - aot_gpr_7 = (aot_gpr_16 + static_cast(29704)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); + aot_gpr_31 = (0x08A87944u); + aot_gpr_7 = (ctx.gpr[16] + static_cast(29704)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A87944u) goto L_08A87944; AOT_REGCACHE_SYNC_OUT(); return; L_08A87944: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(29704))); aot_gpr_4 = (aot_gpr_4 << 16u); - ctx.gpr[31] = (0x08A87954u); + aot_gpr_31 = (0x08A87954u); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 16u)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0189_entry, 189u, 474u, 0x08AFB4E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A87954u) goto L_08A87954; AOT_REGCACHE_SYNC_OUT(); return; L_08A87954: ctx.gpr[2] = (0u | 0u); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); - jump_target = ctx.gpr[31]; + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -7307,15 +7308,15 @@ L_08A87954: AOT_REGCACHE_SYNC_OUT(); return; L_08A87968: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[31]); - ctx.gpr[31] = (0x08A87978u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); + aot_gpr_31 = (0x08A87978u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0189_entry, 189u, 475u, 0x08AFB4F8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A87978u) goto L_08A87978; AOT_REGCACHE_SYNC_OUT(); return; L_08A87978: ctx.gpr[2] = (0u | 0u); - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -7323,15 +7324,15 @@ L_08A87978: AOT_REGCACHE_SYNC_OUT(); return; L_08A87988: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[31]); - ctx.gpr[31] = (0x08A87998u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); + aot_gpr_31 = (0x08A87998u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 5u, 0x08AFC0D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A87998u) goto L_08A87998; AOT_REGCACHE_SYNC_OUT(); return; L_08A87998: ctx.gpr[2] = (0u | 0u); - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -7339,15 +7340,15 @@ L_08A87998: AOT_REGCACHE_SYNC_OUT(); return; L_08A879A8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[31]); - ctx.gpr[31] = (0x08A879B8u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); + aot_gpr_31 = (0x08A879B8u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 6u, 0x08AFC100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A879B8u) goto L_08A879B8; AOT_REGCACHE_SYNC_OUT(); return; L_08A879B8: ctx.gpr[2] = (0u | 0u); - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -7355,15 +7356,15 @@ L_08A879B8: AOT_REGCACHE_SYNC_OUT(); return; L_08A879C8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[31]); - ctx.gpr[31] = (0x08A879D8u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); + aot_gpr_31 = (0x08A879D8u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0079_entry, 79u, 257u, 0x08941B8Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A879D8u) goto L_08A879D8; AOT_REGCACHE_SYNC_OUT(); return; L_08A879D8: ctx.gpr[2] = (0u | 0u); - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -7371,15 +7372,15 @@ L_08A879D8: AOT_REGCACHE_SYNC_OUT(); return; L_08A879E8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[31]); - ctx.gpr[31] = (0x08A879F8u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); + aot_gpr_31 = (0x08A879F8u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0079_entry, 79u, 258u, 0x08941BB0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A879F8u) goto L_08A879F8; AOT_REGCACHE_SYNC_OUT(); return; L_08A879F8: ctx.gpr[2] = (0u | 0u); - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -7391,15 +7392,15 @@ L_08A87A08: aot_gpr_6 = (2236u << 16u); aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(29704), aot_gpr_5); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[31]); - ctx.gpr[31] = (0x08A87A28u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); + aot_gpr_31 = (0x08A87A28u); aot_gpr_6 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A87A28u) goto L_08A87A28; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A87A28u) goto L_08A87A28; AOT_REGCACHE_SYNC_OUT(); return; L_08A87A28: ctx.gpr[2] = (0u | 0u); - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - jump_target = ctx.gpr[31]; + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -7407,18 +7408,18 @@ L_08A87A28: AOT_REGCACHE_SYNC_OUT(); return; L_08A87A38: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (2236u << 16u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (2236u << 16u); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); aot_gpr_6 = (0u | 1u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[31]); - ctx.gpr[31] = (0x08A87A58u); - aot_gpr_7 = (aot_gpr_16 + static_cast(29704)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); + aot_gpr_31 = (0x08A87A58u); + aot_gpr_7 = (ctx.gpr[16] + static_cast(29704)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A87A58u) goto L_08A87A58; AOT_REGCACHE_SYNC_OUT(); return; L_08A87A58: aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(4182), static_cast(0u)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(29704))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -7432,9 +7433,9 @@ L_08A87A68: goto L_08A87A70; L_08A87A70: ctx.gpr[2] = (0u | 0u); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); - jump_target = ctx.gpr[31]; + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -7444,7 +7445,7 @@ L_08A87A84: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(0), static_cast(0u)); ctx.gpr[2] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(0)))))); - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -7454,7 +7455,7 @@ L_08A87A98: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(0), static_cast(0u)); ctx.gpr[2] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(0)))))); - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -7462,7 +7463,7 @@ L_08A87A98: AOT_REGCACHE_SYNC_OUT(); return; L_08A87AAC: aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(8), static_cast(0u)); - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; ctx.gpr[2] = (aot_gpr_4 | 0u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -7471,7 +7472,7 @@ L_08A87AAC: L_08A87AB8: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), 0u); aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(16), static_cast(0u)); - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; ctx.gpr[2] = (aot_gpr_4 | 0u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -7479,9 +7480,9 @@ L_08A87AB8: AOT_REGCACHE_SYNC_OUT(); return; L_08A87AC8: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[16], ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(8), aot_run_words); } - aot_gpr_16 = (aot_gpr_6 | 0u); + ctx.gpr[16] = (aot_gpr_6 | 0u); ctx.gpr[17] = (aot_gpr_4 | 0u); { const std::uint32_t aot_run_words[3]{0u, 0u, aot_gpr_5}; aot_mem.aot_direct_store32_block(ctx.gpr[17] + static_cast(0), aot_run_words); } @@ -7513,14 +7514,14 @@ L_08A87AC8: aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(32), static_cast(0u)); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(33), static_cast(0u)); aot_gpr_4 = (0u | 1400u); - ctx.gpr[31] = (0x08A87B64u); + aot_gpr_31 = (0x08A87B64u); aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(44), aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A87B64u) goto L_08A87B64; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A87B64u) goto L_08A87B64; AOT_REGCACHE_SYNC_OUT(); return; L_08A87B64: aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(48), ctx.gpr[2]); - aot_mem.aot_direct_store16(ctx.gpr[17] + static_cast(52), static_cast(aot_gpr_16)); - ctx.gpr[31] = (0x08A87B74u); + aot_mem.aot_direct_store16(ctx.gpr[17] + static_cast(52), static_cast(ctx.gpr[16])); + aot_gpr_31 = (0x08A87B74u); aot_gpr_4 = (ctx.gpr[17] + static_cast(56)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0094_entry, 94u, 921u, 0x0897F8C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A87B74u) goto L_08A87B74; AOT_REGCACHE_SYNC_OUT(); return; @@ -7532,7 +7533,7 @@ L_08A87B74: aot_gpr_7 = (2216u << 16u); aot_gpr_7 = (aot_gpr_7 + static_cast(31416)); aot_gpr_5 = (0u | 48u); - ctx.gpr[31] = (0x08A87BBCu); + aot_gpr_31 = (0x08A87BBCu); aot_gpr_6 = (0u | 1412u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 158u, 0x08B60C7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A87BBCu) goto L_08A87BBC; AOT_REGCACHE_SYNC_OUT(); return; @@ -7561,18 +7562,18 @@ L_08A87BBC: aot_gpr_4 = (1u << 16u); aot_gpr_4 = (ctx.gpr[17] + aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(2412), 0u); - ctx.gpr[31] = (0x08A87C24u); + aot_gpr_31 = (0x08A87C24u); aot_gpr_4 = (ctx.gpr[17] | 0u); goto L_08A87FFC; L_08A87C24: ctx.gpr[2] = (ctx.gpr[17] | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(8), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; - ctx.gpr[31] = aot_run_words[2]; + aot_gpr_31 = aot_run_words[2]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -7580,9 +7581,9 @@ L_08A87C24: AOT_REGCACHE_SYNC_OUT(); return; L_08A87C3C: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - { const std::uint32_t aot_run_words[10]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[10]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(8), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); { const bool branch_taken = aot_gpr_4 == 0u; ctx.gpr[17] = (aot_gpr_5 | 0u); if (branch_taken) { @@ -7591,19 +7592,19 @@ L_08A87C3C: goto L_08A87C74; } L_08A87C74: - ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(108))); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(112))); - ctx.gpr[18] = (aot_gpr_16 + static_cast(120)); - ctx.gpr[23] = (aot_gpr_16 + static_cast(108)); + ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(108))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(112))); + ctx.gpr[18] = (ctx.gpr[16] + static_cast(120)); + ctx.gpr[23] = (ctx.gpr[16] + static_cast(108)); { const bool branch_taken = ctx.gpr[19] == aot_gpr_4; - ctx.gpr[30] = (aot_gpr_16 + static_cast(24)); + ctx.gpr[30] = (ctx.gpr[16] + static_cast(24)); if (branch_taken) { goto L_08A87CC4; } goto L_08A87C8C; } L_08A87C8C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(0))); if (branch_taken) { @@ -7614,26 +7615,26 @@ L_08A87C8C: L_08A87C98: aot_gpr_6 = (aot_gpr_4 | 0u); jump_target = aot_gpr_6; - ctx.gpr[31] = (0x08A87CA4u); + aot_gpr_31 = (0x08A87CA4u); aot_gpr_4 = (aot_gpr_5 | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A87CA4u) goto L_08A87CA4; AOT_REGCACHE_SYNC_OUT(); return; L_08A87CA4: { const bool branch_taken = 0u == 0u; - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(112))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(112))); if (branch_taken) { goto L_08A87CB8; } goto L_08A87CAC; } L_08A87CAC: - ctx.gpr[31] = (0x08A87CB4u); + aot_gpr_31 = (0x08A87CB4u); aot_gpr_4 = (aot_gpr_5 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A87CB4u) goto L_08A87CB4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A87CB4u) goto L_08A87CB4; AOT_REGCACHE_SYNC_OUT(); return; L_08A87CB4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(112))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(112))); goto L_08A87CB8; L_08A87CB8: ctx.gpr[19] = (ctx.gpr[19] + static_cast(4)); @@ -7645,8 +7646,8 @@ L_08A87CB8: goto L_08A87CC4; } L_08A87CC4: - ctx.gpr[31] = (0x08A87CCCu); - aot_gpr_4 = (aot_gpr_16 + static_cast(12)); + aot_gpr_31 = (0x08A87CCCu); + aot_gpr_4 = (ctx.gpr[16] + static_cast(12)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0142_entry, 142u, 99u, 0x08A3C804u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A87CCCu) goto L_08A87CCC; AOT_REGCACHE_SYNC_OUT(); return; L_08A87CCC: @@ -7658,8 +7659,8 @@ L_08A87CCC: goto L_08A87CD4; } L_08A87CD4: - ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(120))); - ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(124))); + ctx.gpr[20] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(120))); + ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(124))); { const bool branch_taken = ctx.gpr[20] == ctx.gpr[19]; aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(1), static_cast(0u)); if (branch_taken) { @@ -7710,9 +7711,9 @@ L_08A87D0C: goto L_08A87D14; } L_08A87D14: - ctx.gpr[31] = (0x08A87D1Cu); + aot_gpr_31 = (0x08A87D1Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A87D1Cu) goto L_08A87D1C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A87D1Cu) goto L_08A87D1C; AOT_REGCACHE_SYNC_OUT(); return; L_08A87D1C: { const bool branch_taken = ctx.gpr[21] == 0u; @@ -7748,9 +7749,9 @@ L_08A87D38: goto L_08A87D40; } L_08A87D40: - ctx.gpr[31] = (0x08A87D48u); + aot_gpr_31 = (0x08A87D48u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A87D48u) goto L_08A87D48; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A87D48u) goto L_08A87D48; AOT_REGCACHE_SYNC_OUT(); return; L_08A87D48: if (ctx.gpr[22] == 0u) { @@ -7780,9 +7781,9 @@ L_08A87D64: } goto L_08A87D6C; L_08A87D6C: - ctx.gpr[31] = (0x08A87D74u); + aot_gpr_31 = (0x08A87D74u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A87D74u) goto L_08A87D74; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A87D74u) goto L_08A87D74; AOT_REGCACHE_SYNC_OUT(); return; L_08A87D74: ctx.gpr[20] = (ctx.gpr[20] + static_cast(44)); @@ -7804,7 +7805,7 @@ L_08A87D80: goto L_08A87D88; } L_08A87D88: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(120))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(120))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -7821,20 +7822,20 @@ L_08A87D94: goto L_08A87D9C; } L_08A87D9C: - ctx.gpr[31] = (0x08A87DA4u); + aot_gpr_31 = (0x08A87DA4u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A87DA4u) goto L_08A87DA4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A87DA4u) goto L_08A87DA4; AOT_REGCACHE_SYNC_OUT(); return; L_08A87DA4: { const bool branch_taken = ctx.gpr[23] == 0u; - aot_gpr_4 = (aot_gpr_16 + static_cast(56)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(56)); if (branch_taken) { goto L_08A87DD4; } goto L_08A87DAC; } L_08A87DAC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(108))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(108))); { const bool branch_taken = ctx.gpr[23] == 0u; aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(0), static_cast(0u)); if (branch_taken) { @@ -7844,26 +7845,26 @@ L_08A87DAC: } L_08A87DB8: if (aot_gpr_4 == 0u) { - aot_gpr_4 = (aot_gpr_16 + static_cast(56)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(56)); goto L_08A87DD4; } goto L_08A87DC0; L_08A87DC0: if (aot_gpr_4 == 0u) { - aot_gpr_4 = (aot_gpr_16 + static_cast(56)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(56)); goto L_08A87DD4; } goto L_08A87DC8; L_08A87DC8: - ctx.gpr[31] = (0x08A87DD0u); + aot_gpr_31 = (0x08A87DD0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A87DD0u) goto L_08A87DD0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A87DD0u) goto L_08A87DD0; AOT_REGCACHE_SYNC_OUT(); return; L_08A87DD0: - aot_gpr_4 = (aot_gpr_16 + static_cast(56)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(56)); goto L_08A87DD4; L_08A87DD4: - ctx.gpr[31] = (0x08A87DDCu); + aot_gpr_31 = (0x08A87DDCu); aot_gpr_5 = (0u | 2u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0094_entry, 94u, 923u, 0x0897F8F8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A87DDCu) goto L_08A87DDC; AOT_REGCACHE_SYNC_OUT(); return; @@ -7884,7 +7885,7 @@ L_08A87DE4: goto L_08A87DEC; } L_08A87DEC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(24))); if (aot_gpr_4 == 0u) { aot_gpr_4 = (ctx.gpr[17] & 1u); goto L_08A87E14; @@ -7901,9 +7902,9 @@ L_08A87DF8: goto L_08A87E08; } L_08A87E08: - ctx.gpr[31] = (0x08A87E10u); + aot_gpr_31 = (0x08A87E10u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A87E10u) goto L_08A87E10; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A87E10u) goto L_08A87E10; AOT_REGCACHE_SYNC_OUT(); return; L_08A87E10: aot_gpr_4 = (ctx.gpr[17] & 1u); @@ -7917,14 +7918,14 @@ L_08A87E14: goto L_08A87E1C; } L_08A87E1C: - ctx.gpr[31] = (0x08A87E24u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A87E24u) goto L_08A87E24; + aot_gpr_31 = (0x08A87E24u); + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A87E24u) goto L_08A87E24; AOT_REGCACHE_SYNC_OUT(); return; L_08A87E24: { std::uint32_t aot_run_words[10]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(8), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -7933,9 +7934,9 @@ L_08A87E24: ctx.gpr[22] = aot_run_words[6]; ctx.gpr[23] = aot_run_words[7]; ctx.gpr[30] = aot_run_words[8]; - ctx.gpr[31] = aot_run_words[9]; + aot_gpr_31 = aot_run_words[9]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(48)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -7943,7 +7944,7 @@ L_08A87E24: AOT_REGCACHE_SYNC_OUT(); return; L_08A87E54: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_5); - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), aot_gpr_6); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -7951,10 +7952,10 @@ L_08A87E54: AOT_REGCACHE_SYNC_OUT(); return; L_08A87E60: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - { const std::uint32_t aot_run_words[8]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[8]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(16), aot_run_words); } ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.gpr[17] = (aot_gpr_5 | 0u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(0), static_cast(0u)); aot_gpr_4 = (aot_gpr_6 | 0u); @@ -7982,21 +7983,21 @@ L_08A87EB8: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(6)))))); aot_mem.aot_direct_store16(ctx.gpr[20] + static_cast(6), static_cast(aot_gpr_4)); aot_gpr_4 = (ctx.gpr[20] + static_cast(8)); - ctx.gpr[31] = (0x08A87EE8u); + aot_gpr_31 = (0x08A87EE8u); aot_gpr_5 = (aot_gpr_6 + static_cast(8)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0218_entry, 218u, 524u, 0x08B6E74Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A87EE8u) goto L_08A87EE8; AOT_REGCACHE_SYNC_OUT(); return; L_08A87EE8: aot_gpr_4 = (ctx.gpr[20] + static_cast(20)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); - ctx.gpr[31] = (0x08A87EF8u); + aot_gpr_31 = (0x08A87EF8u); aot_gpr_5 = (aot_gpr_5 + static_cast(20)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0218_entry, 218u, 524u, 0x08B6E74Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A87EF8u) goto L_08A87EF8; AOT_REGCACHE_SYNC_OUT(); return; L_08A87EF8: aot_gpr_4 = (ctx.gpr[20] + static_cast(32)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); - ctx.gpr[31] = (0x08A87F08u); + aot_gpr_31 = (0x08A87F08u); aot_gpr_5 = (aot_gpr_5 + static_cast(32)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0218_entry, 218u, 524u, 0x08B6E74Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A87F08u) goto L_08A87F08; AOT_REGCACHE_SYNC_OUT(); return; @@ -8013,7 +8014,7 @@ L_08A87F08: goto L_08A87F20; } L_08A87F20: - ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); goto L_08A87F24; L_08A87F24: ctx.gpr[18] = (ctx.gpr[20] | 0u); @@ -8067,9 +8068,9 @@ L_08A87F58: goto L_08A87F60; } L_08A87F60: - ctx.gpr[31] = (0x08A87F68u); + aot_gpr_31 = (0x08A87F68u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A87F68u) goto L_08A87F68; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A87F68u) goto L_08A87F68; AOT_REGCACHE_SYNC_OUT(); return; L_08A87F68: { const bool branch_taken = ctx.gpr[21] == 0u; @@ -8105,9 +8106,9 @@ L_08A87F84: goto L_08A87F8C; } L_08A87F8C: - ctx.gpr[31] = (0x08A87F94u); + aot_gpr_31 = (0x08A87F94u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A87F94u) goto L_08A87F94; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A87F94u) goto L_08A87F94; AOT_REGCACHE_SYNC_OUT(); return; L_08A87F94: if (ctx.gpr[22] == 0u) { @@ -8137,9 +8138,9 @@ L_08A87FB0: } goto L_08A87FB8; L_08A87FB8: - ctx.gpr[31] = (0x08A87FC0u); + aot_gpr_31 = (0x08A87FC0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A87FC0u) goto L_08A87FC0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A87FC0u) goto L_08A87FC0; AOT_REGCACHE_SYNC_OUT(); return; L_08A87FC0: ctx.gpr[20] = (ctx.gpr[20] + static_cast(44)); @@ -8153,20 +8154,20 @@ L_08A87FC4: goto L_08A87FCC; } L_08A87FCC: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), ctx.gpr[18]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(4), ctx.gpr[18]); ctx.gpr[2] = (ctx.gpr[17] | 0u); { std::uint32_t aot_run_words[8]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; ctx.gpr[21] = aot_run_words[5]; ctx.gpr[22] = aot_run_words[6]; - ctx.gpr[31] = aot_run_words[7]; + aot_gpr_31 = aot_run_words[7]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(48)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } diff --git a/profiles/vcs/generated/generated_unit_0161.cpp b/profiles/vcs/generated/generated_unit_0161.cpp index a6d0c50..b304802 100644 --- a/profiles/vcs/generated/generated_unit_0161.cpp +++ b/profiles/vcs/generated/generated_unit_0161.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,7 +139,7 @@ static const std::uint16_t kEntryIds_recomp_unit_0161[4096] = { }; void recomp_unit_0161_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,6,16,7 fprs=12,13,15,14 gpr_occ=4338 fpr_occ=172 gpr_total=6834 fpr_total=180 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,6,16,7 fprs=12,13,15,14 gpr_occ=4440 fpr_occ=172 gpr_total=7037 fpr_total=180 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; @@ -916,7 +917,7 @@ L_08A88000: L_08A88030: ctx.gpr[31] = (0x08A88038u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A88038u) goto L_08A88038; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A88038u) goto L_08A88038; AOT_REGCACHE_SYNC_OUT(); return; L_08A88038: ctx.gpr[18] = (ctx.gpr[18] + static_cast(4)); @@ -1081,7 +1082,7 @@ L_08A881A8: aot_mem.aot_direct_store32(ctx.gpr[30] + static_cast(28), 0u); ctx.gpr[31] = (0x08A881B4u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A881B4u) goto L_08A881B4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A881B4u) goto L_08A881B4; AOT_REGCACHE_SYNC_OUT(); return; L_08A881B4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(56))); @@ -1246,7 +1247,7 @@ L_08A882E8: L_08A882FC: ctx.gpr[31] = (0x08A88304u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A88304u) goto L_08A88304; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A88304u) goto L_08A88304; AOT_REGCACHE_SYNC_OUT(); return; L_08A88304: aot_gpr_16 = (aot_gpr_16 + static_cast(4)); @@ -2121,7 +2122,7 @@ L_08A88AB4: L_08A88AC8: ctx.gpr[31] = (0x08A88AD0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A88AD0u) goto L_08A88AD0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A88AD0u) goto L_08A88AD0; AOT_REGCACHE_SYNC_OUT(); return; L_08A88AD0: aot_gpr_4 = (ctx.gpr[22] + ctx.gpr[30]); @@ -2995,7 +2996,7 @@ L_08A89180: L_08A89188: ctx.gpr[31] = (0x08A89190u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A89190u) goto L_08A89190; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A89190u) goto L_08A89190; AOT_REGCACHE_SYNC_OUT(); return; L_08A89190: { const bool branch_taken = ctx.gpr[19] == 0u; @@ -3033,7 +3034,7 @@ L_08A891AC: L_08A891B4: ctx.gpr[31] = (0x08A891BCu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A891BCu) goto L_08A891BC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A891BCu) goto L_08A891BC; AOT_REGCACHE_SYNC_OUT(); return; L_08A891BC: if (ctx.gpr[22] == 0u) { @@ -3065,7 +3066,7 @@ L_08A891D8: L_08A891E0: ctx.gpr[31] = (0x08A891E8u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A891E8u) goto L_08A891E8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A891E8u) goto L_08A891E8; AOT_REGCACHE_SYNC_OUT(); return; L_08A891E8: ctx.gpr[18] = (ctx.gpr[18] + static_cast(44)); @@ -3092,7 +3093,7 @@ L_08A891F8: L_08A89200: ctx.gpr[31] = (0x08A89208u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A89208u) goto L_08A89208; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A89208u) goto L_08A89208; AOT_REGCACHE_SYNC_OUT(); return; L_08A89208: aot_gpr_4 = (ctx.gpr[20] << 4u); @@ -3299,7 +3300,7 @@ L_08A893DC: L_08A893E4: ctx.gpr[31] = (0x08A893ECu); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A893ECu) goto L_08A893EC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A893ECu) goto L_08A893EC; AOT_REGCACHE_SYNC_OUT(); return; L_08A893EC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); @@ -3321,7 +3322,7 @@ L_08A893F8: L_08A89400: ctx.gpr[31] = (0x08A89408u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A89408u) goto L_08A89408; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A89408u) goto L_08A89408; AOT_REGCACHE_SYNC_OUT(); return; L_08A89408: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); @@ -3345,7 +3346,7 @@ L_08A89414: L_08A8941C: ctx.gpr[31] = (0x08A89424u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A89424u) goto L_08A89424; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A89424u) goto L_08A89424; AOT_REGCACHE_SYNC_OUT(); return; L_08A89424: ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); @@ -3421,7 +3422,7 @@ L_08A894E4: L_08A894EC: ctx.gpr[31] = (0x08A894F4u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A894F4u) goto L_08A894F4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A894F4u) goto L_08A894F4; AOT_REGCACHE_SYNC_OUT(); return; L_08A894F4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); @@ -3443,7 +3444,7 @@ L_08A89500: L_08A89508: ctx.gpr[31] = (0x08A89510u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A89510u) goto L_08A89510; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A89510u) goto L_08A89510; AOT_REGCACHE_SYNC_OUT(); return; L_08A89510: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); @@ -3467,7 +3468,7 @@ L_08A8951C: L_08A89524: ctx.gpr[31] = (0x08A8952Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A8952Cu) goto L_08A8952C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A8952Cu) goto L_08A8952C; AOT_REGCACHE_SYNC_OUT(); return; L_08A8952C: aot_gpr_4 = (0u | 1u); @@ -3745,7 +3746,7 @@ L_08A89738: aot_gpr_4 = (aot_gpr_5 | 0u); ctx.gpr[31] = (0x08A8974Cu); aot_gpr_5 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A8974Cu) goto L_08A8974C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A8974Cu) goto L_08A8974C; AOT_REGCACHE_SYNC_OUT(); return; L_08A8974C: ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); @@ -3787,7 +3788,7 @@ L_08A8977C: L_08A89784: ctx.gpr[31] = (0x08A8978Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A8978Cu) goto L_08A8978C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A8978Cu) goto L_08A8978C; AOT_REGCACHE_SYNC_OUT(); return; L_08A8978C: aot_gpr_4 = (ctx.gpr[21] + ctx.gpr[20]); @@ -4580,7 +4581,7 @@ L_08A89DCC: aot_gpr_5 = (0u | 0u); ctx.gpr[31] = (0x08A89E18u); aot_gpr_6 = (0u | 1404u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A89E18u) goto L_08A89E18; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A89E18u) goto L_08A89E18; AOT_REGCACHE_SYNC_OUT(); return; L_08A89E18: aot_gpr_4 = (ctx.gpr[18] | 0u); @@ -4917,7 +4918,7 @@ L_08A8A154: L_08A8A15C: ctx.gpr[31] = (0x08A8A164u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A8A164u) goto L_08A8A164; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A8A164u) goto L_08A8A164; AOT_REGCACHE_SYNC_OUT(); return; L_08A8A164: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(108))); diff --git a/profiles/vcs/generated/generated_unit_0162.cpp b/profiles/vcs/generated/generated_unit_0162.cpp index c366169..6bec316 100644 --- a/profiles/vcs/generated/generated_unit_0162.cpp +++ b/profiles/vcs/generated/generated_unit_0162.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0162[4078] = { }; void recomp_unit_0162_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,16,6,31 fprs=12,13,14,20 gpr_occ=4080 fpr_occ=679 gpr_total=5665 fpr_total=865 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,6,31,16 fprs=12,13,14,20 gpr_occ=4224 fpr_occ=697 gpr_total=5920 fpr_total=883 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; - std::uint32_t aot_gpr_16 = ctx.gpr[16]; std::uint32_t aot_gpr_6 = ctx.gpr[6]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; + std::uint32_t aot_gpr_16 = ctx.gpr[16]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_14 = ctx.fpr[14]; float aot_fpr_20 = ctx.fpr[20]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[16] = aot_gpr_16; ctx.gpr[6] = aot_gpr_6; ctx.gpr[31] = aot_gpr_31; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[20] = aot_fpr_20; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_31 = ctx.gpr[31]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_20 = ctx.fpr[20]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[6] = aot_gpr_6; ctx.gpr[31] = aot_gpr_31; ctx.gpr[16] = aot_gpr_16; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[20] = aot_fpr_20; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_16 = ctx.gpr[16]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_20 = ctx.fpr[20]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -2228,7 +2229,7 @@ L_08A8CB58: aot_gpr_5 = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x08A8CB6Cu); aot_gpr_6 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A8CB6Cu) goto L_08A8CB6C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A8CB6Cu) goto L_08A8CB6C; AOT_REGCACHE_SYNC_OUT(); return; L_08A8CB6C: ctx.gpr[2] = (0u | 0u); @@ -3014,7 +3015,7 @@ L_08A8D1E8: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08A8D200u); aot_gpr_6 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A8D200u) goto L_08A8D200; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A8D200u) goto L_08A8D200; AOT_REGCACHE_SYNC_OUT(); return; L_08A8D200: ctx.gpr[2] = (0u | 0u); @@ -3042,7 +3043,7 @@ L_08A8D22C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08A8D244u); aot_gpr_6 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A8D244u) goto L_08A8D244; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A8D244u) goto L_08A8D244; AOT_REGCACHE_SYNC_OUT(); return; L_08A8D244: ctx.gpr[2] = (0u | 0u); @@ -3146,7 +3147,7 @@ L_08A8D310: L_08A8D31C: aot_gpr_31 = (0x08A8D324u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A8D324u) goto L_08A8D324; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A8D324u) goto L_08A8D324; AOT_REGCACHE_SYNC_OUT(); return; L_08A8D324: ctx.gpr[19] = (ctx.gpr[18] | 0u); @@ -3338,7 +3339,7 @@ L_08A8D4E0: aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08A8D4F4u); aot_gpr_6 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A8D4F4u) goto L_08A8D4F4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A8D4F4u) goto L_08A8D4F4; AOT_REGCACHE_SYNC_OUT(); return; L_08A8D4F4: ctx.gpr[2] = (0u | 0u); @@ -3432,7 +3433,7 @@ L_08A8D5B0: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08A8D5C8u); aot_gpr_6 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A8D5C8u) goto L_08A8D5C8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A8D5C8u) goto L_08A8D5C8; AOT_REGCACHE_SYNC_OUT(); return; L_08A8D5C8: ctx.gpr[2] = (0u | 0u); @@ -3505,7 +3506,7 @@ L_08A8D668: aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08A8D67Cu); aot_gpr_6 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A8D67Cu) goto L_08A8D67C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A8D67Cu) goto L_08A8D67C; AOT_REGCACHE_SYNC_OUT(); return; L_08A8D67C: ctx.gpr[2] = (0u | 0u); @@ -3859,7 +3860,7 @@ L_08A8D930: L_08A8D93C: aot_gpr_31 = (0x08A8D944u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A8D944u) goto L_08A8D944; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A8D944u) goto L_08A8D944; AOT_REGCACHE_SYNC_OUT(); return; L_08A8D944: ctx.gpr[18] = (ctx.gpr[17] | 0u); @@ -4738,21 +4739,21 @@ L_08A8DF4C: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); aot_gpr_31 = (0x08A8DF5Cu); ctx.gpr[18] = (aot_gpr_4 + static_cast(8996)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A8DF5Cu) goto L_08A8DF5C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A8DF5Cu) goto L_08A8DF5C; AOT_REGCACHE_SYNC_OUT(); return; L_08A8DF5C: ctx.gpr[21] = (ctx.gpr[3] | 0u); ctx.gpr[20] = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08A8DF6Cu); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A8DF6Cu) goto L_08A8DF6C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A8DF6Cu) goto L_08A8DF6C; AOT_REGCACHE_SYNC_OUT(); return; L_08A8DF6C: ctx.gpr[23] = (ctx.gpr[3] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_31 = (0x08A8DF7Cu); ctx.gpr[22] = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A8DF7Cu) goto L_08A8DF7C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A8DF7Cu) goto L_08A8DF7C; AOT_REGCACHE_SYNC_OUT(); return; L_08A8DF7C: aot_gpr_4 = (aot_gpr_29 | 0u); @@ -5085,21 +5086,21 @@ L_08A8E1C8: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); aot_gpr_31 = (0x08A8E1D8u); ctx.gpr[18] = (aot_gpr_4 + static_cast(8996)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A8E1D8u) goto L_08A8E1D8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A8E1D8u) goto L_08A8E1D8; AOT_REGCACHE_SYNC_OUT(); return; L_08A8E1D8: ctx.gpr[21] = (ctx.gpr[3] | 0u); ctx.gpr[20] = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08A8E1E8u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A8E1E8u) goto L_08A8E1E8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A8E1E8u) goto L_08A8E1E8; AOT_REGCACHE_SYNC_OUT(); return; L_08A8E1E8: ctx.gpr[23] = (ctx.gpr[3] | 0u); ctx.gpr[22] = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08A8E1F8u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A8E1F8u) goto L_08A8E1F8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A8E1F8u) goto L_08A8E1F8; AOT_REGCACHE_SYNC_OUT(); return; L_08A8E1F8: aot_gpr_4 = (aot_gpr_29 | 0u); @@ -5207,21 +5208,21 @@ L_08A8E2EC: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); aot_gpr_31 = (0x08A8E2FCu); ctx.gpr[18] = (aot_gpr_4 + static_cast(8996)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A8E2FCu) goto L_08A8E2FC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A8E2FCu) goto L_08A8E2FC; AOT_REGCACHE_SYNC_OUT(); return; L_08A8E2FC: ctx.gpr[21] = (ctx.gpr[3] | 0u); ctx.gpr[20] = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08A8E30Cu); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A8E30Cu) goto L_08A8E30C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A8E30Cu) goto L_08A8E30C; AOT_REGCACHE_SYNC_OUT(); return; L_08A8E30C: ctx.gpr[23] = (ctx.gpr[3] | 0u); ctx.gpr[22] = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08A8E31Cu); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A8E31Cu) goto L_08A8E31C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A8E31Cu) goto L_08A8E31C; AOT_REGCACHE_SYNC_OUT(); return; L_08A8E31C: aot_gpr_4 = (aot_gpr_29 | 0u); @@ -6892,7 +6893,7 @@ L_08A8F144: aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[0]) & 0x7FFFFFFFu); aot_gpr_31 = (0x08A8F150u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A8F150u) goto L_08A8F150; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A8F150u) goto L_08A8F150; AOT_REGCACHE_SYNC_OUT(); return; L_08A8F150: ctx.gpr[2] = (ctx.gpr[17] | 0u); @@ -6924,7 +6925,7 @@ L_08A8F188: aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_gpr_31 = (0x08A8F198u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A8F198u) goto L_08A8F198; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A8F198u) goto L_08A8F198; AOT_REGCACHE_SYNC_OUT(); return; L_08A8F198: ctx.gpr[2] = (ctx.gpr[17] | 0u); @@ -6967,7 +6968,7 @@ L_08A8F1E4: aot_fpr_12 = aot_fpr_20 - aot_fpr_12; aot_gpr_31 = (0x08A8F200u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A8F200u) goto L_08A8F200; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A8F200u) goto L_08A8F200; AOT_REGCACHE_SYNC_OUT(); return; L_08A8F200: ctx.gpr[2] = (ctx.gpr[17] | 0u); @@ -6990,7 +6991,7 @@ L_08A8F21C: aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_31 = (0x08A8F240u); aot_gpr_16 = (aot_gpr_4 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A8F240u) goto L_08A8F240; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806634, 0u, 302u, 0x08806634u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A8F240u) goto L_08A8F240; AOT_REGCACHE_SYNC_OUT(); return; L_08A8F240: ctx.gpr[19] = (ctx.gpr[2] | 0u); @@ -7044,7 +7045,7 @@ L_08A8F298: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08A8F2A4u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A8F2A4u) goto L_08A8F2A4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A8F2A4u) goto L_08A8F2A4; AOT_REGCACHE_SYNC_OUT(); return; L_08A8F2A4: ctx.gpr[2] = (ctx.gpr[18] | 0u); @@ -7069,7 +7070,7 @@ L_08A8F2C8: aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_31 = (0x08A8F2ECu); aot_gpr_16 = (aot_gpr_4 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A8F2ECu) goto L_08A8F2EC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806634, 0u, 302u, 0x08806634u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A8F2ECu) goto L_08A8F2EC; AOT_REGCACHE_SYNC_OUT(); return; L_08A8F2EC: ctx.gpr[19] = (ctx.gpr[2] | 0u); @@ -7123,7 +7124,7 @@ L_08A8F344: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08A8F350u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A8F350u) goto L_08A8F350; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A8F350u) goto L_08A8F350; AOT_REGCACHE_SYNC_OUT(); return; L_08A8F350: ctx.gpr[2] = (ctx.gpr[18] | 0u); @@ -7148,7 +7149,7 @@ L_08A8F374: aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(8), aot_run_words); } aot_gpr_31 = (0x08A8F390u); aot_gpr_16 = (aot_gpr_4 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A8F390u) goto L_08A8F390; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A8F390u) goto L_08A8F390; AOT_REGCACHE_SYNC_OUT(); return; L_08A8F390: aot_gpr_4 = (32768u << 16u); @@ -7174,7 +7175,7 @@ L_08A8F3B8: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08A8F3CCu); { const float fs = aot_fpr_20; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_20 = std::bit_cast(0x7FC00000u); else aot_fpr_20 = fs * ft; } - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A8F3CCu) goto L_08A8F3CC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806634, 0u, 302u, 0x08806634u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A8F3CCu) goto L_08A8F3CC; AOT_REGCACHE_SYNC_OUT(); return; L_08A8F3CC: aot_gpr_4 = (ctx.gpr[2] | 0u); @@ -7197,7 +7198,7 @@ L_08A8F3E0: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08A8F3ECu); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A8F3ECu) goto L_08A8F3EC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A8F3ECu) goto L_08A8F3EC; AOT_REGCACHE_SYNC_OUT(); return; L_08A8F3EC: { const bool branch_taken = 0u == 0u; @@ -7278,7 +7279,7 @@ L_08A8F45C: aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_gpr_31 = (0x08A8F488u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A8F488u) goto L_08A8F488; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A8F488u) goto L_08A8F488; AOT_REGCACHE_SYNC_OUT(); return; L_08A8F488: { const bool branch_taken = 0u == 0u; @@ -7338,7 +7339,7 @@ L_08A8F4E4: aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_gpr_31 = (0x08A8F518u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A8F518u) goto L_08A8F518; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A8F518u) goto L_08A8F518; AOT_REGCACHE_SYNC_OUT(); return; L_08A8F518: { const bool branch_taken = 0u == 0u; @@ -7409,13 +7410,13 @@ L_08A8F598: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08A8F5ACu); aot_fpr_12 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A8F5ACu) goto L_08A8F5AC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A8F5ACu) goto L_08A8F5AC; AOT_REGCACHE_SYNC_OUT(); return; L_08A8F5AC: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08A8F5B8u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A8F5B8u) goto L_08A8F5B8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A8F5B8u) goto L_08A8F5B8; AOT_REGCACHE_SYNC_OUT(); return; L_08A8F5B8: ctx.gpr[2] = (0u | 1u); diff --git a/profiles/vcs/generated/generated_unit_0163.cpp b/profiles/vcs/generated/generated_unit_0163.cpp index 90b58f4..0e5f174 100644 --- a/profiles/vcs/generated/generated_unit_0163.cpp +++ b/profiles/vcs/generated/generated_unit_0163.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0163[4094] = { }; void recomp_unit_0163_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,6,17,31 fprs=12,13,14,15 gpr_occ=3441 fpr_occ=1056 gpr_total=4984 fpr_total=1699 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,6,31,17 fprs=12,13,14,15 gpr_occ=3543 fpr_occ=1056 gpr_total=5203 fpr_total=1699 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_6 = ctx.gpr[6]; - std::uint32_t aot_gpr_17 = ctx.gpr[17]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; + std::uint32_t aot_gpr_17 = ctx.gpr[17]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_14 = ctx.fpr[14]; float aot_fpr_15 = ctx.fpr[15]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[6] = aot_gpr_6; ctx.gpr[17] = aot_gpr_17; ctx.gpr[31] = aot_gpr_31; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[15] = aot_fpr_15; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_17 = ctx.gpr[17]; aot_gpr_31 = ctx.gpr[31]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_15 = ctx.fpr[15]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[6] = aot_gpr_6; ctx.gpr[31] = aot_gpr_31; ctx.gpr[17] = aot_gpr_17; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[15] = aot_fpr_15; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_17 = ctx.gpr[17]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_15 = ctx.fpr[15]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -1636,7 +1637,7 @@ L_08A905E4: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); aot_gpr_31 = (0x08A90610u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-5240)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A90610u) goto L_08A90610; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[16], aot_gpr_17, ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A90610u) goto L_08A90610; AOT_REGCACHE_SYNC_OUT(); return; L_08A90610: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -1970,7 +1971,7 @@ L_08A90918: L_08A90920: aot_gpr_31 = (0x08A90928u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A90928u) goto L_08A90928; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A90928u) goto L_08A90928; AOT_REGCACHE_SYNC_OUT(); return; L_08A90928: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -1985,7 +1986,7 @@ L_08A90928: ctx.fpr[22] = std::bit_cast(aot_gpr_4); aot_gpr_31 = (0x08A90958u); ctx.fpr[22] = aot_fpr_12 + ctx.fpr[22]; - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A90958u) goto L_08A90958; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A90958u) goto L_08A90958; AOT_REGCACHE_SYNC_OUT(); return; L_08A90958: aot_gpr_4 = (ctx.gpr[2] << 16u); @@ -2002,7 +2003,7 @@ L_08A90958: L_08A90970: aot_gpr_31 = (0x08A90978u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A90978u) goto L_08A90978; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A90978u) goto L_08A90978; AOT_REGCACHE_SYNC_OUT(); return; L_08A90978: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -2079,7 +2080,7 @@ L_08A90A30: L_08A90A44: aot_gpr_31 = (0x08A90A4Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A90A4Cu) goto L_08A90A4C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A90A4Cu) goto L_08A90A4C; AOT_REGCACHE_SYNC_OUT(); return; L_08A90A4C: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -2408,7 +2409,7 @@ L_08A90D4C: L_08A90D5C: aot_gpr_31 = (0x08A90D64u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A90D64u) goto L_08A90D64; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A90D64u) goto L_08A90D64; AOT_REGCACHE_SYNC_OUT(); return; L_08A90D64: aot_gpr_4 = (2280u << 16u); @@ -2721,19 +2722,19 @@ L_08A91078: aot_gpr_4 = (0u | 6u); aot_gpr_31 = (0x08A91084u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A91084u) goto L_08A91084; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A91084u) goto L_08A91084; AOT_REGCACHE_SYNC_OUT(); return; L_08A91084: aot_gpr_4 = (0u | 10u); aot_gpr_31 = (0x08A91090u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A91090u) goto L_08A91090; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A91090u) goto L_08A91090; AOT_REGCACHE_SYNC_OUT(); return; L_08A91090: aot_gpr_4 = (0u | 11u); aot_gpr_31 = (0x08A9109Cu); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A9109Cu) goto L_08A9109C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A9109Cu) goto L_08A9109C; AOT_REGCACHE_SYNC_OUT(); return; L_08A9109C: aot_gpr_4 = (2236u << 16u); @@ -2809,7 +2810,7 @@ L_08A91158: aot_gpr_4 = (0u | 1u); aot_gpr_31 = (0x08A91170u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A91170u) goto L_08A91170; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A91170u) goto L_08A91170; AOT_REGCACHE_SYNC_OUT(); return; L_08A91170: aot_gpr_4 = (static_cast(static_cast(aot_gpr_17) >> 2u)); @@ -3534,19 +3535,19 @@ L_08A91938: aot_gpr_4 = (0u | 11u); aot_gpr_31 = (0x08A91944u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A91944u) goto L_08A91944; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A91944u) goto L_08A91944; AOT_REGCACHE_SYNC_OUT(); return; L_08A91944: aot_gpr_4 = (0u | 6u); aot_gpr_31 = (0x08A91950u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A91950u) goto L_08A91950; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A91950u) goto L_08A91950; AOT_REGCACHE_SYNC_OUT(); return; L_08A91950: aot_gpr_4 = (0u | 10u); aot_gpr_31 = (0x08A9195Cu); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A9195Cu) goto L_08A9195C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A9195Cu) goto L_08A9195C; AOT_REGCACHE_SYNC_OUT(); return; L_08A9195C: { std::uint32_t aot_run_words[16]{}; @@ -4800,7 +4801,7 @@ L_08A923CC: aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A92454u); aot_gpr_6 = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A92454u) goto L_08A92454; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], ctx.gpr[16], aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A92454u) goto L_08A92454; AOT_REGCACHE_SYNC_OUT(); return; L_08A92454: { const bool branch_taken = 0u == 0u; @@ -4914,7 +4915,7 @@ L_08A92548: aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A92578u); aot_gpr_6 = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A92578u) goto L_08A92578; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], ctx.gpr[16], aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A92578u) goto L_08A92578; AOT_REGCACHE_SYNC_OUT(); return; L_08A92578: { const bool branch_taken = 0u == 0u; @@ -5082,7 +5083,7 @@ L_08A9270C: aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A92724u); aot_gpr_6 = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A92724u) goto L_08A92724; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], ctx.gpr[16], aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A92724u) goto L_08A92724; AOT_REGCACHE_SYNC_OUT(); return; L_08A92724: { const bool branch_taken = 0u == 0u; @@ -5320,7 +5321,7 @@ L_08A92954: aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08A92964u); aot_gpr_6 = (0u | 7u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A92964u) goto L_08A92964; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], ctx.gpr[16], aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A92964u) goto L_08A92964; AOT_REGCACHE_SYNC_OUT(); return; L_08A92964: ctx.gpr[2] = (0u | 0u); @@ -5429,7 +5430,7 @@ L_08A92A60: aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A92A88u); aot_gpr_6 = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A92A88u) goto L_08A92A88; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], ctx.gpr[16], aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A92A88u) goto L_08A92A88; AOT_REGCACHE_SYNC_OUT(); return; L_08A92A88: { const bool branch_taken = 0u == 0u; @@ -5561,7 +5562,7 @@ L_08A92B94: aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08A92BC8u); aot_gpr_6 = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A92BC8u) goto L_08A92BC8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], ctx.gpr[16], aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A92BC8u) goto L_08A92BC8; AOT_REGCACHE_SYNC_OUT(); return; L_08A92BC8: ctx.gpr[2] = (0u | 0u); @@ -5669,7 +5670,7 @@ L_08A92CBC: aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08A92CECu); aot_gpr_6 = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A92CECu) goto L_08A92CEC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], ctx.gpr[16], aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A92CECu) goto L_08A92CEC; AOT_REGCACHE_SYNC_OUT(); return; L_08A92CEC: { const bool branch_taken = 0u == 0u; diff --git a/profiles/vcs/generated/generated_unit_0164.cpp b/profiles/vcs/generated/generated_unit_0164.cpp index 2dbee9c..9325abd 100644 --- a/profiles/vcs/generated/generated_unit_0164.cpp +++ b/profiles/vcs/generated/generated_unit_0164.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0164[4088] = { }; void recomp_unit_0164_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,16,6,31 fprs=12,13,20,14 gpr_occ=3699 fpr_occ=882 gpr_total=5199 fpr_total=1381 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,6,31,16 fprs=12,13,20,14 gpr_occ=3867 fpr_occ=882 gpr_total=5469 fpr_total=1381 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; - std::uint32_t aot_gpr_16 = ctx.gpr[16]; std::uint32_t aot_gpr_6 = ctx.gpr[6]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; + std::uint32_t aot_gpr_16 = ctx.gpr[16]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_20 = ctx.fpr[20]; float aot_fpr_14 = ctx.fpr[14]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[16] = aot_gpr_16; ctx.gpr[6] = aot_gpr_6; ctx.gpr[31] = aot_gpr_31; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; ctx.fpr[14] = aot_fpr_14; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_31 = ctx.gpr[31]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_14 = ctx.fpr[14]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[6] = aot_gpr_6; ctx.gpr[31] = aot_gpr_31; ctx.gpr[16] = aot_gpr_16; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; ctx.fpr[14] = aot_fpr_14; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_16 = ctx.gpr[16]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_14 = ctx.fpr[14]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -2249,7 +2250,7 @@ L_08A949CC: aot_gpr_4 = (2236u << 16u); aot_gpr_31 = (0x08A949DCu); aot_gpr_4 = (aot_gpr_4 + static_cast(25856)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A949DCu) goto L_08A949DC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A949DCu) goto L_08A949DC; AOT_REGCACHE_SYNC_OUT(); return; L_08A949DC: aot_gpr_4 = (aot_gpr_16 & 1u); @@ -2265,7 +2266,7 @@ L_08A949E0: L_08A949E8: aot_gpr_31 = (0x08A949F0u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A949F0u) goto L_08A949F0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A949F0u) goto L_08A949F0; AOT_REGCACHE_SYNC_OUT(); return; L_08A949F0: { std::uint32_t aot_run_words[3]{}; @@ -2293,7 +2294,7 @@ L_08A94A04: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), aot_gpr_31); aot_gpr_31 = (0x08A94A38u); ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(10136))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A94A38u) goto L_08A94A38; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A94A38u) goto L_08A94A38; AOT_REGCACHE_SYNC_OUT(); return; L_08A94A38: aot_gpr_4 = (aot_gpr_29 | 0u); @@ -2324,7 +2325,7 @@ L_08A94A6C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); aot_gpr_31 = (0x08A94A78u); aot_gpr_4 = (aot_gpr_4 + static_cast(25856)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A94A78u) goto L_08A94A78; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A94A78u) goto L_08A94A78; AOT_REGCACHE_SYNC_OUT(); return; L_08A94A78: aot_gpr_31 = (0x08A94A80u); @@ -2365,7 +2366,7 @@ L_08A94AB8: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); aot_gpr_31 = (0x08A94AC8u); aot_gpr_4 = (aot_gpr_4 + static_cast(25856)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A94AC8u) goto L_08A94AC8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A94AC8u) goto L_08A94AC8; AOT_REGCACHE_SYNC_OUT(); return; L_08A94AC8: { const bool branch_taken = 0u == 0u; @@ -2389,7 +2390,7 @@ L_08A94AE0: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); aot_gpr_31 = (0x08A94AECu); aot_gpr_4 = (aot_gpr_4 + static_cast(25856)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A94AECu) goto L_08A94AEC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A94AECu) goto L_08A94AEC; AOT_REGCACHE_SYNC_OUT(); return; L_08A94AEC: ctx.gpr[2] = (0u | 0u); @@ -2423,12 +2424,12 @@ L_08A94B0C: L_08A94B2C: aot_gpr_31 = (0x08A94B34u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A94B34u) goto L_08A94B34; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2E4, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A94B34u) goto L_08A94B34; AOT_REGCACHE_SYNC_OUT(); return; L_08A94B34: aot_gpr_31 = (0x08A94B3Cu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A94B3Cu) goto L_08A94B3C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A94B3Cu) goto L_08A94B3C; AOT_REGCACHE_SYNC_OUT(); return; L_08A94B3C: ctx.gpr[2] = (ctx.gpr[17] | 0u); @@ -2725,7 +2726,7 @@ L_08A94D5C: L_08A94D7C: aot_gpr_31 = (0x08A94D84u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A94D84u) goto L_08A94D84; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A94D84u) goto L_08A94D84; AOT_REGCACHE_SYNC_OUT(); return; L_08A94D84: aot_gpr_4 = (ctx.gpr[2] | 0u); @@ -2935,7 +2936,7 @@ L_08A94EDC: L_08A94EE8: aot_gpr_31 = (0x08A94EF0u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A94EF0u) goto L_08A94EF0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A94EF0u) goto L_08A94EF0; AOT_REGCACHE_SYNC_OUT(); return; L_08A94EF0: { const bool branch_taken = 0u == 0u; @@ -2952,7 +2953,7 @@ L_08A94EF8: L_08A94F00: aot_gpr_31 = (0x08A94F08u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A94F08u) goto L_08A94F08; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A94F08u) goto L_08A94F08; AOT_REGCACHE_SYNC_OUT(); return; L_08A94F08: { const bool branch_taken = 0u == 0u; @@ -3170,7 +3171,7 @@ L_08A95070: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); aot_gpr_31 = (0x08A9508Cu); aot_gpr_4 = (ctx.gpr[28] + static_cast(-5096)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A9508Cu) goto L_08A9508C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A9508Cu) goto L_08A9508C; AOT_REGCACHE_SYNC_OUT(); return; L_08A9508C: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -4081,7 +4082,7 @@ L_08A957D4: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x08A95984u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A95984u) goto L_08A95984; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A95984u) goto L_08A95984; AOT_REGCACHE_SYNC_OUT(); return; L_08A95984: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); @@ -4100,25 +4101,25 @@ L_08A95984: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), aot_gpr_5); aot_gpr_31 = (0x08A959C4u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A959C4u) goto L_08A959C4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A959C4u) goto L_08A959C4; AOT_REGCACHE_SYNC_OUT(); return; L_08A959C4: aot_gpr_4 = (0u | 4u); aot_gpr_31 = (0x08A959D0u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A959D0u) goto L_08A959D0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A959D0u) goto L_08A959D0; AOT_REGCACHE_SYNC_OUT(); return; L_08A959D0: aot_gpr_4 = (0u | 10u); aot_gpr_31 = (0x08A959DCu); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A959DCu) goto L_08A959DC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A959DCu) goto L_08A959DC; AOT_REGCACHE_SYNC_OUT(); return; L_08A959DC: aot_gpr_4 = (0u | 2u); aot_gpr_31 = (0x08A959E8u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A959E8u) goto L_08A959E8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A959E8u) goto L_08A959E8; AOT_REGCACHE_SYNC_OUT(); return; L_08A959E8: aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -4171,25 +4172,25 @@ L_08A959F8: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); aot_gpr_31 = (0x08A95A9Cu); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A95A9Cu) goto L_08A95A9C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A95A9Cu) goto L_08A95A9C; AOT_REGCACHE_SYNC_OUT(); return; L_08A95A9C: aot_gpr_4 = (0u | 6u); aot_gpr_31 = (0x08A95AA8u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A95AA8u) goto L_08A95AA8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A95AA8u) goto L_08A95AA8; AOT_REGCACHE_SYNC_OUT(); return; L_08A95AA8: aot_gpr_4 = (0u | 4u); aot_gpr_31 = (0x08A95AB4u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A95AB4u) goto L_08A95AB4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A95AB4u) goto L_08A95AB4; AOT_REGCACHE_SYNC_OUT(); return; L_08A95AB4: aot_gpr_4 = (0u | 2u); aot_gpr_31 = (0x08A95AC0u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A95AC0u) goto L_08A95AC0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A95AC0u) goto L_08A95AC0; AOT_REGCACHE_SYNC_OUT(); return; L_08A95AC0: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -5684,13 +5685,13 @@ L_08A96918: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); aot_gpr_31 = (0x08A9692Cu); aot_gpr_4 = (ctx.gpr[21] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 251u, 0x08969194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A9692Cu) goto L_08A9692C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08969194, 89u, 251u, 0x08969194u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 251u, 0x08969194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A9692Cu) goto L_08A9692C; AOT_REGCACHE_SYNC_OUT(); return; L_08A9692C: aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x08A96938u); ctx.gpr[21] = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A96938u) goto L_08A96938; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0896918C, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A96938u) goto L_08A96938; AOT_REGCACHE_SYNC_OUT(); return; L_08A96938: ctx.gpr[21] = (ctx.gpr[21] << 6u); @@ -5862,19 +5863,19 @@ L_08A96AA8: aot_gpr_4 = (0u | 11u); aot_gpr_31 = (0x08A96AB4u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A96AB4u) goto L_08A96AB4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A96AB4u) goto L_08A96AB4; AOT_REGCACHE_SYNC_OUT(); return; L_08A96AB4: aot_gpr_4 = (0u | 8u); aot_gpr_31 = (0x08A96AC0u); aot_gpr_5 = (0u | 5u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A96AC0u) goto L_08A96AC0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A96AC0u) goto L_08A96AC0; AOT_REGCACHE_SYNC_OUT(); return; L_08A96AC0: aot_gpr_4 = (0u | 9u); aot_gpr_31 = (0x08A96ACCu); aot_gpr_5 = (0u | 6u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A96ACCu) goto L_08A96ACC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A96ACCu) goto L_08A96ACC; AOT_REGCACHE_SYNC_OUT(); return; L_08A96ACC: { const bool branch_taken = 0u == 0u; @@ -5904,19 +5905,19 @@ L_08A96AE4: aot_gpr_4 = (0u | 11u); aot_gpr_31 = (0x08A96AF0u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A96AF0u) goto L_08A96AF0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A96AF0u) goto L_08A96AF0; AOT_REGCACHE_SYNC_OUT(); return; L_08A96AF0: aot_gpr_4 = (0u | 8u); aot_gpr_31 = (0x08A96AFCu); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A96AFCu) goto L_08A96AFC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A96AFCu) goto L_08A96AFC; AOT_REGCACHE_SYNC_OUT(); return; L_08A96AFC: aot_gpr_4 = (0u | 9u); aot_gpr_31 = (0x08A96B08u); aot_gpr_5 = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A96B08u) goto L_08A96B08; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A96B08u) goto L_08A96B08; AOT_REGCACHE_SYNC_OUT(); return; L_08A96B08: { const bool branch_taken = 0u == 0u; @@ -5930,19 +5931,19 @@ L_08A96B10: aot_gpr_4 = (0u | 11u); aot_gpr_31 = (0x08A96B1Cu); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A96B1Cu) goto L_08A96B1C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A96B1Cu) goto L_08A96B1C; AOT_REGCACHE_SYNC_OUT(); return; L_08A96B1C: aot_gpr_4 = (0u | 8u); aot_gpr_31 = (0x08A96B28u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A96B28u) goto L_08A96B28; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A96B28u) goto L_08A96B28; AOT_REGCACHE_SYNC_OUT(); return; L_08A96B28: aot_gpr_4 = (0u | 9u); aot_gpr_31 = (0x08A96B34u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A96B34u) goto L_08A96B34; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A96B34u) goto L_08A96B34; AOT_REGCACHE_SYNC_OUT(); return; L_08A96B34: { const bool branch_taken = 0u == 0u; @@ -6020,7 +6021,7 @@ L_08A96BB8: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_31 = (0x08A96BC8u); aot_gpr_4 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A96BC8u) goto L_08A96BC8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A96BC8u) goto L_08A96BC8; AOT_REGCACHE_SYNC_OUT(); return; L_08A96BC8: ctx.gpr[19] = (ctx.gpr[17] | 0u); diff --git a/profiles/vcs/generated/generated_unit_0165.cpp b/profiles/vcs/generated/generated_unit_0165.cpp index e8afe4d..0d126a9 100644 --- a/profiles/vcs/generated/generated_unit_0165.cpp +++ b/profiles/vcs/generated/generated_unit_0165.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -137,7 +138,7 @@ static const std::uint16_t kEntryIds_recomp_unit_0165[4061] = { }; void recomp_unit_0165_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,6,7,16 fprs=14,15,12,13 gpr_occ=4024 fpr_occ=1349 gpr_total=5354 fpr_total=2146 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,6,7,16 fprs=14,15,12,13 gpr_occ=4037 fpr_occ=1349 gpr_total=5378 fpr_total=2146 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; @@ -1135,7 +1136,7 @@ L_08A9840C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); ctx.gpr[31] = (0x08A9841Cu); aot_gpr_4 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A9841Cu) goto L_08A9841C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A9841Cu) goto L_08A9841C; AOT_REGCACHE_SYNC_OUT(); return; L_08A9841C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(56))); @@ -4198,7 +4199,7 @@ L_08A9A1FC: L_08A9A20C: ctx.gpr[31] = (0x08A9A214u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A9A214u) goto L_08A9A214; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B01E00, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A9A214u) goto L_08A9A214; AOT_REGCACHE_SYNC_OUT(); return; L_08A9A214: aot_gpr_4 = (0u | 2u); @@ -5208,7 +5209,7 @@ L_08A9AC00: L_08A9AC08: ctx.gpr[31] = (0x08A9AC10u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A9AC10u) goto L_08A9AC10; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A9AC10u) goto L_08A9AC10; AOT_REGCACHE_SYNC_OUT(); return; L_08A9AC10: { std::uint32_t aot_run_words[6]{}; diff --git a/profiles/vcs/generated/generated_unit_0166.cpp b/profiles/vcs/generated/generated_unit_0166.cpp index 2eabbcb..657e132 100644 --- a/profiles/vcs/generated/generated_unit_0166.cpp +++ b/profiles/vcs/generated/generated_unit_0166.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,7 +139,7 @@ static const std::uint16_t kEntryIds_recomp_unit_0166[4096] = { }; void recomp_unit_0166_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,7,6,8 fprs=12,13,20,0 gpr_occ=5018 fpr_occ=258 gpr_total=6705 fpr_total=398 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,7,6,8 fprs=12,13,20,0 gpr_occ=5048 fpr_occ=258 gpr_total=6781 fpr_total=398 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; @@ -3993,7 +3994,7 @@ L_08A9DFD0: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); ctx.gpr[31] = (0x08A9DFE0u); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 251u, 0x08969194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A9DFE0u) goto L_08A9DFE0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08969194, 89u, 251u, 0x08969194u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 251u, 0x08969194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A9DFE0u) goto L_08A9DFE0; AOT_REGCACHE_SYNC_OUT(); return; L_08A9DFE0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(24))); @@ -4051,7 +4052,7 @@ L_08A9E050: L_08A9E060: ctx.gpr[31] = (0x08A9E068u); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A9E068u) goto L_08A9E068; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0896918C, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A9E068u) goto L_08A9E068; AOT_REGCACHE_SYNC_OUT(); return; L_08A9E068: aot_gpr_4 = (0u | 128u); @@ -4533,7 +4534,7 @@ L_08A9E480: aot_gpr_5 = (ctx.gpr[17] | 0u); ctx.gpr[31] = (0x08A9E498u); aot_gpr_6 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A9E498u) goto L_08A9E498; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A9E498u) goto L_08A9E498; AOT_REGCACHE_SYNC_OUT(); return; L_08A9E498: ctx.gpr[2] = (0u | 0u); @@ -6251,7 +6252,7 @@ L_08A9F284: aot_gpr_5 = (ctx.gpr[17] | 0u); ctx.gpr[31] = (0x08A9F2B4u); aot_gpr_6 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A9F2B4u) goto L_08A9F2B4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A9F2B4u) goto L_08A9F2B4; AOT_REGCACHE_SYNC_OUT(); return; L_08A9F2B4: ctx.gpr[2] = (0u | 0u); @@ -6430,7 +6431,7 @@ L_08A9F410: aot_gpr_5 = (ctx.gpr[18] | 0u); ctx.gpr[31] = (0x08A9F420u); aot_gpr_6 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A9F420u) goto L_08A9F420; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A9F420u) goto L_08A9F420; AOT_REGCACHE_SYNC_OUT(); return; L_08A9F420: ctx.gpr[2] = (0u | 0u); @@ -6946,7 +6947,7 @@ L_08A9F8E0: L_08A9F8EC: ctx.gpr[31] = (0x08A9F8F4u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A9F8F4u) goto L_08A9F8F4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_8, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08A9F8F4u) goto L_08A9F8F4; AOT_REGCACHE_SYNC_OUT(); return; L_08A9F8F4: { std::uint32_t aot_run_words[3]{}; diff --git a/profiles/vcs/generated/generated_unit_0167.cpp b/profiles/vcs/generated/generated_unit_0167.cpp index 87c4dda..40c1867 100644 --- a/profiles/vcs/generated/generated_unit_0167.cpp +++ b/profiles/vcs/generated/generated_unit_0167.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0167[4096] = { }; void recomp_unit_0167_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,31,16,6 fprs=12,13,14,0 gpr_occ=4058 fpr_occ=75 gpr_total=6059 fpr_total=84 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,31,6,29,2 fprs=12,13,14,0 gpr_occ=4210 fpr_occ=77 gpr_total=6564 fpr_total=86 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; - std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; - std::uint32_t aot_gpr_16 = ctx.gpr[16]; std::uint32_t aot_gpr_6 = ctx.gpr[6]; + std::uint32_t aot_gpr_29 = ctx.gpr[29]; + std::uint32_t aot_gpr_2 = ctx.gpr[2]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_14 = ctx.fpr[14]; float aot_fpr_0 = ctx.fpr[0]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[31] = aot_gpr_31; ctx.gpr[16] = aot_gpr_16; ctx.gpr[6] = aot_gpr_6; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[0] = aot_fpr_0; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_6 = ctx.gpr[6]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_0 = ctx.fpr[0]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[31] = aot_gpr_31; ctx.gpr[6] = aot_gpr_6; ctx.gpr[29] = aot_gpr_29; ctx.gpr[2] = aot_gpr_2; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[0] = aot_fpr_0; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_2 = ctx.gpr[2]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_0 = ctx.fpr[0]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -1185,12 +1186,12 @@ L_08AA0024: goto L_08AA002C; } L_08AA002C: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), ctx.gpr[18]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), ctx.gpr[18]); goto L_08AA0030; L_08AA0030: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -1230,14 +1231,14 @@ L_08AA008C: ctx.gpr[10] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16928))); ctx.gpr[11] = (ctx.gpr[11] + aot_gpr_4); ctx.gpr[10] = (aot_mem.aot_direct_load32(ctx.gpr[10] + static_cast(30040))); - ctx.gpr[2] = (ctx.gpr[11] + ctx.gpr[11]); - ctx.gpr[2] = (ctx.gpr[10] + ctx.gpr[2]); - ctx.gpr[2] = (aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(0))); + aot_gpr_2 = (ctx.gpr[11] + ctx.gpr[11]); + aot_gpr_2 = (ctx.gpr[10] + aot_gpr_2); + aot_gpr_2 = (aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(0))); ctx.gpr[3] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(16))); - ctx.gpr[2] = (ctx.gpr[2] & 16383u); - ctx.gpr[2] = (ctx.gpr[2] << 16u); - ctx.gpr[2] = (static_cast(static_cast(ctx.gpr[2]) >> 16u)); - { const bool branch_taken = ctx.gpr[2] != ctx.gpr[3]; + aot_gpr_2 = (aot_gpr_2 & 16383u); + aot_gpr_2 = (aot_gpr_2 << 16u); + aot_gpr_2 = (static_cast(static_cast(aot_gpr_2) >> 16u)); + { const bool branch_taken = aot_gpr_2 != ctx.gpr[3]; // nop if (branch_taken) { goto L_08AA0114; @@ -1245,13 +1246,13 @@ L_08AA008C: goto L_08AA00BC; } L_08AA00BC: - ctx.gpr[2] = (ctx.gpr[11] + ctx.gpr[11]); - ctx.gpr[2] = (ctx.gpr[10] + ctx.gpr[2]); - ctx.gpr[2] = (aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(0))); - ctx.gpr[2] = (ctx.gpr[2] & 32768u); - ctx.gpr[2] = (0u < ctx.gpr[2] ? 1u : 0u); - ctx.gpr[2] = (ctx.gpr[2] & 255u); - { const bool branch_taken = ctx.gpr[2] == 0u; + aot_gpr_2 = (ctx.gpr[11] + ctx.gpr[11]); + aot_gpr_2 = (ctx.gpr[10] + aot_gpr_2); + aot_gpr_2 = (aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(0))); + aot_gpr_2 = (aot_gpr_2 & 32768u); + aot_gpr_2 = (0u < aot_gpr_2 ? 1u : 0u); + aot_gpr_2 = (aot_gpr_2 & 255u); + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08AA00F0; @@ -1301,8 +1302,8 @@ L_08AA012C: AOT_REGCACHE_SYNC_OUT(); return; L_08AA0134: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_16); - aot_gpr_16 = (aot_gpr_6 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_6 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); aot_gpr_31 = (0x08AA0150u); @@ -1311,7 +1312,7 @@ L_08AA0134: AOT_REGCACHE_SYNC_OUT(); return; L_08AA0150: aot_gpr_6 = (aot_gpr_29 + static_cast(4)); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08AA0160u); aot_gpr_5 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 653u, 0x08A9FF94u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA0160u) goto L_08AA0160; @@ -1337,11 +1338,11 @@ L_08AA016C: L_08AA0178: aot_gpr_6 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08AA0184u); - ctx.gpr[7] = (aot_gpr_16 | 0u); + ctx.gpr[7] = (ctx.gpr[16] | 0u); goto L_08AA004C; L_08AA0184: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_08AA0198; } @@ -1349,13 +1350,13 @@ L_08AA0184: } L_08AA018C: aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(0), static_cast(0u)); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(0), static_cast(0u)); - ctx.gpr[2] = (0u | 0u); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(0), static_cast(0u)); + aot_gpr_2 = (0u | 0u); goto L_08AA0198; L_08AA0198: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(8), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -1385,11 +1386,11 @@ L_08AA01C8: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), ctx.gpr[17]); ctx.gpr[17] = (aot_gpr_4 + static_cast(16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[16]); { const std::uint32_t aot_run_words[4]{ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(28), aot_run_words); } { const bool branch_taken = aot_gpr_5 != 0u; - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08AA021C; } @@ -1402,7 +1403,7 @@ L_08AA01F4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA0200u) goto L_08AA0200; AOT_REGCACHE_SYNC_OUT(); return; L_08AA0200: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[18] == 0u; // nop if (branch_taken) { @@ -1413,7 +1414,7 @@ L_08AA0200: L_08AA020C: aot_gpr_31 = (0x08AA0214u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA0214u) goto L_08AA0214; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA0214u) goto L_08AA0214; AOT_REGCACHE_SYNC_OUT(); return; L_08AA0214: ctx.gpr[19] = (ctx.gpr[18] | 0u); @@ -1424,7 +1425,7 @@ L_08AA0218: L_08AA021C: ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); ctx.gpr[7] = (aot_gpr_29 + static_cast(16)); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08AA0234u); aot_gpr_6 = (0u | 1u); @@ -1457,8 +1458,8 @@ L_08AA024C: L_08AA0258: ctx.gpr[19] = (2236u << 16u); ctx.gpr[20] = (ctx.gpr[19] + static_cast(29704)); - ctx.gpr[18] = (ctx.gpr[2] | 0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_6 = (0u | 8u); aot_gpr_31 = (0x08AA0278u); @@ -1478,8 +1479,8 @@ L_08AA0278: ctx.gpr[10] = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(20))); ctx.gpr[8] = (0u < ctx.gpr[8] ? 1u : 0u); ctx.gpr[11] = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(24))); - ctx.gpr[2] = (ctx.gpr[8] & 255u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[2]); + aot_gpr_2 = (ctx.gpr[8] & 255u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_2); aot_gpr_6 = (aot_gpr_6 & 65535u); ctx.gpr[8] = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08AA02B4u); @@ -1487,10 +1488,10 @@ L_08AA0278: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 405u, 0x08A35A60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA02B4u) goto L_08AA02B4; AOT_REGCACHE_SYNC_OUT(); return; L_08AA02B4: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(20), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -1505,24 +1506,24 @@ L_08AA02B4: AOT_REGCACHE_SYNC_OUT(); return; L_08AA02D8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x08AA02ECu); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 404u, 0x08A35A58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA02ECu) goto L_08AA02EC; AOT_REGCACHE_SYNC_OUT(); return; L_08AA02EC: aot_gpr_4 = (2236u << 16u); - aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(29704), ctx.gpr[2]); - aot_gpr_5 = (aot_gpr_16 + static_cast(16)); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(29704), aot_gpr_2); + aot_gpr_5 = (ctx.gpr[16] + static_cast(16)); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AA0304u); aot_gpr_6 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA0304u) goto L_08AA0304; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA0304u) goto L_08AA0304; AOT_REGCACHE_SYNC_OUT(); return; L_08AA0304: - ctx.gpr[2] = (0u | 0u); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_2 = (0u | 0u); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -1535,11 +1536,11 @@ L_08AA0318: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), ctx.gpr[17]); ctx.gpr[17] = (aot_gpr_4 + static_cast(16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[16]); { const std::uint32_t aot_run_words[4]{ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(28), aot_run_words); } { const bool branch_taken = aot_gpr_5 != 0u; - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08AA036C; } @@ -1552,7 +1553,7 @@ L_08AA0344: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA0350u) goto L_08AA0350; AOT_REGCACHE_SYNC_OUT(); return; L_08AA0350: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[18] == 0u; // nop if (branch_taken) { @@ -1563,7 +1564,7 @@ L_08AA0350: L_08AA035C: aot_gpr_31 = (0x08AA0364u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA0364u) goto L_08AA0364; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA0364u) goto L_08AA0364; AOT_REGCACHE_SYNC_OUT(); return; L_08AA0364: ctx.gpr[19] = (ctx.gpr[18] | 0u); @@ -1574,7 +1575,7 @@ L_08AA0368: L_08AA036C: ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); ctx.gpr[7] = (aot_gpr_29 + static_cast(16)); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08AA0384u); aot_gpr_6 = (0u | 1u); @@ -1607,8 +1608,8 @@ L_08AA039C: L_08AA03A8: ctx.gpr[19] = (2236u << 16u); ctx.gpr[20] = (ctx.gpr[19] + static_cast(29704)); - ctx.gpr[18] = (ctx.gpr[2] | 0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_6 = (0u | 8u); aot_gpr_31 = (0x08AA03C8u); @@ -1628,9 +1629,9 @@ L_08AA03C8: ctx.gpr[10] = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(20))); ctx.gpr[8] = (0u < ctx.gpr[8] ? 1u : 0u); ctx.gpr[11] = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(24))); - ctx.gpr[2] = (ctx.gpr[8] & 255u); + aot_gpr_2 = (ctx.gpr[8] & 255u); ctx.gpr[3] = (0u | 1u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_2); aot_gpr_6 = (aot_gpr_6 & 65535u); ctx.gpr[8] = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08AA0408u); @@ -1638,10 +1639,10 @@ L_08AA03C8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 405u, 0x08A35A60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA0408u) goto L_08AA0408; AOT_REGCACHE_SYNC_OUT(); return; L_08AA0408: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(20), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -1656,23 +1657,23 @@ L_08AA0408: AOT_REGCACHE_SYNC_OUT(); return; L_08AA042C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (2236u << 16u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (2236u << 16u); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); aot_gpr_6 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x08AA044Cu); - ctx.gpr[7] = (aot_gpr_16 + static_cast(29704)); + ctx.gpr[7] = (ctx.gpr[16] + static_cast(29704)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA044Cu) goto L_08AA044C; AOT_REGCACHE_SYNC_OUT(); return; L_08AA044C: aot_gpr_31 = (0x08AA0454u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(29704))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0099_entry, 99u, 229u, 0x08991098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA0454u) goto L_08AA0454; AOT_REGCACHE_SYNC_OUT(); return; L_08AA0454: - ctx.gpr[2] = (0u | 0u); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_2 = (0u | 0u); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -1709,16 +1710,16 @@ L_08AA0468: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } jump_target = aot_gpr_31; - ctx.gpr[2] = (aot_gpr_4 | 0u); + aot_gpr_2 = (aot_gpr_4 | 0u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08AA0484: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[19]); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.gpr[19] = (0u | 1u); aot_gpr_5 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); @@ -1729,14 +1730,14 @@ L_08AA0484: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0038_entry, 38u, 269u, 0x0889D46Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA04B0u) goto L_08AA04B0; AOT_REGCACHE_SYNC_OUT(); return; L_08AA04B0: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AA04BCu); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0038_entry, 38u, 388u, 0x0889DB90u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA04BCu) goto L_08AA04BC; AOT_REGCACHE_SYNC_OUT(); return; L_08AA04BC: - ctx.gpr[18] = (ctx.gpr[2] | 0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 2u); aot_gpr_31 = (0x08AA04D0u); aot_gpr_6 = (0u | 6u); @@ -1752,40 +1753,40 @@ L_08AA04D0: goto L_08AA04DC; } L_08AA04DC: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AA04E8u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA04E8u) goto L_08AA04E8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880682C, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[16], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA04E8u) goto L_08AA04E8; AOT_REGCACHE_SYNC_OUT(); return; L_08AA04E8: aot_fpr_12 = std::bit_cast(ctx.gpr[17]); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AA04F8u); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA04F8u) goto L_08AA04F8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA04F8u) goto L_08AA04F8; AOT_REGCACHE_SYNC_OUT(); return; L_08AA04F8: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 1u); aot_gpr_31 = (0x08AA0508u); aot_gpr_6 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 459u, 0x088071ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA0508u) goto L_08AA0508; AOT_REGCACHE_SYNC_OUT(); return; L_08AA0508: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 2u); aot_gpr_31 = (0x08AA0518u); aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 508u, 0x08807644u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA0518u) goto L_08AA0518; AOT_REGCACHE_SYNC_OUT(); return; L_08AA0518: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AA0524u); aot_gpr_5 = (0u + static_cast(-1)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA0524u) goto L_08AA0524; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806888, 0u, 324u, 0x08806888u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA0524u) goto L_08AA0524; AOT_REGCACHE_SYNC_OUT(); return; L_08AA0524: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08AA0550; @@ -1793,10 +1794,10 @@ L_08AA0524: goto L_08AA052C; } L_08AA052C: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AA0538u); aot_gpr_5 = (0u + static_cast(-2)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA0538u) goto L_08AA0538; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806654, 0u, 303u, 0x08806654u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA0538u) goto L_08AA0538; AOT_REGCACHE_SYNC_OUT(); return; L_08AA0538: ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); @@ -1810,19 +1811,19 @@ L_08AA0538: } L_08AA0548: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08AA0554; } goto L_08AA0550; } L_08AA0550: - ctx.gpr[2] = (ctx.gpr[19] | 0u); + aot_gpr_2 = (ctx.gpr[19] | 0u); goto L_08AA0554; L_08AA0554: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -1836,9 +1837,9 @@ L_08AA0554: AOT_REGCACHE_SYNC_OUT(); return; L_08AA0570: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.gpr[17] = (0u | 1u); aot_gpr_5 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); @@ -1847,7 +1848,7 @@ L_08AA0570: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0038_entry, 38u, 269u, 0x0889D46Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA0594u) goto L_08AA0594; AOT_REGCACHE_SYNC_OUT(); return; L_08AA0594: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 2u); aot_gpr_31 = (0x08AA05A4u); aot_gpr_6 = (0u | 6u); @@ -1855,17 +1856,17 @@ L_08AA0594: AOT_REGCACHE_SYNC_OUT(); return; L_08AA05A4: aot_gpr_31 = (0x08AA05ACu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 424u, 0x08806DA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA05ACu) goto L_08AA05AC; AOT_REGCACHE_SYNC_OUT(); return; L_08AA05AC: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AA05B8u); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 540u, 0x088078B0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA05B8u) goto L_08AA05B8; AOT_REGCACHE_SYNC_OUT(); return; L_08AA05B8: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08AA0624; @@ -1873,38 +1874,38 @@ L_08AA05B8: goto L_08AA05C0; } L_08AA05C0: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AA05CCu); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA05CCu) goto L_08AA05CC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880682C, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[16], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA05CCu) goto L_08AA05CC; AOT_REGCACHE_SYNC_OUT(); return; L_08AA05CC: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AA05D8u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA05D8u) goto L_08AA05D8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880682C, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[16], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA05D8u) goto L_08AA05D8; AOT_REGCACHE_SYNC_OUT(); return; L_08AA05D8: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AA05E4u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA05E4u) goto L_08AA05E4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880682C, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[16], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA05E4u) goto L_08AA05E4; AOT_REGCACHE_SYNC_OUT(); return; L_08AA05E4: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 2u); aot_gpr_31 = (0x08AA05F4u); aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 508u, 0x08807644u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA05F4u) goto L_08AA05F4; AOT_REGCACHE_SYNC_OUT(); return; L_08AA05F4: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AA0600u); aot_gpr_5 = (0u + static_cast(-1)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA0600u) goto L_08AA0600; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806888, 0u, 324u, 0x08806888u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA0600u) goto L_08AA0600; AOT_REGCACHE_SYNC_OUT(); return; L_08AA0600: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08AA061C; @@ -1912,10 +1913,10 @@ L_08AA0600: goto L_08AA0608; } L_08AA0608: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AA0614u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA0614u) goto L_08AA0614; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806654, 0u, 303u, 0x08806654u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA0614u) goto L_08AA0614; AOT_REGCACHE_SYNC_OUT(); return; L_08AA0614: { const bool branch_taken = 0u == 0u; @@ -1927,19 +1928,19 @@ L_08AA0614: } L_08AA061C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (ctx.gpr[17] | 0u); + aot_gpr_2 = (ctx.gpr[17] | 0u); if (branch_taken) { goto L_08AA0628; } goto L_08AA0624; } L_08AA0624: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_08AA0628; L_08AA0628: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -1951,9 +1952,9 @@ L_08AA0628: AOT_REGCACHE_SYNC_OUT(); return; L_08AA063C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.gpr[17] = (0u | 1u); aot_gpr_5 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); @@ -1962,23 +1963,23 @@ L_08AA063C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0038_entry, 38u, 269u, 0x0889D46Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA0660u) goto L_08AA0660; AOT_REGCACHE_SYNC_OUT(); return; L_08AA0660: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AA066Cu); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0038_entry, 38u, 388u, 0x0889DB90u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA066Cu) goto L_08AA066C; AOT_REGCACHE_SYNC_OUT(); return; L_08AA066C: - aot_fpr_12 = std::bit_cast(ctx.gpr[2]); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_fpr_12 = std::bit_cast(aot_gpr_2); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AA067Cu); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA067Cu) goto L_08AA067C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA067Cu) goto L_08AA067C; AOT_REGCACHE_SYNC_OUT(); return; L_08AA067C: - ctx.gpr[2] = (ctx.gpr[17] | 0u); + aot_gpr_2 = (ctx.gpr[17] | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -1990,8 +1991,8 @@ L_08AA067C: AOT_REGCACHE_SYNC_OUT(); return; L_08AA0694: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_5 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x08AA06B0u); @@ -1999,22 +2000,22 @@ L_08AA0694: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0038_entry, 38u, 269u, 0x0889D46Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA06B0u) goto L_08AA06B0; AOT_REGCACHE_SYNC_OUT(); return; L_08AA06B0: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AA06BCu); aot_gpr_5 = (0u | 2u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0038_entry, 38u, 294u, 0x0889D610u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA06BCu) goto L_08AA06BC; AOT_REGCACHE_SYNC_OUT(); return; L_08AA06BC: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_0)); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 1u); aot_gpr_31 = (0x08AA06D0u); aot_gpr_6 = (std::bit_cast(aot_fpr_12)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0038_entry, 38u, 370u, 0x0889DA8Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA06D0u) goto L_08AA06D0; AOT_REGCACHE_SYNC_OUT(); return; L_08AA06D0: - ctx.gpr[2] = (0u | 0u); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_2 = (0u | 0u); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -2024,22 +2025,22 @@ L_08AA06D0: AOT_REGCACHE_SYNC_OUT(); return; L_08AA06E4: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - { const std::uint32_t aot_run_words[6]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; + { const std::uint32_t aot_run_words[6]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_31 = (0x08AA0708u); - aot_gpr_16 = (aot_gpr_4 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA0708u) goto L_08AA0708; + ctx.gpr[16] = (aot_gpr_4 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806634, 0u, 302u, 0x08806634u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA0708u) goto L_08AA0708; AOT_REGCACHE_SYNC_OUT(); return; L_08AA0708: - ctx.gpr[20] = (ctx.gpr[2] | 0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + ctx.gpr[20] = (aot_gpr_2 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 1u); aot_gpr_31 = (0x08AA071Cu); aot_gpr_6 = (0u | 5u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0038_entry, 38u, 269u, 0x0889D46Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA071Cu) goto L_08AA071C; AOT_REGCACHE_SYNC_OUT(); return; L_08AA071C: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AA0728u); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0038_entry, 38u, 388u, 0x0889DB90u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA0728u) goto L_08AA0728; @@ -2047,7 +2048,7 @@ L_08AA071C: L_08AA0728: aot_gpr_4 = (0u | 2u); { const bool branch_taken = ctx.gpr[20] != aot_gpr_4; - ctx.gpr[19] = (ctx.gpr[2] + static_cast(1)); + ctx.gpr[19] = (aot_gpr_2 + static_cast(1)); if (branch_taken) { goto L_08AA073C; } @@ -2062,7 +2063,7 @@ L_08AA0734: goto L_08AA073C; } L_08AA073C: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AA0748u); aot_gpr_5 = (0u | 2u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0038_entry, 38u, 294u, 0x0889D610u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA0748u) goto L_08AA0748; @@ -2085,7 +2086,7 @@ L_08AA0760: ctx.gpr[20] = (0u | 3u); goto L_08AA0764; L_08AA0764: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 1u); aot_gpr_31 = (0x08AA0774u); aot_gpr_6 = (ctx.gpr[19] | 0u); @@ -2103,7 +2104,7 @@ L_08AA0774: goto L_08AA0788; } L_08AA0788: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 1u); aot_gpr_31 = (0x08AA0798u); aot_gpr_6 = (ctx.gpr[19] | 0u); @@ -2111,7 +2112,7 @@ L_08AA0788: AOT_REGCACHE_SYNC_OUT(); return; L_08AA0798: aot_gpr_6 = (ctx.gpr[17] + static_cast(1)); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AA07A8u); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 489u, 0x0880748Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA07A8u) goto L_08AA07A8; @@ -2128,23 +2129,23 @@ L_08AA07A8: goto L_08AA07BC; } L_08AA07BC: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AA07C8u); aot_gpr_5 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA07C8u) goto L_08AA07C8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880682C, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[16], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA07C8u) goto L_08AA07C8; AOT_REGCACHE_SYNC_OUT(); return; L_08AA07C8: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 1u); aot_gpr_31 = (0x08AA07D8u); aot_gpr_6 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 489u, 0x0880748Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA07D8u) goto L_08AA07D8; AOT_REGCACHE_SYNC_OUT(); return; L_08AA07D8: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -2159,9 +2160,9 @@ L_08AA07D8: AOT_REGCACHE_SYNC_OUT(); return; L_08AA07FC: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[19]); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.gpr[19] = (0u | 1u); aot_gpr_5 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); @@ -2173,15 +2174,15 @@ L_08AA07FC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0038_entry, 38u, 269u, 0x0889D46Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA082Cu) goto L_08AA082C; AOT_REGCACHE_SYNC_OUT(); return; L_08AA082C: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AA0838u); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0038_entry, 38u, 388u, 0x0889DB90u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA0838u) goto L_08AA0838; AOT_REGCACHE_SYNC_OUT(); return; L_08AA0838: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); aot_fpr_12 = std::bit_cast(ctx.gpr[18]); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_gpr_31 = (0x08AA0850u); aot_gpr_5 = (0u | 2u); @@ -2198,13 +2199,13 @@ L_08AA0850: } L_08AA085C: aot_gpr_6 = (ctx.gpr[18] + static_cast(-1)); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AA086Cu); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0038_entry, 38u, 370u, 0x0889DA8Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA086Cu) goto L_08AA086C; AOT_REGCACHE_SYNC_OUT(); return; L_08AA086C: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 1u); aot_gpr_31 = (0x08AA087Cu); aot_gpr_6 = (ctx.gpr[17] | 0u); @@ -2229,7 +2230,7 @@ L_08AA0888: } L_08AA0890: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08AA08E8; } @@ -2237,14 +2238,14 @@ L_08AA0890: } L_08AA0898: ctx.gpr[20] = (ctx.gpr[17] + static_cast(1)); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 1u); aot_gpr_31 = (0x08AA08ACu); aot_gpr_6 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 459u, 0x088071ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA08ACu) goto L_08AA08AC; AOT_REGCACHE_SYNC_OUT(); return; L_08AA08AC: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 1u); aot_gpr_31 = (0x08AA08BCu); aot_gpr_6 = (ctx.gpr[17] | 0u); @@ -2262,23 +2263,23 @@ L_08AA08BC: } L_08AA08CC: aot_gpr_31 = (0x08AA08D4u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 424u, 0x08806DA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA08D4u) goto L_08AA08D4; AOT_REGCACHE_SYNC_OUT(); return; L_08AA08D4: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 1u); aot_gpr_31 = (0x08AA08E4u); aot_gpr_6 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 489u, 0x0880748Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA08E4u) goto L_08AA08E4; AOT_REGCACHE_SYNC_OUT(); return; L_08AA08E4: - ctx.gpr[2] = (ctx.gpr[19] | 0u); + aot_gpr_2 = (ctx.gpr[19] | 0u); goto L_08AA08E8; L_08AA08E8: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -2293,8 +2294,8 @@ L_08AA08E8: AOT_REGCACHE_SYNC_OUT(); return; L_08AA0908: aot_gpr_29 = (aot_gpr_29 + static_cast(-1072)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1040), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1040), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_6 = (ctx.gpr[28] + static_cast(-4628)); ctx.gpr[7] = (aot_gpr_29 + static_cast(1036)); { const std::uint32_t aot_run_words[6]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_31}; @@ -2305,16 +2306,16 @@ L_08AA0908: AOT_REGCACHE_SYNC_OUT(); return; L_08AA093C: aot_gpr_6 = (16256u << 16u); - ctx.gpr[21] = (ctx.gpr[2] | 0u); + ctx.gpr[21] = (aot_gpr_2 | 0u); aot_fpr_12 = std::bit_cast(aot_gpr_6); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AA0954u); aot_gpr_5 = (0u | 3u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0038_entry, 38u, 300u, 0x0889D684u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA0954u) goto L_08AA0954; AOT_REGCACHE_SYNC_OUT(); return; L_08AA0954: aot_fpr_13 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_0)); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_fpr_12 = std::bit_cast(0u); aot_gpr_5 = (0u | 4u); aot_gpr_31 = (0x08AA096Cu); @@ -2324,7 +2325,7 @@ L_08AA0954: L_08AA096C: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_0)); ctx.gpr[18] = (0u | 1u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 1u); aot_gpr_6 = (0u | 5u); aot_gpr_31 = (0x08AA0988u); @@ -2340,16 +2341,16 @@ L_08AA0988: goto L_08AA0990; } L_08AA0990: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AA099Cu); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0038_entry, 38u, 388u, 0x0889DB90u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA099Cu) goto L_08AA099C; AOT_REGCACHE_SYNC_OUT(); return; L_08AA099C: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); goto L_08AA09A0; L_08AA09A0: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AA09ACu); aot_gpr_5 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0038_entry, 38u, 453u, 0x0889DFC8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA09ACu) goto L_08AA09AC; @@ -2367,21 +2368,21 @@ L_08AA09B8: ctx.gpr[17] = (ctx.gpr[17] + static_cast(9680)); goto L_08AA09BC; L_08AA09BC: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 1u); aot_gpr_31 = (0x08AA09CCu); aot_gpr_6 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 459u, 0x088071ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA09CCu) goto L_08AA09CC; AOT_REGCACHE_SYNC_OUT(); return; L_08AA09CC: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AA09D8u); aot_gpr_5 = (0u + static_cast(-1)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 344u, 0x08806984u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA09D8u) goto L_08AA09D8; AOT_REGCACHE_SYNC_OUT(); return; L_08AA09D8: - { const bool branch_taken = ctx.gpr[2] != 0u; - aot_gpr_4 = (aot_gpr_16 | 0u); + { const bool branch_taken = aot_gpr_2 != 0u; + aot_gpr_4 = (ctx.gpr[16] | 0u); if (branch_taken) { goto L_08AA09EC; } @@ -2429,10 +2430,10 @@ L_08AA0A1C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0038_entry, 38u, 439u, 0x0889DEB8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA0A24u) goto L_08AA0A24; AOT_REGCACHE_SYNC_OUT(); return; L_08AA0A24: - ctx.gpr[2] = (ctx.gpr[18] | 0u); + aot_gpr_2 = (ctx.gpr[18] | 0u); { std::uint32_t aot_run_words[7]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(1040), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -2448,8 +2449,8 @@ L_08AA0A24: AOT_REGCACHE_SYNC_OUT(); return; L_08AA0A4C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_6 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_6 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_gpr_6 = (aot_gpr_5 | 0u); ctx.gpr[17] = (aot_gpr_4 | 0u); @@ -2462,13 +2463,13 @@ L_08AA0A70: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (0u | 1u); aot_gpr_31 = (0x08AA0A80u); - aot_gpr_6 = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 489u, 0x0880748Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA0A80u) goto L_08AA0A80; AOT_REGCACHE_SYNC_OUT(); return; L_08AA0A80: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -2480,18 +2481,18 @@ L_08AA0A80: AOT_REGCACHE_SYNC_OUT(); return; L_08AA0A94: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18]}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } ctx.gpr[17] = (aot_gpr_5 | 0u); - aot_gpr_16 = (aot_gpr_6 | 0u); + ctx.gpr[16] = (aot_gpr_6 | 0u); ctx.gpr[18] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); aot_gpr_31 = (0x08AA0ABCu); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA0ABCu) goto L_08AA0ABC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806888, 0u, 324u, 0x08806888u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA0ABCu) goto L_08AA0ABC; AOT_REGCACHE_SYNC_OUT(); return; L_08AA0ABC: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08AA0B1C; @@ -2502,19 +2503,19 @@ L_08AA0AC4: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08AA0AD0u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA0AD0u) goto L_08AA0AD0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880682C, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[16], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA0AD0u) goto L_08AA0AD0; AOT_REGCACHE_SYNC_OUT(); return; L_08AA0AD0: aot_gpr_5 = (ctx.gpr[17] + static_cast(-1)); aot_gpr_31 = (0x08AA0ADCu); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA0ADCu) goto L_08AA0ADC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880682C, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[16], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA0ADCu) goto L_08AA0ADC; AOT_REGCACHE_SYNC_OUT(); return; L_08AA0ADC: - aot_gpr_5 = (aot_gpr_16 + static_cast(-2)); + aot_gpr_5 = (ctx.gpr[16] + static_cast(-2)); aot_gpr_31 = (0x08AA0AE8u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA0AE8u) goto L_08AA0AE8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880682C, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[16], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA0AE8u) goto L_08AA0AE8; AOT_REGCACHE_SYNC_OUT(); return; L_08AA0AE8: aot_gpr_4 = (ctx.gpr[18] | 0u); @@ -2527,18 +2528,18 @@ L_08AA0AF8: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08AA0B04u); aot_gpr_5 = (0u + static_cast(-1)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA0B04u) goto L_08AA0B04; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806AE0, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA0B04u) goto L_08AA0B04; AOT_REGCACHE_SYNC_OUT(); return; L_08AA0B04: aot_gpr_4 = (ctx.gpr[18] | 0u); - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08AA0B14u); aot_gpr_5 = (0u + static_cast(-2)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA0B14u) goto L_08AA0B14; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806654, 0u, 303u, 0x08806654u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA0B14u) goto L_08AA0B14; AOT_REGCACHE_SYNC_OUT(); return; L_08AA0B14: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_gpr_16 | 0u); + aot_gpr_2 = (ctx.gpr[16] | 0u); if (branch_taken) { goto L_08AA0B2C; } @@ -2548,13 +2549,13 @@ L_08AA0B1C: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08AA0B2Cu); - aot_gpr_6 = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 353u, 0x08806A1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA0B2Cu) goto L_08AA0B2C; AOT_REGCACHE_SYNC_OUT(); return; L_08AA0B2C: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; @@ -2572,7 +2573,7 @@ L_08AA0B44: ctx.gpr[7] = (static_cast(aot_gpr_5) < static_cast(aot_gpr_6) ? 1u : 0u); ctx.gpr[17] = (aot_gpr_4 | 0u); ctx.gpr[23] = (aot_gpr_5 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); { const std::uint32_t aot_run_words[5]{ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(8), aot_run_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), ctx.gpr[30]); @@ -2609,8 +2610,8 @@ L_08AA0BAC: aot_gpr_6 = (0u + static_cast(-2)); goto L_08AA0A94; L_08AA0BBC: - { const bool branch_taken = ctx.gpr[2] == 0u; - aot_gpr_16 = (ctx.gpr[22] - ctx.gpr[23]); + { const bool branch_taken = aot_gpr_2 == 0u; + ctx.gpr[16] = (ctx.gpr[22] - ctx.gpr[23]); if (branch_taken) { goto L_08AA0BDC; } @@ -2634,11 +2635,11 @@ L_08AA0BDC: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08AA0BE8u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA0BE8u) goto L_08AA0BE8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806654, 0u, 303u, 0x08806654u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA0BE8u) goto L_08AA0BE8; AOT_REGCACHE_SYNC_OUT(); return; L_08AA0BE8: aot_gpr_4 = (0u | 1u); - { const bool branch_taken = aot_gpr_16 != aot_gpr_4; + { const bool branch_taken = ctx.gpr[16] != aot_gpr_4; // nop if (branch_taken) { goto L_08AA0BFC; @@ -2679,7 +2680,7 @@ L_08AA0C30: aot_gpr_6 = (0u + static_cast(-1)); goto L_08AA0A94; L_08AA0C40: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08AA0C60; @@ -2704,7 +2705,7 @@ L_08AA0C60: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08AA0C6Cu); aot_gpr_5 = (0u + static_cast(-2)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA0C6Cu) goto L_08AA0C6C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806654, 0u, 303u, 0x08806654u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA0C6Cu) goto L_08AA0C6C; AOT_REGCACHE_SYNC_OUT(); return; L_08AA0C6C: aot_gpr_4 = (ctx.gpr[17] | 0u); @@ -2720,7 +2721,7 @@ L_08AA0C7C: aot_gpr_6 = (0u + static_cast(-2)); goto L_08AA0A94; L_08AA0C8C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08AA0CAC; @@ -2745,11 +2746,11 @@ L_08AA0CAC: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08AA0CB8u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA0CB8u) goto L_08AA0CB8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806654, 0u, 303u, 0x08806654u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA0CB8u) goto L_08AA0CB8; AOT_REGCACHE_SYNC_OUT(); return; L_08AA0CB8: aot_gpr_4 = (0u | 2u); - { const bool branch_taken = aot_gpr_16 != aot_gpr_4; + { const bool branch_taken = ctx.gpr[16] != aot_gpr_4; // nop if (branch_taken) { goto L_08AA0CCC; @@ -2775,7 +2776,7 @@ L_08AA0CDC: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08AA0CE8u); aot_gpr_5 = (0u + static_cast(-1)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA0CE8u) goto L_08AA0CE8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880682C, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[16], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA0CE8u) goto L_08AA0CE8; AOT_REGCACHE_SYNC_OUT(); return; L_08AA0CE8: ctx.gpr[30] = (ctx.gpr[22] + static_cast(-1)); @@ -2812,7 +2813,7 @@ L_08AA0D28: aot_gpr_6 = (0u + static_cast(-2)); goto L_08AA0A94; L_08AA0D38: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08AA0D6C; @@ -2838,7 +2839,7 @@ L_08AA0D58: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08AA0D64u); aot_gpr_5 = (0u + static_cast(-2)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA0D64u) goto L_08AA0D64; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806654, 0u, 303u, 0x08806654u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA0D64u) goto L_08AA0D64; AOT_REGCACHE_SYNC_OUT(); return; L_08AA0D64: { const bool branch_taken = 0u == 0u; @@ -2849,13 +2850,13 @@ L_08AA0D64: goto L_08AA0D6C; } L_08AA0D6C: - aot_gpr_16 = (ctx.gpr[19] | 0u); + ctx.gpr[16] = (ctx.gpr[19] | 0u); goto L_08AA0D70; L_08AA0D70: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (0u | 1u); aot_gpr_31 = (0x08AA0D80u); - aot_gpr_6 = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 459u, 0x088071ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA0D80u) goto L_08AA0D80; AOT_REGCACHE_SYNC_OUT(); return; L_08AA0D80: @@ -2865,7 +2866,7 @@ L_08AA0D80: aot_gpr_6 = (0u + static_cast(-1)); goto L_08AA0A94; L_08AA0D90: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08AA0DC4; @@ -2875,7 +2876,7 @@ L_08AA0D90: L_08AA0D98: aot_gpr_4 = (static_cast(ctx.gpr[19]) < static_cast(ctx.gpr[23]) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; - ctx.gpr[19] = (aot_gpr_16 + static_cast(-1)); + ctx.gpr[19] = (ctx.gpr[16] + static_cast(-1)); if (branch_taken) { goto L_08AA0DB0; } @@ -2891,11 +2892,11 @@ L_08AA0DB0: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08AA0DBCu); aot_gpr_5 = (0u + static_cast(-2)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA0DBCu) goto L_08AA0DBC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806654, 0u, 303u, 0x08806654u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA0DBCu) goto L_08AA0DBC; AOT_REGCACHE_SYNC_OUT(); return; L_08AA0DBC: { const bool branch_taken = 0u == 0u; - aot_gpr_16 = (ctx.gpr[19] | 0u); + ctx.gpr[16] = (ctx.gpr[19] | 0u); if (branch_taken) { goto L_08AA0D70; } @@ -2914,7 +2915,7 @@ L_08AA0DD0: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08AA0DDCu); aot_gpr_5 = (0u + static_cast(-4)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA0DDCu) goto L_08AA0DDC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806654, 0u, 303u, 0x08806654u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA0DDCu) goto L_08AA0DDC; AOT_REGCACHE_SYNC_OUT(); return; L_08AA0DDC: aot_gpr_4 = (ctx.gpr[17] | 0u); @@ -2962,12 +2963,12 @@ L_08AA0E34: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08AA0E44u); - aot_gpr_6 = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); goto L_08AA0A4C; L_08AA0E44: ctx.gpr[20] = (ctx.gpr[18] + static_cast(1)); { const bool branch_taken = 0u == 0u; - ctx.gpr[19] = (aot_gpr_16 + static_cast(-1)); + ctx.gpr[19] = (ctx.gpr[16] + static_cast(-1)); if (branch_taken) { goto L_08AA0D14; } @@ -2996,7 +2997,7 @@ L_08AA0E70: L_08AA0E78: { std::uint32_t aot_run_words[10]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -3015,8 +3016,8 @@ L_08AA0E78: AOT_REGCACHE_SYNC_OUT(); return; L_08AA0EA8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_5 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); @@ -3025,27 +3026,27 @@ L_08AA0EA8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0038_entry, 38u, 269u, 0x0889D46Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA0EC8u) goto L_08AA0EC8; AOT_REGCACHE_SYNC_OUT(); return; L_08AA0EC8: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AA0ED4u); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0038_entry, 38u, 388u, 0x0889DB90u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA0ED4u) goto L_08AA0ED4; AOT_REGCACHE_SYNC_OUT(); return; L_08AA0ED4: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); aot_gpr_6 = (ctx.gpr[28] + static_cast(-4628)); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AA0EE8u); aot_gpr_5 = (0u | 40u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0038_entry, 38u, 265u, 0x0889D420u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA0EE8u) goto L_08AA0EE8; AOT_REGCACHE_SYNC_OUT(); return; L_08AA0EE8: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AA0EF4u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA0EF4u) goto L_08AA0EF4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806888, 0u, 324u, 0x08806888u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA0EF4u) goto L_08AA0EF4; AOT_REGCACHE_SYNC_OUT(); return; L_08AA0EF4: - { const bool branch_taken = static_cast(ctx.gpr[2]) <= 0; + { const bool branch_taken = static_cast(aot_gpr_2) <= 0; // nop if (branch_taken) { goto L_08AA0F0C; @@ -3053,29 +3054,29 @@ L_08AA0EF4: goto L_08AA0EFC; } L_08AA0EFC: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 2u); aot_gpr_31 = (0x08AA0F0Cu); aot_gpr_6 = (0u | 6u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0038_entry, 38u, 269u, 0x0889D46Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA0F0Cu) goto L_08AA0F0C; AOT_REGCACHE_SYNC_OUT(); return; L_08AA0F0C: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AA0F18u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA0F18u) goto L_08AA0F18; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806654, 0u, 303u, 0x08806654u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA0F18u) goto L_08AA0F18; AOT_REGCACHE_SYNC_OUT(); return; L_08AA0F18: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 1u); aot_gpr_31 = (0x08AA0F28u); aot_gpr_6 = (ctx.gpr[17] | 0u); goto L_08AA0B44; L_08AA0F28: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -3096,7 +3097,7 @@ L_08AA0F40: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0038_entry, 38u, 328u, 0x0889D80Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA0F5Cu) goto L_08AA0F5C; AOT_REGCACHE_SYNC_OUT(); return; L_08AA0F5C: - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -3134,7 +3135,7 @@ L_08AA0F88: } L_08AA0F94: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_08AA0FA8; } @@ -3142,14 +3143,14 @@ L_08AA0F94: } L_08AA0F9C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08AA0FA8; } goto L_08AA0FA4; } L_08AA0FA4: - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); goto L_08AA0FA8; L_08AA0FA8: jump_target = aot_gpr_31; @@ -3170,14 +3171,14 @@ L_08AA0FB0: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[7]); ctx.gpr[7] = (0u | 5u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[8]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), ctx.gpr[19]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), ctx.gpr[20]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[7]); ctx.gpr[19] = (0u | 0u); ctx.gpr[20] = (aot_gpr_4 & 61440u); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.gpr[17] = (aot_gpr_5 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), aot_gpr_31); @@ -3193,7 +3194,7 @@ L_08AA1010: aot_gpr_4 = (ctx.gpr[20] >> 12u); goto L_08AA0F6C; L_08AA1018: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08AA1070; @@ -3221,14 +3222,14 @@ L_08AA102C: } L_08AA103C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08AA1108; } goto L_08AA1044; } L_08AA1044: - aot_gpr_5 = (aot_gpr_16 >> (aot_gpr_4 & 31u)); + aot_gpr_5 = (ctx.gpr[16] >> (aot_gpr_4 & 31u)); aot_gpr_5 = (aot_gpr_5 & 15u); { const bool branch_taken = aot_gpr_5 == aot_gpr_6; // nop @@ -3254,7 +3255,7 @@ L_08AA1060: } L_08AA1070: aot_gpr_4 = (61440u << 16u); - aot_gpr_4 = (aot_gpr_16 & aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] & aot_gpr_4); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -3267,7 +3268,7 @@ L_08AA1080: aot_gpr_4 = (aot_gpr_4 >> 28u); goto L_08AA0F6C; L_08AA1088: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08AA10C8; @@ -3280,7 +3281,7 @@ L_08AA1090: aot_gpr_4 = (0u | 16u); goto L_08AA109C; L_08AA109C: - aot_gpr_5 = (aot_gpr_16 >> (aot_gpr_4 & 31u)); + aot_gpr_5 = (ctx.gpr[16] >> (aot_gpr_4 & 31u)); aot_gpr_5 = (aot_gpr_5 & 15u); { const bool branch_taken = aot_gpr_5 == aot_gpr_6; // nop @@ -3342,12 +3343,12 @@ L_08AA10F4: goto L_08AA1104; } L_08AA1104: - ctx.gpr[2] = (ctx.gpr[19] | 0u); + aot_gpr_2 = (ctx.gpr[19] | 0u); goto L_08AA1108; L_08AA1108: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(24), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -3362,7 +3363,7 @@ L_08AA1108: AOT_REGCACHE_SYNC_OUT(); return; L_08AA1128: { const bool branch_taken = aot_gpr_4 == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08AA1150; } @@ -3381,7 +3382,7 @@ L_08AA1134: goto L_08AA1140; } L_08AA1140: - ctx.gpr[2] = (ctx.gpr[2] + static_cast(1)); + aot_gpr_2 = (aot_gpr_2 + static_cast(1)); goto L_08AA1144; L_08AA1144: aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 4u)); @@ -3402,10 +3403,10 @@ L_08AA1150: L_08AA1158: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_6 = (static_cast(aot_gpr_4) < 3 ? 1u : 0u); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } { const bool branch_taken = aot_gpr_6 == 0u; - aot_gpr_16 = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); if (branch_taken) { goto L_08AA11E4; } @@ -3438,7 +3439,7 @@ L_08AA1188: } L_08AA1194: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08AA1314; } @@ -3446,31 +3447,31 @@ L_08AA1194: } L_08AA119C: aot_gpr_31 = (0x08AA11A4u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_08AA1128; L_08AA11A4: aot_gpr_31 = (0x08AA11ACu); - ctx.gpr[17] = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA11ACu) goto L_08AA11AC; + ctx.gpr[17] = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA11ACu) goto L_08AA11AC; AOT_REGCACHE_SYNC_OUT(); return; L_08AA11AC: ctx.gpr[7] = (static_cast(static_cast(ctx.gpr[17]) >> 31u)); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08AA11C0u); aot_gpr_6 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA11C0u) goto L_08AA11C0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA11C0u) goto L_08AA11C0; AOT_REGCACHE_SYNC_OUT(); return; L_08AA11C0: ctx.gpr[1] = (ctx.gpr[3] << 1u); - aot_gpr_4 = (ctx.gpr[2] >> 31u); + aot_gpr_4 = (aot_gpr_2 >> 31u); aot_gpr_5 = (static_cast(static_cast(ctx.gpr[3]) >> 31u)); aot_gpr_4 = (ctx.gpr[1] | aot_gpr_4); aot_gpr_4 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_4 << 2u); - ctx.gpr[2] = (static_cast(static_cast(aot_gpr_16) >> (aot_gpr_4 & 31u))); + aot_gpr_2 = (static_cast(static_cast(ctx.gpr[16]) >> (aot_gpr_4 & 31u))); { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (ctx.gpr[2] & 15u); + aot_gpr_2 = (aot_gpr_2 & 15u); if (branch_taken) { goto L_08AA1314; } @@ -3504,7 +3505,7 @@ L_08AA11F8: } L_08AA1204: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08AA1314; } @@ -3512,7 +3513,7 @@ L_08AA1204: } L_08AA120C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u + static_cast(-1)); + aot_gpr_2 = (0u + static_cast(-1)); if (branch_taken) { goto L_08AA1314; } @@ -3520,31 +3521,31 @@ L_08AA120C: } L_08AA1214: aot_gpr_31 = (0x08AA121Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_08AA1128; L_08AA121C: aot_gpr_31 = (0x08AA1224u); - ctx.gpr[17] = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA1224u) goto L_08AA1224; + ctx.gpr[17] = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA1224u) goto L_08AA1224; AOT_REGCACHE_SYNC_OUT(); return; L_08AA1224: ctx.gpr[7] = (static_cast(static_cast(ctx.gpr[17]) >> 31u)); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08AA1238u); aot_gpr_6 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA1238u) goto L_08AA1238; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA1238u) goto L_08AA1238; AOT_REGCACHE_SYNC_OUT(); return; L_08AA1238: ctx.gpr[1] = (ctx.gpr[3] << 1u); - aot_gpr_4 = (ctx.gpr[2] >> 31u); + aot_gpr_4 = (aot_gpr_2 >> 31u); aot_gpr_5 = (static_cast(static_cast(ctx.gpr[3]) >> 31u)); aot_gpr_4 = (ctx.gpr[1] | aot_gpr_4); aot_gpr_4 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_4 << 2u); - ctx.gpr[2] = (static_cast(static_cast(aot_gpr_16) >> (aot_gpr_4 & 31u))); + aot_gpr_2 = (static_cast(static_cast(ctx.gpr[16]) >> (aot_gpr_4 & 31u))); { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (ctx.gpr[2] & 15u); + aot_gpr_2 = (aot_gpr_2 & 15u); if (branch_taken) { goto L_08AA1314; } @@ -3552,11 +3553,11 @@ L_08AA1238: } L_08AA125C: aot_gpr_31 = (0x08AA1264u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_08AA1128; L_08AA1264: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7080))); - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_4 != 0u; ctx.gpr[17] = (0u + static_cast(-1)); if (branch_taken) { @@ -3567,21 +3568,21 @@ L_08AA1264: L_08AA1274: aot_gpr_31 = (0x08AA127Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA127Cu) goto L_08AA127C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA127Cu) goto L_08AA127C; AOT_REGCACHE_SYNC_OUT(); return; L_08AA127C: aot_gpr_6 = (ctx.gpr[18] + static_cast(1)); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08AA1290u); ctx.gpr[7] = (static_cast(static_cast(aot_gpr_6) >> 31u)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA1290u) goto L_08AA1290; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA1290u) goto L_08AA1290; AOT_REGCACHE_SYNC_OUT(); return; L_08AA1290: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-3196))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-3200))); ctx.gpr[1] = (ctx.gpr[3] << 1u); - aot_gpr_6 = (ctx.gpr[2] >> 31u); + aot_gpr_6 = (aot_gpr_2 >> 31u); ctx.gpr[7] = (static_cast(static_cast(ctx.gpr[3]) >> 31u)); aot_gpr_6 = (ctx.gpr[1] | aot_gpr_6); ctx.gpr[8] = (aot_gpr_6 + aot_gpr_4); @@ -3598,7 +3599,7 @@ L_08AA1290: } L_08AA12C4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (ctx.gpr[17] | 0u); + aot_gpr_2 = (ctx.gpr[17] | 0u); if (branch_taken) { goto L_08AA1314; } @@ -3606,7 +3607,7 @@ L_08AA12C4: } L_08AA12CC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (ctx.gpr[17] | 0u); + aot_gpr_2 = (ctx.gpr[17] | 0u); if (branch_taken) { goto L_08AA1314; } @@ -3614,9 +3615,9 @@ L_08AA12CC: } L_08AA12D4: aot_gpr_4 = (ctx.gpr[18] << 2u); - ctx.gpr[2] = (static_cast(static_cast(aot_gpr_16) >> (aot_gpr_4 & 31u))); + aot_gpr_2 = (static_cast(static_cast(ctx.gpr[16]) >> (aot_gpr_4 & 31u))); { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (ctx.gpr[2] & 15u); + aot_gpr_2 = (aot_gpr_2 & 15u); if (branch_taken) { goto L_08AA1314; } @@ -3625,27 +3626,27 @@ L_08AA12D4: L_08AA12E4: aot_gpr_31 = (0x08AA12ECu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA12ECu) goto L_08AA12EC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA12ECu) goto L_08AA12EC; AOT_REGCACHE_SYNC_OUT(); return; L_08AA12EC: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-3188))); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-3192))); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08AA1300u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA1300u) goto L_08AA1300; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA1300u) goto L_08AA1300; AOT_REGCACHE_SYNC_OUT(); return; L_08AA1300: ctx.gpr[1] = (ctx.gpr[3] << 1u); - aot_gpr_4 = (ctx.gpr[2] >> 31u); + aot_gpr_4 = (aot_gpr_2 >> 31u); aot_gpr_5 = (static_cast(static_cast(ctx.gpr[3]) >> 31u)); aot_gpr_4 = (ctx.gpr[1] | aot_gpr_4); - ctx.gpr[2] = (aot_gpr_4 | 0u); + aot_gpr_2 = (aot_gpr_4 | 0u); goto L_08AA1314; L_08AA1314: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; @@ -3659,8 +3660,8 @@ L_08AA1314: L_08AA132C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.gpr[7] = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); { const bool branch_taken = aot_gpr_6 != ctx.gpr[7]; @@ -3672,53 +3673,53 @@ L_08AA132C: } L_08AA134C: aot_gpr_31 = (0x08AA1354u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 102u, 0x089D885Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA1354u) goto L_08AA1354; AOT_REGCACHE_SYNC_OUT(); return; L_08AA1354: - aot_gpr_4 = (aot_gpr_16 + static_cast(28)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(28)); aot_gpr_31 = (0x08AA1360u); aot_gpr_5 = (0u | 2u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0030_entry, 30u, 736u, 0x0887F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA1360u) goto L_08AA1360; AOT_REGCACHE_SYNC_OUT(); return; L_08AA1360: - aot_gpr_4 = (aot_gpr_16 + static_cast(32)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(32)); aot_gpr_31 = (0x08AA136Cu); aot_gpr_5 = (0u | 2u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0030_entry, 30u, 736u, 0x0887F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA136Cu) goto L_08AA136C; AOT_REGCACHE_SYNC_OUT(); return; L_08AA136C: - aot_gpr_4 = (aot_gpr_16 + static_cast(4)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(4)); aot_gpr_31 = (0x08AA1378u); aot_gpr_5 = (0u | 2u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0030_entry, 30u, 736u, 0x0887F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA1378u) goto L_08AA1378; AOT_REGCACHE_SYNC_OUT(); return; L_08AA1378: - aot_gpr_4 = (aot_gpr_16 + static_cast(8)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(8)); aot_gpr_31 = (0x08AA1384u); aot_gpr_5 = (0u | 2u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0030_entry, 30u, 736u, 0x0887F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA1384u) goto L_08AA1384; AOT_REGCACHE_SYNC_OUT(); return; L_08AA1384: - aot_gpr_4 = (aot_gpr_16 + static_cast(12)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(12)); aot_gpr_31 = (0x08AA1390u); aot_gpr_5 = (0u | 2u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0030_entry, 30u, 736u, 0x0887F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA1390u) goto L_08AA1390; AOT_REGCACHE_SYNC_OUT(); return; L_08AA1390: - aot_gpr_4 = (aot_gpr_16 + static_cast(24)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(24)); aot_gpr_31 = (0x08AA139Cu); aot_gpr_5 = (0u | 2u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0030_entry, 30u, 736u, 0x0887F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA139Cu) goto L_08AA139C; AOT_REGCACHE_SYNC_OUT(); return; L_08AA139C: aot_gpr_31 = (0x08AA13A4u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0085_entry, 85u, 518u, 0x0895B97Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA13A4u) goto L_08AA13A4; AOT_REGCACHE_SYNC_OUT(); return; L_08AA13A4: - ctx.gpr[2] = (aot_gpr_16 | 0u); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_2 = (ctx.gpr[16] | 0u); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -3728,19 +3729,19 @@ L_08AA13A4: AOT_REGCACHE_SYNC_OUT(); return; L_08AA13B8: jump_target = aot_gpr_31; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(40))); + aot_gpr_2 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(40))); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08AA13C0: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[17]); ctx.gpr[17] = (0u + static_cast(-1)); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_31); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AA13E4u); aot_gpr_5 = (0u | 6u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0054_entry, 54u, 451u, 0x088DF69Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA13E4u) goto L_08AA13E4; @@ -3748,14 +3749,14 @@ L_08AA13C0: L_08AA13E4: aot_gpr_4 = (2234u << 16u); aot_fpr_12 = std::bit_cast(0u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(44), ctx.gpr[17]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(44), ctx.gpr[17]); aot_gpr_4 = (aot_gpr_4 + static_cast(31336)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(36), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(36), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), std::bit_cast(aot_fpr_12)); aot_gpr_5 = (0u | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), std::bit_cast(aot_fpr_12)); - aot_gpr_4 = (aot_gpr_16 + static_cast(96)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(96)); goto L_08AA140C; L_08AA140C: { const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); @@ -3781,9 +3782,9 @@ L_08AA140C: goto L_08AA1424; } L_08AA1424: - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(353), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(353), static_cast(0u)); aot_gpr_5 = (0u | 0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_08AA1430; L_08AA1430: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(396), 0u); @@ -3798,7 +3799,7 @@ L_08AA1430: } L_08AA1444: aot_gpr_5 = (0u | 0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_08AA144C; L_08AA144C: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(516), 0u); @@ -3815,18 +3816,18 @@ L_08AA1460: aot_gpr_4 = (16025u << 16u); aot_gpr_4 = (aot_gpr_4 | 39322u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(620), ctx.gpr[17]); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(80), std::bit_cast(aot_fpr_12)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), 0u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), 0u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(60), 0u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(72), 0u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), 0u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(76), 0u); - ctx.gpr[2] = (aot_gpr_16 | 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(620), ctx.gpr[17]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(80), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(56), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(64), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(60), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(72), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(68), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(76), 0u); + aot_gpr_2 = (ctx.gpr[16] | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -3838,16 +3839,16 @@ L_08AA1460: AOT_REGCACHE_SYNC_OUT(); return; L_08AA14A4: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); { const std::uint32_t aot_run_words[3]{ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(4), aot_run_words); } aot_gpr_31 = (0x08AA14C4u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_08AA24C4; L_08AA14C4: ctx.gpr[18] = (0u | 0u); - ctx.gpr[17] = (aot_gpr_16 + static_cast(396)); + ctx.gpr[17] = (ctx.gpr[16] + static_cast(396)); goto L_08AA14CC; L_08AA14CC: aot_gpr_4 = (ctx.gpr[17] | 0u); @@ -3867,7 +3868,7 @@ L_08AA14D8: } L_08AA14E8: ctx.gpr[18] = (0u | 0u); - ctx.gpr[17] = (aot_gpr_16 + static_cast(516)); + ctx.gpr[17] = (ctx.gpr[16] + static_cast(516)); goto L_08AA14F0; L_08AA14F0: aot_gpr_4 = (ctx.gpr[17] | 0u); @@ -3886,7 +3887,7 @@ L_08AA14FC: goto L_08AA150C; } L_08AA150C: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(631)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(631)))))); { const bool branch_taken = static_cast(aot_gpr_4) <= 0; // nop if (branch_taken) { @@ -3895,13 +3896,13 @@ L_08AA150C: goto L_08AA1518; } L_08AA1518: - aot_gpr_4 = (aot_gpr_16 + static_cast(616)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(616)); aot_gpr_31 = (0x08AA1524u); aot_gpr_5 = (0u | 2u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0030_entry, 30u, 736u, 0x0887F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA1524u) goto L_08AA1524; AOT_REGCACHE_SYNC_OUT(); return; L_08AA1524: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(631)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(631)))))); ctx.gpr[18] = (0u | 0u); aot_gpr_4 = (ctx.gpr[18] < aot_gpr_4 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; @@ -3912,7 +3913,7 @@ L_08AA1524: goto L_08AA1538; } L_08AA1538: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(616))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(616))); aot_gpr_5 = (0u | 0u); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[17]); aot_gpr_31 = (0x08AA154Cu); @@ -3920,7 +3921,7 @@ L_08AA1538: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0030_entry, 30u, 715u, 0x0887F4DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA154Cu) goto L_08AA154C; AOT_REGCACHE_SYNC_OUT(); return; L_08AA154C: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(631)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(631)))))); ctx.gpr[18] = (ctx.gpr[18] + static_cast(1)); aot_gpr_4 = (ctx.gpr[18] < aot_gpr_4 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; @@ -3931,17 +3932,17 @@ L_08AA154C: goto L_08AA1560; } L_08AA1560: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(616), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(616), 0u); goto L_08AA1564; L_08AA1564: aot_gpr_31 = (0x08AA156Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 855u, 0x0885F484u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA156Cu) goto L_08AA156C; AOT_REGCACHE_SYNC_OUT(); return; L_08AA156C: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; @@ -3954,14 +3955,14 @@ L_08AA156C: AOT_REGCACHE_SYNC_OUT(); return; L_08AA1584: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - { const std::uint32_t aot_run_words[9]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], aot_gpr_31}; + { const std::uint32_t aot_run_words[9]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_31 = (0x08AA15B4u); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 835u, 0x0885F354u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA15B4u) goto L_08AA15B4; AOT_REGCACHE_SYNC_OUT(); return; L_08AA15B4: - ctx.gpr[21] = (ctx.gpr[2] | 0u); + ctx.gpr[21] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[21] == 0u; ctx.gpr[18] = (0u + static_cast(-1)); if (branch_taken) { @@ -3970,9 +3971,9 @@ L_08AA15B4: goto L_08AA15C0; } L_08AA15C0: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(631)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(631)))))); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_4 = (aot_gpr_16 + static_cast(344)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(344)); if (branch_taken) { goto L_08AA16FC; } @@ -3984,7 +3985,7 @@ L_08AA15CC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 56u, 0x08B582CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA15D4u) goto L_08AA15D4; AOT_REGCACHE_SYNC_OUT(); return; L_08AA15D4: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08AA16FC; @@ -3994,10 +3995,10 @@ L_08AA15D4: L_08AA15DC: ctx.gpr[20] = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(4))); aot_gpr_31 = (0x08AA15E8u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_08AA18A8; L_08AA15E8: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[19] == ctx.gpr[18]; // nop if (branch_taken) { @@ -4006,7 +4007,7 @@ L_08AA15E8: goto L_08AA15F4; } L_08AA15F4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(616))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(616))); ctx.gpr[17] = (ctx.gpr[19] << 2u); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[17]); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); @@ -4024,12 +4025,12 @@ L_08AA160C: AOT_REGCACHE_SYNC_OUT(); return; L_08AA1614: aot_gpr_31 = (0x08AA161Cu); - ctx.gpr[22] = (ctx.gpr[2] | 0u); + ctx.gpr[22] = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0091_entry, 91u, 622u, 0x08972DA4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA161Cu) goto L_08AA161C; AOT_REGCACHE_SYNC_OUT(); return; L_08AA161C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(616))); - ctx.gpr[23] = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(616))); + ctx.gpr[23] = (aot_gpr_2 | 0u); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[17]); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_4 = (ctx.gpr[23] | 0u); @@ -4059,12 +4060,12 @@ L_08AA1658: AOT_REGCACHE_SYNC_OUT(); return; L_08AA1664: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-3208))); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AA1674u); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(4), static_cast(ctx.gpr[19])); goto L_08AA19E8; L_08AA1674: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[19] == ctx.gpr[18]; // nop if (branch_taken) { @@ -4073,7 +4074,7 @@ L_08AA1674: goto L_08AA1680; } L_08AA1680: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(616))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(616))); ctx.gpr[17] = (ctx.gpr[19] << 2u); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[17]); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); @@ -4091,12 +4092,12 @@ L_08AA1698: AOT_REGCACHE_SYNC_OUT(); return; L_08AA16A0: aot_gpr_31 = (0x08AA16A8u); - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0091_entry, 91u, 622u, 0x08972DA4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA16A8u) goto L_08AA16A8; AOT_REGCACHE_SYNC_OUT(); return; L_08AA16A8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(616))); - ctx.gpr[22] = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(616))); + ctx.gpr[22] = (aot_gpr_2 | 0u); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[17]); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_4 = (ctx.gpr[22] | 0u); @@ -4140,21 +4141,21 @@ L_08AA16FC: aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(5), static_cast(ctx.gpr[18])); goto L_08AA170C; L_08AA170C: - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(390), static_cast(0u)); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(389), static_cast(0u)); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(388), static_cast(0u)); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(394), static_cast(0u)); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(393), static_cast(0u)); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(392), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(390), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(389), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(388), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(394), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(393), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(392), static_cast(0u)); aot_gpr_31 = (0x08AA172Cu); aot_gpr_4 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0030_entry, 30u, 700u, 0x0887F39Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA172Cu) goto L_08AA172C; AOT_REGCACHE_SYNC_OUT(); return; L_08AA172C: - ctx.gpr[2] = (ctx.gpr[21] | 0u); + aot_gpr_2 = (ctx.gpr[21] | 0u); { std::uint32_t aot_run_words[9]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -4172,18 +4173,18 @@ L_08AA172C: AOT_REGCACHE_SYNC_OUT(); return; L_08AA175C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_5 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_5 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); ctx.gpr[17] = (aot_gpr_4 | 0u); aot_gpr_5 = (ctx.gpr[28] + static_cast(-3176)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08AA1780u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 31u, 0x08B58180u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA1780u) goto L_08AA1780; AOT_REGCACHE_SYNC_OUT(); return; L_08AA1780: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08AA1794; @@ -4201,25 +4202,25 @@ L_08AA1788: } L_08AA1794: aot_gpr_31 = (0x08AA179Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA179Cu) goto L_08AA179C; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA179Cu) goto L_08AA179C; AOT_REGCACHE_SYNC_OUT(); return; L_08AA179C: aot_gpr_31 = (0x08AA17A4u); - aot_gpr_4 = (ctx.gpr[2] + static_cast(1)); + aot_gpr_4 = (aot_gpr_2 + static_cast(1)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 468u, 0x08ABE29Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA17A4u) goto L_08AA17A4; AOT_REGCACHE_SYNC_OUT(); return; L_08AA17A4: - aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(620), ctx.gpr[2]); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(620), aot_gpr_2); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08AA17B4u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 63u, 0x08B5831Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA17B4u) goto L_08AA17B4; AOT_REGCACHE_SYNC_OUT(); return; L_08AA17B4: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -4233,10 +4234,10 @@ L_08AA17C8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(620))); aot_gpr_6 = (0u + static_cast(-1)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[16], ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } { const bool branch_taken = aot_gpr_5 == aot_gpr_6; - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08AA17FC; } @@ -4277,22 +4278,22 @@ L_08AA180C: goto L_08AA1810; L_08AA1810: aot_gpr_31 = (0x08AA1818u); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(620))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(620))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 690u, 0x0893ED4Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA1818u) goto L_08AA1818; AOT_REGCACHE_SYNC_OUT(); return; L_08AA1818: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(620))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(620))); aot_gpr_31 = (0x08AA1824u); - ctx.gpr[17] = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA1824u) goto L_08AA1824; + ctx.gpr[17] = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2E4, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA1824u) goto L_08AA1824; AOT_REGCACHE_SYNC_OUT(); return; L_08AA1824: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(620), ctx.gpr[17]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(620), ctx.gpr[17]); goto L_08AA1828; L_08AA1828: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -4304,7 +4305,7 @@ L_08AA1828: AOT_REGCACHE_SYNC_OUT(); return; L_08AA183C: jump_target = aot_gpr_31; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(620))); + aot_gpr_2 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(620))); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -4313,9 +4314,9 @@ L_08AA1844: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); ctx.gpr[7] = (aot_gpr_5 | 0u); aot_gpr_5 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_gpr_4 = (ctx.gpr[7] | 0u); - aot_gpr_16 = (aot_gpr_6 | 0u); + ctx.gpr[16] = (aot_gpr_6 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(40))); @@ -4327,14 +4328,14 @@ L_08AA1844: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 886u, 0x0885F634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA187Cu) goto L_08AA187C; AOT_REGCACHE_SYNC_OUT(); return; L_08AA187C: - aot_gpr_4 = (ctx.gpr[2] + static_cast(16)); + aot_gpr_4 = (aot_gpr_2 + static_cast(16)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(48))); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(52))); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(4), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(56))); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(8), std::bit_cast(aot_fpr_12)); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(8), std::bit_cast(aot_fpr_12)); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -4345,8 +4346,8 @@ L_08AA187C: L_08AA18A8: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-3208))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_6 + static_cast(6)))))); aot_gpr_4 = (0u + static_cast(-2)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), ctx.gpr[17]); @@ -4359,7 +4360,7 @@ L_08AA18A8: goto L_08AA18D0; } L_08AA18D0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(336))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(336))); aot_gpr_4 = (aot_gpr_4 & 61440u); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -4379,7 +4380,7 @@ L_08AA18E0: L_08AA18E8: aot_mem.aot_direct_store8(aot_gpr_6 + static_cast(6), static_cast(aot_gpr_4)); { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_gpr_5 | 0u); + aot_gpr_2 = (aot_gpr_5 | 0u); if (branch_taken) { goto L_08AA19D4; } @@ -4390,7 +4391,7 @@ L_08AA18F4: aot_gpr_4 = (aot_gpr_4 >> 12u); goto L_08AA0F6C; L_08AA18FC: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08AA1920; @@ -4398,7 +4399,7 @@ L_08AA18FC: goto L_08AA1904; } L_08AA1904: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(336))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(336))); aot_gpr_4 = (aot_gpr_5 & 61440u); aot_gpr_4 = (aot_gpr_4 >> 12u); aot_gpr_31 = (0x08AA1918u); @@ -4406,7 +4407,7 @@ L_08AA1904: goto L_08AA1158; L_08AA1918: { const bool branch_taken = 0u == 0u; - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); if (branch_taken) { goto L_08AA19D0; } @@ -4415,19 +4416,19 @@ L_08AA1918: L_08AA1920: aot_gpr_31 = (0x08AA1928u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA1928u) goto L_08AA1928; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA1928u) goto L_08AA1928; AOT_REGCACHE_SYNC_OUT(); return; L_08AA1928: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-3164))); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-3168))); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08AA193Cu); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA193Cu) goto L_08AA193C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA193Cu) goto L_08AA193C; AOT_REGCACHE_SYNC_OUT(); return; L_08AA193C: ctx.gpr[1] = (ctx.gpr[3] << 1u); - aot_gpr_4 = (ctx.gpr[2] >> 31u); + aot_gpr_4 = (aot_gpr_2 >> 31u); aot_gpr_5 = (static_cast(static_cast(ctx.gpr[3]) >> 31u)); aot_gpr_4 = (ctx.gpr[1] | aot_gpr_4); aot_gpr_4 = (aot_gpr_4 | 0u); @@ -4449,14 +4450,14 @@ L_08AA195C: goto L_08AA1968; } L_08AA1968: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(336))); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(631)))))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(336))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(631)))))); aot_gpr_31 = (0x08AA1978u); aot_gpr_6 = (aot_gpr_29 | 0u); goto L_08AA0FB0; L_08AA1978: - aot_gpr_16 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_16 != 0u; + ctx.gpr[16] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[16] != 0u; // nop if (branch_taken) { goto L_08AA1994; @@ -4473,7 +4474,7 @@ L_08AA1984: } L_08AA198C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u + static_cast(-1)); + aot_gpr_2 = (0u + static_cast(-1)); if (branch_taken) { goto L_08AA19D4; } @@ -4482,19 +4483,19 @@ L_08AA198C: L_08AA1994: aot_gpr_31 = (0x08AA199Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA199Cu) goto L_08AA199C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA199Cu) goto L_08AA199C; AOT_REGCACHE_SYNC_OUT(); return; L_08AA199C: - ctx.gpr[7] = (static_cast(static_cast(aot_gpr_16) >> 31u)); - aot_gpr_4 = (ctx.gpr[2] | 0u); + ctx.gpr[7] = (static_cast(static_cast(ctx.gpr[16]) >> 31u)); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08AA19B0u); - aot_gpr_6 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA19B0u) goto L_08AA19B0; + aot_gpr_6 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA19B0u) goto L_08AA19B0; AOT_REGCACHE_SYNC_OUT(); return; L_08AA19B0: ctx.gpr[1] = (ctx.gpr[3] << 1u); - aot_gpr_4 = (ctx.gpr[2] >> 31u); + aot_gpr_4 = (aot_gpr_2 >> 31u); aot_gpr_5 = (static_cast(static_cast(ctx.gpr[3]) >> 31u)); aot_gpr_4 = (ctx.gpr[1] | aot_gpr_4); aot_gpr_4 = (aot_gpr_4 | 0u); @@ -4503,12 +4504,12 @@ L_08AA19B0: ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); goto L_08AA19D0; L_08AA19D0: - ctx.gpr[2] = (ctx.gpr[17] | 0u); + aot_gpr_2 = (ctx.gpr[17] | 0u); goto L_08AA19D4; L_08AA19D4: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(24), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -4520,8 +4521,8 @@ L_08AA19D4: AOT_REGCACHE_SYNC_OUT(); return; L_08AA19E8: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-3208))); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(7)))))); aot_gpr_6 = (0u + static_cast(-2)); @@ -4535,7 +4536,7 @@ L_08AA19E8: goto L_08AA1A14; } L_08AA1A14: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(336))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(336))); ctx.gpr[18] = (61440u << 16u); aot_gpr_5 = (aot_gpr_4 & ctx.gpr[18]); { const bool branch_taken = aot_gpr_5 != 0u; @@ -4556,7 +4557,7 @@ L_08AA1A28: L_08AA1A30: aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(7), static_cast(aot_gpr_6)); { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_gpr_5 | 0u); + aot_gpr_2 = (aot_gpr_5 | 0u); if (branch_taken) { goto L_08AA1B30; } @@ -4567,8 +4568,8 @@ L_08AA1A3C: aot_gpr_4 = (aot_gpr_5 >> 28u); goto L_08AA0F6C; L_08AA1A44: - { const bool branch_taken = ctx.gpr[2] == 0u; - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(336))); + { const bool branch_taken = aot_gpr_2 == 0u; + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(336))); if (branch_taken) { goto L_08AA1A6C; } @@ -4584,7 +4585,7 @@ L_08AA1A4C: goto L_08AA1158; L_08AA1A64: { const bool branch_taken = 0u == 0u; - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); if (branch_taken) { goto L_08AA1B2C; } @@ -4604,7 +4605,7 @@ L_08AA1A78: aot_gpr_4 = (aot_gpr_4 >> 12u); goto L_08AA0F6C; L_08AA1A80: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08AA1B2C; @@ -4614,19 +4615,19 @@ L_08AA1A80: L_08AA1A88: aot_gpr_31 = (0x08AA1A90u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA1A90u) goto L_08AA1A90; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA1A90u) goto L_08AA1A90; AOT_REGCACHE_SYNC_OUT(); return; L_08AA1A90: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-3164))); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-3168))); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08AA1AA4u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA1AA4u) goto L_08AA1AA4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA1AA4u) goto L_08AA1AA4; AOT_REGCACHE_SYNC_OUT(); return; L_08AA1AA4: ctx.gpr[1] = (ctx.gpr[3] << 1u); - aot_gpr_4 = (ctx.gpr[2] >> 31u); + aot_gpr_4 = (aot_gpr_2 >> 31u); aot_gpr_5 = (static_cast(static_cast(ctx.gpr[3]) >> 31u)); aot_gpr_4 = (ctx.gpr[1] | aot_gpr_4); aot_gpr_4 = (aot_gpr_4 | 0u); @@ -4639,14 +4640,14 @@ L_08AA1AA4: goto L_08AA1AC4; } L_08AA1AC4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(336))); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(631)))))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(336))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(631)))))); aot_gpr_31 = (0x08AA1AD4u); aot_gpr_6 = (aot_gpr_29 | 0u); goto L_08AA0FB0; L_08AA1AD4: - aot_gpr_16 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08AA1B2C; @@ -4656,19 +4657,19 @@ L_08AA1AD4: L_08AA1AE0: aot_gpr_31 = (0x08AA1AE8u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA1AE8u) goto L_08AA1AE8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA1AE8u) goto L_08AA1AE8; AOT_REGCACHE_SYNC_OUT(); return; L_08AA1AE8: - ctx.gpr[7] = (static_cast(static_cast(aot_gpr_16) >> 31u)); - aot_gpr_4 = (ctx.gpr[2] | 0u); + ctx.gpr[7] = (static_cast(static_cast(ctx.gpr[16]) >> 31u)); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08AA1AFCu); - aot_gpr_6 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA1AFCu) goto L_08AA1AFC; + aot_gpr_6 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA1AFCu) goto L_08AA1AFC; AOT_REGCACHE_SYNC_OUT(); return; L_08AA1AFC: ctx.gpr[1] = (ctx.gpr[3] << 1u); - aot_gpr_4 = (ctx.gpr[2] >> 31u); + aot_gpr_4 = (aot_gpr_2 >> 31u); aot_gpr_5 = (static_cast(static_cast(ctx.gpr[3]) >> 31u)); aot_gpr_4 = (ctx.gpr[1] | aot_gpr_4); aot_gpr_4 = (aot_gpr_4 | 0u); @@ -4684,15 +4685,15 @@ L_08AA1AFC: goto L_08AA1B28; } L_08AA1B28: - ctx.gpr[17] = (aot_gpr_16 + static_cast(-1)); + ctx.gpr[17] = (ctx.gpr[16] + static_cast(-1)); goto L_08AA1B2C; L_08AA1B2C: - ctx.gpr[2] = (ctx.gpr[17] | 0u); + aot_gpr_2 = (ctx.gpr[17] | 0u); goto L_08AA1B30; L_08AA1B30: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(24), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; @@ -4705,8 +4706,8 @@ L_08AA1B30: AOT_REGCACHE_SYNC_OUT(); return; L_08AA1B48: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_5 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_5 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(40))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x08AA1B64u); @@ -4714,7 +4715,7 @@ L_08AA1B48: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 886u, 0x0885F634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA1B64u) goto L_08AA1B64; AOT_REGCACHE_SYNC_OUT(); return; L_08AA1B64: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_4 = (aot_gpr_4 + static_cast(16)); if (branch_taken) { @@ -4724,23 +4725,23 @@ L_08AA1B64: } L_08AA1B70: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(48))); - ctx.gpr[2] = (0u | 1u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), std::bit_cast(aot_fpr_12)); + aot_gpr_2 = (0u | 1u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(52))); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(4), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(56))); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(8), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(8), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_08AA1B94; } goto L_08AA1B90; } L_08AA1B90: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_08AA1B94; L_08AA1B94: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -4897,10 +4898,10 @@ L_08AA1CC8: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), ctx.gpr[18]); ctx.gpr[18] = (aot_gpr_4 | 0u); ctx.gpr[17] = (aot_gpr_5 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), aot_gpr_31); { const bool branch_taken = ctx.gpr[7] == 0u; - aot_gpr_16 = (aot_gpr_6 | 0u); + ctx.gpr[16] = (aot_gpr_6 | 0u); if (branch_taken) { goto L_08AA1D10; } @@ -4940,36 +4941,36 @@ L_08AA1D10: ctx.gpr[7] = (0u | 5u); aot_gpr_31 = (0x08AA1D2Cu); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA1D2Cu) goto L_08AA1D2C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA1D2Cu) goto L_08AA1D2C; AOT_REGCACHE_SYNC_OUT(); return; L_08AA1D2C: - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(0))); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(0), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(1))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(1))); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(1), static_cast(aot_gpr_4)); - aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(2))); + aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(2))); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(2), static_cast(aot_gpr_5)); - aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(3))); + aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(3))); aot_gpr_5 = (0u | 5u); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(3), static_cast(aot_gpr_6)); aot_gpr_6 = (0u | 5u); ctx.gpr[7] = (0u | 5u); aot_gpr_31 = (0x08AA1D64u); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA1D64u) goto L_08AA1D64; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA1D64u) goto L_08AA1D64; AOT_REGCACHE_SYNC_OUT(); return; L_08AA1D64: - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(0))); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(0), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(1))); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(1), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(2))); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(2), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(3))); - ctx.gpr[2] = (0u | 100u); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(0))); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(0), static_cast(aot_gpr_4)); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(1))); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(1), static_cast(aot_gpr_4)); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(2))); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(2), static_cast(aot_gpr_4)); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(3))); + aot_gpr_2 = (0u | 100u); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(3), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(3), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08AA1FC8; } @@ -4983,36 +4984,36 @@ L_08AA1D8C: ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x08AA1DA8u); ctx.gpr[8] = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA1DA8u) goto L_08AA1DA8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA1DA8u) goto L_08AA1DA8; AOT_REGCACHE_SYNC_OUT(); return; L_08AA1DA8: - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(0))); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(0), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(1))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(1))); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(1), static_cast(aot_gpr_4)); - aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(2))); + aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(2))); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(2), static_cast(aot_gpr_5)); - aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(3))); + aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(3))); aot_gpr_5 = (0u | 0u); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(3), static_cast(aot_gpr_6)); aot_gpr_6 = (0u | 0u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x08AA1DE0u); ctx.gpr[8] = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA1DE0u) goto L_08AA1DE0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA1DE0u) goto L_08AA1DE0; AOT_REGCACHE_SYNC_OUT(); return; L_08AA1DE0: - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(0))); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(0), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(1))); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(1), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(2))); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(2), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(3))); - ctx.gpr[2] = (0u | 101u); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(0))); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(0), static_cast(aot_gpr_4)); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(1))); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(1), static_cast(aot_gpr_4)); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(2))); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(2), static_cast(aot_gpr_4)); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(3))); + aot_gpr_2 = (0u | 101u); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(3), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(3), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08AA1FC8; } @@ -5029,7 +5030,7 @@ L_08AA1E08: aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(632))); goto L_08AA2FB4; L_08AA1E28: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(0))); @@ -5045,17 +5046,17 @@ L_08AA1E28: aot_gpr_4 = (ctx.gpr[18] | 0u); goto L_08AA3070; L_08AA1E60: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(1))); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(0), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(0), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(2))); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(1), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(1), static_cast(aot_gpr_5)); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(3))); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(2), static_cast(aot_gpr_4)); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(3), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(2), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(3), static_cast(aot_gpr_5)); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(353))); aot_gpr_4 = (static_cast(aot_gpr_4) < 2 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; @@ -5071,7 +5072,7 @@ L_08AA1E9C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA1EA4u) goto L_08AA1EA4; AOT_REGCACHE_SYNC_OUT(); return; L_08AA1EA4: - aot_gpr_6 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_6 == 0u; // nop if (branch_taken) { @@ -5116,7 +5117,7 @@ L_08AA1EDC: } L_08AA1EEC: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_6 + static_cast(552))); - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(0))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(0))); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop if (branch_taken) { @@ -5136,7 +5137,7 @@ L_08AA1EFC: } L_08AA1F0C: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_6 + static_cast(553))); - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(1))); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop if (branch_taken) { @@ -5156,7 +5157,7 @@ L_08AA1F1C: } L_08AA1F2C: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_6 + static_cast(554))); - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(2))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(2))); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop if (branch_taken) { @@ -5176,7 +5177,7 @@ L_08AA1F3C: aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(632))); goto L_08AA2FB4; L_08AA1F60: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(12))); @@ -5192,25 +5193,25 @@ L_08AA1F60: aot_gpr_4 = (ctx.gpr[18] | 0u); goto L_08AA3070; L_08AA1F98: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(28))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(12))); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(13))); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(0), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(0), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(14))); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(1), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(1), static_cast(aot_gpr_5)); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(15))); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(2), static_cast(aot_gpr_4)); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(3), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(2), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(3), static_cast(aot_gpr_5)); goto L_08AA1FC4; L_08AA1FC4: - ctx.gpr[2] = (aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(632))); + aot_gpr_2 = (aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(632))); goto L_08AA1FC8; L_08AA1FC8: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(32), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; @@ -5228,11 +5229,11 @@ L_08AA1FE0: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), ctx.gpr[18]); ctx.gpr[18] = (aot_gpr_4 | 0u); ctx.gpr[17] = (aot_gpr_5 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[16]); { const std::uint32_t aot_run_words[3]{ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(32), aot_run_words); } { const bool branch_taken = ctx.gpr[7] != 0u; - aot_gpr_16 = (aot_gpr_6 | 0u); + ctx.gpr[16] = (aot_gpr_6 | 0u); if (branch_taken) { goto L_08AA2024; } @@ -5262,35 +5263,35 @@ L_08AA2024: ctx.gpr[7] = (0u | 5u); aot_gpr_31 = (0x08AA203Cu); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA203Cu) goto L_08AA203C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA203Cu) goto L_08AA203C; AOT_REGCACHE_SYNC_OUT(); return; L_08AA203C: - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(0))); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(0), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(1))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(1))); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(1), static_cast(aot_gpr_4)); - aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(2))); + aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(2))); aot_gpr_4 = (aot_gpr_29 | 0u); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(2), static_cast(aot_gpr_5)); - aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(3))); + aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(3))); aot_gpr_5 = (0u | 5u); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(3), static_cast(aot_gpr_6)); aot_gpr_6 = (0u | 5u); ctx.gpr[7] = (0u | 5u); aot_gpr_31 = (0x08AA2074u); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA2074u) goto L_08AA2074; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA2074u) goto L_08AA2074; AOT_REGCACHE_SYNC_OUT(); return; L_08AA2074: - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(0))); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(0), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(1))); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(1), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(2))); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(2), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(3))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(0))); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(0), static_cast(aot_gpr_4)); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(1))); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(1), static_cast(aot_gpr_4)); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(2))); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(2), static_cast(aot_gpr_4)); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(3))); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(3), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(3), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08AA22BC; } @@ -5304,35 +5305,35 @@ L_08AA2098: ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x08AA20B4u); ctx.gpr[8] = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA20B4u) goto L_08AA20B4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA20B4u) goto L_08AA20B4; AOT_REGCACHE_SYNC_OUT(); return; L_08AA20B4: - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(0))); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(0), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(1))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(1))); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(1), static_cast(aot_gpr_4)); - aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(2))); + aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(2))); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(2), static_cast(aot_gpr_5)); - aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(3))); + aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(3))); aot_gpr_5 = (0u | 0u); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(3), static_cast(aot_gpr_6)); aot_gpr_6 = (0u | 0u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x08AA20ECu); ctx.gpr[8] = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA20ECu) goto L_08AA20EC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA20ECu) goto L_08AA20EC; AOT_REGCACHE_SYNC_OUT(); return; L_08AA20EC: - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(0))); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(0), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(1))); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(1), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(2))); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(2), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(3))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(0))); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(0), static_cast(aot_gpr_4)); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(1))); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(1), static_cast(aot_gpr_4)); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(2))); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(2), static_cast(aot_gpr_4)); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(3))); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(3), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(3), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08AA22BC; } @@ -5409,7 +5410,7 @@ L_08AA2178: goto L_08AA2180; } L_08AA2180: - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(0))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(0))); aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(52))); { const bool branch_taken = aot_gpr_5 != aot_gpr_6; aot_gpr_4 = (0u | 0u); @@ -5419,7 +5420,7 @@ L_08AA2180: goto L_08AA2190; } L_08AA2190: - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(1))); aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(53))); if (aot_gpr_5 != aot_gpr_6) { aot_gpr_4 = (aot_gpr_4 & 255u); @@ -5427,7 +5428,7 @@ L_08AA2190: } goto L_08AA21A0; L_08AA21A0: - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(2))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(2))); aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(54))); if (aot_gpr_5 != aot_gpr_6) { aot_gpr_4 = (aot_gpr_4 & 255u); @@ -5435,7 +5436,7 @@ L_08AA21A0: } goto L_08AA21B0; L_08AA21B0: - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(3))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(3))); aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(55))); { const bool branch_taken = aot_gpr_5 != aot_gpr_6; aot_gpr_4 = (aot_gpr_4 & 255u); @@ -5461,19 +5462,19 @@ L_08AA21C8: L_08AA21D0: aot_gpr_31 = (0x08AA21D8u); ctx.gpr[20] = (aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(353))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA21D8u) goto L_08AA21D8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA21D8u) goto L_08AA21D8; AOT_REGCACHE_SYNC_OUT(); return; L_08AA21D8: ctx.gpr[7] = (static_cast(static_cast(ctx.gpr[20]) >> 31u)); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08AA21ECu); aot_gpr_6 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA21ECu) goto L_08AA21EC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA21ECu) goto L_08AA21EC; AOT_REGCACHE_SYNC_OUT(); return; L_08AA21EC: ctx.gpr[1] = (ctx.gpr[3] << 1u); - aot_gpr_4 = (ctx.gpr[2] >> 31u); + aot_gpr_4 = (aot_gpr_2 >> 31u); aot_gpr_5 = (static_cast(static_cast(ctx.gpr[3]) >> 31u)); aot_gpr_4 = (ctx.gpr[1] | aot_gpr_4); aot_gpr_4 = (aot_gpr_4 | 0u); @@ -5483,7 +5484,7 @@ L_08AA21EC: aot_gpr_5 = (ctx.gpr[20] | 0u); goto L_08AA2FB4; L_08AA2210: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(8))); @@ -5499,17 +5500,17 @@ L_08AA2210: aot_gpr_5 = (ctx.gpr[20] | 0u); goto L_08AA3070; L_08AA2248: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(8))); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(9))); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(0), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(0), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(10))); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(1), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(1), static_cast(aot_gpr_5)); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(11))); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(2), static_cast(aot_gpr_4)); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(3), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(2), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(3), static_cast(aot_gpr_5)); { const bool branch_taken = 0u == 0u; ctx.gpr[19] = (ctx.gpr[19] + static_cast(1)); if (branch_taken) { @@ -5528,19 +5529,19 @@ L_08AA2280: aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(50), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(3))); aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(51), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(0))); aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(52), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(1))); aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(53), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(2))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(2))); aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(54), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(3))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(3))); aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(55), static_cast(aot_gpr_4)); goto L_08AA22BC; L_08AA22BC: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(20), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -5558,7 +5559,7 @@ L_08AA22DC: aot_gpr_5 = (0u | 0u); aot_gpr_6 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_6) ? 1u : 0u); { const bool branch_taken = aot_gpr_6 == 0u; - ctx.gpr[2] = (0u | 8u); + aot_gpr_2 = (0u | 8u); if (branch_taken) { goto L_08AA2300; } @@ -5572,7 +5573,7 @@ L_08AA22F0: goto L_08AA2300; L_08AA2300: aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(84))); - { const bool branch_taken = aot_gpr_6 == ctx.gpr[2]; + { const bool branch_taken = aot_gpr_6 == aot_gpr_2; // nop if (branch_taken) { goto L_08AA2374; @@ -5633,7 +5634,7 @@ L_08AA235C: } L_08AA2364: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_gpr_6 | 0u); + aot_gpr_2 = (aot_gpr_6 | 0u); if (branch_taken) { goto L_08AA23F0; } @@ -5641,7 +5642,7 @@ L_08AA2364: } L_08AA236C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08AA23F0; } @@ -5649,7 +5650,7 @@ L_08AA236C: } L_08AA2374: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08AA23F0; } @@ -5720,7 +5721,7 @@ L_08AA23C0: } L_08AA23C8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08AA23F0; } @@ -5728,7 +5729,7 @@ L_08AA23C8: } L_08AA23D0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_gpr_6 | 0u); + aot_gpr_2 = (aot_gpr_6 | 0u); if (branch_taken) { goto L_08AA23F0; } @@ -5752,7 +5753,7 @@ L_08AA23E4: goto L_08AA23EC; } L_08AA23EC: - ctx.gpr[2] = (aot_gpr_5 + static_cast(-1)); + aot_gpr_2 = (aot_gpr_5 + static_cast(-1)); goto L_08AA23F0; L_08AA23F0: jump_target = aot_gpr_31; @@ -5763,15 +5764,15 @@ L_08AA23F0: AOT_REGCACHE_SYNC_OUT(); return; L_08AA23F8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x08AA240Cu); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 186u, 0x089452D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA240Cu) goto L_08AA240C; AOT_REGCACHE_SYNC_OUT(); return; L_08AA240C: - ctx.gpr[2] = (aot_gpr_16 | 0u); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_2 = (ctx.gpr[16] | 0u); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -5781,15 +5782,15 @@ L_08AA240C: AOT_REGCACHE_SYNC_OUT(); return; L_08AA2420: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x08AA2434u); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 187u, 0x089452E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA2434u) goto L_08AA2434; AOT_REGCACHE_SYNC_OUT(); return; L_08AA2434: - ctx.gpr[2] = (aot_gpr_16 | 0u); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_2 = (ctx.gpr[16] | 0u); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -5799,8 +5800,8 @@ L_08AA2434: AOT_REGCACHE_SYNC_OUT(); return; L_08AA2448: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08AA2464u); @@ -5808,7 +5809,7 @@ L_08AA2448: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 188u, 0x089452F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA2464u) goto L_08AA2464; AOT_REGCACHE_SYNC_OUT(); return; L_08AA2464: - aot_gpr_4 = (ctx.gpr[2] & ctx.gpr[17]); + aot_gpr_4 = (aot_gpr_2 & ctx.gpr[17]); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -5818,7 +5819,7 @@ L_08AA2464: } L_08AA2470: { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(2), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(2), static_cast(0u)); if (branch_taken) { goto L_08AA2480; } @@ -5826,13 +5827,13 @@ L_08AA2470: } L_08AA2478: aot_gpr_4 = (0u | 4u); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(2), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(2), static_cast(aot_gpr_4)); goto L_08AA2480; L_08AA2480: - ctx.gpr[2] = (aot_gpr_16 | 0u); + aot_gpr_2 = (ctx.gpr[16] | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -5856,14 +5857,14 @@ L_08AA2498: L_08AA24AC: aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_4); { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08AA24BC; } goto L_08AA24B8; } L_08AA24B8: - ctx.gpr[2] = (aot_gpr_4 | 0u); + aot_gpr_2 = (aot_gpr_4 | 0u); goto L_08AA24BC; L_08AA24BC: jump_target = aot_gpr_31; @@ -5874,11 +5875,11 @@ L_08AA24BC: AOT_REGCACHE_SYNC_OUT(); return; L_08AA24C4: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); { const std::uint32_t aot_run_words[6]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(12), aot_run_words); } - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(84))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(84))); aot_gpr_5 = (2234u << 16u); ctx.gpr[21] = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 + static_cast(12460)); @@ -5918,7 +5919,7 @@ L_08AA2534: } L_08AA253C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(0))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(40))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(40))); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[20]); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_6 = (aot_gpr_29 | 0u); @@ -5949,7 +5950,7 @@ L_08AA256C: goto L_08AA2580; } L_08AA2580: - aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(624)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(624)))))); { const bool branch_taken = aot_gpr_6 == ctx.gpr[18]; // nop if (branch_taken) { @@ -5959,7 +5960,7 @@ L_08AA2580: } L_08AA258C: aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(40))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(40))); aot_gpr_31 = (0x08AA259Cu); aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0091_entry, 91u, 626u, 0x08972E68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA259Cu) goto L_08AA259C; @@ -5981,7 +5982,7 @@ L_08AA25A0: L_08AA25B4: { std::uint32_t aot_run_words[7]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(8), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -6142,10 +6143,10 @@ L_08AA26B0: AOT_REGCACHE_SYNC_OUT(); return; L_08AA26BC: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[17]); ctx.gpr[17] = (aot_gpr_4 | 0u); - aot_gpr_16 = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); aot_gpr_31 = (0x08AA26E0u); @@ -6155,7 +6156,7 @@ L_08AA26BC: L_08AA26E0: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(0), static_cast(0u)); aot_gpr_5 = (2218u << 16u); - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(20))); aot_gpr_6 = (aot_gpr_29 | 0u); aot_gpr_31 = (0x08AA26FCu); @@ -6169,7 +6170,7 @@ L_08AA26FC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 217u, 0x08B58C5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA2708u) goto L_08AA2708; AOT_REGCACHE_SYNC_OUT(); return; L_08AA2708: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; ctx.gpr[7] = (ctx.gpr[18] | 0u); if (branch_taken) { goto L_08AA275C; @@ -6267,7 +6268,7 @@ L_08AA2780: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 190u, 0x08B58B3Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA2790u) goto L_08AA2790; AOT_REGCACHE_SYNC_OUT(); return; L_08AA2790: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08AA27B0; @@ -6311,7 +6312,7 @@ L_08AA27C8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 217u, 0x08B58C5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA27D4u) goto L_08AA27D4; AOT_REGCACHE_SYNC_OUT(); return; L_08AA27D4: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08AA27F8; @@ -6319,7 +6320,7 @@ L_08AA27D4: goto L_08AA27DC; } L_08AA27DC: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AA27E8u); aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 102u, 0x089D885Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA27E8u) goto L_08AA27E8; @@ -6344,7 +6345,7 @@ L_08AA27F8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 217u, 0x08B58C5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA2804u) goto L_08AA2804; AOT_REGCACHE_SYNC_OUT(); return; L_08AA2804: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08AA2824; @@ -6386,10 +6387,10 @@ L_08AA2838: aot_gpr_5 = (0u | 0u); goto L_08AA2ED4; L_08AA2844: - ctx.gpr[2] = (ctx.gpr[17] | 0u); + aot_gpr_2 = (ctx.gpr[17] | 0u); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(4), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; @@ -6402,10 +6403,10 @@ L_08AA2844: AOT_REGCACHE_SYNC_OUT(); return; L_08AA2860: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[17]); ctx.gpr[17] = (aot_gpr_4 | 0u); - aot_gpr_16 = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); aot_gpr_31 = (0x08AA2884u); @@ -6415,7 +6416,7 @@ L_08AA2860: L_08AA2884: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(0), static_cast(0u)); aot_gpr_5 = (2218u << 16u); - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(20))); aot_gpr_6 = (aot_gpr_29 | 0u); aot_gpr_31 = (0x08AA28A0u); @@ -6430,7 +6431,7 @@ L_08AA28A0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 190u, 0x08B58B3Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA28B0u) goto L_08AA28B0; AOT_REGCACHE_SYNC_OUT(); return; L_08AA28B0: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08AA28D0; @@ -6460,7 +6461,7 @@ L_08AA28D0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 190u, 0x08B58B3Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA28E0u) goto L_08AA28E0; AOT_REGCACHE_SYNC_OUT(); return; L_08AA28E0: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08AA2900; @@ -6489,7 +6490,7 @@ L_08AA2900: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 217u, 0x08B58C5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA290Cu) goto L_08AA290C; AOT_REGCACHE_SYNC_OUT(); return; L_08AA290C: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; ctx.gpr[7] = (ctx.gpr[18] | 0u); if (branch_taken) { goto L_08AA2960; @@ -6587,7 +6588,7 @@ L_08AA2984: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 190u, 0x08B58B3Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA2994u) goto L_08AA2994; AOT_REGCACHE_SYNC_OUT(); return; L_08AA2994: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08AA29B4; @@ -6631,7 +6632,7 @@ L_08AA29CC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 217u, 0x08B58C5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA29D8u) goto L_08AA29D8; AOT_REGCACHE_SYNC_OUT(); return; L_08AA29D8: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08AA29FC; @@ -6639,7 +6640,7 @@ L_08AA29D8: goto L_08AA29E0; } L_08AA29E0: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AA29ECu); aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 102u, 0x089D885Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA29ECu) goto L_08AA29EC; @@ -6664,7 +6665,7 @@ L_08AA29FC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 217u, 0x08B58C5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA2A08u) goto L_08AA2A08; AOT_REGCACHE_SYNC_OUT(); return; L_08AA2A08: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08AA2A28; @@ -6706,10 +6707,10 @@ L_08AA2A3C: aot_gpr_5 = (0u | 0u); goto L_08AA2ED4; L_08AA2A48: - ctx.gpr[2] = (ctx.gpr[17] | 0u); + aot_gpr_2 = (ctx.gpr[17] | 0u); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(4), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; @@ -6722,10 +6723,10 @@ L_08AA2A48: AOT_REGCACHE_SYNC_OUT(); return; L_08AA2A64: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); ctx.gpr[17] = (aot_gpr_4 | 0u); - aot_gpr_16 = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); aot_gpr_31 = (0x08AA2A88u); @@ -6733,14 +6734,14 @@ L_08AA2A64: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0141_entry, 141u, 403u, 0x08A39B54u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA2A88u) goto L_08AA2A88; AOT_REGCACHE_SYNC_OUT(); return; L_08AA2A88: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); aot_gpr_5 = (ctx.gpr[28] + static_cast(-3136)); aot_gpr_31 = (0x08AA2A98u); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 56u, 0x08B582CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA2A98u) goto L_08AA2A98; AOT_REGCACHE_SYNC_OUT(); return; L_08AA2A98: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; ctx.gpr[7] = (ctx.gpr[18] | 0u); if (branch_taken) { goto L_08AA2AEC; @@ -6829,7 +6830,7 @@ L_08AA2B04: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 190u, 0x08B58B3Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA2B14u) goto L_08AA2B14; AOT_REGCACHE_SYNC_OUT(); return; L_08AA2B14: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08AA2B34; @@ -6858,7 +6859,7 @@ L_08AA2B34: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 217u, 0x08B58C5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA2B40u) goto L_08AA2B40; AOT_REGCACHE_SYNC_OUT(); return; L_08AA2B40: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08AA2B60; @@ -6887,7 +6888,7 @@ L_08AA2B60: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 217u, 0x08B58C5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA2B6Cu) goto L_08AA2B6C; AOT_REGCACHE_SYNC_OUT(); return; L_08AA2B6C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08AA2B90; @@ -6895,7 +6896,7 @@ L_08AA2B6C: goto L_08AA2B74; } L_08AA2B74: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AA2B80u); aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 102u, 0x089D885Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA2B80u) goto L_08AA2B80; @@ -6920,7 +6921,7 @@ L_08AA2B90: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 217u, 0x08B58C5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA2B9Cu) goto L_08AA2B9C; AOT_REGCACHE_SYNC_OUT(); return; L_08AA2B9C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08AA2BBC; @@ -6954,10 +6955,10 @@ L_08AA2BC8: aot_gpr_5 = (0u | 0u); goto L_08AA2ED4; L_08AA2BD4: - ctx.gpr[2] = (ctx.gpr[17] | 0u); + aot_gpr_2 = (ctx.gpr[17] | 0u); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; @@ -6970,18 +6971,18 @@ L_08AA2BD4: AOT_REGCACHE_SYNC_OUT(); return; L_08AA2BF0: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); aot_gpr_31 = (0x08AA2C0Cu); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0141_entry, 141u, 403u, 0x08A39B54u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA2C0Cu) goto L_08AA2C0C; AOT_REGCACHE_SYNC_OUT(); return; L_08AA2C0C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(20))); aot_gpr_5 = (2218u << 16u); - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(0), static_cast(0u)); aot_gpr_6 = (aot_gpr_29 | 0u); aot_gpr_31 = (0x08AA2C28u); @@ -6995,7 +6996,7 @@ L_08AA2C28: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 217u, 0x08B58C5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA2C34u) goto L_08AA2C34; AOT_REGCACHE_SYNC_OUT(); return; L_08AA2C34: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08AA2C78; @@ -7013,7 +7014,7 @@ L_08AA2C3C: } L_08AA2C48: aot_gpr_5 = (2196u << 16u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AA2C58u); aot_gpr_5 = (aot_gpr_5 + static_cast(22472)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 389u, 0x08946130u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA2C58u) goto L_08AA2C58; @@ -7028,7 +7029,7 @@ L_08AA2C58: } L_08AA2C60: aot_gpr_5 = (2196u << 16u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AA2C70u); aot_gpr_5 = (aot_gpr_5 + static_cast(22192)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 389u, 0x08946130u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA2C70u) goto L_08AA2C70; @@ -7048,7 +7049,7 @@ L_08AA2C78: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 217u, 0x08B58C5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA2C84u) goto L_08AA2C84; AOT_REGCACHE_SYNC_OUT(); return; L_08AA2C84: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08AA2CC8; @@ -7066,7 +7067,7 @@ L_08AA2C8C: } L_08AA2C98: aot_gpr_5 = (2196u << 16u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AA2CA8u); aot_gpr_5 = (aot_gpr_5 + static_cast(23928)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 389u, 0x08946130u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA2CA8u) goto L_08AA2CA8; @@ -7081,7 +7082,7 @@ L_08AA2CA8: } L_08AA2CB0: aot_gpr_5 = (2196u << 16u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AA2CC0u); aot_gpr_5 = (aot_gpr_5 + static_cast(23452)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 389u, 0x08946130u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA2CC0u) goto L_08AA2CC0; @@ -7101,7 +7102,7 @@ L_08AA2CC8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 217u, 0x08B58C5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA2CD4u) goto L_08AA2CD4; AOT_REGCACHE_SYNC_OUT(); return; L_08AA2CD4: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08AA2CF4; @@ -7110,7 +7111,7 @@ L_08AA2CD4: } L_08AA2CDC: aot_gpr_5 = (2196u << 16u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AA2CECu); aot_gpr_5 = (aot_gpr_5 + static_cast(23392)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 389u, 0x08946130u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA2CECu) goto L_08AA2CEC; @@ -7124,21 +7125,21 @@ L_08AA2CEC: goto L_08AA2CF4; } L_08AA2CF4: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AA2D00u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 389u, 0x08946130u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA2D00u) goto L_08AA2D00; AOT_REGCACHE_SYNC_OUT(); return; L_08AA2D00: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AA2D0Cu); aot_gpr_5 = (0u | 0u); goto L_08AA2ED4; L_08AA2D0C: - ctx.gpr[2] = (aot_gpr_16 | 0u); + aot_gpr_2 = (ctx.gpr[16] | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(4), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -7150,18 +7151,18 @@ L_08AA2D0C: AOT_REGCACHE_SYNC_OUT(); return; L_08AA2D24: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); aot_gpr_31 = (0x08AA2D40u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0141_entry, 141u, 403u, 0x08A39B54u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA2D40u) goto L_08AA2D40; AOT_REGCACHE_SYNC_OUT(); return; L_08AA2D40: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(20))); aot_gpr_5 = (2218u << 16u); - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(0), static_cast(0u)); aot_gpr_6 = (aot_gpr_29 | 0u); aot_gpr_31 = (0x08AA2D5Cu); @@ -7176,7 +7177,7 @@ L_08AA2D5C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 190u, 0x08B58B3Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA2D6Cu) goto L_08AA2D6C; AOT_REGCACHE_SYNC_OUT(); return; L_08AA2D6C: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08AA2D8C; @@ -7185,7 +7186,7 @@ L_08AA2D6C: } L_08AA2D74: aot_gpr_5 = (2196u << 16u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AA2D84u); aot_gpr_5 = (aot_gpr_5 + static_cast(22940)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 389u, 0x08946130u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA2D84u) goto L_08AA2D84; @@ -7205,7 +7206,7 @@ L_08AA2D8C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 217u, 0x08B58C5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA2D98u) goto L_08AA2D98; AOT_REGCACHE_SYNC_OUT(); return; L_08AA2D98: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; ctx.gpr[7] = (ctx.gpr[17] | 0u); if (branch_taken) { goto L_08AA2DEC; @@ -7282,7 +7283,7 @@ L_08AA2DEC: } L_08AA2DF8: aot_gpr_5 = (2196u << 16u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AA2E08u); aot_gpr_5 = (aot_gpr_5 + static_cast(24212)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 389u, 0x08946130u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA2E08u) goto L_08AA2E08; @@ -7297,7 +7298,7 @@ L_08AA2E08: } L_08AA2E10: aot_gpr_5 = (2196u << 16u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AA2E20u); aot_gpr_5 = (aot_gpr_5 + static_cast(23700)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 389u, 0x08946130u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA2E20u) goto L_08AA2E20; @@ -7317,7 +7318,7 @@ L_08AA2E28: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 217u, 0x08B58C5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA2E34u) goto L_08AA2E34; AOT_REGCACHE_SYNC_OUT(); return; L_08AA2E34: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08AA2E78; @@ -7335,7 +7336,7 @@ L_08AA2E3C: } L_08AA2E48: aot_gpr_5 = (2196u << 16u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AA2E58u); aot_gpr_5 = (aot_gpr_5 + static_cast(23928)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 389u, 0x08946130u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA2E58u) goto L_08AA2E58; @@ -7350,7 +7351,7 @@ L_08AA2E58: } L_08AA2E60: aot_gpr_5 = (2196u << 16u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AA2E70u); aot_gpr_5 = (aot_gpr_5 + static_cast(23452)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 389u, 0x08946130u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA2E70u) goto L_08AA2E70; @@ -7370,7 +7371,7 @@ L_08AA2E78: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 217u, 0x08B58C5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA2E84u) goto L_08AA2E84; AOT_REGCACHE_SYNC_OUT(); return; L_08AA2E84: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08AA2EA4; @@ -7379,7 +7380,7 @@ L_08AA2E84: } L_08AA2E8C: aot_gpr_5 = (2196u << 16u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AA2E9Cu); aot_gpr_5 = (aot_gpr_5 + static_cast(23392)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 389u, 0x08946130u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA2E9Cu) goto L_08AA2E9C; @@ -7393,21 +7394,21 @@ L_08AA2E9C: goto L_08AA2EA4; } L_08AA2EA4: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AA2EB0u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 389u, 0x08946130u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA2EB0u) goto L_08AA2EB0; AOT_REGCACHE_SYNC_OUT(); return; L_08AA2EB0: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AA2EBCu); aot_gpr_5 = (0u | 0u); goto L_08AA2ED4; L_08AA2EBC: - ctx.gpr[2] = (aot_gpr_16 | 0u); + aot_gpr_2 = (ctx.gpr[16] | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(4), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -7419,10 +7420,10 @@ L_08AA2EBC: AOT_REGCACHE_SYNC_OUT(); return; L_08AA2ED4: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); - ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08AA2EF4u); aot_gpr_4 = (ctx.gpr[17] | 0u); @@ -7431,11 +7432,11 @@ L_08AA2ED4: L_08AA2EF4: aot_gpr_5 = (ctx.gpr[28] + static_cast(-3128)); aot_gpr_31 = (0x08AA2F00u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 217u, 0x08B58C5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA2F00u) goto L_08AA2F00; AOT_REGCACHE_SYNC_OUT(); return; L_08AA2F00: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08AA2F20; @@ -7443,8 +7444,8 @@ L_08AA2F00: goto L_08AA2F08; } L_08AA2F08: - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(2), static_cast(0u)); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(2), static_cast(0u)); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AA2F18u); aot_gpr_5 = (0u | 2u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 186u, 0x089452D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA2F18u) goto L_08AA2F18; @@ -7465,11 +7466,11 @@ L_08AA2F20: L_08AA2F28: aot_gpr_5 = (ctx.gpr[28] + static_cast(-3120)); aot_gpr_31 = (0x08AA2F34u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 217u, 0x08B58C5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA2F34u) goto L_08AA2F34; AOT_REGCACHE_SYNC_OUT(); return; L_08AA2F34: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08AA2F48; @@ -7477,16 +7478,16 @@ L_08AA2F34: goto L_08AA2F3C; } L_08AA2F3C: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AA2F48u); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 186u, 0x089452D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA2F48u) goto L_08AA2F48; AOT_REGCACHE_SYNC_OUT(); return; L_08AA2F48: - ctx.gpr[2] = (aot_gpr_16 | 0u); + aot_gpr_2 = (ctx.gpr[16] | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -7500,14 +7501,14 @@ L_08AA2F60: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); ctx.gpr[17] = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08AA2F7Cu); - aot_gpr_16 = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0206_entry, 206u, 498u, 0x08B3E084u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA2F7Cu) goto L_08AA2F7C; AOT_REGCACHE_SYNC_OUT(); return; L_08AA2F7C: - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(3))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(3))); aot_gpr_5 = (0u | 255u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -7518,21 +7519,21 @@ L_08AA2F7C: } L_08AA2F8C: aot_gpr_4 = (0u | 1u); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(0), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(0), static_cast(aot_gpr_4)); { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08AA2FA0; } goto L_08AA2F9C; } L_08AA2F9C: - ctx.gpr[2] = (ctx.gpr[17] | 0u); + aot_gpr_2 = (ctx.gpr[17] | 0u); goto L_08AA2FA0; L_08AA2FA0: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -7548,10 +7549,10 @@ L_08AA2FB4: aot_gpr_6 = (aot_gpr_4 + static_cast(355)); aot_gpr_5 = (aot_gpr_5 + aot_gpr_5); aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_16); - aot_gpr_16 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[16]); + ctx.gpr[16] = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); - aot_gpr_5 = (static_cast(aot_gpr_16) < 240 ? 1u : 0u); + aot_gpr_5 = (static_cast(ctx.gpr[16]) < 240 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; // nop if (branch_taken) { @@ -7577,9 +7578,9 @@ L_08AA2FEC: goto L_08AA2FF4; } L_08AA2FF4: - aot_gpr_5 = (aot_gpr_16 + aot_gpr_16); + aot_gpr_5 = (ctx.gpr[16] + ctx.gpr[16]); aot_gpr_4 = (aot_gpr_4 + static_cast(375)); - aot_gpr_5 = (aot_gpr_16 + aot_gpr_5); + aot_gpr_5 = (ctx.gpr[16] + aot_gpr_5); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(-720))); aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(-719))); @@ -7587,11 +7588,11 @@ L_08AA2FF4: aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_31 = (0x08AA301Cu); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA301Cu) goto L_08AA301C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA301Cu) goto L_08AA301C; AOT_REGCACHE_SYNC_OUT(); return; L_08AA301C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_2 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); if (branch_taken) { goto L_08AA3060; } @@ -7606,9 +7607,9 @@ L_08AA302C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5840))); goto L_08AA3030; L_08AA3030: - aot_gpr_5 = (aot_gpr_16 + aot_gpr_16); + aot_gpr_5 = (ctx.gpr[16] + ctx.gpr[16]); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); - aot_gpr_5 = (aot_gpr_16 + aot_gpr_5); + aot_gpr_5 = (ctx.gpr[16] + aot_gpr_5); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_gpr_4 + static_cast(384)); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0))); @@ -7617,13 +7618,13 @@ L_08AA3030: aot_gpr_4 = (aot_gpr_29 + static_cast(4)); aot_gpr_31 = (0x08AA305Cu); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA305Cu) goto L_08AA305C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA305Cu) goto L_08AA305C; AOT_REGCACHE_SYNC_OUT(); return; L_08AA305C: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_2 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); goto L_08AA3060; L_08AA3060: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); @@ -7637,10 +7638,10 @@ L_08AA3070: aot_gpr_6 = (aot_gpr_4 + static_cast(355)); aot_gpr_5 = (aot_gpr_5 + aot_gpr_5); aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_16); - aot_gpr_16 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(1))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[16]); + ctx.gpr[16] = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(1))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); - aot_gpr_5 = (static_cast(aot_gpr_16) < 240 ? 1u : 0u); + aot_gpr_5 = (static_cast(ctx.gpr[16]) < 240 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; // nop if (branch_taken) { @@ -7666,9 +7667,9 @@ L_08AA30A8: goto L_08AA30B0; } L_08AA30B0: - aot_gpr_5 = (aot_gpr_16 + aot_gpr_16); + aot_gpr_5 = (ctx.gpr[16] + ctx.gpr[16]); aot_gpr_4 = (aot_gpr_4 + static_cast(375)); - aot_gpr_5 = (aot_gpr_16 + aot_gpr_5); + aot_gpr_5 = (ctx.gpr[16] + aot_gpr_5); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(-720))); aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(-719))); @@ -7676,11 +7677,11 @@ L_08AA30B0: aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_31 = (0x08AA30D8u); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA30D8u) goto L_08AA30D8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA30D8u) goto L_08AA30D8; AOT_REGCACHE_SYNC_OUT(); return; L_08AA30D8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_2 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); if (branch_taken) { goto L_08AA311C; } @@ -7695,9 +7696,9 @@ L_08AA30E8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5840))); goto L_08AA30EC; L_08AA30EC: - aot_gpr_5 = (aot_gpr_16 + aot_gpr_16); + aot_gpr_5 = (ctx.gpr[16] + ctx.gpr[16]); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); - aot_gpr_5 = (aot_gpr_16 + aot_gpr_5); + aot_gpr_5 = (ctx.gpr[16] + aot_gpr_5); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_gpr_4 + static_cast(384)); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0))); @@ -7706,13 +7707,13 @@ L_08AA30EC: aot_gpr_4 = (aot_gpr_29 + static_cast(4)); aot_gpr_31 = (0x08AA3118u); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA3118u) goto L_08AA3118; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA3118u) goto L_08AA3118; AOT_REGCACHE_SYNC_OUT(); return; L_08AA3118: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_2 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); goto L_08AA311C; L_08AA311C: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); @@ -7726,10 +7727,10 @@ L_08AA312C: aot_gpr_6 = (aot_gpr_4 + static_cast(371)); aot_gpr_5 = (aot_gpr_5 + aot_gpr_5); aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_16); - aot_gpr_16 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[16]); + ctx.gpr[16] = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); - aot_gpr_5 = (static_cast(aot_gpr_16) < 240 ? 1u : 0u); + aot_gpr_5 = (static_cast(ctx.gpr[16]) < 240 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; // nop if (branch_taken) { @@ -7755,9 +7756,9 @@ L_08AA3164: goto L_08AA316C; } L_08AA316C: - aot_gpr_5 = (aot_gpr_16 + aot_gpr_16); + aot_gpr_5 = (ctx.gpr[16] + ctx.gpr[16]); aot_gpr_4 = (aot_gpr_4 + static_cast(375)); - aot_gpr_5 = (aot_gpr_16 + aot_gpr_5); + aot_gpr_5 = (ctx.gpr[16] + aot_gpr_5); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(-720))); aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(-719))); @@ -7765,11 +7766,11 @@ L_08AA316C: aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_31 = (0x08AA3194u); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA3194u) goto L_08AA3194; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA3194u) goto L_08AA3194; AOT_REGCACHE_SYNC_OUT(); return; L_08AA3194: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_2 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); if (branch_taken) { goto L_08AA31D8; } @@ -7784,9 +7785,9 @@ L_08AA31A4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5840))); goto L_08AA31A8; L_08AA31A8: - aot_gpr_5 = (aot_gpr_16 + aot_gpr_16); + aot_gpr_5 = (ctx.gpr[16] + ctx.gpr[16]); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); - aot_gpr_5 = (aot_gpr_16 + aot_gpr_5); + aot_gpr_5 = (ctx.gpr[16] + aot_gpr_5); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_gpr_4 + static_cast(384)); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0))); @@ -7795,13 +7796,13 @@ L_08AA31A8: aot_gpr_4 = (aot_gpr_29 + static_cast(4)); aot_gpr_31 = (0x08AA31D4u); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA31D4u) goto L_08AA31D4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA31D4u) goto L_08AA31D4; AOT_REGCACHE_SYNC_OUT(); return; L_08AA31D4: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_2 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); goto L_08AA31D8; L_08AA31D8: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); @@ -7815,10 +7816,10 @@ L_08AA31E8: aot_gpr_6 = (aot_gpr_4 + static_cast(371)); aot_gpr_5 = (aot_gpr_5 + aot_gpr_5); aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_16); - aot_gpr_16 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(1))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[16]); + ctx.gpr[16] = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(1))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); - aot_gpr_5 = (static_cast(aot_gpr_16) < 240 ? 1u : 0u); + aot_gpr_5 = (static_cast(ctx.gpr[16]) < 240 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; // nop if (branch_taken) { @@ -7844,9 +7845,9 @@ L_08AA3220: goto L_08AA3228; } L_08AA3228: - aot_gpr_5 = (aot_gpr_16 + aot_gpr_16); + aot_gpr_5 = (ctx.gpr[16] + ctx.gpr[16]); aot_gpr_4 = (aot_gpr_4 + static_cast(375)); - aot_gpr_5 = (aot_gpr_16 + aot_gpr_5); + aot_gpr_5 = (ctx.gpr[16] + aot_gpr_5); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(-720))); aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(-719))); @@ -7854,11 +7855,11 @@ L_08AA3228: aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_31 = (0x08AA3250u); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA3250u) goto L_08AA3250; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA3250u) goto L_08AA3250; AOT_REGCACHE_SYNC_OUT(); return; L_08AA3250: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_2 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); if (branch_taken) { goto L_08AA3294; } @@ -7873,9 +7874,9 @@ L_08AA3260: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5840))); goto L_08AA3264; L_08AA3264: - aot_gpr_5 = (aot_gpr_16 + aot_gpr_16); + aot_gpr_5 = (ctx.gpr[16] + ctx.gpr[16]); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); - aot_gpr_5 = (aot_gpr_16 + aot_gpr_5); + aot_gpr_5 = (ctx.gpr[16] + aot_gpr_5); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_gpr_4 + static_cast(384)); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0))); @@ -7884,13 +7885,13 @@ L_08AA3264: aot_gpr_4 = (aot_gpr_29 + static_cast(4)); aot_gpr_31 = (0x08AA3290u); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA3290u) goto L_08AA3290; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA3290u) goto L_08AA3290; AOT_REGCACHE_SYNC_OUT(); return; L_08AA3290: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + aot_gpr_2 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); goto L_08AA3294; L_08AA3294: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); @@ -7902,9 +7903,9 @@ L_08AA32A4: aot_gpr_29 = (aot_gpr_29 + static_cast(-64)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), ctx.gpr[22]); ctx.gpr[22] = (2234u << 16u); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18]}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(20), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.gpr[17] = (aot_gpr_5 | 0u); ctx.gpr[18] = (aot_gpr_6 | 0u); ctx.gpr[22] = (ctx.gpr[22] + static_cast(12460)); @@ -7912,15 +7913,15 @@ L_08AA32A4: aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(32), aot_run_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), ctx.gpr[23]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), aot_gpr_31); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(12), ctx.gpr[18]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(12), ctx.gpr[18]); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AA32F4u); aot_gpr_6 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 890u, 0x0885F690u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA32F4u) goto L_08AA32F4; AOT_REGCACHE_SYNC_OUT(); return; L_08AA32F4: - ctx.gpr[20] = (aot_gpr_16 | 0u); + ctx.gpr[20] = (ctx.gpr[16] | 0u); ctx.gpr[18] = (0u | 0u); ctx.gpr[19] = (ctx.gpr[17] | 0u); ctx.gpr[21] = (ctx.gpr[20] + static_cast(396)); @@ -7954,7 +7955,7 @@ L_08AA3320: goto L_08AA3338; } L_08AA3338: - ctx.gpr[20] = (aot_gpr_16 | 0u); + ctx.gpr[20] = (ctx.gpr[16] | 0u); ctx.gpr[18] = (0u | 0u); ctx.gpr[19] = (ctx.gpr[17] | 0u); ctx.gpr[21] = (ctx.gpr[20] + static_cast(516)); @@ -7989,8 +7990,8 @@ L_08AA3364: } L_08AA337C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(631), static_cast(aot_gpr_4)); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(631)))))); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(631), static_cast(aot_gpr_4)); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(631)))))); { const bool branch_taken = static_cast(aot_gpr_4) <= 0; // nop if (branch_taken) { @@ -8000,15 +8001,15 @@ L_08AA337C: } L_08AA3390: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); - aot_gpr_4 = (aot_gpr_16 + static_cast(616)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(616), aot_gpr_5); + aot_gpr_4 = (ctx.gpr[16] + static_cast(616)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(616), aot_gpr_5); aot_gpr_5 = (0u | 2u); aot_gpr_31 = (0x08AA33A8u); aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0030_entry, 30u, 728u, 0x0887F5E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA33A8u) goto L_08AA33A8; AOT_REGCACHE_SYNC_OUT(); return; L_08AA33A8: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(631)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(631)))))); ctx.gpr[17] = (0u | 0u); aot_gpr_4 = (ctx.gpr[17] < aot_gpr_4 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; @@ -8019,14 +8020,14 @@ L_08AA33A8: goto L_08AA33BC; } L_08AA33BC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(616))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(616))); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[18]); aot_gpr_31 = (0x08AA33CCu); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0147_entry, 147u, 639u, 0x08A53688u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA33CCu) goto L_08AA33CC; AOT_REGCACHE_SYNC_OUT(); return; L_08AA33CC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(616))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(616))); aot_gpr_5 = (0u | 0u); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[18]); aot_gpr_31 = (0x08AA33E0u); @@ -8034,7 +8035,7 @@ L_08AA33CC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0030_entry, 30u, 706u, 0x0887F414u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA33E0u) goto L_08AA33E0; AOT_REGCACHE_SYNC_OUT(); return; L_08AA33E0: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(631)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(631)))))); ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); aot_gpr_4 = (ctx.gpr[17] < aot_gpr_4 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; @@ -8045,7 +8046,7 @@ L_08AA33E0: goto L_08AA33F4; } L_08AA33F4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(84))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(84))); ctx.gpr[17] = (aot_gpr_4 << 2u); { const bool branch_taken = 0u == 0u; ctx.gpr[17] = (ctx.gpr[17] + ctx.gpr[22]); @@ -8055,14 +8056,14 @@ L_08AA33F4: goto L_08AA3404; } L_08AA3404: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(84))); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(616), 0u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(84))); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(616), 0u); ctx.gpr[17] = (aot_gpr_4 << 2u); ctx.gpr[17] = (ctx.gpr[17] + ctx.gpr[22]); goto L_08AA3414; L_08AA3414: - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(391), static_cast(0u)); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(395), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(391), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(395), static_cast(0u)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); @@ -8099,7 +8100,7 @@ L_08AA3458: } L_08AA3460: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(40))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(40))); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[18]); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_6 = (aot_gpr_29 | 0u); @@ -8130,7 +8131,7 @@ L_08AA3490: goto L_08AA34A4; } L_08AA34A4: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(624)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(624)))))); { const bool branch_taken = aot_gpr_5 == ctx.gpr[20]; // nop if (branch_taken) { @@ -8166,7 +8167,7 @@ L_08AA34D0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA34E8u) goto L_08AA34E8; AOT_REGCACHE_SYNC_OUT(); return; L_08AA34E8: - ctx.gpr[23] = (ctx.gpr[2] | 0u); + ctx.gpr[23] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08AA34F4u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast(4))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0091_entry, 91u, 658u, 0x089730ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA34F4u) goto L_08AA34F4; @@ -8178,7 +8179,7 @@ L_08AA34F4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0085_entry, 85u, 523u, 0x0895B9C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA3500u) goto L_08AA3500; AOT_REGCACHE_SYNC_OUT(); return; L_08AA3500: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(40))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(40))); aot_gpr_31 = (0x08AA350Cu); aot_gpr_5 = (ctx.gpr[23] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 101u, 0x089D8830u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA350Cu) goto L_08AA350C; @@ -8190,7 +8191,7 @@ L_08AA350C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 389u, 0x08946130u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA3518u) goto L_08AA3518; AOT_REGCACHE_SYNC_OUT(); return; L_08AA3518: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(88))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(88))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_12)}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(8), aot_run_words); } @@ -8258,7 +8259,7 @@ L_08AA359C: L_08AA35B0: { std::uint32_t aot_run_words[9]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(20), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -8277,28 +8278,28 @@ L_08AA35B0: L_08AA35DC: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_4 = (2280u << 16u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 + static_cast(1456)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 + static_cast(1456)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x08AA35F8u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_08AA13C0; L_08AA35F8: aot_gpr_31 = (0x08AA3600u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-3108)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA3600u) goto L_08AA3600; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA3600u) goto L_08AA3600; AOT_REGCACHE_SYNC_OUT(); return; L_08AA3600: aot_gpr_5 = (2232u << 16u); aot_gpr_4 = (ctx.gpr[28] + static_cast(10192)); - aot_gpr_6 = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); ctx.gpr[7] = (0u | 40u); aot_gpr_31 = (0x08AA3618u); aot_gpr_5 = (aot_gpr_5 + static_cast(9884)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0139_entry, 139u, 279u, 0x08A312B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA3618u) goto L_08AA3618; AOT_REGCACHE_SYNC_OUT(); return; L_08AA3618: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -8321,10 +8322,10 @@ L_08AA3628: ctx.gpr[19] = (aot_gpr_29 + static_cast(4)); ctx.gpr[18] = (aot_gpr_29 + static_cast(8)); ctx.gpr[17] = (aot_gpr_4 + static_cast(32)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), aot_gpr_31); { const bool branch_taken = aot_gpr_5 == 0u; - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08AA3680; } @@ -8341,7 +8342,7 @@ L_08AA3680: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(9), static_cast(0u)); aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(10), static_cast(0u)); aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(12), static_cast(0u)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_gpr_5 = (0u + static_cast(-1)); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -8377,7 +8378,7 @@ L_08AA36C0: goto L_08AA36C8; } L_08AA36C8: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(4), aot_gpr_4); aot_gpr_6 = (aot_gpr_4 | 0u); aot_gpr_5 = (ctx.gpr[28] + static_cast(-3092)); aot_gpr_31 = (0x08AA36DCu); @@ -8438,7 +8439,7 @@ L_08AA3724: L_08AA373C: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(20), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -8642,9 +8643,9 @@ L_08AA38F4: AOT_REGCACHE_SYNC_OUT(); return; L_08AA3900: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(333), static_cast(0u)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(333), static_cast(0u)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(0), static_cast(0u)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(1), static_cast(0u)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(2), static_cast(0u)); @@ -8665,19 +8666,19 @@ L_08AA3950: ctx.gpr[11] = (ctx.gpr[9] << 6u); ctx.gpr[10] = (ctx.gpr[10] << 3u); ctx.gpr[10] = (ctx.gpr[11] + ctx.gpr[10]); - ctx.gpr[10] = (aot_gpr_16 + ctx.gpr[10]); + ctx.gpr[10] = (ctx.gpr[16] + ctx.gpr[10]); aot_mem.aot_direct_store32(ctx.gpr[10] + static_cast(68), 0u); aot_mem.aot_direct_store32(ctx.gpr[10] + static_cast(72), aot_gpr_4); ctx.gpr[11] = (0u | 0u); goto L_08AA3974; L_08AA3974: - ctx.gpr[2] = (ctx.gpr[10] + ctx.gpr[11]); - aot_mem.aot_direct_store8(ctx.gpr[2] + static_cast(76), static_cast(0u)); + aot_gpr_2 = (ctx.gpr[10] + ctx.gpr[11]); + aot_mem.aot_direct_store8(aot_gpr_2 + static_cast(76), static_cast(0u)); ctx.gpr[11] = (ctx.gpr[11] + static_cast(1)); - aot_mem.aot_direct_store8(ctx.gpr[2] + static_cast(86), static_cast(0u)); + aot_mem.aot_direct_store8(aot_gpr_2 + static_cast(86), static_cast(0u)); ctx.gpr[11] = (ctx.gpr[11] & 65535u); - ctx.gpr[2] = (static_cast(ctx.gpr[11]) < 10 ? 1u : 0u); - { const bool branch_taken = ctx.gpr[2] != 0u; + aot_gpr_2 = (static_cast(ctx.gpr[11]) < 10 ? 1u : 0u); + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08AA3974; @@ -8718,7 +8719,7 @@ L_08AA39EC: aot_gpr_4 = (ctx.gpr[17] << 6u); aot_gpr_5 = (ctx.gpr[17] << 2u); ctx.gpr[18] = (aot_gpr_4 + aot_gpr_5); - ctx.gpr[18] = (aot_gpr_16 + ctx.gpr[18]); + ctx.gpr[18] = (ctx.gpr[16] + ctx.gpr[18]); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(0), 0u); aot_gpr_4 = (0u | 0u); goto L_08AA3A04; @@ -8745,18 +8746,18 @@ L_08AA3A20: ctx.gpr[7] = (0u | 91u); aot_gpr_31 = (0x08AA3A44u); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA3A44u) goto L_08AA3A44; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA3A44u) goto L_08AA3A44; AOT_REGCACHE_SYNC_OUT(); return; L_08AA3A44: - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(0))); aot_mem.aot_direct_store8(ctx.gpr[21] + static_cast(0), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(1))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(1))); ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); aot_mem.aot_direct_store8(ctx.gpr[21] + static_cast(1), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(2))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(2))); ctx.gpr[17] = (ctx.gpr[17] & 65535u); aot_mem.aot_direct_store8(ctx.gpr[21] + static_cast(2), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(3))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(3))); aot_mem.aot_direct_store8(ctx.gpr[21] + static_cast(3), static_cast(aot_gpr_4)); aot_gpr_4 = (static_cast(ctx.gpr[17]) < 1 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; @@ -8769,7 +8770,7 @@ L_08AA3A44: L_08AA3A78: { std::uint32_t aot_run_words[7]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(8), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -8786,10 +8787,10 @@ L_08AA3A78: L_08AA3A9C: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7080))); - { const std::uint32_t aot_run_words[5]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; + { const std::uint32_t aot_run_words[5]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } { const bool branch_taken = aot_gpr_5 != 0u; - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08AA3AD4; } @@ -8831,7 +8832,7 @@ L_08AA3AE4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0109_entry, 109u, 580u, 0x089BABACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA3AECu) goto L_08AA3AEC; AOT_REGCACHE_SYNC_OUT(); return; L_08AA3AEC: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08AA3B74; @@ -8839,9 +8840,9 @@ L_08AA3AEC: goto L_08AA3AF4; } L_08AA3AF4: - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(332), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(332), static_cast(0u)); ctx.gpr[18] = (0u | 0u); - ctx.gpr[19] = (aot_gpr_16 | 0u); + ctx.gpr[19] = (ctx.gpr[16] | 0u); ctx.gpr[17] = (0u | 1u); goto L_08AA3B04; L_08AA3B04: @@ -8860,7 +8861,7 @@ L_08AA3B14: goto L_08AA375C; L_08AA3B1C: aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(56), static_cast(ctx.gpr[17])); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(332), static_cast(ctx.gpr[17])); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(332), static_cast(ctx.gpr[17])); goto L_08AA3B24; L_08AA3B24: ctx.gpr[18] = (ctx.gpr[18] + static_cast(1)); @@ -8875,7 +8876,7 @@ L_08AA3B24: } L_08AA3B38: ctx.gpr[18] = (0u | 0u); - ctx.gpr[19] = (aot_gpr_16 + static_cast(68)); + ctx.gpr[19] = (ctx.gpr[16] + static_cast(68)); goto L_08AA3B40; L_08AA3B40: aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(74), static_cast(0u)); @@ -8893,7 +8894,7 @@ L_08AA3B50: goto L_08AA3628; L_08AA3B58: aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(74), static_cast(ctx.gpr[17])); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(332), static_cast(ctx.gpr[17])); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(332), static_cast(ctx.gpr[17])); goto L_08AA3B60; L_08AA3B60: ctx.gpr[18] = (ctx.gpr[18] + static_cast(1)); @@ -8909,7 +8910,7 @@ L_08AA3B60: L_08AA3B74: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -8924,7 +8925,7 @@ L_08AA3B74: L_08AA3B90: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(333))); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[16], ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } { const bool branch_taken = aot_gpr_5 != 0u; // nop @@ -8935,18 +8936,18 @@ L_08AA3B90: } L_08AA3BAC: ctx.gpr[17] = (0u | 0u); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); goto L_08AA3BB4; L_08AA3BB4: aot_gpr_31 = (0x08AA3BBCu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_08AA37C4; L_08AA3BBC: ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); ctx.gpr[17] = (ctx.gpr[17] & 65535u); aot_gpr_4 = (static_cast(ctx.gpr[17]) < 1 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_16 = (aot_gpr_16 + static_cast(68)); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(68)); if (branch_taken) { goto L_08AA3BB4; } @@ -8955,7 +8956,7 @@ L_08AA3BBC: L_08AA3BD0: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -8967,8 +8968,8 @@ L_08AA3BD0: AOT_REGCACHE_SYNC_OUT(); return; L_08AA3BE4: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_16); - aot_gpr_16 = (aot_gpr_6 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_6 | 0u); aot_gpr_6 = (ctx.gpr[7] & 255u); ctx.gpr[7] = (0u | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[17]); @@ -9038,16 +9039,16 @@ L_08AA3C64: ctx.gpr[7] = (0u | 91u); aot_gpr_31 = (0x08AA3C7Cu); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA3C7Cu) goto L_08AA3C7C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA3C7Cu) goto L_08AA3C7C; AOT_REGCACHE_SYNC_OUT(); return; L_08AA3C7C: - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(0))); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(60), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(1))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(1))); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(61), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(2))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(2))); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(62), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(3))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(3))); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(63), static_cast(aot_gpr_4)); if (branch_taken) { @@ -9070,7 +9071,7 @@ L_08AA3CA4: aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(10207), static_cast(aot_gpr_5)); goto L_08AA3CC8; L_08AA3CC8: - { const bool branch_taken = aot_gpr_16 == 0u; + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08AA3CE8; @@ -9079,7 +9080,7 @@ L_08AA3CC8: } L_08AA3CD0: aot_gpr_4 = (ctx.gpr[17] + static_cast(4)); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AA3CE0u); aot_gpr_6 = (0u | 10u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 200u, 0x08B58BA0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA3CE0u) goto L_08AA3CE0; @@ -9117,7 +9118,7 @@ L_08AA3CF4: L_08AA3D08: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(4), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -9262,13 +9263,13 @@ L_08AA3E10: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[17]); ctx.gpr[17] = (aot_gpr_6 & 65535u); aot_gpr_6 = (ctx.gpr[7] | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[19]); ctx.gpr[19] = (ctx.gpr[8] & 65535u); ctx.gpr[18] = (ctx.gpr[11] & 65535u); ctx.gpr[7] = (0u | 0u); - aot_gpr_16 = (ctx.gpr[10] | 0u); + ctx.gpr[16] = (ctx.gpr[10] | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), ctx.gpr[20]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_31); ctx.gpr[7] = (ctx.gpr[7] + static_cast(1)); @@ -9328,7 +9329,7 @@ L_08AA3EA8: aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(8), static_cast(0u)); goto L_08AA3EAC; L_08AA3EAC: - { const bool branch_taken = aot_gpr_16 == 0u; + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08AA3ECC; @@ -9337,7 +9338,7 @@ L_08AA3EAC: } L_08AA3EB4: aot_gpr_4 = (ctx.gpr[19] + static_cast(18)); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AA3EC4u); aot_gpr_6 = (0u | 10u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 200u, 0x08B58BA0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA3EC4u) goto L_08AA3EC4; @@ -9481,7 +9482,7 @@ L_08AA3FD8: aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(10211), static_cast(aot_gpr_5)); goto L_08AA3FFC; L_08AA3FFC: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); ctx.pc = 0x08AA4000u; AOT_REGCACHE_SYNC_OUT(); return; } diff --git a/profiles/vcs/generated/generated_unit_0168.cpp b/profiles/vcs/generated/generated_unit_0168.cpp index 77257c1..e133549 100644 --- a/profiles/vcs/generated/generated_unit_0168.cpp +++ b/profiles/vcs/generated/generated_unit_0168.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,7 +139,7 @@ static const std::uint16_t kEntryIds_recomp_unit_0168[4089] = { }; void recomp_unit_0168_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,29,5,6,16,17 fprs=12,13,20,14 gpr_occ=4285 fpr_occ=693 gpr_total=5816 fpr_total=904 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,29,5,6,16,17 fprs=12,13,20,14 gpr_occ=4315 fpr_occ=693 gpr_total=5880 fpr_total=904 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; @@ -1922,7 +1923,7 @@ L_08AA4A90: L_08AA4A9C: ctx.gpr[31] = (0x08AA4AA4u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA4AA4u) goto L_08AA4AA4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA4AA4u) goto L_08AA4AA4; AOT_REGCACHE_SYNC_OUT(); return; L_08AA4AA4: { std::uint32_t aot_run_words[3]{}; @@ -2523,7 +2524,7 @@ L_08AA4FD8: aot_gpr_5 = (0u + static_cast(-1)); ctx.gpr[31] = (0x08AA4FF0u); aot_gpr_6 = (0u | 32u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA4FF0u) goto L_08AA4FF0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA4FF0u) goto L_08AA4FF0; AOT_REGCACHE_SYNC_OUT(); return; L_08AA4FF0: aot_gpr_4 = (aot_gpr_17 | 0u); @@ -2770,7 +2771,7 @@ L_08AA5248: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), ctx.gpr[31]); ctx.gpr[31] = (0x08AA5288u); aot_gpr_6 = (0u | 32u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA5288u) goto L_08AA5288; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA5288u) goto L_08AA5288; AOT_REGCACHE_SYNC_OUT(); return; L_08AA5288: aot_gpr_4 = (ctx.gpr[18] | 0u); @@ -6219,7 +6220,7 @@ L_08AA6E8C: aot_gpr_4 = (aot_gpr_4 | 49807u); ctx.gpr[31] = (0x08AA6F14u); ctx.fpr[24] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA6F14u) goto L_08AA6F14; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA6F14u) goto L_08AA6F14; AOT_REGCACHE_SYNC_OUT(); return; L_08AA6F14: aot_fpr_12 = ctx.fpr[24] - ctx.fpr[22]; @@ -6413,7 +6414,7 @@ L_08AA6FE8: aot_gpr_4 = (16448u << 16u); ctx.gpr[31] = (0x08AA6FF4u); ctx.fpr[22] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA6FF4u) goto L_08AA6FF4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA6FF4u) goto L_08AA6FF4; AOT_REGCACHE_SYNC_OUT(); return; L_08AA6FF4: aot_gpr_4 = (16256u << 16u); @@ -6836,7 +6837,7 @@ L_08AA7390: L_08AA7398: ctx.gpr[31] = (0x08AA73A0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA73A0u) goto L_08AA73A0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA73A0u) goto L_08AA73A0; AOT_REGCACHE_SYNC_OUT(); return; L_08AA73A0: ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -7232,7 +7233,7 @@ L_08AA76E8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); ctx.gpr[31] = (0x08AA76F4u); aot_gpr_5 = (0u | 58u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA76F4u) goto L_08AA76F4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0886D4BC, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA76F4u) goto L_08AA76F4; AOT_REGCACHE_SYNC_OUT(); return; L_08AA76F4: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(0))); @@ -7404,7 +7405,7 @@ L_08AA781C: aot_gpr_5 = (0u | 58u); ctx.gpr[31] = (0x08AA782Cu); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(80))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA782Cu) goto L_08AA782C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0886D4BC, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA782Cu) goto L_08AA782C; AOT_REGCACHE_SYNC_OUT(); return; L_08AA782C: aot_gpr_4 = (16071u << 16u); diff --git a/profiles/vcs/generated/generated_unit_0169.cpp b/profiles/vcs/generated/generated_unit_0169.cpp index 3c84855..cb794f3 100644 --- a/profiles/vcs/generated/generated_unit_0169.cpp +++ b/profiles/vcs/generated/generated_unit_0169.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0169[4093] = { }; void recomp_unit_0169_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,29,5,6,7,31 fprs=12,13,14,15 gpr_occ=3106 fpr_occ=1579 gpr_total=4391 fpr_total=2619 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,29,5,6,31,7 fprs=12,13,14,15 gpr_occ=3132 fpr_occ=1583 gpr_total=4429 fpr_total=2623 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_6 = ctx.gpr[6]; - std::uint32_t aot_gpr_7 = ctx.gpr[7]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; + std::uint32_t aot_gpr_7 = ctx.gpr[7]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_14 = ctx.fpr[14]; float aot_fpr_15 = ctx.fpr[15]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[29] = aot_gpr_29; ctx.gpr[5] = aot_gpr_5; ctx.gpr[6] = aot_gpr_6; ctx.gpr[7] = aot_gpr_7; ctx.gpr[31] = aot_gpr_31; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[15] = aot_fpr_15; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_7 = ctx.gpr[7]; aot_gpr_31 = ctx.gpr[31]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_15 = ctx.fpr[15]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[29] = aot_gpr_29; ctx.gpr[5] = aot_gpr_5; ctx.gpr[6] = aot_gpr_6; ctx.gpr[31] = aot_gpr_31; ctx.gpr[7] = aot_gpr_7; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[15] = aot_fpr_15; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_7 = ctx.gpr[7]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_15 = ctx.fpr[15]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -1592,7 +1593,7 @@ L_08AA88C4: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_31); aot_gpr_31 = (0x08AA8964u); aot_gpr_4 = (aot_gpr_29 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA8964u) goto L_08AA8964; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA8964u) goto L_08AA8964; AOT_REGCACHE_SYNC_OUT(); return; L_08AA8964: aot_gpr_6 = (aot_gpr_29 + static_cast(16)); @@ -1825,7 +1826,7 @@ L_08AA8C10: aot_gpr_4 = (0u | 4u); aot_gpr_31 = (0x08AA8C1Cu); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA8C1Cu) goto L_08AA8C1C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA8C1Cu) goto L_08AA8C1C; AOT_REGCACHE_SYNC_OUT(); return; L_08AA8C1C: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-2992))); @@ -1843,7 +1844,7 @@ L_08AA8C40: aot_gpr_4 = (0u | 4u); aot_gpr_31 = (0x08AA8C4Cu); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA8C4Cu) goto L_08AA8C4C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AA8C4Cu) goto L_08AA8C4C; AOT_REGCACHE_SYNC_OUT(); return; L_08AA8C4C: { const bool branch_taken = 0u == 0u; @@ -5146,7 +5147,7 @@ L_08AAB1EC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x08AAB200u); ctx.gpr[16] = (aot_gpr_4 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AAB200u) goto L_08AAB200; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AAB200u) goto L_08AAB200; AOT_REGCACHE_SYNC_OUT(); return; L_08AAB200: aot_gpr_4 = (ctx.gpr[16] | 0u); @@ -5543,7 +5544,7 @@ L_08AAB4CC: aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08AAB4DCu); aot_gpr_6 = (4u << 16u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AAB4DCu) goto L_08AAB4DC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AAB4DCu) goto L_08AAB4DC; AOT_REGCACHE_SYNC_OUT(); return; L_08AAB4DC: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(20))); @@ -5617,7 +5618,7 @@ L_08AAB54C: aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08AAB55Cu); aot_gpr_6 = (4u << 16u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AAB55Cu) goto L_08AAB55C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AAB55Cu) goto L_08AAB55C; AOT_REGCACHE_SYNC_OUT(); return; L_08AAB55C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); diff --git a/profiles/vcs/generated/generated_unit_0170.cpp b/profiles/vcs/generated/generated_unit_0170.cpp index c4c023a..cdf4d41 100644 --- a/profiles/vcs/generated/generated_unit_0170.cpp +++ b/profiles/vcs/generated/generated_unit_0170.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0170[4091] = { }; void recomp_unit_0170_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,29,5,6,16,31 fprs=12,13,14,15 gpr_occ=4081 fpr_occ=443 gpr_total=5778 fpr_total=661 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,29,5,6,31,16 fprs=12,13,14,15 gpr_occ=4123 fpr_occ=455 gpr_total=5857 fpr_total=673 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_6 = ctx.gpr[6]; - std::uint32_t aot_gpr_16 = ctx.gpr[16]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; + std::uint32_t aot_gpr_16 = ctx.gpr[16]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_14 = ctx.fpr[14]; float aot_fpr_15 = ctx.fpr[15]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[29] = aot_gpr_29; ctx.gpr[5] = aot_gpr_5; ctx.gpr[6] = aot_gpr_6; ctx.gpr[16] = aot_gpr_16; ctx.gpr[31] = aot_gpr_31; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[15] = aot_fpr_15; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_31 = ctx.gpr[31]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_15 = ctx.fpr[15]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[29] = aot_gpr_29; ctx.gpr[5] = aot_gpr_5; ctx.gpr[6] = aot_gpr_6; ctx.gpr[31] = aot_gpr_31; ctx.gpr[16] = aot_gpr_16; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[15] = aot_fpr_15; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_16 = ctx.gpr[16]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_15 = ctx.fpr[15]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -1300,7 +1301,7 @@ L_08AAC1A4: aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08AAC1C0u); aot_gpr_6 = (0u | 8192u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AAC1C0u) goto L_08AAC1C0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AAC1C0u) goto L_08AAC1C0; AOT_REGCACHE_SYNC_OUT(); return; L_08AAC1C0: aot_gpr_4 = (0u | 2048u); @@ -1578,7 +1579,7 @@ L_08AAC3C0: L_08AAC3D4: aot_gpr_31 = (0x08AAC3DCu); aot_gpr_4 = (ctx.gpr[28] + static_cast(-2880)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AAC3DCu) goto L_08AAC3DC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AAC3DCu) goto L_08AAC3DC; AOT_REGCACHE_SYNC_OUT(); return; L_08AAC3DC: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -1809,7 +1810,7 @@ L_08AAC58C: aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08AAC59Cu); aot_gpr_6 = (0u | 32u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AAC59Cu) goto L_08AAC59C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AAC59Cu) goto L_08AAC59C; AOT_REGCACHE_SYNC_OUT(); return; L_08AAC59C: ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); @@ -2494,7 +2495,7 @@ L_08AACBB4: L_08AACBC0: aot_gpr_31 = (0x08AACBC8u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AACBC8u) goto L_08AACBC8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AACBC8u) goto L_08AACBC8; AOT_REGCACHE_SYNC_OUT(); return; L_08AACBC8: { std::uint32_t aot_run_words[3]{}; @@ -3783,7 +3784,7 @@ L_08AAD878: L_08AAD884: aot_gpr_31 = (0x08AAD88Cu); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AAD88Cu) goto L_08AAD88C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AAD88Cu) goto L_08AAD88C; AOT_REGCACHE_SYNC_OUT(); return; L_08AAD88C: { std::uint32_t aot_run_words[3]{}; @@ -5176,7 +5177,7 @@ L_08AAE290: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(36), aot_gpr_4); aot_gpr_31 = (0x08AAE2A4u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-2848)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AAE2A4u) goto L_08AAE2A4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AAE2A4u) goto L_08AAE2A4; AOT_REGCACHE_SYNC_OUT(); return; L_08AAE2A4: aot_gpr_5 = (2232u << 16u); @@ -7047,7 +7048,7 @@ L_08AAEF2C: aot_gpr_4 = (aot_gpr_4 + static_cast(31984)); aot_gpr_31 = (0x08AAEF40u); aot_gpr_5 = (aot_gpr_5 + static_cast(-32)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AAEF40u) goto L_08AAEF40; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AAEF40u) goto L_08AAEF40; AOT_REGCACHE_SYNC_OUT(); return; L_08AAEF40: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), 0u); @@ -8966,7 +8967,7 @@ L_08AAFCB4: aot_fpr_14 = aot_fpr_12 + ctx.fpr[26]; aot_gpr_31 = (0x08AAFCF8u); aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AAFCF8u) goto L_08AAFCF8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AAFCF8u) goto L_08AAFCF8; AOT_REGCACHE_SYNC_OUT(); return; L_08AAFCF8: aot_gpr_4 = (ctx.gpr[18] | 0u); @@ -8993,7 +8994,7 @@ L_08AAFD28: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(12))); aot_gpr_31 = (0x08AAFD4Cu); aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AAFD4Cu) goto L_08AAFD4C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AAFD4Cu) goto L_08AAFD4C; AOT_REGCACHE_SYNC_OUT(); return; L_08AAFD4C: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); @@ -9029,7 +9030,7 @@ L_08AAFDAC: aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); aot_gpr_31 = (0x08AAFDC4u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AAFDC4u) goto L_08AAFDC4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AAFDC4u) goto L_08AAFDC4; AOT_REGCACHE_SYNC_OUT(); return; L_08AAFDC4: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); diff --git a/profiles/vcs/generated/generated_unit_0171.cpp b/profiles/vcs/generated/generated_unit_0171.cpp index 5686da2..35cd6aa 100644 --- a/profiles/vcs/generated/generated_unit_0171.cpp +++ b/profiles/vcs/generated/generated_unit_0171.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0171[4095] = { }; void recomp_unit_0171_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,31,16,6 fprs=12,0,13,16 gpr_occ=3979 fpr_occ=168 gpr_total=5876 fpr_total=191 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,31,6,16 fprs=12,0,13,16 gpr_occ=4106 fpr_occ=179 gpr_total=6077 fpr_total=202 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; - std::uint32_t aot_gpr_16 = ctx.gpr[16]; std::uint32_t aot_gpr_6 = ctx.gpr[6]; + std::uint32_t aot_gpr_16 = ctx.gpr[16]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_0 = ctx.fpr[0]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_16 = ctx.fpr[16]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[31] = aot_gpr_31; ctx.gpr[16] = aot_gpr_16; ctx.gpr[6] = aot_gpr_6; ctx.fpr[12] = aot_fpr_12; ctx.fpr[0] = aot_fpr_0; ctx.fpr[13] = aot_fpr_13; ctx.fpr[16] = aot_fpr_16; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_6 = ctx.gpr[6]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_0 = ctx.fpr[0]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_16 = ctx.fpr[16]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[31] = aot_gpr_31; ctx.gpr[6] = aot_gpr_6; ctx.gpr[16] = aot_gpr_16; ctx.fpr[12] = aot_fpr_12; ctx.fpr[0] = aot_fpr_0; ctx.fpr[13] = aot_fpr_13; ctx.fpr[16] = aot_fpr_16; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_16 = ctx.gpr[16]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_0 = ctx.fpr[0]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_16 = ctx.fpr[16]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -1660,7 +1661,7 @@ L_08AB03F4: L_08AB0410: aot_gpr_31 = (0x08AB0418u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-2760)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB0418u) goto L_08AB0418; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB0418u) goto L_08AB0418; AOT_REGCACHE_SYNC_OUT(); return; L_08AB0418: aot_gpr_4 = (ctx.gpr[28] + static_cast(10272)); @@ -2309,7 +2310,7 @@ L_08AB0984: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08AB09A0u); aot_gpr_6 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB09A0u) goto L_08AB09A0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB09A0u) goto L_08AB09A0; AOT_REGCACHE_SYNC_OUT(); return; L_08AB09A0: ctx.gpr[2] = (0u | 0u); @@ -2366,7 +2367,7 @@ L_08AB0A10: aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(12), aot_gpr_5); aot_gpr_31 = (0x08AB0A34u); aot_gpr_5 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB0A34u) goto L_08AB0A34; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB0A34u) goto L_08AB0A34; AOT_REGCACHE_SYNC_OUT(); return; L_08AB0A34: ctx.gpr[2] = (0u | 0u); @@ -3251,7 +3252,7 @@ L_08AB0F04: aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08AB0F14u); aot_gpr_6 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB0F14u) goto L_08AB0F14; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB0F14u) goto L_08AB0F14; AOT_REGCACHE_SYNC_OUT(); return; L_08AB0F14: ctx.gpr[2] = (0u | 0u); @@ -3678,7 +3679,7 @@ L_08AB110C: L_08AB1118: aot_gpr_31 = (0x08AB1120u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB1120u) goto L_08AB1120; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB1120u) goto L_08AB1120; AOT_REGCACHE_SYNC_OUT(); return; L_08AB1120: ctx.gpr[2] = (ctx.gpr[17] | 0u); @@ -4202,7 +4203,7 @@ L_08AB1568: aot_fpr_12 = std::bit_cast(aot_gpr_5); aot_gpr_31 = (0x08AB1584u); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB1584u) goto L_08AB1584; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB1584u) goto L_08AB1584; AOT_REGCACHE_SYNC_OUT(); return; L_08AB1584: ctx.gpr[2] = (ctx.gpr[18] | 0u); @@ -4227,7 +4228,7 @@ L_08AB15A0: aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(1036), aot_run_words); } aot_gpr_31 = (0x08AB15C8u); aot_gpr_16 = (aot_gpr_4 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB15C8u) goto L_08AB15C8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806634, 0u, 302u, 0x08806634u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB15C8u) goto L_08AB15C8; AOT_REGCACHE_SYNC_OUT(); return; L_08AB15C8: ctx.gpr[21] = (ctx.gpr[2] | 0u); @@ -5598,7 +5599,7 @@ L_08AB1F78: aot_gpr_5 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08AB1F88u); aot_gpr_6 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB1F88u) goto L_08AB1F88; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58100, 213u, 23u, 0x08B58100u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB1F88u) goto L_08AB1F88; AOT_REGCACHE_SYNC_OUT(); return; L_08AB1F88: { const bool branch_taken = ctx.gpr[2] != 0u; @@ -5708,7 +5709,7 @@ L_08AB2028: aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08AB203Cu); aot_gpr_6 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB203Cu) goto L_08AB203C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58100, 213u, 23u, 0x08B58100u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB203Cu) goto L_08AB203C; AOT_REGCACHE_SYNC_OUT(); return; L_08AB203C: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -5808,7 +5809,7 @@ L_08AB20E0: aot_fpr_12 = std::bit_cast(aot_gpr_5); aot_gpr_31 = (0x08AB20FCu); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB20FCu) goto L_08AB20FC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB20FCu) goto L_08AB20FC; AOT_REGCACHE_SYNC_OUT(); return; L_08AB20FC: { const bool branch_taken = 0u == 0u; @@ -5999,7 +6000,7 @@ L_08AB2270: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08AB227Cu); aot_gpr_5 = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB227Cu) goto L_08AB227C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806AE0, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB227Cu) goto L_08AB227C; AOT_REGCACHE_SYNC_OUT(); return; L_08AB227C: { const bool branch_taken = ctx.gpr[2] != 0u; @@ -6047,7 +6048,7 @@ L_08AB22BC: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08AB22D4u); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB22D4u) goto L_08AB22D4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB22D4u) goto L_08AB22D4; AOT_REGCACHE_SYNC_OUT(); return; L_08AB22D4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); @@ -6068,7 +6069,7 @@ L_08AB22E8: L_08AB22F4: aot_gpr_31 = (0x08AB22FCu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB22FCu) goto L_08AB22FC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB22FCu) goto L_08AB22FC; AOT_REGCACHE_SYNC_OUT(); return; L_08AB22FC: { const bool branch_taken = 0u == 0u; @@ -6131,7 +6132,7 @@ L_08AB235C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08AB2374u); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB2374u) goto L_08AB2374; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB2374u) goto L_08AB2374; AOT_REGCACHE_SYNC_OUT(); return; L_08AB2374: aot_gpr_4 = (ctx.gpr[23] - ctx.gpr[18]); @@ -6139,7 +6140,7 @@ L_08AB2374: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08AB2388u); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB2388u) goto L_08AB2388; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB2388u) goto L_08AB2388; AOT_REGCACHE_SYNC_OUT(); return; L_08AB2388: aot_gpr_4 = (ctx.gpr[22] | 0u); @@ -6234,7 +6235,7 @@ L_08AB243C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08AB245Cu); aot_gpr_5 = (0u + static_cast(-10004)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB245Cu) goto L_08AB245C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB245Cu) goto L_08AB245C; AOT_REGCACHE_SYNC_OUT(); return; L_08AB245C: aot_gpr_4 = (20224u << 16u); @@ -6309,7 +6310,7 @@ L_08AB24DC: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08AB24ECu); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB24ECu) goto L_08AB24EC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB24ECu) goto L_08AB24EC; AOT_REGCACHE_SYNC_OUT(); return; L_08AB24EC: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -6384,13 +6385,13 @@ L_08AB257C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08AB2588u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB2588u) goto L_08AB2588; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806654, 0u, 303u, 0x08806654u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB2588u) goto L_08AB2588; AOT_REGCACHE_SYNC_OUT(); return; L_08AB2588: aot_fpr_12 = std::bit_cast(0u); aot_gpr_31 = (0x08AB2594u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB2594u) goto L_08AB2594; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB2594u) goto L_08AB2594; AOT_REGCACHE_SYNC_OUT(); return; L_08AB2594: aot_gpr_5 = (2219u << 16u); @@ -6585,7 +6586,7 @@ L_08AB2718: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08AB2724u); aot_gpr_5 = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB2724u) goto L_08AB2724; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880682C, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB2724u) goto L_08AB2724; AOT_REGCACHE_SYNC_OUT(); return; L_08AB2724: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -6631,7 +6632,7 @@ L_08AB2768: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08AB2774u); aot_gpr_5 = (0u + static_cast(-2)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB2774u) goto L_08AB2774; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806654, 0u, 303u, 0x08806654u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB2774u) goto L_08AB2774; AOT_REGCACHE_SYNC_OUT(); return; L_08AB2774: { std::uint32_t aot_run_words[10]{}; @@ -6716,7 +6717,7 @@ L_08AB2848: ctx.gpr[19] = (0u | 0u); aot_gpr_31 = (0x08AB2854u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB2854u) goto L_08AB2854; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806634, 0u, 302u, 0x08806634u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB2854u) goto L_08AB2854; AOT_REGCACHE_SYNC_OUT(); return; L_08AB2854: aot_gpr_4 = (static_cast(ctx.gpr[2]) < 3 ? 1u : 0u); @@ -6744,7 +6745,7 @@ L_08AB286C: L_08AB2874: aot_gpr_31 = (0x08AB287Cu); aot_gpr_5 = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB287Cu) goto L_08AB287C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806888, 0u, 324u, 0x08806888u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB287Cu) goto L_08AB287C; AOT_REGCACHE_SYNC_OUT(); return; L_08AB287C: aot_gpr_4 = (0u | 6u); @@ -6927,7 +6928,7 @@ L_08AB29A8: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08AB29B8u); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB29B8u) goto L_08AB29B8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB29B8u) goto L_08AB29B8; AOT_REGCACHE_SYNC_OUT(); return; L_08AB29B8: ctx.gpr[2] = (0u | 2u); @@ -8183,7 +8184,7 @@ L_08AB32F8: L_08AB3304: aot_gpr_31 = (0x08AB330Cu); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_0)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB330Cu) goto L_08AB330C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB330Cu) goto L_08AB330C; AOT_REGCACHE_SYNC_OUT(); return; L_08AB330C: aot_gpr_4 = (aot_gpr_29 + static_cast(1060)); @@ -8245,7 +8246,7 @@ L_08AB336C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08AB3378u); aot_gpr_5 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB3378u) goto L_08AB3378; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880682C, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB3378u) goto L_08AB3378; AOT_REGCACHE_SYNC_OUT(); return; L_08AB3378: aot_gpr_31 = (0x08AB3380u); @@ -8271,7 +8272,7 @@ L_08AB3398: ctx.gpr[20] = (aot_gpr_29 + static_cast(1060)); aot_gpr_31 = (0x08AB33A4u); aot_gpr_4 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB33A4u) goto L_08AB33A4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB33A4u) goto L_08AB33A4; AOT_REGCACHE_SYNC_OUT(); return; L_08AB33A4: aot_gpr_4 = (aot_gpr_29 + static_cast(4)); @@ -8369,7 +8370,7 @@ L_08AB3458: L_08AB3464: aot_gpr_31 = (0x08AB346Cu); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB346Cu) goto L_08AB346C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB346Cu) goto L_08AB346C; AOT_REGCACHE_SYNC_OUT(); return; L_08AB346C: { std::uint32_t aot_run_words[3]{}; diff --git a/profiles/vcs/generated/generated_unit_0172.cpp b/profiles/vcs/generated/generated_unit_0172.cpp index 6153e28..6af0094 100644 --- a/profiles/vcs/generated/generated_unit_0172.cpp +++ b/profiles/vcs/generated/generated_unit_0172.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0172[4094] = { }; void recomp_unit_0172_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,31,28,29,16 fprs=12,13,20,14 gpr_occ=3898 fpr_occ=392 gpr_total=5421 fpr_total=393 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,31,29,16,2 fprs=12,13,20,14 gpr_occ=3867 fpr_occ=393 gpr_total=5875 fpr_total=394 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; - std::uint32_t aot_gpr_28 = ctx.gpr[28]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_16 = ctx.gpr[16]; + std::uint32_t aot_gpr_2 = ctx.gpr[2]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_20 = ctx.fpr[20]; float aot_fpr_14 = ctx.fpr[14]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[31] = aot_gpr_31; ctx.gpr[28] = aot_gpr_28; ctx.gpr[29] = aot_gpr_29; ctx.gpr[16] = aot_gpr_16; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; ctx.fpr[14] = aot_fpr_14; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_28 = ctx.gpr[28]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_16 = ctx.gpr[16]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_14 = ctx.fpr[14]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[31] = aot_gpr_31; ctx.gpr[29] = aot_gpr_29; ctx.gpr[16] = aot_gpr_16; ctx.gpr[2] = aot_gpr_2; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; ctx.fpr[14] = aot_fpr_14; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_2 = ctx.gpr[2]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_14 = ctx.fpr[14]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -1270,7 +1271,7 @@ LOCAL_DISPATCH: } } L_08AB4000: - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-7080))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7080))); { const bool branch_taken = aot_gpr_5 != 0u; // nop if (branch_taken) { @@ -1315,7 +1316,7 @@ L_08AB4034: } L_08AB4040: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08AB406C; } @@ -1323,7 +1324,7 @@ L_08AB4040: } L_08AB4048: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08AB406C; } @@ -1331,7 +1332,7 @@ L_08AB4048: } L_08AB4050: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08AB406C; } @@ -1347,14 +1348,14 @@ L_08AB4058: } L_08AB4060: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_08AB406C; } goto L_08AB4068; } L_08AB4068: - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); goto L_08AB406C; L_08AB406C: jump_target = aot_gpr_31; @@ -1391,11 +1392,11 @@ L_08AB4098: aot_gpr_16 = (aot_gpr_4 | 0u); { const std::uint32_t aot_run_words[8]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(4), aot_run_words); } - ctx.gpr[21] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-2316))); + ctx.gpr[21] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-2316))); ctx.gpr[17] = (0u | 0u); ctx.gpr[22] = (0u | 58u); ctx.gpr[23] = (0u | 57u); - ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-2320))); + ctx.gpr[20] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-2320))); ctx.gpr[18] = (aot_gpr_16 | 0u); goto L_08AB40DC; L_08AB40DC: @@ -1414,7 +1415,7 @@ L_08AB40E8: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08AB4100u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB4100u) goto L_08AB4100; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08908E78, 65u, 261u, 0x08908E78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB4100u) goto L_08AB4100; AOT_REGCACHE_SYNC_OUT(); return; L_08AB4100: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(2228))); @@ -1436,19 +1437,19 @@ L_08AB410C: L_08AB4114: aot_gpr_31 = (0x08AB411Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB411Cu) goto L_08AB411C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB411Cu) goto L_08AB411C; AOT_REGCACHE_SYNC_OUT(); return; L_08AB411C: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 0u); ctx.gpr[7] = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x08AB4130u); ctx.gpr[6] = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB4130u) goto L_08AB4130; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB4130u) goto L_08AB4130; AOT_REGCACHE_SYNC_OUT(); return; L_08AB4130: ctx.gpr[1] = (ctx.gpr[3] << 1u); - aot_gpr_4 = (ctx.gpr[2] >> 31u); + aot_gpr_4 = (aot_gpr_2 >> 31u); aot_gpr_5 = (static_cast(static_cast(ctx.gpr[3]) >> 31u)); aot_gpr_4 = (ctx.gpr[1] | aot_gpr_4); aot_gpr_4 = (aot_gpr_4 | 0u); @@ -1516,7 +1517,7 @@ L_08AB41B8: ctx.gpr[10] = (ctx.gpr[9] | 0u); ctx.gpr[9] = (ctx.gpr[8] & 255u); ctx.gpr[8] = (ctx.gpr[10] & 255u); - ctx.gpr[10] = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-7080))); + ctx.gpr[10] = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7080))); { const bool branch_taken = ctx.gpr[10] != 0u; // nop if (branch_taken) { @@ -1535,15 +1536,15 @@ L_08AB41D0: } L_08AB41DC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08AB429C; } goto L_08AB41E4; } L_08AB41E4: - ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[10] + static_cast(48))); - { const bool branch_taken = ctx.gpr[2] != aot_gpr_5; + aot_gpr_2 = (aot_mem.aot_direct_load32(ctx.gpr[10] + static_cast(48))); + { const bool branch_taken = aot_gpr_2 != aot_gpr_5; // nop if (branch_taken) { goto L_08AB422C; @@ -1551,8 +1552,8 @@ L_08AB41E4: goto L_08AB41F0; } L_08AB41F0: - ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[10] + static_cast(52))); - { const bool branch_taken = ctx.gpr[2] != ctx.gpr[6]; + aot_gpr_2 = (aot_mem.aot_direct_load32(ctx.gpr[10] + static_cast(52))); + { const bool branch_taken = aot_gpr_2 != ctx.gpr[6]; // nop if (branch_taken) { goto L_08AB422C; @@ -1586,7 +1587,7 @@ L_08AB4210: } L_08AB4218: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_08AB429C; } @@ -1597,7 +1598,7 @@ L_08AB4220: goto L_08AB4224; L_08AB4224: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08AB429C; } @@ -1605,8 +1606,8 @@ L_08AB4224: } L_08AB422C: ctx.gpr[11] = (ctx.gpr[11] + static_cast(1)); - ctx.gpr[2] = (static_cast(ctx.gpr[11]) < 16 ? 1u : 0u); - { const bool branch_taken = ctx.gpr[2] != 0u; + aot_gpr_2 = (static_cast(ctx.gpr[11]) < 16 ? 1u : 0u); + { const bool branch_taken = aot_gpr_2 != 0u; ctx.gpr[10] = (ctx.gpr[10] + static_cast(48)); if (branch_taken) { goto L_08AB41E4; @@ -1627,8 +1628,8 @@ L_08AB4248: goto L_08AB4250; } L_08AB4250: - ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[10] + static_cast(48))); - { const bool branch_taken = ctx.gpr[2] == 0u; + aot_gpr_2 = (aot_mem.aot_direct_load32(ctx.gpr[10] + static_cast(48))); + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08AB426C; @@ -1670,13 +1671,13 @@ L_08AB4274: const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7660))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_mem.aot_direct_store32(ctx.gpr[10] + static_cast(56), aot_gpr_4); aot_mem.aot_direct_store8(ctx.gpr[10] + static_cast(80), static_cast(ctx.gpr[9])); aot_mem.aot_direct_store8(ctx.gpr[10] + static_cast(81), static_cast(ctx.gpr[8])); goto L_08AB4298; L_08AB4298: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_08AB429C; L_08AB429C: jump_target = aot_gpr_31; @@ -1687,7 +1688,7 @@ L_08AB429C: AOT_REGCACHE_SYNC_OUT(); return; L_08AB42A4: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-7080))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7080))); { const std::uint32_t aot_run_words[6]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } { const bool branch_taken = aot_gpr_5 == 0u; @@ -1722,7 +1723,7 @@ L_08AB42E4: } L_08AB42F0: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(56))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7660))); + ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_5 = (aot_gpr_5 + static_cast(500)); aot_gpr_5 = (aot_gpr_5 < ctx.gpr[6] ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; @@ -1753,7 +1754,7 @@ L_08AB4328: goto L_08AB432C; L_08AB432C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(56))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7660))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_4 = (aot_gpr_4 + static_cast(10000)); aot_gpr_4 = (aot_gpr_4 < aot_gpr_5 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; @@ -1795,7 +1796,7 @@ L_08AB435C: AOT_REGCACHE_SYNC_OUT(); return; L_08AB437C: aot_gpr_29 = (aot_gpr_29 + static_cast(-144)); - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-7080))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7080))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(96), std::bit_cast(aot_fpr_20)); aot_fpr_20 = std::bit_cast(std::bit_cast(aot_fpr_12)); { const std::uint32_t aot_run_words[10]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; @@ -1808,7 +1809,7 @@ L_08AB437C: goto L_08AB43BC; } L_08AB43BC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-15976))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15976))); ctx.gpr[23] = (0u | 0u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); ctx.gpr[13] = (aot_gpr_5 + static_cast(-1)); @@ -1829,7 +1830,7 @@ L_08AB43D4: } L_08AB43DC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08AB4654; } @@ -1843,7 +1844,7 @@ L_08AB43E4: ctx.gpr[9] = (0u | 10u); ctx.gpr[10] = (0u | 11u); ctx.gpr[11] = (0u | 117u); - ctx.gpr[2] = (0u | 118u); + aot_gpr_2 = (0u | 118u); ctx.gpr[3] = (0u | 119u); ctx.gpr[12] = (aot_gpr_29 + static_cast(16)); ctx.gpr[15] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -1948,7 +1949,7 @@ L_08AB448C: } L_08AB4498: ctx.gpr[24] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(86)))))); - { const bool branch_taken = ctx.gpr[24] == ctx.gpr[2]; + { const bool branch_taken = ctx.gpr[24] == aot_gpr_2; // nop if (branch_taken) { goto L_08AB44B0; @@ -2026,7 +2027,7 @@ L_08AB44EC: goto L_08AB4500; } L_08AB4500: - ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-15972))); + ctx.gpr[20] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(8))); ctx.gpr[18] = (aot_gpr_4 + static_cast(-1)); { const bool branch_taken = aot_gpr_4 == 0u; @@ -2153,7 +2154,7 @@ L_08AB45C8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB45D0u) goto L_08AB45D0; AOT_REGCACHE_SYNC_OUT(); return; L_08AB45D0: - { const bool branch_taken = ctx.gpr[17] == ctx.gpr[2]; + { const bool branch_taken = ctx.gpr[17] == aot_gpr_2; // nop if (branch_taken) { goto L_08AB463C; @@ -2244,7 +2245,7 @@ L_08AB463C: goto L_08AB4650; } L_08AB4650: - ctx.gpr[2] = (ctx.gpr[23] | 0u); + aot_gpr_2 = (ctx.gpr[23] | 0u); goto L_08AB4654; L_08AB4654: { std::uint32_t aot_run_words[11]{}; @@ -2271,7 +2272,7 @@ L_08AB4688: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), ctx.gpr[19]); ctx.gpr[19] = (ctx.gpr[7] & 255u); - ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-7080))); + ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7080))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[17]); aot_gpr_16 = (aot_gpr_4 | 0u); @@ -2288,7 +2289,7 @@ L_08AB4688: goto L_08AB46C4; } L_08AB46C4: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_28 + static_cast(9892))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[28] + static_cast(9892))); aot_gpr_5 = (0u | 1u); aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; @@ -2326,7 +2327,7 @@ L_08AB46F8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0170_entry, 170u, 546u, 0x08AAEA0Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB4700u) goto L_08AB4700; AOT_REGCACHE_SYNC_OUT(); return; L_08AB4700: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (static_cast(ctx.gpr[21]) < static_cast(aot_gpr_4) ? 1u : 0u); if (aot_gpr_5 != 0u) { aot_gpr_4 = (0u | 100u); @@ -2720,7 +2721,7 @@ L_08AB4AB4: } L_08AB4ABC: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), aot_gpr_5); - aot_gpr_4 = (aot_gpr_28 + static_cast(7768)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08AB4AD0u); ctx.gpr[6] = (ctx.gpr[18] | 0u); @@ -2967,8 +2968,8 @@ L_08AB4C6C: ctx.gpr[10] = (ctx.gpr[10] + aot_gpr_4); ctx.gpr[11] = (ctx.gpr[7] << 5u); ctx.gpr[11] = (ctx.gpr[11] + aot_gpr_4); - ctx.gpr[2] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[11] + static_cast(0)))))); - aot_mem.aot_direct_store16(ctx.gpr[10] + static_cast(0), static_cast(ctx.gpr[2])); + aot_gpr_2 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[11] + static_cast(0)))))); + aot_mem.aot_direct_store16(ctx.gpr[10] + static_cast(0), static_cast(aot_gpr_2)); ctx.gpr[11] = (ctx.gpr[11] + static_cast(16)); { const std::uint32_t vfpu_address = ctx.gpr[11] + static_cast(0); std::uint32_t vfpu_words[4]{}; @@ -3065,16 +3066,16 @@ L_08AB4D24: goto L_08AB4D2C; } L_08AB4D2C: - ctx.gpr[2] = (ctx.gpr[6] << 16u); + aot_gpr_2 = (ctx.gpr[6] << 16u); { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (static_cast(static_cast(ctx.gpr[2]) >> 16u)); + aot_gpr_2 = (static_cast(static_cast(aot_gpr_2) >> 16u)); if (branch_taken) { goto L_08AB4D3C; } goto L_08AB4D38; } L_08AB4D38: - ctx.gpr[2] = (0u + static_cast(-1)); + aot_gpr_2 = (0u + static_cast(-1)); goto L_08AB4D3C; L_08AB4D3C: jump_target = aot_gpr_31; @@ -3118,14 +3119,14 @@ L_08AB4D70: aot_gpr_5 = (aot_gpr_5 + static_cast(-8672)); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); jump_target = aot_gpr_31; - ctx.gpr[2] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); + aot_gpr_2 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08AB4D90: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - ctx.gpr[2] = (aot_gpr_4 | 0u); + aot_gpr_2 = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_5); aot_gpr_4 = (0u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), ctx.gpr[6]); @@ -3144,13 +3145,13 @@ L_08AB4D90: aot_gpr_4 = (aot_gpr_16 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08AB4DE4u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0212_entry, 212u, 897u, 0x08B57578u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB4DE4u) goto L_08AB4DE4; AOT_REGCACHE_SYNC_OUT(); return; L_08AB4DE4: aot_gpr_31 = (0x08AB4DECu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB4DECu) goto L_08AB4DEC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0893685C, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB4DECu) goto L_08AB4DEC; AOT_REGCACHE_SYNC_OUT(); return; L_08AB4DEC: aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); @@ -3165,7 +3166,7 @@ L_08AB4DFC: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-2260))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-2260))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -3175,7 +3176,7 @@ L_08AB4DFC: goto L_08AB4E18; } L_08AB4E18: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5864))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5864))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -3190,24 +3191,24 @@ L_08AB4E24: AOT_REGCACHE_SYNC_OUT(); return; L_08AB4E2C: aot_gpr_31 = (0x08AB4E34u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5864))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5864))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0084_entry, 84u, 206u, 0x08954E4Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB4E34u) goto L_08AB4E34; AOT_REGCACHE_SYNC_OUT(); return; L_08AB4E34: aot_gpr_5 = (12u << 16u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (aot_gpr_5 + static_cast(-12432)); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-2260), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-2260), aot_gpr_2); aot_gpr_5 = (aot_gpr_4 + aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-2256), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-2256), aot_gpr_5); goto L_08AB4E4C; L_08AB4E4C: aot_gpr_5 = (aot_gpr_16 + static_cast(63)); ctx.gpr[6] = (0u + static_cast(-64)); aot_gpr_5 = (aot_gpr_5 & ctx.gpr[6]); aot_gpr_5 = (aot_gpr_4 + aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-2260), aot_gpr_5); - ctx.gpr[2] = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-2260), aot_gpr_5); + aot_gpr_2 = (aot_gpr_4 | 0u); aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; @@ -3227,7 +3228,7 @@ L_08AB4E7C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); ctx.gpr[17] = (aot_gpr_4 | 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-2292))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-2292))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); { const bool branch_taken = aot_gpr_4 == 0u; @@ -3243,8 +3244,8 @@ L_08AB4E9C: goto L_08AB4E74; L_08AB4EA4: { const std::uint32_t aot_run_words[3]{ctx.gpr[17], ctx.gpr[17], ctx.gpr[17]}; - aot_mem.aot_direct_store32_block(aot_gpr_28 + static_cast(-2292), aot_run_words); } - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-2272), aot_gpr_16); + aot_mem.aot_direct_store32_block(ctx.gpr[28] + static_cast(-2292), aot_run_words); } + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-2272), aot_gpr_16); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; @@ -3259,16 +3260,16 @@ L_08AB4EA4: AOT_REGCACHE_SYNC_OUT(); return; L_08AB4EC8: jump_target = aot_gpr_31; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-2292))); + aot_gpr_2 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-2292))); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08AB4ED0: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-2288))); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-2292))); + aot_gpr_2 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-2288))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-2292))); jump_target = aot_gpr_31; - ctx.gpr[2] = (ctx.gpr[2] - aot_gpr_4); + aot_gpr_2 = (aot_gpr_2 - aot_gpr_4); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -3302,49 +3303,49 @@ L_08AB4F08: goto L_08AB4F10; } L_08AB4F10: - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-2288))); + ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-2288))); aot_mem.aot_direct_store8(ctx.gpr[6] + static_cast(0), static_cast(aot_gpr_5)); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-2288))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-2288))); aot_gpr_5 = (aot_gpr_5 + static_cast(1)); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-2288), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-2288), aot_gpr_5); ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(1)))))); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(0), static_cast(ctx.gpr[6])); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-2288))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-2288))); ctx.gpr[7] = (aot_gpr_16 + static_cast(3)); aot_gpr_5 = (aot_gpr_5 + static_cast(1)); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-2288), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-2288), aot_gpr_5); ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(2)))))); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(0), static_cast(ctx.gpr[6])); aot_gpr_5 = (0u + static_cast(-4)); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-2288))); + ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-2288))); ctx.gpr[18] = (ctx.gpr[7] & aot_gpr_5); aot_gpr_5 = (ctx.gpr[6] + static_cast(1)); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-2288), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-2288), aot_gpr_5); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(3)))))); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(0), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-2288))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-2288))); aot_gpr_5 = (0u | 0u); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-2288), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-2288), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_16); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-2288))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-2288))); ctx.gpr[6] = (ctx.gpr[18] | 0u); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); aot_gpr_31 = (0x08AB4F88u); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-2288), aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB4F88u) goto L_08AB4F88; + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-2288), aot_gpr_4); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB4F88u) goto L_08AB4F88; AOT_REGCACHE_SYNC_OUT(); return; L_08AB4F88: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-2288))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-2288))); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08AB4F98u); ctx.gpr[6] = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB4F98u) goto L_08AB4F98; AOT_REGCACHE_SYNC_OUT(); return; L_08AB4F98: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-2288))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-2288))); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[18]); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-2288), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-2288), aot_gpr_4); goto L_08AB4FA4; L_08AB4FA4: { std::uint32_t aot_run_words[4]{}; @@ -3363,14 +3364,14 @@ L_08AB4FA4: L_08AB4FBC: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_5 = (aot_gpr_4 | 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-2284))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-2284))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); aot_gpr_31 = (0x08AB4FD4u); ctx.gpr[6] = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 190u, 0x08B58B3Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB4FD4u) goto L_08AB4FD4; AOT_REGCACHE_SYNC_OUT(); return; L_08AB4FD4: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08AB4FE4; @@ -3379,14 +3380,14 @@ L_08AB4FD4: } L_08AB4FDC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08AB4FE8; } goto L_08AB4FE4; } L_08AB4FE4: - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); goto L_08AB4FE8; L_08AB4FE8: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -3397,25 +3398,25 @@ L_08AB4FE8: ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08AB4FF4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-2284))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-2284))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); jump_target = aot_gpr_31; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); + aot_gpr_2 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08AB5004: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-2284))); + aot_gpr_2 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-2284))); jump_target = aot_gpr_31; - ctx.gpr[2] = (ctx.gpr[2] + static_cast(8)); + aot_gpr_2 = (aot_gpr_2 + static_cast(8)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08AB5010: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-2284))); + ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-2284))); ctx.gpr[7] = (aot_gpr_5 | 0u); aot_gpr_5 = (ctx.gpr[6] + static_cast(4)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); @@ -3440,7 +3441,7 @@ L_08AB5040: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB5054u) goto L_08AB5054; AOT_REGCACHE_SYNC_OUT(); return; L_08AB5054: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-2284))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-2284))); aot_gpr_5 = (aot_gpr_16 + aot_gpr_4); { const bool branch_taken = 0u == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(8)); @@ -3457,12 +3458,12 @@ L_08AB5064: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB5074u) goto L_08AB5074; AOT_REGCACHE_SYNC_OUT(); return; L_08AB5074: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-2284))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-2284))); aot_gpr_5 = (aot_gpr_16 + aot_gpr_4); aot_gpr_5 = (aot_gpr_5 + static_cast(8)); goto L_08AB5080; L_08AB5080: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-2284), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-2284), aot_gpr_5); aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; @@ -3472,7 +3473,7 @@ L_08AB5080: ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08AB5094: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-2284))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-2284))); aot_gpr_5 = (0u + static_cast(-4)); ctx.gpr[6] = (aot_gpr_4 + static_cast(4)); ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(0))); @@ -3481,7 +3482,7 @@ L_08AB5094: aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + static_cast(8)); jump_target = aot_gpr_31; - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-2284), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-2284), aot_gpr_4); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -3493,7 +3494,7 @@ L_08AB50BC: // nop goto L_08AB4EC8; L_08AB50CC: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08AB50F4; @@ -3506,20 +3507,20 @@ L_08AB50D4: goto L_08AB4EC8; L_08AB50DC: aot_gpr_31 = (0x08AB50E4u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); goto L_08AB4E74; L_08AB50E4: { const std::uint32_t aot_run_words[3]{0u, 0u, 0u}; - aot_mem.aot_direct_store32_block(aot_gpr_28 + static_cast(-2292), aot_run_words); } - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-2272), 0u); + aot_mem.aot_direct_store32_block(ctx.gpr[28] + static_cast(-2292), aot_run_words); } + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-2272), 0u); goto L_08AB50F4; L_08AB50F4: aot_gpr_31 = (0x08AB50FCu); // nop goto L_08AB5610; L_08AB50FC: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-2256), 0u); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-2260), 0u); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-2256), 0u); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-2260), 0u); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -3553,8 +3554,8 @@ L_08AB5134: AOT_REGCACHE_SYNC_OUT(); return; L_08AB513C: aot_gpr_29 = (aot_gpr_29 + static_cast(-224)); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(7876), 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7872))); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7876), 0u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7872))); { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(200), aot_run_words); } { const bool branch_taken = aot_gpr_4 != 0u; @@ -3565,9 +3566,9 @@ L_08AB513C: goto L_08AB515C; } L_08AB515C: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(7872), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7872), aot_gpr_4); aot_gpr_31 = (0x08AB5168u); - aot_gpr_4 = (aot_gpr_28 + static_cast(7864)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(7864)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0112_entry, 112u, 464u, 0x089C6318u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB5168u) goto L_08AB5168; AOT_REGCACHE_SYNC_OUT(); return; L_08AB5168: @@ -3577,10 +3578,10 @@ L_08AB5168: AOT_REGCACHE_SYNC_OUT(); return; L_08AB5170: aot_gpr_31 = (0x08AB5178u); - aot_gpr_4 = (aot_gpr_28 + static_cast(-2168)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(-2168)); goto L_08AB4FBC; L_08AB5178: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08AB5324; @@ -3594,10 +3595,10 @@ L_08AB5180: goto L_08AB5010; L_08AB518C: aot_gpr_31 = (0x08AB5194u); - aot_gpr_4 = (aot_gpr_28 + static_cast(-2160)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(-2160)); goto L_08AB4FBC; L_08AB5194: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08AB5314; @@ -3610,16 +3611,16 @@ L_08AB519C: goto L_08AB5004; L_08AB51A4: aot_gpr_31 = (0x08AB51ACu); - aot_gpr_16 = (ctx.gpr[2] | 0u); + aot_gpr_16 = (aot_gpr_2 | 0u); goto L_08AB4FF4; L_08AB51AC: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08AB51B8u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 646u, 0x088636C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB51B8u) goto L_08AB51B8; AOT_REGCACHE_SYNC_OUT(); return; L_08AB51B8: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08AB5304; @@ -3636,10 +3637,10 @@ L_08AB51C8: goto L_08AB6A10; L_08AB51D0: aot_gpr_31 = (0x08AB51D8u); - aot_gpr_4 = (aot_gpr_28 + static_cast(-2152)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(-2152)); goto L_08AB4FBC; L_08AB51D8: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08AB52F4; @@ -3652,12 +3653,12 @@ L_08AB51E0: goto L_08AB5004; L_08AB51E8: aot_gpr_31 = (0x08AB51F0u); - aot_gpr_16 = (ctx.gpr[2] | 0u); + aot_gpr_16 = (aot_gpr_2 | 0u); goto L_08AB4FF4; L_08AB51F0: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08AB51FCu); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0090_entry, 90u, 490u, 0x0896DF60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB51FCu) goto L_08AB51FC; AOT_REGCACHE_SYNC_OUT(); return; L_08AB51FC: @@ -3676,10 +3677,10 @@ L_08AB520C: AOT_REGCACHE_SYNC_OUT(); return; L_08AB5214: aot_gpr_31 = (0x08AB521Cu); - aot_gpr_4 = (aot_gpr_28 + static_cast(-2144)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(-2144)); goto L_08AB4FBC; L_08AB521C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08AB52E4; @@ -3687,7 +3688,7 @@ L_08AB521C: goto L_08AB5224; } L_08AB5224: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(7800))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7800))); aot_gpr_5 = (aot_gpr_4 + aot_gpr_4); ctx.gpr[6] = (aot_gpr_4 << 8u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); @@ -3700,13 +3701,13 @@ L_08AB5224: goto L_08AB5004; L_08AB524C: aot_gpr_31 = (0x08AB5254u); - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); goto L_08AB4FF4; L_08AB5254: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08AB5264u); - ctx.gpr[6] = (ctx.gpr[2] | 0u); + ctx.gpr[6] = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 204u, 0x08961158u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB5264u) goto L_08AB5264; AOT_REGCACHE_SYNC_OUT(); return; L_08AB5264: @@ -3715,10 +3716,10 @@ L_08AB5264: goto L_08AB5094; L_08AB526C: aot_gpr_31 = (0x08AB5274u); - aot_gpr_4 = (aot_gpr_28 + static_cast(-2136)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(-2136)); goto L_08AB4FBC; L_08AB5274: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08AB52D4; @@ -3731,12 +3732,12 @@ L_08AB527C: goto L_08AB5004; L_08AB5284: aot_gpr_31 = (0x08AB528Cu); - aot_gpr_16 = (ctx.gpr[2] | 0u); + aot_gpr_16 = (aot_gpr_2 | 0u); goto L_08AB4FF4; L_08AB528C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08AB5298u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0099_entry, 99u, 723u, 0x08992FD4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB5298u) goto L_08AB5298; AOT_REGCACHE_SYNC_OUT(); return; L_08AB5298: @@ -3745,10 +3746,10 @@ L_08AB5298: goto L_08AB5094; L_08AB52A0: aot_gpr_31 = (0x08AB52A8u); - aot_gpr_4 = (aot_gpr_28 + static_cast(-2128)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(-2128)); goto L_08AB4FBC; L_08AB52A8: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08AB52C4; @@ -3756,7 +3757,7 @@ L_08AB52A8: goto L_08AB52B0; } L_08AB52B0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -3778,7 +3779,7 @@ L_08AB52C4: goto L_08AB50BC; L_08AB52CC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08AB53D0; } @@ -3790,7 +3791,7 @@ L_08AB52D4: goto L_08AB50BC; L_08AB52DC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08AB53D0; } @@ -3802,7 +3803,7 @@ L_08AB52E4: goto L_08AB50BC; L_08AB52EC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08AB53D0; } @@ -3814,7 +3815,7 @@ L_08AB52F4: goto L_08AB50BC; L_08AB52FC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08AB53D0; } @@ -3826,7 +3827,7 @@ L_08AB5304: goto L_08AB50BC; L_08AB530C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08AB53D0; } @@ -3838,7 +3839,7 @@ L_08AB5314: goto L_08AB50BC; L_08AB531C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08AB53D0; } @@ -3850,7 +3851,7 @@ L_08AB5324: goto L_08AB50BC; L_08AB532C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08AB53D0; } @@ -3863,17 +3864,17 @@ L_08AB5334: AOT_REGCACHE_SYNC_OUT(); return; L_08AB533C: aot_gpr_31 = (0x08AB5344u); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); goto L_08AB5004; L_08AB5344: aot_gpr_31 = (0x08AB534Cu); - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); goto L_08AB4FF4; L_08AB534C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08AB535Cu); - ctx.gpr[6] = (ctx.gpr[2] | 0u); + ctx.gpr[6] = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0002_entry, 2u, 408u, 0x0880DBC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB535Cu) goto L_08AB535C; AOT_REGCACHE_SYNC_OUT(); return; L_08AB535C: @@ -3886,9 +3887,9 @@ L_08AB5364: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 526u, 0x08AD3110u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB536Cu) goto L_08AB536C; AOT_REGCACHE_SYNC_OUT(); return; L_08AB536C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_16 = (aot_gpr_28 + static_cast(7768)); + aot_gpr_16 = (ctx.gpr[28] + static_cast(7768)); if (branch_taken) { goto L_08AB5384; } @@ -3900,7 +3901,7 @@ L_08AB5378: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 466u, 0x08B65E44u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB5380u) goto L_08AB5380; AOT_REGCACHE_SYNC_OUT(); return; L_08AB5380: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); goto L_08AB5384; L_08AB5384: aot_gpr_31 = (0x08AB538Cu); @@ -3908,15 +3909,15 @@ L_08AB5384: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0112_entry, 112u, 708u, 0x089C70A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB538Cu) goto L_08AB538C; AOT_REGCACHE_SYNC_OUT(); return; L_08AB538C: - aot_gpr_5 = (ctx.gpr[2] & 255u); + aot_gpr_5 = (aot_gpr_2 & 255u); aot_gpr_31 = (0x08AB5398u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 520u, 0x08A060BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB5398u) goto L_08AB5398; AOT_REGCACHE_SYNC_OUT(); return; L_08AB5398: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_16 = (aot_gpr_28 + static_cast(7768)); + aot_gpr_16 = (ctx.gpr[28] + static_cast(7768)); if (branch_taken) { goto L_08AB53B0; } @@ -3928,7 +3929,7 @@ L_08AB53A4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 466u, 0x08B65E44u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB53ACu) goto L_08AB53AC; AOT_REGCACHE_SYNC_OUT(); return; L_08AB53AC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); goto L_08AB53B0; L_08AB53B0: aot_gpr_31 = (0x08AB53B8u); @@ -3936,7 +3937,7 @@ L_08AB53B0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0112_entry, 112u, 710u, 0x089C70B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB53B8u) goto L_08AB53B8; AOT_REGCACHE_SYNC_OUT(); return; L_08AB53B8: - aot_gpr_5 = (ctx.gpr[2] & 255u); + aot_gpr_5 = (aot_gpr_2 & 255u); aot_gpr_31 = (0x08AB53C4u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 512u, 0x08A0605Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB53C4u) goto L_08AB53C4; @@ -3946,7 +3947,7 @@ L_08AB53C4: // nop goto L_08AB50BC; L_08AB53CC: - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); goto L_08AB53D0; L_08AB53D0: { std::uint32_t aot_run_words[3]{}; @@ -3971,7 +3972,7 @@ L_08AB53E4: goto L_08AB4EC8; L_08AB53FC: aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08AB540Cu); ctx.gpr[6] = (0u | 28u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB540Cu) goto L_08AB540C; @@ -3981,7 +3982,7 @@ L_08AB540C: // nop goto L_08AB50BC; L_08AB5414: - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; @@ -4003,9 +4004,9 @@ L_08AB5438: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB5440u) goto L_08AB5440; AOT_REGCACHE_SYNC_OUT(); return; L_08AB5440: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(3160))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(3160))); aot_gpr_4 = (2237u << 16u); - aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(3264), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(aot_gpr_2 + static_cast(3264), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08AB5454u); aot_gpr_4 = (aot_gpr_4 + static_cast(-1008)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0033_entry, 33u, 725u, 0x0888A9E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB5454u) goto L_08AB5454; @@ -4020,7 +4021,7 @@ L_08AB5454: AOT_REGCACHE_SYNC_OUT(); return; L_08AB5460: jump_target = aot_gpr_31; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -4340,7 +4341,7 @@ L_08AB5604: AOT_REGCACHE_SYNC_OUT(); return; L_08AB5610: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-2216))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-2216))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -4354,10 +4355,10 @@ L_08AB5624: // nop goto L_08AB4E74; L_08AB562C: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-2216), 0u); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-2216), 0u); goto L_08AB5630; L_08AB5630: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-2212))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-2212))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -4370,10 +4371,10 @@ L_08AB563C: // nop goto L_08AB4E74; L_08AB5644: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-2212), 0u); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-2212), 0u); goto L_08AB5648; L_08AB5648: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-2204))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-2204))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -4386,10 +4387,10 @@ L_08AB5654: // nop goto L_08AB4E74; L_08AB565C: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-2204), 0u); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-2204), 0u); goto L_08AB5660; L_08AB5660: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-2208))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-2208))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -4402,10 +4403,10 @@ L_08AB566C: // nop goto L_08AB4E74; L_08AB5674: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-2208), 0u); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-2208), 0u); goto L_08AB5678; L_08AB5678: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-2200))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-2200))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -4418,7 +4419,7 @@ L_08AB5684: // nop goto L_08AB4E74; L_08AB568C: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-2200), 0u); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-2200), 0u); goto L_08AB5690; L_08AB5690: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -4437,7 +4438,7 @@ L_08AB569C: ctx.pc = 0x08B730ACu; AOT_REGCACHE_SYNC_OUT(); return; L_08AB56B0: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = static_cast(aot_gpr_4) >= 0; // nop if (branch_taken) { @@ -4461,7 +4462,7 @@ L_08AB56D0: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(7364))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7364))); { const bool branch_taken = aot_gpr_5 == 0u; ctx.gpr[18] = (aot_gpr_4 | 0u); if (branch_taken) { @@ -4485,7 +4486,7 @@ L_08AB5700: goto L_08AB570C; } L_08AB570C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7688))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7688))); aot_gpr_16 = (2237u << 16u); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_16 = (aot_gpr_16 + static_cast(-28416)); @@ -4512,15 +4513,15 @@ L_08AB5724: } L_08AB572C: aot_gpr_4 = (0u | 1u); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(7688), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7688), aot_gpr_4); aot_gpr_31 = (0x08AB573Cu); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0010_entry, 10u, 286u, 0x0882D794u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB573Cu) goto L_08AB573C; AOT_REGCACHE_SYNC_OUT(); return; L_08AB573C: aot_gpr_31 = (0x08AB5744u); - aot_gpr_4 = (aot_gpr_28 + static_cast(-2192)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB5744u) goto L_08AB5744; + aot_gpr_4 = (ctx.gpr[28] + static_cast(-2192)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB5744u) goto L_08AB5744; AOT_REGCACHE_SYNC_OUT(); return; L_08AB5744: aot_gpr_31 = (0x08AB574Cu); @@ -4528,7 +4529,7 @@ L_08AB5744: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0010_entry, 10u, 611u, 0x0882E9B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB574Cu) goto L_08AB574C; AOT_REGCACHE_SYNC_OUT(); return; L_08AB574C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08AB5A58; @@ -4544,9 +4545,9 @@ L_08AB5754: goto L_08AB575C; } L_08AB575C: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-2264))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-2264))); { const bool branch_taken = aot_gpr_5 != 0u; - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7688))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7688))); if (branch_taken) { goto L_08AB5798; } @@ -4562,18 +4563,18 @@ L_08AB5768: } L_08AB5770: aot_gpr_4 = (0u | 1u); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(7688), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7688), aot_gpr_4); aot_gpr_31 = (0x08AB5780u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0010_entry, 10u, 286u, 0x0882D794u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB5780u) goto L_08AB5780; AOT_REGCACHE_SYNC_OUT(); return; L_08AB5780: aot_gpr_31 = (0x08AB5788u); - aot_gpr_4 = (aot_gpr_28 + static_cast(-2192)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB5788u) goto L_08AB5788; + aot_gpr_4 = (ctx.gpr[28] + static_cast(-2192)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB5788u) goto L_08AB5788; AOT_REGCACHE_SYNC_OUT(); return; L_08AB5788: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7688))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7688))); aot_gpr_5 = (0u | 1u); goto L_08AB5790; L_08AB5790: @@ -4595,18 +4596,18 @@ L_08AB5798: } L_08AB57A4: aot_gpr_4 = (0u | 1u); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(7688), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7688), aot_gpr_4); aot_gpr_31 = (0x08AB57B4u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0010_entry, 10u, 286u, 0x0882D794u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB57B4u) goto L_08AB57B4; AOT_REGCACHE_SYNC_OUT(); return; L_08AB57B4: aot_gpr_31 = (0x08AB57BCu); - aot_gpr_4 = (aot_gpr_28 + static_cast(-2192)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB57BCu) goto L_08AB57BC; + aot_gpr_4 = (ctx.gpr[28] + static_cast(-2192)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB57BCu) goto L_08AB57BC; AOT_REGCACHE_SYNC_OUT(); return; L_08AB57BC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7688))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7688))); goto L_08AB57C0; L_08AB57C0: aot_gpr_5 = (0u | 1u); @@ -4623,15 +4624,15 @@ L_08AB57CC: } L_08AB57D4: aot_gpr_4 = (0u | 1u); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(7688), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7688), aot_gpr_4); aot_gpr_31 = (0x08AB57E4u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0010_entry, 10u, 286u, 0x0882D794u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB57E4u) goto L_08AB57E4; AOT_REGCACHE_SYNC_OUT(); return; L_08AB57E4: aot_gpr_31 = (0x08AB57ECu); - aot_gpr_4 = (aot_gpr_28 + static_cast(-2192)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB57ECu) goto L_08AB57EC; + aot_gpr_4 = (ctx.gpr[28] + static_cast(-2192)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB57ECu) goto L_08AB57EC; AOT_REGCACHE_SYNC_OUT(); return; L_08AB57EC: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -4663,9 +4664,9 @@ L_08AB5808: goto L_08AB5814; } L_08AB5814: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7688))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7688))); { const bool branch_taken = aot_gpr_4 != 0u; - ctx.gpr[18] = (aot_gpr_28 + static_cast(-2120)); + ctx.gpr[18] = (ctx.gpr[28] + static_cast(-2120)); if (branch_taken) { goto L_08AB5838; } @@ -4673,15 +4674,15 @@ L_08AB5814: } L_08AB5820: aot_gpr_4 = (0u | 1u); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(7688), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7688), aot_gpr_4); aot_gpr_31 = (0x08AB5830u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0010_entry, 10u, 286u, 0x0882D794u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB5830u) goto L_08AB5830; AOT_REGCACHE_SYNC_OUT(); return; L_08AB5830: aot_gpr_31 = (0x08AB5838u); - aot_gpr_4 = (aot_gpr_28 + static_cast(-2192)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB5838u) goto L_08AB5838; + aot_gpr_4 = (ctx.gpr[28] + static_cast(-2192)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB5838u) goto L_08AB5838; AOT_REGCACHE_SYNC_OUT(); return; L_08AB5838: aot_gpr_4 = (0u | 1u); @@ -4707,9 +4708,9 @@ L_08AB5850: goto L_08AB585C; } L_08AB585C: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-2264))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-2264))); { const bool branch_taken = aot_gpr_5 != 0u; - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7688))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7688))); if (branch_taken) { goto L_08AB5898; } @@ -4717,7 +4718,7 @@ L_08AB585C: } L_08AB5868: { const bool branch_taken = aot_gpr_4 != 0u; - ctx.gpr[18] = (aot_gpr_28 + static_cast(-2108)); + ctx.gpr[18] = (ctx.gpr[28] + static_cast(-2108)); if (branch_taken) { goto L_08AB5888; } @@ -4725,15 +4726,15 @@ L_08AB5868: } L_08AB5870: aot_gpr_4 = (0u | 1u); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(7688), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7688), aot_gpr_4); aot_gpr_31 = (0x08AB5880u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0010_entry, 10u, 286u, 0x0882D794u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB5880u) goto L_08AB5880; AOT_REGCACHE_SYNC_OUT(); return; L_08AB5880: aot_gpr_31 = (0x08AB5888u); - aot_gpr_4 = (aot_gpr_28 + static_cast(-2192)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB5888u) goto L_08AB5888; + aot_gpr_4 = (ctx.gpr[28] + static_cast(-2192)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB5888u) goto L_08AB5888; AOT_REGCACHE_SYNC_OUT(); return; L_08AB5888: aot_gpr_4 = (0u | 1u); @@ -4756,15 +4757,15 @@ L_08AB5898: } L_08AB58A4: aot_gpr_4 = (0u | 1u); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(7688), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7688), aot_gpr_4); aot_gpr_31 = (0x08AB58B4u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0010_entry, 10u, 286u, 0x0882D794u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB58B4u) goto L_08AB58B4; AOT_REGCACHE_SYNC_OUT(); return; L_08AB58B4: aot_gpr_31 = (0x08AB58BCu); - aot_gpr_4 = (aot_gpr_28 + static_cast(-2192)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB58BCu) goto L_08AB58BC; + aot_gpr_4 = (ctx.gpr[28] + static_cast(-2192)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB58BCu) goto L_08AB58BC; AOT_REGCACHE_SYNC_OUT(); return; L_08AB58BC: aot_gpr_4 = (0u | 1u); @@ -4786,9 +4787,9 @@ L_08AB58CC: goto L_08AB58D8; } L_08AB58D8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7688))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7688))); { const bool branch_taken = aot_gpr_4 != 0u; - ctx.gpr[18] = (aot_gpr_28 + static_cast(-2120)); + ctx.gpr[18] = (ctx.gpr[28] + static_cast(-2120)); if (branch_taken) { goto L_08AB58FC; } @@ -4796,15 +4797,15 @@ L_08AB58D8: } L_08AB58E4: aot_gpr_4 = (0u | 1u); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(7688), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7688), aot_gpr_4); aot_gpr_31 = (0x08AB58F4u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0010_entry, 10u, 286u, 0x0882D794u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB58F4u) goto L_08AB58F4; AOT_REGCACHE_SYNC_OUT(); return; L_08AB58F4: aot_gpr_31 = (0x08AB58FCu); - aot_gpr_4 = (aot_gpr_28 + static_cast(-2192)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB58FCu) goto L_08AB58FC; + aot_gpr_4 = (ctx.gpr[28] + static_cast(-2192)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB58FCu) goto L_08AB58FC; AOT_REGCACHE_SYNC_OUT(); return; L_08AB58FC: aot_gpr_4 = (0u | 1u); @@ -4826,7 +4827,7 @@ L_08AB590C: goto L_08AB5918; } L_08AB5918: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-2196))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-2196))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -4835,7 +4836,7 @@ L_08AB5918: goto L_08AB5924; } L_08AB5924: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7688))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7688))); { const bool branch_taken = aot_gpr_4 != 0u; ctx.gpr[18] = (0u | 1u); if (branch_taken) { @@ -4844,18 +4845,18 @@ L_08AB5924: goto L_08AB5930; } L_08AB5930: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(7688), ctx.gpr[17]); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7688), ctx.gpr[17]); aot_gpr_31 = (0x08AB593Cu); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0010_entry, 10u, 286u, 0x0882D794u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB593Cu) goto L_08AB593C; AOT_REGCACHE_SYNC_OUT(); return; L_08AB593C: aot_gpr_31 = (0x08AB5944u); - aot_gpr_4 = (aot_gpr_28 + static_cast(-2192)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB5944u) goto L_08AB5944; + aot_gpr_4 = (ctx.gpr[28] + static_cast(-2192)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB5944u) goto L_08AB5944; AOT_REGCACHE_SYNC_OUT(); return; L_08AB5944: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7688))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7688))); goto L_08AB5948; L_08AB5948: { const bool branch_taken = aot_gpr_4 != 0u; @@ -4866,18 +4867,18 @@ L_08AB5948: goto L_08AB5950; } L_08AB5950: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(7688), ctx.gpr[17]); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7688), ctx.gpr[17]); aot_gpr_31 = (0x08AB595Cu); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0010_entry, 10u, 286u, 0x0882D794u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB595Cu) goto L_08AB595C; AOT_REGCACHE_SYNC_OUT(); return; L_08AB595C: aot_gpr_31 = (0x08AB5964u); - aot_gpr_4 = (aot_gpr_28 + static_cast(-2192)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB5964u) goto L_08AB5964; + aot_gpr_4 = (ctx.gpr[28] + static_cast(-2192)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB5964u) goto L_08AB5964; AOT_REGCACHE_SYNC_OUT(); return; L_08AB5964: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7688))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7688))); goto L_08AB5968; L_08AB5968: { const bool branch_taken = aot_gpr_4 != 0u; @@ -4888,15 +4889,15 @@ L_08AB5968: goto L_08AB5970; } L_08AB5970: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(7688), ctx.gpr[17]); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7688), ctx.gpr[17]); aot_gpr_31 = (0x08AB597Cu); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0010_entry, 10u, 286u, 0x0882D794u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB597Cu) goto L_08AB597C; AOT_REGCACHE_SYNC_OUT(); return; L_08AB597C: aot_gpr_31 = (0x08AB5984u); - aot_gpr_4 = (aot_gpr_28 + static_cast(-2192)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB5984u) goto L_08AB5984; + aot_gpr_4 = (ctx.gpr[28] + static_cast(-2192)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB5984u) goto L_08AB5984; AOT_REGCACHE_SYNC_OUT(); return; L_08AB5984: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -4905,9 +4906,9 @@ L_08AB5984: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0010_entry, 10u, 610u, 0x0882E9ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB5990u) goto L_08AB5990; AOT_REGCACHE_SYNC_OUT(); return; L_08AB5990: - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-19672), static_cast(ctx.gpr[18])); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-19672), static_cast(ctx.gpr[18])); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-19683), static_cast(ctx.gpr[18])); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-19683), static_cast(ctx.gpr[18])); if (branch_taken) { goto L_08AB5A58; } @@ -4918,24 +4919,24 @@ L_08AB599C: // nop goto L_08AB50BC; L_08AB59A4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7688))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7688))); { const bool branch_taken = aot_gpr_4 != 0u; - ctx.gpr[18] = (aot_gpr_28 + static_cast(-2108)); + ctx.gpr[18] = (ctx.gpr[28] + static_cast(-2108)); if (branch_taken) { goto L_08AB59C4; } goto L_08AB59B0; } L_08AB59B0: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(7688), ctx.gpr[17]); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7688), ctx.gpr[17]); aot_gpr_31 = (0x08AB59BCu); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0010_entry, 10u, 286u, 0x0882D794u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB59BCu) goto L_08AB59BC; AOT_REGCACHE_SYNC_OUT(); return; L_08AB59BC: aot_gpr_31 = (0x08AB59C4u); - aot_gpr_4 = (aot_gpr_28 + static_cast(-2192)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB59C4u) goto L_08AB59C4; + aot_gpr_4 = (ctx.gpr[28] + static_cast(-2192)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB59C4u) goto L_08AB59C4; AOT_REGCACHE_SYNC_OUT(); return; L_08AB59C4: aot_gpr_4 = (0u | 1u); @@ -4957,16 +4958,16 @@ L_08AB59D4: goto L_08AB59E0; } L_08AB59E0: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-2196))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-2196))); { const bool branch_taken = aot_gpr_4 == 0u; - ctx.gpr[18] = (aot_gpr_28 + static_cast(-2120)); + ctx.gpr[18] = (ctx.gpr[28] + static_cast(-2120)); if (branch_taken) { goto L_08AB5A24; } goto L_08AB59EC; } L_08AB59EC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7688))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7688))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -4975,15 +4976,15 @@ L_08AB59EC: goto L_08AB59F8; } L_08AB59F8: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(7688), ctx.gpr[17]); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7688), ctx.gpr[17]); aot_gpr_31 = (0x08AB5A04u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0010_entry, 10u, 286u, 0x0882D794u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB5A04u) goto L_08AB5A04; AOT_REGCACHE_SYNC_OUT(); return; L_08AB5A04: aot_gpr_31 = (0x08AB5A0Cu); - aot_gpr_4 = (aot_gpr_28 + static_cast(-2192)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB5A0Cu) goto L_08AB5A0C; + aot_gpr_4 = (ctx.gpr[28] + static_cast(-2192)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB5A0Cu) goto L_08AB5A0C; AOT_REGCACHE_SYNC_OUT(); return; L_08AB5A0C: aot_gpr_4 = (0u | 1u); @@ -5004,7 +5005,7 @@ L_08AB5A24: // nop goto L_08AB50BC; L_08AB5A2C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7688))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7688))); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_4 = (0u | 1u); if (branch_taken) { @@ -5013,15 +5014,15 @@ L_08AB5A2C: goto L_08AB5A38; } L_08AB5A38: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(7688), ctx.gpr[17]); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7688), ctx.gpr[17]); aot_gpr_31 = (0x08AB5A44u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0010_entry, 10u, 286u, 0x0882D794u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB5A44u) goto L_08AB5A44; AOT_REGCACHE_SYNC_OUT(); return; L_08AB5A44: aot_gpr_31 = (0x08AB5A4Cu); - aot_gpr_4 = (aot_gpr_28 + static_cast(-2192)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB5A4Cu) goto L_08AB5A4C; + aot_gpr_4 = (ctx.gpr[28] + static_cast(-2192)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB5A4Cu) goto L_08AB5A4C; AOT_REGCACHE_SYNC_OUT(); return; L_08AB5A4C: aot_gpr_4 = (0u | 1u); @@ -5031,7 +5032,7 @@ L_08AB5A50: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(48), ctx.gpr[18]); goto L_08AB5A58; L_08AB5A58: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7688))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7688))); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_4 = (aot_gpr_16 | 0u); if (branch_taken) { @@ -5041,15 +5042,15 @@ L_08AB5A58: } L_08AB5A64: aot_gpr_4 = (0u | 1u); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(7688), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7688), aot_gpr_4); aot_gpr_31 = (0x08AB5A74u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0010_entry, 10u, 286u, 0x0882D794u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB5A74u) goto L_08AB5A74; AOT_REGCACHE_SYNC_OUT(); return; L_08AB5A74: aot_gpr_31 = (0x08AB5A7Cu); - aot_gpr_4 = (aot_gpr_28 + static_cast(-2192)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB5A7Cu) goto L_08AB5A7C; + aot_gpr_4 = (ctx.gpr[28] + static_cast(-2192)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB5A7Cu) goto L_08AB5A7C; AOT_REGCACHE_SYNC_OUT(); return; L_08AB5A7C: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -5085,7 +5086,7 @@ L_08AB5AA0: goto L_08AB5AB4; } L_08AB5AB4: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-27191))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-27191))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -5113,7 +5114,7 @@ L_08AB5AD0: aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); goto L_08AB5AD4; L_08AB5AD4: - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-2196), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-2196), static_cast(0u)); goto L_08AB5AD8; L_08AB5AD8: aot_gpr_31 = (0x08AB5AE0u); @@ -5125,7 +5126,7 @@ L_08AB5AE0: aot_gpr_4 = (aot_gpr_16 | 0u); goto L_08AB7430; L_08AB5AE8: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08AB5AD8; @@ -5134,7 +5135,7 @@ L_08AB5AE8: } L_08AB5AF0: aot_gpr_4 = (0u + static_cast(-1)); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-2236), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-2236), aot_gpr_4); aot_gpr_31 = (0x08AB5B00u); aot_gpr_4 = (aot_gpr_16 | 0u); goto L_08AB56D0; @@ -5144,7 +5145,7 @@ L_08AB5B00: ctx.pc = 0x08B734F4u; AOT_REGCACHE_SYNC_OUT(); return; L_08AB5B08: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; @@ -5157,7 +5158,7 @@ L_08AB5B1C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-2236))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-2236))); ctx.gpr[6] = (0u + static_cast(-1)); { const bool branch_taken = aot_gpr_5 != ctx.gpr[6]; aot_gpr_16 = (aot_gpr_4 | 0u); @@ -5197,7 +5198,7 @@ L_08AB5B5C: goto L_08AB5B64; } L_08AB5B64: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-27191))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-27191))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -5225,7 +5226,7 @@ L_08AB5B84: goto L_08AB782C; L_08AB5B90: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(301))); - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(7364), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(7364), static_cast(aot_gpr_4)); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -5257,8 +5258,8 @@ L_08AB5BC0: aot_gpr_4 = (15820u << 16u); aot_gpr_4 = (aot_gpr_4 | 52429u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-8728), std::bit_cast(aot_fpr_12)); - aot_gpr_4 = (aot_gpr_28 + static_cast(-2096)); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-8728), std::bit_cast(aot_fpr_12)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(-2096)); aot_gpr_5 = (2219u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(23200)); ctx.gpr[6] = (0u | 20u); @@ -5269,8 +5270,8 @@ L_08AB5BC0: ctx.pc = 0x08B734B4u; AOT_REGCACHE_SYNC_OUT(); return; L_08AB5BF0: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-2236), ctx.gpr[2]); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-2236))); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-2236), aot_gpr_2); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-2236))); { const bool branch_taken = static_cast(aot_gpr_4) <= 0; // nop if (branch_taken) { @@ -5293,7 +5294,7 @@ L_08AB5C0C: aot_gpr_5 = (aot_gpr_16 | 0u); goto L_08AB569C; L_08AB5C18: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-2236))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-2236))); aot_gpr_5 = (0u | 1200u); aot_gpr_31 = (0x08AB5C28u); ctx.gpr[6] = (aot_gpr_16 | 0u); @@ -5301,7 +5302,7 @@ L_08AB5C18: AOT_REGCACHE_SYNC_OUT(); return; L_08AB5C28: { const bool branch_taken = 0u == 0u; - aot_gpr_16 = (ctx.gpr[2] | 0u); + aot_gpr_16 = (aot_gpr_2 | 0u); if (branch_taken) { goto L_08AB5C78; } @@ -5316,7 +5317,7 @@ L_08AB5C30: goto L_08AB5C38; } L_08AB5C38: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-27191))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-27191))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -5343,17 +5344,17 @@ L_08AB5C58: aot_gpr_5 = (0u | 0u); goto L_08AB569C; L_08AB5C64: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-2236))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-2236))); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08AB5C74u); ctx.gpr[6] = (0u | 0u); ctx.pc = 0x08B73464u; AOT_REGCACHE_SYNC_OUT(); return; L_08AB5C74: - aot_gpr_16 = (ctx.gpr[2] | 0u); + aot_gpr_16 = (aot_gpr_2 | 0u); goto L_08AB5C78; L_08AB5C78: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7688))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7688))); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_4 = (ctx.gpr[17] | 0u); if (branch_taken) { @@ -5363,15 +5364,15 @@ L_08AB5C78: } L_08AB5C84: aot_gpr_4 = (0u | 1u); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(7688), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7688), aot_gpr_4); aot_gpr_31 = (0x08AB5C94u); aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0010_entry, 10u, 286u, 0x0882D794u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB5C94u) goto L_08AB5C94; AOT_REGCACHE_SYNC_OUT(); return; L_08AB5C94: aot_gpr_31 = (0x08AB5C9Cu); - aot_gpr_4 = (aot_gpr_28 + static_cast(-2192)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB5C9Cu) goto L_08AB5C9C; + aot_gpr_4 = (ctx.gpr[28] + static_cast(-2192)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB5C9Cu) goto L_08AB5C9C; AOT_REGCACHE_SYNC_OUT(); return; L_08AB5C9C: aot_gpr_4 = (ctx.gpr[17] | 0u); @@ -5410,9 +5411,9 @@ L_08AB5CC4: goto L_08AB5B1C; L_08AB5CD4: aot_gpr_4 = (0u | 1u); - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-2296), static_cast(aot_gpr_4)); - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-2295), static_cast(0u)); - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-2294), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-2296), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-2295), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-2294), static_cast(0u)); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -5428,9 +5429,9 @@ L_08AB5CF0: goto L_08AB5B1C; L_08AB5D00: aot_gpr_4 = (0u | 1u); - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-2296), static_cast(aot_gpr_4)); - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-2295), static_cast(aot_gpr_4)); - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-2294), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-2296), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-2295), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-2294), static_cast(0u)); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -5449,9 +5450,9 @@ L_08AB5D1C: goto L_08AB5B1C; L_08AB5D38: aot_gpr_4 = (0u | 1u); - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-2296), static_cast(aot_gpr_4)); - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-2295), static_cast(0u)); - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-2294), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-2296), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-2295), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-2294), static_cast(aot_gpr_4)); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -5479,9 +5480,9 @@ L_08AB5D80: goto L_08AB5B1C; L_08AB5D88: aot_gpr_4 = (0u | 1u); - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-2296), static_cast(aot_gpr_4)); - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-2295), static_cast(0u)); - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-2294), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-2296), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-2295), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-2294), static_cast(0u)); aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; @@ -5509,9 +5510,9 @@ L_08AB5DA8: goto L_08AB5B1C; L_08AB5DE8: aot_gpr_4 = (0u | 1u); - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-2296), static_cast(aot_gpr_4)); - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-2295), static_cast(0u)); - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-2294), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-2296), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-2295), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-2294), static_cast(aot_gpr_4)); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -5528,7 +5529,7 @@ L_08AB5E04: aot_gpr_16 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(301))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[19]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[20]); - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-2293), static_cast(ctx.gpr[7])); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-2293), static_cast(ctx.gpr[7])); ctx.gpr[20] = (aot_gpr_4 | 0u); ctx.gpr[19] = (aot_gpr_5 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), std::bit_cast(aot_fpr_20)); @@ -5567,7 +5568,7 @@ L_08AB5E78: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 658u, 0x08A06984u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB5E80u) goto L_08AB5E80; AOT_REGCACHE_SYNC_OUT(); return; L_08AB5E80: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08AB5E98; @@ -5581,14 +5582,14 @@ L_08AB5E88: AOT_REGCACHE_SYNC_OUT(); return; L_08AB5E90: { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-8728), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-8728), std::bit_cast(aot_fpr_20)); if (branch_taken) { goto L_08AB5E78; } goto L_08AB5E98; } L_08AB5E98: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-2216))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-2216))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -5599,13 +5600,13 @@ L_08AB5E98: L_08AB5EA4: aot_gpr_31 = (0x08AB5EACu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB5EACu) goto L_08AB5EAC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB5EACu) goto L_08AB5EAC; AOT_REGCACHE_SYNC_OUT(); return; L_08AB5EAC: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-2216), 0u); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-2216), 0u); goto L_08AB5EB0; L_08AB5EB0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-2212))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-2212))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -5616,13 +5617,13 @@ L_08AB5EB0: L_08AB5EBC: aot_gpr_31 = (0x08AB5EC4u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB5EC4u) goto L_08AB5EC4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB5EC4u) goto L_08AB5EC4; AOT_REGCACHE_SYNC_OUT(); return; L_08AB5EC4: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-2212), 0u); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-2212), 0u); goto L_08AB5EC8; L_08AB5EC8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-2204))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-2204))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -5633,13 +5634,13 @@ L_08AB5EC8: L_08AB5ED4: aot_gpr_31 = (0x08AB5EDCu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB5EDCu) goto L_08AB5EDC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB5EDCu) goto L_08AB5EDC; AOT_REGCACHE_SYNC_OUT(); return; L_08AB5EDC: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-2204), 0u); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-2204), 0u); goto L_08AB5EE0; L_08AB5EE0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-2200))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-2200))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -5650,10 +5651,10 @@ L_08AB5EE0: L_08AB5EEC: aot_gpr_31 = (0x08AB5EF4u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB5EF4u) goto L_08AB5EF4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB5EF4u) goto L_08AB5EF4; AOT_REGCACHE_SYNC_OUT(); return; L_08AB5EF4: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-2200), 0u); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-2200), 0u); goto L_08AB5EF8; L_08AB5EF8: { const bool branch_taken = aot_gpr_16 == 0u; @@ -5724,7 +5725,7 @@ L_08AB5F7C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 658u, 0x08A06984u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB5F84u) goto L_08AB5F84; AOT_REGCACHE_SYNC_OUT(); return; L_08AB5F84: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08AB5F9C; @@ -5738,7 +5739,7 @@ L_08AB5F8C: AOT_REGCACHE_SYNC_OUT(); return; L_08AB5F94: { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-8728), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-8728), std::bit_cast(aot_fpr_20)); if (branch_taken) { goto L_08AB5F7C; } @@ -5759,7 +5760,7 @@ L_08AB5FA4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0109_entry, 109u, 323u, 0x089B9ABCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB5FB0u) goto L_08AB5FB0; AOT_REGCACHE_SYNC_OUT(); return; L_08AB5FB0: - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); @@ -5778,19 +5779,19 @@ L_08AB5FCC: { const std::uint32_t aot_run_words[5]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(712), aot_run_words); } aot_gpr_31 = (0x08AB5FECu); - aot_gpr_4 = (aot_gpr_28 + static_cast(-2084)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB5FECu) goto L_08AB5FEC; + aot_gpr_4 = (ctx.gpr[28] + static_cast(-2084)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB5FECu) goto L_08AB5FEC; AOT_REGCACHE_SYNC_OUT(); return; L_08AB5FEC: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08AB5FF8u); - aot_gpr_4 = (aot_gpr_28 + static_cast(-2072)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB5FF8u) goto L_08AB5FF8; + aot_gpr_4 = (ctx.gpr[28] + static_cast(-2072)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB5FF8u) goto L_08AB5FF8; AOT_REGCACHE_SYNC_OUT(); return; L_08AB5FF8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5896))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5896))); { const bool branch_taken = aot_gpr_4 != 0u; - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); if (branch_taken) { goto L_08AB600C; } @@ -5803,11 +5804,11 @@ L_08AB6004: AOT_REGCACHE_SYNC_OUT(); return; L_08AB600C: aot_gpr_31 = (0x08AB6014u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5896))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5896))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0044_entry, 44u, 251u, 0x088B5A54u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB6014u) goto L_08AB6014; AOT_REGCACHE_SYNC_OUT(); return; L_08AB6014: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5896))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5896))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -5822,7 +5823,7 @@ L_08AB6020: AOT_REGCACHE_SYNC_OUT(); return; L_08AB6028: aot_gpr_31 = (0x08AB6030u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5896))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5896))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0044_entry, 44u, 298u, 0x088B5D90u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB6030u) goto L_08AB6030; AOT_REGCACHE_SYNC_OUT(); return; L_08AB6030: @@ -5831,21 +5832,21 @@ L_08AB6030: ctx.gpr[6] = (0u | 20u); aot_gpr_31 = (0x08AB6044u); aot_gpr_4 = (aot_gpr_4 + static_cast(760)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB6044u) goto L_08AB6044; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB6044u) goto L_08AB6044; AOT_REGCACHE_SYNC_OUT(); return; L_08AB6044: aot_gpr_4 = (aot_gpr_29 + static_cast(264)); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08AB6054u); ctx.gpr[6] = (0u | 8u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB6054u) goto L_08AB6054; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB6054u) goto L_08AB6054; AOT_REGCACHE_SYNC_OUT(); return; L_08AB6054: aot_gpr_4 = (aot_gpr_29 + static_cast(272)); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08AB6064u); ctx.gpr[6] = (0u | 352u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB6064u) goto L_08AB6064; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB6064u) goto L_08AB6064; AOT_REGCACHE_SYNC_OUT(); return; L_08AB6064: aot_gpr_4 = (2232u << 16u); @@ -5854,7 +5855,7 @@ L_08AB6064: ctx.pc = 0x08B7366Cu; AOT_REGCACHE_SYNC_OUT(); return; L_08AB6070: - aot_gpr_16 = (ctx.gpr[2] | 0u); + aot_gpr_16 = (aot_gpr_2 | 0u); { const bool branch_taken = static_cast(aot_gpr_16) < 0; // nop if (branch_taken) { @@ -5869,7 +5870,7 @@ L_08AB607C: ctx.pc = 0x08B7367Cu; AOT_REGCACHE_SYNC_OUT(); return; L_08AB6088: - { const bool branch_taken = static_cast(ctx.gpr[2]) <= 0; + { const bool branch_taken = static_cast(aot_gpr_2) <= 0; // nop if (branch_taken) { goto L_08AB6148; @@ -5877,14 +5878,14 @@ L_08AB6088: goto L_08AB6090; } L_08AB6090: - aot_gpr_4 = (aot_gpr_28 + static_cast(-2084)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(-2084)); aot_gpr_5 = (aot_gpr_29 + static_cast(360)); aot_gpr_31 = (0x08AB60A0u); ctx.gpr[6] = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 190u, 0x08B58B3Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB60A0u) goto L_08AB60A0; AOT_REGCACHE_SYNC_OUT(); return; L_08AB60A0: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; aot_gpr_5 = (aot_gpr_29 + ctx.gpr[18]); if (branch_taken) { goto L_08AB6134; @@ -5892,14 +5893,14 @@ L_08AB60A0: goto L_08AB60A8; } L_08AB60A8: - aot_gpr_4 = (aot_gpr_28 + static_cast(-2072)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(-2072)); aot_gpr_5 = (aot_gpr_5 + static_cast(360)); aot_gpr_31 = (0x08AB60B8u); ctx.gpr[6] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 190u, 0x08B58B3Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB60B8u) goto L_08AB60B8; AOT_REGCACHE_SYNC_OUT(); return; L_08AB60B8: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08AB6134; @@ -5908,7 +5909,7 @@ L_08AB60B8: } L_08AB60C0: ctx.gpr[6] = (2232u << 16u); - aot_gpr_5 = (aot_gpr_28 + static_cast(-2064)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-2064)); ctx.gpr[7] = (aot_gpr_29 + static_cast(360)); aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_31 = (0x08AB60D8u); @@ -5922,7 +5923,7 @@ L_08AB60D8: ctx.pc = 0x08B7365Cu; AOT_REGCACHE_SYNC_OUT(); return; L_08AB60E4: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08AB6134; @@ -5943,7 +5944,7 @@ L_08AB60FC: ctx.pc = 0x08B72F4Cu; AOT_REGCACHE_SYNC_OUT(); return; L_08AB6108: - { const bool branch_taken = static_cast(ctx.gpr[2]) <= 0; + { const bool branch_taken = static_cast(aot_gpr_2) <= 0; // nop if (branch_taken) { goto L_08AB6134; @@ -5971,7 +5972,7 @@ L_08AB6134: ctx.pc = 0x08B7367Cu; AOT_REGCACHE_SYNC_OUT(); return; L_08AB6140: - { const bool branch_taken = static_cast(ctx.gpr[2]) > 0; + { const bool branch_taken = static_cast(aot_gpr_2) > 0; // nop if (branch_taken) { goto L_08AB6090; @@ -5987,10 +5988,10 @@ L_08AB6150: aot_gpr_4 = (2236u << 16u); aot_gpr_31 = (0x08AB615Cu); aot_gpr_4 = (aot_gpr_4 + static_cast(760)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB615Cu) goto L_08AB615C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB615Cu) goto L_08AB615C; AOT_REGCACHE_SYNC_OUT(); return; L_08AB615C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08AB616C; @@ -5999,7 +6000,7 @@ L_08AB615C: } L_08AB6164: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_08AB6178; } @@ -6007,14 +6008,14 @@ L_08AB6164: } L_08AB616C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08AB6178; } goto L_08AB6174; } L_08AB6174: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_08AB6178; L_08AB6178: { std::uint32_t aot_run_words[5]{}; @@ -6034,28 +6035,28 @@ L_08AB6178: L_08AB6194: aot_gpr_29 = (aot_gpr_29 + static_cast(-416)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(404), ctx.gpr[23]); - ctx.gpr[23] = (aot_gpr_28 + static_cast(-2084)); + ctx.gpr[23] = (ctx.gpr[28] + static_cast(-2084)); { const std::uint32_t aot_run_words[7]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(376), aot_run_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(408), aot_gpr_31); aot_gpr_31 = (0x08AB61C8u); aot_gpr_4 = (ctx.gpr[23] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB61C8u) goto L_08AB61C8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB61C8u) goto L_08AB61C8; AOT_REGCACHE_SYNC_OUT(); return; L_08AB61C8: - ctx.gpr[21] = (aot_gpr_28 + static_cast(-2072)); - ctx.gpr[22] = (ctx.gpr[2] | 0u); + ctx.gpr[21] = (ctx.gpr[28] + static_cast(-2072)); + ctx.gpr[22] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08AB61D8u); aot_gpr_4 = (ctx.gpr[21] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB61D8u) goto L_08AB61D8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB61D8u) goto L_08AB61D8; AOT_REGCACHE_SYNC_OUT(); return; L_08AB61D8: - ctx.gpr[20] = (ctx.gpr[2] | 0u); + ctx.gpr[20] = (aot_gpr_2 | 0u); aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08AB61ECu); ctx.gpr[6] = (0u | 20u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB61ECu) goto L_08AB61EC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB61ECu) goto L_08AB61EC; AOT_REGCACHE_SYNC_OUT(); return; L_08AB61EC: ctx.gpr[19] = (aot_gpr_29 + static_cast(24)); @@ -6063,7 +6064,7 @@ L_08AB61EC: aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08AB6200u); ctx.gpr[6] = (0u | 352u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB6200u) goto L_08AB6200; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB6200u) goto L_08AB6200; AOT_REGCACHE_SYNC_OUT(); return; L_08AB6200: aot_gpr_4 = (2232u << 16u); @@ -6072,7 +6073,7 @@ L_08AB6200: ctx.pc = 0x08B7366Cu; AOT_REGCACHE_SYNC_OUT(); return; L_08AB620C: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); { const bool branch_taken = static_cast(ctx.gpr[18]) < 0; // nop if (branch_taken) { @@ -6087,7 +6088,7 @@ L_08AB6218: ctx.pc = 0x08B7367Cu; AOT_REGCACHE_SYNC_OUT(); return; L_08AB6224: - { const bool branch_taken = static_cast(ctx.gpr[2]) <= 0; + { const bool branch_taken = static_cast(aot_gpr_2) <= 0; aot_gpr_16 = (aot_gpr_29 + ctx.gpr[22]); if (branch_taken) { goto L_08AB628C; @@ -6106,7 +6107,7 @@ L_08AB6234: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 190u, 0x08B58B3Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB6244u) goto L_08AB6244; AOT_REGCACHE_SYNC_OUT(); return; L_08AB6244: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; aot_gpr_4 = (ctx.gpr[21] | 0u); if (branch_taken) { goto L_08AB6260; @@ -6120,7 +6121,7 @@ L_08AB624C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 190u, 0x08B58B3Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB6258u) goto L_08AB6258; AOT_REGCACHE_SYNC_OUT(); return; L_08AB6258: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08AB627C; @@ -6134,7 +6135,7 @@ L_08AB6260: ctx.pc = 0x08B7367Cu; AOT_REGCACHE_SYNC_OUT(); return; L_08AB626C: - { const bool branch_taken = static_cast(ctx.gpr[2]) > 0; + { const bool branch_taken = static_cast(aot_gpr_2) > 0; // nop if (branch_taken) { goto L_08AB6234; @@ -6156,7 +6157,7 @@ L_08AB627C: AOT_REGCACHE_SYNC_OUT(); return; L_08AB6284: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_08AB6298; } @@ -6168,7 +6169,7 @@ L_08AB628C: ctx.pc = 0x08B73684u; AOT_REGCACHE_SYNC_OUT(); return; L_08AB6294: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_08AB6298; L_08AB6298: { std::uint32_t aot_run_words[9]{}; @@ -6203,7 +6204,7 @@ L_08AB62C4: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_31); aot_gpr_31 = (0x08AB62F8u); ctx.gpr[6] = (0u | 580u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB62F8u) goto L_08AB62F8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB62F8u) goto L_08AB62F8; AOT_REGCACHE_SYNC_OUT(); return; L_08AB62F8: ctx.gpr[19] = (0u | 1u); @@ -6219,7 +6220,7 @@ L_08AB630C: ctx.gpr[6] = (0u | 580u); aot_gpr_31 = (0x08AB6320u); aot_gpr_4 = (aot_gpr_4 + static_cast(-2108)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB6320u) goto L_08AB6320; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB6320u) goto L_08AB6320; AOT_REGCACHE_SYNC_OUT(); return; L_08AB6320: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -6257,7 +6258,7 @@ L_08AB636C: ctx.pc = 0x08B730DCu; AOT_REGCACHE_SYNC_OUT(); return; L_08AB6380: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (aot_gpr_4 < static_cast(5) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; // nop @@ -6312,7 +6313,7 @@ L_08AB63B8: ctx.pc = 0x08B730CCu; AOT_REGCACHE_SYNC_OUT(); return; L_08AB63C0: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -6334,7 +6335,7 @@ L_08AB63D4: } L_08AB63DC: aot_gpr_5 = (2236u << 16u); - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-2196), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-2196), static_cast(0u)); aot_gpr_5 = (aot_gpr_5 + static_cast(-2108)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(28))); { const bool branch_taken = aot_gpr_4 == 0u; @@ -6363,7 +6364,7 @@ L_08AB63FC: } L_08AB6408: aot_gpr_4 = (0u | 1u); - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-2196), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-2196), static_cast(aot_gpr_4)); goto L_08AB6410; L_08AB6410: aot_gpr_31 = (0x08AB6418u); @@ -6371,7 +6372,7 @@ L_08AB6410: ctx.pc = 0x08B730BCu; AOT_REGCACHE_SYNC_OUT(); return; L_08AB6418: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -6394,7 +6395,7 @@ L_08AB642C: L_08AB6434: aot_gpr_16 = (0u | 0u); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(7713), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(7713), static_cast(0u)); if (branch_taken) { goto L_08AB6454; } @@ -6403,7 +6404,7 @@ L_08AB6434: L_08AB6440: aot_gpr_16 = (0u | 0u); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(7713), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(7713), static_cast(0u)); if (branch_taken) { goto L_08AB6454; } @@ -6415,11 +6416,11 @@ L_08AB644C: goto L_08AB5468; L_08AB6454: aot_gpr_31 = (0x08AB645Cu); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-8872))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-8872))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 808u, 0x08A07608u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB645Cu) goto L_08AB645C; AOT_REGCACHE_SYNC_OUT(); return; L_08AB645C: - ctx.gpr[2] = (aot_gpr_16 | 0u); + aot_gpr_2 = (aot_gpr_16 | 0u); aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; @@ -6429,7 +6430,7 @@ L_08AB645C: ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08AB6470: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(7364))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7364))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -6452,7 +6453,7 @@ L_08AB648C: AOT_REGCACHE_SYNC_OUT(); return; L_08AB6494: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-2196), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-2196), static_cast(0u)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); goto L_08AB64A4; @@ -6466,7 +6467,7 @@ L_08AB64AC: // nop goto L_08AB636C; L_08AB64B4: - aot_gpr_16 = (ctx.gpr[2] | 0u); + aot_gpr_16 = (aot_gpr_2 | 0u); goto L_08AB64B8; L_08AB64B8: aot_gpr_31 = (0x08AB64C0u); @@ -6474,7 +6475,7 @@ L_08AB64B8: ctx.pc = 0x08B73264u; AOT_REGCACHE_SYNC_OUT(); return; L_08AB64C0: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08AB64D8; @@ -6504,7 +6505,7 @@ L_08AB64D8: } L_08AB64E0: aot_gpr_4 = (0u + static_cast(-1)); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-2236), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-2236), aot_gpr_4); aot_gpr_31 = (0x08AB64F0u); // nop goto L_08AB6470; @@ -6514,7 +6515,7 @@ L_08AB64F0: ctx.pc = 0x08B734F4u; AOT_REGCACHE_SYNC_OUT(); return; L_08AB64F8: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; @@ -6527,7 +6528,7 @@ L_08AB650C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-2236))); + ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-2236))); ctx.gpr[7] = (0u + static_cast(-1)); ctx.gpr[17] = (aot_gpr_4 | 0u); { const bool branch_taken = ctx.gpr[6] != ctx.gpr[7]; @@ -6541,7 +6542,7 @@ L_08AB6534: ctx.gpr[18] = (2236u << 16u); ctx.gpr[18] = (ctx.gpr[18] + static_cast(29232)); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(301))); - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(7364), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(7364), static_cast(aot_gpr_4)); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -6559,7 +6560,7 @@ L_08AB654C: } L_08AB6554: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08AB6624; } @@ -6581,7 +6582,7 @@ L_08AB6568: goto L_08AB6574; } L_08AB6574: - aot_gpr_4 = (aot_gpr_28 + static_cast(-2056)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(-2056)); aot_gpr_5 = (2219u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(25748)); ctx.gpr[6] = (0u | 20u); @@ -6592,8 +6593,8 @@ L_08AB6574: ctx.pc = 0x08B734B4u; AOT_REGCACHE_SYNC_OUT(); return; L_08AB6594: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-2236), ctx.gpr[2]); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-2236))); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-2236), aot_gpr_2); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-2236))); { const bool branch_taken = static_cast(aot_gpr_4) <= 0; // nop if (branch_taken) { @@ -6626,7 +6627,7 @@ L_08AB65C0: } L_08AB65C8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08AB6624; } @@ -6648,7 +6649,7 @@ L_08AB65E4: ctx.pc = 0x08B7309Cu; AOT_REGCACHE_SYNC_OUT(); return; L_08AB65EC: - aot_gpr_16 = (ctx.gpr[2] | 0u); + aot_gpr_16 = (aot_gpr_2 | 0u); { const bool branch_taken = static_cast(aot_gpr_16) >= 0; // nop if (branch_taken) { @@ -6661,14 +6662,14 @@ L_08AB65F8: aot_gpr_4 = (aot_gpr_16 | 0u); goto L_08AB5468; L_08AB6600: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-2236))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-2236))); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08AB6610u); ctx.gpr[6] = (0u | 0u); ctx.pc = 0x08B73464u; AOT_REGCACHE_SYNC_OUT(); return; L_08AB6610: - { const bool branch_taken = static_cast(ctx.gpr[2]) >= 0; + { const bool branch_taken = static_cast(aot_gpr_2) >= 0; // nop if (branch_taken) { goto L_08AB6620; @@ -6677,14 +6678,14 @@ L_08AB6610: } L_08AB6618: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08AB6624; } goto L_08AB6620; } L_08AB6620: - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); goto L_08AB6624; L_08AB6624: { std::uint32_t aot_run_words[4]{}; @@ -6710,14 +6711,14 @@ L_08AB663C: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_4 = (aot_gpr_28 + static_cast(7344)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(7344)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-2280), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-2280), static_cast(aot_gpr_5)); jump_target = aot_gpr_31; - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-2276), ctx.gpr[6]); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-2276), ctx.gpr[6]); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -6726,13 +6727,13 @@ L_08AB6654: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_gpr_5 = (0u | 3u); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), aot_gpr_5); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7652))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7652))); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(8), aot_gpr_5); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-1044))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-1044))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(12), aot_gpr_5); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7872))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7872))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_31); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_4 = (0u | 1u); @@ -6742,47 +6743,47 @@ L_08AB6654: goto L_08AB6688; } L_08AB6688: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(7872), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7872), aot_gpr_4); aot_gpr_31 = (0x08AB6694u); - aot_gpr_4 = (aot_gpr_28 + static_cast(7864)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(7864)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0112_entry, 112u, 464u, 0x089C6318u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB6694u) goto L_08AB6694; AOT_REGCACHE_SYNC_OUT(); return; L_08AB6694: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7868))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7868))); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(16), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7644))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7644))); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(20), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8900))); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(24), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(7648))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7648))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(28), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(7649))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7649))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(29), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_28 + static_cast(7650))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[28] + static_cast(7650))); aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(30), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7660))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-8140))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-8140))); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(32), aot_gpr_4); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7672))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7672))); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(36), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7676))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(40), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7684))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7684))); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(44), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-2340))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-2340))); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(48), std::bit_cast(aot_fpr_12)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7764))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7764))); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(52), aot_gpr_4); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_28 + static_cast(8344)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[28] + static_cast(8344)))))); aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(56), static_cast(aot_gpr_4)); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_28 + static_cast(8352)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[28] + static_cast(8352)))))); aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(58), static_cast(aot_gpr_4)); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_28 + static_cast(10284)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[28] + static_cast(10284)))))); aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(60), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(10288))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(10288))); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), aot_gpr_4); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8664))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8664))); aot_gpr_4 = (2236u << 16u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_gpr_4 + static_cast(32304)); @@ -6796,16 +6797,16 @@ L_08AB6694: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(84), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1972))); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(88), std::bit_cast(aot_fpr_12)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-23440))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23440))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(11232))); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(92), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-23440))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23440))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(11236))); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(96), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-23440))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23440))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(11240))); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(100), std::bit_cast(aot_fpr_12)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -6820,12 +6821,12 @@ L_08AB6784: AOT_REGCACHE_SYNC_OUT(); return; L_08AB678C: aot_gpr_31 = (0x08AB6794u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0112_entry, 112u, 631u, 0x089C6D78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB6794u) goto L_08AB6794; AOT_REGCACHE_SYNC_OUT(); return; L_08AB6794: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(104), ctx.gpr[2]); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(104), aot_gpr_2); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -6840,12 +6841,12 @@ L_08AB67A4: AOT_REGCACHE_SYNC_OUT(); return; L_08AB67AC: aot_gpr_31 = (0x08AB67B4u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0112_entry, 112u, 638u, 0x089C6DBCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB67B4u) goto L_08AB67B4; AOT_REGCACHE_SYNC_OUT(); return; L_08AB67B4: - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(108), static_cast(ctx.gpr[2])); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(108), static_cast(aot_gpr_2)); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -6860,12 +6861,12 @@ L_08AB67C4: AOT_REGCACHE_SYNC_OUT(); return; L_08AB67CC: aot_gpr_31 = (0x08AB67D4u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0112_entry, 112u, 629u, 0x089C6D68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB67D4u) goto L_08AB67D4; AOT_REGCACHE_SYNC_OUT(); return; L_08AB67D4: - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(109), static_cast(ctx.gpr[2])); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(109), static_cast(aot_gpr_2)); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -6880,14 +6881,14 @@ L_08AB67E4: AOT_REGCACHE_SYNC_OUT(); return; L_08AB67EC: aot_gpr_31 = (0x08AB67F4u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0112_entry, 112u, 633u, 0x089C6D88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB67F4u) goto L_08AB67F4; AOT_REGCACHE_SYNC_OUT(); return; L_08AB67F4: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(112), ctx.gpr[2]); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-24162))); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(112), aot_gpr_2); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-24162))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(116), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -6902,12 +6903,12 @@ L_08AB680C: AOT_REGCACHE_SYNC_OUT(); return; L_08AB6814: aot_gpr_31 = (0x08AB681Cu); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0112_entry, 112u, 708u, 0x089C70A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB681Cu) goto L_08AB681C; AOT_REGCACHE_SYNC_OUT(); return; L_08AB681C: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(120), ctx.gpr[2]); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(120), aot_gpr_2); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -6922,12 +6923,12 @@ L_08AB682C: AOT_REGCACHE_SYNC_OUT(); return; L_08AB6834: aot_gpr_31 = (0x08AB683Cu); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0112_entry, 112u, 710u, 0x089C70B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB683Cu) goto L_08AB683C; AOT_REGCACHE_SYNC_OUT(); return; L_08AB683C: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(124), ctx.gpr[2]); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(124), aot_gpr_2); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -6942,12 +6943,12 @@ L_08AB684C: AOT_REGCACHE_SYNC_OUT(); return; L_08AB6854: aot_gpr_31 = (0x08AB685Cu); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0112_entry, 112u, 679u, 0x089C6F60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB685Cu) goto L_08AB685C; AOT_REGCACHE_SYNC_OUT(); return; L_08AB685C: - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(128), static_cast(ctx.gpr[2])); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(128), static_cast(aot_gpr_2)); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -6962,25 +6963,25 @@ L_08AB686C: AOT_REGCACHE_SYNC_OUT(); return; L_08AB6874: aot_gpr_31 = (0x08AB687Cu); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0112_entry, 112u, 726u, 0x089C7174u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB687Cu) goto L_08AB687C; AOT_REGCACHE_SYNC_OUT(); return; L_08AB687C: - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(129), static_cast(ctx.gpr[2])); + aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(129), static_cast(aot_gpr_2)); aot_gpr_31 = (0x08AB6888u); aot_gpr_4 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB6888u) goto L_08AB6888; AOT_REGCACHE_SYNC_OUT(); return; L_08AB6888: - aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(150))); + aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(150))); aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(168), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-16129))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-16129))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(170), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-16128))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-16128))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(171), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(1781))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(1781))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(173), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -6995,12 +6996,12 @@ L_08AB68B4: AOT_REGCACHE_SYNC_OUT(); return; L_08AB68BC: aot_gpr_31 = (0x08AB68C4u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0112_entry, 112u, 644u, 0x089C6DECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB68C4u) goto L_08AB68C4; AOT_REGCACHE_SYNC_OUT(); return; L_08AB68C4: - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(174), static_cast(ctx.gpr[2])); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(174), static_cast(aot_gpr_2)); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -7015,13 +7016,13 @@ L_08AB68D4: AOT_REGCACHE_SYNC_OUT(); return; L_08AB68DC: aot_gpr_31 = (0x08AB68E4u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0112_entry, 112u, 722u, 0x089C7148u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB68E4u) goto L_08AB68E4; AOT_REGCACHE_SYNC_OUT(); return; L_08AB68E4: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(0))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(176), std::bit_cast(aot_fpr_12)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -7036,13 +7037,13 @@ L_08AB68F8: AOT_REGCACHE_SYNC_OUT(); return; L_08AB6900: aot_gpr_31 = (0x08AB6908u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0112_entry, 112u, 722u, 0x089C7148u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB6908u) goto L_08AB6908; AOT_REGCACHE_SYNC_OUT(); return; L_08AB6908: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(4))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(180), std::bit_cast(aot_fpr_12)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -7057,15 +7058,15 @@ L_08AB691C: AOT_REGCACHE_SYNC_OUT(); return; L_08AB6924: aot_gpr_31 = (0x08AB692Cu); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0112_entry, 112u, 712u, 0x089C70C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB692Cu) goto L_08AB692C; AOT_REGCACHE_SYNC_OUT(); return; L_08AB692C: - aot_gpr_4 = (0u < ctx.gpr[2] ? 1u : 0u); + aot_gpr_4 = (0u < aot_gpr_2 ? 1u : 0u); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(130), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-16130))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-16130))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(172), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -7080,12 +7081,12 @@ L_08AB6948: AOT_REGCACHE_SYNC_OUT(); return; L_08AB6950: aot_gpr_31 = (0x08AB6958u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0112_entry, 112u, 732u, 0x089C71A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB6958u) goto L_08AB6958; AOT_REGCACHE_SYNC_OUT(); return; L_08AB6958: - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(184), static_cast(ctx.gpr[2])); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(184), static_cast(aot_gpr_2)); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -7100,14 +7101,14 @@ L_08AB6968: AOT_REGCACHE_SYNC_OUT(); return; L_08AB6970: aot_gpr_31 = (0x08AB6978u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0112_entry, 112u, 730u, 0x089C7194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB6978u) goto L_08AB6978; AOT_REGCACHE_SYNC_OUT(); return; L_08AB6978: - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(185), static_cast(ctx.gpr[2])); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(185), static_cast(aot_gpr_2)); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); goto L_08AB6994; } goto L_08AB6988; @@ -7117,7 +7118,7 @@ L_08AB6988: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 358u, 0x08B65844u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB6990u) goto L_08AB6990; AOT_REGCACHE_SYNC_OUT(); return; L_08AB6990: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); goto L_08AB6994; L_08AB6994: aot_gpr_4 = (aot_gpr_4 + static_cast(6864)); @@ -7136,9 +7137,9 @@ L_08AB6994: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(188), std::bit_cast(aot_fpr_12)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); goto L_08AB69C0; } goto L_08AB69B4; @@ -7148,7 +7149,7 @@ L_08AB69B4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 358u, 0x08B65844u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB69BCu) goto L_08AB69BC; AOT_REGCACHE_SYNC_OUT(); return; L_08AB69BC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); goto L_08AB69C0; L_08AB69C0: aot_gpr_4 = (aot_gpr_4 + static_cast(6864)); @@ -7167,9 +7168,9 @@ L_08AB69C0: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(192), std::bit_cast(aot_fpr_12)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); goto L_08AB69EC; } goto L_08AB69E0; @@ -7179,7 +7180,7 @@ L_08AB69E0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 358u, 0x08B65844u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB69E8u) goto L_08AB69E8; AOT_REGCACHE_SYNC_OUT(); return; L_08AB69E8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); goto L_08AB69EC; L_08AB69EC: aot_gpr_4 = (aot_gpr_4 + static_cast(6864)); @@ -7209,31 +7210,31 @@ L_08AB69EC: L_08AB6A10: aot_gpr_29 = (aot_gpr_29 + static_cast(-64)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(7652), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7652), aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(12))); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-1044), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-1044), aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(32))); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-8140), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-8140), aot_gpr_5); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(36))); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(7672), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7672), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(40))); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(7676), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7676), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(44))); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(7684), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7684), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(48))); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-2340), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-2340), std::bit_cast(aot_fpr_12)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(52))); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(7764), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7764), aot_gpr_5); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(56)))))); - aot_mem.aot_direct_store16(aot_gpr_28 + static_cast(8344), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store16(ctx.gpr[28] + static_cast(8344), static_cast(aot_gpr_5)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(58)))))); - aot_mem.aot_direct_store16(aot_gpr_28 + static_cast(8352), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store16(ctx.gpr[28] + static_cast(8352), static_cast(aot_gpr_5)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(60)))))); - aot_mem.aot_direct_store16(aot_gpr_28 + static_cast(10284), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store16(ctx.gpr[28] + static_cast(10284), static_cast(aot_gpr_5)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(64))); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(10288), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(10288), aot_gpr_5); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(68))); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(8664), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8664), std::bit_cast(aot_fpr_12)); aot_gpr_5 = (2236u << 16u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); aot_gpr_5 = (aot_gpr_5 + static_cast(32304)); @@ -7245,23 +7246,23 @@ L_08AB6A10: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(84))); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(1944), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(88))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-23440))); + ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23440))); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(1972), std::bit_cast(aot_fpr_12)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(92))); aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(11232), aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(96))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-23440))); + ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23440))); aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(11236), aot_gpr_5); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(100))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-23440))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23440))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(11240), std::bit_cast(aot_fpr_12)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), aot_gpr_31); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); goto L_08AB6AF8; } goto L_08AB6AEC; @@ -7271,7 +7272,7 @@ L_08AB6AEC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 466u, 0x08B65E44u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB6AF4u) goto L_08AB6AF4; AOT_REGCACHE_SYNC_OUT(); return; L_08AB6AF4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); goto L_08AB6AF8; L_08AB6AF8: aot_gpr_31 = (0x08AB6B00u); @@ -7279,7 +7280,7 @@ L_08AB6AF8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0112_entry, 112u, 632u, 0x089C6D80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB6B00u) goto L_08AB6B00; AOT_REGCACHE_SYNC_OUT(); return; L_08AB6B00: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(108))); goto L_08AB6B18; @@ -7295,13 +7296,13 @@ L_08AB6B14: goto L_08AB6B18; L_08AB6B18: aot_gpr_5 = (0u < aot_gpr_4 ? 1u : 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); aot_gpr_31 = (0x08AB6B28u); aot_gpr_5 = (aot_gpr_5 & 255u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0112_entry, 112u, 639u, 0x089C6DC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB6B28u) goto L_08AB6B28; AOT_REGCACHE_SYNC_OUT(); return; L_08AB6B28: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(109))); goto L_08AB6B40; @@ -7317,15 +7318,15 @@ L_08AB6B3C: goto L_08AB6B40; L_08AB6B40: aot_gpr_5 = (0u < aot_gpr_4 ? 1u : 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); aot_gpr_31 = (0x08AB6B50u); aot_gpr_5 = (aot_gpr_5 & 255u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0112_entry, 112u, 630u, 0x089C6D70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB6B50u) goto L_08AB6B50; AOT_REGCACHE_SYNC_OUT(); return; L_08AB6B50: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); goto L_08AB6B68; } goto L_08AB6B5C; @@ -7335,7 +7336,7 @@ L_08AB6B5C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 466u, 0x08B65E44u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB6B64u) goto L_08AB6B64; AOT_REGCACHE_SYNC_OUT(); return; L_08AB6B64: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); goto L_08AB6B68; L_08AB6B68: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(112))); @@ -7345,9 +7346,9 @@ L_08AB6B68: AOT_REGCACHE_SYNC_OUT(); return; L_08AB6B74: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(116))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); { const bool branch_taken = aot_gpr_5 != 0u; - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-24162), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-24162), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08AB6B8C; } @@ -7359,15 +7360,15 @@ L_08AB6B84: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 466u, 0x08B65E44u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB6B8Cu) goto L_08AB6B8C; AOT_REGCACHE_SYNC_OUT(); return; L_08AB6B8C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); aot_gpr_31 = (0x08AB6B98u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(120))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0112_entry, 112u, 709u, 0x089C70B0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB6B98u) goto L_08AB6B98; AOT_REGCACHE_SYNC_OUT(); return; L_08AB6B98: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); goto L_08AB6BB0; } goto L_08AB6BA4; @@ -7377,7 +7378,7 @@ L_08AB6BA4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 466u, 0x08B65E44u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB6BACu) goto L_08AB6BAC; AOT_REGCACHE_SYNC_OUT(); return; L_08AB6BAC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); goto L_08AB6BB0; L_08AB6BB0: aot_gpr_31 = (0x08AB6BB8u); @@ -7385,9 +7386,9 @@ L_08AB6BB0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0112_entry, 112u, 711u, 0x089C70C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB6BB8u) goto L_08AB6BB8; AOT_REGCACHE_SYNC_OUT(); return; L_08AB6BB8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); goto L_08AB6BD0; } goto L_08AB6BC4; @@ -7397,7 +7398,7 @@ L_08AB6BC4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 466u, 0x08B65E44u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB6BCCu) goto L_08AB6BCC; AOT_REGCACHE_SYNC_OUT(); return; L_08AB6BCC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); goto L_08AB6BD0; L_08AB6BD0: aot_gpr_31 = (0x08AB6BD8u); @@ -7405,9 +7406,9 @@ L_08AB6BD0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0112_entry, 112u, 680u, 0x089C6F68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB6BD8u) goto L_08AB6BD8; AOT_REGCACHE_SYNC_OUT(); return; L_08AB6BD8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); goto L_08AB6BF0; } goto L_08AB6BE4; @@ -7417,7 +7418,7 @@ L_08AB6BE4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 466u, 0x08B65E44u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB6BECu) goto L_08AB6BEC; AOT_REGCACHE_SYNC_OUT(); return; L_08AB6BEC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); goto L_08AB6BF0; L_08AB6BF0: aot_gpr_31 = (0x08AB6BF8u); @@ -7431,16 +7432,16 @@ L_08AB6BF8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB6C04u) goto L_08AB6C04; AOT_REGCACHE_SYNC_OUT(); return; L_08AB6C04: - aot_mem.aot_direct_store16(ctx.gpr[2] + static_cast(150), static_cast(ctx.gpr[17])); + aot_mem.aot_direct_store16(aot_gpr_2 + static_cast(150), static_cast(ctx.gpr[17])); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(170))); - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-16129), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-16129), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(171))); aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-16128), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-16128), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(173))); - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(1781), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(1781), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(172))); - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-16130), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-16130), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(174))); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -7450,9 +7451,9 @@ L_08AB6C04: goto L_08AB6C38; } L_08AB6C38: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); goto L_08AB6C50; } goto L_08AB6C44; @@ -7462,7 +7463,7 @@ L_08AB6C44: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 466u, 0x08B65E44u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB6C4Cu) goto L_08AB6C4C; AOT_REGCACHE_SYNC_OUT(); return; L_08AB6C4C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); goto L_08AB6C50; L_08AB6C50: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(176))); @@ -7474,9 +7475,9 @@ L_08AB6C50: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0112_entry, 112u, 723u, 0x089C7150u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB6C68u) goto L_08AB6C68; AOT_REGCACHE_SYNC_OUT(); return; L_08AB6C68: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); goto L_08AB6C80; } goto L_08AB6C74; @@ -7486,11 +7487,11 @@ L_08AB6C74: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 466u, 0x08B65E44u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB6C7Cu) goto L_08AB6C7C; AOT_REGCACHE_SYNC_OUT(); return; L_08AB6C7C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); goto L_08AB6C80; L_08AB6C80: { const bool branch_taken = aot_gpr_4 != 0u; - ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); if (branch_taken) { goto L_08AB6C90; } @@ -7502,7 +7503,7 @@ L_08AB6C88: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 358u, 0x08B65844u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB6C90u) goto L_08AB6C90; AOT_REGCACHE_SYNC_OUT(); return; L_08AB6C90: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); aot_fpr_12 = std::bit_cast(0u); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(176))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(180))); @@ -7515,11 +7516,11 @@ L_08AB6C90: L_08AB6CB4: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08AB6CC0u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0112_entry, 112u, 725u, 0x089C716Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB6CC0u) goto L_08AB6CC0; AOT_REGCACHE_SYNC_OUT(); return; L_08AB6CC0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -7534,11 +7535,11 @@ L_08AB6CCC: AOT_REGCACHE_SYNC_OUT(); return; L_08AB6CD4: aot_gpr_31 = (0x08AB6CDCu); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0112_entry, 112u, 724u, 0x089C7164u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB6CDCu) goto L_08AB6CDC; AOT_REGCACHE_SYNC_OUT(); return; L_08AB6CDC: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08AB6D04; @@ -7546,9 +7547,9 @@ L_08AB6CDC: goto L_08AB6CE4; } L_08AB6CE4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); goto L_08AB6CFC; } goto L_08AB6CF0; @@ -7558,7 +7559,7 @@ L_08AB6CF0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 466u, 0x08B65E44u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB6CF8u) goto L_08AB6CF8; AOT_REGCACHE_SYNC_OUT(); return; L_08AB6CF8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); goto L_08AB6CFC; L_08AB6CFC: aot_gpr_31 = (0x08AB6D04u); @@ -7574,9 +7575,9 @@ L_08AB6D04: goto L_08AB6D0C; } L_08AB6D0C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); goto L_08AB6D24; } goto L_08AB6D18; @@ -7586,7 +7587,7 @@ L_08AB6D18: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 466u, 0x08B65E44u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB6D20u) goto L_08AB6D20; AOT_REGCACHE_SYNC_OUT(); return; L_08AB6D20: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); goto L_08AB6D24; L_08AB6D24: aot_gpr_31 = (0x08AB6D2Cu); @@ -7603,7 +7604,7 @@ L_08AB6D2C: goto L_08AB6D38; } L_08AB6D38: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5896))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5896))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -7618,11 +7619,11 @@ L_08AB6D44: AOT_REGCACHE_SYNC_OUT(); return; L_08AB6D4C: aot_gpr_31 = (0x08AB6D54u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5896))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5896))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0044_entry, 44u, 472u, 0x088B6860u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB6D54u) goto L_08AB6D54; AOT_REGCACHE_SYNC_OUT(); return; L_08AB6D54: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08AB6DA4; @@ -7630,9 +7631,9 @@ L_08AB6D54: goto L_08AB6D5C; } L_08AB6D5C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); goto L_08AB6D74; } goto L_08AB6D68; @@ -7642,7 +7643,7 @@ L_08AB6D68: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 466u, 0x08B65E44u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB6D70u) goto L_08AB6D70; AOT_REGCACHE_SYNC_OUT(); return; L_08AB6D70: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); goto L_08AB6D74; L_08AB6D74: aot_gpr_31 = (0x08AB6D7Cu); @@ -7650,9 +7651,9 @@ L_08AB6D74: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0112_entry, 112u, 713u, 0x089C70D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB6D7Cu) goto L_08AB6D7C; AOT_REGCACHE_SYNC_OUT(); return; L_08AB6D7C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5896))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5896))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5896))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5896))); goto L_08AB6D94; } goto L_08AB6D88; @@ -7662,7 +7663,7 @@ L_08AB6D88: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0217_entry, 217u, 34u, 0x08B68290u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB6D90u) goto L_08AB6D90; AOT_REGCACHE_SYNC_OUT(); return; L_08AB6D90: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5896))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5896))); goto L_08AB6D94; L_08AB6D94: aot_gpr_31 = (0x08AB6D9Cu); @@ -7678,9 +7679,9 @@ L_08AB6D9C: goto L_08AB6DA4; } L_08AB6DA4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); goto L_08AB6DBC; } goto L_08AB6DB0; @@ -7690,7 +7691,7 @@ L_08AB6DB0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 466u, 0x08B65E44u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB6DB8u) goto L_08AB6DB8; AOT_REGCACHE_SYNC_OUT(); return; L_08AB6DB8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); goto L_08AB6DBC; L_08AB6DBC: aot_gpr_31 = (0x08AB6DC4u); @@ -7698,9 +7699,9 @@ L_08AB6DBC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0112_entry, 112u, 713u, 0x089C70D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB6DC4u) goto L_08AB6DC4; AOT_REGCACHE_SYNC_OUT(); return; L_08AB6DC4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5896))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5896))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5896))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5896))); goto L_08AB6DDC; } goto L_08AB6DD0; @@ -7710,7 +7711,7 @@ L_08AB6DD0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0217_entry, 217u, 34u, 0x08B68290u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB6DD8u) goto L_08AB6DD8; AOT_REGCACHE_SYNC_OUT(); return; L_08AB6DD8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5896))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5896))); goto L_08AB6DDC; L_08AB6DDC: aot_gpr_31 = (0x08AB6DE4u); @@ -7729,9 +7730,9 @@ L_08AB6DEC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0079_entry, 79u, 225u, 0x08941948u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB6DF8u) goto L_08AB6DF8; AOT_REGCACHE_SYNC_OUT(); return; L_08AB6DF8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); goto L_08AB6E10; } goto L_08AB6E04; @@ -7741,7 +7742,7 @@ L_08AB6E04: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 466u, 0x08B65E44u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB6E0Cu) goto L_08AB6E0C; AOT_REGCACHE_SYNC_OUT(); return; L_08AB6E0C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); goto L_08AB6E10; L_08AB6E10: aot_gpr_31 = (0x08AB6E18u); @@ -7749,9 +7750,9 @@ L_08AB6E10: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0112_entry, 112u, 733u, 0x089C71B0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB6E18u) goto L_08AB6E18; AOT_REGCACHE_SYNC_OUT(); return; L_08AB6E18: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); goto L_08AB6E30; } goto L_08AB6E24; @@ -7761,7 +7762,7 @@ L_08AB6E24: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 466u, 0x08B65E44u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB6E2Cu) goto L_08AB6E2C; AOT_REGCACHE_SYNC_OUT(); return; L_08AB6E2C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5876))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); goto L_08AB6E30; L_08AB6E30: aot_gpr_31 = (0x08AB6E38u); @@ -7769,9 +7770,9 @@ L_08AB6E30: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0112_entry, 112u, 731u, 0x089C71A0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB6E38u) goto L_08AB6E38; AOT_REGCACHE_SYNC_OUT(); return; L_08AB6E38: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); goto L_08AB6E50; } goto L_08AB6E44; @@ -7781,7 +7782,7 @@ L_08AB6E44: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 358u, 0x08B65844u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB6E4Cu) goto L_08AB6E4C; AOT_REGCACHE_SYNC_OUT(); return; L_08AB6E4C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); goto L_08AB6E50; L_08AB6E50: { std::uint32_t aot_run_words[3]{}; @@ -7844,7 +7845,7 @@ L_08AB6EF0: aot_gpr_4 = (ctx.gpr[17] | 0u); goto L_08AB4DFC; L_08AB6EF8: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08AB6F04u); aot_gpr_5 = (ctx.gpr[17] | 0u); goto L_08AB4E7C; @@ -7854,7 +7855,7 @@ L_08AB6F04: aot_gpr_4 = (ctx.gpr[17] | 0u); goto L_08AB6654; L_08AB6F10: - aot_gpr_4 = (aot_gpr_28 + static_cast(-2168)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(-2168)); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08AB6F20u); ctx.gpr[6] = (0u | 200u); @@ -7867,7 +7868,7 @@ L_08AB6F20: AOT_REGCACHE_SYNC_OUT(); return; L_08AB6F2C: ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); - aot_gpr_4 = (aot_gpr_28 + static_cast(-2160)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(-2160)); aot_gpr_31 = (0x08AB6F3Cu); aot_gpr_5 = (aot_gpr_16 | 0u); goto L_08AB4EE0; @@ -7879,12 +7880,12 @@ L_08AB6F3C: AOT_REGCACHE_SYNC_OUT(); return; L_08AB6F48: ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); - aot_gpr_4 = (aot_gpr_28 + static_cast(-2152)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(-2152)); aot_gpr_31 = (0x08AB6F58u); aot_gpr_5 = (aot_gpr_16 | 0u); goto L_08AB4EE0; L_08AB6F58: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(7800))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7800))); aot_gpr_5 = (aot_gpr_4 + aot_gpr_4); ctx.gpr[6] = (aot_gpr_4 << 8u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); @@ -7900,7 +7901,7 @@ L_08AB6F58: AOT_REGCACHE_SYNC_OUT(); return; L_08AB6F88: ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); - aot_gpr_4 = (aot_gpr_28 + static_cast(-2028)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(-2028)); aot_gpr_31 = (0x08AB6F98u); aot_gpr_5 = (aot_gpr_16 | 0u); goto L_08AB4EE0; @@ -7913,14 +7914,14 @@ L_08AB6F98: AOT_REGCACHE_SYNC_OUT(); return; L_08AB6FA8: ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(28))); - aot_gpr_4 = (aot_gpr_28 + static_cast(-2020)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(-2020)); aot_gpr_31 = (0x08AB6FB8u); aot_gpr_5 = (aot_gpr_16 | 0u); goto L_08AB4EE0; L_08AB6FB8: ctx.gpr[17] = (2236u << 16u); ctx.gpr[20] = (ctx.gpr[17] + static_cast(4960)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); aot_gpr_5 = (ctx.gpr[20] + static_cast(176)); ctx.gpr[21] = (aot_gpr_29 + static_cast(232)); ctx.gpr[22] = (aot_gpr_29 + static_cast(488)); @@ -7939,7 +7940,7 @@ L_08AB6FE0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 358u, 0x08B65844u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB6FE8u) goto L_08AB6FE8; AOT_REGCACHE_SYNC_OUT(); return; L_08AB6FE8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); aot_gpr_5 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08AB6FF8u); ctx.gpr[6] = (ctx.gpr[18] | 0u); @@ -7947,7 +7948,7 @@ L_08AB6FE8: AOT_REGCACHE_SYNC_OUT(); return; L_08AB6FF8: ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(28))); - aot_gpr_4 = (aot_gpr_28 + static_cast(-2012)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(-2012)); aot_gpr_31 = (0x08AB7008u); aot_gpr_5 = (aot_gpr_16 | 0u); goto L_08AB4EE0; @@ -7957,14 +7958,14 @@ L_08AB7008: goto L_08AB4EC8; L_08AB7010: aot_gpr_31 = (0x08AB7018u); - aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(4), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(4), aot_gpr_2); goto L_08AB4ED0; L_08AB7018: - aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(8), ctx.gpr[2]); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-5336))); - ctx.gpr[18] = (aot_gpr_28 + static_cast(8128)); + aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(8), aot_gpr_2); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-5336))); + ctx.gpr[18] = (ctx.gpr[28] + static_cast(8128)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); { const bool branch_taken = ctx.gpr[17] != 0u; aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(12), aot_gpr_4); if (branch_taken) { @@ -7979,7 +7980,7 @@ L_08AB7034: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB7040u) goto L_08AB7040; AOT_REGCACHE_SYNC_OUT(); return; L_08AB7040: - aot_gpr_16 = (ctx.gpr[2] | 0u); + aot_gpr_16 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_16 == 0u; // nop if (branch_taken) { @@ -7990,13 +7991,13 @@ L_08AB7040: L_08AB704C: aot_gpr_31 = (0x08AB7054u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB7054u) goto L_08AB7054; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB7054u) goto L_08AB7054; AOT_REGCACHE_SYNC_OUT(); return; L_08AB7054: ctx.gpr[17] = (aot_gpr_16 | 0u); goto L_08AB7058; L_08AB7058: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), ctx.gpr[17]); goto L_08AB705C; L_08AB705C: ctx.gpr[6] = (ctx.gpr[20] + static_cast(48)); @@ -8007,7 +8008,7 @@ L_08AB705C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 426u, 0x089F63FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB7070u) goto L_08AB7070; AOT_REGCACHE_SYNC_OUT(); return; L_08AB7070: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(7800))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7800))); aot_gpr_5 = (aot_gpr_4 + aot_gpr_4); ctx.gpr[6] = (aot_gpr_4 << 8u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); @@ -8015,7 +8016,7 @@ L_08AB7070: aot_gpr_4 = (ctx.gpr[6] + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[19]); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(172))); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8912))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8912))); aot_gpr_31 = (0x08AB709Cu); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(688), aot_gpr_4); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0099_entry, 99u, 223u, 0x0899103Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB709Cu) goto L_08AB709C; @@ -8077,9 +8078,9 @@ L_08AB70E4: goto L_08AB70EC; } L_08AB70EC: - ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); { const bool branch_taken = ctx.gpr[17] != 0u; - ctx.gpr[18] = (aot_gpr_28 + static_cast(-2004)); + ctx.gpr[18] = (ctx.gpr[28] + static_cast(-2004)); if (branch_taken) { goto L_08AB7120; } @@ -8092,7 +8093,7 @@ L_08AB70F8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB7104u) goto L_08AB7104; AOT_REGCACHE_SYNC_OUT(); return; L_08AB7104: - aot_gpr_16 = (ctx.gpr[2] | 0u); + aot_gpr_16 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_16 == 0u; // nop if (branch_taken) { @@ -8103,13 +8104,13 @@ L_08AB7104: L_08AB7110: aot_gpr_31 = (0x08AB7118u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB7118u) goto L_08AB7118; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB7118u) goto L_08AB7118; AOT_REGCACHE_SYNC_OUT(); return; L_08AB7118: ctx.gpr[17] = (aot_gpr_16 | 0u); goto L_08AB711C; L_08AB711C: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), ctx.gpr[17]); goto L_08AB7120; L_08AB7120: aot_gpr_4 = (ctx.gpr[17] | 0u); @@ -8120,18 +8121,18 @@ L_08AB7120: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 426u, 0x089F63FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB7134u) goto L_08AB7134; AOT_REGCACHE_SYNC_OUT(); return; L_08AB7134: - ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); { const bool branch_taken = 0u == 0u; - ctx.gpr[18] = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-2280))); + ctx.gpr[18] = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-2280))); if (branch_taken) { goto L_08AB7204; } goto L_08AB7140; } L_08AB7140: - ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); { const bool branch_taken = ctx.gpr[17] != 0u; - aot_gpr_5 = (aot_gpr_28 + static_cast(-1996)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-1996)); if (branch_taken) { goto L_08AB7178; } @@ -8144,7 +8145,7 @@ L_08AB714C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB7158u) goto L_08AB7158; AOT_REGCACHE_SYNC_OUT(); return; L_08AB7158: - aot_gpr_16 = (ctx.gpr[2] | 0u); + aot_gpr_16 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_16 == 0u; // nop if (branch_taken) { @@ -8155,14 +8156,14 @@ L_08AB7158: L_08AB7164: aot_gpr_31 = (0x08AB716Cu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB716Cu) goto L_08AB716C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB716Cu) goto L_08AB716C; AOT_REGCACHE_SYNC_OUT(); return; L_08AB716C: ctx.gpr[17] = (aot_gpr_16 | 0u); goto L_08AB7170; L_08AB7170: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); - aot_gpr_5 = (aot_gpr_28 + static_cast(-1996)); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), ctx.gpr[17]); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-1996)); goto L_08AB7178; L_08AB7178: aot_gpr_4 = (ctx.gpr[17] | 0u); @@ -8172,18 +8173,18 @@ L_08AB7178: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 426u, 0x089F63FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB7188u) goto L_08AB7188; AOT_REGCACHE_SYNC_OUT(); return; L_08AB7188: - ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); { const bool branch_taken = 0u == 0u; - ctx.gpr[18] = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-2280))); + ctx.gpr[18] = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-2280))); if (branch_taken) { goto L_08AB7204; } goto L_08AB7194; } L_08AB7194: - ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); { const bool branch_taken = ctx.gpr[17] != 0u; - ctx.gpr[18] = (aot_gpr_28 + static_cast(-2004)); + ctx.gpr[18] = (ctx.gpr[28] + static_cast(-2004)); if (branch_taken) { goto L_08AB71C8; } @@ -8196,7 +8197,7 @@ L_08AB71A0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB71ACu) goto L_08AB71AC; AOT_REGCACHE_SYNC_OUT(); return; L_08AB71AC: - aot_gpr_16 = (ctx.gpr[2] | 0u); + aot_gpr_16 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_16 == 0u; // nop if (branch_taken) { @@ -8207,13 +8208,13 @@ L_08AB71AC: L_08AB71B8: aot_gpr_31 = (0x08AB71C0u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB71C0u) goto L_08AB71C0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB71C0u) goto L_08AB71C0; AOT_REGCACHE_SYNC_OUT(); return; L_08AB71C0: ctx.gpr[17] = (aot_gpr_16 | 0u); goto L_08AB71C4; L_08AB71C4: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), ctx.gpr[17]); goto L_08AB71C8; L_08AB71C8: aot_gpr_4 = (ctx.gpr[17] | 0u); @@ -8224,9 +8225,9 @@ L_08AB71C8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 426u, 0x089F63FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB71DCu) goto L_08AB71DC; AOT_REGCACHE_SYNC_OUT(); return; L_08AB71DC: - ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); { const bool branch_taken = 0u == 0u; - ctx.gpr[18] = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-2280))); + ctx.gpr[18] = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-2280))); if (branch_taken) { goto L_08AB7204; } @@ -8238,8 +8239,8 @@ L_08AB71E8: aot_gpr_4 = (110u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(30575)); aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast(4), aot_gpr_4); - ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); - ctx.gpr[18] = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-2280))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); + ctx.gpr[18] = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-2280))); goto L_08AB7204; L_08AB7204: { const bool branch_taken = ctx.gpr[18] == 0u; @@ -8251,7 +8252,7 @@ L_08AB7204: } L_08AB720C: { const bool branch_taken = ctx.gpr[17] != 0u; - aot_gpr_5 = (aot_gpr_28 + static_cast(-1988)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-1988)); if (branch_taken) { goto L_08AB7240; } @@ -8264,7 +8265,7 @@ L_08AB7214: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB7220u) goto L_08AB7220; AOT_REGCACHE_SYNC_OUT(); return; L_08AB7220: - aot_gpr_16 = (ctx.gpr[2] | 0u); + aot_gpr_16 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_16 == 0u; // nop if (branch_taken) { @@ -8275,14 +8276,14 @@ L_08AB7220: L_08AB722C: aot_gpr_31 = (0x08AB7234u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB7234u) goto L_08AB7234; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB7234u) goto L_08AB7234; AOT_REGCACHE_SYNC_OUT(); return; L_08AB7234: ctx.gpr[17] = (aot_gpr_16 | 0u); goto L_08AB7238; L_08AB7238: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); - aot_gpr_5 = (aot_gpr_28 + static_cast(-1988)); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), ctx.gpr[17]); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-1988)); goto L_08AB7240; L_08AB7240: aot_gpr_4 = (ctx.gpr[17] | 0u); @@ -8293,7 +8294,7 @@ L_08AB7240: AOT_REGCACHE_SYNC_OUT(); return; L_08AB7250: { const bool branch_taken = 0u == 0u; - ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); if (branch_taken) { goto L_08AB72A0; } @@ -8301,7 +8302,7 @@ L_08AB7250: } L_08AB7258: { const bool branch_taken = ctx.gpr[17] != 0u; - aot_gpr_5 = (aot_gpr_28 + static_cast(-1980)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-1980)); if (branch_taken) { goto L_08AB728C; } @@ -8314,7 +8315,7 @@ L_08AB7260: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB726Cu) goto L_08AB726C; AOT_REGCACHE_SYNC_OUT(); return; L_08AB726C: - aot_gpr_16 = (ctx.gpr[2] | 0u); + aot_gpr_16 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_16 == 0u; // nop if (branch_taken) { @@ -8325,14 +8326,14 @@ L_08AB726C: L_08AB7278: aot_gpr_31 = (0x08AB7280u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB7280u) goto L_08AB7280; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB7280u) goto L_08AB7280; AOT_REGCACHE_SYNC_OUT(); return; L_08AB7280: ctx.gpr[17] = (aot_gpr_16 | 0u); goto L_08AB7284; L_08AB7284: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); - aot_gpr_5 = (aot_gpr_28 + static_cast(-1980)); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), ctx.gpr[17]); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-1980)); goto L_08AB728C; L_08AB728C: aot_gpr_4 = (ctx.gpr[17] | 0u); @@ -8342,11 +8343,11 @@ L_08AB728C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 426u, 0x089F63FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB729Cu) goto L_08AB729C; AOT_REGCACHE_SYNC_OUT(); return; L_08AB729C: - ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); goto L_08AB72A0; L_08AB72A0: { const bool branch_taken = ctx.gpr[17] != 0u; - aot_gpr_5 = (aot_gpr_28 + static_cast(-1972)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-1972)); if (branch_taken) { goto L_08AB72D4; } @@ -8359,7 +8360,7 @@ L_08AB72A8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB72B4u) goto L_08AB72B4; AOT_REGCACHE_SYNC_OUT(); return; L_08AB72B4: - aot_gpr_16 = (ctx.gpr[2] | 0u); + aot_gpr_16 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_16 == 0u; // nop if (branch_taken) { @@ -8370,14 +8371,14 @@ L_08AB72B4: L_08AB72C0: aot_gpr_31 = (0x08AB72C8u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB72C8u) goto L_08AB72C8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB72C8u) goto L_08AB72C8; AOT_REGCACHE_SYNC_OUT(); return; L_08AB72C8: ctx.gpr[17] = (aot_gpr_16 | 0u); goto L_08AB72CC; L_08AB72CC: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); - aot_gpr_5 = (aot_gpr_28 + static_cast(-1972)); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), ctx.gpr[17]); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-1972)); goto L_08AB72D4; L_08AB72D4: aot_gpr_4 = (ctx.gpr[17] | 0u); @@ -8387,9 +8388,9 @@ L_08AB72D4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 426u, 0x089F63FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB72E4u) goto L_08AB72E4; AOT_REGCACHE_SYNC_OUT(); return; L_08AB72E4: - ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); { const bool branch_taken = ctx.gpr[17] != 0u; - aot_gpr_5 = (aot_gpr_28 + static_cast(-1964)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-1964)); if (branch_taken) { goto L_08AB731C; } @@ -8402,7 +8403,7 @@ L_08AB72F0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB72FCu) goto L_08AB72FC; AOT_REGCACHE_SYNC_OUT(); return; L_08AB72FC: - aot_gpr_16 = (ctx.gpr[2] | 0u); + aot_gpr_16 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_16 == 0u; // nop if (branch_taken) { @@ -8413,14 +8414,14 @@ L_08AB72FC: L_08AB7308: aot_gpr_31 = (0x08AB7310u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB7310u) goto L_08AB7310; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB7310u) goto L_08AB7310; AOT_REGCACHE_SYNC_OUT(); return; L_08AB7310: ctx.gpr[17] = (aot_gpr_16 | 0u); goto L_08AB7314; L_08AB7314: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); - aot_gpr_5 = (aot_gpr_28 + static_cast(-1964)); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), ctx.gpr[17]); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-1964)); goto L_08AB731C; L_08AB731C: aot_gpr_4 = (ctx.gpr[17] | 0u); @@ -8430,19 +8431,19 @@ L_08AB731C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 426u, 0x089F63FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB732Cu) goto L_08AB732C; AOT_REGCACHE_SYNC_OUT(); return; L_08AB732C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-5336))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-5336))); aot_gpr_31 = (0x08AB7338u); - aot_gpr_5 = (aot_gpr_28 + static_cast(7344)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(7344)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0162_entry, 162u, 421u, 0x08A8E188u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB7338u) goto L_08AB7338; AOT_REGCACHE_SYNC_OUT(); return; L_08AB7338: aot_gpr_31 = (0x08AB7340u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0162_entry, 162u, 292u, 0x08A8D904u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB7340u) goto L_08AB7340; AOT_REGCACHE_SYNC_OUT(); return; L_08AB7340: aot_gpr_31 = (0x08AB7348u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 315u, 0x089F5B0Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB7348u) goto L_08AB7348; AOT_REGCACHE_SYNC_OUT(); return; L_08AB7348: @@ -8452,7 +8453,7 @@ L_08AB7348: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_20) || std::isnan(aot_fpr_12)) && aot_fpr_20 == aot_fpr_12)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); - aot_gpr_16 = (ctx.gpr[2] | 0u); + aot_gpr_16 = (aot_gpr_2 | 0u); if (branch_taken) { goto L_08AB73A0; } @@ -8489,12 +8490,12 @@ L_08AB73A0: ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(684))); aot_gpr_31 = (0x08AB73B8u); ctx.gpr[19] = (aot_gpr_4 + static_cast(11872)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB73B8u) goto L_08AB73B8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB73B8u) goto L_08AB73B8; AOT_REGCACHE_SYNC_OUT(); return; L_08AB73B8: ctx.gpr[11] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(688))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[3]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_2); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); ctx.gpr[6] = (ctx.gpr[21] | 0u); @@ -8516,7 +8517,7 @@ L_08AB73F0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0097_entry, 97u, 839u, 0x0898B4B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB73F8u) goto L_08AB73F8; AOT_REGCACHE_SYNC_OUT(); return; L_08AB73F8: - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); { std::uint32_t aot_run_words[11]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(696), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); @@ -8550,7 +8551,7 @@ L_08AB7430: AOT_REGCACHE_SYNC_OUT(); return; L_08AB7458: aot_gpr_4 = (2236u << 16u); - ctx.gpr[6] = (ctx.gpr[2] | 0u); + ctx.gpr[6] = (aot_gpr_2 | 0u); aot_gpr_4 = (aot_gpr_4 + static_cast(-2108)); ctx.gpr[7] = (ctx.gpr[6] < static_cast(5) ? 1u : 0u); { const bool branch_taken = ctx.gpr[7] == 0u; @@ -8606,7 +8607,7 @@ L_08AB7498: ctx.pc = 0x08B730F4u; AOT_REGCACHE_SYNC_OUT(); return; L_08AB74A0: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -8627,7 +8628,7 @@ L_08AB74B4: goto L_08AB74BC; } L_08AB74BC: - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-2196), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-2196), static_cast(0u)); ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(28))); { const bool branch_taken = ctx.gpr[6] == 0u; // nop @@ -8657,7 +8658,7 @@ L_08AB74DC: } L_08AB74E8: ctx.gpr[6] = (0u | 1u); - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-2196), static_cast(ctx.gpr[6])); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-2196), static_cast(ctx.gpr[6])); goto L_08AB74F0; L_08AB74F0: ctx.gpr[6] = (ctx.gpr[17] < static_cast(9) ? 1u : 0u); @@ -8680,7 +8681,7 @@ L_08AB74FC: ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08AB7514: - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-2196))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-2196))); { const bool branch_taken = aot_gpr_5 != 0u; // nop if (branch_taken) { @@ -8702,14 +8703,14 @@ L_08AB7520: L_08AB7534: aot_gpr_4 = (0u | 1u); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-2264), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-2264), aot_gpr_4); if (branch_taken) { goto L_08AB754C; } goto L_08AB7540; } L_08AB7540: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-2264), 0u); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-2264), 0u); aot_gpr_31 = (0x08AB754Cu); aot_gpr_4 = (0u | 360u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 472u, 0x08966EE8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB754Cu) goto L_08AB754C; @@ -8717,7 +8718,7 @@ L_08AB7540: L_08AB754C: aot_gpr_4 = (0u | 1u); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-2268), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-2268), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08AB77BC; } @@ -8726,14 +8727,14 @@ L_08AB754C: L_08AB7558: aot_gpr_4 = (0u | 1u); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-2268), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-2268), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08AB77BC; } goto L_08AB7564; } L_08AB7564: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7688))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7688))); ctx.gpr[17] = (2237u << 16u); { const bool branch_taken = aot_gpr_4 != 0u; ctx.gpr[17] = (ctx.gpr[17] + static_cast(-28416)); @@ -8744,15 +8745,15 @@ L_08AB7564: } L_08AB7574: aot_gpr_4 = (0u | 1u); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(7688), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7688), aot_gpr_4); aot_gpr_31 = (0x08AB7584u); aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0010_entry, 10u, 286u, 0x0882D794u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB7584u) goto L_08AB7584; AOT_REGCACHE_SYNC_OUT(); return; L_08AB7584: aot_gpr_31 = (0x08AB758Cu); - aot_gpr_4 = (aot_gpr_28 + static_cast(-2192)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB758Cu) goto L_08AB758C; + aot_gpr_4 = (ctx.gpr[28] + static_cast(-2192)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB758Cu) goto L_08AB758C; AOT_REGCACHE_SYNC_OUT(); return; L_08AB758C: aot_gpr_4 = (ctx.gpr[17] | 0u); @@ -8762,14 +8763,14 @@ L_08AB758C: AOT_REGCACHE_SYNC_OUT(); return; L_08AB7598: { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-2295), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-2295), static_cast(0u)); if (branch_taken) { goto L_08AB77BC; } goto L_08AB75A0; } L_08AB75A0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7688))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7688))); ctx.gpr[17] = (2237u << 16u); { const bool branch_taken = aot_gpr_4 != 0u; ctx.gpr[17] = (ctx.gpr[17] + static_cast(-28416)); @@ -8780,15 +8781,15 @@ L_08AB75A0: } L_08AB75B0: aot_gpr_4 = (0u | 1u); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(7688), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7688), aot_gpr_4); aot_gpr_31 = (0x08AB75C0u); aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0010_entry, 10u, 286u, 0x0882D794u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB75C0u) goto L_08AB75C0; AOT_REGCACHE_SYNC_OUT(); return; L_08AB75C0: aot_gpr_31 = (0x08AB75C8u); - aot_gpr_4 = (aot_gpr_28 + static_cast(-2192)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB75C8u) goto L_08AB75C8; + aot_gpr_4 = (ctx.gpr[28] + static_cast(-2192)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB75C8u) goto L_08AB75C8; AOT_REGCACHE_SYNC_OUT(); return; L_08AB75C8: aot_gpr_4 = (ctx.gpr[17] | 0u); @@ -8798,14 +8799,14 @@ L_08AB75C8: AOT_REGCACHE_SYNC_OUT(); return; L_08AB75D4: { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-2295), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-2295), static_cast(0u)); if (branch_taken) { goto L_08AB77BC; } goto L_08AB75DC; } L_08AB75DC: - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-2196))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-2196))); { const bool branch_taken = aot_gpr_5 == 0u; // nop if (branch_taken) { @@ -8825,7 +8826,7 @@ L_08AB75E8: L_08AB75F4: aot_gpr_4 = (0u | 1u); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-19672), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-19672), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08AB7608; } @@ -8837,7 +8838,7 @@ L_08AB7600: goto L_08AB50BC; L_08AB7608: { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-2295), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-2295), static_cast(0u)); if (branch_taken) { goto L_08AB77BC; } @@ -8907,7 +8908,7 @@ L_08AB766C: } goto L_08AB7688; L_08AB7688: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-2293))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-2293))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -8920,7 +8921,7 @@ L_08AB7694: // nop goto L_08AB6194; L_08AB769C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08AB76B0; @@ -8966,14 +8967,14 @@ L_08AB76D4: goto L_08AB76E8; L_08AB76E8: { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-2295), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-2295), static_cast(0u)); if (branch_taken) { goto L_08AB77BC; } goto L_08AB76F0; } L_08AB76F0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5896))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5896))); ctx.gpr[17] = (2237u << 16u); { const bool branch_taken = aot_gpr_4 != 0u; ctx.gpr[17] = (ctx.gpr[17] + static_cast(-28416)); @@ -8988,13 +8989,13 @@ L_08AB7700: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0217_entry, 217u, 34u, 0x08B68290u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB7708u) goto L_08AB7708; AOT_REGCACHE_SYNC_OUT(); return; L_08AB7708: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5896))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5896))); aot_gpr_5 = (0u + static_cast(-5)); ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(8)))))); aot_gpr_5 = (ctx.gpr[6] & aot_gpr_5); aot_gpr_5 = (aot_gpr_5 | 4u); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(8), static_cast(aot_gpr_5)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7688))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7688))); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_4 = (ctx.gpr[17] | 0u); if (branch_taken) { @@ -9004,15 +9005,15 @@ L_08AB7708: } L_08AB772C: aot_gpr_4 = (0u | 1u); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(7688), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7688), aot_gpr_4); aot_gpr_31 = (0x08AB773Cu); aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0010_entry, 10u, 286u, 0x0882D794u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB773Cu) goto L_08AB773C; AOT_REGCACHE_SYNC_OUT(); return; L_08AB773C: aot_gpr_31 = (0x08AB7744u); - aot_gpr_4 = (aot_gpr_28 + static_cast(-2192)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB7744u) goto L_08AB7744; + aot_gpr_4 = (ctx.gpr[28] + static_cast(-2192)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB7744u) goto L_08AB7744; AOT_REGCACHE_SYNC_OUT(); return; L_08AB7744: aot_gpr_4 = (ctx.gpr[17] | 0u); @@ -9024,14 +9025,14 @@ L_08AB7748: AOT_REGCACHE_SYNC_OUT(); return; L_08AB7750: { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-2295), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-2295), static_cast(0u)); if (branch_taken) { goto L_08AB77BC; } goto L_08AB7758; } L_08AB7758: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5896))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5896))); ctx.gpr[17] = (2237u << 16u); { const bool branch_taken = aot_gpr_4 != 0u; ctx.gpr[17] = (ctx.gpr[17] + static_cast(-28416)); @@ -9046,13 +9047,13 @@ L_08AB7768: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0217_entry, 217u, 34u, 0x08B68290u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB7770u) goto L_08AB7770; AOT_REGCACHE_SYNC_OUT(); return; L_08AB7770: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(5896))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5896))); aot_gpr_5 = (0u + static_cast(-5)); ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(8)))))); aot_gpr_5 = (ctx.gpr[6] & aot_gpr_5); aot_gpr_5 = (aot_gpr_5 | 4u); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(8), static_cast(aot_gpr_5)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7688))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7688))); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_4 = (ctx.gpr[17] | 0u); if (branch_taken) { @@ -9062,15 +9063,15 @@ L_08AB7770: } L_08AB7794: aot_gpr_4 = (0u | 1u); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(7688), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7688), aot_gpr_4); aot_gpr_31 = (0x08AB77A4u); aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0010_entry, 10u, 286u, 0x0882D794u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB77A4u) goto L_08AB77A4; AOT_REGCACHE_SYNC_OUT(); return; L_08AB77A4: aot_gpr_31 = (0x08AB77ACu); - aot_gpr_4 = (aot_gpr_28 + static_cast(-2192)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB77ACu) goto L_08AB77AC; + aot_gpr_4 = (ctx.gpr[28] + static_cast(-2192)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB77ACu) goto L_08AB77AC; AOT_REGCACHE_SYNC_OUT(); return; L_08AB77AC: aot_gpr_4 = (ctx.gpr[17] | 0u); @@ -9081,7 +9082,7 @@ L_08AB77B0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0010_entry, 10u, 608u, 0x0882E99Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB77B8u) goto L_08AB77B8; AOT_REGCACHE_SYNC_OUT(); return; L_08AB77B8: - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-2295), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-2295), static_cast(0u)); goto L_08AB77BC; L_08AB77BC: aot_gpr_31 = (0x08AB77C4u); @@ -9089,7 +9090,7 @@ L_08AB77BC: ctx.pc = 0x08B730D4u; AOT_REGCACHE_SYNC_OUT(); return; L_08AB77C4: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -9112,7 +9113,7 @@ L_08AB77D8: L_08AB77E0: aot_gpr_16 = (0u | 0u); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(7713), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(7713), static_cast(0u)); if (branch_taken) { goto L_08AB7800; } @@ -9121,7 +9122,7 @@ L_08AB77E0: L_08AB77EC: aot_gpr_16 = (0u | 0u); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(7713), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(7713), static_cast(0u)); if (branch_taken) { goto L_08AB7800; } @@ -9133,11 +9134,11 @@ L_08AB77F8: goto L_08AB5468; L_08AB7800: aot_gpr_31 = (0x08AB7808u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-8872))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-8872))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 808u, 0x08A07608u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB7808u) goto L_08AB7808; AOT_REGCACHE_SYNC_OUT(); return; L_08AB7808: - ctx.gpr[2] = (aot_gpr_16 | 0u); + aot_gpr_2 = (aot_gpr_16 | 0u); { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; @@ -9165,11 +9166,11 @@ L_08AB782C: aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(264), aot_run_words); } aot_gpr_31 = (0x08AB7864u); ctx.gpr[6] = (0u | 256u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB7864u) goto L_08AB7864; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB7864u) goto L_08AB7864; AOT_REGCACHE_SYNC_OUT(); return; L_08AB7864: - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(-2268), static_cast(0u)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7872))); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-2268), static_cast(0u)); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7872))); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_4 = (0u | 1u); if (branch_taken) { @@ -9178,13 +9179,13 @@ L_08AB7864: goto L_08AB7874; } L_08AB7874: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(7872), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7872), aot_gpr_4); aot_gpr_31 = (0x08AB7880u); - aot_gpr_4 = (aot_gpr_28 + static_cast(7864)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(7864)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0112_entry, 112u, 464u, 0x089C6318u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB7880u) goto L_08AB7880; AOT_REGCACHE_SYNC_OUT(); return; L_08AB7880: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7868))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7868))); aot_gpr_5 = (aot_gpr_4 < static_cast(5) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; // nop @@ -9277,7 +9278,7 @@ L_08AB78E0: aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08AB78FCu); ctx.gpr[6] = (0u | 1536u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB78FCu) goto L_08AB78FC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB78FCu) goto L_08AB78FC; AOT_REGCACHE_SYNC_OUT(); return; L_08AB78FC: aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(-2108), ctx.gpr[21]); @@ -9304,7 +9305,7 @@ L_08AB7930: ctx.gpr[6] = (0u | 1200u); aot_gpr_31 = (0x08AB7944u); aot_gpr_4 = (aot_gpr_4 + static_cast(-440)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB7944u) goto L_08AB7944; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB7944u) goto L_08AB7944; AOT_REGCACHE_SYNC_OUT(); return; L_08AB7944: { const bool branch_taken = 0u == 0u; @@ -9351,45 +9352,45 @@ L_08AB7984: aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(56), aot_gpr_4); aot_gpr_4 = (0u | 7u); aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(1480), aot_gpr_4); - ctx.gpr[18] = (aot_gpr_28 + static_cast(-2084)); + ctx.gpr[18] = (ctx.gpr[28] + static_cast(-2084)); ctx.gpr[19] = (ctx.gpr[17] + static_cast(60)); aot_gpr_31 = (0x08AB79B4u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB79B4u) goto L_08AB79B4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB79B4u) goto L_08AB79B4; AOT_REGCACHE_SYNC_OUT(); return; L_08AB79B4: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08AB79C4u); - ctx.gpr[6] = (ctx.gpr[2] | 0u); + ctx.gpr[6] = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 200u, 0x08B58BA0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB79C4u) goto L_08AB79C4; AOT_REGCACHE_SYNC_OUT(); return; L_08AB79C4: - ctx.gpr[18] = (aot_gpr_28 + static_cast(-1956)); + ctx.gpr[18] = (ctx.gpr[28] + static_cast(-1956)); ctx.gpr[19] = (ctx.gpr[17] + static_cast(76)); aot_gpr_31 = (0x08AB79D4u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB79D4u) goto L_08AB79D4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB79D4u) goto L_08AB79D4; AOT_REGCACHE_SYNC_OUT(); return; L_08AB79D4: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08AB79E4u); - ctx.gpr[6] = (ctx.gpr[2] | 0u); + ctx.gpr[6] = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 200u, 0x08B58BA0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB79E4u) goto L_08AB79E4; AOT_REGCACHE_SYNC_OUT(); return; L_08AB79E4: - ctx.gpr[18] = (aot_gpr_28 + static_cast(-1948)); + ctx.gpr[18] = (ctx.gpr[28] + static_cast(-1948)); ctx.gpr[19] = (ctx.gpr[17] + static_cast(100)); aot_gpr_31 = (0x08AB79F4u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB79F4u) goto L_08AB79F4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB79F4u) goto L_08AB79F4; AOT_REGCACHE_SYNC_OUT(); return; L_08AB79F4: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08AB7A04u); - ctx.gpr[6] = (ctx.gpr[2] | 0u); + ctx.gpr[6] = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 200u, 0x08B58BA0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB7A04u) goto L_08AB7A04; AOT_REGCACHE_SYNC_OUT(); return; L_08AB7A04: @@ -9397,7 +9398,7 @@ L_08AB7A04: aot_gpr_4 = (aot_gpr_4 + static_cast(12504)); aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(96), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); - aot_gpr_5 = (aot_gpr_28 + static_cast(-2232)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-2232)); aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(116), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(1516), 0u); @@ -9433,7 +9434,7 @@ L_08AB7A5C: L_08AB7A6C: aot_gpr_4 = (0u | 9u); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(1408), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-19664))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-19664))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -9444,8 +9445,8 @@ L_08AB7A6C: L_08AB7A80: ctx.gpr[6] = (2232u << 16u); ctx.gpr[7] = (2234u << 16u); - aot_gpr_5 = (aot_gpr_28 + static_cast(-1936)); - ctx.gpr[8] = (aot_gpr_28 + static_cast(-1928)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-1936)); + ctx.gpr[8] = (ctx.gpr[28] + static_cast(-1928)); aot_gpr_4 = (aot_gpr_29 | 0u); ctx.gpr[6] = (ctx.gpr[6] + static_cast(11928)); aot_gpr_31 = (0x08AB7AA0u); @@ -9463,8 +9464,8 @@ L_08AB7AA0: L_08AB7AA8: ctx.gpr[6] = (2232u << 16u); ctx.gpr[7] = (2234u << 16u); - aot_gpr_5 = (aot_gpr_28 + static_cast(-1936)); - ctx.gpr[8] = (aot_gpr_28 + static_cast(-1928)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-1936)); + ctx.gpr[8] = (ctx.gpr[28] + static_cast(-1928)); aot_gpr_4 = (aot_gpr_29 | 0u); ctx.gpr[6] = (ctx.gpr[6] + static_cast(11972)); aot_gpr_31 = (0x08AB7AC8u); @@ -9477,7 +9478,7 @@ L_08AB7AC8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0077_entry, 77u, 250u, 0x08938F04u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB7AD0u) goto L_08AB7AD0; AOT_REGCACHE_SYNC_OUT(); return; L_08AB7AD0: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08AB7AE4u); @@ -9490,7 +9491,7 @@ L_08AB7AE4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0077_entry, 77u, 266u, 0x08939014u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB7AECu) goto L_08AB7AEC; AOT_REGCACHE_SYNC_OUT(); return; L_08AB7AEC: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08AB7B00u); @@ -9498,7 +9499,7 @@ L_08AB7AEC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0077_entry, 77u, 258u, 0x08938F7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB7B00u) goto L_08AB7B00; AOT_REGCACHE_SYNC_OUT(); return; L_08AB7B00: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-2208))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-2208))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -9508,16 +9509,16 @@ L_08AB7B00: } L_08AB7B0C: aot_gpr_31 = (0x08AB7B14u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-2208))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-2208))); goto L_08AB4E74; L_08AB7B14: aot_gpr_31 = (0x08AB7B1Cu); aot_gpr_4 = (ctx.gpr[18] | 0u); goto L_08AB4DFC; L_08AB7B1C: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-2208), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-2208), aot_gpr_2); aot_gpr_4 = (ctx.gpr[17] | 0u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08AB7B30u); ctx.gpr[6] = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0077_entry, 77u, 270u, 0x08939050u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB7B30u) goto L_08AB7B30; @@ -9528,7 +9529,7 @@ L_08AB7B30: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0077_entry, 77u, 254u, 0x08938F40u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB7B38u) goto L_08AB7B38; AOT_REGCACHE_SYNC_OUT(); return; L_08AB7B38: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); { const bool branch_taken = aot_gpr_4 != 0u; ctx.gpr[6] = (2236u << 16u); if (branch_taken) { @@ -9543,7 +9544,7 @@ L_08AB7B44: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB7B50u) goto L_08AB7B50; AOT_REGCACHE_SYNC_OUT(); return; L_08AB7B50: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[19] == 0u; // nop if (branch_taken) { @@ -9554,25 +9555,25 @@ L_08AB7B50: L_08AB7B5C: aot_gpr_31 = (0x08AB7B64u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB7B64u) goto L_08AB7B64; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB7B64u) goto L_08AB7B64; AOT_REGCACHE_SYNC_OUT(); return; L_08AB7B64: ctx.gpr[17] = (ctx.gpr[19] | 0u); goto L_08AB7B68; L_08AB7B68: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-9752), ctx.gpr[17]); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), ctx.gpr[17]); ctx.gpr[6] = (2236u << 16u); goto L_08AB7B70; L_08AB7B70: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-9752))); - aot_gpr_5 = (aot_gpr_28 + static_cast(-1920)); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-1920)); ctx.gpr[7] = (0u | 127u); aot_gpr_31 = (0x08AB7B84u); ctx.gpr[6] = (ctx.gpr[6] + static_cast(-2236)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 426u, 0x089F63FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB7B84u) goto L_08AB7B84; AOT_REGCACHE_SYNC_OUT(); return; L_08AB7B84: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-19664))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-19664))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -9587,8 +9588,8 @@ L_08AB7B90: aot_gpr_4 = (2234u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(12864)); ctx.gpr[7] = (ctx.gpr[7] + aot_gpr_4); - aot_gpr_5 = (aot_gpr_28 + static_cast(-1936)); - ctx.gpr[8] = (aot_gpr_28 + static_cast(-1928)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-1936)); + ctx.gpr[8] = (ctx.gpr[28] + static_cast(-1928)); aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_31 = (0x08AB7BBCu); ctx.gpr[6] = (ctx.gpr[6] + static_cast(11928)); @@ -9609,8 +9610,8 @@ L_08AB7BC4: aot_gpr_4 = (2234u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(12864)); ctx.gpr[7] = (ctx.gpr[7] + aot_gpr_4); - aot_gpr_5 = (aot_gpr_28 + static_cast(-1936)); - ctx.gpr[8] = (aot_gpr_28 + static_cast(-1928)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-1936)); + ctx.gpr[8] = (ctx.gpr[28] + static_cast(-1928)); aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_31 = (0x08AB7BF0u); ctx.gpr[6] = (ctx.gpr[6] + static_cast(11972)); @@ -9622,7 +9623,7 @@ L_08AB7BF0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0077_entry, 77u, 250u, 0x08938F04u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB7BF8u) goto L_08AB7BF8; AOT_REGCACHE_SYNC_OUT(); return; L_08AB7BF8: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08AB7C0Cu); @@ -9635,7 +9636,7 @@ L_08AB7C0C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0077_entry, 77u, 266u, 0x08939014u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB7C14u) goto L_08AB7C14; AOT_REGCACHE_SYNC_OUT(); return; L_08AB7C14: - ctx.gpr[21] = (ctx.gpr[2] | 0u); + ctx.gpr[21] = (aot_gpr_2 | 0u); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08AB7C28u); @@ -9643,7 +9644,7 @@ L_08AB7C14: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0077_entry, 77u, 258u, 0x08938F7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB7C28u) goto L_08AB7C28; AOT_REGCACHE_SYNC_OUT(); return; L_08AB7C28: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-2216))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-2216))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -9653,16 +9654,16 @@ L_08AB7C28: } L_08AB7C34: aot_gpr_31 = (0x08AB7C3Cu); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-2216))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-2216))); goto L_08AB4E74; L_08AB7C3C: aot_gpr_31 = (0x08AB7C44u); aot_gpr_4 = (ctx.gpr[21] | 0u); goto L_08AB4DFC; L_08AB7C44: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-2216), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-2216), aot_gpr_2); aot_gpr_4 = (ctx.gpr[17] | 0u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08AB7C58u); ctx.gpr[6] = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0077_entry, 77u, 270u, 0x08939050u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB7C58u) goto L_08AB7C58; @@ -9673,7 +9674,7 @@ L_08AB7C58: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0077_entry, 77u, 254u, 0x08938F40u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB7C60u) goto L_08AB7C60; AOT_REGCACHE_SYNC_OUT(); return; L_08AB7C60: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-19664))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-19664))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -9688,8 +9689,8 @@ L_08AB7C6C: aot_gpr_4 = (2234u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(12864)); ctx.gpr[7] = (ctx.gpr[7] + aot_gpr_4); - aot_gpr_5 = (aot_gpr_28 + static_cast(-1936)); - ctx.gpr[8] = (aot_gpr_28 + static_cast(-1912)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-1936)); + ctx.gpr[8] = (ctx.gpr[28] + static_cast(-1912)); aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_31 = (0x08AB7C98u); ctx.gpr[6] = (ctx.gpr[6] + static_cast(11928)); @@ -9710,8 +9711,8 @@ L_08AB7CA0: aot_gpr_4 = (2234u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(12864)); ctx.gpr[7] = (ctx.gpr[7] + aot_gpr_4); - aot_gpr_5 = (aot_gpr_28 + static_cast(-1936)); - ctx.gpr[8] = (aot_gpr_28 + static_cast(-1912)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-1936)); + ctx.gpr[8] = (ctx.gpr[28] + static_cast(-1912)); aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_31 = (0x08AB7CCCu); ctx.gpr[6] = (ctx.gpr[6] + static_cast(11972)); @@ -9723,7 +9724,7 @@ L_08AB7CCC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0077_entry, 77u, 250u, 0x08938F04u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB7CD4u) goto L_08AB7CD4; AOT_REGCACHE_SYNC_OUT(); return; L_08AB7CD4: - aot_gpr_16 = (ctx.gpr[2] | 0u); + aot_gpr_16 = (aot_gpr_2 | 0u); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08AB7CE8u); @@ -9736,7 +9737,7 @@ L_08AB7CE8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0077_entry, 77u, 266u, 0x08939014u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB7CF0u) goto L_08AB7CF0; AOT_REGCACHE_SYNC_OUT(); return; L_08AB7CF0: - ctx.gpr[20] = (ctx.gpr[2] | 0u); + ctx.gpr[20] = (aot_gpr_2 | 0u); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08AB7D04u); @@ -9744,7 +9745,7 @@ L_08AB7CF0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0077_entry, 77u, 258u, 0x08938F7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB7D04u) goto L_08AB7D04; AOT_REGCACHE_SYNC_OUT(); return; L_08AB7D04: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-2212))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-2212))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -9754,16 +9755,16 @@ L_08AB7D04: } L_08AB7D10: aot_gpr_31 = (0x08AB7D18u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-2212))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-2212))); goto L_08AB4E74; L_08AB7D18: aot_gpr_31 = (0x08AB7D20u); aot_gpr_4 = (ctx.gpr[20] | 0u); goto L_08AB4DFC; L_08AB7D20: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-2212), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-2212), aot_gpr_2); aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08AB7D34u); ctx.gpr[6] = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0077_entry, 77u, 270u, 0x08939050u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB7D34u) goto L_08AB7D34; @@ -9774,7 +9775,7 @@ L_08AB7D34: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0077_entry, 77u, 254u, 0x08938F40u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB7D3Cu) goto L_08AB7D3C; AOT_REGCACHE_SYNC_OUT(); return; L_08AB7D3C: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-19664))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-19664))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -9784,9 +9785,9 @@ L_08AB7D3C: } L_08AB7D48: ctx.gpr[6] = (2232u << 16u); - aot_gpr_5 = (aot_gpr_28 + static_cast(-1936)); - ctx.gpr[7] = (aot_gpr_28 + static_cast(-1904)); - ctx.gpr[8] = (aot_gpr_28 + static_cast(-1928)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-1936)); + ctx.gpr[7] = (ctx.gpr[28] + static_cast(-1904)); + ctx.gpr[8] = (ctx.gpr[28] + static_cast(-1928)); aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_31 = (0x08AB7D64u); ctx.gpr[6] = (ctx.gpr[6] + static_cast(11928)); @@ -9802,9 +9803,9 @@ L_08AB7D64: } L_08AB7D6C: ctx.gpr[6] = (2232u << 16u); - aot_gpr_5 = (aot_gpr_28 + static_cast(-1936)); - ctx.gpr[7] = (aot_gpr_28 + static_cast(-1904)); - ctx.gpr[8] = (aot_gpr_28 + static_cast(-1928)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-1936)); + ctx.gpr[7] = (ctx.gpr[28] + static_cast(-1904)); + ctx.gpr[8] = (ctx.gpr[28] + static_cast(-1928)); aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_31 = (0x08AB7D88u); ctx.gpr[6] = (ctx.gpr[6] + static_cast(11972)); @@ -9816,7 +9817,7 @@ L_08AB7D88: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0077_entry, 77u, 250u, 0x08938F04u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB7D90u) goto L_08AB7D90; AOT_REGCACHE_SYNC_OUT(); return; L_08AB7D90: - aot_gpr_16 = (ctx.gpr[2] | 0u); + aot_gpr_16 = (aot_gpr_2 | 0u); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08AB7DA4u); @@ -9829,7 +9830,7 @@ L_08AB7DA4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0077_entry, 77u, 266u, 0x08939014u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB7DACu) goto L_08AB7DAC; AOT_REGCACHE_SYNC_OUT(); return; L_08AB7DAC: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08AB7DC0u); @@ -9837,7 +9838,7 @@ L_08AB7DAC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0077_entry, 77u, 258u, 0x08938F7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB7DC0u) goto L_08AB7DC0; AOT_REGCACHE_SYNC_OUT(); return; L_08AB7DC0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-2204))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-2204))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -9847,16 +9848,16 @@ L_08AB7DC0: } L_08AB7DCC: aot_gpr_31 = (0x08AB7DD4u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-2204))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-2204))); goto L_08AB4E74; L_08AB7DD4: aot_gpr_31 = (0x08AB7DDCu); aot_gpr_4 = (ctx.gpr[19] | 0u); goto L_08AB4DFC; L_08AB7DDC: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-2204), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-2204), aot_gpr_2); aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08AB7DF0u); ctx.gpr[6] = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0077_entry, 77u, 270u, 0x08939050u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB7DF0u) goto L_08AB7DF0; @@ -9867,7 +9868,7 @@ L_08AB7DF0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0077_entry, 77u, 254u, 0x08938F40u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB7DF8u) goto L_08AB7DF8; AOT_REGCACHE_SYNC_OUT(); return; L_08AB7DF8: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-19664))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-19664))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -9877,9 +9878,9 @@ L_08AB7DF8: } L_08AB7E04: ctx.gpr[6] = (2232u << 16u); - aot_gpr_5 = (aot_gpr_28 + static_cast(-1936)); - ctx.gpr[7] = (aot_gpr_28 + static_cast(-1896)); - ctx.gpr[8] = (aot_gpr_28 + static_cast(-1888)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-1936)); + ctx.gpr[7] = (ctx.gpr[28] + static_cast(-1896)); + ctx.gpr[8] = (ctx.gpr[28] + static_cast(-1888)); aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_31 = (0x08AB7E20u); ctx.gpr[6] = (ctx.gpr[6] + static_cast(11928)); @@ -9895,9 +9896,9 @@ L_08AB7E20: } L_08AB7E28: ctx.gpr[6] = (2232u << 16u); - aot_gpr_5 = (aot_gpr_28 + static_cast(-1936)); - ctx.gpr[7] = (aot_gpr_28 + static_cast(-1896)); - ctx.gpr[8] = (aot_gpr_28 + static_cast(-1888)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-1936)); + ctx.gpr[7] = (ctx.gpr[28] + static_cast(-1896)); + ctx.gpr[8] = (ctx.gpr[28] + static_cast(-1888)); aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_31 = (0x08AB7E44u); ctx.gpr[6] = (ctx.gpr[6] + static_cast(11972)); @@ -9909,7 +9910,7 @@ L_08AB7E44: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0077_entry, 77u, 250u, 0x08938F04u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB7E4Cu) goto L_08AB7E4C; AOT_REGCACHE_SYNC_OUT(); return; L_08AB7E4C: - aot_gpr_16 = (ctx.gpr[2] | 0u); + aot_gpr_16 = (aot_gpr_2 | 0u); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08AB7E60u); @@ -9922,7 +9923,7 @@ L_08AB7E60: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0077_entry, 77u, 266u, 0x08939014u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB7E68u) goto L_08AB7E68; AOT_REGCACHE_SYNC_OUT(); return; L_08AB7E68: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08AB7E7Cu); @@ -9930,7 +9931,7 @@ L_08AB7E68: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0077_entry, 77u, 258u, 0x08938F7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB7E7Cu) goto L_08AB7E7C; AOT_REGCACHE_SYNC_OUT(); return; L_08AB7E7C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-2200))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-2200))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -9940,16 +9941,16 @@ L_08AB7E7C: } L_08AB7E88: aot_gpr_31 = (0x08AB7E90u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-2200))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-2200))); goto L_08AB4E74; L_08AB7E90: aot_gpr_31 = (0x08AB7E98u); aot_gpr_4 = (ctx.gpr[17] | 0u); goto L_08AB4DFC; L_08AB7E98: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(-2200), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-2200), aot_gpr_2); aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08AB7EACu); ctx.gpr[6] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0077_entry, 77u, 270u, 0x08939050u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB7EACu) goto L_08AB7EAC; @@ -9960,26 +9961,26 @@ L_08AB7EAC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0077_entry, 77u, 254u, 0x08938F40u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB7EB4u) goto L_08AB7EB4; AOT_REGCACHE_SYNC_OUT(); return; L_08AB7EB4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-2216))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-2216))); aot_gpr_5 = (2236u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(-2108)); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(1412), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(1416), ctx.gpr[21]); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-2212))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-2212))); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(1420), ctx.gpr[21]); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(1428), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(1432), ctx.gpr[20]); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-2204))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-2204))); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(1436), ctx.gpr[20]); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(1444), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(1448), ctx.gpr[19]); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-2200))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-2200))); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(1452), ctx.gpr[19]); { const std::uint32_t aot_run_words[3]{aot_gpr_4, ctx.gpr[17], ctx.gpr[17]}; aot_mem.aot_direct_store32_block(aot_gpr_5 + static_cast(1460), aot_run_words); } ctx.gpr[6] = (2236u << 16u); ctx.gpr[8] = (2236u << 16u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-2208))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-2208))); ctx.gpr[7] = (ctx.gpr[6] + static_cast(-572)); ctx.gpr[8] = (ctx.gpr[8] + static_cast(-2236)); aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(16), ctx.gpr[8]); @@ -10005,45 +10006,45 @@ L_08AB7F2C: aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(56), aot_gpr_4); aot_gpr_4 = (0u | 7u); aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(1480), aot_gpr_4); - ctx.gpr[18] = (aot_gpr_28 + static_cast(-2084)); + ctx.gpr[18] = (ctx.gpr[28] + static_cast(-2084)); ctx.gpr[19] = (ctx.gpr[17] + static_cast(60)); aot_gpr_31 = (0x08AB7F5Cu); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB7F5Cu) goto L_08AB7F5C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB7F5Cu) goto L_08AB7F5C; AOT_REGCACHE_SYNC_OUT(); return; L_08AB7F5C: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08AB7F6Cu); - ctx.gpr[6] = (ctx.gpr[2] | 0u); + ctx.gpr[6] = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 200u, 0x08B58BA0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB7F6Cu) goto L_08AB7F6C; AOT_REGCACHE_SYNC_OUT(); return; L_08AB7F6C: - ctx.gpr[18] = (aot_gpr_28 + static_cast(-1880)); + ctx.gpr[18] = (ctx.gpr[28] + static_cast(-1880)); ctx.gpr[19] = (ctx.gpr[17] + static_cast(76)); aot_gpr_31 = (0x08AB7F7Cu); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB7F7Cu) goto L_08AB7F7C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB7F7Cu) goto L_08AB7F7C; AOT_REGCACHE_SYNC_OUT(); return; L_08AB7F7C: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08AB7F8Cu); - ctx.gpr[6] = (ctx.gpr[2] | 0u); + ctx.gpr[6] = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 200u, 0x08B58BA0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB7F8Cu) goto L_08AB7F8C; AOT_REGCACHE_SYNC_OUT(); return; L_08AB7F8C: - ctx.gpr[18] = (aot_gpr_28 + static_cast(-1876)); + ctx.gpr[18] = (ctx.gpr[28] + static_cast(-1876)); ctx.gpr[19] = (ctx.gpr[17] + static_cast(100)); aot_gpr_31 = (0x08AB7F9Cu); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB7F9Cu) goto L_08AB7F9C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB7F9Cu) goto L_08AB7F9C; AOT_REGCACHE_SYNC_OUT(); return; L_08AB7F9C: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08AB7FACu); - ctx.gpr[6] = (ctx.gpr[2] | 0u); + ctx.gpr[6] = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 200u, 0x08B58BA0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB7FACu) goto L_08AB7FAC; AOT_REGCACHE_SYNC_OUT(); return; L_08AB7FAC: @@ -10051,7 +10052,7 @@ L_08AB7FAC: aot_gpr_4 = (aot_gpr_4 + static_cast(12684)); aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(96), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); - aot_gpr_5 = (aot_gpr_28 + static_cast(-2232)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(-2232)); aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(116), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(1516), 0u); diff --git a/profiles/vcs/generated/generated_unit_0173.cpp b/profiles/vcs/generated/generated_unit_0173.cpp index bae6528..104e5a6 100644 --- a/profiles/vcs/generated/generated_unit_0173.cpp +++ b/profiles/vcs/generated/generated_unit_0173.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,19 +139,19 @@ static const std::uint16_t kEntryIds_recomp_unit_0173[4094] = { }; void recomp_unit_0173_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,6,31,16 fprs=12,13,14 gpr_occ=3862 fpr_occ=74 gpr_total=6458 fpr_total=74 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,6,29,31,7 fprs=12,13,14 gpr_occ=3936 fpr_occ=74 gpr_total=6612 fpr_total=74 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; - std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_6 = ctx.gpr[6]; + std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; - std::uint32_t aot_gpr_16 = ctx.gpr[16]; + std::uint32_t aot_gpr_7 = ctx.gpr[7]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_14 = ctx.fpr[14]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[6] = aot_gpr_6; ctx.gpr[31] = aot_gpr_31; ctx.gpr[16] = aot_gpr_16; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_16 = ctx.gpr[16]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[6] = aot_gpr_6; ctx.gpr[29] = aot_gpr_29; ctx.gpr[31] = aot_gpr_31; ctx.gpr[7] = aot_gpr_7; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_7 = ctx.gpr[7]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -899,7 +900,7 @@ LOCAL_DISPATCH: } L_08AB8004: aot_gpr_4 = (ctx.gpr[17] + static_cast(384)); - aot_gpr_5 = (aot_gpr_16 + static_cast(176)); + aot_gpr_5 = (ctx.gpr[16] + static_cast(176)); aot_gpr_31 = (0x08AB8014u); aot_gpr_6 = (0u | 1023u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 200u, 0x08B58BA0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB8014u) goto L_08AB8014; @@ -917,13 +918,13 @@ L_08AB8014: } L_08AB8028: aot_gpr_6 = (2232u << 16u); - ctx.gpr[7] = (2234u << 16u); + aot_gpr_7 = (2234u << 16u); aot_gpr_5 = (ctx.gpr[28] + static_cast(-1936)); ctx.gpr[8] = (ctx.gpr[28] + static_cast(-1928)); aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_6 = (aot_gpr_6 + static_cast(11928)); aot_gpr_31 = (0x08AB8048u); - ctx.gpr[7] = (ctx.gpr[7] + static_cast(12864)); + aot_gpr_7 = (aot_gpr_7 + static_cast(12864)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0212_entry, 212u, 576u, 0x08B562D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB8048u) goto L_08AB8048; AOT_REGCACHE_SYNC_OUT(); return; L_08AB8048: @@ -936,13 +937,13 @@ L_08AB8048: } L_08AB8050: aot_gpr_6 = (2232u << 16u); - ctx.gpr[7] = (2234u << 16u); + aot_gpr_7 = (2234u << 16u); aot_gpr_5 = (ctx.gpr[28] + static_cast(-1936)); ctx.gpr[8] = (ctx.gpr[28] + static_cast(-1928)); aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_6 = (aot_gpr_6 + static_cast(11972)); aot_gpr_31 = (0x08AB8070u); - ctx.gpr[7] = (ctx.gpr[7] + static_cast(12864)); + aot_gpr_7 = (aot_gpr_7 + static_cast(12864)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0212_entry, 212u, 576u, 0x08B562D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB8070u) goto L_08AB8070; AOT_REGCACHE_SYNC_OUT(); return; L_08AB8070: @@ -951,8 +952,8 @@ L_08AB8070: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0077_entry, 77u, 250u, 0x08938F04u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB8078u) goto L_08AB8078; AOT_REGCACHE_SYNC_OUT(); return; L_08AB8078: - aot_gpr_16 = (ctx.gpr[2] | 0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + ctx.gpr[16] = (ctx.gpr[2] | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08AB808Cu); aot_gpr_6 = (0u | 2u); @@ -960,12 +961,12 @@ L_08AB8078: AOT_REGCACHE_SYNC_OUT(); return; L_08AB808C: aot_gpr_31 = (0x08AB8094u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0077_entry, 77u, 266u, 0x08939014u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB8094u) goto L_08AB8094; AOT_REGCACHE_SYNC_OUT(); return; L_08AB8094: ctx.gpr[19] = (ctx.gpr[2] | 0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08AB80A8u); aot_gpr_6 = (0u | 0u); @@ -992,7 +993,7 @@ L_08AB80BC: AOT_REGCACHE_SYNC_OUT(); return; L_08AB80C4: aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-2208), ctx.gpr[2]); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08AB80D8u); aot_gpr_6 = (ctx.gpr[19] | 0u); @@ -1000,7 +1001,7 @@ L_08AB80C4: AOT_REGCACHE_SYNC_OUT(); return; L_08AB80D8: aot_gpr_31 = (0x08AB80E0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0077_entry, 77u, 254u, 0x08938F40u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB80E0u) goto L_08AB80E0; AOT_REGCACHE_SYNC_OUT(); return; L_08AB80E0: @@ -1013,7 +1014,7 @@ L_08AB80E0: goto L_08AB80EC; } L_08AB80EC: - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); aot_gpr_31 = (0x08AB80F8u); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB80F8u) goto L_08AB80F8; @@ -1030,19 +1031,19 @@ L_08AB80F8: L_08AB8104: aot_gpr_31 = (0x08AB810Cu); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB810Cu) goto L_08AB810C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB810Cu) goto L_08AB810C; AOT_REGCACHE_SYNC_OUT(); return; L_08AB810C: - aot_gpr_16 = (ctx.gpr[17] | 0u); + ctx.gpr[16] = (ctx.gpr[17] | 0u); goto L_08AB8110; L_08AB8110: - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), ctx.gpr[16]); aot_gpr_6 = (2236u << 16u); goto L_08AB8118; L_08AB8118: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); aot_gpr_5 = (ctx.gpr[28] + static_cast(-1920)); - ctx.gpr[7] = (0u | 127u); + aot_gpr_7 = (0u | 127u); aot_gpr_31 = (0x08AB812Cu); aot_gpr_6 = (aot_gpr_6 + static_cast(-2236)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 426u, 0x089F63FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB812Cu) goto L_08AB812C; @@ -1058,12 +1059,12 @@ L_08AB812C: } L_08AB8138: aot_gpr_6 = (2234u << 16u); - ctx.gpr[7] = (aot_gpr_6 + static_cast(12864)); + aot_gpr_7 = (aot_gpr_6 + static_cast(12864)); aot_gpr_6 = (2232u << 16u); aot_gpr_5 = (ctx.gpr[28] + static_cast(-1936)); ctx.gpr[8] = (ctx.gpr[28] + static_cast(-1928)); aot_gpr_4 = (aot_gpr_29 | 0u); - ctx.gpr[7] = (ctx.gpr[7] + static_cast(128)); + aot_gpr_7 = (aot_gpr_7 + static_cast(128)); aot_gpr_31 = (0x08AB815Cu); aot_gpr_6 = (aot_gpr_6 + static_cast(11928)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0212_entry, 212u, 576u, 0x08B562D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB815Cu) goto L_08AB815C; @@ -1078,12 +1079,12 @@ L_08AB815C: } L_08AB8164: aot_gpr_6 = (2234u << 16u); - ctx.gpr[7] = (aot_gpr_6 + static_cast(12864)); + aot_gpr_7 = (aot_gpr_6 + static_cast(12864)); aot_gpr_6 = (2232u << 16u); aot_gpr_5 = (ctx.gpr[28] + static_cast(-1936)); ctx.gpr[8] = (ctx.gpr[28] + static_cast(-1928)); aot_gpr_4 = (aot_gpr_29 | 0u); - ctx.gpr[7] = (ctx.gpr[7] + static_cast(128)); + aot_gpr_7 = (aot_gpr_7 + static_cast(128)); aot_gpr_31 = (0x08AB8188u); aot_gpr_6 = (aot_gpr_6 + static_cast(11972)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0212_entry, 212u, 576u, 0x08B562D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB8188u) goto L_08AB8188; @@ -1107,7 +1108,7 @@ L_08AB81A4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0077_entry, 77u, 266u, 0x08939014u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB81ACu) goto L_08AB81AC; AOT_REGCACHE_SYNC_OUT(); return; L_08AB81AC: - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (ctx.gpr[2] | 0u); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08AB81C0u); @@ -1130,7 +1131,7 @@ L_08AB81CC: AOT_REGCACHE_SYNC_OUT(); return; L_08AB81D4: aot_gpr_31 = (0x08AB81DCu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0172_entry, 172u, 179u, 0x08AB4DFCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB81DCu) goto L_08AB81DC; AOT_REGCACHE_SYNC_OUT(); return; L_08AB81DC: @@ -1138,7 +1139,7 @@ L_08AB81DC: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08AB81F0u); - aot_gpr_6 = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0077_entry, 77u, 270u, 0x08939050u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB81F0u) goto L_08AB81F0; AOT_REGCACHE_SYNC_OUT(); return; L_08AB81F0: @@ -1157,12 +1158,12 @@ L_08AB81F8: } L_08AB8204: aot_gpr_6 = (2234u << 16u); - ctx.gpr[7] = (aot_gpr_6 + static_cast(12864)); + aot_gpr_7 = (aot_gpr_6 + static_cast(12864)); aot_gpr_6 = (2232u << 16u); aot_gpr_5 = (ctx.gpr[28] + static_cast(-1936)); ctx.gpr[8] = (ctx.gpr[28] + static_cast(-1912)); aot_gpr_4 = (aot_gpr_29 | 0u); - ctx.gpr[7] = (ctx.gpr[7] + static_cast(128)); + aot_gpr_7 = (aot_gpr_7 + static_cast(128)); aot_gpr_31 = (0x08AB8228u); aot_gpr_6 = (aot_gpr_6 + static_cast(11928)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0212_entry, 212u, 576u, 0x08B562D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB8228u) goto L_08AB8228; @@ -1177,12 +1178,12 @@ L_08AB8228: } L_08AB8230: aot_gpr_6 = (2234u << 16u); - ctx.gpr[7] = (aot_gpr_6 + static_cast(12864)); + aot_gpr_7 = (aot_gpr_6 + static_cast(12864)); aot_gpr_6 = (2232u << 16u); aot_gpr_5 = (ctx.gpr[28] + static_cast(-1936)); ctx.gpr[8] = (ctx.gpr[28] + static_cast(-1912)); aot_gpr_4 = (aot_gpr_29 | 0u); - ctx.gpr[7] = (ctx.gpr[7] + static_cast(128)); + aot_gpr_7 = (aot_gpr_7 + static_cast(128)); aot_gpr_31 = (0x08AB8254u); aot_gpr_6 = (aot_gpr_6 + static_cast(11972)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0212_entry, 212u, 576u, 0x08B562D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB8254u) goto L_08AB8254; @@ -1257,7 +1258,7 @@ L_08AB82C4: L_08AB82D0: aot_gpr_6 = (2232u << 16u); aot_gpr_5 = (ctx.gpr[28] + static_cast(-1936)); - ctx.gpr[7] = (ctx.gpr[28] + static_cast(-1904)); + aot_gpr_7 = (ctx.gpr[28] + static_cast(-1904)); ctx.gpr[8] = (ctx.gpr[28] + static_cast(-1928)); aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_31 = (0x08AB82ECu); @@ -1275,7 +1276,7 @@ L_08AB82EC: L_08AB82F4: aot_gpr_6 = (2232u << 16u); aot_gpr_5 = (ctx.gpr[28] + static_cast(-1936)); - ctx.gpr[7] = (ctx.gpr[28] + static_cast(-1904)); + aot_gpr_7 = (ctx.gpr[28] + static_cast(-1904)); ctx.gpr[8] = (ctx.gpr[28] + static_cast(-1928)); aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_31 = (0x08AB8310u); @@ -1352,7 +1353,7 @@ L_08AB8380: L_08AB838C: aot_gpr_6 = (2232u << 16u); aot_gpr_5 = (ctx.gpr[28] + static_cast(-1936)); - ctx.gpr[7] = (ctx.gpr[28] + static_cast(-1896)); + aot_gpr_7 = (ctx.gpr[28] + static_cast(-1896)); ctx.gpr[8] = (ctx.gpr[28] + static_cast(-1888)); aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_31 = (0x08AB83A8u); @@ -1370,7 +1371,7 @@ L_08AB83A8: L_08AB83B0: aot_gpr_6 = (2232u << 16u); aot_gpr_5 = (ctx.gpr[28] + static_cast(-1936)); - ctx.gpr[7] = (ctx.gpr[28] + static_cast(-1896)); + aot_gpr_7 = (ctx.gpr[28] + static_cast(-1896)); ctx.gpr[8] = (ctx.gpr[28] + static_cast(-1888)); aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_31 = (0x08AB83CCu); @@ -1440,9 +1441,9 @@ L_08AB843C: aot_gpr_5 = (2236u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(-2108)); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(1412), aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(1416), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(1416), ctx.gpr[16]); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-2212))); - aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(1420), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(1420), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(1428), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(1432), ctx.gpr[17]); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-2204))); @@ -1456,14 +1457,14 @@ L_08AB843C: aot_gpr_6 = (2236u << 16u); ctx.gpr[8] = (2236u << 16u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-2208))); - ctx.gpr[7] = (aot_gpr_6 + static_cast(-572)); + aot_gpr_7 = (aot_gpr_6 + static_cast(-572)); ctx.gpr[8] = (ctx.gpr[8] + static_cast(-2236)); - aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(16), ctx.gpr[8]); + aot_mem.aot_direct_store32(aot_gpr_7 + static_cast(16), ctx.gpr[8]); aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(-572), aot_gpr_4); - aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(4), ctx.gpr[19]); - aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(8), ctx.gpr[19]); + aot_mem.aot_direct_store32(aot_gpr_7 + static_cast(4), ctx.gpr[19]); + aot_mem.aot_direct_store32(aot_gpr_7 + static_cast(8), ctx.gpr[19]); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(1476), ctx.gpr[7]); + aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(1476), aot_gpr_7); if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0172_entry, 172u, 1090u, 0x08AB7F24u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } @@ -1476,15 +1477,15 @@ L_08AB84B0: AOT_REGCACHE_SYNC_OUT(); return; L_08AB84B8: aot_gpr_4 = (2u << 16u); - aot_gpr_16 = (aot_gpr_4 + static_cast(-32768)); + ctx.gpr[16] = (aot_gpr_4 + static_cast(-32768)); aot_gpr_31 = (0x08AB84C8u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0172_entry, 172u, 179u, 0x08AB4DFCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB84C8u) goto L_08AB84C8; AOT_REGCACHE_SYNC_OUT(); return; L_08AB84C8: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08AB84D4u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0172_entry, 172u, 186u, 0x08AB4E7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB84D4u) goto L_08AB84D4; AOT_REGCACHE_SYNC_OUT(); return; L_08AB84D4: @@ -1496,8 +1497,8 @@ L_08AB84DC: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08AB84ECu); - aot_gpr_6 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB84ECu) goto L_08AB84EC; + aot_gpr_6 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB84ECu) goto L_08AB84EC; AOT_REGCACHE_SYNC_OUT(); return; L_08AB84EC: aot_gpr_5 = (2236u << 16u); @@ -1519,7 +1520,7 @@ L_08AB851C: ctx.gpr[19] = (ctx.gpr[17] + static_cast(60)); aot_gpr_31 = (0x08AB852Cu); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB852Cu) goto L_08AB852C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB852Cu) goto L_08AB852C; AOT_REGCACHE_SYNC_OUT(); return; L_08AB852C: aot_gpr_4 = (ctx.gpr[19] | 0u); @@ -1533,7 +1534,7 @@ L_08AB853C: ctx.gpr[19] = (ctx.gpr[17] + static_cast(76)); aot_gpr_31 = (0x08AB854Cu); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB854Cu) goto L_08AB854C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB854Cu) goto L_08AB854C; AOT_REGCACHE_SYNC_OUT(); return; L_08AB854C: aot_gpr_4 = (ctx.gpr[19] | 0u); @@ -1547,7 +1548,7 @@ L_08AB855C: ctx.gpr[19] = (ctx.gpr[17] + static_cast(100)); aot_gpr_31 = (0x08AB856Cu); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB856Cu) goto L_08AB856C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB856Cu) goto L_08AB856C; AOT_REGCACHE_SYNC_OUT(); return; L_08AB856C: aot_gpr_4 = (ctx.gpr[19] | 0u); @@ -1566,7 +1567,7 @@ L_08AB857C: L_08AB858C: aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(116), ctx.gpr[2]); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(120), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(120), ctx.gpr[16]); if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0172_entry, 172u, 1090u, 0x08AB7F24u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } @@ -1579,15 +1580,15 @@ L_08AB8598: AOT_REGCACHE_SYNC_OUT(); return; L_08AB85A0: aot_gpr_4 = (2u << 16u); - aot_gpr_16 = (aot_gpr_4 + static_cast(-32768)); + ctx.gpr[16] = (aot_gpr_4 + static_cast(-32768)); aot_gpr_31 = (0x08AB85B0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0172_entry, 172u, 179u, 0x08AB4DFCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB85B0u) goto L_08AB85B0; AOT_REGCACHE_SYNC_OUT(); return; L_08AB85B0: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08AB85BCu); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0172_entry, 172u, 186u, 0x08AB4E7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB85BCu) goto L_08AB85BC; AOT_REGCACHE_SYNC_OUT(); return; L_08AB85BC: @@ -1599,8 +1600,8 @@ L_08AB85C4: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08AB85D4u); - aot_gpr_6 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB85D4u) goto L_08AB85D4; + aot_gpr_6 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB85D4u) goto L_08AB85D4; AOT_REGCACHE_SYNC_OUT(); return; L_08AB85D4: aot_gpr_5 = (2236u << 16u); @@ -1622,7 +1623,7 @@ L_08AB8604: ctx.gpr[19] = (ctx.gpr[17] + static_cast(60)); aot_gpr_31 = (0x08AB8614u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB8614u) goto L_08AB8614; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB8614u) goto L_08AB8614; AOT_REGCACHE_SYNC_OUT(); return; L_08AB8614: aot_gpr_4 = (ctx.gpr[19] | 0u); @@ -1636,7 +1637,7 @@ L_08AB8624: ctx.gpr[19] = (ctx.gpr[17] + static_cast(76)); aot_gpr_31 = (0x08AB8634u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB8634u) goto L_08AB8634; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB8634u) goto L_08AB8634; AOT_REGCACHE_SYNC_OUT(); return; L_08AB8634: aot_gpr_4 = (ctx.gpr[19] | 0u); @@ -1650,7 +1651,7 @@ L_08AB8644: ctx.gpr[19] = (ctx.gpr[17] + static_cast(100)); aot_gpr_31 = (0x08AB8654u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB8654u) goto L_08AB8654; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB8654u) goto L_08AB8654; AOT_REGCACHE_SYNC_OUT(); return; L_08AB8654: aot_gpr_4 = (ctx.gpr[19] | 0u); @@ -1669,7 +1670,7 @@ L_08AB8664: L_08AB8674: aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(116), ctx.gpr[2]); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(120), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(120), ctx.gpr[16]); if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0172_entry, 172u, 1090u, 0x08AB7F24u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } @@ -1698,7 +1699,7 @@ L_08AB86A4: aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08AB86B4u); aot_gpr_6 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB86B4u) goto L_08AB86B4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB86B4u) goto L_08AB86B4; AOT_REGCACHE_SYNC_OUT(); return; L_08AB86B4: aot_gpr_4 = (2236u << 16u); @@ -1719,7 +1720,7 @@ L_08AB86E0: ctx.gpr[20] = (ctx.gpr[18] + static_cast(60)); aot_gpr_31 = (0x08AB86F0u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB86F0u) goto L_08AB86F0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB86F0u) goto L_08AB86F0; AOT_REGCACHE_SYNC_OUT(); return; L_08AB86F0: aot_gpr_4 = (ctx.gpr[20] | 0u); @@ -1733,7 +1734,7 @@ L_08AB8700: ctx.gpr[20] = (ctx.gpr[18] + static_cast(76)); aot_gpr_31 = (0x08AB8710u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB8710u) goto L_08AB8710; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB8710u) goto L_08AB8710; AOT_REGCACHE_SYNC_OUT(); return; L_08AB8710: aot_gpr_4 = (ctx.gpr[20] | 0u); @@ -1747,7 +1748,7 @@ L_08AB8720: ctx.gpr[21] = (ctx.gpr[18] + static_cast(100)); aot_gpr_31 = (0x08AB8730u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB8730u) goto L_08AB8730; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB8730u) goto L_08AB8730; AOT_REGCACHE_SYNC_OUT(); return; L_08AB8730: aot_gpr_4 = (ctx.gpr[21] | 0u); @@ -1757,7 +1758,7 @@ L_08AB8730: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 200u, 0x08B58BA0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB8740u) goto L_08AB8740; AOT_REGCACHE_SYNC_OUT(); return; L_08AB8740: - aot_gpr_5 = (aot_gpr_16 + static_cast(28)); + aot_gpr_5 = (ctx.gpr[16] + static_cast(28)); aot_gpr_31 = (0x08AB874Cu); aot_gpr_4 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 63u, 0x08B5831Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB874Cu) goto L_08AB874C; @@ -1824,12 +1825,12 @@ L_08AB87C8: } L_08AB87D0: aot_gpr_4 = (2236u << 16u); - aot_gpr_16 = (aot_gpr_4 + static_cast(-552)); - aot_gpr_4 = (aot_gpr_16 | 0u); + ctx.gpr[16] = (aot_gpr_4 + static_cast(-552)); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08AB87E8u); aot_gpr_6 = (0u | 20u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB87E8u) goto L_08AB87E8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB87E8u) goto L_08AB87E8; AOT_REGCACHE_SYNC_OUT(); return; L_08AB87E8: aot_gpr_4 = (2236u << 16u); @@ -1837,7 +1838,7 @@ L_08AB87E8: aot_gpr_6 = (0u | 64u); aot_gpr_31 = (0x08AB87FCu); aot_gpr_4 = (aot_gpr_4 + static_cast(-532)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB87FCu) goto L_08AB87FC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB87FCu) goto L_08AB87FC; AOT_REGCACHE_SYNC_OUT(); return; L_08AB87FC: aot_gpr_4 = (2236u << 16u); @@ -1846,7 +1847,7 @@ L_08AB87FC: aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08AB8814u); aot_gpr_6 = (0u | 28u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB8814u) goto L_08AB8814; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB8814u) goto L_08AB8814; AOT_REGCACHE_SYNC_OUT(); return; L_08AB8814: aot_gpr_5 = (2236u << 16u); @@ -1868,7 +1869,7 @@ L_08AB8844: ctx.gpr[20] = (ctx.gpr[18] + static_cast(60)); aot_gpr_31 = (0x08AB8854u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB8854u) goto L_08AB8854; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB8854u) goto L_08AB8854; AOT_REGCACHE_SYNC_OUT(); return; L_08AB8854: aot_gpr_4 = (ctx.gpr[20] | 0u); @@ -1882,7 +1883,7 @@ L_08AB8864: ctx.gpr[20] = (ctx.gpr[18] + static_cast(76)); aot_gpr_31 = (0x08AB8874u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB8874u) goto L_08AB8874; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB8874u) goto L_08AB8874; AOT_REGCACHE_SYNC_OUT(); return; L_08AB8874: aot_gpr_4 = (ctx.gpr[20] | 0u); @@ -1896,7 +1897,7 @@ L_08AB8884: ctx.gpr[20] = (ctx.gpr[18] + static_cast(100)); aot_gpr_31 = (0x08AB8894u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB8894u) goto L_08AB8894; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB8894u) goto L_08AB8894; AOT_REGCACHE_SYNC_OUT(); return; L_08AB8894: aot_gpr_4 = (ctx.gpr[20] | 0u); @@ -1909,7 +1910,7 @@ L_08AB88A4: aot_gpr_4 = (2234u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(12504)); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(96), aot_gpr_4); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, 0u, ctx.gpr[17]}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[16], 0u, ctx.gpr[17]}; aot_mem.aot_direct_store32_block(ctx.gpr[18] + static_cast(1488), aot_run_words); } aot_gpr_4 = (1024u << 16u); aot_gpr_5 = (1u << 16u); @@ -1951,7 +1952,7 @@ L_08AB891C: L_08AB8924: { std::uint32_t aot_run_words[7]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(256), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -1973,7 +1974,7 @@ L_08AB8948: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); aot_gpr_31 = (0x08AB8964u); aot_gpr_4 = (aot_gpr_4 + static_cast(2288)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB8964u) goto L_08AB8964; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB8964u) goto L_08AB8964; AOT_REGCACHE_SYNC_OUT(); return; L_08AB8964: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -1993,23 +1994,23 @@ L_08AB8970: L_08AB8984: aot_gpr_6 = (aot_gpr_4 << 6u); ctx.gpr[8] = (aot_gpr_6 + aot_gpr_6); - ctx.gpr[7] = (0u | 0u); + aot_gpr_7 = (0u | 0u); aot_gpr_6 = (aot_gpr_6 + ctx.gpr[8]); - ctx.gpr[8] = (ctx.gpr[7] << 4u); + ctx.gpr[8] = (aot_gpr_7 << 4u); goto L_08AB8998; L_08AB8998: ctx.gpr[9] = (ctx.gpr[8] + ctx.gpr[8]); ctx.gpr[8] = (ctx.gpr[8] + ctx.gpr[9]); ctx.gpr[8] = (aot_gpr_6 + ctx.gpr[8]); ctx.gpr[8] = (ctx.gpr[8] + aot_gpr_5); - ctx.gpr[7] = (ctx.gpr[7] + static_cast(1)); + aot_gpr_7 = (aot_gpr_7 + static_cast(1)); aot_mem.aot_direct_store32(ctx.gpr[8] + static_cast(0), 0u); - ctx.gpr[7] = (ctx.gpr[7] << 16u); + aot_gpr_7 = (aot_gpr_7 << 16u); aot_mem.aot_direct_store32(ctx.gpr[8] + static_cast(40), 0u); - ctx.gpr[7] = (static_cast(static_cast(ctx.gpr[7]) >> 16u)); - ctx.gpr[8] = (static_cast(ctx.gpr[7]) < 4 ? 1u : 0u); + aot_gpr_7 = (static_cast(static_cast(aot_gpr_7) >> 16u)); + ctx.gpr[8] = (static_cast(aot_gpr_7) < 4 ? 1u : 0u); { const bool branch_taken = ctx.gpr[8] != 0u; - ctx.gpr[8] = (ctx.gpr[7] << 4u); + ctx.gpr[8] = (aot_gpr_7 << 4u); if (branch_taken) { goto L_08AB8998; } @@ -2034,8 +2035,8 @@ L_08AB89E0: aot_gpr_6 = (aot_gpr_4 << 4u); goto L_08AB89F0; L_08AB89F0: - ctx.gpr[7] = (aot_gpr_6 + aot_gpr_6); - aot_gpr_6 = (aot_gpr_6 + ctx.gpr[7]); + aot_gpr_7 = (aot_gpr_6 + aot_gpr_6); + aot_gpr_6 = (aot_gpr_6 + aot_gpr_7); aot_gpr_6 = (aot_gpr_6 + aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(0), 0u); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); @@ -2095,7 +2096,7 @@ L_08AB8A5C: ctx.gpr[10] = (0u | 0u); ctx.gpr[9] = (ctx.gpr[9] + static_cast(-1)); ctx.gpr[8] = (static_cast(ctx.gpr[10]) < static_cast(ctx.gpr[9]) ? 1u : 0u); - ctx.gpr[7] = (0u | 0u); + aot_gpr_7 = (0u | 0u); { const bool branch_taken = aot_gpr_5 != 0u; aot_gpr_6 = (aot_gpr_4 | 0u); if (branch_taken) { @@ -2134,15 +2135,15 @@ L_08AB8A9C: } L_08AB8AA4: { const bool branch_taken = ctx.gpr[8] == 0u; - ctx.gpr[7] = (aot_gpr_5 + ctx.gpr[7]); + aot_gpr_7 = (aot_gpr_5 + aot_gpr_7); if (branch_taken) { goto L_08AB8A9C; } goto L_08AB8AAC; } L_08AB8AAC: - ctx.gpr[7] = (aot_mem.aot_direct_load16(ctx.gpr[7] + static_cast(0))); - { const bool branch_taken = ctx.gpr[7] == 0u; + aot_gpr_7 = (aot_mem.aot_direct_load16(aot_gpr_7 + static_cast(0))); + { const bool branch_taken = aot_gpr_7 == 0u; // nop if (branch_taken) { goto L_08AB8A9C; @@ -2151,12 +2152,12 @@ L_08AB8AAC: } L_08AB8AB8: ctx.gpr[10] = (ctx.gpr[10] + static_cast(1)); - aot_mem.aot_direct_store16(aot_gpr_6 + static_cast(0), static_cast(ctx.gpr[7])); + aot_mem.aot_direct_store16(aot_gpr_6 + static_cast(0), static_cast(aot_gpr_7)); ctx.gpr[10] = (ctx.gpr[10] & 65535u); - ctx.gpr[7] = (ctx.gpr[10] + ctx.gpr[10]); + aot_gpr_7 = (ctx.gpr[10] + ctx.gpr[10]); ctx.gpr[8] = (static_cast(ctx.gpr[10]) < static_cast(ctx.gpr[9]) ? 1u : 0u); { const bool branch_taken = 0u == 0u; - aot_gpr_6 = (aot_gpr_4 + ctx.gpr[7]); + aot_gpr_6 = (aot_gpr_4 + aot_gpr_7); if (branch_taken) { goto L_08AB8AA4; } @@ -2171,11 +2172,11 @@ L_08AB8AD4: AOT_REGCACHE_SYNC_OUT(); return; L_08AB8ADC: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[19]); ctx.gpr[17] = (aot_gpr_4 | 0u); - aot_gpr_16 = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); ctx.gpr[19] = (aot_gpr_6 & 65535u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[20]); @@ -2186,7 +2187,7 @@ L_08AB8ADC: L_08AB8B0C: ctx.gpr[20] = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08AB8B18u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_08AB8A34; L_08AB8B18: aot_gpr_4 = (ctx.gpr[2] | 0u); @@ -2247,7 +2248,7 @@ L_08AB8B50: goto L_08AB8B58; } L_08AB8B58: - aot_gpr_5 = (aot_gpr_16 + aot_gpr_5); + aot_gpr_5 = (ctx.gpr[16] + aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0))); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -2282,7 +2283,7 @@ L_08AB8B88: L_08AB8B8C: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -2319,9 +2320,9 @@ L_08AB8BC8: } L_08AB8BE4: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[10] + static_cast(12))); - ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[10] + static_cast(8))); + aot_gpr_7 = (aot_mem.aot_direct_load32(ctx.gpr[10] + static_cast(8))); ctx.gpr[8] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); - aot_gpr_5 = (aot_gpr_5 + ctx.gpr[7]); + aot_gpr_5 = (aot_gpr_5 + aot_gpr_7); aot_gpr_5 = (aot_gpr_5 < ctx.gpr[8] ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; // nop @@ -2335,7 +2336,7 @@ L_08AB8C00: aot_mem.aot_direct_store32(ctx.gpr[10] + static_cast(0), 0u); aot_gpr_5 = (0u | 0u); ctx.gpr[9] = (0u | 1u); - ctx.gpr[7] = (ctx.gpr[8] + ctx.gpr[11]); + aot_gpr_7 = (ctx.gpr[8] + ctx.gpr[11]); goto L_08AB8C14; L_08AB8C14: { const bool branch_taken = ctx.gpr[9] == 0u; @@ -2346,7 +2347,7 @@ L_08AB8C14: goto L_08AB8C1C; } L_08AB8C1C: - ctx.gpr[9] = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(48))); + ctx.gpr[9] = (aot_mem.aot_direct_load32(aot_gpr_7 + static_cast(48))); { const bool branch_taken = ctx.gpr[9] == 0u; ctx.gpr[8] = (ctx.gpr[8] + aot_gpr_6); if (branch_taken) { @@ -2361,37 +2362,37 @@ L_08AB8C28: ctx.gpr[12] = aot_run_words[1]; ctx.gpr[13] = aot_run_words[2]; } - aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(0), ctx.gpr[9]); + aot_mem.aot_direct_store32(aot_gpr_7 + static_cast(0), ctx.gpr[9]); ctx.gpr[9] = (aot_mem.aot_direct_load32(ctx.gpr[8] + static_cast(12))); - aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(4), ctx.gpr[12]); + aot_mem.aot_direct_store32(aot_gpr_7 + static_cast(4), ctx.gpr[12]); ctx.gpr[12] = (aot_mem.aot_direct_load32(ctx.gpr[8] + static_cast(16))); - aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(8), ctx.gpr[13]); + aot_mem.aot_direct_store32(aot_gpr_7 + static_cast(8), ctx.gpr[13]); ctx.gpr[13] = (aot_mem.aot_direct_load32(ctx.gpr[8] + static_cast(20))); - aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(12), ctx.gpr[9]); + aot_mem.aot_direct_store32(aot_gpr_7 + static_cast(12), ctx.gpr[9]); ctx.gpr[9] = (aot_mem.aot_direct_load32(ctx.gpr[8] + static_cast(24))); - aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(16), ctx.gpr[12]); + aot_mem.aot_direct_store32(aot_gpr_7 + static_cast(16), ctx.gpr[12]); ctx.gpr[12] = (aot_mem.aot_direct_load32(ctx.gpr[8] + static_cast(28))); - aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(20), ctx.gpr[13]); + aot_mem.aot_direct_store32(aot_gpr_7 + static_cast(20), ctx.gpr[13]); ctx.gpr[13] = (aot_mem.aot_direct_load32(ctx.gpr[8] + static_cast(32))); - aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(24), ctx.gpr[9]); + aot_mem.aot_direct_store32(aot_gpr_7 + static_cast(24), ctx.gpr[9]); ctx.gpr[9] = (aot_mem.aot_direct_load32(ctx.gpr[8] + static_cast(36))); - aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(28), ctx.gpr[12]); + aot_mem.aot_direct_store32(aot_gpr_7 + static_cast(28), ctx.gpr[12]); ctx.gpr[12] = (aot_mem.aot_direct_load32(ctx.gpr[8] + static_cast(40))); - aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(32), ctx.gpr[13]); + aot_mem.aot_direct_store32(aot_gpr_7 + static_cast(32), ctx.gpr[13]); ctx.gpr[8] = (aot_mem.aot_direct_load32(ctx.gpr[8] + static_cast(44))); aot_gpr_5 = (aot_gpr_5 + static_cast(1)); - aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(36), ctx.gpr[9]); + aot_mem.aot_direct_store32(aot_gpr_7 + static_cast(36), ctx.gpr[9]); aot_gpr_5 = (aot_gpr_5 << 16u); - aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(40), ctx.gpr[12]); + aot_mem.aot_direct_store32(aot_gpr_7 + static_cast(40), ctx.gpr[12]); aot_gpr_5 = (static_cast(static_cast(aot_gpr_5) >> 16u)); - aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(44), ctx.gpr[8]); - ctx.gpr[7] = (aot_gpr_5 << 4u); - ctx.gpr[8] = (ctx.gpr[7] + ctx.gpr[7]); - ctx.gpr[8] = (ctx.gpr[7] + ctx.gpr[8]); + aot_mem.aot_direct_store32(aot_gpr_7 + static_cast(44), ctx.gpr[8]); + aot_gpr_7 = (aot_gpr_5 << 4u); + ctx.gpr[8] = (aot_gpr_7 + aot_gpr_7); + ctx.gpr[8] = (aot_gpr_7 + ctx.gpr[8]); ctx.gpr[8] = (ctx.gpr[2] + ctx.gpr[8]); ctx.gpr[9] = (static_cast(aot_gpr_5) < 3 ? 1u : 0u); { const bool branch_taken = 0u == 0u; - ctx.gpr[7] = (ctx.gpr[8] + ctx.gpr[11]); + aot_gpr_7 = (ctx.gpr[8] + ctx.gpr[11]); if (branch_taken) { goto L_08AB8C14; } @@ -2399,7 +2400,7 @@ L_08AB8C28: } L_08AB8CB0: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); - aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(0), 0u); + aot_mem.aot_direct_store32(aot_gpr_7 + static_cast(0), 0u); aot_mem.aot_direct_store32(ctx.gpr[10] + static_cast(12), aot_gpr_5); goto L_08AB8CBC; L_08AB8CBC: @@ -2423,9 +2424,9 @@ L_08AB8CD0: goto L_08AB8CDC; } L_08AB8CDC: - ctx.gpr[7] = (aot_gpr_4 + static_cast(-26272)); - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(12))); - aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(8))); + aot_gpr_7 = (aot_gpr_4 + static_cast(-26272)); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_7 + static_cast(12))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_7 + static_cast(8))); ctx.gpr[8] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); aot_gpr_5 = (aot_gpr_5 < ctx.gpr[8] ? 1u : 0u); @@ -2439,10 +2440,10 @@ L_08AB8CDC: L_08AB8CFC: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(-26272), 0u); aot_gpr_5 = (0u | 0u); - ctx.gpr[8] = (ctx.gpr[7] + static_cast(48)); + ctx.gpr[8] = (aot_gpr_7 + static_cast(48)); ctx.gpr[10] = (0u | 0u); ctx.gpr[9] = (0u | 1u); - aot_gpr_6 = (ctx.gpr[7] | 0u); + aot_gpr_6 = (aot_gpr_7 | 0u); goto L_08AB8D14; L_08AB8D14: { const bool branch_taken = ctx.gpr[9] == 0u; @@ -2497,7 +2498,7 @@ L_08AB8D28: ctx.gpr[10] = (ctx.gpr[10] + aot_gpr_6); ctx.gpr[9] = (static_cast(aot_gpr_5) < 7 ? 1u : 0u); { const bool branch_taken = 0u == 0u; - aot_gpr_6 = (ctx.gpr[10] + ctx.gpr[7]); + aot_gpr_6 = (ctx.gpr[10] + aot_gpr_7); if (branch_taken) { goto L_08AB8D14; } @@ -2506,7 +2507,7 @@ L_08AB8D28: L_08AB8DAC: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(0), 0u); - aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(12), aot_gpr_5); + aot_mem.aot_direct_store32(aot_gpr_7 + static_cast(12), aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(-26272))); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -2517,7 +2518,7 @@ L_08AB8DAC: } L_08AB8DC4: { std::uint32_t aot_run_words[7]{}; - aot_mem.aot_direct_load32_block(ctx.gpr[7] + static_cast(16), aot_run_words); + aot_mem.aot_direct_load32_block(aot_gpr_7 + static_cast(16), aot_run_words); aot_gpr_5 = aot_run_words[0]; aot_gpr_6 = aot_run_words[1]; ctx.gpr[8] = aot_run_words[2]; @@ -2526,7 +2527,7 @@ L_08AB8DC4: ctx.gpr[11] = aot_run_words[5]; ctx.gpr[2] = aot_run_words[6]; } - ctx.gpr[7] = (ctx.gpr[8] | 0u); + aot_gpr_7 = (ctx.gpr[8] | 0u); ctx.gpr[8] = (ctx.gpr[9] | 0u); ctx.gpr[9] = (ctx.gpr[10] | 0u); ctx.gpr[10] = (ctx.gpr[11] | 0u); @@ -2543,7 +2544,7 @@ L_08AB8DF8: AOT_REGCACHE_SYNC_OUT(); return; L_08AB8E04: aot_gpr_29 = (aot_gpr_29 + static_cast(-544)); - { const std::uint32_t aot_run_words[6]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; + { const std::uint32_t aot_run_words[6]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(512), aot_run_words); } aot_gpr_31 = (0x08AB8E28u); // nop @@ -2554,7 +2555,7 @@ L_08AB8E28: ctx.gpr[17] = (2240u << 16u); ctx.gpr[19] = (0u | 0u); ctx.gpr[18] = (ctx.gpr[18] + static_cast(-27808)); - aot_gpr_16 = (ctx.gpr[17] + static_cast(-26272)); + ctx.gpr[16] = (ctx.gpr[17] + static_cast(-26272)); aot_gpr_4 = (ctx.gpr[19] << 6u); goto L_08AB8E40; L_08AB8E40: @@ -2566,7 +2567,7 @@ L_08AB8E40: aot_mem.aot_direct_load32_block(ctx.gpr[20] + static_cast(16), aot_run_words); aot_gpr_5 = aot_run_words[0]; aot_gpr_6 = aot_run_words[1]; - ctx.gpr[7] = aot_run_words[2]; + aot_gpr_7 = aot_run_words[2]; ctx.gpr[8] = aot_run_words[3]; ctx.gpr[9] = aot_run_words[4]; ctx.gpr[10] = aot_run_words[5]; @@ -2618,10 +2619,10 @@ L_08AB8EA8: L_08AB8EBC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(-26272))); { std::uint32_t aot_run_words[6]{}; - aot_mem.aot_direct_load32_block(aot_gpr_16 + static_cast(16), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[16] + static_cast(16), aot_run_words); aot_gpr_5 = aot_run_words[0]; aot_gpr_6 = aot_run_words[1]; - ctx.gpr[7] = aot_run_words[2]; + aot_gpr_7 = aot_run_words[2]; ctx.gpr[8] = aot_run_words[3]; ctx.gpr[9] = aot_run_words[4]; ctx.gpr[10] = aot_run_words[5]; @@ -2630,7 +2631,7 @@ L_08AB8EBC: ctx.gpr[11] = (aot_gpr_29 | 0u); goto L_08ABAD24; L_08AB8EE0: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(40))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(40))); aot_gpr_31 = (0x08AB8EECu); aot_gpr_4 = (aot_gpr_29 | 0u); goto L_08AB96BC; @@ -2641,7 +2642,7 @@ L_08AB8EEC: L_08AB8EF4: ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5848))); if (ctx.gpr[17] != 0u) { - aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(44))); + aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(44))); goto L_08AB8F10; } goto L_08AB8F00; @@ -2652,7 +2653,7 @@ L_08AB8F00: AOT_REGCACHE_SYNC_OUT(); return; L_08AB8F08: ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5848))); - aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(44))); + aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(44))); goto L_08AB8F10; L_08AB8F10: aot_gpr_4 = (ctx.gpr[17] | 0u); @@ -2663,7 +2664,7 @@ L_08AB8F10: L_08AB8F1C: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(512), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -2678,9 +2679,9 @@ L_08AB8F1C: AOT_REGCACHE_SYNC_OUT(); return; L_08AB8F3C: aot_gpr_29 = (aot_gpr_29 + static_cast(-1040)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1024), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1024), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1028), ctx.gpr[17]); - aot_gpr_16 = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); ctx.gpr[17] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1032), ctx.gpr[18]); ctx.gpr[18] = (aot_gpr_6 & 65535u); @@ -2700,13 +2701,13 @@ L_08AB8F74: goto L_08AB8A34; L_08AB8F7C: aot_gpr_5 = (2240u << 16u); - ctx.gpr[7] = (0u | 0u); + aot_gpr_7 = (0u | 0u); aot_gpr_6 = (0u | 1u); aot_gpr_4 = (aot_gpr_5 + static_cast(-26272)); goto L_08AB8F8C; L_08AB8F8C: { const bool branch_taken = aot_gpr_6 == 0u; - ctx.gpr[8] = (ctx.gpr[7] << 4u); + ctx.gpr[8] = (aot_gpr_7 << 4u); if (branch_taken) { goto L_08AB8FC0; } @@ -2725,11 +2726,11 @@ L_08AB8F94: goto L_08AB8FAC; } L_08AB8FAC: - aot_gpr_6 = (ctx.gpr[7] + static_cast(1)); - ctx.gpr[7] = (aot_gpr_6 << 16u); - ctx.gpr[7] = (static_cast(static_cast(ctx.gpr[7]) >> 16u)); + aot_gpr_6 = (aot_gpr_7 + static_cast(1)); + aot_gpr_7 = (aot_gpr_6 << 16u); + aot_gpr_7 = (static_cast(static_cast(aot_gpr_7) >> 16u)); { const bool branch_taken = 0u == 0u; - aot_gpr_6 = (static_cast(ctx.gpr[7]) < 8 ? 1u : 0u); + aot_gpr_6 = (static_cast(aot_gpr_7) < 8 ? 1u : 0u); if (branch_taken) { goto L_08AB8F8C; } @@ -2737,7 +2738,7 @@ L_08AB8FAC: } L_08AB8FC0: { const bool branch_taken = aot_gpr_6 == 0u; - aot_gpr_6 = (ctx.gpr[7] << 4u); + aot_gpr_6 = (aot_gpr_7 << 4u); if (branch_taken) { goto L_08AB9050; } @@ -2750,12 +2751,12 @@ L_08AB8FC8: aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(0), ctx.gpr[17]); aot_mem.aot_direct_store16(aot_gpr_6 + static_cast(4), static_cast(ctx.gpr[18])); ctx.gpr[8] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); - aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(8), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(8), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(12), ctx.gpr[8]); ctx.gpr[8] = (0u + static_cast(-1)); { const std::uint32_t aot_run_words[6]{ctx.gpr[8], ctx.gpr[8], ctx.gpr[8], ctx.gpr[8], ctx.gpr[8], ctx.gpr[8]}; aot_mem.aot_direct_store32_block(aot_gpr_6 + static_cast(16), aot_run_words); } - { const bool branch_taken = ctx.gpr[7] != 0u; + { const bool branch_taken = aot_gpr_7 != 0u; aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(40), 0u); if (branch_taken) { goto L_08AB9050; @@ -2767,7 +2768,7 @@ L_08AB900C: { std::uint32_t aot_run_words[7]{}; aot_mem.aot_direct_load32_block(aot_gpr_4 + static_cast(16), aot_run_words); aot_gpr_6 = aot_run_words[0]; - ctx.gpr[7] = aot_run_words[1]; + aot_gpr_7 = aot_run_words[1]; ctx.gpr[8] = aot_run_words[2]; ctx.gpr[9] = aot_run_words[3]; ctx.gpr[10] = aot_run_words[4]; @@ -2776,8 +2777,8 @@ L_08AB900C: } aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (aot_gpr_6 | 0u); - aot_gpr_6 = (ctx.gpr[7] | 0u); - ctx.gpr[7] = (ctx.gpr[8] | 0u); + aot_gpr_6 = (aot_gpr_7 | 0u); + aot_gpr_7 = (ctx.gpr[8] | 0u); ctx.gpr[8] = (ctx.gpr[9] | 0u); ctx.gpr[9] = (ctx.gpr[10] | 0u); ctx.gpr[10] = (ctx.gpr[11] | 0u); @@ -2787,7 +2788,7 @@ L_08AB900C: L_08AB9050: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(1024), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; @@ -2804,11 +2805,11 @@ L_08AB9068: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1036), ctx.gpr[19]); ctx.gpr[18] = (aot_gpr_5 | 0u); ctx.gpr[19] = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1024), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1024), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1028), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1040), ctx.gpr[20]); - aot_gpr_16 = (aot_gpr_6 | 0u); - ctx.gpr[17] = (ctx.gpr[7] | 0u); + ctx.gpr[16] = (aot_gpr_6 | 0u); + ctx.gpr[17] = (aot_gpr_7 | 0u); ctx.gpr[20] = (ctx.gpr[8] & 255u); aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); @@ -2828,7 +2829,7 @@ L_08AB90B8: aot_gpr_5 = (2240u << 16u); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(-26272), ctx.gpr[19]); aot_gpr_4 = (aot_gpr_5 + static_cast(-26272)); - aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(4), static_cast(aot_gpr_16)); + aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(4), static_cast(ctx.gpr[16])); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(8), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(12), aot_gpr_6); @@ -2847,7 +2848,7 @@ L_08AB90FC: { std::uint32_t aot_run_words[7]{}; aot_mem.aot_direct_load32_block(aot_gpr_4 + static_cast(16), aot_run_words); aot_gpr_6 = aot_run_words[0]; - ctx.gpr[7] = aot_run_words[1]; + aot_gpr_7 = aot_run_words[1]; ctx.gpr[8] = aot_run_words[2]; ctx.gpr[9] = aot_run_words[3]; ctx.gpr[10] = aot_run_words[4]; @@ -2856,8 +2857,8 @@ L_08AB90FC: } aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (aot_gpr_6 | 0u); - aot_gpr_6 = (ctx.gpr[7] | 0u); - ctx.gpr[7] = (ctx.gpr[8] | 0u); + aot_gpr_6 = (aot_gpr_7 | 0u); + aot_gpr_7 = (ctx.gpr[8] | 0u); ctx.gpr[8] = (ctx.gpr[9] | 0u); ctx.gpr[9] = (ctx.gpr[10] | 0u); ctx.gpr[10] = (ctx.gpr[11] | 0u); @@ -2867,7 +2868,7 @@ L_08AB90FC: L_08AB9140: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(1024), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -2882,9 +2883,9 @@ L_08AB9140: AOT_REGCACHE_SYNC_OUT(); return; L_08AB9160: aot_gpr_29 = (aot_gpr_29 + static_cast(-1040)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1024), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1024), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1028), ctx.gpr[17]); - aot_gpr_16 = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); ctx.gpr[17] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1032), ctx.gpr[18]); ctx.gpr[18] = (aot_gpr_6 & 65535u); @@ -2904,9 +2905,9 @@ L_08AB9198: goto L_08AB8A34; L_08AB91A0: aot_gpr_6 = (2240u << 16u); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(-26272))); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(-26272))); aot_gpr_5 = (aot_gpr_6 + static_cast(-26272)); - { const bool branch_taken = ctx.gpr[7] == 0u; + { const bool branch_taken = aot_gpr_7 == 0u; aot_gpr_4 = (0u + static_cast(-1)); if (branch_taken) { goto L_08AB927C; @@ -2914,9 +2915,9 @@ L_08AB91A0: goto L_08AB91B4; } L_08AB91B4: - ctx.gpr[7] = (0u | 7u); + aot_gpr_7 = (0u | 7u); aot_gpr_6 = (aot_gpr_5 + static_cast(-48)); - ctx.gpr[8] = (ctx.gpr[7] << 4u); + ctx.gpr[8] = (aot_gpr_7 << 4u); goto L_08AB91C0; L_08AB91C0: ctx.gpr[9] = (ctx.gpr[8] + ctx.gpr[8]); @@ -2944,15 +2945,15 @@ L_08AB91C0: ctx.gpr[11] = (aot_mem.aot_direct_load32(ctx.gpr[9] + static_cast(40))); aot_mem.aot_direct_store32(ctx.gpr[8] + static_cast(32), ctx.gpr[2]); ctx.gpr[9] = (aot_mem.aot_direct_load32(ctx.gpr[9] + static_cast(44))); - ctx.gpr[7] = (ctx.gpr[7] + static_cast(-1)); + aot_gpr_7 = (aot_gpr_7 + static_cast(-1)); aot_mem.aot_direct_store32(ctx.gpr[8] + static_cast(36), ctx.gpr[10]); aot_mem.aot_direct_store32(ctx.gpr[8] + static_cast(40), ctx.gpr[11]); - ctx.gpr[7] = (ctx.gpr[7] << 16u); + aot_gpr_7 = (aot_gpr_7 << 16u); aot_mem.aot_direct_store32(ctx.gpr[8] + static_cast(44), ctx.gpr[9]); - ctx.gpr[7] = (static_cast(static_cast(ctx.gpr[7]) >> 16u)); - ctx.gpr[8] = (static_cast(ctx.gpr[7]) < 2 ? 1u : 0u); + aot_gpr_7 = (static_cast(static_cast(aot_gpr_7) >> 16u)); + ctx.gpr[8] = (static_cast(aot_gpr_7) < 2 ? 1u : 0u); { const bool branch_taken = ctx.gpr[8] == 0u; - ctx.gpr[8] = (ctx.gpr[7] << 4u); + ctx.gpr[8] = (aot_gpr_7 << 4u); if (branch_taken) { goto L_08AB91C0; } @@ -2962,7 +2963,7 @@ L_08AB9248: aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(48), ctx.gpr[17]); aot_mem.aot_direct_store16(aot_gpr_5 + static_cast(52), static_cast(ctx.gpr[18])); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); - { const std::uint32_t aot_run_words[8]{aot_gpr_16, aot_gpr_6, aot_gpr_4, aot_gpr_4, aot_gpr_4, aot_gpr_4, aot_gpr_4, aot_gpr_4}; + { const std::uint32_t aot_run_words[8]{ctx.gpr[16], aot_gpr_6, aot_gpr_4, aot_gpr_4, aot_gpr_4, aot_gpr_4, aot_gpr_4, aot_gpr_4}; aot_mem.aot_direct_store32_block(aot_gpr_5 + static_cast(56), aot_run_words); } { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(88), 0u); @@ -2975,11 +2976,11 @@ L_08AB927C: aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(-26272), ctx.gpr[17]); aot_mem.aot_direct_store16(aot_gpr_5 + static_cast(4), static_cast(ctx.gpr[18])); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); - { const std::uint32_t aot_run_words[9]{aot_gpr_16, aot_gpr_6, aot_gpr_4, aot_gpr_4, aot_gpr_4, aot_gpr_4, aot_gpr_4, aot_gpr_4, 0u}; + { const std::uint32_t aot_run_words[9]{ctx.gpr[16], aot_gpr_6, aot_gpr_4, aot_gpr_4, aot_gpr_4, aot_gpr_4, aot_gpr_4, aot_gpr_4, 0u}; aot_mem.aot_direct_store32_block(aot_gpr_5 + static_cast(8), aot_run_words); } aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_6 = (aot_gpr_4 | 0u); - ctx.gpr[7] = (aot_gpr_4 | 0u); + aot_gpr_7 = (aot_gpr_4 | 0u); ctx.gpr[8] = (aot_gpr_4 | 0u); ctx.gpr[9] = (aot_gpr_4 | 0u); ctx.gpr[10] = (aot_gpr_4 | 0u); @@ -2990,7 +2991,7 @@ L_08AB927C: L_08AB92D0: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(1024), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; @@ -3009,23 +3010,23 @@ L_08AB92E8: L_08AB92F4: aot_gpr_6 = (aot_gpr_4 << 6u); ctx.gpr[8] = (aot_gpr_6 + aot_gpr_6); - ctx.gpr[7] = (0u | 0u); + aot_gpr_7 = (0u | 0u); aot_gpr_6 = (aot_gpr_6 + ctx.gpr[8]); - ctx.gpr[8] = (ctx.gpr[7] << 4u); + ctx.gpr[8] = (aot_gpr_7 << 4u); goto L_08AB9308; L_08AB9308: ctx.gpr[9] = (ctx.gpr[8] + ctx.gpr[8]); ctx.gpr[8] = (ctx.gpr[8] + ctx.gpr[9]); ctx.gpr[8] = (aot_gpr_6 + ctx.gpr[8]); ctx.gpr[8] = (ctx.gpr[8] + aot_gpr_5); - ctx.gpr[7] = (ctx.gpr[7] + static_cast(1)); + aot_gpr_7 = (aot_gpr_7 + static_cast(1)); aot_mem.aot_direct_store32(ctx.gpr[8] + static_cast(0), 0u); - ctx.gpr[7] = (ctx.gpr[7] << 16u); + aot_gpr_7 = (aot_gpr_7 << 16u); aot_mem.aot_direct_store32(ctx.gpr[8] + static_cast(40), 0u); - ctx.gpr[7] = (static_cast(static_cast(ctx.gpr[7]) >> 16u)); - ctx.gpr[8] = (static_cast(ctx.gpr[7]) < 4 ? 1u : 0u); + aot_gpr_7 = (static_cast(static_cast(aot_gpr_7) >> 16u)); + ctx.gpr[8] = (static_cast(aot_gpr_7) < 4 ? 1u : 0u); { const bool branch_taken = ctx.gpr[8] != 0u; - ctx.gpr[8] = (ctx.gpr[7] << 4u); + ctx.gpr[8] = (aot_gpr_7 << 4u); if (branch_taken) { goto L_08AB9308; } @@ -3050,8 +3051,8 @@ L_08AB9350: goto L_08AB935C; L_08AB935C: aot_gpr_6 = (aot_gpr_4 << 4u); - ctx.gpr[7] = (aot_gpr_6 + aot_gpr_6); - aot_gpr_6 = (aot_gpr_6 + ctx.gpr[7]); + aot_gpr_7 = (aot_gpr_6 + aot_gpr_6); + aot_gpr_6 = (aot_gpr_6 + aot_gpr_7); aot_gpr_6 = (aot_gpr_6 + aot_gpr_5); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(0), 0u); @@ -3080,8 +3081,8 @@ L_08AB9394: goto L_08AB93A0; L_08AB93A0: aot_gpr_6 = (aot_gpr_5 << 4u); - ctx.gpr[7] = (aot_gpr_6 + aot_gpr_6); - aot_gpr_6 = (aot_gpr_6 + ctx.gpr[7]); + aot_gpr_7 = (aot_gpr_6 + aot_gpr_6); + aot_gpr_6 = (aot_gpr_6 + aot_gpr_7); aot_gpr_6 = (aot_gpr_6 + aot_gpr_4); aot_gpr_5 = (aot_gpr_5 + static_cast(1)); aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(0), 0u); @@ -3105,11 +3106,11 @@ L_08AB93D0: AOT_REGCACHE_SYNC_OUT(); return; L_08AB93D8: aot_gpr_4 = (2240u << 16u); - ctx.gpr[7] = (0u | 0u); + aot_gpr_7 = (0u | 0u); aot_gpr_4 = (aot_gpr_4 + static_cast(-27808)); goto L_08AB93E4; L_08AB93E4: - aot_gpr_5 = (ctx.gpr[7] << 6u); + aot_gpr_5 = (aot_gpr_7 << 6u); ctx.gpr[8] = (aot_gpr_5 + aot_gpr_5); aot_gpr_6 = (0u | 0u); aot_gpr_5 = (aot_gpr_5 + ctx.gpr[8]); @@ -3134,10 +3135,10 @@ L_08AB93F8: goto L_08AB9428; } L_08AB9428: - aot_gpr_5 = (ctx.gpr[7] + static_cast(1)); - ctx.gpr[7] = (aot_gpr_5 << 16u); - ctx.gpr[7] = (static_cast(static_cast(ctx.gpr[7]) >> 16u)); - aot_gpr_5 = (static_cast(ctx.gpr[7]) < 8 ? 1u : 0u); + aot_gpr_5 = (aot_gpr_7 + static_cast(1)); + aot_gpr_7 = (aot_gpr_5 << 16u); + aot_gpr_7 = (static_cast(static_cast(aot_gpr_7) >> 16u)); + aot_gpr_5 = (static_cast(aot_gpr_7) < 8 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 != 0u; // nop if (branch_taken) { @@ -3154,9 +3155,9 @@ L_08AB9440: AOT_REGCACHE_SYNC_OUT(); return; L_08AB9448: aot_gpr_29 = (aot_gpr_29 + static_cast(-1040)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1024), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1024), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1028), ctx.gpr[17]); - aot_gpr_16 = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); ctx.gpr[17] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1032), ctx.gpr[18]); ctx.gpr[18] = (aot_gpr_6 & 65535u); @@ -3200,7 +3201,7 @@ L_08AB949C: goto L_08AB94A4; } L_08AB94A4: - aot_gpr_16 = (0u | 4900u); + ctx.gpr[16] = (0u | 4900u); aot_gpr_4 = (ctx.gpr[18] << 6u); goto L_08AB94AC; L_08AB94AC: @@ -3212,7 +3213,7 @@ L_08AB94AC: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), ctx.gpr[17]); aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(4), static_cast(0u)); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); - aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(8), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(8), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(12), aot_gpr_5); aot_gpr_5 = (0u + static_cast(-1)); { const std::uint32_t aot_run_words[7]{aot_gpr_5, aot_gpr_5, aot_gpr_5, aot_gpr_5, aot_gpr_5, aot_gpr_5, 0u}; @@ -3229,7 +3230,7 @@ L_08AB9500: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (0u + static_cast(-1)); aot_gpr_6 = (0u + static_cast(-1)); - ctx.gpr[7] = (0u + static_cast(-1)); + aot_gpr_7 = (0u + static_cast(-1)); ctx.gpr[8] = (0u + static_cast(-1)); ctx.gpr[9] = (0u + static_cast(-1)); ctx.gpr[10] = (0u + static_cast(-1)); @@ -3239,7 +3240,7 @@ L_08AB9500: L_08AB9524: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(1024), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; @@ -3252,9 +3253,9 @@ L_08AB9524: AOT_REGCACHE_SYNC_OUT(); return; L_08AB953C: aot_gpr_29 = (aot_gpr_29 + static_cast(-1040)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1024), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1024), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1028), ctx.gpr[17]); - aot_gpr_16 = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); ctx.gpr[17] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1032), ctx.gpr[18]); ctx.gpr[18] = (aot_gpr_6 & 65535u); @@ -3302,15 +3303,15 @@ L_08AB95A0: goto L_08AB95A8; } L_08AB95A8: - aot_gpr_16 = (0u | 4900u); + ctx.gpr[16] = (0u | 4900u); goto L_08AB95AC; L_08AB95AC: - ctx.gpr[7] = (0u | 0u); + aot_gpr_7 = (0u | 0u); aot_gpr_6 = (0u | 1u); goto L_08AB95B4; L_08AB95B4: { const bool branch_taken = aot_gpr_6 == 0u; - ctx.gpr[8] = (ctx.gpr[7] << 4u); + ctx.gpr[8] = (aot_gpr_7 << 4u); if (branch_taken) { goto L_08AB95EC; } @@ -3330,11 +3331,11 @@ L_08AB95BC: goto L_08AB95D8; } L_08AB95D8: - aot_gpr_6 = (ctx.gpr[7] + static_cast(1)); - ctx.gpr[7] = (aot_gpr_6 << 16u); - ctx.gpr[7] = (static_cast(static_cast(ctx.gpr[7]) >> 16u)); + aot_gpr_6 = (aot_gpr_7 + static_cast(1)); + aot_gpr_7 = (aot_gpr_6 << 16u); + aot_gpr_7 = (static_cast(static_cast(aot_gpr_7) >> 16u)); { const bool branch_taken = 0u == 0u; - aot_gpr_6 = (static_cast(ctx.gpr[7]) < 4 ? 1u : 0u); + aot_gpr_6 = (static_cast(aot_gpr_7) < 4 ? 1u : 0u); if (branch_taken) { goto L_08AB95B4; } @@ -3342,21 +3343,21 @@ L_08AB95D8: } L_08AB95EC: { const bool branch_taken = aot_gpr_6 == 0u; - aot_gpr_6 = (ctx.gpr[7] << 4u); + aot_gpr_6 = (aot_gpr_7 << 4u); if (branch_taken) { goto L_08AB9668; } goto L_08AB95F4; } L_08AB95F4: - ctx.gpr[7] = (aot_gpr_6 + aot_gpr_6); - aot_gpr_6 = (aot_gpr_6 + ctx.gpr[7]); + aot_gpr_7 = (aot_gpr_6 + aot_gpr_6); + aot_gpr_6 = (aot_gpr_6 + aot_gpr_7); aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), ctx.gpr[17]); aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(4), static_cast(0u)); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); - aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(8), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(8), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(12), aot_gpr_5); aot_gpr_5 = (0u + static_cast(-1)); { const std::uint32_t aot_run_words[7]{aot_gpr_5, aot_gpr_5, aot_gpr_5, aot_gpr_5, aot_gpr_5, aot_gpr_5, 0u}; @@ -3373,7 +3374,7 @@ L_08AB9644: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (0u + static_cast(-1)); aot_gpr_6 = (0u + static_cast(-1)); - ctx.gpr[7] = (0u + static_cast(-1)); + aot_gpr_7 = (0u + static_cast(-1)); ctx.gpr[8] = (0u + static_cast(-1)); ctx.gpr[9] = (0u + static_cast(-1)); ctx.gpr[10] = (0u + static_cast(-1)); @@ -3383,7 +3384,7 @@ L_08AB9644: L_08AB9668: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(1024), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; @@ -3440,8 +3441,8 @@ L_08AB96C8: goto L_08AB96D0; } L_08AB96D0: - ctx.gpr[7] = (aot_gpr_4 | 0u); - ctx.gpr[8] = (aot_mem.aot_direct_load16(ctx.gpr[7] + static_cast(0))); + aot_gpr_7 = (aot_gpr_4 | 0u); + ctx.gpr[8] = (aot_mem.aot_direct_load16(aot_gpr_7 + static_cast(0))); ctx.gpr[10] = (0u | 0u); { const bool branch_taken = ctx.gpr[8] != 0u; aot_gpr_6 = (0u | 0u); @@ -3467,9 +3468,9 @@ L_08AB96EC: goto L_08AB96F4; } L_08AB96F4: - ctx.gpr[7] = (ctx.gpr[7] + static_cast(2)); + aot_gpr_7 = (aot_gpr_7 + static_cast(2)); ctx.gpr[10] = (ctx.gpr[10] + static_cast(1)); - ctx.gpr[8] = (aot_mem.aot_direct_load16(ctx.gpr[7] + static_cast(0))); + ctx.gpr[8] = (aot_mem.aot_direct_load16(aot_gpr_7 + static_cast(0))); { const bool branch_taken = ctx.gpr[8] != 0u; ctx.gpr[10] = (ctx.gpr[10] & 65535u); if (branch_taken) { @@ -3478,8 +3479,8 @@ L_08AB96F4: goto L_08AB9708; } L_08AB9708: - ctx.gpr[7] = (aot_gpr_5 | 0u); - ctx.gpr[8] = (aot_mem.aot_direct_load16(ctx.gpr[7] + static_cast(0))); + aot_gpr_7 = (aot_gpr_5 | 0u); + ctx.gpr[8] = (aot_mem.aot_direct_load16(aot_gpr_7 + static_cast(0))); { const bool branch_taken = ctx.gpr[8] == 0u; // nop if (branch_taken) { @@ -3488,9 +3489,9 @@ L_08AB9708: goto L_08AB9718; } L_08AB9718: - ctx.gpr[7] = (ctx.gpr[7] + static_cast(2)); + aot_gpr_7 = (aot_gpr_7 + static_cast(2)); aot_gpr_6 = (aot_gpr_6 + static_cast(1)); - ctx.gpr[8] = (aot_mem.aot_direct_load16(ctx.gpr[7] + static_cast(0))); + ctx.gpr[8] = (aot_mem.aot_direct_load16(aot_gpr_7 + static_cast(0))); { const bool branch_taken = ctx.gpr[8] != 0u; aot_gpr_6 = (aot_gpr_6 & 65535u); if (branch_taken) { @@ -3502,8 +3503,8 @@ L_08AB972C: ctx.gpr[10] = (ctx.gpr[10] + aot_gpr_6); ctx.gpr[10] = (ctx.gpr[10] & 65535u); ctx.gpr[8] = (0u | 0u); - ctx.gpr[7] = (static_cast(ctx.gpr[8]) < static_cast(ctx.gpr[10]) ? 1u : 0u); - { const bool branch_taken = ctx.gpr[7] == 0u; + aot_gpr_7 = (static_cast(ctx.gpr[8]) < static_cast(ctx.gpr[10]) ? 1u : 0u); + { const bool branch_taken = aot_gpr_7 == 0u; ctx.gpr[9] = (0u | 0u); if (branch_taken) { goto L_08AB97FC; @@ -3555,17 +3556,17 @@ L_08AB9778: goto L_08AB978C; } L_08AB978C: - ctx.gpr[7] = (ctx.gpr[3] + ctx.gpr[3]); - ctx.gpr[7] = (aot_gpr_5 + ctx.gpr[7]); - ctx.gpr[7] = (aot_mem.aot_direct_load16(ctx.gpr[7] + static_cast(0))); + aot_gpr_7 = (ctx.gpr[3] + ctx.gpr[3]); + aot_gpr_7 = (aot_gpr_5 + aot_gpr_7); + aot_gpr_7 = (aot_mem.aot_direct_load16(aot_gpr_7 + static_cast(0))); ctx.gpr[12] = (ctx.gpr[8] + ctx.gpr[8]); ctx.gpr[3] = (ctx.gpr[3] + static_cast(1)); ctx.gpr[12] = (aot_gpr_29 + ctx.gpr[12]); ctx.gpr[3] = (ctx.gpr[3] & 65535u); ctx.gpr[8] = (ctx.gpr[8] + static_cast(1)); - aot_mem.aot_direct_store16(ctx.gpr[12] + static_cast(0), static_cast(ctx.gpr[7])); - ctx.gpr[7] = (static_cast(ctx.gpr[3]) < static_cast(aot_gpr_6) ? 1u : 0u); - { const bool branch_taken = ctx.gpr[7] != 0u; + aot_mem.aot_direct_store16(ctx.gpr[12] + static_cast(0), static_cast(aot_gpr_7)); + aot_gpr_7 = (static_cast(ctx.gpr[3]) < static_cast(aot_gpr_6) ? 1u : 0u); + { const bool branch_taken = aot_gpr_7 != 0u; ctx.gpr[8] = (ctx.gpr[8] & 65535u); if (branch_taken) { goto L_08AB978C; @@ -3574,32 +3575,32 @@ L_08AB978C: } L_08AB97BC: { const bool branch_taken = 0u == 0u; - ctx.gpr[7] = (static_cast(ctx.gpr[8]) < static_cast(ctx.gpr[10]) ? 1u : 0u); + aot_gpr_7 = (static_cast(ctx.gpr[8]) < static_cast(ctx.gpr[10]) ? 1u : 0u); if (branch_taken) { goto L_08AB97F4; } goto L_08AB97C4; } L_08AB97C4: - ctx.gpr[7] = (ctx.gpr[9] + ctx.gpr[9]); - ctx.gpr[7] = (aot_gpr_4 + ctx.gpr[7]); - ctx.gpr[7] = (aot_mem.aot_direct_load16(ctx.gpr[7] + static_cast(0))); + aot_gpr_7 = (ctx.gpr[9] + ctx.gpr[9]); + aot_gpr_7 = (aot_gpr_4 + aot_gpr_7); + aot_gpr_7 = (aot_mem.aot_direct_load16(aot_gpr_7 + static_cast(0))); ctx.gpr[3] = (ctx.gpr[8] + ctx.gpr[8]); ctx.gpr[8] = (ctx.gpr[8] + static_cast(1)); ctx.gpr[3] = (aot_gpr_29 + ctx.gpr[3]); ctx.gpr[9] = (ctx.gpr[9] + static_cast(1)); ctx.gpr[8] = (ctx.gpr[8] & 65535u); - aot_mem.aot_direct_store16(ctx.gpr[3] + static_cast(0), static_cast(ctx.gpr[7])); + aot_mem.aot_direct_store16(ctx.gpr[3] + static_cast(0), static_cast(aot_gpr_7)); ctx.gpr[9] = (ctx.gpr[9] & 65535u); { const bool branch_taken = 0u == 0u; - ctx.gpr[7] = (static_cast(ctx.gpr[8]) < static_cast(ctx.gpr[10]) ? 1u : 0u); + aot_gpr_7 = (static_cast(ctx.gpr[8]) < static_cast(ctx.gpr[10]) ? 1u : 0u); if (branch_taken) { goto L_08AB97F4; } goto L_08AB97F4; } L_08AB97F4: - { const bool branch_taken = ctx.gpr[7] != 0u; + { const bool branch_taken = aot_gpr_7 != 0u; // nop if (branch_taken) { goto L_08AB974C; @@ -3667,9 +3668,9 @@ L_08AB986C: AOT_REGCACHE_SYNC_OUT(); return; L_08AB9874: aot_gpr_29 = (aot_gpr_29 + static_cast(-544)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(512), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(512), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(520), ctx.gpr[18]); - aot_gpr_16 = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); ctx.gpr[18] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(516), ctx.gpr[17]); ctx.gpr[17] = (0u | 2u); @@ -3679,7 +3680,7 @@ L_08AB9874: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(528), aot_gpr_31); aot_gpr_31 = (0x08AB98A8u); aot_gpr_6 = (0u | 512u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB98A8u) goto L_08AB98A8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB98A8u) goto L_08AB98A8; AOT_REGCACHE_SYNC_OUT(); return; L_08AB98A8: aot_gpr_4 = (0u | 67u); @@ -3691,9 +3692,9 @@ L_08AB98A8: L_08AB98B8: aot_gpr_6 = (aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(150))); aot_gpr_4 = (0u | 126u); - ctx.gpr[7] = (aot_gpr_6 < static_cast(10) ? 1u : 0u); + aot_gpr_7 = (aot_gpr_6 < static_cast(10) ? 1u : 0u); aot_gpr_5 = (ctx.gpr[18] + static_cast(2)); - { const bool branch_taken = ctx.gpr[7] == 0u; + { const bool branch_taken = aot_gpr_7 == 0u; ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); if (branch_taken) { goto L_08AB9988; @@ -3841,9 +3842,9 @@ L_08AB99A0: goto L_08AB99AC; } L_08AB99AC: - ctx.gpr[7] = (ctx.gpr[17] + ctx.gpr[17]); - ctx.gpr[7] = (aot_gpr_29 + ctx.gpr[7]); - aot_mem.aot_direct_store16(ctx.gpr[7] + static_cast(0), static_cast(aot_gpr_6)); + aot_gpr_7 = (ctx.gpr[17] + ctx.gpr[17]); + aot_gpr_7 = (aot_gpr_29 + aot_gpr_7); + aot_mem.aot_direct_store16(aot_gpr_7 + static_cast(0), static_cast(aot_gpr_6)); aot_gpr_5 = (aot_gpr_5 + static_cast(2)); aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0))); ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); @@ -3880,7 +3881,7 @@ L_08AB99E0: L_08AB99EC: aot_gpr_31 = (0x08AB99F4u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB99F4u) goto L_08AB99F4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB99F4u) goto L_08AB99F4; AOT_REGCACHE_SYNC_OUT(); return; L_08AB99F4: ctx.gpr[19] = (ctx.gpr[17] | 0u); @@ -3910,10 +3911,10 @@ L_08AB9A10: goto L_08AB9A20; } L_08AB9A20: - aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(0), static_cast(aot_gpr_4)); - aot_gpr_16 = (aot_gpr_16 + static_cast(2)); + aot_mem.aot_direct_store16(ctx.gpr[16] + static_cast(0), static_cast(aot_gpr_4)); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(2)); ctx.gpr[19] = (ctx.gpr[19] + static_cast(2)); - aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(0), static_cast(0u)); + aot_mem.aot_direct_store16(ctx.gpr[16] + static_cast(0), static_cast(0u)); aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(0))); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -3926,7 +3927,7 @@ L_08AB9A3C: ctx.gpr[2] = (ctx.gpr[18] | 0u); { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(512), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -3940,10 +3941,10 @@ L_08AB9A3C: AOT_REGCACHE_SYNC_OUT(); return; L_08AB9A5C: aot_gpr_29 = (aot_gpr_29 + static_cast(-1120)); - { const std::uint32_t aot_run_words[8]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_31}; + { const std::uint32_t aot_run_words[8]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(1084), aot_run_words); } { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08AB9A9C; } @@ -3951,7 +3952,7 @@ L_08AB9A5C: } L_08AB9A88: aot_gpr_31 = (0x08AB9A90u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_08AB8A34; L_08AB9A90: ctx.gpr[17] = (ctx.gpr[2] | 0u); @@ -4001,7 +4002,7 @@ L_08AB9AD4: goto L_08AB9AE0; L_08AB9AE0: aot_gpr_4 = (ctx.gpr[18] + ctx.gpr[18]); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0))); { const bool branch_taken = aot_gpr_5 != ctx.gpr[20]; // nop @@ -4035,11 +4036,11 @@ L_08AB9B0C: aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08AB9B24u); aot_gpr_6 = (0u | 512u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB9B24u) goto L_08AB9B24; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AB9B24u) goto L_08AB9B24; AOT_REGCACHE_SYNC_OUT(); return; L_08AB9B24: aot_gpr_4 = (ctx.gpr[18] + ctx.gpr[18]); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); aot_gpr_31 = (0x08AB9B34u); aot_gpr_5 = (ctx.gpr[22] | 0u); goto L_08AB9874; @@ -4054,8 +4055,8 @@ L_08AB9B34: L_08AB9B4C: aot_gpr_5 = (ctx.gpr[2] | 0u); aot_gpr_6 = (0u | 0u); - ctx.gpr[7] = (static_cast(aot_gpr_6) < static_cast(aot_gpr_5) ? 1u : 0u); - { const bool branch_taken = ctx.gpr[7] == 0u; + aot_gpr_7 = (static_cast(aot_gpr_6) < static_cast(aot_gpr_5) ? 1u : 0u); + { const bool branch_taken = aot_gpr_7 == 0u; aot_gpr_4 = (static_cast(ctx.gpr[18]) < static_cast(ctx.gpr[17]) ? 1u : 0u); if (branch_taken) { goto L_08AB9BC8; @@ -4063,18 +4064,18 @@ L_08AB9B4C: goto L_08AB9B60; } L_08AB9B60: - ctx.gpr[7] = (aot_gpr_6 + aot_gpr_6); - ctx.gpr[7] = (aot_gpr_29 + ctx.gpr[7]); - ctx.gpr[8] = (aot_mem.aot_direct_load16(ctx.gpr[7] + static_cast(572))); + aot_gpr_7 = (aot_gpr_6 + aot_gpr_6); + aot_gpr_7 = (aot_gpr_29 + aot_gpr_7); + ctx.gpr[8] = (aot_mem.aot_direct_load16(aot_gpr_7 + static_cast(572))); ctx.gpr[9] = (ctx.gpr[19] + ctx.gpr[19]); ctx.gpr[9] = (aot_gpr_29 + ctx.gpr[9]); aot_mem.aot_direct_store16(ctx.gpr[9] + static_cast(60), static_cast(ctx.gpr[8])); aot_gpr_6 = (aot_gpr_6 + static_cast(1)); ctx.gpr[19] = (ctx.gpr[19] + static_cast(1)); - aot_mem.aot_direct_store16(ctx.gpr[7] + static_cast(572), static_cast(0u)); + aot_mem.aot_direct_store16(aot_gpr_7 + static_cast(572), static_cast(0u)); aot_gpr_6 = (aot_gpr_6 & 65535u); - ctx.gpr[7] = (static_cast(aot_gpr_6) < static_cast(aot_gpr_5) ? 1u : 0u); - { const bool branch_taken = ctx.gpr[7] != 0u; + aot_gpr_7 = (static_cast(aot_gpr_6) < static_cast(aot_gpr_5) ? 1u : 0u); + { const bool branch_taken = aot_gpr_7 != 0u; ctx.gpr[19] = (ctx.gpr[19] & 65535u); if (branch_taken) { goto L_08AB9B60; @@ -4091,7 +4092,7 @@ L_08AB9B94: } L_08AB9B9C: aot_gpr_4 = (ctx.gpr[18] + ctx.gpr[18]); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0))); aot_gpr_5 = (ctx.gpr[19] + ctx.gpr[19]); ctx.gpr[18] = (ctx.gpr[18] + static_cast(1)); @@ -4132,7 +4133,7 @@ L_08AB9BF8: aot_gpr_5 = (ctx.gpr[19] + ctx.gpr[19]); aot_gpr_6 = (aot_gpr_29 + aot_gpr_5); aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(60))); - aot_gpr_5 = (aot_gpr_16 + aot_gpr_5); + aot_gpr_5 = (ctx.gpr[16] + aot_gpr_5); ctx.gpr[19] = (ctx.gpr[19] + static_cast(1)); aot_mem.aot_direct_store16(aot_gpr_5 + static_cast(0), static_cast(aot_gpr_6)); ctx.gpr[19] = (ctx.gpr[19] & 65535u); @@ -4155,7 +4156,7 @@ L_08AB9C20: } L_08AB9C2C: aot_gpr_4 = (ctx.gpr[19] + ctx.gpr[19]); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); ctx.gpr[19] = (ctx.gpr[19] + static_cast(1)); aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(0), static_cast(0u)); ctx.gpr[19] = (ctx.gpr[19] & 65535u); @@ -4170,7 +4171,7 @@ L_08AB9C2C: L_08AB9C4C: { std::uint32_t aot_run_words[8]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(1084), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -4195,14 +4196,14 @@ L_08AB9C74: ctx.gpr[21] = (ctx.gpr[10] | 0u); ctx.gpr[20] = (ctx.gpr[9] | 0u); ctx.gpr[19] = (ctx.gpr[8] | 0u); - ctx.gpr[18] = (ctx.gpr[7] | 0u); + ctx.gpr[18] = (aot_gpr_7 | 0u); ctx.gpr[17] = (aot_gpr_5 | 0u); ctx.gpr[23] = (aot_gpr_6 & 65535u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1024), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1024), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_6 = (ctx.gpr[19] | 0u); - ctx.gpr[7] = (ctx.gpr[20] | 0u); + aot_gpr_7 = (ctx.gpr[20] | 0u); ctx.gpr[8] = (ctx.gpr[21] | 0u); ctx.gpr[9] = (ctx.gpr[22] | 0u); ctx.gpr[10] = (ctx.gpr[30] | 0u); @@ -4222,7 +4223,7 @@ L_08AB9CF4: aot_gpr_6 = (2240u << 16u); aot_gpr_4 = (0u | 0u); aot_gpr_5 = (0u | 1u); - ctx.gpr[7] = (aot_gpr_6 + static_cast(-26272)); + aot_gpr_7 = (aot_gpr_6 + static_cast(-26272)); goto L_08AB9D04; L_08AB9D04: { const bool branch_taken = aot_gpr_5 == 0u; @@ -4235,7 +4236,7 @@ L_08AB9D04: L_08AB9D0C: ctx.gpr[9] = (ctx.gpr[8] + ctx.gpr[8]); ctx.gpr[8] = (ctx.gpr[8] + ctx.gpr[9]); - ctx.gpr[8] = (ctx.gpr[8] + ctx.gpr[7]); + ctx.gpr[8] = (ctx.gpr[8] + aot_gpr_7); ctx.gpr[8] = (aot_mem.aot_direct_load32(ctx.gpr[8] + static_cast(0))); { const bool branch_taken = ctx.gpr[8] == 0u; // nop @@ -4266,8 +4267,8 @@ L_08AB9D38: L_08AB9D40: ctx.gpr[8] = (aot_gpr_5 + aot_gpr_5); aot_gpr_5 = (aot_gpr_5 + ctx.gpr[8]); - aot_gpr_5 = (aot_gpr_5 + ctx.gpr[7]); - aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_16); + aot_gpr_5 = (aot_gpr_5 + aot_gpr_7); + aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store16(aot_gpr_5 + static_cast(4), static_cast(ctx.gpr[23])); ctx.gpr[8] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); { const std::uint32_t aot_run_words[8]{ctx.gpr[17], ctx.gpr[8], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[30]}; @@ -4282,7 +4283,7 @@ L_08AB9D40: L_08AB9D80: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(-26272))); { std::uint32_t aot_run_words[7]{}; - aot_mem.aot_direct_load32_block(ctx.gpr[7] + static_cast(16), aot_run_words); + aot_mem.aot_direct_load32_block(aot_gpr_7 + static_cast(16), aot_run_words); aot_gpr_5 = aot_run_words[0]; aot_gpr_6 = aot_run_words[1]; ctx.gpr[8] = aot_run_words[2]; @@ -4291,7 +4292,7 @@ L_08AB9D80: ctx.gpr[11] = aot_run_words[5]; ctx.gpr[2] = aot_run_words[6]; } - ctx.gpr[7] = (ctx.gpr[8] | 0u); + aot_gpr_7 = (ctx.gpr[8] | 0u); ctx.gpr[8] = (ctx.gpr[9] | 0u); ctx.gpr[9] = (ctx.gpr[10] | 0u); ctx.gpr[10] = (ctx.gpr[11] | 0u); @@ -4301,7 +4302,7 @@ L_08AB9D80: L_08AB9DB8: { std::uint32_t aot_run_words[10]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(1024), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -4326,22 +4327,22 @@ L_08AB9DE8: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1024), ctx.gpr[22]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1060), ctx.gpr[30]); ctx.gpr[30] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1072))); - { const std::uint32_t aot_run_words[6]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21]}; + { const std::uint32_t aot_run_words[6]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(1028), aot_run_words); } - aot_gpr_16 = (ctx.gpr[11] | 0u); + ctx.gpr[16] = (ctx.gpr[11] | 0u); ctx.gpr[17] = (ctx.gpr[10] | 0u); ctx.gpr[18] = (ctx.gpr[9] | 0u); ctx.gpr[19] = (ctx.gpr[8] | 0u); - ctx.gpr[20] = (ctx.gpr[7] | 0u); + ctx.gpr[20] = (aot_gpr_7 | 0u); ctx.gpr[21] = (aot_gpr_6 | 0u); ctx.gpr[22] = (aot_gpr_5 & 255u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1056), ctx.gpr[23]); ctx.gpr[23] = (aot_gpr_4 | 0u); aot_gpr_5 = (ctx.gpr[20] | 0u); aot_gpr_6 = (ctx.gpr[19] | 0u); - ctx.gpr[7] = (ctx.gpr[18] | 0u); + aot_gpr_7 = (ctx.gpr[18] | 0u); ctx.gpr[8] = (ctx.gpr[17] | 0u); - ctx.gpr[9] = (aot_gpr_16 | 0u); + ctx.gpr[9] = (ctx.gpr[16] | 0u); ctx.gpr[10] = (ctx.gpr[30] | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1064), aot_gpr_31); aot_gpr_31 = (0x08AB9E64u); @@ -4361,8 +4362,8 @@ L_08AB9E74: aot_gpr_4 = (aot_gpr_5 + static_cast(-26272)); aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(4), static_cast(ctx.gpr[21])); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1024))); - { const std::uint32_t aot_run_words[8]{ctx.gpr[7], aot_gpr_6, ctx.gpr[20], ctx.gpr[19], ctx.gpr[18], ctx.gpr[17], aot_gpr_16, ctx.gpr[30]}; + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1024))); + { const std::uint32_t aot_run_words[8]{aot_gpr_7, aot_gpr_6, ctx.gpr[20], ctx.gpr[19], ctx.gpr[18], ctx.gpr[17], ctx.gpr[16], ctx.gpr[30]}; aot_mem.aot_direct_store32_block(aot_gpr_4 + static_cast(8), aot_run_words); } { const bool branch_taken = ctx.gpr[22] == 0u; aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(40), 0u); @@ -4376,7 +4377,7 @@ L_08AB9EB4: { std::uint32_t aot_run_words[7]{}; aot_mem.aot_direct_load32_block(aot_gpr_4 + static_cast(16), aot_run_words); aot_gpr_6 = aot_run_words[0]; - ctx.gpr[7] = aot_run_words[1]; + aot_gpr_7 = aot_run_words[1]; ctx.gpr[8] = aot_run_words[2]; ctx.gpr[9] = aot_run_words[3]; ctx.gpr[10] = aot_run_words[4]; @@ -4385,8 +4386,8 @@ L_08AB9EB4: } aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (aot_gpr_6 | 0u); - aot_gpr_6 = (ctx.gpr[7] | 0u); - ctx.gpr[7] = (ctx.gpr[8] | 0u); + aot_gpr_6 = (aot_gpr_7 | 0u); + aot_gpr_7 = (ctx.gpr[8] | 0u); ctx.gpr[8] = (ctx.gpr[9] | 0u); ctx.gpr[9] = (ctx.gpr[10] | 0u); ctx.gpr[10] = (ctx.gpr[11] | 0u); @@ -4396,7 +4397,7 @@ L_08AB9EB4: L_08AB9EF8: { std::uint32_t aot_run_words[10]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(1028), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -4423,14 +4424,14 @@ L_08AB9F28: ctx.gpr[21] = (ctx.gpr[10] | 0u); ctx.gpr[20] = (ctx.gpr[9] | 0u); ctx.gpr[19] = (ctx.gpr[8] | 0u); - ctx.gpr[18] = (ctx.gpr[7] | 0u); + ctx.gpr[18] = (aot_gpr_7 | 0u); ctx.gpr[17] = (aot_gpr_5 | 0u); ctx.gpr[23] = (aot_gpr_6 & 65535u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1024), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1024), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_6 = (ctx.gpr[19] | 0u); - ctx.gpr[7] = (ctx.gpr[20] | 0u); + aot_gpr_7 = (ctx.gpr[20] | 0u); ctx.gpr[8] = (ctx.gpr[21] | 0u); ctx.gpr[9] = (ctx.gpr[22] | 0u); ctx.gpr[10] = (ctx.gpr[30] | 0u); @@ -4459,50 +4460,50 @@ L_08AB9FA8: L_08AB9FB8: aot_gpr_4 = (0u | 7u); aot_gpr_6 = (aot_gpr_5 + static_cast(-48)); - ctx.gpr[7] = (aot_gpr_4 << 4u); + aot_gpr_7 = (aot_gpr_4 << 4u); goto L_08AB9FC4; L_08AB9FC4: - ctx.gpr[8] = (ctx.gpr[7] + ctx.gpr[7]); - ctx.gpr[7] = (ctx.gpr[7] + ctx.gpr[8]); - ctx.gpr[8] = (ctx.gpr[7] + aot_gpr_6); + ctx.gpr[8] = (aot_gpr_7 + aot_gpr_7); + aot_gpr_7 = (aot_gpr_7 + ctx.gpr[8]); + ctx.gpr[8] = (aot_gpr_7 + aot_gpr_6); ctx.gpr[9] = (aot_mem.aot_direct_load32(ctx.gpr[8] + static_cast(0))); ctx.gpr[10] = (aot_mem.aot_direct_load32(ctx.gpr[8] + static_cast(4))); - ctx.gpr[7] = (ctx.gpr[7] + aot_gpr_5); + aot_gpr_7 = (aot_gpr_7 + aot_gpr_5); ctx.gpr[11] = (aot_mem.aot_direct_load32(ctx.gpr[8] + static_cast(8))); - aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(0), ctx.gpr[9]); + aot_mem.aot_direct_store32(aot_gpr_7 + static_cast(0), ctx.gpr[9]); ctx.gpr[9] = (aot_mem.aot_direct_load32(ctx.gpr[8] + static_cast(12))); - aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(4), ctx.gpr[10]); + aot_mem.aot_direct_store32(aot_gpr_7 + static_cast(4), ctx.gpr[10]); ctx.gpr[10] = (aot_mem.aot_direct_load32(ctx.gpr[8] + static_cast(16))); - aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(8), ctx.gpr[11]); + aot_mem.aot_direct_store32(aot_gpr_7 + static_cast(8), ctx.gpr[11]); ctx.gpr[11] = (aot_mem.aot_direct_load32(ctx.gpr[8] + static_cast(20))); - aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(12), ctx.gpr[9]); + aot_mem.aot_direct_store32(aot_gpr_7 + static_cast(12), ctx.gpr[9]); ctx.gpr[9] = (aot_mem.aot_direct_load32(ctx.gpr[8] + static_cast(24))); - aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(16), ctx.gpr[10]); + aot_mem.aot_direct_store32(aot_gpr_7 + static_cast(16), ctx.gpr[10]); ctx.gpr[10] = (aot_mem.aot_direct_load32(ctx.gpr[8] + static_cast(28))); - aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(20), ctx.gpr[11]); + aot_mem.aot_direct_store32(aot_gpr_7 + static_cast(20), ctx.gpr[11]); ctx.gpr[11] = (aot_mem.aot_direct_load32(ctx.gpr[8] + static_cast(32))); - aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(24), ctx.gpr[9]); + aot_mem.aot_direct_store32(aot_gpr_7 + static_cast(24), ctx.gpr[9]); ctx.gpr[9] = (aot_mem.aot_direct_load32(ctx.gpr[8] + static_cast(36))); - aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(28), ctx.gpr[10]); + aot_mem.aot_direct_store32(aot_gpr_7 + static_cast(28), ctx.gpr[10]); ctx.gpr[10] = (aot_mem.aot_direct_load32(ctx.gpr[8] + static_cast(40))); - aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(32), ctx.gpr[11]); + aot_mem.aot_direct_store32(aot_gpr_7 + static_cast(32), ctx.gpr[11]); ctx.gpr[8] = (aot_mem.aot_direct_load32(ctx.gpr[8] + static_cast(44))); aot_gpr_4 = (aot_gpr_4 + static_cast(-1)); - aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(36), ctx.gpr[9]); - aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(40), ctx.gpr[10]); + aot_mem.aot_direct_store32(aot_gpr_7 + static_cast(36), ctx.gpr[9]); + aot_mem.aot_direct_store32(aot_gpr_7 + static_cast(40), ctx.gpr[10]); aot_gpr_4 = (aot_gpr_4 << 16u); - aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(44), ctx.gpr[8]); + aot_mem.aot_direct_store32(aot_gpr_7 + static_cast(44), ctx.gpr[8]); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 16u)); - ctx.gpr[7] = (static_cast(aot_gpr_4) < 2 ? 1u : 0u); - { const bool branch_taken = ctx.gpr[7] == 0u; - ctx.gpr[7] = (aot_gpr_4 << 4u); + aot_gpr_7 = (static_cast(aot_gpr_4) < 2 ? 1u : 0u); + { const bool branch_taken = aot_gpr_7 == 0u; + aot_gpr_7 = (aot_gpr_4 << 4u); if (branch_taken) { goto L_08AB9FC4; } goto L_08ABA04C; } L_08ABA04C: - aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(48), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(48), ctx.gpr[16]); aot_mem.aot_direct_store16(aot_gpr_5 + static_cast(52), static_cast(ctx.gpr[23])); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); { const std::uint32_t aot_run_words[8]{ctx.gpr[17], aot_gpr_4, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[30]}; @@ -4515,15 +4516,15 @@ L_08ABA04C: goto L_08ABA080; } L_08ABA080: - aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(-26272), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(-26272), ctx.gpr[16]); aot_mem.aot_direct_store16(aot_gpr_5 + static_cast(4), static_cast(ctx.gpr[23])); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); { const std::uint32_t aot_run_words[9]{ctx.gpr[17], aot_gpr_4, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[30], 0u}; aot_mem.aot_direct_store32_block(aot_gpr_5 + static_cast(8), aot_run_words); } - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_6 = (ctx.gpr[19] | 0u); - ctx.gpr[7] = (ctx.gpr[20] | 0u); + aot_gpr_7 = (ctx.gpr[20] | 0u); ctx.gpr[8] = (ctx.gpr[21] | 0u); ctx.gpr[9] = (ctx.gpr[22] | 0u); ctx.gpr[10] = (ctx.gpr[30] | 0u); @@ -4533,7 +4534,7 @@ L_08ABA080: L_08ABA0D4: { std::uint32_t aot_run_words[10]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(1024), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -4554,23 +4555,23 @@ L_08ABA104: aot_gpr_29 = (aot_gpr_29 + static_cast(-1072)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1052), ctx.gpr[23]); ctx.gpr[23] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1072))); - { const std::uint32_t aot_run_words[6]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21]}; + { const std::uint32_t aot_run_words[6]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(1024), aot_run_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1056), ctx.gpr[30]); - aot_gpr_16 = (ctx.gpr[11] | 0u); + ctx.gpr[16] = (ctx.gpr[11] | 0u); ctx.gpr[17] = (ctx.gpr[10] | 0u); ctx.gpr[18] = (ctx.gpr[9] | 0u); ctx.gpr[19] = (ctx.gpr[8] | 0u); - ctx.gpr[20] = (ctx.gpr[7] | 0u); + ctx.gpr[20] = (aot_gpr_7 | 0u); ctx.gpr[21] = (aot_gpr_5 | 0u); ctx.gpr[30] = (aot_gpr_6 & 65535u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1048), ctx.gpr[22]); ctx.gpr[22] = (aot_gpr_4 | 0u); aot_gpr_5 = (ctx.gpr[20] | 0u); aot_gpr_6 = (ctx.gpr[19] | 0u); - ctx.gpr[7] = (ctx.gpr[18] | 0u); + aot_gpr_7 = (ctx.gpr[18] | 0u); ctx.gpr[8] = (ctx.gpr[17] | 0u); - ctx.gpr[9] = (aot_gpr_16 | 0u); + ctx.gpr[9] = (ctx.gpr[16] | 0u); ctx.gpr[10] = (ctx.gpr[23] | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1060), aot_gpr_31); aot_gpr_31 = (0x08ABA174u); @@ -4622,11 +4623,11 @@ L_08ABA1A8: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), ctx.gpr[22]); aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(4), static_cast(0u)); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); - { const std::uint32_t aot_run_words[9]{ctx.gpr[21], aot_gpr_5, ctx.gpr[20], ctx.gpr[19], ctx.gpr[18], ctx.gpr[17], aot_gpr_16, ctx.gpr[23], 0u}; + { const std::uint32_t aot_run_words[9]{ctx.gpr[21], aot_gpr_5, ctx.gpr[20], ctx.gpr[19], ctx.gpr[18], ctx.gpr[17], ctx.gpr[16], ctx.gpr[23], 0u}; aot_mem.aot_direct_store32_block(aot_gpr_4 + static_cast(8), aot_run_words); } { std::uint32_t aot_run_words[10]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(1024), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -4653,14 +4654,14 @@ L_08ABA21C: ctx.gpr[21] = (ctx.gpr[10] | 0u); ctx.gpr[20] = (ctx.gpr[9] | 0u); ctx.gpr[19] = (ctx.gpr[8] | 0u); - ctx.gpr[18] = (ctx.gpr[7] | 0u); + ctx.gpr[18] = (aot_gpr_7 | 0u); ctx.gpr[17] = (aot_gpr_5 | 0u); ctx.gpr[23] = (aot_gpr_6 & 65535u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1024), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1024), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_6 = (ctx.gpr[19] | 0u); - ctx.gpr[7] = (ctx.gpr[20] | 0u); + aot_gpr_7 = (ctx.gpr[20] | 0u); ctx.gpr[8] = (ctx.gpr[21] | 0u); ctx.gpr[9] = (ctx.gpr[22] | 0u); ctx.gpr[10] = (ctx.gpr[30] | 0u); @@ -4710,10 +4711,10 @@ L_08ABA2C8: goto L_08ABA2CC; L_08ABA2CC: aot_gpr_6 = (0u | 0u); - ctx.gpr[7] = (0u | 1u); + aot_gpr_7 = (0u | 1u); goto L_08ABA2D4; L_08ABA2D4: - { const bool branch_taken = ctx.gpr[7] == 0u; + { const bool branch_taken = aot_gpr_7 == 0u; ctx.gpr[8] = (aot_gpr_6 << 4u); if (branch_taken) { goto L_08ABA30C; @@ -4738,14 +4739,14 @@ L_08ABA2F8: aot_gpr_6 = (aot_gpr_6 << 16u); aot_gpr_6 = (static_cast(static_cast(aot_gpr_6) >> 16u)); { const bool branch_taken = 0u == 0u; - ctx.gpr[7] = (static_cast(aot_gpr_6) < 4 ? 1u : 0u); + aot_gpr_7 = (static_cast(aot_gpr_6) < 4 ? 1u : 0u); if (branch_taken) { goto L_08ABA2D4; } goto L_08ABA30C; } L_08ABA30C: - { const bool branch_taken = ctx.gpr[7] == 0u; + { const bool branch_taken = aot_gpr_7 == 0u; aot_gpr_6 = (aot_gpr_6 << 4u); if (branch_taken) { goto L_08ABA354; @@ -4753,11 +4754,11 @@ L_08ABA30C: goto L_08ABA314; } L_08ABA314: - ctx.gpr[7] = (aot_gpr_6 + aot_gpr_6); - aot_gpr_6 = (aot_gpr_6 + ctx.gpr[7]); + aot_gpr_7 = (aot_gpr_6 + aot_gpr_6); + aot_gpr_6 = (aot_gpr_6 + aot_gpr_7); aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(4), static_cast(0u)); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); { const std::uint32_t aot_run_words[9]{ctx.gpr[17], aot_gpr_5, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[30], 0u}; @@ -4766,7 +4767,7 @@ L_08ABA314: L_08ABA354: { std::uint32_t aot_run_words[10]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(1024), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -4789,10 +4790,10 @@ L_08ABA384: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1036), ctx.gpr[19]); ctx.gpr[18] = (aot_gpr_5 | 0u); ctx.gpr[19] = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1024), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1024), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1028), ctx.gpr[17]); - aot_gpr_16 = (aot_gpr_6 | 0u); - ctx.gpr[17] = (ctx.gpr[7] | 0u); + ctx.gpr[16] = (aot_gpr_6 | 0u); + ctx.gpr[17] = (aot_gpr_7 | 0u); aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1040), aot_gpr_31); @@ -4816,7 +4817,7 @@ L_08ABA3D8: aot_gpr_4 = (2240u << 16u); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(-26272), ctx.gpr[19]); aot_gpr_4 = (aot_gpr_4 + static_cast(-26272)); - aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(4), static_cast(aot_gpr_16)); + aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(4), static_cast(ctx.gpr[16])); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(8), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(12), aot_gpr_5); @@ -4825,7 +4826,7 @@ L_08ABA3D8: aot_mem.aot_direct_store32_block(aot_gpr_4 + static_cast(16), aot_run_words); } aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_6 = (aot_gpr_5 | 0u); - ctx.gpr[7] = (aot_gpr_5 | 0u); + aot_gpr_7 = (aot_gpr_5 | 0u); ctx.gpr[8] = (aot_gpr_5 | 0u); ctx.gpr[9] = (aot_gpr_5 | 0u); ctx.gpr[10] = (aot_gpr_5 | 0u); @@ -4835,7 +4836,7 @@ L_08ABA3D8: L_08ABA434: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(1024), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -4853,9 +4854,9 @@ L_08ABA450: ctx.gpr[18] = (2240u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[19]); ctx.gpr[19] = (ctx.gpr[18] + static_cast(-26272)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[20]); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.gpr[20] = (ctx.gpr[19] + static_cast(48)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_31); @@ -4868,18 +4869,18 @@ L_08ABA47C: goto L_08ABA48C; L_08ABA48C: { const bool branch_taken = aot_gpr_6 == 0u; - ctx.gpr[7] = (aot_gpr_5 << 4u); + aot_gpr_7 = (aot_gpr_5 << 4u); if (branch_taken) { goto L_08ABA51C; } goto L_08ABA494; } L_08ABA494: - ctx.gpr[8] = (ctx.gpr[7] + ctx.gpr[7]); - ctx.gpr[7] = (ctx.gpr[7] + ctx.gpr[8]); - ctx.gpr[7] = (ctx.gpr[7] + ctx.gpr[19]); - ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(0))); - { const bool branch_taken = ctx.gpr[7] == 0u; + ctx.gpr[8] = (aot_gpr_7 + aot_gpr_7); + aot_gpr_7 = (aot_gpr_7 + ctx.gpr[8]); + aot_gpr_7 = (aot_gpr_7 + ctx.gpr[19]); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_7 + static_cast(0))); + { const bool branch_taken = aot_gpr_7 == 0u; // nop if (branch_taken) { goto L_08ABA51C; @@ -4895,8 +4896,8 @@ L_08ABA4AC: goto L_08ABA4B4; } L_08ABA4B4: - ctx.gpr[8] = (aot_gpr_16 | 0u); - ctx.gpr[9] = (aot_mem.aot_direct_load16(ctx.gpr[7] + static_cast(0))); + ctx.gpr[8] = (ctx.gpr[16] | 0u); + ctx.gpr[9] = (aot_mem.aot_direct_load16(aot_gpr_7 + static_cast(0))); ctx.gpr[10] = (aot_mem.aot_direct_load16(ctx.gpr[8] + static_cast(0))); goto L_08ABA4C0; L_08ABA4C0: @@ -4917,10 +4918,10 @@ L_08ABA4C8: } L_08ABA4D0: ctx.gpr[8] = (ctx.gpr[8] + static_cast(2)); - ctx.gpr[7] = (ctx.gpr[7] + static_cast(2)); + aot_gpr_7 = (aot_gpr_7 + static_cast(2)); ctx.gpr[10] = (aot_mem.aot_direct_load16(ctx.gpr[8] + static_cast(0))); { const bool branch_taken = ctx.gpr[10] != 0u; - ctx.gpr[9] = (aot_mem.aot_direct_load16(ctx.gpr[7] + static_cast(0))); + ctx.gpr[9] = (aot_mem.aot_direct_load16(aot_gpr_7 + static_cast(0))); if (branch_taken) { goto L_08ABA4F4; } @@ -4986,7 +4987,7 @@ L_08ABA524: } L_08ABA52C: aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(-26272), 0u); - ctx.gpr[7] = (0u | 0u); + aot_gpr_7 = (0u | 0u); aot_gpr_6 = (0u | 1u); aot_gpr_5 = (0u | 0u); aot_gpr_4 = (ctx.gpr[19] | 0u); @@ -5033,16 +5034,16 @@ L_08ABA554: ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(40))); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(32), ctx.gpr[9]); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(44))); - ctx.gpr[7] = (ctx.gpr[7] + static_cast(1)); + aot_gpr_7 = (aot_gpr_7 + static_cast(1)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(36), aot_gpr_6); - ctx.gpr[7] = (ctx.gpr[7] << 16u); + aot_gpr_7 = (aot_gpr_7 << 16u); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(40), ctx.gpr[8]); - ctx.gpr[7] = (static_cast(static_cast(ctx.gpr[7]) >> 16u)); + aot_gpr_7 = (static_cast(static_cast(aot_gpr_7) >> 16u)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(44), aot_gpr_5); - aot_gpr_5 = (ctx.gpr[7] << 4u); + aot_gpr_5 = (aot_gpr_7 << 4u); aot_gpr_4 = (aot_gpr_5 + aot_gpr_5); aot_gpr_5 = (aot_gpr_5 + aot_gpr_4); - aot_gpr_6 = (static_cast(ctx.gpr[7]) < 7 ? 1u : 0u); + aot_gpr_6 = (static_cast(aot_gpr_7) < 7 ? 1u : 0u); { const bool branch_taken = 0u == 0u; aot_gpr_4 = (aot_gpr_5 + ctx.gpr[19]); if (branch_taken) { @@ -5067,7 +5068,7 @@ L_08ABA5F0: aot_mem.aot_direct_load32_block(ctx.gpr[19] + static_cast(16), aot_run_words); aot_gpr_5 = aot_run_words[0]; aot_gpr_6 = aot_run_words[1]; - ctx.gpr[7] = aot_run_words[2]; + aot_gpr_7 = aot_run_words[2]; ctx.gpr[8] = aot_run_words[3]; ctx.gpr[9] = aot_run_words[4]; ctx.gpr[10] = aot_run_words[5]; @@ -5089,11 +5090,11 @@ L_08ABA618: aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); aot_gpr_6 = (aot_gpr_5 << 4u); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[19]); - ctx.gpr[7] = (aot_gpr_6 + aot_gpr_6); + aot_gpr_7 = (aot_gpr_6 + aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), 0u); - aot_gpr_6 = (aot_gpr_6 + ctx.gpr[7]); + aot_gpr_6 = (aot_gpr_6 + aot_gpr_7); aot_gpr_4 = (static_cast(aot_gpr_5) < 7 ? 1u : 0u); - ctx.gpr[7] = (aot_gpr_6 + ctx.gpr[19]); + aot_gpr_7 = (aot_gpr_6 + ctx.gpr[19]); goto L_08ABA640; L_08ABA640: { const bool branch_taken = aot_gpr_4 == 0u; @@ -5104,7 +5105,7 @@ L_08ABA640: goto L_08ABA648; } L_08ABA648: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(48))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_7 + static_cast(48))); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_4 = (aot_gpr_6 + ctx.gpr[20]); if (branch_taken) { @@ -5119,43 +5120,43 @@ L_08ABA654: ctx.gpr[8] = aot_run_words[1]; ctx.gpr[9] = aot_run_words[2]; } - aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(0), aot_gpr_6); + aot_mem.aot_direct_store32(aot_gpr_7 + static_cast(0), aot_gpr_6); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(12))); - aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(4), ctx.gpr[8]); + aot_mem.aot_direct_store32(aot_gpr_7 + static_cast(4), ctx.gpr[8]); ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); - aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(8), ctx.gpr[9]); + aot_mem.aot_direct_store32(aot_gpr_7 + static_cast(8), ctx.gpr[9]); ctx.gpr[9] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); - aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(12), aot_gpr_6); + aot_mem.aot_direct_store32(aot_gpr_7 + static_cast(12), aot_gpr_6); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(24))); - aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(16), ctx.gpr[8]); + aot_mem.aot_direct_store32(aot_gpr_7 + static_cast(16), ctx.gpr[8]); ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(28))); - aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(20), ctx.gpr[9]); + aot_mem.aot_direct_store32(aot_gpr_7 + static_cast(20), ctx.gpr[9]); ctx.gpr[9] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(32))); - aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(24), aot_gpr_6); + aot_mem.aot_direct_store32(aot_gpr_7 + static_cast(24), aot_gpr_6); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(36))); - aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(28), ctx.gpr[8]); + aot_mem.aot_direct_store32(aot_gpr_7 + static_cast(28), ctx.gpr[8]); ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(40))); - aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(32), ctx.gpr[9]); + aot_mem.aot_direct_store32(aot_gpr_7 + static_cast(32), ctx.gpr[9]); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(44))); aot_gpr_5 = (aot_gpr_5 + static_cast(1)); aot_gpr_5 = (aot_gpr_5 << 16u); - aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(36), aot_gpr_6); - aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(40), ctx.gpr[8]); + aot_mem.aot_direct_store32(aot_gpr_7 + static_cast(36), aot_gpr_6); + aot_mem.aot_direct_store32(aot_gpr_7 + static_cast(40), ctx.gpr[8]); aot_gpr_5 = (static_cast(static_cast(aot_gpr_5) >> 16u)); - aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(44), aot_gpr_4); + aot_mem.aot_direct_store32(aot_gpr_7 + static_cast(44), aot_gpr_4); aot_gpr_6 = (aot_gpr_5 << 4u); - ctx.gpr[7] = (aot_gpr_6 + aot_gpr_6); - aot_gpr_6 = (aot_gpr_6 + ctx.gpr[7]); + aot_gpr_7 = (aot_gpr_6 + aot_gpr_6); + aot_gpr_6 = (aot_gpr_6 + aot_gpr_7); aot_gpr_4 = (static_cast(aot_gpr_5) < 7 ? 1u : 0u); { const bool branch_taken = 0u == 0u; - ctx.gpr[7] = (aot_gpr_6 + ctx.gpr[19]); + aot_gpr_7 = (aot_gpr_6 + ctx.gpr[19]); if (branch_taken) { goto L_08ABA640; } goto L_08ABA6D8; } L_08ABA6D8: - aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(0), 0u); + aot_mem.aot_direct_store32(aot_gpr_7 + static_cast(0), 0u); goto L_08ABA6DC; L_08ABA6DC: { const bool branch_taken = ctx.gpr[17] != 0u; @@ -5168,7 +5169,7 @@ L_08ABA6DC: L_08ABA6E4: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -5185,19 +5186,19 @@ L_08ABA704: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); ctx.gpr[18] = (2240u << 16u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_gpr_6 = (0u | 0u); - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); aot_gpr_5 = (0u | 0u); ctx.gpr[2] = (0u | 4u); - ctx.gpr[7] = (0u | 1u); + aot_gpr_7 = (0u | 1u); ctx.gpr[18] = (ctx.gpr[18] + static_cast(-27808)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); { const std::uint32_t aot_run_words[3]{ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(12), aot_run_words); } goto L_08ABA73C; L_08ABA73C: - { const bool branch_taken = ctx.gpr[7] == 0u; + { const bool branch_taken = aot_gpr_7 == 0u; ctx.gpr[8] = (static_cast(aot_gpr_5) < 4 ? 1u : 0u); if (branch_taken) { goto L_08ABA7F8; @@ -5214,7 +5215,7 @@ L_08ABA744: } L_08ABA74C: { const bool branch_taken = aot_gpr_6 != 0u; - ctx.gpr[8] = (aot_gpr_16 << 6u); + ctx.gpr[8] = (ctx.gpr[16] << 6u); if (branch_taken) { goto L_08ABA7F8; } @@ -5307,11 +5308,11 @@ L_08ABA7C8: goto L_08ABA7DC; } L_08ABA7DC: - ctx.gpr[7] = (aot_gpr_16 + static_cast(1)); - aot_gpr_16 = (ctx.gpr[7] << 16u); - aot_gpr_16 = (static_cast(static_cast(aot_gpr_16) >> 16u)); + aot_gpr_7 = (ctx.gpr[16] + static_cast(1)); + ctx.gpr[16] = (aot_gpr_7 << 16u); + ctx.gpr[16] = (static_cast(static_cast(ctx.gpr[16]) >> 16u)); aot_gpr_5 = (0u | 0u); - ctx.gpr[7] = (static_cast(aot_gpr_16) < 8 ? 1u : 0u); + aot_gpr_7 = (static_cast(ctx.gpr[16]) < 8 ? 1u : 0u); goto L_08ABA7F0; L_08ABA7F0: { const bool branch_taken = 0u == 0u; @@ -5330,7 +5331,7 @@ L_08ABA7F8: goto L_08ABA800; } L_08ABA800: - ctx.gpr[17] = (aot_gpr_16 << 6u); + ctx.gpr[17] = (ctx.gpr[16] << 6u); aot_gpr_4 = (ctx.gpr[17] + ctx.gpr[17]); ctx.gpr[17] = (ctx.gpr[17] + aot_gpr_4); { const bool branch_taken = aot_gpr_5 != 0u; @@ -5344,14 +5345,14 @@ L_08ABA814: aot_gpr_5 = (2279u << 16u); aot_fpr_12 = std::bit_cast(0u); ctx.gpr[19] = (ctx.gpr[17] + ctx.gpr[18]); - aot_gpr_4 = (aot_gpr_16 << 2u); + aot_gpr_4 = (ctx.gpr[16] << 2u); aot_gpr_5 = (aot_gpr_5 + static_cast(17968)); aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(0), 0u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5848))); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_6 = (aot_gpr_16 & 65535u); + aot_gpr_6 = (ctx.gpr[16] & 65535u); if (branch_taken) { goto L_08ABA850; } @@ -5364,7 +5365,7 @@ L_08ABA840: AOT_REGCACHE_SYNC_OUT(); return; L_08ABA848: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5848))); - aot_gpr_6 = (aot_gpr_16 & 65535u); + aot_gpr_6 = (ctx.gpr[16] & 65535u); goto L_08ABA850; L_08ABA850: aot_gpr_31 = (0x08ABA858u); @@ -5375,7 +5376,7 @@ L_08ABA858: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_6 = (0u | 0u); aot_gpr_5 = (0u | 1u); - aot_gpr_16 = (aot_gpr_4 + ctx.gpr[18]); + ctx.gpr[16] = (aot_gpr_4 + ctx.gpr[18]); goto L_08ABA868; L_08ABA868: { const bool branch_taken = aot_gpr_5 == 0u; @@ -5386,7 +5387,7 @@ L_08ABA868: goto L_08ABA870; } L_08ABA870: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(48))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(48))); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_4 = (aot_gpr_4 + ctx.gpr[20]); if (branch_taken) { @@ -5398,40 +5399,40 @@ L_08ABA87C: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_4 + static_cast(0), aot_run_words); aot_gpr_5 = aot_run_words[0]; - ctx.gpr[7] = aot_run_words[1]; + aot_gpr_7 = aot_run_words[1]; ctx.gpr[8] = aot_run_words[2]; } - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(12))); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), ctx.gpr[7]); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(8), ctx.gpr[8]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(4), aot_gpr_7); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(8), ctx.gpr[8]); ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(12), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(12), aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(24))); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(16), ctx.gpr[7]); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(28))); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(20), ctx.gpr[8]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(16), aot_gpr_7); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(28))); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(20), ctx.gpr[8]); ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(32))); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(24), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(24), aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(36))); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(28), ctx.gpr[7]); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(40))); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(32), ctx.gpr[8]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(28), aot_gpr_7); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(40))); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(32), ctx.gpr[8]); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(44))); aot_gpr_6 = (aot_gpr_6 + static_cast(1)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(36), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(36), aot_gpr_5); aot_gpr_6 = (aot_gpr_6 << 16u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(40), ctx.gpr[7]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(40), aot_gpr_7); aot_gpr_6 = (static_cast(static_cast(aot_gpr_6) >> 16u)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(44), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(44), aot_gpr_4); aot_gpr_4 = (aot_gpr_6 << 4u); - ctx.gpr[7] = (aot_gpr_4 + aot_gpr_4); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[7]); + aot_gpr_7 = (aot_gpr_4 + aot_gpr_4); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_7); aot_gpr_4 = (ctx.gpr[17] + aot_gpr_4); aot_gpr_5 = (static_cast(aot_gpr_6) < 3 ? 1u : 0u); { const bool branch_taken = 0u == 0u; - aot_gpr_16 = (aot_gpr_4 + ctx.gpr[18]); + ctx.gpr[16] = (aot_gpr_4 + ctx.gpr[18]); if (branch_taken) { goto L_08ABA868; } @@ -5439,7 +5440,7 @@ L_08ABA87C: } L_08ABA904: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), 0u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(12), aot_gpr_4); if (branch_taken) { @@ -5453,13 +5454,13 @@ L_08ABA914: aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); aot_gpr_6 = (aot_gpr_5 << 4u); aot_gpr_4 = (ctx.gpr[17] + aot_gpr_4); - ctx.gpr[7] = (aot_gpr_6 + aot_gpr_6); + aot_gpr_7 = (aot_gpr_6 + aot_gpr_6); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[18]); - aot_gpr_6 = (aot_gpr_6 + ctx.gpr[7]); + aot_gpr_6 = (aot_gpr_6 + aot_gpr_7); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), 0u); aot_gpr_6 = (ctx.gpr[17] + aot_gpr_6); aot_gpr_4 = (static_cast(aot_gpr_5) < 3 ? 1u : 0u); - ctx.gpr[7] = (aot_gpr_6 + ctx.gpr[18]); + aot_gpr_7 = (aot_gpr_6 + ctx.gpr[18]); goto L_08ABA944; L_08ABA944: { const bool branch_taken = aot_gpr_4 == 0u; @@ -5470,7 +5471,7 @@ L_08ABA944: goto L_08ABA94C; } L_08ABA94C: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(48))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_7 + static_cast(48))); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_4 = (aot_gpr_6 + ctx.gpr[20]); if (branch_taken) { @@ -5485,49 +5486,49 @@ L_08ABA958: ctx.gpr[8] = aot_run_words[1]; ctx.gpr[9] = aot_run_words[2]; } - aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(0), aot_gpr_6); + aot_mem.aot_direct_store32(aot_gpr_7 + static_cast(0), aot_gpr_6); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(12))); - aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(4), ctx.gpr[8]); + aot_mem.aot_direct_store32(aot_gpr_7 + static_cast(4), ctx.gpr[8]); ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); - aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(8), ctx.gpr[9]); + aot_mem.aot_direct_store32(aot_gpr_7 + static_cast(8), ctx.gpr[9]); ctx.gpr[9] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); - aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(12), aot_gpr_6); + aot_mem.aot_direct_store32(aot_gpr_7 + static_cast(12), aot_gpr_6); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(24))); - aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(16), ctx.gpr[8]); + aot_mem.aot_direct_store32(aot_gpr_7 + static_cast(16), ctx.gpr[8]); ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(28))); - aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(20), ctx.gpr[9]); + aot_mem.aot_direct_store32(aot_gpr_7 + static_cast(20), ctx.gpr[9]); ctx.gpr[9] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(32))); - aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(24), aot_gpr_6); + aot_mem.aot_direct_store32(aot_gpr_7 + static_cast(24), aot_gpr_6); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(36))); - aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(28), ctx.gpr[8]); + aot_mem.aot_direct_store32(aot_gpr_7 + static_cast(28), ctx.gpr[8]); ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(40))); - aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(32), ctx.gpr[9]); + aot_mem.aot_direct_store32(aot_gpr_7 + static_cast(32), ctx.gpr[9]); aot_gpr_5 = (aot_gpr_5 + static_cast(1)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(44))); aot_gpr_5 = (aot_gpr_5 << 16u); - aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(36), aot_gpr_6); + aot_mem.aot_direct_store32(aot_gpr_7 + static_cast(36), aot_gpr_6); aot_gpr_5 = (static_cast(static_cast(aot_gpr_5) >> 16u)); - aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(40), ctx.gpr[8]); - aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(44), aot_gpr_4); + aot_mem.aot_direct_store32(aot_gpr_7 + static_cast(40), ctx.gpr[8]); + aot_mem.aot_direct_store32(aot_gpr_7 + static_cast(44), aot_gpr_4); aot_gpr_6 = (aot_gpr_5 << 4u); - ctx.gpr[7] = (aot_gpr_6 + aot_gpr_6); - aot_gpr_6 = (aot_gpr_6 + ctx.gpr[7]); + aot_gpr_7 = (aot_gpr_6 + aot_gpr_6); + aot_gpr_6 = (aot_gpr_6 + aot_gpr_7); aot_gpr_6 = (ctx.gpr[17] + aot_gpr_6); aot_gpr_4 = (static_cast(aot_gpr_5) < 3 ? 1u : 0u); { const bool branch_taken = 0u == 0u; - ctx.gpr[7] = (aot_gpr_6 + ctx.gpr[18]); + aot_gpr_7 = (aot_gpr_6 + ctx.gpr[18]); if (branch_taken) { goto L_08ABA944; } goto L_08ABA9E0; } L_08ABA9E0: - aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(0), 0u); + aot_mem.aot_direct_store32(aot_gpr_7 + static_cast(0), 0u); goto L_08ABA9E4; L_08ABA9E4: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -5542,9 +5543,9 @@ L_08ABA9E4: AOT_REGCACHE_SYNC_OUT(); return; L_08ABAA04: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_4 = (aot_gpr_16 << 6u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); + aot_gpr_4 = (ctx.gpr[16] << 6u); aot_gpr_5 = (aot_gpr_4 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_5 = (2240u << 16u); @@ -5579,7 +5580,7 @@ L_08ABAA54: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5848))); goto L_08ABAA58; L_08ABAA58: - aot_gpr_6 = (aot_gpr_16 & 65535u); + aot_gpr_6 = (ctx.gpr[16] & 65535u); aot_gpr_31 = (0x08ABAA64u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0109_entry, 109u, 618u, 0x089BAEB8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ABAA64u) goto L_08ABAA64; @@ -5587,11 +5588,11 @@ L_08ABAA58: L_08ABAA64: aot_gpr_5 = (2279u << 16u); aot_fpr_12 = std::bit_cast(0u); - aot_gpr_4 = (aot_gpr_16 << 2u); + aot_gpr_4 = (ctx.gpr[16] << 2u); aot_gpr_5 = (aot_gpr_5 + static_cast(17968)); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), std::bit_cast(aot_fpr_12)); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -5646,9 +5647,9 @@ L_08ABAAD8: aot_gpr_29 = (aot_gpr_29 + static_cast(-528)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(516), ctx.gpr[17]); ctx.gpr[17] = (2240u << 16u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(512), aot_gpr_16); - aot_gpr_16 = (ctx.gpr[17] + static_cast(-26272)); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(44))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(512), ctx.gpr[16]); + ctx.gpr[16] = (ctx.gpr[17] + static_cast(-26272)); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(44))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(520), aot_gpr_31); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -5665,10 +5666,10 @@ L_08ABAAFC: L_08ABAB04: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(-26272))); { std::uint32_t aot_run_words[6]{}; - aot_mem.aot_direct_load32_block(aot_gpr_16 + static_cast(16), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[16] + static_cast(16), aot_run_words); aot_gpr_5 = aot_run_words[0]; aot_gpr_6 = aot_run_words[1]; - ctx.gpr[7] = aot_run_words[2]; + aot_gpr_7 = aot_run_words[2]; ctx.gpr[8] = aot_run_words[3]; ctx.gpr[9] = aot_run_words[4]; ctx.gpr[10] = aot_run_words[5]; @@ -5677,7 +5678,7 @@ L_08ABAB04: ctx.gpr[11] = (aot_gpr_29 | 0u); goto L_08ABAD24; L_08ABAB28: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(40))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(40))); aot_gpr_31 = (0x08ABAB34u); aot_gpr_4 = (aot_gpr_29 | 0u); goto L_08AB96BC; @@ -5701,7 +5702,7 @@ L_08ABAB50: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5848))); goto L_08ABAB54; L_08ABAB54: - aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(44))); + aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(44))); aot_gpr_31 = (0x08ABAB60u); aot_gpr_5 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0109_entry, 109u, 676u, 0x089BB208u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ABAB60u) goto L_08ABAB60; @@ -5709,7 +5710,7 @@ L_08ABAB54: L_08ABAB60: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(512), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -5726,7 +5727,7 @@ L_08ABAB74: ctx.gpr[14] = (ctx.gpr[2] | 0u); ctx.gpr[12] = (0u | 0u); ctx.gpr[13] = (aot_mem.aot_direct_load32(ctx.gpr[14] + static_cast(0))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); goto L_08ABAB90; L_08ABAB90: { const bool branch_taken = ctx.gpr[13] == 0u; @@ -5825,7 +5826,7 @@ L_08ABAC2C: aot_mem.aot_direct_store32(ctx.gpr[3] + static_cast(18024), aot_gpr_4); goto L_08ABAC30; L_08ABAC30: - { const std::uint32_t aot_run_words[6]{aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10]}; + { const std::uint32_t aot_run_words[6]{aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10]}; aot_mem.aot_direct_store32_block(ctx.gpr[2] + static_cast(4), aot_run_words); } { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(28), ctx.gpr[11]); @@ -5883,18 +5884,18 @@ L_08ABAC9C: ctx.gpr[24] = (aot_mem.aot_direct_load32(ctx.gpr[15] + static_cast(0))); ctx.gpr[25] = (aot_mem.aot_direct_load32(ctx.gpr[15] + static_cast(4))); ctx.gpr[14] = (ctx.gpr[14] + ctx.gpr[13]); - aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[15] + static_cast(8))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[15] + static_cast(8))); aot_mem.aot_direct_store32(ctx.gpr[14] + static_cast(0), ctx.gpr[24]); ctx.gpr[24] = (aot_mem.aot_direct_load32(ctx.gpr[15] + static_cast(12))); aot_mem.aot_direct_store32(ctx.gpr[14] + static_cast(4), ctx.gpr[25]); ctx.gpr[25] = (aot_mem.aot_direct_load32(ctx.gpr[15] + static_cast(16))); - aot_mem.aot_direct_store32(ctx.gpr[14] + static_cast(8), aot_gpr_16); - aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[15] + static_cast(20))); + aot_mem.aot_direct_store32(ctx.gpr[14] + static_cast(8), ctx.gpr[16]); + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[15] + static_cast(20))); aot_mem.aot_direct_store32(ctx.gpr[14] + static_cast(12), ctx.gpr[24]); ctx.gpr[24] = (aot_mem.aot_direct_load32(ctx.gpr[15] + static_cast(24))); aot_mem.aot_direct_store32(ctx.gpr[14] + static_cast(16), ctx.gpr[25]); ctx.gpr[15] = (aot_mem.aot_direct_load32(ctx.gpr[15] + static_cast(28))); - aot_mem.aot_direct_store32(ctx.gpr[14] + static_cast(20), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[14] + static_cast(20), ctx.gpr[16]); ctx.gpr[12] = (ctx.gpr[12] + static_cast(-1)); aot_mem.aot_direct_store32(ctx.gpr[14] + static_cast(24), ctx.gpr[24]); ctx.gpr[12] = (ctx.gpr[12] << 16u); @@ -5910,11 +5911,11 @@ L_08ABACF8: aot_mem.aot_direct_store32(ctx.gpr[3] + static_cast(18024), aot_gpr_4); goto L_08ABACFC; L_08ABACFC: - { const std::uint32_t aot_run_words[7]{aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11]}; + { const std::uint32_t aot_run_words[7]{aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11]}; aot_mem.aot_direct_store32_block(ctx.gpr[2] + static_cast(4), aot_run_words); } goto L_08ABAD18; L_08ABAD18: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; @@ -5924,7 +5925,7 @@ L_08ABAD18: L_08ABAD24: aot_gpr_29 = (aot_gpr_29 + static_cast(-112)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), aot_gpr_6); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), ctx.gpr[7]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), aot_gpr_7); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), ctx.gpr[8]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), ctx.gpr[18]); @@ -5933,7 +5934,7 @@ L_08ABAD24: ctx.gpr[20] = (aot_gpr_4 | 0u); ctx.gpr[17] = (aot_gpr_5 | 0u); ctx.gpr[18] = (ctx.gpr[11] | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(60), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(60), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(72), ctx.gpr[19]); { const std::uint32_t aot_run_words[5]{ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(80), aot_run_words); } @@ -5956,7 +5957,7 @@ L_08ABAD74: L_08ABAD8C: aot_gpr_31 = (0x08ABAD94u); aot_gpr_4 = (aot_gpr_29 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ABAD94u) goto L_08ABAD94; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ABAD94u) goto L_08ABAD94; AOT_REGCACHE_SYNC_OUT(); return; L_08ABAD94: ctx.gpr[17] = (ctx.gpr[2] | 0u); @@ -6011,7 +6012,7 @@ L_08ABADE8: ctx.gpr[19] = (0u | 0u); aot_gpr_4 = (ctx.gpr[19] < aot_gpr_4 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); if (branch_taken) { goto L_08ABB010; } @@ -6170,13 +6171,13 @@ L_08ABAEC8: aot_gpr_5 = (aot_gpr_4 + aot_gpr_4); aot_gpr_5 = (aot_gpr_29 + aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(10))); - aot_gpr_6 = (aot_gpr_16 + aot_gpr_16); + aot_gpr_6 = (ctx.gpr[16] + ctx.gpr[16]); aot_gpr_6 = (ctx.gpr[18] + aot_gpr_6); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); aot_mem.aot_direct_store16(aot_gpr_6 + static_cast(0), static_cast(aot_gpr_5)); aot_gpr_5 = (aot_gpr_4 < ctx.gpr[17] ? 1u : 0u); { const bool branch_taken = aot_gpr_5 != 0u; - aot_gpr_16 = (aot_gpr_16 + static_cast(1)); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(1)); if (branch_taken) { goto L_08ABAEC8; } @@ -6321,7 +6322,7 @@ L_08ABAFAC: L_08ABAFB4: aot_gpr_31 = (0x08ABAFBCu); aot_gpr_4 = (aot_gpr_29 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ABAFBCu) goto L_08ABAFBC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ABAFBCu) goto L_08ABAFBC; AOT_REGCACHE_SYNC_OUT(); return; L_08ABAFBC: ctx.gpr[17] = (ctx.gpr[2] | 0u); @@ -6344,12 +6345,12 @@ L_08ABAFD4: aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); ctx.gpr[19] = (ctx.gpr[20] | 0u); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0))); - aot_gpr_5 = (aot_gpr_16 + aot_gpr_16); + aot_gpr_5 = (ctx.gpr[16] + ctx.gpr[16]); ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(32))); aot_gpr_5 = (ctx.gpr[18] + aot_gpr_5); ctx.gpr[22] = (ctx.gpr[22] + static_cast(2)); ctx.gpr[21] = (ctx.gpr[21] + static_cast(2)); - aot_gpr_16 = (aot_gpr_16 + static_cast(1)); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(1)); aot_mem.aot_direct_store16(aot_gpr_5 + static_cast(0), static_cast(aot_gpr_4)); ctx.gpr[20] = (ctx.gpr[19] < ctx.gpr[20] ? 1u : 0u); goto L_08ABB008; @@ -6362,14 +6363,14 @@ L_08ABB008: goto L_08ABB010; } L_08ABB010: - aot_gpr_4 = (aot_gpr_16 + aot_gpr_16); + aot_gpr_4 = (ctx.gpr[16] + ctx.gpr[16]); aot_gpr_4 = (ctx.gpr[18] + aot_gpr_4); aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(0), static_cast(0u)); goto L_08ABB01C; L_08ABB01C: { std::uint32_t aot_run_words[10]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(60), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -6395,15 +6396,15 @@ L_08ABB04C: AOT_REGCACHE_SYNC_OUT(); return; L_08ABB054: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); ctx.gpr[17] = (2236u << 16u); - aot_gpr_5 = (aot_gpr_16 + static_cast(16)); + aot_gpr_5 = (ctx.gpr[16] + static_cast(16)); aot_gpr_6 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08ABB07Cu); - ctx.gpr[7] = (ctx.gpr[17] + static_cast(29704)); + aot_gpr_7 = (ctx.gpr[17] + static_cast(29704)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ABB07Cu) goto L_08ABB07C; AOT_REGCACHE_SYNC_OUT(); return; L_08ABB07C: @@ -6419,20 +6420,20 @@ L_08ABB088: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8004))); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(16), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(16), aot_gpr_4); if (branch_taken) { goto L_08ABB09C; } goto L_08ABB098; } L_08ABB098: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(16), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(16), aot_gpr_4); goto L_08ABB09C; L_08ABB09C: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -6444,10 +6445,10 @@ L_08ABB09C: AOT_REGCACHE_SYNC_OUT(); return; L_08ABB0B4: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); - ctx.gpr[17] = (aot_gpr_16 + static_cast(16)); + ctx.gpr[17] = (ctx.gpr[16] + static_cast(16)); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08ABB0D8u); @@ -6456,21 +6457,21 @@ L_08ABB0B4: AOT_REGCACHE_SYNC_OUT(); return; L_08ABB0D8: aot_gpr_5 = (ctx.gpr[17] | 0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); ctx.gpr[17] = (2236u << 16u); - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (ctx.gpr[2] | 0u); aot_gpr_6 = (0u | 1u); aot_gpr_31 = (0x08ABB0F4u); - ctx.gpr[7] = (ctx.gpr[17] + static_cast(29704)); + aot_gpr_7 = (ctx.gpr[17] + static_cast(29704)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ABB0F4u) goto L_08ABB0F4; AOT_REGCACHE_SYNC_OUT(); return; L_08ABB0F4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29704))); ctx.gpr[2] = (0u | 0u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), aot_gpr_4); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -6482,10 +6483,10 @@ L_08ABB0F4: AOT_REGCACHE_SYNC_OUT(); return; L_08ABB114: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); - ctx.gpr[17] = (aot_gpr_16 + static_cast(16)); + ctx.gpr[17] = (ctx.gpr[16] + static_cast(16)); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08ABB138u); @@ -6494,21 +6495,21 @@ L_08ABB114: AOT_REGCACHE_SYNC_OUT(); return; L_08ABB138: aot_gpr_5 = (ctx.gpr[17] | 0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); ctx.gpr[17] = (2236u << 16u); - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (ctx.gpr[2] | 0u); aot_gpr_6 = (0u | 1u); aot_gpr_31 = (0x08ABB154u); - ctx.gpr[7] = (ctx.gpr[17] + static_cast(29704)); + aot_gpr_7 = (ctx.gpr[17] + static_cast(29704)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ABB154u) goto L_08ABB154; AOT_REGCACHE_SYNC_OUT(); return; L_08ABB154: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29704))); ctx.gpr[2] = (0u | 0u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), aot_gpr_4); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -6520,10 +6521,10 @@ L_08ABB154: AOT_REGCACHE_SYNC_OUT(); return; L_08ABB174: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); - ctx.gpr[17] = (aot_gpr_16 + static_cast(16)); + ctx.gpr[17] = (ctx.gpr[16] + static_cast(16)); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08ABB198u); @@ -6532,23 +6533,23 @@ L_08ABB174: AOT_REGCACHE_SYNC_OUT(); return; L_08ABB198: aot_gpr_5 = (ctx.gpr[17] | 0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); ctx.gpr[17] = (2236u << 16u); - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (ctx.gpr[2] | 0u); aot_gpr_6 = (0u | 1u); aot_gpr_31 = (0x08ABB1B4u); - ctx.gpr[7] = (ctx.gpr[17] + static_cast(29704)); + aot_gpr_7 = (ctx.gpr[17] + static_cast(29704)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ABB1B4u) goto L_08ABB1B4; AOT_REGCACHE_SYNC_OUT(); return; L_08ABB1B4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29704))); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); ctx.gpr[2] = (0u | 0u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), aot_gpr_4); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -6560,10 +6561,10 @@ L_08ABB1B4: AOT_REGCACHE_SYNC_OUT(); return; L_08ABB1DC: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); - ctx.gpr[17] = (aot_gpr_16 + static_cast(16)); + ctx.gpr[17] = (ctx.gpr[16] + static_cast(16)); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08ABB200u); @@ -6572,23 +6573,23 @@ L_08ABB1DC: AOT_REGCACHE_SYNC_OUT(); return; L_08ABB200: aot_gpr_5 = (ctx.gpr[17] | 0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); ctx.gpr[17] = (2236u << 16u); - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (ctx.gpr[2] | 0u); aot_gpr_6 = (0u | 1u); aot_gpr_31 = (0x08ABB21Cu); - ctx.gpr[7] = (ctx.gpr[17] + static_cast(29704)); + aot_gpr_7 = (ctx.gpr[17] + static_cast(29704)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ABB21Cu) goto L_08ABB21C; AOT_REGCACHE_SYNC_OUT(); return; L_08ABB21C: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29704))); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; ctx.gpr[2] = (0u | 0u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), std::bit_cast(aot_fpr_12)); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -6600,10 +6601,10 @@ L_08ABB21C: AOT_REGCACHE_SYNC_OUT(); return; L_08ABB244: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); - ctx.gpr[17] = (aot_gpr_16 + static_cast(16)); + ctx.gpr[17] = (ctx.gpr[16] + static_cast(16)); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08ABB268u); @@ -6612,23 +6613,23 @@ L_08ABB244: AOT_REGCACHE_SYNC_OUT(); return; L_08ABB268: aot_gpr_5 = (ctx.gpr[17] | 0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); ctx.gpr[17] = (2236u << 16u); - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (ctx.gpr[2] | 0u); aot_gpr_6 = (0u | 1u); aot_gpr_31 = (0x08ABB284u); - ctx.gpr[7] = (ctx.gpr[17] + static_cast(29704)); + aot_gpr_7 = (ctx.gpr[17] + static_cast(29704)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ABB284u) goto L_08ABB284; AOT_REGCACHE_SYNC_OUT(); return; L_08ABB284: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29704))); aot_gpr_4 = (aot_gpr_4 - aot_gpr_5); ctx.gpr[2] = (0u | 0u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), aot_gpr_4); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -6640,10 +6641,10 @@ L_08ABB284: AOT_REGCACHE_SYNC_OUT(); return; L_08ABB2AC: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); - ctx.gpr[17] = (aot_gpr_16 + static_cast(16)); + ctx.gpr[17] = (ctx.gpr[16] + static_cast(16)); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08ABB2D0u); @@ -6652,23 +6653,23 @@ L_08ABB2AC: AOT_REGCACHE_SYNC_OUT(); return; L_08ABB2D0: aot_gpr_5 = (ctx.gpr[17] | 0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); ctx.gpr[17] = (2236u << 16u); - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (ctx.gpr[2] | 0u); aot_gpr_6 = (0u | 1u); aot_gpr_31 = (0x08ABB2ECu); - ctx.gpr[7] = (ctx.gpr[17] + static_cast(29704)); + aot_gpr_7 = (ctx.gpr[17] + static_cast(29704)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ABB2ECu) goto L_08ABB2EC; AOT_REGCACHE_SYNC_OUT(); return; L_08ABB2EC: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29704))); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; ctx.gpr[2] = (0u | 0u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), std::bit_cast(aot_fpr_12)); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -6680,10 +6681,10 @@ L_08ABB2EC: AOT_REGCACHE_SYNC_OUT(); return; L_08ABB314: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); - ctx.gpr[17] = (aot_gpr_16 + static_cast(16)); + ctx.gpr[17] = (ctx.gpr[16] + static_cast(16)); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08ABB338u); @@ -6692,24 +6693,24 @@ L_08ABB314: AOT_REGCACHE_SYNC_OUT(); return; L_08ABB338: aot_gpr_5 = (ctx.gpr[17] | 0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); ctx.gpr[17] = (2236u << 16u); - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (ctx.gpr[2] | 0u); aot_gpr_6 = (0u | 1u); aot_gpr_31 = (0x08ABB354u); - ctx.gpr[7] = (ctx.gpr[17] + static_cast(29704)); + aot_gpr_7 = (ctx.gpr[17] + static_cast(29704)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ABB354u) goto L_08ABB354; AOT_REGCACHE_SYNC_OUT(); return; L_08ABB354: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29704))); { const std::int64_t product = static_cast(static_cast(aot_gpr_4)) * static_cast(static_cast(aot_gpr_5)); ctx.lo = static_cast(product); ctx.hi = static_cast(static_cast(product) >> 32u); } aot_gpr_4 = (ctx.lo); ctx.gpr[2] = (0u | 0u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), aot_gpr_4); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -6721,10 +6722,10 @@ L_08ABB354: AOT_REGCACHE_SYNC_OUT(); return; L_08ABB380: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); - ctx.gpr[17] = (aot_gpr_16 + static_cast(16)); + ctx.gpr[17] = (ctx.gpr[16] + static_cast(16)); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08ABB3A4u); @@ -6733,23 +6734,23 @@ L_08ABB380: AOT_REGCACHE_SYNC_OUT(); return; L_08ABB3A4: aot_gpr_5 = (ctx.gpr[17] | 0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); ctx.gpr[17] = (2236u << 16u); - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (ctx.gpr[2] | 0u); aot_gpr_6 = (0u | 1u); aot_gpr_31 = (0x08ABB3C0u); - ctx.gpr[7] = (ctx.gpr[17] + static_cast(29704)); + aot_gpr_7 = (ctx.gpr[17] + static_cast(29704)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ABB3C0u) goto L_08ABB3C0; AOT_REGCACHE_SYNC_OUT(); return; L_08ABB3C0: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29704))); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } ctx.gpr[2] = (0u | 0u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), std::bit_cast(aot_fpr_12)); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -6761,10 +6762,10 @@ L_08ABB3C0: AOT_REGCACHE_SYNC_OUT(); return; L_08ABB3E8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); - ctx.gpr[17] = (aot_gpr_16 + static_cast(16)); + ctx.gpr[17] = (ctx.gpr[16] + static_cast(16)); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08ABB40Cu); @@ -6773,24 +6774,24 @@ L_08ABB3E8: AOT_REGCACHE_SYNC_OUT(); return; L_08ABB40C: aot_gpr_5 = (ctx.gpr[17] | 0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); ctx.gpr[17] = (2236u << 16u); - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (ctx.gpr[2] | 0u); aot_gpr_6 = (0u | 1u); aot_gpr_31 = (0x08ABB428u); - ctx.gpr[7] = (ctx.gpr[17] + static_cast(29704)); + aot_gpr_7 = (ctx.gpr[17] + static_cast(29704)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ABB428u) goto L_08ABB428; AOT_REGCACHE_SYNC_OUT(); return; L_08ABB428: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29704))); { const std::int32_t dividend = static_cast(aot_gpr_4); const std::int32_t divisor = static_cast(aot_gpr_5); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } ctx.gpr[2] = (0u | 0u); aot_gpr_4 = (ctx.lo); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), aot_gpr_4); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -6802,10 +6803,10 @@ L_08ABB428: AOT_REGCACHE_SYNC_OUT(); return; L_08ABB454: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); - ctx.gpr[17] = (aot_gpr_16 + static_cast(16)); + ctx.gpr[17] = (ctx.gpr[16] + static_cast(16)); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08ABB478u); @@ -6814,23 +6815,23 @@ L_08ABB454: AOT_REGCACHE_SYNC_OUT(); return; L_08ABB478: aot_gpr_5 = (ctx.gpr[17] | 0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); ctx.gpr[17] = (2236u << 16u); - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (ctx.gpr[2] | 0u); aot_gpr_6 = (0u | 1u); aot_gpr_31 = (0x08ABB494u); - ctx.gpr[7] = (ctx.gpr[17] + static_cast(29704)); + aot_gpr_7 = (ctx.gpr[17] + static_cast(29704)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ABB494u) goto L_08ABB494; AOT_REGCACHE_SYNC_OUT(); return; L_08ABB494: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29704))); aot_fpr_12 = aot_fpr_12 / aot_fpr_13; ctx.gpr[2] = (0u | 0u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), std::bit_cast(aot_fpr_12)); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -6842,29 +6843,29 @@ L_08ABB494: AOT_REGCACHE_SYNC_OUT(); return; L_08ABB4BC: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); ctx.gpr[17] = (2236u << 16u); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); ctx.gpr[18] = (ctx.gpr[17] + static_cast(29704)); - aot_gpr_5 = (aot_gpr_16 + static_cast(16)); + aot_gpr_5 = (ctx.gpr[16] + static_cast(16)); aot_gpr_6 = (0u | 2u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); aot_gpr_31 = (0x08ABB4ECu); - ctx.gpr[7] = (ctx.gpr[18] | 0u); + aot_gpr_7 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ABB4ECu) goto L_08ABB4EC; AOT_REGCACHE_SYNC_OUT(); return; L_08ABB4EC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29704))); - aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(524))); + aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(524))); aot_gpr_4 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_5) ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_5 = (0u < aot_gpr_6 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 ^ aot_gpr_5); - aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(518))); + aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(518))); { const bool branch_taken = aot_gpr_5 != 0u; aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); if (branch_taken) { @@ -6874,18 +6875,18 @@ L_08ABB4EC: } L_08ABB518: { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(521), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08ABB568; } goto L_08ABB520; } L_08ABB520: - aot_gpr_5 = (aot_gpr_16 + static_cast(518)); + aot_gpr_5 = (ctx.gpr[16] + static_cast(518)); aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0))); - ctx.gpr[7] = (aot_gpr_6 + static_cast(-1)); - aot_mem.aot_direct_store16(aot_gpr_5 + static_cast(0), static_cast(ctx.gpr[7])); - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(521))); + aot_gpr_7 = (aot_gpr_6 + static_cast(-1)); + aot_mem.aot_direct_store16(aot_gpr_5 + static_cast(0), static_cast(aot_gpr_7)); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(521))); aot_gpr_6 = (static_cast(aot_gpr_6) < 9 ? 1u : 0u); { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); @@ -6897,7 +6898,7 @@ L_08ABB520: L_08ABB540: aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(521), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08ABB568; } @@ -6905,8 +6906,8 @@ L_08ABB540: } L_08ABB54C: aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); - aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(518))); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_4)); + aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(518))); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(521), static_cast(aot_gpr_4)); aot_gpr_4 = (static_cast(aot_gpr_5) < 21 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -6916,13 +6917,13 @@ L_08ABB54C: goto L_08ABB564; } L_08ABB564: - aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(518), static_cast(0u)); + aot_mem.aot_direct_store16(ctx.gpr[16] + static_cast(518), static_cast(0u)); goto L_08ABB568; L_08ABB568: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; @@ -6935,17 +6936,17 @@ L_08ABB568: AOT_REGCACHE_SYNC_OUT(); return; L_08ABB584: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); ctx.gpr[17] = (2236u << 16u); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); ctx.gpr[18] = (ctx.gpr[17] + static_cast(29704)); - aot_gpr_5 = (aot_gpr_16 + static_cast(16)); + aot_gpr_5 = (ctx.gpr[16] + static_cast(16)); aot_gpr_6 = (0u | 2u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); aot_gpr_31 = (0x08ABB5B4u); - ctx.gpr[7] = (ctx.gpr[18] | 0u); + aot_gpr_7 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ABB5B4u) goto L_08ABB5B4; AOT_REGCACHE_SYNC_OUT(); return; L_08ABB5B4: @@ -6960,12 +6961,12 @@ L_08ABB5B4: } goto L_08ABB5D0; L_08ABB5D0: - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(524))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(524))); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 ^ aot_gpr_5); - aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(518))); + aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(518))); { const bool branch_taken = aot_gpr_5 != 0u; aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); if (branch_taken) { @@ -6975,18 +6976,18 @@ L_08ABB5D0: } L_08ABB5F0: { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(521), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08ABB640; } goto L_08ABB5F8; } L_08ABB5F8: - aot_gpr_5 = (aot_gpr_16 + static_cast(518)); + aot_gpr_5 = (ctx.gpr[16] + static_cast(518)); aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0))); - ctx.gpr[7] = (aot_gpr_6 + static_cast(-1)); - aot_mem.aot_direct_store16(aot_gpr_5 + static_cast(0), static_cast(ctx.gpr[7])); - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(521))); + aot_gpr_7 = (aot_gpr_6 + static_cast(-1)); + aot_mem.aot_direct_store16(aot_gpr_5 + static_cast(0), static_cast(aot_gpr_7)); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(521))); aot_gpr_6 = (static_cast(aot_gpr_6) < 9 ? 1u : 0u); { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); @@ -6998,7 +6999,7 @@ L_08ABB5F8: L_08ABB618: aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(521), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08ABB640; } @@ -7006,8 +7007,8 @@ L_08ABB618: } L_08ABB624: aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); - aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(518))); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_4)); + aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(518))); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(521), static_cast(aot_gpr_4)); aot_gpr_4 = (static_cast(aot_gpr_5) < 21 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -7017,13 +7018,13 @@ L_08ABB624: goto L_08ABB63C; } L_08ABB63C: - aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(518), static_cast(0u)); + aot_mem.aot_direct_store16(ctx.gpr[16] + static_cast(518), static_cast(0u)); goto L_08ABB640; L_08ABB640: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; @@ -7036,30 +7037,30 @@ L_08ABB640: AOT_REGCACHE_SYNC_OUT(); return; L_08ABB65C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); ctx.gpr[17] = (2236u << 16u); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); ctx.gpr[18] = (ctx.gpr[17] + static_cast(29704)); - aot_gpr_5 = (aot_gpr_16 + static_cast(16)); + aot_gpr_5 = (ctx.gpr[16] + static_cast(16)); aot_gpr_6 = (0u | 2u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); aot_gpr_31 = (0x08ABB68Cu); - ctx.gpr[7] = (ctx.gpr[18] | 0u); + aot_gpr_7 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ABB68Cu) goto L_08ABB68C; AOT_REGCACHE_SYNC_OUT(); return; L_08ABB68C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29704))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); aot_gpr_4 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_5) ? 1u : 0u); - aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(524))); + aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(524))); aot_gpr_4 = (aot_gpr_4 ^ 1u); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_5 = (0u < aot_gpr_6 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 ^ aot_gpr_5); - aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(518))); + aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(518))); { const bool branch_taken = aot_gpr_5 != 0u; aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); if (branch_taken) { @@ -7069,18 +7070,18 @@ L_08ABB68C: } L_08ABB6BC: { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(521), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08ABB70C; } goto L_08ABB6C4; } L_08ABB6C4: - aot_gpr_5 = (aot_gpr_16 + static_cast(518)); + aot_gpr_5 = (ctx.gpr[16] + static_cast(518)); aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0))); - ctx.gpr[7] = (aot_gpr_6 + static_cast(-1)); - aot_mem.aot_direct_store16(aot_gpr_5 + static_cast(0), static_cast(ctx.gpr[7])); - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(521))); + aot_gpr_7 = (aot_gpr_6 + static_cast(-1)); + aot_mem.aot_direct_store16(aot_gpr_5 + static_cast(0), static_cast(aot_gpr_7)); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(521))); aot_gpr_6 = (static_cast(aot_gpr_6) < 9 ? 1u : 0u); { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); @@ -7092,7 +7093,7 @@ L_08ABB6C4: L_08ABB6E4: aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(521), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08ABB70C; } @@ -7100,8 +7101,8 @@ L_08ABB6E4: } L_08ABB6F0: aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); - aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(518))); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_4)); + aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(518))); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(521), static_cast(aot_gpr_4)); aot_gpr_4 = (static_cast(aot_gpr_5) < 21 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -7111,13 +7112,13 @@ L_08ABB6F0: goto L_08ABB708; } L_08ABB708: - aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(518), static_cast(0u)); + aot_mem.aot_direct_store16(ctx.gpr[16] + static_cast(518), static_cast(0u)); goto L_08ABB70C; L_08ABB70C: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; @@ -7130,17 +7131,17 @@ L_08ABB70C: AOT_REGCACHE_SYNC_OUT(); return; L_08ABB728: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); ctx.gpr[17] = (2236u << 16u); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); ctx.gpr[18] = (ctx.gpr[17] + static_cast(29704)); - aot_gpr_5 = (aot_gpr_16 + static_cast(16)); + aot_gpr_5 = (ctx.gpr[16] + static_cast(16)); aot_gpr_6 = (0u | 2u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); aot_gpr_31 = (0x08ABB758u); - ctx.gpr[7] = (ctx.gpr[18] | 0u); + aot_gpr_7 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ABB758u) goto L_08ABB758; AOT_REGCACHE_SYNC_OUT(); return; L_08ABB758: @@ -7155,12 +7156,12 @@ L_08ABB758: } goto L_08ABB774; L_08ABB774: - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(524))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(524))); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 ^ aot_gpr_5); - aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(518))); + aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(518))); { const bool branch_taken = aot_gpr_5 != 0u; aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); if (branch_taken) { @@ -7170,18 +7171,18 @@ L_08ABB774: } L_08ABB794: { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(521), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08ABB7E4; } goto L_08ABB79C; } L_08ABB79C: - aot_gpr_5 = (aot_gpr_16 + static_cast(518)); + aot_gpr_5 = (ctx.gpr[16] + static_cast(518)); aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0))); - ctx.gpr[7] = (aot_gpr_6 + static_cast(-1)); - aot_mem.aot_direct_store16(aot_gpr_5 + static_cast(0), static_cast(ctx.gpr[7])); - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(521))); + aot_gpr_7 = (aot_gpr_6 + static_cast(-1)); + aot_mem.aot_direct_store16(aot_gpr_5 + static_cast(0), static_cast(aot_gpr_7)); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(521))); aot_gpr_6 = (static_cast(aot_gpr_6) < 9 ? 1u : 0u); { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); @@ -7193,7 +7194,7 @@ L_08ABB79C: L_08ABB7BC: aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(521), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08ABB7E4; } @@ -7201,8 +7202,8 @@ L_08ABB7BC: } L_08ABB7C8: aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); - aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(518))); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_4)); + aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(518))); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(521), static_cast(aot_gpr_4)); aot_gpr_4 = (static_cast(aot_gpr_5) < 21 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -7212,13 +7213,13 @@ L_08ABB7C8: goto L_08ABB7E0; } L_08ABB7E0: - aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(518), static_cast(0u)); + aot_mem.aot_direct_store16(ctx.gpr[16] + static_cast(518), static_cast(0u)); goto L_08ABB7E4; L_08ABB7E4: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; @@ -7231,30 +7232,30 @@ L_08ABB7E4: AOT_REGCACHE_SYNC_OUT(); return; L_08ABB800: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); ctx.gpr[17] = (2236u << 16u); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); ctx.gpr[18] = (ctx.gpr[17] + static_cast(29704)); - aot_gpr_5 = (aot_gpr_16 + static_cast(16)); + aot_gpr_5 = (ctx.gpr[16] + static_cast(16)); aot_gpr_6 = (0u | 2u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); aot_gpr_31 = (0x08ABB830u); - ctx.gpr[7] = (ctx.gpr[18] | 0u); + aot_gpr_7 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ABB830u) goto L_08ABB830; AOT_REGCACHE_SYNC_OUT(); return; L_08ABB830: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29704))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); aot_gpr_4 = (aot_gpr_4 ^ aot_gpr_5); - aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(524))); + aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(524))); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_5 = (0u < aot_gpr_6 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 ^ aot_gpr_5); - aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(518))); + aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(518))); { const bool branch_taken = aot_gpr_5 != 0u; aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); if (branch_taken) { @@ -7264,18 +7265,18 @@ L_08ABB830: } L_08ABB860: { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(521), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08ABB8B0; } goto L_08ABB868; } L_08ABB868: - aot_gpr_5 = (aot_gpr_16 + static_cast(518)); + aot_gpr_5 = (ctx.gpr[16] + static_cast(518)); aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0))); - ctx.gpr[7] = (aot_gpr_6 + static_cast(-1)); - aot_mem.aot_direct_store16(aot_gpr_5 + static_cast(0), static_cast(ctx.gpr[7])); - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(521))); + aot_gpr_7 = (aot_gpr_6 + static_cast(-1)); + aot_mem.aot_direct_store16(aot_gpr_5 + static_cast(0), static_cast(aot_gpr_7)); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(521))); aot_gpr_6 = (static_cast(aot_gpr_6) < 9 ? 1u : 0u); { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); @@ -7287,7 +7288,7 @@ L_08ABB868: L_08ABB888: aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(521), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08ABB8B0; } @@ -7295,8 +7296,8 @@ L_08ABB888: } L_08ABB894: aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); - aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(518))); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_4)); + aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(518))); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(521), static_cast(aot_gpr_4)); aot_gpr_4 = (static_cast(aot_gpr_5) < 21 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -7306,13 +7307,13 @@ L_08ABB894: goto L_08ABB8AC; } L_08ABB8AC: - aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(518), static_cast(0u)); + aot_mem.aot_direct_store16(ctx.gpr[16] + static_cast(518), static_cast(0u)); goto L_08ABB8B0; L_08ABB8B0: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; @@ -7325,19 +7326,19 @@ L_08ABB8B0: AOT_REGCACHE_SYNC_OUT(); return; L_08ABB8CC: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); ctx.gpr[17] = (2236u << 16u); - aot_gpr_5 = (aot_gpr_16 + static_cast(16)); + aot_gpr_5 = (ctx.gpr[16] + static_cast(16)); aot_gpr_6 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08ABB8F4u); - ctx.gpr[7] = (ctx.gpr[17] + static_cast(29704)); + aot_gpr_7 = (ctx.gpr[17] + static_cast(29704)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ABB8F4u) goto L_08ABB8F4; AOT_REGCACHE_SYNC_OUT(); return; L_08ABB8F4: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(521))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(521))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -7358,20 +7359,20 @@ L_08ABB90C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8004))); aot_gpr_4 = (aot_gpr_4 - ctx.gpr[17]); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(16), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(16), aot_gpr_4); if (branch_taken) { goto L_08ABB920; } goto L_08ABB91C; } L_08ABB91C: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(16), ctx.gpr[17]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(16), ctx.gpr[17]); goto L_08ABB920; L_08ABB920: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -7383,19 +7384,19 @@ L_08ABB920: AOT_REGCACHE_SYNC_OUT(); return; L_08ABB938: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); ctx.gpr[17] = (2236u << 16u); - aot_gpr_5 = (aot_gpr_16 + static_cast(16)); + aot_gpr_5 = (ctx.gpr[16] + static_cast(16)); aot_gpr_6 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08ABB960u); - ctx.gpr[7] = (ctx.gpr[17] + static_cast(29704)); + aot_gpr_7 = (ctx.gpr[17] + static_cast(29704)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ABB960u) goto L_08ABB960; AOT_REGCACHE_SYNC_OUT(); return; L_08ABB960: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(521))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(521))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -7416,20 +7417,20 @@ L_08ABB978: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8004))); aot_gpr_4 = (aot_gpr_4 - ctx.gpr[17]); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(16), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(16), aot_gpr_4); if (branch_taken) { goto L_08ABB98C; } goto L_08ABB988; } L_08ABB988: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(16), ctx.gpr[17]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(16), ctx.gpr[17]); goto L_08ABB98C; L_08ABB98C: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -7442,10 +7443,10 @@ L_08ABB98C: L_08ABB9A4: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(535))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); { const bool branch_taken = aot_gpr_5 == 0u; - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08ABB9C0; } @@ -7457,19 +7458,19 @@ L_08ABB9BC: L_08ABB9C0: aot_gpr_5 = (ctx.gpr[28] + static_cast(7956)); aot_gpr_31 = (0x08ABB9CCu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 409u, 0x088626C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ABB9CCu) goto L_08ABB9CC; AOT_REGCACHE_SYNC_OUT(); return; L_08ABB9CC: aot_gpr_5 = (ctx.gpr[28] + static_cast(7960)); aot_gpr_31 = (0x08ABB9D8u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 415u, 0x088626F8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ABB9D8u) goto L_08ABB9D8; AOT_REGCACHE_SYNC_OUT(); return; L_08ABB9D8: - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(520), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(520), static_cast(0u)); ctx.gpr[2] = (0u | 1u); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -7479,10 +7480,10 @@ L_08ABB9D8: AOT_REGCACHE_SYNC_OUT(); return; L_08ABB9F0: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); - ctx.gpr[17] = (aot_gpr_16 + static_cast(16)); + ctx.gpr[17] = (ctx.gpr[16] + static_cast(16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[19]); ctx.gpr[19] = (2236u << 16u); @@ -7491,7 +7492,7 @@ L_08ABB9F0: aot_gpr_6 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); aot_gpr_31 = (0x08ABBA28u); - ctx.gpr[7] = (ctx.gpr[19] + static_cast(29704)); + aot_gpr_7 = (ctx.gpr[19] + static_cast(29704)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ABBA28u) goto L_08ABBA28; AOT_REGCACHE_SYNC_OUT(); return; L_08ABBA28: @@ -7512,8 +7513,8 @@ L_08ABBA38: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 611u, 0x08863470u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ABBA40u) goto L_08ABBA40; AOT_REGCACHE_SYNC_OUT(); return; L_08ABBA40: - ctx.gpr[7] = (ctx.gpr[2] + static_cast(84)); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_7 = (ctx.gpr[2] + static_cast(84)); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08ABBA54u); aot_gpr_6 = (0u | 96u); @@ -7523,7 +7524,7 @@ L_08ABBA54: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -7537,25 +7538,25 @@ L_08ABBA54: AOT_REGCACHE_SYNC_OUT(); return; L_08ABBA74: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); ctx.gpr[17] = (2236u << 16u); - aot_gpr_5 = (aot_gpr_16 + static_cast(16)); + aot_gpr_5 = (ctx.gpr[16] + static_cast(16)); aot_gpr_6 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08ABBA9Cu); - ctx.gpr[7] = (ctx.gpr[17] + static_cast(29704)); + aot_gpr_7 = (ctx.gpr[17] + static_cast(29704)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ABBA9Cu) goto L_08ABBA9C; AOT_REGCACHE_SYNC_OUT(); return; L_08ABBA9C: - aot_gpr_4 = (aot_gpr_16 + static_cast(516)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(516)); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0))); - ctx.gpr[7] = (aot_gpr_5 << 2u); - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); + aot_gpr_7 = (aot_gpr_5 << 2u); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(16))); aot_gpr_5 = (aot_gpr_5 + static_cast(1)); aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_5)); - aot_gpr_4 = (aot_gpr_16 + ctx.gpr[7]); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_7); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(20), aot_gpr_6); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29704))); { const bool branch_taken = static_cast(aot_gpr_4) >= 0; @@ -7569,20 +7570,20 @@ L_08ABBAC8: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8004))); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(16), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(16), aot_gpr_4); if (branch_taken) { goto L_08ABBADC; } goto L_08ABBAD8; } L_08ABBAD8: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(16), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(16), aot_gpr_4); goto L_08ABBADC; L_08ABBADC: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -7610,10 +7611,10 @@ L_08ABBB04: AOT_REGCACHE_SYNC_OUT(); return; L_08ABBB14: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); - ctx.gpr[17] = (aot_gpr_16 + static_cast(16)); + ctx.gpr[17] = (ctx.gpr[16] + static_cast(16)); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08ABBB38u); @@ -7622,25 +7623,25 @@ L_08ABBB14: AOT_REGCACHE_SYNC_OUT(); return; L_08ABBB38: aot_gpr_5 = (ctx.gpr[17] | 0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); ctx.gpr[17] = (2236u << 16u); - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (ctx.gpr[2] | 0u); aot_gpr_6 = (0u | 1u); aot_gpr_31 = (0x08ABBB54u); - ctx.gpr[7] = (ctx.gpr[17] + static_cast(29704)); + aot_gpr_7 = (ctx.gpr[17] + static_cast(29704)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ABBB54u) goto L_08ABBB54; AOT_REGCACHE_SYNC_OUT(); return; L_08ABBB54: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29704))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_fpr_12 = aot_fpr_14 + aot_fpr_12; ctx.gpr[2] = (0u | 0u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), std::bit_cast(aot_fpr_12)); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -7652,10 +7653,10 @@ L_08ABBB54: AOT_REGCACHE_SYNC_OUT(); return; L_08ABBB84: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); - ctx.gpr[17] = (aot_gpr_16 + static_cast(16)); + ctx.gpr[17] = (ctx.gpr[16] + static_cast(16)); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08ABBBA8u); @@ -7664,25 +7665,25 @@ L_08ABBB84: AOT_REGCACHE_SYNC_OUT(); return; L_08ABBBA8: aot_gpr_5 = (ctx.gpr[17] | 0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); ctx.gpr[17] = (2236u << 16u); - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (ctx.gpr[2] | 0u); aot_gpr_6 = (0u | 1u); aot_gpr_31 = (0x08ABBBC4u); - ctx.gpr[7] = (ctx.gpr[17] + static_cast(29704)); + aot_gpr_7 = (ctx.gpr[17] + static_cast(29704)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ABBBC4u) goto L_08ABBBC4; AOT_REGCACHE_SYNC_OUT(); return; L_08ABBBC4: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29704))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_fpr_12 = aot_fpr_14 - aot_fpr_12; ctx.gpr[2] = (0u | 0u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), std::bit_cast(aot_fpr_12)); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -7694,10 +7695,10 @@ L_08ABBBC4: AOT_REGCACHE_SYNC_OUT(); return; L_08ABBBF4: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); - ctx.gpr[17] = (aot_gpr_16 + static_cast(16)); + ctx.gpr[17] = (ctx.gpr[16] + static_cast(16)); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08ABBC18u); @@ -7705,8 +7706,8 @@ L_08ABBBF4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 367u, 0x088623D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ABBC18u) goto L_08ABBC18; AOT_REGCACHE_SYNC_OUT(); return; L_08ABBC18: - aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_16 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); + ctx.gpr[16] = (ctx.gpr[2] | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08ABBC2Cu); aot_gpr_6 = (0u | 0u); @@ -7717,10 +7718,10 @@ L_08ABBC2C: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.gpr[2] = (0u | 0u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), aot_gpr_4); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -7732,10 +7733,10 @@ L_08ABBC2C: AOT_REGCACHE_SYNC_OUT(); return; L_08ABBC54: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); - ctx.gpr[17] = (aot_gpr_16 + static_cast(16)); + ctx.gpr[17] = (ctx.gpr[16] + static_cast(16)); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08ABBC78u); @@ -7743,8 +7744,8 @@ L_08ABBC54: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 367u, 0x088623D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ABBC78u) goto L_08ABBC78; AOT_REGCACHE_SYNC_OUT(); return; L_08ABBC78: - aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_16 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); + ctx.gpr[16] = (ctx.gpr[2] | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08ABBC8Cu); aot_gpr_6 = (0u | 0u); @@ -7755,10 +7756,10 @@ L_08ABBC8C: aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); ctx.gpr[2] = (0u | 0u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), std::bit_cast(aot_fpr_12)); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -7867,12 +7868,12 @@ L_08ABBD60: } L_08ABBD68: aot_gpr_6 = (aot_gpr_4 + static_cast(518)); - ctx.gpr[7] = (aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(0))); - ctx.gpr[8] = (ctx.gpr[7] + static_cast(-1)); + aot_gpr_7 = (aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(0))); + ctx.gpr[8] = (aot_gpr_7 + static_cast(-1)); aot_mem.aot_direct_store16(aot_gpr_6 + static_cast(0), static_cast(ctx.gpr[8])); aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(521))); - ctx.gpr[7] = (static_cast(ctx.gpr[7]) < 9 ? 1u : 0u); - { const bool branch_taken = ctx.gpr[7] == 0u; + aot_gpr_7 = (static_cast(aot_gpr_7) < 9 ? 1u : 0u); + { const bool branch_taken = aot_gpr_7 == 0u; aot_gpr_6 = (0u < aot_gpr_6 ? 1u : 0u); if (branch_taken) { goto L_08ABBD94; @@ -7940,12 +7941,12 @@ L_08ABBDE4: } L_08ABBDEC: aot_gpr_6 = (aot_gpr_4 + static_cast(518)); - ctx.gpr[7] = (aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(0))); - ctx.gpr[8] = (ctx.gpr[7] + static_cast(-1)); + aot_gpr_7 = (aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(0))); + ctx.gpr[8] = (aot_gpr_7 + static_cast(-1)); aot_mem.aot_direct_store16(aot_gpr_6 + static_cast(0), static_cast(ctx.gpr[8])); aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(521))); - ctx.gpr[7] = (static_cast(ctx.gpr[7]) < 9 ? 1u : 0u); - { const bool branch_taken = ctx.gpr[7] == 0u; + aot_gpr_7 = (static_cast(aot_gpr_7) < 9 ? 1u : 0u); + { const bool branch_taken = aot_gpr_7 == 0u; aot_gpr_6 = (0u < aot_gpr_6 ? 1u : 0u); if (branch_taken) { goto L_08ABBE18; @@ -7992,21 +7993,21 @@ L_08ABBE3C: AOT_REGCACHE_SYNC_OUT(); return; L_08ABBE4C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); ctx.gpr[17] = (2236u << 16u); - aot_gpr_5 = (aot_gpr_16 + static_cast(16)); + aot_gpr_5 = (ctx.gpr[16] + static_cast(16)); aot_gpr_6 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08ABBE74u); - ctx.gpr[7] = (ctx.gpr[17] + static_cast(29704)); + aot_gpr_7 = (ctx.gpr[17] + static_cast(29704)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ABBE74u) goto L_08ABBE74; AOT_REGCACHE_SYNC_OUT(); return; L_08ABBE74: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29704))); - aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(518), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(518))); + aot_mem.aot_direct_store16(ctx.gpr[16] + static_cast(518), static_cast(aot_gpr_4)); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(518))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -8026,20 +8027,20 @@ L_08ABBE88: L_08ABBE94: aot_gpr_4 = (0u | 1u); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(521), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08ABBEA4; } goto L_08ABBEA0; } L_08ABBEA0: - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(521), static_cast(0u)); goto L_08ABBEA4; L_08ABBEA4: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -8051,25 +8052,25 @@ L_08ABBEA4: AOT_REGCACHE_SYNC_OUT(); return; L_08ABBEBC: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (2236u << 16u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (2236u << 16u); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); aot_gpr_6 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x08ABBEDCu); - ctx.gpr[7] = (aot_gpr_16 + static_cast(29704)); + aot_gpr_7 = (ctx.gpr[16] + static_cast(29704)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ABBEDCu) goto L_08ABBEDC; AOT_REGCACHE_SYNC_OUT(); return; L_08ABBEDC: aot_gpr_31 = (0x08ABBEE4u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(29704))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 611u, 0x08863470u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ABBEE4u) goto L_08ABBEE4; AOT_REGCACHE_SYNC_OUT(); return; L_08ABBEE4: aot_gpr_4 = (0u | 1u); aot_mem.aot_direct_store8(ctx.gpr[2] + static_cast(522), static_cast(aot_gpr_4)); ctx.gpr[2] = (0u | 0u); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -8126,32 +8127,32 @@ L_08ABBF48: AOT_REGCACHE_SYNC_OUT(); return; L_08ABBF64: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); ctx.gpr[17] = (2236u << 16u); - aot_gpr_5 = (aot_gpr_16 + static_cast(16)); + aot_gpr_5 = (ctx.gpr[16] + static_cast(16)); aot_gpr_6 = (0u | 2u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08ABBF8Cu); - ctx.gpr[7] = (ctx.gpr[17] + static_cast(29704)); + aot_gpr_7 = (ctx.gpr[17] + static_cast(29704)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ABBF8Cu) goto L_08ABBF8C; AOT_REGCACHE_SYNC_OUT(); return; L_08ABBF8C: - aot_gpr_4 = (aot_gpr_16 + static_cast(516)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(516)); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0))); - ctx.gpr[7] = (aot_gpr_5 << 2u); - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); + aot_gpr_7 = (aot_gpr_5 << 2u); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(16))); aot_gpr_5 = (aot_gpr_5 + static_cast(1)); aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_5)); - aot_gpr_4 = (aot_gpr_16 + ctx.gpr[7]); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_7); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(20), aot_gpr_6); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29704))); ctx.gpr[2] = (0u | 0u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(16), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(16), aot_gpr_4); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -8163,13 +8164,13 @@ L_08ABBF8C: AOT_REGCACHE_SYNC_OUT(); return; L_08ABBFCC: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_5 = (aot_gpr_16 + static_cast(16)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); + aot_gpr_5 = (ctx.gpr[16] + static_cast(16)); aot_gpr_6 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08ABBFECu); - ctx.gpr[7] = (aot_gpr_29 | 0u); + aot_gpr_7 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ABBFECu) goto L_08ABBFEC; AOT_REGCACHE_SYNC_OUT(); return; L_08ABBFEC: diff --git a/profiles/vcs/generated/generated_unit_0174.cpp b/profiles/vcs/generated/generated_unit_0174.cpp index cad0936..8dde64c 100644 --- a/profiles/vcs/generated/generated_unit_0174.cpp +++ b/profiles/vcs/generated/generated_unit_0174.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,7 +139,7 @@ static const std::uint16_t kEntryIds_recomp_unit_0174[4096] = { }; void recomp_unit_0174_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,6,31,16 fprs=12 gpr_occ=4646 fpr_occ=14 gpr_total=6645 fpr_total=14 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,6,31,16 fprs=12 gpr_occ=4690 fpr_occ=14 gpr_total=6740 fpr_total=14 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; @@ -1202,7 +1203,7 @@ L_08ABC140: aot_gpr_6 = (aot_gpr_6 << 2u); aot_gpr_31 = (0x08ABC174u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ABC174u) goto L_08ABC174; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ABC174u) goto L_08ABC174; AOT_REGCACHE_SYNC_OUT(); return; L_08ABC174: aot_gpr_31 = (0x08ABC17Cu); @@ -1358,7 +1359,7 @@ L_08ABC27C: L_08ABC284: aot_gpr_31 = (0x08ABC28Cu); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ABC28Cu) goto L_08ABC28C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089474C4, 80u, 661u, 0x089474C4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ABC28Cu) goto L_08ABC28C; AOT_REGCACHE_SYNC_OUT(); return; L_08ABC28C: aot_gpr_4 = (ctx.gpr[2] | 0u); @@ -1464,7 +1465,7 @@ L_08ABC33C: L_08ABC348: aot_gpr_31 = (0x08ABC350u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ABC350u) goto L_08ABC350; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ABC350u) goto L_08ABC350; AOT_REGCACHE_SYNC_OUT(); return; L_08ABC350: ctx.gpr[17] = (ctx.gpr[18] | 0u); @@ -1798,7 +1799,7 @@ L_08ABC614: aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08ABC624u); aot_gpr_6 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ABC624u) goto L_08ABC624; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ABC624u) goto L_08ABC624; AOT_REGCACHE_SYNC_OUT(); return; L_08ABC624: { const bool branch_taken = 0u == 0u; @@ -1820,7 +1821,7 @@ L_08ABC638: aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08ABC64Cu); aot_gpr_6 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ABC64Cu) goto L_08ABC64C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ABC64Cu) goto L_08ABC64C; AOT_REGCACHE_SYNC_OUT(); return; L_08ABC64C: ctx.gpr[2] = (0u | 0u); @@ -5321,7 +5322,7 @@ L_08ABE354: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08ABE364u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ABE364u) goto L_08ABE364; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ABE364u) goto L_08ABE364; AOT_REGCACHE_SYNC_OUT(); return; L_08ABE364: ctx.gpr[2] = (aot_gpr_16 | 0u); @@ -5630,7 +5631,7 @@ L_08ABE600: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08ABE610u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ABE610u) goto L_08ABE610; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ABE610u) goto L_08ABE610; AOT_REGCACHE_SYNC_OUT(); return; L_08ABE610: { const bool branch_taken = 0u == 0u; @@ -5885,7 +5886,7 @@ L_08ABE7E8: aot_gpr_6 = (aot_gpr_6 - ctx.gpr[19]); aot_gpr_31 = (0x08ABE808u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ABE808u) goto L_08ABE808; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ABE808u) goto L_08ABE808; AOT_REGCACHE_SYNC_OUT(); return; L_08ABE808: aot_gpr_4 = (ctx.gpr[20] | 0u); @@ -5925,7 +5926,7 @@ L_08ABE848: aot_gpr_4 = (aot_gpr_4 + ctx.gpr[18]); aot_gpr_31 = (0x08ABE85Cu); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ABE85Cu) goto L_08ABE85C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ABE85Cu) goto L_08ABE85C; AOT_REGCACHE_SYNC_OUT(); return; L_08ABE85C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(20))); @@ -7453,7 +7454,7 @@ L_08ABF414: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08ABF42Cu); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ABF42Cu) goto L_08ABF42C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ABF42Cu) goto L_08ABF42C; AOT_REGCACHE_SYNC_OUT(); return; L_08ABF42C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(20))); diff --git a/profiles/vcs/generated/generated_unit_0175.cpp b/profiles/vcs/generated/generated_unit_0175.cpp index 581d94e..8e6d7ef 100644 --- a/profiles/vcs/generated/generated_unit_0175.cpp +++ b/profiles/vcs/generated/generated_unit_0175.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0175[4095] = { }; void recomp_unit_0175_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,31,29,5,16,17 fprs=12,13,20,0 gpr_occ=4156 fpr_occ=470 gpr_total=5397 fpr_total=600 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,31,5,29,6,2 fprs=12,13,14,15 gpr_occ=4539 fpr_occ=495 gpr_total=6407 fpr_total=660 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; - std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; - std::uint32_t aot_gpr_16 = ctx.gpr[16]; - std::uint32_t aot_gpr_17 = ctx.gpr[17]; + std::uint32_t aot_gpr_29 = ctx.gpr[29]; + std::uint32_t aot_gpr_6 = ctx.gpr[6]; + std::uint32_t aot_gpr_2 = ctx.gpr[2]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; - float aot_fpr_20 = ctx.fpr[20]; - float aot_fpr_0 = ctx.fpr[0]; + float aot_fpr_14 = ctx.fpr[14]; + float aot_fpr_15 = ctx.fpr[15]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[31] = aot_gpr_31; ctx.gpr[29] = aot_gpr_29; ctx.gpr[5] = aot_gpr_5; ctx.gpr[16] = aot_gpr_16; ctx.gpr[17] = aot_gpr_17; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; ctx.fpr[0] = aot_fpr_0; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_17 = ctx.gpr[17]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_0 = ctx.fpr[0]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[31] = aot_gpr_31; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[6] = aot_gpr_6; ctx.gpr[2] = aot_gpr_2; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[15] = aot_fpr_15; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_2 = ctx.gpr[2]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_15 = ctx.fpr[15]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -1358,9 +1359,9 @@ L_08AC00A8: aot_gpr_5 = (aot_gpr_4 + static_cast(1)); goto L_08AC00B4; L_08AC00B4: - ctx.gpr[11] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(0))); + ctx.gpr[11] = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); ctx.gpr[8] = (ctx.gpr[8] + static_cast(1)); - ctx.gpr[7] = (ctx.gpr[11] - ctx.gpr[2]); + ctx.gpr[7] = (ctx.gpr[11] - aot_gpr_2); ctx.gpr[7] = (ctx.gpr[7] + static_cast(1023)); ctx.gpr[7] = (ctx.gpr[7] >> 10u); ctx.gpr[7] = (ctx.gpr[7] < ctx.gpr[8] ? 1u : 0u); @@ -1372,11 +1373,11 @@ L_08AC00B4: goto L_08AC00D4; } L_08AC00D4: - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(16))); goto L_08AC00D8; L_08AC00D8: - ctx.gpr[6] = (ctx.gpr[6] + ctx.gpr[11]); - { const bool branch_taken = ctx.gpr[6] != ctx.gpr[7]; + aot_gpr_6 = (aot_gpr_6 + ctx.gpr[11]); + { const bool branch_taken = aot_gpr_6 != ctx.gpr[7]; // nop if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 847u, 0x08ABFF78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; @@ -1384,14 +1385,14 @@ L_08AC00D8: goto L_08AC00E4; } L_08AC00E4: - ctx.gpr[6] = (0u | 10u); - aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(ctx.gpr[6])); - ctx.gpr[20] = (aot_gpr_16 | 0u); + aot_gpr_6 = (0u | 10u); + aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_6)); + ctx.gpr[20] = (ctx.gpr[16] | 0u); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(0), static_cast(0u)); - aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(28))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(28))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(16))); aot_gpr_5 = (2232u << 16u); - aot_gpr_16 = (aot_gpr_16 - aot_gpr_4); + ctx.gpr[16] = (ctx.gpr[16] - aot_gpr_4); ctx.gpr[19] = (aot_gpr_5 + static_cast(12508)); aot_gpr_31 = (0x08AC0110u); aot_gpr_4 = (ctx.gpr[19] | 0u); @@ -1423,7 +1424,7 @@ L_08AC0130: AOT_REGCACHE_SYNC_OUT(); return; L_08AC0140: aot_gpr_4 = (2232u << 16u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08AC0150u); aot_gpr_4 = (aot_gpr_4 + static_cast(12624)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0172_entry, 172u, 176u, 0x08AB4D90u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0150u) goto L_08AC0150; @@ -1431,16 +1432,16 @@ L_08AC0140: L_08AC0150: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(0))); aot_gpr_5 = (2232u << 16u); - ctx.gpr[6] = (aot_gpr_4 - aot_gpr_16); + aot_gpr_6 = (aot_gpr_4 - ctx.gpr[16]); aot_gpr_4 = (aot_gpr_5 + static_cast(12644)); - aot_gpr_5 = (ctx.gpr[6] - ctx.gpr[18]); + aot_gpr_5 = (aot_gpr_6 - ctx.gpr[18]); aot_gpr_31 = (0x08AC016Cu); - aot_gpr_5 = (aot_gpr_5 - aot_gpr_17); + aot_gpr_5 = (aot_gpr_5 - ctx.gpr[17]); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0172_entry, 172u, 176u, 0x08AB4D90u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC016Cu) goto L_08AC016C; AOT_REGCACHE_SYNC_OUT(); return; L_08AC016C: ctx.gpr[21] = (2232u << 16u); - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); ctx.gpr[18] = (0u | 0u); ctx.gpr[19] = (0u | 0u); ctx.gpr[21] = (ctx.gpr[21] + static_cast(12664)); @@ -1457,10 +1458,10 @@ L_08AC0180: } L_08AC0190: ctx.gpr[7] = (aot_gpr_4 | 0u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(4))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(4))); aot_gpr_4 = (0u | 0u); ctx.gpr[18] = (aot_gpr_5 | 0u); - { const bool branch_taken = ctx.gpr[6] == 0u; + { const bool branch_taken = aot_gpr_6 == 0u; ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(8))); if (branch_taken) { goto L_08AC01B4; @@ -1468,8 +1469,8 @@ L_08AC0190: goto L_08AC01A8; } L_08AC01A8: - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(0))); - { const bool branch_taken = ctx.gpr[6] != 0u; + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); + { const bool branch_taken = aot_gpr_6 != 0u; aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); if (branch_taken) { goto L_08AC01A8; @@ -1478,14 +1479,14 @@ L_08AC01A8: } L_08AC01B4: { const bool branch_taken = ctx.gpr[7] == 0u; - aot_gpr_17 = (aot_gpr_17 + aot_gpr_4); + ctx.gpr[17] = (ctx.gpr[17] + aot_gpr_4); if (branch_taken) { goto L_08AC01CC; } goto L_08AC01BC; } L_08AC01BC: - ctx.gpr[6] = (ctx.gpr[7] | 0u); + aot_gpr_6 = (ctx.gpr[7] | 0u); ctx.gpr[7] = (aot_gpr_4 | 0u); aot_gpr_31 = (0x08AC01CCu); aot_gpr_4 = (ctx.gpr[21] | 0u); @@ -1504,20 +1505,20 @@ L_08AC01CC: L_08AC01DC: aot_gpr_4 = (ctx.gpr[28] + static_cast(-1820)); aot_gpr_31 = (0x08AC01E8u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0172_entry, 172u, 176u, 0x08AB4D90u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC01E8u) goto L_08AC01E8; AOT_REGCACHE_SYNC_OUT(); return; L_08AC01E8: aot_gpr_4 = (ctx.gpr[28] + static_cast(-1804)); aot_gpr_31 = (0x08AC01F4u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0172_entry, 172u, 176u, 0x08AB4D90u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC01F4u) goto L_08AC01F4; AOT_REGCACHE_SYNC_OUT(); return; L_08AC01F4: { std::uint32_t aot_run_words[7]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(4096), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -1549,7 +1550,7 @@ L_08AC022C: L_08AC0238: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_4 = (2237u << 16u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[6]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_6); aot_gpr_5 = (aot_gpr_5 & 255u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); aot_gpr_31 = (0x08AC0254u); @@ -1566,17 +1567,17 @@ L_08AC0254: AOT_REGCACHE_SYNC_OUT(); return; L_08AC0260: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - { const std::uint32_t aot_run_words[6]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; + { const std::uint32_t aot_run_words[6]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(4), aot_run_words); } ctx.gpr[20] = (2237u << 16u); ctx.gpr[20] = (ctx.gpr[20] + static_cast(-28736)); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(136))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); - aot_gpr_5 = (ctx.gpr[6] - aot_gpr_5); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); + aot_gpr_5 = (aot_gpr_6 - aot_gpr_5); aot_gpr_5 = (aot_gpr_5 < static_cast(5000) ? 1u : 0u); ctx.gpr[19] = (0u | 1u); { const bool branch_taken = aot_gpr_5 == 0u; - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08AC02B4; } @@ -1600,14 +1601,14 @@ L_08AC02AC: goto L_08AC02B4; } L_08AC02B4: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AC02C0u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC02C0u) goto L_08AC02C0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC02C0u) goto L_08AC02C0; AOT_REGCACHE_SYNC_OUT(); return; L_08AC02C0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (ctx.gpr[19] | 0u); + aot_gpr_2 = (ctx.gpr[19] | 0u); if (branch_taken) { goto L_08AC0388; } @@ -1624,12 +1625,12 @@ L_08AC02D0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0148_entry, 148u, 256u, 0x08A54FECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC02D8u) goto L_08AC02D8; AOT_REGCACHE_SYNC_OUT(); return; L_08AC02D8: - ctx.gpr[18] = (ctx.gpr[2] & 255u); - aot_gpr_17 = (aot_mem.aot_direct_load8(ctx.gpr[20] + static_cast(277))); + ctx.gpr[18] = (aot_gpr_2 & 255u); + ctx.gpr[17] = (aot_mem.aot_direct_load8(ctx.gpr[20] + static_cast(277))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(100))); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(52))); aot_gpr_4 = (ctx.gpr[19] << (aot_gpr_4 & 31u)); - aot_gpr_4 = (aot_gpr_17 & aot_gpr_4); + aot_gpr_4 = (ctx.gpr[17] & aot_gpr_4); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -1645,7 +1646,7 @@ L_08AC02F8: aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_5 = (aot_gpr_29 | 0u); aot_gpr_31 = (0x08AC0318u); - ctx.gpr[6] = (0u + static_cast(-1)); + aot_gpr_6 = (0u + static_cast(-1)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 189u, 0x08ADCA34u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0318u) goto L_08AC0318; AOT_REGCACHE_SYNC_OUT(); return; L_08AC0318: @@ -1668,7 +1669,7 @@ L_08AC032C: } L_08AC033C: aot_gpr_5 = (ctx.gpr[19] << (aot_gpr_4 & 31u)); - aot_gpr_5 = (aot_gpr_17 & aot_gpr_5); + aot_gpr_5 = (ctx.gpr[17] & aot_gpr_5); { const bool branch_taken = aot_gpr_5 == 0u; // nop if (branch_taken) { @@ -1695,33 +1696,33 @@ L_08AC035C: goto L_08AC0364; } L_08AC0364: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AC0370u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0370u) goto L_08AC0370; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0370u) goto L_08AC0370; AOT_REGCACHE_SYNC_OUT(); return; L_08AC0370: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (ctx.gpr[19] | 0u); + aot_gpr_2 = (ctx.gpr[19] | 0u); if (branch_taken) { goto L_08AC0388; } goto L_08AC0378; } L_08AC0378: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AC0384u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0384u) goto L_08AC0384; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0384u) goto L_08AC0384; AOT_REGCACHE_SYNC_OUT(); return; L_08AC0384: - ctx.gpr[2] = (ctx.gpr[19] | 0u); + aot_gpr_2 = (ctx.gpr[19] | 0u); goto L_08AC0388; L_08AC0388: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(4), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -1735,17 +1736,17 @@ L_08AC0388: AOT_REGCACHE_SYNC_OUT(); return; L_08AC03A8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[16], ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_31 = (0x08AC03C4u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC03C4u) goto L_08AC03C4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806634, 0u, 302u, 0x08806634u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC03C4u) goto L_08AC03C4; AOT_REGCACHE_SYNC_OUT(); return; L_08AC03C4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5860))); - { const bool branch_taken = ctx.gpr[2] == 0u; - aot_gpr_17 = (0u | 1u); + { const bool branch_taken = aot_gpr_2 == 0u; + ctx.gpr[17] = (0u | 1u); if (branch_taken) { goto L_08AC03F8; } @@ -1753,7 +1754,7 @@ L_08AC03C4: } L_08AC03D0: { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (branch_taken) { goto L_08AC03E4; } @@ -1765,7 +1766,7 @@ L_08AC03D8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 406u, 0x08B65AB0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC03E0u) goto L_08AC03E0; AOT_REGCACHE_SYNC_OUT(); return; L_08AC03E0: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_08AC03E4; L_08AC03E4: aot_gpr_31 = (0x08AC03ECu); @@ -1774,7 +1775,7 @@ L_08AC03E4: AOT_REGCACHE_SYNC_OUT(); return; L_08AC03EC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5860))); - aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(8), std::bit_cast(aot_fpr_0)); + aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(8), std::bit_cast(ctx.fpr[0])); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5860))); goto L_08AC03F8; L_08AC03F8: @@ -1794,15 +1795,15 @@ L_08AC0408: goto L_08AC0410; L_08AC0410: aot_gpr_31 = (0x08AC0418u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0418u) goto L_08AC0418; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0418u) goto L_08AC0418; AOT_REGCACHE_SYNC_OUT(); return; L_08AC0418: - ctx.gpr[2] = (aot_gpr_17 | 0u); + aot_gpr_2 = (ctx.gpr[17] | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -1813,17 +1814,17 @@ L_08AC0418: AOT_REGCACHE_SYNC_OUT(); return; L_08AC0430: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[16], ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_31 = (0x08AC044Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC044Cu) goto L_08AC044C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806634, 0u, 302u, 0x08806634u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC044Cu) goto L_08AC044C; AOT_REGCACHE_SYNC_OUT(); return; L_08AC044C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5860))); - { const bool branch_taken = ctx.gpr[2] == 0u; - aot_gpr_17 = (0u | 1u); + { const bool branch_taken = aot_gpr_2 == 0u; + ctx.gpr[17] = (0u | 1u); if (branch_taken) { goto L_08AC0480; } @@ -1831,7 +1832,7 @@ L_08AC044C: } L_08AC0458: { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (branch_taken) { goto L_08AC046C; } @@ -1843,7 +1844,7 @@ L_08AC0460: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 406u, 0x08B65AB0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0468u) goto L_08AC0468; AOT_REGCACHE_SYNC_OUT(); return; L_08AC0468: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_08AC046C; L_08AC046C: aot_gpr_31 = (0x08AC0474u); @@ -1852,7 +1853,7 @@ L_08AC046C: AOT_REGCACHE_SYNC_OUT(); return; L_08AC0474: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5860))); - aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(12), std::bit_cast(aot_fpr_0)); + aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(12), std::bit_cast(ctx.fpr[0])); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5860))); goto L_08AC0480; L_08AC0480: @@ -1872,15 +1873,15 @@ L_08AC0490: goto L_08AC0498; L_08AC0498: aot_gpr_31 = (0x08AC04A0u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC04A0u) goto L_08AC04A0; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC04A0u) goto L_08AC04A0; AOT_REGCACHE_SYNC_OUT(); return; L_08AC04A0: - ctx.gpr[2] = (aot_gpr_17 | 0u); + aot_gpr_2 = (ctx.gpr[17] | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -1891,17 +1892,17 @@ L_08AC04A0: AOT_REGCACHE_SYNC_OUT(); return; L_08AC04B8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[16], ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_31 = (0x08AC04D4u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC04D4u) goto L_08AC04D4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806634, 0u, 302u, 0x08806634u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC04D4u) goto L_08AC04D4; AOT_REGCACHE_SYNC_OUT(); return; L_08AC04D4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5860))); - { const bool branch_taken = ctx.gpr[2] == 0u; - aot_gpr_17 = (0u | 1u); + { const bool branch_taken = aot_gpr_2 == 0u; + ctx.gpr[17] = (0u | 1u); if (branch_taken) { goto L_08AC0508; } @@ -1909,7 +1910,7 @@ L_08AC04D4: } L_08AC04E0: { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (branch_taken) { goto L_08AC04F4; } @@ -1921,7 +1922,7 @@ L_08AC04E8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 406u, 0x08B65AB0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC04F0u) goto L_08AC04F0; AOT_REGCACHE_SYNC_OUT(); return; L_08AC04F0: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_08AC04F4; L_08AC04F4: aot_gpr_31 = (0x08AC04FCu); @@ -1930,7 +1931,7 @@ L_08AC04F4: AOT_REGCACHE_SYNC_OUT(); return; L_08AC04FC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5860))); - aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(16), std::bit_cast(aot_fpr_0)); + aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(16), std::bit_cast(ctx.fpr[0])); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5860))); goto L_08AC0508; L_08AC0508: @@ -1950,15 +1951,15 @@ L_08AC0518: goto L_08AC0520; L_08AC0520: aot_gpr_31 = (0x08AC0528u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0528u) goto L_08AC0528; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0528u) goto L_08AC0528; AOT_REGCACHE_SYNC_OUT(); return; L_08AC0528: - ctx.gpr[2] = (aot_gpr_17 | 0u); + aot_gpr_2 = (ctx.gpr[17] | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -1969,48 +1970,48 @@ L_08AC0528: AOT_REGCACHE_SYNC_OUT(); return; L_08AC0540: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_31 = (0x08AC0560u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0560u) goto L_08AC0560; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806634, 0u, 302u, 0x08806634u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0560u) goto L_08AC0560; AOT_REGCACHE_SYNC_OUT(); return; L_08AC0560: ctx.gpr[18] = (0u | 1u); - aot_gpr_17 = (2237u << 16u); - { const bool branch_taken = ctx.gpr[2] == 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(-28736)); + ctx.gpr[17] = (2237u << 16u); + { const bool branch_taken = aot_gpr_2 == 0u; + ctx.gpr[17] = (ctx.gpr[17] + static_cast(-28736)); if (branch_taken) { goto L_08AC0588; } goto L_08AC0570; } L_08AC0570: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AC057Cu); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0038_entry, 38u, 294u, 0x0889D610u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC057Cu) goto L_08AC057C; AOT_REGCACHE_SYNC_OUT(); return; L_08AC057C: - aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_0)); + aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[0])); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(84), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(84), aot_gpr_4); goto L_08AC0588; L_08AC0588: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(84))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(84))); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_gpr_31 = (0x08AC059Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC059Cu) goto L_08AC059C; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC059Cu) goto L_08AC059C; AOT_REGCACHE_SYNC_OUT(); return; L_08AC059C: - ctx.gpr[2] = (ctx.gpr[18] | 0u); + aot_gpr_2 = (ctx.gpr[18] | 0u); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -2022,11 +2023,11 @@ L_08AC059C: AOT_REGCACHE_SYNC_OUT(); return; L_08AC05B8: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[16], ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(8), aot_run_words); } aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5868))); { const bool branch_taken = aot_gpr_5 != 0u; - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08AC05DC; } @@ -2038,8 +2039,8 @@ L_08AC05D4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 452u, 0x08B65D8Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC05DCu) goto L_08AC05DC; AOT_REGCACHE_SYNC_OUT(); return; L_08AC05DC: - aot_gpr_17 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5868))); - { const bool branch_taken = aot_gpr_17 != 0u; + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5868))); + { const bool branch_taken = ctx.gpr[17] != 0u; // nop if (branch_taken) { goto L_08AC05F0; @@ -2057,22 +2058,22 @@ L_08AC05F0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0148_entry, 148u, 247u, 0x08A54F5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC05F8u) goto L_08AC05F8; AOT_REGCACHE_SYNC_OUT(); return; L_08AC05F8: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (aot_gpr_29 | 0u); aot_gpr_31 = (0x08AC0608u); - ctx.gpr[6] = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0148_entry, 148u, 180u, 0x08A54B14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0608u) goto L_08AC0608; AOT_REGCACHE_SYNC_OUT(); return; L_08AC0608: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); aot_gpr_31 = (0x08AC0614u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 430u, 0x08806E68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0614u) goto L_08AC0614; AOT_REGCACHE_SYNC_OUT(); return; L_08AC0614: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); aot_gpr_4 = (ctx.gpr[28] + static_cast(5824)); - { const bool branch_taken = aot_gpr_16 == aot_gpr_4; + { const bool branch_taken = ctx.gpr[16] == aot_gpr_4; aot_gpr_4 = (2236u << 16u); if (branch_taken) { goto L_08AC0630; @@ -2082,15 +2083,15 @@ L_08AC0614: L_08AC0624: aot_gpr_4 = (aot_gpr_4 + static_cast(25856)); aot_gpr_31 = (0x08AC0630u); - aot_gpr_5 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0630u) goto L_08AC0630; + aot_gpr_5 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0630u) goto L_08AC0630; AOT_REGCACHE_SYNC_OUT(); return; L_08AC0630: - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(8), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -2101,9 +2102,9 @@ L_08AC0630: AOT_REGCACHE_SYNC_OUT(); return; L_08AC0648: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[16], ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(8), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_31 = (0x08AC0664u); // nop ctx.pc = 0x08B73224u; @@ -2111,7 +2112,7 @@ L_08AC0648: L_08AC0664: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5868))); if (aot_gpr_4 != 0u) { - aot_gpr_17 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5868))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5868))); goto L_08AC067C; } goto L_08AC0670; @@ -2121,10 +2122,10 @@ L_08AC0670: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 452u, 0x08B65D8Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0678u) goto L_08AC0678; AOT_REGCACHE_SYNC_OUT(); return; L_08AC0678: - aot_gpr_17 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5868))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5868))); goto L_08AC067C; L_08AC067C: - if (aot_gpr_17 != 0u) { + if (ctx.gpr[17] != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5868))); goto L_08AC0690; } @@ -2143,22 +2144,22 @@ L_08AC0690: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0148_entry, 148u, 80u, 0x08A545ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0698u) goto L_08AC0698; AOT_REGCACHE_SYNC_OUT(); return; L_08AC0698: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (aot_gpr_29 | 0u); aot_gpr_31 = (0x08AC06A8u); - ctx.gpr[6] = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0148_entry, 148u, 180u, 0x08A54B14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC06A8u) goto L_08AC06A8; AOT_REGCACHE_SYNC_OUT(); return; L_08AC06A8: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); aot_gpr_31 = (0x08AC06B4u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 430u, 0x08806E68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC06B4u) goto L_08AC06B4; AOT_REGCACHE_SYNC_OUT(); return; L_08AC06B4: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); aot_gpr_4 = (ctx.gpr[28] + static_cast(5824)); - { const bool branch_taken = aot_gpr_16 == aot_gpr_4; + { const bool branch_taken = ctx.gpr[16] == aot_gpr_4; aot_gpr_4 = (2236u << 16u); if (branch_taken) { goto L_08AC06D0; @@ -2168,15 +2169,15 @@ L_08AC06B4: L_08AC06C4: aot_gpr_4 = (aot_gpr_4 + static_cast(25856)); aot_gpr_31 = (0x08AC06D0u); - aot_gpr_5 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC06D0u) goto L_08AC06D0; + aot_gpr_5 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC06D0u) goto L_08AC06D0; AOT_REGCACHE_SYNC_OUT(); return; L_08AC06D0: - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(8), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -2187,9 +2188,9 @@ L_08AC06D0: AOT_REGCACHE_SYNC_OUT(); return; L_08AC06E8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_31 = (0x08AC0700u); // nop ctx.pc = 0x08B73224u; @@ -2215,12 +2216,12 @@ L_08AC0718: aot_gpr_5 = (0u < aot_gpr_4 ? 1u : 0u); aot_gpr_5 = (aot_gpr_5 & 255u); aot_gpr_31 = (0x08AC0730u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0730u) goto L_08AC0730; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0730u) goto L_08AC0730; AOT_REGCACHE_SYNC_OUT(); return; L_08AC0730: - ctx.gpr[2] = (0u | 1u); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_2 = (0u | 1u); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -2230,11 +2231,11 @@ L_08AC0730: AOT_REGCACHE_SYNC_OUT(); return; L_08AC0744: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5868))); { const bool branch_taken = aot_gpr_5 != 0u; - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08AC0764; } @@ -2249,12 +2250,12 @@ L_08AC0764: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5868))); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(12))); aot_gpr_31 = (0x08AC0774u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0774u) goto L_08AC0774; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0774u) goto L_08AC0774; AOT_REGCACHE_SYNC_OUT(); return; L_08AC0774: - ctx.gpr[2] = (0u | 1u); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_2 = (0u | 1u); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -2264,48 +2265,48 @@ L_08AC0774: AOT_REGCACHE_SYNC_OUT(); return; L_08AC0788: jump_target = aot_gpr_31; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08AC0790: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.gpr[18] = (0u | 1u); aot_gpr_31 = (0x08AC07B4u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC07B4u) goto L_08AC07B4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880692C, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[16], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC07B4u) goto L_08AC07B4; AOT_REGCACHE_SYNC_OUT(); return; L_08AC07B4: - aot_gpr_17 = (2237u << 16u); - { const bool branch_taken = ctx.gpr[2] == 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(-28736)); + ctx.gpr[17] = (2237u << 16u); + { const bool branch_taken = aot_gpr_2 == 0u; + ctx.gpr[17] = (ctx.gpr[17] + static_cast(-28736)); if (branch_taken) { goto L_08AC07EC; } goto L_08AC07C0; } L_08AC07C0: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AC07CCu); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC07CCu) goto L_08AC07CC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC07CCu) goto L_08AC07CC; AOT_REGCACHE_SYNC_OUT(); return; L_08AC07CC: - aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_0)); + aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[0])); aot_gpr_5 = (std::bit_cast(aot_fpr_12)); aot_gpr_5 = (aot_gpr_5 & 255u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08AC07E4u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 392u, 0x08ADD720u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC07E4u) goto L_08AC07E4; AOT_REGCACHE_SYNC_OUT(); return; L_08AC07E4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08AC0808; } @@ -2313,24 +2314,24 @@ L_08AC07E4: } L_08AC07EC: aot_gpr_31 = (0x08AC07F4u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 395u, 0x08ADD768u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC07F4u) goto L_08AC07F4; AOT_REGCACHE_SYNC_OUT(); return; L_08AC07F4: - aot_fpr_12 = std::bit_cast(ctx.gpr[2]); + aot_fpr_12 = std::bit_cast(aot_gpr_2); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_gpr_31 = (0x08AC0804u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0804u) goto L_08AC0804; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0804u) goto L_08AC0804; AOT_REGCACHE_SYNC_OUT(); return; L_08AC0804: - ctx.gpr[2] = (ctx.gpr[18] | 0u); + aot_gpr_2 = (ctx.gpr[18] | 0u); goto L_08AC0808; L_08AC0808: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -2342,23 +2343,23 @@ L_08AC0808: AOT_REGCACHE_SYNC_OUT(); return; L_08AC0820: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_4 = (2237u << 16u); aot_gpr_31 = (0x08AC083Cu); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 382u, 0x08ADD6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC083Cu) goto L_08AC083C; AOT_REGCACHE_SYNC_OUT(); return; L_08AC083C: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AC0848u); - aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0848u) goto L_08AC0848; + aot_gpr_5 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0848u) goto L_08AC0848; AOT_REGCACHE_SYNC_OUT(); return; L_08AC0848: - ctx.gpr[2] = (0u | 1u); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_2 = (0u | 1u); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -2368,20 +2369,20 @@ L_08AC0848: AOT_REGCACHE_SYNC_OUT(); return; L_08AC085C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - aot_gpr_16 = (0u | 1u); + ctx.gpr[16] = (0u | 1u); aot_gpr_31 = (0x08AC0874u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0874u) goto L_08AC0874; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806AE0, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0874u) goto L_08AC0874; AOT_REGCACHE_SYNC_OUT(); return; L_08AC0874: - aot_gpr_4 = (0u < ctx.gpr[2] ? 1u : 0u); + aot_gpr_4 = (0u < aot_gpr_2 ? 1u : 0u); aot_gpr_5 = (2237u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(-28736)); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(9), static_cast(aot_gpr_4)); - ctx.gpr[2] = (aot_gpr_16 | 0u); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_2 = (ctx.gpr[16] | 0u); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -2391,17 +2392,17 @@ L_08AC0874: AOT_REGCACHE_SYNC_OUT(); return; L_08AC0898: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_4 = (2237u << 16u); aot_gpr_31 = (0x08AC08B4u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 376u, 0x08ADD684u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC08B4u) goto L_08AC08B4; AOT_REGCACHE_SYNC_OUT(); return; L_08AC08B4: - aot_fpr_12 = std::bit_cast(ctx.gpr[2]); - { const bool branch_taken = static_cast(ctx.gpr[2]) >= 0; + aot_fpr_12 = std::bit_cast(aot_gpr_2); + { const bool branch_taken = static_cast(aot_gpr_2) >= 0; aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); if (branch_taken) { goto L_08AC08CC; @@ -2415,12 +2416,12 @@ L_08AC08C0: goto L_08AC08CC; L_08AC08CC: aot_gpr_31 = (0x08AC08D4u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC08D4u) goto L_08AC08D4; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC08D4u) goto L_08AC08D4; AOT_REGCACHE_SYNC_OUT(); return; L_08AC08D4: - ctx.gpr[2] = (0u | 1u); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_2 = (0u | 1u); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -2430,17 +2431,17 @@ L_08AC08D4: AOT_REGCACHE_SYNC_OUT(); return; L_08AC08E8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_4 = (2237u << 16u); aot_gpr_31 = (0x08AC0904u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 377u, 0x08ADD68Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0904u) goto L_08AC0904; AOT_REGCACHE_SYNC_OUT(); return; L_08AC0904: - aot_fpr_12 = std::bit_cast(ctx.gpr[2]); - { const bool branch_taken = static_cast(ctx.gpr[2]) >= 0; + aot_fpr_12 = std::bit_cast(aot_gpr_2); + { const bool branch_taken = static_cast(aot_gpr_2) >= 0; aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); if (branch_taken) { goto L_08AC091C; @@ -2454,12 +2455,12 @@ L_08AC0910: goto L_08AC091C; L_08AC091C: aot_gpr_31 = (0x08AC0924u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0924u) goto L_08AC0924; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0924u) goto L_08AC0924; AOT_REGCACHE_SYNC_OUT(); return; L_08AC0924: - ctx.gpr[2] = (0u | 1u); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_2 = (0u | 1u); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -2469,22 +2470,22 @@ L_08AC0924: AOT_REGCACHE_SYNC_OUT(); return; L_08AC0938: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - { const std::uint32_t aot_run_words[5]{std::bit_cast(aot_fpr_20), aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[5]{std::bit_cast(ctx.fpr[20]), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.gpr[18] = (0u | 1u); aot_gpr_31 = (0x08AC0960u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0960u) goto L_08AC0960; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0960u) goto L_08AC0960; AOT_REGCACHE_SYNC_OUT(); return; L_08AC0960: - aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_0)); + aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[0])); aot_gpr_4 = (20224u << 16u); - aot_fpr_20 = std::bit_cast(aot_gpr_4); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_20)) ? 0x00800000u : 0u); + ctx.fpr[20] = std::bit_cast(aot_gpr_4); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[20])) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); - aot_gpr_17 = (2237u << 16u); + ctx.gpr[17] = (2237u << 16u); if (branch_taken) { goto L_08AC0988; } @@ -2500,27 +2501,27 @@ L_08AC097C: goto L_08AC0988; } L_08AC0988: - aot_fpr_12 = aot_fpr_12 - aot_fpr_20; + aot_fpr_12 = aot_fpr_12 - ctx.fpr[20]; aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); aot_gpr_5 = (32768u << 16u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); goto L_08AC099C; L_08AC099C: - aot_gpr_5 = (aot_gpr_16 | 0u); - aot_gpr_16 = (aot_gpr_17 + static_cast(-28736)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(32), aot_gpr_4); + aot_gpr_5 = (ctx.gpr[16] | 0u); + ctx.gpr[16] = (ctx.gpr[17] + static_cast(-28736)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(32), aot_gpr_4); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x08AC09B4u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC09B4u) goto L_08AC09B4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC09B4u) goto L_08AC09B4; AOT_REGCACHE_SYNC_OUT(); return; L_08AC09B4: - aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_0)); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_20)) ? 0x00800000u : 0u); + aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[0])); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[20])) ? 0x00800000u : 0u); // nop if (!((ctx.fcr31 & 0x00800000u) != 0u)) { - aot_fpr_12 = aot_fpr_12 - aot_fpr_20; + aot_fpr_12 = aot_fpr_12 - ctx.fpr[20]; goto L_08AC09D4; } goto L_08AC09C8; @@ -2542,22 +2543,22 @@ L_08AC09D4: L_08AC09E4: aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_31 = (0x08AC09F0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 378u, 0x08ADD694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC09F0u) goto L_08AC09F0; AOT_REGCACHE_SYNC_OUT(); return; L_08AC09F0: - aot_gpr_4 = (aot_gpr_17 + static_cast(-28736)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(-28736)); aot_gpr_31 = (0x08AC09FCu); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 379u, 0x08ADD69Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC09FCu) goto L_08AC09FC; AOT_REGCACHE_SYNC_OUT(); return; L_08AC09FC: - ctx.gpr[2] = (ctx.gpr[18] | 0u); + aot_gpr_2 = (ctx.gpr[18] | 0u); { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_fpr_20 = std::bit_cast(aot_run_words[0]); - aot_gpr_16 = aot_run_words[1]; - aot_gpr_17 = aot_run_words[2]; + ctx.fpr[20] = std::bit_cast(aot_run_words[0]); + ctx.gpr[16] = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; } @@ -2569,17 +2570,17 @@ L_08AC09FC: AOT_REGCACHE_SYNC_OUT(); return; L_08AC0A1C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_4 = (2237u << 16u); aot_gpr_31 = (0x08AC0A38u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 377u, 0x08ADD68Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0A38u) goto L_08AC0A38; AOT_REGCACHE_SYNC_OUT(); return; L_08AC0A38: - aot_fpr_12 = std::bit_cast(ctx.gpr[2]); - { const bool branch_taken = static_cast(ctx.gpr[2]) >= 0; + aot_fpr_12 = std::bit_cast(aot_gpr_2); + { const bool branch_taken = static_cast(aot_gpr_2) >= 0; aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); if (branch_taken) { goto L_08AC0A50; @@ -2593,12 +2594,12 @@ L_08AC0A44: goto L_08AC0A50; L_08AC0A50: aot_gpr_31 = (0x08AC0A58u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0A58u) goto L_08AC0A58; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0A58u) goto L_08AC0A58; AOT_REGCACHE_SYNC_OUT(); return; L_08AC0A58: - ctx.gpr[2] = (0u | 1u); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_2 = (0u | 1u); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -2608,31 +2609,31 @@ L_08AC0A58: AOT_REGCACHE_SYNC_OUT(); return; L_08AC0A6C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - aot_gpr_17 = (aot_gpr_4 | 0u); + ctx.gpr[17] = (aot_gpr_4 | 0u); ctx.gpr[18] = (0u | 1u); aot_gpr_31 = (0x08AC0A90u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0A90u) goto L_08AC0A90; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880692C, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[16], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0A90u) goto L_08AC0A90; AOT_REGCACHE_SYNC_OUT(); return; L_08AC0A90: - aot_gpr_16 = (2237u << 16u); - { const bool branch_taken = ctx.gpr[2] == 0u; - aot_gpr_16 = (aot_gpr_16 + static_cast(-28736)); + ctx.gpr[16] = (2237u << 16u); + { const bool branch_taken = aot_gpr_2 == 0u; + ctx.gpr[16] = (ctx.gpr[16] + static_cast(-28736)); if (branch_taken) { goto L_08AC0AF4; } goto L_08AC0A9C; } L_08AC0A9C: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08AC0AA8u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0AA8u) goto L_08AC0AA8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0AA8u) goto L_08AC0AA8; AOT_REGCACHE_SYNC_OUT(); return; L_08AC0AA8: - aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_0)); + aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[0])); aot_gpr_4 = (20224u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 < aot_fpr_12)) ? 0x00800000u : 0u); @@ -2660,12 +2661,12 @@ L_08AC0AD0: L_08AC0AE0: aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_31 = (0x08AC0AECu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 136u, 0x08ADC72Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0AECu) goto L_08AC0AEC; AOT_REGCACHE_SYNC_OUT(); return; L_08AC0AEC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08AC0B20; } @@ -2673,12 +2674,12 @@ L_08AC0AEC: } L_08AC0AF4: aot_gpr_31 = (0x08AC0AFCu); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0AFCu) goto L_08AC0AFC; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC734, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0AFCu) goto L_08AC0AFC; AOT_REGCACHE_SYNC_OUT(); return; L_08AC0AFC: - aot_fpr_12 = std::bit_cast(ctx.gpr[2]); - { const bool branch_taken = static_cast(ctx.gpr[2]) >= 0; + aot_fpr_12 = std::bit_cast(aot_gpr_2); + { const bool branch_taken = static_cast(aot_gpr_2) >= 0; aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); if (branch_taken) { goto L_08AC0B14; @@ -2692,17 +2693,17 @@ L_08AC0B08: goto L_08AC0B14; L_08AC0B14: aot_gpr_31 = (0x08AC0B1Cu); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0B1Cu) goto L_08AC0B1C; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0B1Cu) goto L_08AC0B1C; AOT_REGCACHE_SYNC_OUT(); return; L_08AC0B1C: - ctx.gpr[2] = (ctx.gpr[18] | 0u); + aot_gpr_2 = (ctx.gpr[18] | 0u); goto L_08AC0B20; L_08AC0B20: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -2714,31 +2715,31 @@ L_08AC0B20: AOT_REGCACHE_SYNC_OUT(); return; L_08AC0B38: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - aot_gpr_17 = (aot_gpr_4 | 0u); + ctx.gpr[17] = (aot_gpr_4 | 0u); ctx.gpr[18] = (0u | 1u); aot_gpr_31 = (0x08AC0B5Cu); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0B5Cu) goto L_08AC0B5C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880692C, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[16], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0B5Cu) goto L_08AC0B5C; AOT_REGCACHE_SYNC_OUT(); return; L_08AC0B5C: - aot_gpr_16 = (2237u << 16u); - { const bool branch_taken = ctx.gpr[2] == 0u; - aot_gpr_16 = (aot_gpr_16 + static_cast(-28736)); + ctx.gpr[16] = (2237u << 16u); + { const bool branch_taken = aot_gpr_2 == 0u; + ctx.gpr[16] = (ctx.gpr[16] + static_cast(-28736)); if (branch_taken) { goto L_08AC0BC0; } goto L_08AC0B68; } L_08AC0B68: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08AC0B74u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0B74u) goto L_08AC0B74; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0B74u) goto L_08AC0B74; AOT_REGCACHE_SYNC_OUT(); return; L_08AC0B74: - aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_0)); + aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[0])); aot_gpr_4 = (20224u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 < aot_fpr_12)) ? 0x00800000u : 0u); @@ -2766,12 +2767,12 @@ L_08AC0B9C: L_08AC0BAC: aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_31 = (0x08AC0BB8u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 138u, 0x08ADC73Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0BB8u) goto L_08AC0BB8; AOT_REGCACHE_SYNC_OUT(); return; L_08AC0BB8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08AC0BEC; } @@ -2779,12 +2780,12 @@ L_08AC0BB8: } L_08AC0BC0: aot_gpr_31 = (0x08AC0BC8u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0BC8u) goto L_08AC0BC8; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC754, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0BC8u) goto L_08AC0BC8; AOT_REGCACHE_SYNC_OUT(); return; L_08AC0BC8: - aot_fpr_12 = std::bit_cast(ctx.gpr[2]); - { const bool branch_taken = static_cast(ctx.gpr[2]) >= 0; + aot_fpr_12 = std::bit_cast(aot_gpr_2); + { const bool branch_taken = static_cast(aot_gpr_2) >= 0; aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); if (branch_taken) { goto L_08AC0BE0; @@ -2798,17 +2799,17 @@ L_08AC0BD4: goto L_08AC0BE0; L_08AC0BE0: aot_gpr_31 = (0x08AC0BE8u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0BE8u) goto L_08AC0BE8; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0BE8u) goto L_08AC0BE8; AOT_REGCACHE_SYNC_OUT(); return; L_08AC0BE8: - ctx.gpr[2] = (ctx.gpr[18] | 0u); + aot_gpr_2 = (ctx.gpr[18] | 0u); goto L_08AC0BEC; L_08AC0BEC: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -2820,19 +2821,19 @@ L_08AC0BEC: AOT_REGCACHE_SYNC_OUT(); return; L_08AC0C04: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - { const std::uint32_t aot_run_words[5]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; + { const std::uint32_t aot_run_words[5]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.gpr[19] = (0u | 1u); aot_gpr_31 = (0x08AC0C2Cu); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0C2Cu) goto L_08AC0C2C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880692C, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[16], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0C2Cu) goto L_08AC0C2C; AOT_REGCACHE_SYNC_OUT(); return; L_08AC0C2C: ctx.gpr[18] = (2237u << 16u); ctx.gpr[18] = (ctx.gpr[18] + static_cast(-28736)); - { const bool branch_taken = ctx.gpr[2] == 0u; - aot_gpr_17 = (0u | 3u); + { const bool branch_taken = aot_gpr_2 == 0u; + ctx.gpr[17] = (0u | 3u); if (branch_taken) { goto L_08AC0CCC; } @@ -2841,10 +2842,10 @@ L_08AC0C2C: L_08AC0C3C: aot_gpr_31 = (0x08AC0C44u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0C44u) goto L_08AC0C44; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC734, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0C44u) goto L_08AC0C44; AOT_REGCACHE_SYNC_OUT(); return; L_08AC0C44: - { const bool branch_taken = ctx.gpr[2] != aot_gpr_17; + { const bool branch_taken = aot_gpr_2 != ctx.gpr[17]; // nop if (branch_taken) { goto L_08AC0C70; @@ -2852,13 +2853,13 @@ L_08AC0C44: goto L_08AC0C4C; } L_08AC0C4C: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AC0C58u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0C58u) goto L_08AC0C58; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0C58u) goto L_08AC0C58; AOT_REGCACHE_SYNC_OUT(); return; L_08AC0C58: - aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_0)); + aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[0])); aot_gpr_5 = (std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08AC0C68u); aot_gpr_4 = (ctx.gpr[18] | 0u); @@ -2875,11 +2876,11 @@ L_08AC0C68: L_08AC0C70: aot_gpr_31 = (0x08AC0C78u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0C78u) goto L_08AC0C78; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC734, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0C78u) goto L_08AC0C78; AOT_REGCACHE_SYNC_OUT(); return; L_08AC0C78: aot_gpr_4 = (0u | 6u); - { const bool branch_taken = ctx.gpr[2] != aot_gpr_4; + { const bool branch_taken = aot_gpr_2 != aot_gpr_4; // nop if (branch_taken) { goto L_08AC0CA8; @@ -2887,13 +2888,13 @@ L_08AC0C78: goto L_08AC0C84; } L_08AC0C84: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AC0C90u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0C90u) goto L_08AC0C90; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0C90u) goto L_08AC0C90; AOT_REGCACHE_SYNC_OUT(); return; L_08AC0C90: - aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_0)); + aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[0])); aot_gpr_5 = (std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08AC0CA0u); aot_gpr_4 = (ctx.gpr[18] | 0u); @@ -2908,13 +2909,13 @@ L_08AC0CA0: goto L_08AC0CA8; } L_08AC0CA8: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AC0CB4u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0CB4u) goto L_08AC0CB4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0CB4u) goto L_08AC0CB4; AOT_REGCACHE_SYNC_OUT(); return; L_08AC0CB4: - aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_0)); + aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[0])); aot_gpr_5 = (std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08AC0CC4u); aot_gpr_4 = (ctx.gpr[18] | 0u); @@ -2922,7 +2923,7 @@ L_08AC0CB4: AOT_REGCACHE_SYNC_OUT(); return; L_08AC0CC4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08AC0D4C; } @@ -2931,10 +2932,10 @@ L_08AC0CC4: L_08AC0CCC: aot_gpr_31 = (0x08AC0CD4u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0CD4u) goto L_08AC0CD4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC734, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0CD4u) goto L_08AC0CD4; AOT_REGCACHE_SYNC_OUT(); return; L_08AC0CD4: - { const bool branch_taken = ctx.gpr[2] != aot_gpr_17; + { const bool branch_taken = aot_gpr_2 != ctx.gpr[17]; // nop if (branch_taken) { goto L_08AC0CFC; @@ -2944,14 +2945,14 @@ L_08AC0CD4: L_08AC0CDC: aot_gpr_31 = (0x08AC0CE4u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0CE4u) goto L_08AC0CE4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC784, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0CE4u) goto L_08AC0CE4; AOT_REGCACHE_SYNC_OUT(); return; L_08AC0CE4: - aot_fpr_12 = std::bit_cast(ctx.gpr[2]); + aot_fpr_12 = std::bit_cast(aot_gpr_2); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_gpr_31 = (0x08AC0CF4u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0CF4u) goto L_08AC0CF4; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0CF4u) goto L_08AC0CF4; AOT_REGCACHE_SYNC_OUT(); return; L_08AC0CF4: { const bool branch_taken = 0u == 0u; @@ -2964,11 +2965,11 @@ L_08AC0CF4: L_08AC0CFC: aot_gpr_31 = (0x08AC0D04u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0D04u) goto L_08AC0D04; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC734, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0D04u) goto L_08AC0D04; AOT_REGCACHE_SYNC_OUT(); return; L_08AC0D04: aot_gpr_4 = (0u | 6u); - { const bool branch_taken = ctx.gpr[2] != aot_gpr_4; + { const bool branch_taken = aot_gpr_2 != aot_gpr_4; // nop if (branch_taken) { goto L_08AC0D30; @@ -2981,11 +2982,11 @@ L_08AC0D10: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 149u, 0x08ADC794u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0D18u) goto L_08AC0D18; AOT_REGCACHE_SYNC_OUT(); return; L_08AC0D18: - aot_fpr_12 = std::bit_cast(ctx.gpr[2]); + aot_fpr_12 = std::bit_cast(aot_gpr_2); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_gpr_31 = (0x08AC0D28u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0D28u) goto L_08AC0D28; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0D28u) goto L_08AC0D28; AOT_REGCACHE_SYNC_OUT(); return; L_08AC0D28: { const bool branch_taken = 0u == 0u; @@ -3001,20 +3002,20 @@ L_08AC0D30: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 143u, 0x08ADC764u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0D38u) goto L_08AC0D38; AOT_REGCACHE_SYNC_OUT(); return; L_08AC0D38: - aot_fpr_12 = std::bit_cast(ctx.gpr[2]); + aot_fpr_12 = std::bit_cast(aot_gpr_2); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_gpr_31 = (0x08AC0D48u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0D48u) goto L_08AC0D48; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0D48u) goto L_08AC0D48; AOT_REGCACHE_SYNC_OUT(); return; L_08AC0D48: - ctx.gpr[2] = (ctx.gpr[19] | 0u); + aot_gpr_2 = (ctx.gpr[19] | 0u); goto L_08AC0D4C; L_08AC0D4C: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; @@ -3027,39 +3028,39 @@ L_08AC0D4C: AOT_REGCACHE_SYNC_OUT(); return; L_08AC0D68: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.gpr[18] = (0u | 1u); aot_gpr_31 = (0x08AC0D8Cu); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0D8Cu) goto L_08AC0D8C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880692C, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[16], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0D8Cu) goto L_08AC0D8C; AOT_REGCACHE_SYNC_OUT(); return; L_08AC0D8C: - aot_gpr_17 = (2237u << 16u); - { const bool branch_taken = ctx.gpr[2] == 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(-28736)); + ctx.gpr[17] = (2237u << 16u); + { const bool branch_taken = aot_gpr_2 == 0u; + ctx.gpr[17] = (ctx.gpr[17] + static_cast(-28736)); if (branch_taken) { goto L_08AC0DBC; } goto L_08AC0D98; } L_08AC0D98: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AC0DA4u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0DA4u) goto L_08AC0DA4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0DA4u) goto L_08AC0DA4; AOT_REGCACHE_SYNC_OUT(); return; L_08AC0DA4: - aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_0)); + aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[0])); aot_gpr_5 = (std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08AC0DB4u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 144u, 0x08ADC76Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0DB4u) goto L_08AC0DB4; AOT_REGCACHE_SYNC_OUT(); return; L_08AC0DB4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08AC0DD8; } @@ -3067,24 +3068,24 @@ L_08AC0DB4: } L_08AC0DBC: aot_gpr_31 = (0x08AC0DC4u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 145u, 0x08ADC774u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0DC4u) goto L_08AC0DC4; AOT_REGCACHE_SYNC_OUT(); return; L_08AC0DC4: - aot_fpr_12 = std::bit_cast(ctx.gpr[2]); + aot_fpr_12 = std::bit_cast(aot_gpr_2); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_gpr_31 = (0x08AC0DD4u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0DD4u) goto L_08AC0DD4; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0DD4u) goto L_08AC0DD4; AOT_REGCACHE_SYNC_OUT(); return; L_08AC0DD4: - ctx.gpr[2] = (ctx.gpr[18] | 0u); + aot_gpr_2 = (ctx.gpr[18] | 0u); goto L_08AC0DD8; L_08AC0DD8: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -3096,31 +3097,31 @@ L_08AC0DD8: AOT_REGCACHE_SYNC_OUT(); return; L_08AC0DF0: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - aot_gpr_17 = (aot_gpr_4 | 0u); + ctx.gpr[17] = (aot_gpr_4 | 0u); ctx.gpr[18] = (0u | 1u); aot_gpr_31 = (0x08AC0E14u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0E14u) goto L_08AC0E14; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880692C, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[16], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0E14u) goto L_08AC0E14; AOT_REGCACHE_SYNC_OUT(); return; L_08AC0E14: - aot_gpr_16 = (2237u << 16u); - { const bool branch_taken = ctx.gpr[2] == 0u; - aot_gpr_16 = (aot_gpr_16 + static_cast(-28736)); + ctx.gpr[16] = (2237u << 16u); + { const bool branch_taken = aot_gpr_2 == 0u; + ctx.gpr[16] = (ctx.gpr[16] + static_cast(-28736)); if (branch_taken) { goto L_08AC0E78; } goto L_08AC0E20; } L_08AC0E20: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08AC0E2Cu); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0E2Cu) goto L_08AC0E2C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0E2Cu) goto L_08AC0E2C; AOT_REGCACHE_SYNC_OUT(); return; L_08AC0E2C: - aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_0)); + aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[0])); aot_gpr_4 = (20224u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 < aot_fpr_12)) ? 0x00800000u : 0u); @@ -3148,12 +3149,12 @@ L_08AC0E54: L_08AC0E64: aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_31 = (0x08AC0E70u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 380u, 0x08ADD6A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0E70u) goto L_08AC0E70; AOT_REGCACHE_SYNC_OUT(); return; L_08AC0E70: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08AC0EA4; } @@ -3161,12 +3162,12 @@ L_08AC0E70: } L_08AC0E78: aot_gpr_31 = (0x08AC0E80u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 381u, 0x08ADD6ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0E80u) goto L_08AC0E80; AOT_REGCACHE_SYNC_OUT(); return; L_08AC0E80: - aot_fpr_12 = std::bit_cast(ctx.gpr[2]); - { const bool branch_taken = static_cast(ctx.gpr[2]) >= 0; + aot_fpr_12 = std::bit_cast(aot_gpr_2); + { const bool branch_taken = static_cast(aot_gpr_2) >= 0; aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); if (branch_taken) { goto L_08AC0E98; @@ -3180,17 +3181,17 @@ L_08AC0E8C: goto L_08AC0E98; L_08AC0E98: aot_gpr_31 = (0x08AC0EA0u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0EA0u) goto L_08AC0EA0; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0EA0u) goto L_08AC0EA0; AOT_REGCACHE_SYNC_OUT(); return; L_08AC0EA0: - ctx.gpr[2] = (ctx.gpr[18] | 0u); + aot_gpr_2 = (ctx.gpr[18] | 0u); goto L_08AC0EA4; L_08AC0EA4: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -3202,41 +3203,41 @@ L_08AC0EA4: AOT_REGCACHE_SYNC_OUT(); return; L_08AC0EBC: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.gpr[18] = (0u | 1u); aot_gpr_31 = (0x08AC0EE0u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0EE0u) goto L_08AC0EE0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806888, 0u, 324u, 0x08806888u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0EE0u) goto L_08AC0EE0; AOT_REGCACHE_SYNC_OUT(); return; L_08AC0EE0: - aot_gpr_17 = (2237u << 16u); - { const bool branch_taken = ctx.gpr[2] != ctx.gpr[18]; - aot_gpr_17 = (aot_gpr_17 + static_cast(-28736)); + ctx.gpr[17] = (2237u << 16u); + { const bool branch_taken = aot_gpr_2 != ctx.gpr[18]; + ctx.gpr[17] = (ctx.gpr[17] + static_cast(-28736)); if (branch_taken) { goto L_08AC0F20; } goto L_08AC0EEC; } L_08AC0EEC: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AC0EF8u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0EF8u) goto L_08AC0EF8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806AE0, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0EF8u) goto L_08AC0EF8; AOT_REGCACHE_SYNC_OUT(); return; L_08AC0EF8: - { const bool branch_taken = ctx.gpr[2] == 0u; - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(48))); + { const bool branch_taken = aot_gpr_2 == 0u; + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(48))); if (branch_taken) { goto L_08AC0F0C; } goto L_08AC0F00; } L_08AC0F00: - aot_gpr_4 = (aot_gpr_16 | 2u); + aot_gpr_4 = (ctx.gpr[16] | 2u); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(48), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(48), aot_gpr_4); if (branch_taken) { goto L_08AC0F18; } @@ -3244,34 +3245,34 @@ L_08AC0F00: } L_08AC0F0C: aot_gpr_4 = (0u + static_cast(-3)); - aot_gpr_4 = (aot_gpr_16 & aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(48), aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] & aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(48), aot_gpr_4); goto L_08AC0F18; L_08AC0F18: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08AC0F3C; } goto L_08AC0F20; } L_08AC0F20: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(48))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(48))); aot_gpr_4 = (aot_gpr_4 & 2u); aot_gpr_5 = (0u < aot_gpr_4 ? 1u : 0u); aot_gpr_5 = (aot_gpr_5 & 255u); aot_gpr_31 = (0x08AC0F38u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0F38u) goto L_08AC0F38; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0F38u) goto L_08AC0F38; AOT_REGCACHE_SYNC_OUT(); return; L_08AC0F38: - ctx.gpr[2] = (ctx.gpr[18] | 0u); + aot_gpr_2 = (ctx.gpr[18] | 0u); goto L_08AC0F3C; L_08AC0F3C: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -3287,7 +3288,7 @@ L_08AC0F54: aot_gpr_5 = (aot_gpr_5 + static_cast(-28736)); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(128), static_cast(aot_gpr_4)); jump_target = aot_gpr_31; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -3300,10 +3301,10 @@ L_08AC0F6C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(48))); aot_gpr_31 = (0x08AC0F88u); aot_gpr_5 = (aot_gpr_5 & 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0F88u) goto L_08AC0F88; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0F88u) goto L_08AC0F88; AOT_REGCACHE_SYNC_OUT(); return; L_08AC0F88: - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -3321,10 +3322,10 @@ L_08AC0F98: aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); aot_gpr_31 = (0x08AC0FBCu); aot_gpr_5 = (aot_gpr_5 & 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0FBCu) goto L_08AC0FBC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0FBCu) goto L_08AC0FBC; AOT_REGCACHE_SYNC_OUT(); return; L_08AC0FBC: - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -3342,10 +3343,10 @@ L_08AC0FCC: aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); aot_gpr_31 = (0x08AC0FF0u); aot_gpr_5 = (aot_gpr_5 & 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0FF0u) goto L_08AC0FF0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC0FF0u) goto L_08AC0FF0; AOT_REGCACHE_SYNC_OUT(); return; L_08AC0FF0: - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -3355,56 +3356,56 @@ L_08AC0FF0: AOT_REGCACHE_SYNC_OUT(); return; L_08AC1000: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.gpr[18] = (0u | 1u); aot_gpr_31 = (0x08AC1024u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC1024u) goto L_08AC1024; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880692C, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[16], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC1024u) goto L_08AC1024; AOT_REGCACHE_SYNC_OUT(); return; L_08AC1024: - aot_gpr_17 = (2237u << 16u); - { const bool branch_taken = ctx.gpr[2] == 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(-28736)); + ctx.gpr[17] = (2237u << 16u); + { const bool branch_taken = aot_gpr_2 == 0u; + ctx.gpr[17] = (ctx.gpr[17] + static_cast(-28736)); if (branch_taken) { goto L_08AC1050; } goto L_08AC1030; } L_08AC1030: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AC103Cu); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC103Cu) goto L_08AC103C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC103Cu) goto L_08AC103C; AOT_REGCACHE_SYNC_OUT(); return; L_08AC103C: - aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_0)); + aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[0])); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(52), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(52), static_cast(aot_gpr_4)); { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08AC1068; } goto L_08AC1050; } L_08AC1050: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(52))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(52))); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_gpr_31 = (0x08AC1064u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC1064u) goto L_08AC1064; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC1064u) goto L_08AC1064; AOT_REGCACHE_SYNC_OUT(); return; L_08AC1064: - ctx.gpr[2] = (ctx.gpr[18] | 0u); + aot_gpr_2 = (ctx.gpr[18] | 0u); goto L_08AC1068; L_08AC1068: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -3416,19 +3417,19 @@ L_08AC1068: AOT_REGCACHE_SYNC_OUT(); return; L_08AC1080: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - { const std::uint32_t aot_run_words[5]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; + { const std::uint32_t aot_run_words[5]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.gpr[19] = (0u | 0u); ctx.gpr[18] = (2237u << 16u); ctx.gpr[18] = (ctx.gpr[18] + static_cast(-28736)); aot_gpr_31 = (0x08AC10B0u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC10B0u) goto L_08AC10B0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC734, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC10B0u) goto L_08AC10B0; AOT_REGCACHE_SYNC_OUT(); return; L_08AC10B0: - aot_gpr_17 = (0u | 1u); - { const bool branch_taken = ctx.gpr[2] != aot_gpr_17; + ctx.gpr[17] = (0u | 1u); + { const bool branch_taken = aot_gpr_2 != ctx.gpr[17]; aot_gpr_4 = (ctx.gpr[19] & 255u); if (branch_taken) { goto L_08AC10D8; @@ -3438,11 +3439,11 @@ L_08AC10B0: L_08AC10BC: aot_gpr_31 = (0x08AC10C4u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC10C4u) goto L_08AC10C4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC784, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC10C4u) goto L_08AC10C4; AOT_REGCACHE_SYNC_OUT(); return; L_08AC10C4: aot_gpr_4 = (0u | 2u); - { const bool branch_taken = ctx.gpr[2] != aot_gpr_4; + { const bool branch_taken = aot_gpr_2 != aot_gpr_4; aot_gpr_4 = (ctx.gpr[19] & 255u); if (branch_taken) { goto L_08AC10D8; @@ -3450,7 +3451,7 @@ L_08AC10C4: goto L_08AC10D0; } L_08AC10D0: - ctx.gpr[19] = (aot_gpr_17 | 0u); + ctx.gpr[19] = (ctx.gpr[17] | 0u); aot_gpr_4 = (ctx.gpr[19] & 255u); goto L_08AC10D8; L_08AC10D8: @@ -3465,8 +3466,8 @@ L_08AC10E0: aot_gpr_4 = (17257u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_31 = (0x08AC10F0u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC10F0u) goto L_08AC10F0; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC10F0u) goto L_08AC10F0; AOT_REGCACHE_SYNC_OUT(); return; L_08AC10F0: { const bool branch_taken = 0u == 0u; @@ -3481,15 +3482,15 @@ L_08AC10F8: aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_gpr_31 = (0x08AC110Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC110Cu) goto L_08AC110C; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC110Cu) goto L_08AC110C; AOT_REGCACHE_SYNC_OUT(); return; L_08AC110C: - ctx.gpr[2] = (aot_gpr_17 | 0u); + aot_gpr_2 = (ctx.gpr[17] | 0u); { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; @@ -3502,19 +3503,19 @@ L_08AC110C: AOT_REGCACHE_SYNC_OUT(); return; L_08AC112C: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - { const std::uint32_t aot_run_words[5]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; + { const std::uint32_t aot_run_words[5]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.gpr[19] = (0u | 0u); ctx.gpr[18] = (2237u << 16u); ctx.gpr[18] = (ctx.gpr[18] + static_cast(-28736)); aot_gpr_31 = (0x08AC115Cu); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC115Cu) goto L_08AC115C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC734, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC115Cu) goto L_08AC115C; AOT_REGCACHE_SYNC_OUT(); return; L_08AC115C: - aot_gpr_17 = (0u | 1u); - { const bool branch_taken = ctx.gpr[2] != aot_gpr_17; + ctx.gpr[17] = (0u | 1u); + { const bool branch_taken = aot_gpr_2 != ctx.gpr[17]; aot_gpr_5 = (ctx.gpr[19] & 255u); if (branch_taken) { goto L_08AC1180; @@ -3524,10 +3525,10 @@ L_08AC115C: L_08AC1168: aot_gpr_31 = (0x08AC1170u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC1170u) goto L_08AC1170; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC784, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC1170u) goto L_08AC1170; AOT_REGCACHE_SYNC_OUT(); return; L_08AC1170: - { const bool branch_taken = ctx.gpr[2] != aot_gpr_17; + { const bool branch_taken = aot_gpr_2 != ctx.gpr[17]; aot_gpr_5 = (ctx.gpr[19] & 255u); if (branch_taken) { goto L_08AC1180; @@ -3535,20 +3536,20 @@ L_08AC1170: goto L_08AC1178; } L_08AC1178: - ctx.gpr[19] = (aot_gpr_17 | 0u); + ctx.gpr[19] = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[19] & 255u); goto L_08AC1180; L_08AC1180: aot_gpr_31 = (0x08AC1188u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC1188u) goto L_08AC1188; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC1188u) goto L_08AC1188; AOT_REGCACHE_SYNC_OUT(); return; L_08AC1188: - ctx.gpr[2] = (aot_gpr_17 | 0u); + aot_gpr_2 = (ctx.gpr[17] | 0u); { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; @@ -3561,19 +3562,19 @@ L_08AC1188: AOT_REGCACHE_SYNC_OUT(); return; L_08AC11A8: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - { const std::uint32_t aot_run_words[5]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; + { const std::uint32_t aot_run_words[5]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.gpr[19] = (0u | 0u); ctx.gpr[18] = (2237u << 16u); ctx.gpr[18] = (ctx.gpr[18] + static_cast(-28736)); aot_gpr_31 = (0x08AC11D8u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC11D8u) goto L_08AC11D8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC734, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC11D8u) goto L_08AC11D8; AOT_REGCACHE_SYNC_OUT(); return; L_08AC11D8: - aot_gpr_17 = (0u | 1u); - { const bool branch_taken = ctx.gpr[2] != aot_gpr_17; + ctx.gpr[17] = (0u | 1u); + { const bool branch_taken = aot_gpr_2 != ctx.gpr[17]; aot_gpr_5 = (ctx.gpr[19] & 255u); if (branch_taken) { goto L_08AC1200; @@ -3583,11 +3584,11 @@ L_08AC11D8: L_08AC11E4: aot_gpr_31 = (0x08AC11ECu); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC11ECu) goto L_08AC11EC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC784, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC11ECu) goto L_08AC11EC; AOT_REGCACHE_SYNC_OUT(); return; L_08AC11EC: aot_gpr_4 = (0u | 2u); - { const bool branch_taken = ctx.gpr[2] != aot_gpr_4; + { const bool branch_taken = aot_gpr_2 != aot_gpr_4; aot_gpr_5 = (ctx.gpr[19] & 255u); if (branch_taken) { goto L_08AC1200; @@ -3595,20 +3596,20 @@ L_08AC11EC: goto L_08AC11F8; } L_08AC11F8: - ctx.gpr[19] = (aot_gpr_17 | 0u); + ctx.gpr[19] = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[19] & 255u); goto L_08AC1200; L_08AC1200: aot_gpr_31 = (0x08AC1208u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC1208u) goto L_08AC1208; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC1208u) goto L_08AC1208; AOT_REGCACHE_SYNC_OUT(); return; L_08AC1208: - ctx.gpr[2] = (aot_gpr_17 | 0u); + aot_gpr_2 = (ctx.gpr[17] | 0u); { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; @@ -3625,10 +3626,10 @@ L_08AC1228: aot_gpr_5 = (16256u << 16u); aot_gpr_31 = (0x08AC123Cu); aot_fpr_12 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC123Cu) goto L_08AC123C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC123Cu) goto L_08AC123C; AOT_REGCACHE_SYNC_OUT(); return; L_08AC123C: - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -3645,10 +3646,10 @@ L_08AC124C: aot_fpr_12 = std::bit_cast(aot_gpr_5); aot_gpr_31 = (0x08AC126Cu); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC126Cu) goto L_08AC126C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC126Cu) goto L_08AC126C; AOT_REGCACHE_SYNC_OUT(); return; L_08AC126C: - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -3663,10 +3664,10 @@ L_08AC127C: aot_gpr_5 = (aot_gpr_5 | 32768u); aot_gpr_31 = (0x08AC1294u); aot_fpr_12 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC1294u) goto L_08AC1294; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC1294u) goto L_08AC1294; AOT_REGCACHE_SYNC_OUT(); return; L_08AC1294: - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -3676,23 +3677,23 @@ L_08AC1294: AOT_REGCACHE_SYNC_OUT(); return; L_08AC12A4: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_4 = (2237u << 16u); aot_gpr_31 = (0x08AC12C0u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 135u, 0x08ADC724u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC12C0u) goto L_08AC12C0; AOT_REGCACHE_SYNC_OUT(); return; L_08AC12C0: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AC12CCu); - aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC12CCu) goto L_08AC12CC; + aot_gpr_5 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC12CCu) goto L_08AC12CC; AOT_REGCACHE_SYNC_OUT(); return; L_08AC12CC: - ctx.gpr[2] = (0u | 1u); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_2 = (0u | 1u); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -3702,19 +3703,19 @@ L_08AC12CC: AOT_REGCACHE_SYNC_OUT(); return; L_08AC12E0: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_4 = (2237u << 16u); ctx.gpr[18] = (aot_gpr_4 + static_cast(-28736)); - aot_gpr_17 = (0u | 1u); - aot_gpr_4 = (aot_gpr_16 | 0u); + ctx.gpr[17] = (0u | 1u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AC1310u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC1310u) goto L_08AC1310; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC1310u) goto L_08AC1310; AOT_REGCACHE_SYNC_OUT(); return; L_08AC1310: - aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_0)); + aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[0])); aot_gpr_5 = (std::bit_cast(aot_fpr_12)); aot_gpr_5 = (aot_gpr_5 & 65535u); aot_gpr_31 = (0x08AC1324u); @@ -3722,12 +3723,12 @@ L_08AC1310: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 154u, 0x08ADC7BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC1324u) goto L_08AC1324; AOT_REGCACHE_SYNC_OUT(); return; L_08AC1324: - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(0))); aot_gpr_4 = (aot_gpr_4 << 16u); - aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(1))); + aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(1))); aot_gpr_5 = (aot_gpr_5 << 8u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); - aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(2))); + aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(2))); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_fpr_12 = std::bit_cast(aot_gpr_4); { const bool branch_taken = static_cast(aot_gpr_4) >= 0; @@ -3744,15 +3745,15 @@ L_08AC134C: goto L_08AC1358; L_08AC1358: aot_gpr_31 = (0x08AC1360u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC1360u) goto L_08AC1360; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC1360u) goto L_08AC1360; AOT_REGCACHE_SYNC_OUT(); return; L_08AC1360: - ctx.gpr[2] = (aot_gpr_17 | 0u); + aot_gpr_2 = (ctx.gpr[17] | 0u); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -3764,37 +3765,37 @@ L_08AC1360: AOT_REGCACHE_SYNC_OUT(); return; L_08AC137C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_4 = (2237u << 16u); - aot_gpr_17 = (aot_gpr_4 + static_cast(-28736)); + ctx.gpr[17] = (aot_gpr_4 + static_cast(-28736)); ctx.gpr[18] = (0u | 1u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AC13ACu); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC13ACu) goto L_08AC13AC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC13ACu) goto L_08AC13AC; AOT_REGCACHE_SYNC_OUT(); return; L_08AC13AC: - aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_0)); + aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[0])); aot_gpr_5 = (std::bit_cast(aot_fpr_12)); aot_gpr_5 = (aot_gpr_5 & 65535u); aot_gpr_31 = (0x08AC13C0u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 72u, 0x08ADC3C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC13C0u) goto L_08AC13C0; AOT_REGCACHE_SYNC_OUT(); return; L_08AC13C0: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AC13CCu); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 430u, 0x08806E68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC13CCu) goto L_08AC13CC; AOT_REGCACHE_SYNC_OUT(); return; L_08AC13CC: - ctx.gpr[2] = (ctx.gpr[18] | 0u); + aot_gpr_2 = (ctx.gpr[18] | 0u); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -3816,10 +3817,10 @@ L_08AC13E8: aot_fpr_12 = std::bit_cast(aot_gpr_5); aot_gpr_31 = (0x08AC1414u); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC1414u) goto L_08AC1414; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC1414u) goto L_08AC1414; AOT_REGCACHE_SYNC_OUT(); return; L_08AC1414: - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -3850,7 +3851,7 @@ L_08AC1444: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0148_entry, 148u, 64u, 0x08A544B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC144Cu) goto L_08AC144C; AOT_REGCACHE_SYNC_OUT(); return; L_08AC144C: - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -3864,47 +3865,47 @@ L_08AC145C: aot_gpr_5 = (aot_gpr_5 + static_cast(-28736)); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(13), static_cast(aot_gpr_4)); jump_target = aot_gpr_31; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08AC1474: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.gpr[18] = (0u | 1u); aot_gpr_31 = (0x08AC1498u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC1498u) goto L_08AC1498; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880692C, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[16], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC1498u) goto L_08AC1498; AOT_REGCACHE_SYNC_OUT(); return; L_08AC1498: - aot_gpr_17 = (2237u << 16u); - { const bool branch_taken = ctx.gpr[2] == 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(-28736)); + ctx.gpr[17] = (2237u << 16u); + { const bool branch_taken = aot_gpr_2 == 0u; + ctx.gpr[17] = (ctx.gpr[17] + static_cast(-28736)); if (branch_taken) { goto L_08AC14CC; } goto L_08AC14A4; } L_08AC14A4: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AC14B0u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC14B0u) goto L_08AC14B0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC14B0u) goto L_08AC14B0; AOT_REGCACHE_SYNC_OUT(); return; L_08AC14B0: - aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_0)); + aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[0])); aot_gpr_5 = (std::bit_cast(aot_fpr_12)); aot_gpr_5 = (aot_gpr_5 & 255u); aot_gpr_31 = (0x08AC14C4u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 400u, 0x08ADD798u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC14C4u) goto L_08AC14C4; AOT_REGCACHE_SYNC_OUT(); return; L_08AC14C4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08AC14E8; } @@ -3912,24 +3913,24 @@ L_08AC14C4: } L_08AC14CC: aot_gpr_31 = (0x08AC14D4u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 401u, 0x08ADD7A0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC14D4u) goto L_08AC14D4; AOT_REGCACHE_SYNC_OUT(); return; L_08AC14D4: - aot_fpr_12 = std::bit_cast(ctx.gpr[2]); + aot_fpr_12 = std::bit_cast(aot_gpr_2); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_gpr_31 = (0x08AC14E4u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC14E4u) goto L_08AC14E4; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC14E4u) goto L_08AC14E4; AOT_REGCACHE_SYNC_OUT(); return; L_08AC14E4: - ctx.gpr[2] = (ctx.gpr[18] | 0u); + aot_gpr_2 = (ctx.gpr[18] | 0u); goto L_08AC14E8; L_08AC14E8: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -3941,54 +3942,54 @@ L_08AC14E8: AOT_REGCACHE_SYNC_OUT(); return; L_08AC1500: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.gpr[18] = (0u | 1u); aot_gpr_31 = (0x08AC1524u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC1524u) goto L_08AC1524; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806888, 0u, 324u, 0x08806888u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC1524u) goto L_08AC1524; AOT_REGCACHE_SYNC_OUT(); return; L_08AC1524: - aot_gpr_17 = (2237u << 16u); - { const bool branch_taken = ctx.gpr[2] != ctx.gpr[18]; - aot_gpr_17 = (aot_gpr_17 + static_cast(-28736)); + ctx.gpr[17] = (2237u << 16u); + { const bool branch_taken = aot_gpr_2 != ctx.gpr[18]; + ctx.gpr[17] = (ctx.gpr[17] + static_cast(-28736)); if (branch_taken) { goto L_08AC1550; } goto L_08AC1530; } L_08AC1530: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AC153Cu); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC153Cu) goto L_08AC153C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806AE0, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC153Cu) goto L_08AC153C; AOT_REGCACHE_SYNC_OUT(); return; L_08AC153C: - aot_gpr_4 = (0u < ctx.gpr[2] ? 1u : 0u); + aot_gpr_4 = (0u < aot_gpr_2 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(12), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(12), static_cast(aot_gpr_4)); { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08AC1560; } goto L_08AC1550; } L_08AC1550: - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(12))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(12))); aot_gpr_31 = (0x08AC155Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC155Cu) goto L_08AC155C; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC155Cu) goto L_08AC155C; AOT_REGCACHE_SYNC_OUT(); return; L_08AC155C: - ctx.gpr[2] = (ctx.gpr[18] | 0u); + aot_gpr_2 = (ctx.gpr[18] | 0u); goto L_08AC1560; L_08AC1560: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -4000,12 +4001,12 @@ L_08AC1560: AOT_REGCACHE_SYNC_OUT(); return; L_08AC1578: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[16], ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(12), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_17 = (2237u << 16u); - aot_gpr_17 = (aot_gpr_17 + static_cast(-28736)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(100))); + ctx.gpr[16] = (aot_gpr_4 | 0u); + ctx.gpr[17] = (2237u << 16u); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(-28736)); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(100))); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_5 = (0u | 0u); if (branch_taken) { @@ -4040,17 +4041,17 @@ L_08AC15C0: goto L_08AC15C8; } L_08AC15C8: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AC15D4u); aot_gpr_5 = (0u + static_cast(-10002)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC15D4u) goto L_08AC15D4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC15D4u) goto L_08AC15D4; AOT_REGCACHE_SYNC_OUT(); return; L_08AC15D4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(100))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(100))); aot_gpr_4 = (aot_gpr_4 + static_cast(96)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(6), static_cast(aot_gpr_4)); - aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_0)); + aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[0])); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(0), static_cast(aot_gpr_4)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(0)))))); @@ -4058,9 +4059,9 @@ L_08AC15D4: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(6)))))); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(8)))))); aot_gpr_4 = (aot_gpr_4 - aot_gpr_5); - aot_gpr_17 = (aot_gpr_4 << 16u); - aot_gpr_17 = (static_cast(static_cast(aot_gpr_17) >> 16u)); - { const bool branch_taken = static_cast(aot_gpr_17) < 0; + ctx.gpr[17] = (aot_gpr_4 << 16u); + ctx.gpr[17] = (static_cast(static_cast(ctx.gpr[17]) >> 16u)); + { const bool branch_taken = static_cast(ctx.gpr[17]) < 0; // nop if (branch_taken) { goto L_08AC1640; @@ -4068,21 +4069,21 @@ L_08AC15D4: goto L_08AC1614; } L_08AC1614: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AC1620u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC1620u) goto L_08AC1620; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC1620u) goto L_08AC1620; AOT_REGCACHE_SYNC_OUT(); return; L_08AC1620: - aot_fpr_12 = std::bit_cast(aot_gpr_17); + aot_fpr_12 = std::bit_cast(ctx.gpr[17]); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_gpr_31 = (0x08AC1630u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC1630u) goto L_08AC1630; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC1630u) goto L_08AC1630; AOT_REGCACHE_SYNC_OUT(); return; L_08AC1630: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 2u); + aot_gpr_2 = (0u | 2u); if (branch_taken) { goto L_08AC1644; } @@ -4090,20 +4091,20 @@ L_08AC1630: } L_08AC1638: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08AC1644; } goto L_08AC1640; } L_08AC1640: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_08AC1644; L_08AC1644: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(12), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -4114,9 +4115,9 @@ L_08AC1644: AOT_REGCACHE_SYNC_OUT(); return; L_08AC1658: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_4 = (2237u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(100))); @@ -4128,11 +4129,11 @@ L_08AC1658: goto L_08AC167C; } L_08AC167C: - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(12))); - ctx.gpr[6] = (static_cast(ctx.gpr[6]) < 0 ? 1u : 0u); - ctx.gpr[6] = (ctx.gpr[6] ^ 1u); - ctx.gpr[6] = (ctx.gpr[6] & 255u); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(12))); + aot_gpr_6 = (static_cast(aot_gpr_6) < 0 ? 1u : 0u); + aot_gpr_6 = (aot_gpr_6 ^ 1u); + aot_gpr_6 = (aot_gpr_6 & 255u); + { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_5 = (aot_gpr_5 & 255u); if (branch_taken) { goto L_08AC169C; @@ -4155,7 +4156,7 @@ L_08AC169C: } L_08AC16A4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08AC172C; } @@ -4165,16 +4166,16 @@ L_08AC16AC: aot_gpr_4 = (aot_gpr_4 + static_cast(96)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(0), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AC16C4u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC16C4u) goto L_08AC16C4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC16C4u) goto L_08AC16C4; AOT_REGCACHE_SYNC_OUT(); return; L_08AC16C4: aot_gpr_4 = (15733u << 16u); aot_gpr_4 = (aot_gpr_4 | 49807u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - { const float fs = aot_fpr_0; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } + { const float fs = ctx.fpr[0]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_gpr_4 << 16u); @@ -4190,22 +4191,22 @@ L_08AC16C4: aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_gpr_31 = (0x08AC1714u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC1714u) goto L_08AC1714; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC1714u) goto L_08AC1714; AOT_REGCACHE_SYNC_OUT(); return; L_08AC1714: aot_gpr_5 = (2220u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(5496)); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AC1728u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 444u, 0x08806FA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC1728u) goto L_08AC1728; AOT_REGCACHE_SYNC_OUT(); return; L_08AC1728: - ctx.gpr[2] = (0u | 2u); + aot_gpr_2 = (0u | 2u); goto L_08AC172C; L_08AC172C: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); @@ -4215,16 +4216,16 @@ L_08AC172C: AOT_REGCACHE_SYNC_OUT(); return; L_08AC173C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_31 = (0x08AC1754u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC1754u) goto L_08AC1754; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806888, 0u, 324u, 0x08806888u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC1754u) goto L_08AC1754; AOT_REGCACHE_SYNC_OUT(); return; L_08AC1754: aot_gpr_4 = (0u | 6u); - { const bool branch_taken = ctx.gpr[2] == aot_gpr_4; + { const bool branch_taken = aot_gpr_2 == aot_gpr_4; // nop if (branch_taken) { goto L_08AC1768; @@ -4233,16 +4234,16 @@ L_08AC1754: } L_08AC1760: aot_gpr_31 = (0x08AC1768u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_08AC1658; L_08AC1768: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AC1774u); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 607u, 0x08872848u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC1774u) goto L_08AC1774; AOT_REGCACHE_SYNC_OUT(); return; L_08AC1774: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -4252,26 +4253,26 @@ L_08AC1774: AOT_REGCACHE_SYNC_OUT(); return; L_08AC1784: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(20), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.gpr[18] = (0u | 1u); aot_gpr_4 = (aot_gpr_29 | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_5 = (ctx.gpr[16] | 0u); + aot_gpr_6 = (0u | 1u); aot_gpr_31 = (0x08AC17B4u); ctx.gpr[7] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0075_entry, 75u, 315u, 0x08931AF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC17B4u) goto L_08AC17B4; AOT_REGCACHE_SYNC_OUT(); return; L_08AC17B4: - aot_gpr_17 = (ctx.gpr[18] | 0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + ctx.gpr[17] = (ctx.gpr[18] | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AC17C4u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC17C4u) goto L_08AC17C4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806888, 0u, 324u, 0x08806888u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC17C4u) goto L_08AC17C4; AOT_REGCACHE_SYNC_OUT(); return; L_08AC17C4: - { const bool branch_taken = ctx.gpr[2] != ctx.gpr[18]; + { const bool branch_taken = aot_gpr_2 != ctx.gpr[18]; // nop if (branch_taken) { goto L_08AC17DC; @@ -4279,27 +4280,27 @@ L_08AC17C4: goto L_08AC17CC; } L_08AC17CC: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AC17D8u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC17D8u) goto L_08AC17D8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806AE0, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC17D8u) goto L_08AC17D8; AOT_REGCACHE_SYNC_OUT(); return; L_08AC17D8: - aot_gpr_17 = (0u < ctx.gpr[2] ? 1u : 0u); + ctx.gpr[17] = (0u < aot_gpr_2 ? 1u : 0u); goto L_08AC17DC; L_08AC17DC: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_fpr_12 = std::bit_cast(aot_run_words[0]); aot_fpr_13 = std::bit_cast(aot_run_words[1]); - ctx.fpr[14] = std::bit_cast(aot_run_words[2]); + aot_fpr_14 = std::bit_cast(aot_run_words[2]); } aot_gpr_31 = (0x08AC17F0u); aot_gpr_4 = (aot_gpr_29 + static_cast(16)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 519u, 0x08893460u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC17F0u) goto L_08AC17F0; AOT_REGCACHE_SYNC_OUT(); return; L_08AC17F0: - aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_0)); + aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[0])); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(16))); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -4309,7 +4310,7 @@ L_08AC17F0: goto L_08AC1800; } L_08AC1800: - { const bool branch_taken = aot_gpr_17 == 0u; + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_08AC1810; @@ -4331,15 +4332,15 @@ L_08AC1810: goto L_08AC181C; L_08AC181C: aot_gpr_31 = (0x08AC1824u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC1824u) goto L_08AC1824; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC1824u) goto L_08AC1824; AOT_REGCACHE_SYNC_OUT(); return; L_08AC1824: - ctx.gpr[2] = (ctx.gpr[18] | 0u); + aot_gpr_2 = (ctx.gpr[18] | 0u); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(20), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -4351,13 +4352,13 @@ L_08AC1824: AOT_REGCACHE_SYNC_OUT(); return; L_08AC1840: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_5 = (2236u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(32304)); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(2052))); { const bool branch_taken = aot_gpr_5 == 0u; - aot_gpr_16 = (0u | 1u); + ctx.gpr[16] = (0u | 1u); if (branch_taken) { goto L_08AC1870; } @@ -4366,7 +4367,7 @@ L_08AC1840: L_08AC1860: aot_gpr_31 = (0x08AC1868u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC1868u) goto L_08AC1868; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC1868u) goto L_08AC1868; AOT_REGCACHE_SYNC_OUT(); return; L_08AC1868: { const bool branch_taken = 0u == 0u; @@ -4379,11 +4380,11 @@ L_08AC1868: L_08AC1870: aot_gpr_31 = (0x08AC1878u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC1878u) goto L_08AC1878; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC1878u) goto L_08AC1878; AOT_REGCACHE_SYNC_OUT(); return; L_08AC1878: - ctx.gpr[2] = (aot_gpr_16 | 0u); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_2 = (ctx.gpr[16] | 0u); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -4396,12 +4397,12 @@ L_08AC188C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); aot_gpr_31 = (0x08AC189Cu); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC189Cu) goto L_08AC189C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806AE0, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC189Cu) goto L_08AC189C; AOT_REGCACHE_SYNC_OUT(); return; L_08AC189C: - aot_gpr_4 = (0u < ctx.gpr[2] ? 1u : 0u); + aot_gpr_4 = (0u < aot_gpr_2 ? 1u : 0u); aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(4203), static_cast(aot_gpr_4)); - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -4411,26 +4412,26 @@ L_08AC189C: AOT_REGCACHE_SYNC_OUT(); return; L_08AC18B4: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_31 = (0x08AC18CCu); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC18CCu) goto L_08AC18CC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806AE0, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC18CCu) goto L_08AC18CC; AOT_REGCACHE_SYNC_OUT(); return; L_08AC18CC: - aot_gpr_4 = (0u < ctx.gpr[2] ? 1u : 0u); + aot_gpr_4 = (0u < aot_gpr_2 ? 1u : 0u); aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(4203), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AC18E0u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC18E0u) goto L_08AC18E0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806AE0, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC18E0u) goto L_08AC18E0; AOT_REGCACHE_SYNC_OUT(); return; L_08AC18E0: - aot_gpr_4 = (0u < ctx.gpr[2] ? 1u : 0u); + aot_gpr_4 = (0u < aot_gpr_2 ? 1u : 0u); aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(4204), static_cast(aot_gpr_4)); - ctx.gpr[2] = (0u | 0u); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_2 = (0u | 0u); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -4443,12 +4444,12 @@ L_08AC18FC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); aot_gpr_31 = (0x08AC190Cu); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC190Cu) goto L_08AC190C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806AE0, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC190Cu) goto L_08AC190C; AOT_REGCACHE_SYNC_OUT(); return; L_08AC190C: - aot_gpr_4 = (0u < ctx.gpr[2] ? 1u : 0u); + aot_gpr_4 = (0u < aot_gpr_2 ? 1u : 0u); aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(4204), static_cast(aot_gpr_4)); - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -4461,12 +4462,12 @@ L_08AC1924: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); aot_gpr_31 = (0x08AC1934u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC1934u) goto L_08AC1934; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806AE0, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC1934u) goto L_08AC1934; AOT_REGCACHE_SYNC_OUT(); return; L_08AC1934: - aot_gpr_4 = (0u < ctx.gpr[2] ? 1u : 0u); + aot_gpr_4 = (0u < aot_gpr_2 ? 1u : 0u); aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(4206), static_cast(aot_gpr_4)); - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -4479,13 +4480,13 @@ L_08AC194C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); aot_gpr_31 = (0x08AC195Cu); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC195Cu) goto L_08AC195C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC195Cu) goto L_08AC195C; AOT_REGCACHE_SYNC_OUT(); return; L_08AC195C: - aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_0)); + aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[0])); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(4205), static_cast(aot_gpr_4)); - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -4498,12 +4499,12 @@ L_08AC1978: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); aot_gpr_31 = (0x08AC1988u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC1988u) goto L_08AC1988; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806AE0, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC1988u) goto L_08AC1988; AOT_REGCACHE_SYNC_OUT(); return; L_08AC1988: - aot_gpr_4 = (0u < ctx.gpr[2] ? 1u : 0u); + aot_gpr_4 = (0u < aot_gpr_2 ? 1u : 0u); aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(4208), static_cast(aot_gpr_4)); - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -4513,11 +4514,11 @@ L_08AC1988: AOT_REGCACHE_SYNC_OUT(); return; L_08AC19A0: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5868))); { const bool branch_taken = aot_gpr_5 != 0u; - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08AC19C0; } @@ -4534,15 +4535,15 @@ L_08AC19C0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0148_entry, 148u, 256u, 0x08A54FECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC19C8u) goto L_08AC19C8; AOT_REGCACHE_SYNC_OUT(); return; L_08AC19C8: - aot_fpr_12 = std::bit_cast(ctx.gpr[2]); + aot_fpr_12 = std::bit_cast(aot_gpr_2); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_gpr_31 = (0x08AC19D8u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC19D8u) goto L_08AC19D8; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC19D8u) goto L_08AC19D8; AOT_REGCACHE_SYNC_OUT(); return; L_08AC19D8: - ctx.gpr[2] = (0u | 1u); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_2 = (0u | 1u); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -4552,16 +4553,16 @@ L_08AC19D8: AOT_REGCACHE_SYNC_OUT(); return; L_08AC19EC: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[16], ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_17 = (0u | 1u); + ctx.gpr[16] = (aot_gpr_4 | 0u); + ctx.gpr[17] = (0u | 1u); aot_gpr_31 = (0x08AC1A0Cu); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC1A0Cu) goto L_08AC1A0C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC1A0Cu) goto L_08AC1A0C; AOT_REGCACHE_SYNC_OUT(); return; L_08AC1A0C: - aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_0)); + aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[0])); aot_gpr_5 = (std::bit_cast(aot_fpr_12)); aot_gpr_4 = (2237u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); @@ -4570,17 +4571,17 @@ L_08AC1A0C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 402u, 0x08ADD7A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC1A24u) goto L_08AC1A24; AOT_REGCACHE_SYNC_OUT(); return; L_08AC1A24: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AC1A30u); - aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC1A30u) goto L_08AC1A30; + aot_gpr_5 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC1A30u) goto L_08AC1A30; AOT_REGCACHE_SYNC_OUT(); return; L_08AC1A30: - ctx.gpr[2] = (aot_gpr_17 | 0u); + aot_gpr_2 = (ctx.gpr[17] | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -4594,12 +4595,12 @@ L_08AC1A48: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); aot_gpr_31 = (0x08AC1A58u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC1A58u) goto L_08AC1A58; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806AE0, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC1A58u) goto L_08AC1A58; AOT_REGCACHE_SYNC_OUT(); return; L_08AC1A58: - aot_gpr_4 = (0u < ctx.gpr[2] ? 1u : 0u); + aot_gpr_4 = (0u < aot_gpr_2 ? 1u : 0u); aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(4209), static_cast(aot_gpr_4)); - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -4609,11 +4610,11 @@ L_08AC1A58: AOT_REGCACHE_SYNC_OUT(); return; L_08AC1A70: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5872))); { const bool branch_taken = aot_gpr_5 != 0u; - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08AC1A90; } @@ -4632,12 +4633,12 @@ L_08AC1A90: aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_gpr_31 = (0x08AC1AB0u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC1AB0u) goto L_08AC1AB0; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC1AB0u) goto L_08AC1AB0; AOT_REGCACHE_SYNC_OUT(); return; L_08AC1AB0: - ctx.gpr[2] = (0u | 1u); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_2 = (0u | 1u); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -4647,11 +4648,11 @@ L_08AC1AB0: AOT_REGCACHE_SYNC_OUT(); return; L_08AC1AC4: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5872))); { const bool branch_taken = aot_gpr_5 != 0u; - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08AC1AE4; } @@ -4670,12 +4671,12 @@ L_08AC1AE4: aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_gpr_31 = (0x08AC1B04u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC1B04u) goto L_08AC1B04; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC1B04u) goto L_08AC1B04; AOT_REGCACHE_SYNC_OUT(); return; L_08AC1B04: - ctx.gpr[2] = (0u | 1u); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_2 = (0u | 1u); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -4685,11 +4686,11 @@ L_08AC1B04: AOT_REGCACHE_SYNC_OUT(); return; L_08AC1B18: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5872))); { const bool branch_taken = aot_gpr_5 != 0u; - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08AC1B38; } @@ -4704,12 +4705,12 @@ L_08AC1B38: aot_gpr_4 = (49024u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_31 = (0x08AC1B48u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC1B48u) goto L_08AC1B48; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC1B48u) goto L_08AC1B48; AOT_REGCACHE_SYNC_OUT(); return; L_08AC1B48: - ctx.gpr[2] = (0u | 1u); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_2 = (0u | 1u); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -4727,7 +4728,7 @@ L_08AC1B5C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0161_entry, 161u, 371u, 0x08A89ACCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC1B74u) goto L_08AC1B74; AOT_REGCACHE_SYNC_OUT(); return; L_08AC1B74: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -4737,55 +4738,55 @@ L_08AC1B74: AOT_REGCACHE_SYNC_OUT(); return; L_08AC1B84: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[16], ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(24), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_31 = (0x08AC1BA0u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC1BA0u) goto L_08AC1BA0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC1BA0u) goto L_08AC1BA0; AOT_REGCACHE_SYNC_OUT(); return; L_08AC1BA0: - aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_0)); - aot_gpr_17 = (std::bit_cast(aot_fpr_12)); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[0])); + ctx.gpr[17] = (std::bit_cast(aot_fpr_12)); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AC1BB4u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC1BB4u) goto L_08AC1BB4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC1BB4u) goto L_08AC1BB4; AOT_REGCACHE_SYNC_OUT(); return; L_08AC1BB4: - aot_fpr_13 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_0)); + aot_fpr_13 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[0])); aot_gpr_4 = (std::bit_cast(aot_fpr_13)); aot_gpr_5 = (0u | 5u); aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(18), static_cast(aot_gpr_5)); aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(9943))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(20), static_cast(aot_gpr_5)); - aot_gpr_16 = (aot_gpr_29 + static_cast(18)); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(21), static_cast(aot_gpr_17)); + ctx.gpr[16] = (aot_gpr_29 + static_cast(18)); + aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(21), static_cast(ctx.gpr[17])); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(22), static_cast(aot_gpr_4)); aot_gpr_4 = (2237u << 16u); - aot_gpr_17 = (aot_gpr_4 + static_cast(-28736)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(100))); + ctx.gpr[17] = (aot_gpr_4 + static_cast(-28736)); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(100))); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(52))); aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(16), static_cast(0u)); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(16)))))); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(16)))))); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AC1BFCu); ctx.gpr[7] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 737u, 0x08A36D90u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC1BFCu) goto L_08AC1BFC; AOT_REGCACHE_SYNC_OUT(); return; L_08AC1BFC: - aot_gpr_4 = (aot_gpr_17 | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AC1C0Cu); - ctx.gpr[6] = (0u + static_cast(-1)); + aot_gpr_6 = (0u + static_cast(-1)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 189u, 0x08ADCA34u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC1C0Cu) goto L_08AC1C0C; AOT_REGCACHE_SYNC_OUT(); return; L_08AC1C0C: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(24), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -4796,19 +4797,19 @@ L_08AC1C0C: AOT_REGCACHE_SYNC_OUT(); return; L_08AC1C24: aot_gpr_29 = (aot_gpr_29 + static_cast(-80)); - { const std::uint32_t aot_run_words[9]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], aot_gpr_31}; + { const std::uint32_t aot_run_words[9]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(32), aot_run_words); } - aot_gpr_17 = (0u | 1u); + ctx.gpr[17] = (0u | 1u); ctx.gpr[22] = (2237u << 16u); ctx.gpr[22] = (ctx.gpr[22] + static_cast(-28736)); - aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AC1C68u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC1C68u) goto L_08AC1C68; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC1C68u) goto L_08AC1C68; AOT_REGCACHE_SYNC_OUT(); return; L_08AC1C68: - aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_0)); + aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[0])); ctx.gpr[18] = (std::bit_cast(aot_fpr_12)); aot_gpr_4 = (0u | 255u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_4); @@ -4873,7 +4874,7 @@ L_08AC1CE8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0147_entry, 147u, 561u, 0x08A53098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC1CF0u) goto L_08AC1CF0; AOT_REGCACHE_SYNC_OUT(); return; L_08AC1CF0: - ctx.gpr[21] = (ctx.gpr[2] | 0u); + ctx.gpr[21] = (aot_gpr_2 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[21] + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(100))); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(52))); @@ -4907,7 +4908,7 @@ L_08AC1D20: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0147_entry, 147u, 573u, 0x08A53124u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC1D28u) goto L_08AC1D28; AOT_REGCACHE_SYNC_OUT(); return; L_08AC1D28: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08AC1D68; @@ -4925,7 +4926,7 @@ L_08AC1D30: L_08AC1D40: aot_gpr_31 = (0x08AC1D48u); aot_gpr_4 = (ctx.gpr[23] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC1D48u) goto L_08AC1D48; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0893685C, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC1D48u) goto L_08AC1D48; AOT_REGCACHE_SYNC_OUT(); return; L_08AC1D48: aot_gpr_31 = (0x08AC1D50u); @@ -4937,7 +4938,7 @@ L_08AC1D50: goto L_08AC1D54; L_08AC1D54: aot_gpr_5 = (ctx.gpr[21] & 31u); - aot_gpr_5 = (aot_gpr_17 << (aot_gpr_5 & 31u)); + aot_gpr_5 = (ctx.gpr[17] << (aot_gpr_5 & 31u)); aot_gpr_5 = (~(aot_gpr_5 | 0u)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(0), aot_gpr_4); @@ -4963,7 +4964,7 @@ L_08AC1D74: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(100))); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(52))); aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(16), static_cast(0u)); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(16)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(16)))))); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08AC1DB0u); ctx.gpr[7] = (0u | 1u); @@ -4973,22 +4974,22 @@ L_08AC1DB0: aot_gpr_4 = (ctx.gpr[22] | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08AC1DC0u); - ctx.gpr[6] = (0u + static_cast(-1)); + aot_gpr_6 = (0u + static_cast(-1)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 189u, 0x08ADCA34u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC1DC0u) goto L_08AC1DC0; AOT_REGCACHE_SYNC_OUT(); return; L_08AC1DC0: aot_fpr_12 = std::bit_cast(ctx.gpr[18]); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_gpr_31 = (0x08AC1DD0u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC1DD0u) goto L_08AC1DD0; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC1DD0u) goto L_08AC1DD0; AOT_REGCACHE_SYNC_OUT(); return; L_08AC1DD0: - ctx.gpr[2] = (aot_gpr_17 | 0u); + aot_gpr_2 = (ctx.gpr[17] | 0u); { std::uint32_t aot_run_words[9]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(32), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -5034,7 +5035,7 @@ L_08AC1E24: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 430u, 0x08806E68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC1E30u) goto L_08AC1E30; AOT_REGCACHE_SYNC_OUT(); return; L_08AC1E30: - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -5044,15 +5045,15 @@ L_08AC1E30: AOT_REGCACHE_SYNC_OUT(); return; L_08AC1E40: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[16], ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_31 = (0x08AC1E5Cu); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC1E5Cu) goto L_08AC1E5C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880692C, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[16], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC1E5Cu) goto L_08AC1E5C; AOT_REGCACHE_SYNC_OUT(); return; L_08AC1E5C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08AC1EC8; @@ -5060,13 +5061,13 @@ L_08AC1E5C: goto L_08AC1E64; } L_08AC1E64: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AC1E70u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC1E70u) goto L_08AC1E70; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880692C, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[16], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC1E70u) goto L_08AC1E70; AOT_REGCACHE_SYNC_OUT(); return; L_08AC1E70: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08AC1EC0; @@ -5074,25 +5075,25 @@ L_08AC1E70: goto L_08AC1E78; } L_08AC1E78: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AC1E84u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC1E84u) goto L_08AC1E84; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC1E84u) goto L_08AC1E84; AOT_REGCACHE_SYNC_OUT(); return; L_08AC1E84: aot_gpr_4 = (16256u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_fpr_12 = aot_fpr_0 - aot_fpr_12; + aot_fpr_12 = ctx.fpr[0] - aot_fpr_12; aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); - aot_gpr_17 = (std::bit_cast(aot_fpr_12)); - aot_gpr_4 = (aot_gpr_16 | 0u); + ctx.gpr[17] = (std::bit_cast(aot_fpr_12)); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AC1EA4u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC1EA4u) goto L_08AC1EA4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC1EA4u) goto L_08AC1EA4; AOT_REGCACHE_SYNC_OUT(); return; L_08AC1EA4: - aot_fpr_13 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_0)); - aot_gpr_16 = (std::bit_cast(aot_fpr_13)); + aot_fpr_13 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[0])); + ctx.gpr[16] = (std::bit_cast(aot_fpr_13)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5844))); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -5111,7 +5112,7 @@ L_08AC1EB8: } L_08AC1EC0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08AC1EEC; } @@ -5119,7 +5120,7 @@ L_08AC1EC0: } L_08AC1EC8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08AC1EEC; } @@ -5135,18 +5136,18 @@ L_08AC1ED8: goto L_08AC1EDC; L_08AC1EDC: aot_gpr_31 = (0x08AC1EE4u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0122_entry, 122u, 13u, 0x089EC170u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC1EE4u) goto L_08AC1EE4; AOT_REGCACHE_SYNC_OUT(); return; L_08AC1EE4: - aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(8), aot_gpr_16); - ctx.gpr[2] = (0u | 0u); + aot_mem.aot_direct_store32(aot_gpr_2 + static_cast(8), ctx.gpr[16]); + aot_gpr_2 = (0u | 0u); goto L_08AC1EEC; L_08AC1EEC: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -5157,15 +5158,15 @@ L_08AC1EEC: AOT_REGCACHE_SYNC_OUT(); return; L_08AC1F00: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[16], ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_31 = (0x08AC1F1Cu); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC1F1Cu) goto L_08AC1F1C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880692C, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[16], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC1F1Cu) goto L_08AC1F1C; AOT_REGCACHE_SYNC_OUT(); return; L_08AC1F1C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08AC1F88; @@ -5173,13 +5174,13 @@ L_08AC1F1C: goto L_08AC1F24; } L_08AC1F24: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AC1F30u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC1F30u) goto L_08AC1F30; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880692C, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[16], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC1F30u) goto L_08AC1F30; AOT_REGCACHE_SYNC_OUT(); return; L_08AC1F30: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08AC1F80; @@ -5187,25 +5188,25 @@ L_08AC1F30: goto L_08AC1F38; } L_08AC1F38: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AC1F44u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC1F44u) goto L_08AC1F44; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC1F44u) goto L_08AC1F44; AOT_REGCACHE_SYNC_OUT(); return; L_08AC1F44: aot_gpr_4 = (16256u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_fpr_12 = aot_fpr_0 - aot_fpr_12; + aot_fpr_12 = ctx.fpr[0] - aot_fpr_12; aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); - aot_gpr_17 = (std::bit_cast(aot_fpr_12)); - aot_gpr_4 = (aot_gpr_16 | 0u); + ctx.gpr[17] = (std::bit_cast(aot_fpr_12)); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AC1F64u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC1F64u) goto L_08AC1F64; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC1F64u) goto L_08AC1F64; AOT_REGCACHE_SYNC_OUT(); return; L_08AC1F64: - aot_fpr_13 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_0)); - aot_gpr_16 = (std::bit_cast(aot_fpr_13)); + aot_fpr_13 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[0])); + ctx.gpr[16] = (std::bit_cast(aot_fpr_13)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5844))); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -5224,7 +5225,7 @@ L_08AC1F78: } L_08AC1F80: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08AC1FAC; } @@ -5232,7 +5233,7 @@ L_08AC1F80: } L_08AC1F88: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08AC1FAC; } @@ -5248,18 +5249,18 @@ L_08AC1F98: goto L_08AC1F9C; L_08AC1F9C: aot_gpr_31 = (0x08AC1FA4u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0122_entry, 122u, 13u, 0x089EC170u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC1FA4u) goto L_08AC1FA4; AOT_REGCACHE_SYNC_OUT(); return; L_08AC1FA4: - aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(4), aot_gpr_16); - ctx.gpr[2] = (0u | 0u); + aot_mem.aot_direct_store32(aot_gpr_2 + static_cast(4), ctx.gpr[16]); + aot_gpr_2 = (0u | 0u); goto L_08AC1FAC; L_08AC1FAC: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -5270,36 +5271,36 @@ L_08AC1FAC: AOT_REGCACHE_SYNC_OUT(); return; L_08AC1FC0: aot_gpr_29 = (aot_gpr_29 + static_cast(-64)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[16], ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(40), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_31 = (0x08AC1FDCu); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC1FDCu) goto L_08AC1FDC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880692C, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[16], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC1FDCu) goto L_08AC1FDC; AOT_REGCACHE_SYNC_OUT(); return; L_08AC1FDC: - { const bool branch_taken = ctx.gpr[2] == 0u; - aot_gpr_17 = (aot_gpr_16 | 0u); + { const bool branch_taken = aot_gpr_2 == 0u; + ctx.gpr[17] = (ctx.gpr[16] | 0u); if (branch_taken) { goto L_08AC202C; } goto L_08AC1FE4; } L_08AC1FE4: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08AC1FF0u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC1FF0u) goto L_08AC1FF0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC1FF0u) goto L_08AC1FF0; AOT_REGCACHE_SYNC_OUT(); return; L_08AC1FF0: aot_gpr_4 = (16256u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_fpr_12 = aot_fpr_0 - aot_fpr_12; + aot_fpr_12 = ctx.fpr[0] - aot_fpr_12; aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); - aot_gpr_16 = (std::bit_cast(aot_fpr_12)); + ctx.gpr[16] = (std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_gpr_29 | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[6] = (0u | 2u); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_6 = (0u | 2u); aot_gpr_31 = (0x08AC2018u); ctx.gpr[7] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0075_entry, 75u, 315u, 0x08931AF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC2018u) goto L_08AC2018; @@ -5323,7 +5324,7 @@ L_08AC2024: } L_08AC202C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08AC20D8; } @@ -5348,11 +5349,11 @@ L_08AC2040: } L_08AC204C: aot_gpr_4 = (2237u << 16u); - aot_gpr_17 = (aot_gpr_4 + static_cast(-28736)); - aot_gpr_4 = (aot_gpr_17 | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); + ctx.gpr[17] = (aot_gpr_4 + static_cast(-28736)); + aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AC2064u); - ctx.gpr[6] = (aot_gpr_29 | 0u); + aot_gpr_6 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 492u, 0x08ADDD28u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC2064u) goto L_08AC2064; AOT_REGCACHE_SYNC_OUT(); return; L_08AC2064: @@ -5362,38 +5363,38 @@ L_08AC2064: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(18), static_cast(aot_gpr_4)); aot_gpr_5 = (aot_gpr_29 + static_cast(16)); aot_gpr_4 = (aot_gpr_29 + static_cast(21)); - ctx.gpr[6] = (aot_gpr_4 + static_cast(4)); + aot_gpr_6 = (aot_gpr_4 + static_cast(4)); ctx.gpr[7] = (aot_gpr_4 + static_cast(8)); ctx.gpr[8] = (0u | 1u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(20), static_cast(ctx.gpr[8])); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(19), static_cast(0u)); - aot_mem.aot_direct_store_word_right(aot_gpr_29 + static_cast(33), aot_gpr_16); - aot_mem.aot_direct_store_word_left(aot_gpr_29 + static_cast(36), aot_gpr_16); + aot_mem.aot_direct_store_word_right(aot_gpr_29 + static_cast(33), ctx.gpr[16]); + aot_mem.aot_direct_store_word_left(aot_gpr_29 + static_cast(36), ctx.gpr[16]); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); ctx.gpr[8] = (std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store_word_left(aot_gpr_4 + static_cast(3), ctx.gpr[8]); aot_mem.aot_direct_store_word_right(aot_gpr_4 + static_cast(0), ctx.gpr[8]); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); aot_gpr_4 = (std::bit_cast(aot_fpr_13)); - aot_mem.aot_direct_store_word_left(ctx.gpr[6] + static_cast(3), aot_gpr_4); - aot_mem.aot_direct_store_word_right(ctx.gpr[6] + static_cast(0), aot_gpr_4); - ctx.fpr[14] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); - aot_gpr_4 = (std::bit_cast(ctx.fpr[14])); + aot_mem.aot_direct_store_word_left(aot_gpr_6 + static_cast(3), aot_gpr_4); + aot_mem.aot_direct_store_word_right(aot_gpr_6 + static_cast(0), aot_gpr_4); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); + aot_gpr_4 = (std::bit_cast(aot_fpr_14)); aot_mem.aot_direct_store_word_left(ctx.gpr[7] + static_cast(3), aot_gpr_4); aot_mem.aot_direct_store_word_right(ctx.gpr[7] + static_cast(0), aot_gpr_4); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08AC20D4u); - ctx.gpr[6] = (0u + static_cast(-1)); + aot_gpr_6 = (0u + static_cast(-1)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 189u, 0x08ADCA34u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC20D4u) goto L_08AC20D4; AOT_REGCACHE_SYNC_OUT(); return; L_08AC20D4: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_08AC20D8; L_08AC20D8: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(40), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -5404,7 +5405,7 @@ L_08AC20D8: AOT_REGCACHE_SYNC_OUT(); return; L_08AC20EC: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_31); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5868))); if (aot_gpr_4 != 0u) { @@ -5431,9 +5432,9 @@ L_08AC2110: } L_08AC211C: aot_gpr_4 = (2237u << 16u); - aot_gpr_16 = (aot_gpr_4 + static_cast(-28736)); + ctx.gpr[16] = (aot_gpr_4 + static_cast(-28736)); aot_gpr_31 = (0x08AC212Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 508u, 0x08ADDEE8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC212Cu) goto L_08AC212C; AOT_REGCACHE_SYNC_OUT(); return; L_08AC212C: @@ -5444,15 +5445,15 @@ L_08AC212C: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(4), static_cast(0u)); aot_gpr_4 = (0u | 1u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(3), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (aot_gpr_29 | 0u); aot_gpr_31 = (0x08AC2158u); - ctx.gpr[6] = (0u + static_cast(-1)); + aot_gpr_6 = (0u + static_cast(-1)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 189u, 0x08ADCA34u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC2158u) goto L_08AC2158; AOT_REGCACHE_SYNC_OUT(); return; L_08AC2158: - ctx.gpr[2] = (0u | 0u); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); + aot_gpr_2 = (0u | 0u); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(28))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); @@ -5469,11 +5470,11 @@ L_08AC216C: AOT_REGCACHE_SYNC_OUT(); return; L_08AC217C: aot_gpr_31 = (0x08AC2184u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 519u, 0x08946B3Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC2184u) goto L_08AC2184; AOT_REGCACHE_SYNC_OUT(); return; L_08AC2184: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -5487,7 +5488,7 @@ L_08AC2190: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0098_entry, 98u, 761u, 0x0898E288u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC2198u) goto L_08AC2198; AOT_REGCACHE_SYNC_OUT(); return; L_08AC2198: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -5504,11 +5505,11 @@ L_08AC21A8: AOT_REGCACHE_SYNC_OUT(); return; L_08AC21B8: aot_gpr_31 = (0x08AC21C0u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 519u, 0x08946B3Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC21C0u) goto L_08AC21C0; AOT_REGCACHE_SYNC_OUT(); return; L_08AC21C0: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -5522,7 +5523,7 @@ L_08AC21CC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0097_entry, 97u, 941u, 0x0898BA34u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC21D4u) goto L_08AC21D4; AOT_REGCACHE_SYNC_OUT(); return; L_08AC21D4: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -5535,16 +5536,16 @@ L_08AC21E4: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); aot_gpr_31 = (0x08AC21F4u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC21F4u) goto L_08AC21F4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC21F4u) goto L_08AC21F4; AOT_REGCACHE_SYNC_OUT(); return; L_08AC21F4: - aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_0)); + aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[0])); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_5 = (2237u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(-28736)); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(305), static_cast(aot_gpr_4)); - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -5554,26 +5555,26 @@ L_08AC21F4: AOT_REGCACHE_SYNC_OUT(); return; L_08AC221C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); aot_gpr_31 = (0x08AC2234u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC2234u) goto L_08AC2234; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC2234u) goto L_08AC2234; AOT_REGCACHE_SYNC_OUT(); return; L_08AC2234: aot_fpr_12 = std::bit_cast(0u); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_0) || std::isnan(aot_fpr_12)) && aot_fpr_0 == aot_fpr_12)) ? 0x00800000u : 0u); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(ctx.fpr[0]) || std::isnan(aot_fpr_12)) && ctx.fpr[0] == aot_fpr_12)) ? 0x00800000u : 0u); // nop if (!((ctx.fcr31 & 0x00800000u) != 0u)) { - aot_gpr_16 = (0u | 1u); + ctx.gpr[16] = (0u | 1u); goto L_08AC2248; } goto L_08AC2248; L_08AC2248: - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(4207), static_cast(aot_gpr_16)); - ctx.gpr[2] = (0u | 0u); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(4207), static_cast(ctx.gpr[16])); + aot_gpr_2 = (0u | 0u); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -5583,16 +5584,16 @@ L_08AC2248: AOT_REGCACHE_SYNC_OUT(); return; L_08AC2260: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[16], ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(4), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_17 = (0u | 1u); + ctx.gpr[16] = (aot_gpr_4 | 0u); + ctx.gpr[17] = (0u | 1u); aot_gpr_31 = (0x08AC2280u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC2280u) goto L_08AC2280; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806888, 0u, 324u, 0x08806888u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC2280u) goto L_08AC2280; AOT_REGCACHE_SYNC_OUT(); return; L_08AC2280: - { const bool branch_taken = ctx.gpr[2] != aot_gpr_17; + { const bool branch_taken = aot_gpr_2 != ctx.gpr[17]; // nop if (branch_taken) { goto L_08AC22EC; @@ -5600,13 +5601,13 @@ L_08AC2280: goto L_08AC2288; } L_08AC2288: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AC2294u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC2294u) goto L_08AC2294; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806AE0, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC2294u) goto L_08AC2294; AOT_REGCACHE_SYNC_OUT(); return; L_08AC2294: - aot_gpr_16 = (0u < ctx.gpr[2] ? 1u : 0u); + ctx.gpr[16] = (0u < aot_gpr_2 ? 1u : 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5868))); if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5868))); @@ -5635,17 +5636,17 @@ L_08AC22BC: aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(0), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(9959))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(2), static_cast(aot_gpr_4)); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(3), static_cast(aot_gpr_16)); + aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(3), static_cast(ctx.gpr[16])); aot_gpr_4 = (2237u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); aot_gpr_5 = (aot_gpr_29 | 0u); aot_gpr_31 = (0x08AC22E4u); - ctx.gpr[6] = (0u + static_cast(-1)); + aot_gpr_6 = (0u + static_cast(-1)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 189u, 0x08ADCA34u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC22E4u) goto L_08AC22E4; AOT_REGCACHE_SYNC_OUT(); return; L_08AC22E4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08AC2304; } @@ -5656,17 +5657,17 @@ L_08AC22EC: aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(142))); aot_gpr_31 = (0x08AC2300u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC2300u) goto L_08AC2300; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC2300u) goto L_08AC2300; AOT_REGCACHE_SYNC_OUT(); return; L_08AC2300: - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); goto L_08AC2304; L_08AC2304: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(4), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -5677,18 +5678,18 @@ L_08AC2304: AOT_REGCACHE_SYNC_OUT(); return; L_08AC2318: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(20), aot_run_words); } ctx.gpr[18] = (2237u << 16u); ctx.gpr[18] = (ctx.gpr[18] + static_cast(-28736)); - aot_gpr_17 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(10292)))))); - aot_gpr_16 = (0u | 0u); + ctx.gpr[17] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(10292)))))); + ctx.gpr[16] = (0u | 0u); aot_gpr_31 = (0x08AC2344u); aot_gpr_4 = (0u | 12u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC2344u) goto L_08AC2344; AOT_REGCACHE_SYNC_OUT(); return; L_08AC2344: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_5 = (2235u << 16u); if (branch_taken) { @@ -5706,31 +5707,31 @@ L_08AC2350: aot_gpr_5 = (2220u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(568)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(8), aot_gpr_5); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); goto L_08AC2378; L_08AC2378: - { const bool branch_taken = aot_gpr_16 == 0u; - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_16); + { const bool branch_taken = ctx.gpr[16] == 0u; + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[16]); if (branch_taken) { goto L_08AC238C; } goto L_08AC2380; } L_08AC2380: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), aot_gpr_4); goto L_08AC238C; L_08AC238C: - ctx.gpr[6] = (aot_gpr_29 + static_cast(16)); + aot_gpr_6 = (aot_gpr_29 + static_cast(16)); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08AC239Cu); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 340u, 0x08ADD3DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC239Cu) goto L_08AC239C; AOT_REGCACHE_SYNC_OUT(); return; L_08AC239C: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08AC23C0; @@ -5738,10 +5739,10 @@ L_08AC239C: goto L_08AC23A8; } L_08AC23A8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_4 = (aot_gpr_4 + static_cast(-1)); { const bool branch_taken = aot_gpr_4 != 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), aot_gpr_4); if (branch_taken) { goto L_08AC23C0; } @@ -5749,8 +5750,8 @@ L_08AC23A8: } L_08AC23B8: aot_gpr_31 = (0x08AC23C0u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC23C0u) goto L_08AC23C0; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC23C0u) goto L_08AC23C0; AOT_REGCACHE_SYNC_OUT(); return; L_08AC23C0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5892))); @@ -5771,7 +5772,7 @@ L_08AC23D4: L_08AC23DC: aot_gpr_31 = (0x08AC23E4u); aot_gpr_5 = (0u + static_cast(-10001)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC23E4u) goto L_08AC23E4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880682C, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[16], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC23E4u) goto L_08AC23E4; AOT_REGCACHE_SYNC_OUT(); return; L_08AC23E4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5892))); @@ -5790,8 +5791,8 @@ L_08AC23F8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); goto L_08AC2400; L_08AC2400: - ctx.gpr[6] = (2232u << 16u); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(13352)); + aot_gpr_6 = (2232u << 16u); + aot_gpr_6 = (aot_gpr_6 + static_cast(13352)); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08AC2414u); ctx.gpr[7] = (0u | 0u); @@ -5800,8 +5801,8 @@ L_08AC2400: L_08AC2414: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(20), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -5818,9 +5819,9 @@ L_08AC242C: aot_gpr_4 = (aot_gpr_4 + static_cast(13960)); aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(10292))); aot_gpr_5 = (aot_gpr_5 << 2u); - ctx.gpr[6] = (2237u << 16u); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(-30144)); - aot_gpr_5 = (aot_gpr_5 + ctx.gpr[6]); + aot_gpr_6 = (2237u << 16u); + aot_gpr_6 = (aot_gpr_6 + static_cast(-30144)); + aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); jump_target = aot_gpr_31; aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_4); local_pc = jump_target; @@ -5829,8 +5830,8 @@ L_08AC242C: AOT_REGCACHE_SYNC_OUT(); return; L_08AC2458: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08AC2470u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-1092)); @@ -5838,8 +5839,8 @@ L_08AC2458: AOT_REGCACHE_SYNC_OUT(); return; L_08AC2470: aot_gpr_5 = (0u | 1u); - { const bool branch_taken = aot_gpr_16 == aot_gpr_5; - aot_gpr_4 = (ctx.gpr[2] | 0u); + { const bool branch_taken = ctx.gpr[16] == aot_gpr_5; + aot_gpr_4 = (aot_gpr_2 | 0u); if (branch_taken) { goto L_08AC2488; } @@ -5847,7 +5848,7 @@ L_08AC2470: } L_08AC247C: aot_gpr_5 = (0u | 2u); - { const bool branch_taken = aot_gpr_16 != aot_gpr_5; + { const bool branch_taken = ctx.gpr[16] != aot_gpr_5; // nop if (branch_taken) { goto L_08AC249C; @@ -5857,7 +5858,7 @@ L_08AC247C: L_08AC2488: aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08AC2494u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0170_entry, 170u, 610u, 0x08AAEE00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC2494u) goto L_08AC2494; AOT_REGCACHE_SYNC_OUT(); return; L_08AC2494: @@ -5872,36 +5873,36 @@ L_08AC249C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_4); aot_gpr_4 = (2236u << 16u); aot_gpr_31 = (0x08AC24ACu); - aot_gpr_16 = (aot_gpr_4 + static_cast(29232)); + ctx.gpr[16] = (aot_gpr_4 + static_cast(29232)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 87u, 0x08B0C648u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC24ACu) goto L_08AC24AC; AOT_REGCACHE_SYNC_OUT(); return; L_08AC24AC: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AC24B8u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 501u, 0x08ABE57Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC24B8u) goto L_08AC24B8; AOT_REGCACHE_SYNC_OUT(); return; L_08AC24B8: aot_gpr_31 = (0x08AC24C0u); - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 89u, 0x08B0C658u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC24C0u) goto L_08AC24C0; AOT_REGCACHE_SYNC_OUT(); return; L_08AC24C0: - aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x08AC24D4u); - ctx.gpr[6] = (16u << 16u); + aot_gpr_6 = (16u << 16u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0076_entry, 76u, 694u, 0x0893681Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC24D4u) goto L_08AC24D4; AOT_REGCACHE_SYNC_OUT(); return; L_08AC24D4: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AC24E0u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0170_entry, 170u, 721u, 0x08AAF460u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC24E0u) goto L_08AC24E0; AOT_REGCACHE_SYNC_OUT(); return; L_08AC24E0: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -5911,15 +5912,15 @@ L_08AC24E0: AOT_REGCACHE_SYNC_OUT(); return; L_08AC24F0: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_31 = (0x08AC250Cu); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0091_entry, 91u, 743u, 0x08973864u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC250Cu) goto L_08AC250C; AOT_REGCACHE_SYNC_OUT(); return; L_08AC250C: aot_gpr_31 = (0x08AC2514u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0170_entry, 170u, 632u, 0x08AAEF5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC2514u) goto L_08AC2514; AOT_REGCACHE_SYNC_OUT(); return; L_08AC2514: @@ -5938,8 +5939,8 @@ L_08AC2520: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC252Cu) goto L_08AC252C; AOT_REGCACHE_SYNC_OUT(); return; L_08AC252C: - aot_gpr_17 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_08AC2544; @@ -5948,40 +5949,40 @@ L_08AC252C: } L_08AC2538: aot_gpr_31 = (0x08AC2540u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC2540u) goto L_08AC2540; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF42C4, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0188_entry, 188u, 30u, 0x08AF42C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC2540u) goto L_08AC2540; AOT_REGCACHE_SYNC_OUT(); return; L_08AC2540: - ctx.gpr[18] = (aot_gpr_17 | 0u); + ctx.gpr[18] = (ctx.gpr[17] | 0u); goto L_08AC2544; L_08AC2544: aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-1096), ctx.gpr[18]); goto L_08AC2548; L_08AC2548: - aot_gpr_17 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-1096))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-1096))); aot_gpr_31 = (0x08AC2554u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0092_entry, 92u, 129u, 0x089748D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC2554u) goto L_08AC2554; AOT_REGCACHE_SYNC_OUT(); return; L_08AC2554: - ctx.gpr[6] = (ctx.gpr[28] + static_cast(-1084)); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_6 = (ctx.gpr[28] + static_cast(-1084)); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08AC2564u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 58u, 0x08AF4530u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC2564u) goto L_08AC2564; AOT_REGCACHE_SYNC_OUT(); return; L_08AC2564: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-1096))); - aot_gpr_17 = (0u | 1u); + ctx.gpr[17] = (0u | 1u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(10)))))); aot_gpr_4 = (aot_gpr_4 & 63u); - aot_gpr_4 = (aot_gpr_17 << (aot_gpr_4 & 31u)); + aot_gpr_4 = (ctx.gpr[17] << (aot_gpr_4 & 31u)); aot_gpr_5 = (aot_gpr_4 << 16u); aot_gpr_5 = (static_cast(static_cast(aot_gpr_5) >> 16u)); aot_gpr_31 = (0x08AC2590u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0091_entry, 91u, 744u, 0x0897386Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC2590u) goto L_08AC2590; AOT_REGCACHE_SYNC_OUT(); return; L_08AC2590: @@ -5989,9 +5990,9 @@ L_08AC2590: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(11)))))); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (aot_gpr_5 & 63u); - aot_gpr_5 = (aot_gpr_17 << (aot_gpr_5 & 31u)); + aot_gpr_5 = (ctx.gpr[17] << (aot_gpr_5 & 31u)); aot_gpr_5 = (aot_gpr_5 << 16u); aot_gpr_31 = (0x08AC25B8u); aot_gpr_5 = (static_cast(static_cast(aot_gpr_5) >> 16u)); @@ -6005,8 +6006,8 @@ L_08AC25B8: L_08AC25C0: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -6026,10 +6027,10 @@ L_08AC25D8: L_08AC25E0: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-8744))); - ctx.gpr[6] = (17392u << 16u); + aot_gpr_6 = (17392u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); - aot_fpr_13 = std::bit_cast(ctx.gpr[6]); + aot_fpr_13 = std::bit_cast(aot_gpr_6); aot_fpr_12 = aot_fpr_12 / aot_fpr_13; aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-8740))); ctx.gpr[7] = (17288u << 16u); @@ -6037,30 +6038,30 @@ L_08AC25E0: ctx.fpr[18] = static_cast(static_cast(std::bit_cast(ctx.fpr[18]))); aot_fpr_13 = std::bit_cast(ctx.gpr[7]); aot_fpr_13 = ctx.fpr[18] / aot_fpr_13; - ctx.fpr[14] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(8))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(8))); ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(12))); ctx.fpr[17] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); - aot_gpr_4 = (std::bit_cast(ctx.fpr[14])); - { const float fs = ctx.fpr[15]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[15] = std::bit_cast(0x7FC00000u); else ctx.fpr[15] = fs * ft; } + aot_gpr_4 = (std::bit_cast(aot_fpr_14)); + { const float fs = aot_fpr_15; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_15 = std::bit_cast(0x7FC00000u); else aot_fpr_15 = fs * ft; } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_4); ctx.fpr[19] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); { const float fs = ctx.fpr[19]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } { const float fs = ctx.fpr[16]; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[16] = std::bit_cast(0x7FC00000u); else ctx.fpr[16] = fs * ft; } - aot_fpr_0 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); - ctx.fpr[14] = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[16])); - aot_fpr_12 = ctx.fpr[15] - aot_fpr_12; + ctx.fpr[0] = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); + aot_fpr_14 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[16])); + aot_fpr_12 = aot_fpr_15 - aot_fpr_12; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); { const float fs = ctx.fpr[17]; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } - aot_gpr_4 = (std::bit_cast(aot_fpr_0)); - aot_gpr_5 = (std::bit_cast(ctx.fpr[14])); + aot_gpr_4 = (std::bit_cast(ctx.fpr[0])); + aot_gpr_5 = (std::bit_cast(aot_fpr_14)); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<3u>(aot_fpr_12)); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); aot_fpr_13 = aot_fpr_13 - ctx.fpr[16]; - ctx.gpr[6] = (std::bit_cast(aot_fpr_12)); + aot_gpr_6 = (std::bit_cast(aot_fpr_12)); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_13) ^ 0x80000000u); aot_fpr_13 = std::bit_cast(ctx.fpu_float_to_word_ct<3u>(aot_fpr_13)); aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_13))); @@ -6080,7 +6081,7 @@ L_08AC2690: AOT_REGCACHE_SYNC_OUT(); return; L_08AC269C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-8744))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-8744))); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-8740))); aot_gpr_4 = (0u | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); @@ -6098,36 +6099,36 @@ L_08AC26B8: AOT_REGCACHE_SYNC_OUT(); return; L_08AC26C4: aot_gpr_29 = (aot_gpr_29 + static_cast(-80)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), aot_gpr_17); - aot_gpr_17 = (aot_gpr_5 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_5 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), ctx.gpr[19]); - ctx.gpr[19] = (ctx.gpr[6] | 0u); + ctx.gpr[19] = (aot_gpr_6 | 0u); aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[7] + static_cast(0))); - ctx.gpr[6] = (aot_mem.aot_direct_load8(ctx.gpr[7] + static_cast(1))); + aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[7] + static_cast(1))); ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[7] + static_cast(3))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[7] + static_cast(2))); - { const std::uint32_t aot_run_words[6]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30])}; + { const std::uint32_t aot_run_words[6]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(28), aot_run_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(60), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), aot_gpr_31); aot_gpr_31 = (0x08AC2718u); aot_gpr_4 = (aot_gpr_29 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC2718u) goto L_08AC2718; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC2718u) goto L_08AC2718; AOT_REGCACHE_SYNC_OUT(); return; L_08AC2718: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(0))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(12))); - ctx.fpr[14] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(8))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(8))); ctx.gpr[18] = (aot_gpr_29 + static_cast(4)); - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(4))); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(4))); aot_gpr_31 = (0x08AC2734u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC2734u) goto L_08AC2734; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC2734u) goto L_08AC2734; AOT_REGCACHE_SYNC_OUT(); return; L_08AC2734: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(10))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(10))); ctx.fpr[30] = std::bit_cast(aot_gpr_4); { const bool branch_taken = static_cast(aot_gpr_4) >= 0; ctx.fpr[30] = static_cast(static_cast(std::bit_cast(ctx.fpr[30]))); @@ -6143,14 +6144,14 @@ L_08AC2744: goto L_08AC2750; L_08AC2750: aot_gpr_31 = (0x08AC2758u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0091_entry, 91u, 745u, 0x08973874u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC2758u) goto L_08AC2758; AOT_REGCACHE_SYNC_OUT(); return; L_08AC2758: - aot_fpr_12 = std::bit_cast(ctx.gpr[2]); + aot_fpr_12 = std::bit_cast(aot_gpr_2); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_fpr_12 = ctx.fpr[30] / aot_fpr_12; - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(12))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(12))); ctx.fpr[30] = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), std::bit_cast(aot_fpr_12)); { const bool branch_taken = static_cast(aot_gpr_4) >= 0; @@ -6167,18 +6168,18 @@ L_08AC2778: goto L_08AC2784; L_08AC2784: aot_gpr_31 = (0x08AC278Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0091_entry, 91u, 747u, 0x08973884u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC278Cu) goto L_08AC278C; AOT_REGCACHE_SYNC_OUT(); return; L_08AC278C: - aot_fpr_12 = std::bit_cast(ctx.gpr[2]); + aot_fpr_12 = std::bit_cast(aot_gpr_2); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_fpr_12 = ctx.fpr[30] / aot_fpr_12; - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(0)))))); - aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(10))); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(2)))))); - ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(4)))))); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(0)))))); + aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(10))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(2)))))); + ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(4)))))); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[7]); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); ctx.fpr[30] = std::bit_cast(aot_gpr_4); @@ -6197,12 +6198,12 @@ L_08AC27C4: goto L_08AC27D0; L_08AC27D0: aot_gpr_31 = (0x08AC27D8u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0091_entry, 91u, 745u, 0x08973874u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC27D8u) goto L_08AC27D8; AOT_REGCACHE_SYNC_OUT(); return; L_08AC27D8: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(12))); - aot_fpr_12 = std::bit_cast(ctx.gpr[2]); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(12))); + aot_fpr_12 = std::bit_cast(aot_gpr_2); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); ctx.fpr[28] = std::bit_cast(aot_gpr_4); ctx.fpr[30] = ctx.fpr[30] / aot_fpr_12; @@ -6220,17 +6221,17 @@ L_08AC27F4: goto L_08AC2800; L_08AC2800: aot_gpr_31 = (0x08AC2808u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0091_entry, 91u, 747u, 0x08973884u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC2808u) goto L_08AC2808; AOT_REGCACHE_SYNC_OUT(); return; L_08AC2808: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(10))); - aot_fpr_12 = std::bit_cast(ctx.gpr[2]); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(10))); + aot_fpr_12 = std::bit_cast(aot_gpr_2); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); - aot_fpr_20 = std::bit_cast(aot_gpr_4); + ctx.fpr[20] = std::bit_cast(aot_gpr_4); ctx.fpr[28] = ctx.fpr[28] / aot_fpr_12; { const bool branch_taken = static_cast(aot_gpr_4) >= 0; - aot_fpr_20 = static_cast(static_cast(std::bit_cast(aot_fpr_20))); + ctx.fpr[20] = static_cast(static_cast(std::bit_cast(ctx.fpr[20]))); if (branch_taken) { goto L_08AC2830; } @@ -6239,23 +6240,23 @@ L_08AC2808: L_08AC2824: aot_gpr_4 = (20352u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_fpr_20 = aot_fpr_20 + aot_fpr_12; + ctx.fpr[20] = ctx.fpr[20] + aot_fpr_12; goto L_08AC2830; L_08AC2830: aot_gpr_31 = (0x08AC2838u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0091_entry, 91u, 745u, 0x08973874u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC2838u) goto L_08AC2838; AOT_REGCACHE_SYNC_OUT(); return; L_08AC2838: - aot_fpr_12 = std::bit_cast(ctx.gpr[2]); + aot_fpr_12 = std::bit_cast(aot_gpr_2); ctx.fpr[26] = static_cast(static_cast(std::bit_cast(aot_fpr_12))); - ctx.fpr[26] = aot_fpr_20 / ctx.fpr[26]; - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(12))); - aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(6))); + ctx.fpr[26] = ctx.fpr[20] / ctx.fpr[26]; + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(12))); + aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(6))); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); - aot_fpr_20 = std::bit_cast(aot_gpr_4); + ctx.fpr[20] = std::bit_cast(aot_gpr_4); { const bool branch_taken = static_cast(aot_gpr_4) >= 0; - aot_fpr_20 = static_cast(static_cast(std::bit_cast(aot_fpr_20))); + ctx.fpr[20] = static_cast(static_cast(std::bit_cast(ctx.fpr[20]))); if (branch_taken) { goto L_08AC2868; } @@ -6264,27 +6265,27 @@ L_08AC2838: L_08AC285C: aot_gpr_4 = (20352u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_fpr_20 = aot_fpr_20 + aot_fpr_12; + ctx.fpr[20] = ctx.fpr[20] + aot_fpr_12; goto L_08AC2868; L_08AC2868: aot_gpr_31 = (0x08AC2870u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0091_entry, 91u, 747u, 0x08973884u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC2870u) goto L_08AC2870; AOT_REGCACHE_SYNC_OUT(); return; L_08AC2870: - aot_fpr_12 = std::bit_cast(ctx.gpr[2]); + aot_fpr_12 = std::bit_cast(aot_gpr_2); ctx.fpr[24] = static_cast(static_cast(std::bit_cast(aot_fpr_12))); - ctx.fpr[24] = aot_fpr_20 / ctx.fpr[24]; - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(0)))))); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(2)))))); - ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(10))); - ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(4)))))); + ctx.fpr[24] = ctx.fpr[20] / ctx.fpr[24]; + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(0)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(2)))))); + aot_gpr_6 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(10))); + ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(4)))))); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[7]); - aot_gpr_4 = (ctx.gpr[6] + aot_gpr_4); - aot_fpr_20 = std::bit_cast(aot_gpr_4); + aot_gpr_4 = (aot_gpr_6 + aot_gpr_4); + ctx.fpr[20] = std::bit_cast(aot_gpr_4); { const bool branch_taken = static_cast(aot_gpr_4) >= 0; - aot_fpr_20 = static_cast(static_cast(std::bit_cast(aot_fpr_20))); + ctx.fpr[20] = static_cast(static_cast(std::bit_cast(ctx.fpr[20]))); if (branch_taken) { goto L_08AC28B0; } @@ -6293,23 +6294,23 @@ L_08AC2870: L_08AC28A4: aot_gpr_4 = (20352u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_fpr_20 = aot_fpr_20 + aot_fpr_12; + ctx.fpr[20] = ctx.fpr[20] + aot_fpr_12; goto L_08AC28B0; L_08AC28B0: aot_gpr_31 = (0x08AC28B8u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0091_entry, 91u, 745u, 0x08973874u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC28B8u) goto L_08AC28B8; AOT_REGCACHE_SYNC_OUT(); return; L_08AC28B8: - aot_fpr_12 = std::bit_cast(ctx.gpr[2]); + aot_fpr_12 = std::bit_cast(aot_gpr_2); ctx.fpr[22] = static_cast(static_cast(std::bit_cast(aot_fpr_12))); - ctx.fpr[22] = aot_fpr_20 / ctx.fpr[22]; - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(12))); - aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(6))); + ctx.fpr[22] = ctx.fpr[20] / ctx.fpr[22]; + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(12))); + aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(6))); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); - aot_fpr_20 = std::bit_cast(aot_gpr_4); + ctx.fpr[20] = std::bit_cast(aot_gpr_4); { const bool branch_taken = static_cast(aot_gpr_4) >= 0; - aot_fpr_20 = static_cast(static_cast(std::bit_cast(aot_fpr_20))); + ctx.fpr[20] = static_cast(static_cast(std::bit_cast(ctx.fpr[20]))); if (branch_taken) { goto L_08AC28E8; } @@ -6318,23 +6319,23 @@ L_08AC28B8: L_08AC28DC: aot_gpr_4 = (20352u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_fpr_20 = aot_fpr_20 + aot_fpr_12; + ctx.fpr[20] = ctx.fpr[20] + aot_fpr_12; goto L_08AC28E8; L_08AC28E8: aot_gpr_31 = (0x08AC28F0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0091_entry, 91u, 747u, 0x08973884u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC28F0u) goto L_08AC28F0; AOT_REGCACHE_SYNC_OUT(); return; L_08AC28F0: - aot_fpr_12 = std::bit_cast(ctx.gpr[2]); + aot_fpr_12 = std::bit_cast(aot_gpr_2); aot_gpr_4 = (ctx.gpr[18] | 0u); ctx.fpr[19] = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_gpr_5 = (aot_gpr_29 | 0u); - ctx.fpr[19] = aot_fpr_20 / ctx.fpr[19]; + ctx.fpr[19] = ctx.fpr[20] / ctx.fpr[19]; aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); - ctx.fpr[14] = std::bit_cast(std::bit_cast(ctx.fpr[30])); - ctx.fpr[15] = std::bit_cast(std::bit_cast(ctx.fpr[28])); + aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[30])); + aot_fpr_15 = std::bit_cast(std::bit_cast(ctx.fpr[28])); ctx.fpr[16] = std::bit_cast(std::bit_cast(ctx.fpr[26])); ctx.fpr[17] = std::bit_cast(std::bit_cast(ctx.fpr[24])); aot_gpr_31 = (0x08AC2924u); @@ -6344,14 +6345,14 @@ L_08AC28F0: L_08AC2924: { std::uint32_t aot_run_words[11]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(28), aot_run_words); - aot_fpr_20 = std::bit_cast(aot_run_words[0]); + ctx.fpr[20] = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); ctx.fpr[26] = std::bit_cast(aot_run_words[3]); ctx.fpr[28] = std::bit_cast(aot_run_words[4]); ctx.fpr[30] = std::bit_cast(aot_run_words[5]); - aot_gpr_16 = aot_run_words[6]; - aot_gpr_17 = aot_run_words[7]; + ctx.gpr[16] = aot_run_words[6]; + ctx.gpr[17] = aot_run_words[7]; ctx.gpr[18] = aot_run_words[8]; ctx.gpr[19] = aot_run_words[9]; aot_gpr_31 = aot_run_words[10]; @@ -6379,46 +6380,46 @@ L_08AC2968: AOT_REGCACHE_SYNC_OUT(); return; L_08AC2974: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - aot_fpr_12 = std::bit_cast(ctx.gpr[6]); - ctx.fpr[15] = static_cast(static_cast(std::bit_cast(aot_fpr_12))); + aot_fpr_12 = std::bit_cast(aot_gpr_6); + aot_fpr_15 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); - aot_fpr_12 = aot_fpr_13 - ctx.fpr[15]; - ctx.fpr[14] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(12))); - aot_fpr_13 = ctx.fpr[14] - ctx.fpr[15]; + aot_fpr_12 = aot_fpr_13 - aot_fpr_15; + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(12))); + aot_fpr_13 = aot_fpr_14 - aot_fpr_15; ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(8))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[16]); ctx.fpr[17] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); - aot_gpr_16 = (ctx.gpr[7] | 0u); + ctx.gpr[16] = (ctx.gpr[7] | 0u); aot_gpr_4 = (aot_gpr_29 | 0u); - ctx.fpr[14] = ctx.fpr[16] + ctx.fpr[15]; - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_17); + aot_fpr_14 = ctx.fpr[16] + aot_fpr_15; + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_31); aot_gpr_31 = (0x08AC29B8u); - ctx.fpr[15] = ctx.fpr[17] + ctx.fpr[15]; - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC29B8u) goto L_08AC29B8; + aot_fpr_15 = ctx.fpr[17] + aot_fpr_15; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC29B8u) goto L_08AC29B8; AOT_REGCACHE_SYNC_OUT(); return; L_08AC29B8: - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(0))); - ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1))); - ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(2))); - aot_gpr_17 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(0))); + aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(1))); + ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(2))); + ctx.gpr[17] = (aot_gpr_2 | 0u); aot_gpr_4 = (aot_gpr_29 + static_cast(16)); aot_gpr_31 = (0x08AC29D4u); - ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(3))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC29D4u) goto L_08AC29D4; + ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(3))); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC29D4u) goto L_08AC29D4; AOT_REGCACHE_SYNC_OUT(); return; L_08AC29D4: - aot_gpr_4 = (aot_gpr_17 | 0u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08AC29E4u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 107u, 0x08AF5130u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC29E4u) goto L_08AC29E4; AOT_REGCACHE_SYNC_OUT(); return; L_08AC29E4: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(20), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -6429,144 +6430,144 @@ L_08AC29E4: AOT_REGCACHE_SYNC_OUT(); return; L_08AC29F8: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - aot_fpr_12 = std::bit_cast(ctx.gpr[6]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), std::bit_cast(aot_fpr_20)); - aot_fpr_20 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_16); - aot_gpr_16 = (aot_gpr_5 | 0u); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - aot_fpr_12 = aot_fpr_13 - aot_fpr_20; - ctx.fpr[14] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(12))); - aot_fpr_13 = ctx.fpr[14] - aot_fpr_20; - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); + aot_fpr_12 = std::bit_cast(aot_gpr_6); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), std::bit_cast(ctx.fpr[20])); + ctx.fpr[20] = static_cast(static_cast(std::bit_cast(aot_fpr_12))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_5 | 0u); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); + aot_fpr_12 = aot_fpr_13 - ctx.fpr[20]; + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(12))); + aot_fpr_13 = aot_fpr_14 - ctx.fpr[20]; + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(8))); aot_gpr_5 = (16256u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), std::bit_cast(ctx.fpr[22])); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), ctx.gpr[17]); ctx.fpr[22] = std::bit_cast(aot_gpr_5); - aot_gpr_17 = (ctx.gpr[7] | 0u); - ctx.fpr[14] = ctx.fpr[15] + aot_fpr_20; + ctx.gpr[17] = (ctx.gpr[7] | 0u); + aot_fpr_14 = aot_fpr_15 + ctx.fpr[20]; aot_gpr_4 = (aot_gpr_29 | 0u); { const std::uint32_t aot_run_words[3]{ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(36), aot_run_words); } aot_gpr_31 = (0x08AC2A54u); - ctx.fpr[15] = aot_fpr_13 + ctx.fpr[22]; - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC2A54u) goto L_08AC2A54; + aot_fpr_15 = aot_fpr_13 + ctx.fpr[22]; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC2A54u) goto L_08AC2A54; AOT_REGCACHE_SYNC_OUT(); return; L_08AC2A54: - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(0))); - ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(1))); - ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(2))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(0))); + aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(1))); + ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(2))); ctx.gpr[18] = (aot_gpr_29 + static_cast(16)); - ctx.gpr[19] = (ctx.gpr[2] | 0u); - ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(3))); + ctx.gpr[19] = (aot_gpr_2 | 0u); + ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(3))); aot_gpr_31 = (0x08AC2A74u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC2A74u) goto L_08AC2A74; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC2A74u) goto L_08AC2A74; AOT_REGCACHE_SYNC_OUT(); return; L_08AC2A74: aot_gpr_4 = (ctx.gpr[19] | 0u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08AC2A84u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 107u, 0x08AF5130u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC2A84u) goto L_08AC2A84; AOT_REGCACHE_SYNC_OUT(); return; L_08AC2A84: { std::uint32_t aot_run_words[3]{}; - aot_mem.aot_direct_load32_block(aot_gpr_16 + static_cast(0), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[16] + static_cast(0), aot_run_words); aot_fpr_12 = std::bit_cast(aot_run_words[0]); aot_fpr_13 = std::bit_cast(aot_run_words[1]); - ctx.fpr[14] = std::bit_cast(aot_run_words[2]); + aot_fpr_14 = std::bit_cast(aot_run_words[2]); } - aot_fpr_12 = aot_fpr_12 - aot_fpr_20; - aot_fpr_13 = aot_fpr_13 + aot_fpr_20; + aot_fpr_12 = aot_fpr_12 - ctx.fpr[20]; + aot_fpr_13 = aot_fpr_13 + ctx.fpr[20]; aot_gpr_4 = (aot_gpr_29 | 0u); - ctx.fpr[14] = ctx.fpr[14] + aot_fpr_20; + aot_fpr_14 = aot_fpr_14 + ctx.fpr[20]; aot_gpr_31 = (0x08AC2AA8u); - ctx.fpr[15] = aot_fpr_13 - ctx.fpr[22]; - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC2AA8u) goto L_08AC2AA8; + aot_fpr_15 = aot_fpr_13 - ctx.fpr[22]; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC2AA8u) goto L_08AC2AA8; AOT_REGCACHE_SYNC_OUT(); return; L_08AC2AA8: - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(0))); - ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(1))); - ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(2))); - ctx.gpr[19] = (ctx.gpr[2] | 0u); - ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(3))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(0))); + aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(1))); + ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(2))); + ctx.gpr[19] = (aot_gpr_2 | 0u); + ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(3))); aot_gpr_31 = (0x08AC2AC4u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC2AC4u) goto L_08AC2AC4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC2AC4u) goto L_08AC2AC4; AOT_REGCACHE_SYNC_OUT(); return; L_08AC2AC4: aot_gpr_4 = (ctx.gpr[19] | 0u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08AC2AD4u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 107u, 0x08AF5130u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC2AD4u) goto L_08AC2AD4; AOT_REGCACHE_SYNC_OUT(); return; L_08AC2AD4: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(12))); - ctx.fpr[14] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); - aot_fpr_12 = aot_fpr_12 - aot_fpr_20; - aot_fpr_13 = aot_fpr_13 - aot_fpr_20; + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(12))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); + aot_fpr_12 = aot_fpr_12 - ctx.fpr[20]; + aot_fpr_13 = aot_fpr_13 - ctx.fpr[20]; aot_gpr_4 = (aot_gpr_29 | 0u); - ctx.fpr[15] = ctx.fpr[14] + aot_fpr_20; + aot_fpr_15 = aot_fpr_14 + ctx.fpr[20]; aot_gpr_31 = (0x08AC2AF8u); - ctx.fpr[14] = aot_fpr_12 + ctx.fpr[22]; - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC2AF8u) goto L_08AC2AF8; + aot_fpr_14 = aot_fpr_12 + ctx.fpr[22]; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC2AF8u) goto L_08AC2AF8; AOT_REGCACHE_SYNC_OUT(); return; L_08AC2AF8: - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(0))); - ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(1))); - ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(2))); - ctx.gpr[19] = (ctx.gpr[2] | 0u); - ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(3))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(0))); + aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(1))); + ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(2))); + ctx.gpr[19] = (aot_gpr_2 | 0u); + ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(3))); aot_gpr_31 = (0x08AC2B14u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC2B14u) goto L_08AC2B14; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC2B14u) goto L_08AC2B14; AOT_REGCACHE_SYNC_OUT(); return; L_08AC2B14: aot_gpr_4 = (ctx.gpr[19] | 0u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08AC2B24u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 107u, 0x08AF5130u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC2B24u) goto L_08AC2B24; AOT_REGCACHE_SYNC_OUT(); return; L_08AC2B24: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(12))); - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); - aot_fpr_12 = aot_fpr_12 + aot_fpr_20; - aot_fpr_13 = aot_fpr_13 - aot_fpr_20; + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(8))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(12))); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); + aot_fpr_12 = aot_fpr_12 + ctx.fpr[20]; + aot_fpr_13 = aot_fpr_13 - ctx.fpr[20]; aot_gpr_4 = (aot_gpr_29 | 0u); - ctx.fpr[15] = ctx.fpr[15] + aot_fpr_20; + aot_fpr_15 = aot_fpr_15 + ctx.fpr[20]; aot_gpr_31 = (0x08AC2B48u); - ctx.fpr[14] = aot_fpr_12 - ctx.fpr[22]; - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC2B48u) goto L_08AC2B48; + aot_fpr_14 = aot_fpr_12 - ctx.fpr[22]; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC2B48u) goto L_08AC2B48; AOT_REGCACHE_SYNC_OUT(); return; L_08AC2B48: - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(0))); - ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(1))); - ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(2))); - aot_gpr_16 = (ctx.gpr[2] | 0u); - ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(3))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(0))); + aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(1))); + ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(2))); + ctx.gpr[16] = (aot_gpr_2 | 0u); + ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(3))); aot_gpr_31 = (0x08AC2B64u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC2B64u) goto L_08AC2B64; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC2B64u) goto L_08AC2B64; AOT_REGCACHE_SYNC_OUT(); return; L_08AC2B64: - aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08AC2B74u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 107u, 0x08AF5130u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC2B74u) goto L_08AC2B74; AOT_REGCACHE_SYNC_OUT(); return; L_08AC2B74: { std::uint32_t aot_run_words[7]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(20), aot_run_words); - aot_fpr_20 = std::bit_cast(aot_run_words[0]); + ctx.fpr[20] = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); - aot_gpr_16 = aot_run_words[2]; - aot_gpr_17 = aot_run_words[3]; + ctx.gpr[16] = aot_run_words[2]; + ctx.gpr[17] = aot_run_words[3]; ctx.gpr[18] = aot_run_words[4]; ctx.gpr[19] = aot_run_words[5]; aot_gpr_31 = aot_run_words[6]; @@ -6579,23 +6580,23 @@ L_08AC2B74: AOT_REGCACHE_SYNC_OUT(); return; L_08AC2B98: aot_gpr_29 = (aot_gpr_29 + static_cast(-64)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[8]); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); - ctx.gpr[10] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); + ctx.gpr[10] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_4 = (ctx.gpr[9] & 255u); ctx.gpr[7] = (ctx.gpr[7] - ctx.gpr[10]); ctx.gpr[9] = (static_cast(static_cast(ctx.gpr[7]) >> 2u)); ctx.gpr[9] = (ctx.gpr[9] >> 30u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), aot_gpr_17); - aot_gpr_17 = (ctx.gpr[7] + ctx.gpr[9]); - aot_gpr_17 = (static_cast(static_cast(aot_gpr_17) >> 2u)); - ctx.gpr[7] = (aot_gpr_17 < ctx.gpr[8] ? 1u : 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), ctx.gpr[17]); + ctx.gpr[17] = (ctx.gpr[7] + ctx.gpr[9]); + ctx.gpr[17] = (static_cast(static_cast(ctx.gpr[17]) >> 2u)); + ctx.gpr[7] = (ctx.gpr[17] < ctx.gpr[8] ? 1u : 0u); { const std::uint32_t aot_run_words[5]{ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(36), aot_run_words); } { const bool branch_taken = ctx.gpr[7] == 0u; - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); if (branch_taken) { goto L_08AC2BF8; } @@ -6604,7 +6605,7 @@ L_08AC2B98: L_08AC2BEC: ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (aot_gpr_17 + ctx.gpr[7]); + ctx.gpr[17] = (ctx.gpr[17] + ctx.gpr[7]); if (branch_taken) { goto L_08AC2C04; } @@ -6613,10 +6614,10 @@ L_08AC2BEC: L_08AC2BF8: ctx.gpr[7] = (aot_gpr_29 + static_cast(4)); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(0))); - aot_gpr_17 = (aot_gpr_17 + ctx.gpr[7]); + ctx.gpr[17] = (ctx.gpr[17] + ctx.gpr[7]); goto L_08AC2C04; L_08AC2C04: - { const bool branch_taken = aot_gpr_17 == 0u; + { const bool branch_taken = ctx.gpr[17] == 0u; ctx.gpr[19] = (0u | 0u); if (branch_taken) { goto L_08AC2C60; @@ -6625,8 +6626,8 @@ L_08AC2C04: } L_08AC2C0C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[6]); - aot_gpr_4 = (aot_gpr_17 << 2u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_6); + aot_gpr_4 = (ctx.gpr[17] << 2u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_5); aot_gpr_31 = (0x08AC2C24u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_4); @@ -6636,10 +6637,10 @@ L_08AC2C24: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(12), aot_run_words); aot_gpr_5 = aot_run_words[0]; - ctx.gpr[6] = aot_run_words[1]; + aot_gpr_6 = aot_run_words[1]; ctx.gpr[7] = aot_run_words[2]; } - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[19] != 0u; aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); if (branch_taken) { @@ -6649,7 +6650,7 @@ L_08AC2C24: } L_08AC2C3C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[6]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_5); aot_gpr_31 = (0x08AC2C50u); aot_gpr_4 = (ctx.gpr[7] | 0u); @@ -6657,12 +6658,12 @@ L_08AC2C3C: AOT_REGCACHE_SYNC_OUT(); return; L_08AC2C50: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); - ctx.gpr[19] = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); + ctx.gpr[19] = (aot_gpr_2 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); goto L_08AC2C60; L_08AC2C60: - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); ctx.gpr[18] = (ctx.gpr[19] | 0u); { const bool branch_taken = ctx.gpr[7] == aot_gpr_5; aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(8), static_cast(0u)); @@ -6721,9 +6722,9 @@ L_08AC2CB8: goto L_08AC2CC4; } L_08AC2CC4: - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(0))); - aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(0), ctx.gpr[6]); - ctx.gpr[7] = (ctx.gpr[6] | 0u); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); + aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(0), aot_gpr_6); + ctx.gpr[7] = (aot_gpr_6 | 0u); { const bool branch_taken = ctx.gpr[7] == 0u; // nop if (branch_taken) { @@ -6732,14 +6733,14 @@ L_08AC2CC4: goto L_08AC2CD8; } L_08AC2CD8: - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(0))); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(1)); - aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(0), ctx.gpr[6]); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(0))); + aot_gpr_6 = (aot_gpr_6 + static_cast(1)); + aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(0), aot_gpr_6); goto L_08AC2CE4; L_08AC2CE4: ctx.gpr[19] = (ctx.gpr[19] + static_cast(4)); { const bool branch_taken = 0u == 0u; - ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + ctx.gpr[20] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); if (branch_taken) { goto L_08AC2D34; } @@ -6761,7 +6762,7 @@ L_08AC2CF8: } goto L_08AC2D04; L_08AC2D04: - ctx.gpr[9] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(0))); + ctx.gpr[9] = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); aot_mem.aot_direct_store32(ctx.gpr[8] + static_cast(0), ctx.gpr[9]); ctx.gpr[8] = (ctx.gpr[9] | 0u); if (ctx.gpr[8] == 0u) { @@ -6784,7 +6785,7 @@ L_08AC2D28: goto L_08AC2D30; } L_08AC2D30: - ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + ctx.gpr[20] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); goto L_08AC2D34; L_08AC2D34: { const bool branch_taken = aot_gpr_4 != 0u; @@ -6805,25 +6806,25 @@ L_08AC2D3C: goto L_08AC2D4C; } L_08AC2D4C: - ctx.gpr[6] = (ctx.gpr[19] | 0u); - if (ctx.gpr[6] == 0u) { + aot_gpr_6 = (ctx.gpr[19] | 0u); + if (aot_gpr_6 == 0u) { aot_gpr_4 = (aot_gpr_4 + static_cast(4)); goto L_08AC2D7C; } goto L_08AC2D58; L_08AC2D58: ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(0), ctx.gpr[7]); - ctx.gpr[6] = (ctx.gpr[7] | 0u); - if (ctx.gpr[6] == 0u) { + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(0), ctx.gpr[7]); + aot_gpr_6 = (ctx.gpr[7] | 0u); + if (aot_gpr_6 == 0u) { aot_gpr_4 = (aot_gpr_4 + static_cast(4)); goto L_08AC2D7C; } goto L_08AC2D6C; L_08AC2D6C: - ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(0))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); ctx.gpr[7] = (ctx.gpr[7] + static_cast(1)); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(0), ctx.gpr[7]); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(0), ctx.gpr[7]); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); goto L_08AC2D7C; L_08AC2D7C: @@ -6835,10 +6836,10 @@ L_08AC2D7C: goto L_08AC2D84; } L_08AC2D84: - ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + ctx.gpr[20] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); goto L_08AC2D88; L_08AC2D88: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); ctx.gpr[21] = (aot_gpr_4 | 0u); { const bool branch_taken = ctx.gpr[21] == ctx.gpr[20]; aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(11), static_cast(0u)); @@ -6879,7 +6880,7 @@ L_08AC2DB4: L_08AC2DC4: aot_gpr_31 = (0x08AC2DCCu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC2DCCu) goto L_08AC2DCC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC2DCCu) goto L_08AC2DCC; AOT_REGCACHE_SYNC_OUT(); return; L_08AC2DCC: ctx.gpr[21] = (ctx.gpr[21] + static_cast(4)); @@ -6893,7 +6894,7 @@ L_08AC2DD0: goto L_08AC2DD8; } L_08AC2DD8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); goto L_08AC2DDC; L_08AC2DDC: { const bool branch_taken = aot_gpr_4 == 0u; @@ -6906,18 +6907,18 @@ L_08AC2DDC: L_08AC2DE4: aot_gpr_31 = (0x08AC2DECu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC2DECu) goto L_08AC2DEC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC2DECu) goto L_08AC2DEC; AOT_REGCACHE_SYNC_OUT(); return; L_08AC2DEC: - aot_gpr_4 = (aot_gpr_17 << 2u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), ctx.gpr[18]); + aot_gpr_4 = (ctx.gpr[17] << 2u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), ctx.gpr[18]); aot_gpr_4 = (ctx.gpr[18] + aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), ctx.gpr[19]); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(8), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(4), ctx.gpr[19]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(8), aot_gpr_4); { std::uint32_t aot_run_words[7]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(28), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -6932,11 +6933,11 @@ L_08AC2DEC: AOT_REGCACHE_SYNC_OUT(); return; L_08AC2E24: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); aot_gpr_31 = (0x08AC2E38u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC2E38u) goto L_08AC2E38; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C05C, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[16], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC2E38u) goto L_08AC2E38; AOT_REGCACHE_SYNC_OUT(); return; L_08AC2E38: aot_gpr_31 = (0x08AC2E40u); @@ -6944,7 +6945,7 @@ L_08AC2E38: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 89u, 0x08B0C658u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC2E40u) goto L_08AC2E40; AOT_REGCACHE_SYNC_OUT(); return; L_08AC2E40: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08AC2F60; @@ -6952,14 +6953,14 @@ L_08AC2E40: goto L_08AC2E48; } L_08AC2E48: - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); aot_gpr_31 = (0x08AC2E54u); aot_gpr_4 = (0u | 12u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC2E54u) goto L_08AC2E54; AOT_REGCACHE_SYNC_OUT(); return; L_08AC2E54: aot_gpr_4 = (2236u << 16u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_4 = (aot_gpr_4 + static_cast(29232)); if (branch_taken) { @@ -6968,36 +6969,36 @@ L_08AC2E54: goto L_08AC2E64; } L_08AC2E64: - ctx.gpr[6] = (2235u << 16u); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(-27964)); - aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(4), ctx.gpr[6]); - ctx.gpr[6] = (2235u << 16u); + aot_gpr_6 = (2235u << 16u); + aot_gpr_6 = (aot_gpr_6 + static_cast(-27964)); + aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(4), aot_gpr_6); + aot_gpr_6 = (2235u << 16u); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), 0u); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(-27932)); - aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(4), ctx.gpr[6]); - ctx.gpr[6] = (2220u << 16u); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(9304)); - aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(8), ctx.gpr[6]); - aot_gpr_16 = (aot_gpr_5 | 0u); + aot_gpr_6 = (aot_gpr_6 + static_cast(-27932)); + aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(4), aot_gpr_6); + aot_gpr_6 = (2220u << 16u); + aot_gpr_6 = (aot_gpr_6 + static_cast(9304)); + aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(8), aot_gpr_6); + ctx.gpr[16] = (aot_gpr_5 | 0u); goto L_08AC2E90; L_08AC2E90: - { const bool branch_taken = aot_gpr_16 == 0u; - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + { const bool branch_taken = ctx.gpr[16] == 0u; + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); if (branch_taken) { goto L_08AC2EA4; } goto L_08AC2E98; } L_08AC2E98: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_5 = (aot_gpr_5 + static_cast(1)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), aot_gpr_5); goto L_08AC2EA4; L_08AC2EA4: - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(308))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(308))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(312))); - { const bool branch_taken = ctx.gpr[6] == aot_gpr_5; - aot_gpr_5 = (ctx.gpr[6] | 0u); + { const bool branch_taken = aot_gpr_6 == aot_gpr_5; + aot_gpr_5 = (aot_gpr_6 | 0u); if (branch_taken) { goto L_08AC2EE8; } @@ -7005,31 +7006,31 @@ L_08AC2EA4: } L_08AC2EB4: { const bool branch_taken = aot_gpr_5 == 0u; - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); if (branch_taken) { goto L_08AC2ED8; } goto L_08AC2EBC; } L_08AC2EBC: - { const bool branch_taken = aot_gpr_16 == 0u; - aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_16); + { const bool branch_taken = ctx.gpr[16] == 0u; + aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), ctx.gpr[16]); if (branch_taken) { goto L_08AC2ED0; } goto L_08AC2EC4; } L_08AC2EC4: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_5 = (aot_gpr_5 + static_cast(1)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), aot_gpr_5); goto L_08AC2ED0; L_08AC2ED0: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(308))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(308))); goto L_08AC2ED8; L_08AC2ED8: - aot_gpr_5 = (ctx.gpr[6] + static_cast(4)); + aot_gpr_5 = (aot_gpr_6 + static_cast(4)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(308), aot_gpr_5); { const bool branch_taken = 0u == 0u; aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(301))); @@ -7040,18 +7041,18 @@ L_08AC2ED8: } L_08AC2EE8: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_4); - aot_gpr_5 = (ctx.gpr[6] | 0u); + aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_4 = (aot_gpr_4 + static_cast(304)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(4), static_cast(0u)); ctx.gpr[7] = (aot_gpr_29 + static_cast(4)); - ctx.gpr[6] = (aot_gpr_29 | 0u); + aot_gpr_6 = (aot_gpr_29 | 0u); ctx.gpr[8] = (0u | 1u); aot_gpr_31 = (0x08AC2F0Cu); ctx.gpr[9] = (0u | 1u); goto L_08AC2B98; L_08AC2F0C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(301))); goto L_08AC2F18; L_08AC2F18: @@ -7063,22 +7064,22 @@ L_08AC2F18: goto L_08AC2F20; } L_08AC2F20: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_gpr_5 = (0u | 0u); aot_gpr_4 = (aot_gpr_4 + static_cast(8)); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x08AC2F3Cu); - aot_gpr_4 = (aot_gpr_16 + ctx.gpr[6]); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_6); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC2F3Cu) goto L_08AC2F3C; AOT_REGCACHE_SYNC_OUT(); return; L_08AC2F3C: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); goto L_08AC2F40; L_08AC2F40: - { const bool branch_taken = aot_gpr_16 == 0u; + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08AC2F60; @@ -7086,10 +7087,10 @@ L_08AC2F40: goto L_08AC2F48; } L_08AC2F48: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_4 = (aot_gpr_4 + static_cast(-1)); { const bool branch_taken = aot_gpr_4 != 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), aot_gpr_4); if (branch_taken) { goto L_08AC2F60; } @@ -7097,11 +7098,11 @@ L_08AC2F48: } L_08AC2F58: aot_gpr_31 = (0x08AC2F60u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC2F60u) goto L_08AC2F60; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC2F60u) goto L_08AC2F60; AOT_REGCACHE_SYNC_OUT(); return; L_08AC2F60: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); @@ -7110,15 +7111,15 @@ L_08AC2F60: ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08AC2F70: - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_5 = (0u | 0u); goto L_08AC2F78; L_08AC2F78: ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(1)); + aot_gpr_6 = (aot_gpr_6 + static_cast(1)); ctx.gpr[7] = (ctx.gpr[7] + aot_gpr_5); aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(128), 0u); - ctx.gpr[7] = (static_cast(ctx.gpr[6]) < 90 ? 1u : 0u); + ctx.gpr[7] = (static_cast(aot_gpr_6) < 90 ? 1u : 0u); { const bool branch_taken = ctx.gpr[7] != 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(132)); if (branch_taken) { @@ -7148,7 +7149,7 @@ L_08AC2FA4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 349u, 0x08871308u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC2FB4u) goto L_08AC2FB4; AOT_REGCACHE_SYNC_OUT(); return; L_08AC2FB4: - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -7166,13 +7167,13 @@ L_08AC2FD4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-8744))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-8740))); aot_gpr_31 = (0x08AC2FE4u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0077_entry, 77u, 592u, 0x0893A824u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC2FE4u) goto L_08AC2FE4; AOT_REGCACHE_SYNC_OUT(); return; L_08AC2FE4: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_4 == 0u; - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8896), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8896), aot_gpr_2); if (branch_taken) { goto L_08AC308C; } @@ -7193,15 +7194,15 @@ L_08AC2FFC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 111u, 0x08890798u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC3010u) goto L_08AC3010; AOT_REGCACHE_SYNC_OUT(); return; L_08AC3010: - ctx.gpr[6] = (16179u << 16u); - ctx.gpr[6] = (ctx.gpr[6] | 13107u); - aot_fpr_12 = std::bit_cast(ctx.gpr[6]); + aot_gpr_6 = (16179u << 16u); + aot_gpr_6 = (aot_gpr_6 | 13107u); + aot_fpr_12 = std::bit_cast(aot_gpr_6); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8896))); - ctx.gpr[6] = (16298u << 16u); - ctx.gpr[6] = (ctx.gpr[6] | 43691u); + aot_gpr_6 = (16298u << 16u); + aot_gpr_6 = (aot_gpr_6 | 43691u); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08AC3034u); - aot_fpr_13 = std::bit_cast(ctx.gpr[6]); + aot_fpr_13 = std::bit_cast(aot_gpr_6); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0077_entry, 77u, 586u, 0x0893A7A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC3034u) goto L_08AC3034; AOT_REGCACHE_SYNC_OUT(); return; L_08AC3034: @@ -7220,7 +7221,7 @@ L_08AC3044: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0170_entry, 170u, 549u, 0x08AAEAA0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC304Cu) goto L_08AC304C; AOT_REGCACHE_SYNC_OUT(); return; L_08AC304C: - ctx.gpr[6] = (ctx.gpr[28] + static_cast(-1004)); + aot_gpr_6 = (ctx.gpr[28] + static_cast(-1004)); aot_gpr_4 = (0u | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08AC3060u); @@ -7261,7 +7262,7 @@ L_08AC3084: } L_08AC308C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08AC30AC; } @@ -7281,7 +7282,7 @@ L_08AC30A0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0109_entry, 109u, 583u, 0x089BABC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC30A8u) goto L_08AC30A8; AOT_REGCACHE_SYNC_OUT(); return; L_08AC30A8: - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); goto L_08AC30AC; L_08AC30AC: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -7294,12 +7295,12 @@ L_08AC30AC: L_08AC30B8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (2237u << 16u); - { const std::uint32_t aot_run_words[3]{aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (2237u << 16u); + { const std::uint32_t aot_run_words[3]{ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(4), aot_run_words); } { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_16 = (aot_gpr_16 + static_cast(-28416)); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(-28416)); if (branch_taken) { goto L_08AC3104; } @@ -7312,8 +7313,8 @@ L_08AC30DC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC30E8u) goto L_08AC30E8; AOT_REGCACHE_SYNC_OUT(); return; L_08AC30E8: - aot_gpr_17 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_08AC3100; @@ -7322,11 +7323,11 @@ L_08AC30E8: } L_08AC30F4: aot_gpr_31 = (0x08AC30FCu); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC30FCu) goto L_08AC30FC; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC30FCu) goto L_08AC30FC; AOT_REGCACHE_SYNC_OUT(); return; L_08AC30FC: - ctx.gpr[18] = (aot_gpr_17 | 0u); + ctx.gpr[18] = (ctx.gpr[17] | 0u); goto L_08AC3100; L_08AC3100: aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), ctx.gpr[18]); @@ -7348,17 +7349,17 @@ L_08AC310C: L_08AC3118: aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7688), aot_gpr_4); aot_gpr_31 = (0x08AC3124u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0010_entry, 10u, 286u, 0x0882D794u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC3124u) goto L_08AC3124; AOT_REGCACHE_SYNC_OUT(); return; L_08AC3124: aot_gpr_31 = (0x08AC312Cu); aot_gpr_4 = (ctx.gpr[28] + static_cast(-1032)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC312Cu) goto L_08AC312C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC312Cu) goto L_08AC312C; AOT_REGCACHE_SYNC_OUT(); return; L_08AC312C: aot_gpr_31 = (0x08AC3134u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0010_entry, 10u, 378u, 0x0882DD8Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC3134u) goto L_08AC3134; AOT_REGCACHE_SYNC_OUT(); return; L_08AC3134: @@ -7377,11 +7378,11 @@ L_08AC3144: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 491u, 0x08A05EBCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC314Cu) goto L_08AC314C; AOT_REGCACHE_SYNC_OUT(); return; L_08AC314C: - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -7393,7 +7394,7 @@ L_08AC314C: AOT_REGCACHE_SYNC_OUT(); return; L_08AC3168: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[16], ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_31 = (0x08AC3180u); aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); @@ -7405,25 +7406,25 @@ L_08AC3180: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0086_entry, 86u, 86u, 0x0895CC70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC3188u) goto L_08AC3188; AOT_REGCACHE_SYNC_OUT(); return; L_08AC3188: - aot_gpr_16 = (2238u << 16u); - aot_gpr_17 = (0u | 0u); - aot_gpr_16 = (aot_gpr_16 + static_cast(-6992)); + ctx.gpr[16] = (2238u << 16u); + ctx.gpr[17] = (0u | 0u); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(-6992)); goto L_08AC3194; L_08AC3194: - aot_gpr_4 = (aot_gpr_17 + aot_gpr_17); - aot_gpr_4 = (aot_gpr_17 + aot_gpr_4); - aot_gpr_5 = (aot_gpr_17 << 8u); + aot_gpr_4 = (ctx.gpr[17] + ctx.gpr[17]); + aot_gpr_4 = (ctx.gpr[17] + aot_gpr_4); + aot_gpr_5 = (ctx.gpr[17] << 8u); aot_gpr_4 = (aot_gpr_4 << 5u); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_31 = (0x08AC31B0u); - aot_gpr_4 = (aot_gpr_4 + aot_gpr_16); + aot_gpr_4 = (aot_gpr_4 + ctx.gpr[16]); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 87u, 0x089606D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC31B0u) goto L_08AC31B0; AOT_REGCACHE_SYNC_OUT(); return; L_08AC31B0: - aot_gpr_4 = (aot_gpr_17 + static_cast(1)); - aot_gpr_17 = (aot_gpr_4 << 16u); - aot_gpr_17 = (static_cast(static_cast(aot_gpr_17) >> 16u)); - aot_gpr_4 = (static_cast(aot_gpr_17) < 1 ? 1u : 0u); + aot_gpr_4 = (ctx.gpr[17] + static_cast(1)); + ctx.gpr[17] = (aot_gpr_4 << 16u); + ctx.gpr[17] = (static_cast(static_cast(ctx.gpr[17]) >> 16u)); + aot_gpr_4 = (static_cast(ctx.gpr[17]) < 1 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -7536,8 +7537,8 @@ L_08AC3260: L_08AC3268: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -7551,27 +7552,27 @@ L_08AC327C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-8744))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-8740))); aot_fpr_12 = std::bit_cast(0u); - ctx.fpr[14] = std::bit_cast(aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_16); + aot_fpr_14 = std::bit_cast(aot_gpr_4); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[16]); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_gpr_29 | 0u); - ctx.fpr[15] = std::bit_cast(aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_17); - ctx.fpr[14] = static_cast(static_cast(std::bit_cast(ctx.fpr[14]))); + aot_fpr_15 = std::bit_cast(aot_gpr_5); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), ctx.gpr[17]); + aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), aot_gpr_31); aot_gpr_31 = (0x08AC32B8u); - ctx.fpr[15] = static_cast(static_cast(std::bit_cast(ctx.fpr[15]))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC32B8u) goto L_08AC32B8; + aot_fpr_15 = static_cast(static_cast(std::bit_cast(aot_fpr_15))); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC32B8u) goto L_08AC32B8; AOT_REGCACHE_SYNC_OUT(); return; L_08AC32B8: aot_gpr_4 = (aot_gpr_29 + static_cast(16)); aot_gpr_5 = (0u | 255u); - ctx.gpr[6] = (0u | 255u); + aot_gpr_6 = (0u | 255u); ctx.gpr[7] = (0u | 255u); aot_gpr_31 = (0x08AC32D0u); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC32D0u) goto L_08AC32D0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC32D0u) goto L_08AC32D0; AOT_REGCACHE_SYNC_OUT(); return; L_08AC32D0: aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-16968), static_cast(0u)); @@ -7591,7 +7592,7 @@ L_08AC32E0: L_08AC32F4: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(4211))); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_16 = (ctx.gpr[28] + static_cast(7768)); + ctx.gpr[16] = (ctx.gpr[28] + static_cast(7768)); if (branch_taken) { goto L_08AC3308; } @@ -7609,7 +7610,7 @@ L_08AC3308: L_08AC3310: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(4211))); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_17 = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); if (branch_taken) { goto L_08AC33DC; } @@ -7622,7 +7623,7 @@ L_08AC331C: AOT_REGCACHE_SYNC_OUT(); return; L_08AC3324: aot_gpr_4 = (0u | 1u); - { const bool branch_taken = aot_gpr_17 != aot_gpr_4; + { const bool branch_taken = ctx.gpr[17] != aot_gpr_4; // nop if (branch_taken) { goto L_08AC334C; @@ -7632,7 +7633,7 @@ L_08AC3324: L_08AC3330: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_31 = (0x08AC333Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 563u, 0x08A063ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC333Cu) goto L_08AC333C; AOT_REGCACHE_SYNC_OUT(); return; L_08AC333C: @@ -7661,7 +7662,7 @@ L_08AC3358: aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(10293), static_cast(0u)); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (0u | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x08AC3370u); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0134_entry, 134u, 156u, 0x08A1CF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC3370u) goto L_08AC3370; @@ -7700,7 +7701,7 @@ L_08AC3398: L_08AC33A0: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (0u | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x08AC33B4u); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0134_entry, 134u, 156u, 0x08A1CF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC33B4u) goto L_08AC33B4; @@ -7735,7 +7736,7 @@ L_08AC33DC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0131_entry, 131u, 128u, 0x08A11214u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC33E8u) goto L_08AC33E8; AOT_REGCACHE_SYNC_OUT(); return; L_08AC33E8: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AC33F4u); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 565u, 0x08A063CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC33F4u) goto L_08AC33F4; @@ -7746,8 +7747,8 @@ L_08AC33F4: aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(4208), static_cast(0u)); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(20), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -7761,7 +7762,7 @@ L_08AC3418: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[19]); ctx.gpr[19] = (aot_gpr_4 & 255u); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, ctx.gpr[18]}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); aot_gpr_31 = (0x08AC343Cu); @@ -7775,15 +7776,15 @@ L_08AC343C: AOT_REGCACHE_SYNC_OUT(); return; L_08AC3444: aot_gpr_4 = (2236u << 16u); - aot_gpr_16 = (aot_gpr_4 + static_cast(32304)); + ctx.gpr[16] = (aot_gpr_4 + static_cast(32304)); aot_gpr_31 = (0x08AC3454u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0135_entry, 135u, 299u, 0x08A22268u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC3454u) goto L_08AC3454; AOT_REGCACHE_SYNC_OUT(); return; L_08AC3454: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8896))); aot_gpr_31 = (0x08AC3460u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0134_entry, 134u, 194u, 0x08A1D178u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC3460u) goto L_08AC3460; AOT_REGCACHE_SYNC_OUT(); return; L_08AC3460: @@ -7937,25 +7938,25 @@ L_08AC3548: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0112_entry, 112u, 741u, 0x089C7248u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC3550u) goto L_08AC3550; AOT_REGCACHE_SYNC_OUT(); return; L_08AC3550: - aot_gpr_16 = (2238u << 16u); - aot_gpr_17 = (0u | 0u); - aot_gpr_16 = (aot_gpr_16 + static_cast(-6992)); + ctx.gpr[16] = (2238u << 16u); + ctx.gpr[17] = (0u | 0u); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(-6992)); goto L_08AC355C; L_08AC355C: - aot_gpr_4 = (aot_gpr_17 + aot_gpr_17); - aot_gpr_4 = (aot_gpr_17 + aot_gpr_4); - aot_gpr_5 = (aot_gpr_17 << 8u); + aot_gpr_4 = (ctx.gpr[17] + ctx.gpr[17]); + aot_gpr_4 = (ctx.gpr[17] + aot_gpr_4); + aot_gpr_5 = (ctx.gpr[17] << 8u); aot_gpr_4 = (aot_gpr_4 << 5u); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_31 = (0x08AC3578u); - aot_gpr_4 = (aot_gpr_4 + aot_gpr_16); + aot_gpr_4 = (aot_gpr_4 + ctx.gpr[16]); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 87u, 0x089606D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC3578u) goto L_08AC3578; AOT_REGCACHE_SYNC_OUT(); return; L_08AC3578: - aot_gpr_4 = (aot_gpr_17 + static_cast(1)); - aot_gpr_17 = (aot_gpr_4 << 16u); - aot_gpr_17 = (static_cast(static_cast(aot_gpr_17) >> 16u)); - aot_gpr_4 = (static_cast(aot_gpr_17) < 1 ? 1u : 0u); + aot_gpr_4 = (ctx.gpr[17] + static_cast(1)); + ctx.gpr[17] = (aot_gpr_4 << 16u); + ctx.gpr[17] = (static_cast(static_cast(ctx.gpr[17]) >> 16u)); + aot_gpr_4 = (static_cast(ctx.gpr[17]) < 1 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -8008,7 +8009,7 @@ L_08AC35CC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0025_entry, 25u, 260u, 0x088690ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC35D4u) goto L_08AC35D4; AOT_REGCACHE_SYNC_OUT(); return; L_08AC35D4: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); goto L_08AC35D8; L_08AC35D8: aot_gpr_31 = (0x08AC35E0u); @@ -8104,7 +8105,7 @@ L_08AC3660: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC3668u) goto L_08AC3668; AOT_REGCACHE_SYNC_OUT(); return; L_08AC3668: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08AC3674u); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0097_entry, 97u, 941u, 0x0898BA34u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC3674u) goto L_08AC3674; @@ -8115,17 +8116,17 @@ L_08AC3674: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC367Cu) goto L_08AC367C; AOT_REGCACHE_SYNC_OUT(); return; L_08AC367C: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08AC3688u); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0097_entry, 97u, 941u, 0x0898BA34u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC3688u) goto L_08AC3688; AOT_REGCACHE_SYNC_OUT(); return; L_08AC3688: - ctx.gpr[2] = (ctx.gpr[18] | 0u); + aot_gpr_2 = (ctx.gpr[18] | 0u); { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; @@ -8139,16 +8140,16 @@ L_08AC3688: L_08AC36A8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-1044))); aot_gpr_5 = (aot_gpr_4 ^ 4u); - ctx.gpr[6] = (aot_gpr_4 < static_cast(1) ? 1u : 0u); + aot_gpr_6 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); aot_gpr_5 = (aot_gpr_5 < static_cast(1) ? 1u : 0u); ctx.gpr[7] = (aot_gpr_4 ^ 2u); - aot_gpr_5 = (ctx.gpr[6] | aot_gpr_5); - ctx.gpr[6] = (ctx.gpr[7] < static_cast(1) ? 1u : 0u); + aot_gpr_5 = (aot_gpr_6 | aot_gpr_5); + aot_gpr_6 = (ctx.gpr[7] < static_cast(1) ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 ^ 1u); - ctx.gpr[2] = (aot_gpr_5 | ctx.gpr[6]); + aot_gpr_2 = (aot_gpr_5 | aot_gpr_6); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); jump_target = aot_gpr_31; - ctx.gpr[2] = (ctx.gpr[2] | aot_gpr_4); + aot_gpr_2 = (aot_gpr_2 | aot_gpr_4); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -8156,13 +8157,13 @@ L_08AC36A8: L_08AC36D8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-1044))); aot_gpr_5 = (aot_gpr_4 ^ 2u); - ctx.gpr[6] = (aot_gpr_4 < static_cast(1) ? 1u : 0u); + aot_gpr_6 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); aot_gpr_5 = (aot_gpr_5 < static_cast(1) ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 ^ 1u); - ctx.gpr[2] = (ctx.gpr[6] | aot_gpr_5); + aot_gpr_2 = (aot_gpr_6 | aot_gpr_5); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); jump_target = aot_gpr_31; - ctx.gpr[2] = (ctx.gpr[2] | aot_gpr_4); + aot_gpr_2 = (aot_gpr_2 | aot_gpr_4); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -8171,20 +8172,20 @@ L_08AC36FC: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); ctx.gpr[18] = (aot_gpr_4 & 255u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[19]); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5868))); - aot_gpr_17 = (2237u << 16u); + ctx.gpr[17] = (2237u << 16u); ctx.gpr[19] = (2237u << 16u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[20]); - aot_gpr_16 = (2237u << 16u); + ctx.gpr[16] = (2237u << 16u); ctx.gpr[20] = (aot_gpr_5 & 255u); - aot_gpr_17 = (aot_gpr_17 + static_cast(-28736)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(-28736)); ctx.gpr[19] = (ctx.gpr[19] + static_cast(-29120)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_31); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_16 = (aot_gpr_16 + static_cast(-28416)); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(-28416)); if (branch_taken) { goto L_08AC3748; } @@ -8198,7 +8199,7 @@ L_08AC3740: L_08AC3748: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5868))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(68))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(100))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(100))); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_4 = (0u | 0u); if (branch_taken) { @@ -8207,7 +8208,7 @@ L_08AC3748: goto L_08AC375C; } L_08AC375C: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(100))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(100))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(12))); aot_gpr_5 = (static_cast(aot_gpr_5) < 0 ? 1u : 0u); aot_gpr_5 = (aot_gpr_5 ^ 1u); @@ -8235,7 +8236,7 @@ L_08AC3780: } L_08AC3788: aot_gpr_31 = (0x08AC3790u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0183_entry, 183u, 126u, 0x08AE0790u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC3790u) goto L_08AC3790; AOT_REGCACHE_SYNC_OUT(); return; L_08AC3790: @@ -8248,7 +8249,7 @@ L_08AC3790: } L_08AC3798: aot_gpr_31 = (0x08AC37A0u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 517u, 0x08ADDF74u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC37A0u) goto L_08AC37A0; AOT_REGCACHE_SYNC_OUT(); return; L_08AC37A0: @@ -8278,7 +8279,7 @@ L_08AC37C4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC37CCu) goto L_08AC37CC; AOT_REGCACHE_SYNC_OUT(); return; L_08AC37CC: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08AC37E0; @@ -8303,24 +8304,24 @@ L_08AC37E0: L_08AC37EC: aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7688), aot_gpr_4); aot_gpr_31 = (0x08AC37F8u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0010_entry, 10u, 286u, 0x0882D794u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC37F8u) goto L_08AC37F8; AOT_REGCACHE_SYNC_OUT(); return; L_08AC37F8: aot_gpr_31 = (0x08AC3800u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-1032)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC3800u) goto L_08AC3800; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC3800u) goto L_08AC3800; AOT_REGCACHE_SYNC_OUT(); return; L_08AC3800: aot_gpr_31 = (0x08AC3808u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0010_entry, 10u, 378u, 0x0882DD8Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC3808u) goto L_08AC3808; AOT_REGCACHE_SYNC_OUT(); return; L_08AC3808: aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(4212), static_cast(0u)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7688))); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (branch_taken) { goto L_08AC3834; } @@ -8330,16 +8331,16 @@ L_08AC3818: aot_gpr_4 = (0u | 1u); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7688), aot_gpr_4); aot_gpr_31 = (0x08AC3828u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0010_entry, 10u, 286u, 0x0882D794u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC3828u) goto L_08AC3828; AOT_REGCACHE_SYNC_OUT(); return; L_08AC3828: aot_gpr_31 = (0x08AC3830u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-1032)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC3830u) goto L_08AC3830; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC3830u) goto L_08AC3830; AOT_REGCACHE_SYNC_OUT(); return; L_08AC3830: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_08AC3834; L_08AC3834: aot_gpr_31 = (0x08AC383Cu); @@ -8349,7 +8350,7 @@ L_08AC3834: L_08AC383C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7688))); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (branch_taken) { goto L_08AC3864; } @@ -8359,25 +8360,25 @@ L_08AC3848: aot_gpr_4 = (0u | 1u); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7688), aot_gpr_4); aot_gpr_31 = (0x08AC3858u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0010_entry, 10u, 286u, 0x0882D794u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC3858u) goto L_08AC3858; AOT_REGCACHE_SYNC_OUT(); return; L_08AC3858: aot_gpr_31 = (0x08AC3860u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-1032)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC3860u) goto L_08AC3860; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC3860u) goto L_08AC3860; AOT_REGCACHE_SYNC_OUT(); return; L_08AC3860: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_08AC3864; L_08AC3864: aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08AC3870u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0010_entry, 10u, 942u, 0x0882FCA0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC3870u) goto L_08AC3870; AOT_REGCACHE_SYNC_OUT(); return; L_08AC3870: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(140))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(140))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -8405,7 +8406,7 @@ L_08AC3890: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0148_entry, 148u, 300u, 0x08A5532Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC3898u) goto L_08AC3898; AOT_REGCACHE_SYNC_OUT(); return; L_08AC3898: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08AC3928; @@ -8424,16 +8425,16 @@ L_08AC38A0: L_08AC38AC: aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7688), ctx.gpr[18]); aot_gpr_31 = (0x08AC38B8u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0010_entry, 10u, 286u, 0x0882D794u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC38B8u) goto L_08AC38B8; AOT_REGCACHE_SYNC_OUT(); return; L_08AC38B8: aot_gpr_31 = (0x08AC38C0u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-1032)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC38C0u) goto L_08AC38C0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC38C0u) goto L_08AC38C0; AOT_REGCACHE_SYNC_OUT(); return; L_08AC38C0: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AC38CCu); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0010_entry, 10u, 756u, 0x0882F210u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC38CCu) goto L_08AC38CC; @@ -8441,7 +8442,7 @@ L_08AC38C0: L_08AC38CC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7688))); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (branch_taken) { goto L_08AC38F0; } @@ -8450,25 +8451,25 @@ L_08AC38CC: L_08AC38D8: aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7688), ctx.gpr[18]); aot_gpr_31 = (0x08AC38E4u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0010_entry, 10u, 286u, 0x0882D794u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC38E4u) goto L_08AC38E4; AOT_REGCACHE_SYNC_OUT(); return; L_08AC38E4: aot_gpr_31 = (0x08AC38ECu); aot_gpr_4 = (ctx.gpr[28] + static_cast(-1032)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC38ECu) goto L_08AC38EC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC38ECu) goto L_08AC38EC; AOT_REGCACHE_SYNC_OUT(); return; L_08AC38EC: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_08AC38F0; L_08AC38F0: aot_gpr_5 = (0u | 1u); aot_gpr_31 = (0x08AC38FCu); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0010_entry, 10u, 942u, 0x0882FCA0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC38FCu) goto L_08AC38FC; AOT_REGCACHE_SYNC_OUT(); return; L_08AC38FC: - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(140), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(140), static_cast(0u)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5868))); if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5868))); @@ -8507,7 +8508,7 @@ L_08AC3928: L_08AC3930: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7688))); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (branch_taken) { goto L_08AC3958; } @@ -8517,21 +8518,21 @@ L_08AC393C: aot_gpr_4 = (0u | 1u); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7688), aot_gpr_4); aot_gpr_31 = (0x08AC394Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0010_entry, 10u, 286u, 0x0882D794u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC394Cu) goto L_08AC394C; AOT_REGCACHE_SYNC_OUT(); return; L_08AC394C: aot_gpr_31 = (0x08AC3954u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-1032)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC3954u) goto L_08AC3954; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC3954u) goto L_08AC3954; AOT_REGCACHE_SYNC_OUT(); return; L_08AC3954: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_08AC3958; L_08AC3958: aot_gpr_5 = (0u | 2u); aot_gpr_31 = (0x08AC3964u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0010_entry, 10u, 942u, 0x0882FCA0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC3964u) goto L_08AC3964; AOT_REGCACHE_SYNC_OUT(); return; L_08AC3964: @@ -8586,7 +8587,7 @@ L_08AC39A4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0148_entry, 148u, 237u, 0x08A54ED4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC39ACu) goto L_08AC39AC; AOT_REGCACHE_SYNC_OUT(); return; L_08AC39AC: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08AC3A0C; @@ -8596,7 +8597,7 @@ L_08AC39AC: L_08AC39B4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7688))); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (branch_taken) { goto L_08AC39DC; } @@ -8606,21 +8607,21 @@ L_08AC39C0: aot_gpr_4 = (0u | 1u); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7688), aot_gpr_4); aot_gpr_31 = (0x08AC39D0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0010_entry, 10u, 286u, 0x0882D794u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC39D0u) goto L_08AC39D0; AOT_REGCACHE_SYNC_OUT(); return; L_08AC39D0: aot_gpr_31 = (0x08AC39D8u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-1032)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC39D8u) goto L_08AC39D8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC39D8u) goto L_08AC39D8; AOT_REGCACHE_SYNC_OUT(); return; L_08AC39D8: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_08AC39DC; L_08AC39DC: aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08AC39E8u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0010_entry, 10u, 942u, 0x0882FCA0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC39E8u) goto L_08AC39E8; AOT_REGCACHE_SYNC_OUT(); return; L_08AC39E8: @@ -8670,7 +8671,7 @@ L_08AC3A20: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0148_entry, 148u, 237u, 0x08A54ED4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC3A28u) goto L_08AC3A28; AOT_REGCACHE_SYNC_OUT(); return; L_08AC3A28: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08AC3A88; @@ -8680,7 +8681,7 @@ L_08AC3A28: L_08AC3A30: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7688))); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (branch_taken) { goto L_08AC3A58; } @@ -8690,21 +8691,21 @@ L_08AC3A3C: aot_gpr_4 = (0u | 1u); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7688), aot_gpr_4); aot_gpr_31 = (0x08AC3A4Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0010_entry, 10u, 286u, 0x0882D794u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC3A4Cu) goto L_08AC3A4C; AOT_REGCACHE_SYNC_OUT(); return; L_08AC3A4C: aot_gpr_31 = (0x08AC3A54u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-1032)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC3A54u) goto L_08AC3A54; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC3A54u) goto L_08AC3A54; AOT_REGCACHE_SYNC_OUT(); return; L_08AC3A54: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_08AC3A58; L_08AC3A58: aot_gpr_5 = (0u | 3u); aot_gpr_31 = (0x08AC3A64u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0010_entry, 10u, 942u, 0x0882FCA0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC3A64u) goto L_08AC3A64; AOT_REGCACHE_SYNC_OUT(); return; L_08AC3A64: @@ -8808,7 +8809,7 @@ L_08AC3AE8: L_08AC3AF4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7688))); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (branch_taken) { goto L_08AC3B1C; } @@ -8818,21 +8819,21 @@ L_08AC3B00: aot_gpr_4 = (0u | 1u); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7688), aot_gpr_4); aot_gpr_31 = (0x08AC3B10u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0010_entry, 10u, 286u, 0x0882D794u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC3B10u) goto L_08AC3B10; AOT_REGCACHE_SYNC_OUT(); return; L_08AC3B10: aot_gpr_31 = (0x08AC3B18u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-1032)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC3B18u) goto L_08AC3B18; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC3B18u) goto L_08AC3B18; AOT_REGCACHE_SYNC_OUT(); return; L_08AC3B18: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_08AC3B1C; L_08AC3B1C: aot_gpr_5 = (0u | 4u); aot_gpr_31 = (0x08AC3B28u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0010_entry, 10u, 942u, 0x0882FCA0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC3B28u) goto L_08AC3B28; AOT_REGCACHE_SYNC_OUT(); return; L_08AC3B28: @@ -8873,7 +8874,7 @@ L_08AC3B4C: L_08AC3B54: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7688))); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (branch_taken) { goto L_08AC3B7C; } @@ -8883,21 +8884,21 @@ L_08AC3B60: aot_gpr_4 = (0u | 1u); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7688), aot_gpr_4); aot_gpr_31 = (0x08AC3B70u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0010_entry, 10u, 286u, 0x0882D794u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC3B70u) goto L_08AC3B70; AOT_REGCACHE_SYNC_OUT(); return; L_08AC3B70: aot_gpr_31 = (0x08AC3B78u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-1032)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC3B78u) goto L_08AC3B78; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC3B78u) goto L_08AC3B78; AOT_REGCACHE_SYNC_OUT(); return; L_08AC3B78: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_08AC3B7C; L_08AC3B7C: aot_gpr_5 = (0u | 4u); aot_gpr_31 = (0x08AC3B88u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0010_entry, 10u, 942u, 0x0882FCA0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC3B88u) goto L_08AC3B88; AOT_REGCACHE_SYNC_OUT(); return; L_08AC3B88: @@ -8940,20 +8941,20 @@ L_08AC3BB8: aot_gpr_4 = (0u | 1u); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7688), aot_gpr_4); aot_gpr_31 = (0x08AC3BC8u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0010_entry, 10u, 286u, 0x0882D794u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC3BC8u) goto L_08AC3BC8; AOT_REGCACHE_SYNC_OUT(); return; L_08AC3BC8: aot_gpr_31 = (0x08AC3BD0u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-1032)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC3BD0u) goto L_08AC3BD0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC3BD0u) goto L_08AC3BD0; AOT_REGCACHE_SYNC_OUT(); return; L_08AC3BD0: aot_gpr_5 = (ctx.gpr[28] + static_cast(-996)); goto L_08AC3BD4; L_08AC3BD4: aot_gpr_31 = (0x08AC3BDCu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0010_entry, 10u, 832u, 0x0882F6E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC3BDCu) goto L_08AC3BDC; AOT_REGCACHE_SYNC_OUT(); return; L_08AC3BDC: @@ -8968,17 +8969,17 @@ L_08AC3BDC: L_08AC3BE8: aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7688), aot_gpr_4); aot_gpr_31 = (0x08AC3BF4u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0010_entry, 10u, 286u, 0x0882D794u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC3BF4u) goto L_08AC3BF4; AOT_REGCACHE_SYNC_OUT(); return; L_08AC3BF4: aot_gpr_31 = (0x08AC3BFCu); aot_gpr_4 = (ctx.gpr[28] + static_cast(-1032)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC3BFCu) goto L_08AC3BFC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC3BFCu) goto L_08AC3BFC; AOT_REGCACHE_SYNC_OUT(); return; L_08AC3BFC: aot_gpr_31 = (0x08AC3C04u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0010_entry, 10u, 605u, 0x0882E980u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC3C04u) goto L_08AC3C04; AOT_REGCACHE_SYNC_OUT(); return; L_08AC3C04: @@ -9027,7 +9028,7 @@ L_08AC3C3C: L_08AC3C44: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7688))); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (branch_taken) { goto L_08AC3C6C; } @@ -9037,16 +9038,16 @@ L_08AC3C50: aot_gpr_4 = (0u | 1u); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7688), aot_gpr_4); aot_gpr_31 = (0x08AC3C60u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0010_entry, 10u, 286u, 0x0882D794u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC3C60u) goto L_08AC3C60; AOT_REGCACHE_SYNC_OUT(); return; L_08AC3C60: aot_gpr_31 = (0x08AC3C68u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-1032)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC3C68u) goto L_08AC3C68; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC3C68u) goto L_08AC3C68; AOT_REGCACHE_SYNC_OUT(); return; L_08AC3C68: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_08AC3C6C; L_08AC3C6C: aot_gpr_31 = (0x08AC3C74u); @@ -9056,8 +9057,8 @@ L_08AC3C6C: L_08AC3C74: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -9074,8 +9075,8 @@ L_08AC3C94: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); ctx.gpr[18] = (ctx.gpr[28] + static_cast(7768)); aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(9192), static_cast(0u)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); aot_gpr_31 = (0x08AC3CB8u); aot_gpr_4 = (ctx.gpr[18] | 0u); @@ -9094,11 +9095,11 @@ L_08AC3CC4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC3CD0u) goto L_08AC3CD0; AOT_REGCACHE_SYNC_OUT(); return; L_08AC3CD0: - aot_gpr_17 = (2237u << 16u); - aot_gpr_16 = (2279u << 16u); - aot_gpr_17 = (aot_gpr_17 + static_cast(-28416)); - { const bool branch_taken = ctx.gpr[2] != 0u; - aot_gpr_16 = (aot_gpr_16 + static_cast(17584)); + ctx.gpr[17] = (2237u << 16u); + ctx.gpr[16] = (2279u << 16u); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(-28416)); + { const bool branch_taken = aot_gpr_2 != 0u; + ctx.gpr[16] = (ctx.gpr[16] + static_cast(17584)); if (branch_taken) { goto L_08AC3CF0; } @@ -9113,7 +9114,7 @@ L_08AC3CE4: L_08AC3CF0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7688))); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (branch_taken) { goto L_08AC3D18; } @@ -9123,16 +9124,16 @@ L_08AC3CFC: aot_gpr_4 = (0u | 1u); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7688), aot_gpr_4); aot_gpr_31 = (0x08AC3D0Cu); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0010_entry, 10u, 286u, 0x0882D794u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC3D0Cu) goto L_08AC3D0C; AOT_REGCACHE_SYNC_OUT(); return; L_08AC3D0C: aot_gpr_31 = (0x08AC3D14u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-1032)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC3D14u) goto L_08AC3D14; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC3D14u) goto L_08AC3D14; AOT_REGCACHE_SYNC_OUT(); return; L_08AC3D14: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); goto L_08AC3D18; L_08AC3D18: aot_gpr_31 = (0x08AC3D20u); @@ -9151,17 +9152,17 @@ L_08AC3D20: L_08AC3D2C: aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7688), aot_gpr_4); aot_gpr_31 = (0x08AC3D38u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0010_entry, 10u, 286u, 0x0882D794u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC3D38u) goto L_08AC3D38; AOT_REGCACHE_SYNC_OUT(); return; L_08AC3D38: aot_gpr_31 = (0x08AC3D40u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-1032)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC3D40u) goto L_08AC3D40; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC3D40u) goto L_08AC3D40; AOT_REGCACHE_SYNC_OUT(); return; L_08AC3D40: aot_gpr_31 = (0x08AC3D48u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0010_entry, 10u, 328u, 0x0882DA4Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC3D48u) goto L_08AC3D48; AOT_REGCACHE_SYNC_OUT(); return; L_08AC3D48: @@ -9177,15 +9178,15 @@ L_08AC3D54: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 532u, 0x08A06154u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC3D60u) goto L_08AC3D60; AOT_REGCACHE_SYNC_OUT(); return; L_08AC3D60: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_fpr_12 = std::bit_cast(0u); goto L_08AC3D68; L_08AC3D68: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), std::bit_cast(aot_fpr_12)); - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - aot_gpr_4 = (static_cast(aot_gpr_17) < 9 ? 1u : 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), std::bit_cast(aot_fpr_12)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + aot_gpr_4 = (static_cast(ctx.gpr[17]) < 9 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_16 = (aot_gpr_16 + static_cast(4)); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(4)); if (branch_taken) { goto L_08AC3D68; } @@ -9312,8 +9313,8 @@ L_08AC3E40: aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-8140), 0u); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -9325,9 +9326,9 @@ L_08AC3E40: AOT_REGCACHE_SYNC_OUT(); return; L_08AC3E5C: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); - { const std::uint32_t aot_run_words[6]{aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_31}; + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); + { const std::uint32_t aot_run_words[6]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(4), aot_run_words); } aot_gpr_31 = (0x08AC3E88u); ctx.gpr[19] = (0u | 0u); @@ -9335,7 +9336,7 @@ L_08AC3E5C: AOT_REGCACHE_SYNC_OUT(); return; L_08AC3E88: aot_gpr_4 = (2280u << 16u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AC3E98u); aot_gpr_4 = (aot_gpr_4 + static_cast(2320)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 63u, 0x08B5831Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC3E98u) goto L_08AC3E98; @@ -9349,17 +9350,17 @@ L_08AC3EA0: aot_gpr_4 = (0u | 1u); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7652), aot_gpr_4); ctx.gpr[18] = (2232u << 16u); - aot_gpr_17 = (2232u << 16u); + ctx.gpr[17] = (2232u << 16u); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-1044), 0u); ctx.gpr[18] = (ctx.gpr[18] + static_cast(13984)); aot_gpr_31 = (0x08AC3EC0u); - aot_gpr_17 = (aot_gpr_17 + static_cast(14004)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(14004)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0076_entry, 76u, 329u, 0x089353A0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC3EC0u) goto L_08AC3EC0; AOT_REGCACHE_SYNC_OUT(); return; L_08AC3EC0: aot_gpr_4 = (ctx.gpr[18] | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[6] = (ctx.gpr[2] | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08AC3ED4u); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0076_entry, 76u, 355u, 0x0893570Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC3ED4u) goto L_08AC3ED4; @@ -9375,16 +9376,16 @@ L_08AC3EDC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 373u, 0x08A92D14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC3EE4u) goto L_08AC3EE4; AOT_REGCACHE_SYNC_OUT(); return; L_08AC3EE4: - aot_gpr_16 = (2236u << 16u); - aot_gpr_16 = (aot_gpr_16 + static_cast(32304)); + ctx.gpr[16] = (2236u << 16u); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(32304)); aot_gpr_31 = (0x08AC3EF4u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0135_entry, 135u, 299u, 0x08A22268u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC3EF4u) goto L_08AC3EF4; AOT_REGCACHE_SYNC_OUT(); return; L_08AC3EF4: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8896))); aot_gpr_31 = (0x08AC3F00u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0134_entry, 134u, 194u, 0x08A1D178u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC3F00u) goto L_08AC3F00; AOT_REGCACHE_SYNC_OUT(); return; L_08AC3F00: @@ -9524,7 +9525,7 @@ L_08AC3FD8: aot_gpr_5 = (ctx.gpr[28] + static_cast(-968)); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7804), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (ctx.gpr[18] | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x08AC3FF8u); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0076_entry, 76u, 355u, 0x0893570Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC3FF8u) goto L_08AC3FF8; diff --git a/profiles/vcs/generated/generated_unit_0176.cpp b/profiles/vcs/generated/generated_unit_0176.cpp index f625642..a6ba6a3 100644 --- a/profiles/vcs/generated/generated_unit_0176.cpp +++ b/profiles/vcs/generated/generated_unit_0176.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,11 +139,11 @@ static const std::uint16_t kEntryIds_recomp_unit_0176[4094] = { }; void recomp_unit_0176_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,31,16,6 fprs=12,13,14,0 gpr_occ=4239 fpr_occ=240 gpr_total=5561 fpr_total=295 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,31,29,16,6 fprs=12,13,14,0 gpr_occ=4540 fpr_occ=243 gpr_total=6128 fpr_total=299 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; - std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; + std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_16 = ctx.gpr[16]; std::uint32_t aot_gpr_6 = ctx.gpr[6]; float aot_fpr_12 = ctx.fpr[12]; @@ -150,8 +151,8 @@ void recomp_unit_0176_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t dir float aot_fpr_14 = ctx.fpr[14]; float aot_fpr_0 = ctx.fpr[0]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[31] = aot_gpr_31; ctx.gpr[16] = aot_gpr_16; ctx.gpr[6] = aot_gpr_6; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[0] = aot_fpr_0; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_6 = ctx.gpr[6]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_0 = ctx.fpr[0]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[31] = aot_gpr_31; ctx.gpr[29] = aot_gpr_29; ctx.gpr[16] = aot_gpr_16; ctx.gpr[6] = aot_gpr_6; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[0] = aot_fpr_0; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_6 = ctx.gpr[6]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_0 = ctx.fpr[0]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -1875,7 +1876,7 @@ L_08AC4450: L_08AC445C: aot_gpr_31 = (0x08AC4464u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-1032)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC4464u) goto L_08AC4464; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC4464u) goto L_08AC4464; AOT_REGCACHE_SYNC_OUT(); return; L_08AC4464: aot_gpr_31 = (0x08AC446Cu); @@ -3935,7 +3936,7 @@ L_08AC51B8: aot_gpr_4 = (16000u << 16u); aot_gpr_31 = (0x08AC51DCu); ctx.fpr[22] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC51DCu) goto L_08AC51DC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC51DCu) goto L_08AC51DC; AOT_REGCACHE_SYNC_OUT(); return; L_08AC51DC: aot_fpr_12 = ctx.fpr[22] - ctx.fpr[20]; @@ -4614,7 +4615,7 @@ L_08AC5644: L_08AC5658: aot_gpr_31 = (0x08AC5660u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC5660u) goto L_08AC5660; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC5660u) goto L_08AC5660; AOT_REGCACHE_SYNC_OUT(); return; L_08AC5660: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), ctx.gpr[21]); @@ -4901,7 +4902,7 @@ L_08AC589C: L_08AC58B0: aot_gpr_31 = (0x08AC58B8u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC58B8u) goto L_08AC58B8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC58B8u) goto L_08AC58B8; AOT_REGCACHE_SYNC_OUT(); return; L_08AC58B8: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), ctx.gpr[21]); @@ -5073,7 +5074,7 @@ L_08AC5A10: ctx.gpr[7] = (0u | 255u); aot_gpr_31 = (0x08AC5A30u); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC5A30u) goto L_08AC5A30; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC5A30u) goto L_08AC5A30; AOT_REGCACHE_SYNC_OUT(); return; L_08AC5A30: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-896))); @@ -5140,7 +5141,7 @@ L_08AC5AB0: L_08AC5AB8: aot_gpr_31 = (0x08AC5AC0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC5AC0u) goto L_08AC5AC0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC5AC0u) goto L_08AC5AC0; AOT_REGCACHE_SYNC_OUT(); return; L_08AC5AC0: aot_gpr_4 = (aot_gpr_16 & 1u); @@ -5156,7 +5157,7 @@ L_08AC5AC4: L_08AC5ACC: aot_gpr_31 = (0x08AC5AD4u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC5AD4u) goto L_08AC5AD4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC5AD4u) goto L_08AC5AD4; AOT_REGCACHE_SYNC_OUT(); return; L_08AC5AD4: { std::uint32_t aot_run_words[3]{}; @@ -5324,7 +5325,7 @@ L_08AC5C34: L_08AC5C3C: aot_gpr_31 = (0x08AC5C44u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC5C44u) goto L_08AC5C44; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC5C44u) goto L_08AC5C44; AOT_REGCACHE_SYNC_OUT(); return; L_08AC5C44: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -5346,7 +5347,7 @@ L_08AC5C50: L_08AC5C5C: aot_gpr_31 = (0x08AC5C64u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC5C64u) goto L_08AC5C64; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC5C64u) goto L_08AC5C64; AOT_REGCACHE_SYNC_OUT(); return; L_08AC5C64: { std::uint32_t aot_run_words[9]{}; @@ -5430,7 +5431,7 @@ L_08AC5CE8: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(3), static_cast(ctx.gpr[7])); aot_gpr_31 = (0x08AC5D2Cu); aot_gpr_4 = (aot_gpr_29 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC5D2Cu) goto L_08AC5D2C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C4A8, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC5D2Cu) goto L_08AC5D2C; AOT_REGCACHE_SYNC_OUT(); return; L_08AC5D2C: aot_gpr_31 = (0x08AC5D34u); @@ -5786,7 +5787,7 @@ L_08AC6014: L_08AC6024: aot_gpr_31 = (0x08AC602Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC602Cu) goto L_08AC602C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC602Cu) goto L_08AC602C; AOT_REGCACHE_SYNC_OUT(); return; L_08AC602C: aot_gpr_4 = (ctx.gpr[18] << 2u); @@ -5950,7 +5951,7 @@ L_08AC6194: L_08AC61A4: aot_gpr_31 = (0x08AC61ACu); aot_gpr_4 = (ctx.gpr[28] + static_cast(-888)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC61ACu) goto L_08AC61AC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC61ACu) goto L_08AC61AC; AOT_REGCACHE_SYNC_OUT(); return; L_08AC61AC: aot_gpr_31 = (0x08AC61B4u); @@ -6111,12 +6112,12 @@ L_08AC62A0: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); aot_gpr_31 = (0x08AC62B8u); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(96))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC62B8u) goto L_08AC62B8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C498, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC62B8u) goto L_08AC62B8; AOT_REGCACHE_SYNC_OUT(); return; L_08AC62B8: aot_gpr_31 = (0x08AC62C0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC62C0u) goto L_08AC62C0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C05C, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC62C0u) goto L_08AC62C0; AOT_REGCACHE_SYNC_OUT(); return; L_08AC62C0: aot_gpr_4 = (aot_gpr_16 + static_cast(72)); @@ -6136,7 +6137,7 @@ L_08AC62C0: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(3), static_cast(ctx.gpr[7])); aot_gpr_31 = (0x08AC6304u); aot_gpr_4 = (aot_gpr_29 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC6304u) goto L_08AC6304; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C4A8, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 62u, 0x08B0C4A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC6304u) goto L_08AC6304; AOT_REGCACHE_SYNC_OUT(); return; L_08AC6304: aot_gpr_31 = (0x08AC630Cu); @@ -6148,7 +6149,7 @@ L_08AC630C: aot_gpr_5 = (0u | 1u); aot_gpr_31 = (0x08AC631Cu); aot_gpr_4 = (aot_gpr_5 << (aot_gpr_4 & 31u)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC631Cu) goto L_08AC631C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C604, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC631Cu) goto L_08AC631C; AOT_REGCACHE_SYNC_OUT(); return; L_08AC631C: aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); @@ -6167,12 +6168,12 @@ L_08AC632C: aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(24), aot_run_words); } aot_gpr_31 = (0x08AC6350u); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(96))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC6350u) goto L_08AC6350; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C498, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC6350u) goto L_08AC6350; AOT_REGCACHE_SYNC_OUT(); return; L_08AC6350: aot_gpr_31 = (0x08AC6358u); aot_gpr_4 = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC6358u) goto L_08AC6358; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C604, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC6358u) goto L_08AC6358; AOT_REGCACHE_SYNC_OUT(); return; L_08AC6358: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(12))); @@ -6195,7 +6196,7 @@ L_08AC6358: aot_fpr_12 = aot_fpr_14 - aot_fpr_12; aot_gpr_31 = (0x08AC63A8u); ctx.fpr[15] = aot_fpr_13 + ctx.fpr[15]; - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC63A8u) goto L_08AC63A8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08873400, 27u, 732u, 0x08873400u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, ctx.fpr[15]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC63A8u) goto L_08AC63A8; AOT_REGCACHE_SYNC_OUT(); return; L_08AC63A8: aot_gpr_31 = (0x08AC63B0u); @@ -6237,7 +6238,7 @@ L_08AC63E8: L_08AC63F4: aot_gpr_31 = (0x08AC63FCu); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC63FCu) goto L_08AC63FC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC63FCu) goto L_08AC63FC; AOT_REGCACHE_SYNC_OUT(); return; L_08AC63FC: ctx.gpr[18] = (ctx.gpr[17] | 0u); @@ -6352,7 +6353,7 @@ L_08AC64E8: L_08AC64F0: aot_gpr_31 = (0x08AC64F8u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC64F8u) goto L_08AC64F8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC64F8u) goto L_08AC64F8; AOT_REGCACHE_SYNC_OUT(); return; L_08AC64F8: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(200), ctx.gpr[20]); @@ -6401,7 +6402,7 @@ L_08AC654C: L_08AC6558: aot_gpr_31 = (0x08AC6560u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC6560u) goto L_08AC6560; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC6560u) goto L_08AC6560; AOT_REGCACHE_SYNC_OUT(); return; L_08AC6560: aot_gpr_6 = (aot_gpr_29 + static_cast(24)); @@ -6427,7 +6428,7 @@ L_08AC6578: L_08AC6584: aot_gpr_31 = (0x08AC658Cu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC658Cu) goto L_08AC658C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC658Cu) goto L_08AC658C; AOT_REGCACHE_SYNC_OUT(); return; L_08AC658C: aot_gpr_4 = (ctx.gpr[20] | 0u); @@ -6454,7 +6455,7 @@ L_08AC65A8: L_08AC65B4: aot_gpr_31 = (0x08AC65BCu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC65BCu) goto L_08AC65BC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC65BCu) goto L_08AC65BC; AOT_REGCACHE_SYNC_OUT(); return; L_08AC65BC: { const bool branch_taken = ctx.gpr[19] == 0u; @@ -6504,7 +6505,7 @@ L_08AC6604: L_08AC6610: aot_gpr_31 = (0x08AC6618u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC6618u) goto L_08AC6618; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC6618u) goto L_08AC6618; AOT_REGCACHE_SYNC_OUT(); return; L_08AC6618: aot_gpr_4 = (ctx.gpr[21] | 0u); @@ -6530,7 +6531,7 @@ L_08AC6630: L_08AC663C: aot_gpr_31 = (0x08AC6644u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC6644u) goto L_08AC6644; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC6644u) goto L_08AC6644; AOT_REGCACHE_SYNC_OUT(); return; L_08AC6644: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(188))); @@ -6557,7 +6558,7 @@ L_08AC6668: ctx.gpr[17] = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08AC6674u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC6674u) goto L_08AC6674; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC6674u) goto L_08AC6674; AOT_REGCACHE_SYNC_OUT(); return; L_08AC6674: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(44))); @@ -6680,7 +6681,7 @@ L_08AC6754: ctx.gpr[17] = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08AC6760u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC6760u) goto L_08AC6760; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC6760u) goto L_08AC6760; AOT_REGCACHE_SYNC_OUT(); return; L_08AC6760: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(56))); @@ -6813,7 +6814,7 @@ L_08AC6854: L_08AC6864: aot_gpr_31 = (0x08AC686Cu); aot_gpr_4 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC686Cu) goto L_08AC686C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC686Cu) goto L_08AC686C; AOT_REGCACHE_SYNC_OUT(); return; L_08AC686C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(52))); @@ -6825,7 +6826,7 @@ L_08AC686C: L_08AC6878: aot_gpr_31 = (0x08AC6880u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC6880u) goto L_08AC6880; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC6880u) goto L_08AC6880; AOT_REGCACHE_SYNC_OUT(); return; L_08AC6880: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(40))); @@ -6841,7 +6842,7 @@ L_08AC6884: L_08AC688C: aot_gpr_31 = (0x08AC6894u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC6894u) goto L_08AC6894; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC6894u) goto L_08AC6894; AOT_REGCACHE_SYNC_OUT(); return; L_08AC6894: { const bool branch_taken = ctx.gpr[19] != 0u; @@ -6876,7 +6877,7 @@ L_08AC68B8: L_08AC68C4: aot_gpr_31 = (0x08AC68CCu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC68CCu) goto L_08AC68CC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC68CCu) goto L_08AC68CC; AOT_REGCACHE_SYNC_OUT(); return; L_08AC68CC: { const bool branch_taken = aot_gpr_16 != 0u; @@ -6913,7 +6914,7 @@ L_08AC68F4: L_08AC6904: aot_gpr_31 = (0x08AC690Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC690Cu) goto L_08AC690C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC690Cu) goto L_08AC690C; AOT_REGCACHE_SYNC_OUT(); return; L_08AC690C: { const bool branch_taken = aot_gpr_16 == 0u; @@ -6948,7 +6949,7 @@ L_08AC6930: L_08AC693C: aot_gpr_31 = (0x08AC6944u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC6944u) goto L_08AC6944; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC6944u) goto L_08AC6944; AOT_REGCACHE_SYNC_OUT(); return; L_08AC6944: { const bool branch_taken = ctx.gpr[17] == 0u; @@ -6982,7 +6983,7 @@ L_08AC6964: L_08AC6970: aot_gpr_31 = (0x08AC6978u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC6978u) goto L_08AC6978; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC6978u) goto L_08AC6978; AOT_REGCACHE_SYNC_OUT(); return; L_08AC6978: aot_gpr_5 = (ctx.gpr[28] + static_cast(-848)); @@ -7023,7 +7024,7 @@ L_08AC69A8: L_08AC69B4: aot_gpr_31 = (0x08AC69BCu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC69BCu) goto L_08AC69BC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC69BCu) goto L_08AC69BC; AOT_REGCACHE_SYNC_OUT(); return; L_08AC69BC: aot_gpr_4 = (aot_gpr_29 | 0u); @@ -7050,7 +7051,7 @@ L_08AC69D8: L_08AC69E4: aot_gpr_31 = (0x08AC69ECu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC69ECu) goto L_08AC69EC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC69ECu) goto L_08AC69EC; AOT_REGCACHE_SYNC_OUT(); return; L_08AC69EC: { const bool branch_taken = aot_gpr_16 == 0u; @@ -7090,7 +7091,7 @@ L_08AC6A18: L_08AC6A24: aot_gpr_31 = (0x08AC6A2Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC6A2Cu) goto L_08AC6A2C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC6A2Cu) goto L_08AC6A2C; AOT_REGCACHE_SYNC_OUT(); return; L_08AC6A2C: aot_gpr_4 = (0u < aot_gpr_16 ? 1u : 0u); @@ -7122,7 +7123,7 @@ L_08AC6A54: L_08AC6A60: aot_gpr_31 = (0x08AC6A68u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC6A68u) goto L_08AC6A68; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC6A68u) goto L_08AC6A68; AOT_REGCACHE_SYNC_OUT(); return; L_08AC6A68: { const bool branch_taken = aot_gpr_16 == 0u; @@ -7184,7 +7185,7 @@ L_08AC6AC0: L_08AC6ACC: aot_gpr_31 = (0x08AC6AD4u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC6AD4u) goto L_08AC6AD4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC6AD4u) goto L_08AC6AD4; AOT_REGCACHE_SYNC_OUT(); return; L_08AC6AD4: { const bool branch_taken = aot_gpr_16 == 0u; @@ -7219,7 +7220,7 @@ L_08AC6AF8: L_08AC6B04: aot_gpr_31 = (0x08AC6B0Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC6B0Cu) goto L_08AC6B0C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC6B0Cu) goto L_08AC6B0C; AOT_REGCACHE_SYNC_OUT(); return; L_08AC6B0C: { const bool branch_taken = aot_gpr_16 == 0u; @@ -7345,7 +7346,7 @@ L_08AC6BD0: L_08AC6BD8: aot_gpr_31 = (0x08AC6BE0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC6BE0u) goto L_08AC6BE0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC6BE0u) goto L_08AC6BE0; AOT_REGCACHE_SYNC_OUT(); return; L_08AC6BE0: aot_gpr_4 = (aot_gpr_29 | 0u); @@ -7372,7 +7373,7 @@ L_08AC6BFC: L_08AC6C08: aot_gpr_31 = (0x08AC6C10u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC6C10u) goto L_08AC6C10; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC6C10u) goto L_08AC6C10; AOT_REGCACHE_SYNC_OUT(); return; L_08AC6C10: { const bool branch_taken = aot_gpr_16 == 0u; @@ -7436,7 +7437,7 @@ L_08AC6C74: ctx.gpr[7] = (ctx.gpr[21] & 255u); aot_gpr_31 = (0x08AC6C8Cu); ctx.gpr[8] = (ctx.gpr[2] & 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC6C8Cu) goto L_08AC6C8C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC6C8Cu) goto L_08AC6C8C; AOT_REGCACHE_SYNC_OUT(); return; L_08AC6C8C: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(148))); @@ -7473,7 +7474,7 @@ L_08AC6CC8: L_08AC6CD4: aot_gpr_31 = (0x08AC6CDCu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC6CDCu) goto L_08AC6CDC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC6CDCu) goto L_08AC6CDC; AOT_REGCACHE_SYNC_OUT(); return; L_08AC6CDC: { const bool branch_taken = aot_gpr_16 == 0u; @@ -7537,7 +7538,7 @@ L_08AC6D40: ctx.gpr[7] = (ctx.gpr[21] & 255u); aot_gpr_31 = (0x08AC6D58u); ctx.gpr[8] = (ctx.gpr[2] & 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC6D58u) goto L_08AC6D58; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC6D58u) goto L_08AC6D58; AOT_REGCACHE_SYNC_OUT(); return; L_08AC6D58: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(152))); @@ -7574,7 +7575,7 @@ L_08AC6D94: L_08AC6DA0: aot_gpr_31 = (0x08AC6DA8u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC6DA8u) goto L_08AC6DA8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC6DA8u) goto L_08AC6DA8; AOT_REGCACHE_SYNC_OUT(); return; L_08AC6DA8: { const bool branch_taken = ctx.gpr[18] == 0u; @@ -7616,7 +7617,7 @@ L_08AC6DE4: aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08AC6DF0u); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC6DF0u) goto L_08AC6DF0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B627F0, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC6DF0u) goto L_08AC6DF0; AOT_REGCACHE_SYNC_OUT(); return; L_08AC6DF0: ctx.fpr[20] = std::bit_cast(std::bit_cast(aot_fpr_0)); @@ -7650,7 +7651,7 @@ L_08AC6E1C: aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08AC6E28u); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC6E28u) goto L_08AC6E28; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B627F0, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC6E28u) goto L_08AC6E28; AOT_REGCACHE_SYNC_OUT(); return; L_08AC6E28: ctx.fpr[22] = std::bit_cast(std::bit_cast(aot_fpr_0)); @@ -7684,7 +7685,7 @@ L_08AC6E50: L_08AC6E5C: aot_gpr_31 = (0x08AC6E64u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC6E64u) goto L_08AC6E64; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC6E64u) goto L_08AC6E64; AOT_REGCACHE_SYNC_OUT(); return; L_08AC6E64: { const bool branch_taken = ctx.gpr[18] == 0u; @@ -7720,7 +7721,7 @@ L_08AC6E8C: L_08AC6E98: aot_gpr_31 = (0x08AC6EA0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC6EA0u) goto L_08AC6EA0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC6EA0u) goto L_08AC6EA0; AOT_REGCACHE_SYNC_OUT(); return; L_08AC6EA0: { const bool branch_taken = ctx.gpr[17] == 0u; @@ -7760,7 +7761,7 @@ L_08AC6ECC: L_08AC6ED8: aot_gpr_31 = (0x08AC6EE0u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC6EE0u) goto L_08AC6EE0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC6EE0u) goto L_08AC6EE0; AOT_REGCACHE_SYNC_OUT(); return; L_08AC6EE0: aot_mem.aot_direct_store16(ctx.gpr[20] + static_cast(96), static_cast(aot_gpr_16)); @@ -7790,7 +7791,7 @@ L_08AC6F00: L_08AC6F0C: aot_gpr_31 = (0x08AC6F14u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC6F14u) goto L_08AC6F14; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC6F14u) goto L_08AC6F14; AOT_REGCACHE_SYNC_OUT(); return; L_08AC6F14: { const bool branch_taken = aot_gpr_16 == 0u; @@ -9162,7 +9163,7 @@ L_08AC7810: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); aot_gpr_31 = (0x08AC7820u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC7820u) goto L_08AC7820; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC7820u) goto L_08AC7820; AOT_REGCACHE_SYNC_OUT(); return; L_08AC7820: ctx.gpr[2] = (ctx.gpr[2] & 65535u); @@ -9183,7 +9184,7 @@ L_08AC7830: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); aot_gpr_31 = (0x08AC7854u); ctx.gpr[19] = (static_cast(static_cast(ctx.gpr[18]) >> 31u)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC7854u) goto L_08AC7854; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC7854u) goto L_08AC7854; AOT_REGCACHE_SYNC_OUT(); return; L_08AC7854: aot_gpr_6 = (ctx.gpr[17] - ctx.gpr[18]); @@ -9191,7 +9192,7 @@ L_08AC7854: aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08AC7868u); ctx.gpr[7] = (static_cast(static_cast(aot_gpr_6) >> 31u)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC7868u) goto L_08AC7868; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC7868u) goto L_08AC7868; AOT_REGCACHE_SYNC_OUT(); return; L_08AC7868: ctx.gpr[1] = (ctx.gpr[3] << 1u); @@ -9999,7 +10000,7 @@ L_08AC7D44: L_08AC7D54: aot_gpr_31 = (0x08AC7D5Cu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC7D5Cu) goto L_08AC7D5C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC7D5Cu) goto L_08AC7D5C; AOT_REGCACHE_SYNC_OUT(); return; L_08AC7D5C: { const bool branch_taken = ctx.gpr[2] != 0u; @@ -10031,7 +10032,7 @@ L_08AC7D7C: L_08AC7D8C: aot_gpr_31 = (0x08AC7D94u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC7D94u) goto L_08AC7D94; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC7D94u) goto L_08AC7D94; AOT_REGCACHE_SYNC_OUT(); return; L_08AC7D94: { const bool branch_taken = ctx.gpr[2] != 0u; @@ -10051,7 +10052,7 @@ L_08AC7DAC: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08AC7DB8u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC7DB8u) goto L_08AC7DB8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08908E78, 65u, 261u, 0x08908E78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC7DB8u) goto L_08AC7DB8; AOT_REGCACHE_SYNC_OUT(); return; L_08AC7DB8: { const bool branch_taken = 0u == 0u; @@ -10070,7 +10071,7 @@ L_08AC7DC8: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08AC7DD4u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC7DD4u) goto L_08AC7DD4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC7DD4u) goto L_08AC7DD4; AOT_REGCACHE_SYNC_OUT(); return; L_08AC7DD4: { const bool branch_taken = 0u == 0u; diff --git a/profiles/vcs/generated/generated_unit_0177.cpp b/profiles/vcs/generated/generated_unit_0177.cpp index 3027b1d..b90327a 100644 --- a/profiles/vcs/generated/generated_unit_0177.cpp +++ b/profiles/vcs/generated/generated_unit_0177.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,11 +139,11 @@ static const std::uint16_t kEntryIds_recomp_unit_0177[4090] = { }; void recomp_unit_0177_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,31,17,2,5,16 fprs=12,0,20,13 gpr_occ=4307 fpr_occ=396 gpr_total=4923 fpr_total=430 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,31,2,17,5,16 fprs=12,0,20,13 gpr_occ=4979 fpr_occ=396 gpr_total=5607 fpr_total=430 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; - std::uint32_t aot_gpr_17 = ctx.gpr[17]; std::uint32_t aot_gpr_2 = ctx.gpr[2]; + std::uint32_t aot_gpr_17 = ctx.gpr[17]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_16 = ctx.gpr[16]; float aot_fpr_12 = ctx.fpr[12]; @@ -150,8 +151,8 @@ void recomp_unit_0177_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t dir float aot_fpr_20 = ctx.fpr[20]; float aot_fpr_13 = ctx.fpr[13]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[31] = aot_gpr_31; ctx.gpr[17] = aot_gpr_17; ctx.gpr[2] = aot_gpr_2; ctx.gpr[5] = aot_gpr_5; ctx.gpr[16] = aot_gpr_16; ctx.fpr[12] = aot_fpr_12; ctx.fpr[0] = aot_fpr_0; ctx.fpr[20] = aot_fpr_20; ctx.fpr[13] = aot_fpr_13; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_17 = ctx.gpr[17]; aot_gpr_2 = ctx.gpr[2]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_16 = ctx.gpr[16]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_0 = ctx.fpr[0]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_13 = ctx.fpr[13]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[31] = aot_gpr_31; ctx.gpr[2] = aot_gpr_2; ctx.gpr[17] = aot_gpr_17; ctx.gpr[5] = aot_gpr_5; ctx.gpr[16] = aot_gpr_16; ctx.fpr[12] = aot_fpr_12; ctx.fpr[0] = aot_fpr_0; ctx.fpr[20] = aot_fpr_20; ctx.fpr[13] = aot_fpr_13; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_2 = ctx.gpr[2]; aot_gpr_17 = ctx.gpr[17]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_16 = ctx.gpr[16]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_0 = ctx.fpr[0]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_13 = ctx.fpr[13]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -1999,7 +2000,7 @@ L_08AC8294: L_08AC829C: aot_gpr_31 = (0x08AC82A4u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC82A4u) goto L_08AC82A4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7670, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC82A4u) goto L_08AC82A4; AOT_REGCACHE_SYNC_OUT(); return; L_08AC82A4: aot_gpr_4 = (ctx.gpr[29] + static_cast(64)); @@ -2043,7 +2044,7 @@ L_08AC82D8: L_08AC82E0: aot_gpr_31 = (0x08AC82E8u); aot_gpr_4 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC82E8u) goto L_08AC82E8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC79D4, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC82E8u) goto L_08AC82E8; AOT_REGCACHE_SYNC_OUT(); return; L_08AC82E8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(0))); @@ -2062,7 +2063,7 @@ L_08AC82F8: L_08AC8300: aot_gpr_31 = (0x08AC8308u); aot_gpr_4 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC8308u) goto L_08AC8308; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C50, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC8308u) goto L_08AC8308; AOT_REGCACHE_SYNC_OUT(); return; L_08AC8308: { const bool branch_taken = aot_gpr_2 == 0u; @@ -2079,12 +2080,12 @@ L_08AC8310: L_08AC8318: aot_gpr_31 = (0x08AC8320u); aot_gpr_4 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC8320u) goto L_08AC8320; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C50, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC8320u) goto L_08AC8320; AOT_REGCACHE_SYNC_OUT(); return; L_08AC8320: aot_gpr_31 = (0x08AC8328u); aot_gpr_4 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC8328u) goto L_08AC8328; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7670, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC8328u) goto L_08AC8328; AOT_REGCACHE_SYNC_OUT(); return; L_08AC8328: aot_gpr_4 = (ctx.gpr[29] + static_cast(48)); @@ -2107,7 +2108,7 @@ L_08AC833C: L_08AC8344: aot_gpr_31 = (0x08AC834Cu); aot_gpr_4 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC834Cu) goto L_08AC834C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7670, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC834Cu) goto L_08AC834C; AOT_REGCACHE_SYNC_OUT(); return; L_08AC834C: aot_gpr_4 = (ctx.gpr[29] + static_cast(48)); @@ -2140,7 +2141,7 @@ L_08AC8378: L_08AC8380: aot_gpr_31 = (0x08AC8388u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC8388u) goto L_08AC8388; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C58, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC8388u) goto L_08AC8388; AOT_REGCACHE_SYNC_OUT(); return; L_08AC8388: { const bool branch_taken = aot_gpr_2 == 0u; @@ -2154,12 +2155,12 @@ L_08AC8390: aot_gpr_16 = (ctx.gpr[29] + static_cast(48)); aot_gpr_31 = (0x08AC839Cu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC839Cu) goto L_08AC839C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C58, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC839Cu) goto L_08AC839C; AOT_REGCACHE_SYNC_OUT(); return; L_08AC839C: aot_gpr_31 = (0x08AC83A4u); aot_gpr_4 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC83A4u) goto L_08AC83A4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7670, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC83A4u) goto L_08AC83A4; AOT_REGCACHE_SYNC_OUT(); return; L_08AC83A4: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -2224,7 +2225,7 @@ L_08AC840C: L_08AC8414: aot_gpr_31 = (0x08AC841Cu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC841Cu) goto L_08AC841C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC79D4, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC841Cu) goto L_08AC841C; AOT_REGCACHE_SYNC_OUT(); return; L_08AC841C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(0))); @@ -2331,7 +2332,7 @@ L_08AC84A8: aot_gpr_4 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08AC84CCu); { const float fs = aot_fpr_20; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_20 = std::bit_cast(0x7FC00000u); else aot_fpr_20 = fs * ft; } - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC84CCu) goto L_08AC84CC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7670, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC84CCu) goto L_08AC84CC; AOT_REGCACHE_SYNC_OUT(); return; L_08AC84CC: aot_gpr_4 = (ctx.gpr[29] + static_cast(128)); @@ -2450,13 +2451,13 @@ L_08AC859C: ctx.gpr[21] = (ctx.gpr[29] + static_cast(208)); aot_gpr_31 = (0x08AC85ACu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC85ACu) goto L_08AC85AC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7670, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC85ACu) goto L_08AC85AC; AOT_REGCACHE_SYNC_OUT(); return; L_08AC85AC: ctx.gpr[22] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08AC85B8u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC85B8u) goto L_08AC85B8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7670, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC85B8u) goto L_08AC85B8; AOT_REGCACHE_SYNC_OUT(); return; L_08AC85B8: aot_gpr_4 = (ctx.gpr[21] | 0u); @@ -2677,7 +2678,7 @@ L_08AC8710: L_08AC8718: aot_gpr_31 = (0x08AC8720u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC8720u) goto L_08AC8720; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC79D4, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC8720u) goto L_08AC8720; AOT_REGCACHE_SYNC_OUT(); return; L_08AC8720: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(0))); @@ -2771,7 +2772,7 @@ L_08AC87A8: aot_gpr_4 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08AC87B4u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC87B4u) goto L_08AC87B4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC87B4u) goto L_08AC87B4; AOT_REGCACHE_SYNC_OUT(); return; L_08AC87B4: { const bool branch_taken = 0u == 0u; @@ -2845,7 +2846,7 @@ L_08AC8818: L_08AC8820: aot_gpr_31 = (0x08AC8828u); aot_gpr_4 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC8828u) goto L_08AC8828; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC79D4, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC8828u) goto L_08AC8828; AOT_REGCACHE_SYNC_OUT(); return; L_08AC8828: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(0))); @@ -3011,7 +3012,7 @@ L_08AC892C: L_08AC8934: aot_gpr_31 = (0x08AC893Cu); aot_gpr_4 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC893Cu) goto L_08AC893C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC893Cu) goto L_08AC893C; AOT_REGCACHE_SYNC_OUT(); return; L_08AC893C: { const bool branch_taken = aot_gpr_2 == 0u; @@ -3156,7 +3157,7 @@ L_08AC8A24: L_08AC8A2C: aot_gpr_31 = (0x08AC8A34u); aot_gpr_4 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC8A34u) goto L_08AC8A34; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC8A34u) goto L_08AC8A34; AOT_REGCACHE_SYNC_OUT(); return; L_08AC8A34: { const bool branch_taken = aot_gpr_2 == 0u; @@ -3187,7 +3188,7 @@ L_08AC8A4C: L_08AC8A54: aot_gpr_31 = (0x08AC8A5Cu); aot_gpr_4 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC8A5Cu) goto L_08AC8A5C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC79D4, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC8A5Cu) goto L_08AC8A5C; AOT_REGCACHE_SYNC_OUT(); return; L_08AC8A5C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(0))); @@ -3220,7 +3221,7 @@ L_08AC8A7C: L_08AC8A84: aot_gpr_31 = (0x08AC8A8Cu); aot_gpr_4 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC8A8Cu) goto L_08AC8A8C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC79D4, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC8A8Cu) goto L_08AC8A8C; AOT_REGCACHE_SYNC_OUT(); return; L_08AC8A8C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(0))); @@ -3349,7 +3350,7 @@ L_08AC8B48: ctx.gpr[19] = (ctx.gpr[29] + static_cast(240)); aot_gpr_31 = (0x08AC8B64u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC8B64u) goto L_08AC8B64; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7670, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC8B64u) goto L_08AC8B64; AOT_REGCACHE_SYNC_OUT(); return; L_08AC8B64: aot_gpr_4 = (16672u << 16u); @@ -3394,7 +3395,7 @@ L_08AC8BD4: aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(236), aot_gpr_16); aot_gpr_31 = (0x08AC8BE8u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC8BE8u) goto L_08AC8BE8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7670, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC8BE8u) goto L_08AC8BE8; AOT_REGCACHE_SYNC_OUT(); return; L_08AC8BE8: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(4))); @@ -3434,7 +3435,7 @@ L_08AC8C44: aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(236), aot_gpr_16); aot_gpr_31 = (0x08AC8C58u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC8C58u) goto L_08AC8C58; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7670, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC8C58u) goto L_08AC8C58; AOT_REGCACHE_SYNC_OUT(); return; L_08AC8C58: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(0))); @@ -3471,7 +3472,7 @@ L_08AC8CA8: aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(236), aot_gpr_16); aot_gpr_31 = (0x08AC8CBCu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC8CBCu) goto L_08AC8CBC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7670, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC8CBCu) goto L_08AC8CBC; AOT_REGCACHE_SYNC_OUT(); return; L_08AC8CBC: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(4))); @@ -3614,14 +3615,14 @@ L_08AC8DD4: aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(1272), ctx.gpr[18]); aot_gpr_31 = (0x08AC8DE0u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC8DE0u) goto L_08AC8DE0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7670, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC8DE0u) goto L_08AC8DE0; AOT_REGCACHE_SYNC_OUT(); return; L_08AC8DE0: ctx.gpr[18] = (aot_gpr_2 | 0u); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08AC8DF0u); aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast(1276), aot_gpr_16); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC8DF0u) goto L_08AC8DF0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7670, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC8DF0u) goto L_08AC8DF0; AOT_REGCACHE_SYNC_OUT(); return; L_08AC8DF0: aot_gpr_16 = (ctx.gpr[29] + static_cast(256)); @@ -3821,7 +3822,7 @@ L_08AC8F34: L_08AC8F3C: aot_gpr_31 = (0x08AC8F44u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC8F44u) goto L_08AC8F44; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C50, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC8F44u) goto L_08AC8F44; AOT_REGCACHE_SYNC_OUT(); return; L_08AC8F44: { const bool branch_taken = aot_gpr_2 == 0u; @@ -3834,7 +3835,7 @@ L_08AC8F44: L_08AC8F4C: aot_gpr_31 = (0x08AC8F54u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC8F54u) goto L_08AC8F54; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C50, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC8F54u) goto L_08AC8F54; AOT_REGCACHE_SYNC_OUT(); return; L_08AC8F54: aot_gpr_4 = (aot_gpr_17 | 0u); @@ -3856,7 +3857,7 @@ L_08AC8F64: L_08AC8F74: aot_gpr_31 = (0x08AC8F7Cu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC8F7Cu) goto L_08AC8F7C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC79D4, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC8F7Cu) goto L_08AC8F7C; AOT_REGCACHE_SYNC_OUT(); return; L_08AC8F7C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(0))); @@ -3871,7 +3872,7 @@ L_08AC8F7C: L_08AC8F8C: aot_gpr_31 = (0x08AC8F94u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC8F94u) goto L_08AC8F94; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7670, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC8F94u) goto L_08AC8F94; AOT_REGCACHE_SYNC_OUT(); return; L_08AC8F94: aot_gpr_4 = (ctx.gpr[29] + static_cast(280)); @@ -3899,7 +3900,7 @@ L_08AC8FC8: aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(456), aot_gpr_4); aot_gpr_31 = (0x08AC8FE0u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC8FE0u) goto L_08AC8FE0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890FF64, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC8FE0u) goto L_08AC8FE0; AOT_REGCACHE_SYNC_OUT(); return; L_08AC8FE0: { const bool branch_taken = 0u == 0u; @@ -3912,7 +3913,7 @@ L_08AC8FE0: L_08AC8FE8: aot_gpr_31 = (0x08AC8FF0u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC8FF0u) goto L_08AC8FF0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C58, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC8FF0u) goto L_08AC8FF0; AOT_REGCACHE_SYNC_OUT(); return; L_08AC8FF0: { const bool branch_taken = aot_gpr_2 == 0u; @@ -3925,7 +3926,7 @@ L_08AC8FF0: L_08AC8FF8: aot_gpr_31 = (0x08AC9000u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9000u) goto L_08AC9000; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC79D4, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9000u) goto L_08AC9000; AOT_REGCACHE_SYNC_OUT(); return; L_08AC9000: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(0))); @@ -3940,7 +3941,7 @@ L_08AC9000: L_08AC9010: aot_gpr_31 = (0x08AC9018u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9018u) goto L_08AC9018; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC79D4, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9018u) goto L_08AC9018; AOT_REGCACHE_SYNC_OUT(); return; L_08AC9018: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(0))); @@ -3955,7 +3956,7 @@ L_08AC9018: L_08AC9028: aot_gpr_31 = (0x08AC9030u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9030u) goto L_08AC9030; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC79D4, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9030u) goto L_08AC9030; AOT_REGCACHE_SYNC_OUT(); return; L_08AC9030: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(0))); @@ -3970,7 +3971,7 @@ L_08AC9030: L_08AC9040: aot_gpr_31 = (0x08AC9048u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9048u) goto L_08AC9048; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C58, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9048u) goto L_08AC9048; AOT_REGCACHE_SYNC_OUT(); return; L_08AC9048: aot_gpr_4 = (aot_gpr_17 | 0u); @@ -3990,7 +3991,7 @@ L_08AC9058: L_08AC9060: aot_gpr_31 = (0x08AC9068u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9068u) goto L_08AC9068; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C58, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9068u) goto L_08AC9068; AOT_REGCACHE_SYNC_OUT(); return; L_08AC9068: { const bool branch_taken = aot_gpr_2 == 0u; @@ -4018,7 +4019,7 @@ L_08AC9078: L_08AC9088: aot_gpr_31 = (0x08AC9090u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9090u) goto L_08AC9090; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC79D4, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9090u) goto L_08AC9090; AOT_REGCACHE_SYNC_OUT(); return; L_08AC9090: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(0))); @@ -4033,7 +4034,7 @@ L_08AC9090: L_08AC90A0: aot_gpr_31 = (0x08AC90A8u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC90A8u) goto L_08AC90A8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC79D4, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC90A8u) goto L_08AC90A8; AOT_REGCACHE_SYNC_OUT(); return; L_08AC90A8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(0))); @@ -4048,7 +4049,7 @@ L_08AC90A8: L_08AC90B8: aot_gpr_31 = (0x08AC90C0u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC90C0u) goto L_08AC90C0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C58, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC90C0u) goto L_08AC90C0; AOT_REGCACHE_SYNC_OUT(); return; L_08AC90C0: aot_gpr_4 = (aot_gpr_17 | 0u); @@ -4352,7 +4353,7 @@ L_08AC9294: L_08AC929C: aot_gpr_31 = (0x08AC92A4u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC92A4u) goto L_08AC92A4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC79D4, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC92A4u) goto L_08AC92A4; AOT_REGCACHE_SYNC_OUT(); return; L_08AC92A4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(0))); @@ -4375,7 +4376,7 @@ L_08AC92B4: L_08AC92BC: aot_gpr_31 = (0x08AC92C4u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC92C4u) goto L_08AC92C4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C58, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC92C4u) goto L_08AC92C4; AOT_REGCACHE_SYNC_OUT(); return; L_08AC92C4: { const bool branch_taken = aot_gpr_2 == 0u; @@ -4401,7 +4402,7 @@ L_08AC92D4: L_08AC92DC: aot_gpr_31 = (0x08AC92E4u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC92E4u) goto L_08AC92E4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C58, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC92E4u) goto L_08AC92E4; AOT_REGCACHE_SYNC_OUT(); return; L_08AC92E4: aot_gpr_31 = (0x08AC92ECu); @@ -4412,7 +4413,7 @@ L_08AC92EC: aot_gpr_16 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08AC92F8u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC92F8u) goto L_08AC92F8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C58, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC92F8u) goto L_08AC92F8; AOT_REGCACHE_SYNC_OUT(); return; L_08AC92F8: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(565))); @@ -4474,7 +4475,7 @@ L_08AC933C: L_08AC934C: aot_gpr_31 = (0x08AC9354u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9354u) goto L_08AC9354; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C58, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9354u) goto L_08AC9354; AOT_REGCACHE_SYNC_OUT(); return; L_08AC9354: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(1653)))))); @@ -4563,7 +4564,7 @@ L_08AC93D0: L_08AC93E0: aot_gpr_31 = (0x08AC93E8u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC93E8u) goto L_08AC93E8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC79D4, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC93E8u) goto L_08AC93E8; AOT_REGCACHE_SYNC_OUT(); return; L_08AC93E8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(0))); @@ -4578,7 +4579,7 @@ L_08AC93E8: L_08AC93F8: aot_gpr_31 = (0x08AC9400u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9400u) goto L_08AC9400; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC79D4, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9400u) goto L_08AC9400; AOT_REGCACHE_SYNC_OUT(); return; L_08AC9400: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(0))); @@ -4604,7 +4605,7 @@ L_08AC9410: L_08AC9424: aot_gpr_31 = (0x08AC942Cu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC942Cu) goto L_08AC942C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C58, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC942Cu) goto L_08AC942C; AOT_REGCACHE_SYNC_OUT(); return; L_08AC942C: aot_gpr_4 = (aot_gpr_2 | 0u); @@ -4623,7 +4624,7 @@ L_08AC9438: L_08AC9440: aot_gpr_31 = (0x08AC9448u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9448u) goto L_08AC9448; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C58, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9448u) goto L_08AC9448; AOT_REGCACHE_SYNC_OUT(); return; L_08AC9448: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(563))); @@ -4663,7 +4664,7 @@ L_08AC9470: L_08AC9484: aot_gpr_31 = (0x08AC948Cu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC948Cu) goto L_08AC948C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C58, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC948Cu) goto L_08AC948C; AOT_REGCACHE_SYNC_OUT(); return; L_08AC948C: aot_gpr_4 = (aot_gpr_2 | 0u); @@ -4682,7 +4683,7 @@ L_08AC9498: L_08AC94A0: aot_gpr_31 = (0x08AC94A8u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC94A8u) goto L_08AC94A8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C58, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC94A8u) goto L_08AC94A8; AOT_REGCACHE_SYNC_OUT(); return; L_08AC94A8: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(563))); @@ -4711,7 +4712,7 @@ L_08AC94C8: L_08AC94D0: aot_gpr_31 = (0x08AC94D8u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC94D8u) goto L_08AC94D8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C58, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC94D8u) goto L_08AC94D8; AOT_REGCACHE_SYNC_OUT(); return; L_08AC94D8: aot_gpr_4 = (aot_gpr_2 | 0u); @@ -4730,7 +4731,7 @@ L_08AC94E4: L_08AC94EC: aot_gpr_31 = (0x08AC94F4u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC94F4u) goto L_08AC94F4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C58, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC94F4u) goto L_08AC94F4; AOT_REGCACHE_SYNC_OUT(); return; L_08AC94F4: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(563))); @@ -4754,7 +4755,7 @@ L_08AC9514: L_08AC9518: aot_gpr_31 = (0x08AC9520u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9520u) goto L_08AC9520; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C58, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9520u) goto L_08AC9520; AOT_REGCACHE_SYNC_OUT(); return; L_08AC9520: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(565))); @@ -4769,7 +4770,7 @@ L_08AC9520: L_08AC9530: aot_gpr_31 = (0x08AC9538u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9538u) goto L_08AC9538; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C58, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9538u) goto L_08AC9538; AOT_REGCACHE_SYNC_OUT(); return; L_08AC9538: aot_gpr_4 = (aot_gpr_2 | 0u); @@ -4788,7 +4789,7 @@ L_08AC9544: L_08AC954C: aot_gpr_31 = (0x08AC9554u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9554u) goto L_08AC9554; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C58, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9554u) goto L_08AC9554; AOT_REGCACHE_SYNC_OUT(); return; L_08AC9554: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(563))); @@ -4827,7 +4828,7 @@ L_08AC9584: ctx.gpr[18] = (ctx.gpr[29] + static_cast(320)); aot_gpr_31 = (0x08AC9594u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9594u) goto L_08AC9594; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C58, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9594u) goto L_08AC9594; AOT_REGCACHE_SYNC_OUT(); return; L_08AC9594: ctx.gpr[19] = (aot_gpr_2 | 0u); @@ -4857,7 +4858,7 @@ L_08AC95C0: L_08AC95CC: aot_gpr_31 = (0x08AC95D4u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC95D4u) goto L_08AC95D4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C58, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC95D4u) goto L_08AC95D4; AOT_REGCACHE_SYNC_OUT(); return; L_08AC95D4: aot_gpr_16 = (aot_gpr_2 | 0u); @@ -4878,7 +4879,7 @@ L_08AC95F4: L_08AC95F8: aot_gpr_31 = (0x08AC9600u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9600u) goto L_08AC9600; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C58, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9600u) goto L_08AC9600; AOT_REGCACHE_SYNC_OUT(); return; L_08AC9600: { const bool branch_taken = aot_gpr_2 == 0u; @@ -4904,7 +4905,7 @@ L_08AC9610: L_08AC9618: aot_gpr_31 = (0x08AC9620u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9620u) goto L_08AC9620; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C58, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9620u) goto L_08AC9620; AOT_REGCACHE_SYNC_OUT(); return; L_08AC9620: aot_gpr_31 = (0x08AC9628u); @@ -4946,7 +4947,7 @@ L_08AC9650: aot_gpr_4 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08AC965Cu); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC965Cu) goto L_08AC965C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC965Cu) goto L_08AC965C; AOT_REGCACHE_SYNC_OUT(); return; L_08AC965C: { const bool branch_taken = 0u == 0u; @@ -4972,7 +4973,7 @@ L_08AC966C: L_08AC9674: aot_gpr_31 = (0x08AC967Cu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC967Cu) goto L_08AC967C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC79D4, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC967Cu) goto L_08AC967C; AOT_REGCACHE_SYNC_OUT(); return; L_08AC967C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(0))); @@ -4987,7 +4988,7 @@ L_08AC967C: L_08AC968C: aot_gpr_31 = (0x08AC9694u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9694u) goto L_08AC9694; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC79D4, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9694u) goto L_08AC9694; AOT_REGCACHE_SYNC_OUT(); return; L_08AC9694: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(0))); @@ -5002,7 +5003,7 @@ L_08AC9694: L_08AC96A4: aot_gpr_31 = (0x08AC96ACu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC96ACu) goto L_08AC96AC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC79D4, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC96ACu) goto L_08AC96AC; AOT_REGCACHE_SYNC_OUT(); return; L_08AC96AC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(0))); @@ -5084,7 +5085,7 @@ L_08AC9718: L_08AC9720: aot_gpr_31 = (0x08AC9728u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9728u) goto L_08AC9728; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C58, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9728u) goto L_08AC9728; AOT_REGCACHE_SYNC_OUT(); return; L_08AC9728: aot_gpr_31 = (0x08AC9730u); @@ -5102,7 +5103,7 @@ L_08AC9730: L_08AC9738: aot_gpr_31 = (0x08AC9740u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9740u) goto L_08AC9740; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9740u) goto L_08AC9740; AOT_REGCACHE_SYNC_OUT(); return; L_08AC9740: { const bool branch_taken = aot_gpr_2 != 0u; @@ -5115,7 +5116,7 @@ L_08AC9740: L_08AC9748: aot_gpr_31 = (0x08AC9750u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9750u) goto L_08AC9750; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C58, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9750u) goto L_08AC9750; AOT_REGCACHE_SYNC_OUT(); return; L_08AC9750: aot_gpr_31 = (0x08AC9758u); @@ -5139,7 +5140,7 @@ L_08AC9760: L_08AC976C: aot_gpr_31 = (0x08AC9774u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9774u) goto L_08AC9774; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C58, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9774u) goto L_08AC9774; AOT_REGCACHE_SYNC_OUT(); return; L_08AC9774: aot_gpr_31 = (0x08AC977Cu); @@ -5162,7 +5163,7 @@ L_08AC9788: L_08AC9790: aot_gpr_31 = (0x08AC9798u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9798u) goto L_08AC9798; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C58, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9798u) goto L_08AC9798; AOT_REGCACHE_SYNC_OUT(); return; L_08AC9798: aot_gpr_4 = (aot_gpr_17 | 0u); @@ -5174,7 +5175,7 @@ L_08AC9798: L_08AC97A8: aot_gpr_31 = (0x08AC97B0u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC97B0u) goto L_08AC97B0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C58, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC97B0u) goto L_08AC97B0; AOT_REGCACHE_SYNC_OUT(); return; L_08AC97B0: aot_gpr_4 = (aot_gpr_2 + static_cast(615)); @@ -5191,7 +5192,7 @@ L_08AC97B0: L_08AC97C8: aot_gpr_31 = (0x08AC97D0u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC97D0u) goto L_08AC97D0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C58, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC97D0u) goto L_08AC97D0; AOT_REGCACHE_SYNC_OUT(); return; L_08AC97D0: { const bool branch_taken = aot_gpr_2 == 0u; @@ -5204,7 +5205,7 @@ L_08AC97D0: L_08AC97D8: aot_gpr_31 = (0x08AC97E0u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC97E0u) goto L_08AC97E0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C58, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC97E0u) goto L_08AC97E0; AOT_REGCACHE_SYNC_OUT(); return; L_08AC97E0: aot_gpr_31 = (0x08AC97E8u); @@ -5236,7 +5237,7 @@ L_08AC97F8: L_08AC9804: aot_gpr_31 = (0x08AC980Cu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC980Cu) goto L_08AC980C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C58, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC980Cu) goto L_08AC980C; AOT_REGCACHE_SYNC_OUT(); return; L_08AC980C: aot_gpr_31 = (0x08AC9814u); @@ -5254,7 +5255,7 @@ L_08AC9814: L_08AC981C: aot_gpr_31 = (0x08AC9824u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9824u) goto L_08AC9824; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C58, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9824u) goto L_08AC9824; AOT_REGCACHE_SYNC_OUT(); return; L_08AC9824: aot_gpr_31 = (0x08AC982Cu); @@ -5296,7 +5297,7 @@ L_08AC9850: L_08AC985C: aot_gpr_31 = (0x08AC9864u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9864u) goto L_08AC9864; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C58, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9864u) goto L_08AC9864; AOT_REGCACHE_SYNC_OUT(); return; L_08AC9864: aot_gpr_31 = (0x08AC986Cu); @@ -5319,7 +5320,7 @@ L_08AC9874: L_08AC9880: aot_gpr_31 = (0x08AC9888u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9888u) goto L_08AC9888; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C58, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9888u) goto L_08AC9888; AOT_REGCACHE_SYNC_OUT(); return; L_08AC9888: aot_gpr_4 = (aot_gpr_17 | 0u); @@ -5331,7 +5332,7 @@ L_08AC9888: L_08AC9898: aot_gpr_31 = (0x08AC98A0u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC98A0u) goto L_08AC98A0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C58, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC98A0u) goto L_08AC98A0; AOT_REGCACHE_SYNC_OUT(); return; L_08AC98A0: aot_gpr_4 = (aot_gpr_2 + static_cast(615)); @@ -5343,7 +5344,7 @@ L_08AC98A0: L_08AC98B4: aot_gpr_31 = (0x08AC98BCu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC98BCu) goto L_08AC98BC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C58, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC98BCu) goto L_08AC98BC; AOT_REGCACHE_SYNC_OUT(); return; L_08AC98BC: aot_gpr_31 = (0x08AC98C4u); @@ -5361,7 +5362,7 @@ L_08AC98C4: L_08AC98CC: aot_gpr_31 = (0x08AC98D4u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC98D4u) goto L_08AC98D4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C58, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC98D4u) goto L_08AC98D4; AOT_REGCACHE_SYNC_OUT(); return; L_08AC98D4: aot_gpr_31 = (0x08AC98DCu); @@ -5380,7 +5381,7 @@ L_08AC98DC: L_08AC98E8: aot_gpr_31 = (0x08AC98F0u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC98F0u) goto L_08AC98F0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C58, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC98F0u) goto L_08AC98F0; AOT_REGCACHE_SYNC_OUT(); return; L_08AC98F0: aot_gpr_31 = (0x08AC98F8u); @@ -5425,7 +5426,7 @@ L_08AC991C: L_08AC9924: aot_gpr_31 = (0x08AC992Cu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC992Cu) goto L_08AC992C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC79D4, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC992Cu) goto L_08AC992C; AOT_REGCACHE_SYNC_OUT(); return; L_08AC992C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(0))); @@ -5440,7 +5441,7 @@ L_08AC992C: L_08AC993C: aot_gpr_31 = (0x08AC9944u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9944u) goto L_08AC9944; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C58, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9944u) goto L_08AC9944; AOT_REGCACHE_SYNC_OUT(); return; L_08AC9944: aot_gpr_4 = (aot_gpr_17 | 0u); @@ -5459,7 +5460,7 @@ L_08AC9950: L_08AC9958: aot_gpr_31 = (0x08AC9960u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9960u) goto L_08AC9960; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC79D4, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9960u) goto L_08AC9960; AOT_REGCACHE_SYNC_OUT(); return; L_08AC9960: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(0))); @@ -5474,7 +5475,7 @@ L_08AC9960: L_08AC9970: aot_gpr_31 = (0x08AC9978u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9978u) goto L_08AC9978; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C58, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9978u) goto L_08AC9978; AOT_REGCACHE_SYNC_OUT(); return; L_08AC9978: aot_gpr_4 = (aot_gpr_17 | 0u); @@ -5512,12 +5513,12 @@ L_08AC99B0: aot_gpr_4 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08AC99BCu); aot_gpr_5 = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC99BCu) goto L_08AC99BC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC99BCu) goto L_08AC99BC; AOT_REGCACHE_SYNC_OUT(); return; L_08AC99BC: aot_gpr_31 = (0x08AC99C4u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC99C4u) goto L_08AC99C4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C58, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC99C4u) goto L_08AC99C4; AOT_REGCACHE_SYNC_OUT(); return; L_08AC99C4: { const bool branch_taken = aot_gpr_2 == 0u; @@ -5530,7 +5531,7 @@ L_08AC99C4: L_08AC99CC: aot_gpr_31 = (0x08AC99D4u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC99D4u) goto L_08AC99D4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C58, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC99D4u) goto L_08AC99D4; AOT_REGCACHE_SYNC_OUT(); return; L_08AC99D4: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(636))); @@ -5548,18 +5549,18 @@ L_08AC99EC: aot_gpr_16 = (ctx.gpr[29] + static_cast(352)); aot_gpr_31 = (0x08AC99F8u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC99F8u) goto L_08AC99F8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C58, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC99F8u) goto L_08AC99F8; AOT_REGCACHE_SYNC_OUT(); return; L_08AC99F8: aot_gpr_31 = (0x08AC9A00u); aot_gpr_4 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9A00u) goto L_08AC9A00; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7670, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9A00u) goto L_08AC9A00; AOT_REGCACHE_SYNC_OUT(); return; L_08AC9A00: ctx.gpr[18] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08AC9A0Cu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9A0Cu) goto L_08AC9A0C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7670, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9A0Cu) goto L_08AC9A0C; AOT_REGCACHE_SYNC_OUT(); return; L_08AC9A0C: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -5611,7 +5612,7 @@ L_08AC9A40: L_08AC9A68: aot_gpr_31 = (0x08AC9A70u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9A70u) goto L_08AC9A70; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C58, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9A70u) goto L_08AC9A70; AOT_REGCACHE_SYNC_OUT(); return; L_08AC9A70: aot_gpr_31 = (0x08AC9A78u); @@ -5629,7 +5630,7 @@ L_08AC9A78: L_08AC9A80: aot_gpr_31 = (0x08AC9A88u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9A88u) goto L_08AC9A88; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C58, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9A88u) goto L_08AC9A88; AOT_REGCACHE_SYNC_OUT(); return; L_08AC9A88: aot_gpr_31 = (0x08AC9A90u); @@ -5660,7 +5661,7 @@ L_08AC9AA0: L_08AC9AA8: aot_gpr_31 = (0x08AC9AB0u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9AB0u) goto L_08AC9AB0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C58, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9AB0u) goto L_08AC9AB0; AOT_REGCACHE_SYNC_OUT(); return; L_08AC9AB0: aot_gpr_4 = (aot_gpr_17 | 0u); @@ -5694,7 +5695,7 @@ L_08AC9AD0: L_08AC9AE0: aot_gpr_31 = (0x08AC9AE8u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9AE8u) goto L_08AC9AE8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9AE8u) goto L_08AC9AE8; AOT_REGCACHE_SYNC_OUT(); return; L_08AC9AE8: { const bool branch_taken = aot_gpr_2 == 0u; @@ -5727,7 +5728,7 @@ L_08AC9B0C: aot_gpr_4 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08AC9B18u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9B18u) goto L_08AC9B18; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9B18u) goto L_08AC9B18; AOT_REGCACHE_SYNC_OUT(); return; L_08AC9B18: { const bool branch_taken = 0u == 0u; @@ -5840,13 +5841,13 @@ L_08AC9BA0: L_08AC9BA8: aot_gpr_31 = (0x08AC9BB0u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9BB0u) goto L_08AC9BB0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C50, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9BB0u) goto L_08AC9BB0; AOT_REGCACHE_SYNC_OUT(); return; L_08AC9BB0: aot_gpr_16 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08AC9BBCu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9BBCu) goto L_08AC9BBC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C58, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9BBCu) goto L_08AC9BBC; AOT_REGCACHE_SYNC_OUT(); return; L_08AC9BBC: { const bool branch_taken = aot_gpr_16 == aot_gpr_2; @@ -5859,7 +5860,7 @@ L_08AC9BBC: L_08AC9BC4: aot_gpr_31 = (0x08AC9BCCu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9BCCu) goto L_08AC9BCC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C50, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9BCCu) goto L_08AC9BCC; AOT_REGCACHE_SYNC_OUT(); return; L_08AC9BCC: aot_gpr_4 = (aot_gpr_17 | 0u); @@ -5879,7 +5880,7 @@ L_08AC9BDC: L_08AC9BE4: aot_gpr_31 = (0x08AC9BECu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9BECu) goto L_08AC9BEC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC79D4, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9BECu) goto L_08AC9BEC; AOT_REGCACHE_SYNC_OUT(); return; L_08AC9BEC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(0))); @@ -5924,7 +5925,7 @@ L_08AC9C24: L_08AC9C2C: aot_gpr_31 = (0x08AC9C34u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9C34u) goto L_08AC9C34; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC79D4, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9C34u) goto L_08AC9C34; AOT_REGCACHE_SYNC_OUT(); return; L_08AC9C34: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(0))); @@ -5939,7 +5940,7 @@ L_08AC9C34: L_08AC9C44: aot_gpr_31 = (0x08AC9C4Cu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9C4Cu) goto L_08AC9C4C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C58, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9C4Cu) goto L_08AC9C4C; AOT_REGCACHE_SYNC_OUT(); return; L_08AC9C4C: { const bool branch_taken = aot_gpr_2 == 0u; @@ -5957,7 +5958,7 @@ L_08AC9C54: L_08AC9C5C: aot_gpr_31 = (0x08AC9C64u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9C64u) goto L_08AC9C64; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C58, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9C64u) goto L_08AC9C64; AOT_REGCACHE_SYNC_OUT(); return; L_08AC9C64: aot_gpr_4 = (aot_gpr_17 | 0u); @@ -6019,7 +6020,7 @@ L_08AC9CB0: L_08AC9CB8: aot_gpr_31 = (0x08AC9CC0u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9CC0u) goto L_08AC9CC0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C50, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9CC0u) goto L_08AC9CC0; AOT_REGCACHE_SYNC_OUT(); return; L_08AC9CC0: { const bool branch_taken = aot_gpr_2 == 0u; @@ -6058,7 +6059,7 @@ L_08AC9CE0: L_08AC9CE8: aot_gpr_31 = (0x08AC9CF0u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9CF0u) goto L_08AC9CF0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C50, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9CF0u) goto L_08AC9CF0; AOT_REGCACHE_SYNC_OUT(); return; L_08AC9CF0: aot_gpr_31 = (0x08AC9CF8u); @@ -6076,7 +6077,7 @@ L_08AC9CF8: L_08AC9D00: aot_gpr_31 = (0x08AC9D08u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9D08u) goto L_08AC9D08; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C50, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9D08u) goto L_08AC9D08; AOT_REGCACHE_SYNC_OUT(); return; L_08AC9D08: aot_gpr_4 = (aot_gpr_2 | 0u); @@ -6135,7 +6136,7 @@ L_08AC9D40: L_08AC9D48: aot_gpr_31 = (0x08AC9D50u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9D50u) goto L_08AC9D50; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C50, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9D50u) goto L_08AC9D50; AOT_REGCACHE_SYNC_OUT(); return; L_08AC9D50: { const bool branch_taken = aot_gpr_2 == 0u; @@ -6162,7 +6163,7 @@ L_08AC9D60: L_08AC9D6C: aot_gpr_31 = (0x08AC9D74u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9D74u) goto L_08AC9D74; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C50, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9D74u) goto L_08AC9D74; AOT_REGCACHE_SYNC_OUT(); return; L_08AC9D74: aot_gpr_31 = (0x08AC9D7Cu); @@ -6182,7 +6183,7 @@ L_08AC9D88: ctx.gpr[19] = (ctx.gpr[29] + static_cast(368)); aot_gpr_31 = (0x08AC9D94u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9D94u) goto L_08AC9D94; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C50, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9D94u) goto L_08AC9D94; AOT_REGCACHE_SYNC_OUT(); return; L_08AC9D94: aot_gpr_31 = (0x08AC9D9Cu); @@ -6248,7 +6249,7 @@ L_08AC9DEC: L_08AC9DF4: aot_gpr_31 = (0x08AC9DFCu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9DFCu) goto L_08AC9DFC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC79D4, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9DFCu) goto L_08AC9DFC; AOT_REGCACHE_SYNC_OUT(); return; L_08AC9DFC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(0))); @@ -6263,7 +6264,7 @@ L_08AC9DFC: L_08AC9E0C: aot_gpr_31 = (0x08AC9E14u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9E14u) goto L_08AC9E14; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC79D4, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9E14u) goto L_08AC9E14; AOT_REGCACHE_SYNC_OUT(); return; L_08AC9E14: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(0))); @@ -6278,7 +6279,7 @@ L_08AC9E14: L_08AC9E24: aot_gpr_31 = (0x08AC9E2Cu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9E2Cu) goto L_08AC9E2C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC79D4, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9E2Cu) goto L_08AC9E2C; AOT_REGCACHE_SYNC_OUT(); return; L_08AC9E2C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(0))); @@ -6293,7 +6294,7 @@ L_08AC9E2C: L_08AC9E3C: aot_gpr_31 = (0x08AC9E44u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9E44u) goto L_08AC9E44; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C50, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9E44u) goto L_08AC9E44; AOT_REGCACHE_SYNC_OUT(); return; L_08AC9E44: aot_gpr_31 = (0x08AC9E4Cu); @@ -6312,7 +6313,7 @@ L_08AC9E4C: L_08AC9E58: aot_gpr_31 = (0x08AC9E60u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9E60u) goto L_08AC9E60; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C50, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9E60u) goto L_08AC9E60; AOT_REGCACHE_SYNC_OUT(); return; L_08AC9E60: aot_gpr_4 = (aot_gpr_17 | 0u); @@ -6331,7 +6332,7 @@ L_08AC9E6C: L_08AC9E74: aot_gpr_31 = (0x08AC9E7Cu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9E7Cu) goto L_08AC9E7C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C50, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9E7Cu) goto L_08AC9E7C; AOT_REGCACHE_SYNC_OUT(); return; L_08AC9E7C: aot_gpr_4 = (aot_gpr_17 | 0u); @@ -6457,7 +6458,7 @@ L_08AC9F18: L_08AC9F20: aot_gpr_31 = (0x08AC9F28u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9F28u) goto L_08AC9F28; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C50, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9F28u) goto L_08AC9F28; AOT_REGCACHE_SYNC_OUT(); return; L_08AC9F28: { const bool branch_taken = aot_gpr_2 == 0u; @@ -6470,7 +6471,7 @@ L_08AC9F28: L_08AC9F30: aot_gpr_31 = (0x08AC9F38u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9F38u) goto L_08AC9F38; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC79D4, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9F38u) goto L_08AC9F38; AOT_REGCACHE_SYNC_OUT(); return; L_08AC9F38: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(0))); @@ -6485,7 +6486,7 @@ L_08AC9F38: L_08AC9F48: aot_gpr_31 = (0x08AC9F50u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9F50u) goto L_08AC9F50; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC79D4, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9F50u) goto L_08AC9F50; AOT_REGCACHE_SYNC_OUT(); return; L_08AC9F50: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(0))); @@ -6500,7 +6501,7 @@ L_08AC9F50: L_08AC9F60: aot_gpr_31 = (0x08AC9F68u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9F68u) goto L_08AC9F68; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC79D4, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9F68u) goto L_08AC9F68; AOT_REGCACHE_SYNC_OUT(); return; L_08AC9F68: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(0))); @@ -6515,7 +6516,7 @@ L_08AC9F68: L_08AC9F78: aot_gpr_31 = (0x08AC9F80u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9F80u) goto L_08AC9F80; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C50, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9F80u) goto L_08AC9F80; AOT_REGCACHE_SYNC_OUT(); return; L_08AC9F80: aot_gpr_31 = (0x08AC9F88u); @@ -6534,7 +6535,7 @@ L_08AC9F88: L_08AC9F94: aot_gpr_31 = (0x08AC9F9Cu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9F9Cu) goto L_08AC9F9C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C50, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9F9Cu) goto L_08AC9F9C; AOT_REGCACHE_SYNC_OUT(); return; L_08AC9F9C: aot_gpr_4 = (aot_gpr_17 | 0u); @@ -6553,7 +6554,7 @@ L_08AC9FA8: L_08AC9FB0: aot_gpr_31 = (0x08AC9FB8u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9FB8u) goto L_08AC9FB8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C50, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9FB8u) goto L_08AC9FB8; AOT_REGCACHE_SYNC_OUT(); return; L_08AC9FB8: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(614)))))); @@ -6568,7 +6569,7 @@ L_08AC9FB8: L_08AC9FC8: aot_gpr_31 = (0x08AC9FD0u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9FD0u) goto L_08AC9FD0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C50, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9FD0u) goto L_08AC9FD0; AOT_REGCACHE_SYNC_OUT(); return; L_08AC9FD0: aot_gpr_4 = (aot_gpr_17 | 0u); @@ -6589,7 +6590,7 @@ L_08AC9FE8: aot_gpr_16 = (0u | 10u); aot_gpr_31 = (0x08AC9FF4u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9FF4u) goto L_08AC9FF4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C50, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AC9FF4u) goto L_08AC9FF4; AOT_REGCACHE_SYNC_OUT(); return; L_08AC9FF4: aot_gpr_31 = (0x08AC9FFCu); @@ -6615,7 +6616,7 @@ L_08ACA004: L_08ACA00C: aot_gpr_31 = (0x08ACA014u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACA014u) goto L_08ACA014; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C50, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACA014u) goto L_08ACA014; AOT_REGCACHE_SYNC_OUT(); return; L_08ACA014: aot_gpr_4 = (aot_gpr_2 | 0u); @@ -6642,7 +6643,7 @@ L_08ACA028: L_08ACA030: aot_gpr_31 = (0x08ACA038u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACA038u) goto L_08ACA038; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C50, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACA038u) goto L_08ACA038; AOT_REGCACHE_SYNC_OUT(); return; L_08ACA038: aot_gpr_4 = (aot_gpr_2 | 0u); @@ -6669,7 +6670,7 @@ L_08ACA04C: L_08ACA054: aot_gpr_31 = (0x08ACA05Cu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACA05Cu) goto L_08ACA05C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C50, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACA05Cu) goto L_08ACA05C; AOT_REGCACHE_SYNC_OUT(); return; L_08ACA05C: aot_gpr_4 = (aot_gpr_2 | 0u); @@ -6691,7 +6692,7 @@ L_08ACA070: L_08ACA074: aot_gpr_31 = (0x08ACA07Cu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACA07Cu) goto L_08ACA07C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C50, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACA07Cu) goto L_08ACA07C; AOT_REGCACHE_SYNC_OUT(); return; L_08ACA07C: aot_gpr_4 = (aot_gpr_17 | 0u); @@ -6726,7 +6727,7 @@ L_08ACA0A0: L_08ACA0AC: aot_gpr_31 = (0x08ACA0B4u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACA0B4u) goto L_08ACA0B4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C50, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACA0B4u) goto L_08ACA0B4; AOT_REGCACHE_SYNC_OUT(); return; L_08ACA0B4: { const bool branch_taken = aot_gpr_2 == 0u; @@ -6739,7 +6740,7 @@ L_08ACA0B4: L_08ACA0BC: aot_gpr_31 = (0x08ACA0C4u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACA0C4u) goto L_08ACA0C4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC79D4, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACA0C4u) goto L_08ACA0C4; AOT_REGCACHE_SYNC_OUT(); return; L_08ACA0C4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(0))); @@ -6754,7 +6755,7 @@ L_08ACA0C4: L_08ACA0D4: aot_gpr_31 = (0x08ACA0DCu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACA0DCu) goto L_08ACA0DC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C50, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACA0DCu) goto L_08ACA0DC; AOT_REGCACHE_SYNC_OUT(); return; L_08ACA0DC: aot_gpr_4 = (aot_gpr_17 | 0u); @@ -6774,7 +6775,7 @@ L_08ACA0EC: L_08ACA0F4: aot_gpr_31 = (0x08ACA0FCu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACA0FCu) goto L_08ACA0FC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC79D4, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACA0FCu) goto L_08ACA0FC; AOT_REGCACHE_SYNC_OUT(); return; L_08ACA0FC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(0))); @@ -6879,7 +6880,7 @@ L_08ACA1A8: aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(456), aot_gpr_4); aot_gpr_31 = (0x08ACA1C0u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACA1C0u) goto L_08ACA1C0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890FF64, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACA1C0u) goto L_08ACA1C0; AOT_REGCACHE_SYNC_OUT(); return; L_08ACA1C0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7588))); @@ -6946,7 +6947,7 @@ L_08ACA228: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1716))); aot_gpr_31 = (0x08ACA234u); aot_gpr_5 = (aot_gpr_17 + static_cast(1716)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACA234u) goto L_08ACA234; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACA234u) goto L_08ACA234; AOT_REGCACHE_SYNC_OUT(); return; L_08ACA234: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1744))); @@ -6990,7 +6991,7 @@ L_08ACA26C: L_08ACA27C: aot_gpr_31 = (0x08ACA284u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACA284u) goto L_08ACA284; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC79D4, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACA284u) goto L_08ACA284; AOT_REGCACHE_SYNC_OUT(); return; L_08ACA284: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(0))); @@ -7106,7 +7107,7 @@ L_08ACA338: ctx.gpr[18] = (aot_gpr_17 + static_cast(2096)); aot_gpr_31 = (0x08ACA348u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACA348u) goto L_08ACA348; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7670, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACA348u) goto L_08ACA348; AOT_REGCACHE_SYNC_OUT(); return; L_08ACA348: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -7162,7 +7163,7 @@ L_08ACA3A4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1716))); aot_gpr_31 = (0x08ACA3B0u); aot_gpr_5 = (aot_gpr_17 + static_cast(1716)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACA3B0u) goto L_08ACA3B0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACA3B0u) goto L_08ACA3B0; AOT_REGCACHE_SYNC_OUT(); return; L_08ACA3B0: aot_gpr_31 = (0x08ACA3B8u); @@ -7228,7 +7229,7 @@ L_08ACA414: L_08ACA41C: aot_gpr_31 = (0x08ACA424u); aot_gpr_4 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACA424u) goto L_08ACA424; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC79D4, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACA424u) goto L_08ACA424; AOT_REGCACHE_SYNC_OUT(); return; L_08ACA424: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(0))); @@ -7293,7 +7294,7 @@ L_08ACA47C: L_08ACA484: aot_gpr_31 = (0x08ACA48Cu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACA48Cu) goto L_08ACA48C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089101A4, 67u, 27u, 0x089101A4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACA48Cu) goto L_08ACA48C; AOT_REGCACHE_SYNC_OUT(); return; L_08ACA48C: { const bool branch_taken = aot_gpr_2 != 0u; @@ -7306,7 +7307,7 @@ L_08ACA48C: L_08ACA494: aot_gpr_31 = (0x08ACA49Cu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACA49Cu) goto L_08ACA49C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089101A4, 67u, 27u, 0x089101A4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACA49Cu) goto L_08ACA49C; AOT_REGCACHE_SYNC_OUT(); return; L_08ACA49C: { const bool branch_taken = aot_gpr_2 == 0u; @@ -7319,7 +7320,7 @@ L_08ACA49C: L_08ACA4A4: aot_gpr_31 = (0x08ACA4ACu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACA4ACu) goto L_08ACA4AC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089101A4, 67u, 27u, 0x089101A4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACA4ACu) goto L_08ACA4AC; AOT_REGCACHE_SYNC_OUT(); return; L_08ACA4AC: aot_gpr_31 = (0x08ACA4B4u); @@ -7338,7 +7339,7 @@ L_08ACA4B4: L_08ACA4C0: aot_gpr_31 = (0x08ACA4C8u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACA4C8u) goto L_08ACA4C8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089101A4, 67u, 27u, 0x089101A4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACA4C8u) goto L_08ACA4C8; AOT_REGCACHE_SYNC_OUT(); return; L_08ACA4C8: aot_gpr_4 = (aot_gpr_17 | 0u); @@ -7410,7 +7411,7 @@ L_08ACA530: ctx.gpr[18] = (aot_gpr_17 + static_cast(656)); aot_gpr_31 = (0x08ACA540u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACA540u) goto L_08ACA540; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7670, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACA540u) goto L_08ACA540; AOT_REGCACHE_SYNC_OUT(); return; L_08ACA540: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -7444,7 +7445,7 @@ L_08ACA56C: L_08ACA578: aot_gpr_31 = (0x08ACA580u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACA580u) goto L_08ACA580; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C50, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACA580u) goto L_08ACA580; AOT_REGCACHE_SYNC_OUT(); return; L_08ACA580: { const bool branch_taken = aot_gpr_2 == 0u; @@ -7457,7 +7458,7 @@ L_08ACA580: L_08ACA588: aot_gpr_31 = (0x08ACA590u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACA590u) goto L_08ACA590; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C50, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACA590u) goto L_08ACA590; AOT_REGCACHE_SYNC_OUT(); return; L_08ACA590: aot_gpr_5 = (aot_gpr_17 + static_cast(656)); @@ -7468,7 +7469,7 @@ L_08ACA590: L_08ACA59C: aot_gpr_31 = (0x08ACA5A4u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACA5A4u) goto L_08ACA5A4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C50, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACA5A4u) goto L_08ACA5A4; AOT_REGCACHE_SYNC_OUT(); return; L_08ACA5A4: aot_gpr_31 = (0x08ACA5ACu); @@ -7495,7 +7496,7 @@ L_08ACA5B4: L_08ACA5CC: aot_gpr_31 = (0x08ACA5D4u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACA5D4u) goto L_08ACA5D4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C50, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACA5D4u) goto L_08ACA5D4; AOT_REGCACHE_SYNC_OUT(); return; L_08ACA5D4: aot_gpr_4 = (aot_gpr_2 + static_cast(384)); @@ -7512,7 +7513,7 @@ L_08ACA5E0: L_08ACA5EC: aot_gpr_31 = (0x08ACA5F4u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACA5F4u) goto L_08ACA5F4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C50, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACA5F4u) goto L_08ACA5F4; AOT_REGCACHE_SYNC_OUT(); return; L_08ACA5F4: aot_gpr_4 = (aot_gpr_17 | 0u); @@ -7549,7 +7550,7 @@ L_08ACA614: L_08ACA62C: aot_gpr_31 = (0x08ACA634u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACA634u) goto L_08ACA634; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C50, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACA634u) goto L_08ACA634; AOT_REGCACHE_SYNC_OUT(); return; L_08ACA634: { const bool branch_taken = aot_gpr_2 != 0u; @@ -7564,7 +7565,7 @@ L_08ACA63C: aot_gpr_4 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08ACA64Cu); aot_fpr_20 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACA64Cu) goto L_08ACA64C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7670, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACA64Cu) goto L_08ACA64C; AOT_REGCACHE_SYNC_OUT(); return; L_08ACA64C: aot_gpr_4 = (ctx.gpr[29] + static_cast(432)); @@ -7608,13 +7609,13 @@ L_08ACA6A4: ctx.gpr[21] = (ctx.gpr[29] + static_cast(512)); aot_gpr_31 = (0x08ACA6C0u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACA6C0u) goto L_08ACA6C0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7670, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACA6C0u) goto L_08ACA6C0; AOT_REGCACHE_SYNC_OUT(); return; L_08ACA6C0: ctx.gpr[22] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08ACA6CCu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACA6CCu) goto L_08ACA6CC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7670, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACA6CCu) goto L_08ACA6CC; AOT_REGCACHE_SYNC_OUT(); return; L_08ACA6CC: aot_gpr_4 = (ctx.gpr[21] | 0u); @@ -7651,7 +7652,7 @@ L_08ACA700: L_08ACA708: aot_gpr_31 = (0x08ACA710u); aot_gpr_4 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACA710u) goto L_08ACA710; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C50, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACA710u) goto L_08ACA710; AOT_REGCACHE_SYNC_OUT(); return; L_08ACA710: { const bool branch_taken = aot_gpr_2 == ctx.gpr[19]; @@ -7692,7 +7693,7 @@ L_08ACA744: L_08ACA750: aot_gpr_31 = (0x08ACA758u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACA758u) goto L_08ACA758; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C50, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACA758u) goto L_08ACA758; AOT_REGCACHE_SYNC_OUT(); return; L_08ACA758: { const bool branch_taken = aot_gpr_2 == 0u; @@ -7705,7 +7706,7 @@ L_08ACA758: L_08ACA760: aot_gpr_31 = (0x08ACA768u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACA768u) goto L_08ACA768; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C50, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACA768u) goto L_08ACA768; AOT_REGCACHE_SYNC_OUT(); return; L_08ACA768: aot_gpr_4 = (aot_gpr_2 + static_cast(384)); @@ -7716,7 +7717,7 @@ L_08ACA768: L_08ACA774: aot_gpr_31 = (0x08ACA77Cu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACA77Cu) goto L_08ACA77C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C50, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACA77Cu) goto L_08ACA77C; AOT_REGCACHE_SYNC_OUT(); return; L_08ACA77C: aot_gpr_4 = (aot_gpr_17 | 0u); @@ -7736,7 +7737,7 @@ L_08ACA78C: L_08ACA794: aot_gpr_31 = (0x08ACA79Cu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACA79Cu) goto L_08ACA79C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C50, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACA79Cu) goto L_08ACA79C; AOT_REGCACHE_SYNC_OUT(); return; L_08ACA79C: aot_gpr_4 = (aot_gpr_2 + static_cast(384)); @@ -7818,7 +7819,7 @@ L_08ACA814: ctx.gpr[18] = (aot_gpr_17 + static_cast(656)); aot_gpr_31 = (0x08ACA824u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACA824u) goto L_08ACA824; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7670, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACA824u) goto L_08ACA824; AOT_REGCACHE_SYNC_OUT(); return; L_08ACA824: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -7884,7 +7885,7 @@ L_08ACA890: aot_gpr_4 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08ACA89Cu); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACA89Cu) goto L_08ACA89C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACA89Cu) goto L_08ACA89C; AOT_REGCACHE_SYNC_OUT(); return; L_08ACA89C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(456))); @@ -8019,7 +8020,7 @@ L_08ACA980: aot_gpr_4 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08ACA98Cu); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACA98Cu) goto L_08ACA98C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACA98Cu) goto L_08ACA98C; AOT_REGCACHE_SYNC_OUT(); return; L_08ACA98C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(456))); @@ -8163,7 +8164,7 @@ L_08ACAA74: L_08ACAA7C: aot_gpr_31 = (0x08ACAA84u); aot_gpr_4 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACAA84u) goto L_08ACAA84; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACAA84u) goto L_08ACAA84; AOT_REGCACHE_SYNC_OUT(); return; L_08ACAA84: { const bool branch_taken = aot_gpr_2 == 0u; @@ -8194,7 +8195,7 @@ L_08ACAA9C: L_08ACAAA4: aot_gpr_31 = (0x08ACAAACu); aot_gpr_4 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACAAACu) goto L_08ACAAAC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC79D4, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACAAACu) goto L_08ACAAAC; AOT_REGCACHE_SYNC_OUT(); return; L_08ACAAAC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(0))); @@ -8227,7 +8228,7 @@ L_08ACAACC: L_08ACAAD4: aot_gpr_31 = (0x08ACAADCu); aot_gpr_4 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACAADCu) goto L_08ACAADC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC79D4, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACAADCu) goto L_08ACAADC; AOT_REGCACHE_SYNC_OUT(); return; L_08ACAADC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(0))); @@ -8924,7 +8925,7 @@ L_08ACAFC0: aot_gpr_4 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08ACAFCCu); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACAFCCu) goto L_08ACAFCC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACAFCCu) goto L_08ACAFCC; AOT_REGCACHE_SYNC_OUT(); return; L_08ACAFCC: { const bool branch_taken = 0u == 0u; @@ -8952,7 +8953,7 @@ L_08ACAFDC: L_08ACAFEC: aot_gpr_31 = (0x08ACAFF4u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACAFF4u) goto L_08ACAFF4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC79D4, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACAFF4u) goto L_08ACAFF4; AOT_REGCACHE_SYNC_OUT(); return; L_08ACAFF4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(0))); @@ -9005,7 +9006,7 @@ L_08ACB044: L_08ACB04C: aot_gpr_31 = (0x08ACB054u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACB054u) goto L_08ACB054; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C50, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACB054u) goto L_08ACB054; AOT_REGCACHE_SYNC_OUT(); return; L_08ACB054: { const bool branch_taken = aot_gpr_2 == 0u; @@ -9018,7 +9019,7 @@ L_08ACB054: L_08ACB05C: aot_gpr_31 = (0x08ACB064u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACB064u) goto L_08ACB064; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C50, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACB064u) goto L_08ACB064; AOT_REGCACHE_SYNC_OUT(); return; L_08ACB064: aot_gpr_4 = (aot_gpr_17 | 0u); @@ -9041,7 +9042,7 @@ L_08ACB07C: ctx.gpr[19] = (aot_gpr_17 + static_cast(656)); aot_gpr_31 = (0x08ACB090u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACB090u) goto L_08ACB090; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7670, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACB090u) goto L_08ACB090; AOT_REGCACHE_SYNC_OUT(); return; L_08ACB090: aot_gpr_4 = (ctx.gpr[18] | 0u); @@ -9102,7 +9103,7 @@ L_08ACB0F0: L_08ACB100: aot_gpr_31 = (0x08ACB108u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACB108u) goto L_08ACB108; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC79D4, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACB108u) goto L_08ACB108; AOT_REGCACHE_SYNC_OUT(); return; L_08ACB108: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(0))); @@ -9211,7 +9212,7 @@ L_08ACB1C0: aot_gpr_16 = (ctx.gpr[29] + static_cast(624)); aot_gpr_31 = (0x08ACB1CCu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACB1CCu) goto L_08ACB1CC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7670, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACB1CCu) goto L_08ACB1CC; AOT_REGCACHE_SYNC_OUT(); return; L_08ACB1CC: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -9243,7 +9244,7 @@ L_08ACB1F0: L_08ACB200: aot_gpr_31 = (0x08ACB208u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACB208u) goto L_08ACB208; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890FF64, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACB208u) goto L_08ACB208; AOT_REGCACHE_SYNC_OUT(); return; L_08ACB208: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(456))); @@ -9310,7 +9311,7 @@ L_08ACB280: aot_gpr_4 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08ACB28Cu); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACB28Cu) goto L_08ACB28C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACB28Cu) goto L_08ACB28C; AOT_REGCACHE_SYNC_OUT(); return; L_08ACB28C: { const bool branch_taken = 0u == 0u; @@ -9361,7 +9362,7 @@ L_08ACB2C0: L_08ACB2C8: aot_gpr_31 = (0x08ACB2D0u); aot_gpr_4 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACB2D0u) goto L_08ACB2D0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACB2D0u) goto L_08ACB2D0; AOT_REGCACHE_SYNC_OUT(); return; L_08ACB2D0: { const bool branch_taken = aot_gpr_2 == 0u; @@ -9453,7 +9454,7 @@ L_08ACB340: L_08ACB34C: aot_gpr_31 = (0x08ACB354u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACB354u) goto L_08ACB354; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C50, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACB354u) goto L_08ACB354; AOT_REGCACHE_SYNC_OUT(); return; L_08ACB354: { const bool branch_taken = aot_gpr_2 == 0u; @@ -9483,7 +9484,7 @@ L_08ACB364: L_08ACB37C: aot_gpr_31 = (0x08ACB384u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACB384u) goto L_08ACB384; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C50, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACB384u) goto L_08ACB384; AOT_REGCACHE_SYNC_OUT(); return; L_08ACB384: aot_gpr_31 = (0x08ACB38Cu); @@ -9549,7 +9550,7 @@ L_08ACB3E0: L_08ACB3E8: aot_gpr_31 = (0x08ACB3F0u); aot_gpr_4 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACB3F0u) goto L_08ACB3F0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C50, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACB3F0u) goto L_08ACB3F0; AOT_REGCACHE_SYNC_OUT(); return; L_08ACB3F0: aot_gpr_4 = (aot_gpr_2 | 0u); @@ -9568,7 +9569,7 @@ L_08ACB3FC: L_08ACB404: aot_gpr_31 = (0x08ACB40Cu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACB40Cu) goto L_08ACB40C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C50, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACB40Cu) goto L_08ACB40C; AOT_REGCACHE_SYNC_OUT(); return; L_08ACB40C: aot_gpr_4 = (aot_gpr_2 + static_cast(384)); @@ -9579,7 +9580,7 @@ L_08ACB40C: L_08ACB418: aot_gpr_31 = (0x08ACB420u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACB420u) goto L_08ACB420; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C50, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACB420u) goto L_08ACB420; AOT_REGCACHE_SYNC_OUT(); return; L_08ACB420: aot_gpr_4 = (aot_gpr_2 + static_cast(384)); @@ -9590,7 +9591,7 @@ L_08ACB420: L_08ACB42C: aot_gpr_31 = (0x08ACB434u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACB434u) goto L_08ACB434; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C50, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACB434u) goto L_08ACB434; AOT_REGCACHE_SYNC_OUT(); return; L_08ACB434: aot_gpr_4 = (aot_gpr_17 | 0u); @@ -9610,7 +9611,7 @@ L_08ACB444: L_08ACB44C: aot_gpr_31 = (0x08ACB454u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACB454u) goto L_08ACB454; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C50, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACB454u) goto L_08ACB454; AOT_REGCACHE_SYNC_OUT(); return; L_08ACB454: aot_gpr_31 = (0x08ACB45Cu); @@ -9628,7 +9629,7 @@ L_08ACB45C: L_08ACB464: aot_gpr_31 = (0x08ACB46Cu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACB46Cu) goto L_08ACB46C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C50, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACB46Cu) goto L_08ACB46C; AOT_REGCACHE_SYNC_OUT(); return; L_08ACB46C: aot_gpr_31 = (0x08ACB474u); @@ -9646,7 +9647,7 @@ L_08ACB474: L_08ACB47C: aot_gpr_31 = (0x08ACB484u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACB484u) goto L_08ACB484; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C50, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACB484u) goto L_08ACB484; AOT_REGCACHE_SYNC_OUT(); return; L_08ACB484: aot_gpr_31 = (0x08ACB48Cu); @@ -9665,7 +9666,7 @@ L_08ACB48C: L_08ACB498: aot_gpr_31 = (0x08ACB4A0u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACB4A0u) goto L_08ACB4A0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C50, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACB4A0u) goto L_08ACB4A0; AOT_REGCACHE_SYNC_OUT(); return; L_08ACB4A0: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(563))); @@ -9679,7 +9680,7 @@ L_08ACB4A0: L_08ACB4AC: aot_gpr_31 = (0x08ACB4B4u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACB4B4u) goto L_08ACB4B4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C50, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACB4B4u) goto L_08ACB4B4; AOT_REGCACHE_SYNC_OUT(); return; L_08ACB4B4: aot_gpr_4 = (aot_gpr_2 | 0u); @@ -9704,13 +9705,13 @@ L_08ACB4C8: L_08ACB4D4: aot_gpr_31 = (0x08ACB4DCu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACB4DCu) goto L_08ACB4DC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C50, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACB4DCu) goto L_08ACB4DC; AOT_REGCACHE_SYNC_OUT(); return; L_08ACB4DC: aot_gpr_16 = (aot_gpr_2 + static_cast(384)); aot_gpr_31 = (0x08ACB4E8u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACB4E8u) goto L_08ACB4E8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C50, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACB4E8u) goto L_08ACB4E8; AOT_REGCACHE_SYNC_OUT(); return; L_08ACB4E8: aot_gpr_31 = (0x08ACB4F0u); @@ -9754,7 +9755,7 @@ L_08ACB4F0: L_08ACB56C: aot_gpr_31 = (0x08ACB574u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACB574u) goto L_08ACB574; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C50, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACB574u) goto L_08ACB574; AOT_REGCACHE_SYNC_OUT(); return; L_08ACB574: aot_gpr_31 = (0x08ACB57Cu); @@ -9778,13 +9779,13 @@ L_08ACB588: L_08ACB590: aot_gpr_31 = (0x08ACB598u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACB598u) goto L_08ACB598; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C50, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACB598u) goto L_08ACB598; AOT_REGCACHE_SYNC_OUT(); return; L_08ACB598: aot_gpr_16 = (aot_gpr_2 + static_cast(384)); aot_gpr_31 = (0x08ACB5A4u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACB5A4u) goto L_08ACB5A4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C50, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACB5A4u) goto L_08ACB5A4; AOT_REGCACHE_SYNC_OUT(); return; L_08ACB5A4: aot_gpr_31 = (0x08ACB5ACu); @@ -9810,7 +9811,7 @@ L_08ACB5AC: L_08ACB5E0: aot_gpr_31 = (0x08ACB5E8u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACB5E8u) goto L_08ACB5E8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C50, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACB5E8u) goto L_08ACB5E8; AOT_REGCACHE_SYNC_OUT(); return; L_08ACB5E8: aot_gpr_4 = (aot_gpr_2 + static_cast(384)); @@ -9821,7 +9822,7 @@ L_08ACB5E8: L_08ACB5F4: aot_gpr_31 = (0x08ACB5FCu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACB5FCu) goto L_08ACB5FC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C50, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACB5FCu) goto L_08ACB5FC; AOT_REGCACHE_SYNC_OUT(); return; L_08ACB5FC: aot_gpr_4 = (aot_gpr_2 + static_cast(384)); @@ -9879,7 +9880,7 @@ L_08ACB648: L_08ACB650: aot_gpr_31 = (0x08ACB658u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACB658u) goto L_08ACB658; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C50, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACB658u) goto L_08ACB658; AOT_REGCACHE_SYNC_OUT(); return; L_08ACB658: { const bool branch_taken = aot_gpr_2 != 0u; @@ -9894,7 +9895,7 @@ L_08ACB660: aot_gpr_4 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08ACB670u); aot_fpr_20 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACB670u) goto L_08ACB670; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7670, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACB670u) goto L_08ACB670; AOT_REGCACHE_SYNC_OUT(); return; L_08ACB670: aot_gpr_4 = (ctx.gpr[29] + static_cast(656)); @@ -9938,13 +9939,13 @@ L_08ACB6C8: ctx.gpr[21] = (ctx.gpr[29] + static_cast(736)); aot_gpr_31 = (0x08ACB6E4u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACB6E4u) goto L_08ACB6E4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7670, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACB6E4u) goto L_08ACB6E4; AOT_REGCACHE_SYNC_OUT(); return; L_08ACB6E4: ctx.gpr[22] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08ACB6F0u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACB6F0u) goto L_08ACB6F0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7670, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACB6F0u) goto L_08ACB6F0; AOT_REGCACHE_SYNC_OUT(); return; L_08ACB6F0: aot_gpr_4 = (ctx.gpr[21] | 0u); @@ -9981,7 +9982,7 @@ L_08ACB724: L_08ACB72C: aot_gpr_31 = (0x08ACB734u); aot_gpr_4 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACB734u) goto L_08ACB734; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C50, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACB734u) goto L_08ACB734; AOT_REGCACHE_SYNC_OUT(); return; L_08ACB734: { const bool branch_taken = aot_gpr_2 == ctx.gpr[19]; @@ -10062,7 +10063,7 @@ L_08ACB7A8: L_08ACB7B4: aot_gpr_31 = (0x08ACB7BCu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACB7BCu) goto L_08ACB7BC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C50, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACB7BCu) goto L_08ACB7BC; AOT_REGCACHE_SYNC_OUT(); return; L_08ACB7BC: { const bool branch_taken = aot_gpr_2 == 0u; @@ -10075,7 +10076,7 @@ L_08ACB7BC: L_08ACB7C4: aot_gpr_31 = (0x08ACB7CCu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACB7CCu) goto L_08ACB7CC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C50, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACB7CCu) goto L_08ACB7CC; AOT_REGCACHE_SYNC_OUT(); return; L_08ACB7CC: aot_gpr_4 = (aot_gpr_2 + static_cast(384)); @@ -10086,7 +10087,7 @@ L_08ACB7CC: L_08ACB7D8: aot_gpr_31 = (0x08ACB7E0u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACB7E0u) goto L_08ACB7E0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C50, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACB7E0u) goto L_08ACB7E0; AOT_REGCACHE_SYNC_OUT(); return; L_08ACB7E0: aot_gpr_4 = (aot_gpr_17 | 0u); @@ -10122,7 +10123,7 @@ L_08ACB810: aot_gpr_16 = (ctx.gpr[29] + static_cast(784)); aot_gpr_31 = (0x08ACB81Cu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACB81Cu) goto L_08ACB81C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7670, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACB81Cu) goto L_08ACB81C; AOT_REGCACHE_SYNC_OUT(); return; L_08ACB81C: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -10371,7 +10372,7 @@ L_08ACBA14: L_08ACBA20: aot_gpr_31 = (0x08ACBA28u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACBA28u) goto L_08ACBA28; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C50, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACBA28u) goto L_08ACBA28; AOT_REGCACHE_SYNC_OUT(); return; L_08ACBA28: { const bool branch_taken = aot_gpr_2 == 0u; @@ -10384,7 +10385,7 @@ L_08ACBA28: L_08ACBA30: aot_gpr_31 = (0x08ACBA38u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACBA38u) goto L_08ACBA38; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C50, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACBA38u) goto L_08ACBA38; AOT_REGCACHE_SYNC_OUT(); return; L_08ACBA38: aot_gpr_4 = (aot_gpr_2 + static_cast(384)); @@ -10395,7 +10396,7 @@ L_08ACBA38: L_08ACBA44: aot_gpr_31 = (0x08ACBA4Cu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACBA4Cu) goto L_08ACBA4C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C50, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACBA4Cu) goto L_08ACBA4C; AOT_REGCACHE_SYNC_OUT(); return; L_08ACBA4C: aot_gpr_4 = (aot_gpr_17 | 0u); @@ -10412,7 +10413,7 @@ L_08ACBA5C: L_08ACBA68: aot_gpr_31 = (0x08ACBA70u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACBA70u) goto L_08ACBA70; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C50, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACBA70u) goto L_08ACBA70; AOT_REGCACHE_SYNC_OUT(); return; L_08ACBA70: { const bool branch_taken = aot_gpr_2 == 0u; @@ -10441,7 +10442,7 @@ L_08ACBA80: L_08ACBA88: aot_gpr_31 = (0x08ACBA90u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACBA90u) goto L_08ACBA90; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C50, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACBA90u) goto L_08ACBA90; AOT_REGCACHE_SYNC_OUT(); return; L_08ACBA90: aot_gpr_4 = (aot_gpr_2 + static_cast(384)); @@ -10452,7 +10453,7 @@ L_08ACBA90: L_08ACBA9C: aot_gpr_31 = (0x08ACBAA4u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACBAA4u) goto L_08ACBAA4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C50, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACBAA4u) goto L_08ACBAA4; AOT_REGCACHE_SYNC_OUT(); return; L_08ACBAA4: aot_gpr_4 = (aot_gpr_17 | 0u); @@ -10474,7 +10475,7 @@ L_08ACBAB4: L_08ACBAC4: aot_gpr_31 = (0x08ACBACCu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 454u, 0x08909B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACBACCu) goto L_08ACBACC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08909B60, 65u, 454u, 0x08909B60u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_16, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 454u, 0x08909B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACBACCu) goto L_08ACBACC; AOT_REGCACHE_SYNC_OUT(); return; L_08ACBACC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(460))); @@ -10512,7 +10513,7 @@ L_08ACBAF4: L_08ACBB00: aot_gpr_31 = (0x08ACBB08u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACBB08u) goto L_08ACBB08; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C50, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACBB08u) goto L_08ACBB08; AOT_REGCACHE_SYNC_OUT(); return; L_08ACBB08: { const bool branch_taken = aot_gpr_2 == 0u; @@ -10525,7 +10526,7 @@ L_08ACBB08: L_08ACBB10: aot_gpr_31 = (0x08ACBB18u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACBB18u) goto L_08ACBB18; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C50, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACBB18u) goto L_08ACBB18; AOT_REGCACHE_SYNC_OUT(); return; L_08ACBB18: aot_gpr_4 = (aot_gpr_17 | 0u); @@ -10577,7 +10578,7 @@ L_08ACBB58: aot_gpr_5 = (aot_gpr_5 | 128u); aot_gpr_31 = (0x08ACBB6Cu); aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(460), aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 454u, 0x08909B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACBB6Cu) goto L_08ACBB6C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08909B60, 65u, 454u, 0x08909B60u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_16, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 454u, 0x08909B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACBB6Cu) goto L_08ACBB6C; AOT_REGCACHE_SYNC_OUT(); return; L_08ACBB6C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(92))); @@ -10773,7 +10774,7 @@ L_08ACBCB0: aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(1300))); aot_gpr_31 = (0x08ACBCBCu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACBCBCu) goto L_08ACBCBC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C50, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACBCBCu) goto L_08ACBCBC; AOT_REGCACHE_SYNC_OUT(); return; L_08ACBCBC: { const bool branch_taken = aot_gpr_16 == aot_gpr_2; @@ -10794,7 +10795,7 @@ L_08ACBCC4: L_08ACBCD8: aot_gpr_31 = (0x08ACBCE0u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACBCE0u) goto L_08ACBCE0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C50, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACBCE0u) goto L_08ACBCE0; AOT_REGCACHE_SYNC_OUT(); return; L_08ACBCE0: aot_gpr_31 = (0x08ACBCE8u); @@ -10804,7 +10805,7 @@ L_08ACBCE0: L_08ACBCE8: aot_gpr_31 = (0x08ACBCF0u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACBCF0u) goto L_08ACBCF0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C50, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACBCF0u) goto L_08ACBCF0; AOT_REGCACHE_SYNC_OUT(); return; L_08ACBCF0: aot_gpr_4 = (aot_gpr_2 + static_cast(384)); @@ -10815,13 +10816,13 @@ L_08ACBCF0: L_08ACBCFC: aot_gpr_31 = (0x08ACBD04u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACBD04u) goto L_08ACBD04; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C50, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACBD04u) goto L_08ACBD04; AOT_REGCACHE_SYNC_OUT(); return; L_08ACBD04: aot_gpr_16 = (aot_gpr_2 + static_cast(384)); aot_gpr_31 = (0x08ACBD10u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACBD10u) goto L_08ACBD10; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C50, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACBD10u) goto L_08ACBD10; AOT_REGCACHE_SYNC_OUT(); return; L_08ACBD10: aot_gpr_31 = (0x08ACBD18u); @@ -10843,7 +10844,7 @@ L_08ACBD18: L_08ACBD3C: aot_gpr_31 = (0x08ACBD44u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACBD44u) goto L_08ACBD44; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C50, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACBD44u) goto L_08ACBD44; AOT_REGCACHE_SYNC_OUT(); return; L_08ACBD44: aot_gpr_4 = (aot_gpr_2 | 0u); @@ -10862,7 +10863,7 @@ L_08ACBD50: L_08ACBD58: aot_gpr_31 = (0x08ACBD60u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACBD60u) goto L_08ACBD60; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C50, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACBD60u) goto L_08ACBD60; AOT_REGCACHE_SYNC_OUT(); return; L_08ACBD60: aot_gpr_4 = (aot_gpr_17 | 0u); @@ -10898,7 +10899,7 @@ L_08ACBD88: L_08ACBD90: aot_gpr_31 = (0x08ACBD98u); aot_gpr_4 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACBD98u) goto L_08ACBD98; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC79D4, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACBD98u) goto L_08ACBD98; AOT_REGCACHE_SYNC_OUT(); return; L_08ACBD98: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(0))); @@ -10917,7 +10918,7 @@ L_08ACBDA8: L_08ACBDB0: aot_gpr_31 = (0x08ACBDB8u); aot_gpr_4 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACBDB8u) goto L_08ACBDB8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC79D4, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACBDB8u) goto L_08ACBDB8; AOT_REGCACHE_SYNC_OUT(); return; L_08ACBDB8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(0))); @@ -10981,7 +10982,7 @@ L_08ACBE08: L_08ACBE10: aot_gpr_31 = (0x08ACBE18u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 454u, 0x08909B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACBE18u) goto L_08ACBE18; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08909B60, 65u, 454u, 0x08909B60u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_16, ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 454u, 0x08909B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACBE18u) goto L_08ACBE18; AOT_REGCACHE_SYNC_OUT(); return; L_08ACBE18: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(92))); @@ -11128,7 +11129,7 @@ L_08ACBEE4: L_08ACBEEC: aot_gpr_31 = (0x08ACBEF4u); aot_gpr_4 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACBEF4u) goto L_08ACBEF4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC79D4, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACBEF4u) goto L_08ACBEF4; AOT_REGCACHE_SYNC_OUT(); return; L_08ACBEF4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(0))); @@ -11147,7 +11148,7 @@ L_08ACBF04: L_08ACBF0C: aot_gpr_31 = (0x08ACBF14u); aot_gpr_4 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACBF14u) goto L_08ACBF14; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C50, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACBF14u) goto L_08ACBF14; AOT_REGCACHE_SYNC_OUT(); return; L_08ACBF14: { const bool branch_taken = aot_gpr_2 != aot_gpr_16; @@ -11164,7 +11165,7 @@ L_08ACBF1C: L_08ACBF24: aot_gpr_31 = (0x08ACBF2Cu); aot_gpr_4 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACBF2Cu) goto L_08ACBF2C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACBF2Cu) goto L_08ACBF2C; AOT_REGCACHE_SYNC_OUT(); return; L_08ACBF2C: { const bool branch_taken = aot_gpr_2 == 0u; @@ -11288,7 +11289,7 @@ L_08ACBFC8: L_08ACBFD0: aot_gpr_31 = (0x08ACBFD8u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACBFD8u) goto L_08ACBFD8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7670, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACBFD8u) goto L_08ACBFD8; AOT_REGCACHE_SYNC_OUT(); return; L_08ACBFD8: aot_gpr_4 = (aot_gpr_16 | 0u); diff --git a/profiles/vcs/generated/generated_unit_0178.cpp b/profiles/vcs/generated/generated_unit_0178.cpp index 8f19eef..7731b3a 100644 --- a/profiles/vcs/generated/generated_unit_0178.cpp +++ b/profiles/vcs/generated/generated_unit_0178.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0178[4094] = { }; void recomp_unit_0178_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,31,17,29,16 fprs=12,13,20,0 gpr_occ=3899 fpr_occ=439 gpr_total=4938 fpr_total=552 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,31,5,2,17,29 fprs=12,13,20,0 gpr_occ=4237 fpr_occ=440 gpr_total=5445 fpr_total=553 std::uint32_t aot_gpr_4 = ctx.gpr[4]; - std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; + std::uint32_t aot_gpr_5 = ctx.gpr[5]; + std::uint32_t aot_gpr_2 = ctx.gpr[2]; std::uint32_t aot_gpr_17 = ctx.gpr[17]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; - std::uint32_t aot_gpr_16 = ctx.gpr[16]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_20 = ctx.fpr[20]; float aot_fpr_0 = ctx.fpr[0]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[31] = aot_gpr_31; ctx.gpr[17] = aot_gpr_17; ctx.gpr[29] = aot_gpr_29; ctx.gpr[16] = aot_gpr_16; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; ctx.fpr[0] = aot_fpr_0; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_17 = ctx.gpr[17]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_16 = ctx.gpr[16]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_0 = ctx.fpr[0]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[31] = aot_gpr_31; ctx.gpr[5] = aot_gpr_5; ctx.gpr[2] = aot_gpr_2; ctx.gpr[17] = aot_gpr_17; ctx.gpr[29] = aot_gpr_29; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; ctx.fpr[0] = aot_fpr_0; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_2 = ctx.gpr[2]; aot_gpr_17 = ctx.gpr[17]; aot_gpr_29 = ctx.gpr[29]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_0 = ctx.fpr[0]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -1320,7 +1321,7 @@ LOCAL_DISPATCH: } L_08ACC000: aot_gpr_4 = (ctx.gpr[19] | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08ACC010u); ctx.gpr[6] = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 900u, 0x08AC7474u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC010u) goto L_08ACC010; @@ -1335,7 +1336,7 @@ L_08ACC01C: aot_gpr_4 = (aot_gpr_17 | 0u); aot_gpr_5 = (0u | 25u); aot_gpr_31 = (0x08ACC02Cu); - ctx.gpr[6] = (ctx.gpr[2] | 0u); + ctx.gpr[6] = (aot_gpr_2 | 0u); goto L_08ACDF58; L_08ACC02C: { const bool branch_taken = 0u == 0u; @@ -1348,10 +1349,10 @@ L_08ACC02C: L_08ACC034: aot_gpr_31 = (0x08ACC03Cu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC03Cu) goto L_08ACC03C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC8054, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC03Cu) goto L_08ACC03C; AOT_REGCACHE_SYNC_OUT(); return; L_08ACC03C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08ACC05C; @@ -1361,13 +1362,13 @@ L_08ACC03C: L_08ACC044: aot_gpr_31 = (0x08ACC04Cu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC04Cu) goto L_08ACC04C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC8054, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC04Cu) goto L_08ACC04C; AOT_REGCACHE_SYNC_OUT(); return; L_08ACC04C: aot_gpr_4 = (aot_gpr_17 | 0u); aot_gpr_5 = (0u | 11u); aot_gpr_31 = (0x08ACC05Cu); - ctx.gpr[6] = (ctx.gpr[2] | 0u); + ctx.gpr[6] = (aot_gpr_2 | 0u); goto L_08ACD698; L_08ACC05C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(92))); @@ -1392,10 +1393,10 @@ L_08ACC078: L_08ACC080: aot_gpr_31 = (0x08ACC088u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC088u) goto L_08ACC088; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC8054, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC088u) goto L_08ACC088; AOT_REGCACHE_SYNC_OUT(); return; L_08ACC088: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08ACC480; @@ -1407,15 +1408,15 @@ L_08ACC090: aot_gpr_4 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08ACC0A0u); aot_fpr_20 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC0A0u) goto L_08ACC0A0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC8054, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC0A0u) goto L_08ACC0A0; AOT_REGCACHE_SYNC_OUT(); return; L_08ACC0A0: aot_gpr_31 = (0x08ACC0A8u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 195u, 0x08910B38u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC0A8u) goto L_08ACC0A8; AOT_REGCACHE_SYNC_OUT(); return; L_08ACC0A8: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08ACC0B8; @@ -1433,7 +1434,7 @@ L_08ACC0B8: AOT_REGCACHE_SYNC_OUT(); return; L_08ACC0C0: aot_gpr_4 = (0u | 14u); - { const bool branch_taken = ctx.gpr[2] != aot_gpr_4; + { const bool branch_taken = aot_gpr_2 != aot_gpr_4; // nop if (branch_taken) { goto L_08ACC0D4; @@ -1456,7 +1457,7 @@ L_08ACC0DC: AOT_REGCACHE_SYNC_OUT(); return; L_08ACC0E4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(2072))); - aot_gpr_4 = (aot_gpr_4 < ctx.gpr[2] ? 1u : 0u); + aot_gpr_4 = (aot_gpr_4 < aot_gpr_2 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -1477,13 +1478,13 @@ L_08ACC0F4: L_08ACC104: aot_gpr_31 = (0x08ACC10Cu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC10Cu) goto L_08ACC10C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC8054, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC10Cu) goto L_08ACC10C; AOT_REGCACHE_SYNC_OUT(); return; L_08ACC10C: aot_gpr_4 = (aot_gpr_17 | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_31 = (0x08ACC11Cu); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 751u, 0x0890AED8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC11Cu) goto L_08ACC11C; AOT_REGCACHE_SYNC_OUT(); return; L_08ACC11C: @@ -1514,7 +1515,7 @@ L_08ACC140: AOT_REGCACHE_SYNC_OUT(); return; L_08ACC148: aot_gpr_4 = (0u | 1u); - { const bool branch_taken = ctx.gpr[2] == aot_gpr_4; + { const bool branch_taken = aot_gpr_2 == aot_gpr_4; // nop if (branch_taken) { goto L_08ACC1F8; @@ -1527,7 +1528,7 @@ L_08ACC154: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 977u, 0x08AC7A04u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC15Cu) goto L_08ACC15C; AOT_REGCACHE_SYNC_OUT(); return; L_08ACC15C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08ACC1F8; @@ -1537,10 +1538,10 @@ L_08ACC15C: L_08ACC164: aot_gpr_31 = (0x08ACC16Cu); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(676))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC16Cu) goto L_08ACC16C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC16Cu) goto L_08ACC16C; AOT_REGCACHE_SYNC_OUT(); return; L_08ACC16C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08ACC1DC; @@ -1566,7 +1567,7 @@ L_08ACC18C: AOT_REGCACHE_SYNC_OUT(); return; L_08ACC194: aot_gpr_4 = (16294u << 16u); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(3156))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(3156))); aot_gpr_4 = (aot_gpr_4 | 26214u); aot_fpr_13 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); @@ -1582,7 +1583,7 @@ L_08ACC1B4: aot_gpr_4 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08ACC1C0u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC1C0u) goto L_08ACC1C0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC1C0u) goto L_08ACC1C0; AOT_REGCACHE_SYNC_OUT(); return; L_08ACC1C0: { const bool branch_taken = 0u == 0u; @@ -1596,7 +1597,7 @@ L_08ACC1C8: aot_gpr_4 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08ACC1D4u); aot_gpr_5 = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC1D4u) goto L_08ACC1D4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC1D4u) goto L_08ACC1D4; AOT_REGCACHE_SYNC_OUT(); return; L_08ACC1D4: { const bool branch_taken = 0u == 0u; @@ -1614,8 +1615,8 @@ L_08ACC1DC: L_08ACC1E4: aot_gpr_4 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08ACC1F0u); - aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC1F0u) goto L_08ACC1F0; + aot_gpr_5 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC1F0u) goto L_08ACC1F0; AOT_REGCACHE_SYNC_OUT(); return; L_08ACC1F0: { const bool branch_taken = 0u == 0u; @@ -1641,7 +1642,7 @@ L_08ACC210: aot_gpr_4 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08ACC21Cu); aot_gpr_5 = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC21Cu) goto L_08ACC21C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC21Cu) goto L_08ACC21C; AOT_REGCACHE_SYNC_OUT(); return; L_08ACC21C: { const bool branch_taken = 0u == 0u; @@ -1655,7 +1656,7 @@ L_08ACC224: aot_gpr_4 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08ACC230u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC230u) goto L_08ACC230; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC230u) goto L_08ACC230; AOT_REGCACHE_SYNC_OUT(); return; L_08ACC230: { const bool branch_taken = 0u == 0u; @@ -1681,7 +1682,7 @@ L_08ACC244: AOT_REGCACHE_SYNC_OUT(); return; L_08ACC24C: aot_gpr_4 = (0u | 5u); - { const bool branch_taken = ctx.gpr[2] != aot_gpr_4; + { const bool branch_taken = aot_gpr_2 != aot_gpr_4; // nop if (branch_taken) { goto L_08ACC26C; @@ -1692,7 +1693,7 @@ L_08ACC258: aot_gpr_4 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08ACC264u); aot_gpr_5 = (0u | 5u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC264u) goto L_08ACC264; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC264u) goto L_08ACC264; AOT_REGCACHE_SYNC_OUT(); return; L_08ACC264: { const bool branch_taken = 0u == 0u; @@ -1706,7 +1707,7 @@ L_08ACC26C: aot_gpr_4 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08ACC278u); aot_gpr_5 = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC278u) goto L_08ACC278; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC278u) goto L_08ACC278; AOT_REGCACHE_SYNC_OUT(); return; L_08ACC278: { const bool branch_taken = 0u == 0u; @@ -1725,10 +1726,10 @@ L_08ACC280: L_08ACC28C: aot_gpr_31 = (0x08ACC294u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC294u) goto L_08ACC294; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC79D4, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC294u) goto L_08ACC294; AOT_REGCACHE_SYNC_OUT(); return; L_08ACC294: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(0))); aot_gpr_5 = (0u | 16u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -1750,11 +1751,11 @@ L_08ACC2A4: AOT_REGCACHE_SYNC_OUT(); return; L_08ACC2BC: aot_gpr_31 = (0x08ACC2C4u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 969u, 0x08AC79A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC2C4u) goto L_08ACC2C4; AOT_REGCACHE_SYNC_OUT(); return; L_08ACC2C4: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08ACC310; @@ -1779,16 +1780,16 @@ L_08ACC2E0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1716))); aot_gpr_31 = (0x08ACC2ECu); aot_gpr_5 = (aot_gpr_17 + static_cast(1716)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC2ECu) goto L_08ACC2EC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A93004, 163u, 430u, 0x08A93004u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC2ECu) goto L_08ACC2EC; AOT_REGCACHE_SYNC_OUT(); return; L_08ACC2EC: aot_gpr_31 = (0x08ACC2F4u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC2F4u) goto L_08ACC2F4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC8054, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC2F4u) goto L_08ACC2F4; AOT_REGCACHE_SYNC_OUT(); return; L_08ACC2F4: - { const bool branch_taken = ctx.gpr[2] == 0u; - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(1716), ctx.gpr[2]); + { const bool branch_taken = aot_gpr_2 == 0u; + aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(1716), aot_gpr_2); if (branch_taken) { goto L_08ACC308; } @@ -1798,7 +1799,7 @@ L_08ACC2FC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1716))); aot_gpr_31 = (0x08ACC308u); aot_gpr_5 = (aot_gpr_17 + static_cast(1716)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC308u) goto L_08ACC308; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC308u) goto L_08ACC308; AOT_REGCACHE_SYNC_OUT(); return; L_08ACC308: aot_gpr_31 = (0x08ACC310u); @@ -1821,7 +1822,7 @@ L_08ACC328: aot_gpr_4 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08ACC334u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC334u) goto L_08ACC334; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC334u) goto L_08ACC334; AOT_REGCACHE_SYNC_OUT(); return; L_08ACC334: { const bool branch_taken = 0u == 0u; @@ -1834,18 +1835,18 @@ L_08ACC334: L_08ACC33C: aot_gpr_31 = (0x08ACC344u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC344u) goto L_08ACC344; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC8054, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC344u) goto L_08ACC344; AOT_REGCACHE_SYNC_OUT(); return; L_08ACC344: aot_gpr_31 = (0x08ACC34Cu); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 977u, 0x08AC7A04u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC34Cu) goto L_08ACC34C; AOT_REGCACHE_SYNC_OUT(); return; L_08ACC34C: aot_gpr_4 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08ACC358u); - aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC358u) goto L_08ACC358; + aot_gpr_5 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC358u) goto L_08ACC358; AOT_REGCACHE_SYNC_OUT(); return; L_08ACC358: aot_gpr_31 = (0x08ACC360u); @@ -1854,7 +1855,7 @@ L_08ACC358: AOT_REGCACHE_SYNC_OUT(); return; L_08ACC360: aot_gpr_4 = (0u | 14u); - { const bool branch_taken = ctx.gpr[2] != aot_gpr_4; + { const bool branch_taken = aot_gpr_2 != aot_gpr_4; // nop if (branch_taken) { goto L_08ACC444; @@ -1870,10 +1871,10 @@ L_08ACC36C: L_08ACC378: aot_gpr_31 = (0x08ACC380u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC380u) goto L_08ACC380; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC8054, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC380u) goto L_08ACC380; AOT_REGCACHE_SYNC_OUT(); return; L_08ACC380: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08ACC38Cu); aot_gpr_5 = (0u | 125u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 16u, 0x08860424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC38Cu) goto L_08ACC38C; @@ -1884,19 +1885,19 @@ L_08ACC38C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 929u, 0x08AC76DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC394u) goto L_08ACC394; AOT_REGCACHE_SYNC_OUT(); return; L_08ACC394: - aot_gpr_4 = (ctx.gpr[2] + static_cast(3000)); + aot_gpr_4 = (aot_gpr_2 + static_cast(3000)); aot_gpr_31 = (0x08ACC3A0u); aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(1728), aot_gpr_4); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 929u, 0x08AC76DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC3A0u) goto L_08ACC3A0; AOT_REGCACHE_SYNC_OUT(); return; L_08ACC3A0: - aot_gpr_16 = (ctx.gpr[2] + static_cast(3000)); + ctx.gpr[16] = (aot_gpr_2 + static_cast(3000)); aot_gpr_31 = (0x08ACC3ACu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC3ACu) goto L_08ACC3AC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC8054, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC3ACu) goto L_08ACC3AC; AOT_REGCACHE_SYNC_OUT(); return; L_08ACC3AC: - aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(1728), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_2 + static_cast(1728), ctx.gpr[16]); aot_gpr_4 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08ACC3BCu); aot_gpr_5 = (0u | 47u); @@ -1904,49 +1905,49 @@ L_08ACC3AC: L_08ACC3BC: aot_gpr_31 = (0x08ACC3C4u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC3C4u) goto L_08ACC3C4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC8054, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC3C4u) goto L_08ACC3C4; AOT_REGCACHE_SYNC_OUT(); return; L_08ACC3C4: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08ACC3D0u); aot_gpr_5 = (0u | 47u); goto L_08ACD4BC; L_08ACC3D0: aot_gpr_31 = (0x08ACC3D8u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC3D8u) goto L_08ACC3D8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7670, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC3D8u) goto L_08ACC3D8; AOT_REGCACHE_SYNC_OUT(); return; L_08ACC3D8: - aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(0))); + aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(0))); aot_gpr_31 = (0x08ACC3E4u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC3E4u) goto L_08ACC3E4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC8054, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC3E4u) goto L_08ACC3E4; AOT_REGCACHE_SYNC_OUT(); return; L_08ACC3E4: aot_gpr_31 = (0x08ACC3ECu); - aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC3ECu) goto L_08ACC3EC; + aot_gpr_4 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7670, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC3ECu) goto L_08ACC3EC; AOT_REGCACHE_SYNC_OUT(); return; L_08ACC3EC: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(0))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(0))); aot_gpr_4 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08ACC3FCu); aot_fpr_20 = aot_fpr_20 - aot_fpr_12; - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC3FCu) goto L_08ACC3FC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7670, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC3FCu) goto L_08ACC3FC; AOT_REGCACHE_SYNC_OUT(); return; L_08ACC3FC: - ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(4))); + ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(4))); aot_gpr_31 = (0x08ACC408u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC408u) goto L_08ACC408; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC8054, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC408u) goto L_08ACC408; AOT_REGCACHE_SYNC_OUT(); return; L_08ACC408: aot_gpr_31 = (0x08ACC410u); - aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC410u) goto L_08ACC410; + aot_gpr_4 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7670, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC410u) goto L_08ACC410; AOT_REGCACHE_SYNC_OUT(); return; L_08ACC410: - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(4))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(4))); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); ctx.fpr[22] = ctx.fpr[22] - aot_fpr_13; aot_gpr_31 = (0x08ACC424u); @@ -1954,20 +1955,20 @@ L_08ACC410: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0162_entry, 162u, 570u, 0x08A8EFB4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC424u) goto L_08ACC424; AOT_REGCACHE_SYNC_OUT(); return; L_08ACC424: - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(1930), static_cast(ctx.gpr[2])); + aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(1930), static_cast(aot_gpr_2)); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20) ^ 0x80000000u); aot_gpr_31 = (0x08ACC434u); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[22]) ^ 0x80000000u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0162_entry, 162u, 570u, 0x08A8EFB4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC434u) goto L_08ACC434; AOT_REGCACHE_SYNC_OUT(); return; L_08ACC434: - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08ACC440u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC440u) goto L_08ACC440; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC8054, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC440u) goto L_08ACC440; AOT_REGCACHE_SYNC_OUT(); return; L_08ACC440: - aot_mem.aot_direct_store8(ctx.gpr[2] + static_cast(1930), static_cast(aot_gpr_16)); + aot_mem.aot_direct_store8(aot_gpr_2 + static_cast(1930), static_cast(ctx.gpr[16])); goto L_08ACC444; L_08ACC444: aot_gpr_31 = (0x08ACC44Cu); @@ -1976,7 +1977,7 @@ L_08ACC444: AOT_REGCACHE_SYNC_OUT(); return; L_08ACC44C: aot_gpr_4 = (0u | 13u); - { const bool branch_taken = ctx.gpr[2] != aot_gpr_4; + { const bool branch_taken = aot_gpr_2 != aot_gpr_4; // nop if (branch_taken) { goto L_08ACC478; @@ -1989,7 +1990,7 @@ L_08ACC458: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 977u, 0x08AC7A04u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC460u) goto L_08ACC460; AOT_REGCACHE_SYNC_OUT(); return; L_08ACC460: - aot_gpr_4 = (static_cast(ctx.gpr[2]) < 2 ? 1u : 0u); + aot_gpr_4 = (static_cast(aot_gpr_2) < 2 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -2001,7 +2002,7 @@ L_08ACC46C: aot_gpr_4 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08ACC478u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC478u) goto L_08ACC478; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC478u) goto L_08ACC478; AOT_REGCACHE_SYNC_OUT(); return; L_08ACC478: { const bool branch_taken = 0u == 0u; @@ -2027,10 +2028,10 @@ L_08ACC48C: L_08ACC494: aot_gpr_31 = (0x08ACC49Cu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC49Cu) goto L_08ACC49C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC8054, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC49Cu) goto L_08ACC49C; AOT_REGCACHE_SYNC_OUT(); return; L_08ACC49C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08ACC5C8; @@ -2038,23 +2039,23 @@ L_08ACC49C: goto L_08ACC4A4; } L_08ACC4A4: - aot_gpr_16 = (aot_gpr_29 + static_cast(1008)); + ctx.gpr[16] = (aot_gpr_29 + static_cast(1008)); ctx.gpr[18] = (aot_gpr_29 + static_cast(992)); aot_gpr_4 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08ACC4B8u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 370u, 0x08AC5124u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC4B8u) goto L_08ACC4B8; AOT_REGCACHE_SYNC_OUT(); return; L_08ACC4B8: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08ACC4C4u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 918u, 0x08AC7610u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC4C4u) goto L_08ACC4C4; AOT_REGCACHE_SYNC_OUT(); return; L_08ACC4C4: ctx.gpr[19] = (aot_gpr_29 + static_cast(32)); ctx.gpr[6] = (aot_gpr_29 + static_cast(64)); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08ACC4D8u); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 900u, 0x08AC7474u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC4D8u) goto L_08ACC4D8; @@ -2062,11 +2063,11 @@ L_08ACC4C4: L_08ACC4D8: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08ACC4E4u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 918u, 0x08AC7610u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC4E4u) goto L_08ACC4E4; AOT_REGCACHE_SYNC_OUT(); return; L_08ACC4E4: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08ACC4F0u); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 914u, 0x08AC75B0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC4F0u) goto L_08ACC4F0; @@ -2076,7 +2077,7 @@ L_08ACC4F0: aot_gpr_4 = (aot_gpr_17 | 0u); aot_fpr_12 = std::bit_cast(ctx.gpr[6]); aot_gpr_31 = (0x08ACC504u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 686u, 0x0890AA84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC504u) goto L_08ACC504; AOT_REGCACHE_SYNC_OUT(); return; L_08ACC504: @@ -2107,14 +2108,14 @@ L_08ACC530: aot_gpr_4 = (aot_gpr_17 | 0u); aot_fpr_12 = std::bit_cast(ctx.gpr[6]); aot_gpr_31 = (0x08ACC544u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 686u, 0x0890AA84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC544u) goto L_08ACC544; AOT_REGCACHE_SYNC_OUT(); return; L_08ACC544: aot_gpr_4 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08ACC550u); aot_gpr_5 = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC550u) goto L_08ACC550; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC550u) goto L_08ACC550; AOT_REGCACHE_SYNC_OUT(); return; L_08ACC550: { const bool branch_taken = 0u == 0u; @@ -2135,16 +2136,16 @@ L_08ACC564: aot_gpr_4 = (aot_gpr_17 | 0u); aot_fpr_12 = std::bit_cast(ctx.gpr[6]); aot_gpr_31 = (0x08ACC578u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 686u, 0x0890AA84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC578u) goto L_08ACC578; AOT_REGCACHE_SYNC_OUT(); return; L_08ACC578: aot_gpr_31 = (0x08ACC580u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC580u) goto L_08ACC580; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC8054, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC580u) goto L_08ACC580; AOT_REGCACHE_SYNC_OUT(); return; L_08ACC580: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08ACC5C0; @@ -2154,16 +2155,16 @@ L_08ACC580: L_08ACC588: aot_gpr_31 = (0x08ACC590u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC590u) goto L_08ACC590; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC8054, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC590u) goto L_08ACC590; AOT_REGCACHE_SYNC_OUT(); return; L_08ACC590: aot_gpr_31 = (0x08ACC598u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 977u, 0x08AC7A04u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC598u) goto L_08ACC598; AOT_REGCACHE_SYNC_OUT(); return; L_08ACC598: aot_gpr_4 = (0u | 1u); - { const bool branch_taken = ctx.gpr[2] == aot_gpr_4; + { const bool branch_taken = aot_gpr_2 == aot_gpr_4; // nop if (branch_taken) { goto L_08ACC5C0; @@ -2173,18 +2174,18 @@ L_08ACC598: L_08ACC5A4: aot_gpr_31 = (0x08ACC5ACu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC5ACu) goto L_08ACC5AC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC8054, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC5ACu) goto L_08ACC5AC; AOT_REGCACHE_SYNC_OUT(); return; L_08ACC5AC: aot_gpr_31 = (0x08ACC5B4u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 977u, 0x08AC7A04u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC5B4u) goto L_08ACC5B4; AOT_REGCACHE_SYNC_OUT(); return; L_08ACC5B4: aot_gpr_4 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08ACC5C0u); - aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC5C0u) goto L_08ACC5C0; + aot_gpr_5 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC5C0u) goto L_08ACC5C0; AOT_REGCACHE_SYNC_OUT(); return; L_08ACC5C0: { const bool branch_taken = 0u == 0u; @@ -2210,10 +2211,10 @@ L_08ACC5D4: L_08ACC5DC: aot_gpr_31 = (0x08ACC5E4u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC5E4u) goto L_08ACC5E4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C58, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC5E4u) goto L_08ACC5E4; AOT_REGCACHE_SYNC_OUT(); return; L_08ACC5E4: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08ACCAB8; @@ -2233,11 +2234,11 @@ L_08ACC5EC: AOT_REGCACHE_SYNC_OUT(); return; L_08ACC604: aot_gpr_31 = (0x08ACC60Cu); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 969u, 0x08AC79A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC60Cu) goto L_08ACC60C; AOT_REGCACHE_SYNC_OUT(); return; L_08ACC60C: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08ACCACC; @@ -2257,29 +2258,29 @@ L_08ACC61C: AOT_REGCACHE_SYNC_OUT(); return; L_08ACC628: aot_gpr_31 = (0x08ACC630u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 958u, 0x08AC7940u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC630u) goto L_08ACC630; AOT_REGCACHE_SYNC_OUT(); return; L_08ACC630: aot_gpr_31 = (0x08ACC638u); - aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC638u) goto L_08ACC638; + aot_gpr_4 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC638u) goto L_08ACC638; AOT_REGCACHE_SYNC_OUT(); return; L_08ACC638: - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08ACC644u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 945u, 0x08AC77BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC644u) goto L_08ACC644; AOT_REGCACHE_SYNC_OUT(); return; L_08ACC644: ctx.fpr[22] = std::bit_cast(std::bit_cast(aot_fpr_0)); aot_gpr_31 = (0x08ACC650u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC650u) goto L_08ACC650; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C58, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC650u) goto L_08ACC650; AOT_REGCACHE_SYNC_OUT(); return; L_08ACC650: - { const bool branch_taken = ctx.gpr[2] == 0u; - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(1716), ctx.gpr[2]); + { const bool branch_taken = aot_gpr_2 == 0u; + aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(1716), aot_gpr_2); if (branch_taken) { goto L_08ACC664; } @@ -2289,17 +2290,17 @@ L_08ACC658: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1716))); aot_gpr_31 = (0x08ACC664u); aot_gpr_5 = (aot_gpr_17 + static_cast(1716)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC664u) goto L_08ACC664; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC664u) goto L_08ACC664; AOT_REGCACHE_SYNC_OUT(); return; L_08ACC664: aot_gpr_31 = (0x08ACC66Cu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC66Cu) goto L_08ACC66C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C58, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC66Cu) goto L_08ACC66C; AOT_REGCACHE_SYNC_OUT(); return; L_08ACC66C: aot_gpr_4 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08ACC678u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 50u, 0x0891034Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC678u) goto L_08ACC678; AOT_REGCACHE_SYNC_OUT(); return; L_08ACC678: @@ -2325,11 +2326,11 @@ L_08ACC690: goto L_08ACC6A0; L_08ACC6A0: aot_gpr_31 = (0x08ACC6A8u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 944u, 0x08AC77B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC6A8u) goto L_08ACC6A8; AOT_REGCACHE_SYNC_OUT(); return; L_08ACC6A8: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08ACC6D0; @@ -2339,10 +2340,10 @@ L_08ACC6A8: L_08ACC6B0: aot_gpr_31 = (0x08ACC6B8u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC6B8u) goto L_08ACC6B8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C58, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC6B8u) goto L_08ACC6B8; AOT_REGCACHE_SYNC_OUT(); return; L_08ACC6B8: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(636))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(636))); aot_fpr_13 = std::bit_cast(0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); // nop @@ -2356,10 +2357,10 @@ L_08ACC6B8: L_08ACC6D0: aot_gpr_31 = (0x08ACC6D8u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC6D8u) goto L_08ACC6D8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C58, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC6D8u) goto L_08ACC6D8; AOT_REGCACHE_SYNC_OUT(); return; L_08ACC6D8: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(636))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(636))); aot_gpr_4 = (17274u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); @@ -2374,7 +2375,7 @@ L_08ACC6D8: L_08ACC6F4: aot_gpr_31 = (0x08ACC6FCu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 454u, 0x08909B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC6FCu) goto L_08ACC6FC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08909B60, 65u, 454u, 0x08909B60u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[16], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 454u, 0x08909B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC6FCu) goto L_08ACC6FC; AOT_REGCACHE_SYNC_OUT(); return; L_08ACC6FC: aot_gpr_4 = (aot_gpr_17 | 0u); @@ -2400,7 +2401,7 @@ L_08ACC71C: AOT_REGCACHE_SYNC_OUT(); return; L_08ACC724: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1744))); - aot_gpr_4 = (aot_gpr_4 < ctx.gpr[2] ? 1u : 0u); + aot_gpr_4 = (aot_gpr_4 < aot_gpr_2 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -2421,7 +2422,7 @@ L_08ACC734: L_08ACC744: aot_gpr_31 = (0x08ACC74Cu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC74Cu) goto L_08ACC74C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C58, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC74Cu) goto L_08ACC74C; AOT_REGCACHE_SYNC_OUT(); return; L_08ACC74C: aot_gpr_4 = (16153u << 16u); @@ -2430,7 +2431,7 @@ L_08ACC74C: ctx.gpr[19] = (aot_gpr_29 + static_cast(1088)); ctx.fpr[14] = std::bit_cast(aot_gpr_4); aot_gpr_5 = (16128u << 16u); - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); aot_fpr_12 = std::bit_cast(aot_gpr_5); aot_gpr_31 = (0x08ACC774u); aot_gpr_4 = (ctx.gpr[19] | 0u); @@ -2444,7 +2445,7 @@ L_08ACC774: AOT_REGCACHE_SYNC_OUT(); return; L_08ACC780: aot_gpr_4 = (ctx.gpr[20] | 0u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08ACC790u); ctx.gpr[6] = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 898u, 0x08AC7434u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC790u) goto L_08ACC790; @@ -2458,21 +2459,21 @@ L_08ACC790: L_08ACC79C: aot_gpr_31 = (0x08ACC7A4u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC7A4u) goto L_08ACC7A4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7670, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC7A4u) goto L_08ACC7A4; AOT_REGCACHE_SYNC_OUT(); return; L_08ACC7A4: aot_gpr_4 = (aot_gpr_29 + static_cast(1104)); aot_gpr_31 = (0x08ACC7B0u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 918u, 0x08AC7610u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC7B0u) goto L_08ACC7B0; AOT_REGCACHE_SYNC_OUT(); return; L_08ACC7B0: aot_gpr_31 = (0x08ACC7B8u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 944u, 0x08AC77B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC7B8u) goto L_08ACC7B8; AOT_REGCACHE_SYNC_OUT(); return; L_08ACC7B8: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08ACC7D0; @@ -2481,7 +2482,7 @@ L_08ACC7B8: } L_08ACC7C0: aot_gpr_31 = (0x08ACC7C8u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 945u, 0x08AC77BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC7C8u) goto L_08ACC7C8; AOT_REGCACHE_SYNC_OUT(); return; L_08ACC7C8: @@ -2497,39 +2498,39 @@ L_08ACC7D0: ctx.fpr[22] = std::bit_cast(aot_gpr_4); goto L_08ACC7D8; L_08ACC7D8: - aot_gpr_16 = (aot_gpr_29 + static_cast(1104)); + ctx.gpr[16] = (aot_gpr_29 + static_cast(1104)); ctx.gpr[18] = (aot_gpr_29 + static_cast(1088)); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08ACC7ECu); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 464u, 0x08A931D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC7ECu) goto L_08ACC7EC; AOT_REGCACHE_SYNC_OUT(); return; L_08ACC7EC: aot_gpr_31 = (0x08ACC7F4u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 915u, 0x08AC75C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC7F4u) goto L_08ACC7F4; AOT_REGCACHE_SYNC_OUT(); return; L_08ACC7F4: aot_fpr_12 = ctx.fpr[22] / aot_fpr_0; aot_gpr_31 = (0x08ACC800u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 919u, 0x08AC7620u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC800u) goto L_08ACC800; AOT_REGCACHE_SYNC_OUT(); return; L_08ACC800: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08ACC80Cu); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC80Cu) goto L_08ACC80C; AOT_REGCACHE_SYNC_OUT(); return; L_08ACC80C: - ctx.gpr[2] = (0u | 1u); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(8072), static_cast(ctx.gpr[2])); - { const std::uint32_t aot_run_words[4]{0u, ctx.gpr[2], 0u, 0u}; + aot_gpr_2 = (0u | 1u); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(8072), static_cast(aot_gpr_2)); + { const std::uint32_t aot_run_words[4]{0u, aot_gpr_2, 0u, 0u}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } ctx.gpr[6] = (aot_gpr_29 + static_cast(1120)); ctx.gpr[7] = (aot_gpr_29 + static_cast(1072)); aot_gpr_4 = (ctx.gpr[18] | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); ctx.gpr[8] = (0u | 1u); ctx.gpr[9] = (0u | 1u); ctx.gpr[10] = (0u | 1u); @@ -2540,13 +2541,13 @@ L_08ACC80C: AOT_REGCACHE_SYNC_OUT(); return; L_08ACC84C: aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(8072), static_cast(0u)); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1072))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1072))); aot_gpr_31 = (0x08ACC85Cu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC85Cu) goto L_08ACC85C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C58, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC85Cu) goto L_08ACC85C; AOT_REGCACHE_SYNC_OUT(); return; L_08ACC85C: - { const bool branch_taken = aot_gpr_16 != ctx.gpr[2]; + { const bool branch_taken = ctx.gpr[16] != aot_gpr_2; // nop if (branch_taken) { goto L_08ACC964; @@ -2556,10 +2557,10 @@ L_08ACC85C: L_08ACC864: aot_gpr_31 = (0x08ACC86Cu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC86Cu) goto L_08ACC86C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC79D4, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC86Cu) goto L_08ACC86C; AOT_REGCACHE_SYNC_OUT(); return; L_08ACC86C: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(0))); aot_gpr_5 = (0u | 17u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -2572,7 +2573,7 @@ L_08ACC87C: aot_gpr_4 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08ACC888u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC888u) goto L_08ACC888; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC888u) goto L_08ACC888; AOT_REGCACHE_SYNC_OUT(); return; L_08ACC888: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(92))); @@ -2592,29 +2593,29 @@ L_08ACC8A4: aot_gpr_5 = (aot_gpr_5 | 512u); aot_gpr_31 = (0x08ACC8B8u); aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(460), aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC8B8u) goto L_08ACC8B8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C58, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC8B8u) goto L_08ACC8B8; AOT_REGCACHE_SYNC_OUT(); return; L_08ACC8B8: aot_gpr_4 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08ACC8C4u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0056_entry, 56u, 716u, 0x088E76D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC8C4u) goto L_08ACC8C4; AOT_REGCACHE_SYNC_OUT(); return; L_08ACC8C4: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(92))); aot_gpr_4 = (aot_gpr_17 | 0u); - aot_gpr_16 = (aot_gpr_5 + static_cast(240)); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(0)))))); + ctx.gpr[16] = (aot_gpr_5 + static_cast(240)); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(0)))))); aot_gpr_31 = (0x08ACC8DCu); ctx.gpr[18] = (aot_gpr_17 + aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC8DCu) goto L_08ACC8DC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C58, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC8DCu) goto L_08ACC8DC; AOT_REGCACHE_SYNC_OUT(); return; L_08ACC8DC: - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_gpr_4 = (ctx.gpr[18] | 0u); jump_target = ctx.gpr[6]; aot_gpr_31 = (0x08ACC8ECu); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC8ECu) goto L_08ACC8EC; AOT_REGCACHE_SYNC_OUT(); return; @@ -2627,7 +2628,7 @@ L_08ACC8EC: L_08ACC8F8: aot_gpr_4 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08ACC904u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 613u, 0x0890A5BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC904u) goto L_08ACC904; AOT_REGCACHE_SYNC_OUT(); return; L_08ACC904: @@ -2661,7 +2662,7 @@ L_08ACC92C: L_08ACC938: aot_gpr_4 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08ACC944u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 598u, 0x0890A484u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC944u) goto L_08ACC944; AOT_REGCACHE_SYNC_OUT(); return; L_08ACC944: @@ -2681,7 +2682,7 @@ L_08ACC94C: L_08ACC958: aot_gpr_4 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08ACC964u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 598u, 0x0890A484u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC964u) goto L_08ACC964; AOT_REGCACHE_SYNC_OUT(); return; L_08ACC964: @@ -2695,10 +2696,10 @@ L_08ACC964: L_08ACC96C: aot_gpr_31 = (0x08ACC974u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC974u) goto L_08ACC974; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC79D4, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC974u) goto L_08ACC974; AOT_REGCACHE_SYNC_OUT(); return; L_08ACC974: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(0))); aot_gpr_5 = (0u | 16u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -2732,12 +2733,12 @@ L_08ACC994: L_08ACC9AC: aot_gpr_31 = (0x08ACC9B4u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC9B4u) goto L_08ACC9B4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C58, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC9B4u) goto L_08ACC9B4; AOT_REGCACHE_SYNC_OUT(); return; L_08ACC9B4: aot_gpr_4 = (16000u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); aot_gpr_4 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08ACC9CCu); { const float fs = ctx.fpr[22]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } @@ -2747,7 +2748,7 @@ L_08ACC9CC: aot_gpr_4 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08ACC9D8u); aot_gpr_5 = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC9D8u) goto L_08ACC9D8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC9D8u) goto L_08ACC9D8; AOT_REGCACHE_SYNC_OUT(); return; L_08ACC9D8: { const bool branch_taken = 0u == 0u; @@ -2803,18 +2804,18 @@ L_08ACCA10: L_08ACCA2C: aot_gpr_31 = (0x08ACCA34u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(40))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCA34u) goto L_08ACCA34; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCA34u) goto L_08ACCA34; AOT_REGCACHE_SYNC_OUT(); return; L_08ACCA34: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-764))); ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-768))); aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08ACCA48u); - aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCA48u) goto L_08ACCA48; + aot_gpr_4 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B6256C, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCA48u) goto L_08ACCA48; AOT_REGCACHE_SYNC_OUT(); return; L_08ACCA48: - { const bool branch_taken = static_cast(ctx.gpr[2]) >= 0; + { const bool branch_taken = static_cast(aot_gpr_2) >= 0; // nop if (branch_taken) { goto L_08ACCA80; @@ -2824,21 +2825,21 @@ L_08ACCA48: L_08ACCA50: aot_gpr_31 = (0x08ACCA58u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCA58u) goto L_08ACCA58; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C58, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCA58u) goto L_08ACCA58; AOT_REGCACHE_SYNC_OUT(); return; L_08ACCA58: ctx.gpr[6] = (16448u << 16u); aot_gpr_4 = (aot_gpr_17 | 0u); aot_fpr_12 = std::bit_cast(ctx.gpr[6]); aot_gpr_31 = (0x08ACCA6Cu); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 751u, 0x0890AED8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCA6Cu) goto L_08ACCA6C; AOT_REGCACHE_SYNC_OUT(); return; L_08ACCA6C: aot_gpr_4 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08ACCA78u); aot_gpr_5 = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCA78u) goto L_08ACCA78; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCA78u) goto L_08ACCA78; AOT_REGCACHE_SYNC_OUT(); return; L_08ACCA78: { const bool branch_taken = 0u == 0u; @@ -2856,11 +2857,11 @@ L_08ACCA80: L_08ACCA88: aot_gpr_31 = (0x08ACCA90u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCA90u) goto L_08ACCA90; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C58, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCA90u) goto L_08ACCA90; AOT_REGCACHE_SYNC_OUT(); return; L_08ACCA90: aot_gpr_4 = (aot_gpr_17 | 0u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); ctx.gpr[6] = (0u | 0u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x08ACCAA8u); @@ -2883,7 +2884,7 @@ L_08ACCAB0: L_08ACCAB8: aot_gpr_31 = (0x08ACCAC0u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 454u, 0x08909B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCAC0u) goto L_08ACCAC0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08909B60, 65u, 454u, 0x08909B60u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[16], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 454u, 0x08909B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCAC0u) goto L_08ACCAC0; AOT_REGCACHE_SYNC_OUT(); return; L_08ACCAC0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(460))); @@ -2901,10 +2902,10 @@ L_08ACCACC: L_08ACCAD4: aot_gpr_31 = (0x08ACCADCu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCADCu) goto L_08ACCADC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C58, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCADCu) goto L_08ACCADC; AOT_REGCACHE_SYNC_OUT(); return; L_08ACCADC: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08ACCC1C; @@ -2916,21 +2917,21 @@ L_08ACCAE4: aot_gpr_4 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08ACCAF4u); aot_fpr_20 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCAF4u) goto L_08ACCAF4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7670, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCAF4u) goto L_08ACCAF4; AOT_REGCACHE_SYNC_OUT(); return; L_08ACCAF4: aot_gpr_4 = (aot_gpr_29 + static_cast(1152)); aot_gpr_31 = (0x08ACCB00u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 914u, 0x08AC75B0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCB00u) goto L_08ACCB00; AOT_REGCACHE_SYNC_OUT(); return; L_08ACCB00: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), 0u); - ctx.gpr[2] = (16672u << 16u); + aot_gpr_2 = (16672u << 16u); ctx.gpr[6] = (aot_gpr_29 + static_cast(1216)); - aot_fpr_12 = std::bit_cast(ctx.gpr[2]); + aot_fpr_12 = std::bit_cast(aot_gpr_2); ctx.gpr[8] = (aot_gpr_29 + static_cast(1168)); aot_gpr_5 = (0u | 1u); ctx.gpr[7] = (0u | 6u); @@ -2946,7 +2947,7 @@ L_08ACCB38: ctx.gpr[18] = (0u | 0u); aot_gpr_4 = (static_cast(ctx.gpr[18]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); if (branch_taken) { goto L_08ACCC00; } @@ -2962,7 +2963,7 @@ L_08ACCB4C: AOT_REGCACHE_SYNC_OUT(); return; L_08ACCB60: aot_gpr_4 = (0u | 3u); - { const bool branch_taken = ctx.gpr[2] != aot_gpr_4; + { const bool branch_taken = aot_gpr_2 != aot_gpr_4; // nop if (branch_taken) { goto L_08ACCBE4; @@ -2974,19 +2975,19 @@ L_08ACCB6C: ctx.gpr[21] = (aot_gpr_29 + static_cast(1232)); aot_gpr_31 = (0x08ACCB7Cu); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCB7Cu) goto L_08ACCB7C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7670, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCB7Cu) goto L_08ACCB7C; AOT_REGCACHE_SYNC_OUT(); return; L_08ACCB7C: - ctx.gpr[22] = (ctx.gpr[2] | 0u); + ctx.gpr[22] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08ACCB88u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCB88u) goto L_08ACCB88; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7670, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCB88u) goto L_08ACCB88; AOT_REGCACHE_SYNC_OUT(); return; L_08ACCB88: aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_5 = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x08ACCB98u); - ctx.gpr[6] = (ctx.gpr[2] | 0u); + ctx.gpr[6] = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 900u, 0x08AC7474u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCB98u) goto L_08ACCB98; AOT_REGCACHE_SYNC_OUT(); return; L_08ACCB98: @@ -3013,15 +3014,15 @@ L_08ACCBAC: L_08ACCBBC: aot_gpr_31 = (0x08ACCBC4u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCBC4u) goto L_08ACCBC4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC8054, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCBC4u) goto L_08ACCBC4; AOT_REGCACHE_SYNC_OUT(); return; L_08ACCBC4: aot_gpr_31 = (0x08ACCBCCu); - aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCBCCu) goto L_08ACCBCC; + aot_gpr_4 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C50, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCBCCu) goto L_08ACCBCC; AOT_REGCACHE_SYNC_OUT(); return; L_08ACCBCC: - { const bool branch_taken = ctx.gpr[2] == ctx.gpr[19]; + { const bool branch_taken = aot_gpr_2 == ctx.gpr[19]; // nop if (branch_taken) { goto L_08ACCBE4; @@ -3029,7 +3030,7 @@ L_08ACCBCC: goto L_08ACCBD4; } L_08ACCBD4: - aot_gpr_16 = (ctx.gpr[19] | 0u); + ctx.gpr[16] = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08ACCBE0u); aot_gpr_4 = (aot_gpr_29 + static_cast(1200)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 915u, 0x08AC75C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCBE0u) goto L_08ACCBE0; @@ -3051,7 +3052,7 @@ L_08ACCBE4: goto L_08ACCC00; } L_08ACCC00: - { const bool branch_taken = aot_gpr_16 == 0u; + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08ACCC14; @@ -3061,7 +3062,7 @@ L_08ACCC00: L_08ACCC08: aot_gpr_4 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08ACCC14u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 188u, 0x08910AD4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCC14u) goto L_08ACCC14; AOT_REGCACHE_SYNC_OUT(); return; L_08ACCC14: @@ -3075,13 +3076,13 @@ L_08ACCC14: L_08ACCC1C: aot_gpr_31 = (0x08ACCC24u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCC24u) goto L_08ACCC24; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C58, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCC24u) goto L_08ACCC24; AOT_REGCACHE_SYNC_OUT(); return; L_08ACCC24: aot_gpr_4 = (aot_gpr_17 | 0u); aot_gpr_5 = (0u | 17u); aot_gpr_31 = (0x08ACCC34u); - ctx.gpr[6] = (ctx.gpr[2] | 0u); + ctx.gpr[6] = (aot_gpr_2 | 0u); goto L_08ACD698; L_08ACCC34: { const bool branch_taken = 0u == 0u; @@ -3094,10 +3095,10 @@ L_08ACCC34: L_08ACCC3C: aot_gpr_31 = (0x08ACCC44u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCC44u) goto L_08ACCC44; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC8054, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCC44u) goto L_08ACCC44; AOT_REGCACHE_SYNC_OUT(); return; L_08ACCC44: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08ACCCCC; @@ -3118,11 +3119,11 @@ L_08ACCC4C: L_08ACCC60: aot_gpr_31 = (0x08ACCC68u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCC68u) goto L_08ACCC68; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC8054, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCC68u) goto L_08ACCC68; AOT_REGCACHE_SYNC_OUT(); return; L_08ACCC68: aot_gpr_4 = (aot_gpr_17 | 0u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08ACCC78u); ctx.gpr[6] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0057_entry, 57u, 594u, 0x088EB074u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCC78u) goto L_08ACCC78; @@ -3134,7 +3135,7 @@ L_08ACCC78: AOT_REGCACHE_SYNC_OUT(); return; L_08ACCC80: aot_gpr_4 = (0u | 1u); - { const bool branch_taken = ctx.gpr[2] != aot_gpr_4; + { const bool branch_taken = aot_gpr_2 != aot_gpr_4; // nop if (branch_taken) { goto L_08ACCCD4; @@ -3147,7 +3148,7 @@ L_08ACCC8C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 620u, 0x08906DE4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCC94u) goto L_08ACCC94; AOT_REGCACHE_SYNC_OUT(); return; L_08ACCC94: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08ACCCD4; @@ -3157,11 +3158,11 @@ L_08ACCC94: L_08ACCC9C: aot_gpr_31 = (0x08ACCCA4u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCCA4u) goto L_08ACCCA4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC8054, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCCA4u) goto L_08ACCCA4; AOT_REGCACHE_SYNC_OUT(); return; L_08ACCCA4: aot_gpr_4 = (aot_gpr_17 | 0u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); ctx.gpr[6] = (0u | 0u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x08ACCCBCu); @@ -3197,10 +3198,10 @@ L_08ACCCD4: L_08ACCCDC: aot_gpr_31 = (0x08ACCCE4u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCCE4u) goto L_08ACCCE4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC8054, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCCE4u) goto L_08ACCCE4; AOT_REGCACHE_SYNC_OUT(); return; L_08ACCCE4: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08ACD220; @@ -3210,15 +3211,15 @@ L_08ACCCE4: L_08ACCCEC: aot_gpr_31 = (0x08ACCCF4u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCCF4u) goto L_08ACCCF4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC8054, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCCF4u) goto L_08ACCCF4; AOT_REGCACHE_SYNC_OUT(); return; L_08ACCCF4: aot_gpr_31 = (0x08ACCCFCu); - aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCCFCu) goto L_08ACCCFC; + aot_gpr_4 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCCFCu) goto L_08ACCCFC; AOT_REGCACHE_SYNC_OUT(); return; L_08ACCCFC: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08ACCD8C; @@ -3228,15 +3229,15 @@ L_08ACCCFC: L_08ACCD04: aot_gpr_31 = (0x08ACCD0Cu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCD0Cu) goto L_08ACCD0C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC8054, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCD0Cu) goto L_08ACCD0C; AOT_REGCACHE_SYNC_OUT(); return; L_08ACCD0C: aot_gpr_31 = (0x08ACCD14u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 195u, 0x08910B38u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCD14u) goto L_08ACCD14; AOT_REGCACHE_SYNC_OUT(); return; L_08ACCD14: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08ACCD8C; @@ -3246,10 +3247,10 @@ L_08ACCD14: L_08ACCD1C: aot_gpr_31 = (0x08ACCD24u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCD24u) goto L_08ACCD24; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC8054, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCD24u) goto L_08ACCD24; AOT_REGCACHE_SYNC_OUT(); return; L_08ACCD24: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(1252))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(1252))); aot_fpr_13 = std::bit_cast(0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); // nop @@ -3263,15 +3264,15 @@ L_08ACCD24: L_08ACCD3C: aot_gpr_31 = (0x08ACCD44u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCD44u) goto L_08ACCD44; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC8054, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCD44u) goto L_08ACCD44; AOT_REGCACHE_SYNC_OUT(); return; L_08ACCD44: aot_gpr_31 = (0x08ACCD4Cu); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 977u, 0x08AC7A04u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCD4Cu) goto L_08ACCD4C; AOT_REGCACHE_SYNC_OUT(); return; L_08ACCD4C: - aot_gpr_4 = (static_cast(ctx.gpr[2]) < 3 ? 1u : 0u); + aot_gpr_4 = (static_cast(aot_gpr_2) < 3 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -3282,16 +3283,16 @@ L_08ACCD4C: L_08ACCD58: aot_gpr_31 = (0x08ACCD60u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCD60u) goto L_08ACCD60; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC8054, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCD60u) goto L_08ACCD60; AOT_REGCACHE_SYNC_OUT(); return; L_08ACCD60: aot_gpr_31 = (0x08ACCD68u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 981u, 0x08AC7A48u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCD68u) goto L_08ACCD68; AOT_REGCACHE_SYNC_OUT(); return; L_08ACCD68: aot_gpr_4 = (0u | 8u); - { const bool branch_taken = ctx.gpr[2] == aot_gpr_4; + { const bool branch_taken = aot_gpr_2 == aot_gpr_4; // nop if (branch_taken) { goto L_08ACCD9C; @@ -3335,15 +3336,15 @@ L_08ACCD94: L_08ACCD9C: aot_gpr_31 = (0x08ACCDA4u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCDA4u) goto L_08ACCDA4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC8054, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCDA4u) goto L_08ACCDA4; AOT_REGCACHE_SYNC_OUT(); return; L_08ACCDA4: aot_gpr_31 = (0x08ACCDACu); - aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCDACu) goto L_08ACCDAC; + aot_gpr_4 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC8054, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCDACu) goto L_08ACCDAC; AOT_REGCACHE_SYNC_OUT(); return; L_08ACCDAC: - { const bool branch_taken = ctx.gpr[2] == aot_gpr_17; + { const bool branch_taken = aot_gpr_2 == aot_gpr_17; // nop if (branch_taken) { goto L_08ACCDDC; @@ -3353,15 +3354,15 @@ L_08ACCDAC: L_08ACCDB4: aot_gpr_31 = (0x08ACCDBCu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCDBCu) goto L_08ACCDBC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC8054, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCDBCu) goto L_08ACCDBC; AOT_REGCACHE_SYNC_OUT(); return; L_08ACCDBC: aot_gpr_31 = (0x08ACCDC4u); - aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCDC4u) goto L_08ACCDC4; + aot_gpr_4 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC79D4, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCDC4u) goto L_08ACCDC4; AOT_REGCACHE_SYNC_OUT(); return; L_08ACCDC4: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(0))); aot_gpr_5 = (0u | 9u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -3381,19 +3382,19 @@ L_08ACCDD4: L_08ACCDDC: aot_gpr_31 = (0x08ACCDE4u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCDE4u) goto L_08ACCDE4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC8054, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCDE4u) goto L_08ACCDE4; AOT_REGCACHE_SYNC_OUT(); return; L_08ACCDE4: aot_gpr_4 = (aot_gpr_17 | 0u); aot_gpr_5 = (0u | 10u); aot_gpr_31 = (0x08ACCDF4u); - ctx.gpr[6] = (ctx.gpr[2] | 0u); + ctx.gpr[6] = (aot_gpr_2 | 0u); goto L_08ACD698; L_08ACCDF4: aot_gpr_4 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08ACCE00u); aot_gpr_5 = (0u | 5u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCE00u) goto L_08ACCE00; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCE00u) goto L_08ACCE00; AOT_REGCACHE_SYNC_OUT(); return; L_08ACCE00: { const bool branch_taken = 0u == 0u; @@ -3409,7 +3410,7 @@ L_08ACCE08: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 20u, 0x08910150u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCE10u) goto L_08ACCE10; AOT_REGCACHE_SYNC_OUT(); return; L_08ACCE10: - { const bool branch_taken = ctx.gpr[2] == aot_gpr_17; + { const bool branch_taken = aot_gpr_2 == aot_gpr_17; // nop if (branch_taken) { goto L_08ACCECC; @@ -3419,16 +3420,16 @@ L_08ACCE10: L_08ACCE18: aot_gpr_31 = (0x08ACCE20u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCE20u) goto L_08ACCE20; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC8054, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCE20u) goto L_08ACCE20; AOT_REGCACHE_SYNC_OUT(); return; L_08ACCE20: aot_gpr_31 = (0x08ACCE28u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 981u, 0x08AC7A48u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCE28u) goto L_08ACCE28; AOT_REGCACHE_SYNC_OUT(); return; L_08ACCE28: aot_gpr_4 = (0u | 10u); - { const bool branch_taken = ctx.gpr[2] != aot_gpr_4; + { const bool branch_taken = aot_gpr_2 != aot_gpr_4; // nop if (branch_taken) { goto L_08ACCE4C; @@ -3438,15 +3439,15 @@ L_08ACCE28: L_08ACCE34: aot_gpr_31 = (0x08ACCE3Cu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCE3Cu) goto L_08ACCE3C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC8054, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCE3Cu) goto L_08ACCE3C; AOT_REGCACHE_SYNC_OUT(); return; L_08ACCE3C: aot_gpr_31 = (0x08ACCE44u); - aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCE44u) goto L_08ACCE44; + aot_gpr_4 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC8054, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCE44u) goto L_08ACCE44; AOT_REGCACHE_SYNC_OUT(); return; L_08ACCE44: - { const bool branch_taken = ctx.gpr[2] == aot_gpr_17; + { const bool branch_taken = aot_gpr_2 == aot_gpr_17; // nop if (branch_taken) { goto L_08ACCECC; @@ -3454,32 +3455,32 @@ L_08ACCE44: goto L_08ACCE4C; } L_08ACCE4C: - aot_gpr_16 = (aot_gpr_29 + static_cast(1248)); + ctx.gpr[16] = (aot_gpr_29 + static_cast(1248)); aot_gpr_31 = (0x08ACCE58u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCE58u) goto L_08ACCE58; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC8054, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCE58u) goto L_08ACCE58; AOT_REGCACHE_SYNC_OUT(); return; L_08ACCE58: aot_gpr_31 = (0x08ACCE60u); - aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCE60u) goto L_08ACCE60; + aot_gpr_4 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7670, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCE60u) goto L_08ACCE60; AOT_REGCACHE_SYNC_OUT(); return; L_08ACCE60: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08ACCE6Cu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCE6Cu) goto L_08ACCE6C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7670, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCE6Cu) goto L_08ACCE6C; AOT_REGCACHE_SYNC_OUT(); return; L_08ACCE6C: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08ACCE7Cu); - ctx.gpr[6] = (ctx.gpr[2] | 0u); + ctx.gpr[6] = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 900u, 0x08AC7474u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCE7Cu) goto L_08ACCE7C; AOT_REGCACHE_SYNC_OUT(); return; L_08ACCE7C: aot_gpr_31 = (0x08ACCE84u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 917u, 0x08AC75F8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCE84u) goto L_08ACCE84; AOT_REGCACHE_SYNC_OUT(); return; L_08ACCE84: @@ -3506,7 +3507,7 @@ L_08ACCEA8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 949u, 0x08AC7810u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCEB0u) goto L_08ACCEB0; AOT_REGCACHE_SYNC_OUT(); return; L_08ACCEB0: - aot_gpr_4 = (ctx.gpr[2] & 7u); + aot_gpr_4 = (aot_gpr_2 & 7u); aot_gpr_5 = (aot_gpr_4 << 24u); aot_gpr_5 = (static_cast(static_cast(aot_gpr_5) >> 24u)); aot_gpr_31 = (0x08ACCEC4u); @@ -3529,11 +3530,11 @@ L_08ACCECC: L_08ACCED4: aot_gpr_31 = (0x08ACCEDCu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCEDCu) goto L_08ACCEDC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC8054, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCEDCu) goto L_08ACCEDC; AOT_REGCACHE_SYNC_OUT(); return; L_08ACCEDC: aot_gpr_4 = (aot_gpr_17 | 0u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08ACCEECu); ctx.gpr[6] = (0u | 15000u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 803u, 0x0890B27Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCEECu) goto L_08ACCEEC; @@ -3545,13 +3546,13 @@ L_08ACCEEC: aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(456), aot_gpr_4); aot_gpr_31 = (0x08ACCF04u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCF04u) goto L_08ACCF04; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890FF64, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCF04u) goto L_08ACCF04; AOT_REGCACHE_SYNC_OUT(); return; L_08ACCF04: aot_gpr_4 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08ACCF10u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCF10u) goto L_08ACCF10; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCF10u) goto L_08ACCF10; AOT_REGCACHE_SYNC_OUT(); return; L_08ACCF10: { const bool branch_taken = 0u == 0u; @@ -3577,14 +3578,14 @@ L_08ACCF18: L_08ACCF34: aot_gpr_31 = (0x08ACCF3Cu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCF3Cu) goto L_08ACCF3C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC8054, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCF3Cu) goto L_08ACCF3C; AOT_REGCACHE_SYNC_OUT(); return; L_08ACCF3C: ctx.gpr[6] = (16256u << 16u); aot_gpr_4 = (aot_gpr_17 | 0u); aot_fpr_12 = std::bit_cast(ctx.gpr[6]); aot_gpr_31 = (0x08ACCF50u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 751u, 0x0890AED8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCF50u) goto L_08ACCF50; AOT_REGCACHE_SYNC_OUT(); return; L_08ACCF50: @@ -3595,7 +3596,7 @@ L_08ACCF50: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCF60u) goto L_08ACCF60; AOT_REGCACHE_SYNC_OUT(); return; L_08ACCF60: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -3626,41 +3627,41 @@ L_08ACCF84: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCF94u) goto L_08ACCF94; AOT_REGCACHE_SYNC_OUT(); return; L_08ACCF94: - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08ACCFA0u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCFA0u) goto L_08ACCFA0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC8054, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCFA0u) goto L_08ACCFA0; AOT_REGCACHE_SYNC_OUT(); return; L_08ACCFA0: aot_gpr_31 = (0x08ACCFA8u); - aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCFA8u) goto L_08ACCFA8; + aot_gpr_4 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7670, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCFA8u) goto L_08ACCFA8; AOT_REGCACHE_SYNC_OUT(); return; L_08ACCFA8: - aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(0))); + aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(0))); aot_gpr_31 = (0x08ACCFB4u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCFB4u) goto L_08ACCFB4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC8054, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCFB4u) goto L_08ACCFB4; AOT_REGCACHE_SYNC_OUT(); return; L_08ACCFB4: aot_gpr_31 = (0x08ACCFBCu); - aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCFBCu) goto L_08ACCFBC; + aot_gpr_4 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7670, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCFBCu) goto L_08ACCFBC; AOT_REGCACHE_SYNC_OUT(); return; L_08ACCFBC: - ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(4))); + ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(4))); aot_gpr_31 = (0x08ACCFC8u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCFC8u) goto L_08ACCFC8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7670, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCFC8u) goto L_08ACCFC8; AOT_REGCACHE_SYNC_OUT(); return; L_08ACCFC8: - ctx.fpr[24] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(0))); + ctx.fpr[24] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(0))); aot_gpr_31 = (0x08ACCFD4u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCFD4u) goto L_08ACCFD4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7670, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCFD4u) goto L_08ACCFD4; AOT_REGCACHE_SYNC_OUT(); return; L_08ACCFD4: - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(4))); + ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(4))); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[22])); aot_gpr_31 = (0x08ACCFE8u); @@ -3674,7 +3675,7 @@ L_08ACCFE8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0177_entry, 177u, 21u, 0x08AC80DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCFF4u) goto L_08ACCFF4; AOT_REGCACHE_SYNC_OUT(); return; L_08ACCFF4: - { const bool branch_taken = aot_gpr_16 != 0u; + { const bool branch_taken = ctx.gpr[16] != 0u; // nop if (branch_taken) { goto L_08ACD094; @@ -3684,15 +3685,15 @@ L_08ACCFF4: L_08ACCFFC: aot_gpr_31 = (0x08ACD004u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD004u) goto L_08ACD004; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC8054, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD004u) goto L_08ACD004; AOT_REGCACHE_SYNC_OUT(); return; L_08ACD004: aot_gpr_31 = (0x08ACD00Cu); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 627u, 0x08906E38u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD00Cu) goto L_08ACD00C; AOT_REGCACHE_SYNC_OUT(); return; L_08ACD00C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08ACD094; @@ -3706,11 +3707,11 @@ L_08ACD014: AOT_REGCACHE_SYNC_OUT(); return; L_08ACD01C: aot_gpr_31 = (0x08ACD024u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 958u, 0x08AC7940u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD024u) goto L_08ACD024; AOT_REGCACHE_SYNC_OUT(); return; L_08ACD024: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08ACD054; @@ -3724,12 +3725,12 @@ L_08ACD02C: AOT_REGCACHE_SYNC_OUT(); return; L_08ACD034: aot_gpr_31 = (0x08ACD03Cu); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 958u, 0x08AC7940u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD03Cu) goto L_08ACD03C; AOT_REGCACHE_SYNC_OUT(); return; L_08ACD03C: aot_gpr_4 = (0u | 6u); - { const bool branch_taken = ctx.gpr[2] == aot_gpr_4; + { const bool branch_taken = aot_gpr_2 == aot_gpr_4; // nop if (branch_taken) { goto L_08ACD054; @@ -3753,14 +3754,14 @@ L_08ACD054: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 163u, 0x089088F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD070u) goto L_08ACD070; AOT_REGCACHE_SYNC_OUT(); return; L_08ACD070: - aot_gpr_16 = (ctx.gpr[2] | 0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + ctx.gpr[16] = (aot_gpr_2 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08ACD080u); aot_gpr_5 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 931u, 0x08AC76ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD080u) goto L_08ACD080; AOT_REGCACHE_SYNC_OUT(); return; L_08ACD080: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08ACD08Cu); aot_gpr_5 = (0u | 8u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 931u, 0x08AC76ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD08Cu) goto L_08ACD08C; @@ -3774,7 +3775,7 @@ L_08ACD08C: goto L_08ACD094; } L_08ACD094: - { const bool branch_taken = aot_gpr_16 == 0u; + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08ACD218; @@ -3782,13 +3783,13 @@ L_08ACD094: goto L_08ACD09C; } L_08ACD09C: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08ACD0A8u); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 932u, 0x08AC76FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD0A8u) goto L_08ACD0A8; AOT_REGCACHE_SYNC_OUT(); return; L_08ACD0A8: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08ACD0E4; @@ -3797,13 +3798,13 @@ L_08ACD0A8: } L_08ACD0B0: aot_gpr_31 = (0x08ACD0B8u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 934u, 0x08AC7714u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD0B8u) goto L_08ACD0B8; AOT_REGCACHE_SYNC_OUT(); return; L_08ACD0B8: aot_fpr_20 = std::bit_cast(std::bit_cast(aot_fpr_0)); aot_gpr_31 = (0x08ACD0C4u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 935u, 0x08AC771Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD0C4u) goto L_08ACD0C4; AOT_REGCACHE_SYNC_OUT(); return; L_08ACD0C4: @@ -3831,14 +3832,14 @@ L_08ACD0E4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 163u, 0x089088F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD100u) goto L_08ACD100; AOT_REGCACHE_SYNC_OUT(); return; L_08ACD100: - aot_gpr_16 = (ctx.gpr[2] | 0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + ctx.gpr[16] = (aot_gpr_2 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08ACD110u); aot_gpr_5 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 931u, 0x08AC76ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD110u) goto L_08ACD110; AOT_REGCACHE_SYNC_OUT(); return; L_08ACD110: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08ACD11Cu); aot_gpr_5 = (0u | 8u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 931u, 0x08AC76ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD11Cu) goto L_08ACD11C; @@ -3846,10 +3847,10 @@ L_08ACD110: L_08ACD11C: aot_gpr_31 = (0x08ACD124u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD124u) goto L_08ACD124; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC8054, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD124u) goto L_08ACD124; AOT_REGCACHE_SYNC_OUT(); return; L_08ACD124: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08ACD130u); aot_gpr_5 = (aot_gpr_17 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0077_entry, 77u, 108u, 0x089387ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD130u) goto L_08ACD130; @@ -3857,10 +3858,10 @@ L_08ACD124: L_08ACD130: aot_gpr_31 = (0x08ACD138u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD138u) goto L_08ACD138; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC8054, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD138u) goto L_08ACD138; AOT_REGCACHE_SYNC_OUT(); return; L_08ACD138: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08ACD144u); aot_gpr_5 = (0u | 123u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 16u, 0x08860424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD144u) goto L_08ACD144; @@ -3882,16 +3883,16 @@ L_08ACD150: L_08ACD164: aot_gpr_31 = (0x08ACD16Cu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD16Cu) goto L_08ACD16C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC8054, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD16Cu) goto L_08ACD16C; AOT_REGCACHE_SYNC_OUT(); return; L_08ACD16C: aot_gpr_31 = (0x08ACD174u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 981u, 0x08AC7A48u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD174u) goto L_08ACD174; AOT_REGCACHE_SYNC_OUT(); return; L_08ACD174: aot_gpr_4 = (0u | 8u); - { const bool branch_taken = ctx.gpr[2] != aot_gpr_4; + { const bool branch_taken = aot_gpr_2 != aot_gpr_4; // nop if (branch_taken) { goto L_08ACD1D0; @@ -3901,15 +3902,15 @@ L_08ACD174: L_08ACD180: aot_gpr_31 = (0x08ACD188u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD188u) goto L_08ACD188; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC8054, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD188u) goto L_08ACD188; AOT_REGCACHE_SYNC_OUT(); return; L_08ACD188: aot_gpr_31 = (0x08ACD190u); - aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD190u) goto L_08ACD190; + aot_gpr_4 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC8054, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD190u) goto L_08ACD190; AOT_REGCACHE_SYNC_OUT(); return; L_08ACD190: - { const bool branch_taken = ctx.gpr[2] != aot_gpr_17; + { const bool branch_taken = aot_gpr_2 != aot_gpr_17; // nop if (branch_taken) { goto L_08ACD1D0; @@ -3919,25 +3920,25 @@ L_08ACD190: L_08ACD198: aot_gpr_31 = (0x08ACD1A0u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD1A0u) goto L_08ACD1A0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC8054, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD1A0u) goto L_08ACD1A0; AOT_REGCACHE_SYNC_OUT(); return; L_08ACD1A0: aot_gpr_4 = (aot_gpr_17 | 0u); aot_gpr_5 = (0u | 10u); aot_gpr_31 = (0x08ACD1B0u); - ctx.gpr[6] = (ctx.gpr[2] | 0u); + ctx.gpr[6] = (aot_gpr_2 | 0u); goto L_08ACD698; L_08ACD1B0: aot_gpr_4 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08ACD1BCu); aot_gpr_5 = (0u | 5u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD1BCu) goto L_08ACD1BC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD1BCu) goto L_08ACD1BC; AOT_REGCACHE_SYNC_OUT(); return; L_08ACD1BC: aot_gpr_4 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08ACD1C8u); aot_gpr_5 = (0u | 5u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD1C8u) goto L_08ACD1C8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08908E78, 65u, 261u, 0x08908E78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD1C8u) goto L_08ACD1C8; AOT_REGCACHE_SYNC_OUT(); return; L_08ACD1C8: { const bool branch_taken = 0u == 0u; @@ -3950,11 +3951,11 @@ L_08ACD1C8: L_08ACD1D0: aot_gpr_31 = (0x08ACD1D8u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD1D8u) goto L_08ACD1D8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC8054, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD1D8u) goto L_08ACD1D8; AOT_REGCACHE_SYNC_OUT(); return; L_08ACD1D8: aot_gpr_4 = (aot_gpr_17 | 0u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08ACD1E8u); ctx.gpr[6] = (0u | 15000u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 803u, 0x0890B27Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD1E8u) goto L_08ACD1E8; @@ -3966,19 +3967,19 @@ L_08ACD1E8: aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(456), aot_gpr_4); aot_gpr_31 = (0x08ACD200u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD200u) goto L_08ACD200; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890FF64, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD200u) goto L_08ACD200; AOT_REGCACHE_SYNC_OUT(); return; L_08ACD200: aot_gpr_4 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08ACD20Cu); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD20Cu) goto L_08ACD20C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD20Cu) goto L_08ACD20C; AOT_REGCACHE_SYNC_OUT(); return; L_08ACD20C: aot_gpr_4 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08ACD218u); aot_gpr_5 = (0u | 5u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD218u) goto L_08ACD218; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08908E78, 65u, 261u, 0x08908E78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD218u) goto L_08ACD218; AOT_REGCACHE_SYNC_OUT(); return; L_08ACD218: { const bool branch_taken = 0u == 0u; @@ -4006,7 +4007,7 @@ L_08ACD234: AOT_REGCACHE_SYNC_OUT(); return; L_08ACD23C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1728))); - aot_gpr_4 = (aot_gpr_4 < ctx.gpr[2] ? 1u : 0u); + aot_gpr_4 = (aot_gpr_4 < aot_gpr_2 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -4020,7 +4021,7 @@ L_08ACD24C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 195u, 0x08910B38u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD254u) goto L_08ACD254; AOT_REGCACHE_SYNC_OUT(); return; L_08ACD254: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08ACD278; @@ -4074,7 +4075,7 @@ L_08ACD29C: AOT_REGCACHE_SYNC_OUT(); return; L_08ACD2A4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1756))); - aot_gpr_4 = (aot_gpr_4 < ctx.gpr[2] ? 1u : 0u); + aot_gpr_4 = (aot_gpr_4 < aot_gpr_2 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -4083,14 +4084,14 @@ L_08ACD2A4: goto L_08ACD2B4; } L_08ACD2B4: - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); aot_gpr_31 = (0x08ACD2C0u); aot_gpr_4 = (aot_gpr_17 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0177_entry, 177u, 25u, 0x08AC80FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD2C0u) goto L_08ACD2C0; AOT_REGCACHE_SYNC_OUT(); return; L_08ACD2C0: aot_gpr_4 = (0u | 1u); - { const bool branch_taken = ctx.gpr[2] != aot_gpr_4; + { const bool branch_taken = aot_gpr_2 != aot_gpr_4; // nop if (branch_taken) { goto L_08ACD2E0; @@ -4103,7 +4104,7 @@ L_08ACD2CC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 195u, 0x08910B38u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD2D4u) goto L_08ACD2D4; AOT_REGCACHE_SYNC_OUT(); return; L_08ACD2D4: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08ACD2E0; @@ -4111,11 +4112,11 @@ L_08ACD2D4: goto L_08ACD2DC; } L_08ACD2DC: - aot_gpr_16 = (0u | 1u); + ctx.gpr[16] = (0u | 1u); goto L_08ACD2E0; L_08ACD2E0: - aot_gpr_16 = (aot_gpr_16 & 255u); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (ctx.gpr[16] & 255u); + { const bool branch_taken = ctx.gpr[16] == 0u; ctx.gpr[18] = (0u | 1u); if (branch_taken) { goto L_08ACD3C8; @@ -4129,7 +4130,7 @@ L_08ACD2EC: AOT_REGCACHE_SYNC_OUT(); return; L_08ACD2F4: aot_gpr_4 = (0u | 8u); - { const bool branch_taken = ctx.gpr[2] != aot_gpr_4; + { const bool branch_taken = aot_gpr_2 != aot_gpr_4; // nop if (branch_taken) { goto L_08ACD3C8; @@ -4139,10 +4140,10 @@ L_08ACD2F4: L_08ACD300: aot_gpr_31 = (0x08ACD308u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD308u) goto L_08ACD308; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC79D4, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD308u) goto L_08ACD308; AOT_REGCACHE_SYNC_OUT(); return; L_08ACD308: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(0))); aot_gpr_5 = (0u | 17u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -4164,11 +4165,11 @@ L_08ACD318: AOT_REGCACHE_SYNC_OUT(); return; L_08ACD330: aot_gpr_31 = (0x08ACD338u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 969u, 0x08AC79A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD338u) goto L_08ACD338; AOT_REGCACHE_SYNC_OUT(); return; L_08ACD338: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08ACD3C8; @@ -4188,16 +4189,16 @@ L_08ACD340: AOT_REGCACHE_SYNC_OUT(); return; L_08ACD358: aot_gpr_31 = (0x08ACD360u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 969u, 0x08AC79A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD360u) goto L_08ACD360; AOT_REGCACHE_SYNC_OUT(); return; L_08ACD360: aot_gpr_31 = (0x08ACD368u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 937u, 0x08AC773Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD368u) goto L_08ACD368; AOT_REGCACHE_SYNC_OUT(); return; L_08ACD368: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08ACD3C8; @@ -4217,16 +4218,16 @@ L_08ACD370: AOT_REGCACHE_SYNC_OUT(); return; L_08ACD388: aot_gpr_31 = (0x08ACD390u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 969u, 0x08AC79A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD390u) goto L_08ACD390; AOT_REGCACHE_SYNC_OUT(); return; L_08ACD390: aot_gpr_31 = (0x08ACD398u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 973u, 0x08AC79DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD398u) goto L_08ACD398; AOT_REGCACHE_SYNC_OUT(); return; L_08ACD398: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08ACD3C8; @@ -4248,7 +4249,7 @@ L_08ACD3AC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 929u, 0x08AC76DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD3B4u) goto L_08ACD3B4; AOT_REGCACHE_SYNC_OUT(); return; L_08ACD3B4: - aot_gpr_4 = (ctx.gpr[2] + static_cast(-1)); + aot_gpr_4 = (aot_gpr_2 + static_cast(-1)); aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(1756), aot_gpr_4); aot_gpr_4 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08ACD3C8u); @@ -4275,7 +4276,7 @@ L_08ACD3D8: AOT_REGCACHE_SYNC_OUT(); return; L_08ACD3E0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1756))); - aot_gpr_4 = (ctx.gpr[2] < aot_gpr_4 ? 1u : 0u); + aot_gpr_4 = (aot_gpr_2 < aot_gpr_4 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -4298,11 +4299,11 @@ L_08ACD3FC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 929u, 0x08AC76DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD404u) goto L_08ACD404; AOT_REGCACHE_SYNC_OUT(); return; L_08ACD404: - aot_gpr_4 = (ctx.gpr[2] + static_cast(-1)); + aot_gpr_4 = (aot_gpr_2 + static_cast(-1)); aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(1756), aot_gpr_4); goto L_08ACD40C; L_08ACD40C: - { const bool branch_taken = aot_gpr_16 == 0u; + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08ACD454; @@ -4316,7 +4317,7 @@ L_08ACD414: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 949u, 0x08AC7810u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD420u) goto L_08ACD420; AOT_REGCACHE_SYNC_OUT(); return; L_08ACD420: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (static_cast(aot_gpr_4) >= 0) { aot_gpr_4 = (aot_gpr_4 & 7u); goto L_08ACD43C; @@ -4353,7 +4354,7 @@ L_08ACD454: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 620u, 0x08906DE4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD45Cu) goto L_08ACD45C; AOT_REGCACHE_SYNC_OUT(); return; L_08ACD45C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08ACD46C; @@ -4373,7 +4374,7 @@ L_08ACD46C: L_08ACD474: aot_gpr_31 = (0x08ACD47Cu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 454u, 0x08909B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD47Cu) goto L_08ACD47C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08909B60, 65u, 454u, 0x08909B60u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[16], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 454u, 0x08909B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD47Cu) goto L_08ACD47C; AOT_REGCACHE_SYNC_OUT(); return; L_08ACD47C: { std::uint32_t aot_run_words[14]{}; @@ -4382,7 +4383,7 @@ L_08ACD47C: ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); ctx.fpr[26] = std::bit_cast(aot_run_words[3]); - aot_gpr_16 = aot_run_words[4]; + ctx.gpr[16] = aot_run_words[4]; aot_gpr_17 = aot_run_words[5]; ctx.gpr[18] = aot_run_words[6]; ctx.gpr[19] = aot_run_words[7]; @@ -4404,11 +4405,11 @@ L_08ACD4BC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); aot_gpr_17 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1156))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_16 = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); if (branch_taken) { goto L_08ACD4F4; } @@ -4449,7 +4450,7 @@ L_08ACD50C: goto L_08ACD518; } L_08ACD518: - { const bool branch_taken = aot_gpr_16 == 0u; + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08ACD538; @@ -4505,7 +4506,7 @@ L_08ACD554: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 620u, 0x08906DE4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD55Cu) goto L_08ACD55C; AOT_REGCACHE_SYNC_OUT(); return; L_08ACD55C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08ACD580; @@ -4529,7 +4530,7 @@ L_08ACD56C: goto L_08ACD574; } L_08ACD574: - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(2196), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(2196), ctx.gpr[16]); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(640), 0u); if (branch_taken) { @@ -4540,10 +4541,10 @@ L_08ACD574: L_08ACD580: aot_gpr_31 = (0x08ACD588u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD588u) goto L_08ACD588; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD588u) goto L_08ACD588; AOT_REGCACHE_SYNC_OUT(); return; L_08ACD588: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08ACD598; @@ -4571,7 +4572,7 @@ L_08ACD598: } L_08ACD5AC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(640))); - { const bool branch_taken = aot_gpr_4 != aot_gpr_16; + { const bool branch_taken = aot_gpr_4 != ctx.gpr[16]; // nop if (branch_taken) { goto L_08ACD5C0; @@ -4594,7 +4595,7 @@ L_08ACD5C0: AOT_REGCACHE_SYNC_OUT(); return; L_08ACD5CC: ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(2196))); - { const bool branch_taken = ctx.gpr[18] != aot_gpr_16; + { const bool branch_taken = ctx.gpr[18] != ctx.gpr[16]; // nop if (branch_taken) { goto L_08ACD5E8; @@ -4624,7 +4625,7 @@ L_08ACD5E8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1076u, 0x08AC7EF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD5F4u) goto L_08ACD5F4; AOT_REGCACHE_SYNC_OUT(); return; L_08ACD5F4: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; ctx.gpr[18] = (0u + static_cast(-129)); if (branch_taken) { goto L_08ACD60C; @@ -4633,7 +4634,7 @@ L_08ACD5F4: } L_08ACD5FC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(460))); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(640), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(640), ctx.gpr[16]); { const bool branch_taken = 0u == 0u; ctx.gpr[18] = (aot_gpr_4 & ctx.gpr[18]); if (branch_taken) { @@ -4643,7 +4644,7 @@ L_08ACD5FC: } L_08ACD60C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(2196))); - { const bool branch_taken = aot_gpr_4 == aot_gpr_16; + { const bool branch_taken = aot_gpr_4 == ctx.gpr[16]; // nop if (branch_taken) { goto L_08ACD620; @@ -4657,11 +4658,11 @@ L_08ACD618: AOT_REGCACHE_SYNC_OUT(); return; L_08ACD620: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(460))); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(2196), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(2196), ctx.gpr[16]); ctx.gpr[18] = (aot_gpr_4 & ctx.gpr[18]); goto L_08ACD62C; L_08ACD62C: - { const bool branch_taken = static_cast(aot_gpr_16) < 0; + { const bool branch_taken = static_cast(ctx.gpr[16]) < 0; aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(460), ctx.gpr[18]); if (branch_taken) { goto L_08ACD680; @@ -4669,7 +4670,7 @@ L_08ACD62C: goto L_08ACD634; } L_08ACD634: - aot_gpr_4 = (static_cast(aot_gpr_16) < 55 ? 1u : 0u); + aot_gpr_4 = (static_cast(ctx.gpr[16]) < 55 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -4678,9 +4679,9 @@ L_08ACD634: goto L_08ACD640; } L_08ACD640: - aot_gpr_16 = (aot_gpr_16 << 2u); + ctx.gpr[16] = (ctx.gpr[16] << 2u); ctx.gpr[1] = (2232u << 16u); - ctx.gpr[1] = (ctx.gpr[1] + aot_gpr_16); + ctx.gpr[1] = (ctx.gpr[1] + ctx.gpr[16]); ctx.gpr[1] = (aot_mem.aot_direct_load32(ctx.gpr[1] + static_cast(14824))); jump_target = ctx.gpr[1]; // nop @@ -4698,7 +4699,7 @@ L_08ACD664: aot_gpr_4 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08ACD670u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD670u) goto L_08ACD670; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD670u) goto L_08ACD670; AOT_REGCACHE_SYNC_OUT(); return; L_08ACD670: { const bool branch_taken = 0u == 0u; @@ -4719,7 +4720,7 @@ L_08ACD678: L_08ACD680: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; @@ -4732,9 +4733,9 @@ L_08ACD680: AOT_REGCACHE_SYNC_OUT(); return; L_08ACD698: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), ctx.gpr[18]); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.gpr[18] = (aot_gpr_5 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_17); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_31); @@ -4746,7 +4747,7 @@ L_08ACD698: goto L_08ACD6BC; } L_08ACD6BC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2228))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2228))); aot_gpr_5 = (0u | 57u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -4756,7 +4757,7 @@ L_08ACD6BC: goto L_08ACD6CC; } L_08ACD6CC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2228))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2228))); aot_gpr_5 = (0u | 58u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -4766,7 +4767,7 @@ L_08ACD6CC: goto L_08ACD6DC; } L_08ACD6DC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2228))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2228))); aot_gpr_5 = (0u | 32u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -4776,18 +4777,18 @@ L_08ACD6DC: goto L_08ACD6EC; } L_08ACD6EC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(92))); aot_gpr_4 = (aot_gpr_4 + static_cast(216)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); jump_target = ctx.gpr[6]; aot_gpr_31 = (0x08ACD704u); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_5); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_5); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD704u) goto L_08ACD704; AOT_REGCACHE_SYNC_OUT(); return; L_08ACD704: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(8))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(8))); aot_gpr_4 = (aot_gpr_4 & 512u); aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); @@ -4799,9 +4800,9 @@ L_08ACD704: goto L_08ACD71C; } L_08ACD71C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(640))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(640))); if (aot_gpr_4 == ctx.gpr[18]) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(640))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(640))); goto L_08ACD748; } goto L_08ACD728; @@ -4846,7 +4847,7 @@ L_08ACD748: goto L_08ACD750; } L_08ACD750: - { const bool branch_taken = aot_gpr_17 == aot_gpr_16; + { const bool branch_taken = aot_gpr_17 == ctx.gpr[16]; // nop if (branch_taken) { goto L_08ACD76C; @@ -4854,7 +4855,7 @@ L_08ACD750: goto L_08ACD758; } L_08ACD758: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2120))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2120))); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_4 = (0u | 8u); if (branch_taken) { @@ -4919,7 +4920,7 @@ L_08ACD794: goto L_08ACD79C; } L_08ACD79C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2196))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2196))); { const bool branch_taken = aot_gpr_4 == ctx.gpr[18]; // nop if (branch_taken) { @@ -4973,7 +4974,7 @@ L_08ACD7E0: goto L_08ACD7E8; } L_08ACD7E8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1156))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1156))); { const bool branch_taken = aot_gpr_4 == aot_gpr_17; // nop if (branch_taken) { @@ -4984,7 +4985,7 @@ L_08ACD7E8: L_08ACD7F4: aot_gpr_4 = (0u | 34u); if (ctx.gpr[18] == aot_gpr_4) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(468))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(468))); goto L_08ACD810; } goto L_08ACD800; @@ -5022,7 +5023,7 @@ L_08ACD81C: goto L_08ACD824; } L_08ACD824: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2192))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2192))); { const bool branch_taken = aot_gpr_4 == aot_gpr_17; // nop if (branch_taken) { @@ -5031,7 +5032,7 @@ L_08ACD824: goto L_08ACD830; } L_08ACD830: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1748))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1748))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_4 = (aot_gpr_5 < aot_gpr_4 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; @@ -5058,7 +5059,7 @@ L_08ACD84C: goto L_08ACD854; } L_08ACD854: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2192))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2192))); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_5 = (aot_gpr_4 | 0u); if (branch_taken) { @@ -5071,11 +5072,11 @@ L_08ACD860: aot_gpr_4 = (aot_gpr_4 | 2706u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_31 = (0x08ACD874u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 627u, 0x089AB048u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD874u) goto L_08ACD874; AOT_REGCACHE_SYNC_OUT(); return; L_08ACD874: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08ACD884; @@ -5099,7 +5100,7 @@ L_08ACD884: goto L_08ACD88C; } L_08ACD88C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2192))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2192))); { const bool branch_taken = aot_gpr_4 == aot_gpr_17; // nop if (branch_taken) { @@ -5108,7 +5109,7 @@ L_08ACD88C: goto L_08ACD898; } L_08ACD898: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(460))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(460))); aot_gpr_4 = (aot_gpr_4 & 32u); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -5135,7 +5136,7 @@ L_08ACD8B0: } L_08ACD8B8: aot_gpr_31 = (0x08ACD8C0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 829u, 0x0890B488u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD8C0u) goto L_08ACD8C0; AOT_REGCACHE_SYNC_OUT(); return; L_08ACD8C0: @@ -5147,7 +5148,7 @@ L_08ACD8C0: goto L_08ACD8C8; } L_08ACD8C8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(676))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(676))); { const bool branch_taken = aot_gpr_4 == aot_gpr_17; // nop if (branch_taken) { @@ -5180,7 +5181,7 @@ L_08ACD8E4: goto L_08ACD8EC; } L_08ACD8EC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2192))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2192))); { const bool branch_taken = aot_gpr_4 == aot_gpr_17; // nop if (branch_taken) { @@ -5205,7 +5206,7 @@ L_08ACD900: goto L_08ACD908; } L_08ACD908: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2076))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2076))); { const bool branch_taken = aot_gpr_4 == aot_gpr_17; // nop if (branch_taken) { @@ -5214,29 +5215,29 @@ L_08ACD908: goto L_08ACD914; } L_08ACD914: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(460))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(460))); aot_gpr_5 = (0u + static_cast(-129)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(460), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(460), aot_gpr_4); aot_gpr_31 = (0x08ACD92Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0055_entry, 55u, 438u, 0x088E34ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD92Cu) goto L_08ACD92C; AOT_REGCACHE_SYNC_OUT(); return; L_08ACD92C: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08ACD938u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1084u, 0x08AC7F30u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD938u) goto L_08ACD938; AOT_REGCACHE_SYNC_OUT(); return; L_08ACD938: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2196))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2196))); aot_gpr_31 = (0x08ACD944u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1076u, 0x08AC7EF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD944u) goto L_08ACD944; AOT_REGCACHE_SYNC_OUT(); return; L_08ACD944: - { const bool branch_taken = ctx.gpr[2] != 0u; - aot_gpr_4 = (aot_gpr_16 | 0u); + { const bool branch_taken = aot_gpr_2 != 0u; + aot_gpr_4 = (ctx.gpr[16] | 0u); if (branch_taken) { goto L_08ACD9AC; } @@ -5302,11 +5303,11 @@ L_08ACD984: } L_08ACD98C: aot_gpr_31 = (0x08ACD994u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 195u, 0x08910B38u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD994u) goto L_08ACD994; AOT_REGCACHE_SYNC_OUT(); return; L_08ACD994: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08ACD9A4; @@ -5335,7 +5336,7 @@ L_08ACD9AC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1076u, 0x08AC7EF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD9B4u) goto L_08ACD9B4; AOT_REGCACHE_SYNC_OUT(); return; L_08ACD9B4: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08ACD9C4; @@ -5344,14 +5345,14 @@ L_08ACD9B4: } L_08ACD9BC: { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(640), ctx.gpr[18]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(640), ctx.gpr[18]); if (branch_taken) { goto L_08ACDA04; } goto L_08ACD9C4; } L_08ACD9C4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2196))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2196))); { const bool branch_taken = aot_gpr_4 == ctx.gpr[18]; // nop if (branch_taken) { @@ -5360,13 +5361,13 @@ L_08ACD9C4: goto L_08ACD9D0; } L_08ACD9D0: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08ACD9DCu); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1076u, 0x08AC7EF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD9DCu) goto L_08ACD9DC; AOT_REGCACHE_SYNC_OUT(); return; L_08ACD9DC: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08ACD9F8; @@ -5374,7 +5375,7 @@ L_08ACD9DC: goto L_08ACD9E4; } L_08ACD9E4: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08ACD9F0u); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1068u, 0x08AC7E98u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD9F0u) goto L_08ACD9F0; @@ -5389,11 +5390,11 @@ L_08ACD9F0: } L_08ACD9F8: aot_gpr_31 = (0x08ACDA00u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1053u, 0x08AC7DFCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACDA00u) goto L_08ACDA00; AOT_REGCACHE_SYNC_OUT(); return; L_08ACDA00: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2196), ctx.gpr[18]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(2196), ctx.gpr[18]); goto L_08ACDA04; L_08ACDA04: aot_gpr_4 = (ctx.gpr[18] + static_cast(-2)); @@ -5417,14 +5418,14 @@ L_08ACDA14: ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08ACDA2C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(92))); aot_gpr_5 = (aot_gpr_17 | 0u); aot_gpr_4 = (aot_gpr_4 + static_cast(240)); ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x08ACDA48u); - aot_gpr_4 = (aot_gpr_16 + ctx.gpr[6]); + aot_gpr_4 = (ctx.gpr[16] + ctx.gpr[6]); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACDA48u) goto L_08ACDA48; AOT_REGCACHE_SYNC_OUT(); return; @@ -5437,7 +5438,7 @@ L_08ACDA48: goto L_08ACDA50; } L_08ACDA50: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2244))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2244))); aot_gpr_5 = (0u | 1u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -5447,16 +5448,16 @@ L_08ACDA50: goto L_08ACDA60; } L_08ACDA60: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08ACDA6Cu); aot_gpr_5 = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACDA6Cu) goto L_08ACDA6C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACDA6Cu) goto L_08ACDA6C; AOT_REGCACHE_SYNC_OUT(); return; L_08ACDA6C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(852))); aot_gpr_5 = (0u | 1u); if (aot_gpr_4 == aot_gpr_5) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1300))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1300))); goto L_08ACDA90; } goto L_08ACDA7C; @@ -5471,7 +5472,7 @@ L_08ACDA7C: goto L_08ACDA8C; } L_08ACDA8C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1300))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1300))); goto L_08ACDA90; L_08ACDA90: { const bool branch_taken = aot_gpr_4 == aot_gpr_17; @@ -5483,11 +5484,11 @@ L_08ACDA90: } L_08ACDA98: aot_gpr_31 = (0x08ACDAA0u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACDAA0u) goto L_08ACDAA0; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACDAA0u) goto L_08ACDAA0; AOT_REGCACHE_SYNC_OUT(); return; L_08ACDAA0: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08ACDAB0; @@ -5504,7 +5505,7 @@ L_08ACDAA8: } L_08ACDAB0: aot_gpr_31 = (0x08ACDAB8u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1089u, 0x08AC7F64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACDAB8u) goto L_08ACDAB8; AOT_REGCACHE_SYNC_OUT(); return; L_08ACDAB8: @@ -5516,20 +5517,20 @@ L_08ACDAB8: goto L_08ACDAC0; } L_08ACDAC0: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08ACDACCu); aot_gpr_5 = (aot_gpr_17 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 188u, 0x08910AD4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACDACCu) goto L_08ACDACC; AOT_REGCACHE_SYNC_OUT(); return; L_08ACDACC: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1156))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1156))); aot_gpr_31 = (0x08ACDAD8u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 50u, 0x0891034Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACDAD8u) goto L_08ACDAD8; AOT_REGCACHE_SYNC_OUT(); return; L_08ACDAD8: aot_fpr_12 = std::bit_cast(0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_12)}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_31 = (0x08ACDAF4u); @@ -5549,14 +5550,14 @@ L_08ACDB00: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_4 = (aot_gpr_4 + static_cast(10000)); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(1756), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(1756), aot_gpr_4); if (branch_taken) { goto L_08ACDB78; } goto L_08ACDB10; } L_08ACDB10: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2196))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2196))); aot_gpr_5 = (0u | 17u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -5566,7 +5567,7 @@ L_08ACDB10: goto L_08ACDB20; } L_08ACDB20: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2276))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2276))); aot_gpr_5 = (0u | 2u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -5576,7 +5577,7 @@ L_08ACDB20: goto L_08ACDB30; } L_08ACDB30: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1156))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1156))); aot_gpr_5 = (0u | 13u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 496u); @@ -5594,7 +5595,7 @@ L_08ACDB4C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACDB54u) goto L_08ACDB54; AOT_REGCACHE_SYNC_OUT(); return; L_08ACDB54: - aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(154))); + aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(154))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -5603,7 +5604,7 @@ L_08ACDB54: goto L_08ACDB60; } L_08ACDB60: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08ACDB6Cu); aot_gpr_5 = (0u | 14000u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1084u, 0x08AC7F30u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACDB6Cu) goto L_08ACDB6C; @@ -5617,7 +5618,7 @@ L_08ACDB6C: goto L_08ACDB74; } L_08ACDB74: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(1756), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(1756), 0u); goto L_08ACDB78; L_08ACDB78: { const bool branch_taken = 0u == 0u; @@ -5628,13 +5629,13 @@ L_08ACDB78: goto L_08ACDB80; } L_08ACDB80: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08ACDB8Cu); aot_gpr_5 = (aot_gpr_17 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 840u, 0x0890FC94u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACDB8Cu) goto L_08ACDB8C; AOT_REGCACHE_SYNC_OUT(); return; L_08ACDB8C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2192))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2192))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -5643,10 +5644,10 @@ L_08ACDB8C: goto L_08ACDB98; } L_08ACDB98: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2192))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2192))); aot_gpr_31 = (0x08ACDBA4u); - aot_gpr_5 = (aot_gpr_16 + static_cast(2192)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACDBA4u) goto L_08ACDBA4; + aot_gpr_5 = (ctx.gpr[16] + static_cast(2192)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACDBA4u) goto L_08ACDBA4; AOT_REGCACHE_SYNC_OUT(); return; L_08ACDBA4: { const bool branch_taken = 0u == 0u; @@ -5657,13 +5658,13 @@ L_08ACDBA4: goto L_08ACDBAC; } L_08ACDBAC: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08ACDBB8u); aot_gpr_5 = (aot_gpr_17 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 840u, 0x0890FC94u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACDBB8u) goto L_08ACDBB8; AOT_REGCACHE_SYNC_OUT(); return; L_08ACDBB8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2192))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2192))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -5672,22 +5673,22 @@ L_08ACDBB8: goto L_08ACDBC4; } L_08ACDBC4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2192))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2192))); aot_gpr_31 = (0x08ACDBD0u); - aot_gpr_5 = (aot_gpr_16 + static_cast(2192)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACDBD0u) goto L_08ACDBD0; + aot_gpr_5 = (ctx.gpr[16] + static_cast(2192)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACDBD0u) goto L_08ACDBD0; AOT_REGCACHE_SYNC_OUT(); return; L_08ACDBD0: aot_gpr_4 = (0u | 1u); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(680), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(680), aot_gpr_4); if (branch_taken) { goto L_08ACDA48; } goto L_08ACDBDC; } L_08ACDBDC: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08ACDBE8u); aot_gpr_5 = (aot_gpr_17 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1084u, 0x08AC7F30u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACDBE8u) goto L_08ACDBE8; @@ -5701,14 +5702,14 @@ L_08ACDBE8: goto L_08ACDBF0; } L_08ACDBF0: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08ACDBFCu); aot_gpr_5 = (aot_gpr_17 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 475u, 0x0890DF20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACDBFCu) goto L_08ACDBFC; AOT_REGCACHE_SYNC_OUT(); return; L_08ACDBFC: aot_gpr_31 = (0x08ACDC04u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1089u, 0x08AC7F64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACDC04u) goto L_08ACDC04; AOT_REGCACHE_SYNC_OUT(); return; L_08ACDC04: @@ -5720,13 +5721,13 @@ L_08ACDC04: goto L_08ACDC0C; } L_08ACDC0C: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08ACDC18u); aot_gpr_5 = (aot_gpr_17 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 188u, 0x08910AD4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACDC18u) goto L_08ACDC18; AOT_REGCACHE_SYNC_OUT(); return; L_08ACDC18: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1156))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1156))); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(614)))))); aot_gpr_4 = (aot_gpr_4 & 2u); { const bool branch_taken = aot_gpr_4 == 0u; @@ -5737,7 +5738,7 @@ L_08ACDC18: goto L_08ACDC2C; } L_08ACDC2C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1728))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1728))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -5746,7 +5747,7 @@ L_08ACDC2C: goto L_08ACDC38; } L_08ACDC38: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1156))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1156))); aot_gpr_17 = (0u | 0u); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(565))); aot_gpr_4 = (static_cast(aot_gpr_17) < static_cast(aot_gpr_4) ? 1u : 0u); @@ -5758,13 +5759,13 @@ L_08ACDC38: goto L_08ACDC50; } L_08ACDC50: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1156))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1156))); aot_gpr_31 = (0x08ACDC5Cu); aot_gpr_5 = (aot_gpr_17 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACDC5Cu) goto L_08ACDC5C; AOT_REGCACHE_SYNC_OUT(); return; L_08ACDC5C: - { const bool branch_taken = ctx.gpr[2] != aot_gpr_16; + { const bool branch_taken = aot_gpr_2 != ctx.gpr[16]; aot_gpr_4 = (0u + static_cast(1200)); if (branch_taken) { goto L_08ACDC7C; @@ -5777,14 +5778,14 @@ L_08ACDC64: aot_gpr_5 = (ctx.lo); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(1728), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(1728), aot_gpr_4); if (branch_taken) { goto L_08ACDC94; } goto L_08ACDC7C; } L_08ACDC7C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1156))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1156))); aot_gpr_17 = (aot_gpr_17 + static_cast(1)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(565))); aot_gpr_4 = (static_cast(aot_gpr_17) < static_cast(aot_gpr_4) ? 1u : 0u); @@ -5805,16 +5806,16 @@ L_08ACDC94: } L_08ACDC9C: aot_gpr_31 = (0x08ACDCA4u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACDCA4u) goto L_08ACDCA4; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890FF64, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACDCA4u) goto L_08ACDCA4; AOT_REGCACHE_SYNC_OUT(); return; L_08ACDCA4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(456))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(456))); aot_gpr_5 = (49152u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(-1)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(456), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2192))); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(456), aot_gpr_4); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2192))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -5823,13 +5824,13 @@ L_08ACDCA4: goto L_08ACDCC4; } L_08ACDCC4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2192))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2192))); aot_gpr_31 = (0x08ACDCD0u); - aot_gpr_5 = (aot_gpr_16 + static_cast(2192)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACDCD0u) goto L_08ACDCD0; + aot_gpr_5 = (ctx.gpr[16] + static_cast(2192)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A93004, 163u, 430u, 0x08A93004u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACDCD0u) goto L_08ACDCD0; AOT_REGCACHE_SYNC_OUT(); return; L_08ACDCD0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1716))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1716))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -5838,21 +5839,21 @@ L_08ACDCD0: goto L_08ACDCDC; } L_08ACDCDC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1716))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1716))); aot_gpr_31 = (0x08ACDCE8u); - aot_gpr_5 = (aot_gpr_16 + static_cast(1716)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACDCE8u) goto L_08ACDCE8; + aot_gpr_5 = (ctx.gpr[16] + static_cast(1716)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A93004, 163u, 430u, 0x08A93004u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACDCE8u) goto L_08ACDCE8; AOT_REGCACHE_SYNC_OUT(); return; L_08ACDCE8: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(1716), aot_gpr_17); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(1716), aot_gpr_17); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08ACDCF8u); aot_gpr_5 = (aot_gpr_17 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 840u, 0x0890FC94u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACDCF8u) goto L_08ACDCF8; AOT_REGCACHE_SYNC_OUT(); return; L_08ACDCF8: aot_fpr_12 = std::bit_cast(0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_12)}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_31 = (0x08ACDD14u); @@ -5860,7 +5861,7 @@ L_08ACDCF8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 34u, 0x08910218u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACDD14u) goto L_08ACDD14; AOT_REGCACHE_SYNC_OUT(); return; L_08ACDD14: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2192))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2192))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -5869,32 +5870,32 @@ L_08ACDD14: goto L_08ACDD20; } L_08ACDD20: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2192))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2192))); aot_gpr_31 = (0x08ACDD2Cu); - aot_gpr_5 = (aot_gpr_16 + static_cast(2192)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACDD2Cu) goto L_08ACDD2C; + aot_gpr_5 = (ctx.gpr[16] + static_cast(2192)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACDD2Cu) goto L_08ACDD2C; AOT_REGCACHE_SYNC_OUT(); return; L_08ACDD2C: { const bool branch_taken = aot_gpr_17 == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(1716), aot_gpr_17); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(1716), aot_gpr_17); if (branch_taken) { goto L_08ACDD40; } goto L_08ACDD34; } L_08ACDD34: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1716))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1716))); aot_gpr_31 = (0x08ACDD40u); - aot_gpr_5 = (aot_gpr_16 + static_cast(1716)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACDD40u) goto L_08ACDD40; + aot_gpr_5 = (ctx.gpr[16] + static_cast(1716)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACDD40u) goto L_08ACDD40; AOT_REGCACHE_SYNC_OUT(); return; L_08ACDD40: aot_gpr_31 = (0x08ACDD48u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACDD48u) goto L_08ACDD48; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACDD48u) goto L_08ACDD48; AOT_REGCACHE_SYNC_OUT(); return; L_08ACDD48: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08ACDE34; @@ -5902,18 +5903,18 @@ L_08ACDD48: goto L_08ACDD50; } L_08ACDD50: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(92))); aot_gpr_4 = (aot_gpr_4 + static_cast(216)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); jump_target = ctx.gpr[6]; aot_gpr_31 = (0x08ACDD68u); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_5); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_5); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACDD68u) goto L_08ACDD68; AOT_REGCACHE_SYNC_OUT(); return; L_08ACDD68: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(12))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(12))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -5922,18 +5923,18 @@ L_08ACDD68: goto L_08ACDD74; } L_08ACDD74: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(92))); aot_gpr_4 = (aot_gpr_4 + static_cast(216)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); jump_target = ctx.gpr[6]; aot_gpr_31 = (0x08ACDD8Cu); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_5); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_5); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACDD8Cu) goto L_08ACDD8C; AOT_REGCACHE_SYNC_OUT(); return; L_08ACDD8C: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(12))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(12))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 14u); aot_gpr_4 = (aot_gpr_4 ^ 6u); @@ -5947,18 +5948,18 @@ L_08ACDD8C: goto L_08ACDDAC; } L_08ACDDAC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(92))); aot_gpr_4 = (aot_gpr_4 + static_cast(216)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); jump_target = ctx.gpr[6]; aot_gpr_31 = (0x08ACDDC4u); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_5); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_5); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACDDC4u) goto L_08ACDDC4; AOT_REGCACHE_SYNC_OUT(); return; L_08ACDDC4: - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(12))); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(12))); ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(2228))); ctx.gpr[7] = (0u | 58u); { const bool branch_taken = ctx.gpr[6] == ctx.gpr[7]; @@ -5991,23 +5992,23 @@ L_08ACDDF0: goto L_08ACDDF8; } L_08ACDDF8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(92))); aot_gpr_4 = (aot_gpr_4 + static_cast(216)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); jump_target = ctx.gpr[6]; aot_gpr_31 = (0x08ACDE10u); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_5); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_5); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACDE10u) goto L_08ACDE10; AOT_REGCACHE_SYNC_OUT(); return; L_08ACDE10: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(36))); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(36))); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_4 = (aot_gpr_4 + static_cast(40)); ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - aot_gpr_4 = (ctx.gpr[2] + ctx.gpr[6]); + aot_gpr_4 = (aot_gpr_2 + ctx.gpr[6]); ctx.gpr[6] = (0u | 0u); jump_target = ctx.gpr[8]; aot_gpr_31 = (0x08ACDE34u); @@ -6016,17 +6017,17 @@ L_08ACDE10: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACDE34u) goto L_08ACDE34; AOT_REGCACHE_SYNC_OUT(); return; L_08ACDE34: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1929)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(1929)))))); aot_gpr_5 = (aot_gpr_4 << 5u); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); aot_gpr_31 = (0x08ACDE50u); aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0143_entry, 143u, 378u, 0x08A420BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACDE50u) goto L_08ACDE50; AOT_REGCACHE_SYNC_OUT(); return; L_08ACDE50: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08ACDE64; @@ -6034,7 +6035,7 @@ L_08ACDE50: goto L_08ACDE58; } L_08ACDE58: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08ACDE64u); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0039_entry, 39u, 377u, 0x088A1AF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACDE64u) goto L_08ACDE64; @@ -6048,7 +6049,7 @@ L_08ACDE64: goto L_08ACDE6C; } L_08ACDE6C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2192))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2192))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -6057,20 +6058,20 @@ L_08ACDE6C: goto L_08ACDE78; } L_08ACDE78: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2192))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2192))); aot_gpr_31 = (0x08ACDE84u); - aot_gpr_5 = (aot_gpr_16 + static_cast(2192)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACDE84u) goto L_08ACDE84; + aot_gpr_5 = (ctx.gpr[16] + static_cast(2192)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A93004, 163u, 430u, 0x08A93004u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACDE84u) goto L_08ACDE84; AOT_REGCACHE_SYNC_OUT(); return; L_08ACDE84: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08ACDE90u); aot_gpr_5 = (aot_gpr_17 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 840u, 0x0890FC94u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACDE90u) goto L_08ACDE90; AOT_REGCACHE_SYNC_OUT(); return; L_08ACDE90: aot_fpr_12 = std::bit_cast(0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_12)}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_31 = (0x08ACDEACu); @@ -6078,7 +6079,7 @@ L_08ACDE90: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 34u, 0x08910218u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACDEACu) goto L_08ACDEAC; AOT_REGCACHE_SYNC_OUT(); return; L_08ACDEAC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2192))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2192))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -6087,10 +6088,10 @@ L_08ACDEAC: goto L_08ACDEB8; } L_08ACDEB8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2192))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2192))); aot_gpr_31 = (0x08ACDEC4u); - aot_gpr_5 = (aot_gpr_16 + static_cast(2192)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACDEC4u) goto L_08ACDEC4; + aot_gpr_5 = (ctx.gpr[16] + static_cast(2192)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACDEC4u) goto L_08ACDEC4; AOT_REGCACHE_SYNC_OUT(); return; L_08ACDEC4: { const bool branch_taken = 0u == 0u; @@ -6101,13 +6102,13 @@ L_08ACDEC4: goto L_08ACDECC; } L_08ACDECC: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08ACDED8u); aot_gpr_5 = (aot_gpr_17 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 840u, 0x0890FC94u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACDED8u) goto L_08ACDED8; AOT_REGCACHE_SYNC_OUT(); return; L_08ACDED8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2192))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2192))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -6116,10 +6117,10 @@ L_08ACDED8: goto L_08ACDEE4; } L_08ACDEE4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2192))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2192))); aot_gpr_31 = (0x08ACDEF0u); - aot_gpr_5 = (aot_gpr_16 + static_cast(2192)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACDEF0u) goto L_08ACDEF0; + aot_gpr_5 = (ctx.gpr[16] + static_cast(2192)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACDEF0u) goto L_08ACDEF0; AOT_REGCACHE_SYNC_OUT(); return; L_08ACDEF0: { const bool branch_taken = 0u == 0u; @@ -6130,13 +6131,13 @@ L_08ACDEF0: goto L_08ACDEF8; } L_08ACDEF8: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08ACDF04u); aot_gpr_5 = (aot_gpr_17 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 840u, 0x0890FC94u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACDF04u) goto L_08ACDF04; AOT_REGCACHE_SYNC_OUT(); return; L_08ACDF04: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2192))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2192))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -6145,20 +6146,20 @@ L_08ACDF04: goto L_08ACDF10; } L_08ACDF10: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2192))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2192))); aot_gpr_31 = (0x08ACDF1Cu); - aot_gpr_5 = (aot_gpr_16 + static_cast(2192)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACDF1Cu) goto L_08ACDF1C; + aot_gpr_5 = (ctx.gpr[16] + static_cast(2192)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACDF1Cu) goto L_08ACDF1C; AOT_REGCACHE_SYNC_OUT(); return; L_08ACDF1C: aot_gpr_31 = (0x08ACDF24u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 282u, 0x0890905Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACDF24u) goto L_08ACDF24; AOT_REGCACHE_SYNC_OUT(); return; L_08ACDF24: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2192))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2192))); aot_gpr_31 = (0x08ACDF30u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 319u, 0x08909270u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACDF30u) goto L_08ACDF30; AOT_REGCACHE_SYNC_OUT(); return; L_08ACDF30: @@ -6180,7 +6181,7 @@ L_08ACDF38: L_08ACDF40: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; @@ -6202,10 +6203,10 @@ L_08ACDF58: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(80), std::bit_cast(aot_fpr_20)); ctx.gpr[7] = (0u | 57u); aot_fpr_20 = std::bit_cast(aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(84), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(84), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(96), aot_gpr_31); { const bool branch_taken = ctx.gpr[6] == ctx.gpr[7]; - aot_gpr_16 = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); if (branch_taken) { goto L_08ACDFB4; } @@ -6223,7 +6224,7 @@ L_08ACDF90: } L_08ACDFA0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(640))); - if (aot_gpr_4 == aot_gpr_16) { + if (aot_gpr_4 == ctx.gpr[16]) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(640))); goto L_08ACDFBC; } @@ -6254,7 +6255,7 @@ L_08ACDFBC: } L_08ACDFC4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(2196))); - { const bool branch_taken = aot_gpr_4 == aot_gpr_16; + { const bool branch_taken = aot_gpr_4 == ctx.gpr[16]; // nop if (branch_taken) { goto L_08ACDFE0; @@ -6278,10 +6279,10 @@ L_08ACDFD8: goto L_08ACDFE0; } L_08ACDFE0: - aot_gpr_4 = (aot_gpr_16 + static_cast(-4)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(-4)); aot_gpr_4 = (aot_gpr_4 < static_cast(46) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_4 = (aot_gpr_16 + static_cast(-4)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(-4)); if (branch_taken) { goto L_08ACE070; } @@ -6305,7 +6306,7 @@ L_08ACE008: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 456u, 0x08A93144u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACE014u) goto L_08ACE014; AOT_REGCACHE_SYNC_OUT(); return; L_08ACE014: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08ACE034; @@ -6358,7 +6359,7 @@ L_08ACE04C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 456u, 0x08A93144u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACE058u) goto L_08ACE058; AOT_REGCACHE_SYNC_OUT(); return; L_08ACE058: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08ACE068; @@ -6397,10 +6398,10 @@ L_08ACE084: aot_gpr_5 = (0u + static_cast(-129)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(460), aot_gpr_4); - aot_gpr_4 = (aot_gpr_16 + static_cast(-4)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(-4)); aot_gpr_4 = (aot_gpr_4 < static_cast(50) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_4 = (aot_gpr_16 + static_cast(-4)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(-4)); if (branch_taken) { goto L_08ACE3C8; } @@ -6423,7 +6424,7 @@ L_08ACE0BC: aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(456), aot_gpr_4); aot_gpr_31 = (0x08ACE0D0u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACE0D0u) goto L_08ACE0D0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890FF64, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACE0D0u) goto L_08ACE0D0; AOT_REGCACHE_SYNC_OUT(); return; L_08ACE0D0: { const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); @@ -6544,7 +6545,7 @@ L_08ACE16C: aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(456), aot_gpr_4); aot_gpr_31 = (0x08ACE184u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACE184u) goto L_08ACE184; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890FF64, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACE184u) goto L_08ACE184; AOT_REGCACHE_SYNC_OUT(); return; L_08ACE184: { const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); @@ -6589,7 +6590,7 @@ L_08ACE1B8: AOT_REGCACHE_SYNC_OUT(); return; L_08ACE1C0: aot_gpr_4 = (0u | 39u); - { const bool branch_taken = aot_gpr_16 != aot_gpr_4; + { const bool branch_taken = ctx.gpr[16] != aot_gpr_4; // nop if (branch_taken) { goto L_08ACE1E8; @@ -6610,7 +6611,7 @@ L_08ACE1DC: goto L_08ACE1E8; L_08ACE1E8: aot_gpr_4 = (0u | 40u); - { const bool branch_taken = aot_gpr_16 != aot_gpr_4; + { const bool branch_taken = ctx.gpr[16] != aot_gpr_4; // nop if (branch_taken) { goto L_08ACE210; @@ -6631,7 +6632,7 @@ L_08ACE204: goto L_08ACE210; L_08ACE210: aot_gpr_4 = (0u | 43u); - { const bool branch_taken = aot_gpr_16 != aot_gpr_4; + { const bool branch_taken = ctx.gpr[16] != aot_gpr_4; // nop if (branch_taken) { goto L_08ACE238; @@ -6652,7 +6653,7 @@ L_08ACE22C: goto L_08ACE238; L_08ACE238: aot_gpr_4 = (0u | 44u); - { const bool branch_taken = aot_gpr_16 != aot_gpr_4; + { const bool branch_taken = ctx.gpr[16] != aot_gpr_4; // nop if (branch_taken) { goto L_08ACE260; @@ -6673,7 +6674,7 @@ L_08ACE254: goto L_08ACE260; L_08ACE260: aot_gpr_4 = (0u | 45u); - { const bool branch_taken = aot_gpr_16 != aot_gpr_4; + { const bool branch_taken = ctx.gpr[16] != aot_gpr_4; // nop if (branch_taken) { goto L_08ACE294; @@ -6697,7 +6698,7 @@ L_08ACE288: goto L_08ACE294; L_08ACE294: aot_gpr_4 = (0u | 53u); - { const bool branch_taken = aot_gpr_16 != aot_gpr_4; + { const bool branch_taken = ctx.gpr[16] != aot_gpr_4; // nop if (branch_taken) { goto L_08ACE2C8; @@ -6792,7 +6793,7 @@ L_08ACE2C8: } L_08ACE334: aot_gpr_4 = (0u | 39u); - { const bool branch_taken = aot_gpr_16 == aot_gpr_4; + { const bool branch_taken = ctx.gpr[16] == aot_gpr_4; aot_gpr_4 = (0u | 40u); if (branch_taken) { goto L_08ACE368; @@ -6800,7 +6801,7 @@ L_08ACE334: goto L_08ACE340; } L_08ACE340: - { const bool branch_taken = aot_gpr_16 == aot_gpr_4; + { const bool branch_taken = ctx.gpr[16] == aot_gpr_4; aot_gpr_4 = (0u | 43u); if (branch_taken) { goto L_08ACE368; @@ -6808,7 +6809,7 @@ L_08ACE340: goto L_08ACE348; } L_08ACE348: - { const bool branch_taken = aot_gpr_16 == aot_gpr_4; + { const bool branch_taken = ctx.gpr[16] == aot_gpr_4; aot_gpr_4 = (0u | 44u); if (branch_taken) { goto L_08ACE368; @@ -6816,7 +6817,7 @@ L_08ACE348: goto L_08ACE350; } L_08ACE350: - { const bool branch_taken = aot_gpr_16 == aot_gpr_4; + { const bool branch_taken = ctx.gpr[16] == aot_gpr_4; aot_gpr_4 = (0u | 45u); if (branch_taken) { goto L_08ACE368; @@ -6824,7 +6825,7 @@ L_08ACE350: goto L_08ACE358; } L_08ACE358: - { const bool branch_taken = aot_gpr_16 == aot_gpr_4; + { const bool branch_taken = ctx.gpr[16] == aot_gpr_4; aot_gpr_4 = (0u | 53u); if (branch_taken) { goto L_08ACE368; @@ -6832,7 +6833,7 @@ L_08ACE358: goto L_08ACE360; } L_08ACE360: - { const bool branch_taken = aot_gpr_16 != aot_gpr_4; + { const bool branch_taken = ctx.gpr[16] != aot_gpr_4; // nop if (branch_taken) { goto L_08ACE39C; @@ -6897,7 +6898,7 @@ L_08ACE3A4: aot_gpr_4 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08ACE3C0u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACE3C0u) goto L_08ACE3C0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACE3C0u) goto L_08ACE3C0; AOT_REGCACHE_SYNC_OUT(); return; L_08ACE3C0: { const bool branch_taken = 0u == 0u; @@ -6914,7 +6915,7 @@ L_08ACE3C8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1076u, 0x08AC7EF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACE3D4u) goto L_08ACE3D4; AOT_REGCACHE_SYNC_OUT(); return; L_08ACE3D4: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08ACE3E4; @@ -6923,7 +6924,7 @@ L_08ACE3D4: } L_08ACE3DC: { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(640), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(640), ctx.gpr[16]); if (branch_taken) { goto L_08ACE3FC; } @@ -6931,7 +6932,7 @@ L_08ACE3DC: } L_08ACE3E4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(2196))); - { const bool branch_taken = aot_gpr_4 == aot_gpr_16; + { const bool branch_taken = aot_gpr_4 == ctx.gpr[16]; // nop if (branch_taken) { goto L_08ACE3F8; @@ -6944,13 +6945,13 @@ L_08ACE3F0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1053u, 0x08AC7DFCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACE3F8u) goto L_08ACE3F8; AOT_REGCACHE_SYNC_OUT(); return; L_08ACE3F8: - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(2196), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(2196), ctx.gpr[16]); goto L_08ACE3FC; L_08ACE3FC: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(80), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); - aot_gpr_16 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[1]; aot_gpr_17 = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; @@ -6971,12 +6972,12 @@ L_08ACE418: aot_fpr_20 = std::bit_cast(std::bit_cast(aot_fpr_12)); ctx.gpr[7] = (0u | 57u); aot_gpr_17 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[19]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_31); { const bool branch_taken = ctx.gpr[6] == ctx.gpr[7]; - aot_gpr_16 = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); if (branch_taken) { goto L_08ACE478; } @@ -6994,7 +6995,7 @@ L_08ACE454: } L_08ACE464: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(640))); - if (aot_gpr_4 == aot_gpr_16) { + if (aot_gpr_4 == ctx.gpr[16]) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(640))); goto L_08ACE480; } @@ -7025,8 +7026,8 @@ L_08ACE480: } L_08ACE488: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(2196))); - ctx.gpr[19] = (aot_gpr_16 + static_cast(-4)); - { const bool branch_taken = aot_gpr_4 == aot_gpr_16; + ctx.gpr[19] = (ctx.gpr[16] + static_cast(-4)); + { const bool branch_taken = aot_gpr_4 == ctx.gpr[16]; ctx.gpr[18] = (ctx.gpr[19] < static_cast(46) ? 1u : 0u); if (branch_taken) { goto L_08ACE4A8; @@ -7075,7 +7076,7 @@ L_08ACE4C8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 456u, 0x08A93144u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACE4D4u) goto L_08ACE4D4; AOT_REGCACHE_SYNC_OUT(); return; L_08ACE4D4: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08ACE4F0; @@ -7139,7 +7140,7 @@ L_08ACE520: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 456u, 0x08A93144u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACE52Cu) goto L_08ACE52C; AOT_REGCACHE_SYNC_OUT(); return; L_08ACE52C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08ACE548; @@ -7195,7 +7196,7 @@ L_08ACE56C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1076u, 0x08AC7EF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACE588u) goto L_08ACE588; AOT_REGCACHE_SYNC_OUT(); return; L_08ACE588: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08ACE598; @@ -7204,7 +7205,7 @@ L_08ACE588: } L_08ACE590: { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(640), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(640), ctx.gpr[16]); if (branch_taken) { goto L_08ACE5B0; } @@ -7212,7 +7213,7 @@ L_08ACE590: } L_08ACE598: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(2196))); - { const bool branch_taken = aot_gpr_4 == aot_gpr_16; + { const bool branch_taken = aot_gpr_4 == ctx.gpr[16]; // nop if (branch_taken) { goto L_08ACE5AC; @@ -7225,7 +7226,7 @@ L_08ACE5A4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1053u, 0x08AC7DFCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACE5ACu) goto L_08ACE5AC; AOT_REGCACHE_SYNC_OUT(); return; L_08ACE5AC: - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(2196), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(2196), ctx.gpr[16]); goto L_08ACE5B0; L_08ACE5B0: { const bool branch_taken = ctx.gpr[18] == 0u; @@ -7249,7 +7250,7 @@ L_08ACE5B8: L_08ACE5D0: aot_gpr_31 = (0x08ACE5D8u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACE5D8u) goto L_08ACE5D8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890FF64, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACE5D8u) goto L_08ACE5D8; AOT_REGCACHE_SYNC_OUT(); return; L_08ACE5D8: { const std::uint32_t vfpu_address = ctx.gpr[20] + static_cast(0); @@ -7324,7 +7325,7 @@ L_08ACE634: { std::uint32_t aot_run_words[7]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(4), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); - aot_gpr_16 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[1]; aot_gpr_17 = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; ctx.gpr[19] = aot_run_words[4]; @@ -7367,9 +7368,9 @@ L_08ACE68C: AOT_REGCACHE_SYNC_OUT(); return; L_08ACE694: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19]}; + { const std::uint32_t aot_run_words[4]{ctx.gpr[16], aot_gpr_17, ctx.gpr[18], ctx.gpr[19]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(8), aot_run_words); } - aot_gpr_16 = (ctx.gpr[8] & 255u); + ctx.gpr[16] = (ctx.gpr[8] & 255u); aot_gpr_17 = (ctx.gpr[6] | 0u); ctx.gpr[18] = (ctx.gpr[7] | 0u); ctx.gpr[19] = (0u | 0u); @@ -7422,12 +7423,12 @@ L_08ACE6F4: aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(0), aot_gpr_5); aot_gpr_31 = (0x08ACE714u); aot_gpr_4 = (aot_gpr_5 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACE714u) goto L_08ACE714; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACE714u) goto L_08ACE714; AOT_REGCACHE_SYNC_OUT(); return; L_08ACE714: - aot_gpr_5 = (aot_gpr_16 & 255u); + aot_gpr_5 = (ctx.gpr[16] & 255u); { const bool branch_taken = aot_gpr_5 != 0u; - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (branch_taken) { goto L_08ACE784; } @@ -7477,8 +7478,8 @@ L_08ACE728: aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(8), std::bit_cast(aot_fpr_12)); - ctx.gpr[2] = (0u | 1u); - aot_mem.aot_direct_store8(ctx.gpr[7] + static_cast(12), static_cast(ctx.gpr[2])); + aot_gpr_2 = (0u | 1u); + aot_mem.aot_direct_store8(ctx.gpr[7] + static_cast(12), static_cast(aot_gpr_2)); { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { @@ -7488,7 +7489,7 @@ L_08ACE728: } L_08ACE77C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08ACE7A4; } @@ -7515,7 +7516,7 @@ L_08ACE79C: L_08ACE7A4: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(8), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -7865,14 +7866,14 @@ L_08ACE9F8: } L_08ACEA08: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_08ACEA14; } goto L_08ACEA10; } L_08ACEA10: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_08ACEA14; L_08ACEA14: jump_target = aot_gpr_31; @@ -7883,10 +7884,10 @@ L_08ACEA14: AOT_REGCACHE_SYNC_OUT(); return; L_08ACEA1C: aot_gpr_29 = (aot_gpr_29 + static_cast(-688)); - { const std::uint32_t aot_run_words[6]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; + { const std::uint32_t aot_run_words[6]{ctx.gpr[16], aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(664), aot_run_words); } aot_gpr_17 = (0u | 0u); - aot_gpr_16 = (0u | 1u); + ctx.gpr[16] = (0u | 1u); aot_gpr_4 = (static_cast(aot_gpr_17) < 100 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-760), static_cast(0u)); @@ -7927,7 +7928,7 @@ L_08ACEA84: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 561u, 0x08906858u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACEA8Cu) goto L_08ACEA8C; AOT_REGCACHE_SYNC_OUT(); return; L_08ACEA8C: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08ACEA98; @@ -8096,7 +8097,7 @@ L_08ACEB88: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_08ACEBAC; } @@ -8111,13 +8112,13 @@ L_08ACEBA4: goto L_08ACEBAC; } L_08ACEBAC: - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(8072), static_cast(ctx.gpr[2])); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(8422), static_cast(ctx.gpr[2])); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(8423), static_cast(ctx.gpr[2])); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(8072), static_cast(aot_gpr_2)); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(8422), static_cast(aot_gpr_2)); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(8423), static_cast(aot_gpr_2)); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); aot_gpr_4 = (aot_gpr_29 + static_cast(80)); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8068), aot_gpr_5); - { const std::uint32_t aot_run_words[4]{ctx.gpr[2], 0u, 0u, ctx.gpr[2]}; + { const std::uint32_t aot_run_words[4]{aot_gpr_2, 0u, 0u, aot_gpr_2}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_5 = (aot_gpr_29 + static_cast(96)); ctx.gpr[6] = (aot_gpr_29 + static_cast(32)); @@ -8131,7 +8132,7 @@ L_08ACEBAC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0036_entry, 36u, 698u, 0x0889786Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACEBF8u) goto L_08ACEBF8; AOT_REGCACHE_SYNC_OUT(); return; L_08ACEBF8: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08ACF7BC; @@ -8195,7 +8196,7 @@ L_08ACEC68: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 620u, 0x08906DE4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACEC70u) goto L_08ACEC70; AOT_REGCACHE_SYNC_OUT(); return; L_08ACEC70: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08ACED08; @@ -8218,7 +8219,7 @@ L_08ACEC88: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 327u, 0x08911284u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACEC90u) goto L_08ACEC90; AOT_REGCACHE_SYNC_OUT(); return; L_08ACEC90: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08ACED08; @@ -8252,7 +8253,7 @@ L_08ACECB8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 600u, 0x0893E5E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACECC4u) goto L_08ACECC4; AOT_REGCACHE_SYNC_OUT(); return; L_08ACECC4: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08ACED08; @@ -8284,9 +8285,9 @@ L_08ACECE4: L_08ACECF4: aot_fpr_12 = std::bit_cast(0u); aot_gpr_4 = (16640u << 16u); - aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(16), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(aot_gpr_2 + static_cast(16), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(36), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(aot_gpr_2 + static_cast(36), std::bit_cast(aot_fpr_12)); goto L_08ACED08; L_08ACED08: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(32))); @@ -8338,7 +8339,7 @@ L_08ACED58: aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(63))); aot_gpr_4 = (ctx.gpr[19] | 0u); - ctx.gpr[8] = (ctx.gpr[2] | 0u); + ctx.gpr[8] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08ACED80u); ctx.gpr[9] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0057_entry, 57u, 692u, 0x088EB674u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACED80u) goto L_08ACED80; @@ -8471,7 +8472,7 @@ L_08ACEE00: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 50u, 0x08AD0530u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACEE64u) goto L_08ACEE64; AOT_REGCACHE_SYNC_OUT(); return; L_08ACEE64: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08ACEEF4; @@ -8562,7 +8563,7 @@ L_08ACEF04: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 211u, 0x0886D4F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACEF10u) goto L_08ACEF10; AOT_REGCACHE_SYNC_OUT(); return; L_08ACEF10: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08ACEF50; @@ -8595,7 +8596,7 @@ L_08ACEF30: AOT_REGCACHE_SYNC_OUT(); return; L_08ACEF48: { const bool branch_taken = 0u == 0u; - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); if (branch_taken) { goto L_08ACEF84; } @@ -8626,7 +8627,7 @@ L_08ACEF68: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 650u, 0x0893EA14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACEF80u) goto L_08ACEF80; AOT_REGCACHE_SYNC_OUT(); return; L_08ACEF80: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); goto L_08ACEF84; L_08ACEF84: { const bool branch_taken = ctx.gpr[19] == 0u; @@ -8730,19 +8731,19 @@ L_08ACF02C: L_08ACF040: aot_gpr_31 = (0x08ACF048u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACF048u) goto L_08ACF048; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACF048u) goto L_08ACF048; AOT_REGCACHE_SYNC_OUT(); return; L_08ACF048: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-692))); ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-696))); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08ACF05Cu); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACF05Cu) goto L_08ACF05C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACF05Cu) goto L_08ACF05C; AOT_REGCACHE_SYNC_OUT(); return; L_08ACF05C: ctx.gpr[1] = (ctx.gpr[3] << 1u); - aot_gpr_4 = (ctx.gpr[2] >> 31u); + aot_gpr_4 = (aot_gpr_2 >> 31u); aot_gpr_5 = (static_cast(static_cast(ctx.gpr[3]) >> 31u)); aot_gpr_4 = (ctx.gpr[1] | aot_gpr_4); aot_gpr_4 = (aot_gpr_4 | 0u); @@ -9328,7 +9329,7 @@ L_08ACF52C: goto L_08ACF538; } L_08ACF538: - { const bool branch_taken = aot_gpr_16 != aot_gpr_4; + { const bool branch_taken = ctx.gpr[16] != aot_gpr_4; // nop if (branch_taken) { goto L_08ACF564; @@ -9382,7 +9383,7 @@ L_08ACF584: aot_gpr_4 = (0u | 1u); goto L_08ACF588; L_08ACF588: - { const bool branch_taken = aot_gpr_16 != aot_gpr_4; + { const bool branch_taken = ctx.gpr[16] != aot_gpr_4; // nop if (branch_taken) { goto L_08ACF790; @@ -9402,7 +9403,7 @@ L_08ACF598: ctx.gpr[6] = (aot_gpr_5 + static_cast(-1)); ctx.gpr[6] = (ctx.gpr[6] < static_cast(6) ? 1u : 0u); { const bool branch_taken = ctx.gpr[6] == 0u; - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (branch_taken) { goto L_08ACF790; } @@ -9449,7 +9450,7 @@ L_08ACF5E0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0018_entry, 18u, 70u, 0x0884C700u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACF5ECu) goto L_08ACF5EC; AOT_REGCACHE_SYNC_OUT(); return; L_08ACF5EC: - ctx.gpr[20] = (ctx.gpr[2] | 0u); + ctx.gpr[20] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[20] == 0u; // nop if (branch_taken) { @@ -9592,7 +9593,7 @@ L_08ACF6E0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0018_entry, 18u, 70u, 0x0884C700u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACF6ECu) goto L_08ACF6EC; AOT_REGCACHE_SYNC_OUT(); return; L_08ACF6EC: - ctx.gpr[20] = (ctx.gpr[2] | 0u); + ctx.gpr[20] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[20] == 0u; // nop if (branch_taken) { @@ -9649,7 +9650,7 @@ L_08ACF73C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0018_entry, 18u, 70u, 0x0884C700u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACF748u) goto L_08ACF748; AOT_REGCACHE_SYNC_OUT(); return; L_08ACF748: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[19] == 0u; // nop if (branch_taken) { @@ -9799,7 +9800,7 @@ L_08ACF82C: L_08ACF83C: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(664), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -9872,23 +9873,23 @@ L_08ACF85C: AOT_REGCACHE_SYNC_OUT(); return; L_08ACF884: jump_target = aot_gpr_31; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08ACF88C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08ACF8A8u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(20))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 226u, 0x08968F88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACF8A8u) goto L_08ACF8A8; AOT_REGCACHE_SYNC_OUT(); return; L_08ACF8A8: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08ACF8DC; @@ -9897,11 +9898,11 @@ L_08ACF8A8: } L_08ACF8B0: aot_gpr_31 = (0x08ACF8B8u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 287u, 0x0896950Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACF8B8u) goto L_08ACF8B8; AOT_REGCACHE_SYNC_OUT(); return; L_08ACF8B8: - aot_gpr_17 = (ctx.gpr[2] | 0u); + aot_gpr_17 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_17 == 0u; // nop if (branch_taken) { @@ -9927,10 +9928,10 @@ L_08ACF8D8: aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(8), 0u); goto L_08ACF8DC; L_08ACF8DC: - ctx.gpr[2] = (aot_gpr_16 | 0u); + aot_gpr_2 = (ctx.gpr[16] | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -9975,7 +9976,7 @@ L_08ACF91C: AOT_REGCACHE_SYNC_OUT(); return; L_08ACF934: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08ACF9B0; } @@ -9983,7 +9984,7 @@ L_08ACF934: } L_08ACF93C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08ACF9B0; } @@ -10069,14 +10070,14 @@ L_08ACF99C: } L_08ACF9A4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_08ACF9B0; } goto L_08ACF9AC; } L_08ACF9AC: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_08ACF9B0; L_08ACF9B0: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -10090,10 +10091,10 @@ L_08ACF9BC: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); aot_gpr_17 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_16 = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); if (branch_taken) { goto L_08ACFA4C; } @@ -10107,7 +10108,7 @@ L_08ACF9D8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0005_entry, 5u, 69u, 0x088188D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACF9E8u) goto L_08ACF9E8; AOT_REGCACHE_SYNC_OUT(); return; L_08ACF9E8: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08ACF9F4u); aot_gpr_5 = (aot_gpr_17 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0005_entry, 5u, 92u, 0x08818AA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACF9F4u) goto L_08ACF9F4; @@ -10123,7 +10124,7 @@ L_08ACF9FC: AOT_REGCACHE_SYNC_OUT(); return; L_08ACFA04: { const bool branch_taken = aot_gpr_17 == 0u; - aot_gpr_4 = (aot_gpr_16 & 1u); + aot_gpr_4 = (ctx.gpr[16] & 1u); if (branch_taken) { goto L_08ACFA3C; } @@ -10131,7 +10132,7 @@ L_08ACFA04: } L_08ACFA0C: { const bool branch_taken = aot_gpr_17 == 0u; - aot_gpr_4 = (aot_gpr_16 & 1u); + aot_gpr_4 = (ctx.gpr[16] & 1u); if (branch_taken) { goto L_08ACFA3C; } @@ -10141,7 +10142,7 @@ L_08ACFA14: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_4 = (aot_gpr_16 & 1u); + aot_gpr_4 = (ctx.gpr[16] & 1u); if (branch_taken) { goto L_08ACFA3C; } @@ -10150,7 +10151,7 @@ L_08ACFA14: L_08ACFA24: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(64))); if (aot_gpr_4 == 0u) { - aot_gpr_4 = (aot_gpr_16 & 1u); + aot_gpr_4 = (ctx.gpr[16] & 1u); goto L_08ACFA3C; } goto L_08ACFA30; @@ -10160,7 +10161,7 @@ L_08ACFA30: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 129u, 0x089D89E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACFA38u) goto L_08ACFA38; AOT_REGCACHE_SYNC_OUT(); return; L_08ACFA38: - aot_gpr_4 = (aot_gpr_16 & 1u); + aot_gpr_4 = (ctx.gpr[16] & 1u); goto L_08ACFA3C; L_08ACFA3C: { const bool branch_taken = aot_gpr_4 == 0u; @@ -10173,12 +10174,12 @@ L_08ACFA3C: L_08ACFA44: aot_gpr_31 = (0x08ACFA4Cu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACFA4Cu) goto L_08ACFA4C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACFA4Cu) goto L_08ACFA4C; AOT_REGCACHE_SYNC_OUT(); return; L_08ACFA4C: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -10190,30 +10191,30 @@ L_08ACFA4C: AOT_REGCACHE_SYNC_OUT(); return; L_08ACFA60: jump_target = aot_gpr_31; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08ACFA68: jump_target = aot_gpr_31; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08ACFA70: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(86), static_cast(aot_gpr_5)); - aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(88), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store16(ctx.gpr[16] + static_cast(86), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store16(ctx.gpr[16] + static_cast(88), static_cast(aot_gpr_5)); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(104))); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); + ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(86)))))); ctx.gpr[7] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(22))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); { const bool branch_taken = ctx.gpr[6] == ctx.gpr[7]; - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(76))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(76))); if (branch_taken) { goto L_08ACFB20; } @@ -10334,7 +10335,7 @@ L_08ACFB28: aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); aot_gpr_5 = (aot_gpr_4 & 32768u); { const bool branch_taken = aot_gpr_5 == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(76), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(76), aot_gpr_4); if (branch_taken) { goto L_08ACFB50; } @@ -10342,33 +10343,33 @@ L_08ACFB28: } L_08ACFB48: aot_gpr_4 = (aot_gpr_4 | 16u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(76), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(76), aot_gpr_4); goto L_08ACFB50; L_08ACFB50: aot_gpr_31 = (0x08ACFB58u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 79u, 0x08AD06F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACFB58u) goto L_08ACFB58; AOT_REGCACHE_SYNC_OUT(); return; L_08ACFB58: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(76))); - aot_gpr_5 = (ctx.gpr[2] & 1u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(76))); + aot_gpr_5 = (aot_gpr_2 & 1u); ctx.gpr[6] = (0u + static_cast(-16385)); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[6]); aot_gpr_5 = (aot_gpr_5 << 14u); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(76), aot_gpr_4); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(92))); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(76), aot_gpr_4); aot_gpr_4 = (aot_gpr_5 + static_cast(64)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); jump_target = ctx.gpr[6]; aot_gpr_31 = (0x08ACFB8Cu); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_5); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_5); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACFB8Cu) goto L_08ACFB8C; AOT_REGCACHE_SYNC_OUT(); return; L_08ACFB8C: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -10378,16 +10379,16 @@ L_08ACFB8C: AOT_REGCACHE_SYNC_OUT(); return; L_08ACFB9C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(86), static_cast(aot_gpr_5)); - aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(88), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store16(ctx.gpr[16] + static_cast(86), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store16(ctx.gpr[16] + static_cast(88), static_cast(aot_gpr_5)); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(104))); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); + ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(86)))))); ctx.gpr[7] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(22))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); { const bool branch_taken = ctx.gpr[6] == ctx.gpr[7]; - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(76))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(76))); if (branch_taken) { goto L_08ACFC4C; } @@ -10508,7 +10509,7 @@ L_08ACFC54: aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); aot_gpr_5 = (aot_gpr_4 & 32768u); { const bool branch_taken = aot_gpr_5 == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(76), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(76), aot_gpr_4); if (branch_taken) { goto L_08ACFC7C; } @@ -10516,22 +10517,22 @@ L_08ACFC54: } L_08ACFC74: aot_gpr_4 = (aot_gpr_4 | 16u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(76), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(76), aot_gpr_4); goto L_08ACFC7C; L_08ACFC7C: aot_gpr_31 = (0x08ACFC84u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 79u, 0x08AD06F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACFC84u) goto L_08ACFC84; AOT_REGCACHE_SYNC_OUT(); return; L_08ACFC84: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(76))); - aot_gpr_5 = (ctx.gpr[2] & 1u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(76))); + aot_gpr_5 = (aot_gpr_2 & 1u); ctx.gpr[6] = (0u + static_cast(-16385)); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[6]); aot_gpr_5 = (aot_gpr_5 << 14u); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(76), aot_gpr_4); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(76), aot_gpr_4); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -10541,16 +10542,16 @@ L_08ACFC84: AOT_REGCACHE_SYNC_OUT(); return; L_08ACFCB0: jump_target = aot_gpr_31; - ctx.gpr[2] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(88)))))); + aot_gpr_2 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(88)))))); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08ACFCB8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(86)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); aot_gpr_5 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_5) ? 1u : 0u); @@ -10581,16 +10582,16 @@ L_08ACFCF4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACFD0Cu) goto L_08ACFD0C; AOT_REGCACHE_SYNC_OUT(); return; L_08ACFD0C: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[18] == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(80), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(80), aot_gpr_2); if (branch_taken) { goto L_08ACFD3C; } goto L_08ACFD18; } L_08ACFD18: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 14u); aot_gpr_4 = (aot_gpr_4 ^ 2u); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); @@ -10622,7 +10623,7 @@ L_08ACFD44: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-680))); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-680), aot_gpr_4); - ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); + ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(80))); goto L_08ACFD54; L_08ACFD54: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(0))); @@ -10636,9 +10637,9 @@ L_08ACFD54: } L_08ACFD64: ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(64))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(64))); { const bool branch_taken = aot_gpr_5 == 0u; - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(72))); if (branch_taken) { goto L_08ACFD8C; } @@ -10657,18 +10658,18 @@ L_08ACFD80: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 129u, 0x089D89E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACFD88u) goto L_08ACFD88; AOT_REGCACHE_SYNC_OUT(); return; L_08ACFD88: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(72))); goto L_08ACFD8C; L_08ACFD8C: aot_gpr_5 = (ctx.gpr[18] + static_cast(16)); goto L_08ACFD90; L_08ACFD90: ctx.gpr[6] = (0u + static_cast(-2)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(64), aot_gpr_5); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[6]); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(72), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(72), aot_gpr_4); aot_gpr_31 = (0x08ACFDA8u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 936u, 0x0885FF14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACFDA8u) goto L_08ACFDA8; AOT_REGCACHE_SYNC_OUT(); return; L_08ACFDA8: @@ -10691,9 +10692,9 @@ L_08ACFDB0: } L_08ACFDC0: ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(64))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(64))); { const bool branch_taken = aot_gpr_5 == 0u; - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(72))); if (branch_taken) { goto L_08ACFDE8; } @@ -10712,22 +10713,22 @@ L_08ACFDDC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 129u, 0x089D89E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACFDE4u) goto L_08ACFDE4; AOT_REGCACHE_SYNC_OUT(); return; L_08ACFDE4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(72))); goto L_08ACFDE8; L_08ACFDE8: aot_gpr_5 = (ctx.gpr[18] + static_cast(16)); goto L_08ACFDEC; L_08ACFDEC: ctx.gpr[6] = (0u + static_cast(-2)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(64), aot_gpr_5); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[6]); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(72), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(72), aot_gpr_4); aot_gpr_31 = (0x08ACFE04u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 936u, 0x0885FF14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACFE04u) goto L_08ACFE04; AOT_REGCACHE_SYNC_OUT(); return; L_08ACFE04: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(86)))))); aot_gpr_31 = (0x08ACFE10u); aot_gpr_5 = (aot_gpr_17 | 0u); goto L_08ACF884; @@ -10739,7 +10740,7 @@ L_08ACFE10: L_08ACFE18: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; @@ -10755,10 +10756,10 @@ L_08ACFE30: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(80), aot_gpr_5); aot_gpr_17 = (aot_gpr_5 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); { const bool branch_taken = aot_gpr_17 == 0u; - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08ACFE68; } @@ -10792,9 +10793,9 @@ L_08ACFE68: } L_08ACFE70: aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(64))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(64))); { const bool branch_taken = aot_gpr_5 == 0u; - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(72))); if (branch_taken) { goto L_08ACFE98; } @@ -10813,18 +10814,18 @@ L_08ACFE8C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 129u, 0x089D89E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACFE94u) goto L_08ACFE94; AOT_REGCACHE_SYNC_OUT(); return; L_08ACFE94: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(72))); goto L_08ACFE98; L_08ACFE98: aot_gpr_5 = (aot_gpr_17 + static_cast(16)); goto L_08ACFE9C; L_08ACFE9C: ctx.gpr[6] = (0u + static_cast(-2)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(64), aot_gpr_5); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[6]); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(72), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(72), aot_gpr_4); aot_gpr_31 = (0x08ACFEB4u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 939u, 0x0885FF48u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACFEB4u) goto L_08ACFEB4; AOT_REGCACHE_SYNC_OUT(); return; L_08ACFEB4: @@ -10847,9 +10848,9 @@ L_08ACFEBC: } L_08ACFECC: aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(64))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(64))); { const bool branch_taken = aot_gpr_5 == 0u; - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(72))); if (branch_taken) { goto L_08ACFEF4; } @@ -10868,26 +10869,26 @@ L_08ACFEE8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 129u, 0x089D89E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACFEF0u) goto L_08ACFEF0; AOT_REGCACHE_SYNC_OUT(); return; L_08ACFEF0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(72))); goto L_08ACFEF4; L_08ACFEF4: aot_gpr_5 = (aot_gpr_17 + static_cast(16)); goto L_08ACFEF8; L_08ACFEF8: ctx.gpr[6] = (0u + static_cast(-2)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(64), aot_gpr_5); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[6]); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(72), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(72), aot_gpr_4); aot_gpr_31 = (0x08ACFF10u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 939u, 0x0885FF48u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACFF10u) goto L_08ACFF10; AOT_REGCACHE_SYNC_OUT(); return; L_08ACFF10: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(86)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); aot_gpr_5 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_5) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); if (branch_taken) { goto L_08ACFF34; } @@ -10897,17 +10898,17 @@ L_08ACFF24: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); goto L_08ACFF34; L_08ACFF34: aot_gpr_31 = (0x08ACFF3Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0054_entry, 54u, 458u, 0x088DF74Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACFF3Cu) goto L_08ACFF3C; AOT_REGCACHE_SYNC_OUT(); return; L_08ACFF3C: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; aot_gpr_17 = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -10920,17 +10921,17 @@ L_08ACFF3C: L_08ACFF50: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(80))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); { const bool branch_taken = aot_gpr_5 == 0u; - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08ACFF94; } goto L_08ACFF68; } L_08ACFF68: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(86)))))); ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); ctx.gpr[6] = (static_cast(aot_gpr_5) < static_cast(ctx.gpr[6]) ? 1u : 0u); { const bool branch_taken = ctx.gpr[6] == 0u; @@ -10952,8 +10953,8 @@ L_08ACFF8C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0054_entry, 54u, 460u, 0x088DF770u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACFF94u) goto L_08ACFF94; AOT_REGCACHE_SYNC_OUT(); return; L_08ACFF94: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(80), 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(64))); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(80), 0u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(64))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -10962,7 +10963,7 @@ L_08ACFF94: goto L_08ACFFA4; } L_08ACFFA4: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(72))); aot_gpr_5 = (aot_gpr_5 & 1u); { const bool branch_taken = aot_gpr_5 == 0u; // nop @@ -10977,8 +10978,8 @@ L_08ACFFB4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 129u, 0x089D89E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACFFBCu) goto L_08ACFFBC; AOT_REGCACHE_SYNC_OUT(); return; L_08ACFFBC: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), 0u); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(64), 0u); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -10988,9 +10989,9 @@ L_08ACFFBC: AOT_REGCACHE_SYNC_OUT(); return; L_08ACFFD0: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(64))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(64))); { const std::uint32_t aot_run_words[3]{aot_gpr_17, ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(4), aot_run_words); } { const bool branch_taken = aot_gpr_4 == 0u; @@ -11001,7 +11002,7 @@ L_08ACFFD0: goto L_08ACFFF4; } L_08ACFFF4: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(72))); aot_gpr_5 = (aot_gpr_5 & 1u); { const bool branch_taken = aot_gpr_5 == 0u; // nop diff --git a/profiles/vcs/generated/generated_unit_0179.cpp b/profiles/vcs/generated/generated_unit_0179.cpp index fe2eb46..899c15d 100644 --- a/profiles/vcs/generated/generated_unit_0179.cpp +++ b/profiles/vcs/generated/generated_unit_0179.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,10 +139,10 @@ static const std::uint16_t kEntryIds_recomp_unit_0179[4095] = { }; void recomp_unit_0179_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,29,5,31,16,6 fprs=12,13,14,20 gpr_occ=4381 fpr_occ=704 gpr_total=5445 fpr_total=884 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,31,16,6 fprs=12,13,14,20 gpr_occ=4405 fpr_occ=704 gpr_total=5490 fpr_total=884 std::uint32_t aot_gpr_4 = ctx.gpr[4]; - std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; + std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; std::uint32_t aot_gpr_16 = ctx.gpr[16]; std::uint32_t aot_gpr_6 = ctx.gpr[6]; @@ -150,8 +151,8 @@ void recomp_unit_0179_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t dir float aot_fpr_14 = ctx.fpr[14]; float aot_fpr_20 = ctx.fpr[20]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[29] = aot_gpr_29; ctx.gpr[5] = aot_gpr_5; ctx.gpr[31] = aot_gpr_31; ctx.gpr[16] = aot_gpr_16; ctx.gpr[6] = aot_gpr_6; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[20] = aot_fpr_20; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_6 = ctx.gpr[6]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_20 = ctx.fpr[20]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[31] = aot_gpr_31; ctx.gpr[16] = aot_gpr_16; ctx.gpr[6] = aot_gpr_6; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[20] = aot_fpr_20; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_6 = ctx.gpr[6]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_20 = ctx.fpr[20]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -5016,7 +5017,7 @@ L_08AD1BA0: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(76), aot_gpr_4); aot_gpr_31 = (0x08AD1EDCu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AD1EDCu) goto L_08AD1EDC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AD1EDCu) goto L_08AD1EDC; AOT_REGCACHE_SYNC_OUT(); return; L_08AD1EDC: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -5355,7 +5356,7 @@ L_08AD2130: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_31 = (0x08AD2148u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AD2148u) goto L_08AD2148; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AD2148u) goto L_08AD2148; AOT_REGCACHE_SYNC_OUT(); return; L_08AD2148: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -8836,7 +8837,7 @@ L_08AD3B78: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); aot_gpr_31 = (0x08AD3B88u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AD3B88u) goto L_08AD3B88; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AD3B88u) goto L_08AD3B88; AOT_REGCACHE_SYNC_OUT(); return; L_08AD3B88: aot_gpr_4 = (ctx.gpr[2] | 0u); @@ -9012,7 +9013,7 @@ L_08AD3CF8: aot_gpr_4 = (2236u << 16u); aot_gpr_31 = (0x08AD3D08u); aot_gpr_4 = (aot_gpr_4 + static_cast(31984)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AD3D08u) goto L_08AD3D08; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AD3D08u) goto L_08AD3D08; AOT_REGCACHE_SYNC_OUT(); return; L_08AD3D08: { const bool branch_taken = ctx.gpr[17] == 0u; @@ -9048,7 +9049,7 @@ L_08AD3D34: L_08AD3D3C: aot_gpr_31 = (0x08AD3D44u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AD3D44u) goto L_08AD3D44; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AD3D44u) goto L_08AD3D44; AOT_REGCACHE_SYNC_OUT(); return; L_08AD3D44: { std::uint32_t aot_run_words[3]{}; diff --git a/profiles/vcs/generated/generated_unit_0180.cpp b/profiles/vcs/generated/generated_unit_0180.cpp index 42c142a..942a316 100644 --- a/profiles/vcs/generated/generated_unit_0180.cpp +++ b/profiles/vcs/generated/generated_unit_0180.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,7 +139,7 @@ static const std::uint16_t kEntryIds_recomp_unit_0180[4095] = { }; void recomp_unit_0180_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,31,16,29,17 fprs=12,13,22,20 gpr_occ=4167 fpr_occ=38 gpr_total=6058 fpr_total=42 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,31,16,29,17 fprs=12,13,22,20 gpr_occ=4187 fpr_occ=38 gpr_total=6102 fpr_total=42 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; @@ -3410,7 +3411,7 @@ L_08AD4F84: L_08AD4F94: aot_gpr_31 = (0x08AD4F9Cu); aot_gpr_4 = (ctx.gpr[28] + static_cast(-660)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AD4F9Cu) goto L_08AD4F9C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AD4F9Cu) goto L_08AD4F9C; AOT_REGCACHE_SYNC_OUT(); return; L_08AD4F9C: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -8753,7 +8754,7 @@ L_08AD7604: L_08AD7610: aot_gpr_31 = (0x08AD7618u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AD7618u) goto L_08AD7618; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AD7618u) goto L_08AD7618; AOT_REGCACHE_SYNC_OUT(); return; L_08AD7618: { const bool branch_taken = ctx.gpr[2] != 0u; @@ -9284,7 +9285,7 @@ L_08AD79B8: L_08AD79CC: aot_gpr_31 = (0x08AD79D4u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AD79D4u) goto L_08AD79D4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AD79D4u) goto L_08AD79D4; AOT_REGCACHE_SYNC_OUT(); return; L_08AD79D4: aot_gpr_4 = (ctx.gpr[2] | 0u); @@ -9292,7 +9293,7 @@ L_08AD79D4: ctx.gpr[7] = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08AD79E8u); ctx.gpr[6] = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AD79E8u) goto L_08AD79E8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AD79E8u) goto L_08AD79E8; AOT_REGCACHE_SYNC_OUT(); return; L_08AD79E8: ctx.gpr[1] = (ctx.gpr[3] << 1u); @@ -9479,7 +9480,7 @@ L_08AD7B24: L_08AD7B30: aot_gpr_31 = (0x08AD7B38u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AD7B38u) goto L_08AD7B38; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AD7B38u) goto L_08AD7B38; AOT_REGCACHE_SYNC_OUT(); return; L_08AD7B38: aot_gpr_4 = (ctx.gpr[2] | 0u); @@ -9487,7 +9488,7 @@ L_08AD7B38: ctx.gpr[7] = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08AD7B4Cu); ctx.gpr[6] = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AD7B4Cu) goto L_08AD7B4C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AD7B4Cu) goto L_08AD7B4C; AOT_REGCACHE_SYNC_OUT(); return; L_08AD7B4C: ctx.gpr[1] = (ctx.gpr[3] << 1u); diff --git a/profiles/vcs/generated/generated_unit_0181.cpp b/profiles/vcs/generated/generated_unit_0181.cpp index f1fc04d..a6e8aec 100644 --- a/profiles/vcs/generated/generated_unit_0181.cpp +++ b/profiles/vcs/generated/generated_unit_0181.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,7 +139,7 @@ static const std::uint16_t kEntryIds_recomp_unit_0181[4095] = { }; void recomp_unit_0181_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,16,29,6,31 fprs=12,13,20,14 gpr_occ=4487 fpr_occ=182 gpr_total=6162 fpr_total=202 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,16,29,6,31 fprs=12,13,20,14 gpr_occ=4554 fpr_occ=182 gpr_total=6287 fpr_total=202 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_16 = ctx.gpr[16]; @@ -4560,7 +4561,7 @@ L_08AD96D4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08AD96E0u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AD96E0u) goto L_08AD96E0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AD96E0u) goto L_08AD96E0; AOT_REGCACHE_SYNC_OUT(); return; L_08AD96E0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); @@ -6165,7 +6166,7 @@ L_08ADA458: L_08ADA468: aot_gpr_31 = (0x08ADA470u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 454u, 0x08909B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ADA470u) goto L_08ADA470; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08909B60, 65u, 454u, 0x08909B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 454u, 0x08909B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ADA470u) goto L_08ADA470; AOT_REGCACHE_SYNC_OUT(); return; L_08ADA470: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(43)))))); @@ -7202,7 +7203,7 @@ L_08ADACC8: L_08ADACD8: aot_gpr_31 = (0x08ADACE0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ADACE0u) goto L_08ADACE0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ADACE0u) goto L_08ADACE0; AOT_REGCACHE_SYNC_OUT(); return; L_08ADACE0: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -7583,12 +7584,12 @@ L_08ADB0A8: L_08ADB0B4: aot_gpr_31 = (0x08ADB0BCu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ADB0BCu) goto L_08ADB0BC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2E4, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ADB0BCu) goto L_08ADB0BC; AOT_REGCACHE_SYNC_OUT(); return; L_08ADB0BC: aot_gpr_31 = (0x08ADB0C4u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ADB0C4u) goto L_08ADB0C4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ADB0C4u) goto L_08ADB0C4; AOT_REGCACHE_SYNC_OUT(); return; L_08ADB0C4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(100))); @@ -7638,7 +7639,7 @@ L_08ADB0FC: L_08ADB104: aot_gpr_31 = (0x08ADB10Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ADB10Cu) goto L_08ADB10C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ADB10Cu) goto L_08ADB10C; AOT_REGCACHE_SYNC_OUT(); return; L_08ADB10C: aot_gpr_4 = (aot_gpr_16 + static_cast(176)); @@ -7688,7 +7689,7 @@ L_08ADB138: L_08ADB140: aot_gpr_31 = (0x08ADB148u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ADB148u) goto L_08ADB148; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ADB148u) goto L_08ADB148; AOT_REGCACHE_SYNC_OUT(); return; L_08ADB148: { const bool branch_taken = ctx.gpr[18] == 0u; @@ -7754,7 +7755,7 @@ L_08ADB1A4: L_08ADB1B0: aot_gpr_31 = (0x08ADB1B8u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ADB1B8u) goto L_08ADB1B8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ADB1B8u) goto L_08ADB1B8; AOT_REGCACHE_SYNC_OUT(); return; L_08ADB1B8: { const bool branch_taken = ctx.gpr[19] == 0u; @@ -7820,7 +7821,7 @@ L_08ADB214: L_08ADB220: aot_gpr_31 = (0x08ADB228u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ADB228u) goto L_08ADB228; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ADB228u) goto L_08ADB228; AOT_REGCACHE_SYNC_OUT(); return; L_08ADB228: { const bool branch_taken = ctx.gpr[20] == 0u; @@ -7894,7 +7895,7 @@ L_08ADB28C: L_08ADB298: aot_gpr_31 = (0x08ADB2A0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ADB2A0u) goto L_08ADB2A0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ADB2A0u) goto L_08ADB2A0; AOT_REGCACHE_SYNC_OUT(); return; L_08ADB2A0: { const bool branch_taken = ctx.gpr[21] == 0u; @@ -7958,7 +7959,7 @@ L_08ADB2FC: L_08ADB308: aot_gpr_31 = (0x08ADB310u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ADB310u) goto L_08ADB310; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ADB310u) goto L_08ADB310; AOT_REGCACHE_SYNC_OUT(); return; L_08ADB310: aot_gpr_4 = (ctx.gpr[17] & 1u); @@ -7974,7 +7975,7 @@ L_08ADB314: L_08ADB31C: aot_gpr_31 = (0x08ADB324u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ADB324u) goto L_08ADB324; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ADB324u) goto L_08ADB324; AOT_REGCACHE_SYNC_OUT(); return; L_08ADB324: { std::uint32_t aot_run_words[7]{}; diff --git a/profiles/vcs/generated/generated_unit_0182.cpp b/profiles/vcs/generated/generated_unit_0182.cpp index cf29465..655b276 100644 --- a/profiles/vcs/generated/generated_unit_0182.cpp +++ b/profiles/vcs/generated/generated_unit_0182.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0182[4092] = { }; void recomp_unit_0182_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,6,31,16 fprs=12,13,14,16 gpr_occ=4727 fpr_occ=51 gpr_total=6295 fpr_total=54 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,31,6,16 fprs=12,13,14,16 gpr_occ=4855 fpr_occ=51 gpr_total=6526 fpr_total=54 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; - std::uint32_t aot_gpr_6 = ctx.gpr[6]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; + std::uint32_t aot_gpr_6 = ctx.gpr[6]; std::uint32_t aot_gpr_16 = ctx.gpr[16]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_14 = ctx.fpr[14]; float aot_fpr_16 = ctx.fpr[16]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[6] = aot_gpr_6; ctx.gpr[31] = aot_gpr_31; ctx.gpr[16] = aot_gpr_16; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[16] = aot_fpr_16; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_16 = ctx.gpr[16]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_16 = ctx.fpr[16]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[31] = aot_gpr_31; ctx.gpr[6] = aot_gpr_6; ctx.gpr[16] = aot_gpr_16; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[16] = aot_fpr_16; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_16 = ctx.gpr[16]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_16 = ctx.fpr[16]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -1446,7 +1447,7 @@ L_08ADC1C8: L_08ADC1D4: aot_gpr_31 = (0x08ADC1DCu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ADC1DCu) goto L_08ADC1DC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ADC1DCu) goto L_08ADC1DC; AOT_REGCACHE_SYNC_OUT(); return; L_08ADC1DC: aot_gpr_4 = (ctx.gpr[2] | 0u); @@ -1554,7 +1555,7 @@ L_08ADC280: L_08ADC28C: aot_gpr_31 = (0x08ADC294u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ADC294u) goto L_08ADC294; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ADC294u) goto L_08ADC294; AOT_REGCACHE_SYNC_OUT(); return; L_08ADC294: ctx.gpr[17] = (aot_gpr_16 | 0u); @@ -1590,7 +1591,7 @@ L_08ADC2C0: aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(4))); aot_gpr_31 = (0x08ADC2CCu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ADC2CCu) goto L_08ADC2CC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ADC2CCu) goto L_08ADC2CC; AOT_REGCACHE_SYNC_OUT(); return; L_08ADC2CC: aot_gpr_4 = (aot_gpr_29 | 0u); @@ -1645,7 +1646,7 @@ L_08ADC32C: aot_gpr_4 = (aot_gpr_4 + static_cast(25856)); aot_gpr_31 = (0x08ADC33Cu); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ADC33Cu) goto L_08ADC33C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ADC33Cu) goto L_08ADC33C; AOT_REGCACHE_SYNC_OUT(); return; L_08ADC33C: { const bool branch_taken = 0u == 0u; @@ -1678,7 +1679,7 @@ L_08ADC35C: L_08ADC368: aot_gpr_31 = (0x08ADC370u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ADC370u) goto L_08ADC370; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ADC370u) goto L_08ADC370; AOT_REGCACHE_SYNC_OUT(); return; L_08ADC370: ctx.gpr[17] = (aot_gpr_16 | 0u); @@ -1712,7 +1713,7 @@ L_08ADC39C: aot_gpr_4 = (aot_gpr_4 + static_cast(25856)); aot_gpr_31 = (0x08ADC3ACu); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ADC3ACu) goto L_08ADC3AC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ADC3ACu) goto L_08ADC3AC; AOT_REGCACHE_SYNC_OUT(); return; L_08ADC3AC: ctx.gpr[2] = (aot_gpr_16 | 0u); @@ -1770,7 +1771,7 @@ L_08ADC40C: L_08ADC418: aot_gpr_31 = (0x08ADC420u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ADC420u) goto L_08ADC420; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ADC420u) goto L_08ADC420; AOT_REGCACHE_SYNC_OUT(); return; L_08ADC420: ctx.gpr[18] = (ctx.gpr[19] | 0u); @@ -1825,7 +1826,7 @@ L_08ADC468: L_08ADC474: aot_gpr_31 = (0x08ADC47Cu); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ADC47Cu) goto L_08ADC47C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ADC47Cu) goto L_08ADC47C; AOT_REGCACHE_SYNC_OUT(); return; L_08ADC47C: ctx.gpr[18] = (ctx.gpr[19] | 0u); @@ -3887,7 +3888,7 @@ L_08ADD38C: L_08ADD39C: aot_gpr_31 = (0x08ADD3A4u); aot_gpr_4 = (aot_gpr_5 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ADD3A4u) goto L_08ADD3A4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ADD3A4u) goto L_08ADD3A4; AOT_REGCACHE_SYNC_OUT(); return; L_08ADD3A4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(28))); @@ -3913,7 +3914,7 @@ L_08ADD3B0: L_08ADD3C0: aot_gpr_31 = (0x08ADD3C8u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ADD3C8u) goto L_08ADD3C8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ADD3C8u) goto L_08ADD3C8; AOT_REGCACHE_SYNC_OUT(); return; L_08ADD3C8: aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); @@ -3979,7 +3980,7 @@ L_08ADD438: L_08ADD448: aot_gpr_31 = (0x08ADD450u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ADD450u) goto L_08ADD450; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ADD450u) goto L_08ADD450; AOT_REGCACHE_SYNC_OUT(); return; L_08ADD450: aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); @@ -5054,7 +5055,7 @@ L_08ADDC58: aot_gpr_4 = (aot_gpr_4 + static_cast(25856)); aot_gpr_31 = (0x08ADDC64u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(276))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ADDC64u) goto L_08ADDC64; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ADDC64u) goto L_08ADDC64; AOT_REGCACHE_SYNC_OUT(); return; L_08ADDC64: { const bool branch_taken = 0u == 0u; @@ -5096,7 +5097,7 @@ L_08ADDC98: ctx.gpr[19] = (aot_gpr_29 + static_cast(8)); aot_gpr_31 = (0x08ADDCA4u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ADDCA4u) goto L_08ADDCA4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ADDCA4u) goto L_08ADDCA4; AOT_REGCACHE_SYNC_OUT(); return; L_08ADDCA4: aot_gpr_4 = (aot_gpr_29 | 0u); @@ -5125,7 +5126,7 @@ L_08ADDCD0: aot_gpr_4 = (aot_gpr_4 + static_cast(25856)); aot_gpr_31 = (0x08ADDCDCu); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ADDCDCu) goto L_08ADDCDC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ADDCDCu) goto L_08ADDCDC; AOT_REGCACHE_SYNC_OUT(); return; L_08ADDCDC: aot_gpr_4 = (0u | 1u); @@ -5465,7 +5466,7 @@ L_08ADDF90: L_08ADDFA0: aot_gpr_31 = (0x08ADDFA8u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-248)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ADDFA8u) goto L_08ADDFA8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ADDFA8u) goto L_08ADDFA8; AOT_REGCACHE_SYNC_OUT(); return; L_08ADDFA8: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -5492,7 +5493,7 @@ L_08ADDFC4: L_08ADDFD0: aot_gpr_31 = (0x08ADDFD8u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-248)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ADDFD8u) goto L_08ADDFD8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ADDFD8u) goto L_08ADDFD8; AOT_REGCACHE_SYNC_OUT(); return; L_08ADDFD8: aot_gpr_31 = (0x08ADDFE0u); @@ -5525,7 +5526,7 @@ L_08ADDFF4: L_08ADE000: aot_gpr_31 = (0x08ADE008u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-248)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ADE008u) goto L_08ADE008; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ADE008u) goto L_08ADE008; AOT_REGCACHE_SYNC_OUT(); return; L_08ADE008: aot_gpr_31 = (0x08ADE010u); @@ -5551,7 +5552,7 @@ L_08ADE01C: L_08ADE02C: aot_gpr_31 = (0x08ADE034u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-248)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ADE034u) goto L_08ADE034; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ADE034u) goto L_08ADE034; AOT_REGCACHE_SYNC_OUT(); return; L_08ADE034: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -5580,7 +5581,7 @@ L_08ADE04C: L_08ADE05C: aot_gpr_31 = (0x08ADE064u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-248)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ADE064u) goto L_08ADE064; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ADE064u) goto L_08ADE064; AOT_REGCACHE_SYNC_OUT(); return; L_08ADE064: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -5609,7 +5610,7 @@ L_08ADE07C: L_08ADE08C: aot_gpr_31 = (0x08ADE094u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-248)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ADE094u) goto L_08ADE094; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ADE094u) goto L_08ADE094; AOT_REGCACHE_SYNC_OUT(); return; L_08ADE094: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -5638,7 +5639,7 @@ L_08ADE0AC: L_08ADE0BC: aot_gpr_31 = (0x08ADE0C4u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-248)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ADE0C4u) goto L_08ADE0C4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ADE0C4u) goto L_08ADE0C4; AOT_REGCACHE_SYNC_OUT(); return; L_08ADE0C4: aot_gpr_5 = (ctx.gpr[28] + static_cast(-208)); @@ -5666,7 +5667,7 @@ L_08ADE0DC: L_08ADE0E8: aot_gpr_31 = (0x08ADE0F0u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-248)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ADE0F0u) goto L_08ADE0F0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ADE0F0u) goto L_08ADE0F0; AOT_REGCACHE_SYNC_OUT(); return; L_08ADE0F0: aot_gpr_31 = (0x08ADE0F8u); @@ -7062,7 +7063,7 @@ L_08ADED44: L_08ADED50: aot_gpr_31 = (0x08ADED58u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ADED58u) goto L_08ADED58; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ADED58u) goto L_08ADED58; AOT_REGCACHE_SYNC_OUT(); return; L_08ADED58: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); @@ -7244,7 +7245,7 @@ L_08ADEEAC: L_08ADEEB8: aot_gpr_31 = (0x08ADEEC0u); aot_gpr_4 = (aot_gpr_6 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ADEEC0u) goto L_08ADEEC0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ADEEC0u) goto L_08ADEEC0; AOT_REGCACHE_SYNC_OUT(); return; L_08ADEEC0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); @@ -9555,7 +9556,7 @@ L_08ADFFEC: aot_gpr_4 = (2237u << 16u); aot_gpr_31 = (0x08AE0004u); aot_gpr_4 = (aot_gpr_4 + static_cast(-29120)); - (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); + (void)([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } diff --git a/profiles/vcs/generated/generated_unit_0183.cpp b/profiles/vcs/generated/generated_unit_0183.cpp index f611d36..d6a8e4f 100644 --- a/profiles/vcs/generated/generated_unit_0183.cpp +++ b/profiles/vcs/generated/generated_unit_0183.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0183[4091] = { }; void recomp_unit_0183_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,31,16,29,6 fprs=12,13,20,0 gpr_occ=4385 fpr_occ=100 gpr_total=5679 fpr_total=106 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,31,6,16,29 fprs=12,13,20,0 gpr_occ=4716 fpr_occ=100 gpr_total=6292 fpr_total=106 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; + std::uint32_t aot_gpr_6 = ctx.gpr[6]; std::uint32_t aot_gpr_16 = ctx.gpr[16]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; - std::uint32_t aot_gpr_6 = ctx.gpr[6]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_20 = ctx.fpr[20]; float aot_fpr_0 = ctx.fpr[0]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[31] = aot_gpr_31; ctx.gpr[16] = aot_gpr_16; ctx.gpr[29] = aot_gpr_29; ctx.gpr[6] = aot_gpr_6; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; ctx.fpr[0] = aot_fpr_0; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_6 = ctx.gpr[6]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_0 = ctx.fpr[0]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[31] = aot_gpr_31; ctx.gpr[6] = aot_gpr_6; ctx.gpr[16] = aot_gpr_16; ctx.gpr[29] = aot_gpr_29; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; ctx.fpr[0] = aot_fpr_0; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_29 = ctx.gpr[29]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_0 = ctx.fpr[0]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -1254,7 +1255,7 @@ L_08AE0064: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08AE0070u); aot_gpr_5 = (0u + static_cast(-1)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE0070u) goto L_08AE0070; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806888, 0u, 324u, 0x08806888u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE0070u) goto L_08AE0070; AOT_REGCACHE_SYNC_OUT(); return; L_08AE0070: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -1429,7 +1430,7 @@ L_08AE01F0: L_08AE0200: aot_gpr_31 = (0x08AE0208u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE0208u) goto L_08AE0208; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE0208u) goto L_08AE0208; AOT_REGCACHE_SYNC_OUT(); return; L_08AE0208: aot_gpr_4 = (aot_gpr_29 + static_cast(40)); @@ -1688,7 +1689,7 @@ L_08AE03C4: L_08AE03D4: aot_gpr_31 = (0x08AE03DCu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE03DCu) goto L_08AE03DC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE03DCu) goto L_08AE03DC; AOT_REGCACHE_SYNC_OUT(); return; L_08AE03DC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); @@ -1714,7 +1715,7 @@ L_08AE03E8: L_08AE03F8: aot_gpr_31 = (0x08AE0400u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE0400u) goto L_08AE0400; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE0400u) goto L_08AE0400; AOT_REGCACHE_SYNC_OUT(); return; L_08AE0400: ctx.gpr[17] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(10338)))))); @@ -1787,7 +1788,7 @@ L_08AE0474: L_08AE0484: aot_gpr_31 = (0x08AE048Cu); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE048Cu) goto L_08AE048C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE048Cu) goto L_08AE048C; AOT_REGCACHE_SYNC_OUT(); return; L_08AE048C: ctx.gpr[17] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(8618)))))); @@ -1860,7 +1861,7 @@ L_08AE0500: L_08AE0510: aot_gpr_31 = (0x08AE0518u); aot_gpr_4 = (ctx.gpr[22] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE0518u) goto L_08AE0518; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE0518u) goto L_08AE0518; AOT_REGCACHE_SYNC_OUT(); return; L_08AE0518: ctx.gpr[17] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(10336)))))); @@ -1932,7 +1933,7 @@ L_08AE058C: L_08AE059C: aot_gpr_31 = (0x08AE05A4u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE05A4u) goto L_08AE05A4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE05A4u) goto L_08AE05A4; AOT_REGCACHE_SYNC_OUT(); return; L_08AE05A4: aot_gpr_31 = (0x08AE05ACu); @@ -2112,7 +2113,7 @@ L_08AE072C: L_08AE0738: aot_gpr_31 = (0x08AE0740u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-248)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE0740u) goto L_08AE0740; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE0740u) goto L_08AE0740; AOT_REGCACHE_SYNC_OUT(); return; L_08AE0740: aot_gpr_31 = (0x08AE0748u); @@ -2133,7 +2134,7 @@ L_08AE0758: aot_gpr_4 = (aot_gpr_4 + static_cast(25856)); aot_gpr_31 = (0x08AE0764u); aot_gpr_5 = (ctx.gpr[23] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE0764u) goto L_08AE0764; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE0764u) goto L_08AE0764; AOT_REGCACHE_SYNC_OUT(); return; L_08AE0764: { std::uint32_t aot_run_words[9]{}; @@ -2533,7 +2534,7 @@ L_08AE0A30: aot_gpr_4 = (aot_gpr_4 + static_cast(29232)); aot_gpr_31 = (0x08AE0A40u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(100))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE0A40u) goto L_08AE0A40; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE0A40u) goto L_08AE0A40; AOT_REGCACHE_SYNC_OUT(); return; L_08AE0A40: { const bool branch_taken = 0u == 0u; @@ -2561,7 +2562,7 @@ L_08AE0A58: aot_gpr_4 = (aot_gpr_4 + static_cast(29232)); aot_gpr_31 = (0x08AE0A68u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(100))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE0A68u) goto L_08AE0A68; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE0A68u) goto L_08AE0A68; AOT_REGCACHE_SYNC_OUT(); return; L_08AE0A68: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(100), 0u); @@ -2683,7 +2684,7 @@ L_08AE0B50: L_08AE0B5C: aot_gpr_31 = (0x08AE0B64u); aot_gpr_4 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE0B64u) goto L_08AE0B64; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE0B64u) goto L_08AE0B64; AOT_REGCACHE_SYNC_OUT(); return; L_08AE0B64: ctx.gpr[17] = (ctx.gpr[20] | 0u); @@ -2923,7 +2924,7 @@ L_08AE0D14: aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_31 = (0x08AE0D2Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE0D2Cu) goto L_08AE0D2C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC754, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE0D2Cu) goto L_08AE0D2C; AOT_REGCACHE_SYNC_OUT(); return; L_08AE0D2C: aot_gpr_4 = (ctx.gpr[2] | 0u); @@ -3659,7 +3660,7 @@ L_08AE11B0: aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_31 = (0x08AE11C8u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE11C8u) goto L_08AE11C8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC754, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE11C8u) goto L_08AE11C8; AOT_REGCACHE_SYNC_OUT(); return; L_08AE11C8: aot_gpr_4 = (ctx.gpr[2] | 0u); @@ -4341,7 +4342,7 @@ L_08AE1590: aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_31 = (0x08AE15A8u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE15A8u) goto L_08AE15A8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC754, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 141u, 0x08ADC754u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE15A8u) goto L_08AE15A8; AOT_REGCACHE_SYNC_OUT(); return; L_08AE15A8: aot_gpr_4 = (ctx.gpr[2] | 0u); @@ -4665,7 +4666,7 @@ L_08AE1784: ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x08AE1828u); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE1828u) goto L_08AE1828; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE1828u) goto L_08AE1828; AOT_REGCACHE_SYNC_OUT(); return; L_08AE1828: aot_gpr_4 = (aot_gpr_16 + static_cast(4)); @@ -4674,7 +4675,7 @@ L_08AE1828: ctx.gpr[7] = (0u | 210u); aot_gpr_31 = (0x08AE1840u); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE1840u) goto L_08AE1840; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE1840u) goto L_08AE1840; AOT_REGCACHE_SYNC_OUT(); return; L_08AE1840: aot_gpr_4 = (aot_gpr_16 + static_cast(8)); @@ -4683,7 +4684,7 @@ L_08AE1840: ctx.gpr[7] = (0u | 75u); aot_gpr_31 = (0x08AE1858u); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE1858u) goto L_08AE1858; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE1858u) goto L_08AE1858; AOT_REGCACHE_SYNC_OUT(); return; L_08AE1858: aot_gpr_4 = (aot_gpr_16 + static_cast(12)); @@ -4692,7 +4693,7 @@ L_08AE1858: ctx.gpr[7] = (0u | 87u); aot_gpr_31 = (0x08AE1870u); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE1870u) goto L_08AE1870; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE1870u) goto L_08AE1870; AOT_REGCACHE_SYNC_OUT(); return; L_08AE1870: aot_gpr_4 = (aot_gpr_16 + static_cast(16)); @@ -4701,7 +4702,7 @@ L_08AE1870: ctx.gpr[7] = (0u | 186u); aot_gpr_31 = (0x08AE1888u); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE1888u) goto L_08AE1888; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE1888u) goto L_08AE1888; AOT_REGCACHE_SYNC_OUT(); return; L_08AE1888: aot_gpr_4 = (aot_gpr_16 + static_cast(20)); @@ -4710,7 +4711,7 @@ L_08AE1888: ctx.gpr[7] = (0u | 197u); aot_gpr_31 = (0x08AE18A0u); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE18A0u) goto L_08AE18A0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE18A0u) goto L_08AE18A0; AOT_REGCACHE_SYNC_OUT(); return; L_08AE18A0: aot_gpr_4 = (aot_gpr_16 + static_cast(24)); @@ -4719,7 +4720,7 @@ L_08AE18A0: ctx.gpr[7] = (0u | 180u); aot_gpr_31 = (0x08AE18B8u); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE18B8u) goto L_08AE18B8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE18B8u) goto L_08AE18B8; AOT_REGCACHE_SYNC_OUT(); return; L_08AE18B8: aot_gpr_4 = (aot_gpr_16 + static_cast(28)); @@ -4728,7 +4729,7 @@ L_08AE18B8: ctx.gpr[7] = (0u | 51u); aot_gpr_31 = (0x08AE18D0u); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE18D0u) goto L_08AE18D0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE18D0u) goto L_08AE18D0; AOT_REGCACHE_SYNC_OUT(); return; L_08AE18D0: aot_gpr_4 = (aot_gpr_16 + static_cast(32)); @@ -4737,7 +4738,7 @@ L_08AE18D0: ctx.gpr[7] = (0u | 79u); aot_gpr_31 = (0x08AE18E8u); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE18E8u) goto L_08AE18E8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE18E8u) goto L_08AE18E8; AOT_REGCACHE_SYNC_OUT(); return; L_08AE18E8: aot_gpr_4 = (aot_gpr_16 + static_cast(36)); @@ -4746,7 +4747,7 @@ L_08AE18E8: ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x08AE1900u); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE1900u) goto L_08AE1900; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE1900u) goto L_08AE1900; AOT_REGCACHE_SYNC_OUT(); return; L_08AE1900: aot_gpr_4 = (aot_gpr_16 + static_cast(40)); @@ -4755,7 +4756,7 @@ L_08AE1900: ctx.gpr[7] = (0u | 255u); aot_gpr_31 = (0x08AE1918u); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE1918u) goto L_08AE1918; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE1918u) goto L_08AE1918; AOT_REGCACHE_SYNC_OUT(); return; L_08AE1918: aot_gpr_4 = (aot_gpr_16 + static_cast(44)); @@ -4764,12 +4765,12 @@ L_08AE1918: ctx.gpr[7] = (0u | 153u); aot_gpr_31 = (0x08AE1930u); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE1930u) goto L_08AE1930; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE1930u) goto L_08AE1930; AOT_REGCACHE_SYNC_OUT(); return; L_08AE1930: aot_gpr_31 = (0x08AE1938u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-188)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE1938u) goto L_08AE1938; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE1938u) goto L_08AE1938; AOT_REGCACHE_SYNC_OUT(); return; L_08AE1938: aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -4982,7 +4983,7 @@ L_08AE1AC4: L_08AE1AD8: aot_gpr_31 = (0x08AE1AE0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE1AE0u) goto L_08AE1AE0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE1AE0u) goto L_08AE1AE0; AOT_REGCACHE_SYNC_OUT(); return; L_08AE1AE0: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), ctx.gpr[21]); @@ -5364,7 +5365,7 @@ L_08AE1DC0: L_08AE1DC8: aot_gpr_31 = (0x08AE1DD0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE1DD0u) goto L_08AE1DD0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE1DD0u) goto L_08AE1DD0; AOT_REGCACHE_SYNC_OUT(); return; L_08AE1DD0: { const bool branch_taken = ctx.gpr[21] == 0u; @@ -5393,7 +5394,7 @@ L_08AE1DE0: L_08AE1DE8: aot_gpr_31 = (0x08AE1DF0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE1DF0u) goto L_08AE1DF0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE1DF0u) goto L_08AE1DF0; AOT_REGCACHE_SYNC_OUT(); return; L_08AE1DF0: { const bool branch_taken = aot_gpr_16 == 0u; @@ -5420,7 +5421,7 @@ L_08AE1E00: L_08AE1E08: aot_gpr_31 = (0x08AE1E10u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE1E10u) goto L_08AE1E10; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE1E10u) goto L_08AE1E10; AOT_REGCACHE_SYNC_OUT(); return; L_08AE1E10: aot_gpr_4 = (ctx.gpr[17] & 1u); @@ -5436,7 +5437,7 @@ L_08AE1E14: L_08AE1E1C: aot_gpr_31 = (0x08AE1E24u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE1E24u) goto L_08AE1E24; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE1E24u) goto L_08AE1E24; AOT_REGCACHE_SYNC_OUT(); return; L_08AE1E24: { std::uint32_t aot_run_words[7]{}; @@ -5514,7 +5515,7 @@ L_08AE1ED4: L_08AE1EE0: aot_gpr_31 = (0x08AE1EE8u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE1EE8u) goto L_08AE1EE8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE1EE8u) goto L_08AE1EE8; AOT_REGCACHE_SYNC_OUT(); return; L_08AE1EE8: aot_gpr_31 = (0x08AE1EF0u); @@ -5545,7 +5546,7 @@ L_08AE1F04: L_08AE1F10: aot_gpr_31 = (0x08AE1F18u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE1F18u) goto L_08AE1F18; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE1F18u) goto L_08AE1F18; AOT_REGCACHE_SYNC_OUT(); return; L_08AE1F18: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(52))); @@ -5794,7 +5795,7 @@ L_08AE2154: L_08AE2160: aot_gpr_31 = (0x08AE2168u); aot_gpr_4 = (ctx.gpr[22] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE2168u) goto L_08AE2168; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE2168u) goto L_08AE2168; AOT_REGCACHE_SYNC_OUT(); return; L_08AE2168: aot_gpr_31 = (0x08AE2170u); @@ -5916,7 +5917,7 @@ L_08AE224C: L_08AE225C: aot_gpr_31 = (0x08AE2264u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-128)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE2264u) goto L_08AE2264; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE2264u) goto L_08AE2264; AOT_REGCACHE_SYNC_OUT(); return; L_08AE2264: aot_gpr_4 = (ctx.gpr[17] | 0u); @@ -6579,7 +6580,7 @@ L_08AE2790: L_08AE279C: aot_gpr_31 = (0x08AE27A4u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE27A4u) goto L_08AE27A4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE27A4u) goto L_08AE27A4; AOT_REGCACHE_SYNC_OUT(); return; L_08AE27A4: aot_gpr_4 = (ctx.gpr[18] << 2u); @@ -6723,7 +6724,7 @@ L_08AE28A4: L_08AE28B0: aot_gpr_31 = (0x08AE28B8u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE28B8u) goto L_08AE28B8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE28B8u) goto L_08AE28B8; AOT_REGCACHE_SYNC_OUT(); return; L_08AE28B8: { const bool branch_taken = aot_gpr_16 != 0u; @@ -6745,7 +6746,7 @@ L_08AE28C0: L_08AE28CC: aot_gpr_31 = (0x08AE28D4u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE28D4u) goto L_08AE28D4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2E4, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE28D4u) goto L_08AE28D4; AOT_REGCACHE_SYNC_OUT(); return; L_08AE28D4: { const std::uint32_t aot_run_words[3]{0u, 0u, 0u}; @@ -6780,7 +6781,7 @@ L_08AE2910: aot_gpr_16 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08AE291Cu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE291Cu) goto L_08AE291C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE291Cu) goto L_08AE291C; AOT_REGCACHE_SYNC_OUT(); return; L_08AE291C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(4))); @@ -6896,7 +6897,7 @@ L_08AE29E4: L_08AE29EC: aot_gpr_31 = (0x08AE29F4u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE29F4u) goto L_08AE29F4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE29F4u) goto L_08AE29F4; AOT_REGCACHE_SYNC_OUT(); return; L_08AE29F4: aot_gpr_4 = (aot_gpr_29 | 0u); @@ -6923,7 +6924,7 @@ L_08AE2A10: L_08AE2A1C: aot_gpr_31 = (0x08AE2A24u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE2A24u) goto L_08AE2A24; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE2A24u) goto L_08AE2A24; AOT_REGCACHE_SYNC_OUT(); return; L_08AE2A24: { const bool branch_taken = aot_gpr_16 != 0u; @@ -6945,7 +6946,7 @@ L_08AE2A2C: L_08AE2A38: aot_gpr_31 = (0x08AE2A40u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE2A40u) goto L_08AE2A40; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2E4, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE2A40u) goto L_08AE2A40; AOT_REGCACHE_SYNC_OUT(); return; L_08AE2A40: { const std::uint32_t aot_run_words[3]{0u, 0u, 0u}; @@ -6993,7 +6994,7 @@ L_08AE2A84: L_08AE2A90: aot_gpr_31 = (0x08AE2A98u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE2A98u) goto L_08AE2A98; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE2A98u) goto L_08AE2A98; AOT_REGCACHE_SYNC_OUT(); return; L_08AE2A98: aot_gpr_4 = (aot_gpr_29 | 0u); @@ -7025,7 +7026,7 @@ L_08AE2ABC: L_08AE2AC8: aot_gpr_31 = (0x08AE2AD0u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE2AD0u) goto L_08AE2AD0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE2AD0u) goto L_08AE2AD0; AOT_REGCACHE_SYNC_OUT(); return; L_08AE2AD0: aot_gpr_4 = (aot_gpr_29 | 0u); @@ -7052,7 +7053,7 @@ L_08AE2AEC: L_08AE2AF8: aot_gpr_31 = (0x08AE2B00u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE2B00u) goto L_08AE2B00; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE2B00u) goto L_08AE2B00; AOT_REGCACHE_SYNC_OUT(); return; L_08AE2B00: { const bool branch_taken = aot_gpr_16 != 0u; @@ -7074,7 +7075,7 @@ L_08AE2B08: L_08AE2B14: aot_gpr_31 = (0x08AE2B1Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE2B1Cu) goto L_08AE2B1C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2E4, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE2B1Cu) goto L_08AE2B1C; AOT_REGCACHE_SYNC_OUT(); return; L_08AE2B1C: { const std::uint32_t aot_run_words[3]{0u, 0u, 0u}; @@ -7109,7 +7110,7 @@ L_08AE2B58: aot_gpr_16 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08AE2B64u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE2B64u) goto L_08AE2B64; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE2B64u) goto L_08AE2B64; AOT_REGCACHE_SYNC_OUT(); return; L_08AE2B64: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(28))); @@ -7228,7 +7229,7 @@ L_08AE2C30: L_08AE2C38: aot_gpr_31 = (0x08AE2C40u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE2C40u) goto L_08AE2C40; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE2C40u) goto L_08AE2C40; AOT_REGCACHE_SYNC_OUT(); return; L_08AE2C40: aot_gpr_4 = (aot_gpr_29 | 0u); @@ -7255,7 +7256,7 @@ L_08AE2C5C: L_08AE2C68: aot_gpr_31 = (0x08AE2C70u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE2C70u) goto L_08AE2C70; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE2C70u) goto L_08AE2C70; AOT_REGCACHE_SYNC_OUT(); return; L_08AE2C70: { const bool branch_taken = ctx.gpr[19] == 0u; @@ -7324,7 +7325,7 @@ L_08AE2D08: L_08AE2D14: aot_gpr_31 = (0x08AE2D1Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE2D1Cu) goto L_08AE2D1C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE2D1Cu) goto L_08AE2D1C; AOT_REGCACHE_SYNC_OUT(); return; L_08AE2D1C: aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); @@ -7686,7 +7687,7 @@ L_08AE2EF4: L_08AE2F00: aot_gpr_31 = (0x08AE2F08u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE2F08u) goto L_08AE2F08; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE2F08u) goto L_08AE2F08; AOT_REGCACHE_SYNC_OUT(); return; L_08AE2F08: aot_gpr_4 = (ctx.gpr[20] | 0u); @@ -7713,7 +7714,7 @@ L_08AE2F24: L_08AE2F30: aot_gpr_31 = (0x08AE2F38u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE2F38u) goto L_08AE2F38; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE2F38u) goto L_08AE2F38; AOT_REGCACHE_SYNC_OUT(); return; L_08AE2F38: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(128))); @@ -7937,7 +7938,7 @@ L_08AE307C: L_08AE3088: aot_gpr_31 = (0x08AE3090u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE3090u) goto L_08AE3090; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE3090u) goto L_08AE3090; AOT_REGCACHE_SYNC_OUT(); return; L_08AE3090: { const bool branch_taken = ctx.gpr[19] != 0u; @@ -7960,7 +7961,7 @@ L_08AE3098: L_08AE30A8: aot_gpr_31 = (0x08AE30B0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE30B0u) goto L_08AE30B0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2E4, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE30B0u) goto L_08AE30B0; AOT_REGCACHE_SYNC_OUT(); return; L_08AE30B0: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(72), 0u); @@ -8138,7 +8139,7 @@ L_08AE32F0: L_08AE32F8: aot_gpr_31 = (0x08AE3300u); aot_gpr_5 = (ctx.gpr[17] + static_cast(20)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE3300u) goto L_08AE3300; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A93004, 163u, 430u, 0x08A93004u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE3300u) goto L_08AE3300; AOT_REGCACHE_SYNC_OUT(); return; L_08AE3300: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); @@ -8170,7 +8171,7 @@ L_08AE3324: L_08AE3330: aot_gpr_31 = (0x08AE3338u); aot_gpr_5 = (ctx.gpr[17] + static_cast(20)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE3338u) goto L_08AE3338; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE3338u) goto L_08AE3338; AOT_REGCACHE_SYNC_OUT(); return; L_08AE3338: aot_gpr_31 = (0x08AE3340u); @@ -8218,7 +8219,7 @@ L_08AE3374: L_08AE338C: aot_gpr_31 = (0x08AE3394u); aot_gpr_5 = (ctx.gpr[17] + static_cast(20)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE3394u) goto L_08AE3394; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A93004, 163u, 430u, 0x08A93004u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE3394u) goto L_08AE3394; AOT_REGCACHE_SYNC_OUT(); return; L_08AE3394: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(28))); @@ -8232,7 +8233,7 @@ L_08AE3394: L_08AE33A0: aot_gpr_31 = (0x08AE33A8u); aot_gpr_5 = (ctx.gpr[17] + static_cast(28)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE33A8u) goto L_08AE33A8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A93004, 163u, 430u, 0x08A93004u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE33A8u) goto L_08AE33A8; AOT_REGCACHE_SYNC_OUT(); return; L_08AE33A8: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(84)))))); @@ -8267,7 +8268,7 @@ L_08AE33DC: L_08AE33E8: aot_gpr_31 = (0x08AE33F0u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE33F0u) goto L_08AE33F0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE33F0u) goto L_08AE33F0; AOT_REGCACHE_SYNC_OUT(); return; L_08AE33F0: { std::uint32_t aot_run_words[3]{}; @@ -8784,7 +8785,7 @@ L_08AE37C8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); aot_gpr_31 = (0x08AE37D4u); aot_gpr_5 = (aot_gpr_16 + static_cast(20)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE37D4u) goto L_08AE37D4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A93004, 163u, 430u, 0x08A93004u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE37D4u) goto L_08AE37D4; AOT_REGCACHE_SYNC_OUT(); return; L_08AE37D4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); @@ -8817,7 +8818,7 @@ L_08AE3804: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); aot_gpr_31 = (0x08AE3810u); aot_gpr_5 = (aot_gpr_16 + static_cast(20)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE3810u) goto L_08AE3810; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE3810u) goto L_08AE3810; AOT_REGCACHE_SYNC_OUT(); return; L_08AE3810: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); @@ -8986,7 +8987,7 @@ L_08AE3970: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(28))); aot_gpr_31 = (0x08AE397Cu); aot_gpr_5 = (aot_gpr_16 + static_cast(28)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE397Cu) goto L_08AE397C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A93004, 163u, 430u, 0x08A93004u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE397Cu) goto L_08AE397C; AOT_REGCACHE_SYNC_OUT(); return; L_08AE397C: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(84)))))); @@ -9307,7 +9308,7 @@ L_08AE3B78: L_08AE3B94: aot_gpr_31 = (0x08AE3B9Cu); aot_gpr_5 = (aot_gpr_16 + static_cast(20)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE3B9Cu) goto L_08AE3B9C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A93004, 163u, 430u, 0x08A93004u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE3B9Cu) goto L_08AE3B9C; AOT_REGCACHE_SYNC_OUT(); return; L_08AE3B9C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(28))); @@ -9321,7 +9322,7 @@ L_08AE3B9C: L_08AE3BA8: aot_gpr_31 = (0x08AE3BB0u); aot_gpr_5 = (aot_gpr_16 + static_cast(28)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE3BB0u) goto L_08AE3BB0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A93004, 163u, 430u, 0x08A93004u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE3BB0u) goto L_08AE3BB0; AOT_REGCACHE_SYNC_OUT(); return; L_08AE3BB0: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(20), 0u); @@ -9847,7 +9848,7 @@ L_08AE3F20: L_08AE3F28: aot_gpr_31 = (0x08AE3F30u); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE3F30u) goto L_08AE3F30; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089474C4, 80u, 661u, 0x089474C4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE3F30u) goto L_08AE3F30; AOT_REGCACHE_SYNC_OUT(); return; L_08AE3F30: { const bool branch_taken = aot_gpr_16 == 0u; diff --git a/profiles/vcs/generated/generated_unit_0184.cpp b/profiles/vcs/generated/generated_unit_0184.cpp index 8fde46f..58494e3 100644 --- a/profiles/vcs/generated/generated_unit_0184.cpp +++ b/profiles/vcs/generated/generated_unit_0184.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,7 +139,7 @@ static const std::uint16_t kEntryIds_recomp_unit_0184[4091] = { }; void recomp_unit_0184_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,16,29,31,17 fprs=12,13,22,14 gpr_occ=4736 fpr_occ=352 gpr_total=5925 fpr_total=454 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,16,29,31,17 fprs=12,13,22,14 gpr_occ=4835 fpr_occ=352 gpr_total=6206 fpr_total=454 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_16 = ctx.gpr[16]; @@ -1384,7 +1385,7 @@ L_08AE437C: aot_gpr_5 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08AE43B0u); ctx.gpr[6] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE43B0u) goto L_08AE43B0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE43B0u) goto L_08AE43B0; AOT_REGCACHE_SYNC_OUT(); return; L_08AE43B0: ctx.gpr[2] = (0u | 0u); @@ -2597,7 +2598,7 @@ L_08AE4D40: aot_gpr_5 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08AE4D54u); ctx.gpr[6] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE4D54u) goto L_08AE4D54; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE4D54u) goto L_08AE4D54; AOT_REGCACHE_SYNC_OUT(); return; L_08AE4D54: ctx.gpr[2] = (0u | 0u); @@ -2807,7 +2808,7 @@ L_08AE4EF0: aot_gpr_5 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08AE4F08u); ctx.gpr[6] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE4F08u) goto L_08AE4F08; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE4F08u) goto L_08AE4F08; AOT_REGCACHE_SYNC_OUT(); return; L_08AE4F08: ctx.gpr[2] = (0u | 0u); @@ -3435,7 +3436,7 @@ L_08AE5448: aot_gpr_5 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08AE545Cu); ctx.gpr[6] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE545Cu) goto L_08AE545C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE545Cu) goto L_08AE545C; AOT_REGCACHE_SYNC_OUT(); return; L_08AE545C: ctx.gpr[2] = (0u | 0u); @@ -3480,7 +3481,7 @@ L_08AE54B4: aot_gpr_5 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08AE54CCu); ctx.gpr[6] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE54CCu) goto L_08AE54CC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE54CCu) goto L_08AE54CC; AOT_REGCACHE_SYNC_OUT(); return; L_08AE54CC: ctx.gpr[2] = (0u | 0u); @@ -4255,7 +4256,7 @@ L_08AE5B14: ctx.gpr[7] = (std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08AE5B34u); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(29704), ctx.gpr[7]); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE5B34u) goto L_08AE5B34; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE5B34u) goto L_08AE5B34; AOT_REGCACHE_SYNC_OUT(); return; L_08AE5B34: ctx.gpr[2] = (0u | 0u); @@ -4458,7 +4459,7 @@ L_08AE5CB8: aot_gpr_4 = (aot_gpr_29 + static_cast(260)); aot_gpr_31 = (0x08AE5CE4u); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE5CE4u) goto L_08AE5CE4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE5CE4u) goto L_08AE5CE4; AOT_REGCACHE_SYNC_OUT(); return; L_08AE5CE4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(260))); @@ -4498,7 +4499,7 @@ L_08AE5D28: aot_gpr_4 = (aot_gpr_29 + static_cast(268)); aot_gpr_31 = (0x08AE5D54u); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE5D54u) goto L_08AE5D54; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE5D54u) goto L_08AE5D54; AOT_REGCACHE_SYNC_OUT(); return; L_08AE5D54: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(268))); @@ -4651,7 +4652,7 @@ L_08AE5EB4: aot_gpr_17 = (0u | 0u); aot_gpr_31 = (0x08AE5EC0u); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE5EC0u) goto L_08AE5EC0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B01E00, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE5EC0u) goto L_08AE5EC0; AOT_REGCACHE_SYNC_OUT(); return; L_08AE5EC0: aot_gpr_4 = (0u | 4u); @@ -5804,7 +5805,7 @@ L_08AE67C0: aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08AE67D8u); ctx.gpr[6] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE67D8u) goto L_08AE67D8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE67D8u) goto L_08AE67D8; AOT_REGCACHE_SYNC_OUT(); return; L_08AE67D8: ctx.gpr[2] = (0u | 0u); @@ -5855,7 +5856,7 @@ L_08AE6830: aot_gpr_5 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08AE6868u); ctx.gpr[6] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE6868u) goto L_08AE6868; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE6868u) goto L_08AE6868; AOT_REGCACHE_SYNC_OUT(); return; L_08AE6868: ctx.gpr[2] = (0u | 0u); @@ -5906,7 +5907,7 @@ L_08AE68C0: aot_gpr_5 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08AE68F8u); ctx.gpr[6] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE68F8u) goto L_08AE68F8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE68F8u) goto L_08AE68F8; AOT_REGCACHE_SYNC_OUT(); return; L_08AE68F8: ctx.gpr[2] = (0u | 0u); @@ -6241,7 +6242,7 @@ L_08AE6B8C: L_08AE6B94: aot_gpr_31 = (0x08AE6B9Cu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE6B9Cu) goto L_08AE6B9C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B01E00, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE6B9Cu) goto L_08AE6B9C; AOT_REGCACHE_SYNC_OUT(); return; L_08AE6B9C: { const bool branch_taken = ctx.gpr[2] == ctx.gpr[23]; @@ -6254,7 +6255,7 @@ L_08AE6B9C: L_08AE6BA4: aot_gpr_31 = (0x08AE6BACu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE6BACu) goto L_08AE6BAC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B01E00, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE6BACu) goto L_08AE6BAC; AOT_REGCACHE_SYNC_OUT(); return; L_08AE6BAC: aot_gpr_4 = (0u | 2u); @@ -6368,7 +6369,7 @@ L_08AE6C64: aot_gpr_4 = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x08AE6C78u); ctx.gpr[6] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE6C78u) goto L_08AE6C78; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE6C78u) goto L_08AE6C78; AOT_REGCACHE_SYNC_OUT(); return; L_08AE6C78: ctx.gpr[2] = (0u | 0u); @@ -7448,7 +7449,7 @@ L_08AE7558: aot_gpr_5 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08AE7568u); ctx.gpr[6] = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE7568u) goto L_08AE7568; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE7568u) goto L_08AE7568; AOT_REGCACHE_SYNC_OUT(); return; L_08AE7568: ctx.gpr[2] = (0u | 0u); @@ -7702,7 +7703,7 @@ L_08AE7714: aot_gpr_5 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08AE773Cu); ctx.gpr[6] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE773Cu) goto L_08AE773C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE773Cu) goto L_08AE773C; AOT_REGCACHE_SYNC_OUT(); return; L_08AE773C: ctx.gpr[2] = (0u | 0u); @@ -8059,7 +8060,7 @@ L_08AE7A04: aot_gpr_5 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08AE7A1Cu); ctx.gpr[6] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE7A1Cu) goto L_08AE7A1C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE7A1Cu) goto L_08AE7A1C; AOT_REGCACHE_SYNC_OUT(); return; L_08AE7A1C: ctx.gpr[2] = (0u | 0u); @@ -8254,7 +8255,7 @@ L_08AE7BA8: aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08AE7BB8u); ctx.gpr[6] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE7BB8u) goto L_08AE7BB8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE7BB8u) goto L_08AE7BB8; AOT_REGCACHE_SYNC_OUT(); return; L_08AE7BB8: ctx.gpr[2] = (0u | 0u); diff --git a/profiles/vcs/generated/generated_unit_0185.cpp b/profiles/vcs/generated/generated_unit_0185.cpp index df721f9..c0b5385 100644 --- a/profiles/vcs/generated/generated_unit_0185.cpp +++ b/profiles/vcs/generated/generated_unit_0185.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,7 +139,7 @@ static const std::uint16_t kEntryIds_recomp_unit_0185[4090] = { }; void recomp_unit_0185_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,16,29,31,17 fprs=12,20,13,14 gpr_occ=4439 fpr_occ=364 gpr_total=5731 fpr_total=516 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,16,29,31,17 fprs=12,20,13,14 gpr_occ=4560 fpr_occ=367 gpr_total=6063 fpr_total=520 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_16 = ctx.gpr[16]; @@ -2132,7 +2133,7 @@ L_08AE89F0: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08AE8A00u); ctx.gpr[6] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE8A00u) goto L_08AE8A00; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE8A00u) goto L_08AE8A00; AOT_REGCACHE_SYNC_OUT(); return; L_08AE8A00: ctx.gpr[2] = (0u | 0u); @@ -2252,7 +2253,7 @@ L_08AE8AF8: L_08AE8B00: aot_gpr_31 = (0x08AE8B08u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE8B08u) goto L_08AE8B08; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B01E00, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE8B08u) goto L_08AE8B08; AOT_REGCACHE_SYNC_OUT(); return; L_08AE8B08: { const bool branch_taken = ctx.gpr[2] == ctx.gpr[21]; @@ -2265,7 +2266,7 @@ L_08AE8B08: L_08AE8B10: aot_gpr_31 = (0x08AE8B18u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE8B18u) goto L_08AE8B18; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B01E00, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE8B18u) goto L_08AE8B18; AOT_REGCACHE_SYNC_OUT(); return; L_08AE8B18: { const bool branch_taken = ctx.gpr[2] != ctx.gpr[30]; @@ -2345,7 +2346,7 @@ L_08AE8B7C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); aot_gpr_31 = (0x08AE8B90u); ctx.gpr[6] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE8B90u) goto L_08AE8B90; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE8B90u) goto L_08AE8B90; AOT_REGCACHE_SYNC_OUT(); return; L_08AE8B90: ctx.gpr[2] = (0u | 0u); @@ -3965,7 +3966,7 @@ L_08AE9894: aot_gpr_4 = (aot_gpr_4 | 39322u); aot_gpr_31 = (0x08AE98B4u); ctx.fpr[22] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE98B4u) goto L_08AE98B4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE98B4u) goto L_08AE98B4; AOT_REGCACHE_SYNC_OUT(); return; L_08AE98B4: aot_fpr_12 = ctx.fpr[22] - aot_fpr_20; @@ -4154,7 +4155,7 @@ L_08AE9A48: aot_gpr_4 = (ctx.gpr[30] | 0u); aot_gpr_31 = (0x08AE9A5Cu); ctx.gpr[6] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE9A5Cu) goto L_08AE9A5C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE9A5Cu) goto L_08AE9A5C; AOT_REGCACHE_SYNC_OUT(); return; L_08AE9A5C: ctx.gpr[2] = (0u | 0u); @@ -4237,7 +4238,7 @@ L_08AE9B04: aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08AE9B14u); ctx.gpr[6] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE9B14u) goto L_08AE9B14; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE9B14u) goto L_08AE9B14; AOT_REGCACHE_SYNC_OUT(); return; L_08AE9B14: ctx.gpr[2] = (0u | 0u); @@ -4758,7 +4759,7 @@ L_08AE9FB0: aot_gpr_5 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08AE9FD8u); ctx.gpr[6] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE9FD8u) goto L_08AE9FD8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AE9FD8u) goto L_08AE9FD8; AOT_REGCACHE_SYNC_OUT(); return; L_08AE9FD8: ctx.gpr[2] = (0u | 0u); @@ -5029,7 +5030,7 @@ L_08AEA250: L_08AEA258: aot_gpr_31 = (0x08AEA260u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEA260u) goto L_08AEA260; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B01E00, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEA260u) goto L_08AEA260; AOT_REGCACHE_SYNC_OUT(); return; L_08AEA260: { const bool branch_taken = ctx.gpr[2] == ctx.gpr[22]; @@ -5042,7 +5043,7 @@ L_08AEA260: L_08AEA268: aot_gpr_31 = (0x08AEA270u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEA270u) goto L_08AEA270; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B01E00, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEA270u) goto L_08AEA270; AOT_REGCACHE_SYNC_OUT(); return; L_08AEA270: { const bool branch_taken = ctx.gpr[2] != ctx.gpr[30]; @@ -5133,7 +5134,7 @@ L_08AEA2E8: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); aot_gpr_31 = (0x08AEA2FCu); ctx.gpr[6] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEA2FCu) goto L_08AEA2FC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEA2FCu) goto L_08AEA2FC; AOT_REGCACHE_SYNC_OUT(); return; L_08AEA2FC: ctx.gpr[2] = (0u | 0u); @@ -5241,7 +5242,7 @@ L_08AEA3F8: aot_gpr_16 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08AEA404u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEA404u) goto L_08AEA404; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B01E00, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEA404u) goto L_08AEA404; AOT_REGCACHE_SYNC_OUT(); return; L_08AEA404: aot_gpr_4 = (0u | 3u); @@ -5578,7 +5579,7 @@ L_08AEA6EC: aot_gpr_5 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08AEA70Cu); ctx.gpr[6] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEA70Cu) goto L_08AEA70C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEA70Cu) goto L_08AEA70C; AOT_REGCACHE_SYNC_OUT(); return; L_08AEA70C: ctx.gpr[2] = (0u | 0u); @@ -5682,7 +5683,7 @@ L_08AEA7E4: L_08AEA804: aot_gpr_31 = (0x08AEA80Cu); ctx.gpr[20] = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEA80Cu) goto L_08AEA80C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEA80Cu) goto L_08AEA80C; AOT_REGCACHE_SYNC_OUT(); return; L_08AEA80C: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[0] <= ctx.fpr[22])) ? 0x00800000u : 0u); @@ -6133,7 +6134,7 @@ L_08AEAB50: aot_fpr_14 = aot_fpr_14 + ctx.fpr[15]; aot_gpr_31 = (0x08AEAB98u); ctx.fpr[15] = ctx.fpr[16] - ctx.fpr[15]; - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEAB98u) goto L_08AEAB98; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, ctx.fpr[15]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEAB98u) goto L_08AEAB98; AOT_REGCACHE_SYNC_OUT(); return; L_08AEAB98: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); @@ -6220,7 +6221,7 @@ L_08AEAC9C: aot_gpr_5 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08AEACCCu); ctx.gpr[6] = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEACCCu) goto L_08AEACCC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEACCCu) goto L_08AEACCC; AOT_REGCACHE_SYNC_OUT(); return; L_08AEACCC: ctx.gpr[2] = (0u | 0u); @@ -6593,7 +6594,7 @@ L_08AEB064: aot_gpr_5 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08AEB07Cu); ctx.gpr[6] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEB07Cu) goto L_08AEB07C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEB07Cu) goto L_08AEB07C; AOT_REGCACHE_SYNC_OUT(); return; L_08AEB07C: ctx.gpr[2] = (0u | 0u); @@ -6636,7 +6637,7 @@ L_08AEB0D4: aot_gpr_5 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08AEB0ECu); ctx.gpr[6] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEB0ECu) goto L_08AEB0EC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEB0ECu) goto L_08AEB0EC; AOT_REGCACHE_SYNC_OUT(); return; L_08AEB0EC: ctx.gpr[2] = (0u | 0u); @@ -6696,7 +6697,7 @@ L_08AEB168: aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08AEB180u); ctx.gpr[6] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEB180u) goto L_08AEB180; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEB180u) goto L_08AEB180; AOT_REGCACHE_SYNC_OUT(); return; L_08AEB180: ctx.gpr[2] = (0u | 0u); @@ -6756,7 +6757,7 @@ L_08AEB1FC: aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08AEB214u); ctx.gpr[6] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEB214u) goto L_08AEB214; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEB214u) goto L_08AEB214; AOT_REGCACHE_SYNC_OUT(); return; L_08AEB214: ctx.gpr[2] = (0u | 0u); @@ -7043,7 +7044,7 @@ L_08AEB424: aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08AEB434u); ctx.gpr[6] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEB434u) goto L_08AEB434; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEB434u) goto L_08AEB434; AOT_REGCACHE_SYNC_OUT(); return; L_08AEB434: ctx.gpr[2] = (0u | 0u); @@ -7128,7 +7129,7 @@ L_08AEB4D4: aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08AEB4E4u); ctx.gpr[6] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEB4E4u) goto L_08AEB4E4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEB4E4u) goto L_08AEB4E4; AOT_REGCACHE_SYNC_OUT(); return; L_08AEB4E4: ctx.gpr[2] = (0u | 0u); @@ -7309,7 +7310,7 @@ L_08AEB6AC: aot_gpr_5 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08AEB6C0u); ctx.gpr[6] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEB6C0u) goto L_08AEB6C0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEB6C0u) goto L_08AEB6C0; AOT_REGCACHE_SYNC_OUT(); return; L_08AEB6C0: ctx.gpr[2] = (0u | 0u); @@ -7923,7 +7924,7 @@ L_08AEBC3C: aot_gpr_5 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08AEBC64u); ctx.gpr[6] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEBC64u) goto L_08AEBC64; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEBC64u) goto L_08AEBC64; AOT_REGCACHE_SYNC_OUT(); return; L_08AEBC64: ctx.gpr[2] = (0u | 0u); diff --git a/profiles/vcs/generated/generated_unit_0186.cpp b/profiles/vcs/generated/generated_unit_0186.cpp index bec4715..e1cc291 100644 --- a/profiles/vcs/generated/generated_unit_0186.cpp +++ b/profiles/vcs/generated/generated_unit_0186.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0186[4093] = { }; void recomp_unit_0186_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,6,29,16,31 fprs=12,14,13,20 gpr_occ=3765 fpr_occ=363 gpr_total=5785 fpr_total=507 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,6,31,29,16 fprs=12,14,13,20 gpr_occ=3869 fpr_occ=363 gpr_total=5970 fpr_total=507 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_6 = ctx.gpr[6]; + std::uint32_t aot_gpr_31 = ctx.gpr[31]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_16 = ctx.gpr[16]; - std::uint32_t aot_gpr_31 = ctx.gpr[31]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_14 = ctx.fpr[14]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_20 = ctx.fpr[20]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[6] = aot_gpr_6; ctx.gpr[29] = aot_gpr_29; ctx.gpr[16] = aot_gpr_16; ctx.gpr[31] = aot_gpr_31; ctx.fpr[12] = aot_fpr_12; ctx.fpr[14] = aot_fpr_14; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_31 = ctx.gpr[31]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[6] = aot_gpr_6; ctx.gpr[31] = aot_gpr_31; ctx.gpr[29] = aot_gpr_29; ctx.gpr[16] = aot_gpr_16; ctx.fpr[12] = aot_fpr_12; ctx.fpr[14] = aot_fpr_14; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_16 = ctx.gpr[16]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -1083,7 +1084,7 @@ L_08AEC07C: aot_gpr_5 = (ctx.gpr[30] | 0u); aot_gpr_31 = (0x08AEC090u); aot_gpr_6 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEC090u) goto L_08AEC090; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEC090u) goto L_08AEC090; AOT_REGCACHE_SYNC_OUT(); return; L_08AEC090: { const bool branch_taken = 0u == 0u; @@ -1509,7 +1510,7 @@ L_08AEC3A8: aot_gpr_5 = (ctx.gpr[30] | 0u); aot_gpr_31 = (0x08AEC3BCu); aot_gpr_6 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEC3BCu) goto L_08AEC3BC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEC3BCu) goto L_08AEC3BC; AOT_REGCACHE_SYNC_OUT(); return; L_08AEC3BC: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7080))); @@ -1523,7 +1524,7 @@ L_08AEC3BC: L_08AEC3C8: aot_gpr_31 = (0x08AEC3D0u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEC3D0u) goto L_08AEC3D0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B01E00, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEC3D0u) goto L_08AEC3D0; AOT_REGCACHE_SYNC_OUT(); return; L_08AEC3D0: aot_gpr_4 = (0u | 2u); @@ -1650,7 +1651,7 @@ L_08AEC4E4: ctx.gpr[19] = (0u | 0u); aot_gpr_31 = (0x08AEC4F4u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEC4F4u) goto L_08AEC4F4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEC4F4u) goto L_08AEC4F4; AOT_REGCACHE_SYNC_OUT(); return; L_08AEC4F4: aot_gpr_4 = (ctx.gpr[2] | 0u); @@ -1658,7 +1659,7 @@ L_08AEC4F4: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(20))); aot_gpr_31 = (0x08AEC508u); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(16))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEC508u) goto L_08AEC508; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEC508u) goto L_08AEC508; AOT_REGCACHE_SYNC_OUT(); return; L_08AEC508: ctx.gpr[1] = (ctx.gpr[3] << 1u); @@ -4860,7 +4861,7 @@ L_08AEDBA8: L_08AEDBC4: aot_gpr_31 = (0x08AEDBCCu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEDBCCu) goto L_08AEDBCC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEDBCCu) goto L_08AEDBCC; AOT_REGCACHE_SYNC_OUT(); return; L_08AEDBCC: aot_gpr_4 = (ctx.gpr[2] | 0u); @@ -4868,7 +4869,7 @@ L_08AEDBCC: ctx.gpr[7] = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x08AEDBE0u); aot_gpr_6 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEDBE0u) goto L_08AEDBE0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEDBE0u) goto L_08AEDBE0; AOT_REGCACHE_SYNC_OUT(); return; L_08AEDBE0: ctx.gpr[1] = (ctx.gpr[3] << 1u); @@ -4892,7 +4893,7 @@ L_08AEDC04: L_08AEDC0C: aot_gpr_31 = (0x08AEDC14u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEDC14u) goto L_08AEDC14; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEDC14u) goto L_08AEDC14; AOT_REGCACHE_SYNC_OUT(); return; L_08AEDC14: aot_gpr_4 = (ctx.gpr[2] | 0u); @@ -4900,7 +4901,7 @@ L_08AEDC14: ctx.gpr[7] = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x08AEDC28u); aot_gpr_6 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEDC28u) goto L_08AEDC28; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEDC28u) goto L_08AEDC28; AOT_REGCACHE_SYNC_OUT(); return; L_08AEDC28: ctx.gpr[1] = (ctx.gpr[3] << 1u); @@ -7079,7 +7080,7 @@ L_08AEF028: L_08AEF034: aot_gpr_31 = (0x08AEF03Cu); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEF03Cu) goto L_08AEF03C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEF03Cu) goto L_08AEF03C; AOT_REGCACHE_SYNC_OUT(); return; L_08AEF03C: ctx.gpr[19] = (ctx.gpr[18] | 0u); @@ -7190,7 +7191,7 @@ L_08AEF114: L_08AEF120: aot_gpr_31 = (0x08AEF128u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEF128u) goto L_08AEF128; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEF128u) goto L_08AEF128; AOT_REGCACHE_SYNC_OUT(); return; L_08AEF128: ctx.gpr[19] = (ctx.gpr[18] | 0u); @@ -7300,7 +7301,7 @@ L_08AEF1FC: L_08AEF208: aot_gpr_31 = (0x08AEF210u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEF210u) goto L_08AEF210; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEF210u) goto L_08AEF210; AOT_REGCACHE_SYNC_OUT(); return; L_08AEF210: ctx.gpr[19] = (ctx.gpr[18] | 0u); @@ -7412,7 +7413,7 @@ L_08AEF2EC: L_08AEF2F8: aot_gpr_31 = (0x08AEF300u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEF300u) goto L_08AEF300; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEF300u) goto L_08AEF300; AOT_REGCACHE_SYNC_OUT(); return; L_08AEF300: ctx.gpr[19] = (ctx.gpr[18] | 0u); @@ -7538,7 +7539,7 @@ L_08AEF3F4: L_08AEF400: aot_gpr_31 = (0x08AEF408u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEF408u) goto L_08AEF408; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEF408u) goto L_08AEF408; AOT_REGCACHE_SYNC_OUT(); return; L_08AEF408: ctx.gpr[19] = (ctx.gpr[18] | 0u); @@ -7656,7 +7657,7 @@ L_08AEF4FC: L_08AEF508: aot_gpr_31 = (0x08AEF510u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEF510u) goto L_08AEF510; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEF510u) goto L_08AEF510; AOT_REGCACHE_SYNC_OUT(); return; L_08AEF510: ctx.gpr[19] = (ctx.gpr[18] | 0u); @@ -7773,7 +7774,7 @@ L_08AEF600: L_08AEF60C: aot_gpr_31 = (0x08AEF614u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEF614u) goto L_08AEF614; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEF614u) goto L_08AEF614; AOT_REGCACHE_SYNC_OUT(); return; L_08AEF614: ctx.gpr[19] = (ctx.gpr[18] | 0u); @@ -7892,7 +7893,7 @@ L_08AEF70C: L_08AEF718: aot_gpr_31 = (0x08AEF720u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEF720u) goto L_08AEF720; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEF720u) goto L_08AEF720; AOT_REGCACHE_SYNC_OUT(); return; L_08AEF720: ctx.gpr[19] = (ctx.gpr[18] | 0u); @@ -8009,7 +8010,7 @@ L_08AEF810: L_08AEF81C: aot_gpr_31 = (0x08AEF824u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEF824u) goto L_08AEF824; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEF824u) goto L_08AEF824; AOT_REGCACHE_SYNC_OUT(); return; L_08AEF824: ctx.gpr[19] = (ctx.gpr[18] | 0u); @@ -8120,7 +8121,7 @@ L_08AEF8FC: L_08AEF908: aot_gpr_31 = (0x08AEF910u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEF910u) goto L_08AEF910; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEF910u) goto L_08AEF910; AOT_REGCACHE_SYNC_OUT(); return; L_08AEF910: ctx.gpr[19] = (ctx.gpr[18] | 0u); @@ -8285,7 +8286,7 @@ L_08AEFA74: L_08AEFA80: aot_gpr_31 = (0x08AEFA88u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEFA88u) goto L_08AEFA88; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEFA88u) goto L_08AEFA88; AOT_REGCACHE_SYNC_OUT(); return; L_08AEFA88: ctx.gpr[19] = (ctx.gpr[18] | 0u); @@ -8402,7 +8403,7 @@ L_08AEFB78: L_08AEFB84: aot_gpr_31 = (0x08AEFB8Cu); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEFB8Cu) goto L_08AEFB8C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEFB8Cu) goto L_08AEFB8C; AOT_REGCACHE_SYNC_OUT(); return; L_08AEFB8C: ctx.gpr[19] = (ctx.gpr[18] | 0u); @@ -8521,7 +8522,7 @@ L_08AEFC84: L_08AEFC90: aot_gpr_31 = (0x08AEFC98u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEFC98u) goto L_08AEFC98; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEFC98u) goto L_08AEFC98; AOT_REGCACHE_SYNC_OUT(); return; L_08AEFC98: ctx.gpr[19] = (ctx.gpr[18] | 0u); @@ -8638,7 +8639,7 @@ L_08AEFD88: L_08AEFD94: aot_gpr_31 = (0x08AEFD9Cu); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEFD9Cu) goto L_08AEFD9C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEFD9Cu) goto L_08AEFD9C; AOT_REGCACHE_SYNC_OUT(); return; L_08AEFD9C: ctx.gpr[19] = (ctx.gpr[18] | 0u); @@ -8755,7 +8756,7 @@ L_08AEFE8C: L_08AEFE98: aot_gpr_31 = (0x08AEFEA0u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEFEA0u) goto L_08AEFEA0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEFEA0u) goto L_08AEFEA0; AOT_REGCACHE_SYNC_OUT(); return; L_08AEFEA0: ctx.gpr[19] = (ctx.gpr[18] | 0u); @@ -8874,7 +8875,7 @@ L_08AEFF98: L_08AEFFA4: aot_gpr_31 = (0x08AEFFACu); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEFFACu) goto L_08AEFFAC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AEFFACu) goto L_08AEFFAC; AOT_REGCACHE_SYNC_OUT(); return; L_08AEFFAC: ctx.gpr[19] = (ctx.gpr[18] | 0u); diff --git a/profiles/vcs/generated/generated_unit_0187.cpp b/profiles/vcs/generated/generated_unit_0187.cpp index 61b8e20..feaef6c 100644 --- a/profiles/vcs/generated/generated_unit_0187.cpp +++ b/profiles/vcs/generated/generated_unit_0187.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0187[4096] = { }; void recomp_unit_0187_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,29,31,5,16,17 fprs=22,12,20,13 gpr_occ=4290 fpr_occ=209 gpr_total=6019 fpr_total=299 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,29,31,5,16,6 fprs=22,12,20,13 gpr_occ=4344 fpr_occ=209 gpr_total=6252 fpr_total=299 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_16 = ctx.gpr[16]; - std::uint32_t aot_gpr_17 = ctx.gpr[17]; + std::uint32_t aot_gpr_6 = ctx.gpr[6]; float aot_fpr_22 = ctx.fpr[22]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_20 = ctx.fpr[20]; float aot_fpr_13 = ctx.fpr[13]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[29] = aot_gpr_29; ctx.gpr[31] = aot_gpr_31; ctx.gpr[5] = aot_gpr_5; ctx.gpr[16] = aot_gpr_16; ctx.gpr[17] = aot_gpr_17; ctx.fpr[22] = aot_fpr_22; ctx.fpr[12] = aot_fpr_12; ctx.fpr[20] = aot_fpr_20; ctx.fpr[13] = aot_fpr_13; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_17 = ctx.gpr[17]; aot_fpr_22 = ctx.fpr[22]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_13 = ctx.fpr[13]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[29] = aot_gpr_29; ctx.gpr[31] = aot_gpr_31; ctx.gpr[5] = aot_gpr_5; ctx.gpr[16] = aot_gpr_16; ctx.gpr[6] = aot_gpr_6; ctx.fpr[22] = aot_fpr_22; ctx.fpr[12] = aot_fpr_12; ctx.fpr[20] = aot_fpr_20; ctx.fpr[13] = aot_fpr_13; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_6 = ctx.gpr[6]; aot_fpr_22 = ctx.fpr[22]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_13 = ctx.fpr[13]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -1063,15 +1064,15 @@ LOCAL_DISPATCH: } } L_08AF0000: - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[6] = (0u | 6u); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_6 = (0u | 6u); aot_gpr_31 = (0x08AF0010u); ctx.gpr[7] = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF0010u) goto L_08AF0010; AOT_REGCACHE_SYNC_OUT(); return; L_08AF0010: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(16))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(20))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(20))); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(29704))); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(ctx.gpr[20] + static_cast(4), aot_run_words); @@ -1080,7 +1081,7 @@ L_08AF0010: ctx.gpr[10] = aot_run_words[2]; } ctx.gpr[2] = (0u + static_cast(-1)); - ctx.gpr[6] = (ctx.gpr[6] & 65535u); + aot_gpr_6 = (aot_gpr_6 & 65535u); aot_gpr_4 = (ctx.gpr[18] | 0u); ctx.gpr[11] = (0u + static_cast(-1)); aot_gpr_31 = (0x08AF0040u); @@ -1092,7 +1093,7 @@ L_08AF0040: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(20), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -1107,8 +1108,8 @@ L_08AF0040: L_08AF0064: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_17); - aot_gpr_17 = (aot_gpr_4 + static_cast(16)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_4 + static_cast(16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_16); { const std::uint32_t aot_run_words[4]{ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(28), aot_run_words); } @@ -1137,7 +1138,7 @@ L_08AF009C: L_08AF00A8: aot_gpr_31 = (0x08AF00B0u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF00B0u) goto L_08AF00B0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF00B0u) goto L_08AF00B0; AOT_REGCACHE_SYNC_OUT(); return; L_08AF00B0: ctx.gpr[19] = (ctx.gpr[18] | 0u); @@ -1149,9 +1150,9 @@ L_08AF00B8: ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); ctx.gpr[7] = (aot_gpr_29 + static_cast(16)); aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08AF00D0u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF00D0u) goto L_08AF00D0; AOT_REGCACHE_SYNC_OUT(); return; L_08AF00D0: @@ -1183,15 +1184,15 @@ L_08AF00F4: ctx.gpr[20] = (ctx.gpr[19] + static_cast(29704)); ctx.gpr[18] = (ctx.gpr[2] | 0u); aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[6] = (0u | 8u); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_6 = (0u | 8u); aot_gpr_31 = (0x08AF0114u); ctx.gpr[7] = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF0114u) goto L_08AF0114; AOT_REGCACHE_SYNC_OUT(); return; L_08AF0114: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(24))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(28))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(28))); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(29704))); { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(ctx.gpr[20] + static_cast(4), aot_run_words); @@ -1201,7 +1202,7 @@ L_08AF0114: ctx.gpr[11] = aot_run_words[3]; ctx.gpr[2] = aot_run_words[4]; } - ctx.gpr[6] = (ctx.gpr[6] & 65535u); + aot_gpr_6 = (aot_gpr_6 & 65535u); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08AF0144u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[2]); @@ -1212,7 +1213,7 @@ L_08AF0144: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(20), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -1228,14 +1229,14 @@ L_08AF0168: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[18]); ctx.gpr[18] = (2236u << 16u); - aot_gpr_17 = (aot_gpr_16 + static_cast(16)); + ctx.gpr[17] = (aot_gpr_16 + static_cast(16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[19]); ctx.gpr[19] = (ctx.gpr[18] + static_cast(29704)); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[6] = (0u | 2u); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_6 = (0u | 2u); { const std::uint32_t aot_run_words[3]{ctx.gpr[20], ctx.gpr[21], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(20), aot_run_words); } aot_gpr_31 = (0x08AF01A8u); @@ -1269,7 +1270,7 @@ L_08AF01C0: L_08AF01CC: aot_gpr_31 = (0x08AF01D4u); aot_gpr_4 = (ctx.gpr[21] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF01D4u) goto L_08AF01D4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF01D4u) goto L_08AF01D4; AOT_REGCACHE_SYNC_OUT(); return; L_08AF01D4: ctx.gpr[20] = (ctx.gpr[21] | 0u); @@ -1280,8 +1281,8 @@ L_08AF01D8: goto L_08AF01E0; L_08AF01E0: aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_6 = (0u | 1u); aot_gpr_31 = (0x08AF01F4u); ctx.gpr[7] = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF01F4u) goto L_08AF01F4; @@ -1322,23 +1323,23 @@ L_08AF0218: } L_08AF0228: aot_gpr_5 = (aot_gpr_4 << 6u); - ctx.gpr[6] = (aot_gpr_4 << 3u); + aot_gpr_6 = (aot_gpr_4 << 3u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(29704))); - aot_gpr_5 = (aot_gpr_5 - ctx.gpr[6]); - ctx.gpr[6] = (aot_gpr_5 + aot_gpr_5); + aot_gpr_5 = (aot_gpr_5 - aot_gpr_6); + aot_gpr_6 = (aot_gpr_5 + aot_gpr_5); ctx.gpr[18] = (2239u << 16u); - aot_gpr_5 = (aot_gpr_5 + ctx.gpr[6]); + aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); ctx.gpr[18] = (ctx.gpr[18] + static_cast(32064)); aot_gpr_5 = (aot_gpr_5 + ctx.gpr[18]); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(28), std::bit_cast(aot_fpr_12)); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(36)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(36)))))); ctx.gpr[7] = (0u + static_cast(-33)); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(32), std::bit_cast(aot_fpr_13)); - ctx.gpr[6] = (ctx.gpr[6] & ctx.gpr[7]); - aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(36), static_cast(ctx.gpr[6])); - ctx.gpr[6] = (aot_gpr_16 | 0u); - ctx.gpr[7] = (aot_mem.aot_direct_load16(ctx.gpr[6] + static_cast(0))); + aot_gpr_6 = (aot_gpr_6 & ctx.gpr[7]); + aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(36), static_cast(aot_gpr_6)); + aot_gpr_6 = (aot_gpr_16 | 0u); + ctx.gpr[7] = (aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(0))); { const bool branch_taken = ctx.gpr[7] != 0u; aot_gpr_5 = (0u | 0u); if (branch_taken) { @@ -1363,8 +1364,8 @@ L_08AF0280: goto L_08AF0288; } L_08AF0288: - ctx.gpr[6] = (ctx.gpr[6] + static_cast(2)); - ctx.gpr[7] = (aot_mem.aot_direct_load16(ctx.gpr[6] + static_cast(0))); + aot_gpr_6 = (aot_gpr_6 + static_cast(2)); + ctx.gpr[7] = (aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(0))); { const bool branch_taken = ctx.gpr[7] != 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(1)); if (branch_taken) { @@ -1373,8 +1374,8 @@ L_08AF0288: goto L_08AF0298; } L_08AF0298: - ctx.gpr[6] = (static_cast(aot_gpr_5) < 64 ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] != 0u; + aot_gpr_6 = (static_cast(aot_gpr_5) < 64 ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 != 0u; // nop if (branch_taken) { goto L_08AF02B0; @@ -1387,8 +1388,8 @@ L_08AF02A4: aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[28] + static_cast(7986))); goto L_08AF02B0; L_08AF02B0: - ctx.gpr[6] = (0u | 0u); - ctx.gpr[7] = (static_cast(ctx.gpr[6]) < static_cast(aot_gpr_5) ? 1u : 0u); + aot_gpr_6 = (0u | 0u); + ctx.gpr[7] = (static_cast(aot_gpr_6) < static_cast(aot_gpr_5) ? 1u : 0u); { const bool branch_taken = ctx.gpr[7] == 0u; ctx.gpr[7] = (aot_gpr_4 << 6u); if (branch_taken) { @@ -1405,10 +1406,10 @@ L_08AF02C0: goto L_08AF02D4; L_08AF02D4: ctx.gpr[8] = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(0))); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(1)); + aot_gpr_6 = (aot_gpr_6 + static_cast(1)); aot_mem.aot_direct_store16(ctx.gpr[7] + static_cast(38), static_cast(ctx.gpr[8])); aot_gpr_16 = (aot_gpr_16 + static_cast(2)); - ctx.gpr[8] = (static_cast(ctx.gpr[6]) < static_cast(aot_gpr_5) ? 1u : 0u); + ctx.gpr[8] = (static_cast(aot_gpr_6) < static_cast(aot_gpr_5) ? 1u : 0u); { const bool branch_taken = ctx.gpr[8] != 0u; ctx.gpr[7] = (ctx.gpr[7] + static_cast(2)); if (branch_taken) { @@ -1417,7 +1418,7 @@ L_08AF02D4: goto L_08AF02F0; } L_08AF02F0: - aot_gpr_5 = (static_cast(ctx.gpr[6]) < 64 ? 1u : 0u); + aot_gpr_5 = (static_cast(aot_gpr_6) < 64 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_5 = (aot_gpr_4 << 6u); if (branch_taken) { @@ -1430,14 +1431,14 @@ L_08AF02FC: aot_gpr_5 = (aot_gpr_5 - ctx.gpr[7]); ctx.gpr[7] = (aot_gpr_5 + aot_gpr_5); aot_gpr_5 = (aot_gpr_5 + ctx.gpr[7]); - ctx.gpr[7] = (ctx.gpr[6] + ctx.gpr[6]); + ctx.gpr[7] = (aot_gpr_6 + aot_gpr_6); aot_gpr_5 = (aot_gpr_5 + ctx.gpr[7]); ctx.gpr[18] = (aot_gpr_5 + ctx.gpr[18]); goto L_08AF0318; L_08AF0318: aot_mem.aot_direct_store16(ctx.gpr[18] + static_cast(38), static_cast(0u)); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(1)); - aot_gpr_5 = (static_cast(ctx.gpr[6]) < 64 ? 1u : 0u); + aot_gpr_6 = (aot_gpr_6 + static_cast(1)); + aot_gpr_5 = (static_cast(aot_gpr_6) < 64 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 != 0u; ctx.gpr[18] = (ctx.gpr[18] + static_cast(2)); if (branch_taken) { @@ -1454,7 +1455,7 @@ L_08AF0338: { std::uint32_t aot_run_words[7]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(4), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -1471,13 +1472,13 @@ L_08AF035C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (2236u << 16u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_16 + static_cast(29704)); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 2u); + aot_gpr_6 = (0u | 2u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08AF0384u); - ctx.gpr[7] = (aot_gpr_17 | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF0384u) goto L_08AF0384; AOT_REGCACHE_SYNC_OUT(); return; L_08AF0384: @@ -1491,14 +1492,14 @@ L_08AF0384: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); aot_gpr_5 = (aot_gpr_5 + static_cast(32064)); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(8), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(12), std::bit_cast(aot_fpr_13)); ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -1511,30 +1512,30 @@ L_08AF03D0: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_16); aot_gpr_16 = (2236u << 16u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_17); - aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_16 + static_cast(29704)); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 4u); + aot_gpr_6 = (0u | 4u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); aot_gpr_31 = (0x08AF03F8u); - ctx.gpr[7] = (aot_gpr_17 | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF03F8u) goto L_08AF03F8; AOT_REGCACHE_SYNC_OUT(); return; L_08AF03F8: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); { std::uint32_t aot_run_words[3]{}; - aot_mem.aot_direct_load32_block(aot_gpr_17 + static_cast(4), aot_run_words); - ctx.gpr[6] = aot_run_words[0]; + aot_mem.aot_direct_load32_block(ctx.gpr[17] + static_cast(4), aot_run_words); + aot_gpr_6 = aot_run_words[0]; ctx.gpr[7] = aot_run_words[1]; ctx.gpr[8] = aot_run_words[2]; } aot_gpr_5 = (aot_gpr_5 & 255u); - ctx.gpr[6] = (ctx.gpr[6] & 255u); + aot_gpr_6 = (aot_gpr_6 & 255u); ctx.gpr[7] = (ctx.gpr[7] & 255u); ctx.gpr[8] = (ctx.gpr[8] & 255u); aot_gpr_31 = (0x08AF0420u); aot_gpr_4 = (aot_gpr_29 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF0420u) goto L_08AF0420; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF0420u) goto L_08AF0420; AOT_REGCACHE_SYNC_OUT(); return; L_08AF0420: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(0))); @@ -1545,17 +1546,17 @@ L_08AF0420: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(2))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(6), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(3))); - ctx.gpr[6] = (aot_gpr_5 << 6u); + aot_gpr_6 = (aot_gpr_5 << 6u); aot_gpr_5 = (aot_gpr_5 << 3u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(7), static_cast(aot_gpr_4)); - aot_gpr_4 = (ctx.gpr[6] - aot_gpr_5); + aot_gpr_4 = (aot_gpr_6 - aot_gpr_5); aot_gpr_5 = (aot_gpr_4 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_5 = (2239u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(32064)); - ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(4))); + aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(4))); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); - aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(ctx.gpr[6])); + aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_6)); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(5))); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(1), static_cast(aot_gpr_5)); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(6))); @@ -1566,7 +1567,7 @@ L_08AF0420: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(8), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -1580,7 +1581,7 @@ L_08AF049C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (2236u << 16u); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x08AF04BCu); ctx.gpr[7] = (aot_gpr_16 + static_cast(29704)); @@ -1595,9 +1596,9 @@ L_08AF04BC: aot_gpr_5 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (2239u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(32064)); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); aot_gpr_5 = (aot_gpr_5 + aot_gpr_4); - { const bool branch_taken = ctx.gpr[6] == 0u; + { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(36)))))); if (branch_taken) { goto L_08AF04F8; @@ -1614,8 +1615,8 @@ L_08AF04EC: goto L_08AF04F8; } L_08AF04F8: - ctx.gpr[6] = (0u + static_cast(-2)); - aot_gpr_4 = (aot_gpr_4 & ctx.gpr[6]); + aot_gpr_6 = (0u + static_cast(-2)); + aot_gpr_4 = (aot_gpr_4 & aot_gpr_6); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(36), static_cast(aot_gpr_4)); goto L_08AF0504; L_08AF0504: @@ -1633,7 +1634,7 @@ L_08AF0518: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (2236u << 16u); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x08AF0538u); ctx.gpr[7] = (aot_gpr_16 + static_cast(29704)); @@ -1648,9 +1649,9 @@ L_08AF0538: aot_gpr_5 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (2239u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(32064)); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); aot_gpr_5 = (aot_gpr_5 + aot_gpr_4); - { const bool branch_taken = ctx.gpr[6] == 0u; + { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(36)))))); if (branch_taken) { goto L_08AF0574; @@ -1667,8 +1668,8 @@ L_08AF0568: goto L_08AF0574; } L_08AF0574: - ctx.gpr[6] = (0u + static_cast(-3)); - aot_gpr_4 = (aot_gpr_4 & ctx.gpr[6]); + aot_gpr_6 = (0u + static_cast(-3)); + aot_gpr_4 = (aot_gpr_4 & aot_gpr_6); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(36), static_cast(aot_gpr_4)); goto L_08AF0580; L_08AF0580: @@ -1686,7 +1687,7 @@ L_08AF0594: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (2236u << 16u); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x08AF05B4u); ctx.gpr[7] = (aot_gpr_16 + static_cast(29704)); @@ -1732,7 +1733,7 @@ L_08AF060C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (2236u << 16u); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x08AF062Cu); ctx.gpr[7] = (aot_gpr_16 + static_cast(29704)); @@ -1747,9 +1748,9 @@ L_08AF062C: aot_gpr_5 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (2239u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(32064)); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); aot_gpr_5 = (aot_gpr_5 + aot_gpr_4); - { const bool branch_taken = ctx.gpr[6] == 0u; + { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(36)))))); if (branch_taken) { goto L_08AF0668; @@ -1766,8 +1767,8 @@ L_08AF065C: goto L_08AF0668; } L_08AF0668: - ctx.gpr[6] = (0u + static_cast(-5)); - aot_gpr_4 = (aot_gpr_4 & ctx.gpr[6]); + aot_gpr_6 = (0u + static_cast(-5)); + aot_gpr_4 = (aot_gpr_4 & aot_gpr_6); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(36), static_cast(aot_gpr_4)); goto L_08AF0674; L_08AF0674: @@ -1785,7 +1786,7 @@ L_08AF0688: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (2236u << 16u); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x08AF06A8u); ctx.gpr[7] = (aot_gpr_16 + static_cast(29704)); @@ -1800,9 +1801,9 @@ L_08AF06A8: aot_gpr_5 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (2239u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(32064)); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); aot_gpr_5 = (aot_gpr_5 + aot_gpr_4); - { const bool branch_taken = ctx.gpr[6] == 0u; + { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(36)))))); if (branch_taken) { goto L_08AF06E4; @@ -1819,8 +1820,8 @@ L_08AF06D8: goto L_08AF06E4; } L_08AF06E4: - ctx.gpr[6] = (0u + static_cast(-17)); - aot_gpr_4 = (aot_gpr_4 & ctx.gpr[6]); + aot_gpr_6 = (0u + static_cast(-17)); + aot_gpr_4 = (aot_gpr_4 & aot_gpr_6); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(36), static_cast(aot_gpr_4)); goto L_08AF06F0; L_08AF06F0: @@ -1836,8 +1837,8 @@ L_08AF06F0: L_08AF0704: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_17); - aot_gpr_17 = (aot_gpr_4 + static_cast(16)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_4 + static_cast(16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_16); { const std::uint32_t aot_run_words[4]{ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(28), aot_run_words); } @@ -1866,7 +1867,7 @@ L_08AF073C: L_08AF0748: aot_gpr_31 = (0x08AF0750u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF0750u) goto L_08AF0750; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF0750u) goto L_08AF0750; AOT_REGCACHE_SYNC_OUT(); return; L_08AF0750: ctx.gpr[19] = (ctx.gpr[18] | 0u); @@ -1878,9 +1879,9 @@ L_08AF0758: ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); ctx.gpr[7] = (aot_gpr_29 + static_cast(16)); aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08AF0770u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF0770u) goto L_08AF0770; AOT_REGCACHE_SYNC_OUT(); return; L_08AF0770: @@ -1912,8 +1913,8 @@ L_08AF0794: ctx.gpr[20] = (ctx.gpr[19] + static_cast(29704)); ctx.gpr[18] = (ctx.gpr[2] | 0u); aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[6] = (0u | 4u); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_6 = (0u | 4u); aot_gpr_31 = (0x08AF07B4u); ctx.gpr[7] = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF07B4u) goto L_08AF07B4; @@ -1922,10 +1923,10 @@ L_08AF07B4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(12))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(8))); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(29704))); - ctx.gpr[6] = (aot_gpr_4 + static_cast(-1)); + aot_gpr_6 = (aot_gpr_4 + static_cast(-1)); ctx.gpr[8] = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(4))); ctx.gpr[2] = (0u + static_cast(-1)); - ctx.gpr[6] = (ctx.gpr[6] & 65535u); + aot_gpr_6 = (aot_gpr_6 & 65535u); aot_gpr_4 = (ctx.gpr[18] | 0u); ctx.gpr[9] = (0u + static_cast(-1)); ctx.gpr[10] = (0u + static_cast(-1)); @@ -1939,7 +1940,7 @@ L_08AF07E8: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(20), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -1954,8 +1955,8 @@ L_08AF07E8: L_08AF080C: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_17); - aot_gpr_17 = (aot_gpr_4 + static_cast(16)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_4 + static_cast(16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_16); { const std::uint32_t aot_run_words[4]{ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(28), aot_run_words); } @@ -1984,7 +1985,7 @@ L_08AF0844: L_08AF0850: aot_gpr_31 = (0x08AF0858u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF0858u) goto L_08AF0858; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF0858u) goto L_08AF0858; AOT_REGCACHE_SYNC_OUT(); return; L_08AF0858: ctx.gpr[19] = (ctx.gpr[18] | 0u); @@ -1996,9 +1997,9 @@ L_08AF0860: ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); ctx.gpr[7] = (aot_gpr_29 + static_cast(16)); aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08AF0878u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF0878u) goto L_08AF0878; AOT_REGCACHE_SYNC_OUT(); return; L_08AF0878: @@ -2030,8 +2031,8 @@ L_08AF089C: ctx.gpr[20] = (ctx.gpr[19] + static_cast(29704)); ctx.gpr[18] = (ctx.gpr[2] | 0u); aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[6] = (0u | 5u); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_6 = (0u | 5u); aot_gpr_31 = (0x08AF08BCu); ctx.gpr[7] = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF08BCu) goto L_08AF08BC; @@ -2041,10 +2042,10 @@ L_08AF08BC: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(12))); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(29704))); ctx.gpr[8] = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(4))); - ctx.gpr[6] = (aot_gpr_4 + static_cast(-1)); + aot_gpr_6 = (aot_gpr_4 + static_cast(-1)); ctx.gpr[9] = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(8))); ctx.gpr[2] = (0u + static_cast(-1)); - ctx.gpr[6] = (ctx.gpr[6] & 65535u); + aot_gpr_6 = (aot_gpr_6 & 65535u); aot_gpr_4 = (ctx.gpr[18] | 0u); ctx.gpr[10] = (0u + static_cast(-1)); ctx.gpr[11] = (0u + static_cast(-1)); @@ -2057,7 +2058,7 @@ L_08AF08F0: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(20), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -2071,14 +2072,14 @@ L_08AF08F0: AOT_REGCACHE_SYNC_OUT(); return; L_08AF0914: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_17); - aot_gpr_17 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[17]); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[18]); ctx.gpr[18] = (aot_gpr_4 + static_cast(16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_16); { const std::uint32_t aot_run_words[4]{ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(20), aot_run_words); } - { const bool branch_taken = aot_gpr_17 != 0u; + { const bool branch_taken = ctx.gpr[17] != 0u; aot_gpr_16 = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08AF096C; @@ -2086,7 +2087,7 @@ L_08AF0914: goto L_08AF0944; } L_08AF0944: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_31 = (0x08AF0950u); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF0950u) goto L_08AF0950; @@ -2103,18 +2104,18 @@ L_08AF0950: L_08AF095C: aot_gpr_31 = (0x08AF0964u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF0964u) goto L_08AF0964; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF0964u) goto L_08AF0964; AOT_REGCACHE_SYNC_OUT(); return; L_08AF0964: - aot_gpr_17 = (ctx.gpr[19] | 0u); + ctx.gpr[17] = (ctx.gpr[19] | 0u); goto L_08AF0968; L_08AF0968: - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_17); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), ctx.gpr[17]); goto L_08AF096C; L_08AF096C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_gpr_31 = (0x08AF0980u); ctx.gpr[7] = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF0980u) goto L_08AF0980; @@ -2138,14 +2139,14 @@ L_08AF0994: ctx.gpr[19] = (aot_gpr_4 + ctx.gpr[19]); goto L_08AF0998; L_08AF0998: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08AF09A4u); aot_gpr_5 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF09A4u) goto L_08AF09A4; AOT_REGCACHE_SYNC_OUT(); return; L_08AF09A4: - aot_gpr_17 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); - { const bool branch_taken = aot_gpr_17 != 0u; + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); + { const bool branch_taken = ctx.gpr[17] != 0u; ctx.gpr[19] = (ctx.gpr[2] | 0u); if (branch_taken) { goto L_08AF09D8; @@ -2153,7 +2154,7 @@ L_08AF09A4: goto L_08AF09B0; } L_08AF09B0: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_31 = (0x08AF09BCu); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF09BCu) goto L_08AF09BC; @@ -2170,20 +2171,20 @@ L_08AF09BC: L_08AF09C8: aot_gpr_31 = (0x08AF09D0u); aot_gpr_4 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF09D0u) goto L_08AF09D0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF09D0u) goto L_08AF09D0; AOT_REGCACHE_SYNC_OUT(); return; L_08AF09D0: - aot_gpr_17 = (ctx.gpr[20] | 0u); + ctx.gpr[17] = (ctx.gpr[20] | 0u); goto L_08AF09D4; L_08AF09D4: - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_17); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), ctx.gpr[17]); goto L_08AF09D8; L_08AF09D8: ctx.gpr[7] = (aot_gpr_29 + static_cast(4)); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08AF09ECu); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF09ECu) goto L_08AF09EC; AOT_REGCACHE_SYNC_OUT(); return; L_08AF09EC: @@ -2207,27 +2208,27 @@ L_08AF0A00: L_08AF0A04: aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_31 = (0x08AF0A10u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF0A10u) goto L_08AF0A10; AOT_REGCACHE_SYNC_OUT(); return; L_08AF0A10: ctx.gpr[20] = (2236u << 16u); ctx.gpr[21] = (ctx.gpr[20] + static_cast(29704)); - aot_gpr_17 = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (ctx.gpr[2] | 0u); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); - ctx.gpr[6] = (0u | 2u); + aot_gpr_6 = (0u | 2u); aot_gpr_31 = (0x08AF0A30u); ctx.gpr[7] = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF0A30u) goto L_08AF0A30; AOT_REGCACHE_SYNC_OUT(); return; L_08AF0A30: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(29704))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(4))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(4))); aot_gpr_4 = (ctx.gpr[19] | 0u); - ctx.gpr[6] = (ctx.gpr[6] & 65535u); + aot_gpr_6 = (aot_gpr_6 & 65535u); aot_gpr_31 = (0x08AF0A48u); - ctx.gpr[7] = (aot_gpr_17 | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0173_entry, 173u, 399u, 0x08ABA384u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF0A48u) goto L_08AF0A48; AOT_REGCACHE_SYNC_OUT(); return; L_08AF0A48: @@ -2235,7 +2236,7 @@ L_08AF0A48: { std::uint32_t aot_run_words[7]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(8), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -2251,7 +2252,7 @@ L_08AF0A48: L_08AF0A70: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(4), aot_run_words); } { const bool branch_taken = aot_gpr_5 != 0u; aot_gpr_16 = (aot_gpr_4 | 0u); @@ -2267,8 +2268,8 @@ L_08AF0A90: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF0A9Cu) goto L_08AF0A9C; AOT_REGCACHE_SYNC_OUT(); return; L_08AF0A9C: - aot_gpr_17 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (ctx.gpr[2] | 0u); + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_08AF0AB4; @@ -2277,11 +2278,11 @@ L_08AF0A9C: } L_08AF0AA8: aot_gpr_31 = (0x08AF0AB0u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF0AB0u) goto L_08AF0AB0; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF0AB0u) goto L_08AF0AB0; AOT_REGCACHE_SYNC_OUT(); return; L_08AF0AB0: - ctx.gpr[18] = (aot_gpr_17 | 0u); + ctx.gpr[18] = (ctx.gpr[17] | 0u); goto L_08AF0AB4; L_08AF0AB4: aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), ctx.gpr[18]); @@ -2289,7 +2290,7 @@ L_08AF0AB4: L_08AF0AB8: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); ctx.gpr[7] = (aot_gpr_29 | 0u); aot_gpr_31 = (0x08AF0AD0u); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); @@ -2329,7 +2330,7 @@ L_08AF0AFC: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(4), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -2342,7 +2343,7 @@ L_08AF0AFC: L_08AF0B18: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(4), aot_run_words); } { const bool branch_taken = aot_gpr_5 != 0u; aot_gpr_16 = (aot_gpr_4 | 0u); @@ -2358,8 +2359,8 @@ L_08AF0B38: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF0B44u) goto L_08AF0B44; AOT_REGCACHE_SYNC_OUT(); return; L_08AF0B44: - aot_gpr_17 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (ctx.gpr[2] | 0u); + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_08AF0B5C; @@ -2368,11 +2369,11 @@ L_08AF0B44: } L_08AF0B50: aot_gpr_31 = (0x08AF0B58u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF0B58u) goto L_08AF0B58; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF0B58u) goto L_08AF0B58; AOT_REGCACHE_SYNC_OUT(); return; L_08AF0B58: - ctx.gpr[18] = (aot_gpr_17 | 0u); + ctx.gpr[18] = (ctx.gpr[17] | 0u); goto L_08AF0B5C; L_08AF0B5C: aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), ctx.gpr[18]); @@ -2380,7 +2381,7 @@ L_08AF0B5C: L_08AF0B60: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); ctx.gpr[7] = (aot_gpr_29 | 0u); aot_gpr_31 = (0x08AF0B78u); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); @@ -2420,7 +2421,7 @@ L_08AF0BA4: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(4), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -2435,7 +2436,7 @@ L_08AF0BC0: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (2236u << 16u); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x08AF0BE0u); ctx.gpr[7] = (aot_gpr_16 + static_cast(29704)); @@ -2450,9 +2451,9 @@ L_08AF0BE0: aot_gpr_5 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (2239u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(32064)); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); aot_gpr_5 = (aot_gpr_5 + aot_gpr_4); - { const bool branch_taken = ctx.gpr[6] == 0u; + { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(36)))))); if (branch_taken) { goto L_08AF0C1C; @@ -2469,8 +2470,8 @@ L_08AF0C10: goto L_08AF0C1C; } L_08AF0C1C: - ctx.gpr[6] = (0u + static_cast(-65)); - aot_gpr_4 = (aot_gpr_4 & ctx.gpr[6]); + aot_gpr_6 = (0u + static_cast(-65)); + aot_gpr_4 = (aot_gpr_4 & aot_gpr_6); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(36), static_cast(aot_gpr_4)); goto L_08AF0C28; L_08AF0C28: @@ -2486,7 +2487,7 @@ L_08AF0C28: L_08AF0C3C: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(4), aot_run_words); } { const bool branch_taken = aot_gpr_5 != 0u; aot_gpr_16 = (aot_gpr_4 | 0u); @@ -2502,8 +2503,8 @@ L_08AF0C5C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF0C68u) goto L_08AF0C68; AOT_REGCACHE_SYNC_OUT(); return; L_08AF0C68: - aot_gpr_17 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (ctx.gpr[2] | 0u); + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_08AF0C80; @@ -2512,11 +2513,11 @@ L_08AF0C68: } L_08AF0C74: aot_gpr_31 = (0x08AF0C7Cu); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF0C7Cu) goto L_08AF0C7C; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF0C7Cu) goto L_08AF0C7C; AOT_REGCACHE_SYNC_OUT(); return; L_08AF0C7C: - ctx.gpr[18] = (aot_gpr_17 | 0u); + ctx.gpr[18] = (ctx.gpr[17] | 0u); goto L_08AF0C80; L_08AF0C80: aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), ctx.gpr[18]); @@ -2524,7 +2525,7 @@ L_08AF0C80: L_08AF0C84: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); ctx.gpr[7] = (aot_gpr_29 | 0u); aot_gpr_31 = (0x08AF0C9Cu); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); @@ -2571,7 +2572,7 @@ L_08AF0CCC: L_08AF0CD4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5848))); aot_gpr_5 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x08AF0CECu); ctx.gpr[8] = (0u | 1u); @@ -2582,7 +2583,7 @@ L_08AF0CEC: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(4), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -2635,7 +2636,7 @@ L_08AF0D44: aot_gpr_5 = (0u | 0u); goto L_08AF0D4C; L_08AF0D4C: - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x08AF0D5Cu); ctx.gpr[8] = (0u | 1u); @@ -2690,7 +2691,7 @@ L_08AF0DA8: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (2236u << 16u); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x08AF0DC8u); ctx.gpr[7] = (aot_gpr_16 + static_cast(29704)); @@ -2732,14 +2733,14 @@ L_08AF0DFC: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[18]); ctx.gpr[18] = (2236u << 16u); - aot_gpr_17 = (aot_gpr_16 + static_cast(16)); + ctx.gpr[17] = (aot_gpr_16 + static_cast(16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[19]); ctx.gpr[19] = (ctx.gpr[18] + static_cast(29704)); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[6] = (0u | 2u); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_6 = (0u | 2u); { const std::uint32_t aot_run_words[4]{ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(20), aot_run_words); } aot_gpr_31 = (0x08AF0E40u); @@ -2774,7 +2775,7 @@ L_08AF0E5C: L_08AF0E68: aot_gpr_31 = (0x08AF0E70u); aot_gpr_4 = (ctx.gpr[21] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF0E70u) goto L_08AF0E70; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF0E70u) goto L_08AF0E70; AOT_REGCACHE_SYNC_OUT(); return; L_08AF0E70: ctx.gpr[20] = (ctx.gpr[21] | 0u); @@ -2785,8 +2786,8 @@ L_08AF0E74: L_08AF0E78: ctx.gpr[20] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_6 = (0u | 1u); aot_gpr_31 = (0x08AF0E90u); ctx.gpr[7] = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF0E90u) goto L_08AF0E90; @@ -2827,14 +2828,14 @@ L_08AF0EB4: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(28), std::bit_cast(aot_fpr_12)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(36)))))); - ctx.gpr[6] = (0u + static_cast(-33)); + aot_gpr_6 = (0u + static_cast(-33)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(32), std::bit_cast(aot_fpr_13)); - aot_gpr_5 = (aot_gpr_5 & ctx.gpr[6]); + aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(36), static_cast(aot_gpr_5)); ctx.gpr[20] = (ctx.gpr[2] | 0u); aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_6 = (0u | 1u); aot_gpr_31 = (0x08AF0F08u); ctx.gpr[7] = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF0F08u) goto L_08AF0F08; @@ -2862,13 +2863,13 @@ L_08AF0F20: aot_gpr_5 = (aot_gpr_16 << 3u); aot_gpr_4 = (aot_gpr_4 - aot_gpr_5); aot_gpr_5 = (aot_gpr_4 + aot_gpr_4); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(29704))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(29704))); ctx.gpr[11] = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (ctx.gpr[22] + static_cast(38)); ctx.gpr[11] = (ctx.gpr[11] + aot_gpr_4); - aot_gpr_5 = (ctx.gpr[6] | 0u); + aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_4 = (ctx.gpr[20] | 0u); - ctx.gpr[6] = (0u + static_cast(-1)); + aot_gpr_6 = (0u + static_cast(-1)); ctx.gpr[7] = (0u + static_cast(-1)); ctx.gpr[8] = (0u + static_cast(-1)); ctx.gpr[9] = (0u + static_cast(-1)); @@ -2886,7 +2887,7 @@ L_08AF0F70: { std::uint32_t aot_run_words[8]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(4), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -2904,14 +2905,14 @@ L_08AF0F98: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[18]); ctx.gpr[18] = (2236u << 16u); - aot_gpr_17 = (aot_gpr_16 + static_cast(16)); + ctx.gpr[17] = (aot_gpr_16 + static_cast(16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[19]); ctx.gpr[19] = (ctx.gpr[18] + static_cast(29704)); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[6] = (0u | 2u); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_6 = (0u | 2u); { const std::uint32_t aot_run_words[4]{ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(20), aot_run_words); } aot_gpr_31 = (0x08AF0FDCu); @@ -2946,7 +2947,7 @@ L_08AF0FF8: L_08AF1004: aot_gpr_31 = (0x08AF100Cu); aot_gpr_4 = (ctx.gpr[21] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF100Cu) goto L_08AF100C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF100Cu) goto L_08AF100C; AOT_REGCACHE_SYNC_OUT(); return; L_08AF100C: ctx.gpr[20] = (ctx.gpr[21] | 0u); @@ -2957,8 +2958,8 @@ L_08AF1010: L_08AF1014: ctx.gpr[20] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_6 = (0u | 1u); aot_gpr_31 = (0x08AF102Cu); ctx.gpr[7] = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF102Cu) goto L_08AF102C; @@ -2999,14 +3000,14 @@ L_08AF1050: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(28), std::bit_cast(aot_fpr_12)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(36)))))); - ctx.gpr[6] = (0u + static_cast(-33)); + aot_gpr_6 = (0u + static_cast(-33)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(32), std::bit_cast(aot_fpr_13)); - aot_gpr_5 = (aot_gpr_5 & ctx.gpr[6]); + aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(36), static_cast(aot_gpr_5)); ctx.gpr[20] = (ctx.gpr[2] | 0u); aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[6] = (0u | 2u); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_6 = (0u | 2u); aot_gpr_31 = (0x08AF10A4u); ctx.gpr[7] = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF10A4u) goto L_08AF10A4; @@ -3031,15 +3032,15 @@ L_08AF10B4: } L_08AF10BC: aot_gpr_4 = (aot_gpr_16 << 6u); - ctx.gpr[6] = (aot_gpr_16 << 3u); - aot_gpr_4 = (aot_gpr_4 - ctx.gpr[6]); + aot_gpr_6 = (aot_gpr_16 << 3u); + aot_gpr_4 = (aot_gpr_4 - aot_gpr_6); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(29704))); - ctx.gpr[6] = (aot_gpr_4 + aot_gpr_4); + aot_gpr_6 = (aot_gpr_4 + aot_gpr_4); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(4))); - ctx.gpr[11] = (aot_gpr_4 + ctx.gpr[6]); + ctx.gpr[11] = (aot_gpr_4 + aot_gpr_6); aot_gpr_4 = (ctx.gpr[22] + static_cast(38)); ctx.gpr[11] = (ctx.gpr[11] + aot_gpr_4); - ctx.gpr[6] = (ctx.gpr[7] | 0u); + aot_gpr_6 = (ctx.gpr[7] | 0u); aot_gpr_4 = (ctx.gpr[20] | 0u); ctx.gpr[7] = (0u + static_cast(-1)); ctx.gpr[8] = (0u + static_cast(-1)); @@ -3058,7 +3059,7 @@ L_08AF110C: { std::uint32_t aot_run_words[8]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(4), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -3075,7 +3076,7 @@ L_08AF110C: L_08AF1134: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(4), aot_run_words); } { const bool branch_taken = aot_gpr_5 != 0u; aot_gpr_16 = (aot_gpr_4 | 0u); @@ -3091,8 +3092,8 @@ L_08AF1154: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF1160u) goto L_08AF1160; AOT_REGCACHE_SYNC_OUT(); return; L_08AF1160: - aot_gpr_17 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (ctx.gpr[2] | 0u); + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_08AF1178; @@ -3101,11 +3102,11 @@ L_08AF1160: } L_08AF116C: aot_gpr_31 = (0x08AF1174u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF1174u) goto L_08AF1174; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF1174u) goto L_08AF1174; AOT_REGCACHE_SYNC_OUT(); return; L_08AF1174: - ctx.gpr[18] = (aot_gpr_17 | 0u); + ctx.gpr[18] = (ctx.gpr[17] | 0u); goto L_08AF1178; L_08AF1178: aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), ctx.gpr[18]); @@ -3113,7 +3114,7 @@ L_08AF1178: L_08AF117C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); ctx.gpr[7] = (aot_gpr_29 | 0u); aot_gpr_31 = (0x08AF1194u); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); @@ -3162,7 +3163,7 @@ L_08AF11CC: goto L_08AF11D0; L_08AF11D0: aot_gpr_5 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); ctx.gpr[7] = (0u | 1u); aot_gpr_31 = (0x08AF11E4u); ctx.gpr[8] = (0u | 1u); @@ -3224,7 +3225,7 @@ L_08AF122C: aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); aot_gpr_5 = (0u | 180u); aot_gpr_31 = (0x08AF123Cu); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 553u, 0x08A062F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF123Cu) goto L_08AF123C; AOT_REGCACHE_SYNC_OUT(); return; L_08AF123C: @@ -3232,7 +3233,7 @@ L_08AF123C: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(4), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -3267,7 +3268,7 @@ L_08AF127C: L_08AF1280: aot_gpr_5 = (0u | 2u); aot_gpr_31 = (0x08AF128Cu); - ctx.gpr[6] = (0u | 2u); + aot_gpr_6 = (0u | 2u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0109_entry, 109u, 468u, 0x089BA604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF128Cu) goto L_08AF128C; AOT_REGCACHE_SYNC_OUT(); return; L_08AF128C: @@ -3286,7 +3287,7 @@ L_08AF12A4: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5848))); - { const std::uint32_t aot_run_words[3]{aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(8), aot_run_words); } { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -3324,8 +3325,8 @@ L_08AF12E8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF12F4u) goto L_08AF12F4; AOT_REGCACHE_SYNC_OUT(); return; L_08AF12F4: - aot_gpr_17 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (ctx.gpr[2] | 0u); + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_08AF130C; @@ -3334,11 +3335,11 @@ L_08AF12F4: } L_08AF1300: aot_gpr_31 = (0x08AF1308u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF1308u) goto L_08AF1308; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF1308u) goto L_08AF1308; AOT_REGCACHE_SYNC_OUT(); return; L_08AF1308: - ctx.gpr[18] = (aot_gpr_17 | 0u); + ctx.gpr[18] = (ctx.gpr[17] | 0u); goto L_08AF130C; L_08AF130C: aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), ctx.gpr[18]); @@ -3346,7 +3347,7 @@ L_08AF130C: goto L_08AF1314; L_08AF1314: aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); ctx.gpr[7] = (aot_gpr_29 | 0u); aot_gpr_31 = (0x08AF1328u); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); @@ -3395,7 +3396,7 @@ L_08AF1360: goto L_08AF1364; L_08AF1364: aot_gpr_5 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x08AF1378u); ctx.gpr[8] = (0u | 1u); @@ -3406,7 +3407,7 @@ L_08AF1378: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(4), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -3421,7 +3422,7 @@ L_08AF1394: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5848))); - { const std::uint32_t aot_run_words[3]{aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(8), aot_run_words); } { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -3459,8 +3460,8 @@ L_08AF13D8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF13E4u) goto L_08AF13E4; AOT_REGCACHE_SYNC_OUT(); return; L_08AF13E4: - aot_gpr_17 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (ctx.gpr[2] | 0u); + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_08AF13FC; @@ -3469,11 +3470,11 @@ L_08AF13E4: } L_08AF13F0: aot_gpr_31 = (0x08AF13F8u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF13F8u) goto L_08AF13F8; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF13F8u) goto L_08AF13F8; AOT_REGCACHE_SYNC_OUT(); return; L_08AF13F8: - ctx.gpr[18] = (aot_gpr_17 | 0u); + ctx.gpr[18] = (ctx.gpr[17] | 0u); goto L_08AF13FC; L_08AF13FC: aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), ctx.gpr[18]); @@ -3481,7 +3482,7 @@ L_08AF13FC: goto L_08AF1404; L_08AF1404: aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); ctx.gpr[7] = (aot_gpr_29 | 0u); aot_gpr_31 = (0x08AF1418u); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); @@ -3530,7 +3531,7 @@ L_08AF1450: goto L_08AF1454; L_08AF1454: aot_gpr_5 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); ctx.gpr[7] = (0u | 1u); aot_gpr_31 = (0x08AF1468u); ctx.gpr[8] = (0u | 1u); @@ -3541,7 +3542,7 @@ L_08AF1468: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(4), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -3560,7 +3561,7 @@ L_08AF1484: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), ctx.gpr[21]); ctx.gpr[19] = (aot_gpr_4 + static_cast(16)); ctx.gpr[21] = (ctx.gpr[20] + static_cast(29704)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, ctx.gpr[18]}; + { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(4), aot_run_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_31); { const bool branch_taken = aot_gpr_5 != 0u; @@ -3571,7 +3572,7 @@ L_08AF1484: goto L_08AF14BC; } L_08AF14BC: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_31 = (0x08AF14C8u); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF14C8u) goto L_08AF14C8; @@ -3588,19 +3589,19 @@ L_08AF14C8: L_08AF14D4: aot_gpr_31 = (0x08AF14DCu); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF14DCu) goto L_08AF14DC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF14DCu) goto L_08AF14DC; AOT_REGCACHE_SYNC_OUT(); return; L_08AF14DC: - aot_gpr_17 = (ctx.gpr[18] | 0u); + ctx.gpr[17] = (ctx.gpr[18] | 0u); goto L_08AF14E0; L_08AF14E0: - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_17); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), ctx.gpr[17]); goto L_08AF14E4; L_08AF14E4: - aot_gpr_17 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_gpr_31 = (0x08AF14FCu); ctx.gpr[7] = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF14FCu) goto L_08AF14FC; @@ -3626,14 +3627,14 @@ L_08AF1510: L_08AF1514: aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_31 = (0x08AF1520u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF1520u) goto L_08AF1520; AOT_REGCACHE_SYNC_OUT(); return; L_08AF1520: - aot_gpr_17 = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (ctx.gpr[2] | 0u); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); - ctx.gpr[6] = (0u | 2u); + aot_gpr_6 = (0u | 2u); aot_gpr_31 = (0x08AF1538u); ctx.gpr[7] = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF1538u) goto L_08AF1538; @@ -3667,9 +3668,9 @@ L_08AF1554: } L_08AF155C: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(29704))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(4))); - aot_gpr_4 = (aot_gpr_17 | 0u); - ctx.gpr[6] = (ctx.gpr[6] & 65535u); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(4))); + aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_6 = (aot_gpr_6 & 65535u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x08AF1578u); ctx.gpr[8] = (0u | 1u); @@ -3684,9 +3685,9 @@ L_08AF1578: goto L_08AF1580; } L_08AF1580: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (0u + static_cast(-1)); - ctx.gpr[6] = (0u + static_cast(-1)); + aot_gpr_6 = (0u + static_cast(-1)); ctx.gpr[7] = (0u + static_cast(-1)); ctx.gpr[8] = (0u + static_cast(-1)); ctx.gpr[9] = (0u + static_cast(-1)); @@ -3700,7 +3701,7 @@ L_08AF15A4: { std::uint32_t aot_run_words[7]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(4), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -3722,7 +3723,7 @@ L_08AF15CC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), ctx.gpr[21]); ctx.gpr[19] = (aot_gpr_4 + static_cast(16)); ctx.gpr[21] = (ctx.gpr[20] + static_cast(29704)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, ctx.gpr[18]}; + { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(4), aot_run_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_31); { const bool branch_taken = aot_gpr_5 != 0u; @@ -3733,7 +3734,7 @@ L_08AF15CC: goto L_08AF1604; } L_08AF1604: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_31 = (0x08AF1610u); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF1610u) goto L_08AF1610; @@ -3750,19 +3751,19 @@ L_08AF1610: L_08AF161C: aot_gpr_31 = (0x08AF1624u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF1624u) goto L_08AF1624; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF1624u) goto L_08AF1624; AOT_REGCACHE_SYNC_OUT(); return; L_08AF1624: - aot_gpr_17 = (ctx.gpr[18] | 0u); + ctx.gpr[17] = (ctx.gpr[18] | 0u); goto L_08AF1628; L_08AF1628: - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_17); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), ctx.gpr[17]); goto L_08AF162C; L_08AF162C: - aot_gpr_17 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_gpr_31 = (0x08AF1644u); ctx.gpr[7] = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF1644u) goto L_08AF1644; @@ -3788,14 +3789,14 @@ L_08AF1658: L_08AF165C: aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_31 = (0x08AF1668u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF1668u) goto L_08AF1668; AOT_REGCACHE_SYNC_OUT(); return; L_08AF1668: - aot_gpr_17 = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (ctx.gpr[2] | 0u); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); - ctx.gpr[6] = (0u | 2u); + aot_gpr_6 = (0u | 2u); aot_gpr_31 = (0x08AF1680u); ctx.gpr[7] = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF1680u) goto L_08AF1680; @@ -3829,9 +3830,9 @@ L_08AF169C: } L_08AF16A4: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(29704))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(4))); - aot_gpr_4 = (aot_gpr_17 | 0u); - ctx.gpr[6] = (ctx.gpr[6] & 65535u); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(4))); + aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_6 = (aot_gpr_6 & 65535u); ctx.gpr[7] = (0u | 1u); aot_gpr_31 = (0x08AF16C0u); ctx.gpr[8] = (0u | 1u); @@ -3846,9 +3847,9 @@ L_08AF16C0: goto L_08AF16C8; } L_08AF16C8: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (0u + static_cast(-1)); - ctx.gpr[6] = (0u + static_cast(-1)); + aot_gpr_6 = (0u + static_cast(-1)); ctx.gpr[7] = (0u + static_cast(-1)); ctx.gpr[8] = (0u + static_cast(-1)); ctx.gpr[9] = (0u + static_cast(-1)); @@ -3862,7 +3863,7 @@ L_08AF16EC: { std::uint32_t aot_run_words[7]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(4), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -3878,8 +3879,8 @@ L_08AF16EC: L_08AF1714: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_17); - aot_gpr_17 = (aot_gpr_4 + static_cast(16)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_4 + static_cast(16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_16); { const std::uint32_t aot_run_words[4]{ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(12), aot_run_words); } @@ -3908,7 +3909,7 @@ L_08AF174C: L_08AF1758: aot_gpr_31 = (0x08AF1760u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF1760u) goto L_08AF1760; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF1760u) goto L_08AF1760; AOT_REGCACHE_SYNC_OUT(); return; L_08AF1760: ctx.gpr[19] = (ctx.gpr[18] | 0u); @@ -3919,8 +3920,8 @@ L_08AF1764: L_08AF1768: ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_6 = (0u | 1u); aot_gpr_31 = (0x08AF1780u); ctx.gpr[7] = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF1780u) goto L_08AF1780; @@ -3954,17 +3955,17 @@ L_08AF17A4: ctx.gpr[20] = (ctx.gpr[19] + static_cast(29704)); ctx.gpr[18] = (ctx.gpr[2] | 0u); aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[6] = (0u | 2u); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_6 = (0u | 2u); aot_gpr_31 = (0x08AF17C4u); ctx.gpr[7] = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF17C4u) goto L_08AF17C4; AOT_REGCACHE_SYNC_OUT(); return; L_08AF17C4: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(29704))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(4))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(4))); aot_gpr_4 = (ctx.gpr[18] | 0u); - ctx.gpr[6] = (ctx.gpr[6] & 65535u); + aot_gpr_6 = (aot_gpr_6 & 65535u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x08AF17E0u); ctx.gpr[8] = (0u | 0u); @@ -3975,7 +3976,7 @@ L_08AF17E0: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(4), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -3990,8 +3991,8 @@ L_08AF17E0: L_08AF1804: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_17); - aot_gpr_17 = (aot_gpr_4 + static_cast(16)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_4 + static_cast(16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_16); { const std::uint32_t aot_run_words[4]{ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(28), aot_run_words); } @@ -4020,7 +4021,7 @@ L_08AF183C: L_08AF1848: aot_gpr_31 = (0x08AF1850u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF1850u) goto L_08AF1850; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF1850u) goto L_08AF1850; AOT_REGCACHE_SYNC_OUT(); return; L_08AF1850: ctx.gpr[19] = (ctx.gpr[18] | 0u); @@ -4032,9 +4033,9 @@ L_08AF1858: ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); ctx.gpr[7] = (aot_gpr_29 + static_cast(16)); aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08AF1870u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF1870u) goto L_08AF1870; AOT_REGCACHE_SYNC_OUT(); return; L_08AF1870: @@ -4066,19 +4067,19 @@ L_08AF1894: ctx.gpr[20] = (ctx.gpr[19] + static_cast(29704)); ctx.gpr[18] = (ctx.gpr[2] | 0u); aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[6] = (0u | 3u); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_6 = (0u | 3u); aot_gpr_31 = (0x08AF18B4u); ctx.gpr[7] = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF18B4u) goto L_08AF18B4; AOT_REGCACHE_SYNC_OUT(); return; L_08AF18B4: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(4))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(8))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(8))); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(29704))); ctx.gpr[2] = (0u + static_cast(-1)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[2]); - ctx.gpr[6] = (ctx.gpr[6] & 65535u); + aot_gpr_6 = (aot_gpr_6 & 65535u); aot_gpr_4 = (ctx.gpr[18] | 0u); ctx.gpr[8] = (0u + static_cast(-1)); ctx.gpr[9] = (0u + static_cast(-1)); @@ -4093,7 +4094,7 @@ L_08AF18E8: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(20), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -4108,8 +4109,8 @@ L_08AF18E8: L_08AF190C: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_17); - aot_gpr_17 = (aot_gpr_4 + static_cast(16)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_4 + static_cast(16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_16); { const std::uint32_t aot_run_words[4]{ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(28), aot_run_words); } @@ -4138,7 +4139,7 @@ L_08AF1944: L_08AF1950: aot_gpr_31 = (0x08AF1958u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF1958u) goto L_08AF1958; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF1958u) goto L_08AF1958; AOT_REGCACHE_SYNC_OUT(); return; L_08AF1958: ctx.gpr[19] = (ctx.gpr[18] | 0u); @@ -4150,9 +4151,9 @@ L_08AF1960: ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); ctx.gpr[7] = (aot_gpr_29 + static_cast(16)); aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08AF1978u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF1978u) goto L_08AF1978; AOT_REGCACHE_SYNC_OUT(); return; L_08AF1978: @@ -4184,20 +4185,20 @@ L_08AF199C: ctx.gpr[20] = (ctx.gpr[19] + static_cast(29704)); ctx.gpr[18] = (ctx.gpr[2] | 0u); aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[6] = (0u | 4u); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_6 = (0u | 4u); aot_gpr_31 = (0x08AF19BCu); ctx.gpr[7] = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF19BCu) goto L_08AF19BC; AOT_REGCACHE_SYNC_OUT(); return; L_08AF19BC: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(8))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(12))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(12))); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(29704))); ctx.gpr[8] = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(4))); ctx.gpr[2] = (0u + static_cast(-1)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[2]); - ctx.gpr[6] = (ctx.gpr[6] & 65535u); + aot_gpr_6 = (aot_gpr_6 & 65535u); aot_gpr_4 = (ctx.gpr[18] | 0u); ctx.gpr[9] = (0u + static_cast(-1)); ctx.gpr[10] = (0u + static_cast(-1)); @@ -4211,7 +4212,7 @@ L_08AF19F0: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(20), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -4226,13 +4227,13 @@ L_08AF19F0: L_08AF1A14: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[17]); aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); - aot_gpr_17 = (aot_gpr_4 | 0u); + ctx.gpr[17] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); { const bool branch_taken = aot_gpr_16 != 0u; - aot_gpr_5 = (aot_gpr_17 + static_cast(16)); + aot_gpr_5 = (ctx.gpr[17] + static_cast(16)); if (branch_taken) { goto L_08AF1A64; } @@ -4256,25 +4257,25 @@ L_08AF1A44: L_08AF1A50: aot_gpr_31 = (0x08AF1A58u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF1A58u) goto L_08AF1A58; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF1A58u) goto L_08AF1A58; AOT_REGCACHE_SYNC_OUT(); return; L_08AF1A58: aot_gpr_16 = (ctx.gpr[18] | 0u); goto L_08AF1A5C; L_08AF1A5C: aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_16); - aot_gpr_5 = (aot_gpr_17 + static_cast(16)); + aot_gpr_5 = (ctx.gpr[17] + static_cast(16)); goto L_08AF1A64; L_08AF1A64: - aot_gpr_4 = (aot_gpr_17 | 0u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_6 = (0u | 1u); aot_gpr_31 = (0x08AF1A74u); ctx.gpr[7] = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF1A74u) goto L_08AF1A74; AOT_REGCACHE_SYNC_OUT(); return; L_08AF1A74: - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - if (aot_gpr_17 != 0u) { + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + if (ctx.gpr[17] != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-29148))); goto L_08AF1A88; } @@ -4288,7 +4289,7 @@ L_08AF1A80: goto L_08AF1A88; } L_08AF1A88: - aot_gpr_4 = (aot_gpr_4 + aot_gpr_17); + aot_gpr_4 = (aot_gpr_4 + ctx.gpr[17]); goto L_08AF1A8C; L_08AF1A8C: aot_gpr_5 = (aot_gpr_4 | 0u); @@ -4313,7 +4314,7 @@ L_08AF1AA4: L_08AF1AAC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5848))); aot_gpr_5 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x08AF1AC4u); ctx.gpr[8] = (0u | 0u); @@ -4324,7 +4325,7 @@ L_08AF1AC4: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(4), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -4337,7 +4338,7 @@ L_08AF1AC4: L_08AF1AE0: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(4), aot_run_words); } { const bool branch_taken = aot_gpr_5 != 0u; aot_gpr_16 = (aot_gpr_4 | 0u); @@ -4353,8 +4354,8 @@ L_08AF1B00: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF1B0Cu) goto L_08AF1B0C; AOT_REGCACHE_SYNC_OUT(); return; L_08AF1B0C: - aot_gpr_17 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (ctx.gpr[2] | 0u); + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_08AF1B24; @@ -4363,11 +4364,11 @@ L_08AF1B0C: } L_08AF1B18: aot_gpr_31 = (0x08AF1B20u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF1B20u) goto L_08AF1B20; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF1B20u) goto L_08AF1B20; AOT_REGCACHE_SYNC_OUT(); return; L_08AF1B20: - ctx.gpr[18] = (aot_gpr_17 | 0u); + ctx.gpr[18] = (ctx.gpr[17] | 0u); goto L_08AF1B24; L_08AF1B24: aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), ctx.gpr[18]); @@ -4375,7 +4376,7 @@ L_08AF1B24: L_08AF1B28: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); ctx.gpr[7] = (aot_gpr_29 | 0u); aot_gpr_31 = (0x08AF1B40u); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); @@ -4422,7 +4423,7 @@ L_08AF1B70: L_08AF1B78: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5848))); aot_gpr_5 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); ctx.gpr[7] = (0u | 1u); aot_gpr_31 = (0x08AF1B90u); ctx.gpr[8] = (0u | 0u); @@ -4433,7 +4434,7 @@ L_08AF1B90: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(4), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -4448,7 +4449,7 @@ L_08AF1BAC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5848))); - { const std::uint32_t aot_run_words[3]{aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(8), aot_run_words); } { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -4486,8 +4487,8 @@ L_08AF1BF0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF1BFCu) goto L_08AF1BFC; AOT_REGCACHE_SYNC_OUT(); return; L_08AF1BFC: - aot_gpr_17 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (ctx.gpr[2] | 0u); + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_08AF1C14; @@ -4496,11 +4497,11 @@ L_08AF1BFC: } L_08AF1C08: aot_gpr_31 = (0x08AF1C10u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF1C10u) goto L_08AF1C10; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF1C10u) goto L_08AF1C10; AOT_REGCACHE_SYNC_OUT(); return; L_08AF1C10: - ctx.gpr[18] = (aot_gpr_17 | 0u); + ctx.gpr[18] = (ctx.gpr[17] | 0u); goto L_08AF1C14; L_08AF1C14: aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), ctx.gpr[18]); @@ -4508,7 +4509,7 @@ L_08AF1C14: goto L_08AF1C1C; L_08AF1C1C: aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); ctx.gpr[7] = (aot_gpr_29 | 0u); aot_gpr_31 = (0x08AF1C30u); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); @@ -4557,7 +4558,7 @@ L_08AF1C68: goto L_08AF1C6C; L_08AF1C6C: aot_gpr_5 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x08AF1C80u); ctx.gpr[8] = (0u | 0u); @@ -4568,7 +4569,7 @@ L_08AF1C80: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(4), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -4583,7 +4584,7 @@ L_08AF1C9C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5848))); - { const std::uint32_t aot_run_words[3]{aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(8), aot_run_words); } { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -4621,8 +4622,8 @@ L_08AF1CE0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF1CECu) goto L_08AF1CEC; AOT_REGCACHE_SYNC_OUT(); return; L_08AF1CEC: - aot_gpr_17 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (ctx.gpr[2] | 0u); + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_08AF1D04; @@ -4631,11 +4632,11 @@ L_08AF1CEC: } L_08AF1CF8: aot_gpr_31 = (0x08AF1D00u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF1D00u) goto L_08AF1D00; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF1D00u) goto L_08AF1D00; AOT_REGCACHE_SYNC_OUT(); return; L_08AF1D00: - ctx.gpr[18] = (aot_gpr_17 | 0u); + ctx.gpr[18] = (ctx.gpr[17] | 0u); goto L_08AF1D04; L_08AF1D04: aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), ctx.gpr[18]); @@ -4643,7 +4644,7 @@ L_08AF1D04: goto L_08AF1D0C; L_08AF1D0C: aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); ctx.gpr[7] = (aot_gpr_29 | 0u); aot_gpr_31 = (0x08AF1D20u); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); @@ -4692,7 +4693,7 @@ L_08AF1D58: goto L_08AF1D5C; L_08AF1D5C: aot_gpr_5 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); ctx.gpr[7] = (0u | 1u); aot_gpr_31 = (0x08AF1D70u); ctx.gpr[8] = (0u | 0u); @@ -4703,7 +4704,7 @@ L_08AF1D70: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(4), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -4717,10 +4718,10 @@ L_08AF1D8C: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_17); - aot_gpr_17 = (aot_gpr_16 + static_cast(16)); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[6] = (0u | 1u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_16 + static_cast(16)); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_6 = (0u | 1u); { const std::uint32_t aot_run_words[4]{ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(12), aot_run_words); } aot_gpr_31 = (0x08AF1DC0u); @@ -4728,30 +4729,30 @@ L_08AF1D8C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF1DC0u) goto L_08AF1DC0; AOT_REGCACHE_SYNC_OUT(); return; L_08AF1DC0: - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - if (ctx.gpr[6] != 0u) { + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + if (aot_gpr_6 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-29148))); goto L_08AF1DD4; } goto L_08AF1DCC; L_08AF1DCC: { const bool branch_taken = 0u == 0u; - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (branch_taken) { goto L_08AF1DD8; } goto L_08AF1DD4; } L_08AF1DD4: - ctx.gpr[6] = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_6 = (aot_gpr_4 + aot_gpr_6); goto L_08AF1DD8; L_08AF1DD8: ctx.gpr[19] = (2236u << 16u); - ctx.gpr[18] = (ctx.gpr[6] | 0u); + ctx.gpr[18] = (aot_gpr_6 | 0u); ctx.gpr[20] = (ctx.gpr[19] + static_cast(29704)); aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[6] = (0u | 3u); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_6 = (0u | 3u); aot_gpr_31 = (0x08AF1DF8u); ctx.gpr[7] = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF1DF8u) goto L_08AF1DF8; @@ -4764,7 +4765,7 @@ L_08AF1DF8: aot_gpr_16 = (0u | 0u); ctx.gpr[7] = (static_cast(aot_gpr_16) < static_cast(aot_gpr_5) ? 1u : 0u); { const bool branch_taken = ctx.gpr[7] == 0u; - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(29704))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(29704))); if (branch_taken) { goto L_08AF1E50; } @@ -4774,17 +4775,17 @@ L_08AF1E18: ctx.gpr[7] = (0u | 10u); goto L_08AF1E1C; L_08AF1E1C: - { const std::int32_t dividend = static_cast(ctx.gpr[6]); const std::int32_t divisor = static_cast(ctx.gpr[7]); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } + { const std::int32_t dividend = static_cast(aot_gpr_6); const std::int32_t divisor = static_cast(ctx.gpr[7]); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } aot_gpr_4 = (aot_gpr_4 + static_cast(-1)); aot_gpr_16 = (aot_gpr_16 + static_cast(1)); ctx.gpr[8] = (static_cast(aot_gpr_16) < static_cast(aot_gpr_5) ? 1u : 0u); ctx.gpr[9] = (ctx.hi); // nop // nop - { const std::int32_t dividend = static_cast(ctx.gpr[6]); const std::int32_t divisor = static_cast(ctx.gpr[7]); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } - ctx.gpr[6] = (ctx.gpr[9] + static_cast(48)); - aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(ctx.gpr[6])); - ctx.gpr[6] = (ctx.lo); + { const std::int32_t dividend = static_cast(aot_gpr_6); const std::int32_t divisor = static_cast(ctx.gpr[7]); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } + aot_gpr_6 = (ctx.gpr[9] + static_cast(48)); + aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_6)); + aot_gpr_6 = (ctx.lo); { const bool branch_taken = ctx.gpr[8] != 0u; // nop if (branch_taken) { @@ -4797,7 +4798,7 @@ L_08AF1E50: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(4), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -4811,12 +4812,12 @@ L_08AF1E50: AOT_REGCACHE_SYNC_OUT(); return; L_08AF1E74: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_17); - aot_gpr_17 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[18]); - ctx.gpr[18] = (aot_gpr_17 + static_cast(16)); + ctx.gpr[18] = (ctx.gpr[17] + static_cast(16)); aot_gpr_5 = (ctx.gpr[18] | 0u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_31); aot_gpr_31 = (0x08AF1EA0u); @@ -4843,34 +4844,34 @@ L_08AF1EB4: goto L_08AF1EB8; L_08AF1EB8: ctx.gpr[7] = (aot_gpr_29 + static_cast(4)); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08AF1ECCu); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF1ECCu) goto L_08AF1ECC; AOT_REGCACHE_SYNC_OUT(); return; L_08AF1ECC: - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); - if (aot_gpr_17 != 0u) { + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + if (ctx.gpr[17] != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-29148))); goto L_08AF1EE0; } goto L_08AF1ED8; L_08AF1ED8: { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); if (branch_taken) { goto L_08AF1EE4; } goto L_08AF1EE0; } L_08AF1EE0: - aot_gpr_17 = (aot_gpr_4 + aot_gpr_17); + ctx.gpr[17] = (aot_gpr_4 + ctx.gpr[17]); goto L_08AF1EE4; L_08AF1EE4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08AF1EF0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 63u, 0x08B5831Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF1EF0u) goto L_08AF1EF0; AOT_REGCACHE_SYNC_OUT(); return; L_08AF1EF0: @@ -4878,7 +4879,7 @@ L_08AF1EF0: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(8), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -4895,11 +4896,11 @@ L_08AF1F0C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[18]); ctx.gpr[18] = (aot_gpr_4 + static_cast(16)); aot_gpr_16 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[17]); { const std::uint32_t aot_run_words[3]{ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(16), aot_run_words); } { const bool branch_taken = aot_gpr_5 != 0u; - aot_gpr_17 = (2236u << 16u); + ctx.gpr[17] = (2236u << 16u); if (branch_taken) { goto L_08AF1F64; } @@ -4923,7 +4924,7 @@ L_08AF1F48: L_08AF1F54: aot_gpr_31 = (0x08AF1F5Cu); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF1F5Cu) goto L_08AF1F5C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF1F5Cu) goto L_08AF1F5C; AOT_REGCACHE_SYNC_OUT(); return; L_08AF1F5C: ctx.gpr[20] = (ctx.gpr[19] | 0u); @@ -4935,7 +4936,7 @@ L_08AF1F64: ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_gpr_31 = (0x08AF1F7Cu); ctx.gpr[7] = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF1F7Cu) goto L_08AF1F7C; @@ -4966,7 +4967,7 @@ L_08AF1F94: AOT_REGCACHE_SYNC_OUT(); return; L_08AF1FA0: ctx.gpr[19] = (ctx.gpr[2] | 0u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(29704), 0u); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(29704), 0u); aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(0))); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -4976,10 +4977,10 @@ L_08AF1FA0: goto L_08AF1FB4; } L_08AF1FB4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29704))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29704))); ctx.gpr[19] = (ctx.gpr[19] + static_cast(2)); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(29704), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(29704), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(0))); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -4992,15 +4993,15 @@ L_08AF1FD0: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08AF1FE0u); - ctx.gpr[6] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF1FE0u) goto L_08AF1FE0; + aot_gpr_6 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF1FE0u) goto L_08AF1FE0; AOT_REGCACHE_SYNC_OUT(); return; L_08AF1FE0: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(4), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -5020,7 +5021,7 @@ L_08AF2004: ctx.gpr[18] = (aot_gpr_4 + static_cast(16)); ctx.gpr[19] = (ctx.gpr[28] + static_cast(8952)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[20]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_31); { const bool branch_taken = aot_gpr_5 != 0u; @@ -5031,7 +5032,7 @@ L_08AF2004: goto L_08AF2034; } L_08AF2034: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_31 = (0x08AF2040u); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF2040u) goto L_08AF2040; @@ -5048,19 +5049,19 @@ L_08AF2040: L_08AF204C: aot_gpr_31 = (0x08AF2054u); aot_gpr_4 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF2054u) goto L_08AF2054; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF2054u) goto L_08AF2054; AOT_REGCACHE_SYNC_OUT(); return; L_08AF2054: - aot_gpr_17 = (ctx.gpr[20] | 0u); + ctx.gpr[17] = (ctx.gpr[20] | 0u); goto L_08AF2058; L_08AF2058: - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_17); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), ctx.gpr[17]); goto L_08AF205C; L_08AF205C: - aot_gpr_17 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_gpr_31 = (0x08AF2074u); ctx.gpr[7] = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF2074u) goto L_08AF2074; @@ -5086,15 +5087,15 @@ L_08AF2088: L_08AF208C: aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_31 = (0x08AF2098u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF2098u) goto L_08AF2098; AOT_REGCACHE_SYNC_OUT(); return; L_08AF2098: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_16 = (2236u << 16u); - aot_gpr_17 = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (ctx.gpr[2] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_gpr_31 = (0x08AF20B4u); ctx.gpr[7] = (aot_gpr_16 + static_cast(29704)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF20B4u) goto L_08AF20B4; @@ -5127,7 +5128,7 @@ L_08AF20D0: goto L_08AF20D8; L_08AF20D8: aot_gpr_31 = (0x08AF20E0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0109_entry, 109u, 688u, 0x089BB290u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF20E0u) goto L_08AF20E0; AOT_REGCACHE_SYNC_OUT(); return; L_08AF20E0: @@ -5289,7 +5290,7 @@ L_08AF21C8: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(4), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -5305,14 +5306,14 @@ L_08AF21EC: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[18]); ctx.gpr[18] = (2236u << 16u); - aot_gpr_17 = (aot_gpr_16 + static_cast(16)); + ctx.gpr[17] = (aot_gpr_16 + static_cast(16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[19]); ctx.gpr[19] = (ctx.gpr[18] + static_cast(29704)); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[6] = (0u | 2u); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_6 = (0u | 2u); { const std::uint32_t aot_run_words[3]{ctx.gpr[20], ctx.gpr[21], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(20), aot_run_words); } aot_gpr_31 = (0x08AF222Cu); @@ -5346,7 +5347,7 @@ L_08AF2244: L_08AF2250: aot_gpr_31 = (0x08AF2258u); aot_gpr_4 = (ctx.gpr[21] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF2258u) goto L_08AF2258; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF2258u) goto L_08AF2258; AOT_REGCACHE_SYNC_OUT(); return; L_08AF2258: ctx.gpr[20] = (ctx.gpr[21] | 0u); @@ -5357,8 +5358,8 @@ L_08AF225C: goto L_08AF2264; L_08AF2264: aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_6 = (0u | 1u); aot_gpr_31 = (0x08AF2278u); ctx.gpr[7] = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF2278u) goto L_08AF2278; @@ -5399,22 +5400,22 @@ L_08AF229C: } L_08AF22AC: aot_gpr_5 = (aot_gpr_4 << 6u); - ctx.gpr[6] = (aot_gpr_4 << 3u); + aot_gpr_6 = (aot_gpr_4 << 3u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(29704))); - aot_gpr_5 = (aot_gpr_5 - ctx.gpr[6]); - ctx.gpr[6] = (aot_gpr_5 + aot_gpr_5); + aot_gpr_5 = (aot_gpr_5 - aot_gpr_6); + aot_gpr_6 = (aot_gpr_5 + aot_gpr_5); ctx.gpr[18] = (2239u << 16u); - aot_gpr_5 = (aot_gpr_5 + ctx.gpr[6]); + aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); ctx.gpr[18] = (ctx.gpr[18] + static_cast(32064)); aot_gpr_5 = (aot_gpr_5 + ctx.gpr[18]); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(28), std::bit_cast(aot_fpr_12)); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(36)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(36)))))); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(32), std::bit_cast(aot_fpr_13)); - ctx.gpr[6] = (ctx.gpr[6] | 32u); - aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(36), static_cast(ctx.gpr[6])); - ctx.gpr[6] = (aot_gpr_16 | 0u); - ctx.gpr[7] = (aot_mem.aot_direct_load16(ctx.gpr[6] + static_cast(0))); + aot_gpr_6 = (aot_gpr_6 | 32u); + aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(36), static_cast(aot_gpr_6)); + aot_gpr_6 = (aot_gpr_16 | 0u); + ctx.gpr[7] = (aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(0))); { const bool branch_taken = ctx.gpr[7] != 0u; aot_gpr_5 = (0u | 0u); if (branch_taken) { @@ -5439,8 +5440,8 @@ L_08AF2300: goto L_08AF2308; } L_08AF2308: - ctx.gpr[6] = (ctx.gpr[6] + static_cast(2)); - ctx.gpr[7] = (aot_mem.aot_direct_load16(ctx.gpr[6] + static_cast(0))); + aot_gpr_6 = (aot_gpr_6 + static_cast(2)); + ctx.gpr[7] = (aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(0))); { const bool branch_taken = ctx.gpr[7] != 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(1)); if (branch_taken) { @@ -5449,8 +5450,8 @@ L_08AF2308: goto L_08AF2318; } L_08AF2318: - ctx.gpr[6] = (static_cast(aot_gpr_5) < 64 ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] != 0u; + aot_gpr_6 = (static_cast(aot_gpr_5) < 64 ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 != 0u; // nop if (branch_taken) { goto L_08AF2330; @@ -5463,8 +5464,8 @@ L_08AF2324: aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[28] + static_cast(7986))); goto L_08AF2330; L_08AF2330: - ctx.gpr[6] = (0u | 0u); - ctx.gpr[7] = (static_cast(ctx.gpr[6]) < static_cast(aot_gpr_5) ? 1u : 0u); + aot_gpr_6 = (0u | 0u); + ctx.gpr[7] = (static_cast(aot_gpr_6) < static_cast(aot_gpr_5) ? 1u : 0u); { const bool branch_taken = ctx.gpr[7] == 0u; ctx.gpr[7] = (aot_gpr_4 << 6u); if (branch_taken) { @@ -5481,10 +5482,10 @@ L_08AF2340: goto L_08AF2354; L_08AF2354: ctx.gpr[8] = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(0))); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(1)); + aot_gpr_6 = (aot_gpr_6 + static_cast(1)); aot_mem.aot_direct_store16(ctx.gpr[7] + static_cast(38), static_cast(ctx.gpr[8])); aot_gpr_16 = (aot_gpr_16 + static_cast(2)); - ctx.gpr[8] = (static_cast(ctx.gpr[6]) < static_cast(aot_gpr_5) ? 1u : 0u); + ctx.gpr[8] = (static_cast(aot_gpr_6) < static_cast(aot_gpr_5) ? 1u : 0u); { const bool branch_taken = ctx.gpr[8] != 0u; ctx.gpr[7] = (ctx.gpr[7] + static_cast(2)); if (branch_taken) { @@ -5493,7 +5494,7 @@ L_08AF2354: goto L_08AF2370; } L_08AF2370: - aot_gpr_5 = (static_cast(ctx.gpr[6]) < 64 ? 1u : 0u); + aot_gpr_5 = (static_cast(aot_gpr_6) < 64 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_5 = (aot_gpr_4 << 6u); if (branch_taken) { @@ -5506,14 +5507,14 @@ L_08AF237C: aot_gpr_5 = (aot_gpr_5 - ctx.gpr[7]); ctx.gpr[7] = (aot_gpr_5 + aot_gpr_5); aot_gpr_5 = (aot_gpr_5 + ctx.gpr[7]); - ctx.gpr[7] = (ctx.gpr[6] + ctx.gpr[6]); + ctx.gpr[7] = (aot_gpr_6 + aot_gpr_6); aot_gpr_5 = (aot_gpr_5 + ctx.gpr[7]); ctx.gpr[18] = (aot_gpr_5 + ctx.gpr[18]); goto L_08AF2398; L_08AF2398: aot_mem.aot_direct_store16(ctx.gpr[18] + static_cast(38), static_cast(0u)); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(1)); - aot_gpr_5 = (static_cast(ctx.gpr[6]) < 64 ? 1u : 0u); + aot_gpr_6 = (aot_gpr_6 + static_cast(1)); + aot_gpr_5 = (static_cast(aot_gpr_6) < 64 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 != 0u; ctx.gpr[18] = (ctx.gpr[18] + static_cast(2)); if (branch_taken) { @@ -5530,7 +5531,7 @@ L_08AF23B8: { std::uint32_t aot_run_words[7]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(4), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -5548,7 +5549,7 @@ L_08AF23DC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (2236u << 16u); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x08AF23FCu); ctx.gpr[7] = (aot_gpr_16 + static_cast(29704)); @@ -5556,15 +5557,15 @@ L_08AF23DC: AOT_REGCACHE_SYNC_OUT(); return; L_08AF23FC: aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[28] + static_cast(7986))); - ctx.gpr[6] = (aot_gpr_4 << 6u); + aot_gpr_6 = (aot_gpr_4 << 6u); aot_gpr_4 = (aot_gpr_4 << 3u); - aot_gpr_4 = (ctx.gpr[6] - aot_gpr_4); - ctx.gpr[6] = (aot_gpr_4 + aot_gpr_4); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); - ctx.gpr[6] = (2239u << 16u); + aot_gpr_4 = (aot_gpr_6 - aot_gpr_4); + aot_gpr_6 = (aot_gpr_4 + aot_gpr_4); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); + aot_gpr_6 = (2239u << 16u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(32064)); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_6 = (aot_gpr_6 + static_cast(32064)); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(24), static_cast(aot_gpr_5)); ctx.gpr[2] = (0u | 0u); aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -5577,12 +5578,12 @@ L_08AF23FC: AOT_REGCACHE_SYNC_OUT(); return; L_08AF243C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (2236u << 16u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (2236u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_17 + static_cast(29704)); + aot_gpr_16 = (ctx.gpr[17] + static_cast(29704)); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 2u); + aot_gpr_6 = (0u | 2u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08AF2464u); ctx.gpr[7] = (aot_gpr_16 | 0u); @@ -5608,15 +5609,15 @@ L_08AF2470: L_08AF2478: aot_gpr_31 = (0x08AF2480u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF2480u) goto L_08AF2480; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF2480u) goto L_08AF2480; AOT_REGCACHE_SYNC_OUT(); return; L_08AF2480: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(412))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(408))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(408))); aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08AF2494u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF2494u) goto L_08AF2494; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF2494u) goto L_08AF2494; AOT_REGCACHE_SYNC_OUT(); return; L_08AF2494: ctx.gpr[1] = (ctx.gpr[3] << 1u); @@ -5636,10 +5637,10 @@ L_08AF24AC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0005_entry, 5u, 69u, 0x088188D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF24B4u) goto L_08AF24B4; AOT_REGCACHE_SYNC_OUT(); return; L_08AF24B4: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29704))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29704))); aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08AF24C4u); - ctx.gpr[6] = (aot_gpr_16 | 0u); + aot_gpr_6 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0005_entry, 5u, 184u, 0x088191BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF24C4u) goto L_08AF24C4; AOT_REGCACHE_SYNC_OUT(); return; L_08AF24C4: @@ -5647,7 +5648,7 @@ L_08AF24C4: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -5661,7 +5662,7 @@ L_08AF24DC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (2236u << 16u); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x08AF24FCu); ctx.gpr[7] = (aot_gpr_16 + static_cast(29704)); @@ -5693,7 +5694,7 @@ L_08AF2524: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (2236u << 16u); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x08AF2544u); ctx.gpr[7] = (aot_gpr_16 + static_cast(29704)); @@ -5708,7 +5709,7 @@ L_08AF254C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08AF255Cu); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0005_entry, 5u, 112u, 0x08818BD4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF255Cu) goto L_08AF255C; AOT_REGCACHE_SYNC_OUT(); return; L_08AF255C: @@ -5726,7 +5727,7 @@ L_08AF2570: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (2236u << 16u); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x08AF2590u); ctx.gpr[7] = (aot_gpr_16 + static_cast(29704)); @@ -5741,7 +5742,7 @@ L_08AF2598: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08AF25A8u); - ctx.gpr[6] = (0u | 3u); + aot_gpr_6 = (0u | 3u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0005_entry, 5u, 112u, 0x08818BD4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF25A8u) goto L_08AF25A8; AOT_REGCACHE_SYNC_OUT(); return; L_08AF25A8: @@ -5758,26 +5759,26 @@ L_08AF25BC: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_16); aot_gpr_16 = (2236u << 16u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), aot_gpr_17); - aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_16 + static_cast(29704)); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 4u); + aot_gpr_6 = (0u | 4u); { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_22), std::bit_cast(ctx.fpr[24])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(16), aot_run_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), aot_gpr_31); aot_gpr_31 = (0x08AF25F0u); - ctx.gpr[7] = (aot_gpr_17 | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF25F0u) goto L_08AF25F0; AOT_REGCACHE_SYNC_OUT(); return; L_08AF25F0: - aot_fpr_22 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(12))); + aot_fpr_22 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(12))); aot_gpr_4 = (49864u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(aot_fpr_13)) && aot_fpr_12 == aot_fpr_13)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); - aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); if (branch_taken) { goto L_08AF2628; } @@ -5814,7 +5815,7 @@ L_08AF2640: { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_22), std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[24])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_4 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (0u | 4u); + aot_gpr_6 = (0u | 4u); aot_gpr_31 = (0x08AF2660u); ctx.gpr[7] = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0005_entry, 5u, 145u, 0x08818E30u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF2660u) goto L_08AF2660; @@ -5827,7 +5828,7 @@ L_08AF2660: aot_fpr_22 = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); aot_gpr_16 = aot_run_words[3]; - aot_gpr_17 = aot_run_words[4]; + ctx.gpr[17] = aot_run_words[4]; aot_gpr_31 = aot_run_words[5]; } jump_target = aot_gpr_31; @@ -5840,20 +5841,20 @@ L_08AF2684: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), aot_gpr_16); aot_gpr_16 = (2236u << 16u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), aot_gpr_17); - aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_16 + static_cast(29704)); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 5u); + aot_gpr_6 = (0u | 5u); { const std::uint32_t aot_run_words[4]{std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_22), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(16), aot_run_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), aot_gpr_31); aot_gpr_31 = (0x08AF26BCu); - ctx.gpr[7] = (aot_gpr_17 | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF26BCu) goto L_08AF26BC; AOT_REGCACHE_SYNC_OUT(); return; L_08AF26BC: { std::uint32_t aot_run_words[3]{}; - aot_mem.aot_direct_load32_block(aot_gpr_17 + static_cast(4), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[17] + static_cast(4), aot_run_words); ctx.fpr[14] = std::bit_cast(aot_run_words[0]); ctx.fpr[15] = std::bit_cast(aot_run_words[1]); aot_fpr_12 = std::bit_cast(aot_run_words[2]); @@ -5863,7 +5864,7 @@ L_08AF26BC: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_20)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(16))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(16))); if (branch_taken) { goto L_08AF26E8; } @@ -5933,7 +5934,7 @@ L_08AF2758: { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_22), std::bit_cast(ctx.fpr[24])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_4 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (0u | 4u); + aot_gpr_6 = (0u | 4u); aot_gpr_31 = (0x08AF277Cu); ctx.gpr[7] = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0005_entry, 5u, 158u, 0x08818F5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF277Cu) goto L_08AF277C; @@ -5947,7 +5948,7 @@ L_08AF277C: ctx.fpr[24] = std::bit_cast(aot_run_words[2]); ctx.fpr[26] = std::bit_cast(aot_run_words[3]); aot_gpr_16 = aot_run_words[4]; - aot_gpr_17 = aot_run_words[5]; + ctx.gpr[17] = aot_run_words[5]; aot_gpr_31 = aot_run_words[6]; } jump_target = aot_gpr_31; @@ -5961,7 +5962,7 @@ L_08AF27A4: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (2236u << 16u); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x08AF27C4u); ctx.gpr[7] = (aot_gpr_16 + static_cast(29704)); @@ -5976,7 +5977,7 @@ L_08AF27CC: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08AF27DCu); - ctx.gpr[6] = (0u | 6u); + aot_gpr_6 = (0u | 6u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0005_entry, 5u, 112u, 0x08818BD4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF27DCu) goto L_08AF27DC; AOT_REGCACHE_SYNC_OUT(); return; L_08AF27DC: @@ -5993,32 +5994,32 @@ L_08AF27F0: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (2236u << 16u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_16 + static_cast(29704)); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 2u); + aot_gpr_6 = (0u | 2u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08AF2818u); - ctx.gpr[7] = (aot_gpr_17 | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF2818u) goto L_08AF2818; AOT_REGCACHE_SYNC_OUT(); return; L_08AF2818: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15976))); aot_gpr_31 = (0x08AF2824u); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF2824u) goto L_08AF2824; AOT_REGCACHE_SYNC_OUT(); return; L_08AF2824: aot_gpr_31 = (0x08AF282Cu); - aot_gpr_17 = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0005_entry, 5u, 69u, 0x088188D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF282Cu) goto L_08AF282C; AOT_REGCACHE_SYNC_OUT(); return; L_08AF282C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); aot_gpr_4 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (0u | 8u); + aot_gpr_6 = (0u | 8u); aot_gpr_31 = (0x08AF2840u); - ctx.gpr[7] = (aot_gpr_17 | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0005_entry, 5u, 132u, 0x08818D20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF2840u) goto L_08AF2840; AOT_REGCACHE_SYNC_OUT(); return; L_08AF2840: @@ -6026,7 +6027,7 @@ L_08AF2840: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -6039,32 +6040,32 @@ L_08AF2858: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (2236u << 16u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_16 + static_cast(29704)); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 2u); + aot_gpr_6 = (0u | 2u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08AF2880u); - ctx.gpr[7] = (aot_gpr_17 | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF2880u) goto L_08AF2880; AOT_REGCACHE_SYNC_OUT(); return; L_08AF2880: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15976))); aot_gpr_31 = (0x08AF288Cu); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF288Cu) goto L_08AF288C; AOT_REGCACHE_SYNC_OUT(); return; L_08AF288C: aot_gpr_31 = (0x08AF2894u); - aot_gpr_17 = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0005_entry, 5u, 69u, 0x088188D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF2894u) goto L_08AF2894; AOT_REGCACHE_SYNC_OUT(); return; L_08AF2894: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); aot_gpr_4 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (0u | 9u); + aot_gpr_6 = (0u | 9u); aot_gpr_31 = (0x08AF28A8u); - ctx.gpr[7] = (aot_gpr_17 | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0005_entry, 5u, 132u, 0x08818D20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF28A8u) goto L_08AF28A8; AOT_REGCACHE_SYNC_OUT(); return; L_08AF28A8: @@ -6072,7 +6073,7 @@ L_08AF28A8: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -6085,32 +6086,32 @@ L_08AF28C0: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (2236u << 16u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_16 + static_cast(29704)); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 2u); + aot_gpr_6 = (0u | 2u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08AF28E8u); - ctx.gpr[7] = (aot_gpr_17 | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF28E8u) goto L_08AF28E8; AOT_REGCACHE_SYNC_OUT(); return; L_08AF28E8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15976))); aot_gpr_31 = (0x08AF28F4u); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF28F4u) goto L_08AF28F4; AOT_REGCACHE_SYNC_OUT(); return; L_08AF28F4: aot_gpr_31 = (0x08AF28FCu); - aot_gpr_17 = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0005_entry, 5u, 69u, 0x088188D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF28FCu) goto L_08AF28FC; AOT_REGCACHE_SYNC_OUT(); return; L_08AF28FC: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); aot_gpr_4 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (0u | 11u); + aot_gpr_6 = (0u | 11u); aot_gpr_31 = (0x08AF2910u); - ctx.gpr[7] = (aot_gpr_17 | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0005_entry, 5u, 132u, 0x08818D20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF2910u) goto L_08AF2910; AOT_REGCACHE_SYNC_OUT(); return; L_08AF2910: @@ -6118,7 +6119,7 @@ L_08AF2910: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -6131,32 +6132,32 @@ L_08AF2928: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (2236u << 16u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_16 + static_cast(29704)); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 2u); + aot_gpr_6 = (0u | 2u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08AF2950u); - ctx.gpr[7] = (aot_gpr_17 | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF2950u) goto L_08AF2950; AOT_REGCACHE_SYNC_OUT(); return; L_08AF2950: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15976))); aot_gpr_31 = (0x08AF295Cu); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF295Cu) goto L_08AF295C; AOT_REGCACHE_SYNC_OUT(); return; L_08AF295C: aot_gpr_31 = (0x08AF2964u); - aot_gpr_17 = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0005_entry, 5u, 69u, 0x088188D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF2964u) goto L_08AF2964; AOT_REGCACHE_SYNC_OUT(); return; L_08AF2964: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); aot_gpr_4 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (0u | 12u); + aot_gpr_6 = (0u | 12u); aot_gpr_31 = (0x08AF2978u); - ctx.gpr[7] = (aot_gpr_17 | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0005_entry, 5u, 132u, 0x08818D20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF2978u) goto L_08AF2978; AOT_REGCACHE_SYNC_OUT(); return; L_08AF2978: @@ -6164,7 +6165,7 @@ L_08AF2978: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -6177,32 +6178,32 @@ L_08AF2990: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (2236u << 16u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_16 + static_cast(29704)); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 2u); + aot_gpr_6 = (0u | 2u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08AF29B8u); - ctx.gpr[7] = (aot_gpr_17 | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF29B8u) goto L_08AF29B8; AOT_REGCACHE_SYNC_OUT(); return; L_08AF29B8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); aot_gpr_31 = (0x08AF29C4u); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF29C4u) goto L_08AF29C4; AOT_REGCACHE_SYNC_OUT(); return; L_08AF29C4: aot_gpr_31 = (0x08AF29CCu); - aot_gpr_17 = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0005_entry, 5u, 69u, 0x088188D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF29CCu) goto L_08AF29CC; AOT_REGCACHE_SYNC_OUT(); return; L_08AF29CC: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); aot_gpr_4 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (0u | 16u); + aot_gpr_6 = (0u | 16u); aot_gpr_31 = (0x08AF29E0u); - ctx.gpr[7] = (aot_gpr_17 | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0005_entry, 5u, 132u, 0x08818D20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF29E0u) goto L_08AF29E0; AOT_REGCACHE_SYNC_OUT(); return; L_08AF29E0: @@ -6210,7 +6211,7 @@ L_08AF29E0: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -6223,32 +6224,32 @@ L_08AF29F8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (2236u << 16u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_16 + static_cast(29704)); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 2u); + aot_gpr_6 = (0u | 2u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08AF2A20u); - ctx.gpr[7] = (aot_gpr_17 | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF2A20u) goto L_08AF2A20; AOT_REGCACHE_SYNC_OUT(); return; L_08AF2A20: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); aot_gpr_31 = (0x08AF2A2Cu); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF2A2Cu) goto L_08AF2A2C; AOT_REGCACHE_SYNC_OUT(); return; L_08AF2A2C: aot_gpr_31 = (0x08AF2A34u); - aot_gpr_17 = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0005_entry, 5u, 69u, 0x088188D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF2A34u) goto L_08AF2A34; AOT_REGCACHE_SYNC_OUT(); return; L_08AF2A34: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); aot_gpr_4 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (0u | 17u); + aot_gpr_6 = (0u | 17u); aot_gpr_31 = (0x08AF2A48u); - ctx.gpr[7] = (aot_gpr_17 | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0005_entry, 5u, 132u, 0x08818D20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF2A48u) goto L_08AF2A48; AOT_REGCACHE_SYNC_OUT(); return; L_08AF2A48: @@ -6256,7 +6257,7 @@ L_08AF2A48: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -6269,32 +6270,32 @@ L_08AF2A60: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (2236u << 16u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_16 + static_cast(29704)); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 2u); + aot_gpr_6 = (0u | 2u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08AF2A88u); - ctx.gpr[7] = (aot_gpr_17 | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF2A88u) goto L_08AF2A88; AOT_REGCACHE_SYNC_OUT(); return; L_08AF2A88: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); aot_gpr_31 = (0x08AF2A94u); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF2A94u) goto L_08AF2A94; AOT_REGCACHE_SYNC_OUT(); return; L_08AF2A94: aot_gpr_31 = (0x08AF2A9Cu); - aot_gpr_17 = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0005_entry, 5u, 69u, 0x088188D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF2A9Cu) goto L_08AF2A9C; AOT_REGCACHE_SYNC_OUT(); return; L_08AF2A9C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); aot_gpr_4 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (0u | 18u); + aot_gpr_6 = (0u | 18u); aot_gpr_31 = (0x08AF2AB0u); - ctx.gpr[7] = (aot_gpr_17 | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0005_entry, 5u, 132u, 0x08818D20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF2AB0u) goto L_08AF2AB0; AOT_REGCACHE_SYNC_OUT(); return; L_08AF2AB0: @@ -6302,7 +6303,7 @@ L_08AF2AB0: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -6315,32 +6316,32 @@ L_08AF2AC8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (2236u << 16u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_16 + static_cast(29704)); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 2u); + aot_gpr_6 = (0u | 2u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08AF2AF0u); - ctx.gpr[7] = (aot_gpr_17 | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF2AF0u) goto L_08AF2AF0; AOT_REGCACHE_SYNC_OUT(); return; L_08AF2AF0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15960))); aot_gpr_31 = (0x08AF2AFCu); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 445u, 0x08B65D28u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF2AFCu) goto L_08AF2AFC; AOT_REGCACHE_SYNC_OUT(); return; L_08AF2AFC: aot_gpr_31 = (0x08AF2B04u); - aot_gpr_17 = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0005_entry, 5u, 69u, 0x088188D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF2B04u) goto L_08AF2B04; AOT_REGCACHE_SYNC_OUT(); return; L_08AF2B04: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); aot_gpr_4 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (0u | 21u); + aot_gpr_6 = (0u | 21u); aot_gpr_31 = (0x08AF2B18u); - ctx.gpr[7] = (aot_gpr_17 | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0005_entry, 5u, 132u, 0x08818D20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF2B18u) goto L_08AF2B18; AOT_REGCACHE_SYNC_OUT(); return; L_08AF2B18: @@ -6348,7 +6349,7 @@ L_08AF2B18: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -6361,32 +6362,32 @@ L_08AF2B30: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (2236u << 16u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_16 + static_cast(29704)); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 2u); + aot_gpr_6 = (0u | 2u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08AF2B58u); - ctx.gpr[7] = (aot_gpr_17 | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF2B58u) goto L_08AF2B58; AOT_REGCACHE_SYNC_OUT(); return; L_08AF2B58: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); aot_gpr_31 = (0x08AF2B64u); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF2B64u) goto L_08AF2B64; AOT_REGCACHE_SYNC_OUT(); return; L_08AF2B64: aot_gpr_31 = (0x08AF2B6Cu); - aot_gpr_17 = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0005_entry, 5u, 69u, 0x088188D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF2B6Cu) goto L_08AF2B6C; AOT_REGCACHE_SYNC_OUT(); return; L_08AF2B6C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); aot_gpr_4 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (0u | 22u); + aot_gpr_6 = (0u | 22u); aot_gpr_31 = (0x08AF2B80u); - ctx.gpr[7] = (aot_gpr_17 | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0005_entry, 5u, 132u, 0x08818D20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF2B80u) goto L_08AF2B80; AOT_REGCACHE_SYNC_OUT(); return; L_08AF2B80: @@ -6394,7 +6395,7 @@ L_08AF2B80: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -6407,20 +6408,20 @@ L_08AF2B98: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), aot_gpr_16); aot_gpr_16 = (2236u << 16u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), aot_gpr_17); - aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_16 + static_cast(29704)); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 5u); + aot_gpr_6 = (0u | 5u); { const std::uint32_t aot_run_words[4]{std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_22), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(16), aot_run_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), aot_gpr_31); aot_gpr_31 = (0x08AF2BD0u); - ctx.gpr[7] = (aot_gpr_17 | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF2BD0u) goto L_08AF2BD0; AOT_REGCACHE_SYNC_OUT(); return; L_08AF2BD0: { std::uint32_t aot_run_words[3]{}; - aot_mem.aot_direct_load32_block(aot_gpr_17 + static_cast(4), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[17] + static_cast(4), aot_run_words); ctx.fpr[14] = std::bit_cast(aot_run_words[0]); ctx.fpr[15] = std::bit_cast(aot_run_words[1]); aot_fpr_12 = std::bit_cast(aot_run_words[2]); @@ -6430,7 +6431,7 @@ L_08AF2BD0: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_20)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(16))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(16))); if (branch_taken) { goto L_08AF2BFC; } @@ -6500,7 +6501,7 @@ L_08AF2C6C: { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_22), std::bit_cast(ctx.fpr[24])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_4 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (0u | 24u); + aot_gpr_6 = (0u | 24u); aot_gpr_31 = (0x08AF2C90u); ctx.gpr[7] = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0005_entry, 5u, 158u, 0x08818F5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF2C90u) goto L_08AF2C90; @@ -6514,7 +6515,7 @@ L_08AF2C90: ctx.fpr[24] = std::bit_cast(aot_run_words[2]); ctx.fpr[26] = std::bit_cast(aot_run_words[3]); aot_gpr_16 = aot_run_words[4]; - aot_gpr_17 = aot_run_words[5]; + ctx.gpr[17] = aot_run_words[5]; aot_gpr_31 = aot_run_words[6]; } jump_target = aot_gpr_31; @@ -6527,20 +6528,20 @@ L_08AF2CB8: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_16); aot_gpr_16 = (2236u << 16u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), aot_gpr_17); - aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_16 + static_cast(29704)); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 3u); + aot_gpr_6 = (0u | 3u); { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_22), std::bit_cast(ctx.fpr[24])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(16), aot_run_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), aot_gpr_31); aot_gpr_31 = (0x08AF2CECu); - ctx.gpr[7] = (aot_gpr_17 | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF2CECu) goto L_08AF2CEC; AOT_REGCACHE_SYNC_OUT(); return; L_08AF2CEC: - aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); - aot_fpr_22 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); + aot_fpr_22 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_31 = (0x08AF2D00u); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_22)); @@ -6556,7 +6557,7 @@ L_08AF2D08: { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_22), std::bit_cast(ctx.fpr[24])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_4 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (0u | 24u); + aot_gpr_6 = (0u | 24u); aot_gpr_31 = (0x08AF2D28u); ctx.gpr[7] = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0005_entry, 5u, 145u, 0x08818E30u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF2D28u) goto L_08AF2D28; @@ -6569,7 +6570,7 @@ L_08AF2D28: aot_fpr_22 = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); aot_gpr_16 = aot_run_words[3]; - aot_gpr_17 = aot_run_words[4]; + ctx.gpr[17] = aot_run_words[4]; aot_gpr_31 = aot_run_words[5]; } jump_target = aot_gpr_31; @@ -6582,20 +6583,20 @@ L_08AF2D4C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (2236u << 16u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_16 + static_cast(29704)); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 3u); + aot_gpr_6 = (0u | 3u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); aot_gpr_31 = (0x08AF2D78u); - ctx.gpr[7] = (aot_gpr_17 | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF2D78u) goto L_08AF2D78; AOT_REGCACHE_SYNC_OUT(); return; L_08AF2D78: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15976))); aot_gpr_31 = (0x08AF2D84u); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF2D84u) goto L_08AF2D84; AOT_REGCACHE_SYNC_OUT(); return; L_08AF2D84: @@ -6605,10 +6606,10 @@ L_08AF2D84: AOT_REGCACHE_SYNC_OUT(); return; L_08AF2D8C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08AF2DA0u); - ctx.gpr[6] = (ctx.gpr[18] | 0u); + aot_gpr_6 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0005_entry, 5u, 197u, 0x088192E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF2DA0u) goto L_08AF2DA0; AOT_REGCACHE_SYNC_OUT(); return; L_08AF2DA0: @@ -6616,7 +6617,7 @@ L_08AF2DA0: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -6631,7 +6632,7 @@ L_08AF2DBC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (2236u << 16u); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x08AF2DDCu); ctx.gpr[7] = (aot_gpr_16 + static_cast(29704)); @@ -6646,7 +6647,7 @@ L_08AF2DE4: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08AF2DF4u); - ctx.gpr[6] = (0u | 35u); + aot_gpr_6 = (0u | 35u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0005_entry, 5u, 112u, 0x08818BD4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF2DF4u) goto L_08AF2DF4; AOT_REGCACHE_SYNC_OUT(); return; L_08AF2DF4: @@ -6664,7 +6665,7 @@ L_08AF2E08: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (2236u << 16u); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x08AF2E28u); ctx.gpr[7] = (aot_gpr_16 + static_cast(29704)); @@ -6679,7 +6680,7 @@ L_08AF2E30: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08AF2E40u); - ctx.gpr[6] = (0u | 16u); + aot_gpr_6 = (0u | 16u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0005_entry, 5u, 112u, 0x08818BD4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF2E40u) goto L_08AF2E40; AOT_REGCACHE_SYNC_OUT(); return; L_08AF2E40: @@ -6696,32 +6697,32 @@ L_08AF2E54: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (2236u << 16u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_16 + static_cast(29704)); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 2u); + aot_gpr_6 = (0u | 2u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08AF2E7Cu); - ctx.gpr[7] = (aot_gpr_17 | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF2E7Cu) goto L_08AF2E7C; AOT_REGCACHE_SYNC_OUT(); return; L_08AF2E7C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); aot_gpr_31 = (0x08AF2E88u); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF2E88u) goto L_08AF2E88; AOT_REGCACHE_SYNC_OUT(); return; L_08AF2E88: aot_gpr_31 = (0x08AF2E90u); - aot_gpr_17 = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0005_entry, 5u, 69u, 0x088188D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF2E90u) goto L_08AF2E90; AOT_REGCACHE_SYNC_OUT(); return; L_08AF2E90: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); aot_gpr_4 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (0u | 41u); + aot_gpr_6 = (0u | 41u); aot_gpr_31 = (0x08AF2EA4u); - ctx.gpr[7] = (aot_gpr_17 | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0005_entry, 5u, 132u, 0x08818D20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF2EA4u) goto L_08AF2EA4; AOT_REGCACHE_SYNC_OUT(); return; L_08AF2EA4: @@ -6729,7 +6730,7 @@ L_08AF2EA4: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -6742,32 +6743,32 @@ L_08AF2EBC: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (2236u << 16u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_16 + static_cast(29704)); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 2u); + aot_gpr_6 = (0u | 2u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08AF2EE4u); - ctx.gpr[7] = (aot_gpr_17 | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF2EE4u) goto L_08AF2EE4; AOT_REGCACHE_SYNC_OUT(); return; L_08AF2EE4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15976))); aot_gpr_31 = (0x08AF2EF0u); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF2EF0u) goto L_08AF2EF0; AOT_REGCACHE_SYNC_OUT(); return; L_08AF2EF0: aot_gpr_31 = (0x08AF2EF8u); - aot_gpr_17 = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0005_entry, 5u, 69u, 0x088188D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF2EF8u) goto L_08AF2EF8; AOT_REGCACHE_SYNC_OUT(); return; L_08AF2EF8: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); aot_gpr_4 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (0u | 13u); + aot_gpr_6 = (0u | 13u); aot_gpr_31 = (0x08AF2F0Cu); - ctx.gpr[7] = (aot_gpr_17 | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0005_entry, 5u, 132u, 0x08818D20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF2F0Cu) goto L_08AF2F0C; AOT_REGCACHE_SYNC_OUT(); return; L_08AF2F0C: @@ -6775,7 +6776,7 @@ L_08AF2F0C: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -6788,32 +6789,32 @@ L_08AF2F24: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (2236u << 16u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_16 + static_cast(29704)); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 2u); + aot_gpr_6 = (0u | 2u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08AF2F4Cu); - ctx.gpr[7] = (aot_gpr_17 | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF2F4Cu) goto L_08AF2F4C; AOT_REGCACHE_SYNC_OUT(); return; L_08AF2F4C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15976))); aot_gpr_31 = (0x08AF2F58u); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF2F58u) goto L_08AF2F58; AOT_REGCACHE_SYNC_OUT(); return; L_08AF2F58: aot_gpr_31 = (0x08AF2F60u); - aot_gpr_17 = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0005_entry, 5u, 69u, 0x088188D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF2F60u) goto L_08AF2F60; AOT_REGCACHE_SYNC_OUT(); return; L_08AF2F60: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); aot_gpr_4 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (0u | 46u); + aot_gpr_6 = (0u | 46u); aot_gpr_31 = (0x08AF2F74u); - ctx.gpr[7] = (aot_gpr_17 | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0005_entry, 5u, 132u, 0x08818D20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF2F74u) goto L_08AF2F74; AOT_REGCACHE_SYNC_OUT(); return; L_08AF2F74: @@ -6821,7 +6822,7 @@ L_08AF2F74: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -6834,20 +6835,20 @@ L_08AF2F8C: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_16); aot_gpr_16 = (2236u << 16u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), aot_gpr_17); - aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_16 + static_cast(29704)); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 3u); + aot_gpr_6 = (0u | 3u); { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_22), std::bit_cast(ctx.fpr[24])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(16), aot_run_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), aot_gpr_31); aot_gpr_31 = (0x08AF2FC0u); - ctx.gpr[7] = (aot_gpr_17 | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF2FC0u) goto L_08AF2FC0; AOT_REGCACHE_SYNC_OUT(); return; L_08AF2FC0: - aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); - aot_fpr_22 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); + aot_fpr_22 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_31 = (0x08AF2FD4u); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_22)); @@ -6863,7 +6864,7 @@ L_08AF2FDC: { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_22), std::bit_cast(ctx.fpr[24])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_4 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (0u | 49u); + aot_gpr_6 = (0u | 49u); aot_gpr_31 = (0x08AF2FFCu); ctx.gpr[7] = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0005_entry, 5u, 145u, 0x08818E30u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF2FFCu) goto L_08AF2FFC; @@ -6876,7 +6877,7 @@ L_08AF2FFC: aot_fpr_22 = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); aot_gpr_16 = aot_run_words[3]; - aot_gpr_17 = aot_run_words[4]; + ctx.gpr[17] = aot_run_words[4]; aot_gpr_31 = aot_run_words[5]; } jump_target = aot_gpr_31; @@ -6889,13 +6890,13 @@ L_08AF3020: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (2236u << 16u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_16 + static_cast(29704)); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 3u); + aot_gpr_6 = (0u | 3u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08AF3048u); - ctx.gpr[7] = (aot_gpr_17 | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF3048u) goto L_08AF3048; AOT_REGCACHE_SYNC_OUT(); return; L_08AF3048: @@ -6904,16 +6905,16 @@ L_08AF3048: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0005_entry, 5u, 69u, 0x088188D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF3050u) goto L_08AF3050; AOT_REGCACHE_SYNC_OUT(); return; L_08AF3050: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); ctx.gpr[7] = (aot_gpr_4 << 16u); - ctx.gpr[8] = (ctx.gpr[6] << 16u); + ctx.gpr[8] = (aot_gpr_6 << 16u); ctx.gpr[7] = (static_cast(static_cast(ctx.gpr[7]) >> 16u)); ctx.gpr[8] = (static_cast(static_cast(ctx.gpr[8]) >> 16u)); aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08AF3078u); - ctx.gpr[6] = (0u | 30u); + aot_gpr_6 = (0u | 30u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0005_entry, 5u, 171u, 0x08819094u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF3078u) goto L_08AF3078; AOT_REGCACHE_SYNC_OUT(); return; L_08AF3078: @@ -6921,7 +6922,7 @@ L_08AF3078: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -6934,20 +6935,20 @@ L_08AF3090: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_16); aot_gpr_16 = (2236u << 16u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), aot_gpr_17); - aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_16 + static_cast(29704)); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 3u); + aot_gpr_6 = (0u | 3u); { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_22), std::bit_cast(ctx.fpr[24])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(16), aot_run_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), aot_gpr_31); aot_gpr_31 = (0x08AF30C4u); - ctx.gpr[7] = (aot_gpr_17 | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF30C4u) goto L_08AF30C4; AOT_REGCACHE_SYNC_OUT(); return; L_08AF30C4: - aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); - aot_fpr_22 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); + aot_fpr_22 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_31 = (0x08AF30D8u); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_22)); @@ -6963,7 +6964,7 @@ L_08AF30E0: { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_22), std::bit_cast(ctx.fpr[24])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_4 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (0u | 25u); + aot_gpr_6 = (0u | 25u); aot_gpr_31 = (0x08AF3100u); ctx.gpr[7] = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0005_entry, 5u, 145u, 0x08818E30u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF3100u) goto L_08AF3100; @@ -6976,7 +6977,7 @@ L_08AF3100: aot_fpr_22 = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); aot_gpr_16 = aot_run_words[3]; - aot_gpr_17 = aot_run_words[4]; + ctx.gpr[17] = aot_run_words[4]; aot_gpr_31 = aot_run_words[5]; } jump_target = aot_gpr_31; @@ -6990,7 +6991,7 @@ L_08AF3124: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (2236u << 16u); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x08AF3144u); ctx.gpr[7] = (aot_gpr_16 + static_cast(29704)); @@ -7005,7 +7006,7 @@ L_08AF314C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08AF315Cu); - ctx.gpr[6] = (0u | 32u); + aot_gpr_6 = (0u | 32u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0005_entry, 5u, 112u, 0x08818BD4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF315Cu) goto L_08AF315C; AOT_REGCACHE_SYNC_OUT(); return; L_08AF315C: @@ -7022,10 +7023,10 @@ L_08AF3170: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); { const std::uint32_t aot_run_words[6]{std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_22), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), aot_gpr_16, aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(16), aot_run_words); } - ctx.gpr[6] = (2236u << 16u); - aot_gpr_16 = (ctx.gpr[6] + static_cast(29704)); + aot_gpr_6 = (2236u << 16u); + aot_gpr_16 = (aot_gpr_6 + static_cast(29704)); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 6u); + aot_gpr_6 = (0u | 6u); aot_gpr_31 = (0x08AF31A4u); ctx.gpr[7] = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF31A4u) goto L_08AF31A4; @@ -7123,7 +7124,7 @@ L_08AF3230: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), std::bit_cast(ctx.fpr[24])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), std::bit_cast(aot_fpr_22)); aot_gpr_4 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (aot_gpr_29 | 0u); + aot_gpr_6 = (aot_gpr_29 | 0u); aot_gpr_31 = (0x08AF3258u); ctx.gpr[7] = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0005_entry, 5u, 211u, 0x088193FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF3258u) goto L_08AF3258; @@ -7157,7 +7158,7 @@ L_08AF3280: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (2236u << 16u); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x08AF32A0u); ctx.gpr[7] = (aot_gpr_16 + static_cast(29704)); @@ -7187,13 +7188,13 @@ L_08AF32B4: L_08AF32C8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (2236u << 16u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (2236u << 16u); aot_gpr_16 = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); - ctx.gpr[18] = (aot_gpr_17 + static_cast(29704)); + ctx.gpr[18] = (ctx.gpr[17] + static_cast(29704)); aot_gpr_5 = (aot_gpr_16 + static_cast(16)); - ctx.gpr[6] = (0u | 2u); + aot_gpr_6 = (0u | 2u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); aot_gpr_31 = (0x08AF32F8u); ctx.gpr[7] = (ctx.gpr[18] | 0u); @@ -7211,10 +7212,10 @@ L_08AF3304: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0005_entry, 5u, 69u, 0x088188D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF330Cu) goto L_08AF330C; AOT_REGCACHE_SYNC_OUT(); return; L_08AF330C: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29704))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29704))); aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08AF331Cu); - ctx.gpr[6] = (ctx.gpr[18] | 0u); + aot_gpr_6 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0005_entry, 5u, 72u, 0x08818918u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF331Cu) goto L_08AF331C; AOT_REGCACHE_SYNC_OUT(); return; L_08AF331C: @@ -7242,12 +7243,12 @@ L_08AF3340: } L_08AF3348: aot_gpr_5 = (aot_gpr_16 + static_cast(518)); - ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0))); - ctx.gpr[7] = (ctx.gpr[6] + static_cast(-1)); + aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0))); + ctx.gpr[7] = (aot_gpr_6 + static_cast(-1)); aot_mem.aot_direct_store16(aot_gpr_5 + static_cast(0), static_cast(ctx.gpr[7])); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(521))); - ctx.gpr[6] = (static_cast(ctx.gpr[6]) < 9 ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_6 = (static_cast(aot_gpr_6) < 9 ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); if (branch_taken) { goto L_08AF3374; @@ -7283,7 +7284,7 @@ L_08AF3390: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -7297,31 +7298,31 @@ L_08AF33AC: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (2236u << 16u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_16 + static_cast(29704)); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 2u); + aot_gpr_6 = (0u | 2u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08AF33D4u); - ctx.gpr[7] = (aot_gpr_17 | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF33D4u) goto L_08AF33D4; AOT_REGCACHE_SYNC_OUT(); return; L_08AF33D4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15976))); aot_gpr_31 = (0x08AF33E0u); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF33E0u) goto L_08AF33E0; AOT_REGCACHE_SYNC_OUT(); return; L_08AF33E0: aot_gpr_31 = (0x08AF33E8u); - aot_gpr_17 = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0005_entry, 5u, 69u, 0x088188D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF33E8u) goto L_08AF33E8; AOT_REGCACHE_SYNC_OUT(); return; L_08AF33E8: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08AF33F8u); - ctx.gpr[6] = (aot_gpr_17 | 0u); + aot_gpr_6 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0005_entry, 5u, 84u, 0x08818A24u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF33F8u) goto L_08AF33F8; AOT_REGCACHE_SYNC_OUT(); return; L_08AF33F8: @@ -7329,7 +7330,7 @@ L_08AF33F8: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -7343,7 +7344,7 @@ L_08AF3410: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (2236u << 16u); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x08AF3430u); ctx.gpr[7] = (aot_gpr_16 + static_cast(29704)); @@ -7382,13 +7383,13 @@ L_08AF3464: aot_gpr_16 = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), std::bit_cast(aot_fpr_20)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), std::bit_cast(aot_fpr_22)); - { const std::uint32_t aot_run_words[3]{aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(12), aot_run_words); } - aot_gpr_17 = (2236u << 16u); - ctx.gpr[18] = (aot_gpr_17 + static_cast(29704)); + ctx.gpr[17] = (2236u << 16u); + ctx.gpr[18] = (ctx.gpr[17] + static_cast(29704)); aot_gpr_5 = (aot_gpr_16 + static_cast(16)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (0u | 4u); + aot_gpr_6 = (0u | 4u); aot_gpr_31 = (0x08AF34A0u); ctx.gpr[7] = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF34A0u) goto L_08AF34A0; @@ -7404,7 +7405,7 @@ L_08AF34A0: L_08AF34B4: ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(12))); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29704))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29704))); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_22)); ctx.fpr[14] = std::bit_cast(std::bit_cast(ctx.fpr[0])); aot_gpr_31 = (0x08AF34D0u); @@ -7434,12 +7435,12 @@ L_08AF34EC: } L_08AF34F4: aot_gpr_4 = (aot_gpr_16 + static_cast(518)); - ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0))); - ctx.gpr[7] = (ctx.gpr[6] + static_cast(-1)); + aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0))); + ctx.gpr[7] = (aot_gpr_6 + static_cast(-1)); aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(0), static_cast(ctx.gpr[7])); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(521))); - ctx.gpr[6] = (static_cast(ctx.gpr[6]) < 9 ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_6 = (static_cast(aot_gpr_6) < 9 ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); if (branch_taken) { goto L_08AF3520; @@ -7477,7 +7478,7 @@ L_08AF353C: aot_fpr_20 = std::bit_cast(aot_run_words[0]); aot_fpr_22 = std::bit_cast(aot_run_words[1]); aot_gpr_16 = aot_run_words[2]; - aot_gpr_17 = aot_run_words[3]; + ctx.gpr[17] = aot_run_words[3]; ctx.gpr[18] = aot_run_words[4]; aot_gpr_31 = aot_run_words[5]; } @@ -7490,23 +7491,23 @@ L_08AF353C: L_08AF3560: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (2236u << 16u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (2236u << 16u); aot_gpr_16 = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); - ctx.gpr[18] = (aot_gpr_17 + static_cast(29704)); + ctx.gpr[18] = (ctx.gpr[17] + static_cast(29704)); aot_gpr_5 = (aot_gpr_16 + static_cast(16)); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); aot_gpr_31 = (0x08AF3590u); ctx.gpr[7] = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF3590u) goto L_08AF3590; AOT_REGCACHE_SYNC_OUT(); return; L_08AF3590: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29704))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29704))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); aot_gpr_31 = (0x08AF35A0u); - ctx.gpr[6] = (aot_gpr_16 | 0u); + aot_gpr_6 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 719u, 0x08863B54u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF35A0u) goto L_08AF35A0; AOT_REGCACHE_SYNC_OUT(); return; L_08AF35A0: @@ -7532,12 +7533,12 @@ L_08AF35BC: } L_08AF35C4: aot_gpr_5 = (aot_gpr_16 + static_cast(518)); - ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0))); - ctx.gpr[7] = (ctx.gpr[6] + static_cast(-1)); + aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0))); + ctx.gpr[7] = (aot_gpr_6 + static_cast(-1)); aot_mem.aot_direct_store16(aot_gpr_5 + static_cast(0), static_cast(ctx.gpr[7])); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(521))); - ctx.gpr[6] = (static_cast(ctx.gpr[6]) < 9 ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_6 = (static_cast(aot_gpr_6) < 9 ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); if (branch_taken) { goto L_08AF35F0; @@ -7573,7 +7574,7 @@ L_08AF360C: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -7588,7 +7589,7 @@ L_08AF3628: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (2236u << 16u); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x08AF3648u); ctx.gpr[7] = (aot_gpr_16 + static_cast(29704)); @@ -7622,8 +7623,8 @@ L_08AF3670: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[21]); ctx.gpr[21] = (2236u << 16u); aot_gpr_5 = (aot_gpr_16 + static_cast(16)); - ctx.gpr[6] = (0u | 1u); - { const std::uint32_t aot_run_words[4]{aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20]}; + aot_gpr_6 = (0u | 1u); + { const std::uint32_t aot_run_words[4]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(4), aot_run_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_31); aot_gpr_31 = (0x08AF36A8u); @@ -7640,14 +7641,14 @@ L_08AF36B0: aot_gpr_5 = (aot_gpr_4 << 5u); ctx.gpr[20] = (ctx.gpr[2] | 0u); aot_gpr_4 = (aot_gpr_4 << 2u); - ctx.gpr[6] = (ctx.gpr[20] + static_cast(260)); + aot_gpr_6 = (ctx.gpr[20] + static_cast(260)); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); - aot_gpr_4 = (ctx.gpr[6] + aot_gpr_4); + aot_gpr_4 = (aot_gpr_6 + aot_gpr_4); ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); ctx.gpr[18] = (0u | 0u); aot_gpr_4 = (static_cast(ctx.gpr[18]) < static_cast(ctx.gpr[19]) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_17 = (0u | 1u); + ctx.gpr[17] = (0u | 1u); if (branch_taken) { goto L_08AF3738; } @@ -7657,7 +7658,7 @@ L_08AF36E0: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(29704))); aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08AF36F0u); - ctx.gpr[6] = (ctx.gpr[18] | 0u); + aot_gpr_6 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0005_entry, 5u, 96u, 0x08818B00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF36F0u) goto L_08AF36F0; AOT_REGCACHE_SYNC_OUT(); return; L_08AF36F0: @@ -7689,7 +7690,7 @@ L_08AF3718: } L_08AF3720: { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); if (branch_taken) { goto L_08AF3738; } @@ -7706,15 +7707,15 @@ L_08AF3728: goto L_08AF3738; } L_08AF3738: - aot_gpr_4 = (0u < aot_gpr_17 ? 1u : 0u); + aot_gpr_4 = (0u < ctx.gpr[17] ? 1u : 0u); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(524))); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); - aot_gpr_17 = (aot_gpr_4 ^ aot_gpr_5); + ctx.gpr[17] = (aot_gpr_4 ^ aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(518))); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_17 = (0u < aot_gpr_17 ? 1u : 0u); + ctx.gpr[17] = (0u < ctx.gpr[17] ? 1u : 0u); if (branch_taken) { goto L_08AF3764; } @@ -7722,7 +7723,7 @@ L_08AF3738: } L_08AF375C: { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_17)); + aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(ctx.gpr[17])); if (branch_taken) { goto L_08AF37AC; } @@ -7731,8 +7732,8 @@ L_08AF375C: L_08AF3764: aot_gpr_4 = (aot_gpr_16 + static_cast(518)); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0))); - ctx.gpr[6] = (aot_gpr_5 + static_cast(-1)); - aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(0), static_cast(ctx.gpr[6])); + aot_gpr_6 = (aot_gpr_5 + static_cast(-1)); + aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_6)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(521))); aot_gpr_5 = (static_cast(aot_gpr_5) < 9 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; @@ -7743,7 +7744,7 @@ L_08AF3764: goto L_08AF3784; } L_08AF3784: - aot_gpr_4 = (aot_gpr_17 & aot_gpr_4); + aot_gpr_4 = (ctx.gpr[17] & aot_gpr_4); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_4)); if (branch_taken) { @@ -7752,7 +7753,7 @@ L_08AF3784: goto L_08AF3790; } L_08AF3790: - aot_gpr_4 = (aot_gpr_17 | aot_gpr_4); + aot_gpr_4 = (ctx.gpr[17] | aot_gpr_4); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(518))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_4)); aot_gpr_4 = (static_cast(aot_gpr_5) < 21 ? 1u : 0u); @@ -7771,7 +7772,7 @@ L_08AF37AC: { std::uint32_t aot_run_words[7]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -7788,7 +7789,7 @@ L_08AF37D4: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); aot_gpr_31 = (0x08AF37E4u); - ctx.gpr[6] = (aot_gpr_4 + static_cast(16)); + aot_gpr_6 = (aot_gpr_4 + static_cast(16)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 920u, 0x08867D0Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF37E4u) goto L_08AF37E4; AOT_REGCACHE_SYNC_OUT(); return; L_08AF37E4: @@ -7804,7 +7805,7 @@ L_08AF37F4: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); aot_gpr_31 = (0x08AF3804u); - ctx.gpr[6] = (aot_gpr_4 + static_cast(16)); + aot_gpr_6 = (aot_gpr_4 + static_cast(16)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0025_entry, 25u, 36u, 0x088681F8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF3804u) goto L_08AF3804; AOT_REGCACHE_SYNC_OUT(); return; L_08AF3804: @@ -7820,7 +7821,7 @@ L_08AF3814: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); aot_gpr_31 = (0x08AF3824u); - ctx.gpr[6] = (aot_gpr_4 + static_cast(16)); + aot_gpr_6 = (aot_gpr_4 + static_cast(16)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0025_entry, 25u, 110u, 0x088686D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF3824u) goto L_08AF3824; AOT_REGCACHE_SYNC_OUT(); return; L_08AF3824: @@ -7836,7 +7837,7 @@ L_08AF3834: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); aot_gpr_31 = (0x08AF3844u); - ctx.gpr[6] = (aot_gpr_4 + static_cast(16)); + aot_gpr_6 = (aot_gpr_4 + static_cast(16)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0025_entry, 25u, 180u, 0x08868B8Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF3844u) goto L_08AF3844; AOT_REGCACHE_SYNC_OUT(); return; L_08AF3844: @@ -7851,13 +7852,13 @@ L_08AF3844: L_08AF3854: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_17); - aot_gpr_17 = (2236u << 16u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[17]); + ctx.gpr[17] = (2236u << 16u); aot_gpr_16 = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[18]); - ctx.gpr[18] = (aot_gpr_17 + static_cast(29704)); + ctx.gpr[18] = (ctx.gpr[17] + static_cast(29704)); aot_gpr_5 = (aot_gpr_16 + static_cast(16)); - ctx.gpr[6] = (0u | 2u); + aot_gpr_6 = (0u | 2u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_31); aot_gpr_31 = (0x08AF3884u); ctx.gpr[7] = (ctx.gpr[18] | 0u); @@ -7875,10 +7876,10 @@ L_08AF3890: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0005_entry, 5u, 69u, 0x088188D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF3898u) goto L_08AF3898; AOT_REGCACHE_SYNC_OUT(); return; L_08AF3898: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29704))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29704))); ctx.gpr[8] = (aot_gpr_29 + static_cast(4)); aot_gpr_4 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (ctx.gpr[18] | 0u); + aot_gpr_6 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08AF38B0u); ctx.gpr[7] = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0005_entry, 5u, 106u, 0x08818B84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF38B0u) goto L_08AF38B0; @@ -7925,12 +7926,12 @@ L_08AF38E0: } L_08AF38E8: aot_gpr_5 = (aot_gpr_16 + static_cast(518)); - ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0))); - ctx.gpr[7] = (ctx.gpr[6] + static_cast(-1)); + aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0))); + ctx.gpr[7] = (aot_gpr_6 + static_cast(-1)); aot_mem.aot_direct_store16(aot_gpr_5 + static_cast(0), static_cast(ctx.gpr[7])); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(521))); - ctx.gpr[6] = (static_cast(ctx.gpr[6]) < 9 ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_6 = (static_cast(aot_gpr_6) < 9 ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); if (branch_taken) { goto L_08AF3914; @@ -7966,7 +7967,7 @@ L_08AF3930: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(8), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -7980,12 +7981,12 @@ L_08AF394C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_16 + static_cast(16)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_16 + static_cast(16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); ctx.gpr[18] = (2236u << 16u); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_6 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); aot_gpr_31 = (0x08AF397Cu); ctx.gpr[7] = (ctx.gpr[18] + static_cast(29704)); @@ -7998,25 +7999,25 @@ L_08AF397C: AOT_REGCACHE_SYNC_OUT(); return; L_08AF3984: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(29704))); - ctx.gpr[6] = (aot_gpr_4 << 5u); + aot_gpr_6 = (aot_gpr_4 << 5u); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_5 = (ctx.gpr[2] + static_cast(260)); - aot_gpr_4 = (ctx.gpr[6] - aot_gpr_4); + aot_gpr_4 = (aot_gpr_6 - aot_gpr_4); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(29704), aot_gpr_5); aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08AF39B4u); - ctx.gpr[6] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF39B4u) goto L_08AF39B4; + aot_gpr_6 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF39B4u) goto L_08AF39B4; AOT_REGCACHE_SYNC_OUT(); return; L_08AF39B4: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -8030,13 +8031,13 @@ L_08AF39D0: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (2236u << 16u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (2236u << 16u); aot_gpr_5 = (aot_gpr_16 + static_cast(16)); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08AF39F8u); - ctx.gpr[7] = (aot_gpr_17 + static_cast(29704)); + ctx.gpr[7] = (ctx.gpr[17] + static_cast(29704)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF39F8u) goto L_08AF39F8; AOT_REGCACHE_SYNC_OUT(); return; L_08AF39F8: @@ -8045,7 +8046,7 @@ L_08AF39F8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0005_entry, 5u, 69u, 0x088188D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF3A00u) goto L_08AF3A00; AOT_REGCACHE_SYNC_OUT(); return; L_08AF3A00: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29704))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29704))); aot_gpr_31 = (0x08AF3A0Cu); aot_gpr_4 = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0005_entry, 5u, 244u, 0x08819688u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF3A0Cu) goto L_08AF3A0C; @@ -8073,12 +8074,12 @@ L_08AF3A28: } L_08AF3A30: aot_gpr_5 = (aot_gpr_16 + static_cast(518)); - ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0))); - ctx.gpr[7] = (ctx.gpr[6] + static_cast(-1)); + aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0))); + ctx.gpr[7] = (aot_gpr_6 + static_cast(-1)); aot_mem.aot_direct_store16(aot_gpr_5 + static_cast(0), static_cast(ctx.gpr[7])); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(521))); - ctx.gpr[6] = (static_cast(ctx.gpr[6]) < 9 ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_6 = (static_cast(aot_gpr_6) < 9 ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); if (branch_taken) { goto L_08AF3A5C; @@ -8114,7 +8115,7 @@ L_08AF3A78: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -8127,13 +8128,13 @@ L_08AF3A90: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (2236u << 16u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_16 + static_cast(29704)); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 3u); + aot_gpr_6 = (0u | 3u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08AF3AB8u); - ctx.gpr[7] = (aot_gpr_17 | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF3AB8u) goto L_08AF3AB8; AOT_REGCACHE_SYNC_OUT(); return; L_08AF3AB8: @@ -8143,9 +8144,9 @@ L_08AF3AB8: AOT_REGCACHE_SYNC_OUT(); return; L_08AF3AC0: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); aot_fpr_12 = std::bit_cast(aot_gpr_4); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); ctx.gpr[7] = (0u | 1u); aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08AF3AE0u); @@ -8157,7 +8158,7 @@ L_08AF3AE0: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -8170,13 +8171,13 @@ L_08AF3AF8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (2236u << 16u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_16 + static_cast(29704)); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 3u); + aot_gpr_6 = (0u | 3u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08AF3B20u); - ctx.gpr[7] = (aot_gpr_17 | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF3B20u) goto L_08AF3B20; AOT_REGCACHE_SYNC_OUT(); return; L_08AF3B20: @@ -8186,9 +8187,9 @@ L_08AF3B20: AOT_REGCACHE_SYNC_OUT(); return; L_08AF3B28: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); aot_fpr_12 = std::bit_cast(aot_gpr_4); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); ctx.gpr[7] = (0u | 2u); aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08AF3B48u); @@ -8200,7 +8201,7 @@ L_08AF3B48: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -8231,28 +8232,28 @@ L_08AF3B88: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); - aot_gpr_17 = (aot_gpr_16 + static_cast(16)); + ctx.gpr[17] = (aot_gpr_16 + static_cast(16)); aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08AF3BB0u); - ctx.gpr[6] = (0u | 2u); + aot_gpr_6 = (0u | 2u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 367u, 0x088623D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF3BB0u) goto L_08AF3BB0; AOT_REGCACHE_SYNC_OUT(); return; L_08AF3BB0: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-29148))); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_16 = (ctx.gpr[2] - aot_gpr_5); - aot_gpr_5 = (aot_gpr_17 | 0u); - aot_gpr_17 = (2236u << 16u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_5 = (ctx.gpr[17] | 0u); + ctx.gpr[17] = (2236u << 16u); + aot_gpr_6 = (0u | 1u); aot_gpr_31 = (0x08AF3BD0u); - ctx.gpr[7] = (aot_gpr_17 + static_cast(29704)); + ctx.gpr[7] = (ctx.gpr[17] + static_cast(29704)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF3BD0u) goto L_08AF3BD0; AOT_REGCACHE_SYNC_OUT(); return; L_08AF3BD0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29704))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29704))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -8263,7 +8264,7 @@ L_08AF3BD0: L_08AF3BDC: aot_gpr_4 = (2240u << 16u); aot_gpr_5 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); ctx.gpr[7] = (0u | 1u); aot_gpr_31 = (0x08AF3BF4u); aot_gpr_4 = (aot_gpr_4 + static_cast(-25888)); @@ -8280,7 +8281,7 @@ L_08AF3BF4: L_08AF3BFC: aot_gpr_4 = (2240u << 16u); aot_gpr_5 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x08AF3C14u); aot_gpr_4 = (aot_gpr_4 + static_cast(-25888)); @@ -8298,7 +8299,7 @@ L_08AF3C1C: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -8312,7 +8313,7 @@ L_08AF3C30: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); aot_gpr_31 = (0x08AF3C44u); - ctx.gpr[6] = (0u | 2u); + aot_gpr_6 = (0u | 2u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 367u, 0x088623D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF3C44u) goto L_08AF3C44; AOT_REGCACHE_SYNC_OUT(); return; L_08AF3C44: @@ -8343,31 +8344,31 @@ L_08AF3C6C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); - aot_gpr_17 = (aot_gpr_16 + static_cast(16)); + ctx.gpr[17] = (aot_gpr_16 + static_cast(16)); aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08AF3C94u); - ctx.gpr[6] = (0u | 2u); + aot_gpr_6 = (0u | 2u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 367u, 0x088623D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF3C94u) goto L_08AF3C94; AOT_REGCACHE_SYNC_OUT(); return; L_08AF3C94: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-29148))); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_16 = (ctx.gpr[2] - aot_gpr_5); - aot_gpr_5 = (aot_gpr_17 | 0u); - aot_gpr_17 = (2236u << 16u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_5 = (ctx.gpr[17] | 0u); + ctx.gpr[17] = (2236u << 16u); + aot_gpr_6 = (0u | 1u); aot_gpr_31 = (0x08AF3CB4u); - ctx.gpr[7] = (aot_gpr_17 + static_cast(29704)); + ctx.gpr[7] = (ctx.gpr[17] + static_cast(29704)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF3CB4u) goto L_08AF3CB4; AOT_REGCACHE_SYNC_OUT(); return; L_08AF3CB4: - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29704))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29704))); aot_gpr_4 = (2240u << 16u); aot_gpr_5 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (ctx.gpr[6] & 65535u); + aot_gpr_6 = (aot_gpr_6 & 65535u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u + static_cast(-1)); @@ -8389,7 +8390,7 @@ L_08AF3CE8: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -8403,7 +8404,7 @@ L_08AF3CFC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); aot_gpr_31 = (0x08AF3D10u); - ctx.gpr[6] = (0u | 2u); + aot_gpr_6 = (0u | 2u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 367u, 0x088623D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF3D10u) goto L_08AF3D10; AOT_REGCACHE_SYNC_OUT(); return; L_08AF3D10: @@ -8433,13 +8434,13 @@ L_08AF3D2C: L_08AF3D38: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); - ctx.gpr[6] = (2236u << 16u); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(29704), aot_gpr_5); + aot_gpr_6 = (2236u << 16u); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(29704), aot_gpr_5); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x08AF3D58u); - ctx.gpr[6] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF3D58u) goto L_08AF3D58; + aot_gpr_6 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF3D58u) goto L_08AF3D58; AOT_REGCACHE_SYNC_OUT(); return; L_08AF3D58: ctx.gpr[2] = (0u | 0u); @@ -8455,7 +8456,7 @@ L_08AF3D68: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (2236u << 16u); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x08AF3D88u); ctx.gpr[7] = (aot_gpr_16 + static_cast(29704)); @@ -8495,26 +8496,26 @@ L_08AF3DA8: AOT_REGCACHE_SYNC_OUT(); return; L_08AF3DBC: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[19]); ctx.gpr[19] = (aot_gpr_4 + static_cast(16)); - aot_gpr_17 = (aot_gpr_4 | 0u); + ctx.gpr[17] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_31); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08AF3DECu); - ctx.gpr[6] = (0u | 2u); + aot_gpr_6 = (0u | 2u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 367u, 0x088623D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF3DECu) goto L_08AF3DEC; AOT_REGCACHE_SYNC_OUT(); return; L_08AF3DEC: ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-29148))); aot_gpr_16 = (2236u << 16u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); ctx.gpr[18] = (ctx.gpr[2] - ctx.gpr[18]); aot_gpr_5 = (ctx.gpr[19] | 0u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_gpr_31 = (0x08AF3E0Cu); ctx.gpr[7] = (aot_gpr_16 + static_cast(29704)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF3E0Cu) goto L_08AF3E0C; @@ -8540,13 +8541,13 @@ L_08AF3E20: aot_gpr_16 = (0u | 0u); goto L_08AF3E24; L_08AF3E24: - aot_gpr_4 = (aot_gpr_17 | 0u); - aot_gpr_17 = (2240u << 16u); + aot_gpr_4 = (ctx.gpr[17] | 0u); + ctx.gpr[17] = (2240u << 16u); aot_gpr_5 = (ctx.gpr[19] | 0u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); ctx.gpr[7] = (aot_gpr_29 | 0u); aot_gpr_31 = (0x08AF3E40u); - aot_gpr_17 = (aot_gpr_17 + static_cast(-25888)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(-25888)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF3E40u) goto L_08AF3E40; AOT_REGCACHE_SYNC_OUT(); return; L_08AF3E40: @@ -8568,8 +8569,8 @@ L_08AF3E54: aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); goto L_08AF3E58; L_08AF3E58: - ctx.gpr[6] = (aot_gpr_4 | 0u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_6 = (aot_gpr_4 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08AF3E6Cu); ctx.gpr[7] = (aot_gpr_16 | 0u); @@ -8580,7 +8581,7 @@ L_08AF3E6C: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(4), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; @@ -8595,37 +8596,37 @@ L_08AF3E8C: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); - { const std::uint32_t aot_run_words[4]{aot_gpr_17, ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(20), aot_run_words); } - aot_gpr_17 = (aot_gpr_16 | 0u); - ctx.gpr[19] = (aot_gpr_17 + static_cast(16)); - aot_gpr_4 = (aot_gpr_17 | 0u); + ctx.gpr[17] = (aot_gpr_16 | 0u); + ctx.gpr[19] = (ctx.gpr[17] + static_cast(16)); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08AF3EC0u); - ctx.gpr[6] = (0u | 2u); + aot_gpr_6 = (0u | 2u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 367u, 0x088623D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF3EC0u) goto L_08AF3EC0; AOT_REGCACHE_SYNC_OUT(); return; L_08AF3EC0: ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-29148))); aot_gpr_16 = (2236u << 16u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); ctx.gpr[18] = (ctx.gpr[2] - ctx.gpr[18]); aot_gpr_5 = (ctx.gpr[19] | 0u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_gpr_31 = (0x08AF3EE0u); ctx.gpr[7] = (aot_gpr_16 + static_cast(29704)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF3EE0u) goto L_08AF3EE0; AOT_REGCACHE_SYNC_OUT(); return; L_08AF3EE0: aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); - aot_gpr_4 = (aot_gpr_17 | 0u); - aot_gpr_17 = (2240u << 16u); + aot_gpr_4 = (ctx.gpr[17] | 0u); + ctx.gpr[17] = (2240u << 16u); ctx.gpr[7] = (aot_gpr_29 + static_cast(12)); aot_gpr_16 = (aot_gpr_16 & 65535u); aot_gpr_5 = (ctx.gpr[19] | 0u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_gpr_31 = (0x08AF3F04u); - aot_gpr_17 = (aot_gpr_17 + static_cast(-25888)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(-25888)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF3F04u) goto L_08AF3F04; AOT_REGCACHE_SYNC_OUT(); return; L_08AF3F04: @@ -8648,9 +8649,9 @@ L_08AF3F18: goto L_08AF3F1C; L_08AF3F1C: ctx.gpr[7] = (aot_gpr_4 | 0u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); - ctx.gpr[6] = (aot_gpr_16 | 0u); + aot_gpr_6 = (aot_gpr_16 | 0u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u + static_cast(-1)); ctx.gpr[10] = (0u | 0u); @@ -8663,7 +8664,7 @@ L_08AF3F40: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; @@ -8676,12 +8677,12 @@ L_08AF3F40: AOT_REGCACHE_SYNC_OUT(); return; L_08AF3F60: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_17); - aot_gpr_17 = (2236u << 16u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[17]); + ctx.gpr[17] = (2236u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), ctx.gpr[18]); aot_gpr_16 = (aot_gpr_4 | 0u); - ctx.gpr[18] = (aot_gpr_17 + static_cast(29704)); + ctx.gpr[18] = (ctx.gpr[17] + static_cast(29704)); { const std::uint32_t aot_run_words[4]{ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(28), aot_run_words); } ctx.gpr[20] = (aot_gpr_16 | 0u); @@ -8689,7 +8690,7 @@ L_08AF3F60: aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_5 = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x08AF3FA4u); - ctx.gpr[6] = (0u | 2u); + aot_gpr_6 = (0u | 2u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 367u, 0x088623D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF3FA4u) goto L_08AF3FA4; AOT_REGCACHE_SYNC_OUT(); return; L_08AF3FA4: @@ -8697,21 +8698,21 @@ L_08AF3FA4: aot_gpr_4 = (ctx.gpr[20] | 0u); ctx.gpr[19] = (ctx.gpr[2] - ctx.gpr[19]); aot_gpr_5 = (ctx.gpr[21] | 0u); - ctx.gpr[6] = (0u | 2u); + aot_gpr_6 = (0u | 2u); aot_gpr_31 = (0x08AF3FC0u); ctx.gpr[7] = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF3FC0u) goto L_08AF3FC0; AOT_REGCACHE_SYNC_OUT(); return; L_08AF3FC0: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29704))); - aot_gpr_17 = (2240u << 16u); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29704))); + ctx.gpr[17] = (2240u << 16u); ctx.gpr[7] = (aot_gpr_29 + static_cast(12)); aot_gpr_16 = (aot_gpr_16 & 65535u); aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_5 = (ctx.gpr[21] | 0u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_gpr_31 = (0x08AF3FE4u); - aot_gpr_17 = (aot_gpr_17 + static_cast(-25888)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(-25888)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF3FE4u) goto L_08AF3FE4; AOT_REGCACHE_SYNC_OUT(); return; L_08AF3FE4: diff --git a/profiles/vcs/generated/generated_unit_0188.cpp b/profiles/vcs/generated/generated_unit_0188.cpp index a922cfc..c800694 100644 --- a/profiles/vcs/generated/generated_unit_0188.cpp +++ b/profiles/vcs/generated/generated_unit_0188.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0188[4088] = { }; void recomp_unit_0188_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,6,31,29,16 fprs=12,13,14,15 gpr_occ=3770 fpr_occ=333 gpr_total=5652 fpr_total=598 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,31,5,6,2,29 fprs=12,13,14,15 gpr_occ=4555 fpr_occ=337 gpr_total=6923 fpr_total=602 std::uint32_t aot_gpr_4 = ctx.gpr[4]; + std::uint32_t aot_gpr_31 = ctx.gpr[31]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_6 = ctx.gpr[6]; - std::uint32_t aot_gpr_31 = ctx.gpr[31]; + std::uint32_t aot_gpr_2 = ctx.gpr[2]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; - std::uint32_t aot_gpr_16 = ctx.gpr[16]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_14 = ctx.fpr[14]; float aot_fpr_15 = ctx.fpr[15]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[6] = aot_gpr_6; ctx.gpr[31] = aot_gpr_31; ctx.gpr[29] = aot_gpr_29; ctx.gpr[16] = aot_gpr_16; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[15] = aot_fpr_15; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_16 = ctx.gpr[16]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_15 = ctx.fpr[15]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[31] = aot_gpr_31; ctx.gpr[5] = aot_gpr_5; ctx.gpr[6] = aot_gpr_6; ctx.gpr[2] = aot_gpr_2; ctx.gpr[29] = aot_gpr_29; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[15] = aot_fpr_15; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_2 = ctx.gpr[2]; aot_gpr_29 = ctx.gpr[29]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_15 = ctx.fpr[15]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -1150,7 +1151,7 @@ L_08AF4000: aot_gpr_4 = (ctx.gpr[17] | 0u); ctx.gpr[8] = (ctx.gpr[8] & 65535u); aot_gpr_5 = (ctx.gpr[19] | 0u); - aot_gpr_6 = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); ctx.gpr[9] = (0u + static_cast(-1)); ctx.gpr[10] = (0u | 0u); aot_gpr_31 = (0x08AF4028u); @@ -1158,10 +1159,10 @@ L_08AF4000: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0167_entry, 167u, 949u, 0x08AA3E10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF4028u) goto L_08AF4028; AOT_REGCACHE_SYNC_OUT(); return; L_08AF4028: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); { std::uint32_t aot_run_words[7]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -1177,12 +1178,12 @@ L_08AF4028: AOT_REGCACHE_SYNC_OUT(); return; L_08AF4050: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); - ctx.gpr[17] = (aot_gpr_16 + static_cast(16)); - aot_gpr_4 = (aot_gpr_16 | 0u); + ctx.gpr[17] = (ctx.gpr[16] + static_cast(16)); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08AF4078u); aot_gpr_6 = (0u | 2u); @@ -1190,8 +1191,8 @@ L_08AF4050: AOT_REGCACHE_SYNC_OUT(); return; L_08AF4078: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-29148))); - aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_16 = (ctx.gpr[2] - aot_gpr_5); + aot_gpr_4 = (ctx.gpr[16] | 0u); + ctx.gpr[16] = (aot_gpr_2 - aot_gpr_5); aot_gpr_5 = (ctx.gpr[17] | 0u); ctx.gpr[17] = (2236u << 16u); aot_gpr_6 = (0u | 1u); @@ -1222,16 +1223,16 @@ L_08AF40AC: L_08AF40B0: aot_gpr_6 = (aot_gpr_4 | 0u); aot_gpr_4 = (2240u << 16u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AF40C4u); aot_gpr_4 = (aot_gpr_4 + static_cast(-25888)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0167_entry, 167u, 943u, 0x08AA3DD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF40C4u) goto L_08AF40C4; AOT_REGCACHE_SYNC_OUT(); return; L_08AF40C4: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -1243,15 +1244,15 @@ L_08AF40C4: AOT_REGCACHE_SYNC_OUT(); return; L_08AF40DC: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[18]); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.gpr[18] = (2236u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[17]); { const std::uint32_t aot_run_words[3]{ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(16), aot_run_words); } - ctx.gpr[17] = (aot_gpr_16 + static_cast(16)); - aot_gpr_4 = (aot_gpr_16 | 0u); + ctx.gpr[17] = (ctx.gpr[16] + static_cast(16)); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08AF4114u); aot_gpr_6 = (0u | 2u); @@ -1260,8 +1261,8 @@ L_08AF40DC: L_08AF4114: ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-29148))); ctx.gpr[20] = (ctx.gpr[18] + static_cast(29704)); - ctx.gpr[19] = (ctx.gpr[2] - ctx.gpr[19]); - aot_gpr_4 = (aot_gpr_16 | 0u); + ctx.gpr[19] = (aot_gpr_2 - ctx.gpr[19]); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_6 = (0u | 2u); aot_gpr_31 = (0x08AF4134u); @@ -1270,8 +1271,8 @@ L_08AF4114: AOT_REGCACHE_SYNC_OUT(); return; L_08AF4134: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(4))); - aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_16 = (aot_gpr_5 & 65535u); + aot_gpr_4 = (ctx.gpr[16] | 0u); + ctx.gpr[16] = (aot_gpr_5 & 65535u); aot_gpr_5 = (ctx.gpr[17] | 0u); ctx.gpr[17] = (2240u << 16u); aot_gpr_6 = (0u | 1u); @@ -1303,7 +1304,7 @@ L_08AF4170: ctx.gpr[9] = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(29704))); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); - aot_gpr_6 = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); ctx.gpr[8] = (0u | 0u); ctx.gpr[10] = (0u | 0u); aot_gpr_31 = (0x08AF4194u); @@ -1311,10 +1312,10 @@ L_08AF4170: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0167_entry, 167u, 949u, 0x08AA3E10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF4194u) goto L_08AF4194; AOT_REGCACHE_SYNC_OUT(); return; L_08AF4194: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(4), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -1337,7 +1338,7 @@ L_08AF41B8: ctx.gpr[21] = (aot_gpr_4 + static_cast(16)); ctx.gpr[20] = (aot_gpr_4 | 0u); ctx.gpr[17] = (ctx.gpr[18] + static_cast(29704)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[19]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), aot_gpr_31); aot_gpr_4 = (ctx.gpr[20] | 0u); @@ -1349,7 +1350,7 @@ L_08AF41B8: L_08AF41F8: ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-29148))); aot_gpr_4 = (ctx.gpr[20] | 0u); - ctx.gpr[19] = (ctx.gpr[2] - ctx.gpr[19]); + ctx.gpr[19] = (aot_gpr_2 - ctx.gpr[19]); aot_gpr_5 = (ctx.gpr[21] | 0u); aot_gpr_6 = (0u | 3u); aot_gpr_31 = (0x08AF4214u); @@ -1365,22 +1366,22 @@ L_08AF4214: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF4228u) goto L_08AF4228; AOT_REGCACHE_SYNC_OUT(); return; L_08AF4228: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - if (aot_gpr_16 != 0u) { + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + if (ctx.gpr[16] != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-29148))); goto L_08AF423C; } goto L_08AF4234; L_08AF4234: { const bool branch_taken = 0u == 0u; - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); if (branch_taken) { goto L_08AF4240; } goto L_08AF423C; } L_08AF423C: - aot_gpr_16 = (aot_gpr_4 + aot_gpr_16); + ctx.gpr[16] = (aot_gpr_4 + ctx.gpr[16]); goto L_08AF4240; L_08AF4240: ctx.gpr[7] = (aot_gpr_29 + static_cast(4)); @@ -1418,16 +1419,16 @@ L_08AF426C: aot_gpr_5 = (ctx.gpr[19] | 0u); ctx.gpr[7] = (ctx.gpr[20] | 0u); ctx.gpr[8] = (0u | 0u); - ctx.gpr[10] = (aot_gpr_16 | 0u); + ctx.gpr[10] = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AF429Cu); aot_gpr_4 = (aot_gpr_4 + static_cast(-25888)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0167_entry, 167u, 949u, 0x08AA3E10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF429Cu) goto L_08AF429C; AOT_REGCACHE_SYNC_OUT(); return; L_08AF429C: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); { std::uint32_t aot_run_words[7]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(8), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -1444,7 +1445,7 @@ L_08AF429C: L_08AF42C4: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), 0u); jump_target = aot_gpr_31; - ctx.gpr[2] = (aot_gpr_4 | 0u); + aot_gpr_2 = (aot_gpr_4 | 0u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -1453,10 +1454,10 @@ L_08AF42D0: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); ctx.gpr[17] = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_16 = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); if (branch_taken) { goto L_08AF4308; } @@ -1467,7 +1468,7 @@ L_08AF42EC: aot_gpr_4 = (ctx.gpr[17] | 0u); goto L_08AF44D0; L_08AF42F4: - aot_gpr_4 = (aot_gpr_16 & 1u); + aot_gpr_4 = (ctx.gpr[16] & 1u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -1478,12 +1479,12 @@ L_08AF42F4: L_08AF4300: aot_gpr_31 = (0x08AF4308u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF4308u) goto L_08AF4308; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF4308u) goto L_08AF4308; AOT_REGCACHE_SYNC_OUT(); return; L_08AF4308: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -1584,7 +1585,7 @@ L_08AF43E0: aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(10368), aot_gpr_4); goto L_08AF445C; L_08AF4440: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08AF4450; @@ -1607,11 +1608,11 @@ L_08AF445C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(10368))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(10372))); aot_gpr_4 = (static_cast(aot_gpr_4) < 381 ? 1u : 0u); - ctx.gpr[2] = (aot_gpr_4 ^ 1u); + aot_gpr_2 = (aot_gpr_4 ^ 1u); aot_gpr_4 = (static_cast(aot_gpr_5) < 1019 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 ^ 1u); jump_target = aot_gpr_31; - ctx.gpr[2] = (ctx.gpr[2] | aot_gpr_4); + aot_gpr_2 = (aot_gpr_2 | aot_gpr_4); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -1631,7 +1632,7 @@ L_08AF4490: aot_gpr_4 = (0u | 7u); aot_gpr_31 = (0x08AF449Cu); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF449Cu) goto L_08AF449C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF449Cu) goto L_08AF449C; AOT_REGCACHE_SYNC_OUT(); return; L_08AF449C: aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(10368))); @@ -1679,13 +1680,13 @@ L_08AF44E8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); ctx.gpr[17] = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08AF4504u); - aot_gpr_16 = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); goto L_08AF44D0; L_08AF4504: - { const bool branch_taken = aot_gpr_16 == 0u; + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08AF451C; @@ -1693,18 +1694,18 @@ L_08AF4504: goto L_08AF450C; } L_08AF450C: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AF4518u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 398u, 0x08A65C4Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF4518u) goto L_08AF4518; AOT_REGCACHE_SYNC_OUT(); return; L_08AF4518: - aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), aot_gpr_2); goto L_08AF451C; L_08AF451C: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -1716,8 +1717,8 @@ L_08AF451C: AOT_REGCACHE_SYNC_OUT(); return; L_08AF4530: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_4 = (aot_gpr_6 | 0u); @@ -1742,10 +1743,10 @@ L_08AF4550: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 398u, 0x08A65C4Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF4560u) goto L_08AF4560; AOT_REGCACHE_SYNC_OUT(); return; L_08AF4560: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), aot_gpr_2); goto L_08AF4564; L_08AF4564: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -1757,10 +1758,10 @@ L_08AF4574: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), ctx.gpr[17]); ctx.gpr[17] = (aot_gpr_4 | 0u); - { const std::uint32_t aot_run_words[5]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), aot_gpr_16}; + { const std::uint32_t aot_run_words[5]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), ctx.gpr[16]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(16), aot_run_words); } ctx.fpr[20] = std::bit_cast(std::bit_cast(aot_fpr_15)); - aot_gpr_16 = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); ctx.fpr[22] = std::bit_cast(std::bit_cast(aot_fpr_14)); ctx.fpr[24] = std::bit_cast(std::bit_cast(aot_fpr_13)); aot_gpr_4 = (0u | 4u); @@ -1768,13 +1769,13 @@ L_08AF4574: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), aot_gpr_31); aot_gpr_31 = (0x08AF45B8u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF45B8u) goto L_08AF45B8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF45B8u) goto L_08AF45B8; AOT_REGCACHE_SYNC_OUT(); return; L_08AF45B8: aot_gpr_4 = (0u | 6u); aot_gpr_31 = (0x08AF45C4u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF45C4u) goto L_08AF45C4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF45C4u) goto L_08AF45C4; AOT_REGCACHE_SYNC_OUT(); return; L_08AF45C4: aot_fpr_14 = ctx.fpr[22] + ctx.fpr[26]; @@ -1783,14 +1784,14 @@ L_08AF45C4: aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[26])); aot_gpr_31 = (0x08AF45DCu); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[24])); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF45DCu) goto L_08AF45DC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF45DCu) goto L_08AF45DC; AOT_REGCACHE_SYNC_OUT(); return; L_08AF45DC: - aot_gpr_4 = (ctx.gpr[2] | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); - aot_gpr_6 = (aot_gpr_16 | 0u); - ctx.gpr[7] = (aot_gpr_16 | 0u); - ctx.gpr[8] = (aot_gpr_16 | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); + ctx.gpr[7] = (ctx.gpr[16] | 0u); + ctx.gpr[8] = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AF45F8u); ctx.gpr[9] = (0u | 1u); goto L_08AF47C0; @@ -1810,13 +1811,13 @@ L_08AF4614: aot_gpr_4 = (0u | 4u); aot_gpr_31 = (0x08AF4620u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF4620u) goto L_08AF4620; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF4620u) goto L_08AF4620; AOT_REGCACHE_SYNC_OUT(); return; L_08AF4620: aot_gpr_4 = (0u | 6u); aot_gpr_31 = (0x08AF462Cu); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF462Cu) goto L_08AF462C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF462Cu) goto L_08AF462C; AOT_REGCACHE_SYNC_OUT(); return; L_08AF462C: { std::uint32_t aot_run_words[7]{}; @@ -1825,7 +1826,7 @@ L_08AF462C: ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); ctx.fpr[26] = std::bit_cast(aot_run_words[3]); - aot_gpr_16 = aot_run_words[4]; + ctx.gpr[16] = aot_run_words[4]; ctx.gpr[17] = aot_run_words[5]; aot_gpr_31 = aot_run_words[6]; } @@ -1837,8 +1838,8 @@ L_08AF462C: AOT_REGCACHE_SYNC_OUT(); return; L_08AF4650: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (aot_gpr_6 | 0u); ctx.gpr[7] = (aot_gpr_6 | 0u); @@ -1849,7 +1850,7 @@ L_08AF4650: goto L_08AF47C0; L_08AF4678: aot_gpr_31 = (0x08AF4680u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_08AF50F0; L_08AF4680: aot_gpr_5 = (2238u << 16u); @@ -1860,7 +1861,7 @@ L_08AF4680: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0186_entry, 186u, 486u, 0x08AEE120u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF4694u) goto L_08AF4694; AOT_REGCACHE_SYNC_OUT(); return; L_08AF4694: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -1870,8 +1871,8 @@ L_08AF4694: AOT_REGCACHE_SYNC_OUT(); return; L_08AF46A4: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_6 = (ctx.gpr[7] | 0u); @@ -1883,7 +1884,7 @@ L_08AF46A4: goto L_08AF47C0; L_08AF46D0: aot_gpr_31 = (0x08AF46D8u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_08AF50F0; L_08AF46D8: aot_gpr_5 = (2238u << 16u); @@ -1894,7 +1895,7 @@ L_08AF46D8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0186_entry, 186u, 486u, 0x08AEE120u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF46ECu) goto L_08AF46EC; AOT_REGCACHE_SYNC_OUT(); return; L_08AF46EC: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -1906,8 +1907,8 @@ L_08AF46FC: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); ctx.fpr[0] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(448))); ctx.fpr[2] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(452))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); { const float fs = ctx.fpr[0]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } { const float fs = ctx.fpr[2]; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_gpr_4 = (aot_gpr_5 | 0u); @@ -1924,7 +1925,7 @@ L_08AF46FC: goto L_08AF49B4; L_08AF4744: aot_gpr_31 = (0x08AF474Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_08AF50F0; L_08AF474C: aot_gpr_5 = (2238u << 16u); @@ -1935,7 +1936,7 @@ L_08AF474C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0186_entry, 186u, 486u, 0x08AEE120u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF4760u) goto L_08AF4760; AOT_REGCACHE_SYNC_OUT(); return; L_08AF4760: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -1945,8 +1946,8 @@ L_08AF4760: AOT_REGCACHE_SYNC_OUT(); return; L_08AF4770: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (aot_gpr_6 | 0u); ctx.gpr[7] = (aot_gpr_6 | 0u); @@ -1956,7 +1957,7 @@ L_08AF4770: goto L_08AF4B70; L_08AF4794: aot_gpr_31 = (0x08AF479Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_08AF50F0; L_08AF479C: aot_gpr_5 = (2238u << 16u); @@ -1967,7 +1968,7 @@ L_08AF479C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0186_entry, 186u, 486u, 0x08AEE120u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF47B0u) goto L_08AF47B0; AOT_REGCACHE_SYNC_OUT(); return; L_08AF47B0: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -2036,9 +2037,9 @@ L_08AF4834: aot_mem.aot_direct_store16(ctx.gpr[11] + static_cast(8), static_cast(aot_gpr_4)); ctx.fpr[17] = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); ctx.gpr[9] = (static_cast(static_cast(ctx.gpr[9]) >> 16u)); - ctx.gpr[2] = (std::bit_cast(ctx.fpr[16])); + aot_gpr_2 = (std::bit_cast(ctx.fpr[16])); aot_mem.aot_direct_store16(ctx.gpr[11] + static_cast(10), static_cast(ctx.gpr[9])); - aot_mem.aot_direct_store16(ctx.gpr[11] + static_cast(12), static_cast(ctx.gpr[2])); + aot_mem.aot_direct_store16(ctx.gpr[11] + static_cast(12), static_cast(aot_gpr_2)); ctx.gpr[3] = (std::bit_cast(aot_fpr_15)); aot_mem.aot_direct_store16(ctx.gpr[10] + static_cast(-8272), static_cast(ctx.gpr[3])); aot_fpr_13 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_13)); @@ -2062,7 +2063,7 @@ L_08AF4834: aot_mem.aot_direct_store16(ctx.gpr[11] + static_cast(24), static_cast(ctx.gpr[7])); ctx.fpr[16] = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_13)); aot_mem.aot_direct_store16(ctx.gpr[11] + static_cast(26), static_cast(ctx.gpr[9])); - aot_mem.aot_direct_store16(ctx.gpr[11] + static_cast(28), static_cast(ctx.gpr[2])); + aot_mem.aot_direct_store16(ctx.gpr[11] + static_cast(28), static_cast(aot_gpr_2)); ctx.gpr[9] = (std::bit_cast(aot_fpr_15)); aot_mem.aot_direct_store16(ctx.gpr[11] + static_cast(18), static_cast(ctx.gpr[9])); aot_fpr_14 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_14)); @@ -2085,7 +2086,7 @@ L_08AF4834: ctx.gpr[7] = (ctx.gpr[10] << 16u); ctx.gpr[7] = (static_cast(static_cast(ctx.gpr[7]) >> 16u)); aot_mem.aot_direct_store16(ctx.gpr[11] + static_cast(42), static_cast(ctx.gpr[7])); - aot_mem.aot_direct_store16(ctx.gpr[11] + static_cast(44), static_cast(ctx.gpr[2])); + aot_mem.aot_direct_store16(ctx.gpr[11] + static_cast(44), static_cast(aot_gpr_2)); aot_mem.aot_direct_store16(ctx.gpr[11] + static_cast(32), static_cast(ctx.gpr[8])); aot_mem.aot_direct_store16(ctx.gpr[11] + static_cast(34), static_cast(ctx.gpr[9])); aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); @@ -2102,7 +2103,7 @@ L_08AF4834: aot_mem.aot_direct_store16(ctx.gpr[11] + static_cast(56), static_cast(aot_gpr_4)); aot_gpr_6 = (std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store16(ctx.gpr[11] + static_cast(58), static_cast(ctx.gpr[7])); - aot_mem.aot_direct_store16(ctx.gpr[11] + static_cast(60), static_cast(ctx.gpr[2])); + aot_mem.aot_direct_store16(ctx.gpr[11] + static_cast(60), static_cast(aot_gpr_2)); aot_mem.aot_direct_store16(ctx.gpr[11] + static_cast(48), static_cast(ctx.gpr[8])); aot_mem.aot_direct_store16(ctx.gpr[11] + static_cast(50), static_cast(aot_gpr_6)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0))); @@ -2131,7 +2132,7 @@ L_08AF49B4: ctx.gpr[9] = (std::bit_cast(ctx.fpr[17])); ctx.gpr[8] = (static_cast(static_cast(ctx.gpr[8]) >> 16u)); aot_mem.aot_direct_store16(ctx.gpr[11] + static_cast(8), static_cast(ctx.gpr[8])); - ctx.gpr[2] = (std::bit_cast(ctx.fpr[0])); + aot_gpr_2 = (std::bit_cast(ctx.fpr[0])); ctx.gpr[8] = (ctx.gpr[9] << 16u); ctx.gpr[9] = (16128u << 16u); ctx.fpr[16] = std::bit_cast(ctx.gpr[9]); @@ -2139,7 +2140,7 @@ L_08AF49B4: ctx.fpr[17] = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[16])); aot_mem.aot_direct_store16(ctx.gpr[11] + static_cast(10), static_cast(ctx.gpr[8])); ctx.fpr[2] = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[16])); - aot_mem.aot_direct_store16(ctx.gpr[11] + static_cast(12), static_cast(ctx.gpr[2])); + aot_mem.aot_direct_store16(ctx.gpr[11] + static_cast(12), static_cast(aot_gpr_2)); ctx.fpr[18] = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[18])); ctx.gpr[8] = (std::bit_cast(ctx.fpr[17])); aot_mem.aot_direct_store16(ctx.gpr[10] + static_cast(-8272), static_cast(ctx.gpr[8])); @@ -2168,7 +2169,7 @@ L_08AF49B4: ctx.fpr[19] = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[18])); aot_mem.aot_direct_store16(ctx.gpr[11] + static_cast(26), static_cast(aot_gpr_6)); aot_fpr_14 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_14)); - aot_mem.aot_direct_store16(ctx.gpr[11] + static_cast(28), static_cast(ctx.gpr[2])); + aot_mem.aot_direct_store16(ctx.gpr[11] + static_cast(28), static_cast(aot_gpr_2)); aot_gpr_6 = (std::bit_cast(ctx.fpr[17])); aot_mem.aot_direct_store16(ctx.gpr[11] + static_cast(18), static_cast(aot_gpr_6)); aot_fpr_15 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_15)); @@ -2195,7 +2196,7 @@ L_08AF49B4: aot_gpr_6 = (static_cast(static_cast(aot_gpr_6) >> 16u)); aot_mem.aot_direct_store16(ctx.gpr[11] + static_cast(42), static_cast(aot_gpr_6)); aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); - aot_mem.aot_direct_store16(ctx.gpr[11] + static_cast(44), static_cast(ctx.gpr[2])); + aot_mem.aot_direct_store16(ctx.gpr[11] + static_cast(44), static_cast(aot_gpr_2)); aot_mem.aot_direct_store16(ctx.gpr[11] + static_cast(32), static_cast(ctx.gpr[7])); aot_mem.aot_direct_store16(ctx.gpr[11] + static_cast(34), static_cast(ctx.gpr[8])); aot_fpr_13 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_13)); @@ -2219,7 +2220,7 @@ L_08AF49B4: aot_gpr_5 = (ctx.gpr[10] << 16u); aot_gpr_5 = (static_cast(static_cast(aot_gpr_5) >> 16u)); aot_mem.aot_direct_store16(ctx.gpr[11] + static_cast(58), static_cast(aot_gpr_5)); - aot_mem.aot_direct_store16(ctx.gpr[11] + static_cast(60), static_cast(ctx.gpr[2])); + aot_mem.aot_direct_store16(ctx.gpr[11] + static_cast(60), static_cast(aot_gpr_2)); aot_mem.aot_direct_store16(ctx.gpr[11] + static_cast(48), static_cast(aot_gpr_6)); aot_mem.aot_direct_store16(ctx.gpr[11] + static_cast(50), static_cast(ctx.gpr[7])); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0))); @@ -2272,9 +2273,9 @@ L_08AF4B70: ctx.gpr[10] = (ctx.gpr[10] << 16u); ctx.gpr[10] = (static_cast(static_cast(ctx.gpr[10]) >> 16u)); aot_fpr_13 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_13)); - ctx.gpr[2] = (std::bit_cast(ctx.fpr[4])); + aot_gpr_2 = (std::bit_cast(ctx.fpr[4])); aot_mem.aot_direct_store16(ctx.gpr[9] + static_cast(10), static_cast(ctx.gpr[10])); - aot_mem.aot_direct_store16(ctx.gpr[9] + static_cast(12), static_cast(ctx.gpr[2])); + aot_mem.aot_direct_store16(ctx.gpr[9] + static_cast(12), static_cast(aot_gpr_2)); { const float fs = aot_fpr_14; const float ft = ctx.fpr[2]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } ctx.gpr[3] = (std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store16(ctx.gpr[11] + static_cast(-8272), static_cast(ctx.gpr[3])); @@ -2303,7 +2304,7 @@ L_08AF4B70: { const float fs = ctx.fpr[18]; const float ft = ctx.fpr[2]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } aot_mem.aot_direct_store16(ctx.gpr[9] + static_cast(26), static_cast(ctx.gpr[10])); { const float fs = ctx.fpr[19]; const float ft = ctx.fpr[2]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[19] = std::bit_cast(0x7FC00000u); else ctx.fpr[19] = fs * ft; } - aot_mem.aot_direct_store16(ctx.gpr[9] + static_cast(28), static_cast(ctx.gpr[2])); + aot_mem.aot_direct_store16(ctx.gpr[9] + static_cast(28), static_cast(aot_gpr_2)); ctx.gpr[10] = (std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store16(ctx.gpr[9] + static_cast(16), static_cast(ctx.gpr[11])); aot_fpr_15 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[5])); @@ -2330,7 +2331,7 @@ L_08AF4B70: { const float fs = ctx.fpr[17]; const float ft = ctx.fpr[2]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_15 = std::bit_cast(0x7FC00000u); else aot_fpr_15 = fs * ft; } aot_mem.aot_direct_store16(ctx.gpr[9] + static_cast(42), static_cast(ctx.gpr[7])); aot_fpr_12 = aot_fpr_14 + ctx.fpr[3]; - aot_mem.aot_direct_store16(ctx.gpr[9] + static_cast(44), static_cast(ctx.gpr[2])); + aot_mem.aot_direct_store16(ctx.gpr[9] + static_cast(44), static_cast(aot_gpr_2)); aot_mem.aot_direct_store16(ctx.gpr[9] + static_cast(32), static_cast(ctx.gpr[8])); aot_mem.aot_direct_store16(ctx.gpr[9] + static_cast(34), static_cast(ctx.gpr[10])); aot_fpr_13 = aot_fpr_15 + ctx.fpr[3]; @@ -2347,7 +2348,7 @@ L_08AF4B70: aot_mem.aot_direct_store16(ctx.gpr[9] + static_cast(56), static_cast(aot_gpr_4)); aot_mem.aot_direct_store16(ctx.gpr[9] + static_cast(58), static_cast(ctx.gpr[7])); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); - aot_mem.aot_direct_store16(ctx.gpr[9] + static_cast(60), static_cast(ctx.gpr[2])); + aot_mem.aot_direct_store16(ctx.gpr[9] + static_cast(60), static_cast(aot_gpr_2)); aot_mem.aot_direct_store16(ctx.gpr[9] + static_cast(48), static_cast(aot_gpr_4)); aot_gpr_4 = (std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store16(ctx.gpr[9] + static_cast(50), static_cast(aot_gpr_4)); @@ -2383,9 +2384,9 @@ L_08AF4D74: ctx.gpr[8] = (2238u << 16u); ctx.gpr[8] = (ctx.gpr[8] + static_cast(-8272)); ctx.gpr[11] = (16128u << 16u); - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); aot_fpr_14 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); - ctx.gpr[8] = (ctx.gpr[2] + ctx.gpr[8]); + ctx.gpr[8] = (aot_gpr_2 + ctx.gpr[8]); aot_fpr_13 = std::bit_cast(ctx.gpr[9]); ctx.gpr[9] = (aot_gpr_5 | 0u); aot_gpr_5 = (aot_gpr_6 | 0u); @@ -2400,10 +2401,10 @@ L_08AF4DB0: aot_fpr_15 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_15)); ctx.gpr[11] = (std::bit_cast(aot_fpr_14)); ctx.gpr[11] = (ctx.gpr[11] << 16u); - ctx.gpr[2] = (std::bit_cast(aot_fpr_15)); + aot_gpr_2 = (std::bit_cast(aot_fpr_15)); ctx.gpr[11] = (static_cast(static_cast(ctx.gpr[11]) >> 16u)); aot_mem.aot_direct_store16(ctx.gpr[8] + static_cast(8), static_cast(ctx.gpr[11])); - ctx.gpr[11] = (ctx.gpr[2] << 16u); + ctx.gpr[11] = (aot_gpr_2 << 16u); ctx.gpr[11] = (static_cast(static_cast(ctx.gpr[11]) >> 16u)); aot_mem.aot_direct_store16(ctx.gpr[8] + static_cast(10), static_cast(ctx.gpr[11])); ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); @@ -2420,13 +2421,13 @@ L_08AF4DB0: aot_fpr_15 = aot_fpr_15 + aot_fpr_12; ctx.gpr[11] = (static_cast(ctx.gpr[10]) < static_cast(aot_gpr_4) ? 1u : 0u); aot_fpr_15 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_15)); - ctx.gpr[2] = (std::bit_cast(aot_fpr_15)); - aot_mem.aot_direct_store16(ctx.gpr[8] + static_cast(2), static_cast(ctx.gpr[2])); - ctx.gpr[2] = (aot_mem.aot_direct_load8(ctx.gpr[7] + static_cast(0))); + aot_gpr_2 = (std::bit_cast(aot_fpr_15)); + aot_mem.aot_direct_store16(ctx.gpr[8] + static_cast(2), static_cast(aot_gpr_2)); + aot_gpr_2 = (aot_mem.aot_direct_load8(ctx.gpr[7] + static_cast(0))); ctx.gpr[3] = (aot_mem.aot_direct_load8(ctx.gpr[7] + static_cast(1))); ctx.gpr[12] = (aot_mem.aot_direct_load8(ctx.gpr[7] + static_cast(2))); ctx.gpr[13] = (aot_mem.aot_direct_load8(ctx.gpr[7] + static_cast(3))); - aot_mem.aot_direct_store8(ctx.gpr[8] + static_cast(4), static_cast(ctx.gpr[2])); + aot_mem.aot_direct_store8(ctx.gpr[8] + static_cast(4), static_cast(aot_gpr_2)); aot_mem.aot_direct_store8(ctx.gpr[8] + static_cast(5), static_cast(ctx.gpr[3])); aot_mem.aot_direct_store8(ctx.gpr[8] + static_cast(6), static_cast(ctx.gpr[12])); aot_mem.aot_direct_store8(ctx.gpr[8] + static_cast(7), static_cast(ctx.gpr[13])); @@ -2547,14 +2548,14 @@ L_08AF4EE4: ctx.fpr[1] = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[1])); ctx.gpr[10] = (aot_mem.aot_direct_load8(ctx.gpr[8] + static_cast(0))); ctx.fpr[0] = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[0])); - ctx.gpr[2] = (aot_mem.aot_direct_load8(ctx.gpr[8] + static_cast(1))); + aot_gpr_2 = (aot_mem.aot_direct_load8(ctx.gpr[8] + static_cast(1))); aot_fpr_13 = aot_fpr_14 + ctx.fpr[6]; ctx.gpr[3] = (aot_mem.aot_direct_load8(ctx.gpr[8] + static_cast(2))); aot_fpr_12 = aot_fpr_12 + ctx.fpr[6]; ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[8] + static_cast(3))); ctx.gpr[11] = (std::bit_cast(ctx.fpr[1])); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(4), static_cast(ctx.gpr[10])); - aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(5), static_cast(ctx.gpr[2])); + aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(5), static_cast(aot_gpr_2)); ctx.gpr[10] = (std::bit_cast(ctx.fpr[0])); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(6), static_cast(ctx.gpr[3])); aot_fpr_13 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_13)); @@ -2578,14 +2579,14 @@ L_08AF4EE4: ctx.gpr[10] = (aot_mem.aot_direct_load8(ctx.gpr[9] + static_cast(0))); aot_fpr_13 = ctx.fpr[19] + ctx.fpr[6]; ctx.gpr[11] = (aot_mem.aot_direct_load8(ctx.gpr[9] + static_cast(1))); - ctx.gpr[2] = (aot_mem.aot_direct_load8(ctx.gpr[9] + static_cast(2))); + aot_gpr_2 = (aot_mem.aot_direct_load8(ctx.gpr[9] + static_cast(2))); ctx.gpr[3] = (std::bit_cast(aot_fpr_15)); ctx.gpr[9] = (aot_mem.aot_direct_load8(ctx.gpr[9] + static_cast(3))); aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(20), static_cast(ctx.gpr[10])); aot_fpr_13 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_13)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(21), static_cast(ctx.gpr[11])); - aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(22), static_cast(ctx.gpr[2])); + aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(22), static_cast(aot_gpr_2)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(23), static_cast(ctx.gpr[9])); aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(40), static_cast(ctx.gpr[8])); ctx.gpr[9] = (std::bit_cast(aot_fpr_12)); @@ -2603,7 +2604,7 @@ L_08AF4EE4: ctx.gpr[9] = (aot_mem.aot_direct_load8(ctx.gpr[7] + static_cast(0))); aot_fpr_13 = ctx.fpr[17] + ctx.fpr[6]; ctx.gpr[10] = (aot_mem.aot_direct_load8(ctx.gpr[7] + static_cast(1))); - ctx.gpr[2] = (std::bit_cast(aot_fpr_14)); + aot_gpr_2 = (std::bit_cast(aot_fpr_14)); ctx.gpr[11] = (aot_mem.aot_direct_load8(ctx.gpr[7] + static_cast(2))); ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[7] + static_cast(3))); aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); @@ -2612,7 +2613,7 @@ L_08AF4EE4: aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(37), static_cast(ctx.gpr[10])); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(38), static_cast(ctx.gpr[11])); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(39), static_cast(ctx.gpr[7])); - ctx.gpr[7] = (ctx.gpr[2] << 16u); + ctx.gpr[7] = (aot_gpr_2 << 16u); ctx.gpr[7] = (static_cast(static_cast(ctx.gpr[7]) >> 16u)); aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(56), static_cast(ctx.gpr[7])); aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(58), static_cast(ctx.gpr[8])); @@ -2650,7 +2651,7 @@ L_08AF5104: aot_gpr_4 = (0u | 1u); aot_gpr_31 = (0x08AF5110u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF5110u) goto L_08AF5110; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF5110u) goto L_08AF5110; AOT_REGCACHE_SYNC_OUT(); return; L_08AF5110: { const bool branch_taken = 0u == 0u; @@ -2664,7 +2665,7 @@ L_08AF5118: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_31 = (0x08AF5124u); aot_gpr_4 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF5124u) goto L_08AF5124; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF5124u) goto L_08AF5124; AOT_REGCACHE_SYNC_OUT(); return; L_08AF5124: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -2676,41 +2677,41 @@ L_08AF5124: AOT_REGCACHE_SYNC_OUT(); return; L_08AF5130: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); ctx.gpr[9] = (aot_gpr_6 & 255u); - aot_gpr_16 = (aot_gpr_5 | 0u); - aot_gpr_6 = (aot_gpr_16 | 0u); - ctx.gpr[7] = (aot_gpr_16 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); + ctx.gpr[7] = (ctx.gpr[16] | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x08AF5154u); - ctx.gpr[8] = (aot_gpr_16 | 0u); + ctx.gpr[8] = (ctx.gpr[16] | 0u); goto L_08AF47C0; L_08AF5154: aot_gpr_4 = (0u | 1u); aot_gpr_31 = (0x08AF5160u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF5160u) goto L_08AF5160; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF5160u) goto L_08AF5160; AOT_REGCACHE_SYNC_OUT(); return; L_08AF5160: aot_gpr_4 = (0u | 5u); aot_gpr_31 = (0x08AF516Cu); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF516Cu) goto L_08AF516C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF516Cu) goto L_08AF516C; AOT_REGCACHE_SYNC_OUT(); return; L_08AF516C: aot_gpr_4 = (0u | 4u); aot_gpr_31 = (0x08AF5178u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF5178u) goto L_08AF5178; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF5178u) goto L_08AF5178; AOT_REGCACHE_SYNC_OUT(); return; L_08AF5178: aot_gpr_4 = (0u | 6u); aot_gpr_31 = (0x08AF5184u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF5184u) goto L_08AF5184; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF5184u) goto L_08AF5184; AOT_REGCACHE_SYNC_OUT(); return; L_08AF5184: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(3))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(3))); aot_gpr_5 = (0u | 255u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -2723,7 +2724,7 @@ L_08AF5194: aot_gpr_4 = (0u | 10u); aot_gpr_31 = (0x08AF51A0u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF51A0u) goto L_08AF51A0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF51A0u) goto L_08AF51A0; AOT_REGCACHE_SYNC_OUT(); return; L_08AF51A0: { const bool branch_taken = 0u == 0u; @@ -2737,7 +2738,7 @@ L_08AF51A8: aot_gpr_4 = (0u | 10u); aot_gpr_31 = (0x08AF51B4u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF51B4u) goto L_08AF51B4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF51B4u) goto L_08AF51B4; AOT_REGCACHE_SYNC_OUT(); return; L_08AF51B4: aot_gpr_5 = (2238u << 16u); @@ -2751,22 +2752,22 @@ L_08AF51C8: aot_gpr_4 = (0u | 4u); aot_gpr_31 = (0x08AF51D4u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF51D4u) goto L_08AF51D4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF51D4u) goto L_08AF51D4; AOT_REGCACHE_SYNC_OUT(); return; L_08AF51D4: aot_gpr_4 = (0u | 6u); aot_gpr_31 = (0x08AF51E0u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF51E0u) goto L_08AF51E0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF51E0u) goto L_08AF51E0; AOT_REGCACHE_SYNC_OUT(); return; L_08AF51E0: aot_gpr_4 = (0u | 5u); aot_gpr_31 = (0x08AF51ECu); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF51ECu) goto L_08AF51EC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF51ECu) goto L_08AF51EC; AOT_REGCACHE_SYNC_OUT(); return; L_08AF51EC: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -2803,15 +2804,15 @@ L_08AF5238: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); ctx.fpr[0] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(448))); ctx.fpr[2] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(452))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); { const float fs = ctx.fpr[0]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } { const float fs = ctx.fpr[2]; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); { const float fs = ctx.fpr[0]; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } - aot_gpr_6 = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); { const float fs = ctx.fpr[2]; const float ft = aot_fpr_15; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_15 = std::bit_cast(0x7FC00000u); else aot_fpr_15 = fs * ft; } - ctx.gpr[7] = (aot_gpr_16 | 0u); + ctx.gpr[7] = (ctx.gpr[16] | 0u); { const float fs = ctx.fpr[0]; const float ft = ctx.fpr[16]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[16] = std::bit_cast(0x7FC00000u); else ctx.fpr[16] = fs * ft; } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); { const float fs = ctx.fpr[2]; const float ft = ctx.fpr[17]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[17] = std::bit_cast(0x7FC00000u); else ctx.fpr[17] = fs * ft; } @@ -2823,28 +2824,28 @@ L_08AF5280: aot_gpr_4 = (0u | 1u); aot_gpr_31 = (0x08AF528Cu); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF528Cu) goto L_08AF528C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF528Cu) goto L_08AF528C; AOT_REGCACHE_SYNC_OUT(); return; L_08AF528C: aot_gpr_4 = (0u | 5u); aot_gpr_31 = (0x08AF5298u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF5298u) goto L_08AF5298; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF5298u) goto L_08AF5298; AOT_REGCACHE_SYNC_OUT(); return; L_08AF5298: aot_gpr_4 = (0u | 4u); aot_gpr_31 = (0x08AF52A4u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF52A4u) goto L_08AF52A4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF52A4u) goto L_08AF52A4; AOT_REGCACHE_SYNC_OUT(); return; L_08AF52A4: aot_gpr_4 = (0u | 6u); aot_gpr_31 = (0x08AF52B0u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF52B0u) goto L_08AF52B0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF52B0u) goto L_08AF52B0; AOT_REGCACHE_SYNC_OUT(); return; L_08AF52B0: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(3))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(3))); aot_gpr_5 = (0u | 255u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -2857,7 +2858,7 @@ L_08AF52C0: aot_gpr_4 = (0u | 10u); aot_gpr_31 = (0x08AF52CCu); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF52CCu) goto L_08AF52CC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF52CCu) goto L_08AF52CC; AOT_REGCACHE_SYNC_OUT(); return; L_08AF52CC: { const bool branch_taken = 0u == 0u; @@ -2871,7 +2872,7 @@ L_08AF52D4: aot_gpr_4 = (0u | 10u); aot_gpr_31 = (0x08AF52E0u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF52E0u) goto L_08AF52E0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF52E0u) goto L_08AF52E0; AOT_REGCACHE_SYNC_OUT(); return; L_08AF52E0: aot_gpr_5 = (2238u << 16u); @@ -2885,22 +2886,22 @@ L_08AF52F4: aot_gpr_4 = (0u | 4u); aot_gpr_31 = (0x08AF5300u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF5300u) goto L_08AF5300; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF5300u) goto L_08AF5300; AOT_REGCACHE_SYNC_OUT(); return; L_08AF5300: aot_gpr_4 = (0u | 6u); aot_gpr_31 = (0x08AF530Cu); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF530Cu) goto L_08AF530C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF530Cu) goto L_08AF530C; AOT_REGCACHE_SYNC_OUT(); return; L_08AF530C: aot_gpr_4 = (0u | 5u); aot_gpr_31 = (0x08AF5318u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF5318u) goto L_08AF5318; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF5318u) goto L_08AF5318; AOT_REGCACHE_SYNC_OUT(); return; L_08AF5318: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -2918,25 +2919,25 @@ L_08AF5338: aot_gpr_4 = (0u | 1u); aot_gpr_31 = (0x08AF5344u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF5344u) goto L_08AF5344; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF5344u) goto L_08AF5344; AOT_REGCACHE_SYNC_OUT(); return; L_08AF5344: aot_gpr_4 = (0u | 4u); aot_gpr_31 = (0x08AF5350u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF5350u) goto L_08AF5350; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF5350u) goto L_08AF5350; AOT_REGCACHE_SYNC_OUT(); return; L_08AF5350: aot_gpr_4 = (0u | 6u); aot_gpr_31 = (0x08AF535Cu); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF535Cu) goto L_08AF535C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF535Cu) goto L_08AF535C; AOT_REGCACHE_SYNC_OUT(); return; L_08AF535C: aot_gpr_4 = (0u | 10u); aot_gpr_31 = (0x08AF5368u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF5368u) goto L_08AF5368; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF5368u) goto L_08AF5368; AOT_REGCACHE_SYNC_OUT(); return; L_08AF5368: aot_gpr_5 = (2238u << 16u); @@ -2950,13 +2951,13 @@ L_08AF537C: aot_gpr_4 = (0u | 4u); aot_gpr_31 = (0x08AF5388u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF5388u) goto L_08AF5388; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF5388u) goto L_08AF5388; AOT_REGCACHE_SYNC_OUT(); return; L_08AF5388: aot_gpr_4 = (0u | 6u); aot_gpr_31 = (0x08AF5394u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF5394u) goto L_08AF5394; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF5394u) goto L_08AF5394; AOT_REGCACHE_SYNC_OUT(); return; L_08AF5394: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -2968,9 +2969,9 @@ L_08AF5394: AOT_REGCACHE_SYNC_OUT(); return; L_08AF53A0: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18]}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - aot_gpr_16 = (ctx.gpr[7] | 0u); + ctx.gpr[16] = (ctx.gpr[7] | 0u); ctx.gpr[17] = (aot_gpr_6 | 0u); ctx.gpr[18] = (aot_gpr_5 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[19]); @@ -2982,25 +2983,25 @@ L_08AF53CC: aot_gpr_4 = (0u | 1u); aot_gpr_31 = (0x08AF53D8u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF53D8u) goto L_08AF53D8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF53D8u) goto L_08AF53D8; AOT_REGCACHE_SYNC_OUT(); return; L_08AF53D8: aot_gpr_4 = (0u | 5u); aot_gpr_31 = (0x08AF53E4u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF53E4u) goto L_08AF53E4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF53E4u) goto L_08AF53E4; AOT_REGCACHE_SYNC_OUT(); return; L_08AF53E4: aot_gpr_4 = (0u | 4u); aot_gpr_31 = (0x08AF53F0u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF53F0u) goto L_08AF53F0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF53F0u) goto L_08AF53F0; AOT_REGCACHE_SYNC_OUT(); return; L_08AF53F0: aot_gpr_4 = (0u | 6u); aot_gpr_31 = (0x08AF53FCu); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF53FCu) goto L_08AF53FC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF53FCu) goto L_08AF53FC; AOT_REGCACHE_SYNC_OUT(); return; L_08AF53FC: aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[19] + static_cast(3))); @@ -3031,7 +3032,7 @@ L_08AF5418: goto L_08AF5424; } L_08AF5424: - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(3))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(3))); { const bool branch_taken = aot_gpr_5 != aot_gpr_4; // nop if (branch_taken) { @@ -3043,7 +3044,7 @@ L_08AF5430: aot_gpr_4 = (0u | 10u); aot_gpr_31 = (0x08AF543Cu); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF543Cu) goto L_08AF543C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF543Cu) goto L_08AF543C; AOT_REGCACHE_SYNC_OUT(); return; L_08AF543C: { const bool branch_taken = 0u == 0u; @@ -3057,7 +3058,7 @@ L_08AF5444: aot_gpr_4 = (0u | 10u); aot_gpr_31 = (0x08AF5450u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF5450u) goto L_08AF5450; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF5450u) goto L_08AF5450; AOT_REGCACHE_SYNC_OUT(); return; L_08AF5450: aot_gpr_5 = (2238u << 16u); @@ -3071,24 +3072,24 @@ L_08AF5464: aot_gpr_4 = (0u | 4u); aot_gpr_31 = (0x08AF5470u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF5470u) goto L_08AF5470; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF5470u) goto L_08AF5470; AOT_REGCACHE_SYNC_OUT(); return; L_08AF5470: aot_gpr_4 = (0u | 6u); aot_gpr_31 = (0x08AF547Cu); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF547Cu) goto L_08AF547C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF547Cu) goto L_08AF547C; AOT_REGCACHE_SYNC_OUT(); return; L_08AF547C: aot_gpr_4 = (0u | 5u); aot_gpr_31 = (0x08AF5488u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF5488u) goto L_08AF5488; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF5488u) goto L_08AF5488; AOT_REGCACHE_SYNC_OUT(); return; L_08AF5488: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -3103,7 +3104,7 @@ L_08AF5488: L_08AF54A4: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); ctx.gpr[7] = (aot_gpr_5 < aot_gpr_4 ? 1u : 0u); - ctx.gpr[2] = (aot_gpr_4 | 0u); + aot_gpr_2 = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); { const bool branch_taken = ctx.gpr[7] == 0u; aot_gpr_4 = (aot_gpr_6 | 0u); @@ -3114,7 +3115,7 @@ L_08AF54A4: } L_08AF54BC: aot_gpr_6 = (aot_gpr_5 + aot_gpr_4); - aot_gpr_6 = (ctx.gpr[2] < aot_gpr_6 ? 1u : 0u); + aot_gpr_6 = (aot_gpr_2 < aot_gpr_6 ? 1u : 0u); { const bool branch_taken = aot_gpr_6 == 0u; // nop if (branch_taken) { @@ -3123,7 +3124,7 @@ L_08AF54BC: goto L_08AF54CC; } L_08AF54CC: - aot_gpr_6 = (ctx.gpr[2] | aot_gpr_5); + aot_gpr_6 = (aot_gpr_2 | aot_gpr_5); aot_gpr_6 = (aot_gpr_6 | aot_gpr_4); aot_gpr_6 = (aot_gpr_6 & 3u); { const bool branch_taken = aot_gpr_6 != 0u; @@ -3144,7 +3145,7 @@ L_08AF54E0: L_08AF54E8: aot_gpr_6 = (aot_gpr_4 | 0u); aot_gpr_31 = (0x08AF54F4u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF54F4u) goto L_08AF54F4; AOT_REGCACHE_SYNC_OUT(); return; L_08AF54F4: @@ -3157,8 +3158,8 @@ L_08AF54F4: } L_08AF54FC: aot_gpr_6 = (aot_gpr_4 | 0u); - aot_gpr_4 = (ctx.gpr[2] + aot_gpr_6); - { const bool branch_taken = aot_gpr_4 == ctx.gpr[2]; + aot_gpr_4 = (aot_gpr_2 + aot_gpr_6); + { const bool branch_taken = aot_gpr_4 == aot_gpr_2; aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); if (branch_taken) { goto L_08AF5520; @@ -3169,7 +3170,7 @@ L_08AF550C: aot_gpr_5 = (aot_gpr_5 + static_cast(-1)); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0)))))); aot_gpr_4 = (aot_gpr_4 + static_cast(-1)); - { const bool branch_taken = aot_gpr_4 != ctx.gpr[2]; + { const bool branch_taken = aot_gpr_4 != aot_gpr_2; aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_6)); if (branch_taken) { goto L_08AF550C; @@ -3187,8 +3188,8 @@ L_08AF5520: L_08AF5528: aot_gpr_4 = (aot_gpr_4 >> 2u); aot_gpr_6 = (aot_gpr_4 << 2u); - aot_gpr_4 = (ctx.gpr[2] + aot_gpr_6); - { const bool branch_taken = aot_gpr_4 == ctx.gpr[2]; + aot_gpr_4 = (aot_gpr_2 + aot_gpr_6); + { const bool branch_taken = aot_gpr_4 == aot_gpr_2; aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); if (branch_taken) { goto L_08AF5550; @@ -3199,7 +3200,7 @@ L_08AF553C: aot_gpr_5 = (aot_gpr_5 + static_cast(-4)); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_gpr_4 = (aot_gpr_4 + static_cast(-4)); - { const bool branch_taken = aot_gpr_4 != ctx.gpr[2]; + { const bool branch_taken = aot_gpr_4 != aot_gpr_2; aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_6); if (branch_taken) { goto L_08AF553C; @@ -3227,10 +3228,10 @@ L_08AF5564: { const std::uint32_t aot_run_words[3]{aot_gpr_6, aot_gpr_5, ctx.gpr[7]}; aot_mem.aot_direct_store32_block(aot_gpr_4 + static_cast(0), aot_run_words); } aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(472))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); { const bool branch_taken = aot_gpr_5 != 0u; - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08AF5590; } @@ -3242,11 +3243,11 @@ L_08AF5588: goto L_08AF571C; L_08AF5590: aot_gpr_31 = (0x08AF5598u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_08AF599C; L_08AF5598: - ctx.gpr[2] = (aot_gpr_16 | 0u); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_2 = (ctx.gpr[16] | 0u); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -3256,14 +3257,14 @@ L_08AF5598: AOT_REGCACHE_SYNC_OUT(); return; L_08AF55AC: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - { const std::uint32_t aot_run_words[6]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; + { const std::uint32_t aot_run_words[6]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_31 = (0x08AF55D0u); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); goto L_08AF5ADC; L_08AF55D0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(12))); - aot_gpr_5 = (ctx.gpr[2] << 5u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(12))); + aot_gpr_5 = (aot_gpr_2 << 5u); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_5 = (2280u << 16u); @@ -3272,7 +3273,7 @@ L_08AF55D0: ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5836))); { const bool branch_taken = aot_gpr_4 != 0u; - ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); if (branch_taken) { goto L_08AF5604; } @@ -3284,17 +3285,17 @@ L_08AF55FC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 313u, 0x08B65564u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF5604u) goto L_08AF5604; AOT_REGCACHE_SYNC_OUT(); return; L_08AF5604: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5836))); ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(80))); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AF561Cu); aot_gpr_5 = (ctx.gpr[18] | 0u); goto L_08AF5A3C; L_08AF561C: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (ctx.gpr[20] | 0u); - aot_gpr_6 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08AF5630u); ctx.gpr[7] = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 635u, 0x0893E914u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF5630u) goto L_08AF5630; @@ -3302,13 +3303,13 @@ L_08AF561C: L_08AF5630: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08AF563Cu); - aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF563Cu) goto L_08AF563C; + aot_gpr_5 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF563Cu) goto L_08AF563C; AOT_REGCACHE_SYNC_OUT(); return; L_08AF563C: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -3323,8 +3324,8 @@ L_08AF563C: AOT_REGCACHE_SYNC_OUT(); return; L_08AF565C: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), std::bit_cast(ctx.fpr[20])); { const std::uint32_t aot_run_words[5]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(8), aot_run_words); } @@ -3332,8 +3333,8 @@ L_08AF565C: ctx.fpr[20] = std::bit_cast(std::bit_cast(aot_fpr_12)); goto L_08AF5ADC; L_08AF5688: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(12))); - aot_gpr_5 = (ctx.gpr[2] << 5u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(12))); + aot_gpr_5 = (aot_gpr_2 << 5u); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_5 = (2280u << 16u); @@ -3342,7 +3343,7 @@ L_08AF5688: ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5836))); { const bool branch_taken = aot_gpr_4 != 0u; - ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); if (branch_taken) { goto L_08AF56BC; } @@ -3354,10 +3355,10 @@ L_08AF56B4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 313u, 0x08B65564u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF56BCu) goto L_08AF56BC; AOT_REGCACHE_SYNC_OUT(); return; L_08AF56BC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5836))); ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(80))); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AF56D4u); aot_gpr_5 = (ctx.gpr[18] | 0u); goto L_08AF5A3C; @@ -3365,7 +3366,7 @@ L_08AF56D4: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_gpr_5 = (ctx.gpr[20] | 0u); - aot_gpr_6 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08AF56ECu); ctx.gpr[7] = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 650u, 0x0893EA14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF56ECu) goto L_08AF56EC; @@ -3373,14 +3374,14 @@ L_08AF56D4: L_08AF56EC: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08AF56F8u); - aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF56F8u) goto L_08AF56F8; + aot_gpr_5 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF56F8u) goto L_08AF56F8; AOT_REGCACHE_SYNC_OUT(); return; L_08AF56F8: { std::uint32_t aot_run_words[7]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); ctx.fpr[20] = std::bit_cast(aot_run_words[0]); - aot_gpr_16 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[1]; ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; ctx.gpr[19] = aot_run_words[4]; @@ -3803,7 +3804,7 @@ L_08AF5A5C: } L_08AF5A68: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08AF5AD0; } @@ -3817,7 +3818,7 @@ L_08AF5A70: goto L_08AF5A78; L_08AF5A78: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 2u); + aot_gpr_2 = (0u | 2u); if (branch_taken) { goto L_08AF5AD0; } @@ -3870,7 +3871,7 @@ L_08AF5AB8: } L_08AF5AC0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 89u); + aot_gpr_2 = (0u | 89u); if (branch_taken) { goto L_08AF5AD0; } @@ -3878,7 +3879,7 @@ L_08AF5AC0: } L_08AF5AC8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_08AF5AD0; } @@ -3894,8 +3895,8 @@ L_08AF5AD0: AOT_REGCACHE_SYNC_OUT(); return; L_08AF5ADC: aot_gpr_29 = (aot_gpr_29 + static_cast(-64)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_6 = (static_cast(aot_gpr_4) < 7 ? 1u : 0u); { const std::uint32_t aot_run_words[4]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; @@ -3950,7 +3951,7 @@ L_08AF5B30: goto L_08AF5B38; } L_08AF5B38: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_gpr_5 = (16u << 16u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(460))); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); @@ -3962,7 +3963,7 @@ L_08AF5B38: goto L_08AF5B50; } L_08AF5B50: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(8))); aot_gpr_5 = (0u | 2u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -3981,15 +3982,15 @@ L_08AF5B60: } L_08AF5B68: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 10u); + aot_gpr_2 = (0u | 10u); if (branch_taken) { goto L_08AF5D9C; } goto L_08AF5B70; } L_08AF5B70: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_gpr_6 = (aot_mem.aot_direct_load16(ctx.gpr[7] + static_cast(2274))); aot_gpr_31 = (0x08AF5B84u); aot_gpr_4 = (aot_gpr_29 | 0u); @@ -4011,7 +4012,7 @@ L_08AF5B84: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_gpr_4 = (aot_gpr_4 + static_cast(48)); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; @@ -4029,7 +4030,7 @@ L_08AF5B84: } L_08AF5BC0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 11u); + aot_gpr_2 = (0u | 11u); if (branch_taken) { goto L_08AF5D9C; } @@ -4044,7 +4045,7 @@ L_08AF5BC8: goto L_08AF5BD0; } L_08AF5BD0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(852))); aot_gpr_6 = (0u | 6u); { const bool branch_taken = aot_gpr_5 == aot_gpr_6; @@ -4083,14 +4084,14 @@ L_08AF5C10: ctx.gpr[19] = (0u | 1u); goto L_08AF5C14; L_08AF5C14: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); ctx.gpr[19] = (ctx.gpr[19] & 255u); aot_gpr_31 = (0x08AF5C24u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 339u, 0x08B012BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF5C24u) goto L_08AF5C24; AOT_REGCACHE_SYNC_OUT(); return; L_08AF5C24: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08AF5D40; @@ -4099,11 +4100,11 @@ L_08AF5C24: } L_08AF5C2C: aot_gpr_31 = (0x08AF5C34u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF5C34u) goto L_08AF5C34; + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF5C34u) goto L_08AF5C34; AOT_REGCACHE_SYNC_OUT(); return; L_08AF5C34: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08AF5D40; @@ -4112,12 +4113,12 @@ L_08AF5C34: } L_08AF5C3C: if (ctx.gpr[19] == 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); goto L_08AF5C78; } goto L_08AF5C44; L_08AF5C44: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(92))); aot_gpr_5 = (aot_gpr_5 + static_cast(408)); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); @@ -4129,7 +4130,7 @@ L_08AF5C44: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF5C60u) goto L_08AF5C60; AOT_REGCACHE_SYNC_OUT(); return; L_08AF5C60: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08AF5C70; @@ -4138,7 +4139,7 @@ L_08AF5C60: } L_08AF5C68: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 15u); + aot_gpr_2 = (0u | 15u); if (branch_taken) { goto L_08AF5D9C; } @@ -4164,7 +4165,7 @@ L_08AF5C78: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF5C90u) goto L_08AF5C90; AOT_REGCACHE_SYNC_OUT(); return; L_08AF5C90: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08AF5D40; @@ -4172,7 +4173,7 @@ L_08AF5C90: goto L_08AF5C98; } L_08AF5C98: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_5 = (0u | 4u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(852))); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; @@ -4183,11 +4184,11 @@ L_08AF5C98: goto L_08AF5CAC; } L_08AF5CAC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_5 = (0u | 5u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(852))); if (aot_gpr_4 == aot_gpr_5) { - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); goto L_08AF5CD0; } goto L_08AF5CC0; @@ -4201,7 +4202,7 @@ L_08AF5CC0: } L_08AF5CC8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 16u); + aot_gpr_2 = (0u | 16u); if (branch_taken) { goto L_08AF5D9C; } @@ -4237,7 +4238,7 @@ L_08AF5CF4: goto L_08AF5D0C; } L_08AF5D0C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(852))); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -4256,21 +4257,21 @@ L_08AF5D1C: } L_08AF5D24: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (ctx.gpr[17] | 0u); + aot_gpr_2 = (ctx.gpr[17] | 0u); if (branch_taken) { goto L_08AF5D9C; } goto L_08AF5D2C; } L_08AF5D2C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_31 = (0x08AF5D38u); aot_gpr_5 = (0u | 2u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 752u, 0x0883365Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF5D38u) goto L_08AF5D38; AOT_REGCACHE_SYNC_OUT(); return; L_08AF5D38: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 13u); + aot_gpr_2 = (0u | 13u); if (branch_taken) { goto L_08AF5D9C; } @@ -4285,11 +4286,11 @@ L_08AF5D40: goto L_08AF5D48; } L_08AF5D48: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(614)))))); aot_gpr_4 = (aot_gpr_4 & 2u); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(8))); goto L_08AF5D6C; } goto L_08AF5D5C; @@ -4303,7 +4304,7 @@ L_08AF5D5C: } L_08AF5D64: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 9u); + aot_gpr_2 = (0u | 9u); if (branch_taken) { goto L_08AF5D9C; } @@ -4319,7 +4320,7 @@ L_08AF5D6C: goto L_08AF5D78; } L_08AF5D78: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(8))); aot_gpr_5 = (0u | 3u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -4330,7 +4331,7 @@ L_08AF5D78: } L_08AF5D88: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 12u); + aot_gpr_2 = (0u | 12u); if (branch_taken) { goto L_08AF5D9C; } @@ -4345,12 +4346,12 @@ L_08AF5D90: goto L_08AF5D98; } L_08AF5D98: - ctx.gpr[2] = (ctx.gpr[18] | 0u); + aot_gpr_2 = (ctx.gpr[18] | 0u); goto L_08AF5D9C; L_08AF5D9C: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(32), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -4365,7 +4366,7 @@ L_08AF5D9C: L_08AF5DB8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5848))); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); @@ -4395,8 +4396,8 @@ L_08AF5DEC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF5DF8u) goto L_08AF5DF8; AOT_REGCACHE_SYNC_OUT(); return; L_08AF5DF8: - aot_gpr_16 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08AF5E10; @@ -4405,11 +4406,11 @@ L_08AF5DF8: } L_08AF5E04: aot_gpr_31 = (0x08AF5E0Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF5E0Cu) goto L_08AF5E0C; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF5E0Cu) goto L_08AF5E0C; AOT_REGCACHE_SYNC_OUT(); return; L_08AF5E0C: - ctx.gpr[17] = (aot_gpr_16 | 0u); + ctx.gpr[17] = (ctx.gpr[16] | 0u); goto L_08AF5E10; L_08AF5E10: aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), ctx.gpr[17]); @@ -4422,7 +4423,7 @@ L_08AF5E14: AOT_REGCACHE_SYNC_OUT(); return; L_08AF5E20: aot_gpr_4 = (ctx.gpr[18] | 0u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); aot_gpr_6 = (0u | 1u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x08AF5E38u); @@ -4435,7 +4436,7 @@ L_08AF5E38: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF5E40u) goto L_08AF5E40; AOT_REGCACHE_SYNC_OUT(); return; L_08AF5E40: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 6u); aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x08AF5E54u); @@ -4448,7 +4449,7 @@ L_08AF5E54: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF5E5Cu) goto L_08AF5E5C; AOT_REGCACHE_SYNC_OUT(); return; L_08AF5E5C: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 19u); aot_gpr_6 = (0u | 100u); aot_gpr_31 = (0x08AF5E70u); @@ -4461,7 +4462,7 @@ L_08AF5E70: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF5E78u) goto L_08AF5E78; AOT_REGCACHE_SYNC_OUT(); return; L_08AF5E78: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 25u); aot_gpr_6 = (0u | 100u); aot_gpr_31 = (0x08AF5E8Cu); @@ -4474,7 +4475,7 @@ L_08AF5E8C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF5E94u) goto L_08AF5E94; AOT_REGCACHE_SYNC_OUT(); return; L_08AF5E94: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 21u); aot_gpr_6 = (0u | 20u); aot_gpr_31 = (0x08AF5EA8u); @@ -4487,7 +4488,7 @@ L_08AF5EA8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF5EB0u) goto L_08AF5EB0; AOT_REGCACHE_SYNC_OUT(); return; L_08AF5EB0: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 30u); aot_gpr_6 = (0u | 5u); aot_gpr_31 = (0x08AF5EC4u); @@ -4500,7 +4501,7 @@ L_08AF5EC4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF5ECCu) goto L_08AF5ECC; AOT_REGCACHE_SYNC_OUT(); return; L_08AF5ECC: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 18u); aot_gpr_6 = (0u | 5u); aot_gpr_31 = (0x08AF5EE0u); @@ -4513,7 +4514,7 @@ L_08AF5EE0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF5EE8u) goto L_08AF5EE8; AOT_REGCACHE_SYNC_OUT(); return; L_08AF5EE8: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 17u); aot_gpr_6 = (0u | 5u); aot_gpr_31 = (0x08AF5EFCu); @@ -4526,7 +4527,7 @@ L_08AF5EFC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF5F04u) goto L_08AF5F04; AOT_REGCACHE_SYNC_OUT(); return; L_08AF5F04: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 12u); aot_gpr_6 = (0u | 5u); aot_gpr_31 = (0x08AF5F18u); @@ -4539,7 +4540,7 @@ L_08AF5F18: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF5F20u) goto L_08AF5F20; AOT_REGCACHE_SYNC_OUT(); return; L_08AF5F20: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 33u); aot_gpr_6 = (0u | 200u); aot_gpr_31 = (0x08AF5F34u); @@ -4547,10 +4548,10 @@ L_08AF5F20: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0069_entry, 69u, 600u, 0x0891B7DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF5F34u) goto L_08AF5F34; AOT_REGCACHE_SYNC_OUT(); return; L_08AF5F34: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; @@ -4578,7 +4579,7 @@ L_08AF5F50: aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(172), aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5848))); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); @@ -4608,8 +4609,8 @@ L_08AF5FBC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF5FC8u) goto L_08AF5FC8; AOT_REGCACHE_SYNC_OUT(); return; L_08AF5FC8: - aot_gpr_16 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08AF5FE0; @@ -4618,11 +4619,11 @@ L_08AF5FC8: } L_08AF5FD4: aot_gpr_31 = (0x08AF5FDCu); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF5FDCu) goto L_08AF5FDC; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF5FDCu) goto L_08AF5FDC; AOT_REGCACHE_SYNC_OUT(); return; L_08AF5FDC: - ctx.gpr[17] = (aot_gpr_16 | 0u); + ctx.gpr[17] = (ctx.gpr[16] | 0u); goto L_08AF5FE0; L_08AF5FE0: aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), ctx.gpr[17]); @@ -4635,7 +4636,7 @@ L_08AF5FE4: AOT_REGCACHE_SYNC_OUT(); return; L_08AF5FF0: aot_gpr_4 = (ctx.gpr[18] | 0u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); aot_gpr_6 = (0u | 1u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x08AF6008u); @@ -4643,10 +4644,10 @@ L_08AF5FF0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0109_entry, 109u, 646u, 0x089BB028u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF6008u) goto L_08AF6008; AOT_REGCACHE_SYNC_OUT(); return; L_08AF6008: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; @@ -4660,7 +4661,7 @@ L_08AF6008: L_08AF6024: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5848))); - { const std::uint32_t aot_run_words[5]{std::bit_cast(ctx.fpr[20]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[5]{std::bit_cast(ctx.fpr[20]), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); @@ -4690,8 +4691,8 @@ L_08AF605C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF6068u) goto L_08AF6068; AOT_REGCACHE_SYNC_OUT(); return; L_08AF6068: - aot_gpr_16 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08AF6080; @@ -4700,11 +4701,11 @@ L_08AF6068: } L_08AF6074: aot_gpr_31 = (0x08AF607Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF607Cu) goto L_08AF607C; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF607Cu) goto L_08AF607C; AOT_REGCACHE_SYNC_OUT(); return; L_08AF607C: - ctx.gpr[17] = (aot_gpr_16 | 0u); + ctx.gpr[17] = (ctx.gpr[16] | 0u); goto L_08AF6080; L_08AF6080: aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), ctx.gpr[17]); @@ -4717,7 +4718,7 @@ L_08AF6084: AOT_REGCACHE_SYNC_OUT(); return; L_08AF6090: aot_gpr_4 = (ctx.gpr[18] | 0u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); aot_gpr_6 = (0u | 1u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x08AF60A8u); @@ -4731,12 +4732,12 @@ L_08AF60A8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF60B4u) goto L_08AF60B4; AOT_REGCACHE_SYNC_OUT(); return; L_08AF60B4: - aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(1256), std::bit_cast(ctx.fpr[20])); - ctx.gpr[2] = (0u | 0u); + aot_mem.aot_direct_store32(aot_gpr_2 + static_cast(1256), std::bit_cast(ctx.fpr[20])); + aot_gpr_2 = (0u | 0u); { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); ctx.fpr[20] = std::bit_cast(aot_run_words[0]); - aot_gpr_16 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[1]; ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; @@ -4750,7 +4751,7 @@ L_08AF60B4: L_08AF60D8: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5848))); - { const std::uint32_t aot_run_words[5]{std::bit_cast(ctx.fpr[20]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[5]{std::bit_cast(ctx.fpr[20]), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); @@ -4780,8 +4781,8 @@ L_08AF6110: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF611Cu) goto L_08AF611C; AOT_REGCACHE_SYNC_OUT(); return; L_08AF611C: - aot_gpr_16 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08AF6134; @@ -4790,11 +4791,11 @@ L_08AF611C: } L_08AF6128: aot_gpr_31 = (0x08AF6130u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF6130u) goto L_08AF6130; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF6130u) goto L_08AF6130; AOT_REGCACHE_SYNC_OUT(); return; L_08AF6130: - ctx.gpr[17] = (aot_gpr_16 | 0u); + ctx.gpr[17] = (ctx.gpr[16] | 0u); goto L_08AF6134; L_08AF6134: aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), ctx.gpr[17]); @@ -4807,7 +4808,7 @@ L_08AF6138: AOT_REGCACHE_SYNC_OUT(); return; L_08AF6144: aot_gpr_4 = (ctx.gpr[18] | 0u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); aot_gpr_6 = (0u | 1u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x08AF615Cu); @@ -4822,11 +4823,11 @@ L_08AF615C: AOT_REGCACHE_SYNC_OUT(); return; L_08AF6168: aot_gpr_31 = (0x08AF6170u); - aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(1252), std::bit_cast(ctx.fpr[20])); + aot_mem.aot_direct_store32(aot_gpr_2 + static_cast(1252), std::bit_cast(ctx.fpr[20])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF6170u) goto L_08AF6170; AOT_REGCACHE_SYNC_OUT(); return; L_08AF6170: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08AF61AC; @@ -4841,11 +4842,11 @@ L_08AF6178: AOT_REGCACHE_SYNC_OUT(); return; L_08AF6184: aot_gpr_31 = (0x08AF618Cu); - aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(636), std::bit_cast(ctx.fpr[20])); + aot_mem.aot_direct_store32(aot_gpr_2 + static_cast(636), std::bit_cast(ctx.fpr[20])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF618Cu) goto L_08AF618C; AOT_REGCACHE_SYNC_OUT(); return; L_08AF618C: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(852))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -4859,17 +4860,17 @@ L_08AF6198: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF61A0u) goto L_08AF61A0; AOT_REGCACHE_SYNC_OUT(); return; L_08AF61A0: - aot_gpr_4 = (ctx.gpr[2] + static_cast(944)); + aot_gpr_4 = (aot_gpr_2 + static_cast(944)); aot_gpr_31 = (0x08AF61ACu); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 383u, 0x08B0D94Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF61ACu) goto L_08AF61AC; AOT_REGCACHE_SYNC_OUT(); return; L_08AF61AC: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); ctx.fpr[20] = std::bit_cast(aot_run_words[0]); - aot_gpr_16 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[1]; ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; @@ -4883,7 +4884,7 @@ L_08AF61AC: L_08AF61CC: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5848))); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(8), aot_run_words); } if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); @@ -4900,7 +4901,7 @@ L_08AF61F4: goto L_08AF61F8; L_08AF61F8: { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5848))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5848))); if (branch_taken) { goto L_08AF6228; } @@ -4913,7 +4914,7 @@ L_08AF6200: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF620Cu) goto L_08AF620C; AOT_REGCACHE_SYNC_OUT(); return; L_08AF620C: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { @@ -4924,7 +4925,7 @@ L_08AF620C: L_08AF6218: aot_gpr_31 = (0x08AF6220u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF6220u) goto L_08AF6220; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF6220u) goto L_08AF6220; AOT_REGCACHE_SYNC_OUT(); return; L_08AF6220: ctx.gpr[18] = (ctx.gpr[17] | 0u); @@ -4939,8 +4940,8 @@ L_08AF6228: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF6234u) goto L_08AF6234; AOT_REGCACHE_SYNC_OUT(); return; L_08AF6234: - aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); aot_gpr_6 = (0u | 1u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x08AF624Cu); @@ -4954,11 +4955,11 @@ L_08AF624C: AOT_REGCACHE_SYNC_OUT(); return; L_08AF6254: aot_gpr_31 = (0x08AF625Cu); - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF625Cu) goto L_08AF625C; AOT_REGCACHE_SYNC_OUT(); return; L_08AF625C: - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(2320))); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(2320))); aot_gpr_4 = (0u | 6u); aot_gpr_5 = (aot_gpr_5 + static_cast(2)); aot_gpr_6 = (static_cast(aot_gpr_5) < 6 ? 1u : 0u); @@ -4970,14 +4971,14 @@ L_08AF625C: L_08AF6274: aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_31 = (0x08AF6280u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 655u, 0x08947470u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF6280u) goto L_08AF6280; AOT_REGCACHE_SYNC_OUT(); return; L_08AF6280: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(8), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; @@ -5036,16 +5037,16 @@ L_08AF629C: AOT_REGCACHE_SYNC_OUT(); return; L_08AF62E0: aot_gpr_29 = (aot_gpr_29 + static_cast(-128)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(96), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(96), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); { const std::uint32_t aot_run_words[4]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(100), aot_run_words); } aot_gpr_31 = (0x08AF6304u); ctx.gpr[18] = (0u | 246u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF6304u) goto L_08AF6304; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806634, 0u, 302u, 0x08806634u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF6304u) goto L_08AF6304; AOT_REGCACHE_SYNC_OUT(); return; L_08AF6304: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08AF6320; @@ -5053,7 +5054,7 @@ L_08AF6304: goto L_08AF630C; } L_08AF630C: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AF6318u); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0038_entry, 38u, 294u, 0x0889D610u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF6318u) goto L_08AF6318; @@ -5085,7 +5086,7 @@ L_08AF6340: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 607u, 0x08AD3698u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF6348u) goto L_08AF6348; AOT_REGCACHE_SYNC_OUT(); return; L_08AF6348: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08AF6494; @@ -5093,15 +5094,15 @@ L_08AF6348: goto L_08AF6350; } L_08AF6350: - aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16928))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16928))); aot_gpr_31 = (0x08AF635Cu); aot_gpr_4 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 16u, 0x08960154u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF635Cu) goto L_08AF635C; AOT_REGCACHE_SYNC_OUT(); return; L_08AF635C: - ctx.gpr[2] = (17096u << 16u); - aot_gpr_4 = (aot_gpr_16 | 0u); - aot_fpr_12 = std::bit_cast(ctx.gpr[2]); + aot_gpr_2 = (17096u << 16u); + aot_gpr_4 = (ctx.gpr[16] | 0u); + aot_fpr_12 = std::bit_cast(aot_gpr_2); aot_gpr_5 = (aot_gpr_29 | 0u); aot_gpr_6 = (0u | 0u); ctx.gpr[7] = (0u | 0u); @@ -5113,7 +5114,7 @@ L_08AF635C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0092_entry, 92u, 650u, 0x08976FBCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF6388u) goto L_08AF6388; AOT_REGCACHE_SYNC_OUT(); return; L_08AF6388: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); { const bool branch_taken = static_cast(ctx.gpr[17]) < 0; // nop if (branch_taken) { @@ -5122,13 +5123,13 @@ L_08AF6388: goto L_08AF6394; } L_08AF6394: - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); aot_gpr_31 = (0x08AF63A0u); aot_gpr_4 = (0u | 1920u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 732u, 0x08AFF2C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF63A0u) goto L_08AF63A0; AOT_REGCACHE_SYNC_OUT(); return; L_08AF63A0: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[19] == 0u; aot_gpr_4 = (ctx.gpr[19] | 0u); if (branch_taken) { @@ -5144,10 +5145,10 @@ L_08AF63AC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0012_entry, 12u, 92u, 0x08834A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF63BCu) goto L_08AF63BC; AOT_REGCACHE_SYNC_OUT(); return; L_08AF63BC: - aot_gpr_16 = (ctx.gpr[19] | 0u); + ctx.gpr[16] = (ctx.gpr[19] | 0u); goto L_08AF63C0; L_08AF63C0: - { const bool branch_taken = aot_gpr_16 == 0u; + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08AF6494; @@ -5204,8 +5205,8 @@ L_08AF63EC: aot_fpr_15 = std::bit_cast(aot_run_words[2]); } { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_13), std::bit_cast(aot_fpr_14), std::bit_cast(aot_fpr_15)}; - aot_mem.aot_direct_store32_block(aot_gpr_16 + static_cast(48), aot_run_words); } - aot_gpr_4 = (aot_gpr_16 + static_cast(48)); + aot_mem.aot_direct_store32_block(ctx.gpr[16] + static_cast(48), aot_run_words); } + aot_gpr_4 = (ctx.gpr[16] + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -5223,7 +5224,7 @@ L_08AF63EC: aot_gpr_4 = (16479u << 16u); aot_gpr_4 = (aot_gpr_4 | 26355u); aot_fpr_14 = std::bit_cast(aot_gpr_4); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AF645Cu); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_12)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 923u, 0x0885FA28u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF645Cu) goto L_08AF645C; @@ -5236,26 +5237,26 @@ L_08AF645C: aot_fpr_14 = std::bit_cast(aot_run_words[2]); } aot_gpr_31 = (0x08AF6470u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 4u, 0x08860094u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF6470u) goto L_08AF6470; AOT_REGCACHE_SYNC_OUT(); return; L_08AF6470: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(72))); aot_gpr_5 = (0u + static_cast(-497)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_4 = (aot_gpr_4 | 64u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(72), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(72), aot_gpr_4); aot_gpr_4 = (0u | 1u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(680), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(680), aot_gpr_4); aot_gpr_31 = (0x08AF6494u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 224u, 0x08891A2Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF6494u) goto L_08AF6494; AOT_REGCACHE_SYNC_OUT(); return; L_08AF6494: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(96), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -5270,7 +5271,7 @@ L_08AF6494: L_08AF64B4: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5892))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -5287,127 +5288,127 @@ L_08AF64CC: L_08AF64D4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5892))); aot_gpr_5 = (ctx.gpr[28] + static_cast(528)); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); aot_gpr_31 = (0x08AF64E8u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 430u, 0x08806E68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF64E8u) goto L_08AF64E8; AOT_REGCACHE_SYNC_OUT(); return; L_08AF64E8: aot_gpr_5 = (2223u << 16u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x08AF64FCu); aot_gpr_5 = (aot_gpr_5 + static_cast(23992)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 444u, 0x08806FA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF64FCu) goto L_08AF64FC; AOT_REGCACHE_SYNC_OUT(); return; L_08AF64FC: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AF6508u); aot_gpr_5 = (0u + static_cast(-10001)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF6508u) goto L_08AF6508; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[16], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF6508u) goto L_08AF6508; AOT_REGCACHE_SYNC_OUT(); return; L_08AF6508: aot_gpr_5 = (ctx.gpr[28] + static_cast(544)); aot_gpr_31 = (0x08AF6514u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 430u, 0x08806E68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF6514u) goto L_08AF6514; AOT_REGCACHE_SYNC_OUT(); return; L_08AF6514: aot_gpr_5 = (2223u << 16u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x08AF6528u); aot_gpr_5 = (aot_gpr_5 + static_cast(24400)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 444u, 0x08806FA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF6528u) goto L_08AF6528; AOT_REGCACHE_SYNC_OUT(); return; L_08AF6528: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AF6534u); aot_gpr_5 = (0u + static_cast(-10001)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF6534u) goto L_08AF6534; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[16], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF6534u) goto L_08AF6534; AOT_REGCACHE_SYNC_OUT(); return; L_08AF6534: aot_gpr_5 = (ctx.gpr[28] + static_cast(556)); aot_gpr_31 = (0x08AF6540u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 430u, 0x08806E68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF6540u) goto L_08AF6540; AOT_REGCACHE_SYNC_OUT(); return; L_08AF6540: aot_gpr_5 = (2223u << 16u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x08AF6554u); aot_gpr_5 = (aot_gpr_5 + static_cast(24612)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 444u, 0x08806FA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF6554u) goto L_08AF6554; AOT_REGCACHE_SYNC_OUT(); return; L_08AF6554: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AF6560u); aot_gpr_5 = (0u + static_cast(-10001)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF6560u) goto L_08AF6560; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[16], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF6560u) goto L_08AF6560; AOT_REGCACHE_SYNC_OUT(); return; L_08AF6560: aot_gpr_5 = (ctx.gpr[28] + static_cast(568)); aot_gpr_31 = (0x08AF656Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 430u, 0x08806E68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF656Cu) goto L_08AF656C; AOT_REGCACHE_SYNC_OUT(); return; L_08AF656C: aot_gpr_5 = (2223u << 16u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x08AF6580u); aot_gpr_5 = (aot_gpr_5 + static_cast(24792)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 444u, 0x08806FA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF6580u) goto L_08AF6580; AOT_REGCACHE_SYNC_OUT(); return; L_08AF6580: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AF658Cu); aot_gpr_5 = (0u + static_cast(-10001)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF658Cu) goto L_08AF658C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[16], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF658Cu) goto L_08AF658C; AOT_REGCACHE_SYNC_OUT(); return; L_08AF658C: aot_gpr_5 = (ctx.gpr[28] + static_cast(580)); aot_gpr_31 = (0x08AF6598u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 430u, 0x08806E68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF6598u) goto L_08AF6598; AOT_REGCACHE_SYNC_OUT(); return; L_08AF6598: aot_gpr_5 = (2223u << 16u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x08AF65ACu); aot_gpr_5 = (aot_gpr_5 + static_cast(25036)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 444u, 0x08806FA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF65ACu) goto L_08AF65AC; AOT_REGCACHE_SYNC_OUT(); return; L_08AF65AC: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AF65B8u); aot_gpr_5 = (0u + static_cast(-10001)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF65B8u) goto L_08AF65B8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[16], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF65B8u) goto L_08AF65B8; AOT_REGCACHE_SYNC_OUT(); return; L_08AF65B8: aot_gpr_5 = (ctx.gpr[28] + static_cast(592)); aot_gpr_31 = (0x08AF65C4u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 430u, 0x08806E68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF65C4u) goto L_08AF65C4; AOT_REGCACHE_SYNC_OUT(); return; L_08AF65C4: aot_gpr_5 = (2223u << 16u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x08AF65D8u); aot_gpr_5 = (aot_gpr_5 + static_cast(25312)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 444u, 0x08806FA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF65D8u) goto L_08AF65D8; AOT_REGCACHE_SYNC_OUT(); return; L_08AF65D8: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AF65E4u); aot_gpr_5 = (0u + static_cast(-10001)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF65E4u) goto L_08AF65E4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[16], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF65E4u) goto L_08AF65E4; AOT_REGCACHE_SYNC_OUT(); return; L_08AF65E4: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -5421,19 +5422,19 @@ L_08AF65F4: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), ctx.gpr[18]); ctx.gpr[17] = (aot_gpr_5 | 0u); ctx.gpr[18] = (aot_gpr_6 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), ctx.gpr[16]); { const std::uint32_t aot_run_words[6]{ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(44), aot_run_words); } { const bool branch_taken = ctx.gpr[17] == ctx.gpr[18]; - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08AF67F4; } goto L_08AF662C; } L_08AF662C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); ctx.gpr[19] = (ctx.gpr[18] - ctx.gpr[17]); aot_gpr_4 = (aot_gpr_4 - aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_4); @@ -5459,15 +5460,15 @@ L_08AF664C: } L_08AF6664: aot_gpr_31 = (0x08AF666Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 365u, 0x08B658A0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF666Cu) goto L_08AF666C; AOT_REGCACHE_SYNC_OUT(); return; L_08AF666C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); goto L_08AF6670; L_08AF6670: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(8))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); ctx.gpr[7] = (aot_gpr_4 + ctx.gpr[19]); aot_gpr_5 = (aot_gpr_5 - aot_gpr_6); aot_gpr_5 = (aot_gpr_5 + static_cast(-1)); @@ -5519,7 +5520,7 @@ L_08AF66C8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 474u, 0x08ABE308u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF66D0u) goto L_08AF66D0; AOT_REGCACHE_SYNC_OUT(); return; L_08AF66D0: - ctx.gpr[20] = (ctx.gpr[2] | 0u); + ctx.gpr[20] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[20] != 0u; // nop if (branch_taken) { @@ -5533,11 +5534,11 @@ L_08AF66DC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 289u, 0x08B65438u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF66E4u) goto L_08AF66E4; AOT_REGCACHE_SYNC_OUT(); return; L_08AF66E4: - ctx.gpr[20] = (ctx.gpr[2] | 0u); + ctx.gpr[20] = (aot_gpr_2 | 0u); goto L_08AF66E8; L_08AF66E8: - ctx.gpr[22] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - ctx.gpr[23] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + ctx.gpr[22] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); + ctx.gpr[23] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(19), static_cast(0u)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(19)))))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(22), static_cast(0u)); @@ -5549,7 +5550,7 @@ L_08AF66E8: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(23), static_cast(aot_gpr_5)); goto L_08AF6824; L_08AF6714: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_2); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(28)))))); { const bool branch_taken = ctx.gpr[23] == ctx.gpr[22]; aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(21), static_cast(aot_gpr_4)); @@ -5567,7 +5568,7 @@ L_08AF6724: goto L_08AF54A4; L_08AF6738: { const bool branch_taken = 0u == 0u; - ctx.gpr[20] = (ctx.gpr[2] + ctx.gpr[20]); + ctx.gpr[20] = (aot_gpr_2 + ctx.gpr[20]); if (branch_taken) { goto L_08AF6740; } @@ -5599,12 +5600,12 @@ L_08AF6754: aot_gpr_6 = (ctx.gpr[17] | 0u); goto L_08AF54A4; L_08AF676C: - ctx.gpr[17] = (ctx.gpr[2] + ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_2 + ctx.gpr[17]); goto L_08AF6770; L_08AF6770: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(24), static_cast(0u)); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(0), static_cast(0u)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -5615,21 +5616,21 @@ L_08AF6770: L_08AF6784: aot_gpr_31 = (0x08AF678Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF678Cu) goto L_08AF678C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF678Cu) goto L_08AF678C; AOT_REGCACHE_SYNC_OUT(); return; L_08AF678C: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), ctx.gpr[21]); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), ctx.gpr[17]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), ctx.gpr[21]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(4), ctx.gpr[17]); aot_gpr_4 = (ctx.gpr[21] + ctx.gpr[19]); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(8), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(8), aot_gpr_4); if (branch_taken) { goto L_08AF67F4; } goto L_08AF67A0; } L_08AF67A0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_gpr_6 = (ctx.gpr[17] + static_cast(1)); { const bool branch_taken = ctx.gpr[18] != aot_gpr_6; aot_gpr_5 = (aot_gpr_4 + static_cast(1)); @@ -5654,24 +5655,24 @@ L_08AF67B8: aot_gpr_6 = (ctx.gpr[7] | 0u); goto L_08AF54A4; L_08AF67CC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[19]); goto L_08AF67D4; L_08AF67D4: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(25), static_cast(0u)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(0u)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(0)))))); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_5)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[19]); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(4), aot_gpr_4); goto L_08AF67F4; L_08AF67F4: - ctx.gpr[2] = (aot_gpr_16 | 0u); + aot_gpr_2 = (ctx.gpr[16] | 0u); { std::uint32_t aot_run_words[9]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(32), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -5690,7 +5691,7 @@ L_08AF67F4: L_08AF6824: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(0), static_cast(0u)); - ctx.gpr[2] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(0)))))); + aot_gpr_2 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(0)))))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); local_pc = jump_target; @@ -5701,19 +5702,19 @@ L_08AF6838: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); ctx.gpr[17] = (2232u << 16u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.gpr[17] = (ctx.gpr[17] + static_cast(29144)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); aot_gpr_31 = (0x08AF6860u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF6860u) goto L_08AF6860; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF6860u) goto L_08AF6860; AOT_REGCACHE_SYNC_OUT(); return; L_08AF6860: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_6 = (aot_gpr_6 - aot_gpr_5); { const bool branch_taken = aot_gpr_6 != aot_gpr_4; ctx.gpr[18] = (0u | 0u); @@ -5727,10 +5728,10 @@ L_08AF6878: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x08AF6888u); aot_gpr_5 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF6888u) goto L_08AF6888; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58100, 213u, 23u, 0x08B58100u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF6888u) goto L_08AF6888; AOT_REGCACHE_SYNC_OUT(); return; L_08AF6888: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; aot_gpr_4 = (ctx.gpr[18] & 255u); if (branch_taken) { goto L_08AF6898; @@ -5756,12 +5757,12 @@ L_08AF68A0: ctx.gpr[17] = (ctx.gpr[17] + static_cast(29168)); aot_gpr_31 = (0x08AF68B0u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF68B0u) goto L_08AF68B0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF68B0u) goto L_08AF68B0; AOT_REGCACHE_SYNC_OUT(); return; L_08AF68B0: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_6 = (aot_gpr_6 - aot_gpr_5); { const bool branch_taken = aot_gpr_6 == aot_gpr_4; ctx.gpr[18] = (0u | 0u); @@ -5780,7 +5781,7 @@ L_08AF68C8: } L_08AF68D0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08AF6AEC; } @@ -5791,10 +5792,10 @@ L_08AF68D8: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x08AF68E8u); aot_gpr_5 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF68E8u) goto L_08AF68E8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58100, 213u, 23u, 0x08B58100u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF68E8u) goto L_08AF68E8; AOT_REGCACHE_SYNC_OUT(); return; L_08AF68E8: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; aot_gpr_4 = (ctx.gpr[18] & 255u); if (branch_taken) { goto L_08AF68F8; @@ -5818,12 +5819,12 @@ L_08AF6900: ctx.gpr[17] = (ctx.gpr[17] + static_cast(29192)); aot_gpr_31 = (0x08AF6910u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF6910u) goto L_08AF6910; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF6910u) goto L_08AF6910; AOT_REGCACHE_SYNC_OUT(); return; L_08AF6910: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_6 = (aot_gpr_6 - aot_gpr_5); { const bool branch_taken = aot_gpr_6 == aot_gpr_4; ctx.gpr[18] = (0u | 0u); @@ -5842,7 +5843,7 @@ L_08AF6928: } L_08AF6930: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_08AF6AEC; } @@ -5853,10 +5854,10 @@ L_08AF6938: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x08AF6948u); aot_gpr_5 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF6948u) goto L_08AF6948; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58100, 213u, 23u, 0x08B58100u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF6948u) goto L_08AF6948; AOT_REGCACHE_SYNC_OUT(); return; L_08AF6948: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; aot_gpr_4 = (ctx.gpr[18] & 255u); if (branch_taken) { goto L_08AF6958; @@ -5880,12 +5881,12 @@ L_08AF6960: ctx.gpr[17] = (ctx.gpr[17] + static_cast(29212)); aot_gpr_31 = (0x08AF6970u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF6970u) goto L_08AF6970; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF6970u) goto L_08AF6970; AOT_REGCACHE_SYNC_OUT(); return; L_08AF6970: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_6 = (aot_gpr_6 - aot_gpr_5); { const bool branch_taken = aot_gpr_6 == aot_gpr_4; ctx.gpr[18] = (0u | 0u); @@ -5904,7 +5905,7 @@ L_08AF6988: } L_08AF6990: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 2u); + aot_gpr_2 = (0u | 2u); if (branch_taken) { goto L_08AF6AEC; } @@ -5915,10 +5916,10 @@ L_08AF6998: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x08AF69A8u); aot_gpr_5 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF69A8u) goto L_08AF69A8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58100, 213u, 23u, 0x08B58100u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF69A8u) goto L_08AF69A8; AOT_REGCACHE_SYNC_OUT(); return; L_08AF69A8: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; aot_gpr_4 = (ctx.gpr[18] & 255u); if (branch_taken) { goto L_08AF69B8; @@ -5942,12 +5943,12 @@ L_08AF69C0: ctx.gpr[17] = (ctx.gpr[17] + static_cast(29236)); aot_gpr_31 = (0x08AF69D0u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF69D0u) goto L_08AF69D0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF69D0u) goto L_08AF69D0; AOT_REGCACHE_SYNC_OUT(); return; L_08AF69D0: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_6 = (aot_gpr_6 - aot_gpr_5); { const bool branch_taken = aot_gpr_6 == aot_gpr_4; ctx.gpr[18] = (0u | 0u); @@ -5966,7 +5967,7 @@ L_08AF69E8: } L_08AF69F0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 3u); + aot_gpr_2 = (0u | 3u); if (branch_taken) { goto L_08AF6AEC; } @@ -5977,10 +5978,10 @@ L_08AF69F8: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x08AF6A08u); aot_gpr_5 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF6A08u) goto L_08AF6A08; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58100, 213u, 23u, 0x08B58100u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF6A08u) goto L_08AF6A08; AOT_REGCACHE_SYNC_OUT(); return; L_08AF6A08: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; aot_gpr_4 = (ctx.gpr[18] & 255u); if (branch_taken) { goto L_08AF6A18; @@ -6004,12 +6005,12 @@ L_08AF6A20: ctx.gpr[17] = (ctx.gpr[17] + static_cast(29256)); aot_gpr_31 = (0x08AF6A30u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF6A30u) goto L_08AF6A30; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF6A30u) goto L_08AF6A30; AOT_REGCACHE_SYNC_OUT(); return; L_08AF6A30: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_6 = (aot_gpr_6 - aot_gpr_5); { const bool branch_taken = aot_gpr_6 == aot_gpr_4; ctx.gpr[18] = (0u | 0u); @@ -6028,7 +6029,7 @@ L_08AF6A48: } L_08AF6A50: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 4u); + aot_gpr_2 = (0u | 4u); if (branch_taken) { goto L_08AF6AEC; } @@ -6039,10 +6040,10 @@ L_08AF6A58: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x08AF6A68u); aot_gpr_5 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF6A68u) goto L_08AF6A68; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58100, 213u, 23u, 0x08B58100u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF6A68u) goto L_08AF6A68; AOT_REGCACHE_SYNC_OUT(); return; L_08AF6A68: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; aot_gpr_4 = (ctx.gpr[18] & 255u); if (branch_taken) { goto L_08AF6A78; @@ -6062,17 +6063,17 @@ L_08AF6A78: goto L_08AF6A80; } L_08AF6A80: - ctx.gpr[17] = (aot_gpr_16 | 0u); - aot_gpr_16 = (2232u << 16u); - aot_gpr_16 = (aot_gpr_16 + static_cast(29280)); + ctx.gpr[17] = (ctx.gpr[16] | 0u); + ctx.gpr[16] = (2232u << 16u); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(29280)); aot_gpr_31 = (0x08AF6A94u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF6A94u) goto L_08AF6A94; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF6A94u) goto L_08AF6A94; AOT_REGCACHE_SYNC_OUT(); return; L_08AF6A94: aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); aot_gpr_6 = (aot_gpr_6 - aot_gpr_4); { const bool branch_taken = aot_gpr_6 == aot_gpr_5; ctx.gpr[17] = (0u | 0u); @@ -6091,7 +6092,7 @@ L_08AF6AAC: } L_08AF6AB4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 5u); + aot_gpr_2 = (0u | 5u); if (branch_taken) { goto L_08AF6AEC; } @@ -6100,11 +6101,11 @@ L_08AF6AB4: L_08AF6ABC: aot_gpr_6 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x08AF6AC8u); - aot_gpr_5 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF6AC8u) goto L_08AF6AC8; + aot_gpr_5 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58100, 213u, 23u, 0x08B58100u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF6AC8u) goto L_08AF6AC8; AOT_REGCACHE_SYNC_OUT(); return; L_08AF6AC8: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; aot_gpr_4 = (ctx.gpr[17] & 255u); if (branch_taken) { goto L_08AF6AD8; @@ -6125,19 +6126,19 @@ L_08AF6AD8: } L_08AF6AE0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 6u); + aot_gpr_2 = (0u | 6u); if (branch_taken) { goto L_08AF6AEC; } goto L_08AF6AE8; } L_08AF6AE8: - ctx.gpr[2] = (0u | 7u); + aot_gpr_2 = (0u | 7u); goto L_08AF6AEC; L_08AF6AEC: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; @@ -6152,19 +6153,19 @@ L_08AF6B04: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); ctx.gpr[17] = (2232u << 16u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.gpr[17] = (ctx.gpr[17] + static_cast(29304)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); aot_gpr_31 = (0x08AF6B2Cu); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF6B2Cu) goto L_08AF6B2C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF6B2Cu) goto L_08AF6B2C; AOT_REGCACHE_SYNC_OUT(); return; L_08AF6B2C: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_6 = (aot_gpr_6 - aot_gpr_5); { const bool branch_taken = aot_gpr_6 != aot_gpr_4; ctx.gpr[18] = (0u | 0u); @@ -6178,10 +6179,10 @@ L_08AF6B44: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x08AF6B54u); aot_gpr_5 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF6B54u) goto L_08AF6B54; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58100, 213u, 23u, 0x08B58100u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF6B54u) goto L_08AF6B54; AOT_REGCACHE_SYNC_OUT(); return; L_08AF6B54: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; aot_gpr_4 = (ctx.gpr[18] & 255u); if (branch_taken) { goto L_08AF6B64; @@ -6207,12 +6208,12 @@ L_08AF6B6C: ctx.gpr[17] = (ctx.gpr[17] + static_cast(29340)); aot_gpr_31 = (0x08AF6B7Cu); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF6B7Cu) goto L_08AF6B7C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF6B7Cu) goto L_08AF6B7C; AOT_REGCACHE_SYNC_OUT(); return; L_08AF6B7C: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_6 = (aot_gpr_6 - aot_gpr_5); { const bool branch_taken = aot_gpr_6 == aot_gpr_4; ctx.gpr[18] = (0u | 0u); @@ -6231,7 +6232,7 @@ L_08AF6B94: } L_08AF6B9C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08AF7294; } @@ -6242,10 +6243,10 @@ L_08AF6BA4: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x08AF6BB4u); aot_gpr_5 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF6BB4u) goto L_08AF6BB4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58100, 213u, 23u, 0x08B58100u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF6BB4u) goto L_08AF6BB4; AOT_REGCACHE_SYNC_OUT(); return; L_08AF6BB4: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; aot_gpr_4 = (ctx.gpr[18] & 255u); if (branch_taken) { goto L_08AF6BC4; @@ -6269,12 +6270,12 @@ L_08AF6BCC: ctx.gpr[17] = (ctx.gpr[17] + static_cast(29364)); aot_gpr_31 = (0x08AF6BDCu); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF6BDCu) goto L_08AF6BDC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF6BDCu) goto L_08AF6BDC; AOT_REGCACHE_SYNC_OUT(); return; L_08AF6BDC: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_6 = (aot_gpr_6 - aot_gpr_5); { const bool branch_taken = aot_gpr_6 == aot_gpr_4; ctx.gpr[18] = (0u | 0u); @@ -6293,7 +6294,7 @@ L_08AF6BF4: } L_08AF6BFC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_08AF7294; } @@ -6304,10 +6305,10 @@ L_08AF6C04: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x08AF6C14u); aot_gpr_5 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF6C14u) goto L_08AF6C14; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58100, 213u, 23u, 0x08B58100u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF6C14u) goto L_08AF6C14; AOT_REGCACHE_SYNC_OUT(); return; L_08AF6C14: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; aot_gpr_4 = (ctx.gpr[18] & 255u); if (branch_taken) { goto L_08AF6C24; @@ -6331,12 +6332,12 @@ L_08AF6C2C: ctx.gpr[17] = (ctx.gpr[17] + static_cast(29388)); aot_gpr_31 = (0x08AF6C3Cu); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF6C3Cu) goto L_08AF6C3C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF6C3Cu) goto L_08AF6C3C; AOT_REGCACHE_SYNC_OUT(); return; L_08AF6C3C: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_6 = (aot_gpr_6 - aot_gpr_5); { const bool branch_taken = aot_gpr_6 == aot_gpr_4; ctx.gpr[18] = (0u | 0u); @@ -6355,7 +6356,7 @@ L_08AF6C54: } L_08AF6C5C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 2u); + aot_gpr_2 = (0u | 2u); if (branch_taken) { goto L_08AF7294; } @@ -6366,10 +6367,10 @@ L_08AF6C64: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x08AF6C74u); aot_gpr_5 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF6C74u) goto L_08AF6C74; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58100, 213u, 23u, 0x08B58100u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF6C74u) goto L_08AF6C74; AOT_REGCACHE_SYNC_OUT(); return; L_08AF6C74: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; aot_gpr_4 = (ctx.gpr[18] & 255u); if (branch_taken) { goto L_08AF6C84; @@ -6393,12 +6394,12 @@ L_08AF6C8C: ctx.gpr[17] = (ctx.gpr[17] + static_cast(29412)); aot_gpr_31 = (0x08AF6C9Cu); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF6C9Cu) goto L_08AF6C9C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF6C9Cu) goto L_08AF6C9C; AOT_REGCACHE_SYNC_OUT(); return; L_08AF6C9C: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_6 = (aot_gpr_6 - aot_gpr_5); { const bool branch_taken = aot_gpr_6 == aot_gpr_4; ctx.gpr[18] = (0u | 0u); @@ -6417,7 +6418,7 @@ L_08AF6CB4: } L_08AF6CBC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 3u); + aot_gpr_2 = (0u | 3u); if (branch_taken) { goto L_08AF7294; } @@ -6428,10 +6429,10 @@ L_08AF6CC4: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x08AF6CD4u); aot_gpr_5 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF6CD4u) goto L_08AF6CD4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58100, 213u, 23u, 0x08B58100u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF6CD4u) goto L_08AF6CD4; AOT_REGCACHE_SYNC_OUT(); return; L_08AF6CD4: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; aot_gpr_4 = (ctx.gpr[18] & 255u); if (branch_taken) { goto L_08AF6CE4; @@ -6455,12 +6456,12 @@ L_08AF6CEC: ctx.gpr[17] = (ctx.gpr[17] + static_cast(29440)); aot_gpr_31 = (0x08AF6CFCu); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF6CFCu) goto L_08AF6CFC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF6CFCu) goto L_08AF6CFC; AOT_REGCACHE_SYNC_OUT(); return; L_08AF6CFC: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_6 = (aot_gpr_6 - aot_gpr_5); { const bool branch_taken = aot_gpr_6 == aot_gpr_4; ctx.gpr[18] = (0u | 0u); @@ -6479,7 +6480,7 @@ L_08AF6D14: } L_08AF6D1C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 4u); + aot_gpr_2 = (0u | 4u); if (branch_taken) { goto L_08AF7294; } @@ -6490,10 +6491,10 @@ L_08AF6D24: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x08AF6D34u); aot_gpr_5 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF6D34u) goto L_08AF6D34; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58100, 213u, 23u, 0x08B58100u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF6D34u) goto L_08AF6D34; AOT_REGCACHE_SYNC_OUT(); return; L_08AF6D34: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; aot_gpr_4 = (ctx.gpr[18] & 255u); if (branch_taken) { goto L_08AF6D44; @@ -6517,12 +6518,12 @@ L_08AF6D4C: ctx.gpr[17] = (ctx.gpr[17] + static_cast(29468)); aot_gpr_31 = (0x08AF6D5Cu); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF6D5Cu) goto L_08AF6D5C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF6D5Cu) goto L_08AF6D5C; AOT_REGCACHE_SYNC_OUT(); return; L_08AF6D5C: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_6 = (aot_gpr_6 - aot_gpr_5); { const bool branch_taken = aot_gpr_6 == aot_gpr_4; ctx.gpr[18] = (0u | 0u); @@ -6541,7 +6542,7 @@ L_08AF6D74: } L_08AF6D7C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 5u); + aot_gpr_2 = (0u | 5u); if (branch_taken) { goto L_08AF7294; } @@ -6552,10 +6553,10 @@ L_08AF6D84: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x08AF6D94u); aot_gpr_5 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF6D94u) goto L_08AF6D94; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58100, 213u, 23u, 0x08B58100u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF6D94u) goto L_08AF6D94; AOT_REGCACHE_SYNC_OUT(); return; L_08AF6D94: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; aot_gpr_4 = (ctx.gpr[18] & 255u); if (branch_taken) { goto L_08AF6DA4; @@ -6579,12 +6580,12 @@ L_08AF6DAC: ctx.gpr[17] = (ctx.gpr[17] + static_cast(29496)); aot_gpr_31 = (0x08AF6DBCu); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF6DBCu) goto L_08AF6DBC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF6DBCu) goto L_08AF6DBC; AOT_REGCACHE_SYNC_OUT(); return; L_08AF6DBC: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_6 = (aot_gpr_6 - aot_gpr_5); { const bool branch_taken = aot_gpr_6 == aot_gpr_4; ctx.gpr[18] = (0u | 0u); @@ -6603,7 +6604,7 @@ L_08AF6DD4: } L_08AF6DDC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 6u); + aot_gpr_2 = (0u | 6u); if (branch_taken) { goto L_08AF7294; } @@ -6614,10 +6615,10 @@ L_08AF6DE4: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x08AF6DF4u); aot_gpr_5 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF6DF4u) goto L_08AF6DF4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58100, 213u, 23u, 0x08B58100u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF6DF4u) goto L_08AF6DF4; AOT_REGCACHE_SYNC_OUT(); return; L_08AF6DF4: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; aot_gpr_4 = (ctx.gpr[18] & 255u); if (branch_taken) { goto L_08AF6E04; @@ -6641,12 +6642,12 @@ L_08AF6E0C: ctx.gpr[17] = (ctx.gpr[17] + static_cast(29524)); aot_gpr_31 = (0x08AF6E1Cu); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF6E1Cu) goto L_08AF6E1C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF6E1Cu) goto L_08AF6E1C; AOT_REGCACHE_SYNC_OUT(); return; L_08AF6E1C: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_6 = (aot_gpr_6 - aot_gpr_5); { const bool branch_taken = aot_gpr_6 == aot_gpr_4; ctx.gpr[18] = (0u | 0u); @@ -6665,7 +6666,7 @@ L_08AF6E34: } L_08AF6E3C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 7u); + aot_gpr_2 = (0u | 7u); if (branch_taken) { goto L_08AF7294; } @@ -6676,10 +6677,10 @@ L_08AF6E44: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x08AF6E54u); aot_gpr_5 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF6E54u) goto L_08AF6E54; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58100, 213u, 23u, 0x08B58100u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF6E54u) goto L_08AF6E54; AOT_REGCACHE_SYNC_OUT(); return; L_08AF6E54: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; aot_gpr_4 = (ctx.gpr[18] & 255u); if (branch_taken) { goto L_08AF6E64; @@ -6702,12 +6703,12 @@ L_08AF6E6C: ctx.gpr[17] = (ctx.gpr[28] + static_cast(636)); aot_gpr_31 = (0x08AF6E78u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF6E78u) goto L_08AF6E78; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF6E78u) goto L_08AF6E78; AOT_REGCACHE_SYNC_OUT(); return; L_08AF6E78: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_6 = (aot_gpr_6 - aot_gpr_5); { const bool branch_taken = aot_gpr_6 == aot_gpr_4; ctx.gpr[18] = (0u | 0u); @@ -6726,7 +6727,7 @@ L_08AF6E90: } L_08AF6E98: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 8u); + aot_gpr_2 = (0u | 8u); if (branch_taken) { goto L_08AF7294; } @@ -6737,10 +6738,10 @@ L_08AF6EA0: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x08AF6EB0u); aot_gpr_5 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF6EB0u) goto L_08AF6EB0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58100, 213u, 23u, 0x08B58100u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF6EB0u) goto L_08AF6EB0; AOT_REGCACHE_SYNC_OUT(); return; L_08AF6EB0: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; aot_gpr_4 = (ctx.gpr[18] & 255u); if (branch_taken) { goto L_08AF6EC0; @@ -6764,12 +6765,12 @@ L_08AF6EC8: ctx.gpr[17] = (ctx.gpr[17] + static_cast(29544)); aot_gpr_31 = (0x08AF6ED8u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF6ED8u) goto L_08AF6ED8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF6ED8u) goto L_08AF6ED8; AOT_REGCACHE_SYNC_OUT(); return; L_08AF6ED8: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_6 = (aot_gpr_6 - aot_gpr_5); { const bool branch_taken = aot_gpr_6 == aot_gpr_4; ctx.gpr[18] = (0u | 0u); @@ -6788,7 +6789,7 @@ L_08AF6EF0: } L_08AF6EF8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 9u); + aot_gpr_2 = (0u | 9u); if (branch_taken) { goto L_08AF7294; } @@ -6799,10 +6800,10 @@ L_08AF6F00: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x08AF6F10u); aot_gpr_5 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF6F10u) goto L_08AF6F10; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58100, 213u, 23u, 0x08B58100u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF6F10u) goto L_08AF6F10; AOT_REGCACHE_SYNC_OUT(); return; L_08AF6F10: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; aot_gpr_4 = (ctx.gpr[18] & 255u); if (branch_taken) { goto L_08AF6F20; @@ -6826,12 +6827,12 @@ L_08AF6F28: ctx.gpr[17] = (ctx.gpr[17] + static_cast(29564)); aot_gpr_31 = (0x08AF6F38u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF6F38u) goto L_08AF6F38; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF6F38u) goto L_08AF6F38; AOT_REGCACHE_SYNC_OUT(); return; L_08AF6F38: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_6 = (aot_gpr_6 - aot_gpr_5); { const bool branch_taken = aot_gpr_6 == aot_gpr_4; ctx.gpr[18] = (0u | 0u); @@ -6850,7 +6851,7 @@ L_08AF6F50: } L_08AF6F58: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 10u); + aot_gpr_2 = (0u | 10u); if (branch_taken) { goto L_08AF7294; } @@ -6861,10 +6862,10 @@ L_08AF6F60: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x08AF6F70u); aot_gpr_5 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF6F70u) goto L_08AF6F70; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58100, 213u, 23u, 0x08B58100u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF6F70u) goto L_08AF6F70; AOT_REGCACHE_SYNC_OUT(); return; L_08AF6F70: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; aot_gpr_4 = (ctx.gpr[18] & 255u); if (branch_taken) { goto L_08AF6F80; @@ -6888,12 +6889,12 @@ L_08AF6F88: ctx.gpr[17] = (ctx.gpr[17] + static_cast(29584)); aot_gpr_31 = (0x08AF6F98u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF6F98u) goto L_08AF6F98; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF6F98u) goto L_08AF6F98; AOT_REGCACHE_SYNC_OUT(); return; L_08AF6F98: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_6 = (aot_gpr_6 - aot_gpr_5); { const bool branch_taken = aot_gpr_6 == aot_gpr_4; ctx.gpr[18] = (0u | 0u); @@ -6912,7 +6913,7 @@ L_08AF6FB0: } L_08AF6FB8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 11u); + aot_gpr_2 = (0u | 11u); if (branch_taken) { goto L_08AF7294; } @@ -6923,10 +6924,10 @@ L_08AF6FC0: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x08AF6FD0u); aot_gpr_5 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF6FD0u) goto L_08AF6FD0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58100, 213u, 23u, 0x08B58100u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF6FD0u) goto L_08AF6FD0; AOT_REGCACHE_SYNC_OUT(); return; L_08AF6FD0: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; aot_gpr_4 = (ctx.gpr[18] & 255u); if (branch_taken) { goto L_08AF6FE0; @@ -6950,12 +6951,12 @@ L_08AF6FE8: ctx.gpr[17] = (ctx.gpr[17] + static_cast(29620)); aot_gpr_31 = (0x08AF6FF8u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF6FF8u) goto L_08AF6FF8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF6FF8u) goto L_08AF6FF8; AOT_REGCACHE_SYNC_OUT(); return; L_08AF6FF8: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_6 = (aot_gpr_6 - aot_gpr_5); { const bool branch_taken = aot_gpr_6 == aot_gpr_4; ctx.gpr[18] = (0u | 0u); @@ -6974,7 +6975,7 @@ L_08AF7010: } L_08AF7018: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 12u); + aot_gpr_2 = (0u | 12u); if (branch_taken) { goto L_08AF7294; } @@ -6985,10 +6986,10 @@ L_08AF7020: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x08AF7030u); aot_gpr_5 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7030u) goto L_08AF7030; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58100, 213u, 23u, 0x08B58100u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7030u) goto L_08AF7030; AOT_REGCACHE_SYNC_OUT(); return; L_08AF7030: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; aot_gpr_4 = (ctx.gpr[18] & 255u); if (branch_taken) { goto L_08AF7040; @@ -7012,12 +7013,12 @@ L_08AF7048: ctx.gpr[17] = (ctx.gpr[17] + static_cast(29656)); aot_gpr_31 = (0x08AF7058u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7058u) goto L_08AF7058; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7058u) goto L_08AF7058; AOT_REGCACHE_SYNC_OUT(); return; L_08AF7058: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_6 = (aot_gpr_6 - aot_gpr_5); { const bool branch_taken = aot_gpr_6 == aot_gpr_4; ctx.gpr[18] = (0u | 0u); @@ -7036,7 +7037,7 @@ L_08AF7070: } L_08AF7078: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 13u); + aot_gpr_2 = (0u | 13u); if (branch_taken) { goto L_08AF7294; } @@ -7047,10 +7048,10 @@ L_08AF7080: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x08AF7090u); aot_gpr_5 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7090u) goto L_08AF7090; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58100, 213u, 23u, 0x08B58100u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7090u) goto L_08AF7090; AOT_REGCACHE_SYNC_OUT(); return; L_08AF7090: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; aot_gpr_4 = (ctx.gpr[18] & 255u); if (branch_taken) { goto L_08AF70A0; @@ -7074,12 +7075,12 @@ L_08AF70A8: ctx.gpr[17] = (ctx.gpr[17] + static_cast(29680)); aot_gpr_31 = (0x08AF70B8u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF70B8u) goto L_08AF70B8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF70B8u) goto L_08AF70B8; AOT_REGCACHE_SYNC_OUT(); return; L_08AF70B8: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_6 = (aot_gpr_6 - aot_gpr_5); { const bool branch_taken = aot_gpr_6 == aot_gpr_4; ctx.gpr[18] = (0u | 0u); @@ -7098,7 +7099,7 @@ L_08AF70D0: } L_08AF70D8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 14u); + aot_gpr_2 = (0u | 14u); if (branch_taken) { goto L_08AF7294; } @@ -7109,10 +7110,10 @@ L_08AF70E0: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x08AF70F0u); aot_gpr_5 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF70F0u) goto L_08AF70F0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58100, 213u, 23u, 0x08B58100u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF70F0u) goto L_08AF70F0; AOT_REGCACHE_SYNC_OUT(); return; L_08AF70F0: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; aot_gpr_4 = (ctx.gpr[18] & 255u); if (branch_taken) { goto L_08AF7100; @@ -7136,12 +7137,12 @@ L_08AF7108: ctx.gpr[17] = (ctx.gpr[17] + static_cast(29700)); aot_gpr_31 = (0x08AF7118u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7118u) goto L_08AF7118; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7118u) goto L_08AF7118; AOT_REGCACHE_SYNC_OUT(); return; L_08AF7118: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_6 = (aot_gpr_6 - aot_gpr_5); { const bool branch_taken = aot_gpr_6 == aot_gpr_4; ctx.gpr[18] = (0u | 0u); @@ -7160,7 +7161,7 @@ L_08AF7130: } L_08AF7138: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 15u); + aot_gpr_2 = (0u | 15u); if (branch_taken) { goto L_08AF7294; } @@ -7171,10 +7172,10 @@ L_08AF7140: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x08AF7150u); aot_gpr_5 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7150u) goto L_08AF7150; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58100, 213u, 23u, 0x08B58100u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7150u) goto L_08AF7150; AOT_REGCACHE_SYNC_OUT(); return; L_08AF7150: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; aot_gpr_4 = (ctx.gpr[18] & 255u); if (branch_taken) { goto L_08AF7160; @@ -7198,12 +7199,12 @@ L_08AF7168: ctx.gpr[17] = (ctx.gpr[17] + static_cast(29732)); aot_gpr_31 = (0x08AF7178u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7178u) goto L_08AF7178; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7178u) goto L_08AF7178; AOT_REGCACHE_SYNC_OUT(); return; L_08AF7178: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_6 = (aot_gpr_6 - aot_gpr_5); { const bool branch_taken = aot_gpr_6 == aot_gpr_4; ctx.gpr[18] = (0u | 0u); @@ -7222,7 +7223,7 @@ L_08AF7190: } L_08AF7198: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 16u); + aot_gpr_2 = (0u | 16u); if (branch_taken) { goto L_08AF7294; } @@ -7233,10 +7234,10 @@ L_08AF71A0: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x08AF71B0u); aot_gpr_5 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF71B0u) goto L_08AF71B0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58100, 213u, 23u, 0x08B58100u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF71B0u) goto L_08AF71B0; AOT_REGCACHE_SYNC_OUT(); return; L_08AF71B0: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; aot_gpr_4 = (ctx.gpr[18] & 255u); if (branch_taken) { goto L_08AF71C0; @@ -7260,12 +7261,12 @@ L_08AF71C8: ctx.gpr[17] = (ctx.gpr[17] + static_cast(29760)); aot_gpr_31 = (0x08AF71D8u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF71D8u) goto L_08AF71D8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF71D8u) goto L_08AF71D8; AOT_REGCACHE_SYNC_OUT(); return; L_08AF71D8: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_6 = (aot_gpr_6 - aot_gpr_5); { const bool branch_taken = aot_gpr_6 == aot_gpr_4; ctx.gpr[18] = (0u | 0u); @@ -7284,7 +7285,7 @@ L_08AF71F0: } L_08AF71F8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 17u); + aot_gpr_2 = (0u | 17u); if (branch_taken) { goto L_08AF7294; } @@ -7295,10 +7296,10 @@ L_08AF7200: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x08AF7210u); aot_gpr_5 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7210u) goto L_08AF7210; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58100, 213u, 23u, 0x08B58100u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7210u) goto L_08AF7210; AOT_REGCACHE_SYNC_OUT(); return; L_08AF7210: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; aot_gpr_4 = (ctx.gpr[18] & 255u); if (branch_taken) { goto L_08AF7220; @@ -7318,17 +7319,17 @@ L_08AF7220: goto L_08AF7228; } L_08AF7228: - ctx.gpr[17] = (aot_gpr_16 | 0u); - aot_gpr_16 = (2232u << 16u); - aot_gpr_16 = (aot_gpr_16 + static_cast(29788)); + ctx.gpr[17] = (ctx.gpr[16] | 0u); + ctx.gpr[16] = (2232u << 16u); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(29788)); aot_gpr_31 = (0x08AF723Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF723Cu) goto L_08AF723C; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF723Cu) goto L_08AF723C; AOT_REGCACHE_SYNC_OUT(); return; L_08AF723C: aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); aot_gpr_6 = (aot_gpr_6 - aot_gpr_4); { const bool branch_taken = aot_gpr_6 == aot_gpr_5; ctx.gpr[17] = (0u | 0u); @@ -7347,7 +7348,7 @@ L_08AF7254: } L_08AF725C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 18u); + aot_gpr_2 = (0u | 18u); if (branch_taken) { goto L_08AF7294; } @@ -7356,11 +7357,11 @@ L_08AF725C: L_08AF7264: aot_gpr_6 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x08AF7270u); - aot_gpr_5 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7270u) goto L_08AF7270; + aot_gpr_5 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58100, 213u, 23u, 0x08B58100u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7270u) goto L_08AF7270; AOT_REGCACHE_SYNC_OUT(); return; L_08AF7270: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; aot_gpr_4 = (ctx.gpr[17] & 255u); if (branch_taken) { goto L_08AF7280; @@ -7381,19 +7382,19 @@ L_08AF7280: } L_08AF7288: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 19u); + aot_gpr_2 = (0u | 19u); if (branch_taken) { goto L_08AF7294; } goto L_08AF7290; } L_08AF7290: - ctx.gpr[2] = (0u | 20u); + aot_gpr_2 = (0u | 20u); goto L_08AF7294; L_08AF7294: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; @@ -7406,20 +7407,20 @@ L_08AF7294: AOT_REGCACHE_SYNC_OUT(); return; L_08AF72AC: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.gpr[17] = (ctx.gpr[28] + static_cast(652)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); aot_gpr_31 = (0x08AF72D0u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF72D0u) goto L_08AF72D0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF72D0u) goto L_08AF72D0; AOT_REGCACHE_SYNC_OUT(); return; L_08AF72D0: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_6 = (aot_gpr_6 - aot_gpr_5); { const bool branch_taken = aot_gpr_6 != aot_gpr_4; ctx.gpr[18] = (0u | 0u); @@ -7433,10 +7434,10 @@ L_08AF72E8: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x08AF72F8u); aot_gpr_5 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF72F8u) goto L_08AF72F8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58100, 213u, 23u, 0x08B58100u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF72F8u) goto L_08AF72F8; AOT_REGCACHE_SYNC_OUT(); return; L_08AF72F8: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; aot_gpr_4 = (ctx.gpr[18] & 255u); if (branch_taken) { goto L_08AF7308; @@ -7462,12 +7463,12 @@ L_08AF7310: ctx.gpr[17] = (ctx.gpr[17] + static_cast(29816)); aot_gpr_31 = (0x08AF7320u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7320u) goto L_08AF7320; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7320u) goto L_08AF7320; AOT_REGCACHE_SYNC_OUT(); return; L_08AF7320: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_6 = (aot_gpr_6 - aot_gpr_5); { const bool branch_taken = aot_gpr_6 == aot_gpr_4; ctx.gpr[18] = (0u | 0u); @@ -7486,7 +7487,7 @@ L_08AF7338: } L_08AF7340: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08AF77E8; } @@ -7497,10 +7498,10 @@ L_08AF7348: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x08AF7358u); aot_gpr_5 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7358u) goto L_08AF7358; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58100, 213u, 23u, 0x08B58100u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7358u) goto L_08AF7358; AOT_REGCACHE_SYNC_OUT(); return; L_08AF7358: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; aot_gpr_4 = (ctx.gpr[18] & 255u); if (branch_taken) { goto L_08AF7368; @@ -7523,12 +7524,12 @@ L_08AF7370: ctx.gpr[17] = (ctx.gpr[28] + static_cast(664)); aot_gpr_31 = (0x08AF737Cu); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF737Cu) goto L_08AF737C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF737Cu) goto L_08AF737C; AOT_REGCACHE_SYNC_OUT(); return; L_08AF737C: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_6 = (aot_gpr_6 - aot_gpr_5); { const bool branch_taken = aot_gpr_6 == aot_gpr_4; ctx.gpr[18] = (0u | 0u); @@ -7547,7 +7548,7 @@ L_08AF7394: } L_08AF739C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_08AF77E8; } @@ -7558,10 +7559,10 @@ L_08AF73A4: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x08AF73B4u); aot_gpr_5 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF73B4u) goto L_08AF73B4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58100, 213u, 23u, 0x08B58100u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF73B4u) goto L_08AF73B4; AOT_REGCACHE_SYNC_OUT(); return; L_08AF73B4: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; aot_gpr_4 = (ctx.gpr[18] & 255u); if (branch_taken) { goto L_08AF73C4; @@ -7585,12 +7586,12 @@ L_08AF73CC: ctx.gpr[17] = (ctx.gpr[17] + static_cast(29836)); aot_gpr_31 = (0x08AF73DCu); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF73DCu) goto L_08AF73DC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF73DCu) goto L_08AF73DC; AOT_REGCACHE_SYNC_OUT(); return; L_08AF73DC: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_6 = (aot_gpr_6 - aot_gpr_5); { const bool branch_taken = aot_gpr_6 == aot_gpr_4; ctx.gpr[18] = (0u | 0u); @@ -7609,7 +7610,7 @@ L_08AF73F4: } L_08AF73FC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 2u); + aot_gpr_2 = (0u | 2u); if (branch_taken) { goto L_08AF77E8; } @@ -7620,10 +7621,10 @@ L_08AF7404: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x08AF7414u); aot_gpr_5 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7414u) goto L_08AF7414; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58100, 213u, 23u, 0x08B58100u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7414u) goto L_08AF7414; AOT_REGCACHE_SYNC_OUT(); return; L_08AF7414: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; aot_gpr_4 = (ctx.gpr[18] & 255u); if (branch_taken) { goto L_08AF7424; @@ -7646,12 +7647,12 @@ L_08AF742C: ctx.gpr[17] = (ctx.gpr[28] + static_cast(680)); aot_gpr_31 = (0x08AF7438u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7438u) goto L_08AF7438; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7438u) goto L_08AF7438; AOT_REGCACHE_SYNC_OUT(); return; L_08AF7438: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_6 = (aot_gpr_6 - aot_gpr_5); { const bool branch_taken = aot_gpr_6 == aot_gpr_4; ctx.gpr[18] = (0u | 0u); @@ -7670,7 +7671,7 @@ L_08AF7450: } L_08AF7458: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 3u); + aot_gpr_2 = (0u | 3u); if (branch_taken) { goto L_08AF77E8; } @@ -7681,10 +7682,10 @@ L_08AF7460: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x08AF7470u); aot_gpr_5 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7470u) goto L_08AF7470; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58100, 213u, 23u, 0x08B58100u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7470u) goto L_08AF7470; AOT_REGCACHE_SYNC_OUT(); return; L_08AF7470: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; aot_gpr_4 = (ctx.gpr[18] & 255u); if (branch_taken) { goto L_08AF7480; @@ -7707,12 +7708,12 @@ L_08AF7488: ctx.gpr[17] = (ctx.gpr[28] + static_cast(696)); aot_gpr_31 = (0x08AF7494u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7494u) goto L_08AF7494; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7494u) goto L_08AF7494; AOT_REGCACHE_SYNC_OUT(); return; L_08AF7494: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_6 = (aot_gpr_6 - aot_gpr_5); { const bool branch_taken = aot_gpr_6 == aot_gpr_4; ctx.gpr[18] = (0u | 0u); @@ -7731,7 +7732,7 @@ L_08AF74AC: } L_08AF74B4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 4u); + aot_gpr_2 = (0u | 4u); if (branch_taken) { goto L_08AF77E8; } @@ -7742,10 +7743,10 @@ L_08AF74BC: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x08AF74CCu); aot_gpr_5 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF74CCu) goto L_08AF74CC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58100, 213u, 23u, 0x08B58100u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF74CCu) goto L_08AF74CC; AOT_REGCACHE_SYNC_OUT(); return; L_08AF74CC: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; aot_gpr_4 = (ctx.gpr[18] & 255u); if (branch_taken) { goto L_08AF74DC; @@ -7768,12 +7769,12 @@ L_08AF74E4: ctx.gpr[17] = (ctx.gpr[28] + static_cast(712)); aot_gpr_31 = (0x08AF74F0u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF74F0u) goto L_08AF74F0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF74F0u) goto L_08AF74F0; AOT_REGCACHE_SYNC_OUT(); return; L_08AF74F0: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_6 = (aot_gpr_6 - aot_gpr_5); { const bool branch_taken = aot_gpr_6 == aot_gpr_4; ctx.gpr[18] = (0u | 0u); @@ -7792,7 +7793,7 @@ L_08AF7508: } L_08AF7510: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 5u); + aot_gpr_2 = (0u | 5u); if (branch_taken) { goto L_08AF77E8; } @@ -7803,10 +7804,10 @@ L_08AF7518: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x08AF7528u); aot_gpr_5 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7528u) goto L_08AF7528; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58100, 213u, 23u, 0x08B58100u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7528u) goto L_08AF7528; AOT_REGCACHE_SYNC_OUT(); return; L_08AF7528: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; aot_gpr_4 = (ctx.gpr[18] & 255u); if (branch_taken) { goto L_08AF7538; @@ -7830,12 +7831,12 @@ L_08AF7540: ctx.gpr[17] = (ctx.gpr[17] + static_cast(29856)); aot_gpr_31 = (0x08AF7550u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7550u) goto L_08AF7550; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7550u) goto L_08AF7550; AOT_REGCACHE_SYNC_OUT(); return; L_08AF7550: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_6 = (aot_gpr_6 - aot_gpr_5); { const bool branch_taken = aot_gpr_6 == aot_gpr_4; ctx.gpr[18] = (0u | 0u); @@ -7854,7 +7855,7 @@ L_08AF7568: } L_08AF7570: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 6u); + aot_gpr_2 = (0u | 6u); if (branch_taken) { goto L_08AF77E8; } @@ -7865,10 +7866,10 @@ L_08AF7578: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x08AF7588u); aot_gpr_5 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7588u) goto L_08AF7588; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58100, 213u, 23u, 0x08B58100u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7588u) goto L_08AF7588; AOT_REGCACHE_SYNC_OUT(); return; L_08AF7588: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; aot_gpr_4 = (ctx.gpr[18] & 255u); if (branch_taken) { goto L_08AF7598; @@ -7891,12 +7892,12 @@ L_08AF75A0: ctx.gpr[17] = (ctx.gpr[28] + static_cast(728)); aot_gpr_31 = (0x08AF75ACu); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF75ACu) goto L_08AF75AC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF75ACu) goto L_08AF75AC; AOT_REGCACHE_SYNC_OUT(); return; L_08AF75AC: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_6 = (aot_gpr_6 - aot_gpr_5); { const bool branch_taken = aot_gpr_6 == aot_gpr_4; ctx.gpr[18] = (0u | 0u); @@ -7915,7 +7916,7 @@ L_08AF75C4: } L_08AF75CC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 7u); + aot_gpr_2 = (0u | 7u); if (branch_taken) { goto L_08AF77E8; } @@ -7926,10 +7927,10 @@ L_08AF75D4: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x08AF75E4u); aot_gpr_5 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF75E4u) goto L_08AF75E4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58100, 213u, 23u, 0x08B58100u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF75E4u) goto L_08AF75E4; AOT_REGCACHE_SYNC_OUT(); return; L_08AF75E4: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; aot_gpr_4 = (ctx.gpr[18] & 255u); if (branch_taken) { goto L_08AF75F4; @@ -7953,12 +7954,12 @@ L_08AF75FC: ctx.gpr[17] = (ctx.gpr[17] + static_cast(29880)); aot_gpr_31 = (0x08AF760Cu); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF760Cu) goto L_08AF760C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF760Cu) goto L_08AF760C; AOT_REGCACHE_SYNC_OUT(); return; L_08AF760C: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_6 = (aot_gpr_6 - aot_gpr_5); { const bool branch_taken = aot_gpr_6 == aot_gpr_4; ctx.gpr[18] = (0u | 0u); @@ -7977,7 +7978,7 @@ L_08AF7624: } L_08AF762C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 8u); + aot_gpr_2 = (0u | 8u); if (branch_taken) { goto L_08AF77E8; } @@ -7988,10 +7989,10 @@ L_08AF7634: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x08AF7644u); aot_gpr_5 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7644u) goto L_08AF7644; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58100, 213u, 23u, 0x08B58100u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7644u) goto L_08AF7644; AOT_REGCACHE_SYNC_OUT(); return; L_08AF7644: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; aot_gpr_4 = (ctx.gpr[18] & 255u); if (branch_taken) { goto L_08AF7654; @@ -8015,12 +8016,12 @@ L_08AF765C: ctx.gpr[17] = (ctx.gpr[17] + static_cast(29904)); aot_gpr_31 = (0x08AF766Cu); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF766Cu) goto L_08AF766C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF766Cu) goto L_08AF766C; AOT_REGCACHE_SYNC_OUT(); return; L_08AF766C: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_6 = (aot_gpr_6 - aot_gpr_5); { const bool branch_taken = aot_gpr_6 == aot_gpr_4; ctx.gpr[18] = (0u | 0u); @@ -8039,7 +8040,7 @@ L_08AF7684: } L_08AF768C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 9u); + aot_gpr_2 = (0u | 9u); if (branch_taken) { goto L_08AF77E8; } @@ -8050,10 +8051,10 @@ L_08AF7694: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x08AF76A4u); aot_gpr_5 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF76A4u) goto L_08AF76A4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58100, 213u, 23u, 0x08B58100u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF76A4u) goto L_08AF76A4; AOT_REGCACHE_SYNC_OUT(); return; L_08AF76A4: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; aot_gpr_4 = (ctx.gpr[18] & 255u); if (branch_taken) { goto L_08AF76B4; @@ -8077,12 +8078,12 @@ L_08AF76BC: ctx.gpr[17] = (ctx.gpr[17] + static_cast(29936)); aot_gpr_31 = (0x08AF76CCu); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF76CCu) goto L_08AF76CC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF76CCu) goto L_08AF76CC; AOT_REGCACHE_SYNC_OUT(); return; L_08AF76CC: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_6 = (aot_gpr_6 - aot_gpr_5); { const bool branch_taken = aot_gpr_6 == aot_gpr_4; ctx.gpr[18] = (0u | 0u); @@ -8101,7 +8102,7 @@ L_08AF76E4: } L_08AF76EC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 10u); + aot_gpr_2 = (0u | 10u); if (branch_taken) { goto L_08AF77E8; } @@ -8112,10 +8113,10 @@ L_08AF76F4: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x08AF7704u); aot_gpr_5 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7704u) goto L_08AF7704; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58100, 213u, 23u, 0x08B58100u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7704u) goto L_08AF7704; AOT_REGCACHE_SYNC_OUT(); return; L_08AF7704: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; aot_gpr_4 = (ctx.gpr[18] & 255u); if (branch_taken) { goto L_08AF7714; @@ -8139,12 +8140,12 @@ L_08AF771C: ctx.gpr[17] = (ctx.gpr[17] + static_cast(29960)); aot_gpr_31 = (0x08AF772Cu); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF772Cu) goto L_08AF772C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF772Cu) goto L_08AF772C; AOT_REGCACHE_SYNC_OUT(); return; L_08AF772C: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_6 = (aot_gpr_6 - aot_gpr_5); { const bool branch_taken = aot_gpr_6 == aot_gpr_4; ctx.gpr[18] = (0u | 0u); @@ -8163,7 +8164,7 @@ L_08AF7744: } L_08AF774C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 11u); + aot_gpr_2 = (0u | 11u); if (branch_taken) { goto L_08AF77E8; } @@ -8174,10 +8175,10 @@ L_08AF7754: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x08AF7764u); aot_gpr_5 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7764u) goto L_08AF7764; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58100, 213u, 23u, 0x08B58100u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7764u) goto L_08AF7764; AOT_REGCACHE_SYNC_OUT(); return; L_08AF7764: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; aot_gpr_4 = (ctx.gpr[18] & 255u); if (branch_taken) { goto L_08AF7774; @@ -8197,17 +8198,17 @@ L_08AF7774: goto L_08AF777C; } L_08AF777C: - ctx.gpr[17] = (aot_gpr_16 | 0u); - aot_gpr_16 = (2232u << 16u); - aot_gpr_16 = (aot_gpr_16 + static_cast(29984)); + ctx.gpr[17] = (ctx.gpr[16] | 0u); + ctx.gpr[16] = (2232u << 16u); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(29984)); aot_gpr_31 = (0x08AF7790u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7790u) goto L_08AF7790; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7790u) goto L_08AF7790; AOT_REGCACHE_SYNC_OUT(); return; L_08AF7790: aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); aot_gpr_6 = (aot_gpr_6 - aot_gpr_4); { const bool branch_taken = aot_gpr_6 == aot_gpr_5; ctx.gpr[17] = (0u | 0u); @@ -8226,7 +8227,7 @@ L_08AF77A8: } L_08AF77B0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 12u); + aot_gpr_2 = (0u | 12u); if (branch_taken) { goto L_08AF77E8; } @@ -8235,11 +8236,11 @@ L_08AF77B0: L_08AF77B8: aot_gpr_6 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x08AF77C4u); - aot_gpr_5 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF77C4u) goto L_08AF77C4; + aot_gpr_5 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58100, 213u, 23u, 0x08B58100u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF77C4u) goto L_08AF77C4; AOT_REGCACHE_SYNC_OUT(); return; L_08AF77C4: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; aot_gpr_4 = (ctx.gpr[17] & 255u); if (branch_taken) { goto L_08AF77D4; @@ -8260,19 +8261,19 @@ L_08AF77D4: } L_08AF77DC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 13u); + aot_gpr_2 = (0u | 13u); if (branch_taken) { goto L_08AF77E8; } goto L_08AF77E4; } L_08AF77E4: - ctx.gpr[2] = (0u | 14u); + aot_gpr_2 = (0u | 14u); goto L_08AF77E8; L_08AF77E8: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; @@ -8285,20 +8286,20 @@ L_08AF77E8: AOT_REGCACHE_SYNC_OUT(); return; L_08AF7800: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.gpr[18] = (ctx.gpr[28] + static_cast(744)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); aot_gpr_31 = (0x08AF7824u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7824u) goto L_08AF7824; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7824u) goto L_08AF7824; AOT_REGCACHE_SYNC_OUT(); return; L_08AF7824: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); + aot_gpr_5 = (aot_gpr_2 | 0u); aot_gpr_6 = (aot_gpr_6 - aot_gpr_4); { const bool branch_taken = aot_gpr_6 != aot_gpr_5; ctx.gpr[17] = (0u | 0u); @@ -8311,10 +8312,10 @@ L_08AF783C: aot_gpr_6 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x08AF7848u); aot_gpr_5 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7848u) goto L_08AF7848; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58100, 213u, 23u, 0x08B58100u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7848u) goto L_08AF7848; AOT_REGCACHE_SYNC_OUT(); return; L_08AF7848: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; aot_gpr_4 = (ctx.gpr[17] & 255u); if (branch_taken) { goto L_08AF7858; @@ -8340,15 +8341,15 @@ L_08AF7860: ctx.gpr[17] = (ctx.gpr[17] + static_cast(30004)); aot_gpr_31 = (0x08AF7870u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7870u) goto L_08AF7870; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7870u) goto L_08AF7870; AOT_REGCACHE_SYNC_OUT(); return; L_08AF7870: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); + aot_gpr_5 = (aot_gpr_2 | 0u); aot_gpr_6 = (aot_gpr_6 - aot_gpr_4); { const bool branch_taken = aot_gpr_6 == aot_gpr_5; - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); if (branch_taken) { goto L_08AF7898; } @@ -8356,7 +8357,7 @@ L_08AF7870: } L_08AF7888: { const bool branch_taken = 0u == 0u; - aot_gpr_4 = (aot_gpr_16 & 255u); + aot_gpr_4 = (ctx.gpr[16] & 255u); if (branch_taken) { goto L_08AF78B4; } @@ -8364,7 +8365,7 @@ L_08AF7888: } L_08AF7890: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08AF78C8; } @@ -8374,19 +8375,19 @@ L_08AF7898: aot_gpr_6 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x08AF78A4u); aot_gpr_5 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF78A4u) goto L_08AF78A4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58100, 213u, 23u, 0x08B58100u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF78A4u) goto L_08AF78A4; AOT_REGCACHE_SYNC_OUT(); return; L_08AF78A4: - { const bool branch_taken = ctx.gpr[2] != 0u; - aot_gpr_4 = (aot_gpr_16 & 255u); + { const bool branch_taken = aot_gpr_2 != 0u; + aot_gpr_4 = (ctx.gpr[16] & 255u); if (branch_taken) { goto L_08AF78B4; } goto L_08AF78AC; } L_08AF78AC: - aot_gpr_16 = (0u | 1u); - aot_gpr_4 = (aot_gpr_16 & 255u); + ctx.gpr[16] = (0u | 1u); + aot_gpr_4 = (ctx.gpr[16] & 255u); goto L_08AF78B4; L_08AF78B4: { const bool branch_taken = aot_gpr_4 == 0u; @@ -8398,19 +8399,19 @@ L_08AF78B4: } L_08AF78BC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_08AF78C8; } goto L_08AF78C4; } L_08AF78C4: - ctx.gpr[2] = (0u | 2u); + aot_gpr_2 = (0u | 2u); goto L_08AF78C8; L_08AF78C8: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; @@ -8425,19 +8426,19 @@ L_08AF78E0: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); ctx.gpr[17] = (2232u << 16u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.gpr[17] = (ctx.gpr[17] + static_cast(30024)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); aot_gpr_31 = (0x08AF7908u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7908u) goto L_08AF7908; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7908u) goto L_08AF7908; AOT_REGCACHE_SYNC_OUT(); return; L_08AF7908: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_6 = (aot_gpr_6 - aot_gpr_5); { const bool branch_taken = aot_gpr_6 != aot_gpr_4; ctx.gpr[18] = (0u | 0u); @@ -8451,10 +8452,10 @@ L_08AF7920: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x08AF7930u); aot_gpr_5 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7930u) goto L_08AF7930; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58100, 213u, 23u, 0x08B58100u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7930u) goto L_08AF7930; AOT_REGCACHE_SYNC_OUT(); return; L_08AF7930: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; aot_gpr_4 = (ctx.gpr[18] & 255u); if (branch_taken) { goto L_08AF7940; @@ -8480,12 +8481,12 @@ L_08AF7948: ctx.gpr[17] = (ctx.gpr[17] + static_cast(30044)); aot_gpr_31 = (0x08AF7958u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7958u) goto L_08AF7958; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7958u) goto L_08AF7958; AOT_REGCACHE_SYNC_OUT(); return; L_08AF7958: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_6 = (aot_gpr_6 - aot_gpr_5); { const bool branch_taken = aot_gpr_6 == aot_gpr_4; ctx.gpr[18] = (0u | 0u); @@ -8504,7 +8505,7 @@ L_08AF7970: } L_08AF7978: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08AF7A74; } @@ -8515,10 +8516,10 @@ L_08AF7980: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x08AF7990u); aot_gpr_5 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7990u) goto L_08AF7990; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58100, 213u, 23u, 0x08B58100u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7990u) goto L_08AF7990; AOT_REGCACHE_SYNC_OUT(); return; L_08AF7990: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; aot_gpr_4 = (ctx.gpr[18] & 255u); if (branch_taken) { goto L_08AF79A0; @@ -8542,12 +8543,12 @@ L_08AF79A8: ctx.gpr[17] = (ctx.gpr[17] + static_cast(30072)); aot_gpr_31 = (0x08AF79B8u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF79B8u) goto L_08AF79B8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF79B8u) goto L_08AF79B8; AOT_REGCACHE_SYNC_OUT(); return; L_08AF79B8: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_6 = (aot_gpr_6 - aot_gpr_5); { const bool branch_taken = aot_gpr_6 == aot_gpr_4; ctx.gpr[18] = (0u | 0u); @@ -8566,7 +8567,7 @@ L_08AF79D0: } L_08AF79D8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_08AF7A74; } @@ -8577,10 +8578,10 @@ L_08AF79E0: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x08AF79F0u); aot_gpr_5 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF79F0u) goto L_08AF79F0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58100, 213u, 23u, 0x08B58100u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF79F0u) goto L_08AF79F0; AOT_REGCACHE_SYNC_OUT(); return; L_08AF79F0: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; aot_gpr_4 = (ctx.gpr[18] & 255u); if (branch_taken) { goto L_08AF7A00; @@ -8600,17 +8601,17 @@ L_08AF7A00: goto L_08AF7A08; } L_08AF7A08: - ctx.gpr[17] = (aot_gpr_16 | 0u); - aot_gpr_16 = (2232u << 16u); - aot_gpr_16 = (aot_gpr_16 + static_cast(30100)); + ctx.gpr[17] = (ctx.gpr[16] | 0u); + ctx.gpr[16] = (2232u << 16u); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(30100)); aot_gpr_31 = (0x08AF7A1Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7A1Cu) goto L_08AF7A1C; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7A1Cu) goto L_08AF7A1C; AOT_REGCACHE_SYNC_OUT(); return; L_08AF7A1C: aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); aot_gpr_6 = (aot_gpr_6 - aot_gpr_4); { const bool branch_taken = aot_gpr_6 == aot_gpr_5; ctx.gpr[17] = (0u | 0u); @@ -8629,7 +8630,7 @@ L_08AF7A34: } L_08AF7A3C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 2u); + aot_gpr_2 = (0u | 2u); if (branch_taken) { goto L_08AF7A74; } @@ -8638,11 +8639,11 @@ L_08AF7A3C: L_08AF7A44: aot_gpr_6 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x08AF7A50u); - aot_gpr_5 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7A50u) goto L_08AF7A50; + aot_gpr_5 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58100, 213u, 23u, 0x08B58100u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7A50u) goto L_08AF7A50; AOT_REGCACHE_SYNC_OUT(); return; L_08AF7A50: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; aot_gpr_4 = (ctx.gpr[17] & 255u); if (branch_taken) { goto L_08AF7A60; @@ -8663,19 +8664,19 @@ L_08AF7A60: } L_08AF7A68: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 3u); + aot_gpr_2 = (0u | 3u); if (branch_taken) { goto L_08AF7A74; } goto L_08AF7A70; } L_08AF7A70: - ctx.gpr[2] = (0u | 4u); + aot_gpr_2 = (0u | 4u); goto L_08AF7A74; L_08AF7A74: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; @@ -8689,10 +8690,10 @@ L_08AF7A74: L_08AF7A8C: aot_gpr_29 = (aot_gpr_29 + static_cast(-112)); aot_gpr_6 = (0u | 1u); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(84), aot_run_words); } { const bool branch_taken = aot_gpr_6 != 0u; - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08AF7FB0; } @@ -8723,14 +8724,14 @@ L_08AF7AD4: aot_gpr_5 = (ctx.gpr[28] + static_cast(760)); aot_gpr_6 = (aot_gpr_29 + static_cast(1)); aot_gpr_31 = (0x08AF7AE4u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7AE4u) goto L_08AF7AE4; AOT_REGCACHE_SYNC_OUT(); return; L_08AF7AE4: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { - (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0189_entry, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; + (void)([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF80D8, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem, ctx.pc, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0189_entry, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08AF7AEC; } @@ -8738,14 +8739,14 @@ L_08AF7AEC: aot_gpr_5 = (ctx.gpr[28] + static_cast(768)); aot_gpr_6 = (aot_gpr_29 + static_cast(2)); aot_gpr_31 = (0x08AF7AFCu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7AFCu) goto L_08AF7AFC; AOT_REGCACHE_SYNC_OUT(); return; L_08AF7AFC: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { - (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0189_entry, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; + (void)([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF80D8, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem, ctx.pc, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0189_entry, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08AF7B04; } @@ -8753,14 +8754,14 @@ L_08AF7B04: aot_gpr_5 = (ctx.gpr[28] + static_cast(780)); aot_gpr_6 = (aot_gpr_29 + static_cast(3)); aot_gpr_31 = (0x08AF7B14u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7B14u) goto L_08AF7B14; AOT_REGCACHE_SYNC_OUT(); return; L_08AF7B14: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { - (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0189_entry, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; + (void)([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF80D8, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem, ctx.pc, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0189_entry, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08AF7B1C; } @@ -8768,21 +8769,21 @@ L_08AF7B1C: aot_gpr_5 = (ctx.gpr[28] + static_cast(792)); aot_gpr_6 = (aot_gpr_29 + static_cast(4)); aot_gpr_31 = (0x08AF7B2Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7B2Cu) goto L_08AF7B2C; AOT_REGCACHE_SYNC_OUT(); return; L_08AF7B2C: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { - (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0189_entry, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; + (void)([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF80D8, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem, ctx.pc, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0189_entry, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08AF7B34; } L_08AF7B34: aot_gpr_5 = (2232u << 16u); aot_gpr_6 = (aot_gpr_29 + static_cast(5)); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AF7B48u); aot_gpr_5 = (aot_gpr_5 + static_cast(30132)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7B48u) goto L_08AF7B48; @@ -8791,7 +8792,7 @@ L_08AF7B48: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { - (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0189_entry, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; + (void)([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF80D8, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem, ctx.pc, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0189_entry, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08AF7B50; } @@ -8799,14 +8800,14 @@ L_08AF7B50: aot_gpr_5 = (ctx.gpr[28] + static_cast(804)); aot_gpr_6 = (aot_gpr_29 + static_cast(6)); aot_gpr_31 = (0x08AF7B60u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7B60u) goto L_08AF7B60; AOT_REGCACHE_SYNC_OUT(); return; L_08AF7B60: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { - (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0189_entry, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; + (void)([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF80D8, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem, ctx.pc, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0189_entry, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08AF7B68; } @@ -8814,14 +8815,14 @@ L_08AF7B68: aot_gpr_5 = (ctx.gpr[28] + static_cast(812)); aot_gpr_6 = (aot_gpr_29 + static_cast(7)); aot_gpr_31 = (0x08AF7B78u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7B78u) goto L_08AF7B78; AOT_REGCACHE_SYNC_OUT(); return; L_08AF7B78: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { - (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0189_entry, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; + (void)([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF80D8, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem, ctx.pc, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0189_entry, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08AF7B80; } @@ -8829,14 +8830,14 @@ L_08AF7B80: aot_gpr_5 = (ctx.gpr[28] + static_cast(820)); aot_gpr_6 = (aot_gpr_29 + static_cast(8)); aot_gpr_31 = (0x08AF7B90u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7B90u) goto L_08AF7B90; AOT_REGCACHE_SYNC_OUT(); return; L_08AF7B90: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { - (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0189_entry, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; + (void)([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF80D8, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem, ctx.pc, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0189_entry, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08AF7B98; } @@ -8844,14 +8845,14 @@ L_08AF7B98: aot_gpr_5 = (ctx.gpr[28] + static_cast(832)); aot_gpr_6 = (aot_gpr_29 + static_cast(9)); aot_gpr_31 = (0x08AF7BA8u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7BA8u) goto L_08AF7BA8; AOT_REGCACHE_SYNC_OUT(); return; L_08AF7BA8: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { - (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0189_entry, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; + (void)([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF80D8, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem, ctx.pc, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0189_entry, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08AF7BB0; } @@ -8859,14 +8860,14 @@ L_08AF7BB0: aot_gpr_5 = (ctx.gpr[28] + static_cast(840)); aot_gpr_6 = (aot_gpr_29 + static_cast(10)); aot_gpr_31 = (0x08AF7BC0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7BC0u) goto L_08AF7BC0; AOT_REGCACHE_SYNC_OUT(); return; L_08AF7BC0: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { - (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0189_entry, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; + (void)([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF80D8, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem, ctx.pc, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0189_entry, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08AF7BC8; } @@ -8874,14 +8875,14 @@ L_08AF7BC8: aot_gpr_5 = (ctx.gpr[28] + static_cast(852)); aot_gpr_6 = (aot_gpr_29 + static_cast(11)); aot_gpr_31 = (0x08AF7BD8u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7BD8u) goto L_08AF7BD8; AOT_REGCACHE_SYNC_OUT(); return; L_08AF7BD8: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { - (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0189_entry, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; + (void)([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF80D8, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem, ctx.pc, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0189_entry, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08AF7BE0; } @@ -8889,14 +8890,14 @@ L_08AF7BE0: aot_gpr_5 = (ctx.gpr[28] + static_cast(780)); aot_gpr_6 = (aot_gpr_29 + static_cast(12)); aot_gpr_31 = (0x08AF7BF0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7BF0u) goto L_08AF7BF0; AOT_REGCACHE_SYNC_OUT(); return; L_08AF7BF0: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { - (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0189_entry, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; + (void)([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF80D8, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem, ctx.pc, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0189_entry, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08AF7BF8; } @@ -8904,14 +8905,14 @@ L_08AF7BF8: aot_gpr_5 = (ctx.gpr[28] + static_cast(860)); aot_gpr_6 = (aot_gpr_29 + static_cast(13)); aot_gpr_31 = (0x08AF7C08u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7C08u) goto L_08AF7C08; AOT_REGCACHE_SYNC_OUT(); return; L_08AF7C08: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { - (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0189_entry, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; + (void)([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF80D8, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem, ctx.pc, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0189_entry, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08AF7C10; } @@ -8919,14 +8920,14 @@ L_08AF7C10: aot_gpr_5 = (ctx.gpr[28] + static_cast(868)); aot_gpr_6 = (aot_gpr_29 + static_cast(14)); aot_gpr_31 = (0x08AF7C20u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7C20u) goto L_08AF7C20; AOT_REGCACHE_SYNC_OUT(); return; L_08AF7C20: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { - (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0189_entry, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; + (void)([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF80D8, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem, ctx.pc, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0189_entry, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08AF7C28; } @@ -8934,14 +8935,14 @@ L_08AF7C28: aot_gpr_5 = (ctx.gpr[28] + static_cast(880)); aot_gpr_6 = (aot_gpr_29 + static_cast(15)); aot_gpr_31 = (0x08AF7C38u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7C38u) goto L_08AF7C38; AOT_REGCACHE_SYNC_OUT(); return; L_08AF7C38: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { - (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0189_entry, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; + (void)([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF80D8, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem, ctx.pc, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0189_entry, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08AF7C40; } @@ -8949,14 +8950,14 @@ L_08AF7C40: aot_gpr_5 = (ctx.gpr[28] + static_cast(892)); aot_gpr_6 = (aot_gpr_29 + static_cast(16)); aot_gpr_31 = (0x08AF7C50u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7C50u) goto L_08AF7C50; AOT_REGCACHE_SYNC_OUT(); return; L_08AF7C50: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { - (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0189_entry, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; + (void)([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF80D8, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem, ctx.pc, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0189_entry, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08AF7C58; } @@ -8964,14 +8965,14 @@ L_08AF7C58: aot_gpr_5 = (ctx.gpr[28] + static_cast(900)); aot_gpr_6 = (aot_gpr_29 + static_cast(17)); aot_gpr_31 = (0x08AF7C68u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7C68u) goto L_08AF7C68; AOT_REGCACHE_SYNC_OUT(); return; L_08AF7C68: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { - (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0189_entry, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; + (void)([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF80D8, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem, ctx.pc, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0189_entry, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08AF7C70; } @@ -8979,14 +8980,14 @@ L_08AF7C70: aot_gpr_5 = (ctx.gpr[28] + static_cast(912)); aot_gpr_6 = (aot_gpr_29 + static_cast(18)); aot_gpr_31 = (0x08AF7C80u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7C80u) goto L_08AF7C80; AOT_REGCACHE_SYNC_OUT(); return; L_08AF7C80: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { - (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0189_entry, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; + (void)([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF80D8, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem, ctx.pc, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0189_entry, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08AF7C88; } @@ -8994,14 +8995,14 @@ L_08AF7C88: aot_gpr_5 = (ctx.gpr[28] + static_cast(924)); aot_gpr_6 = (aot_gpr_29 + static_cast(19)); aot_gpr_31 = (0x08AF7C98u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7C98u) goto L_08AF7C98; AOT_REGCACHE_SYNC_OUT(); return; L_08AF7C98: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { - (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0189_entry, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; + (void)([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF80D8, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem, ctx.pc, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0189_entry, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08AF7CA0; } @@ -9009,14 +9010,14 @@ L_08AF7CA0: aot_gpr_5 = (ctx.gpr[28] + static_cast(936)); aot_gpr_6 = (aot_gpr_29 + static_cast(20)); aot_gpr_31 = (0x08AF7CB0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7CB0u) goto L_08AF7CB0; AOT_REGCACHE_SYNC_OUT(); return; L_08AF7CB0: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { - (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0189_entry, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; + (void)([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF80D8, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem, ctx.pc, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0189_entry, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08AF7CB8; } @@ -9024,14 +9025,14 @@ L_08AF7CB8: aot_gpr_5 = (ctx.gpr[28] + static_cast(948)); aot_gpr_6 = (aot_gpr_29 + static_cast(21)); aot_gpr_31 = (0x08AF7CC8u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7CC8u) goto L_08AF7CC8; AOT_REGCACHE_SYNC_OUT(); return; L_08AF7CC8: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { - (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0189_entry, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; + (void)([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF80D8, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem, ctx.pc, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0189_entry, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08AF7CD0; } @@ -9039,14 +9040,14 @@ L_08AF7CD0: aot_gpr_5 = (ctx.gpr[28] + static_cast(964)); aot_gpr_6 = (aot_gpr_29 + static_cast(22)); aot_gpr_31 = (0x08AF7CE0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7CE0u) goto L_08AF7CE0; AOT_REGCACHE_SYNC_OUT(); return; L_08AF7CE0: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { - (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0189_entry, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; + (void)([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF80D8, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem, ctx.pc, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0189_entry, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08AF7CE8; } @@ -9054,14 +9055,14 @@ L_08AF7CE8: aot_gpr_5 = (ctx.gpr[28] + static_cast(980)); aot_gpr_6 = (aot_gpr_29 + static_cast(23)); aot_gpr_31 = (0x08AF7CF8u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7CF8u) goto L_08AF7CF8; AOT_REGCACHE_SYNC_OUT(); return; L_08AF7CF8: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { - (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0189_entry, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; + (void)([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF80D8, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem, ctx.pc, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0189_entry, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08AF7D00; } @@ -9069,14 +9070,14 @@ L_08AF7D00: aot_gpr_5 = (ctx.gpr[28] + static_cast(992)); aot_gpr_6 = (aot_gpr_29 + static_cast(24)); aot_gpr_31 = (0x08AF7D10u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7D10u) goto L_08AF7D10; AOT_REGCACHE_SYNC_OUT(); return; L_08AF7D10: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { - (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0189_entry, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; + (void)([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF80D8, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem, ctx.pc, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0189_entry, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08AF7D18; } @@ -9084,14 +9085,14 @@ L_08AF7D18: aot_gpr_5 = (ctx.gpr[28] + static_cast(1004)); aot_gpr_6 = (aot_gpr_29 + static_cast(25)); aot_gpr_31 = (0x08AF7D28u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7D28u) goto L_08AF7D28; AOT_REGCACHE_SYNC_OUT(); return; L_08AF7D28: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { - (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0189_entry, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; + (void)([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF80D8, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem, ctx.pc, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0189_entry, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08AF7D30; } @@ -9099,14 +9100,14 @@ L_08AF7D30: aot_gpr_5 = (ctx.gpr[28] + static_cast(1016)); aot_gpr_6 = (aot_gpr_29 + static_cast(26)); aot_gpr_31 = (0x08AF7D40u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7D40u) goto L_08AF7D40; AOT_REGCACHE_SYNC_OUT(); return; L_08AF7D40: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { - (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0189_entry, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; + (void)([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF80D8, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem, ctx.pc, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0189_entry, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08AF7D48; } @@ -9114,14 +9115,14 @@ L_08AF7D48: aot_gpr_5 = (ctx.gpr[28] + static_cast(1032)); aot_gpr_6 = (aot_gpr_29 + static_cast(27)); aot_gpr_31 = (0x08AF7D58u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7D58u) goto L_08AF7D58; AOT_REGCACHE_SYNC_OUT(); return; L_08AF7D58: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { - (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0189_entry, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; + (void)([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF80D8, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem, ctx.pc, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0189_entry, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08AF7D60; } @@ -9129,14 +9130,14 @@ L_08AF7D60: aot_gpr_5 = (ctx.gpr[28] + static_cast(1044)); aot_gpr_6 = (aot_gpr_29 + static_cast(28)); aot_gpr_31 = (0x08AF7D70u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7D70u) goto L_08AF7D70; AOT_REGCACHE_SYNC_OUT(); return; L_08AF7D70: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { - (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0189_entry, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; + (void)([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF80D8, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem, ctx.pc, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0189_entry, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08AF7D78; } @@ -9144,14 +9145,14 @@ L_08AF7D78: aot_gpr_5 = (ctx.gpr[28] + static_cast(1056)); aot_gpr_6 = (aot_gpr_29 + static_cast(29)); aot_gpr_31 = (0x08AF7D88u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7D88u) goto L_08AF7D88; AOT_REGCACHE_SYNC_OUT(); return; L_08AF7D88: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { - (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0189_entry, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; + (void)([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF80D8, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem, ctx.pc, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0189_entry, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08AF7D90; } @@ -9159,14 +9160,14 @@ L_08AF7D90: aot_gpr_5 = (ctx.gpr[28] + static_cast(1068)); aot_gpr_6 = (aot_gpr_29 + static_cast(30)); aot_gpr_31 = (0x08AF7DA0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7DA0u) goto L_08AF7DA0; AOT_REGCACHE_SYNC_OUT(); return; L_08AF7DA0: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { - (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0189_entry, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; + (void)([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF80D8, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem, ctx.pc, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0189_entry, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08AF7DA8; } @@ -9174,14 +9175,14 @@ L_08AF7DA8: aot_gpr_5 = (ctx.gpr[28] + static_cast(1080)); aot_gpr_6 = (aot_gpr_29 + static_cast(31)); aot_gpr_31 = (0x08AF7DB8u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7DB8u) goto L_08AF7DB8; AOT_REGCACHE_SYNC_OUT(); return; L_08AF7DB8: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { - (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0189_entry, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; + (void)([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF80D8, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem, ctx.pc, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0189_entry, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08AF7DC0; } @@ -9189,14 +9190,14 @@ L_08AF7DC0: aot_gpr_5 = (ctx.gpr[28] + static_cast(1088)); aot_gpr_6 = (aot_gpr_29 + static_cast(32)); aot_gpr_31 = (0x08AF7DD0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7DD0u) goto L_08AF7DD0; AOT_REGCACHE_SYNC_OUT(); return; L_08AF7DD0: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { - (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0189_entry, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; + (void)([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF80D8, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem, ctx.pc, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0189_entry, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08AF7DD8; } @@ -9204,14 +9205,14 @@ L_08AF7DD8: aot_gpr_5 = (ctx.gpr[28] + static_cast(1096)); aot_gpr_6 = (aot_gpr_29 + static_cast(33)); aot_gpr_31 = (0x08AF7DE8u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7DE8u) goto L_08AF7DE8; AOT_REGCACHE_SYNC_OUT(); return; L_08AF7DE8: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { - (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0189_entry, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; + (void)([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF80D8, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem, ctx.pc, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0189_entry, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08AF7DF0; } @@ -9219,14 +9220,14 @@ L_08AF7DF0: aot_gpr_5 = (ctx.gpr[28] + static_cast(1112)); aot_gpr_6 = (aot_gpr_29 + static_cast(34)); aot_gpr_31 = (0x08AF7E00u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7E00u) goto L_08AF7E00; AOT_REGCACHE_SYNC_OUT(); return; L_08AF7E00: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { - (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0189_entry, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; + (void)([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF80D8, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem, ctx.pc, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0189_entry, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08AF7E08; } @@ -9234,21 +9235,21 @@ L_08AF7E08: aot_gpr_5 = (ctx.gpr[28] + static_cast(1124)); aot_gpr_6 = (aot_gpr_29 + static_cast(35)); aot_gpr_31 = (0x08AF7E18u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7E18u) goto L_08AF7E18; AOT_REGCACHE_SYNC_OUT(); return; L_08AF7E18: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { - (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0189_entry, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; + (void)([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF80D8, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem, ctx.pc, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0189_entry, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08AF7E20; } L_08AF7E20: aot_gpr_5 = (2232u << 16u); aot_gpr_6 = (aot_gpr_29 + static_cast(36)); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AF7E34u); aot_gpr_5 = (aot_gpr_5 + static_cast(30160)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7E34u) goto L_08AF7E34; @@ -9257,7 +9258,7 @@ L_08AF7E34: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { - (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0189_entry, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; + (void)([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF80D8, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem, ctx.pc, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0189_entry, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08AF7E3C; } @@ -9265,14 +9266,14 @@ L_08AF7E3C: aot_gpr_5 = (ctx.gpr[28] + static_cast(1140)); aot_gpr_6 = (aot_gpr_29 + static_cast(37)); aot_gpr_31 = (0x08AF7E4Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7E4Cu) goto L_08AF7E4C; AOT_REGCACHE_SYNC_OUT(); return; L_08AF7E4C: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { - (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0189_entry, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; + (void)([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF80D8, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem, ctx.pc, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0189_entry, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08AF7E54; } @@ -9280,21 +9281,21 @@ L_08AF7E54: aot_gpr_5 = (ctx.gpr[28] + static_cast(1156)); aot_gpr_6 = (aot_gpr_29 + static_cast(38)); aot_gpr_31 = (0x08AF7E64u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7E64u) goto L_08AF7E64; AOT_REGCACHE_SYNC_OUT(); return; L_08AF7E64: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { - (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0189_entry, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; + (void)([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF80D8, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem, ctx.pc, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0189_entry, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08AF7E6C; } L_08AF7E6C: aot_gpr_5 = (2232u << 16u); aot_gpr_6 = (aot_gpr_29 + static_cast(39)); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AF7E80u); aot_gpr_5 = (aot_gpr_5 + static_cast(30180)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7E80u) goto L_08AF7E80; @@ -9303,14 +9304,14 @@ L_08AF7E80: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { - (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0189_entry, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; + (void)([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF80D8, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem, ctx.pc, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0189_entry, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08AF7E88; } L_08AF7E88: aot_gpr_5 = (2232u << 16u); aot_gpr_6 = (aot_gpr_29 + static_cast(40)); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AF7E9Cu); aot_gpr_5 = (aot_gpr_5 + static_cast(30200)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7E9Cu) goto L_08AF7E9C; @@ -9319,14 +9320,14 @@ L_08AF7E9C: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { - (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0189_entry, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; + (void)([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF80D8, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem, ctx.pc, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0189_entry, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08AF7EA4; } L_08AF7EA4: aot_gpr_5 = (2232u << 16u); aot_gpr_6 = (aot_gpr_29 + static_cast(41)); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AF7EB8u); aot_gpr_5 = (aot_gpr_5 + static_cast(30220)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7EB8u) goto L_08AF7EB8; @@ -9335,7 +9336,7 @@ L_08AF7EB8: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { - (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0189_entry, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; + (void)([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF80D8, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem, ctx.pc, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0189_entry, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08AF7EC0; } @@ -9343,14 +9344,14 @@ L_08AF7EC0: aot_gpr_5 = (ctx.gpr[28] + static_cast(1172)); aot_gpr_6 = (aot_gpr_29 + static_cast(42)); aot_gpr_31 = (0x08AF7ED0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7ED0u) goto L_08AF7ED0; AOT_REGCACHE_SYNC_OUT(); return; L_08AF7ED0: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { - (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0189_entry, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; + (void)([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF80D8, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem, ctx.pc, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0189_entry, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08AF7ED8; } @@ -9358,14 +9359,14 @@ L_08AF7ED8: aot_gpr_5 = (ctx.gpr[28] + static_cast(1188)); aot_gpr_6 = (aot_gpr_29 + static_cast(43)); aot_gpr_31 = (0x08AF7EE8u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7EE8u) goto L_08AF7EE8; AOT_REGCACHE_SYNC_OUT(); return; L_08AF7EE8: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { - (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0189_entry, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; + (void)([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF80D8, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem, ctx.pc, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0189_entry, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08AF7EF0; } @@ -9373,14 +9374,14 @@ L_08AF7EF0: aot_gpr_5 = (ctx.gpr[28] + static_cast(1200)); aot_gpr_6 = (aot_gpr_29 + static_cast(44)); aot_gpr_31 = (0x08AF7F00u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7F00u) goto L_08AF7F00; AOT_REGCACHE_SYNC_OUT(); return; L_08AF7F00: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { - (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0189_entry, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; + (void)([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF80D8, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem, ctx.pc, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0189_entry, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08AF7F08; } @@ -9388,14 +9389,14 @@ L_08AF7F08: aot_gpr_5 = (ctx.gpr[28] + static_cast(1208)); aot_gpr_6 = (aot_gpr_29 + static_cast(45)); aot_gpr_31 = (0x08AF7F18u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7F18u) goto L_08AF7F18; AOT_REGCACHE_SYNC_OUT(); return; L_08AF7F18: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { - (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0189_entry, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; + (void)([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF80D8, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem, ctx.pc, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0189_entry, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08AF7F20; } @@ -9403,14 +9404,14 @@ L_08AF7F20: aot_gpr_5 = (ctx.gpr[28] + static_cast(1216)); aot_gpr_6 = (aot_gpr_29 + static_cast(46)); aot_gpr_31 = (0x08AF7F30u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7F30u) goto L_08AF7F30; AOT_REGCACHE_SYNC_OUT(); return; L_08AF7F30: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { - (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0189_entry, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; + (void)([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF80D8, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem, ctx.pc, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0189_entry, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08AF7F38; } @@ -9418,14 +9419,14 @@ L_08AF7F38: aot_gpr_5 = (ctx.gpr[28] + static_cast(1220)); aot_gpr_6 = (aot_gpr_29 + static_cast(47)); aot_gpr_31 = (0x08AF7F48u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7F48u) goto L_08AF7F48; AOT_REGCACHE_SYNC_OUT(); return; L_08AF7F48: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { - (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0189_entry, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; + (void)([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF80D8, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem, ctx.pc, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0189_entry, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08AF7F50; } @@ -9433,14 +9434,14 @@ L_08AF7F50: aot_gpr_5 = (ctx.gpr[28] + static_cast(1236)); aot_gpr_6 = (aot_gpr_29 + static_cast(48)); aot_gpr_31 = (0x08AF7F60u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7F60u) goto L_08AF7F60; AOT_REGCACHE_SYNC_OUT(); return; L_08AF7F60: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { - (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0189_entry, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; + (void)([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF80D8, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem, ctx.pc, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0189_entry, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08AF7F68; } @@ -9448,14 +9449,14 @@ L_08AF7F68: aot_gpr_5 = (ctx.gpr[28] + static_cast(1244)); aot_gpr_6 = (aot_gpr_29 + static_cast(49)); aot_gpr_31 = (0x08AF7F78u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7F78u) goto L_08AF7F78; AOT_REGCACHE_SYNC_OUT(); return; L_08AF7F78: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { - (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0189_entry, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; + (void)([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF80D8, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem, ctx.pc, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0189_entry, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08AF7F80; } @@ -9463,14 +9464,14 @@ L_08AF7F80: aot_gpr_5 = (ctx.gpr[28] + static_cast(1252)); aot_gpr_6 = (aot_gpr_29 + static_cast(50)); aot_gpr_31 = (0x08AF7F90u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7F90u) goto L_08AF7F90; AOT_REGCACHE_SYNC_OUT(); return; L_08AF7F90: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { - (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0189_entry, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; + (void)([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF80D8, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem, ctx.pc, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0189_entry, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08AF7F98; } @@ -9478,14 +9479,14 @@ L_08AF7F98: aot_gpr_5 = (ctx.gpr[28] + static_cast(1260)); aot_gpr_6 = (aot_gpr_29 + static_cast(51)); aot_gpr_31 = (0x08AF7FA8u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7FA8u) goto L_08AF7FA8; AOT_REGCACHE_SYNC_OUT(); return; L_08AF7FA8: { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { - (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0189_entry, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; + (void)([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AF80D8, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem, ctx.pc, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0189_entry, 189u, 15u, 0x08AF80D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08AF7FB0; } @@ -9504,11 +9505,11 @@ L_08AF7FC4: ctx.gpr[17] = (aot_gpr_29 + static_cast(56)); aot_gpr_31 = (0x08AF7FDCu); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7FDCu) goto L_08AF7FDC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF7FDCu) goto L_08AF7FDC; AOT_REGCACHE_SYNC_OUT(); return; L_08AF7FDC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(68))); - ctx.gpr[18] = (aot_gpr_29 + ctx.gpr[2]); + ctx.gpr[18] = (aot_gpr_29 + aot_gpr_2); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); ctx.gpr[18] = (ctx.gpr[18] + static_cast(56)); ctx.gpr[17] = (ctx.gpr[18] - ctx.gpr[17]); diff --git a/profiles/vcs/generated/generated_unit_0189.cpp b/profiles/vcs/generated/generated_unit_0189.cpp index fb9bd72..7e0b2ae 100644 --- a/profiles/vcs/generated/generated_unit_0189.cpp +++ b/profiles/vcs/generated/generated_unit_0189.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0189[4096] = { }; void recomp_unit_0189_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,6,28,31 fprs=12,13,14,20 gpr_occ=3686 fpr_occ=1254 gpr_total=4900 fpr_total=2061 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,6,31,7 fprs=12,13,14,20 gpr_occ=3983 fpr_occ=1260 gpr_total=5447 fpr_total=2067 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_6 = ctx.gpr[6]; - std::uint32_t aot_gpr_28 = ctx.gpr[28]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; + std::uint32_t aot_gpr_7 = ctx.gpr[7]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_14 = ctx.fpr[14]; float aot_fpr_20 = ctx.fpr[20]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[6] = aot_gpr_6; ctx.gpr[28] = aot_gpr_28; ctx.gpr[31] = aot_gpr_31; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[20] = aot_fpr_20; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_28 = ctx.gpr[28]; aot_gpr_31 = ctx.gpr[31]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_20 = ctx.fpr[20]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[6] = aot_gpr_6; ctx.gpr[31] = aot_gpr_31; ctx.gpr[7] = aot_gpr_7; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[20] = aot_fpr_20; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_7 = ctx.gpr[7]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_20 = ctx.fpr[20]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -824,7 +825,7 @@ L_08AF8074: aot_gpr_5 = (aot_gpr_5 + static_cast(56)); aot_gpr_4 = (aot_gpr_29 + static_cast(64)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(77), static_cast(0u)); - ctx.gpr[7] = (aot_gpr_29 + static_cast(77)); + aot_gpr_7 = (aot_gpr_29 + static_cast(77)); aot_gpr_31 = (0x08AF80A0u); aot_gpr_6 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 449u, 0x08AF65F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF80A0u) goto L_08AF80A0; @@ -847,7 +848,7 @@ L_08AF80AC: L_08AF80B8: aot_gpr_31 = (0x08AF80C0u); aot_gpr_4 = (ctx.gpr[16] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF80C0u) goto L_08AF80C0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF80C0u) goto L_08AF80C0; AOT_REGCACHE_SYNC_OUT(); return; L_08AF80C0: { const bool branch_taken = 0u == 0u; @@ -858,7 +859,7 @@ L_08AF80C0: goto L_08AF80C8; } L_08AF80C8: - aot_gpr_5 = (aot_gpr_28 + static_cast(632)); + aot_gpr_5 = (ctx.gpr[28] + static_cast(632)); aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AF80D8u); aot_gpr_6 = (aot_gpr_29 | 0u); @@ -882,7 +883,7 @@ L_08AF80F0: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); aot_gpr_31 = (0x08AF8100u); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(1324), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(1324), aot_gpr_5); goto L_08AF8398; L_08AF8100: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -897,19 +898,19 @@ L_08AF810C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), ctx.gpr[16]); ctx.gpr[16] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[8]); - ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); + aot_gpr_7 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); ctx.gpr[10] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_4 = (ctx.gpr[9] & 255u); - ctx.gpr[7] = (ctx.gpr[7] - ctx.gpr[10]); - ctx.gpr[9] = (static_cast(static_cast(ctx.gpr[7]) >> 2u)); + aot_gpr_7 = (aot_gpr_7 - ctx.gpr[10]); + ctx.gpr[9] = (static_cast(static_cast(aot_gpr_7) >> 2u)); ctx.gpr[9] = (ctx.gpr[9] >> 30u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), ctx.gpr[17]); - ctx.gpr[17] = (ctx.gpr[7] + ctx.gpr[9]); + ctx.gpr[17] = (aot_gpr_7 + ctx.gpr[9]); ctx.gpr[17] = (static_cast(static_cast(ctx.gpr[17]) >> 2u)); - ctx.gpr[7] = (ctx.gpr[17] < ctx.gpr[8] ? 1u : 0u); + aot_gpr_7 = (ctx.gpr[17] < ctx.gpr[8] ? 1u : 0u); { const std::uint32_t aot_run_words[5]{ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(36), aot_run_words); } - { const bool branch_taken = ctx.gpr[7] == 0u; + { const bool branch_taken = aot_gpr_7 == 0u; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); if (branch_taken) { goto L_08AF816C; @@ -917,18 +918,18 @@ L_08AF810C: goto L_08AF8160; } L_08AF8160: - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); { const bool branch_taken = 0u == 0u; - ctx.gpr[17] = (ctx.gpr[17] + ctx.gpr[7]); + ctx.gpr[17] = (ctx.gpr[17] + aot_gpr_7); if (branch_taken) { goto L_08AF8178; } goto L_08AF816C; } L_08AF816C: - ctx.gpr[7] = (aot_gpr_29 + static_cast(4)); - ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(0))); - ctx.gpr[17] = (ctx.gpr[17] + ctx.gpr[7]); + aot_gpr_7 = (aot_gpr_29 + static_cast(4)); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_7 + static_cast(0))); + ctx.gpr[17] = (ctx.gpr[17] + aot_gpr_7); goto L_08AF8178; L_08AF8178: { const bool branch_taken = ctx.gpr[17] == 0u; @@ -952,7 +953,7 @@ L_08AF8198: aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(12), aot_run_words); aot_gpr_5 = aot_run_words[0]; aot_gpr_6 = aot_run_words[1]; - ctx.gpr[7] = aot_run_words[2]; + aot_gpr_7 = aot_run_words[2]; } ctx.gpr[19] = (ctx.gpr[2] | 0u); { const bool branch_taken = ctx.gpr[19] != 0u; @@ -967,7 +968,7 @@ L_08AF81B0: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_5); aot_gpr_31 = (0x08AF81C4u); - aot_gpr_4 = (ctx.gpr[7] | 0u); + aot_gpr_4 = (aot_gpr_7 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 289u, 0x08B65438u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF81C4u) goto L_08AF81C4; AOT_REGCACHE_SYNC_OUT(); return; L_08AF81C4: @@ -977,9 +978,9 @@ L_08AF81C4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); goto L_08AF81D4; L_08AF81D4: - ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); + aot_gpr_7 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); ctx.gpr[18] = (ctx.gpr[19] | 0u); - { const bool branch_taken = ctx.gpr[7] == aot_gpr_5; + { const bool branch_taken = aot_gpr_7 == aot_gpr_5; aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(8), static_cast(0u)); if (branch_taken) { goto L_08AF821C; @@ -989,16 +990,16 @@ L_08AF81D4: L_08AF81E4: ctx.gpr[8] = (ctx.gpr[19] | 0u); if (ctx.gpr[8] == 0u) { - ctx.gpr[7] = (ctx.gpr[7] + static_cast(4)); + aot_gpr_7 = (aot_gpr_7 + static_cast(4)); goto L_08AF8214; } goto L_08AF81F0; L_08AF81F0: - ctx.gpr[9] = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(0))); + ctx.gpr[9] = (aot_mem.aot_direct_load32(aot_gpr_7 + static_cast(0))); aot_mem.aot_direct_store32(ctx.gpr[8] + static_cast(0), ctx.gpr[9]); ctx.gpr[8] = (ctx.gpr[9] | 0u); if (ctx.gpr[8] == 0u) { - ctx.gpr[7] = (ctx.gpr[7] + static_cast(4)); + aot_gpr_7 = (aot_gpr_7 + static_cast(4)); goto L_08AF8214; } goto L_08AF8204; @@ -1006,10 +1007,10 @@ L_08AF8204: ctx.gpr[9] = (aot_mem.aot_direct_load32(ctx.gpr[8] + static_cast(0))); ctx.gpr[9] = (ctx.gpr[9] + static_cast(1)); aot_mem.aot_direct_store32(ctx.gpr[8] + static_cast(0), ctx.gpr[9]); - ctx.gpr[7] = (ctx.gpr[7] + static_cast(4)); + aot_gpr_7 = (aot_gpr_7 + static_cast(4)); goto L_08AF8214; L_08AF8214: - { const bool branch_taken = ctx.gpr[7] != aot_gpr_5; + { const bool branch_taken = aot_gpr_7 != aot_gpr_5; ctx.gpr[19] = (ctx.gpr[19] + static_cast(4)); if (branch_taken) { goto L_08AF81E4; @@ -1017,9 +1018,9 @@ L_08AF8214: goto L_08AF821C; } L_08AF821C: - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); ctx.gpr[8] = (0u | 1u); - { const bool branch_taken = ctx.gpr[7] != ctx.gpr[8]; + { const bool branch_taken = aot_gpr_7 != ctx.gpr[8]; // nop if (branch_taken) { goto L_08AF8264; @@ -1027,8 +1028,8 @@ L_08AF821C: goto L_08AF822C; } L_08AF822C: - ctx.gpr[7] = (ctx.gpr[19] | 0u); - { const bool branch_taken = ctx.gpr[7] == 0u; + aot_gpr_7 = (ctx.gpr[19] | 0u); + { const bool branch_taken = aot_gpr_7 == 0u; // nop if (branch_taken) { goto L_08AF8258; @@ -1037,9 +1038,9 @@ L_08AF822C: } L_08AF8238: aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); - aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(0), aot_gpr_6); - ctx.gpr[7] = (aot_gpr_6 | 0u); - { const bool branch_taken = ctx.gpr[7] == 0u; + aot_mem.aot_direct_store32(aot_gpr_7 + static_cast(0), aot_gpr_6); + aot_gpr_7 = (aot_gpr_6 | 0u); + { const bool branch_taken = aot_gpr_7 == 0u; // nop if (branch_taken) { goto L_08AF8258; @@ -1047,9 +1048,9 @@ L_08AF8238: goto L_08AF824C; } L_08AF824C: - aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(0))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_7 + static_cast(0))); aot_gpr_6 = (aot_gpr_6 + static_cast(1)); - aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(0), aot_gpr_6); + aot_mem.aot_direct_store32(aot_gpr_7 + static_cast(0), aot_gpr_6); goto L_08AF8258; L_08AF8258: ctx.gpr[19] = (ctx.gpr[19] + static_cast(4)); @@ -1061,7 +1062,7 @@ L_08AF8258: goto L_08AF8264; } L_08AF8264: - { const bool branch_taken = ctx.gpr[7] == 0u; + { const bool branch_taken = aot_gpr_7 == 0u; aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(9), static_cast(0u)); if (branch_taken) { goto L_08AF82A4; @@ -1071,7 +1072,7 @@ L_08AF8264: L_08AF826C: ctx.gpr[8] = (ctx.gpr[19] | 0u); if (ctx.gpr[8] == 0u) { - ctx.gpr[7] = (ctx.gpr[7] + static_cast(-1)); + aot_gpr_7 = (aot_gpr_7 + static_cast(-1)); goto L_08AF829C; } goto L_08AF8278; @@ -1080,7 +1081,7 @@ L_08AF8278: aot_mem.aot_direct_store32(ctx.gpr[8] + static_cast(0), ctx.gpr[9]); ctx.gpr[8] = (ctx.gpr[9] | 0u); if (ctx.gpr[8] == 0u) { - ctx.gpr[7] = (ctx.gpr[7] + static_cast(-1)); + aot_gpr_7 = (aot_gpr_7 + static_cast(-1)); goto L_08AF829C; } goto L_08AF828C; @@ -1088,10 +1089,10 @@ L_08AF828C: ctx.gpr[9] = (aot_mem.aot_direct_load32(ctx.gpr[8] + static_cast(0))); ctx.gpr[9] = (ctx.gpr[9] + static_cast(1)); aot_mem.aot_direct_store32(ctx.gpr[8] + static_cast(0), ctx.gpr[9]); - ctx.gpr[7] = (ctx.gpr[7] + static_cast(-1)); + aot_gpr_7 = (aot_gpr_7 + static_cast(-1)); goto L_08AF829C; L_08AF829C: - { const bool branch_taken = ctx.gpr[7] != 0u; + { const bool branch_taken = aot_gpr_7 != 0u; ctx.gpr[19] = (ctx.gpr[19] + static_cast(4)); if (branch_taken) { goto L_08AF826C; @@ -1127,18 +1128,18 @@ L_08AF82C0: } goto L_08AF82CC; L_08AF82CC: - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(0), ctx.gpr[7]); - aot_gpr_6 = (ctx.gpr[7] | 0u); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(0), aot_gpr_7); + aot_gpr_6 = (aot_gpr_7 | 0u); if (aot_gpr_6 == 0u) { aot_gpr_4 = (aot_gpr_4 + static_cast(4)); goto L_08AF82F0; } goto L_08AF82E0; L_08AF82E0: - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); - ctx.gpr[7] = (ctx.gpr[7] + static_cast(1)); - aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(0), ctx.gpr[7]); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); + aot_gpr_7 = (aot_gpr_7 + static_cast(1)); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(0), aot_gpr_7); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); goto L_08AF82F0; L_08AF82F0: @@ -1194,7 +1195,7 @@ L_08AF8328: L_08AF8338: aot_gpr_31 = (0x08AF8340u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF8340u) goto L_08AF8340; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF8340u) goto L_08AF8340; AOT_REGCACHE_SYNC_OUT(); return; L_08AF8340: ctx.gpr[21] = (ctx.gpr[21] + static_cast(4)); @@ -1221,7 +1222,7 @@ L_08AF8350: L_08AF8358: aot_gpr_31 = (0x08AF8360u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF8360u) goto L_08AF8360; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF8360u) goto L_08AF8360; AOT_REGCACHE_SYNC_OUT(); return; L_08AF8360: aot_gpr_4 = (ctx.gpr[17] << 2u); @@ -1348,7 +1349,7 @@ L_08AF8454: aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_4 = (aot_gpr_4 + static_cast(304)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(4), static_cast(0u)); - ctx.gpr[7] = (aot_gpr_29 + static_cast(4)); + aot_gpr_7 = (aot_gpr_29 + static_cast(4)); aot_gpr_6 = (aot_gpr_29 | 0u); ctx.gpr[8] = (0u | 1u); aot_gpr_31 = (0x08AF8478u); @@ -1372,8 +1373,8 @@ L_08AF848C: aot_gpr_5 = (0u | 0u); aot_gpr_4 = (aot_gpr_4 + static_cast(8)); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - jump_target = ctx.gpr[7]; + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); + jump_target = aot_gpr_7; aot_gpr_31 = (0x08AF84A8u); aot_gpr_4 = (ctx.gpr[16] + aot_gpr_6); ctx.pc = jump_target; @@ -1403,7 +1404,7 @@ L_08AF84B4: L_08AF84C4: aot_gpr_31 = (0x08AF84CCu); aot_gpr_4 = (ctx.gpr[16] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF84CCu) goto L_08AF84CC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF84CCu) goto L_08AF84CC; AOT_REGCACHE_SYNC_OUT(); return; L_08AF84CC: aot_gpr_31 = (0x08AF84D4u); @@ -1412,7 +1413,7 @@ L_08AF84CC: AOT_REGCACHE_SYNC_OUT(); return; L_08AF84D4: aot_gpr_31 = (0x08AF84DCu); - aot_gpr_4 = (aot_gpr_28 + static_cast(1420)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(1420)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0170_entry, 170u, 584u, 0x08AAECA4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF84DCu) goto L_08AF84DC; AOT_REGCACHE_SYNC_OUT(); return; L_08AF84DC: @@ -1421,7 +1422,7 @@ L_08AF84DC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0170_entry, 170u, 632u, 0x08AAEF5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF84E4u) goto L_08AF84E4; AOT_REGCACHE_SYNC_OUT(); return; L_08AF84E4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(1364))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1364))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -1430,40 +1431,40 @@ L_08AF84E4: goto L_08AF84F0; } L_08AF84F0: - aot_gpr_4 = (aot_gpr_28 + static_cast(1432)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(1432)); aot_gpr_31 = (0x08AF84FCu); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 398u, 0x08A65C4Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF84FCu) goto L_08AF84FC; AOT_REGCACHE_SYNC_OUT(); return; L_08AF84FC: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(1364), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(1364), ctx.gpr[2]); goto L_08AF8500; L_08AF8500: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(1364))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(1372))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1364))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1372))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); { const bool branch_taken = aot_gpr_5 != 0u; - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(1360), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(1360), aot_gpr_4); if (branch_taken) { goto L_08AF8524; } goto L_08AF8514; } L_08AF8514: - aot_gpr_4 = (aot_gpr_28 + static_cast(1448)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(1448)); aot_gpr_31 = (0x08AF8520u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 398u, 0x08A65C4Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF8520u) goto L_08AF8520; AOT_REGCACHE_SYNC_OUT(); return; L_08AF8520: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(1372), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(1372), ctx.gpr[2]); goto L_08AF8524; L_08AF8524: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(1372))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(1380))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1372))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1380))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); { const bool branch_taken = aot_gpr_5 != 0u; - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(1368), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(1368), aot_gpr_4); if (branch_taken) { goto L_08AF854C; } @@ -1477,53 +1478,53 @@ L_08AF8538: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 398u, 0x08A65C4Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF8548u) goto L_08AF8548; AOT_REGCACHE_SYNC_OUT(); return; L_08AF8548: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(1380), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(1380), ctx.gpr[2]); goto L_08AF854C; L_08AF854C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(1380))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(1388))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1380))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1388))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); { const bool branch_taken = aot_gpr_5 != 0u; - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(1376), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(1376), aot_gpr_4); if (branch_taken) { goto L_08AF8570; } goto L_08AF8560; } L_08AF8560: - aot_gpr_4 = (aot_gpr_28 + static_cast(1456)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(1456)); aot_gpr_31 = (0x08AF856Cu); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 398u, 0x08A65C4Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF856Cu) goto L_08AF856C; AOT_REGCACHE_SYNC_OUT(); return; L_08AF856C: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(1388), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(1388), ctx.gpr[2]); goto L_08AF8570; L_08AF8570: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(1388))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(1396))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1388))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1396))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); { const bool branch_taken = aot_gpr_5 != 0u; - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(1384), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(1384), aot_gpr_4); if (branch_taken) { goto L_08AF8594; } goto L_08AF8584; } L_08AF8584: - aot_gpr_4 = (aot_gpr_28 + static_cast(1468)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(1468)); aot_gpr_31 = (0x08AF8590u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 398u, 0x08A65C4Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF8590u) goto L_08AF8590; AOT_REGCACHE_SYNC_OUT(); return; L_08AF8590: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(1396), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(1396), ctx.gpr[2]); goto L_08AF8594; L_08AF8594: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(1396))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1396))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_31 = (0x08AF85A4u); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(1392), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(1392), aot_gpr_4); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0170_entry, 170u, 642u, 0x08AAEFE8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF85A4u) goto L_08AF85A4; AOT_REGCACHE_SYNC_OUT(); return; L_08AF85A4: @@ -1564,7 +1565,7 @@ L_08AF85E8: ctx.gpr[16] = (ctx.gpr[17] | 0u); goto L_08AF85EC; L_08AF85EC: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(1340), ctx.gpr[16]); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(1340), ctx.gpr[16]); ctx.gpr[16] = (0u | 0u); aot_gpr_31 = (0x08AF85FCu); aot_gpr_4 = (0u | 17888u); @@ -1590,7 +1591,7 @@ L_08AF8618: ctx.gpr[16] = (ctx.gpr[17] | 0u); goto L_08AF861C; L_08AF861C: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(1344), ctx.gpr[16]); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(1344), ctx.gpr[16]); ctx.gpr[17] = (0u | 0u); aot_gpr_31 = (0x08AF862Cu); aot_gpr_4 = (0u | 96u); @@ -1617,7 +1618,7 @@ L_08AF864C: ctx.gpr[17] = (ctx.gpr[16] | 0u); goto L_08AF8650; L_08AF8650: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(1348), ctx.gpr[17]); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(1348), ctx.gpr[17]); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); ctx.gpr[16] = aot_run_words[0]; @@ -1699,7 +1700,7 @@ L_08AF8700: aot_gpr_4 = (17352u << 16u); aot_fpr_14 = std::bit_cast(aot_gpr_4); ctx.fpr[15] = std::bit_cast(aot_gpr_5); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(1324))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1324))); aot_fpr_13 = aot_fpr_13 + aot_fpr_14; aot_fpr_12 = ctx.fpr[22] + aot_fpr_12; aot_gpr_5 = (0u | 128u); @@ -1722,19 +1723,19 @@ L_08AF8700: } L_08AF8758: ctx.fpr[26] = std::bit_cast(0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(1344))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1344))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), std::bit_cast(ctx.fpr[26])); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[24])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), std::bit_cast(ctx.fpr[26])); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[22])); aot_gpr_6 = (aot_gpr_29 + static_cast(4)); - ctx.gpr[7] = (aot_gpr_29 + static_cast(8)); + aot_gpr_7 = (aot_gpr_29 + static_cast(8)); aot_gpr_31 = (0x08AF8780u); aot_gpr_5 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0004_entry, 4u, 801u, 0x08817F64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF8780u) goto L_08AF8780; AOT_REGCACHE_SYNC_OUT(); return; L_08AF8780: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(1324))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1324))); aot_gpr_5 = (aot_gpr_4 + ctx.gpr[17]); aot_gpr_5 = (aot_gpr_5 + ctx.gpr[18]); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); @@ -1928,7 +1929,7 @@ L_08AF88EC: ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08AF8918: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(1324))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1324))); { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_5 = (17664u << 16u); if (branch_taken) { @@ -1945,7 +1946,7 @@ L_08AF8924: aot_fpr_13 = aot_fpr_13 + aot_fpr_14; ctx.fpr[16] = std::bit_cast(aot_gpr_5); aot_fpr_12 = aot_fpr_12 + ctx.fpr[15]; - ctx.gpr[7] = (0u | 128u); + aot_gpr_7 = (0u | 128u); { const float fs = aot_fpr_13; const float ft = ctx.fpr[16]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } { const float fs = aot_fpr_12; const float ft = ctx.fpr[16]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_13 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_13)); @@ -1956,7 +1957,7 @@ L_08AF8924: aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); aot_gpr_5 = (aot_gpr_5 + ctx.gpr[8]); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(4108))); - { const bool branch_taken = aot_gpr_5 != ctx.gpr[7]; + { const bool branch_taken = aot_gpr_5 != aot_gpr_7; // nop if (branch_taken) { goto L_08AF8990; @@ -2004,11 +2005,11 @@ L_08AF89B0: aot_fpr_14 = std::bit_cast(0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), std::bit_cast(aot_fpr_14)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), std::bit_cast(aot_fpr_14)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(1344))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1344))); aot_gpr_5 = (aot_gpr_29 + static_cast(64)); aot_gpr_6 = (aot_gpr_29 + static_cast(68)); aot_gpr_31 = (0x08AF89E0u); - ctx.gpr[7] = (aot_gpr_29 + static_cast(72)); + aot_gpr_7 = (aot_gpr_29 + static_cast(72)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0004_entry, 4u, 801u, 0x08817F64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF89E0u) goto L_08AF89E0; AOT_REGCACHE_SYNC_OUT(); return; L_08AF89E0: @@ -2042,16 +2043,16 @@ L_08AF89E0: { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_13), std::bit_cast(aot_fpr_14)}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(128), aot_run_words); } aot_gpr_6 = (aot_gpr_29 + static_cast(128)); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(84))); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(84))); { std::uint32_t aot_run_words[3]{}; - aot_mem.aot_direct_load32_block(ctx.gpr[7] + static_cast(4), aot_run_words); + aot_mem.aot_direct_load32_block(aot_gpr_7 + static_cast(4), aot_run_words); aot_fpr_12 = std::bit_cast(aot_run_words[0]); aot_fpr_13 = std::bit_cast(aot_run_words[1]); aot_fpr_14 = std::bit_cast(aot_run_words[2]); } { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_13), std::bit_cast(aot_fpr_14)}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(144), aot_run_words); } - ctx.gpr[7] = (aot_gpr_29 + static_cast(144)); + aot_gpr_7 = (aot_gpr_29 + static_cast(144)); ctx.gpr[8] = (16256u << 16u); aot_fpr_12 = std::bit_cast(ctx.gpr[8]); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); @@ -2120,7 +2121,7 @@ L_08AF89E0: { const float fs = aot_fpr_13; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } ctx.gpr[8] = (std::bit_cast(aot_fpr_13)); ctx.set_vfpu_scalar_bits_ct<1u>(ctx.gpr[8]); - { const std::uint32_t vfpu_address = ctx.gpr[7] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_7 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -2131,7 +2132,7 @@ L_08AF89E0: ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 1u, 3u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = ctx.gpr[7] + static_cast(0); + const std::uint32_t vfpu_address = aot_gpr_7 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); @@ -2191,7 +2192,7 @@ L_08AF89E0: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = ctx.gpr[7] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_7 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -2229,11 +2230,11 @@ L_08AF89E0: L_08AF8B48: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); aot_gpr_4 = (14851u << 16u); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7760))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7760))); aot_gpr_4 = (aot_gpr_4 | 4719u); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), std::bit_cast(ctx.fpr[26])); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7660))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[26] = std::bit_cast(0x7FC00000u); else ctx.fpr[26] = fs * ft; } aot_gpr_5 = (14877u << 16u); aot_gpr_5 = (aot_gpr_5 | 18770u); @@ -2265,8 +2266,8 @@ L_08AF8BC8: aot_gpr_4 = (15049u << 16u); aot_gpr_4 = (aot_gpr_4 | 3670u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(8360))); - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(7713))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(8360))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7713))); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); { const bool branch_taken = aot_gpr_4 != 0u; { const float fs = ctx.fpr[24]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[24] = std::bit_cast(0x7FC00000u); else ctx.fpr[24] = fs * ft; } @@ -2276,18 +2277,18 @@ L_08AF8BC8: goto L_08AF8BE8; } L_08AF8BE8: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(1404))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1404))); aot_fpr_12 = aot_fpr_12 + ctx.fpr[26]; - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(1404), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(1408))); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(1404), std::bit_cast(aot_fpr_12)); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1408))); aot_fpr_12 = aot_fpr_12 + ctx.fpr[26]; - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(1408), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(1408), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (16268u << 16u); aot_gpr_4 = (aot_gpr_4 | 52429u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_31 = (0x08AF8C14u); { const float fs = ctx.fpr[26]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF8C14u) goto L_08AF8C14; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF8C14u) goto L_08AF8C14; AOT_REGCACHE_SYNC_OUT(); return; L_08AF8C14: ctx.gpr[17] = (ctx.gpr[3] | 0u); @@ -2303,52 +2304,52 @@ L_08AF8C14: aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_31 = (0x08AF8C40u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF8C40u) goto L_08AF8C40; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF8C40u) goto L_08AF8C40; AOT_REGCACHE_SYNC_OUT(); return; L_08AF8C40: - ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(1484))); - ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(1480))); + ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1484))); + ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1480))); aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_4 = (ctx.gpr[2] | 0u); - ctx.gpr[7] = (ctx.gpr[19] | 0u); + aot_gpr_7 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08AF8C5Cu); aot_gpr_6 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF8C5Cu) goto L_08AF8C5C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF8C5Cu) goto L_08AF8C5C; AOT_REGCACHE_SYNC_OUT(); return; L_08AF8C5C: aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_4 = (ctx.gpr[16] | 0u); - ctx.gpr[7] = (ctx.gpr[3] | 0u); + aot_gpr_7 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08AF8C70u); aot_gpr_6 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF8C70u) goto L_08AF8C70; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61EF4, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF8C70u) goto L_08AF8C70; AOT_REGCACHE_SYNC_OUT(); return; L_08AF8C70: ctx.gpr[17] = (ctx.gpr[3] | 0u); ctx.gpr[16] = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08AF8C80u); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(1412))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF8C80u) goto L_08AF8C80; + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1412))); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF8C80u) goto L_08AF8C80; AOT_REGCACHE_SYNC_OUT(); return; L_08AF8C80: aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_4 = (ctx.gpr[16] | 0u); - ctx.gpr[7] = (ctx.gpr[3] | 0u); + aot_gpr_7 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08AF8C94u); aot_gpr_6 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF8C94u) goto L_08AF8C94; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61EF4, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF8C94u) goto L_08AF8C94; AOT_REGCACHE_SYNC_OUT(); return; L_08AF8C94: aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08AF8CA0u); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF8CA0u) goto L_08AF8CA0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B627F0, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF8CA0u) goto L_08AF8CA0; AOT_REGCACHE_SYNC_OUT(); return; L_08AF8CA0: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(1412), std::bit_cast(ctx.fpr[0])); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(1412), std::bit_cast(ctx.fpr[0])); aot_gpr_31 = (0x08AF8CACu); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(1416))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF8CACu) goto L_08AF8CAC; + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1416))); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF8CACu) goto L_08AF8CAC; AOT_REGCACHE_SYNC_OUT(); return; L_08AF8CAC: ctx.gpr[17] = (ctx.gpr[3] | 0u); @@ -2358,7 +2359,7 @@ L_08AF8CAC: aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_31 = (0x08AF8CC8u); { const float fs = ctx.fpr[26]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF8CC8u) goto L_08AF8CC8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF8CC8u) goto L_08AF8CC8; AOT_REGCACHE_SYNC_OUT(); return; L_08AF8CC8: ctx.gpr[21] = (ctx.gpr[3] | 0u); @@ -2378,28 +2379,28 @@ L_08AF8CC8: aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_31 = (0x08AF8D04u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF8D04u) goto L_08AF8D04; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF8D04u) goto L_08AF8D04; AOT_REGCACHE_SYNC_OUT(); return; L_08AF8D04: aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_4 = (ctx.gpr[2] | 0u); - ctx.gpr[7] = (ctx.gpr[19] | 0u); + aot_gpr_7 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08AF8D18u); aot_gpr_6 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF8D18u) goto L_08AF8D18; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF8D18u) goto L_08AF8D18; AOT_REGCACHE_SYNC_OUT(); return; L_08AF8D18: aot_gpr_5 = (ctx.gpr[21] | 0u); aot_gpr_4 = (ctx.gpr[20] | 0u); - ctx.gpr[7] = (ctx.gpr[3] | 0u); + aot_gpr_7 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08AF8D2Cu); aot_gpr_6 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF8D2Cu) goto L_08AF8D2C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61EF4, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF8D2Cu) goto L_08AF8D2C; AOT_REGCACHE_SYNC_OUT(); return; L_08AF8D2C: aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_4 = (ctx.gpr[16] | 0u); - ctx.gpr[7] = (ctx.gpr[3] | 0u); + aot_gpr_7 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08AF8D40u); aot_gpr_6 = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 395u, 0x08B61F5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF8D40u) goto L_08AF8D40; @@ -2408,13 +2409,13 @@ L_08AF8D40: aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08AF8D4Cu); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF8D4Cu) goto L_08AF8D4C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B627F0, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF8D4Cu) goto L_08AF8D4C; AOT_REGCACHE_SYNC_OUT(); return; L_08AF8D4C: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(1416), std::bit_cast(ctx.fpr[0])); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(1416), std::bit_cast(ctx.fpr[0])); goto L_08AF8D50; L_08AF8D50: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(1280))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(1280))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -2429,7 +2430,7 @@ L_08AF8D5C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0156_entry, 156u, 679u, 0x08A775F8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF8D68u) goto L_08AF8D68; AOT_REGCACHE_SYNC_OUT(); return; L_08AF8D68: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(1412))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1412))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[22])) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); @@ -2440,10 +2441,10 @@ L_08AF8D68: goto L_08AF8D7C; } L_08AF8D7C: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(1412), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(1412), std::bit_cast(aot_fpr_20)); goto L_08AF8D80; L_08AF8D80: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(1416))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1416))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_20)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); @@ -2454,10 +2455,10 @@ L_08AF8D80: goto L_08AF8D94; } L_08AF8D94: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(1416), std::bit_cast(ctx.fpr[22])); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(1416), std::bit_cast(ctx.fpr[22])); goto L_08AF8D98; L_08AF8D98: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(1404))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1404))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[22])) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); @@ -2468,10 +2469,10 @@ L_08AF8D98: goto L_08AF8DAC; } L_08AF8DAC: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(1404), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(1404), std::bit_cast(aot_fpr_20)); goto L_08AF8DB0; L_08AF8DB0: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(1408))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1408))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[22])) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); @@ -2482,7 +2483,7 @@ L_08AF8DB0: goto L_08AF8DC4; } L_08AF8DC4: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(1408), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(1408), std::bit_cast(aot_fpr_20)); goto L_08AF8DC8; L_08AF8DC8: { std::uint32_t aot_run_words[11]{}; @@ -2521,7 +2522,7 @@ L_08AF8E04: AOT_REGCACHE_SYNC_OUT(); return; L_08AF8E0C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(10376))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(10376))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -2562,9 +2563,9 @@ L_08AF8E44: ctx.fpr[7] = std::bit_cast(std::bit_cast(aot_fpr_14)); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(3))); aot_fpr_14 = ctx.fpr[4] + ctx.fpr[1]; - ctx.gpr[7] = (16256u << 16u); + aot_gpr_7 = (16256u << 16u); aot_gpr_6 = (aot_gpr_6 - aot_gpr_5); - ctx.fpr[19] = std::bit_cast(ctx.gpr[7]); + ctx.fpr[19] = std::bit_cast(aot_gpr_7); aot_gpr_6 = (aot_gpr_6 & 255u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); ctx.fpr[5] = std::sqrt(aot_fpr_14); @@ -2576,9 +2577,9 @@ L_08AF8E44: ctx.fpr[3] = aot_fpr_14 - ctx.fpr[0]; ctx.fpr[5] = ctx.fpr[5] - ctx.fpr[17]; ctx.fpr[0] = ctx.fpr[8] - ctx.fpr[6]; - ctx.fpr[2] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(1356))); + ctx.fpr[2] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1356))); aot_fpr_14 = std::bit_cast(std::bit_cast(aot_fpr_12)); - ctx.fpr[18] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(1352))); + ctx.fpr[18] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1352))); ctx.fpr[16] = static_cast(static_cast(std::bit_cast(ctx.fpr[16]))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[5] < ctx.fpr[2])) ? 0x00800000u : 0u); { const float fs = ctx.fpr[3]; const float ft = ctx.fpr[3]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[3] = std::bit_cast(0x7FC00000u); else ctx.fpr[3] = fs * ft; } @@ -2681,8 +2682,8 @@ L_08AF8FB0: aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_14)); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[18])); ctx.fpr[16] = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[16])); - ctx.gpr[7] = (std::bit_cast(ctx.fpr[16])); - aot_gpr_6 = (aot_gpr_6 + ctx.gpr[7]); + aot_gpr_7 = (std::bit_cast(ctx.fpr[16])); + aot_gpr_6 = (aot_gpr_6 + aot_gpr_7); aot_gpr_31 = (0x08AF8FDCu); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(15), static_cast(aot_gpr_6)); goto L_08AFB024; @@ -2712,7 +2713,7 @@ L_08AF8FE8: ctx.fpr[16] = std::bit_cast(aot_gpr_4); aot_gpr_5 = (0u | 20u); aot_fpr_12 = aot_fpr_20 + ctx.fpr[16]; - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(1332), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(1332), aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), std::bit_cast(aot_fpr_14)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), std::bit_cast(aot_fpr_13)); aot_gpr_4 = (16896u << 16u); @@ -2735,9 +2736,9 @@ L_08AF905C: goto L_08AF9064; } L_08AF9064: - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(10376))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(10376))); { const bool branch_taken = aot_gpr_5 == 0u; - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(1344))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1344))); if (branch_taken) { goto L_08AF9080; } @@ -2760,7 +2761,7 @@ L_08AF9078: goto L_08AF9080; } L_08AF9080: - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(1281))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(1281))); if (aot_gpr_5 == 0u) { aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); goto L_08AF909C; @@ -2768,11 +2769,11 @@ L_08AF9080: goto L_08AF908C; L_08AF908C: aot_gpr_31 = (0x08AF9094u); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7760))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7760))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0005_entry, 5u, 23u, 0x08818338u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF9094u) goto L_08AF9094; AOT_REGCACHE_SYNC_OUT(); return; L_08AF9094: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(1344))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1344))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); goto L_08AF909C; L_08AF909C: @@ -2781,16 +2782,16 @@ L_08AF909C: aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(66))); aot_gpr_5 = (aot_gpr_5 << 24u); aot_gpr_6 = (aot_gpr_6 << 16u); - ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(65))); + aot_gpr_7 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(65))); aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); - aot_gpr_6 = (ctx.gpr[7] << 8u); - ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(64))); + aot_gpr_6 = (aot_gpr_7 << 8u); + aot_gpr_7 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(64))); aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); - aot_gpr_5 = (aot_gpr_5 + ctx.gpr[7]); + aot_gpr_5 = (aot_gpr_5 + aot_gpr_7); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(16), aot_gpr_5); aot_gpr_4 = (0u | 1u); - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(10376), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(1344))); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(10376), static_cast(aot_gpr_4)); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1344))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), std::bit_cast(ctx.fpr[24])); goto L_08AF90DC; L_08AF90DC: @@ -2802,7 +2803,7 @@ L_08AF90DC: aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(48), aot_run_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), std::bit_cast(ctx.fpr[24])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), std::bit_cast(ctx.fpr[22])); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(1296))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1296))); aot_gpr_6 = (aot_gpr_29 + static_cast(48)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), std::bit_cast(aot_fpr_20)); aot_gpr_31 = (0x08AF9114u); @@ -2860,7 +2861,7 @@ L_08AF9188: goto L_08AF9198; L_08AF9198: ctx.fpr[19] = aot_fpr_12 + aot_fpr_14; - ctx.gpr[7] = (0u | 0u); + aot_gpr_7 = (0u | 0u); ctx.fpr[19] = ctx.fpr[19] + ctx.fpr[15]; aot_gpr_6 = (0u | 0u); ctx.fpr[19] = ctx.fpr[19] + ctx.fpr[18]; @@ -2868,16 +2869,16 @@ L_08AF9198: ctx.fpr[19] = ctx.fpr[19] + ctx.fpr[16]; ctx.fpr[19] = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[19])); aot_gpr_5 = (std::bit_cast(ctx.fpr[19])); - ctx.gpr[7] = (static_cast(ctx.gpr[7]) < static_cast(aot_gpr_5) ? 1u : 0u); - if (ctx.gpr[7] != 0u) { + aot_gpr_7 = (static_cast(aot_gpr_7) < static_cast(aot_gpr_5) ? 1u : 0u); + if (aot_gpr_7 != 0u) { aot_gpr_6 = (aot_gpr_5 | 0u); goto L_08AF91C8; } goto L_08AF91C8; L_08AF91C8: aot_gpr_5 = (0u | 127u); - ctx.gpr[7] = (static_cast(aot_gpr_6) < 127 ? 1u : 0u); - if (ctx.gpr[7] != 0u) { + aot_gpr_7 = (static_cast(aot_gpr_6) < 127 ? 1u : 0u); + if (aot_gpr_7 != 0u) { aot_gpr_5 = (aot_gpr_6 | 0u); goto L_08AF91D8; } @@ -2885,7 +2886,7 @@ L_08AF91C8: L_08AF91D8: ctx.fpr[19] = aot_fpr_13 - aot_fpr_14; ctx.gpr[8] = (0u | 0u); - ctx.gpr[7] = (0u | 0u); + aot_gpr_7 = (0u | 0u); ctx.fpr[19] = ctx.fpr[19] + ctx.fpr[18]; { const float fs = ctx.fpr[19]; const float ft = ctx.fpr[17]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[19] = std::bit_cast(0x7FC00000u); else ctx.fpr[19] = fs * ft; } ctx.fpr[19] = ctx.fpr[19] - ctx.fpr[16]; @@ -2893,15 +2894,15 @@ L_08AF91D8: aot_gpr_6 = (std::bit_cast(ctx.fpr[19])); ctx.gpr[8] = (static_cast(ctx.gpr[8]) < static_cast(aot_gpr_6) ? 1u : 0u); if (ctx.gpr[8] != 0u) { - ctx.gpr[7] = (aot_gpr_6 | 0u); + aot_gpr_7 = (aot_gpr_6 | 0u); goto L_08AF9204; } goto L_08AF9204; L_08AF9204: aot_gpr_6 = (0u | 127u); - ctx.gpr[8] = (static_cast(ctx.gpr[7]) < 127 ? 1u : 0u); + ctx.gpr[8] = (static_cast(aot_gpr_7) < 127 ? 1u : 0u); if (ctx.gpr[8] != 0u) { - aot_gpr_6 = (ctx.gpr[7] | 0u); + aot_gpr_6 = (aot_gpr_7 | 0u); goto L_08AF9214; } goto L_08AF9214; @@ -2913,18 +2914,18 @@ L_08AF9214: { const float fs = ctx.fpr[18]; const float ft = ctx.fpr[17]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[17] = std::bit_cast(0x7FC00000u); else ctx.fpr[17] = fs * ft; } ctx.fpr[16] = ctx.fpr[17] + ctx.fpr[16]; ctx.fpr[16] = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[16])); - ctx.gpr[7] = (std::bit_cast(ctx.fpr[16])); - ctx.gpr[9] = (static_cast(ctx.gpr[9]) < static_cast(ctx.gpr[7]) ? 1u : 0u); + aot_gpr_7 = (std::bit_cast(ctx.fpr[16])); + ctx.gpr[9] = (static_cast(ctx.gpr[9]) < static_cast(aot_gpr_7) ? 1u : 0u); if (ctx.gpr[9] != 0u) { - ctx.gpr[8] = (ctx.gpr[7] | 0u); + ctx.gpr[8] = (aot_gpr_7 | 0u); goto L_08AF9240; } goto L_08AF9240; L_08AF9240: - ctx.gpr[7] = (0u | 127u); + aot_gpr_7 = (0u | 127u); ctx.gpr[9] = (static_cast(ctx.gpr[8]) < 127 ? 1u : 0u); if (ctx.gpr[9] != 0u) { - ctx.gpr[7] = (ctx.gpr[8] | 0u); + aot_gpr_7 = (ctx.gpr[8] | 0u); goto L_08AF9250; } goto L_08AF9250; @@ -2942,7 +2943,7 @@ L_08AF9250: goto L_08AF926C; } L_08AF926C: - ctx.gpr[9] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(1324))); + ctx.gpr[9] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1324))); aot_gpr_4 = (aot_gpr_4 << 7u); aot_gpr_4 = (ctx.gpr[9] + aot_gpr_4); ctx.gpr[9] = (16896u << 16u); @@ -2950,7 +2951,7 @@ L_08AF926C: goto L_08AF9280; L_08AF9280: ctx.gpr[9] = (aot_gpr_6 | 0u); - ctx.gpr[10] = (static_cast(ctx.gpr[7]) < static_cast(ctx.gpr[9]) ? 1u : 0u); + ctx.gpr[10] = (static_cast(aot_gpr_7) < static_cast(ctx.gpr[9]) ? 1u : 0u); { const bool branch_taken = ctx.gpr[10] != 0u; ctx.gpr[10] = (ctx.gpr[8] + static_cast(-64)); if (branch_taken) { @@ -3000,7 +3001,7 @@ L_08AF92EC: goto L_08AF92F0; L_08AF92F0: ctx.gpr[9] = (ctx.gpr[9] + static_cast(1)); - ctx.gpr[10] = (static_cast(ctx.gpr[7]) < static_cast(ctx.gpr[9]) ? 1u : 0u); + ctx.gpr[10] = (static_cast(aot_gpr_7) < static_cast(ctx.gpr[9]) ? 1u : 0u); { const bool branch_taken = ctx.gpr[10] == 0u; // nop if (branch_taken) { @@ -3049,7 +3050,7 @@ L_08AF9348: AOT_REGCACHE_SYNC_OUT(); return; L_08AF9350: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8456))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); { const std::uint32_t aot_run_words[6]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } { const bool branch_taken = aot_gpr_4 == 0u; @@ -3063,7 +3064,7 @@ L_08AF9378: aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_4 = (2238u << 16u); aot_gpr_6 = (0u | 0u); - ctx.gpr[7] = (0u | 1u); + aot_gpr_7 = (0u | 1u); aot_gpr_31 = (0x08AF9390u); aot_gpr_4 = (aot_gpr_4 + static_cast(-272)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0186_entry, 186u, 515u, 0x08AEE610u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF9390u) goto L_08AF9390; @@ -3077,8 +3078,8 @@ L_08AF9390: goto L_08AF9398; } L_08AF9398: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(1404))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(1408))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1404))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1408))); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.gpr[17] = (2236u << 16u); aot_gpr_4 = (aot_gpr_4 >> 8u); @@ -3108,7 +3109,7 @@ L_08AF9398: aot_gpr_5 = (aot_gpr_5 | ctx.gpr[20]); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29552))); - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8452))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8452))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(29552), aot_gpr_4); aot_gpr_5 = (2238u << 16u); @@ -3149,8 +3150,8 @@ L_08AF9438: aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(29552), aot_gpr_4); goto L_08AF9498; L_08AF9498: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(8456), 0u); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(8452), 0u); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8456), 0u); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8452), 0u); { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); ctx.gpr[16] = aot_run_words[0]; @@ -3186,7 +3187,7 @@ L_08AF94C0: const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - ctx.gpr[16] = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(7648))); + ctx.gpr[16] = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7648))); aot_gpr_31 = (0x08AF94F8u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0170_entry, 170u, 538u, 0x08AAE9C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF94F8u) goto L_08AF94F8; @@ -3213,7 +3214,7 @@ L_08AF9508: goto L_08AF9510; } L_08AF9510: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_28 + static_cast(8352)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[28] + static_cast(8352)))))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -3222,7 +3223,7 @@ L_08AF9510: goto L_08AF951C; } L_08AF951C: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_28 + static_cast(8352)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[28] + static_cast(8352)))))); aot_gpr_5 = (0u | 4u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -3249,9 +3250,9 @@ L_08AF9538: goto L_08AF9540; } L_08AF9540: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7392))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7392))); { const bool branch_taken = aot_gpr_5 != 0u; - aot_gpr_4 = (aot_gpr_28 + static_cast(7408)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(7408)); if (branch_taken) { goto L_08AF9564; } @@ -3260,12 +3261,12 @@ L_08AF9540: L_08AF954C: aot_gpr_5 = (0u | 1u); aot_fpr_12 = std::bit_cast(0u); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(7392), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7392), aot_gpr_5); { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_12)}; - aot_mem.aot_direct_store32_block(aot_gpr_28 + static_cast(7408), aot_run_words); } + aot_mem.aot_direct_store32_block(ctx.gpr[28] + static_cast(7408), aot_run_words); } goto L_08AF9564; L_08AF9564: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7396))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7396))); { const bool branch_taken = aot_gpr_5 != 0u; // nop if (branch_taken) { @@ -3276,9 +3277,9 @@ L_08AF9564: L_08AF9570: aot_gpr_5 = (0u | 1u); aot_fpr_12 = std::bit_cast(0u); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(7396), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7396), aot_gpr_5); { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_12)}; - aot_mem.aot_direct_store32_block(aot_gpr_28 + static_cast(7424), aot_run_words); } + aot_mem.aot_direct_store32_block(ctx.gpr[28] + static_cast(7424), aot_run_words); } goto L_08AF9588; L_08AF9588: aot_gpr_5 = (16320u << 16u); @@ -3325,8 +3326,8 @@ L_08AF9588: goto L_08AF95D4; } L_08AF95D4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7660))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7440))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7440))); aot_gpr_4 = (aot_gpr_4 - aot_gpr_5); aot_gpr_4 = (aot_gpr_4 < static_cast(5001) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; @@ -3337,8 +3338,8 @@ L_08AF95D4: goto L_08AF95EC; } L_08AF95EC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7660))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(1488))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1488))); aot_gpr_4 = (aot_gpr_4 - aot_gpr_5); aot_gpr_4 = (aot_gpr_4 < static_cast(1001) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; @@ -3349,8 +3350,8 @@ L_08AF95EC: goto L_08AF9604; } L_08AF9604: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7660))); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(1488), aot_gpr_4); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(1488), aot_gpr_4); { const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -3370,7 +3371,7 @@ L_08AF9604: aot_gpr_4 = (17174u << 16u); aot_gpr_31 = (0x08AF962Cu); ctx.fpr[22] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF962Cu) goto L_08AF962C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF962Cu) goto L_08AF962C; AOT_REGCACHE_SYNC_OUT(); return; L_08AF962C: aot_fpr_12 = ctx.fpr[22] - aot_fpr_20; @@ -3378,7 +3379,7 @@ L_08AF962C: aot_fpr_20 = aot_fpr_20 + aot_fpr_12; aot_gpr_31 = (0x08AF9640u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF9640u) goto L_08AF9640; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF9640u) goto L_08AF9640; AOT_REGCACHE_SYNC_OUT(); return; L_08AF9640: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -3422,7 +3423,7 @@ L_08AF965C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), std::bit_cast(aot_fpr_14)); aot_gpr_31 = (0x08AF96BCu); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF96BCu) goto L_08AF96BC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF96BCu) goto L_08AF96BC; AOT_REGCACHE_SYNC_OUT(); return; L_08AF96BC: aot_fpr_12 = ctx.fpr[24] - ctx.fpr[22]; @@ -3436,7 +3437,7 @@ L_08AF96BC: aot_fpr_12 = aot_fpr_13 + aot_fpr_12; aot_gpr_31 = (0x08AF96E8u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF96E8u) goto L_08AF96E8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF96E8u) goto L_08AF96E8; AOT_REGCACHE_SYNC_OUT(); return; L_08AF96E8: aot_fpr_12 = ctx.fpr[24] - aot_fpr_20; @@ -3444,7 +3445,7 @@ L_08AF96E8: aot_fpr_12 = aot_fpr_20 + aot_fpr_12; aot_gpr_31 = (0x08AF96FCu); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF96FCu) goto L_08AF96FC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF96FCu) goto L_08AF96FC; AOT_REGCACHE_SYNC_OUT(); return; L_08AF96FC: aot_fpr_14 = ctx.fpr[24] - aot_fpr_20; @@ -3454,7 +3455,7 @@ L_08AF96FC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), std::bit_cast(aot_fpr_12)); { const float fs = aot_fpr_14; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_gpr_5 = (ctx.gpr[16] | 0u); - ctx.gpr[7] = (0u | 0u); + aot_gpr_7 = (0u | 0u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); aot_fpr_13 = aot_fpr_20 + aot_fpr_13; @@ -3486,8 +3487,8 @@ L_08AF9740: const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7660))); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(7440), aot_gpr_4); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7440), aot_gpr_4); goto L_08AF9750; L_08AF9750: { std::uint32_t aot_run_words[5]{}; @@ -3509,7 +3510,7 @@ L_08AF976C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(124), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(128), ctx.gpr[17]); ctx.gpr[16] = (aot_gpr_29 + static_cast(16)); - ctx.gpr[17] = (aot_gpr_28 + static_cast(7456)); + ctx.gpr[17] = (ctx.gpr[28] + static_cast(7456)); { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(112), aot_run_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(132), aot_gpr_31); @@ -3536,19 +3537,19 @@ L_08AF97A8: const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7444))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7444))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7448))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7448))); goto L_08AF97DC; } goto L_08AF97C0; L_08AF97C0: aot_gpr_4 = (0u | 1u); aot_fpr_12 = std::bit_cast(0u); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(7444), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7444), aot_gpr_4); { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_12)}; - aot_mem.aot_direct_store32_block(aot_gpr_28 + static_cast(7456), aot_run_words); } - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7448))); + aot_mem.aot_direct_store32_block(ctx.gpr[28] + static_cast(7456), aot_run_words); } + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7448))); goto L_08AF97DC; L_08AF97DC: { const bool branch_taken = aot_gpr_4 != 0u; @@ -3561,9 +3562,9 @@ L_08AF97DC: L_08AF97E4: aot_gpr_4 = (0u | 1u); aot_fpr_12 = std::bit_cast(0u); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(7448), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7448), aot_gpr_4); { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_12)}; - aot_mem.aot_direct_store32_block(aot_gpr_28 + static_cast(7472), aot_run_words); } + aot_mem.aot_direct_store32_block(ctx.gpr[28] + static_cast(7472), aot_run_words); } goto L_08AF97FC; L_08AF97FC: aot_gpr_4 = (16320u << 16u); @@ -3610,8 +3611,8 @@ L_08AF97FC: goto L_08AF9848; } L_08AF9848: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7660))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7488))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7488))); aot_gpr_4 = (aot_gpr_4 - aot_gpr_5); aot_gpr_4 = (aot_gpr_4 < static_cast(5001) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; @@ -3622,8 +3623,8 @@ L_08AF9848: goto L_08AF9860; } L_08AF9860: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7660))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(1492))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1492))); aot_gpr_4 = (aot_gpr_4 - aot_gpr_5); aot_gpr_4 = (aot_gpr_4 < static_cast(4001) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; @@ -3634,8 +3635,8 @@ L_08AF9860: goto L_08AF9878; } L_08AF9878: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7660))); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(1492), aot_gpr_4); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(1492), aot_gpr_4); { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -3656,7 +3657,7 @@ L_08AF9878: aot_gpr_4 = (aot_gpr_4 | 32768u); aot_gpr_31 = (0x08AF98A4u); ctx.fpr[22] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF98A4u) goto L_08AF98A4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF98A4u) goto L_08AF98A4; AOT_REGCACHE_SYNC_OUT(); return; L_08AF98A4: aot_fpr_12 = ctx.fpr[22] - aot_fpr_20; @@ -3664,7 +3665,7 @@ L_08AF98A4: aot_fpr_20 = aot_fpr_20 + aot_fpr_12; aot_gpr_31 = (0x08AF98B8u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF98B8u) goto L_08AF98B8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF98B8u) goto L_08AF98B8; AOT_REGCACHE_SYNC_OUT(); return; L_08AF98B8: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -3740,7 +3741,7 @@ L_08AF9948: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08AF9974u); ctx.fpr[22] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF9974u) goto L_08AF9974; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF9974u) goto L_08AF9974; AOT_REGCACHE_SYNC_OUT(); return; L_08AF9974: aot_fpr_12 = ctx.fpr[22] - aot_fpr_20; @@ -3751,7 +3752,7 @@ L_08AF9974: aot_fpr_12 = aot_fpr_20 + aot_fpr_12; aot_gpr_31 = (0x08AF9994u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(80), std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF9994u) goto L_08AF9994; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF9994u) goto L_08AF9994; AOT_REGCACHE_SYNC_OUT(); return; L_08AF9994: ctx.gpr[10] = (ctx.gpr[2] & 65535u); @@ -3760,7 +3761,7 @@ L_08AF9994: aot_gpr_6 = (aot_gpr_29 + static_cast(80)); aot_gpr_4 = (0u | 83u); aot_gpr_5 = (ctx.gpr[16] | 0u); - ctx.gpr[7] = (0u | 0u); + aot_gpr_7 = (0u | 0u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); aot_gpr_31 = (0x08AF99C0u); @@ -3789,8 +3790,8 @@ L_08AF99C8: const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7660))); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(7488), aot_gpr_4); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7488), aot_gpr_4); goto L_08AF99D8; L_08AF99D8: { std::uint32_t aot_run_words[6]{}; @@ -3810,7 +3811,7 @@ L_08AF99D8: AOT_REGCACHE_SYNC_OUT(); return; L_08AF99F8: jump_target = aot_gpr_31; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(1332))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1332))); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -3821,20 +3822,20 @@ L_08AF9A00: aot_fpr_12 = std::bit_cast(aot_gpr_6); aot_fpr_13 = aot_fpr_13 / aot_fpr_12; aot_gpr_6 = (16880u << 16u); - ctx.gpr[7] = (0u | 49u); + aot_gpr_7 = (0u | 49u); aot_fpr_14 = std::bit_cast(aot_gpr_6); aot_fpr_13 = aot_fpr_13 + aot_fpr_14; aot_fpr_13 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_13)); aot_gpr_6 = (std::bit_cast(aot_fpr_13)); - ctx.gpr[7] = (static_cast(ctx.gpr[7]) < static_cast(aot_gpr_6) ? 1u : 0u); - if (ctx.gpr[7] != 0u) { + aot_gpr_7 = (static_cast(aot_gpr_7) < static_cast(aot_gpr_6) ? 1u : 0u); + if (aot_gpr_7 != 0u) { aot_gpr_6 = (0u | 49u); goto L_08AF9A34; } goto L_08AF9A34; L_08AF9A34: - ctx.gpr[7] = (static_cast(aot_gpr_6) < 0 ? 1u : 0u); - if (ctx.gpr[7] != 0u) { + aot_gpr_7 = (static_cast(aot_gpr_6) < 0 ? 1u : 0u); + if (aot_gpr_7 != 0u) { aot_gpr_6 = (0u | 0u); goto L_08AF9A40; } @@ -3843,28 +3844,28 @@ L_08AF9A40: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_fpr_12 = aot_fpr_13 / aot_fpr_12; aot_gpr_4 = (16840u << 16u); - ctx.gpr[7] = (0u | 49u); + aot_gpr_7 = (0u | 49u); aot_fpr_14 = std::bit_cast(aot_gpr_4); aot_fpr_12 = aot_fpr_12 + aot_fpr_14; aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); - ctx.gpr[7] = (static_cast(ctx.gpr[7]) < static_cast(aot_gpr_4) ? 1u : 0u); - if (ctx.gpr[7] != 0u) { + aot_gpr_7 = (static_cast(aot_gpr_7) < static_cast(aot_gpr_4) ? 1u : 0u); + if (aot_gpr_7 != 0u) { aot_gpr_4 = (0u | 49u); goto L_08AF9A6C; } goto L_08AF9A6C; L_08AF9A6C: - ctx.gpr[7] = (static_cast(aot_gpr_4) < 0 ? 1u : 0u); - if (ctx.gpr[7] != 0u) { + aot_gpr_7 = (static_cast(aot_gpr_4) < 0 ? 1u : 0u); + if (aot_gpr_7 != 0u) { aot_gpr_4 = (0u | 0u); goto L_08AF9A78; } goto L_08AF9A78; L_08AF9A78: - ctx.gpr[7] = (static_cast(aot_gpr_6) < static_cast(aot_gpr_5) ? 1u : 0u); - { const bool branch_taken = ctx.gpr[7] != 0u; - ctx.gpr[7] = (aot_gpr_6 | 0u); + aot_gpr_7 = (static_cast(aot_gpr_6) < static_cast(aot_gpr_5) ? 1u : 0u); + { const bool branch_taken = aot_gpr_7 != 0u; + aot_gpr_7 = (aot_gpr_6 | 0u); if (branch_taken) { goto L_08AF9AAC; } @@ -3873,8 +3874,8 @@ L_08AF9A78: L_08AF9A84: aot_gpr_6 = (0u | 50u); aot_gpr_6 = (aot_gpr_6 - aot_gpr_5); - ctx.gpr[7] = (static_cast(ctx.gpr[7]) < static_cast(aot_gpr_6) ? 1u : 0u); - { const bool branch_taken = ctx.gpr[7] == 0u; + aot_gpr_7 = (static_cast(aot_gpr_7) < static_cast(aot_gpr_6) ? 1u : 0u); + { const bool branch_taken = aot_gpr_7 == 0u; // nop if (branch_taken) { goto L_08AF9AAC; @@ -3977,17 +3978,17 @@ L_08AF9B00: } L_08AF9B08: aot_gpr_31 = (0x08AF9B10u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(1340))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1340))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0160_entry, 160u, 192u, 0x08A854E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF9B10u) goto L_08AF9B10; AOT_REGCACHE_SYNC_OUT(); return; L_08AF9B10: aot_gpr_31 = (0x08AF9B18u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(1344))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1344))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0004_entry, 4u, 774u, 0x088178A0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF9B18u) goto L_08AF9B18; AOT_REGCACHE_SYNC_OUT(); return; L_08AF9B18: ctx.gpr[17] = (0u | 0u); - ctx.gpr[16] = (aot_gpr_28 | 0u); + ctx.gpr[16] = (ctx.gpr[28] | 0u); goto L_08AF9B20; L_08AF9B20: aot_gpr_31 = (0x08AF9B28u); @@ -4014,17 +4015,17 @@ L_08AF9B38: } L_08AF9B40: aot_gpr_31 = (0x08AF9B48u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(1340))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1340))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0160_entry, 160u, 204u, 0x08A856A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF9B48u) goto L_08AF9B48; AOT_REGCACHE_SYNC_OUT(); return; L_08AF9B48: aot_gpr_31 = (0x08AF9B50u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(1344))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1344))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0004_entry, 4u, 788u, 0x08817A98u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF9B50u) goto L_08AF9B50; AOT_REGCACHE_SYNC_OUT(); return; L_08AF9B50: ctx.gpr[17] = (0u | 0u); - ctx.gpr[16] = (aot_gpr_28 | 0u); + ctx.gpr[16] = (ctx.gpr[28] | 0u); goto L_08AF9B58; L_08AF9B58: aot_gpr_31 = (0x08AF9B60u); @@ -4055,7 +4056,7 @@ L_08AF9B70: ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08AF9B84: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8816))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8816))); aot_gpr_4 = (aot_gpr_4 + static_cast(10956)); ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(128))); { const bool branch_taken = ctx.gpr[8] == 0u; @@ -4066,10 +4067,10 @@ L_08AF9B84: goto L_08AF9B98; } L_08AF9B98: - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7660))); + aot_gpr_7 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[8] + static_cast(32))); aot_gpr_5 = (aot_gpr_6 + static_cast(-32000)); - aot_gpr_5 = (aot_gpr_5 < ctx.gpr[7] ? 1u : 0u); + aot_gpr_5 = (aot_gpr_5 < aot_gpr_7 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_5 = (aot_gpr_6 + static_cast(-22000)); if (branch_taken) { @@ -4078,7 +4079,7 @@ L_08AF9B98: goto L_08AF9BB0; } L_08AF9BB0: - aot_gpr_5 = (ctx.gpr[7] < aot_gpr_5 ? 1u : 0u); + aot_gpr_5 = (aot_gpr_7 < aot_gpr_5 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; // nop if (branch_taken) { @@ -4105,7 +4106,7 @@ L_08AF9BD4: goto L_08AF9BD8; L_08AF9BD8: aot_gpr_5 = (aot_gpr_6 + static_cast(-10000)); - aot_gpr_5 = (aot_gpr_5 < ctx.gpr[7] ? 1u : 0u); + aot_gpr_5 = (aot_gpr_5 < aot_gpr_7 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; // nop if (branch_taken) { @@ -4145,7 +4146,7 @@ L_08AF9C00: aot_gpr_4 = (49864u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), std::bit_cast(aot_fpr_12)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(1332))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1332))); { const bool branch_taken = static_cast(aot_gpr_4) <= 0; // nop if (branch_taken) { @@ -4155,7 +4156,7 @@ L_08AF9C00: } L_08AF9C54: aot_gpr_4 = (aot_gpr_4 + static_cast(-1)); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(1332), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(1332), aot_gpr_4); goto L_08AF9C5C; L_08AF9C5C: aot_gpr_31 = (0x08AF9C64u); @@ -4185,7 +4186,7 @@ L_08AF9C74: L_08AF9C7C: aot_gpr_4 = (0u | 255u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(51), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-23440))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23440))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(11208))); aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); aot_gpr_5 = (std::bit_cast(aot_fpr_12)); @@ -4198,17 +4199,17 @@ L_08AF9C7C: aot_fpr_14 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_14)); aot_gpr_4 = (std::bit_cast(aot_fpr_14)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(50), static_cast(aot_gpr_4)); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(8452), 0u); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(8456), 0u); - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(10376), static_cast(0u)); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8452), 0u); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8456), 0u); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(10376), static_cast(0u)); aot_gpr_4 = (0u | 0u); aot_gpr_31 = (0x08AF9CD0u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0186_entry, 186u, 547u, 0x08AEEA94u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF9CD0u) goto L_08AF9CD0; AOT_REGCACHE_SYNC_OUT(); return; L_08AF9CD0: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(1404))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(1408))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1404))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1408))); aot_gpr_4 = (std::bit_cast(aot_fpr_13)); aot_gpr_4 = (aot_gpr_4 >> 8u); aot_gpr_5 = (std::bit_cast(aot_fpr_12)); @@ -4375,33 +4376,33 @@ L_08AF9CD0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(29552))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(29552), aot_gpr_4); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(1360))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1360))); aot_gpr_31 = (0x08AF9F7Cu); aot_gpr_4 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF9F7Cu) goto L_08AF9F7C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF9F7Cu) goto L_08AF9F7C; AOT_REGCACHE_SYNC_OUT(); return; L_08AF9F7C: aot_gpr_4 = (0u | 11u); aot_gpr_31 = (0x08AF9F88u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF9F88u) goto L_08AF9F88; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF9F88u) goto L_08AF9F88; AOT_REGCACHE_SYNC_OUT(); return; L_08AF9F88: aot_gpr_4 = (0u | 8u); aot_gpr_31 = (0x08AF9F94u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF9F94u) goto L_08AF9F94; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF9F94u) goto L_08AF9F94; AOT_REGCACHE_SYNC_OUT(); return; L_08AF9F94: aot_gpr_4 = (0u | 9u); aot_gpr_31 = (0x08AF9FA0u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF9FA0u) goto L_08AF9FA0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AF9FA0u) goto L_08AF9FA0; AOT_REGCACHE_SYNC_OUT(); return; L_08AF9FA0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(1336))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1336))); aot_gpr_4 = (aot_gpr_4 ^ 1u); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(1336), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(1336), aot_gpr_4); aot_gpr_4 = (2236u << 16u); ctx.gpr[16] = (aot_gpr_4 + static_cast(32304)); ctx.gpr[16] = (ctx.gpr[16] + static_cast(48)); @@ -4446,13 +4447,13 @@ L_08AF9FF4: goto L_08AF9FFC; } L_08AF9FFC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(1340))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1340))); aot_gpr_31 = (0x08AFA008u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(48))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0160_entry, 160u, 207u, 0x08A85850u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFA008u) goto L_08AFA008; AOT_REGCACHE_SYNC_OUT(); return; L_08AFA008: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(1340))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1340))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), std::bit_cast(aot_fpr_12)); @@ -4491,13 +4492,13 @@ L_08AFA030: aot_gpr_4 = (0u | 8u); aot_gpr_31 = (0x08AFA098u); aot_gpr_5 = (0u | 5u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFA098u) goto L_08AFA098; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFA098u) goto L_08AFA098; AOT_REGCACHE_SYNC_OUT(); return; L_08AFA098: aot_gpr_4 = (0u | 9u); aot_gpr_31 = (0x08AFA0A4u); aot_gpr_5 = (0u | 6u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFA0A4u) goto L_08AFA0A4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFA0A4u) goto L_08AFA0A4; AOT_REGCACHE_SYNC_OUT(); return; L_08AFA0A4: aot_gpr_31 = (0x08AFA0ACu); @@ -4530,9 +4531,9 @@ L_08AFA0DC: aot_gpr_29 = (aot_gpr_29 + static_cast(-256)); { const std::uint32_t aot_run_words[16]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(184), aot_run_words); } - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(1329))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(1329))); aot_gpr_4 = (aot_gpr_4 ^ 1u); - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(1329), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(1329), static_cast(aot_gpr_4)); ctx.gpr[16] = (0u | 0u); ctx.gpr[17] = (0u | 0u); ctx.gpr[18] = (0u | 0u); @@ -4622,10 +4623,10 @@ L_08AFA1C0: goto L_08AFA1D0; } L_08AFA1D0: - ctx.fpr[30] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(1316))); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(1312))); + ctx.fpr[30] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1316))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1312))); aot_fpr_20 = ctx.fpr[30] - aot_fpr_12; - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(1308))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1308))); aot_fpr_20 = aot_fpr_20 + aot_fpr_13; { const float fs = ctx.fpr[30]; const float ft = ctx.fpr[30]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } { const bool branch_taken = 0u == 0u; @@ -4636,8 +4637,8 @@ L_08AFA1D0: goto L_08AFA1F0; } L_08AFA1F0: - ctx.fpr[30] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(1312))); - aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(1308))); + ctx.fpr[30] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1312))); + aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1308))); { const float fs = ctx.fpr[30]; const float ft = ctx.fpr[30]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(128), std::bit_cast(aot_fpr_12)); goto L_08AFA200; @@ -4763,7 +4764,7 @@ L_08AFA2B8: goto L_08AFA2CC; } L_08AFA2CC: - ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(1300))); + ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1300))); { const float fs = ctx.fpr[22]; const float ft = ctx.fpr[22]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(140), std::bit_cast(aot_fpr_12)); @@ -4786,7 +4787,7 @@ L_08AFA2DC: goto L_08AFA2F8; } L_08AFA2F8: - ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(1304))); + ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1304))); { const float fs = ctx.fpr[22]; const float ft = ctx.fpr[22]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(140), std::bit_cast(aot_fpr_12)); @@ -4796,8 +4797,8 @@ L_08AFA2F8: goto L_08AFA308; } L_08AFA308: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(1304))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(1300))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1304))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1300))); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast(8))); aot_fpr_14 = aot_fpr_14 - ctx.fpr[22]; @@ -4814,7 +4815,7 @@ L_08AFA338: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(29), static_cast(0u)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(30), static_cast(0u)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(31), static_cast(ctx.gpr[30])); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-23440))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23440))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(11208))); aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); aot_gpr_5 = (std::bit_cast(aot_fpr_12)); @@ -4858,7 +4859,7 @@ L_08AFA3CC: goto L_08AFA3D4; L_08AFA3D4: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast(8))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(1288))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1288))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); @@ -4871,7 +4872,7 @@ L_08AFA3D4: L_08AFA3EC: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(35), static_cast(ctx.gpr[30])); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(1296), std::bit_cast(ctx.fpr[24])); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(1296), std::bit_cast(ctx.fpr[24])); if (branch_taken) { goto L_08AFA4B4; } @@ -4879,7 +4880,7 @@ L_08AFA3EC: } L_08AFA3F8: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast(8))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(1284))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1284))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); @@ -4891,9 +4892,9 @@ L_08AFA3F8: } L_08AFA410: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast(8))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(1284))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1284))); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(1288))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1288))); aot_fpr_13 = aot_fpr_14 - aot_fpr_13; aot_fpr_12 = aot_fpr_12 / aot_fpr_13; aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(35))); @@ -4954,16 +4955,16 @@ L_08AFA498: goto L_08AFA49C; L_08AFA49C: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(35), static_cast(aot_gpr_4)); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(1292))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1292))); aot_fpr_14 = ctx.fpr[24] - aot_fpr_13; { const float fs = aot_fpr_12; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = aot_fpr_13 + aot_fpr_12; - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(1296), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(1296), std::bit_cast(aot_fpr_12)); goto L_08AFA4B4; L_08AFA4B4: - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(8452), 0u); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(8456), 0u); - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(10376), static_cast(0u)); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8452), 0u); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8456), 0u); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(10376), static_cast(0u)); aot_gpr_4 = (14848u << 16u); aot_gpr_5 = (2236u << 16u); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(29552))); @@ -4973,90 +4974,90 @@ L_08AFA4B4: aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(29552), aot_gpr_4); aot_gpr_6 = (std::bit_cast(ctx.fpr[24])); aot_gpr_6 = (aot_gpr_6 >> 8u); - ctx.gpr[7] = (15104u << 16u); - aot_gpr_6 = (aot_gpr_6 | ctx.gpr[7]); + aot_gpr_7 = (15104u << 16u); + aot_gpr_6 = (aot_gpr_6 | aot_gpr_7); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_6); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(29552))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(29552), aot_gpr_4); aot_gpr_6 = (std::bit_cast(ctx.fpr[16])); aot_gpr_6 = (aot_gpr_6 >> 8u); - aot_gpr_6 = (aot_gpr_6 | ctx.gpr[7]); + aot_gpr_6 = (aot_gpr_6 | aot_gpr_7); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_6); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(29552))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(29552), aot_gpr_4); aot_gpr_6 = (std::bit_cast(ctx.fpr[16])); aot_gpr_6 = (aot_gpr_6 >> 8u); - aot_gpr_6 = (aot_gpr_6 | ctx.gpr[7]); + aot_gpr_6 = (aot_gpr_6 | aot_gpr_7); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_6); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(29552))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(29552), aot_gpr_4); aot_gpr_6 = (std::bit_cast(ctx.fpr[16])); aot_gpr_6 = (aot_gpr_6 >> 8u); - aot_gpr_6 = (aot_gpr_6 | ctx.gpr[7]); + aot_gpr_6 = (aot_gpr_6 | aot_gpr_7); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_6); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(29552))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(29552), aot_gpr_4); aot_gpr_6 = (std::bit_cast(ctx.fpr[24])); aot_gpr_6 = (aot_gpr_6 >> 8u); - aot_gpr_6 = (aot_gpr_6 | ctx.gpr[7]); + aot_gpr_6 = (aot_gpr_6 | aot_gpr_7); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_6); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(29552))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(29552), aot_gpr_4); aot_gpr_6 = (std::bit_cast(ctx.fpr[16])); aot_gpr_6 = (aot_gpr_6 >> 8u); - aot_gpr_6 = (aot_gpr_6 | ctx.gpr[7]); + aot_gpr_6 = (aot_gpr_6 | aot_gpr_7); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_6); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(29552))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(29552), aot_gpr_4); aot_gpr_6 = (std::bit_cast(ctx.fpr[16])); aot_gpr_6 = (aot_gpr_6 >> 8u); - aot_gpr_6 = (aot_gpr_6 | ctx.gpr[7]); + aot_gpr_6 = (aot_gpr_6 | aot_gpr_7); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_6); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(29552))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(29552), aot_gpr_4); aot_gpr_6 = (std::bit_cast(ctx.fpr[16])); aot_gpr_6 = (aot_gpr_6 >> 8u); - aot_gpr_6 = (aot_gpr_6 | ctx.gpr[7]); + aot_gpr_6 = (aot_gpr_6 | aot_gpr_7); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_6); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(29552))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(29552), aot_gpr_4); aot_gpr_6 = (std::bit_cast(ctx.fpr[24])); aot_gpr_6 = (aot_gpr_6 >> 8u); - aot_gpr_6 = (aot_gpr_6 | ctx.gpr[7]); + aot_gpr_6 = (aot_gpr_6 | aot_gpr_7); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_6); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(29552))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(29552), aot_gpr_4); aot_gpr_6 = (std::bit_cast(ctx.fpr[16])); aot_gpr_6 = (aot_gpr_6 >> 8u); - aot_gpr_6 = (aot_gpr_6 | ctx.gpr[7]); + aot_gpr_6 = (aot_gpr_6 | aot_gpr_7); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_6); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(29552))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(29552), aot_gpr_4); aot_gpr_6 = (std::bit_cast(ctx.fpr[16])); aot_gpr_6 = (aot_gpr_6 >> 8u); - aot_gpr_6 = (aot_gpr_6 | ctx.gpr[7]); + aot_gpr_6 = (aot_gpr_6 | aot_gpr_7); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_6); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(29552))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(29552), aot_gpr_4); aot_gpr_6 = (std::bit_cast(ctx.fpr[16])); aot_gpr_6 = (aot_gpr_6 >> 8u); - aot_gpr_6 = (aot_gpr_6 | ctx.gpr[7]); + aot_gpr_6 = (aot_gpr_6 | aot_gpr_7); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_6); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(29552))); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(29552), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(1348))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1348))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(112), aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(115))); @@ -5070,28 +5071,28 @@ L_08AFA4B4: aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(112))); aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_5); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(1360))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1360))); aot_gpr_31 = (0x08AFA674u); aot_gpr_4 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFA674u) goto L_08AFA674; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFA674u) goto L_08AFA674; AOT_REGCACHE_SYNC_OUT(); return; L_08AFA674: aot_gpr_4 = (0u | 11u); aot_gpr_31 = (0x08AFA680u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFA680u) goto L_08AFA680; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFA680u) goto L_08AFA680; AOT_REGCACHE_SYNC_OUT(); return; L_08AFA680: aot_gpr_4 = (0u | 8u); aot_gpr_31 = (0x08AFA68Cu); aot_gpr_5 = (0u | 5u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFA68Cu) goto L_08AFA68C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFA68Cu) goto L_08AFA68C; AOT_REGCACHE_SYNC_OUT(); return; L_08AFA68C: aot_gpr_4 = (0u | 9u); aot_gpr_31 = (0x08AFA698u); aot_gpr_5 = (0u | 6u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFA698u) goto L_08AFA698; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFA698u) goto L_08AFA698; AOT_REGCACHE_SYNC_OUT(); return; L_08AFA698: ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast(0))); @@ -5181,53 +5182,53 @@ L_08AFA760: goto L_08AFA770; L_08AFA770: ctx.gpr[8] = (0u | 0u); - ctx.gpr[7] = (0u | 0u); + aot_gpr_7 = (0u | 0u); ctx.gpr[8] = (static_cast(ctx.gpr[8]) < static_cast(aot_gpr_4) ? 1u : 0u); if (ctx.gpr[8] != 0u) { - ctx.gpr[7] = (aot_gpr_4 | 0u); + aot_gpr_7 = (aot_gpr_4 | 0u); goto L_08AFA784; } goto L_08AFA784; L_08AFA784: aot_gpr_4 = (0u | 31u); - ctx.gpr[8] = (static_cast(ctx.gpr[7]) < 31 ? 1u : 0u); + ctx.gpr[8] = (static_cast(aot_gpr_7) < 31 ? 1u : 0u); if (ctx.gpr[8] != 0u) { - aot_gpr_4 = (ctx.gpr[7] | 0u); + aot_gpr_4 = (aot_gpr_7 | 0u); goto L_08AFA794; } goto L_08AFA794; L_08AFA794: ctx.gpr[8] = (0u | 0u); - ctx.gpr[7] = (0u | 0u); + aot_gpr_7 = (0u | 0u); ctx.gpr[8] = (static_cast(ctx.gpr[8]) < static_cast(aot_gpr_6) ? 1u : 0u); if (ctx.gpr[8] != 0u) { - ctx.gpr[7] = (aot_gpr_6 | 0u); + aot_gpr_7 = (aot_gpr_6 | 0u); goto L_08AFA7A8; } goto L_08AFA7A8; L_08AFA7A8: aot_gpr_6 = (0u | 31u); - ctx.gpr[8] = (static_cast(ctx.gpr[7]) < 31 ? 1u : 0u); + ctx.gpr[8] = (static_cast(aot_gpr_7) < 31 ? 1u : 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(180), aot_gpr_6); if (ctx.gpr[8] != 0u) { - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(180), ctx.gpr[7]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(180), aot_gpr_7); goto L_08AFA7BC; } goto L_08AFA7BC; L_08AFA7BC: - ctx.gpr[7] = (0u | 0u); + aot_gpr_7 = (0u | 0u); aot_gpr_6 = (0u | 0u); - ctx.gpr[7] = (static_cast(ctx.gpr[7]) < static_cast(aot_gpr_5) ? 1u : 0u); - if (ctx.gpr[7] != 0u) { + aot_gpr_7 = (static_cast(aot_gpr_7) < static_cast(aot_gpr_5) ? 1u : 0u); + if (aot_gpr_7 != 0u) { aot_gpr_6 = (aot_gpr_5 | 0u); goto L_08AFA7D0; } goto L_08AFA7D0; L_08AFA7D0: - ctx.gpr[7] = (0u | 31u); + aot_gpr_7 = (0u | 31u); aot_gpr_5 = (static_cast(aot_gpr_6) < 31 ? 1u : 0u); if (aot_gpr_5 != 0u) { - ctx.gpr[7] = (aot_gpr_6 | 0u); + aot_gpr_7 = (aot_gpr_6 | 0u); goto L_08AFA7E0; } goto L_08AFA7E0; @@ -5261,7 +5262,7 @@ L_08AFA808: goto L_08AFA81C; } L_08AFA81C: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(176), ctx.gpr[7]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(176), aot_gpr_7); ctx.gpr[20] = (2246u << 16u); ctx.gpr[20] = (ctx.gpr[20] + static_cast(1840)); aot_gpr_5 = (16768u << 16u); @@ -5308,7 +5309,7 @@ L_08AFA870: L_08AFA8A8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(156))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(144))); - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(1324))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1324))); aot_gpr_6 = (aot_gpr_6 + aot_gpr_4); aot_gpr_6 = (aot_gpr_6 + aot_gpr_5); aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_6 + static_cast(12))); @@ -5319,7 +5320,7 @@ L_08AFA8A8: } goto L_08AFA8CC; L_08AFA8CC: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(1324))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1324))); aot_gpr_6 = (aot_gpr_6 + aot_gpr_4); aot_gpr_6 = (aot_gpr_6 + aot_gpr_5); aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_6 + static_cast(76))); @@ -5330,7 +5331,7 @@ L_08AFA8CC: } goto L_08AFA8E8; L_08AFA8E8: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(1324))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1324))); aot_gpr_6 = (aot_gpr_6 + aot_gpr_4); aot_gpr_6 = (aot_gpr_6 + aot_gpr_5); aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_6 + static_cast(13))); @@ -5343,7 +5344,7 @@ L_08AFA8E8: L_08AFA904: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(120), std::bit_cast(ctx.fpr[16])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(116), std::bit_cast(ctx.fpr[15])); - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(1324))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1324))); aot_gpr_4 = (aot_gpr_6 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(77))); @@ -5468,7 +5469,7 @@ L_08AFA9EC: L_08AFA9F4: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(120), std::bit_cast(ctx.fpr[16])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(116), std::bit_cast(ctx.fpr[15])); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(1320))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1320))); { const float fs = aot_fpr_13; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); // nop @@ -5521,7 +5522,7 @@ L_08AFAA54: ctx.gpr[16] = (aot_gpr_4 + aot_gpr_4); goto L_08AFAA80; L_08AFAA80: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(1324))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1324))); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[21]); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[18]); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(12))); @@ -5650,7 +5651,7 @@ L_08AFAB54: goto L_08AFAB68; } L_08AFAB68: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(1324))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1324))); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[17]); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[16]); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(4108))); @@ -5681,7 +5682,7 @@ L_08AFAB84: goto L_08AFABB4; } L_08AFABB4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(1324))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1324))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[17]); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[16]); @@ -5704,7 +5705,7 @@ L_08AFABE8: goto L_08AFABF0; } L_08AFABF0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(1324))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1324))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[17]); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[16]); @@ -5722,7 +5723,7 @@ L_08AFABF0: aot_gpr_5 = (ctx.gpr[19] | 0u); goto L_08AF8E44; L_08AFAC30: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(1324))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1324))); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[17]); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[16]); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(4236))); @@ -5757,7 +5758,7 @@ L_08AFAC50: goto L_08AFAC8C; } L_08AFAC8C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(1324))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1324))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[17]); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[16]); @@ -5780,7 +5781,7 @@ L_08AFACC0: goto L_08AFACC8; } L_08AFACC8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(1324))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1324))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[17]); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[16]); @@ -5798,7 +5799,7 @@ L_08AFACC8: aot_gpr_5 = (ctx.gpr[19] | 0u); goto L_08AF8E44; L_08AFAD08: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(1324))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1324))); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[17]); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[16]); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(4109))); @@ -5833,7 +5834,7 @@ L_08AFAD28: goto L_08AFAD64; } L_08AFAD64: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(1324))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1324))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[17]); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[16]); @@ -5856,7 +5857,7 @@ L_08AFAD98: goto L_08AFADA0; } L_08AFADA0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(1324))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1324))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[17]); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[16]); @@ -5874,7 +5875,7 @@ L_08AFADA0: aot_gpr_5 = (ctx.gpr[19] | 0u); goto L_08AF8E44; L_08AFADE0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(1324))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1324))); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[17]); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[16]); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(4237))); @@ -5908,7 +5909,7 @@ L_08AFAE00: } goto L_08AFAE40; L_08AFAE40: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(1324))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1324))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[17]); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[16]); @@ -5932,7 +5933,7 @@ L_08AFAE74: } L_08AFAE7C: ctx.fpr[16] = std::bit_cast(std::bit_cast(aot_fpr_13)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(1324))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1324))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[17]); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[16]); @@ -5960,7 +5961,7 @@ L_08AFAEC0: aot_fpr_12 = std::bit_cast(aot_gpr_4); { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_12)}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(80), aot_run_words); } - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(1282))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(1282))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -5969,8 +5970,8 @@ L_08AFAEC0: goto L_08AFAEE0; } L_08AFAEE0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(1348))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(1324))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1348))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1324))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); aot_gpr_5 = (aot_gpr_5 + ctx.gpr[21]); aot_gpr_5 = (aot_gpr_5 + ctx.gpr[18]); @@ -6040,27 +6041,27 @@ L_08AFAF84: aot_gpr_4 = (aot_gpr_4 + static_cast(1)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(156))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(160))); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(148))); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(148))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(172), aot_gpr_4); aot_gpr_5 = (aot_gpr_5 + static_cast(128)); aot_gpr_6 = (aot_gpr_6 + static_cast(2)); - ctx.gpr[7] = (ctx.gpr[7] + static_cast(2)); + aot_gpr_7 = (aot_gpr_7 + static_cast(2)); ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(180))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(156), aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(160), aot_gpr_6); aot_gpr_4 = (static_cast(ctx.gpr[8]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(148), ctx.gpr[7]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(148), aot_gpr_7); if (branch_taken) { goto L_08AFA85C; } goto L_08AFAFC0; } L_08AFAFC0: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(1360))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1360))); aot_gpr_31 = (0x08AFAFCCu); aot_gpr_4 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFAFCCu) goto L_08AFAFCC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFAFCCu) goto L_08AFAFCC; AOT_REGCACHE_SYNC_OUT(); return; L_08AFAFCC: aot_gpr_31 = (0x08AFAFD4u); @@ -6101,7 +6102,7 @@ L_08AFB024: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); { const std::uint32_t aot_run_words[11]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8452))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8452))); aot_gpr_6 = (static_cast(aot_gpr_6) < 1018 ? 1u : 0u); ctx.gpr[18] = (2238u << 16u); ctx.gpr[18] = (ctx.gpr[18] + static_cast(-272)); @@ -6121,7 +6122,7 @@ L_08AFB024: goto L_08AFB08C; } L_08AFB08C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8456))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); aot_gpr_4 = (static_cast(aot_gpr_4) < 508 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -6135,13 +6136,13 @@ L_08AFB09C: // nop goto L_08AF9350; L_08AFB0A4: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(1360))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1360))); aot_gpr_31 = (0x08AFB0B0u); aot_gpr_4 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFB0B0u) goto L_08AFB0B0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFB0B0u) goto L_08AFB0B0; AOT_REGCACHE_SYNC_OUT(); return; L_08AFB0B0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8456))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); aot_gpr_4 = (aot_gpr_4 << 3u); aot_gpr_5 = (aot_gpr_4 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); @@ -6149,7 +6150,7 @@ L_08AFB0B0: aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(0))); aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(1))); { const bool branch_taken = ctx.gpr[17] == 0u; - ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(2))); + aot_gpr_7 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(2))); if (branch_taken) { goto L_08AFB19C; } @@ -6159,48 +6160,48 @@ L_08AFB0D4: ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(0))); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(8), static_cast(aot_gpr_5)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(9), static_cast(aot_gpr_6)); - aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(10), static_cast(ctx.gpr[7])); + aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(10), static_cast(aot_gpr_7)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(11), static_cast(ctx.gpr[8])); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8456))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); aot_gpr_4 = (aot_gpr_4 << 3u); aot_gpr_5 = (aot_gpr_4 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[19]); aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(0))); aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(1))); - ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(2))); + aot_gpr_7 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(2))); ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(1))); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(8), static_cast(aot_gpr_5)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(9), static_cast(aot_gpr_6)); - aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(10), static_cast(ctx.gpr[7])); + aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(10), static_cast(aot_gpr_7)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(11), static_cast(ctx.gpr[8])); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8456))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); aot_gpr_4 = (aot_gpr_4 << 3u); aot_gpr_5 = (aot_gpr_4 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[20]); aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(0))); aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(1))); - ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(2))); + aot_gpr_7 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(2))); ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(2))); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(8), static_cast(aot_gpr_5)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(9), static_cast(aot_gpr_6)); - aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(10), static_cast(ctx.gpr[7])); + aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(10), static_cast(aot_gpr_7)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(11), static_cast(ctx.gpr[8])); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8456))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); aot_gpr_4 = (aot_gpr_4 << 3u); aot_gpr_5 = (aot_gpr_4 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[21]); aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(0))); aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(1))); - ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(2))); + aot_gpr_7 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(2))); ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(3))); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(8), static_cast(aot_gpr_5)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(9), static_cast(aot_gpr_6)); - aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(10), static_cast(ctx.gpr[7])); + aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(10), static_cast(aot_gpr_7)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(11), static_cast(ctx.gpr[8])); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8456))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); aot_gpr_4 = (aot_gpr_4 << 3u); aot_gpr_5 = (aot_gpr_4 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); @@ -6215,45 +6216,45 @@ L_08AFB19C: aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(8), static_cast(aot_gpr_5)); aot_gpr_5 = (0u | 255u); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(9), static_cast(aot_gpr_6)); - aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(10), static_cast(ctx.gpr[7])); + aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(10), static_cast(aot_gpr_7)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(11), static_cast(aot_gpr_5)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8456))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); aot_gpr_4 = (aot_gpr_4 << 3u); aot_gpr_6 = (aot_gpr_4 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[19]); aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(0))); - ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(1))); + aot_gpr_7 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(1))); ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(2))); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(8), static_cast(aot_gpr_6)); - aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(9), static_cast(ctx.gpr[7])); + aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(9), static_cast(aot_gpr_7)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(10), static_cast(ctx.gpr[8])); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(11), static_cast(aot_gpr_5)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8456))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); aot_gpr_4 = (aot_gpr_4 << 3u); aot_gpr_6 = (aot_gpr_4 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[20]); aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(0))); - ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(1))); + aot_gpr_7 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(1))); ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(2))); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(8), static_cast(aot_gpr_6)); - aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(9), static_cast(ctx.gpr[7])); + aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(9), static_cast(aot_gpr_7)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(10), static_cast(ctx.gpr[8])); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(11), static_cast(aot_gpr_5)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8456))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); aot_gpr_4 = (aot_gpr_4 << 3u); aot_gpr_6 = (aot_gpr_4 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[21]); aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(0))); - ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(1))); + aot_gpr_7 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(1))); ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(2))); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(8), static_cast(aot_gpr_6)); - aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(9), static_cast(ctx.gpr[7])); + aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(9), static_cast(aot_gpr_7)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(10), static_cast(ctx.gpr[8])); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(11), static_cast(aot_gpr_5)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8456))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); aot_gpr_4 = (aot_gpr_4 << 3u); aot_gpr_5 = (aot_gpr_4 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); @@ -6265,49 +6266,49 @@ L_08AFB254: { const float fs = ctx.fpr[26]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_13 = std::bit_cast(0u); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), std::bit_cast(aot_fpr_13)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8456))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); aot_gpr_4 = (aot_gpr_4 << 3u); aot_gpr_5 = (aot_gpr_4 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), std::bit_cast(aot_fpr_13)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8456))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); aot_gpr_4 = (aot_gpr_4 << 3u); aot_gpr_5 = (aot_gpr_4 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[19]); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), std::bit_cast(aot_fpr_13)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8456))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); aot_gpr_4 = (aot_gpr_4 << 3u); aot_gpr_5 = (aot_gpr_4 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[19]); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), std::bit_cast(aot_fpr_12)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8456))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); aot_gpr_4 = (aot_gpr_4 << 3u); aot_gpr_5 = (aot_gpr_4 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[20]); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), std::bit_cast(aot_fpr_12)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8456))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); aot_gpr_4 = (aot_gpr_4 << 3u); aot_gpr_5 = (aot_gpr_4 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[20]); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), std::bit_cast(aot_fpr_12)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8456))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); aot_gpr_4 = (aot_gpr_4 << 3u); aot_gpr_5 = (aot_gpr_4 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[21]); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), std::bit_cast(aot_fpr_12)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8456))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); aot_gpr_4 = (aot_gpr_4 << 3u); aot_gpr_5 = (aot_gpr_4 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[21]); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), std::bit_cast(aot_fpr_13)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8456))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); aot_gpr_4 = (aot_gpr_4 << 3u); aot_gpr_5 = (aot_gpr_4 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); @@ -6318,7 +6319,7 @@ L_08AFB254: aot_fpr_12 = ctx.fpr[24] - aot_fpr_12; aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(16), std::bit_cast(ctx.fpr[22])); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(20), std::bit_cast(aot_fpr_12)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8456))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); aot_gpr_4 = (aot_gpr_4 << 3u); aot_gpr_5 = (aot_gpr_4 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); @@ -6327,7 +6328,7 @@ L_08AFB254: aot_fpr_13 = ctx.fpr[22] + ctx.fpr[26]; aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(16), std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(20), std::bit_cast(aot_fpr_12)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8456))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); aot_gpr_4 = (aot_gpr_4 << 3u); aot_gpr_5 = (aot_gpr_4 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); @@ -6335,32 +6336,32 @@ L_08AFB254: aot_fpr_14 = aot_fpr_20 + ctx.fpr[26]; { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_14), std::bit_cast(aot_fpr_13), std::bit_cast(aot_fpr_12)}; aot_mem.aot_direct_store32_block(aot_gpr_4 + static_cast(12), aot_run_words); } - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8456))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); aot_gpr_4 = (aot_gpr_4 << 3u); aot_gpr_5 = (aot_gpr_4 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[21]); { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_14), std::bit_cast(ctx.fpr[22]), std::bit_cast(aot_fpr_12)}; aot_mem.aot_direct_store32_block(aot_gpr_4 + static_cast(12), aot_run_words); } - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8456))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8452))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8452))); aot_gpr_6 = (aot_gpr_5 + aot_gpr_5); - ctx.gpr[7] = (2238u << 16u); - ctx.gpr[7] = (ctx.gpr[7] + static_cast(12016)); - aot_gpr_6 = (aot_gpr_6 + ctx.gpr[7]); + aot_gpr_7 = (2238u << 16u); + aot_gpr_7 = (aot_gpr_7 + static_cast(12016)); + aot_gpr_6 = (aot_gpr_6 + aot_gpr_7); aot_mem.aot_direct_store16(aot_gpr_6 + static_cast(0), static_cast(aot_gpr_4)); - ctx.gpr[7] = (aot_gpr_4 + static_cast(2)); - aot_mem.aot_direct_store16(aot_gpr_6 + static_cast(2), static_cast(ctx.gpr[7])); + aot_gpr_7 = (aot_gpr_4 + static_cast(2)); + aot_mem.aot_direct_store16(aot_gpr_6 + static_cast(2), static_cast(aot_gpr_7)); ctx.gpr[8] = (aot_gpr_4 + static_cast(1)); aot_mem.aot_direct_store16(aot_gpr_6 + static_cast(4), static_cast(ctx.gpr[8])); aot_mem.aot_direct_store16(aot_gpr_6 + static_cast(6), static_cast(aot_gpr_4)); ctx.gpr[8] = (aot_gpr_4 + static_cast(3)); aot_mem.aot_direct_store16(aot_gpr_6 + static_cast(8), static_cast(ctx.gpr[8])); - aot_mem.aot_direct_store16(aot_gpr_6 + static_cast(10), static_cast(ctx.gpr[7])); + aot_mem.aot_direct_store16(aot_gpr_6 + static_cast(10), static_cast(aot_gpr_7)); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(8456), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8456), aot_gpr_4); aot_gpr_4 = (aot_gpr_5 + static_cast(6)); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(8452), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8452), aot_gpr_4); { std::uint32_t aot_run_words[11]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); @@ -6384,17 +6385,17 @@ L_08AFB254: L_08AFB424: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_gpr_4 = (0u | 4u); - aot_mem.aot_direct_store16(aot_gpr_28 + static_cast(8352), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store16(ctx.gpr[28] + static_cast(8352), static_cast(aot_gpr_4)); aot_fpr_12 = std::bit_cast(0u); - aot_mem.aot_direct_store16(aot_gpr_28 + static_cast(8344), static_cast(aot_gpr_4)); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(8664), std::bit_cast(aot_fpr_12)); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(10288), 0u); + aot_mem.aot_direct_store16(ctx.gpr[28] + static_cast(8344), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8664), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(10288), 0u); aot_gpr_4 = (0u + static_cast(-1)); - aot_mem.aot_direct_store16(aot_gpr_28 + static_cast(10284), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store16(ctx.gpr[28] + static_cast(10284), static_cast(aot_gpr_4)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[16]); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(10416), 0u); - ctx.gpr[16] = (aot_gpr_28 + static_cast(7768)); - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(8668), static_cast(0u)); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(10416), 0u); + ctx.gpr[16] = (ctx.gpr[28] + static_cast(7768)); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(8668), static_cast(0u)); aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 3u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_31); @@ -6404,14 +6405,14 @@ L_08AFB424: AOT_REGCACHE_SYNC_OUT(); return; L_08AFB46C: { const bool branch_taken = static_cast(ctx.gpr[2]) < 0; - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(1552), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(1552), ctx.gpr[2]); if (branch_taken) { goto L_08AFB484; } goto L_08AFB474; } L_08AFB474: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(1552))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1552))); aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AFB484u); aot_gpr_6 = (0u | 1u); @@ -6435,7 +6436,7 @@ L_08AFB484: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_4 = (aot_gpr_28 + static_cast(8576)); + aot_gpr_4 = (ctx.gpr[28] + static_cast(8576)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; @@ -6470,16 +6471,16 @@ L_08AFB484: AOT_REGCACHE_SYNC_OUT(); return; L_08AFB4E0: jump_target = aot_gpr_31; - aot_mem.aot_direct_store16(aot_gpr_28 + static_cast(10284), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store16(ctx.gpr[28] + static_cast(10284), static_cast(aot_gpr_4)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08AFB4E8: - aot_mem.aot_direct_store16(aot_gpr_28 + static_cast(10284), static_cast(aot_gpr_4)); - aot_mem.aot_direct_store16(aot_gpr_28 + static_cast(8344), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store16(ctx.gpr[28] + static_cast(10284), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store16(ctx.gpr[28] + static_cast(8344), static_cast(aot_gpr_4)); jump_target = aot_gpr_31; - aot_mem.aot_direct_store16(aot_gpr_28 + static_cast(8352), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store16(ctx.gpr[28] + static_cast(8352), static_cast(aot_gpr_4)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -6487,14 +6488,14 @@ L_08AFB4E8: L_08AFB4F8: aot_gpr_4 = (0u + static_cast(-1)); jump_target = aot_gpr_31; - aot_mem.aot_direct_store16(aot_gpr_28 + static_cast(10284), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store16(ctx.gpr[28] + static_cast(10284), static_cast(aot_gpr_4)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08AFB504: aot_gpr_29 = (aot_gpr_29 + static_cast(-144)); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(-7080))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7080))); { const std::uint32_t aot_run_words[13]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(80), aot_run_words); } { const bool branch_taken = aot_gpr_4 != 0u; @@ -6505,10 +6506,10 @@ L_08AFB504: goto L_08AFB548; } L_08AFB548: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(7648))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7648))); aot_gpr_4 = (static_cast(aot_gpr_4) < 7 ? 1u : 0u); if (aot_gpr_4 == 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(7648))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7648))); goto L_08AFB568; } goto L_08AFB558; @@ -6639,7 +6640,7 @@ L_08AFB600: L_08AFB630: aot_gpr_31 = (0x08AFB638u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFB638u) goto L_08AFB638; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFB638u) goto L_08AFB638; AOT_REGCACHE_SYNC_OUT(); return; L_08AFB638: aot_gpr_4 = (16880u << 16u); @@ -6648,7 +6649,7 @@ L_08AFB638: { const float fs = aot_fpr_12; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_31 = (0x08AFB650u); aot_fpr_20 = ctx.fpr[24] + aot_fpr_12; - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFB650u) goto L_08AFB650; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFB650u) goto L_08AFB650; AOT_REGCACHE_SYNC_OUT(); return; L_08AFB650: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -6661,7 +6662,7 @@ L_08AFB650: { const float fs = aot_fpr_12; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_31 = (0x08AFB678u); aot_fpr_20 = aot_fpr_20 + aot_fpr_12; - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFB678u) goto L_08AFB678; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFB678u) goto L_08AFB678; AOT_REGCACHE_SYNC_OUT(); return; L_08AFB678: aot_gpr_4 = (ctx.gpr[2] << 16u); @@ -6677,7 +6678,7 @@ L_08AFB678: L_08AFB68C: aot_gpr_31 = (0x08AFB694u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFB694u) goto L_08AFB694; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFB694u) goto L_08AFB694; AOT_REGCACHE_SYNC_OUT(); return; L_08AFB694: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -6737,7 +6738,7 @@ L_08AFB6D0: aot_gpr_4 = (0u | 32u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_6 = (ctx.gpr[20] | 0u); - ctx.gpr[7] = (0u | 0u); + aot_gpr_7 = (0u | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[22])); ctx.gpr[8] = (ctx.gpr[21] | 0u); ctx.gpr[9] = (0u | 0u); @@ -6767,8 +6768,8 @@ L_08AFB780: } L_08AFB788: aot_gpr_4 = (0u | 800u); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(1556), aot_gpr_4); - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(1544), static_cast(0u)); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(1556), aot_gpr_4); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(1544), static_cast(0u)); goto L_08AFB794; L_08AFB794: { std::uint32_t aot_run_words[13]{}; @@ -6907,7 +6908,7 @@ L_08AFB89C: L_08AFB8D8: aot_gpr_31 = (0x08AFB8E0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFB8E0u) goto L_08AFB8E0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFB8E0u) goto L_08AFB8E0; AOT_REGCACHE_SYNC_OUT(); return; L_08AFB8E0: aot_gpr_4 = (16880u << 16u); @@ -6916,7 +6917,7 @@ L_08AFB8E0: { const float fs = aot_fpr_12; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_31 = (0x08AFB8F8u); aot_fpr_20 = ctx.fpr[24] + aot_fpr_12; - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFB8F8u) goto L_08AFB8F8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFB8F8u) goto L_08AFB8F8; AOT_REGCACHE_SYNC_OUT(); return; L_08AFB8F8: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -6929,7 +6930,7 @@ L_08AFB8F8: { const float fs = aot_fpr_12; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_31 = (0x08AFB920u); aot_fpr_20 = aot_fpr_20 + aot_fpr_12; - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFB920u) goto L_08AFB920; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFB920u) goto L_08AFB920; AOT_REGCACHE_SYNC_OUT(); return; L_08AFB920: aot_gpr_4 = (ctx.gpr[2] << 16u); @@ -6945,7 +6946,7 @@ L_08AFB920: L_08AFB934: aot_gpr_31 = (0x08AFB93Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFB93Cu) goto L_08AFB93C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFB93Cu) goto L_08AFB93C; AOT_REGCACHE_SYNC_OUT(); return; L_08AFB93C: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -7023,7 +7024,7 @@ L_08AFB9E4: aot_gpr_4 = (0u | 32u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_6 = (ctx.gpr[20] | 0u); - ctx.gpr[7] = (0u | 0u); + aot_gpr_7 = (0u | 0u); ctx.gpr[8] = (ctx.gpr[21] | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); @@ -7095,7 +7096,7 @@ L_08AFBAD0: goto L_08AFBAD8; } L_08AFBAD8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-23440))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23440))); ctx.fpr[24] = std::bit_cast(0u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(11240))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[24])) ? 0x00800000u : 0u); @@ -7178,7 +7179,7 @@ L_08AFBB44: goto L_08AFBB4C; } L_08AFBB4C: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7896))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7896))); aot_gpr_4 = (15820u << 16u); aot_gpr_4 = (aot_gpr_4 | 52429u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[24])) ? 0x00800000u : 0u); @@ -7192,17 +7193,17 @@ L_08AFBB4C: } L_08AFBB68: aot_gpr_4 = (0u | 800u); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(1556), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(1556), aot_gpr_4); aot_gpr_4 = (0u | 1u); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(1544), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(1544), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08AFBBB8; } goto L_08AFBB7C; } L_08AFBB7C: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_28 + static_cast(1544))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(1544))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -7211,7 +7212,7 @@ L_08AFBB7C: goto L_08AFBB88; } L_08AFBB88: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(1556))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1556))); { const bool branch_taken = static_cast(aot_gpr_4) <= 0; // nop if (branch_taken) { @@ -7224,10 +7225,10 @@ L_08AFBB94: // nop goto L_08AFB504; L_08AFBB9C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(1556))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1556))); aot_gpr_4 = (aot_gpr_4 + static_cast(-1)); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(1556), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(1556), aot_gpr_4); if (branch_taken) { goto L_08AFBBB8; } @@ -7235,12 +7236,12 @@ L_08AFBB9C: } L_08AFBBAC: aot_gpr_4 = (0u | 800u); - aot_mem.aot_direct_store32(aot_gpr_28 + static_cast(1556), aot_gpr_4); - aot_mem.aot_direct_store8(aot_gpr_28 + static_cast(1544), static_cast(0u)); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(1556), aot_gpr_4); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(1544), static_cast(0u)); goto L_08AFBBB8; L_08AFBBB8: aot_gpr_4 = (16268u << 16u); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(8348))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8348))); aot_gpr_4 = (aot_gpr_4 | 52429u); aot_fpr_13 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); @@ -7257,7 +7258,7 @@ L_08AFBBD8: // nop goto L_08AFB7D0; L_08AFBBE0: - aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7896))); + aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7896))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_20 <= ctx.fpr[22])) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); @@ -7300,18 +7301,18 @@ L_08AFBC48: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(116), ctx.gpr[21]); aot_gpr_31 = (0x08AFBC54u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(112), ctx.gpr[20]); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFBC54u) goto L_08AFBC54; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFBC54u) goto L_08AFBC54; AOT_REGCACHE_SYNC_OUT(); return; L_08AFBC54: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-8744))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-8744))); aot_gpr_4 = (ctx.gpr[2] | 0u); - ctx.gpr[7] = (static_cast(static_cast(aot_gpr_6) >> 31u)); + aot_gpr_7 = (static_cast(static_cast(aot_gpr_6) >> 31u)); aot_gpr_31 = (0x08AFBC68u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFBC68u) goto L_08AFBC68; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFBC68u) goto L_08AFBC68; AOT_REGCACHE_SYNC_OUT(); return; L_08AFBC68: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-8740))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-8740))); { const std::int32_t dividend = static_cast(aot_gpr_4); const std::int32_t divisor = static_cast(ctx.gpr[19]); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } ctx.gpr[1] = (ctx.gpr[3] << 1u); aot_gpr_4 = (ctx.gpr[2] >> 31u); @@ -7323,15 +7324,15 @@ L_08AFBC68: ctx.gpr[22] = (ctx.lo); aot_gpr_31 = (0x08AFBC98u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFBC98u) goto L_08AFBC98; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFBC98u) goto L_08AFBC98; AOT_REGCACHE_SYNC_OUT(); return; L_08AFBC98: - ctx.gpr[7] = (static_cast(static_cast(ctx.gpr[22]) >> 31u)); + aot_gpr_7 = (static_cast(static_cast(ctx.gpr[22]) >> 31u)); aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08AFBCACu); aot_gpr_6 = (ctx.gpr[22] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFBCACu) goto L_08AFBCAC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFBCACu) goto L_08AFBCAC; AOT_REGCACHE_SYNC_OUT(); return; L_08AFBCAC: ctx.gpr[1] = (ctx.gpr[3] << 1u); @@ -7345,11 +7346,11 @@ L_08AFBCAC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), std::bit_cast(ctx.fpr[24])); aot_gpr_31 = (0x08AFBCD8u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFBCD8u) goto L_08AFBCD8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFBCD8u) goto L_08AFBCD8; AOT_REGCACHE_SYNC_OUT(); return; L_08AFBCD8: aot_fpr_12 = aot_fpr_20 - ctx.fpr[28]; - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7896))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7896))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), std::bit_cast(ctx.fpr[24])); aot_fpr_13 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_13)); { const float fs = aot_fpr_12; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } @@ -7358,14 +7359,14 @@ L_08AFBCD8: aot_fpr_12 = ctx.fpr[28] + aot_fpr_12; aot_gpr_31 = (0x08AFBD00u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFBD00u) goto L_08AFBD00; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFBD00u) goto L_08AFBD00; AOT_REGCACHE_SYNC_OUT(); return; L_08AFBD00: aot_fpr_12 = ctx.fpr[26] - ctx.fpr[22]; aot_gpr_4 = (0u | 85u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_6 = (ctx.gpr[17] | 0u); - ctx.gpr[7] = (0u | 0u); + aot_gpr_7 = (0u | 0u); { const float fs = aot_fpr_12; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } ctx.gpr[8] = (ctx.gpr[16] | 0u); ctx.gpr[9] = (0u | 0u); @@ -7379,22 +7380,22 @@ L_08AFBD00: L_08AFBD34: aot_gpr_31 = (0x08AFBD3Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFBD3Cu) goto L_08AFBD3C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFBD3Cu) goto L_08AFBD3C; AOT_REGCACHE_SYNC_OUT(); return; L_08AFBD3C: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-8744))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-8744))); aot_gpr_4 = (ctx.gpr[2] | 0u); - ctx.gpr[7] = (static_cast(static_cast(aot_gpr_6) >> 31u)); + aot_gpr_7 = (static_cast(static_cast(aot_gpr_6) >> 31u)); aot_gpr_31 = (0x08AFBD50u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFBD50u) goto L_08AFBD50; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFBD50u) goto L_08AFBD50; AOT_REGCACHE_SYNC_OUT(); return; L_08AFBD50: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-8740))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-8740))); { const std::int32_t dividend = static_cast(aot_gpr_4); const std::int32_t divisor = static_cast(ctx.gpr[19]); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } ctx.gpr[1] = (ctx.gpr[3] << 1u); aot_gpr_6 = (ctx.gpr[2] >> 31u); - ctx.gpr[7] = (static_cast(static_cast(ctx.gpr[3]) >> 31u)); + aot_gpr_7 = (static_cast(static_cast(ctx.gpr[3]) >> 31u)); aot_gpr_6 = (ctx.gpr[1] | aot_gpr_6); aot_gpr_5 = (aot_gpr_6 | 0u); aot_fpr_12 = std::bit_cast(aot_gpr_5); @@ -7407,15 +7408,15 @@ L_08AFBD50: ctx.gpr[20] = (ctx.lo); aot_gpr_31 = (0x08AFBD94u); ctx.gpr[21] = (static_cast(static_cast(ctx.gpr[20]) >> 31u)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFBD94u) goto L_08AFBD94; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFBD94u) goto L_08AFBD94; AOT_REGCACHE_SYNC_OUT(); return; L_08AFBD94: aot_gpr_6 = (ctx.gpr[22] - ctx.gpr[20]); aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08AFBDA8u); - ctx.gpr[7] = (static_cast(static_cast(aot_gpr_6) >> 31u)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFBDA8u) goto L_08AFBDA8; + aot_gpr_7 = (static_cast(static_cast(aot_gpr_6) >> 31u)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFBDA8u) goto L_08AFBDA8; AOT_REGCACHE_SYNC_OUT(); return; L_08AFBDA8: ctx.gpr[1] = (ctx.gpr[3] << 1u); @@ -7423,22 +7424,22 @@ L_08AFBDA8: aot_gpr_5 = (static_cast(static_cast(ctx.gpr[3]) >> 31u)); aot_gpr_4 = (ctx.gpr[1] | aot_gpr_4); aot_gpr_6 = (ctx.gpr[20] + aot_gpr_4); - ctx.gpr[7] = (aot_gpr_6 < aot_gpr_4 ? 1u : 0u); + aot_gpr_7 = (aot_gpr_6 < aot_gpr_4 ? 1u : 0u); aot_gpr_4 = (aot_gpr_6 | 0u); aot_gpr_4 = (aot_gpr_4 | 0u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), std::bit_cast(ctx.fpr[24])); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); - ctx.gpr[7] = (ctx.gpr[7] + ctx.gpr[21]); + aot_gpr_7 = (aot_gpr_7 + ctx.gpr[21]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), std::bit_cast(ctx.fpr[24])); - aot_gpr_5 = (ctx.gpr[7] + aot_gpr_5); + aot_gpr_5 = (aot_gpr_7 + aot_gpr_5); aot_gpr_31 = (0x08AFBDE8u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFBDE8u) goto L_08AFBDE8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFBDE8u) goto L_08AFBDE8; AOT_REGCACHE_SYNC_OUT(); return; L_08AFBDE8: aot_fpr_12 = aot_fpr_20 - ctx.fpr[28]; - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7896))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7896))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), std::bit_cast(ctx.fpr[24])); aot_fpr_13 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_13)); { const float fs = aot_fpr_12; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } @@ -7447,14 +7448,14 @@ L_08AFBDE8: aot_fpr_12 = ctx.fpr[28] + aot_fpr_12; aot_gpr_31 = (0x08AFBE10u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFBE10u) goto L_08AFBE10; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFBE10u) goto L_08AFBE10; AOT_REGCACHE_SYNC_OUT(); return; L_08AFBE10: aot_fpr_12 = ctx.fpr[26] - ctx.fpr[22]; aot_gpr_4 = (0u | 85u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_6 = (ctx.gpr[17] | 0u); - ctx.gpr[7] = (0u | 0u); + aot_gpr_7 = (0u | 0u); { const float fs = aot_fpr_12; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } ctx.gpr[8] = (ctx.gpr[16] | 0u); ctx.gpr[9] = (0u | 0u); @@ -7468,15 +7469,15 @@ L_08AFBE10: L_08AFBE44: aot_gpr_31 = (0x08AFBE4Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFBE4Cu) goto L_08AFBE4C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFBE4Cu) goto L_08AFBE4C; AOT_REGCACHE_SYNC_OUT(); return; L_08AFBE4C: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(-8744))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-8744))); aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08AFBE60u); - ctx.gpr[7] = (static_cast(static_cast(aot_gpr_6) >> 31u)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFBE60u) goto L_08AFBE60; + aot_gpr_7 = (static_cast(static_cast(aot_gpr_6) >> 31u)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFBE60u) goto L_08AFBE60; AOT_REGCACHE_SYNC_OUT(); return; L_08AFBE60: ctx.gpr[1] = (ctx.gpr[3] << 1u); @@ -7491,11 +7492,11 @@ L_08AFBE60: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), std::bit_cast(ctx.fpr[24])); aot_gpr_31 = (0x08AFBE90u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFBE90u) goto L_08AFBE90; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFBE90u) goto L_08AFBE90; AOT_REGCACHE_SYNC_OUT(); return; L_08AFBE90: aot_fpr_12 = aot_fpr_20 - ctx.fpr[28]; - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7896))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7896))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), std::bit_cast(ctx.fpr[24])); aot_fpr_13 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_13)); { const float fs = aot_fpr_12; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } @@ -7504,14 +7505,14 @@ L_08AFBE90: aot_fpr_12 = ctx.fpr[28] + aot_fpr_12; aot_gpr_31 = (0x08AFBEB8u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFBEB8u) goto L_08AFBEB8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFBEB8u) goto L_08AFBEB8; AOT_REGCACHE_SYNC_OUT(); return; L_08AFBEB8: aot_fpr_12 = ctx.fpr[26] - ctx.fpr[22]; aot_gpr_4 = (0u | 85u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_6 = (ctx.gpr[17] | 0u); - ctx.gpr[7] = (0u | 0u); + aot_gpr_7 = (0u | 0u); { const float fs = aot_fpr_12; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } ctx.gpr[8] = (ctx.gpr[16] | 0u); ctx.gpr[9] = (0u | 0u); @@ -7581,7 +7582,7 @@ L_08AFBF68: goto L_08AFBF70; } L_08AFBF70: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_28 + static_cast(7764))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7764))); aot_gpr_5 = (0u | 10u); { const std::uint32_t dividend = aot_gpr_4; const std::uint32_t divisor = aot_gpr_5; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } aot_gpr_4 = (ctx.hi); @@ -7611,7 +7612,7 @@ L_08AFBF90: L_08AFBF98: aot_gpr_31 = (0x08AFBFA0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFBFA0u) goto L_08AFBFA0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFBFA0u) goto L_08AFBFA0; AOT_REGCACHE_SYNC_OUT(); return; L_08AFBFA0: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -7646,7 +7647,7 @@ L_08AFBFB0: aot_gpr_4 = (17174u << 16u); aot_gpr_31 = (0x08AFBFDCu); ctx.fpr[22] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFBFDCu) goto L_08AFBFDC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFBFDCu) goto L_08AFBFDC; AOT_REGCACHE_SYNC_OUT(); return; L_08AFBFDC: aot_fpr_12 = ctx.fpr[22] - aot_fpr_20; @@ -7654,7 +7655,7 @@ L_08AFBFDC: aot_fpr_20 = aot_fpr_20 + aot_fpr_12; aot_gpr_31 = (0x08AFBFF0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFBFF0u) goto L_08AFBFF0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFBFF0u) goto L_08AFBFF0; AOT_REGCACHE_SYNC_OUT(); return; L_08AFBFF0: aot_gpr_4 = (ctx.gpr[2] & 65535u); diff --git a/profiles/vcs/generated/generated_unit_0190.cpp b/profiles/vcs/generated/generated_unit_0190.cpp index 355513b..c8c16b3 100644 --- a/profiles/vcs/generated/generated_unit_0190.cpp +++ b/profiles/vcs/generated/generated_unit_0190.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0190[4090] = { }; void recomp_unit_0190_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,31,29,16,2 fprs=12,13,15,14 gpr_occ=3548 fpr_occ=751 gpr_total=4974 fpr_total=1098 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,31,29,6,2 fprs=12,13,15,14 gpr_occ=3682 fpr_occ=751 gpr_total=5275 fpr_total=1098 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; - std::uint32_t aot_gpr_16 = ctx.gpr[16]; + std::uint32_t aot_gpr_6 = ctx.gpr[6]; std::uint32_t aot_gpr_2 = ctx.gpr[2]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_15 = ctx.fpr[15]; float aot_fpr_14 = ctx.fpr[14]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[31] = aot_gpr_31; ctx.gpr[29] = aot_gpr_29; ctx.gpr[16] = aot_gpr_16; ctx.gpr[2] = aot_gpr_2; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[15] = aot_fpr_15; ctx.fpr[14] = aot_fpr_14; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_2 = ctx.gpr[2]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_15 = ctx.fpr[15]; aot_fpr_14 = ctx.fpr[14]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[31] = aot_gpr_31; ctx.gpr[29] = aot_gpr_29; ctx.gpr[6] = aot_gpr_6; ctx.gpr[2] = aot_gpr_2; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[15] = aot_fpr_15; ctx.fpr[14] = aot_fpr_14; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_2 = ctx.gpr[2]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_15 = ctx.fpr[15]; aot_fpr_14 = ctx.fpr[14]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -1143,11 +1144,11 @@ L_08AFC00C: aot_gpr_5 = (2247u << 16u); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_5 = (aot_gpr_5 + static_cast(-8224)); - ctx.gpr[6] = (2247u << 16u); + aot_gpr_6 = (2247u << 16u); aot_gpr_5 = (aot_gpr_4 + aot_gpr_5); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(-12320)); + aot_gpr_6 = (aot_gpr_6 + static_cast(-12320)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_fpr_15 = aot_fpr_12 - aot_fpr_13; aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); @@ -1164,7 +1165,7 @@ L_08AFC00C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), std::bit_cast(aot_fpr_14)); aot_gpr_31 = (0x08AFC06Cu); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFC06Cu) goto L_08AFC06C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFC06Cu) goto L_08AFC06C; AOT_REGCACHE_SYNC_OUT(); return; L_08AFC06C: aot_fpr_13 = ctx.fpr[24] - ctx.fpr[22]; @@ -1175,9 +1176,9 @@ L_08AFC06C: { const float fs = aot_fpr_13; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), std::bit_cast(aot_fpr_12)); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_fpr_13 = ctx.fpr[22] + aot_fpr_13; - ctx.gpr[6] = (aot_gpr_29 | 0u); + aot_gpr_6 = (aot_gpr_29 | 0u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); @@ -1194,7 +1195,7 @@ L_08AFC0B8: ctx.fpr[20] = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); - aot_gpr_16 = aot_run_words[3]; + ctx.gpr[16] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; } jump_target = aot_gpr_31; @@ -1235,7 +1236,7 @@ L_08AFC100: AOT_REGCACHE_SYNC_OUT(); return; L_08AFC124: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - aot_fpr_13 = std::bit_cast(ctx.gpr[6]); + aot_fpr_13 = std::bit_cast(aot_gpr_6); aot_gpr_5 = (16480u << 16u); aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_13))); aot_fpr_14 = std::bit_cast(aot_gpr_5); @@ -1249,9 +1250,9 @@ L_08AFC124: ctx.gpr[8] = (ctx.gpr[10] + static_cast(48)); ctx.gpr[7] = (ctx.gpr[10] + static_cast(72)); aot_gpr_5 = (ctx.gpr[10] + static_cast(96)); - ctx.gpr[6] = (std::bit_cast(aot_fpr_13)); + aot_gpr_6 = (std::bit_cast(aot_fpr_13)); aot_fpr_13 = std::bit_cast(aot_gpr_2); - ctx.gpr[3] = (static_cast(ctx.gpr[6]) < 256 ? 1u : 0u); + ctx.gpr[3] = (static_cast(aot_gpr_6) < 256 ? 1u : 0u); aot_gpr_2 = (16128u << 16u); { const bool branch_taken = ctx.gpr[3] != 0u; aot_fpr_14 = std::bit_cast(aot_gpr_2); @@ -1261,7 +1262,7 @@ L_08AFC124: goto L_08AFC178; } L_08AFC178: - ctx.gpr[6] = (0u | 255u); + aot_gpr_6 = (0u | 255u); goto L_08AFC17C; L_08AFC17C: aot_gpr_2 = (2236u << 16u); @@ -1415,9 +1416,9 @@ L_08AFC17C: ctx.gpr[3] = (aot_gpr_2 + aot_gpr_2); aot_gpr_2 = (aot_gpr_2 + ctx.gpr[3]); aot_gpr_2 = (aot_gpr_2 + ctx.gpr[8]); - ctx.gpr[3] = (ctx.gpr[6] << 5u); - ctx.gpr[3] = (ctx.gpr[6] + ctx.gpr[3]); - ctx.gpr[3] = (ctx.gpr[6] + ctx.gpr[3]); + ctx.gpr[3] = (aot_gpr_6 << 5u); + ctx.gpr[3] = (aot_gpr_6 + ctx.gpr[3]); + ctx.gpr[3] = (aot_gpr_6 + ctx.gpr[3]); ctx.gpr[12] = (ctx.gpr[3] << 2u); ctx.gpr[3] = (ctx.gpr[3] + ctx.gpr[12]); ctx.gpr[12] = (static_cast(static_cast(ctx.gpr[3]) >> 8u)); @@ -1425,17 +1426,17 @@ L_08AFC17C: ctx.gpr[3] = (ctx.gpr[3] + ctx.gpr[12]); ctx.gpr[3] = (static_cast(static_cast(ctx.gpr[3]) >> 8u)); ctx.gpr[3] = (ctx.gpr[3] & 255u); - ctx.gpr[6] = (ctx.gpr[6] & 255u); + aot_gpr_6 = (aot_gpr_6 & 255u); ctx.gpr[12] = (0u | 255u); aot_mem.aot_direct_store8(aot_gpr_2 + static_cast(8), static_cast(ctx.gpr[3])); aot_mem.aot_direct_store8(aot_gpr_2 + static_cast(9), static_cast(ctx.gpr[3])); - aot_mem.aot_direct_store8(aot_gpr_2 + static_cast(10), static_cast(ctx.gpr[6])); + aot_mem.aot_direct_store8(aot_gpr_2 + static_cast(10), static_cast(aot_gpr_6)); aot_mem.aot_direct_store8(aot_gpr_2 + static_cast(11), static_cast(ctx.gpr[12])); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); - ctx.gpr[6] = (ctx.gpr[6] << 3u); - aot_gpr_2 = (ctx.gpr[6] + ctx.gpr[6]); - ctx.gpr[6] = (ctx.gpr[6] + aot_gpr_2); - ctx.gpr[6] = (ctx.gpr[6] + ctx.gpr[8]); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); + aot_gpr_6 = (aot_gpr_6 << 3u); + aot_gpr_2 = (aot_gpr_6 + aot_gpr_6); + aot_gpr_6 = (aot_gpr_6 + aot_gpr_2); + aot_gpr_6 = (aot_gpr_6 + ctx.gpr[8]); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_4 + static_cast(0), aot_run_words); aot_fpr_15 = std::bit_cast(aot_run_words[0]); @@ -1443,25 +1444,25 @@ L_08AFC17C: ctx.fpr[17] = std::bit_cast(aot_run_words[2]); } { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_15), std::bit_cast(ctx.fpr[16]), std::bit_cast(ctx.fpr[17])}; - aot_mem.aot_direct_store32_block(ctx.gpr[6] + static_cast(12), aot_run_words); } - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); - ctx.gpr[6] = (ctx.gpr[6] << 3u); - aot_gpr_2 = (ctx.gpr[6] + ctx.gpr[6]); - ctx.gpr[6] = (ctx.gpr[6] + aot_gpr_2); - ctx.gpr[6] = (ctx.gpr[6] + ctx.gpr[7]); + aot_mem.aot_direct_store32_block(aot_gpr_6 + static_cast(12), aot_run_words); } + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); + aot_gpr_6 = (aot_gpr_6 << 3u); + aot_gpr_2 = (aot_gpr_6 + aot_gpr_6); + aot_gpr_6 = (aot_gpr_6 + aot_gpr_2); + aot_gpr_6 = (aot_gpr_6 + ctx.gpr[7]); aot_gpr_2 = (0u | 0u); - aot_mem.aot_direct_store8(ctx.gpr[6] + static_cast(8), static_cast(aot_gpr_2)); + aot_mem.aot_direct_store8(aot_gpr_6 + static_cast(8), static_cast(aot_gpr_2)); aot_gpr_2 = (0u | 0u); - aot_mem.aot_direct_store8(ctx.gpr[6] + static_cast(9), static_cast(aot_gpr_2)); + aot_mem.aot_direct_store8(aot_gpr_6 + static_cast(9), static_cast(aot_gpr_2)); aot_gpr_2 = (0u | 0u); - aot_mem.aot_direct_store8(ctx.gpr[6] + static_cast(10), static_cast(aot_gpr_2)); + aot_mem.aot_direct_store8(aot_gpr_6 + static_cast(10), static_cast(aot_gpr_2)); aot_gpr_2 = (0u | 0u); - aot_mem.aot_direct_store8(ctx.gpr[6] + static_cast(11), static_cast(aot_gpr_2)); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); - ctx.gpr[6] = (ctx.gpr[6] << 3u); - aot_gpr_2 = (ctx.gpr[6] + ctx.gpr[6]); - ctx.gpr[6] = (ctx.gpr[6] + aot_gpr_2); - ctx.gpr[6] = (ctx.gpr[6] + ctx.gpr[7]); + aot_mem.aot_direct_store8(aot_gpr_6 + static_cast(11), static_cast(aot_gpr_2)); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); + aot_gpr_6 = (aot_gpr_6 << 3u); + aot_gpr_2 = (aot_gpr_6 + aot_gpr_6); + aot_gpr_6 = (aot_gpr_6 + aot_gpr_2); + aot_gpr_6 = (aot_gpr_6 + ctx.gpr[7]); aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_fpr_15 = aot_fpr_15 + ctx.fpr[16]; @@ -1472,25 +1473,25 @@ L_08AFC17C: ctx.fpr[0] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); ctx.fpr[19] = ctx.fpr[19] + ctx.fpr[0]; { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_15), std::bit_cast(ctx.fpr[17]), std::bit_cast(ctx.fpr[19])}; - aot_mem.aot_direct_store32_block(ctx.gpr[6] + static_cast(12), aot_run_words); } - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); - ctx.gpr[6] = (ctx.gpr[6] << 3u); - aot_gpr_2 = (ctx.gpr[6] + ctx.gpr[6]); - ctx.gpr[6] = (ctx.gpr[6] + aot_gpr_2); - ctx.gpr[6] = (ctx.gpr[6] + aot_gpr_5); + aot_mem.aot_direct_store32_block(aot_gpr_6 + static_cast(12), aot_run_words); } + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); + aot_gpr_6 = (aot_gpr_6 << 3u); + aot_gpr_2 = (aot_gpr_6 + aot_gpr_6); + aot_gpr_6 = (aot_gpr_6 + aot_gpr_2); + aot_gpr_6 = (aot_gpr_6 + aot_gpr_5); aot_gpr_2 = (0u | 0u); - aot_mem.aot_direct_store8(ctx.gpr[6] + static_cast(8), static_cast(aot_gpr_2)); + aot_mem.aot_direct_store8(aot_gpr_6 + static_cast(8), static_cast(aot_gpr_2)); aot_gpr_2 = (0u | 0u); - aot_mem.aot_direct_store8(ctx.gpr[6] + static_cast(9), static_cast(aot_gpr_2)); + aot_mem.aot_direct_store8(aot_gpr_6 + static_cast(9), static_cast(aot_gpr_2)); aot_gpr_2 = (0u | 0u); - aot_mem.aot_direct_store8(ctx.gpr[6] + static_cast(10), static_cast(aot_gpr_2)); + aot_mem.aot_direct_store8(aot_gpr_6 + static_cast(10), static_cast(aot_gpr_2)); aot_gpr_2 = (0u | 0u); - aot_mem.aot_direct_store8(ctx.gpr[6] + static_cast(11), static_cast(aot_gpr_2)); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); - ctx.gpr[6] = (ctx.gpr[6] << 3u); - aot_gpr_2 = (ctx.gpr[6] + ctx.gpr[6]); - ctx.gpr[6] = (ctx.gpr[6] + aot_gpr_2); - ctx.gpr[6] = (ctx.gpr[6] + aot_gpr_5); + aot_mem.aot_direct_store8(aot_gpr_6 + static_cast(11), static_cast(aot_gpr_2)); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); + aot_gpr_6 = (aot_gpr_6 << 3u); + aot_gpr_2 = (aot_gpr_6 + aot_gpr_6); + aot_gpr_6 = (aot_gpr_6 + aot_gpr_2); + aot_gpr_6 = (aot_gpr_6 + aot_gpr_5); aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); aot_fpr_15 = aot_fpr_15 - ctx.fpr[16]; @@ -1501,7 +1502,7 @@ L_08AFC17C: ctx.fpr[0] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); ctx.fpr[19] = ctx.fpr[19] - ctx.fpr[0]; { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_15), std::bit_cast(ctx.fpr[17]), std::bit_cast(ctx.fpr[19])}; - aot_mem.aot_direct_store32_block(ctx.gpr[6] + static_cast(12), aot_run_words); } + aot_mem.aot_direct_store32_block(aot_gpr_6 + static_cast(12), aot_run_words); } aot_gpr_4 = (16672u << 16u); ctx.fpr[16] = std::bit_cast(aot_gpr_4); aot_gpr_4 = (16784u << 16u); @@ -1573,8 +1574,8 @@ L_08AFC500: goto L_08AFC524; L_08AFC524: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(8360))); - ctx.gpr[6] = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7713))); - aot_gpr_4 = (aot_gpr_4 | ctx.gpr[6]); + aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7713))); + aot_gpr_4 = (aot_gpr_4 | aot_gpr_6); if (aot_gpr_4 != 0u) { { const float fs = aot_fpr_13; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_15 = std::bit_cast(0x7FC00000u); else aot_fpr_15 = fs * ft; } goto L_08AFC54C; @@ -1592,11 +1593,11 @@ L_08AFC54C: ctx.fpr[17] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7508))); aot_gpr_4 = (aot_gpr_4 << 3u); ctx.fpr[16] = aot_fpr_15 - ctx.fpr[16]; - ctx.gpr[6] = (aot_gpr_4 + aot_gpr_4); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); - ctx.gpr[6] = (48896u << 16u); + aot_gpr_6 = (aot_gpr_4 + aot_gpr_4); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); + aot_gpr_6 = (48896u << 16u); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[10]); - ctx.fpr[18] = std::bit_cast(ctx.gpr[6]); + ctx.fpr[18] = std::bit_cast(aot_gpr_6); ctx.fpr[16] = ctx.fpr[16] + ctx.fpr[17]; { const float fs = aot_fpr_12; const float ft = ctx.fpr[18]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[18] = std::bit_cast(0x7FC00000u); else ctx.fpr[18] = fs * ft; } aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), std::bit_cast(ctx.fpr[16])); @@ -1604,52 +1605,52 @@ L_08AFC54C: ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7512))); aot_gpr_4 = (aot_gpr_4 << 3u); ctx.fpr[16] = ctx.fpr[18] + ctx.fpr[16]; - ctx.gpr[6] = (aot_gpr_4 + aot_gpr_4); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_6 = (aot_gpr_4 + aot_gpr_4); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[10]); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), std::bit_cast(ctx.fpr[16])); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7508))); aot_gpr_4 = (aot_gpr_4 << 3u); - ctx.gpr[6] = (aot_gpr_4 + aot_gpr_4); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_6 = (aot_gpr_4 + aot_gpr_4); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[9]); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), std::bit_cast(ctx.fpr[16])); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7512))); aot_gpr_4 = (aot_gpr_4 << 3u); - ctx.gpr[6] = (aot_gpr_4 + aot_gpr_4); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_6 = (aot_gpr_4 + aot_gpr_4); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[9]); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), std::bit_cast(ctx.fpr[16])); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7508))); aot_gpr_4 = (aot_gpr_4 << 3u); ctx.fpr[16] = aot_fpr_15 + ctx.fpr[16]; - ctx.gpr[6] = (aot_gpr_4 + aot_gpr_4); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_6 = (aot_gpr_4 + aot_gpr_4); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[8]); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), std::bit_cast(ctx.fpr[16])); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7512))); aot_gpr_4 = (aot_gpr_4 << 3u); - ctx.gpr[6] = (aot_gpr_4 + aot_gpr_4); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_6 = (aot_gpr_4 + aot_gpr_4); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[8]); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), std::bit_cast(ctx.fpr[16])); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7508))); aot_gpr_4 = (aot_gpr_4 << 3u); aot_fpr_13 = ctx.fpr[16] + aot_fpr_13; - ctx.gpr[6] = (aot_gpr_4 + aot_gpr_4); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_6 = (aot_gpr_4 + aot_gpr_4); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[7]); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), std::bit_cast(aot_fpr_13)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7512))); aot_gpr_4 = (aot_gpr_4 << 3u); - ctx.gpr[6] = (aot_gpr_4 + aot_gpr_4); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_6 = (aot_gpr_4 + aot_gpr_4); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[7]); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), std::bit_cast(aot_fpr_13)); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7504))); @@ -1658,8 +1659,8 @@ L_08AFC54C: ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7508))); aot_gpr_4 = (aot_gpr_4 << 3u); { const float fs = aot_fpr_12; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - ctx.gpr[6] = (aot_gpr_4 + aot_gpr_4); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_6 = (aot_gpr_4 + aot_gpr_4); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); aot_fpr_13 = aot_fpr_13 + ctx.fpr[16]; aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), std::bit_cast(aot_fpr_13)); @@ -1667,8 +1668,8 @@ L_08AFC54C: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7512))); aot_gpr_4 = (aot_gpr_4 << 3u); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; - ctx.gpr[6] = (aot_gpr_4 + aot_gpr_4); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_6 = (aot_gpr_4 + aot_gpr_4); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8452))); @@ -1700,10 +1701,10 @@ L_08AFC6BC: aot_fpr_12 = aot_fpr_12 / ctx.fpr[20]; aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8664))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), std::bit_cast(ctx.fpr[22])); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19]}; + { const std::uint32_t aot_run_words[4]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(40), aot_run_words); } aot_gpr_5 = (16256u << 16u); - aot_gpr_16 = (0u | 4u); + ctx.gpr[16] = (0u | 4u); ctx.gpr[17] = (0u | 2u); ctx.gpr[18] = (0u | 1u); ctx.gpr[19] = (0u | 3u); @@ -1731,7 +1732,7 @@ L_08AFC740: goto L_08AFC750; } L_08AFC750: - aot_mem.aot_direct_store16(ctx.gpr[28] + static_cast(8352), static_cast(aot_gpr_16)); + aot_mem.aot_direct_store16(ctx.gpr[28] + static_cast(8352), static_cast(ctx.gpr[16])); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[28] + static_cast(8352)))))); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store16(ctx.gpr[28] + static_cast(8344), static_cast(aot_gpr_4)); @@ -1810,8 +1811,8 @@ L_08AFC7C8: AOT_REGCACHE_SYNC_OUT(); return; L_08AFC7D4: aot_gpr_4 = (aot_gpr_2 | 0u); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(48)))))); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(48)))))); + { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_5 = (0u | 0u); if (branch_taken) { goto L_08AFC7F4; @@ -1848,8 +1849,8 @@ L_08AFC800: AOT_REGCACHE_SYNC_OUT(); return; L_08AFC808: aot_gpr_4 = (aot_gpr_2 | 0u); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(42)))))); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(42)))))); + { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_5 = (0u | 0u); if (branch_taken) { goto L_08AFC828; @@ -1957,7 +1958,7 @@ L_08AFC8A4: L_08AFC8B0: aot_gpr_31 = (0x08AFC8B8u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFC8B8u) goto L_08AFC8B8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFC8B8u) goto L_08AFC8B8; AOT_REGCACHE_SYNC_OUT(); return; L_08AFC8B8: aot_gpr_4 = (aot_gpr_2 & 65535u); @@ -1972,25 +1973,25 @@ L_08AFC8B8: } L_08AFC8CC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7764))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(10408))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(10408))); ctx.gpr[7] = (0u | 20u); - aot_gpr_4 = (aot_gpr_4 - ctx.gpr[6]); + aot_gpr_4 = (aot_gpr_4 - aot_gpr_6); aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(10404), static_cast(0u)); - ctx.gpr[6] = (ctx.gpr[7] < aot_gpr_4 ? 1u : 0u); - if (ctx.gpr[6] != 0u) { + aot_gpr_6 = (ctx.gpr[7] < aot_gpr_4 ? 1u : 0u); + if (aot_gpr_6 != 0u) { aot_gpr_4 = (0u | 20u); goto L_08AFC8EC; } goto L_08AFC8EC; L_08AFC8EC: - ctx.gpr[6] = (0u | 20u); - ctx.gpr[6] = (ctx.gpr[6] - aot_gpr_4); - ctx.gpr[7] = (ctx.gpr[6] << 5u); - ctx.gpr[7] = (ctx.gpr[7] - ctx.gpr[6]); + aot_gpr_6 = (0u | 20u); + aot_gpr_6 = (aot_gpr_6 - aot_gpr_4); + ctx.gpr[7] = (aot_gpr_6 << 5u); + ctx.gpr[7] = (ctx.gpr[7] - aot_gpr_6); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(10412), aot_gpr_4); - aot_gpr_4 = (ctx.gpr[7] - ctx.gpr[6]); - ctx.gpr[6] = (aot_gpr_4 << 2u); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_4 = (ctx.gpr[7] - aot_gpr_6); + aot_gpr_6 = (aot_gpr_4 << 2u); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(10416), aot_gpr_4); { const bool branch_taken = 0u == 0u; @@ -2014,7 +2015,7 @@ L_08AFC91C: L_08AFC930: aot_gpr_31 = (0x08AFC938u); ctx.gpr[20] = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(8592))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFC938u) goto L_08AFC938; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFC938u) goto L_08AFC938; AOT_REGCACHE_SYNC_OUT(); return; L_08AFC938: aot_gpr_4 = (aot_gpr_2 & 65535u); @@ -2043,7 +2044,7 @@ L_08AFC958: L_08AFC960: aot_gpr_31 = (0x08AFC968u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFC968u) goto L_08AFC968; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFC968u) goto L_08AFC968; AOT_REGCACHE_SYNC_OUT(); return; L_08AFC968: aot_gpr_4 = (aot_gpr_2 & 65535u); @@ -2102,11 +2103,11 @@ L_08AFC9B8: goto L_08AFC9C8; } L_08AFC9C8: - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(10412))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(10412))); aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); - aot_fpr_12 = std::bit_cast(ctx.gpr[6]); + aot_fpr_12 = std::bit_cast(aot_gpr_6); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1552))); - { const bool branch_taken = static_cast(ctx.gpr[6]) >= 0; + { const bool branch_taken = static_cast(aot_gpr_6) >= 0; aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); if (branch_taken) { goto L_08AFC9EC; @@ -2114,14 +2115,14 @@ L_08AFC9C8: goto L_08AFC9E0; } L_08AFC9E0: - ctx.gpr[6] = (20352u << 16u); - aot_fpr_13 = std::bit_cast(ctx.gpr[6]); + aot_gpr_6 = (20352u << 16u); + aot_fpr_13 = std::bit_cast(aot_gpr_6); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; goto L_08AFC9EC; L_08AFC9EC: aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[24])); aot_gpr_31 = (0x08AFC9F8u); - ctx.gpr[6] = (0u | 184u); + aot_gpr_6 = (0u | 184u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 503u, 0x08A05F80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFC9F8u) goto L_08AFC9F8; AOT_REGCACHE_SYNC_OUT(); return; L_08AFC9F8: @@ -2132,14 +2133,14 @@ L_08AFC9F8: L_08AFCA00: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(10412))); aot_gpr_5 = (aot_gpr_4 << 5u); - ctx.gpr[6] = (aot_gpr_4 << 3u); - aot_gpr_5 = (aot_gpr_5 + ctx.gpr[6]); + aot_gpr_6 = (aot_gpr_4 << 3u); + aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); aot_gpr_5 = (aot_gpr_5 + static_cast(100)); aot_gpr_4 = (aot_gpr_4 + aot_gpr_4); aot_gpr_5 = (aot_gpr_5 << 16u); - ctx.gpr[6] = (aot_gpr_4 + static_cast(80)); + aot_gpr_6 = (aot_gpr_4 + static_cast(80)); aot_gpr_5 = (static_cast(static_cast(aot_gpr_5) >> 16u)); - ctx.gpr[6] = (ctx.gpr[6] & 255u); + aot_gpr_6 = (aot_gpr_6 & 255u); aot_gpr_31 = (0x08AFCA30u); aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0097_entry, 97u, 954u, 0x0898BB3Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFCA30u) goto L_08AFCA30; @@ -2150,7 +2151,7 @@ L_08AFCA30: L_08AFCA34: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[28] + static_cast(8344)))))); { const bool branch_taken = aot_gpr_4 == ctx.gpr[17]; - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[28] + static_cast(8352)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[28] + static_cast(8352)))))); if (branch_taken) { goto L_08AFCA4C; } @@ -2166,7 +2167,7 @@ L_08AFCA40: goto L_08AFCA4C; } L_08AFCA4C: - { const bool branch_taken = ctx.gpr[6] == ctx.gpr[17]; + { const bool branch_taken = aot_gpr_6 == ctx.gpr[17]; aot_gpr_5 = (0u | 5u); if (branch_taken) { goto L_08AFCA5C; @@ -2174,7 +2175,7 @@ L_08AFCA4C: goto L_08AFCA54; } L_08AFCA54: - { const bool branch_taken = ctx.gpr[6] != aot_gpr_5; + { const bool branch_taken = aot_gpr_6 != aot_gpr_5; // nop if (branch_taken) { goto L_08AFCA64; @@ -2200,7 +2201,7 @@ L_08AFCA64: goto L_08AFCA74; } L_08AFCA74: - { const bool branch_taken = ctx.gpr[6] == ctx.gpr[17]; + { const bool branch_taken = aot_gpr_6 == ctx.gpr[17]; // nop if (branch_taken) { goto L_08AFCA84; @@ -2208,7 +2209,7 @@ L_08AFCA74: goto L_08AFCA7C; } L_08AFCA7C: - { const bool branch_taken = ctx.gpr[6] != aot_gpr_5; + { const bool branch_taken = aot_gpr_6 != aot_gpr_5; // nop if (branch_taken) { goto L_08AFCA90; @@ -2228,7 +2229,7 @@ L_08AFCA90: aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7888), std::bit_cast(ctx.fpr[22])); goto L_08AFCA94; L_08AFCA94: - { const bool branch_taken = ctx.gpr[6] == ctx.gpr[17]; + { const bool branch_taken = aot_gpr_6 == ctx.gpr[17]; aot_gpr_5 = (0u | 5u); if (branch_taken) { goto L_08AFCAA4; @@ -2236,7 +2237,7 @@ L_08AFCA94: goto L_08AFCA9C; } L_08AFCA9C: - { const bool branch_taken = ctx.gpr[6] != aot_gpr_5; + { const bool branch_taken = aot_gpr_6 != aot_gpr_5; // nop if (branch_taken) { goto L_08AFCB58; @@ -2354,7 +2355,7 @@ L_08AFCB5C: goto L_08AFCB64; } L_08AFCB64: - { const bool branch_taken = aot_gpr_4 == aot_gpr_16; + { const bool branch_taken = aot_gpr_4 == ctx.gpr[16]; aot_gpr_5 = (0u | 7u); if (branch_taken) { goto L_08AFCB74; @@ -2383,7 +2384,7 @@ L_08AFCB7C: aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8396), std::bit_cast(aot_fpr_12)); goto L_08AFCB88; L_08AFCB88: - { const bool branch_taken = ctx.gpr[6] == 0u; + { const bool branch_taken = aot_gpr_6 == 0u; // nop if (branch_taken) { goto L_08AFCBB0; @@ -2391,7 +2392,7 @@ L_08AFCB88: goto L_08AFCB90; } L_08AFCB90: - { const bool branch_taken = ctx.gpr[6] == aot_gpr_16; + { const bool branch_taken = aot_gpr_6 == ctx.gpr[16]; aot_gpr_5 = (0u | 7u); if (branch_taken) { goto L_08AFCBB0; @@ -2399,7 +2400,7 @@ L_08AFCB90: goto L_08AFCB98; } L_08AFCB98: - { const bool branch_taken = ctx.gpr[6] == aot_gpr_5; + { const bool branch_taken = aot_gpr_6 == aot_gpr_5; // nop if (branch_taken) { goto L_08AFCBB0; @@ -2448,7 +2449,7 @@ L_08AFCBD4: aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7900), std::bit_cast(aot_fpr_12)); goto L_08AFCBE4; L_08AFCBE4: - { const bool branch_taken = aot_gpr_4 == aot_gpr_16; + { const bool branch_taken = aot_gpr_4 == ctx.gpr[16]; aot_gpr_5 = (0u | 7u); if (branch_taken) { goto L_08AFCBFC; @@ -2477,7 +2478,7 @@ L_08AFCBFC: aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8400), std::bit_cast(aot_fpr_12)); goto L_08AFCC08; L_08AFCC08: - { const bool branch_taken = ctx.gpr[6] == aot_gpr_16; + { const bool branch_taken = aot_gpr_6 == ctx.gpr[16]; aot_gpr_5 = (0u | 7u); if (branch_taken) { goto L_08AFCC18; @@ -2485,7 +2486,7 @@ L_08AFCC08: goto L_08AFCC10; } L_08AFCC10: - { const bool branch_taken = ctx.gpr[6] != aot_gpr_5; + { const bool branch_taken = aot_gpr_6 != aot_gpr_5; // nop if (branch_taken) { goto L_08AFCC28; @@ -2507,7 +2508,7 @@ L_08AFCC28: goto L_08AFCC30; } L_08AFCC30: - { const bool branch_taken = ctx.gpr[6] == 0u; + { const bool branch_taken = aot_gpr_6 == 0u; // nop if (branch_taken) { goto L_08AFCC48; @@ -2515,7 +2516,7 @@ L_08AFCC30: goto L_08AFCC38; } L_08AFCC38: - { const bool branch_taken = ctx.gpr[6] == aot_gpr_16; + { const bool branch_taken = aot_gpr_6 == ctx.gpr[16]; aot_gpr_5 = (0u | 7u); if (branch_taken) { goto L_08AFCC48; @@ -2523,7 +2524,7 @@ L_08AFCC38: goto L_08AFCC40; } L_08AFCC40: - { const bool branch_taken = ctx.gpr[6] != aot_gpr_5; + { const bool branch_taken = aot_gpr_6 != aot_gpr_5; // nop if (branch_taken) { goto L_08AFCCB8; @@ -2596,7 +2597,7 @@ L_08AFCCB8: aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(10400), std::bit_cast(ctx.fpr[22])); goto L_08AFCCBC; L_08AFCCBC: - { const bool branch_taken = aot_gpr_4 == aot_gpr_16; + { const bool branch_taken = aot_gpr_4 == ctx.gpr[16]; aot_gpr_5 = (0u | 7u); if (branch_taken) { goto L_08AFCCD8; @@ -2626,7 +2627,7 @@ L_08AFCCD8: aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(9268), std::bit_cast(aot_fpr_12)); goto L_08AFCCE4; L_08AFCCE4: - { const bool branch_taken = ctx.gpr[6] == aot_gpr_16; + { const bool branch_taken = aot_gpr_6 == ctx.gpr[16]; aot_gpr_5 = (0u | 7u); if (branch_taken) { goto L_08AFCCF4; @@ -2634,7 +2635,7 @@ L_08AFCCE4: goto L_08AFCCEC; } L_08AFCCEC: - { const bool branch_taken = ctx.gpr[6] != aot_gpr_5; + { const bool branch_taken = aot_gpr_6 != aot_gpr_5; // nop if (branch_taken) { goto L_08AFCD00; @@ -2704,7 +2705,7 @@ L_08AFCD6C: L_08AFCD7C: aot_gpr_31 = (0x08AFCD84u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFCD84u) goto L_08AFCD84; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFCD84u) goto L_08AFCD84; AOT_REGCACHE_SYNC_OUT(); return; L_08AFCD84: aot_gpr_4 = (aot_gpr_2 & 65535u); @@ -2716,7 +2717,7 @@ L_08AFCD84: aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(9268))); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[28] + static_cast(8352)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[28] + static_cast(8352)))))); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[28] + static_cast(8344)))))); aot_fpr_12 = ctx.fpr[24] - aot_fpr_12; { const float fs = aot_fpr_14; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } @@ -2731,9 +2732,9 @@ L_08AFCDC0: aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8664))); - ctx.gpr[6] = (ctx.gpr[6] << 2u); + aot_gpr_6 = (aot_gpr_6 << 2u); aot_fpr_15 = ctx.fpr[24] - aot_fpr_12; - aot_gpr_4 = (ctx.gpr[6] + aot_gpr_5); + aot_gpr_4 = (aot_gpr_6 + aot_gpr_5); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); ctx.fpr[16] = std::bit_cast(std::bit_cast(ctx.fpr[24])); { const float fs = aot_fpr_14; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[17] = std::bit_cast(0x7FC00000u); else ctx.fpr[17] = fs * ft; } @@ -2906,7 +2907,7 @@ L_08AFCF00: } goto L_08AFCF0C; L_08AFCF0C: - { const bool branch_taken = aot_gpr_4 == aot_gpr_16; + { const bool branch_taken = aot_gpr_4 == ctx.gpr[16]; aot_gpr_5 = (0u | 7u); if (branch_taken) { goto L_08AFCF1C; @@ -3052,7 +3053,7 @@ L_08AFCFD4: } goto L_08AFCFE0; L_08AFCFE0: - { const bool branch_taken = aot_gpr_4 == aot_gpr_16; + { const bool branch_taken = aot_gpr_4 == ctx.gpr[16]; aot_gpr_5 = (0u | 7u); if (branch_taken) { goto L_08AFCFF0; @@ -3113,7 +3114,7 @@ L_08AFD028: ctx.fpr[20] = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); - aot_gpr_16 = aot_run_words[3]; + ctx.gpr[16] = aot_run_words[3]; ctx.gpr[17] = aot_run_words[4]; ctx.gpr[18] = aot_run_words[5]; ctx.gpr[19] = aot_run_words[6]; @@ -3128,7 +3129,7 @@ L_08AFD028: AOT_REGCACHE_SYNC_OUT(); return; L_08AFD054: aot_gpr_29 = (aot_gpr_29 + static_cast(-176)); - { const std::uint32_t aot_run_words[16]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; + { const std::uint32_t aot_run_words[16]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(112), aot_run_words); } aot_gpr_31 = (0x08AFD0A0u); // nop @@ -3176,7 +3177,7 @@ L_08AFD0D4: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7713))); aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_16 = (std::bit_cast(aot_fpr_12)); + ctx.gpr[16] = (std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_08AFD1CC; } @@ -3184,7 +3185,7 @@ L_08AFD0D4: } L_08AFD0F4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23440))); - aot_fpr_15 = std::bit_cast(aot_gpr_16); + aot_fpr_15 = std::bit_cast(ctx.gpr[16]); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(11228))); aot_fpr_15 = static_cast(static_cast(std::bit_cast(aot_fpr_15))); aot_fpr_12 = std::bit_cast(aot_gpr_4); @@ -3197,8 +3198,8 @@ L_08AFD0F4: { const float fs = aot_fpr_12; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } { const float fs = aot_fpr_12; const float ft = aot_fpr_15; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); - aot_gpr_16 = (std::bit_cast(aot_fpr_12)); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (std::bit_cast(aot_fpr_12)); + { const bool branch_taken = ctx.gpr[16] == 0u; ctx.gpr[20] = (2236u << 16u); if (branch_taken) { goto L_08AFD1C4; @@ -3220,7 +3221,7 @@ L_08AFD138: goto L_08AFD158; } L_08AFD158: - aot_fpr_12 = std::bit_cast(aot_gpr_16); + aot_fpr_12 = std::bit_cast(ctx.gpr[16]); aot_gpr_4 = (16000u << 16u); ctx.fpr[30] = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_fpr_13 = std::bit_cast(aot_gpr_4); @@ -3246,7 +3247,7 @@ L_08AFD158: ctx.gpr[30] = (aot_gpr_29 + static_cast(64)); ctx.gpr[21] = (ctx.gpr[20] + static_cast(16)); { const bool branch_taken = 0u == 0u; - aot_gpr_16 = (aot_gpr_4 + static_cast(12624)); + ctx.gpr[16] = (aot_gpr_4 + static_cast(12624)); if (branch_taken) { goto L_08AFD1DC; } @@ -3277,7 +3278,7 @@ L_08AFD1D4: goto L_08AFD1DC; } L_08AFD1DC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(24))); aot_gpr_5 = (16512u << 16u); { const bool branch_taken = aot_gpr_4 == 0u; aot_fpr_12 = std::bit_cast(aot_gpr_5); @@ -3287,7 +3288,7 @@ L_08AFD1DC: goto L_08AFD1EC; } L_08AFD1EC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(24))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); ctx.fpr[20] = std::bit_cast(aot_gpr_4); @@ -3318,7 +3319,7 @@ L_08AFD210: } L_08AFD22C: { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(24), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(24), 0u); if (branch_taken) { goto L_08AFD614; } @@ -3374,9 +3375,9 @@ L_08AFD28C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(96))); goto L_08AFD290; L_08AFD290: - ctx.gpr[6] = (aot_gpr_4 | 0u); + aot_gpr_6 = (aot_gpr_4 | 0u); { std::uint32_t aot_run_words[3]{}; - aot_mem.aot_direct_load32_block(aot_gpr_16 + static_cast(12), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[16] + static_cast(12), aot_run_words); aot_fpr_12 = std::bit_cast(aot_run_words[0]); aot_fpr_13 = std::bit_cast(aot_run_words[1]); aot_fpr_14 = std::bit_cast(aot_run_words[2]); @@ -3416,18 +3417,18 @@ L_08AFD290: const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(12))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(12))); { const float fs = aot_fpr_13; const float ft = ctx.fpr[20]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_fpr_12 = aot_fpr_12 + aot_fpr_13; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(16))); { const float fs = aot_fpr_14; const float ft = ctx.fpr[20]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } aot_fpr_12 = aot_fpr_12 + aot_fpr_14; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); - aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(8))); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(20))); { const float fs = aot_fpr_15; const float ft = ctx.fpr[20]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_fpr_12 = aot_fpr_12 + aot_fpr_13; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), std::bit_cast(aot_fpr_12)); @@ -3575,7 +3576,7 @@ L_08AFD3BC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(72), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08AFD3E0u); ctx.fpr[20] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFD3E0u) goto L_08AFD3E0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFD3E0u) goto L_08AFD3E0; AOT_REGCACHE_SYNC_OUT(); return; L_08AFD3E0: aot_gpr_4 = (aot_gpr_2 & 65535u); @@ -3590,7 +3591,7 @@ L_08AFD3E0: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08AFD410u); ctx.fpr[20] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(68))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFD410u) goto L_08AFD410; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFD410u) goto L_08AFD410; AOT_REGCACHE_SYNC_OUT(); return; L_08AFD410: aot_gpr_4 = (aot_gpr_2 & 65535u); @@ -3613,7 +3614,7 @@ L_08AFD430: L_08AFD438: aot_gpr_31 = (0x08AFD440u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFD440u) goto L_08AFD440; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFD440u) goto L_08AFD440; AOT_REGCACHE_SYNC_OUT(); return; L_08AFD440: aot_gpr_4 = (aot_gpr_2 & 65535u); @@ -3633,15 +3634,15 @@ L_08AFD450: aot_gpr_4 = (aot_gpr_4 | 26214u); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(4))); aot_fpr_15 = std::bit_cast(aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(12), std::bit_cast(ctx.fpr[22])); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(12), std::bit_cast(ctx.fpr[22])); { const float fs = ctx.fpr[22]; const float ft = aot_fpr_15; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[16] = std::bit_cast(0x7FC00000u); else ctx.fpr[16] = fs * ft; } aot_gpr_4 = (49472u << 16u); aot_fpr_12 = aot_fpr_13 + aot_fpr_12; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(16), std::bit_cast(ctx.fpr[22])); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(16), std::bit_cast(ctx.fpr[22])); ctx.fpr[17] = std::bit_cast(aot_gpr_4); ctx.fpr[18] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); { const float fs = aot_fpr_14; const float ft = ctx.fpr[26]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(20), std::bit_cast(ctx.fpr[17])); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(20), std::bit_cast(ctx.fpr[17])); { const float fs = ctx.fpr[22]; const float ft = aot_fpr_15; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_15 = std::bit_cast(0x7FC00000u); else aot_fpr_15 = fs * ft; } ctx.fpr[17] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(8))); aot_fpr_12 = aot_fpr_12 - ctx.fpr[16]; @@ -3649,15 +3650,15 @@ L_08AFD450: { const float fs = ctx.fpr[17]; const float ft = ctx.fpr[26]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[17] = std::bit_cast(0x7FC00000u); else ctx.fpr[17] = fs * ft; } aot_gpr_4 = (16640u << 16u); aot_fpr_14 = ctx.fpr[18] + aot_fpr_14; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_13 = aot_fpr_13 + ctx.fpr[17]; aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5884))); aot_fpr_14 = aot_fpr_14 - aot_fpr_15; aot_fpr_12 = aot_fpr_13 + aot_fpr_12; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), std::bit_cast(aot_fpr_14)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(4), std::bit_cast(aot_fpr_14)); { const bool branch_taken = aot_gpr_4 != 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(8), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(8), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_08AFD4D8; } @@ -3680,7 +3681,7 @@ L_08AFD4E8: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(104), std::bit_cast(ctx.fpr[26])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(100), std::bit_cast(ctx.fpr[24])); aot_gpr_31 = (0x08AFD4F8u); - ctx.fpr[20] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + ctx.fpr[20] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 22u, 0x08960240u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFD4F8u) goto L_08AFD4F8; AOT_REGCACHE_SYNC_OUT(); return; L_08AFD4F8: @@ -3688,7 +3689,7 @@ L_08AFD4F8: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(0))); aot_gpr_4 = (aot_gpr_4 | 26214u); ctx.fpr[24] = std::bit_cast(aot_gpr_4); - ctx.fpr[26] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + ctx.fpr[26] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); { const float fs = aot_fpr_12; const float ft = ctx.fpr[24]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_4 = (17008u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(108), std::bit_cast(ctx.fpr[26])); @@ -3696,7 +3697,7 @@ L_08AFD4F8: { const float fs = aot_fpr_12; const float ft = ctx.fpr[26]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = ctx.fpr[20] + aot_fpr_12; aot_gpr_31 = (0x08AFD52Cu); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), std::bit_cast(aot_fpr_12)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 22u, 0x08960240u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFD52Cu) goto L_08AFD52C; AOT_REGCACHE_SYNC_OUT(); return; L_08AFD52C: @@ -3705,7 +3706,7 @@ L_08AFD52C: { const float fs = aot_fpr_12; const float ft = ctx.fpr[24]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } { const float fs = aot_fpr_12; const float ft = ctx.fpr[26]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = aot_fpr_13 + aot_fpr_12; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(4), std::bit_cast(aot_fpr_12)); ctx.fpr[24] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(100))); { const bool branch_taken = 0u == 0u; ctx.fpr[26] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(104))); @@ -3719,35 +3720,35 @@ L_08AFD550: aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(2004))); - ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); ctx.fpr[17] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); aot_fpr_14 = aot_fpr_14 - aot_fpr_15; ctx.fpr[18] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(2008))); { const float fs = aot_fpr_12; const float ft = ctx.fpr[24]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); ctx.fpr[17] = ctx.fpr[17] - ctx.fpr[18]; - ctx.fpr[19] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); + ctx.fpr[19] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(8))); { const float fs = aot_fpr_14; const float ft = ctx.fpr[24]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } aot_fpr_12 = ctx.fpr[16] + aot_fpr_12; { const float fs = ctx.fpr[17]; const float ft = ctx.fpr[24]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_15 = std::bit_cast(0x7FC00000u); else aot_fpr_15 = fs * ft; } aot_fpr_13 = aot_fpr_13 + aot_fpr_14; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), std::bit_cast(aot_fpr_12)); aot_fpr_12 = ctx.fpr[19] + aot_fpr_15; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), std::bit_cast(aot_fpr_13)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(8), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(4), std::bit_cast(aot_fpr_13)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(8), std::bit_cast(aot_fpr_12)); goto L_08AFD5A0; L_08AFD5A0: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(104), std::bit_cast(ctx.fpr[24])); aot_gpr_31 = (0x08AFD5ACu); - ctx.fpr[20] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFD5ACu) goto L_08AFD5AC; + ctx.fpr[20] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFD5ACu) goto L_08AFD5AC; AOT_REGCACHE_SYNC_OUT(); return; L_08AFD5AC: aot_gpr_4 = (aot_gpr_2 & 65535u); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_4 = (aot_gpr_4 + static_cast(-128)); aot_fpr_12 = std::bit_cast(aot_gpr_4); - ctx.fpr[24] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + ctx.fpr[24] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_gpr_4 = (15651u << 16u); aot_gpr_4 = (aot_gpr_4 | 55050u); @@ -3756,8 +3757,8 @@ L_08AFD5AC: { const float fs = aot_fpr_12; const float ft = ctx.fpr[24]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = ctx.fpr[20] + aot_fpr_12; aot_gpr_31 = (0x08AFD5E4u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFD5E4u) goto L_08AFD5E4; + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), std::bit_cast(aot_fpr_12)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFD5E4u) goto L_08AFD5E4; AOT_REGCACHE_SYNC_OUT(); return; L_08AFD5E4: aot_gpr_4 = (aot_gpr_2 & 65535u); @@ -3766,18 +3767,18 @@ L_08AFD5E4: aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(24), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(24), aot_gpr_4); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(100))); { const float fs = aot_fpr_12; const float ft = ctx.fpr[24]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = aot_fpr_13 + aot_fpr_12; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(4), std::bit_cast(aot_fpr_12)); ctx.fpr[24] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(104))); goto L_08AFD614; L_08AFD614: ctx.gpr[22] = (ctx.gpr[22] + static_cast(1)); aot_gpr_4 = (static_cast(ctx.gpr[22]) < 35 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_16 = (aot_gpr_16 + static_cast(28)); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(28)); if (branch_taken) { goto L_08AFD1DC; } @@ -3796,55 +3797,55 @@ L_08AFD630: aot_gpr_4 = (0u | 6u); aot_gpr_31 = (0x08AFD63Cu); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFD63Cu) goto L_08AFD63C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFD63Cu) goto L_08AFD63C; AOT_REGCACHE_SYNC_OUT(); return; L_08AFD63C: aot_gpr_4 = (0u | 4u); aot_gpr_31 = (0x08AFD648u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFD648u) goto L_08AFD648; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFD648u) goto L_08AFD648; AOT_REGCACHE_SYNC_OUT(); return; L_08AFD648: aot_gpr_4 = (0u | 11u); aot_gpr_31 = (0x08AFD654u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFD654u) goto L_08AFD654; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFD654u) goto L_08AFD654; AOT_REGCACHE_SYNC_OUT(); return; L_08AFD654: aot_gpr_4 = (0u | 13u); aot_gpr_31 = (0x08AFD660u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFD660u) goto L_08AFD660; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFD660u) goto L_08AFD660; AOT_REGCACHE_SYNC_OUT(); return; L_08AFD660: aot_gpr_4 = (0u | 8u); aot_gpr_31 = (0x08AFD66Cu); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFD66Cu) goto L_08AFD66C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFD66Cu) goto L_08AFD66C; AOT_REGCACHE_SYNC_OUT(); return; L_08AFD66C: aot_gpr_4 = (0u | 9u); aot_gpr_31 = (0x08AFD678u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFD678u) goto L_08AFD678; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFD678u) goto L_08AFD678; AOT_REGCACHE_SYNC_OUT(); return; L_08AFD678: aot_gpr_4 = (0u | 10u); aot_gpr_31 = (0x08AFD684u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFD684u) goto L_08AFD684; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFD684u) goto L_08AFD684; AOT_REGCACHE_SYNC_OUT(); return; L_08AFD684: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8764))); aot_gpr_4 = (0u | 1u); aot_gpr_31 = (0x08AFD694u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFD694u) goto L_08AFD694; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFD694u) goto L_08AFD694; AOT_REGCACHE_SYNC_OUT(); return; L_08AFD694: aot_gpr_4 = (2238u << 16u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8456))); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); ctx.gpr[7] = (0u | 1u); aot_gpr_31 = (0x08AFD6ACu); aot_gpr_4 = (aot_gpr_4 + static_cast(-272)); @@ -3860,7 +3861,7 @@ L_08AFD6AC: } L_08AFD6B4: aot_gpr_5 = (2238u << 16u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8452))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8452))); aot_gpr_4 = (0u | 3u); aot_gpr_31 = (0x08AFD6C8u); aot_gpr_5 = (aot_gpr_5 + static_cast(12016)); @@ -3875,37 +3876,37 @@ L_08AFD6D0: aot_gpr_4 = (0u | 6u); aot_gpr_31 = (0x08AFD6DCu); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFD6DCu) goto L_08AFD6DC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFD6DCu) goto L_08AFD6DC; AOT_REGCACHE_SYNC_OUT(); return; L_08AFD6DC: aot_gpr_4 = (0u | 4u); aot_gpr_31 = (0x08AFD6E8u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFD6E8u) goto L_08AFD6E8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFD6E8u) goto L_08AFD6E8; AOT_REGCACHE_SYNC_OUT(); return; L_08AFD6E8: aot_gpr_4 = (0u | 8u); aot_gpr_31 = (0x08AFD6F4u); aot_gpr_5 = (0u | 5u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFD6F4u) goto L_08AFD6F4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFD6F4u) goto L_08AFD6F4; AOT_REGCACHE_SYNC_OUT(); return; L_08AFD6F4: aot_gpr_4 = (0u | 9u); aot_gpr_31 = (0x08AFD700u); aot_gpr_5 = (0u | 6u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFD700u) goto L_08AFD700; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFD700u) goto L_08AFD700; AOT_REGCACHE_SYNC_OUT(); return; L_08AFD700: aot_gpr_4 = (0u | 11u); aot_gpr_31 = (0x08AFD70Cu); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFD70Cu) goto L_08AFD70C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFD70Cu) goto L_08AFD70C; AOT_REGCACHE_SYNC_OUT(); return; L_08AFD70C: aot_gpr_4 = (0u | 10u); aot_gpr_31 = (0x08AFD718u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFD718u) goto L_08AFD718; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFD718u) goto L_08AFD718; AOT_REGCACHE_SYNC_OUT(); return; L_08AFD718: aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8452), 0u); @@ -3920,7 +3921,7 @@ L_08AFD720: ctx.fpr[26] = std::bit_cast(aot_run_words[3]); ctx.fpr[28] = std::bit_cast(aot_run_words[4]); ctx.fpr[30] = std::bit_cast(aot_run_words[5]); - aot_gpr_16 = aot_run_words[6]; + ctx.gpr[16] = aot_run_words[6]; ctx.gpr[17] = aot_run_words[7]; ctx.gpr[18] = aot_run_words[8]; ctx.gpr[19] = aot_run_words[9]; @@ -3969,24 +3970,24 @@ L_08AFD788: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(0), static_cast(aot_gpr_5)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(16)))))); - ctx.gpr[6] = (0u | 2u); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], aot_gpr_31}; + aot_gpr_6 = (0u | 2u); + { const std::uint32_t aot_run_words[3]{ctx.gpr[16], ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(4), aot_run_words); } - { const bool branch_taken = aot_gpr_5 != ctx.gpr[6]; - aot_gpr_16 = (aot_gpr_4 | 0u); + { const bool branch_taken = aot_gpr_5 != aot_gpr_6; + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08AFD7B8; } goto L_08AFD7AC; } L_08AFD7AC: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AFD7B8u); aot_gpr_5 = (aot_gpr_29 | 0u); goto L_08AFD950; L_08AFD7B8: - ctx.gpr[17] = (aot_gpr_16 | 0u); - aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); + ctx.gpr[17] = (ctx.gpr[16] | 0u); + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); aot_gpr_31 = (0x08AFD7C8u); aot_gpr_4 = (ctx.gpr[17] | 0u); goto L_08AFD768; @@ -3995,15 +3996,15 @@ L_08AFD7C8: aot_gpr_4 = (aot_gpr_2 << 4u); ctx.gpr[7] = (aot_gpr_5 << 4u); aot_gpr_4 = (aot_gpr_4 - aot_gpr_2); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); ctx.gpr[7] = (ctx.gpr[7] - aot_gpr_5); aot_gpr_4 = (aot_gpr_4 - aot_gpr_2); ctx.gpr[7] = (ctx.gpr[7] - aot_gpr_5); - aot_gpr_2 = (ctx.gpr[6] + ctx.gpr[7]); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_2 = (aot_gpr_6 + ctx.gpr[7]); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); aot_gpr_2 = (aot_gpr_2 + static_cast(-448)); - ctx.gpr[6] = (aot_gpr_2 < aot_gpr_4 ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_6 = (aot_gpr_2 < aot_gpr_4 ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 == 0u; // nop if (branch_taken) { goto L_08AFD80C; @@ -4011,8 +4012,8 @@ L_08AFD7C8: goto L_08AFD800; } L_08AFD800: - ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(8))); - { const bool branch_taken = ctx.gpr[6] == aot_gpr_5; + aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(8))); + { const bool branch_taken = aot_gpr_6 == aot_gpr_5; // nop if (branch_taken) { goto L_08AFD840; @@ -4020,7 +4021,7 @@ L_08AFD800: goto L_08AFD80C; } L_08AFD80C: - aot_gpr_2 = (aot_gpr_16 | 0u); + aot_gpr_2 = (ctx.gpr[16] | 0u); { const bool branch_taken = aot_gpr_2 == aot_gpr_4; // nop if (branch_taken) { @@ -4029,8 +4030,8 @@ L_08AFD80C: goto L_08AFD818; } L_08AFD818: - ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(8))); - { const bool branch_taken = ctx.gpr[6] == aot_gpr_5; + aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(8))); + { const bool branch_taken = aot_gpr_6 == aot_gpr_5; // nop if (branch_taken) { goto L_08AFD838; @@ -4065,7 +4066,7 @@ L_08AFD838: L_08AFD840: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(4), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -4077,10 +4078,10 @@ L_08AFD840: AOT_REGCACHE_SYNC_OUT(); return; L_08AFD854: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[19]); ctx.gpr[19] = (aot_gpr_5 & 65535u); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); @@ -4089,7 +4090,7 @@ L_08AFD854: goto L_08AFD87C; L_08AFD87C: aot_gpr_31 = (0x08AFD884u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_08AFD770; L_08AFD884: aot_gpr_4 = (static_cast(ctx.gpr[18]) < static_cast(aot_gpr_2) ? 1u : 0u); @@ -4101,7 +4102,7 @@ L_08AFD884: goto L_08AFD890; } L_08AFD890: - aot_gpr_2 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(12))); + aot_gpr_2 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(12))); aot_gpr_2 = (aot_gpr_2 + ctx.gpr[17]); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(8))); { const bool branch_taken = aot_gpr_4 == ctx.gpr[19]; @@ -4134,7 +4135,7 @@ L_08AFD8B8: L_08AFD8BC: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -4148,14 +4149,14 @@ L_08AFD8BC: AOT_REGCACHE_SYNC_OUT(); return; L_08AFD8D8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); ctx.gpr[17] = (aot_gpr_4 | 0u); - aot_gpr_16 = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); goto L_08AFD8F0; L_08AFD8F0: - { const bool branch_taken = aot_gpr_16 == 0u; + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08AFD934; @@ -4163,7 +4164,7 @@ L_08AFD8F0: goto L_08AFD8F8; } L_08AFD8F8: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(0))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -4193,11 +4194,11 @@ L_08AFD918: } goto L_08AFD928; L_08AFD928: - aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(0), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store16(ctx.gpr[16] + static_cast(0), static_cast(aot_gpr_4)); goto L_08AFD92C; L_08AFD92C: { const bool branch_taken = 0u == 0u; - aot_gpr_16 = (aot_gpr_16 + static_cast(2)); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(2)); if (branch_taken) { goto L_08AFD8F0; } @@ -4206,7 +4207,7 @@ L_08AFD92C: L_08AFD934: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -4225,17 +4226,17 @@ L_08AFD948: AOT_REGCACHE_SYNC_OUT(); return; L_08AFD950: aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0))); - ctx.gpr[6] = (static_cast(aot_gpr_4) < 97 ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] != 0u; - ctx.gpr[6] = (static_cast(aot_gpr_4) < 224 ? 1u : 0u); + aot_gpr_6 = (static_cast(aot_gpr_4) < 97 ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 != 0u; + aot_gpr_6 = (static_cast(aot_gpr_4) < 224 ? 1u : 0u); if (branch_taken) { goto L_08AFD970; } goto L_08AFD960; } L_08AFD960: - ctx.gpr[6] = (static_cast(aot_gpr_4) < 123 ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] != 0u; + aot_gpr_6 = (static_cast(aot_gpr_4) < 123 ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 != 0u; // nop if (branch_taken) { goto L_08AFD988; @@ -4243,26 +4244,26 @@ L_08AFD960: goto L_08AFD96C; } L_08AFD96C: - ctx.gpr[6] = (static_cast(aot_gpr_4) < 224 ? 1u : 0u); + aot_gpr_6 = (static_cast(aot_gpr_4) < 224 ? 1u : 0u); goto L_08AFD970; L_08AFD970: - { const bool branch_taken = ctx.gpr[6] != 0u; - ctx.gpr[6] = (static_cast(aot_gpr_4) < 255 ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 != 0u; + aot_gpr_6 = (static_cast(aot_gpr_4) < 255 ? 1u : 0u); if (branch_taken) { goto L_08AFD990; } goto L_08AFD978; } L_08AFD978: - { const bool branch_taken = ctx.gpr[6] == 0u; - ctx.gpr[6] = (0u | 247u); + { const bool branch_taken = aot_gpr_6 == 0u; + aot_gpr_6 = (0u | 247u); if (branch_taken) { goto L_08AFD990; } goto L_08AFD980; } L_08AFD980: - { const bool branch_taken = aot_gpr_4 == ctx.gpr[6]; + { const bool branch_taken = aot_gpr_4 == aot_gpr_6; // nop if (branch_taken) { goto L_08AFD990; @@ -4282,14 +4283,14 @@ L_08AFD990: AOT_REGCACHE_SYNC_OUT(); return; L_08AFD998: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); ctx.gpr[17] = (aot_gpr_4 | 0u); - aot_gpr_16 = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); goto L_08AFD9B0; L_08AFD9B0: - { const bool branch_taken = aot_gpr_16 == 0u; + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08AFD9E8; @@ -4297,7 +4298,7 @@ L_08AFD9B0: goto L_08AFD9B8; } L_08AFD9B8: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(0))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -4320,7 +4321,7 @@ L_08AFD9D0: } L_08AFD9D8: { const bool branch_taken = 0u == 0u; - aot_gpr_16 = (aot_gpr_16 + static_cast(2)); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(2)); if (branch_taken) { goto L_08AFD9B0; } @@ -4340,7 +4341,7 @@ L_08AFD9E8: L_08AFD9EC: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -4355,18 +4356,18 @@ L_08AFDA00: ctx.gpr[7] = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_5 << 11u); ctx.gpr[8] = (0u + aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_4 = (ctx.gpr[6] | 0u); - aot_gpr_16 = (0u | 2048u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + aot_gpr_4 = (aot_gpr_6 | 0u); + ctx.gpr[16] = (0u | 2048u); aot_gpr_5 = (ctx.gpr[7] | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x08AFDA2Cu); - ctx.gpr[6] = (ctx.gpr[8] | 0u); + aot_gpr_6 = (ctx.gpr[8] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0025_entry, 25u, 517u, 0x0886A614u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFDA2Cu) goto L_08AFDA2C; AOT_REGCACHE_SYNC_OUT(); return; L_08AFDA2C: aot_gpr_4 = (aot_gpr_2 | 0u); - { const std::int32_t dividend = static_cast(aot_gpr_4); const std::int32_t divisor = static_cast(aot_gpr_16); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } + { const std::int32_t dividend = static_cast(aot_gpr_4); const std::int32_t divisor = static_cast(ctx.gpr[16]); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } aot_gpr_5 = (ctx.hi); { const bool branch_taken = aot_gpr_5 == 0u; // nop @@ -4384,11 +4385,11 @@ L_08AFDA40: goto L_08AFDA48; } L_08AFDA48: - { const std::int32_t dividend = static_cast(aot_gpr_4); const std::int32_t divisor = static_cast(aot_gpr_16); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } + { const std::int32_t dividend = static_cast(aot_gpr_4); const std::int32_t divisor = static_cast(ctx.gpr[16]); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } aot_gpr_2 = (ctx.lo); goto L_08AFDA50; L_08AFDA50: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -4398,14 +4399,14 @@ L_08AFDA50: AOT_REGCACHE_SYNC_OUT(); return; L_08AFDA60: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x08AFDA74u); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); goto L_08AFDAB4; L_08AFDA74: - aot_gpr_2 = (aot_gpr_16 | 0u); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_2 = (ctx.gpr[16] | 0u); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -4434,7 +4435,7 @@ L_08AFDA98: L_08AFDAA0: aot_gpr_31 = (0x08AFDAA8u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFDAA8u) goto L_08AFDAA8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFDAA8u) goto L_08AFDAA8; AOT_REGCACHE_SYNC_OUT(); return; L_08AFDAA8: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -4446,8 +4447,8 @@ L_08AFDAA8: AOT_REGCACHE_SYNC_OUT(); return; L_08AFDAB4: aot_gpr_29 = (aot_gpr_29 + static_cast(-64)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_4 = (0u | 20u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_4); @@ -4463,43 +4464,43 @@ L_08AFDAB4: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(36), static_cast(0u)); aot_gpr_4 = (90u << 16u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(37), static_cast(ctx.gpr[17])); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(20112), 0u); aot_gpr_4 = (90u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(20112)); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); aot_gpr_5 = (ctx.gpr[28] + static_cast(1616)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), aot_gpr_31); aot_gpr_31 = (0x08AFDB20u); - ctx.gpr[6] = (aot_gpr_29 + static_cast(20)); + aot_gpr_6 = (aot_gpr_29 + static_cast(20)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0197_entry, 197u, 783u, 0x08B1B4DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFDB20u) goto L_08AFDB20; AOT_REGCACHE_SYNC_OUT(); return; L_08AFDB20: aot_gpr_31 = (0x08AFDB28u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), ctx.gpr[17]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(4), ctx.gpr[17]); ctx.pc = 0x08B73184u; AOT_REGCACHE_SYNC_OUT(); return; L_08AFDB28: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(336), aot_gpr_2); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(336), aot_gpr_2); aot_gpr_31 = (0x08AFDB34u); aot_gpr_4 = (0u | 640u); ctx.pc = 0x08B731D4u; AOT_REGCACHE_SYNC_OUT(); return; L_08AFDB34: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(312), aot_gpr_2); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(312), aot_gpr_2); aot_gpr_31 = (0x08AFDB40u); aot_gpr_4 = (0u | 0u); ctx.pc = 0x08B731C4u; AOT_REGCACHE_SYNC_OUT(); return; L_08AFDB40: aot_gpr_4 = (68u << 16u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(316), aot_gpr_2); - ctx.gpr[17] = (aot_gpr_16 + static_cast(32)); - ctx.gpr[6] = (aot_gpr_4 + static_cast(16928)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(316), aot_gpr_2); + ctx.gpr[17] = (ctx.gpr[16] + static_cast(32)); + aot_gpr_6 = (aot_gpr_4 + static_cast(16928)); ctx.gpr[8] = (2224u << 16u); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(312))); - ctx.gpr[6] = (aot_gpr_16 + ctx.gpr[6]); - ctx.gpr[9] = (aot_gpr_16 + static_cast(296)); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(312))); + aot_gpr_6 = (ctx.gpr[16] + aot_gpr_6); + ctx.gpr[9] = (ctx.gpr[16] + static_cast(296)); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (0u | 640u); aot_gpr_31 = (0x08AFDB70u); @@ -4508,11 +4509,11 @@ L_08AFDB40: AOT_REGCACHE_SYNC_OUT(); return; L_08AFDB70: aot_gpr_5 = (89u << 16u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(336), aot_gpr_2); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(336), aot_gpr_2); aot_gpr_5 = (aot_gpr_5 + static_cast(17956)); - aot_gpr_4 = (aot_gpr_16 + static_cast(28)); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(316))); - aot_gpr_5 = (aot_gpr_16 + aot_gpr_5); + aot_gpr_4 = (ctx.gpr[16] + static_cast(28)); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(316))); + aot_gpr_5 = (ctx.gpr[16] + aot_gpr_5); ctx.gpr[7] = (ctx.gpr[17] | 0u); ctx.gpr[8] = (0u | 512u); ctx.gpr[9] = (0u | 0u); @@ -4522,12 +4523,12 @@ L_08AFDB70: AOT_REGCACHE_SYNC_OUT(); return; L_08AFDB9C: aot_gpr_4 = (68u << 16u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(336), aot_gpr_2); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(336), aot_gpr_2); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(16852), static_cast(0u)); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(40), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -4539,20 +4540,20 @@ L_08AFDB9C: AOT_REGCACHE_SYNC_OUT(); return; L_08AFDBC0: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x08AFDBD4u); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 686u, 0x08B63230u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFDBD4u) goto L_08AFDBD4; AOT_REGCACHE_SYNC_OUT(); return; L_08AFDBD4: aot_gpr_31 = (0x08AFDBDCu); - aot_gpr_4 = (aot_gpr_16 + static_cast(28)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(28)); ctx.pc = 0x08B73174u; AOT_REGCACHE_SYNC_OUT(); return; L_08AFDBDC: aot_gpr_31 = (0x08AFDBE4u); - aot_gpr_4 = (aot_gpr_16 + static_cast(32)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(32)); ctx.pc = 0x08B73144u; AOT_REGCACHE_SYNC_OUT(); return; L_08AFDBE4: @@ -4562,17 +4563,17 @@ L_08AFDBE4: AOT_REGCACHE_SYNC_OUT(); return; L_08AFDBEC: aot_gpr_31 = (0x08AFDBF4u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(8))); ctx.pc = 0x08B7351Cu; AOT_REGCACHE_SYNC_OUT(); return; L_08AFDBF4: aot_gpr_31 = (0x08AFDBFCu); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(16))); ctx.pc = 0x08B7351Cu; AOT_REGCACHE_SYNC_OUT(); return; L_08AFDBFC: aot_gpr_31 = (0x08AFDC04u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(12))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(12))); ctx.pc = 0x08B7351Cu; AOT_REGCACHE_SYNC_OUT(); return; L_08AFDC04: @@ -4584,11 +4585,11 @@ L_08AFDC0C: aot_gpr_4 = (90u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(20112)); aot_gpr_31 = (0x08AFDC1Cu); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0197_entry, 197u, 808u, 0x08B1B654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFDC1Cu) goto L_08AFDC1C; AOT_REGCACHE_SYNC_OUT(); return; L_08AFDC1C: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -4598,16 +4599,16 @@ L_08AFDC1C: AOT_REGCACHE_SYNC_OUT(); return; L_08AFDC2C: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[19]); - aot_gpr_16 = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); ctx.gpr[19] = (aot_gpr_4 | 0u); - ctx.gpr[17] = (ctx.gpr[6] | 0u); + ctx.gpr[17] = (aot_gpr_6 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); aot_gpr_31 = (0x08AFDC58u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 248u, 0x08A19F84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFDC58u) goto L_08AFDC58; AOT_REGCACHE_SYNC_OUT(); return; L_08AFDC58: @@ -4627,7 +4628,7 @@ L_08AFDC64: } L_08AFDC70: aot_gpr_31 = (0x08AFDC78u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0055_entry, 55u, 41u, 0x088E1B3Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFDC78u) goto L_08AFDC78; AOT_REGCACHE_SYNC_OUT(); return; L_08AFDC78: @@ -4649,7 +4650,7 @@ L_08AFDC84: } L_08AFDC8C: aot_gpr_31 = (0x08AFDC94u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0131_entry, 131u, 180u, 0x08A115C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFDC94u) goto L_08AFDC94; AOT_REGCACHE_SYNC_OUT(); return; L_08AFDC94: @@ -4689,7 +4690,7 @@ L_08AFDCB0: } L_08AFDCB8: aot_gpr_31 = (0x08AFDCC0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0131_entry, 131u, 180u, 0x08A115C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFDCC0u) goto L_08AFDCC0; AOT_REGCACHE_SYNC_OUT(); return; L_08AFDCC0: @@ -4706,7 +4707,7 @@ L_08AFDCC8: L_08AFDCCC: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -4727,14 +4728,14 @@ L_08AFDCE8: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(2052), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(2056), ctx.gpr[18]); ctx.gpr[18] = (ctx.gpr[7] | 0u); - ctx.gpr[17] = (ctx.gpr[6] | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(2048), aot_gpr_16); + ctx.gpr[17] = (aot_gpr_6 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(2048), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(2060), ctx.gpr[19]); ctx.gpr[19] = (ctx.gpr[8] | 0u); - aot_gpr_16 = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); ctx.gpr[7] = (ctx.gpr[21] | 0u); aot_gpr_4 = (ctx.gpr[17] | 0u); - ctx.gpr[6] = (ctx.gpr[20] | 0u); + aot_gpr_6 = (ctx.gpr[20] | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(2072), aot_gpr_31); aot_gpr_31 = (0x08AFDD34u); ctx.gpr[8] = (0u | 0u); @@ -4743,9 +4744,9 @@ L_08AFDCE8: L_08AFDD34: aot_gpr_4 = (ctx.gpr[3] ^ ctx.gpr[21]); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); - ctx.gpr[6] = (aot_gpr_2 < ctx.gpr[20] ? 1u : 0u); + aot_gpr_6 = (aot_gpr_2 < ctx.gpr[20] ? 1u : 0u); aot_gpr_5 = (static_cast(ctx.gpr[3]) < static_cast(ctx.gpr[21]) ? 1u : 0u); - aot_gpr_4 = (aot_gpr_4 & ctx.gpr[6]); + aot_gpr_4 = (aot_gpr_4 & aot_gpr_6); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -4766,7 +4767,7 @@ L_08AFDD5C: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (aot_gpr_29 | 0u); aot_gpr_31 = (0x08AFDD6Cu); - ctx.gpr[6] = (0u | 2048u); + aot_gpr_6 = (0u | 2048u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0025_entry, 25u, 517u, 0x0886A614u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFDD6Cu) goto L_08AFDD6C; AOT_REGCACHE_SYNC_OUT(); return; L_08AFDD6C: @@ -4787,10 +4788,10 @@ L_08AFDD78: goto L_08AFDD80; } L_08AFDD80: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (aot_gpr_29 | 0u); aot_gpr_31 = (0x08AFDD90u); - ctx.gpr[6] = (ctx.gpr[19] | 0u); + aot_gpr_6 = (ctx.gpr[19] | 0u); ctx.pc = 0x08B73154u; AOT_REGCACHE_SYNC_OUT(); return; L_08AFDD90: @@ -4834,7 +4835,7 @@ L_08AFDDB4: L_08AFDDBC: ctx.gpr[7] = (ctx.gpr[21] | 0u); aot_gpr_4 = (ctx.gpr[17] | 0u); - ctx.gpr[6] = (ctx.gpr[20] | 0u); + aot_gpr_6 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08AFDDD0u); ctx.gpr[8] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0025_entry, 25u, 519u, 0x0886A630u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFDDD0u) goto L_08AFDDD0; @@ -4842,9 +4843,9 @@ L_08AFDDBC: L_08AFDDD0: aot_gpr_4 = (ctx.gpr[3] ^ ctx.gpr[21]); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); - ctx.gpr[6] = (aot_gpr_2 < ctx.gpr[20] ? 1u : 0u); + aot_gpr_6 = (aot_gpr_2 < ctx.gpr[20] ? 1u : 0u); aot_gpr_5 = (static_cast(ctx.gpr[3]) < static_cast(ctx.gpr[21]) ? 1u : 0u); - aot_gpr_4 = (aot_gpr_4 & ctx.gpr[6]); + aot_gpr_4 = (aot_gpr_4 & aot_gpr_6); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -4867,7 +4868,7 @@ L_08AFDDF8: L_08AFDDFC: { std::uint32_t aot_run_words[7]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(2048), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -4883,11 +4884,11 @@ L_08AFDDFC: AOT_REGCACHE_SYNC_OUT(); return; L_08AFDE20: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_4 = (90u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); - ctx.gpr[18] = (aot_gpr_16 + aot_gpr_4); + ctx.gpr[18] = (ctx.gpr[16] + aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[19]); ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(20100))); @@ -4913,7 +4914,7 @@ L_08AFDE58: } L_08AFDE74: aot_gpr_4 = (0u | 10u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(20), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(20), aot_gpr_4); { const bool branch_taken = 0u == 0u; aot_gpr_2 = (ctx.gpr[17] | 0u); if (branch_taken) { @@ -4927,7 +4928,7 @@ L_08AFDE84: L_08AFDE88: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -4941,16 +4942,16 @@ L_08AFDE88: AOT_REGCACHE_SYNC_OUT(); return; L_08AFDEA4: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_4 = (90u << 16u); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); - aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(20104), static_cast(ctx.gpr[6])); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); + aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(20104), static_cast(aot_gpr_6)); aot_gpr_4 = (90u << 16u); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(20108), ctx.gpr[7]); - ctx.gpr[17] = (aot_gpr_16 + static_cast(296)); + ctx.gpr[17] = (ctx.gpr[16] + static_cast(296)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[19]); ctx.gpr[19] = (aot_gpr_5 | 0u); @@ -4959,7 +4960,7 @@ L_08AFDEA4: { const std::uint32_t aot_run_words[6]{ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(16), aot_run_words); } aot_gpr_31 = (0x08AFDF04u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0025_entry, 25u, 501u, 0x0886A540u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFDF04u) goto L_08AFDF04; AOT_REGCACHE_SYNC_OUT(); return; L_08AFDF04: @@ -4982,7 +4983,7 @@ L_08AFDF14: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08AFDF24u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0025_entry, 25u, 502u, 0x0886A548u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFDF24u) goto L_08AFDF24; AOT_REGCACHE_SYNC_OUT(); return; L_08AFDF24: @@ -5002,13 +5003,13 @@ L_08AFDF2C: goto L_08AFDF34; } L_08AFDF34: - ctx.gpr[19] = (aot_gpr_16 + static_cast(28)); - ctx.gpr[7] = (aot_gpr_16 + static_cast(320)); - ctx.gpr[8] = (aot_gpr_16 + static_cast(332)); - aot_gpr_4 = (aot_gpr_16 | 0u); + ctx.gpr[19] = (ctx.gpr[16] + static_cast(28)); + ctx.gpr[7] = (ctx.gpr[16] + static_cast(320)); + ctx.gpr[8] = (ctx.gpr[16] + static_cast(332)); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08AFDF50u); - ctx.gpr[6] = (ctx.gpr[17] | 0u); + aot_gpr_6 = (ctx.gpr[17] | 0u); goto L_08AFDCE8; L_08AFDF50: { const bool branch_taken = aot_gpr_2 == 0u; @@ -5030,14 +5031,14 @@ L_08AFDF60: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08AFDF70u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); ctx.pc = 0x08B73164u; AOT_REGCACHE_SYNC_OUT(); return; L_08AFDF70: ctx.gpr[20] = (68u << 16u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(160), aot_gpr_2); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(160), aot_gpr_2); { const bool branch_taken = aot_gpr_2 != 0u; - ctx.gpr[20] = (aot_gpr_16 + ctx.gpr[20]); + ctx.gpr[20] = (ctx.gpr[16] + ctx.gpr[20]); if (branch_taken) { goto L_08AFDF88; } @@ -5052,7 +5053,7 @@ L_08AFDF80: goto L_08AFDF88; } L_08AFDF88: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -5064,12 +5065,12 @@ L_08AFDF94: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (0u | 1u); aot_gpr_31 = (0x08AFDFA4u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); ctx.pc = 0x08B73164u; AOT_REGCACHE_SYNC_OUT(); return; L_08AFDFA4: { const bool branch_taken = aot_gpr_2 != 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(164), aot_gpr_2); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(164), aot_gpr_2); if (branch_taken) { goto L_08AFDFB4; } @@ -5107,15 +5108,15 @@ L_08AFDFC8: } L_08AFDFD0: aot_gpr_5 = (aot_gpr_4 | 0u); - ctx.gpr[21] = (aot_gpr_16 + static_cast(168)); + ctx.gpr[21] = (ctx.gpr[16] + static_cast(168)); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08AFDFE4u); - ctx.gpr[6] = (ctx.gpr[21] | 0u); + aot_gpr_6 = (ctx.gpr[21] | 0u); ctx.pc = 0x08B7314Cu; AOT_REGCACHE_SYNC_OUT(); return; L_08AFDFE4: { const bool branch_taken = aot_gpr_2 == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(336), aot_gpr_2); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(336), aot_gpr_2); if (branch_taken) { goto L_08AFDFF4; } @@ -5130,22 +5131,22 @@ L_08AFDFEC: goto L_08AFDFF4; } L_08AFDFF4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); if (aot_gpr_4 == 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(160))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(160))); goto L_08AFE04C; } goto L_08AFE000; L_08AFE000: - aot_gpr_5 = (aot_gpr_16 + static_cast(324)); - ctx.gpr[6] = (aot_gpr_16 + static_cast(328)); + aot_gpr_5 = (ctx.gpr[16] + static_cast(324)); + aot_gpr_6 = (ctx.gpr[16] + static_cast(328)); aot_gpr_31 = (0x08AFE010u); aot_gpr_4 = (ctx.gpr[19] | 0u); ctx.pc = 0x08B731ECu; AOT_REGCACHE_SYNC_OUT(); return; L_08AFE010: { const bool branch_taken = aot_gpr_2 == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(336), aot_gpr_2); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(336), aot_gpr_2); if (branch_taken) { goto L_08AFE020; } @@ -5162,15 +5163,15 @@ L_08AFE018: L_08AFE020: aot_gpr_4 = (90u << 16u); aot_gpr_5 = (aot_gpr_4 + static_cast(17984)); - aot_gpr_5 = (aot_gpr_16 + aot_gpr_5); - ctx.gpr[6] = (aot_gpr_16 + static_cast(232)); + aot_gpr_5 = (ctx.gpr[16] + aot_gpr_5); + aot_gpr_6 = (ctx.gpr[16] + static_cast(232)); aot_gpr_31 = (0x08AFE038u); aot_gpr_4 = (ctx.gpr[19] | 0u); ctx.pc = 0x08B7314Cu; AOT_REGCACHE_SYNC_OUT(); return; L_08AFE038: { const bool branch_taken = aot_gpr_2 == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(336), aot_gpr_2); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(336), aot_gpr_2); if (branch_taken) { goto L_08AFE048; } @@ -5185,32 +5186,32 @@ L_08AFE040: goto L_08AFE048; } L_08AFE048: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(160))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(160))); goto L_08AFE04C; L_08AFE04C: aot_gpr_5 = (68u << 16u); - aot_gpr_5 = (aot_gpr_16 + aot_gpr_5); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(164))); + aot_gpr_5 = (ctx.gpr[16] + aot_gpr_5); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(164))); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(16904), aot_gpr_4); aot_gpr_4 = (68u << 16u); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(16912), ctx.gpr[6]); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); + aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(16912), aot_gpr_6); aot_gpr_4 = (68u << 16u); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(16908), ctx.gpr[21]); aot_gpr_5 = (68u << 16u); - aot_gpr_4 = (aot_gpr_16 + static_cast(232)); - aot_gpr_5 = (aot_gpr_16 + aot_gpr_5); + aot_gpr_4 = (ctx.gpr[16] + static_cast(232)); + aot_gpr_5 = (ctx.gpr[16] + aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(16916), aot_gpr_4); aot_gpr_31 = (0x08AFE08Cu); aot_gpr_4 = (0u | 0u); ctx.pc = 0x08B7322Cu; AOT_REGCACHE_SYNC_OUT(); return; L_08AFE08C: - ctx.gpr[21] = (aot_gpr_16 + static_cast(352)); + ctx.gpr[21] = (ctx.gpr[16] + static_cast(352)); aot_gpr_5 = (9u << 16u); aot_gpr_4 = (ctx.gpr[21] | 0u); - ctx.gpr[6] = (0u | 2u); + aot_gpr_6 = (0u | 2u); aot_gpr_31 = (0x08AFE0A4u); aot_gpr_5 = (aot_gpr_5 + static_cast(-32768)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 225u, 0x08A19C80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFE0A4u) goto L_08AFE0A4; @@ -5232,7 +5233,7 @@ L_08AFE0AC: goto L_08AFE0B4; } L_08AFE0B4: - ctx.gpr[22] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + ctx.gpr[22] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); { const bool branch_taken = ctx.gpr[22] == 0u; // nop if (branch_taken) { @@ -5241,7 +5242,7 @@ L_08AFE0B4: goto L_08AFE0C0; } L_08AFE0C0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(328))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(328))); aot_gpr_5 = (static_cast(aot_gpr_4) < 8193 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 != 0u; // nop @@ -5262,9 +5263,9 @@ L_08AFE0D8: aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_4 = (68u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(416)); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); aot_gpr_31 = (0x08AFE0F0u); - ctx.gpr[6] = (0u | 2u); + aot_gpr_6 = (0u | 2u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0055_entry, 55u, 13u, 0x088E18B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFE0F0u) goto L_08AFE0F0; AOT_REGCACHE_SYNC_OUT(); return; L_08AFE0F0: @@ -5277,7 +5278,7 @@ L_08AFE0F0: } L_08AFE0F8: { const bool branch_taken = 0u == 0u; - ctx.gpr[22] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + ctx.gpr[22] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); if (branch_taken) { goto L_08AFE3F0; } @@ -5286,8 +5287,8 @@ L_08AFE0F8: L_08AFE100: aot_gpr_4 = (68u << 16u); ctx.gpr[22] = (aot_gpr_4 + static_cast(400)); - ctx.gpr[22] = (aot_gpr_16 + ctx.gpr[22]); - ctx.gpr[23] = (aot_gpr_16 + static_cast(32)); + ctx.gpr[22] = (ctx.gpr[16] + ctx.gpr[22]); + ctx.gpr[23] = (ctx.gpr[16] + static_cast(32)); aot_gpr_4 = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x08AFE11Cu); aot_gpr_5 = (ctx.gpr[23] | 0u); @@ -5311,10 +5312,10 @@ L_08AFE124: } L_08AFE12C: aot_gpr_5 = (68u << 16u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); ctx.gpr[30] = (aot_gpr_5 + static_cast(16864)); { const bool branch_taken = aot_gpr_4 == 0u; - ctx.gpr[30] = (aot_gpr_16 + ctx.gpr[30]); + ctx.gpr[30] = (ctx.gpr[16] + ctx.gpr[30]); if (branch_taken) { goto L_08AFE16C; } @@ -5322,8 +5323,8 @@ L_08AFE12C: } L_08AFE140: aot_gpr_4 = (68u << 16u); - ctx.gpr[6] = (aot_gpr_4 + static_cast(416)); - ctx.gpr[6] = (aot_gpr_16 + ctx.gpr[6]); + aot_gpr_6 = (aot_gpr_4 + static_cast(416)); + aot_gpr_6 = (ctx.gpr[16] + aot_gpr_6); aot_gpr_4 = (ctx.gpr[30] | 0u); aot_gpr_5 = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x08AFE15Cu); @@ -5349,7 +5350,7 @@ L_08AFE164: L_08AFE16C: aot_gpr_4 = (ctx.gpr[30] | 0u); aot_gpr_5 = (ctx.gpr[21] | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x08AFE180u); ctx.gpr[7] = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0131_entry, 131u, 176u, 0x08A1158Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFE180u) goto L_08AFE180; @@ -5384,7 +5385,7 @@ L_08AFE198: L_08AFE1A4: aot_gpr_4 = (2232u << 16u); aot_gpr_5 = (2210u << 16u); - ctx.gpr[6] = (0u | 17u); + aot_gpr_6 = (0u | 17u); ctx.gpr[7] = (0u | 2048u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); @@ -5395,9 +5396,9 @@ L_08AFE1A4: AOT_REGCACHE_SYNC_OUT(); return; L_08AFE1C8: aot_gpr_5 = (2219u << 16u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(8), aot_gpr_2); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(8), aot_gpr_2); aot_gpr_4 = (ctx.gpr[28] + static_cast(1640)); - ctx.gpr[6] = (0u | 18u); + aot_gpr_6 = (0u | 18u); ctx.gpr[7] = (0u | 2048u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); @@ -5406,8 +5407,8 @@ L_08AFE1C8: ctx.pc = 0x08B734B4u; AOT_REGCACHE_SYNC_OUT(); return; L_08AFE1EC: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(12), aot_gpr_2); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(12), aot_gpr_2); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -5418,7 +5419,7 @@ L_08AFE1EC: L_08AFE1FC: aot_gpr_5 = (2190u << 16u); aot_gpr_4 = (ctx.gpr[28] + static_cast(1656)); - ctx.gpr[6] = (0u | 16u); + aot_gpr_6 = (0u | 16u); ctx.gpr[7] = (0u | 2048u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); @@ -5427,12 +5428,12 @@ L_08AFE1FC: ctx.pc = 0x08B734B4u; AOT_REGCACHE_SYNC_OUT(); return; L_08AFE21C: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(16), aot_gpr_2); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(16), aot_gpr_2); goto L_08AFE220; L_08AFE220: - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(332))); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(20), 0u); - ctx.gpr[7] = (static_cast(static_cast(ctx.gpr[6]) >> 31u)); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(332))); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(20), 0u); + ctx.gpr[7] = (static_cast(static_cast(aot_gpr_6) >> 31u)); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08AFE238u); ctx.gpr[8] = (0u | 0u); @@ -5440,15 +5441,15 @@ L_08AFE220: AOT_REGCACHE_SYNC_OUT(); return; L_08AFE238: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1636))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1632))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1632))); aot_gpr_5 = (ctx.gpr[3] ^ ctx.gpr[7]); aot_gpr_5 = (aot_gpr_5 < static_cast(1) ? 1u : 0u); - ctx.gpr[6] = (aot_gpr_2 < ctx.gpr[6] ? 1u : 0u); + aot_gpr_6 = (aot_gpr_2 < aot_gpr_6 ? 1u : 0u); ctx.gpr[8] = (static_cast(ctx.gpr[3]) < static_cast(ctx.gpr[7]) ? 1u : 0u); - aot_gpr_5 = (aot_gpr_5 & ctx.gpr[6]); + aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); aot_gpr_5 = (aot_gpr_5 | ctx.gpr[8]); { const bool branch_taken = aot_gpr_5 == 0u; - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); if (branch_taken) { goto L_08AFE268; } @@ -5474,7 +5475,7 @@ L_08AFE270: aot_gpr_4 = (68u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(416)); aot_gpr_31 = (0x08AFE280u); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0055_entry, 55u, 24u, 0x088E1994u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFE280u) goto L_08AFE280; AOT_REGCACHE_SYNC_OUT(); return; L_08AFE280: @@ -5483,7 +5484,7 @@ L_08AFE280: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 229u, 0x08A19D68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFE288u) goto L_08AFE288; AOT_REGCACHE_SYNC_OUT(); return; L_08AFE288: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(320))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(320))); aot_gpr_31 = (0x08AFE294u); aot_gpr_4 = (ctx.gpr[22] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0170_entry, 170u, 737u, 0x08AAF5B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFE294u) goto L_08AFE294; @@ -5494,7 +5495,7 @@ L_08AFE294: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0131_entry, 131u, 177u, 0x08A115A0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFE29Cu) goto L_08AFE29C; AOT_REGCACHE_SYNC_OUT(); return; L_08AFE29C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -5503,47 +5504,47 @@ L_08AFE29C: goto L_08AFE2A8; } L_08AFE2A8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(16))); aot_gpr_5 = (0u | 40u); aot_gpr_31 = (0x08AFE2B8u); - ctx.gpr[6] = (ctx.gpr[30] | 0u); + aot_gpr_6 = (ctx.gpr[30] | 0u); ctx.pc = 0x08B73464u; AOT_REGCACHE_SYNC_OUT(); return; L_08AFE2B8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(8))); aot_gpr_5 = (0u | 40u); aot_gpr_31 = (0x08AFE2C8u); - ctx.gpr[6] = (ctx.gpr[30] | 0u); + aot_gpr_6 = (ctx.gpr[30] | 0u); ctx.pc = 0x08B73464u; AOT_REGCACHE_SYNC_OUT(); return; L_08AFE2C8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(12))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(12))); aot_gpr_5 = (0u | 16u); aot_gpr_31 = (0x08AFE2D8u); - ctx.gpr[6] = (ctx.gpr[22] | 0u); + aot_gpr_6 = (ctx.gpr[22] | 0u); ctx.pc = 0x08B73464u; AOT_REGCACHE_SYNC_OUT(); return; L_08AFE2D8: aot_gpr_4 = (68u << 16u); ctx.gpr[7] = (aot_gpr_4 + static_cast(16904)); - ctx.gpr[7] = (aot_gpr_16 + ctx.gpr[7]); - aot_gpr_4 = (aot_gpr_16 | 0u); + ctx.gpr[7] = (ctx.gpr[16] + ctx.gpr[7]); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); - ctx.gpr[6] = (ctx.gpr[23] | 0u); + aot_gpr_6 = (ctx.gpr[23] | 0u); ctx.gpr[8] = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x08AFE2FCu); ctx.gpr[9] = (ctx.gpr[30] | 0u); goto L_08AFE484; L_08AFE2FC: { const bool branch_taken = aot_gpr_2 == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(336), aot_gpr_2); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(336), aot_gpr_2); if (branch_taken) { goto L_08AFE358; } goto L_08AFE304; } L_08AFE304: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(336))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(336))); { const bool branch_taken = static_cast(aot_gpr_4) >= 0; // nop if (branch_taken) { @@ -5553,14 +5554,14 @@ L_08AFE304: } L_08AFE310: { const bool branch_taken = 0u == 0u; - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); if (branch_taken) { goto L_08AFE38C; } goto L_08AFE318; } L_08AFE318: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(20))); { const bool branch_taken = aot_gpr_4 != ctx.gpr[18]; // nop if (branch_taken) { @@ -5583,7 +5584,7 @@ L_08AFE32C: } L_08AFE334: { const bool branch_taken = 0u == 0u; - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); if (branch_taken) { goto L_08AFE38C; } @@ -5591,7 +5592,7 @@ L_08AFE334: } L_08AFE33C: { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(20), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(20), 0u); if (branch_taken) { goto L_08AFE358; } @@ -5608,14 +5609,14 @@ L_08AFE344: } L_08AFE350: { const bool branch_taken = 0u == 0u; - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); if (branch_taken) { goto L_08AFE38C; } goto L_08AFE358; } L_08AFE358: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -5624,25 +5625,25 @@ L_08AFE358: goto L_08AFE364; } L_08AFE364: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(16))); aot_gpr_31 = (0x08AFE370u); aot_gpr_5 = (0u | 0u); ctx.pc = 0x08B7346Cu; AOT_REGCACHE_SYNC_OUT(); return; L_08AFE370: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(8))); aot_gpr_31 = (0x08AFE37Cu); aot_gpr_5 = (0u | 0u); ctx.pc = 0x08B7346Cu; AOT_REGCACHE_SYNC_OUT(); return; L_08AFE37C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(12))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(12))); aot_gpr_31 = (0x08AFE388u); aot_gpr_5 = (0u | 0u); ctx.pc = 0x08B7346Cu; AOT_REGCACHE_SYNC_OUT(); return; L_08AFE388: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); goto L_08AFE38C; L_08AFE38C: { const bool branch_taken = aot_gpr_4 == 0u; @@ -5653,25 +5654,25 @@ L_08AFE38C: goto L_08AFE394; } L_08AFE394: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(16))); aot_gpr_31 = (0x08AFE3A0u); aot_gpr_5 = (0u | 0u); ctx.pc = 0x08B7346Cu; AOT_REGCACHE_SYNC_OUT(); return; L_08AFE3A0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(8))); aot_gpr_31 = (0x08AFE3ACu); aot_gpr_5 = (0u | 0u); ctx.pc = 0x08B7346Cu; AOT_REGCACHE_SYNC_OUT(); return; L_08AFE3AC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(12))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(12))); aot_gpr_31 = (0x08AFE3B8u); aot_gpr_5 = (0u | 0u); ctx.pc = 0x08B7346Cu; AOT_REGCACHE_SYNC_OUT(); return; L_08AFE3B8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -5681,17 +5682,17 @@ L_08AFE3B8: } L_08AFE3C4: aot_gpr_31 = (0x08AFE3CCu); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(16))); ctx.pc = 0x08B7349Cu; AOT_REGCACHE_SYNC_OUT(); return; L_08AFE3CC: aot_gpr_31 = (0x08AFE3D4u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(8))); ctx.pc = 0x08B7349Cu; AOT_REGCACHE_SYNC_OUT(); return; L_08AFE3D4: aot_gpr_31 = (0x08AFE3DCu); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(12))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(12))); ctx.pc = 0x08B7349Cu; AOT_REGCACHE_SYNC_OUT(); return; L_08AFE3DC: @@ -5705,7 +5706,7 @@ L_08AFE3E4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0170_entry, 170u, 739u, 0x08AAF5D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFE3ECu) goto L_08AFE3EC; AOT_REGCACHE_SYNC_OUT(); return; L_08AFE3EC: - ctx.gpr[22] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + ctx.gpr[22] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); goto L_08AFE3F0; L_08AFE3F0: { const bool branch_taken = ctx.gpr[22] == 0u; @@ -5719,7 +5720,7 @@ L_08AFE3F8: aot_gpr_4 = (68u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(416)); aot_gpr_31 = (0x08AFE408u); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0055_entry, 55u, 26u, 0x088E19ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFE408u) goto L_08AFE408; AOT_REGCACHE_SYNC_OUT(); return; L_08AFE408: @@ -5737,13 +5738,13 @@ L_08AFE414: ctx.pc = 0x08B731CCu; AOT_REGCACHE_SYNC_OUT(); return; L_08AFE420: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(160))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(160))); aot_gpr_31 = (0x08AFE42Cu); aot_gpr_4 = (ctx.gpr[19] | 0u); ctx.pc = 0x08B7316Cu; AOT_REGCACHE_SYNC_OUT(); return; L_08AFE42C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -5752,7 +5753,7 @@ L_08AFE42C: goto L_08AFE438; } L_08AFE438: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(164))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(164))); aot_gpr_31 = (0x08AFE444u); aot_gpr_4 = (ctx.gpr[19] | 0u); ctx.pc = 0x08B7316Cu; @@ -5770,7 +5771,7 @@ L_08AFE44C: L_08AFE454: { std::uint32_t aot_run_words[10]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -5805,9 +5806,9 @@ L_08AFE484: ctx.gpr[22] = (aot_gpr_5 | 0u); ctx.gpr[19] = (ctx.gpr[7] | 0u); ctx.gpr[18] = (ctx.gpr[8] | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), ctx.gpr[6]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), aot_gpr_6); ctx.gpr[17] = (ctx.gpr[9] | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(72), aot_gpr_31); goto L_08AFE4EC; L_08AFE4EC: @@ -5833,7 +5834,7 @@ L_08AFE508: aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08AFE518u); - ctx.gpr[6] = (ctx.gpr[18] | 0u); + aot_gpr_6 = (ctx.gpr[18] | 0u); goto L_08AFDC2C; L_08AFE518: { const bool branch_taken = 0u == 0u; @@ -5859,8 +5860,8 @@ L_08AFE530: aot_gpr_4 = (ctx.gpr[21] | 0u); goto L_08AFDE20; L_08AFE53C: - aot_gpr_16 = (aot_gpr_2 | 0u); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08AFE580; @@ -5923,11 +5924,11 @@ L_08AFE588: L_08AFE590: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(32))); aot_gpr_31 = (0x08AFE59Cu); - aot_gpr_16 = (0u | 640u); + ctx.gpr[16] = (0u | 640u); ctx.pc = 0x08B731BCu; AOT_REGCACHE_SYNC_OUT(); return; L_08AFE59C: - { const bool branch_taken = aot_gpr_2 != aot_gpr_16; + { const bool branch_taken = aot_gpr_2 != ctx.gpr[16]; // nop if (branch_taken) { goto L_08AFE5AC; @@ -5936,7 +5937,7 @@ L_08AFE59C: } L_08AFE5A4: { const bool branch_taken = 0u == 0u; - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); if (branch_taken) { goto L_08AFE7BC; } @@ -5957,7 +5958,7 @@ L_08AFE5B4: } L_08AFE5BC: { const bool branch_taken = 0u == 0u; - aot_gpr_16 = (0u + static_cast(-1)); + ctx.gpr[16] = (0u + static_cast(-1)); if (branch_taken) { goto L_08AFE874; } @@ -5987,7 +5988,7 @@ L_08AFE5D8: } L_08AFE5E0: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(8))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(12))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(12))); aot_gpr_4 = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x08AFE5F4u); ctx.gpr[7] = (aot_gpr_29 + static_cast(8)); @@ -6009,15 +6010,15 @@ L_08AFE5FC: AOT_REGCACHE_SYNC_OUT(); return; L_08AFE608: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(12))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); aot_gpr_4 = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x08AFE61Cu); ctx.gpr[7] = (ctx.gpr[23] | 0u); ctx.pc = 0x08B7319Cu; AOT_REGCACHE_SYNC_OUT(); return; L_08AFE61C: - aot_gpr_16 = (aot_gpr_2 | 0u); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08AFE630; @@ -6119,7 +6120,7 @@ L_08AFE698: } L_08AFE6A0: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(0))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(4))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(4))); aot_gpr_4 = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x08AFE6B4u); ctx.gpr[7] = (aot_gpr_29 | 0u); @@ -6146,14 +6147,14 @@ L_08AFE6CC: aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast(0), aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(4))); ctx.gpr[8] = (aot_gpr_29 + static_cast(12)); - ctx.gpr[6] = (0u | 512u); + aot_gpr_6 = (0u | 512u); aot_gpr_31 = (0x08AFE6ECu); ctx.gpr[7] = (ctx.gpr[21] | 0u); ctx.pc = 0x08B7313Cu; AOT_REGCACHE_SYNC_OUT(); return; L_08AFE6EC: - aot_gpr_16 = (aot_gpr_2 | 0u); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08AFE700; @@ -6221,7 +6222,7 @@ L_08AFE744: } L_08AFE754: { const bool branch_taken = 0u == 0u; - aot_gpr_16 = (0u + static_cast(-1)); + ctx.gpr[16] = (0u + static_cast(-1)); if (branch_taken) { goto L_08AFE874; } @@ -6349,7 +6350,7 @@ L_08AFE7F4: ctx.gpr[7] = (aot_gpr_29 + static_cast(12)); aot_gpr_5 = (0u | 512u); aot_gpr_31 = (0x08AFE810u); - ctx.gpr[6] = (ctx.gpr[21] | 0u); + aot_gpr_6 = (ctx.gpr[21] | 0u); ctx.pc = 0x08B73194u; AOT_REGCACHE_SYNC_OUT(); return; L_08AFE810: @@ -6363,7 +6364,7 @@ L_08AFE810: } L_08AFE81C: { const bool branch_taken = 0u == 0u; - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08AFE874; } @@ -6448,10 +6449,10 @@ L_08AFE890: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 252u, 0x08A19FE4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFE89Cu) goto L_08AFE89C; AOT_REGCACHE_SYNC_OUT(); return; L_08AFE89C: - aot_gpr_2 = (aot_gpr_16 | 0u); + aot_gpr_2 = (ctx.gpr[16] | 0u); { std::uint32_t aot_run_words[10]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(36), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -6478,7 +6479,7 @@ L_08AFE8D0: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -6526,7 +6527,7 @@ L_08AFE8E8: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<6u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -6547,7 +6548,7 @@ L_08AFE8E8: ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08AFE908: - { const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -6556,7 +6557,7 @@ L_08AFE908: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<4u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(16); + { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(16); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -6565,7 +6566,7 @@ L_08AFE908: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<5u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(32); + { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(32); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -6595,7 +6596,7 @@ L_08AFE908: ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08AFE928: - { const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -6711,7 +6712,7 @@ L_08AFE980: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -6741,7 +6742,7 @@ L_08AFE998: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -6762,8 +6763,8 @@ L_08AFE998: ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08AFE9B0: - ctx.gpr[6] = (std::bit_cast(aot_fpr_12)); - ctx.set_vfpu_scalar_bits_ct<28u>(ctx.gpr[6]); + aot_gpr_6 = (std::bit_cast(aot_fpr_12)); + ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_6); { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -6785,8 +6786,8 @@ L_08AFE9B0: ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08AFE9CC: - ctx.gpr[6] = (std::bit_cast(aot_fpr_12)); - ctx.set_vfpu_scalar_bits_ct<28u>(ctx.gpr[6]); + aot_gpr_6 = (std::bit_cast(aot_fpr_12)); + ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_6); { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -6863,9 +6864,9 @@ L_08AFEA30: AOT_REGCACHE_SYNC_OUT(); return; L_08AFEA38: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(900))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(900))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); { const bool branch_taken = aot_gpr_4 == 0u; @@ -6878,23 +6879,23 @@ L_08AFEA38: L_08AFEA58: aot_gpr_5 = (0u | 48u); aot_gpr_31 = (0x08AFEA64u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 510u, 0x08A360ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFEA64u) goto L_08AFEA64; AOT_REGCACHE_SYNC_OUT(); return; L_08AFEA64: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(900))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(92))); aot_gpr_5 = (aot_gpr_5 + static_cast(160)); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); jump_target = aot_gpr_5; aot_gpr_31 = (0x08AFEA80u); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFEA80u) goto L_08AFEA80; AOT_REGCACHE_SYNC_OUT(); return; L_08AFEA80: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(565))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(565))); ctx.gpr[17] = (0u | 0u); aot_gpr_4 = (static_cast(ctx.gpr[17]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; @@ -6905,7 +6906,7 @@ L_08AFEA80: goto L_08AFEA94; } L_08AFEA94: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AFEAA0u); aot_gpr_5 = (ctx.gpr[17] | 0u); goto L_08AFEF7C; @@ -6918,7 +6919,7 @@ L_08AFEAA0: goto L_08AFEAA8; } L_08AFEAA8: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AFEAB4u); aot_gpr_5 = (ctx.gpr[17] | 0u); goto L_08AFEF7C; @@ -6926,11 +6927,11 @@ L_08AFEAB4: aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 48u); aot_gpr_31 = (0x08AFEAC4u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 510u, 0x08A360ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFEAC4u) goto L_08AFEAC4; AOT_REGCACHE_SYNC_OUT(); return; L_08AFEAC4: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AFEAD0u); aot_gpr_5 = (ctx.gpr[17] | 0u); goto L_08AFEF7C; @@ -6938,15 +6939,15 @@ L_08AFEAD0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(92))); aot_gpr_4 = (aot_gpr_4 + static_cast(160)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - jump_target = ctx.gpr[6]; + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); + jump_target = aot_gpr_6; aot_gpr_31 = (0x08AFEAE8u); aot_gpr_4 = (aot_gpr_2 + aot_gpr_5); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFEAE8u) goto L_08AFEAE8; AOT_REGCACHE_SYNC_OUT(); return; L_08AFEAE8: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(565))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(565))); ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); aot_gpr_4 = (static_cast(ctx.gpr[17]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; @@ -6957,13 +6958,13 @@ L_08AFEAE8: goto L_08AFEAFC; } L_08AFEAFC: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AFEB08u); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 247u, 0x08891B8Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFEB08u) goto L_08AFEB08; AOT_REGCACHE_SYNC_OUT(); return; L_08AFEB08: - { const bool branch_taken = aot_gpr_16 == 0u; + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08AFEB2C; @@ -6971,21 +6972,21 @@ L_08AFEB08: goto L_08AFEB10; } L_08AFEB10: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(92))); aot_gpr_5 = (0u | 3u); aot_gpr_4 = (aot_gpr_4 + static_cast(24)); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x08AFEB2Cu); - aot_gpr_4 = (aot_gpr_16 + ctx.gpr[6]); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_6); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFEB2Cu) goto L_08AFEB2C; AOT_REGCACHE_SYNC_OUT(); return; L_08AFEB2C: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -7004,10 +7005,10 @@ L_08AFEB40: AOT_REGCACHE_SYNC_OUT(); return; L_08AFEB48: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x08AFEB5Cu); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); goto L_08AFEBA4; L_08AFEB5C: { const bool branch_taken = aot_gpr_2 == 0u; @@ -7018,9 +7019,9 @@ L_08AFEB5C: goto L_08AFEB64; } L_08AFEB64: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(852))); - ctx.gpr[6] = (0u | 5u); - { const bool branch_taken = aot_gpr_5 == ctx.gpr[6]; + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(852))); + aot_gpr_6 = (0u | 5u); + { const bool branch_taken = aot_gpr_5 == aot_gpr_6; aot_gpr_4 = (0u | 0u); if (branch_taken) { goto L_08AFEB8C; @@ -7029,7 +7030,7 @@ L_08AFEB64: } L_08AFEB74: { const bool branch_taken = 0u == 0u; - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(228))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(228))); if (branch_taken) { goto L_08AFEB84; } @@ -7058,7 +7059,7 @@ L_08AFEB90: aot_gpr_2 = (aot_gpr_4 & 255u); goto L_08AFEB94; L_08AFEB94: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -7481,11 +7482,11 @@ L_08AFEE60: aot_fpr_13 = std::bit_cast(aot_run_words[1]); aot_fpr_14 = std::bit_cast(aot_run_words[2]); } - aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(0))); - ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(4))); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); + ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); aot_gpr_31 = (0x08AFEE84u); - ctx.fpr[17] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(8))); + ctx.fpr[17] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(8))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 611u, 0x08A66E08u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFEE84u) goto L_08AFEE84; AOT_REGCACHE_SYNC_OUT(); return; L_08AFEE84: @@ -7499,13 +7500,13 @@ L_08AFEE84: L_08AFEE90: aot_gpr_29 = (aot_gpr_29 + static_cast(-128)); { std::uint32_t aot_run_words[3]{}; - aot_mem.aot_direct_load32_block(ctx.gpr[6] + static_cast(0), aot_run_words); + aot_mem.aot_direct_load32_block(aot_gpr_6 + static_cast(0), aot_run_words); aot_fpr_12 = std::bit_cast(aot_run_words[0]); aot_fpr_13 = std::bit_cast(aot_run_words[1]); aot_fpr_14 = std::bit_cast(aot_run_words[2]); } - ctx.gpr[6] = (aot_gpr_4 + static_cast(112)); - { const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + aot_gpr_6 = (aot_gpr_4 + static_cast(112)); + { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -7514,8 +7515,8 @@ L_08AFEE90: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - ctx.gpr[6] = (aot_gpr_4 + static_cast(144)); - { const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + aot_gpr_6 = (aot_gpr_4 + static_cast(144)); + { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -7525,14 +7526,14 @@ L_08AFEE90: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 0u>(); - ctx.gpr[6] = (aot_gpr_29 + static_cast(32)); + aot_gpr_6 = (aot_gpr_29 + static_cast(32)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_13), std::bit_cast(aot_fpr_14)}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(48), aot_run_words); } - { const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -7541,8 +7542,8 @@ L_08AFEE90: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } - ctx.gpr[6] = (aot_gpr_29 + static_cast(48)); - { const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + aot_gpr_6 = (aot_gpr_29 + static_cast(48)); + { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -7552,12 +7553,12 @@ L_08AFEE90: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<2u, 4u>(vfpu_value); } ctx.execute_vfpu_cross_quat_ct<0u, 1u, 2u, 3u>(); - ctx.gpr[6] = (aot_gpr_29 + static_cast(16)); + aot_gpr_6 = (aot_gpr_29 + static_cast(16)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - { const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -7566,8 +7567,8 @@ L_08AFEE90: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - ctx.gpr[6] = (aot_gpr_4 + static_cast(320)); - { const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + aot_gpr_6 = (aot_gpr_4 + static_cast(320)); + { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -7651,7 +7652,7 @@ L_08AFEF58: L_08AFEF60: aot_gpr_31 = (0x08AFEF68u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFEF68u) goto L_08AFEF68; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFEF68u) goto L_08AFEF68; AOT_REGCACHE_SYNC_OUT(); return; L_08AFEF68: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -7684,10 +7685,10 @@ L_08AFEF90: ctx.gpr[17] = (aot_gpr_5 << 2u); ctx.gpr[17] = (aot_gpr_4 + ctx.gpr[17]); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(904))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_16 = (ctx.gpr[6] | 0u); + ctx.gpr[16] = (aot_gpr_6 | 0u); if (branch_taken) { goto L_08AFEFBC; } @@ -7696,11 +7697,11 @@ L_08AFEF90: L_08AFEFB4: aot_gpr_31 = (0x08AFEFBCu); aot_gpr_5 = (ctx.gpr[17] + static_cast(904)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFEFBCu) goto L_08AFEFBC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A93004, 163u, 430u, 0x08A93004u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFEFBCu) goto L_08AFEFBC; AOT_REGCACHE_SYNC_OUT(); return; L_08AFEFBC: - { const bool branch_taken = aot_gpr_16 == 0u; - aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(904), aot_gpr_16); + { const bool branch_taken = ctx.gpr[16] == 0u; + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(904), ctx.gpr[16]); if (branch_taken) { goto L_08AFEFD8; } @@ -7718,12 +7719,12 @@ L_08AFEFC4: L_08AFEFD0: aot_gpr_31 = (0x08AFEFD8u); aot_gpr_5 = (ctx.gpr[17] + static_cast(904)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFEFD8u) goto L_08AFEFD8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFEFD8u) goto L_08AFEFD8; AOT_REGCACHE_SYNC_OUT(); return; L_08AFEFD8: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -7737,15 +7738,15 @@ L_08AFEFEC: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); ctx.gpr[17] = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); { const std::uint32_t aot_run_words[3]{ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(8), aot_run_words); } aot_gpr_31 = (0x08AFF010u); - aot_gpr_16 = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 542u, 0x08B02090u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFF010u) goto L_08AFF010; AOT_REGCACHE_SYNC_OUT(); return; L_08AFF010: - aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(2274))); + aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(2274))); aot_gpr_4 = (0u | 10u); { const bool branch_taken = aot_gpr_2 == 0u; ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5836))); @@ -7772,7 +7773,7 @@ L_08AFF028: } L_08AFF030: if (ctx.gpr[18] != 0u) { - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(80))); goto L_08AFF048; } goto L_08AFF038; @@ -7783,20 +7784,20 @@ L_08AFF038: AOT_REGCACHE_SYNC_OUT(); return; L_08AFF040: ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5836))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(80))); goto L_08AFF048; L_08AFF048: aot_gpr_4 = (ctx.gpr[18] | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x08AFF058u); ctx.gpr[7] = (0u | 78u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 635u, 0x0893E914u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFF058u) goto L_08AFF058; AOT_REGCACHE_SYNC_OUT(); return; L_08AFF058: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AFF064u); aot_gpr_5 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFF064u) goto L_08AFF064; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFF064u) goto L_08AFF064; AOT_REGCACHE_SYNC_OUT(); return; L_08AFF064: { const bool branch_taken = 0u == 0u; @@ -7808,7 +7809,7 @@ L_08AFF064: } L_08AFF06C: if (ctx.gpr[18] != 0u) { - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(80))); goto L_08AFF084; } goto L_08AFF074; @@ -7819,20 +7820,20 @@ L_08AFF074: AOT_REGCACHE_SYNC_OUT(); return; L_08AFF07C: ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5836))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(80))); goto L_08AFF084; L_08AFF084: aot_gpr_4 = (ctx.gpr[18] | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x08AFF094u); ctx.gpr[7] = (0u | 79u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 635u, 0x0893E914u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFF094u) goto L_08AFF094; AOT_REGCACHE_SYNC_OUT(); return; L_08AFF094: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AFF0A0u); aot_gpr_5 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFF0A0u) goto L_08AFF0A0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFF0A0u) goto L_08AFF0A0; AOT_REGCACHE_SYNC_OUT(); return; L_08AFF0A0: { const bool branch_taken = 0u == 0u; @@ -7844,7 +7845,7 @@ L_08AFF0A0: } L_08AFF0A8: ctx.gpr[7] = (aot_gpr_4 | 0u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(852))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(852))); { const bool branch_taken = aot_gpr_5 == ctx.gpr[7]; aot_gpr_4 = (0u | 2u); if (branch_taken) { @@ -7862,7 +7863,7 @@ L_08AFF0B8: goto L_08AFF0C4; } L_08AFF0C4: - { const bool branch_taken = ctx.gpr[6] != aot_gpr_4; + { const bool branch_taken = aot_gpr_6 != aot_gpr_4; // nop if (branch_taken) { goto L_08AFF124; @@ -7885,11 +7886,11 @@ L_08AFF0DC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(92))); goto L_08AFF0E4; L_08AFF0E4: - ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); + ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(80))); aot_gpr_4 = (aot_gpr_4 + static_cast(376)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - jump_target = ctx.gpr[6]; + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); + jump_target = aot_gpr_6; aot_gpr_31 = (0x08AFF0FCu); aot_gpr_4 = (ctx.gpr[17] + aot_gpr_5); ctx.pc = jump_target; @@ -7898,16 +7899,16 @@ L_08AFF0E4: L_08AFF0FC: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); - ctx.gpr[6] = (aot_gpr_2 | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08AFF110u); ctx.gpr[7] = (0u | 208u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 635u, 0x0893E914u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFF110u) goto L_08AFF110; AOT_REGCACHE_SYNC_OUT(); return; L_08AFF110: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AFF11Cu); aot_gpr_5 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFF11Cu) goto L_08AFF11C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFF11Cu) goto L_08AFF11C; AOT_REGCACHE_SYNC_OUT(); return; L_08AFF11C: { const bool branch_taken = 0u == 0u; @@ -7929,7 +7930,7 @@ L_08AFF124: } L_08AFF134: if (ctx.gpr[18] != 0u) { - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(80))); goto L_08AFF14C; } goto L_08AFF13C; @@ -7940,20 +7941,20 @@ L_08AFF13C: AOT_REGCACHE_SYNC_OUT(); return; L_08AFF144: ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5836))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(80))); goto L_08AFF14C; L_08AFF14C: aot_gpr_4 = (ctx.gpr[18] | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x08AFF15Cu); ctx.gpr[7] = (0u | 72u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 635u, 0x0893E914u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFF15Cu) goto L_08AFF15C; AOT_REGCACHE_SYNC_OUT(); return; L_08AFF15C: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AFF168u); aot_gpr_5 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFF168u) goto L_08AFF168; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFF168u) goto L_08AFF168; AOT_REGCACHE_SYNC_OUT(); return; L_08AFF168: { const bool branch_taken = 0u == 0u; @@ -7965,7 +7966,7 @@ L_08AFF168: } L_08AFF170: if (ctx.gpr[18] != 0u) { - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(80))); goto L_08AFF188; } goto L_08AFF178; @@ -7976,20 +7977,20 @@ L_08AFF178: AOT_REGCACHE_SYNC_OUT(); return; L_08AFF180: ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5836))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(80))); goto L_08AFF188; L_08AFF188: aot_gpr_4 = (ctx.gpr[18] | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x08AFF198u); ctx.gpr[7] = (0u | 71u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 635u, 0x0893E914u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFF198u) goto L_08AFF198; AOT_REGCACHE_SYNC_OUT(); return; L_08AFF198: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AFF1A4u); aot_gpr_5 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFF1A4u) goto L_08AFF1A4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFF1A4u) goto L_08AFF1A4; AOT_REGCACHE_SYNC_OUT(); return; L_08AFF1A4: { const bool branch_taken = 0u == 0u; @@ -8000,7 +8001,7 @@ L_08AFF1A4: goto L_08AFF1AC; } L_08AFF1AC: - { const bool branch_taken = ctx.gpr[6] != aot_gpr_4; + { const bool branch_taken = aot_gpr_6 != aot_gpr_4; // nop if (branch_taken) { goto L_08AFF20C; @@ -8023,11 +8024,11 @@ L_08AFF1C4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(92))); goto L_08AFF1CC; L_08AFF1CC: - ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); + ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(80))); aot_gpr_4 = (aot_gpr_4 + static_cast(376)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - jump_target = ctx.gpr[6]; + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); + jump_target = aot_gpr_6; aot_gpr_31 = (0x08AFF1E4u); aot_gpr_4 = (ctx.gpr[17] + aot_gpr_5); ctx.pc = jump_target; @@ -8036,16 +8037,16 @@ L_08AFF1CC: L_08AFF1E4: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); - ctx.gpr[6] = (aot_gpr_2 | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08AFF1F8u); ctx.gpr[7] = (0u | 209u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 635u, 0x0893E914u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFF1F8u) goto L_08AFF1F8; AOT_REGCACHE_SYNC_OUT(); return; L_08AFF1F8: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AFF204u); aot_gpr_5 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFF204u) goto L_08AFF204; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFF204u) goto L_08AFF204; AOT_REGCACHE_SYNC_OUT(); return; L_08AFF204: { const bool branch_taken = 0u == 0u; @@ -8067,7 +8068,7 @@ L_08AFF20C: } L_08AFF21C: if (ctx.gpr[18] != 0u) { - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(80))); goto L_08AFF234; } goto L_08AFF224; @@ -8078,20 +8079,20 @@ L_08AFF224: AOT_REGCACHE_SYNC_OUT(); return; L_08AFF22C: ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5836))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(80))); goto L_08AFF234; L_08AFF234: aot_gpr_4 = (ctx.gpr[18] | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x08AFF244u); ctx.gpr[7] = (0u | 92u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 635u, 0x0893E914u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFF244u) goto L_08AFF244; AOT_REGCACHE_SYNC_OUT(); return; L_08AFF244: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AFF250u); aot_gpr_5 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFF250u) goto L_08AFF250; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFF250u) goto L_08AFF250; AOT_REGCACHE_SYNC_OUT(); return; L_08AFF250: { const bool branch_taken = 0u == 0u; @@ -8103,7 +8104,7 @@ L_08AFF250: } L_08AFF258: if (ctx.gpr[18] != 0u) { - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(80))); goto L_08AFF270; } goto L_08AFF260; @@ -8114,38 +8115,38 @@ L_08AFF260: AOT_REGCACHE_SYNC_OUT(); return; L_08AFF268: ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5836))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(80))); goto L_08AFF270; L_08AFF270: aot_gpr_4 = (ctx.gpr[18] | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x08AFF280u); ctx.gpr[7] = (0u | 91u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 635u, 0x0893E914u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFF280u) goto L_08AFF280; AOT_REGCACHE_SYNC_OUT(); return; L_08AFF280: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AFF28Cu); aot_gpr_5 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFF28Cu) goto L_08AFF28C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFF28Cu) goto L_08AFF28C; AOT_REGCACHE_SYNC_OUT(); return; L_08AFF28C: aot_gpr_31 = (0x08AFF294u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFF294u) goto L_08AFF294; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFF294u) goto L_08AFF294; AOT_REGCACHE_SYNC_OUT(); return; L_08AFF294: aot_gpr_5 = (2203u << 16u); aot_gpr_4 = (aot_gpr_2 | 0u); - ctx.gpr[6] = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AFF2A8u); aot_gpr_5 = (aot_gpr_5 + static_cast(13856)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFF2A8u) goto L_08AFF2A8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFF2A8u) goto L_08AFF2A8; AOT_REGCACHE_SYNC_OUT(); return; L_08AFF2A8: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -8190,8 +8191,8 @@ L_08AFF2F4: AOT_REGCACHE_SYNC_OUT(); return; L_08AFF300: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); { const std::uint32_t aot_run_words[3]{ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(4), aot_run_words); } { const bool branch_taken = aot_gpr_4 == 0u; @@ -8204,9 +8205,9 @@ L_08AFF300: L_08AFF320: aot_gpr_4 = (2235u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-32232)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(92), aot_gpr_4); - aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(558), static_cast(0u)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(92), aot_gpr_4); + aot_mem.aot_direct_store16(ctx.gpr[16] + static_cast(558), static_cast(0u)); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(96))); { const bool branch_taken = static_cast(aot_gpr_4) < 0; // nop if (branch_taken) { @@ -8222,7 +8223,7 @@ L_08AFF33C: AOT_REGCACHE_SYNC_OUT(); return; L_08AFF348: aot_gpr_4 = (0u + static_cast(-5)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(96), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(96), aot_gpr_4); goto L_08AFF350; L_08AFF350: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); @@ -8242,22 +8243,22 @@ L_08AFF364: L_08AFF368: ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); aot_gpr_31 = (0x08AFF374u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0218_entry, 218u, 139u, 0x08B6CC28u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFF374u) goto L_08AFF374; AOT_REGCACHE_SYNC_OUT(); return; L_08AFF374: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (0u | 1u); aot_gpr_31 = (0x08AFF384u); - ctx.gpr[6] = (aot_gpr_2 | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0002_entry, 2u, 422u, 0x0880DD60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFF384u) goto L_08AFF384; AOT_REGCACHE_SYNC_OUT(); return; L_08AFF384: - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(565))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(565))); aot_gpr_4 = (0u | 0u); ctx.gpr[7] = (static_cast(aot_gpr_4) < static_cast(aot_gpr_5) ? 1u : 0u); { const bool branch_taken = ctx.gpr[7] == 0u; - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(716))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(716))); if (branch_taken) { goto L_08AFF3AC; } @@ -8277,7 +8278,7 @@ L_08AFF39C: goto L_08AFF3AC; } L_08AFF3AC: - { const bool branch_taken = ctx.gpr[6] == 0u; + { const bool branch_taken = aot_gpr_6 == 0u; // nop if (branch_taken) { goto L_08AFF3BC; @@ -8286,11 +8287,11 @@ L_08AFF3AC: } L_08AFF3B4: aot_gpr_31 = (0x08AFF3BCu); - aot_gpr_4 = (ctx.gpr[6] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFF3BCu) goto L_08AFF3BC; + aot_gpr_4 = (aot_gpr_6 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFF3BCu) goto L_08AFF3BC; AOT_REGCACHE_SYNC_OUT(); return; L_08AFF3BC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(368))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(368))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -8301,10 +8302,10 @@ L_08AFF3BC: L_08AFF3C8: aot_gpr_31 = (0x08AFF3D0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFF3D0u) goto L_08AFF3D0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFF3D0u) goto L_08AFF3D0; AOT_REGCACHE_SYNC_OUT(); return; L_08AFF3D0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(372))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(372))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -8315,10 +8316,10 @@ L_08AFF3D0: L_08AFF3DC: aot_gpr_31 = (0x08AFF3E4u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFF3E4u) goto L_08AFF3E4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFF3E4u) goto L_08AFF3E4; AOT_REGCACHE_SYNC_OUT(); return; L_08AFF3E4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(596))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(596))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -8332,13 +8333,13 @@ L_08AFF3F0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0114_entry, 114u, 649u, 0x089CF934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFF3F8u) goto L_08AFF3F8; AOT_REGCACHE_SYNC_OUT(); return; L_08AFF3F8: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AFF404u); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0207_entry, 207u, 407u, 0x08B41BC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFF404u) goto L_08AFF404; AOT_REGCACHE_SYNC_OUT(); return; L_08AFF404: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(613)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(613)))))); aot_gpr_4 = (aot_gpr_4 & 2u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -8352,12 +8353,12 @@ L_08AFF414: aot_gpr_5 = (0u + static_cast(-3)); aot_gpr_4 = (aot_gpr_4 + static_cast(-1)); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(5452), aot_gpr_4); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(613)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(613)))))); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(613), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(613), static_cast(aot_gpr_4)); goto L_08AFF430; L_08AFF430: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(613)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(613)))))); aot_gpr_4 = (aot_gpr_4 & 4u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -8371,33 +8372,33 @@ L_08AFF440: aot_gpr_5 = (0u + static_cast(-5)); aot_gpr_4 = (aot_gpr_4 + static_cast(-1)); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(5456), aot_gpr_4); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(613)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(613)))))); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(613), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(613), static_cast(aot_gpr_4)); goto L_08AFF45C; L_08AFF45C: - aot_gpr_4 = (aot_gpr_16 + static_cast(384)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(384)); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (branch_taken) { goto L_08AFF480; } goto L_08AFF468; } L_08AFF468: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(440))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(440))); if (aot_gpr_4 == 0u) { - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_08AFF480; } goto L_08AFF474; L_08AFF474: aot_gpr_31 = (0x08AFF47Cu); - aot_gpr_5 = (aot_gpr_16 + static_cast(440)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFF47Cu) goto L_08AFF47C; + aot_gpr_5 = (ctx.gpr[16] + static_cast(440)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A93004, 163u, 430u, 0x08A93004u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFF47Cu) goto L_08AFF47C; AOT_REGCACHE_SYNC_OUT(); return; L_08AFF47C: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_08AFF480; L_08AFF480: aot_gpr_31 = (0x08AFF488u); @@ -8415,12 +8416,12 @@ L_08AFF488: } L_08AFF494: aot_gpr_31 = (0x08AFF49Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_08AFF2E0; L_08AFF49C: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; @@ -8433,8 +8434,8 @@ L_08AFF49C: AOT_REGCACHE_SYNC_OUT(); return; L_08AFF4B4: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_5 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_5 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08AFF4D0u); @@ -8446,7 +8447,7 @@ L_08AFF4D0: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(4)))))); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(556), static_cast(aot_gpr_4)); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-3208))); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(5)))))); aot_gpr_31 = (0x08AFF4F0u); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(557), static_cast(aot_gpr_5)); @@ -8456,7 +8457,7 @@ L_08AFF4F0: aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(565), static_cast(aot_gpr_2)); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -8469,17 +8470,17 @@ L_08AFF4F0: L_08AFF508: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(562))); - { const std::uint32_t aot_run_words[6]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; + { const std::uint32_t aot_run_words[6]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } { const bool branch_taken = aot_gpr_5 != 0u; - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08AFF558; } goto L_08AFF530; } L_08AFF530: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(564))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(564))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -8488,7 +8489,7 @@ L_08AFF530: goto L_08AFF53C; } L_08AFF53C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(900))); if (aot_gpr_4 != 0u) { aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(2276))); goto L_08AFF560; @@ -8519,8 +8520,8 @@ L_08AFF558: goto L_08AFF560; } L_08AFF560: - ctx.gpr[6] = (0u | 2u); - { const bool branch_taken = aot_gpr_5 == ctx.gpr[6]; + aot_gpr_6 = (0u | 2u); + { const bool branch_taken = aot_gpr_5 == aot_gpr_6; aot_gpr_5 = (aot_gpr_4 + static_cast(2228)); if (branch_taken) { goto L_08AFF5A8; @@ -8529,8 +8530,8 @@ L_08AFF560: } L_08AFF56C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); - ctx.gpr[6] = (0u | 55u); - { const bool branch_taken = aot_gpr_5 == ctx.gpr[6]; + aot_gpr_6 = (0u | 55u); + { const bool branch_taken = aot_gpr_5 == aot_gpr_6; aot_gpr_4 = (aot_gpr_4 + static_cast(2228)); if (branch_taken) { goto L_08AFF58C; @@ -8548,7 +8549,7 @@ L_08AFF57C: goto L_08AFF58C; } L_08AFF58C: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(565))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(565))); ctx.gpr[17] = (0u | 0u); aot_gpr_4 = (static_cast(ctx.gpr[17]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; @@ -8579,13 +8580,13 @@ L_08AFF5B0: ctx.gpr[18] = (0u | 58u); goto L_08AFF5B8; L_08AFF5B8: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AFF5C4u); aot_gpr_5 = (ctx.gpr[17] | 0u); goto L_08AFEF7C; L_08AFF5C4: { const bool branch_taken = aot_gpr_2 == 0u; - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (branch_taken) { goto L_08AFF610; } @@ -8598,7 +8599,7 @@ L_08AFF5CC: L_08AFF5D4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(2276))); { const bool branch_taken = aot_gpr_4 == ctx.gpr[20]; - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (branch_taken) { goto L_08AFF62C; } @@ -8612,7 +8613,7 @@ L_08AFF5E8: aot_gpr_4 = (aot_gpr_2 + static_cast(2228)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); { const bool branch_taken = aot_gpr_4 == ctx.gpr[19]; - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (branch_taken) { goto L_08AFF610; } @@ -8633,13 +8634,13 @@ L_08AFF600: goto L_08AFF610; } L_08AFF610: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AFF61Cu); aot_gpr_5 = (ctx.gpr[17] | 0u); goto L_08AFEF7C; L_08AFF61C: { const bool branch_taken = aot_gpr_2 != 0u; - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (branch_taken) { goto L_08AFF634; } @@ -8669,7 +8670,7 @@ L_08AFF63C: aot_gpr_4 = (aot_gpr_2 + static_cast(2228)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); { const bool branch_taken = aot_gpr_4 == ctx.gpr[19]; - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (branch_taken) { goto L_08AFF664; } @@ -8691,7 +8692,7 @@ L_08AFF654: } L_08AFF664: ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(565))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(565))); ctx.gpr[17] = (ctx.gpr[17] & 65535u); aot_gpr_4 = (static_cast(ctx.gpr[17]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; @@ -8718,8 +8719,8 @@ L_08AFF684: goto L_08AFF68C; } L_08AFF68C: - aot_gpr_16 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(612))); - aot_gpr_4 = (aot_gpr_16 < static_cast(5) ? 1u : 0u); + ctx.gpr[16] = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(612))); + aot_gpr_4 = (ctx.gpr[16] < static_cast(5) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -8728,7 +8729,7 @@ L_08AFF68C: goto L_08AFF69C; } L_08AFF69C: - { const bool branch_taken = aot_gpr_16 == 0u; + { const bool branch_taken = ctx.gpr[16] == 0u; ctx.gpr[1] = (0u + static_cast(1)); if (branch_taken) { goto L_08AFF6D4; @@ -8736,7 +8737,7 @@ L_08AFF69C: goto L_08AFF6A4; } L_08AFF6A4: - { const bool branch_taken = aot_gpr_16 == ctx.gpr[1]; + { const bool branch_taken = ctx.gpr[16] == ctx.gpr[1]; ctx.gpr[1] = (0u + static_cast(2)); if (branch_taken) { goto L_08AFF6C4; @@ -8744,7 +8745,7 @@ L_08AFF6A4: goto L_08AFF6AC; } L_08AFF6AC: - { const bool branch_taken = aot_gpr_16 == ctx.gpr[1]; + { const bool branch_taken = ctx.gpr[16] == ctx.gpr[1]; ctx.gpr[1] = (0u + static_cast(4)); if (branch_taken) { goto L_08AFF6CC; @@ -8752,7 +8753,7 @@ L_08AFF6AC: goto L_08AFF6B4; } L_08AFF6B4: - { const bool branch_taken = aot_gpr_16 == ctx.gpr[1]; + { const bool branch_taken = ctx.gpr[16] == ctx.gpr[1]; // nop if (branch_taken) { goto L_08AFF6CC; @@ -8789,7 +8790,7 @@ L_08AFF6D4: L_08AFF6D8: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -8857,14 +8858,14 @@ L_08AFF730: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(136), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(152), ctx.gpr[21]); ctx.fpr[20] = std::bit_cast(std::bit_cast(aot_fpr_12)); - ctx.gpr[21] = (ctx.gpr[6] & 255u); + ctx.gpr[21] = (aot_gpr_6 & 255u); ctx.gpr[17] = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(132), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(132), ctx.gpr[16]); { const std::uint32_t aot_run_words[3]{ctx.gpr[18], ctx.gpr[19], ctx.gpr[20]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(140), aot_run_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(156), aot_gpr_31); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_16 = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); if (branch_taken) { goto L_08AFF790; } @@ -8950,7 +8951,7 @@ L_08AFF7CC: goto L_08AFF7E0; } L_08AFF7E0: - { const bool branch_taken = aot_gpr_16 != ctx.gpr[18]; + { const bool branch_taken = ctx.gpr[16] != ctx.gpr[18]; // nop if (branch_taken) { goto L_08AFF7FC; @@ -8973,7 +8974,7 @@ L_08AFF7F4: } L_08AFF7FC: aot_gpr_4 = (0u | 1u); - { const bool branch_taken = aot_gpr_16 != aot_gpr_4; + { const bool branch_taken = ctx.gpr[16] != aot_gpr_4; // nop if (branch_taken) { goto L_08AFF81C; @@ -8995,7 +8996,7 @@ L_08AFF814: goto L_08AFF81C; } L_08AFF81C: - { const bool branch_taken = aot_gpr_16 != 0u; + { const bool branch_taken = ctx.gpr[16] != 0u; // nop if (branch_taken) { goto L_08AFF8AC; @@ -9043,7 +9044,7 @@ L_08AFF838: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 4u, 0x08860094u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFF85Cu) goto L_08AFF85C; AOT_REGCACHE_SYNC_OUT(); return; L_08AFF85C: - { const bool branch_taken = aot_gpr_16 != ctx.gpr[18]; + { const bool branch_taken = ctx.gpr[16] != ctx.gpr[18]; // nop if (branch_taken) { goto L_08AFF878; @@ -9066,7 +9067,7 @@ L_08AFF870: } L_08AFF878: aot_gpr_4 = (0u | 1u); - { const bool branch_taken = aot_gpr_16 != aot_gpr_4; + { const bool branch_taken = ctx.gpr[16] != aot_gpr_4; // nop if (branch_taken) { goto L_08AFF898; @@ -9088,7 +9089,7 @@ L_08AFF890: goto L_08AFF898; } L_08AFF898: - { const bool branch_taken = aot_gpr_16 != 0u; + { const bool branch_taken = ctx.gpr[16] != 0u; // nop if (branch_taken) { goto L_08AFF8AC; @@ -9145,7 +9146,7 @@ L_08AFF8EC: { std::uint32_t aot_run_words[8]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(128), aot_run_words); ctx.fpr[20] = std::bit_cast(aot_run_words[0]); - aot_gpr_16 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[1]; ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; ctx.gpr[19] = aot_run_words[4]; @@ -9217,10 +9218,10 @@ L_08AFF94C: AOT_REGCACHE_SYNC_OUT(); return; L_08AFF954: aot_gpr_29 = (aot_gpr_29 + static_cast(-144)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[16], ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(132), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); + ctx.gpr[16] = (aot_gpr_4 | 0u); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(86)))))); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); @@ -9230,8 +9231,8 @@ L_08AFF954: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; - aot_gpr_5 = (aot_gpr_16 + static_cast(48)); - aot_gpr_4 = (aot_gpr_16 + static_cast(16)); + aot_gpr_5 = (ctx.gpr[16] + static_cast(48)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(16)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -9246,14 +9247,14 @@ L_08AFF954: const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - ctx.gpr[6] = (16128u << 16u); - aot_fpr_14 = std::bit_cast(ctx.gpr[6]); + aot_gpr_6 = (16128u << 16u); + aot_fpr_14 = std::bit_cast(aot_gpr_6); { const float fs = aot_fpr_12; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - ctx.gpr[6] = (16448u << 16u); - aot_fpr_13 = std::bit_cast(ctx.gpr[6]); + aot_gpr_6 = (16448u << 16u); + aot_fpr_13 = std::bit_cast(aot_gpr_6); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; - ctx.gpr[6] = (std::bit_cast(aot_fpr_12)); - ctx.set_vfpu_scalar_bits_ct<1u>(ctx.gpr[6]); + aot_gpr_6 = (std::bit_cast(aot_fpr_12)); + ctx.set_vfpu_scalar_bits_ct<1u>(aot_gpr_6); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -9293,7 +9294,7 @@ L_08AFF954: const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - ctx.gpr[6] = (aot_gpr_29 + static_cast(64)); + aot_gpr_6 = (aot_gpr_29 + static_cast(64)); ctx.gpr[7] = (aot_gpr_29 + static_cast(96)); ctx.gpr[17] = (0u | 1u); ctx.gpr[8] = (0u | 1u); @@ -9316,7 +9317,7 @@ L_08AFFA1C: } L_08AFFA24: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(96))); - { const bool branch_taken = aot_gpr_4 == aot_gpr_16; + { const bool branch_taken = aot_gpr_4 == ctx.gpr[16]; // nop if (branch_taken) { goto L_08AFFA38; @@ -9337,7 +9338,7 @@ L_08AFFA38: L_08AFFA3C: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(132), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -9349,15 +9350,15 @@ L_08AFFA3C: AOT_REGCACHE_SYNC_OUT(); return; L_08AFFA50: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x08AFFA68u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(80))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 191u, 0x0894530Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFFA68u) goto L_08AFFA68; AOT_REGCACHE_SYNC_OUT(); return; L_08AFFA68: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(615)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(615)))))); aot_gpr_5 = (aot_gpr_5 & 8u); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_4 = (aot_gpr_2 | 0u); @@ -9408,11 +9409,11 @@ L_08AFFAA8: L_08AFFAAC: aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_31 = (0x08AFFAB8u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(80))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 190u, 0x08945304u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFFAB8u) goto L_08AFFAB8; AOT_REGCACHE_SYNC_OUT(); return; L_08AFFAB8: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -9426,11 +9427,11 @@ L_08AFFAC8: ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(900))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); ctx.gpr[17] = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); { const std::uint32_t aot_run_words[4]{ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(12), aot_run_words); } { const bool branch_taken = ctx.gpr[18] == 0u; - aot_gpr_16 = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); if (branch_taken) { goto L_08AFFBF0; } @@ -9440,7 +9441,7 @@ L_08AFFAF8: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (0u | 44u); aot_gpr_31 = (0x08AFFB08u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 510u, 0x08A360ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFFB08u) goto L_08AFFB08; AOT_REGCACHE_SYNC_OUT(); return; L_08AFFB08: @@ -9455,7 +9456,7 @@ L_08AFFB08: L_08AFFB14: aot_gpr_31 = (0x08AFFB1Cu); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFFB1Cu) goto L_08AFFB1C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFFB1Cu) goto L_08AFFB1C; AOT_REGCACHE_SYNC_OUT(); return; L_08AFFB1C: { const bool branch_taken = aot_gpr_2 == 0u; @@ -9492,7 +9493,7 @@ L_08AFFB44: AOT_REGCACHE_SYNC_OUT(); return; L_08AFFB4C: aot_gpr_4 = (2237u << 16u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AFFB5Cu); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 173u, 0x08ADC8D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFFB5Cu) goto L_08AFFB5C; @@ -9521,7 +9522,7 @@ L_08AFFB68: L_08AFFB78: aot_gpr_31 = (0x08AFFB80u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFFB80u) goto L_08AFFB80; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFFB80u) goto L_08AFFB80; AOT_REGCACHE_SYNC_OUT(); return; L_08AFFB80: { const bool branch_taken = aot_gpr_2 != 0u; @@ -9535,8 +9536,8 @@ L_08AFFB88: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(92))); aot_gpr_4 = (aot_gpr_4 + static_cast(160)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - jump_target = ctx.gpr[6]; + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); + jump_target = aot_gpr_6; aot_gpr_31 = (0x08AFFBA0u); aot_gpr_4 = (ctx.gpr[18] + aot_gpr_5); ctx.pc = jump_target; @@ -9582,7 +9583,7 @@ L_08AFFBD4: aot_fpr_12 = std::bit_cast(ctx.gpr[7]); aot_gpr_5 = (0u | 16u); aot_gpr_31 = (0x08AFFBF0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0070_entry, 70u, 653u, 0x0891F338u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFFBF0u) goto L_08AFFBF0; AOT_REGCACHE_SYNC_OUT(); return; L_08AFFBF0: @@ -9629,7 +9630,7 @@ L_08AFFC2C: L_08AFFC34: aot_gpr_31 = (0x08AFFC3Cu); aot_gpr_4 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFFC3Cu) goto L_08AFFC3C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFFC3Cu) goto L_08AFFC3C; AOT_REGCACHE_SYNC_OUT(); return; L_08AFFC3C: { const bool branch_taken = aot_gpr_2 == 0u; @@ -9658,7 +9659,7 @@ L_08AFFC4C: L_08AFFC64: aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x08AFFC70u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 173u, 0x08ADC8D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFFC70u) goto L_08AFFC70; AOT_REGCACHE_SYNC_OUT(); return; L_08AFFC70: @@ -9670,7 +9671,7 @@ L_08AFFC7C: aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 44u); aot_gpr_31 = (0x08AFFC8Cu); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 510u, 0x08A360ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFFC8Cu) goto L_08AFFC8C; AOT_REGCACHE_SYNC_OUT(); return; L_08AFFC8C: @@ -9690,7 +9691,7 @@ L_08AFFC98: L_08AFFCA4: aot_gpr_31 = (0x08AFFCACu); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFFCACu) goto L_08AFFCAC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFFCACu) goto L_08AFFCAC; AOT_REGCACHE_SYNC_OUT(); return; L_08AFFCAC: { const bool branch_taken = aot_gpr_2 != 0u; @@ -9704,8 +9705,8 @@ L_08AFFCB4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(92))); aot_gpr_4 = (aot_gpr_4 + static_cast(160)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - jump_target = ctx.gpr[6]; + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); + jump_target = aot_gpr_6; aot_gpr_31 = (0x08AFFCCCu); aot_gpr_4 = (ctx.gpr[18] + aot_gpr_5); ctx.pc = jump_target; @@ -9753,7 +9754,7 @@ L_08AFFD00: L_08AFFD14: { std::uint32_t aot_run_words[7]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -9769,11 +9770,11 @@ L_08AFFD14: AOT_REGCACHE_SYNC_OUT(); return; L_08AFFD38: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(565))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(565))); ctx.gpr[17] = (0u | 0u); aot_gpr_4 = (static_cast(ctx.gpr[17]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; @@ -9784,7 +9785,7 @@ L_08AFFD38: goto L_08AFFD60; } L_08AFFD60: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08AFFD6Cu); aot_gpr_5 = (ctx.gpr[17] | 0u); goto L_08AFEF7C; @@ -9797,7 +9798,7 @@ L_08AFFD6C: goto L_08AFFD74; } L_08AFFD74: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(565))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(565))); ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); aot_gpr_4 = (static_cast(ctx.gpr[17]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; @@ -9829,7 +9830,7 @@ L_08AFFD98: L_08AFFD9C: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -9865,13 +9866,13 @@ L_08AFFDD4: AOT_REGCACHE_SYNC_OUT(); return; L_08AFFDDC: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(86)))))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); - ctx.gpr[6] = (static_cast(aot_gpr_5) < static_cast(ctx.gpr[6]) ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_6 = (static_cast(aot_gpr_5) < static_cast(aot_gpr_6) ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_4 = (0u | 0u); if (branch_taken) { goto L_08AFFE10; @@ -9885,17 +9886,17 @@ L_08AFFE00: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); goto L_08AFFE10; L_08AFFE10: - aot_gpr_5 = (aot_gpr_16 + static_cast(548)); + aot_gpr_5 = (ctx.gpr[16] + static_cast(548)); aot_gpr_31 = (0x08AFFE1Cu); - ctx.gpr[6] = (aot_gpr_16 + static_cast(552)); + aot_gpr_6 = (ctx.gpr[16] + static_cast(552)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0167_entry, 167u, 451u, 0x08AA1CC8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFFE1Cu) goto L_08AFFE1C; AOT_REGCACHE_SYNC_OUT(); return; L_08AFFE1C: - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(896), static_cast(aot_gpr_2)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(896), static_cast(aot_gpr_2)); aot_gpr_4 = (0u + static_cast(-1)); - aot_gpr_2 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(896)))))); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(897), static_cast(aot_gpr_4)); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_2 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(896)))))); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(897), static_cast(aot_gpr_4)); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -9905,10 +9906,10 @@ L_08AFFE1C: AOT_REGCACHE_SYNC_OUT(); return; L_08AFFE3C: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 + static_cast(48)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 + static_cast(48)); { std::uint32_t aot_run_words[3]{}; - aot_mem.aot_direct_load32_block(aot_gpr_16 + static_cast(0), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[16] + static_cast(0), aot_run_words); aot_fpr_12 = std::bit_cast(aot_run_words[0]); aot_fpr_13 = std::bit_cast(aot_run_words[1]); aot_fpr_14 = std::bit_cast(aot_run_words[2]); @@ -9920,10 +9921,10 @@ L_08AFFE3C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 519u, 0x08893460u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFFE64u) goto L_08AFFE64; AOT_REGCACHE_SYNC_OUT(); return; L_08AFFE64: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); ctx.fpr[20] = std::bit_cast(std::bit_cast(ctx.fpr[0])); - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(8))); aot_gpr_4 = (aot_gpr_29 + static_cast(4)); aot_gpr_31 = (0x08AFFE80u); aot_gpr_5 = (0u | 1u); @@ -9952,12 +9953,12 @@ L_08AFFE9C: ctx.fpr[20] = std::bit_cast(std::bit_cast(aot_fpr_12)); goto L_08AFFEA0; L_08AFFEA0: - ctx.fpr[0] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); + ctx.fpr[0] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(8))); ctx.fpr[0] = ctx.fpr[0] - ctx.fpr[20]; { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(8), aot_run_words); ctx.fpr[20] = std::bit_cast(aot_run_words[0]); - aot_gpr_16 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -10004,9 +10005,9 @@ L_08AFFEF4: AOT_REGCACHE_SYNC_OUT(); return; L_08AFFEFC: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(666))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(666))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_5 = (16773u << 16u); @@ -10025,7 +10026,7 @@ L_08AFFF18: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 < aot_fpr_12)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); - ctx.gpr[6] = (aot_gpr_4 | 0u); + aot_gpr_6 = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08AFFF4C; } @@ -10057,10 +10058,10 @@ L_08AFFF60: goto L_08AFFF6C; } L_08AFFF6C: - aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(666), static_cast(0u)); - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(666))); + aot_mem.aot_direct_store16(ctx.gpr[16] + static_cast(666), static_cast(0u)); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(666))); { const bool branch_taken = 0u == 0u; - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(852))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(852))); if (branch_taken) { goto L_08AFFF8C; } @@ -10068,9 +10069,9 @@ L_08AFFF6C: } L_08AFFF7C: aot_gpr_4 = (aot_gpr_4 - aot_gpr_5); - aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(666), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(666))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(852))); + aot_mem.aot_direct_store16(ctx.gpr[16] + static_cast(666), static_cast(aot_gpr_4)); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(666))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(852))); goto L_08AFFF8C; L_08AFFF8C: { const bool branch_taken = aot_gpr_5 != 0u; @@ -10081,7 +10082,7 @@ L_08AFFF8C: goto L_08AFFF94; } L_08AFFF94: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1653)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(1653)))))); ctx.gpr[7] = (0u | 4u); aot_gpr_5 = (aot_gpr_5 & 7u); { const bool branch_taken = aot_gpr_5 != ctx.gpr[7]; @@ -10094,7 +10095,7 @@ L_08AFFF94: L_08AFFFA8: aot_gpr_5 = (0u + static_cast(-512)); ctx.gpr[7] = (aot_gpr_4 & aot_gpr_5); - aot_gpr_5 = (ctx.gpr[6] & aot_gpr_5); + aot_gpr_5 = (aot_gpr_6 & aot_gpr_5); { const bool branch_taken = ctx.gpr[7] == aot_gpr_5; // nop if (branch_taken) { @@ -10105,15 +10106,15 @@ L_08AFFFA8: L_08AFFFBC: ctx.gpr[7] = (16256u << 16u); aot_fpr_12 = std::bit_cast(0u); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(96))); aot_fpr_13 = std::bit_cast(ctx.gpr[7]); aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); aot_gpr_31 = (0x08AFFFD8u); - ctx.gpr[6] = (0u | 29u); + aot_gpr_6 = (0u | 29u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 503u, 0x08A05F80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08AFFFD8u) goto L_08AFFFD8; AOT_REGCACHE_SYNC_OUT(); return; L_08AFFFD8: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(666))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(666))); goto L_08AFFFDC; L_08AFFFDC: { const bool branch_taken = static_cast(aot_gpr_4) > 0; @@ -10124,15 +10125,15 @@ L_08AFFFDC: goto L_08AFFFE4; } L_08AFFFE4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(668))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(92))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(668))); aot_gpr_4 = (aot_gpr_4 + static_cast(328)); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - aot_gpr_4 = (aot_gpr_16 + ctx.gpr[6]); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_6); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x08B00004u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); ctx.pc = jump_target; (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; diff --git a/profiles/vcs/generated/generated_unit_0191.cpp b/profiles/vcs/generated/generated_unit_0191.cpp index a523867..b5de1aa 100644 --- a/profiles/vcs/generated/generated_unit_0191.cpp +++ b/profiles/vcs/generated/generated_unit_0191.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0191[4092] = { }; void recomp_unit_0191_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,16,29,31,17 fprs=12,13,14,20 gpr_occ=3941 fpr_occ=550 gpr_total=4975 fpr_total=686 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,31,16,6,29 fprs=12,13,14,20 gpr_occ=4106 fpr_occ=550 gpr_total=5202 fpr_total=686 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; - std::uint32_t aot_gpr_16 = ctx.gpr[16]; - std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; - std::uint32_t aot_gpr_17 = ctx.gpr[17]; + std::uint32_t aot_gpr_16 = ctx.gpr[16]; + std::uint32_t aot_gpr_6 = ctx.gpr[6]; + std::uint32_t aot_gpr_29 = ctx.gpr[29]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_14 = ctx.fpr[14]; float aot_fpr_20 = ctx.fpr[20]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[16] = aot_gpr_16; ctx.gpr[29] = aot_gpr_29; ctx.gpr[31] = aot_gpr_31; ctx.gpr[17] = aot_gpr_17; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[20] = aot_fpr_20; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_17 = ctx.gpr[17]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_20 = ctx.fpr[20]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[31] = aot_gpr_31; ctx.gpr[16] = aot_gpr_16; ctx.gpr[6] = aot_gpr_6; ctx.gpr[29] = aot_gpr_29; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[20] = aot_fpr_20; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_29 = ctx.gpr[29]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_20 = ctx.fpr[20]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -1181,7 +1182,7 @@ LOCAL_DISPATCH: } } L_08B00000: - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); goto L_08B00004; L_08B00004: aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -1213,10 +1214,10 @@ L_08B00038: ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08B00044: - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(86)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(86)))))); ctx.gpr[8] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); ctx.gpr[7] = (aot_gpr_5 & 255u); - ctx.gpr[8] = (static_cast(ctx.gpr[6]) < static_cast(ctx.gpr[8]) ? 1u : 0u); + ctx.gpr[8] = (static_cast(aot_gpr_6) < static_cast(ctx.gpr[8]) ? 1u : 0u); { const bool branch_taken = ctx.gpr[8] == 0u; aot_gpr_5 = (0u | 0u); if (branch_taken) { @@ -1226,8 +1227,8 @@ L_08B00044: } L_08B0005C: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); - ctx.gpr[6] = (ctx.gpr[6] << 2u); - aot_gpr_5 = (aot_gpr_5 + ctx.gpr[6]); + aot_gpr_6 = (aot_gpr_6 << 2u); + aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); goto L_08B0006C; L_08B0006C: @@ -1248,11 +1249,11 @@ L_08B00088: goto L_08B0008C; L_08B0008C: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(613)))))); - ctx.gpr[6] = (0u + static_cast(-33)); + aot_gpr_6 = (0u + static_cast(-33)); ctx.gpr[7] = (ctx.gpr[7] & 1u); - aot_gpr_5 = (aot_gpr_5 & ctx.gpr[6]); - ctx.gpr[6] = (ctx.gpr[7] << 5u); - aot_gpr_5 = (aot_gpr_5 | ctx.gpr[6]); + aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); + aot_gpr_6 = (ctx.gpr[7] << 5u); + aot_gpr_5 = (aot_gpr_5 | aot_gpr_6); jump_target = aot_gpr_31; aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(613), static_cast(aot_gpr_5)); local_pc = jump_target; @@ -1261,14 +1262,14 @@ L_08B0008C: AOT_REGCACHE_SYNC_OUT(); return; L_08B000AC: aot_gpr_29 = (aot_gpr_29 + static_cast(-80)); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(852))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), aot_gpr_17); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(852))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), ctx.gpr[17]); ctx.gpr[7] = (0u | 6u); - aot_gpr_17 = (aot_gpr_4 | 0u); + ctx.gpr[17] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(72), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(76), aot_gpr_31); - { const bool branch_taken = ctx.gpr[6] == ctx.gpr[7]; + { const bool branch_taken = aot_gpr_6 == ctx.gpr[7]; aot_gpr_16 = (aot_gpr_5 | 0u); if (branch_taken) { goto L_08B000E4; @@ -1276,7 +1277,7 @@ L_08B000AC: goto L_08B000D4; } L_08B000D4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(852))); aot_gpr_5 = (0u | 8u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; aot_gpr_4 = (48716u << 16u); @@ -1293,7 +1294,7 @@ L_08B000E4: { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); - aot_gpr_4 = (aot_gpr_17 + static_cast(32)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(32)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -1313,7 +1314,7 @@ L_08B000E4: aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); - aot_gpr_4 = (aot_gpr_17 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(16)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -1342,7 +1343,7 @@ L_08B000E4: ctx.fpr[17] = std::bit_cast(aot_run_words[2]); } aot_gpr_31 = (0x08B00158u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 611u, 0x08A66E08u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B00158u) goto L_08B00158; AOT_REGCACHE_SYNC_OUT(); return; L_08B00158: @@ -1359,20 +1360,20 @@ L_08B00160: ctx.fpr[15] = std::bit_cast(aot_gpr_4); ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(48))); { const float fs = aot_fpr_14; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } - ctx.fpr[18] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(48))); + ctx.fpr[18] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(48))); ctx.fpr[19] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(52))); aot_fpr_12 = std::bit_cast(0u); - ctx.fpr[0] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(52))); + ctx.fpr[0] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(52))); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_12)); ctx.fpr[17] = std::bit_cast(std::bit_cast(aot_fpr_12)); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); ctx.fpr[15] = ctx.fpr[16] - ctx.fpr[18]; aot_gpr_31 = (0x08B0019Cu); ctx.fpr[16] = ctx.fpr[19] - ctx.fpr[0]; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 611u, 0x08A66E08u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0019Cu) goto L_08B0019C; AOT_REGCACHE_SYNC_OUT(); return; L_08B0019C: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(565))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(565))); ctx.gpr[18] = (0u | 0u); aot_gpr_4 = (static_cast(ctx.gpr[18]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; @@ -1383,7 +1384,7 @@ L_08B0019C: goto L_08B001B0; } L_08B001B0: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B001BCu); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B001BCu) goto L_08B001BC; @@ -1397,7 +1398,7 @@ L_08B001BC: goto L_08B001C4; } L_08B001C4: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(565))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(565))); ctx.gpr[18] = (ctx.gpr[18] + static_cast(1)); aot_gpr_4 = (static_cast(ctx.gpr[18]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; @@ -1416,10 +1417,10 @@ L_08B001D8: goto L_08B001E0; } L_08B001E0: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08B001F0u); - ctx.gpr[6] = (aot_gpr_16 | 0u); + aot_gpr_6 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 664u, 0x08AFEF90u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B001F0u) goto L_08B001F0; AOT_REGCACHE_SYNC_OUT(); return; L_08B001F0: @@ -1437,7 +1438,7 @@ L_08B001FC: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(64), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -1451,13 +1452,13 @@ L_08B00214: aot_gpr_29 = (aot_gpr_29 + static_cast(-80)); ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(614)))))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(72), ctx.gpr[18]); - ctx.gpr[18] = (ctx.gpr[6] & 255u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), aot_gpr_17); - ctx.gpr[6] = (ctx.gpr[7] & 2u); - aot_gpr_17 = (aot_gpr_4 | 0u); + ctx.gpr[18] = (aot_gpr_6 & 255u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), ctx.gpr[17]); + aot_gpr_6 = (ctx.gpr[7] & 2u); + ctx.gpr[17] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(76), aot_gpr_31); - { const bool branch_taken = ctx.gpr[6] != 0u; + { const bool branch_taken = aot_gpr_6 != 0u; aot_gpr_16 = (aot_gpr_5 | 0u); if (branch_taken) { goto L_08B00258; @@ -1465,7 +1466,7 @@ L_08B00214: goto L_08B00240; } L_08B00240: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(852))); aot_gpr_5 = (0u | 6u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -1476,14 +1477,14 @@ L_08B00240: } L_08B00250: { const bool branch_taken = 0u == 0u; - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(852))); if (branch_taken) { goto L_08B0026C; } goto L_08B00258; } L_08B00258: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B00264u); aot_gpr_5 = (aot_gpr_16 | 0u); goto L_08B000AC; @@ -1512,7 +1513,7 @@ L_08B00278: { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); - aot_gpr_4 = (aot_gpr_17 + static_cast(32)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(32)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -1532,7 +1533,7 @@ L_08B00278: aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); - aot_gpr_4 = (aot_gpr_17 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(16)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -1561,7 +1562,7 @@ L_08B00278: ctx.fpr[17] = std::bit_cast(aot_run_words[2]); } aot_gpr_31 = (0x08B002ECu); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 611u, 0x08A66E08u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B002ECu) goto L_08B002EC; AOT_REGCACHE_SYNC_OUT(); return; L_08B002EC: @@ -1578,23 +1579,23 @@ L_08B002F4: ctx.fpr[15] = std::bit_cast(aot_gpr_4); ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(48))); { const float fs = aot_fpr_14; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } - ctx.fpr[18] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(48))); + ctx.fpr[18] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(48))); ctx.fpr[19] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(52))); aot_fpr_12 = std::bit_cast(0u); - ctx.fpr[0] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(52))); + ctx.fpr[0] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(52))); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_12)); ctx.fpr[17] = std::bit_cast(std::bit_cast(aot_fpr_12)); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); ctx.fpr[15] = ctx.fpr[16] - ctx.fpr[18]; aot_gpr_31 = (0x08B00330u); ctx.fpr[16] = ctx.fpr[19] - ctx.fpr[0]; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 611u, 0x08A66E08u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B00330u) goto L_08B00330; AOT_REGCACHE_SYNC_OUT(); return; L_08B00330: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(565))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(565))); aot_gpr_4 = (static_cast(ctx.gpr[18]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (branch_taken) { goto L_08B00368; } @@ -1614,10 +1615,10 @@ L_08B00348: goto L_08B00350; } L_08B00350: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08B00360u); - ctx.gpr[6] = (aot_gpr_16 | 0u); + aot_gpr_6 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 664u, 0x08AFEF90u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B00360u) goto L_08B00360; AOT_REGCACHE_SYNC_OUT(); return; L_08B00360: @@ -1635,7 +1636,7 @@ L_08B0036C: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(64), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -1647,13 +1648,13 @@ L_08B0036C: AOT_REGCACHE_SYNC_OUT(); return; L_08B00384: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(852))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(852))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_16); ctx.gpr[7] = (0u | 3u); aot_gpr_16 = (aot_gpr_4 | 0u); - { const std::uint32_t aot_run_words[3]{aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(20), aot_run_words); } - { const bool branch_taken = ctx.gpr[6] != ctx.gpr[7]; + { const bool branch_taken = aot_gpr_6 != ctx.gpr[7]; ctx.gpr[18] = (aot_gpr_5 | 0u); if (branch_taken) { goto L_08B0041C; @@ -1661,8 +1662,8 @@ L_08B00384: goto L_08B003AC; } L_08B003AC: - aot_gpr_17 = (0u | 0u); - aot_gpr_4 = (static_cast(aot_gpr_17) < 8 ? 1u : 0u); + ctx.gpr[17] = (0u | 0u); + aot_gpr_4 = (static_cast(ctx.gpr[17]) < 8 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -1673,7 +1674,7 @@ L_08B003AC: L_08B003BC: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B003C8u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B003C8u) goto L_08B003C8; AOT_REGCACHE_SYNC_OUT(); return; L_08B003C8: @@ -1705,9 +1706,9 @@ L_08B003E0: AOT_REGCACHE_SYNC_OUT(); return; L_08B003EC: aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B003FCu); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 664u, 0x08AFEF90u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B003FCu) goto L_08B003FC; AOT_REGCACHE_SYNC_OUT(); return; L_08B003FC: @@ -1719,8 +1720,8 @@ L_08B003FC: goto L_08B00404; } L_08B00404: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - aot_gpr_4 = (static_cast(aot_gpr_17) < 8 ? 1u : 0u); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + aot_gpr_4 = (static_cast(ctx.gpr[17]) < 8 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -1738,8 +1739,8 @@ L_08B00414: } L_08B0041C: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(565))); - aot_gpr_17 = (0u | 0u); - aot_gpr_4 = (static_cast(aot_gpr_17) < static_cast(aot_gpr_4) ? 1u : 0u); + ctx.gpr[17] = (0u | 0u); + aot_gpr_4 = (static_cast(ctx.gpr[17]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -1750,7 +1751,7 @@ L_08B0041C: L_08B00430: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B0043Cu); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0043Cu) goto L_08B0043C; AOT_REGCACHE_SYNC_OUT(); return; L_08B0043C: @@ -1781,7 +1782,7 @@ L_08B00454: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 240u, 0x08908D60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B00460u) goto L_08B00460; AOT_REGCACHE_SYNC_OUT(); return; L_08B00460: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); { const bool branch_taken = static_cast(aot_gpr_4) > 0; aot_gpr_5 = (static_cast(aot_gpr_4) < 2 ? 1u : 0u); if (branch_taken) { @@ -1850,7 +1851,7 @@ L_08B004A0: goto L_08B004AC; } L_08B004AC: - ctx.gpr[6] = (aot_gpr_4 | 0u); + aot_gpr_6 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_31 = (0x08B004BCu); aot_gpr_5 = (aot_gpr_16 | 0u); @@ -1860,17 +1861,17 @@ L_08B004BC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(563))); aot_gpr_4 = (~(aot_gpr_4 | 0u)); - ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(564))); + aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(564))); aot_gpr_5 = (aot_gpr_5 & aot_gpr_4); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(563), static_cast(aot_gpr_5)); - aot_gpr_4 = (ctx.gpr[6] & aot_gpr_4); + aot_gpr_4 = (aot_gpr_6 & aot_gpr_4); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(564), static_cast(aot_gpr_4)); goto L_08B004DC; L_08B004DC: aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B004ECu); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 664u, 0x08AFEF90u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B004ECu) goto L_08B004EC; AOT_REGCACHE_SYNC_OUT(); return; L_08B004EC: @@ -1883,8 +1884,8 @@ L_08B004EC: } L_08B004F4: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(565))); - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - aot_gpr_4 = (static_cast(aot_gpr_17) < static_cast(aot_gpr_4) ? 1u : 0u); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + aot_gpr_4 = (static_cast(ctx.gpr[17]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -1896,7 +1897,7 @@ L_08B00508: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -1908,9 +1909,9 @@ L_08B00508: AOT_REGCACHE_SYNC_OUT(); return; L_08B00520: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_4 | 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(900))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_4 | 0u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); { const bool branch_taken = aot_gpr_4 == 0u; @@ -1922,13 +1923,13 @@ L_08B00520: } L_08B00540: aot_gpr_31 = (0x08B00548u); - aot_gpr_5 = (aot_gpr_17 + static_cast(900)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B00548u) goto L_08B00548; + aot_gpr_5 = (ctx.gpr[17] + static_cast(900)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A93004, 163u, 430u, 0x08A93004u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B00548u) goto L_08B00548; AOT_REGCACHE_SYNC_OUT(); return; L_08B00548: aot_gpr_4 = (aot_gpr_16 | 0u); { const bool branch_taken = aot_gpr_4 == 0u; - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(900), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(900), aot_gpr_16); if (branch_taken) { goto L_08B00564; } @@ -1944,14 +1945,14 @@ L_08B00554: } L_08B0055C: aot_gpr_31 = (0x08B00564u); - aot_gpr_5 = (aot_gpr_17 + static_cast(900)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B00564u) goto L_08B00564; + aot_gpr_5 = (ctx.gpr[17] + static_cast(900)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B00564u) goto L_08B00564; AOT_REGCACHE_SYNC_OUT(); return; L_08B00564: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -1971,14 +1972,14 @@ L_08B00578: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(72), aot_gpr_4); aot_gpr_4 = (0u + static_cast(-1)); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(620), static_cast(aot_gpr_4)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_31); aot_gpr_31 = (0x08B005B0u); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(900))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(900))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B005B0u) goto L_08B005B0; AOT_REGCACHE_SYNC_OUT(); return; L_08B005B0: - { const bool branch_taken = aot_gpr_17 != ctx.gpr[2]; + { const bool branch_taken = ctx.gpr[17] != ctx.gpr[2]; // nop if (branch_taken) { goto L_08B0069C; @@ -2022,13 +2023,13 @@ L_08B005E8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(900))); aot_gpr_5 = (0u | 21u); aot_gpr_31 = (0x08B005F8u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 630u, 0x08947340u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B005F8u) goto L_08B005F8; AOT_REGCACHE_SYNC_OUT(); return; L_08B005F8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(900))); { const bool branch_taken = ctx.gpr[2] == 0u; - aot_gpr_17 = (0u + static_cast(-129)); + ctx.gpr[17] = (0u + static_cast(-129)); if (branch_taken) { goto L_08B00620; } @@ -2036,7 +2037,7 @@ L_08B005F8: } L_08B00604: aot_gpr_5 = (0u | 21u); - ctx.gpr[6] = (0u | 5u); + aot_gpr_6 = (0u | 5u); aot_gpr_31 = (0x08B00614u); ctx.gpr[7] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0069_entry, 69u, 600u, 0x0891B7DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B00614u) goto L_08B00614; @@ -2044,7 +2045,7 @@ L_08B00604: L_08B00614: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(613)))))); { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (aot_gpr_4 & aot_gpr_17); + ctx.gpr[17] = (aot_gpr_4 & ctx.gpr[17]); if (branch_taken) { goto L_08B00634; } @@ -2053,15 +2054,15 @@ L_08B00614: L_08B00620: aot_gpr_5 = (0u | 21u); aot_gpr_31 = (0x08B0062Cu); - ctx.gpr[6] = (0u | 5u); + aot_gpr_6 = (0u | 5u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 53u, 0x089082C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0062Cu) goto L_08B0062C; AOT_REGCACHE_SYNC_OUT(); return; L_08B0062C: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(613)))))); - aot_gpr_17 = (aot_gpr_4 & aot_gpr_17); + ctx.gpr[17] = (aot_gpr_4 & ctx.gpr[17]); goto L_08B00634; L_08B00634: - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(613), static_cast(aot_gpr_17)); + aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(613), static_cast(ctx.gpr[17])); goto L_08B00638; L_08B00638: aot_gpr_31 = (0x08B00640u); @@ -2103,7 +2104,7 @@ L_08B00668: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(900))); aot_gpr_5 = (0u | 3u); aot_gpr_31 = (0x08B00678u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 630u, 0x08947340u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B00678u) goto L_08B00678; AOT_REGCACHE_SYNC_OUT(); return; L_08B00678: @@ -2117,7 +2118,7 @@ L_08B00678: L_08B00680: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(900))); aot_gpr_5 = (0u | 3u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_gpr_31 = (0x08B00694u); ctx.gpr[7] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0069_entry, 69u, 600u, 0x0891B7DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B00694u) goto L_08B00694; @@ -2150,17 +2151,17 @@ L_08B006B8: aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_5 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B006C8u); - ctx.gpr[6] = (0u | 10u); + aot_gpr_6 = (0u | 10u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 78u, 0x089A8ACCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B006C8u) goto L_08B006C8; AOT_REGCACHE_SYNC_OUT(); return; L_08B006C8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(563))); aot_gpr_4 = (~(aot_gpr_4 | 0u)); - ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(564))); + aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(564))); aot_gpr_5 = (aot_gpr_5 & aot_gpr_4); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(563), static_cast(aot_gpr_5)); - aot_gpr_4 = (ctx.gpr[6] & aot_gpr_4); + aot_gpr_4 = (aot_gpr_6 & aot_gpr_4); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(564), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B006F4u); @@ -2170,7 +2171,7 @@ L_08B006F4: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -2182,7 +2183,7 @@ L_08B006F4: L_08B00708: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(900))); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } { const bool branch_taken = aot_gpr_5 != 0u; aot_gpr_16 = (aot_gpr_4 | 0u); @@ -2224,35 +2225,35 @@ L_08B00744: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0113_entry, 113u, 641u, 0x089CA714u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B00750u) goto L_08B00750; AOT_REGCACHE_SYNC_OUT(); return; L_08B00750: - aot_gpr_17 = (ctx.gpr[2] | 0u); - aot_gpr_4 = (aot_gpr_17 | 0u); + ctx.gpr[17] = (ctx.gpr[2] | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B00760u); aot_gpr_5 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 171u, 0x08910A24u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B00760u) goto L_08B00760; AOT_REGCACHE_SYNC_OUT(); return; L_08B00760: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B0076Cu); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 209u, 0x08910BDCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0076Cu) goto L_08B0076C; AOT_REGCACHE_SYNC_OUT(); return; L_08B0076C: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B00778u); aot_gpr_5 = (0u | 55u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 240u, 0x08908D60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B00778u) goto L_08B00778; AOT_REGCACHE_SYNC_OUT(); return; L_08B00778: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B00788u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 307u, 0x089B56FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B00788u) goto L_08B00788; AOT_REGCACHE_SYNC_OUT(); return; L_08B00788: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B00794u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); goto L_08B00520; L_08B00794: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(614)))))); @@ -2268,9 +2269,9 @@ L_08B007A4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(900))); aot_gpr_5 = (65528u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(456)); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_5 = (aot_gpr_5 + static_cast(-1)); - aot_gpr_5 = (ctx.gpr[6] & aot_gpr_5); + aot_gpr_5 = (aot_gpr_6 & aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_5); goto L_08B007C0; L_08B007C0: @@ -2285,7 +2286,7 @@ L_08B007C8: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -2296,8 +2297,8 @@ L_08B007C8: AOT_REGCACHE_SYNC_OUT(); return; L_08B007DC: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_5 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_5 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); { const std::uint32_t aot_run_words[7]{ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(8), aot_run_words); } @@ -2315,8 +2316,8 @@ L_08B00810: } L_08B00818: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); - ctx.gpr[6] = (0u | 226u); - { const bool branch_taken = aot_gpr_5 == ctx.gpr[6]; + aot_gpr_6 = (0u | 226u); + { const bool branch_taken = aot_gpr_5 == aot_gpr_6; aot_gpr_4 = (0u | 0u); if (branch_taken) { goto L_08B0085C; @@ -2325,7 +2326,7 @@ L_08B00818: } L_08B00828: { const bool branch_taken = 0u == 0u; - ctx.gpr[6] = (0u | 183u); + aot_gpr_6 = (0u | 183u); if (branch_taken) { goto L_08B00844; } @@ -2334,7 +2335,7 @@ L_08B00828: L_08B00830: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B0083Cu); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0083Cu) goto L_08B0083C; AOT_REGCACHE_SYNC_OUT(); return; L_08B0083C: @@ -2346,23 +2347,23 @@ L_08B0083C: goto L_08B00844; } L_08B00844: - { const bool branch_taken = aot_gpr_5 == ctx.gpr[6]; - ctx.gpr[6] = (0u + static_cast(-959)); + { const bool branch_taken = aot_gpr_5 == aot_gpr_6; + aot_gpr_6 = (0u + static_cast(-959)); if (branch_taken) { goto L_08B0085C; } goto L_08B0084C; } L_08B0084C: - { const bool branch_taken = aot_gpr_5 == ctx.gpr[6]; - ctx.gpr[6] = (0u + static_cast(-937)); + { const bool branch_taken = aot_gpr_5 == aot_gpr_6; + aot_gpr_6 = (0u + static_cast(-937)); if (branch_taken) { goto L_08B0085C; } goto L_08B00854; } L_08B00854: - { const bool branch_taken = aot_gpr_5 != ctx.gpr[6]; + { const bool branch_taken = aot_gpr_5 != aot_gpr_6; // nop if (branch_taken) { goto L_08B00860; @@ -2375,7 +2376,7 @@ L_08B0085C: L_08B00860: ctx.gpr[7] = (0u | 228u); { const bool branch_taken = aot_gpr_5 == ctx.gpr[7]; - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (branch_taken) { goto L_08B00878; } @@ -2391,10 +2392,10 @@ L_08B0086C: goto L_08B00878; } L_08B00878: - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); goto L_08B0087C; L_08B0087C: - aot_gpr_4 = (aot_gpr_4 | ctx.gpr[6]); + aot_gpr_4 = (aot_gpr_4 | aot_gpr_6); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -2403,7 +2404,7 @@ L_08B0087C: goto L_08B00888; } L_08B00888: - { const bool branch_taken = aot_gpr_17 != 0u; + { const bool branch_taken = ctx.gpr[17] != 0u; // nop if (branch_taken) { goto L_08B008AC; @@ -2412,9 +2413,9 @@ L_08B00888: } L_08B00890: aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B008A0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 664u, 0x08AFEF90u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B008A0u) goto L_08B008A0; AOT_REGCACHE_SYNC_OUT(); return; L_08B008A0: @@ -2436,9 +2437,9 @@ L_08B008B8: ctx.gpr[18] = (ctx.gpr[2] | 0u); ctx.gpr[19] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(86)))))); aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B008D0u); - ctx.gpr[6] = (ctx.gpr[18] | 0u); + aot_gpr_6 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 664u, 0x08AFEF90u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B008D0u) goto L_08B008D0; AOT_REGCACHE_SYNC_OUT(); return; L_08B008D0: @@ -2463,7 +2464,7 @@ L_08B008F4: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B00904u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 307u, 0x089B56FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B00904u) goto L_08B00904; AOT_REGCACHE_SYNC_OUT(); return; L_08B00904: @@ -2504,9 +2505,9 @@ L_08B00928: } L_08B00934: aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B00944u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 664u, 0x08AFEF90u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B00944u) goto L_08B00944; AOT_REGCACHE_SYNC_OUT(); return; L_08B00944: @@ -2524,7 +2525,7 @@ L_08B0094C: } L_08B00954: ctx.gpr[22] = (0u | 0u); - aot_gpr_4 = (static_cast(ctx.gpr[22]) < static_cast(aot_gpr_17) ? 1u : 0u); + aot_gpr_4 = (static_cast(ctx.gpr[22]) < static_cast(ctx.gpr[17]) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; ctx.gpr[21] = (0u | 5u); if (branch_taken) { @@ -2549,7 +2550,7 @@ L_08B00970: } L_08B0097C: aot_gpr_31 = (0x08B00984u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B00984u) goto L_08B00984; AOT_REGCACHE_SYNC_OUT(); return; L_08B00984: @@ -2588,9 +2589,9 @@ L_08B009A0: } L_08B009AC: aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B009BCu); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 664u, 0x08AFEF90u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B009BCu) goto L_08B009BC; AOT_REGCACHE_SYNC_OUT(); return; L_08B009BC: @@ -2600,7 +2601,7 @@ L_08B009BC: AOT_REGCACHE_SYNC_OUT(); return; L_08B009C4: ctx.gpr[22] = (ctx.gpr[22] + static_cast(1)); - aot_gpr_4 = (static_cast(ctx.gpr[22]) < static_cast(aot_gpr_17) ? 1u : 0u); + aot_gpr_4 = (static_cast(ctx.gpr[22]) < static_cast(ctx.gpr[17]) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -2622,7 +2623,7 @@ L_08B009DC: } L_08B009E4: aot_gpr_31 = (0x08B009ECu); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B009ECu) goto L_08B009EC; AOT_REGCACHE_SYNC_OUT(); return; L_08B009EC: @@ -2636,28 +2637,28 @@ L_08B009EC: L_08B009F4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B00A00u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B00A00u) goto L_08B00A00; AOT_REGCACHE_SYNC_OUT(); return; L_08B00A00: aot_gpr_4 = (ctx.gpr[2] + static_cast(456)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - ctx.gpr[6] = (65528u << 16u); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(-1)); - aot_gpr_5 = (aot_gpr_5 & ctx.gpr[6]); + aot_gpr_6 = (65528u << 16u); + aot_gpr_6 = (aot_gpr_6 + static_cast(-1)); + aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_5); goto L_08B00A18; L_08B00A18: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B00A24u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B00A24u) goto L_08B00A24; AOT_REGCACHE_SYNC_OUT(); return; L_08B00A24: { std::uint32_t aot_run_words[9]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -2674,8 +2675,8 @@ L_08B00A24: AOT_REGCACHE_SYNC_OUT(); return; L_08B00A50: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); @@ -2687,7 +2688,7 @@ L_08B00A50: goto L_08B00A70; } L_08B00A70: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(565))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(565))); ctx.gpr[18] = (0u | 0u); aot_gpr_4 = (static_cast(ctx.gpr[18]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; @@ -2698,7 +2699,7 @@ L_08B00A70: goto L_08B00A84; } L_08B00A84: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B00A90u); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B00A90u) goto L_08B00A90; @@ -2712,7 +2713,7 @@ L_08B00A90: goto L_08B00A98; } L_08B00A98: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(565))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(565))); ctx.gpr[18] = (ctx.gpr[18] + static_cast(1)); aot_gpr_4 = (static_cast(ctx.gpr[18]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; @@ -2745,7 +2746,7 @@ L_08B00AC0: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -2757,12 +2758,12 @@ L_08B00AC0: AOT_REGCACHE_SYNC_OUT(); return; L_08B00AD8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(565))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); + aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(565))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); ctx.gpr[18] = (0u | 0u); - aot_gpr_17 = (aot_gpr_4 | 0u); - aot_gpr_4 = (static_cast(ctx.gpr[18]) < static_cast(ctx.gpr[6]) ? 1u : 0u); + ctx.gpr[17] = (aot_gpr_4 | 0u); + aot_gpr_4 = (static_cast(ctx.gpr[18]) < static_cast(aot_gpr_6) ? 1u : 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); { const bool branch_taken = aot_gpr_4 == 0u; @@ -2773,7 +2774,7 @@ L_08B00AD8: goto L_08B00B04; } L_08B00B04: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B00B10u); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B00B10u) goto L_08B00B10; @@ -2787,7 +2788,7 @@ L_08B00B10: goto L_08B00B18; } L_08B00B18: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B00B24u); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B00B24u) goto L_08B00B24; @@ -2802,7 +2803,7 @@ L_08B00B24: goto L_08B00B30; } L_08B00B30: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(565))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(565))); ctx.gpr[18] = (ctx.gpr[18] + static_cast(1)); aot_gpr_4 = (static_cast(ctx.gpr[18]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; @@ -2827,7 +2828,7 @@ L_08B00B50: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -3037,7 +3038,7 @@ L_08B00C60: goto L_08B00C68; } L_08B00C68: - { const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -3124,8 +3125,8 @@ L_08B00C90: aot_gpr_5 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_12 = std::bit_cast(aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(852))); - ctx.gpr[6] = (0u | 6u); - { const bool branch_taken = aot_gpr_5 == ctx.gpr[6]; + aot_gpr_6 = (0u | 6u); + { const bool branch_taken = aot_gpr_5 == aot_gpr_6; // nop if (branch_taken) { goto L_08B00D04; @@ -3549,12 +3550,12 @@ L_08B00F04: AOT_REGCACHE_SYNC_OUT(); return; L_08B00F0C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(615)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(615)))))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); ctx.gpr[18] = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_4 = (ctx.gpr[6] & 64u); - aot_gpr_17 = (aot_gpr_5 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + aot_gpr_4 = (aot_gpr_6 & 64u); + ctx.gpr[17] = (aot_gpr_5 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); { const bool branch_taken = aot_gpr_4 == 0u; @@ -3607,7 +3608,7 @@ L_08B00F6C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B00F74u) goto L_08B00F74; AOT_REGCACHE_SYNC_OUT(); return; L_08B00F74: - { const bool branch_taken = aot_gpr_17 == ctx.gpr[2]; + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[2]; // nop if (branch_taken) { goto L_08B00F8C; @@ -3620,7 +3621,7 @@ L_08B00F7C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B00F84u) goto L_08B00F84; AOT_REGCACHE_SYNC_OUT(); return; L_08B00F84: - { const bool branch_taken = aot_gpr_17 != ctx.gpr[2]; + { const bool branch_taken = ctx.gpr[17] != ctx.gpr[2]; // nop if (branch_taken) { goto L_08B00FA4; @@ -3662,7 +3663,7 @@ L_08B00FAC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B00FB4u) goto L_08B00FB4; AOT_REGCACHE_SYNC_OUT(); return; L_08B00FB4: - { const bool branch_taken = aot_gpr_17 != ctx.gpr[2]; + { const bool branch_taken = ctx.gpr[17] != ctx.gpr[2]; // nop if (branch_taken) { goto L_08B00FD0; @@ -3739,7 +3740,7 @@ L_08B01020: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -3808,13 +3809,13 @@ L_08B01080: AOT_REGCACHE_SYNC_OUT(); return; L_08B01088: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_4 | 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(680))); - ctx.gpr[6] = (0u | 2u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_4 | 0u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(680))); + aot_gpr_6 = (0u | 2u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); - { const bool branch_taken = aot_gpr_4 == ctx.gpr[6]; + { const bool branch_taken = aot_gpr_4 == aot_gpr_6; aot_gpr_16 = (aot_gpr_5 | 0u); if (branch_taken) { goto L_08B010E0; @@ -3849,11 +3850,11 @@ L_08B010C0: L_08B010C8: aot_gpr_31 = (0x08B010D0u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B010D0u) goto L_08B010D0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B010D0u) goto L_08B010D0; AOT_REGCACHE_SYNC_OUT(); return; L_08B010D0: if (ctx.gpr[2] != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(680))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(680))); goto L_08B010E8; } goto L_08B010D8; @@ -3910,7 +3911,7 @@ L_08B01108: L_08B01110: aot_gpr_31 = (0x08B01118u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B01118u) goto L_08B01118; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B01118u) goto L_08B01118; AOT_REGCACHE_SYNC_OUT(); return; L_08B01118: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -3921,7 +3922,7 @@ L_08B01118: goto L_08B01120; } L_08B01120: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -3944,7 +3945,7 @@ L_08B01134: goto L_08B01140; } L_08B01140: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(680))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(680))); aot_gpr_5 = (0u | 7u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -3956,7 +3957,7 @@ L_08B01140: L_08B01150: aot_gpr_4 = (0u | 1u); if (aot_gpr_16 == aot_gpr_4) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(680))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(680))); goto L_08B0116C; } goto L_08B0115C; @@ -4000,7 +4001,7 @@ L_08B01184: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -4069,8 +4070,8 @@ L_08B011C8: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(852))); - ctx.gpr[6] = (0u | 6u); - { const bool branch_taken = aot_gpr_5 == ctx.gpr[6]; + aot_gpr_6 = (0u | 6u); + { const bool branch_taken = aot_gpr_5 == aot_gpr_6; // nop if (branch_taken) { goto L_08B01244; @@ -4079,8 +4080,8 @@ L_08B011C8: } L_08B011E8: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(852))); - ctx.gpr[6] = (0u | 8u); - { const bool branch_taken = aot_gpr_5 == ctx.gpr[6]; + aot_gpr_6 = (0u | 8u); + { const bool branch_taken = aot_gpr_5 == aot_gpr_6; // nop if (branch_taken) { goto L_08B01244; @@ -4089,8 +4090,8 @@ L_08B011E8: } L_08B011F8: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(852))); - ctx.gpr[6] = (0u | 2u); - { const bool branch_taken = aot_gpr_5 == ctx.gpr[6]; + aot_gpr_6 = (0u | 2u); + { const bool branch_taken = aot_gpr_5 == aot_gpr_6; // nop if (branch_taken) { goto L_08B01244; @@ -4209,9 +4210,9 @@ L_08B012B4: AOT_REGCACHE_SYNC_OUT(); return; L_08B012BC: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(16), aot_run_words); } - aot_gpr_17 = (aot_gpr_5 & 255u); + ctx.gpr[17] = (aot_gpr_5 & 255u); aot_gpr_5 = (aot_gpr_4 + static_cast(32)); { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; @@ -4228,8 +4229,8 @@ L_08B012BC: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(352))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(208))); - ctx.gpr[6] = (512u << 16u); - aot_gpr_5 = (aot_gpr_5 & ctx.gpr[6]); + aot_gpr_6 = (512u << 16u); + aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); aot_gpr_5 = (aot_gpr_5 & 255u); { const bool branch_taken = aot_gpr_5 != 0u; @@ -4272,9 +4273,9 @@ L_08B01324: } L_08B0133C: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); - ctx.gpr[6] = (static_cast(aot_gpr_5) < static_cast(ctx.gpr[6]) ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] != 0u; + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); + aot_gpr_6 = (static_cast(aot_gpr_5) < static_cast(aot_gpr_6) ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 != 0u; aot_gpr_4 = (0u | 0u); if (branch_taken) { goto L_08B01360; @@ -4566,7 +4567,7 @@ L_08B01500: goto L_08B01520; } L_08B01520: - { const bool branch_taken = aot_gpr_17 == 0u; + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_08B01554; @@ -4688,7 +4689,7 @@ L_08B015DC: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -4700,15 +4701,15 @@ L_08B015DC: L_08B015F0: aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(558))); { const bool branch_taken = aot_gpr_5 == 0u; - ctx.gpr[6] = (0u | 65535u); + aot_gpr_6 = (0u | 65535u); if (branch_taken) { goto L_08B0164C; } goto L_08B015FC; } L_08B015FC: - { const bool branch_taken = aot_gpr_5 == ctx.gpr[6]; - ctx.gpr[6] = (16968u << 16u); + { const bool branch_taken = aot_gpr_5 == aot_gpr_6; + aot_gpr_6 = (16968u << 16u); if (branch_taken) { goto L_08B0164C; } @@ -4716,11 +4717,11 @@ L_08B015FC: } L_08B01604: ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); - aot_fpr_14 = std::bit_cast(ctx.gpr[6]); + aot_fpr_14 = std::bit_cast(aot_gpr_6); ctx.fpr[16] = ctx.fpr[15] / aot_fpr_14; - ctx.gpr[6] = (17530u << 16u); + aot_gpr_6 = (17530u << 16u); ctx.gpr[7] = (20224u << 16u); - aot_fpr_13 = std::bit_cast(ctx.gpr[6]); + aot_fpr_13 = std::bit_cast(aot_gpr_6); aot_fpr_12 = std::bit_cast(ctx.gpr[7]); { const float fs = ctx.fpr[16]; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[16] = std::bit_cast(0x7FC00000u); else ctx.fpr[16] = fs * ft; } ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[16] < aot_fpr_12)) ? 0x00800000u : 0u); @@ -4736,9 +4737,9 @@ L_08B01634: ctx.fpr[16] = ctx.fpr[15] / aot_fpr_14; { const float fs = ctx.fpr[16]; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[16] = std::bit_cast(0x7FC00000u); else ctx.fpr[16] = fs * ft; } ctx.fpr[16] = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[16])); - ctx.gpr[6] = (std::bit_cast(ctx.fpr[16])); + aot_gpr_6 = (std::bit_cast(ctx.fpr[16])); { const bool branch_taken = 0u == 0u; - ctx.gpr[6] = (aot_gpr_5 < ctx.gpr[6] ? 1u : 0u); + aot_gpr_6 = (aot_gpr_5 < aot_gpr_6 ? 1u : 0u); if (branch_taken) { goto L_08B01674; } @@ -4754,16 +4755,16 @@ L_08B0164C: } L_08B01654: ctx.fpr[16] = ctx.fpr[15] / aot_fpr_14; - ctx.gpr[6] = (32768u << 16u); + aot_gpr_6 = (32768u << 16u); { const float fs = ctx.fpr[16]; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[16] = std::bit_cast(0x7FC00000u); else ctx.fpr[16] = fs * ft; } ctx.fpr[16] = ctx.fpr[16] - aot_fpr_12; ctx.fpr[16] = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[16])); ctx.gpr[7] = (std::bit_cast(ctx.fpr[16])); - ctx.gpr[6] = (ctx.gpr[7] + ctx.gpr[6]); - ctx.gpr[6] = (aot_gpr_5 < ctx.gpr[6] ? 1u : 0u); + aot_gpr_6 = (ctx.gpr[7] + aot_gpr_6); + aot_gpr_6 = (aot_gpr_5 < aot_gpr_6 ? 1u : 0u); goto L_08B01674; L_08B01674: - { const bool branch_taken = ctx.gpr[6] == 0u; + { const bool branch_taken = aot_gpr_6 == 0u; // nop if (branch_taken) { goto L_08B01688; @@ -4795,9 +4796,9 @@ L_08B016A0: aot_fpr_12 = ctx.fpr[15] / aot_fpr_14; { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); - ctx.gpr[6] = (std::bit_cast(aot_fpr_12)); + aot_gpr_6 = (std::bit_cast(aot_fpr_12)); { const bool branch_taken = 0u == 0u; - aot_gpr_5 = (aot_gpr_5 - ctx.gpr[6]); + aot_gpr_5 = (aot_gpr_5 - aot_gpr_6); if (branch_taken) { goto L_08B016D8; } @@ -4805,13 +4806,13 @@ L_08B016A0: } L_08B016B8: aot_fpr_14 = ctx.fpr[15] / aot_fpr_14; - ctx.gpr[6] = (32768u << 16u); + aot_gpr_6 = (32768u << 16u); { const float fs = aot_fpr_14; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_fpr_12 = aot_fpr_13 - aot_fpr_12; aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); ctx.gpr[7] = (std::bit_cast(aot_fpr_12)); - ctx.gpr[6] = (ctx.gpr[7] + ctx.gpr[6]); - aot_gpr_5 = (aot_gpr_5 - ctx.gpr[6]); + aot_gpr_6 = (ctx.gpr[7] + aot_gpr_6); + aot_gpr_5 = (aot_gpr_5 - aot_gpr_6); goto L_08B016D8; L_08B016D8: aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(558), static_cast(aot_gpr_5)); @@ -4940,40 +4941,40 @@ L_08B01798: AOT_REGCACHE_SYNC_OUT(); return; L_08B017A8: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(852))); - ctx.gpr[6] = (0u | 6u); - { const bool branch_taken = aot_gpr_5 == ctx.gpr[6]; - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 6u); + { const bool branch_taken = aot_gpr_5 == aot_gpr_6; + aot_gpr_6 = (0u | 1u); if (branch_taken) { goto L_08B017F0; } goto L_08B017B8; } L_08B017B8: - { const bool branch_taken = aot_gpr_5 == ctx.gpr[6]; - ctx.gpr[6] = (0u | 2u); + { const bool branch_taken = aot_gpr_5 == aot_gpr_6; + aot_gpr_6 = (0u | 2u); if (branch_taken) { goto L_08B017F0; } goto L_08B017C0; } L_08B017C0: - { const bool branch_taken = aot_gpr_5 == ctx.gpr[6]; - ctx.gpr[6] = (0u | 9u); + { const bool branch_taken = aot_gpr_5 == aot_gpr_6; + aot_gpr_6 = (0u | 9u); if (branch_taken) { goto L_08B017F0; } goto L_08B017C8; } L_08B017C8: - { const bool branch_taken = aot_gpr_5 == ctx.gpr[6]; - ctx.gpr[6] = (0u | 8u); + { const bool branch_taken = aot_gpr_5 == aot_gpr_6; + aot_gpr_6 = (0u | 8u); if (branch_taken) { goto L_08B017F0; } goto L_08B017D0; } L_08B017D0: - { const bool branch_taken = aot_gpr_5 == ctx.gpr[6]; + { const bool branch_taken = aot_gpr_5 == aot_gpr_6; // nop if (branch_taken) { goto L_08B017F0; @@ -5019,18 +5020,18 @@ L_08B017FC: L_08B01804: aot_gpr_29 = (aot_gpr_29 + static_cast(-304)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(284), ctx.gpr[19]); - ctx.gpr[19] = (ctx.gpr[6] | 0u); + ctx.gpr[19] = (aot_gpr_6 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(280), ctx.gpr[18]); ctx.gpr[18] = (ctx.gpr[7] | 0u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(852))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(276), aot_gpr_17); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(852))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(276), ctx.gpr[17]); ctx.gpr[7] = (0u | 8u); - aot_gpr_17 = (aot_gpr_4 | 0u); + ctx.gpr[17] = (aot_gpr_4 | 0u); { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), aot_gpr_16}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(264), aot_run_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(288), ctx.gpr[20]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(292), aot_gpr_31); - { const bool branch_taken = ctx.gpr[6] != ctx.gpr[7]; + { const bool branch_taken = aot_gpr_6 != ctx.gpr[7]; aot_gpr_16 = (aot_gpr_5 | 0u); if (branch_taken) { goto L_08B01924; @@ -5081,13 +5082,13 @@ L_08B01844: aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(152), aot_gpr_4); ctx.gpr[19] = (aot_gpr_29 + static_cast(80)); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(16))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(16))); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_13) ^ 0x80000000u); aot_fpr_14 = std::bit_cast(0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_13) || std::isnan(aot_fpr_14)) && aot_fpr_13 == aot_fpr_14)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(20))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(20))); if (branch_taken) { goto L_08B018B0; } @@ -5128,7 +5129,7 @@ L_08B018C4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 921u, 0x0885FA00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B018CCu) goto L_08B018CC; AOT_REGCACHE_SYNC_OUT(); return; L_08B018CC: - aot_gpr_4 = (aot_gpr_17 + static_cast(48)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -5143,15 +5144,15 @@ L_08B018CC: const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_17 = (aot_gpr_29 + static_cast(64)); + ctx.gpr[17] = (aot_gpr_29 + static_cast(64)); aot_gpr_5 = (aot_gpr_29 + static_cast(80)); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B018F0u); - ctx.gpr[6] = (aot_gpr_16 | 0u); + aot_gpr_6 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 579u, 0x08AFE928u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B018F0u) goto L_08B018F0; AOT_REGCACHE_SYNC_OUT(); return; L_08B018F0: - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -5202,7 +5203,7 @@ L_08B01924: aot_gpr_4 = (16256u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), std::bit_cast(aot_fpr_12)); - aot_gpr_4 = (aot_gpr_17 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(16)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -5252,7 +5253,7 @@ L_08B01924: const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_4 = (aot_gpr_17 + static_cast(32)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(32)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -5274,7 +5275,7 @@ L_08B01924: ctx.execute_vfpu_vdot_ct<28u, 0u, 1u, 3u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); ctx.fpr[22] = std::bit_cast(aot_gpr_4); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(86)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(86)))))); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); @@ -5319,7 +5320,7 @@ L_08B019C0: aot_fpr_12 = aot_fpr_12 - aot_fpr_13; aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); - aot_gpr_4 = (aot_gpr_17 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(16)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -5394,7 +5395,7 @@ L_08B01A44: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B01A74u) goto L_08B01A74; AOT_REGCACHE_SYNC_OUT(); return; L_08B01A74: - aot_gpr_5 = (aot_gpr_17 + static_cast(48)); + aot_gpr_5 = (ctx.gpr[17] + static_cast(48)); aot_gpr_31 = (0x08B01A80u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B01A80u) goto L_08B01A80; @@ -5405,7 +5406,7 @@ L_08B01A80: aot_fpr_20 = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); aot_gpr_16 = aot_run_words[2]; - aot_gpr_17 = aot_run_words[3]; + ctx.gpr[17] = aot_run_words[3]; ctx.gpr[18] = aot_run_words[4]; ctx.gpr[19] = aot_run_words[5]; ctx.gpr[20] = aot_run_words[6]; @@ -5420,8 +5421,8 @@ L_08B01A80: L_08B01AA8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(900))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (0u | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (0u | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); { const bool branch_taken = aot_gpr_5 == 0u; @@ -5482,14 +5483,14 @@ L_08B01B10: goto L_08B01B20; } L_08B01B20: - aot_gpr_17 = (0u | 1u); + ctx.gpr[17] = (0u | 1u); goto L_08B01B24; L_08B01B24: - ctx.gpr[2] = (aot_gpr_17 | 0u); + ctx.gpr[2] = (ctx.gpr[17] | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -5513,10 +5514,10 @@ L_08B01B44: ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08B01B4C: - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(613)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(613)))))); ctx.gpr[7] = (aot_gpr_5 & 255u); { const bool branch_taken = ctx.gpr[7] == 0u; - aot_gpr_5 = (ctx.gpr[6] & 1u); + aot_gpr_5 = (aot_gpr_6 & 1u); if (branch_taken) { goto L_08B01B7C; } @@ -5531,7 +5532,7 @@ L_08B01B5C: goto L_08B01B64; } L_08B01B64: - aot_gpr_5 = (ctx.gpr[6] | 1u); + aot_gpr_5 = (aot_gpr_6 | 1u); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(613), static_cast(aot_gpr_5)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5440))); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); @@ -5552,7 +5553,7 @@ L_08B01B7C: } L_08B01B84: aot_gpr_5 = (0u + static_cast(-2)); - aot_gpr_5 = (ctx.gpr[6] & aot_gpr_5); + aot_gpr_5 = (aot_gpr_6 & aot_gpr_5); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(613), static_cast(aot_gpr_5)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5440))); aot_gpr_4 = (aot_gpr_4 + static_cast(-1)); @@ -5754,7 +5755,7 @@ L_08B01C90: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(636))); aot_gpr_4 = (aot_gpr_4 | 32768u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[17]); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 <= aot_fpr_12)) ? 0x00800000u : 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); @@ -5795,9 +5796,9 @@ L_08B01CD8: goto L_08B01CE4; } L_08B01CE4: - aot_gpr_17 = (aot_gpr_16 + static_cast(944)); + ctx.gpr[17] = (aot_gpr_16 + static_cast(944)); aot_gpr_31 = (0x08B01CF0u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 387u, 0x08B0D970u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B01CF0u) goto L_08B01CF0; AOT_REGCACHE_SYNC_OUT(); return; L_08B01CF0: @@ -5810,7 +5811,7 @@ L_08B01CF0: goto L_08B01CFC; } L_08B01CFC: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B01D08u); aot_gpr_5 = (0u | 215u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 383u, 0x08B0D94Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B01D08u) goto L_08B01D08; @@ -5823,7 +5824,7 @@ L_08B01D10: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(4), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -5971,8 +5972,8 @@ L_08B01DF4: L_08B01E00: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(352))); aot_gpr_5 = (256u << 16u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(208))); - aot_gpr_5 = (ctx.gpr[6] & aot_gpr_5); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(208))); + aot_gpr_5 = (aot_gpr_6 & aot_gpr_5); aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); aot_gpr_5 = (aot_gpr_5 & 255u); { const bool branch_taken = aot_gpr_5 != 0u; @@ -5984,8 +5985,8 @@ L_08B01E00: } L_08B01E20: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(208))); - ctx.gpr[6] = (512u << 16u); - aot_gpr_5 = (aot_gpr_5 & ctx.gpr[6]); + aot_gpr_6 = (512u << 16u); + aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); aot_gpr_5 = (aot_gpr_5 & 255u); { const bool branch_taken = aot_gpr_5 != 0u; @@ -5997,8 +5998,8 @@ L_08B01E20: } L_08B01E3C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(208))); - ctx.gpr[6] = (1024u << 16u); - aot_gpr_5 = (aot_gpr_5 & ctx.gpr[6]); + aot_gpr_6 = (1024u << 16u); + aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); aot_gpr_5 = (aot_gpr_5 & 255u); { const bool branch_taken = aot_gpr_5 != 0u; @@ -6077,16 +6078,16 @@ L_08B01EA8: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(112), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(120), ctx.gpr[18]); aot_fpr_20 = std::bit_cast(std::bit_cast(aot_fpr_12)); - ctx.gpr[18] = (ctx.gpr[6] & 255u); + ctx.gpr[18] = (aot_gpr_6 & 255u); ctx.fpr[24] = std::bit_cast(std::bit_cast(aot_fpr_13)); aot_gpr_16 = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(100), std::bit_cast(ctx.fpr[22])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(108), std::bit_cast(ctx.fpr[26])); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(116), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(116), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(124), ctx.gpr[19]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(128), aot_gpr_31); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_17 = (aot_gpr_5 | 0u); + ctx.gpr[17] = (aot_gpr_5 | 0u); if (branch_taken) { goto L_08B01F0C; } @@ -6169,10 +6170,10 @@ L_08B01F48: aot_fpr_13 = std::bit_cast(aot_gpr_4); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_20 = aot_fpr_20 - ctx.fpr[24]; - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); aot_fpr_12 = aot_fpr_12 - aot_fpr_14; aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(84))); - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(ctx.fpr[22])) && aot_fpr_12 == ctx.fpr[22])) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); @@ -6209,7 +6210,7 @@ L_08B01FAC: ctx.fpr[24] = std::bit_cast(std::bit_cast(ctx.fpr[0]) ^ 0x80000000u); goto L_08B01FB0; L_08B01FB0: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); ctx.fpr[26] = std::bit_cast(std::bit_cast(ctx.fpr[24])); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) & 0x7FFFFFFFu); aot_gpr_4 = (16384u << 16u); @@ -6320,7 +6321,7 @@ L_08B02064: ctx.fpr[24] = std::bit_cast(aot_run_words[2]); ctx.fpr[26] = std::bit_cast(aot_run_words[3]); aot_gpr_16 = aot_run_words[4]; - aot_gpr_17 = aot_run_words[5]; + ctx.gpr[17] = aot_run_words[5]; ctx.gpr[18] = aot_run_words[6]; ctx.gpr[19] = aot_run_words[7]; aot_gpr_31 = aot_run_words[8]; @@ -6333,11 +6334,11 @@ L_08B02064: AOT_REGCACHE_SYNC_OUT(); return; L_08B02090: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(352))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(208))); - ctx.gpr[6] = (ctx.gpr[6] & 16384u); - ctx.gpr[6] = (0u < ctx.gpr[6] ? 1u : 0u); - ctx.gpr[6] = (ctx.gpr[6] & 255u); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(208))); + aot_gpr_6 = (aot_gpr_6 & 16384u); + aot_gpr_6 = (0u < aot_gpr_6 ? 1u : 0u); + aot_gpr_6 = (aot_gpr_6 & 255u); + { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_5 = (0u | 0u); if (branch_taken) { goto L_08B020C8; @@ -6368,8 +6369,8 @@ L_08B020C8: AOT_REGCACHE_SYNC_OUT(); return; L_08B020D0: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(619)))))); - ctx.gpr[6] = (aot_gpr_5 & 4u); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_6 = (aot_gpr_5 & 4u); + { const bool branch_taken = aot_gpr_6 == 0u; // nop if (branch_taken) { goto L_08B020F4; @@ -6377,8 +6378,8 @@ L_08B020D0: goto L_08B020E0; } L_08B020E0: - ctx.gpr[6] = (0u + static_cast(-5)); - aot_gpr_5 = (aot_gpr_5 & ctx.gpr[6]); + aot_gpr_6 = (0u + static_cast(-5)); + aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(619), static_cast(aot_gpr_5)); { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 1u); @@ -6402,7 +6403,7 @@ L_08B02100: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(900))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -6414,18 +6415,18 @@ L_08B02100: L_08B02120: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(92))); aot_gpr_5 = (aot_gpr_5 + static_cast(160)); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); jump_target = aot_gpr_5; aot_gpr_31 = (0x08B02138u); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B02138u) goto L_08B02138; AOT_REGCACHE_SYNC_OUT(); return; L_08B02138: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(565))); - aot_gpr_17 = (0u | 0u); - aot_gpr_4 = (static_cast(aot_gpr_17) < static_cast(aot_gpr_4) ? 1u : 0u); + ctx.gpr[17] = (0u | 0u); + aot_gpr_4 = (static_cast(ctx.gpr[17]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -6436,7 +6437,7 @@ L_08B02138: L_08B0214C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B02158u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B02158u) goto L_08B02158; AOT_REGCACHE_SYNC_OUT(); return; L_08B02158: @@ -6450,25 +6451,25 @@ L_08B02158: L_08B02160: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B0216Cu); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0216Cu) goto L_08B0216C; AOT_REGCACHE_SYNC_OUT(); return; L_08B0216C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(92))); aot_gpr_4 = (aot_gpr_4 + static_cast(160)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - jump_target = ctx.gpr[6]; + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); + jump_target = aot_gpr_6; aot_gpr_31 = (0x08B02184u); aot_gpr_4 = (ctx.gpr[2] + aot_gpr_5); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B02184u) goto L_08B02184; AOT_REGCACHE_SYNC_OUT(); return; L_08B02184: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(565))); - aot_gpr_17 = (aot_gpr_17 & 65535u); - aot_gpr_4 = (static_cast(aot_gpr_17) < static_cast(aot_gpr_4) ? 1u : 0u); + ctx.gpr[17] = (ctx.gpr[17] & 65535u); + aot_gpr_4 = (static_cast(ctx.gpr[17]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -6480,7 +6481,7 @@ L_08B0219C: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -6491,8 +6492,8 @@ L_08B0219C: AOT_REGCACHE_SYNC_OUT(); return; L_08B021B0: aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(565))); - ctx.gpr[6] = (0u | 0u); - ctx.gpr[7] = (static_cast(ctx.gpr[6]) < static_cast(aot_gpr_5) ? 1u : 0u); + aot_gpr_6 = (0u | 0u); + ctx.gpr[7] = (static_cast(aot_gpr_6) < static_cast(aot_gpr_5) ? 1u : 0u); { const bool branch_taken = ctx.gpr[7] == 0u; ctx.gpr[2] = (0u | 0u); if (branch_taken) { @@ -6516,8 +6517,8 @@ L_08B021D4: ctx.gpr[2] = (ctx.gpr[2] + static_cast(1)); goto L_08B021D8; L_08B021D8: - ctx.gpr[6] = (ctx.gpr[6] + static_cast(1)); - ctx.gpr[7] = (static_cast(ctx.gpr[6]) < static_cast(aot_gpr_5) ? 1u : 0u); + aot_gpr_6 = (aot_gpr_6 + static_cast(1)); + ctx.gpr[7] = (static_cast(aot_gpr_6) < static_cast(aot_gpr_5) ? 1u : 0u); { const bool branch_taken = ctx.gpr[7] != 0u; aot_gpr_4 = (aot_gpr_4 + static_cast(4)); if (branch_taken) { @@ -6534,21 +6535,21 @@ L_08B021E8: AOT_REGCACHE_SYNC_OUT(); return; L_08B021F0: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_31 = (0x08B02208u); aot_gpr_16 = (aot_gpr_4 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B02208u) goto L_08B02208; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B02208u) goto L_08B02208; AOT_REGCACHE_SYNC_OUT(); return; L_08B02208: aot_gpr_4 = (ctx.gpr[2] & 65535u); - aot_gpr_17 = (0u | 9u); - { const std::int32_t dividend = static_cast(aot_gpr_4); const std::int32_t divisor = static_cast(aot_gpr_17); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } + ctx.gpr[17] = (0u | 9u); + { const std::int32_t dividend = static_cast(aot_gpr_4); const std::int32_t divisor = static_cast(ctx.gpr[17]); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); aot_gpr_5 = (static_cast(aot_gpr_4) < -956 ? 1u : 0u); - ctx.gpr[6] = (ctx.hi); + aot_gpr_6 = (ctx.hi); { const bool branch_taken = aot_gpr_5 == 0u; - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(695), static_cast(ctx.gpr[6])); + aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(695), static_cast(aot_gpr_6)); if (branch_taken) { goto L_08B02280; } @@ -6724,11 +6725,11 @@ L_08B022E0: L_08B022EC: aot_gpr_31 = (0x08B022F4u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B022F4u) goto L_08B022F4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B022F4u) goto L_08B022F4; AOT_REGCACHE_SYNC_OUT(); return; L_08B022F4: aot_gpr_4 = (ctx.gpr[2] & 65535u); - { const std::int32_t dividend = static_cast(aot_gpr_4); const std::int32_t divisor = static_cast(aot_gpr_17); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } + { const std::int32_t dividend = static_cast(aot_gpr_4); const std::int32_t divisor = static_cast(ctx.gpr[17]); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } aot_gpr_4 = (ctx.hi); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(695), static_cast(aot_gpr_4)); goto L_08B02304; @@ -6746,22 +6747,22 @@ L_08B02310: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); ctx.gpr[7] = (static_cast(aot_gpr_5) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = ctx.gpr[7] == 0u; - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (branch_taken) { goto L_08B02334; } goto L_08B02324; } L_08B02324: - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); ctx.gpr[7] = (aot_gpr_5 << 2u); - ctx.gpr[6] = (ctx.gpr[6] + ctx.gpr[7]); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(0))); + aot_gpr_6 = (aot_gpr_6 + ctx.gpr[7]); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); goto L_08B02334; L_08B02334: - ctx.gpr[6] = (ctx.gpr[6] + static_cast(644)); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[6] + static_cast(25)))))); - { const bool branch_taken = static_cast(ctx.gpr[6]) < 0; + aot_gpr_6 = (aot_gpr_6 + static_cast(644)); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_6 + static_cast(25)))))); + { const bool branch_taken = static_cast(aot_gpr_6) < 0; // nop if (branch_taken) { goto L_08B02370; @@ -6769,9 +6770,9 @@ L_08B02334: goto L_08B02344; } L_08B02344: - ctx.gpr[6] = (aot_gpr_4 | 0u); - ctx.gpr[6] = (static_cast(aot_gpr_5) < static_cast(ctx.gpr[6]) ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_6 = (aot_gpr_4 | 0u); + aot_gpr_6 = (static_cast(aot_gpr_5) < static_cast(aot_gpr_6) ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_4 = (0u | 0u); if (branch_taken) { goto L_08B02364; @@ -6793,7 +6794,7 @@ L_08B02370: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -6804,14 +6805,14 @@ L_08B02370: AOT_REGCACHE_SYNC_OUT(); return; L_08B02384: aot_gpr_29 = (aot_gpr_29 + static_cast(-64)); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(900))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), aot_gpr_17); - aot_gpr_17 = (aot_gpr_4 | 0u); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(900))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_4 | 0u); { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), aot_gpr_16}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(32), aot_run_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), aot_gpr_31); - { const bool branch_taken = ctx.gpr[6] == 0u; + { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_16 = (aot_gpr_5 | 0u); if (branch_taken) { goto L_08B024D0; @@ -6819,7 +6820,7 @@ L_08B02384: goto L_08B023B0; } L_08B023B0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(72))); aot_gpr_5 = (0u | 80u); aot_gpr_4 = (aot_gpr_4 & 496u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; @@ -6830,7 +6831,7 @@ L_08B023B0: goto L_08B023C4; } L_08B023C4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(72))); aot_gpr_5 = (0u | 64u); aot_gpr_4 = (aot_gpr_4 & 496u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; @@ -6841,7 +6842,7 @@ L_08B023C4: goto L_08B023D8; } L_08B023D8: - aot_gpr_4 = (aot_gpr_17 + static_cast(32)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(32)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); aot_gpr_4 = (15820u << 16u); aot_gpr_4 = (aot_gpr_4 | 52429u); @@ -6856,7 +6857,7 @@ L_08B023D8: goto L_08B023FC; } L_08B023FC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(852))); aot_gpr_5 = (0u | 2u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -6866,7 +6867,7 @@ L_08B023FC: goto L_08B0240C; } L_08B0240C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(852))); aot_gpr_5 = (0u | 1u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -6877,8 +6878,8 @@ L_08B0240C: } L_08B0241C: aot_gpr_31 = (0x08B02424u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(900))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B02424u) goto L_08B02424; + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B02424u) goto L_08B02424; AOT_REGCACHE_SYNC_OUT(); return; L_08B02424: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -6892,7 +6893,7 @@ L_08B0242C: aot_gpr_4 = (14545u << 16u); aot_gpr_4 = (aot_gpr_4 | 46871u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_gpr_4 = (aot_gpr_17 + static_cast(320)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(320)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -6908,7 +6909,7 @@ L_08B0242C: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 < aot_fpr_12)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); - aot_gpr_4 = (aot_gpr_17 + static_cast(48)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(48)); if (branch_taken) { goto L_08B024A8; } @@ -6920,7 +6921,7 @@ L_08B0245C: aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; - aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(208))); + aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(208))); aot_fpr_14 = aot_fpr_14 + ctx.fpr[15]; aot_gpr_4 = (15395u << 16u); aot_gpr_4 = (aot_gpr_4 | 55050u); @@ -6929,7 +6930,7 @@ L_08B0245C: aot_gpr_5 = (16256u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), std::bit_cast(aot_fpr_14)); { const float fs = aot_fpr_20; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_20 = std::bit_cast(0x7FC00000u); else aot_fpr_20 = fs * ft; } - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(852))); { const bool branch_taken = aot_gpr_4 == 0u; ctx.fpr[22] = std::bit_cast(aot_gpr_5); if (branch_taken) { @@ -6999,7 +7000,7 @@ L_08B024D8: { const float fs = aot_fpr_20; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_20 = std::bit_cast(0x7FC00000u); else aot_fpr_20 = fs * ft; } goto L_08B024E4; L_08B024E4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); ctx.gpr[18] = (0u | 0u); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(1914))); aot_gpr_4 = (static_cast(ctx.gpr[18]) < static_cast(aot_gpr_4) ? 1u : 0u); @@ -7011,7 +7012,7 @@ L_08B024E4: goto L_08B024FC; } L_08B024FC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); goto L_08B02500; L_08B02500: aot_gpr_5 = (ctx.gpr[18] << 2u); @@ -7022,12 +7023,12 @@ L_08B02500: aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); goto L_08B02544; } goto L_08B02524; L_08B02524: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); aot_gpr_5 = (ctx.gpr[18] << 2u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_31 = (0x08B02538u); @@ -7043,7 +7044,7 @@ L_08B02538: goto L_08B02540; } L_08B02540: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); goto L_08B02544; L_08B02544: aot_gpr_5 = (ctx.gpr[18] << 2u); @@ -7086,7 +7087,7 @@ L_08B025A4: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), std::bit_cast(aot_fpr_20)); ctx.fpr[17] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); aot_gpr_31 = (0x08B025D0u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 611u, 0x08A66E08u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B025D0u) goto L_08B025D0; AOT_REGCACHE_SYNC_OUT(); return; L_08B025D0: @@ -7098,12 +7099,12 @@ L_08B025D0: goto L_08B025D8; } L_08B025D8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); ctx.gpr[18] = (ctx.gpr[18] + static_cast(1)); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(1914))); aot_gpr_4 = (static_cast(ctx.gpr[18]) < static_cast(aot_gpr_4) ? 1u : 0u); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); goto L_08B02500; } goto L_08B025F0; @@ -7113,7 +7114,7 @@ L_08B025F0: aot_fpr_20 = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); aot_gpr_16 = aot_run_words[2]; - aot_gpr_17 = aot_run_words[3]; + ctx.gpr[17] = aot_run_words[3]; ctx.gpr[18] = aot_run_words[4]; aot_gpr_31 = aot_run_words[5]; } @@ -7129,15 +7130,15 @@ L_08B02610: ctx.gpr[19] = (aot_gpr_5 | 0u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(264), ctx.gpr[18]); - ctx.gpr[18] = (ctx.gpr[6] | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(260), aot_gpr_17); + ctx.gpr[18] = (aot_gpr_6 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(260), ctx.gpr[17]); aot_gpr_5 = (aot_gpr_5 & 496u); - ctx.gpr[6] = (0u | 32u); - aot_gpr_17 = (aot_gpr_4 | 0u); + aot_gpr_6 = (0u | 32u); + ctx.gpr[17] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(252), std::bit_cast(aot_fpr_20)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(256), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(272), aot_gpr_31); - { const bool branch_taken = aot_gpr_5 != ctx.gpr[6]; + { const bool branch_taken = aot_gpr_5 != aot_gpr_6; aot_gpr_16 = (ctx.gpr[7] | 0u); if (branch_taken) { goto L_08B026B0; @@ -7145,34 +7146,34 @@ L_08B02610: goto L_08B0264C; } L_08B0264C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(72))); aot_gpr_5 = (0u + static_cast(-497)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_4 = (aot_gpr_4 | 48u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(72), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(72), aot_gpr_4); aot_gpr_31 = (0x08B02668u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0207_entry, 207u, 365u, 0x08B41608u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B02668u) goto L_08B02668; AOT_REGCACHE_SYNC_OUT(); return; L_08B02668: aot_gpr_4 = (0u | 0u); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(72))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 1u); - ctx.gpr[6] = (0u + static_cast(-16385)); - aot_gpr_5 = (aot_gpr_5 & ctx.gpr[6]); + aot_gpr_6 = (0u + static_cast(-16385)); + aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); aot_gpr_4 = (aot_gpr_4 << 14u); aot_gpr_4 = (aot_gpr_5 | aot_gpr_4); aot_gpr_5 = (0u | 1u); - ctx.gpr[6] = (65535u << 16u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(72), aot_gpr_4); + aot_gpr_6 = (65535u << 16u); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(72), aot_gpr_4); aot_gpr_5 = (aot_gpr_5 & 1u); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(32767)); - aot_gpr_4 = (aot_gpr_4 & ctx.gpr[6]); + aot_gpr_6 = (aot_gpr_6 + static_cast(32767)); + aot_gpr_4 = (aot_gpr_4 & aot_gpr_6); aot_gpr_5 = (aot_gpr_5 << 15u); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(72), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(72), aot_gpr_4); aot_gpr_31 = (0x08B026B0u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0153_entry, 153u, 161u, 0x08A69104u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B026B0u) goto L_08B026B0; AOT_REGCACHE_SYNC_OUT(); return; L_08B026B0: @@ -7225,7 +7226,7 @@ L_08B026B0: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_20 = std::bit_cast(0u); - aot_gpr_4 = (aot_gpr_17 + static_cast(320)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(320)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -7343,10 +7344,10 @@ L_08B02724: } L_08B0279C: aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_12)); - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(208))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(208))); aot_gpr_4 = (std::bit_cast(aot_fpr_14)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); - aot_gpr_4 = (aot_gpr_17 + static_cast(320)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(320)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -7572,7 +7573,7 @@ L_08B0291C: aot_fpr_12 = std::bit_cast(0u); { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_12)}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(112), aot_run_words); } - ctx.gpr[6] = (aot_gpr_29 + static_cast(112)); + aot_gpr_6 = (aot_gpr_29 + static_cast(112)); aot_gpr_4 = (0u | 87u); aot_gpr_5 = (ctx.gpr[19] | 0u); ctx.gpr[7] = (0u | 0u); @@ -7593,7 +7594,7 @@ L_08B02950: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_4 = (aot_gpr_17 + static_cast(48)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -7609,7 +7610,7 @@ L_08B02950: const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 496u); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_4 = (0u | 0u); @@ -7664,19 +7665,19 @@ L_08B029AC: aot_fpr_14 = std::bit_cast(aot_run_words[2]); } aot_gpr_31 = (0x08B029C0u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 600u, 0x08A66CD8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B029C0u) goto L_08B029C0; AOT_REGCACHE_SYNC_OUT(); return; L_08B029C0: - ctx.gpr[6] = (aot_gpr_29 + static_cast(128)); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_6 = (aot_gpr_29 + static_cast(128)); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B029D0u); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 620u, 0x08A66F58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B029D0u) goto L_08B029D0; AOT_REGCACHE_SYNC_OUT(); return; L_08B029D0: aot_gpr_31 = (0x08B029D8u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); goto L_08B01E00; L_08B029D8: ctx.gpr[18] = (ctx.gpr[2] | 0u); @@ -7705,14 +7706,14 @@ L_08B029F0: goto L_08B029F8; } L_08B029F8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(92))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(92))); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_5 = (aot_gpr_16 & 65535u); aot_gpr_4 = (aot_gpr_4 + static_cast(416)); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); ctx.gpr[10] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - aot_gpr_4 = (aot_gpr_17 + ctx.gpr[6]); - ctx.gpr[6] = (0u | 0u); + aot_gpr_4 = (ctx.gpr[17] + aot_gpr_6); + aot_gpr_6 = (0u | 0u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 0u); jump_target = ctx.gpr[10]; @@ -7746,13 +7747,13 @@ L_08B02A38: goto L_08B02A40; } L_08B02A40: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(92))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(92))); aot_fpr_12 = std::bit_cast(0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_4 = (aot_gpr_4 + static_cast(416)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); ctx.gpr[10] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - aot_gpr_4 = (aot_gpr_17 + aot_gpr_5); + aot_gpr_4 = (ctx.gpr[17] + aot_gpr_5); aot_gpr_5 = (0u | 0u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 0u); @@ -7771,14 +7772,14 @@ L_08B02A70: goto L_08B02A78; } L_08B02A78: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(92))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(92))); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_5 = (aot_gpr_16 & 65535u); aot_gpr_4 = (aot_gpr_4 + static_cast(416)); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); ctx.gpr[10] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - aot_gpr_4 = (aot_gpr_17 + ctx.gpr[6]); - ctx.gpr[6] = (0u | 0u); + aot_gpr_4 = (ctx.gpr[17] + aot_gpr_6); + aot_gpr_6 = (0u | 0u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 0u); jump_target = ctx.gpr[10]; @@ -7792,7 +7793,7 @@ L_08B02AA8: aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(252), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); aot_gpr_16 = aot_run_words[1]; - aot_gpr_17 = aot_run_words[2]; + ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; ctx.gpr[19] = aot_run_words[4]; aot_gpr_31 = aot_run_words[5]; @@ -7807,16 +7808,16 @@ L_08B02AC8: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(614)))))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), ctx.gpr[19]); ctx.gpr[19] = (0u | 0u); ctx.gpr[7] = (ctx.gpr[7] & 1u); - aot_gpr_17 = (aot_gpr_4 | 0u); + ctx.gpr[17] = (aot_gpr_4 | 0u); aot_gpr_16 = (aot_gpr_5 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), aot_gpr_31); { const bool branch_taken = ctx.gpr[7] == 0u; - ctx.gpr[18] = (ctx.gpr[6] | 0u); + ctx.gpr[18] = (aot_gpr_6 | 0u); if (branch_taken) { goto L_08B02B14; } @@ -7843,13 +7844,13 @@ L_08B02B10: ctx.gpr[19] = (0u | 1u); goto L_08B02B14; L_08B02B14: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(92))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(92))); ctx.gpr[19] = (ctx.gpr[19] & 255u); aot_gpr_4 = (aot_gpr_4 + static_cast(304)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - aot_gpr_4 = (aot_gpr_17 + aot_gpr_5); - jump_target = ctx.gpr[6]; + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); + aot_gpr_4 = (ctx.gpr[17] + aot_gpr_5); + jump_target = aot_gpr_6; aot_gpr_31 = (0x08B02B34u); aot_gpr_5 = (ctx.gpr[18] | 0u); ctx.pc = jump_target; @@ -7864,14 +7865,14 @@ L_08B02B34: goto L_08B02B3C; } L_08B02B3C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(92))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(92))); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_4 = (aot_gpr_4 + static_cast(288)); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x08B02B58u); - aot_gpr_4 = (aot_gpr_17 + ctx.gpr[6]); + aot_gpr_4 = (ctx.gpr[17] + aot_gpr_6); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B02B58u) goto L_08B02B58; AOT_REGCACHE_SYNC_OUT(); return; @@ -7884,7 +7885,7 @@ L_08B02B58: goto L_08B02B60; } L_08B02B60: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B02B6Cu); aot_gpr_5 = (aot_gpr_16 | 0u); goto L_08B01088; @@ -7898,7 +7899,7 @@ L_08B02B6C: } L_08B02B74: aot_gpr_4 = (0u | 0u); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(535), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(535), static_cast(aot_gpr_4)); aot_gpr_4 = (0u | 2u); { const bool branch_taken = ctx.gpr[18] == aot_gpr_4; aot_gpr_4 = (0u | 4u); @@ -7924,7 +7925,7 @@ L_08B02B90: goto L_08B02B98; } L_08B02B98: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(614)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(614)))))); aot_gpr_4 = (aot_gpr_4 & 2u); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -7945,7 +7946,7 @@ L_08B02BA8: L_08B02BB4: aot_gpr_31 = (0x08B02BBCu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B02BBCu) goto L_08B02BBC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B02BBCu) goto L_08B02BBC; AOT_REGCACHE_SYNC_OUT(); return; L_08B02BBC: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -7956,7 +7957,7 @@ L_08B02BBC: goto L_08B02BC4; } L_08B02BC4: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(620)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(620)))))); { const bool branch_taken = static_cast(aot_gpr_4) < 0; // nop if (branch_taken) { @@ -7986,7 +7987,7 @@ L_08B02BDC: goto L_08B02BEC; } L_08B02BEC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -7995,7 +7996,7 @@ L_08B02BEC: goto L_08B02BF8; } L_08B02BF8: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(614)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(614)))))); aot_gpr_4 = (aot_gpr_4 & 8u); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -8005,7 +8006,7 @@ L_08B02BF8: goto L_08B02C08; } L_08B02C08: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); aot_gpr_5 = (0u | 55u); aot_gpr_4 = (aot_gpr_4 + static_cast(2228)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); @@ -8033,7 +8034,7 @@ L_08B02C34: goto L_08B02C38; L_08B02C38: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x08B02C48u); ctx.gpr[7] = (0u | 63u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 635u, 0x0893E914u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B02C48u) goto L_08B02C48; @@ -8042,20 +8043,20 @@ L_08B02C48: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B02C54u); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B02C54u) goto L_08B02C54; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B02C54u) goto L_08B02C54; AOT_REGCACHE_SYNC_OUT(); return; L_08B02C54: aot_gpr_31 = (0x08B02C5Cu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B02C5Cu) goto L_08B02C5C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B02C5Cu) goto L_08B02C5C; AOT_REGCACHE_SYNC_OUT(); return; L_08B02C5C: aot_gpr_5 = (2203u << 16u); aot_gpr_4 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (aot_gpr_16 | 0u); + aot_gpr_6 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B02C70u); aot_gpr_5 = (aot_gpr_5 + static_cast(13856)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B02C70u) goto L_08B02C70; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B02C70u) goto L_08B02C70; AOT_REGCACHE_SYNC_OUT(); return; L_08B02C70: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), 0u); @@ -8069,12 +8070,12 @@ L_08B02C70: goto L_08B02C84; } L_08B02C84: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(900))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); ctx.gpr[7] = (aot_gpr_29 + static_cast(16)); ctx.gpr[8] = (aot_gpr_29 + static_cast(20)); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B02C9Cu); - ctx.gpr[6] = (aot_gpr_16 | 0u); + aot_gpr_6 = (aot_gpr_16 | 0u); goto L_08B03DB0; L_08B02C9C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); @@ -8107,7 +8108,7 @@ L_08B02CBC: AOT_REGCACHE_SYNC_OUT(); return; L_08B02CC8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(900))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop if (branch_taken) { @@ -8116,16 +8117,16 @@ L_08B02CC8: goto L_08B02CD8; } L_08B02CD8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(900))); - ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(2274))); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); + aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(2274))); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B02CECu); ctx.gpr[7] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0106_entry, 106u, 567u, 0x089AE4F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B02CECu) goto L_08B02CEC; AOT_REGCACHE_SYNC_OUT(); return; L_08B02CEC: aot_gpr_31 = (0x08B02CF4u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 319u, 0x0890D46Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B02CF4u) goto L_08B02CF4; AOT_REGCACHE_SYNC_OUT(); return; L_08B02CF4: @@ -8137,7 +8138,7 @@ L_08B02CF4: goto L_08B02CFC; } L_08B02CFC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); aot_gpr_31 = (0x08B02D08u); aot_gpr_5 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 119u, 0x089B4624u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B02D08u) goto L_08B02D08; @@ -8151,7 +8152,7 @@ L_08B02D08: goto L_08B02D10; } L_08B02D10: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(352))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(352))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(208))); aot_gpr_4 = (aot_gpr_4 & 256u); aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); @@ -8164,13 +8165,13 @@ L_08B02D10: goto L_08B02D2C; } L_08B02D2C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(92))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(92))); aot_gpr_4 = (aot_gpr_4 + static_cast(312)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - jump_target = ctx.gpr[6]; + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); + jump_target = aot_gpr_6; aot_gpr_31 = (0x08B02D44u); - aot_gpr_4 = (aot_gpr_17 + aot_gpr_5); + aot_gpr_4 = (ctx.gpr[17] + aot_gpr_5); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B02D44u) goto L_08B02D44; AOT_REGCACHE_SYNC_OUT(); return; @@ -8184,7 +8185,7 @@ L_08B02D44: } L_08B02D4C: aot_gpr_31 = (0x08B02D54u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); goto L_08B01038; L_08B02D54: { const bool branch_taken = ctx.gpr[2] != 0u; @@ -8195,7 +8196,7 @@ L_08B02D54: goto L_08B02D5C; } L_08B02D5C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -8239,7 +8240,7 @@ L_08B02D98: goto L_08B02D9C; L_08B02D9C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x08B02DACu); ctx.gpr[7] = (0u | 77u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 635u, 0x0893E914u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B02DACu) goto L_08B02DAC; @@ -8248,20 +8249,20 @@ L_08B02DAC: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B02DB8u); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B02DB8u) goto L_08B02DB8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B02DB8u) goto L_08B02DB8; AOT_REGCACHE_SYNC_OUT(); return; L_08B02DB8: aot_gpr_31 = (0x08B02DC0u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B02DC0u) goto L_08B02DC0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B02DC0u) goto L_08B02DC0; AOT_REGCACHE_SYNC_OUT(); return; L_08B02DC0: aot_gpr_5 = (2203u << 16u); aot_gpr_4 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (aot_gpr_16 | 0u); + aot_gpr_6 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B02DD4u); aot_gpr_5 = (aot_gpr_5 + static_cast(13856)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B02DD4u) goto L_08B02DD4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B02DD4u) goto L_08B02DD4; AOT_REGCACHE_SYNC_OUT(); return; L_08B02DD4: { const bool branch_taken = 0u == 0u; @@ -8288,7 +8289,7 @@ L_08B02DF0: goto L_08B02DF4; L_08B02DF4: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x08B02E04u); ctx.gpr[7] = (0u | 67u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 635u, 0x0893E914u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B02E04u) goto L_08B02E04; @@ -8297,7 +8298,7 @@ L_08B02E04: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B02E10u); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B02E10u) goto L_08B02E10; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B02E10u) goto L_08B02E10; AOT_REGCACHE_SYNC_OUT(); return; L_08B02E10: { const bool branch_taken = 0u == 0u; @@ -8324,7 +8325,7 @@ L_08B02E2C: goto L_08B02E30; L_08B02E30: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); - ctx.gpr[6] = (0u | 2u); + aot_gpr_6 = (0u | 2u); aot_gpr_31 = (0x08B02E40u); ctx.gpr[7] = (0u | 182u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 635u, 0x0893E914u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B02E40u) goto L_08B02E40; @@ -8333,7 +8334,7 @@ L_08B02E40: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B02E4Cu); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B02E4Cu) goto L_08B02E4C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B02E4Cu) goto L_08B02E4C; AOT_REGCACHE_SYNC_OUT(); return; L_08B02E4C: { const bool branch_taken = 0u == 0u; @@ -8360,7 +8361,7 @@ L_08B02E68: goto L_08B02E6C; L_08B02E6C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_gpr_31 = (0x08B02E7Cu); ctx.gpr[7] = (0u | 174u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 635u, 0x0893E914u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B02E7Cu) goto L_08B02E7C; @@ -8369,7 +8370,7 @@ L_08B02E7C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B02E88u); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B02E88u) goto L_08B02E88; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B02E88u) goto L_08B02E88; AOT_REGCACHE_SYNC_OUT(); return; L_08B02E88: { const bool branch_taken = 0u == 0u; @@ -8388,7 +8389,7 @@ L_08B02E90: goto L_08B02E98; } L_08B02E98: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(614)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(614)))))); aot_gpr_4 = (aot_gpr_4 & 2u); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -8414,7 +8415,7 @@ L_08B02EBC: goto L_08B02EC0; L_08B02EC0: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x08B02ED0u); ctx.gpr[7] = (0u | 87u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 635u, 0x0893E914u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B02ED0u) goto L_08B02ED0; @@ -8423,7 +8424,7 @@ L_08B02ED0: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B02EDCu); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B02EDCu) goto L_08B02EDC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B02EDCu) goto L_08B02EDC; AOT_REGCACHE_SYNC_OUT(); return; L_08B02EDC: { const bool branch_taken = 0u == 0u; @@ -8450,7 +8451,7 @@ L_08B02EF8: goto L_08B02EFC; L_08B02EFC: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); - ctx.gpr[6] = (0u | 2u); + aot_gpr_6 = (0u | 2u); aot_gpr_31 = (0x08B02F0Cu); ctx.gpr[7] = (0u | 183u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 635u, 0x0893E914u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B02F0Cu) goto L_08B02F0C; @@ -8459,7 +8460,7 @@ L_08B02F0C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B02F18u); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B02F18u) goto L_08B02F18; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B02F18u) goto L_08B02F18; AOT_REGCACHE_SYNC_OUT(); return; L_08B02F18: { const bool branch_taken = 0u == 0u; @@ -8486,7 +8487,7 @@ L_08B02F34: goto L_08B02F38; L_08B02F38: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_gpr_31 = (0x08B02F48u); ctx.gpr[7] = (0u | 178u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 635u, 0x0893E914u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B02F48u) goto L_08B02F48; @@ -8495,7 +8496,7 @@ L_08B02F48: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B02F54u); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B02F54u) goto L_08B02F54; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B02F54u) goto L_08B02F54; AOT_REGCACHE_SYNC_OUT(); return; L_08B02F54: { const bool branch_taken = 0u == 0u; @@ -8539,7 +8540,7 @@ L_08B02F84: goto L_08B02F88; L_08B02F88: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x08B02F98u); ctx.gpr[7] = (0u | 68u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 635u, 0x0893E914u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B02F98u) goto L_08B02F98; @@ -8548,7 +8549,7 @@ L_08B02F98: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B02FA4u); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B02FA4u) goto L_08B02FA4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B02FA4u) goto L_08B02FA4; AOT_REGCACHE_SYNC_OUT(); return; L_08B02FA4: { const bool branch_taken = 0u == 0u; @@ -8575,7 +8576,7 @@ L_08B02FC0: goto L_08B02FC4; L_08B02FC4: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x08B02FD4u); ctx.gpr[7] = (0u | 88u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 635u, 0x0893E914u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B02FD4u) goto L_08B02FD4; @@ -8584,7 +8585,7 @@ L_08B02FD4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B02FE0u); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B02FE0u) goto L_08B02FE0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B02FE0u) goto L_08B02FE0; AOT_REGCACHE_SYNC_OUT(); return; L_08B02FE0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(460))); @@ -8593,7 +8594,7 @@ L_08B02FE0: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(460), aot_gpr_4); aot_gpr_4 = (2237u << 16u); aot_gpr_5 = (0u | 79u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 1u); ctx.gpr[9] = (0u | 12000u); @@ -8607,7 +8608,7 @@ L_08B02FE0: L_08B0301C: aot_gpr_31 = (0x08B03024u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B03024u) goto L_08B03024; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B03024u) goto L_08B03024; AOT_REGCACHE_SYNC_OUT(); return; L_08B03024: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -8620,15 +8621,15 @@ L_08B03024: L_08B0302C: aot_gpr_31 = (0x08B03034u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B03034u) goto L_08B03034; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B03034u) goto L_08B03034; AOT_REGCACHE_SYNC_OUT(); return; L_08B03034: aot_gpr_5 = (2203u << 16u); aot_gpr_4 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (aot_gpr_16 | 0u); + aot_gpr_6 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B03048u); aot_gpr_5 = (aot_gpr_5 + static_cast(12000)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B03048u) goto L_08B03048; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B03048u) goto L_08B03048; AOT_REGCACHE_SYNC_OUT(); return; L_08B03048: { const bool branch_taken = 0u == 0u; @@ -8654,7 +8655,7 @@ L_08B0305C: } L_08B03064: aot_gpr_4 = (0u | 0u); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(535), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(535), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2228))); aot_gpr_5 = (0u | 59u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; @@ -8665,18 +8666,18 @@ L_08B03064: goto L_08B0307C; } L_08B0307C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(352))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(352))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(208))); aot_gpr_4 = (aot_gpr_4 & 16384u); aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); if (aot_gpr_4 == 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(565))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(565))); goto L_08B030A8; } goto L_08B03098; L_08B03098: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -8685,7 +8686,7 @@ L_08B03098: goto L_08B030A4; } L_08B030A4: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(565))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(565))); goto L_08B030A8; L_08B030A8: { const bool branch_taken = aot_gpr_4 != 0u; @@ -8696,7 +8697,7 @@ L_08B030A8: goto L_08B030B0; } L_08B030B0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_4 = (0u | 3u); if (branch_taken) { @@ -8736,7 +8737,7 @@ L_08B030D8: goto L_08B030E4; } L_08B030E4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -8745,7 +8746,7 @@ L_08B030E4: goto L_08B030F0; } L_08B030F0: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(620)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(620)))))); { const bool branch_taken = static_cast(aot_gpr_4) < 0; // nop if (branch_taken) { @@ -8754,7 +8755,7 @@ L_08B030F0: goto L_08B030FC; } L_08B030FC: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(614)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(614)))))); aot_gpr_4 = (aot_gpr_4 & 8u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -8780,7 +8781,7 @@ L_08B03120: goto L_08B03124; L_08B03124: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x08B03134u); ctx.gpr[7] = (0u | 70u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 635u, 0x0893E914u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B03134u) goto L_08B03134; @@ -8789,7 +8790,7 @@ L_08B03134: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B03140u); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B03140u) goto L_08B03140; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B03140u) goto L_08B03140; AOT_REGCACHE_SYNC_OUT(); return; L_08B03140: { const bool branch_taken = 0u == 0u; @@ -8816,7 +8817,7 @@ L_08B0315C: goto L_08B03160; L_08B03160: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x08B03170u); ctx.gpr[7] = (0u | 69u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 635u, 0x0893E914u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B03170u) goto L_08B03170; @@ -8825,25 +8826,25 @@ L_08B03170: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B0317Cu); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0317Cu) goto L_08B0317C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0317Cu) goto L_08B0317C; AOT_REGCACHE_SYNC_OUT(); return; L_08B0317C: aot_gpr_31 = (0x08B03184u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B03184u) goto L_08B03184; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B03184u) goto L_08B03184; AOT_REGCACHE_SYNC_OUT(); return; L_08B03184: aot_gpr_5 = (2203u << 16u); aot_gpr_4 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (aot_gpr_16 | 0u); + aot_gpr_6 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B03198u); aot_gpr_5 = (aot_gpr_5 + static_cast(-21176)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B03198u) goto L_08B03198; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B03198u) goto L_08B03198; AOT_REGCACHE_SYNC_OUT(); return; L_08B03198: aot_gpr_4 = (0u + static_cast(-1)); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(620), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(620), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08B03494; } @@ -8875,7 +8876,7 @@ L_08B031B8: goto L_08B031C0; } L_08B031C0: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(614)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(614)))))); aot_gpr_4 = (aot_gpr_4 & 2u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -8901,7 +8902,7 @@ L_08B031E4: goto L_08B031E8; L_08B031E8: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); - ctx.gpr[6] = (0u | 2u); + aot_gpr_6 = (0u | 2u); aot_gpr_31 = (0x08B031F8u); ctx.gpr[7] = (0u | 184u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 635u, 0x0893E914u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B031F8u) goto L_08B031F8; @@ -8910,7 +8911,7 @@ L_08B031F8: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B03204u); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B03204u) goto L_08B03204; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B03204u) goto L_08B03204; AOT_REGCACHE_SYNC_OUT(); return; L_08B03204: { const bool branch_taken = 0u == 0u; @@ -8921,7 +8922,7 @@ L_08B03204: goto L_08B0320C; } L_08B0320C: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(614)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(614)))))); aot_gpr_4 = (aot_gpr_4 & 8u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -8947,7 +8948,7 @@ L_08B03230: goto L_08B03234; L_08B03234: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x08B03244u); ctx.gpr[7] = (0u | 72u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 635u, 0x0893E914u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B03244u) goto L_08B03244; @@ -8956,7 +8957,7 @@ L_08B03244: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B03250u); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B03250u) goto L_08B03250; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B03250u) goto L_08B03250; AOT_REGCACHE_SYNC_OUT(); return; L_08B03250: { const bool branch_taken = 0u == 0u; @@ -8968,7 +8969,7 @@ L_08B03250: } L_08B03258: aot_gpr_31 = (0x08B03260u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); goto L_08B02090; L_08B03260: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -8995,7 +8996,7 @@ L_08B0327C: goto L_08B03280; L_08B03280: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x08B03290u); ctx.gpr[7] = (0u | 78u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 635u, 0x0893E914u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B03290u) goto L_08B03290; @@ -9004,7 +9005,7 @@ L_08B03290: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B0329Cu); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0329Cu) goto L_08B0329C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0329Cu) goto L_08B0329C; AOT_REGCACHE_SYNC_OUT(); return; L_08B0329C: { const bool branch_taken = 0u == 0u; @@ -9031,7 +9032,7 @@ L_08B032B8: goto L_08B032BC; L_08B032BC: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x08B032CCu); ctx.gpr[7] = (0u | 71u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 635u, 0x0893E914u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B032CCu) goto L_08B032CC; @@ -9040,7 +9041,7 @@ L_08B032CC: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B032D8u); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B032D8u) goto L_08B032D8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B032D8u) goto L_08B032D8; AOT_REGCACHE_SYNC_OUT(); return; L_08B032D8: { const bool branch_taken = 0u == 0u; @@ -9067,7 +9068,7 @@ L_08B032F4: goto L_08B032F8; L_08B032F8: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_gpr_31 = (0x08B03308u); ctx.gpr[7] = (0u | 175u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 635u, 0x0893E914u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B03308u) goto L_08B03308; @@ -9076,7 +9077,7 @@ L_08B03308: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B03314u); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B03314u) goto L_08B03314; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B03314u) goto L_08B03314; AOT_REGCACHE_SYNC_OUT(); return; L_08B03314: { const bool branch_taken = 0u == 0u; @@ -9095,7 +9096,7 @@ L_08B0331C: goto L_08B03324; } L_08B03324: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(614)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(614)))))); aot_gpr_4 = (aot_gpr_4 & 2u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -9121,7 +9122,7 @@ L_08B03348: goto L_08B0334C; L_08B0334C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); - ctx.gpr[6] = (0u | 2u); + aot_gpr_6 = (0u | 2u); aot_gpr_31 = (0x08B0335Cu); ctx.gpr[7] = (0u | 185u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 635u, 0x0893E914u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0335Cu) goto L_08B0335C; @@ -9130,7 +9131,7 @@ L_08B0335C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B03368u); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B03368u) goto L_08B03368; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B03368u) goto L_08B03368; AOT_REGCACHE_SYNC_OUT(); return; L_08B03368: { const bool branch_taken = 0u == 0u; @@ -9141,7 +9142,7 @@ L_08B03368: goto L_08B03370; } L_08B03370: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(614)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(614)))))); aot_gpr_4 = (aot_gpr_4 & 8u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -9167,7 +9168,7 @@ L_08B03394: goto L_08B03398; L_08B03398: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x08B033A8u); ctx.gpr[7] = (0u | 92u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 635u, 0x0893E914u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B033A8u) goto L_08B033A8; @@ -9176,7 +9177,7 @@ L_08B033A8: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B033B4u); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B033B4u) goto L_08B033B4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B033B4u) goto L_08B033B4; AOT_REGCACHE_SYNC_OUT(); return; L_08B033B4: { const bool branch_taken = 0u == 0u; @@ -9188,7 +9189,7 @@ L_08B033B4: } L_08B033BC: aot_gpr_31 = (0x08B033C4u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); goto L_08B02090; L_08B033C4: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -9215,7 +9216,7 @@ L_08B033E0: goto L_08B033E4; L_08B033E4: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x08B033F4u); ctx.gpr[7] = (0u | 79u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 635u, 0x0893E914u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B033F4u) goto L_08B033F4; @@ -9224,7 +9225,7 @@ L_08B033F4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B03400u); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B03400u) goto L_08B03400; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B03400u) goto L_08B03400; AOT_REGCACHE_SYNC_OUT(); return; L_08B03400: { const bool branch_taken = 0u == 0u; @@ -9251,7 +9252,7 @@ L_08B0341C: goto L_08B03420; L_08B03420: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x08B03430u); ctx.gpr[7] = (0u | 91u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 635u, 0x0893E914u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B03430u) goto L_08B03430; @@ -9260,7 +9261,7 @@ L_08B03430: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B0343Cu); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0343Cu) goto L_08B0343C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0343Cu) goto L_08B0343C; AOT_REGCACHE_SYNC_OUT(); return; L_08B0343C: { const bool branch_taken = 0u == 0u; @@ -9287,7 +9288,7 @@ L_08B03458: goto L_08B0345C; L_08B0345C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_gpr_31 = (0x08B0346Cu); ctx.gpr[7] = (0u | 179u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 635u, 0x0893E914u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0346Cu) goto L_08B0346C; @@ -9296,26 +9297,26 @@ L_08B0346C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B03478u); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B03478u) goto L_08B03478; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B03478u) goto L_08B03478; AOT_REGCACHE_SYNC_OUT(); return; L_08B03478: aot_gpr_31 = (0x08B03480u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B03480u) goto L_08B03480; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B03480u) goto L_08B03480; AOT_REGCACHE_SYNC_OUT(); return; L_08B03480: aot_gpr_5 = (2203u << 16u); aot_gpr_4 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (aot_gpr_16 | 0u); + aot_gpr_6 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B03494u); aot_gpr_5 = (aot_gpr_5 + static_cast(13856)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B03494u) goto L_08B03494; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B03494u) goto L_08B03494; AOT_REGCACHE_SYNC_OUT(); return; L_08B03494: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(24), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; @@ -9328,14 +9329,14 @@ L_08B03494: AOT_REGCACHE_SYNC_OUT(); return; L_08B034B0: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_4 | 0u); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(614)))))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_4 | 0u); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(614)))))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_5 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(2274))); ctx.gpr[7] = (0u | 0u); - ctx.gpr[8] = (ctx.gpr[6] & 1u); + ctx.gpr[8] = (aot_gpr_6 & 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); { const bool branch_taken = ctx.gpr[8] == 0u; aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5836))); @@ -9391,7 +9392,7 @@ L_08B03510: goto L_08B03518; } L_08B03518: - aot_gpr_4 = (ctx.gpr[6] & 2u); + aot_gpr_4 = (aot_gpr_6 & 2u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -9400,7 +9401,7 @@ L_08B03518: goto L_08B03524; } L_08B03524: - aot_gpr_4 = (ctx.gpr[6] & 8u); + aot_gpr_4 = (aot_gpr_6 & 8u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -9427,7 +9428,7 @@ L_08B03540: goto L_08B03548; L_08B03548: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x08B03558u); ctx.gpr[7] = (0u | 72u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 635u, 0x0893E914u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B03558u) goto L_08B03558; @@ -9436,7 +9437,7 @@ L_08B03558: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B03564u); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B03564u) goto L_08B03564; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B03564u) goto L_08B03564; AOT_REGCACHE_SYNC_OUT(); return; L_08B03564: { const bool branch_taken = 0u == 0u; @@ -9465,7 +9466,7 @@ L_08B0357C: goto L_08B03584; L_08B03584: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x08B03594u); ctx.gpr[7] = (0u | 71u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 635u, 0x0893E914u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B03594u) goto L_08B03594; @@ -9474,7 +9475,7 @@ L_08B03594: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B035A0u); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B035A0u) goto L_08B035A0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B035A0u) goto L_08B035A0; AOT_REGCACHE_SYNC_OUT(); return; L_08B035A0: { const bool branch_taken = 0u == 0u; @@ -9503,7 +9504,7 @@ L_08B035B8: goto L_08B035C0; L_08B035C0: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); - ctx.gpr[6] = (0u | 2u); + aot_gpr_6 = (0u | 2u); aot_gpr_31 = (0x08B035D0u); ctx.gpr[7] = (0u | 184u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 635u, 0x0893E914u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B035D0u) goto L_08B035D0; @@ -9512,7 +9513,7 @@ L_08B035D0: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B035DCu); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B035DCu) goto L_08B035DC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B035DCu) goto L_08B035DC; AOT_REGCACHE_SYNC_OUT(); return; L_08B035DC: { const bool branch_taken = 0u == 0u; @@ -9541,7 +9542,7 @@ L_08B035F4: goto L_08B035FC; L_08B035FC: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_gpr_31 = (0x08B0360Cu); ctx.gpr[7] = (0u | 175u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 635u, 0x0893E914u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0360Cu) goto L_08B0360C; @@ -9550,7 +9551,7 @@ L_08B0360C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B03618u); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B03618u) goto L_08B03618; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B03618u) goto L_08B03618; AOT_REGCACHE_SYNC_OUT(); return; L_08B03618: { const bool branch_taken = 0u == 0u; @@ -9569,7 +9570,7 @@ L_08B03620: goto L_08B03628; } L_08B03628: - aot_gpr_4 = (ctx.gpr[6] & 2u); + aot_gpr_4 = (aot_gpr_6 & 2u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -9578,7 +9579,7 @@ L_08B03628: goto L_08B03634; } L_08B03634: - aot_gpr_4 = (ctx.gpr[6] & 8u); + aot_gpr_4 = (aot_gpr_6 & 8u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -9605,7 +9606,7 @@ L_08B03650: goto L_08B03658; L_08B03658: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x08B03668u); ctx.gpr[7] = (0u | 92u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 635u, 0x0893E914u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B03668u) goto L_08B03668; @@ -9614,7 +9615,7 @@ L_08B03668: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B03674u); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B03674u) goto L_08B03674; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B03674u) goto L_08B03674; AOT_REGCACHE_SYNC_OUT(); return; L_08B03674: { const bool branch_taken = 0u == 0u; @@ -9643,7 +9644,7 @@ L_08B0368C: goto L_08B03694; L_08B03694: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x08B036A4u); ctx.gpr[7] = (0u | 91u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 635u, 0x0893E914u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B036A4u) goto L_08B036A4; @@ -9652,7 +9653,7 @@ L_08B036A4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B036B0u); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B036B0u) goto L_08B036B0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B036B0u) goto L_08B036B0; AOT_REGCACHE_SYNC_OUT(); return; L_08B036B0: { const bool branch_taken = 0u == 0u; @@ -9681,7 +9682,7 @@ L_08B036C8: goto L_08B036D0; L_08B036D0: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); - ctx.gpr[6] = (0u | 2u); + aot_gpr_6 = (0u | 2u); aot_gpr_31 = (0x08B036E0u); ctx.gpr[7] = (0u | 185u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 635u, 0x0893E914u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B036E0u) goto L_08B036E0; @@ -9690,7 +9691,7 @@ L_08B036E0: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B036ECu); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B036ECu) goto L_08B036EC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B036ECu) goto L_08B036EC; AOT_REGCACHE_SYNC_OUT(); return; L_08B036EC: { const bool branch_taken = 0u == 0u; @@ -9719,7 +9720,7 @@ L_08B03704: goto L_08B0370C; L_08B0370C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_gpr_31 = (0x08B0371Cu); ctx.gpr[7] = (0u | 179u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 635u, 0x0893E914u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0371Cu) goto L_08B0371C; @@ -9728,7 +9729,7 @@ L_08B0371C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B03728u); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B03728u) goto L_08B03728; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B03728u) goto L_08B03728; AOT_REGCACHE_SYNC_OUT(); return; L_08B03728: aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(2274))); @@ -9761,7 +9762,7 @@ L_08B03744: goto L_08B03750; } L_08B03750: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B0375Cu); aot_gpr_5 = (0u | 2u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0375Cu) goto L_08B0375C; @@ -9792,7 +9793,7 @@ L_08B03770: goto L_08B03778; } L_08B03778: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B03784u); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B03784u) goto L_08B03784; @@ -9808,14 +9809,14 @@ L_08B03784: } L_08B03790: { const bool branch_taken = 0u == 0u; - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(900))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); if (branch_taken) { goto L_08B037D0; } goto L_08B03798; } L_08B03798: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B037A4u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B037A4u) goto L_08B037A4; @@ -9830,9 +9831,9 @@ L_08B037A4: goto L_08B037B0; } L_08B037B0: - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2196))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2196))); ctx.gpr[7] = (0u | 18u); - { const bool branch_taken = ctx.gpr[6] != ctx.gpr[7]; + { const bool branch_taken = aot_gpr_6 != ctx.gpr[7]; // nop if (branch_taken) { goto L_08B037C4; @@ -9840,7 +9841,7 @@ L_08B037B0: goto L_08B037C0; } L_08B037C0: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(900))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); goto L_08B037C4; L_08B037C4: { const bool branch_taken = 0u == 0u; @@ -9854,8 +9855,8 @@ L_08B037CC: aot_gpr_5 = (0u | 0u); goto L_08B037D0; L_08B037D0: - ctx.gpr[6] = (0u | 8u); - { const bool branch_taken = aot_gpr_4 != ctx.gpr[6]; + aot_gpr_6 = (0u | 8u); + { const bool branch_taken = aot_gpr_4 != aot_gpr_6; // nop if (branch_taken) { goto L_08B03804; @@ -9871,7 +9872,7 @@ L_08B037DC: goto L_08B037E4; } L_08B037E4: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(614)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(614)))))); aot_gpr_4 = (aot_gpr_4 & 2u); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -9884,27 +9885,27 @@ L_08B037F4: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (0u | 16u); aot_gpr_31 = (0x08B03804u); - ctx.gpr[6] = (aot_gpr_17 | 0u); + aot_gpr_6 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0178_entry, 178u, 482u, 0x08ACD698u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B03804u) goto L_08B03804; AOT_REGCACHE_SYNC_OUT(); return; L_08B03804: aot_gpr_31 = (0x08B0380Cu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0380Cu) goto L_08B0380C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0380Cu) goto L_08B0380C; AOT_REGCACHE_SYNC_OUT(); return; L_08B0380C: aot_gpr_5 = (2203u << 16u); aot_gpr_4 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (aot_gpr_16 | 0u); + aot_gpr_6 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B03820u); aot_gpr_5 = (aot_gpr_5 + static_cast(13856)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B03820u) goto L_08B03820; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B03820u) goto L_08B03820; AOT_REGCACHE_SYNC_OUT(); return; L_08B03820: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -9916,17 +9917,17 @@ L_08B03820: L_08B03834: aot_gpr_29 = (aot_gpr_29 + static_cast(-80)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), ctx.gpr[22]); - ctx.gpr[6] = (aot_gpr_4 + static_cast(384)); + aot_gpr_6 = (aot_gpr_4 + static_cast(384)); ctx.gpr[22] = (aot_gpr_5 & 255u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[6]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_6); aot_gpr_5 = (ctx.gpr[28] + static_cast(7768)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), std::bit_cast(aot_fpr_20)); - { const std::uint32_t aot_run_words[6]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21]}; + { const std::uint32_t aot_run_words[6]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(32), aot_run_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(60), ctx.gpr[23]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), ctx.gpr[30]); aot_fpr_20 = std::bit_cast(0u); - aot_gpr_17 = (0u + static_cast(-33)); + ctx.gpr[17] = (0u + static_cast(-33)); ctx.gpr[19] = (0u + static_cast(-9)); ctx.gpr[18] = (0u + static_cast(-2)); ctx.gpr[20] = (0u + static_cast(-3)); @@ -9979,7 +9980,7 @@ L_08B038C4: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(848), std::bit_cast(aot_fpr_20)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(614)))))); - aot_gpr_4 = (aot_gpr_4 & aot_gpr_17); + aot_gpr_4 = (aot_gpr_4 & ctx.gpr[17]); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(614), static_cast(aot_gpr_4)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(617)))))); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[19]); @@ -10013,7 +10014,7 @@ L_08B038C4: aot_gpr_4 = (aot_gpr_4 & ctx.gpr[19]); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(619), static_cast(aot_gpr_4)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(619)))))); - aot_gpr_4 = (aot_gpr_4 & aot_gpr_17); + aot_gpr_4 = (aot_gpr_4 & ctx.gpr[17]); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(619), static_cast(aot_gpr_4)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(619)))))); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[20]); @@ -10121,13 +10122,13 @@ L_08B03A84: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(615)))))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(616), static_cast(aot_gpr_4)); aot_gpr_4 = (0u + static_cast(-1)); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(616)))))); - aot_gpr_5 = (aot_gpr_5 & aot_gpr_17); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(616)))))); + aot_gpr_5 = (aot_gpr_5 & ctx.gpr[17]); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(620), static_cast(aot_gpr_4)); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(615), static_cast(aot_gpr_5)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(660), 0u); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(615)))))); - aot_gpr_4 = (ctx.gpr[6] & ctx.gpr[19]); + aot_gpr_4 = (aot_gpr_6 & ctx.gpr[19]); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(596), 0u); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(616), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_gpr_5 | 64u); @@ -10137,24 +10138,24 @@ L_08B03A84: aot_gpr_4 = (aot_gpr_4 & ctx.gpr[22]); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(615), static_cast(aot_gpr_4)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(613)))))); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(706)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(706)))))); aot_gpr_5 = (aot_gpr_5 & ctx.gpr[23]); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(656), 0u); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(616), static_cast(aot_gpr_5)); aot_gpr_5 = (0u + static_cast(-4)); aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(664), static_cast(0u)); - aot_gpr_5 = (ctx.gpr[6] & aot_gpr_5); + aot_gpr_5 = (aot_gpr_6 & aot_gpr_5); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[30]); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(617)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(617)))))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(613), static_cast(aot_gpr_4)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(616)))))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(706), static_cast(aot_gpr_5)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(613)))))); - ctx.gpr[6] = (ctx.gpr[6] & ctx.gpr[18]); - aot_gpr_4 = (aot_gpr_4 & aot_gpr_17); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(617), static_cast(ctx.gpr[6])); + aot_gpr_6 = (aot_gpr_6 & ctx.gpr[18]); + aot_gpr_4 = (aot_gpr_4 & ctx.gpr[17]); + aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(617), static_cast(aot_gpr_6)); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(616), static_cast(aot_gpr_4)); - aot_gpr_5 = (aot_gpr_5 & aot_gpr_17); + aot_gpr_5 = (aot_gpr_5 & ctx.gpr[17]); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(617)))))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(613), static_cast(aot_gpr_5)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(616)))))); @@ -10166,7 +10167,7 @@ L_08B03A84: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(617)))))); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(618)))))); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[21]); - aot_gpr_5 = (aot_gpr_5 & aot_gpr_17); + aot_gpr_5 = (aot_gpr_5 & ctx.gpr[17]); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(617), static_cast(aot_gpr_4)); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(618), static_cast(aot_gpr_5)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(617)))))); @@ -10182,16 +10183,16 @@ L_08B03A84: aot_gpr_4 = (aot_gpr_4 & ctx.gpr[23]); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(617), static_cast(aot_gpr_4)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(617)))))); - aot_gpr_4 = (aot_gpr_4 & aot_gpr_17); + aot_gpr_4 = (aot_gpr_4 & ctx.gpr[17]); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(617), static_cast(aot_gpr_4)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(617)))))); - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[30]); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(617), static_cast(aot_gpr_4)); aot_gpr_4 = (16256u << 16u); aot_gpr_31 = (0x08B03C1Cu); ctx.fpr[22] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B03C1Cu) goto L_08B03C1C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B03C1Cu) goto L_08B03C1C; AOT_REGCACHE_SYNC_OUT(); return; L_08B03C1C: aot_fpr_12 = ctx.fpr[22] - aot_fpr_20; @@ -10201,23 +10202,23 @@ L_08B03C1C: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_20)) ? 0x00800000u : 0u); // nop if (((ctx.fcr31 & 0x00800000u) != 0u)) { - aot_gpr_17 = (0u | 1u); + ctx.gpr[17] = (0u | 1u); goto L_08B03C3C; } goto L_08B03C3C; L_08B03C3C: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(614)))))); - ctx.gpr[6] = (aot_gpr_17 & 255u); + aot_gpr_6 = (ctx.gpr[17] & 255u); aot_gpr_5 = (aot_gpr_5 & ctx.gpr[18]); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(614), static_cast(aot_gpr_5)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(614)))))); ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(617)))))); - ctx.gpr[6] = (ctx.gpr[6] & 1u); + aot_gpr_6 = (aot_gpr_6 & 1u); aot_gpr_5 = (aot_gpr_5 & ctx.gpr[21]); aot_gpr_4 = (ctx.gpr[7] & aot_gpr_4); - ctx.gpr[6] = (ctx.gpr[6] << 7u); + aot_gpr_6 = (aot_gpr_6 << 7u); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(614), static_cast(aot_gpr_5)); - aot_gpr_4 = (aot_gpr_4 | ctx.gpr[6]); + aot_gpr_4 = (aot_gpr_4 | aot_gpr_6); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(614)))))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(617), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_gpr_5 & ctx.gpr[20]); @@ -10225,10 +10226,10 @@ L_08B03C3C: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(614)))))); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(618)))))); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[19]); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(616)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(616)))))); aot_gpr_5 = (aot_gpr_5 & ctx.gpr[18]); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(614), static_cast(aot_gpr_4)); - aot_gpr_4 = (ctx.gpr[6] & ctx.gpr[20]); + aot_gpr_4 = (aot_gpr_6 & ctx.gpr[20]); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(618), static_cast(aot_gpr_5)); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(616), static_cast(aot_gpr_4)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(618)))))); @@ -10253,7 +10254,7 @@ L_08B03C3C: aot_gpr_4 = (ctx.gpr[22] | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08B03CFCu); - ctx.gpr[6] = (aot_gpr_16 | 0u); + aot_gpr_6 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 497u, 0x08A05F1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B03CFCu) goto L_08B03CFC; AOT_REGCACHE_SYNC_OUT(); return; L_08B03CFC: @@ -10268,7 +10269,7 @@ L_08B03D04: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); aot_gpr_4 = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x08B03D14u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 501u, 0x08A05F5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B03D14u) goto L_08B03D14; AOT_REGCACHE_SYNC_OUT(); return; L_08B03D14: @@ -10307,7 +10308,7 @@ L_08B03D74: aot_fpr_20 = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); aot_gpr_16 = aot_run_words[2]; - aot_gpr_17 = aot_run_words[3]; + ctx.gpr[17] = aot_run_words[3]; ctx.gpr[18] = aot_run_words[4]; ctx.gpr[19] = aot_run_words[5]; ctx.gpr[20] = aot_run_words[6]; @@ -10327,16 +10328,16 @@ L_08B03DB0: aot_gpr_29 = (aot_gpr_29 + static_cast(-192)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(140), aot_gpr_16); aot_gpr_16 = (ctx.gpr[7] | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(144), aot_gpr_17); - aot_gpr_17 = (ctx.gpr[8] | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(144), ctx.gpr[17]); + ctx.gpr[17] = (ctx.gpr[8] | 0u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(156), ctx.gpr[20]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(160), ctx.gpr[21]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(168), ctx.gpr[23]); ctx.gpr[21] = (aot_gpr_5 | 0u); ctx.gpr[20] = (aot_gpr_4 | 0u); - ctx.gpr[23] = (ctx.gpr[6] | 0u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), 0u); + ctx.gpr[23] = (aot_gpr_6 | 0u); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(148), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(152), ctx.gpr[19]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(164), ctx.gpr[22]); @@ -10344,10 +10345,10 @@ L_08B03DB0: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(176), aot_gpr_31); aot_gpr_31 = (0x08B03E00u); aot_gpr_4 = (ctx.gpr[21] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B03E00u) goto L_08B03E00; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B03E00u) goto L_08B03E00; AOT_REGCACHE_SYNC_OUT(); return; L_08B03E00: - ctx.gpr[9] = (aot_gpr_17 | 0u); + ctx.gpr[9] = (ctx.gpr[17] | 0u); { const bool branch_taken = ctx.gpr[2] == 0u; ctx.gpr[10] = (aot_gpr_16 | 0u); if (branch_taken) { @@ -10469,11 +10470,11 @@ L_08B03EB0: L_08B03EBC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(464))); aot_gpr_5 = (32768u << 16u); - aot_gpr_17 = (aot_gpr_4 & aot_gpr_5); - aot_gpr_17 = (0u < aot_gpr_17 ? 1u : 0u); + ctx.gpr[17] = (aot_gpr_4 & aot_gpr_5); + ctx.gpr[17] = (0u < ctx.gpr[17] ? 1u : 0u); aot_gpr_31 = (0x08B03ED4u); aot_gpr_4 = (ctx.gpr[23] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B03ED4u) goto L_08B03ED4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B03ED4u) goto L_08B03ED4; AOT_REGCACHE_SYNC_OUT(); return; L_08B03ED4: { const bool branch_taken = ctx.gpr[2] != 0u; @@ -10484,7 +10485,7 @@ L_08B03ED4: goto L_08B03EDC; } L_08B03EDC: - ctx.gpr[6] = (aot_mem.aot_direct_load16(ctx.gpr[23] + static_cast(2274))); + aot_gpr_6 = (aot_mem.aot_direct_load16(ctx.gpr[23] + static_cast(2274))); aot_gpr_4 = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x08B03EECu); aot_gpr_5 = (ctx.gpr[20] | 0u); @@ -10500,10 +10501,10 @@ L_08B03EEC: goto L_08B03EF8; } L_08B03EF8: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); goto L_08B03EFC; L_08B03EFC: - { const bool branch_taken = aot_gpr_17 != 0u; + { const bool branch_taken = ctx.gpr[17] != 0u; // nop if (branch_taken) { goto L_08B03F70; @@ -10590,13 +10591,13 @@ L_08B03F84: L_08B03F94: ctx.gpr[22] = (0u | 6u); ctx.gpr[18] = (aot_gpr_29 | 0u); - aot_gpr_17 = (aot_gpr_29 | 0u); + ctx.gpr[17] = (aot_gpr_29 | 0u); goto L_08B03FA0; L_08B03FA0: aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); aot_gpr_31 = (0x08B03FACu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B03FACu) goto L_08B03FAC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B03FACu) goto L_08B03FAC; AOT_REGCACHE_SYNC_OUT(); return; L_08B03FAC: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -10645,10 +10646,10 @@ L_08B03FD8: goto L_08B03FEC; } L_08B03FEC: - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(72), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(72), aot_gpr_16); ctx.gpr[19] = (ctx.gpr[19] + static_cast(1)); ctx.gpr[21] = (ctx.gpr[21] + static_cast(1)); - aot_gpr_17 = (aot_gpr_17 + static_cast(4)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(4)); aot_gpr_4 = (static_cast(ctx.gpr[19]) < static_cast(ctx.gpr[30]) ? 1u : 0u); ctx.pc = 0x08B04000u; AOT_REGCACHE_SYNC_OUT(); return; } diff --git a/profiles/vcs/generated/generated_unit_0192.cpp b/profiles/vcs/generated/generated_unit_0192.cpp index 487f66d..32294a2 100644 --- a/profiles/vcs/generated/generated_unit_0192.cpp +++ b/profiles/vcs/generated/generated_unit_0192.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0192[4093] = { }; void recomp_unit_0192_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,31,29,16,17 fprs=12,13,20,14 gpr_occ=3281 fpr_occ=1220 gpr_total=4414 fpr_total=1672 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,31,2,29,6 fprs=12,13,20,14 gpr_occ=3456 fpr_occ=1231 gpr_total=4979 fpr_total=1683 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; + std::uint32_t aot_gpr_2 = ctx.gpr[2]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; - std::uint32_t aot_gpr_16 = ctx.gpr[16]; - std::uint32_t aot_gpr_17 = ctx.gpr[17]; + std::uint32_t aot_gpr_6 = ctx.gpr[6]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_20 = ctx.fpr[20]; float aot_fpr_14 = ctx.fpr[14]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[31] = aot_gpr_31; ctx.gpr[29] = aot_gpr_29; ctx.gpr[16] = aot_gpr_16; ctx.gpr[17] = aot_gpr_17; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; ctx.fpr[14] = aot_fpr_14; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_17 = ctx.gpr[17]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_14 = ctx.fpr[14]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[31] = aot_gpr_31; ctx.gpr[2] = aot_gpr_2; ctx.gpr[29] = aot_gpr_29; ctx.gpr[6] = aot_gpr_6; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; ctx.fpr[14] = aot_fpr_14; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_2 = ctx.gpr[2]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_6 = ctx.gpr[6]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_14 = ctx.fpr[14]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -1029,18 +1030,18 @@ L_08B04008: goto L_08B04018; } L_08B04018: - aot_gpr_17 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1828))); - aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1824))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1828))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1824))); ctx.gpr[22] = (aot_gpr_29 | 0u); ctx.gpr[18] = (32768u << 16u); goto L_08B04028; L_08B04028: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(72))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(464))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(464))); aot_gpr_5 = (aot_gpr_5 + ctx.gpr[19]); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(1728), aot_gpr_5); - aot_gpr_5 = (ctx.gpr[6] & ctx.gpr[18]); + aot_gpr_5 = (aot_gpr_6 & ctx.gpr[18]); { const bool branch_taken = aot_gpr_5 != 0u; // nop if (branch_taken) { @@ -1051,32 +1052,32 @@ L_08B04028: L_08B04048: aot_gpr_5 = (0u | 16u); aot_gpr_31 = (0x08B04054u); - ctx.gpr[6] = (ctx.gpr[20] | 0u); + aot_gpr_6 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0178_entry, 178u, 482u, 0x08ACD698u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B04054u) goto L_08B04054; AOT_REGCACHE_SYNC_OUT(); return; L_08B04054: aot_gpr_31 = (0x08B0405Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0405Cu) goto L_08B0405C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0405Cu) goto L_08B0405C; AOT_REGCACHE_SYNC_OUT(); return; L_08B0405C: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 0u); - ctx.gpr[7] = (aot_gpr_17 | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B04070u); - ctx.gpr[6] = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B04070u) goto L_08B04070; + aot_gpr_6 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B04070u) goto L_08B04070; AOT_REGCACHE_SYNC_OUT(); return; L_08B04070: ctx.gpr[1] = (ctx.gpr[3] << 1u); - aot_gpr_4 = (ctx.gpr[2] >> 31u); + aot_gpr_4 = (aot_gpr_2 >> 31u); aot_gpr_5 = (static_cast(static_cast(ctx.gpr[3]) >> 31u)); aot_gpr_4 = (ctx.gpr[1] | aot_gpr_4); - ctx.gpr[6] = (aot_gpr_4 + aot_gpr_16); - ctx.gpr[7] = (ctx.gpr[6] < aot_gpr_16 ? 1u : 0u); + aot_gpr_6 = (aot_gpr_4 + ctx.gpr[16]); + ctx.gpr[7] = (aot_gpr_6 < ctx.gpr[16] ? 1u : 0u); aot_gpr_4 = (ctx.gpr[7] + aot_gpr_5); - aot_gpr_5 = (aot_gpr_4 + aot_gpr_17); - aot_gpr_4 = (ctx.gpr[6] | 0u); + aot_gpr_5 = (aot_gpr_4 + ctx.gpr[17]); + aot_gpr_4 = (aot_gpr_6 | 0u); aot_gpr_4 = (aot_gpr_4 | 0u); ctx.gpr[19] = (ctx.gpr[19] + aot_gpr_4); goto L_08B0409C; @@ -1100,8 +1101,8 @@ L_08B040AC: goto L_08B040B8; } L_08B040B8: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(124))); - { const bool branch_taken = static_cast(aot_gpr_16) <= 0; + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(124))); + { const bool branch_taken = static_cast(ctx.gpr[16]) <= 0; // nop if (branch_taken) { goto L_08B041E8; @@ -1111,21 +1112,21 @@ L_08B040B8: L_08B040C4: aot_gpr_31 = (0x08B040CCu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B040CCu) goto L_08B040CC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B040CCu) goto L_08B040CC; AOT_REGCACHE_SYNC_OUT(); return; L_08B040CC: ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1796))); ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1792))); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 0u); ctx.gpr[7] = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08B040E8u); - ctx.gpr[6] = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B040E8u) goto L_08B040E8; + aot_gpr_6 = (ctx.gpr[18] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B040E8u) goto L_08B040E8; AOT_REGCACHE_SYNC_OUT(); return; L_08B040E8: ctx.gpr[1] = (ctx.gpr[3] << 1u); - aot_gpr_4 = (ctx.gpr[2] >> 31u); + aot_gpr_4 = (aot_gpr_2 >> 31u); aot_gpr_5 = (static_cast(static_cast(ctx.gpr[3]) >> 31u)); aot_gpr_4 = (ctx.gpr[1] | aot_gpr_4); aot_gpr_4 = (aot_gpr_4 | 0u); @@ -1153,11 +1154,11 @@ L_08B0410C: goto L_08B04114; } L_08B04114: - aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_16 = (0u | 0u); - aot_gpr_4 = (static_cast(aot_gpr_16) < static_cast(aot_gpr_4) ? 1u : 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); + ctx.gpr[16] = (0u | 0u); + aot_gpr_4 = (static_cast(ctx.gpr[16]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_17 = (aot_gpr_29 | 0u); + ctx.gpr[17] = (aot_gpr_29 | 0u); if (branch_taken) { goto L_08B041E8; } @@ -1169,7 +1170,7 @@ L_08B04128: ctx.gpr[22] = (1024u << 16u); goto L_08B04134; L_08B04134: - ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(36))); + ctx.gpr[20] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(36))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(1360))); aot_gpr_5 = (aot_gpr_4 ^ 20u); aot_gpr_4 = (aot_gpr_4 ^ 5u); @@ -1187,19 +1188,19 @@ L_08B04134: L_08B0415C: aot_gpr_31 = (0x08B04164u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B04164u) goto L_08B04164; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B04164u) goto L_08B04164; AOT_REGCACHE_SYNC_OUT(); return; L_08B04164: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 0u); ctx.gpr[7] = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08B04178u); - ctx.gpr[6] = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B04178u) goto L_08B04178; + aot_gpr_6 = (ctx.gpr[18] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B04178u) goto L_08B04178; AOT_REGCACHE_SYNC_OUT(); return; L_08B04178: ctx.gpr[1] = (ctx.gpr[3] << 1u); - aot_gpr_4 = (ctx.gpr[2] >> 31u); + aot_gpr_4 = (aot_gpr_2 >> 31u); aot_gpr_5 = (static_cast(static_cast(ctx.gpr[3]) >> 31u)); aot_gpr_4 = (ctx.gpr[1] | aot_gpr_4); aot_gpr_4 = (aot_gpr_4 | 0u); @@ -1250,10 +1251,10 @@ L_08B041CC: aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(460), aot_gpr_4); goto L_08B041D8; L_08B041D8: - aot_gpr_16 = (aot_gpr_16 + static_cast(1)); - aot_gpr_4 = (static_cast(aot_gpr_16) < static_cast(ctx.gpr[23]) ? 1u : 0u); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(1)); + aot_gpr_4 = (static_cast(ctx.gpr[16]) < static_cast(ctx.gpr[23]) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(4)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(4)); if (branch_taken) { goto L_08B04134; } @@ -1262,8 +1263,8 @@ L_08B041D8: L_08B041E8: { std::uint32_t aot_run_words[10]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(140), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -1281,27 +1282,27 @@ L_08B041E8: AOT_REGCACHE_SYNC_OUT(); return; L_08B04218: aot_gpr_29 = (aot_gpr_29 + static_cast(-64)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), aot_gpr_17); - aot_gpr_17 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), aot_gpr_16); - aot_gpr_16 = (aot_gpr_5 | 0u); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(616)))))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_5 | 0u); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(616)))))); aot_gpr_5 = (0u + static_cast(-3)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(614)))))); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(616), static_cast(aot_gpr_4)); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(614)))))); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(616), static_cast(aot_gpr_4)); aot_gpr_4 = (0u + static_cast(-65)); aot_gpr_4 = (aot_gpr_5 & aot_gpr_4); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(614), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(614), static_cast(aot_gpr_4)); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), std::bit_cast(aot_fpr_20)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(60), aot_gpr_31); aot_gpr_31 = (0x08B04260u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 72u, 0x08B00520u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B04260u) goto L_08B04260; AOT_REGCACHE_SYNC_OUT(); return; L_08B04260: - { const bool branch_taken = aot_gpr_16 == 0u; + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08B04514; @@ -1319,11 +1320,11 @@ L_08B04268: } L_08B04274: aot_gpr_31 = (0x08B0427Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0427Cu) goto L_08B0427C; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0427Cu) goto L_08B0427C; AOT_REGCACHE_SYNC_OUT(); return; L_08B0427C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08B04298; @@ -1335,10 +1336,10 @@ L_08B04284: aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(100))); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(52))); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(620), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(620), static_cast(aot_gpr_4)); goto L_08B04298; L_08B04298: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(613)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(613)))))); aot_gpr_4 = (aot_gpr_4 & 128u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -1353,7 +1354,7 @@ L_08B042A8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B042B0u) goto L_08B042B0; AOT_REGCACHE_SYNC_OUT(); return; L_08B042B0: - { const bool branch_taken = aot_gpr_16 != ctx.gpr[2]; + { const bool branch_taken = ctx.gpr[16] != aot_gpr_2; // nop if (branch_taken) { goto L_08B0446C; @@ -1361,11 +1362,11 @@ L_08B042B0: goto L_08B042B8; } L_08B042B8: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(613)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(613)))))); aot_gpr_5 = (0u + static_cast(-129)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(86)))))); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(613), static_cast(aot_gpr_4)); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(86)))))); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(613), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (0u | 234u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; @@ -1432,17 +1433,17 @@ L_08B0430C: goto L_08B04314; } L_08B04314: - ctx.gpr[6] = (ctx.gpr[28] + static_cast(1832)); + aot_gpr_6 = (ctx.gpr[28] + static_cast(1832)); aot_gpr_4 = (0u | 349u); aot_gpr_31 = (0x08B04324u); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 546u, 0x08AD3258u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B04324u) goto L_08B04324; AOT_REGCACHE_SYNC_OUT(); return; L_08B04324: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(613)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(613)))))); aot_gpr_4 = (aot_gpr_4 | 128u); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(613), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(613), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08B0446C; } @@ -1451,9 +1452,9 @@ L_08B04324: L_08B04334: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7800))); aot_gpr_5 = (2238u << 16u); - ctx.gpr[6] = (aot_gpr_4 + aot_gpr_4); + aot_gpr_6 = (aot_gpr_4 + aot_gpr_4); ctx.gpr[7] = (aot_gpr_4 << 8u); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); aot_gpr_4 = (aot_gpr_4 << 5u); aot_gpr_4 = (ctx.gpr[7] + aot_gpr_4); aot_gpr_5 = (aot_gpr_5 + static_cast(-6992)); @@ -1476,7 +1477,7 @@ L_08B04370: aot_gpr_4 = (16800u << 16u); aot_gpr_5 = (2238u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(1252))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(1252))); aot_gpr_4 = (aot_gpr_5 + static_cast(-6992)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(336))); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; @@ -1508,7 +1509,7 @@ L_08B043B4: AOT_REGCACHE_SYNC_OUT(); return; L_08B043CC: { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(1252), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(aot_gpr_2 + static_cast(1252), std::bit_cast(aot_fpr_20)); if (branch_taken) { goto L_08B0446C; } @@ -1518,7 +1519,7 @@ L_08B043D4: aot_gpr_4 = (2238u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-6992)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(337))); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1256))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1256))); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_13))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 <= aot_fpr_12)) ? 0x00800000u : 0u); @@ -1542,7 +1543,7 @@ L_08B043FC: goto L_08B04410; } L_08B04410: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1256))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1256))); goto L_08B04414; L_08B04414: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); @@ -1551,7 +1552,7 @@ L_08B04414: aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_13))); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(1256), std::bit_cast(aot_fpr_13)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(1256), std::bit_cast(aot_fpr_13)); if (branch_taken) { goto L_08B0446C; } @@ -1559,12 +1560,12 @@ L_08B04414: } L_08B04430: aot_gpr_31 = (0x08B04438u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B04438u) goto L_08B04438; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B04438u) goto L_08B04438; AOT_REGCACHE_SYNC_OUT(); return; L_08B04438: - { const bool branch_taken = ctx.gpr[2] == 0u; - aot_gpr_4 = (aot_gpr_16 | 0u); + { const bool branch_taken = aot_gpr_2 == 0u; + aot_gpr_4 = (ctx.gpr[16] | 0u); if (branch_taken) { goto L_08B0445C; } @@ -1573,11 +1574,11 @@ L_08B04438: L_08B04440: aot_gpr_5 = (0u | 3u); aot_gpr_31 = (0x08B0444Cu); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 630u, 0x08947340u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0444Cu) goto L_08B0444C; AOT_REGCACHE_SYNC_OUT(); return; L_08B0444C: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08B0445C; @@ -1593,14 +1594,14 @@ L_08B04454: goto L_08B0445C; } L_08B0445C: - ctx.gpr[6] = (ctx.gpr[28] + static_cast(1832)); + aot_gpr_6 = (ctx.gpr[28] + static_cast(1832)); aot_gpr_4 = (0u | 333u); aot_gpr_31 = (0x08B0446Cu); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 546u, 0x08AD3258u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0446Cu) goto L_08B0446C; AOT_REGCACHE_SYNC_OUT(); return; L_08B0446C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(852))); aot_gpr_5 = (0u | 6u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -1610,7 +1611,7 @@ L_08B0446C: goto L_08B0447C; } L_08B0447C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(852))); aot_gpr_5 = (0u | 8u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; aot_gpr_4 = (48291u << 16u); @@ -1620,14 +1621,14 @@ L_08B0447C: goto L_08B0448C; } L_08B0448C: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(208))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(208))); aot_gpr_4 = (48291u << 16u); aot_gpr_4 = (aot_gpr_4 | 55050u); aot_fpr_13 = std::bit_cast(aot_gpr_4); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); - aot_gpr_4 = (aot_gpr_17 + static_cast(32)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(32)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -1650,7 +1651,7 @@ L_08B0448C: aot_fpr_14 = std::bit_cast(aot_run_words[2]); } aot_gpr_31 = (0x08B044D0u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 600u, 0x08A66CD8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B044D0u) goto L_08B044D0; AOT_REGCACHE_SYNC_OUT(); return; L_08B044D0: @@ -1662,18 +1663,18 @@ L_08B044D0: goto L_08B044D8; } L_08B044D8: - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(208))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(208))); aot_gpr_4 = (aot_gpr_4 | 55050u); ctx.fpr[15] = std::bit_cast(aot_gpr_4); - ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(48))); + ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(48))); { const float fs = aot_fpr_14; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } - ctx.fpr[18] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(48))); - ctx.fpr[19] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(52))); + ctx.fpr[18] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(48))); + ctx.fpr[19] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(52))); aot_fpr_12 = std::bit_cast(0u); - ctx.fpr[0] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(52))); + ctx.fpr[0] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(52))); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_12)); ctx.fpr[17] = std::bit_cast(std::bit_cast(aot_fpr_12)); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); ctx.fpr[15] = ctx.fpr[16] - ctx.fpr[18]; aot_gpr_31 = (0x08B04514u); ctx.fpr[16] = ctx.fpr[19] - ctx.fpr[0]; @@ -1683,8 +1684,8 @@ L_08B04514: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(48), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); - aot_gpr_16 = aot_run_words[1]; - aot_gpr_17 = aot_run_words[2]; + ctx.gpr[16] = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } jump_target = aot_gpr_31; @@ -1696,15 +1697,15 @@ L_08B04514: L_08B0452C: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); ctx.gpr[8] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(615)))))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), std::bit_cast(aot_fpr_20)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[18]); aot_fpr_20 = std::bit_cast(std::bit_cast(aot_fpr_12)); aot_gpr_4 = (ctx.gpr[8] & 64u); - aot_gpr_17 = (aot_gpr_5 | 0u); - ctx.gpr[18] = (ctx.gpr[6] | 0u); + ctx.gpr[17] = (aot_gpr_5 | 0u); + ctx.gpr[18] = (aot_gpr_6 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), std::bit_cast(ctx.fpr[22])); { const std::uint32_t aot_run_words[5]{ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(24), aot_run_words); } @@ -1716,9 +1717,9 @@ L_08B0452C: goto L_08B04578; } L_08B04578: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); - ctx.gpr[6] = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7080))); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(72))); + aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7080))); + { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_5 = (aot_gpr_4 & 496u); if (branch_taken) { goto L_08B04598; @@ -1755,7 +1756,7 @@ L_08B045A0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0099_entry, 99u, 223u, 0x0899103Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B045A8u) goto L_08B045A8; AOT_REGCACHE_SYNC_OUT(); return; L_08B045A8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(72))); aot_gpr_5 = (17096u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_5); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[0] < aot_fpr_12)) ? 0x00800000u : 0u); @@ -1768,8 +1769,8 @@ L_08B045A8: goto L_08B045C4; } L_08B045C4: - ctx.gpr[6] = (16128u << 16u); - aot_fpr_12 = std::bit_cast(ctx.gpr[6]); + aot_gpr_6 = (16128u << 16u); + aot_fpr_12 = std::bit_cast(aot_gpr_6); { const float fs = aot_fpr_20; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_20 = std::bit_cast(0x7FC00000u); else aot_fpr_20 = fs * ft; } goto L_08B045D0; L_08B045D0: @@ -1796,7 +1797,7 @@ L_08B045E8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B045F0u) goto L_08B045F0; AOT_REGCACHE_SYNC_OUT(); return; L_08B045F0: - { const bool branch_taken = aot_gpr_17 == ctx.gpr[2]; + { const bool branch_taken = ctx.gpr[17] == aot_gpr_2; // nop if (branch_taken) { goto L_08B04618; @@ -1809,7 +1810,7 @@ L_08B045F8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B04600u) goto L_08B04600; AOT_REGCACHE_SYNC_OUT(); return; L_08B04600: - { const bool branch_taken = aot_gpr_17 != ctx.gpr[2]; + { const bool branch_taken = ctx.gpr[17] != aot_gpr_2; // nop if (branch_taken) { goto L_08B04638; @@ -1822,7 +1823,7 @@ L_08B04608: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B04610u) goto L_08B04610; AOT_REGCACHE_SYNC_OUT(); return; L_08B04610: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08B04638; @@ -1863,7 +1864,7 @@ L_08B04640: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B04648u) goto L_08B04648; AOT_REGCACHE_SYNC_OUT(); return; L_08B04648: - if (aot_gpr_17 == ctx.gpr[2]) { + if (ctx.gpr[17] == aot_gpr_2) { aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7800))); goto L_08B04664; } @@ -1874,7 +1875,7 @@ L_08B04650: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B04658u) goto L_08B04658; AOT_REGCACHE_SYNC_OUT(); return; L_08B04658: - { const bool branch_taken = aot_gpr_17 != ctx.gpr[2]; + { const bool branch_taken = ctx.gpr[17] != aot_gpr_2; // nop if (branch_taken) { goto L_08B046C8; @@ -1886,26 +1887,26 @@ L_08B04660: goto L_08B04664; L_08B04664: aot_gpr_5 = (aot_gpr_4 + aot_gpr_4); - ctx.gpr[6] = (aot_gpr_4 << 8u); + aot_gpr_6 = (aot_gpr_4 << 8u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_gpr_4 << 5u); aot_gpr_5 = (2238u << 16u); - aot_gpr_4 = (ctx.gpr[6] + aot_gpr_4); + aot_gpr_4 = (aot_gpr_6 + aot_gpr_4); aot_gpr_5 = (aot_gpr_5 + static_cast(-6992)); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(320))); - ctx.gpr[6] = (16256u << 16u); - aot_fpr_13 = std::bit_cast(ctx.gpr[6]); + aot_gpr_6 = (16256u << 16u); + aot_fpr_13 = std::bit_cast(aot_gpr_6); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(316))); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; aot_gpr_5 = (aot_gpr_5 + static_cast(2)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(316), aot_gpr_5); aot_gpr_31 = (0x08B046A8u); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(320), std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B046A8u) goto L_08B046A8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B046A8u) goto L_08B046A8; AOT_REGCACHE_SYNC_OUT(); return; L_08B046A8: - aot_gpr_4 = (ctx.gpr[2] & 65535u); + aot_gpr_4 = (aot_gpr_2 & 65535u); aot_gpr_5 = (0u | 20u); { const std::int32_t dividend = static_cast(aot_gpr_4); const std::int32_t divisor = static_cast(aot_gpr_5); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7904))); @@ -1935,9 +1936,9 @@ L_08B046D4: ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08B046EC: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); - ctx.gpr[6] = (8192u << 16u); - aot_gpr_5 = (aot_gpr_5 & ctx.gpr[6]); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(72))); + aot_gpr_6 = (8192u << 16u); + aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); { const bool branch_taken = aot_gpr_5 != 0u; // nop if (branch_taken) { @@ -1962,7 +1963,7 @@ L_08B04708: goto L_08B04710; } L_08B04710: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(72))); aot_gpr_5 = (1024u << 16u); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); { const bool branch_taken = aot_gpr_4 != 0u; @@ -1989,9 +1990,9 @@ L_08B0472C: goto L_08B04734; } L_08B04734: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); - ctx.gpr[6] = (2048u << 16u); - aot_gpr_5 = (aot_gpr_5 & ctx.gpr[6]); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(72))); + aot_gpr_6 = (2048u << 16u); + aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); { const bool branch_taken = aot_gpr_5 != 0u; // nop if (branch_taken) { @@ -2016,7 +2017,7 @@ L_08B04750: goto L_08B04758; } L_08B04758: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(72))); aot_gpr_5 = (4u << 16u); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); @@ -2045,9 +2046,9 @@ L_08B0477C: goto L_08B04784; } L_08B04784: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); - ctx.gpr[6] = (4096u << 16u); - aot_gpr_5 = (aot_gpr_5 & ctx.gpr[6]); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(72))); + aot_gpr_6 = (4096u << 16u); + aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); { const bool branch_taken = aot_gpr_5 != 0u; // nop if (branch_taken) { @@ -2080,7 +2081,7 @@ L_08B047A8: goto L_08B047B0; } L_08B047B0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 496u); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -2090,7 +2091,7 @@ L_08B047B0: goto L_08B047C0; } L_08B047C0: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(636))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(636))); aot_gpr_4 = (17274u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); @@ -2103,7 +2104,7 @@ L_08B047C0: goto L_08B047DC; } L_08B047DC: - { const bool branch_taken = aot_gpr_17 != 0u; + { const bool branch_taken = ctx.gpr[17] != 0u; ctx.fpr[22] = std::bit_cast(0u); if (branch_taken) { goto L_08B047F4; @@ -2127,7 +2128,7 @@ L_08B047EC: goto L_08B047F4; } L_08B047F4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 14u); aot_gpr_4 = (aot_gpr_4 ^ 6u); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); @@ -2140,7 +2141,7 @@ L_08B047F4: goto L_08B04810; } L_08B04810: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(852))); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_5 = (0u | 6u); if (branch_taken) { @@ -2211,11 +2212,11 @@ L_08B04864: } L_08B0486C: aot_gpr_31 = (0x08B04874u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B04874u) goto L_08B04874; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B04874u) goto L_08B04874; AOT_REGCACHE_SYNC_OUT(); return; L_08B04874: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08B04880; @@ -2239,7 +2240,7 @@ L_08B04888: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B04890u) goto L_08B04890; AOT_REGCACHE_SYNC_OUT(); return; L_08B04890: - { const bool branch_taken = ctx.gpr[2] != aot_gpr_17; + { const bool branch_taken = aot_gpr_2 != ctx.gpr[17]; // nop if (branch_taken) { goto L_08B0489C; @@ -2258,7 +2259,7 @@ L_08B0489C: goto L_08B048A4; } L_08B048A4: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(617)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(617)))))); aot_gpr_4 = (aot_gpr_4 & 8u); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -2270,19 +2271,19 @@ L_08B048A4: L_08B048B4: aot_gpr_31 = (0x08B048BCu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B048BCu) goto L_08B048BC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B048BCu) goto L_08B048BC; AOT_REGCACHE_SYNC_OUT(); return; L_08B048BC: ctx.gpr[7] = (static_cast(static_cast(ctx.gpr[21]) >> 31u)); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08B048D0u); - ctx.gpr[6] = (ctx.gpr[21] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B048D0u) goto L_08B048D0; + aot_gpr_6 = (ctx.gpr[21] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B048D0u) goto L_08B048D0; AOT_REGCACHE_SYNC_OUT(); return; L_08B048D0: ctx.gpr[1] = (ctx.gpr[3] << 1u); - aot_gpr_4 = (ctx.gpr[2] >> 31u); + aot_gpr_4 = (aot_gpr_2 >> 31u); aot_gpr_5 = (static_cast(static_cast(ctx.gpr[3]) >> 31u)); aot_gpr_4 = (ctx.gpr[1] | aot_gpr_4); aot_gpr_4 = (aot_gpr_4 | 0u); @@ -2295,7 +2296,7 @@ L_08B048D0: goto L_08B048F0; } L_08B048F0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(852))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(0))); aot_gpr_5 = (0u | 6u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; @@ -2315,22 +2316,22 @@ L_08B04904: goto L_08B04910; } L_08B04910: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(92))); + aot_gpr_4 = (ctx.gpr[16] | 0u); ctx.gpr[19] = (aot_gpr_5 + static_cast(344)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(0)))))); aot_gpr_31 = (0x08B04928u); - ctx.gpr[20] = (aot_gpr_16 + aot_gpr_5); + ctx.gpr[20] = (ctx.gpr[16] + aot_gpr_5); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 216u, 0x08B00C90u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B04928u) goto L_08B04928; AOT_REGCACHE_SYNC_OUT(); return; L_08B04928: - aot_gpr_5 = (ctx.gpr[2] + static_cast(13)); + aot_gpr_5 = (aot_gpr_2 + static_cast(13)); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(4))); aot_gpr_5 = (aot_gpr_5 & 255u); aot_gpr_4 = (ctx.gpr[20] | 0u); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x08B04940u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B04940u) goto L_08B04940; AOT_REGCACHE_SYNC_OUT(); return; @@ -2343,27 +2344,27 @@ L_08B04940: goto L_08B04948; } L_08B04948: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(92))); + aot_gpr_4 = (ctx.gpr[16] | 0u); ctx.gpr[19] = (aot_gpr_5 + static_cast(344)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(0)))))); aot_gpr_31 = (0x08B04960u); - ctx.gpr[20] = (aot_gpr_16 + aot_gpr_5); + ctx.gpr[20] = (ctx.gpr[16] + aot_gpr_5); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 216u, 0x08B00C90u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B04960u) goto L_08B04960; AOT_REGCACHE_SYNC_OUT(); return; L_08B04960: - aot_gpr_5 = (ctx.gpr[2] + static_cast(13)); + aot_gpr_5 = (aot_gpr_2 + static_cast(13)); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(4))); aot_gpr_5 = (aot_gpr_5 & 255u); aot_gpr_4 = (ctx.gpr[20] | 0u); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x08B04978u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B04978u) goto L_08B04978; AOT_REGCACHE_SYNC_OUT(); return; L_08B04978: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(636))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(636))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[22])) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); @@ -2374,7 +2375,7 @@ L_08B04978: goto L_08B0498C; } L_08B0498C: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(612))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(612))); aot_gpr_5 = (0u | 1u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; ctx.gpr[21] = (0u | 18u); @@ -2384,7 +2385,7 @@ L_08B0498C: goto L_08B0499C; } L_08B0499C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(900))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -2393,18 +2394,18 @@ L_08B0499C: goto L_08B049A8; } L_08B049A8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); - ctx.gpr[6] = (0u | 32u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(72))); + aot_gpr_6 = (0u | 32u); aot_gpr_4 = (aot_gpr_4 & 496u); - { const bool branch_taken = aot_gpr_4 == ctx.gpr[6]; - ctx.gpr[6] = (0u | 48u); + { const bool branch_taken = aot_gpr_4 == aot_gpr_6; + aot_gpr_6 = (0u | 48u); if (branch_taken) { goto L_08B049C4; } goto L_08B049BC; } L_08B049BC: - { const bool branch_taken = aot_gpr_4 != ctx.gpr[6]; + { const bool branch_taken = aot_gpr_4 != aot_gpr_6; // nop if (branch_taken) { goto L_08B04A3C; @@ -2412,7 +2413,7 @@ L_08B049BC: goto L_08B049C4; } L_08B049C4: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(533)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(533)))))); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop if (branch_taken) { @@ -2421,7 +2422,7 @@ L_08B049C4: goto L_08B049D0; } L_08B049D0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(76))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(76))); aot_gpr_5 = (16320u << 16u); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_4 = (aot_gpr_4 >> 22u); @@ -2436,33 +2437,33 @@ L_08B049D0: } L_08B049F0: aot_gpr_31 = (0x08B049F8u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0207_entry, 207u, 365u, 0x08B41608u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B049F8u) goto L_08B049F8; AOT_REGCACHE_SYNC_OUT(); return; L_08B049F8: aot_gpr_4 = (0u | 2u); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(532), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(352))); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(532), static_cast(aot_gpr_4)); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(352))); aot_gpr_5 = (17008u << 16u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(84))); aot_fpr_13 = std::bit_cast(aot_gpr_5); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(72))); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_5 = (0u + static_cast(-497)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_4 = (aot_gpr_4 | 48u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(72), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(72), aot_gpr_4); aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_gpr_4 << 24u); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 24u)); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(535), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(535), static_cast(aot_gpr_4)); goto L_08B04A3C; L_08B04A3C: aot_gpr_4 = (ctx.gpr[18] << 24u); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 24u)); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(91), static_cast(aot_gpr_4)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(688), aot_gpr_17); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(91), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(688), ctx.gpr[17]); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7080))); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -2472,7 +2473,7 @@ L_08B04A3C: goto L_08B04A58; } L_08B04A58: - { const bool branch_taken = aot_gpr_17 == 0u; + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_08B04B48; @@ -2484,11 +2485,11 @@ L_08B04A60: ctx.gpr[19] = (ctx.gpr[19] + static_cast(-28736)); aot_gpr_31 = (0x08B04A70u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B04A70u) goto L_08B04A70; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC734, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B04A70u) goto L_08B04A70; AOT_REGCACHE_SYNC_OUT(); return; L_08B04A70: aot_gpr_4 = (0u | 4u); - { const bool branch_taken = ctx.gpr[2] != aot_gpr_4; + { const bool branch_taken = aot_gpr_2 != aot_gpr_4; // nop if (branch_taken) { goto L_08B04A98; @@ -2496,7 +2497,7 @@ L_08B04A70: goto L_08B04A7C; } L_08B04A7C: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(86)))))); aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(60))); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -2512,11 +2513,11 @@ L_08B04A8C: goto L_08B04A98; L_08B04A98: aot_gpr_31 = (0x08B04AA0u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 58u, 0x08AD0600u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B04AA0u) goto L_08B04AA0; AOT_REGCACHE_SYNC_OUT(); return; L_08B04AA0: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08B04B40; @@ -2525,15 +2526,15 @@ L_08B04AA0: } L_08B04AA8: aot_gpr_31 = (0x08B04AB0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(352))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(352))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0165_entry, 165u, 450u, 0x08A9B980u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B04AB0u) goto L_08B04AB0; AOT_REGCACHE_SYNC_OUT(); return; L_08B04AB0: - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(636))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(636))); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_4 = (17274u << 16u); aot_fpr_14 = std::bit_cast(aot_gpr_4); - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); aot_fpr_13 = aot_fpr_13 - aot_fpr_14; ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 <= aot_fpr_20)) ? 0x00800000u : 0u); // nop @@ -2544,14 +2545,14 @@ L_08B04AB0: goto L_08B04AD8; L_08B04AD8: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); - ctx.gpr[22] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(694)))))); + ctx.gpr[22] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(694)))))); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08B04AECu); ctx.gpr[20] = (std::bit_cast(aot_fpr_12)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0008_entry, 8u, 108u, 0x08824A0Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B04AECu) goto L_08B04AEC; AOT_REGCACHE_SYNC_OUT(); return; L_08B04AEC: - { const bool branch_taken = ctx.gpr[22] == ctx.gpr[2]; + { const bool branch_taken = ctx.gpr[22] == aot_gpr_2; // nop if (branch_taken) { goto L_08B04B10; @@ -2564,9 +2565,9 @@ L_08B04AF4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0008_entry, 8u, 108u, 0x08824A0Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B04AFCu) goto L_08B04AFC; AOT_REGCACHE_SYNC_OUT(); return; L_08B04AFC: - aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(692), static_cast(ctx.gpr[20])); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(694), static_cast(ctx.gpr[2])); - ctx.gpr[19] = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(692))); + aot_mem.aot_direct_store16(ctx.gpr[16] + static_cast(692), static_cast(ctx.gpr[20])); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(694), static_cast(aot_gpr_2)); + ctx.gpr[19] = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(692))); { const bool branch_taken = 0u == 0u; aot_gpr_4 = (static_cast(ctx.gpr[19]) < 1000 ? 1u : 0u); if (branch_taken) { @@ -2575,11 +2576,11 @@ L_08B04AFC: goto L_08B04B10; } L_08B04B10: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(692))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(692))); aot_gpr_5 = (ctx.gpr[20] & 65535u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); - aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(692), static_cast(aot_gpr_4)); - ctx.gpr[19] = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(692))); + aot_mem.aot_direct_store16(ctx.gpr[16] + static_cast(692), static_cast(aot_gpr_4)); + ctx.gpr[19] = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(692))); aot_gpr_4 = (static_cast(ctx.gpr[19]) < 1000 ? 1u : 0u); goto L_08B04B28; L_08B04B28: @@ -2592,7 +2593,7 @@ L_08B04B28: goto L_08B04B38; L_08B04B38: { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(692), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store16(ctx.gpr[16] + static_cast(692), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08B04B48; } @@ -2600,7 +2601,7 @@ L_08B04B38: } L_08B04B40: aot_gpr_4 = (0u + static_cast(-1)); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(694), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(694), static_cast(aot_gpr_4)); goto L_08B04B48; L_08B04B48: { const bool branch_taken = ctx.gpr[18] != ctx.gpr[21]; @@ -2611,7 +2612,7 @@ L_08B04B48: goto L_08B04B50; } L_08B04B50: - { const bool branch_taken = aot_gpr_17 == 0u; + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_08B04BB0; @@ -2624,7 +2625,7 @@ L_08B04B58: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B04B60u) goto L_08B04B60; AOT_REGCACHE_SYNC_OUT(); return; L_08B04B60: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08B04BB0; @@ -2637,7 +2638,7 @@ L_08B04B68: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B04B70u) goto L_08B04B70; AOT_REGCACHE_SYNC_OUT(); return; L_08B04B70: - { const bool branch_taken = aot_gpr_17 != ctx.gpr[2]; + { const bool branch_taken = ctx.gpr[17] != aot_gpr_2; // nop if (branch_taken) { goto L_08B04BB0; @@ -2650,7 +2651,7 @@ L_08B04B78: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B04B80u) goto L_08B04B80; AOT_REGCACHE_SYNC_OUT(); return; L_08B04B80: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08B04BB0; @@ -2663,7 +2664,7 @@ L_08B04B88: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B04B90u) goto L_08B04B90; AOT_REGCACHE_SYNC_OUT(); return; L_08B04B90: - { const bool branch_taken = ctx.gpr[2] != aot_gpr_16; + { const bool branch_taken = aot_gpr_2 != ctx.gpr[16]; // nop if (branch_taken) { goto L_08B04BB0; @@ -2676,7 +2677,7 @@ L_08B04B98: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B04BA0u) goto L_08B04BA0; AOT_REGCACHE_SYNC_OUT(); return; L_08B04BA0: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(86)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(86)))))); aot_gpr_5 = (0u | 275u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -2686,7 +2687,7 @@ L_08B04BA0: goto L_08B04BB0; } L_08B04BB0: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(636))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(636))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_20)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); @@ -2714,11 +2715,11 @@ L_08B04BCC: } L_08B04BD4: aot_fpr_13 = aot_fpr_12 - aot_fpr_20; - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); ctx.fpr[22] = std::bit_cast(std::bit_cast(aot_fpr_12)); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B04BECu); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(636), std::bit_cast(aot_fpr_13)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(636), std::bit_cast(aot_fpr_13)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0193_entry, 193u, 425u, 0x08B0A360u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B04BECu) goto L_08B04BEC; AOT_REGCACHE_SYNC_OUT(); return; L_08B04BEC: @@ -2734,7 +2735,7 @@ L_08B04BEC: goto L_08B04C04; } L_08B04C04: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(636))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(636))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_20)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); @@ -2745,7 +2746,7 @@ L_08B04C04: goto L_08B04C18; } L_08B04C18: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(852))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -2754,21 +2755,21 @@ L_08B04C18: goto L_08B04C24; } L_08B04C24: - aot_gpr_4 = (aot_gpr_16 + static_cast(944)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(944)); aot_gpr_31 = (0x08B04C30u); aot_gpr_5 = (0u | 225u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 383u, 0x08B0D94Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B04C30u) goto L_08B04C30; AOT_REGCACHE_SYNC_OUT(); return; L_08B04C30: - { const bool branch_taken = aot_gpr_17 == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(1840), aot_gpr_17); + { const bool branch_taken = ctx.gpr[17] == 0u; + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(1840), ctx.gpr[17]); if (branch_taken) { goto L_08B04CE4; } goto L_08B04C38; } L_08B04C38: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1840))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1840))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -2778,8 +2779,8 @@ L_08B04C38: } L_08B04C44: aot_gpr_31 = (0x08B04C4Cu); - aot_gpr_5 = (aot_gpr_16 + static_cast(1840)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B04C4Cu) goto L_08B04C4C; + aot_gpr_5 = (ctx.gpr[16] + static_cast(1840)); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B04C4Cu) goto L_08B04C4C; AOT_REGCACHE_SYNC_OUT(); return; L_08B04C4C: { const bool branch_taken = 0u == 0u; @@ -2792,7 +2793,7 @@ L_08B04C4C: L_08B04C54: aot_gpr_4 = (0u | 44u); { const bool branch_taken = ctx.gpr[18] == aot_gpr_4; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(636), std::bit_cast(ctx.fpr[22])); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(636), std::bit_cast(ctx.fpr[22])); if (branch_taken) { goto L_08B04C8C; } @@ -2842,23 +2843,23 @@ L_08B04C84: L_08B04C8C: aot_gpr_31 = (0x08B04C94u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B04C94u) goto L_08B04C94; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B04C94u) goto L_08B04C94; AOT_REGCACHE_SYNC_OUT(); return; L_08B04C94: - aot_gpr_4 = (ctx.gpr[2] & 65535u); + aot_gpr_4 = (aot_gpr_2 & 65535u); aot_gpr_4 = (aot_gpr_4 & 2047u); aot_gpr_4 = (aot_gpr_4 + static_cast(1000)); - aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(666), static_cast(aot_gpr_4)); - { const bool branch_taken = aot_gpr_17 == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(668), aot_gpr_17); + aot_mem.aot_direct_store16(ctx.gpr[16] + static_cast(666), static_cast(aot_gpr_4)); + { const bool branch_taken = ctx.gpr[17] == 0u; + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(668), ctx.gpr[17]); if (branch_taken) { goto L_08B04CE4; } goto L_08B04CAC; } L_08B04CAC: - { const bool branch_taken = aot_gpr_17 == 0u; - aot_gpr_5 = (aot_gpr_16 + static_cast(668)); + { const bool branch_taken = ctx.gpr[17] == 0u; + aot_gpr_5 = (ctx.gpr[16] + static_cast(668)); if (branch_taken) { goto L_08B04CE4; } @@ -2866,8 +2867,8 @@ L_08B04CAC: } L_08B04CB4: aot_gpr_31 = (0x08B04CBCu); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B04CBCu) goto L_08B04CBC; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B04CBCu) goto L_08B04CBC; AOT_REGCACHE_SYNC_OUT(); return; L_08B04CBC: { const bool branch_taken = 0u == 0u; @@ -2878,15 +2879,15 @@ L_08B04CBC: goto L_08B04CC4; } L_08B04CC4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(92))); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_4 = (aot_gpr_4 + static_cast(328)); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - aot_gpr_4 = (aot_gpr_16 + ctx.gpr[6]); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_6); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x08B04CE4u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B04CE4u) goto L_08B04CE4; AOT_REGCACHE_SYNC_OUT(); return; @@ -2895,8 +2896,8 @@ L_08B04CE4: aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(4), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); - aot_gpr_16 = aot_run_words[2]; - aot_gpr_17 = aot_run_words[3]; + ctx.gpr[16] = aot_run_words[2]; + ctx.gpr[17] = aot_run_words[3]; ctx.gpr[18] = aot_run_words[4]; ctx.gpr[19] = aot_run_words[5]; ctx.gpr[20] = aot_run_words[6]; @@ -2912,15 +2913,15 @@ L_08B04CE4: AOT_REGCACHE_SYNC_OUT(); return; L_08B04D14: aot_gpr_29 = (aot_gpr_29 + static_cast(-1280)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1240), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1244), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1240), ctx.gpr[16]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1244), ctx.gpr[17]); { const std::uint32_t aot_run_words[3]{ctx.gpr[19], ctx.gpr[20], ctx.gpr[21]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(1252), aot_run_words); } - ctx.gpr[19] = (ctx.gpr[6] & 255u); + ctx.gpr[19] = (aot_gpr_6 & 255u); ctx.gpr[20] = (ctx.gpr[8] & 255u); ctx.gpr[21] = (0u | 16u); - aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_17 = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); + ctx.gpr[17] = (aot_gpr_5 | 0u); { const std::uint32_t aot_run_words[6]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(1216), aot_run_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1248), ctx.gpr[18]); @@ -2936,7 +2937,7 @@ L_08B04D14: L_08B04D74: aot_gpr_31 = (0x08B04D7Cu); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B04D7Cu) goto L_08B04D7C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B04D7Cu) goto L_08B04D7C; AOT_REGCACHE_SYNC_OUT(); return; L_08B04D7C: aot_gpr_4 = (16076u << 16u); @@ -2948,8 +2949,8 @@ L_08B04D7C: ctx.fpr[24] = std::bit_cast(aot_gpr_5); ctx.gpr[22] = (0u | 6u); ctx.fpr[26] = std::bit_cast(aot_gpr_4); - ctx.gpr[23] = (aot_gpr_16 + static_cast(32)); - { const bool branch_taken = ctx.gpr[2] != 0u; + ctx.gpr[23] = (ctx.gpr[16] + static_cast(32)); + { const bool branch_taken = aot_gpr_2 != 0u; ctx.gpr[30] = (ctx.gpr[18] + static_cast(48)); if (branch_taken) { goto L_08B04FA4; @@ -2998,7 +2999,7 @@ L_08B04DDC: goto L_08B04DE4; } L_08B04DE4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(900))); { const bool branch_taken = aot_gpr_4 != ctx.gpr[18]; // nop if (branch_taken) { @@ -3010,7 +3011,7 @@ L_08B04DF0: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (0u | 18u); aot_gpr_31 = (0x08B04E00u); - ctx.gpr[6] = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0178_entry, 178u, 482u, 0x08ACD698u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B04E00u) goto L_08B04E00; AOT_REGCACHE_SYNC_OUT(); return; L_08B04E00: @@ -3025,7 +3026,7 @@ L_08B04E08: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (0u | 17u); aot_gpr_31 = (0x08B04E18u); - ctx.gpr[6] = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0178_entry, 178u, 482u, 0x08ACD698u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B04E18u) goto L_08B04E18; AOT_REGCACHE_SYNC_OUT(); return; L_08B04E18: @@ -3074,7 +3075,7 @@ L_08B04E58: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B04E60u) goto L_08B04E60; AOT_REGCACHE_SYNC_OUT(); return; L_08B04E60: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(1156))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(1156))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(1152))); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -3089,7 +3090,7 @@ L_08B04E70: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 617u, 0x088634F8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B04E78u) goto L_08B04E78; AOT_REGCACHE_SYNC_OUT(); return; L_08B04E78: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08B04EBC; @@ -3111,14 +3112,14 @@ L_08B04E8C: aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(464), aot_gpr_4); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(1372), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(1372), ctx.gpr[16]); if (branch_taken) { goto L_08B04FA4; } goto L_08B04EA4; } L_08B04EA4: - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(1152))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(1152))); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08B04EB4u); aot_gpr_5 = (0u | 18u); @@ -3170,7 +3171,7 @@ L_08B04EF4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 617u, 0x088634F8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B04EFCu) goto L_08B04EFC; AOT_REGCACHE_SYNC_OUT(); return; L_08B04EFC: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08B04F1C; @@ -3178,7 +3179,7 @@ L_08B04EFC: goto L_08B04F04; } L_08B04F04: - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(1152))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(1152))); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08B04F14u); aot_gpr_5 = (0u | 18u); @@ -3230,7 +3231,7 @@ L_08B04F54: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 617u, 0x088634F8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B04F5Cu) goto L_08B04F5C; AOT_REGCACHE_SYNC_OUT(); return; L_08B04F5C: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08B04FA4; @@ -3246,19 +3247,19 @@ L_08B04F64: L_08B04F70: aot_gpr_31 = (0x08B04F78u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B04F78u) goto L_08B04F78; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B04F78u) goto L_08B04F78; AOT_REGCACHE_SYNC_OUT(); return; L_08B04F78: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1868))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1864))); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1864))); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08B04F8Cu); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B04F8Cu) goto L_08B04F8C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B04F8Cu) goto L_08B04F8C; AOT_REGCACHE_SYNC_OUT(); return; L_08B04F8C: ctx.gpr[1] = (ctx.gpr[3] << 1u); - aot_gpr_4 = (ctx.gpr[2] >> 31u); + aot_gpr_4 = (aot_gpr_2 >> 31u); aot_gpr_5 = (static_cast(static_cast(ctx.gpr[3]) >> 31u)); aot_gpr_4 = (ctx.gpr[1] | aot_gpr_4); aot_gpr_4 = (aot_gpr_4 | 0u); @@ -3284,7 +3285,7 @@ L_08B04FC0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 211u, 0x0886D4F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B04FCCu) goto L_08B04FCC; AOT_REGCACHE_SYNC_OUT(); return; L_08B04FCC: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -3293,15 +3294,15 @@ L_08B04FCC: goto L_08B04FD8; } L_08B04FD8: - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); aot_gpr_5 = (0u | 8192u); - ctx.gpr[6] = (ctx.gpr[6] | 4u); + aot_gpr_6 = (aot_gpr_6 | 4u); aot_gpr_31 = (0x08B04FECu); - aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(8), ctx.gpr[6]); + aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(8), aot_gpr_6); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 217u, 0x0886D53Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B04FECu) goto L_08B04FEC; AOT_REGCACHE_SYNC_OUT(); return; L_08B04FEC: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -3333,7 +3334,7 @@ L_08B05018: L_08B0501C: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(80))); ctx.gpr[8] = (17096u << 16u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(776))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(776))); aot_fpr_12 = std::bit_cast(ctx.gpr[8]); aot_gpr_31 = (0x08B05034u); ctx.gpr[7] = (0u | 6u); @@ -3350,14 +3351,14 @@ L_08B05034: L_08B05048: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08B05054u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 171u, 0x08910A24u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B05054u) goto L_08B05054; AOT_REGCACHE_SYNC_OUT(); return; L_08B05054: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08B05060u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B05060u) goto L_08B05060; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B05060u) goto L_08B05060; AOT_REGCACHE_SYNC_OUT(); return; L_08B05060: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast(8))); @@ -3371,11 +3372,11 @@ L_08B05060: goto L_08B05074; } L_08B05074: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(16))); aot_gpr_4 = (16457u << 16u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); aot_gpr_4 = (aot_gpr_4 | 4059u); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(20))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(aot_fpr_20)) && aot_fpr_12 == aot_fpr_20)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); @@ -3431,12 +3432,12 @@ L_08B050D0: goto L_08B050D8; } L_08B050D8: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(16))); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(aot_fpr_20)) && aot_fpr_12 == aot_fpr_20)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(20))); if (branch_taken) { goto L_08B05108; } @@ -3475,9 +3476,9 @@ L_08B05114: AOT_REGCACHE_SYNC_OUT(); return; L_08B0511C: ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(208))); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(208))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(208))); ctx.fpr[22] = ctx.fpr[22] / aot_fpr_12; - aot_gpr_4 = (aot_gpr_17 < static_cast(49) ? 1u : 0u); + aot_gpr_4 = (ctx.gpr[17] < static_cast(49) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -3486,12 +3487,12 @@ L_08B0511C: goto L_08B05134; } L_08B05134: - aot_gpr_17 = (aot_gpr_17 << 2u); + ctx.gpr[17] = (ctx.gpr[17] << 2u); ctx.gpr[1] = (2232u << 16u); - ctx.gpr[1] = (ctx.gpr[1] + aot_gpr_17); + ctx.gpr[1] = (ctx.gpr[1] + ctx.gpr[17]); ctx.gpr[1] = (aot_mem.aot_direct_load32(ctx.gpr[1] + static_cast(30832))); jump_target = ctx.gpr[1]; - aot_gpr_17 = (static_cast(static_cast(aot_gpr_17) >> 2u)); + ctx.gpr[17] = (static_cast(static_cast(ctx.gpr[17]) >> 2u)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -3507,10 +3508,10 @@ L_08B0514C: AOT_REGCACHE_SYNC_OUT(); return; L_08B05164: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1752))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(268))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(268))); { const float fs = ctx.fpr[22]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(288))); - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(292))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(288))); + ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(292))); aot_gpr_4 = (16448u << 16u); aot_gpr_5 = (16608u << 16u); ctx.fpr[30] = std::bit_cast(aot_gpr_4); @@ -3519,7 +3520,7 @@ L_08B05164: { const float fs = aot_fpr_12; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[28] = std::bit_cast(0x7FC00000u); else ctx.fpr[28] = fs * ft; } aot_gpr_31 = (0x08B05198u); { const float fs = aot_fpr_12; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[26] = std::bit_cast(0x7FC00000u); else ctx.fpr[26] = fs * ft; } - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B05198u) goto L_08B05198; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B05198u) goto L_08B05198; AOT_REGCACHE_SYNC_OUT(); return; L_08B05198: ctx.fpr[16] = ctx.fpr[22] - ctx.fpr[30]; @@ -3532,7 +3533,7 @@ L_08B05198: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 600u, 0x08A66CD8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B051B4u) goto L_08B051B4; AOT_REGCACHE_SYNC_OUT(); return; L_08B051B4: - aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(2116), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(2116), ctx.gpr[16]); ctx.fpr[28] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1200))); aot_gpr_4 = (static_cast(ctx.gpr[19]) < 2 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; @@ -3611,7 +3612,7 @@ L_08B0520C: ctx.gpr[21] = (0u | 26u); goto L_08B05210; L_08B05210: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(852))); { const bool branch_taken = aot_gpr_4 == ctx.gpr[22]; // nop if (branch_taken) { @@ -3620,7 +3621,7 @@ L_08B05210: goto L_08B0521C; } L_08B0521C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(852))); aot_gpr_5 = (0u | 8u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -3630,7 +3631,7 @@ L_08B0521C: goto L_08B0522C; } L_08B0522C: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1493))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(1493))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -3644,7 +3645,7 @@ L_08B05238: aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(468), aot_gpr_4); goto L_08B05244; L_08B05244: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(852))); aot_gpr_5 = (0u | 9u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -3738,10 +3739,10 @@ L_08B052A8: aot_gpr_5 = (aot_gpr_5 | 1024u); aot_gpr_31 = (0x08B052BCu); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(468), aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B052BCu) goto L_08B052BC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B052BCu) goto L_08B052BC; AOT_REGCACHE_SYNC_OUT(); return; L_08B052BC: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08B052D0; @@ -3773,17 +3774,17 @@ L_08B052D8: AOT_REGCACHE_SYNC_OUT(); return; L_08B052F0: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1752))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(268))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(268))); { const float fs = ctx.fpr[22]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(288))); - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(292))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(288))); + ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(292))); ctx.fpr[30] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1844))); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1848))); { const float fs = aot_fpr_12; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[28] = std::bit_cast(0x7FC00000u); else ctx.fpr[28] = fs * ft; } aot_gpr_31 = (0x08B0531Cu); { const float fs = aot_fpr_12; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[26] = std::bit_cast(0x7FC00000u); else ctx.fpr[26] = fs * ft; } - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0531Cu) goto L_08B0531C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0531Cu) goto L_08B0531C; AOT_REGCACHE_SYNC_OUT(); return; L_08B0531C: ctx.fpr[16] = ctx.fpr[22] - ctx.fpr[30]; @@ -3796,7 +3797,7 @@ L_08B0531C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 600u, 0x08A66CD8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B05338u) goto L_08B05338; AOT_REGCACHE_SYNC_OUT(); return; L_08B05338: - aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(2116), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(2116), ctx.gpr[16]); ctx.fpr[28] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1204))); aot_gpr_4 = (static_cast(ctx.gpr[19]) < 2 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; @@ -3816,28 +3817,28 @@ L_08B0534C: } L_08B05354: ctx.gpr[21] = (0u | 173u); - aot_gpr_5 = (aot_gpr_16 + static_cast(320)); + aot_gpr_5 = (ctx.gpr[16] + static_cast(320)); aot_gpr_31 = (0x08B05364u); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 538u, 0x08A666C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B05364u) goto L_08B05364; AOT_REGCACHE_SYNC_OUT(); return; L_08B05364: { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(2116), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(2116), ctx.gpr[16]); if (branch_taken) { goto L_08B058A4; } goto L_08B0536C; } L_08B0536C: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1208), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1208), ctx.gpr[17]); ctx.gpr[21] = (0u | 139u); aot_gpr_4 = (15948u << 16u); aot_gpr_4 = (aot_gpr_4 | 52429u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); - aot_gpr_4 = (aot_gpr_16 + static_cast(320)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(320)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -3859,8 +3860,8 @@ L_08B0536C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 538u, 0x08A666C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B053A8u) goto L_08B053A8; AOT_REGCACHE_SYNC_OUT(); return; L_08B053A8: - aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(2116), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1212), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(2116), ctx.gpr[16]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1212), ctx.gpr[16]); aot_gpr_4 = (17279u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); { const float fs = ctx.fpr[24]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } @@ -3888,28 +3889,28 @@ L_08B053A8: ctx.gpr[22] = (std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08B0541Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0541Cu) goto L_08B0541C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0541Cu) goto L_08B0541C; AOT_REGCACHE_SYNC_OUT(); return; L_08B0541C: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 0u); - aot_gpr_17 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1876))); - aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1872))); - ctx.gpr[7] = (aot_gpr_17 | 0u); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1876))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1872))); + ctx.gpr[7] = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B05438u); - ctx.gpr[6] = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B05438u) goto L_08B05438; + aot_gpr_6 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B05438u) goto L_08B05438; AOT_REGCACHE_SYNC_OUT(); return; L_08B05438: ctx.gpr[1] = (ctx.gpr[3] << 1u); aot_gpr_5 = (static_cast(static_cast(ctx.gpr[3]) >> 31u)); - aot_gpr_4 = (ctx.gpr[2] >> 31u); + aot_gpr_4 = (aot_gpr_2 >> 31u); aot_gpr_4 = (ctx.gpr[1] | aot_gpr_4); - ctx.gpr[6] = (aot_gpr_4 + aot_gpr_16); - ctx.gpr[7] = (ctx.gpr[6] < aot_gpr_16 ? 1u : 0u); + aot_gpr_6 = (aot_gpr_4 + ctx.gpr[16]); + ctx.gpr[7] = (aot_gpr_6 < ctx.gpr[16] ? 1u : 0u); aot_gpr_4 = (ctx.gpr[7] + aot_gpr_5); - aot_gpr_5 = (aot_gpr_4 + aot_gpr_17); - aot_gpr_4 = (ctx.gpr[6] | 0u); + aot_gpr_5 = (aot_gpr_4 + ctx.gpr[17]); + aot_gpr_4 = (aot_gpr_6 | 0u); aot_gpr_4 = (aot_gpr_4 | 0u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(128), static_cast(ctx.gpr[19])); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(129), static_cast(ctx.gpr[20])); @@ -3917,7 +3918,7 @@ L_08B05438: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(131), static_cast(aot_gpr_4)); aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(96))); - ctx.gpr[6] = (0u | 164u); + aot_gpr_6 = (0u | 164u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_31 = (0x08B05488u); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[26])); @@ -3996,9 +3997,9 @@ L_08B05488: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0189_entry, 189u, 115u, 0x08AF8668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B054ECu) goto L_08B054EC; AOT_REGCACHE_SYNC_OUT(); return; L_08B054EC: - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1208))); - { const bool branch_taken = ctx.gpr[2] == 0u; - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1212))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1208))); + { const bool branch_taken = aot_gpr_2 == 0u; + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1212))); if (branch_taken) { goto L_08B05500; } @@ -4016,7 +4017,7 @@ L_08B05500: aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(184), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); - ctx.gpr[6] = (aot_gpr_29 + static_cast(176)); + aot_gpr_6 = (aot_gpr_29 + static_cast(176)); ctx.gpr[8] = (aot_gpr_29 + static_cast(128)); aot_gpr_4 = (0u | 8u); aot_gpr_5 = (ctx.gpr[19] | 0u); @@ -4093,7 +4094,7 @@ L_08B05570: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 537u, 0x08A6669Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B05590u) goto L_08B05590; AOT_REGCACHE_SYNC_OUT(); return; L_08B05590: - aot_gpr_4 = (aot_gpr_16 + static_cast(320)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(320)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -4123,7 +4124,7 @@ L_08B055C0: aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); - aot_gpr_4 = (aot_gpr_16 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(16)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -4194,14 +4195,14 @@ L_08B055C0: AOT_REGCACHE_SYNC_OUT(); return; L_08B0562C: { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(2116), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(2116), ctx.gpr[16]); if (branch_taken) { goto L_08B058A4; } goto L_08B05634; } L_08B05634: - aot_gpr_4 = (aot_gpr_16 + static_cast(320)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(320)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -4259,7 +4260,7 @@ L_08B05698: aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08B056B0u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 584u, 0x08AFE9B0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B056B0u) goto L_08B056B0; AOT_REGCACHE_SYNC_OUT(); return; L_08B056B0: @@ -4275,7 +4276,7 @@ L_08B056C8: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08B056D8u); - ctx.gpr[6] = (ctx.gpr[22] | 0u); + aot_gpr_6 = (ctx.gpr[22] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 582u, 0x08AFE980u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B056D8u) goto L_08B056D8; AOT_REGCACHE_SYNC_OUT(); return; L_08B056D8: @@ -4306,18 +4307,18 @@ L_08B056F4: AOT_REGCACHE_SYNC_OUT(); return; L_08B05704: ctx.gpr[19] = (aot_gpr_29 + static_cast(304)); - ctx.gpr[6] = (16640u << 16u); + aot_gpr_6 = (16640u << 16u); aot_gpr_4 = (ctx.gpr[19] | 0u); - aot_fpr_12 = std::bit_cast(ctx.gpr[6]); + aot_fpr_12 = std::bit_cast(aot_gpr_6); aot_gpr_31 = (0x08B0571Cu); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 584u, 0x08AFE9B0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0571Cu) goto L_08B0571C; AOT_REGCACHE_SYNC_OUT(); return; L_08B0571C: ctx.gpr[20] = (aot_gpr_29 + static_cast(320)); - ctx.gpr[6] = (16512u << 16u); + aot_gpr_6 = (16512u << 16u); aot_gpr_4 = (ctx.gpr[20] | 0u); - aot_fpr_12 = std::bit_cast(ctx.gpr[6]); + aot_fpr_12 = std::bit_cast(aot_gpr_6); aot_gpr_31 = (0x08B05734u); aot_gpr_5 = (ctx.gpr[23] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 584u, 0x08AFE9B0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B05734u) goto L_08B05734; @@ -4326,7 +4327,7 @@ L_08B05734: aot_gpr_4 = (aot_gpr_29 + static_cast(288)); aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08B05744u); - ctx.gpr[6] = (ctx.gpr[20] | 0u); + aot_gpr_6 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 582u, 0x08AFE980u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B05744u) goto L_08B05744; AOT_REGCACHE_SYNC_OUT(); return; L_08B05744: @@ -4349,7 +4350,7 @@ L_08B05758: goto L_08B05760; } L_08B05760: - aot_gpr_4 = (aot_gpr_16 + static_cast(320)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(320)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -4406,7 +4407,7 @@ L_08B057C4: aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -4492,7 +4493,7 @@ L_08B0583C: aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -4562,7 +4563,7 @@ L_08B0583C: AOT_REGCACHE_SYNC_OUT(); return; L_08B058A4: aot_gpr_4 = (0u | 46u); - { const bool branch_taken = aot_gpr_17 != aot_gpr_4; + { const bool branch_taken = ctx.gpr[17] != aot_gpr_4; // nop if (branch_taken) { goto L_08B05928; @@ -4604,7 +4605,7 @@ L_08B05908: ctx.gpr[8] = (16512u << 16u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(80))); aot_fpr_12 = std::bit_cast(ctx.gpr[8]); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x08B05920u); ctx.gpr[7] = (0u | 139u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 650u, 0x0893EA14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B05920u) goto L_08B05920; @@ -4618,7 +4619,7 @@ L_08B05920: goto L_08B05928; } L_08B05928: - { const bool branch_taken = aot_gpr_17 == 0u; + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_08B0598C; @@ -4639,7 +4640,7 @@ L_08B05930: L_08B05944: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (0u | 1000u); - ctx.gpr[6] = (ctx.gpr[21] | 0u); + aot_gpr_6 = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x08B05958u); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0070_entry, 70u, 14u, 0x0891C0E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B05958u) goto L_08B05958; @@ -4659,7 +4660,7 @@ L_08B05960: aot_fpr_12 = std::bit_cast(ctx.gpr[7]); aot_gpr_5 = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x08B0597Cu); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0070_entry, 70u, 653u, 0x0891F338u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0597Cu) goto L_08B0597C; AOT_REGCACHE_SYNC_OUT(); return; L_08B0597C: @@ -4715,7 +4716,7 @@ L_08B0598C: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[28])); aot_gpr_5 = (0u | 0u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); @@ -4727,8 +4728,8 @@ L_08B0598C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0037_entry, 37u, 487u, 0x0889ACD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B059F4u) goto L_08B059F4; AOT_REGCACHE_SYNC_OUT(); return; L_08B059F4: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), ctx.gpr[2]); - { const bool branch_taken = ctx.gpr[2] != 0u; + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), aot_gpr_2); + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08B05A78; @@ -4785,7 +4786,7 @@ L_08B05A00: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[28])); aot_gpr_5 = (0u | 0u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); @@ -4797,7 +4798,7 @@ L_08B05A00: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0037_entry, 37u, 487u, 0x0889ACD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B05A74u) goto L_08B05A74; AOT_REGCACHE_SYNC_OUT(); return; L_08B05A74: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), aot_gpr_2); goto L_08B05A78; L_08B05A78: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); @@ -4898,7 +4899,7 @@ L_08B05A84: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[28])); aot_gpr_5 = (0u | 0u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); @@ -4910,7 +4911,7 @@ L_08B05A84: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0037_entry, 37u, 487u, 0x0889ACD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B05B20u) goto L_08B05B20; AOT_REGCACHE_SYNC_OUT(); return; L_08B05B20: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), aot_gpr_2); goto L_08B05B24; L_08B05B24: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); @@ -5014,7 +5015,7 @@ L_08B05B30: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[28])); aot_gpr_5 = (0u | 0u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); @@ -5026,7 +5027,7 @@ L_08B05B30: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0037_entry, 37u, 487u, 0x0889ACD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B05BD8u) goto L_08B05BD8; AOT_REGCACHE_SYNC_OUT(); return; L_08B05BD8: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), aot_gpr_2); goto L_08B05BDC; L_08B05BDC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); @@ -5058,7 +5059,7 @@ L_08B05BE8: aot_fpr_12 = aot_fpr_12 - aot_fpr_20; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), 0u); aot_gpr_5 = (aot_gpr_29 + static_cast(640)); - ctx.gpr[6] = (aot_gpr_29 + static_cast(64)); + aot_gpr_6 = (aot_gpr_29 + static_cast(64)); ctx.gpr[7] = (0u | 1u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); @@ -5071,8 +5072,8 @@ L_08B05BE8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 287u, 0x08891DD4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B05C34u) goto L_08B05C34; AOT_REGCACHE_SYNC_OUT(); return; L_08B05C34: - { const bool branch_taken = ctx.gpr[2] == 0u; - aot_gpr_4 = (aot_gpr_16 + static_cast(48)); + { const bool branch_taken = aot_gpr_2 == 0u; + aot_gpr_4 = (ctx.gpr[16] + static_cast(48)); if (branch_taken) { goto L_08B05C84; } @@ -5103,7 +5104,7 @@ L_08B05C50: L_08B05C58: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08B05C64u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 171u, 0x08910A24u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B05C64u) goto L_08B05C64; AOT_REGCACHE_SYNC_OUT(); return; L_08B05C64: @@ -5126,7 +5127,7 @@ L_08B05C78: goto L_08B05C80; } L_08B05C80: - aot_gpr_4 = (aot_gpr_16 + static_cast(48)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(48)); goto L_08B05C84; L_08B05C84: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); @@ -5188,7 +5189,7 @@ L_08B05CC8: aot_gpr_5 = (aot_gpr_5 | 39322u); aot_fpr_12 = std::bit_cast(aot_gpr_5); aot_gpr_5 = (0u | 0u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); @@ -5200,7 +5201,7 @@ L_08B05CC8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0037_entry, 37u, 487u, 0x0889ACD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B05D2Cu) goto L_08B05D2C; AOT_REGCACHE_SYNC_OUT(); return; L_08B05D2C: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08B05D70; @@ -5251,7 +5252,7 @@ L_08B05D70: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 171u, 0x08910A24u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B05D7Cu) goto L_08B05D7C; AOT_REGCACHE_SYNC_OUT(); return; L_08B05D7C: - ctx.gpr[2] = (ctx.gpr[18] | 0u); + aot_gpr_2 = (ctx.gpr[18] | 0u); { std::uint32_t aot_run_words[16]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(1216), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); @@ -5260,8 +5261,8 @@ L_08B05D7C: ctx.fpr[26] = std::bit_cast(aot_run_words[3]); ctx.fpr[28] = std::bit_cast(aot_run_words[4]); ctx.fpr[30] = std::bit_cast(aot_run_words[5]); - aot_gpr_16 = aot_run_words[6]; - aot_gpr_17 = aot_run_words[7]; + ctx.gpr[16] = aot_run_words[6]; + ctx.gpr[17] = aot_run_words[7]; ctx.gpr[18] = aot_run_words[8]; ctx.gpr[19] = aot_run_words[9]; ctx.gpr[20] = aot_run_words[10]; @@ -5279,17 +5280,17 @@ L_08B05D7C: AOT_REGCACHE_SYNC_OUT(); return; L_08B05DC8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08B05DE4u); - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 559u, 0x08B021B0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B05DE4u) goto L_08B05DE4; AOT_REGCACHE_SYNC_OUT(); return; L_08B05DE4: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(565))); - aot_gpr_4 = (static_cast(ctx.gpr[2]) < static_cast(aot_gpr_4) ? 1u : 0u); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(565))); + aot_gpr_4 = (static_cast(aot_gpr_2) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -5298,13 +5299,13 @@ L_08B05DE4: goto L_08B05DF4; } L_08B05DF4: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B05E00u); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B05E00u) goto L_08B05E00; AOT_REGCACHE_SYNC_OUT(); return; L_08B05E00: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08B05F44; @@ -5312,7 +5313,7 @@ L_08B05E00: goto L_08B05E08; } L_08B05E08: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(563))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(563))); aot_gpr_4 = (aot_gpr_4 & 2u); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -5322,7 +5323,7 @@ L_08B05E08: goto L_08B05E18; } L_08B05E18: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(564))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(564))); aot_gpr_4 = (aot_gpr_4 & 2u); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -5332,20 +5333,20 @@ L_08B05E18: goto L_08B05E28; } L_08B05E28: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(92))); aot_gpr_5 = (0u | 11u); aot_gpr_4 = (aot_gpr_4 + static_cast(352)); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - aot_gpr_4 = (aot_gpr_16 + ctx.gpr[6]); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_6); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x08B05E48u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B05E48u) goto L_08B05E48; AOT_REGCACHE_SYNC_OUT(); return; L_08B05E48: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08B05F44; @@ -5353,13 +5354,13 @@ L_08B05E48: goto L_08B05E50; } L_08B05E50: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B05E5Cu); aot_gpr_5 = (0u | 2u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B05E5Cu) goto L_08B05E5C; AOT_REGCACHE_SYNC_OUT(); return; L_08B05E5C: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08B05EBC; @@ -5367,7 +5368,7 @@ L_08B05E5C: goto L_08B05E64; } L_08B05E64: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(563))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(563))); aot_gpr_4 = (aot_gpr_4 & 8u); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -5377,50 +5378,50 @@ L_08B05E64: goto L_08B05E74; } L_08B05E74: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B05E80u); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B05E80u) goto L_08B05E80; AOT_REGCACHE_SYNC_OUT(); return; L_08B05E80: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 2u); aot_gpr_31 = (0x08B05E90u); - ctx.gpr[6] = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 664u, 0x08AFEF90u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B05E90u) goto L_08B05E90; AOT_REGCACHE_SYNC_OUT(); return; L_08B05E90: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 1u); aot_gpr_31 = (0x08B05EA0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 664u, 0x08AFEF90u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B05EA0u) goto L_08B05EA0; AOT_REGCACHE_SYNC_OUT(); return; L_08B05EA0: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B05EACu); aot_gpr_5 = (0u | 2u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B05EACu) goto L_08B05EAC; AOT_REGCACHE_SYNC_OUT(); return; L_08B05EAC: aot_gpr_4 = (0u | 9u); - aot_mem.aot_direct_store16(ctx.gpr[2] + static_cast(2274), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store16(aot_gpr_2 + static_cast(2274), static_cast(aot_gpr_4)); { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (0u | 1u); + ctx.gpr[17] = (0u | 1u); if (branch_taken) { goto L_08B061E0; } goto L_08B05EBC; } L_08B05EBC: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B05EC8u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B05EC8u) goto L_08B05EC8; AOT_REGCACHE_SYNC_OUT(); return; L_08B05EC8: - { const bool branch_taken = ctx.gpr[2] != 0u; - aot_gpr_4 = (aot_gpr_16 | 0u); + { const bool branch_taken = aot_gpr_2 != 0u; + aot_gpr_4 = (ctx.gpr[16] | 0u); if (branch_taken) { goto L_08B061E0; } @@ -5432,7 +5433,7 @@ L_08B05ED0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B05ED8u) goto L_08B05ED8; AOT_REGCACHE_SYNC_OUT(); return; L_08B05ED8: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(468))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(468))); aot_gpr_5 = (1u << 16u); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); { const bool branch_taken = aot_gpr_4 != 0u; @@ -5443,7 +5444,7 @@ L_08B05ED8: goto L_08B05EEC; } L_08B05EEC: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(563))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(563))); aot_gpr_4 = (aot_gpr_4 & 4u); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -5453,49 +5454,49 @@ L_08B05EEC: goto L_08B05EFC; } L_08B05EFC: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B05F08u); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B05F08u) goto L_08B05F08; AOT_REGCACHE_SYNC_OUT(); return; L_08B05F08: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08B05F18u); - ctx.gpr[6] = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 664u, 0x08AFEF90u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B05F18u) goto L_08B05F18; AOT_REGCACHE_SYNC_OUT(); return; L_08B05F18: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 1u); aot_gpr_31 = (0x08B05F28u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 664u, 0x08AFEF90u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B05F28u) goto L_08B05F28; AOT_REGCACHE_SYNC_OUT(); return; L_08B05F28: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B05F34u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B05F34u) goto L_08B05F34; AOT_REGCACHE_SYNC_OUT(); return; L_08B05F34: aot_gpr_4 = (0u | 8u); - aot_mem.aot_direct_store16(ctx.gpr[2] + static_cast(2274), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store16(aot_gpr_2 + static_cast(2274), static_cast(aot_gpr_4)); { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (0u | 1u); + ctx.gpr[17] = (0u | 1u); if (branch_taken) { goto L_08B061E0; } goto L_08B05F44; } L_08B05F44: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B05F50u); aot_gpr_5 = (0u | 2u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B05F50u) goto L_08B05F50; AOT_REGCACHE_SYNC_OUT(); return; L_08B05F50: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08B06094; @@ -5503,7 +5504,7 @@ L_08B05F50: goto L_08B05F58; } L_08B05F58: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(563))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(563))); aot_gpr_4 = (aot_gpr_4 & 8u); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -5513,7 +5514,7 @@ L_08B05F58: goto L_08B05F68; } L_08B05F68: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(564))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(564))); aot_gpr_4 = (aot_gpr_4 & 8u); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -5523,20 +5524,20 @@ L_08B05F68: goto L_08B05F78; } L_08B05F78: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(92))); aot_gpr_5 = (0u | 9u); aot_gpr_4 = (aot_gpr_4 + static_cast(352)); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - aot_gpr_4 = (aot_gpr_16 + ctx.gpr[6]); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_6); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x08B05F98u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B05F98u) goto L_08B05F98; AOT_REGCACHE_SYNC_OUT(); return; L_08B05F98: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08B06094; @@ -5544,13 +5545,13 @@ L_08B05F98: goto L_08B05FA0; } L_08B05FA0: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B05FACu); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B05FACu) goto L_08B05FAC; AOT_REGCACHE_SYNC_OUT(); return; L_08B05FAC: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08B0600C; @@ -5558,7 +5559,7 @@ L_08B05FAC: goto L_08B05FB4; } L_08B05FB4: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(563))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(563))); aot_gpr_4 = (aot_gpr_4 & 2u); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -5568,50 +5569,50 @@ L_08B05FB4: goto L_08B05FC4; } L_08B05FC4: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B05FD0u); aot_gpr_5 = (0u | 2u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B05FD0u) goto L_08B05FD0; AOT_REGCACHE_SYNC_OUT(); return; L_08B05FD0: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 1u); aot_gpr_31 = (0x08B05FE0u); - ctx.gpr[6] = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 664u, 0x08AFEF90u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B05FE0u) goto L_08B05FE0; AOT_REGCACHE_SYNC_OUT(); return; L_08B05FE0: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 2u); aot_gpr_31 = (0x08B05FF0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 664u, 0x08AFEF90u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B05FF0u) goto L_08B05FF0; AOT_REGCACHE_SYNC_OUT(); return; L_08B05FF0: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B05FFCu); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B05FFCu) goto L_08B05FFC; AOT_REGCACHE_SYNC_OUT(); return; L_08B05FFC: aot_gpr_4 = (0u | 11u); - aot_mem.aot_direct_store16(ctx.gpr[2] + static_cast(2274), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store16(aot_gpr_2 + static_cast(2274), static_cast(aot_gpr_4)); { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (0u | 1u); + ctx.gpr[17] = (0u | 1u); if (branch_taken) { goto L_08B061E0; } goto L_08B0600C; } L_08B0600C: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B06018u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B06018u) goto L_08B06018; AOT_REGCACHE_SYNC_OUT(); return; L_08B06018: - { const bool branch_taken = ctx.gpr[2] != 0u; - aot_gpr_4 = (aot_gpr_16 | 0u); + { const bool branch_taken = aot_gpr_2 != 0u; + aot_gpr_4 = (ctx.gpr[16] | 0u); if (branch_taken) { goto L_08B061E0; } @@ -5623,7 +5624,7 @@ L_08B06020: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B06028u) goto L_08B06028; AOT_REGCACHE_SYNC_OUT(); return; L_08B06028: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(468))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(468))); aot_gpr_5 = (1u << 16u); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); { const bool branch_taken = aot_gpr_4 != 0u; @@ -5634,7 +5635,7 @@ L_08B06028: goto L_08B0603C; } L_08B0603C: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(563))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(563))); aot_gpr_4 = (aot_gpr_4 & 4u); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -5644,50 +5645,50 @@ L_08B0603C: goto L_08B0604C; } L_08B0604C: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B06058u); aot_gpr_5 = (0u | 2u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B06058u) goto L_08B06058; AOT_REGCACHE_SYNC_OUT(); return; L_08B06058: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08B06068u); - ctx.gpr[6] = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 664u, 0x08AFEF90u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B06068u) goto L_08B06068; AOT_REGCACHE_SYNC_OUT(); return; L_08B06068: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 2u); aot_gpr_31 = (0x08B06078u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 664u, 0x08AFEF90u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B06078u) goto L_08B06078; AOT_REGCACHE_SYNC_OUT(); return; L_08B06078: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B06084u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B06084u) goto L_08B06084; AOT_REGCACHE_SYNC_OUT(); return; L_08B06084: aot_gpr_4 = (0u | 8u); - aot_mem.aot_direct_store16(ctx.gpr[2] + static_cast(2274), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store16(aot_gpr_2 + static_cast(2274), static_cast(aot_gpr_4)); { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (0u | 1u); + ctx.gpr[17] = (0u | 1u); if (branch_taken) { goto L_08B061E0; } goto L_08B06094; } L_08B06094: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B060A0u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B060A0u) goto L_08B060A0; AOT_REGCACHE_SYNC_OUT(); return; L_08B060A0: - { const bool branch_taken = ctx.gpr[2] == 0u; - aot_gpr_4 = (aot_gpr_16 | 0u); + { const bool branch_taken = aot_gpr_2 == 0u; + aot_gpr_4 = (ctx.gpr[16] | 0u); if (branch_taken) { goto L_08B061E0; } @@ -5699,7 +5700,7 @@ L_08B060A8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B060B0u) goto L_08B060B0; AOT_REGCACHE_SYNC_OUT(); return; L_08B060B0: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(468))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(468))); aot_gpr_5 = (2u << 16u); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); { const bool branch_taken = aot_gpr_4 != 0u; @@ -5710,7 +5711,7 @@ L_08B060B0: goto L_08B060C4; } L_08B060C4: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(563))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(563))); aot_gpr_4 = (aot_gpr_4 & 4u); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -5720,7 +5721,7 @@ L_08B060C4: goto L_08B060D4; } L_08B060D4: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(564))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(564))); aot_gpr_4 = (aot_gpr_4 & 4u); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -5730,20 +5731,20 @@ L_08B060D4: goto L_08B060E4; } L_08B060E4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(92))); aot_gpr_5 = (0u | 8u); aot_gpr_4 = (aot_gpr_4 + static_cast(352)); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - aot_gpr_4 = (aot_gpr_16 + ctx.gpr[6]); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_6); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x08B06104u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B06104u) goto L_08B06104; AOT_REGCACHE_SYNC_OUT(); return; L_08B06104: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08B061E0; @@ -5751,13 +5752,13 @@ L_08B06104: goto L_08B0610C; } L_08B0610C: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B06118u); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B06118u) goto L_08B06118; AOT_REGCACHE_SYNC_OUT(); return; L_08B06118: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08B06178; @@ -5765,7 +5766,7 @@ L_08B06118: goto L_08B06120; } L_08B06120: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(563))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(563))); aot_gpr_4 = (aot_gpr_4 & 2u); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -5775,49 +5776,49 @@ L_08B06120: goto L_08B06130; } L_08B06130: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B0613Cu); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0613Cu) goto L_08B0613C; AOT_REGCACHE_SYNC_OUT(); return; L_08B0613C: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 1u); aot_gpr_31 = (0x08B0614Cu); - ctx.gpr[6] = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 664u, 0x08AFEF90u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0614Cu) goto L_08B0614C; AOT_REGCACHE_SYNC_OUT(); return; L_08B0614C: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08B0615Cu); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 664u, 0x08AFEF90u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0615Cu) goto L_08B0615C; AOT_REGCACHE_SYNC_OUT(); return; L_08B0615C: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B06168u); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B06168u) goto L_08B06168; AOT_REGCACHE_SYNC_OUT(); return; L_08B06168: aot_gpr_4 = (0u | 11u); - aot_mem.aot_direct_store16(ctx.gpr[2] + static_cast(2274), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store16(aot_gpr_2 + static_cast(2274), static_cast(aot_gpr_4)); { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (0u | 1u); + ctx.gpr[17] = (0u | 1u); if (branch_taken) { goto L_08B061E0; } goto L_08B06178; } L_08B06178: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B06184u); aot_gpr_5 = (0u | 2u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B06184u) goto L_08B06184; AOT_REGCACHE_SYNC_OUT(); return; L_08B06184: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08B061E0; @@ -5825,7 +5826,7 @@ L_08B06184: goto L_08B0618C; } L_08B0618C: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(563))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(563))); aot_gpr_4 = (aot_gpr_4 & 8u); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -5835,42 +5836,42 @@ L_08B0618C: goto L_08B0619C; } L_08B0619C: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B061A8u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B061A8u) goto L_08B061A8; AOT_REGCACHE_SYNC_OUT(); return; L_08B061A8: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 2u); aot_gpr_31 = (0x08B061B8u); - ctx.gpr[6] = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 664u, 0x08AFEF90u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B061B8u) goto L_08B061B8; AOT_REGCACHE_SYNC_OUT(); return; L_08B061B8: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08B061C8u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 664u, 0x08AFEF90u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B061C8u) goto L_08B061C8; AOT_REGCACHE_SYNC_OUT(); return; L_08B061C8: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B061D4u); aot_gpr_5 = (0u | 2u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B061D4u) goto L_08B061D4; AOT_REGCACHE_SYNC_OUT(); return; L_08B061D4: aot_gpr_4 = (0u | 9u); - aot_mem.aot_direct_store16(ctx.gpr[2] + static_cast(2274), static_cast(aot_gpr_4)); - aot_gpr_17 = (0u | 1u); + aot_mem.aot_direct_store16(aot_gpr_2 + static_cast(2274), static_cast(aot_gpr_4)); + ctx.gpr[17] = (0u | 1u); goto L_08B061E0; L_08B061E0: - ctx.gpr[2] = (aot_gpr_17 | 0u); + aot_gpr_2 = (ctx.gpr[17] | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -5881,25 +5882,25 @@ L_08B061E0: AOT_REGCACHE_SYNC_OUT(); return; L_08B061F8: aot_gpr_29 = (aot_gpr_29 + static_cast(-1728)); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(356))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(356))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1664), std::bit_cast(ctx.fpr[22])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1676), std::bit_cast(ctx.fpr[28])); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1688), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1688), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1716), ctx.gpr[30]); ctx.fpr[22] = std::bit_cast(std::bit_cast(ctx.fpr[15])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1620), std::bit_cast(aot_fpr_14)); ctx.fpr[28] = std::bit_cast(std::bit_cast(aot_fpr_12)); - aot_gpr_17 = (aot_gpr_4 | 0u); + ctx.gpr[17] = (aot_gpr_4 | 0u); ctx.gpr[30] = (aot_gpr_5 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1660), std::bit_cast(aot_fpr_20)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1668), std::bit_cast(ctx.fpr[24])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1672), std::bit_cast(ctx.fpr[26])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1680), std::bit_cast(ctx.fpr[30])); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1684), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1684), ctx.gpr[16]); { const std::uint32_t aot_run_words[6]{ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(1692), aot_run_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1720), aot_gpr_31); - { const bool branch_taken = ctx.gpr[6] == 0u; + { const bool branch_taken = aot_gpr_6 == 0u; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1616), std::bit_cast(aot_fpr_13)); if (branch_taken) { goto L_08B062B0; @@ -5919,14 +5920,14 @@ L_08B0625C: goto L_08B06274; } L_08B06274: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(72))); - aot_gpr_5 = (aot_gpr_17 + static_cast(112)); - ctx.gpr[6] = (16256u << 16u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(72))); + aot_gpr_5 = (ctx.gpr[17] + static_cast(112)); + aot_gpr_6 = (16256u << 16u); ctx.gpr[22] = (0u | 0u); - ctx.fpr[30] = std::bit_cast(ctx.gpr[6]); + ctx.fpr[30] = std::bit_cast(aot_gpr_6); aot_gpr_4 = (aot_gpr_4 & 496u); ctx.gpr[23] = (aot_gpr_29 + static_cast(32)); - aot_gpr_16 = (aot_gpr_17 + static_cast(320)); + ctx.gpr[16] = (ctx.gpr[17] + static_cast(320)); ctx.gpr[21] = (aot_gpr_29 + static_cast(48)); { const bool branch_taken = aot_gpr_4 == 0u; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1636), aot_gpr_5); @@ -5960,7 +5961,7 @@ L_08B062B0: goto L_08B062B8; } L_08B062B8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -5970,11 +5971,11 @@ L_08B062B8: } L_08B062C4: aot_gpr_31 = (0x08B062CCu); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(900))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B062CCu) goto L_08B062CC; + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B062CCu) goto L_08B062CC; AOT_REGCACHE_SYNC_OUT(); return; L_08B062CC: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08B062E0; @@ -5987,20 +5988,20 @@ L_08B062D4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B062DCu) goto L_08B062DC; AOT_REGCACHE_SYNC_OUT(); return; L_08B062DC: - ctx.gpr[22] = (ctx.gpr[2] | 0u); + ctx.gpr[22] = (aot_gpr_2 | 0u); goto L_08B062E0; L_08B062E0: { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[24])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(32), aot_run_words); } - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(612))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(612))); aot_gpr_5 = (0u | 2u); if (aot_gpr_4 == aot_gpr_5) { - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1628), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1628), ctx.gpr[16]); goto L_08B0632C; } goto L_08B062FC; L_08B062FC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(356))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(356))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(88))); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); @@ -6025,16 +6026,16 @@ L_08B062FC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 464u, 0x08A931D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B06328u) goto L_08B06328; AOT_REGCACHE_SYNC_OUT(); return; L_08B06328: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1628), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1628), ctx.gpr[16]); goto L_08B0632C; L_08B0632C: aot_gpr_4 = (ctx.gpr[23] | 0u); aot_gpr_31 = (0x08B06338u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B06338u) goto L_08B06338; AOT_REGCACHE_SYNC_OUT(); return; L_08B06338: - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -6043,7 +6044,7 @@ L_08B06338: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<4u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(16); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(16); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -6052,7 +6053,7 @@ L_08B06338: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<5u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(32); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(32); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -6061,7 +6062,7 @@ L_08B06338: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<6u, 4u>(vfpu_value); } - aot_gpr_4 = (aot_gpr_17 + static_cast(192)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(192)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -6118,7 +6119,7 @@ L_08B06378: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -6132,7 +6133,7 @@ L_08B06378: aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_13) ^ 0x80000000u); ctx.fpr[22] = aot_fpr_13 / aot_fpr_12; - aot_gpr_4 = (aot_gpr_17 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(16)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -6182,7 +6183,7 @@ L_08B06378: aot_fpr_12 = std::bit_cast(aot_gpr_4); { const float fs = aot_fpr_12; const float ft = aot_fpr_20; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } { const float fs = aot_fpr_12; const float ft = aot_fpr_20; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_20 = std::bit_cast(0x7FC00000u); else aot_fpr_20 = fs * ft; } - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -6191,101 +6192,101 @@ L_08B06378: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_16 = (aot_gpr_29 + static_cast(208)); + ctx.gpr[16] = (aot_gpr_29 + static_cast(208)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_31 = (0x08B063F8u); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(600))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B063F8u) goto L_08B063F8; + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(600))); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B063F8u) goto L_08B063F8; AOT_REGCACHE_SYNC_OUT(); return; L_08B063F8: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1892))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1888))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1888))); aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08B0640Cu); - aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0640Cu) goto L_08B0640C; + aot_gpr_4 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0640Cu) goto L_08B0640C; AOT_REGCACHE_SYNC_OUT(); return; L_08B0640C: ctx.gpr[19] = (ctx.gpr[3] | 0u); - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08B0641Cu); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[22])); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0641Cu) goto L_08B0641C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0641Cu) goto L_08B0641C; AOT_REGCACHE_SYNC_OUT(); return; L_08B0641C: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1900))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1896))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1896))); aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08B06430u); - aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B06430u) goto L_08B06430; + aot_gpr_4 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B06430u) goto L_08B06430; AOT_REGCACHE_SYNC_OUT(); return; L_08B06430: aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_4 = (ctx.gpr[18] | 0u); ctx.gpr[7] = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08B06444u); - ctx.gpr[6] = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B06444u) goto L_08B06444; + aot_gpr_6 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61EF4, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B06444u) goto L_08B06444; AOT_REGCACHE_SYNC_OUT(); return; L_08B06444: ctx.gpr[19] = (ctx.gpr[3] | 0u); - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08B06454u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B06454u) goto L_08B06454; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B06454u) goto L_08B06454; AOT_REGCACHE_SYNC_OUT(); return; L_08B06454: aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_4 = (ctx.gpr[18] | 0u); ctx.gpr[7] = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08B06468u); - ctx.gpr[6] = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B06468u) goto L_08B06468; + aot_gpr_6 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B06468u) goto L_08B06468; AOT_REGCACHE_SYNC_OUT(); return; L_08B06468: ctx.gpr[19] = (ctx.gpr[3] | 0u); - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08B06478u); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(212))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B06478u) goto L_08B06478; + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(212))); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B06478u) goto L_08B06478; AOT_REGCACHE_SYNC_OUT(); return; L_08B06478: aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_4 = (ctx.gpr[18] | 0u); ctx.gpr[7] = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08B0648Cu); - ctx.gpr[6] = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0648Cu) goto L_08B0648C; + aot_gpr_6 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0648Cu) goto L_08B0648C; AOT_REGCACHE_SYNC_OUT(); return; L_08B0648C: ctx.gpr[19] = (ctx.gpr[3] | 0u); - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08B0649Cu); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0649Cu) goto L_08B0649C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0649Cu) goto L_08B0649C; AOT_REGCACHE_SYNC_OUT(); return; L_08B0649C: aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_4 = (ctx.gpr[18] | 0u); ctx.gpr[7] = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08B064B0u); - ctx.gpr[6] = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B064B0u) goto L_08B064B0; + aot_gpr_6 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B064B0u) goto L_08B064B0; AOT_REGCACHE_SYNC_OUT(); return; L_08B064B0: aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08B064BCu); - aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B064BCu) goto L_08B064BC; + aot_gpr_4 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B627F0, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B064BCu) goto L_08B064BC; AOT_REGCACHE_SYNC_OUT(); return; L_08B064BC: aot_gpr_4 = (std::bit_cast(ctx.fpr[0])); ctx.set_vfpu_scalar_bits_ct<1u>(aot_gpr_4); - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -6296,7 +6297,7 @@ L_08B064BC: ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 1u, 3u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (49280u << 16u); @@ -6330,11 +6331,11 @@ L_08B064BC: ctx.fpr[17] = std::bit_cast(aot_run_words[2]); } aot_gpr_31 = (0x08B0650Cu); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 611u, 0x08A66E08u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0650Cu) goto L_08B0650C; AOT_REGCACHE_SYNC_OUT(); return; L_08B0650C: - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -6344,7 +6345,7 @@ L_08B0650C: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (15948u << 16u); @@ -6352,13 +6353,13 @@ L_08B0650C: aot_fpr_12 = std::bit_cast(aot_gpr_4); { const float fs = ctx.fpr[22]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } { const float fs = aot_fpr_12; const float ft = aot_fpr_20; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(208))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(208))); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); { const float fs = aot_fpr_12; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<1u>(aot_gpr_4); - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -6369,7 +6370,7 @@ L_08B0650C: ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 1u, 3u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { std::uint32_t aot_run_words[3]{}; @@ -6379,7 +6380,7 @@ L_08B0650C: aot_fpr_14 = std::bit_cast(aot_run_words[2]); } aot_gpr_31 = (0x08B06560u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 600u, 0x08A66CD8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B06560u) goto L_08B06560; AOT_REGCACHE_SYNC_OUT(); return; L_08B06560: @@ -6387,7 +6388,7 @@ L_08B06560: ctx.fpr[22] = std::bit_cast(aot_gpr_4); aot_gpr_4 = (std::bit_cast(ctx.fpr[22])); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); - ctx.gpr[19] = (aot_gpr_17 + static_cast(32)); + ctx.gpr[19] = (ctx.gpr[17] + static_cast(32)); { const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -6416,7 +6417,7 @@ L_08B06560: ctx.fpr[17] = std::bit_cast(aot_run_words[2]); } aot_gpr_31 = (0x08B065A4u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 611u, 0x08A66E08u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B065A4u) goto L_08B065A4; AOT_REGCACHE_SYNC_OUT(); return; L_08B065A4: @@ -6470,7 +6471,7 @@ L_08B065E0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0098_entry, 98u, 52u, 0x0898C1C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B065E8u) goto L_08B065E8; AOT_REGCACHE_SYNC_OUT(); return; L_08B065E8: - aot_fpr_12 = std::bit_cast(ctx.gpr[2]); + aot_fpr_12 = std::bit_cast(aot_gpr_2); aot_gpr_4 = (48128u << 16u); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_fpr_13 = std::bit_cast(aot_gpr_4); @@ -6487,7 +6488,7 @@ L_08B065FC: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (14979u << 16u); @@ -6500,13 +6501,13 @@ L_08B065FC: { const float fs = ctx.fpr[26]; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } aot_fpr_12 = aot_fpr_12 + aot_fpr_14; { const float fs = aot_fpr_12; const float ft = aot_fpr_20; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(212))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(212))); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); { const float fs = aot_fpr_12; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<1u>(aot_gpr_4); - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -6517,7 +6518,7 @@ L_08B065FC: ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 1u, 3u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { std::uint32_t aot_run_words[3]{}; @@ -6533,92 +6534,92 @@ L_08B065FC: ctx.fpr[17] = std::bit_cast(aot_run_words[2]); } aot_gpr_31 = (0x08B06670u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 611u, 0x08A66E08u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B06670u) goto L_08B06670; AOT_REGCACHE_SYNC_OUT(); return; L_08B06670: aot_gpr_31 = (0x08B06678u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[26])); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B06678u) goto L_08B06678; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B06678u) goto L_08B06678; AOT_REGCACHE_SYNC_OUT(); return; L_08B06678: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1908))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1904))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1904))); aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08B0668Cu); - aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0668Cu) goto L_08B0668C; + aot_gpr_4 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0668Cu) goto L_08B0668C; AOT_REGCACHE_SYNC_OUT(); return; L_08B0668C: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1916))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1912))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1912))); aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08B066A0u); - aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B066A0u) goto L_08B066A0; + aot_gpr_4 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61EF4, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B066A0u) goto L_08B066A0; AOT_REGCACHE_SYNC_OUT(); return; L_08B066A0: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1924))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1920))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1920))); aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08B066B4u); - aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B066B4u) goto L_08B066B4; + aot_gpr_4 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B066B4u) goto L_08B066B4; AOT_REGCACHE_SYNC_OUT(); return; L_08B066B4: ctx.gpr[23] = (ctx.gpr[3] | 0u); - ctx.gpr[22] = (ctx.gpr[2] | 0u); + ctx.gpr[22] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08B066C4u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B066C4u) goto L_08B066C4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B066C4u) goto L_08B066C4; AOT_REGCACHE_SYNC_OUT(); return; L_08B066C4: aot_gpr_5 = (ctx.gpr[23] | 0u); aot_gpr_4 = (ctx.gpr[22] | 0u); ctx.gpr[7] = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08B066D8u); - ctx.gpr[6] = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B066D8u) goto L_08B066D8; + aot_gpr_6 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B066D8u) goto L_08B066D8; AOT_REGCACHE_SYNC_OUT(); return; L_08B066D8: ctx.gpr[23] = (ctx.gpr[3] | 0u); - ctx.gpr[22] = (ctx.gpr[2] | 0u); + ctx.gpr[22] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08B066E8u); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(208))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B066E8u) goto L_08B066E8; + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(208))); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B066E8u) goto L_08B066E8; AOT_REGCACHE_SYNC_OUT(); return; L_08B066E8: aot_gpr_5 = (ctx.gpr[23] | 0u); aot_gpr_4 = (ctx.gpr[22] | 0u); ctx.gpr[7] = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08B066FCu); - ctx.gpr[6] = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B066FCu) goto L_08B066FC; + aot_gpr_6 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B066FCu) goto L_08B066FC; AOT_REGCACHE_SYNC_OUT(); return; L_08B066FC: ctx.gpr[23] = (ctx.gpr[3] | 0u); - ctx.gpr[22] = (ctx.gpr[2] | 0u); + ctx.gpr[22] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08B0670Cu); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0670Cu) goto L_08B0670C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0670Cu) goto L_08B0670C; AOT_REGCACHE_SYNC_OUT(); return; L_08B0670C: aot_gpr_5 = (ctx.gpr[23] | 0u); aot_gpr_4 = (ctx.gpr[22] | 0u); ctx.gpr[7] = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08B06720u); - ctx.gpr[6] = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B06720u) goto L_08B06720; + aot_gpr_6 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B06720u) goto L_08B06720; AOT_REGCACHE_SYNC_OUT(); return; L_08B06720: aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08B0672Cu); - aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0672Cu) goto L_08B0672C; + aot_gpr_4 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B627F0, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0672Cu) goto L_08B0672C; AOT_REGCACHE_SYNC_OUT(); return; L_08B0672C: aot_fpr_20 = std::bit_cast(std::bit_cast(ctx.fpr[0])); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 496u); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_4 = (15363u << 16u); @@ -6628,7 +6629,7 @@ L_08B0672C: goto L_08B06740; } L_08B06740: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(72))); aot_gpr_5 = (0u | 192u); aot_gpr_4 = (aot_gpr_4 & 496u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; @@ -6645,7 +6646,7 @@ L_08B06758: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); aot_gpr_4 = (aot_gpr_4 | 4719u); aot_fpr_13 = std::bit_cast(aot_gpr_4); - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(208))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(208))); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } { const float fs = aot_fpr_12; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_20 <= aot_fpr_12)) ? 0x00800000u : 0u); @@ -6658,9 +6659,9 @@ L_08B06758: goto L_08B06780; } L_08B06780: - aot_gpr_4 = (aot_gpr_17 + static_cast(48)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(48)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B06794u); aot_gpr_5 = (ctx.gpr[30] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 489u, 0x08B01D24u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B06794u) goto L_08B06794; @@ -6678,36 +6679,36 @@ L_08B06794: L_08B067A4: aot_gpr_31 = (0x08B067ACu); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B067ACu) goto L_08B067AC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B067ACu) goto L_08B067AC; AOT_REGCACHE_SYNC_OUT(); return; L_08B067AC: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1932))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1928))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1928))); aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08B067C0u); - aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B067C0u) goto L_08B067C0; + aot_gpr_4 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B067C0u) goto L_08B067C0; AOT_REGCACHE_SYNC_OUT(); return; L_08B067C0: ctx.gpr[23] = (ctx.gpr[3] | 0u); - ctx.gpr[22] = (ctx.gpr[2] | 0u); + ctx.gpr[22] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08B067D0u); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(208))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B067D0u) goto L_08B067D0; + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(208))); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B067D0u) goto L_08B067D0; AOT_REGCACHE_SYNC_OUT(); return; L_08B067D0: aot_gpr_5 = (ctx.gpr[23] | 0u); aot_gpr_4 = (ctx.gpr[22] | 0u); ctx.gpr[7] = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08B067E4u); - ctx.gpr[6] = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B067E4u) goto L_08B067E4; + aot_gpr_6 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B067E4u) goto L_08B067E4; AOT_REGCACHE_SYNC_OUT(); return; L_08B067E4: aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08B067F0u); - aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B067F0u) goto L_08B067F0; + aot_gpr_4 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B627F0, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B067F0u) goto L_08B067F0; AOT_REGCACHE_SYNC_OUT(); return; L_08B067F0: aot_fpr_20 = std::bit_cast(std::bit_cast(ctx.fpr[0])); @@ -6739,7 +6740,7 @@ L_08B067F4: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (std::bit_cast(ctx.fpr[22])); @@ -6802,7 +6803,7 @@ L_08B067F4: aot_fpr_14 = std::bit_cast(aot_run_words[2]); } aot_gpr_31 = (0x08B06854u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 600u, 0x08A66CD8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B06854u) goto L_08B06854; AOT_REGCACHE_SYNC_OUT(); return; L_08B06854: @@ -6819,7 +6820,7 @@ L_08B06854: ctx.fpr[17] = std::bit_cast(aot_run_words[2]); } aot_gpr_31 = (0x08B06874u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 611u, 0x08A66E08u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B06874u) goto L_08B06874; AOT_REGCACHE_SYNC_OUT(); return; L_08B06874: @@ -6836,9 +6837,9 @@ L_08B06874: ctx.execute_vfpu_unary_ct<32u, 0u, 1u, 20u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<32u>()); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(116))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(116))); { const float fs = aot_fpr_13; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(116), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(116), std::bit_cast(aot_fpr_12)); { const bool branch_taken = 0u == 0u; // nop if (branch_taken) { @@ -6850,7 +6851,7 @@ L_08B068BC: aot_gpr_4 = (50716u << 16u); aot_gpr_4 = (aot_gpr_4 | 16374u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - ctx.gpr[21] = (aot_gpr_17 + static_cast(16)); + ctx.gpr[21] = (ctx.gpr[17] + static_cast(16)); aot_gpr_4 = (48969u << 16u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(ctx.fpr[28]) || std::isnan(aot_fpr_12)) && ctx.fpr[28] == aot_fpr_12)) ? 0x00800000u : 0u); aot_gpr_4 = (aot_gpr_4 | 4059u); @@ -6862,7 +6863,7 @@ L_08B068BC: aot_fpr_20 = std::bit_cast(aot_gpr_4); ctx.gpr[20] = (aot_gpr_29 + static_cast(256)); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); - aot_gpr_16 = (aot_gpr_29 + static_cast(352)); + ctx.gpr[16] = (aot_gpr_29 + static_cast(352)); if (branch_taken) { goto L_08B06920; } @@ -6882,7 +6883,7 @@ L_08B06904: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0098_entry, 98u, 1086u, 0x0898F36Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0690Cu) goto L_08B0690C; AOT_REGCACHE_SYNC_OUT(); return; L_08B0690C: - aot_fpr_12 = std::bit_cast(ctx.gpr[2]); + aot_fpr_12 = std::bit_cast(aot_gpr_2); aot_gpr_4 = (15360u << 16u); ctx.fpr[28] = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_fpr_13 = std::bit_cast(aot_gpr_4); @@ -6911,10 +6912,10 @@ L_08B06940: goto L_08B06948; } L_08B06948: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(86)))))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); - ctx.gpr[6] = (static_cast(aot_gpr_5) < static_cast(ctx.gpr[6]) ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(86)))))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); + aot_gpr_6 = (static_cast(aot_gpr_5) < static_cast(aot_gpr_6) ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_4 = (0u | 0u); if (branch_taken) { goto L_08B0696C; @@ -6945,7 +6946,7 @@ L_08B06984: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0098_entry, 98u, 52u, 0x0898C1C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0698Cu) goto L_08B0698C; AOT_REGCACHE_SYNC_OUT(); return; L_08B0698C: - aot_fpr_12 = std::bit_cast(ctx.gpr[2]); + aot_fpr_12 = std::bit_cast(aot_gpr_2); aot_gpr_4 = (15360u << 16u); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_fpr_13 = std::bit_cast(aot_gpr_4); @@ -7188,10 +7189,10 @@ L_08B06B68: const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(86)))))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); - ctx.gpr[6] = (static_cast(aot_gpr_5) < static_cast(ctx.gpr[6]) ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(86)))))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); + aot_gpr_6 = (static_cast(aot_gpr_5) < static_cast(aot_gpr_6) ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_4 = (0u | 0u); if (branch_taken) { goto L_08B06BAC; @@ -7298,7 +7299,7 @@ L_08B06BF4: const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(208))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(208))); aot_gpr_5 = (std::bit_cast(aot_fpr_13)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_5); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); @@ -7341,7 +7342,7 @@ L_08B06BF4: aot_fpr_14 = std::bit_cast(aot_run_words[2]); } aot_gpr_31 = (0x08B06C94u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 600u, 0x08A66CD8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B06C94u) goto L_08B06C94; AOT_REGCACHE_SYNC_OUT(); return; L_08B06C94: @@ -7373,11 +7374,11 @@ L_08B06CB8: L_08B06CC0: aot_gpr_4 = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x08B06CCCu); - ctx.gpr[22] = (ctx.gpr[2] | 0u); + ctx.gpr[22] = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0098_entry, 98u, 388u, 0x0898D140u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B06CCCu) goto L_08B06CCC; AOT_REGCACHE_SYNC_OUT(); return; L_08B06CCC: - aot_gpr_4 = (ctx.gpr[22] - ctx.gpr[2]); + aot_gpr_4 = (ctx.gpr[22] - aot_gpr_2); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (17279u << 16u); ctx.fpr[22] = static_cast(static_cast(std::bit_cast(aot_fpr_12))); @@ -7385,7 +7386,7 @@ L_08B06CCC: ctx.fpr[22] = ctx.fpr[22] / aot_fpr_13; goto L_08B06CE4; L_08B06CE4: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(856))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(856))); aot_gpr_4 = (0u | 0u); { const bool branch_taken = aot_gpr_5 != 0u; ctx.gpr[22] = (0u | 5u); @@ -7395,9 +7396,9 @@ L_08B06CE4: goto L_08B06CF4; } L_08B06CF4: - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(86)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(86)))))); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); - ctx.gpr[7] = (static_cast(ctx.gpr[6]) < static_cast(ctx.gpr[7]) ? 1u : 0u); + ctx.gpr[7] = (static_cast(aot_gpr_6) < static_cast(ctx.gpr[7]) ? 1u : 0u); { const bool branch_taken = ctx.gpr[7] == 0u; aot_gpr_5 = (0u | 0u); if (branch_taken) { @@ -7407,8 +7408,8 @@ L_08B06CF4: } L_08B06D08: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); - ctx.gpr[6] = (ctx.gpr[6] << 2u); - aot_gpr_5 = (aot_gpr_5 + ctx.gpr[6]); + aot_gpr_6 = (aot_gpr_6 << 2u); + aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); goto L_08B06D18; L_08B06D18: @@ -7424,7 +7425,7 @@ L_08B06D18: goto L_08B06D30; } L_08B06D30: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1520))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1520))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(ctx.fpr[30])) && aot_fpr_12 == ctx.fpr[30])) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); @@ -7435,7 +7436,7 @@ L_08B06D30: goto L_08B06D44; } L_08B06D44: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1524))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1524))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(ctx.fpr[30])) && aot_fpr_12 == ctx.fpr[30])) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); @@ -7446,7 +7447,7 @@ L_08B06D44: goto L_08B06D58; } L_08B06D58: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1528))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1528))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(ctx.fpr[30])) && aot_fpr_12 == ctx.fpr[30])) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); @@ -7457,7 +7458,7 @@ L_08B06D58: goto L_08B06D6C; } L_08B06D6C: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1532))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1532))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(ctx.fpr[30])) && aot_fpr_12 == ctx.fpr[30])) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); @@ -7468,9 +7469,9 @@ L_08B06D6C: goto L_08B06D80; } L_08B06D80: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(86)))))); - ctx.gpr[6] = (0u | 278u); - { const bool branch_taken = aot_gpr_5 != ctx.gpr[6]; + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(86)))))); + aot_gpr_6 = (0u | 278u); + { const bool branch_taken = aot_gpr_5 != aot_gpr_6; // nop if (branch_taken) { goto L_08B06DB8; @@ -7478,7 +7479,7 @@ L_08B06D80: goto L_08B06D90; } L_08B06D90: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(236))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(236))); aot_gpr_5 = (aot_gpr_5 & 256u); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_5 = (15948u << 16u); @@ -7521,10 +7522,10 @@ L_08B06DC4: goto L_08B06DD4; } L_08B06DD4: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(86)))))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); - ctx.gpr[6] = (static_cast(aot_gpr_5) < static_cast(ctx.gpr[6]) ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(86)))))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); + aot_gpr_6 = (static_cast(aot_gpr_5) < static_cast(aot_gpr_6) ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_4 = (0u | 0u); if (branch_taken) { goto L_08B06DF8; @@ -7543,12 +7544,12 @@ L_08B06DF8: aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); if (aot_gpr_4 == 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(356))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(356))); goto L_08B06E4C; } goto L_08B06E10; L_08B06E10: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(236))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(236))); aot_gpr_4 = (aot_gpr_4 & 256u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -7558,7 +7559,7 @@ L_08B06E10: goto L_08B06E20; } L_08B06E20: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(356))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(356))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_4 = (16384u << 16u); { const float fs = aot_fpr_12; const float ft = ctx.fpr[22]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[22] = std::bit_cast(0x7FC00000u); else ctx.fpr[22] = fs * ft; } @@ -7571,7 +7572,7 @@ L_08B06E20: goto L_08B06E3C; } L_08B06E3C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(356))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(356))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); { const bool branch_taken = 0u == 0u; { const float fs = aot_fpr_12; const float ft = ctx.fpr[22]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[22] = std::bit_cast(0x7FC00000u); else ctx.fpr[22] = fs * ft; } @@ -7599,7 +7600,7 @@ L_08B06E64: goto L_08B06E74; } L_08B06E74: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(356))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(356))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[30])) ? 0x00800000u : 0u); // nop @@ -7611,17 +7612,17 @@ L_08B06E74: goto L_08B06E8C; } L_08B06E8C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(356))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(356))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[24])) ? 0x00800000u : 0u); // nop if (((ctx.fcr31 & 0x00800000u) != 0u)) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(356))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(356))); goto L_08B06EE0; } goto L_08B06EA4; L_08B06EA4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(356))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(356))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_4 = (16166u << 16u); aot_fpr_12 = ctx.fpr[26] - aot_fpr_12; @@ -7725,7 +7726,7 @@ L_08B06F54: } goto L_08B06F74; L_08B06F74: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(356))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(356))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); { const bool branch_taken = 0u == 0u; { const float fs = aot_fpr_12; const float ft = ctx.fpr[22]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[22] = std::bit_cast(0x7FC00000u); else ctx.fpr[22] = fs * ft; } @@ -7781,12 +7782,12 @@ L_08B06FC0: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - ctx.gpr[6] = (aot_gpr_29 + static_cast(336)); + aot_gpr_6 = (aot_gpr_29 + static_cast(336)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(86)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(86)))))); aot_gpr_5 = (0u + static_cast(-983)); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -7796,7 +7797,7 @@ L_08B06FC0: goto L_08B06FDC; } L_08B06FDC: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(1662))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(1662))); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_gpr_4 = (16329u << 16u); @@ -7844,7 +7845,7 @@ L_08B06FDC: aot_fpr_13 = std::bit_cast(aot_gpr_5); aot_gpr_5 = (std::bit_cast(aot_fpr_13)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_5); - aot_gpr_5 = (aot_gpr_17 + static_cast(32)); + aot_gpr_5 = (ctx.gpr[17] + static_cast(32)); { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -7894,7 +7895,7 @@ L_08B06FDC: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } goto L_08B07090; @@ -7904,7 +7905,7 @@ L_08B07090: aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); - { const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -7934,7 +7935,7 @@ L_08B07090: const std::uint32_t vfpu_address = ctx.gpr[20] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(208))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(208))); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); { const std::uint32_t vfpu_address = ctx.gpr[20] + static_cast(0); @@ -7977,7 +7978,7 @@ L_08B07090: aot_fpr_14 = std::bit_cast(aot_run_words[2]); } aot_gpr_31 = (0x08B07110u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 600u, 0x08A66CD8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B07110u) goto L_08B07110; AOT_REGCACHE_SYNC_OUT(); return; L_08B07110: @@ -7990,7 +7991,7 @@ L_08B07110: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -8003,7 +8004,7 @@ L_08B07110: aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -8013,17 +8014,17 @@ L_08B07110: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_12) & 0x7FFFFFFFu); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(356))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(356))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); { const float fs = aot_fpr_14; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<1u>(aot_gpr_4); - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -8034,13 +8035,13 @@ L_08B07110: ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 1u, 3u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(208))); + ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(208))); aot_gpr_4 = (std::bit_cast(ctx.fpr[15])); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -8078,11 +8079,11 @@ L_08B07110: aot_fpr_14 = std::bit_cast(aot_run_words[2]); } aot_gpr_31 = (0x08B0719Cu); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 600u, 0x08A66CD8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0719Cu) goto L_08B0719C; AOT_REGCACHE_SYNC_OUT(); return; L_08B0719C: - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -8092,7 +8093,7 @@ L_08B0719C: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { std::uint32_t aot_run_words[3]{}; @@ -8111,7 +8112,7 @@ L_08B0719C: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_4 = (aot_gpr_17 + static_cast(144)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(144)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -8187,7 +8188,7 @@ L_08B0719C: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_4 = (aot_gpr_17 + static_cast(128)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(128)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -8211,7 +8212,7 @@ L_08B0719C: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -8224,11 +8225,11 @@ L_08B0719C: aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_20 = std::bit_cast(aot_gpr_4); aot_fpr_20 = std::bit_cast(std::bit_cast(aot_fpr_20) ^ 0x80000000u); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(86)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(86)))))); aot_gpr_5 = (0u | 0u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); - ctx.gpr[6] = (static_cast(aot_gpr_4) < static_cast(ctx.gpr[6]) ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); + aot_gpr_6 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_6) ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 == 0u; ctx.gpr[21] = (aot_gpr_29 + static_cast(48)); if (branch_taken) { goto L_08B07258; @@ -8283,7 +8284,7 @@ L_08B07294: goto L_08B072A8; L_08B072A8: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1624))); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(356))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(356))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); { const float fs = aot_fpr_14; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } { const float fs = aot_fpr_13; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } @@ -8292,13 +8293,13 @@ L_08B072A8: { const float fs = ctx.fpr[16]; const float ft = aot_fpr_20; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[16] = std::bit_cast(0x7FC00000u); else ctx.fpr[16] = fs * ft; } { const float fs = ctx.fpr[16]; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[15] = std::bit_cast(0x7FC00000u); else ctx.fpr[15] = fs * ft; } aot_fpr_12 = aot_fpr_12 + ctx.fpr[15]; - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(212))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(212))); { const float fs = aot_fpr_12; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<1u>(aot_gpr_4); - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -8309,7 +8310,7 @@ L_08B072A8: ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 1u, 3u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const bool branch_taken = 0u == 0u; @@ -8325,7 +8326,7 @@ L_08B072FC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 648u, 0x08AFEE24u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B07304u) goto L_08B07304; AOT_REGCACHE_SYNC_OUT(); return; L_08B07304: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(356))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(356))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1624))); ctx.fpr[22] = std::bit_cast(std::bit_cast(ctx.fpr[0])); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); @@ -8336,11 +8337,11 @@ L_08B07304: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 628u, 0x08AFECB8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B07324u) goto L_08B07324; AOT_REGCACHE_SYNC_OUT(); return; L_08B07324: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(356))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(356))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(12))); { const float fs = aot_fpr_12; const float ft = aot_fpr_20; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(212))); - aot_gpr_4 = (aot_gpr_16 | 0u); + ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(212))); + aot_gpr_4 = (ctx.gpr[16] | 0u); { const float fs = aot_fpr_12; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = ctx.fpr[28] + aot_fpr_12; { const float fs = aot_fpr_12; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } @@ -8356,30 +8357,30 @@ L_08B07350: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08B07364u); - ctx.gpr[6] = (ctx.gpr[21] | 0u); + aot_gpr_6 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 582u, 0x08AFE980u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B07364u) goto L_08B07364; AOT_REGCACHE_SYNC_OUT(); return; L_08B07364: - aot_gpr_4 = (aot_gpr_17 | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B07374u); - ctx.gpr[6] = (ctx.gpr[18] | 0u); + aot_gpr_6 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 653u, 0x08AFEE60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B07374u) goto L_08B07374; AOT_REGCACHE_SYNC_OUT(); return; L_08B07374: aot_gpr_31 = (0x08B0737Cu); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0737Cu) goto L_08B0737C; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AFEDA8, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0190_entry, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0737Cu) goto L_08B0737C; AOT_REGCACHE_SYNC_OUT(); return; L_08B0737C: aot_gpr_31 = (0x08B07384u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 639u, 0x08AFED90u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B07384u) goto L_08B07384; AOT_REGCACHE_SYNC_OUT(); return; L_08B07384: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B07390u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 637u, 0x08AFED64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B07390u) goto L_08B07390; AOT_REGCACHE_SYNC_OUT(); return; L_08B07390: @@ -8402,12 +8403,12 @@ L_08B073B0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 648u, 0x08AFEE24u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B073B8u) goto L_08B073B8; AOT_REGCACHE_SYNC_OUT(); return; L_08B073B8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(356))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(356))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1624))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(212))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(212))); { const float fs = aot_fpr_13; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); { const float fs = aot_fpr_12; const float ft = ctx.fpr[26]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } { const float fs = aot_fpr_12; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_31 = (0x08B073E0u); @@ -8428,11 +8429,11 @@ L_08B073E8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 648u, 0x08AFEE24u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B073F0u) goto L_08B073F0; AOT_REGCACHE_SYNC_OUT(); return; L_08B073F0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(356))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(356))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(212))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(212))); { const float fs = aot_fpr_13; const float ft = aot_fpr_20; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); { const float fs = aot_fpr_13; const float ft = ctx.fpr[26]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } { const float fs = aot_fpr_13; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_31 = (0x08B07414u); @@ -8442,40 +8443,40 @@ L_08B073F0: L_08B07414: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1644), ctx.gpr[22]); aot_gpr_31 = (0x08B07420u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B07420u) goto L_08B07420; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AFEDA8, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0190_entry, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B07420u) goto L_08B07420; AOT_REGCACHE_SYNC_OUT(); return; L_08B07420: aot_gpr_31 = (0x08B07428u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 641u, 0x08AFEDA0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B07428u) goto L_08B07428; AOT_REGCACHE_SYNC_OUT(); return; L_08B07428: aot_gpr_4 = (ctx.gpr[18] | 0u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08B07438u); - ctx.gpr[6] = (ctx.gpr[21] | 0u); + aot_gpr_6 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 582u, 0x08AFE980u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B07438u) goto L_08B07438; AOT_REGCACHE_SYNC_OUT(); return; L_08B07438: - aot_gpr_4 = (aot_gpr_17 | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B07448u); - ctx.gpr[6] = (ctx.gpr[18] | 0u); + aot_gpr_6 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 653u, 0x08AFEE60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B07448u) goto L_08B07448; AOT_REGCACHE_SYNC_OUT(); return; L_08B07448: aot_gpr_31 = (0x08B07450u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B07450u) goto L_08B07450; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AFEDA8, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0190_entry, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B07450u) goto L_08B07450; AOT_REGCACHE_SYNC_OUT(); return; L_08B07450: aot_gpr_31 = (0x08B07458u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 640u, 0x08AFED98u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B07458u) goto L_08B07458; AOT_REGCACHE_SYNC_OUT(); return; L_08B07458: - ctx.gpr[22] = (ctx.gpr[2] | 0u); + ctx.gpr[22] = (aot_gpr_2 | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[24])); aot_gpr_4 = (ctx.gpr[20] | 0u); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[24])); @@ -8487,11 +8488,11 @@ L_08B07470: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x08B07480u); - ctx.gpr[6] = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 576u, 0x08AFE8D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B07480u) goto L_08B07480; AOT_REGCACHE_SYNC_OUT(); return; L_08B07480: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B0748Cu); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 637u, 0x08AFED64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0748Cu) goto L_08B0748C; @@ -8499,16 +8500,16 @@ L_08B07480: L_08B0748C: aot_fpr_20 = std::bit_cast(std::bit_cast(ctx.fpr[30])); aot_gpr_31 = (0x08B07498u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B07498u) goto L_08B07498; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AFEDA8, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0190_entry, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B07498u) goto L_08B07498; AOT_REGCACHE_SYNC_OUT(); return; L_08B07498: aot_gpr_31 = (0x08B074A0u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 641u, 0x08AFEDA0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B074A0u) goto L_08B074A0; AOT_REGCACHE_SYNC_OUT(); return; L_08B074A0: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(8))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(8))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[24])) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); @@ -8520,16 +8521,16 @@ L_08B074A0: } L_08B074B4: aot_gpr_31 = (0x08B074BCu); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B074BCu) goto L_08B074BC; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AFEDA8, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0190_entry, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B074BCu) goto L_08B074BC; AOT_REGCACHE_SYNC_OUT(); return; L_08B074BC: aot_gpr_31 = (0x08B074C4u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 639u, 0x08AFED90u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B074C4u) goto L_08B074C4; AOT_REGCACHE_SYNC_OUT(); return; L_08B074C4: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(8))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(8))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[24])) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); @@ -8551,23 +8552,23 @@ L_08B074D8: L_08B074E4: aot_gpr_5 = (49024u << 16u); ctx.fpr[22] = std::bit_cast(aot_gpr_5); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B074F8u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[22])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 638u, 0x08AFED74u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B074F8u) goto L_08B074F8; AOT_REGCACHE_SYNC_OUT(); return; L_08B074F8: aot_gpr_31 = (0x08B07500u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B07500u) goto L_08B07500; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AFEDA8, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0190_entry, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B07500u) goto L_08B07500; AOT_REGCACHE_SYNC_OUT(); return; L_08B07500: aot_gpr_31 = (0x08B07508u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 639u, 0x08AFED90u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B07508u) goto L_08B07508; AOT_REGCACHE_SYNC_OUT(); return; L_08B07508: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(8))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(8))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[24])) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); @@ -8582,52 +8583,52 @@ L_08B0751C: goto L_08B07520; L_08B07520: aot_gpr_31 = (0x08B07528u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B07528u) goto L_08B07528; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AFEDA8, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0190_entry, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B07528u) goto L_08B07528; AOT_REGCACHE_SYNC_OUT(); return; L_08B07528: aot_gpr_31 = (0x08B07530u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 639u, 0x08AFED90u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B07530u) goto L_08B07530; AOT_REGCACHE_SYNC_OUT(); return; L_08B07530: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08B0753Cu); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 580u, 0x08AFE950u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0753Cu) goto L_08B0753C; AOT_REGCACHE_SYNC_OUT(); return; L_08B0753C: aot_fpr_12 = ctx.fpr[30] - ctx.fpr[0]; - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B0754Cu); { const float fs = aot_fpr_20; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_20 = std::bit_cast(0x7FC00000u); else aot_fpr_20 = fs * ft; } - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0754Cu) goto L_08B0754C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AFEDA8, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0190_entry, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0754Cu) goto L_08B0754C; AOT_REGCACHE_SYNC_OUT(); return; L_08B0754C: aot_gpr_31 = (0x08B07554u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 640u, 0x08AFED98u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B07554u) goto L_08B07554; AOT_REGCACHE_SYNC_OUT(); return; L_08B07554: aot_gpr_31 = (0x08B0755Cu); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(8))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(8))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 628u, 0x08AFECB8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0755Cu) goto L_08B0755C; AOT_REGCACHE_SYNC_OUT(); return; L_08B0755C: aot_fpr_13 = ctx.fpr[30] - ctx.fpr[0]; - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B0756Cu); { const float fs = aot_fpr_20; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_20 = std::bit_cast(0x7FC00000u); else aot_fpr_20 = fs * ft; } if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 930u, 0x08AFFDB0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0756Cu) goto L_08B0756C; AOT_REGCACHE_SYNC_OUT(); return; L_08B0756C: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08B07578u); aot_gpr_5 = (0u | 64u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 656u, 0x08AFEF10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B07578u) goto L_08B07578; AOT_REGCACHE_SYNC_OUT(); return; L_08B07578: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08B0758C; @@ -8645,92 +8646,92 @@ L_08B0758C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 648u, 0x08AFEE24u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B07594u) goto L_08B07594; AOT_REGCACHE_SYNC_OUT(); return; L_08B07594: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(356))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(356))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(24))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(212))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(212))); { const float fs = aot_fpr_12; const float ft = aot_fpr_20; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_4 = (16128u << 16u); aot_fpr_14 = std::bit_cast(aot_gpr_4); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } { const float fs = aot_fpr_12; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_31 = (0x08B075C0u); { const float fs = aot_fpr_12; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[22] = std::bit_cast(0x7FC00000u); else ctx.fpr[22] = fs * ft; } - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B075C0u) goto L_08B075C0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AFEDA8, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0190_entry, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B075C0u) goto L_08B075C0; AOT_REGCACHE_SYNC_OUT(); return; L_08B075C0: aot_gpr_31 = (0x08B075C8u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 639u, 0x08AFED90u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B075C8u) goto L_08B075C8; AOT_REGCACHE_SYNC_OUT(); return; L_08B075C8: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[22])); aot_gpr_31 = (0x08B075D8u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 584u, 0x08AFE9B0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B075D8u) goto L_08B075D8; AOT_REGCACHE_SYNC_OUT(); return; L_08B075D8: aot_gpr_31 = (0x08B075E0u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B075E0u) goto L_08B075E0; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AFEDA8, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0190_entry, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B075E0u) goto L_08B075E0; AOT_REGCACHE_SYNC_OUT(); return; L_08B075E0: aot_gpr_31 = (0x08B075E8u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 641u, 0x08AFEDA0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B075E8u) goto L_08B075E8; AOT_REGCACHE_SYNC_OUT(); return; L_08B075E8: aot_gpr_4 = (ctx.gpr[20] | 0u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08B075F8u); - ctx.gpr[6] = (ctx.gpr[21] | 0u); + aot_gpr_6 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 582u, 0x08AFE980u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B075F8u) goto L_08B075F8; AOT_REGCACHE_SYNC_OUT(); return; L_08B075F8: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08B07608u); - ctx.gpr[6] = (ctx.gpr[20] | 0u); + aot_gpr_6 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 653u, 0x08AFEE60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B07608u) goto L_08B07608; AOT_REGCACHE_SYNC_OUT(); return; L_08B07608: aot_gpr_31 = (0x08B07610u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B07610u) goto L_08B07610; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AFEDA8, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0190_entry, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B07610u) goto L_08B07610; AOT_REGCACHE_SYNC_OUT(); return; L_08B07610: aot_gpr_31 = (0x08B07618u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 641u, 0x08AFEDA0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B07618u) goto L_08B07618; AOT_REGCACHE_SYNC_OUT(); return; L_08B07618: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B07624u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 637u, 0x08AFED64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B07624u) goto L_08B07624; AOT_REGCACHE_SYNC_OUT(); return; L_08B07624: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08B07634u); - ctx.gpr[6] = (ctx.gpr[19] | 0u); + aot_gpr_6 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 655u, 0x08AFEE90u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B07634u) goto L_08B07634; AOT_REGCACHE_SYNC_OUT(); return; L_08B07634: aot_gpr_31 = (0x08B0763Cu); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0763Cu) goto L_08B0763C; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AFEDA8, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0190_entry, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0763Cu) goto L_08B0763C; AOT_REGCACHE_SYNC_OUT(); return; L_08B0763C: aot_gpr_31 = (0x08B07644u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 641u, 0x08AFEDA0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B07644u) goto L_08B07644; AOT_REGCACHE_SYNC_OUT(); return; L_08B07644: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08B07650u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 580u, 0x08AFE950u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B07650u) goto L_08B07650; AOT_REGCACHE_SYNC_OUT(); return; L_08B07650: @@ -8739,7 +8740,7 @@ L_08B07650: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 648u, 0x08AFEE24u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B07658u) goto L_08B07658; AOT_REGCACHE_SYNC_OUT(); return; L_08B07658: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(356))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(356))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1632))); ctx.fpr[22] = std::bit_cast(std::bit_cast(ctx.fpr[0])); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(28))); @@ -8750,11 +8751,11 @@ L_08B07658: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 628u, 0x08AFECB8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B07678u) goto L_08B07678; AOT_REGCACHE_SYNC_OUT(); return; L_08B07678: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(356))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(356))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(32))); { const float fs = aot_fpr_12; const float ft = aot_fpr_20; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(212))); - aot_gpr_4 = (aot_gpr_16 | 0u); + ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(212))); + aot_gpr_4 = (ctx.gpr[16] | 0u); { const float fs = aot_fpr_12; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = ctx.fpr[26] + aot_fpr_12; { const float fs = aot_fpr_12; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } @@ -8766,30 +8767,30 @@ L_08B076A0: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08B076B0u); - ctx.gpr[6] = (ctx.gpr[21] | 0u); + aot_gpr_6 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 582u, 0x08AFE980u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B076B0u) goto L_08B076B0; AOT_REGCACHE_SYNC_OUT(); return; L_08B076B0: - aot_gpr_4 = (aot_gpr_17 | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B076C0u); - ctx.gpr[6] = (ctx.gpr[18] | 0u); + aot_gpr_6 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 653u, 0x08AFEE60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B076C0u) goto L_08B076C0; AOT_REGCACHE_SYNC_OUT(); return; L_08B076C0: aot_gpr_31 = (0x08B076C8u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B076C8u) goto L_08B076C8; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AFEDA8, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0190_entry, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B076C8u) goto L_08B076C8; AOT_REGCACHE_SYNC_OUT(); return; L_08B076C8: aot_gpr_31 = (0x08B076D0u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 641u, 0x08AFEDA0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B076D0u) goto L_08B076D0; AOT_REGCACHE_SYNC_OUT(); return; L_08B076D0: aot_gpr_4 = (ctx.gpr[23] | 0u); aot_gpr_31 = (0x08B076DCu); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 580u, 0x08AFE950u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B076DCu) goto L_08B076DC; AOT_REGCACHE_SYNC_OUT(); return; L_08B076DC: @@ -8828,11 +8829,11 @@ L_08B0771C: L_08B07724: ctx.fpr[22] = std::bit_cast(std::bit_cast(ctx.fpr[0]) ^ 0x80000000u); aot_gpr_31 = (0x08B07730u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 607u, 0x08AFEB40u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B07730u) goto L_08B07730; AOT_REGCACHE_SYNC_OUT(); return; L_08B07730: - { const bool branch_taken = ctx.gpr[2] != ctx.gpr[22]; + { const bool branch_taken = aot_gpr_2 != ctx.gpr[22]; // nop if (branch_taken) { goto L_08B07760; @@ -8856,12 +8857,12 @@ L_08B0774C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 644u, 0x08AFEDB8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B07754u) goto L_08B07754; AOT_REGCACHE_SYNC_OUT(); return; L_08B07754: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1944))); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[2]); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(1944), aot_gpr_4); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1944))); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_2); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(1944), aot_gpr_4); goto L_08B07760; L_08B07760: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(356))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(356))); aot_gpr_5 = (15363u << 16u); aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(36))); aot_gpr_4 = (aot_gpr_5 | 4719u); @@ -8901,11 +8902,11 @@ L_08B077A4: } L_08B077AC: aot_gpr_31 = (0x08B077B4u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 607u, 0x08AFEB40u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B077B4u) goto L_08B077B4; AOT_REGCACHE_SYNC_OUT(); return; L_08B077B4: - { const bool branch_taken = ctx.gpr[2] != ctx.gpr[22]; + { const bool branch_taken = aot_gpr_2 != ctx.gpr[22]; // nop if (branch_taken) { goto L_08B077DC; @@ -8913,7 +8914,7 @@ L_08B077B4: goto L_08B077BC; } L_08B077BC: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1988))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1988))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[30])) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); @@ -8924,7 +8925,7 @@ L_08B077BC: goto L_08B077D0; } L_08B077D0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(356))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(356))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(84))); { const float fs = aot_fpr_20; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_20 = std::bit_cast(0x7FC00000u); else aot_fpr_20 = fs * ft; } goto L_08B077DC; @@ -8934,10 +8935,10 @@ L_08B077DC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 648u, 0x08AFEE24u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B077E4u) goto L_08B077E4; AOT_REGCACHE_SYNC_OUT(); return; L_08B077E4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(356))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(356))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(40))); { const float fs = aot_fpr_12; const float ft = ctx.fpr[22]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(208))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(208))); aot_fpr_12 = aot_fpr_20 + aot_fpr_12; { const float fs = aot_fpr_12; const float ft = ctx.fpr[28]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_20 = std::bit_cast(0x7FC00000u); else aot_fpr_20 = fs * ft; } @@ -8947,7 +8948,7 @@ L_08B077E4: AOT_REGCACHE_SYNC_OUT(); return; L_08B07808: { const float fs = ctx.fpr[0]; const float ft = ctx.fpr[26]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(208))); + ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(208))); { const float fs = aot_fpr_14; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_20 <= aot_fpr_14)) ? 0x00800000u : 0u); // nop @@ -8960,12 +8961,12 @@ L_08B07808: } L_08B07824: aot_gpr_31 = (0x08B0782Cu); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 643u, 0x08AFEDB0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0782Cu) goto L_08B0782C; AOT_REGCACHE_SYNC_OUT(); return; L_08B0782C: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(8))); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(8))); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B0783Cu); aot_gpr_5 = (ctx.gpr[30] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 489u, 0x08B01D24u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0783Cu) goto L_08B0783C; @@ -8989,12 +8990,12 @@ L_08B07854: aot_fpr_20 = std::bit_cast(std::bit_cast(ctx.fpr[0])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(528), std::bit_cast(ctx.fpr[24])); aot_gpr_31 = (0x08B07864u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 643u, 0x08AFEDB0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B07864u) goto L_08B07864; AOT_REGCACHE_SYNC_OUT(); return; L_08B07864: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(8))); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(8))); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B07874u); aot_gpr_5 = (ctx.gpr[30] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 489u, 0x08B01D24u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B07874u) goto L_08B07874; @@ -9012,37 +9013,37 @@ L_08B07874: AOT_REGCACHE_SYNC_OUT(); return; L_08B07894: { const float fs = ctx.fpr[0]; const float ft = ctx.fpr[26]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(208))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(208))); { const float fs = aot_fpr_12; const float ft = aot_fpr_20; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_20 = std::bit_cast(0x7FC00000u); else aot_fpr_20 = fs * ft; } { const float fs = aot_fpr_20; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_20 = std::bit_cast(0x7FC00000u); else aot_fpr_20 = fs * ft; } goto L_08B078A4; L_08B078A4: aot_gpr_31 = (0x08B078ACu); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B078ACu) goto L_08B078AC; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AFEDA8, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0190_entry, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B078ACu) goto L_08B078AC; AOT_REGCACHE_SYNC_OUT(); return; L_08B078AC: aot_gpr_31 = (0x08B078B4u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 641u, 0x08AFEDA0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B078B4u) goto L_08B078B4; AOT_REGCACHE_SYNC_OUT(); return; L_08B078B4: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_31 = (0x08B078C4u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 584u, 0x08AFE9B0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B078C4u) goto L_08B078C4; AOT_REGCACHE_SYNC_OUT(); return; L_08B078C4: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B078D0u); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 637u, 0x08AFED64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B078D0u) goto L_08B078D0; AOT_REGCACHE_SYNC_OUT(); return; L_08B078D0: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B078DCu); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 651u, 0x08AFEE3Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B078DCu) goto L_08B078DC; AOT_REGCACHE_SYNC_OUT(); return; L_08B078DC: @@ -9054,7 +9055,7 @@ L_08B078DC: goto L_08B078E4; } L_08B078E4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(356))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(356))); aot_gpr_31 = (0x08B078F0u); aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(44))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 648u, 0x08AFEE24u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B078F0u) goto L_08B078F0; @@ -9067,15 +9068,15 @@ L_08B078F0: AOT_REGCACHE_SYNC_OUT(); return; L_08B078FC: ctx.fpr[26] = std::bit_cast(std::bit_cast(ctx.fpr[0])); - aot_gpr_16 = (aot_gpr_29 + static_cast(624)); + ctx.gpr[16] = (aot_gpr_29 + static_cast(624)); aot_gpr_31 = (0x08B0790Cu); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 650u, 0x08AFEE34u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0790Cu) goto L_08B0790C; AOT_REGCACHE_SYNC_OUT(); return; L_08B0790C: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B07918u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 634u, 0x08AFED10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B07918u) goto L_08B07918; AOT_REGCACHE_SYNC_OUT(); return; L_08B07918: @@ -9084,9 +9085,9 @@ L_08B07918: { const float fs = aot_fpr_12; const float ft = ctx.fpr[26]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(632))); { const float fs = aot_fpr_13; const float ft = ctx.fpr[26]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); { const float fs = aot_fpr_14; const float ft = ctx.fpr[26]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(624), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(628), std::bit_cast(aot_fpr_13)); aot_gpr_31 = (0x08B07948u); @@ -9106,18 +9107,18 @@ L_08B07948: } L_08B0795C: aot_gpr_31 = (0x08B07964u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B07964u) goto L_08B07964; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AFEDA8, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0190_entry, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B07964u) goto L_08B07964; AOT_REGCACHE_SYNC_OUT(); return; L_08B07964: aot_gpr_31 = (0x08B0796Cu); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 640u, 0x08AFED98u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0796Cu) goto L_08B0796C; AOT_REGCACHE_SYNC_OUT(); return; L_08B0796C: aot_gpr_4 = (ctx.gpr[23] | 0u); aot_gpr_31 = (0x08B07978u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 580u, 0x08AFE950u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B07978u) goto L_08B07978; AOT_REGCACHE_SYNC_OUT(); return; L_08B07978: @@ -9147,13 +9148,13 @@ L_08B0799C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0098_entry, 98u, 430u, 0x0898D2D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B079A4u) goto L_08B079A4; AOT_REGCACHE_SYNC_OUT(); return; L_08B079A4: - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08B079B0u); aot_gpr_4 = (ctx.gpr[22] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0098_entry, 98u, 388u, 0x0898D140u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B079B0u) goto L_08B079B0; AOT_REGCACHE_SYNC_OUT(); return; L_08B079B0: - aot_gpr_4 = (aot_gpr_16 - ctx.gpr[2]); + aot_gpr_4 = (ctx.gpr[16] - aot_gpr_2); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (17279u << 16u); ctx.fpr[22] = static_cast(static_cast(std::bit_cast(aot_fpr_12))); @@ -9165,7 +9166,7 @@ L_08B079C8: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[24])) ? 0x00800000u : 0u); // nop if (!((ctx.fcr31 & 0x00800000u) != 0u)) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(356))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(356))); goto L_08B079F0; } goto L_08B079DC; @@ -9178,7 +9179,7 @@ L_08B079DC: } goto L_08B079EC; L_08B079EC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(356))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(356))); goto L_08B079F0; L_08B079F0: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(640))); @@ -9194,7 +9195,7 @@ L_08B079F0: goto L_08B07A0C; } L_08B07A0C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(356))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(356))); aot_gpr_5 = (16640u << 16u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_fpr_13 = std::bit_cast(aot_gpr_5); @@ -9209,29 +9210,29 @@ L_08B07A0C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 586u, 0x08AFE9E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B07A3Cu) goto L_08B07A3C; AOT_REGCACHE_SYNC_OUT(); return; L_08B07A3C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(356))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(356))); aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); { const float fs = aot_fpr_20; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_20 = std::bit_cast(0x7FC00000u); else aot_fpr_20 = fs * ft; } goto L_08B07A48; L_08B07A48: aot_gpr_31 = (0x08B07A50u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B07A50u) goto L_08B07A50; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AFEDA8, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0190_entry, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B07A50u) goto L_08B07A50; AOT_REGCACHE_SYNC_OUT(); return; L_08B07A50: aot_gpr_31 = (0x08B07A58u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 640u, 0x08AFED98u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B07A58u) goto L_08B07A58; AOT_REGCACHE_SYNC_OUT(); return; L_08B07A58: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_31 = (0x08B07A68u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 585u, 0x08AFE9CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B07A68u) goto L_08B07A68; AOT_REGCACHE_SYNC_OUT(); return; L_08B07A68: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(208))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(208))); aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08B07A78u); aot_gpr_5 = (ctx.gpr[18] | 0u); @@ -9250,45 +9251,45 @@ L_08B07A80: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 585u, 0x08AFE9CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B07A90u) goto L_08B07A90; AOT_REGCACHE_SYNC_OUT(); return; L_08B07A90: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B07A9Cu); aot_gpr_5 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 651u, 0x08AFEE3Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B07A9Cu) goto L_08B07A9C; AOT_REGCACHE_SYNC_OUT(); return; L_08B07A9C: aot_gpr_31 = (0x08B07AA4u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B07AA4u) goto L_08B07AA4; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AFEDA8, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0190_entry, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B07AA4u) goto L_08B07AA4; AOT_REGCACHE_SYNC_OUT(); return; L_08B07AA4: aot_gpr_31 = (0x08B07AACu); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 641u, 0x08AFEDA0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B07AACu) goto L_08B07AAC; AOT_REGCACHE_SYNC_OUT(); return; L_08B07AAC: - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (aot_gpr_2 | 0u); aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1720))); aot_gpr_31 = (0x08B07ABCu); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B07ABCu) goto L_08B07ABC; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AFEDA8, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0190_entry, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B07ABCu) goto L_08B07ABC; AOT_REGCACHE_SYNC_OUT(); return; L_08B07ABC: aot_gpr_31 = (0x08B07AC4u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 640u, 0x08AFED98u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B07AC4u) goto L_08B07AC4; AOT_REGCACHE_SYNC_OUT(); return; L_08B07AC4: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_31 = (0x08B07AD4u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 584u, 0x08AFE9B0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B07AD4u) goto L_08B07AD4; AOT_REGCACHE_SYNC_OUT(); return; L_08B07AD4: aot_gpr_4 = (ctx.gpr[19] | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B07AE4u); - ctx.gpr[6] = (ctx.gpr[18] | 0u); + aot_gpr_6 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 583u, 0x08AFE998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B07AE4u) goto L_08B07AE4; AOT_REGCACHE_SYNC_OUT(); return; L_08B07AE4: @@ -9308,11 +9309,11 @@ L_08B07AF8: aot_fpr_20 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(640), std::bit_cast(ctx.fpr[0])); aot_gpr_31 = (0x08B07B10u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 448u, 0x08B01B3Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B07B10u) goto L_08B07B10; AOT_REGCACHE_SYNC_OUT(); return; L_08B07B10: - if (ctx.gpr[2] != 0u) { + if (aot_gpr_2 != 0u) { aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1712))); goto L_08B07BD8; } @@ -9321,7 +9322,7 @@ L_08B07B18: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1704))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(760), std::bit_cast(ctx.fpr[24])); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); - aot_gpr_16 = (aot_gpr_17 | 0u); + ctx.gpr[16] = (ctx.gpr[17] | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(768), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_gpr_29 + static_cast(768)); aot_gpr_31 = (0x08B07B38u); @@ -9338,7 +9339,7 @@ L_08B07B38: L_08B07B48: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(640), std::bit_cast(ctx.fpr[0])); aot_gpr_31 = (0x08B07B54u); - aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1640))); + aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1640))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 648u, 0x08AFEE24u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B07B54u) goto L_08B07B54; AOT_REGCACHE_SYNC_OUT(); return; L_08B07B54: @@ -9347,7 +9348,7 @@ L_08B07B54: { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } { const float fs = aot_fpr_12; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = aot_fpr_20 - aot_fpr_12; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(1640), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(1640), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08B07B74u); ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1708))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 648u, 0x08AFEE24u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B07B74u) goto L_08B07B74; @@ -9359,7 +9360,7 @@ L_08B07B74: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 627u, 0x08AFEC8Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B07B80u) goto L_08B07B80; AOT_REGCACHE_SYNC_OUT(); return; L_08B07B80: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1640))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1640))); aot_gpr_4 = (16076u << 16u); { const float fs = aot_fpr_12; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_gpr_4 = (aot_gpr_4 | 52429u); @@ -9367,7 +9368,7 @@ L_08B07B80: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 <= aot_fpr_12)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(1640), std::bit_cast(aot_fpr_13)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(1640), std::bit_cast(aot_fpr_13)); if (branch_taken) { goto L_08B07BAC; } @@ -9375,7 +9376,7 @@ L_08B07B80: } L_08B07BA4: { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(1640), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(1640), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_08B07BD0; } @@ -9383,7 +9384,7 @@ L_08B07BA4: } L_08B07BAC: aot_gpr_4 = (15779u << 16u); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1640))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1640))); aot_gpr_4 = (aot_gpr_4 | 55050u); aot_fpr_12 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 < aot_fpr_12)) ? 0x00800000u : 0u); @@ -9396,10 +9397,10 @@ L_08B07BAC: goto L_08B07BCC; } L_08B07BCC: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(1640), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(1640), std::bit_cast(aot_fpr_12)); goto L_08B07BD0; L_08B07BD0: - aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1640))); + aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1640))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1712))); goto L_08B07BD8; L_08B07BD8: @@ -9408,24 +9409,24 @@ L_08B07BD8: { const float fs = aot_fpr_12; const float ft = aot_fpr_20; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_5 = (15363u << 16u); { const float fs = aot_fpr_13; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } - aot_gpr_16 = (aot_gpr_29 + static_cast(720)); - ctx.gpr[6] = (aot_gpr_5 | 4719u); - aot_gpr_4 = (aot_gpr_16 | 0u); + ctx.gpr[16] = (aot_gpr_29 + static_cast(720)); + aot_gpr_6 = (aot_gpr_5 | 4719u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); aot_fpr_20 = aot_fpr_12 - aot_fpr_13; aot_gpr_31 = (0x08B07C08u); - aot_fpr_12 = std::bit_cast(ctx.gpr[6]); + aot_fpr_12 = std::bit_cast(aot_gpr_6); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 585u, 0x08AFE9CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B07C08u) goto L_08B07C08; AOT_REGCACHE_SYNC_OUT(); return; L_08B07C08: aot_gpr_4 = (ctx.gpr[21] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_31 = (0x08B07C18u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 585u, 0x08AFE9CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B07C18u) goto L_08B07C18; AOT_REGCACHE_SYNC_OUT(); return; L_08B07C18: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(208))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(208))); aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08B07C28u); aot_gpr_5 = (ctx.gpr[21] | 0u); @@ -9444,7 +9445,7 @@ L_08B07C30: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 585u, 0x08AFE9CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B07C40u) goto L_08B07C40; AOT_REGCACHE_SYNC_OUT(); return; L_08B07C40: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B07C4Cu); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 651u, 0x08AFEE3Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B07C4Cu) goto L_08B07C4C; @@ -9460,26 +9461,26 @@ L_08B07C4C: L_08B07C54: ctx.gpr[20] = (aot_gpr_29 + static_cast(864)); aot_gpr_31 = (0x08B07C60u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B07C60u) goto L_08B07C60; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AFEDA8, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0190_entry, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B07C60u) goto L_08B07C60; AOT_REGCACHE_SYNC_OUT(); return; L_08B07C60: aot_gpr_31 = (0x08B07C68u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 641u, 0x08AFEDA0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B07C68u) goto L_08B07C68; AOT_REGCACHE_SYNC_OUT(); return; L_08B07C68: aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08B07C74u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 634u, 0x08AFED10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B07C74u) goto L_08B07C74; AOT_REGCACHE_SYNC_OUT(); return; L_08B07C74: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(617)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(617)))))); ctx.gpr[19] = (aot_gpr_29 + static_cast(800)); aot_gpr_4 = (aot_gpr_4 & 1u); ctx.gpr[18] = (aot_gpr_29 + static_cast(816)); - aot_gpr_16 = (aot_gpr_29 + static_cast(832)); + ctx.gpr[16] = (aot_gpr_29 + static_cast(832)); { const bool branch_taken = aot_gpr_4 == 0u; ctx.gpr[21] = (aot_gpr_29 + static_cast(848)); if (branch_taken) { @@ -9531,12 +9532,12 @@ L_08B07CD0: } L_08B07CD8: aot_gpr_31 = (0x08B07CE0u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 649u, 0x08AFEE2Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B07CE0u) goto L_08B07CE0; AOT_REGCACHE_SYNC_OUT(); return; L_08B07CE0: aot_gpr_4 = (0u + static_cast(-983)); - { const bool branch_taken = ctx.gpr[2] != aot_gpr_4; + { const bool branch_taken = aot_gpr_2 != aot_gpr_4; // nop if (branch_taken) { goto L_08B07DB8; @@ -9545,10 +9546,10 @@ L_08B07CE0: } L_08B07CEC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1652), ctx.gpr[18]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1648), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1648), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1644), ctx.gpr[21]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1640), std::bit_cast(ctx.fpr[30])); - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(1662))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(1662))); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[28] + static_cast(-11384)))))); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); @@ -9566,12 +9567,12 @@ L_08B07CEC: L_08B07D30: ctx.fpr[30] = std::bit_cast(std::bit_cast(ctx.fpr[0])); aot_gpr_31 = (0x08B07D3Cu); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B07D3Cu) goto L_08B07D3C; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AFEDA8, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0190_entry, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B07D3Cu) goto L_08B07D3C; AOT_REGCACHE_SYNC_OUT(); return; L_08B07D3C: aot_gpr_31 = (0x08B07D44u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 640u, 0x08AFED98u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B07D44u) goto L_08B07D44; AOT_REGCACHE_SYNC_OUT(); return; L_08B07D44: @@ -9579,7 +9580,7 @@ L_08B07D44: aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[30])); aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x08B07D58u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 584u, 0x08AFE9B0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B07D58u) goto L_08B07D58; AOT_REGCACHE_SYNC_OUT(); return; L_08B07D58: @@ -9590,20 +9591,20 @@ L_08B07D58: L_08B07D60: ctx.fpr[30] = std::bit_cast(std::bit_cast(ctx.fpr[0])); aot_gpr_31 = (0x08B07D6Cu); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B07D6Cu) goto L_08B07D6C; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AFEDA8, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0190_entry, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B07D6Cu) goto L_08B07D6C; AOT_REGCACHE_SYNC_OUT(); return; L_08B07D6C: aot_gpr_31 = (0x08B07D74u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 641u, 0x08AFEDA0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B07D74u) goto L_08B07D74; AOT_REGCACHE_SYNC_OUT(); return; L_08B07D74: - aot_gpr_16 = (aot_gpr_29 + static_cast(912)); + ctx.gpr[16] = (aot_gpr_29 + static_cast(912)); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[30])); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B07D88u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 584u, 0x08AFE9B0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B07D88u) goto L_08B07D88; AOT_REGCACHE_SYNC_OUT(); return; L_08B07D88: @@ -9611,7 +9612,7 @@ L_08B07D88: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x08B07D9Cu); - ctx.gpr[6] = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 582u, 0x08AFE980u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B07D9Cu) goto L_08B07D9C; AOT_REGCACHE_SYNC_OUT(); return; L_08B07D9C: @@ -9625,7 +9626,7 @@ L_08B07DA8: aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(1640), aot_run_words); ctx.fpr[30] = std::bit_cast(aot_run_words[0]); ctx.gpr[21] = aot_run_words[1]; - aot_gpr_16 = aot_run_words[2]; + ctx.gpr[16] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; } goto L_08B07DB8; @@ -9656,7 +9657,7 @@ L_08B07DE8: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(ctx.fpr[22]) || std::isnan(ctx.fpr[26])) && ctx.fpr[22] == ctx.fpr[26])) ? 0x00800000u : 0u); // nop if (!((ctx.fcr31 & 0x00800000u) != 0u)) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(356))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(356))); goto L_08B07E74; } goto L_08B07DF8; @@ -9675,13 +9676,13 @@ L_08B07E00: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0098_entry, 98u, 430u, 0x0898D2D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B07E0Cu) goto L_08B07E0C; AOT_REGCACHE_SYNC_OUT(); return; L_08B07E0C: - ctx.gpr[21] = (ctx.gpr[2] | 0u); + ctx.gpr[21] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08B07E18u); aot_gpr_4 = (ctx.gpr[22] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0098_entry, 98u, 388u, 0x0898D140u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B07E18u) goto L_08B07E18; AOT_REGCACHE_SYNC_OUT(); return; L_08B07E18: - aot_gpr_4 = (ctx.gpr[21] - ctx.gpr[2]); + aot_gpr_4 = (ctx.gpr[21] - aot_gpr_2); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_5 = (17279u << 16u); ctx.fpr[22] = static_cast(static_cast(std::bit_cast(aot_fpr_12))); @@ -9692,7 +9693,7 @@ L_08B07E18: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0098_entry, 98u, 90u, 0x0898C3A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B07E38u) goto L_08B07E38; AOT_REGCACHE_SYNC_OUT(); return; L_08B07E38: - aot_fpr_12 = std::bit_cast(ctx.gpr[2]); + aot_fpr_12 = std::bit_cast(aot_gpr_2); aot_gpr_31 = (0x08B07E44u); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 628u, 0x08AFECB8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B07E44u) goto L_08B07E44; @@ -9713,14 +9714,14 @@ L_08B07E54: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0098_entry, 98u, 90u, 0x0898C3A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B07E5Cu) goto L_08B07E5C; AOT_REGCACHE_SYNC_OUT(); return; L_08B07E5C: - aot_fpr_12 = std::bit_cast(ctx.gpr[2]); + aot_fpr_12 = std::bit_cast(aot_gpr_2); aot_gpr_4 = (15360u << 16u); ctx.fpr[22] = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_fpr_13 = std::bit_cast(aot_gpr_4); { const float fs = ctx.fpr[22]; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[22] = std::bit_cast(0x7FC00000u); else ctx.fpr[22] = fs * ft; } goto L_08B07E70; L_08B07E70: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(356))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(356))); goto L_08B07E74; L_08B07E74: aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[24])); @@ -9738,17 +9739,17 @@ L_08B07E74: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 633u, 0x08AFECFCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B07EA4u) goto L_08B07EA4; AOT_REGCACHE_SYNC_OUT(); return; L_08B07EA4: - ctx.gpr[21] = (ctx.gpr[2] | 0u); + ctx.gpr[21] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08B07EB0u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 650u, 0x08AFEE34u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B07EB0u) goto L_08B07EB0; AOT_REGCACHE_SYNC_OUT(); return; L_08B07EB0: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(8))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(8))); aot_gpr_4 = (16128u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_gpr_5 = (ctx.gpr[21] | 0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B07ECCu); aot_fpr_12 = aot_fpr_13 - aot_fpr_12; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 585u, 0x08AFE9CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B07ECCu) goto L_08B07ECC; @@ -9757,13 +9758,13 @@ L_08B07ECC: aot_gpr_4 = (15363u << 16u); aot_gpr_4 = (aot_gpr_4 | 4719u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B07EE4u); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 585u, 0x08AFE9CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B07EE4u) goto L_08B07EE4; AOT_REGCACHE_SYNC_OUT(); return; L_08B07EE4: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(208))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(208))); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08B07EF4u); aot_gpr_5 = (ctx.gpr[18] | 0u); @@ -9783,26 +9784,26 @@ L_08B07EFC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 585u, 0x08AFE9CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B07F10u) goto L_08B07F10; AOT_REGCACHE_SYNC_OUT(); return; L_08B07F10: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B07F1Cu); aot_gpr_5 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 651u, 0x08AFEE3Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B07F1Cu) goto L_08B07F1C; AOT_REGCACHE_SYNC_OUT(); return; L_08B07F1C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(356))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(356))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(640))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); { const float fs = aot_fpr_13; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_31 = (0x08B07F38u); aot_fpr_20 = aot_fpr_20 - aot_fpr_12; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 643u, 0x08AFEDB0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B07F38u) goto L_08B07F38; AOT_REGCACHE_SYNC_OUT(); return; L_08B07F38: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[30] | 0u); aot_gpr_31 = (0x08B07F48u); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(8))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(8))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 489u, 0x08B01D24u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B07F48u) goto L_08B07F48; AOT_REGCACHE_SYNC_OUT(); return; L_08B07F48: @@ -9817,12 +9818,12 @@ L_08B07F48: } L_08B07F58: aot_gpr_31 = (0x08B07F60u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 643u, 0x08AFEDB0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B07F60u) goto L_08B07F60; AOT_REGCACHE_SYNC_OUT(); return; L_08B07F60: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(8))); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(8))); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B07F70u); aot_gpr_5 = (ctx.gpr[30] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 489u, 0x08B01D24u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B07F70u) goto L_08B07F70; @@ -9851,8 +9852,8 @@ L_08B07F9C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 585u, 0x08AFE9CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B07FACu) goto L_08B07FAC; AOT_REGCACHE_SYNC_OUT(); return; L_08B07FAC: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(208))); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(208))); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B07FBCu); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 585u, 0x08AFE9CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B07FBCu) goto L_08B07FBC; @@ -9866,27 +9867,27 @@ L_08B07FC4: aot_gpr_4 = (ctx.gpr[21] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[0])); aot_gpr_31 = (0x08B07FD4u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 585u, 0x08AFE9CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B07FD4u) goto L_08B07FD4; AOT_REGCACHE_SYNC_OUT(); return; L_08B07FD4: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B07FE0u); aot_gpr_5 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 651u, 0x08AFEE3Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B07FE0u) goto L_08B07FE0; AOT_REGCACHE_SYNC_OUT(); return; L_08B07FE0: aot_gpr_31 = (0x08B07FE8u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B07FE8u) goto L_08B07FE8; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AFEDA8, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0190_entry, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B07FE8u) goto L_08B07FE8; AOT_REGCACHE_SYNC_OUT(); return; L_08B07FE8: aot_gpr_31 = (0x08B07FF0u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 641u, 0x08AFEDA0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B07FF0u) goto L_08B07FF0; AOT_REGCACHE_SYNC_OUT(); return; L_08B07FF0: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(8))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(8))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[24])) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); diff --git a/profiles/vcs/generated/generated_unit_0193.cpp b/profiles/vcs/generated/generated_unit_0193.cpp index d9149fa..6535a70 100644 --- a/profiles/vcs/generated/generated_unit_0193.cpp +++ b/profiles/vcs/generated/generated_unit_0193.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0193[4094] = { }; void recomp_unit_0193_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,29,5,31,16,17 fprs=12,13,20,22 gpr_occ=2885 fpr_occ=1465 gpr_total=4217 fpr_total=2138 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,31,29,5,2,6 fprs=12,13,20,22 gpr_occ=3009 fpr_occ=1467 gpr_total=4520 fpr_total=2140 std::uint32_t aot_gpr_4 = ctx.gpr[4]; + std::uint32_t aot_gpr_31 = ctx.gpr[31]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; - std::uint32_t aot_gpr_31 = ctx.gpr[31]; - std::uint32_t aot_gpr_16 = ctx.gpr[16]; - std::uint32_t aot_gpr_17 = ctx.gpr[17]; + std::uint32_t aot_gpr_2 = ctx.gpr[2]; + std::uint32_t aot_gpr_6 = ctx.gpr[6]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_20 = ctx.fpr[20]; float aot_fpr_22 = ctx.fpr[22]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[29] = aot_gpr_29; ctx.gpr[5] = aot_gpr_5; ctx.gpr[31] = aot_gpr_31; ctx.gpr[16] = aot_gpr_16; ctx.gpr[17] = aot_gpr_17; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; ctx.fpr[22] = aot_fpr_22; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_17 = ctx.gpr[17]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_22 = ctx.fpr[22]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[31] = aot_gpr_31; ctx.gpr[29] = aot_gpr_29; ctx.gpr[5] = aot_gpr_5; ctx.gpr[2] = aot_gpr_2; ctx.gpr[6] = aot_gpr_6; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; ctx.fpr[22] = aot_fpr_22; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_2 = ctx.gpr[2]; aot_gpr_6 = ctx.gpr[6]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_22 = ctx.fpr[22]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -883,16 +884,16 @@ LOCAL_DISPATCH: L_08B08004: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1656), ctx.gpr[22]); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[24])); - aot_gpr_16 = (aot_gpr_29 + static_cast(976)); + ctx.gpr[16] = (aot_gpr_29 + static_cast(976)); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[24])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1652), ctx.gpr[23]); ctx.fpr[14] = std::bit_cast(std::bit_cast(ctx.fpr[30])); aot_gpr_31 = (0x08B08024u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 633u, 0x08AFECFCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08024u) goto L_08B08024; AOT_REGCACHE_SYNC_OUT(); return; L_08B08024: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(356))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(356))); ctx.gpr[18] = (aot_gpr_29 + static_cast(928)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(88))); aot_gpr_5 = (ctx.gpr[28] + static_cast(10384)); @@ -901,36 +902,36 @@ L_08B08024: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 584u, 0x08AFE9B0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0803Cu) goto L_08B0803C; AOT_REGCACHE_SYNC_OUT(); return; L_08B0803C: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B08048u); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08048u) goto L_08B08048; AOT_REGCACHE_SYNC_OUT(); return; L_08B08048: aot_gpr_31 = (0x08B08050u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 635u, 0x08AFED20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08050u) goto L_08B08050; AOT_REGCACHE_SYNC_OUT(); return; L_08B08050: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(356))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(356))); ctx.gpr[19] = (aot_gpr_29 + static_cast(948)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(36))); ctx.gpr[20] = (aot_gpr_4 + static_cast(36)); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B08070u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(948), std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08070u) goto L_08B08070; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AFEDA8, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0190_entry, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08070u) goto L_08B08070; AOT_REGCACHE_SYNC_OUT(); return; L_08B08070: aot_gpr_31 = (0x08B08078u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 639u, 0x08AFED90u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08078u) goto L_08B08078; AOT_REGCACHE_SYNC_OUT(); return; L_08B08078: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08B08084u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 580u, 0x08AFE950u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08084u) goto L_08B08084; AOT_REGCACHE_SYNC_OUT(); return; L_08B08084: @@ -955,72 +956,72 @@ L_08B080AC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 648u, 0x08AFEE24u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B080B4u) goto L_08B080B4; AOT_REGCACHE_SYNC_OUT(); return; L_08B080B4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(356))); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(212))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(356))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(212))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(40))); { const float fs = aot_fpr_13; const float ft = aot_fpr_20; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); { const float fs = aot_fpr_13; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_31 = (0x08B080D4u); { const float fs = aot_fpr_12; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_22 = std::bit_cast(0x7FC00000u); else aot_fpr_22 = fs * ft; } - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B080D4u) goto L_08B080D4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AFEDA8, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0190_entry, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B080D4u) goto L_08B080D4; AOT_REGCACHE_SYNC_OUT(); return; L_08B080D4: aot_gpr_31 = (0x08B080DCu); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 641u, 0x08AFEDA0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B080DCu) goto L_08B080DC; AOT_REGCACHE_SYNC_OUT(); return; L_08B080DC: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_22)); aot_gpr_31 = (0x08B080ECu); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 584u, 0x08AFE9B0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B080ECu) goto L_08B080EC; AOT_REGCACHE_SYNC_OUT(); return; L_08B080EC: aot_gpr_31 = (0x08B080F4u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B080F4u) goto L_08B080F4; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AFEDA8, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0190_entry, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B080F4u) goto L_08B080F4; AOT_REGCACHE_SYNC_OUT(); return; L_08B080F4: aot_gpr_31 = (0x08B080FCu); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 639u, 0x08AFED90u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B080FCu) goto L_08B080FC; AOT_REGCACHE_SYNC_OUT(); return; L_08B080FC: ctx.gpr[22] = (aot_gpr_29 + static_cast(960)); aot_gpr_4 = (ctx.gpr[22] | 0u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08B08110u); - ctx.gpr[6] = (ctx.gpr[21] | 0u); + aot_gpr_6 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 582u, 0x08AFE980u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08110u) goto L_08B08110; AOT_REGCACHE_SYNC_OUT(); return; L_08B08110: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08B08120u); - ctx.gpr[6] = (ctx.gpr[22] | 0u); + aot_gpr_6 = (ctx.gpr[22] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 653u, 0x08AFEE60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08120u) goto L_08B08120; AOT_REGCACHE_SYNC_OUT(); return; L_08B08120: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(356))); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(356))); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(36))); ctx.gpr[18] = (aot_gpr_5 + static_cast(36)); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); aot_gpr_31 = (0x08B0813Cu); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(948), std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0813Cu) goto L_08B0813C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AFEDA8, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0190_entry, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0813Cu) goto L_08B0813C; AOT_REGCACHE_SYNC_OUT(); return; L_08B0813C: aot_gpr_31 = (0x08B08144u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 640u, 0x08AFED98u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08144u) goto L_08B08144; AOT_REGCACHE_SYNC_OUT(); return; L_08B08144: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08B08150u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 580u, 0x08AFE950u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08150u) goto L_08B08150; AOT_REGCACHE_SYNC_OUT(); return; L_08B08150: @@ -1043,51 +1044,51 @@ L_08B08170: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 648u, 0x08AFEE24u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08178u) goto L_08B08178; AOT_REGCACHE_SYNC_OUT(); return; L_08B08178: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(356))); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(212))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(356))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(212))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(40))); { const float fs = aot_fpr_13; const float ft = aot_fpr_20; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); { const float fs = aot_fpr_13; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_31 = (0x08B08198u); { const float fs = aot_fpr_12; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_22 = std::bit_cast(0x7FC00000u); else aot_fpr_22 = fs * ft; } - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08198u) goto L_08B08198; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AFEDA8, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0190_entry, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08198u) goto L_08B08198; AOT_REGCACHE_SYNC_OUT(); return; L_08B08198: aot_gpr_31 = (0x08B081A0u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 641u, 0x08AFEDA0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B081A0u) goto L_08B081A0; AOT_REGCACHE_SYNC_OUT(); return; L_08B081A0: aot_gpr_4 = (ctx.gpr[22] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_22)); aot_gpr_31 = (0x08B081B0u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 584u, 0x08AFE9B0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B081B0u) goto L_08B081B0; AOT_REGCACHE_SYNC_OUT(); return; L_08B081B0: aot_gpr_31 = (0x08B081B8u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B081B8u) goto L_08B081B8; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AFEDA8, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0190_entry, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B081B8u) goto L_08B081B8; AOT_REGCACHE_SYNC_OUT(); return; L_08B081B8: aot_gpr_31 = (0x08B081C0u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 640u, 0x08AFED98u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B081C0u) goto L_08B081C0; AOT_REGCACHE_SYNC_OUT(); return; L_08B081C0: - aot_gpr_16 = (aot_gpr_29 + static_cast(928)); - aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (aot_gpr_29 + static_cast(928)); + aot_gpr_4 = (ctx.gpr[16] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08B081D4u); - ctx.gpr[6] = (ctx.gpr[21] | 0u); + aot_gpr_6 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 582u, 0x08AFE980u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B081D4u) goto L_08B081D4; AOT_REGCACHE_SYNC_OUT(); return; L_08B081D4: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x08B081E4u); - ctx.gpr[6] = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 653u, 0x08AFEE60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B081E4u) goto L_08B081E4; AOT_REGCACHE_SYNC_OUT(); return; L_08B081E4: @@ -1101,28 +1102,28 @@ L_08B081E4: } L_08B081F0: aot_gpr_31 = (0x08B081F8u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B081F8u) goto L_08B081F8; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AFEDA8, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0190_entry, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B081F8u) goto L_08B081F8; AOT_REGCACHE_SYNC_OUT(); return; L_08B081F8: aot_gpr_31 = (0x08B08200u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 639u, 0x08AFED90u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08200u) goto L_08B08200; AOT_REGCACHE_SYNC_OUT(); return; L_08B08200: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(8))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(8))); ctx.gpr[18] = (aot_gpr_29 + static_cast(992)); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[24])) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); - aot_gpr_16 = (aot_gpr_29 + static_cast(1008)); + ctx.gpr[16] = (aot_gpr_29 + static_cast(1008)); if (branch_taken) { goto L_08B08224; } goto L_08B08218; } L_08B08218: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(356))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(356))); { const bool branch_taken = 0u == 0u; aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(36))); if (branch_taken) { @@ -1131,7 +1132,7 @@ L_08B08218: goto L_08B08224; } L_08B08224: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(356))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(356))); aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(36))); aot_fpr_20 = std::bit_cast(std::bit_cast(aot_fpr_20) ^ 0x80000000u); goto L_08B08230; @@ -1141,64 +1142,64 @@ L_08B08230: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 648u, 0x08AFEE24u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08238u) goto L_08B08238; AOT_REGCACHE_SYNC_OUT(); return; L_08B08238: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(356))); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(212))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(356))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(212))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(40))); { const float fs = aot_fpr_13; const float ft = aot_fpr_20; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); { const float fs = aot_fpr_13; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_31 = (0x08B08258u); { const float fs = aot_fpr_12; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_22 = std::bit_cast(0x7FC00000u); else aot_fpr_22 = fs * ft; } - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08258u) goto L_08B08258; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AFEDA8, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0190_entry, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08258u) goto L_08B08258; AOT_REGCACHE_SYNC_OUT(); return; L_08B08258: aot_gpr_31 = (0x08B08260u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 641u, 0x08AFEDA0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08260u) goto L_08B08260; AOT_REGCACHE_SYNC_OUT(); return; L_08B08260: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_22)); aot_gpr_31 = (0x08B08270u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 584u, 0x08AFE9B0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08270u) goto L_08B08270; AOT_REGCACHE_SYNC_OUT(); return; L_08B08270: aot_gpr_31 = (0x08B08278u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08278u) goto L_08B08278; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AFEDA8, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0190_entry, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08278u) goto L_08B08278; AOT_REGCACHE_SYNC_OUT(); return; L_08B08278: aot_gpr_31 = (0x08B08280u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 639u, 0x08AFED90u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08280u) goto L_08B08280; AOT_REGCACHE_SYNC_OUT(); return; L_08B08280: - aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08B08290u); - ctx.gpr[6] = (ctx.gpr[21] | 0u); + aot_gpr_6 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 582u, 0x08AFE980u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08290u) goto L_08B08290; AOT_REGCACHE_SYNC_OUT(); return; L_08B08290: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08B082A0u); - ctx.gpr[6] = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 653u, 0x08AFEE60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B082A0u) goto L_08B082A0; AOT_REGCACHE_SYNC_OUT(); return; L_08B082A0: aot_gpr_31 = (0x08B082A8u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B082A8u) goto L_08B082A8; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AFEDA8, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0190_entry, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B082A8u) goto L_08B082A8; AOT_REGCACHE_SYNC_OUT(); return; L_08B082A8: aot_gpr_31 = (0x08B082B0u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 640u, 0x08AFED98u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B082B0u) goto L_08B082B0; AOT_REGCACHE_SYNC_OUT(); return; L_08B082B0: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(8))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(8))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[24])) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); @@ -1209,7 +1210,7 @@ L_08B082B0: goto L_08B082C4; } L_08B082C4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(356))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(356))); { const bool branch_taken = 0u == 0u; aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(36))); if (branch_taken) { @@ -1218,7 +1219,7 @@ L_08B082C4: goto L_08B082D0; } L_08B082D0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(356))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(356))); aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(36))); aot_fpr_20 = std::bit_cast(std::bit_cast(aot_fpr_20) ^ 0x80000000u); goto L_08B082DC; @@ -1228,50 +1229,50 @@ L_08B082DC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 648u, 0x08AFEE24u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B082E4u) goto L_08B082E4; AOT_REGCACHE_SYNC_OUT(); return; L_08B082E4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(356))); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(212))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(356))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(212))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(40))); { const float fs = aot_fpr_13; const float ft = aot_fpr_20; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); { const float fs = aot_fpr_13; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_31 = (0x08B08304u); { const float fs = aot_fpr_12; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_22 = std::bit_cast(0x7FC00000u); else aot_fpr_22 = fs * ft; } - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08304u) goto L_08B08304; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AFEDA8, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0190_entry, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08304u) goto L_08B08304; AOT_REGCACHE_SYNC_OUT(); return; L_08B08304: aot_gpr_31 = (0x08B0830Cu); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 641u, 0x08AFEDA0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0830Cu) goto L_08B0830C; AOT_REGCACHE_SYNC_OUT(); return; L_08B0830C: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_22)); aot_gpr_31 = (0x08B0831Cu); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 584u, 0x08AFE9B0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0831Cu) goto L_08B0831C; AOT_REGCACHE_SYNC_OUT(); return; L_08B0831C: aot_gpr_31 = (0x08B08324u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08324u) goto L_08B08324; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AFEDA8, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0190_entry, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08324u) goto L_08B08324; AOT_REGCACHE_SYNC_OUT(); return; L_08B08324: aot_gpr_31 = (0x08B0832Cu); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 640u, 0x08AFED98u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0832Cu) goto L_08B0832C; AOT_REGCACHE_SYNC_OUT(); return; L_08B0832C: aot_gpr_4 = (ctx.gpr[18] | 0u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08B0833Cu); - ctx.gpr[6] = (ctx.gpr[21] | 0u); + aot_gpr_6 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 582u, 0x08AFE980u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0833Cu) goto L_08B0833C; AOT_REGCACHE_SYNC_OUT(); return; L_08B0833C: - aot_gpr_4 = (aot_gpr_17 | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B0834Cu); - ctx.gpr[6] = (ctx.gpr[18] | 0u); + aot_gpr_6 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 653u, 0x08AFEE60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0834Cu) goto L_08B0834C; AOT_REGCACHE_SYNC_OUT(); return; L_08B0834C: @@ -1308,7 +1309,7 @@ L_08B08374: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0098_entry, 98u, 52u, 0x0898C1C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0837Cu) goto L_08B0837C; AOT_REGCACHE_SYNC_OUT(); return; L_08B0837C: - aot_fpr_12 = std::bit_cast(ctx.gpr[2]); + aot_fpr_12 = std::bit_cast(aot_gpr_2); aot_gpr_4 = (15360u << 16u); aot_fpr_20 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_fpr_13 = std::bit_cast(aot_gpr_4); @@ -1339,7 +1340,7 @@ L_08B083AC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0098_entry, 98u, 1086u, 0x0898F36Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B083B4u) goto L_08B083B4; AOT_REGCACHE_SYNC_OUT(); return; L_08B083B4: - aot_gpr_4 = (0u - ctx.gpr[2]); + aot_gpr_4 = (0u - aot_gpr_2); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_22 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_gpr_4 = (15360u << 16u); @@ -1370,14 +1371,14 @@ L_08B083E4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0098_entry, 98u, 200u, 0x0898C924u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B083ECu) goto L_08B083EC; AOT_REGCACHE_SYNC_OUT(); return; L_08B083EC: - ctx.fpr[28] = std::bit_cast(ctx.gpr[2]); + ctx.fpr[28] = std::bit_cast(aot_gpr_2); aot_gpr_4 = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x08B083FCu); ctx.fpr[28] = static_cast(static_cast(std::bit_cast(ctx.fpr[28]))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0098_entry, 98u, 148u, 0x0898C6D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B083FCu) goto L_08B083FC; AOT_REGCACHE_SYNC_OUT(); return; L_08B083FC: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08B0840C; @@ -1395,7 +1396,7 @@ L_08B0840C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0098_entry, 98u, 73u, 0x0898C2B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08418u) goto L_08B08418; AOT_REGCACHE_SYNC_OUT(); return; L_08B08418: - aot_fpr_12 = std::bit_cast(ctx.gpr[2]); + aot_fpr_12 = std::bit_cast(aot_gpr_2); aot_gpr_31 = (0x08B08424u); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 628u, 0x08AFECB8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08424u) goto L_08B08424; @@ -1417,7 +1418,7 @@ L_08B08434: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0098_entry, 98u, 73u, 0x0898C2B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08440u) goto L_08B08440; AOT_REGCACHE_SYNC_OUT(); return; L_08B08440: - aot_fpr_12 = std::bit_cast(ctx.gpr[2]); + aot_fpr_12 = std::bit_cast(aot_gpr_2); aot_gpr_4 = (15360u << 16u); ctx.fpr[28] = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_fpr_13 = std::bit_cast(aot_gpr_4); @@ -1453,7 +1454,7 @@ L_08B08474: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0098_entry, 98u, 52u, 0x0898C1C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0847Cu) goto L_08B0847C; AOT_REGCACHE_SYNC_OUT(); return; L_08B0847C: - aot_fpr_12 = std::bit_cast(ctx.gpr[2]); + aot_fpr_12 = std::bit_cast(aot_gpr_2); aot_gpr_4 = (15360u << 16u); aot_fpr_20 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_fpr_13 = std::bit_cast(aot_gpr_4); @@ -1483,7 +1484,7 @@ L_08B084A8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0098_entry, 98u, 148u, 0x0898C6D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B084B0u) goto L_08B084B0; AOT_REGCACHE_SYNC_OUT(); return; L_08B084B0: - aot_fpr_22 = std::bit_cast(ctx.gpr[2]); + aot_fpr_22 = std::bit_cast(aot_gpr_2); aot_fpr_22 = static_cast(static_cast(std::bit_cast(aot_fpr_22))); goto L_08B084B8; L_08B084B8: @@ -1510,7 +1511,7 @@ L_08B084D0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0098_entry, 98u, 200u, 0x0898C924u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B084D8u) goto L_08B084D8; AOT_REGCACHE_SYNC_OUT(); return; L_08B084D8: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08B084E8; @@ -1527,14 +1528,14 @@ L_08B084E8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0098_entry, 98u, 1086u, 0x0898F36Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B084F0u) goto L_08B084F0; AOT_REGCACHE_SYNC_OUT(); return; L_08B084F0: - aot_fpr_12 = std::bit_cast(ctx.gpr[2]); + aot_fpr_12 = std::bit_cast(aot_gpr_2); aot_gpr_4 = (15360u << 16u); ctx.fpr[28] = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_fpr_13 = std::bit_cast(aot_gpr_4); { const float fs = ctx.fpr[28]; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[28] = std::bit_cast(0x7FC00000u); else ctx.fpr[28] = fs * ft; } goto L_08B08504; L_08B08504: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(617)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(617)))))); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -1544,7 +1545,7 @@ L_08B08504: goto L_08B08514; } L_08B08514: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(356))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(356))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(28))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(40))); aot_fpr_12 = aot_fpr_12 / aot_fpr_13; @@ -1560,7 +1561,7 @@ L_08B0852C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 623u, 0x08AFEBF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0853Cu) goto L_08B0853C; AOT_REGCACHE_SYNC_OUT(); return; L_08B0853C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(356))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(356))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(40))); ctx.fpr[14] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(28))); { const float fs = ctx.fpr[0]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } @@ -1569,28 +1570,28 @@ L_08B0853C: { const float fs = aot_fpr_12; const float ft = aot_fpr_22; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_22 = std::bit_cast(0x7FC00000u); else aot_fpr_22 = fs * ft; } goto L_08B08558; L_08B08558: - aot_gpr_16 = (aot_gpr_29 + static_cast(544)); + ctx.gpr[16] = (aot_gpr_29 + static_cast(544)); ctx.gpr[18] = (aot_gpr_29 + static_cast(560)); ctx.gpr[19] = (aot_gpr_29 + static_cast(576)); ctx.gpr[20] = (aot_gpr_29 + static_cast(592)); aot_gpr_31 = (0x08B08570u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08570u) goto L_08B08570; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AFEDA8, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0190_entry, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08570u) goto L_08B08570; AOT_REGCACHE_SYNC_OUT(); return; L_08B08570: aot_gpr_31 = (0x08B08578u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 641u, 0x08AFEDA0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08578u) goto L_08B08578; AOT_REGCACHE_SYNC_OUT(); return; L_08B08578: aot_gpr_4 = (ctx.gpr[20] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_31 = (0x08B08588u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 585u, 0x08AFE9CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08588u) goto L_08B08588; AOT_REGCACHE_SYNC_OUT(); return; L_08B08588: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(356))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(356))); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(28))); aot_gpr_31 = (0x08B0859Cu); @@ -1598,7 +1599,7 @@ L_08B08588: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 585u, 0x08AFE9CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0859Cu) goto L_08B0859C; AOT_REGCACHE_SYNC_OUT(); return; L_08B0859C: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(212))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(212))); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08B085ACu); aot_gpr_5 = (ctx.gpr[19] | 0u); @@ -1610,7 +1611,7 @@ L_08B085AC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 648u, 0x08AFEE24u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B085B4u) goto L_08B085B4; AOT_REGCACHE_SYNC_OUT(); return; L_08B085B4: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[0])); aot_gpr_31 = (0x08B085C4u); aot_gpr_5 = (ctx.gpr[18] | 0u); @@ -1619,47 +1620,47 @@ L_08B085B4: L_08B085C4: ctx.gpr[22] = (aot_gpr_29 + static_cast(608)); aot_gpr_31 = (0x08B085D0u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B085D0u) goto L_08B085D0; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AFEDA8, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0190_entry, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B085D0u) goto L_08B085D0; AOT_REGCACHE_SYNC_OUT(); return; L_08B085D0: aot_gpr_31 = (0x08B085D8u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 640u, 0x08AFED98u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B085D8u) goto L_08B085D8; AOT_REGCACHE_SYNC_OUT(); return; L_08B085D8: aot_gpr_4 = (ctx.gpr[22] | 0u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08B085E8u); - ctx.gpr[6] = (ctx.gpr[21] | 0u); + aot_gpr_6 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 582u, 0x08AFE980u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B085E8u) goto L_08B085E8; AOT_REGCACHE_SYNC_OUT(); return; L_08B085E8: - aot_gpr_4 = (aot_gpr_17 | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B085F8u); - ctx.gpr[6] = (ctx.gpr[22] | 0u); + aot_gpr_6 = (ctx.gpr[22] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 653u, 0x08AFEE60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B085F8u) goto L_08B085F8; AOT_REGCACHE_SYNC_OUT(); return; L_08B085F8: aot_gpr_31 = (0x08B08600u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08600u) goto L_08B08600; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AFEDA8, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0190_entry, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08600u) goto L_08B08600; AOT_REGCACHE_SYNC_OUT(); return; L_08B08600: aot_gpr_31 = (0x08B08608u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 641u, 0x08AFEDA0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08608u) goto L_08B08608; AOT_REGCACHE_SYNC_OUT(); return; L_08B08608: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_22)); aot_gpr_31 = (0x08B08618u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 585u, 0x08AFE9CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08618u) goto L_08B08618; AOT_REGCACHE_SYNC_OUT(); return; L_08B08618: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(356))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(356))); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(20))); aot_gpr_31 = (0x08B0862Cu); @@ -1667,7 +1668,7 @@ L_08B08618: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 585u, 0x08AFE9CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0862Cu) goto L_08B0862C; AOT_REGCACHE_SYNC_OUT(); return; L_08B0862C: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(212))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(212))); aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08B0863Cu); aot_gpr_5 = (ctx.gpr[19] | 0u); @@ -1687,60 +1688,60 @@ L_08B08644: AOT_REGCACHE_SYNC_OUT(); return; L_08B08654: aot_gpr_31 = (0x08B0865Cu); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0865Cu) goto L_08B0865C; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AFEDA8, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0190_entry, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0865Cu) goto L_08B0865C; AOT_REGCACHE_SYNC_OUT(); return; L_08B0865C: aot_gpr_31 = (0x08B08664u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 639u, 0x08AFED90u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08664u) goto L_08B08664; AOT_REGCACHE_SYNC_OUT(); return; L_08B08664: - aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08B08674u); - ctx.gpr[6] = (ctx.gpr[21] | 0u); + aot_gpr_6 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 582u, 0x08AFE980u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08674u) goto L_08B08674; AOT_REGCACHE_SYNC_OUT(); return; L_08B08674: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x08B08684u); - ctx.gpr[6] = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 653u, 0x08AFEE60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08684u) goto L_08B08684; AOT_REGCACHE_SYNC_OUT(); return; L_08B08684: aot_gpr_31 = (0x08B0868Cu); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0868Cu) goto L_08B0868C; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AFEDA8, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0190_entry, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0868Cu) goto L_08B0868C; AOT_REGCACHE_SYNC_OUT(); return; L_08B0868C: aot_gpr_31 = (0x08B08694u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 639u, 0x08AFED90u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08694u) goto L_08B08694; AOT_REGCACHE_SYNC_OUT(); return; L_08B08694: aot_gpr_4 = (ctx.gpr[23] | 0u); aot_gpr_31 = (0x08B086A0u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 580u, 0x08AFE950u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B086A0u) goto L_08B086A0; AOT_REGCACHE_SYNC_OUT(); return; L_08B086A0: aot_fpr_20 = std::bit_cast(std::bit_cast(ctx.fpr[0]) ^ 0x80000000u); ctx.gpr[23] = (aot_gpr_29 + static_cast(656)); aot_gpr_31 = (0x08B086B0u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B086B0u) goto L_08B086B0; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AFEDA8, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0190_entry, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B086B0u) goto L_08B086B0; AOT_REGCACHE_SYNC_OUT(); return; L_08B086B0: aot_gpr_31 = (0x08B086B8u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 639u, 0x08AFED90u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B086B8u) goto L_08B086B8; AOT_REGCACHE_SYNC_OUT(); return; L_08B086B8: aot_gpr_4 = (ctx.gpr[23] | 0u); aot_gpr_31 = (0x08B086C4u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 634u, 0x08AFED10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B086C4u) goto L_08B086C4; AOT_REGCACHE_SYNC_OUT(); return; L_08B086C4: @@ -1749,7 +1750,7 @@ L_08B086C4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 628u, 0x08AFECB8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B086CCu) goto L_08B086CC; AOT_REGCACHE_SYNC_OUT(); return; L_08B086CC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(356))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(356))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); aot_gpr_4 = (ctx.gpr[23] | 0u); { const float fs = aot_fpr_12; const float ft = aot_fpr_20; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } @@ -1758,7 +1759,7 @@ L_08B086CC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 638u, 0x08AFED74u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B086E4u) goto L_08B086E4; AOT_REGCACHE_SYNC_OUT(); return; L_08B086E4: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(208))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(208))); aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08B086F4u); aot_gpr_5 = (ctx.gpr[23] | 0u); @@ -1777,25 +1778,25 @@ L_08B086FC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 585u, 0x08AFE9CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0870Cu) goto L_08B0870C; AOT_REGCACHE_SYNC_OUT(); return; L_08B0870C: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B08718u); aot_gpr_5 = (ctx.gpr[22] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 651u, 0x08AFEE3Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08718u) goto L_08B08718; AOT_REGCACHE_SYNC_OUT(); return; L_08B08718: aot_gpr_31 = (0x08B08720u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08720u) goto L_08B08720; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AFEDA8, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0190_entry, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08720u) goto L_08B08720; AOT_REGCACHE_SYNC_OUT(); return; L_08B08720: aot_gpr_31 = (0x08B08728u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 639u, 0x08AFED90u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08728u) goto L_08B08728; AOT_REGCACHE_SYNC_OUT(); return; L_08B08728: aot_gpr_4 = (ctx.gpr[23] | 0u); aot_gpr_31 = (0x08B08734u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 637u, 0x08AFED64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08734u) goto L_08B08734; AOT_REGCACHE_SYNC_OUT(); return; L_08B08734: @@ -1804,7 +1805,7 @@ L_08B08734: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 648u, 0x08AFEE24u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0873Cu) goto L_08B0873C; AOT_REGCACHE_SYNC_OUT(); return; L_08B0873C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(356))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(356))); aot_fpr_22 = std::bit_cast(std::bit_cast(ctx.fpr[0])); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); @@ -1813,10 +1814,10 @@ L_08B0873C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 628u, 0x08AFECB8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08754u) goto L_08B08754; AOT_REGCACHE_SYNC_OUT(); return; L_08B08754: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(356))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(356))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(12))); { const float fs = aot_fpr_12; const float ft = aot_fpr_20; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - ctx.fpr[14] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(212))); + ctx.fpr[14] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(212))); aot_gpr_4 = (ctx.gpr[23] | 0u); { const float fs = aot_fpr_12; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = ctx.fpr[26] + aot_fpr_12; @@ -1827,53 +1828,53 @@ L_08B08754: AOT_REGCACHE_SYNC_OUT(); return; L_08B0877C: aot_gpr_31 = (0x08B08784u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08784u) goto L_08B08784; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AFEDA8, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0190_entry, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08784u) goto L_08B08784; AOT_REGCACHE_SYNC_OUT(); return; L_08B08784: aot_gpr_31 = (0x08B0878Cu); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 640u, 0x08AFED98u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0878Cu) goto L_08B0878C; AOT_REGCACHE_SYNC_OUT(); return; L_08B0878C: aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08B08798u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 581u, 0x08AFE96Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08798u) goto L_08B08798; AOT_REGCACHE_SYNC_OUT(); return; L_08B08798: aot_gpr_4 = (ctx.gpr[22] | 0u); aot_gpr_5 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08B087A8u); - ctx.gpr[6] = (ctx.gpr[21] | 0u); + aot_gpr_6 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 582u, 0x08AFE980u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B087A8u) goto L_08B087A8; AOT_REGCACHE_SYNC_OUT(); return; L_08B087A8: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[23] | 0u); aot_gpr_31 = (0x08B087B8u); - ctx.gpr[6] = (ctx.gpr[22] | 0u); + aot_gpr_6 = (ctx.gpr[22] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 653u, 0x08AFEE60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B087B8u) goto L_08B087B8; AOT_REGCACHE_SYNC_OUT(); return; L_08B087B8: aot_gpr_31 = (0x08B087C0u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B087C0u) goto L_08B087C0; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AFEDA8, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0190_entry, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B087C0u) goto L_08B087C0; AOT_REGCACHE_SYNC_OUT(); return; L_08B087C0: aot_gpr_31 = (0x08B087C8u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 640u, 0x08AFED98u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B087C8u) goto L_08B087C8; AOT_REGCACHE_SYNC_OUT(); return; L_08B087C8: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[28])); aot_gpr_31 = (0x08B087D8u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 585u, 0x08AFE9CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B087D8u) goto L_08B087D8; AOT_REGCACHE_SYNC_OUT(); return; L_08B087D8: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(356))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(356))); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(8))); aot_gpr_31 = (0x08B087ECu); @@ -1881,7 +1882,7 @@ L_08B087D8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 585u, 0x08AFE9CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B087ECu) goto L_08B087EC; AOT_REGCACHE_SYNC_OUT(); return; L_08B087EC: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(212))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(212))); aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08B087FCu); aot_gpr_5 = (ctx.gpr[19] | 0u); @@ -1901,26 +1902,26 @@ L_08B08804: AOT_REGCACHE_SYNC_OUT(); return; L_08B08814: aot_gpr_31 = (0x08B0881Cu); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0881Cu) goto L_08B0881C; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AFEDA8, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0190_entry, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0881Cu) goto L_08B0881C; AOT_REGCACHE_SYNC_OUT(); return; L_08B0881C: aot_gpr_31 = (0x08B08824u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 639u, 0x08AFED90u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08824u) goto L_08B08824; AOT_REGCACHE_SYNC_OUT(); return; L_08B08824: - aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08B08834u); - ctx.gpr[6] = (ctx.gpr[21] | 0u); + aot_gpr_6 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 582u, 0x08AFE980u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08834u) goto L_08B08834; AOT_REGCACHE_SYNC_OUT(); return; L_08B08834: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x08B08844u); - ctx.gpr[6] = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 653u, 0x08AFEE60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08844u) goto L_08B08844; AOT_REGCACHE_SYNC_OUT(); return; L_08B08844: @@ -1932,7 +1933,7 @@ L_08B08844: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 633u, 0x08AFECFCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08858u) goto L_08B08858; AOT_REGCACHE_SYNC_OUT(); return; L_08B08858: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(356))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(356))); aot_gpr_31 = (0x08B08864u); aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(48))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 648u, 0x08AFEE24u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08864u) goto L_08B08864; @@ -1945,7 +1946,7 @@ L_08B08864: AOT_REGCACHE_SYNC_OUT(); return; L_08B08870: aot_fpr_20 = std::bit_cast(std::bit_cast(ctx.fpr[0])); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(356))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(356))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(80), std::bit_cast(aot_fpr_20)); aot_gpr_31 = (0x08B08884u); aot_fpr_22 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(52))); @@ -1959,7 +1960,7 @@ L_08B08884: AOT_REGCACHE_SYNC_OUT(); return; L_08B08890: aot_fpr_22 = std::bit_cast(std::bit_cast(ctx.fpr[0])); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(356))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(356))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(84), std::bit_cast(aot_fpr_22)); aot_gpr_31 = (0x08B088A4u); ctx.fpr[26] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(56))); @@ -1973,17 +1974,17 @@ L_08B088A4: AOT_REGCACHE_SYNC_OUT(); return; L_08B088B0: ctx.fpr[26] = std::bit_cast(std::bit_cast(ctx.fpr[0])); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B088C0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(88), std::bit_cast(ctx.fpr[26])); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B088C0u) goto L_08B088C0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AFEDA8, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0190_entry, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B088C0u) goto L_08B088C0; AOT_REGCACHE_SYNC_OUT(); return; L_08B088C0: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1636))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1636))); aot_gpr_4 = (aot_gpr_29 + static_cast(96)); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B088D4u); - ctx.gpr[6] = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 578u, 0x08AFE908u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B088D4u) goto L_08B088D4; AOT_REGCACHE_SYNC_OUT(); return; L_08B088D4: @@ -2014,12 +2015,12 @@ L_08B088EC: } L_08B088F4: aot_gpr_31 = (0x08B088FCu); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 650u, 0x08AFEE34u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B088FCu) goto L_08B088FC; AOT_REGCACHE_SYNC_OUT(); return; L_08B088FC: aot_gpr_31 = (0x08B08904u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 636u, 0x08AFED48u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08904u) goto L_08B08904; AOT_REGCACHE_SYNC_OUT(); return; L_08B08904: @@ -2043,12 +2044,12 @@ L_08B08914: } L_08B08920: aot_gpr_31 = (0x08B08928u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 650u, 0x08AFEE34u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08928u) goto L_08B08928; AOT_REGCACHE_SYNC_OUT(); return; L_08B08928: aot_gpr_31 = (0x08B08930u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 636u, 0x08AFED48u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08930u) goto L_08B08930; AOT_REGCACHE_SYNC_OUT(); return; L_08B08930: @@ -2080,19 +2081,19 @@ L_08B0894C: } L_08B08954: aot_gpr_31 = (0x08B0895Cu); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 650u, 0x08AFEE34u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0895Cu) goto L_08B0895C; AOT_REGCACHE_SYNC_OUT(); return; L_08B0895C: aot_gpr_31 = (0x08B08964u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 636u, 0x08AFED48u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08964u) goto L_08B08964; AOT_REGCACHE_SYNC_OUT(); return; L_08B08964: ctx.fpr[28] = ctx.fpr[0] + ctx.fpr[30]; goto L_08B08968; L_08B08968: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(356))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(356))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(64))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[24])) ? 0x00800000u : 0u); // nop @@ -2104,7 +2105,7 @@ L_08B08968: goto L_08B08980; } L_08B08980: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(356))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(356))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(96))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(64))); { const float fs = aot_fpr_13; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } @@ -2145,7 +2146,7 @@ L_08B089D4: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(96), std::bit_cast(aot_fpr_12)); goto L_08B089E0; L_08B089E0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(356))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(356))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(68))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[24])) ? 0x00800000u : 0u); // nop @@ -2157,7 +2158,7 @@ L_08B089E0: goto L_08B089F8; } L_08B089F8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(356))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(356))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(100))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(68))); { const float fs = aot_fpr_13; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } @@ -2198,7 +2199,7 @@ L_08B08A4C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(100), std::bit_cast(aot_fpr_12)); goto L_08B08A58; L_08B08A58: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(356))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(356))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[24])) ? 0x00800000u : 0u); // nop @@ -2210,7 +2211,7 @@ L_08B08A58: goto L_08B08A70; } L_08B08A70: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(356))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(356))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(104))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); { const float fs = aot_fpr_13; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } @@ -2253,18 +2254,18 @@ L_08B08AC4: L_08B08AD0: ctx.gpr[18] = (aot_gpr_29 + static_cast(16)); aot_gpr_31 = (0x08B08ADCu); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08ADCu) goto L_08B08ADC; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AFEDA8, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0190_entry, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08ADCu) goto L_08B08ADC; AOT_REGCACHE_SYNC_OUT(); return; L_08B08ADC: - ctx.gpr[6] = (aot_gpr_29 + static_cast(96)); + aot_gpr_6 = (aot_gpr_29 + static_cast(96)); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08B08AECu); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 577u, 0x08AFE8E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08AECu) goto L_08B08AEC; AOT_REGCACHE_SYNC_OUT(); return; L_08B08AEC: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B08AF8u); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 637u, 0x08AFED64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08AF8u) goto L_08B08AF8; @@ -2288,25 +2289,25 @@ L_08B08B04: } L_08B08B18: aot_gpr_5 = (49024u << 16u); - aot_gpr_16 = (aot_gpr_29 + static_cast(112)); + ctx.gpr[16] = (aot_gpr_29 + static_cast(112)); aot_fpr_20 = std::bit_cast(aot_gpr_5); ctx.gpr[18] = (aot_gpr_29 + static_cast(1024)); ctx.gpr[19] = (aot_gpr_29 + static_cast(1040)); ctx.gpr[20] = (aot_gpr_29 + static_cast(1056)); aot_gpr_31 = (0x08B08B38u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08B38u) goto L_08B08B38; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AFEDA8, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0190_entry, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08B38u) goto L_08B08B38; AOT_REGCACHE_SYNC_OUT(); return; L_08B08B38: aot_gpr_31 = (0x08B08B40u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 640u, 0x08AFED98u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08B40u) goto L_08B08B40; AOT_REGCACHE_SYNC_OUT(); return; L_08B08B40: aot_gpr_4 = (ctx.gpr[20] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_31 = (0x08B08B50u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 584u, 0x08AFE9B0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08B50u) goto L_08B08B50; AOT_REGCACHE_SYNC_OUT(); return; L_08B08B50: @@ -2317,14 +2318,14 @@ L_08B08B50: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 585u, 0x08AFE9CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08B60u) goto L_08B08B60; AOT_REGCACHE_SYNC_OUT(); return; L_08B08B60: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(212))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(212))); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08B08B70u); aot_gpr_5 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 585u, 0x08AFE9CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08B70u) goto L_08B08B70; AOT_REGCACHE_SYNC_OUT(); return; L_08B08B70: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B08B7Cu); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 637u, 0x08AFED64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08B7Cu) goto L_08B08B7C; @@ -2332,19 +2333,19 @@ L_08B08B70: L_08B08B7C: ctx.gpr[18] = (aot_gpr_29 + static_cast(128)); aot_gpr_31 = (0x08B08B88u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08B88u) goto L_08B08B88; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AFEDA8, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0190_entry, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08B88u) goto L_08B08B88; AOT_REGCACHE_SYNC_OUT(); return; L_08B08B88: aot_gpr_31 = (0x08B08B90u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 641u, 0x08AFEDA0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08B90u) goto L_08B08B90; AOT_REGCACHE_SYNC_OUT(); return; L_08B08B90: aot_gpr_4 = (ctx.gpr[20] | 0u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08B08BA0u); - ctx.gpr[6] = (ctx.gpr[21] | 0u); + aot_gpr_6 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 582u, 0x08AFE980u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08BA0u) goto L_08B08BA0; AOT_REGCACHE_SYNC_OUT(); return; L_08B08BA0: @@ -2354,10 +2355,10 @@ L_08B08BA0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 637u, 0x08AFED64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08BACu) goto L_08B08BAC; AOT_REGCACHE_SYNC_OUT(); return; L_08B08BAC: - aot_gpr_4 = (aot_gpr_17 | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B08BBCu); - ctx.gpr[6] = (ctx.gpr[18] | 0u); + aot_gpr_6 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 653u, 0x08AFEE60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08BBCu) goto L_08B08BBC; AOT_REGCACHE_SYNC_OUT(); return; L_08B08BBC: @@ -2373,25 +2374,25 @@ L_08B08BBC: } L_08B08BD0: aot_gpr_5 = (49024u << 16u); - aot_gpr_16 = (aot_gpr_29 + static_cast(112)); + ctx.gpr[16] = (aot_gpr_29 + static_cast(112)); aot_fpr_20 = std::bit_cast(aot_gpr_5); ctx.gpr[18] = (aot_gpr_29 + static_cast(1072)); ctx.gpr[19] = (aot_gpr_29 + static_cast(1088)); ctx.gpr[20] = (aot_gpr_29 + static_cast(1104)); aot_gpr_31 = (0x08B08BF0u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08BF0u) goto L_08B08BF0; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AFEDA8, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0190_entry, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08BF0u) goto L_08B08BF0; AOT_REGCACHE_SYNC_OUT(); return; L_08B08BF0: aot_gpr_31 = (0x08B08BF8u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 641u, 0x08AFEDA0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08BF8u) goto L_08B08BF8; AOT_REGCACHE_SYNC_OUT(); return; L_08B08BF8: aot_gpr_4 = (ctx.gpr[20] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_31 = (0x08B08C08u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 584u, 0x08AFE9B0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08C08u) goto L_08B08C08; AOT_REGCACHE_SYNC_OUT(); return; L_08B08C08: @@ -2402,14 +2403,14 @@ L_08B08C08: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 585u, 0x08AFE9CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08C18u) goto L_08B08C18; AOT_REGCACHE_SYNC_OUT(); return; L_08B08C18: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(212))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(212))); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08B08C28u); aot_gpr_5 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 585u, 0x08AFE9CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08C28u) goto L_08B08C28; AOT_REGCACHE_SYNC_OUT(); return; L_08B08C28: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B08C34u); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 637u, 0x08AFED64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08C34u) goto L_08B08C34; @@ -2417,19 +2418,19 @@ L_08B08C28: L_08B08C34: ctx.gpr[18] = (aot_gpr_29 + static_cast(128)); aot_gpr_31 = (0x08B08C40u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08C40u) goto L_08B08C40; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AFEDA8, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0190_entry, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08C40u) goto L_08B08C40; AOT_REGCACHE_SYNC_OUT(); return; L_08B08C40: aot_gpr_31 = (0x08B08C48u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 639u, 0x08AFED90u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08C48u) goto L_08B08C48; AOT_REGCACHE_SYNC_OUT(); return; L_08B08C48: aot_gpr_4 = (ctx.gpr[20] | 0u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08B08C58u); - ctx.gpr[6] = (ctx.gpr[21] | 0u); + aot_gpr_6 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 582u, 0x08AFE980u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08C58u) goto L_08B08C58; AOT_REGCACHE_SYNC_OUT(); return; L_08B08C58: @@ -2439,10 +2440,10 @@ L_08B08C58: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 637u, 0x08AFED64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08C64u) goto L_08B08C64; AOT_REGCACHE_SYNC_OUT(); return; L_08B08C64: - aot_gpr_4 = (aot_gpr_17 | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B08C74u); - ctx.gpr[6] = (ctx.gpr[18] | 0u); + aot_gpr_6 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 653u, 0x08AFEE60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08C74u) goto L_08B08C74; AOT_REGCACHE_SYNC_OUT(); return; L_08B08C74: @@ -2458,25 +2459,25 @@ L_08B08C74: } L_08B08C88: aot_gpr_5 = (49024u << 16u); - aot_gpr_16 = (aot_gpr_29 + static_cast(112)); + ctx.gpr[16] = (aot_gpr_29 + static_cast(112)); aot_fpr_20 = std::bit_cast(aot_gpr_5); ctx.gpr[18] = (aot_gpr_29 + static_cast(1120)); ctx.gpr[19] = (aot_gpr_29 + static_cast(1136)); ctx.gpr[20] = (aot_gpr_29 + static_cast(1152)); aot_gpr_31 = (0x08B08CA8u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08CA8u) goto L_08B08CA8; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AFEDA8, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0190_entry, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08CA8u) goto L_08B08CA8; AOT_REGCACHE_SYNC_OUT(); return; L_08B08CA8: aot_gpr_31 = (0x08B08CB0u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 639u, 0x08AFED90u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08CB0u) goto L_08B08CB0; AOT_REGCACHE_SYNC_OUT(); return; L_08B08CB0: aot_gpr_4 = (ctx.gpr[20] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_31 = (0x08B08CC0u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 584u, 0x08AFE9B0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08CC0u) goto L_08B08CC0; AOT_REGCACHE_SYNC_OUT(); return; L_08B08CC0: @@ -2487,14 +2488,14 @@ L_08B08CC0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 585u, 0x08AFE9CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08CD0u) goto L_08B08CD0; AOT_REGCACHE_SYNC_OUT(); return; L_08B08CD0: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(212))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(212))); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08B08CE0u); aot_gpr_5 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 585u, 0x08AFE9CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08CE0u) goto L_08B08CE0; AOT_REGCACHE_SYNC_OUT(); return; L_08B08CE0: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B08CECu); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 637u, 0x08AFED64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08CECu) goto L_08B08CEC; @@ -2502,19 +2503,19 @@ L_08B08CE0: L_08B08CEC: ctx.gpr[18] = (aot_gpr_29 + static_cast(128)); aot_gpr_31 = (0x08B08CF8u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08CF8u) goto L_08B08CF8; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AFEDA8, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0190_entry, 190u, 642u, 0x08AFEDA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08CF8u) goto L_08B08CF8; AOT_REGCACHE_SYNC_OUT(); return; L_08B08CF8: aot_gpr_31 = (0x08B08D00u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 640u, 0x08AFED98u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08D00u) goto L_08B08D00; AOT_REGCACHE_SYNC_OUT(); return; L_08B08D00: aot_gpr_4 = (ctx.gpr[20] | 0u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08B08D10u); - ctx.gpr[6] = (ctx.gpr[21] | 0u); + aot_gpr_6 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 582u, 0x08AFE980u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08D10u) goto L_08B08D10; AOT_REGCACHE_SYNC_OUT(); return; L_08B08D10: @@ -2524,10 +2525,10 @@ L_08B08D10: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 637u, 0x08AFED64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08D1Cu) goto L_08B08D1C; AOT_REGCACHE_SYNC_OUT(); return; L_08B08D1C: - aot_gpr_4 = (aot_gpr_17 | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B08D2Cu); - ctx.gpr[6] = (ctx.gpr[18] | 0u); + aot_gpr_6 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 653u, 0x08AFEE60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08D2Cu) goto L_08B08D2C; AOT_REGCACHE_SYNC_OUT(); return; L_08B08D2C: @@ -2539,8 +2540,8 @@ L_08B08D2C: ctx.fpr[26] = std::bit_cast(aot_run_words[3]); ctx.fpr[28] = std::bit_cast(aot_run_words[4]); ctx.fpr[30] = std::bit_cast(aot_run_words[5]); - aot_gpr_16 = aot_run_words[6]; - aot_gpr_17 = aot_run_words[7]; + ctx.gpr[16] = aot_run_words[6]; + ctx.gpr[17] = aot_run_words[7]; ctx.gpr[18] = aot_run_words[8]; ctx.gpr[19] = aot_run_words[9]; ctx.gpr[20] = aot_run_words[10]; @@ -2560,38 +2561,38 @@ L_08B08D74: aot_gpr_29 = (aot_gpr_29 + static_cast(-176)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(144), ctx.gpr[18]); ctx.fpr[14] = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); - ctx.gpr[18] = (ctx.gpr[6] | 0u); + ctx.gpr[18] = (aot_gpr_6 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), std::bit_cast(ctx.fpr[14])); - ctx.gpr[6] = (17056u << 16u); + aot_gpr_6 = (17056u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(124), std::bit_cast(ctx.fpr[24])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), std::bit_cast(ctx.fpr[14])); - ctx.fpr[24] = std::bit_cast(ctx.gpr[6]); + ctx.fpr[24] = std::bit_cast(aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(148), ctx.gpr[19]); ctx.gpr[19] = (ctx.gpr[7] << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), std::bit_cast(ctx.fpr[14])); - ctx.gpr[6] = (16880u << 16u); + aot_gpr_6 = (16880u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(128), std::bit_cast(ctx.fpr[26])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(152), ctx.gpr[20]); - ctx.fpr[26] = std::bit_cast(ctx.gpr[6]); + ctx.fpr[26] = std::bit_cast(aot_gpr_6); ctx.gpr[19] = (static_cast(static_cast(ctx.gpr[19]) >> 16u)); ctx.gpr[20] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), std::bit_cast(aot_fpr_12)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(140), aot_gpr_17); - aot_gpr_17 = (aot_gpr_5 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(140), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_5 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (ctx.gpr[19] + static_cast(3)); - ctx.gpr[6] = (16840u << 16u); + aot_gpr_6 = (16840u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(116), std::bit_cast(aot_fpr_20)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(120), std::bit_cast(aot_fpr_22)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(132), std::bit_cast(ctx.fpr[28])); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(136), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(136), ctx.gpr[16]); { const std::uint32_t aot_run_words[3]{ctx.gpr[21], ctx.gpr[22], ctx.gpr[23]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(156), aot_run_words); } aot_fpr_20 = std::bit_cast(std::bit_cast(aot_fpr_12)); aot_fpr_22 = std::bit_cast(std::bit_cast(aot_fpr_13)); ctx.gpr[21] = (2234u << 16u); - aot_gpr_16 = (aot_gpr_29 + static_cast(32)); - ctx.fpr[28] = std::bit_cast(ctx.gpr[6]); + ctx.gpr[16] = (aot_gpr_29 + static_cast(32)); + ctx.fpr[28] = std::bit_cast(aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), std::bit_cast(aot_fpr_12)); ctx.gpr[23] = (aot_gpr_29 + static_cast(48)); aot_gpr_5 = (aot_gpr_4 < static_cast(7) ? 1u : 0u); @@ -2650,46 +2651,46 @@ L_08B08E64: goto L_08B08E78; } L_08B08E78: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B08E84u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08E84u) goto L_08B08E84; AOT_REGCACHE_SYNC_OUT(); return; L_08B08E84: aot_gpr_4 = (ctx.gpr[23] | 0u); aot_gpr_31 = (0x08B08E90u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08E90u) goto L_08B08E90; AOT_REGCACHE_SYNC_OUT(); return; L_08B08E90: aot_gpr_4 = (ctx.gpr[21] + static_cast(16)); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B08EA0u); - ctx.gpr[6] = (ctx.gpr[23] | 0u); + aot_gpr_6 = (ctx.gpr[23] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0045_entry, 45u, 388u, 0x088B9CB0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08EA0u) goto L_08B08EA0; AOT_REGCACHE_SYNC_OUT(); return; L_08B08EA0: aot_gpr_4 = (ctx.gpr[21] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_31 = (0x08B08EB0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 123u, 0x08A19410u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08EB0u) goto L_08B08EB0; AOT_REGCACHE_SYNC_OUT(); return; L_08B08EB0: aot_gpr_4 = (2236u << 16u); - aot_gpr_16 = (aot_gpr_4 + static_cast(12560)); - aot_gpr_4 = (aot_gpr_16 | 0u); + ctx.gpr[16] = (aot_gpr_4 + static_cast(12560)); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x08B08ED0u); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 124u, 0x08A1943Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B08ED0u) goto L_08B08ED0; AOT_REGCACHE_SYNC_OUT(); return; L_08B08ED0: - aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast(56), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast(56), ctx.gpr[16]); aot_mem.aot_direct_store8(ctx.gpr[21] + static_cast(52), static_cast(ctx.gpr[22])); - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -2741,7 +2742,7 @@ L_08B08ED0: const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_5 = (0u | 49u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); aot_fpr_12 = aot_fpr_12 - aot_fpr_20; @@ -2794,10 +2795,10 @@ L_08B08F70: goto L_08B08F7C; L_08B08F7C: aot_gpr_5 = (0u | 0u); - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); aot_gpr_5 = (static_cast(aot_gpr_5) < static_cast(aot_gpr_4) ? 1u : 0u); if (aot_gpr_5 != 0u) { - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); goto L_08B08F90; } goto L_08B08F90; @@ -2853,9 +2854,9 @@ L_08B08FFC: goto L_08B09008; L_08B09008: aot_gpr_5 = (0u | 50u); - ctx.gpr[6] = (static_cast(aot_gpr_4) < 50 ? 1u : 0u); + aot_gpr_6 = (static_cast(aot_gpr_4) < 50 ? 1u : 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(112), aot_gpr_5); - if (ctx.gpr[6] != 0u) { + if (aot_gpr_6 != 0u) { aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(112), aot_gpr_4); goto L_08B0901C; } @@ -2891,18 +2892,18 @@ L_08B09048: goto L_08B0904C; L_08B0904C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(112))); - aot_gpr_4 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_16) ? 1u : 0u); + aot_gpr_4 = (static_cast(aot_gpr_4) < static_cast(ctx.gpr[16]) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(104), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(104), ctx.gpr[16]); if (branch_taken) { goto L_08B0926C; } goto L_08B0905C; } L_08B0905C: - aot_gpr_4 = (aot_gpr_16 << 4u); + aot_gpr_4 = (ctx.gpr[16] << 4u); aot_fpr_20 = std::bit_cast(0u); - aot_gpr_5 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_5 = (ctx.gpr[16] + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(108), ctx.gpr[23]); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); @@ -2927,18 +2928,18 @@ L_08B0908C: ctx.gpr[22] = (ctx.gpr[22] - aot_gpr_4); goto L_08B090A0; L_08B090A0: - aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-25496))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-25496))); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_22)); aot_gpr_4 = (ctx.gpr[20] | 0u); - aot_gpr_16 = (aot_gpr_16 + ctx.gpr[22]); - aot_gpr_5 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (ctx.gpr[21] | 0u); + ctx.gpr[16] = (ctx.gpr[16] + ctx.gpr[22]); + aot_gpr_5 = (ctx.gpr[16] | 0u); + aot_gpr_6 = (ctx.gpr[21] | 0u); ctx.gpr[7] = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08B090C4u); ctx.gpr[8] = (ctx.gpr[19] | 0u); goto L_08B092BC; L_08B090C4: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08B090D0; @@ -2946,19 +2947,19 @@ L_08B090C4: goto L_08B090CC; } L_08B090CC: - aot_gpr_17 = (0u | 1u); + ctx.gpr[17] = (0u | 1u); goto L_08B090D0; L_08B090D0: - aot_gpr_5 = (aot_gpr_16 + static_cast(4)); + aot_gpr_5 = (ctx.gpr[16] + static_cast(4)); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_22)); aot_gpr_4 = (ctx.gpr[20] | 0u); - ctx.gpr[6] = (ctx.gpr[21] | 0u); + aot_gpr_6 = (ctx.gpr[21] | 0u); ctx.gpr[7] = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08B090ECu); ctx.gpr[8] = (ctx.gpr[19] | 0u); goto L_08B092BC; L_08B090EC: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08B090F8; @@ -2966,19 +2967,19 @@ L_08B090EC: goto L_08B090F4; } L_08B090F4: - aot_gpr_17 = (0u | 1u); + ctx.gpr[17] = (0u | 1u); goto L_08B090F8; L_08B090F8: - aot_gpr_5 = (aot_gpr_16 + static_cast(20)); + aot_gpr_5 = (ctx.gpr[16] + static_cast(20)); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_22)); aot_gpr_4 = (ctx.gpr[20] | 0u); - ctx.gpr[6] = (ctx.gpr[21] | 0u); + aot_gpr_6 = (ctx.gpr[21] | 0u); ctx.gpr[7] = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08B09114u); ctx.gpr[8] = (ctx.gpr[19] | 0u); goto L_08B092BC; L_08B09114: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08B09120; @@ -2986,19 +2987,19 @@ L_08B09114: goto L_08B0911C; } L_08B0911C: - aot_gpr_17 = (0u | 1u); + ctx.gpr[17] = (0u | 1u); goto L_08B09120; L_08B09120: - aot_gpr_5 = (aot_gpr_16 + static_cast(24)); + aot_gpr_5 = (ctx.gpr[16] + static_cast(24)); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_22)); aot_gpr_4 = (ctx.gpr[20] | 0u); - ctx.gpr[6] = (ctx.gpr[21] | 0u); + aot_gpr_6 = (ctx.gpr[21] | 0u); ctx.gpr[7] = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08B0913Cu); ctx.gpr[8] = (ctx.gpr[19] | 0u); goto L_08B092BC; L_08B0913C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08B09148; @@ -3006,19 +3007,19 @@ L_08B0913C: goto L_08B09144; } L_08B09144: - aot_gpr_17 = (0u | 1u); + ctx.gpr[17] = (0u | 1u); goto L_08B09148; L_08B09148: - aot_gpr_5 = (aot_gpr_16 + static_cast(28)); + aot_gpr_5 = (ctx.gpr[16] + static_cast(28)); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_22)); aot_gpr_4 = (ctx.gpr[20] | 0u); - ctx.gpr[6] = (ctx.gpr[21] | 0u); + aot_gpr_6 = (ctx.gpr[21] | 0u); ctx.gpr[7] = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08B09164u); ctx.gpr[8] = (ctx.gpr[19] | 0u); goto L_08B092BC; L_08B09164: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08B09170; @@ -3026,19 +3027,19 @@ L_08B09164: goto L_08B0916C; } L_08B0916C: - aot_gpr_17 = (0u | 1u); + ctx.gpr[17] = (0u | 1u); goto L_08B09170; L_08B09170: - aot_gpr_5 = (aot_gpr_16 + static_cast(32)); + aot_gpr_5 = (ctx.gpr[16] + static_cast(32)); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_22)); aot_gpr_4 = (ctx.gpr[20] | 0u); - ctx.gpr[6] = (ctx.gpr[21] | 0u); + aot_gpr_6 = (ctx.gpr[21] | 0u); ctx.gpr[7] = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08B0918Cu); ctx.gpr[8] = (ctx.gpr[19] | 0u); goto L_08B092BC; L_08B0918C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08B09198; @@ -3046,19 +3047,19 @@ L_08B0918C: goto L_08B09194; } L_08B09194: - aot_gpr_17 = (0u | 1u); + ctx.gpr[17] = (0u | 1u); goto L_08B09198; L_08B09198: - aot_gpr_5 = (aot_gpr_16 + static_cast(36)); + aot_gpr_5 = (ctx.gpr[16] + static_cast(36)); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_4 = (ctx.gpr[20] | 0u); - ctx.gpr[6] = (ctx.gpr[21] | 0u); + aot_gpr_6 = (ctx.gpr[21] | 0u); ctx.gpr[7] = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08B091B4u); ctx.gpr[8] = (ctx.gpr[19] | 0u); goto L_08B092BC; L_08B091B4: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08B091C0; @@ -3066,19 +3067,19 @@ L_08B091B4: goto L_08B091BC; } L_08B091BC: - aot_gpr_17 = (0u | 1u); + ctx.gpr[17] = (0u | 1u); goto L_08B091C0; L_08B091C0: - aot_gpr_5 = (aot_gpr_16 + static_cast(40)); + aot_gpr_5 = (ctx.gpr[16] + static_cast(40)); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_4 = (ctx.gpr[20] | 0u); - ctx.gpr[6] = (ctx.gpr[21] | 0u); + aot_gpr_6 = (ctx.gpr[21] | 0u); ctx.gpr[7] = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08B091DCu); ctx.gpr[8] = (ctx.gpr[19] | 0u); goto L_08B092BC; L_08B091DC: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08B091E8; @@ -3086,19 +3087,19 @@ L_08B091DC: goto L_08B091E4; } L_08B091E4: - aot_gpr_17 = (0u | 1u); + ctx.gpr[17] = (0u | 1u); goto L_08B091E8; L_08B091E8: - aot_gpr_5 = (aot_gpr_16 + static_cast(12)); + aot_gpr_5 = (ctx.gpr[16] + static_cast(12)); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_22)); aot_gpr_4 = (ctx.gpr[20] | 0u); - ctx.gpr[6] = (ctx.gpr[21] | 0u); + aot_gpr_6 = (ctx.gpr[21] | 0u); ctx.gpr[7] = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08B09204u); ctx.gpr[8] = (ctx.gpr[19] | 0u); goto L_08B092BC; L_08B09204: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08B09210; @@ -3106,19 +3107,19 @@ L_08B09204: goto L_08B0920C; } L_08B0920C: - aot_gpr_17 = (0u | 1u); + ctx.gpr[17] = (0u | 1u); goto L_08B09210; L_08B09210: - aot_gpr_5 = (aot_gpr_16 + static_cast(16)); + aot_gpr_5 = (ctx.gpr[16] + static_cast(16)); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_22)); aot_gpr_4 = (ctx.gpr[20] | 0u); - ctx.gpr[6] = (ctx.gpr[21] | 0u); + aot_gpr_6 = (ctx.gpr[21] | 0u); ctx.gpr[7] = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08B0922Cu); ctx.gpr[8] = (ctx.gpr[19] | 0u); goto L_08B092BC; L_08B0922C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08B09238; @@ -3126,7 +3127,7 @@ L_08B0922C: goto L_08B09234; } L_08B09234: - aot_gpr_17 = (0u | 1u); + ctx.gpr[17] = (0u | 1u); goto L_08B09238; L_08B09238: ctx.gpr[23] = (ctx.gpr[23] + static_cast(1)); @@ -3141,12 +3142,12 @@ L_08B09238: L_08B09248: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(104))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(100))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(112))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(112))); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); aot_gpr_5 = (aot_gpr_5 + static_cast(50)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(104), aot_gpr_4); - ctx.gpr[6] = (static_cast(ctx.gpr[6]) < static_cast(aot_gpr_4) ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_6 = (static_cast(aot_gpr_6) < static_cast(aot_gpr_4) ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 == 0u; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(100), aot_gpr_5); if (branch_taken) { goto L_08B09078; @@ -3156,7 +3157,7 @@ L_08B09248: L_08B0926C: aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast(56), 0u); aot_mem.aot_direct_store8(ctx.gpr[21] + static_cast(52), static_cast(0u)); - ctx.gpr[2] = (aot_gpr_17 | 0u); + aot_gpr_2 = (ctx.gpr[17] | 0u); { std::uint32_t aot_run_words[15]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(116), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); @@ -3164,8 +3165,8 @@ L_08B0926C: ctx.fpr[24] = std::bit_cast(aot_run_words[2]); ctx.fpr[26] = std::bit_cast(aot_run_words[3]); ctx.fpr[28] = std::bit_cast(aot_run_words[4]); - aot_gpr_16 = aot_run_words[5]; - aot_gpr_17 = aot_run_words[6]; + ctx.gpr[16] = aot_run_words[5]; + ctx.gpr[17] = aot_run_words[6]; ctx.gpr[18] = aot_run_words[7]; ctx.gpr[19] = aot_run_words[8]; ctx.gpr[20] = aot_run_words[9]; @@ -3183,8 +3184,8 @@ L_08B0926C: AOT_REGCACHE_SYNC_OUT(); return; L_08B092BC: aot_gpr_29 = (aot_gpr_29 + static_cast(-704)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(664), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(664), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(676), ctx.gpr[19]); aot_fpr_13 = std::bit_cast(0u); aot_gpr_4 = (ctx.gpr[8] << 16u); @@ -3194,11 +3195,11 @@ L_08B092BC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), std::bit_cast(aot_fpr_13)); aot_gpr_5 = (aot_gpr_4 + static_cast(3)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(652), std::bit_cast(aot_fpr_20)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(668), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(668), ctx.gpr[17]); aot_fpr_20 = std::bit_cast(std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), std::bit_cast(aot_fpr_13)); aot_gpr_5 = (aot_gpr_5 < static_cast(7) ? 1u : 0u); - aot_gpr_17 = (ctx.gpr[6] | 0u); + ctx.gpr[17] = (aot_gpr_6 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(656), std::bit_cast(aot_fpr_22)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(660), std::bit_cast(ctx.fpr[24])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(672), ctx.gpr[18]); @@ -3469,11 +3470,11 @@ L_08B09434: const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), std::bit_cast(aot_fpr_12)); { const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); std::uint32_t vfpu_words[4]{}; @@ -3492,7 +3493,7 @@ L_08B09434: aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08B0948Cu); - ctx.gpr[6] = (ctx.gpr[20] | 0u); + aot_gpr_6 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 579u, 0x08AFE928u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0948Cu) goto L_08B0948C; AOT_REGCACHE_SYNC_OUT(); return; L_08B0948C: @@ -3518,7 +3519,7 @@ L_08B0948C: } L_08B0949C: ctx.gpr[21] = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(0))); - { const bool branch_taken = ctx.gpr[21] == aot_gpr_16; + { const bool branch_taken = ctx.gpr[21] == ctx.gpr[16]; ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(8))); if (branch_taken) { goto L_08B09CE8; @@ -3586,7 +3587,7 @@ L_08B09514: AOT_REGCACHE_SYNC_OUT(); return; L_08B09520: { const bool branch_taken = 0u == 0u; - ctx.gpr[20] = (ctx.gpr[2] | 0u); + ctx.gpr[20] = (aot_gpr_2 | 0u); if (branch_taken) { goto L_08B09540; } @@ -3611,8 +3612,8 @@ L_08B09540: L_08B09548: ctx.gpr[8] = (2246u << 16u); aot_gpr_4 = (ctx.gpr[18] | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[6] = (ctx.gpr[21] | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_6 = (ctx.gpr[21] | 0u); ctx.gpr[7] = (ctx.gpr[20] | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); @@ -3622,7 +3623,7 @@ L_08B09548: AOT_REGCACHE_SYNC_OUT(); return; L_08B0956C: { const bool branch_taken = 0u == 0u; - ctx.gpr[20] = (ctx.gpr[2] | 0u); + ctx.gpr[20] = (aot_gpr_2 | 0u); if (branch_taken) { goto L_08B09578; } @@ -3653,7 +3654,7 @@ L_08B09580: goto L_08B0959C; } L_08B0959C: - aot_gpr_4 = (aot_gpr_16 + static_cast(48)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -3731,7 +3732,7 @@ L_08B09630: L_08B0963C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(2120))); { const bool branch_taken = aot_gpr_4 != 0u; - ctx.gpr[20] = (ctx.gpr[2] | 0u); + ctx.gpr[20] = (aot_gpr_2 | 0u); if (branch_taken) { goto L_08B09824; } @@ -3740,9 +3741,9 @@ L_08B0963C: L_08B09648: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(456))); aot_gpr_4 = (0u | 0u); - ctx.gpr[6] = (0u + static_cast(-2)); + aot_gpr_6 = (0u + static_cast(-2)); aot_gpr_4 = (aot_gpr_4 & 1u); - aot_gpr_5 = (aot_gpr_5 & ctx.gpr[6]); + aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); aot_gpr_4 = (aot_gpr_5 | aot_gpr_4); aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast(456), aot_gpr_4); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(96))); @@ -3765,8 +3766,8 @@ L_08B09698: ctx.gpr[8] = (ctx.gpr[20] & 255u); aot_fpr_12 = std::bit_cast(ctx.gpr[10]); aot_gpr_4 = (ctx.gpr[21] | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (0u | 43u); + aot_gpr_5 = (ctx.gpr[16] | 0u); + aot_gpr_6 = (0u | 43u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x08B096BCu); ctx.gpr[9] = (0u | 0u); @@ -3813,7 +3814,7 @@ L_08B096C8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 50u, 0x08AD0530u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0970Cu) goto L_08B0970C; AOT_REGCACHE_SYNC_OUT(); return; L_08B0970C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08B09824; @@ -3833,7 +3834,7 @@ L_08B09714: L_08B09724: aot_gpr_5 = (aot_gpr_29 + static_cast(144)); aot_fpr_12 = std::bit_cast(0u); - ctx.gpr[6] = (aot_gpr_29 + static_cast(128)); + aot_gpr_6 = (aot_gpr_29 + static_cast(128)); aot_gpr_4 = (0u | 7u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 0u); @@ -3869,7 +3870,7 @@ L_08B09760: ctx.fpr[24] = std::bit_cast(aot_gpr_4); aot_gpr_4 = (0u | 81u); aot_gpr_5 = (ctx.gpr[20] | 0u); - ctx.gpr[6] = (ctx.gpr[21] | 0u); + aot_gpr_6 = (ctx.gpr[21] | 0u); ctx.gpr[7] = (0u | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[24])); ctx.gpr[8] = (0u | 0u); @@ -3916,7 +3917,7 @@ L_08B097B8: aot_gpr_4 = (aot_gpr_4 | 55050u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(200), std::bit_cast(aot_fpr_12)); - ctx.gpr[6] = (aot_gpr_29 + static_cast(192)); + aot_gpr_6 = (aot_gpr_29 + static_cast(192)); aot_gpr_4 = (0u | 81u); aot_gpr_5 = (ctx.gpr[21] | 0u); ctx.gpr[7] = (0u | 0u); @@ -3956,14 +3957,14 @@ L_08B09834: } L_08B09844: aot_fpr_12 = std::bit_cast(0u); - aot_fpr_22 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(224))); + aot_fpr_22 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(224))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(208), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1740))); ctx.gpr[23] = (0u | 0u); ctx.gpr[22] = (0u | 0u); aot_gpr_4 = (static_cast(ctx.gpr[23]) < static_cast(ctx.gpr[20]) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(224), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(224), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_08B09C94; } @@ -3990,12 +3991,12 @@ L_08B09868: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - ctx.gpr[6] = (aot_gpr_29 + static_cast(240)); + aot_gpr_6 = (aot_gpr_29 + static_cast(240)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - { const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -4042,7 +4043,7 @@ L_08B09868: ctx.execute_vfpu_vdot_ct<28u, 0u, 1u, 3u>(); ctx.gpr[9] = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_12 = std::bit_cast(ctx.gpr[9]); - { const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -4254,7 +4255,7 @@ L_08B099D8: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_4 = (aot_gpr_16 + static_cast(320)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(320)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -4284,9 +4285,9 @@ L_08B099D8: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); - ctx.gpr[6] = (aot_gpr_29 + static_cast(304)); + aot_gpr_6 = (aot_gpr_29 + static_cast(304)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } ctx.fpr[24] = std::bit_cast(0u); @@ -4334,7 +4335,7 @@ L_08B09A48: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (0u | 0u); aot_gpr_5 = (ctx.gpr[22] | 0u); - ctx.gpr[6] = (ctx.gpr[21] | 0u); + aot_gpr_6 = (ctx.gpr[21] | 0u); ctx.gpr[7] = (0u | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[24])); ctx.gpr[8] = (0u | 0u); @@ -4358,14 +4359,14 @@ L_08B09ABC: goto L_08B09AD8; } L_08B09AD8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(852))); if (aot_gpr_4 != 0u) { - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(208))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(208))); goto L_08B09BE8; } goto L_08B09AE4; L_08B09AE4: - ctx.gpr[30] = (aot_gpr_16 | 0u); + ctx.gpr[30] = (ctx.gpr[16] | 0u); aot_gpr_4 = (15897u << 16u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[30] + static_cast(1640))); aot_gpr_4 = (aot_gpr_4 | 39322u); @@ -4384,13 +4385,13 @@ L_08B09B08: aot_gpr_4 = (2246u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(3056)); aot_gpr_5 = (aot_gpr_5 + aot_gpr_4); - ctx.gpr[6] = (aot_gpr_29 + static_cast(208)); + aot_gpr_6 = (aot_gpr_29 + static_cast(208)); aot_gpr_31 = (0x08B09B24u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 749u, 0x08A67C7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B09B24u) goto L_08B09B24; AOT_REGCACHE_SYNC_OUT(); return; L_08B09B24: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(212))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(212))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1744))); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_4 = (std::bit_cast(aot_fpr_12)); @@ -4450,7 +4451,7 @@ L_08B09B24: ctx.fpr[17] = std::bit_cast(aot_run_words[2]); } aot_gpr_31 = (0x08B09B88u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 611u, 0x08A66E08u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B09B88u) goto L_08B09B88; AOT_REGCACHE_SYNC_OUT(); return; L_08B09B88: @@ -4497,7 +4498,7 @@ L_08B09BD8: aot_mem.aot_direct_store32(ctx.gpr[30] + static_cast(1640), std::bit_cast(aot_fpr_12)); goto L_08B09BE4; L_08B09BE4: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(208))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(208))); goto L_08B09BE8; L_08B09BE8: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1748))); @@ -4524,7 +4525,7 @@ L_08B09C14: ctx.gpr[30] = (aot_gpr_29 + static_cast(272)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(272), std::bit_cast(aot_fpr_13)); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); - ctx.fpr[14] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(268))); + ctx.fpr[14] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(268))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(276), std::bit_cast(aot_fpr_13)); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(24))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[14])) ? 0x00800000u : 0u); @@ -4538,13 +4539,13 @@ L_08B09C14: } L_08B09C54: aot_gpr_4 = (0u | 0u); - aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(306), static_cast(aot_gpr_4)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(268), std::bit_cast(aot_fpr_12)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(336), ctx.gpr[21]); - aot_gpr_5 = (aot_gpr_16 + static_cast(336)); + aot_mem.aot_direct_store16(ctx.gpr[16] + static_cast(306), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(268), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(336), ctx.gpr[21]); + aot_gpr_5 = (ctx.gpr[16] + static_cast(336)); aot_gpr_31 = (0x08B09C70u); aot_gpr_4 = (ctx.gpr[21] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B09C70u) goto L_08B09C70; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B09C70u) goto L_08B09C70; AOT_REGCACHE_SYNC_OUT(); return; L_08B09C70: { const std::uint32_t vfpu_address = ctx.gpr[30] + static_cast(0); @@ -4556,7 +4557,7 @@ L_08B09C70: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_4 = (aot_gpr_16 + static_cast(288)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(288)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; @@ -4601,16 +4602,16 @@ L_08B09CB8: aot_fpr_13 = std::bit_cast(ctx.gpr[9]); aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); ctx.gpr[9] = (16968u << 16u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_fpr_12 = std::bit_cast(ctx.gpr[9]); - ctx.gpr[6] = (ctx.gpr[21] | 0u); + aot_gpr_6 = (ctx.gpr[21] | 0u); ctx.gpr[7] = (0u | 10u); aot_gpr_31 = (0x08B09CE4u); ctx.gpr[8] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 551u, 0x08A062C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B09CE4u) goto L_08B09CE4; AOT_REGCACHE_SYNC_OUT(); return; L_08B09CE4: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(224), std::bit_cast(aot_fpr_22)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(224), std::bit_cast(aot_fpr_22)); goto L_08B09CE8; L_08B09CE8: { const bool branch_taken = ctx.gpr[19] != 0u; @@ -4621,14 +4622,14 @@ L_08B09CE8: goto L_08B09CF0; } L_08B09CF0: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); { std::uint32_t aot_run_words[13]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(652), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); aot_fpr_22 = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); - aot_gpr_16 = aot_run_words[3]; - aot_gpr_17 = aot_run_words[4]; + ctx.gpr[16] = aot_run_words[3]; + ctx.gpr[17] = aot_run_words[4]; ctx.gpr[18] = aot_run_words[5]; ctx.gpr[19] = aot_run_words[6]; ctx.gpr[20] = aot_run_words[7]; @@ -4646,7 +4647,7 @@ L_08B09CF0: AOT_REGCACHE_SYNC_OUT(); return; L_08B09D30: aot_gpr_29 = (aot_gpr_29 + static_cast(-272)); - { const std::uint32_t aot_run_words[16]{std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_22), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; + { const std::uint32_t aot_run_words[16]{std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_22), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(200), aot_run_words); } { const bool branch_taken = aot_gpr_4 == 0u; ctx.fpr[28] = std::bit_cast(std::bit_cast(aot_fpr_12)); @@ -4656,15 +4657,15 @@ L_08B09D30: goto L_08B09D7C; } L_08B09D7C: - ctx.gpr[6] = (16672u << 16u); + aot_gpr_6 = (16672u << 16u); aot_fpr_20 = std::bit_cast(0u); - aot_fpr_12 = std::bit_cast(ctx.gpr[6]); + aot_fpr_12 = std::bit_cast(aot_gpr_6); ctx.gpr[23] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7764))); ctx.fpr[14] = aot_fpr_13 - aot_fpr_12; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(180), std::bit_cast(aot_fpr_20)); - ctx.gpr[6] = (16256u << 16u); + aot_gpr_6 = (16256u << 16u); ctx.gpr[7] = (49866u << 16u); - aot_fpr_22 = std::bit_cast(ctx.gpr[6]); + aot_fpr_22 = std::bit_cast(aot_gpr_6); ctx.fpr[24] = std::bit_cast(ctx.gpr[7]); ctx.gpr[23] = (ctx.gpr[23] & 7u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(184), std::bit_cast(ctx.fpr[14])); @@ -4675,7 +4676,7 @@ L_08B09D7C: ctx.gpr[9] = (0u + static_cast(-971)); ctx.gpr[7] = (aot_gpr_29 + static_cast(96)); { const bool branch_taken = ctx.gpr[8] == ctx.gpr[9]; - ctx.gpr[6] = (aot_gpr_5 + static_cast(32)); + aot_gpr_6 = (aot_gpr_5 + static_cast(32)); if (branch_taken) { goto L_08B09DE8; } @@ -4778,10 +4779,10 @@ L_08B09E4C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(100), std::bit_cast(aot_fpr_12)); goto L_08B09E98; L_08B09E98: - aot_gpr_17 = (0u | 0u); - aot_gpr_4 = (static_cast(aot_gpr_17) < static_cast(ctx.gpr[6]) ? 1u : 0u); + ctx.gpr[17] = (0u | 0u); + aot_gpr_4 = (static_cast(ctx.gpr[17]) < static_cast(aot_gpr_6) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(176), ctx.gpr[6]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(176), aot_gpr_6); if (branch_taken) { goto L_08B0A318; } @@ -4798,7 +4799,7 @@ L_08B09EA8: aot_gpr_4 = (16025u << 16u); aot_gpr_4 = (aot_gpr_4 | 39322u); ctx.fpr[14] = std::bit_cast(aot_gpr_4); - aot_gpr_16 = (aot_gpr_29 + static_cast(64)); + ctx.gpr[16] = (aot_gpr_29 + static_cast(64)); aot_gpr_4 = (48588u << 16u); { const float fs = aot_fpr_12; const float ft = ctx.fpr[14]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_4 = (aot_gpr_4 | 52429u); @@ -4820,7 +4821,7 @@ L_08B09F0C: aot_gpr_4 = (15945u << 16u); aot_gpr_4 = (aot_gpr_4 | 4059u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_fpr_13 = std::bit_cast(aot_gpr_17); + aot_fpr_13 = std::bit_cast(ctx.gpr[17]); aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_13))); { const float fs = aot_fpr_13; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_gpr_4 = (std::bit_cast(aot_fpr_13)); @@ -4848,43 +4849,43 @@ L_08B09F0C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(72), std::bit_cast(aot_fpr_20)); aot_gpr_31 = (0x08B09F80u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B09F80u) goto L_08B09F80; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B09F80u) goto L_08B09F80; AOT_REGCACHE_SYNC_OUT(); return; L_08B09F80: aot_gpr_5 = (ctx.gpr[3] | 0u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1940))); ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1936))); ctx.gpr[7] = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08B09F9Cu); - ctx.gpr[6] = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B09F9Cu) goto L_08B09F9C; + aot_gpr_6 = (ctx.gpr[18] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B09F9Cu) goto L_08B09F9C; AOT_REGCACHE_SYNC_OUT(); return; L_08B09F9C: aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08B09FA8u); - aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B09FA8u) goto L_08B09FA8; + aot_gpr_4 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B627F0, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B09FA8u) goto L_08B09FA8; AOT_REGCACHE_SYNC_OUT(); return; L_08B09FA8: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(80), std::bit_cast(ctx.fpr[0])); aot_gpr_31 = (0x08B09FB4u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[26])); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B09FB4u) goto L_08B09FB4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B09FB4u) goto L_08B09FB4; AOT_REGCACHE_SYNC_OUT(); return; L_08B09FB4: aot_gpr_5 = (ctx.gpr[3] | 0u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); ctx.gpr[7] = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08B09FC8u); - ctx.gpr[6] = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B09FC8u) goto L_08B09FC8; + aot_gpr_6 = (ctx.gpr[18] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B09FC8u) goto L_08B09FC8; AOT_REGCACHE_SYNC_OUT(); return; L_08B09FC8: aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08B09FD4u); - aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B09FD4u) goto L_08B09FD4; + aot_gpr_4 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B627F0, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B09FD4u) goto L_08B09FD4; AOT_REGCACHE_SYNC_OUT(); return; L_08B09FD4: aot_gpr_4 = (15395u << 16u); @@ -4892,7 +4893,7 @@ L_08B09FD4: aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(84), std::bit_cast(ctx.fpr[0])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(88), std::bit_cast(aot_fpr_12)); - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -4926,10 +4927,10 @@ L_08B09FD4: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_4 = (static_cast(aot_gpr_17) < 32 ? 1u : 0u); + aot_gpr_4 = (static_cast(ctx.gpr[17]) < 32 ? 1u : 0u); ctx.fpr[26] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(188))); ctx.gpr[18] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(192))); { const bool branch_taken = aot_gpr_4 == 0u; @@ -4941,7 +4942,7 @@ L_08B09FD4: } L_08B0A018: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(172))); - { const bool branch_taken = aot_gpr_17 != aot_gpr_4; + { const bool branch_taken = ctx.gpr[17] != aot_gpr_4; // nop if (branch_taken) { goto L_08B0A0B8; @@ -4952,9 +4953,9 @@ L_08B0A024: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(184))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), 0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (aot_gpr_29 + static_cast(16)); - ctx.gpr[6] = (aot_gpr_29 + static_cast(48)); + aot_gpr_6 = (aot_gpr_29 + static_cast(48)); ctx.gpr[7] = (0u | 1u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); @@ -4965,7 +4966,7 @@ L_08B0A024: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 287u, 0x08891DD4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0A058u) goto L_08B0A058; AOT_REGCACHE_SYNC_OUT(); return; L_08B0A058: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08B0A070; @@ -4996,7 +4997,7 @@ L_08B0A074: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0189_entry, 189u, 115u, 0x08AF8668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0A090u) goto L_08B0A090; AOT_REGCACHE_SYNC_OUT(); return; L_08B0A090: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08B0A0B8; @@ -5044,11 +5045,11 @@ L_08B0A0CC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23440))); aot_gpr_5 = (0u | 8u); aot_gpr_31 = (0x08B0A0ECu); - ctx.gpr[6] = (0u | 32u); + aot_gpr_6 = (0u | 32u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0054_entry, 54u, 325u, 0x088DDFD8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0A0ECu) goto L_08B0A0EC; AOT_REGCACHE_SYNC_OUT(); return; L_08B0A0EC: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(160), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(160), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(160))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(136), static_cast(ctx.gpr[21])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(132), aot_gpr_4); @@ -5065,8 +5066,8 @@ L_08B0A0EC: L_08B0A110: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(168))); aot_gpr_4 = (0u | 31u); - aot_gpr_5 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (ctx.gpr[20] | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); + aot_gpr_6 = (ctx.gpr[20] | 0u); ctx.gpr[8] = (aot_gpr_29 + static_cast(136)); ctx.gpr[7] = (0u | 0u); ctx.gpr[9] = (0u | 0u); @@ -5087,7 +5088,7 @@ L_08B0A13C: L_08B0A144: aot_gpr_31 = (0x08B0A14Cu); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(196), ctx.gpr[22]); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0A14Cu) goto L_08B0A14C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0A14Cu) goto L_08B0A14C; AOT_REGCACHE_SYNC_OUT(); return; L_08B0A14C: aot_fpr_12 = ctx.fpr[26] - aot_fpr_22; @@ -5097,7 +5098,7 @@ L_08B0A14C: aot_fpr_12 = aot_fpr_13 + aot_fpr_12; aot_gpr_31 = (0x08B0A168u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(80), std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0A168u) goto L_08B0A168; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0A168u) goto L_08B0A168; AOT_REGCACHE_SYNC_OUT(); return; L_08B0A168: aot_fpr_12 = ctx.fpr[26] - aot_fpr_22; @@ -5112,7 +5113,7 @@ L_08B0A168: aot_fpr_12 = ctx.fpr[14] + aot_fpr_12; aot_gpr_31 = (0x08B0A198u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(84), std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0A198u) goto L_08B0A198; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0A198u) goto L_08B0A198; AOT_REGCACHE_SYNC_OUT(); return; L_08B0A198: aot_gpr_4 = (16672u << 16u); @@ -5123,7 +5124,7 @@ L_08B0A198: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); aot_gpr_31 = (0x08B0A1B8u); ctx.gpr[22] = (std::bit_cast(aot_fpr_12)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0A1B8u) goto L_08B0A1B8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0A1B8u) goto L_08B0A1B8; AOT_REGCACHE_SYNC_OUT(); return; L_08B0A1B8: aot_gpr_4 = (17076u << 16u); @@ -5131,9 +5132,9 @@ L_08B0A1B8: aot_fpr_13 = aot_fpr_13 - aot_fpr_20; aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(164))); aot_gpr_4 = (0u | 44u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); { const float fs = aot_fpr_13; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } - ctx.gpr[6] = (ctx.gpr[20] | 0u); + aot_gpr_6 = (ctx.gpr[20] | 0u); ctx.gpr[8] = (aot_gpr_29 + static_cast(132)); ctx.gpr[7] = (0u | 0u); aot_fpr_13 = aot_fpr_20 + aot_fpr_13; @@ -5181,7 +5182,7 @@ L_08B0A230: aot_gpr_4 = (0u | 10u); aot_gpr_5 = (aot_gpr_4 | 0u); { const bool branch_taken = 0u == 0u; - ctx.gpr[6] = (aot_gpr_4 | 0u); + aot_gpr_6 = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08B0A29C; } @@ -5191,7 +5192,7 @@ L_08B0A240: aot_gpr_4 = (0u | 10u); aot_gpr_5 = (aot_gpr_4 | 0u); { const bool branch_taken = 0u == 0u; - ctx.gpr[6] = (0u | 3u); + aot_gpr_6 = (0u | 3u); if (branch_taken) { goto L_08B0A29C; } @@ -5201,7 +5202,7 @@ L_08B0A250: aot_gpr_4 = (0u | 10u); aot_gpr_5 = (0u | 8u); { const bool branch_taken = 0u == 0u; - ctx.gpr[6] = (0u | 7u); + aot_gpr_6 = (0u | 7u); if (branch_taken) { goto L_08B0A29C; } @@ -5211,7 +5212,7 @@ L_08B0A260: aot_gpr_4 = (0u | 10u); aot_gpr_5 = (0u | 6u); { const bool branch_taken = 0u == 0u; - ctx.gpr[6] = (0u | 3u); + aot_gpr_6 = (0u | 3u); if (branch_taken) { goto L_08B0A29C; } @@ -5221,7 +5222,7 @@ L_08B0A270: aot_gpr_4 = (0u | 10u); aot_gpr_5 = (aot_gpr_4 | 0u); { const bool branch_taken = 0u == 0u; - ctx.gpr[6] = (0u | 7u); + aot_gpr_6 = (0u | 7u); if (branch_taken) { goto L_08B0A29C; } @@ -5231,7 +5232,7 @@ L_08B0A280: aot_gpr_4 = (0u | 10u); aot_gpr_5 = (aot_gpr_4 | 0u); { const bool branch_taken = 0u == 0u; - ctx.gpr[6] = (0u | 7u); + aot_gpr_6 = (0u | 7u); if (branch_taken) { goto L_08B0A29C; } @@ -5240,7 +5241,7 @@ L_08B0A280: L_08B0A290: aot_gpr_4 = (0u | 10u); aot_gpr_5 = (aot_gpr_4 | 0u); - ctx.gpr[6] = (aot_gpr_4 | 0u); + aot_gpr_6 = (aot_gpr_4 | 0u); goto L_08B0A29C; L_08B0A29C: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(104))); @@ -5254,7 +5255,7 @@ L_08B0A29C: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[14])) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(142), static_cast(ctx.gpr[6])); + aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(142), static_cast(aot_gpr_6)); if (branch_taken) { goto L_08B0A2F8; } @@ -5263,8 +5264,8 @@ L_08B0A29C: L_08B0A2CC: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(180))); aot_gpr_4 = (0u | 53u); - aot_gpr_5 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (ctx.gpr[20] | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); + aot_gpr_6 = (ctx.gpr[20] | 0u); ctx.gpr[8] = (aot_gpr_29 + static_cast(140)); ctx.gpr[7] = (0u | 0u); ctx.gpr[9] = (0u | 0u); @@ -5279,10 +5280,10 @@ L_08B0A2F8: ctx.gpr[18] = (ctx.gpr[18] & 255u); goto L_08B0A300; L_08B0A300: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(176))); - aot_gpr_17 = (aot_gpr_17 & 255u); - aot_gpr_4 = (static_cast(aot_gpr_17) < static_cast(aot_gpr_4) ? 1u : 0u); + ctx.gpr[17] = (ctx.gpr[17] & 255u); + aot_gpr_4 = (static_cast(ctx.gpr[17]) < static_cast(aot_gpr_4) ? 1u : 0u); if (aot_gpr_4 != 0u) { aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(193), static_cast(ctx.gpr[19])); goto L_08B09F0C; @@ -5297,8 +5298,8 @@ L_08B0A318: ctx.fpr[26] = std::bit_cast(aot_run_words[3]); ctx.fpr[28] = std::bit_cast(aot_run_words[4]); ctx.fpr[30] = std::bit_cast(aot_run_words[5]); - aot_gpr_16 = aot_run_words[6]; - aot_gpr_17 = aot_run_words[7]; + ctx.gpr[16] = aot_run_words[6]; + ctx.gpr[17] = aot_run_words[7]; ctx.gpr[18] = aot_run_words[8]; ctx.gpr[19] = aot_run_words[9]; ctx.gpr[20] = aot_run_words[10]; @@ -5316,26 +5317,26 @@ L_08B0A318: AOT_REGCACHE_SYNC_OUT(); return; L_08B0A360: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); - ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(612))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); + aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(612))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[18]); aot_gpr_4 = (0u | 0u); ctx.gpr[18] = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), std::bit_cast(aot_fpr_20)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), std::bit_cast(aot_fpr_22)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[17]); { const std::uint32_t aot_run_words[5]{ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(20), aot_run_words); } - { const bool branch_taken = ctx.gpr[6] != ctx.gpr[18]; - aot_gpr_17 = (aot_gpr_5 | 0u); + { const bool branch_taken = aot_gpr_6 != ctx.gpr[18]; + ctx.gpr[17] = (aot_gpr_5 | 0u); if (branch_taken) { goto L_08B0A3B4; } goto L_08B0A3A4; } L_08B0A3A4: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(852))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(852))); { const bool branch_taken = aot_gpr_5 == ctx.gpr[18]; // nop if (branch_taken) { @@ -5356,7 +5357,7 @@ L_08B0A3B4: goto L_08B0A3C0; } L_08B0A3C0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(72))); aot_gpr_5 = (0u | 32u); aot_gpr_4 = (aot_gpr_4 & 496u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; @@ -5375,7 +5376,7 @@ L_08B0A3D4: goto L_08B0A3DC; } L_08B0A3DC: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(613)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(613)))))); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -5385,7 +5386,7 @@ L_08B0A3DC: goto L_08B0A3EC; } L_08B0A3EC: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(86)))))); aot_gpr_5 = (0u | 261u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; aot_gpr_5 = (0u | 219u); @@ -5424,7 +5425,7 @@ L_08B0A414: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0A41Cu) goto L_08B0A41C; AOT_REGCACHE_SYNC_OUT(); return; L_08B0A41C: - { const bool branch_taken = aot_gpr_17 != ctx.gpr[2]; + { const bool branch_taken = ctx.gpr[17] != aot_gpr_2; // nop if (branch_taken) { goto L_08B0A440; @@ -5437,7 +5438,7 @@ L_08B0A424: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0A42Cu) goto L_08B0A42C; AOT_REGCACHE_SYNC_OUT(); return; L_08B0A42C: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08B0A438u); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 659u, 0x089474A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0A438u) goto L_08B0A438; @@ -5451,7 +5452,7 @@ L_08B0A438: goto L_08B0A440; } L_08B0A440: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(900))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -5471,8 +5472,8 @@ L_08B0A44C: } L_08B0A45C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1360))); - ctx.gpr[6] = (0u | 7u); - { const bool branch_taken = aot_gpr_5 == ctx.gpr[6]; + aot_gpr_6 = (0u | 7u); + { const bool branch_taken = aot_gpr_5 == aot_gpr_6; // nop if (branch_taken) { goto L_08B0A4EC; @@ -5481,8 +5482,8 @@ L_08B0A45C: } L_08B0A46C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1360))); - ctx.gpr[6] = (0u | 8u); - { const bool branch_taken = aot_gpr_5 == ctx.gpr[6]; + aot_gpr_6 = (0u | 8u); + { const bool branch_taken = aot_gpr_5 == aot_gpr_6; // nop if (branch_taken) { goto L_08B0A4EC; @@ -5491,8 +5492,8 @@ L_08B0A46C: } L_08B0A47C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1360))); - ctx.gpr[6] = (0u | 9u); - { const bool branch_taken = aot_gpr_5 == ctx.gpr[6]; + aot_gpr_6 = (0u | 9u); + { const bool branch_taken = aot_gpr_5 == aot_gpr_6; // nop if (branch_taken) { goto L_08B0A4EC; @@ -5501,8 +5502,8 @@ L_08B0A47C: } L_08B0A48C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1360))); - ctx.gpr[6] = (0u | 10u); - { const bool branch_taken = aot_gpr_5 == ctx.gpr[6]; + aot_gpr_6 = (0u | 10u); + { const bool branch_taken = aot_gpr_5 == aot_gpr_6; // nop if (branch_taken) { goto L_08B0A4EC; @@ -5511,8 +5512,8 @@ L_08B0A48C: } L_08B0A49C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1360))); - ctx.gpr[6] = (0u | 11u); - { const bool branch_taken = aot_gpr_5 == ctx.gpr[6]; + aot_gpr_6 = (0u | 11u); + { const bool branch_taken = aot_gpr_5 == aot_gpr_6; // nop if (branch_taken) { goto L_08B0A4EC; @@ -5521,8 +5522,8 @@ L_08B0A49C: } L_08B0A4AC: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1360))); - ctx.gpr[6] = (0u | 12u); - { const bool branch_taken = aot_gpr_5 == ctx.gpr[6]; + aot_gpr_6 = (0u | 12u); + { const bool branch_taken = aot_gpr_5 == aot_gpr_6; // nop if (branch_taken) { goto L_08B0A4EC; @@ -5531,8 +5532,8 @@ L_08B0A4AC: } L_08B0A4BC: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1360))); - ctx.gpr[6] = (0u | 13u); - { const bool branch_taken = aot_gpr_5 == ctx.gpr[6]; + aot_gpr_6 = (0u | 13u); + { const bool branch_taken = aot_gpr_5 == aot_gpr_6; // nop if (branch_taken) { goto L_08B0A4EC; @@ -5541,8 +5542,8 @@ L_08B0A4BC: } L_08B0A4CC: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1360))); - ctx.gpr[6] = (0u | 14u); - { const bool branch_taken = aot_gpr_5 == ctx.gpr[6]; + aot_gpr_6 = (0u | 14u); + { const bool branch_taken = aot_gpr_5 == aot_gpr_6; // nop if (branch_taken) { goto L_08B0A4EC; @@ -5565,7 +5566,7 @@ L_08B0A4EC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0A4F4u) goto L_08B0A4F4; AOT_REGCACHE_SYNC_OUT(); return; L_08B0A4F4: - { const bool branch_taken = aot_gpr_17 != ctx.gpr[2]; + { const bool branch_taken = ctx.gpr[17] != aot_gpr_2; // nop if (branch_taken) { goto L_08B0A5CC; @@ -5573,21 +5574,21 @@ L_08B0A4F4: goto L_08B0A4FC; } L_08B0A4FC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(72))); aot_gpr_5 = (0u + static_cast(-497)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_4 = (aot_gpr_4 | 64u); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(900))); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(72), aot_gpr_4); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(900))); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(72), aot_gpr_4); aot_gpr_4 = (aot_gpr_5 | 0u); ctx.gpr[18] = (0u | 8u); aot_gpr_5 = (0u | 8u); aot_gpr_31 = (0x08B0A528u); - ctx.gpr[6] = (aot_gpr_17 | 0u); + aot_gpr_6 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0178_entry, 178u, 482u, 0x08ACD698u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0A528u) goto L_08B0A528; AOT_REGCACHE_SYNC_OUT(); return; L_08B0A528: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(565))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(565))); ctx.gpr[20] = (0u | 0u); aot_gpr_4 = (static_cast(ctx.gpr[20]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; @@ -5598,14 +5599,14 @@ L_08B0A528: goto L_08B0A53C; } L_08B0A53C: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B0A548u); aot_gpr_5 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0A548u) goto L_08B0A548; AOT_REGCACHE_SYNC_OUT(); return; L_08B0A548: - { const bool branch_taken = ctx.gpr[2] == 0u; - aot_gpr_4 = (aot_gpr_16 | 0u); + { const bool branch_taken = aot_gpr_2 == 0u; + aot_gpr_4 = (ctx.gpr[16] | 0u); if (branch_taken) { goto L_08B0A5B0; } @@ -5617,9 +5618,9 @@ L_08B0A550: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0A558u) goto L_08B0A558; AOT_REGCACHE_SYNC_OUT(); return; L_08B0A558: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(2196))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(2196))); { const bool branch_taken = aot_gpr_4 == ctx.gpr[18]; - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (branch_taken) { goto L_08B0A5B0; } @@ -5631,7 +5632,7 @@ L_08B0A564: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0A56Cu) goto L_08B0A56C; AOT_REGCACHE_SYNC_OUT(); return; L_08B0A56C: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(2276))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(2276))); { const bool branch_taken = aot_gpr_4 == ctx.gpr[21]; // nop if (branch_taken) { @@ -5640,32 +5641,32 @@ L_08B0A56C: goto L_08B0A578; } L_08B0A578: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B0A584u); aot_gpr_5 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0A584u) goto L_08B0A584; AOT_REGCACHE_SYNC_OUT(); return; L_08B0A584: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 8u); aot_gpr_31 = (0x08B0A594u); - ctx.gpr[6] = (aot_gpr_17 | 0u); + aot_gpr_6 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0178_entry, 178u, 482u, 0x08ACD698u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0A594u) goto L_08B0A594; AOT_REGCACHE_SYNC_OUT(); return; L_08B0A594: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); ctx.gpr[22] = (aot_gpr_5 + ctx.gpr[19]); aot_gpr_31 = (0x08B0A5A8u); aot_gpr_5 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0A5A8u) goto L_08B0A5A8; AOT_REGCACHE_SYNC_OUT(); return; L_08B0A5A8: - aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(1756), ctx.gpr[22]); + aot_mem.aot_direct_store32(aot_gpr_2 + static_cast(1756), ctx.gpr[22]); ctx.gpr[19] = (ctx.gpr[19] + static_cast(200)); goto L_08B0A5B0; L_08B0A5B0: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(565))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(565))); ctx.gpr[20] = (ctx.gpr[20] + static_cast(1)); aot_gpr_4 = (static_cast(ctx.gpr[20]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; @@ -5684,9 +5685,9 @@ L_08B0A5C4: goto L_08B0A5CC; } L_08B0A5CC: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(532)))))); - aot_gpr_17 = (0u | 3u); - { const bool branch_taken = aot_gpr_4 == aot_gpr_17; + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(532)))))); + ctx.gpr[17] = (0u | 3u); + { const bool branch_taken = aot_gpr_4 == ctx.gpr[17]; aot_gpr_4 = (16256u << 16u); if (branch_taken) { goto L_08B0A618; @@ -5697,7 +5698,7 @@ L_08B0A5DC: aot_fpr_20 = std::bit_cast(0u); aot_gpr_31 = (0x08B0A5E8u); aot_fpr_22 = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0A5E8u) goto L_08B0A5E8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0A5E8u) goto L_08B0A5E8; AOT_REGCACHE_SYNC_OUT(); return; L_08B0A5E8: aot_fpr_12 = aot_fpr_22 - aot_fpr_20; @@ -5715,7 +5716,7 @@ L_08B0A5E8: goto L_08B0A60C; } L_08B0A60C: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(533)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(533)))))); { const bool branch_taken = aot_gpr_4 != ctx.gpr[18]; // nop if (branch_taken) { @@ -5724,7 +5725,7 @@ L_08B0A60C: goto L_08B0A618; } L_08B0A618: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(900))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -5743,8 +5744,8 @@ L_08B0A624: goto L_08B0A634; } L_08B0A634: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(532)))))); - { const bool branch_taken = aot_gpr_4 == aot_gpr_17; + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(532)))))); + { const bool branch_taken = aot_gpr_4 == ctx.gpr[17]; // nop if (branch_taken) { goto L_08B0A66C; @@ -5752,7 +5753,7 @@ L_08B0A634: goto L_08B0A640; } L_08B0A640: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(535)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(535)))))); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_gpr_4 = (16320u << 16u); @@ -5762,20 +5763,20 @@ L_08B0A640: aot_gpr_4 = (std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_gpr_4 << 24u); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 24u)); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(535), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(535), static_cast(aot_gpr_4)); goto L_08B0A66C; L_08B0A66C: aot_gpr_4 = (0u | 3u); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(532), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(532), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08B0A7B8; } goto L_08B0A678; } L_08B0A678: - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(900))); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(900))); + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_08B0A6E0; @@ -5783,7 +5784,7 @@ L_08B0A678: goto L_08B0A684; } L_08B0A684: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(2276))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(2276))); aot_gpr_5 = (0u | 2u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -5793,7 +5794,7 @@ L_08B0A684: goto L_08B0A694; } L_08B0A694: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(852))); aot_gpr_5 = (0u | 4u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -5803,28 +5804,28 @@ L_08B0A694: goto L_08B0A6A4; } L_08B0A6A4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(72))); aot_gpr_5 = (0u + static_cast(-497)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_4 = (aot_gpr_4 | 64u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(72), aot_gpr_4); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(460))); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(72), aot_gpr_4); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(460))); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (aot_gpr_5 | 32768u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(460), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(460), aot_gpr_5); aot_gpr_5 = (0u | 16u); aot_gpr_31 = (0x08B0A6D4u); - ctx.gpr[6] = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0178_entry, 178u, 482u, 0x08ACD698u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0A6D4u) goto L_08B0A6D4; AOT_REGCACHE_SYNC_OUT(); return; L_08B0A6D4: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B0A6E0u); aot_gpr_5 = (0u | 119u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 16u, 0x08860424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0A6E0u) goto L_08B0A6E0; AOT_REGCACHE_SYNC_OUT(); return; L_08B0A6E0: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(565))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(565))); ctx.gpr[20] = (0u | 0u); aot_gpr_4 = (static_cast(ctx.gpr[20]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; @@ -5836,17 +5837,17 @@ L_08B0A6E0: } L_08B0A6F4: ctx.gpr[18] = (0u | 16u); - aot_gpr_17 = (0u | 2u); + ctx.gpr[17] = (0u | 2u); goto L_08B0A6FC; L_08B0A6FC: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B0A708u); aot_gpr_5 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0A708u) goto L_08B0A708; AOT_REGCACHE_SYNC_OUT(); return; L_08B0A708: - { const bool branch_taken = ctx.gpr[2] == 0u; - aot_gpr_4 = (aot_gpr_16 | 0u); + { const bool branch_taken = aot_gpr_2 == 0u; + aot_gpr_4 = (ctx.gpr[16] | 0u); if (branch_taken) { goto L_08B0A7A4; } @@ -5858,9 +5859,9 @@ L_08B0A710: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0A718u) goto L_08B0A718; AOT_REGCACHE_SYNC_OUT(); return; L_08B0A718: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(2196))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(2196))); { const bool branch_taken = aot_gpr_4 == ctx.gpr[18]; - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (branch_taken) { goto L_08B0A7A4; } @@ -5872,8 +5873,8 @@ L_08B0A724: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0A72Cu) goto L_08B0A72C; AOT_REGCACHE_SYNC_OUT(); return; L_08B0A72C: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(2276))); - { const bool branch_taken = aot_gpr_4 == aot_gpr_17; + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(2276))); + { const bool branch_taken = aot_gpr_4 == ctx.gpr[17]; // nop if (branch_taken) { goto L_08B0A7A4; @@ -5881,45 +5882,45 @@ L_08B0A72C: goto L_08B0A738; } L_08B0A738: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B0A744u); aot_gpr_5 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0A744u) goto L_08B0A744; AOT_REGCACHE_SYNC_OUT(); return; L_08B0A744: - aot_gpr_5 = (ctx.gpr[2] + static_cast(460)); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); - aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (ctx.gpr[6] | 32768u); - aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), ctx.gpr[6]); + aot_gpr_5 = (aot_gpr_2 + static_cast(460)); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); + aot_gpr_4 = (ctx.gpr[16] | 0u); + aot_gpr_6 = (aot_gpr_6 | 32768u); + aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_6); aot_gpr_31 = (0x08B0A760u); aot_gpr_5 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0A760u) goto L_08B0A760; AOT_REGCACHE_SYNC_OUT(); return; L_08B0A760: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 16u); aot_gpr_31 = (0x08B0A770u); - ctx.gpr[6] = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0178_entry, 178u, 482u, 0x08ACD698u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0A770u) goto L_08B0A770; AOT_REGCACHE_SYNC_OUT(); return; L_08B0A770: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); ctx.gpr[21] = (aot_gpr_5 + ctx.gpr[19]); aot_gpr_31 = (0x08B0A784u); aot_gpr_5 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0A784u) goto L_08B0A784; AOT_REGCACHE_SYNC_OUT(); return; L_08B0A784: - aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(1756), ctx.gpr[21]); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_mem.aot_direct_store32(aot_gpr_2 + static_cast(1756), ctx.gpr[21]); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B0A794u); aot_gpr_5 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0A794u) goto L_08B0A794; AOT_REGCACHE_SYNC_OUT(); return; L_08B0A794: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08B0A7A0u); aot_gpr_5 = (0u | 119u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 16u, 0x08860424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0A7A0u) goto L_08B0A7A0; @@ -5928,7 +5929,7 @@ L_08B0A7A0: ctx.gpr[19] = (ctx.gpr[19] + static_cast(200)); goto L_08B0A7A4; L_08B0A7A4: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(565))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(565))); ctx.gpr[20] = (ctx.gpr[20] + static_cast(1)); aot_gpr_4 = (static_cast(ctx.gpr[20]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; @@ -5943,8 +5944,8 @@ L_08B0A7B8: aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); aot_fpr_22 = std::bit_cast(aot_run_words[1]); - aot_gpr_16 = aot_run_words[2]; - aot_gpr_17 = aot_run_words[3]; + ctx.gpr[16] = aot_run_words[2]; + ctx.gpr[17] = aot_run_words[3]; ctx.gpr[18] = aot_run_words[4]; ctx.gpr[19] = aot_run_words[5]; ctx.gpr[20] = aot_run_words[6]; @@ -5960,12 +5961,12 @@ L_08B0A7B8: AOT_REGCACHE_SYNC_OUT(); return; L_08B0A7E8: aot_gpr_29 = (aot_gpr_29 + static_cast(-560)); - { const std::uint32_t aot_run_words[16]{std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_22), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; + { const std::uint32_t aot_run_words[16]{std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_22), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(496), aot_run_words); } ctx.gpr[23] = (aot_gpr_5 | 0u); ctx.gpr[19] = (aot_gpr_4 | 0u); - aot_gpr_17 = (ctx.gpr[10] << 24u); - aot_gpr_17 = (static_cast(static_cast(aot_gpr_17) >> 24u)); + ctx.gpr[17] = (ctx.gpr[10] << 24u); + ctx.gpr[17] = (static_cast(static_cast(ctx.gpr[17]) >> 24u)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(564))); aot_gpr_4 = (aot_gpr_4 & 65535u); ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(560))); @@ -5994,9 +5995,9 @@ L_08B0A7E8: aot_gpr_5 = (ctx.vfpu_scalar_bits_ct<28u>()); ctx.fpr[30] = std::bit_cast(aot_gpr_5); aot_gpr_5 = (0u | 0u); - ctx.gpr[11] = (ctx.gpr[6] | 0u); + ctx.gpr[11] = (aot_gpr_6 | 0u); ctx.gpr[30] = (ctx.gpr[8] | 0u); - aot_gpr_16 = (ctx.gpr[9] | 0u); + ctx.gpr[16] = (ctx.gpr[9] | 0u); ctx.fpr[15] = std::bit_cast(std::bit_cast(aot_fpr_12)); aot_fpr_20 = std::bit_cast(std::bit_cast(aot_fpr_13)); ctx.fpr[26] = std::bit_cast(std::bit_cast(ctx.fpr[14])); @@ -6052,10 +6053,10 @@ L_08B0A8D8: aot_gpr_5 = (0u | 1u); aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(1944), static_cast(aot_gpr_5)); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(352))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(108))); aot_gpr_5 = (0u | 1u); - { const bool branch_taken = ctx.gpr[6] != aot_gpr_5; + { const bool branch_taken = aot_gpr_6 != aot_gpr_5; { const float fs = ctx.fpr[26]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[26] = std::bit_cast(0x7FC00000u); else ctx.fpr[26] = fs * ft; } if (branch_taken) { goto L_08B0A93C; @@ -6074,9 +6075,9 @@ L_08B0A8F8: } L_08B0A908: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(72))); - ctx.gpr[6] = (0u | 192u); + aot_gpr_6 = (0u | 192u); aot_gpr_5 = (aot_gpr_5 & 496u); - if (aot_gpr_5 != ctx.gpr[6]) { + if (aot_gpr_5 != aot_gpr_6) { aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(484), ctx.gpr[11]); goto L_08B0A940; } @@ -6127,7 +6128,7 @@ L_08B0A940: goto L_08B0A968; } L_08B0A968: - aot_fpr_13 = std::bit_cast(aot_gpr_16); + aot_fpr_13 = std::bit_cast(ctx.gpr[16]); aot_gpr_5 = (0u | 1u); ctx.fpr[24] = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_13))); @@ -6145,7 +6146,7 @@ L_08B0A984: ctx.fpr[24] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1672))); aot_gpr_31 = (0x08B0A998u); aot_fpr_22 = std::bit_cast(std::bit_cast(ctx.fpr[24]) ^ 0x80000000u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0A998u) goto L_08B0A998; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0A998u) goto L_08B0A998; AOT_REGCACHE_SYNC_OUT(); return; L_08B0A998: aot_fpr_12 = ctx.fpr[24] - aot_fpr_22; @@ -6226,7 +6227,7 @@ L_08B0AA18: } goto L_08B0AA28; L_08B0AA28: - aot_fpr_12 = std::bit_cast(aot_gpr_16); + aot_fpr_12 = std::bit_cast(ctx.gpr[16]); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7532))); aot_fpr_22 = std::bit_cast(std::bit_cast(ctx.fpr[30]) ^ 0x80000000u); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); @@ -6484,7 +6485,7 @@ L_08B0AC14: goto L_08B0AC30; } L_08B0AC30: - { const bool branch_taken = aot_gpr_17 == 0u; + { const bool branch_taken = ctx.gpr[17] == 0u; aot_gpr_4 = (0u | 2u); if (branch_taken) { goto L_08B0AC40; @@ -6492,7 +6493,7 @@ L_08B0AC30: goto L_08B0AC38; } L_08B0AC38: - { const bool branch_taken = aot_gpr_17 != aot_gpr_4; + { const bool branch_taken = ctx.gpr[17] != aot_gpr_4; // nop if (branch_taken) { goto L_08B0AC4C; @@ -6680,12 +6681,12 @@ L_08B0AD28: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 0u>(); - aot_gpr_17 = (aot_gpr_29 + static_cast(48)); + ctx.gpr[17] = (aot_gpr_29 + static_cast(48)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -6694,9 +6695,9 @@ L_08B0AD28: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_16 = (aot_gpr_29 + static_cast(64)); + ctx.gpr[16] = (aot_gpr_29 + static_cast(64)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (0u | 0u); @@ -6761,7 +6762,7 @@ L_08B0ADB0: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_31 = (0x08B0ADF0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 464u, 0x08A931D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0ADF0u) goto L_08B0ADF0; AOT_REGCACHE_SYNC_OUT(); return; L_08B0ADF0: @@ -6823,14 +6824,14 @@ L_08B0AE08: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_31 = (0x08B0AE54u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 464u, 0x08A931D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0AE54u) goto L_08B0AE54; AOT_REGCACHE_SYNC_OUT(); return; L_08B0AE54: aot_gpr_4 = (0u | 1u); goto L_08B0AE58; L_08B0AE58: - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -6843,7 +6844,7 @@ L_08B0AE58: const std::uint32_t vfpu_address = ctx.gpr[20] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -6856,7 +6857,7 @@ L_08B0AE58: const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -6878,7 +6879,7 @@ L_08B0AE58: goto L_08B0AE88; } L_08B0AE88: - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -7204,8 +7205,8 @@ L_08B0B004: ctx.fpr[26] = std::bit_cast(aot_run_words[3]); ctx.fpr[28] = std::bit_cast(aot_run_words[4]); ctx.fpr[30] = std::bit_cast(aot_run_words[5]); - aot_gpr_16 = aot_run_words[6]; - aot_gpr_17 = aot_run_words[7]; + ctx.gpr[16] = aot_run_words[6]; + ctx.gpr[17] = aot_run_words[7]; ctx.gpr[18] = aot_run_words[8]; ctx.gpr[19] = aot_run_words[9]; ctx.gpr[20] = aot_run_words[10]; @@ -7223,11 +7224,11 @@ L_08B0B004: AOT_REGCACHE_SYNC_OUT(); return; L_08B0B04C: aot_gpr_29 = (aot_gpr_29 + static_cast(-480)); - { const std::uint32_t aot_run_words[15]{std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_22), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], aot_gpr_31}; + { const std::uint32_t aot_run_words[15]{std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_22), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(412), aot_run_words); } - ctx.gpr[18] = (ctx.gpr[6] | 0u); - aot_gpr_17 = (aot_gpr_5 | 0u); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[18] = (aot_gpr_6 | 0u); + ctx.gpr[17] = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.gpr[20] = (ctx.gpr[10] << 24u); ctx.gpr[20] = (static_cast(static_cast(ctx.gpr[20]) >> 24u)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(488))); @@ -7246,7 +7247,7 @@ L_08B0B04C: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -7256,9 +7257,9 @@ L_08B0B04C: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 0u, 1u, 3u>(); - ctx.gpr[6] = (ctx.vfpu_scalar_bits_ct<28u>()); - ctx.fpr[17] = std::bit_cast(ctx.gpr[6]); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (ctx.vfpu_scalar_bits_ct<28u>()); + ctx.fpr[17] = std::bit_cast(aot_gpr_6); + aot_gpr_6 = (0u | 0u); ctx.gpr[23] = (0u | 2u); ctx.gpr[10] = (16256u << 16u); ctx.fpr[18] = std::bit_cast(ctx.gpr[10]); @@ -7271,14 +7272,14 @@ L_08B0B04C: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_13) || std::isnan(aot_fpr_20)) && aot_fpr_13 == aot_fpr_20)) ? 0x00800000u : 0u); // nop if (!((ctx.fcr31 & 0x00800000u) != 0u)) { - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); goto L_08B0B108; } goto L_08B0B108; L_08B0B108: - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(7534), static_cast(ctx.gpr[6])); - ctx.gpr[6] = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7534))); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(7534), static_cast(aot_gpr_6)); + aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7534))); + { const bool branch_taken = aot_gpr_6 == 0u; // nop if (branch_taken) { goto L_08B0B124; @@ -7295,29 +7296,29 @@ L_08B0B118: goto L_08B0B124; } L_08B0B124: - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(ctx.fpr[30]) || std::isnan(ctx.fpr[28])) && ctx.fpr[30] == ctx.fpr[28])) ? 0x00800000u : 0u); // nop if (!((ctx.fcr31 & 0x00800000u) != 0u)) { - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); goto L_08B0B138; } goto L_08B0B138; L_08B0B138: - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(7535), static_cast(ctx.gpr[6])); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(7535), static_cast(aot_gpr_6)); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[30] < ctx.fpr[28])) ? 0x00800000u : 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (((ctx.fcr31 & 0x00800000u) != 0u)) { - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); goto L_08B0B14C; } goto L_08B0B14C; L_08B0B14C: - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(7536), static_cast(ctx.gpr[6])); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(7536), static_cast(aot_gpr_6)); goto L_08B0B150; L_08B0B150: - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(0))); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(0))); + { const bool branch_taken = aot_gpr_6 == 0u; // nop if (branch_taken) { goto L_08B0B164; @@ -7325,14 +7326,14 @@ L_08B0B150: goto L_08B0B15C; } L_08B0B15C: - ctx.gpr[6] = (0u | 1u); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(1945), static_cast(ctx.gpr[6])); + aot_gpr_6 = (0u | 1u); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(1945), static_cast(aot_gpr_6)); goto L_08B0B164; L_08B0B164: aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(0), 0u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); - ctx.gpr[6] = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(1945))); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(1945))); + { const bool branch_taken = aot_gpr_6 == 0u; { const float fs = aot_fpr_12; const float ft = ctx.fpr[26]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[26] = std::bit_cast(0x7FC00000u); else ctx.fpr[26] = fs * ft; } if (branch_taken) { goto L_08B0B184; @@ -7340,20 +7341,20 @@ L_08B0B164: goto L_08B0B178; } L_08B0B178: - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(352))); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(108))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(352))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(108))); { const float fs = ctx.fpr[26]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[26] = std::bit_cast(0x7FC00000u); else ctx.fpr[26] = fs * ft; } goto L_08B0B184; L_08B0B184: { const bool branch_taken = aot_gpr_5 == ctx.gpr[23]; - ctx.gpr[6] = (0u | 3u); + aot_gpr_6 = (0u | 3u); if (branch_taken) { goto L_08B0B194; } goto L_08B0B18C; } L_08B0B18C: - { const bool branch_taken = aot_gpr_5 != ctx.gpr[6]; + { const bool branch_taken = aot_gpr_5 != aot_gpr_6; // nop if (branch_taken) { goto L_08B0B19C; @@ -7421,7 +7422,7 @@ L_08B0B1DC: aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1688))); aot_gpr_31 = (0x08B0B1F4u); ctx.fpr[24] = std::bit_cast(std::bit_cast(aot_fpr_20) ^ 0x80000000u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0B1F4u) goto L_08B0B1F4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0B1F4u) goto L_08B0B1F4; AOT_REGCACHE_SYNC_OUT(); return; L_08B0B1F4: aot_fpr_12 = aot_fpr_20 - ctx.fpr[24]; @@ -7519,7 +7520,7 @@ L_08B0B294: goto L_08B0B2B0; } L_08B0B2B0: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(604))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(604))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[28])) ? 0x00800000u : 0u); // nop if (((ctx.fcr31 & 0x00800000u) != 0u)) { @@ -7541,19 +7542,19 @@ L_08B0B2C4: goto L_08B0B2E0; } L_08B0B2E0: - ctx.gpr[6] = (16230u << 16u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(852))); - ctx.gpr[6] = (ctx.gpr[6] | 26214u); + aot_gpr_6 = (16230u << 16u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(852))); + aot_gpr_6 = (aot_gpr_6 | 26214u); aot_gpr_5 = (0u | 6u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; - aot_fpr_22 = std::bit_cast(ctx.gpr[6]); + aot_fpr_22 = std::bit_cast(aot_gpr_6); if (branch_taken) { goto L_08B0B308; } goto L_08B0B2F8; } L_08B0B2F8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(852))); aot_gpr_5 = (0u | 8u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -7563,7 +7564,7 @@ L_08B0B2F8: goto L_08B0B308; } L_08B0B308: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(352))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(352))); aot_gpr_5 = (16153u << 16u); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(188))); aot_gpr_5 = (aot_gpr_5 | 39322u); @@ -7581,7 +7582,7 @@ L_08B0B308: goto L_08B0B338; } L_08B0B338: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(352))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(352))); aot_gpr_5 = (17402u << 16u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(188))); aot_fpr_13 = std::bit_cast(aot_gpr_5); @@ -7596,7 +7597,7 @@ L_08B0B338: } L_08B0B358: aot_gpr_5 = (15948u << 16u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(352))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(352))); aot_gpr_5 = (aot_gpr_5 | 52429u); aot_fpr_13 = std::bit_cast(aot_gpr_5); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(188))); @@ -7610,7 +7611,7 @@ L_08B0B358: goto L_08B0B37C; } L_08B0B37C: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(86)))))); aot_gpr_5 = (0u + static_cast(-943)); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -7621,7 +7622,7 @@ L_08B0B37C: } L_08B0B38C: aot_gpr_5 = (15948u << 16u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(352))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(352))); aot_gpr_5 = (aot_gpr_5 | 52429u); aot_fpr_13 = std::bit_cast(aot_gpr_5); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(188))); @@ -7635,7 +7636,7 @@ L_08B0B38C: goto L_08B0B3B0; } L_08B0B3B0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(352))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(352))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(188))); aot_fpr_22 = aot_fpr_22 / aot_fpr_12; goto L_08B0B3BC; @@ -7762,7 +7763,7 @@ L_08B0B474: goto L_08B0B48C; } L_08B0B48C: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(86)))))); aot_gpr_5 = (0u | 179u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -7772,7 +7773,7 @@ L_08B0B48C: goto L_08B0B49C; } L_08B0B49C: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(86)))))); aot_gpr_5 = (0u | 178u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -7794,7 +7795,7 @@ L_08B0B4B8: aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(0), ctx.gpr[23]); goto L_08B0B4BC; L_08B0B4BC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(352))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(352))); aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(1945))); { const bool branch_taken = aot_gpr_5 == 0u; aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(108))); @@ -7848,7 +7849,7 @@ L_08B0B508: } goto L_08B0B514; L_08B0B514: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(352))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(352))); ctx.fpr[14] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(108))); { const float fs = ctx.fpr[16]; const float ft = ctx.fpr[14]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[16] = std::bit_cast(0x7FC00000u); else ctx.fpr[16] = fs * ft; } { const float fs = aot_fpr_12; const float ft = ctx.fpr[16]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } @@ -7913,7 +7914,7 @@ L_08B0B56C: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (std::bit_cast(ctx.fpr[24])); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -7923,9 +7924,9 @@ L_08B0B56C: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); - aot_gpr_17 = (aot_gpr_29 + static_cast(32)); + ctx.gpr[17] = (aot_gpr_29 + static_cast(32)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast(0); @@ -7937,7 +7938,7 @@ L_08B0B56C: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -7999,7 +8000,7 @@ L_08B0B56C: ctx.execute_vfpu_unary_ct<28u, 28u, 1u, 22u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(208))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(208))); ctx.fpr[14] = ctx.fpr[18] / aot_fpr_13; { const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); std::uint32_t vfpu_words[4]{}; @@ -8021,10 +8022,10 @@ L_08B0B56C: ctx.write_vfpu_vector_ct<2u, 4u>(vfpu_value); } ctx.execute_vfpu_cross_quat_ct<0u, 1u, 2u, 3u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -8036,7 +8037,7 @@ L_08B0B56C: ctx.execute_vfpu_vdot_ct<28u, 0u, 0u, 3u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); ctx.fpr[15] = std::bit_cast(aot_gpr_4); - ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(212))); + ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(212))); ctx.fpr[15] = ctx.fpr[15] / ctx.fpr[16]; ctx.fpr[14] = ctx.fpr[14] + ctx.fpr[15]; ctx.fpr[14] = ctx.fpr[18] / ctx.fpr[14]; @@ -8083,7 +8084,7 @@ L_08B0B56C: ctx.fpr[14] = std::bit_cast(aot_run_words[2]); } aot_gpr_31 = (0x08B0B674u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 600u, 0x08A66CD8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0B674u) goto L_08B0B674; AOT_REGCACHE_SYNC_OUT(); return; L_08B0B674: @@ -8096,7 +8097,7 @@ L_08B0B674: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -8117,7 +8118,7 @@ L_08B0B674: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -8138,7 +8139,7 @@ L_08B0B674: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - ctx.gpr[21] = (aot_gpr_16 + static_cast(16)); + ctx.gpr[21] = (ctx.gpr[16] + static_cast(16)); { const std::uint32_t vfpu_address = ctx.gpr[21] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -8173,7 +8174,7 @@ L_08B0B6C0: L_08B0B6D4: aot_gpr_4 = (std::bit_cast(ctx.fpr[24])); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -8232,7 +8233,7 @@ L_08B0B6D4: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -8284,13 +8285,13 @@ L_08B0B6D4: ctx.fpr[17] = std::bit_cast(aot_run_words[2]); } aot_gpr_31 = (0x08B0B768u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 611u, 0x08A66E08u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0B768u) goto L_08B0B768; AOT_REGCACHE_SYNC_OUT(); return; L_08B0B768: aot_gpr_4 = (std::bit_cast(ctx.fpr[24])); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -8301,7 +8302,7 @@ L_08B0B768: ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (std::bit_cast(aot_fpr_20)); @@ -8333,7 +8334,7 @@ L_08B0B768: ctx.fpr[17] = std::bit_cast(aot_run_words[2]); } aot_gpr_31 = (0x08B0B7B0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 611u, 0x08A66E08u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0B7B0u) goto L_08B0B7B0; AOT_REGCACHE_SYNC_OUT(); return; L_08B0B7B0: @@ -8345,8 +8346,8 @@ L_08B0B7B0: ctx.fpr[26] = std::bit_cast(aot_run_words[3]); ctx.fpr[28] = std::bit_cast(aot_run_words[4]); ctx.fpr[30] = std::bit_cast(aot_run_words[5]); - aot_gpr_16 = aot_run_words[6]; - aot_gpr_17 = aot_run_words[7]; + ctx.gpr[16] = aot_run_words[6]; + ctx.gpr[17] = aot_run_words[7]; ctx.gpr[18] = aot_run_words[8]; ctx.gpr[19] = aot_run_words[9]; ctx.gpr[20] = aot_run_words[10]; @@ -8363,10 +8364,10 @@ L_08B0B7B0: AOT_REGCACHE_SYNC_OUT(); return; L_08B0B7F4: aot_gpr_29 = (aot_gpr_29 + static_cast(-672)); - { const std::uint32_t aot_run_words[16]{std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_22), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; + { const std::uint32_t aot_run_words[16]{std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_22), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(596), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 + static_cast(320)); - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + ctx.gpr[16] = (aot_gpr_4 + static_cast(320)); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -8388,7 +8389,7 @@ L_08B0B7F4: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_20 <= aot_fpr_13)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(572), ctx.gpr[6]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(572), aot_gpr_6); if (branch_taken) { goto L_08B0BF34; } @@ -8414,7 +8415,7 @@ L_08B0B894: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0134_entry, 134u, 63u, 0x08A1C6C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0B8A0u) goto L_08B0B8A0; AOT_REGCACHE_SYNC_OUT(); return; L_08B0B8A0: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08B0BF34; @@ -8427,7 +8428,7 @@ L_08B0B8A8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 51u, 0x08AD0598u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0B8B0u) goto L_08B0B8B0; AOT_REGCACHE_SYNC_OUT(); return; L_08B0B8B0: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08B0BF34; @@ -8480,7 +8481,7 @@ L_08B0B8E4: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(148))); aot_gpr_4 = (std::bit_cast(aot_fpr_13)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -8490,12 +8491,12 @@ L_08B0B8E4: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); - aot_gpr_16 = (aot_gpr_29 + static_cast(32)); + ctx.gpr[16] = (aot_gpr_29 + static_cast(32)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -8504,9 +8505,9 @@ L_08B0B8E4: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_17 = (aot_gpr_29 + static_cast(80)); + ctx.gpr[17] = (aot_gpr_29 + static_cast(80)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(88))); @@ -8515,7 +8516,7 @@ L_08B0B8E4: { const float fs = aot_fpr_13; const float ft = aot_fpr_20; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_fpr_12 = aot_fpr_12 + aot_fpr_13; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(88), std::bit_cast(aot_fpr_12)); - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -8544,12 +8545,12 @@ L_08B0B8E4: ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (std::bit_cast(aot_fpr_20)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -8564,7 +8565,7 @@ L_08B0B8E4: const std::uint32_t vfpu_address = ctx.gpr[22] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B0B9A4u); aot_gpr_5 = (ctx.gpr[22] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0B9A4u) goto L_08B0B9A4; @@ -8617,7 +8618,7 @@ L_08B0B9B0: L_08B0BA08: aot_gpr_4 = (std::bit_cast(aot_fpr_20)); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -8633,7 +8634,7 @@ L_08B0BA08: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_31 = (0x08B0BA28u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0BA28u) goto L_08B0BA28; AOT_REGCACHE_SYNC_OUT(); return; L_08B0BA28: @@ -8707,8 +8708,8 @@ L_08B0BA5C: const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - ctx.gpr[6] = (ctx.gpr[18] + static_cast(48)); - { const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + aot_gpr_6 = (ctx.gpr[18] + static_cast(48)); + { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -8752,10 +8753,10 @@ L_08B0BA5C: ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 0u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -8773,7 +8774,7 @@ L_08B0BA5C: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[8] + static_cast(168))); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(120), std::bit_cast(aot_fpr_12)); - { const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -8793,10 +8794,10 @@ L_08B0BA5C: ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -8852,7 +8853,7 @@ L_08B0BB28: L_08B0BB2C: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(533)))))); { const bool branch_taken = aot_gpr_4 != ctx.gpr[23]; - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(564))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(564))); if (branch_taken) { goto L_08B0BB68; } @@ -8863,7 +8864,7 @@ L_08B0BB38: aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); ctx.set_vfpu_scalar_bits_ct<1u>(aot_gpr_4); - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -8874,7 +8875,7 @@ L_08B0BB38: ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 1u, 3u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (std::bit_cast(aot_fpr_12)); @@ -8931,7 +8932,7 @@ L_08B0BBB4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 400u, 0x0894624Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0BBBCu) goto L_08B0BBBC; AOT_REGCACHE_SYNC_OUT(); return; L_08B0BBBC: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1952))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1952))); { const float fs = aot_fpr_12; const float ft = ctx.fpr[30]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } { const float fs = aot_fpr_12; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[0] < aot_fpr_12)) ? 0x00800000u : 0u); @@ -8945,12 +8946,12 @@ L_08B0BBD8: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(592), ctx.gpr[30]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(588), std::bit_cast(aot_fpr_20)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(584), std::bit_cast(ctx.fpr[26])); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(580), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(580), ctx.gpr[16]); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(120), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (std::bit_cast(ctx.fpr[28])); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4); - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -8960,9 +8961,9 @@ L_08B0BBD8: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); - aot_gpr_16 = (aot_gpr_29 + static_cast(240)); + ctx.gpr[16] = (aot_gpr_29 + static_cast(240)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (15820u << 16u); @@ -8972,7 +8973,7 @@ L_08B0BBD8: aot_gpr_4 = (16672u << 16u); aot_gpr_31 = (0x08B0BC24u); aot_fpr_20 = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0BC24u) goto L_08B0BC24; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0BC24u) goto L_08B0BC24; AOT_REGCACHE_SYNC_OUT(); return; L_08B0BC24: aot_fpr_13 = aot_fpr_20 - aot_fpr_22; @@ -8983,7 +8984,7 @@ L_08B0BC24: aot_gpr_4 = (17076u << 16u); aot_gpr_31 = (0x08B0BC44u); aot_fpr_20 = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0BC44u) goto L_08B0BC44; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0BC44u) goto L_08B0BC44; AOT_REGCACHE_SYNC_OUT(); return; L_08B0BC44: ctx.fpr[14] = aot_fpr_20 - aot_fpr_22; @@ -8997,17 +8998,17 @@ L_08B0BC44: ctx.fpr[17] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1952))); ctx.fpr[14] = ctx.fpr[17] + ctx.fpr[15]; aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[14])); - ctx.gpr[2] = (std::bit_cast(aot_fpr_12)); + aot_gpr_2 = (std::bit_cast(aot_fpr_12)); aot_gpr_4 = (0u | 44u); aot_gpr_5 = (ctx.gpr[20] | 0u); - ctx.gpr[6] = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); ctx.gpr[7] = (0u | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[26])); ctx.gpr[8] = (ctx.gpr[23] | 0u); ctx.gpr[9] = (ctx.gpr[30] | 0u); ctx.gpr[11] = (0u | 1u); aot_gpr_31 = (0x08B0BC9Cu); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_2); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0063_entry, 63u, 90u, 0x0890043Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0BC9Cu) goto L_08B0BC9C; AOT_REGCACHE_SYNC_OUT(); return; L_08B0BC9C: @@ -9015,7 +9016,7 @@ L_08B0BC9C: aot_gpr_4 = (aot_gpr_4 | 52429u); aot_gpr_31 = (0x08B0BCACu); aot_fpr_20 = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0BCACu) goto L_08B0BCAC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0BCACu) goto L_08B0BCAC; AOT_REGCACHE_SYNC_OUT(); return; L_08B0BCAC: aot_fpr_12 = aot_fpr_20 - aot_fpr_22; @@ -9026,7 +9027,7 @@ L_08B0BCAC: aot_gpr_4 = (16948u << 16u); aot_gpr_31 = (0x08B0BCCCu); ctx.fpr[26] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0BCCCu) goto L_08B0BCCC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0BCCCu) goto L_08B0BCCC; AOT_REGCACHE_SYNC_OUT(); return; L_08B0BCCC: aot_fpr_13 = ctx.fpr[26] - aot_fpr_22; @@ -9040,17 +9041,17 @@ L_08B0BCCC: ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1952))); aot_fpr_12 = ctx.fpr[15] + aot_fpr_12; aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); - ctx.gpr[2] = (std::bit_cast(aot_fpr_12)); + aot_gpr_2 = (std::bit_cast(aot_fpr_12)); aot_gpr_4 = (0u | 45u); aot_gpr_5 = (ctx.gpr[20] | 0u); - ctx.gpr[6] = (aot_gpr_17 | 0u); + aot_gpr_6 = (ctx.gpr[17] | 0u); ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(576))); ctx.gpr[7] = (0u | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[24])); ctx.gpr[9] = (ctx.gpr[30] | 0u); ctx.gpr[11] = (0u | 0u); aot_gpr_31 = (0x08B0BD24u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_2); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0063_entry, 63u, 90u, 0x0890043Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0BD24u) goto L_08B0BD24; AOT_REGCACHE_SYNC_OUT(); return; L_08B0BD24: @@ -9065,10 +9066,10 @@ L_08B0BD24: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -9077,9 +9078,9 @@ L_08B0BD24: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - ctx.gpr[6] = (aot_gpr_29 + static_cast(256)); + aot_gpr_6 = (aot_gpr_29 + static_cast(256)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = ctx.gpr[22] + static_cast(0); @@ -9097,13 +9098,13 @@ L_08B0BD24: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_31 = (0x08B0BD50u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0129_entry, 129u, 579u, 0x08A0B7F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0BD50u) goto L_08B0BD50; AOT_REGCACHE_SYNC_OUT(); return; L_08B0BD50: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(580), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.fpr[26] = std::bit_cast(aot_run_words[1]); aot_fpr_20 = std::bit_cast(aot_run_words[2]); ctx.gpr[30] = aot_run_words[3]; @@ -9145,7 +9146,7 @@ L_08B0BDA0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 400u, 0x0894624Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0BDA8u) goto L_08B0BDA8; AOT_REGCACHE_SYNC_OUT(); return; L_08B0BDA8: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1952))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1952))); { const float fs = aot_fpr_12; const float ft = ctx.fpr[30]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } { const float fs = aot_fpr_12; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[0] < aot_fpr_12)) ? 0x00800000u : 0u); @@ -9158,7 +9159,7 @@ L_08B0BDA8: goto L_08B0BDC4; } L_08B0BDC4: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(576))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(576))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(104), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (std::bit_cast(ctx.fpr[28])); @@ -9173,9 +9174,9 @@ L_08B0BDC4: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); - aot_gpr_17 = (aot_gpr_29 + static_cast(288)); + ctx.gpr[17] = (aot_gpr_29 + static_cast(288)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (15820u << 16u); @@ -9185,7 +9186,7 @@ L_08B0BDC4: aot_gpr_4 = (16672u << 16u); aot_gpr_31 = (0x08B0BE04u); ctx.fpr[26] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0BE04u) goto L_08B0BE04; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0BE04u) goto L_08B0BE04; AOT_REGCACHE_SYNC_OUT(); return; L_08B0BE04: aot_fpr_13 = ctx.fpr[26] - aot_fpr_22; @@ -9196,7 +9197,7 @@ L_08B0BE04: aot_gpr_4 = (17076u << 16u); aot_gpr_31 = (0x08B0BE24u); ctx.fpr[28] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0BE24u) goto L_08B0BE24; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0BE24u) goto L_08B0BE24; AOT_REGCACHE_SYNC_OUT(); return; L_08B0BE24: ctx.fpr[14] = ctx.fpr[28] - aot_fpr_22; @@ -9210,17 +9211,17 @@ L_08B0BE24: ctx.fpr[17] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1952))); ctx.fpr[14] = ctx.fpr[17] + ctx.fpr[15]; aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[14])); - ctx.gpr[2] = (std::bit_cast(aot_fpr_12)); + aot_gpr_2 = (std::bit_cast(aot_fpr_12)); aot_gpr_4 = (0u | 44u); aot_gpr_5 = (ctx.gpr[21] | 0u); - ctx.gpr[6] = (aot_gpr_17 | 0u); + aot_gpr_6 = (ctx.gpr[17] | 0u); ctx.gpr[7] = (0u | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); ctx.gpr[8] = (ctx.gpr[23] | 0u); ctx.gpr[9] = (ctx.gpr[20] | 0u); ctx.gpr[11] = (0u | 1u); aot_gpr_31 = (0x08B0BE7Cu); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_2); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0063_entry, 63u, 90u, 0x0890043Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0BE7Cu) goto L_08B0BE7C; AOT_REGCACHE_SYNC_OUT(); return; L_08B0BE7C: @@ -9228,7 +9229,7 @@ L_08B0BE7C: aot_gpr_4 = (aot_gpr_4 | 52429u); aot_gpr_31 = (0x08B0BE8Cu); ctx.fpr[26] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0BE8Cu) goto L_08B0BE8C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0BE8Cu) goto L_08B0BE8C; AOT_REGCACHE_SYNC_OUT(); return; L_08B0BE8C: aot_fpr_12 = ctx.fpr[26] - aot_fpr_22; @@ -9239,7 +9240,7 @@ L_08B0BE8C: aot_gpr_4 = (16948u << 16u); aot_gpr_31 = (0x08B0BEACu); aot_fpr_20 = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0BEACu) goto L_08B0BEAC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0BEACu) goto L_08B0BEAC; AOT_REGCACHE_SYNC_OUT(); return; L_08B0BEAC: aot_fpr_13 = aot_fpr_20 - aot_fpr_22; @@ -9253,17 +9254,17 @@ L_08B0BEAC: ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1952))); aot_fpr_12 = ctx.fpr[15] + aot_fpr_12; aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); - ctx.gpr[2] = (std::bit_cast(aot_fpr_12)); + aot_gpr_2 = (std::bit_cast(aot_fpr_12)); aot_gpr_4 = (0u | 45u); aot_gpr_5 = (ctx.gpr[21] | 0u); - ctx.gpr[6] = (ctx.gpr[19] | 0u); + aot_gpr_6 = (ctx.gpr[19] | 0u); ctx.gpr[7] = (0u | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[24])); - ctx.gpr[8] = (aot_gpr_16 | 0u); + ctx.gpr[8] = (ctx.gpr[16] | 0u); ctx.gpr[9] = (ctx.gpr[20] | 0u); ctx.gpr[11] = (0u | 0u); aot_gpr_31 = (0x08B0BF04u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_2); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0063_entry, 63u, 90u, 0x0890043Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0BF04u) goto L_08B0BF04; AOT_REGCACHE_SYNC_OUT(); return; L_08B0BF04: @@ -9278,7 +9279,7 @@ L_08B0BF04: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); @@ -9290,9 +9291,9 @@ L_08B0BF04: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - ctx.gpr[6] = (aot_gpr_29 + static_cast(304)); + aot_gpr_6 = (aot_gpr_29 + static_cast(304)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = ctx.gpr[22] + static_cast(0); @@ -9311,7 +9312,7 @@ L_08B0BF04: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_31 = (0x08B0BF34u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0129_entry, 129u, 579u, 0x08A0B7F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0BF34u) goto L_08B0BF34; AOT_REGCACHE_SYNC_OUT(); return; L_08B0BF34: @@ -9323,8 +9324,8 @@ L_08B0BF34: ctx.fpr[26] = std::bit_cast(aot_run_words[3]); ctx.fpr[28] = std::bit_cast(aot_run_words[4]); ctx.fpr[30] = std::bit_cast(aot_run_words[5]); - aot_gpr_16 = aot_run_words[6]; - aot_gpr_17 = aot_run_words[7]; + ctx.gpr[16] = aot_run_words[6]; + ctx.gpr[17] = aot_run_words[7]; ctx.gpr[18] = aot_run_words[8]; ctx.gpr[19] = aot_run_words[9]; ctx.gpr[20] = aot_run_words[10]; @@ -9351,7 +9352,7 @@ L_08B0BF7C: L_08B0BF90: aot_gpr_31 = (0x08B0BF98u); aot_gpr_4 = (ctx.gpr[28] + static_cast(1956)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0BF98u) goto L_08B0BF98; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0BF98u) goto L_08B0BF98; AOT_REGCACHE_SYNC_OUT(); return; L_08B0BF98: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -9364,7 +9365,7 @@ L_08B0BF98: L_08B0BFA4: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1968))); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[16], ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } { const bool branch_taken = aot_gpr_5 != 0u; // nop @@ -9387,12 +9388,12 @@ L_08B0BFC8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0BFD0u) goto L_08B0BFD0; AOT_REGCACHE_SYNC_OUT(); return; L_08B0BFD0: - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(1968), ctx.gpr[2]); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(1968), aot_gpr_2); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08B0BFE4u); - ctx.gpr[6] = (0u | 16u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0BFE4u) goto L_08B0BFE4; + aot_gpr_6 = (0u | 16u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0BFE4u) goto L_08B0BFE4; AOT_REGCACHE_SYNC_OUT(); return; L_08B0BFE4: { const bool branch_taken = 0u == 0u; diff --git a/profiles/vcs/generated/generated_unit_0194.cpp b/profiles/vcs/generated/generated_unit_0194.cpp index d062b0d..163e0a4 100644 --- a/profiles/vcs/generated/generated_unit_0194.cpp +++ b/profiles/vcs/generated/generated_unit_0194.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0194[4094] = { }; void recomp_unit_0194_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,16,31,29,17 fprs=12,14,13,20 gpr_occ=4092 fpr_occ=861 gpr_total=5031 fpr_total=1065 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,31,29,16,2 fprs=12,14,13,20 gpr_occ=4252 fpr_occ=880 gpr_total=5287 fpr_total=1087 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; - std::uint32_t aot_gpr_16 = ctx.gpr[16]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; - std::uint32_t aot_gpr_17 = ctx.gpr[17]; + std::uint32_t aot_gpr_16 = ctx.gpr[16]; + std::uint32_t aot_gpr_2 = ctx.gpr[2]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_14 = ctx.fpr[14]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_20 = ctx.fpr[20]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[16] = aot_gpr_16; ctx.gpr[31] = aot_gpr_31; ctx.gpr[29] = aot_gpr_29; ctx.gpr[17] = aot_gpr_17; ctx.fpr[12] = aot_fpr_12; ctx.fpr[14] = aot_fpr_14; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_17 = ctx.gpr[17]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[31] = aot_gpr_31; ctx.gpr[29] = aot_gpr_29; ctx.gpr[16] = aot_gpr_16; ctx.gpr[2] = aot_gpr_2; ctx.fpr[12] = aot_fpr_12; ctx.fpr[14] = aot_fpr_14; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_2 = ctx.gpr[2]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -1101,7 +1102,7 @@ LOCAL_DISPATCH: } } L_08B0C000: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_16 = (0u | 0u); goto L_08B0C008; L_08B0C008: @@ -1109,7 +1110,7 @@ L_08B0C008: // nop goto L_08B0C48C; L_08B0C010: - aot_gpr_4 = (static_cast(aot_gpr_17) < static_cast(ctx.gpr[2]) ? 1u : 0u); + aot_gpr_4 = (static_cast(ctx.gpr[17]) < static_cast(aot_gpr_2) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -1125,14 +1126,14 @@ L_08B0C01C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0091_entry, 91u, 742u, 0x0897385Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0C02Cu) goto L_08B0C02C; AOT_REGCACHE_SYNC_OUT(); return; L_08B0C02C: - aot_gpr_5 = (aot_gpr_17 << 24u); + aot_gpr_5 = (ctx.gpr[17] << 24u); aot_gpr_5 = (static_cast(static_cast(aot_gpr_5) >> 24u)); aot_gpr_31 = (0x08B0C03Cu); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 292u, 0x08AFD948u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0C03Cu) goto L_08B0C03C; AOT_REGCACHE_SYNC_OUT(); return; L_08B0C03C: - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); { const bool branch_taken = 0u == 0u; aot_gpr_16 = (aot_gpr_16 + static_cast(4)); if (branch_taken) { @@ -1144,7 +1145,7 @@ L_08B0C048: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -1174,11 +1175,11 @@ L_08B0C084: aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08B0C0A4u); ctx.fpr[15] = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0C0A4u) goto L_08B0C0A4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08873400, 27u, 732u, 0x08873400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, ctx.fpr[15]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0C0A4u) goto L_08B0C0A4; AOT_REGCACHE_SYNC_OUT(); return; L_08B0C0A4: aot_gpr_31 = (0x08B0C0ACu); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); goto L_08B0C4D4; L_08B0C0AC: aot_gpr_31 = (0x08B0C0B4u); @@ -1237,9 +1238,9 @@ L_08B0C128: L_08B0C138: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_gpr_16 = (ctx.gpr[6] | 0u); - aot_gpr_17 = (aot_gpr_5 | 0u); + ctx.gpr[17] = (aot_gpr_5 | 0u); { const std::uint32_t aot_run_words[4]{ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(8), aot_run_words); } aot_gpr_31 = (0x08B0C164u); @@ -1247,26 +1248,26 @@ L_08B0C138: goto L_08B0C4CC; L_08B0C164: aot_gpr_31 = (0x08B0C16Cu); - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); goto L_08B0C508; L_08B0C16C: aot_gpr_31 = (0x08B0C174u); - ctx.gpr[20] = (ctx.gpr[2] | 0u); + ctx.gpr[20] = (aot_gpr_2 | 0u); goto L_08B0C518; L_08B0C174: aot_gpr_4 = (ctx.gpr[18] | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); ctx.gpr[6] = (aot_gpr_16 | 0u); ctx.gpr[7] = (ctx.gpr[19] | 0u); ctx.gpr[8] = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08B0C190u); - ctx.gpr[9] = (ctx.gpr[2] | 0u); + ctx.gpr[9] = (aot_gpr_2 | 0u); goto L_08B0C1B0; L_08B0C190: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -1292,11 +1293,11 @@ L_08B0C1B0: ctx.gpr[21] = (ctx.gpr[6] | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_4); ctx.gpr[30] = (ctx.gpr[7] | 0u); - { const std::uint32_t aot_run_words[5]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20]}; + { const std::uint32_t aot_run_words[5]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(32), aot_run_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), aot_gpr_31); { const bool branch_taken = aot_gpr_5 == 0u; - aot_gpr_17 = (ctx.gpr[8] | 0u); + ctx.gpr[17] = (ctx.gpr[8] | 0u); if (branch_taken) { goto L_08B0C2C0; } @@ -1308,7 +1309,7 @@ L_08B0C204: goto L_08B0C4A0; L_08B0C20C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1968))); - aot_gpr_5 = (ctx.gpr[2] << 2u); + aot_gpr_5 = (aot_gpr_2 << 2u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_31 = (0x08B0C220u); aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); @@ -1326,7 +1327,7 @@ L_08B0C22C: L_08B0C234: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B0C240u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0092_entry, 92u, 17u, 0x08974144u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0C240u) goto L_08B0C240; AOT_REGCACHE_SYNC_OUT(); return; L_08B0C240: @@ -1336,7 +1337,7 @@ L_08B0C240: L_08B0C248: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B0C254u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0092_entry, 92u, 19u, 0x08974154u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0C254u) goto L_08B0C254; AOT_REGCACHE_SYNC_OUT(); return; L_08B0C254: @@ -1345,13 +1346,13 @@ L_08B0C254: goto L_08B0C7D0; L_08B0C25C: aot_gpr_31 = (0x08B0C264u); - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); goto L_08B0C7D8; L_08B0C264: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08B0C274u); - ctx.gpr[6] = (ctx.gpr[2] | 0u); + ctx.gpr[6] = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0092_entry, 92u, 130u, 0x089748D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0C274u) goto L_08B0C274; AOT_REGCACHE_SYNC_OUT(); return; L_08B0C274: @@ -1360,13 +1361,13 @@ L_08B0C274: goto L_08B0C838; L_08B0C27C: aot_gpr_31 = (0x08B0C284u); - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); goto L_08B0C840; L_08B0C284: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08B0C294u); - ctx.gpr[6] = (ctx.gpr[2] | 0u); + ctx.gpr[6] = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0092_entry, 92u, 133u, 0x08974914u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0C294u) goto L_08B0C294; AOT_REGCACHE_SYNC_OUT(); return; L_08B0C294: @@ -1376,7 +1377,7 @@ L_08B0C294: L_08B0C29C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B0C2A8u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0092_entry, 92u, 136u, 0x08974950u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0C2A8u) goto L_08B0C2A8; AOT_REGCACHE_SYNC_OUT(); return; L_08B0C2A8: @@ -1384,7 +1385,7 @@ L_08B0C2A8: // nop goto L_08B0C4A0; L_08B0C2B0: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08B0C2DC; @@ -1413,7 +1414,7 @@ L_08B0C2C8: goto L_08B0C4A0; L_08B0C2D0: aot_gpr_4 = (0u | 2u); - { const bool branch_taken = ctx.gpr[2] != aot_gpr_4; + { const bool branch_taken = aot_gpr_2 != aot_gpr_4; // nop if (branch_taken) { goto L_08B0C3E4; @@ -1434,7 +1435,7 @@ L_08B0C2DC: ctx.gpr[20] = (aot_gpr_29 + static_cast(4)); goto L_08B0C4A0; L_08B0C308: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08B0C360; @@ -1449,11 +1450,11 @@ L_08B0C318: aot_gpr_4 = (16384u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); { const float fs = ctx.fpr[0]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(12))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(12))); aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); - ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); + ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); ctx.gpr[18] = (std::bit_cast(aot_fpr_12)); ctx.fpr[17] = std::bit_cast(ctx.gpr[18]); ctx.fpr[17] = static_cast(static_cast(std::bit_cast(ctx.fpr[17]))); @@ -1477,11 +1478,11 @@ L_08B0C368: aot_gpr_4 = (16448u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); { const float fs = ctx.fpr[0]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(12))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(12))); aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); - ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); + ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); ctx.gpr[18] = (std::bit_cast(aot_fpr_12)); ctx.fpr[17] = std::bit_cast(ctx.gpr[18]); ctx.fpr[17] = static_cast(static_cast(std::bit_cast(ctx.fpr[17]))); @@ -1493,11 +1494,11 @@ L_08B0C368: ctx.fpr[15] = ctx.fpr[16] + ctx.fpr[17]; goto L_08B0C3AC; L_08B0C3AC: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_17); - aot_gpr_17 = (aot_gpr_29 + static_cast(8)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_29 + static_cast(8)); aot_gpr_31 = (0x08B0C3BCu); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0C3BCu) goto L_08B0C3BC; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08873400, 27u, 732u, 0x08873400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, ctx.fpr[15]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0C3BCu) goto L_08B0C3BC; AOT_REGCACHE_SYNC_OUT(); return; L_08B0C3BC: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); @@ -1505,14 +1506,14 @@ L_08B0C3BC: ctx.gpr[6] = (ctx.gpr[19] | 0u); ctx.gpr[7] = (ctx.gpr[18] | 0u); ctx.gpr[8] = (ctx.gpr[20] | 0u); - ctx.gpr[9] = (aot_gpr_17 | 0u); + ctx.gpr[9] = (ctx.gpr[17] | 0u); ctx.gpr[10] = (ctx.gpr[23] | 0u); aot_gpr_31 = (0x08B0C3E0u); ctx.gpr[11] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0092_entry, 92u, 138u, 0x08974960u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0C3E0u) goto L_08B0C3E0; AOT_REGCACHE_SYNC_OUT(); return; L_08B0C3E0: - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(28))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(28))); goto L_08B0C3E4; L_08B0C3E4: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); @@ -1520,7 +1521,7 @@ L_08B0C3E4: ctx.gpr[6] = (ctx.gpr[22] | 0u); ctx.gpr[7] = (ctx.gpr[21] | 0u); ctx.gpr[8] = (ctx.gpr[30] | 0u); - ctx.gpr[9] = (aot_gpr_17 | 0u); + ctx.gpr[9] = (ctx.gpr[17] | 0u); ctx.gpr[10] = (ctx.gpr[23] | 0u); aot_gpr_31 = (0x08B0C408u); ctx.gpr[11] = (0u | 0u); @@ -1555,7 +1556,7 @@ L_08B0C45C: { std::uint32_t aot_run_words[10]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(32), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -1574,7 +1575,7 @@ L_08B0C45C: L_08B0C48C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1968))); jump_target = aot_gpr_31; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(12))); + aot_gpr_2 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(12))); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -1588,7 +1589,7 @@ L_08B0C498: AOT_REGCACHE_SYNC_OUT(); return; L_08B0C4A0: jump_target = aot_gpr_31; - ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1972))); + aot_gpr_2 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1972))); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -1609,7 +1610,7 @@ L_08B0C4A8: AOT_REGCACHE_SYNC_OUT(); return; L_08B0C4CC: jump_target = aot_gpr_31; - ctx.gpr[2] = (ctx.gpr[28] + static_cast(10440)); + aot_gpr_2 = (ctx.gpr[28] + static_cast(10440)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -1637,7 +1638,7 @@ L_08B0C4D4: AOT_REGCACHE_SYNC_OUT(); return; L_08B0C508: jump_target = aot_gpr_31; - ctx.gpr[2] = (ctx.gpr[28] + static_cast(10448)); + aot_gpr_2 = (ctx.gpr[28] + static_cast(10448)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -1651,7 +1652,7 @@ L_08B0C510: AOT_REGCACHE_SYNC_OUT(); return; L_08B0C518: jump_target = aot_gpr_31; - ctx.gpr[2] = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(1976))); + aot_gpr_2 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(1976))); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -1664,7 +1665,7 @@ L_08B0C520: goto L_08B0C4A0; L_08B0C530: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1968))); - aot_gpr_5 = (ctx.gpr[2] << 2u); + aot_gpr_5 = (aot_gpr_2 << 2u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_31 = (0x08B0C548u); @@ -1694,7 +1695,7 @@ L_08B0C55C: goto L_08B0C748; L_08B0C56C: aot_gpr_31 = (0x08B0C574u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 263u, 0x08AFD780u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0C574u) goto L_08B0C574; AOT_REGCACHE_SYNC_OUT(); return; L_08B0C574: @@ -1717,7 +1718,7 @@ L_08B0C594: aot_fpr_20 = std::bit_cast(std::bit_cast(ctx.fpr[0])); goto L_08B0C55C; L_08B0C59C: - aot_fpr_12 = std::bit_cast(ctx.gpr[2]); + aot_fpr_12 = std::bit_cast(aot_gpr_2); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); { const float fs = aot_fpr_12; const float ft = aot_fpr_20; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); @@ -1740,7 +1741,7 @@ L_08B0C5C8: goto L_08B0C4A0; L_08B0C5D8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1968))); - aot_gpr_5 = (ctx.gpr[2] << 2u); + aot_gpr_5 = (aot_gpr_2 << 2u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_31 = (0x08B0C5F0u); @@ -1757,7 +1758,7 @@ L_08B0C5F0: AOT_REGCACHE_SYNC_OUT(); return; L_08B0C5FC: jump_target = aot_gpr_31; - ctx.gpr[2] = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(1984))); + aot_gpr_2 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(1984))); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -1770,7 +1771,7 @@ L_08B0C604: goto L_08B0C4A0; L_08B0C614: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1968))); - aot_gpr_5 = (ctx.gpr[2] << 2u); + aot_gpr_5 = (aot_gpr_2 << 2u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_31 = (0x08B0C62Cu); @@ -1787,7 +1788,7 @@ L_08B0C62C: AOT_REGCACHE_SYNC_OUT(); return; L_08B0C638: jump_target = aot_gpr_31; - ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1988))); + aot_gpr_2 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1988))); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -1801,7 +1802,7 @@ L_08B0C640: AOT_REGCACHE_SYNC_OUT(); return; L_08B0C648: jump_target = aot_gpr_31; - ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1992))); + aot_gpr_2 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1992))); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -1815,17 +1816,17 @@ L_08B0C650: AOT_REGCACHE_SYNC_OUT(); return; L_08B0C658: jump_target = aot_gpr_31; - ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1996))); + aot_gpr_2 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1996))); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08B0C660: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19]}; + { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_16 = (ctx.gpr[7] | 0u); - aot_gpr_17 = (ctx.gpr[6] | 0u); + ctx.gpr[17] = (ctx.gpr[6] | 0u); ctx.gpr[18] = (aot_gpr_5 | 0u); ctx.gpr[19] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[20]); @@ -1835,12 +1836,12 @@ L_08B0C660: goto L_08B0C4A0; L_08B0C694: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1968))); - aot_gpr_5 = (ctx.gpr[2] << 2u); + aot_gpr_5 = (aot_gpr_2 << 2u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_5 = (ctx.gpr[19] | 0u); ctx.gpr[6] = (ctx.gpr[18] | 0u); - ctx.gpr[7] = (aot_gpr_17 | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); ctx.gpr[8] = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B0C6BCu); ctx.gpr[9] = (ctx.gpr[20] | 0u); @@ -1850,7 +1851,7 @@ L_08B0C6BC: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -1864,10 +1865,10 @@ L_08B0C6BC: AOT_REGCACHE_SYNC_OUT(); return; L_08B0C6DC: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, ctx.gpr[18]}; + { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_16 = (ctx.gpr[6] | 0u); - aot_gpr_17 = (aot_gpr_5 | 0u); + ctx.gpr[17] = (aot_gpr_5 | 0u); ctx.gpr[18] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[19]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); @@ -1876,11 +1877,11 @@ L_08B0C6DC: goto L_08B0C4A0; L_08B0C708: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1968))); - aot_gpr_5 = (ctx.gpr[2] << 2u); + aot_gpr_5 = (aot_gpr_2 << 2u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_5 = (ctx.gpr[18] | 0u); - ctx.gpr[6] = (aot_gpr_17 | 0u); + ctx.gpr[6] = (ctx.gpr[17] | 0u); ctx.gpr[7] = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B0C72Cu); ctx.gpr[8] = (ctx.gpr[19] | 0u); @@ -1890,7 +1891,7 @@ L_08B0C72C: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; @@ -1909,7 +1910,7 @@ L_08B0C748: goto L_08B0C4A0; L_08B0C758: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1968))); - aot_gpr_5 = (ctx.gpr[2] << 2u); + aot_gpr_5 = (aot_gpr_2 << 2u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_31 = (0x08B0C76Cu); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); @@ -1939,7 +1940,7 @@ L_08B0C778: goto L_08B0C4A0; L_08B0C7A8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1968))); - aot_gpr_5 = (ctx.gpr[2] << 2u); + aot_gpr_5 = (aot_gpr_2 << 2u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(2000))); @@ -1957,14 +1958,14 @@ L_08B0C7C4: AOT_REGCACHE_SYNC_OUT(); return; L_08B0C7D0: jump_target = aot_gpr_31; - ctx.gpr[2] = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(2000))); + aot_gpr_2 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(2000))); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08B0C7D8: jump_target = aot_gpr_31; - ctx.gpr[2] = (ctx.gpr[28] + static_cast(10464)); + aot_gpr_2 = (ctx.gpr[28] + static_cast(10464)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -1985,7 +1986,7 @@ L_08B0C7E0: goto L_08B0C4A0; L_08B0C810: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1968))); - aot_gpr_5 = (ctx.gpr[2] << 2u); + aot_gpr_5 = (aot_gpr_2 << 2u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(2001))); @@ -2003,14 +2004,14 @@ L_08B0C82C: AOT_REGCACHE_SYNC_OUT(); return; L_08B0C838: jump_target = aot_gpr_31; - ctx.gpr[2] = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(2001))); + aot_gpr_2 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(2001))); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08B0C840: jump_target = aot_gpr_31; - ctx.gpr[2] = (ctx.gpr[28] + static_cast(10468)); + aot_gpr_2 = (ctx.gpr[28] + static_cast(10468)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -2023,7 +2024,7 @@ L_08B0C848: goto L_08B0C4A0; L_08B0C858: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(1968))); - aot_gpr_5 = (ctx.gpr[2] << 2u); + aot_gpr_5 = (aot_gpr_2 << 2u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_31 = (0x08B0C870u); @@ -2040,7 +2041,7 @@ L_08B0C870: AOT_REGCACHE_SYNC_OUT(); return; L_08B0C87C: jump_target = aot_gpr_31; - ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(2004))); + aot_gpr_2 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(2004))); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -2062,7 +2063,7 @@ L_08B0C884: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x08B0C8C4u); aot_gpr_4 = (ctx.gpr[28] + static_cast(10448)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0C8C4u) goto L_08B0C8C4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08873400, 27u, 732u, 0x08873400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, ctx.fpr[15]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0C8C4u) goto L_08B0C8C4; AOT_REGCACHE_SYNC_OUT(); return; L_08B0C8C4: aot_gpr_4 = (0u | 0u); @@ -2089,7 +2090,7 @@ L_08B0C8C4: AOT_REGCACHE_SYNC_OUT(); return; L_08B0C90C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[5]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31, ctx.gpr[6]}; + { const std::uint32_t aot_run_words[5]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31, ctx.gpr[6]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } ctx.gpr[18] = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); @@ -2099,26 +2100,26 @@ L_08B0C90C: } goto L_08B0C934; L_08B0C934: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_31 = (0x08B0C940u); aot_gpr_4 = (0u | 2452u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0C940u) goto L_08B0C940; AOT_REGCACHE_SYNC_OUT(); return; L_08B0C940: - aot_gpr_16 = (ctx.gpr[2] | 0u); + aot_gpr_16 = (aot_gpr_2 | 0u); if (aot_gpr_16 == 0u) { - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_17); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), ctx.gpr[17]); goto L_08B0C95C; } goto L_08B0C94C; L_08B0C94C: aot_gpr_31 = (0x08B0C954u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0C954u) goto L_08B0C954; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0C954u) goto L_08B0C954; AOT_REGCACHE_SYNC_OUT(); return; L_08B0C954: - aot_gpr_17 = (aot_gpr_16 | 0u); - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), aot_gpr_17); + ctx.gpr[17] = (aot_gpr_16 | 0u); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), ctx.gpr[17]); goto L_08B0C95C; L_08B0C95C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); @@ -2134,7 +2135,7 @@ L_08B0C968: ctx.gpr[6] = (aot_mem.aot_direct_load_word_right(ctx.gpr[18] + static_cast(7), ctx.gpr[6])); ctx.gpr[6] = (aot_mem.aot_direct_load_word_left(ctx.gpr[18] + static_cast(10), ctx.gpr[6])); ctx.gpr[6] = (ctx.gpr[6] & 65535u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x08B0C98Cu); ctx.gpr[8] = (0u | 1u); @@ -2144,7 +2145,7 @@ L_08B0C98C: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -2156,7 +2157,7 @@ L_08B0C98C: AOT_REGCACHE_SYNC_OUT(); return; L_08B0C9A4: aot_gpr_29 = (aot_gpr_29 + static_cast(-320)); - { const std::uint32_t aot_run_words[6]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; + { const std::uint32_t aot_run_words[6]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(288), aot_run_words); } aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_31 = (0x08B0C9CCu); @@ -2173,7 +2174,7 @@ L_08B0C9CC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0038_entry, 38u, 277u, 0x0889D50Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0C9E4u) goto L_08B0C9E4; AOT_REGCACHE_SYNC_OUT(); return; L_08B0C9E4: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B0C9F4u); aot_gpr_5 = (0u | 3u); @@ -2192,15 +2193,15 @@ L_08B0CA08: aot_gpr_16 = (std::bit_cast(aot_fpr_13)); aot_gpr_31 = (0x08B0CA18u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0CA18u) goto L_08B0CA18; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0CA18u) goto L_08B0CA18; AOT_REGCACHE_SYNC_OUT(); return; L_08B0CA18: - aot_gpr_4 = (ctx.gpr[2] + static_cast(12)); + aot_gpr_4 = (aot_gpr_2 + static_cast(12)); aot_gpr_4 = (aot_gpr_4 & 65535u); aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(16), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(10472))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(18), static_cast(aot_gpr_4)); - aot_gpr_17 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[17] = (aot_gpr_29 + static_cast(16)); aot_mem.aot_direct_store_word_right(aot_gpr_29 + static_cast(19), ctx.gpr[20]); aot_mem.aot_direct_store_word_left(aot_gpr_29 + static_cast(22), ctx.gpr[20]); aot_mem.aot_direct_store_word_right(aot_gpr_29 + static_cast(23), aot_gpr_16); @@ -2219,7 +2220,7 @@ L_08B0CA4C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 8u, 0x08ADC0B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0CA60u) goto L_08B0CA60; AOT_REGCACHE_SYNC_OUT(); return; L_08B0CA60: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08B0CA80; @@ -2229,24 +2230,24 @@ L_08B0CA60: L_08B0CA68: aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(284), static_cast(0u)); ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(284)))))); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08B0CA80u); ctx.gpr[7] = (0u | 0u); goto L_08B0C90C; L_08B0CA80: aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B0CA90u); ctx.gpr[6] = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 186u, 0x08ADC9FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0CA90u) goto L_08B0CA90; AOT_REGCACHE_SYNC_OUT(); return; L_08B0CA90: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(288), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -2267,7 +2268,7 @@ L_08B0CAB4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0038_entry, 38u, 252u, 0x0889D374u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0CAC8u) goto L_08B0CAC8; AOT_REGCACHE_SYNC_OUT(); return; L_08B0CAC8: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -2302,7 +2303,7 @@ L_08B0CAF8: goto L_08B0CB00; } L_08B0CB00: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_08B0CB04; L_08B0CB04: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -2314,16 +2315,16 @@ L_08B0CB04: AOT_REGCACHE_SYNC_OUT(); return; L_08B0CB10: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_17 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(8))); + ctx.gpr[17] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(8))); aot_gpr_31 = (0x08B0CB30u); aot_gpr_5 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 555u, 0x088079D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0CB30u) goto L_08B0CB30; AOT_REGCACHE_SYNC_OUT(); return; L_08B0CB30: - aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(0), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_2 + static_cast(0), ctx.gpr[17]); aot_gpr_5 = (ctx.gpr[28] + static_cast(2148)); aot_gpr_31 = (0x08B0CB40u); aot_gpr_4 = (aot_gpr_16 | 0u); @@ -2339,7 +2340,7 @@ L_08B0CB4C: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -2350,13 +2351,13 @@ L_08B0CB4C: AOT_REGCACHE_SYNC_OUT(); return; L_08B0CB60: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - { const std::uint32_t aot_run_words[8]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; + { const std::uint32_t aot_run_words[8]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_16 = (aot_gpr_4 | 0u); ctx.gpr[20] = (0u | 1u); aot_gpr_31 = (0x08B0CB94u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0CB94u) goto L_08B0CB94; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0CB94u) goto L_08B0CB94; AOT_REGCACHE_SYNC_OUT(); return; L_08B0CB94: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[0])); @@ -2364,14 +2365,14 @@ L_08B0CB94: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B0CBA8u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0CBA8u) goto L_08B0CBA8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0CBA8u) goto L_08B0CBA8; AOT_REGCACHE_SYNC_OUT(); return; L_08B0CBA8: ctx.fpr[22] = std::bit_cast(std::bit_cast(ctx.fpr[0])); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B0CBB8u); aot_gpr_5 = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0CBB8u) goto L_08B0CBB8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0CBB8u) goto L_08B0CBB8; AOT_REGCACHE_SYNC_OUT(); return; L_08B0CBB8: aot_fpr_20 = std::bit_cast(std::bit_cast(ctx.fpr[0])); @@ -2381,8 +2382,8 @@ L_08B0CBB8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0CBC8u) goto L_08B0CBC8; AOT_REGCACHE_SYNC_OUT(); return; L_08B0CBC8: - aot_gpr_17 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[17] == 0u; aot_gpr_4 = (aot_gpr_16 | 0u); if (branch_taken) { goto L_08B0CC04; @@ -2393,12 +2394,12 @@ L_08B0CBD4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B0CBE0u); aot_gpr_5 = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0CBE0u) goto L_08B0CBE0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0CBE0u) goto L_08B0CBE0; AOT_REGCACHE_SYNC_OUT(); return; L_08B0CBE0: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[0])); ctx.gpr[6] = (std::bit_cast(aot_fpr_12)); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[22])); aot_gpr_31 = (0x08B0CBFCu); @@ -2406,7 +2407,7 @@ L_08B0CBE0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 170u, 0x08965650u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0CBFCu) goto L_08B0CBFC; AOT_REGCACHE_SYNC_OUT(); return; L_08B0CBFC: - ctx.gpr[18] = (aot_gpr_17 | 0u); + ctx.gpr[18] = (ctx.gpr[17] | 0u); aot_gpr_4 = (aot_gpr_16 | 0u); goto L_08B0CC04; L_08B0CC04: @@ -2414,13 +2415,13 @@ L_08B0CC04: aot_gpr_5 = (ctx.gpr[18] | 0u); goto L_08B0CB10; L_08B0CC0C: - ctx.gpr[2] = (ctx.gpr[20] | 0u); + aot_gpr_2 = (ctx.gpr[20] | 0u); { std::uint32_t aot_run_words[8]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); aot_gpr_16 = aot_run_words[2]; - aot_gpr_17 = aot_run_words[3]; + ctx.gpr[17] = aot_run_words[3]; ctx.gpr[18] = aot_run_words[4]; ctx.gpr[19] = aot_run_words[5]; ctx.gpr[20] = aot_run_words[6]; @@ -2434,14 +2435,14 @@ L_08B0CC0C: AOT_REGCACHE_SYNC_OUT(); return; L_08B0CC38: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - { const std::uint32_t aot_run_words[6]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[6]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_31 = (0x08B0CC60u); aot_gpr_5 = (0u | 1u); goto L_08B0CAB4; L_08B0CC60: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[18] == 0u; // nop if (branch_taken) { @@ -2452,12 +2453,12 @@ L_08B0CC60: L_08B0CC6C: aot_gpr_31 = (0x08B0CC74u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0CC74u) goto L_08B0CC74; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806634, 0u, 302u, 0x08806634u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0CC74u) goto L_08B0CC74; AOT_REGCACHE_SYNC_OUT(); return; L_08B0CC74: - aot_gpr_4 = (static_cast(ctx.gpr[2]) < 2 ? 1u : 0u); + aot_gpr_4 = (static_cast(aot_gpr_2) < 2 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_17 = (0u | 2u); + ctx.gpr[17] = (0u | 2u); if (branch_taken) { goto L_08B0CCB8; } @@ -2469,10 +2470,10 @@ L_08B0CC80: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 203u, 0x089659ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0CC88u) goto L_08B0CC88; AOT_REGCACHE_SYNC_OUT(); return; L_08B0CC88: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(0))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(0))); aot_gpr_31 = (0x08B0CC94u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0CC94u) goto L_08B0CC94; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0CC94u) goto L_08B0CC94; AOT_REGCACHE_SYNC_OUT(); return; L_08B0CC94: aot_gpr_31 = (0x08B0CC9Cu); @@ -2480,14 +2481,14 @@ L_08B0CC94: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 203u, 0x089659ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0CC9Cu) goto L_08B0CC9C; AOT_REGCACHE_SYNC_OUT(); return; L_08B0CC9C: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(4))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(4))); aot_gpr_31 = (0x08B0CCA8u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0CCA8u) goto L_08B0CCA8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0CCA8u) goto L_08B0CCA8; AOT_REGCACHE_SYNC_OUT(); return; L_08B0CCA8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_gpr_17 | 0u); + aot_gpr_2 = (ctx.gpr[17] | 0u); if (branch_taken) { goto L_08B0CCFC; } @@ -2495,7 +2496,7 @@ L_08B0CCA8: } L_08B0CCB0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08B0CCFC; } @@ -2519,7 +2520,7 @@ L_08B0CCD4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B0CCE4u); aot_gpr_5 = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0CCE4u) goto L_08B0CCE4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0CCE4u) goto L_08B0CCE4; AOT_REGCACHE_SYNC_OUT(); return; L_08B0CCE4: aot_gpr_4 = (ctx.gpr[18] | 0u); @@ -2530,7 +2531,7 @@ L_08B0CCE4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 196u, 0x08965864u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0CCF8u) goto L_08B0CCF8; AOT_REGCACHE_SYNC_OUT(); return; L_08B0CCF8: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_08B0CCFC; L_08B0CCFC: { std::uint32_t aot_run_words[6]{}; @@ -2538,7 +2539,7 @@ L_08B0CCFC: aot_fpr_20 = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); aot_gpr_16 = aot_run_words[2]; - aot_gpr_17 = aot_run_words[3]; + ctx.gpr[17] = aot_run_words[3]; ctx.gpr[18] = aot_run_words[4]; aot_gpr_31 = aot_run_words[5]; } @@ -2550,7 +2551,7 @@ L_08B0CCFC: AOT_REGCACHE_SYNC_OUT(); return; L_08B0CD1C: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(8), aot_run_words); } aot_gpr_16 = (aot_gpr_4 | 0u); ctx.gpr[18] = (0u | 1u); @@ -2558,8 +2559,8 @@ L_08B0CD1C: aot_gpr_5 = (0u | 1u); goto L_08B0CAB4; L_08B0CD40: - aot_gpr_17 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_08B0CDCC; @@ -2569,10 +2570,10 @@ L_08B0CD40: L_08B0CD4C: aot_gpr_31 = (0x08B0CD54u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0CD54u) goto L_08B0CD54; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806634, 0u, 302u, 0x08806634u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0CD54u) goto L_08B0CD54; AOT_REGCACHE_SYNC_OUT(); return; L_08B0CD54: - aot_gpr_4 = (static_cast(ctx.gpr[2]) < 2 ? 1u : 0u); + aot_gpr_4 = (static_cast(aot_gpr_2) < 2 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -2588,20 +2589,20 @@ L_08B0CD60: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0038_entry, 38u, 277u, 0x0889D50Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0CD70u) goto L_08B0CD70; AOT_REGCACHE_SYNC_OUT(); return; L_08B0CD70: - aot_gpr_16 = (ctx.gpr[2] | 0u); + aot_gpr_16 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08B0CD7Cu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0CD7Cu) goto L_08B0CD7C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0CD7Cu) goto L_08B0CD7C; AOT_REGCACHE_SYNC_OUT(); return; L_08B0CD7C: aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_5 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B0CD8Cu); - ctx.gpr[6] = (ctx.gpr[2] | 0u); + ctx.gpr[6] = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 283u, 0x08B653C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0CD8Cu) goto L_08B0CD8C; AOT_REGCACHE_SYNC_OUT(); return; L_08B0CD8C: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B0CD98u); aot_gpr_5 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 187u, 0x089657B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0CD98u) goto L_08B0CD98; @@ -2626,18 +2627,18 @@ L_08B0CDA8: } L_08B0CDB0: aot_gpr_31 = (0x08B0CDB8u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 192u, 0x08965818u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0CDB8u) goto L_08B0CDB8; AOT_REGCACHE_SYNC_OUT(); return; L_08B0CDB8: - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(4))); aot_gpr_31 = (0x08B0CDC4u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 430u, 0x08806E68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0CDC4u) goto L_08B0CDC4; AOT_REGCACHE_SYNC_OUT(); return; L_08B0CDC4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (ctx.gpr[18] | 0u); + aot_gpr_2 = (ctx.gpr[18] | 0u); if (branch_taken) { goto L_08B0CDE4; } @@ -2645,7 +2646,7 @@ L_08B0CDC4: } L_08B0CDCC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08B0CDE4; } @@ -2655,16 +2656,16 @@ L_08B0CDD4: aot_gpr_4 = (aot_gpr_4 + static_cast(25856)); aot_gpr_31 = (0x08B0CDE0u); aot_gpr_5 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0CDE0u) goto L_08B0CDE0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0CDE0u) goto L_08B0CDE0; AOT_REGCACHE_SYNC_OUT(); return; L_08B0CDE0: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_08B0CDE4; L_08B0CDE4: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(8), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -2676,14 +2677,14 @@ L_08B0CDE4: AOT_REGCACHE_SYNC_OUT(); return; L_08B0CDFC: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - { const std::uint32_t aot_run_words[5]{std::bit_cast(aot_fpr_20), aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[5]{std::bit_cast(aot_fpr_20), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_31 = (0x08B0CE20u); aot_gpr_5 = (0u | 1u); goto L_08B0CAB4; L_08B0CE20: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[18] == 0u; // nop if (branch_taken) { @@ -2694,12 +2695,12 @@ L_08B0CE20: L_08B0CE2C: aot_gpr_31 = (0x08B0CE34u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0CE34u) goto L_08B0CE34; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806634, 0u, 302u, 0x08806634u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0CE34u) goto L_08B0CE34; AOT_REGCACHE_SYNC_OUT(); return; L_08B0CE34: - aot_gpr_4 = (static_cast(ctx.gpr[2]) < 2 ? 1u : 0u); + aot_gpr_4 = (static_cast(aot_gpr_2) < 2 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_17 = (0u | 2u); + ctx.gpr[17] = (0u | 2u); if (branch_taken) { goto L_08B0CE7C; } @@ -2709,14 +2710,14 @@ L_08B0CE40: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B0CE4Cu); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0CE4Cu) goto L_08B0CE4C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0CE4Cu) goto L_08B0CE4C; AOT_REGCACHE_SYNC_OUT(); return; L_08B0CE4C: aot_fpr_20 = std::bit_cast(std::bit_cast(ctx.fpr[0])); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B0CE5Cu); aot_gpr_5 = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0CE5Cu) goto L_08B0CE5C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0CE5Cu) goto L_08B0CE5C; AOT_REGCACHE_SYNC_OUT(); return; L_08B0CE5C: aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[0])); @@ -2744,10 +2745,10 @@ L_08B0CE7C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 211u, 0x08965AACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0CE84u) goto L_08B0CE84; AOT_REGCACHE_SYNC_OUT(); return; L_08B0CE84: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(0))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(0))); aot_gpr_31 = (0x08B0CE90u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0CE90u) goto L_08B0CE90; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0CE90u) goto L_08B0CE90; AOT_REGCACHE_SYNC_OUT(); return; L_08B0CE90: aot_gpr_31 = (0x08B0CE98u); @@ -2755,14 +2756,14 @@ L_08B0CE90: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 211u, 0x08965AACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0CE98u) goto L_08B0CE98; AOT_REGCACHE_SYNC_OUT(); return; L_08B0CE98: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(4))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(4))); aot_gpr_31 = (0x08B0CEA4u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0CEA4u) goto L_08B0CEA4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0CEA4u) goto L_08B0CEA4; AOT_REGCACHE_SYNC_OUT(); return; L_08B0CEA4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_gpr_17 | 0u); + aot_gpr_2 = (ctx.gpr[17] | 0u); if (branch_taken) { goto L_08B0CECC; } @@ -2770,7 +2771,7 @@ L_08B0CEA4: } L_08B0CEAC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08B0CECC; } @@ -2787,14 +2788,14 @@ L_08B0CEBC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 207u, 0x08965A38u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0CEC8u) goto L_08B0CEC8; AOT_REGCACHE_SYNC_OUT(); return; L_08B0CEC8: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_08B0CECC; L_08B0CECC: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); aot_gpr_16 = aot_run_words[1]; - aot_gpr_17 = aot_run_words[2]; + ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; } @@ -2806,7 +2807,7 @@ L_08B0CECC: AOT_REGCACHE_SYNC_OUT(); return; L_08B0CEE8: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(8), aot_run_words); } aot_gpr_16 = (aot_gpr_4 | 0u); ctx.gpr[18] = (0u | 1u); @@ -2814,8 +2815,8 @@ L_08B0CEE8: aot_gpr_5 = (0u | 1u); goto L_08B0CAB4; L_08B0CF0C: - aot_gpr_17 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_08B0CF34; @@ -2825,10 +2826,10 @@ L_08B0CF0C: L_08B0CF18: aot_gpr_31 = (0x08B0CF20u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0CF20u) goto L_08B0CF20; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806634, 0u, 302u, 0x08806634u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0CF20u) goto L_08B0CF20; AOT_REGCACHE_SYNC_OUT(); return; L_08B0CF20: - aot_gpr_4 = (static_cast(ctx.gpr[2]) < 2 ? 1u : 0u); + aot_gpr_4 = (static_cast(aot_gpr_2) < 2 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -2846,7 +2847,7 @@ L_08B0CF2C: } L_08B0CF34: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08B0D05C; } @@ -2854,19 +2855,19 @@ L_08B0CF34: } L_08B0CF3C: aot_gpr_31 = (0x08B0CF44u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0121_entry, 121u, 57u, 0x089E84ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0CF44u) goto L_08B0CF44; AOT_REGCACHE_SYNC_OUT(); return; L_08B0CF44: - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(0))); aot_gpr_4 = (aot_gpr_4 << 24u); - aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(1))); + aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(1))); aot_gpr_5 = (aot_gpr_5 << 16u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); - aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(2))); + aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(2))); aot_gpr_5 = (aot_gpr_5 << 8u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); - aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(3))); + aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(3))); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_fpr_12 = std::bit_cast(aot_gpr_4); { const bool branch_taken = static_cast(aot_gpr_4) >= 0; @@ -2884,11 +2885,11 @@ L_08B0CF78: L_08B0CF84: aot_gpr_31 = (0x08B0CF8Cu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0CF8Cu) goto L_08B0CF8C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0CF8Cu) goto L_08B0CF8C; AOT_REGCACHE_SYNC_OUT(); return; L_08B0CF8C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (ctx.gpr[18] | 0u); + aot_gpr_2 = (ctx.gpr[18] | 0u); if (branch_taken) { goto L_08B0D05C; } @@ -2897,10 +2898,10 @@ L_08B0CF8C: L_08B0CF94: aot_gpr_31 = (0x08B0CF9Cu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0CF9Cu) goto L_08B0CF9C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806634, 0u, 302u, 0x08806634u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0CF9Cu) goto L_08B0CF9C; AOT_REGCACHE_SYNC_OUT(); return; L_08B0CF9C: - aot_gpr_4 = (static_cast(ctx.gpr[2]) < 3 ? 1u : 0u); + aot_gpr_4 = (static_cast(aot_gpr_2) < 3 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -2915,7 +2916,7 @@ L_08B0CFA8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0075_entry, 75u, 355u, 0x08931D08u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0CFB4u) goto L_08B0CFB4; AOT_REGCACHE_SYNC_OUT(); return; L_08B0CFB4: - aot_gpr_4 = (ctx.gpr[2] << 8u); + aot_gpr_4 = (aot_gpr_2 << 8u); aot_gpr_4 = (aot_gpr_4 + static_cast(255)); aot_gpr_5 = (aot_gpr_4 >> 24u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(0), static_cast(aot_gpr_5)); @@ -2924,7 +2925,7 @@ L_08B0CFB4: aot_gpr_5 = (aot_gpr_4 >> 8u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(2), static_cast(aot_gpr_5)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(3), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B0CFE4u); aot_gpr_5 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0121_entry, 121u, 53u, 0x089E8474u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0CFE4u) goto L_08B0CFE4; @@ -2976,17 +2977,17 @@ L_08B0D040: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(7), static_cast(aot_gpr_4)); aot_gpr_5 = (aot_gpr_29 + static_cast(4)); aot_gpr_31 = (0x08B0D058u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0121_entry, 121u, 53u, 0x089E8474u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0D058u) goto L_08B0D058; AOT_REGCACHE_SYNC_OUT(); return; L_08B0D058: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_08B0D05C; L_08B0D05C: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(8), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -2998,7 +2999,7 @@ L_08B0D05C: AOT_REGCACHE_SYNC_OUT(); return; L_08B0D074: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_16 = (aot_gpr_4 | 0u); ctx.gpr[18] = (0u | 1u); @@ -3006,8 +3007,8 @@ L_08B0D074: aot_gpr_5 = (0u | 1u); goto L_08B0CAB4; L_08B0D098: - aot_gpr_17 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_08B0D0D8; @@ -3017,10 +3018,10 @@ L_08B0D098: L_08B0D0A4: aot_gpr_31 = (0x08B0D0ACu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0D0ACu) goto L_08B0D0AC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806634, 0u, 302u, 0x08806634u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0D0ACu) goto L_08B0D0AC; AOT_REGCACHE_SYNC_OUT(); return; L_08B0D0AC: - aot_gpr_4 = (static_cast(ctx.gpr[2]) < 2 ? 1u : 0u); + aot_gpr_4 = (static_cast(aot_gpr_2) < 2 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -3030,19 +3031,19 @@ L_08B0D0AC: } L_08B0D0B8: aot_gpr_31 = (0x08B0D0C0u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 235u, 0x08965C98u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0D0C0u) goto L_08B0D0C0; AOT_REGCACHE_SYNC_OUT(); return; L_08B0D0C0: - aot_fpr_12 = std::bit_cast(ctx.gpr[2]); + aot_fpr_12 = std::bit_cast(aot_gpr_2); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_gpr_31 = (0x08B0D0D0u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0D0D0u) goto L_08B0D0D0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0D0D0u) goto L_08B0D0D0; AOT_REGCACHE_SYNC_OUT(); return; L_08B0D0D0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (ctx.gpr[18] | 0u); + aot_gpr_2 = (ctx.gpr[18] | 0u); if (branch_taken) { goto L_08B0D100; } @@ -3050,7 +3051,7 @@ L_08B0D0D0: } L_08B0D0D8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08B0D100; } @@ -3066,17 +3067,17 @@ L_08B0D0EC: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[0])); aot_gpr_5 = (std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08B0D0FCu); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 231u, 0x08965C40u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0D0FCu) goto L_08B0D0FC; AOT_REGCACHE_SYNC_OUT(); return; L_08B0D0FC: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_08B0D100; L_08B0D100: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -3088,7 +3089,7 @@ L_08B0D100: AOT_REGCACHE_SYNC_OUT(); return; L_08B0D118: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_16 = (aot_gpr_4 | 0u); ctx.gpr[18] = (0u | 1u); @@ -3096,8 +3097,8 @@ L_08B0D118: aot_gpr_5 = (0u | 1u); goto L_08B0CAB4; L_08B0D13C: - aot_gpr_17 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_08B0D17C; @@ -3107,10 +3108,10 @@ L_08B0D13C: L_08B0D148: aot_gpr_31 = (0x08B0D150u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0D150u) goto L_08B0D150; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806634, 0u, 302u, 0x08806634u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0D150u) goto L_08B0D150; AOT_REGCACHE_SYNC_OUT(); return; L_08B0D150: - aot_gpr_4 = (static_cast(ctx.gpr[2]) < 2 ? 1u : 0u); + aot_gpr_4 = (static_cast(aot_gpr_2) < 2 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -3120,19 +3121,19 @@ L_08B0D150: } L_08B0D15C: aot_gpr_31 = (0x08B0D164u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 219u, 0x08965B50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0D164u) goto L_08B0D164; AOT_REGCACHE_SYNC_OUT(); return; L_08B0D164: - aot_fpr_12 = std::bit_cast(ctx.gpr[2]); + aot_fpr_12 = std::bit_cast(aot_gpr_2); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_gpr_31 = (0x08B0D174u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0D174u) goto L_08B0D174; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0D174u) goto L_08B0D174; AOT_REGCACHE_SYNC_OUT(); return; L_08B0D174: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (ctx.gpr[18] | 0u); + aot_gpr_2 = (ctx.gpr[18] | 0u); if (branch_taken) { goto L_08B0D1A4; } @@ -3140,7 +3141,7 @@ L_08B0D174: } L_08B0D17C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08B0D1A4; } @@ -3156,17 +3157,17 @@ L_08B0D190: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[0])); aot_gpr_5 = (std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08B0D1A0u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 215u, 0x08965AF8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0D1A0u) goto L_08B0D1A0; AOT_REGCACHE_SYNC_OUT(); return; L_08B0D1A0: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_08B0D1A4; L_08B0D1A4: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -3178,7 +3179,7 @@ L_08B0D1A4: AOT_REGCACHE_SYNC_OUT(); return; L_08B0D1BC: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_16 = (aot_gpr_4 | 0u); ctx.gpr[18] = (0u | 1u); @@ -3186,8 +3187,8 @@ L_08B0D1BC: aot_gpr_5 = (0u | 1u); goto L_08B0CAB4; L_08B0D1E0: - aot_gpr_17 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_08B0D220; @@ -3197,10 +3198,10 @@ L_08B0D1E0: L_08B0D1EC: aot_gpr_31 = (0x08B0D1F4u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0D1F4u) goto L_08B0D1F4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806634, 0u, 302u, 0x08806634u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0D1F4u) goto L_08B0D1F4; AOT_REGCACHE_SYNC_OUT(); return; L_08B0D1F4: - aot_gpr_4 = (static_cast(ctx.gpr[2]) < 2 ? 1u : 0u); + aot_gpr_4 = (static_cast(aot_gpr_2) < 2 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -3210,19 +3211,19 @@ L_08B0D1F4: } L_08B0D200: aot_gpr_31 = (0x08B0D208u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 227u, 0x08965BF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0D208u) goto L_08B0D208; AOT_REGCACHE_SYNC_OUT(); return; L_08B0D208: - aot_fpr_12 = std::bit_cast(ctx.gpr[2]); + aot_fpr_12 = std::bit_cast(aot_gpr_2); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_gpr_31 = (0x08B0D218u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0D218u) goto L_08B0D218; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0D218u) goto L_08B0D218; AOT_REGCACHE_SYNC_OUT(); return; L_08B0D218: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (ctx.gpr[18] | 0u); + aot_gpr_2 = (ctx.gpr[18] | 0u); if (branch_taken) { goto L_08B0D248; } @@ -3230,7 +3231,7 @@ L_08B0D218: } L_08B0D220: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08B0D248; } @@ -3246,17 +3247,17 @@ L_08B0D234: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[0])); aot_gpr_5 = (std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08B0D244u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 223u, 0x08965B9Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0D244u) goto L_08B0D244; AOT_REGCACHE_SYNC_OUT(); return; L_08B0D244: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_08B0D248; L_08B0D248: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -3268,7 +3269,7 @@ L_08B0D248: AOT_REGCACHE_SYNC_OUT(); return; L_08B0D260: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } ctx.gpr[6] = (ctx.gpr[28] + static_cast(2148)); aot_gpr_31 = (0x08B0D27Cu); @@ -3276,8 +3277,8 @@ L_08B0D260: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0038_entry, 38u, 252u, 0x0889D374u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0D27Cu) goto L_08B0D27C; AOT_REGCACHE_SYNC_OUT(); return; L_08B0D27C: - aot_gpr_17 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_08B0D2D8; @@ -3285,7 +3286,7 @@ L_08B0D27C: goto L_08B0D288; } L_08B0D288: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_gpr_16 = (0u + static_cast(-1)); { const bool branch_taken = aot_gpr_4 == aot_gpr_16; ctx.gpr[6] = (aot_gpr_4 | 0u); @@ -3303,7 +3304,7 @@ L_08B0D298: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 192u, 0x08ADCA6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0D2ACu) goto L_08B0D2AC; AOT_REGCACHE_SYNC_OUT(); return; L_08B0D2AC: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -3324,14 +3325,14 @@ L_08B0D2B8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0D2D4u) goto L_08B0D2D4; AOT_REGCACHE_SYNC_OUT(); return; L_08B0D2D4: - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), aot_gpr_16); goto L_08B0D2D8; L_08B0D2D8: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -3364,7 +3365,7 @@ L_08B0D310: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0109_entry, 109u, 468u, 0x089BA604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0D31Cu) goto L_08B0D31C; AOT_REGCACHE_SYNC_OUT(); return; L_08B0D31C: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -3374,7 +3375,7 @@ L_08B0D31C: AOT_REGCACHE_SYNC_OUT(); return; L_08B0D32C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_16 = (aot_gpr_4 | 0u); ctx.gpr[18] = (0u | 1u); @@ -3382,8 +3383,8 @@ L_08B0D32C: aot_gpr_5 = (0u | 1u); goto L_08B0CAB4; L_08B0D350: - aot_gpr_17 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_08B0D38C; @@ -3393,10 +3394,10 @@ L_08B0D350: L_08B0D35C: aot_gpr_31 = (0x08B0D364u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0D364u) goto L_08B0D364; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806634, 0u, 302u, 0x08806634u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0D364u) goto L_08B0D364; AOT_REGCACHE_SYNC_OUT(); return; L_08B0D364: - aot_gpr_4 = (static_cast(ctx.gpr[2]) < 2 ? 1u : 0u); + aot_gpr_4 = (static_cast(aot_gpr_2) < 2 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -3406,18 +3407,18 @@ L_08B0D364: } L_08B0D370: aot_gpr_31 = (0x08B0D378u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0121_entry, 121u, 65u, 0x089E8590u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0D378u) goto L_08B0D378; AOT_REGCACHE_SYNC_OUT(); return; L_08B0D378: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B0D384u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[0])); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0D384u) goto L_08B0D384; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0D384u) goto L_08B0D384; AOT_REGCACHE_SYNC_OUT(); return; L_08B0D384: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (ctx.gpr[18] | 0u); + aot_gpr_2 = (ctx.gpr[18] | 0u); if (branch_taken) { goto L_08B0D3B0; } @@ -3425,7 +3426,7 @@ L_08B0D384: } L_08B0D38C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08B0D3B0; } @@ -3438,19 +3439,19 @@ L_08B0D394: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0038_entry, 38u, 294u, 0x0889D610u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0D3A0u) goto L_08B0D3A0; AOT_REGCACHE_SYNC_OUT(); return; L_08B0D3A0: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B0D3ACu); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[0])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0121_entry, 121u, 61u, 0x089E8538u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0D3ACu) goto L_08B0D3AC; AOT_REGCACHE_SYNC_OUT(); return; L_08B0D3AC: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_08B0D3B0; L_08B0D3B0: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -3462,7 +3463,7 @@ L_08B0D3B0: AOT_REGCACHE_SYNC_OUT(); return; L_08B0D3C8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_16 = (aot_gpr_4 | 0u); ctx.gpr[18] = (0u | 1u); @@ -3470,8 +3471,8 @@ L_08B0D3C8: aot_gpr_5 = (0u | 1u); goto L_08B0CAB4; L_08B0D3EC: - aot_gpr_17 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_08B0D42C; @@ -3481,10 +3482,10 @@ L_08B0D3EC: L_08B0D3F8: aot_gpr_31 = (0x08B0D400u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0D400u) goto L_08B0D400; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806634, 0u, 302u, 0x08806634u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0D400u) goto L_08B0D400; AOT_REGCACHE_SYNC_OUT(); return; L_08B0D400: - aot_gpr_4 = (static_cast(ctx.gpr[2]) < 2 ? 1u : 0u); + aot_gpr_4 = (static_cast(aot_gpr_2) < 2 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -3494,19 +3495,19 @@ L_08B0D400: } L_08B0D40C: aot_gpr_31 = (0x08B0D414u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 243u, 0x08965D3Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0D414u) goto L_08B0D414; AOT_REGCACHE_SYNC_OUT(); return; L_08B0D414: - aot_fpr_12 = std::bit_cast(ctx.gpr[2]); + aot_fpr_12 = std::bit_cast(aot_gpr_2); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_gpr_31 = (0x08B0D424u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0D424u) goto L_08B0D424; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0D424u) goto L_08B0D424; AOT_REGCACHE_SYNC_OUT(); return; L_08B0D424: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (ctx.gpr[18] | 0u); + aot_gpr_2 = (ctx.gpr[18] | 0u); if (branch_taken) { goto L_08B0D454; } @@ -3514,7 +3515,7 @@ L_08B0D424: } L_08B0D42C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08B0D454; } @@ -3530,17 +3531,17 @@ L_08B0D440: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[0])); aot_gpr_5 = (std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08B0D450u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 239u, 0x08965CE4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0D450u) goto L_08B0D450; AOT_REGCACHE_SYNC_OUT(); return; L_08B0D450: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_08B0D454; L_08B0D454: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -3552,18 +3553,18 @@ L_08B0D454: AOT_REGCACHE_SYNC_OUT(); return; L_08B0D46C: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(20), aot_run_words); } ctx.gpr[18] = (2237u << 16u); ctx.gpr[18] = (ctx.gpr[18] + static_cast(-28736)); - aot_gpr_17 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(10472)))))); + ctx.gpr[17] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(10472)))))); aot_gpr_16 = (0u | 0u); aot_gpr_31 = (0x08B0D498u); aot_gpr_4 = (0u | 12u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0D498u) goto L_08B0D498; AOT_REGCACHE_SYNC_OUT(); return; L_08B0D498: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_5 = (2235u << 16u); if (branch_taken) { @@ -3600,7 +3601,7 @@ L_08B0D4E0: ctx.gpr[6] = (aot_gpr_29 + static_cast(16)); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08B0D4F0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 340u, 0x08ADD3DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0D4F0u) goto L_08B0D4F0; AOT_REGCACHE_SYNC_OUT(); return; L_08B0D4F0: @@ -3625,7 +3626,7 @@ L_08B0D4FC: L_08B0D50C: aot_gpr_31 = (0x08B0D514u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0D514u) goto L_08B0D514; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0D514u) goto L_08B0D514; AOT_REGCACHE_SYNC_OUT(); return; L_08B0D514: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5892))); @@ -3679,7 +3680,7 @@ L_08B0D564: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(20), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -3718,7 +3719,7 @@ L_08B0D5A4: L_08B0D5B8: aot_gpr_4 = (static_cast(aot_gpr_5) < 16 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_08B0D5CC; } @@ -3757,7 +3758,7 @@ L_08B0D5E0: L_08B0D5EC: aot_gpr_4 = (0u | 5u); { const bool branch_taken = aot_gpr_5 != aot_gpr_4; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_08B0D604; } @@ -3824,7 +3825,7 @@ L_08B0D640: aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(0), aot_gpr_4); aot_mem.aot_direct_store8(ctx.gpr[7] + static_cast(0), static_cast(0u)); { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_08B0D670; } @@ -3836,14 +3837,14 @@ L_08B0D654: aot_gpr_4 = (aot_gpr_5 + static_cast(-1)); aot_mem.aot_direct_store8(ctx.gpr[7] + static_cast(0), static_cast(aot_gpr_4)); { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_08B0D670; } goto L_08B0D66C; } L_08B0D66C: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_08B0D670; L_08B0D670: jump_target = aot_gpr_31; @@ -3854,7 +3855,7 @@ L_08B0D670: AOT_REGCACHE_SYNC_OUT(); return; L_08B0D678: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08B0D680; } @@ -3870,15 +3871,15 @@ L_08B0D680: L_08B0D688: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_5 & 255u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_5 & 255u); aot_gpr_16 = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08B0D6A8u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); goto L_08B0D940; L_08B0D6A8: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 3u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -3889,7 +3890,7 @@ L_08B0D6A8: } L_08B0D6B8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08B0D6D4; } @@ -3899,16 +3900,16 @@ L_08B0D6C0: ctx.gpr[6] = (aot_gpr_4 + static_cast(1)); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B0D6D0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); goto L_08B0D904; L_08B0D6D0: - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); goto L_08B0D6D4; L_08B0D6D4: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -3920,15 +3921,15 @@ L_08B0D6D4: L_08B0D6E8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_5 & 255u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_5 & 255u); aot_gpr_16 = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08B0D708u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); goto L_08B0D8D4; L_08B0D708: - aot_gpr_4 = (ctx.gpr[2] & 255u); + aot_gpr_4 = (aot_gpr_2 & 255u); aot_gpr_5 = (0u | 3u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -3939,7 +3940,7 @@ L_08B0D708: } L_08B0D718: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08B0D738; } @@ -3950,16 +3951,16 @@ L_08B0D720: ctx.gpr[6] = (ctx.gpr[6] & 255u); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B0D734u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); goto L_08B0D8A4; L_08B0D734: - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); goto L_08B0D738; L_08B0D738: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -3971,15 +3972,15 @@ L_08B0D738: L_08B0D74C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_5 & 255u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_5 & 255u); aot_gpr_16 = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08B0D76Cu); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); goto L_08B0D8F8; L_08B0D76C: - aot_gpr_4 = (ctx.gpr[2] & 255u); + aot_gpr_4 = (aot_gpr_2 & 255u); aot_gpr_5 = (0u | 2u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -3990,7 +3991,7 @@ L_08B0D76C: } L_08B0D77C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08B0D79C; } @@ -4001,16 +4002,16 @@ L_08B0D784: ctx.gpr[6] = (ctx.gpr[6] & 255u); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B0D798u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); goto L_08B0D8EC; L_08B0D798: - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); goto L_08B0D79C; L_08B0D79C: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -4022,15 +4023,15 @@ L_08B0D79C: L_08B0D7B0: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_5 & 255u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_5 & 255u); aot_gpr_16 = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08B0D7D0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); goto L_08B0DB54; L_08B0D7D0: - aot_gpr_4 = (ctx.gpr[2] & 255u); + aot_gpr_4 = (aot_gpr_2 & 255u); aot_gpr_5 = (0u | 2u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -4041,7 +4042,7 @@ L_08B0D7D0: } L_08B0D7E0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08B0D800; } @@ -4052,16 +4053,16 @@ L_08B0D7E8: ctx.gpr[6] = (ctx.gpr[6] & 255u); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B0D7FCu); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); goto L_08B0DB1C; L_08B0D7FC: - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); goto L_08B0D800; L_08B0D800: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -4130,9 +4131,9 @@ L_08B0D88C: aot_gpr_5 = (aot_gpr_5 << 1u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); aot_gpr_5 = (aot_gpr_5 & 255u); - ctx.gpr[2] = (aot_gpr_4 >> (aot_gpr_5 & 31u)); + aot_gpr_2 = (aot_gpr_4 >> (aot_gpr_5 & 31u)); jump_target = aot_gpr_31; - ctx.gpr[2] = (ctx.gpr[2] & 3u); + aot_gpr_2 = (aot_gpr_2 & 3u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -4158,9 +4159,9 @@ L_08B0D8D4: aot_gpr_5 = (aot_gpr_5 << 2u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); aot_gpr_5 = (aot_gpr_5 & 255u); - ctx.gpr[2] = (aot_gpr_4 >> (aot_gpr_5 & 31u)); + aot_gpr_2 = (aot_gpr_4 >> (aot_gpr_5 & 31u)); jump_target = aot_gpr_31; - ctx.gpr[2] = (ctx.gpr[2] & 15u); + aot_gpr_2 = (aot_gpr_2 & 15u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -4176,7 +4177,7 @@ L_08B0D8EC: L_08B0D8F8: aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); jump_target = aot_gpr_31; - ctx.gpr[2] = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(6))); + aot_gpr_2 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(6))); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -4224,7 +4225,7 @@ L_08B0D938: L_08B0D940: aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); jump_target = aot_gpr_31; - ctx.gpr[2] = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(10))); + aot_gpr_2 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(10))); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -4259,19 +4260,19 @@ L_08B0D968: AOT_REGCACHE_SYNC_OUT(); return; L_08B0D970: jump_target = aot_gpr_31; - ctx.gpr[2] = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(5))); + aot_gpr_2 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(5))); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08B0D978: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - { const std::uint32_t aot_run_words[4]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), aot_gpr_16, aot_gpr_17}; + { const std::uint32_t aot_run_words[4]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), aot_gpr_16, ctx.gpr[17]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(8), aot_run_words); } aot_fpr_20 = std::bit_cast(std::bit_cast(aot_fpr_13)); aot_gpr_16 = (aot_gpr_5 | 0u); ctx.fpr[22] = std::bit_cast(std::bit_cast(aot_fpr_12)); - aot_gpr_17 = (aot_gpr_4 | 0u); + ctx.gpr[17] = (aot_gpr_4 | 0u); ctx.gpr[7] = (aot_gpr_29 + static_cast(4)); { const std::uint32_t aot_run_words[3]{ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(24), aot_run_words); } @@ -4362,7 +4363,7 @@ L_08B0DA28: L_08B0DA30: aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(4))); aot_gpr_31 = (0x08B0DA3Cu); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); goto L_08B0D74C; L_08B0DA3C: { const bool branch_taken = 0u == 0u; @@ -4384,14 +4385,14 @@ L_08B0DA44: goto L_08B0DA58; } L_08B0DA58: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B0DA64u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); goto L_08B0D678; L_08B0DA64: aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(4))); aot_gpr_31 = (0x08B0DA70u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); goto L_08B0D688; L_08B0DA70: { const bool branch_taken = 0u == 0u; @@ -4404,7 +4405,7 @@ L_08B0DA70: L_08B0DA78: aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(4))); aot_gpr_31 = (0x08B0DA84u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); goto L_08B0D688; L_08B0DA84: { const bool branch_taken = 0u == 0u; @@ -4416,7 +4417,7 @@ L_08B0DA84: } L_08B0DA8C: aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(4))); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B0DA9Cu); ctx.gpr[6] = (0u | 1u); goto L_08B0D85C; @@ -4467,25 +4468,25 @@ L_08B0DACC: goto L_08B0DAD4; } L_08B0DAD4: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B0DAE0u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); goto L_08B0D678; L_08B0DAE0: aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(4))); aot_gpr_31 = (0x08B0DAECu); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); goto L_08B0D6E8; L_08B0DAEC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (ctx.gpr[18] | 0u); + aot_gpr_2 = (ctx.gpr[18] | 0u); if (branch_taken) { goto L_08B0DAF8; } goto L_08B0DAF4; } L_08B0DAF4: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_08B0DAF8; L_08B0DAF8: { std::uint32_t aot_run_words[7]{}; @@ -4493,7 +4494,7 @@ L_08B0DAF8: aot_fpr_20 = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); aot_gpr_16 = aot_run_words[2]; - aot_gpr_17 = aot_run_words[3]; + ctx.gpr[17] = aot_run_words[3]; ctx.gpr[18] = aot_run_words[4]; ctx.gpr[19] = aot_run_words[5]; aot_gpr_31 = aot_run_words[6]; @@ -4529,9 +4530,9 @@ L_08B0DB54: aot_gpr_5 = (aot_gpr_5 << 1u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); aot_gpr_5 = (aot_gpr_5 & 255u); - ctx.gpr[2] = (aot_gpr_4 >> (aot_gpr_5 & 31u)); + aot_gpr_2 = (aot_gpr_4 >> (aot_gpr_5 & 31u)); jump_target = aot_gpr_31; - ctx.gpr[2] = (ctx.gpr[2] & 3u); + aot_gpr_2 = (aot_gpr_2 & 3u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -4540,18 +4541,18 @@ L_08B0DB74: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (0u | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (0u | 0u); aot_gpr_4 = (0u | 2u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); goto L_08B0DB90; L_08B0DB90: - aot_gpr_5 = (aot_gpr_16 + aot_gpr_17); - ctx.gpr[6] = (aot_gpr_17 + static_cast(1)); - aot_gpr_17 = (ctx.gpr[6] << 16u); + aot_gpr_5 = (aot_gpr_16 + ctx.gpr[17]); + ctx.gpr[6] = (ctx.gpr[17] + static_cast(1)); + ctx.gpr[17] = (ctx.gpr[6] << 16u); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(6), static_cast(aot_gpr_4)); - aot_gpr_17 = (static_cast(static_cast(aot_gpr_17) >> 16u)); - aot_gpr_5 = (static_cast(aot_gpr_17) < 4 ? 1u : 0u); + ctx.gpr[17] = (static_cast(static_cast(ctx.gpr[17]) >> 16u)); + aot_gpr_5 = (static_cast(ctx.gpr[17]) < 4 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 != 0u; // nop if (branch_taken) { @@ -4560,16 +4561,16 @@ L_08B0DB90: goto L_08B0DBB0; } L_08B0DBB0: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_4 = (0u | 3u); goto L_08B0DBB8; L_08B0DBB8: - aot_gpr_5 = (aot_gpr_16 + aot_gpr_17); - ctx.gpr[6] = (aot_gpr_17 + static_cast(1)); - aot_gpr_17 = (ctx.gpr[6] << 16u); + aot_gpr_5 = (aot_gpr_16 + ctx.gpr[17]); + ctx.gpr[6] = (ctx.gpr[17] + static_cast(1)); + ctx.gpr[17] = (ctx.gpr[6] << 16u); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(10), static_cast(aot_gpr_4)); - aot_gpr_17 = (static_cast(static_cast(aot_gpr_17) >> 16u)); - aot_gpr_5 = (static_cast(aot_gpr_17) < 6 ? 1u : 0u); + ctx.gpr[17] = (static_cast(static_cast(ctx.gpr[17]) >> 16u)); + aot_gpr_5 = (static_cast(ctx.gpr[17]) < 6 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 != 0u; // nop if (branch_taken) { @@ -4578,7 +4579,7 @@ L_08B0DBB8: goto L_08B0DBD8; } L_08B0DBD8: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); goto L_08B0DBDC; L_08B0DBDC: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -4591,10 +4592,10 @@ L_08B0DBE8: aot_gpr_5 = (0u | 17u); goto L_08B0D6E8; L_08B0DBF4: - aot_gpr_4 = (aot_gpr_17 + static_cast(1)); - aot_gpr_17 = (aot_gpr_4 << 16u); - aot_gpr_17 = (static_cast(static_cast(aot_gpr_17) >> 16u)); - aot_gpr_4 = (static_cast(aot_gpr_17) < 3 ? 1u : 0u); + aot_gpr_4 = (ctx.gpr[17] + static_cast(1)); + ctx.gpr[17] = (aot_gpr_4 << 16u); + ctx.gpr[17] = (static_cast(static_cast(ctx.gpr[17]) >> 16u)); + aot_gpr_4 = (static_cast(ctx.gpr[17]) < 3 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -4613,7 +4614,7 @@ L_08B0DC20: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -4671,7 +4672,7 @@ L_08B0DC7C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0DC90u) goto L_08B0DC90; AOT_REGCACHE_SYNC_OUT(); return; L_08B0DC90: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(2318)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(2318)))))); aot_gpr_4 = (aot_gpr_4 & 2u); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -4696,7 +4697,7 @@ L_08B0DCB0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0DCB8u) goto L_08B0DCB8; AOT_REGCACHE_SYNC_OUT(); return; L_08B0DCB8: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(2320))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(2320))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -4710,7 +4711,7 @@ L_08B0DCC4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0DCCCu) goto L_08B0DCCC; AOT_REGCACHE_SYNC_OUT(); return; L_08B0DCCC: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(2318)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(2318)))))); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -4725,7 +4726,7 @@ L_08B0DCDC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0170_entry, 170u, 526u, 0x08AAE958u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0DCE4u) goto L_08B0DCE4; AOT_REGCACHE_SYNC_OUT(); return; L_08B0DCE4: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08B0DD28; @@ -4750,7 +4751,7 @@ L_08B0DCF4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0170_entry, 170u, 526u, 0x08AAE958u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0DD18u) goto L_08B0DD18; AOT_REGCACHE_SYNC_OUT(); return; L_08B0DD18: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08B0DD28; @@ -4781,9 +4782,9 @@ L_08B0DD38: L_08B0DD44: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(533)))))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), ctx.gpr[17]); ctx.gpr[7] = (0u | 8u); - aot_gpr_17 = (aot_gpr_4 | 0u); + ctx.gpr[17] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), aot_gpr_31); { const bool branch_taken = ctx.gpr[6] == ctx.gpr[7]; @@ -4794,7 +4795,7 @@ L_08B0DD44: goto L_08B0DD68; } L_08B0DD68: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(533)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(533)))))); aot_gpr_5 = (0u | 9u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -4806,7 +4807,7 @@ L_08B0DD68: L_08B0DD78: aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); aot_fpr_13 = std::bit_cast(0u); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(448))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(448))); aot_gpr_4 = (16384u << 16u); aot_fpr_14 = aot_fpr_14 - aot_fpr_12; aot_fpr_12 = std::bit_cast(aot_gpr_4); @@ -4830,7 +4831,7 @@ L_08B0DDA0: L_08B0DDB0: aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); ctx.fpr[15] = std::bit_cast(std::bit_cast(aot_fpr_13)); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(452))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(452))); aot_fpr_13 = aot_fpr_14 - aot_fpr_13; ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 < ctx.fpr[15])) ? 0x00800000u : 0u); // nop @@ -4850,15 +4851,15 @@ L_08B0DDD0: goto L_08B0DDE0; } L_08B0DDE0: - aot_gpr_4 = (aot_gpr_17 + static_cast(384)); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] + static_cast(384)); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B0DDF0u); ctx.gpr[6] = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0118_entry, 118u, 187u, 0x089DD29Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0DDF0u) goto L_08B0DDF0; AOT_REGCACHE_SYNC_OUT(); return; L_08B0DDF0: { const bool branch_taken = 0u == 0u; - aot_gpr_4 = (aot_gpr_17 + static_cast(48)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(48)); if (branch_taken) { goto L_08B0DE64; } @@ -4866,18 +4867,18 @@ L_08B0DDF0: } L_08B0DDF8: aot_gpr_4 = (0u | 2u); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(532), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(532), static_cast(aot_gpr_4)); aot_gpr_4 = (0u | 0u); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(534), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(534), static_cast(aot_gpr_4)); aot_gpr_4 = (0u | 20u); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(535), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(535), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(504), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(72))); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(504), aot_gpr_4); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(72))); aot_gpr_5 = (0u + static_cast(-497)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_4 = (aot_gpr_4 | 48u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(72), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(72), aot_gpr_4); { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -4892,13 +4893,13 @@ L_08B0DDF8: const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B0DE44u); ctx.gpr[6] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0207_entry, 207u, 391u, 0x08B4196Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0DE44u) goto L_08B0DE44; AOT_REGCACHE_SYNC_OUT(); return; L_08B0DE44: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08B0DE58; @@ -4908,7 +4909,7 @@ L_08B0DE44: L_08B0DE4C: aot_gpr_4 = (0u | 9u); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(533), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(533), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08B0DE60; } @@ -4916,10 +4917,10 @@ L_08B0DE4C: } L_08B0DE58: aot_gpr_4 = (0u | 8u); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(533), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(533), static_cast(aot_gpr_4)); goto L_08B0DE60; L_08B0DE60: - aot_gpr_4 = (aot_gpr_17 + static_cast(48)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(48)); goto L_08B0DE64; L_08B0DE64: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); @@ -4935,7 +4936,7 @@ L_08B0DE64: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(32), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -4948,18 +4949,18 @@ L_08B0DEA0: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_5 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08B0DEBCu); - aot_gpr_17 = (aot_gpr_4 | 0u); + ctx.gpr[17] = (aot_gpr_4 | 0u); goto L_08B0DD44; L_08B0DEBC: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(617)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(617)))))); aot_gpr_4 = (aot_gpr_4 | 64u); aot_gpr_5 = (0u | 10u); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(617), static_cast(aot_gpr_4)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(535), static_cast(aot_gpr_5)); - aot_gpr_4 = (aot_gpr_17 + static_cast(48)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(617), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(535), static_cast(aot_gpr_5)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(48)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); @@ -4973,7 +4974,7 @@ L_08B0DEBC: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -4987,7 +4988,7 @@ L_08B0DF10: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(616)))))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_gpr_5 = (aot_gpr_4 & 4u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); { const bool branch_taken = aot_gpr_5 != 0u; @@ -5105,7 +5106,7 @@ L_08B0DFAC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0DFB4u) goto L_08B0DFB4; AOT_REGCACHE_SYNC_OUT(); return; L_08B0DFB4: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(2320))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(2320))); aot_gpr_4 = (static_cast(aot_gpr_4) < 2 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -5165,19 +5166,19 @@ L_08B0E00C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 106u, 0x08B00708u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0E014u) goto L_08B0E014; AOT_REGCACHE_SYNC_OUT(); return; L_08B0E014: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(464))); - aot_gpr_17 = (32u << 16u); - aot_gpr_4 = (aot_gpr_4 | aot_gpr_17); - aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(464), aot_gpr_4); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(464))); + ctx.gpr[17] = (32u << 16u); + aot_gpr_4 = (aot_gpr_4 | ctx.gpr[17]); + aot_mem.aot_direct_store32(aot_gpr_2 + static_cast(464), aot_gpr_4); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B0E030u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 120u, 0x08B007DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0E030u) goto L_08B0E030; AOT_REGCACHE_SYNC_OUT(); return; L_08B0E030: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(464))); - aot_gpr_4 = (aot_gpr_4 | aot_gpr_17); - aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(464), aot_gpr_4); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(464))); + aot_gpr_4 = (aot_gpr_4 | ctx.gpr[17]); + aot_mem.aot_direct_store32(aot_gpr_2 + static_cast(464), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-11816))); aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5472))); aot_gpr_4 = (aot_gpr_4 + static_cast(2)); @@ -5216,7 +5217,7 @@ L_08B0E078: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -5276,7 +5277,7 @@ L_08B0E0EC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(900))); - { const std::uint32_t aot_run_words[6]{aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_31}; + { const std::uint32_t aot_run_words[6]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(4), aot_run_words); } { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -5373,8 +5374,8 @@ L_08B0E17C: } L_08B0E184: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(565))); - aot_gpr_17 = (0u | 0u); - aot_gpr_4 = (static_cast(aot_gpr_17) < static_cast(aot_gpr_4) ? 1u : 0u); + ctx.gpr[17] = (0u | 0u); + aot_gpr_4 = (static_cast(ctx.gpr[17]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; ctx.gpr[20] = (0u | 100u); if (branch_taken) { @@ -5389,11 +5390,11 @@ L_08B0E198: L_08B0E1A0: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B0E1ACu); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0E1ACu) goto L_08B0E1AC; AOT_REGCACHE_SYNC_OUT(); return; L_08B0E1AC: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08B0E230; @@ -5405,18 +5406,18 @@ L_08B0E1B4: aot_gpr_4 = (aot_gpr_16 | 0u); ctx.gpr[21] = (aot_gpr_5 + ctx.gpr[20]); aot_gpr_31 = (0x08B0E1C8u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0E1C8u) goto L_08B0E1C8; AOT_REGCACHE_SYNC_OUT(); return; L_08B0E1C8: - aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(1728), ctx.gpr[21]); + aot_mem.aot_direct_store32(aot_gpr_2 + static_cast(1728), ctx.gpr[21]); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B0E1D8u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0E1D8u) goto L_08B0E1D8; AOT_REGCACHE_SYNC_OUT(); return; L_08B0E1D8: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 16u); aot_gpr_31 = (0x08B0E1E8u); ctx.gpr[6] = (aot_gpr_16 | 0u); @@ -5425,19 +5426,19 @@ L_08B0E1D8: L_08B0E1E8: aot_gpr_31 = (0x08B0E1F0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0E1F0u) goto L_08B0E1F0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0E1F0u) goto L_08B0E1F0; AOT_REGCACHE_SYNC_OUT(); return; L_08B0E1F0: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 0u); ctx.gpr[7] = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08B0E204u); ctx.gpr[6] = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0E204u) goto L_08B0E204; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0E204u) goto L_08B0E204; AOT_REGCACHE_SYNC_OUT(); return; L_08B0E204: ctx.gpr[1] = (ctx.gpr[3] << 1u); - aot_gpr_4 = (ctx.gpr[2] >> 31u); + aot_gpr_4 = (aot_gpr_2 >> 31u); aot_gpr_5 = (static_cast(static_cast(ctx.gpr[3]) >> 31u)); aot_gpr_4 = (ctx.gpr[1] | aot_gpr_4); ctx.gpr[6] = (aot_gpr_4 + ctx.gpr[18]); @@ -5450,8 +5451,8 @@ L_08B0E204: goto L_08B0E230; L_08B0E230: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(565))); - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - aot_gpr_4 = (static_cast(aot_gpr_17) < static_cast(aot_gpr_4) ? 1u : 0u); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + aot_gpr_4 = (static_cast(ctx.gpr[17]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -5463,7 +5464,7 @@ L_08B0E244: { std::uint32_t aot_run_words[7]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -5481,7 +5482,7 @@ L_08B0E268: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(900))); - { const std::uint32_t aot_run_words[6]{aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_31}; + { const std::uint32_t aot_run_words[6]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(4), aot_run_words); } { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -5493,10 +5494,10 @@ L_08B0E268: L_08B0E298: aot_gpr_31 = (0x08B0E2A0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0E2A0u) goto L_08B0E2A0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0E2A0u) goto L_08B0E2A0; AOT_REGCACHE_SYNC_OUT(); return; L_08B0E2A0: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08B0E310; @@ -5591,8 +5592,8 @@ L_08B0E308: } L_08B0E310: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(565))); - aot_gpr_17 = (0u | 0u); - aot_gpr_4 = (static_cast(aot_gpr_17) < static_cast(aot_gpr_4) ? 1u : 0u); + ctx.gpr[17] = (0u | 0u); + aot_gpr_4 = (static_cast(ctx.gpr[17]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; ctx.gpr[20] = (0u | 100u); if (branch_taken) { @@ -5607,11 +5608,11 @@ L_08B0E324: L_08B0E32C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B0E338u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0E338u) goto L_08B0E338; AOT_REGCACHE_SYNC_OUT(); return; L_08B0E338: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08B0E3B8; @@ -5623,18 +5624,18 @@ L_08B0E340: aot_gpr_4 = (aot_gpr_16 | 0u); ctx.gpr[21] = (aot_gpr_5 + ctx.gpr[20]); aot_gpr_31 = (0x08B0E354u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0E354u) goto L_08B0E354; AOT_REGCACHE_SYNC_OUT(); return; L_08B0E354: - aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(1728), ctx.gpr[21]); + aot_mem.aot_direct_store32(aot_gpr_2 + static_cast(1728), ctx.gpr[21]); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B0E364u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0E364u) goto L_08B0E364; AOT_REGCACHE_SYNC_OUT(); return; L_08B0E364: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08B0E370u); aot_gpr_5 = (0u | 3u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0178_entry, 178u, 442u, 0x08ACD4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0E370u) goto L_08B0E370; @@ -5642,19 +5643,19 @@ L_08B0E364: L_08B0E370: aot_gpr_31 = (0x08B0E378u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0E378u) goto L_08B0E378; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0E378u) goto L_08B0E378; AOT_REGCACHE_SYNC_OUT(); return; L_08B0E378: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 0u); ctx.gpr[7] = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08B0E38Cu); ctx.gpr[6] = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0E38Cu) goto L_08B0E38C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0E38Cu) goto L_08B0E38C; AOT_REGCACHE_SYNC_OUT(); return; L_08B0E38C: ctx.gpr[1] = (ctx.gpr[3] << 1u); - aot_gpr_4 = (ctx.gpr[2] >> 31u); + aot_gpr_4 = (aot_gpr_2 >> 31u); aot_gpr_5 = (static_cast(static_cast(ctx.gpr[3]) >> 31u)); aot_gpr_4 = (ctx.gpr[1] | aot_gpr_4); ctx.gpr[6] = (aot_gpr_4 + ctx.gpr[18]); @@ -5667,8 +5668,8 @@ L_08B0E38C: goto L_08B0E3B8; L_08B0E3B8: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(565))); - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - aot_gpr_4 = (static_cast(aot_gpr_17) < static_cast(aot_gpr_4) ? 1u : 0u); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + aot_gpr_4 = (static_cast(ctx.gpr[17]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -5680,7 +5681,7 @@ L_08B0E3CC: { std::uint32_t aot_run_words[7]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -5766,10 +5767,10 @@ L_08B0E494: L_08B0E4AC: aot_gpr_31 = (0x08B0E4B4u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0E4B4u) goto L_08B0E4B4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0E4B4u) goto L_08B0E4B4; AOT_REGCACHE_SYNC_OUT(); return; L_08B0E4B4: - aot_gpr_4 = (ctx.gpr[2] & 65535u); + aot_gpr_4 = (aot_gpr_2 & 65535u); aot_gpr_4 = (aot_gpr_4 & 2u); aot_gpr_4 = (static_cast(aot_gpr_4) < 1 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; @@ -5781,7 +5782,7 @@ L_08B0E4B4: } L_08B0E4C8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 4u); + aot_gpr_2 = (0u | 4u); if (branch_taken) { goto L_08B0E560; } @@ -5789,7 +5790,7 @@ L_08B0E4C8: } L_08B0E4D0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 2u); + aot_gpr_2 = (0u | 2u); if (branch_taken) { goto L_08B0E560; } @@ -5798,10 +5799,10 @@ L_08B0E4D0: L_08B0E4D8: aot_gpr_31 = (0x08B0E4E0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0E4E0u) goto L_08B0E4E0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0E4E0u) goto L_08B0E4E0; AOT_REGCACHE_SYNC_OUT(); return; L_08B0E4E0: - aot_gpr_4 = (ctx.gpr[2] & 65535u); + aot_gpr_4 = (aot_gpr_2 & 65535u); aot_gpr_4 = (aot_gpr_4 & 7u); aot_gpr_4 = (static_cast(aot_gpr_4) < 3 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; @@ -5813,7 +5814,7 @@ L_08B0E4E0: } L_08B0E4F4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 4u); + aot_gpr_2 = (0u | 4u); if (branch_taken) { goto L_08B0E560; } @@ -5821,7 +5822,7 @@ L_08B0E4F4: } L_08B0E4FC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 2u); + aot_gpr_2 = (0u | 2u); if (branch_taken) { goto L_08B0E560; } @@ -5830,10 +5831,10 @@ L_08B0E4FC: L_08B0E504: aot_gpr_31 = (0x08B0E50Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0E50Cu) goto L_08B0E50C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0E50Cu) goto L_08B0E50C; AOT_REGCACHE_SYNC_OUT(); return; L_08B0E50C: - aot_gpr_4 = (ctx.gpr[2] & 65535u); + aot_gpr_4 = (aot_gpr_2 & 65535u); aot_gpr_4 = (aot_gpr_4 & 7u); aot_gpr_4 = (static_cast(aot_gpr_4) < 2 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; @@ -5845,7 +5846,7 @@ L_08B0E50C: } L_08B0E520: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 4u); + aot_gpr_2 = (0u | 4u); if (branch_taken) { goto L_08B0E560; } @@ -5853,7 +5854,7 @@ L_08B0E520: } L_08B0E528: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 2u); + aot_gpr_2 = (0u | 2u); if (branch_taken) { goto L_08B0E560; } @@ -5862,10 +5863,10 @@ L_08B0E528: L_08B0E530: aot_gpr_31 = (0x08B0E538u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0E538u) goto L_08B0E538; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0E538u) goto L_08B0E538; AOT_REGCACHE_SYNC_OUT(); return; L_08B0E538: - aot_gpr_4 = (ctx.gpr[2] & 65535u); + aot_gpr_4 = (aot_gpr_2 & 65535u); aot_gpr_4 = (aot_gpr_4 & 7u); aot_gpr_4 = (static_cast(aot_gpr_4) < 1 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; @@ -5877,7 +5878,7 @@ L_08B0E538: } L_08B0E54C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 4u); + aot_gpr_2 = (0u | 4u); if (branch_taken) { goto L_08B0E560; } @@ -5885,14 +5886,14 @@ L_08B0E54C: } L_08B0E554: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 2u); + aot_gpr_2 = (0u | 2u); if (branch_taken) { goto L_08B0E560; } goto L_08B0E55C; } L_08B0E55C: - ctx.gpr[2] = (0u | 4u); + aot_gpr_2 = (0u | 4u); goto L_08B0E560; L_08B0E560: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -5965,14 +5966,14 @@ L_08B0E5C8: } L_08B0E5D0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 4u); + aot_gpr_2 = (0u | 4u); if (branch_taken) { goto L_08B0E5DC; } goto L_08B0E5D8; } L_08B0E5D8: - ctx.gpr[2] = (0u | 21u); + aot_gpr_2 = (0u | 21u); goto L_08B0E5DC; L_08B0E5DC: jump_target = aot_gpr_31; @@ -6061,7 +6062,7 @@ L_08B0E684: aot_gpr_4 = (16768u << 16u); aot_gpr_31 = (0x08B0E698u); ctx.fpr[22] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0E698u) goto L_08B0E698; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0E698u) goto L_08B0E698; AOT_REGCACHE_SYNC_OUT(); return; L_08B0E698: aot_fpr_12 = ctx.fpr[22] - aot_fpr_20; @@ -6069,7 +6070,7 @@ L_08B0E698: aot_fpr_12 = aot_fpr_20 + aot_fpr_12; aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (std::bit_cast(aot_fpr_12)); + aot_gpr_2 = (std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_08B0E764; } @@ -6077,7 +6078,7 @@ L_08B0E698: } L_08B0E6B0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 25u); + aot_gpr_2 = (0u | 25u); if (branch_taken) { goto L_08B0E764; } @@ -6085,7 +6086,7 @@ L_08B0E6B0: } L_08B0E6B8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 34u); + aot_gpr_2 = (0u | 34u); if (branch_taken) { goto L_08B0E764; } @@ -6101,7 +6102,7 @@ L_08B0E6C0: { const float fs = aot_fpr_12; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (std::bit_cast(aot_fpr_12)); + aot_gpr_2 = (std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_08B0E764; } @@ -6117,7 +6118,7 @@ L_08B0E6E8: { const float fs = aot_fpr_12; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (std::bit_cast(aot_fpr_12)); + aot_gpr_2 = (std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_08B0E764; } @@ -6133,7 +6134,7 @@ L_08B0E710: { const float fs = aot_fpr_12; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (std::bit_cast(aot_fpr_12)); + aot_gpr_2 = (std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_08B0E764; } @@ -6149,14 +6150,14 @@ L_08B0E738: { const float fs = aot_fpr_12; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (std::bit_cast(aot_fpr_12)); + aot_gpr_2 = (std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_08B0E764; } goto L_08B0E760; } L_08B0E760: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_08B0E764; L_08B0E764: { std::uint32_t aot_run_words[3]{}; @@ -6188,7 +6189,7 @@ L_08B0E778: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(2320))); ctx.gpr[6] = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(164), std::bit_cast(aot_fpr_20)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(172), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(172), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(176), aot_gpr_31); if (aot_gpr_5 != ctx.gpr[6]) { aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7800))); @@ -6196,9 +6197,9 @@ L_08B0E778: } goto L_08B0E7C8; L_08B0E7C8: - aot_gpr_17 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[17] = (aot_gpr_29 + static_cast(16)); aot_gpr_31 = (0x08B0E7D4u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 16u, 0x08960154u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0E7D4u) goto L_08B0E7D4; AOT_REGCACHE_SYNC_OUT(); return; L_08B0E7D4: @@ -6212,7 +6213,7 @@ L_08B0E7D4: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -6244,7 +6245,7 @@ L_08B0E7D4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0E804u) goto L_08B0E804; AOT_REGCACHE_SYNC_OUT(); return; L_08B0E804: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08B0E860; @@ -6374,9 +6375,9 @@ L_08B0E8B8: goto L_08B0E8E4; } L_08B0E8E4: - aot_gpr_17 = (aot_gpr_29 + static_cast(48)); + ctx.gpr[17] = (aot_gpr_29 + static_cast(48)); aot_gpr_31 = (0x08B0E8F0u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 16u, 0x08960154u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0E8F0u) goto L_08B0E8F0; AOT_REGCACHE_SYNC_OUT(); return; L_08B0E8F0: @@ -6390,7 +6391,7 @@ L_08B0E8F0: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -6423,7 +6424,7 @@ L_08B0E8F0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0E924u) goto L_08B0E924; AOT_REGCACHE_SYNC_OUT(); return; L_08B0E924: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08B0E980; @@ -6533,7 +6534,7 @@ L_08B0E9D0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0E9D8u) goto L_08B0E9D8; AOT_REGCACHE_SYNC_OUT(); return; L_08B0E9D8: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08B0EA8C; @@ -6546,7 +6547,7 @@ L_08B0E9E0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0E9E8u) goto L_08B0E9E8; AOT_REGCACHE_SYNC_OUT(); return; L_08B0E9E8: - aot_gpr_4 = (ctx.gpr[2] + static_cast(320)); + aot_gpr_4 = (aot_gpr_2 + static_cast(320)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -6573,13 +6574,13 @@ L_08B0E9E8: goto L_08B0EA1C; } L_08B0EA1C: - aot_gpr_17 = (aot_gpr_29 + static_cast(80)); + ctx.gpr[17] = (aot_gpr_29 + static_cast(80)); aot_gpr_31 = (0x08B0EA28u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 16u, 0x08960154u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0EA28u) goto L_08B0EA28; AOT_REGCACHE_SYNC_OUT(); return; L_08B0EA28: - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -6647,7 +6648,7 @@ L_08B0EA8C: aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(164), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); aot_gpr_16 = aot_run_words[1]; - aot_gpr_17 = aot_run_words[2]; + ctx.gpr[17] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } jump_target = aot_gpr_31; @@ -6771,7 +6772,7 @@ L_08B0EB4C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 195u, 0x08910B38u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0EB88u) goto L_08B0EB88; AOT_REGCACHE_SYNC_OUT(); return; L_08B0EB88: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08B0EBC8; @@ -6792,10 +6793,10 @@ L_08B0EB90: L_08B0EBA4: aot_gpr_31 = (0x08B0EBACu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0EBACu) goto L_08B0EBAC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0EBACu) goto L_08B0EBAC; AOT_REGCACHE_SYNC_OUT(); return; L_08B0EBAC: - aot_gpr_4 = (ctx.gpr[2] & 65535u); + aot_gpr_4 = (aot_gpr_2 & 65535u); aot_gpr_4 = (aot_gpr_4 & 3u); aot_gpr_4 = (static_cast(aot_gpr_4) < 1 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; @@ -6807,14 +6808,14 @@ L_08B0EBAC: } L_08B0EBC0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 2u); + aot_gpr_2 = (0u | 2u); if (branch_taken) { goto L_08B0EBCC; } goto L_08B0EBC8; } L_08B0EBC8: - ctx.gpr[2] = (0u | 4u); + aot_gpr_2 = (0u | 4u); goto L_08B0EBCC; L_08B0EBCC: aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -6833,7 +6834,7 @@ L_08B0EBDC: aot_gpr_4 = (aot_gpr_5 & 1u); { const std::uint32_t aot_run_words[4]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(476), aot_run_words); } - { const std::uint32_t aot_run_words[3]{aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(496), aot_run_words); } { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -6887,7 +6888,7 @@ L_08B0EC54: aot_gpr_4 = (aot_gpr_16 | 0u); goto L_08B0E5E4; L_08B0EC5C: - aot_gpr_4 = (ctx.gpr[2] << 24u); + aot_gpr_4 = (aot_gpr_2 << 24u); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 24u)); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(535), static_cast(aot_gpr_4)); goto L_08B0EC68; @@ -6940,9 +6941,9 @@ L_08B0ECA0: L_08B0ECC4: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), 0u); - ctx.gpr[2] = (49152u << 16u); + aot_gpr_2 = (49152u << 16u); aot_gpr_4 = (aot_gpr_16 + static_cast(48)); - aot_fpr_12 = std::bit_cast(ctx.gpr[2]); + aot_fpr_12 = std::bit_cast(aot_gpr_2); aot_gpr_5 = (aot_gpr_29 + static_cast(32)); ctx.gpr[6] = (aot_gpr_29 + static_cast(64)); ctx.gpr[7] = (0u | 1u); @@ -6955,7 +6956,7 @@ L_08B0ECC4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 287u, 0x08891DD4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0ECFCu) goto L_08B0ECFC; AOT_REGCACHE_SYNC_OUT(); return; L_08B0ECFC: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08B0ED18; @@ -6997,9 +6998,9 @@ L_08B0ED44: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 16u, 0x08960154u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0ED4Cu) goto L_08B0ED4C; AOT_REGCACHE_SYNC_OUT(); return; L_08B0ED4C: - aot_gpr_17 = (aot_gpr_16 + static_cast(48)); + ctx.gpr[17] = (aot_gpr_16 + static_cast(48)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(80))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_gpr_4 = (aot_gpr_29 + static_cast(96)); aot_gpr_31 = (0x08B0ED64u); aot_fpr_20 = aot_fpr_12 - aot_fpr_13; @@ -7007,7 +7008,7 @@ L_08B0ED4C: AOT_REGCACHE_SYNC_OUT(); return; L_08B0ED64: aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(96))); - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_gpr_4 = (aot_gpr_29 + static_cast(112)); aot_fpr_14 = aot_fpr_14 - ctx.fpr[15]; aot_gpr_31 = (0x08B0ED7Cu); @@ -7016,7 +7017,7 @@ L_08B0ED64: AOT_REGCACHE_SYNC_OUT(); return; L_08B0ED7C: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(116))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); aot_gpr_4 = (aot_gpr_29 + static_cast(128)); aot_gpr_31 = (0x08B0ED90u); ctx.fpr[22] = aot_fpr_12 - aot_fpr_13; @@ -7024,7 +7025,7 @@ L_08B0ED7C: AOT_REGCACHE_SYNC_OUT(); return; L_08B0ED90: ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(132))); - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); aot_fpr_14 = ctx.fpr[15] - aot_fpr_14; { const float fs = ctx.fpr[22]; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } aot_fpr_14 = aot_fpr_20 + aot_fpr_14; @@ -7062,7 +7063,7 @@ L_08B0EDD8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 238u, 0x08B00E18u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0EDE8u) goto L_08B0EDE8; AOT_REGCACHE_SYNC_OUT(); return; L_08B0EDE8: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08B0EDFC; @@ -7092,9 +7093,9 @@ L_08B0EE0C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 16u, 0x08960154u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0EE14u) goto L_08B0EE14; AOT_REGCACHE_SYNC_OUT(); return; L_08B0EE14: - aot_gpr_17 = (aot_gpr_16 + static_cast(48)); + ctx.gpr[17] = (aot_gpr_16 + static_cast(48)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(128))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_gpr_4 = (aot_gpr_29 + static_cast(112)); aot_gpr_31 = (0x08B0EE2Cu); aot_fpr_20 = aot_fpr_12 - aot_fpr_13; @@ -7102,7 +7103,7 @@ L_08B0EE14: AOT_REGCACHE_SYNC_OUT(); return; L_08B0EE2C: aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(112))); - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_gpr_4 = (aot_gpr_29 + static_cast(96)); aot_fpr_14 = aot_fpr_14 - ctx.fpr[15]; aot_gpr_31 = (0x08B0EE44u); @@ -7111,7 +7112,7 @@ L_08B0EE2C: AOT_REGCACHE_SYNC_OUT(); return; L_08B0EE44: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(100))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); aot_gpr_4 = (aot_gpr_29 + static_cast(80)); aot_gpr_31 = (0x08B0EE58u); ctx.fpr[22] = aot_fpr_12 - aot_fpr_13; @@ -7119,7 +7120,7 @@ L_08B0EE44: AOT_REGCACHE_SYNC_OUT(); return; L_08B0EE58: ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(84))); - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); aot_fpr_14 = ctx.fpr[15] - aot_fpr_14; { const float fs = ctx.fpr[22]; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } aot_fpr_20 = aot_fpr_20 + aot_fpr_14; @@ -7150,20 +7151,20 @@ L_08B0EE88: goto L_08B0EEA0; } L_08B0EEA0: - aot_gpr_17 = (aot_gpr_29 + static_cast(160)); + ctx.gpr[17] = (aot_gpr_29 + static_cast(160)); aot_gpr_31 = (0x08B0EEACu); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 16u, 0x08960154u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0EEACu) goto L_08B0EEAC; AOT_REGCACHE_SYNC_OUT(); return; L_08B0EEAC: aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B0EEBCu); ctx.gpr[6] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0207_entry, 207u, 391u, 0x08B4196Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0EEBCu) goto L_08B0EEBC; AOT_REGCACHE_SYNC_OUT(); return; L_08B0EEBC: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08B0EEE0; @@ -7193,7 +7194,7 @@ L_08B0EEE8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0EEF0u) goto L_08B0EEF0; AOT_REGCACHE_SYNC_OUT(); return; L_08B0EEF0: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08B0EF9C; @@ -7208,11 +7209,11 @@ L_08B0EEF8: L_08B0EF00: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B0EF0Cu); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 587u, 0x08A66C04u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0EF0Cu) goto L_08B0EF0C; AOT_REGCACHE_SYNC_OUT(); return; L_08B0EF0C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08B0EF9C; @@ -7245,7 +7246,7 @@ L_08B0EF34: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0EF3Cu) goto L_08B0EF3C; AOT_REGCACHE_SYNC_OUT(); return; L_08B0EF3C: - aot_gpr_4 = (ctx.gpr[2] + static_cast(320)); + aot_gpr_4 = (aot_gpr_2 + static_cast(320)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -7296,7 +7297,7 @@ L_08B0EF9C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0EFA4u) goto L_08B0EFA4; AOT_REGCACHE_SYNC_OUT(); return; L_08B0EFA4: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08B0F01C; @@ -7309,7 +7310,7 @@ L_08B0EFAC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0EFB4u) goto L_08B0EFB4; AOT_REGCACHE_SYNC_OUT(); return; L_08B0EFB4: - aot_gpr_4 = (ctx.gpr[2] + static_cast(320)); + aot_gpr_4 = (aot_gpr_2 + static_cast(320)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -7363,7 +7364,7 @@ L_08B0F020: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0F028u) goto L_08B0F028; AOT_REGCACHE_SYNC_OUT(); return; L_08B0F028: - if (ctx.gpr[2] == 0u) { + if (aot_gpr_2 == 0u) { aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(613)))))); goto L_08B0F098; } @@ -7375,11 +7376,11 @@ L_08B0F030: AOT_REGCACHE_SYNC_OUT(); return; L_08B0F038: aot_gpr_31 = (0x08B0F040u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 229u, 0x08B00D78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0F040u) goto L_08B0F040; AOT_REGCACHE_SYNC_OUT(); return; L_08B0F040: - if (ctx.gpr[2] != 0u) { + if (aot_gpr_2 != 0u) { aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(613)))))); goto L_08B0F098; } @@ -7390,7 +7391,7 @@ L_08B0F048: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0F050u) goto L_08B0F050; AOT_REGCACHE_SYNC_OUT(); return; L_08B0F050: - aot_gpr_4 = (ctx.gpr[2] + static_cast(320)); + aot_gpr_4 = (aot_gpr_2 + static_cast(320)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -7488,7 +7489,7 @@ L_08B0F0F0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0F104u) goto L_08B0F104; AOT_REGCACHE_SYNC_OUT(); return; L_08B0F104: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(2320))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(2320))); aot_gpr_4 = (static_cast(aot_gpr_4) < 2 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -7535,9 +7536,9 @@ L_08B0F14C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 16u, 0x08960154u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0F154u) goto L_08B0F154; AOT_REGCACHE_SYNC_OUT(); return; L_08B0F154: - aot_gpr_17 = (aot_gpr_16 + static_cast(48)); + ctx.gpr[17] = (aot_gpr_16 + static_cast(48)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(128))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_gpr_4 = (aot_gpr_29 + static_cast(112)); aot_gpr_31 = (0x08B0F16Cu); aot_fpr_20 = aot_fpr_12 - aot_fpr_13; @@ -7545,7 +7546,7 @@ L_08B0F154: AOT_REGCACHE_SYNC_OUT(); return; L_08B0F16C: aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(112))); - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_gpr_4 = (aot_gpr_29 + static_cast(96)); aot_fpr_14 = aot_fpr_14 - ctx.fpr[15]; aot_gpr_31 = (0x08B0F184u); @@ -7554,7 +7555,7 @@ L_08B0F16C: AOT_REGCACHE_SYNC_OUT(); return; L_08B0F184: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(100))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); aot_gpr_4 = (aot_gpr_29 + static_cast(80)); aot_gpr_31 = (0x08B0F198u); ctx.fpr[22] = aot_fpr_12 - aot_fpr_13; @@ -7562,7 +7563,7 @@ L_08B0F184: AOT_REGCACHE_SYNC_OUT(); return; L_08B0F198: ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(84))); - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); aot_fpr_14 = ctx.fpr[15] - aot_fpr_14; { const float fs = ctx.fpr[22]; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } aot_fpr_14 = aot_fpr_20 + aot_fpr_14; @@ -7600,7 +7601,7 @@ L_08B0F1E0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 238u, 0x08B00E18u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0F1F0u) goto L_08B0F1F0; AOT_REGCACHE_SYNC_OUT(); return; L_08B0F1F0: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08B0F204; @@ -7630,9 +7631,9 @@ L_08B0F214: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 16u, 0x08960154u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0F21Cu) goto L_08B0F21C; AOT_REGCACHE_SYNC_OUT(); return; L_08B0F21C: - aot_gpr_17 = (aot_gpr_16 + static_cast(48)); + ctx.gpr[17] = (aot_gpr_16 + static_cast(48)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(128))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_gpr_4 = (aot_gpr_29 + static_cast(112)); aot_gpr_31 = (0x08B0F234u); aot_fpr_20 = aot_fpr_12 - aot_fpr_13; @@ -7640,7 +7641,7 @@ L_08B0F21C: AOT_REGCACHE_SYNC_OUT(); return; L_08B0F234: aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(112))); - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_gpr_4 = (aot_gpr_29 + static_cast(96)); aot_fpr_14 = aot_fpr_14 - ctx.fpr[15]; aot_gpr_31 = (0x08B0F24Cu); @@ -7649,7 +7650,7 @@ L_08B0F234: AOT_REGCACHE_SYNC_OUT(); return; L_08B0F24C: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(100))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); aot_gpr_4 = (aot_gpr_29 + static_cast(80)); aot_gpr_31 = (0x08B0F260u); ctx.fpr[22] = aot_fpr_12 - aot_fpr_13; @@ -7657,7 +7658,7 @@ L_08B0F24C: AOT_REGCACHE_SYNC_OUT(); return; L_08B0F260: ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(84))); - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); aot_fpr_14 = ctx.fpr[15] - aot_fpr_14; { const float fs = ctx.fpr[22]; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } aot_fpr_20 = aot_fpr_20 + aot_fpr_14; @@ -7688,20 +7689,20 @@ L_08B0F290: goto L_08B0F2A8; } L_08B0F2A8: - aot_gpr_17 = (aot_gpr_29 + static_cast(176)); + ctx.gpr[17] = (aot_gpr_29 + static_cast(176)); aot_gpr_31 = (0x08B0F2B4u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 16u, 0x08960154u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0F2B4u) goto L_08B0F2B4; AOT_REGCACHE_SYNC_OUT(); return; L_08B0F2B4: aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B0F2C4u); ctx.gpr[6] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0207_entry, 207u, 391u, 0x08B4196Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0F2C4u) goto L_08B0F2C4; AOT_REGCACHE_SYNC_OUT(); return; L_08B0F2C4: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08B0F2E8; @@ -7731,7 +7732,7 @@ L_08B0F2F0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0F2F8u) goto L_08B0F2F8; AOT_REGCACHE_SYNC_OUT(); return; L_08B0F2F8: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08B0F370; @@ -7744,7 +7745,7 @@ L_08B0F300: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0F308u) goto L_08B0F308; AOT_REGCACHE_SYNC_OUT(); return; L_08B0F308: - aot_gpr_4 = (ctx.gpr[2] + static_cast(320)); + aot_gpr_4 = (aot_gpr_2 + static_cast(320)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -7798,7 +7799,7 @@ L_08B0F374: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0F37Cu) goto L_08B0F37C; AOT_REGCACHE_SYNC_OUT(); return; L_08B0F37C: - if (ctx.gpr[2] == 0u) { + if (aot_gpr_2 == 0u) { aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(613)))))); goto L_08B0F3EC; } @@ -7810,11 +7811,11 @@ L_08B0F384: AOT_REGCACHE_SYNC_OUT(); return; L_08B0F38C: aot_gpr_31 = (0x08B0F394u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 229u, 0x08B00D78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0F394u) goto L_08B0F394; AOT_REGCACHE_SYNC_OUT(); return; L_08B0F394: - if (ctx.gpr[2] != 0u) { + if (aot_gpr_2 != 0u) { aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(613)))))); goto L_08B0F3EC; } @@ -7825,7 +7826,7 @@ L_08B0F39C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0F3A4u) goto L_08B0F3A4; AOT_REGCACHE_SYNC_OUT(); return; L_08B0F3A4: - aot_gpr_4 = (ctx.gpr[2] + static_cast(320)); + aot_gpr_4 = (aot_gpr_2 + static_cast(320)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -7923,7 +7924,7 @@ L_08B0F444: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0F458u) goto L_08B0F458; AOT_REGCACHE_SYNC_OUT(); return; L_08B0F458: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(2320))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(2320))); aot_gpr_4 = (static_cast(aot_gpr_4) < 2 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -8207,7 +8208,7 @@ L_08B0F68C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0207_entry, 207u, 391u, 0x08B4196Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0F6B0u) goto L_08B0F6B0; AOT_REGCACHE_SYNC_OUT(); return; L_08B0F6B0: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08B0F6C4; @@ -8346,7 +8347,7 @@ L_08B0F7A0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0207_entry, 207u, 391u, 0x08B4196Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0F7C4u) goto L_08B0F7C4; AOT_REGCACHE_SYNC_OUT(); return; L_08B0F7C4: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08B0F7D8; @@ -8429,7 +8430,7 @@ L_08B0F82C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 175u, 0x08B20EB8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0F858u) goto L_08B0F858; AOT_REGCACHE_SYNC_OUT(); return; L_08B0F858: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08B0F874; @@ -8525,7 +8526,7 @@ L_08B0F8E0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0114_entry, 114u, 688u, 0x089CFB70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0F90Cu) goto L_08B0F90C; AOT_REGCACHE_SYNC_OUT(); return; L_08B0F90C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08B0F928; @@ -8742,7 +8743,7 @@ L_08B0FAD8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 587u, 0x08A66C04u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0FAE4u) goto L_08B0FAE4; AOT_REGCACHE_SYNC_OUT(); return; L_08B0FAE4: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08B0FB40; @@ -8863,7 +8864,7 @@ L_08B0FBD4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 238u, 0x08B00E18u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0FBE4u) goto L_08B0FBE4; AOT_REGCACHE_SYNC_OUT(); return; L_08B0FBE4: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08B0FC04; @@ -9024,9 +9025,9 @@ L_08B0FD30: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 16u, 0x08960154u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0FD38u) goto L_08B0FD38; AOT_REGCACHE_SYNC_OUT(); return; L_08B0FD38: - aot_gpr_17 = (aot_gpr_16 + static_cast(48)); + ctx.gpr[17] = (aot_gpr_16 + static_cast(48)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(128))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_gpr_4 = (aot_gpr_29 + static_cast(112)); aot_gpr_31 = (0x08B0FD50u); aot_fpr_20 = aot_fpr_12 - aot_fpr_13; @@ -9034,7 +9035,7 @@ L_08B0FD38: AOT_REGCACHE_SYNC_OUT(); return; L_08B0FD50: aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(112))); - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_gpr_4 = (aot_gpr_29 + static_cast(96)); aot_fpr_14 = aot_fpr_14 - ctx.fpr[15]; aot_gpr_31 = (0x08B0FD68u); @@ -9043,7 +9044,7 @@ L_08B0FD50: AOT_REGCACHE_SYNC_OUT(); return; L_08B0FD68: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(100))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); aot_gpr_4 = (aot_gpr_29 + static_cast(80)); aot_gpr_31 = (0x08B0FD7Cu); ctx.fpr[22] = aot_fpr_12 - aot_fpr_13; @@ -9051,7 +9052,7 @@ L_08B0FD68: AOT_REGCACHE_SYNC_OUT(); return; L_08B0FD7C: ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(84))); - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); aot_fpr_14 = ctx.fpr[15] - aot_fpr_14; { const float fs = ctx.fpr[22]; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } aot_fpr_20 = aot_fpr_20 + aot_fpr_14; @@ -9095,7 +9096,7 @@ L_08B0FDDC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0FDE4u) goto L_08B0FDE4; AOT_REGCACHE_SYNC_OUT(); return; L_08B0FDE4: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(2318)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(2318)))))); aot_gpr_4 = (aot_gpr_4 & 2u); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -9120,7 +9121,7 @@ L_08B0FE04: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0FE0Cu) goto L_08B0FE0C; AOT_REGCACHE_SYNC_OUT(); return; L_08B0FE0C: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(2320))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(2320))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -9134,7 +9135,7 @@ L_08B0FE18: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0FE20u) goto L_08B0FE20; AOT_REGCACHE_SYNC_OUT(); return; L_08B0FE20: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(2318)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(2318)))))); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -9149,7 +9150,7 @@ L_08B0FE30: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0170_entry, 170u, 526u, 0x08AAE958u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0FE38u) goto L_08B0FE38; AOT_REGCACHE_SYNC_OUT(); return; L_08B0FE38: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08B0FE58; @@ -9175,16 +9176,16 @@ L_08B0FE58: goto L_08B0FE60; } L_08B0FE60: - aot_gpr_17 = (aot_gpr_29 + static_cast(128)); + ctx.gpr[17] = (aot_gpr_29 + static_cast(128)); aot_gpr_31 = (0x08B0FE6Cu); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 16u, 0x08960154u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0FE6Cu) goto L_08B0FE6C; AOT_REGCACHE_SYNC_OUT(); return; L_08B0FE6C: ctx.gpr[18] = (aot_gpr_16 + static_cast(48)); ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(128))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B0FE84u); ctx.fpr[22] = ctx.fpr[22] - aot_fpr_12; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 16u, 0x08960154u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0FE84u) goto L_08B0FE84; @@ -9215,7 +9216,7 @@ L_08B0FEBC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0FECCu) goto L_08B0FECC; AOT_REGCACHE_SYNC_OUT(); return; L_08B0FECC: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08B0FF10; @@ -9228,13 +9229,13 @@ L_08B0FED4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 22u, 0x08960240u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0FEDCu) goto L_08B0FEDC; AOT_REGCACHE_SYNC_OUT(); return; L_08B0FEDC: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(0))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(0))); aot_gpr_31 = (0x08B0FEE8u); { const float fs = ctx.fpr[22]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[22] = std::bit_cast(0x7FC00000u); else ctx.fpr[22] = fs * ft; } if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 22u, 0x08960240u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0FEE8u) goto L_08B0FEE8; AOT_REGCACHE_SYNC_OUT(); return; L_08B0FEE8: - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(4))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(4))); aot_gpr_4 = (15692u << 16u); { const float fs = aot_fpr_20; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_gpr_4 = (aot_gpr_4 | 52429u); @@ -9307,7 +9308,7 @@ L_08B0FF60: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0FF68u) goto L_08B0FF68; AOT_REGCACHE_SYNC_OUT(); return; L_08B0FF68: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(2320))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(2320))); { const bool branch_taken = static_cast(aot_gpr_4) <= 0; // nop if (branch_taken) { @@ -9321,7 +9322,7 @@ L_08B0FF74: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0170_entry, 170u, 526u, 0x08AAE958u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B0FF7Cu) goto L_08B0FF7C; AOT_REGCACHE_SYNC_OUT(); return; L_08B0FF7C: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08B0EE04; diff --git a/profiles/vcs/generated/generated_unit_0195.cpp b/profiles/vcs/generated/generated_unit_0195.cpp index fc50717..41e5e10 100644 --- a/profiles/vcs/generated/generated_unit_0195.cpp +++ b/profiles/vcs/generated/generated_unit_0195.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0195[4089] = { }; void recomp_unit_0195_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,29,5,16,31,2 fprs=12,13,14,15 gpr_occ=3205 fpr_occ=917 gpr_total=4526 fpr_total=1543 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,29,5,31,16,2 fprs=12,13,14,15 gpr_occ=3383 fpr_occ=918 gpr_total=4805 fpr_total=1544 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; - std::uint32_t aot_gpr_16 = ctx.gpr[16]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; + std::uint32_t aot_gpr_16 = ctx.gpr[16]; std::uint32_t aot_gpr_2 = ctx.gpr[2]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_14 = ctx.fpr[14]; float aot_fpr_15 = ctx.fpr[15]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[29] = aot_gpr_29; ctx.gpr[5] = aot_gpr_5; ctx.gpr[16] = aot_gpr_16; ctx.gpr[31] = aot_gpr_31; ctx.gpr[2] = aot_gpr_2; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[15] = aot_fpr_15; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_2 = ctx.gpr[2]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_15 = ctx.fpr[15]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[29] = aot_gpr_29; ctx.gpr[5] = aot_gpr_5; ctx.gpr[31] = aot_gpr_31; ctx.gpr[16] = aot_gpr_16; ctx.gpr[2] = aot_gpr_2; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[15] = aot_fpr_15; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_2 = ctx.gpr[2]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_15 = ctx.fpr[15]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -1000,7 +1001,7 @@ L_08B10014: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(72), aot_gpr_4); aot_gpr_31 = (0x08B1003Cu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1003Cu) goto L_08B1003C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B01E00, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1003Cu) goto L_08B1003C; AOT_REGCACHE_SYNC_OUT(); return; L_08B1003C: aot_gpr_4 = (0u | 4u); @@ -1079,7 +1080,7 @@ L_08B10098: L_08B100A8: aot_gpr_31 = (0x08B100B0u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B100B0u) goto L_08B100B0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B01E00, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B100B0u) goto L_08B100B0; AOT_REGCACHE_SYNC_OUT(); return; L_08B100B0: aot_gpr_4 = (0u | 4u); @@ -1585,7 +1586,7 @@ L_08B10448: L_08B10450: aot_gpr_31 = (0x08B10458u); aot_gpr_4 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B10458u) goto L_08B10458; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B01E00, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B10458u) goto L_08B10458; AOT_REGCACHE_SYNC_OUT(); return; L_08B10458: aot_gpr_4 = (0u | 2u); @@ -2009,7 +2010,7 @@ L_08B1073C: L_08B1074C: aot_gpr_31 = (0x08B10754u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B10754u) goto L_08B10754; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B10754u) goto L_08B10754; AOT_REGCACHE_SYNC_OUT(); return; L_08B10754: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(76))); @@ -2194,7 +2195,7 @@ L_08B10888: L_08B10890: aot_gpr_31 = (0x08B10898u); aot_gpr_4 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B10898u) goto L_08B10898; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B01E00, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B10898u) goto L_08B10898; AOT_REGCACHE_SYNC_OUT(); return; L_08B10898: aot_gpr_4 = (0u | 1u); @@ -2213,7 +2214,7 @@ L_08B108A4: L_08B108AC: aot_gpr_31 = (0x08B108B4u); aot_gpr_4 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B108B4u) goto L_08B108B4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B01E00, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B108B4u) goto L_08B108B4; AOT_REGCACHE_SYNC_OUT(); return; L_08B108B4: aot_gpr_4 = (0u | 2u); @@ -2227,7 +2228,7 @@ L_08B108B4: L_08B108C0: aot_gpr_31 = (0x08B108C8u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B108C8u) goto L_08B108C8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B01E00, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B108C8u) goto L_08B108C8; AOT_REGCACHE_SYNC_OUT(); return; L_08B108C8: aot_gpr_4 = (0u | 4u); @@ -2258,7 +2259,7 @@ L_08B108EC: L_08B108F4: aot_gpr_31 = (0x08B108FCu); aot_gpr_4 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B108FCu) goto L_08B108FC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B01E00, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B108FCu) goto L_08B108FC; AOT_REGCACHE_SYNC_OUT(); return; L_08B108FC: aot_gpr_4 = (0u | 4u); @@ -2272,7 +2273,7 @@ L_08B108FC: L_08B10908: aot_gpr_31 = (0x08B10910u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B10910u) goto L_08B10910; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B01E00, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B10910u) goto L_08B10910; AOT_REGCACHE_SYNC_OUT(); return; L_08B10910: aot_gpr_4 = (0u | 1u); @@ -2286,7 +2287,7 @@ L_08B10910: L_08B1091C: aot_gpr_31 = (0x08B10924u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B10924u) goto L_08B10924; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B01E00, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B10924u) goto L_08B10924; AOT_REGCACHE_SYNC_OUT(); return; L_08B10924: aot_gpr_4 = (0u | 2u); @@ -2795,7 +2796,7 @@ L_08B10CF0: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); aot_gpr_31 = (0x08B10D14u); ctx.gpr[18] = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B10D14u) goto L_08B10D14; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806888, 0u, 324u, 0x08806888u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B10D14u) goto L_08B10D14; AOT_REGCACHE_SYNC_OUT(); return; L_08B10D14: aot_gpr_4 = (0u | 2u); @@ -2950,7 +2951,7 @@ L_08B10E30: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B10E3Cu); aot_gpr_5 = (0u + static_cast(-1)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B10E3Cu) goto L_08B10E3C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806888, 0u, 324u, 0x08806888u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B10E3Cu) goto L_08B10E3C; AOT_REGCACHE_SYNC_OUT(); return; L_08B10E3C: { const bool branch_taken = aot_gpr_2 != 0u; @@ -2964,7 +2965,7 @@ L_08B10E44: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B10E50u); aot_gpr_5 = (0u + static_cast(-2)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B10E50u) goto L_08B10E50; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806654, 0u, 303u, 0x08806654u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B10E50u) goto L_08B10E50; AOT_REGCACHE_SYNC_OUT(); return; L_08B10E50: { const bool branch_taken = 0u == 0u; @@ -2978,7 +2979,7 @@ L_08B10E58: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B10E64u); aot_gpr_5 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B10E64u) goto L_08B10E64; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880682C, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B10E64u) goto L_08B10E64; AOT_REGCACHE_SYNC_OUT(); return; L_08B10E64: aot_gpr_4 = (ctx.gpr[17] | 0u); @@ -2990,7 +2991,7 @@ L_08B10E70: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B10E7Cu); aot_gpr_5 = (0u + static_cast(-1)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B10E7Cu) goto L_08B10E7C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806888, 0u, 324u, 0x08806888u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B10E7Cu) goto L_08B10E7C; AOT_REGCACHE_SYNC_OUT(); return; L_08B10E7C: { const bool branch_taken = aot_gpr_2 == 0u; @@ -3013,7 +3014,7 @@ L_08B10E94: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B10EA0u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B10EA0u) goto L_08B10EA0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806654, 0u, 303u, 0x08806654u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B10EA0u) goto L_08B10EA0; AOT_REGCACHE_SYNC_OUT(); return; L_08B10EA0: aot_gpr_2 = (ctx.gpr[18] | 0u); @@ -3058,7 +3059,7 @@ L_08B10F04: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B10F10u); aot_gpr_5 = (0u + static_cast(-1)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B10F10u) goto L_08B10F10; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806888, 0u, 324u, 0x08806888u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B10F10u) goto L_08B10F10; AOT_REGCACHE_SYNC_OUT(); return; L_08B10F10: { const bool branch_taken = aot_gpr_2 != 0u; @@ -3072,7 +3073,7 @@ L_08B10F18: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B10F24u); aot_gpr_5 = (0u + static_cast(-2)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B10F24u) goto L_08B10F24; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806654, 0u, 303u, 0x08806654u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B10F24u) goto L_08B10F24; AOT_REGCACHE_SYNC_OUT(); return; L_08B10F24: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -3104,19 +3105,19 @@ L_08B10F5C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B10F68u); aot_gpr_5 = (0u + static_cast(-2)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B10F68u) goto L_08B10F68; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880682C, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B10F68u) goto L_08B10F68; AOT_REGCACHE_SYNC_OUT(); return; L_08B10F68: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B10F74u); aot_gpr_5 = (0u + static_cast(-1)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B10F74u) goto L_08B10F74; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880682C, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B10F74u) goto L_08B10F74; AOT_REGCACHE_SYNC_OUT(); return; L_08B10F74: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B10F80u); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B10F80u) goto L_08B10F80; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B10F80u) goto L_08B10F80; AOT_REGCACHE_SYNC_OUT(); return; L_08B10F80: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -3487,7 +3488,7 @@ L_08B11218: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B11224u); aot_gpr_5 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B11224u) goto L_08B11224; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B11224u) goto L_08B11224; AOT_REGCACHE_SYNC_OUT(); return; L_08B11224: aot_gpr_2 = (ctx.gpr[19] | 0u); @@ -3528,7 +3529,7 @@ L_08B11268: L_08B11270: aot_gpr_31 = (0x08B11278u); aot_gpr_5 = (0u + static_cast(-10001)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B11278u) goto L_08B11278; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880682C, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B11278u) goto L_08B11278; AOT_REGCACHE_SYNC_OUT(); return; L_08B11278: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5892))); @@ -3599,7 +3600,7 @@ L_08B11304: aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08B11310u); aot_gpr_5 = (0u + static_cast(-1)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B11310u) goto L_08B11310; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806888, 0u, 324u, 0x08806888u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B11310u) goto L_08B11310; AOT_REGCACHE_SYNC_OUT(); return; L_08B11310: { const bool branch_taken = aot_gpr_2 == 0u; @@ -3636,7 +3637,7 @@ L_08B11350: aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08B1135Cu); aot_gpr_5 = (0u + static_cast(-2)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1135Cu) goto L_08B1135C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806654, 0u, 303u, 0x08806654u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1135Cu) goto L_08B1135C; AOT_REGCACHE_SYNC_OUT(); return; L_08B1135C: { const bool branch_taken = 0u == 0u; @@ -3684,7 +3685,7 @@ L_08B11394: aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08B113A4u); aot_gpr_5 = (0u + static_cast(-2)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B113A4u) goto L_08B113A4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806654, 0u, 303u, 0x08806654u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B113A4u) goto L_08B113A4; AOT_REGCACHE_SYNC_OUT(); return; L_08B113A4: aot_gpr_4 = (ctx.gpr[20] | 0u); @@ -3696,7 +3697,7 @@ L_08B113B0: aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08B113BCu); aot_gpr_5 = (0u + static_cast(-3)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B113BCu) goto L_08B113BC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B113BCu) goto L_08B113BC; AOT_REGCACHE_SYNC_OUT(); return; L_08B113BC: aot_gpr_4 = (ctx.gpr[20] | 0u); @@ -3716,7 +3717,7 @@ L_08B113D0: aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08B113DCu); aot_gpr_5 = (0u + static_cast(-2)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B113DCu) goto L_08B113DC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806654, 0u, 303u, 0x08806654u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B113DCu) goto L_08B113DC; AOT_REGCACHE_SYNC_OUT(); return; L_08B113DC: { const bool branch_taken = 0u == 0u; @@ -3730,7 +3731,7 @@ L_08B113E4: aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08B113F0u); aot_gpr_5 = (0u + static_cast(-2)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B113F0u) goto L_08B113F0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806654, 0u, 303u, 0x08806654u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B113F0u) goto L_08B113F0; AOT_REGCACHE_SYNC_OUT(); return; L_08B113F0: { std::uint32_t aot_run_words[6]{}; @@ -3794,7 +3795,7 @@ L_08B11454: L_08B1145C: aot_gpr_31 = (0x08B11464u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B11464u) goto L_08B11464; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B11464u) goto L_08B11464; AOT_REGCACHE_SYNC_OUT(); return; L_08B11464: aot_gpr_31 = (0x08B1146Cu); @@ -3876,7 +3877,7 @@ L_08B114E0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(64))); aot_gpr_31 = (0x08B114ECu); ctx.gpr[17] = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B114ECu) goto L_08B114EC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2E4, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B114ECu) goto L_08B114EC; AOT_REGCACHE_SYNC_OUT(); return; L_08B114EC: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), ctx.gpr[17]); @@ -3927,7 +3928,7 @@ L_08B11534: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(64), aot_gpr_5); aot_gpr_31 = (0x08B11550u); aot_gpr_4 = (ctx.gpr[28] + static_cast(2304)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B11550u) goto L_08B11550; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B11550u) goto L_08B11550; AOT_REGCACHE_SYNC_OUT(); return; L_08B11550: aot_gpr_5 = (2232u << 16u); @@ -8578,7 +8579,7 @@ L_08B1342C: aot_fpr_12 = std::sqrt(aot_fpr_12); aot_gpr_31 = (0x08B13454u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B13454u) goto L_08B13454; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B13454u) goto L_08B13454; AOT_REGCACHE_SYNC_OUT(); return; L_08B13454: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(2348))); @@ -8586,13 +8587,13 @@ L_08B13454: aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08B13468u); aot_gpr_4 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B13468u) goto L_08B13468; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_16, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B13468u) goto L_08B13468; AOT_REGCACHE_SYNC_OUT(); return; L_08B13468: aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08B13474u); aot_gpr_4 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B13474u) goto L_08B13474; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B627F0, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B13474u) goto L_08B13474; AOT_REGCACHE_SYNC_OUT(); return; L_08B13474: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(32))); @@ -9776,7 +9777,7 @@ L_08B13D8C: L_08B13DB8: aot_gpr_31 = (0x08B13DC0u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B13DC0u) goto L_08B13DC0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089101A4, 67u, 27u, 0x089101A4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B13DC0u) goto L_08B13DC0; AOT_REGCACHE_SYNC_OUT(); return; L_08B13DC0: { const bool branch_taken = aot_gpr_2 == 0u; @@ -9789,7 +9790,7 @@ L_08B13DC0: L_08B13DC8: aot_gpr_31 = (0x08B13DD0u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B13DD0u) goto L_08B13DD0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089101A4, 67u, 27u, 0x089101A4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B13DD0u) goto L_08B13DD0; AOT_REGCACHE_SYNC_OUT(); return; L_08B13DD0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(72))); @@ -9807,13 +9808,13 @@ L_08B13DD0: L_08B13DEC: aot_gpr_31 = (0x08B13DF4u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B13DF4u) goto L_08B13DF4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089101A4, 67u, 27u, 0x089101A4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B13DF4u) goto L_08B13DF4; AOT_REGCACHE_SYNC_OUT(); return; L_08B13DF4: aot_gpr_16 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08B13E00u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B13E00u) goto L_08B13E00; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B13E00u) goto L_08B13E00; AOT_REGCACHE_SYNC_OUT(); return; L_08B13E00: { const bool branch_taken = aot_gpr_2 != 0u; @@ -10039,7 +10040,7 @@ L_08B13F50: L_08B13F5C: aot_gpr_31 = (0x08B13F64u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B13F64u) goto L_08B13F64; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B13F64u) goto L_08B13F64; AOT_REGCACHE_SYNC_OUT(); return; L_08B13F64: aot_gpr_4 = (aot_gpr_16 & 1u); @@ -10055,7 +10056,7 @@ L_08B13F68: L_08B13F70: aot_gpr_31 = (0x08B13F78u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B13F78u) goto L_08B13F78; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B13F78u) goto L_08B13F78; AOT_REGCACHE_SYNC_OUT(); return; L_08B13F78: { std::uint32_t aot_run_words[3]{}; diff --git a/profiles/vcs/generated/generated_unit_0196.cpp b/profiles/vcs/generated/generated_unit_0196.cpp index cba89c3..8d5f3d4 100644 --- a/profiles/vcs/generated/generated_unit_0196.cpp +++ b/profiles/vcs/generated/generated_unit_0196.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0196[4093] = { }; void recomp_unit_0196_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,31,16,17 fprs=12,13,14,20 gpr_occ=4440 fpr_occ=398 gpr_total=5803 fpr_total=475 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,31,29,6,2 fprs=12,13,14,20 gpr_occ=4509 fpr_occ=411 gpr_total=6137 fpr_total=488 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; - std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; - std::uint32_t aot_gpr_16 = ctx.gpr[16]; - std::uint32_t aot_gpr_17 = ctx.gpr[17]; + std::uint32_t aot_gpr_29 = ctx.gpr[29]; + std::uint32_t aot_gpr_6 = ctx.gpr[6]; + std::uint32_t aot_gpr_2 = ctx.gpr[2]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_14 = ctx.fpr[14]; float aot_fpr_20 = ctx.fpr[20]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[31] = aot_gpr_31; ctx.gpr[16] = aot_gpr_16; ctx.gpr[17] = aot_gpr_17; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[20] = aot_fpr_20; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_17 = ctx.gpr[17]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_20 = ctx.fpr[20]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[31] = aot_gpr_31; ctx.gpr[29] = aot_gpr_29; ctx.gpr[6] = aot_gpr_6; ctx.gpr[2] = aot_gpr_2; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[20] = aot_fpr_20; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_2 = ctx.gpr[2]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_20 = ctx.fpr[20]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -1180,17 +1181,17 @@ L_08B14128: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(3292))); aot_gpr_5 = (aot_gpr_29 + static_cast(68)); aot_gpr_4 = (aot_gpr_4 + static_cast(6000)); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_4 = (0u | 36u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), ctx.gpr[6]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(76), aot_gpr_5); aot_gpr_31 = (0x08B1414Cu); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(72), aot_gpr_4); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 474u, 0x08ABE308u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1414Cu) goto L_08B1414C; AOT_REGCACHE_SYNC_OUT(); return; L_08B1414C: - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(72))); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(72))); + aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(76))); if (branch_taken) { @@ -1201,16 +1202,16 @@ L_08B1414C: L_08B1415C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(76), aot_gpr_5); aot_gpr_31 = (0x08B14168u); - aot_gpr_4 = (ctx.gpr[6] | 0u); + aot_gpr_4 = (aot_gpr_6 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 289u, 0x08B65438u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B14168u) goto L_08B14168; AOT_REGCACHE_SYNC_OUT(); return; L_08B14168: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(76))); goto L_08B14170; L_08B14170: - ctx.gpr[6] = (aot_gpr_4 + static_cast(8)); - if (ctx.gpr[6] == 0u) { + aot_gpr_6 = (aot_gpr_4 + static_cast(8)); + if (aot_gpr_6 == 0u) { aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); goto L_08B141C0; } @@ -1220,25 +1221,25 @@ L_08B1417C: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); ctx.gpr[7] = (std::bit_cast(aot_fpr_12)); ctx.gpr[8] = (std::bit_cast(aot_fpr_13)); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(0), ctx.gpr[7]); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(4), ctx.gpr[8]); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(0), ctx.gpr[7]); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(4), ctx.gpr[8]); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(8), ctx.gpr[7]); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(8), ctx.gpr[7]); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(28))); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(12), std::bit_cast(aot_fpr_14)); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(12), std::bit_cast(aot_fpr_14)); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(32))); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(16), std::bit_cast(aot_fpr_14)); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(16), std::bit_cast(aot_fpr_14)); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(36))); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(20), std::bit_cast(aot_fpr_14)); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(20), std::bit_cast(aot_fpr_14)); ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(40))); - aot_mem.aot_direct_store8(ctx.gpr[6] + static_cast(24), static_cast(ctx.gpr[7])); + aot_mem.aot_direct_store8(aot_gpr_6 + static_cast(24), static_cast(ctx.gpr[7])); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); goto L_08B141C0; L_08B141C0: - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), ctx.gpr[6]); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(0), aot_gpr_4); + aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), aot_gpr_6); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(0), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(4), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), aot_gpr_4); goto L_08B141D8; @@ -1253,76 +1254,76 @@ L_08B141D8: L_08B141E4: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(3292))); - ctx.gpr[6] = (0u | 7u); - aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(6004), ctx.gpr[6]); + aot_gpr_6 = (0u | 7u); + aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(6004), aot_gpr_6); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(3292))); - ctx.gpr[6] = (0u | 8u); - aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(6012), ctx.gpr[6]); + aot_gpr_6 = (0u | 8u); + aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(6012), aot_gpr_6); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(3292))); - ctx.gpr[6] = (0u | 6u); - aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(6020), ctx.gpr[6]); + aot_gpr_6 = (0u | 6u); + aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(6020), aot_gpr_6); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(3292))); - ctx.gpr[6] = (0u | 5u); - aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(6028), ctx.gpr[6]); + aot_gpr_6 = (0u | 5u); + aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(6028), aot_gpr_6); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(3292))); - ctx.gpr[6] = (0u | 9u); - aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(6036), ctx.gpr[6]); + aot_gpr_6 = (0u | 9u); + aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(6036), aot_gpr_6); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(3292))); - ctx.gpr[6] = (0u | 2u); - aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(6044), ctx.gpr[6]); + aot_gpr_6 = (0u | 2u); + aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(6044), aot_gpr_6); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(3292))); - ctx.gpr[6] = (0u | 3u); - aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(6052), ctx.gpr[6]); + aot_gpr_6 = (0u | 3u); + aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(6052), aot_gpr_6); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(3292))); - ctx.gpr[6] = (0u | 1u); - aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(6060), ctx.gpr[6]); + aot_gpr_6 = (0u | 1u); + aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(6060), aot_gpr_6); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(3292))); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(6068), 0u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(3292))); - ctx.gpr[6] = (0u | 4u); - aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(6076), ctx.gpr[6]); + aot_gpr_6 = (0u | 4u); + aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(6076), aot_gpr_6); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(3292))); - ctx.gpr[6] = (2225u << 16u); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(14152)); - aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(6008), ctx.gpr[6]); + aot_gpr_6 = (2225u << 16u); + aot_gpr_6 = (aot_gpr_6 + static_cast(14152)); + aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(6008), aot_gpr_6); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(3292))); - ctx.gpr[6] = (2225u << 16u); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(14880)); - aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(6016), ctx.gpr[6]); + aot_gpr_6 = (2225u << 16u); + aot_gpr_6 = (aot_gpr_6 + static_cast(14880)); + aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(6016), aot_gpr_6); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(3292))); - ctx.gpr[6] = (2225u << 16u); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(14968)); - aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(6024), ctx.gpr[6]); + aot_gpr_6 = (2225u << 16u); + aot_gpr_6 = (aot_gpr_6 + static_cast(14968)); + aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(6024), aot_gpr_6); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(3292))); - ctx.gpr[6] = (2225u << 16u); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(15104)); - aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(6032), ctx.gpr[6]); + aot_gpr_6 = (2225u << 16u); + aot_gpr_6 = (aot_gpr_6 + static_cast(15104)); + aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(6032), aot_gpr_6); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(3292))); - ctx.gpr[6] = (2225u << 16u); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(15172)); - aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(6040), ctx.gpr[6]); + aot_gpr_6 = (2225u << 16u); + aot_gpr_6 = (aot_gpr_6 + static_cast(15172)); + aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(6040), aot_gpr_6); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(3292))); - ctx.gpr[6] = (2225u << 16u); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(15400)); - aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(6048), ctx.gpr[6]); + aot_gpr_6 = (2225u << 16u); + aot_gpr_6 = (aot_gpr_6 + static_cast(15400)); + aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(6048), aot_gpr_6); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(3292))); - ctx.gpr[6] = (2225u << 16u); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(15488)); - aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(6056), ctx.gpr[6]); + aot_gpr_6 = (2225u << 16u); + aot_gpr_6 = (aot_gpr_6 + static_cast(15488)); + aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(6056), aot_gpr_6); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(3292))); - ctx.gpr[6] = (2225u << 16u); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(15556)); - aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(6064), ctx.gpr[6]); + aot_gpr_6 = (2225u << 16u); + aot_gpr_6 = (aot_gpr_6 + static_cast(15556)); + aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(6064), aot_gpr_6); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(3292))); - ctx.gpr[6] = (2225u << 16u); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(15672)); - aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(6072), ctx.gpr[6]); - ctx.gpr[6] = (2225u << 16u); + aot_gpr_6 = (2225u << 16u); + aot_gpr_6 = (aot_gpr_6 + static_cast(15672)); + aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(6072), aot_gpr_6); + aot_gpr_6 = (2225u << 16u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(3292))); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(15704)); + aot_gpr_6 = (aot_gpr_6 + static_cast(15704)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); aot_gpr_31 = (0x08B14304u); - aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(6080), ctx.gpr[6]); + aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(6080), aot_gpr_6); goto L_08B14310; L_08B14304: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -1334,7 +1335,7 @@ L_08B14304: AOT_REGCACHE_SYNC_OUT(); return; L_08B14310: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); goto L_08B1431C; L_08B1431C: @@ -1346,8 +1347,8 @@ L_08B14328: ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(3292))); ctx.gpr[7] = (ctx.gpr[7] + ctx.gpr[8]); ctx.gpr[11] = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(6004))); - ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(6012))); - ctx.gpr[11] = (static_cast(ctx.gpr[11]) < static_cast(ctx.gpr[2]) ? 1u : 0u); + aot_gpr_2 = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(6012))); + ctx.gpr[11] = (static_cast(ctx.gpr[11]) < static_cast(aot_gpr_2) ? 1u : 0u); { const bool branch_taken = ctx.gpr[11] == 0u; // nop if (branch_taken) { @@ -1357,7 +1358,7 @@ L_08B14328: } L_08B14344: ctx.gpr[10] = (ctx.gpr[7] + static_cast(6004)); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[10] + static_cast(0))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[10] + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[10] + static_cast(4))); ctx.gpr[7] = (ctx.gpr[7] + static_cast(6012)); ctx.gpr[11] = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(0))); @@ -1368,7 +1369,7 @@ L_08B14344: ctx.gpr[10] = (0u | 0u); ctx.gpr[7] = (ctx.gpr[7] + ctx.gpr[8]); ctx.gpr[7] = (ctx.gpr[7] + static_cast(6012)); - aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(0), ctx.gpr[6]); + aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(0), aot_gpr_6); aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(4), aot_gpr_5); goto L_08B1437C; L_08B1437C: @@ -1390,7 +1391,7 @@ L_08B1438C: goto L_08B14394; } L_08B14394: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[6]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_5); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -1400,39 +1401,39 @@ L_08B14394: AOT_REGCACHE_SYNC_OUT(); return; L_08B143A4: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1929)))))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(1929)))))); aot_gpr_5 = (aot_gpr_4 << 5u); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_17); - aot_gpr_17 = (aot_gpr_16 + aot_gpr_4); - aot_gpr_17 = (aot_gpr_17 + static_cast(1396)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[17]); + ctx.gpr[17] = (ctx.gpr[16] + aot_gpr_4); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1396)); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(2444))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(2440))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(2440))); aot_gpr_5 = (static_cast(static_cast(aot_gpr_4) >> 31u)); ctx.gpr[8] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), ctx.gpr[19]); aot_gpr_5 = (ctx.gpr[7] | 0u); - aot_gpr_4 = (ctx.gpr[6] | 0u); + aot_gpr_4 = (aot_gpr_6 | 0u); ctx.gpr[19] = (0u | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), std::bit_cast(aot_fpr_20)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_31); aot_gpr_31 = (0x08B14404u); - ctx.gpr[6] = (ctx.gpr[8] | 0u); + aot_gpr_6 = (ctx.gpr[8] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 178u, 0x08B60E84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B14404u) goto L_08B14404; AOT_REGCACHE_SYNC_OUT(); return; L_08B14404: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(2452))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(2448))); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(2460))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(2456))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(2456))); aot_gpr_5 = (ctx.gpr[3] & aot_gpr_5); - aot_gpr_4 = (ctx.gpr[2] & aot_gpr_4); - { const bool branch_taken = aot_gpr_4 != ctx.gpr[6]; + aot_gpr_4 = (aot_gpr_2 & aot_gpr_4); + { const bool branch_taken = aot_gpr_4 != aot_gpr_6; // nop if (branch_taken) { goto L_08B1442C; @@ -1449,20 +1450,20 @@ L_08B14424: } L_08B1442C: aot_gpr_31 = (0x08B14434u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B14434u) goto L_08B14434; + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B14434u) goto L_08B14434; AOT_REGCACHE_SYNC_OUT(); return; L_08B14434: aot_gpr_5 = (16457u << 16u); aot_gpr_5 = (aot_gpr_5 | 4059u); aot_fpr_12 = std::bit_cast(aot_gpr_5); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(8))); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(8))); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B14450u); aot_gpr_5 = (aot_gpr_29 | 0u); goto L_08B145B0; L_08B14450: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[18] == 0u; // nop if (branch_taken) { @@ -1471,13 +1472,13 @@ L_08B14450: goto L_08B1445C; } L_08B1445C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(92))); ctx.gpr[19] = (0u | 1u); aot_gpr_4 = (aot_gpr_4 + static_cast(240)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_5); - jump_target = ctx.gpr[6]; + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_5); + jump_target = aot_gpr_6; aot_gpr_31 = (0x08B1447Cu); aot_gpr_5 = (ctx.gpr[18] | 0u); ctx.pc = jump_target; @@ -1486,10 +1487,10 @@ L_08B1445C: L_08B1447C: aot_gpr_4 = (0u | 1u); aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-17963), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08B14494u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0057_entry, 57u, 594u, 0x088EB074u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B14494u) goto L_08B14494; AOT_REGCACHE_SYNC_OUT(); return; L_08B14494: @@ -1516,7 +1517,7 @@ L_08B144B0: goto L_08B144C0; } L_08B144C0: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B144CCu); aot_gpr_5 = (0u | 116u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 16u, 0x08860424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B144CCu) goto L_08B144CC; @@ -1531,23 +1532,23 @@ L_08B144CC: } L_08B144D4: aot_gpr_31 = (0x08B144DCu); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B144DCu) goto L_08B144DC; + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B144DCu) goto L_08B144DC; AOT_REGCACHE_SYNC_OUT(); return; L_08B144DC: aot_gpr_4 = (16329u << 16u); aot_gpr_4 = (aot_gpr_4 | 4059u); - aot_gpr_17 = (aot_gpr_29 + static_cast(4)); + ctx.gpr[17] = (aot_gpr_29 + static_cast(4)); aot_fpr_12 = std::bit_cast(aot_gpr_4); - ctx.gpr[6] = (16544u << 16u); - aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(8))); - aot_fpr_13 = std::bit_cast(ctx.gpr[6]); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_6 = (16544u << 16u); + aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(8))); + aot_fpr_13 = std::bit_cast(aot_gpr_6); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B14504u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); goto L_08B147E4; L_08B14504: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[18] == 0u; // nop if (branch_taken) { @@ -1556,13 +1557,13 @@ L_08B14504: goto L_08B14510; } L_08B14510: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(92))); ctx.gpr[19] = (0u | 1u); aot_gpr_4 = (aot_gpr_4 + static_cast(240)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_5); - jump_target = ctx.gpr[6]; + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_5); + jump_target = aot_gpr_6; aot_gpr_31 = (0x08B14530u); aot_gpr_5 = (ctx.gpr[18] | 0u); ctx.pc = jump_target; @@ -1582,12 +1583,12 @@ L_08B1453C: aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_5 = (aot_gpr_5 | 4059u); aot_fpr_12 = std::bit_cast(aot_gpr_5); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B14558u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); goto L_08B145B0; L_08B14558: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[18] == 0u; // nop if (branch_taken) { @@ -1596,13 +1597,13 @@ L_08B14558: goto L_08B14564; } L_08B14564: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(92))); ctx.gpr[19] = (0u | 1u); aot_gpr_4 = (aot_gpr_4 + static_cast(240)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_5); - jump_target = ctx.gpr[6]; + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_5); + jump_target = aot_gpr_6; aot_gpr_31 = (0x08B14584u); aot_gpr_5 = (ctx.gpr[18] | 0u); ctx.pc = jump_target; @@ -1613,12 +1614,12 @@ L_08B14584: aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-17963), static_cast(aot_gpr_4)); goto L_08B1458C; L_08B1458C: - ctx.gpr[2] = (ctx.gpr[19] | 0u); + aot_gpr_2 = (ctx.gpr[19] | 0u); { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(8), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); - aot_gpr_16 = aot_run_words[1]; - aot_gpr_17 = aot_run_words[2]; + ctx.gpr[16] = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; ctx.gpr[19] = aot_run_words[4]; aot_gpr_31 = aot_run_words[5]; @@ -1633,12 +1634,12 @@ L_08B145B0: aot_gpr_29 = (aot_gpr_29 + static_cast(-80)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), std::bit_cast(aot_fpr_20)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), std::bit_cast(ctx.fpr[22])); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), ctx.gpr[16]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), ctx.gpr[17]); ctx.fpr[22] = std::bit_cast(std::bit_cast(aot_fpr_12)); - aot_gpr_17 = (aot_gpr_4 | 0u); + ctx.gpr[17] = (aot_gpr_4 | 0u); aot_fpr_20 = std::bit_cast(std::bit_cast(aot_fpr_13)); - aot_gpr_16 = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), std::bit_cast(ctx.fpr[24])); { const std::uint32_t aot_run_words[6]{ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(52), aot_run_words); } @@ -1651,7 +1652,7 @@ L_08B145B0: ctx.gpr[18] = (0u | 0u); goto L_08B1460C; L_08B1460C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(3292))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(3292))); aot_gpr_4 = (aot_gpr_4 + static_cast(6000)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); @@ -1686,7 +1687,7 @@ L_08B14654: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[22])) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (branch_taken) { goto L_08B14758; } @@ -1695,11 +1696,11 @@ L_08B14654: L_08B1466C: aot_gpr_5 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08B14678u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 571u, 0x089068C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B14678u) goto L_08B14678; AOT_REGCACHE_SYNC_OUT(); return; L_08B14678: - if (ctx.gpr[2] == 0u) { + if (aot_gpr_2 == 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); goto L_08B1475C; } @@ -1719,20 +1720,20 @@ L_08B14680: const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(1929)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(1929)))))); aot_gpr_5 = (aot_gpr_4 << 5u); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); - ctx.gpr[6] = (aot_gpr_17 + aot_gpr_4); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(1396)); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_6 = (ctx.gpr[17] + aot_gpr_4); + aot_gpr_6 = (aot_gpr_6 + static_cast(1396)); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08B146B4u); ctx.gpr[7] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0081_entry, 81u, 385u, 0x08949B54u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B146B4u) goto L_08B146B4; AOT_REGCACHE_SYNC_OUT(); return; L_08B146B4: - if (ctx.gpr[2] == 0u) { + if (aot_gpr_2 == 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); goto L_08B1475C; } @@ -1744,12 +1745,12 @@ L_08B146BC: aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); if (aot_gpr_4 == 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(3292))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(3292))); goto L_08B146F8; } goto L_08B146D8; L_08B146D8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(3292))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(3292))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(2208))); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[18]); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(6004))); @@ -1760,13 +1761,13 @@ L_08B146D8: } goto L_08B146F4; L_08B146F4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(3292))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(3292))); goto L_08B146F8; L_08B146F8: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); - ctx.gpr[6] = (aot_gpr_4 + ctx.gpr[18]); + aot_gpr_6 = (aot_gpr_4 + ctx.gpr[18]); aot_gpr_4 = (aot_gpr_5 + static_cast(8)); - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(6008))); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(6008))); jump_target = aot_gpr_5; aot_gpr_31 = (0x08B14710u); // nop @@ -1774,7 +1775,7 @@ L_08B146F8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B14710u) goto L_08B14710; AOT_REGCACHE_SYNC_OUT(); return; L_08B14710: - if (ctx.gpr[2] == 0u) { + if (aot_gpr_2 == 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); goto L_08B1475C; } @@ -1803,13 +1804,13 @@ L_08B14748: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); ctx.fpr[24] = std::bit_cast(std::bit_cast(aot_fpr_12)); ctx.gpr[22] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), ctx.gpr[21]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), ctx.gpr[21]); goto L_08B14758; L_08B14758: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); goto L_08B1475C; L_08B1475C: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(3292))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(3292))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_5 = (aot_gpr_5 + static_cast(6000)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_4); @@ -1853,14 +1854,14 @@ L_08B1479C: goto L_08B147AC; } L_08B147AC: - ctx.gpr[2] = (ctx.gpr[22] | 0u); + aot_gpr_2 = (ctx.gpr[22] | 0u); { std::uint32_t aot_run_words[11]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(32), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); - aot_gpr_16 = aot_run_words[3]; - aot_gpr_17 = aot_run_words[4]; + ctx.gpr[16] = aot_run_words[3]; + ctx.gpr[17] = aot_run_words[4]; ctx.gpr[18] = aot_run_words[5]; ctx.gpr[19] = aot_run_words[6]; ctx.gpr[20] = aot_run_words[7]; @@ -1877,16 +1878,16 @@ L_08B147AC: L_08B147E4: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), std::bit_cast(aot_fpr_20)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[16]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[17]); aot_fpr_20 = std::bit_cast(std::bit_cast(aot_fpr_12)); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(3292))); - aot_gpr_17 = (aot_gpr_4 | 0u); - aot_gpr_16 = (aot_gpr_5 | 0u); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(3292))); + ctx.gpr[17] = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), std::bit_cast(ctx.fpr[22])); { const std::uint32_t aot_run_words[4]{ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(24), aot_run_words); } - aot_gpr_4 = (ctx.gpr[6] + static_cast(6000)); + aot_gpr_4 = (aot_gpr_6 + static_cast(6000)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); ctx.fpr[22] = std::bit_cast(std::bit_cast(aot_fpr_13)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); @@ -1944,12 +1945,12 @@ L_08B14884: goto L_08B148A0; } L_08B148A0: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(3292))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(2208))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(3292))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(2208))); aot_gpr_5 = (aot_gpr_5 + ctx.gpr[19]); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(6004))); - ctx.gpr[6] = (static_cast(ctx.gpr[6]) < static_cast(ctx.gpr[7]) ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_6 = (static_cast(aot_gpr_6) < static_cast(ctx.gpr[7]) ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 == 0u; // nop if (branch_taken) { goto L_08B148D0; @@ -1965,7 +1966,7 @@ L_08B148BC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B148C8u) goto L_08B148C8; AOT_REGCACHE_SYNC_OUT(); return; L_08B148C8: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); if (branch_taken) { goto L_08B148D4; @@ -1973,7 +1974,7 @@ L_08B148C8: goto L_08B148D0; } L_08B148D0: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), ctx.gpr[20]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), ctx.gpr[20]); goto L_08B148D4; L_08B148D4: ctx.gpr[20] = (ctx.gpr[20] + static_cast(1)); @@ -1986,13 +1987,13 @@ L_08B148D4: goto L_08B148E4; } L_08B148E4: - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(3292))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(3292))); goto L_08B148E8; L_08B148E8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); goto L_08B148EC; L_08B148EC: - aot_gpr_5 = (ctx.gpr[6] + static_cast(6000)); + aot_gpr_5 = (aot_gpr_6 + static_cast(6000)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_4); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); @@ -2008,13 +2009,13 @@ L_08B148EC: goto L_08B14914; } L_08B14914: - ctx.gpr[2] = (ctx.gpr[18] | 0u); + aot_gpr_2 = (ctx.gpr[18] | 0u); { std::uint32_t aot_run_words[8]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(8), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); - aot_gpr_16 = aot_run_words[2]; - aot_gpr_17 = aot_run_words[3]; + ctx.gpr[16] = aot_run_words[2]; + ctx.gpr[17] = aot_run_words[3]; ctx.gpr[18] = aot_run_words[4]; ctx.gpr[19] = aot_run_words[5]; ctx.gpr[20] = aot_run_words[6]; @@ -2028,32 +2029,32 @@ L_08B14914: AOT_REGCACHE_SYNC_OUT(); return; L_08B14940: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(3292))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(3292))); aot_gpr_4 = (aot_gpr_4 + static_cast(6000)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_5); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_4 ^ ctx.gpr[6]); + aot_gpr_5 = (aot_gpr_4 ^ aot_gpr_6); aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); aot_gpr_5 = (aot_gpr_5 & 255u); { const bool branch_taken = aot_gpr_5 == 0u; - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[6]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_6); if (branch_taken) { goto L_08B14A14; } goto L_08B14984; } L_08B14984: - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); goto L_08B14988; L_08B14988: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(72))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(72))); aot_gpr_5 = (aot_gpr_5 & 14u); aot_gpr_5 = (aot_gpr_5 ^ 6u); aot_gpr_5 = (aot_gpr_5 < static_cast(1) ? 1u : 0u); @@ -2069,7 +2070,7 @@ L_08B149A4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0195_entry, 195u, 776u, 0x08B13E34u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B149ACu) goto L_08B149AC; AOT_REGCACHE_SYNC_OUT(); return; L_08B149AC: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08B149E0; @@ -2077,8 +2078,8 @@ L_08B149AC: goto L_08B149B4; } L_08B149B4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2076))); - { const bool branch_taken = aot_gpr_17 == aot_gpr_4; + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2076))); + { const bool branch_taken = ctx.gpr[17] == aot_gpr_4; // nop if (branch_taken) { goto L_08B149E0; @@ -2095,8 +2096,8 @@ L_08B149C0: goto L_08B149CC; } L_08B149CC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(3332))); - { const bool branch_taken = aot_gpr_17 == aot_gpr_4; + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(3332))); + { const bool branch_taken = ctx.gpr[17] == aot_gpr_4; // nop if (branch_taken) { goto L_08B149E0; @@ -2105,7 +2106,7 @@ L_08B149CC: } L_08B149D8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_08B14A18; } @@ -2116,7 +2117,7 @@ L_08B149E0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); goto L_08B149E8; L_08B149E8: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(3292))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(3292))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_4); aot_gpr_4 = (aot_gpr_5 + static_cast(6000)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); @@ -2126,18 +2127,18 @@ L_08B149E8: aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); aot_gpr_5 = (aot_gpr_5 & 255u); if (aot_gpr_5 != 0u) { - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); goto L_08B14988; } goto L_08B14A14; L_08B14A14: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_08B14A18; L_08B14A18: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(8), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -2148,29 +2149,29 @@ L_08B14A18: AOT_REGCACHE_SYNC_OUT(); return; L_08B14A2C: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(3292))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(3292))); aot_gpr_4 = (aot_gpr_4 + static_cast(6000)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_5); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_4 ^ ctx.gpr[6]); + aot_gpr_5 = (aot_gpr_4 ^ aot_gpr_6); aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); aot_gpr_5 = (aot_gpr_5 & 255u); { const bool branch_taken = aot_gpr_5 == 0u; - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[6]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_6); if (branch_taken) { goto L_08B14AF4; } goto L_08B14A70; } L_08B14A70: - aot_gpr_17 = (0u | 1u); + ctx.gpr[17] = (0u | 1u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); goto L_08B14A78; L_08B14A78: @@ -2192,7 +2193,7 @@ L_08B14A94: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0195_entry, 195u, 776u, 0x08B13E34u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B14A9Cu) goto L_08B14A9C; AOT_REGCACHE_SYNC_OUT(); return; L_08B14A9C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); if (branch_taken) { goto L_08B14AAC; @@ -2200,11 +2201,11 @@ L_08B14A9C: goto L_08B14AA4; } L_08B14AA4: - aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(32), static_cast(aot_gpr_17)); + aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(32), static_cast(ctx.gpr[17])); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); goto L_08B14AAC; L_08B14AAC: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(3292))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(3292))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); { const bool branch_taken = 0u == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(6000)); @@ -2214,8 +2215,8 @@ L_08B14AAC: goto L_08B14ABC; } L_08B14ABC: - aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(32), static_cast(aot_gpr_17)); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(3292))); + aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(32), static_cast(ctx.gpr[17])); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(3292))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); aot_gpr_5 = (aot_gpr_5 + static_cast(6000)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); @@ -2236,8 +2237,8 @@ L_08B14AD0: L_08B14AF4: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(8), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -2248,29 +2249,29 @@ L_08B14AF4: AOT_REGCACHE_SYNC_OUT(); return; L_08B14B08: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(3292))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(3292))); aot_gpr_4 = (aot_gpr_4 + static_cast(6000)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_5); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_4 ^ ctx.gpr[6]); + aot_gpr_5 = (aot_gpr_4 ^ aot_gpr_6); aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); aot_gpr_5 = (aot_gpr_5 & 255u); { const bool branch_taken = aot_gpr_5 == 0u; - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[6]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_6); if (branch_taken) { goto L_08B14BC4; } goto L_08B14B4C; } L_08B14B4C: - aot_gpr_17 = (0u | 1u); + ctx.gpr[17] = (0u | 1u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); goto L_08B14B54; L_08B14B54: @@ -2292,7 +2293,7 @@ L_08B14B70: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0195_entry, 195u, 776u, 0x08B13E34u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B14B78u) goto L_08B14B78; AOT_REGCACHE_SYNC_OUT(); return; L_08B14B78: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); if (branch_taken) { goto L_08B14B94; @@ -2300,7 +2301,7 @@ L_08B14B78: goto L_08B14B80; } L_08B14B80: - aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(32), static_cast(aot_gpr_17)); + aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(32), static_cast(ctx.gpr[17])); { const bool branch_taken = 0u == 0u; aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); if (branch_taken) { @@ -2309,12 +2310,12 @@ L_08B14B80: goto L_08B14B8C; } L_08B14B8C: - aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(32), static_cast(aot_gpr_17)); + aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(32), static_cast(ctx.gpr[17])); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); goto L_08B14B94; L_08B14B94: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(3292))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(3292))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_4); aot_gpr_4 = (aot_gpr_5 + static_cast(6000)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); @@ -2331,8 +2332,8 @@ L_08B14B94: L_08B14BC4: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(8), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -2346,7 +2347,7 @@ L_08B14BD8: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), ctx.gpr[18]); ctx.gpr[18] = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(3292))); - { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_20), aot_gpr_16, aot_gpr_17}; + { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_20), ctx.gpr[16], ctx.gpr[17]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(24), aot_run_words); } { const std::uint32_t aot_run_words[7]{ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(40), aot_run_words); } @@ -2363,7 +2364,7 @@ L_08B14C18: aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); aot_gpr_31 = (0x08B14C38u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B14C38u) goto L_08B14C38; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B14C38u) goto L_08B14C38; AOT_REGCACHE_SYNC_OUT(); return; L_08B14C38: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[28] + static_cast(-13362)))))); @@ -2372,7 +2373,7 @@ L_08B14C38: aot_gpr_4 = (16880u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(8))); + aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(8))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_20 < aot_fpr_12)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); @@ -2397,14 +2398,14 @@ L_08B14C78: ctx.gpr[23] = (0u | 48u); ctx.gpr[22] = (0u | 46u); ctx.gpr[21] = (0u | 6u); - aot_gpr_17 = (ctx.gpr[18] | 0u); + ctx.gpr[17] = (ctx.gpr[18] | 0u); ctx.gpr[20] = (512u << 16u); goto L_08B14C8C; L_08B14C8C: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1784))); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2228))); - ctx.gpr[6] = (0u | 57u); - { const bool branch_taken = aot_gpr_4 == ctx.gpr[6]; + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1784))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2228))); + aot_gpr_6 = (0u | 57u); + { const bool branch_taken = aot_gpr_4 == aot_gpr_6; aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-1040))); if (branch_taken) { goto L_08B14CAC; @@ -2412,8 +2413,8 @@ L_08B14C8C: goto L_08B14CA0; } L_08B14CA0: - ctx.gpr[6] = (0u | 58u); - { const bool branch_taken = aot_gpr_4 != ctx.gpr[6]; + aot_gpr_6 = (0u | 58u); + { const bool branch_taken = aot_gpr_4 != aot_gpr_6; // nop if (branch_taken) { goto L_08B14CD4; @@ -2429,8 +2430,8 @@ L_08B14CAC: goto L_08B14CB4; } L_08B14CB4: - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(2076))); - { const bool branch_taken = aot_gpr_16 == ctx.gpr[6]; + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(2076))); + { const bool branch_taken = ctx.gpr[16] == aot_gpr_6; // nop if (branch_taken) { goto L_08B14CD4; @@ -2446,8 +2447,8 @@ L_08B14CC0: goto L_08B14CC8; } L_08B14CC8: - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(3332))); - { const bool branch_taken = aot_gpr_16 != ctx.gpr[6]; + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(3332))); + { const bool branch_taken = ctx.gpr[16] != aot_gpr_6; // nop if (branch_taken) { goto L_08B14D50; @@ -2488,17 +2489,17 @@ L_08B14CEC: } L_08B14CF4: aot_gpr_31 = (0x08B14CFCu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 195u, 0x08910B38u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B14CFCu) goto L_08B14CFC; AOT_REGCACHE_SYNC_OUT(); return; L_08B14CFC: - if (ctx.gpr[2] == 0u) { - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(676))); + if (aot_gpr_2 == 0u) { + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(676))); goto L_08B14D20; } goto L_08B14D04; L_08B14D04: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1152))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1152))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -2516,11 +2517,11 @@ L_08B14D10: goto L_08B14D1C; } L_08B14D1C: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(676))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(676))); goto L_08B14D20; L_08B14D20: { const bool branch_taken = aot_gpr_5 != ctx.gpr[18]; - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(468))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(468))); if (branch_taken) { goto L_08B14D34; } @@ -2548,7 +2549,7 @@ L_08B14D40: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_31 = (0x08B14D50u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0195_entry, 195u, 804u, 0x08B13F8Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B14D50u) goto L_08B14D50; AOT_REGCACHE_SYNC_OUT(); return; L_08B14D50: @@ -2556,7 +2557,7 @@ L_08B14D50: ctx.gpr[19] = (ctx.gpr[19] + static_cast(1)); aot_gpr_4 = (static_cast(ctx.gpr[19]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(4)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(4)); if (branch_taken) { goto L_08B14C8C; } @@ -2573,9 +2574,9 @@ L_08B14D64: L_08B14D6C: ctx.gpr[20] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15976))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(8))); - aot_gpr_17 = (aot_gpr_4 + static_cast(-1)); + ctx.gpr[17] = (aot_gpr_4 + static_cast(-1)); { const bool branch_taken = aot_gpr_4 == 0u; - ctx.gpr[21] = (aot_gpr_17 | 0u); + ctx.gpr[21] = (ctx.gpr[17] | 0u); if (branch_taken) { goto L_08B14EC0; } @@ -2583,14 +2584,14 @@ L_08B14D6C: } L_08B14D80: aot_gpr_4 = (0u + static_cast(3344)); - { const std::int64_t product = static_cast(static_cast(aot_gpr_17)) * static_cast(static_cast(aot_gpr_4)); ctx.lo = static_cast(product); ctx.hi = static_cast(static_cast(product) >> 32u); } + { const std::int64_t product = static_cast(static_cast(ctx.gpr[17])) * static_cast(static_cast(aot_gpr_4)); ctx.lo = static_cast(product); ctx.hi = static_cast(static_cast(product) >> 32u); } ctx.gpr[30] = (0u | 46u); ctx.gpr[23] = (0u | 6u); ctx.gpr[22] = (512u << 16u); ctx.gpr[19] = (ctx.lo); goto L_08B14D98; L_08B14D98: - { const bool branch_taken = static_cast(aot_gpr_17) < 0; + { const bool branch_taken = static_cast(ctx.gpr[17]) < 0; // nop if (branch_taken) { goto L_08B14DB0; @@ -2599,7 +2600,7 @@ L_08B14D98: } L_08B14DA0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(8))); - aot_gpr_4 = (static_cast(aot_gpr_17) < static_cast(aot_gpr_4) ? 1u : 0u); + aot_gpr_4 = (static_cast(ctx.gpr[17]) < static_cast(aot_gpr_4) ? 1u : 0u); if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(4))); goto L_08B14DB8; @@ -2614,7 +2615,7 @@ L_08B14DB0: goto L_08B14DB8; } L_08B14DB8: - aot_gpr_4 = (aot_gpr_4 + aot_gpr_17); + aot_gpr_4 = (aot_gpr_4 + ctx.gpr[17]); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0))); aot_gpr_4 = (aot_gpr_4 & 128u); if (aot_gpr_4 == 0u) { @@ -2634,8 +2635,8 @@ L_08B14DD4: aot_gpr_4 = (aot_gpr_4 + ctx.gpr[19]); goto L_08B14DD8; L_08B14DD8: - aot_gpr_16 = (aot_gpr_4 | 0u); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_gpr_4 | 0u); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08B14EAC; @@ -2651,10 +2652,10 @@ L_08B14DE4: goto L_08B14DEC; } L_08B14DEC: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2228))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2228))); ctx.gpr[7] = (0u | 57u); { const bool branch_taken = aot_gpr_5 == ctx.gpr[7]; - ctx.gpr[6] = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-1040))); + aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-1040))); if (branch_taken) { goto L_08B14E08; } @@ -2670,7 +2671,7 @@ L_08B14DFC: goto L_08B14E08; } L_08B14E08: - { const bool branch_taken = ctx.gpr[6] == 0u; + { const bool branch_taken = aot_gpr_6 == 0u; // nop if (branch_taken) { goto L_08B14E1C; @@ -2687,7 +2688,7 @@ L_08B14E10: goto L_08B14E1C; } L_08B14E1C: - { const bool branch_taken = ctx.gpr[6] != 0u; + { const bool branch_taken = aot_gpr_6 != 0u; // nop if (branch_taken) { goto L_08B14EAC; @@ -2704,7 +2705,7 @@ L_08B14E24: goto L_08B14E30; } L_08B14E30: - { const bool branch_taken = ctx.gpr[6] != 0u; + { const bool branch_taken = aot_gpr_6 != 0u; aot_gpr_4 = (0u | 45u); if (branch_taken) { goto L_08B14E50; @@ -2737,17 +2738,17 @@ L_08B14E48: } L_08B14E50: aot_gpr_31 = (0x08B14E58u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 195u, 0x08910B38u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B14E58u) goto L_08B14E58; AOT_REGCACHE_SYNC_OUT(); return; L_08B14E58: - if (ctx.gpr[2] == 0u) { - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(676))); + if (aot_gpr_2 == 0u) { + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(676))); goto L_08B14E7C; } goto L_08B14E60; L_08B14E60: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1152))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1152))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -2765,11 +2766,11 @@ L_08B14E6C: goto L_08B14E78; } L_08B14E78: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(676))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(676))); goto L_08B14E7C; L_08B14E7C: { const bool branch_taken = aot_gpr_5 != ctx.gpr[18]; - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(468))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(468))); if (branch_taken) { goto L_08B14E90; } @@ -2797,13 +2798,13 @@ L_08B14E9C: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_31 = (0x08B14EACu); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0195_entry, 195u, 804u, 0x08B13F8Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B14EACu) goto L_08B14EAC; AOT_REGCACHE_SYNC_OUT(); return; L_08B14EAC: - aot_gpr_4 = (aot_gpr_17 | 0u); - aot_gpr_17 = (ctx.gpr[21] + static_cast(-1)); - ctx.gpr[21] = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); + ctx.gpr[17] = (ctx.gpr[21] + static_cast(-1)); + ctx.gpr[21] = (ctx.gpr[17] | 0u); { const bool branch_taken = aot_gpr_4 != 0u; ctx.gpr[19] = (ctx.gpr[19] + static_cast(-3344)); if (branch_taken) { @@ -2840,33 +2841,33 @@ L_08B14EDC: ctx.gpr[20] = (ctx.gpr[20] + static_cast(-28736)); goto L_08B14EF0; L_08B14EF0: - aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(0))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(0))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(96))); { const bool branch_taken = aot_gpr_5 != 0u; - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(112))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(112))); if (branch_taken) { goto L_08B14F20; } goto L_08B14F00; } L_08B14F00: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(10)))))); - ctx.gpr[6] = (aot_gpr_29 + static_cast(17)); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(10)))))); + aot_gpr_6 = (aot_gpr_29 + static_cast(17)); aot_gpr_31 = (0x08B14F10u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B14F10u) goto L_08B14F10; AOT_REGCACHE_SYNC_OUT(); return; L_08B14F10: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(96), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(17))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(4), static_cast(aot_gpr_4)); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(96))); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(4), static_cast(aot_gpr_4)); goto L_08B14F20; L_08B14F20: aot_gpr_4 = (aot_gpr_5 + static_cast(180)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0))); - ctx.gpr[6] = (0u | 57u); - if (aot_gpr_4 == ctx.gpr[6]) { + aot_gpr_6 = (0u | 57u); + if (aot_gpr_4 == aot_gpr_6) { aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-1040))); goto L_08B14F74; } @@ -2880,23 +2881,23 @@ L_08B14F34: goto L_08B14F3C; } L_08B14F3C: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(10)))))); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(10)))))); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B14F4Cu); - ctx.gpr[6] = (ctx.gpr[30] | 0u); + aot_gpr_6 = (ctx.gpr[30] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B14F4Cu) goto L_08B14F4C; AOT_REGCACHE_SYNC_OUT(); return; L_08B14F4C: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(96), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(18))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(4), static_cast(aot_gpr_4)); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(96))); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_gpr_5 + static_cast(180)); goto L_08B14F60; L_08B14F60: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0))); - ctx.gpr[6] = (0u | 58u); - { const bool branch_taken = aot_gpr_4 != ctx.gpr[6]; + aot_gpr_6 = (0u | 58u); + { const bool branch_taken = aot_gpr_4 != aot_gpr_6; // nop if (branch_taken) { goto L_08B14F9C; @@ -2915,8 +2916,8 @@ L_08B14F74: goto L_08B14F7C; } L_08B14F7C: - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(2076))); - { const bool branch_taken = aot_gpr_17 == ctx.gpr[6]; + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(2076))); + { const bool branch_taken = ctx.gpr[17] == aot_gpr_6; // nop if (branch_taken) { goto L_08B14F9C; @@ -2933,7 +2934,7 @@ L_08B14F88: } L_08B14F90: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(3332))); - { const bool branch_taken = aot_gpr_17 != aot_gpr_4; + { const bool branch_taken = ctx.gpr[17] != aot_gpr_4; // nop if (branch_taken) { goto L_08B150B8; @@ -2958,23 +2959,23 @@ L_08B14FA8: goto L_08B14FB0; } L_08B14FB0: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(10)))))); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(10)))))); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B14FC0u); - ctx.gpr[6] = (ctx.gpr[23] | 0u); + aot_gpr_6 = (ctx.gpr[23] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B14FC0u) goto L_08B14FC0; AOT_REGCACHE_SYNC_OUT(); return; L_08B14FC0: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(96), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(19))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(4), static_cast(aot_gpr_4)); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(96))); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_gpr_5 + static_cast(180)); goto L_08B14FD4; L_08B14FD4: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0))); - ctx.gpr[6] = (0u | 45u); - { const bool branch_taken = aot_gpr_4 == ctx.gpr[6]; + aot_gpr_6 = (0u | 45u); + { const bool branch_taken = aot_gpr_4 == aot_gpr_6; // nop if (branch_taken) { goto L_08B150B8; @@ -2990,23 +2991,23 @@ L_08B14FE4: goto L_08B14FEC; } L_08B14FEC: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(10)))))); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(10)))))); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B14FFCu); - ctx.gpr[6] = (ctx.gpr[22] | 0u); + aot_gpr_6 = (ctx.gpr[22] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B14FFCu) goto L_08B14FFC; AOT_REGCACHE_SYNC_OUT(); return; L_08B14FFC: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(96), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(20))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(4), static_cast(aot_gpr_4)); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(96))); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_gpr_5 + static_cast(180)); goto L_08B15010; L_08B15010: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0))); - ctx.gpr[6] = (0u | 48u); - { const bool branch_taken = aot_gpr_4 == ctx.gpr[6]; + aot_gpr_6 = (0u | 48u); + { const bool branch_taken = aot_gpr_4 == aot_gpr_6; // nop if (branch_taken) { goto L_08B150B8; @@ -3022,17 +3023,17 @@ L_08B15020: goto L_08B15028; } L_08B15028: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(10)))))); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(10)))))); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B15038u); - ctx.gpr[6] = (ctx.gpr[21] | 0u); + aot_gpr_6 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B15038u) goto L_08B15038; AOT_REGCACHE_SYNC_OUT(); return; L_08B15038: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(96), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(21))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(4), static_cast(aot_gpr_4)); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(96))); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_gpr_5 + static_cast(180)); goto L_08B1504C; L_08B1504C: @@ -3047,11 +3048,11 @@ L_08B1504C: } L_08B1505C: aot_gpr_31 = (0x08B15064u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 58u, 0x08AD0600u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B15064u) goto L_08B15064; AOT_REGCACHE_SYNC_OUT(); return; L_08B15064: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08B150B8; @@ -3072,19 +3073,19 @@ L_08B1506C: } L_08B15084: aot_gpr_31 = (0x08B1508Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 597u, 0x089D3458u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1508Cu) goto L_08B1508C; AOT_REGCACHE_SYNC_OUT(); return; L_08B1508C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(100))); - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (aot_gpr_2 | 0u); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(52))); aot_gpr_31 = (0x08B150A0u); aot_gpr_4 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 101u, 0x08ADC560u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B150A0u) goto L_08B150A0; AOT_REGCACHE_SYNC_OUT(); return; L_08B150A0: - { const bool branch_taken = aot_gpr_16 == ctx.gpr[2]; + { const bool branch_taken = ctx.gpr[16] == aot_gpr_2; // nop if (branch_taken) { goto L_08B150B8; @@ -3095,7 +3096,7 @@ L_08B150A8: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_31 = (0x08B150B8u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0195_entry, 195u, 804u, 0x08B13F8Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B150B8u) goto L_08B150B8; AOT_REGCACHE_SYNC_OUT(); return; L_08B150B8: @@ -3109,17 +3110,17 @@ L_08B150B8: goto L_08B150C8; } L_08B150C8: - aot_gpr_16 = (0u | 0u); - aot_gpr_17 = (ctx.gpr[18] | 0u); + ctx.gpr[16] = (0u | 0u); + ctx.gpr[17] = (ctx.gpr[18] | 0u); goto L_08B150D0; L_08B150D0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15960))); aot_gpr_31 = (0x08B150DCu); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(3176))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(3176))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 445u, 0x08B65D28u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B150DCu) goto L_08B150DC; AOT_REGCACHE_SYNC_OUT(); return; L_08B150DC: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -3147,10 +3148,10 @@ L_08B15100: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0195_entry, 195u, 804u, 0x08B13F8Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B15110u) goto L_08B15110; AOT_REGCACHE_SYNC_OUT(); return; L_08B15110: - aot_gpr_16 = (aot_gpr_16 + static_cast(1)); - aot_gpr_4 = (static_cast(aot_gpr_16) < 4 ? 1u : 0u); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(1)); + aot_gpr_4 = (static_cast(ctx.gpr[16]) < 4 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(4)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(4)); if (branch_taken) { goto L_08B150D0; } @@ -3173,13 +3174,13 @@ L_08B1513C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_4 = (aot_gpr_5 ^ aot_gpr_4); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); - ctx.gpr[2] = (aot_gpr_4 & 255u); - ctx.gpr[2] = (ctx.gpr[2] < static_cast(1) ? 1u : 0u); + aot_gpr_2 = (aot_gpr_4 & 255u); + aot_gpr_2 = (aot_gpr_2 < static_cast(1) ? 1u : 0u); { std::uint32_t aot_run_words[11]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(24), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); - aot_gpr_16 = aot_run_words[1]; - aot_gpr_17 = aot_run_words[2]; + ctx.gpr[16] = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; ctx.gpr[19] = aot_run_words[4]; ctx.gpr[20] = aot_run_words[5]; @@ -3197,26 +3198,26 @@ L_08B1513C: AOT_REGCACHE_SYNC_OUT(); return; L_08B15190: aot_gpr_29 = (aot_gpr_29 + static_cast(-80)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(60), aot_gpr_17); - aot_gpr_17 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(60), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), aot_gpr_31); aot_gpr_31 = (0x08B151B0u); - aot_gpr_16 = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); goto L_08B14BD8; L_08B151B0: aot_gpr_31 = (0x08B151B8u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); goto L_08B14940; L_08B151B8: - if (ctx.gpr[2] == 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(3292))); + if (aot_gpr_2 == 0u) { + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(3292))); goto L_08B151EC; } goto L_08B151C0; L_08B151C0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(2228))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(2228))); aot_gpr_5 = (0u | 17u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -3227,11 +3228,11 @@ L_08B151C0: } L_08B151D0: aot_gpr_31 = (0x08B151D8u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); goto L_08B14A2C; L_08B151D8: { const bool branch_taken = 0u == 0u; - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(3292))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(3292))); if (branch_taken) { goto L_08B151EC; } @@ -3239,10 +3240,10 @@ L_08B151D8: } L_08B151E0: aot_gpr_31 = (0x08B151E8u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); goto L_08B14B08; L_08B151E8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(3292))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(3292))); goto L_08B151EC; L_08B151EC: aot_gpr_4 = (aot_gpr_4 + static_cast(6000)); @@ -3258,9 +3259,9 @@ L_08B151EC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(52))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(28))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(28))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(48), static_cast(0u)); - aot_gpr_5 = (aot_gpr_5 ^ ctx.gpr[6]); + aot_gpr_5 = (aot_gpr_5 ^ aot_gpr_6); aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); aot_gpr_5 = (aot_gpr_5 & 255u); { const bool branch_taken = aot_gpr_5 == 0u; @@ -3272,10 +3273,10 @@ L_08B151EC: } L_08B1523C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(52))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(28))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(28))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), aot_gpr_5); - aot_gpr_5 = (aot_gpr_5 ^ ctx.gpr[6]); + aot_gpr_5 = (aot_gpr_5 ^ aot_gpr_6); aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); aot_gpr_5 = (aot_gpr_5 & 255u); { const bool branch_taken = aot_gpr_5 != 0u; @@ -3295,7 +3296,7 @@ L_08B15260: goto L_08B1526C; } L_08B1526C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(3292))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(3292))); aot_gpr_4 = (aot_gpr_4 + static_cast(6000)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); @@ -3314,7 +3315,7 @@ L_08B1526C: } L_08B1529C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(2076))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(2076))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); { const bool branch_taken = aot_gpr_5 == aot_gpr_4; // nop @@ -3331,16 +3332,16 @@ L_08B152B0: } goto L_08B152BC; L_08B152BC: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(3332))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(3332))); if (aot_gpr_5 != aot_gpr_4) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); goto L_08B15460; } goto L_08B152C8; L_08B152C8: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); { const bool branch_taken = static_cast(aot_gpr_4) > 0; - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); if (branch_taken) { goto L_08B152E4; } @@ -3383,7 +3384,7 @@ L_08B152F8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); goto L_08B152FC; L_08B152FC: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(3292))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(3292))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_5 = (aot_gpr_5 + static_cast(6000)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_4); @@ -3401,14 +3402,14 @@ L_08B152FC: goto L_08B1532C; } L_08B1532C: - if (aot_gpr_16 == 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(3292))); + if (ctx.gpr[16] == 0u) { + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(3292))); goto L_08B1533C; } goto L_08B15334; L_08B15334: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08B15494; } @@ -3417,7 +3418,7 @@ L_08B15334: L_08B1533C: aot_gpr_4 = (aot_gpr_4 + static_cast(6000)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - aot_gpr_16 = (0u | 1u); + ctx.gpr[16] = (0u | 1u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); @@ -3425,15 +3426,15 @@ L_08B1533C: goto L_08B15358; L_08B15358: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(16))); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_gpr_31 = (0x08B15370u); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 579u, 0x089069ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B15370u) goto L_08B15370; AOT_REGCACHE_SYNC_OUT(); return; L_08B15370: - if (ctx.gpr[2] == 0u) { + if (aot_gpr_2 == 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); goto L_08B152FC; } @@ -3456,7 +3457,7 @@ L_08B1538C: goto L_08B15394; } L_08B15394: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(3292))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(3292))); goto L_08B15398; L_08B15398: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); @@ -3473,21 +3474,21 @@ L_08B15398: } goto L_08B153C0; L_08B153C0: - if (aot_gpr_16 == 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(3292))); + if (ctx.gpr[16] == 0u) { + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(3292))); goto L_08B153D0; } goto L_08B153C8; L_08B153C8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08B15494; } goto L_08B153D0; } L_08B153D0: - aot_gpr_16 = (0u | 1u); + ctx.gpr[16] = (0u | 1u); aot_gpr_4 = (aot_gpr_4 + static_cast(6000)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_4); @@ -3496,18 +3497,18 @@ L_08B153D0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); goto L_08B153EC; L_08B153EC: - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_4); ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B15408u); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 579u, 0x089069ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B15408u) goto L_08B15408; AOT_REGCACHE_SYNC_OUT(); return; L_08B15408: - if (ctx.gpr[2] == 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(3292))); + if (aot_gpr_2 == 0u) { + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(3292))); goto L_08B15398; } goto L_08B15410; @@ -3516,41 +3517,41 @@ L_08B15410: aot_gpr_5 = (0u | 1u); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(32))); if (aot_gpr_4 == aot_gpr_5) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(3292))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(3292))); goto L_08B15398; } goto L_08B15424; L_08B15424: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(92))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(92))); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_4 = (aot_gpr_4 + static_cast(240)); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x08B15440u); - aot_gpr_4 = (aot_gpr_17 + ctx.gpr[6]); + aot_gpr_4 = (ctx.gpr[17] + aot_gpr_6); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B15440u) goto L_08B15440; AOT_REGCACHE_SYNC_OUT(); return; L_08B15440: - aot_gpr_16 = (0u | 1u); - aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-17963), static_cast(aot_gpr_16)); - aot_gpr_4 = (aot_gpr_17 | 0u); + ctx.gpr[16] = (0u | 1u); + aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(-17963), static_cast(ctx.gpr[16])); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08B15458u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0057_entry, 57u, 594u, 0x088EB074u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B15458u) goto L_08B15458; AOT_REGCACHE_SYNC_OUT(); return; L_08B15458: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_gpr_16 | 0u); + aot_gpr_2 = (ctx.gpr[16] | 0u); if (branch_taken) { goto L_08B15494; } goto L_08B15460; } L_08B15460: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(3292))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(3292))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_5 = (aot_gpr_5 + static_cast(6000)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_4); @@ -3568,13 +3569,13 @@ L_08B15460: goto L_08B15490; } L_08B15490: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_08B15494; L_08B15494: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(56), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -3606,21 +3607,21 @@ L_08B154AC: AOT_REGCACHE_SYNC_OUT(); return; L_08B15504: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); - ctx.gpr[6] = (std::bit_cast(aot_fpr_12)); - aot_mem.aot_direct_store_word_left(aot_gpr_4 + static_cast(3), ctx.gpr[6]); - aot_mem.aot_direct_store_word_right(aot_gpr_4 + static_cast(0), ctx.gpr[6]); + aot_gpr_6 = (std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store_word_left(aot_gpr_4 + static_cast(3), aot_gpr_6); + aot_mem.aot_direct_store_word_right(aot_gpr_4 + static_cast(0), aot_gpr_6); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); - ctx.gpr[6] = (std::bit_cast(aot_fpr_13)); + aot_gpr_6 = (std::bit_cast(aot_fpr_13)); ctx.gpr[7] = (aot_gpr_4 + static_cast(4)); - aot_mem.aot_direct_store_word_left(ctx.gpr[7] + static_cast(3), ctx.gpr[6]); - aot_mem.aot_direct_store_word_right(ctx.gpr[7] + static_cast(0), ctx.gpr[6]); + aot_mem.aot_direct_store_word_left(ctx.gpr[7] + static_cast(3), aot_gpr_6); + aot_mem.aot_direct_store_word_right(ctx.gpr[7] + static_cast(0), aot_gpr_6); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(8))); aot_gpr_5 = (std::bit_cast(aot_fpr_14)); - ctx.gpr[6] = (aot_gpr_4 + static_cast(8)); - aot_mem.aot_direct_store_word_left(ctx.gpr[6] + static_cast(3), aot_gpr_5); - aot_mem.aot_direct_store_word_right(ctx.gpr[6] + static_cast(0), aot_gpr_5); + aot_gpr_6 = (aot_gpr_4 + static_cast(8)); + aot_mem.aot_direct_store_word_left(aot_gpr_6 + static_cast(3), aot_gpr_5); + aot_mem.aot_direct_store_word_right(aot_gpr_6 + static_cast(0), aot_gpr_5); jump_target = aot_gpr_31; - ctx.gpr[2] = (aot_gpr_4 | 0u); + aot_gpr_2 = (aot_gpr_4 | 0u); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -3630,9 +3631,9 @@ L_08B15544: ctx.gpr[7] = (aot_gpr_5 | 0u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(104))); aot_gpr_4 = (aot_gpr_5 | 0u); - ctx.gpr[6] = (aot_gpr_4 + static_cast(4)); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(0))); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_6 = (aot_gpr_4 + static_cast(4)); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); + { const bool branch_taken = aot_gpr_6 == 0u; // nop if (branch_taken) { goto L_08B15598; @@ -3641,32 +3642,32 @@ L_08B15544: } L_08B15564: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(16), static_cast(0u)); - ctx.gpr[8] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(16))); + ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(16))); goto L_08B1556C; L_08B1556C: ctx.gpr[8] = (ctx.gpr[8] < ctx.gpr[7] ? 1u : 0u); ctx.gpr[8] = (ctx.gpr[8] & 255u); if (ctx.gpr[8] != 0u) { - ctx.gpr[6] = (ctx.gpr[6] + static_cast(12)); + aot_gpr_6 = (aot_gpr_6 + static_cast(12)); goto L_08B1558C; } goto L_08B1557C; L_08B1557C: - aot_gpr_4 = (ctx.gpr[6] | 0u); - ctx.gpr[6] = (aot_gpr_4 + static_cast(8)); + aot_gpr_4 = (aot_gpr_6 | 0u); + aot_gpr_6 = (aot_gpr_4 + static_cast(8)); { const bool branch_taken = 0u == 0u; - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(0))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); if (branch_taken) { goto L_08B15590; } goto L_08B1558C; } L_08B1558C: - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(0))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); goto L_08B15590; L_08B15590: - if (ctx.gpr[6] != 0u) { - ctx.gpr[8] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(16))); + if (aot_gpr_6 != 0u) { + ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(16))); goto L_08B1556C; } goto L_08B15598; @@ -3678,10 +3679,10 @@ L_08B15598: goto L_08B155A0; L_08B155A0: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(17), static_cast(0u)); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); - ctx.gpr[6] = (ctx.gpr[7] < ctx.gpr[6] ? 1u : 0u); - ctx.gpr[6] = (ctx.gpr[6] & 255u); - if (ctx.gpr[6] == 0u) { + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); + aot_gpr_6 = (ctx.gpr[7] < aot_gpr_6 ? 1u : 0u); + aot_gpr_6 = (aot_gpr_6 & 255u); + if (aot_gpr_6 == 0u) { aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_4); goto L_08B155C0; } @@ -3712,14 +3713,14 @@ L_08B155C0: } L_08B155F0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08B155FC; } goto L_08B155F8; } L_08B155F8: - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(20))); + aot_gpr_2 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(20))); goto L_08B155FC; L_08B155FC: jump_target = aot_gpr_31; @@ -3732,11 +3733,11 @@ L_08B15604: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); aot_gpr_31 = (0x08B15614u); - ctx.gpr[6] = (ctx.gpr[28] + static_cast(2876)); + aot_gpr_6 = (ctx.gpr[28] + static_cast(2876)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0038_entry, 38u, 252u, 0x0889D374u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B15614u) goto L_08B15614; AOT_REGCACHE_SYNC_OUT(); return; L_08B15614: - ctx.gpr[2] = (0u < ctx.gpr[2] ? 1u : 0u); + aot_gpr_2 = (0u < aot_gpr_2 ? 1u : 0u); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -3748,14 +3749,14 @@ L_08B15624: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); aot_gpr_31 = (0x08B15634u); - ctx.gpr[6] = (ctx.gpr[28] + static_cast(2876)); + aot_gpr_6 = (ctx.gpr[28] + static_cast(2876)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0038_entry, 38u, 252u, 0x0889D374u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B15634u) goto L_08B15634; AOT_REGCACHE_SYNC_OUT(); return; L_08B15634: - aot_gpr_4 = (ctx.gpr[2] | 0u); - ctx.gpr[2] = (0u + static_cast(-1)); + aot_gpr_4 = (aot_gpr_2 | 0u); + aot_gpr_2 = (0u + static_cast(-1)); if (aot_gpr_4 != 0u) { - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); + aot_gpr_2 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); goto L_08B15644; } goto L_08B15644; @@ -3769,15 +3770,15 @@ L_08B15644: AOT_REGCACHE_SYNC_OUT(); return; L_08B15650: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[16], ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - aot_gpr_16 = (aot_gpr_5 | 0u); - aot_gpr_17 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); + ctx.gpr[17] = (aot_gpr_4 | 0u); aot_gpr_31 = (0x08B15670u); // nop goto L_08B15624; L_08B15670: - { const bool branch_taken = static_cast(ctx.gpr[2]) >= 0; + { const bool branch_taken = static_cast(aot_gpr_2) >= 0; // nop if (branch_taken) { goto L_08B15694; @@ -3785,11 +3786,11 @@ L_08B15670: goto L_08B15678; } L_08B15678: - ctx.gpr[6] = (2233u << 16u); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(-32176)); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_6 = (2233u << 16u); + aot_gpr_6 = (aot_gpr_6 + static_cast(-32176)); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B1568Cu); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0038_entry, 38u, 201u, 0x0889CFFCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1568Cu) goto L_08B1568C; AOT_REGCACHE_SYNC_OUT(); return; L_08B1568C: @@ -3803,8 +3804,8 @@ L_08B1568C: L_08B15694: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -3815,35 +3816,35 @@ L_08B15694: AOT_REGCACHE_SYNC_OUT(); return; L_08B156A8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[16], ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - aot_gpr_16 = (aot_gpr_5 | 0u); - aot_gpr_17 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); + ctx.gpr[17] = (aot_gpr_4 | 0u); aot_gpr_31 = (0x08B156C8u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B156C8u) goto L_08B156C8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806634, 0u, 302u, 0x08806634u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B156C8u) goto L_08B156C8; AOT_REGCACHE_SYNC_OUT(); return; L_08B156C8: aot_gpr_5 = (ctx.gpr[28] + static_cast(2876)); aot_gpr_31 = (0x08B156D4u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0038_entry, 38u, 249u, 0x0889D344u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B156D4u) goto L_08B156D4; AOT_REGCACHE_SYNC_OUT(); return; L_08B156D4: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (0u + static_cast(-1)); aot_gpr_31 = (0x08B156E4u); - ctx.gpr[6] = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 459u, 0x088071ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B156E4u) goto L_08B156E4; AOT_REGCACHE_SYNC_OUT(); return; L_08B156E4: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B156F0u); aot_gpr_5 = (0u + static_cast(-1)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B156F0u) goto L_08B156F0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806888, 0u, 324u, 0x08806888u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B156F0u) goto L_08B156F0; AOT_REGCACHE_SYNC_OUT(); return; L_08B156F0: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08B15748; @@ -3851,59 +3852,59 @@ L_08B156F0: goto L_08B156F8; } L_08B156F8: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B15704u); aot_gpr_5 = (0u + static_cast(-2)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B15704u) goto L_08B15704; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806654, 0u, 303u, 0x08806654u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 303u, 0x08806654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B15704u) goto L_08B15704; AOT_REGCACHE_SYNC_OUT(); return; L_08B15704: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B15710u); aot_gpr_5 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 555u, 0x088079D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B15710u) goto L_08B15710; AOT_REGCACHE_SYNC_OUT(); return; L_08B15710: - aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(0), aot_gpr_16); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_mem.aot_direct_store32(aot_gpr_2 + static_cast(0), ctx.gpr[16]); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B15720u); aot_gpr_5 = (0u + static_cast(-2)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B15720u) goto L_08B15720; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880682C, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[16], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B15720u) goto L_08B15720; AOT_REGCACHE_SYNC_OUT(); return; L_08B15720: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B1572Cu); aot_gpr_5 = (0u + static_cast(-2)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 492u, 0x08807510u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1572Cu) goto L_08B1572C; AOT_REGCACHE_SYNC_OUT(); return; L_08B1572C: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B15738u); aot_gpr_5 = (0u + static_cast(-1)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B15738u) goto L_08B15738; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880682C, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[16], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 322u, 0x0880682Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B15738u) goto L_08B15738; AOT_REGCACHE_SYNC_OUT(); return; L_08B15738: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (0u + static_cast(-3)); aot_gpr_31 = (0x08B15748u); - ctx.gpr[6] = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 489u, 0x0880748Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B15748u) goto L_08B15748; AOT_REGCACHE_SYNC_OUT(); return; L_08B15748: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B15754u); aot_gpr_5 = (0u + static_cast(-2)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 310u, 0x088066C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B15754u) goto L_08B15754; AOT_REGCACHE_SYNC_OUT(); return; L_08B15754: aot_gpr_31 = (0x08B1575Cu); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1575Cu) goto L_08B1575C; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806634, 0u, 302u, 0x08806634u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1575Cu) goto L_08B1575C; AOT_REGCACHE_SYNC_OUT(); return; L_08B1575C: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -3914,45 +3915,45 @@ L_08B1575C: AOT_REGCACHE_SYNC_OUT(); return; L_08B15770: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[16], ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_31 = (0x08B1578Cu); aot_gpr_5 = (ctx.gpr[28] + static_cast(3120)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 430u, 0x08806E68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1578Cu) goto L_08B1578C; AOT_REGCACHE_SYNC_OUT(); return; L_08B1578C: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B15798u); aot_gpr_5 = (0u + static_cast(-10001)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 453u, 0x088070DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B15798u) goto L_08B15798; AOT_REGCACHE_SYNC_OUT(); return; L_08B15798: - aot_gpr_17 = (0u | 1u); - aot_gpr_4 = (aot_gpr_16 | 0u); + ctx.gpr[17] = (0u | 1u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B157A8u); aot_gpr_5 = (0u | 1u); goto L_08B15624; L_08B157A8: - aot_fpr_12 = std::bit_cast(ctx.gpr[2]); + aot_fpr_12 = std::bit_cast(aot_gpr_2); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_gpr_31 = (0x08B157B8u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B157B8u) goto L_08B157B8; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B157B8u) goto L_08B157B8; AOT_REGCACHE_SYNC_OUT(); return; L_08B157B8: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 1u); aot_gpr_31 = (0x08B157C8u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 508u, 0x08807644u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B157C8u) goto L_08B157C8; AOT_REGCACHE_SYNC_OUT(); return; L_08B157C8: - ctx.gpr[2] = (aot_gpr_17 | 0u); + aot_gpr_2 = (ctx.gpr[17] | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -3963,16 +3964,16 @@ L_08B157C8: AOT_REGCACHE_SYNC_OUT(); return; L_08B157E0: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_4 = (2237u << 16u); ctx.gpr[18] = (aot_gpr_4 + static_cast(-28736)); - aot_gpr_17 = (0u | 1u); - aot_gpr_4 = (aot_gpr_16 | 0u); + ctx.gpr[17] = (0u | 1u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B15810u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B15810u) goto L_08B15810; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B15810u) goto L_08B15810; AOT_REGCACHE_SYNC_OUT(); return; L_08B15810: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[0])); @@ -3983,12 +3984,12 @@ L_08B15810: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 155u, 0x08ADC7D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B15824u) goto L_08B15824; AOT_REGCACHE_SYNC_OUT(); return; L_08B15824: - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(0))); aot_gpr_4 = (aot_gpr_4 << 16u); - aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(1))); + aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(1))); aot_gpr_5 = (aot_gpr_5 << 8u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); - aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(2))); + aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(2))); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_fpr_12 = std::bit_cast(aot_gpr_4); { const bool branch_taken = static_cast(aot_gpr_4) >= 0; @@ -4005,15 +4006,15 @@ L_08B1584C: goto L_08B15858; L_08B15858: aot_gpr_31 = (0x08B15860u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B15860u) goto L_08B15860; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B15860u) goto L_08B15860; AOT_REGCACHE_SYNC_OUT(); return; L_08B15860: - ctx.gpr[2] = (aot_gpr_17 | 0u); + aot_gpr_2 = (ctx.gpr[17] | 0u); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -4025,29 +4026,29 @@ L_08B15860: AOT_REGCACHE_SYNC_OUT(); return; L_08B1587C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_4 = (2237u << 16u); ctx.gpr[18] = (aot_gpr_4 + static_cast(-28736)); - aot_gpr_17 = (0u | 1u); - aot_gpr_4 = (aot_gpr_16 | 0u); + ctx.gpr[17] = (0u | 1u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B158ACu); aot_gpr_5 = (0u | 1u); goto L_08B15650; L_08B158AC: - aot_gpr_5 = (ctx.gpr[2] & 255u); + aot_gpr_5 = (aot_gpr_2 & 255u); aot_gpr_31 = (0x08B158B8u); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 167u, 0x08ADC88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B158B8u) goto L_08B158B8; AOT_REGCACHE_SYNC_OUT(); return; L_08B158B8: - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(0))); aot_gpr_4 = (aot_gpr_4 << 16u); - aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(1))); + aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(1))); aot_gpr_5 = (aot_gpr_5 << 8u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); - aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(2))); + aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(2))); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_fpr_12 = std::bit_cast(aot_gpr_4); { const bool branch_taken = static_cast(aot_gpr_4) >= 0; @@ -4064,15 +4065,15 @@ L_08B158E0: goto L_08B158EC; L_08B158EC: aot_gpr_31 = (0x08B158F4u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B158F4u) goto L_08B158F4; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B158F4u) goto L_08B158F4; AOT_REGCACHE_SYNC_OUT(); return; L_08B158F4: - ctx.gpr[2] = (aot_gpr_17 | 0u); + aot_gpr_2 = (ctx.gpr[17] | 0u); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -4084,32 +4085,32 @@ L_08B158F4: AOT_REGCACHE_SYNC_OUT(); return; L_08B15910: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_4 = (2237u << 16u); ctx.gpr[18] = (aot_gpr_4 + static_cast(-28736)); - aot_gpr_17 = (0u | 1u); - aot_gpr_4 = (aot_gpr_16 | 0u); + ctx.gpr[17] = (0u | 1u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B15940u); aot_gpr_5 = (0u | 1u); goto L_08B15650; L_08B15940: - aot_gpr_5 = (ctx.gpr[2] & 255u); + aot_gpr_5 = (aot_gpr_2 & 255u); aot_gpr_31 = (0x08B1594Cu); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 167u, 0x08ADC88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1594Cu) goto L_08B1594C; AOT_REGCACHE_SYNC_OUT(); return; L_08B1594C: - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(0))); aot_gpr_4 = (aot_gpr_4 << 24u); - aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(1))); + aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(1))); aot_gpr_5 = (aot_gpr_5 << 16u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); - aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(2))); + aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(2))); aot_gpr_5 = (aot_gpr_5 << 8u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); - aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(3))); + aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(3))); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_fpr_12 = std::bit_cast(aot_gpr_4); { const bool branch_taken = static_cast(aot_gpr_4) >= 0; @@ -4126,15 +4127,15 @@ L_08B15980: goto L_08B1598C; L_08B1598C: aot_gpr_31 = (0x08B15994u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B15994u) goto L_08B15994; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B15994u) goto L_08B15994; AOT_REGCACHE_SYNC_OUT(); return; L_08B15994: - ctx.gpr[2] = (aot_gpr_17 | 0u); + aot_gpr_2 = (ctx.gpr[17] | 0u); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -4146,29 +4147,29 @@ L_08B15994: AOT_REGCACHE_SYNC_OUT(); return; L_08B159B0: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_4 = (2237u << 16u); ctx.gpr[18] = (aot_gpr_4 + static_cast(-28736)); - aot_gpr_17 = (0u | 1u); - aot_gpr_4 = (aot_gpr_16 | 0u); + ctx.gpr[17] = (0u | 1u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B159E0u); aot_gpr_5 = (0u | 1u); goto L_08B15650; L_08B159E0: - aot_gpr_5 = (ctx.gpr[2] & 255u); + aot_gpr_5 = (aot_gpr_2 & 255u); aot_gpr_31 = (0x08B159ECu); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 156u, 0x08ADC7F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B159ECu) goto L_08B159EC; AOT_REGCACHE_SYNC_OUT(); return; L_08B159EC: - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(0))); aot_gpr_4 = (aot_gpr_4 << 16u); - aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(1))); + aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(1))); aot_gpr_5 = (aot_gpr_5 << 8u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); - aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(2))); + aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(2))); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_fpr_12 = std::bit_cast(aot_gpr_4); { const bool branch_taken = static_cast(aot_gpr_4) >= 0; @@ -4185,15 +4186,15 @@ L_08B15A14: goto L_08B15A20; L_08B15A20: aot_gpr_31 = (0x08B15A28u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B15A28u) goto L_08B15A28; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B15A28u) goto L_08B15A28; AOT_REGCACHE_SYNC_OUT(); return; L_08B15A28: - ctx.gpr[2] = (aot_gpr_17 | 0u); + aot_gpr_2 = (ctx.gpr[17] | 0u); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -4205,14 +4206,14 @@ L_08B15A28: AOT_REGCACHE_SYNC_OUT(); return; L_08B15A44: aot_gpr_29 = (aot_gpr_29 + static_cast(-144)); - { const std::uint32_t aot_run_words[10]{std::bit_cast(aot_fpr_20), aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], aot_gpr_31}; + { const std::uint32_t aot_run_words[10]{std::bit_cast(aot_fpr_20), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(100), aot_run_words); } ctx.gpr[18] = (0u | 1u); - aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_17 = (aot_gpr_29 + static_cast(16)); - aot_gpr_4 = (aot_gpr_17 | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (0u | 1u); + ctx.gpr[16] = (aot_gpr_4 | 0u); + ctx.gpr[17] = (aot_gpr_29 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); + aot_gpr_6 = (0u | 1u); aot_gpr_31 = (0x08B15A90u); ctx.gpr[7] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0075_entry, 75u, 315u, 0x08931AF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B15A90u) goto L_08B15A90; @@ -4231,15 +4232,15 @@ L_08B15AB0: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(100))); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(52))); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(112))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(112))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(108))); - aot_gpr_5 = (ctx.gpr[6] - aot_gpr_5); - ctx.gpr[6] = (static_cast(static_cast(aot_gpr_5) >> 2u)); - ctx.gpr[6] = (ctx.gpr[6] >> 30u); - aot_gpr_5 = (aot_gpr_5 + ctx.gpr[6]); + aot_gpr_5 = (aot_gpr_6 - aot_gpr_5); + aot_gpr_6 = (static_cast(static_cast(aot_gpr_5) >> 2u)); + aot_gpr_6 = (aot_gpr_6 >> 30u); + aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); aot_gpr_5 = (static_cast(static_cast(aot_gpr_5) >> 2u)); - ctx.gpr[6] = (aot_gpr_5 < aot_gpr_4 ? 1u : 0u); - if (ctx.gpr[6] != 0u) { + aot_gpr_6 = (aot_gpr_5 < aot_gpr_4 ? 1u : 0u); + if (aot_gpr_6 != 0u) { aot_gpr_5 = (aot_gpr_4 | 0u); goto L_08B15AE4; } @@ -4260,7 +4261,7 @@ L_08B15AF0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 12u, 0x08ADC0F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B15AFCu) goto L_08B15AFC; AOT_REGCACHE_SYNC_OUT(); return; L_08B15AFC: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08B15B94; @@ -4271,11 +4272,11 @@ L_08B15B04: aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08B15B14u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 192u, 0x08ADCA6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B15B14u) goto L_08B15B14; AOT_REGCACHE_SYNC_OUT(); return; L_08B15B14: - ctx.gpr[21] = (ctx.gpr[2] | 0u); + ctx.gpr[21] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[21] == 0u; // nop if (branch_taken) { @@ -4294,11 +4295,11 @@ L_08B15B2C: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[21] + static_cast(10)))))); aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x08B15B3Cu); - ctx.gpr[6] = (ctx.gpr[22] | 0u); + aot_gpr_6 = (ctx.gpr[22] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B15B3Cu) goto L_08B15B3C; AOT_REGCACHE_SYNC_OUT(); return; L_08B15B3C: - aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast(96), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(64))); aot_mem.aot_direct_store8(ctx.gpr[21] + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast(96))); @@ -4314,7 +4315,7 @@ L_08B15B4C: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -4350,14 +4351,14 @@ L_08B15B4C: goto L_08B15B80; } L_08B15B80: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B15B8Cu); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B15B8Cu) goto L_08B15B8C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B15B8Cu) goto L_08B15B8C; AOT_REGCACHE_SYNC_OUT(); return; L_08B15B8C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (ctx.gpr[18] | 0u); + aot_gpr_2 = (ctx.gpr[18] | 0u); if (branch_taken) { goto L_08B15BAC; } @@ -4372,20 +4373,20 @@ L_08B15B94: goto L_08B15B9C; } L_08B15B9C: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B15BA8u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B15BA8u) goto L_08B15BA8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B15BA8u) goto L_08B15BA8; AOT_REGCACHE_SYNC_OUT(); return; L_08B15BA8: - ctx.gpr[2] = (ctx.gpr[18] | 0u); + aot_gpr_2 = (ctx.gpr[18] | 0u); goto L_08B15BAC; L_08B15BAC: { std::uint32_t aot_run_words[10]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(100), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); - aot_gpr_16 = aot_run_words[1]; - aot_gpr_17 = aot_run_words[2]; + ctx.gpr[16] = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; ctx.gpr[19] = aot_run_words[4]; ctx.gpr[20] = aot_run_words[5]; @@ -4402,22 +4403,22 @@ L_08B15BAC: AOT_REGCACHE_SYNC_OUT(); return; L_08B15BDC: aot_gpr_29 = (aot_gpr_29 + static_cast(-160)); - { const std::uint32_t aot_run_words[10]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; + { const std::uint32_t aot_run_words[10]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(120), aot_run_words); } ctx.gpr[19] = (aot_gpr_5 | 0u); ctx.gpr[18] = (aot_gpr_4 | 0u); ctx.gpr[30] = (0u + static_cast(-1)); aot_gpr_31 = (0x08B15C1Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B15C1Cu) goto L_08B15C1C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806634, 0u, 302u, 0x08806634u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B15C1Cu) goto L_08B15C1C; AOT_REGCACHE_SYNC_OUT(); return; L_08B15C1C: - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (aot_gpr_2 | 0u); ctx.gpr[23] = (0u | 1u); ctx.gpr[22] = (aot_gpr_29 + static_cast(16)); aot_gpr_4 = (ctx.gpr[22] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_gpr_31 = (0x08B15C3Cu); ctx.gpr[7] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0075_entry, 75u, 315u, 0x08931AF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B15C3Cu) goto L_08B15C3C; @@ -4426,11 +4427,11 @@ L_08B15C3C: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); aot_gpr_4 = (49864u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); - aot_gpr_17 = (aot_gpr_29 + static_cast(32)); + ctx.gpr[17] = (aot_gpr_29 + static_cast(32)); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); - ctx.gpr[6] = (ctx.gpr[18] | 0u); + aot_gpr_6 = (ctx.gpr[18] | 0u); if (branch_taken) { goto L_08B15C60; } @@ -4440,12 +4441,12 @@ L_08B15C5C: ctx.gpr[23] = (0u | 0u); goto L_08B15C60; L_08B15C60: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(116), ctx.gpr[6]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(116), aot_gpr_6); aot_gpr_4 = (16416u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_12)}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(32), aot_run_words); } - aot_gpr_4 = (static_cast(aot_gpr_16) < 2 ? 1u : 0u); + aot_gpr_4 = (static_cast(ctx.gpr[16]) < 2 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -4454,16 +4455,16 @@ L_08B15C60: goto L_08B15C84; } L_08B15C84: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(116), ctx.gpr[6]); - aot_gpr_16 = (aot_gpr_29 + static_cast(48)); - aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (ctx.gpr[6] | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(116), aot_gpr_6); + ctx.gpr[16] = (aot_gpr_29 + static_cast(48)); + aot_gpr_4 = (ctx.gpr[16] | 0u); + aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x08B15C9Cu); - ctx.gpr[6] = (0u | 2u); + aot_gpr_6 = (0u | 2u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0075_entry, 75u, 406u, 0x08932014u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B15C9Cu) goto L_08B15C9C; AOT_REGCACHE_SYNC_OUT(); return; L_08B15C9C: - { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -4473,12 +4474,12 @@ L_08B15C9C: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } goto L_08B15CA4; L_08B15CA4: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); ctx.gpr[18] = (2237u << 16u); ctx.gpr[18] = (ctx.gpr[18] + static_cast(-28736)); ctx.gpr[21] = (aot_gpr_29 + static_cast(80)); @@ -4488,21 +4489,21 @@ L_08B15CB8: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(100))); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(52))); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(112))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(112))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(108))); - aot_gpr_5 = (ctx.gpr[6] - aot_gpr_5); - ctx.gpr[6] = (static_cast(static_cast(aot_gpr_5) >> 2u)); - ctx.gpr[6] = (ctx.gpr[6] >> 30u); - aot_gpr_5 = (aot_gpr_5 + ctx.gpr[6]); + aot_gpr_5 = (aot_gpr_6 - aot_gpr_5); + aot_gpr_6 = (static_cast(static_cast(aot_gpr_5) >> 2u)); + aot_gpr_6 = (aot_gpr_6 >> 30u); + aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); aot_gpr_5 = (static_cast(static_cast(aot_gpr_5) >> 2u)); - ctx.gpr[6] = (aot_gpr_5 < aot_gpr_4 ? 1u : 0u); - if (ctx.gpr[6] != 0u) { + aot_gpr_6 = (aot_gpr_5 < aot_gpr_4 ? 1u : 0u); + if (aot_gpr_6 != 0u) { aot_gpr_5 = (aot_gpr_4 | 0u); goto L_08B15CEC; } goto L_08B15CEC; L_08B15CEC: - aot_gpr_4 = (aot_gpr_17 < aot_gpr_5 ? 1u : 0u); + aot_gpr_4 = (ctx.gpr[17] < aot_gpr_5 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -4514,11 +4515,11 @@ L_08B15CF8: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (ctx.gpr[30] | 0u); aot_gpr_31 = (0x08B15D08u); - ctx.gpr[6] = (aot_gpr_17 | 0u); + aot_gpr_6 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 10u, 0x08ADC0D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B15D08u) goto L_08B15D08; AOT_REGCACHE_SYNC_OUT(); return; L_08B15D08: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08B15DF8; @@ -4527,14 +4528,14 @@ L_08B15D08: } L_08B15D10: aot_gpr_4 = (ctx.gpr[18] | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B15D20u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 192u, 0x08ADCA6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B15D20u) goto L_08B15D20; AOT_REGCACHE_SYNC_OUT(); return; L_08B15D20: - aot_gpr_16 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08B15DF8; @@ -4552,12 +4553,12 @@ L_08B15D2C: L_08B15D34: jump_target = ctx.gpr[19]; aot_gpr_31 = (0x08B15D3Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B15D3Cu) goto L_08B15D3C; AOT_REGCACHE_SYNC_OUT(); return; L_08B15D3C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08B15DF8; @@ -4565,24 +4566,24 @@ L_08B15D3C: goto L_08B15D44; } L_08B15D44: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(96))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(96))); goto L_08B15D70; } goto L_08B15D50; L_08B15D50: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(10)))))); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(10)))))); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B15D60u); - ctx.gpr[6] = (ctx.gpr[21] | 0u); + aot_gpr_6 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B15D60u) goto L_08B15D60; AOT_REGCACHE_SYNC_OUT(); return; L_08B15D60: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(96), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(80))); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(4), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(4), static_cast(aot_gpr_4)); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(96))); goto L_08B15D70; L_08B15D70: aot_gpr_4 = (aot_gpr_4 + static_cast(64)); @@ -4636,7 +4637,7 @@ L_08B15DA0: } L_08B15DBC: { const bool branch_taken = ctx.gpr[23] == 0u; - aot_gpr_16 = (0u | 1u); + ctx.gpr[16] = (0u | 1u); if (branch_taken) { goto L_08B15DE4; } @@ -4656,16 +4657,16 @@ L_08B15DC4: goto L_08B15DE0; } L_08B15DE0: - aot_gpr_16 = (0u | 1u); + ctx.gpr[16] = (0u | 1u); goto L_08B15DE4; L_08B15DE4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(116))); aot_gpr_31 = (0x08B15DF0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); goto L_08B156A8; L_08B15DF0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_gpr_16 | 0u); + aot_gpr_2 = (ctx.gpr[16] | 0u); if (branch_taken) { goto L_08B15E04; } @@ -4673,20 +4674,20 @@ L_08B15DF0: } L_08B15DF8: { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); if (branch_taken) { goto L_08B15CB8; } goto L_08B15E00; } L_08B15E00: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_08B15E04; L_08B15E04: { std::uint32_t aot_run_words[10]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(120), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -4718,17 +4719,17 @@ L_08B15E44: AOT_REGCACHE_SYNC_OUT(); return; L_08B15E50: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_31); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08B15E78; } goto L_08B15E64; } L_08B15E64: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(96))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -4738,7 +4739,7 @@ L_08B15E64: } L_08B15E70: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); + aot_gpr_2 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(96))); if (branch_taken) { goto L_08B15EA0; } @@ -4746,29 +4747,29 @@ L_08B15E70: } L_08B15E78: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08B15ECC; } goto L_08B15E80; } L_08B15E80: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(10)))))); - ctx.gpr[6] = (aot_gpr_29 + static_cast(16)); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(10)))))); + aot_gpr_6 = (aot_gpr_29 + static_cast(16)); aot_gpr_31 = (0x08B15E90u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B15E90u) goto L_08B15E90; AOT_REGCACHE_SYNC_OUT(); return; L_08B15E90: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(96), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(16))); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(4), static_cast(aot_gpr_4)); - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(4), static_cast(aot_gpr_4)); + aot_gpr_2 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(96))); goto L_08B15EA0; L_08B15EA0: - ctx.gpr[2] = (aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(176))); + aot_gpr_2 = (aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(176))); aot_gpr_4 = (0u | 65535u); - { const bool branch_taken = ctx.gpr[2] != aot_gpr_4; + { const bool branch_taken = aot_gpr_2 != aot_gpr_4; aot_gpr_4 = (2237u << 16u); if (branch_taken) { goto L_08B15EB8; @@ -4777,7 +4778,7 @@ L_08B15EA0: } L_08B15EB0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08B15ECC; } @@ -4785,16 +4786,16 @@ L_08B15EB0: } L_08B15EB8: aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(3)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(3)))))); aot_gpr_31 = (0x08B15EC8u); - ctx.gpr[6] = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 192u, 0x08ADCA6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B15EC8u) goto L_08B15EC8; AOT_REGCACHE_SYNC_OUT(); return; L_08B15EC8: - ctx.gpr[2] = (0u < ctx.gpr[2] ? 1u : 0u); + aot_gpr_2 = (0u < aot_gpr_2 ? 1u : 0u); goto L_08B15ECC; L_08B15ECC: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); @@ -4804,17 +4805,17 @@ L_08B15ECC: AOT_REGCACHE_SYNC_OUT(); return; L_08B15EDC: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_31); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08B15F04; } goto L_08B15EF0; } L_08B15EF0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(96))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -4824,7 +4825,7 @@ L_08B15EF0: } L_08B15EFC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); + aot_gpr_2 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(96))); if (branch_taken) { goto L_08B15F2C; } @@ -4832,29 +4833,29 @@ L_08B15EFC: } L_08B15F04: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08B15F58; } goto L_08B15F0C; } L_08B15F0C: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(10)))))); - ctx.gpr[6] = (aot_gpr_29 + static_cast(16)); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(10)))))); + aot_gpr_6 = (aot_gpr_29 + static_cast(16)); aot_gpr_31 = (0x08B15F1Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B15F1Cu) goto L_08B15F1C; AOT_REGCACHE_SYNC_OUT(); return; L_08B15F1C: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(96), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(16))); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(4), static_cast(aot_gpr_4)); - ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(4), static_cast(aot_gpr_4)); + aot_gpr_2 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(96))); goto L_08B15F2C; L_08B15F2C: - ctx.gpr[2] = (aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(176))); + aot_gpr_2 = (aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(176))); aot_gpr_4 = (0u | 65535u); - { const bool branch_taken = ctx.gpr[2] != aot_gpr_4; + { const bool branch_taken = aot_gpr_2 != aot_gpr_4; aot_gpr_4 = (2237u << 16u); if (branch_taken) { goto L_08B15F44; @@ -4863,7 +4864,7 @@ L_08B15F2C: } L_08B15F3C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_08B15F58; } @@ -4871,16 +4872,16 @@ L_08B15F3C: } L_08B15F44: aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(3)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(3)))))); aot_gpr_31 = (0x08B15F54u); - ctx.gpr[6] = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 192u, 0x08ADCA6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B15F54u) goto L_08B15F54; AOT_REGCACHE_SYNC_OUT(); return; L_08B15F54: - ctx.gpr[2] = (ctx.gpr[2] < static_cast(1) ? 1u : 0u); + aot_gpr_2 = (aot_gpr_2 < static_cast(1) ? 1u : 0u); goto L_08B15F58; L_08B15F58: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); @@ -4935,16 +4936,16 @@ L_08B15FB8: AOT_REGCACHE_SYNC_OUT(); return; L_08B15FC4: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(16), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.gpr[18] = (0u | 1u); aot_gpr_31 = (0x08B15FE8u); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0195_entry, 195u, 200u, 0x08B10D5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B15FE8u) goto L_08B15FE8; AOT_REGCACHE_SYNC_OUT(); return; L_08B15FE8: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08B16014; @@ -4957,14 +4958,14 @@ L_08B15FF0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B15FF8u) goto L_08B15FF8; AOT_REGCACHE_SYNC_OUT(); return; L_08B15FF8: - aot_gpr_17 = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08B16004u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 195u, 0x08910B38u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B16004u) goto L_08B16004; AOT_REGCACHE_SYNC_OUT(); return; L_08B16004: - if (ctx.gpr[2] != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1152))); + if (aot_gpr_2 != 0u) { + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1152))); goto L_08B1601C; } goto L_08B1600C; @@ -4978,7 +4979,7 @@ L_08B1600C: } L_08B16014: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08B16080; } @@ -5007,7 +5008,7 @@ L_08B16024: goto L_08B16044; } L_08B16044: - aot_gpr_4 = (aot_gpr_17 + static_cast(16)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(16)); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); { const float fs = aot_fpr_14; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } @@ -5020,19 +5021,19 @@ L_08B1605C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), std::bit_cast(aot_fpr_14)); aot_fpr_12 = aot_fpr_13 / aot_fpr_12; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), std::bit_cast(aot_fpr_12)); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B1607Cu); aot_gpr_5 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0075_entry, 75u, 313u, 0x08931AD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1607Cu) goto L_08B1607C; AOT_REGCACHE_SYNC_OUT(); return; L_08B1607C: - ctx.gpr[2] = (ctx.gpr[18] | 0u); + aot_gpr_2 = (ctx.gpr[18] | 0u); goto L_08B16080; L_08B16080: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -5044,16 +5045,16 @@ L_08B16080: AOT_REGCACHE_SYNC_OUT(); return; L_08B16098: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(16), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.gpr[18] = (0u | 1u); aot_gpr_31 = (0x08B160BCu); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0195_entry, 195u, 200u, 0x08B10D5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B160BCu) goto L_08B160BC; AOT_REGCACHE_SYNC_OUT(); return; L_08B160BC: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08B160E8; @@ -5066,14 +5067,14 @@ L_08B160C4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B160CCu) goto L_08B160CC; AOT_REGCACHE_SYNC_OUT(); return; L_08B160CC: - aot_gpr_17 = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08B160D8u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 195u, 0x08910B38u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B160D8u) goto L_08B160D8; AOT_REGCACHE_SYNC_OUT(); return; L_08B160D8: - if (ctx.gpr[2] != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1152))); + if (aot_gpr_2 != 0u) { + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1152))); goto L_08B160F0; } goto L_08B160E0; @@ -5087,7 +5088,7 @@ L_08B160E0: } L_08B160E8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08B16148; } @@ -5114,8 +5115,8 @@ L_08B160F8: goto L_08B16110; } L_08B16110: - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); { const float fs = aot_fpr_14; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } { const float fs = aot_fpr_13; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[15] = std::bit_cast(0x7FC00000u); else ctx.fpr[15] = fs * ft; } aot_fpr_12 = aot_fpr_12 + ctx.fpr[15]; @@ -5126,19 +5127,19 @@ L_08B16124: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), std::bit_cast(aot_fpr_14)); aot_fpr_12 = aot_fpr_13 / aot_fpr_12; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), std::bit_cast(aot_fpr_12)); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B16144u); aot_gpr_5 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0075_entry, 75u, 313u, 0x08931AD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B16144u) goto L_08B16144; AOT_REGCACHE_SYNC_OUT(); return; L_08B16144: - ctx.gpr[2] = (ctx.gpr[18] | 0u); + aot_gpr_2 = (ctx.gpr[18] | 0u); goto L_08B16148; L_08B16148: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -5150,20 +5151,20 @@ L_08B16148: AOT_REGCACHE_SYNC_OUT(); return; L_08B16160: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - { const std::uint32_t aot_run_words[5]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; + { const std::uint32_t aot_run_words[5]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.gpr[19] = (2237u << 16u); ctx.gpr[19] = (ctx.gpr[19] + static_cast(-28736)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(100))); ctx.gpr[18] = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(52))); - aot_gpr_17 = (0u | 1u); - aot_gpr_4 = (aot_gpr_16 | 0u); + ctx.gpr[17] = (0u | 1u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B1619Cu); aot_gpr_5 = (0u | 1u); goto L_08B15604; L_08B1619C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08B161B4; @@ -5171,22 +5172,22 @@ L_08B1619C: goto L_08B161A4; } L_08B161A4: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B161B0u); aot_gpr_5 = (0u | 1u); goto L_08B15624; L_08B161B0: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); goto L_08B161B4; L_08B161B4: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08B161C4u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 192u, 0x08ADCA6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B161C4u) goto L_08B161C4; AOT_REGCACHE_SYNC_OUT(); return; L_08B161C4: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[19] == 0u; // nop if (branch_taken) { @@ -5200,27 +5201,27 @@ L_08B161D0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0008_entry, 8u, 30u, 0x088242B0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B161D8u) goto L_08B161D8; AOT_REGCACHE_SYNC_OUT(); return; L_08B161D8: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B161E4u); - aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B161E4u) goto L_08B161E4; + aot_gpr_5 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B161E4u) goto L_08B161E4; AOT_REGCACHE_SYNC_OUT(); return; L_08B161E4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_gpr_17 | 0u); + aot_gpr_2 = (ctx.gpr[17] | 0u); if (branch_taken) { goto L_08B161F0; } goto L_08B161EC; } L_08B161EC: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_08B161F0; L_08B161F0: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; @@ -5233,37 +5234,37 @@ L_08B161F0: AOT_REGCACHE_SYNC_OUT(); return; L_08B1620C: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - { const std::uint32_t aot_run_words[5]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; + { const std::uint32_t aot_run_words[5]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.gpr[18] = (2237u << 16u); ctx.gpr[18] = (ctx.gpr[18] + static_cast(-28736)); - aot_gpr_17 = (0u | 1u); + ctx.gpr[17] = (0u | 1u); aot_gpr_31 = (0x08B1623Cu); aot_gpr_5 = (0u | 1u); goto L_08B15604; L_08B1623C: - { const bool branch_taken = ctx.gpr[2] == 0u; - ctx.gpr[19] = (aot_gpr_17 | 0u); + { const bool branch_taken = aot_gpr_2 == 0u; + ctx.gpr[19] = (ctx.gpr[17] | 0u); if (branch_taken) { goto L_08B16294; } goto L_08B16244; } L_08B16244: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B16250u); aot_gpr_5 = (0u | 1u); goto L_08B15624; L_08B16250: - aot_gpr_17 = (ctx.gpr[2] | 0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B16260u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B16260u) goto L_08B16260; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806888, 0u, 324u, 0x08806888u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B16260u) goto L_08B16260; AOT_REGCACHE_SYNC_OUT(); return; L_08B16260: - { const bool branch_taken = ctx.gpr[2] != ctx.gpr[19]; + { const bool branch_taken = aot_gpr_2 != ctx.gpr[19]; // nop if (branch_taken) { goto L_08B1628C; @@ -5272,14 +5273,14 @@ L_08B16260: } L_08B16268: aot_gpr_4 = (ctx.gpr[18] | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B16278u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 192u, 0x08ADCA6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B16278u) goto L_08B16278; AOT_REGCACHE_SYNC_OUT(); return; L_08B16278: - aot_gpr_17 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_17 != 0u; + ctx.gpr[17] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[17] != 0u; // nop if (branch_taken) { goto L_08B1629C; @@ -5296,7 +5297,7 @@ L_08B16284: } L_08B1628C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08B16324; } @@ -5304,14 +5305,14 @@ L_08B1628C: } L_08B16294: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08B16324; } goto L_08B1629C; } L_08B1629C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(112))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(112))); aot_gpr_5 = (0u + static_cast(-1)); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -5351,38 +5352,38 @@ L_08B162D4: goto L_08B162D8; L_08B162D8: aot_gpr_31 = (0x08B162E0u); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(112))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(112))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0002_entry, 2u, 495u, 0x0880E450u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B162E0u) goto L_08B162E0; AOT_REGCACHE_SYNC_OUT(); return; L_08B162E0: - aot_gpr_4 = (ctx.gpr[2] << 4u); + aot_gpr_4 = (aot_gpr_2 << 4u); aot_gpr_5 = (aot_gpr_4 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (ctx.gpr[18] + aot_gpr_4); - aot_gpr_17 = (aot_gpr_4 + static_cast(656)); - aot_gpr_4 = (aot_gpr_16 | 0u); + ctx.gpr[17] = (aot_gpr_4 + static_cast(656)); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B16300u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B16300u) goto L_08B16300; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806AE0, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B16300u) goto L_08B16300; AOT_REGCACHE_SYNC_OUT(); return; L_08B16300: - aot_gpr_4 = (ctx.gpr[2] & 255u); + aot_gpr_4 = (aot_gpr_2 & 255u); aot_gpr_4 = (aot_gpr_4 & 1u); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(0)))))); - ctx.gpr[6] = (0u + static_cast(-9)); - aot_gpr_5 = (aot_gpr_5 & ctx.gpr[6]); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(0)))))); + aot_gpr_6 = (0u + static_cast(-9)); + aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); aot_gpr_4 = (aot_gpr_4 << 3u); aot_gpr_4 = (aot_gpr_5 | aot_gpr_4); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(0), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(0), static_cast(aot_gpr_4)); goto L_08B16320; L_08B16320: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_08B16324; L_08B16324: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; @@ -5395,7 +5396,7 @@ L_08B16324: AOT_REGCACHE_SYNC_OUT(); return; L_08B16340: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - { const std::uint32_t aot_run_words[5]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; + { const std::uint32_t aot_run_words[5]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } ctx.gpr[19] = (aot_gpr_4 | 0u); ctx.gpr[18] = (2237u << 16u); @@ -5404,7 +5405,7 @@ L_08B16340: aot_gpr_5 = (0u | 1u); goto L_08B15604; L_08B1636C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08B163A4; @@ -5417,14 +5418,14 @@ L_08B16374: aot_gpr_5 = (0u | 1u); goto L_08B15624; L_08B16380: - aot_gpr_17 = (ctx.gpr[2] | 0u); - aot_gpr_16 = (0u + static_cast(-1)); + ctx.gpr[17] = (aot_gpr_2 | 0u); + ctx.gpr[16] = (0u + static_cast(-1)); aot_gpr_31 = (0x08B16390u); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B16390u) goto L_08B16390; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806634, 0u, 302u, 0x08806634u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B16390u) goto L_08B16390; AOT_REGCACHE_SYNC_OUT(); return; L_08B16390: - aot_gpr_4 = (static_cast(ctx.gpr[2]) < 2 ? 1u : 0u); + aot_gpr_4 = (static_cast(aot_gpr_2) < 2 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -5442,7 +5443,7 @@ L_08B1639C: } L_08B163A4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08B16414; } @@ -5452,21 +5453,21 @@ L_08B163AC: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08B163B8u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B163B8u) goto L_08B163B8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B163B8u) goto L_08B163B8; AOT_REGCACHE_SYNC_OUT(); return; L_08B163B8: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[0])); - aot_gpr_16 = (std::bit_cast(aot_fpr_12)); + ctx.gpr[16] = (std::bit_cast(aot_fpr_12)); goto L_08B163C0; L_08B163C0: aot_gpr_4 = (ctx.gpr[18] | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B163D0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 192u, 0x08ADCA6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B163D0u) goto L_08B163D0; AOT_REGCACHE_SYNC_OUT(); return; L_08B163D0: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[18] == 0u; // nop if (branch_taken) { @@ -5502,17 +5503,17 @@ L_08B16400: L_08B16404: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(112))); aot_gpr_31 = (0x08B16410u); - ctx.gpr[6] = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0002_entry, 2u, 466u, 0x0880E240u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B16410u) goto L_08B16410; AOT_REGCACHE_SYNC_OUT(); return; L_08B16410: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_08B16414; L_08B16414: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; @@ -5525,20 +5526,20 @@ L_08B16414: AOT_REGCACHE_SYNC_OUT(); return; L_08B16430: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - { const std::uint32_t aot_run_words[5]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; + { const std::uint32_t aot_run_words[5]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.gpr[19] = (2237u << 16u); ctx.gpr[19] = (ctx.gpr[19] + static_cast(-28736)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(100))); ctx.gpr[18] = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(52))); - aot_gpr_17 = (0u | 1u); - aot_gpr_4 = (aot_gpr_16 | 0u); + ctx.gpr[17] = (0u | 1u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B1646Cu); aot_gpr_5 = (0u | 1u); goto L_08B15604; L_08B1646C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08B16484; @@ -5546,22 +5547,22 @@ L_08B1646C: goto L_08B16474; } L_08B16474: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B16480u); aot_gpr_5 = (0u | 1u); goto L_08B15624; L_08B16480: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); goto L_08B16484; L_08B16484: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08B16494u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 192u, 0x08ADCA6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B16494u) goto L_08B16494; AOT_REGCACHE_SYNC_OUT(); return; L_08B16494: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[19] == 0u; // nop if (branch_taken) { @@ -5575,27 +5576,27 @@ L_08B164A0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0008_entry, 8u, 34u, 0x08824300u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B164A8u) goto L_08B164A8; AOT_REGCACHE_SYNC_OUT(); return; L_08B164A8: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B164B4u); - aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B164B4u) goto L_08B164B4; + aot_gpr_5 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B164B4u) goto L_08B164B4; AOT_REGCACHE_SYNC_OUT(); return; L_08B164B4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_gpr_17 | 0u); + aot_gpr_2 = (ctx.gpr[17] | 0u); if (branch_taken) { goto L_08B164C0; } goto L_08B164BC; } L_08B164BC: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_08B164C0; L_08B164C0: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; @@ -5608,20 +5609,20 @@ L_08B164C0: AOT_REGCACHE_SYNC_OUT(); return; L_08B164DC: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - { const std::uint32_t aot_run_words[6]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; + { const std::uint32_t aot_run_words[6]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(20), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_17 = (2237u << 16u); - aot_gpr_17 = (aot_gpr_17 + static_cast(-28736)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(100))); + ctx.gpr[16] = (aot_gpr_4 | 0u); + ctx.gpr[17] = (2237u << 16u); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(-28736)); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(100))); ctx.gpr[18] = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(52))); ctx.gpr[19] = (0u | 1u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B1651Cu); aot_gpr_5 = (0u | 1u); goto L_08B15604; L_08B1651C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08B16534; @@ -5629,22 +5630,22 @@ L_08B1651C: goto L_08B16524; } L_08B16524: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B16530u); aot_gpr_5 = (0u | 1u); goto L_08B15624; L_08B16530: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); goto L_08B16534; L_08B16534: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08B16544u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 192u, 0x08ADCA6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B16544u) goto L_08B16544; AOT_REGCACHE_SYNC_OUT(); return; L_08B16544: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[18] == 0u; // nop if (branch_taken) { @@ -5663,13 +5664,13 @@ L_08B16550: } L_08B1655C: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(10)))))); - ctx.gpr[6] = (aot_gpr_29 + static_cast(16)); + aot_gpr_6 = (aot_gpr_29 + static_cast(16)); aot_gpr_31 = (0x08B1656Cu); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1656Cu) goto L_08B1656C; AOT_REGCACHE_SYNC_OUT(); return; L_08B1656C: - aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(96), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(16))); aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(96))); @@ -5677,7 +5678,7 @@ L_08B1656C: L_08B1657C: aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(176))); { const bool branch_taken = aot_gpr_4 != ctx.gpr[20]; - ctx.gpr[6] = (aot_gpr_4 | 0u); + aot_gpr_6 = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08B16590; } @@ -5694,11 +5695,11 @@ L_08B16588: L_08B16590: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(3)))))); aot_gpr_31 = (0x08B1659Cu); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 192u, 0x08ADCA6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1659Cu) goto L_08B1659C; AOT_REGCACHE_SYNC_OUT(); return; L_08B1659C: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); goto L_08B165A0; L_08B165A0: { const bool branch_taken = aot_gpr_4 == 0u; @@ -5717,13 +5718,13 @@ L_08B165A8: goto L_08B165B4; L_08B165B4: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(10)))))); - ctx.gpr[6] = (aot_gpr_29 + static_cast(17)); + aot_gpr_6 = (aot_gpr_29 + static_cast(17)); aot_gpr_31 = (0x08B165C4u); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B165C4u) goto L_08B165C4; AOT_REGCACHE_SYNC_OUT(); return; L_08B165C4: - aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(96), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(17))); aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(96))); @@ -5731,7 +5732,7 @@ L_08B165C4: goto L_08B165D8; L_08B165D8: { const bool branch_taken = aot_gpr_4 != ctx.gpr[20]; - ctx.gpr[6] = (aot_gpr_4 | 0u); + aot_gpr_6 = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08B165E8; } @@ -5739,7 +5740,7 @@ L_08B165D8: } L_08B165E0: { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); if (branch_taken) { goto L_08B165F8; } @@ -5748,34 +5749,34 @@ L_08B165E0: L_08B165E8: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(3)))))); aot_gpr_31 = (0x08B165F4u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 192u, 0x08ADCA6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B165F4u) goto L_08B165F4; AOT_REGCACHE_SYNC_OUT(); return; L_08B165F4: - aot_gpr_17 = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); goto L_08B165F8; L_08B165F8: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B16604u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0195_entry, 195u, 225u, 0x08B10EBCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B16604u) goto L_08B16604; AOT_REGCACHE_SYNC_OUT(); return; L_08B16604: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (ctx.gpr[19] | 0u); + aot_gpr_2 = (ctx.gpr[19] | 0u); if (branch_taken) { goto L_08B16610; } goto L_08B1660C; } L_08B1660C: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_08B16610; L_08B16610: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(20), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -5789,15 +5790,15 @@ L_08B16610: AOT_REGCACHE_SYNC_OUT(); return; L_08B16630: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[16], ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_17 = (0u | 1u); + ctx.gpr[16] = (aot_gpr_4 | 0u); + ctx.gpr[17] = (0u | 1u); aot_gpr_31 = (0x08B16650u); aot_gpr_5 = (0u | 1u); goto L_08B15604; L_08B16650: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08B16690; @@ -5805,13 +5806,13 @@ L_08B16650: goto L_08B16658; } L_08B16658: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B16664u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B16664u) goto L_08B16664; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880692C, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[16], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B16664u) goto L_08B16664; AOT_REGCACHE_SYNC_OUT(); return; L_08B16664: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08B16698; @@ -5819,16 +5820,16 @@ L_08B16664: goto L_08B1666C; } L_08B1666C: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B16678u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B16678u) goto L_08B16678; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B16678u) goto L_08B16678; AOT_REGCACHE_SYNC_OUT(); return; L_08B16678: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[0])); aot_gpr_5 = (std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08B16688u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_08B156A8; L_08B16688: { const bool branch_taken = 0u == 0u; @@ -5840,7 +5841,7 @@ L_08B16688: } L_08B16690: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_gpr_17 | 0u); + aot_gpr_2 = (ctx.gpr[17] | 0u); if (branch_taken) { goto L_08B166B4; } @@ -5852,16 +5853,16 @@ L_08B16698: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(100))); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(52))); aot_gpr_31 = (0x08B166B0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_08B156A8; L_08B166B0: - ctx.gpr[2] = (aot_gpr_17 | 0u); + aot_gpr_2 = (ctx.gpr[17] | 0u); goto L_08B166B4; L_08B166B4: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -5872,33 +5873,33 @@ L_08B166B4: AOT_REGCACHE_SYNC_OUT(); return; L_08B166C8: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - { const std::uint32_t aot_run_words[5]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; + { const std::uint32_t aot_run_words[5]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - aot_gpr_17 = (2237u << 16u); - aot_gpr_17 = (aot_gpr_17 + static_cast(-28736)); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[17] = (2237u << 16u); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(-28736)); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_31 = (0x08B166F4u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 462u, 0x08807220u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B166F4u) goto L_08B166F4; AOT_REGCACHE_SYNC_OUT(); return; L_08B166F4: ctx.gpr[19] = (0u | 1u); ctx.gpr[18] = (0u | 0u); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(100))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(100))); goto L_08B16700; L_08B16700: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(52))); aot_gpr_5 = (aot_gpr_5 + static_cast(1)); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(112))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(112))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(108))); - aot_gpr_4 = (ctx.gpr[6] - aot_gpr_4); - ctx.gpr[6] = (static_cast(static_cast(aot_gpr_4) >> 2u)); - ctx.gpr[6] = (ctx.gpr[6] >> 30u); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_4 = (aot_gpr_6 - aot_gpr_4); + aot_gpr_6 = (static_cast(static_cast(aot_gpr_4) >> 2u)); + aot_gpr_6 = (aot_gpr_6 >> 30u); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 2u)); - ctx.gpr[6] = (aot_gpr_4 < aot_gpr_5 ? 1u : 0u); - if (ctx.gpr[6] != 0u) { + aot_gpr_6 = (aot_gpr_4 < aot_gpr_5 ? 1u : 0u); + if (aot_gpr_6 != 0u) { aot_gpr_4 = (aot_gpr_5 | 0u); goto L_08B16734; } @@ -5913,13 +5914,13 @@ L_08B16734: goto L_08B16740; } L_08B16740: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B1674Cu); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 12u, 0x08ADC0F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1674Cu) goto L_08B1674C; AOT_REGCACHE_SYNC_OUT(); return; L_08B1674C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08B16774; @@ -5927,14 +5928,14 @@ L_08B1674C: goto L_08B16754; } L_08B16754: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B16760u); aot_gpr_5 = (ctx.gpr[18] | 0u); goto L_08B156A8; L_08B16760: - ctx.gpr[6] = (ctx.gpr[19] | 0u); + aot_gpr_6 = (ctx.gpr[19] | 0u); ctx.gpr[19] = (ctx.gpr[19] + static_cast(1)); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B16774u); aot_gpr_5 = (0u + static_cast(-2)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 489u, 0x0880748Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B16774u) goto L_08B16774; @@ -5942,18 +5943,18 @@ L_08B16760: L_08B16774: ctx.gpr[18] = (ctx.gpr[18] + static_cast(1)); { const bool branch_taken = 0u == 0u; - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(100))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(100))); if (branch_taken) { goto L_08B16700; } goto L_08B16780; } L_08B16780: - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; @@ -5966,25 +5967,25 @@ L_08B16780: AOT_REGCACHE_SYNC_OUT(); return; L_08B167A0: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - { const std::uint32_t aot_run_words[5]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; + { const std::uint32_t aot_run_words[5]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - aot_gpr_17 = (2237u << 16u); - aot_gpr_17 = (aot_gpr_17 + static_cast(-28736)); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[17] = (2237u << 16u); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(-28736)); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_31 = (0x08B167CCu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 462u, 0x08807220u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B167CCu) goto L_08B167CC; AOT_REGCACHE_SYNC_OUT(); return; L_08B167CC: ctx.gpr[19] = (0u | 1u); ctx.gpr[18] = (0u | 0u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(100))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(100))); goto L_08B167D8; L_08B167D8: - aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[6] + static_cast(52))); + aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(52))); aot_gpr_5 = (aot_gpr_5 + static_cast(1)); - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(112))); - ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(108))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(112))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(108))); aot_gpr_4 = (aot_gpr_4 - ctx.gpr[7]); ctx.gpr[7] = (static_cast(static_cast(aot_gpr_4) >> 2u)); ctx.gpr[7] = (ctx.gpr[7] >> 30u); @@ -6006,7 +6007,7 @@ L_08B16808: goto L_08B16814; } L_08B16814: - aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[6] + static_cast(52))); + aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(52))); { const bool branch_taken = ctx.gpr[18] == aot_gpr_4; // nop if (branch_taken) { @@ -6015,13 +6016,13 @@ L_08B16814: goto L_08B16820; } L_08B16820: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B1682Cu); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 12u, 0x08ADC0F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1682Cu) goto L_08B1682C; AOT_REGCACHE_SYNC_OUT(); return; L_08B1682C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08B16854; @@ -6029,14 +6030,14 @@ L_08B1682C: goto L_08B16834; } L_08B16834: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B16840u); aot_gpr_5 = (ctx.gpr[18] | 0u); goto L_08B156A8; L_08B16840: - ctx.gpr[6] = (ctx.gpr[19] | 0u); + aot_gpr_6 = (ctx.gpr[19] | 0u); ctx.gpr[19] = (ctx.gpr[19] + static_cast(1)); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B16854u); aot_gpr_5 = (0u + static_cast(-2)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 489u, 0x0880748Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B16854u) goto L_08B16854; @@ -6044,18 +6045,18 @@ L_08B16840: L_08B16854: ctx.gpr[18] = (ctx.gpr[18] + static_cast(1)); { const bool branch_taken = 0u == 0u; - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(100))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(100))); if (branch_taken) { goto L_08B167D8; } goto L_08B16860; } L_08B16860: - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; @@ -6068,16 +6069,16 @@ L_08B16860: AOT_REGCACHE_SYNC_OUT(); return; L_08B16880: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - { const std::uint32_t aot_run_words[7]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_31}; + { const std::uint32_t aot_run_words[7]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.gpr[21] = (0u | 1u); aot_gpr_31 = (0x08B168B0u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B168B0u) goto L_08B168B0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880692C, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[16], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B168B0u) goto L_08B168B0; AOT_REGCACHE_SYNC_OUT(); return; L_08B168B0: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08B168C0; @@ -6086,45 +6087,45 @@ L_08B168B0: } L_08B168B8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08B16984; } goto L_08B168C0; } L_08B168C0: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B168CCu); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B168CCu) goto L_08B168CC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B168CCu) goto L_08B168CC; AOT_REGCACHE_SYNC_OUT(); return; L_08B168CC: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[0])); ctx.gpr[20] = (std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08B168DCu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 462u, 0x08807220u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B168DCu) goto L_08B168DC; AOT_REGCACHE_SYNC_OUT(); return; L_08B168DC: ctx.gpr[19] = (ctx.gpr[21] | 0u); ctx.gpr[18] = (0u | 0u); - aot_gpr_17 = (2237u << 16u); - aot_gpr_17 = (aot_gpr_17 + static_cast(-28736)); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(100))); + ctx.gpr[17] = (2237u << 16u); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(-28736)); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(100))); goto L_08B168F0; L_08B168F0: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(52))); aot_gpr_5 = (aot_gpr_5 + static_cast(1)); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(112))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(112))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(108))); - aot_gpr_4 = (ctx.gpr[6] - aot_gpr_4); - ctx.gpr[6] = (static_cast(static_cast(aot_gpr_4) >> 2u)); - ctx.gpr[6] = (ctx.gpr[6] >> 30u); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_4 = (aot_gpr_6 - aot_gpr_4); + aot_gpr_6 = (static_cast(static_cast(aot_gpr_4) >> 2u)); + aot_gpr_6 = (aot_gpr_6 >> 30u); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 2u)); - ctx.gpr[6] = (aot_gpr_4 < aot_gpr_5 ? 1u : 0u); - if (ctx.gpr[6] != 0u) { + aot_gpr_6 = (aot_gpr_4 < aot_gpr_5 ? 1u : 0u); + if (aot_gpr_6 != 0u) { aot_gpr_4 = (aot_gpr_5 | 0u); goto L_08B16924; } @@ -6139,14 +6140,14 @@ L_08B16924: goto L_08B16930; } L_08B16930: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B1693Cu); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 12u, 0x08ADC0F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1693Cu) goto L_08B1693C; AOT_REGCACHE_SYNC_OUT(); return; L_08B1693C: - { const bool branch_taken = ctx.gpr[2] == 0u; - aot_gpr_4 = (aot_gpr_17 | 0u); + { const bool branch_taken = aot_gpr_2 == 0u; + aot_gpr_4 = (ctx.gpr[17] | 0u); if (branch_taken) { goto L_08B16974; } @@ -6158,7 +6159,7 @@ L_08B16944: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 101u, 0x08ADC560u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1694Cu) goto L_08B1694C; AOT_REGCACHE_SYNC_OUT(); return; L_08B1694C: - { const bool branch_taken = ctx.gpr[2] != ctx.gpr[20]; + { const bool branch_taken = aot_gpr_2 != ctx.gpr[20]; // nop if (branch_taken) { goto L_08B16974; @@ -6166,14 +6167,14 @@ L_08B1694C: goto L_08B16954; } L_08B16954: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B16960u); aot_gpr_5 = (ctx.gpr[18] | 0u); goto L_08B156A8; L_08B16960: - ctx.gpr[6] = (ctx.gpr[19] | 0u); + aot_gpr_6 = (ctx.gpr[19] | 0u); ctx.gpr[19] = (ctx.gpr[19] + static_cast(1)); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B16974u); aot_gpr_5 = (0u + static_cast(-2)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 489u, 0x0880748Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B16974u) goto L_08B16974; @@ -6181,20 +6182,20 @@ L_08B16960: L_08B16974: ctx.gpr[18] = (ctx.gpr[18] + static_cast(1)); { const bool branch_taken = 0u == 0u; - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(100))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(100))); if (branch_taken) { goto L_08B168F0; } goto L_08B16980; } L_08B16980: - ctx.gpr[2] = (ctx.gpr[21] | 0u); + aot_gpr_2 = (ctx.gpr[21] | 0u); goto L_08B16984; L_08B16984: { std::uint32_t aot_run_words[7]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -6209,9 +6210,9 @@ L_08B16984: AOT_REGCACHE_SYNC_OUT(); return; L_08B169A8: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - { const std::uint32_t aot_run_words[5]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; + { const std::uint32_t aot_run_words[5]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.gpr[19] = (0u | 1u); aot_gpr_31 = (0x08B169D0u); aot_gpr_5 = (0u | 1u); @@ -6219,7 +6220,7 @@ L_08B169A8: AOT_REGCACHE_SYNC_OUT(); return; L_08B169D0: ctx.gpr[18] = (2237u << 16u); - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; ctx.gpr[18] = (ctx.gpr[18] + static_cast(-28736)); if (branch_taken) { goto L_08B16A00; @@ -6228,13 +6229,13 @@ L_08B169D0: } L_08B169DC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(100))); - aot_gpr_17 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(52))); - aot_gpr_4 = (aot_gpr_16 | 0u); + ctx.gpr[17] = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(52))); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B169F0u); aot_gpr_5 = (0u | 1u); goto L_08B15604; L_08B169F0: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08B16A20; @@ -6250,7 +6251,7 @@ L_08B169F8: goto L_08B16A00; } L_08B16A00: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B16A0Cu); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 375u, 0x08806B2Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B16A0Cu) goto L_08B16A0C; @@ -6258,33 +6259,33 @@ L_08B16A00: L_08B16A0C: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08B16A18u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 24u, 0x08ADC18Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B16A18u) goto L_08B16A18; AOT_REGCACHE_SYNC_OUT(); return; L_08B16A18: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08B16A74; } goto L_08B16A20; } L_08B16A20: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B16A2Cu); aot_gpr_5 = (0u | 1u); goto L_08B15624; L_08B16A2C: - aot_gpr_17 = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); goto L_08B16A30; L_08B16A30: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08B16A3Cu); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 20u, 0x08ADC150u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B16A3Cu) goto L_08B16A3C; AOT_REGCACHE_SYNC_OUT(); return; L_08B16A3C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08B16A64; @@ -6294,13 +6295,13 @@ L_08B16A3C: L_08B16A44: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08B16A50u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 32u, 0x08ADC204u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B16A50u) goto L_08B16A50; AOT_REGCACHE_SYNC_OUT(); return; L_08B16A50: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B16A5Cu); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 430u, 0x08806E68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B16A5Cu) goto L_08B16A5C; AOT_REGCACHE_SYNC_OUT(); return; L_08B16A5C: @@ -6314,17 +6315,17 @@ L_08B16A5C: L_08B16A64: aot_gpr_5 = (ctx.gpr[28] + static_cast(3132)); aot_gpr_31 = (0x08B16A70u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 430u, 0x08806E68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B16A70u) goto L_08B16A70; AOT_REGCACHE_SYNC_OUT(); return; L_08B16A70: - ctx.gpr[2] = (ctx.gpr[19] | 0u); + aot_gpr_2 = (ctx.gpr[19] | 0u); goto L_08B16A74; L_08B16A74: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; @@ -6337,20 +6338,20 @@ L_08B16A74: AOT_REGCACHE_SYNC_OUT(); return; L_08B16A90: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_4 = (2237u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(100))); ctx.gpr[18] = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(52))); - aot_gpr_17 = (0u | 1u); - aot_gpr_4 = (aot_gpr_16 | 0u); + ctx.gpr[17] = (0u | 1u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B16AC8u); aot_gpr_5 = (0u | 1u); goto L_08B15604; L_08B16AC8: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08B16AE0; @@ -6358,26 +6359,26 @@ L_08B16AC8: goto L_08B16AD0; } L_08B16AD0: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B16ADCu); aot_gpr_5 = (0u | 1u); goto L_08B15624; L_08B16ADC: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); goto L_08B16AE0; L_08B16AE0: aot_fpr_12 = std::bit_cast(ctx.gpr[18]); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_gpr_31 = (0x08B16AF0u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B16AF0u) goto L_08B16AF0; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B16AF0u) goto L_08B16AF0; AOT_REGCACHE_SYNC_OUT(); return; L_08B16AF0: - ctx.gpr[2] = (aot_gpr_17 | 0u); + aot_gpr_2 = (ctx.gpr[17] | 0u); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -6389,20 +6390,20 @@ L_08B16AF0: AOT_REGCACHE_SYNC_OUT(); return; L_08B16B0C: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - { const std::uint32_t aot_run_words[5]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; + { const std::uint32_t aot_run_words[5]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.gpr[19] = (2237u << 16u); ctx.gpr[19] = (ctx.gpr[19] + static_cast(-28736)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(100))); ctx.gpr[18] = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(52))); - aot_gpr_17 = (0u | 1u); - aot_gpr_4 = (aot_gpr_16 | 0u); + ctx.gpr[17] = (0u | 1u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B16B48u); aot_gpr_5 = (0u | 1u); goto L_08B15604; L_08B16B48: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08B16B60; @@ -6410,12 +6411,12 @@ L_08B16B48: goto L_08B16B50; } L_08B16B50: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B16B5Cu); aot_gpr_5 = (0u | 1u); goto L_08B15624; L_08B16B5C: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); goto L_08B16B60; L_08B16B60: aot_gpr_4 = (ctx.gpr[19] | 0u); @@ -6424,17 +6425,17 @@ L_08B16B60: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 91u, 0x08ADC4C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B16B6Cu) goto L_08B16B6C; AOT_REGCACHE_SYNC_OUT(); return; L_08B16B6C: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B16B78u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 430u, 0x08806E68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B16B78u) goto L_08B16B78; AOT_REGCACHE_SYNC_OUT(); return; L_08B16B78: - ctx.gpr[2] = (aot_gpr_17 | 0u); + aot_gpr_2 = (ctx.gpr[17] | 0u); { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; @@ -6447,20 +6448,20 @@ L_08B16B78: AOT_REGCACHE_SYNC_OUT(); return; L_08B16B98: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - { const std::uint32_t aot_run_words[5]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; + { const std::uint32_t aot_run_words[5]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.gpr[19] = (2237u << 16u); ctx.gpr[19] = (ctx.gpr[19] + static_cast(-28736)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(100))); ctx.gpr[18] = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(52))); - aot_gpr_17 = (0u | 1u); - aot_gpr_4 = (aot_gpr_16 | 0u); + ctx.gpr[17] = (0u | 1u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B16BD4u); aot_gpr_5 = (0u | 1u); goto L_08B15604; L_08B16BD4: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08B16BEC; @@ -6468,12 +6469,12 @@ L_08B16BD4: goto L_08B16BDC; } L_08B16BDC: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B16BE8u); aot_gpr_5 = (0u | 1u); goto L_08B15624; L_08B16BE8: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); goto L_08B16BEC; L_08B16BEC: aot_gpr_4 = (ctx.gpr[19] | 0u); @@ -6482,18 +6483,18 @@ L_08B16BEC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 101u, 0x08ADC560u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B16BF8u) goto L_08B16BF8; AOT_REGCACHE_SYNC_OUT(); return; L_08B16BF8: - aot_fpr_12 = std::bit_cast(ctx.gpr[2]); + aot_fpr_12 = std::bit_cast(aot_gpr_2); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_gpr_31 = (0x08B16C08u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B16C08u) goto L_08B16C08; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B16C08u) goto L_08B16C08; AOT_REGCACHE_SYNC_OUT(); return; L_08B16C08: - ctx.gpr[2] = (aot_gpr_17 | 0u); + aot_gpr_2 = (ctx.gpr[17] | 0u); { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; @@ -6506,20 +6507,20 @@ L_08B16C08: AOT_REGCACHE_SYNC_OUT(); return; L_08B16C28: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - { const std::uint32_t aot_run_words[5]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; + { const std::uint32_t aot_run_words[5]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.gpr[19] = (2237u << 16u); ctx.gpr[19] = (ctx.gpr[19] + static_cast(-28736)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(100))); ctx.gpr[18] = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(52))); - aot_gpr_17 = (0u | 1u); - aot_gpr_4 = (aot_gpr_16 | 0u); + ctx.gpr[17] = (0u | 1u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B16C64u); aot_gpr_5 = (0u | 1u); goto L_08B15604; L_08B16C64: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08B16C7C; @@ -6527,12 +6528,12 @@ L_08B16C64: goto L_08B16C6C; } L_08B16C6C: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B16C78u); aot_gpr_5 = (0u | 1u); goto L_08B15624; L_08B16C78: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); goto L_08B16C7C; L_08B16C7C: aot_gpr_4 = (ctx.gpr[19] | 0u); @@ -6541,7 +6542,7 @@ L_08B16C7C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 101u, 0x08ADC560u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B16C88u) goto L_08B16C88; AOT_REGCACHE_SYNC_OUT(); return; L_08B16C88: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5872))); if (branch_taken) { goto L_08B16CC8; @@ -6569,8 +6570,8 @@ L_08B16CA8: aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_gpr_31 = (0x08B16CC0u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B16CC0u) goto L_08B16CC0; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B16CC0u) goto L_08B16CC0; AOT_REGCACHE_SYNC_OUT(); return; L_08B16CC0: { const bool branch_taken = 0u == 0u; @@ -6601,15 +6602,15 @@ L_08B16CE0: aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_gpr_31 = (0x08B16CF8u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B16CF8u) goto L_08B16CF8; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B16CF8u) goto L_08B16CF8; AOT_REGCACHE_SYNC_OUT(); return; L_08B16CF8: - ctx.gpr[2] = (aot_gpr_17 | 0u); + aot_gpr_2 = (ctx.gpr[17] | 0u); { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; @@ -6622,15 +6623,15 @@ L_08B16CF8: AOT_REGCACHE_SYNC_OUT(); return; L_08B16D18: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.gpr[18] = (0u | 1u); aot_gpr_31 = (0x08B16D3Cu); aot_gpr_5 = (0u | 1u); goto L_08B15650; L_08B16D3C: - aot_gpr_17 = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5872))); if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5872))); @@ -6647,13 +6648,13 @@ L_08B16D54: goto L_08B16D58; L_08B16D58: aot_gpr_31 = (0x08B16D60u); - aot_gpr_5 = (aot_gpr_17 & 255u); + aot_gpr_5 = (ctx.gpr[17] & 255u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0147_entry, 147u, 561u, 0x08A53098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B16D60u) goto L_08B16D60; AOT_REGCACHE_SYNC_OUT(); return; L_08B16D60: - aot_gpr_4 = (ctx.gpr[2] | 0u); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(40))); - aot_gpr_5 = (aot_gpr_17 < static_cast(1) ? 1u : 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(40))); + aot_gpr_5 = (ctx.gpr[17] < static_cast(1) ? 1u : 0u); aot_gpr_5 = (aot_gpr_5 & 255u); if (aot_gpr_5 == 0u) { aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(28))); @@ -6669,8 +6670,8 @@ L_08B16D78: goto L_08B16D80; } L_08B16D80: - aot_fpr_12 = std::bit_cast(aot_gpr_17); - { const bool branch_taken = static_cast(aot_gpr_17) >= 0; + aot_fpr_12 = std::bit_cast(ctx.gpr[17]); + { const bool branch_taken = static_cast(ctx.gpr[17]) >= 0; aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); if (branch_taken) { goto L_08B16D98; @@ -6695,15 +6696,15 @@ L_08B16D9C: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<3u>(aot_fpr_12)); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_gpr_31 = (0x08B16DC4u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B16DC4u) goto L_08B16DC4; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B16DC4u) goto L_08B16DC4; AOT_REGCACHE_SYNC_OUT(); return; L_08B16DC4: - ctx.gpr[2] = (ctx.gpr[18] | 0u); + aot_gpr_2 = (ctx.gpr[18] | 0u); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -6715,10 +6716,10 @@ L_08B16DC4: AOT_REGCACHE_SYNC_OUT(); return; L_08B16DE0: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[16], ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_17 = (0u | 1u); + ctx.gpr[16] = (aot_gpr_4 | 0u); + ctx.gpr[17] = (0u | 1u); aot_gpr_31 = (0x08B16E00u); aot_gpr_5 = (0u | 1u); goto L_08B15650; @@ -6726,21 +6727,21 @@ L_08B16E00: aot_gpr_4 = (2237u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); aot_gpr_31 = (0x08B16E10u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 20u, 0x08ADC150u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B16E10u) goto L_08B16E10; AOT_REGCACHE_SYNC_OUT(); return; L_08B16E10: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B16E1Cu); - aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B16E1Cu) goto L_08B16E1C; + aot_gpr_5 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B16E1Cu) goto L_08B16E1C; AOT_REGCACHE_SYNC_OUT(); return; L_08B16E1C: - ctx.gpr[2] = (aot_gpr_17 | 0u); + aot_gpr_2 = (ctx.gpr[17] | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -6751,16 +6752,16 @@ L_08B16E1C: AOT_REGCACHE_SYNC_OUT(); return; L_08B16E34: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - { const std::uint32_t aot_run_words[5]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), aot_gpr_16, aot_gpr_31}; + { const std::uint32_t aot_run_words[5]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), ctx.gpr[16], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(16), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_31 = (0x08B16E58u); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0038_entry, 38u, 294u, 0x0889D610u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B16E58u) goto L_08B16E58; AOT_REGCACHE_SYNC_OUT(); return; L_08B16E58: ctx.fpr[24] = std::bit_cast(std::bit_cast(ctx.fpr[0])); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B16E68u); aot_gpr_5 = (0u | 2u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0038_entry, 38u, 294u, 0x0889D610u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B16E68u) goto L_08B16E68; @@ -6770,11 +6771,11 @@ L_08B16E68: aot_gpr_4 = (49864u << 16u); aot_fpr_20 = std::bit_cast(aot_gpr_4); aot_gpr_31 = (0x08B16E7Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B16E7Cu) goto L_08B16E7C; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806634, 0u, 302u, 0x08806634u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B16E7Cu) goto L_08B16E7C; AOT_REGCACHE_SYNC_OUT(); return; L_08B16E7C: - aot_gpr_4 = (static_cast(ctx.gpr[2]) < 3 ? 1u : 0u); + aot_gpr_4 = (static_cast(aot_gpr_2) < 3 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -6783,7 +6784,7 @@ L_08B16E7C: goto L_08B16E88; } L_08B16E88: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B16E94u); aot_gpr_5 = (0u | 3u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0038_entry, 38u, 294u, 0x0889D610u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B16E94u) goto L_08B16E94; @@ -6801,13 +6802,13 @@ L_08B16E98: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 516u, 0x08ADDF58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B16EB4u) goto L_08B16EB4; AOT_REGCACHE_SYNC_OUT(); return; L_08B16EB4: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); - aot_gpr_16 = aot_run_words[3]; + ctx.gpr[16] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; } jump_target = aot_gpr_31; @@ -6823,10 +6824,10 @@ L_08B16ED4: aot_gpr_5 = (aot_gpr_5 + static_cast(-28736)); aot_gpr_31 = (0x08B16EECu); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(304))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B16EECu) goto L_08B16EEC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B16EECu) goto L_08B16EEC; AOT_REGCACHE_SYNC_OUT(); return; L_08B16EEC: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -6836,18 +6837,18 @@ L_08B16EEC: AOT_REGCACHE_SYNC_OUT(); return; L_08B16EFC: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[16], ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_31 = (0x08B16F18u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B16F18u) goto L_08B16F18; AOT_REGCACHE_SYNC_OUT(); return; L_08B16F18: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(2228))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(2228))); aot_gpr_5 = (0u | 59u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; - aot_gpr_17 = (0u | 1u); + ctx.gpr[17] = (0u | 1u); if (branch_taken) { goto L_08B16F34; } @@ -6863,10 +6864,10 @@ L_08B16F28: goto L_08B16F34; } L_08B16F34: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B16F40u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B16F40u) goto L_08B16F40; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B16F40u) goto L_08B16F40; AOT_REGCACHE_SYNC_OUT(); return; L_08B16F40: { const bool branch_taken = 0u == 0u; @@ -6877,17 +6878,17 @@ L_08B16F40: goto L_08B16F48; } L_08B16F48: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B16F54u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B16F54u) goto L_08B16F54; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B16F54u) goto L_08B16F54; AOT_REGCACHE_SYNC_OUT(); return; L_08B16F54: - ctx.gpr[2] = (aot_gpr_17 | 0u); + aot_gpr_2 = (ctx.gpr[17] | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -6898,12 +6899,12 @@ L_08B16F54: AOT_REGCACHE_SYNC_OUT(); return; L_08B16F6C: aot_gpr_29 = (aot_gpr_29 + static_cast(-64)); - { const std::uint32_t aot_run_words[5]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; + { const std::uint32_t aot_run_words[5]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(32), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_4 = (2237u << 16u); - aot_gpr_17 = (aot_gpr_4 + static_cast(-28736)); - aot_gpr_4 = (aot_gpr_16 | 0u); + ctx.gpr[17] = (aot_gpr_4 + static_cast(-28736)); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B16F9Cu); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0038_entry, 38u, 294u, 0x0889D610u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B16F9Cu) goto L_08B16F9C; @@ -6912,25 +6913,25 @@ L_08B16F9C: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[0])); aot_gpr_5 = (std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08B16FACu); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 16u, 0x08ADC120u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B16FACu) goto L_08B16FAC; AOT_REGCACHE_SYNC_OUT(); return; L_08B16FAC: - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08B16FB8u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B16FB8u) goto L_08B16FB8; AOT_REGCACHE_SYNC_OUT(); return; L_08B16FB8: - ctx.gpr[18] = (ctx.gpr[2] | 0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B16FC8u); aot_gpr_5 = (0u | 2u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0195_entry, 195u, 200u, 0x08B10D5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B16FC8u) goto L_08B16FC8; AOT_REGCACHE_SYNC_OUT(); return; L_08B16FC8: - aot_gpr_17 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_08B17054; @@ -6955,7 +6956,7 @@ L_08B16FDC: goto L_08B16FE8; } L_08B16FE8: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(3)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(3)))))); aot_gpr_5 = (2237u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(-28736)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(100))); @@ -6994,32 +6995,32 @@ L_08B17030: aot_gpr_4 = (2237u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); aot_gpr_31 = (0x08B17040u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 264u, 0x08ADCEA0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B17040u) goto L_08B17040; AOT_REGCACHE_SYNC_OUT(); return; L_08B17040: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B1704Cu); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1704Cu) goto L_08B1704C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1704Cu) goto L_08B1704C; AOT_REGCACHE_SYNC_OUT(); return; L_08B1704C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_08B17138; } goto L_08B17054; } L_08B17054: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B17060u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B17060u) goto L_08B17060; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B17060u) goto L_08B17060; AOT_REGCACHE_SYNC_OUT(); return; L_08B17060: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_08B17138; } @@ -7033,10 +7034,10 @@ L_08B17068: AOT_REGCACHE_SYNC_OUT(); return; L_08B17074: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(104))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(104))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(104))); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(2116), aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(104))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(104))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(104))); aot_gpr_31 = (0x08B17090u); aot_gpr_5 = (0u | 18u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0178_entry, 178u, 482u, 0x08ACD698u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B17090u) goto L_08B17090; @@ -7044,7 +7045,7 @@ L_08B17074: L_08B17090: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(104))); aot_gpr_31 = (0x08B1709Cu); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(104))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(104))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0073_entry, 73u, 878u, 0x0892BA54u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1709Cu) goto L_08B1709C; AOT_REGCACHE_SYNC_OUT(); return; L_08B1709C: @@ -7055,10 +7056,10 @@ L_08B1709C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1089u, 0x08AC7F64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B170ACu) goto L_08B170AC; AOT_REGCACHE_SYNC_OUT(); return; L_08B170AC: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B170B8u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B170B8u) goto L_08B170B8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B170B8u) goto L_08B170B8; AOT_REGCACHE_SYNC_OUT(); return; L_08B170B8: aot_gpr_31 = (0x08B170C0u); @@ -7071,7 +7072,7 @@ L_08B170C0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 321u, 0x08809958u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B170C8u) goto L_08B170C8; AOT_REGCACHE_SYNC_OUT(); return; L_08B170C8: - { const bool branch_taken = ctx.gpr[2] != 0u; + { const bool branch_taken = aot_gpr_2 != 0u; // nop if (branch_taken) { goto L_08B170E4; @@ -7079,50 +7080,50 @@ L_08B170C8: goto L_08B170D0; } L_08B170D0: - aot_gpr_16 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[16] = (aot_gpr_29 + static_cast(16)); aot_gpr_31 = (0x08B170DCu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 16u, 0x08960154u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B170DCu) goto L_08B170DC; AOT_REGCACHE_SYNC_OUT(); return; L_08B170DC: aot_gpr_31 = (0x08B170E4u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 587u, 0x08AD3578u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B170E4u) goto L_08B170E4; AOT_REGCACHE_SYNC_OUT(); return; L_08B170E4: aot_gpr_4 = (2236u << 16u); - aot_gpr_16 = (aot_gpr_4 + static_cast(32304)); - aot_gpr_4 = (aot_gpr_16 | 0u); + ctx.gpr[16] = (aot_gpr_4 + static_cast(32304)); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x08B17100u); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0134_entry, 134u, 156u, 0x08A1CF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B17100u) goto L_08B17100; AOT_REGCACHE_SYNC_OUT(); return; L_08B17100: aot_fpr_12 = std::bit_cast(0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B17110u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0134_entry, 134u, 4u, 0x08A1C044u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B17110u) goto L_08B17110; AOT_REGCACHE_SYNC_OUT(); return; L_08B17110: aot_gpr_31 = (0x08B17118u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0134_entry, 134u, 91u, 0x08A1C8D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B17118u) goto L_08B17118; AOT_REGCACHE_SYNC_OUT(); return; L_08B17118: aot_gpr_4 = (16512u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_16 = (0u | 1u); + aot_gpr_4 = (ctx.gpr[16] | 0u); + ctx.gpr[16] = (0u | 1u); aot_gpr_31 = (0x08B17130u); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0134_entry, 134u, 4u, 0x08A1C044u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B17130u) goto L_08B17130; AOT_REGCACHE_SYNC_OUT(); return; L_08B17130: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_gpr_16 | 0u); + aot_gpr_2 = (ctx.gpr[16] | 0u); if (branch_taken) { goto L_08B17138; } @@ -7131,8 +7132,8 @@ L_08B17130: L_08B17138: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(32), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; @@ -7166,10 +7167,10 @@ L_08B17178: L_08B17184: aot_gpr_31 = (0x08B1718Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1718Cu) goto L_08B1718C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1718Cu) goto L_08B1718C; AOT_REGCACHE_SYNC_OUT(); return; L_08B1718C: - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -7185,7 +7186,7 @@ L_08B1719C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 571u, 0x08946EA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B171ACu) goto L_08B171AC; AOT_REGCACHE_SYNC_OUT(); return; L_08B171AC: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -7196,7 +7197,7 @@ L_08B171AC: L_08B171BC: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[6]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_6); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(3)))))); aot_gpr_5 = (aot_gpr_4 & 2u); { const bool branch_taken = aot_gpr_5 == 0u; @@ -7221,7 +7222,7 @@ L_08B171E0: AOT_REGCACHE_SYNC_OUT(); return; L_08B171E8: { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(ctx.gpr[2] + static_cast(156), static_cast(0u)); + aot_mem.aot_direct_store8(aot_gpr_2 + static_cast(156), static_cast(0u)); if (branch_taken) { goto L_08B1723C; } @@ -7235,7 +7236,7 @@ L_08B171F0: L_08B171F8: aot_gpr_4 = (0u | 1u); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(ctx.gpr[2] + static_cast(156), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(aot_gpr_2 + static_cast(156), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08B1723C; } @@ -7255,11 +7256,11 @@ L_08B1720C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B17214u) goto L_08B17214; AOT_REGCACHE_SYNC_OUT(); return; L_08B17214: - aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(154))); + aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(154))); aot_gpr_5 = (0u + static_cast(-33)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store16(ctx.gpr[2] + static_cast(154), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store16(aot_gpr_2 + static_cast(154), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08B1723C; } @@ -7271,9 +7272,9 @@ L_08B17228: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B17230u) goto L_08B17230; AOT_REGCACHE_SYNC_OUT(); return; L_08B17230: - aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(154))); + aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(154))); aot_gpr_4 = (aot_gpr_4 | 32u); - aot_mem.aot_direct_store16(ctx.gpr[2] + static_cast(154), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store16(aot_gpr_2 + static_cast(154), static_cast(aot_gpr_4)); goto L_08B1723C; L_08B1723C: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -7285,9 +7286,9 @@ L_08B1723C: AOT_REGCACHE_SYNC_OUT(); return; L_08B17248: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(24), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_31 = (0x08B17268u); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0038_entry, 38u, 294u, 0x0889D610u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B17268u) goto L_08B17268; @@ -7295,23 +7296,23 @@ L_08B17248: L_08B17268: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[0])); ctx.gpr[18] = (std::bit_cast(aot_fpr_12)); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B1727Cu); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1727Cu) goto L_08B1727C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806AE0, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1727Cu) goto L_08B1727C; AOT_REGCACHE_SYNC_OUT(); return; L_08B1727C: - aot_gpr_4 = (0u < ctx.gpr[2] ? 1u : 0u); + aot_gpr_4 = (0u < aot_gpr_2 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_5 = (0u | 4u); aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(16), static_cast(aot_gpr_5)); aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(10548))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(18), static_cast(aot_gpr_5)); - aot_gpr_17 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[17] = (aot_gpr_29 + static_cast(16)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(19)))))); - ctx.gpr[6] = (0u + static_cast(-2)); - aot_gpr_5 = (aot_gpr_5 & ctx.gpr[6]); + aot_gpr_6 = (0u + static_cast(-2)); + aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); aot_gpr_4 = (aot_gpr_4 & 1u); aot_gpr_4 = (aot_gpr_5 | aot_gpr_4); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(19), static_cast(aot_gpr_4)); @@ -7319,15 +7320,15 @@ L_08B1727C: aot_gpr_5 = (0u + static_cast(-3)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(19), static_cast(aot_gpr_4)); - aot_gpr_16 = (2237u << 16u); - aot_gpr_16 = (aot_gpr_16 + static_cast(-28736)); - aot_gpr_4 = (aot_gpr_16 | 0u); + ctx.gpr[16] = (2237u << 16u); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(-28736)); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B172D8u); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 8u, 0x08ADC0B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B172D8u) goto L_08B172D8; AOT_REGCACHE_SYNC_OUT(); return; L_08B172D8: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08B172F8; @@ -7336,25 +7337,25 @@ L_08B172D8: } L_08B172E0: aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(20), static_cast(0u)); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(20)))))); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(20)))))); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08B172F8u); ctx.gpr[7] = (0u | 0u); goto L_08B171BC; L_08B172F8: - aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B17308u); - ctx.gpr[6] = (ctx.gpr[18] | 0u); + aot_gpr_6 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 189u, 0x08ADCA34u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B17308u) goto L_08B17308; AOT_REGCACHE_SYNC_OUT(); return; L_08B17308: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(24), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -7366,9 +7367,9 @@ L_08B17308: AOT_REGCACHE_SYNC_OUT(); return; L_08B17324: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(24), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_31 = (0x08B17344u); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0038_entry, 38u, 294u, 0x0889D610u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B17344u) goto L_08B17344; @@ -7376,23 +7377,23 @@ L_08B17324: L_08B17344: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[0])); ctx.gpr[18] = (std::bit_cast(aot_fpr_12)); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B17358u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B17358u) goto L_08B17358; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806AE0, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B17358u) goto L_08B17358; AOT_REGCACHE_SYNC_OUT(); return; L_08B17358: - aot_gpr_4 = (0u < ctx.gpr[2] ? 1u : 0u); + aot_gpr_4 = (0u < aot_gpr_2 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_5 = (0u | 4u); aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(16), static_cast(aot_gpr_5)); aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(10548))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(18), static_cast(aot_gpr_5)); - aot_gpr_17 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[17] = (aot_gpr_29 + static_cast(16)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(19)))))); - ctx.gpr[6] = (0u + static_cast(-2)); - aot_gpr_5 = (aot_gpr_5 & ctx.gpr[6]); + aot_gpr_6 = (0u + static_cast(-2)); + aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); aot_gpr_4 = (aot_gpr_4 & 1u); aot_gpr_4 = (aot_gpr_5 | aot_gpr_4); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(19), static_cast(aot_gpr_4)); @@ -7400,15 +7401,15 @@ L_08B17358: aot_gpr_5 = (0u + static_cast(-3)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(19), static_cast(aot_gpr_4)); - aot_gpr_16 = (2237u << 16u); - aot_gpr_16 = (aot_gpr_16 + static_cast(-28736)); - aot_gpr_4 = (aot_gpr_16 | 0u); + ctx.gpr[16] = (2237u << 16u); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(-28736)); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B173B4u); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 8u, 0x08ADC0B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B173B4u) goto L_08B173B4; AOT_REGCACHE_SYNC_OUT(); return; L_08B173B4: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08B173D4; @@ -7417,25 +7418,25 @@ L_08B173B4: } L_08B173BC: aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(20), static_cast(0u)); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(20)))))); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(20)))))); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08B173D4u); ctx.gpr[7] = (0u | 0u); goto L_08B171BC; L_08B173D4: - aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B173E4u); - ctx.gpr[6] = (ctx.gpr[18] | 0u); + aot_gpr_6 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 189u, 0x08ADCA34u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B173E4u) goto L_08B173E4; AOT_REGCACHE_SYNC_OUT(); return; L_08B173E4: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(24), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -7450,10 +7451,10 @@ L_08B17400: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); aot_gpr_31 = (0x08B17410u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B17410u) goto L_08B17410; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806AE0, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B17410u) goto L_08B17410; AOT_REGCACHE_SYNC_OUT(); return; L_08B17410: - aot_gpr_4 = (0u < ctx.gpr[2] ? 1u : 0u); + aot_gpr_4 = (0u < aot_gpr_2 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -7467,11 +7468,11 @@ L_08B1741C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B17424u) goto L_08B17424; AOT_REGCACHE_SYNC_OUT(); return; L_08B17424: - aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(154))); + aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(154))); aot_gpr_5 = (0u + static_cast(-33)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store16(ctx.gpr[2] + static_cast(154), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store16(aot_gpr_2 + static_cast(154), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08B1744C; } @@ -7483,12 +7484,12 @@ L_08B17438: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B17440u) goto L_08B17440; AOT_REGCACHE_SYNC_OUT(); return; L_08B17440: - aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(154))); + aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(154))); aot_gpr_4 = (aot_gpr_4 | 32u); - aot_mem.aot_direct_store16(ctx.gpr[2] + static_cast(154), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store16(aot_gpr_2 + static_cast(154), static_cast(aot_gpr_4)); goto L_08B1744C; L_08B1744C: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -7501,22 +7502,22 @@ L_08B1745C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); aot_gpr_31 = (0x08B1746Cu); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1746Cu) goto L_08B1746C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1746Cu) goto L_08B1746C; AOT_REGCACHE_SYNC_OUT(); return; L_08B1746C: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[0])); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7800))); - ctx.gpr[6] = (aot_gpr_5 << 8u); + aot_gpr_6 = (aot_gpr_5 << 8u); ctx.gpr[7] = (aot_gpr_5 + aot_gpr_5); aot_gpr_5 = (aot_gpr_5 + ctx.gpr[7]); aot_gpr_5 = (aot_gpr_5 << 5u); - aot_gpr_5 = (ctx.gpr[6] + aot_gpr_5); - ctx.gpr[6] = (2238u << 16u); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(-6992)); - aot_gpr_5 = (aot_gpr_5 + ctx.gpr[6]); + aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); + aot_gpr_6 = (2238u << 16u); + aot_gpr_6 = (aot_gpr_6 + static_cast(-6992)); + aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(328), aot_gpr_4); - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -7526,19 +7527,19 @@ L_08B1746C: AOT_REGCACHE_SYNC_OUT(); return; L_08B174AC: aot_gpr_29 = (aot_gpr_29 + static_cast(-64)); - { const std::uint32_t aot_run_words[6]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; + { const std::uint32_t aot_run_words[6]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(32), aot_run_words); } - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); ctx.gpr[18] = (0u | 0u); ctx.gpr[19] = (0u | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), ctx.gpr[6]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), aot_gpr_6); ctx.gpr[20] = (aot_gpr_4 | 0u); aot_gpr_31 = (0x08B174E4u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B174E4u) goto L_08B174E4; AOT_REGCACHE_SYNC_OUT(); return; L_08B174E4: - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (aot_gpr_2 | 0u); aot_gpr_4 = (ctx.gpr[20] + static_cast(3)); ctx.gpr[19] = (aot_mem.aot_direct_load_word_left(aot_gpr_4 + static_cast(3), ctx.gpr[19])); ctx.gpr[19] = (aot_mem.aot_direct_load_word_right(aot_gpr_4 + static_cast(0), ctx.gpr[19])); @@ -7548,9 +7549,9 @@ L_08B174E4: ctx.gpr[18] = (aot_mem.aot_direct_load_word_right(aot_gpr_4 + static_cast(0), ctx.gpr[18])); aot_fpr_13 = std::bit_cast(ctx.gpr[18]); aot_gpr_4 = (ctx.gpr[20] + static_cast(11)); - aot_gpr_17 = (aot_mem.aot_direct_load_word_left(aot_gpr_4 + static_cast(3), aot_gpr_17)); - aot_gpr_17 = (aot_mem.aot_direct_load_word_right(aot_gpr_4 + static_cast(0), aot_gpr_17)); - aot_fpr_14 = std::bit_cast(aot_gpr_17); + ctx.gpr[17] = (aot_mem.aot_direct_load_word_left(aot_gpr_4 + static_cast(3), ctx.gpr[17])); + ctx.gpr[17] = (aot_mem.aot_direct_load_word_right(aot_gpr_4 + static_cast(0), ctx.gpr[17])); + aot_fpr_14 = std::bit_cast(ctx.gpr[17]); { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_13), std::bit_cast(aot_fpr_14)}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_31 = (0x08B1752Cu); @@ -7563,11 +7564,11 @@ L_08B1752C: aot_fpr_12 = ctx.fpr[0] + aot_fpr_12; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08B17544u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 195u, 0x08910B38u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B17544u) goto L_08B17544; AOT_REGCACHE_SYNC_OUT(); return; L_08B17544: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08B17578; @@ -7575,7 +7576,7 @@ L_08B17544: goto L_08B1754C; } L_08B1754C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1152))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1152))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -7584,7 +7585,7 @@ L_08B1754C: goto L_08B17558; } L_08B17558: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1152))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1152))); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_fpr_12 = std::bit_cast(aot_run_words[0]); @@ -7601,10 +7602,10 @@ L_08B17558: goto L_08B17578; } L_08B17578: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); - ctx.gpr[6] = (aot_gpr_4 + static_cast(112)); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[6] + static_cast(0)))))); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(92))); + aot_gpr_6 = (aot_gpr_4 + static_cast(112)); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(0)))))); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4); { const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -7619,8 +7620,8 @@ L_08B17578: const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(4))); - jump_target = ctx.gpr[6]; + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(4))); + jump_target = aot_gpr_6; aot_gpr_31 = (0x08B175A0u); // nop ctx.pc = jump_target; @@ -7629,8 +7630,8 @@ L_08B17578: L_08B175A0: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(32), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -7644,30 +7645,30 @@ L_08B175A0: AOT_REGCACHE_SYNC_OUT(); return; L_08B175C0: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[16], ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[6]); - aot_gpr_17 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_6); + ctx.gpr[17] = (aot_gpr_4 | 0u); aot_gpr_31 = (0x08B175E0u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B175E0u) goto L_08B175E0; AOT_REGCACHE_SYNC_OUT(); return; L_08B175E0: - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08B175ECu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 195u, 0x08910B38u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B175ECu) goto L_08B175EC; AOT_REGCACHE_SYNC_OUT(); return; L_08B175EC: - ctx.gpr[1] = (aot_mem.aot_direct_load_word_right(aot_gpr_17 + static_cast(3), ctx.gpr[1])); - ctx.gpr[1] = (aot_mem.aot_direct_load_word_left(aot_gpr_17 + static_cast(6), ctx.gpr[1])); + ctx.gpr[1] = (aot_mem.aot_direct_load_word_right(ctx.gpr[17] + static_cast(3), ctx.gpr[1])); + ctx.gpr[1] = (aot_mem.aot_direct_load_word_left(ctx.gpr[17] + static_cast(6), ctx.gpr[1])); aot_fpr_13 = std::bit_cast(ctx.gpr[1]); aot_gpr_4 = (16457u << 16u); aot_gpr_4 = (aot_gpr_4 | 4059u); aot_fpr_14 = std::bit_cast(aot_gpr_4); { const float fs = aot_fpr_13; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_gpr_4 = (17204u << 16u); - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; aot_fpr_12 = std::bit_cast(aot_gpr_4); if (branch_taken) { goto L_08B17634; @@ -7675,7 +7676,7 @@ L_08B175EC: goto L_08B17614; } L_08B17614: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1152))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1152))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -7699,22 +7700,22 @@ L_08B1762C: } L_08B17634: aot_fpr_13 = aot_fpr_13 / aot_fpr_12; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2256), std::bit_cast(aot_fpr_13)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2260), std::bit_cast(aot_fpr_13)); - ctx.gpr[1] = (aot_mem.aot_direct_load_word_right(aot_gpr_17 + static_cast(3), ctx.gpr[1])); - ctx.gpr[1] = (aot_mem.aot_direct_load_word_left(aot_gpr_17 + static_cast(6), ctx.gpr[1])); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(2256), std::bit_cast(aot_fpr_13)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(2260), std::bit_cast(aot_fpr_13)); + ctx.gpr[1] = (aot_mem.aot_direct_load_word_right(ctx.gpr[17] + static_cast(3), ctx.gpr[1])); + ctx.gpr[1] = (aot_mem.aot_direct_load_word_left(ctx.gpr[17] + static_cast(6), ctx.gpr[1])); aot_fpr_13 = std::bit_cast(ctx.gpr[1]); { const float fs = aot_fpr_13; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_fpr_12 = aot_fpr_13 / aot_fpr_12; aot_gpr_31 = (0x08B1765Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0170_entry, 170u, 785u, 0x08AAF8ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1765Cu) goto L_08B1765C; AOT_REGCACHE_SYNC_OUT(); return; L_08B1765C: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -7725,18 +7726,18 @@ L_08B1765C: AOT_REGCACHE_SYNC_OUT(); return; L_08B17670: aot_gpr_29 = (aot_gpr_29 + static_cast(-96)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(80), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_31 = (0x08B17690u); aot_gpr_5 = (0u | 1u); goto L_08B15624; L_08B17690: - ctx.gpr[18] = (ctx.gpr[2] | 0u); - aot_gpr_17 = (aot_gpr_29 + static_cast(32)); - aot_gpr_4 = (aot_gpr_17 | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (0u | 2u); + ctx.gpr[18] = (aot_gpr_2 | 0u); + ctx.gpr[17] = (aot_gpr_29 + static_cast(32)); + aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); + aot_gpr_6 = (0u | 2u); aot_gpr_31 = (0x08B176ACu); ctx.gpr[7] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0075_entry, 75u, 315u, 0x08931AF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B176ACu) goto L_08B176AC; @@ -7744,64 +7745,64 @@ L_08B17690: L_08B176AC: aot_gpr_4 = (aot_gpr_29 + static_cast(16)); aot_gpr_31 = (0x08B176B8u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); goto L_08B15504; L_08B176B8: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(16)))))); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(18)))))); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(20)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(20)))))); aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(66), static_cast(aot_gpr_4)); aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(68), static_cast(aot_gpr_5)); - aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(70), static_cast(ctx.gpr[6])); + aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(70), static_cast(aot_gpr_6)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(22)))))); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(24)))))); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(26)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(26)))))); aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(72), static_cast(aot_gpr_4)); aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(74), static_cast(aot_gpr_5)); - aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(76), static_cast(ctx.gpr[6])); + aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(76), static_cast(aot_gpr_6)); aot_gpr_4 = (0u | 15u); aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(48), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(10549))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(50), static_cast(aot_gpr_4)); - aot_gpr_17 = (aot_gpr_29 + static_cast(48)); + ctx.gpr[17] = (aot_gpr_29 + static_cast(48)); aot_gpr_4 = (aot_gpr_29 + static_cast(51)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(66)))))); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(67)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(67)))))); ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(68)))))); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_5)); - aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(1), static_cast(ctx.gpr[6])); + aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(1), static_cast(aot_gpr_6)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(2), static_cast(ctx.gpr[7])); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(69)))))); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(3), static_cast(aot_gpr_5)); aot_gpr_5 = (aot_gpr_4 + static_cast(4)); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(70)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(70)))))); ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(71)))))); ctx.gpr[8] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(72)))))); - aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(0), static_cast(ctx.gpr[6])); + aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(0), static_cast(aot_gpr_6)); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(1), static_cast(ctx.gpr[7])); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(2), static_cast(ctx.gpr[8])); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(73)))))); - aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(3), static_cast(ctx.gpr[6])); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(73)))))); + aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(3), static_cast(aot_gpr_6)); aot_gpr_4 = (aot_gpr_4 + static_cast(8)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(74)))))); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(75)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(75)))))); ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(76)))))); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_5)); - aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(1), static_cast(ctx.gpr[6])); + aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(1), static_cast(aot_gpr_6)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(2), static_cast(ctx.gpr[7])); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(77)))))); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(3), static_cast(aot_gpr_5)); aot_gpr_4 = (0u + static_cast(-1)); - aot_gpr_16 = (2237u << 16u); + ctx.gpr[16] = (2237u << 16u); { const bool branch_taken = ctx.gpr[18] == aot_gpr_4; - aot_gpr_16 = (aot_gpr_16 + static_cast(-28736)); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(-28736)); if (branch_taken) { goto L_08B17788; } goto L_08B17778; } L_08B17778: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(100))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(100))); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(52))); { const bool branch_taken = ctx.gpr[18] != aot_gpr_4; // nop @@ -7812,25 +7813,25 @@ L_08B17778: } L_08B17788: aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(64), static_cast(0u)); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(64)))))); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(64)))))); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08B177A0u); ctx.gpr[7] = (0u | 0u); goto L_08B174AC; L_08B177A0: - aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B177B0u); - ctx.gpr[6] = (ctx.gpr[18] | 0u); + aot_gpr_6 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 189u, 0x08ADCA34u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B177B0u) goto L_08B177B0; AOT_REGCACHE_SYNC_OUT(); return; L_08B177B0: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(80), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -7842,39 +7843,39 @@ L_08B177B0: AOT_REGCACHE_SYNC_OUT(); return; L_08B177CC: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(28), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_31 = (0x08B177ECu); aot_gpr_5 = (0u | 1u); goto L_08B15624; L_08B177EC: - ctx.gpr[18] = (ctx.gpr[2] | 0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B177FCu); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B177FCu) goto L_08B177FC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B177FCu) goto L_08B177FC; AOT_REGCACHE_SYNC_OUT(); return; L_08B177FC: aot_gpr_4 = (0u | 7u); aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(16), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(10550))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(18), static_cast(aot_gpr_4)); - aot_gpr_17 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[17] = (aot_gpr_29 + static_cast(16)); ctx.gpr[1] = (std::bit_cast(ctx.fpr[0])); aot_mem.aot_direct_store_word_right(aot_gpr_29 + static_cast(19), ctx.gpr[1]); aot_mem.aot_direct_store_word_left(aot_gpr_29 + static_cast(22), ctx.gpr[1]); aot_gpr_4 = (0u + static_cast(-1)); - aot_gpr_16 = (2237u << 16u); + ctx.gpr[16] = (2237u << 16u); { const bool branch_taken = ctx.gpr[18] == aot_gpr_4; - aot_gpr_16 = (aot_gpr_16 + static_cast(-28736)); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(-28736)); if (branch_taken) { goto L_08B1783C; } goto L_08B1782C; } L_08B1782C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(100))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(100))); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(52))); { const bool branch_taken = ctx.gpr[18] != aot_gpr_4; // nop @@ -7885,25 +7886,25 @@ L_08B1782C: } L_08B1783C: aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(24), static_cast(0u)); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(24)))))); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(24)))))); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08B17854u); ctx.gpr[7] = (0u | 0u); goto L_08B175C0; L_08B17854: - aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B17864u); - ctx.gpr[6] = (ctx.gpr[18] | 0u); + aot_gpr_6 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 189u, 0x08ADCA34u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B17864u) goto L_08B17864; AOT_REGCACHE_SYNC_OUT(); return; L_08B17864: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(28), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -7915,15 +7916,15 @@ L_08B17864: AOT_REGCACHE_SYNC_OUT(); return; L_08B17880: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[16], ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_17 = (0u | 1u); + ctx.gpr[16] = (aot_gpr_4 | 0u); + ctx.gpr[17] = (0u | 1u); aot_gpr_31 = (0x08B178A0u); aot_gpr_5 = (0u | 1u); goto L_08B15624; L_08B178A0: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u + static_cast(-1)); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; aot_gpr_5 = (2237u << 16u); @@ -7949,27 +7950,27 @@ L_08B178C4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B178CCu) goto L_08B178CC; AOT_REGCACHE_SYNC_OUT(); return; L_08B178CC: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(34)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(34)))))); aot_gpr_31 = (0x08B178D8u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B178D8u) goto L_08B178D8; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B178D8u) goto L_08B178D8; AOT_REGCACHE_SYNC_OUT(); return; L_08B178D8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_gpr_17 | 0u); + aot_gpr_2 = (ctx.gpr[17] | 0u); if (branch_taken) { goto L_08B178E4; } goto L_08B178E0; } L_08B178E0: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_08B178E4; L_08B178E4: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -7980,15 +7981,15 @@ L_08B178E4: AOT_REGCACHE_SYNC_OUT(); return; L_08B178F8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_17 = (0u | 1u); + ctx.gpr[16] = (aot_gpr_4 | 0u); + ctx.gpr[17] = (0u | 1u); aot_gpr_31 = (0x08B1791Cu); aot_gpr_5 = (0u | 1u); goto L_08B15624; L_08B1791C: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u + static_cast(-1)); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; aot_gpr_5 = (2237u << 16u); @@ -8016,12 +8017,12 @@ L_08B17940: AOT_REGCACHE_SYNC_OUT(); return; L_08B1794C: aot_gpr_31 = (0x08B17954u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0097_entry, 97u, 980u, 0x0898BC8Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B17954u) goto L_08B17954; AOT_REGCACHE_SYNC_OUT(); return; L_08B17954: - if (ctx.gpr[2] != 0u) { - ctx.gpr[18] = (aot_gpr_17 | 0u); + if (aot_gpr_2 != 0u) { + ctx.gpr[18] = (ctx.gpr[17] | 0u); goto L_08B17978; } goto L_08B1795C; @@ -8032,44 +8033,44 @@ L_08B1795C: AOT_REGCACHE_SYNC_OUT(); return; L_08B17964: aot_gpr_31 = (0x08B1796Cu); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0098_entry, 98u, 100u, 0x0898C420u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1796Cu) goto L_08B1796C; AOT_REGCACHE_SYNC_OUT(); return; L_08B1796C: - { const bool branch_taken = static_cast(ctx.gpr[2]) >= 0; - aot_gpr_4 = (aot_gpr_16 | 0u); + { const bool branch_taken = static_cast(aot_gpr_2) >= 0; + aot_gpr_4 = (ctx.gpr[16] | 0u); if (branch_taken) { goto L_08B1797C; } goto L_08B17974; } L_08B17974: - ctx.gpr[18] = (aot_gpr_17 | 0u); + ctx.gpr[18] = (ctx.gpr[17] | 0u); goto L_08B17978; L_08B17978: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_08B1797C; L_08B1797C: aot_gpr_31 = (0x08B17984u); aot_gpr_5 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B17984u) goto L_08B17984; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B17984u) goto L_08B17984; AOT_REGCACHE_SYNC_OUT(); return; L_08B17984: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_gpr_17 | 0u); + aot_gpr_2 = (ctx.gpr[17] | 0u); if (branch_taken) { goto L_08B17990; } goto L_08B1798C; } L_08B1798C: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_08B17990; L_08B17990: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -8081,15 +8082,15 @@ L_08B17990: AOT_REGCACHE_SYNC_OUT(); return; L_08B179A8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_17 = (0u | 1u); + ctx.gpr[16] = (aot_gpr_4 | 0u); + ctx.gpr[17] = (0u | 1u); aot_gpr_31 = (0x08B179CCu); aot_gpr_5 = (0u | 1u); goto L_08B15624; L_08B179CC: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u + static_cast(-1)); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; aot_gpr_5 = (2237u << 16u); @@ -8117,12 +8118,12 @@ L_08B179F0: AOT_REGCACHE_SYNC_OUT(); return; L_08B179FC: aot_gpr_31 = (0x08B17A04u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0097_entry, 97u, 984u, 0x0898BCACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B17A04u) goto L_08B17A04; AOT_REGCACHE_SYNC_OUT(); return; L_08B17A04: - if (ctx.gpr[2] != 0u) { - ctx.gpr[18] = (aot_gpr_17 | 0u); + if (aot_gpr_2 != 0u) { + ctx.gpr[18] = (ctx.gpr[17] | 0u); goto L_08B17A28; } goto L_08B17A0C; @@ -8133,44 +8134,44 @@ L_08B17A0C: AOT_REGCACHE_SYNC_OUT(); return; L_08B17A14: aot_gpr_31 = (0x08B17A1Cu); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0098_entry, 98u, 100u, 0x0898C420u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B17A1Cu) goto L_08B17A1C; AOT_REGCACHE_SYNC_OUT(); return; L_08B17A1C: - { const bool branch_taken = static_cast(ctx.gpr[2]) <= 0; - aot_gpr_4 = (aot_gpr_16 | 0u); + { const bool branch_taken = static_cast(aot_gpr_2) <= 0; + aot_gpr_4 = (ctx.gpr[16] | 0u); if (branch_taken) { goto L_08B17A2C; } goto L_08B17A24; } L_08B17A24: - ctx.gpr[18] = (aot_gpr_17 | 0u); + ctx.gpr[18] = (ctx.gpr[17] | 0u); goto L_08B17A28; L_08B17A28: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_08B17A2C; L_08B17A2C: aot_gpr_31 = (0x08B17A34u); aot_gpr_5 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B17A34u) goto L_08B17A34; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B17A34u) goto L_08B17A34; AOT_REGCACHE_SYNC_OUT(); return; L_08B17A34: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_gpr_17 | 0u); + aot_gpr_2 = (ctx.gpr[17] | 0u); if (branch_taken) { goto L_08B17A40; } goto L_08B17A3C; } L_08B17A3C: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_08B17A40; L_08B17A40: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -8182,15 +8183,15 @@ L_08B17A40: AOT_REGCACHE_SYNC_OUT(); return; L_08B17A58: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_17 = (0u | 1u); + ctx.gpr[16] = (aot_gpr_4 | 0u); + ctx.gpr[17] = (0u | 1u); aot_gpr_31 = (0x08B17A7Cu); aot_gpr_5 = (0u | 1u); goto L_08B15624; L_08B17A7C: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u + static_cast(-1)); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; aot_gpr_5 = (2237u << 16u); @@ -8218,12 +8219,12 @@ L_08B17AA0: AOT_REGCACHE_SYNC_OUT(); return; L_08B17AAC: aot_gpr_31 = (0x08B17AB4u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0097_entry, 97u, 972u, 0x0898BC4Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B17AB4u) goto L_08B17AB4; AOT_REGCACHE_SYNC_OUT(); return; L_08B17AB4: - if (ctx.gpr[2] != 0u) { - ctx.gpr[18] = (aot_gpr_17 | 0u); + if (aot_gpr_2 != 0u) { + ctx.gpr[18] = (ctx.gpr[17] | 0u); goto L_08B17AD8; } goto L_08B17ABC; @@ -8234,44 +8235,44 @@ L_08B17ABC: AOT_REGCACHE_SYNC_OUT(); return; L_08B17AC4: aot_gpr_31 = (0x08B17ACCu); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0098_entry, 98u, 134u, 0x0898C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B17ACCu) goto L_08B17ACC; AOT_REGCACHE_SYNC_OUT(); return; L_08B17ACC: - { const bool branch_taken = static_cast(ctx.gpr[2]) >= 0; - aot_gpr_4 = (aot_gpr_16 | 0u); + { const bool branch_taken = static_cast(aot_gpr_2) >= 0; + aot_gpr_4 = (ctx.gpr[16] | 0u); if (branch_taken) { goto L_08B17ADC; } goto L_08B17AD4; } L_08B17AD4: - ctx.gpr[18] = (aot_gpr_17 | 0u); + ctx.gpr[18] = (ctx.gpr[17] | 0u); goto L_08B17AD8; L_08B17AD8: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_08B17ADC; L_08B17ADC: aot_gpr_31 = (0x08B17AE4u); aot_gpr_5 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B17AE4u) goto L_08B17AE4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B17AE4u) goto L_08B17AE4; AOT_REGCACHE_SYNC_OUT(); return; L_08B17AE4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_gpr_17 | 0u); + aot_gpr_2 = (ctx.gpr[17] | 0u); if (branch_taken) { goto L_08B17AF0; } goto L_08B17AEC; } L_08B17AEC: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_08B17AF0; L_08B17AF0: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -8283,15 +8284,15 @@ L_08B17AF0: AOT_REGCACHE_SYNC_OUT(); return; L_08B17B08: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_17 = (0u | 1u); + ctx.gpr[16] = (aot_gpr_4 | 0u); + ctx.gpr[17] = (0u | 1u); aot_gpr_31 = (0x08B17B2Cu); aot_gpr_5 = (0u | 1u); goto L_08B15624; L_08B17B2C: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u + static_cast(-1)); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; aot_gpr_5 = (2237u << 16u); @@ -8319,12 +8320,12 @@ L_08B17B50: AOT_REGCACHE_SYNC_OUT(); return; L_08B17B5C: aot_gpr_31 = (0x08B17B64u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0097_entry, 97u, 976u, 0x0898BC6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B17B64u) goto L_08B17B64; AOT_REGCACHE_SYNC_OUT(); return; L_08B17B64: - if (ctx.gpr[2] != 0u) { - ctx.gpr[18] = (aot_gpr_17 | 0u); + if (aot_gpr_2 != 0u) { + ctx.gpr[18] = (ctx.gpr[17] | 0u); goto L_08B17B88; } goto L_08B17B6C; @@ -8335,44 +8336,44 @@ L_08B17B6C: AOT_REGCACHE_SYNC_OUT(); return; L_08B17B74: aot_gpr_31 = (0x08B17B7Cu); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0098_entry, 98u, 134u, 0x0898C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B17B7Cu) goto L_08B17B7C; AOT_REGCACHE_SYNC_OUT(); return; L_08B17B7C: - { const bool branch_taken = static_cast(ctx.gpr[2]) <= 0; - aot_gpr_4 = (aot_gpr_16 | 0u); + { const bool branch_taken = static_cast(aot_gpr_2) <= 0; + aot_gpr_4 = (ctx.gpr[16] | 0u); if (branch_taken) { goto L_08B17B8C; } goto L_08B17B84; } L_08B17B84: - ctx.gpr[18] = (aot_gpr_17 | 0u); + ctx.gpr[18] = (ctx.gpr[17] | 0u); goto L_08B17B88; L_08B17B88: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_08B17B8C; L_08B17B8C: aot_gpr_31 = (0x08B17B94u); aot_gpr_5 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B17B94u) goto L_08B17B94; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B17B94u) goto L_08B17B94; AOT_REGCACHE_SYNC_OUT(); return; L_08B17B94: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_gpr_17 | 0u); + aot_gpr_2 = (ctx.gpr[17] | 0u); if (branch_taken) { goto L_08B17BA0; } goto L_08B17B9C; } L_08B17B9C: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_08B17BA0; L_08B17BA0: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -8384,15 +8385,15 @@ L_08B17BA0: AOT_REGCACHE_SYNC_OUT(); return; L_08B17BB8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[16], ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_17 = (0u | 1u); + ctx.gpr[16] = (aot_gpr_4 | 0u); + ctx.gpr[17] = (0u | 1u); aot_gpr_31 = (0x08B17BD8u); aot_gpr_5 = (0u | 1u); goto L_08B15624; L_08B17BD8: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u + static_cast(-1)); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; aot_gpr_5 = (2237u << 16u); @@ -8418,27 +8419,27 @@ L_08B17BFC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B17C04u) goto L_08B17C04; AOT_REGCACHE_SYNC_OUT(); return; L_08B17C04: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(42)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(42)))))); aot_gpr_31 = (0x08B17C10u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B17C10u) goto L_08B17C10; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B17C10u) goto L_08B17C10; AOT_REGCACHE_SYNC_OUT(); return; L_08B17C10: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_gpr_17 | 0u); + aot_gpr_2 = (ctx.gpr[17] | 0u); if (branch_taken) { goto L_08B17C1C; } goto L_08B17C18; } L_08B17C18: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_08B17C1C; L_08B17C1C: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -8449,15 +8450,15 @@ L_08B17C1C: AOT_REGCACHE_SYNC_OUT(); return; L_08B17C30: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[16], ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_17 = (0u | 1u); + ctx.gpr[16] = (aot_gpr_4 | 0u); + ctx.gpr[17] = (0u | 1u); aot_gpr_31 = (0x08B17C50u); aot_gpr_5 = (0u | 1u); goto L_08B15624; L_08B17C50: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u + static_cast(-1)); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; aot_gpr_5 = (2237u << 16u); @@ -8483,27 +8484,27 @@ L_08B17C74: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B17C7Cu) goto L_08B17C7C; AOT_REGCACHE_SYNC_OUT(); return; L_08B17C7C: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(44)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(44)))))); aot_gpr_31 = (0x08B17C88u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B17C88u) goto L_08B17C88; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B17C88u) goto L_08B17C88; AOT_REGCACHE_SYNC_OUT(); return; L_08B17C88: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_gpr_17 | 0u); + aot_gpr_2 = (ctx.gpr[17] | 0u); if (branch_taken) { goto L_08B17C94; } goto L_08B17C90; } L_08B17C90: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_08B17C94; L_08B17C94: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -8514,15 +8515,15 @@ L_08B17C94: AOT_REGCACHE_SYNC_OUT(); return; L_08B17CA8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[16], ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_17 = (0u | 1u); + ctx.gpr[16] = (aot_gpr_4 | 0u); + ctx.gpr[17] = (0u | 1u); aot_gpr_31 = (0x08B17CC8u); aot_gpr_5 = (0u | 1u); goto L_08B15624; L_08B17CC8: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u + static_cast(-1)); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; aot_gpr_5 = (2237u << 16u); @@ -8548,27 +8549,27 @@ L_08B17CEC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B17CF4u) goto L_08B17CF4; AOT_REGCACHE_SYNC_OUT(); return; L_08B17CF4: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(40)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(40)))))); aot_gpr_31 = (0x08B17D00u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B17D00u) goto L_08B17D00; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B17D00u) goto L_08B17D00; AOT_REGCACHE_SYNC_OUT(); return; L_08B17D00: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_gpr_17 | 0u); + aot_gpr_2 = (ctx.gpr[17] | 0u); if (branch_taken) { goto L_08B17D0C; } goto L_08B17D08; } L_08B17D08: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_08B17D0C; L_08B17D0C: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -8579,10 +8580,10 @@ L_08B17D0C: AOT_REGCACHE_SYNC_OUT(); return; L_08B17D20: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[16], ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_17 = (0u | 1u); + ctx.gpr[16] = (aot_gpr_4 | 0u); + ctx.gpr[17] = (0u | 1u); aot_gpr_31 = (0x08B17D40u); aot_gpr_5 = (0u | 1u); goto L_08B15624; @@ -8593,21 +8594,21 @@ L_08B17D40: AOT_REGCACHE_SYNC_OUT(); return; L_08B17D48: aot_gpr_31 = (0x08B17D50u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 710u, 0x089476E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B17D50u) goto L_08B17D50; AOT_REGCACHE_SYNC_OUT(); return; L_08B17D50: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B17D5Cu); - aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B17D5Cu) goto L_08B17D5C; + aot_gpr_5 = (aot_gpr_2 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B17D5Cu) goto L_08B17D5C; AOT_REGCACHE_SYNC_OUT(); return; L_08B17D5C: - ctx.gpr[2] = (aot_gpr_17 | 0u); + aot_gpr_2 = (ctx.gpr[17] | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -8629,11 +8630,11 @@ L_08B17D84: AOT_REGCACHE_SYNC_OUT(); return; L_08B17D8C: aot_gpr_31 = (0x08B17D94u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 736u, 0x08947890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B17D94u) goto L_08B17D94; AOT_REGCACHE_SYNC_OUT(); return; L_08B17D94: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -8654,11 +8655,11 @@ L_08B17DB4: AOT_REGCACHE_SYNC_OUT(); return; L_08B17DBC: aot_gpr_31 = (0x08B17DC4u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 733u, 0x08947870u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B17DC4u) goto L_08B17DC4; AOT_REGCACHE_SYNC_OUT(); return; L_08B17DC4: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -8668,27 +8669,27 @@ L_08B17DC4: AOT_REGCACHE_SYNC_OUT(); return; L_08B17DD4: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[16], ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - aot_gpr_16 = (0u | 1u); + ctx.gpr[16] = (0u | 1u); aot_gpr_31 = (0x08B17DF0u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B17DF0u) goto L_08B17DF0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806AE0, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B17DF0u) goto L_08B17DF0; AOT_REGCACHE_SYNC_OUT(); return; L_08B17DF0: - aot_gpr_4 = (0u < ctx.gpr[2] ? 1u : 0u); - aot_gpr_17 = (aot_gpr_4 & 255u); + aot_gpr_4 = (0u < aot_gpr_2 ? 1u : 0u); + ctx.gpr[17] = (aot_gpr_4 & 255u); aot_gpr_31 = (0x08B17E00u); aot_gpr_4 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B17E00u) goto L_08B17E00; AOT_REGCACHE_SYNC_OUT(); return; L_08B17E00: - aot_mem.aot_direct_store16(ctx.gpr[2] + static_cast(154), static_cast(aot_gpr_17)); - ctx.gpr[2] = (aot_gpr_16 | 0u); + aot_mem.aot_direct_store16(aot_gpr_2 + static_cast(154), static_cast(ctx.gpr[17])); + aot_gpr_2 = (ctx.gpr[16] | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -8699,14 +8700,14 @@ L_08B17E00: AOT_REGCACHE_SYNC_OUT(); return; L_08B17E1C: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[16], ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(20), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_31 = (0x08B17E38u); aot_gpr_5 = (0u | 1u); goto L_08B15604; L_08B17E38: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08B17EB4; @@ -8714,21 +8715,21 @@ L_08B17E38: goto L_08B17E40; } L_08B17E40: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B17E4Cu); aot_gpr_5 = (0u | 1u); goto L_08B15624; L_08B17E4C: aot_gpr_4 = (2237u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08B17E60u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 192u, 0x08ADCA6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B17E60u) goto L_08B17E60; AOT_REGCACHE_SYNC_OUT(); return; L_08B17E60: - aot_gpr_17 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_08B17EB4; @@ -8736,36 +8737,36 @@ L_08B17E60: goto L_08B17E6C; } L_08B17E6C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(96))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(96))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); goto L_08B17E98; } goto L_08B17E78; L_08B17E78: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(10)))))); - ctx.gpr[6] = (aot_gpr_29 + static_cast(16)); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(10)))))); + aot_gpr_6 = (aot_gpr_29 + static_cast(16)); aot_gpr_31 = (0x08B17E88u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B17E88u) goto L_08B17E88; AOT_REGCACHE_SYNC_OUT(); return; L_08B17E88: - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(96), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(16))); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(4), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(96))); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(4), static_cast(aot_gpr_4)); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); goto L_08B17E98; L_08B17E98: aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(178))); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_gpr_31 = (0x08B17EACu); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B17EACu) goto L_08B17EAC; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B17EACu) goto L_08B17EAC; AOT_REGCACHE_SYNC_OUT(); return; L_08B17EAC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_08B17EC4; } @@ -8774,17 +8775,17 @@ L_08B17EAC: L_08B17EB4: aot_fpr_12 = std::bit_cast(0u); aot_gpr_31 = (0x08B17EC0u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B17EC0u) goto L_08B17EC0; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B17EC0u) goto L_08B17EC0; AOT_REGCACHE_SYNC_OUT(); return; L_08B17EC0: - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); goto L_08B17EC4; L_08B17EC4: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(20), aot_run_words); - aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[0]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -8795,14 +8796,14 @@ L_08B17EC4: AOT_REGCACHE_SYNC_OUT(); return; L_08B17ED8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_20), aot_gpr_16, aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_20), ctx.gpr[16], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_31 = (0x08B17EF4u); aot_gpr_5 = (0u | 1u); goto L_08B15604; L_08B17EF4: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08B17F20; @@ -8810,15 +8811,15 @@ L_08B17EF4: goto L_08B17EFC; } L_08B17EFC: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B17F08u); aot_gpr_5 = (0u | 1u); goto L_08B15624; L_08B17F08: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B17F14u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B17F14u) goto L_08B17F14; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B17F14u) goto L_08B17F14; AOT_REGCACHE_SYNC_OUT(); return; L_08B17F14: aot_gpr_31 = (0x08B17F1Cu); @@ -8826,14 +8827,14 @@ L_08B17F14: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B17F1Cu) goto L_08B17F1C; AOT_REGCACHE_SYNC_OUT(); return; L_08B17F1C: - aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(1252), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(aot_gpr_2 + static_cast(1252), std::bit_cast(aot_fpr_20)); goto L_08B17F20; L_08B17F20: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); - aot_gpr_16 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -8844,17 +8845,17 @@ L_08B17F20: AOT_REGCACHE_SYNC_OUT(); return; L_08B17F38: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(20), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.gpr[18] = (0u | 1u); aot_gpr_31 = (0x08B17F5Cu); aot_gpr_5 = (0u | 1u); goto L_08B15624; L_08B17F5C: - aot_gpr_17 = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); aot_gpr_4 = (0u + static_cast(-1)); - { const bool branch_taken = aot_gpr_17 == aot_gpr_4; + { const bool branch_taken = ctx.gpr[17] == aot_gpr_4; aot_gpr_4 = (2237u << 16u); if (branch_taken) { goto L_08B17F80; @@ -8865,7 +8866,7 @@ L_08B17F6C: aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(100))); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(52))); - { const bool branch_taken = aot_gpr_17 != aot_gpr_5; + { const bool branch_taken = ctx.gpr[17] != aot_gpr_5; // nop if (branch_taken) { goto L_08B17FBC; @@ -8875,8 +8876,8 @@ L_08B17F6C: L_08B17F80: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7800))); aot_gpr_5 = (aot_gpr_4 << 8u); - ctx.gpr[6] = (aot_gpr_4 + aot_gpr_4); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_6 = (aot_gpr_4 + aot_gpr_4); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); aot_gpr_4 = (aot_gpr_4 << 5u); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_5 = (2238u << 16u); @@ -8885,26 +8886,26 @@ L_08B17F80: aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(208))); aot_gpr_5 = (aot_gpr_5 < static_cast(1) ? 1u : 0u); aot_gpr_31 = (0x08B17FB4u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B17FB4u) goto L_08B17FB4; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B17FB4u) goto L_08B17FB4; AOT_REGCACHE_SYNC_OUT(); return; L_08B17FB4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (ctx.gpr[18] | 0u); + aot_gpr_2 = (ctx.gpr[18] | 0u); if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0197_entry, 197u, 4u, 0x08B1801Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08B17FBC; } L_08B17FBC: - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B17FC8u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 192u, 0x08ADCA6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B17FC8u) goto L_08B17FC8; AOT_REGCACHE_SYNC_OUT(); return; L_08B17FC8: - aot_gpr_17 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0197_entry, 197u, 3u, 0x08B18018u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; @@ -8912,24 +8913,24 @@ L_08B17FC8: goto L_08B17FD4; } L_08B17FD4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(96))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(96))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0197_entry, 197u, 1u, 0x08B18000u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } goto L_08B17FE0; L_08B17FE0: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(10)))))); - ctx.gpr[6] = (aot_gpr_29 + static_cast(16)); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(10)))))); + aot_gpr_6 = (aot_gpr_29 + static_cast(16)); aot_gpr_31 = (0x08B17FF0u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B17FF0u) goto L_08B17FF0; AOT_REGCACHE_SYNC_OUT(); return; L_08B17FF0: - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(96), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(16))); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(4), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(96))); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(4), static_cast(aot_gpr_4)); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); ctx.pc = 0x08B18000u; AOT_REGCACHE_SYNC_OUT(); return; } diff --git a/profiles/vcs/generated/generated_unit_0197.cpp b/profiles/vcs/generated/generated_unit_0197.cpp index d024596..3555139 100644 --- a/profiles/vcs/generated/generated_unit_0197.cpp +++ b/profiles/vcs/generated/generated_unit_0197.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0197[4096] = { }; void recomp_unit_0197_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,31,29,16,17 fprs=12,13,14,15 gpr_occ=4269 fpr_occ=447 gpr_total=5464 fpr_total=568 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,31,6,29,16 fprs=12,13,14,15 gpr_occ=4477 fpr_occ=450 gpr_total=5886 fpr_total=571 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; + std::uint32_t aot_gpr_6 = ctx.gpr[6]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_16 = ctx.gpr[16]; - std::uint32_t aot_gpr_17 = ctx.gpr[17]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_14 = ctx.fpr[14]; float aot_fpr_15 = ctx.fpr[15]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[31] = aot_gpr_31; ctx.gpr[29] = aot_gpr_29; ctx.gpr[16] = aot_gpr_16; ctx.gpr[17] = aot_gpr_17; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[15] = aot_fpr_15; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_17 = ctx.gpr[17]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_15 = ctx.fpr[15]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[31] = aot_gpr_31; ctx.gpr[6] = aot_gpr_6; ctx.gpr[29] = aot_gpr_29; ctx.gpr[16] = aot_gpr_16; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[15] = aot_fpr_15; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_16 = ctx.gpr[16]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_15 = ctx.fpr[15]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -1087,7 +1088,7 @@ L_08B18000: aot_gpr_5 = (aot_gpr_5 < static_cast(1) ? 1u : 0u); aot_gpr_31 = (0x08B18010u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B18010u) goto L_08B18010; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B18010u) goto L_08B18010; AOT_REGCACHE_SYNC_OUT(); return; L_08B18010: { const bool branch_taken = 0u == 0u; @@ -1104,7 +1105,7 @@ L_08B1801C: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(20), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -1116,7 +1117,7 @@ L_08B1801C: AOT_REGCACHE_SYNC_OUT(); return; L_08B18034: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - { const std::uint32_t aot_run_words[5]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; + { const std::uint32_t aot_run_words[5]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(20), aot_run_words); } aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_31 = (0x08B18058u); @@ -1140,23 +1141,23 @@ L_08B18060: L_08B1806C: ctx.gpr[19] = (ctx.gpr[2] | 0u); aot_gpr_4 = (2237u << 16u); - aot_gpr_17 = (aot_gpr_4 + static_cast(-28736)); - aot_gpr_4 = (aot_gpr_17 | 0u); + ctx.gpr[17] = (aot_gpr_4 + static_cast(-28736)); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08B18088u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 192u, 0x08ADCA6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B18088u) goto L_08B18088; AOT_REGCACHE_SYNC_OUT(); return; L_08B18088: ctx.gpr[18] = (ctx.gpr[2] | 0u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08B1809Cu); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 192u, 0x08ADCA6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1809Cu) goto L_08B1809C; AOT_REGCACHE_SYNC_OUT(); return; L_08B1809C: - aot_gpr_17 = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (ctx.gpr[2] | 0u); { const bool branch_taken = ctx.gpr[18] == 0u; // nop if (branch_taken) { @@ -1165,7 +1166,7 @@ L_08B1809C: goto L_08B180A8; } L_08B180A8: - { const bool branch_taken = aot_gpr_17 == 0u; + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_08B180C4; @@ -1211,43 +1212,43 @@ L_08B180CC: L_08B180E0: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7800))); aot_gpr_5 = (aot_gpr_4 << 8u); - ctx.gpr[6] = (aot_gpr_4 + aot_gpr_4); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_6 = (aot_gpr_4 + aot_gpr_4); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); aot_gpr_4 = (aot_gpr_4 << 5u); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_5 = (2238u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(-6992)); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); - aot_gpr_17 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(208))); + ctx.gpr[17] = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(208))); { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (aot_gpr_17 & 255u); + ctx.gpr[17] = (ctx.gpr[17] & 255u); if (branch_taken) { goto L_08B18140; } goto L_08B18110; } L_08B18110: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(96))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(96))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); goto L_08B1813C; } goto L_08B1811C; L_08B1811C: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(10)))))); - ctx.gpr[6] = (aot_gpr_29 + static_cast(16)); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(10)))))); + aot_gpr_6 = (aot_gpr_29 + static_cast(16)); aot_gpr_31 = (0x08B1812Cu); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1812Cu) goto L_08B1812C; AOT_REGCACHE_SYNC_OUT(); return; L_08B1812C: - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(96), ctx.gpr[2]); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(16))); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(4), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(96))); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(4), static_cast(aot_gpr_4)); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); goto L_08B1813C; L_08B1813C: - aot_gpr_17 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(100))); + ctx.gpr[17] = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(100))); goto L_08B18140; L_08B18140: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(96))); @@ -1258,7 +1259,7 @@ L_08B18140: goto L_08B1814C; L_08B1814C: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(10)))))); - ctx.gpr[6] = (aot_gpr_29 + static_cast(17)); + aot_gpr_6 = (aot_gpr_29 + static_cast(17)); aot_gpr_31 = (0x08B1815Cu); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1815Cu) goto L_08B1815C; @@ -1288,7 +1289,7 @@ L_08B1817C: goto L_08B18188; L_08B18188: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(10)))))); - ctx.gpr[6] = (aot_gpr_29 + static_cast(18)); + aot_gpr_6 = (aot_gpr_29 + static_cast(18)); aot_gpr_31 = (0x08B18198u); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B18198u) goto L_08B18198; @@ -1319,7 +1320,7 @@ L_08B181BC: goto L_08B181C8; L_08B181C8: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(10)))))); - ctx.gpr[6] = (aot_gpr_29 + static_cast(19)); + aot_gpr_6 = (aot_gpr_29 + static_cast(19)); aot_gpr_31 = (0x08B181D8u); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B181D8u) goto L_08B181D8; @@ -1342,7 +1343,7 @@ L_08B181E8: goto L_08B181FC; } L_08B181FC: - { const bool branch_taken = aot_gpr_17 == 0u; + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_08B18218; @@ -1353,7 +1354,7 @@ L_08B18204: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B18210u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B18210u) goto L_08B18210; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B18210u) goto L_08B18210; AOT_REGCACHE_SYNC_OUT(); return; L_08B18210: { const bool branch_taken = 0u == 0u; @@ -1367,7 +1368,7 @@ L_08B18218: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B18224u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B18224u) goto L_08B18224; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B18224u) goto L_08B18224; AOT_REGCACHE_SYNC_OUT(); return; L_08B18224: { const bool branch_taken = 0u == 0u; @@ -1384,7 +1385,7 @@ L_08B18230: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(20), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; @@ -1397,7 +1398,7 @@ L_08B18230: AOT_REGCACHE_SYNC_OUT(); return; L_08B1824C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_31 = (0x08B18268u); aot_gpr_4 = (0u | 0u); @@ -1406,7 +1407,7 @@ L_08B1824C: L_08B18268: aot_gpr_16 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(44)))))); aot_gpr_16 = (0u < aot_gpr_16 ? 1u : 0u); - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_31 = (0x08B1827Cu); aot_gpr_4 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1827Cu) goto L_08B1827C; @@ -1414,7 +1415,7 @@ L_08B18268: L_08B1827C: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(38)))))); if (aot_gpr_4 != 0u) { - aot_gpr_17 = (0u | 2u); + ctx.gpr[17] = (0u | 2u); goto L_08B18288; } goto L_08B18288; @@ -1432,7 +1433,7 @@ L_08B18294: } goto L_08B182A0; L_08B182A0: - aot_gpr_17 = (aot_gpr_16 + aot_gpr_17); + ctx.gpr[17] = (aot_gpr_16 + ctx.gpr[17]); aot_gpr_16 = (0u | 0u); aot_gpr_31 = (0x08B182B0u); aot_gpr_4 = (0u | 0u); @@ -1446,8 +1447,8 @@ L_08B182B0: } goto L_08B182BC; L_08B182BC: - ctx.gpr[18] = (aot_gpr_17 + ctx.gpr[18]); - aot_gpr_17 = (0u | 0u); + ctx.gpr[18] = (ctx.gpr[17] + ctx.gpr[18]); + ctx.gpr[17] = (0u | 0u); aot_gpr_31 = (0x08B182CCu); aot_gpr_4 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B182CCu) goto L_08B182CC; @@ -1455,7 +1456,7 @@ L_08B182BC: L_08B182CC: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(34)))))); if (aot_gpr_4 != 0u) { - aot_gpr_17 = (0u | 16u); + ctx.gpr[17] = (0u | 16u); goto L_08B182D8; } goto L_08B182D8; @@ -1474,12 +1475,12 @@ L_08B182E8: } goto L_08B182F4; L_08B182F4: - ctx.gpr[2] = (aot_gpr_16 + aot_gpr_17); + ctx.gpr[2] = (aot_gpr_16 + ctx.gpr[17]); ctx.gpr[2] = (ctx.gpr[2] + ctx.gpr[18]); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -1491,7 +1492,7 @@ L_08B182F4: AOT_REGCACHE_SYNC_OUT(); return; L_08B18314: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_31 = (0x08B18330u); @@ -1499,13 +1500,13 @@ L_08B18314: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 397u, 0x08806C5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B18330u) goto L_08B18330; AOT_REGCACHE_SYNC_OUT(); return; L_08B18330: - aot_gpr_17 = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08B1833Cu); // nop goto L_08B1824C; L_08B1833C: aot_gpr_4 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_4 == aot_gpr_17; + { const bool branch_taken = aot_gpr_4 == ctx.gpr[17]; aot_gpr_5 = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08B18360; @@ -1513,15 +1514,15 @@ L_08B1833C: goto L_08B18348; } L_08B18348: - aot_gpr_17 = (0u | 1u); + ctx.gpr[17] = (0u | 1u); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B18358u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B18358u) goto L_08B18358; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B18358u) goto L_08B18358; AOT_REGCACHE_SYNC_OUT(); return; L_08B18358: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_gpr_17 | 0u); + ctx.gpr[2] = (ctx.gpr[17] | 0u); if (branch_taken) { goto L_08B18378; } @@ -1545,7 +1546,7 @@ L_08B18378: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -1599,7 +1600,7 @@ L_08B183DC: aot_gpr_5 = (aot_gpr_5 + static_cast(-31980)); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B183F0u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 444u, 0x08806FA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B183F0u) goto L_08B183F0; AOT_REGCACHE_SYNC_OUT(); return; L_08B183F0: @@ -1630,7 +1631,7 @@ L_08B18408: AOT_REGCACHE_SYNC_OUT(); return; L_08B18418: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_31 = (0x08B18438u); @@ -1643,8 +1644,8 @@ L_08B18438: // nop goto L_08B1824C; L_08B18444: - aot_gpr_17 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_17 != ctx.gpr[18]; + ctx.gpr[17] = (ctx.gpr[2] | 0u); + { const bool branch_taken = ctx.gpr[17] != ctx.gpr[18]; // nop if (branch_taken) { goto L_08B184A0; @@ -1675,30 +1676,30 @@ L_08B18468: goto L_08B18488; } L_08B18488: - aot_gpr_17 = (0u | 1u); + ctx.gpr[17] = (0u | 1u); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B18498u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B18498u) goto L_08B18498; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B18498u) goto L_08B18498; AOT_REGCACHE_SYNC_OUT(); return; L_08B18498: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_gpr_17 | 0u); + ctx.gpr[2] = (ctx.gpr[17] | 0u); if (branch_taken) { goto L_08B184D4; } goto L_08B184A0; } L_08B184A0: - aot_gpr_17 = (0u | 1u); + ctx.gpr[17] = (0u | 1u); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B184B0u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B184B0u) goto L_08B184B0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B184B0u) goto L_08B184B0; AOT_REGCACHE_SYNC_OUT(); return; L_08B184B0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_gpr_17 | 0u); + ctx.gpr[2] = (ctx.gpr[17] | 0u); if (branch_taken) { goto L_08B184D4; } @@ -1707,7 +1708,7 @@ L_08B184B0: L_08B184B8: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B184C4u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 452u, 0x088070BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B184C4u) goto L_08B184C4; AOT_REGCACHE_SYNC_OUT(); return; L_08B184C4: @@ -1723,7 +1724,7 @@ L_08B184D4: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -1778,7 +1779,7 @@ L_08B1853C: aot_gpr_5 = (aot_gpr_5 + static_cast(-31720)); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B18550u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 444u, 0x08806FA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B18550u) goto L_08B18550; AOT_REGCACHE_SYNC_OUT(); return; L_08B18550: @@ -1809,7 +1810,7 @@ L_08B18568: AOT_REGCACHE_SYNC_OUT(); return; L_08B18578: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - { const std::uint32_t aot_run_words[5]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; + { const std::uint32_t aot_run_words[5]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_31 = (0x08B1859Cu); @@ -1828,9 +1829,9 @@ L_08B1859C: L_08B185A8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(852))); aot_fpr_12 = std::bit_cast(0u); - aot_gpr_17 = (2237u << 16u); + ctx.gpr[17] = (2237u << 16u); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(-28736)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(-28736)); if (branch_taken) { goto L_08B185D8; } @@ -1848,7 +1849,7 @@ L_08B185C4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B185D0u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B185D0u) goto L_08B185D0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B185D0u) goto L_08B185D0; AOT_REGCACHE_SYNC_OUT(); return; L_08B185D0: { const bool branch_taken = 0u == 0u; @@ -1880,7 +1881,7 @@ L_08B185F4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 696u, 0x088330BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B185FCu) goto L_08B185FC; AOT_REGCACHE_SYNC_OUT(); return; L_08B185FC: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B18608u); aot_gpr_5 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0196_entry, 196u, 260u, 0x08B15544u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B18608u) goto L_08B18608; @@ -1905,7 +1906,7 @@ L_08B18618: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0149_entry, 149u, 311u, 0x08A5959Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B18624u) goto L_08B18624; AOT_REGCACHE_SYNC_OUT(); return; L_08B18624: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B18630u); aot_gpr_5 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0196_entry, 196u, 260u, 0x08B15544u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B18630u) goto L_08B18630; @@ -1923,7 +1924,7 @@ L_08B18638: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B18654u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B18654u) goto L_08B18654; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B18654u) goto L_08B18654; AOT_REGCACHE_SYNC_OUT(); return; L_08B18654: ctx.gpr[2] = (ctx.gpr[18] | 0u); @@ -1932,7 +1933,7 @@ L_08B18658: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; @@ -1945,7 +1946,7 @@ L_08B18658: AOT_REGCACHE_SYNC_OUT(); return; L_08B18674: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_31 = (0x08B18690u); @@ -1955,7 +1956,7 @@ L_08B18674: L_08B18690: aot_gpr_4 = (ctx.gpr[2] | 0u); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_17 = (0u | 1u); + ctx.gpr[17] = (0u | 1u); if (branch_taken) { goto L_08B186B0; } @@ -1965,11 +1966,11 @@ L_08B1869C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B186A8u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B186A8u) goto L_08B186A8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B186A8u) goto L_08B186A8; AOT_REGCACHE_SYNC_OUT(); return; L_08B186A8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_gpr_17 | 0u); + ctx.gpr[2] = (ctx.gpr[17] | 0u); if (branch_taken) { goto L_08B186CC; } @@ -1982,16 +1983,16 @@ L_08B186B0: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B186C8u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B186C8u) goto L_08B186C8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B186C8u) goto L_08B186C8; AOT_REGCACHE_SYNC_OUT(); return; L_08B186C8: - ctx.gpr[2] = (aot_gpr_17 | 0u); + ctx.gpr[2] = (ctx.gpr[17] | 0u); goto L_08B186CC; L_08B186CC: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -2002,7 +2003,7 @@ L_08B186CC: AOT_REGCACHE_SYNC_OUT(); return; L_08B186E0: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_31 = (0x08B18700u); @@ -2012,7 +2013,7 @@ L_08B186E0: L_08B18700: ctx.gpr[18] = (ctx.gpr[2] | 0u); { const bool branch_taken = ctx.gpr[18] == 0u; - aot_gpr_17 = (0u | 1u); + ctx.gpr[17] = (0u | 1u); if (branch_taken) { goto L_08B18720; } @@ -2039,11 +2040,11 @@ L_08B18720: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B1872Cu); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1872Cu) goto L_08B1872C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1872Cu) goto L_08B1872C; AOT_REGCACHE_SYNC_OUT(); return; L_08B1872C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_gpr_17 | 0u); + ctx.gpr[2] = (ctx.gpr[17] | 0u); if (branch_taken) { goto L_08B1880C; } @@ -2058,7 +2059,7 @@ L_08B18734: aot_gpr_5 = (0u | 13u); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x08B18754u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B18754u) goto L_08B18754; AOT_REGCACHE_SYNC_OUT(); return; @@ -2071,7 +2072,7 @@ L_08B18754: aot_gpr_5 = (0u | 15u); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x08B18774u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B18774u) goto L_08B18774; AOT_REGCACHE_SYNC_OUT(); return; @@ -2084,7 +2085,7 @@ L_08B18774: aot_gpr_5 = (0u | 14u); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x08B18794u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B18794u) goto L_08B18794; AOT_REGCACHE_SYNC_OUT(); return; @@ -2097,7 +2098,7 @@ L_08B18794: aot_gpr_5 = (0u | 16u); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x08B187B4u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B187B4u) goto L_08B187B4; AOT_REGCACHE_SYNC_OUT(); return; @@ -2118,7 +2119,7 @@ L_08B187BC: aot_gpr_5 = (0u | 13u); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x08B187DCu); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B187DCu) goto L_08B187DC; AOT_REGCACHE_SYNC_OUT(); return; @@ -2131,7 +2132,7 @@ L_08B187DC: aot_gpr_5 = (0u | 15u); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x08B187FCu); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B187FCu) goto L_08B187FC; AOT_REGCACHE_SYNC_OUT(); return; @@ -2139,16 +2140,16 @@ L_08B187FC: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B18808u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B18808u) goto L_08B18808; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B18808u) goto L_08B18808; AOT_REGCACHE_SYNC_OUT(); return; L_08B18808: - ctx.gpr[2] = (aot_gpr_17 | 0u); + ctx.gpr[2] = (ctx.gpr[17] | 0u); goto L_08B1880C; L_08B1880C: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -2178,7 +2179,7 @@ L_08B1884C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B18858u); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B18858u) goto L_08B18858; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B18858u) goto L_08B18858; AOT_REGCACHE_SYNC_OUT(); return; L_08B18858: ctx.gpr[2] = (0u | 1u); @@ -2219,7 +2220,7 @@ L_08B1889C: L_08B188A8: aot_gpr_31 = (0x08B188B0u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B188B0u) goto L_08B188B0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B188B0u) goto L_08B188B0; AOT_REGCACHE_SYNC_OUT(); return; L_08B188B0: ctx.gpr[2] = (0u | 1u); @@ -2294,14 +2295,14 @@ L_08B1892C: AOT_REGCACHE_SYNC_OUT(); return; L_08B1894C: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - { const std::uint32_t aot_run_words[5]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; + { const std::uint32_t aot_run_words[5]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(20), aot_run_words); } aot_gpr_16 = (aot_gpr_4 | 0u); ctx.gpr[18] = (2237u << 16u); ctx.gpr[18] = (ctx.gpr[18] + static_cast(-28736)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(100))); ctx.gpr[19] = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(52))); - aot_gpr_17 = (0u | 1u); + ctx.gpr[17] = (0u | 1u); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B18988u); aot_gpr_5 = (0u | 1u); @@ -2348,7 +2349,7 @@ L_08B189B8: goto L_08B189C4; L_08B189C4: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(10)))))); - ctx.gpr[6] = (aot_gpr_29 + static_cast(16)); + aot_gpr_6 = (aot_gpr_29 + static_cast(16)); aot_gpr_31 = (0x08B189D4u); aot_gpr_4 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B189D4u) goto L_08B189D4; @@ -2363,7 +2364,7 @@ L_08B189E4: aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(176))); aot_gpr_5 = (0u | 65535u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; - ctx.gpr[6] = (aot_gpr_4 | 0u); + aot_gpr_6 = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08B189FC; } @@ -2417,11 +2418,11 @@ L_08B18A30: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B18A3Cu); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B18A3Cu) goto L_08B18A3C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B18A3Cu) goto L_08B18A3C; AOT_REGCACHE_SYNC_OUT(); return; L_08B18A3C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_gpr_17 | 0u); + ctx.gpr[2] = (ctx.gpr[17] | 0u); if (branch_taken) { goto L_08B18A54; } @@ -2431,16 +2432,16 @@ L_08B18A44: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B18A50u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B18A50u) goto L_08B18A50; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B18A50u) goto L_08B18A50; AOT_REGCACHE_SYNC_OUT(); return; L_08B18A50: - ctx.gpr[2] = (aot_gpr_17 | 0u); + ctx.gpr[2] = (ctx.gpr[17] | 0u); goto L_08B18A54; L_08B18A54: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(20), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; @@ -2453,14 +2454,14 @@ L_08B18A54: AOT_REGCACHE_SYNC_OUT(); return; L_08B18A70: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - { const std::uint32_t aot_run_words[5]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; + { const std::uint32_t aot_run_words[5]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_16 = (aot_gpr_4 | 0u); ctx.gpr[19] = (2237u << 16u); ctx.gpr[19] = (ctx.gpr[19] + static_cast(-28736)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(100))); ctx.gpr[18] = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(52))); - aot_gpr_17 = (0u | 1u); + ctx.gpr[17] = (0u | 1u); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B18AACu); aot_gpr_5 = (0u | 1u); @@ -2494,14 +2495,14 @@ L_08B18AD0: aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_gpr_31 = (0x08B18AE0u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B18AE0u) goto L_08B18AE0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B18AE0u) goto L_08B18AE0; AOT_REGCACHE_SYNC_OUT(); return; L_08B18AE0: - ctx.gpr[2] = (aot_gpr_17 | 0u); + ctx.gpr[2] = (ctx.gpr[17] | 0u); { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; @@ -2514,7 +2515,7 @@ L_08B18AE0: AOT_REGCACHE_SYNC_OUT(); return; L_08B18B00: aot_gpr_29 = (aot_gpr_29 + static_cast(-64)); - { const std::uint32_t aot_run_words[5]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; + { const std::uint32_t aot_run_words[5]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(36), aot_run_words); } aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_31 = (0x08B18B24u); @@ -2522,9 +2523,9 @@ L_08B18B00: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B18B24u) goto L_08B18B24; AOT_REGCACHE_SYNC_OUT(); return; L_08B18B24: - aot_gpr_17 = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08B18B30u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 195u, 0x08910B38u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B18B30u) goto L_08B18B30; AOT_REGCACHE_SYNC_OUT(); return; L_08B18B30: @@ -2536,14 +2537,14 @@ L_08B18B30: goto L_08B18B38; } L_08B18B38: - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1152))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1152))); aot_gpr_4 = (2237u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(104))); aot_gpr_5 = (aot_gpr_4 | 0u); - ctx.gpr[6] = (aot_gpr_5 + static_cast(4)); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(0))); - if (ctx.gpr[6] != 0u) { + aot_gpr_6 = (aot_gpr_5 + static_cast(4)); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); + if (aot_gpr_6 != 0u) { aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(12), static_cast(0u)); goto L_08B18B6C; } @@ -2565,32 +2566,32 @@ L_08B18B64: goto L_08B18B6C; } L_08B18B6C: - ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(16))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(16))); goto L_08B18B70; L_08B18B70: - ctx.gpr[7] = (ctx.gpr[7] < aot_gpr_17 ? 1u : 0u); + ctx.gpr[7] = (ctx.gpr[7] < ctx.gpr[17] ? 1u : 0u); ctx.gpr[7] = (ctx.gpr[7] & 255u); if (ctx.gpr[7] != 0u) { - ctx.gpr[6] = (ctx.gpr[6] + static_cast(12)); + aot_gpr_6 = (aot_gpr_6 + static_cast(12)); goto L_08B18B90; } goto L_08B18B80; L_08B18B80: - aot_gpr_5 = (ctx.gpr[6] | 0u); - ctx.gpr[6] = (aot_gpr_5 + static_cast(8)); + aot_gpr_5 = (aot_gpr_6 | 0u); + aot_gpr_6 = (aot_gpr_5 + static_cast(8)); { const bool branch_taken = 0u == 0u; - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(0))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); if (branch_taken) { goto L_08B18B94; } goto L_08B18B90; } L_08B18B90: - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(0))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); goto L_08B18B94; L_08B18B94: - if (ctx.gpr[6] != 0u) { - ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(16))); + if (aot_gpr_6 != 0u) { + ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(16))); goto L_08B18B70; } goto L_08B18B9C; @@ -2602,10 +2603,10 @@ L_08B18B9C: goto L_08B18BA4; L_08B18BA4: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(13), static_cast(0u)); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(16))); - ctx.gpr[6] = (aot_gpr_17 < ctx.gpr[6] ? 1u : 0u); - ctx.gpr[6] = (ctx.gpr[6] & 255u); - if (ctx.gpr[6] == 0u) { + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(16))); + aot_gpr_6 = (ctx.gpr[17] < aot_gpr_6 ? 1u : 0u); + aot_gpr_6 = (aot_gpr_6 & 255u); + if (aot_gpr_6 == 0u) { aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_5); goto L_08B18BC4; } @@ -2628,20 +2629,20 @@ L_08B18BC4: aot_gpr_5 = (aot_gpr_5 < static_cast(1) ? 1u : 0u); aot_gpr_5 = (aot_gpr_5 & 255u); if (aot_gpr_5 == 0u) { - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); goto L_08B18BFC; } goto L_08B18BF4; L_08B18BF4: { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); if (branch_taken) { goto L_08B18BFC; } goto L_08B18BFC; } L_08B18BFC: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -2654,13 +2655,13 @@ L_08B18C08: ctx.gpr[18] = (aot_gpr_4 + static_cast(16)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(0)))))); aot_gpr_31 = (0x08B18C1Cu); - ctx.gpr[19] = (aot_gpr_17 + aot_gpr_4); + ctx.gpr[19] = (ctx.gpr[17] + aot_gpr_4); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0158_entry, 158u, 666u, 0x08A7FAA4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B18C1Cu) goto L_08B18C1C; AOT_REGCACHE_SYNC_OUT(); return; L_08B18C1C: - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); aot_gpr_4 = (ctx.gpr[19] | 0u); - jump_target = ctx.gpr[6]; + jump_target = aot_gpr_6; aot_gpr_31 = (0x08B18C2Cu); aot_gpr_5 = (ctx.gpr[2] | 0u); ctx.pc = jump_target; @@ -2676,14 +2677,14 @@ L_08B18C2C: } L_08B18C34: { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); if (branch_taken) { goto L_08B18C3C; } goto L_08B18C3C; } L_08B18C3C: - { const bool branch_taken = aot_gpr_17 == 0u; + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_08B18C58; @@ -2693,7 +2694,7 @@ L_08B18C3C: L_08B18C44: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B18C50u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0195_entry, 195u, 225u, 0x08B10EBCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B18C50u) goto L_08B18C50; AOT_REGCACHE_SYNC_OUT(); return; L_08B18C50: @@ -2711,7 +2712,7 @@ L_08B18C5C: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(36), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; @@ -2724,10 +2725,10 @@ L_08B18C5C: AOT_REGCACHE_SYNC_OUT(); return; L_08B18C78: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(24), aot_run_words); } aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); ctx.gpr[18] = (0u | 1u); aot_gpr_31 = (0x08B18CA0u); aot_gpr_5 = (0u | 1u); @@ -2749,7 +2750,7 @@ L_08B18CA8: AOT_REGCACHE_SYNC_OUT(); return; L_08B18CB4: { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (ctx.gpr[2] | 0u); if (branch_taken) { goto L_08B18CE4; } @@ -2759,7 +2760,7 @@ L_08B18CBC: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B18CC8u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B18CC8u) goto L_08B18CC8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880692C, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B18CC8u) goto L_08B18CC8; AOT_REGCACHE_SYNC_OUT(); return; L_08B18CC8: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -2773,17 +2774,17 @@ L_08B18CD0: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B18CDCu); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B18CDCu) goto L_08B18CDC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B18CDCu) goto L_08B18CDC; AOT_REGCACHE_SYNC_OUT(); return; L_08B18CDC: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[0])); - aot_gpr_17 = (std::bit_cast(aot_fpr_12)); + ctx.gpr[17] = (std::bit_cast(aot_fpr_12)); goto L_08B18CE4; L_08B18CE4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B18CF0u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B18CF0u) goto L_08B18CF0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806888, 0u, 324u, 0x08806888u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B18CF0u) goto L_08B18CF0; AOT_REGCACHE_SYNC_OUT(); return; L_08B18CF0: { const bool branch_taken = ctx.gpr[2] != ctx.gpr[18]; @@ -2797,7 +2798,7 @@ L_08B18CF8: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B18D04u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B18D04u) goto L_08B18D04; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806AE0, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B18D04u) goto L_08B18D04; AOT_REGCACHE_SYNC_OUT(); return; L_08B18D04: aot_gpr_5 = (0u < ctx.gpr[2] ? 1u : 0u); @@ -2806,13 +2807,13 @@ L_08B18D04: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7788))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(18), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_gpr_29 + static_cast(16)); - aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(19), static_cast(aot_gpr_17)); + aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(19), static_cast(ctx.gpr[17])); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(20), static_cast(aot_gpr_5)); aot_gpr_16 = (2237u << 16u); aot_gpr_16 = (aot_gpr_16 + static_cast(-28736)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(100))); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(52))); - { const bool branch_taken = aot_gpr_17 == aot_gpr_5; + { const bool branch_taken = ctx.gpr[17] == aot_gpr_5; // nop if (branch_taken) { goto L_08B18D4C; @@ -2837,8 +2838,8 @@ L_08B18D44: } L_08B18D4C: aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(22), static_cast(0u)); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(22)))))); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(22)))))); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B18D60u); ctx.gpr[7] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0008_entry, 8u, 176u, 0x08825204u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B18D60u) goto L_08B18D60; @@ -2854,7 +2855,7 @@ L_08B18D60: L_08B18D68: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B18D74u); - ctx.gpr[6] = (aot_gpr_17 | 0u); + aot_gpr_6 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 189u, 0x08ADCA34u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B18D74u) goto L_08B18D74; AOT_REGCACHE_SYNC_OUT(); return; L_08B18D74: @@ -2864,7 +2865,7 @@ L_08B18D78: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(24), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -2898,7 +2899,7 @@ L_08B18DAC: AOT_REGCACHE_SYNC_OUT(); return; L_08B18DBC: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_31 = (0x08B18DD8u); @@ -2906,7 +2907,7 @@ L_08B18DBC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B18DD8u) goto L_08B18DD8; AOT_REGCACHE_SYNC_OUT(); return; L_08B18DD8: - aot_gpr_17 = (0u | 1u); + ctx.gpr[17] = (0u | 1u); aot_gpr_31 = (0x08B18DE4u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B18DE4u) goto L_08B18DE4; @@ -2918,14 +2919,14 @@ L_08B18DE4: aot_gpr_5 = (aot_gpr_5 & 255u); aot_gpr_31 = (0x08B18DFCu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B18DFCu) goto L_08B18DFC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B18DFCu) goto L_08B18DFC; AOT_REGCACHE_SYNC_OUT(); return; L_08B18DFC: - ctx.gpr[2] = (aot_gpr_17 | 0u); + ctx.gpr[2] = (ctx.gpr[17] | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -2936,13 +2937,13 @@ L_08B18DFC: AOT_REGCACHE_SYNC_OUT(); return; L_08B18E14: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_17 = (0u | 1u); + ctx.gpr[17] = (0u | 1u); aot_gpr_31 = (0x08B18E34u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B18E34u) goto L_08B18E34; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B18E34u) goto L_08B18E34; AOT_REGCACHE_SYNC_OUT(); return; L_08B18E34: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[0])); @@ -2980,14 +2981,14 @@ L_08B18E80: L_08B18E8C: aot_gpr_31 = (0x08B18E94u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B18E94u) goto L_08B18E94; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B18E94u) goto L_08B18E94; AOT_REGCACHE_SYNC_OUT(); return; L_08B18E94: - ctx.gpr[2] = (aot_gpr_17 | 0u); + ctx.gpr[2] = (ctx.gpr[17] | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -2998,10 +2999,10 @@ L_08B18E94: AOT_REGCACHE_SYNC_OUT(); return; L_08B18EAC: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_17 = (0u | 1u); + ctx.gpr[17] = (0u | 1u); aot_gpr_31 = (0x08B18ECCu); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0196_entry, 196u, 276u, 0x08B15624u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B18ECCu) goto L_08B18ECC; @@ -3010,10 +3011,10 @@ L_08B18ECC: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B18ED8u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B18ED8u) goto L_08B18ED8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806888, 0u, 324u, 0x08806888u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B18ED8u) goto L_08B18ED8; AOT_REGCACHE_SYNC_OUT(); return; L_08B18ED8: - { const bool branch_taken = ctx.gpr[2] != aot_gpr_17; + { const bool branch_taken = ctx.gpr[2] != ctx.gpr[17]; // nop if (branch_taken) { goto L_08B18F0C; @@ -3030,7 +3031,7 @@ L_08B18EE8: aot_gpr_16 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08B18EF8u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B18EF8u) goto L_08B18EF8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806AE0, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B18EF8u) goto L_08B18EF8; AOT_REGCACHE_SYNC_OUT(); return; L_08B18EF8: aot_gpr_4 = (0u < ctx.gpr[2] ? 1u : 0u); @@ -3050,7 +3051,7 @@ L_08B18F10: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -3061,11 +3062,11 @@ L_08B18F10: AOT_REGCACHE_SYNC_OUT(); return; L_08B18F24: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - { const std::uint32_t aot_run_words[5]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; + { const std::uint32_t aot_run_words[5]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(20), aot_run_words); } aot_gpr_16 = (2237u << 16u); aot_gpr_16 = (aot_gpr_16 + static_cast(-28736)); - aot_gpr_17 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(10548)))))); + ctx.gpr[17] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(10548)))))); ctx.gpr[18] = (0u | 0u); aot_gpr_31 = (0x08B18F54u); aot_gpr_4 = (0u | 12u); @@ -3108,14 +3109,14 @@ L_08B18F94: goto L_08B18FA0; L_08B18FA0: aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B18FB0u); - ctx.gpr[6] = (ctx.gpr[19] | 0u); + aot_gpr_6 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 340u, 0x08ADD3DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B18FB0u) goto L_08B18FB0; AOT_REGCACHE_SYNC_OUT(); return; L_08B18FB0: - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_08B18FD4; @@ -3123,10 +3124,10 @@ L_08B18FB0: goto L_08B18FBC; } L_08B18FBC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_gpr_4 = (aot_gpr_4 + static_cast(-1)); { const bool branch_taken = aot_gpr_4 != 0u; - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), aot_gpr_4); if (branch_taken) { goto L_08B18FD4; } @@ -3134,11 +3135,11 @@ L_08B18FBC: } L_08B18FCC: aot_gpr_31 = (0x08B18FD4u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B18FD4u) goto L_08B18FD4; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B18FD4u) goto L_08B18FD4; AOT_REGCACHE_SYNC_OUT(); return; L_08B18FD4: - aot_gpr_17 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(10549)))))); + ctx.gpr[17] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(10549)))))); ctx.gpr[18] = (0u | 0u); aot_gpr_31 = (0x08B18FE4u); aot_gpr_4 = (0u | 12u); @@ -3180,14 +3181,14 @@ L_08B19020: goto L_08B1902C; L_08B1902C: aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B1903Cu); - ctx.gpr[6] = (ctx.gpr[19] | 0u); + aot_gpr_6 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 340u, 0x08ADD3DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1903Cu) goto L_08B1903C; AOT_REGCACHE_SYNC_OUT(); return; L_08B1903C: - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_08B19060; @@ -3195,10 +3196,10 @@ L_08B1903C: goto L_08B19048; } L_08B19048: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_gpr_4 = (aot_gpr_4 + static_cast(-1)); { const bool branch_taken = aot_gpr_4 != 0u; - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), aot_gpr_4); if (branch_taken) { goto L_08B19060; } @@ -3206,11 +3207,11 @@ L_08B19048: } L_08B19058: aot_gpr_31 = (0x08B19060u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B19060u) goto L_08B19060; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B19060u) goto L_08B19060; AOT_REGCACHE_SYNC_OUT(); return; L_08B19060: - aot_gpr_17 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(10550)))))); + ctx.gpr[17] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(10550)))))); ctx.gpr[18] = (0u | 0u); aot_gpr_31 = (0x08B19070u); aot_gpr_4 = (0u | 12u); @@ -3252,9 +3253,9 @@ L_08B190AC: goto L_08B190B8; L_08B190B8: aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B190C8u); - ctx.gpr[6] = (ctx.gpr[19] | 0u); + aot_gpr_6 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 340u, 0x08ADD3DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B190C8u) goto L_08B190C8; AOT_REGCACHE_SYNC_OUT(); return; L_08B190C8: @@ -3279,7 +3280,7 @@ L_08B190D4: L_08B190E4: aot_gpr_31 = (0x08B190ECu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B190ECu) goto L_08B190EC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B190ECu) goto L_08B190EC; AOT_REGCACHE_SYNC_OUT(); return; L_08B190EC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5892))); @@ -3302,7 +3303,7 @@ L_08B19100: L_08B19108: aot_gpr_5 = (aot_gpr_5 + static_cast(31828)); aot_gpr_31 = (0x08B19114u); - ctx.gpr[6] = (ctx.gpr[28] + static_cast(2876)); + aot_gpr_6 = (ctx.gpr[28] + static_cast(2876)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0032_entry, 32u, 270u, 0x08885284u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B19114u) goto L_08B19114; AOT_REGCACHE_SYNC_OUT(); return; L_08B19114: @@ -3326,14 +3327,14 @@ L_08B19128: L_08B19130: aot_gpr_5 = (aot_gpr_5 + static_cast(-32656)); aot_gpr_31 = (0x08B1913Cu); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0032_entry, 32u, 266u, 0x08885220u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1913Cu) goto L_08B1913C; AOT_REGCACHE_SYNC_OUT(); return; L_08B1913C: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(20), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; @@ -3346,7 +3347,7 @@ L_08B1913C: AOT_REGCACHE_SYNC_OUT(); return; L_08B19158: aot_gpr_29 = (aot_gpr_29 + static_cast(-96)); - { const std::uint32_t aot_run_words[4]{std::bit_cast(ctx.fpr[20]), aot_gpr_16, aot_gpr_17, aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{std::bit_cast(ctx.fpr[20]), aot_gpr_16, ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(68), aot_run_words); } aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_31 = (0x08B19178u); @@ -3377,7 +3378,7 @@ L_08B19188: L_08B1919C: aot_gpr_4 = (aot_gpr_29 + static_cast(48)); aot_gpr_5 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (0u | 2u); + aot_gpr_6 = (0u | 2u); aot_gpr_31 = (0x08B191B0u); ctx.gpr[7] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0075_entry, 75u, 315u, 0x08931AF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B191B0u) goto L_08B191B0; @@ -3386,14 +3387,14 @@ L_08B191B0: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B191BCu); aot_gpr_5 = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B191BCu) goto L_08B191BC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B191BCu) goto L_08B191BC; AOT_REGCACHE_SYNC_OUT(); return; L_08B191BC: ctx.fpr[20] = std::bit_cast(std::bit_cast(ctx.fpr[0])); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7800))); aot_gpr_5 = (aot_gpr_4 << 8u); - ctx.gpr[6] = (aot_gpr_4 + aot_gpr_4); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_6 = (aot_gpr_4 + aot_gpr_4); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); aot_gpr_4 = (aot_gpr_4 << 5u); aot_gpr_16 = (aot_gpr_5 + aot_gpr_4); aot_gpr_4 = (2238u << 16u); @@ -3433,7 +3434,7 @@ L_08B1920C: goto L_08B19224; } L_08B19224: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1152))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(900))); @@ -3449,7 +3450,7 @@ L_08B1923C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1152))); aot_gpr_31 = (0x08B1924Cu); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(900))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1924Cu) goto L_08B1924C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1924Cu) goto L_08B1924C; AOT_REGCACHE_SYNC_OUT(); return; L_08B1924C: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -3460,7 +3461,7 @@ L_08B1924C: goto L_08B19254; } L_08B19254: - aot_gpr_17 = (0u | 1u); + ctx.gpr[17] = (0u | 1u); goto L_08B19258; L_08B19258: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); @@ -3474,10 +3475,10 @@ L_08B19258: goto L_08B1926C; } L_08B1926C: - aot_gpr_17 = (0u | 1u); + ctx.gpr[17] = (0u | 1u); goto L_08B19270; L_08B19270: - { const bool branch_taken = aot_gpr_17 != 0u; + { const bool branch_taken = ctx.gpr[17] != 0u; // nop if (branch_taken) { goto L_08B192BC; @@ -3504,10 +3505,10 @@ L_08B19288: L_08B19298: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(92))); aot_gpr_5 = (aot_gpr_5 + static_cast(24)); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); - jump_target = ctx.gpr[6]; + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); + jump_target = aot_gpr_6; aot_gpr_31 = (0x08B192B4u); aot_gpr_5 = (0u | 3u); ctx.pc = jump_target; @@ -3537,15 +3538,15 @@ L_08B192CC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1152))); aot_gpr_4 = (aot_gpr_4 + static_cast(615)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0)))))); - ctx.gpr[6] = (0u + static_cast(-17)); - aot_gpr_5 = (aot_gpr_5 & ctx.gpr[6]); + aot_gpr_6 = (0u + static_cast(-17)); + aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_5)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1152))); aot_gpr_4 = (aot_gpr_4 + static_cast(616)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0)))))); - ctx.gpr[6] = (0u + static_cast(-3)); - aot_gpr_5 = (aot_gpr_5 & ctx.gpr[6]); + aot_gpr_6 = (0u + static_cast(-3)); + aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_5)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1152))); @@ -3564,8 +3565,8 @@ L_08B19334: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1152))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); - ctx.gpr[6] = (0u + static_cast(-497)); - aot_gpr_5 = (aot_gpr_5 & ctx.gpr[6]); + aot_gpr_6 = (0u + static_cast(-497)); + aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); aot_gpr_5 = (aot_gpr_5 | 64u); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(72), aot_gpr_5); goto L_08B19350; @@ -3577,16 +3578,16 @@ L_08B19350: L_08B19358: aot_fpr_12 = std::bit_cast(0u); aot_gpr_4 = (2236u << 16u); - aot_gpr_17 = (aot_gpr_4 + static_cast(32304)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(1936), std::bit_cast(aot_fpr_12)); + ctx.gpr[17] = (aot_gpr_4 + static_cast(32304)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(1936), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08B19370u); - aot_gpr_4 = (aot_gpr_17 + static_cast(2856)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(2856)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0045_entry, 45u, 518u, 0x088BA740u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B19370u) goto L_08B19370; AOT_REGCACHE_SYNC_OUT(); return; L_08B19370: aot_gpr_4 = (0u | 1u); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(90), static_cast(aot_gpr_4)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(88), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(90), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(88), static_cast(aot_gpr_4)); aot_gpr_31 = (0x08B19384u); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7800))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B19384u) goto L_08B19384; @@ -3640,7 +3641,7 @@ L_08B193D0: aot_gpr_4 = (2237u << 16u); aot_gpr_31 = (0x08B193E0u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B193E0u) goto L_08B193E0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC734, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B193E0u) goto L_08B193E0; AOT_REGCACHE_SYNC_OUT(); return; L_08B193E0: aot_gpr_4 = (ctx.gpr[2] | 0u); @@ -3679,7 +3680,7 @@ L_08B19400: L_08B19408: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); aot_gpr_5 = (0u | 24u); - ctx.gpr[6] = (0u | 50u); + aot_gpr_6 = (0u | 50u); aot_gpr_31 = (0x08B1941Cu); ctx.gpr[7] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0069_entry, 69u, 600u, 0x0891B7DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1941Cu) goto L_08B1941C; @@ -3687,7 +3688,7 @@ L_08B19408: L_08B1941C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); aot_gpr_5 = (0u | 21u); - ctx.gpr[6] = (0u | 10u); + aot_gpr_6 = (0u | 10u); aot_gpr_31 = (0x08B19430u); ctx.gpr[7] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0069_entry, 69u, 600u, 0x0891B7DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B19430u) goto L_08B19430; @@ -3695,7 +3696,7 @@ L_08B1941C: L_08B19430: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); aot_gpr_5 = (0u | 12u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_gpr_31 = (0x08B19444u); ctx.gpr[7] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0069_entry, 69u, 600u, 0x0891B7DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B19444u) goto L_08B19444; @@ -3703,7 +3704,7 @@ L_08B19430: L_08B19444: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); aot_gpr_5 = (0u | 32u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_gpr_31 = (0x08B19458u); ctx.gpr[7] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0069_entry, 69u, 600u, 0x0891B7DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B19458u) goto L_08B19458; @@ -3723,16 +3724,16 @@ L_08B19464: goto L_08B1946C; } L_08B1946C: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_4 = (2237u << 16u); aot_gpr_31 = (0x08B1947Cu); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1947Cu) goto L_08B1947C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC734, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1947Cu) goto L_08B1947C; AOT_REGCACHE_SYNC_OUT(); return; L_08B1947C: aot_gpr_4 = (0u | 1u); { const bool branch_taken = ctx.gpr[2] != aot_gpr_4; - aot_gpr_4 = (aot_gpr_17 & 255u); + aot_gpr_4 = (ctx.gpr[17] & 255u); if (branch_taken) { goto L_08B194A8; } @@ -3742,24 +3743,24 @@ L_08B19488: aot_gpr_4 = (2237u << 16u); aot_gpr_31 = (0x08B19494u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B19494u) goto L_08B19494; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC784, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B19494u) goto L_08B19494; AOT_REGCACHE_SYNC_OUT(); return; L_08B19494: aot_gpr_4 = (0u | 1u); { const bool branch_taken = ctx.gpr[2] != aot_gpr_4; - aot_gpr_4 = (aot_gpr_17 & 255u); + aot_gpr_4 = (ctx.gpr[17] & 255u); if (branch_taken) { goto L_08B194A8; } goto L_08B194A0; } L_08B194A0: - aot_gpr_17 = (0u | 1u); - aot_gpr_4 = (aot_gpr_17 & 255u); + ctx.gpr[17] = (0u | 1u); + aot_gpr_4 = (ctx.gpr[17] & 255u); goto L_08B194A8; L_08B194A8: { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); if (branch_taken) { goto L_08B19524; } @@ -3769,12 +3770,12 @@ L_08B194B0: aot_gpr_4 = (2237u << 16u); aot_gpr_31 = (0x08B194BCu); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B194BCu) goto L_08B194BC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC734, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B194BCu) goto L_08B194BC; AOT_REGCACHE_SYNC_OUT(); return; L_08B194BC: aot_gpr_4 = (0u | 1u); { const bool branch_taken = ctx.gpr[2] != aot_gpr_4; - aot_gpr_4 = (aot_gpr_17 & 255u); + aot_gpr_4 = (ctx.gpr[17] & 255u); if (branch_taken) { goto L_08B194E8; } @@ -3784,20 +3785,20 @@ L_08B194C8: aot_gpr_4 = (2237u << 16u); aot_gpr_31 = (0x08B194D4u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B194D4u) goto L_08B194D4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC784, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 147u, 0x08ADC784u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B194D4u) goto L_08B194D4; AOT_REGCACHE_SYNC_OUT(); return; L_08B194D4: aot_gpr_4 = (0u | 2u); { const bool branch_taken = ctx.gpr[2] != aot_gpr_4; - aot_gpr_4 = (aot_gpr_17 & 255u); + aot_gpr_4 = (ctx.gpr[17] & 255u); if (branch_taken) { goto L_08B194E8; } goto L_08B194E0; } L_08B194E0: - aot_gpr_17 = (0u | 1u); - aot_gpr_4 = (aot_gpr_17 & 255u); + ctx.gpr[17] = (0u | 1u); + aot_gpr_4 = (ctx.gpr[17] & 255u); goto L_08B194E8; L_08B194E8: { const bool branch_taken = aot_gpr_4 != 0u; @@ -3810,7 +3811,7 @@ L_08B194E8: L_08B194F0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); aot_gpr_5 = (0u | 24u); - ctx.gpr[6] = (0u | 200u); + aot_gpr_6 = (0u | 200u); aot_gpr_31 = (0x08B19504u); ctx.gpr[7] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0069_entry, 69u, 600u, 0x0891B7DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B19504u) goto L_08B19504; @@ -3818,7 +3819,7 @@ L_08B194F0: L_08B19504: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); aot_gpr_5 = (0u | 32u); - ctx.gpr[6] = (0u | 10u); + aot_gpr_6 = (0u | 10u); aot_gpr_31 = (0x08B19518u); ctx.gpr[7] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0069_entry, 69u, 600u, 0x0891B7DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B19518u) goto L_08B19518; @@ -3840,7 +3841,7 @@ L_08B19524: L_08B1952C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); aot_gpr_5 = (0u | 29u); - ctx.gpr[6] = (0u | 250u); + aot_gpr_6 = (0u | 250u); aot_gpr_31 = (0x08B19540u); ctx.gpr[7] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0069_entry, 69u, 600u, 0x0891B7DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B19540u) goto L_08B19540; @@ -3848,7 +3849,7 @@ L_08B1952C: L_08B19540: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); aot_gpr_5 = (0u | 21u); - ctx.gpr[6] = (0u | 10u); + aot_gpr_6 = (0u | 10u); aot_gpr_31 = (0x08B19554u); ctx.gpr[7] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0069_entry, 69u, 600u, 0x0891B7DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B19554u) goto L_08B19554; @@ -3856,7 +3857,7 @@ L_08B19540: L_08B19554: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); aot_gpr_5 = (0u | 32u); - ctx.gpr[6] = (0u | 30u); + aot_gpr_6 = (0u | 30u); aot_gpr_31 = (0x08B19568u); ctx.gpr[7] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0069_entry, 69u, 600u, 0x0891B7DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B19568u) goto L_08B19568; @@ -3864,7 +3865,7 @@ L_08B19554: L_08B19568: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); aot_gpr_5 = (0u | 30u); - ctx.gpr[6] = (0u | 30u); + aot_gpr_6 = (0u | 30u); aot_gpr_31 = (0x08B1957Cu); ctx.gpr[7] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0069_entry, 69u, 600u, 0x0891B7DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1957Cu) goto L_08B1957C; @@ -3886,7 +3887,7 @@ L_08B19588: L_08B19590: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); aot_gpr_5 = (0u | 19u); - ctx.gpr[6] = (0u | 34u); + aot_gpr_6 = (0u | 34u); aot_gpr_31 = (0x08B195A4u); ctx.gpr[7] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0069_entry, 69u, 600u, 0x0891B7DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B195A4u) goto L_08B195A4; @@ -3894,7 +3895,7 @@ L_08B19590: L_08B195A4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); aot_gpr_5 = (0u | 24u); - ctx.gpr[6] = (0u | 100u); + aot_gpr_6 = (0u | 100u); aot_gpr_31 = (0x08B195B8u); ctx.gpr[7] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0069_entry, 69u, 600u, 0x0891B7DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B195B8u) goto L_08B195B8; @@ -3908,9 +3909,9 @@ L_08B195B8: L_08B195C4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(456))); - ctx.gpr[6] = (65472u << 16u); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(-1)); - aot_gpr_5 = (aot_gpr_5 & ctx.gpr[6]); + aot_gpr_6 = (65472u << 16u); + aot_gpr_6 = (aot_gpr_6 + static_cast(-1)); + aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(456), aot_gpr_5); aot_gpr_4 = (0u + static_cast(-1)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); @@ -4094,7 +4095,7 @@ L_08B19718: L_08B19728: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x08B1973Cu); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0134_entry, 134u, 156u, 0x08A1CF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1973Cu) goto L_08B1973C; @@ -4126,21 +4127,21 @@ L_08B19768: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(66), static_cast(aot_gpr_4)); aot_gpr_16 = (aot_gpr_29 + static_cast(64)); aot_gpr_4 = (2237u << 16u); - aot_gpr_17 = (aot_gpr_4 + static_cast(-28736)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(100))); + ctx.gpr[17] = (aot_gpr_4 + static_cast(-28736)); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(100))); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(52))); aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(32), static_cast(0u)); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(32)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(32)))))); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B197A0u); ctx.gpr[7] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0008_entry, 8u, 182u, 0x08825280u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B197A0u) goto L_08B197A0; AOT_REGCACHE_SYNC_OUT(); return; L_08B197A0: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B197B0u); - ctx.gpr[6] = (0u + static_cast(-1)); + aot_gpr_6 = (0u + static_cast(-1)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 189u, 0x08ADCA34u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B197B0u) goto L_08B197B0; AOT_REGCACHE_SYNC_OUT(); return; L_08B197B0: @@ -4159,7 +4160,7 @@ L_08B197BC: aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(68), aot_run_words); ctx.fpr[20] = std::bit_cast(aot_run_words[0]); aot_gpr_16 = aot_run_words[1]; - aot_gpr_17 = aot_run_words[2]; + ctx.gpr[17] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } jump_target = aot_gpr_31; @@ -4174,23 +4175,23 @@ L_08B197D4: aot_gpr_4 = (ctx.gpr[28] + static_cast(3136)); aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(10548))); aot_gpr_5 = (aot_gpr_5 << 2u); - ctx.gpr[6] = (2237u << 16u); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(-30144)); - aot_gpr_5 = (aot_gpr_5 + ctx.gpr[6]); + aot_gpr_6 = (2237u << 16u); + aot_gpr_6 = (aot_gpr_6 + static_cast(-30144)); + aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_4); aot_gpr_4 = (0u | 42u); aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(10549), static_cast(aot_gpr_4)); aot_gpr_4 = (ctx.gpr[28] + static_cast(3152)); aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(10549))); aot_gpr_5 = (aot_gpr_5 << 2u); - aot_gpr_5 = (aot_gpr_5 + ctx.gpr[6]); + aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_4); aot_gpr_4 = (0u | 43u); aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(10550), static_cast(aot_gpr_4)); aot_gpr_4 = (ctx.gpr[28] + static_cast(3164)); aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(10550))); aot_gpr_5 = (aot_gpr_5 << 2u); - aot_gpr_5 = (aot_gpr_5 + ctx.gpr[6]); + aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); jump_target = aot_gpr_31; aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_4); local_pc = jump_target; @@ -4210,8 +4211,8 @@ L_08B19834: AOT_REGCACHE_SYNC_OUT(); return; L_08B19850: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); { const bool branch_taken = aot_gpr_4 == 0u; @@ -4222,9 +4223,9 @@ L_08B19850: goto L_08B1986C; } L_08B1986C: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); { const bool branch_taken = aot_gpr_5 == 0u; - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); if (branch_taken) { goto L_08B19880; } @@ -4232,7 +4233,7 @@ L_08B1986C: } L_08B19878: aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); goto L_08B19880; L_08B19880: { const bool branch_taken = aot_gpr_4 == 0u; @@ -4243,13 +4244,13 @@ L_08B19880: goto L_08B19888; } L_08B19888: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), aot_gpr_5); goto L_08B19890; L_08B19890: - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), 0u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(4), 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(16))); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), 0u); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(4), 0u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(16))); if (aot_gpr_4 == 0u) { aot_gpr_4 = (aot_gpr_16 & 1u); goto L_08B198B8; @@ -4260,7 +4261,7 @@ L_08B198A4: aot_gpr_4 = (2236u << 16u); aot_gpr_31 = (0x08B198B4u); aot_gpr_4 = (aot_gpr_4 + static_cast(25856)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B198B4u) goto L_08B198B4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B198B4u) goto L_08B198B4; AOT_REGCACHE_SYNC_OUT(); return; L_08B198B4: aot_gpr_4 = (aot_gpr_16 & 1u); @@ -4275,14 +4276,14 @@ L_08B198B8: } L_08B198C0: aot_gpr_31 = (0x08B198C8u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B198C8u) goto L_08B198C8; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B198C8u) goto L_08B198C8; AOT_REGCACHE_SYNC_OUT(); return; L_08B198C8: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -4293,9 +4294,9 @@ L_08B198C8: AOT_REGCACHE_SYNC_OUT(); return; L_08B198DC: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_4 | 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(16))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_4 | 0u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(16))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); { const bool branch_taken = aot_gpr_4 == 0u; @@ -4310,7 +4311,7 @@ L_08B198FC: aot_gpr_4 = (2236u << 16u); aot_gpr_31 = (0x08B1990Cu); aot_gpr_4 = (aot_gpr_4 + static_cast(25856)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1990Cu) goto L_08B1990C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1990Cu) goto L_08B1990C; AOT_REGCACHE_SYNC_OUT(); return; L_08B1990C: aot_gpr_4 = (aot_gpr_16 << 3u); @@ -4320,12 +4321,12 @@ L_08B1990C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 468u, 0x08ABE29Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1991Cu) goto L_08B1991C; AOT_REGCACHE_SYNC_OUT(); return; L_08B1991C: - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(16), ctx.gpr[2]); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(8), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(16), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(8), aot_gpr_16); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -4336,11 +4337,11 @@ L_08B1991C: AOT_REGCACHE_SYNC_OUT(); return; L_08B19938: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, ctx.gpr[18]}; + { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } ctx.gpr[18] = (aot_gpr_4 | 0u); - aot_gpr_17 = (aot_gpr_5 | 0u); - aot_gpr_16 = (ctx.gpr[6] | 0u); + ctx.gpr[17] = (aot_gpr_5 | 0u); + aot_gpr_16 = (aot_gpr_6 | 0u); { const std::uint32_t aot_run_words[3]{ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(12), aot_run_words); } aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); @@ -4356,7 +4357,7 @@ L_08B19938: L_08B19974: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(16))); aot_gpr_5 = (aot_gpr_16 | 0u); - jump_target = aot_gpr_17; + jump_target = ctx.gpr[17]; aot_gpr_31 = (0x08B19984u); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[19]); ctx.pc = jump_target; @@ -4377,7 +4378,7 @@ L_08B19998: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -4406,10 +4407,10 @@ L_08B199C0: L_08B199C8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[17]); aot_gpr_16 = (aot_gpr_5 | 0u); - aot_gpr_17 = (aot_gpr_4 | 0u); - ctx.gpr[6] = (ctx.gpr[6] & 255u); + ctx.gpr[17] = (aot_gpr_4 | 0u); + aot_gpr_6 = (aot_gpr_6 & 255u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), std::bit_cast(ctx.fpr[20])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); aot_gpr_31 = (0x08B199F0u); @@ -4419,9 +4420,9 @@ L_08B199C8: L_08B199F0: aot_gpr_4 = (2235u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-31712)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(92), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(92), aot_gpr_4); aot_gpr_31 = (0x08B19A04u); - aot_gpr_4 = (aot_gpr_17 + static_cast(1924)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(1924)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 657u, 0x08AFEF20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B19A04u) goto L_08B19A04; AOT_REGCACHE_SYNC_OUT(); return; L_08B19A04: @@ -4443,34 +4444,34 @@ L_08B19A14: L_08B19A24: aot_gpr_5 = (0u | 61u); ctx.fpr[20] = std::bit_cast(0u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(1924), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(1924), aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(60))); - ctx.gpr[6] = (0u | 9u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(1920), aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(852), ctx.gpr[6]); + aot_gpr_6 = (0u | 9u); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(1920), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(852), aot_gpr_6); { const std::uint32_t aot_run_words[4]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[20])}; - aot_mem.aot_direct_store32_block(aot_gpr_17 + static_cast(1952), aot_run_words); } + aot_mem.aot_direct_store32_block(ctx.gpr[17] + static_cast(1952), aot_run_words); } aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(60))); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B19A60u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(1920), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(1920), aot_gpr_5); goto L_08B19B00; L_08B19A60: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(1968)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(1968)))))); aot_gpr_5 = (0u + static_cast(-2)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(600), std::bit_cast(ctx.fpr[20])); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(600), std::bit_cast(ctx.fpr[20])); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(1968), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(1968), static_cast(aot_gpr_4)); aot_gpr_31 = (0x08B19A7Cu); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); goto L_08B19F00; L_08B19A7C: - ctx.gpr[2] = (aot_gpr_17 | 0u); + ctx.gpr[2] = (ctx.gpr[17] | 0u); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); ctx.fpr[20] = std::bit_cast(aot_run_words[0]); aot_gpr_16 = aot_run_words[1]; - aot_gpr_17 = aot_run_words[2]; + ctx.gpr[17] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } jump_target = aot_gpr_31; @@ -4481,8 +4482,8 @@ L_08B19A7C: AOT_REGCACHE_SYNC_OUT(); return; L_08B19A98: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); { const bool branch_taken = aot_gpr_4 == 0u; @@ -4495,14 +4496,14 @@ L_08B19A98: L_08B19AB4: aot_gpr_4 = (2235u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-31712)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(92), aot_gpr_4); - aot_gpr_4 = (aot_gpr_17 + static_cast(1924)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(92), aot_gpr_4); + aot_gpr_4 = (ctx.gpr[17] + static_cast(1924)); aot_gpr_31 = (0x08B19ACCu); aot_gpr_5 = (0u | 2u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 658u, 0x08AFEF48u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B19ACCu) goto L_08B19ACC; AOT_REGCACHE_SYNC_OUT(); return; L_08B19ACC: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B19AD8u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 297u, 0x08831598u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B19AD8u) goto L_08B19AD8; @@ -4518,14 +4519,14 @@ L_08B19AD8: } L_08B19AE4: aot_gpr_31 = (0x08B19AECu); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 734u, 0x08AFF2E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B19AECu) goto L_08B19AEC; AOT_REGCACHE_SYNC_OUT(); return; L_08B19AEC: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -4569,19 +4570,19 @@ L_08B19B34: L_08B19B40: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_17); - aot_gpr_17 = (aot_gpr_5 & 255u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_5 & 255u); aot_gpr_16 = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), std::bit_cast(ctx.fpr[20])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_31); aot_gpr_31 = (0x08B19B64u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0014_entry, 14u, 197u, 0x0883CD44u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B19B64u) goto L_08B19B64; AOT_REGCACHE_SYNC_OUT(); return; L_08B19B64: ctx.fpr[20] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1940))); aot_gpr_31 = (0x08B19B70u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B19B70u) goto L_08B19B70; AOT_REGCACHE_SYNC_OUT(); return; L_08B19B70: @@ -4628,7 +4629,7 @@ L_08B19BD0: L_08B19BE8: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(1940), std::bit_cast(aot_fpr_13)); aot_gpr_31 = (0x08B19BF4u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B19BF4u) goto L_08B19BF4; AOT_REGCACHE_SYNC_OUT(); return; L_08B19BF4: @@ -4649,7 +4650,7 @@ L_08B19C08: aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(12), aot_run_words); ctx.fpr[20] = std::bit_cast(aot_run_words[0]); aot_gpr_16 = aot_run_words[1]; - aot_gpr_17 = aot_run_words[2]; + ctx.gpr[17] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } jump_target = aot_gpr_31; @@ -4661,12 +4662,12 @@ L_08B19C08: L_08B19C20: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(76))); - ctx.gpr[6] = (aot_gpr_5 | 0u); + aot_gpr_6 = (aot_gpr_5 | 0u); aot_gpr_5 = (aot_gpr_4 | 0u); ctx.gpr[7] = (ctx.gpr[7] & 1024u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); { const bool branch_taken = ctx.gpr[7] == 0u; - aot_gpr_4 = (ctx.gpr[6] | 0u); + aot_gpr_4 = (aot_gpr_6 | 0u); if (branch_taken) { goto L_08B19C48; } @@ -4682,7 +4683,7 @@ L_08B19C40: } L_08B19C48: ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(1920))); - ctx.gpr[6] = (aot_gpr_5 + static_cast(1924)); + aot_gpr_6 = (aot_gpr_5 + static_cast(1924)); aot_gpr_31 = (0x08B19C58u); ctx.gpr[8] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0151_entry, 151u, 671u, 0x08A63FD4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B19C58u) goto L_08B19C58; @@ -4697,7 +4698,7 @@ L_08B19C58: AOT_REGCACHE_SYNC_OUT(); return; L_08B19C64: aot_gpr_29 = (aot_gpr_29 + static_cast(-160)); - { const std::uint32_t aot_run_words[8]{std::bit_cast(ctx.fpr[20]), aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_31}; + { const std::uint32_t aot_run_words[8]{std::bit_cast(ctx.fpr[20]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(128), aot_run_words); } aot_gpr_31 = (0x08B19C90u); aot_gpr_16 = (aot_gpr_4 | 0u); @@ -4705,12 +4706,12 @@ L_08B19C64: AOT_REGCACHE_SYNC_OUT(); return; L_08B19C90: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); aot_gpr_4 = (0u | 0u); - ctx.gpr[6] = (static_cast(aot_gpr_5) < static_cast(ctx.gpr[6]) ? 1u : 0u); + aot_gpr_6 = (static_cast(aot_gpr_5) < static_cast(aot_gpr_6) ? 1u : 0u); ctx.gpr[18] = (0u + static_cast(-2)); - { const bool branch_taken = ctx.gpr[6] == 0u; - aot_gpr_17 = (aot_gpr_29 + static_cast(16)); + { const bool branch_taken = aot_gpr_6 == 0u; + ctx.gpr[17] = (aot_gpr_29 + static_cast(16)); if (branch_taken) { goto L_08B19CBC; } @@ -4731,7 +4732,7 @@ L_08B19CBC: ctx.gpr[20] = (aot_gpr_29 + static_cast(112)); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (0u | 1u); - ctx.gpr[6] = (ctx.gpr[20] | 0u); + aot_gpr_6 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08B19CE8u); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0167_entry, 167u, 384u, 0x08AA1844u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B19CE8u) goto L_08B19CE8; @@ -4755,13 +4756,13 @@ L_08B19CE8: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_5 = (aot_gpr_29 | 0u); aot_gpr_31 = (0x08B19D08u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 515u, 0x08B01EA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B19D08u) goto L_08B19D08; AOT_REGCACHE_SYNC_OUT(); return; L_08B19D08: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (0u | 0u); - ctx.gpr[6] = (ctx.gpr[20] | 0u); + aot_gpr_6 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08B19D1Cu); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0167_entry, 167u, 384u, 0x08AA1844u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B19D1Cu) goto L_08B19D1C; @@ -4811,7 +4812,7 @@ L_08B19D5C: aot_gpr_4 = (aot_gpr_4 & ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(88), aot_gpr_4); aot_gpr_31 = (0x08B19D74u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 939u, 0x0885FF48u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B19D74u) goto L_08B19D74; AOT_REGCACHE_SYNC_OUT(); return; L_08B19D74: @@ -4866,7 +4867,7 @@ L_08B19DB8: goto L_08B19DC0; } L_08B19DC0: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B19DCCu); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 919u, 0x0885F9D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B19DCCu) goto L_08B19DCC; @@ -4879,12 +4880,12 @@ L_08B19DCC: aot_fpr_14 = std::bit_cast(aot_run_words[2]); } aot_gpr_31 = (0x08B19DE0u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 4u, 0x08860094u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B19DE0u) goto L_08B19DE0; AOT_REGCACHE_SYNC_OUT(); return; L_08B19DE0: aot_gpr_31 = (0x08B19DE8u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 936u, 0x0885FF14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B19DE8u) goto L_08B19DE8; AOT_REGCACHE_SYNC_OUT(); return; L_08B19DE8: @@ -4930,7 +4931,7 @@ L_08B19E28: aot_gpr_4 = (aot_gpr_4 & ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(88), aot_gpr_4); aot_gpr_31 = (0x08B19E40u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 939u, 0x0885FF48u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B19E40u) goto L_08B19E40; AOT_REGCACHE_SYNC_OUT(); return; L_08B19E40: @@ -4987,7 +4988,7 @@ L_08B19E84: L_08B19E8C: aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20]) ^ 0x80000000u); aot_gpr_31 = (0x08B19E98u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 919u, 0x0885F9D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B19E98u) goto L_08B19E98; AOT_REGCACHE_SYNC_OUT(); return; L_08B19E98: @@ -4998,12 +4999,12 @@ L_08B19E98: aot_fpr_14 = std::bit_cast(aot_run_words[2]); } aot_gpr_31 = (0x08B19EACu); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 4u, 0x08860094u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B19EACu) goto L_08B19EAC; AOT_REGCACHE_SYNC_OUT(); return; L_08B19EAC: aot_gpr_31 = (0x08B19EB4u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 936u, 0x0885FF14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B19EB4u) goto L_08B19EB4; AOT_REGCACHE_SYNC_OUT(); return; L_08B19EB4: @@ -5037,7 +5038,7 @@ L_08B19ED8: aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(128), aot_run_words); ctx.fpr[20] = std::bit_cast(aot_run_words[0]); aot_gpr_16 = aot_run_words[1]; - aot_gpr_17 = aot_run_words[2]; + ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; ctx.gpr[19] = aot_run_words[4]; ctx.gpr[20] = aot_run_words[5]; @@ -5054,39 +5055,39 @@ L_08B19F00: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_16 + static_cast(944)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_16 + static_cast(944)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08B19F20u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 366u, 0x08B0D814u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B19F20u) goto L_08B19F20; AOT_REGCACHE_SYNC_OUT(); return; L_08B19F20: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (0u | 2u); aot_gpr_31 = (0x08B19F30u); - ctx.gpr[6] = (0u | 3u); + aot_gpr_6 = (0u | 3u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 377u, 0x08B0D904u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B19F30u) goto L_08B19F30; AOT_REGCACHE_SYNC_OUT(); return; L_08B19F30: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (0u | 3u); aot_gpr_31 = (0x08B19F40u); - ctx.gpr[6] = (0u | 3u); + aot_gpr_6 = (0u | 3u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 377u, 0x08B0D904u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B19F40u) goto L_08B19F40; AOT_REGCACHE_SYNC_OUT(); return; L_08B19F40: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (0u | 4u); aot_gpr_31 = (0x08B19F50u); - ctx.gpr[6] = (0u | 3u); + aot_gpr_6 = (0u | 3u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 377u, 0x08B0D904u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B19F50u) goto L_08B19F50; AOT_REGCACHE_SYNC_OUT(); return; L_08B19F50: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (0u | 5u); aot_gpr_31 = (0x08B19F60u); - ctx.gpr[6] = (0u | 3u); + aot_gpr_6 = (0u | 3u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 377u, 0x08B0D904u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B19F60u) goto L_08B19F60; AOT_REGCACHE_SYNC_OUT(); return; L_08B19F60: @@ -5097,44 +5098,44 @@ L_08B19F60: aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(615), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (2218u << 16u); - ctx.gpr[6] = (0u | 2u); + aot_gpr_6 = (0u | 2u); aot_gpr_31 = (0x08B19F88u); aot_gpr_5 = (aot_gpr_5 + static_cast(9288)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 82u, 0x089D86FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B19F88u) goto L_08B19F88; AOT_REGCACHE_SYNC_OUT(); return; L_08B19F88: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08B19F98u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 375u, 0x08B0D8ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B19F98u) goto L_08B19F98; AOT_REGCACHE_SYNC_OUT(); return; L_08B19F98: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (0u | 1u); aot_gpr_31 = (0x08B19FA8u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 375u, 0x08B0D8ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B19FA8u) goto L_08B19FA8; AOT_REGCACHE_SYNC_OUT(); return; L_08B19FA8: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (0u | 2u); aot_gpr_31 = (0x08B19FB8u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 375u, 0x08B0D8ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B19FB8u) goto L_08B19FB8; AOT_REGCACHE_SYNC_OUT(); return; L_08B19FB8: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (0u | 3u); aot_gpr_31 = (0x08B19FC8u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 375u, 0x08B0D8ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B19FC8u) goto L_08B19FC8; AOT_REGCACHE_SYNC_OUT(); return; L_08B19FC8: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -5158,7 +5159,7 @@ L_08B19FDC: L_08B19FF4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 13u); - ctx.gpr[6] = (0u | 5u); + aot_gpr_6 = (0u | 5u); aot_gpr_31 = (0x08B1A008u); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 310u, 0x088316CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1A008u) goto L_08B1A008; @@ -5175,7 +5176,7 @@ L_08B1A008: L_08B1A014: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 14u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x08B1A028u); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0011_entry, 11u, 341u, 0x088318B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1A028u) goto L_08B1A028; @@ -5208,11 +5209,11 @@ L_08B1A048: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_5 | 0u); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(2274))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_4 | 0u); - ctx.gpr[6] = (0u | 10u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_4 | 0u); + aot_gpr_6 = (0u | 10u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); - { const bool branch_taken = aot_gpr_5 == ctx.gpr[6]; + { const bool branch_taken = aot_gpr_5 == aot_gpr_6; aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5836))); if (branch_taken) { goto L_08B1A07C; @@ -5220,8 +5221,8 @@ L_08B1A048: goto L_08B1A070; } L_08B1A070: - ctx.gpr[6] = (0u | 11u); - { const bool branch_taken = aot_gpr_5 != ctx.gpr[6]; + aot_gpr_6 = (0u | 11u); + { const bool branch_taken = aot_gpr_5 != aot_gpr_6; // nop if (branch_taken) { goto L_08B1A0B4; @@ -5244,7 +5245,7 @@ L_08B1A08C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); goto L_08B1A094; L_08B1A094: - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1924))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1924))); aot_gpr_31 = (0x08B1A0A0u); ctx.gpr[7] = (0u | 194u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 635u, 0x0893E914u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1A0A0u) goto L_08B1A0A0; @@ -5253,7 +5254,7 @@ L_08B1A0A0: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B1A0ACu); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1A0ACu) goto L_08B1A0AC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1A0ACu) goto L_08B1A0AC; AOT_REGCACHE_SYNC_OUT(); return; L_08B1A0AC: { const bool branch_taken = 0u == 0u; @@ -5279,7 +5280,7 @@ L_08B1A0C4: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); goto L_08B1A0CC; L_08B1A0CC: - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1924))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1924))); aot_gpr_31 = (0x08B1A0D8u); ctx.gpr[7] = (0u | 195u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 635u, 0x0893E914u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1A0D8u) goto L_08B1A0D8; @@ -5288,31 +5289,31 @@ L_08B1A0D8: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B1A0E4u); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1A0E4u) goto L_08B1A0E4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1A0E4u) goto L_08B1A0E4; AOT_REGCACHE_SYNC_OUT(); return; L_08B1A0E4: aot_gpr_31 = (0x08B1A0ECu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1A0ECu) goto L_08B1A0EC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1A0ECu) goto L_08B1A0EC; AOT_REGCACHE_SYNC_OUT(); return; L_08B1A0EC: aot_gpr_5 = (2203u << 16u); aot_gpr_4 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (aot_gpr_16 | 0u); + aot_gpr_6 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B1A100u); aot_gpr_5 = (aot_gpr_5 + static_cast(13856)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1A100u) goto L_08B1A100; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1A100u) goto L_08B1A100; AOT_REGCACHE_SYNC_OUT(); return; L_08B1A100: aot_gpr_4 = (0u + static_cast(-1)); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(615)))))); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(620), static_cast(aot_gpr_4)); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(615)))))); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(620), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_gpr_5 | 16u); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(615), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(615), static_cast(aot_gpr_4)); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -5336,7 +5337,7 @@ L_08B1A130: ctx.fpr[20] = std::bit_cast(0u); ctx.gpr[19] = (aot_gpr_4 + static_cast(32)); aot_gpr_5 = (aot_gpr_5 & 496u); - { const std::uint32_t aot_run_words[4]{std::bit_cast(ctx.fpr[22]), aot_gpr_16, aot_gpr_17, ctx.gpr[18]}; + { const std::uint32_t aot_run_words[4]{std::bit_cast(ctx.fpr[22]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(276), aot_run_words); } { const std::uint32_t aot_run_words[5]{ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(296), aot_run_words); } @@ -5369,9 +5370,9 @@ L_08B1A184: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_17 = (aot_gpr_29 + static_cast(48)); + ctx.gpr[17] = (aot_gpr_29 + static_cast(48)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); @@ -5680,7 +5681,7 @@ L_08B1A320: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); @@ -5809,7 +5810,7 @@ L_08B1A46C: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); @@ -5934,7 +5935,7 @@ L_08B1A518: ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(900))); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 47u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x08B1A530u); ctx.gpr[8] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0192_entry, 192u, 212u, 0x08B04D14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1A530u) goto L_08B1A530; @@ -5958,7 +5959,7 @@ L_08B1A54C: ctx.fpr[20] = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); aot_gpr_16 = aot_run_words[2]; - aot_gpr_17 = aot_run_words[3]; + ctx.gpr[17] = aot_run_words[3]; ctx.gpr[18] = aot_run_words[4]; ctx.gpr[19] = aot_run_words[5]; ctx.gpr[20] = aot_run_words[6]; @@ -5975,15 +5976,15 @@ L_08B1A54C: AOT_REGCACHE_SYNC_OUT(); return; L_08B1A580: aot_gpr_29 = (aot_gpr_29 + static_cast(-176)); - { const std::uint32_t aot_run_words[4]{std::bit_cast(ctx.fpr[20]), aot_gpr_16, aot_gpr_17, aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{std::bit_cast(ctx.fpr[20]), aot_gpr_16, ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(160), aot_run_words); } aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(538)))))); - ctx.gpr[6] = (0u + static_cast(-2)); - aot_gpr_5 = (aot_gpr_5 & ctx.gpr[6]); + aot_gpr_6 = (0u + static_cast(-2)); + aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(538), static_cast(aot_gpr_5)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(538)))))); - ctx.gpr[6] = (0u + static_cast(-3)); - aot_gpr_5 = (aot_gpr_5 & ctx.gpr[6]); + aot_gpr_6 = (0u + static_cast(-3)); + aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(538), static_cast(aot_gpr_5)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(352))); aot_gpr_5 = (aot_gpr_5 + static_cast(160)); @@ -5996,9 +5997,9 @@ L_08B1A580: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_17 = (aot_gpr_4 + static_cast(192)); + ctx.gpr[17] = (aot_gpr_4 + static_cast(192)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(900))); @@ -6012,7 +6013,7 @@ L_08B1A580: L_08B1A5D4: aot_gpr_31 = (0x08B1A5DCu); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(900))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1A5DCu) goto L_08B1A5DC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1A5DCu) goto L_08B1A5DC; AOT_REGCACHE_SYNC_OUT(); return; L_08B1A5DC: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -6039,7 +6040,7 @@ L_08B1A5EC: L_08B1A5F8: aot_gpr_31 = (0x08B1A600u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(900))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1A600u) goto L_08B1A600; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1A600u) goto L_08B1A600; AOT_REGCACHE_SYNC_OUT(); return; L_08B1A600: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -6052,12 +6053,12 @@ L_08B1A600: L_08B1A608: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(900))); - ctx.gpr[6] = (aot_gpr_4 + static_cast(240)); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[6] + static_cast(0)))))); + aot_gpr_6 = (aot_gpr_4 + static_cast(240)); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(0)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(1360))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(4))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(4))); aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); - jump_target = ctx.gpr[6]; + jump_target = aot_gpr_6; aot_gpr_31 = (0x08B1A62Cu); aot_gpr_5 = (aot_gpr_5 & 255u); ctx.pc = jump_target; @@ -6115,9 +6116,9 @@ L_08B1A664: goto L_08B1A67C; } L_08B1A67C: - ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1884))); + aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1884))); aot_gpr_5 = (aot_gpr_16 + static_cast(32)); - { const bool branch_taken = ctx.gpr[6] != 0u; + { const bool branch_taken = aot_gpr_6 != 0u; aot_gpr_4 = (aot_gpr_16 + static_cast(16)); if (branch_taken) { goto L_08B1A6A4; @@ -6148,11 +6149,11 @@ L_08B1A6A4: goto L_08B1A6B8; } L_08B1A6B8: - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(613)))))); - ctx.gpr[6] = (ctx.gpr[6] & 32u); - ctx.gpr[6] = (0u < ctx.gpr[6] ? 1u : 0u); - ctx.gpr[6] = (ctx.gpr[6] & 255u); - { const bool branch_taken = ctx.gpr[6] != 0u; + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(613)))))); + aot_gpr_6 = (aot_gpr_6 & 32u); + aot_gpr_6 = (0u < aot_gpr_6 ? 1u : 0u); + aot_gpr_6 = (aot_gpr_6 & 255u); + { const bool branch_taken = aot_gpr_6 != 0u; // nop if (branch_taken) { goto L_08B1A720; @@ -6160,11 +6161,11 @@ L_08B1A6B8: goto L_08B1A6D0; } L_08B1A6D0: - ctx.gpr[6] = (15820u << 16u); - ctx.gpr[6] = (ctx.gpr[6] | 52429u); - aot_fpr_13 = std::bit_cast(ctx.gpr[6]); - ctx.gpr[6] = (aot_gpr_16 + static_cast(320)); - { const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + aot_gpr_6 = (15820u << 16u); + aot_gpr_6 = (aot_gpr_6 | 52429u); + aot_fpr_13 = std::bit_cast(aot_gpr_6); + aot_gpr_6 = (aot_gpr_16 + static_cast(320)); + { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -6175,8 +6176,8 @@ L_08B1A6D0: ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 0u, 0u, 3u>(); ctx.execute_vfpu_unary_ct<28u, 28u, 1u, 22u>(); - ctx.gpr[6] = (ctx.vfpu_scalar_bits_ct<28u>()); - aot_fpr_12 = std::bit_cast(ctx.gpr[6]); + aot_gpr_6 = (ctx.vfpu_scalar_bits_ct<28u>()); + aot_fpr_12 = std::bit_cast(aot_gpr_6); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 < aot_fpr_12)) ? 0x00800000u : 0u); // nop if (((ctx.fcr31 & 0x00800000u) != 0u)) { @@ -6187,9 +6188,9 @@ L_08B1A6D0: L_08B1A704: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1940))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(212))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1920))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1920))); { const float fs = aot_fpr_13; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } - aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(12))); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(12))); { const float fs = aot_fpr_13; const float ft = aot_fpr_15; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } { const float fs = aot_fpr_13; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } goto L_08B1A720; @@ -6197,8 +6198,8 @@ L_08B1A720: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); { const float fs = aot_fpr_13; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); - ctx.gpr[6] = (std::bit_cast(aot_fpr_12)); - ctx.set_vfpu_scalar_bits_ct<28u>(ctx.gpr[6]); + aot_gpr_6 = (std::bit_cast(aot_fpr_12)); + ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_6); { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -6213,7 +6214,7 @@ L_08B1A720: const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -6286,9 +6287,9 @@ L_08B1A790: goto L_08B1A7AC; } L_08B1A7AC: - ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1884))); + aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1884))); aot_gpr_5 = (aot_gpr_16 + static_cast(32)); - { const bool branch_taken = ctx.gpr[6] != 0u; + { const bool branch_taken = aot_gpr_6 != 0u; aot_gpr_4 = (aot_gpr_16 + static_cast(16)); if (branch_taken) { goto L_08B1A7D4; @@ -6319,11 +6320,11 @@ L_08B1A7D4: goto L_08B1A7E8; } L_08B1A7E8: - ctx.gpr[6] = (15820u << 16u); - ctx.gpr[6] = (ctx.gpr[6] | 52429u); - aot_fpr_13 = std::bit_cast(ctx.gpr[6]); - ctx.gpr[6] = (aot_gpr_16 + static_cast(320)); - { const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + aot_gpr_6 = (15820u << 16u); + aot_gpr_6 = (aot_gpr_6 | 52429u); + aot_fpr_13 = std::bit_cast(aot_gpr_6); + aot_gpr_6 = (aot_gpr_16 + static_cast(320)); + { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -6334,8 +6335,8 @@ L_08B1A7E8: ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 0u, 0u, 3u>(); ctx.execute_vfpu_unary_ct<28u, 28u, 1u, 22u>(); - ctx.gpr[6] = (ctx.vfpu_scalar_bits_ct<28u>()); - aot_fpr_12 = std::bit_cast(ctx.gpr[6]); + aot_gpr_6 = (ctx.vfpu_scalar_bits_ct<28u>()); + aot_fpr_12 = std::bit_cast(aot_gpr_6); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 < aot_fpr_12)) ? 0x00800000u : 0u); // nop if (((ctx.fcr31 & 0x00800000u) != 0u)) { @@ -6346,9 +6347,9 @@ L_08B1A7E8: L_08B1A81C: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1940))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(212))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1920))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1920))); { const float fs = aot_fpr_13; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } - aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(4))); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(4))); { const float fs = aot_fpr_13; const float ft = aot_fpr_15; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } { const float fs = aot_fpr_13; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } goto L_08B1A838; @@ -6356,8 +6357,8 @@ L_08B1A838: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); { const float fs = aot_fpr_13; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); - ctx.gpr[6] = (std::bit_cast(aot_fpr_12)); - ctx.set_vfpu_scalar_bits_ct<28u>(ctx.gpr[6]); + aot_gpr_6 = (std::bit_cast(aot_fpr_12)); + ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_6); { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -6373,7 +6374,7 @@ L_08B1A838: const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -6418,9 +6419,9 @@ L_08B1A890: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(24))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); aot_gpr_5 = (std::bit_cast(aot_fpr_12)); - ctx.gpr[6] = (std::bit_cast(aot_fpr_13)); + aot_gpr_6 = (std::bit_cast(aot_fpr_13)); ctx.set_vfpu_scalar_bits_ct<0u>(aot_gpr_5); - ctx.set_vfpu_scalar_bits_ct<32u>(ctx.gpr[6]); + ctx.set_vfpu_scalar_bits_ct<32u>(aot_gpr_6); ctx.execute_vfpu_unary_ct<64u, 0u, 1u, 21u>(); ctx.execute_vfpu_vec3_ct<0u, 32u, 64u, 1u, 2u>(); ctx.execute_vfpu_unary_ct<32u, 0u, 1u, 20u>(); @@ -6463,7 +6464,7 @@ L_08B1A92C: aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(160), aot_run_words); ctx.fpr[20] = std::bit_cast(aot_run_words[0]); aot_gpr_16 = aot_run_words[1]; - aot_gpr_17 = aot_run_words[2]; + ctx.gpr[17] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } jump_target = aot_gpr_31; @@ -6475,17 +6476,17 @@ L_08B1A92C: L_08B1A948: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, ctx.gpr[18]}; + { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } ctx.gpr[18] = (0u | 0u); ctx.gpr[7] = (ctx.gpr[7] & 496u); ctx.gpr[8] = (0u | 64u); - aot_gpr_17 = (aot_gpr_4 | 0u); + ctx.gpr[17] = (aot_gpr_4 | 0u); aot_gpr_16 = (aot_gpr_5 | 0u); { const std::uint32_t aot_run_words[3]{ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(12), aot_run_words); } { const bool branch_taken = ctx.gpr[7] != ctx.gpr[8]; - ctx.gpr[19] = (ctx.gpr[6] | 0u); + ctx.gpr[19] = (aot_gpr_6 | 0u); if (branch_taken) { goto L_08B1ACFC; } @@ -6501,7 +6502,7 @@ L_08B1A984: goto L_08B1A990; } L_08B1A990: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(620)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(620)))))); { const bool branch_taken = static_cast(aot_gpr_4) < 0; // nop if (branch_taken) { @@ -6537,7 +6538,7 @@ L_08B1A9C4: goto L_08B1A9C8; L_08B1A9C8: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x08B1A9D8u); ctx.gpr[7] = (0u | 118u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 635u, 0x0893E914u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1A9D8u) goto L_08B1A9D8; @@ -6546,7 +6547,7 @@ L_08B1A9D8: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B1A9E4u); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1A9E4u) goto L_08B1A9E4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1A9E4u) goto L_08B1A9E4; AOT_REGCACHE_SYNC_OUT(); return; L_08B1A9E4: { const bool branch_taken = 0u == 0u; @@ -6573,7 +6574,7 @@ L_08B1AA00: goto L_08B1AA04; L_08B1AA04: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x08B1AA14u); ctx.gpr[7] = (0u | 119u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 635u, 0x0893E914u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1AA14u) goto L_08B1AA14; @@ -6582,27 +6583,27 @@ L_08B1AA14: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B1AA20u); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1AA20u) goto L_08B1AA20; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1AA20u) goto L_08B1AA20; AOT_REGCACHE_SYNC_OUT(); return; L_08B1AA20: aot_gpr_31 = (0x08B1AA28u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1AA28u) goto L_08B1AA28; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1AA28u) goto L_08B1AA28; AOT_REGCACHE_SYNC_OUT(); return; L_08B1AA28: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08B1AA38u); - ctx.gpr[6] = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1AA38u) goto L_08B1AA38; + aot_gpr_6 = (aot_gpr_16 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1AA38u) goto L_08B1AA38; AOT_REGCACHE_SYNC_OUT(); return; L_08B1AA38: aot_gpr_4 = (0u + static_cast(-1)); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(615)))))); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(620), static_cast(aot_gpr_4)); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(615)))))); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(620), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_gpr_5 | 16u); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(615), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(615), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08B1B284; } @@ -6637,7 +6638,7 @@ L_08B1AA78: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5836))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); ctx.gpr[8] = (16576u << 16u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1924))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1924))); aot_fpr_12 = std::bit_cast(ctx.gpr[8]); aot_gpr_31 = (0x08B1AA94u); ctx.gpr[7] = (0u | 196u); @@ -6647,19 +6648,19 @@ L_08B1AA94: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B1AAA0u); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1AAA0u) goto L_08B1AAA0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1AAA0u) goto L_08B1AAA0; AOT_REGCACHE_SYNC_OUT(); return; L_08B1AAA0: aot_gpr_31 = (0x08B1AAA8u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1AAA8u) goto L_08B1AAA8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1AAA8u) goto L_08B1AAA8; AOT_REGCACHE_SYNC_OUT(); return; L_08B1AAA8: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_5 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08B1AAB8u); - ctx.gpr[6] = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1AAB8u) goto L_08B1AAB8; + aot_gpr_6 = (aot_gpr_16 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1AAB8u) goto L_08B1AAB8; AOT_REGCACHE_SYNC_OUT(); return; L_08B1AAB8: { const bool branch_taken = 0u == 0u; @@ -6670,7 +6671,7 @@ L_08B1AAB8: goto L_08B1AAC0; } L_08B1AAC0: - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); aot_fpr_12 = std::bit_cast(0u); aot_gpr_4 = (16128u << 16u); aot_fpr_14 = std::bit_cast(aot_gpr_4); @@ -6684,13 +6685,13 @@ L_08B1AAC0: goto L_08B1AAE0; } L_08B1AAE0: - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); aot_gpr_5 = (48896u << 16u); aot_fpr_14 = std::bit_cast(aot_gpr_5); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 <= aot_fpr_14)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); - aot_gpr_5 = (aot_gpr_17 + static_cast(32)); + aot_gpr_5 = (ctx.gpr[17] + static_cast(32)); if (branch_taken) { goto L_08B1ABB8; } @@ -6742,7 +6743,7 @@ L_08B1AB3C: goto L_08B1AB40; L_08B1AB40: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1924))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1924))); aot_gpr_31 = (0x08B1AB50u); ctx.gpr[7] = (0u | 194u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 635u, 0x0893E914u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1AB50u) goto L_08B1AB50; @@ -6751,7 +6752,7 @@ L_08B1AB50: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B1AB5Cu); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1AB5Cu) goto L_08B1AB5C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1AB5Cu) goto L_08B1AB5C; AOT_REGCACHE_SYNC_OUT(); return; L_08B1AB5C: { const bool branch_taken = 0u == 0u; @@ -6778,7 +6779,7 @@ L_08B1AB78: goto L_08B1AB7C; L_08B1AB7C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1924))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1924))); aot_gpr_31 = (0x08B1AB8Cu); ctx.gpr[7] = (0u | 195u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 635u, 0x0893E914u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1AB8Cu) goto L_08B1AB8C; @@ -6787,19 +6788,19 @@ L_08B1AB8C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B1AB98u); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1AB98u) goto L_08B1AB98; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1AB98u) goto L_08B1AB98; AOT_REGCACHE_SYNC_OUT(); return; L_08B1AB98: aot_gpr_31 = (0x08B1ABA0u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1ABA0u) goto L_08B1ABA0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1ABA0u) goto L_08B1ABA0; AOT_REGCACHE_SYNC_OUT(); return; L_08B1ABA0: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_5 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08B1ABB0u); - ctx.gpr[6] = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1ABB0u) goto L_08B1ABB0; + aot_gpr_6 = (aot_gpr_16 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1ABB0u) goto L_08B1ABB0; AOT_REGCACHE_SYNC_OUT(); return; L_08B1ABB0: { const bool branch_taken = 0u == 0u; @@ -6826,7 +6827,7 @@ L_08B1ABC0: goto L_08B1ABC8; } L_08B1ABC8: - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 <= aot_fpr_12)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); @@ -6853,7 +6854,7 @@ L_08B1ABF0: goto L_08B1ABF4; L_08B1ABF4: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x08B1AC04u); ctx.gpr[7] = (0u | 114u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 635u, 0x0893E914u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1AC04u) goto L_08B1AC04; @@ -6862,7 +6863,7 @@ L_08B1AC04: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B1AC10u); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1AC10u) goto L_08B1AC10; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1AC10u) goto L_08B1AC10; AOT_REGCACHE_SYNC_OUT(); return; L_08B1AC10: { const bool branch_taken = 0u == 0u; @@ -6889,7 +6890,7 @@ L_08B1AC2C: goto L_08B1AC30; L_08B1AC30: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x08B1AC40u); ctx.gpr[7] = (0u | 116u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 635u, 0x0893E914u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1AC40u) goto L_08B1AC40; @@ -6898,7 +6899,7 @@ L_08B1AC40: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B1AC4Cu); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1AC4Cu) goto L_08B1AC4C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1AC4Cu) goto L_08B1AC4C; AOT_REGCACHE_SYNC_OUT(); return; L_08B1AC4C: { const bool branch_taken = 0u == 0u; @@ -6909,7 +6910,7 @@ L_08B1AC4C: goto L_08B1AC54; } L_08B1AC54: - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 < aot_fpr_12)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); @@ -6936,7 +6937,7 @@ L_08B1AC7C: goto L_08B1AC80; L_08B1AC80: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x08B1AC90u); ctx.gpr[7] = (0u | 115u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 635u, 0x0893E914u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1AC90u) goto L_08B1AC90; @@ -6945,7 +6946,7 @@ L_08B1AC90: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B1AC9Cu); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1AC9Cu) goto L_08B1AC9C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1AC9Cu) goto L_08B1AC9C; AOT_REGCACHE_SYNC_OUT(); return; L_08B1AC9C: { const bool branch_taken = 0u == 0u; @@ -6972,7 +6973,7 @@ L_08B1ACB8: goto L_08B1ACBC; L_08B1ACBC: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x08B1ACCCu); ctx.gpr[7] = (0u | 117u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 635u, 0x0893E914u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1ACCCu) goto L_08B1ACCC; @@ -6981,20 +6982,20 @@ L_08B1ACCC: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B1ACD8u); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1ACD8u) goto L_08B1ACD8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1ACD8u) goto L_08B1ACD8; AOT_REGCACHE_SYNC_OUT(); return; L_08B1ACD8: aot_gpr_31 = (0x08B1ACE0u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1ACE0u) goto L_08B1ACE0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1ACE0u) goto L_08B1ACE0; AOT_REGCACHE_SYNC_OUT(); return; L_08B1ACE0: aot_gpr_5 = (2203u << 16u); aot_gpr_4 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (aot_gpr_16 | 0u); + aot_gpr_6 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B1ACF4u); aot_gpr_5 = (aot_gpr_5 + static_cast(12000)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1ACF4u) goto L_08B1ACF4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1ACF4u) goto L_08B1ACF4; AOT_REGCACHE_SYNC_OUT(); return; L_08B1ACF4: { const bool branch_taken = 0u == 0u; @@ -7015,7 +7016,7 @@ L_08B1ACFC: goto L_08B1AD0C; } L_08B1AD0C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -7024,7 +7025,7 @@ L_08B1AD0C: goto L_08B1AD18; } L_08B1AD18: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); aot_gpr_5 = (0u | 55u); aot_gpr_4 = (aot_gpr_4 + static_cast(2228)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); @@ -7036,7 +7037,7 @@ L_08B1AD18: goto L_08B1AD30; } L_08B1AD30: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); aot_gpr_5 = (4u << 16u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(460))); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); @@ -7066,7 +7067,7 @@ L_08B1AD60: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5836))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); ctx.gpr[8] = (16576u << 16u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1924))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1924))); aot_fpr_12 = std::bit_cast(ctx.gpr[8]); aot_gpr_31 = (0x08B1AD7Cu); ctx.gpr[7] = (0u | 196u); @@ -7077,12 +7078,12 @@ L_08B1AD7C: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_5 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08B1AD90u); - ctx.gpr[6] = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1AD90u) goto L_08B1AD90; + aot_gpr_6 = (aot_gpr_16 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1AD90u) goto L_08B1AD90; AOT_REGCACHE_SYNC_OUT(); return; L_08B1AD90: { const bool branch_taken = 0u == 0u; - ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(900))); + ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); if (branch_taken) { goto L_08B1B284; } @@ -7120,7 +7121,7 @@ L_08B1ADC0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5836))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); ctx.gpr[8] = (16576u << 16u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1924))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1924))); aot_fpr_12 = std::bit_cast(ctx.gpr[8]); aot_gpr_31 = (0x08B1ADDCu); ctx.gpr[7] = (0u | 196u); @@ -7130,19 +7131,19 @@ L_08B1ADDC: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B1ADE8u); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1ADE8u) goto L_08B1ADE8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1ADE8u) goto L_08B1ADE8; AOT_REGCACHE_SYNC_OUT(); return; L_08B1ADE8: aot_gpr_31 = (0x08B1ADF0u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1ADF0u) goto L_08B1ADF0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1ADF0u) goto L_08B1ADF0; AOT_REGCACHE_SYNC_OUT(); return; L_08B1ADF0: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_5 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08B1AE00u); - ctx.gpr[6] = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1AE00u) goto L_08B1AE00; + aot_gpr_6 = (aot_gpr_16 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1AE00u) goto L_08B1AE00; AOT_REGCACHE_SYNC_OUT(); return; L_08B1AE00: { const bool branch_taken = 0u == 0u; @@ -7170,7 +7171,7 @@ L_08B1AE14: goto L_08B1AE1C; } L_08B1AE1C: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(900))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); { const bool branch_taken = aot_gpr_5 == 0u; // nop if (branch_taken) { @@ -7179,7 +7180,7 @@ L_08B1AE1C: goto L_08B1AE28; } L_08B1AE28: - aot_gpr_5 = (aot_gpr_17 + static_cast(320)); + aot_gpr_5 = (ctx.gpr[17] + static_cast(320)); { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -7233,7 +7234,7 @@ L_08B1AE74: L_08B1AE84: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 1000u); - ctx.gpr[6] = (0u | 31u); + aot_gpr_6 = (0u | 31u); aot_gpr_31 = (0x08B1AE98u); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0070_entry, 70u, 14u, 0x0891C0E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1AE98u) goto L_08B1AE98; @@ -7249,7 +7250,7 @@ L_08B1AE98: L_08B1AEA0: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 1000u); - ctx.gpr[6] = (0u | 29u); + aot_gpr_6 = (0u | 29u); aot_gpr_31 = (0x08B1AEB4u); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0070_entry, 70u, 14u, 0x0891C0E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1AEB4u) goto L_08B1AEB4; @@ -7263,11 +7264,11 @@ L_08B1AEB4: goto L_08B1AEBC; } L_08B1AEBC: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(900))); - ctx.gpr[6] = (0u | 55u); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); + aot_gpr_6 = (0u | 55u); aot_gpr_5 = (aot_gpr_5 + static_cast(2228)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); - { const bool branch_taken = aot_gpr_5 != ctx.gpr[6]; + { const bool branch_taken = aot_gpr_5 != aot_gpr_6; // nop if (branch_taken) { goto L_08B1AF94; @@ -7275,10 +7276,10 @@ L_08B1AEBC: goto L_08B1AED4; } L_08B1AED4: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(900))); - ctx.gpr[6] = (4u << 16u); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); + aot_gpr_6 = (4u << 16u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(460))); - aot_gpr_5 = (aot_gpr_5 & ctx.gpr[6]); + aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); { const bool branch_taken = aot_gpr_5 != 0u; // nop if (branch_taken) { @@ -7313,7 +7314,7 @@ L_08B1AF10: goto L_08B1AF14; L_08B1AF14: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x08B1AF24u); ctx.gpr[7] = (0u | 118u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 635u, 0x0893E914u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1AF24u) goto L_08B1AF24; @@ -7322,7 +7323,7 @@ L_08B1AF24: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B1AF30u); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1AF30u) goto L_08B1AF30; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1AF30u) goto L_08B1AF30; AOT_REGCACHE_SYNC_OUT(); return; L_08B1AF30: { const bool branch_taken = 0u == 0u; @@ -7349,7 +7350,7 @@ L_08B1AF4C: goto L_08B1AF50; L_08B1AF50: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x08B1AF60u); ctx.gpr[7] = (0u | 119u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 635u, 0x0893E914u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1AF60u) goto L_08B1AF60; @@ -7358,25 +7359,25 @@ L_08B1AF60: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B1AF6Cu); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1AF6Cu) goto L_08B1AF6C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1AF6Cu) goto L_08B1AF6C; AOT_REGCACHE_SYNC_OUT(); return; L_08B1AF6C: aot_gpr_31 = (0x08B1AF74u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1AF74u) goto L_08B1AF74; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1AF74u) goto L_08B1AF74; AOT_REGCACHE_SYNC_OUT(); return; L_08B1AF74: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08B1AF84u); - ctx.gpr[6] = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1AF84u) goto L_08B1AF84; + aot_gpr_6 = (aot_gpr_16 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1AF84u) goto L_08B1AF84; AOT_REGCACHE_SYNC_OUT(); return; L_08B1AF84: - ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(900))); + ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); aot_gpr_4 = (0u + static_cast(-1)); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(620), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(620), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08B1B284; } @@ -7421,7 +7422,7 @@ L_08B1AFC4: goto L_08B1AFC8; L_08B1AFC8: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1924))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1924))); aot_gpr_31 = (0x08B1AFD8u); ctx.gpr[7] = (0u | 194u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 635u, 0x0893E914u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1AFD8u) goto L_08B1AFD8; @@ -7430,7 +7431,7 @@ L_08B1AFD8: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B1AFE4u); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1AFE4u) goto L_08B1AFE4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1AFE4u) goto L_08B1AFE4; AOT_REGCACHE_SYNC_OUT(); return; L_08B1AFE4: { const bool branch_taken = 0u == 0u; @@ -7457,7 +7458,7 @@ L_08B1B000: goto L_08B1B004; L_08B1B004: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1924))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1924))); aot_gpr_31 = (0x08B1B014u); ctx.gpr[7] = (0u | 195u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 635u, 0x0893E914u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1B014u) goto L_08B1B014; @@ -7466,19 +7467,19 @@ L_08B1B014: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B1B020u); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1B020u) goto L_08B1B020; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1B020u) goto L_08B1B020; AOT_REGCACHE_SYNC_OUT(); return; L_08B1B020: aot_gpr_31 = (0x08B1B028u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1B028u) goto L_08B1B028; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1B028u) goto L_08B1B028; AOT_REGCACHE_SYNC_OUT(); return; L_08B1B028: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_5 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08B1B038u); - ctx.gpr[6] = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1B038u) goto L_08B1B038; + aot_gpr_6 = (aot_gpr_16 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1B038u) goto L_08B1B038; AOT_REGCACHE_SYNC_OUT(); return; L_08B1B038: { const bool branch_taken = 0u == 0u; @@ -7489,7 +7490,7 @@ L_08B1B038: goto L_08B1B040; } L_08B1B040: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B1B04Cu); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1B04Cu) goto L_08B1B04C; @@ -7503,7 +7504,7 @@ L_08B1B04C: goto L_08B1B054; } L_08B1B054: - aot_gpr_4 = (aot_gpr_17 + static_cast(320)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(320)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -7557,7 +7558,7 @@ L_08B1B0A0: L_08B1B0B0: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 1000u); - ctx.gpr[6] = (0u | 31u); + aot_gpr_6 = (0u | 31u); aot_gpr_31 = (0x08B1B0C4u); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0070_entry, 70u, 14u, 0x0891C0E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1B0C4u) goto L_08B1B0C4; @@ -7573,7 +7574,7 @@ L_08B1B0C4: L_08B1B0CC: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 1000u); - ctx.gpr[6] = (0u | 29u); + aot_gpr_6 = (0u | 29u); aot_gpr_31 = (0x08B1B0E0u); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0070_entry, 70u, 14u, 0x0891C0E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1B0E0u) goto L_08B1B0E0; @@ -7587,7 +7588,7 @@ L_08B1B0E0: goto L_08B1B0E8; } L_08B1B0E8: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B1B0F4u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1B0F4u) goto L_08B1B0F4; @@ -7597,7 +7598,7 @@ L_08B1B0F4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_5 = (0u | 55u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (branch_taken) { goto L_08B1B1DC; } @@ -7647,7 +7648,7 @@ L_08B1B14C: goto L_08B1B150; L_08B1B150: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x08B1B160u); ctx.gpr[7] = (0u | 118u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 635u, 0x0893E914u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1B160u) goto L_08B1B160; @@ -7656,7 +7657,7 @@ L_08B1B160: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B1B16Cu); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1B16Cu) goto L_08B1B16C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1B16Cu) goto L_08B1B16C; AOT_REGCACHE_SYNC_OUT(); return; L_08B1B16C: { const bool branch_taken = 0u == 0u; @@ -7683,7 +7684,7 @@ L_08B1B188: goto L_08B1B18C; L_08B1B18C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x08B1B19Cu); ctx.gpr[7] = (0u | 119u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 635u, 0x0893E914u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1B19Cu) goto L_08B1B19C; @@ -7692,22 +7693,22 @@ L_08B1B19C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B1B1A8u); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1B1A8u) goto L_08B1B1A8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1B1A8u) goto L_08B1B1A8; AOT_REGCACHE_SYNC_OUT(); return; L_08B1B1A8: aot_gpr_31 = (0x08B1B1B0u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1B1B0u) goto L_08B1B1B0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1B1B0u) goto L_08B1B1B0; AOT_REGCACHE_SYNC_OUT(); return; L_08B1B1B0: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08B1B1C0u); - ctx.gpr[6] = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1B1C0u) goto L_08B1B1C0; + aot_gpr_6 = (aot_gpr_16 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1B1C0u) goto L_08B1B1C0; AOT_REGCACHE_SYNC_OUT(); return; L_08B1B1C0: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B1B1CCu); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1B1CCu) goto L_08B1B1CC; @@ -7716,7 +7717,7 @@ L_08B1B1CC: aot_gpr_4 = (0u + static_cast(-1)); ctx.gpr[18] = (ctx.gpr[2] | 0u); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(620), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(620), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08B1B284; } @@ -7762,7 +7763,7 @@ L_08B1B210: goto L_08B1B214; L_08B1B214: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1924))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1924))); aot_gpr_31 = (0x08B1B224u); ctx.gpr[7] = (0u | 194u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 635u, 0x0893E914u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1B224u) goto L_08B1B224; @@ -7771,7 +7772,7 @@ L_08B1B224: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B1B230u); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1B230u) goto L_08B1B230; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1B230u) goto L_08B1B230; AOT_REGCACHE_SYNC_OUT(); return; L_08B1B230: { const bool branch_taken = 0u == 0u; @@ -7798,7 +7799,7 @@ L_08B1B24C: goto L_08B1B250; L_08B1B250: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1924))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1924))); aot_gpr_31 = (0x08B1B260u); ctx.gpr[7] = (0u | 195u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 635u, 0x0893E914u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1B260u) goto L_08B1B260; @@ -7807,19 +7808,19 @@ L_08B1B260: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B1B26Cu); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1B26Cu) goto L_08B1B26C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1B26Cu) goto L_08B1B26C; AOT_REGCACHE_SYNC_OUT(); return; L_08B1B26C: aot_gpr_31 = (0x08B1B274u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1B274u) goto L_08B1B274; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1B274u) goto L_08B1B274; AOT_REGCACHE_SYNC_OUT(); return; L_08B1B274: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_5 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08B1B284u); - ctx.gpr[6] = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1B284u) goto L_08B1B284; + aot_gpr_6 = (aot_gpr_16 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088905F0, 35u, 95u, 0x088905F0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0035_entry, 35u, 95u, 0x088905F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1B284u) goto L_08B1B284; AOT_REGCACHE_SYNC_OUT(); return; L_08B1B284: { const bool branch_taken = ctx.gpr[18] == 0u; @@ -7830,9 +7831,9 @@ L_08B1B284: goto L_08B1B28C; } L_08B1B28C: - ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(2274))); + aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(2274))); aot_gpr_4 = (ctx.gpr[18] | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B1B2A0u); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0106_entry, 106u, 567u, 0x089AE4F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1B2A0u) goto L_08B1B2A0; @@ -7879,7 +7880,7 @@ L_08B1B2D0: goto L_08B1B2D8; } L_08B1B2D8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(852))); { const bool branch_taken = aot_gpr_4 != ctx.gpr[19]; // nop if (branch_taken) { @@ -7892,9 +7893,9 @@ L_08B1B2E4: aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(2301), static_cast(aot_gpr_4)); goto L_08B1B2EC; L_08B1B2EC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(900))); { const bool branch_taken = ctx.gpr[18] != aot_gpr_4; - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (branch_taken) { goto L_08B1B328; } @@ -7914,15 +7915,15 @@ L_08B1B300: goto L_08B1B308; } L_08B1B308: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B1B314u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1B314u) goto L_08B1B314; AOT_REGCACHE_SYNC_OUT(); return; L_08B1B314: aot_gpr_4 = (ctx.gpr[2] | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[6] = (0u | 11u); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_6 = (0u | 11u); aot_gpr_31 = (0x08B1B328u); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0106_entry, 106u, 567u, 0x089AE4F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1B328u) goto L_08B1B328; @@ -7931,7 +7932,7 @@ L_08B1B328: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -8042,7 +8043,7 @@ L_08B1B3E8: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_4); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(36), static_cast(0u)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(37), static_cast(aot_gpr_5)); - { const std::uint32_t aot_run_words[5]{aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; + { const std::uint32_t aot_run_words[5]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(44), aot_run_words); } aot_gpr_31 = (0x08B1B444u); aot_gpr_4 = (0u | 0u); @@ -8059,7 +8060,7 @@ L_08B1B444: } L_08B1B450: ctx.gpr[19] = (0u | 75u); - aot_gpr_17 = (aot_gpr_29 + static_cast(20)); + ctx.gpr[17] = (aot_gpr_29 + static_cast(20)); ctx.gpr[18] = (aot_gpr_16 + static_cast(4)); goto L_08B1B45C; L_08B1B45C: @@ -8092,7 +8093,7 @@ L_08B1B47C: aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08B1B48Cu); - ctx.gpr[6] = (aot_gpr_29 | 0u); + aot_gpr_6 = (aot_gpr_29 | 0u); goto L_08B1B4DC; L_08B1B48C: { const bool branch_taken = 0u == 0u; @@ -8106,7 +8107,7 @@ L_08B1B494: aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08B1B4A4u); - ctx.gpr[6] = (aot_gpr_17 | 0u); + aot_gpr_6 = (ctx.gpr[17] | 0u); goto L_08B1B4DC; L_08B1B4A4: aot_gpr_16 = (aot_gpr_16 + static_cast(8)); @@ -8127,7 +8128,7 @@ L_08B1B4BC: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(40), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -8141,15 +8142,15 @@ L_08B1B4BC: AOT_REGCACHE_SYNC_OUT(); return; L_08B1B4DC: aot_gpr_29 = (aot_gpr_29 + static_cast(-112)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(92), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(92), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(96), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(104), ctx.gpr[20]); ctx.gpr[18] = (aot_gpr_5 | 0u); - aot_gpr_17 = (aot_gpr_4 | 0u); + ctx.gpr[17] = (aot_gpr_4 | 0u); ctx.gpr[20] = (aot_gpr_29 + static_cast(4)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(88), aot_gpr_16); aot_gpr_5 = (2233u << 16u); - aot_gpr_16 = (ctx.gpr[6] | 0u); + aot_gpr_16 = (aot_gpr_6 | 0u); aot_gpr_4 = (ctx.gpr[20] | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(100), ctx.gpr[19]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(108), aot_gpr_31); @@ -8223,7 +8224,7 @@ L_08B1B574: aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_5 = (0u | 1u); aot_gpr_31 = (0x08B1B584u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0044_entry, 44u, 214u, 0x088B54E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1B584u) goto L_08B1B584; AOT_REGCACHE_SYNC_OUT(); return; L_08B1B584: @@ -8252,12 +8253,12 @@ L_08B1B5A0: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08B1B5B0u); - ctx.gpr[6] = (aot_gpr_16 | 0u); + aot_gpr_6 = (aot_gpr_16 | 0u); ctx.pc = 0x08B735ECu; AOT_REGCACHE_SYNC_OUT(); return; L_08B1B5B0: { const bool branch_taken = static_cast(ctx.gpr[2]) >= 0; - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), ctx.gpr[2]); if (branch_taken) { goto L_08B1B5E0; } @@ -8267,17 +8268,17 @@ L_08B1B5B8: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08B1B5C8u); - ctx.gpr[6] = (aot_gpr_16 | 0u); + aot_gpr_6 = (aot_gpr_16 | 0u); ctx.pc = 0x08B735ECu; AOT_REGCACHE_SYNC_OUT(); return; L_08B1B5C8: - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), ctx.gpr[2]); aot_gpr_31 = (0x08B1B5D4u); aot_gpr_4 = (ctx.gpr[18] | 0u); ctx.pc = 0x08B7340Cu; AOT_REGCACHE_SYNC_OUT(); return; L_08B1B5D4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); { const bool branch_taken = static_cast(aot_gpr_4) < 0; // nop if (branch_taken) { @@ -8298,11 +8299,11 @@ L_08B1B5E8: aot_gpr_4 = (0u | 32u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(80), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(84), 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(72), 0u); ctx.gpr[8] = (aot_gpr_29 + static_cast(68)); aot_gpr_5 = (0u | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x08B1B620u); ctx.gpr[7] = (aot_gpr_29 | 0u); ctx.pc = 0x08B735DCu; @@ -8330,7 +8331,7 @@ L_08B1B634: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(88), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -8356,7 +8357,7 @@ L_08B1B654: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), 0u); ctx.gpr[8] = (aot_gpr_29 + static_cast(4)); aot_gpr_5 = (0u | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_31); aot_gpr_31 = (0x08B1B698u); ctx.gpr[7] = (aot_gpr_29 | 0u); @@ -8412,9 +8413,9 @@ L_08B1B6C4: AOT_REGCACHE_SYNC_OUT(); return; L_08B1B6D0: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_5); - ctx.gpr[6] = (ctx.gpr[6] & 65535u); + aot_gpr_6 = (aot_gpr_6 & 65535u); aot_gpr_5 = (0u | 0u); - ctx.gpr[7] = (static_cast(aot_gpr_5) < static_cast(ctx.gpr[6]) ? 1u : 0u); + ctx.gpr[7] = (static_cast(aot_gpr_5) < static_cast(aot_gpr_6) ? 1u : 0u); { const bool branch_taken = ctx.gpr[7] == 0u; ctx.gpr[7] = (0u | 0u); if (branch_taken) { @@ -8424,9 +8425,9 @@ L_08B1B6D0: } L_08B1B6E8: aot_gpr_5 = (aot_gpr_5 + static_cast(1)); - { const std::int32_t dividend = static_cast(aot_gpr_5); const std::int32_t divisor = static_cast(ctx.gpr[6]); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } + { const std::int32_t dividend = static_cast(aot_gpr_5); const std::int32_t divisor = static_cast(aot_gpr_6); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - ctx.gpr[9] = (static_cast(aot_gpr_5) < static_cast(ctx.gpr[6]) ? 1u : 0u); + ctx.gpr[9] = (static_cast(aot_gpr_5) < static_cast(aot_gpr_6) ? 1u : 0u); ctx.gpr[8] = (ctx.gpr[8] + ctx.gpr[7]); ctx.gpr[7] = (ctx.gpr[7] + static_cast(16)); ctx.gpr[10] = (ctx.hi); @@ -8456,25 +8457,25 @@ L_08B1B714: AOT_REGCACHE_SYNC_OUT(); return; L_08B1B728: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - aot_gpr_17 = (aot_gpr_5 | 0u); + ctx.gpr[17] = (aot_gpr_5 | 0u); aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_4 = (2235u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28628)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(0))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(0), static_cast(aot_gpr_4)); aot_gpr_4 = (2235u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28612)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), aot_gpr_4); aot_gpr_4 = (aot_gpr_16 + static_cast(16)); aot_gpr_31 = (0x08B1B76Cu); - aot_gpr_5 = (aot_gpr_17 + static_cast(16)); + aot_gpr_5 = (ctx.gpr[17] + static_cast(16)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 912u, 0x0885F828u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1B76Cu) goto L_08B1B76C; AOT_REGCACHE_SYNC_OUT(); return; L_08B1B76C: - aot_gpr_4 = (aot_gpr_17 + static_cast(96)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(96)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -8489,7 +8490,7 @@ L_08B1B76C: const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_4 = (aot_gpr_17 + static_cast(112)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(112)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -8504,7 +8505,7 @@ L_08B1B76C: const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_4 = (aot_gpr_17 + static_cast(128)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(128)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -8519,7 +8520,7 @@ L_08B1B76C: const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_4 = (aot_gpr_17 + static_cast(144)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(144)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -8534,42 +8535,42 @@ L_08B1B76C: const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(160))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(160))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(160), static_cast(aot_gpr_4)); aot_gpr_4 = (2235u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28596)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(176))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(176))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(176), static_cast(aot_gpr_4)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(180))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(180))); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(180), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(184))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(184))); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(184), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(188))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(188))); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(188), std::bit_cast(aot_fpr_12)); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(192))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(192))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(192), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(193))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(193))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(193), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(194))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(194))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(194), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(195))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(195))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(195), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(196))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(196))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(196), static_cast(aot_gpr_4)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(200))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(200))); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(200), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(204)))))); aot_gpr_5 = (0u + static_cast(-2)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(204)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(204)))))); aot_gpr_5 = (aot_gpr_5 & 1u); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(204), static_cast(aot_gpr_4)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(204)))))); aot_gpr_5 = (0u + static_cast(-3)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(204)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(204)))))); aot_gpr_5 = (aot_gpr_5 & 2u); aot_gpr_5 = (aot_gpr_5 >> 1u); aot_gpr_5 = (aot_gpr_5 & 1u); @@ -8579,7 +8580,7 @@ L_08B1B76C: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(204)))))); aot_gpr_5 = (0u + static_cast(-5)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(204)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(204)))))); aot_gpr_5 = (aot_gpr_5 & 4u); aot_gpr_5 = (aot_gpr_5 >> 2u); aot_gpr_5 = (aot_gpr_5 & 1u); @@ -8589,32 +8590,32 @@ L_08B1B76C: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(204)))))); aot_gpr_5 = (0u + static_cast(-9)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(204)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(204)))))); aot_gpr_5 = (aot_gpr_5 & 8u); aot_gpr_5 = (aot_gpr_5 >> 3u); aot_gpr_5 = (aot_gpr_5 & 1u); aot_gpr_5 = (aot_gpr_5 << 3u); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(204), static_cast(aot_gpr_4)); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(205)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(205)))))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(205), static_cast(aot_gpr_4)); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(206)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(206)))))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(206), static_cast(aot_gpr_4)); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(207)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(207)))))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(207), static_cast(aot_gpr_4)); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(208)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(208)))))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(208), static_cast(aot_gpr_4)); aot_gpr_4 = (0u | 0u); - aot_gpr_5 = (aot_gpr_4 + aot_gpr_17); + aot_gpr_5 = (aot_gpr_4 + ctx.gpr[17]); goto L_08B1B8CC; L_08B1B8CC: aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(209))); - ctx.gpr[6] = (aot_gpr_4 + aot_gpr_16); + aot_gpr_6 = (aot_gpr_4 + aot_gpr_16); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store8(ctx.gpr[6] + static_cast(209), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(aot_gpr_6 + static_cast(209), static_cast(aot_gpr_5)); aot_gpr_5 = (static_cast(aot_gpr_4) < 4 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 != 0u; - aot_gpr_5 = (aot_gpr_4 + aot_gpr_17); + aot_gpr_5 = (aot_gpr_4 + ctx.gpr[17]); if (branch_taken) { goto L_08B1B8CC; } @@ -8622,17 +8623,17 @@ L_08B1B8CC: } L_08B1B8E8: aot_gpr_4 = (0u | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[6] = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_6 = (aot_gpr_16 | 0u); goto L_08B1B8F4; L_08B1B8F4: ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(216))); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(216), ctx.gpr[7]); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(216), ctx.gpr[7]); aot_gpr_5 = (aot_gpr_5 + static_cast(4)); ctx.gpr[7] = (static_cast(aot_gpr_4) < 4 ? 1u : 0u); { const bool branch_taken = ctx.gpr[7] != 0u; - ctx.gpr[6] = (ctx.gpr[6] + static_cast(4)); + aot_gpr_6 = (aot_gpr_6 + static_cast(4)); if (branch_taken) { goto L_08B1B8F4; } @@ -8640,17 +8641,17 @@ L_08B1B8F4: } L_08B1B910: aot_gpr_4 = (0u | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[6] = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_6 = (aot_gpr_16 | 0u); goto L_08B1B91C; L_08B1B91C: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(232))); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(232), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(232), std::bit_cast(aot_fpr_12)); aot_gpr_5 = (aot_gpr_5 + static_cast(4)); ctx.gpr[7] = (static_cast(aot_gpr_4) < 4 ? 1u : 0u); { const bool branch_taken = ctx.gpr[7] != 0u; - ctx.gpr[6] = (ctx.gpr[6] + static_cast(4)); + aot_gpr_6 = (aot_gpr_6 + static_cast(4)); if (branch_taken) { goto L_08B1B91C; } @@ -8658,17 +8659,17 @@ L_08B1B91C: } L_08B1B938: aot_gpr_4 = (0u | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[6] = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_6 = (aot_gpr_16 | 0u); goto L_08B1B944; L_08B1B944: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(248))); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(248), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(248), std::bit_cast(aot_fpr_12)); aot_gpr_5 = (aot_gpr_5 + static_cast(4)); ctx.gpr[7] = (static_cast(aot_gpr_4) < 4 ? 1u : 0u); { const bool branch_taken = ctx.gpr[7] != 0u; - ctx.gpr[6] = (ctx.gpr[6] + static_cast(4)); + aot_gpr_6 = (aot_gpr_6 + static_cast(4)); if (branch_taken) { goto L_08B1B944; } @@ -8676,17 +8677,17 @@ L_08B1B944: } L_08B1B960: aot_gpr_4 = (0u | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[6] = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_6 = (aot_gpr_16 | 0u); goto L_08B1B96C; L_08B1B96C: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(264))); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(264), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(264), std::bit_cast(aot_fpr_12)); aot_gpr_5 = (aot_gpr_5 + static_cast(4)); ctx.gpr[7] = (static_cast(aot_gpr_4) < 4 ? 1u : 0u); { const bool branch_taken = ctx.gpr[7] != 0u; - ctx.gpr[6] = (ctx.gpr[6] + static_cast(4)); + aot_gpr_6 = (aot_gpr_6 + static_cast(4)); if (branch_taken) { goto L_08B1B96C; } @@ -8694,17 +8695,17 @@ L_08B1B96C: } L_08B1B988: aot_gpr_4 = (0u | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[6] = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_6 = (aot_gpr_16 | 0u); goto L_08B1B994; L_08B1B994: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(280))); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(280), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(280), std::bit_cast(aot_fpr_12)); aot_gpr_5 = (aot_gpr_5 + static_cast(4)); ctx.gpr[7] = (static_cast(aot_gpr_4) < 4 ? 1u : 0u); { const bool branch_taken = ctx.gpr[7] != 0u; - ctx.gpr[6] = (ctx.gpr[6] + static_cast(4)); + aot_gpr_6 = (aot_gpr_6 + static_cast(4)); if (branch_taken) { goto L_08B1B994; } @@ -8713,11 +8714,11 @@ L_08B1B994: L_08B1B9B0: aot_gpr_4 = (0u | 0u); aot_gpr_5 = (aot_gpr_16 + static_cast(304)); - ctx.gpr[6] = (aot_gpr_17 + static_cast(304)); + aot_gpr_6 = (ctx.gpr[17] + static_cast(304)); goto L_08B1B9BC; L_08B1B9BC: { std::uint32_t aot_run_words[4]{}; - aot_mem.aot_direct_load32_block(ctx.gpr[6] + static_cast(0), aot_run_words); + aot_mem.aot_direct_load32_block(aot_gpr_6 + static_cast(0), aot_run_words); ctx.gpr[7] = aot_run_words[0]; ctx.gpr[8] = aot_run_words[1]; ctx.gpr[9] = aot_run_words[2]; @@ -8727,19 +8728,19 @@ L_08B1B9BC: aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(4), ctx.gpr[8]); ctx.gpr[7] = (std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(8), ctx.gpr[9]); - ctx.gpr[8] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(16))); - ctx.gpr[9] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(20))); + ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(16))); + ctx.gpr[9] = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(20))); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(12), ctx.gpr[7]); - ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(24))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(24))); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(16), ctx.gpr[8]); - ctx.gpr[8] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(28))); + ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(28))); { const std::uint32_t aot_run_words[3]{ctx.gpr[9], ctx.gpr[7], ctx.gpr[8]}; aot_mem.aot_direct_store32_block(aot_gpr_5 + static_cast(20), aot_run_words); } aot_gpr_4 = (aot_gpr_4 + static_cast(1)); aot_gpr_5 = (aot_gpr_5 + static_cast(32)); ctx.gpr[7] = (static_cast(aot_gpr_4) < 4 ? 1u : 0u); { const bool branch_taken = ctx.gpr[7] != 0u; - ctx.gpr[6] = (ctx.gpr[6] + static_cast(32)); + aot_gpr_6 = (aot_gpr_6 + static_cast(32)); if (branch_taken) { goto L_08B1B9BC; } @@ -8747,34 +8748,34 @@ L_08B1B9BC: } L_08B1BA14: aot_gpr_4 = (0u | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[6] = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_6 = (aot_gpr_16 | 0u); goto L_08B1BA20; L_08B1BA20: ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(432))); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(432), ctx.gpr[7]); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(432), ctx.gpr[7]); aot_gpr_5 = (aot_gpr_5 + static_cast(4)); ctx.gpr[7] = (static_cast(aot_gpr_4) < 4 ? 1u : 0u); { const bool branch_taken = ctx.gpr[7] != 0u; - ctx.gpr[6] = (ctx.gpr[6] + static_cast(4)); + aot_gpr_6 = (aot_gpr_6 + static_cast(4)); if (branch_taken) { goto L_08B1BA20; } goto L_08B1BA3C; } L_08B1BA3C: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(448))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(448))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(448), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(452))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(452))); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(452), aot_gpr_4); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(456))); - aot_gpr_4 = (aot_gpr_17 + static_cast(468)); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(456))); + aot_gpr_4 = (ctx.gpr[17] + static_cast(468)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(456), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(460))); - ctx.gpr[6] = (aot_gpr_16 + static_cast(468)); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(460))); + aot_gpr_6 = (aot_gpr_16 + static_cast(468)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(460), std::bit_cast(aot_fpr_12)); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(464)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(464)))))); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(464), static_cast(aot_gpr_5)); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_4 + static_cast(0), aot_run_words); @@ -8782,39 +8783,39 @@ L_08B1BA3C: ctx.gpr[7] = aot_run_words[1]; ctx.gpr[8] = aot_run_words[2]; } - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(0), aot_gpr_5); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(0), aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(12))); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(4), ctx.gpr[7]); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(4), ctx.gpr[7]); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(8), ctx.gpr[8]); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(8), ctx.gpr[8]); ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(12), aot_gpr_5); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(12), aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(24))); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(16), ctx.gpr[7]); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(16), ctx.gpr[7]); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(28))); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(20), ctx.gpr[8]); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(20), ctx.gpr[8]); ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(32))); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(24), aot_gpr_5); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(24), aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(36))); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(28), ctx.gpr[7]); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(28), ctx.gpr[7]); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(40))); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(32), ctx.gpr[8]); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(32), ctx.gpr[8]); ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(44))); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(36), aot_gpr_5); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(36), aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(48))); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(40), ctx.gpr[7]); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(40), ctx.gpr[7]); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(52))); { const std::uint32_t aot_run_words[3]{ctx.gpr[8], aot_gpr_5, aot_gpr_4}; - aot_mem.aot_direct_store32_block(ctx.gpr[6] + static_cast(44), aot_run_words); } - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(524))); + aot_mem.aot_direct_store32_block(aot_gpr_6 + static_cast(44), aot_run_words); } + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(524))); ctx.gpr[2] = (aot_gpr_16 | 0u); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(524), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(528))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(528))); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(528), aot_gpr_4); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -8875,12 +8876,12 @@ L_08B1BB48: L_08B1BB68: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_17); - aot_gpr_17 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_4 | 0u); aot_gpr_16 = (aot_gpr_5 | 0u); { const std::uint32_t aot_run_words[3]{ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(20), aot_run_words); } - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B1BB94u); aot_gpr_5 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0170_entry, 170u, 101u, 0x08AAC5E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1BB94u) goto L_08B1BB94; @@ -8889,7 +8890,7 @@ L_08B1BB94: aot_gpr_4 = (2235u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-25444)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(1), static_cast(0u)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(4), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(4), aot_gpr_4); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(1)))))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(4), static_cast(0u)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(4)))))); @@ -8907,7 +8908,7 @@ L_08B1BBC4: aot_gpr_4 = (static_cast(static_cast(aot_gpr_5) >> 5u)); aot_gpr_4 = (aot_gpr_4 >> 27u); aot_gpr_16 = (aot_gpr_5 + aot_gpr_4); - ctx.gpr[18] = (aot_gpr_17 + static_cast(304)); + ctx.gpr[18] = (ctx.gpr[17] + static_cast(304)); aot_gpr_16 = (static_cast(static_cast(aot_gpr_16) >> 5u)); { const bool branch_taken = static_cast(aot_gpr_16) <= 0; aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(6), static_cast(0u)); @@ -8933,11 +8934,11 @@ L_08B1BBFC: goto L_08B1BC0C; } L_08B1BC0C: - ctx.gpr[2] = (aot_gpr_17 | 0u); + ctx.gpr[2] = (ctx.gpr[17] | 0u); { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(12), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; @@ -8974,7 +8975,7 @@ L_08B1BC54: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_5 | 0u); - { const std::uint32_t aot_run_words[5]{aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; + { const std::uint32_t aot_run_words[5]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(4), aot_run_words); } aot_gpr_31 = (0x08B1BC7Cu); ctx.gpr[20] = (0u | 0u); @@ -9009,12 +9010,12 @@ L_08B1BC9C: goto L_08B1BCA4; L_08B1BCA4: aot_gpr_31 = (0x08B1BCACu); - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0034_entry, 34u, 400u, 0x0888E51Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1BCACu) goto L_08B1BCAC; AOT_REGCACHE_SYNC_OUT(); return; L_08B1BCAC: if (ctx.gpr[2] == aot_gpr_16) { - aot_gpr_17 = (0u | 1u); + ctx.gpr[17] = (0u | 1u); goto L_08B1BCD4; } goto L_08B1BCB4; @@ -9028,17 +9029,17 @@ L_08B1BCBC: aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_4 = (aot_gpr_17 & 255u); + aot_gpr_4 = (ctx.gpr[17] & 255u); if (branch_taken) { goto L_08B1BCD8; } goto L_08B1BCD0; } L_08B1BCD0: - aot_gpr_17 = (0u | 1u); + ctx.gpr[17] = (0u | 1u); goto L_08B1BCD4; L_08B1BCD4: - aot_gpr_4 = (aot_gpr_17 & 255u); + aot_gpr_4 = (ctx.gpr[17] & 255u); goto L_08B1BCD8; L_08B1BCD8: { const bool branch_taken = aot_gpr_4 == 0u; @@ -9084,7 +9085,7 @@ L_08B1BD04: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -9098,8 +9099,8 @@ L_08B1BD04: AOT_REGCACHE_SYNC_OUT(); return; L_08B1BD28: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); { const bool branch_taken = aot_gpr_4 == 0u; @@ -9112,13 +9113,13 @@ L_08B1BD28: L_08B1BD44: aot_gpr_4 = (2235u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-25636)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(108), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(108), aot_gpr_4); aot_gpr_31 = (0x08B1BD58u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0165_entry, 165u, 425u, 0x08A9B6A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1BD58u) goto L_08B1BD58; AOT_REGCACHE_SYNC_OUT(); return; L_08B1BD58: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B1BD64u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0170_entry, 170u, 161u, 0x08AACB80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1BD64u) goto L_08B1BD64; @@ -9134,14 +9135,14 @@ L_08B1BD64: } L_08B1BD70: aot_gpr_31 = (0x08B1BD78u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1BD78u) goto L_08B1BD78; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1BD78u) goto L_08B1BD78; AOT_REGCACHE_SYNC_OUT(); return; L_08B1BD78: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -9205,12 +9206,12 @@ L_08B1BDE0: goto L_08B1BDF0; } L_08B1BDF0: - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_5 = (0u | 3u); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(8)); - ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[6] + static_cast(0)))))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(4))); - jump_target = ctx.gpr[6]; + aot_gpr_6 = (aot_gpr_6 + static_cast(8)); + ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(0)))))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(4))); + jump_target = aot_gpr_6; aot_gpr_31 = (0x08B1BE0Cu); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[7]); ctx.pc = jump_target; @@ -9232,15 +9233,15 @@ L_08B1BE18: aot_gpr_16 = (aot_gpr_5 | 0u); aot_gpr_4 = (2237u << 16u); aot_gpr_5 = (0u | 752u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); aot_gpr_31 = (0x08B1BE44u); aot_gpr_4 = (aot_gpr_4 + static_cast(-29120)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 501u, 0x08ABE57Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1BE44u) goto L_08B1BE44; AOT_REGCACHE_SYNC_OUT(); return; L_08B1BE44: - aot_gpr_17 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (ctx.gpr[2] | 0u); + { const bool branch_taken = ctx.gpr[17] == 0u; ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); if (branch_taken) { goto L_08B1BE9C; @@ -9248,21 +9249,21 @@ L_08B1BE44: goto L_08B1BE50; } L_08B1BE50: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B1BE5Cu); aot_gpr_5 = (aot_gpr_16 | 0u); goto L_08B1B728; L_08B1BE5C: aot_gpr_4 = (2235u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28580)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(4), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(4), aot_gpr_4); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(544))); ctx.gpr[7] = (2226u << 16u); - aot_mem.aot_direct_store16(aot_gpr_17 + static_cast(544), static_cast(aot_gpr_5)); - aot_gpr_4 = (aot_gpr_17 + static_cast(560)); + aot_mem.aot_direct_store16(ctx.gpr[17] + static_cast(544), static_cast(aot_gpr_5)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(560)); ctx.gpr[8] = (aot_gpr_16 + static_cast(560)); aot_gpr_5 = (0u | 6u); - ctx.gpr[6] = (0u | 32u); + aot_gpr_6 = (0u | 32u); aot_gpr_31 = (0x08B1BE8Cu); ctx.gpr[7] = (ctx.gpr[7] + static_cast(-17660)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 115u, 0x08B6095Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1BE8Cu) goto L_08B1BE8C; @@ -9270,14 +9271,14 @@ L_08B1BE5C: L_08B1BE8C: aot_gpr_4 = (2235u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-25444)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(4), aot_gpr_4); - ctx.gpr[2] = (aot_gpr_17 | 0u); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(4), aot_gpr_4); + ctx.gpr[2] = (ctx.gpr[17] | 0u); goto L_08B1BE9C; L_08B1BE9C: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(4), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -9291,7 +9292,7 @@ L_08B1BEB0: aot_gpr_4 = (aot_gpr_5 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); aot_gpr_31 = (0x08B1BEC4u); - aot_gpr_5 = (ctx.gpr[6] | 0u); + aot_gpr_5 = (aot_gpr_6 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0158_entry, 158u, 660u, 0x08A7FA3Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1BEC4u) goto L_08B1BEC4; AOT_REGCACHE_SYNC_OUT(); return; L_08B1BEC4: @@ -9304,7 +9305,7 @@ L_08B1BEC4: AOT_REGCACHE_SYNC_OUT(); return; L_08B1BED0: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_31 = (0x08B1BEECu); aot_gpr_16 = (aot_gpr_4 | 0u); @@ -9320,9 +9321,9 @@ L_08B1BEEC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1BF04u) goto L_08B1BF04; AOT_REGCACHE_SYNC_OUT(); return; L_08B1BF04: - aot_gpr_17 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_17 == 0u; - aot_gpr_4 = (aot_gpr_17 | 0u); + ctx.gpr[17] = (ctx.gpr[2] | 0u); + { const bool branch_taken = ctx.gpr[17] == 0u; + aot_gpr_4 = (ctx.gpr[17] | 0u); if (branch_taken) { goto L_08B1BF1C; } @@ -9334,7 +9335,7 @@ L_08B1BF10: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 73u, 0x08B1C6ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1BF18u) goto L_08B1BF18; AOT_REGCACHE_SYNC_OUT(); return; L_08B1BF18: - ctx.gpr[18] = (aot_gpr_17 | 0u); + ctx.gpr[18] = (ctx.gpr[17] | 0u); goto L_08B1BF1C; L_08B1BF1C: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(112), ctx.gpr[18]); @@ -9342,7 +9343,7 @@ L_08B1BF1C: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -9354,8 +9355,8 @@ L_08B1BF1C: AOT_REGCACHE_SYNC_OUT(); return; L_08B1BF3C: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_17); - aot_gpr_17 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_16); { const std::uint32_t aot_run_words[3]{ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(32), aot_run_words); } @@ -9366,16 +9367,16 @@ L_08B1BF3C: L_08B1BF60: aot_gpr_4 = (2235u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-31008)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(108), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(108), aot_gpr_4); aot_gpr_4 = (2237u << 16u); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[6] = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_6 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B1BF80u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 736u, 0x08ADEF00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1BF80u) goto L_08B1BF80; AOT_REGCACHE_SYNC_OUT(); return; L_08B1BF80: - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(104), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(104), aot_gpr_16); ctx.gpr[18] = (0u | 0u); aot_gpr_31 = (0x08B1BF90u); aot_gpr_4 = (0u | 400u); @@ -9392,21 +9393,21 @@ L_08B1BF90: } L_08B1BF9C: aot_gpr_31 = (0x08B1BFA4u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 73u, 0x08B1C6ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1BFA4u) goto L_08B1BFA4; AOT_REGCACHE_SYNC_OUT(); return; L_08B1BFA4: ctx.gpr[18] = (ctx.gpr[19] | 0u); goto L_08B1BFA8; L_08B1BFA8: - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(112), ctx.gpr[18]); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(112), ctx.gpr[18]); aot_gpr_31 = (0x08B1BFB4u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 2u, 0x08B1C024u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1BFB4u) goto L_08B1BFB4; AOT_REGCACHE_SYNC_OUT(); return; L_08B1BFB4: aot_gpr_4 = (0u | 0u); - ctx.gpr[19] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(10)))))); + ctx.gpr[19] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(10)))))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_4); aot_gpr_4 = (2237u << 16u); aot_gpr_5 = (0u | 752u); @@ -9432,15 +9433,15 @@ L_08B1BFE8: aot_gpr_4 = (ctx.gpr[18] | 0u); goto L_08B1BFEC; L_08B1BFEC: - ctx.gpr[6] = (aot_gpr_4 | 0u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_6 = (aot_gpr_4 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B1BFFCu); aot_gpr_5 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0165_entry, 165u, 456u, 0x08A9B9F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1BFFCu) goto L_08B1BFFC; AOT_REGCACHE_SYNC_OUT(); return; L_08B1BFFC: aot_gpr_31 = (0x08B1C004u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0034_entry, 34u, 562u, 0x0888F9A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } diff --git a/profiles/vcs/generated/generated_unit_0198.cpp b/profiles/vcs/generated/generated_unit_0198.cpp index c9a18a6..2a9d398 100644 --- a/profiles/vcs/generated/generated_unit_0198.cpp +++ b/profiles/vcs/generated/generated_unit_0198.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0198[4095] = { }; void recomp_unit_0198_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,29,5,31,16,17 fprs=12,13,14,20 gpr_occ=4157 fpr_occ=646 gpr_total=5653 fpr_total=884 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,29,5,31,16,6 fprs=12,13,14,15 gpr_occ=4233 fpr_occ=645 gpr_total=5930 fpr_total=893 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; std::uint32_t aot_gpr_16 = ctx.gpr[16]; - std::uint32_t aot_gpr_17 = ctx.gpr[17]; + std::uint32_t aot_gpr_6 = ctx.gpr[6]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_14 = ctx.fpr[14]; - float aot_fpr_20 = ctx.fpr[20]; + float aot_fpr_15 = ctx.fpr[15]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[29] = aot_gpr_29; ctx.gpr[5] = aot_gpr_5; ctx.gpr[31] = aot_gpr_31; ctx.gpr[16] = aot_gpr_16; ctx.gpr[17] = aot_gpr_17; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[20] = aot_fpr_20; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_17 = ctx.gpr[17]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_20 = ctx.fpr[20]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[29] = aot_gpr_29; ctx.gpr[5] = aot_gpr_5; ctx.gpr[31] = aot_gpr_31; ctx.gpr[16] = aot_gpr_16; ctx.gpr[6] = aot_gpr_6; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[15] = aot_fpr_15; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_6 = ctx.gpr[6]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_15 = ctx.fpr[15]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -909,11 +910,11 @@ LOCAL_DISPATCH: } } L_08B1C004: - ctx.gpr[2] = (aot_gpr_17 | 0u); + ctx.gpr[2] = (ctx.gpr[17] | 0u); { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(24), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; @@ -965,13 +966,13 @@ L_08B1C060: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[7] + static_cast(52))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_17); - aot_gpr_17 = (aot_gpr_5 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_5 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), ctx.gpr[18]); { const std::uint32_t aot_run_words[4]{ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(40), aot_run_words); } { const bool branch_taken = aot_gpr_5 != aot_gpr_4; - ctx.gpr[18] = (ctx.gpr[6] | 0u); + ctx.gpr[18] = (aot_gpr_6 | 0u); if (branch_taken) { goto L_08B1C180; } @@ -988,7 +989,7 @@ L_08B1C0A8: } L_08B1C0B4: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(10)))))); - ctx.gpr[6] = (aot_gpr_29 + static_cast(16)); + aot_gpr_6 = (aot_gpr_29 + static_cast(16)); aot_gpr_31 = (0x08B1C0C4u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1C0C4u) goto L_08B1C0C4; @@ -1016,7 +1017,7 @@ L_08B1C0E0: } L_08B1C0EC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(112))); - ctx.gpr[6] = (aot_mem.aot_direct_load8(ctx.gpr[20] + static_cast(524))); + aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[20] + static_cast(524))); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(86)))))); aot_gpr_31 = (0x08B1C100u); aot_gpr_4 = (ctx.gpr[22] | 0u); @@ -1029,7 +1030,7 @@ L_08B1C100: L_08B1C108: aot_gpr_5 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B1C114u); - ctx.gpr[6] = (ctx.gpr[21] | 0u); + aot_gpr_6 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 736u, 0x08ADEF00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1C114u) goto L_08B1C114; AOT_REGCACHE_SYNC_OUT(); return; L_08B1C114: @@ -1037,14 +1038,14 @@ L_08B1C114: ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(104))); ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(64)))))); aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B1C130u); - ctx.gpr[6] = (ctx.gpr[18] | 0u); + aot_gpr_6 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0170_entry, 170u, 171u, 0x08AACC28u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1C130u) goto L_08B1C130; AOT_REGCACHE_SYNC_OUT(); return; L_08B1C130: aot_gpr_4 = (0u | 0u); - aot_gpr_17 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(10)))))); + ctx.gpr[17] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(10)))))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_4); aot_gpr_4 = (2237u << 16u); aot_gpr_5 = (0u | 752u); @@ -1071,10 +1072,10 @@ L_08B1C164: aot_gpr_4 = (ctx.gpr[18] | 0u); goto L_08B1C168; L_08B1C168: - ctx.gpr[6] = (aot_gpr_4 | 0u); + aot_gpr_6 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B1C178u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0165_entry, 165u, 456u, 0x08A9B9F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1C178u) goto L_08B1C178; AOT_REGCACHE_SYNC_OUT(); return; L_08B1C178: @@ -1088,16 +1089,16 @@ L_08B1C178: L_08B1C180: ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(64)))))); aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B1C194u); - ctx.gpr[6] = (ctx.gpr[18] | 0u); + aot_gpr_6 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0170_entry, 170u, 171u, 0x08AACC28u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1C194u) goto L_08B1C194; AOT_REGCACHE_SYNC_OUT(); return; L_08B1C194: { std::uint32_t aot_run_words[8]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(24), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -1115,7 +1116,7 @@ L_08B1C1BC: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(104))); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(20), aot_run_words); } { const bool branch_taken = aot_gpr_5 != 0u; aot_gpr_16 = (aot_gpr_4 | 0u); @@ -1136,11 +1137,11 @@ L_08B1C1E8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(108))); aot_gpr_5 = (0u | 3u); aot_gpr_4 = (aot_gpr_4 + static_cast(24)); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x08B1C204u); - aot_gpr_4 = (aot_gpr_16 + ctx.gpr[6]); + aot_gpr_4 = (aot_gpr_16 + aot_gpr_6); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1C204u) goto L_08B1C204; AOT_REGCACHE_SYNC_OUT(); return; @@ -1163,8 +1164,8 @@ L_08B1C20C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 501u, 0x08ABE57Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1C228u) goto L_08B1C228; AOT_REGCACHE_SYNC_OUT(); return; L_08B1C228: - aot_gpr_17 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (ctx.gpr[2] | 0u); + { const bool branch_taken = ctx.gpr[17] == 0u; aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); if (branch_taken) { goto L_08B1C244; @@ -1174,14 +1175,14 @@ L_08B1C228: L_08B1C234: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(104))); aot_gpr_31 = (0x08B1C240u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0197_entry, 197u, 841u, 0x08B1BB68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1C240u) goto L_08B1C240; AOT_REGCACHE_SYNC_OUT(); return; L_08B1C240: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); goto L_08B1C244; L_08B1C244: - ctx.gpr[6] = (aot_gpr_4 | 0u); + aot_gpr_6 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B1C254u); aot_gpr_5 = (ctx.gpr[18] | 0u); @@ -1191,7 +1192,7 @@ L_08B1C254: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(20), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -1203,24 +1204,24 @@ L_08B1C254: AOT_REGCACHE_SYNC_OUT(); return; L_08B1C26C: aot_gpr_29 = (aot_gpr_29 + static_cast(-96)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(96), ctx.gpr[6]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(96), aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(100), ctx.gpr[7]); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(100)))))); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[6] + static_cast(0)))))); - aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(54), static_cast(ctx.gpr[6])); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(54)))))); - ctx.gpr[6] = (ctx.gpr[7] - ctx.gpr[6]); - ctx.gpr[6] = (ctx.gpr[6] << 16u); - ctx.gpr[6] = (static_cast(static_cast(ctx.gpr[6]) >> 16u)); - ctx.gpr[6] = (static_cast(ctx.gpr[6]) < 0 ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(72), aot_gpr_17); - aot_gpr_17 = (aot_gpr_4 | 0u); - ctx.gpr[6] = (ctx.gpr[6] & 255u); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(0)))))); + aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(54), static_cast(aot_gpr_6)); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(54)))))); + aot_gpr_6 = (ctx.gpr[7] - aot_gpr_6); + aot_gpr_6 = (aot_gpr_6 << 16u); + aot_gpr_6 = (static_cast(static_cast(aot_gpr_6) >> 16u)); + aot_gpr_6 = (static_cast(aot_gpr_6) < 0 ? 1u : 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(72), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_4 | 0u); + aot_gpr_6 = (aot_gpr_6 & 255u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), aot_gpr_16); { const std::uint32_t aot_run_words[3]{ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(76), aot_run_words); } - { const bool branch_taken = ctx.gpr[6] == 0u; + { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_16 = (aot_gpr_5 | 0u); if (branch_taken) { goto L_08B1C30C; @@ -1229,11 +1230,11 @@ L_08B1C26C: } L_08B1C2C0: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(96)))))); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(56), static_cast(aot_gpr_5)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(56)))))); aot_gpr_31 = (0x08B1C2D8u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1C2D8u) goto L_08B1C2D8; AOT_REGCACHE_SYNC_OUT(); return; L_08B1C2D8: @@ -1242,13 +1243,13 @@ L_08B1C2D8: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (0u + static_cast(-1)); aot_gpr_31 = (0x08B1C2F0u); - ctx.gpr[6] = (0u | 36u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1C2F0u) goto L_08B1C2F0; + aot_gpr_6 = (0u | 36u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1C2F0u) goto L_08B1C2F0; AOT_REGCACHE_SYNC_OUT(); return; L_08B1C2F0: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (ctx.gpr[19] | 0u); + aot_gpr_6 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08B1C304u); ctx.gpr[7] = (ctx.gpr[18] | 0u); goto L_08B1C504; @@ -1262,11 +1263,11 @@ L_08B1C304: } L_08B1C30C: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(96)))))); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(58), static_cast(aot_gpr_5)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(58)))))); aot_gpr_31 = (0x08B1C324u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1C324u) goto L_08B1C324; AOT_REGCACHE_SYNC_OUT(); return; L_08B1C324: @@ -1275,7 +1276,7 @@ L_08B1C324: aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(60), static_cast(aot_gpr_4)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(60)))))); aot_gpr_31 = (0x08B1C33Cu); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0165_entry, 165u, 440u, 0x08A9B864u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1C33Cu) goto L_08B1C33C; AOT_REGCACHE_SYNC_OUT(); return; L_08B1C33C: @@ -1284,13 +1285,13 @@ L_08B1C33C: aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(62), static_cast(aot_gpr_4)); aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(64), static_cast(aot_gpr_5)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(62)))))); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(64)))))); - aot_gpr_4 = (aot_gpr_17 | 0u); - aot_gpr_5 = (aot_gpr_5 - ctx.gpr[6]); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(64)))))); + aot_gpr_4 = (ctx.gpr[17] | 0u); + aot_gpr_5 = (aot_gpr_5 - aot_gpr_6); ctx.gpr[8] = (aot_gpr_5 << 16u); ctx.gpr[8] = (static_cast(static_cast(ctx.gpr[8]) >> 16u)); aot_gpr_5 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (ctx.gpr[18] | 0u); + aot_gpr_6 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08B1C374u); ctx.gpr[7] = (ctx.gpr[2] | 0u); goto L_08B1C41C; @@ -1298,7 +1299,7 @@ L_08B1C374: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(68), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; @@ -1405,22 +1406,22 @@ L_08B1C41C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), ctx.gpr[20]); ctx.gpr[19] = (aot_gpr_5 | 0u); ctx.gpr[20] = (aot_gpr_4 | 0u); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, ctx.gpr[18]}; + { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(36), aot_run_words); } - aot_gpr_17 = (ctx.gpr[6] | 0u); + ctx.gpr[17] = (aot_gpr_6 | 0u); aot_gpr_16 = (ctx.gpr[8] | 0u); ctx.gpr[18] = (ctx.gpr[7] | 0u); aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_5 = (0u | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), aot_gpr_31); aot_gpr_31 = (0x08B1C45Cu); - ctx.gpr[6] = (0u | 36u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1C45Cu) goto L_08B1C45C; + aot_gpr_6 = (0u | 36u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1C45Cu) goto L_08B1C45C; AOT_REGCACHE_SYNC_OUT(); return; L_08B1C45C: aot_gpr_4 = (ctx.gpr[20] | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[6] = (ctx.gpr[18] | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_6 = (ctx.gpr[18] | 0u); ctx.gpr[7] = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B1C474u); ctx.gpr[8] = (aot_gpr_29 | 0u); @@ -1428,7 +1429,7 @@ L_08B1C45C: L_08B1C474: aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); - ctx.gpr[6] = (aot_gpr_17 | 0u); + aot_gpr_6 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B1C488u); ctx.gpr[7] = (aot_gpr_29 | 0u); goto L_08B1C504; @@ -1437,7 +1438,7 @@ L_08B1C488: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(36), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -1453,8 +1454,8 @@ L_08B1C4AC: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (ctx.gpr[8] | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_16 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_16 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08B1C4CCu); ctx.gpr[8] = (aot_gpr_16 + static_cast(4)); @@ -1479,15 +1480,15 @@ L_08B1C4D8: goto L_08B1C4E4; } L_08B1C4E4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_gpr_4 = (aot_gpr_4 | 1u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), aot_gpr_4); goto L_08B1C4F0; L_08B1C4F0: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -1500,9 +1501,9 @@ L_08B1C504: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); ctx.gpr[8] = (ctx.gpr[7] | 0u); - ctx.gpr[9] = (ctx.gpr[6] | 0u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[8] + static_cast(0))); - ctx.gpr[7] = (ctx.gpr[6] & 65535u); + ctx.gpr[9] = (aot_gpr_6 | 0u); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[8] + static_cast(0))); + ctx.gpr[7] = (aot_gpr_6 & 65535u); ctx.gpr[7] = (ctx.gpr[7] & 65535u); ctx.gpr[10] = (ctx.gpr[7] & 255u); ctx.gpr[11] = (aot_mem.aot_direct_load_word_right(aot_gpr_5 + static_cast(0), ctx.gpr[11])); @@ -1525,7 +1526,7 @@ L_08B1C504: ctx.gpr[1] = (static_cast(static_cast(ctx.gpr[10]) >> 8u)); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(1), static_cast(ctx.gpr[1])); aot_mem.aot_direct_store8(ctx.gpr[11] + static_cast(0), static_cast(ctx.gpr[7])); - ctx.gpr[7] = (ctx.gpr[6] >> 16u); + ctx.gpr[7] = (aot_gpr_6 >> 16u); ctx.gpr[7] = (ctx.gpr[7] & 65535u); ctx.gpr[10] = (ctx.gpr[7] & 255u); ctx.gpr[11] = (aot_mem.aot_direct_load_word_right(aot_gpr_5 + static_cast(0), ctx.gpr[11])); @@ -1548,9 +1549,9 @@ L_08B1C504: ctx.gpr[1] = (static_cast(static_cast(ctx.gpr[10]) >> 8u)); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(1), static_cast(ctx.gpr[1])); aot_mem.aot_direct_store8(ctx.gpr[11] + static_cast(0), static_cast(ctx.gpr[7])); - ctx.gpr[10] = (ctx.gpr[6] & 1u); + ctx.gpr[10] = (aot_gpr_6 & 1u); ctx.gpr[7] = (aot_gpr_4 | 0u); - ctx.gpr[6] = (aot_gpr_5 | 0u); + aot_gpr_6 = (aot_gpr_5 | 0u); aot_gpr_5 = (ctx.gpr[9] | 0u); aot_gpr_4 = (ctx.gpr[8] | 0u); { const bool branch_taken = ctx.gpr[10] == 0u; @@ -1563,8 +1564,8 @@ L_08B1C504: L_08B1C5EC: ctx.gpr[9] = (aot_gpr_4 + static_cast(4)); aot_gpr_4 = (ctx.gpr[7] | 0u); - aot_gpr_5 = (ctx.gpr[6] | 0u); - ctx.gpr[6] = (ctx.gpr[8] | 0u); + aot_gpr_5 = (aot_gpr_6 | 0u); + aot_gpr_6 = (ctx.gpr[8] | 0u); aot_gpr_31 = (0x08B1C604u); ctx.gpr[7] = (ctx.gpr[9] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0170_entry, 170u, 206u, 0x08AACEA0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1C604u) goto L_08B1C604; @@ -1659,9 +1660,9 @@ L_08B1C6C4: AOT_REGCACHE_SYNC_OUT(); return; L_08B1C6F8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - aot_gpr_17 = (aot_gpr_4 | 0u); + ctx.gpr[17] = (aot_gpr_4 | 0u); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_16 = (aot_gpr_5 | 0u); if (branch_taken) { @@ -1672,8 +1673,8 @@ L_08B1C6F8: L_08B1C714: aot_gpr_4 = (2235u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-31224)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(92), aot_gpr_4); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(92), aot_gpr_4); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B1C72Cu); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0170_entry, 170u, 266u, 0x08AAD844u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1C72Cu) goto L_08B1C72C; @@ -1689,14 +1690,14 @@ L_08B1C72C: } L_08B1C738: aot_gpr_31 = (0x08B1C740u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1C740u) goto L_08B1C740; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1C740u) goto L_08B1C740; AOT_REGCACHE_SYNC_OUT(); return; L_08B1C740: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -1707,7 +1708,7 @@ L_08B1C740: AOT_REGCACHE_SYNC_OUT(); return; L_08B1C754: aot_gpr_29 = (aot_gpr_29 + static_cast(-80)); - { const std::uint32_t aot_run_words[12]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_31}; + { const std::uint32_t aot_run_words[12]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(32), aot_run_words); } ctx.fpr[22] = std::bit_cast(0u); aot_gpr_5 = (15969u << 16u); @@ -1727,24 +1728,24 @@ L_08B1C754: aot_gpr_5 = (static_cast(static_cast(aot_gpr_5) >> 16u)); aot_gpr_5 = (aot_gpr_5 << 16u); aot_gpr_5 = (static_cast(static_cast(aot_gpr_5) >> 16u)); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(16)))))); - aot_gpr_5 = (ctx.gpr[6] - aot_gpr_5); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(16)))))); + aot_gpr_5 = (aot_gpr_6 - aot_gpr_5); aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(26), static_cast(aot_gpr_5)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(26)))))); aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(30), static_cast(aot_gpr_5)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(30)))))); aot_gpr_31 = (0x08B1C7F0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1C7F0u) goto L_08B1C7F0; AOT_REGCACHE_SYNC_OUT(); return; L_08B1C7F0: - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(352))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(352))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), 0u); ctx.gpr[20] = (aot_gpr_29 + static_cast(20)); - aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(268))); - aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); + ctx.fpr[20] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(268))); + aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); ctx.gpr[21] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(3248))); - ctx.gpr[22] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(224))); + ctx.gpr[22] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(224))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[22])) ? 0x00800000u : 0u); // nop if (((ctx.fcr31 & 0x00800000u) != 0u)) { @@ -1768,23 +1769,23 @@ L_08B1C81C: L_08B1C840: aot_gpr_31 = (0x08B1C848u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1C848u) goto L_08B1C848; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1C848u) goto L_08B1C848; AOT_REGCACHE_SYNC_OUT(); return; L_08B1C848: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(3260))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(3256))); ctx.gpr[7] = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08B1C85Cu); - ctx.gpr[6] = (ctx.gpr[2] | 0u); + aot_gpr_6 = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 395u, 0x08B61F5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1C85Cu) goto L_08B1C85C; AOT_REGCACHE_SYNC_OUT(); return; L_08B1C85C: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(3268))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(3264))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(3264))); aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08B1C870u); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1C870u) goto L_08B1C870; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_16, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1C870u) goto L_08B1C870; AOT_REGCACHE_SYNC_OUT(); return; L_08B1C870: aot_gpr_5 = (ctx.gpr[3] | 0u); @@ -1806,7 +1807,7 @@ L_08B1C88C: ctx.gpr[18] = (0u | 255u); goto L_08B1C890; L_08B1C890: - { const float fs = aot_fpr_20; const float ft = ctx.fpr[26]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } + { const float fs = ctx.fpr[20]; const float ft = ctx.fpr[26]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = aot_fpr_12 / ctx.fpr[24]; aot_gpr_4 = (16076u << 16u); aot_gpr_4 = (aot_gpr_4 | 52429u); @@ -1849,7 +1850,7 @@ L_08B1C8E4: aot_gpr_5 = (aot_gpr_5 + static_cast(992)); aot_gpr_4 = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x08B1C8F8u); - ctx.gpr[6] = (ctx.gpr[20] | 0u); + aot_gpr_6 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0091_entry, 91u, 626u, 0x08972E68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1C8F8u) goto L_08B1C8F8; AOT_REGCACHE_SYNC_OUT(); return; L_08B1C8F8: @@ -1865,12 +1866,12 @@ L_08B1C904: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x08B1C914u); - ctx.gpr[6] = (ctx.gpr[18] | 0u); + aot_gpr_6 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0159_entry, 159u, 201u, 0x08A823FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1C914u) goto L_08B1C914; AOT_REGCACHE_SYNC_OUT(); return; L_08B1C914: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(232))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(232))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -1882,7 +1883,7 @@ L_08B1C924: aot_gpr_5 = (2179u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(992)); aot_gpr_31 = (0x08B1C934u); - ctx.gpr[6] = (ctx.gpr[20] | 0u); + aot_gpr_6 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0091_entry, 91u, 626u, 0x08972E68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1C934u) goto L_08B1C934; AOT_REGCACHE_SYNC_OUT(); return; L_08B1C934: @@ -1897,12 +1898,12 @@ L_08B1C934: L_08B1C940: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B1C94Cu); - ctx.gpr[6] = (ctx.gpr[18] | 0u); + aot_gpr_6 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0159_entry, 159u, 201u, 0x08A823FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1C94Cu) goto L_08B1C94C; AOT_REGCACHE_SYNC_OUT(); return; L_08B1C94C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(228))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(228))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -1914,7 +1915,7 @@ L_08B1C95C: aot_gpr_5 = (2179u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(992)); aot_gpr_31 = (0x08B1C96Cu); - ctx.gpr[6] = (ctx.gpr[20] | 0u); + aot_gpr_6 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0091_entry, 91u, 626u, 0x08972E68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1C96Cu) goto L_08B1C96C; AOT_REGCACHE_SYNC_OUT(); return; L_08B1C96C: @@ -1929,13 +1930,13 @@ L_08B1C96C: L_08B1C978: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B1C984u); - ctx.gpr[6] = (ctx.gpr[19] | 0u); + aot_gpr_6 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0159_entry, 159u, 201u, 0x08A823FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1C984u) goto L_08B1C984; AOT_REGCACHE_SYNC_OUT(); return; L_08B1C984: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), 0u); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(236))); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(236))); + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_08B1C9C4; @@ -1945,9 +1946,9 @@ L_08B1C984: L_08B1C994: aot_gpr_5 = (2179u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(992)); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B1C9A8u); - ctx.gpr[6] = (ctx.gpr[20] | 0u); + aot_gpr_6 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0091_entry, 91u, 626u, 0x08972E68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1C9A8u) goto L_08B1C9A8; AOT_REGCACHE_SYNC_OUT(); return; L_08B1C9A8: @@ -1963,7 +1964,7 @@ L_08B1C9B4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08B1C9C4u); - ctx.gpr[6] = (ctx.gpr[19] | 0u); + aot_gpr_6 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0159_entry, 159u, 201u, 0x08A823FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1C9C4u) goto L_08B1C9C4; AOT_REGCACHE_SYNC_OUT(); return; L_08B1C9C4: @@ -1974,12 +1975,12 @@ L_08B1C9C4: L_08B1C9CC: { std::uint32_t aot_run_words[12]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(32), aot_run_words); - aot_fpr_20 = std::bit_cast(aot_run_words[0]); + ctx.fpr[20] = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); ctx.fpr[26] = std::bit_cast(aot_run_words[3]); aot_gpr_16 = aot_run_words[4]; - aot_gpr_17 = aot_run_words[5]; + ctx.gpr[17] = aot_run_words[5]; ctx.gpr[18] = aot_run_words[6]; ctx.gpr[19] = aot_run_words[7]; ctx.gpr[20] = aot_run_words[8]; @@ -1995,7 +1996,7 @@ L_08B1C9CC: AOT_REGCACHE_SYNC_OUT(); return; L_08B1CA04: aot_gpr_29 = (aot_gpr_29 + static_cast(-208)); - { const std::uint32_t aot_run_words[11]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_31}; + { const std::uint32_t aot_run_words[11]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(160), aot_run_words); } aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_31 = (0x08B1CA40u); @@ -2003,7 +2004,7 @@ L_08B1CA04: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0170_entry, 170u, 271u, 0x08AAD8A0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1CA40u) goto L_08B1CA40; AOT_REGCACHE_SYNC_OUT(); return; L_08B1CA40: - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(352))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(352))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(96), 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(104))); ctx.gpr[18] = (0u + static_cast(-2)); @@ -2021,27 +2022,27 @@ L_08B1CA40: aot_gpr_5 = (static_cast(static_cast(aot_gpr_5) >> 16u)); aot_gpr_5 = (aot_gpr_5 << 16u); aot_gpr_5 = (static_cast(static_cast(aot_gpr_5) >> 16u)); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(16)))))); - aot_gpr_5 = (ctx.gpr[6] - aot_gpr_5); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(16)))))); + aot_gpr_5 = (aot_gpr_6 - aot_gpr_5); aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(154), static_cast(aot_gpr_5)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(154)))))); aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(158), static_cast(aot_gpr_5)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(158)))))); aot_gpr_31 = (0x08B1CAA8u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1CAA8u) goto L_08B1CAA8; AOT_REGCACHE_SYNC_OUT(); return; L_08B1CAA8: ctx.gpr[20] = (ctx.gpr[2] | 0u); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(86)))))); aot_gpr_5 = (0u + static_cast(-972)); - ctx.gpr[6] = (49353u << 16u); - ctx.gpr[6] = (ctx.gpr[6] | 4059u); - ctx.fpr[22] = std::bit_cast(ctx.gpr[6]); - ctx.gpr[6] = (16585u << 16u); - ctx.gpr[6] = (ctx.gpr[6] | 4059u); + aot_gpr_6 = (49353u << 16u); + aot_gpr_6 = (aot_gpr_6 | 4059u); + ctx.fpr[22] = std::bit_cast(aot_gpr_6); + aot_gpr_6 = (16585u << 16u); + aot_gpr_6 = (aot_gpr_6 | 4059u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; - ctx.fpr[24] = std::bit_cast(ctx.gpr[6]); + ctx.fpr[24] = std::bit_cast(aot_gpr_6); if (branch_taken) { goto L_08B1CB9C; } @@ -2072,7 +2073,7 @@ L_08B1CADC: } L_08B1CAFC: aot_gpr_4 = (16672u << 16u); - aot_fpr_20 = std::bit_cast(aot_gpr_4); + ctx.fpr[20] = std::bit_cast(aot_gpr_4); ctx.gpr[21] = (aot_gpr_29 + static_cast(128)); aot_gpr_31 = (0x08B1CB10u); aot_gpr_4 = (ctx.gpr[21] | 0u); @@ -2086,12 +2087,12 @@ L_08B1CB10: aot_gpr_4 = (16256u << 16u); aot_fpr_14 = std::bit_cast(aot_gpr_4); aot_fpr_12 = aot_fpr_12 - aot_fpr_14; - aot_fpr_12 = aot_fpr_12 - aot_fpr_20; + aot_fpr_12 = aot_fpr_12 - ctx.fpr[20]; aot_gpr_4 = (16025u << 16u); aot_gpr_4 = (aot_gpr_4 | 39322u); aot_fpr_13 = std::bit_cast(aot_gpr_4); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - aot_fpr_20 = aot_fpr_20 + aot_fpr_12; + ctx.fpr[20] = ctx.fpr[20] + aot_fpr_12; aot_gpr_31 = (0x08B1CB4Cu); aot_gpr_4 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 16u, 0x08960154u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1CB4Cu) goto L_08B1CB4C; @@ -2102,8 +2103,8 @@ L_08B1CB4C: aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); aot_gpr_4 = (16512u << 16u); - ctx.fpr[15] = std::bit_cast(aot_gpr_4); - { const float fs = aot_fpr_14; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } + aot_fpr_15 = std::bit_cast(aot_gpr_4); + { const float fs = aot_fpr_14; const float ft = aot_fpr_15; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } aot_gpr_4 = (16768u << 16u); ctx.fpr[16] = std::bit_cast(aot_gpr_4); aot_fpr_14 = ctx.fpr[16] - aot_fpr_14; @@ -2120,7 +2121,7 @@ L_08B1CB84: aot_gpr_5 = (std::bit_cast(aot_fpr_14)); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B1CB9Cu); - aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); + aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0193_entry, 193u, 371u, 0x08B09D30u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1CB9Cu) goto L_08B1CB9C; AOT_REGCACHE_SYNC_OUT(); return; L_08B1CB9C: @@ -2187,8 +2188,8 @@ L_08B1CBF8: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(268))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(3272))); { const float fs = aot_fpr_13; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); - { const float fs = aot_fpr_13; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); + { const float fs = aot_fpr_13; const float ft = aot_fpr_15; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_fpr_12 = aot_fpr_12 - aot_fpr_13; { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(384), std::bit_cast(aot_fpr_12)); @@ -2249,8 +2250,8 @@ L_08B1CC74: aot_gpr_4 = (16384u << 16u); aot_fpr_14 = std::bit_cast(aot_gpr_4); { const float fs = aot_fpr_13; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); - { const float fs = aot_fpr_13; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); + { const float fs = aot_fpr_13; const float ft = aot_fpr_15; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_fpr_12 = aot_fpr_12 - aot_fpr_13; { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(388), std::bit_cast(aot_fpr_12)); @@ -2266,8 +2267,8 @@ L_08B1CC9C: aot_gpr_4 = (aot_gpr_4 | 13107u); aot_fpr_14 = std::bit_cast(aot_gpr_4); { const float fs = aot_fpr_13; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); - { const float fs = aot_fpr_13; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7676))); + { const float fs = aot_fpr_13; const float ft = aot_fpr_15; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_fpr_12 = aot_fpr_12 - aot_fpr_13; aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(388), std::bit_cast(aot_fpr_12)); goto L_08B1CCC4; @@ -2300,7 +2301,7 @@ L_08B1CCF0: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(388), std::bit_cast(aot_fpr_12)); goto L_08B1CCF4; L_08B1CCF4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(224))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(224))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -2309,7 +2310,7 @@ L_08B1CCF4: goto L_08B1CD00; } L_08B1CD00: - ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(224))); + ctx.gpr[20] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(224))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(96))); ctx.gpr[22] = (aot_gpr_29 + static_cast(80)); { const bool branch_taken = aot_gpr_4 == 0u; @@ -2382,7 +2383,7 @@ L_08B1CD70: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 936u, 0x0885FF14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1CD78u) goto L_08B1CD78; AOT_REGCACHE_SYNC_OUT(); return; L_08B1CD78: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(228))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(228))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -2391,7 +2392,7 @@ L_08B1CD78: goto L_08B1CD84; } L_08B1CD84: - ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(228))); + ctx.gpr[20] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(228))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(96))); ctx.gpr[22] = (aot_gpr_29 + static_cast(80)); { const bool branch_taken = aot_gpr_4 == 0u; @@ -2464,7 +2465,7 @@ L_08B1CDF4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 936u, 0x0885FF14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1CDFCu) goto L_08B1CDFC; AOT_REGCACHE_SYNC_OUT(); return; L_08B1CDFC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(232))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(232))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -2473,7 +2474,7 @@ L_08B1CDFC: goto L_08B1CE08; } L_08B1CE08: - ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(232))); + ctx.gpr[20] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(232))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(96))); ctx.gpr[22] = (aot_gpr_29 + static_cast(80)); { const bool branch_taken = aot_gpr_4 == 0u; @@ -2546,16 +2547,16 @@ L_08B1CE78: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 936u, 0x0885FF14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1CE80u) goto L_08B1CE80; AOT_REGCACHE_SYNC_OUT(); return; L_08B1CE80: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(236))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(236))); if (aot_gpr_4 == 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(104))); goto L_08B1CF08; } goto L_08B1CE8C; L_08B1CE8C: - ctx.gpr[21] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(236))); + ctx.gpr[21] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(236))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(96))); - aot_gpr_17 = (aot_gpr_29 + static_cast(80)); + ctx.gpr[17] = (aot_gpr_29 + static_cast(80)); { const bool branch_taken = aot_gpr_4 == 0u; ctx.gpr[20] = (aot_gpr_29 + static_cast(112)); if (branch_taken) { @@ -2591,7 +2592,7 @@ L_08B1CEBC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 939u, 0x0885FF48u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1CED4u) goto L_08B1CED4; AOT_REGCACHE_SYNC_OUT(); return; L_08B1CED4: - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -2654,11 +2655,11 @@ L_08B1CF20: L_08B1CF28: { std::uint32_t aot_run_words[11]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(160), aot_run_words); - aot_fpr_20 = std::bit_cast(aot_run_words[0]); + ctx.fpr[20] = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); aot_gpr_16 = aot_run_words[3]; - aot_gpr_17 = aot_run_words[4]; + ctx.gpr[17] = aot_run_words[4]; ctx.gpr[18] = aot_run_words[5]; ctx.gpr[19] = aot_run_words[6]; ctx.gpr[20] = aot_run_words[7]; @@ -2676,33 +2677,33 @@ L_08B1CF5C: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(12))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(8))); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(8))); { const float fs = aot_fpr_13; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[16] = std::bit_cast(0x7FC00000u); else ctx.fpr[16] = fs * ft; } ctx.fpr[17] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); - { const float fs = aot_fpr_14; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[18] = std::bit_cast(0x7FC00000u); else ctx.fpr[18] = fs * ft; } + { const float fs = aot_fpr_14; const float ft = aot_fpr_15; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[18] = std::bit_cast(0x7FC00000u); else ctx.fpr[18] = fs * ft; } ctx.fpr[19] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); { const float fs = aot_fpr_13; const float ft = ctx.fpr[17]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[2] = std::bit_cast(0x7FC00000u); else ctx.fpr[2] = fs * ft; } ctx.fpr[0] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); - { const float fs = ctx.fpr[19]; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[1] = std::bit_cast(0x7FC00000u); else ctx.fpr[1] = fs * ft; } + { const float fs = ctx.fpr[19]; const float ft = aot_fpr_15; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[1] = std::bit_cast(0x7FC00000u); else ctx.fpr[1] = fs * ft; } { const float fs = ctx.fpr[19]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[4] = std::bit_cast(0x7FC00000u); else ctx.fpr[4] = fs * ft; } ctx.fpr[16] = ctx.fpr[16] + ctx.fpr[18]; { const float fs = aot_fpr_14; const float ft = ctx.fpr[17]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[5] = std::bit_cast(0x7FC00000u); else ctx.fpr[5] = fs * ft; } ctx.fpr[2] = ctx.fpr[2] - ctx.fpr[1]; { const float fs = ctx.fpr[0]; const float ft = ctx.fpr[17]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[3] = std::bit_cast(0x7FC00000u); else ctx.fpr[3] = fs * ft; } - { const float fs = aot_fpr_13; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[18] = std::bit_cast(0x7FC00000u); else ctx.fpr[18] = fs * ft; } + { const float fs = aot_fpr_13; const float ft = aot_fpr_15; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[18] = std::bit_cast(0x7FC00000u); else ctx.fpr[18] = fs * ft; } ctx.fpr[4] = std::bit_cast(std::bit_cast(ctx.fpr[4]) ^ 0x80000000u); ctx.fpr[1] = ctx.fpr[4] - ctx.fpr[5]; { const float fs = ctx.fpr[19]; const float ft = ctx.fpr[17]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[17] = std::bit_cast(0x7FC00000u); else ctx.fpr[17] = fs * ft; } - { const float fs = ctx.fpr[0]; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[15] = std::bit_cast(0x7FC00000u); else ctx.fpr[15] = fs * ft; } + { const float fs = ctx.fpr[0]; const float ft = aot_fpr_15; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_15 = std::bit_cast(0x7FC00000u); else aot_fpr_15 = fs * ft; } ctx.fpr[16] = ctx.fpr[16] - ctx.fpr[3]; { const float fs = ctx.fpr[0]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[6] = std::bit_cast(0x7FC00000u); else ctx.fpr[6] = fs * ft; } ctx.fpr[17] = ctx.fpr[18] + ctx.fpr[17]; - ctx.fpr[15] = ctx.fpr[1] - ctx.fpr[15]; + aot_fpr_15 = ctx.fpr[1] - aot_fpr_15; ctx.fpr[19] = std::bit_cast(std::bit_cast(ctx.fpr[19]) ^ 0x80000000u); ctx.fpr[2] = ctx.fpr[2] + ctx.fpr[6]; { const float fs = aot_fpr_14; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } { const float fs = ctx.fpr[16]; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } - { const float fs = ctx.fpr[19]; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[3] = std::bit_cast(0x7FC00000u); else ctx.fpr[3] = fs * ft; } + { const float fs = ctx.fpr[19]; const float ft = aot_fpr_15; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[3] = std::bit_cast(0x7FC00000u); else ctx.fpr[3] = fs * ft; } ctx.fpr[18] = std::bit_cast(std::bit_cast(ctx.fpr[0]) ^ 0x80000000u); aot_fpr_12 = ctx.fpr[17] - aot_fpr_12; { const float fs = ctx.fpr[2]; const float ft = ctx.fpr[18]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[4] = std::bit_cast(0x7FC00000u); else ctx.fpr[4] = fs * ft; } @@ -2710,21 +2711,21 @@ L_08B1CF5C: aot_fpr_14 = std::bit_cast(std::bit_cast(aot_fpr_14) ^ 0x80000000u); { const float fs = aot_fpr_14; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[17] = std::bit_cast(0x7FC00000u); else ctx.fpr[17] = fs * ft; } aot_fpr_13 = aot_fpr_13 + ctx.fpr[4]; - { const float fs = aot_fpr_14; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[1] = std::bit_cast(0x7FC00000u); else ctx.fpr[1] = fs * ft; } + { const float fs = aot_fpr_14; const float ft = aot_fpr_15; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[1] = std::bit_cast(0x7FC00000u); else ctx.fpr[1] = fs * ft; } { const float fs = ctx.fpr[16]; const float ft = ctx.fpr[18]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[0] = std::bit_cast(0x7FC00000u); else ctx.fpr[0] = fs * ft; } aot_fpr_13 = aot_fpr_13 - ctx.fpr[17]; { const float fs = ctx.fpr[19]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[3] = std::bit_cast(0x7FC00000u); else ctx.fpr[3] = fs * ft; } ctx.fpr[0] = ctx.fpr[1] - ctx.fpr[0]; aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), std::bit_cast(aot_fpr_13)); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(12))); - { const float fs = ctx.fpr[18]; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[15] = std::bit_cast(0x7FC00000u); else ctx.fpr[15] = fs * ft; } + { const float fs = ctx.fpr[18]; const float ft = aot_fpr_15; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_15 = std::bit_cast(0x7FC00000u); else aot_fpr_15 = fs * ft; } { const float fs = ctx.fpr[2]; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } { const float fs = ctx.fpr[16]; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } { const float fs = ctx.fpr[19]; const float ft = ctx.fpr[2]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[17] = std::bit_cast(0x7FC00000u); else ctx.fpr[17] = fs * ft; } aot_fpr_13 = ctx.fpr[0] + aot_fpr_13; - aot_fpr_14 = ctx.fpr[15] + aot_fpr_14; - ctx.gpr[6] = (16256u << 16u); - ctx.fpr[16] = std::bit_cast(ctx.gpr[6]); + aot_fpr_14 = aot_fpr_15 + aot_fpr_14; + aot_gpr_6 = (16256u << 16u); + ctx.fpr[16] = std::bit_cast(aot_gpr_6); aot_fpr_13 = aot_fpr_13 + ctx.fpr[3]; aot_fpr_14 = aot_fpr_14 - ctx.fpr[17]; aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(4), std::bit_cast(aot_fpr_13)); @@ -2739,8 +2740,8 @@ L_08B1CF5C: ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08B1D050: - ctx.gpr[6] = (std::bit_cast(aot_fpr_12)); - ctx.set_vfpu_scalar_bits_ct<0u>(ctx.gpr[6]); + aot_gpr_6 = (std::bit_cast(aot_fpr_12)); + ctx.set_vfpu_scalar_bits_ct<0u>(aot_gpr_6); { const float vfpu_constant = std::bit_cast(0x3EA2F983u); const float vfpu_value[4]{vfpu_constant, vfpu_constant, vfpu_constant, vfpu_constant}; ctx.write_vfpu_vector_with_destination_prefix_ct<32u, 1u>(vfpu_value); } @@ -2827,10 +2828,10 @@ L_08B1D0D8: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), ctx.gpr[18]); ctx.gpr[18] = (2236u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), ctx.gpr[17]); aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_17 = (ctx.gpr[18] + static_cast(29704)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), std::bit_cast(aot_fpr_20)); + ctx.gpr[17] = (ctx.gpr[18] + static_cast(29704)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), std::bit_cast(ctx.fpr[20])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), std::bit_cast(ctx.fpr[22])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), ctx.gpr[19]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(60), aot_gpr_31); @@ -2840,27 +2841,27 @@ L_08B1D0D8: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), aot_gpr_4); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08B1D120u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 367u, 0x088623D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1D120u) goto L_08B1D120; AOT_REGCACHE_SYNC_OUT(); return; L_08B1D120: aot_gpr_16 = (ctx.gpr[2] | 0u); aot_gpr_5 = (ctx.gpr[19] + static_cast(16)); aot_gpr_4 = (ctx.gpr[19] | 0u); - ctx.gpr[6] = (0u | 9u); + aot_gpr_6 = (0u | 9u); aot_gpr_31 = (0x08B1D138u); - ctx.gpr[7] = (aot_gpr_17 | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1D138u) goto L_08B1D138; AOT_REGCACHE_SYNC_OUT(); return; L_08B1D138: ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(29704))); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); aot_gpr_4 = (49864u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(aot_fpr_13)) && aot_fpr_12 == aot_fpr_13)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); - aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + ctx.fpr[20] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); if (branch_taken) { goto L_08B1D170; } @@ -2872,14 +2873,14 @@ L_08B1D158: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); // nop if (!((ctx.fcr31 & 0x00800000u) != 0u)) { - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(24))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(24))); goto L_08B1D190; } goto L_08B1D170; L_08B1D170: aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[22])); aot_gpr_31 = (0x08B1D17Cu); - aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); + aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[20])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 514u, 0x088933E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1D17Cu) goto L_08B1D17C; AOT_REGCACHE_SYNC_OUT(); return; L_08B1D17C: @@ -2887,19 +2888,19 @@ L_08B1D17C: aot_gpr_4 = (aot_gpr_4 | 52429u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_12 = ctx.fpr[0] + aot_fpr_12; - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(24))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(24))); goto L_08B1D190; L_08B1D190: - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(28))); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(32))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(28))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(32))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), std::bit_cast(ctx.fpr[22])); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), std::bit_cast(aot_fpr_20)); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(12))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), std::bit_cast(ctx.fpr[20])); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(12))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), std::bit_cast(aot_fpr_12)); aot_fpr_14 = std::bit_cast(0u); - ctx.gpr[10] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(16))); + ctx.gpr[10] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(16))); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_13) ^ 0x80000000u); - ctx.gpr[11] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(20))); + ctx.gpr[11] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(20))); ctx.gpr[2] = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[2]); ctx.gpr[2] = (17174u << 16u); @@ -2908,8 +2909,8 @@ L_08B1D190: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), 0u); ctx.gpr[2] = (16320u << 16u); aot_gpr_5 = (aot_gpr_5 & 255u); - ctx.fpr[15] = std::bit_cast(ctx.gpr[2]); - ctx.gpr[6] = (ctx.gpr[6] & 255u); + aot_fpr_15 = std::bit_cast(ctx.gpr[2]); + aot_gpr_6 = (aot_gpr_6 & 255u); ctx.gpr[7] = (ctx.gpr[7] & 255u); ctx.gpr[9] = (aot_gpr_29 + static_cast(16)); ctx.gpr[10] = (ctx.gpr[10] & 255u); @@ -2924,10 +2925,10 @@ L_08B1D200: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[7]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(36), aot_run_words); - aot_fpr_20 = std::bit_cast(aot_run_words[0]); + ctx.fpr[20] = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); aot_gpr_16 = aot_run_words[2]; - aot_gpr_17 = aot_run_words[3]; + ctx.gpr[17] = aot_run_words[3]; ctx.gpr[18] = aot_run_words[4]; ctx.gpr[19] = aot_run_words[5]; aot_gpr_31 = aot_run_words[6]; @@ -2944,26 +2945,26 @@ L_08B1D228: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), ctx.gpr[18]); ctx.gpr[18] = (2236u << 16u); aot_gpr_16 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(60), aot_gpr_17); - aot_gpr_17 = (ctx.gpr[18] + static_cast(29704)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(60), ctx.gpr[17]); + ctx.gpr[17] = (ctx.gpr[18] + static_cast(29704)); aot_gpr_5 = (aot_gpr_16 + static_cast(16)); - ctx.gpr[6] = (0u | 4u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), std::bit_cast(aot_fpr_20)); + aot_gpr_6 = (0u | 4u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), std::bit_cast(ctx.fpr[20])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), std::bit_cast(ctx.fpr[22])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), aot_gpr_31); aot_gpr_31 = (0x08B1D260u); - ctx.gpr[7] = (aot_gpr_17 | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1D260u) goto L_08B1D260; AOT_REGCACHE_SYNC_OUT(); return; L_08B1D260: ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(29704))); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); aot_gpr_4 = (49864u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(aot_fpr_13)) && aot_fpr_12 == aot_fpr_13)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); - aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + ctx.fpr[20] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); if (branch_taken) { goto L_08B1D298; } @@ -2984,14 +2985,14 @@ L_08B1D280: L_08B1D298: aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[22])); aot_gpr_31 = (0x08B1D2A4u); - aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); + aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[20])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 514u, 0x088933E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1D2A4u) goto L_08B1D2A4; AOT_REGCACHE_SYNC_OUT(); return; L_08B1D2A4: aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[0])); goto L_08B1D2A8; L_08B1D2A8: - { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[22]), std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_12)}; + { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[20]), std::bit_cast(aot_fpr_12)}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(16), aot_run_words); } aot_gpr_4 = (aot_gpr_29 + static_cast(16)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); @@ -3003,12 +3004,12 @@ L_08B1D2A8: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - ctx.gpr[6] = (aot_gpr_29 + static_cast(32)); + aot_gpr_6 = (aot_gpr_29 + static_cast(32)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(12))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(12))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(3304))); @@ -3028,10 +3029,10 @@ L_08B1D2FC: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(48), aot_run_words); - aot_fpr_20 = std::bit_cast(aot_run_words[0]); + ctx.fpr[20] = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); aot_gpr_16 = aot_run_words[2]; - aot_gpr_17 = aot_run_words[3]; + ctx.gpr[17] = aot_run_words[3]; ctx.gpr[18] = aot_run_words[4]; aot_gpr_31 = aot_run_words[5]; } @@ -3052,10 +3053,10 @@ L_08B1D320: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), ctx.gpr[18]); ctx.gpr[18] = (ctx.gpr[19] + static_cast(29704)); aot_gpr_5 = (ctx.gpr[20] | 0u); - ctx.gpr[6] = (0u | 4u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), std::bit_cast(aot_fpr_20)); + aot_gpr_6 = (0u | 4u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), std::bit_cast(ctx.fpr[20])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), std::bit_cast(ctx.fpr[22])); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(60), aot_gpr_31); aot_gpr_31 = (0x08B1D364u); ctx.gpr[7] = (ctx.gpr[18] | 0u); @@ -3063,14 +3064,14 @@ L_08B1D320: AOT_REGCACHE_SYNC_OUT(); return; L_08B1D364: ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(29704))); - aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); + ctx.fpr[20] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); aot_gpr_4 = (49864u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(aot_fpr_13)) && aot_fpr_12 == aot_fpr_13)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); - aot_gpr_17 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[17] = (aot_gpr_29 + static_cast(16)); if (branch_taken) { goto L_08B1D3A0; } @@ -3091,14 +3092,14 @@ L_08B1D388: L_08B1D3A0: aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[22])); aot_gpr_31 = (0x08B1D3ACu); - aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); + aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[20])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 514u, 0x088933E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1D3ACu) goto L_08B1D3AC; AOT_REGCACHE_SYNC_OUT(); return; L_08B1D3AC: aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[0])); goto L_08B1D3B0; L_08B1D3B0: - { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[22]), std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_12)}; + { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[20]), std::bit_cast(aot_fpr_12)}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } { const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); std::uint32_t vfpu_words[4]{}; @@ -3110,10 +3111,10 @@ L_08B1D3B0: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(12))); + ctx.fpr[20] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(12))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); aot_gpr_31 = (0x08B1D3D4u); aot_gpr_4 = (aot_gpr_16 | 0u); @@ -3137,7 +3138,7 @@ L_08B1D3E0: L_08B1D3EC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -3151,8 +3152,8 @@ L_08B1D3EC: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_5 = (aot_gpr_29 | 0u); - aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); - ctx.gpr[6] = (0u | 6u); + aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); + aot_gpr_6 = (0u | 6u); aot_gpr_31 = (0x08B1D410u); ctx.gpr[7] = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 68u, 0x08864760u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1D410u) goto L_08B1D410; @@ -3162,17 +3163,17 @@ L_08B1D410: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08B1D424u); - ctx.gpr[6] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1D424u) goto L_08B1D424; + aot_gpr_6 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1D424u) goto L_08B1D424; AOT_REGCACHE_SYNC_OUT(); return; L_08B1D424: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[8]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(32), aot_run_words); - aot_fpr_20 = std::bit_cast(aot_run_words[0]); + ctx.fpr[20] = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); aot_gpr_16 = aot_run_words[2]; - aot_gpr_17 = aot_run_words[3]; + ctx.gpr[17] = aot_run_words[3]; ctx.gpr[18] = aot_run_words[4]; ctx.gpr[19] = aot_run_words[5]; ctx.gpr[20] = aot_run_words[6]; @@ -3188,17 +3189,17 @@ L_08B1D450: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (2236u << 16u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (2236u << 16u); aot_gpr_5 = (aot_gpr_16 + static_cast(16)); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08B1D478u); - ctx.gpr[7] = (aot_gpr_17 + static_cast(29704)); + ctx.gpr[7] = (ctx.gpr[17] + static_cast(29704)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1D478u) goto L_08B1D478; AOT_REGCACHE_SYNC_OUT(); return; L_08B1D478: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29704))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29704))); aot_gpr_31 = (0x08B1D484u); aot_gpr_5 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 74u, 0x088647D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1D484u) goto L_08B1D484; @@ -3208,7 +3209,7 @@ L_08B1D484: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -3222,7 +3223,7 @@ L_08B1D49C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (2236u << 16u); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x08B1D4BCu); ctx.gpr[7] = (aot_gpr_16 + static_cast(29704)); @@ -3265,7 +3266,7 @@ L_08B1D4F8: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (2236u << 16u); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x08B1D518u); ctx.gpr[7] = (aot_gpr_16 + static_cast(29704)); @@ -3307,7 +3308,7 @@ L_08B1D548: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (2236u << 16u); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x08B1D568u); ctx.gpr[7] = (aot_gpr_16 + static_cast(29704)); @@ -3423,19 +3424,19 @@ L_08B1D604: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (2236u << 16u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_16 + static_cast(29704)); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 3u); + aot_gpr_6 = (0u | 3u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08B1D62Cu); - ctx.gpr[7] = (aot_gpr_17 | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1D62Cu) goto L_08B1D62C; AOT_REGCACHE_SYNC_OUT(); return; L_08B1D62C: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); aot_gpr_31 = (0x08B1D640u); aot_gpr_4 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0030_entry, 30u, 236u, 0x0887CCD4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1D640u) goto L_08B1D640; @@ -3445,7 +3446,7 @@ L_08B1D640: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -3474,18 +3475,18 @@ L_08B1D678: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); ctx.gpr[7] = (2236u << 16u); aot_gpr_5 = (aot_gpr_16 + static_cast(16)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (0u | 9u); + aot_gpr_6 = (0u | 9u); aot_gpr_31 = (0x08B1D6A4u); ctx.gpr[7] = (ctx.gpr[7] + static_cast(29704)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1D6A4u) goto L_08B1D6A4; AOT_REGCACHE_SYNC_OUT(); return; L_08B1D6A4: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_31 = (0x08B1D6B0u); aot_gpr_4 = (0u | 36u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1D6B0u) goto L_08B1D6B0; @@ -3493,7 +3494,7 @@ L_08B1D6A4: L_08B1D6B0: aot_gpr_4 = (ctx.gpr[2] | 0u); if (aot_gpr_4 != 0u) { - aot_gpr_17 = (aot_gpr_4 | 0u); + ctx.gpr[17] = (aot_gpr_4 | 0u); goto L_08B1D6BC; } goto L_08B1D6BC; @@ -3501,22 +3502,22 @@ L_08B1D6BC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8032))); aot_gpr_5 = (aot_gpr_4 + static_cast(1)); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8032), aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(4), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(4), aot_gpr_4); aot_gpr_4 = (2236u << 16u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(29704))); aot_gpr_4 = (aot_gpr_4 + static_cast(29704)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(8), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(8), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(12), std::bit_cast(aot_fpr_12)); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(12), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); aot_gpr_4 = (49864u << 16u); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(12))); - ctx.fpr[15] = std::bit_cast(aot_gpr_4); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(ctx.fpr[15])) && aot_fpr_12 == ctx.fpr[15])) ? 0x00800000u : 0u); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(12))); + aot_fpr_15 = std::bit_cast(aot_gpr_4); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(aot_fpr_15)) && aot_fpr_12 == aot_fpr_15)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(16), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(16), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_08B1D720; } @@ -3524,8 +3525,8 @@ L_08B1D6BC: } L_08B1D708: aot_gpr_4 = (50042u << 16u); - ctx.fpr[15] = std::bit_cast(aot_gpr_4); - ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[15])) ? 0x00800000u : 0u); + aot_fpr_15 = std::bit_cast(aot_gpr_4); + ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_15)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); aot_gpr_4 = (2236u << 16u); @@ -3544,30 +3545,30 @@ L_08B1D728: aot_gpr_4 = (2236u << 16u); goto L_08B1D730; L_08B1D730: - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(16), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(16), std::bit_cast(aot_fpr_12)); aot_gpr_5 = (aot_gpr_4 + static_cast(29704)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(12))); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(20), std::bit_cast(aot_fpr_12)); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(24))); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(32), static_cast(ctx.gpr[6])); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(28))); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(33), static_cast(ctx.gpr[6])); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(32))); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(34), static_cast(ctx.gpr[6])); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(16))); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(24), ctx.gpr[6]); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(20), std::bit_cast(aot_fpr_12)); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(24))); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(32), static_cast(aot_gpr_6)); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(28))); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(33), static_cast(aot_gpr_6)); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(32))); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(34), static_cast(aot_gpr_6)); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(16))); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(24), aot_gpr_6); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(20))); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(28), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(28), aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8036))); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), aot_gpr_5); - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8036), aot_gpr_17); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8036), ctx.gpr[17]); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); aot_gpr_5 = (aot_gpr_16 + static_cast(16)); - aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(29704), ctx.gpr[6]); + aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(29704), aot_gpr_6); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B1D78Cu); - ctx.gpr[6] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1D78Cu) goto L_08B1D78C; + aot_gpr_6 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1D78Cu) goto L_08B1D78C; AOT_REGCACHE_SYNC_OUT(); return; L_08B1D78C: { const bool branch_taken = 0u == 0u; @@ -3581,7 +3582,7 @@ L_08B1D794: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -3598,7 +3599,7 @@ L_08B1D7A8: aot_gpr_5 = (aot_gpr_4 + static_cast(16)); ctx.gpr[7] = (aot_gpr_16 + static_cast(29704)); aot_gpr_31 = (0x08B1D7C8u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1D7C8u) goto L_08B1D7C8; AOT_REGCACHE_SYNC_OUT(); return; L_08B1D7C8: @@ -3628,8 +3629,8 @@ L_08B1D808: goto L_08B1D80C; L_08B1D80C: aot_gpr_16 = (aot_gpr_4 | 0u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); - if (ctx.gpr[6] != aot_gpr_5) { + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + if (aot_gpr_6 != aot_gpr_5) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); goto L_08B1D840; } @@ -3651,7 +3652,7 @@ L_08B1D828: L_08B1D830: aot_gpr_31 = (0x08B1D838u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1D838u) goto L_08B1D838; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1D838u) goto L_08B1D838; AOT_REGCACHE_SYNC_OUT(); return; L_08B1D838: { const bool branch_taken = 0u == 0u; @@ -3663,17 +3664,17 @@ L_08B1D838: } L_08B1D840: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), 0u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[6]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_6); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - ctx.gpr[6] = (aot_gpr_4 ^ ctx.gpr[6]); - ctx.gpr[6] = (ctx.gpr[6] < static_cast(1) ? 1u : 0u); - ctx.gpr[6] = (ctx.gpr[6] & 255u); - ctx.gpr[6] = (ctx.gpr[6] < static_cast(1) ? 1u : 0u); - ctx.gpr[6] = (ctx.gpr[6] & 255u); - { const bool branch_taken = ctx.gpr[6] != 0u; + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_6 = (aot_gpr_4 ^ aot_gpr_6); + aot_gpr_6 = (aot_gpr_6 < static_cast(1) ? 1u : 0u); + aot_gpr_6 = (aot_gpr_6 & 255u); + aot_gpr_6 = (aot_gpr_6 < static_cast(1) ? 1u : 0u); + aot_gpr_6 = (aot_gpr_6 & 255u); + { const bool branch_taken = aot_gpr_6 != 0u; // nop if (branch_taken) { goto L_08B1D80C; @@ -3695,7 +3696,7 @@ L_08B1D888: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (2236u << 16u); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x08B1D8A8u); ctx.gpr[7] = (aot_gpr_16 + static_cast(29704)); @@ -3737,30 +3738,30 @@ L_08B1D8E4: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_16); aot_gpr_16 = (2236u << 16u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_17); - aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_16 + static_cast(29704)); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 4u); + aot_gpr_6 = (0u | 4u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); aot_gpr_31 = (0x08B1D90Cu); - ctx.gpr[7] = (aot_gpr_17 | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1D90Cu) goto L_08B1D90C; AOT_REGCACHE_SYNC_OUT(); return; L_08B1D90C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); { std::uint32_t aot_run_words[3]{}; - aot_mem.aot_direct_load32_block(aot_gpr_17 + static_cast(4), aot_run_words); - ctx.gpr[6] = aot_run_words[0]; + aot_mem.aot_direct_load32_block(ctx.gpr[17] + static_cast(4), aot_run_words); + aot_gpr_6 = aot_run_words[0]; ctx.gpr[7] = aot_run_words[1]; ctx.gpr[8] = aot_run_words[2]; } aot_gpr_5 = (aot_gpr_5 & 255u); - ctx.gpr[6] = (ctx.gpr[6] & 255u); + aot_gpr_6 = (aot_gpr_6 & 255u); ctx.gpr[7] = (ctx.gpr[7] & 255u); ctx.gpr[8] = (ctx.gpr[8] & 255u); aot_gpr_31 = (0x08B1D934u); aot_gpr_4 = (aot_gpr_29 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1D934u) goto L_08B1D934; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1D934u) goto L_08B1D934; AOT_REGCACHE_SYNC_OUT(); return; L_08B1D934: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(0))); @@ -3775,7 +3776,7 @@ L_08B1D934: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(4), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -3788,30 +3789,30 @@ L_08B1D96C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_16); aot_gpr_16 = (2236u << 16u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_17); - aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_16 + static_cast(29704)); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 4u); + aot_gpr_6 = (0u | 4u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); aot_gpr_31 = (0x08B1D994u); - ctx.gpr[7] = (aot_gpr_17 | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1D994u) goto L_08B1D994; AOT_REGCACHE_SYNC_OUT(); return; L_08B1D994: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); { std::uint32_t aot_run_words[3]{}; - aot_mem.aot_direct_load32_block(aot_gpr_17 + static_cast(4), aot_run_words); - ctx.gpr[6] = aot_run_words[0]; + aot_mem.aot_direct_load32_block(ctx.gpr[17] + static_cast(4), aot_run_words); + aot_gpr_6 = aot_run_words[0]; ctx.gpr[7] = aot_run_words[1]; ctx.gpr[8] = aot_run_words[2]; } aot_gpr_5 = (aot_gpr_5 & 255u); - ctx.gpr[6] = (ctx.gpr[6] & 255u); + aot_gpr_6 = (aot_gpr_6 & 255u); ctx.gpr[7] = (ctx.gpr[7] & 255u); ctx.gpr[8] = (ctx.gpr[8] & 255u); aot_gpr_31 = (0x08B1D9BCu); aot_gpr_4 = (aot_gpr_29 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1D9BCu) goto L_08B1D9BC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1D9BCu) goto L_08B1D9BC; AOT_REGCACHE_SYNC_OUT(); return; L_08B1D9BC: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(0))); @@ -3826,7 +3827,7 @@ L_08B1D9BC: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(4), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -3839,15 +3840,15 @@ L_08B1D9F4: aot_gpr_29 = (aot_gpr_29 + static_cast(-80)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), ctx.gpr[19]); ctx.gpr[19] = (2236u << 16u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), std::bit_cast(aot_fpr_20)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, ctx.gpr[18]}; + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), std::bit_cast(ctx.fpr[20])); + { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(44), aot_run_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(60), ctx.gpr[20]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), ctx.gpr[21]); - aot_fpr_20 = std::bit_cast(0u); + ctx.fpr[20] = std::bit_cast(0u); ctx.gpr[21] = (0u | 1u); ctx.gpr[20] = (ctx.gpr[28] + static_cast(7568)); - aot_gpr_17 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[17] = (aot_gpr_29 + static_cast(16)); aot_gpr_16 = (aot_gpr_4 | 0u); ctx.gpr[18] = (ctx.gpr[19] + static_cast(29704)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), std::bit_cast(ctx.fpr[22])); @@ -3858,7 +3859,7 @@ L_08B1D9F4: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), aot_gpr_4); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B1DA54u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 367u, 0x088623D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1DA54u) goto L_08B1DA54; AOT_REGCACHE_SYNC_OUT(); return; L_08B1DA54: @@ -3872,13 +3873,13 @@ L_08B1DA54: } L_08B1DA60: aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7552), ctx.gpr[21]); - { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_20)}; + { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[20])}; aot_mem.aot_direct_store32_block(ctx.gpr[28] + static_cast(7568), aot_run_words); } goto L_08B1DA70; L_08B1DA70: aot_gpr_5 = (aot_gpr_16 + static_cast(16)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (0u | 7u); + aot_gpr_6 = (0u | 7u); aot_gpr_31 = (0x08B1DA84u); ctx.gpr[7] = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1DA84u) goto L_08B1DA84; @@ -3927,7 +3928,7 @@ L_08B1DADC: ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(12))); aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08B1DAF0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 461u, 0x08A93198u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1DAF0u) goto L_08B1DAF0; AOT_REGCACHE_SYNC_OUT(); return; L_08B1DAF0: @@ -3941,7 +3942,7 @@ L_08B1DAF0: L_08B1DAF8: aot_gpr_5 = (ctx.gpr[22] + static_cast(-1)); aot_gpr_4 = (ctx.gpr[22] | 0u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_gpr_31 = (0x08B1DB0Cu); ctx.gpr[7] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0041_entry, 41u, 575u, 0x088ABB58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1DB0Cu) goto L_08B1DB0C; @@ -3962,10 +3963,10 @@ L_08B1DB0C: ctx.gpr[2] = (0u | 1u); aot_gpr_4 = (ctx.gpr[22] | 0u); aot_gpr_5 = (0u | 6u); - ctx.gpr[6] = (aot_gpr_17 | 0u); + aot_gpr_6 = (ctx.gpr[17] | 0u); ctx.gpr[10] = (0u | 255u); ctx.gpr[11] = (0u | 128u); - aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); + aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[20])); { const std::uint32_t aot_run_words[3]{ctx.gpr[21], 0u, ctx.gpr[2]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_31 = (0x08B1DB6Cu); @@ -3973,7 +3974,7 @@ L_08B1DB0C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0042_entry, 42u, 276u, 0x088AEFC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1DB6Cu) goto L_08B1DB6C; AOT_REGCACHE_SYNC_OUT(); return; L_08B1DB6C: - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -3989,10 +3990,10 @@ L_08B1DB6C: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[10]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(36), aot_run_words); - aot_fpr_20 = std::bit_cast(aot_run_words[0]); + ctx.fpr[20] = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); aot_gpr_16 = aot_run_words[2]; - aot_gpr_17 = aot_run_words[3]; + ctx.gpr[17] = aot_run_words[3]; ctx.gpr[18] = aot_run_words[4]; ctx.gpr[19] = aot_run_words[5]; ctx.gpr[20] = aot_run_words[6]; @@ -4010,23 +4011,23 @@ L_08B1DBA8: aot_gpr_29 = (aot_gpr_29 + static_cast(-80)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); - { const std::uint32_t aot_run_words[4]{aot_gpr_17, ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(56), aot_run_words); } aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); aot_gpr_5 = (aot_gpr_29 + static_cast(48)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), aot_gpr_4); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B1DBDCu); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 367u, 0x088623D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1DBDCu) goto L_08B1DBDC; AOT_REGCACHE_SYNC_OUT(); return; L_08B1DBDC: ctx.gpr[18] = (2236u << 16u); ctx.gpr[19] = (ctx.gpr[18] + static_cast(29704)); - aot_gpr_17 = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (ctx.gpr[2] | 0u); aot_gpr_5 = (aot_gpr_16 + static_cast(16)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (0u | 10u); + aot_gpr_6 = (0u | 10u); aot_gpr_31 = (0x08B1DBFCu); ctx.gpr[7] = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1DBFCu) goto L_08B1DBFC; @@ -4039,9 +4040,9 @@ L_08B1DBFC: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(36))); aot_gpr_4 = (16608u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), std::bit_cast(aot_fpr_14)); - ctx.fpr[15] = std::bit_cast(aot_gpr_4); + aot_fpr_15 = std::bit_cast(aot_gpr_4); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(12))); - aot_fpr_12 = aot_fpr_12 + ctx.fpr[15]; + aot_fpr_12 = aot_fpr_12 + aot_fpr_15; ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(16))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), std::bit_cast(aot_fpr_14)); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(20))); @@ -4062,12 +4063,12 @@ L_08B1DBFC: aot_fpr_12 = std::bit_cast(ctx.gpr[2]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), 0u); ctx.gpr[2] = (16256u << 16u); - ctx.gpr[6] = (aot_gpr_29 + static_cast(32)); + aot_gpr_6 = (aot_gpr_29 + static_cast(32)); aot_fpr_13 = std::bit_cast(ctx.gpr[2]); ctx.gpr[7] = (ctx.gpr[7] & 255u); ctx.gpr[8] = (ctx.gpr[8] & 255u); ctx.gpr[9] = (ctx.gpr[9] & 255u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (0u | 3u); ctx.gpr[10] = (0u | 200u); ctx.gpr[11] = (0u | 1u); @@ -4080,7 +4081,7 @@ L_08B1DCA0: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(52), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; @@ -4110,11 +4111,11 @@ L_08B1DCD0: L_08B1DCE0: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_gpr_16 = (2236u << 16u); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - aot_gpr_17 = (0u | 1u); - ctx.gpr[6] = (0u | 1u); + ctx.gpr[17] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08B1DD08u); ctx.gpr[7] = (aot_gpr_16 + static_cast(29704)); @@ -4140,7 +4141,7 @@ L_08B1DD1C: goto L_08B1DD24; } L_08B1DD24: - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7688), aot_gpr_17); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7688), ctx.gpr[17]); aot_gpr_31 = (0x08B1DD30u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0010_entry, 10u, 286u, 0x0882D794u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1DD30u) goto L_08B1DD30; @@ -4148,7 +4149,7 @@ L_08B1DD24: L_08B1DD30: aot_gpr_31 = (0x08B1DD38u); aot_gpr_4 = (ctx.gpr[28] + static_cast(3308)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1DD38u) goto L_08B1DD38; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1DD38u) goto L_08B1DD38; AOT_REGCACHE_SYNC_OUT(); return; L_08B1DD38: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -4175,7 +4176,7 @@ L_08B1DD4C: goto L_08B1DD54; } L_08B1DD54: - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7688), aot_gpr_17); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7688), ctx.gpr[17]); aot_gpr_31 = (0x08B1DD60u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0010_entry, 10u, 286u, 0x0882D794u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1DD60u) goto L_08B1DD60; @@ -4183,7 +4184,7 @@ L_08B1DD54: L_08B1DD60: aot_gpr_31 = (0x08B1DD68u); aot_gpr_4 = (ctx.gpr[28] + static_cast(3308)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1DD68u) goto L_08B1DD68; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1DD68u) goto L_08B1DD68; AOT_REGCACHE_SYNC_OUT(); return; L_08B1DD68: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -4198,7 +4199,7 @@ L_08B1DD74: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -4209,12 +4210,12 @@ L_08B1DD74: AOT_REGCACHE_SYNC_OUT(); return; L_08B1DD8C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (2236u << 16u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (2236u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_17 + static_cast(29704)); + aot_gpr_16 = (ctx.gpr[17] + static_cast(29704)); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 3u); + aot_gpr_6 = (0u | 3u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08B1DDB4u); ctx.gpr[7] = (aot_gpr_16 | 0u); @@ -4262,7 +4263,7 @@ L_08B1DDDC: L_08B1DDE8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5848))); if (aot_gpr_4 != 0u) { - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29704))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29704))); goto L_08B1DE04; } goto L_08B1DDF4; @@ -4273,7 +4274,7 @@ L_08B1DDF4: AOT_REGCACHE_SYNC_OUT(); return; L_08B1DDFC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5848))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29704))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29704))); goto L_08B1DE04; L_08B1DE04: aot_gpr_31 = (0x08B1DE0Cu); @@ -4349,7 +4350,7 @@ L_08B1DE74: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -4369,10 +4370,10 @@ L_08B1DE8C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), ctx.gpr[18]); ctx.gpr[18] = (ctx.gpr[19] + static_cast(29704)); aot_gpr_5 = (ctx.gpr[20] | 0u); - ctx.gpr[6] = (0u | 4u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), std::bit_cast(aot_fpr_20)); + aot_gpr_6 = (0u | 4u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), std::bit_cast(ctx.fpr[20])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), std::bit_cast(ctx.fpr[22])); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(60), aot_gpr_31); aot_gpr_31 = (0x08B1DED0u); ctx.gpr[7] = (ctx.gpr[18] | 0u); @@ -4380,14 +4381,14 @@ L_08B1DE8C: AOT_REGCACHE_SYNC_OUT(); return; L_08B1DED0: ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(29704))); - aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); + ctx.fpr[20] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(8))); aot_gpr_4 = (49864u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(aot_fpr_13)) && aot_fpr_12 == aot_fpr_13)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); - aot_gpr_17 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[17] = (aot_gpr_29 + static_cast(16)); if (branch_taken) { goto L_08B1DF0C; } @@ -4408,14 +4409,14 @@ L_08B1DEF4: L_08B1DF0C: aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[22])); aot_gpr_31 = (0x08B1DF18u); - aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_20)); + aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[20])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 514u, 0x088933E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1DF18u) goto L_08B1DF18; AOT_REGCACHE_SYNC_OUT(); return; L_08B1DF18: aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[0])); goto L_08B1DF1C; L_08B1DF1C: - { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[22]), std::bit_cast(aot_fpr_20), std::bit_cast(aot_fpr_12)}; + { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[20]), std::bit_cast(aot_fpr_12)}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } { const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); std::uint32_t vfpu_words[4]{}; @@ -4427,10 +4428,10 @@ L_08B1DF1C: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(12))); + ctx.fpr[20] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(12))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); aot_gpr_31 = (0x08B1DF40u); aot_gpr_4 = (aot_gpr_16 | 0u); @@ -4454,7 +4455,7 @@ L_08B1DF4C: L_08B1DF58: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -4468,8 +4469,8 @@ L_08B1DF58: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_5 = (aot_gpr_29 | 0u); - aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); - ctx.gpr[6] = (0u | 7u); + aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); + aot_gpr_6 = (0u | 7u); aot_gpr_31 = (0x08B1DF7Cu); ctx.gpr[7] = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 68u, 0x08864760u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1DF7Cu) goto L_08B1DF7C; @@ -4479,17 +4480,17 @@ L_08B1DF7C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08B1DF90u); - ctx.gpr[6] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1DF90u) goto L_08B1DF90; + aot_gpr_6 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1DF90u) goto L_08B1DF90; AOT_REGCACHE_SYNC_OUT(); return; L_08B1DF90: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[8]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(32), aot_run_words); - aot_fpr_20 = std::bit_cast(aot_run_words[0]); + ctx.fpr[20] = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); aot_gpr_16 = aot_run_words[2]; - aot_gpr_17 = aot_run_words[3]; + ctx.gpr[17] = aot_run_words[3]; ctx.gpr[18] = aot_run_words[4]; ctx.gpr[19] = aot_run_words[5]; ctx.gpr[20] = aot_run_words[6]; @@ -4505,17 +4506,17 @@ L_08B1DFBC: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (2236u << 16u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (2236u << 16u); aot_gpr_5 = (aot_gpr_16 + static_cast(16)); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08B1DFE4u); - ctx.gpr[7] = (aot_gpr_17 + static_cast(29704)); + ctx.gpr[7] = (ctx.gpr[17] + static_cast(29704)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1DFE4u) goto L_08B1DFE4; AOT_REGCACHE_SYNC_OUT(); return; L_08B1DFE4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29704))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29704))); aot_gpr_31 = (0x08B1DFF0u); aot_gpr_5 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 74u, 0x088647D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1DFF0u) goto L_08B1DFF0; @@ -4525,7 +4526,7 @@ L_08B1DFF0: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -4539,7 +4540,7 @@ L_08B1E008: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (2236u << 16u); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x08B1E028u); ctx.gpr[7] = (aot_gpr_16 + static_cast(29704)); @@ -4566,7 +4567,7 @@ L_08B1E048: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (2236u << 16u); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x08B1E068u); ctx.gpr[7] = (aot_gpr_16 + static_cast(29704)); @@ -4663,7 +4664,7 @@ L_08B1E0E0: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (2236u << 16u); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 2u); + aot_gpr_6 = (0u | 2u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x08B1E100u); ctx.gpr[7] = (aot_gpr_16 + static_cast(29704)); @@ -4703,7 +4704,7 @@ L_08B1E13C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (2236u << 16u); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x08B1E15Cu); ctx.gpr[7] = (aot_gpr_16 + static_cast(29704)); @@ -4747,19 +4748,19 @@ L_08B1E19C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), aot_gpr_4); aot_gpr_5 = (aot_gpr_29 + static_cast(48)); aot_gpr_4 = (aot_gpr_16 | 0u); - { const std::uint32_t aot_run_words[4]{aot_gpr_17, ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(56), aot_run_words); } aot_gpr_31 = (0x08B1E1D0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 367u, 0x088623D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1E1D0u) goto L_08B1E1D0; AOT_REGCACHE_SYNC_OUT(); return; L_08B1E1D0: ctx.gpr[18] = (2236u << 16u); ctx.gpr[19] = (ctx.gpr[18] + static_cast(29704)); - aot_gpr_17 = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (ctx.gpr[2] | 0u); aot_gpr_5 = (aot_gpr_16 + static_cast(16)); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (0u | 10u); + aot_gpr_6 = (0u | 10u); aot_gpr_31 = (0x08B1E1F0u); ctx.gpr[7] = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1E1F0u) goto L_08B1E1F0; @@ -4791,11 +4792,11 @@ L_08B1E1F0: aot_fpr_14 = std::bit_cast(0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), 0u); aot_fpr_13 = std::bit_cast(ctx.gpr[2]); - ctx.gpr[6] = (aot_gpr_29 + static_cast(32)); + aot_gpr_6 = (aot_gpr_29 + static_cast(32)); ctx.gpr[7] = (ctx.gpr[7] & 255u); ctx.gpr[8] = (ctx.gpr[8] & 255u); ctx.gpr[9] = (ctx.gpr[9] & 255u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (0u | 8u); ctx.gpr[10] = (0u | 100u); ctx.gpr[11] = (0u | 1u); @@ -4808,7 +4809,7 @@ L_08B1E274: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(52), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; @@ -4821,12 +4822,12 @@ L_08B1E274: AOT_REGCACHE_SYNC_OUT(); return; L_08B1E294: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (2236u << 16u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (2236u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_17 + static_cast(29704)); + aot_gpr_16 = (ctx.gpr[17] + static_cast(29704)); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 2u); + aot_gpr_6 = (0u | 2u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08B1E2BCu); ctx.gpr[7] = (aot_gpr_16 | 0u); @@ -4848,12 +4849,12 @@ L_08B1E2D0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5848))); goto L_08B1E2D4; L_08B1E2D4: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29704))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29704))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); aot_gpr_5 = (aot_gpr_5 & 255u); - ctx.gpr[6] = (0u < ctx.gpr[6] ? 1u : 0u); + aot_gpr_6 = (0u < aot_gpr_6 ? 1u : 0u); aot_gpr_31 = (0x08B1E2ECu); - ctx.gpr[6] = (ctx.gpr[6] & 255u); + aot_gpr_6 = (aot_gpr_6 & 255u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0109_entry, 109u, 674u, 0x089BB1F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1E2ECu) goto L_08B1E2EC; AOT_REGCACHE_SYNC_OUT(); return; L_08B1E2EC: @@ -4861,7 +4862,7 @@ L_08B1E2EC: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -4917,12 +4918,12 @@ L_08B1E350: } L_08B1E358: aot_gpr_4 = (aot_gpr_16 + static_cast(518)); - ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0))); - ctx.gpr[7] = (ctx.gpr[6] + static_cast(-1)); + aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0))); + ctx.gpr[7] = (aot_gpr_6 + static_cast(-1)); aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(0), static_cast(ctx.gpr[7])); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(521))); - ctx.gpr[6] = (static_cast(ctx.gpr[6]) < 9 ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_6 = (static_cast(aot_gpr_6) < 9 ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); if (branch_taken) { goto L_08B1E384; @@ -4968,7 +4969,7 @@ L_08B1E3B4: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (2236u << 16u); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x08B1E3D4u); ctx.gpr[7] = (aot_gpr_16 + static_cast(29704)); @@ -4979,12 +4980,12 @@ L_08B1E3D4: aot_gpr_4 = (aot_gpr_4 + static_cast(32304)); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(80))); aot_gpr_5 = (aot_gpr_5 << 5u); - ctx.gpr[6] = (0u - aot_gpr_5); + aot_gpr_6 = (0u - aot_gpr_5); aot_gpr_5 = (aot_gpr_5 << 2u); - ctx.gpr[6] = (ctx.gpr[6] + aot_gpr_5); + aot_gpr_6 = (aot_gpr_6 + aot_gpr_5); aot_gpr_5 = (aot_gpr_5 << 2u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); - aot_gpr_5 = (ctx.gpr[6] + aot_gpr_5); + aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(240), std::bit_cast(aot_fpr_12)); ctx.gpr[2] = (0u | 0u); @@ -5014,7 +5015,7 @@ L_08B1E42C: AOT_REGCACHE_SYNC_OUT(); return; L_08B1E438: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_31 = (0x08B1E454u); aot_gpr_16 = (aot_gpr_4 | 0u); @@ -5024,18 +5025,18 @@ L_08B1E454: aot_gpr_4 = (2235u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-25252)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), aot_gpr_4); - aot_gpr_17 = (ctx.gpr[28] + static_cast(3344)); + ctx.gpr[17] = (ctx.gpr[28] + static_cast(3344)); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(41), static_cast(0u)); ctx.gpr[18] = (aot_gpr_16 + static_cast(44)); aot_gpr_31 = (0x08B1E474u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1E474u) goto L_08B1E474; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1E474u) goto L_08B1E474; AOT_REGCACHE_SYNC_OUT(); return; L_08B1E474: aot_gpr_4 = (ctx.gpr[18] | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B1E484u); - ctx.gpr[6] = (ctx.gpr[2] | 0u); + aot_gpr_6 = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 283u, 0x08B653C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1E484u) goto L_08B1E484; AOT_REGCACHE_SYNC_OUT(); return; L_08B1E484: @@ -5043,7 +5044,7 @@ L_08B1E484: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -5055,7 +5056,7 @@ L_08B1E484: AOT_REGCACHE_SYNC_OUT(); return; L_08B1E4A0: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_31 = (0x08B1E4BCu); aot_gpr_16 = (aot_gpr_4 | 0u); @@ -5065,18 +5066,18 @@ L_08B1E4BC: aot_gpr_4 = (2235u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-25252)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), aot_gpr_4); - aot_gpr_17 = (ctx.gpr[28] + static_cast(3344)); + ctx.gpr[17] = (ctx.gpr[28] + static_cast(3344)); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(41), static_cast(0u)); ctx.gpr[18] = (aot_gpr_16 + static_cast(44)); aot_gpr_31 = (0x08B1E4DCu); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1E4DCu) goto L_08B1E4DC; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1E4DCu) goto L_08B1E4DC; AOT_REGCACHE_SYNC_OUT(); return; L_08B1E4DC: aot_gpr_4 = (ctx.gpr[18] | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B1E4ECu); - ctx.gpr[6] = (ctx.gpr[2] | 0u); + aot_gpr_6 = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 283u, 0x08B653C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1E4ECu) goto L_08B1E4EC; AOT_REGCACHE_SYNC_OUT(); return; L_08B1E4EC: @@ -5084,7 +5085,7 @@ L_08B1E4EC: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -5098,36 +5099,36 @@ L_08B1E508: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_5 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08B1E524u); - aot_gpr_17 = (aot_gpr_4 | 0u); + ctx.gpr[17] = (aot_gpr_4 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0120_entry, 120u, 848u, 0x089E7EF8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1E524u) goto L_08B1E524; AOT_REGCACHE_SYNC_OUT(); return; L_08B1E524: aot_gpr_4 = (2235u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-25252)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(4), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(4), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(32))); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(32), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(32), static_cast(aot_gpr_4)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(36))); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(36), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(36), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(40))); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(40), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(40), static_cast(aot_gpr_4)); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(41))); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(41), static_cast(aot_gpr_5)); - aot_gpr_4 = (aot_gpr_17 + static_cast(44)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(41), static_cast(aot_gpr_5)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(44)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(48))); aot_gpr_31 = (0x08B1E560u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(44))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(44))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 283u, 0x08B653C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1E560u) goto L_08B1E560; AOT_REGCACHE_SYNC_OUT(); return; L_08B1E560: - ctx.gpr[2] = (aot_gpr_17 | 0u); + ctx.gpr[2] = (ctx.gpr[17] | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -5138,16 +5139,16 @@ L_08B1E560: AOT_REGCACHE_SYNC_OUT(); return; L_08B1E578: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - ctx.gpr[6] = (aot_gpr_5 | 0u); + aot_gpr_6 = (aot_gpr_5 | 0u); ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(32))); - ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[6] + static_cast(32))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); + ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_6 + static_cast(32))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_gpr_5 = (aot_gpr_4 | 0u); - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); { const bool branch_taken = ctx.gpr[7] != ctx.gpr[8]; - aot_gpr_4 = (ctx.gpr[6] | 0u); + aot_gpr_4 = (aot_gpr_6 | 0u); if (branch_taken) { goto L_08B1E618; } @@ -5166,9 +5167,9 @@ L_08B1E5A4: goto L_08B1E5BC; } L_08B1E5BC: - ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(40))); + aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(40))); ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(40))); - { const bool branch_taken = ctx.gpr[6] != ctx.gpr[7]; + { const bool branch_taken = aot_gpr_6 != ctx.gpr[7]; // nop if (branch_taken) { goto L_08B1E618; @@ -5176,9 +5177,9 @@ L_08B1E5BC: goto L_08B1E5CC; } L_08B1E5CC: - ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(41))); + aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(41))); ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(41))); - { const bool branch_taken = ctx.gpr[6] != ctx.gpr[7]; + { const bool branch_taken = aot_gpr_6 != ctx.gpr[7]; // nop if (branch_taken) { goto L_08B1E618; @@ -5186,9 +5187,9 @@ L_08B1E5CC: goto L_08B1E5DC; } L_08B1E5DC: - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(44))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(44))); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(44))); - { const bool branch_taken = ctx.gpr[6] != ctx.gpr[7]; + { const bool branch_taken = aot_gpr_6 != ctx.gpr[7]; aot_gpr_16 = (0u | 0u); if (branch_taken) { goto L_08B1E608; @@ -5200,7 +5201,7 @@ L_08B1E5EC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(48))); aot_gpr_31 = (0x08B1E5FCu); aot_gpr_5 = (ctx.gpr[7] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1E5FCu) goto L_08B1E5FC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58100, 213u, 23u, 0x08B58100u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1E5FCu) goto L_08B1E5FC; AOT_REGCACHE_SYNC_OUT(); return; L_08B1E5FC: { const bool branch_taken = ctx.gpr[2] != 0u; @@ -5225,14 +5226,14 @@ L_08B1E60C: goto L_08B1E614; } L_08B1E614: - aot_gpr_17 = (0u | 1u); + ctx.gpr[17] = (0u | 1u); goto L_08B1E618; L_08B1E618: - ctx.gpr[2] = (aot_gpr_17 & 255u); + ctx.gpr[2] = (ctx.gpr[17] & 255u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -5267,7 +5268,7 @@ L_08B1E658: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_5 | 0u); - { const std::uint32_t aot_run_words[3]{aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(4), aot_run_words); } aot_gpr_31 = (0x08B1E678u); ctx.gpr[18] = (0u | 0u); @@ -5280,12 +5281,12 @@ L_08B1E678: goto L_08B1E680; L_08B1E680: aot_gpr_31 = (0x08B1E688u); - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0120_entry, 120u, 849u, 0x089E7F48u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1E688u) goto L_08B1E688; AOT_REGCACHE_SYNC_OUT(); return; L_08B1E688: if (ctx.gpr[2] == aot_gpr_16) { - aot_gpr_17 = (0u | 1u); + ctx.gpr[17] = (0u | 1u); goto L_08B1E6B0; } goto L_08B1E690; @@ -5299,17 +5300,17 @@ L_08B1E698: aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_4 = (aot_gpr_17 & 255u); + aot_gpr_4 = (ctx.gpr[17] & 255u); if (branch_taken) { goto L_08B1E6B4; } goto L_08B1E6AC; } L_08B1E6AC: - aot_gpr_17 = (0u | 1u); + ctx.gpr[17] = (0u | 1u); goto L_08B1E6B0; L_08B1E6B0: - aot_gpr_4 = (aot_gpr_17 & 255u); + aot_gpr_4 = (ctx.gpr[17] & 255u); goto L_08B1E6B4; L_08B1E6B4: { const bool branch_taken = aot_gpr_4 == 0u; @@ -5327,7 +5328,7 @@ L_08B1E6C0: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -5339,8 +5340,8 @@ L_08B1E6C0: AOT_REGCACHE_SYNC_OUT(); return; L_08B1E6DC: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); { const bool branch_taken = aot_gpr_4 == 0u; @@ -5353,13 +5354,13 @@ L_08B1E6DC: L_08B1E6F8: aot_gpr_4 = (2235u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-25428)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(108), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(108), aot_gpr_4); aot_gpr_31 = (0x08B1E70Cu); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0165_entry, 165u, 425u, 0x08A9B6A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1E70Cu) goto L_08B1E70C; AOT_REGCACHE_SYNC_OUT(); return; L_08B1E70C: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B1E718u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0121_entry, 121u, 24u, 0x089E815Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1E718u) goto L_08B1E718; @@ -5375,14 +5376,14 @@ L_08B1E718: } L_08B1E724: aot_gpr_31 = (0x08B1E72Cu); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1E72Cu) goto L_08B1E72C; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1E72Cu) goto L_08B1E72C; AOT_REGCACHE_SYNC_OUT(); return; L_08B1E72C: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -5446,12 +5447,12 @@ L_08B1E794: goto L_08B1E7A4; } L_08B1E7A4: - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_5 = (0u | 3u); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(8)); - ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[6] + static_cast(0)))))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(4))); - jump_target = ctx.gpr[6]; + aot_gpr_6 = (aot_gpr_6 + static_cast(8)); + ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(0)))))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(4))); + jump_target = aot_gpr_6; aot_gpr_31 = (0x08B1E7C0u); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[7]); ctx.pc = jump_target; @@ -5510,7 +5511,7 @@ L_08B1E824: aot_gpr_4 = (aot_gpr_5 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); aot_gpr_31 = (0x08B1E838u); - aot_gpr_5 = (ctx.gpr[6] | 0u); + aot_gpr_5 = (aot_gpr_6 | 0u); goto L_08B1E578; L_08B1E838: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -5549,11 +5550,11 @@ L_08B1E86C: AOT_REGCACHE_SYNC_OUT(); return; L_08B1E884: aot_gpr_29 = (aot_gpr_29 + static_cast(-64)); - { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[15]), std::bit_cast(aot_fpr_14), std::bit_cast(aot_fpr_13)}; + { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_15), std::bit_cast(aot_fpr_14), std::bit_cast(aot_fpr_13)}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(24), aot_run_words); } - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), std::bit_cast(aot_fpr_12)); - aot_gpr_17 = (aot_gpr_4 | 0u); + ctx.gpr[17] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), aot_gpr_16); { const std::uint32_t aot_run_words[3]{ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(48), aot_run_words); } @@ -5564,25 +5565,25 @@ L_08B1E884: L_08B1E8B8: aot_gpr_4 = (2235u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-30816)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(108), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(108), aot_gpr_4); aot_gpr_31 = (0x08B1E8CCu); - aot_gpr_4 = (aot_gpr_17 + static_cast(112)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(112)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0170_entry, 170u, 814u, 0x08AAFA54u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1E8CCu) goto L_08B1E8CC; AOT_REGCACHE_SYNC_OUT(); return; L_08B1E8CC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(108))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(108))); aot_gpr_4 = (aot_gpr_4 + static_cast(152)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - jump_target = ctx.gpr[6]; + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); + jump_target = aot_gpr_6; aot_gpr_31 = (0x08B1E8E4u); - aot_gpr_4 = (aot_gpr_17 + aot_gpr_5); + aot_gpr_4 = (ctx.gpr[17] + aot_gpr_5); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1E8E4u) goto L_08B1E8E4; AOT_REGCACHE_SYNC_OUT(); return; L_08B1E8E4: aot_gpr_4 = (0u | 0u); - ctx.gpr[19] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(10)))))); + ctx.gpr[19] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(10)))))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_4); aot_gpr_4 = (2237u << 16u); aot_gpr_5 = (0u | 52u); @@ -5600,7 +5601,7 @@ L_08B1E900: } ctx.gpr[18] = (ctx.gpr[2] | 0u); { const bool branch_taken = ctx.gpr[18] == 0u; - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(36))); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(36))); if (branch_taken) { goto L_08B1E940; } @@ -5610,18 +5611,18 @@ L_08B1E91C: ctx.fpr[16] = std::bit_cast(std::bit_cast(aot_fpr_13)); aot_gpr_4 = (ctx.gpr[18] | 0u); ctx.fpr[17] = std::bit_cast(std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[15])); + aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_15)); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_14)); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[16])); aot_gpr_31 = (0x08B1E93Cu); - ctx.fpr[15] = std::bit_cast(std::bit_cast(ctx.fpr[17])); + aot_fpr_15 = std::bit_cast(std::bit_cast(ctx.fpr[17])); goto L_08B1E4A0; L_08B1E93C: aot_gpr_4 = (ctx.gpr[18] | 0u); goto L_08B1E940; L_08B1E940: - ctx.gpr[6] = (aot_gpr_4 | 0u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_6 = (aot_gpr_4 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B1E950u); aot_gpr_5 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0165_entry, 165u, 456u, 0x08A9B9F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1E950u) goto L_08B1E950; @@ -5637,16 +5638,16 @@ L_08B1E950: L_08B1E964: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08B1E970u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0045_entry, 45u, 623u, 0x088BAFE8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1E970u) goto L_08B1E970; AOT_REGCACHE_SYNC_OUT(); return; L_08B1E970: - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(113), static_cast(0u)); - ctx.gpr[2] = (aot_gpr_17 | 0u); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(113), static_cast(0u)); + ctx.gpr[2] = (ctx.gpr[17] | 0u); { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(40), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; @@ -5659,8 +5660,8 @@ L_08B1E970: AOT_REGCACHE_SYNC_OUT(); return; L_08B1E994: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); { const bool branch_taken = aot_gpr_4 == 0u; @@ -5673,8 +5674,8 @@ L_08B1E994: L_08B1E9B0: aot_gpr_4 = (2235u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-30816)); - { const bool branch_taken = aot_gpr_17 == 0u; - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(108), aot_gpr_4); + { const bool branch_taken = ctx.gpr[17] == 0u; + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(108), aot_gpr_4); if (branch_taken) { goto L_08B1E9E0; } @@ -5683,13 +5684,13 @@ L_08B1E9B0: L_08B1E9C0: aot_gpr_4 = (2235u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-25428)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(108), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(108), aot_gpr_4); aot_gpr_31 = (0x08B1E9D4u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0165_entry, 165u, 425u, 0x08A9B6A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1E9D4u) goto L_08B1E9D4; AOT_REGCACHE_SYNC_OUT(); return; L_08B1E9D4: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B1E9E0u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0121_entry, 121u, 24u, 0x089E815Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1E9E0u) goto L_08B1E9E0; @@ -5705,14 +5706,14 @@ L_08B1E9E0: } L_08B1E9EC: aot_gpr_31 = (0x08B1E9F4u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1E9F4u) goto L_08B1E9F4; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1E9F4u) goto L_08B1E9F4; AOT_REGCACHE_SYNC_OUT(); return; L_08B1E9F4: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -5723,24 +5724,24 @@ L_08B1E9F4: AOT_REGCACHE_SYNC_OUT(); return; L_08B1EA08: aot_gpr_29 = (aot_gpr_29 + static_cast(-64)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), ctx.gpr[6]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), ctx.gpr[7]); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(68)))))); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[6] + static_cast(0)))))); - aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(22), static_cast(ctx.gpr[6])); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(22)))))); - ctx.gpr[6] = (ctx.gpr[7] - ctx.gpr[6]); - ctx.gpr[6] = (ctx.gpr[6] << 16u); - ctx.gpr[6] = (static_cast(static_cast(ctx.gpr[6]) >> 16u)); - ctx.gpr[6] = (static_cast(ctx.gpr[6]) < 0 ? 1u : 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), aot_gpr_17); - aot_gpr_17 = (aot_gpr_4 | 0u); - ctx.gpr[6] = (ctx.gpr[6] & 255u); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(0)))))); + aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(22), static_cast(aot_gpr_6)); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(22)))))); + aot_gpr_6 = (ctx.gpr[7] - aot_gpr_6); + aot_gpr_6 = (aot_gpr_6 << 16u); + aot_gpr_6 = (static_cast(static_cast(aot_gpr_6) >> 16u)); + aot_gpr_6 = (static_cast(aot_gpr_6) < 0 ? 1u : 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_4 | 0u); + aot_gpr_6 = (aot_gpr_6 & 255u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), aot_gpr_31); - { const bool branch_taken = ctx.gpr[6] == 0u; + { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_16 = (aot_gpr_5 | 0u); if (branch_taken) { goto L_08B1EAAC; @@ -5749,11 +5750,11 @@ L_08B1EA08: } L_08B1EA58: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(64)))))); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(24), static_cast(aot_gpr_5)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(24)))))); aot_gpr_31 = (0x08B1EA70u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1EA70u) goto L_08B1EA70; AOT_REGCACHE_SYNC_OUT(); return; L_08B1EA70: @@ -5761,18 +5762,18 @@ L_08B1EA70: aot_gpr_4 = (aot_gpr_29 + static_cast(16)); aot_gpr_5 = (0u + static_cast(-1)); aot_gpr_31 = (0x08B1EA84u); - ctx.gpr[6] = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1EA84u) goto L_08B1EA84; + aot_gpr_6 = (0u | 4u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1EA84u) goto L_08B1EA84; AOT_REGCACHE_SYNC_OUT(); return; L_08B1EA84: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_5); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), aot_gpr_5); aot_gpr_5 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B1EAA4u); - ctx.gpr[6] = (ctx.gpr[18] | 0u); + aot_gpr_6 = (ctx.gpr[18] | 0u); goto L_08B1F1D8; L_08B1EAA4: { const bool branch_taken = 0u == 0u; @@ -5784,11 +5785,11 @@ L_08B1EAA4: } L_08B1EAAC: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(64)))))); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(26), static_cast(aot_gpr_5)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(26)))))); aot_gpr_31 = (0x08B1EAC4u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1EAC4u) goto L_08B1EAC4; AOT_REGCACHE_SYNC_OUT(); return; L_08B1EAC4: @@ -5797,13 +5798,13 @@ L_08B1EAC4: aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(28), static_cast(aot_gpr_4)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(28)))))); aot_gpr_31 = (0x08B1EADCu); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0165_entry, 165u, 440u, 0x08A9B864u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1EADCu) goto L_08B1EADC; AOT_REGCACHE_SYNC_OUT(); return; L_08B1EADC: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (ctx.gpr[18] | 0u); + aot_gpr_6 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08B1EAF0u); ctx.gpr[7] = (ctx.gpr[2] | 0u); goto L_08B1F124; @@ -5811,7 +5812,7 @@ L_08B1EAF0: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(36), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -5832,17 +5833,17 @@ L_08B1EB08: ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[7] + static_cast(0))); ctx.gpr[9] = (ctx.gpr[8] + static_cast(1)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[19]); - ctx.gpr[19] = (ctx.gpr[6] | 0u); + ctx.gpr[19] = (aot_gpr_6 | 0u); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(0), ctx.gpr[9]); - ctx.gpr[6] = (aot_mem.aot_direct_load8(ctx.gpr[8] + static_cast(0))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - ctx.gpr[6] = (ctx.gpr[6] << 8u); - aot_gpr_17 = (ctx.gpr[7] | ctx.gpr[6]); - aot_gpr_17 = (aot_gpr_17 & 65535u); - ctx.gpr[6] = (aot_gpr_17 & 1u); + aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[8] + static_cast(0))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + aot_gpr_6 = (aot_gpr_6 << 8u); + ctx.gpr[17] = (ctx.gpr[7] | aot_gpr_6); + ctx.gpr[17] = (ctx.gpr[17] & 65535u); + aot_gpr_6 = (ctx.gpr[17] & 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); - { const bool branch_taken = ctx.gpr[6] == 0u; + { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_16 = (aot_gpr_5 | 0u); if (branch_taken) { goto L_08B1EB6C; @@ -5852,11 +5853,11 @@ L_08B1EB08: L_08B1EB60: aot_gpr_5 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B1EB6Cu); - ctx.gpr[6] = (ctx.gpr[19] | 0u); + aot_gpr_6 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0121_entry, 121u, 40u, 0x089E825Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1EB6Cu) goto L_08B1EB6C; AOT_REGCACHE_SYNC_OUT(); return; L_08B1EB6C: - aot_gpr_4 = (aot_gpr_17 & 2u); + aot_gpr_4 = (ctx.gpr[17] & 2u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -5872,7 +5873,7 @@ L_08B1EB78: aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(32), static_cast(aot_gpr_4)); goto L_08B1EB8C; L_08B1EB8C: - aot_gpr_4 = (aot_gpr_17 & 4u); + aot_gpr_4 = (ctx.gpr[17] & 4u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -5886,22 +5887,22 @@ L_08B1EB98: aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(0), aot_gpr_5); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0))); - ctx.gpr[6] = (aot_gpr_5 + static_cast(1)); - aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(0), ctx.gpr[6]); + aot_gpr_6 = (aot_gpr_5 + static_cast(1)); + aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(0), aot_gpr_6); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); aot_gpr_5 = (aot_gpr_5 << 8u); - ctx.gpr[7] = (ctx.gpr[6] + static_cast(1)); + ctx.gpr[7] = (aot_gpr_6 + static_cast(1)); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(0), ctx.gpr[7]); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); - ctx.gpr[6] = (aot_mem.aot_direct_load8(ctx.gpr[6] + static_cast(0))); + aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_6 + static_cast(0))); ctx.gpr[8] = (ctx.gpr[7] + static_cast(1)); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(0), ctx.gpr[8]); aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[7] + static_cast(0))); aot_gpr_4 = (aot_gpr_4 & 65535u); aot_gpr_5 = (aot_gpr_5 << 8u); - aot_gpr_5 = (ctx.gpr[6] | aot_gpr_5); + aot_gpr_5 = (aot_gpr_6 | aot_gpr_5); aot_gpr_5 = (aot_gpr_5 & 65535u); aot_gpr_5 = (aot_gpr_5 << 16u); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); @@ -5909,7 +5910,7 @@ L_08B1EB98: aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(36), std::bit_cast(aot_fpr_12)); goto L_08B1EC00; L_08B1EC00: - aot_gpr_4 = (aot_gpr_17 & 8u); + aot_gpr_4 = (ctx.gpr[17] & 8u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -5925,7 +5926,7 @@ L_08B1EC0C: aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(40), static_cast(aot_gpr_4)); goto L_08B1EC20; L_08B1EC20: - aot_gpr_4 = (aot_gpr_17 & 16u); + aot_gpr_4 = (ctx.gpr[17] & 16u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -5941,7 +5942,7 @@ L_08B1EC2C: aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(41), static_cast(aot_gpr_4)); goto L_08B1EC40; L_08B1EC40: - aot_gpr_4 = (aot_gpr_17 & 32u); + aot_gpr_4 = (ctx.gpr[17] & 32u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -5959,7 +5960,7 @@ L_08B1EC58: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; @@ -6001,8 +6002,8 @@ L_08B1ECAC: AOT_REGCACHE_SYNC_OUT(); return; L_08B1ECBC: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_17); - aot_gpr_17 = (aot_gpr_5 & 255u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_5 & 255u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(96))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_31); @@ -6015,7 +6016,7 @@ L_08B1ECBC: } L_08B1ECDC: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(10)))))); - ctx.gpr[6] = (aot_gpr_29 + static_cast(16)); + aot_gpr_6 = (aot_gpr_29 + static_cast(16)); aot_gpr_31 = (0x08B1ECECu); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1ECECu) goto L_08B1ECEC; @@ -6027,11 +6028,11 @@ L_08B1ECEC: goto L_08B1ECF8; L_08B1ECF8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); - aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(32), static_cast(aot_gpr_17)); + aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(32), static_cast(ctx.gpr[17])); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(20), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -6054,7 +6055,7 @@ L_08B1ED14: } L_08B1ED2C: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(10)))))); - ctx.gpr[6] = (aot_gpr_29 + static_cast(16)); + aot_gpr_6 = (aot_gpr_29 + static_cast(16)); aot_gpr_31 = (0x08B1ED3Cu); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1ED3Cu) goto L_08B1ED3C; @@ -6078,8 +6079,8 @@ L_08B1ED48: L_08B1ED60: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(96))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), std::bit_cast(aot_fpr_20)); - aot_fpr_20 = std::bit_cast(std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), std::bit_cast(ctx.fpr[20])); + ctx.fpr[20] = std::bit_cast(std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_31); { const bool branch_taken = aot_gpr_5 != 0u; @@ -6091,7 +6092,7 @@ L_08B1ED60: } L_08B1ED80: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(10)))))); - ctx.gpr[6] = (aot_gpr_29 + static_cast(16)); + aot_gpr_6 = (aot_gpr_29 + static_cast(16)); aot_gpr_31 = (0x08B1ED90u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1ED90u) goto L_08B1ED90; @@ -6103,10 +6104,10 @@ L_08B1ED90: goto L_08B1ED9C; L_08B1ED9C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); - aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(36), std::bit_cast(aot_fpr_20)); + aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(36), std::bit_cast(ctx.fpr[20])); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(20), aot_run_words); - aot_fpr_20 = std::bit_cast(aot_run_words[0]); + ctx.fpr[20] = std::bit_cast(aot_run_words[0]); aot_gpr_16 = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -6130,7 +6131,7 @@ L_08B1EDB8: } L_08B1EDD0: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(10)))))); - ctx.gpr[6] = (aot_gpr_29 + static_cast(16)); + aot_gpr_6 = (aot_gpr_29 + static_cast(16)); aot_gpr_31 = (0x08B1EDE0u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1EDE0u) goto L_08B1EDE0; @@ -6153,8 +6154,8 @@ L_08B1EDEC: AOT_REGCACHE_SYNC_OUT(); return; L_08B1EE04: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_17); - aot_gpr_17 = (aot_gpr_5 & 255u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_5 & 255u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(96))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_31); @@ -6167,7 +6168,7 @@ L_08B1EE04: } L_08B1EE24: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(10)))))); - ctx.gpr[6] = (aot_gpr_29 + static_cast(16)); + aot_gpr_6 = (aot_gpr_29 + static_cast(16)); aot_gpr_31 = (0x08B1EE34u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1EE34u) goto L_08B1EE34; @@ -6179,11 +6180,11 @@ L_08B1EE34: goto L_08B1EE40; L_08B1EE40: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); - aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(40), static_cast(aot_gpr_17)); + aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(40), static_cast(ctx.gpr[17])); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(20), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -6206,7 +6207,7 @@ L_08B1EE5C: } L_08B1EE74: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(10)))))); - ctx.gpr[6] = (aot_gpr_29 + static_cast(16)); + aot_gpr_6 = (aot_gpr_29 + static_cast(16)); aot_gpr_31 = (0x08B1EE84u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1EE84u) goto L_08B1EE84; @@ -6230,8 +6231,8 @@ L_08B1EE90: AOT_REGCACHE_SYNC_OUT(); return; L_08B1EEAC: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_17); - aot_gpr_17 = (aot_gpr_5 & 255u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_5 & 255u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(96))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_31); @@ -6244,7 +6245,7 @@ L_08B1EEAC: } L_08B1EECC: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(10)))))); - ctx.gpr[6] = (aot_gpr_29 + static_cast(16)); + aot_gpr_6 = (aot_gpr_29 + static_cast(16)); aot_gpr_31 = (0x08B1EEDCu); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1EEDCu) goto L_08B1EEDC; @@ -6256,11 +6257,11 @@ L_08B1EEDC: goto L_08B1EEE8; L_08B1EEE8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); - aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(41), static_cast(aot_gpr_17)); + aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(41), static_cast(ctx.gpr[17])); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(20), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -6271,12 +6272,12 @@ L_08B1EEE8: AOT_REGCACHE_SYNC_OUT(); return; L_08B1EF04: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(96))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_17); - aot_gpr_17 = (aot_gpr_4 | 0u); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(96))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_31); - { const bool branch_taken = ctx.gpr[6] != 0u; + { const bool branch_taken = aot_gpr_6 != 0u; aot_gpr_16 = (aot_gpr_5 | 0u); if (branch_taken) { goto L_08B1EF40; @@ -6284,19 +6285,19 @@ L_08B1EF04: goto L_08B1EF24; } L_08B1EF24: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(10)))))); - ctx.gpr[6] = (aot_gpr_29 + static_cast(16)); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(10)))))); + aot_gpr_6 = (aot_gpr_29 + static_cast(16)); aot_gpr_31 = (0x08B1EF34u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1EF34u) goto L_08B1EF34; AOT_REGCACHE_SYNC_OUT(); return; L_08B1EF34: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(16))); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(96), ctx.gpr[2]); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(4), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(4), static_cast(aot_gpr_4)); goto L_08B1EF40; L_08B1EF40: - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(96))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); { const bool branch_taken = aot_gpr_16 == 0u; aot_gpr_4 = (0u | 0u); if (branch_taken) { @@ -6307,14 +6308,14 @@ L_08B1EF40: L_08B1EF4C: aot_gpr_31 = (0x08B1EF54u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1EF54u) goto L_08B1EF54; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1EF54u) goto L_08B1EF54; AOT_REGCACHE_SYNC_OUT(); return; L_08B1EF54: aot_gpr_4 = (ctx.gpr[2] | 0u); goto L_08B1EF58; L_08B1EF58: - ctx.gpr[6] = (aot_gpr_4 | 0u); - aot_gpr_4 = (aot_gpr_17 + static_cast(44)); + aot_gpr_6 = (aot_gpr_4 | 0u); + aot_gpr_4 = (ctx.gpr[17] + static_cast(44)); aot_gpr_31 = (0x08B1EF68u); aot_gpr_5 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 319u, 0x08B655B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1EF68u) goto L_08B1EF68; @@ -6323,7 +6324,7 @@ L_08B1EF68: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(20), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -6334,11 +6335,11 @@ L_08B1EF68: AOT_REGCACHE_SYNC_OUT(); return; L_08B1EF7C: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, ctx.gpr[18]}; + { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } ctx.gpr[18] = (ctx.gpr[7] | 0u); - aot_gpr_16 = (ctx.gpr[6] | 0u); - aot_gpr_17 = (aot_gpr_5 | 0u); + aot_gpr_16 = (aot_gpr_6 | 0u); + ctx.gpr[17] = (aot_gpr_5 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[19]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); aot_gpr_31 = (0x08B1EFA8u); @@ -6363,7 +6364,7 @@ L_08B1EFBC: goto L_08B1EFC8; L_08B1EFC8: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(32))); - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(32))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(32))); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_14 = std::bit_cast(aot_gpr_5); aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_13))); @@ -6411,7 +6412,7 @@ L_08B1F020: goto L_08B1F030; L_08B1F030: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(36))); - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(36))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(36))); aot_fpr_12 = aot_fpr_12 - aot_fpr_14; ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); // nop @@ -6456,7 +6457,7 @@ L_08B1F078: goto L_08B1F084; L_08B1F084: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(40))); - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(40))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(40))); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop if (branch_taken) { @@ -6471,7 +6472,7 @@ L_08B1F094: goto L_08B1F0A0; L_08B1F0A0: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(41))); - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(41))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(41))); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop if (branch_taken) { @@ -6486,7 +6487,7 @@ L_08B1F0B0: goto L_08B1F0BC; L_08B1F0BC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(44))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(44))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(44))); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; ctx.gpr[19] = (0u | 0u); if (branch_taken) { @@ -6495,11 +6496,11 @@ L_08B1F0BC: goto L_08B1F0CC; } L_08B1F0CC: - ctx.gpr[6] = (aot_gpr_4 | 0u); + aot_gpr_6 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(48))); aot_gpr_31 = (0x08B1F0DCu); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(48))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1F0DCu) goto L_08B1F0DC; + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(48))); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58100, 213u, 23u, 0x08B58100u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1F0DCu) goto L_08B1F0DC; AOT_REGCACHE_SYNC_OUT(); return; L_08B1F0DC: { const bool branch_taken = ctx.gpr[2] != 0u; @@ -6534,7 +6535,7 @@ L_08B1F108: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; @@ -6547,27 +6548,27 @@ L_08B1F108: AOT_REGCACHE_SYNC_OUT(); return; L_08B1F124: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), ctx.gpr[20]); - aot_gpr_17 = (aot_gpr_5 | 0u); + ctx.gpr[17] = (aot_gpr_5 | 0u); ctx.gpr[18] = (aot_gpr_4 | 0u); ctx.gpr[20] = (aot_gpr_29 + static_cast(16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), ctx.gpr[19]); - aot_gpr_16 = (ctx.gpr[6] | 0u); + aot_gpr_16 = (aot_gpr_6 | 0u); ctx.gpr[19] = (ctx.gpr[7] | 0u); aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_5 = (0u | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), aot_gpr_31); aot_gpr_31 = (0x08B1F164u); - ctx.gpr[6] = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1F164u) goto L_08B1F164; + aot_gpr_6 = (0u | 4u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1F164u) goto L_08B1F164; AOT_REGCACHE_SYNC_OUT(); return; L_08B1F164: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (ctx.gpr[19] | 0u); + aot_gpr_6 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08B1F178u); ctx.gpr[7] = (ctx.gpr[20] | 0u); goto L_08B1EF7C; @@ -6594,9 +6595,9 @@ L_08B1F190: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_5); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B1F1ACu); - ctx.gpr[6] = (aot_gpr_16 | 0u); + aot_gpr_6 = (aot_gpr_16 | 0u); goto L_08B1F1D8; L_08B1F1AC: { const bool branch_taken = 0u == 0u; @@ -6613,7 +6614,7 @@ L_08B1F1B8: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(20), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -6627,7 +6628,7 @@ L_08B1F1B8: AOT_REGCACHE_SYNC_OUT(); return; L_08B1F1D8: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - { const std::uint32_t aot_run_words[5]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31, ctx.gpr[7]}; + { const std::uint32_t aot_run_words[5]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31, ctx.gpr[7]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(16), aot_run_words); } ctx.gpr[18] = (aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(32))); ctx.gpr[7] = (ctx.gpr[18] & 65535u); @@ -6653,8 +6654,8 @@ L_08B1F1D8: aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(1), static_cast(ctx.gpr[1])); aot_mem.aot_direct_store8(ctx.gpr[9] + static_cast(0), static_cast(ctx.gpr[7])); ctx.gpr[7] = (ctx.gpr[18] & 1u); - aot_gpr_17 = (aot_gpr_5 | 0u); - aot_gpr_16 = (ctx.gpr[6] | 0u); + ctx.gpr[17] = (aot_gpr_5 | 0u); + aot_gpr_16 = (aot_gpr_6 | 0u); { const bool branch_taken = ctx.gpr[7] == 0u; // nop if (branch_taken) { @@ -6664,9 +6665,9 @@ L_08B1F1D8: } L_08B1F260: ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(34)))))); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B1F270u); - ctx.gpr[6] = (aot_gpr_16 | 0u); + aot_gpr_6 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0121_entry, 121u, 103u, 0x089E87C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1F270u) goto L_08B1F270; AOT_REGCACHE_SYNC_OUT(); return; L_08B1F270: @@ -6680,15 +6681,15 @@ L_08B1F270: } L_08B1F27C: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(32))); - aot_gpr_5 = (aot_mem.aot_direct_load_word_right(aot_gpr_17 + static_cast(0), aot_gpr_5)); - aot_gpr_5 = (aot_mem.aot_direct_load_word_left(aot_gpr_17 + static_cast(3), aot_gpr_5)); + aot_gpr_5 = (aot_mem.aot_direct_load_word_right(ctx.gpr[17] + static_cast(0), aot_gpr_5)); + aot_gpr_5 = (aot_mem.aot_direct_load_word_left(ctx.gpr[17] + static_cast(3), aot_gpr_5)); aot_gpr_5 = (aot_gpr_5 & 65535u); - ctx.gpr[6] = (aot_gpr_17 + aot_gpr_5); + aot_gpr_6 = (ctx.gpr[17] + aot_gpr_5); aot_gpr_5 = (aot_gpr_5 + static_cast(1)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(0), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(0), static_cast(aot_gpr_5)); ctx.gpr[1] = (static_cast(static_cast(aot_gpr_5) >> 8u)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(1), static_cast(ctx.gpr[1])); - aot_mem.aot_direct_store8(ctx.gpr[6] + static_cast(0), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(1), static_cast(ctx.gpr[1])); + aot_mem.aot_direct_store8(aot_gpr_6 + static_cast(0), static_cast(aot_gpr_4)); goto L_08B1F2A4; L_08B1F2A4: aot_gpr_4 = (ctx.gpr[18] & 4u); @@ -6704,50 +6705,50 @@ L_08B1F2B0: aot_gpr_4 = (std::bit_cast(aot_fpr_12)); aot_gpr_5 = (aot_gpr_4 & 65535u); aot_gpr_5 = (aot_gpr_5 & 65535u); - ctx.gpr[6] = (aot_gpr_5 & 255u); - ctx.gpr[7] = (aot_mem.aot_direct_load_word_right(aot_gpr_17 + static_cast(0), ctx.gpr[7])); - ctx.gpr[7] = (aot_mem.aot_direct_load_word_left(aot_gpr_17 + static_cast(3), ctx.gpr[7])); + aot_gpr_6 = (aot_gpr_5 & 255u); + ctx.gpr[7] = (aot_mem.aot_direct_load_word_right(ctx.gpr[17] + static_cast(0), ctx.gpr[7])); + ctx.gpr[7] = (aot_mem.aot_direct_load_word_left(ctx.gpr[17] + static_cast(3), ctx.gpr[7])); ctx.gpr[7] = (ctx.gpr[7] & 65535u); - ctx.gpr[8] = (aot_gpr_17 + ctx.gpr[7]); + ctx.gpr[8] = (ctx.gpr[17] + ctx.gpr[7]); ctx.gpr[7] = (ctx.gpr[7] + static_cast(1)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(0), static_cast(ctx.gpr[7])); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(0), static_cast(ctx.gpr[7])); ctx.gpr[1] = (static_cast(static_cast(ctx.gpr[7]) >> 8u)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(1), static_cast(ctx.gpr[1])); - aot_mem.aot_direct_store8(ctx.gpr[8] + static_cast(0), static_cast(ctx.gpr[6])); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(1), static_cast(ctx.gpr[1])); + aot_mem.aot_direct_store8(ctx.gpr[8] + static_cast(0), static_cast(aot_gpr_6)); aot_gpr_5 = (static_cast(static_cast(aot_gpr_5) >> 8u)); aot_gpr_5 = (aot_gpr_5 & 255u); - ctx.gpr[6] = (aot_mem.aot_direct_load_word_right(aot_gpr_17 + static_cast(0), ctx.gpr[6])); - ctx.gpr[6] = (aot_mem.aot_direct_load_word_left(aot_gpr_17 + static_cast(3), ctx.gpr[6])); - ctx.gpr[6] = (ctx.gpr[6] & 65535u); - ctx.gpr[7] = (aot_gpr_17 + ctx.gpr[6]); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(1)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(0), static_cast(ctx.gpr[6])); - ctx.gpr[1] = (static_cast(static_cast(ctx.gpr[6]) >> 8u)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(1), static_cast(ctx.gpr[1])); + aot_gpr_6 = (aot_mem.aot_direct_load_word_right(ctx.gpr[17] + static_cast(0), aot_gpr_6)); + aot_gpr_6 = (aot_mem.aot_direct_load_word_left(ctx.gpr[17] + static_cast(3), aot_gpr_6)); + aot_gpr_6 = (aot_gpr_6 & 65535u); + ctx.gpr[7] = (ctx.gpr[17] + aot_gpr_6); + aot_gpr_6 = (aot_gpr_6 + static_cast(1)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(0), static_cast(aot_gpr_6)); + ctx.gpr[1] = (static_cast(static_cast(aot_gpr_6) >> 8u)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(1), static_cast(ctx.gpr[1])); aot_mem.aot_direct_store8(ctx.gpr[7] + static_cast(0), static_cast(aot_gpr_5)); aot_gpr_4 = (aot_gpr_4 >> 16u); aot_gpr_4 = (aot_gpr_4 & 65535u); aot_gpr_5 = (aot_gpr_4 & 255u); - ctx.gpr[6] = (aot_mem.aot_direct_load_word_right(aot_gpr_17 + static_cast(0), ctx.gpr[6])); - ctx.gpr[6] = (aot_mem.aot_direct_load_word_left(aot_gpr_17 + static_cast(3), ctx.gpr[6])); - ctx.gpr[6] = (ctx.gpr[6] & 65535u); - ctx.gpr[7] = (aot_gpr_17 + ctx.gpr[6]); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(1)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(0), static_cast(ctx.gpr[6])); - ctx.gpr[1] = (static_cast(static_cast(ctx.gpr[6]) >> 8u)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(1), static_cast(ctx.gpr[1])); + aot_gpr_6 = (aot_mem.aot_direct_load_word_right(ctx.gpr[17] + static_cast(0), aot_gpr_6)); + aot_gpr_6 = (aot_mem.aot_direct_load_word_left(ctx.gpr[17] + static_cast(3), aot_gpr_6)); + aot_gpr_6 = (aot_gpr_6 & 65535u); + ctx.gpr[7] = (ctx.gpr[17] + aot_gpr_6); + aot_gpr_6 = (aot_gpr_6 + static_cast(1)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(0), static_cast(aot_gpr_6)); + ctx.gpr[1] = (static_cast(static_cast(aot_gpr_6) >> 8u)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(1), static_cast(ctx.gpr[1])); aot_mem.aot_direct_store8(ctx.gpr[7] + static_cast(0), static_cast(aot_gpr_5)); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 8u)); aot_gpr_4 = (aot_gpr_4 & 255u); - aot_gpr_5 = (aot_mem.aot_direct_load_word_right(aot_gpr_17 + static_cast(0), aot_gpr_5)); - aot_gpr_5 = (aot_mem.aot_direct_load_word_left(aot_gpr_17 + static_cast(3), aot_gpr_5)); + aot_gpr_5 = (aot_mem.aot_direct_load_word_right(ctx.gpr[17] + static_cast(0), aot_gpr_5)); + aot_gpr_5 = (aot_mem.aot_direct_load_word_left(ctx.gpr[17] + static_cast(3), aot_gpr_5)); aot_gpr_5 = (aot_gpr_5 & 65535u); - ctx.gpr[6] = (aot_gpr_17 + aot_gpr_5); + aot_gpr_6 = (ctx.gpr[17] + aot_gpr_5); aot_gpr_5 = (aot_gpr_5 + static_cast(1)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(0), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(0), static_cast(aot_gpr_5)); ctx.gpr[1] = (static_cast(static_cast(aot_gpr_5) >> 8u)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(1), static_cast(ctx.gpr[1])); - aot_mem.aot_direct_store8(ctx.gpr[6] + static_cast(0), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(1), static_cast(ctx.gpr[1])); + aot_mem.aot_direct_store8(aot_gpr_6 + static_cast(0), static_cast(aot_gpr_4)); goto L_08B1F370; L_08B1F370: aot_gpr_4 = (ctx.gpr[18] & 8u); @@ -6760,15 +6761,15 @@ L_08B1F370: } L_08B1F37C: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(40))); - aot_gpr_5 = (aot_mem.aot_direct_load_word_right(aot_gpr_17 + static_cast(0), aot_gpr_5)); - aot_gpr_5 = (aot_mem.aot_direct_load_word_left(aot_gpr_17 + static_cast(3), aot_gpr_5)); + aot_gpr_5 = (aot_mem.aot_direct_load_word_right(ctx.gpr[17] + static_cast(0), aot_gpr_5)); + aot_gpr_5 = (aot_mem.aot_direct_load_word_left(ctx.gpr[17] + static_cast(3), aot_gpr_5)); aot_gpr_5 = (aot_gpr_5 & 65535u); - ctx.gpr[6] = (aot_gpr_17 + aot_gpr_5); + aot_gpr_6 = (ctx.gpr[17] + aot_gpr_5); aot_gpr_5 = (aot_gpr_5 + static_cast(1)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(0), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(0), static_cast(aot_gpr_5)); ctx.gpr[1] = (static_cast(static_cast(aot_gpr_5) >> 8u)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(1), static_cast(ctx.gpr[1])); - aot_mem.aot_direct_store8(ctx.gpr[6] + static_cast(0), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(1), static_cast(ctx.gpr[1])); + aot_mem.aot_direct_store8(aot_gpr_6 + static_cast(0), static_cast(aot_gpr_4)); goto L_08B1F3A4; L_08B1F3A4: aot_gpr_4 = (ctx.gpr[18] & 16u); @@ -6781,15 +6782,15 @@ L_08B1F3A4: } L_08B1F3B0: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(41))); - aot_gpr_5 = (aot_mem.aot_direct_load_word_right(aot_gpr_17 + static_cast(0), aot_gpr_5)); - aot_gpr_5 = (aot_mem.aot_direct_load_word_left(aot_gpr_17 + static_cast(3), aot_gpr_5)); + aot_gpr_5 = (aot_mem.aot_direct_load_word_right(ctx.gpr[17] + static_cast(0), aot_gpr_5)); + aot_gpr_5 = (aot_mem.aot_direct_load_word_left(ctx.gpr[17] + static_cast(3), aot_gpr_5)); aot_gpr_5 = (aot_gpr_5 & 65535u); - ctx.gpr[6] = (aot_gpr_17 + aot_gpr_5); + aot_gpr_6 = (ctx.gpr[17] + aot_gpr_5); aot_gpr_5 = (aot_gpr_5 + static_cast(1)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(0), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(0), static_cast(aot_gpr_5)); ctx.gpr[1] = (static_cast(static_cast(aot_gpr_5) >> 8u)); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(1), static_cast(ctx.gpr[1])); - aot_mem.aot_direct_store8(ctx.gpr[6] + static_cast(0), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(1), static_cast(ctx.gpr[1])); + aot_mem.aot_direct_store8(aot_gpr_6 + static_cast(0), static_cast(aot_gpr_4)); goto L_08B1F3D8; L_08B1F3D8: aot_gpr_4 = (ctx.gpr[18] & 32u); @@ -6803,14 +6804,14 @@ L_08B1F3D8: L_08B1F3E4: aot_gpr_5 = (aot_gpr_16 + static_cast(44)); aot_gpr_31 = (0x08B1F3F0u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 75u, 0x08964B98u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1F3F0u) goto L_08B1F3F0; AOT_REGCACHE_SYNC_OUT(); return; L_08B1F3F0: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -6822,14 +6823,14 @@ L_08B1F3F0: AOT_REGCACHE_SYNC_OUT(); return; L_08B1F408: aot_gpr_29 = (aot_gpr_29 + static_cast(-128)); - { const std::uint32_t aot_run_words[10]{std::bit_cast(aot_fpr_20), aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], aot_gpr_31}; + { const std::uint32_t aot_run_words[10]{std::bit_cast(ctx.fpr[20]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(84), aot_run_words); } - aot_gpr_17 = (aot_gpr_4 | 0u); + ctx.gpr[17] = (aot_gpr_4 | 0u); aot_gpr_16 = (2237u << 16u); aot_gpr_16 = (aot_gpr_16 + static_cast(-28736)); aot_gpr_31 = (0x08B1F448u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1F448u) goto L_08B1F448; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC734, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1F448u) goto L_08B1F448; AOT_REGCACHE_SYNC_OUT(); return; L_08B1F448: aot_gpr_4 = (0u | 9u); @@ -6852,7 +6853,7 @@ L_08B1F454: goto L_08B1F468; } L_08B1F468: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(100))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(100))); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); aot_gpr_31 = (0x08B1F478u); aot_gpr_4 = (aot_gpr_16 | 0u); @@ -6901,7 +6902,7 @@ L_08B1F49C: } L_08B1F4A4: aot_gpr_31 = (0x08B1F4ACu); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0121_entry, 121u, 65u, 0x089E8590u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1F4ACu) goto L_08B1F4AC; AOT_REGCACHE_SYNC_OUT(); return; L_08B1F4AC: @@ -6916,11 +6917,11 @@ L_08B1F4AC: goto L_08B1F4C0; } L_08B1F4C0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(96))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); ctx.gpr[18] = (aot_gpr_29 + static_cast(16)); ctx.gpr[19] = (0u | 7u); { const bool branch_taken = aot_gpr_4 == 0u; - ctx.gpr[20] = (aot_gpr_17 + static_cast(112)); + ctx.gpr[20] = (ctx.gpr[17] + static_cast(112)); if (branch_taken) { goto L_08B1F4E4; } @@ -6928,7 +6929,7 @@ L_08B1F4C0: } L_08B1F4D4: { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(96))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); if (branch_taken) { goto L_08B1F504; } @@ -6943,17 +6944,17 @@ L_08B1F4DC: goto L_08B1F4E4; } L_08B1F4E4: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(10)))))); - ctx.gpr[6] = (aot_gpr_29 + static_cast(80)); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(10)))))); + aot_gpr_6 = (aot_gpr_29 + static_cast(80)); aot_gpr_31 = (0x08B1F4F4u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1F4F4u) goto L_08B1F4F4; AOT_REGCACHE_SYNC_OUT(); return; L_08B1F4F4: - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(96), ctx.gpr[2]); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(80))); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(4), static_cast(aot_gpr_4)); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(96))); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(4), static_cast(aot_gpr_4)); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); goto L_08B1F504; L_08B1F504: aot_gpr_4 = (17328u << 16u); @@ -6963,18 +6964,18 @@ L_08B1F504: aot_gpr_4 = (17360u << 16u); aot_fpr_14 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (17026u << 16u); - ctx.fpr[15] = std::bit_cast(aot_gpr_4); + aot_fpr_15 = std::bit_cast(aot_gpr_4); aot_gpr_31 = (0x08B1F52Cu); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1F52Cu) goto L_08B1F52C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1F52Cu) goto L_08B1F52C; AOT_REGCACHE_SYNC_OUT(); return; L_08B1F52C: aot_gpr_31 = (0x08B1F534u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1F534u) goto L_08B1F534; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC734, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1F534u) goto L_08B1F534; AOT_REGCACHE_SYNC_OUT(); return; L_08B1F534: - aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(36))); + ctx.fpr[20] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(36))); { const bool branch_taken = ctx.gpr[2] != ctx.gpr[19]; aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5848))); if (branch_taken) { @@ -7037,17 +7038,17 @@ L_08B1F584: ctx.gpr[23] = (aot_gpr_4 + static_cast(248)); aot_gpr_4 = (aot_gpr_29 + static_cast(32)); aot_gpr_5 = (0u | 150u); - ctx.gpr[6] = (0u | 108u); + aot_gpr_6 = (0u | 108u); ctx.gpr[7] = (0u | 65u); aot_gpr_31 = (0x08B1F5A4u); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1F5A4u) goto L_08B1F5A4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1F5A4u) goto L_08B1F5A4; AOT_REGCACHE_SYNC_OUT(); return; L_08B1F5A4: aot_gpr_4 = (ctx.gpr[20] | 0u); - aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); + aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_gpr_5 = (ctx.gpr[18] | 0u); - ctx.gpr[6] = (ctx.gpr[21] | 0u); + aot_gpr_6 = (ctx.gpr[21] | 0u); ctx.gpr[7] = (ctx.gpr[22] | 0u); ctx.gpr[8] = (ctx.gpr[23] | 0u); aot_gpr_31 = (0x08B1F5C4u); @@ -7056,26 +7057,26 @@ L_08B1F5A4: AOT_REGCACHE_SYNC_OUT(); return; L_08B1F5C4: { const bool branch_taken = 0u == 0u; - ctx.gpr[18] = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(41))); + ctx.gpr[18] = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(41))); if (branch_taken) { goto L_08B1F6DC; } goto L_08B1F5CC; } L_08B1F5CC: - ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(10))); - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(8))); - ctx.gpr[6] = (static_cast(ctx.gpr[6]) < static_cast(aot_gpr_5) ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] == 0u; - ctx.gpr[23] = (aot_gpr_17 + static_cast(8)); + aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(10))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(8))); + aot_gpr_6 = (static_cast(aot_gpr_6) < static_cast(aot_gpr_5) ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 == 0u; + ctx.gpr[23] = (ctx.gpr[17] + static_cast(8)); if (branch_taken) { goto L_08B1F668; } goto L_08B1F5E0; } L_08B1F5E0: - ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(9))); - aot_gpr_5 = (static_cast(ctx.gpr[6]) < static_cast(aot_gpr_5) ? 1u : 0u); + aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(9))); + aot_gpr_5 = (static_cast(aot_gpr_6) < static_cast(aot_gpr_5) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; // nop if (branch_taken) { @@ -7140,16 +7141,16 @@ L_08B1F634: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), aot_gpr_4); ctx.gpr[9] = (aot_gpr_29 + static_cast(36)); aot_gpr_4 = (ctx.gpr[20] | 0u); - aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); + aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_gpr_5 = (ctx.gpr[18] | 0u); - ctx.gpr[6] = (ctx.gpr[21] | 0u); + aot_gpr_6 = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x08B1F660u); ctx.gpr[7] = (ctx.gpr[22] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0170_entry, 170u, 835u, 0x08AAFB70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1F660u) goto L_08B1F660; AOT_REGCACHE_SYNC_OUT(); return; L_08B1F660: { const bool branch_taken = 0u == 0u; - ctx.gpr[18] = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(41))); + ctx.gpr[18] = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(41))); if (branch_taken) { goto L_08B1F6DC; } @@ -7212,15 +7213,15 @@ L_08B1F6AC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), aot_gpr_4); ctx.gpr[9] = (aot_gpr_29 + static_cast(40)); aot_gpr_4 = (ctx.gpr[20] | 0u); - aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); + aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_gpr_5 = (ctx.gpr[18] | 0u); - ctx.gpr[6] = (ctx.gpr[21] | 0u); + aot_gpr_6 = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x08B1F6D8u); ctx.gpr[7] = (ctx.gpr[22] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0170_entry, 170u, 835u, 0x08AAFB70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1F6D8u) goto L_08B1F6D8; AOT_REGCACHE_SYNC_OUT(); return; L_08B1F6D8: - ctx.gpr[18] = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(41))); + ctx.gpr[18] = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(41))); goto L_08B1F6DC; L_08B1F6DC: { const bool branch_taken = ctx.gpr[18] == 0u; @@ -7257,7 +7258,7 @@ L_08B1F704: L_08B1F710: aot_gpr_31 = (0x08B1F718u); aot_gpr_4 = (ctx.gpr[21] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1F718u) goto L_08B1F718; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1F718u) goto L_08B1F718; AOT_REGCACHE_SYNC_OUT(); return; L_08B1F718: ctx.gpr[20] = (ctx.gpr[21] | 0u); @@ -7267,19 +7268,19 @@ L_08B1F720: ctx.gpr[20] = (aot_gpr_16 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); aot_gpr_31 = (0x08B1F730u); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(48))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(48))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1F730u) goto L_08B1F730; AOT_REGCACHE_SYNC_OUT(); return; L_08B1F730: aot_gpr_16 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08B1F73Cu); aot_gpr_4 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1F73Cu) goto L_08B1F73C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C498, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1F73Cu) goto L_08B1F73C; AOT_REGCACHE_SYNC_OUT(); return; L_08B1F73C: aot_gpr_31 = (0x08B1F744u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1F744u) goto L_08B1F744; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C05C, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1F744u) goto L_08B1F744; AOT_REGCACHE_SYNC_OUT(); return; L_08B1F744: aot_gpr_31 = (0x08B1F74Cu); @@ -7289,7 +7290,7 @@ L_08B1F744: L_08B1F74C: aot_gpr_31 = (0x08B1F754u); aot_gpr_4 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1F754u) goto L_08B1F754; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C604, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1F754u) goto L_08B1F754; AOT_REGCACHE_SYNC_OUT(); return; L_08B1F754: aot_gpr_4 = (aot_gpr_29 + static_cast(44)); @@ -7302,8 +7303,8 @@ L_08B1F754: aot_fpr_14 = std::bit_cast(aot_gpr_5); aot_gpr_5 = (17288u << 16u); aot_gpr_31 = (0x08B1F780u); - ctx.fpr[15] = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1F780u) goto L_08B1F780; + aot_fpr_15 = std::bit_cast(aot_gpr_5); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08873400, 27u, 732u, 0x08873400u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1F780u) goto L_08B1F780; AOT_REGCACHE_SYNC_OUT(); return; L_08B1F780: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(44))); @@ -7311,11 +7312,11 @@ L_08B1F780: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(48))); aot_gpr_5 = (std::bit_cast(aot_fpr_13)); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(52))); - ctx.gpr[6] = (std::bit_cast(aot_fpr_14)); - { const std::uint32_t aot_run_words[3]{aot_gpr_4, aot_gpr_5, ctx.gpr[6]}; + aot_gpr_6 = (std::bit_cast(aot_fpr_14)); + { const std::uint32_t aot_run_words[3]{aot_gpr_4, aot_gpr_5, aot_gpr_6}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(60), aot_run_words); } - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(56))); - aot_gpr_4 = (std::bit_cast(ctx.fpr[15])); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(56))); + aot_gpr_4 = (std::bit_cast(aot_fpr_15)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(72), aot_gpr_4); aot_gpr_4 = (16178u << 16u); aot_gpr_4 = (aot_gpr_4 | 11534u); @@ -7330,7 +7331,7 @@ L_08B1F7C0: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(79), static_cast(ctx.gpr[18])); aot_gpr_31 = (0x08B1F7D8u); aot_gpr_4 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1F7D8u) goto L_08B1F7D8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ADC734, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0182_entry, 182u, 137u, 0x08ADC734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1F7D8u) goto L_08B1F7D8; AOT_REGCACHE_SYNC_OUT(); return; L_08B1F7D8: { const bool branch_taken = ctx.gpr[2] != ctx.gpr[19]; @@ -7354,18 +7355,18 @@ L_08B1F7E0: goto L_08B1F7FC; } L_08B1F7FC: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(8))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(8))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(76), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(9))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(9))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(77), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(10))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(10))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(78), static_cast(aot_gpr_4)); goto L_08B1F814; L_08B1F814: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(79), static_cast(ctx.gpr[18])); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 0u); - ctx.gpr[6] = (0u | 66u); + aot_gpr_6 = (0u | 66u); ctx.gpr[7] = (ctx.gpr[23] | 0u); ctx.gpr[8] = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x08B1F834u); @@ -7375,9 +7376,9 @@ L_08B1F814: L_08B1F834: { std::uint32_t aot_run_words[10]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(84), aot_run_words); - aot_fpr_20 = std::bit_cast(aot_run_words[0]); + ctx.fpr[20] = std::bit_cast(aot_run_words[0]); aot_gpr_16 = aot_run_words[1]; - aot_gpr_17 = aot_run_words[2]; + ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; ctx.gpr[19] = aot_run_words[4]; ctx.gpr[20] = aot_run_words[5]; @@ -7432,7 +7433,7 @@ L_08B1F89C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_5 | 0u); - { const std::uint32_t aot_run_words[3]{aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(4), aot_run_words); } aot_gpr_31 = (0x08B1F8BCu); ctx.gpr[18] = (0u | 0u); @@ -7445,12 +7446,12 @@ L_08B1F8BC: goto L_08B1F8C4; L_08B1F8C4: aot_gpr_31 = (0x08B1F8CCu); - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 463u, 0x08AC5950u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1F8CCu) goto L_08B1F8CC; AOT_REGCACHE_SYNC_OUT(); return; L_08B1F8CC: if (ctx.gpr[2] == aot_gpr_16) { - aot_gpr_17 = (0u | 1u); + ctx.gpr[17] = (0u | 1u); goto L_08B1F8F4; } goto L_08B1F8D4; @@ -7464,17 +7465,17 @@ L_08B1F8DC: aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_4 = (aot_gpr_17 & 255u); + aot_gpr_4 = (ctx.gpr[17] & 255u); if (branch_taken) { goto L_08B1F8F8; } goto L_08B1F8F0; } L_08B1F8F0: - aot_gpr_17 = (0u | 1u); + ctx.gpr[17] = (0u | 1u); goto L_08B1F8F4; L_08B1F8F4: - aot_gpr_4 = (aot_gpr_17 & 255u); + aot_gpr_4 = (ctx.gpr[17] & 255u); goto L_08B1F8F8; L_08B1F8F8: { const bool branch_taken = aot_gpr_4 == 0u; @@ -7492,7 +7493,7 @@ L_08B1F904: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -7544,8 +7545,8 @@ L_08B1F95C: AOT_REGCACHE_SYNC_OUT(); return; L_08B1F970: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); { const bool branch_taken = aot_gpr_4 == 0u; @@ -7558,8 +7559,8 @@ L_08B1F970: L_08B1F98C: aot_gpr_4 = (2235u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-30640)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(36), aot_gpr_4); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(36), aot_gpr_4); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B1F9A4u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 486u, 0x08AC5AE8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1F9A4u) goto L_08B1F9A4; @@ -7575,14 +7576,14 @@ L_08B1F9A4: } L_08B1F9B0: aot_gpr_31 = (0x08B1F9B8u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1F9B8u) goto L_08B1F9B8; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B1F9B8u) goto L_08B1F9B8; AOT_REGCACHE_SYNC_OUT(); return; L_08B1F9B8: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -7742,13 +7743,13 @@ L_08B1FAA0: AOT_REGCACHE_SYNC_OUT(); return; L_08B1FAAC: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - ctx.gpr[7] = (ctx.gpr[6] | 0u); - ctx.gpr[6] = (49024u << 16u); - aot_fpr_13 = std::bit_cast(ctx.gpr[6]); + ctx.gpr[7] = (aot_gpr_6 | 0u); + aot_gpr_6 = (49024u << 16u); + aot_fpr_13 = std::bit_cast(aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_16); aot_gpr_16 = (0u | 1u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(aot_fpr_13)) && aot_fpr_12 == aot_fpr_13)) ? 0x00800000u : 0u); - ctx.gpr[6] = (aot_gpr_4 | 0u); + aot_gpr_6 = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_31); { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); aot_gpr_4 = (ctx.gpr[7] | 0u); @@ -7775,10 +7776,10 @@ L_08B1FAEC: goto L_08B1FAF0; L_08B1FAF0: ctx.gpr[8] = (aot_gpr_4 | 0u); - aot_gpr_4 = (ctx.gpr[6] | 0u); + aot_gpr_4 = (aot_gpr_6 | 0u); ctx.gpr[7] = (aot_gpr_5 << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); - ctx.gpr[6] = (aot_gpr_29 + static_cast(16)); + aot_gpr_6 = (aot_gpr_29 + static_cast(16)); ctx.gpr[7] = (static_cast(static_cast(ctx.gpr[7]) >> 16u)); aot_gpr_5 = (0u | 1u); ctx.gpr[9] = (0u | 0u); @@ -7837,7 +7838,7 @@ L_08B1FB48: aot_gpr_5 = (16000u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_5); aot_gpr_5 = (0u | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); ctx.gpr[7] = (0u | 1u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); @@ -7858,13 +7859,13 @@ L_08B1FB8C: AOT_REGCACHE_SYNC_OUT(); return; L_08B1FB98: aot_gpr_29 = (aot_gpr_29 + static_cast(-208)); - { const std::uint32_t aot_run_words[10]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_31}; + { const std::uint32_t aot_run_words[10]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(160), aot_run_words); } aot_gpr_16 = (aot_gpr_4 | 0u); ctx.gpr[21] = (aot_gpr_5 & 255u); aot_gpr_4 = (49864u << 16u); ctx.fpr[22] = std::bit_cast(aot_gpr_4); - aot_fpr_20 = std::bit_cast(std::bit_cast(ctx.fpr[22])); + ctx.fpr[20] = std::bit_cast(std::bit_cast(ctx.fpr[22])); aot_fpr_12 = std::bit_cast(0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), std::bit_cast(aot_fpr_12)); @@ -7916,10 +7917,10 @@ L_08B1FB98: aot_fpr_12 = aot_fpr_12 - ctx.fpr[24]; ctx.gpr[19] = (aot_gpr_29 + static_cast(48)); ctx.gpr[18] = (aot_gpr_29 + static_cast(80)); - aot_gpr_17 = (0u | 1u); + ctx.gpr[17] = (0u | 1u); aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); - ctx.gpr[6] = (ctx.gpr[18] | 0u); + aot_gpr_6 = (ctx.gpr[18] | 0u); ctx.gpr[7] = (0u | 1u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); @@ -7948,13 +7949,13 @@ L_08B1FC70: aot_gpr_4 = (aot_gpr_4 | 52429u); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(100))); - ctx.fpr[15] = aot_fpr_12 + aot_fpr_13; + aot_fpr_15 = aot_fpr_12 + aot_fpr_13; aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); - ctx.gpr[6] = (ctx.gpr[18] | 0u); + aot_gpr_6 = (ctx.gpr[18] | 0u); aot_fpr_13 = aot_fpr_14 + aot_fpr_13; aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(96), std::bit_cast(ctx.fpr[15])); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(96), std::bit_cast(aot_fpr_15)); aot_fpr_12 = aot_fpr_12 - ctx.fpr[24]; ctx.gpr[7] = (0u | 1u); ctx.gpr[8] = (0u | 0u); @@ -7977,10 +7978,10 @@ L_08B1FCC8: goto L_08B1FCD0; } L_08B1FCD0: - aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(56))); + ctx.fpr[20] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(56))); goto L_08B1FCD4; L_08B1FCD4: - aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); + aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[22] <= aot_fpr_12)) ? 0x00800000u : 0u); // nop if (!((ctx.fcr31 & 0x00800000u) != 0u)) { @@ -8018,7 +8019,7 @@ L_08B1FD18: L_08B1FD1C: aot_gpr_4 = (aot_gpr_4 | 7864u); aot_fpr_13 = std::bit_cast(aot_gpr_4); - ctx.gpr[2] = (aot_gpr_17 | 0u); + ctx.gpr[2] = (ctx.gpr[17] | 0u); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(8), std::bit_cast(aot_fpr_12)); @@ -8033,11 +8034,11 @@ L_08B1FD34: L_08B1FD38: { std::uint32_t aot_run_words[10]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(160), aot_run_words); - aot_fpr_20 = std::bit_cast(aot_run_words[0]); + ctx.fpr[20] = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); aot_gpr_16 = aot_run_words[3]; - aot_gpr_17 = aot_run_words[4]; + ctx.gpr[17] = aot_run_words[4]; ctx.gpr[18] = aot_run_words[5]; ctx.gpr[19] = aot_run_words[6]; ctx.gpr[20] = aot_run_words[7]; @@ -8059,10 +8060,10 @@ L_08B1FD68: AOT_REGCACHE_SYNC_OUT(); return; L_08B1FD70: ctx.gpr[7] = (aot_gpr_4 << 7u); - ctx.gpr[6] = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7080))); + aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7080))); aot_gpr_4 = (aot_gpr_4 << 4u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(10576))); - { const bool branch_taken = ctx.gpr[6] == 0u; + { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_4 = (ctx.gpr[7] - aot_gpr_4); if (branch_taken) { goto L_08B1FD94; @@ -8117,29 +8118,29 @@ L_08B1FDA4: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(52), std::bit_cast(aot_fpr_14)); aot_fpr_14 = std::bit_cast(aot_gpr_5); aot_gpr_5 = (16128u << 16u); - ctx.fpr[15] = std::bit_cast(aot_gpr_5); + aot_fpr_15 = std::bit_cast(aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(56), std::bit_cast(aot_fpr_14)); aot_gpr_5 = (15948u << 16u); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(64), std::bit_cast(aot_fpr_12)); aot_gpr_5 = (aot_gpr_5 | 52429u); - aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(68), std::bit_cast(ctx.fpr[15])); + aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(68), std::bit_cast(aot_fpr_15)); ctx.fpr[16] = std::bit_cast(aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(72), std::bit_cast(ctx.fpr[16])); { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_13), std::bit_cast(aot_fpr_12)}; aot_mem.aot_direct_store32_block(aot_gpr_4 + static_cast(80), aot_run_words); } aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(96), std::bit_cast(aot_fpr_12)); - aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(100), std::bit_cast(ctx.fpr[15])); + aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(100), std::bit_cast(aot_fpr_15)); aot_gpr_5 = (16076u << 16u); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(104), std::bit_cast(ctx.fpr[16])); aot_gpr_5 = (aot_gpr_5 | 52429u); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(112), std::bit_cast(aot_fpr_12)); - ctx.fpr[15] = std::bit_cast(aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(116), std::bit_cast(ctx.fpr[15])); + aot_fpr_15 = std::bit_cast(aot_gpr_5); + aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(116), std::bit_cast(aot_fpr_15)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(120), std::bit_cast(aot_fpr_13)); - { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_12), std::bit_cast(ctx.fpr[15]), std::bit_cast(ctx.fpr[16])}; + { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_15), std::bit_cast(ctx.fpr[16])}; aot_mem.aot_direct_store32_block(aot_gpr_4 + static_cast(128), aot_run_words); } aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(144), std::bit_cast(aot_fpr_12)); - aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(148), std::bit_cast(ctx.fpr[15])); + aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(148), std::bit_cast(aot_fpr_15)); aot_gpr_5 = (16153u << 16u); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(152), std::bit_cast(ctx.fpr[16])); aot_gpr_5 = (aot_gpr_5 | 39322u); diff --git a/profiles/vcs/generated/generated_unit_0199.cpp b/profiles/vcs/generated/generated_unit_0199.cpp index 77cc301..2468f9e 100644 --- a/profiles/vcs/generated/generated_unit_0199.cpp +++ b/profiles/vcs/generated/generated_unit_0199.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0199[4089] = { }; void recomp_unit_0199_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,16,29,31,6 fprs=12,13,14,15 gpr_occ=3996 fpr_occ=530 gpr_total=5410 fpr_total=803 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,31,29,16,6 fprs=12,13,14,15 gpr_occ=4172 fpr_occ=530 gpr_total=5667 fpr_total=803 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; - std::uint32_t aot_gpr_16 = ctx.gpr[16]; - std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; + std::uint32_t aot_gpr_29 = ctx.gpr[29]; + std::uint32_t aot_gpr_16 = ctx.gpr[16]; std::uint32_t aot_gpr_6 = ctx.gpr[6]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_14 = ctx.fpr[14]; float aot_fpr_15 = ctx.fpr[15]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[16] = aot_gpr_16; ctx.gpr[29] = aot_gpr_29; ctx.gpr[31] = aot_gpr_31; ctx.gpr[6] = aot_gpr_6; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[15] = aot_fpr_15; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_6 = ctx.gpr[6]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_15 = ctx.fpr[15]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[31] = aot_gpr_31; ctx.gpr[29] = aot_gpr_29; ctx.gpr[16] = aot_gpr_16; ctx.gpr[6] = aot_gpr_6; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[15] = aot_fpr_15; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_6 = ctx.gpr[6]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_15 = ctx.fpr[15]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -1193,32 +1194,32 @@ L_08B201E4: aot_gpr_4 = (0u | 6u); aot_gpr_31 = (0x08B20200u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B20200u) goto L_08B20200; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B20200u) goto L_08B20200; AOT_REGCACHE_SYNC_OUT(); return; L_08B20200: aot_gpr_4 = (0u | 10u); aot_gpr_31 = (0x08B2020Cu); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2020Cu) goto L_08B2020C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2020Cu) goto L_08B2020C; AOT_REGCACHE_SYNC_OUT(); return; L_08B2020C: aot_gpr_4 = (0u | 8u); aot_gpr_31 = (0x08B20218u); aot_gpr_5 = (0u | 5u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B20218u) goto L_08B20218; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B20218u) goto L_08B20218; AOT_REGCACHE_SYNC_OUT(); return; L_08B20218: aot_gpr_4 = (0u | 9u); aot_gpr_31 = (0x08B20224u); aot_gpr_5 = (0u | 6u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B20224u) goto L_08B20224; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B20224u) goto L_08B20224; AOT_REGCACHE_SYNC_OUT(); return; L_08B20224: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(3608))); aot_gpr_4 = (0u | 1u); aot_gpr_31 = (0x08B20234u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B20234u) goto L_08B20234; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B20234u) goto L_08B20234; AOT_REGCACHE_SYNC_OUT(); return; L_08B20234: ctx.gpr[17] = (0u | 0u); @@ -1298,7 +1299,7 @@ L_08B202B8: ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x08B202D0u); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B202D0u) goto L_08B202D0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B202D0u) goto L_08B202D0; AOT_REGCACHE_SYNC_OUT(); return; L_08B202D0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(0))); @@ -1332,7 +1333,7 @@ L_08B202EC: ctx.gpr[7] = (0u | 11u); aot_gpr_31 = (0x08B20304u); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B20304u) goto L_08B20304; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B20304u) goto L_08B20304; AOT_REGCACHE_SYNC_OUT(); return; L_08B20304: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(0))); @@ -1350,7 +1351,7 @@ L_08B20310: ctx.gpr[7] = (0u | 9u); aot_gpr_31 = (0x08B20328u); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B20328u) goto L_08B20328; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B20328u) goto L_08B20328; AOT_REGCACHE_SYNC_OUT(); return; L_08B20328: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(0))); @@ -1368,7 +1369,7 @@ L_08B20334: ctx.gpr[7] = (0u | 96u); aot_gpr_31 = (0x08B2034Cu); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2034Cu) goto L_08B2034C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2034Cu) goto L_08B2034C; AOT_REGCACHE_SYNC_OUT(); return; L_08B2034C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(0))); @@ -1589,19 +1590,19 @@ L_08B20584: aot_gpr_4 = (0u | 10u); aot_gpr_31 = (0x08B20590u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B20590u) goto L_08B20590; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B20590u) goto L_08B20590; AOT_REGCACHE_SYNC_OUT(); return; L_08B20590: aot_gpr_4 = (0u | 6u); aot_gpr_31 = (0x08B2059Cu); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2059Cu) goto L_08B2059C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2059Cu) goto L_08B2059C; AOT_REGCACHE_SYNC_OUT(); return; L_08B2059C: aot_gpr_4 = (0u | 4u); aot_gpr_31 = (0x08B205A8u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B205A8u) goto L_08B205A8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B205A8u) goto L_08B205A8; AOT_REGCACHE_SYNC_OUT(); return; L_08B205A8: { std::uint32_t aot_run_words[3]{}; @@ -2363,7 +2364,7 @@ L_08B20C34: L_08B20C3C: aot_gpr_31 = (0x08B20C44u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B20C44u) goto L_08B20C44; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B20C44u) goto L_08B20C44; AOT_REGCACHE_SYNC_OUT(); return; L_08B20C44: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -2434,7 +2435,7 @@ L_08B20C98: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(80), aot_gpr_31); aot_gpr_31 = (0x08B20CBCu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B20CBCu) goto L_08B20CBC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B20CBCu) goto L_08B20CBC; AOT_REGCACHE_SYNC_OUT(); return; L_08B20CBC: { const bool branch_taken = ctx.gpr[2] != 0u; @@ -2655,7 +2656,7 @@ L_08B20E08: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B20E14u); aot_gpr_5 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B20E14u) goto L_08B20E14; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B20E14u) goto L_08B20E14; AOT_REGCACHE_SYNC_OUT(); return; L_08B20E14: aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(8), 0u); @@ -3117,7 +3118,7 @@ L_08B21200: L_08B21214: aot_gpr_31 = (0x08B2121Cu); aot_gpr_4 = (ctx.gpr[28] + static_cast(3672)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2121Cu) goto L_08B2121C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2121Cu) goto L_08B2121C; AOT_REGCACHE_SYNC_OUT(); return; L_08B2121C: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -3150,7 +3151,7 @@ L_08B2124C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B21264u); aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(0), 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B21264u) goto L_08B21264; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B21264u) goto L_08B21264; AOT_REGCACHE_SYNC_OUT(); return; L_08B21264: aot_gpr_4 = (ctx.gpr[17] | 0u); @@ -3248,7 +3249,7 @@ L_08B212EC: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), 0u); aot_gpr_31 = (0x08B21304u); aot_gpr_4 = (aot_gpr_6 + static_cast(29232)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B21304u) goto L_08B21304; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B21304u) goto L_08B21304; AOT_REGCACHE_SYNC_OUT(); return; L_08B21304: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -3402,12 +3403,12 @@ L_08B213EC: aot_gpr_4 = (2236u << 16u); aot_gpr_31 = (0x08B213FCu); aot_gpr_4 = (aot_gpr_4 + static_cast(31984)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B213FCu) goto L_08B213FC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B213FCu) goto L_08B213FC; AOT_REGCACHE_SYNC_OUT(); return; L_08B213FC: aot_gpr_31 = (0x08B21404u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B21404u) goto L_08B21404; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B21404u) goto L_08B21404; AOT_REGCACHE_SYNC_OUT(); return; L_08B21404: ctx.gpr[2] = (0u | 1u); @@ -4627,7 +4628,7 @@ L_08B21D88: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(1904), 0u); aot_gpr_31 = (0x08B21D98u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B21D98u) goto L_08B21D98; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089101A4, 67u, 27u, 0x089101A4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B21D98u) goto L_08B21D98; AOT_REGCACHE_SYNC_OUT(); return; L_08B21D98: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -4640,7 +4641,7 @@ L_08B21D98: L_08B21DA0: aot_gpr_31 = (0x08B21DA8u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B21DA8u) goto L_08B21DA8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089101A4, 67u, 27u, 0x089101A4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B21DA8u) goto L_08B21DA8; AOT_REGCACHE_SYNC_OUT(); return; L_08B21DA8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(72))); @@ -4657,13 +4658,13 @@ L_08B21DA8: L_08B21DC0: aot_gpr_31 = (0x08B21DC8u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B21DC8u) goto L_08B21DC8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089101A4, 67u, 27u, 0x089101A4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B21DC8u) goto L_08B21DC8; AOT_REGCACHE_SYNC_OUT(); return; L_08B21DC8: ctx.gpr[17] = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08B21DD4u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B21DD4u) goto L_08B21DD4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B21DD4u) goto L_08B21DD4; AOT_REGCACHE_SYNC_OUT(); return; L_08B21DD4: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -4694,7 +4695,7 @@ L_08B21DF8: L_08B21E00: aot_gpr_31 = (0x08B21E08u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B21E08u) goto L_08B21E08; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089101A4, 67u, 27u, 0x089101A4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B21E08u) goto L_08B21E08; AOT_REGCACHE_SYNC_OUT(); return; L_08B21E08: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -4714,7 +4715,7 @@ L_08B21E18: L_08B21E20: aot_gpr_31 = (0x08B21E28u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B21E28u) goto L_08B21E28; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089101A4, 67u, 27u, 0x089101A4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B21E28u) goto L_08B21E28; AOT_REGCACHE_SYNC_OUT(); return; L_08B21E28: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -5206,7 +5207,7 @@ L_08B22160: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2288))); aot_gpr_31 = (0x08B2216Cu); aot_gpr_5 = (aot_gpr_16 + static_cast(2288)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2216Cu) goto L_08B2216C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2216Cu) goto L_08B2216C; AOT_REGCACHE_SYNC_OUT(); return; L_08B2216C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2288))); @@ -5603,7 +5604,7 @@ L_08B223D0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2288))); aot_gpr_31 = (0x08B223DCu); aot_gpr_5 = (aot_gpr_16 + static_cast(2288)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B223DCu) goto L_08B223DC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B223DCu) goto L_08B223DC; AOT_REGCACHE_SYNC_OUT(); return; L_08B223DC: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2288))); @@ -5779,7 +5780,7 @@ L_08B224F8: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B22514u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B22514u) goto L_08B22514; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B22514u) goto L_08B22514; AOT_REGCACHE_SYNC_OUT(); return; L_08B22514: { const bool branch_taken = 0u == 0u; @@ -5810,7 +5811,7 @@ L_08B22538: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B22554u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B22554u) goto L_08B22554; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B22554u) goto L_08B22554; AOT_REGCACHE_SYNC_OUT(); return; L_08B22554: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(48))); @@ -5910,7 +5911,7 @@ L_08B225F8: aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(1768), aot_gpr_5); aot_gpr_31 = (0x08B22610u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B22610u) goto L_08B22610; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B22610u) goto L_08B22610; AOT_REGCACHE_SYNC_OUT(); return; L_08B22610: aot_gpr_4 = (aot_gpr_16 | 0u); @@ -5922,7 +5923,7 @@ L_08B2261C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B22628u); aot_gpr_5 = (0u | 27u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B22628u) goto L_08B22628; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08908E78, 65u, 261u, 0x08908E78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B22628u) goto L_08B22628; AOT_REGCACHE_SYNC_OUT(); return; L_08B22628: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2288))); @@ -5992,7 +5993,7 @@ L_08B226B0: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B226BCu); aot_gpr_5 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B226BCu) goto L_08B226BC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B226BCu) goto L_08B226BC; AOT_REGCACHE_SYNC_OUT(); return; L_08B226BC: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(460))); @@ -6148,7 +6149,7 @@ L_08B227C4: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(1716), aot_gpr_4); aot_gpr_31 = (0x08B227D8u); aot_gpr_5 = (aot_gpr_16 + static_cast(1716)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B227D8u) goto L_08B227D8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B227D8u) goto L_08B227D8; AOT_REGCACHE_SYNC_OUT(); return; L_08B227D8: aot_gpr_31 = (0x08B227E0u); @@ -6332,7 +6333,7 @@ L_08B22918: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(1716), aot_gpr_4); aot_gpr_31 = (0x08B2292Cu); aot_gpr_5 = (aot_gpr_16 + static_cast(1716)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2292Cu) goto L_08B2292C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2292Cu) goto L_08B2292C; AOT_REGCACHE_SYNC_OUT(); return; L_08B2292C: aot_gpr_31 = (0x08B22934u); @@ -6362,13 +6363,13 @@ L_08B2295C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B22968u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B22968u) goto L_08B22968; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B22968u) goto L_08B22968; AOT_REGCACHE_SYNC_OUT(); return; L_08B22968: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B22974u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B22974u) goto L_08B22974; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B22974u) goto L_08B22974; AOT_REGCACHE_SYNC_OUT(); return; L_08B22974: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2288))); @@ -6396,7 +6397,7 @@ L_08B229A8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2288))); aot_gpr_31 = (0x08B229B4u); aot_gpr_5 = (0u | 5u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B229B4u) goto L_08B229B4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08908E78, 65u, 261u, 0x08908E78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B229B4u) goto L_08B229B4; AOT_REGCACHE_SYNC_OUT(); return; L_08B229B4: aot_gpr_31 = (0x08B229BCu); @@ -6416,7 +6417,7 @@ L_08B229BC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2288))); aot_gpr_31 = (0x08B229ECu); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B229ECu) goto L_08B229EC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B229ECu) goto L_08B229EC; AOT_REGCACHE_SYNC_OUT(); return; L_08B229EC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2288))); @@ -6435,7 +6436,7 @@ L_08B22A0C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2288))); aot_gpr_31 = (0x08B22A18u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B22A18u) goto L_08B22A18; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B22A18u) goto L_08B22A18; AOT_REGCACHE_SYNC_OUT(); return; L_08B22A18: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2288))); @@ -6491,7 +6492,7 @@ L_08B22A9C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B22AA8u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B22AA8u) goto L_08B22AA8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B22AA8u) goto L_08B22AA8; AOT_REGCACHE_SYNC_OUT(); return; L_08B22AA8: { const bool branch_taken = 0u == 0u; @@ -6667,7 +6668,7 @@ L_08B22BCC: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B22BD8u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B22BD8u) goto L_08B22BD8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B22BD8u) goto L_08B22BD8; AOT_REGCACHE_SYNC_OUT(); return; L_08B22BD8: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2288), 0u); @@ -6791,7 +6792,7 @@ L_08B22C94: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B22CA0u); aot_gpr_5 = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B22CA0u) goto L_08B22CA0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B22CA0u) goto L_08B22CA0; AOT_REGCACHE_SYNC_OUT(); return; L_08B22CA0: aot_gpr_4 = (0u | 1u); @@ -6878,7 +6879,7 @@ L_08B22D18: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B22D24u); aot_gpr_5 = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B22D24u) goto L_08B22D24; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B22D24u) goto L_08B22D24; AOT_REGCACHE_SYNC_OUT(); return; L_08B22D24: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2300), ctx.gpr[17]); @@ -7028,7 +7029,7 @@ L_08B22E14: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B22E28u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B22E28u) goto L_08B22E28; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B22E28u) goto L_08B22E28; AOT_REGCACHE_SYNC_OUT(); return; L_08B22E28: { const bool branch_taken = 0u == 0u; @@ -8091,7 +8092,7 @@ L_08B23664: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2288))); aot_gpr_31 = (0x08B23670u); aot_gpr_5 = (aot_gpr_16 + static_cast(2288)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B23670u) goto L_08B23670; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B23670u) goto L_08B23670; AOT_REGCACHE_SYNC_OUT(); return; L_08B23670: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(260))); diff --git a/profiles/vcs/generated/generated_unit_0200.cpp b/profiles/vcs/generated/generated_unit_0200.cpp index 4145fad..1cfb50d 100644 --- a/profiles/vcs/generated/generated_unit_0200.cpp +++ b/profiles/vcs/generated/generated_unit_0200.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0200[4087] = { }; void recomp_unit_0200_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,16,31,17 fprs=12,13,14,16 gpr_occ=3861 fpr_occ=658 gpr_total=5305 fpr_total=1123 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,31,6,16 fprs=12,13,14,16 gpr_occ=4034 fpr_occ=659 gpr_total=5647 fpr_total=1124 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; - std::uint32_t aot_gpr_16 = ctx.gpr[16]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; - std::uint32_t aot_gpr_17 = ctx.gpr[17]; + std::uint32_t aot_gpr_6 = ctx.gpr[6]; + std::uint32_t aot_gpr_16 = ctx.gpr[16]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_14 = ctx.fpr[14]; float aot_fpr_16 = ctx.fpr[16]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[16] = aot_gpr_16; ctx.gpr[31] = aot_gpr_31; ctx.gpr[17] = aot_gpr_17; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[16] = aot_fpr_16; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_17 = ctx.gpr[17]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_16 = ctx.fpr[16]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[31] = aot_gpr_31; ctx.gpr[6] = aot_gpr_6; ctx.gpr[16] = aot_gpr_16; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[16] = aot_fpr_16; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_16 = ctx.gpr[16]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_16 = ctx.fpr[16]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -1038,7 +1039,7 @@ L_08B24020: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(12))); aot_gpr_4 = (ctx.gpr[20] | 0u); - ctx.gpr[6] = (aot_gpr_29 + static_cast(240)); + aot_gpr_6 = (aot_gpr_29 + static_cast(240)); aot_gpr_5 = (0u | 0u); ctx.gpr[7] = (0u | 2u); ctx.gpr[8] = (0u | 0u); @@ -1060,7 +1061,7 @@ L_08B240A4: goto L_08B240B0; } L_08B240B0: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_31 = (0x08B240BCu); aot_gpr_4 = (0u | 496u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0009_entry, 9u, 392u, 0x0882B994u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B240BCu) goto L_08B240BC; @@ -1079,28 +1080,28 @@ L_08B240C8: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(68))); aot_gpr_31 = (0x08B240DCu); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0009_entry, 9u, 351u, 0x0882B688u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B240DCu) goto L_08B240DC; AOT_REGCACHE_SYNC_OUT(); return; L_08B240DC: - aot_gpr_17 = (aot_gpr_16 | 0u); + ctx.gpr[17] = (aot_gpr_16 | 0u); goto L_08B240E0; L_08B240E0: aot_gpr_5 = (aot_gpr_29 + static_cast(160)); aot_gpr_31 = (0x08B240ECu); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 7u, 0x08860358u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B240ECu) goto L_08B240EC; AOT_REGCACHE_SYNC_OUT(); return; L_08B240EC: aot_gpr_4 = (0u | 3u); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(476), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(476), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_5 = (9u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(10176)); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(464), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(464), aot_gpr_4); aot_gpr_31 = (0x08B24110u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 224u, 0x08891A2Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B24110u) goto L_08B24110; AOT_REGCACHE_SYNC_OUT(); return; L_08B24110: @@ -1150,7 +1151,7 @@ L_08B24148: ctx.fpr[28] = std::bit_cast(aot_run_words[4]); ctx.fpr[30] = std::bit_cast(aot_run_words[5]); aot_gpr_16 = aot_run_words[6]; - aot_gpr_17 = aot_run_words[7]; + ctx.gpr[17] = aot_run_words[7]; ctx.gpr[18] = aot_run_words[8]; ctx.gpr[19] = aot_run_words[9]; ctx.gpr[20] = aot_run_words[10]; @@ -1169,41 +1170,41 @@ L_08B24148: L_08B24190: aot_gpr_29 = (aot_gpr_29 + static_cast(-544)); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16928))); - ctx.gpr[6] = (aot_gpr_4 << 3u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(508), aot_gpr_17); + aot_gpr_6 = (aot_gpr_4 << 3u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(508), ctx.gpr[17]); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); - aot_gpr_17 = (aot_gpr_4 + ctx.gpr[6]); - aot_gpr_17 = (aot_gpr_4 + aot_gpr_17); + ctx.gpr[17] = (aot_gpr_4 + aot_gpr_6); + ctx.gpr[17] = (aot_gpr_4 + ctx.gpr[17]); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(8))); - ctx.gpr[6] = (ctx.gpr[7] + aot_gpr_17); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[6] + static_cast(6)))))); - ctx.gpr[6] = (ctx.gpr[6] + ctx.gpr[6]); + aot_gpr_6 = (ctx.gpr[7] + ctx.gpr[17]); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(6)))))); + aot_gpr_6 = (aot_gpr_6 + aot_gpr_6); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); - ctx.gpr[6] = (ctx.gpr[6] << 2u); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); + aot_gpr_6 = (aot_gpr_6 << 2u); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(2)))))); - ctx.gpr[6] = (aot_gpr_5 + ctx.gpr[6]); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[6] + static_cast(2)))))); + aot_gpr_6 = (aot_gpr_5 + aot_gpr_6); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_6 + static_cast(2)))))); aot_gpr_4 = (aot_gpr_4 << 2u); - ctx.gpr[7] = (ctx.gpr[6] & 56u); + ctx.gpr[7] = (aot_gpr_6 & 56u); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); - ctx.gpr[6] = (ctx.gpr[6] & 7u); + aot_gpr_6 = (aot_gpr_6 & 7u); aot_gpr_5 = (ctx.gpr[7] >> 3u); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(2)))))); - aot_gpr_5 = (ctx.gpr[6] + aot_gpr_5); - ctx.gpr[6] = (aot_gpr_4 & 56u); + aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); + aot_gpr_6 = (aot_gpr_4 & 56u); aot_gpr_4 = (aot_gpr_4 & 7u); - ctx.gpr[6] = (ctx.gpr[6] >> 3u); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_6 = (aot_gpr_6 >> 3u); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(504), aot_gpr_16); - ctx.gpr[6] = (static_cast(aot_gpr_4) < static_cast(aot_gpr_5) ? 1u : 0u); + aot_gpr_6 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_5) ? 1u : 0u); aot_gpr_16 = (aot_gpr_29 + static_cast(80)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(496), std::bit_cast(ctx.fpr[20])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(500), std::bit_cast(ctx.fpr[22])); { const std::uint32_t aot_run_words[7]{ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(512), aot_run_words); } - if (ctx.gpr[6] != 0u) { + if (aot_gpr_6 != 0u) { aot_gpr_4 = (aot_gpr_5 | 0u); goto L_08B2423C; } @@ -1217,12 +1218,12 @@ L_08B2423C: ctx.fpr[20] = aot_fpr_12 + aot_fpr_13; aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16928))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - aot_gpr_4 = (aot_gpr_4 + aot_gpr_17); + aot_gpr_4 = (aot_gpr_4 + ctx.gpr[17]); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(6)))))); aot_gpr_4 = (aot_gpr_4 + aot_gpr_4); - aot_gpr_4 = (ctx.gpr[6] + aot_gpr_4); + aot_gpr_4 = (aot_gpr_6 + aot_gpr_4); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(2)))))); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); @@ -1234,12 +1235,12 @@ L_08B2423C: L_08B2428C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16928))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - aot_gpr_4 = (aot_gpr_4 + aot_gpr_17); + aot_gpr_4 = (aot_gpr_4 + ctx.gpr[17]); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(6)))))); aot_gpr_4 = (aot_gpr_4 + aot_gpr_4); - aot_gpr_4 = (ctx.gpr[6] + aot_gpr_4); + aot_gpr_4 = (aot_gpr_6 + aot_gpr_4); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); @@ -1304,7 +1305,7 @@ L_08B242C4: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16928))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - aot_gpr_4 = (aot_gpr_4 + aot_gpr_17); + aot_gpr_4 = (aot_gpr_4 + ctx.gpr[17]); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(5))); aot_gpr_5 = (16128u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_5); @@ -1318,14 +1319,14 @@ L_08B242C4: L_08B2433C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16928))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - aot_gpr_5 = (aot_gpr_4 + aot_gpr_17); + aot_gpr_5 = (aot_gpr_4 + ctx.gpr[17]); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(5))); aot_fpr_12 = std::bit_cast(aot_gpr_5); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_gpr_5 = (15744u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_5); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[22] = std::bit_cast(0x7FC00000u); else ctx.fpr[22] = fs * ft; } - aot_gpr_4 = (aot_gpr_4 + aot_gpr_17); + aot_gpr_4 = (aot_gpr_4 + ctx.gpr[17]); ctx.gpr[18] = (aot_gpr_29 + static_cast(112)); aot_gpr_31 = (0x08B24370u); aot_gpr_5 = (ctx.gpr[18] | 0u); @@ -1376,7 +1377,7 @@ L_08B24370: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16928))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - aot_gpr_4 = (aot_gpr_4 + aot_gpr_17); + aot_gpr_4 = (aot_gpr_4 + ctx.gpr[17]); ctx.gpr[21] = (aot_gpr_29 + static_cast(160)); aot_gpr_31 = (0x08B243B8u); aot_gpr_5 = (ctx.gpr[21] | 0u); @@ -1432,7 +1433,7 @@ L_08B243B8: L_08B243F0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16928))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - aot_gpr_4 = (aot_gpr_4 + aot_gpr_17); + aot_gpr_4 = (aot_gpr_4 + ctx.gpr[17]); aot_gpr_31 = (0x08B24404u); aot_gpr_5 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 606u, 0x08B22E6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B24404u) goto L_08B24404; @@ -1479,7 +1480,7 @@ L_08B24404: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16928))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - aot_gpr_4 = (aot_gpr_4 + aot_gpr_17); + aot_gpr_4 = (aot_gpr_4 + ctx.gpr[17]); aot_gpr_31 = (0x08B2443Cu); aot_gpr_5 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 606u, 0x08B22E6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2443Cu) goto L_08B2443C; @@ -1540,7 +1541,7 @@ L_08B2446C: L_08B24474: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16928))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - aot_gpr_4 = (aot_gpr_4 + aot_gpr_17); + aot_gpr_4 = (aot_gpr_4 + ctx.gpr[17]); ctx.gpr[18] = (aot_gpr_29 + static_cast(208)); aot_gpr_31 = (0x08B2448Cu); aot_gpr_5 = (ctx.gpr[18] | 0u); @@ -1590,10 +1591,10 @@ L_08B2448C: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16928))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - aot_gpr_4 = (aot_gpr_4 + aot_gpr_17); - aot_gpr_17 = (aot_gpr_29 + static_cast(256)); + aot_gpr_4 = (aot_gpr_4 + ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_29 + static_cast(256)); aot_gpr_31 = (0x08B244D0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 606u, 0x08B22E6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B244D0u) goto L_08B244D0; AOT_REGCACHE_SYNC_OUT(); return; L_08B244D0: @@ -1614,7 +1615,7 @@ L_08B244D0: const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -1648,7 +1649,7 @@ L_08B24504: ctx.fpr[20] = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); aot_gpr_16 = aot_run_words[2]; - aot_gpr_17 = aot_run_words[3]; + ctx.gpr[17] = aot_run_words[3]; ctx.gpr[18] = aot_run_words[4]; ctx.gpr[19] = aot_run_words[5]; ctx.gpr[20] = aot_run_words[6]; @@ -1665,29 +1666,29 @@ L_08B24504: AOT_REGCACHE_SYNC_OUT(); return; L_08B24538: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (2233u << 16u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (2233u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[19]); ctx.gpr[19] = (0u | 0u); ctx.gpr[18] = (0u | 0u); aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_17 = (aot_gpr_17 + static_cast(-31868)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(-31868)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[20]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_31); goto L_08B24568; L_08B24568: - ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + ctx.gpr[20] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_gpr_31 = (0x08B24574u); aot_gpr_4 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B24574u) goto L_08B24574; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B24574u) goto L_08B24574; AOT_REGCACHE_SYNC_OUT(); return; L_08B24574: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08B24584u); - ctx.gpr[6] = (ctx.gpr[2] | 0u); + aot_gpr_6 = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 314u, 0x089D1D64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B24584u) goto L_08B24584; AOT_REGCACHE_SYNC_OUT(); return; L_08B24584: @@ -1704,7 +1705,7 @@ L_08B24584: aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(5), static_cast(aot_gpr_5)); aot_gpr_4 = (static_cast(ctx.gpr[19]) < 16 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(4)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(4)); if (branch_taken) { goto L_08B24568; } @@ -1714,7 +1715,7 @@ L_08B245BC: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -1729,12 +1730,12 @@ L_08B245BC: L_08B245DC: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_gpr_16 = (aot_gpr_5 | 0u); - aot_gpr_17 = (aot_gpr_4 | 0u); + ctx.gpr[17] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08B245FCu); - aot_gpr_5 = (ctx.gpr[6] | 0u); + aot_gpr_5 = (aot_gpr_6 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 640u, 0x08A93FC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B245FCu) goto L_08B245FC; AOT_REGCACHE_SYNC_OUT(); return; L_08B245FC: @@ -1748,11 +1749,11 @@ L_08B245FC: } L_08B24608: aot_gpr_4 = (0u | 1u); - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(6))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(6))); aot_gpr_4 = (aot_gpr_4 << (aot_gpr_16 & 31u)); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_4 = (aot_gpr_5 | aot_gpr_4); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(6), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(6), static_cast(aot_gpr_4)); { const bool branch_taken = 0u == 0u; ctx.gpr[2] = (0u | 0u); if (branch_taken) { @@ -1764,7 +1765,7 @@ L_08B24628: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -1777,9 +1778,9 @@ L_08B2463C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); ctx.gpr[7] = (aot_gpr_5 | 0u); - aot_gpr_5 = (ctx.gpr[6] << 2u); + aot_gpr_5 = (aot_gpr_6 << 2u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(84))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(84))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); ctx.gpr[8] = (static_cast(aot_gpr_5) < 6 ? 1u : 0u); @@ -1818,7 +1819,7 @@ L_08B2467C: } L_08B24688: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - aot_gpr_5 = (ctx.gpr[6] | 0u); + aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x08B24698u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 640u, 0x08A93FC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B24698u) goto L_08B24698; @@ -1833,7 +1834,7 @@ L_08B24698: } L_08B246A0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - aot_gpr_5 = (ctx.gpr[6] | 0u); + aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x08B246B0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 640u, 0x08A93FC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B246B0u) goto L_08B246B0; @@ -1850,17 +1851,17 @@ L_08B246BC: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); { const bool branch_taken = aot_gpr_4 == 0u; - ctx.gpr[6] = (2235u << 16u); + aot_gpr_6 = (2235u << 16u); if (branch_taken) { goto L_08B246E4; } goto L_08B246CC; } L_08B246CC: - ctx.gpr[6] = (ctx.gpr[6] + static_cast(-30256)); + aot_gpr_6 = (aot_gpr_6 + static_cast(-30256)); aot_gpr_5 = (aot_gpr_5 & 1u); { const bool branch_taken = aot_gpr_5 == 0u; - aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(8), ctx.gpr[6]); + aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(8), aot_gpr_6); if (branch_taken) { goto L_08B246E4; } @@ -1869,7 +1870,7 @@ L_08B246CC: L_08B246DC: aot_gpr_31 = (0x08B246E4u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B246E4u) goto L_08B246E4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B246E4u) goto L_08B246E4; AOT_REGCACHE_SYNC_OUT(); return; L_08B246E4: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -1927,12 +1928,12 @@ L_08B24740: AOT_REGCACHE_SYNC_OUT(); return; L_08B24750: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(16)); - ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[6] + static_cast(0)))))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(4))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); + aot_gpr_6 = (aot_gpr_6 + static_cast(16)); + ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(0)))))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); - jump_target = ctx.gpr[6]; + jump_target = aot_gpr_6; aot_gpr_31 = (0x08B24770u); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[7]); ctx.pc = jump_target; @@ -1950,12 +1951,12 @@ L_08B2477C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); aot_gpr_5 = (aot_gpr_5 + static_cast(56)); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); jump_target = aot_gpr_5; aot_gpr_31 = (0x08B2479Cu); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2479Cu) goto L_08B2479C; AOT_REGCACHE_SYNC_OUT(); return; @@ -1983,27 +1984,27 @@ L_08B247B0: AOT_REGCACHE_SYNC_OUT(); return; L_08B247B8: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(4)))))); - ctx.gpr[6] = (0u + static_cast(-3)); - aot_gpr_5 = (aot_gpr_5 & ctx.gpr[6]); + aot_gpr_6 = (0u + static_cast(-3)); + aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(4), static_cast(aot_gpr_5)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(4)))))); - ctx.gpr[6] = (0u + static_cast(-5)); - aot_gpr_5 = (aot_gpr_5 & ctx.gpr[6]); + aot_gpr_6 = (0u + static_cast(-5)); + aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(4), static_cast(aot_gpr_5)); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(4)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(4)))))); aot_gpr_5 = (0u | 65535u); ctx.gpr[7] = (0u + static_cast(-9)); aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_5)); - ctx.gpr[6] = (ctx.gpr[6] & ctx.gpr[7]); - aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(4), static_cast(ctx.gpr[6])); + aot_gpr_6 = (aot_gpr_6 & ctx.gpr[7]); + aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(4), static_cast(aot_gpr_6)); aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(2), static_cast(aot_gpr_5)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(4)))))); - ctx.gpr[6] = (0u + static_cast(-17)); - aot_gpr_5 = (aot_gpr_5 & ctx.gpr[6]); + aot_gpr_6 = (0u + static_cast(-17)); + aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(4), static_cast(aot_gpr_5)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(4)))))); - ctx.gpr[6] = (0u + static_cast(-33)); - aot_gpr_5 = (aot_gpr_5 & ctx.gpr[6]); + aot_gpr_6 = (0u + static_cast(-33)); + aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); jump_target = aot_gpr_31; aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(4), static_cast(aot_gpr_5)); local_pc = jump_target; @@ -2026,9 +2027,9 @@ L_08B24820: aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(3968))); ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); aot_fpr_12 = aot_fpr_12 + aot_fpr_14; - ctx.gpr[6] = (aot_gpr_5 | 0u); + aot_gpr_6 = (aot_gpr_5 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), std::bit_cast(aot_fpr_13)); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(0), 0u); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(0), 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), std::bit_cast(ctx.fpr[15])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(3972))); @@ -2092,9 +2093,9 @@ L_08B248C4: L_08B248D4: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_gpr_16 = (aot_gpr_5 | 0u); - aot_gpr_17 = (aot_gpr_4 | 0u); + ctx.gpr[17] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08B248F4u); aot_gpr_5 = (0u | 4u); @@ -2104,11 +2105,11 @@ L_08B248F4: aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(0), aot_gpr_16); aot_gpr_5 = (ctx.gpr[28] + static_cast(4096)); aot_gpr_31 = (0x08B24904u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0038_entry, 38u, 249u, 0x0889D344u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B24904u) goto L_08B24904; AOT_REGCACHE_SYNC_OUT(); return; L_08B24904: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B24910u); aot_gpr_5 = (0u + static_cast(-2)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 492u, 0x08807510u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B24910u) goto L_08B24910; @@ -2117,7 +2118,7 @@ L_08B24910: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -2129,21 +2130,21 @@ L_08B24910: L_08B24924: aot_gpr_29 = (aot_gpr_29 + static_cast(-64)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), ctx.gpr[17]); aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_17 = (0u | 1u); + ctx.gpr[17] = (0u | 1u); { const std::uint32_t aot_run_words[6]{ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(40), aot_run_words); } aot_gpr_31 = (0x08B24958u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B24958u) goto L_08B24958; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B24958u) goto L_08B24958; AOT_REGCACHE_SYNC_OUT(); return; L_08B24958: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[0])); ctx.gpr[20] = (aot_gpr_29 + static_cast(16)); aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_5 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); ctx.gpr[18] = (std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08B24978u); ctx.gpr[7] = (0u | 1u); @@ -2186,7 +2187,7 @@ L_08B2499C: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_5 = (0u | 5u); - ctx.gpr[6] = (aot_gpr_29 | 0u); + aot_gpr_6 = (aot_gpr_29 | 0u); ctx.gpr[7] = (0u | 5u); aot_gpr_31 = (0x08B249BCu); ctx.gpr[8] = (0u | 3u); @@ -2211,7 +2212,7 @@ L_08B249D4: L_08B249D8: aot_gpr_5 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08B249E4u); - ctx.gpr[6] = (0u | 3u); + aot_gpr_6 = (0u | 3u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0002_entry, 2u, 483u, 0x0880E374u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B249E4u) goto L_08B249E4; AOT_REGCACHE_SYNC_OUT(); return; L_08B249E4: @@ -2298,9 +2299,9 @@ L_08B24A74: aot_gpr_4 = (ctx.gpr[2] < static_cast(1) ? 1u : 0u); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[19] + static_cast(0)))))); aot_gpr_4 = (aot_gpr_4 & 255u); - ctx.gpr[6] = (0u + static_cast(-2)); + aot_gpr_6 = (0u + static_cast(-2)); aot_gpr_4 = (aot_gpr_4 & 1u); - aot_gpr_5 = (aot_gpr_5 & ctx.gpr[6]); + aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); aot_gpr_4 = (aot_gpr_5 | aot_gpr_4); aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(0), static_cast(aot_gpr_4)); aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[21] + static_cast(8))); @@ -2308,11 +2309,11 @@ L_08B24A74: aot_gpr_4 = (aot_gpr_16 | 0u); goto L_08B248D4; L_08B24AA0: - ctx.gpr[2] = (aot_gpr_17 | 0u); + ctx.gpr[2] = (ctx.gpr[17] | 0u); { std::uint32_t aot_run_words[8]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(32), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -2329,21 +2330,21 @@ L_08B24AA0: L_08B24ACC: aot_gpr_29 = (aot_gpr_29 + static_cast(-64)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), ctx.gpr[17]); aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_17 = (0u | 1u); + ctx.gpr[17] = (0u | 1u); { const std::uint32_t aot_run_words[6]{ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(40), aot_run_words); } aot_gpr_31 = (0x08B24B00u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B24B00u) goto L_08B24B00; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B24B00u) goto L_08B24B00; AOT_REGCACHE_SYNC_OUT(); return; L_08B24B00: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[0])); ctx.gpr[19] = (aot_gpr_29 + static_cast(16)); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (0u | 2u); + aot_gpr_6 = (0u | 2u); ctx.gpr[18] = (std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08B24B20u); ctx.gpr[7] = (0u | 1u); @@ -2353,7 +2354,7 @@ L_08B24B20: ctx.gpr[20] = (0u | 5u); aot_gpr_31 = (0x08B24B2Cu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B24B2Cu) goto L_08B24B2C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806634, 0u, 302u, 0x08806634u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B24B2Cu) goto L_08B24B2C; AOT_REGCACHE_SYNC_OUT(); return; L_08B24B2C: ctx.gpr[21] = (2237u << 16u); @@ -2369,7 +2370,7 @@ L_08B24B3C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B24B48u); aot_gpr_5 = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B24B48u) goto L_08B24B48; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B24B48u) goto L_08B24B48; AOT_REGCACHE_SYNC_OUT(); return; L_08B24B48: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[0])); @@ -2405,7 +2406,7 @@ L_08B24B68: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_5 = (0u | 4u); - ctx.gpr[6] = (aot_gpr_29 | 0u); + aot_gpr_6 = (aot_gpr_29 | 0u); ctx.gpr[7] = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08B24B84u); ctx.gpr[8] = (0u | 3u); @@ -2415,7 +2416,7 @@ L_08B24B84: ctx.gpr[19] = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08B24B90u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B24B90u) goto L_08B24B90; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806634, 0u, 302u, 0x08806634u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B24B90u) goto L_08B24B90; AOT_REGCACHE_SYNC_OUT(); return; L_08B24B90: aot_gpr_4 = (static_cast(ctx.gpr[2]) < 2 ? 1u : 0u); @@ -2430,7 +2431,7 @@ L_08B24B9C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B24BA8u); aot_gpr_5 = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B24BA8u) goto L_08B24BA8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B24BA8u) goto L_08B24BA8; AOT_REGCACHE_SYNC_OUT(); return; L_08B24BA8: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[0])); @@ -2451,7 +2452,7 @@ L_08B24BC0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08B24BD0u); - ctx.gpr[6] = (ctx.gpr[20] | 0u); + aot_gpr_6 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0002_entry, 2u, 466u, 0x0880E240u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B24BD0u) goto L_08B24BD0; AOT_REGCACHE_SYNC_OUT(); return; L_08B24BD0: @@ -2472,13 +2473,13 @@ L_08B24BE4: L_08B24BE8: aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08B24BF4u); - ctx.gpr[6] = (0u | 2u); + aot_gpr_6 = (0u | 2u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0002_entry, 2u, 483u, 0x0880E374u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B24BF4u) goto L_08B24BF4; AOT_REGCACHE_SYNC_OUT(); return; L_08B24BF4: aot_gpr_31 = (0x08B24BFCu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B24BFCu) goto L_08B24BFC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806634, 0u, 302u, 0x08806634u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B24BFCu) goto L_08B24BFC; AOT_REGCACHE_SYNC_OUT(); return; L_08B24BFC: aot_gpr_4 = (static_cast(ctx.gpr[2]) < 4 ? 1u : 0u); @@ -2492,10 +2493,10 @@ L_08B24BFC: L_08B24C08: aot_gpr_31 = (0x08B24C10u); aot_gpr_5 = (0u | 5u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B24C10u) goto L_08B24C10; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806888, 0u, 324u, 0x08806888u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B24C10u) goto L_08B24C10; AOT_REGCACHE_SYNC_OUT(); return; L_08B24C10: - { const bool branch_taken = ctx.gpr[2] != aot_gpr_17; + { const bool branch_taken = ctx.gpr[2] != ctx.gpr[17]; // nop if (branch_taken) { goto L_08B24C8C; @@ -2545,14 +2546,14 @@ L_08B24C4C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B24C6Cu); aot_gpr_5 = (0u | 5u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B24C6Cu) goto L_08B24C6C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806AE0, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B24C6Cu) goto L_08B24C6C; AOT_REGCACHE_SYNC_OUT(); return; L_08B24C6C: aot_gpr_4 = (ctx.gpr[2] & 255u); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[20] + static_cast(0)))))); aot_gpr_4 = (aot_gpr_4 & 1u); - ctx.gpr[6] = (0u + static_cast(-9)); - aot_gpr_5 = (aot_gpr_5 & ctx.gpr[6]); + aot_gpr_6 = (0u + static_cast(-9)); + aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); aot_gpr_4 = (aot_gpr_4 << 3u); aot_gpr_4 = (aot_gpr_5 | aot_gpr_4); aot_mem.aot_direct_store8(ctx.gpr[20] + static_cast(0), static_cast(aot_gpr_4)); @@ -2641,9 +2642,9 @@ L_08B24D1C: aot_gpr_4 = (ctx.gpr[2] < static_cast(1) ? 1u : 0u); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[19] + static_cast(0)))))); aot_gpr_4 = (aot_gpr_4 & 255u); - ctx.gpr[6] = (0u + static_cast(-2)); + aot_gpr_6 = (0u + static_cast(-2)); aot_gpr_4 = (aot_gpr_4 & 1u); - aot_gpr_5 = (aot_gpr_5 & ctx.gpr[6]); + aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); aot_gpr_4 = (aot_gpr_5 | aot_gpr_4); aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(0), static_cast(aot_gpr_4)); aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[22] + static_cast(8))); @@ -2651,11 +2652,11 @@ L_08B24D1C: aot_gpr_4 = (aot_gpr_16 | 0u); goto L_08B248D4; L_08B24D48: - ctx.gpr[2] = (aot_gpr_17 | 0u); + ctx.gpr[2] = (ctx.gpr[17] | 0u); { std::uint32_t aot_run_words[8]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(32), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -2675,12 +2676,12 @@ L_08B24D74: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), ctx.gpr[18]); aot_gpr_16 = (aot_gpr_4 | 0u); ctx.gpr[18] = (0u | 1u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), ctx.gpr[19]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), aot_gpr_31); aot_gpr_31 = (0x08B24D9Cu); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B24D9Cu) goto L_08B24D9C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806888, 0u, 324u, 0x08806888u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B24D9Cu) goto L_08B24D9C; AOT_REGCACHE_SYNC_OUT(); return; L_08B24D9C: aot_gpr_4 = (0u | 5u); @@ -2695,16 +2696,16 @@ L_08B24DA8: ctx.gpr[19] = (aot_gpr_29 + static_cast(16)); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_gpr_31 = (0x08B24DC0u); ctx.gpr[7] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0075_entry, 75u, 315u, 0x08931AF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B24DC0u) goto L_08B24DC0; AOT_REGCACHE_SYNC_OUT(); return; L_08B24DC0: - aot_gpr_17 = (0u | 5u); + ctx.gpr[17] = (0u | 5u); aot_gpr_31 = (0x08B24DCCu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B24DCCu) goto L_08B24DCC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806634, 0u, 302u, 0x08806634u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B24DCCu) goto L_08B24DCC; AOT_REGCACHE_SYNC_OUT(); return; L_08B24DCC: aot_gpr_4 = (static_cast(ctx.gpr[2]) < 2 ? 1u : 0u); @@ -2735,11 +2736,11 @@ L_08B24DE8: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B24DF4u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B24DF4u) goto L_08B24DF4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B24DF4u) goto L_08B24DF4; AOT_REGCACHE_SYNC_OUT(); return; L_08B24DF4: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[0])); - aot_gpr_17 = (std::bit_cast(aot_fpr_12)); + ctx.gpr[17] = (std::bit_cast(aot_fpr_12)); goto L_08B24DFC; L_08B24DFC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); @@ -2771,17 +2772,17 @@ L_08B24E14: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_5 = (0u | 4u); - ctx.gpr[6] = (aot_gpr_29 | 0u); - ctx.gpr[7] = (aot_gpr_17 | 0u); + aot_gpr_6 = (aot_gpr_29 | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B24E30u); ctx.gpr[8] = (0u | 3u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0002_entry, 2u, 447u, 0x0880E03Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B24E30u) goto L_08B24E30; AOT_REGCACHE_SYNC_OUT(); return; L_08B24E30: - aot_gpr_17 = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08B24E3Cu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B24E3Cu) goto L_08B24E3C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806634, 0u, 302u, 0x08806634u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 302u, 0x08806634u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B24E3Cu) goto L_08B24E3C; AOT_REGCACHE_SYNC_OUT(); return; L_08B24E3C: aot_gpr_4 = (static_cast(ctx.gpr[2]) < 2 ? 1u : 0u); @@ -2796,7 +2797,7 @@ L_08B24E48: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B24E54u); aot_gpr_5 = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B24E54u) goto L_08B24E54; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B24E54u) goto L_08B24E54; AOT_REGCACHE_SYNC_OUT(); return; L_08B24E54: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[0])); @@ -2815,9 +2816,9 @@ L_08B24E64: AOT_REGCACHE_SYNC_OUT(); return; L_08B24E6C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B24E7Cu); - ctx.gpr[6] = (ctx.gpr[19] | 0u); + aot_gpr_6 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0002_entry, 2u, 466u, 0x0880E240u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B24E7Cu) goto L_08B24E7C; AOT_REGCACHE_SYNC_OUT(); return; L_08B24E7C: @@ -2836,17 +2837,17 @@ L_08B24E90: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); goto L_08B24E94; L_08B24E94: - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B24EA0u); - ctx.gpr[6] = (0u | 2u); + aot_gpr_6 = (0u | 2u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0002_entry, 2u, 483u, 0x0880E374u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B24EA0u) goto L_08B24EA0; AOT_REGCACHE_SYNC_OUT(); return; L_08B24EA0: - aot_fpr_12 = std::bit_cast(aot_gpr_17); + aot_fpr_12 = std::bit_cast(ctx.gpr[17]); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B24EB0u); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B24EB0u) goto L_08B24EB0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B24EB0u) goto L_08B24EB0; AOT_REGCACHE_SYNC_OUT(); return; L_08B24EB0: ctx.gpr[2] = (ctx.gpr[18] | 0u); @@ -2855,7 +2856,7 @@ L_08B24EB4: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(32), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; @@ -2872,7 +2873,7 @@ L_08B24ED0: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x08B24EE4u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B24EE4u) goto L_08B24EE4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B24EE4u) goto L_08B24EE4; AOT_REGCACHE_SYNC_OUT(); return; L_08B24EE4: aot_gpr_4 = (20224u << 16u); @@ -2947,8 +2948,8 @@ L_08B24F5C: aot_gpr_4 = (aot_gpr_4 + aot_gpr_16); aot_gpr_4 = (aot_gpr_4 + static_cast(656)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0)))))); - ctx.gpr[6] = (0u + static_cast(-5)); - aot_gpr_5 = (aot_gpr_5 & ctx.gpr[6]); + aot_gpr_6 = (0u + static_cast(-5)); + aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_5)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); { const bool branch_taken = aot_gpr_4 != 0u; @@ -2989,8 +2990,8 @@ L_08B24FA8: L_08B24FB0: aot_gpr_4 = (aot_gpr_4 + static_cast(656)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0)))))); - ctx.gpr[6] = (0u + static_cast(-225)); - aot_gpr_5 = (aot_gpr_5 & ctx.gpr[6]); + aot_gpr_6 = (0u + static_cast(-225)); + aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_5)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); { const bool branch_taken = aot_gpr_4 != 0u; @@ -3012,8 +3013,8 @@ L_08B24FD8: L_08B24FE0: aot_gpr_4 = (aot_gpr_4 + static_cast(656)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0)))))); - ctx.gpr[6] = (0u + static_cast(-17)); - aot_gpr_5 = (aot_gpr_5 & ctx.gpr[6]); + aot_gpr_6 = (0u + static_cast(-17)); + aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_5)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); { const bool branch_taken = aot_gpr_4 != 0u; @@ -3047,16 +3048,16 @@ L_08B25028: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); - ctx.gpr[6] = (ctx.gpr[28] + static_cast(4096)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_17); + aot_gpr_6 = (ctx.gpr[28] + static_cast(4096)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_31); aot_gpr_31 = (0x08B25048u); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0038_entry, 38u, 252u, 0x0889D374u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B25048u) goto L_08B25048; AOT_REGCACHE_SYNC_OUT(); return; L_08B25048: - aot_gpr_17 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (ctx.gpr[2] | 0u); + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_08B250D0; @@ -3064,7 +3065,7 @@ L_08B25048: goto L_08B25054; } L_08B25054: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_gpr_5 = (0u + static_cast(-1)); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -3077,14 +3078,14 @@ L_08B25064: aot_gpr_4 = (2237u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(100))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_gpr_31 = (0x08B2507Cu); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(52))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 192u, 0x08ADCA6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2507Cu) goto L_08B2507C; AOT_REGCACHE_SYNC_OUT(); return; L_08B2507C: - aot_gpr_17 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (ctx.gpr[2] | 0u); + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_08B250D0; @@ -3094,7 +3095,7 @@ L_08B2507C: L_08B25088: aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_5 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (0u | 2u); + aot_gpr_6 = (0u | 2u); aot_gpr_31 = (0x08B2509Cu); ctx.gpr[7] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0075_entry, 75u, 315u, 0x08931AF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2509Cu) goto L_08B2509C; @@ -3102,7 +3103,7 @@ L_08B25088: L_08B2509C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(112))); + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(112))); if (branch_taken) { goto L_08B250B0; } @@ -3116,8 +3117,8 @@ L_08B250A8: L_08B250B0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); aot_gpr_5 = (aot_gpr_16 << 4u); - ctx.gpr[6] = (aot_gpr_5 + aot_gpr_5); - aot_gpr_5 = (aot_gpr_5 + ctx.gpr[6]); + aot_gpr_6 = (aot_gpr_5 + aot_gpr_5); + aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_gpr_4 + static_cast(640)); { const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); @@ -3139,7 +3140,7 @@ L_08B250D0: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -3152,16 +3153,16 @@ L_08B250E8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); - ctx.gpr[6] = (ctx.gpr[28] + static_cast(4096)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); + aot_gpr_6 = (ctx.gpr[28] + static_cast(4096)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08B25108u); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0038_entry, 38u, 252u, 0x0889D374u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B25108u) goto L_08B25108; AOT_REGCACHE_SYNC_OUT(); return; L_08B25108: - aot_gpr_17 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (ctx.gpr[2] | 0u); + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_08B251E8; @@ -3169,9 +3170,9 @@ L_08B25108: goto L_08B25114; } L_08B25114: - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_gpr_4 = (0u + static_cast(-1)); - { const bool branch_taken = aot_gpr_17 == aot_gpr_4; + { const bool branch_taken = ctx.gpr[17] == aot_gpr_4; // nop if (branch_taken) { goto L_08B251E8; @@ -3182,14 +3183,14 @@ L_08B25124: aot_gpr_4 = (2237u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(100))); - ctx.gpr[6] = (aot_gpr_17 | 0u); + aot_gpr_6 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B2513Cu); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(52))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 192u, 0x08ADCA6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2513Cu) goto L_08B2513C; AOT_REGCACHE_SYNC_OUT(); return; L_08B2513C: - aot_gpr_17 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (ctx.gpr[2] | 0u); + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_08B251E8; @@ -3200,25 +3201,25 @@ L_08B25148: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B25154u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B25154u) goto L_08B25154; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B25154u) goto L_08B25154; AOT_REGCACHE_SYNC_OUT(); return; L_08B25154: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[0])); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (0u | 3u); - ctx.gpr[6] = (std::bit_cast(aot_fpr_12)); + aot_gpr_6 = (std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08B2516Cu); - aot_gpr_16 = (ctx.gpr[6] & 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2516Cu) goto L_08B2516C; + aot_gpr_16 = (aot_gpr_6 & 255u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806AE0, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2516Cu) goto L_08B2516C; AOT_REGCACHE_SYNC_OUT(); return; L_08B2516C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(112))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(112))); ctx.gpr[7] = (0u | 1u); - aot_gpr_17 = (aot_gpr_4 << 4u); - ctx.gpr[6] = (aot_gpr_17 + aot_gpr_17); + ctx.gpr[17] = (aot_gpr_4 << 4u); + aot_gpr_6 = (ctx.gpr[17] + ctx.gpr[17]); aot_gpr_5 = (0u < ctx.gpr[2] ? 1u : 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); - aot_gpr_17 = (aot_gpr_17 + ctx.gpr[6]); + ctx.gpr[17] = (ctx.gpr[17] + aot_gpr_6); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_16 = (ctx.gpr[7] << (aot_gpr_16 & 31u)); if (branch_taken) { @@ -3228,7 +3229,7 @@ L_08B2516C: } L_08B25190: { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_4 = (aot_gpr_4 + aot_gpr_17); + aot_gpr_4 = (aot_gpr_4 + ctx.gpr[17]); if (branch_taken) { goto L_08B251A8; } @@ -3241,7 +3242,7 @@ L_08B25198: AOT_REGCACHE_SYNC_OUT(); return; L_08B251A0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); - aot_gpr_4 = (aot_gpr_4 + aot_gpr_17); + aot_gpr_4 = (aot_gpr_4 + ctx.gpr[17]); goto L_08B251A8; L_08B251A8: aot_gpr_4 = (aot_gpr_4 + static_cast(668)); @@ -3256,7 +3257,7 @@ L_08B251A8: } L_08B251BC: { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_4 = (aot_gpr_4 + aot_gpr_17); + aot_gpr_4 = (aot_gpr_4 + ctx.gpr[17]); if (branch_taken) { goto L_08B251D4; } @@ -3269,13 +3270,13 @@ L_08B251C4: AOT_REGCACHE_SYNC_OUT(); return; L_08B251CC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); - aot_gpr_4 = (aot_gpr_4 + aot_gpr_17); + aot_gpr_4 = (aot_gpr_4 + ctx.gpr[17]); goto L_08B251D4; L_08B251D4: aot_gpr_4 = (aot_gpr_4 + static_cast(668)); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0))); - ctx.gpr[6] = (~(aot_gpr_16 | 0u)); - aot_gpr_5 = (aot_gpr_5 & ctx.gpr[6]); + aot_gpr_6 = (~(aot_gpr_16 | 0u)); + aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_5)); goto L_08B251E8; L_08B251E8: @@ -3283,7 +3284,7 @@ L_08B251E8: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -3296,8 +3297,8 @@ L_08B25200: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); - ctx.gpr[6] = (ctx.gpr[28] + static_cast(4096)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); + aot_gpr_6 = (ctx.gpr[28] + static_cast(4096)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08B25220u); aot_gpr_5 = (0u | 1u); @@ -3323,7 +3324,7 @@ L_08B2522C: goto L_08B2523C; } L_08B2523C: - ctx.gpr[6] = (aot_gpr_4 | 0u); + aot_gpr_6 = (aot_gpr_4 | 0u); aot_gpr_4 = (2237u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(100))); @@ -3346,7 +3347,7 @@ L_08B25260: aot_gpr_16 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x08B25274u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B25274u) goto L_08B25274; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B25274u) goto L_08B25274; AOT_REGCACHE_SYNC_OUT(); return; L_08B25274: aot_gpr_4 = (20224u << 16u); @@ -3374,13 +3375,13 @@ L_08B2529C: aot_fpr_12 = aot_fpr_13 - aot_fpr_12; aot_gpr_5 = (32768u << 16u); aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); - ctx.gpr[6] = (std::bit_cast(aot_fpr_12)); - aot_gpr_5 = (ctx.gpr[6] + aot_gpr_5); + aot_gpr_6 = (std::bit_cast(aot_fpr_12)); + aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); goto L_08B252B0; L_08B252B0: - aot_gpr_17 = (aot_gpr_5 | 0u); - ctx.gpr[6] = (aot_gpr_17 < static_cast(17) ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] != 0u; + ctx.gpr[17] = (aot_gpr_5 | 0u); + aot_gpr_6 = (ctx.gpr[17] < static_cast(17) ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 != 0u; // nop if (branch_taken) { goto L_08B252C4; @@ -3388,7 +3389,7 @@ L_08B252B0: goto L_08B252C0; } L_08B252C0: - aot_gpr_17 = (aot_gpr_5 << 8u); + ctx.gpr[17] = (aot_gpr_5 << 8u); goto L_08B252C4; L_08B252C4: { const bool branch_taken = aot_gpr_4 != 0u; @@ -3408,17 +3409,17 @@ L_08B252D4: goto L_08B252D8; L_08B252D8: aot_gpr_5 = (aot_gpr_16 << 4u); - ctx.gpr[6] = (aot_gpr_5 + aot_gpr_5); - aot_gpr_5 = (aot_gpr_5 + ctx.gpr[6]); + aot_gpr_6 = (aot_gpr_5 + aot_gpr_5); + aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(624), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(624), ctx.gpr[17]); goto L_08B252EC; L_08B252EC: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -3429,9 +3430,9 @@ L_08B252EC: AOT_REGCACHE_SYNC_OUT(); return; L_08B25304: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_4 | 0u); - ctx.gpr[6] = (ctx.gpr[28] + static_cast(4096)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_4 | 0u); + aot_gpr_6 = (ctx.gpr[28] + static_cast(4096)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08B25324u); @@ -3461,7 +3462,7 @@ L_08B25340: aot_gpr_16 = (2237u << 16u); aot_gpr_16 = (aot_gpr_16 + static_cast(-28736)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(100))); - ctx.gpr[6] = (aot_gpr_4 | 0u); + aot_gpr_6 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B2535Cu); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(52))); @@ -3478,11 +3479,11 @@ L_08B2535C: } L_08B25368: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(112))); - aot_gpr_4 = (aot_gpr_17 | 0u); - aot_gpr_17 = (aot_gpr_5 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); + ctx.gpr[17] = (aot_gpr_5 | 0u); aot_gpr_31 = (0x08B2537Cu); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2537Cu) goto L_08B2537C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2537Cu) goto L_08B2537C; AOT_REGCACHE_SYNC_OUT(); return; L_08B2537C: aot_gpr_4 = (20224u << 16u); @@ -3521,9 +3522,9 @@ L_08B253C0: aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(1))); aot_gpr_4 = (aot_gpr_4 << 24u); aot_gpr_5 = (aot_gpr_5 << 16u); - ctx.gpr[6] = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(2))); + aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(2))); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); - aot_gpr_5 = (ctx.gpr[6] << 8u); + aot_gpr_5 = (aot_gpr_6 << 8u); aot_gpr_16 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(3))); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_16 = (aot_gpr_4 + aot_gpr_16); @@ -3541,10 +3542,10 @@ L_08B253F4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 358u, 0x08B65844u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B253FCu) goto L_08B253FC; AOT_REGCACHE_SYNC_OUT(); return; L_08B253FC: - aot_gpr_4 = (aot_gpr_17 << 4u); + aot_gpr_4 = (ctx.gpr[17] << 4u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); - ctx.gpr[6] = (aot_gpr_4 + aot_gpr_4); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_6 = (aot_gpr_4 + aot_gpr_4); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(624), aot_gpr_16); goto L_08B25414; @@ -3553,7 +3554,7 @@ L_08B25414: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -3564,16 +3565,16 @@ L_08B25414: AOT_REGCACHE_SYNC_OUT(); return; L_08B2542C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - ctx.gpr[6] = (ctx.gpr[28] + static_cast(4096)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; + aot_gpr_6 = (ctx.gpr[28] + static_cast(4096)); + { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_31 = (0x08B25448u); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0038_entry, 38u, 252u, 0x0889D374u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B25448u) goto L_08B25448; AOT_REGCACHE_SYNC_OUT(); return; L_08B25448: - aot_gpr_17 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (ctx.gpr[2] | 0u); + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_08B254B0; @@ -3581,7 +3582,7 @@ L_08B25448: goto L_08B25454; } L_08B25454: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_gpr_16 = (0u + static_cast(-1)); { const bool branch_taken = aot_gpr_4 == aot_gpr_16; // nop @@ -3591,7 +3592,7 @@ L_08B25454: goto L_08B25464; } L_08B25464: - ctx.gpr[6] = (aot_gpr_4 | 0u); + aot_gpr_6 = (aot_gpr_4 | 0u); aot_gpr_4 = (2237u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(100))); @@ -3617,26 +3618,26 @@ L_08B25488: goto L_08B25490; } L_08B25490: - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(108))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(108))); aot_gpr_5 = (0u | 3u); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(24)); - ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[6] + static_cast(0)))))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(4))); - jump_target = ctx.gpr[6]; + aot_gpr_6 = (aot_gpr_6 + static_cast(24)); + ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(0)))))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(4))); + jump_target = aot_gpr_6; aot_gpr_31 = (0x08B254ACu); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[7]); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B254ACu) goto L_08B254AC; AOT_REGCACHE_SYNC_OUT(); return; L_08B254AC: - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), aot_gpr_16); goto L_08B254B0; L_08B254B0: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -3673,16 +3674,16 @@ L_08B254EC: L_08B25500: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_17 = (0u | 1u); + ctx.gpr[17] = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08B25520u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B25520u) goto L_08B25520; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806888, 0u, 324u, 0x08806888u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B25520u) goto L_08B25520; AOT_REGCACHE_SYNC_OUT(); return; L_08B25520: - { const bool branch_taken = ctx.gpr[2] != aot_gpr_17; + { const bool branch_taken = ctx.gpr[2] != ctx.gpr[17]; // nop if (branch_taken) { goto L_08B25588; @@ -3693,7 +3694,7 @@ L_08B25528: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B25534u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B25534u) goto L_08B25534; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806AE0, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B25534u) goto L_08B25534; AOT_REGCACHE_SYNC_OUT(); return; L_08B25534: aot_gpr_4 = (0u < ctx.gpr[2] ? 1u : 0u); @@ -3775,7 +3776,7 @@ L_08B255A0: aot_gpr_5 = (aot_gpr_5 ^ 2u); aot_gpr_31 = (0x08B255B4u); aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B255B4u) goto L_08B255B4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B255B4u) goto L_08B255B4; AOT_REGCACHE_SYNC_OUT(); return; L_08B255B4: ctx.gpr[2] = (0u | 1u); @@ -3784,7 +3785,7 @@ L_08B255B8: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -3814,7 +3815,7 @@ L_08B255E8: aot_gpr_5 = (2233u << 16u); goto L_08B255F0; L_08B255F0: - ctx.gpr[6] = (ctx.gpr[28] + static_cast(4096)); + aot_gpr_6 = (ctx.gpr[28] + static_cast(4096)); aot_gpr_31 = (0x08B255FCu); aot_gpr_5 = (aot_gpr_5 + static_cast(-31800)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0032_entry, 32u, 270u, 0x08885284u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B255FCu) goto L_08B255FC; @@ -3838,7 +3839,7 @@ L_08B25610: aot_gpr_5 = (2233u << 16u); goto L_08B25618; L_08B25618: - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x08B25624u); aot_gpr_5 = (aot_gpr_5 + static_cast(-31620)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0032_entry, 32u, 266u, 0x08885220u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B25624u) goto L_08B25624; @@ -3853,18 +3854,18 @@ L_08B25624: AOT_REGCACHE_SYNC_OUT(); return; L_08B25630: aot_gpr_29 = (aot_gpr_29 + static_cast(-160)); - ctx.gpr[6] = (2246u << 16u); + aot_gpr_6 = (2246u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(120), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(128), ctx.gpr[20]); aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(4106))); ctx.gpr[20] = (0u | 0u); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(31024)); + aot_gpr_6 = (aot_gpr_6 + static_cast(31024)); ctx.gpr[18] = (2236u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(132), ctx.gpr[21]); ctx.gpr[21] = (0u | 0u); - ctx.gpr[20] = (ctx.gpr[20] + ctx.gpr[6]); + ctx.gpr[20] = (ctx.gpr[20] + aot_gpr_6); ctx.gpr[18] = (ctx.gpr[18] + static_cast(15280)); - { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[20]), aot_gpr_16, aot_gpr_17}; + { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[20]), aot_gpr_16, ctx.gpr[17]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(108), aot_run_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(124), ctx.gpr[19]); { const std::uint32_t aot_run_words[4]{ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; @@ -3880,8 +3881,8 @@ L_08B25688: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08B25698u); - ctx.gpr[6] = (0u | 1344u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B25698u) goto L_08B25698; + aot_gpr_6 = (0u | 1344u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B25698u) goto L_08B25698; AOT_REGCACHE_SYNC_OUT(); return; L_08B25698: aot_gpr_4 = (0u | 1u); @@ -3930,8 +3931,8 @@ L_08B256DC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B256E4u) goto L_08B256E4; AOT_REGCACHE_SYNC_OUT(); return; L_08B256E4: - aot_gpr_17 = (ctx.gpr[20] | 0u); - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(57))); + ctx.gpr[17] = (ctx.gpr[20] | 0u); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(57))); { const bool branch_taken = aot_gpr_5 != 0u; aot_gpr_4 = (ctx.gpr[2] | 0u); if (branch_taken) { @@ -3940,7 +3941,7 @@ L_08B256E4: goto L_08B256F4; } L_08B256F4: - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(56))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(56))); { const bool branch_taken = aot_gpr_5 == 0u; // nop if (branch_taken) { @@ -3949,7 +3950,7 @@ L_08B256F4: goto L_08B25700; } L_08B25700: - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(56))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(56))); { const bool branch_taken = aot_gpr_5 != aot_gpr_16; // nop if (branch_taken) { @@ -3959,9 +3960,9 @@ L_08B25700: } L_08B2570C: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(104))); - ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(52))); + aot_gpr_6 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(52))); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(132))); - { const bool branch_taken = ctx.gpr[6] != aot_gpr_5; + { const bool branch_taken = aot_gpr_6 != aot_gpr_5; // nop if (branch_taken) { goto L_08B257A8; @@ -3984,7 +3985,7 @@ L_08B25734: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); goto L_08B25738; L_08B25738: - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -3998,7 +3999,7 @@ L_08B25738: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_5 = (0u | 4u); - ctx.gpr[6] = (aot_gpr_29 | 0u); + aot_gpr_6 = (aot_gpr_29 | 0u); ctx.gpr[7] = (0u | 4u); aot_gpr_31 = (0x08B25754u); ctx.gpr[8] = (0u | 3u); @@ -4023,7 +4024,7 @@ L_08B2576C: L_08B25770: aot_gpr_5 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B2577Cu); - ctx.gpr[6] = (0u | 52u); + aot_gpr_6 = (0u | 52u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0002_entry, 2u, 466u, 0x0880E240u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2577Cu) goto L_08B2577C; AOT_REGCACHE_SYNC_OUT(); return; L_08B2577C: @@ -4044,7 +4045,7 @@ L_08B25790: L_08B25794: aot_gpr_5 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B257A0u); - ctx.gpr[6] = (0u | 2u); + aot_gpr_6 = (0u | 2u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0002_entry, 2u, 483u, 0x0880E374u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B257A0u) goto L_08B257A0; AOT_REGCACHE_SYNC_OUT(); return; L_08B257A0: @@ -4056,7 +4057,7 @@ L_08B257A0: goto L_08B257A8; } L_08B257A8: - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(56))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(56))); { const bool branch_taken = aot_gpr_5 == aot_gpr_16; // nop if (branch_taken) { @@ -4065,9 +4066,9 @@ L_08B257A8: goto L_08B257B4; } L_08B257B4: - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(56))); - ctx.gpr[6] = (0u | 16u); - { const bool branch_taken = aot_gpr_5 != ctx.gpr[6]; + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(56))); + aot_gpr_6 = (0u | 16u); + { const bool branch_taken = aot_gpr_5 != aot_gpr_6; // nop if (branch_taken) { goto L_08B2584C; @@ -4090,7 +4091,7 @@ L_08B257D8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); goto L_08B257DC; L_08B257DC: - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -4104,7 +4105,7 @@ L_08B257DC: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_5 = (0u | 4u); - ctx.gpr[6] = (ctx.gpr[30] | 0u); + aot_gpr_6 = (ctx.gpr[30] | 0u); ctx.gpr[7] = (0u | 4u); aot_gpr_31 = (0x08B257F8u); ctx.gpr[8] = (0u | 3u); @@ -4129,7 +4130,7 @@ L_08B25810: L_08B25814: aot_gpr_5 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B25820u); - ctx.gpr[6] = (0u | 12u); + aot_gpr_6 = (0u | 12u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0002_entry, 2u, 466u, 0x0880E240u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B25820u) goto L_08B25820; AOT_REGCACHE_SYNC_OUT(); return; L_08B25820: @@ -4150,7 +4151,7 @@ L_08B25834: L_08B25838: aot_gpr_5 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B25844u); - ctx.gpr[6] = (0u | 2u); + aot_gpr_6 = (0u | 2u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0002_entry, 2u, 483u, 0x0880E374u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B25844u) goto L_08B25844; AOT_REGCACHE_SYNC_OUT(); return; L_08B25844: @@ -4172,7 +4173,7 @@ L_08B2584C: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -4216,7 +4217,7 @@ L_08B2587C: } L_08B25890: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(104))); - aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(52))); + aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(52))); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(162))); { const bool branch_taken = aot_gpr_5 != aot_gpr_4; ctx.gpr[19] = (0u | 2u); @@ -4236,7 +4237,7 @@ L_08B258A4: } L_08B258B0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(104))); - aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(52))); + aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(52))); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(158))); { const bool branch_taken = aot_gpr_5 != aot_gpr_4; // nop @@ -4255,7 +4256,7 @@ L_08B258C4: goto L_08B258D0; } L_08B258D0: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(52))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(52))); aot_gpr_5 = (0u | 331u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -4265,7 +4266,7 @@ L_08B258D0: goto L_08B258E0; } L_08B258E0: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(52))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(52))); aot_gpr_5 = (0u | 332u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -4275,7 +4276,7 @@ L_08B258E0: goto L_08B258F0; } L_08B258F0: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(52))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(52))); aot_gpr_5 = (0u | 333u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -4285,7 +4286,7 @@ L_08B258F0: goto L_08B25900; } L_08B25900: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(52))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(52))); aot_gpr_5 = (0u | 334u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -4295,7 +4296,7 @@ L_08B25900: goto L_08B25910; } L_08B25910: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(52))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(52))); aot_gpr_5 = (0u | 335u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -4305,7 +4306,7 @@ L_08B25910: goto L_08B25920; } L_08B25920: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(52))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(52))); aot_gpr_5 = (0u | 336u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -4315,7 +4316,7 @@ L_08B25920: goto L_08B25930; } L_08B25930: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(52))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(52))); aot_gpr_5 = (0u | 337u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -4325,7 +4326,7 @@ L_08B25930: goto L_08B25940; } L_08B25940: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(52))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(52))); aot_gpr_5 = (0u | 338u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -4335,7 +4336,7 @@ L_08B25940: goto L_08B25950; } L_08B25950: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(52))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(52))); aot_gpr_5 = (0u | 339u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -4345,7 +4346,7 @@ L_08B25950: goto L_08B25960; } L_08B25960: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(52))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(52))); aot_gpr_5 = (0u | 340u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -4355,7 +4356,7 @@ L_08B25960: goto L_08B25970; } L_08B25970: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(52))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(52))); aot_gpr_5 = (0u | 341u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -4374,7 +4375,7 @@ L_08B25980: goto L_08B2598C; } L_08B2598C: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(52))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(52))); aot_gpr_5 = (0u | 342u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -4384,7 +4385,7 @@ L_08B2598C: goto L_08B2599C; } L_08B2599C: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(52))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(52))); aot_gpr_5 = (0u | 343u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -4394,7 +4395,7 @@ L_08B2599C: goto L_08B259AC; } L_08B259AC: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(52))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(52))); aot_gpr_5 = (0u | 344u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -4413,7 +4414,7 @@ L_08B259BC: goto L_08B259C8; } L_08B259C8: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(52))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(52))); aot_gpr_5 = (0u | 346u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -4423,7 +4424,7 @@ L_08B259C8: goto L_08B259D8; } L_08B259D8: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(52))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(52))); aot_gpr_5 = (0u | 347u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -4442,7 +4443,7 @@ L_08B259E8: goto L_08B259F4; } L_08B259F4: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(52))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(52))); aot_gpr_5 = (0u | 349u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -4452,7 +4453,7 @@ L_08B259F4: goto L_08B25A04; } L_08B25A04: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(52))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(52))); aot_gpr_5 = (0u | 350u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -4462,7 +4463,7 @@ L_08B25A04: goto L_08B25A14; } L_08B25A14: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(52))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(52))); aot_gpr_5 = (0u | 351u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -4481,7 +4482,7 @@ L_08B25A24: goto L_08B25A30; } L_08B25A30: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(52))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(52))); aot_gpr_5 = (0u | 353u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -4491,7 +4492,7 @@ L_08B25A30: goto L_08B25A40; } L_08B25A40: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(52))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(52))); aot_gpr_5 = (0u | 354u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -4501,7 +4502,7 @@ L_08B25A40: goto L_08B25A50; } L_08B25A50: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(52))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(52))); aot_gpr_5 = (0u | 355u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -4511,7 +4512,7 @@ L_08B25A50: goto L_08B25A60; } L_08B25A60: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(52))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(52))); aot_gpr_5 = (0u | 356u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -4530,7 +4531,7 @@ L_08B25A70: goto L_08B25A7C; } L_08B25A7C: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(52))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(52))); aot_gpr_5 = (0u | 352u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -4540,7 +4541,7 @@ L_08B25A7C: goto L_08B25A8C; } L_08B25A8C: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(52))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(52))); aot_gpr_5 = (0u | 348u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -4559,7 +4560,7 @@ L_08B25A9C: goto L_08B25AA8; } L_08B25AA8: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(52))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(52))); aot_gpr_5 = (0u | 359u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -4569,7 +4570,7 @@ L_08B25AA8: goto L_08B25AB8; } L_08B25AB8: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(52))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(52))); aot_gpr_5 = (0u | 360u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -4579,7 +4580,7 @@ L_08B25AB8: goto L_08B25AC8; } L_08B25AC8: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(52))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(52))); aot_gpr_5 = (0u | 361u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -4589,7 +4590,7 @@ L_08B25AC8: goto L_08B25AD8; } L_08B25AD8: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(52))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(52))); aot_gpr_5 = (0u | 362u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -4608,7 +4609,7 @@ L_08B25AE8: goto L_08B25AF4; } L_08B25AF4: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(52))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(52))); aot_gpr_5 = (0u | 357u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -4618,7 +4619,7 @@ L_08B25AF4: goto L_08B25B04; } L_08B25B04: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(52))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(52))); aot_gpr_5 = (0u | 358u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -4638,7 +4639,7 @@ L_08B25B14: } L_08B25B20: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(104))); - aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(52))); + aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(52))); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(152))); { const bool branch_taken = aot_gpr_5 == aot_gpr_4; // nop @@ -4649,7 +4650,7 @@ L_08B25B20: } L_08B25B34: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(104))); - aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(52))); + aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(52))); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(154))); { const bool branch_taken = aot_gpr_5 != aot_gpr_4; // nop @@ -4687,7 +4688,7 @@ L_08B25B70: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5852))); goto L_08B25B74; L_08B25B74: - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -4701,7 +4702,7 @@ L_08B25B74: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_5 = (0u | 4u); - ctx.gpr[6] = (ctx.gpr[22] | 0u); + aot_gpr_6 = (ctx.gpr[22] | 0u); ctx.gpr[7] = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B25B90u); ctx.gpr[8] = (0u | 3u); @@ -4726,7 +4727,7 @@ L_08B25BA8: L_08B25BAC: aot_gpr_5 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B25BB8u); - ctx.gpr[6] = (ctx.gpr[19] | 0u); + aot_gpr_6 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0002_entry, 2u, 483u, 0x0880E374u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B25BB8u) goto L_08B25BB8; AOT_REGCACHE_SYNC_OUT(); return; L_08B25BB8: @@ -4749,7 +4750,7 @@ L_08B25BD0: aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(108), aot_run_words); ctx.fpr[20] = std::bit_cast(aot_run_words[0]); aot_gpr_16 = aot_run_words[1]; - aot_gpr_17 = aot_run_words[2]; + ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; ctx.gpr[19] = aot_run_words[4]; ctx.gpr[20] = aot_run_words[5]; @@ -4776,7 +4777,7 @@ L_08B25C08: aot_gpr_5 = (aot_gpr_5 + aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (2281u << 16u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(4112), 0u); aot_gpr_4 = (aot_gpr_4 + static_cast(-29888)); goto L_08B25C3C; @@ -4795,9 +4796,9 @@ L_08B25C3C: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), std::bit_cast(aot_fpr_12)); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(1)); + aot_gpr_6 = (aot_gpr_6 + static_cast(1)); aot_gpr_5 = (aot_gpr_5 + static_cast(16)); - ctx.gpr[7] = (static_cast(ctx.gpr[6]) < 32 ? 1u : 0u); + ctx.gpr[7] = (static_cast(aot_gpr_6) < 32 ? 1u : 0u); { const bool branch_taken = ctx.gpr[7] != 0u; aot_gpr_4 = (aot_gpr_4 + static_cast(4)); if (branch_taken) { @@ -4820,9 +4821,9 @@ L_08B25C64: ctx.gpr[10] = (ctx.gpr[8] | 0u); aot_fpr_16 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[9] + static_cast(0))); ctx.gpr[8] = (aot_gpr_4 & 255u); - aot_gpr_4 = (ctx.gpr[6] | 0u); + aot_gpr_4 = (aot_gpr_6 | 0u); ctx.fpr[18] = ctx.fpr[18] - aot_fpr_16; - ctx.gpr[6] = (ctx.gpr[10] & 255u); + aot_gpr_6 = (ctx.gpr[10] & 255u); ctx.gpr[10] = (16816u << 16u); ctx.fpr[17] = std::bit_cast(ctx.gpr[10]); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[18] < ctx.fpr[17])) ? 0x00800000u : 0u); @@ -4940,7 +4941,7 @@ L_08B25D2C: aot_gpr_5 = (aot_gpr_5 << 6u); aot_gpr_5 = (aot_gpr_5 + aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(32), std::bit_cast(aot_fpr_12)); - aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(50), static_cast(ctx.gpr[6])); + aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(50), static_cast(aot_gpr_6)); aot_gpr_5 = (16772u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_5); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[18] < aot_fpr_12)) ? 0x00800000u : 0u); @@ -4968,14 +4969,14 @@ L_08B25D94: L_08B25DB0: aot_fpr_12 = ctx.fpr[18] / ctx.fpr[17]; aot_gpr_5 = (16192u << 16u); - ctx.gpr[6] = (16512u << 16u); + aot_gpr_6 = (16512u << 16u); ctx.gpr[7] = (16256u << 16u); ctx.gpr[8] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7908))); ctx.gpr[8] = (ctx.gpr[8] << 6u); aot_gpr_4 = (ctx.gpr[8] + aot_gpr_4); aot_fpr_16 = std::bit_cast(aot_gpr_5); aot_fpr_12 = aot_fpr_12 - aot_fpr_16; - ctx.fpr[17] = std::bit_cast(ctx.gpr[6]); + ctx.fpr[17] = std::bit_cast(aot_gpr_6); ctx.fpr[18] = std::bit_cast(ctx.gpr[7]); { const float fs = aot_fpr_12; const float ft = ctx.fpr[17]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_12 = ctx.fpr[18] - aot_fpr_12; @@ -5001,13 +5002,13 @@ L_08B25E08: L_08B25E10: aot_gpr_29 = (aot_gpr_29 + static_cast(-112)); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7908))); - ctx.gpr[6] = (16256u << 16u); + aot_gpr_6 = (16256u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), std::bit_cast(ctx.fpr[20])); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(80), aot_gpr_17); - ctx.fpr[20] = std::bit_cast(ctx.gpr[6]); - aot_gpr_17 = (0u | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(80), ctx.gpr[17]); + ctx.fpr[20] = std::bit_cast(aot_gpr_6); + ctx.gpr[17] = (0u | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(60), std::bit_cast(ctx.fpr[22])); - aot_gpr_5 = (static_cast(aot_gpr_17) < static_cast(aot_gpr_5) ? 1u : 0u); + aot_gpr_5 = (static_cast(ctx.gpr[17]) < static_cast(aot_gpr_5) ? 1u : 0u); ctx.fpr[22] = std::bit_cast(std::bit_cast(ctx.fpr[20])); { const std::uint32_t aot_run_words[4]{std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), aot_gpr_16}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(64), aot_run_words); } @@ -5035,10 +5036,10 @@ L_08B25E6C: ctx.gpr[23] = (ctx.gpr[18] + static_cast(16)); goto L_08B25E9C; L_08B25E9C: - aot_gpr_4 = (aot_gpr_17 << 6u); + aot_gpr_4 = (ctx.gpr[17] << 6u); aot_gpr_5 = (aot_gpr_4 + ctx.gpr[18]); - ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(48))); - { const bool branch_taken = ctx.gpr[6] == ctx.gpr[19]; + aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(48))); + { const bool branch_taken = aot_gpr_6 == ctx.gpr[19]; // nop if (branch_taken) { goto L_08B25FD0; @@ -5046,8 +5047,8 @@ L_08B25E9C: goto L_08B25EB0; } L_08B25EB0: - ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(48))); - { const bool branch_taken = ctx.gpr[6] == ctx.gpr[20]; + aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(48))); + { const bool branch_taken = aot_gpr_6 == ctx.gpr[20]; // nop if (branch_taken) { goto L_08B25FD0; @@ -5090,8 +5091,8 @@ L_08B25EBC: ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 0u, 0u, 3u>(); ctx.execute_vfpu_unary_ct<28u, 28u, 1u, 22u>(); - ctx.gpr[6] = (ctx.vfpu_scalar_bits_ct<28u>()); - aot_fpr_13 = std::bit_cast(ctx.gpr[6]); + aot_gpr_6 = (ctx.vfpu_scalar_bits_ct<28u>()); + aot_fpr_13 = std::bit_cast(aot_gpr_6); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 < aot_fpr_12)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); @@ -5102,8 +5103,8 @@ L_08B25EBC: goto L_08B25EF4; } L_08B25EF4: - ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(48))); - { const bool branch_taken = ctx.gpr[6] != ctx.gpr[21]; + aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(48))); + { const bool branch_taken = aot_gpr_6 != ctx.gpr[21]; // nop if (branch_taken) { goto L_08B25F0C; @@ -5152,8 +5153,8 @@ L_08B25F30: } L_08B25F40: aot_fpr_13 = ctx.fpr[20] / aot_fpr_13; - ctx.gpr[6] = (std::bit_cast(aot_fpr_13)); - ctx.set_vfpu_scalar_bits_ct<1u>(ctx.gpr[6]); + aot_gpr_6 = (std::bit_cast(aot_fpr_13)); + ctx.set_vfpu_scalar_bits_ct<1u>(aot_gpr_6); { const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -5168,8 +5169,8 @@ L_08B25F40: const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(48))); - { const bool branch_taken = ctx.gpr[6] != ctx.gpr[22]; + aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(48))); + { const bool branch_taken = aot_gpr_6 != ctx.gpr[22]; // nop if (branch_taken) { goto L_08B25F9C; @@ -5235,11 +5236,11 @@ L_08B25FAC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0044_entry, 44u, 645u, 0x088B7728u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B25FD0u) goto L_08B25FD0; AOT_REGCACHE_SYNC_OUT(); return; L_08B25FD0: - aot_gpr_4 = (aot_gpr_17 + static_cast(1)); - aot_gpr_17 = (aot_gpr_4 << 16u); + aot_gpr_4 = (ctx.gpr[17] + static_cast(1)); + ctx.gpr[17] = (aot_gpr_4 << 16u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7908))); - aot_gpr_17 = (static_cast(static_cast(aot_gpr_17) >> 16u)); - aot_gpr_4 = (static_cast(aot_gpr_17) < static_cast(aot_gpr_4) ? 1u : 0u); + ctx.gpr[17] = (static_cast(static_cast(ctx.gpr[17]) >> 16u)); + aot_gpr_4 = (static_cast(ctx.gpr[17]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -5257,7 +5258,7 @@ L_08B25FEC: ctx.fpr[26] = std::bit_cast(aot_run_words[3]); ctx.fpr[28] = std::bit_cast(aot_run_words[4]); aot_gpr_16 = aot_run_words[5]; - aot_gpr_17 = aot_run_words[6]; + ctx.gpr[17] = aot_run_words[6]; ctx.gpr[18] = aot_run_words[7]; ctx.gpr[19] = aot_run_words[8]; ctx.gpr[20] = aot_run_words[9]; @@ -5295,13 +5296,13 @@ L_08B2604C: ctx.gpr[20] = (0u | 0u); ctx.gpr[18] = (ctx.gpr[18] + static_cast(-30400)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(72), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(72), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(80), ctx.gpr[19]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(88), ctx.gpr[21]); ctx.gpr[19] = (aot_gpr_4 | 0u); ctx.gpr[21] = (0u | 0u); ctx.gpr[20] = (ctx.gpr[20] + ctx.gpr[18]); - aot_gpr_17 = (0u | 1u); + ctx.gpr[17] = (0u | 1u); aot_gpr_16 = (aot_gpr_5 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(92), aot_gpr_31); goto L_08B2608C; @@ -5343,7 +5344,7 @@ L_08B260B8: aot_gpr_5 = (aot_gpr_5 + static_cast(-29888)); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - ctx.gpr[2] = (aot_gpr_17 | 0u); + ctx.gpr[2] = (ctx.gpr[17] | 0u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), std::bit_cast(aot_fpr_12)); if (branch_taken) { @@ -5359,7 +5360,7 @@ L_08B260D8: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), 0u); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; aot_gpr_5 = (aot_gpr_29 + static_cast(32)); - ctx.gpr[6] = (aot_gpr_29 + static_cast(64)); + aot_gpr_6 = (aot_gpr_29 + static_cast(64)); aot_gpr_4 = (ctx.gpr[19] | 0u); ctx.gpr[7] = (0u | 1u); ctx.gpr[8] = (0u | 0u); @@ -5425,7 +5426,7 @@ L_08B26168: L_08B2616C: aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(4112), ctx.gpr[19]); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(40))); - ctx.gpr[2] = (aot_gpr_17 | 0u); + ctx.gpr[2] = (ctx.gpr[17] | 0u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), std::bit_cast(aot_fpr_12)); if (branch_taken) { @@ -5440,7 +5441,7 @@ L_08B26184: { std::uint32_t aot_run_words[7]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(68), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -5456,7 +5457,7 @@ L_08B26184: L_08B261A8: aot_gpr_29 = (aot_gpr_29 + static_cast(-416)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5884))); - { const std::uint32_t aot_run_words[16]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; + { const std::uint32_t aot_run_words[16]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(352), aot_run_words); } if (aot_gpr_4 != 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5884))); @@ -5484,31 +5485,31 @@ L_08B26210: aot_gpr_4 = (0u | 6u); aot_gpr_31 = (0x08B2621Cu); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2621Cu) goto L_08B2621C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2621Cu) goto L_08B2621C; AOT_REGCACHE_SYNC_OUT(); return; L_08B2621C: aot_gpr_4 = (0u | 10u); aot_gpr_31 = (0x08B26228u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B26228u) goto L_08B26228; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B26228u) goto L_08B26228; AOT_REGCACHE_SYNC_OUT(); return; L_08B26228: aot_gpr_4 = (0u | 8u); aot_gpr_31 = (0x08B26234u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B26234u) goto L_08B26234; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B26234u) goto L_08B26234; AOT_REGCACHE_SYNC_OUT(); return; L_08B26234: aot_gpr_4 = (0u | 9u); aot_gpr_31 = (0x08B26240u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B26240u) goto L_08B26240; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B26240u) goto L_08B26240; AOT_REGCACHE_SYNC_OUT(); return; L_08B26240: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(8760))); aot_gpr_31 = (0x08B2624Cu); aot_gpr_4 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2624Cu) goto L_08B2624C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2624Cu) goto L_08B2624C; AOT_REGCACHE_SYNC_OUT(); return; L_08B2624C: aot_gpr_4 = (0u | 0u); @@ -5557,11 +5558,11 @@ L_08B26274: ctx.gpr[23] = (ctx.gpr[23] + static_cast(13680)); goto L_08B262B4; L_08B262B4: - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(300)))))); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(304))); - ctx.gpr[6] = (ctx.gpr[6] << 6u); - aot_gpr_17 = (ctx.gpr[6] + aot_gpr_17); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(49))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(300)))))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(304))); + aot_gpr_6 = (aot_gpr_6 << 6u); + ctx.gpr[17] = (aot_gpr_6 + ctx.gpr[17]); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(49))); aot_gpr_5 = (16544u << 16u); ctx.gpr[7] = (0u | 1u); { const bool branch_taken = aot_gpr_4 == ctx.gpr[7]; @@ -5572,7 +5573,7 @@ L_08B262B4: goto L_08B262D8; } L_08B262D8: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(49))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(49))); aot_gpr_5 = (0u | 2u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -5582,7 +5583,7 @@ L_08B262D8: goto L_08B262E8; } L_08B262E8: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(49))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(49))); { const bool branch_taken = aot_gpr_4 != ctx.gpr[7]; // nop if (branch_taken) { @@ -5613,7 +5614,7 @@ L_08B26300: goto L_08B26314; } L_08B26314: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(48))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(48))); { const bool branch_taken = aot_gpr_4 != ctx.gpr[7]; // nop if (branch_taken) { @@ -5623,7 +5624,7 @@ L_08B26314: } L_08B26320: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(308))); - aot_gpr_4 = (ctx.gpr[6] + aot_gpr_4); + aot_gpr_4 = (aot_gpr_6 + aot_gpr_4); aot_gpr_5 = (std::bit_cast(ctx.fpr[28])); ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_5); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); @@ -5641,7 +5642,7 @@ L_08B26320: const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -5680,7 +5681,7 @@ L_08B26320: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); @@ -5692,7 +5693,7 @@ L_08B26320: } L_08B26378: aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_fpr_14 = aot_fpr_14 - aot_fpr_16; { const bool branch_taken = 0u == 0u; ctx.fpr[15] = ctx.fpr[15] + aot_fpr_16; @@ -5702,14 +5703,14 @@ L_08B26378: goto L_08B2638C; } L_08B2638C: - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); aot_fpr_14 = aot_fpr_14 - aot_fpr_16; ctx.fpr[15] = ctx.fpr[15] + aot_fpr_16; goto L_08B2639C; L_08B2639C: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); @@ -5721,7 +5722,7 @@ L_08B2639C: } L_08B263B4: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); aot_fpr_12 = aot_fpr_12 - aot_fpr_16; { const bool branch_taken = 0u == 0u; aot_fpr_13 = aot_fpr_13 + aot_fpr_16; @@ -5731,7 +5732,7 @@ L_08B263B4: goto L_08B263C8; } L_08B263C8: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); aot_fpr_12 = aot_fpr_12 - aot_fpr_16; aot_fpr_13 = aot_fpr_13 + aot_fpr_16; @@ -5747,7 +5748,7 @@ L_08B263D8: aot_gpr_4 = (aot_gpr_4 << 16u); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 16u)); aot_gpr_4 = (aot_gpr_4 + static_cast(4)); - ctx.gpr[6] = (std::bit_cast(aot_fpr_14)); + aot_gpr_6 = (std::bit_cast(aot_fpr_14)); { const bool branch_taken = static_cast(ctx.gpr[21]) >= 0; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(296), aot_gpr_4); if (branch_taken) { @@ -5759,7 +5760,7 @@ L_08B2640C: aot_gpr_4 = (0u - ctx.gpr[21]); aot_gpr_4 = (aot_gpr_4 & 3u); aot_gpr_4 = (0u - aot_gpr_4); - aot_gpr_4 = (ctx.gpr[6] - aot_gpr_4); + aot_gpr_4 = (aot_gpr_6 - aot_gpr_4); ctx.gpr[21] = (aot_gpr_4 << 16u); { const bool branch_taken = 0u == 0u; ctx.gpr[21] = (static_cast(static_cast(ctx.gpr[21]) >> 16u)); @@ -5770,7 +5771,7 @@ L_08B2640C: } L_08B26428: aot_gpr_4 = (ctx.gpr[21] & 3u); - aot_gpr_4 = (ctx.gpr[6] - aot_gpr_4); + aot_gpr_4 = (aot_gpr_6 - aot_gpr_4); ctx.gpr[21] = (aot_gpr_4 << 16u); ctx.gpr[21] = (static_cast(static_cast(ctx.gpr[21]) >> 16u)); goto L_08B26438; @@ -5798,12 +5799,12 @@ L_08B26448: { const float fs = ctx.fpr[26]; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[26] = std::bit_cast(0x7FC00000u); else ctx.fpr[26] = fs * ft; } aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 16u)); aot_gpr_5 = (std::bit_cast(aot_fpr_12)); - ctx.gpr[6] = (0u - aot_gpr_4); + aot_gpr_6 = (0u - aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(264), aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(276), aot_gpr_4); - ctx.gpr[6] = (ctx.gpr[6] & 3u); + aot_gpr_6 = (aot_gpr_6 & 3u); aot_gpr_4 = (aot_gpr_4 & 3u); - aot_gpr_5 = (0u - ctx.gpr[6]); + aot_gpr_5 = (0u - aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(288), aot_gpr_4); ctx.gpr[20] = (ctx.gpr[20] + static_cast(4)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(292), aot_gpr_5); @@ -5811,7 +5812,7 @@ L_08B26448: L_08B264A0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(276))); { const bool branch_taken = static_cast(aot_gpr_4) >= 0; - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(264))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(264))); if (branch_taken) { goto L_08B264C0; } @@ -5819,7 +5820,7 @@ L_08B264A0: } L_08B264AC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(292))); - aot_gpr_4 = (ctx.gpr[6] - aot_gpr_4); + aot_gpr_4 = (aot_gpr_6 - aot_gpr_4); aot_gpr_16 = (aot_gpr_4 << 16u); { const bool branch_taken = 0u == 0u; aot_gpr_16 = (static_cast(static_cast(aot_gpr_16) >> 16u)); @@ -5830,7 +5831,7 @@ L_08B264AC: } L_08B264C0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(288))); - aot_gpr_4 = (ctx.gpr[6] - aot_gpr_4); + aot_gpr_4 = (aot_gpr_6 - aot_gpr_4); aot_gpr_16 = (aot_gpr_4 << 16u); aot_gpr_16 = (static_cast(static_cast(aot_gpr_16) >> 16u)); goto L_08B264D0; @@ -5850,9 +5851,9 @@ L_08B264DC: goto L_08B264E8; L_08B264E8: aot_gpr_4 = (static_cast(static_cast(aot_gpr_16) >> 2u)); - ctx.gpr[6] = (ctx.gpr[19] ^ aot_gpr_4); - ctx.gpr[6] = (ctx.gpr[6] & 15u); - aot_gpr_4 = (ctx.gpr[6] & 1u); + aot_gpr_6 = (ctx.gpr[19] ^ aot_gpr_4); + aot_gpr_6 = (aot_gpr_6 & 15u); + aot_gpr_4 = (aot_gpr_6 & 1u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -5862,15 +5863,15 @@ L_08B264E8: } L_08B26500: ctx.fpr[20] = std::bit_cast(aot_gpr_16); - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); ctx.fpr[20] = static_cast(static_cast(std::bit_cast(ctx.fpr[20]))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); aot_fpr_14 = ctx.fpr[22] - aot_fpr_14; - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(16))); - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(20))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(16))); + ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(20))); aot_fpr_16 = std::bit_cast(0u); aot_fpr_13 = ctx.fpr[20] - aot_fpr_13; - aot_gpr_4 = (static_cast(static_cast(ctx.gpr[6]) >> 1u)); + aot_gpr_4 = (static_cast(static_cast(aot_gpr_6) >> 1u)); { const float fs = aot_fpr_14; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } ctx.gpr[18] = (aot_gpr_4 << 16u); { const float fs = aot_fpr_13; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[15] = std::bit_cast(0x7FC00000u); else ctx.fpr[15] = fs * ft; } @@ -5912,7 +5913,7 @@ L_08B26558: goto L_08B26584; } L_08B26584: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); aot_gpr_4 = (16672u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(144), std::bit_cast(ctx.fpr[22])); @@ -5926,7 +5927,7 @@ L_08B26584: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); aot_fpr_12 = aot_fpr_12 - aot_fpr_14; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), 0u); - ctx.gpr[6] = (aot_gpr_29 + static_cast(96)); + aot_gpr_6 = (aot_gpr_29 + static_cast(96)); ctx.gpr[7] = (0u | 1u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); @@ -5948,18 +5949,18 @@ L_08B265E4: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(72))); aot_gpr_4 = (aot_gpr_4 | 26214u); aot_fpr_13 = std::bit_cast(aot_gpr_4); - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_fpr_16 = aot_fpr_12 + aot_fpr_13; ctx.fpr[19] = std::bit_cast(0u); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); aot_fpr_12 = ctx.fpr[22] - aot_fpr_14; - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); aot_fpr_13 = ctx.fpr[20] - aot_fpr_13; - ctx.fpr[17] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(16))); + ctx.fpr[17] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(16))); ctx.fpr[15] = aot_fpr_16 - ctx.fpr[15]; - ctx.fpr[18] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(20))); + ctx.fpr[18] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(20))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(152), std::bit_cast(aot_fpr_16)); - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(24))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(24))); { const float fs = aot_fpr_13; const float ft = ctx.fpr[18]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[18] = std::bit_cast(0x7FC00000u); else ctx.fpr[18] = fs * ft; } { const float fs = aot_fpr_12; const float ft = ctx.fpr[17]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_16 = std::bit_cast(0x7FC00000u); else aot_fpr_16 = fs * ft; } { const float fs = ctx.fpr[15]; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } @@ -6023,7 +6024,7 @@ L_08B26688: aot_gpr_4 = (aot_gpr_29 + static_cast(160)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(168), std::bit_cast(aot_fpr_14)); aot_gpr_5 = (aot_gpr_29 + static_cast(32)); - ctx.gpr[6] = (aot_gpr_29 + static_cast(48)); + aot_gpr_6 = (aot_gpr_29 + static_cast(48)); ctx.gpr[7] = (ctx.gpr[30] | 0u); aot_fpr_12 = aot_fpr_13 / aot_fpr_16; ctx.gpr[8] = (0u | 1u); @@ -6053,8 +6054,8 @@ L_08B266FC: ctx.fpr[30] = ctx.fpr[24] / ctx.fpr[22]; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(332), std::bit_cast(ctx.fpr[24])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(320), std::bit_cast(ctx.fpr[22])); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(36))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(40))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(36))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(40))); aot_gpr_4 = (ctx.gpr[18] << 2u); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[23]); { const float fs = ctx.fpr[20]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } @@ -6066,7 +6067,7 @@ L_08B266FC: aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(48))); aot_gpr_5 = (std::bit_cast(aot_fpr_12)); - aot_fpr_16 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(44))); + aot_fpr_16 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(44))); { const float fs = aot_fpr_14; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[28] = std::bit_cast(0x7FC00000u); else ctx.fpr[28] = fs * ft; } ctx.gpr[18] = (aot_gpr_5 & 255u); { const float fs = ctx.fpr[20]; const float ft = aot_fpr_16; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_16 = std::bit_cast(0x7FC00000u); else aot_fpr_16 = fs * ft; } @@ -6088,17 +6089,17 @@ L_08B266FC: AOT_REGCACHE_SYNC_OUT(); return; L_08B267A4: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(4132))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(4128))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(4128))); aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08B267B8u); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B267B8u) goto L_08B267B8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_16, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B267B8u) goto L_08B267B8; AOT_REGCACHE_SYNC_OUT(); return; L_08B267B8: aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08B267C4u); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B267C4u) goto L_08B267C4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B627F0, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B267C4u) goto L_08B267C4; AOT_REGCACHE_SYNC_OUT(); return; L_08B267C4: aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[22])); @@ -6107,7 +6108,7 @@ L_08B267C4: aot_gpr_5 = (ctx.gpr[21] | 0u); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(320))); ctx.fpr[15] = std::bit_cast(std::bit_cast(ctx.fpr[28])); - ctx.gpr[6] = (aot_gpr_16 | 0u); + aot_gpr_6 = (aot_gpr_16 | 0u); aot_fpr_16 = std::bit_cast(std::bit_cast(ctx.fpr[24])); ctx.gpr[7] = (ctx.gpr[22] | 0u); ctx.fpr[17] = std::bit_cast(std::bit_cast(ctx.fpr[30])); @@ -6163,7 +6164,7 @@ L_08B2684C: goto L_08B26854; } L_08B26854: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(48))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(48))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -6172,7 +6173,7 @@ L_08B26854: goto L_08B26860; } L_08B26860: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(48))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(48))); aot_gpr_5 = (0u | 4u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -6182,7 +6183,7 @@ L_08B26860: goto L_08B26870; } L_08B26870: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(48))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(48))); aot_gpr_5 = (0u | 3u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -6192,7 +6193,7 @@ L_08B26870: goto L_08B26880; } L_08B26880: - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -6218,10 +6219,10 @@ L_08B26894: goto L_08B2689C; } L_08B2689C: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_gpr_4 = (16656u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); - aot_fpr_16 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + aot_fpr_16 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); aot_fpr_14 = aot_fpr_12 - aot_fpr_13; ctx.fpr[15] = aot_fpr_12 + aot_fpr_13; ctx.fpr[17] = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_14)); @@ -6237,7 +6238,7 @@ L_08B2689C: ctx.gpr[21] = (std::bit_cast(aot_fpr_14)); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 16u)); aot_gpr_5 = (aot_gpr_5 + static_cast(2)); - ctx.gpr[6] = (aot_gpr_4 & 1u); + aot_gpr_6 = (aot_gpr_4 & 1u); { const bool branch_taken = static_cast(aot_gpr_4) >= 0; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(284), aot_gpr_5); if (branch_taken) { @@ -6246,7 +6247,7 @@ L_08B2689C: goto L_08B268F4; } L_08B268F4: - aot_gpr_4 = (0u - ctx.gpr[6]); + aot_gpr_4 = (0u - aot_gpr_6); aot_gpr_4 = (ctx.gpr[21] - aot_gpr_4); ctx.gpr[21] = (aot_gpr_4 << 16u); { const bool branch_taken = 0u == 0u; @@ -6257,7 +6258,7 @@ L_08B268F4: goto L_08B26908; } L_08B26908: - aot_gpr_4 = (ctx.gpr[21] - ctx.gpr[6]); + aot_gpr_4 = (ctx.gpr[21] - aot_gpr_6); ctx.gpr[21] = (aot_gpr_4 << 16u); ctx.gpr[21] = (static_cast(static_cast(ctx.gpr[21]) >> 16u)); goto L_08B26914; @@ -6280,25 +6281,25 @@ L_08B26924: aot_gpr_4 = (std::bit_cast(aot_fpr_13)); aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); aot_gpr_4 = (aot_gpr_4 << 16u); - ctx.gpr[6] = (std::bit_cast(aot_fpr_14)); + aot_gpr_6 = (std::bit_cast(aot_fpr_14)); ctx.gpr[20] = (static_cast(static_cast(aot_gpr_4) >> 16u)); - aot_gpr_4 = (ctx.gpr[6] << 16u); + aot_gpr_4 = (aot_gpr_6 << 16u); aot_fpr_14 = std::bit_cast(aot_gpr_5); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 16u)); { const float fs = ctx.fpr[26]; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[26] = std::bit_cast(0x7FC00000u); else ctx.fpr[26] = fs * ft; } - ctx.gpr[6] = (std::bit_cast(aot_fpr_12)); + aot_gpr_6 = (std::bit_cast(aot_fpr_12)); aot_gpr_5 = (aot_gpr_4 & 1u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(264), ctx.gpr[6]); - ctx.gpr[6] = (0u - aot_gpr_5); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(264), aot_gpr_6); + aot_gpr_6 = (0u - aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(272), aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(280), ctx.gpr[6]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(280), aot_gpr_6); ctx.gpr[20] = (ctx.gpr[20] + static_cast(2)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(268), aot_gpr_5); goto L_08B2697C; L_08B2697C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(272))); { const bool branch_taken = static_cast(aot_gpr_4) >= 0; - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(264))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(264))); if (branch_taken) { goto L_08B2699C; } @@ -6306,7 +6307,7 @@ L_08B2697C: } L_08B26988: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(280))); - aot_gpr_4 = (ctx.gpr[6] - aot_gpr_4); + aot_gpr_4 = (aot_gpr_6 - aot_gpr_4); aot_gpr_16 = (aot_gpr_4 << 16u); { const bool branch_taken = 0u == 0u; aot_gpr_16 = (static_cast(static_cast(aot_gpr_16) >> 16u)); @@ -6317,7 +6318,7 @@ L_08B26988: } L_08B2699C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(268))); - aot_gpr_4 = (ctx.gpr[6] - aot_gpr_4); + aot_gpr_4 = (aot_gpr_6 - aot_gpr_4); aot_gpr_16 = (aot_gpr_4 << 16u); aot_gpr_16 = (static_cast(static_cast(aot_gpr_16) >> 16u)); goto L_08B269AC; @@ -6342,9 +6343,9 @@ L_08B269CC: aot_gpr_4 = (aot_gpr_4 >> 31u); aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 1u)); - ctx.gpr[6] = (ctx.gpr[19] ^ aot_gpr_4); - ctx.gpr[6] = (ctx.gpr[6] & 15u); - aot_gpr_4 = (ctx.gpr[6] & 1u); + aot_gpr_6 = (ctx.gpr[19] ^ aot_gpr_4); + aot_gpr_6 = (aot_gpr_6 & 15u); + aot_gpr_4 = (aot_gpr_6 & 1u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -6354,11 +6355,11 @@ L_08B269CC: } L_08B269F0: aot_fpr_12 = std::bit_cast(aot_gpr_16); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); aot_fpr_13 = ctx.fpr[22] - aot_fpr_13; - aot_gpr_4 = (static_cast(static_cast(ctx.gpr[6]) >> 1u)); + aot_gpr_4 = (static_cast(static_cast(aot_gpr_6) >> 1u)); ctx.gpr[18] = (aot_gpr_4 << 16u); ctx.fpr[15] = aot_fpr_12 - ctx.fpr[15]; { const float fs = aot_fpr_13; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } @@ -6424,7 +6425,7 @@ L_08B26A8C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(212), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_gpr_29 + static_cast(208)); aot_gpr_5 = (aot_gpr_29 + static_cast(32)); - ctx.gpr[6] = (aot_gpr_29 + static_cast(48)); + aot_gpr_6 = (aot_gpr_29 + static_cast(48)); ctx.gpr[7] = (ctx.gpr[30] | 0u); ctx.gpr[8] = (0u | 1u); aot_fpr_12 = std::bit_cast(ctx.gpr[9]); @@ -6457,8 +6458,8 @@ L_08B26AE0: ctx.fpr[30] = ctx.fpr[24] / ctx.fpr[26]; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(320), std::bit_cast(ctx.fpr[24])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(324), std::bit_cast(ctx.fpr[26])); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(36))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(40))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(36))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(40))); aot_gpr_4 = (ctx.gpr[18] << 2u); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[23]); { const float fs = ctx.fpr[20]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } @@ -6470,7 +6471,7 @@ L_08B26AE0: aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(48))); aot_gpr_5 = (std::bit_cast(aot_fpr_12)); - aot_fpr_16 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(44))); + aot_fpr_16 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(44))); { const float fs = aot_fpr_14; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[28] = std::bit_cast(0x7FC00000u); else ctx.fpr[28] = fs * ft; } ctx.gpr[18] = (aot_gpr_5 & 255u); { const float fs = ctx.fpr[20]; const float ft = aot_fpr_16; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_16 = std::bit_cast(0x7FC00000u); else aot_fpr_16 = fs * ft; } @@ -6492,17 +6493,17 @@ L_08B26AE0: AOT_REGCACHE_SYNC_OUT(); return; L_08B26B88: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(4140))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(4136))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(4136))); aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08B26B9Cu); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B26B9Cu) goto L_08B26B9C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_16, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B26B9Cu) goto L_08B26B9C; AOT_REGCACHE_SYNC_OUT(); return; L_08B26B9C: aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08B26BA8u); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B26BA8u) goto L_08B26BA8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B627F0, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B26BA8u) goto L_08B26BA8; AOT_REGCACHE_SYNC_OUT(); return; L_08B26BA8: aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[26])); @@ -6511,7 +6512,7 @@ L_08B26BA8: aot_gpr_5 = (ctx.gpr[22] | 0u); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(324))); ctx.fpr[15] = std::bit_cast(std::bit_cast(ctx.fpr[28])); - ctx.gpr[6] = (ctx.gpr[19] | 0u); + aot_gpr_6 = (ctx.gpr[19] | 0u); aot_fpr_16 = std::bit_cast(std::bit_cast(ctx.fpr[24])); ctx.gpr[7] = (ctx.gpr[20] | 0u); ctx.fpr[17] = std::bit_cast(std::bit_cast(ctx.fpr[30])); @@ -6591,7 +6592,7 @@ L_08B26C60: ctx.fpr[28] = std::bit_cast(aot_run_words[4]); ctx.fpr[30] = std::bit_cast(aot_run_words[5]); aot_gpr_16 = aot_run_words[6]; - aot_gpr_17 = aot_run_words[7]; + ctx.gpr[17] = aot_run_words[7]; ctx.gpr[18] = aot_run_words[8]; ctx.gpr[19] = aot_run_words[9]; ctx.gpr[20] = aot_run_words[10]; @@ -6611,21 +6612,21 @@ L_08B26CA8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_4 = (ctx.gpr[28] + static_cast(10204)); aot_gpr_5 = (0u | 255u); - ctx.gpr[6] = (0u | 255u); + aot_gpr_6 = (0u | 255u); ctx.gpr[7] = (0u | 255u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); aot_gpr_31 = (0x08B26CC8u); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B26CC8u) goto L_08B26CC8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B26CC8u) goto L_08B26CC8; AOT_REGCACHE_SYNC_OUT(); return; L_08B26CC8: aot_gpr_4 = (ctx.gpr[28] + static_cast(10208)); aot_gpr_5 = (0u | 255u); - ctx.gpr[6] = (0u | 255u); + aot_gpr_6 = (0u | 255u); ctx.gpr[7] = (0u | 255u); aot_gpr_31 = (0x08B26CE0u); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B26CE0u) goto L_08B26CE0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B26CE0u) goto L_08B26CE0; AOT_REGCACHE_SYNC_OUT(); return; L_08B26CE0: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -6638,8 +6639,8 @@ L_08B26CE0: L_08B26CEC: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1360))); aot_gpr_5 = (aot_gpr_5 + static_cast(-8)); - ctx.gpr[6] = (aot_gpr_5 < static_cast(8) ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_6 = (aot_gpr_5 < static_cast(8) ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 == 0u; // nop if (branch_taken) { goto L_08B26D28; @@ -6676,17 +6677,17 @@ L_08B26D28: AOT_REGCACHE_SYNC_OUT(); return; L_08B26D30: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(86)))))); - ctx.gpr[6] = (ctx.gpr[6] << 2u); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(86)))))); + aot_gpr_6 = (aot_gpr_6 << 2u); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); - ctx.gpr[6] = (ctx.gpr[7] + ctx.gpr[6]); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(0))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(20))); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(0))); + aot_gpr_6 = (ctx.gpr[7] + aot_gpr_6); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(20))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(4))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(8))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), std::bit_cast(aot_fpr_12)); { const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); std::uint32_t vfpu_words[4]{}; @@ -6752,8 +6753,8 @@ L_08B26D8C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); ctx.gpr[18] = (2236u << 16u); aot_gpr_5 = (aot_gpr_16 + static_cast(16)); - ctx.gpr[6] = (0u | 1u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); + aot_gpr_6 = (0u | 1u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); aot_gpr_31 = (0x08B26DB8u); ctx.gpr[7] = (ctx.gpr[18] + static_cast(29704)); @@ -6766,8 +6767,8 @@ L_08B26DB8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B26DC4u) goto L_08B26DC4; AOT_REGCACHE_SYNC_OUT(); return; L_08B26DC4: - aot_gpr_17 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (ctx.gpr[2] | 0u); + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_08B26DE8; @@ -6776,8 +6777,8 @@ L_08B26DC4: } L_08B26DD0: aot_gpr_31 = (0x08B26DD8u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B26DD8u) goto L_08B26DD8; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B26DD8u) goto L_08B26DD8; AOT_REGCACHE_SYNC_OUT(); return; L_08B26DD8: { const bool branch_taken = ctx.gpr[2] != 0u; @@ -6805,7 +6806,7 @@ L_08B26DE8: } L_08B26DF0: aot_gpr_31 = (0x08B26DF8u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 765u, 0x08863DD8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B26DF8u) goto L_08B26DF8; AOT_REGCACHE_SYNC_OUT(); return; L_08B26DF8: @@ -6820,7 +6821,7 @@ L_08B26DF8: L_08B26E04: aot_gpr_4 = (2239u << 16u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(29704))); - ctx.gpr[6] = (0u | 2u); + aot_gpr_6 = (0u | 2u); ctx.gpr[7] = (aot_gpr_16 | 0u); ctx.gpr[8] = (0u | 0u); aot_gpr_31 = (0x08B26E20u); @@ -6834,7 +6835,7 @@ L_08B26E24: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -6855,8 +6856,8 @@ L_08B26E3C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), ctx.gpr[18]); ctx.gpr[18] = (ctx.gpr[19] + static_cast(29704)); aot_gpr_5 = (ctx.gpr[20] | 0u); - ctx.gpr[6] = (0u | 1u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_17); + aot_gpr_6 = (0u | 1u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), aot_gpr_31); aot_gpr_31 = (0x08B26E78u); ctx.gpr[7] = (ctx.gpr[18] | 0u); @@ -6869,9 +6870,9 @@ L_08B26E78: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B26E84u) goto L_08B26E84; AOT_REGCACHE_SYNC_OUT(); return; L_08B26E84: - aot_gpr_17 = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08B26E90u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 195u, 0x08910B38u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B26E90u) goto L_08B26E90; AOT_REGCACHE_SYNC_OUT(); return; L_08B26E90: @@ -6884,7 +6885,7 @@ L_08B26E90: } L_08B26E98: { const bool branch_taken = 0u == 0u; - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1152))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1152))); if (branch_taken) { goto L_08B26EA4; } @@ -6924,7 +6925,7 @@ L_08B26EAC: goto L_08B26EC0; } L_08B26EC0: - aot_gpr_4 = (aot_gpr_17 + static_cast(48)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -6949,15 +6950,15 @@ L_08B26ECC: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08B26EF4u); - ctx.gpr[6] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B26EF4u) goto L_08B26EF4; + aot_gpr_6 = (0u | 3u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B26EF4u) goto L_08B26EF4; AOT_REGCACHE_SYNC_OUT(); return; L_08B26EF4: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -6972,13 +6973,13 @@ L_08B26EF4: L_08B26F18: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), aot_gpr_17); - aot_gpr_17 = (2236u << 16u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), ctx.gpr[17]); + ctx.gpr[17] = (2236u << 16u); aot_gpr_16 = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), ctx.gpr[18]); - ctx.gpr[18] = (aot_gpr_17 + static_cast(29704)); + ctx.gpr[18] = (ctx.gpr[17] + static_cast(29704)); aot_gpr_5 = (aot_gpr_16 + static_cast(16)); - ctx.gpr[6] = (0u | 4u); + aot_gpr_6 = (0u | 4u); { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(16), aot_run_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), aot_gpr_31); @@ -6989,7 +6990,7 @@ L_08B26F18: L_08B26F54: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15976))); aot_gpr_31 = (0x08B26F60u); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29704))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29704))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B26F60u) goto L_08B26F60; AOT_REGCACHE_SYNC_OUT(); return; L_08B26F60: @@ -7001,7 +7002,7 @@ L_08B26F60: } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), std::bit_cast(ctx.fpr[22])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), std::bit_cast(ctx.fpr[20])); - aot_gpr_17 = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (ctx.gpr[2] | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), std::bit_cast(ctx.fpr[24])); aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_31 = (0x08B26F88u); @@ -7043,10 +7044,10 @@ L_08B26FC4: goto L_08B26FC8; L_08B26FC8: aot_fpr_14 = std::bit_cast(std::bit_cast(aot_fpr_12)); - ctx.gpr[6] = (aot_gpr_16 + static_cast(527)); + aot_gpr_6 = (aot_gpr_16 + static_cast(527)); aot_gpr_4 = (aot_gpr_16 | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[22])); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_gpr_31 = (0x08B26FE8u); ctx.gpr[7] = (0u | 0u); @@ -7060,7 +7061,7 @@ L_08B26FE8: ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); aot_gpr_16 = aot_run_words[3]; - aot_gpr_17 = aot_run_words[4]; + ctx.gpr[17] = aot_run_words[4]; ctx.gpr[18] = aot_run_words[5]; aot_gpr_31 = aot_run_words[6]; } @@ -7074,12 +7075,12 @@ L_08B27010: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); ctx.gpr[18] = (2236u << 16u); aot_gpr_5 = (aot_gpr_16 + static_cast(16)); - aot_gpr_17 = (0u | 1u); - ctx.gpr[6] = (0u | 1u); + ctx.gpr[17] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); aot_gpr_31 = (0x08B27040u); ctx.gpr[7] = (ctx.gpr[18] + static_cast(29704)); @@ -7103,7 +7104,7 @@ L_08B2704C: L_08B27058: aot_gpr_31 = (0x08B27060u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B27060u) goto L_08B27060; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B27060u) goto L_08B27060; AOT_REGCACHE_SYNC_OUT(); return; L_08B27060: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -7116,14 +7117,14 @@ L_08B27060: L_08B27068: aot_gpr_31 = (0x08B27070u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B27070u) goto L_08B27070; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089474C4, 80u, 661u, 0x089474C4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B27070u) goto L_08B27070; AOT_REGCACHE_SYNC_OUT(); return; L_08B27070: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(524))); - ctx.gpr[6] = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(208))); - ctx.gpr[18] = (aot_gpr_17 | 0u); + aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(208))); + ctx.gpr[18] = (ctx.gpr[17] | 0u); aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] != aot_gpr_17; + { const bool branch_taken = aot_gpr_6 != ctx.gpr[17]; aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(518))); if (branch_taken) { goto L_08B2708C; @@ -7145,9 +7146,9 @@ L_08B2708C: L_08B27098: ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(2228))); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(524))); - ctx.gpr[6] = (0u | 58u); + aot_gpr_6 = (0u | 58u); aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); - { const bool branch_taken = ctx.gpr[18] == ctx.gpr[6]; + { const bool branch_taken = ctx.gpr[18] == aot_gpr_6; aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(518))); if (branch_taken) { goto L_08B270BC; @@ -7155,8 +7156,8 @@ L_08B27098: goto L_08B270B0; } L_08B270B0: - ctx.gpr[6] = (0u | 57u); - { const bool branch_taken = ctx.gpr[18] != ctx.gpr[6]; + aot_gpr_6 = (0u | 57u); + { const bool branch_taken = ctx.gpr[18] != aot_gpr_6; // nop if (branch_taken) { goto L_08B270C4; @@ -7186,8 +7187,8 @@ L_08B270CC: aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(518))); goto L_08B270DC; L_08B270DC: - ctx.gpr[6] = (ctx.gpr[18] & 255u); - ctx.gpr[18] = (ctx.gpr[6] ^ aot_gpr_4); + aot_gpr_6 = (ctx.gpr[18] & 255u); + ctx.gpr[18] = (aot_gpr_6 ^ aot_gpr_4); { const bool branch_taken = aot_gpr_5 != 0u; ctx.gpr[18] = (0u < ctx.gpr[18] ? 1u : 0u); if (branch_taken) { @@ -7206,8 +7207,8 @@ L_08B270EC: L_08B270F4: aot_gpr_4 = (aot_gpr_16 + static_cast(518)); aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0))); - ctx.gpr[6] = (aot_gpr_5 + static_cast(-1)); - aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(0), static_cast(ctx.gpr[6])); + aot_gpr_6 = (aot_gpr_5 + static_cast(-1)); + aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_6)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(521))); aot_gpr_5 = (static_cast(aot_gpr_5) < 9 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; @@ -7246,7 +7247,7 @@ L_08B2713C: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -7262,14 +7263,14 @@ L_08B27158: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); ctx.gpr[18] = (2236u << 16u); aot_gpr_16 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (ctx.gpr[18] + static_cast(29704)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (ctx.gpr[18] + static_cast(29704)); aot_gpr_5 = (aot_gpr_16 + static_cast(16)); - ctx.gpr[6] = (0u | 6u); + aot_gpr_6 = (0u | 6u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[19]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); aot_gpr_31 = (0x08B2718Cu); - ctx.gpr[7] = (aot_gpr_17 | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2718Cu) goto L_08B2718C; AOT_REGCACHE_SYNC_OUT(); return; L_08B2718C: @@ -7300,13 +7301,13 @@ L_08B271AC: AOT_REGCACHE_SYNC_OUT(); return; L_08B271B8: { std::uint32_t aot_run_words[3]{}; - aot_mem.aot_direct_load32_block(aot_gpr_17 + static_cast(4), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[17] + static_cast(4), aot_run_words); ctx.fpr[15] = std::bit_cast(aot_run_words[0]); aot_fpr_14 = std::bit_cast(aot_run_words[1]); aot_fpr_13 = std::bit_cast(aot_run_words[2]); } { const bool branch_taken = ctx.gpr[2] == 0u; - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(16))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(16))); if (branch_taken) { goto L_08B271E8; } @@ -7322,13 +7323,13 @@ L_08B271CC: } L_08B271D4: { std::uint32_t aot_run_words[3]{}; - aot_mem.aot_direct_load32_block(aot_gpr_17 + static_cast(4), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[17] + static_cast(4), aot_run_words); ctx.fpr[15] = std::bit_cast(aot_run_words[0]); aot_fpr_14 = std::bit_cast(aot_run_words[1]); aot_fpr_13 = std::bit_cast(aot_run_words[2]); } ctx.gpr[18] = (0u | 0u); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(16))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(16))); goto L_08B271E8; L_08B271E8: { const bool branch_taken = ctx.gpr[18] == 0u; @@ -7427,12 +7428,12 @@ L_08B2727C: } L_08B27284: aot_gpr_5 = (aot_gpr_16 + static_cast(518)); - ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0))); - ctx.gpr[7] = (ctx.gpr[6] + static_cast(-1)); + aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0))); + ctx.gpr[7] = (aot_gpr_6 + static_cast(-1)); aot_mem.aot_direct_store16(aot_gpr_5 + static_cast(0), static_cast(ctx.gpr[7])); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(521))); - ctx.gpr[6] = (static_cast(ctx.gpr[6]) < 9 ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_6 = (static_cast(aot_gpr_6) < 9 ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); if (branch_taken) { goto L_08B272B0; @@ -7464,7 +7465,7 @@ L_08B272C8: aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(518), static_cast(0u)); goto L_08B272CC; L_08B272CC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(20))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(20))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -7475,7 +7476,7 @@ L_08B272CC: L_08B272D8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); { std::uint32_t aot_run_words[3]{}; - aot_mem.aot_direct_load32_block(aot_gpr_17 + static_cast(4), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[17] + static_cast(4), aot_run_words); aot_fpr_12 = std::bit_cast(aot_run_words[0]); aot_fpr_13 = std::bit_cast(aot_run_words[1]); aot_fpr_14 = std::bit_cast(aot_run_words[2]); @@ -7484,7 +7485,7 @@ L_08B272D8: aot_gpr_4 = (aot_gpr_16 + aot_gpr_4); aot_fpr_16 = std::bit_cast(aot_gpr_5); aot_gpr_31 = (0x08B272FCu); - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(16))); + ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(16))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 662u, 0x088637CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B272FCu) goto L_08B272FC; AOT_REGCACHE_SYNC_OUT(); return; L_08B272FC: @@ -7501,7 +7502,7 @@ L_08B27308: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; @@ -7518,14 +7519,14 @@ L_08B27328: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); ctx.gpr[18] = (2236u << 16u); aot_gpr_16 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (ctx.gpr[18] + static_cast(29704)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (ctx.gpr[18] + static_cast(29704)); aot_gpr_5 = (aot_gpr_16 + static_cast(16)); - ctx.gpr[6] = (0u | 8u); + aot_gpr_6 = (0u | 8u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[19]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); aot_gpr_31 = (0x08B2735Cu); - ctx.gpr[7] = (aot_gpr_17 | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2735Cu) goto L_08B2735C; AOT_REGCACHE_SYNC_OUT(); return; L_08B2735C: @@ -7556,7 +7557,7 @@ L_08B2737C: AOT_REGCACHE_SYNC_OUT(); return; L_08B27388: { std::uint32_t aot_run_words[5]{}; - aot_mem.aot_direct_load32_block(aot_gpr_17 + static_cast(4), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[17] + static_cast(4), aot_run_words); ctx.fpr[17] = std::bit_cast(aot_run_words[0]); aot_fpr_16 = std::bit_cast(aot_run_words[1]); ctx.fpr[15] = std::bit_cast(aot_run_words[2]); @@ -7564,7 +7565,7 @@ L_08B27388: aot_fpr_13 = std::bit_cast(aot_run_words[4]); } { const bool branch_taken = ctx.gpr[2] == 0u; - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(24))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(24))); if (branch_taken) { goto L_08B273C8; } @@ -7580,7 +7581,7 @@ L_08B273A4: } L_08B273AC: { std::uint32_t aot_run_words[5]{}; - aot_mem.aot_direct_load32_block(aot_gpr_17 + static_cast(4), aot_run_words); + aot_mem.aot_direct_load32_block(ctx.gpr[17] + static_cast(4), aot_run_words); ctx.fpr[17] = std::bit_cast(aot_run_words[0]); aot_fpr_16 = std::bit_cast(aot_run_words[1]); ctx.fpr[15] = std::bit_cast(aot_run_words[2]); @@ -7588,7 +7589,7 @@ L_08B273AC: aot_fpr_13 = std::bit_cast(aot_run_words[4]); } ctx.gpr[18] = (0u | 0u); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(24))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(24))); goto L_08B273C8; L_08B273C8: { const bool branch_taken = ctx.gpr[18] == 0u; @@ -7693,12 +7694,12 @@ L_08B27474: } L_08B2747C: aot_gpr_5 = (aot_gpr_16 + static_cast(518)); - ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0))); - ctx.gpr[7] = (ctx.gpr[6] + static_cast(-1)); + aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0))); + ctx.gpr[7] = (aot_gpr_6 + static_cast(-1)); aot_mem.aot_direct_store16(aot_gpr_5 + static_cast(0), static_cast(ctx.gpr[7])); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(521))); - ctx.gpr[6] = (static_cast(ctx.gpr[6]) < 9 ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_6 = (static_cast(aot_gpr_6) < 9 ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); if (branch_taken) { goto L_08B274A8; @@ -7730,7 +7731,7 @@ L_08B274C0: aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(518), static_cast(0u)); goto L_08B274C4; L_08B274C4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(28))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(28))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -7739,19 +7740,19 @@ L_08B274C4: goto L_08B274D0; } L_08B274D0: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(12))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(24))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(12))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(24))); aot_gpr_4 = (16128u << 16u); aot_fpr_16 = aot_fpr_12 + aot_fpr_13; aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); aot_fpr_14 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (aot_gpr_16 + aot_gpr_5); { const float fs = aot_fpr_16; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_16 = std::bit_cast(0x7FC00000u); else aot_fpr_16 = fs * ft; } - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(16))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(16))); aot_gpr_31 = (0x08B27504u); - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(20))); + ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(20))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 662u, 0x088637CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B27504u) goto L_08B27504; AOT_REGCACHE_SYNC_OUT(); return; L_08B27504: @@ -7768,7 +7769,7 @@ L_08B27510: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; @@ -7788,8 +7789,8 @@ L_08B27530: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); ctx.gpr[18] = (2236u << 16u); aot_gpr_5 = (ctx.gpr[19] | 0u); - ctx.gpr[6] = (0u | 1u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); + aot_gpr_6 = (0u | 1u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); { const std::uint32_t aot_run_words[3]{ctx.gpr[20], ctx.gpr[21], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(16), aot_run_words); } aot_gpr_31 = (0x08B2756Cu); @@ -7803,9 +7804,9 @@ L_08B2756C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B27578u) goto L_08B27578; AOT_REGCACHE_SYNC_OUT(); return; L_08B27578: - aot_gpr_17 = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08B27584u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 195u, 0x08910B38u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B27584u) goto L_08B27584; AOT_REGCACHE_SYNC_OUT(); return; L_08B27584: @@ -7818,19 +7819,19 @@ L_08B27584: } L_08B2758C: { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1152))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1152))); if (branch_taken) { goto L_08B27598; } goto L_08B27594; } L_08B27594: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); goto L_08B27598; L_08B27598: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); aot_gpr_31 = (0x08B275A4u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0218_entry, 218u, 139u, 0x08B6CC28u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B275A4u) goto L_08B275A4; AOT_REGCACHE_SYNC_OUT(); return; L_08B275A4: @@ -7905,7 +7906,7 @@ L_08B275FC: aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(5444), aot_gpr_4); aot_gpr_4 = (2239u << 16u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7996))); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); ctx.gpr[7] = (aot_gpr_16 | 0u); ctx.gpr[8] = (0u | 0u); aot_gpr_31 = (0x08B27644u); @@ -7914,7 +7915,7 @@ L_08B275FC: AOT_REGCACHE_SYNC_OUT(); return; L_08B27644: aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(7996), ctx.gpr[20]); - ctx.gpr[20] = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(612))); + ctx.gpr[20] = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(612))); aot_gpr_4 = (static_cast(ctx.gpr[20]) < 2 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_4 = (static_cast(ctx.gpr[20]) < 4 ? 1u : 0u); @@ -7932,7 +7933,7 @@ L_08B27658: goto L_08B27660; } L_08B27660: - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(612), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(612), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5444))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5436))); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); @@ -7943,7 +7944,7 @@ L_08B27660: aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(7992), static_cast(aot_gpr_4)); aot_gpr_4 = (2239u << 16u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7996))); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); ctx.gpr[7] = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B2769Cu); aot_gpr_4 = (aot_gpr_4 + static_cast(21784)); @@ -8000,7 +8001,7 @@ L_08B276CC: goto L_08B276D4; } L_08B276D4: - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(612), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(612), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5444))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5448))); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); @@ -8011,7 +8012,7 @@ L_08B276D4: aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(7992), static_cast(aot_gpr_4)); aot_gpr_4 = (2239u << 16u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7996))); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); ctx.gpr[7] = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B27710u); aot_gpr_4 = (aot_gpr_4 + static_cast(21784)); @@ -8033,15 +8034,15 @@ L_08B2771C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08B27730u); - ctx.gpr[6] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B27730u) goto L_08B27730; + aot_gpr_6 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B27730u) goto L_08B27730; AOT_REGCACHE_SYNC_OUT(); return; L_08B27730: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[7]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -8057,13 +8058,13 @@ L_08B27730: L_08B27758: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (2236u << 16u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (2236u << 16u); aot_gpr_16 = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[19]); - ctx.gpr[19] = (aot_gpr_17 + static_cast(29704)); + ctx.gpr[19] = (ctx.gpr[17] + static_cast(29704)); aot_gpr_5 = (aot_gpr_16 + static_cast(16)); - ctx.gpr[6] = (0u | 2u); + aot_gpr_6 = (0u | 2u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); aot_gpr_31 = (0x08B2778Cu); @@ -8073,7 +8074,7 @@ L_08B27758: L_08B2778C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15976))); aot_gpr_31 = (0x08B27798u); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29704))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29704))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B27798u) goto L_08B27798; AOT_REGCACHE_SYNC_OUT(); return; L_08B27798: @@ -8084,7 +8085,7 @@ L_08B27798: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B277A8u) goto L_08B277A8; AOT_REGCACHE_SYNC_OUT(); return; L_08B277A8: - aot_gpr_17 = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08B277B4u); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 195u, 0x08910B38u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B277B4u) goto L_08B277B4; @@ -8117,7 +8118,7 @@ L_08B277C8: goto L_08B277D0; } L_08B277D0: - { const bool branch_taken = ctx.gpr[18] != aot_gpr_17; + { const bool branch_taken = ctx.gpr[18] != ctx.gpr[17]; // nop if (branch_taken) { goto L_08B277E0; @@ -8158,12 +8159,12 @@ L_08B27800: } L_08B27808: aot_gpr_5 = (aot_gpr_16 + static_cast(518)); - ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0))); - ctx.gpr[7] = (ctx.gpr[6] + static_cast(-1)); + aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0))); + ctx.gpr[7] = (aot_gpr_6 + static_cast(-1)); aot_mem.aot_direct_store16(aot_gpr_5 + static_cast(0), static_cast(ctx.gpr[7])); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(521))); - ctx.gpr[6] = (static_cast(ctx.gpr[6]) < 9 ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_6 = (static_cast(aot_gpr_6) < 9 ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); if (branch_taken) { goto L_08B27834; @@ -8199,7 +8200,7 @@ L_08B27850: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; @@ -8213,13 +8214,13 @@ L_08B27850: L_08B27870: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (2236u << 16u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (2236u << 16u); aot_gpr_16 = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); - ctx.gpr[18] = (aot_gpr_17 + static_cast(29704)); + ctx.gpr[18] = (ctx.gpr[17] + static_cast(29704)); aot_gpr_5 = (aot_gpr_16 + static_cast(16)); - ctx.gpr[6] = (0u | 2u); + aot_gpr_6 = (0u | 2u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); aot_gpr_31 = (0x08B278A0u); ctx.gpr[7] = (ctx.gpr[18] | 0u); @@ -8228,13 +8229,13 @@ L_08B27870: L_08B278A0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15976))); aot_gpr_31 = (0x08B278ACu); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29704))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29704))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B278ACu) goto L_08B278AC; AOT_REGCACHE_SYNC_OUT(); return; L_08B278AC: - aot_gpr_17 = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08B278B8u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 195u, 0x08910B38u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B278B8u) goto L_08B278B8; AOT_REGCACHE_SYNC_OUT(); return; L_08B278B8: @@ -8247,17 +8248,17 @@ L_08B278B8: } L_08B278C0: { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1152))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1152))); if (branch_taken) { goto L_08B278CC; } goto L_08B278C8; } L_08B278C8: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); goto L_08B278CC; L_08B278CC: - { const bool branch_taken = aot_gpr_17 == 0u; + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_08B278EC; @@ -8265,7 +8266,7 @@ L_08B278CC: goto L_08B278D4; } L_08B278D4: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(86)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(86)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -8308,12 +8309,12 @@ L_08B2790C: } L_08B27914: aot_gpr_5 = (aot_gpr_16 + static_cast(518)); - ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0))); - ctx.gpr[7] = (ctx.gpr[6] + static_cast(-1)); + aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0))); + ctx.gpr[7] = (aot_gpr_6 + static_cast(-1)); aot_mem.aot_direct_store16(aot_gpr_5 + static_cast(0), static_cast(ctx.gpr[7])); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(521))); - ctx.gpr[6] = (static_cast(ctx.gpr[6]) < 9 ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_6 = (static_cast(aot_gpr_6) < 9 ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); if (branch_taken) { goto L_08B27940; @@ -8349,7 +8350,7 @@ L_08B2795C: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -8363,25 +8364,25 @@ L_08B27978: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (2236u << 16u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (2236u << 16u); aot_gpr_5 = (aot_gpr_16 + static_cast(16)); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08B279A0u); - ctx.gpr[7] = (aot_gpr_17 + static_cast(29704)); + ctx.gpr[7] = (ctx.gpr[17] + static_cast(29704)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B279A0u) goto L_08B279A0; AOT_REGCACHE_SYNC_OUT(); return; L_08B279A0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15976))); aot_gpr_31 = (0x08B279ACu); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29704))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29704))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B279ACu) goto L_08B279AC; AOT_REGCACHE_SYNC_OUT(); return; L_08B279AC: - aot_gpr_17 = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08B279B8u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 195u, 0x08910B38u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B279B8u) goto L_08B279B8; AOT_REGCACHE_SYNC_OUT(); return; L_08B279B8: @@ -8393,7 +8394,7 @@ L_08B279B8: goto L_08B279C0; } L_08B279C0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1152))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1152))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -8435,12 +8436,12 @@ L_08B279F4: } L_08B279FC: aot_gpr_5 = (aot_gpr_16 + static_cast(518)); - ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0))); - ctx.gpr[7] = (ctx.gpr[6] + static_cast(-1)); + aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0))); + ctx.gpr[7] = (aot_gpr_6 + static_cast(-1)); aot_mem.aot_direct_store16(aot_gpr_5 + static_cast(0), static_cast(ctx.gpr[7])); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(521))); - ctx.gpr[6] = (static_cast(ctx.gpr[6]) < 9 ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_6 = (static_cast(aot_gpr_6) < 9 ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); if (branch_taken) { goto L_08B27A28; @@ -8476,7 +8477,7 @@ L_08B27A44: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -8489,13 +8490,13 @@ L_08B27A5C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (2236u << 16u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_16 + static_cast(29704)); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 3u); + aot_gpr_6 = (0u | 3u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08B27A84u); - ctx.gpr[7] = (aot_gpr_17 | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B27A84u) goto L_08B27A84; AOT_REGCACHE_SYNC_OUT(); return; L_08B27A84: @@ -8505,8 +8506,8 @@ L_08B27A84: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B27A90u) goto L_08B27A90; AOT_REGCACHE_SYNC_OUT(); return; L_08B27A90: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); aot_gpr_31 = (0x08B27AA0u); aot_gpr_4 = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 53u, 0x089082C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B27AA0u) goto L_08B27AA0; @@ -8516,7 +8517,7 @@ L_08B27AA0: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -8529,26 +8530,26 @@ L_08B27AB8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); - aot_gpr_17 = (2236u << 16u); + ctx.gpr[17] = (2236u << 16u); aot_gpr_5 = (aot_gpr_16 + static_cast(16)); ctx.gpr[18] = (0u | 1u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); aot_gpr_31 = (0x08B27AE8u); - ctx.gpr[7] = (aot_gpr_17 + static_cast(29704)); + ctx.gpr[7] = (ctx.gpr[17] + static_cast(29704)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B27AE8u) goto L_08B27AE8; AOT_REGCACHE_SYNC_OUT(); return; L_08B27AE8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15976))); aot_gpr_31 = (0x08B27AF4u); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29704))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29704))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B27AF4u) goto L_08B27AF4; AOT_REGCACHE_SYNC_OUT(); return; L_08B27AF4: - aot_gpr_17 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (ctx.gpr[2] | 0u); + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_08B27B84; @@ -8557,8 +8558,8 @@ L_08B27AF4: } L_08B27B00: aot_gpr_31 = (0x08B27B08u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B27B08u) goto L_08B27B08; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B27B08u) goto L_08B27B08; AOT_REGCACHE_SYNC_OUT(); return; L_08B27B08: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -8570,14 +8571,14 @@ L_08B27B08: } L_08B27B10: aot_gpr_31 = (0x08B27B18u); - aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B27B18u) goto L_08B27B18; + aot_gpr_4 = (ctx.gpr[17] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089474C4, 80u, 661u, 0x089474C4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B27B18u) goto L_08B27B18; AOT_REGCACHE_SYNC_OUT(); return; L_08B27B18: aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(524))); - ctx.gpr[6] = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(208))); + aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(208))); aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] != ctx.gpr[18]; + { const bool branch_taken = aot_gpr_6 != ctx.gpr[18]; aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(518))); if (branch_taken) { goto L_08B27B34; @@ -8586,14 +8587,14 @@ L_08B27B18: } L_08B27B2C: { const bool branch_taken = 0u == 0u; - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (branch_taken) { goto L_08B27B38; } goto L_08B27B34; } L_08B27B34: - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); goto L_08B27B38; L_08B27B38: { const bool branch_taken = 0u == 0u; @@ -8604,11 +8605,11 @@ L_08B27B38: goto L_08B27B40; } L_08B27B40: - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(2228))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(2228))); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(524))); ctx.gpr[7] = (0u | 58u); aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] == ctx.gpr[7]; + { const bool branch_taken = aot_gpr_6 == ctx.gpr[7]; aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(518))); if (branch_taken) { goto L_08B27B74; @@ -8617,7 +8618,7 @@ L_08B27B40: } L_08B27B58: ctx.gpr[7] = (0u | 57u); - { const bool branch_taken = ctx.gpr[6] == ctx.gpr[7]; + { const bool branch_taken = aot_gpr_6 == ctx.gpr[7]; // nop if (branch_taken) { goto L_08B27B74; @@ -8625,9 +8626,9 @@ L_08B27B58: goto L_08B27B64; } L_08B27B64: - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(2196))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(2196))); ctx.gpr[7] = (0u | 38u); - { const bool branch_taken = ctx.gpr[6] != ctx.gpr[7]; + { const bool branch_taken = aot_gpr_6 != ctx.gpr[7]; // nop if (branch_taken) { goto L_08B27B7C; @@ -8636,7 +8637,7 @@ L_08B27B64: } L_08B27B74: { const bool branch_taken = 0u == 0u; - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (branch_taken) { goto L_08B27B94; } @@ -8644,7 +8645,7 @@ L_08B27B74: } L_08B27B7C: { const bool branch_taken = 0u == 0u; - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (branch_taken) { goto L_08B27B94; } @@ -8652,13 +8653,13 @@ L_08B27B7C: } L_08B27B84: aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(524))); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(518))); goto L_08B27B94; L_08B27B94: - ctx.gpr[6] = (ctx.gpr[6] & 255u); - aot_gpr_5 = (ctx.gpr[6] ^ aot_gpr_5); + aot_gpr_6 = (aot_gpr_6 & 255u); + aot_gpr_5 = (aot_gpr_6 ^ aot_gpr_5); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); if (branch_taken) { @@ -8676,12 +8677,12 @@ L_08B27BA4: } L_08B27BAC: aot_gpr_4 = (aot_gpr_16 + static_cast(518)); - ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0))); - ctx.gpr[7] = (ctx.gpr[6] + static_cast(-1)); + aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0))); + ctx.gpr[7] = (aot_gpr_6 + static_cast(-1)); aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(0), static_cast(ctx.gpr[7])); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(521))); - ctx.gpr[6] = (static_cast(ctx.gpr[6]) < 9 ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_6 = (static_cast(aot_gpr_6) < 9 ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); if (branch_taken) { goto L_08B27BD8; @@ -8717,7 +8718,7 @@ L_08B27BF4: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -8731,13 +8732,13 @@ L_08B27C10: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (2236u << 16u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_16 + static_cast(29704)); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 2u); + aot_gpr_6 = (0u | 2u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08B27C38u); - ctx.gpr[7] = (aot_gpr_17 | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B27C38u) goto L_08B27C38; AOT_REGCACHE_SYNC_OUT(); return; L_08B27C38: @@ -8748,14 +8749,14 @@ L_08B27C38: AOT_REGCACHE_SYNC_OUT(); return; L_08B27C44: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(684))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(684), aot_gpr_4); ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -8768,12 +8769,12 @@ L_08B27C6C: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_17); - aot_gpr_17 = (aot_gpr_16 + static_cast(16)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_16 + static_cast(16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), ctx.gpr[18]); ctx.gpr[18] = (2236u << 16u); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_6 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), aot_gpr_31); aot_gpr_31 = (0x08B27C9Cu); ctx.gpr[7] = (ctx.gpr[18] + static_cast(29704)); @@ -8789,21 +8790,21 @@ L_08B27CA8: ctx.gpr[18] = (ctx.gpr[2] | 0u); ctx.gpr[7] = (aot_gpr_29 + static_cast(16)); aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B27CC0u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B27CC0u) goto L_08B27CC0; AOT_REGCACHE_SYNC_OUT(); return; L_08B27CC0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); if (aot_gpr_4 != 0u) { - aot_gpr_17 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-29148))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-29148))); goto L_08B27CD4; } goto L_08B27CCC; L_08B27CCC: { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); if (branch_taken) { goto L_08B27CDC; } @@ -8811,17 +8812,17 @@ L_08B27CCC: } L_08B27CD4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); - aot_gpr_17 = (aot_gpr_17 + aot_gpr_4); + ctx.gpr[17] = (ctx.gpr[17] + aot_gpr_4); goto L_08B27CDC; L_08B27CDC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-5336))); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B27CECu); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0162_entry, 162u, 322u, 0x08A8DB38u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B27CECu) goto L_08B27CEC; AOT_REGCACHE_SYNC_OUT(); return; L_08B27CEC: - aot_gpr_17 = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08B27CF8u); aot_gpr_4 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 195u, 0x08910B38u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B27CF8u) goto L_08B27CF8; @@ -8885,14 +8886,14 @@ L_08B27D24: L_08B27D30: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-5336))); aot_gpr_31 = (0x08B27D3Cu); - aot_gpr_5 = (aot_gpr_17 & 65535u); + aot_gpr_5 = (ctx.gpr[17] & 65535u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0162_entry, 162u, 516u, 0x08A8EA74u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B27D3Cu) goto L_08B27D3C; AOT_REGCACHE_SYNC_OUT(); return; L_08B27D3C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-5336))); aot_gpr_5 = (aot_gpr_29 | 0u); aot_gpr_31 = (0x08B27D4Cu); - ctx.gpr[6] = (ctx.gpr[2] | 0u); + aot_gpr_6 = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0162_entry, 162u, 313u, 0x08A8DAA0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B27D4Cu) goto L_08B27D4C; AOT_REGCACHE_SYNC_OUT(); return; L_08B27D4C: @@ -8937,10 +8938,10 @@ L_08B27D7C: } L_08B27D84: aot_gpr_5 = (aot_gpr_16 + static_cast(518)); - ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0))); - ctx.gpr[7] = (ctx.gpr[6] + static_cast(-1)); - ctx.gpr[6] = (static_cast(ctx.gpr[6]) < 9 ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0))); + ctx.gpr[7] = (aot_gpr_6 + static_cast(-1)); + aot_gpr_6 = (static_cast(aot_gpr_6) < 9 ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 == 0u; aot_mem.aot_direct_store16(aot_gpr_5 + static_cast(0), static_cast(ctx.gpr[7])); if (branch_taken) { goto L_08B27DB0; @@ -8960,11 +8961,11 @@ L_08B27D9C: } L_08B27DB0: aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(521))); - ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(518))); + aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(518))); aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(521), static_cast(aot_gpr_4)); - aot_gpr_4 = (static_cast(ctx.gpr[6]) < 21 ? 1u : 0u); + aot_gpr_4 = (static_cast(aot_gpr_6) < 21 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -8980,7 +8981,7 @@ L_08B27DD4: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(20), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -8994,12 +8995,12 @@ L_08B27DF0: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_17); - aot_gpr_17 = (aot_gpr_16 + static_cast(16)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_16 + static_cast(16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), ctx.gpr[18]); ctx.gpr[18] = (2236u << 16u); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_6 = (0u | 1u); { const std::uint32_t aot_run_words[4]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(4), aot_run_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), ctx.gpr[19]); @@ -9172,10 +9173,10 @@ L_08B27F34: aot_gpr_5 = (std::bit_cast(ctx.fpr[22])); aot_gpr_4 = (aot_gpr_16 | 0u); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(29704), aot_gpr_5); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B27F4Cu); - ctx.gpr[6] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B27F4Cu) goto L_08B27F4C; + aot_gpr_6 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B27F4Cu) goto L_08B27F4C; AOT_REGCACHE_SYNC_OUT(); return; L_08B27F4C: ctx.gpr[2] = (0u | 0u); @@ -9186,7 +9187,7 @@ L_08B27F4C: ctx.fpr[24] = std::bit_cast(aot_run_words[2]); ctx.fpr[26] = std::bit_cast(aot_run_words[3]); aot_gpr_16 = aot_run_words[4]; - aot_gpr_17 = aot_run_words[5]; + ctx.gpr[17] = aot_run_words[5]; ctx.gpr[18] = aot_run_words[6]; ctx.gpr[19] = aot_run_words[7]; aot_gpr_31 = aot_run_words[8]; @@ -9201,13 +9202,13 @@ L_08B27F7C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (2236u << 16u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_16 + static_cast(29704)); aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - ctx.gpr[6] = (0u | 2u); + aot_gpr_6 = (0u | 2u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08B27FA4u); - ctx.gpr[7] = (aot_gpr_17 | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B27FA4u) goto L_08B27FA4; AOT_REGCACHE_SYNC_OUT(); return; L_08B27FA4: @@ -9251,7 +9252,7 @@ L_08B27FD0: } L_08B27FD8: aot_gpr_4 = (aot_gpr_4 | 4059u); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (17204u << 16u); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } diff --git a/profiles/vcs/generated/generated_unit_0201.cpp b/profiles/vcs/generated/generated_unit_0201.cpp index 6ee6763..b2cc434 100644 --- a/profiles/vcs/generated/generated_unit_0201.cpp +++ b/profiles/vcs/generated/generated_unit_0201.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0201[4096] = { }; void recomp_unit_0201_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,16,29,31,17 fprs=12,13,20,14 gpr_occ=4537 fpr_occ=242 gpr_total=5880 fpr_total=325 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,16,31,29,17 fprs=12,13,20,14 gpr_occ=4635 fpr_occ=242 gpr_total=6101 fpr_total=325 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_16 = ctx.gpr[16]; - std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; + std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_17 = ctx.gpr[17]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_20 = ctx.fpr[20]; float aot_fpr_14 = ctx.fpr[14]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[16] = aot_gpr_16; ctx.gpr[29] = aot_gpr_29; ctx.gpr[31] = aot_gpr_31; ctx.gpr[17] = aot_gpr_17; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; ctx.fpr[14] = aot_fpr_14; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_17 = ctx.gpr[17]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_14 = ctx.fpr[14]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[16] = aot_gpr_16; ctx.gpr[31] = aot_gpr_31; ctx.gpr[29] = aot_gpr_29; ctx.gpr[17] = aot_gpr_17; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; ctx.fpr[14] = aot_fpr_14; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_17 = ctx.gpr[17]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_14 = ctx.fpr[14]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -1482,7 +1483,7 @@ L_08B28394: aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); aot_gpr_31 = (0x08B283B4u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B283B4u) goto L_08B283B4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B283B4u) goto L_08B283B4; AOT_REGCACHE_SYNC_OUT(); return; L_08B283B4: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(96))); @@ -1509,7 +1510,7 @@ L_08B283C8: L_08B283D0: aot_gpr_31 = (0x08B283D8u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B283D8u) goto L_08B283D8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B283D8u) goto L_08B283D8; AOT_REGCACHE_SYNC_OUT(); return; L_08B283D8: { const bool branch_taken = ctx.gpr[2] != 0u; @@ -1528,7 +1529,7 @@ L_08B283E0: aot_gpr_4 = (aot_gpr_4 + static_cast(1396)); aot_gpr_31 = (0x08B28400u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B28400u) goto L_08B28400; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B28400u) goto L_08B28400; AOT_REGCACHE_SYNC_OUT(); return; L_08B28400: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(1929)))))); @@ -1552,7 +1553,7 @@ L_08B28424: aot_gpr_4 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08B28430u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B28430u) goto L_08B28430; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B28430u) goto L_08B28430; AOT_REGCACHE_SYNC_OUT(); return; L_08B28430: aot_gpr_31 = (0x08B28438u); @@ -1585,7 +1586,7 @@ L_08B28460: aot_gpr_4 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08B2846Cu); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2846Cu) goto L_08B2846C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2846Cu) goto L_08B2846C; AOT_REGCACHE_SYNC_OUT(); return; L_08B2846C: aot_gpr_31 = (0x08B28474u); @@ -1671,7 +1672,7 @@ L_08B28514: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(80))); aot_gpr_31 = (0x08B28520u); aot_gpr_5 = (0u | 6u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B28520u) goto L_08B28520; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0886D4BC, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B28520u) goto L_08B28520; AOT_REGCACHE_SYNC_OUT(); return; L_08B28520: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(776))); @@ -1686,7 +1687,7 @@ L_08B2852C: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08B28538u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B28538u) goto L_08B28538; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B28538u) goto L_08B28538; AOT_REGCACHE_SYNC_OUT(); return; L_08B28538: aot_gpr_31 = (0x08B28540u); @@ -2556,7 +2557,7 @@ L_08B28B68: L_08B28B70: aot_gpr_31 = (0x08B28B78u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B28B78u) goto L_08B28B78; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B28B78u) goto L_08B28B78; AOT_REGCACHE_SYNC_OUT(); return; L_08B28B78: { const bool branch_taken = ctx.gpr[2] != 0u; @@ -2652,7 +2653,7 @@ L_08B28C24: ctx.gpr[7] = (std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08B28C44u); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(29704), ctx.gpr[7]); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B28C44u) goto L_08B28C44; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B28C44u) goto L_08B28C44; AOT_REGCACHE_SYNC_OUT(); return; L_08B28C44: ctx.gpr[2] = (0u | 0u); @@ -2752,7 +2753,7 @@ L_08B28D18: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(456), aot_gpr_4); aot_gpr_31 = (0x08B28D34u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 454u, 0x08909B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B28D34u) goto L_08B28D34; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08909B60, 65u, 454u, 0x08909B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 454u, 0x08909B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B28D34u) goto L_08B28D34; AOT_REGCACHE_SYNC_OUT(); return; L_08B28D34: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(456))); @@ -4075,7 +4076,7 @@ L_08B29760: aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x08B29774u); ctx.gpr[6] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B29774u) goto L_08B29774; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B29774u) goto L_08B29774; AOT_REGCACHE_SYNC_OUT(); return; L_08B29774: ctx.gpr[2] = (0u | 0u); @@ -4463,7 +4464,7 @@ L_08B29A6C: aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08B29A80u); ctx.gpr[6] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B29A80u) goto L_08B29A80; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B29A80u) goto L_08B29A80; AOT_REGCACHE_SYNC_OUT(); return; L_08B29A80: ctx.gpr[2] = (0u | 0u); @@ -5290,7 +5291,7 @@ L_08B2A158: L_08B2A164: aot_gpr_31 = (0x08B2A16Cu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2A16Cu) goto L_08B2A16C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2A16Cu) goto L_08B2A16C; AOT_REGCACHE_SYNC_OUT(); return; L_08B2A16C: { const bool branch_taken = ctx.gpr[2] != 0u; @@ -5379,7 +5380,7 @@ L_08B2A1F0: L_08B2A208: aot_gpr_31 = (0x08B2A210u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2A210u) goto L_08B2A210; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2A210u) goto L_08B2A210; AOT_REGCACHE_SYNC_OUT(); return; L_08B2A210: { const bool branch_taken = ctx.gpr[2] != 0u; @@ -5639,7 +5640,7 @@ L_08B2A408: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(1256), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08B2A42Cu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2A42Cu) goto L_08B2A42C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2A42Cu) goto L_08B2A42C; AOT_REGCACHE_SYNC_OUT(); return; L_08B2A42C: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -5652,7 +5653,7 @@ L_08B2A42C: L_08B2A434: aot_gpr_31 = (0x08B2A43Cu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2A43Cu) goto L_08B2A43C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089474C4, 80u, 661u, 0x089474C4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2A43Cu) goto L_08B2A43C; AOT_REGCACHE_SYNC_OUT(); return; L_08B2A43C: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1256))); @@ -6258,7 +6259,7 @@ L_08B2A908: aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08B2A91Cu); ctx.gpr[6] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2A91Cu) goto L_08B2A91C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2A91Cu) goto L_08B2A91C; AOT_REGCACHE_SYNC_OUT(); return; L_08B2A91C: ctx.gpr[2] = (0u | 0u); @@ -6633,7 +6634,7 @@ L_08B2AC90: L_08B2ACA0: aot_gpr_31 = (0x08B2ACA8u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2ACA8u) goto L_08B2ACA8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890FF64, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2ACA8u) goto L_08B2ACA8; AOT_REGCACHE_SYNC_OUT(); return; L_08B2ACA8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(456))); @@ -6945,7 +6946,7 @@ L_08B2AF50: aot_gpr_5 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08B2AF60u); ctx.gpr[6] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2AF60u) goto L_08B2AF60; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2AF60u) goto L_08B2AF60; AOT_REGCACHE_SYNC_OUT(); return; L_08B2AF60: ctx.gpr[2] = (0u | 0u); @@ -7864,7 +7865,7 @@ L_08B2B694: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(456), aot_gpr_4); aot_gpr_31 = (0x08B2B6ACu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2B6ACu) goto L_08B2B6AC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2B6ACu) goto L_08B2B6AC; AOT_REGCACHE_SYNC_OUT(); return; L_08B2B6AC: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -7928,7 +7929,7 @@ L_08B2B714: L_08B2B720: aot_gpr_31 = (0x08B2B728u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2B728u) goto L_08B2B728; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2B728u) goto L_08B2B728; AOT_REGCACHE_SYNC_OUT(); return; L_08B2B728: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -8333,7 +8334,7 @@ L_08B2BA34: aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08B2BA48u); ctx.gpr[6] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2BA48u) goto L_08B2BA48; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2BA48u) goto L_08B2BA48; AOT_REGCACHE_SYNC_OUT(); return; L_08B2BA48: ctx.gpr[2] = (0u | 0u); @@ -8477,7 +8478,7 @@ L_08B2BB58: aot_gpr_5 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08B2BB6Cu); ctx.gpr[6] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2BB6Cu) goto L_08B2BB6C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2BB6Cu) goto L_08B2BB6C; AOT_REGCACHE_SYNC_OUT(); return; L_08B2BB6C: ctx.gpr[2] = (0u | 0u); @@ -8526,7 +8527,7 @@ L_08B2BBC4: aot_gpr_5 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08B2BBF4u); ctx.gpr[6] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2BBF4u) goto L_08B2BBF4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2BBF4u) goto L_08B2BBF4; AOT_REGCACHE_SYNC_OUT(); return; L_08B2BBF4: ctx.gpr[2] = (0u | 0u); @@ -8588,7 +8589,7 @@ L_08B2BC60: L_08B2BC6C: aot_gpr_31 = (0x08B2BC74u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2BC74u) goto L_08B2BC74; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B01E00, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2BC74u) goto L_08B2BC74; AOT_REGCACHE_SYNC_OUT(); return; L_08B2BC74: aot_gpr_4 = (0u | 2u); @@ -8999,7 +9000,7 @@ L_08B2BFCC: aot_gpr_16 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08B2BFD8u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2BFD8u) goto L_08B2BFD8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2BFD8u) goto L_08B2BFD8; AOT_REGCACHE_SYNC_OUT(); return; L_08B2BFD8: { const bool branch_taken = ctx.gpr[2] != 0u; @@ -9013,7 +9014,7 @@ L_08B2BFE0: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B2BFECu); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2BFECu) goto L_08B2BFEC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2BFECu) goto L_08B2BFEC; AOT_REGCACHE_SYNC_OUT(); return; L_08B2BFEC: aot_gpr_31 = (0x08B2BFF4u); diff --git a/profiles/vcs/generated/generated_unit_0202.cpp b/profiles/vcs/generated/generated_unit_0202.cpp index f7f158f..1249f07 100644 --- a/profiles/vcs/generated/generated_unit_0202.cpp +++ b/profiles/vcs/generated/generated_unit_0202.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0202[4086] = { }; void recomp_unit_0202_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,16,29,31,17 fprs=12,13,14,30 gpr_occ=4592 fpr_occ=202 gpr_total=5917 fpr_total=349 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,16,31,29,17 fprs=12,13,14,30 gpr_occ=4751 fpr_occ=205 gpr_total=6319 fpr_total=353 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_16 = ctx.gpr[16]; - std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; + std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_17 = ctx.gpr[17]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_14 = ctx.fpr[14]; float aot_fpr_30 = ctx.fpr[30]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[16] = aot_gpr_16; ctx.gpr[29] = aot_gpr_29; ctx.gpr[31] = aot_gpr_31; ctx.gpr[17] = aot_gpr_17; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[30] = aot_fpr_30; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_17 = ctx.gpr[17]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_30 = ctx.fpr[30]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[16] = aot_gpr_16; ctx.gpr[31] = aot_gpr_31; ctx.gpr[29] = aot_gpr_29; ctx.gpr[17] = aot_gpr_17; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[30] = aot_fpr_30; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_17 = ctx.gpr[17]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_30 = ctx.fpr[30]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -1139,7 +1140,7 @@ L_08B2C180: aot_gpr_5 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08B2C1A8u); ctx.gpr[6] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2C1A8u) goto L_08B2C1A8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2C1A8u) goto L_08B2C1A8; AOT_REGCACHE_SYNC_OUT(); return; L_08B2C1A8: ctx.gpr[2] = (0u | 0u); @@ -1314,7 +1315,7 @@ L_08B2C320: aot_gpr_5 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08B2C334u); ctx.gpr[6] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2C334u) goto L_08B2C334; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2C334u) goto L_08B2C334; AOT_REGCACHE_SYNC_OUT(); return; L_08B2C334: ctx.gpr[2] = (0u | 0u); @@ -1445,7 +1446,7 @@ L_08B2C3E8: aot_gpr_5 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08B2C410u); ctx.gpr[6] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2C410u) goto L_08B2C410; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2C410u) goto L_08B2C410; AOT_REGCACHE_SYNC_OUT(); return; L_08B2C410: ctx.gpr[2] = (0u | 0u); @@ -1747,7 +1748,7 @@ L_08B2C690: aot_gpr_5 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08B2C6B0u); ctx.gpr[6] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2C6B0u) goto L_08B2C6B0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2C6B0u) goto L_08B2C6B0; AOT_REGCACHE_SYNC_OUT(); return; L_08B2C6B0: ctx.gpr[2] = (0u | 0u); @@ -1954,7 +1955,7 @@ L_08B2C888: L_08B2C894: aot_gpr_31 = (0x08B2C89Cu); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2C89Cu) goto L_08B2C89C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089474C4, 80u, 661u, 0x089474C4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2C89Cu) goto L_08B2C89C; AOT_REGCACHE_SYNC_OUT(); return; L_08B2C89C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15976))); @@ -3603,7 +3604,7 @@ L_08B2D5E4: aot_gpr_5 = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x08B2D5F8u); ctx.gpr[6] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2D5F8u) goto L_08B2D5F8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2D5F8u) goto L_08B2D5F8; AOT_REGCACHE_SYNC_OUT(); return; L_08B2D5F8: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(522))); @@ -3638,7 +3639,7 @@ L_08B2D624: aot_gpr_5 = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x08B2D63Cu); ctx.gpr[6] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2D63Cu) goto L_08B2D63C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2D63Cu) goto L_08B2D63C; AOT_REGCACHE_SYNC_OUT(); return; L_08B2D63C: ctx.gpr[2] = (0u | 0u); @@ -3827,7 +3828,7 @@ L_08B2D7D4: aot_gpr_5 = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x08B2D7E8u); ctx.gpr[6] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2D7E8u) goto L_08B2D7E8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2D7E8u) goto L_08B2D7E8; AOT_REGCACHE_SYNC_OUT(); return; L_08B2D7E8: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(522))); @@ -3862,7 +3863,7 @@ L_08B2D814: aot_gpr_5 = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x08B2D82Cu); ctx.gpr[6] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2D82Cu) goto L_08B2D82C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2D82Cu) goto L_08B2D82C; AOT_REGCACHE_SYNC_OUT(); return; L_08B2D82C: ctx.gpr[2] = (0u | 0u); @@ -4447,7 +4448,7 @@ L_08B2DCB8: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x08B2DCDCu); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2DCDCu) goto L_08B2DCDC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08908E78, 65u, 261u, 0x08908E78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2DCDCu) goto L_08B2DCDC; AOT_REGCACHE_SYNC_OUT(); return; L_08B2DCDC: { const bool branch_taken = 0u == 0u; @@ -4467,7 +4468,7 @@ L_08B2DCE4: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x08B2DD08u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2DD08u) goto L_08B2DD08; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08908E78, 65u, 261u, 0x08908E78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2DD08u) goto L_08B2DD08; AOT_REGCACHE_SYNC_OUT(); return; L_08B2DD08: ctx.gpr[2] = (0u | 0u); @@ -4531,7 +4532,7 @@ L_08B2DD70: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B2DD7Cu); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2DD7Cu) goto L_08B2DD7C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2DD7Cu) goto L_08B2DD7C; AOT_REGCACHE_SYNC_OUT(); return; L_08B2DD7C: aot_gpr_31 = (0x08B2DD84u); @@ -4576,13 +4577,13 @@ L_08B2DDB8: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B2DDC4u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2DDC4u) goto L_08B2DDC4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2DDC4u) goto L_08B2DDC4; AOT_REGCACHE_SYNC_OUT(); return; L_08B2DDC4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B2DDD0u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2DDD0u) goto L_08B2DDD0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08908E78, 65u, 261u, 0x08908E78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2DDD0u) goto L_08B2DDD0; AOT_REGCACHE_SYNC_OUT(); return; L_08B2DDD0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(456))); @@ -4599,7 +4600,7 @@ L_08B2DDD0: L_08B2DDF4: aot_gpr_31 = (0x08B2DDFCu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 454u, 0x08909B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2DDFCu) goto L_08B2DDFC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08909B60, 65u, 454u, 0x08909B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 454u, 0x08909B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2DDFCu) goto L_08B2DDFC; AOT_REGCACHE_SYNC_OUT(); return; L_08B2DDFC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(456))); @@ -4608,7 +4609,7 @@ L_08B2DDFC: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(456), aot_gpr_4); aot_gpr_31 = (0x08B2DE14u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2DE14u) goto L_08B2DE14; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2DE14u) goto L_08B2DE14; AOT_REGCACHE_SYNC_OUT(); return; L_08B2DE14: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -5390,7 +5391,7 @@ L_08B2E424: aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08B2E438u); ctx.gpr[6] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2E438u) goto L_08B2E438; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2E438u) goto L_08B2E438; AOT_REGCACHE_SYNC_OUT(); return; L_08B2E438: ctx.gpr[2] = (0u | 0u); @@ -5543,7 +5544,7 @@ L_08B2E5B0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(80))); aot_gpr_31 = (0x08B2E5BCu); aot_gpr_5 = (0u | 153u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2E5BCu) goto L_08B2E5BC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0886D4BC, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2E5BCu) goto L_08B2E5BC; AOT_REGCACHE_SYNC_OUT(); return; L_08B2E5BC: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -5865,7 +5866,7 @@ L_08B2E88C: L_08B2E89C: aot_gpr_31 = (0x08B2E8A4u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2E8A4u) goto L_08B2E8A4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2E8A4u) goto L_08B2E8A4; AOT_REGCACHE_SYNC_OUT(); return; L_08B2E8A4: { const bool branch_taken = ctx.gpr[2] != 0u; @@ -5984,7 +5985,7 @@ L_08B2E968: aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x08B2E97Cu); ctx.gpr[6] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2E97Cu) goto L_08B2E97C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2E97Cu) goto L_08B2E97C; AOT_REGCACHE_SYNC_OUT(); return; L_08B2E97C: ctx.gpr[2] = (0u | 0u); @@ -6244,7 +6245,7 @@ L_08B2EBCC: L_08B2EBE0: aot_gpr_31 = (0x08B2EBE8u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2EBE8u) goto L_08B2EBE8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089101A4, 67u, 27u, 0x089101A4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2EBE8u) goto L_08B2EBE8; AOT_REGCACHE_SYNC_OUT(); return; L_08B2EBE8: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -6257,7 +6258,7 @@ L_08B2EBE8: L_08B2EBF0: aot_gpr_31 = (0x08B2EBF8u); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2EBF8u) goto L_08B2EBF8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089101A4, 67u, 27u, 0x089101A4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2EBF8u) goto L_08B2EBF8; AOT_REGCACHE_SYNC_OUT(); return; L_08B2EBF8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(72))); @@ -6275,7 +6276,7 @@ L_08B2EBF8: L_08B2EC14: aot_gpr_31 = (0x08B2EC1Cu); aot_gpr_4 = (aot_gpr_17 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2EC1Cu) goto L_08B2EC1C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089101A4, 67u, 27u, 0x089101A4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2EC1Cu) goto L_08B2EC1C; AOT_REGCACHE_SYNC_OUT(); return; L_08B2EC1C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15976))); @@ -6291,7 +6292,7 @@ L_08B2EC2C: aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08B2EC3Cu); ctx.gpr[6] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2EC3Cu) goto L_08B2EC3C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2EC3Cu) goto L_08B2EC3C; AOT_REGCACHE_SYNC_OUT(); return; L_08B2EC3C: ctx.gpr[2] = (0u | 0u); @@ -6752,7 +6753,7 @@ L_08B2F06C: L_08B2F07C: aot_gpr_31 = (0x08B2F084u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2F084u) goto L_08B2F084; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2F084u) goto L_08B2F084; AOT_REGCACHE_SYNC_OUT(); return; L_08B2F084: { const bool branch_taken = ctx.gpr[2] != 0u; @@ -6884,7 +6885,7 @@ L_08B2F158: aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x08B2F16Cu); ctx.gpr[6] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2F16Cu) goto L_08B2F16C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2F16Cu) goto L_08B2F16C; AOT_REGCACHE_SYNC_OUT(); return; L_08B2F16C: ctx.gpr[2] = (0u | 0u); @@ -6973,7 +6974,7 @@ L_08B2F248: aot_gpr_5 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08B2F260u); ctx.gpr[6] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2F260u) goto L_08B2F260; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2F260u) goto L_08B2F260; AOT_REGCACHE_SYNC_OUT(); return; L_08B2F260: ctx.gpr[2] = (0u | 0u); @@ -7338,7 +7339,7 @@ L_08B2F55C: aot_gpr_4 = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x08B2F56Cu); ctx.gpr[6] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2F56Cu) goto L_08B2F56C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2F56Cu) goto L_08B2F56C; AOT_REGCACHE_SYNC_OUT(); return; L_08B2F56C: ctx.gpr[2] = (0u | 0u); @@ -7433,7 +7434,7 @@ L_08B2F640: aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08B2F650u); ctx.gpr[6] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2F650u) goto L_08B2F650; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2F650u) goto L_08B2F650; AOT_REGCACHE_SYNC_OUT(); return; L_08B2F650: ctx.gpr[2] = (0u | 0u); @@ -7472,7 +7473,7 @@ L_08B2F6A0: aot_gpr_16 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08B2F6ACu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2F6ACu) goto L_08B2F6AC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2F6ACu) goto L_08B2F6AC; AOT_REGCACHE_SYNC_OUT(); return; L_08B2F6AC: { const bool branch_taken = ctx.gpr[2] != 0u; @@ -7486,7 +7487,7 @@ L_08B2F6B4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B2F6C0u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2F6C0u) goto L_08B2F6C0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2F6C0u) goto L_08B2F6C0; AOT_REGCACHE_SYNC_OUT(); return; L_08B2F6C0: aot_gpr_31 = (0x08B2F6C8u); @@ -7797,7 +7798,7 @@ L_08B2F928: aot_gpr_5 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08B2F960u); ctx.gpr[6] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2F960u) goto L_08B2F960; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2F960u) goto L_08B2F960; AOT_REGCACHE_SYNC_OUT(); return; L_08B2F960: ctx.gpr[2] = (0u | 0u); @@ -7848,7 +7849,7 @@ L_08B2F9B8: aot_gpr_5 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08B2F9F0u); ctx.gpr[6] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2F9F0u) goto L_08B2F9F0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2F9F0u) goto L_08B2F9F0; AOT_REGCACHE_SYNC_OUT(); return; L_08B2F9F0: ctx.gpr[2] = (0u | 0u); @@ -8068,7 +8069,7 @@ L_08B2FBA4: aot_gpr_5 = (aot_gpr_17 | 0u); aot_gpr_31 = (0x08B2FBD0u); ctx.gpr[6] = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2FBD0u) goto L_08B2FBD0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2FBD0u) goto L_08B2FBD0; AOT_REGCACHE_SYNC_OUT(); return; L_08B2FBD0: ctx.gpr[2] = (0u | 0u); @@ -8129,7 +8130,7 @@ L_08B2FC50: aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08B2FC68u); ctx.gpr[6] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2FC68u) goto L_08B2FC68; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2FC68u) goto L_08B2FC68; AOT_REGCACHE_SYNC_OUT(); return; L_08B2FC68: ctx.gpr[2] = (0u | 0u); @@ -8485,7 +8486,7 @@ L_08B2FEF0: aot_fpr_14 = aot_fpr_14 + ctx.fpr[15]; aot_gpr_31 = (0x08B2FF38u); ctx.fpr[15] = ctx.fpr[16] - ctx.fpr[15]; - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2FF38u) goto L_08B2FF38; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, ctx.fpr[15]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2FF38u) goto L_08B2FF38; AOT_REGCACHE_SYNC_OUT(); return; L_08B2FF38: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); diff --git a/profiles/vcs/generated/generated_unit_0203.cpp b/profiles/vcs/generated/generated_unit_0203.cpp index 0e3e217..21ac9b5 100644 --- a/profiles/vcs/generated/generated_unit_0203.cpp +++ b/profiles/vcs/generated/generated_unit_0203.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0203[4093] = { }; void recomp_unit_0203_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,31,16,17 fprs=12,13,20,14 gpr_occ=3890 fpr_occ=517 gpr_total=5389 fpr_total=657 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,31,16,6 fprs=12,13,20,14 gpr_occ=3983 fpr_occ=517 gpr_total=5632 fpr_total=657 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; std::uint32_t aot_gpr_16 = ctx.gpr[16]; - std::uint32_t aot_gpr_17 = ctx.gpr[17]; + std::uint32_t aot_gpr_6 = ctx.gpr[6]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_20 = ctx.fpr[20]; float aot_fpr_14 = ctx.fpr[14]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[31] = aot_gpr_31; ctx.gpr[16] = aot_gpr_16; ctx.gpr[17] = aot_gpr_17; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; ctx.fpr[14] = aot_fpr_14; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_17 = ctx.gpr[17]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_14 = ctx.fpr[14]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[31] = aot_gpr_31; ctx.gpr[16] = aot_gpr_16; ctx.gpr[6] = aot_gpr_6; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; ctx.fpr[14] = aot_fpr_14; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_6 = ctx.gpr[6]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_14 = ctx.fpr[14]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -1006,7 +1007,7 @@ L_08B30008: ctx.gpr[9] = (aot_gpr_29 + static_cast(76)); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (aot_gpr_29 | 0u); - ctx.gpr[6] = (ctx.gpr[20] | 0u); + aot_gpr_6 = (ctx.gpr[20] | 0u); ctx.gpr[7] = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08B3003Cu); ctx.gpr[8] = (ctx.gpr[20] | 0u); @@ -1022,17 +1023,17 @@ L_08B3003C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(76))); aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(12), aot_gpr_4); aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B3006Cu); - ctx.gpr[6] = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3006Cu) goto L_08B3006C; + aot_gpr_6 = (0u | 4u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3006Cu) goto L_08B3006C; AOT_REGCACHE_SYNC_OUT(); return; L_08B3006C: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(84), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -1046,14 +1047,14 @@ L_08B3006C: AOT_REGCACHE_SYNC_OUT(); return; L_08B30090: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_5 = (aot_gpr_4 + static_cast(16)); aot_gpr_16 = (2236u << 16u); - aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); - ctx.gpr[6] = (0u | 3u); + ctx.gpr[17] = (aot_gpr_16 + static_cast(29704)); + aot_gpr_6 = (0u | 3u); aot_gpr_31 = (0x08B300B8u); - ctx.gpr[7] = (aot_gpr_17 | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B300B8u) goto L_08B300B8; AOT_REGCACHE_SYNC_OUT(); return; L_08B300B8: @@ -1066,18 +1067,18 @@ L_08B300C4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(472))); aot_gpr_5 = (0u + static_cast(-12289)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); aot_gpr_5 = (aot_gpr_5 & 3u); aot_gpr_5 = (aot_gpr_5 << 12u); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(472), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(1768), aot_gpr_4); ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -1088,14 +1089,14 @@ L_08B300C4: AOT_REGCACHE_SYNC_OUT(); return; L_08B30104: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_5 = (aot_gpr_4 + static_cast(16)); aot_gpr_16 = (2236u << 16u); - aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); - ctx.gpr[6] = (0u | 2u); + ctx.gpr[17] = (aot_gpr_16 + static_cast(29704)); + aot_gpr_6 = (0u | 2u); aot_gpr_31 = (0x08B3012Cu); - ctx.gpr[7] = (aot_gpr_17 | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3012Cu) goto L_08B3012C; AOT_REGCACHE_SYNC_OUT(); return; L_08B3012C: @@ -1108,7 +1109,7 @@ L_08B30138: aot_gpr_16 = (ctx.gpr[2] | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15976))); aot_gpr_31 = (0x08B30148u); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B30148u) goto L_08B30148; AOT_REGCACHE_SYNC_OUT(); return; L_08B30148: @@ -1122,7 +1123,7 @@ L_08B30154: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -1133,14 +1134,14 @@ L_08B30154: AOT_REGCACHE_SYNC_OUT(); return; L_08B3016C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_5 = (aot_gpr_4 + static_cast(16)); aot_gpr_16 = (2236u << 16u); - aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); - ctx.gpr[6] = (0u | 2u); + ctx.gpr[17] = (aot_gpr_16 + static_cast(29704)); + aot_gpr_6 = (0u | 2u); aot_gpr_31 = (0x08B30194u); - ctx.gpr[7] = (aot_gpr_17 | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B30194u) goto L_08B30194; AOT_REGCACHE_SYNC_OUT(); return; L_08B30194: @@ -1153,7 +1154,7 @@ L_08B301A0: aot_gpr_16 = (ctx.gpr[2] | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); aot_gpr_31 = (0x08B301B0u); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B301B0u) goto L_08B301B0; AOT_REGCACHE_SYNC_OUT(); return; L_08B301B0: @@ -1167,7 +1168,7 @@ L_08B301BC: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -1178,18 +1179,18 @@ L_08B301BC: AOT_REGCACHE_SYNC_OUT(); return; L_08B301D4: aot_gpr_29 = (aot_gpr_29 + static_cast(-272)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(256), aot_run_words); } aot_gpr_5 = (aot_gpr_4 + static_cast(16)); aot_gpr_16 = (2236u << 16u); - aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); - ctx.gpr[6] = (0u | 2u); + ctx.gpr[17] = (aot_gpr_16 + static_cast(29704)); + aot_gpr_6 = (0u | 2u); aot_gpr_31 = (0x08B30200u); - ctx.gpr[7] = (aot_gpr_17 | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B30200u) goto L_08B30200; AOT_REGCACHE_SYNC_OUT(); return; L_08B30200: - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15976))); aot_gpr_31 = (0x08B30210u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); @@ -1215,9 +1216,9 @@ L_08B30228: goto L_08B30238; L_08B30238: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(71))); - aot_gpr_5 = (static_cast(aot_gpr_17) < static_cast(aot_gpr_4) ? 1u : 0u); + aot_gpr_5 = (static_cast(ctx.gpr[17]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 != 0u; - ctx.gpr[6] = (aot_gpr_4 | 0u); + aot_gpr_6 = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08B3025C; } @@ -1228,18 +1229,18 @@ L_08B30248: aot_gpr_5 = (aot_gpr_5 + static_cast(-31512)); aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_31 = (0x08B3025Cu); - ctx.gpr[7] = (aot_gpr_17 | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0212_entry, 212u, 576u, 0x08B562D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3025Cu) goto L_08B3025C; AOT_REGCACHE_SYNC_OUT(); return; L_08B3025C: - ctx.gpr[6] = (aot_gpr_16 + static_cast(1276)); + aot_gpr_6 = (aot_gpr_16 + static_cast(1276)); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08B3026Cu); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0063_entry, 63u, 632u, 0x08903654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3026Cu) goto L_08B3026C; AOT_REGCACHE_SYNC_OUT(); return; L_08B3026C: - aot_gpr_4 = (aot_gpr_17 << 24u); + aot_gpr_4 = (ctx.gpr[17] << 24u); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 24u)); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(2272), static_cast(aot_gpr_4)); aot_gpr_4 = (0u + static_cast(-1)); @@ -1248,7 +1249,7 @@ L_08B3026C: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(256), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -1260,18 +1261,18 @@ L_08B3026C: AOT_REGCACHE_SYNC_OUT(); return; L_08B3029C: aot_gpr_29 = (aot_gpr_29 + static_cast(-272)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(256), aot_run_words); } aot_gpr_5 = (aot_gpr_4 + static_cast(16)); aot_gpr_16 = (2236u << 16u); - aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); - ctx.gpr[6] = (0u | 2u); + ctx.gpr[17] = (aot_gpr_16 + static_cast(29704)); + aot_gpr_6 = (0u | 2u); aot_gpr_31 = (0x08B302C8u); - ctx.gpr[7] = (aot_gpr_17 | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B302C8u) goto L_08B302C8; AOT_REGCACHE_SYNC_OUT(); return; L_08B302C8: - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15976))); aot_gpr_31 = (0x08B302D8u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); @@ -1297,9 +1298,9 @@ L_08B302F0: goto L_08B30300; L_08B30300: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(72))); - aot_gpr_5 = (static_cast(aot_gpr_17) < static_cast(aot_gpr_4) ? 1u : 0u); + aot_gpr_5 = (static_cast(ctx.gpr[17]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 != 0u; - ctx.gpr[6] = (aot_gpr_4 | 0u); + aot_gpr_6 = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08B30324; } @@ -1310,27 +1311,27 @@ L_08B30310: aot_gpr_5 = (aot_gpr_5 + static_cast(-31448)); aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_31 = (0x08B30324u); - ctx.gpr[7] = (aot_gpr_17 | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0212_entry, 212u, 576u, 0x08B562D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B30324u) goto L_08B30324; AOT_REGCACHE_SYNC_OUT(); return; L_08B30324: - ctx.gpr[6] = (aot_gpr_16 + static_cast(1276)); + aot_gpr_6 = (aot_gpr_16 + static_cast(1276)); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08B30334u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0063_entry, 63u, 640u, 0x08903730u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B30334u) goto L_08B30334; AOT_REGCACHE_SYNC_OUT(); return; L_08B30334: aot_gpr_4 = (0u + static_cast(-1)); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(2272), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_gpr_17 << 24u); + aot_gpr_4 = (ctx.gpr[17] << 24u); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 24u)); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(2273), static_cast(aot_gpr_4)); ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(256), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -1342,15 +1343,15 @@ L_08B30334: AOT_REGCACHE_SYNC_OUT(); return; L_08B30364: aot_gpr_29 = (aot_gpr_29 + static_cast(-272)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(256), aot_run_words); } aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_17 = (aot_gpr_16 + static_cast(16)); + ctx.gpr[17] = (aot_gpr_16 + static_cast(16)); ctx.gpr[18] = (2236u << 16u); ctx.gpr[7] = (ctx.gpr[18] + static_cast(29704)); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B30394u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B30394u) goto L_08B30394; AOT_REGCACHE_SYNC_OUT(); return; L_08B30394: @@ -1363,17 +1364,17 @@ L_08B303A0: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(2272)))))); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(29704), aot_gpr_4); aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B303B8u); - ctx.gpr[6] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B303B8u) goto L_08B303B8; + aot_gpr_6 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B303B8u) goto L_08B303B8; AOT_REGCACHE_SYNC_OUT(); return; L_08B303B8: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(256), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -1385,15 +1386,15 @@ L_08B303B8: AOT_REGCACHE_SYNC_OUT(); return; L_08B303D4: aot_gpr_29 = (aot_gpr_29 + static_cast(-272)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(256), aot_run_words); } aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_17 = (aot_gpr_16 + static_cast(16)); + ctx.gpr[17] = (aot_gpr_16 + static_cast(16)); ctx.gpr[18] = (2236u << 16u); ctx.gpr[7] = (ctx.gpr[18] + static_cast(29704)); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B30404u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B30404u) goto L_08B30404; AOT_REGCACHE_SYNC_OUT(); return; L_08B30404: @@ -1406,17 +1407,17 @@ L_08B30410: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(2273)))))); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(29704), aot_gpr_4); aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B30428u); - ctx.gpr[6] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B30428u) goto L_08B30428; + aot_gpr_6 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B30428u) goto L_08B30428; AOT_REGCACHE_SYNC_OUT(); return; L_08B30428: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(256), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -1428,28 +1429,28 @@ L_08B30428: AOT_REGCACHE_SYNC_OUT(); return; L_08B30444: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_16 = (aot_gpr_4 | 0u); ctx.gpr[18] = (aot_gpr_16 + static_cast(16)); - aot_gpr_17 = (2236u << 16u); - ctx.gpr[7] = (aot_gpr_17 + static_cast(29704)); + ctx.gpr[17] = (2236u << 16u); + ctx.gpr[7] = (ctx.gpr[17] + static_cast(29704)); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08B30474u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B30474u) goto L_08B30474; AOT_REGCACHE_SYNC_OUT(); return; L_08B30474: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15976))); aot_gpr_31 = (0x08B30480u); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29704))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29704))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B30480u) goto L_08B30480; AOT_REGCACHE_SYNC_OUT(); return; L_08B30480: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(86)))))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); - ctx.gpr[6] = (static_cast(aot_gpr_5) < static_cast(ctx.gpr[6]) ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); + aot_gpr_6 = (static_cast(aot_gpr_5) < static_cast(aot_gpr_6) ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_4 = (0u | 0u); if (branch_taken) { goto L_08B304A4; @@ -1464,19 +1465,19 @@ L_08B30494: goto L_08B304A4; L_08B304A4: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(71))); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(29704), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(29704), aot_gpr_4); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08B304BCu); - ctx.gpr[6] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B304BCu) goto L_08B304BC; + aot_gpr_6 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B304BCu) goto L_08B304BC; AOT_REGCACHE_SYNC_OUT(); return; L_08B304BC: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -1488,28 +1489,28 @@ L_08B304BC: AOT_REGCACHE_SYNC_OUT(); return; L_08B304D8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_16 = (aot_gpr_4 | 0u); ctx.gpr[18] = (aot_gpr_16 + static_cast(16)); - aot_gpr_17 = (2236u << 16u); - ctx.gpr[7] = (aot_gpr_17 + static_cast(29704)); + ctx.gpr[17] = (2236u << 16u); + ctx.gpr[7] = (ctx.gpr[17] + static_cast(29704)); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08B30508u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B30508u) goto L_08B30508; AOT_REGCACHE_SYNC_OUT(); return; L_08B30508: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15976))); aot_gpr_31 = (0x08B30514u); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29704))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29704))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B30514u) goto L_08B30514; AOT_REGCACHE_SYNC_OUT(); return; L_08B30514: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(86)))))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); - ctx.gpr[6] = (static_cast(aot_gpr_5) < static_cast(ctx.gpr[6]) ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); + aot_gpr_6 = (static_cast(aot_gpr_5) < static_cast(aot_gpr_6) ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_4 = (0u | 0u); if (branch_taken) { goto L_08B30538; @@ -1524,19 +1525,19 @@ L_08B30528: goto L_08B30538; L_08B30538: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(72))); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(29704), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(29704), aot_gpr_4); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08B30550u); - ctx.gpr[6] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B30550u) goto L_08B30550; + aot_gpr_6 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B30550u) goto L_08B30550; AOT_REGCACHE_SYNC_OUT(); return; L_08B30550: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -1548,14 +1549,14 @@ L_08B30550: AOT_REGCACHE_SYNC_OUT(); return; L_08B3056C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_5 = (aot_gpr_4 + static_cast(16)); aot_gpr_16 = (2236u << 16u); - aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); - ctx.gpr[6] = (0u | 2u); + ctx.gpr[17] = (aot_gpr_16 + static_cast(29704)); + aot_gpr_6 = (0u | 2u); aot_gpr_31 = (0x08B30594u); - ctx.gpr[7] = (aot_gpr_17 | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B30594u) goto L_08B30594; AOT_REGCACHE_SYNC_OUT(); return; L_08B30594: @@ -1565,13 +1566,13 @@ L_08B30594: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B305A0u) goto L_08B305A0; AOT_REGCACHE_SYNC_OUT(); return; L_08B305A0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_4 = (aot_gpr_4 & 255u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(72))); - ctx.gpr[6] = (0u + static_cast(-513)); - aot_gpr_5 = (aot_gpr_5 & ctx.gpr[6]); + aot_gpr_6 = (0u + static_cast(-513)); + aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); aot_gpr_4 = (aot_gpr_4 & 1u); aot_gpr_4 = (aot_gpr_4 << 9u); aot_gpr_4 = (aot_gpr_5 | aot_gpr_4); @@ -1580,7 +1581,7 @@ L_08B305A0: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -1591,14 +1592,14 @@ L_08B305A0: AOT_REGCACHE_SYNC_OUT(); return; L_08B305E4: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_5 = (aot_gpr_4 + static_cast(16)); aot_gpr_16 = (2236u << 16u); - aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); - ctx.gpr[6] = (0u | 2u); + ctx.gpr[17] = (aot_gpr_16 + static_cast(29704)); + aot_gpr_6 = (0u | 2u); aot_gpr_31 = (0x08B3060Cu); - ctx.gpr[7] = (aot_gpr_17 | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3060Cu) goto L_08B3060C; AOT_REGCACHE_SYNC_OUT(); return; L_08B3060C: @@ -1609,8 +1610,8 @@ L_08B3060C: AOT_REGCACHE_SYNC_OUT(); return; L_08B30618: aot_gpr_5 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); + { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(456))); if (branch_taken) { goto L_08B30638; @@ -1618,8 +1619,8 @@ L_08B30618: goto L_08B30628; } L_08B30628: - ctx.gpr[6] = (32768u << 16u); - aot_gpr_4 = (aot_gpr_4 | ctx.gpr[6]); + aot_gpr_6 = (32768u << 16u); + aot_gpr_4 = (aot_gpr_4 | aot_gpr_6); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(456), aot_gpr_4); if (branch_taken) { @@ -1628,9 +1629,9 @@ L_08B30628: goto L_08B30638; } L_08B30638: - ctx.gpr[6] = (32768u << 16u); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(-1)); - aot_gpr_4 = (aot_gpr_4 & ctx.gpr[6]); + aot_gpr_6 = (32768u << 16u); + aot_gpr_6 = (aot_gpr_6 + static_cast(-1)); + aot_gpr_4 = (aot_gpr_4 & aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(456), aot_gpr_4); goto L_08B30648; L_08B30648: @@ -1638,7 +1639,7 @@ L_08B30648: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -1649,14 +1650,14 @@ L_08B30648: AOT_REGCACHE_SYNC_OUT(); return; L_08B30660: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_5 = (aot_gpr_4 + static_cast(16)); aot_gpr_16 = (2236u << 16u); - aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); - ctx.gpr[6] = (0u | 2u); + ctx.gpr[17] = (aot_gpr_16 + static_cast(29704)); + aot_gpr_6 = (0u | 2u); aot_gpr_31 = (0x08B30688u); - ctx.gpr[7] = (aot_gpr_17 | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B30688u) goto L_08B30688; AOT_REGCACHE_SYNC_OUT(); return; L_08B30688: @@ -1667,8 +1668,8 @@ L_08B30688: AOT_REGCACHE_SYNC_OUT(); return; L_08B30694: aot_gpr_5 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); + { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(460))); if (branch_taken) { goto L_08B306B0; @@ -1685,8 +1686,8 @@ L_08B306A4: goto L_08B306B0; } L_08B306B0: - ctx.gpr[6] = (0u + static_cast(-2)); - aot_gpr_4 = (aot_gpr_4 & ctx.gpr[6]); + aot_gpr_6 = (0u + static_cast(-2)); + aot_gpr_4 = (aot_gpr_4 & aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(460), aot_gpr_4); goto L_08B306BC; L_08B306BC: @@ -1694,7 +1695,7 @@ L_08B306BC: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -1705,14 +1706,14 @@ L_08B306BC: AOT_REGCACHE_SYNC_OUT(); return; L_08B306D4: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_5 = (aot_gpr_4 + static_cast(16)); aot_gpr_16 = (2236u << 16u); - aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); - ctx.gpr[6] = (0u | 4u); + ctx.gpr[17] = (aot_gpr_16 + static_cast(29704)); + aot_gpr_6 = (0u | 4u); aot_gpr_31 = (0x08B306FCu); - ctx.gpr[7] = (aot_gpr_17 | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B306FCu) goto L_08B306FC; AOT_REGCACHE_SYNC_OUT(); return; L_08B306FC: @@ -1723,7 +1724,7 @@ L_08B306FC: AOT_REGCACHE_SYNC_OUT(); return; L_08B30708: aot_gpr_16 = (ctx.gpr[2] | 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -1734,7 +1735,7 @@ L_08B30708: L_08B30718: aot_gpr_31 = (0x08B30720u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B30720u) goto L_08B30720; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890FF64, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B30720u) goto L_08B30720; AOT_REGCACHE_SYNC_OUT(); return; L_08B30720: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(456))); @@ -1745,7 +1746,7 @@ L_08B30720: aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(888), static_cast(aot_gpr_4)); aot_gpr_4 = (0u | 15u); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(889), static_cast(aot_gpr_4)); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); { const bool branch_taken = 0u == 0u; aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(460))); if (branch_taken) { @@ -1763,11 +1764,11 @@ L_08B3074C: aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(888), static_cast(aot_gpr_4)); aot_gpr_4 = (0u | 30u); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(889), static_cast(aot_gpr_4)); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(460))); goto L_08B30778; L_08B30778: - { const bool branch_taken = ctx.gpr[6] == 0u; + { const bool branch_taken = aot_gpr_6 == 0u; // nop if (branch_taken) { goto L_08B30790; @@ -1778,20 +1779,20 @@ L_08B30780: aot_gpr_4 = (aot_gpr_4 | 1u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(460), aot_gpr_4); { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(12))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(12))); if (branch_taken) { goto L_08B307A0; } goto L_08B30790; } L_08B30790: - ctx.gpr[6] = (0u + static_cast(-2)); - aot_gpr_4 = (aot_gpr_4 & ctx.gpr[6]); + aot_gpr_6 = (0u + static_cast(-2)); + aot_gpr_4 = (aot_gpr_4 & aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(460), aot_gpr_4); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(12))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(12))); goto L_08B307A0; L_08B307A0: - { const bool branch_taken = aot_gpr_17 == 0u; + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_08B307B8; @@ -1819,7 +1820,7 @@ L_08B307C8: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -1830,14 +1831,14 @@ L_08B307C8: AOT_REGCACHE_SYNC_OUT(); return; L_08B307E0: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_5 = (aot_gpr_4 + static_cast(16)); aot_gpr_16 = (2236u << 16u); - aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); - ctx.gpr[6] = (0u | 2u); + ctx.gpr[17] = (aot_gpr_16 + static_cast(29704)); + aot_gpr_6 = (0u | 2u); aot_gpr_31 = (0x08B30808u); - ctx.gpr[7] = (aot_gpr_17 | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B30808u) goto L_08B30808; AOT_REGCACHE_SYNC_OUT(); return; L_08B30808: @@ -1850,7 +1851,7 @@ L_08B30814: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(472))); aot_gpr_5 = (0u + static_cast(-2049)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); aot_gpr_5 = (aot_gpr_5 & 1u); aot_gpr_5 = (aot_gpr_5 << 11u); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); @@ -1859,7 +1860,7 @@ L_08B30814: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -1876,17 +1877,17 @@ L_08B3084C: aot_gpr_16 = (2236u << 16u); ctx.gpr[7] = (aot_gpr_16 + static_cast(29704)); aot_gpr_31 = (0x08B3086Cu); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3086Cu) goto L_08B3086C; AOT_REGCACHE_SYNC_OUT(); return; L_08B3086C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(29704))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-24276))); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), ctx.gpr[6]); + aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), aot_gpr_6); ctx.gpr[2] = (0u | 0u); aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); @@ -1898,14 +1899,14 @@ L_08B3086C: AOT_REGCACHE_SYNC_OUT(); return; L_08B3089C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_5 = (aot_gpr_4 + static_cast(16)); aot_gpr_16 = (2236u << 16u); - aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); - ctx.gpr[6] = (0u | 2u); + ctx.gpr[17] = (aot_gpr_16 + static_cast(29704)); + aot_gpr_6 = (0u | 2u); aot_gpr_31 = (0x08B308C4u); - ctx.gpr[7] = (aot_gpr_17 | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B308C4u) goto L_08B308C4; AOT_REGCACHE_SYNC_OUT(); return; L_08B308C4: @@ -1935,7 +1936,7 @@ L_08B308DC: L_08B308E8: aot_gpr_31 = (0x08B308F0u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B308F0u) goto L_08B308F0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B308F0u) goto L_08B308F0; AOT_REGCACHE_SYNC_OUT(); return; L_08B308F0: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -1946,7 +1947,7 @@ L_08B308F0: goto L_08B308F8; } L_08B308F8: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); aot_gpr_4 = (16457u << 16u); aot_gpr_4 = (aot_gpr_4 | 4059u); aot_fpr_13 = std::bit_cast(aot_gpr_4); @@ -1961,7 +1962,7 @@ L_08B3091C: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -1972,14 +1973,14 @@ L_08B3091C: AOT_REGCACHE_SYNC_OUT(); return; L_08B30934: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_5 = (aot_gpr_4 + static_cast(16)); aot_gpr_16 = (2236u << 16u); - aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); - ctx.gpr[6] = (0u | 2u); + ctx.gpr[17] = (aot_gpr_16 + static_cast(29704)); + aot_gpr_6 = (0u | 2u); aot_gpr_31 = (0x08B3095Cu); - ctx.gpr[7] = (aot_gpr_17 | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3095Cu) goto L_08B3095C; AOT_REGCACHE_SYNC_OUT(); return; L_08B3095C: @@ -2009,7 +2010,7 @@ L_08B30974: L_08B30980: aot_gpr_31 = (0x08B30988u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B30988u) goto L_08B30988; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B30988u) goto L_08B30988; AOT_REGCACHE_SYNC_OUT(); return; L_08B30988: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -2020,7 +2021,7 @@ L_08B30988: goto L_08B30990; } L_08B30990: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); aot_gpr_4 = (16457u << 16u); aot_gpr_4 = (aot_gpr_4 | 4059u); aot_fpr_13 = std::bit_cast(aot_gpr_4); @@ -2035,7 +2036,7 @@ L_08B309B4: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -2046,15 +2047,15 @@ L_08B309B4: AOT_REGCACHE_SYNC_OUT(); return; L_08B309CC: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - aot_gpr_17 = (aot_gpr_4 | 0u); - aot_gpr_5 = (aot_gpr_17 + static_cast(16)); + ctx.gpr[17] = (aot_gpr_4 | 0u); + aot_gpr_5 = (ctx.gpr[17] + static_cast(16)); aot_gpr_16 = (2236u << 16u); ctx.gpr[7] = (aot_gpr_16 + static_cast(29704)); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B309FCu); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B309FCu) goto L_08B309FC; AOT_REGCACHE_SYNC_OUT(); return; L_08B309FC: @@ -2064,12 +2065,12 @@ L_08B309FC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B30A08u) goto L_08B30A08; AOT_REGCACHE_SYNC_OUT(); return; L_08B30A08: - aot_gpr_17 = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (ctx.gpr[2] | 0u); aot_gpr_16 = (0u | 0u); - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(1914))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(1914))); aot_gpr_4 = (static_cast(aot_gpr_16) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; - ctx.gpr[18] = (aot_gpr_17 | 0u); + ctx.gpr[18] = (ctx.gpr[17] | 0u); if (branch_taken) { goto L_08B30A4C; } @@ -2078,7 +2079,7 @@ L_08B30A08: L_08B30A20: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(1784))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(676))); - { const bool branch_taken = aot_gpr_5 != aot_gpr_17; + { const bool branch_taken = aot_gpr_5 != ctx.gpr[17]; // nop if (branch_taken) { goto L_08B30A38; @@ -2092,7 +2093,7 @@ L_08B30A30: AOT_REGCACHE_SYNC_OUT(); return; L_08B30A38: aot_gpr_16 = (aot_gpr_16 + static_cast(1)); - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(1914))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(1914))); aot_gpr_4 = (static_cast(aot_gpr_16) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; ctx.gpr[18] = (ctx.gpr[18] + static_cast(4)); @@ -2106,7 +2107,7 @@ L_08B30A4C: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -2118,14 +2119,14 @@ L_08B30A4C: AOT_REGCACHE_SYNC_OUT(); return; L_08B30A68: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_5 = (aot_gpr_4 + static_cast(16)); aot_gpr_16 = (2236u << 16u); - aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); - ctx.gpr[6] = (0u | 2u); + ctx.gpr[17] = (aot_gpr_16 + static_cast(29704)); + aot_gpr_6 = (0u | 2u); aot_gpr_31 = (0x08B30A90u); - ctx.gpr[7] = (aot_gpr_17 | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B30A90u) goto L_08B30A90; AOT_REGCACHE_SYNC_OUT(); return; L_08B30A90: @@ -2136,8 +2137,8 @@ L_08B30A90: AOT_REGCACHE_SYNC_OUT(); return; L_08B30A9C: aot_gpr_5 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); + { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(460))); if (branch_taken) { goto L_08B30AB8; @@ -2154,8 +2155,8 @@ L_08B30AAC: goto L_08B30AB8; } L_08B30AB8: - ctx.gpr[6] = (0u + static_cast(-3)); - aot_gpr_4 = (aot_gpr_4 & ctx.gpr[6]); + aot_gpr_6 = (0u + static_cast(-3)); + aot_gpr_4 = (aot_gpr_4 & aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(460), aot_gpr_4); goto L_08B30AC4; L_08B30AC4: @@ -2163,7 +2164,7 @@ L_08B30AC4: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -2174,12 +2175,12 @@ L_08B30AC4: AOT_REGCACHE_SYNC_OUT(); return; L_08B30ADC: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - aot_gpr_17 = (2236u << 16u); - aot_gpr_16 = (aot_gpr_17 + static_cast(29704)); - ctx.gpr[6] = (0u | 2u); + ctx.gpr[17] = (2236u << 16u); + aot_gpr_16 = (ctx.gpr[17] + static_cast(29704)); + aot_gpr_6 = (0u | 2u); aot_gpr_31 = (0x08B30B04u); ctx.gpr[7] = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B30B04u) goto L_08B30B04; @@ -2187,7 +2188,7 @@ L_08B30ADC: L_08B30B04: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15976))); aot_gpr_31 = (0x08B30B10u); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29704))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29704))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B30B10u) goto L_08B30B10; AOT_REGCACHE_SYNC_OUT(); return; L_08B30B10: @@ -2201,12 +2202,12 @@ L_08B30B10: } L_08B30B1C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(472))); - ctx.gpr[6] = (0u + static_cast(-16385)); - aot_gpr_5 = (aot_gpr_5 & ctx.gpr[6]); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); - ctx.gpr[6] = (ctx.gpr[6] & 1u); - ctx.gpr[6] = (ctx.gpr[6] << 14u); - aot_gpr_5 = (aot_gpr_5 | ctx.gpr[6]); + aot_gpr_6 = (0u + static_cast(-16385)); + aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_6 = (aot_gpr_6 & 1u); + aot_gpr_6 = (aot_gpr_6 << 14u); + aot_gpr_5 = (aot_gpr_5 | aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(472), aot_gpr_5); goto L_08B30B3C; L_08B30B3C: @@ -2214,7 +2215,7 @@ L_08B30B3C: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -2231,7 +2232,7 @@ L_08B30B54: aot_gpr_16 = (2236u << 16u); ctx.gpr[7] = (aot_gpr_16 + static_cast(29704)); aot_gpr_31 = (0x08B30B74u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B30B74u) goto L_08B30B74; AOT_REGCACHE_SYNC_OUT(); return; L_08B30B74: @@ -2258,14 +2259,14 @@ L_08B30B8C: AOT_REGCACHE_SYNC_OUT(); return; L_08B30BA0: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_5 = (aot_gpr_4 + static_cast(16)); aot_gpr_16 = (2236u << 16u); - aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); - ctx.gpr[6] = (0u | 2u); + ctx.gpr[17] = (aot_gpr_16 + static_cast(29704)); + aot_gpr_6 = (0u | 2u); aot_gpr_31 = (0x08B30BC8u); - ctx.gpr[7] = (aot_gpr_17 | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B30BC8u) goto L_08B30BC8; AOT_REGCACHE_SYNC_OUT(); return; L_08B30BC8: @@ -2276,16 +2277,16 @@ L_08B30BC8: AOT_REGCACHE_SYNC_OUT(); return; L_08B30BD4: aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(1948))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); - ctx.gpr[6] = (0u | 1u); - aot_gpr_5 = (ctx.gpr[6] << (aot_gpr_5 & 31u)); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); + aot_gpr_6 = (0u | 1u); + aot_gpr_5 = (aot_gpr_6 << (aot_gpr_5 & 31u)); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); aot_mem.aot_direct_store16(ctx.gpr[2] + static_cast(1948), static_cast(aot_gpr_4)); ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -2296,14 +2297,14 @@ L_08B30BD4: AOT_REGCACHE_SYNC_OUT(); return; L_08B30C04: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_5 = (aot_gpr_4 + static_cast(16)); aot_gpr_16 = (2236u << 16u); - aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); - ctx.gpr[6] = (0u | 2u); + ctx.gpr[17] = (aot_gpr_16 + static_cast(29704)); + aot_gpr_6 = (0u | 2u); aot_gpr_31 = (0x08B30C2Cu); - ctx.gpr[7] = (aot_gpr_17 | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B30C2Cu) goto L_08B30C2C; AOT_REGCACHE_SYNC_OUT(); return; L_08B30C2C: @@ -2314,9 +2315,9 @@ L_08B30C2C: AOT_REGCACHE_SYNC_OUT(); return; L_08B30C38: aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(1948))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); - ctx.gpr[6] = (0u | 1u); - aot_gpr_5 = (ctx.gpr[6] << (aot_gpr_5 & 31u)); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); + aot_gpr_6 = (0u | 1u); + aot_gpr_5 = (aot_gpr_6 << (aot_gpr_5 & 31u)); aot_gpr_5 = (~(aot_gpr_5 | 0u)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_mem.aot_direct_store16(ctx.gpr[2] + static_cast(1948), static_cast(aot_gpr_4)); @@ -2324,7 +2325,7 @@ L_08B30C38: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -2341,7 +2342,7 @@ L_08B30C6C: aot_gpr_16 = (2236u << 16u); ctx.gpr[7] = (aot_gpr_16 + static_cast(29704)); aot_gpr_31 = (0x08B30C8Cu); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B30C8Cu) goto L_08B30C8C; AOT_REGCACHE_SYNC_OUT(); return; L_08B30C8C: @@ -2363,12 +2364,12 @@ L_08B30C98: AOT_REGCACHE_SYNC_OUT(); return; L_08B30CB0: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_5 = (aot_gpr_4 + static_cast(16)); - aot_gpr_17 = (2236u << 16u); - aot_gpr_16 = (aot_gpr_17 + static_cast(29704)); - ctx.gpr[6] = (0u | 2u); + ctx.gpr[17] = (2236u << 16u); + aot_gpr_16 = (ctx.gpr[17] + static_cast(29704)); + aot_gpr_6 = (0u | 2u); aot_gpr_31 = (0x08B30CD8u); ctx.gpr[7] = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B30CD8u) goto L_08B30CD8; @@ -2376,7 +2377,7 @@ L_08B30CB0: L_08B30CD8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15976))); aot_gpr_31 = (0x08B30CE4u); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29704))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29704))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B30CE4u) goto L_08B30CE4; AOT_REGCACHE_SYNC_OUT(); return; L_08B30CE4: @@ -2393,12 +2394,12 @@ L_08B30CF0: aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); aot_gpr_5 = (aot_gpr_5 & 255u); aot_gpr_5 = (aot_gpr_5 & 255u); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(1780)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(1780)))))); ctx.gpr[7] = (0u + static_cast(-3)); - ctx.gpr[6] = (ctx.gpr[6] & ctx.gpr[7]); + aot_gpr_6 = (aot_gpr_6 & ctx.gpr[7]); aot_gpr_5 = (aot_gpr_5 & 1u); aot_gpr_5 = (aot_gpr_5 << 1u); - aot_gpr_5 = (ctx.gpr[6] | aot_gpr_5); + aot_gpr_5 = (aot_gpr_6 | aot_gpr_5); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(1780), static_cast(aot_gpr_5)); goto L_08B30D1C; L_08B30D1C: @@ -2406,7 +2407,7 @@ L_08B30D1C: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -2423,7 +2424,7 @@ L_08B30D34: aot_gpr_16 = (2236u << 16u); ctx.gpr[7] = (aot_gpr_16 + static_cast(29704)); aot_gpr_31 = (0x08B30D54u); - ctx.gpr[6] = (0u | 4u); + aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B30D54u) goto L_08B30D54; AOT_REGCACHE_SYNC_OUT(); return; L_08B30D54: @@ -2444,14 +2445,14 @@ L_08B30D60: AOT_REGCACHE_SYNC_OUT(); return; L_08B30D74: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_5 = (aot_gpr_4 + static_cast(16)); aot_gpr_16 = (2236u << 16u); - aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); - ctx.gpr[6] = (0u | 4u); + ctx.gpr[17] = (aot_gpr_16 + static_cast(29704)); + aot_gpr_6 = (0u | 4u); aot_gpr_31 = (0x08B30D9Cu); - ctx.gpr[7] = (aot_gpr_17 | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B30D9Cu) goto L_08B30D9C; AOT_REGCACHE_SYNC_OUT(); return; L_08B30D9C: @@ -2462,9 +2463,9 @@ L_08B30D9C: AOT_REGCACHE_SYNC_OUT(); return; L_08B30DA8: aot_gpr_16 = (ctx.gpr[2] | 0u); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); { const bool branch_taken = aot_gpr_5 == 0u; - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); if (branch_taken) { goto L_08B30DD0; } @@ -2479,7 +2480,7 @@ L_08B30DB8: L_08B30DC4: aot_gpr_4 = (ctx.gpr[2] | 0u); { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(12))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(12))); if (branch_taken) { goto L_08B30DE4; } @@ -2493,13 +2494,13 @@ L_08B30DD0: AOT_REGCACHE_SYNC_OUT(); return; L_08B30DDC: aot_gpr_4 = (ctx.gpr[2] | 0u); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(12))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(12))); goto L_08B30DE4; L_08B30DE4: aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B30DF4u); - ctx.gpr[6] = (aot_gpr_17 | 0u); + aot_gpr_6 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 348u, 0x08911494u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B30DF4u) goto L_08B30DF4; AOT_REGCACHE_SYNC_OUT(); return; L_08B30DF4: @@ -2507,7 +2508,7 @@ L_08B30DF4: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -2518,14 +2519,14 @@ L_08B30DF4: AOT_REGCACHE_SYNC_OUT(); return; L_08B30E0C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_5 = (aot_gpr_4 + static_cast(16)); aot_gpr_16 = (2236u << 16u); - aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); - ctx.gpr[6] = (0u | 2u); + ctx.gpr[17] = (aot_gpr_16 + static_cast(29704)); + aot_gpr_6 = (0u | 2u); aot_gpr_31 = (0x08B30E34u); - ctx.gpr[7] = (aot_gpr_17 | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B30E34u) goto L_08B30E34; AOT_REGCACHE_SYNC_OUT(); return; L_08B30E34: @@ -2536,8 +2537,8 @@ L_08B30E34: AOT_REGCACHE_SYNC_OUT(); return; L_08B30E40: aot_gpr_5 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); + { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(472))); if (branch_taken) { goto L_08B30E60; @@ -2545,8 +2546,8 @@ L_08B30E40: goto L_08B30E50; } L_08B30E50: - ctx.gpr[6] = (8192u << 16u); - aot_gpr_4 = (aot_gpr_4 | ctx.gpr[6]); + aot_gpr_6 = (8192u << 16u); + aot_gpr_4 = (aot_gpr_4 | aot_gpr_6); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(472), aot_gpr_4); if (branch_taken) { @@ -2555,9 +2556,9 @@ L_08B30E50: goto L_08B30E60; } L_08B30E60: - ctx.gpr[6] = (57344u << 16u); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(-1)); - aot_gpr_4 = (aot_gpr_4 & ctx.gpr[6]); + aot_gpr_6 = (57344u << 16u); + aot_gpr_6 = (aot_gpr_6 + static_cast(-1)); + aot_gpr_4 = (aot_gpr_4 & aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(472), aot_gpr_4); goto L_08B30E70; L_08B30E70: @@ -2565,7 +2566,7 @@ L_08B30E70: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -2576,14 +2577,14 @@ L_08B30E70: AOT_REGCACHE_SYNC_OUT(); return; L_08B30E88: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_5 = (aot_gpr_4 + static_cast(16)); aot_gpr_16 = (2236u << 16u); - aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); - ctx.gpr[6] = (0u | 2u); + ctx.gpr[17] = (aot_gpr_16 + static_cast(29704)); + aot_gpr_6 = (0u | 2u); aot_gpr_31 = (0x08B30EB0u); - ctx.gpr[7] = (aot_gpr_17 | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B30EB0u) goto L_08B30EB0; AOT_REGCACHE_SYNC_OUT(); return; L_08B30EB0: @@ -2594,8 +2595,8 @@ L_08B30EB0: AOT_REGCACHE_SYNC_OUT(); return; L_08B30EBC: aot_gpr_5 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); + { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(476))); if (branch_taken) { goto L_08B30ED8; @@ -2612,8 +2613,8 @@ L_08B30ECC: goto L_08B30ED8; } L_08B30ED8: - ctx.gpr[6] = (0u + static_cast(-5)); - aot_gpr_4 = (aot_gpr_4 & ctx.gpr[6]); + aot_gpr_6 = (0u + static_cast(-5)); + aot_gpr_4 = (aot_gpr_4 & aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(476), aot_gpr_4); goto L_08B30EE4; L_08B30EE4: @@ -2621,7 +2622,7 @@ L_08B30EE4: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -2632,20 +2633,20 @@ L_08B30EE4: AOT_REGCACHE_SYNC_OUT(); return; L_08B30EFC: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_5 = (aot_gpr_16 + static_cast(16)); - aot_gpr_17 = (2236u << 16u); - ctx.gpr[7] = (aot_gpr_17 + static_cast(29704)); + ctx.gpr[17] = (2236u << 16u); + ctx.gpr[7] = (ctx.gpr[17] + static_cast(29704)); aot_gpr_31 = (0x08B30F24u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B30F24u) goto L_08B30F24; AOT_REGCACHE_SYNC_OUT(); return; L_08B30F24: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15976))); aot_gpr_31 = (0x08B30F30u); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29704))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29704))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B30F30u) goto L_08B30F30; AOT_REGCACHE_SYNC_OUT(); return; L_08B30F30: @@ -2686,10 +2687,10 @@ L_08B30F68: } L_08B30F70: aot_gpr_5 = (aot_gpr_16 + static_cast(518)); - ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0))); - ctx.gpr[7] = (static_cast(ctx.gpr[6]) < 9 ? 1u : 0u); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(-1)); - aot_mem.aot_direct_store16(aot_gpr_5 + static_cast(0), static_cast(ctx.gpr[6])); + aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0))); + ctx.gpr[7] = (static_cast(aot_gpr_6) < 9 ? 1u : 0u); + aot_gpr_6 = (aot_gpr_6 + static_cast(-1)); + aot_mem.aot_direct_store16(aot_gpr_5 + static_cast(0), static_cast(aot_gpr_6)); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(521))); { const bool branch_taken = ctx.gpr[7] == 0u; aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u); @@ -2727,7 +2728,7 @@ L_08B30FB8: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -2738,14 +2739,14 @@ L_08B30FB8: AOT_REGCACHE_SYNC_OUT(); return; L_08B30FD0: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_5 = (aot_gpr_4 + static_cast(16)); aot_gpr_16 = (2236u << 16u); - aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); - ctx.gpr[6] = (0u | 2u); + ctx.gpr[17] = (aot_gpr_16 + static_cast(29704)); + aot_gpr_6 = (0u | 2u); aot_gpr_31 = (0x08B30FF8u); - ctx.gpr[7] = (aot_gpr_17 | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B30FF8u) goto L_08B30FF8; AOT_REGCACHE_SYNC_OUT(); return; L_08B30FF8: @@ -2758,7 +2759,7 @@ L_08B31004: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(476))); aot_gpr_5 = (0u + static_cast(-9)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); aot_gpr_5 = (aot_gpr_5 & 1u); aot_gpr_5 = (aot_gpr_5 << 3u); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); @@ -2767,7 +2768,7 @@ L_08B31004: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -2778,14 +2779,14 @@ L_08B31004: AOT_REGCACHE_SYNC_OUT(); return; L_08B3103C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_5 = (aot_gpr_4 + static_cast(16)); aot_gpr_16 = (2236u << 16u); - aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); - ctx.gpr[6] = (0u | 2u); + ctx.gpr[17] = (aot_gpr_16 + static_cast(29704)); + aot_gpr_6 = (0u | 2u); aot_gpr_31 = (0x08B31064u); - ctx.gpr[7] = (aot_gpr_17 | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B31064u) goto L_08B31064; AOT_REGCACHE_SYNC_OUT(); return; L_08B31064: @@ -2796,8 +2797,8 @@ L_08B31064: AOT_REGCACHE_SYNC_OUT(); return; L_08B31070: aot_gpr_5 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); + { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(476))); if (branch_taken) { goto L_08B3108C; @@ -2814,8 +2815,8 @@ L_08B31080: goto L_08B3108C; } L_08B3108C: - ctx.gpr[6] = (0u + static_cast(-33)); - aot_gpr_4 = (aot_gpr_4 & ctx.gpr[6]); + aot_gpr_6 = (0u + static_cast(-33)); + aot_gpr_4 = (aot_gpr_4 & aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(476), aot_gpr_4); goto L_08B31098; L_08B31098: @@ -2823,7 +2824,7 @@ L_08B31098: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -2834,14 +2835,14 @@ L_08B31098: AOT_REGCACHE_SYNC_OUT(); return; L_08B310B0: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_5 = (aot_gpr_4 + static_cast(16)); aot_gpr_16 = (2236u << 16u); - aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); - ctx.gpr[6] = (0u | 2u); + ctx.gpr[17] = (aot_gpr_16 + static_cast(29704)); + aot_gpr_6 = (0u | 2u); aot_gpr_31 = (0x08B310D8u); - ctx.gpr[7] = (aot_gpr_17 | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B310D8u) goto L_08B310D8; AOT_REGCACHE_SYNC_OUT(); return; L_08B310D8: @@ -2852,8 +2853,8 @@ L_08B310D8: AOT_REGCACHE_SYNC_OUT(); return; L_08B310E4: aot_gpr_5 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); + { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(476))); if (branch_taken) { goto L_08B31100; @@ -2870,8 +2871,8 @@ L_08B310F4: goto L_08B31100; } L_08B31100: - ctx.gpr[6] = (0u + static_cast(-17)); - aot_gpr_4 = (aot_gpr_4 & ctx.gpr[6]); + aot_gpr_6 = (0u + static_cast(-17)); + aot_gpr_4 = (aot_gpr_4 & aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(476), aot_gpr_4); goto L_08B3110C; L_08B3110C: @@ -2879,7 +2880,7 @@ L_08B3110C: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -2890,14 +2891,14 @@ L_08B3110C: AOT_REGCACHE_SYNC_OUT(); return; L_08B31124: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_5 = (aot_gpr_4 + static_cast(16)); aot_gpr_16 = (2236u << 16u); - aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); - ctx.gpr[6] = (0u | 3u); + ctx.gpr[17] = (aot_gpr_16 + static_cast(29704)); + aot_gpr_6 = (0u | 3u); aot_gpr_31 = (0x08B3114Cu); - ctx.gpr[7] = (aot_gpr_17 | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3114Cu) goto L_08B3114C; AOT_REGCACHE_SYNC_OUT(); return; L_08B3114C: @@ -2910,11 +2911,11 @@ L_08B31158: aot_gpr_16 = (ctx.gpr[2] | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); aot_gpr_31 = (0x08B31168u); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B31168u) goto L_08B31168; AOT_REGCACHE_SYNC_OUT(); return; L_08B31168: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); { const bool branch_taken = static_cast(aot_gpr_4) < 0; aot_gpr_5 = (static_cast(aot_gpr_4) < 3 ? 1u : 0u); if (branch_taken) { @@ -2932,8 +2933,8 @@ L_08B31174: } L_08B3117C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(476))); - ctx.gpr[6] = (0u + static_cast(-193)); - aot_gpr_5 = (aot_gpr_5 & ctx.gpr[6]); + aot_gpr_6 = (0u + static_cast(-193)); + aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); aot_gpr_4 = (aot_gpr_4 & 3u); aot_gpr_4 = (aot_gpr_4 << 6u); aot_gpr_4 = (aot_gpr_5 | aot_gpr_4); @@ -2950,7 +2951,7 @@ L_08B311A0: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -2961,14 +2962,14 @@ L_08B311A0: AOT_REGCACHE_SYNC_OUT(); return; L_08B311B8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_5 = (aot_gpr_4 + static_cast(16)); aot_gpr_16 = (2236u << 16u); - aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); - ctx.gpr[6] = (0u | 2u); + ctx.gpr[17] = (aot_gpr_16 + static_cast(29704)); + aot_gpr_6 = (0u | 2u); aot_gpr_31 = (0x08B311E0u); - ctx.gpr[7] = (aot_gpr_17 | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B311E0u) goto L_08B311E0; AOT_REGCACHE_SYNC_OUT(); return; L_08B311E0: @@ -2979,8 +2980,8 @@ L_08B311E0: AOT_REGCACHE_SYNC_OUT(); return; L_08B311EC: aot_gpr_5 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); + { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(476))); if (branch_taken) { goto L_08B31208; @@ -2997,8 +2998,8 @@ L_08B311FC: goto L_08B31208; } L_08B31208: - ctx.gpr[6] = (0u + static_cast(-257)); - aot_gpr_4 = (aot_gpr_4 & ctx.gpr[6]); + aot_gpr_6 = (0u + static_cast(-257)); + aot_gpr_4 = (aot_gpr_4 & aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(476), aot_gpr_4); goto L_08B31214; L_08B31214: @@ -3006,7 +3007,7 @@ L_08B31214: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -3017,14 +3018,14 @@ L_08B31214: AOT_REGCACHE_SYNC_OUT(); return; L_08B3122C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_5 = (aot_gpr_4 + static_cast(16)); aot_gpr_16 = (2236u << 16u); - aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); - ctx.gpr[6] = (0u | 2u); + ctx.gpr[17] = (aot_gpr_16 + static_cast(29704)); + aot_gpr_6 = (0u | 2u); aot_gpr_31 = (0x08B31254u); - ctx.gpr[7] = (aot_gpr_17 | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B31254u) goto L_08B31254; AOT_REGCACHE_SYNC_OUT(); return; L_08B31254: @@ -3035,8 +3036,8 @@ L_08B31254: AOT_REGCACHE_SYNC_OUT(); return; L_08B31260: aot_gpr_5 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); + { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(476))); if (branch_taken) { goto L_08B3127C; @@ -3053,8 +3054,8 @@ L_08B31270: goto L_08B3127C; } L_08B3127C: - ctx.gpr[6] = (0u + static_cast(-513)); - aot_gpr_4 = (aot_gpr_4 & ctx.gpr[6]); + aot_gpr_6 = (0u + static_cast(-513)); + aot_gpr_4 = (aot_gpr_4 & aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(476), aot_gpr_4); goto L_08B31288; L_08B31288: @@ -3062,7 +3063,7 @@ L_08B31288: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -3073,14 +3074,14 @@ L_08B31288: AOT_REGCACHE_SYNC_OUT(); return; L_08B312A0: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_5 = (aot_gpr_4 + static_cast(16)); aot_gpr_16 = (2236u << 16u); - aot_gpr_17 = (aot_gpr_16 + static_cast(29704)); - ctx.gpr[6] = (0u | 2u); + ctx.gpr[17] = (aot_gpr_16 + static_cast(29704)); + aot_gpr_6 = (0u | 2u); aot_gpr_31 = (0x08B312C8u); - ctx.gpr[7] = (aot_gpr_17 | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B312C8u) goto L_08B312C8; AOT_REGCACHE_SYNC_OUT(); return; L_08B312C8: @@ -3090,13 +3091,13 @@ L_08B312C8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B312D4u) goto L_08B312D4; AOT_REGCACHE_SYNC_OUT(); return; L_08B312D4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); aot_mem.aot_direct_store8(ctx.gpr[2] + static_cast(1939), static_cast(aot_gpr_4)); ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -3107,7 +3108,7 @@ L_08B312D4: AOT_REGCACHE_SYNC_OUT(); return; L_08B312F4: aot_gpr_29 = (aot_gpr_29 + static_cast(-320)); - { const std::uint32_t aot_run_words[14]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; + { const std::uint32_t aot_run_words[14]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(264), aot_run_words); } ctx.fpr[24] = std::bit_cast(std::bit_cast(aot_fpr_14)); ctx.fpr[22] = std::bit_cast(std::bit_cast(aot_fpr_13)); @@ -3129,17 +3130,17 @@ L_08B31350: } L_08B31358: { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(1152))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(1152))); if (branch_taken) { goto L_08B31364; } goto L_08B31360; } L_08B31360: - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); goto L_08B31364; L_08B31364: - { const bool branch_taken = aot_gpr_17 == 0u; + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_08B314F0; @@ -3156,14 +3157,14 @@ L_08B3136C: } L_08B31374: aot_gpr_31 = (0x08B3137Cu); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 160u, 0x08AD0AE4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3137Cu) goto L_08B3137C; AOT_REGCACHE_SYNC_OUT(); return; L_08B3137C: ctx.fpr[24] = ctx.fpr[24] + ctx.fpr[0]; goto L_08B31380; L_08B31380: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(852))); aot_gpr_5 = (0u | 1u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -3173,15 +3174,15 @@ L_08B31380: goto L_08B31390; } L_08B31390: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(92))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(92))); aot_gpr_5 = (aot_gpr_4 + static_cast(112)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); - aot_gpr_4 = (aot_gpr_17 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[17] + aot_gpr_4); { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(16), aot_run_words); } - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); aot_gpr_16 = (aot_gpr_29 + static_cast(16)); - jump_target = ctx.gpr[6]; + jump_target = aot_gpr_6; aot_gpr_31 = (0x08B313BCu); aot_gpr_5 = (aot_gpr_16 | 0u); ctx.pc = jump_target; @@ -3191,9 +3192,9 @@ L_08B313BC: { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(16), aot_run_words); } aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B313D8u); - ctx.gpr[6] = (ctx.gpr[19] | 0u); + aot_gpr_6 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0025_entry, 25u, 424u, 0x0886A030u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B313D8u) goto L_08B313D8; AOT_REGCACHE_SYNC_OUT(); return; L_08B313D8: @@ -3205,7 +3206,7 @@ L_08B313D8: goto L_08B313E0; } L_08B313E0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(852))); aot_gpr_5 = (0u | 2u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -3215,15 +3216,15 @@ L_08B313E0: goto L_08B313F0; } L_08B313F0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(92))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(92))); aot_gpr_5 = (aot_gpr_4 + static_cast(112)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); - aot_gpr_4 = (aot_gpr_17 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[17] + aot_gpr_4); { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(32), aot_run_words); } - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); aot_gpr_16 = (aot_gpr_29 + static_cast(32)); - jump_target = ctx.gpr[6]; + jump_target = aot_gpr_6; aot_gpr_31 = (0x08B3141Cu); aot_gpr_5 = (aot_gpr_16 | 0u); ctx.pc = jump_target; @@ -3233,9 +3234,9 @@ L_08B3141C: { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(32), aot_run_words); } aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B31438u); - ctx.gpr[6] = (ctx.gpr[19] | 0u); + aot_gpr_6 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0025_entry, 25u, 424u, 0x0886A030u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B31438u) goto L_08B31438; AOT_REGCACHE_SYNC_OUT(); return; L_08B31438: @@ -3247,7 +3248,7 @@ L_08B31438: goto L_08B31440; } L_08B31440: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(852))); aot_gpr_5 = (0u | 6u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -3257,15 +3258,15 @@ L_08B31440: goto L_08B31450; } L_08B31450: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(92))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(92))); aot_gpr_5 = (aot_gpr_4 + static_cast(112)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); - aot_gpr_4 = (aot_gpr_17 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[17] + aot_gpr_4); { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(48), aot_run_words); } - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); aot_gpr_16 = (aot_gpr_29 + static_cast(48)); - jump_target = ctx.gpr[6]; + jump_target = aot_gpr_6; aot_gpr_31 = (0x08B3147Cu); aot_gpr_5 = (aot_gpr_16 | 0u); ctx.pc = jump_target; @@ -3275,9 +3276,9 @@ L_08B3147C: { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(48), aot_run_words); } aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B31498u); - ctx.gpr[6] = (ctx.gpr[19] | 0u); + aot_gpr_6 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0025_entry, 25u, 424u, 0x0886A030u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B31498u) goto L_08B31498; AOT_REGCACHE_SYNC_OUT(); return; L_08B31498: @@ -3289,15 +3290,15 @@ L_08B31498: goto L_08B314A0; } L_08B314A0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(92))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(92))); aot_gpr_5 = (aot_gpr_4 + static_cast(112)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); - aot_gpr_4 = (aot_gpr_17 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[17] + aot_gpr_4); { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(64), aot_run_words); } - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); aot_gpr_16 = (aot_gpr_29 + static_cast(64)); - jump_target = ctx.gpr[6]; + jump_target = aot_gpr_6; aot_gpr_31 = (0x08B314CCu); aot_gpr_5 = (aot_gpr_16 | 0u); ctx.pc = jump_target; @@ -3307,9 +3308,9 @@ L_08B314CC: { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(64), aot_run_words); } aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B314E8u); - ctx.gpr[6] = (ctx.gpr[19] | 0u); + aot_gpr_6 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0025_entry, 25u, 424u, 0x0886A030u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B314E8u) goto L_08B314E8; AOT_REGCACHE_SYNC_OUT(); return; L_08B314E8: @@ -3342,9 +3343,9 @@ L_08B31508: aot_gpr_4 = (ctx.gpr[18] + aot_gpr_4); { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(80), aot_run_words); } - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); aot_gpr_16 = (aot_gpr_29 + static_cast(80)); - jump_target = ctx.gpr[6]; + jump_target = aot_gpr_6; aot_gpr_31 = (0x08B31534u); aot_gpr_5 = (aot_gpr_16 | 0u); ctx.pc = jump_target; @@ -3356,7 +3357,7 @@ L_08B31534: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08B31550u); - ctx.gpr[6] = (ctx.gpr[19] | 0u); + aot_gpr_6 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0025_entry, 25u, 424u, 0x0886A030u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B31550u) goto L_08B31550; AOT_REGCACHE_SYNC_OUT(); return; L_08B31550: @@ -3375,7 +3376,7 @@ L_08B31564: aot_gpr_4 = (16256u << 16u); ctx.fpr[26] = std::bit_cast(aot_gpr_4); ctx.gpr[20] = (ctx.gpr[18] + static_cast(48)); - aot_gpr_17 = (aot_gpr_29 + static_cast(144)); + ctx.gpr[17] = (aot_gpr_29 + static_cast(144)); ctx.gpr[30] = (aot_gpr_29 + static_cast(192)); ctx.gpr[23] = (aot_gpr_29 + static_cast(208)); aot_gpr_16 = (ctx.gpr[18] | 0u); @@ -3383,7 +3384,7 @@ L_08B31564: L_08B31584: aot_gpr_31 = (0x08B3158Cu); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3158Cu) goto L_08B3158C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3158Cu) goto L_08B3158C; AOT_REGCACHE_SYNC_OUT(); return; L_08B3158C: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -3433,7 +3434,7 @@ L_08B315CC: AOT_REGCACHE_SYNC_OUT(); return; L_08B315D8: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1784))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(260))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(260))); aot_gpr_31 = (0x08B315E8u); aot_gpr_4 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0025_entry, 25u, 424u, 0x0886A030u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B315E8u) goto L_08B315E8; @@ -3465,7 +3466,7 @@ L_08B31614: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(104), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (ctx.gpr[20] | 0u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 1u); @@ -3487,8 +3488,8 @@ L_08B31644: L_08B3164C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1784))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(92))); - ctx.gpr[6] = (aot_gpr_5 + static_cast(112)); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[6] + static_cast(0)))))); + aot_gpr_6 = (aot_gpr_5 + static_cast(112)); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(0)))))); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); { const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); std::uint32_t vfpu_words[4]{}; @@ -3504,8 +3505,8 @@ L_08B3164C: const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(4))); - jump_target = ctx.gpr[6]; + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(4))); + jump_target = aot_gpr_6; aot_gpr_31 = (0x08B31678u); // nop ctx.pc = jump_target; @@ -3587,7 +3588,7 @@ L_08B316B4: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const bool branch_taken = 0u == 0u; @@ -3614,15 +3615,15 @@ L_08B316EC: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } goto L_08B316F4; L_08B316F4: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1784))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(260))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(260))); aot_gpr_31 = (0x08B31704u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0025_entry, 25u, 424u, 0x0886A030u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B31704u) goto L_08B31704; AOT_REGCACHE_SYNC_OUT(); return; L_08B31704: @@ -3650,9 +3651,9 @@ L_08B31720: } L_08B31730: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(152), std::bit_cast(aot_fpr_12)); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[20] | 0u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 1u); @@ -3675,9 +3676,9 @@ L_08B31768: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1784))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(92))); aot_gpr_5 = (aot_gpr_5 + static_cast(112)); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -3690,8 +3691,8 @@ L_08B31768: const std::uint32_t vfpu_address = ctx.gpr[23] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); - jump_target = ctx.gpr[6]; + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); + jump_target = aot_gpr_6; aot_gpr_31 = (0x08B31790u); aot_gpr_5 = (ctx.gpr[23] | 0u); ctx.pc = jump_target; @@ -3730,12 +3731,12 @@ L_08B317BC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1784))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(92))); aot_gpr_5 = (aot_gpr_5 + static_cast(112)); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(224), aot_run_words); } - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); - jump_target = ctx.gpr[6]; + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); + jump_target = aot_gpr_6; aot_gpr_31 = (0x08B317E8u); aot_gpr_5 = (aot_gpr_29 + static_cast(224)); ctx.pc = jump_target; @@ -3765,7 +3766,7 @@ L_08B31804: ctx.fpr[24] = std::bit_cast(aot_run_words[2]); ctx.fpr[26] = std::bit_cast(aot_run_words[3]); aot_gpr_16 = aot_run_words[4]; - aot_gpr_17 = aot_run_words[5]; + ctx.gpr[17] = aot_run_words[5]; ctx.gpr[18] = aot_run_words[6]; ctx.gpr[19] = aot_run_words[7]; ctx.gpr[20] = aot_run_words[8]; @@ -3783,23 +3784,23 @@ L_08B31804: AOT_REGCACHE_SYNC_OUT(); return; L_08B31844: aot_gpr_29 = (aot_gpr_29 + static_cast(-96)); - { const std::uint32_t aot_run_words[10]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_31}; + { const std::uint32_t aot_run_words[10]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(48), aot_run_words); } aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_17 = (aot_gpr_16 + static_cast(16)); + ctx.gpr[17] = (aot_gpr_16 + static_cast(16)); ctx.gpr[18] = (2236u << 16u); ctx.gpr[19] = (ctx.gpr[18] + static_cast(29704)); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[6] = (0u | 5u); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_6 = (0u | 5u); aot_gpr_31 = (0x08B31890u); ctx.gpr[7] = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B31890u) goto L_08B31890; AOT_REGCACHE_SYNC_OUT(); return; L_08B31890: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(4))); - ctx.gpr[6] = (static_cast(aot_gpr_4) < 14 ? 1u : 0u); + aot_gpr_6 = (static_cast(aot_gpr_4) < 14 ? 1u : 0u); aot_gpr_5 = (0u | 6u); - { const bool branch_taken = ctx.gpr[6] == 0u; + { const bool branch_taken = aot_gpr_6 == 0u; ctx.gpr[21] = (aot_gpr_29 + static_cast(16)); if (branch_taken) { goto L_08B318E0; @@ -3807,8 +3808,8 @@ L_08B31890: goto L_08B318A4; } L_08B318A4: - ctx.gpr[6] = (static_cast(aot_gpr_4) < 8 ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] != 0u; + aot_gpr_6 = (static_cast(aot_gpr_4) < 8 ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 != 0u; aot_gpr_4 = (aot_gpr_4 + static_cast(-8)); if (branch_taken) { goto L_08B319A8; @@ -3864,8 +3865,8 @@ L_08B318D8: goto L_08B318E0; } L_08B318E0: - ctx.gpr[6] = (0u | 119u); - { const bool branch_taken = aot_gpr_4 == ctx.gpr[6]; + aot_gpr_6 = (0u | 119u); + { const bool branch_taken = aot_gpr_4 == aot_gpr_6; // nop if (branch_taken) { goto L_08B3190C; @@ -3984,9 +3985,9 @@ L_08B31970: goto L_08B31978; } L_08B31978: - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(29704))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(29704))); aot_gpr_4 = (0u | 16u); - { const bool branch_taken = ctx.gpr[6] != aot_gpr_4; + { const bool branch_taken = aot_gpr_6 != aot_gpr_4; // nop if (branch_taken) { goto L_08B3198C; @@ -4005,9 +4006,9 @@ L_08B3198C: goto L_08B31994; } L_08B31994: - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(29704))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(29704))); aot_gpr_4 = (0u | 17u); - { const bool branch_taken = ctx.gpr[6] != aot_gpr_4; + { const bool branch_taken = aot_gpr_6 != aot_gpr_4; // nop if (branch_taken) { goto L_08B319A8; @@ -4045,7 +4046,7 @@ L_08B319CC: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(4))); aot_gpr_4 = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x08B319DCu); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0139_entry, 139u, 437u, 0x08A31EA4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B319DCu) goto L_08B319DC; AOT_REGCACHE_SYNC_OUT(); return; L_08B319DC: @@ -4126,7 +4127,7 @@ L_08B31A44: goto L_08B31A50; L_08B31A50: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(29704))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(4))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(4))); aot_gpr_31 = (0x08B31A60u); aot_gpr_4 = (ctx.gpr[22] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0119_entry, 119u, 453u, 0x089E2490u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B31A60u) goto L_08B31A60; @@ -4257,7 +4258,7 @@ L_08B31B64: aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_5 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08B31B74u); - ctx.gpr[6] = (aot_gpr_16 | 0u); + aot_gpr_6 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0025_entry, 25u, 424u, 0x0886A030u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B31B74u) goto L_08B31B74; AOT_REGCACHE_SYNC_OUT(); return; L_08B31B74: @@ -4300,10 +4301,10 @@ L_08B31BAC: L_08B31BB8: aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(29704), ctx.gpr[2]); aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B31BCCu); - ctx.gpr[6] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B31BCCu) goto L_08B31BCC; + aot_gpr_6 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B31BCCu) goto L_08B31BCC; AOT_REGCACHE_SYNC_OUT(); return; L_08B31BCC: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(522))); @@ -4318,7 +4319,7 @@ L_08B31BD8: aot_gpr_4 = (2239u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(21784)); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(29704))); - ctx.gpr[6] = (0u | 2u); + aot_gpr_6 = (0u | 2u); aot_gpr_31 = (0x08B31BF0u); ctx.gpr[7] = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 275u, 0x08861C90u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B31BF0u) goto L_08B31BF0; @@ -4330,7 +4331,7 @@ L_08B31BF0: aot_fpr_20 = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); aot_gpr_16 = aot_run_words[2]; - aot_gpr_17 = aot_run_words[3]; + ctx.gpr[17] = aot_run_words[3]; ctx.gpr[18] = aot_run_words[4]; ctx.gpr[19] = aot_run_words[5]; ctx.gpr[20] = aot_run_words[6]; @@ -4346,14 +4347,14 @@ L_08B31BF0: AOT_REGCACHE_SYNC_OUT(); return; L_08B31C24: aot_gpr_29 = (aot_gpr_29 + static_cast(-80)); - { const std::uint32_t aot_run_words[9]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], aot_gpr_31}; + { const std::uint32_t aot_run_words[9]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(32), aot_run_words); } aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_17 = (aot_gpr_16 + static_cast(16)); + ctx.gpr[17] = (aot_gpr_16 + static_cast(16)); ctx.gpr[18] = (2236u << 16u); ctx.gpr[19] = (ctx.gpr[18] + static_cast(29704)); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[6] = (0u | 3u); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_6 = (0u | 3u); aot_gpr_31 = (0x08B31C6Cu); ctx.gpr[7] = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B31C6Cu) goto L_08B31C6C; @@ -4367,9 +4368,9 @@ L_08B31C6C: L_08B31C78: ctx.gpr[20] = (ctx.gpr[2] | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(8))); - ctx.gpr[6] = (static_cast(aot_gpr_4) < 14 ? 1u : 0u); + aot_gpr_6 = (static_cast(aot_gpr_4) < 14 ? 1u : 0u); aot_gpr_5 = (0u | 6u); - { const bool branch_taken = ctx.gpr[6] == 0u; + { const bool branch_taken = aot_gpr_6 == 0u; ctx.gpr[21] = (0u | 1u); if (branch_taken) { goto L_08B31CCC; @@ -4377,8 +4378,8 @@ L_08B31C78: goto L_08B31C90; } L_08B31C90: - ctx.gpr[6] = (static_cast(aot_gpr_4) < 8 ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] != 0u; + aot_gpr_6 = (static_cast(aot_gpr_4) < 8 ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 != 0u; aot_gpr_4 = (aot_gpr_4 + static_cast(-8)); if (branch_taken) { goto L_08B31D90; @@ -4434,8 +4435,8 @@ L_08B31CC4: goto L_08B31CCC; } L_08B31CCC: - ctx.gpr[6] = (0u | 119u); - { const bool branch_taken = aot_gpr_4 == ctx.gpr[6]; + aot_gpr_6 = (0u | 119u); + { const bool branch_taken = aot_gpr_4 == aot_gpr_6; // nop if (branch_taken) { goto L_08B31CF8; @@ -4553,9 +4554,9 @@ L_08B31D58: goto L_08B31D60; } L_08B31D60: - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(4))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(4))); aot_gpr_4 = (0u | 16u); - { const bool branch_taken = ctx.gpr[6] != aot_gpr_4; + { const bool branch_taken = aot_gpr_6 != aot_gpr_4; // nop if (branch_taken) { goto L_08B31D74; @@ -4574,9 +4575,9 @@ L_08B31D74: goto L_08B31D7C; } L_08B31D7C: - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(4))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(4))); aot_gpr_4 = (0u | 17u); - { const bool branch_taken = ctx.gpr[6] != aot_gpr_4; + { const bool branch_taken = aot_gpr_6 != aot_gpr_4; // nop if (branch_taken) { goto L_08B31D90; @@ -4614,7 +4615,7 @@ L_08B31DB4: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(8))); aot_gpr_4 = (ctx.gpr[23] | 0u); aot_gpr_31 = (0x08B31DC4u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0139_entry, 139u, 437u, 0x08A31EA4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B31DC4u) goto L_08B31DC4; AOT_REGCACHE_SYNC_OUT(); return; L_08B31DC4: @@ -4697,7 +4698,7 @@ L_08B31E2C: } L_08B31E38: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(4))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(8))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(8))); aot_gpr_31 = (0x08B31E48u); aot_gpr_4 = (ctx.gpr[23] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0119_entry, 119u, 453u, 0x089E2490u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B31E48u) goto L_08B31E48; @@ -4870,7 +4871,7 @@ L_08B31F84: aot_gpr_4 = (ctx.gpr[22] | 0u); aot_gpr_5 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08B31FB0u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 307u, 0x089B56FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B31FB0u) goto L_08B31FB0; AOT_REGCACHE_SYNC_OUT(); return; L_08B31FB0: @@ -4899,10 +4900,10 @@ L_08B31FD0: L_08B31FDC: aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(29704), ctx.gpr[2]); aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B31FF0u); - ctx.gpr[6] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B31FF0u) goto L_08B31FF0; + aot_gpr_6 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B31FF0u) goto L_08B31FF0; AOT_REGCACHE_SYNC_OUT(); return; L_08B31FF0: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(522))); @@ -4917,7 +4918,7 @@ L_08B31FFC: aot_gpr_4 = (2239u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(21784)); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(29704))); - ctx.gpr[6] = (0u | 2u); + aot_gpr_6 = (0u | 2u); aot_gpr_31 = (0x08B32014u); ctx.gpr[7] = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 275u, 0x08861C90u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B32014u) goto L_08B32014; @@ -4934,17 +4935,17 @@ L_08B3201C: aot_gpr_4 = (0u + static_cast(-1)); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(29704), aot_gpr_4); aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B32034u); - ctx.gpr[6] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B32034u) goto L_08B32034; + aot_gpr_6 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B32034u) goto L_08B32034; AOT_REGCACHE_SYNC_OUT(); return; L_08B32034: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[9]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(32), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -4961,14 +4962,14 @@ L_08B32034: AOT_REGCACHE_SYNC_OUT(); return; L_08B32064: aot_gpr_29 = (aot_gpr_29 + static_cast(-64)); - { const std::uint32_t aot_run_words[8]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_31}; + { const std::uint32_t aot_run_words[8]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(32), aot_run_words); } aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_17 = (aot_gpr_16 + static_cast(16)); + ctx.gpr[17] = (aot_gpr_16 + static_cast(16)); ctx.gpr[18] = (2236u << 16u); ctx.gpr[19] = (ctx.gpr[18] + static_cast(29704)); - aot_gpr_5 = (aot_gpr_17 | 0u); - ctx.gpr[6] = (0u | 4u); + aot_gpr_5 = (ctx.gpr[17] | 0u); + aot_gpr_6 = (0u | 4u); aot_gpr_31 = (0x08B320A8u); ctx.gpr[7] = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B320A8u) goto L_08B320A8; @@ -4982,8 +4983,8 @@ L_08B320A8: L_08B320B4: ctx.gpr[20] = (ctx.gpr[2] | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(8))); - ctx.gpr[6] = (static_cast(aot_gpr_4) < 14 ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_6 = (static_cast(aot_gpr_4) < 14 ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_5 = (0u | 6u); if (branch_taken) { goto L_08B32104; @@ -4991,8 +4992,8 @@ L_08B320B4: goto L_08B320C8; } L_08B320C8: - ctx.gpr[6] = (static_cast(aot_gpr_4) < 8 ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] != 0u; + aot_gpr_6 = (static_cast(aot_gpr_4) < 8 ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 != 0u; aot_gpr_4 = (aot_gpr_4 + static_cast(-8)); if (branch_taken) { goto L_08B321CC; @@ -5048,8 +5049,8 @@ L_08B320FC: goto L_08B32104; } L_08B32104: - ctx.gpr[6] = (0u | 119u); - { const bool branch_taken = aot_gpr_4 == ctx.gpr[6]; + aot_gpr_6 = (0u | 119u); + { const bool branch_taken = aot_gpr_4 == aot_gpr_6; // nop if (branch_taken) { goto L_08B32130; @@ -5168,9 +5169,9 @@ L_08B32194: goto L_08B3219C; } L_08B3219C: - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(4))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(4))); aot_gpr_4 = (0u | 16u); - { const bool branch_taken = ctx.gpr[6] != aot_gpr_4; + { const bool branch_taken = aot_gpr_6 != aot_gpr_4; // nop if (branch_taken) { goto L_08B321B0; @@ -5189,9 +5190,9 @@ L_08B321B0: goto L_08B321B8; } L_08B321B8: - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(4))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(4))); aot_gpr_4 = (0u | 17u); - { const bool branch_taken = ctx.gpr[6] != aot_gpr_4; + { const bool branch_taken = aot_gpr_6 != aot_gpr_4; // nop if (branch_taken) { goto L_08B321CC; @@ -5229,7 +5230,7 @@ L_08B321F0: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(8))); aot_gpr_4 = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x08B32200u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0139_entry, 139u, 437u, 0x08A31EA4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B32200u) goto L_08B32200; AOT_REGCACHE_SYNC_OUT(); return; L_08B32200: @@ -5312,7 +5313,7 @@ L_08B32268: } L_08B32274: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(4))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(8))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(8))); aot_gpr_31 = (0x08B32284u); aot_gpr_4 = (ctx.gpr[22] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0119_entry, 119u, 453u, 0x089E2490u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B32284u) goto L_08B32284; @@ -5458,8 +5459,8 @@ L_08B32388: goto L_08B32390; } L_08B32390: - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(12))); - ctx.gpr[6] = (ctx.gpr[6] & 255u); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(12))); + aot_gpr_6 = (aot_gpr_6 & 255u); aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08B323A4u); aot_gpr_5 = (ctx.gpr[21] | 0u); @@ -5491,7 +5492,7 @@ L_08B323C8: aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_5 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08B323E8u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 307u, 0x089B56FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B323E8u) goto L_08B323E8; AOT_REGCACHE_SYNC_OUT(); return; L_08B323E8: @@ -5508,10 +5509,10 @@ L_08B323F0: L_08B323FC: aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(29704), ctx.gpr[2]); aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B32410u); - ctx.gpr[6] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B32410u) goto L_08B32410; + aot_gpr_6 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B32410u) goto L_08B32410; AOT_REGCACHE_SYNC_OUT(); return; L_08B32410: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(522))); @@ -5526,7 +5527,7 @@ L_08B3241C: aot_gpr_4 = (2239u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(21784)); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(29704))); - ctx.gpr[6] = (0u | 2u); + aot_gpr_6 = (0u | 2u); aot_gpr_31 = (0x08B32434u); ctx.gpr[7] = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 275u, 0x08861C90u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B32434u) goto L_08B32434; @@ -5543,17 +5544,17 @@ L_08B3243C: aot_gpr_4 = (0u + static_cast(-1)); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(29704), aot_gpr_4); aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B32454u); - ctx.gpr[6] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B32454u) goto L_08B32454; + aot_gpr_6 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B32454u) goto L_08B32454; AOT_REGCACHE_SYNC_OUT(); return; L_08B32454: ctx.gpr[2] = (0u | 0u); { std::uint32_t aot_run_words[8]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(32), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -5569,13 +5570,13 @@ L_08B32454: AOT_REGCACHE_SYNC_OUT(); return; L_08B32480: aot_gpr_29 = (aot_gpr_29 + static_cast(-80)); - { const std::uint32_t aot_run_words[9]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; + { const std::uint32_t aot_run_words[9]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(32), aot_run_words); } aot_gpr_16 = (aot_gpr_4 | 0u); aot_gpr_5 = (aot_gpr_16 + static_cast(16)); - aot_gpr_17 = (2236u << 16u); - ctx.gpr[19] = (aot_gpr_17 + static_cast(29704)); - ctx.gpr[6] = (0u | 4u); + ctx.gpr[17] = (2236u << 16u); + ctx.gpr[19] = (ctx.gpr[17] + static_cast(29704)); + aot_gpr_6 = (0u | 4u); aot_gpr_31 = (0x08B324C4u); ctx.gpr[7] = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B324C4u) goto L_08B324C4; @@ -5583,7 +5584,7 @@ L_08B32480: L_08B324C4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15976))); aot_gpr_31 = (0x08B324D0u); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(29704))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(29704))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B324D0u) goto L_08B324D0; AOT_REGCACHE_SYNC_OUT(); return; L_08B324D0: @@ -5600,7 +5601,7 @@ L_08B324D0: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(ctx.fpr[22]) || std::isnan(aot_fpr_12)) && ctx.fpr[22] == aot_fpr_12)) ? 0x00800000u : 0u); // nop { const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u); - aot_gpr_17 = (0u | 6u); + ctx.gpr[17] = (0u | 6u); if (branch_taken) { goto L_08B32514; } @@ -5684,15 +5685,15 @@ L_08B32574: L_08B3257C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(1152))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); - ctx.gpr[6] = (0u + static_cast(-497)); - aot_gpr_5 = (aot_gpr_5 & ctx.gpr[6]); + aot_gpr_6 = (0u + static_cast(-497)); + aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); aot_gpr_5 = (aot_gpr_5 | 64u); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(72), aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(1152))); aot_gpr_4 = (aot_gpr_4 + static_cast(613)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0)))))); - ctx.gpr[6] = (0u + static_cast(-17)); - aot_gpr_5 = (aot_gpr_5 & ctx.gpr[6]); + aot_gpr_6 = (0u + static_cast(-17)); + aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_5)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(1152))); aot_gpr_4 = (aot_gpr_4 + static_cast(384)); @@ -5832,8 +5833,8 @@ L_08B3267C: goto L_08B32680; L_08B32680: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(2228))); - ctx.gpr[6] = (0u | 63u); - { const bool branch_taken = aot_gpr_5 == ctx.gpr[6]; + aot_gpr_6 = (0u | 63u); + { const bool branch_taken = aot_gpr_5 == aot_gpr_6; // nop if (branch_taken) { goto L_08B326C4; @@ -5842,8 +5843,8 @@ L_08B32680: } L_08B32690: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(2228))); - ctx.gpr[6] = (0u | 60u); - { const bool branch_taken = aot_gpr_5 == ctx.gpr[6]; + aot_gpr_6 = (0u | 60u); + { const bool branch_taken = aot_gpr_5 == aot_gpr_6; aot_gpr_5 = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08B326C4; @@ -5852,11 +5853,11 @@ L_08B32690: } L_08B326A0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(1152))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(92))); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(296)); - ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[6] + static_cast(0)))))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(4))); - jump_target = ctx.gpr[6]; + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(92))); + aot_gpr_6 = (aot_gpr_6 + static_cast(296)); + ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(0)))))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(4))); + jump_target = aot_gpr_6; aot_gpr_31 = (0x08B326BCu); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[7]); ctx.pc = jump_target; @@ -5874,7 +5875,7 @@ L_08B326C4: aot_gpr_4 = (0u | 0u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(1152))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(852))); - { const bool branch_taken = aot_gpr_5 != aot_gpr_17; + { const bool branch_taken = aot_gpr_5 != ctx.gpr[17]; // nop if (branch_taken) { goto L_08B32738; @@ -5883,8 +5884,8 @@ L_08B326C4: } L_08B326D8: aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(2274))); - ctx.gpr[6] = (0u | 10u); - { const bool branch_taken = aot_gpr_5 == ctx.gpr[6]; + aot_gpr_6 = (0u | 10u); + { const bool branch_taken = aot_gpr_5 == aot_gpr_6; // nop if (branch_taken) { goto L_08B32708; @@ -5893,8 +5894,8 @@ L_08B326D8: } L_08B326E8: aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(2274))); - ctx.gpr[6] = (0u | 8u); - { const bool branch_taken = aot_gpr_5 == ctx.gpr[6]; + aot_gpr_6 = (0u | 8u); + { const bool branch_taken = aot_gpr_5 == aot_gpr_6; // nop if (branch_taken) { goto L_08B32708; @@ -5903,8 +5904,8 @@ L_08B326E8: } L_08B326F8: aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(2274))); - ctx.gpr[6] = (0u | 20u); - { const bool branch_taken = aot_gpr_5 != ctx.gpr[6]; + aot_gpr_6 = (0u | 20u); + { const bool branch_taken = aot_gpr_5 != aot_gpr_6; // nop if (branch_taken) { goto L_08B32710; @@ -5921,8 +5922,8 @@ L_08B32708: } L_08B32710: aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(2274))); - ctx.gpr[6] = (0u | 11u); - { const bool branch_taken = aot_gpr_5 == ctx.gpr[6]; + aot_gpr_6 = (0u | 11u); + { const bool branch_taken = aot_gpr_5 == aot_gpr_6; // nop if (branch_taken) { goto L_08B32730; @@ -5931,8 +5932,8 @@ L_08B32710: } L_08B32720: aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(2274))); - ctx.gpr[6] = (0u | 9u); - { const bool branch_taken = aot_gpr_5 != ctx.gpr[6]; + aot_gpr_6 = (0u | 9u); + { const bool branch_taken = aot_gpr_5 != aot_gpr_6; // nop if (branch_taken) { goto L_08B327D0; @@ -5949,17 +5950,17 @@ L_08B32730: } L_08B32738: aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(2274))); - ctx.gpr[6] = (static_cast(aot_gpr_5) < 10 ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] == 0u; - ctx.gpr[6] = (static_cast(aot_gpr_5) < 11 ? 1u : 0u); + aot_gpr_6 = (static_cast(aot_gpr_5) < 10 ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 == 0u; + aot_gpr_6 = (static_cast(aot_gpr_5) < 11 ? 1u : 0u); if (branch_taken) { goto L_08B3276C; } goto L_08B32748; } L_08B32748: - ctx.gpr[6] = (static_cast(aot_gpr_5) < 8 ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] != 0u; + aot_gpr_6 = (static_cast(aot_gpr_5) < 8 ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 != 0u; // nop if (branch_taken) { goto L_08B327D0; @@ -5985,7 +5986,7 @@ L_08B32760: goto L_08B3276C; } L_08B3276C: - { const bool branch_taken = ctx.gpr[6] != 0u; + { const bool branch_taken = aot_gpr_6 != 0u; aot_gpr_5 = (static_cast(aot_gpr_5) < 12 ? 1u : 0u); if (branch_taken) { goto L_08B32784; @@ -6072,18 +6073,18 @@ L_08B327CC: L_08B327D0: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(1152))); aot_gpr_5 = (aot_gpr_5 + static_cast(564)); - ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0))); + aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0))); aot_gpr_4 = (~(aot_gpr_4 | 0u)); - aot_gpr_4 = (ctx.gpr[6] & aot_gpr_4); + aot_gpr_4 = (aot_gpr_6 & aot_gpr_4); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(0), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(1152))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(92))); aot_gpr_5 = (aot_gpr_5 + static_cast(272)); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(2274))); - ctx.gpr[6] = (0u | 173u); + aot_gpr_6 = (0u | 173u); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x08B32810u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); @@ -6112,7 +6113,7 @@ L_08B32834: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08B32840u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B32840u) goto L_08B32840; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08908E78, 65u, 261u, 0x08908E78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B32840u) goto L_08B32840; AOT_REGCACHE_SYNC_OUT(); return; L_08B32840: aot_gpr_4 = (ctx.gpr[18] | 0u); @@ -6141,7 +6142,7 @@ L_08B32878: L_08B32880: aot_gpr_31 = (0x08B32888u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B32888u) goto L_08B32888; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B32888u) goto L_08B32888; AOT_REGCACHE_SYNC_OUT(); return; L_08B32888: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -6154,7 +6155,7 @@ L_08B32888: L_08B32890: aot_gpr_31 = (0x08B32898u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B32898u) goto L_08B32898; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F6B4, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 784u, 0x0890F6B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B32898u) goto L_08B32898; AOT_REGCACHE_SYNC_OUT(); return; L_08B32898: aot_gpr_4 = (50298u << 16u); @@ -6165,7 +6166,7 @@ L_08B328A4: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08B328B0u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B328B0u) goto L_08B328B0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B328B0u) goto L_08B328B0; AOT_REGCACHE_SYNC_OUT(); return; L_08B328B0: aot_gpr_31 = (0x08B328B8u); @@ -6176,7 +6177,7 @@ L_08B328B8: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08B328C4u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B328C4u) goto L_08B328C4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B328C4u) goto L_08B328C4; AOT_REGCACHE_SYNC_OUT(); return; L_08B328C4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5836))); @@ -6195,7 +6196,7 @@ L_08B328D8: goto L_08B328DC; L_08B328DC: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(80))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(776))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(776))); ctx.gpr[7] = (17530u << 16u); aot_fpr_12 = std::bit_cast(ctx.gpr[7]); aot_gpr_31 = (0x08B328F4u); @@ -6215,8 +6216,8 @@ L_08B328FC: aot_gpr_4 = (ctx.gpr[18] + aot_gpr_4); { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[24]), std::bit_cast(aot_fpr_20)}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); - jump_target = ctx.gpr[6]; + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); + jump_target = aot_gpr_6; aot_gpr_31 = (0x08B32928u); aot_gpr_5 = (aot_gpr_29 | 0u); ctx.pc = jump_target; @@ -6228,7 +6229,7 @@ L_08B32928: aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08B32944u); - ctx.gpr[6] = (aot_gpr_16 | 0u); + aot_gpr_6 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0025_entry, 25u, 424u, 0x0886A030u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B32944u) goto L_08B32944; AOT_REGCACHE_SYNC_OUT(); return; L_08B32944: @@ -6240,7 +6241,7 @@ L_08B32944: ctx.fpr[24] = std::bit_cast(aot_run_words[2]); ctx.fpr[26] = std::bit_cast(aot_run_words[3]); aot_gpr_16 = aot_run_words[4]; - aot_gpr_17 = aot_run_words[5]; + ctx.gpr[17] = aot_run_words[5]; ctx.gpr[18] = aot_run_words[6]; ctx.gpr[19] = aot_run_words[7]; aot_gpr_31 = aot_run_words[8]; @@ -6253,15 +6254,15 @@ L_08B32944: AOT_REGCACHE_SYNC_OUT(); return; L_08B32974: aot_gpr_29 = (aot_gpr_29 + static_cast(-208)); - { const std::uint32_t aot_run_words[12]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; + { const std::uint32_t aot_run_words[12]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(160), aot_run_words); } aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); ctx.gpr[18] = (aot_gpr_16 + static_cast(16)); ctx.gpr[19] = (2236u << 16u); ctx.gpr[20] = (ctx.gpr[19] + static_cast(29704)); aot_gpr_5 = (ctx.gpr[18] | 0u); - ctx.gpr[6] = (0u | 3u); + aot_gpr_6 = (0u | 3u); aot_gpr_31 = (0x08B329CCu); ctx.gpr[7] = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B329CCu) goto L_08B329CC; @@ -6269,8 +6270,8 @@ L_08B32974: L_08B329CC: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7800))); aot_gpr_5 = (aot_gpr_4 << 8u); - ctx.gpr[6] = (aot_gpr_4 + aot_gpr_4); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_6 = (aot_gpr_4 + aot_gpr_4); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); aot_gpr_4 = (aot_gpr_4 << 5u); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_5 = (2238u << 16u); @@ -6297,7 +6298,7 @@ L_08B329F8: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-5336))); aot_gpr_31 = (0x08B32A10u); - ctx.gpr[6] = (aot_gpr_29 + static_cast(32)); + aot_gpr_6 = (aot_gpr_29 + static_cast(32)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0162_entry, 162u, 526u, 0x08A8EB48u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B32A10u) goto L_08B32A10; AOT_REGCACHE_SYNC_OUT(); return; L_08B32A10: @@ -6336,9 +6337,9 @@ L_08B32A38: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0113_entry, 113u, 31u, 0x089C81D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B32A40u) goto L_08B32A40; AOT_REGCACHE_SYNC_OUT(); return; L_08B32A40: - aot_gpr_17 = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (ctx.gpr[2] | 0u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); - aot_gpr_5 = (static_cast(aot_gpr_17) < static_cast(aot_gpr_5) ? 1u : 0u); + aot_gpr_5 = (static_cast(ctx.gpr[17]) < static_cast(aot_gpr_5) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_4 = (0u | 0u); if (branch_taken) { @@ -6347,7 +6348,7 @@ L_08B32A40: goto L_08B32A54; } L_08B32A54: - aot_gpr_4 = (aot_gpr_17 << 2u); + aot_gpr_4 = (ctx.gpr[17] << 2u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); @@ -6355,11 +6356,11 @@ L_08B32A54: L_08B32A64: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(36))); aot_gpr_5 = (aot_gpr_5 + static_cast(48)); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); jump_target = aot_gpr_5; aot_gpr_31 = (0x08B32A7Cu); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B32A7Cu) goto L_08B32A7C; AOT_REGCACHE_SYNC_OUT(); return; @@ -6373,7 +6374,7 @@ L_08B32A7C: } L_08B32A84: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); - aot_gpr_4 = (static_cast(aot_gpr_17) < static_cast(aot_gpr_4) ? 1u : 0u); + aot_gpr_4 = (static_cast(ctx.gpr[17]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; ctx.gpr[21] = (0u | 0u); if (branch_taken) { @@ -6382,7 +6383,7 @@ L_08B32A84: goto L_08B32A94; } L_08B32A94: - aot_gpr_4 = (aot_gpr_17 << 2u); + aot_gpr_4 = (ctx.gpr[17] << 2u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); ctx.gpr[21] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); @@ -6402,7 +6403,7 @@ L_08B32AA8: } L_08B32AB8: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); - aot_gpr_5 = (static_cast(aot_gpr_17) < static_cast(aot_gpr_5) ? 1u : 0u); + aot_gpr_5 = (static_cast(ctx.gpr[17]) < static_cast(aot_gpr_5) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_4 = (0u | 0u); if (branch_taken) { @@ -6411,7 +6412,7 @@ L_08B32AB8: goto L_08B32AC8; } L_08B32AC8: - aot_gpr_4 = (aot_gpr_17 << 2u); + aot_gpr_4 = (ctx.gpr[17] << 2u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); @@ -6419,11 +6420,11 @@ L_08B32AC8: L_08B32AD8: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(36))); aot_gpr_5 = (aot_gpr_5 + static_cast(48)); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); jump_target = aot_gpr_5; aot_gpr_31 = (0x08B32AF0u); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B32AF0u) goto L_08B32AF0; AOT_REGCACHE_SYNC_OUT(); return; @@ -6436,9 +6437,9 @@ L_08B32AF0: goto L_08B32AF8; } L_08B32AF8: - aot_gpr_17 = (0u | 14u); + ctx.gpr[17] = (0u | 14u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); - aot_gpr_4 = (static_cast(aot_gpr_17) < static_cast(aot_gpr_4) ? 1u : 0u); + aot_gpr_4 = (static_cast(ctx.gpr[17]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; ctx.gpr[21] = (0u | 0u); if (branch_taken) { @@ -6472,7 +6473,7 @@ L_08B32B28: L_08B32B34: aot_gpr_5 = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x08B32B40u); - ctx.gpr[6] = (aot_gpr_17 | 0u); + aot_gpr_6 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0119_entry, 119u, 453u, 0x089E2490u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B32B40u) goto L_08B32B40; AOT_REGCACHE_SYNC_OUT(); return; L_08B32B40: @@ -6558,9 +6559,9 @@ L_08B32BDC: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_17 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[17] = (aot_gpr_29 + static_cast(16)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { std::uint32_t aot_run_words[3]{}; @@ -6605,16 +6606,16 @@ L_08B32C40: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 4u, 0x08860094u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B32C54u) goto L_08B32C54; AOT_REGCACHE_SYNC_OUT(); return; L_08B32C54: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x08B32C64u); - ctx.gpr[6] = (aot_gpr_16 | 0u); + aot_gpr_6 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0025_entry, 25u, 424u, 0x0886A030u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B32C64u) goto L_08B32C64; AOT_REGCACHE_SYNC_OUT(); return; L_08B32C64: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-5336))); aot_gpr_31 = (0x08B32C70u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0162_entry, 162u, 382u, 0x08A8DF08u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B32C70u) goto L_08B32C70; AOT_REGCACHE_SYNC_OUT(); return; L_08B32C70: @@ -6653,8 +6654,8 @@ L_08B32CA8: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08B32CBCu); - ctx.gpr[6] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B32CBCu) goto L_08B32CBC; + aot_gpr_6 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B32CBCu) goto L_08B32CBC; AOT_REGCACHE_SYNC_OUT(); return; L_08B32CBC: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(522))); @@ -6669,7 +6670,7 @@ L_08B32CC8: aot_gpr_4 = (2239u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(21784)); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(29704))); - ctx.gpr[6] = (0u | 2u); + aot_gpr_6 = (0u | 2u); aot_gpr_31 = (0x08B32CE0u); ctx.gpr[7] = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 275u, 0x08861C90u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B32CE0u) goto L_08B32CE0; @@ -6688,8 +6689,8 @@ L_08B32CE8: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08B32D00u); - ctx.gpr[6] = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B32D00u) goto L_08B32D00; + aot_gpr_6 = (0u | 1u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B32D00u) goto L_08B32D00; AOT_REGCACHE_SYNC_OUT(); return; L_08B32D00: ctx.gpr[2] = (0u | 0u); @@ -6698,7 +6699,7 @@ L_08B32D00: aot_fpr_20 = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); aot_gpr_16 = aot_run_words[2]; - aot_gpr_17 = aot_run_words[3]; + ctx.gpr[17] = aot_run_words[3]; ctx.gpr[18] = aot_run_words[4]; ctx.gpr[19] = aot_run_words[5]; ctx.gpr[20] = aot_run_words[6]; @@ -6715,7 +6716,7 @@ L_08B32D00: ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08B32D3C: - { const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -6789,8 +6790,8 @@ L_08B32D64: ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08B32D90: - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-3208))); - aot_mem.aot_direct_store8(ctx.gpr[6] + static_cast(6), static_cast(aot_gpr_4)); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-3208))); + aot_mem.aot_direct_store8(aot_gpr_6 + static_cast(6), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-3208))); jump_target = aot_gpr_31; aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(7), static_cast(aot_gpr_5)); @@ -6840,14 +6841,14 @@ L_08B32DA4: AOT_REGCACHE_SYNC_OUT(); return; L_08B32E84: aot_gpr_29 = (aot_gpr_29 + static_cast(-80)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), aot_gpr_17); - aot_gpr_17 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_4 | 0u); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(86)))))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); aot_gpr_4 = (aot_gpr_4 << 2u); - aot_gpr_4 = (ctx.gpr[6] + aot_gpr_4); + aot_gpr_4 = (aot_gpr_6 + aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(16))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(16))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), std::bit_cast(aot_fpr_20)); aot_fpr_20 = std::bit_cast(std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(60), ctx.gpr[18]); @@ -6867,7 +6868,7 @@ L_08B32E84: goto L_08B32EE4; } L_08B32EE4: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(20))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(20))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_fpr_12 = aot_fpr_12 + aot_fpr_20; ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 <= aot_fpr_12)) ? 0x00800000u : 0u); @@ -6880,7 +6881,7 @@ L_08B32EE4: goto L_08B32F00; } L_08B32F00: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(24))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(24))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_fpr_12 = aot_fpr_12 - aot_fpr_20; ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 < aot_fpr_12)) ? 0x00800000u : 0u); @@ -6893,7 +6894,7 @@ L_08B32F00: goto L_08B32F1C; } L_08B32F1C: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(28))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(28))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_fpr_12 = aot_fpr_12 + aot_fpr_20; ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 <= aot_fpr_12)) ? 0x00800000u : 0u); @@ -6906,7 +6907,7 @@ L_08B32F1C: goto L_08B32F38; } L_08B32F38: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(56))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(56))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); aot_fpr_12 = aot_fpr_12 - aot_fpr_20; ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 < aot_fpr_12)) ? 0x00800000u : 0u); @@ -6919,7 +6920,7 @@ L_08B32F38: goto L_08B32F54; } L_08B32F54: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(96))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); aot_fpr_12 = aot_fpr_12 + aot_fpr_20; ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 <= aot_fpr_12)) ? 0x00800000u : 0u); @@ -6974,7 +6975,7 @@ L_08B32F98: aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_5 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B32FCCu); - ctx.gpr[6] = (ctx.gpr[19] | 0u); + aot_gpr_6 = (ctx.gpr[19] | 0u); goto L_08B32D3C; L_08B32FCC: { const std::uint32_t vfpu_address = ctx.gpr[20] + static_cast(0); @@ -7008,7 +7009,7 @@ L_08B32FCC: aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(12))); aot_fpr_12 = aot_fpr_20 - aot_fpr_12; - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B32FFCu); aot_gpr_5 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0204_entry, 204u, 314u, 0x08B356F8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B32FFCu) goto L_08B32FFC; @@ -7050,7 +7051,7 @@ L_08B3302C: aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(48), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); aot_gpr_16 = aot_run_words[1]; - aot_gpr_17 = aot_run_words[2]; + ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; ctx.gpr[19] = aot_run_words[4]; ctx.gpr[20] = aot_run_words[5]; @@ -7066,22 +7067,22 @@ L_08B3302C: L_08B33054: aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(62))); { const bool branch_taken = aot_gpr_5 == 0u; - ctx.gpr[6] = (0u | 2u); + aot_gpr_6 = (0u | 2u); if (branch_taken) { goto L_08B33070; } goto L_08B33060; } L_08B33060: - { const bool branch_taken = aot_gpr_5 == ctx.gpr[6]; - ctx.gpr[6] = (0u | 5u); + { const bool branch_taken = aot_gpr_5 == aot_gpr_6; + aot_gpr_6 = (0u | 5u); if (branch_taken) { goto L_08B33070; } goto L_08B33068; } L_08B33068: - { const bool branch_taken = aot_gpr_5 != ctx.gpr[6]; + { const bool branch_taken = aot_gpr_5 != aot_gpr_6; // nop if (branch_taken) { goto L_08B33078; @@ -7101,16 +7102,16 @@ L_08B33078: AOT_REGCACHE_SYNC_OUT(); return; L_08B33080: aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(62))); - ctx.gpr[6] = (0u | 1u); - { const bool branch_taken = aot_gpr_5 == ctx.gpr[6]; - ctx.gpr[6] = (0u | 3u); + aot_gpr_6 = (0u | 1u); + { const bool branch_taken = aot_gpr_5 == aot_gpr_6; + aot_gpr_6 = (0u | 3u); if (branch_taken) { goto L_08B33098; } goto L_08B33090; } L_08B33090: - { const bool branch_taken = aot_gpr_5 != ctx.gpr[6]; + { const bool branch_taken = aot_gpr_5 != aot_gpr_6; // nop if (branch_taken) { goto L_08B330A0; @@ -7131,7 +7132,7 @@ L_08B330A0: L_08B330A8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(62))); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } { const bool branch_taken = aot_gpr_5 != 0u; aot_gpr_16 = (aot_gpr_4 | 0u); @@ -7159,13 +7160,13 @@ L_08B330D8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0204_entry, 204u, 220u, 0x08B34FC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B330F0u) goto L_08B330F0; AOT_REGCACHE_SYNC_OUT(); return; L_08B330F0: - aot_gpr_17 = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08B330FCu); aot_gpr_4 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 598u, 0x08AD3610u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B330FCu) goto L_08B330FC; AOT_REGCACHE_SYNC_OUT(); return; L_08B330FC: - { const bool branch_taken = aot_gpr_17 != 0u; + { const bool branch_taken = ctx.gpr[17] != 0u; // nop if (branch_taken) { goto L_08B3310C; @@ -7178,7 +7179,7 @@ L_08B33104: ctx.pc = 0x08B7340Cu; AOT_REGCACHE_SYNC_OUT(); return; L_08B3310C: - { const bool branch_taken = aot_gpr_17 == 0u; + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_08B330D0; @@ -7189,7 +7190,7 @@ L_08B33114: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -7665,9 +7666,9 @@ L_08B33414: AOT_REGCACHE_SYNC_OUT(); return; L_08B33424: aot_gpr_29 = (aot_gpr_29 + static_cast(-80)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), aot_gpr_17); - aot_gpr_17 = (aot_gpr_4 | 0u); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(16))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_4 | 0u); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(16))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), std::bit_cast(aot_fpr_20)); aot_fpr_20 = std::bit_cast(std::bit_cast(aot_fpr_12)); aot_fpr_12 = aot_fpr_13 - aot_fpr_12; @@ -7686,7 +7687,7 @@ L_08B33424: goto L_08B3346C; } L_08B3346C: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(20))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(20))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_fpr_12 = aot_fpr_12 + aot_fpr_20; ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 < aot_fpr_12)) ? 0x00800000u : 0u); @@ -7697,7 +7698,7 @@ L_08B3346C: } goto L_08B33488; L_08B33488: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(24))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(24))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_fpr_12 = aot_fpr_12 - aot_fpr_20; ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 <= aot_fpr_12)) ? 0x00800000u : 0u); @@ -7708,7 +7709,7 @@ L_08B33488: } goto L_08B334A4; L_08B334A4: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(28))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(28))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_fpr_12 = aot_fpr_12 + aot_fpr_20; ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 < aot_fpr_12)) ? 0x00800000u : 0u); @@ -7771,7 +7772,7 @@ L_08B33500: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B33534u); - ctx.gpr[6] = (ctx.gpr[18] | 0u); + aot_gpr_6 = (ctx.gpr[18] | 0u); goto L_08B32D3C; L_08B33534: { const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); @@ -7805,7 +7806,7 @@ L_08B33534: aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(12))); aot_fpr_12 = aot_fpr_20 + aot_fpr_12; - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B33564u); aot_gpr_5 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0204_entry, 204u, 314u, 0x08B356F8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B33564u) goto L_08B33564; @@ -7847,7 +7848,7 @@ L_08B33594: aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(48), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); aot_gpr_16 = aot_run_words[1]; - aot_gpr_17 = aot_run_words[2]; + ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; ctx.gpr[19] = aot_run_words[4]; ctx.gpr[20] = aot_run_words[5]; @@ -7879,14 +7880,14 @@ L_08B335BC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); aot_gpr_4 = (aot_gpr_29 + static_cast(16)); aot_gpr_5 = (aot_gpr_29 + static_cast(32)); - ctx.gpr[6] = (aot_gpr_29 + static_cast(48)); + aot_gpr_6 = (aot_gpr_29 + static_cast(48)); ctx.gpr[8] = (aot_gpr_29 + static_cast(52)); ctx.gpr[18] = (0u | 1u); ctx.gpr[7] = (0u | 16u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 1u); ctx.gpr[11] = (0u | 1u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(120), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(120), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(128), aot_gpr_31); aot_gpr_31 = (0x08B33634u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), 0u); @@ -7894,8 +7895,8 @@ L_08B335BC: AOT_REGCACHE_SYNC_OUT(); return; L_08B33634: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(48)))))); - aot_gpr_17 = (0u | 0u); - aot_gpr_4 = (static_cast(aot_gpr_17) < static_cast(aot_gpr_4) ? 1u : 0u); + ctx.gpr[17] = (0u | 0u); + aot_gpr_4 = (static_cast(ctx.gpr[17]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -7904,7 +7905,7 @@ L_08B33634: goto L_08B33648; } L_08B33648: - aot_gpr_4 = (aot_gpr_17 << 2u); + aot_gpr_4 = (ctx.gpr[17] << 2u); aot_gpr_4 = (aot_gpr_29 + aot_gpr_4); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(52))); aot_gpr_31 = (0x08B3365Cu); @@ -7919,11 +7920,11 @@ L_08B3365C: goto L_08B33664; } L_08B33664: - aot_gpr_4 = (aot_gpr_17 + static_cast(1)); - aot_gpr_17 = (aot_gpr_4 << 16u); + aot_gpr_4 = (ctx.gpr[17] + static_cast(1)); + ctx.gpr[17] = (aot_gpr_4 << 16u); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(48)))))); - aot_gpr_17 = (static_cast(static_cast(aot_gpr_17) >> 16u)); - aot_gpr_4 = (static_cast(aot_gpr_17) < static_cast(aot_gpr_4) ? 1u : 0u); + ctx.gpr[17] = (static_cast(static_cast(ctx.gpr[17]) >> 16u)); + aot_gpr_4 = (static_cast(ctx.gpr[17]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -7946,7 +7947,7 @@ L_08B3368C: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(116), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -8017,16 +8018,16 @@ L_08B336FC: AOT_REGCACHE_SYNC_OUT(); return; L_08B33710: aot_gpr_29 = (aot_gpr_29 + static_cast(-80)); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(86)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(86)))))); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); - ctx.gpr[6] = (ctx.gpr[6] << 2u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), aot_gpr_17); - ctx.gpr[6] = (ctx.gpr[7] + ctx.gpr[6]); - aot_gpr_17 = (aot_gpr_4 | 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(0))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(16))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(12))); + aot_gpr_6 = (aot_gpr_6 << 2u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), ctx.gpr[17]); + aot_gpr_6 = (ctx.gpr[7] + aot_gpr_6); + ctx.gpr[17] = (aot_gpr_4 | 0u); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(16))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(12))); aot_fpr_13 = aot_fpr_13 - aot_fpr_12; aot_gpr_4 = (aot_gpr_5 + static_cast(48)); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); @@ -8043,7 +8044,7 @@ L_08B33710: goto L_08B33770; } L_08B33770: - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(20))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(20))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_fpr_13 = aot_fpr_13 + aot_fpr_12; ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_14 <= aot_fpr_13)) ? 0x00800000u : 0u); @@ -8056,7 +8057,7 @@ L_08B33770: goto L_08B3378C; } L_08B3378C: - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(24))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(24))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_fpr_13 = aot_fpr_13 - aot_fpr_12; ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_14 < aot_fpr_13)) ? 0x00800000u : 0u); @@ -8069,7 +8070,7 @@ L_08B3378C: goto L_08B337A8; } L_08B337A8: - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(28))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(28))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_fpr_13 = aot_fpr_13 + aot_fpr_12; ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_14 <= aot_fpr_13)) ? 0x00800000u : 0u); @@ -8082,7 +8083,7 @@ L_08B337A8: goto L_08B337C4; } L_08B337C4: - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(56))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(56))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); aot_fpr_13 = aot_fpr_13 - aot_fpr_12; ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_14 < aot_fpr_13)) ? 0x00800000u : 0u); @@ -8095,7 +8096,7 @@ L_08B337C4: goto L_08B337E0; } L_08B337E0: - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(96))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); aot_fpr_12 = aot_fpr_13 + aot_fpr_12; ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_14 <= aot_fpr_12)) ? 0x00800000u : 0u); @@ -8156,7 +8157,7 @@ L_08B33840: aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_5 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B33870u); - ctx.gpr[6] = (ctx.gpr[18] | 0u); + aot_gpr_6 = (ctx.gpr[18] | 0u); goto L_08B32D3C; L_08B33870: { const std::uint32_t vfpu_address = ctx.gpr[20] + static_cast(0); @@ -8188,7 +8189,7 @@ L_08B33870: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(56))); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[19]); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(12))); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B33898u); aot_gpr_5 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0204_entry, 204u, 314u, 0x08B356F8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B33898u) goto L_08B33898; @@ -8227,7 +8228,7 @@ L_08B338C0: { std::uint32_t aot_run_words[8]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(48), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -8243,21 +8244,21 @@ L_08B338C0: AOT_REGCACHE_SYNC_OUT(); return; L_08B338E8: aot_gpr_29 = (aot_gpr_29 + static_cast(-96)); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(86)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(86)))))); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); - ctx.gpr[6] = (ctx.gpr[6] << 2u); - ctx.gpr[6] = (ctx.gpr[7] + ctx.gpr[6]); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(0))); + aot_gpr_6 = (aot_gpr_6 << 2u); + aot_gpr_6 = (ctx.gpr[7] + aot_gpr_6); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(76), ctx.gpr[22]); - ctx.gpr[22] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(20))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), aot_gpr_17); - ctx.gpr[6] = (aot_mem.aot_direct_load8(ctx.gpr[22] + static_cast(52))); + ctx.gpr[22] = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(20))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), ctx.gpr[17]); + aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[22] + static_cast(52))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(72), ctx.gpr[21]); ctx.gpr[21] = (0u | 0u); - aot_gpr_17 = (aot_gpr_4 | 0u); + ctx.gpr[17] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), std::bit_cast(aot_fpr_20)); aot_fpr_20 = std::bit_cast(std::bit_cast(aot_fpr_12)); - aot_gpr_4 = (static_cast(ctx.gpr[21]) < static_cast(ctx.gpr[6]) ? 1u : 0u); + aot_gpr_4 = (static_cast(ctx.gpr[21]) < static_cast(aot_gpr_6) ? 1u : 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), aot_gpr_16); { const std::uint32_t aot_run_words[3]{ctx.gpr[18], ctx.gpr[19], ctx.gpr[20]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(60), aot_run_words); } @@ -8286,7 +8287,7 @@ L_08B33950: aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_5 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B33980u); - ctx.gpr[6] = (ctx.gpr[18] | 0u); + aot_gpr_6 = (ctx.gpr[18] | 0u); goto L_08B32D3C; L_08B33980: { const std::uint32_t vfpu_address = ctx.gpr[20] + static_cast(0); @@ -8319,7 +8320,7 @@ L_08B33980: aot_gpr_4 = (aot_gpr_4 + ctx.gpr[19]); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(12))); aot_fpr_12 = aot_fpr_20 + aot_fpr_12; - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B339ACu); aot_gpr_5 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0204_entry, 204u, 314u, 0x08B356F8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B339ACu) goto L_08B339AC; @@ -8359,7 +8360,7 @@ L_08B339D4: aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(48), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); aot_gpr_16 = aot_run_words[1]; - aot_gpr_17 = aot_run_words[2]; + ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; ctx.gpr[19] = aot_run_words[4]; ctx.gpr[20] = aot_run_words[5]; @@ -8375,15 +8376,15 @@ L_08B339D4: AOT_REGCACHE_SYNC_OUT(); return; L_08B33A00: aot_gpr_29 = (aot_gpr_29 + static_cast(-112)); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(80), ctx.gpr[21]); ctx.gpr[21] = (aot_gpr_4 | 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(8))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(88), ctx.gpr[23]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), ctx.gpr[6]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), aot_gpr_6); ctx.gpr[23] = (aot_gpr_4 + static_cast(-1)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), ctx.gpr[23]); - { const std::uint32_t aot_run_words[5]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20]}; + { const std::uint32_t aot_run_words[5]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(60), aot_run_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(84), ctx.gpr[22]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(92), ctx.gpr[30]); @@ -8495,10 +8496,10 @@ L_08B33AE4: aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(52))); - aot_gpr_4 = (static_cast(aot_gpr_17) < static_cast(aot_gpr_4) ? 1u : 0u); + aot_gpr_4 = (static_cast(ctx.gpr[17]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_16 = (0u | 0u); if (branch_taken) { @@ -8518,7 +8519,7 @@ L_08B33B10: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08B33B40u); - ctx.gpr[6] = (ctx.gpr[22] | 0u); + aot_gpr_6 = (ctx.gpr[22] | 0u); goto L_08B32D3C; L_08B33B40: { const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); @@ -8573,8 +8574,8 @@ L_08B33B70: } L_08B33B78: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(52))); - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - aot_gpr_4 = (static_cast(aot_gpr_17) < static_cast(aot_gpr_4) ? 1u : 0u); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + aot_gpr_4 = (static_cast(ctx.gpr[17]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_16 = (aot_gpr_16 + static_cast(32)); if (branch_taken) { @@ -8601,7 +8602,7 @@ L_08B33BA8: { std::uint32_t aot_run_words[10]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(60), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -8619,14 +8620,14 @@ L_08B33BA8: AOT_REGCACHE_SYNC_OUT(); return; L_08B33BD8: aot_gpr_29 = (aot_gpr_29 + static_cast(-240)); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(212), ctx.gpr[20]); ctx.gpr[20] = (aot_gpr_4 | 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(8))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(172), ctx.gpr[6]); - ctx.gpr[6] = (aot_gpr_4 + static_cast(-1)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(176), ctx.gpr[6]); - { const std::uint32_t aot_run_words[7]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19]}; + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(8))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(172), aot_gpr_6); + aot_gpr_6 = (aot_gpr_4 + static_cast(-1)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(176), aot_gpr_6); + { const std::uint32_t aot_run_words[7]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(184), aot_run_words); } { const std::uint32_t aot_run_words[5]{ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(216), aot_run_words); } @@ -8638,11 +8639,11 @@ L_08B33BD8: goto L_08B33C30; } L_08B33C30: - aot_gpr_4 = (ctx.gpr[6] << 5u); + aot_gpr_4 = (aot_gpr_6 << 5u); aot_gpr_5 = (0u + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 << 6u); aot_fpr_20 = std::bit_cast(0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(164), ctx.gpr[6]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(164), aot_gpr_6); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(168), aot_gpr_4); aot_gpr_4 = (15523u << 16u); @@ -8664,10 +8665,10 @@ L_08B33C6C: goto L_08B33C78; } L_08B33C78: - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(8))); - ctx.gpr[6] = (static_cast(aot_gpr_4) < static_cast(ctx.gpr[6]) ? 1u : 0u); - if (ctx.gpr[6] != 0u) { - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(8))); + aot_gpr_6 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_6) ? 1u : 0u); + if (aot_gpr_6 != 0u) { + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); goto L_08B33C90; } goto L_08B33C88; @@ -8680,7 +8681,7 @@ L_08B33C88: goto L_08B33C90; } L_08B33C90: - aot_gpr_4 = (ctx.gpr[6] + aot_gpr_4); + aot_gpr_4 = (aot_gpr_6 + aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0))); aot_gpr_4 = (aot_gpr_4 & 128u); if (aot_gpr_4 == 0u) { @@ -8738,8 +8739,8 @@ L_08B33CE0: aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_16 = (0u | 0u); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(52))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(52))); aot_gpr_4 = (static_cast(aot_gpr_16) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; ctx.gpr[18] = (ctx.gpr[19] + static_cast(48)); @@ -8752,7 +8753,7 @@ L_08B33D0C: ctx.gpr[21] = (ctx.gpr[19] + static_cast(320)); goto L_08B33D10; L_08B33D10: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(56))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(56))); aot_gpr_5 = (aot_gpr_16 << 5u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); @@ -8761,7 +8762,7 @@ L_08B33D10: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), std::bit_cast(aot_fpr_12)); - ctx.gpr[6] = (aot_gpr_29 + static_cast(32)); + aot_gpr_6 = (aot_gpr_29 + static_cast(32)); aot_gpr_4 = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x08B33D44u); aot_gpr_5 = (ctx.gpr[19] | 0u); @@ -8907,10 +8908,10 @@ L_08B33D6C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 538u, 0x08A666C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B33E18u) goto L_08B33E18; AOT_REGCACHE_SYNC_OUT(); return; L_08B33E18: - aot_gpr_16 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(52))); + aot_gpr_16 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(52))); goto L_08B33E1C; L_08B33E1C: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(52))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(52))); aot_gpr_16 = (aot_gpr_16 + static_cast(1)); aot_gpr_4 = (static_cast(aot_gpr_16) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; @@ -8923,13 +8924,13 @@ L_08B33E1C: L_08B33E30: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(176))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(164))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(168))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(168))); aot_gpr_4 = (aot_gpr_4 + static_cast(-1)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(164), aot_gpr_4); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(-2080)); + aot_gpr_6 = (aot_gpr_6 + static_cast(-2080)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(176), aot_gpr_4); { const bool branch_taken = aot_gpr_5 != 0u; - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(168), ctx.gpr[6]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(168), aot_gpr_6); if (branch_taken) { goto L_08B33C6C; } @@ -8942,7 +8943,7 @@ L_08B33E54: ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); aot_gpr_16 = aot_run_words[3]; - aot_gpr_17 = aot_run_words[4]; + ctx.gpr[17] = aot_run_words[4]; ctx.gpr[18] = aot_run_words[5]; ctx.gpr[19] = aot_run_words[6]; ctx.gpr[20] = aot_run_words[7]; @@ -8960,15 +8961,15 @@ L_08B33E54: AOT_REGCACHE_SYNC_OUT(); return; L_08B33E90: aot_gpr_29 = (aot_gpr_29 + static_cast(-112)); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15976))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15976))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(80), ctx.gpr[21]); ctx.gpr[21] = (aot_gpr_4 | 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(8))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(88), ctx.gpr[23]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), ctx.gpr[6]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), aot_gpr_6); ctx.gpr[23] = (aot_gpr_4 + static_cast(-1)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), ctx.gpr[23]); - { const std::uint32_t aot_run_words[5]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20]}; + { const std::uint32_t aot_run_words[5]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(60), aot_run_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(84), ctx.gpr[22]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(92), ctx.gpr[30]); @@ -9068,10 +9069,10 @@ L_08B33F5C: aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(52))); - aot_gpr_4 = (static_cast(aot_gpr_17) < static_cast(aot_gpr_4) ? 1u : 0u); + aot_gpr_4 = (static_cast(ctx.gpr[17]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_16 = (0u | 0u); if (branch_taken) { @@ -9091,7 +9092,7 @@ L_08B33F88: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08B33FB8u); - ctx.gpr[6] = (ctx.gpr[22] | 0u); + aot_gpr_6 = (ctx.gpr[22] | 0u); goto L_08B32D3C; L_08B33FB8: { const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); @@ -9146,8 +9147,8 @@ L_08B33FE8: } L_08B33FF0: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(52))); - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); - aot_gpr_4 = (static_cast(aot_gpr_17) < static_cast(aot_gpr_4) ? 1u : 0u); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); + aot_gpr_4 = (static_cast(ctx.gpr[17]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_16 = (aot_gpr_16 + static_cast(32)); if (branch_taken) { diff --git a/profiles/vcs/generated/generated_unit_0204.cpp b/profiles/vcs/generated/generated_unit_0204.cpp index 408db57..0691ad4 100644 --- a/profiles/vcs/generated/generated_unit_0204.cpp +++ b/profiles/vcs/generated/generated_unit_0204.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,7 +139,7 @@ static const std::uint16_t kEntryIds_recomp_unit_0204[4094] = { }; void recomp_unit_0204_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,16,6,29,31 fprs=12,13,14,15 gpr_occ=3604 fpr_occ=1025 gpr_total=4761 fpr_total=1304 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,16,6,29,31 fprs=12,13,14,15 gpr_occ=3623 fpr_occ=1025 gpr_total=4792 fpr_total=1304 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_16 = ctx.gpr[16]; @@ -9463,7 +9464,7 @@ L_08B37B20: ctx.fpr[24] = std::bit_cast(aot_gpr_4); aot_gpr_31 = (0x08B37BDCu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B37BDCu) goto L_08B37BDC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B37BDCu) goto L_08B37BDC; AOT_REGCACHE_SYNC_OUT(); return; L_08B37BDC: aot_fpr_12 = ctx.fpr[24] - ctx.fpr[22]; @@ -9497,7 +9498,7 @@ L_08B37C08: aot_gpr_4 = (49344u << 16u); aot_gpr_31 = (0x08B37C20u); ctx.fpr[24] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B37C20u) goto L_08B37C20; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B37C20u) goto L_08B37C20; AOT_REGCACHE_SYNC_OUT(); return; L_08B37C20: aot_fpr_12 = ctx.fpr[24] - ctx.fpr[22]; @@ -9529,7 +9530,7 @@ L_08B37C4C: aot_gpr_4 = (aot_gpr_4 | 52429u); aot_gpr_31 = (0x08B37C5Cu); ctx.fpr[22] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B37C5Cu) goto L_08B37C5C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B37C5Cu) goto L_08B37C5C; AOT_REGCACHE_SYNC_OUT(); return; L_08B37C5C: aot_fpr_12 = ctx.fpr[20] - ctx.fpr[22]; @@ -9773,7 +9774,7 @@ L_08B37E34: L_08B37E3C: aot_gpr_31 = (0x08B37E44u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B37E44u) goto L_08B37E44; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B37E44u) goto L_08B37E44; AOT_REGCACHE_SYNC_OUT(); return; L_08B37E44: aot_gpr_4 = (ctx.gpr[2] & 65535u); diff --git a/profiles/vcs/generated/generated_unit_0205.cpp b/profiles/vcs/generated/generated_unit_0205.cpp index 429cbc4..c2bd165 100644 --- a/profiles/vcs/generated/generated_unit_0205.cpp +++ b/profiles/vcs/generated/generated_unit_0205.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0205[4096] = { }; void recomp_unit_0205_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,16,5,31,29,2 fprs=12,13,14,20 gpr_occ=3698 fpr_occ=885 gpr_total=4745 fpr_total=1016 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,16,31,29,6 fprs=12,13,14,20 gpr_occ=3762 fpr_occ=885 gpr_total=4852 fpr_total=1016 std::uint32_t aot_gpr_4 = ctx.gpr[4]; - std::uint32_t aot_gpr_16 = ctx.gpr[16]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; + std::uint32_t aot_gpr_16 = ctx.gpr[16]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; - std::uint32_t aot_gpr_2 = ctx.gpr[2]; + std::uint32_t aot_gpr_6 = ctx.gpr[6]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_14 = ctx.fpr[14]; float aot_fpr_20 = ctx.fpr[20]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[16] = aot_gpr_16; ctx.gpr[5] = aot_gpr_5; ctx.gpr[31] = aot_gpr_31; ctx.gpr[29] = aot_gpr_29; ctx.gpr[2] = aot_gpr_2; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[20] = aot_fpr_20; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_2 = ctx.gpr[2]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_20 = ctx.fpr[20]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[16] = aot_gpr_16; ctx.gpr[31] = aot_gpr_31; ctx.gpr[29] = aot_gpr_29; ctx.gpr[6] = aot_gpr_6; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[20] = aot_fpr_20; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_6 = ctx.gpr[6]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_20 = ctx.fpr[20]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -1282,7 +1283,7 @@ L_08B38030: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0203_entry, 203u, 661u, 0x08B331CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B38038u) goto L_08B38038; AOT_REGCACHE_SYNC_OUT(); return; L_08B38038: - { const bool branch_taken = aot_gpr_2 == 0u; + { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_08B38184; @@ -1296,11 +1297,11 @@ L_08B38040: AOT_REGCACHE_SYNC_OUT(); return; L_08B38048: aot_gpr_31 = (0x08B38050u); - ctx.gpr[17] = (aot_gpr_2 | 0u); + ctx.gpr[17] = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B38050u) goto L_08B38050; AOT_REGCACHE_SYNC_OUT(); return; L_08B38050: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(852))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -1311,7 +1312,7 @@ L_08B38050: L_08B3805C: aot_gpr_4 = (ctx.gpr[28] + static_cast(4356)); aot_gpr_5 = (0u + static_cast(-1)); - ctx.gpr[6] = (0u | 4000u); + aot_gpr_6 = (0u | 4000u); aot_gpr_31 = (0x08B38070u); ctx.gpr[7] = (0u + static_cast(-1)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0090_entry, 90u, 399u, 0x0896D898u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B38070u) goto L_08B38070; @@ -1322,7 +1323,7 @@ L_08B38070: aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); aot_gpr_5 = (0u | 66u); aot_gpr_31 = (0x08B38088u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 553u, 0x08A062F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B38088u) goto L_08B38088; AOT_REGCACHE_SYNC_OUT(); return; L_08B38088: @@ -1347,7 +1348,7 @@ L_08B38098: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B380A0u) goto L_08B380A0; AOT_REGCACHE_SYNC_OUT(); return; L_08B380A0: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(1653)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(1653)))))); aot_gpr_4 = (aot_gpr_4 & 7u); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -1368,11 +1369,11 @@ L_08B380B0: L_08B380BC: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7800))); aot_gpr_5 = (aot_gpr_4 + aot_gpr_4); - ctx.gpr[6] = (aot_gpr_4 << 8u); + aot_gpr_6 = (aot_gpr_4 << 8u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_gpr_4 << 5u); aot_gpr_5 = (2238u << 16u); - aot_gpr_4 = (ctx.gpr[6] + aot_gpr_4); + aot_gpr_4 = (aot_gpr_6 + aot_gpr_4); aot_gpr_5 = (aot_gpr_5 + static_cast(-6992)); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(172))); @@ -1392,14 +1393,14 @@ L_08B380F0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B38100u) goto L_08B38100; AOT_REGCACHE_SYNC_OUT(); return; L_08B38100: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(154))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(154))); aot_gpr_4 = (aot_gpr_4 | 4u); aot_gpr_31 = (0x08B38110u); - aot_mem.aot_direct_store16(aot_gpr_2 + static_cast(154), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store16(ctx.gpr[2] + static_cast(154), static_cast(aot_gpr_4)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B38110u) goto L_08B38110; AOT_REGCACHE_SYNC_OUT(); return; L_08B38110: - aot_gpr_4 = (aot_gpr_2 + static_cast(2318)); + aot_gpr_4 = (ctx.gpr[2] + static_cast(2318)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0)))))); aot_gpr_5 = (aot_gpr_5 | 1u); { const bool branch_taken = 0u == 0u; @@ -1412,7 +1413,7 @@ L_08B38110: L_08B38124: aot_gpr_4 = (ctx.gpr[28] + static_cast(4364)); aot_gpr_5 = (0u + static_cast(-1)); - ctx.gpr[6] = (0u | 4000u); + aot_gpr_6 = (0u | 4000u); aot_gpr_31 = (0x08B38138u); ctx.gpr[7] = (0u + static_cast(-1)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0090_entry, 90u, 399u, 0x0896D898u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B38138u) goto L_08B38138; @@ -1423,7 +1424,7 @@ L_08B38138: aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); aot_gpr_5 = (0u | 63u); aot_gpr_31 = (0x08B38150u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 553u, 0x08A062F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B38150u) goto L_08B38150; AOT_REGCACHE_SYNC_OUT(); return; L_08B38150: @@ -1437,7 +1438,7 @@ L_08B38150: L_08B38158: aot_gpr_4 = (ctx.gpr[28] + static_cast(4372)); aot_gpr_5 = (0u + static_cast(-1)); - ctx.gpr[6] = (0u | 4000u); + aot_gpr_6 = (0u | 4000u); aot_gpr_31 = (0x08B3816Cu); ctx.gpr[7] = (0u + static_cast(-1)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0090_entry, 90u, 399u, 0x0896D898u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3816Cu) goto L_08B3816C; @@ -1448,7 +1449,7 @@ L_08B3816C: aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); aot_gpr_5 = (0u | 66u); aot_gpr_31 = (0x08B38184u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 553u, 0x08A062F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B38184u) goto L_08B38184; AOT_REGCACHE_SYNC_OUT(); return; L_08B38184: @@ -1465,7 +1466,7 @@ L_08B3818C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B38194u) goto L_08B38194; AOT_REGCACHE_SYNC_OUT(); return; L_08B38194: - { const bool branch_taken = aot_gpr_2 == 0u; + { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_08B381B0; @@ -1480,7 +1481,7 @@ L_08B3819C: L_08B381A4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B381B0u); - aot_gpr_5 = (aot_gpr_2 | 0u); + aot_gpr_5 = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0203_entry, 203u, 783u, 0x08B33BD8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B381B0u) goto L_08B381B0; AOT_REGCACHE_SYNC_OUT(); return; L_08B381B0: @@ -1541,7 +1542,7 @@ L_08B3820C: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-17344))); aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); aot_gpr_31 = (0x08B38238u); - ctx.gpr[6] = (0u | 74u); + aot_gpr_6 = (0u | 74u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 503u, 0x08A05F80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B38238u) goto L_08B38238; AOT_REGCACHE_SYNC_OUT(); return; L_08B38238: @@ -1550,7 +1551,7 @@ L_08B38238: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B38240u) goto L_08B38240; AOT_REGCACHE_SYNC_OUT(); return; L_08B38240: - { const bool branch_taken = aot_gpr_2 == 0u; + { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_08B38254; @@ -1563,7 +1564,7 @@ L_08B38248: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B38250u) goto L_08B38250; AOT_REGCACHE_SYNC_OUT(); return; L_08B38250: - aot_mem.aot_direct_store8(aot_gpr_2 + static_cast(627), static_cast(ctx.gpr[17])); + aot_mem.aot_direct_store8(ctx.gpr[2] + static_cast(627), static_cast(ctx.gpr[17])); goto L_08B38254; L_08B38254: aot_gpr_31 = (0x08B3825Cu); @@ -1581,7 +1582,7 @@ L_08B3825C: goto L_08B3826C; } L_08B3826C: - ctx.gpr[6] = (ctx.gpr[28] + static_cast(4380)); + aot_gpr_6 = (ctx.gpr[28] + static_cast(4380)); aot_gpr_4 = (0u | 363u); aot_gpr_31 = (0x08B3827Cu); aot_gpr_5 = (0u | 1u); @@ -1622,7 +1623,7 @@ L_08B382A8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 607u, 0x08AD3698u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B382B0u) goto L_08B382B0; AOT_REGCACHE_SYNC_OUT(); return; L_08B382B0: - { const bool branch_taken = aot_gpr_2 != 0u; + { const bool branch_taken = ctx.gpr[2] != 0u; // nop if (branch_taken) { goto L_08B382D0; @@ -1630,7 +1631,7 @@ L_08B382B0: goto L_08B382B8; } L_08B382B8: - ctx.gpr[6] = (ctx.gpr[28] + static_cast(4380)); + aot_gpr_6 = (ctx.gpr[28] + static_cast(4380)); aot_gpr_4 = (0u | 363u); aot_gpr_31 = (0x08B382C8u); aot_gpr_5 = (0u | 1u); @@ -1667,7 +1668,7 @@ L_08B382EC: aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); aot_gpr_5 = (0u | 67u); aot_gpr_31 = (0x08B382FCu); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 553u, 0x08A062F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B382FCu) goto L_08B382FC; AOT_REGCACHE_SYNC_OUT(); return; L_08B382FC: @@ -1706,7 +1707,7 @@ L_08B3831C: aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); aot_gpr_5 = (0u | 68u); aot_gpr_31 = (0x08B3832Cu); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 553u, 0x08A062F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3832Cu) goto L_08B3832C; AOT_REGCACHE_SYNC_OUT(); return; L_08B3832C: @@ -1721,7 +1722,7 @@ L_08B38334: aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); aot_gpr_5 = (0u | 69u); aot_gpr_31 = (0x08B38344u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 553u, 0x08A062F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B38344u) goto L_08B38344; AOT_REGCACHE_SYNC_OUT(); return; L_08B38344: @@ -1737,33 +1738,33 @@ L_08B38344: } L_08B38358: aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7800))); - ctx.gpr[6] = (aot_gpr_5 + aot_gpr_5); + aot_gpr_6 = (aot_gpr_5 + aot_gpr_5); ctx.gpr[7] = (aot_gpr_5 << 8u); - aot_gpr_5 = (aot_gpr_5 + ctx.gpr[6]); + aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); aot_gpr_5 = (aot_gpr_5 << 5u); - ctx.gpr[6] = (2238u << 16u); + aot_gpr_6 = (2238u << 16u); aot_gpr_5 = (ctx.gpr[7] + aot_gpr_5); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(-6992)); - aot_gpr_5 = (aot_gpr_5 + ctx.gpr[6]); + aot_gpr_6 = (aot_gpr_6 + static_cast(-6992)); + aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(172))); aot_gpr_4 = (0u | 0u); aot_gpr_5 = (aot_gpr_5 + static_cast(-500)); - ctx.gpr[6] = (static_cast(aot_gpr_5) < static_cast(aot_gpr_4) ? 1u : 0u); - if (ctx.gpr[6] != 0u) { + aot_gpr_6 = (static_cast(aot_gpr_5) < static_cast(aot_gpr_4) ? 1u : 0u); + if (aot_gpr_6 != 0u) { aot_gpr_5 = (aot_gpr_4 | 0u); goto L_08B38394; } goto L_08B38394; L_08B38394: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7800))); - ctx.gpr[6] = (aot_gpr_4 + aot_gpr_4); + aot_gpr_6 = (aot_gpr_4 + aot_gpr_4); ctx.gpr[7] = (aot_gpr_4 << 8u); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); aot_gpr_4 = (aot_gpr_4 << 5u); - ctx.gpr[6] = (2238u << 16u); + aot_gpr_6 = (2238u << 16u); aot_gpr_4 = (ctx.gpr[7] + aot_gpr_4); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(-6992)); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_6 = (aot_gpr_6 + static_cast(-6992)); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(172), aot_gpr_5); goto L_08B383BC; L_08B383BC: @@ -1772,7 +1773,7 @@ L_08B383BC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B383C4u) goto L_08B383C4; AOT_REGCACHE_SYNC_OUT(); return; L_08B383C4: - { const bool branch_taken = aot_gpr_2 == 0u; + { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_08B384F8; @@ -1785,7 +1786,7 @@ L_08B383CC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B383D4u) goto L_08B383D4; AOT_REGCACHE_SYNC_OUT(); return; L_08B383D4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(852))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -1799,7 +1800,7 @@ L_08B383E0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B383E8u) goto L_08B383E8; AOT_REGCACHE_SYNC_OUT(); return; L_08B383E8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(852))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -1813,27 +1814,27 @@ L_08B383F4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B383FCu) goto L_08B383FC; AOT_REGCACHE_SYNC_OUT(); return; L_08B383FC: - aot_gpr_4 = (aot_gpr_2 + static_cast(1653)); + aot_gpr_4 = (ctx.gpr[2] + static_cast(1653)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0)))))); - ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(61))); + aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(61))); ctx.gpr[7] = (0u + static_cast(-8)); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(-1)); - ctx.gpr[6] = (ctx.gpr[6] & 255u); + aot_gpr_6 = (aot_gpr_6 + static_cast(-1)); + aot_gpr_6 = (aot_gpr_6 & 255u); aot_gpr_5 = (aot_gpr_5 & ctx.gpr[7]); - ctx.gpr[6] = (ctx.gpr[6] & 7u); - aot_gpr_5 = (aot_gpr_5 | ctx.gpr[6]); + aot_gpr_6 = (aot_gpr_6 & 7u); + aot_gpr_5 = (aot_gpr_5 | aot_gpr_6); aot_gpr_31 = (0x08B38428u); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_5)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B38428u) goto L_08B38428; AOT_REGCACHE_SYNC_OUT(); return; L_08B38428: aot_gpr_31 = (0x08B38430u); - ctx.gpr[17] = (aot_gpr_2 | 0u); + ctx.gpr[17] = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B38430u) goto L_08B38430; AOT_REGCACHE_SYNC_OUT(); return; L_08B38430: { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_2 + static_cast(1656), ctx.gpr[17]); + aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(1656), ctx.gpr[17]); if (branch_taken) { goto L_08B38438; } @@ -1841,9 +1842,9 @@ L_08B38430: } L_08B38438: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-15972))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); - { const bool branch_taken = ctx.gpr[6] == 0u; - aot_gpr_5 = (ctx.gpr[6] + static_cast(-1)); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); + { const bool branch_taken = aot_gpr_6 == 0u; + aot_gpr_5 = (aot_gpr_6 + static_cast(-1)); if (branch_taken) { goto L_08B384D4; } @@ -1858,27 +1859,27 @@ L_08B38448: goto L_08B38450; } L_08B38450: - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); - ctx.gpr[6] = (static_cast(aot_gpr_5) < static_cast(ctx.gpr[6]) ? 1u : 0u); - if (ctx.gpr[6] != 0u) { - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); + aot_gpr_6 = (static_cast(aot_gpr_5) < static_cast(aot_gpr_6) ? 1u : 0u); + if (aot_gpr_6 != 0u) { + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); goto L_08B38468; } goto L_08B38460; L_08B38460: { const bool branch_taken = 0u == 0u; - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (branch_taken) { goto L_08B38498; } goto L_08B38468; } L_08B38468: - ctx.gpr[6] = (ctx.gpr[6] + aot_gpr_5); - ctx.gpr[6] = (aot_mem.aot_direct_load8(ctx.gpr[6] + static_cast(0))); - ctx.gpr[6] = (ctx.gpr[6] & 128u); - { const bool branch_taken = ctx.gpr[6] == 0u; - ctx.gpr[6] = (aot_gpr_5 << 5u); + aot_gpr_6 = (aot_gpr_6 + aot_gpr_5); + aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_6 + static_cast(0))); + aot_gpr_6 = (aot_gpr_6 & 128u); + { const bool branch_taken = aot_gpr_6 == 0u; + aot_gpr_6 = (aot_gpr_5 << 5u); if (branch_taken) { goto L_08B38484; } @@ -1886,21 +1887,21 @@ L_08B38468: } L_08B3847C: { const bool branch_taken = 0u == 0u; - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (branch_taken) { goto L_08B38498; } goto L_08B38484; } L_08B38484: - ctx.gpr[8] = (0u + ctx.gpr[6]); + ctx.gpr[8] = (0u + aot_gpr_6); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - ctx.gpr[6] = (ctx.gpr[6] << 6u); - ctx.gpr[6] = (ctx.gpr[8] + ctx.gpr[6]); - ctx.gpr[6] = (ctx.gpr[7] + ctx.gpr[6]); + aot_gpr_6 = (aot_gpr_6 << 6u); + aot_gpr_6 = (ctx.gpr[8] + aot_gpr_6); + aot_gpr_6 = (ctx.gpr[7] + aot_gpr_6); goto L_08B38498; L_08B38498: - { const bool branch_taken = ctx.gpr[6] == 0u; + { const bool branch_taken = aot_gpr_6 == 0u; // nop if (branch_taken) { goto L_08B384C8; @@ -1908,7 +1909,7 @@ L_08B38498: goto L_08B384A0; } L_08B384A0: - ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(852))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(852))); { const bool branch_taken = ctx.gpr[7] != 0u; // nop if (branch_taken) { @@ -1917,7 +1918,7 @@ L_08B384A0: goto L_08B384AC; } L_08B384AC: - ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(72))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(72))); ctx.gpr[8] = (0u | 80u); ctx.gpr[7] = (ctx.gpr[7] & 496u); { const bool branch_taken = ctx.gpr[7] != ctx.gpr[8]; @@ -1928,12 +1929,12 @@ L_08B384AC: goto L_08B384C0; } L_08B384C0: - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(668), 0u); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(1656), 0u); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(668), 0u); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(1656), 0u); goto L_08B384C8; L_08B384C8: - ctx.gpr[6] = (aot_gpr_5 | 0u); - { const bool branch_taken = ctx.gpr[6] != 0u; + aot_gpr_6 = (aot_gpr_5 | 0u); + { const bool branch_taken = aot_gpr_6 != 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(-1)); if (branch_taken) { goto L_08B38448; @@ -2017,7 +2018,7 @@ L_08B38534: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3853Cu) goto L_08B3853C; AOT_REGCACHE_SYNC_OUT(); return; L_08B3853C: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(150))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(150))); aot_gpr_5 = (static_cast(aot_gpr_4) < 2 ? 1u : 0u); if (aot_gpr_5 == 0u) { aot_gpr_4 = (static_cast(aot_gpr_4) < 4 ? 1u : 0u); @@ -2086,7 +2087,7 @@ L_08B3858C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B38598u) goto L_08B38598; AOT_REGCACHE_SYNC_OUT(); return; L_08B38598: - ctx.gpr[17] = (aot_gpr_2 | 0u); + ctx.gpr[17] = (ctx.gpr[2] | 0u); { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { @@ -2097,7 +2098,7 @@ L_08B38598: L_08B385A4: aot_gpr_31 = (0x08B385ACu); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B385ACu) goto L_08B385AC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B385ACu) goto L_08B385AC; AOT_REGCACHE_SYNC_OUT(); return; L_08B385AC: aot_gpr_16 = (ctx.gpr[17] | 0u); @@ -2113,8 +2114,8 @@ L_08B385B4: AOT_REGCACHE_SYNC_OUT(); return; L_08B385C0: aot_gpr_4 = (ctx.gpr[18] | 0u); - aot_gpr_5 = (aot_gpr_2 | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (0u | 0u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x08B385D8u); ctx.gpr[8] = (0u | 1u); @@ -2158,7 +2159,7 @@ L_08B38600: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3860Cu) goto L_08B3860C; AOT_REGCACHE_SYNC_OUT(); return; L_08B3860C: - ctx.gpr[17] = (aot_gpr_2 | 0u); + ctx.gpr[17] = (ctx.gpr[2] | 0u); { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { @@ -2169,7 +2170,7 @@ L_08B3860C: L_08B38618: aot_gpr_31 = (0x08B38620u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B38620u) goto L_08B38620; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B38620u) goto L_08B38620; AOT_REGCACHE_SYNC_OUT(); return; L_08B38620: aot_gpr_16 = (ctx.gpr[17] | 0u); @@ -2185,8 +2186,8 @@ L_08B38628: AOT_REGCACHE_SYNC_OUT(); return; L_08B38634: aot_gpr_4 = (ctx.gpr[18] | 0u); - aot_gpr_5 = (aot_gpr_2 | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (0u | 0u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x08B3864Cu); ctx.gpr[8] = (0u | 1u); @@ -2206,7 +2207,7 @@ L_08B38654: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3865Cu) goto L_08B3865C; AOT_REGCACHE_SYNC_OUT(); return; L_08B3865C: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(150))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(150))); aot_gpr_5 = (static_cast(aot_gpr_4) < 2 ? 1u : 0u); if (aot_gpr_5 == 0u) { aot_gpr_4 = (static_cast(aot_gpr_4) < 4 ? 1u : 0u); @@ -2275,7 +2276,7 @@ L_08B386AC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B386B8u) goto L_08B386B8; AOT_REGCACHE_SYNC_OUT(); return; L_08B386B8: - ctx.gpr[17] = (aot_gpr_2 | 0u); + ctx.gpr[17] = (ctx.gpr[2] | 0u); { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { @@ -2286,7 +2287,7 @@ L_08B386B8: L_08B386C4: aot_gpr_31 = (0x08B386CCu); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B386CCu) goto L_08B386CC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B386CCu) goto L_08B386CC; AOT_REGCACHE_SYNC_OUT(); return; L_08B386CC: aot_gpr_16 = (ctx.gpr[17] | 0u); @@ -2302,8 +2303,8 @@ L_08B386D4: AOT_REGCACHE_SYNC_OUT(); return; L_08B386E0: aot_gpr_4 = (ctx.gpr[18] | 0u); - aot_gpr_5 = (aot_gpr_2 | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (0u | 0u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x08B386F8u); ctx.gpr[8] = (0u | 1u); @@ -2347,7 +2348,7 @@ L_08B38720: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3872Cu) goto L_08B3872C; AOT_REGCACHE_SYNC_OUT(); return; L_08B3872C: - ctx.gpr[17] = (aot_gpr_2 | 0u); + ctx.gpr[17] = (ctx.gpr[2] | 0u); { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { @@ -2358,7 +2359,7 @@ L_08B3872C: L_08B38738: aot_gpr_31 = (0x08B38740u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B38740u) goto L_08B38740; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B38740u) goto L_08B38740; AOT_REGCACHE_SYNC_OUT(); return; L_08B38740: aot_gpr_16 = (ctx.gpr[17] | 0u); @@ -2374,8 +2375,8 @@ L_08B38748: AOT_REGCACHE_SYNC_OUT(); return; L_08B38754: aot_gpr_4 = (ctx.gpr[18] | 0u); - aot_gpr_5 = (aot_gpr_2 | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (0u | 0u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x08B3876Cu); ctx.gpr[8] = (0u | 1u); @@ -2419,7 +2420,7 @@ L_08B38794: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B387A0u) goto L_08B387A0; AOT_REGCACHE_SYNC_OUT(); return; L_08B387A0: - ctx.gpr[18] = (aot_gpr_2 | 0u); + ctx.gpr[18] = (ctx.gpr[2] | 0u); { const bool branch_taken = ctx.gpr[18] == 0u; // nop if (branch_taken) { @@ -2430,7 +2431,7 @@ L_08B387A0: L_08B387AC: aot_gpr_31 = (0x08B387B4u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B387B4u) goto L_08B387B4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B387B4u) goto L_08B387B4; AOT_REGCACHE_SYNC_OUT(); return; L_08B387B4: ctx.gpr[17] = (ctx.gpr[18] | 0u); @@ -2446,8 +2447,8 @@ L_08B387BC: AOT_REGCACHE_SYNC_OUT(); return; L_08B387C8: aot_gpr_4 = (aot_gpr_16 | 0u); - aot_gpr_5 = (aot_gpr_2 | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (0u | 0u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x08B387E0u); ctx.gpr[8] = (0u | 1u); @@ -2465,7 +2466,7 @@ L_08B387E0: L_08B387EC: aot_gpr_4 = (ctx.gpr[28] + static_cast(4432)); aot_gpr_5 = (0u + static_cast(-1)); - ctx.gpr[6] = (0u | 4000u); + aot_gpr_6 = (0u | 4000u); aot_gpr_31 = (0x08B38800u); ctx.gpr[7] = (0u + static_cast(-1)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0090_entry, 90u, 399u, 0x0896D898u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B38800u) goto L_08B38800; @@ -2481,7 +2482,7 @@ L_08B38800: L_08B38808: aot_gpr_4 = (ctx.gpr[28] + static_cast(4440)); aot_gpr_5 = (0u + static_cast(-1)); - ctx.gpr[6] = (0u | 4000u); + aot_gpr_6 = (0u | 4000u); aot_gpr_31 = (0x08B3881Cu); ctx.gpr[7] = (0u + static_cast(-1)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0090_entry, 90u, 399u, 0x0896D898u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3881Cu) goto L_08B3881C; @@ -2492,18 +2493,18 @@ L_08B3881C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B38824u) goto L_08B38824; AOT_REGCACHE_SYNC_OUT(); return; L_08B38824: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(154))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(154))); aot_gpr_5 = (0u + static_cast(-5)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_31 = (0x08B38838u); - aot_mem.aot_direct_store16(aot_gpr_2 + static_cast(154), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store16(ctx.gpr[2] + static_cast(154), static_cast(aot_gpr_4)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B38838u) goto L_08B38838; AOT_REGCACHE_SYNC_OUT(); return; L_08B38838: - aot_gpr_4 = (aot_gpr_2 + static_cast(2318)); + aot_gpr_4 = (ctx.gpr[2] + static_cast(2318)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0)))))); - ctx.gpr[6] = (0u + static_cast(-2)); - aot_gpr_5 = (aot_gpr_5 & ctx.gpr[6]); + aot_gpr_6 = (0u + static_cast(-2)); + aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_5)); goto L_08B3884C; L_08B3884C: @@ -2570,7 +2571,7 @@ L_08B388B0: aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_12)); aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); aot_gpr_31 = (0x08B388D4u); - ctx.gpr[6] = (0u | 75u); + aot_gpr_6 = (0u | 75u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 503u, 0x08A05F80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B388D4u) goto L_08B388D4; AOT_REGCACHE_SYNC_OUT(); return; L_08B388D4: @@ -2592,7 +2593,7 @@ L_08B388E4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B388ECu) goto L_08B388EC; AOT_REGCACHE_SYNC_OUT(); return; L_08B388EC: - { const bool branch_taken = aot_gpr_2 == 0u; + { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_08B38900; @@ -2605,7 +2606,7 @@ L_08B388F4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B388FCu) goto L_08B388FC; AOT_REGCACHE_SYNC_OUT(); return; L_08B388FC: - aot_mem.aot_direct_store8(aot_gpr_2 + static_cast(627), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[2] + static_cast(627), static_cast(0u)); goto L_08B38900; L_08B38900: aot_gpr_31 = (0x08B38908u); @@ -2613,7 +2614,7 @@ L_08B38900: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0203_entry, 203u, 727u, 0x08B336A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B38908u) goto L_08B38908; AOT_REGCACHE_SYNC_OUT(); return; L_08B38908: - { const bool branch_taken = aot_gpr_2 == 0u; + { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_08B38918; @@ -2800,7 +2801,7 @@ L_08B38A64: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0203_entry, 203u, 761u, 0x08B33A00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B38A70u) goto L_08B38A70; AOT_REGCACHE_SYNC_OUT(); return; L_08B38A70: - { const bool branch_taken = aot_gpr_2 != 0u; + { const bool branch_taken = ctx.gpr[2] != 0u; // nop if (branch_taken) { goto L_08B38B08; @@ -2835,7 +2836,7 @@ L_08B38A98: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0203_entry, 203u, 615u, 0x08B32E84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B38AA8u) goto L_08B38AA8; AOT_REGCACHE_SYNC_OUT(); return; L_08B38AA8: - { const bool branch_taken = aot_gpr_2 == 0u; + { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_08B38B08; @@ -2848,15 +2849,15 @@ L_08B38AB0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B38AB8u) goto L_08B38AB8; AOT_REGCACHE_SYNC_OUT(); return; L_08B38AB8: - ctx.gpr[6] = (16384u << 16u); + aot_gpr_6 = (16384u << 16u); aot_gpr_4 = (aot_gpr_16 | 0u); - aot_fpr_12 = std::bit_cast(ctx.gpr[6]); + aot_fpr_12 = std::bit_cast(aot_gpr_6); aot_gpr_31 = (0x08B38ACCu); - aot_gpr_5 = (aot_gpr_2 | 0u); + aot_gpr_5 = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0203_entry, 203u, 703u, 0x08B33424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B38ACCu) goto L_08B38ACC; AOT_REGCACHE_SYNC_OUT(); return; L_08B38ACC: - { const bool branch_taken = aot_gpr_2 == 0u; + { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_08B38B08; @@ -2869,19 +2870,19 @@ L_08B38AD4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B38ADCu) goto L_08B38ADC; AOT_REGCACHE_SYNC_OUT(); return; L_08B38ADC: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(154))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(154))); aot_gpr_4 = (aot_gpr_4 | 4u); aot_gpr_31 = (0x08B38AECu); - aot_mem.aot_direct_store16(aot_gpr_2 + static_cast(154), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store16(ctx.gpr[2] + static_cast(154), static_cast(aot_gpr_4)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B38AECu) goto L_08B38AEC; AOT_REGCACHE_SYNC_OUT(); return; L_08B38AEC: - aot_gpr_4 = (aot_gpr_2 + static_cast(2318)); + aot_gpr_4 = (ctx.gpr[2] + static_cast(2318)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0)))))); - ctx.gpr[6] = (0u | 2u); + aot_gpr_6 = (0u | 2u); aot_gpr_5 = (aot_gpr_5 | 1u); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_5)); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(62), static_cast(ctx.gpr[6])); + aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(62), static_cast(aot_gpr_6)); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(63), static_cast(0u)); goto L_08B38B08; L_08B38B08: @@ -2949,15 +2950,15 @@ L_08B38B70: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B38B78u) goto L_08B38B78; AOT_REGCACHE_SYNC_OUT(); return; L_08B38B78: - ctx.gpr[6] = (16256u << 16u); + aot_gpr_6 = (16256u << 16u); aot_gpr_4 = (aot_gpr_16 | 0u); - aot_fpr_12 = std::bit_cast(ctx.gpr[6]); + aot_fpr_12 = std::bit_cast(aot_gpr_6); aot_gpr_31 = (0x08B38B8Cu); - aot_gpr_5 = (aot_gpr_2 | 0u); + aot_gpr_5 = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0203_entry, 203u, 703u, 0x08B33424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B38B8Cu) goto L_08B38B8C; AOT_REGCACHE_SYNC_OUT(); return; L_08B38B8C: - { const bool branch_taken = aot_gpr_2 != 0u; + { const bool branch_taken = ctx.gpr[2] != 0u; // nop if (branch_taken) { goto L_08B38BA0; @@ -2992,7 +2993,7 @@ L_08B38BB8: aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08B38BD4u); - ctx.gpr[6] = (0u | 74u); + aot_gpr_6 = (0u | 74u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 503u, 0x08A05F80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B38BD4u) goto L_08B38BD4; AOT_REGCACHE_SYNC_OUT(); return; L_08B38BD4: @@ -3038,18 +3039,18 @@ L_08B38C0C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B38C14u) goto L_08B38C14; AOT_REGCACHE_SYNC_OUT(); return; L_08B38C14: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(154))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(154))); aot_gpr_5 = (0u + static_cast(-5)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_31 = (0x08B38C28u); - aot_mem.aot_direct_store16(aot_gpr_2 + static_cast(154), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store16(ctx.gpr[2] + static_cast(154), static_cast(aot_gpr_4)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B38C28u) goto L_08B38C28; AOT_REGCACHE_SYNC_OUT(); return; L_08B38C28: - aot_gpr_4 = (aot_gpr_2 + static_cast(2318)); + aot_gpr_4 = (ctx.gpr[2] + static_cast(2318)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0)))))); - ctx.gpr[6] = (0u + static_cast(-2)); - aot_gpr_5 = (aot_gpr_5 & ctx.gpr[6]); + aot_gpr_6 = (0u + static_cast(-2)); + aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_5)); if (branch_taken) { @@ -3080,7 +3081,7 @@ L_08B38C54: AOT_REGCACHE_SYNC_OUT(); return; L_08B38C5C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(164))); - { const bool branch_taken = aot_gpr_2 != aot_gpr_4; + { const bool branch_taken = ctx.gpr[2] != aot_gpr_4; // nop if (branch_taken) { goto L_08B38CBC; @@ -3102,13 +3103,13 @@ L_08B38C74: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B38C7Cu) goto L_08B38C7C; AOT_REGCACHE_SYNC_OUT(); return; L_08B38C7C: - aot_gpr_4 = (aot_gpr_2 + static_cast(48)); + aot_gpr_4 = (ctx.gpr[2] + static_cast(48)); aot_gpr_31 = (0x08B38C88u); aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B38C88u) goto L_08B38C88; AOT_REGCACHE_SYNC_OUT(); return; L_08B38C88: - aot_gpr_4 = (aot_gpr_2 + static_cast(48)); + aot_gpr_4 = (ctx.gpr[2] + static_cast(48)); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_31 = (0x08B38C9Cu); @@ -3176,7 +3177,7 @@ L_08B38D04: aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_12)); aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); aot_gpr_31 = (0x08B38D28u); - ctx.gpr[6] = (0u | 75u); + aot_gpr_6 = (0u | 75u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 503u, 0x08A05F80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B38D28u) goto L_08B38D28; AOT_REGCACHE_SYNC_OUT(); return; L_08B38D28: @@ -3269,7 +3270,7 @@ L_08B38DA8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B38DB0u) goto L_08B38DB0; AOT_REGCACHE_SYNC_OUT(); return; L_08B38DB0: - { const bool branch_taken = aot_gpr_2 != 0u; + { const bool branch_taken = ctx.gpr[2] != 0u; // nop if (branch_taken) { goto L_08B392B8; @@ -3290,7 +3291,7 @@ L_08B38DC0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B38DC8u) goto L_08B38DC8; AOT_REGCACHE_SYNC_OUT(); return; L_08B38DC8: - { const bool branch_taken = aot_gpr_2 == 0u; + { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_08B38E08; @@ -3303,13 +3304,13 @@ L_08B38DD0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B38DD8u) goto L_08B38DD8; AOT_REGCACHE_SYNC_OUT(); return; L_08B38DD8: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(86)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(86)))))); aot_gpr_31 = (0x08B38DE4u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0204_entry, 204u, 126u, 0x08B3490Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B38DE4u) goto L_08B38DE4; AOT_REGCACHE_SYNC_OUT(); return; L_08B38DE4: - { const bool branch_taken = aot_gpr_2 == 0u; + { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_08B38E08; @@ -3322,8 +3323,8 @@ L_08B38DEC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B38DF4u) goto L_08B38DF4; AOT_REGCACHE_SYNC_OUT(); return; L_08B38DF4: - { const bool branch_taken = aot_gpr_2 == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(164), aot_gpr_2); + { const bool branch_taken = ctx.gpr[2] == 0u; + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(164), ctx.gpr[2]); if (branch_taken) { goto L_08B38E08; } @@ -3333,7 +3334,7 @@ L_08B38DFC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(164))); aot_gpr_31 = (0x08B38E08u); aot_gpr_5 = (aot_gpr_16 + static_cast(164)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B38E08u) goto L_08B38E08; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B38E08u) goto L_08B38E08; AOT_REGCACHE_SYNC_OUT(); return; L_08B38E08: aot_gpr_31 = (0x08B38E10u); @@ -3445,7 +3446,7 @@ L_08B38EEC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B38EF4u) goto L_08B38EF4; AOT_REGCACHE_SYNC_OUT(); return; L_08B38EF4: - { const bool branch_taken = aot_gpr_2 != 0u; + { const bool branch_taken = ctx.gpr[2] != 0u; // nop if (branch_taken) { goto L_08B390C4; @@ -3460,7 +3461,7 @@ L_08B38EFC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0203_entry, 203u, 615u, 0x08B32E84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B38F0Cu) goto L_08B38F0C; AOT_REGCACHE_SYNC_OUT(); return; L_08B38F0C: - { const bool branch_taken = aot_gpr_2 == 0u; + { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_08B390C4; @@ -3473,15 +3474,15 @@ L_08B38F14: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B38F1Cu) goto L_08B38F1C; AOT_REGCACHE_SYNC_OUT(); return; L_08B38F1C: - ctx.gpr[6] = (16384u << 16u); + aot_gpr_6 = (16384u << 16u); aot_gpr_4 = (aot_gpr_16 | 0u); - aot_fpr_12 = std::bit_cast(ctx.gpr[6]); + aot_fpr_12 = std::bit_cast(aot_gpr_6); aot_gpr_31 = (0x08B38F30u); - aot_gpr_5 = (aot_gpr_2 | 0u); + aot_gpr_5 = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0203_entry, 203u, 703u, 0x08B33424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B38F30u) goto L_08B38F30; AOT_REGCACHE_SYNC_OUT(); return; L_08B38F30: - { const bool branch_taken = aot_gpr_2 == 0u; + { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_08B390C4; @@ -3596,7 +3597,7 @@ L_08B38FE4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 387u, 0x08B0D970u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B38FF0u) goto L_08B38FF0; AOT_REGCACHE_SYNC_OUT(); return; L_08B38FF0: - aot_gpr_4 = (aot_gpr_2 < static_cast(226) ? 1u : 0u); + aot_gpr_4 = (ctx.gpr[2] < static_cast(226) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -3644,7 +3645,7 @@ L_08B39030: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 387u, 0x08B0D970u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3903Cu) goto L_08B3903C; AOT_REGCACHE_SYNC_OUT(); return; L_08B3903C: - aot_gpr_4 = (aot_gpr_2 < static_cast(226) ? 1u : 0u); + aot_gpr_4 = (ctx.gpr[2] < static_cast(226) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -3694,20 +3695,20 @@ L_08B39088: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B39090u) goto L_08B39090; AOT_REGCACHE_SYNC_OUT(); return; L_08B39090: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(154))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(154))); aot_gpr_4 = (aot_gpr_4 | 4u); aot_gpr_31 = (0x08B390A0u); - aot_mem.aot_direct_store16(aot_gpr_2 + static_cast(154), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store16(ctx.gpr[2] + static_cast(154), static_cast(aot_gpr_4)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B390A0u) goto L_08B390A0; AOT_REGCACHE_SYNC_OUT(); return; L_08B390A0: - aot_gpr_4 = (aot_gpr_2 + static_cast(2318)); + aot_gpr_4 = (ctx.gpr[2] + static_cast(2318)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0)))))); - ctx.gpr[6] = (0u | 2u); + aot_gpr_6 = (0u | 2u); aot_gpr_5 = (aot_gpr_5 | 1u); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_5)); aot_gpr_4 = (2236u << 16u); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(62), static_cast(ctx.gpr[6])); + aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(62), static_cast(aot_gpr_6)); aot_gpr_31 = (0x08B390C4u); aot_gpr_4 = (aot_gpr_4 + static_cast(32304)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0134_entry, 134u, 141u, 0x08A1CE7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B390C4u) goto L_08B390C4; @@ -3790,7 +3791,7 @@ L_08B39140: aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_12)); aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); aot_gpr_31 = (0x08B39160u); - ctx.gpr[6] = (0u | 74u); + aot_gpr_6 = (0u | 74u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 503u, 0x08A05F80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B39160u) goto L_08B39160; AOT_REGCACHE_SYNC_OUT(); return; L_08B39160: @@ -3821,18 +3822,18 @@ L_08B39184: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B39190u) goto L_08B39190; AOT_REGCACHE_SYNC_OUT(); return; L_08B39190: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(154))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(154))); aot_gpr_5 = (0u + static_cast(-5)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_31 = (0x08B391A4u); - aot_mem.aot_direct_store16(aot_gpr_2 + static_cast(154), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store16(ctx.gpr[2] + static_cast(154), static_cast(aot_gpr_4)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B391A4u) goto L_08B391A4; AOT_REGCACHE_SYNC_OUT(); return; L_08B391A4: - aot_gpr_4 = (aot_gpr_2 + static_cast(2318)); + aot_gpr_4 = (ctx.gpr[2] + static_cast(2318)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0)))))); - ctx.gpr[6] = (0u + static_cast(-2)); - aot_gpr_5 = (aot_gpr_5 & ctx.gpr[6]); + aot_gpr_6 = (0u + static_cast(-2)); + aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_5)); goto L_08B391B8; L_08B391B8: @@ -3854,7 +3855,7 @@ L_08B391C8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 617u, 0x088634F8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B391D0u) goto L_08B391D0; AOT_REGCACHE_SYNC_OUT(); return; L_08B391D0: - { const bool branch_taken = aot_gpr_2 != 0u; + { const bool branch_taken = ctx.gpr[2] != 0u; // nop if (branch_taken) { goto L_08B392B0; @@ -3870,11 +3871,11 @@ L_08B391E0: aot_fpr_12 = std::bit_cast(0u); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B391F0u); - aot_gpr_5 = (aot_gpr_2 | 0u); + aot_gpr_5 = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0203_entry, 203u, 703u, 0x08B33424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B391F0u) goto L_08B391F0; AOT_REGCACHE_SYNC_OUT(); return; L_08B391F0: - { const bool branch_taken = aot_gpr_2 != 0u; + { const bool branch_taken = ctx.gpr[2] != 0u; // nop if (branch_taken) { goto L_08B39200; @@ -3891,7 +3892,7 @@ L_08B39200: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B39208u) goto L_08B39208; AOT_REGCACHE_SYNC_OUT(); return; L_08B39208: - { const bool branch_taken = aot_gpr_2 == 0u; + { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_08B392B0; @@ -3904,13 +3905,13 @@ L_08B39210: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B39218u) goto L_08B39218; AOT_REGCACHE_SYNC_OUT(); return; L_08B39218: - aot_gpr_4 = (aot_gpr_2 + static_cast(48)); + aot_gpr_4 = (ctx.gpr[2] + static_cast(48)); aot_gpr_31 = (0x08B39224u); aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B39224u) goto L_08B39224; AOT_REGCACHE_SYNC_OUT(); return; L_08B39224: - aot_gpr_4 = (aot_gpr_2 + static_cast(48)); + aot_gpr_4 = (ctx.gpr[2] + static_cast(48)); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_31 = (0x08B39238u); @@ -3935,7 +3936,7 @@ L_08B39250: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B39258u) goto L_08B39258; AOT_REGCACHE_SYNC_OUT(); return; L_08B39258: - aot_gpr_4 = (aot_gpr_2 + static_cast(48)); + aot_gpr_4 = (ctx.gpr[2] + static_cast(48)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); @@ -3953,13 +3954,13 @@ L_08B39274: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3927Cu) goto L_08B3927C; AOT_REGCACHE_SYNC_OUT(); return; L_08B3927C: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(86)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(86)))))); aot_gpr_31 = (0x08B39288u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0204_entry, 204u, 126u, 0x08B3490Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B39288u) goto L_08B39288; AOT_REGCACHE_SYNC_OUT(); return; L_08B39288: - { const bool branch_taken = aot_gpr_2 == 0u; + { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_08B392B0; @@ -3972,7 +3973,7 @@ L_08B39290: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B39298u) goto L_08B39298; AOT_REGCACHE_SYNC_OUT(); return; L_08B39298: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(612))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(612))); aot_gpr_5 = (0u | 2u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -3999,13 +4000,13 @@ L_08B392B8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B392C0u) goto L_08B392C0; AOT_REGCACHE_SYNC_OUT(); return; L_08B392C0: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(86)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(86)))))); aot_gpr_31 = (0x08B392CCu); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0204_entry, 204u, 126u, 0x08B3490Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B392CCu) goto L_08B392CC; AOT_REGCACHE_SYNC_OUT(); return; L_08B392CC: - { const bool branch_taken = aot_gpr_2 == 0u; + { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_08B392F0; @@ -4018,8 +4019,8 @@ L_08B392D4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B392DCu) goto L_08B392DC; AOT_REGCACHE_SYNC_OUT(); return; L_08B392DC: - { const bool branch_taken = aot_gpr_2 == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(164), aot_gpr_2); + { const bool branch_taken = ctx.gpr[2] == 0u; + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(164), ctx.gpr[2]); if (branch_taken) { goto L_08B392F0; } @@ -4029,7 +4030,7 @@ L_08B392E4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(164))); aot_gpr_31 = (0x08B392F0u); aot_gpr_5 = (aot_gpr_16 + static_cast(164)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B392F0u) goto L_08B392F0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B392F0u) goto L_08B392F0; AOT_REGCACHE_SYNC_OUT(); return; L_08B392F0: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(77))); @@ -4087,7 +4088,7 @@ L_08B3934C: aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_12)); aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); aot_gpr_31 = (0x08B39370u); - ctx.gpr[6] = (0u | 75u); + aot_gpr_6 = (0u | 75u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 503u, 0x08A05F80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B39370u) goto L_08B39370; AOT_REGCACHE_SYNC_OUT(); return; L_08B39370: @@ -4220,7 +4221,7 @@ L_08B39420: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0203_entry, 203u, 615u, 0x08B32E84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B39434u) goto L_08B39434; AOT_REGCACHE_SYNC_OUT(); return; L_08B39434: - { const bool branch_taken = aot_gpr_2 == 0u; + { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_08B39484; @@ -4249,7 +4250,7 @@ L_08B39454: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); aot_gpr_31 = (0x08B39460u); aot_gpr_5 = (aot_gpr_16 + static_cast(8)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B39460u) goto L_08B39460; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A93004, 163u, 430u, 0x08A93004u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B39460u) goto L_08B39460; AOT_REGCACHE_SYNC_OUT(); return; L_08B39460: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(12))); @@ -4265,7 +4266,7 @@ L_08B39470: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); aot_gpr_31 = (0x08B3947Cu); aot_gpr_5 = (aot_gpr_16 + static_cast(8)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3947Cu) goto L_08B3947C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3947Cu) goto L_08B3947C; AOT_REGCACHE_SYNC_OUT(); return; L_08B3947C: { const bool branch_taken = 0u == 0u; @@ -4297,7 +4298,7 @@ L_08B3949C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); aot_gpr_31 = (0x08B394A8u); aot_gpr_5 = (aot_gpr_16 + static_cast(8)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B394A8u) goto L_08B394A8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A93004, 163u, 430u, 0x08A93004u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B394A8u) goto L_08B394A8; AOT_REGCACHE_SYNC_OUT(); return; L_08B394A8: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(8), 0u); @@ -4317,7 +4318,7 @@ L_08B394B8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B394C0u) goto L_08B394C0; AOT_REGCACHE_SYNC_OUT(); return; L_08B394C0: - { const bool branch_taken = aot_gpr_2 != 0u; + { const bool branch_taken = ctx.gpr[2] != 0u; // nop if (branch_taken) { goto L_08B39590; @@ -4341,15 +4342,15 @@ L_08B394DC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B394E4u) goto L_08B394E4; AOT_REGCACHE_SYNC_OUT(); return; L_08B394E4: - ctx.gpr[6] = (16576u << 16u); + aot_gpr_6 = (16576u << 16u); aot_gpr_4 = (aot_gpr_16 | 0u); - aot_fpr_12 = std::bit_cast(ctx.gpr[6]); + aot_fpr_12 = std::bit_cast(aot_gpr_6); aot_gpr_31 = (0x08B394F8u); - aot_gpr_5 = (aot_gpr_2 | 0u); + aot_gpr_5 = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0203_entry, 203u, 703u, 0x08B33424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B394F8u) goto L_08B394F8; AOT_REGCACHE_SYNC_OUT(); return; L_08B394F8: - { const bool branch_taken = aot_gpr_2 == 0u; + { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_08B39590; @@ -4362,7 +4363,7 @@ L_08B39500: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B39508u) goto L_08B39508; AOT_REGCACHE_SYNC_OUT(); return; L_08B39508: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(1252))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(1252))); aot_fpr_13 = std::bit_cast(0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); // nop @@ -4395,7 +4396,7 @@ L_08B39538: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); aot_gpr_31 = (0x08B39544u); aot_gpr_5 = (aot_gpr_16 + static_cast(8)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B39544u) goto L_08B39544; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A93004, 163u, 430u, 0x08A93004u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B39544u) goto L_08B39544; AOT_REGCACHE_SYNC_OUT(); return; L_08B39544: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); @@ -4415,11 +4416,11 @@ L_08B39550: L_08B3955C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); aot_gpr_5 = (0u | 3u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(92))); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(24)); - ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[6] + static_cast(0)))))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(4))); - jump_target = ctx.gpr[6]; + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(92))); + aot_gpr_6 = (aot_gpr_6 + static_cast(24)); + ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(0)))))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(4))); + jump_target = aot_gpr_6; aot_gpr_31 = (0x08B3957Cu); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[7]); ctx.pc = jump_target; @@ -4528,7 +4529,7 @@ L_08B3962C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0203_entry, 203u, 615u, 0x08B32E84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B39640u) goto L_08B39640; AOT_REGCACHE_SYNC_OUT(); return; L_08B39640: - { const bool branch_taken = aot_gpr_2 == 0u; + { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_08B396B4; @@ -4557,7 +4558,7 @@ L_08B39660: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); aot_gpr_31 = (0x08B3966Cu); aot_gpr_5 = (aot_gpr_16 + static_cast(8)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3966Cu) goto L_08B3966C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A93004, 163u, 430u, 0x08A93004u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3966Cu) goto L_08B3966C; AOT_REGCACHE_SYNC_OUT(); return; L_08B3966C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); @@ -4577,11 +4578,11 @@ L_08B39678: L_08B39684: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); aot_gpr_5 = (0u | 3u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(92))); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(24)); - ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[6] + static_cast(0)))))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(4))); - jump_target = ctx.gpr[6]; + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(92))); + aot_gpr_6 = (aot_gpr_6 + static_cast(24)); + ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(0)))))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(4))); + jump_target = aot_gpr_6; aot_gpr_31 = (0x08B396A4u); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[7]); ctx.pc = jump_target; @@ -4601,7 +4602,7 @@ L_08B396B4: aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_12)); aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); aot_gpr_31 = (0x08B396D4u); - ctx.gpr[6] = (0u | 74u); + aot_gpr_6 = (0u | 74u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 503u, 0x08A05F80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B396D4u) goto L_08B396D4; AOT_REGCACHE_SYNC_OUT(); return; L_08B396D4: @@ -4636,13 +4637,13 @@ L_08B39700: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B39708u) goto L_08B39708; AOT_REGCACHE_SYNC_OUT(); return; L_08B39708: - aot_gpr_4 = (aot_gpr_2 + static_cast(48)); + aot_gpr_4 = (ctx.gpr[2] + static_cast(48)); aot_gpr_31 = (0x08B39714u); aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B39714u) goto L_08B39714; AOT_REGCACHE_SYNC_OUT(); return; L_08B39714: - aot_gpr_4 = (aot_gpr_2 + static_cast(48)); + aot_gpr_4 = (ctx.gpr[2] + static_cast(48)); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_31 = (0x08B39728u); @@ -4711,7 +4712,7 @@ L_08B39790: aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_12)); aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); aot_gpr_31 = (0x08B397B8u); - ctx.gpr[6] = (0u | 75u); + aot_gpr_6 = (0u | 75u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 503u, 0x08A05F80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B397B8u) goto L_08B397B8; AOT_REGCACHE_SYNC_OUT(); return; L_08B397B8: @@ -4890,7 +4891,7 @@ L_08B39908: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0203_entry, 203u, 615u, 0x08B32E84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B39918u) goto L_08B39918; AOT_REGCACHE_SYNC_OUT(); return; L_08B39918: - { const bool branch_taken = aot_gpr_2 == 0u; + { const bool branch_taken = ctx.gpr[2] == 0u; aot_gpr_4 = (ctx.gpr[19] + static_cast(1)); if (branch_taken) { goto L_08B39948; @@ -4913,7 +4914,7 @@ L_08B39938: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(164))); aot_gpr_31 = (0x08B39944u); aot_gpr_5 = (aot_gpr_16 + static_cast(164)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B39944u) goto L_08B39944; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B39944u) goto L_08B39944; AOT_REGCACHE_SYNC_OUT(); return; L_08B39944: aot_gpr_4 = (ctx.gpr[19] + static_cast(1)); @@ -5042,16 +5043,16 @@ L_08B39A18: L_08B39A34: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(164))); aot_gpr_5 = (0u + static_cast(-513)); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(72))); aot_fpr_12 = std::bit_cast(0u); - aot_gpr_5 = (ctx.gpr[6] & aot_gpr_5); + aot_gpr_5 = (aot_gpr_6 & aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(72), aot_gpr_5); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(164))); aot_fpr_14 = std::bit_cast(std::bit_cast(aot_fpr_12)); aot_gpr_5 = (0u + static_cast(-3)); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(236))); - aot_gpr_5 = (ctx.gpr[6] & aot_gpr_5); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(236))); + aot_gpr_5 = (aot_gpr_6 & aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(236), aot_gpr_5); aot_gpr_31 = (0x08B39A70u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(164))); @@ -5116,7 +5117,7 @@ L_08B39ACC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0218_entry, 218u, 139u, 0x08B6CC28u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B39AD8u) goto L_08B39AD8; AOT_REGCACHE_SYNC_OUT(); return; L_08B39AD8: - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-17296), aot_gpr_2); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-17296), ctx.gpr[2]); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(164))); aot_gpr_4 = (0u | 125u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(352))); @@ -5136,9 +5137,9 @@ L_08B39AF8: goto L_08B39B04; L_08B39B04: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(164))); - ctx.gpr[6] = (18676u << 16u); + aot_gpr_6 = (18676u << 16u); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(636))); - aot_gpr_5 = (ctx.gpr[6] | 9216u); + aot_gpr_5 = (aot_gpr_6 | 9216u); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_14 = std::bit_cast(aot_gpr_5); aot_fpr_12 = aot_fpr_12 / aot_fpr_14; @@ -5162,11 +5163,11 @@ L_08B39B44: L_08B39B50: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-17332))); aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7800))); - ctx.gpr[6] = (aot_gpr_5 + aot_gpr_5); + aot_gpr_6 = (aot_gpr_5 + aot_gpr_5); ctx.gpr[7] = (std::bit_cast(aot_fpr_12)); ctx.gpr[8] = (aot_gpr_5 << 8u); { const std::int64_t product = static_cast(static_cast(ctx.gpr[7])) * static_cast(static_cast(aot_gpr_4)); ctx.lo = static_cast(product); ctx.hi = static_cast(static_cast(product) >> 32u); } - aot_gpr_4 = (aot_gpr_5 + ctx.gpr[6]); + aot_gpr_4 = (aot_gpr_5 + aot_gpr_6); aot_gpr_4 = (aot_gpr_4 << 5u); aot_gpr_5 = (2238u << 16u); aot_gpr_4 = (ctx.gpr[8] + aot_gpr_4); @@ -5189,7 +5190,7 @@ L_08B39B9C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B39BA8u) goto L_08B39BA8; AOT_REGCACHE_SYNC_OUT(); return; L_08B39BA8: - ctx.gpr[19] = (aot_gpr_2 | 0u); + ctx.gpr[19] = (ctx.gpr[2] | 0u); { const bool branch_taken = ctx.gpr[19] == 0u; // nop if (branch_taken) { @@ -5200,7 +5201,7 @@ L_08B39BA8: L_08B39BB4: aot_gpr_31 = (0x08B39BBCu); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B39BBCu) goto L_08B39BBC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B39BBCu) goto L_08B39BBC; AOT_REGCACHE_SYNC_OUT(); return; L_08B39BBC: ctx.gpr[18] = (ctx.gpr[19] | 0u); @@ -5216,9 +5217,9 @@ L_08B39BC8: AOT_REGCACHE_SYNC_OUT(); return; L_08B39BD0: ctx.gpr[3] = (0u + static_cast(-1)); - aot_gpr_4 = (aot_gpr_2 | 0u); + aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_5 = (0u | 5000u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); ctx.gpr[7] = (ctx.gpr[17] | 0u); ctx.gpr[8] = (0u + static_cast(-1)); ctx.gpr[9] = (0u + static_cast(-1)); @@ -5246,7 +5247,7 @@ L_08B39C04: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-17344))); aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); aot_gpr_31 = (0x08B39C38u); - ctx.gpr[6] = (0u | 74u); + aot_gpr_6 = (0u | 74u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 503u, 0x08A05F80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B39C38u) goto L_08B39C38; AOT_REGCACHE_SYNC_OUT(); return; L_08B39C38: @@ -5337,7 +5338,7 @@ L_08B39CD0: aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_12)); aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); aot_gpr_31 = (0x08B39CF4u); - ctx.gpr[6] = (0u | 75u); + aot_gpr_6 = (0u | 75u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 503u, 0x08A05F80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B39CF4u) goto L_08B39CF4; AOT_REGCACHE_SYNC_OUT(); return; L_08B39CF4: @@ -5468,10 +5469,10 @@ L_08B39DDC: AOT_REGCACHE_SYNC_OUT(); return; L_08B39DE4: ctx.gpr[10] = (17302u << 16u); - aot_gpr_4 = (aot_gpr_2 | 0u); + aot_gpr_4 = (ctx.gpr[2] | 0u); aot_fpr_12 = std::bit_cast(ctx.gpr[10]); aot_gpr_5 = (0u | 0u); - ctx.gpr[6] = (0u | 42u); + aot_gpr_6 = (0u | 42u); ctx.gpr[7] = (0u | 0u); ctx.gpr[8] = (0u | 0u); aot_gpr_31 = (0x08B39E08u); @@ -5645,7 +5646,7 @@ L_08B39F54: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0203_entry, 203u, 761u, 0x08B33A00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B39F60u) goto L_08B39F60; AOT_REGCACHE_SYNC_OUT(); return; L_08B39F60: - { const bool branch_taken = aot_gpr_2 != 0u; + { const bool branch_taken = ctx.gpr[2] != 0u; // nop if (branch_taken) { goto L_08B39FEC; @@ -5678,7 +5679,7 @@ L_08B39F88: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B39F90u) goto L_08B39F90; AOT_REGCACHE_SYNC_OUT(); return; L_08B39F90: - { const bool branch_taken = ctx.gpr[17] != aot_gpr_2; + { const bool branch_taken = ctx.gpr[17] != ctx.gpr[2]; // nop if (branch_taken) { goto L_08B39FEC; @@ -5691,7 +5692,7 @@ L_08B39F98: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0203_entry, 203u, 661u, 0x08B331CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B39FA0u) goto L_08B39FA0; AOT_REGCACHE_SYNC_OUT(); return; L_08B39FA0: - { const bool branch_taken = aot_gpr_2 == 0u; + { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_08B39FEC; @@ -5704,7 +5705,7 @@ L_08B39FA8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0204_entry, 204u, 4u, 0x08B34050u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B39FB0u) goto L_08B39FB0; AOT_REGCACHE_SYNC_OUT(); return; L_08B39FB0: - { const bool branch_taken = aot_gpr_2 != 0u; + { const bool branch_taken = ctx.gpr[2] != 0u; // nop if (branch_taken) { goto L_08B39FEC; @@ -5717,19 +5718,19 @@ L_08B39FB8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B39FC0u) goto L_08B39FC0; AOT_REGCACHE_SYNC_OUT(); return; L_08B39FC0: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(154))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(154))); aot_gpr_4 = (aot_gpr_4 | 4u); aot_gpr_31 = (0x08B39FD0u); - aot_mem.aot_direct_store16(aot_gpr_2 + static_cast(154), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store16(ctx.gpr[2] + static_cast(154), static_cast(aot_gpr_4)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B39FD0u) goto L_08B39FD0; AOT_REGCACHE_SYNC_OUT(); return; L_08B39FD0: - aot_gpr_4 = (aot_gpr_2 + static_cast(2318)); + aot_gpr_4 = (ctx.gpr[2] + static_cast(2318)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0)))))); - ctx.gpr[6] = (0u | 2u); + aot_gpr_6 = (0u | 2u); aot_gpr_5 = (aot_gpr_5 | 1u); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_5)); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(62), static_cast(ctx.gpr[6])); + aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(62), static_cast(aot_gpr_6)); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(63), static_cast(0u)); goto L_08B39FEC; L_08B39FEC: @@ -5809,7 +5810,7 @@ L_08B3A068: aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08B3A084u); - ctx.gpr[6] = (0u | 74u); + aot_gpr_6 = (0u | 74u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 503u, 0x08A05F80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3A084u) goto L_08B3A084; AOT_REGCACHE_SYNC_OUT(); return; L_08B3A084: @@ -5852,18 +5853,18 @@ L_08B3A0BC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3A0C4u) goto L_08B3A0C4; AOT_REGCACHE_SYNC_OUT(); return; L_08B3A0C4: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_2 + static_cast(154))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast(154))); aot_gpr_5 = (0u + static_cast(-5)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_31 = (0x08B3A0D8u); - aot_mem.aot_direct_store16(aot_gpr_2 + static_cast(154), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store16(ctx.gpr[2] + static_cast(154), static_cast(aot_gpr_4)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3A0D8u) goto L_08B3A0D8; AOT_REGCACHE_SYNC_OUT(); return; L_08B3A0D8: - aot_gpr_4 = (aot_gpr_2 + static_cast(2318)); + aot_gpr_4 = (ctx.gpr[2] + static_cast(2318)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0)))))); - ctx.gpr[6] = (0u + static_cast(-2)); - aot_gpr_5 = (aot_gpr_5 & ctx.gpr[6]); + aot_gpr_6 = (0u + static_cast(-2)); + aot_gpr_5 = (aot_gpr_5 & aot_gpr_6); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_5)); if (branch_taken) { @@ -5894,7 +5895,7 @@ L_08B3A104: AOT_REGCACHE_SYNC_OUT(); return; L_08B3A10C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(164))); - { const bool branch_taken = aot_gpr_2 != aot_gpr_4; + { const bool branch_taken = ctx.gpr[2] != aot_gpr_4; // nop if (branch_taken) { goto L_08B3A170; @@ -5916,13 +5917,13 @@ L_08B3A124: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3A12Cu) goto L_08B3A12C; AOT_REGCACHE_SYNC_OUT(); return; L_08B3A12C: - aot_gpr_4 = (aot_gpr_2 + static_cast(48)); + aot_gpr_4 = (ctx.gpr[2] + static_cast(48)); aot_gpr_31 = (0x08B3A138u); aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3A138u) goto L_08B3A138; AOT_REGCACHE_SYNC_OUT(); return; L_08B3A138: - aot_gpr_4 = (aot_gpr_2 + static_cast(48)); + aot_gpr_4 = (ctx.gpr[2] + static_cast(48)); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_31 = (0x08B3A14Cu); @@ -6010,7 +6011,7 @@ L_08B3A1D4: aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_12)); aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); aot_gpr_31 = (0x08B3A1F8u); - ctx.gpr[6] = (0u | 75u); + aot_gpr_6 = (0u | 75u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 503u, 0x08A05F80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3A1F8u) goto L_08B3A1F8; AOT_REGCACHE_SYNC_OUT(); return; L_08B3A1F8: @@ -6201,7 +6202,7 @@ L_08B3A32C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3A334u) goto L_08B3A334; AOT_REGCACHE_SYNC_OUT(); return; L_08B3A334: - { const bool branch_taken = aot_gpr_2 != 0u; + { const bool branch_taken = ctx.gpr[2] != 0u; // nop if (branch_taken) { goto L_08B3A34C; @@ -6214,7 +6215,7 @@ L_08B3A33C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0204_entry, 204u, 4u, 0x08B34050u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3A344u) goto L_08B3A344; AOT_REGCACHE_SYNC_OUT(); return; L_08B3A344: - { const bool branch_taken = aot_gpr_2 == 0u; + { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_08B3A388; @@ -6227,7 +6228,7 @@ L_08B3A34C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3A354u) goto L_08B3A354; AOT_REGCACHE_SYNC_OUT(); return; L_08B3A354: - { const bool branch_taken = aot_gpr_2 == 0u; + { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_08B3A394; @@ -6242,17 +6243,17 @@ L_08B3A35C: L_08B3A364: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B3A370u); - aot_gpr_5 = (aot_gpr_2 | 0u); + aot_gpr_5 = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0204_entry, 204u, 24u, 0x08B34200u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3A370u) goto L_08B3A370; AOT_REGCACHE_SYNC_OUT(); return; L_08B3A370: - ctx.gpr[17] = (aot_gpr_2 | 0u); + ctx.gpr[17] = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08B3A37Cu); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0204_entry, 204u, 138u, 0x08B349A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3A37Cu) goto L_08B3A37C; AOT_REGCACHE_SYNC_OUT(); return; L_08B3A37C: - aot_gpr_4 = (static_cast(ctx.gpr[17]) < static_cast(aot_gpr_2) ? 1u : 0u); + aot_gpr_4 = (static_cast(ctx.gpr[17]) < static_cast(ctx.gpr[2]) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -6340,7 +6341,7 @@ L_08B3A410: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0203_entry, 203u, 727u, 0x08B336A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3A41Cu) goto L_08B3A41C; AOT_REGCACHE_SYNC_OUT(); return; L_08B3A41C: - { const bool branch_taken = aot_gpr_2 != 0u; + { const bool branch_taken = ctx.gpr[2] != 0u; // nop if (branch_taken) { goto L_08B3A430; @@ -6375,7 +6376,7 @@ L_08B3A448: aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08B3A464u); - ctx.gpr[6] = (0u | 74u); + aot_gpr_6 = (0u | 74u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 503u, 0x08A05F80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3A464u) goto L_08B3A464; AOT_REGCACHE_SYNC_OUT(); return; L_08B3A464: @@ -6385,7 +6386,7 @@ L_08B3A464: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0090_entry, 90u, 597u, 0x0896E7A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3A470u) goto L_08B3A470; AOT_REGCACHE_SYNC_OUT(); return; L_08B3A470: - aot_gpr_4 = (aot_gpr_2 << 6u); + aot_gpr_4 = (ctx.gpr[2] << 6u); aot_gpr_5 = (aot_gpr_4 + aot_gpr_4); aot_gpr_5 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (2247u << 16u); @@ -6393,7 +6394,7 @@ L_08B3A470: aot_gpr_5 = (aot_gpr_5 + aot_gpr_4); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B3A494u); - ctx.gpr[6] = (0u | 4u); + aot_gpr_6 = (0u | 4u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0204_entry, 204u, 189u, 0x08B34D54u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3A494u) goto L_08B3A494; AOT_REGCACHE_SYNC_OUT(); return; L_08B3A494: @@ -6411,11 +6412,11 @@ L_08B3A49C: } L_08B3A4A4: aot_gpr_5 = (aot_gpr_4 + aot_gpr_4); - ctx.gpr[6] = (aot_gpr_4 << 8u); + aot_gpr_6 = (aot_gpr_4 << 8u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_gpr_4 << 5u); aot_gpr_5 = (2238u << 16u); - aot_gpr_4 = (ctx.gpr[6] + aot_gpr_4); + aot_gpr_4 = (aot_gpr_6 + aot_gpr_4); aot_gpr_5 = (aot_gpr_5 + static_cast(-6992)); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); @@ -6487,7 +6488,7 @@ L_08B3A538: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3A540u) goto L_08B3A540; AOT_REGCACHE_SYNC_OUT(); return; L_08B3A540: - { const bool branch_taken = aot_gpr_2 == 0u; + { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_08B3A6B4; @@ -6500,7 +6501,7 @@ L_08B3A548: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3A550u) goto L_08B3A550; AOT_REGCACHE_SYNC_OUT(); return; L_08B3A550: - { const bool branch_taken = aot_gpr_2 == 0u; + { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_08B3A67C; @@ -6513,13 +6514,13 @@ L_08B3A558: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0090_entry, 90u, 591u, 0x0896E710u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3A560u) goto L_08B3A560; AOT_REGCACHE_SYNC_OUT(); return; L_08B3A560: - ctx.gpr[17] = (aot_gpr_2 | 0u); + ctx.gpr[17] = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08B3A56Cu); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0204_entry, 204u, 138u, 0x08B349A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3A56Cu) goto L_08B3A56C; AOT_REGCACHE_SYNC_OUT(); return; L_08B3A56C: - aot_gpr_4 = (static_cast(ctx.gpr[17]) < static_cast(aot_gpr_2) ? 1u : 0u); + aot_gpr_4 = (static_cast(ctx.gpr[17]) < static_cast(ctx.gpr[2]) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -6544,7 +6545,7 @@ L_08B3A584: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3A594u) goto L_08B3A594; AOT_REGCACHE_SYNC_OUT(); return; L_08B3A594: - aot_gpr_4 = (aot_gpr_2 + static_cast(48)); + aot_gpr_4 = (ctx.gpr[2] + static_cast(48)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); aot_fpr_20 = aot_fpr_20 - aot_fpr_12; @@ -6554,7 +6555,7 @@ L_08B3A594: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3A5B0u) goto L_08B3A5B0; AOT_REGCACHE_SYNC_OUT(); return; L_08B3A5B0: - aot_gpr_4 = (aot_gpr_2 + static_cast(48)); + aot_gpr_4 = (ctx.gpr[2] + static_cast(48)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); { const bool branch_taken = aot_gpr_4 == 0u; @@ -6621,7 +6622,7 @@ L_08B3A620: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3A62Cu) goto L_08B3A62C; AOT_REGCACHE_SYNC_OUT(); return; L_08B3A62C: - aot_gpr_16 = (aot_gpr_2 | 0u); + aot_gpr_16 = (ctx.gpr[2] | 0u); { const bool branch_taken = aot_gpr_16 == 0u; // nop if (branch_taken) { @@ -6632,7 +6633,7 @@ L_08B3A62C: L_08B3A638: aot_gpr_31 = (0x08B3A640u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3A640u) goto L_08B3A640; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3A640u) goto L_08B3A640; AOT_REGCACHE_SYNC_OUT(); return; L_08B3A640: ctx.gpr[17] = (aot_gpr_16 | 0u); @@ -6648,8 +6649,8 @@ L_08B3A648: AOT_REGCACHE_SYNC_OUT(); return; L_08B3A654: aot_gpr_4 = (ctx.gpr[18] | 0u); - aot_gpr_5 = (aot_gpr_2 | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (0u | 0u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x08B3A66Cu); ctx.gpr[8] = (0u | 1u); @@ -6673,7 +6674,7 @@ L_08B3A67C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0090_entry, 90u, 597u, 0x0896E7A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3A684u) goto L_08B3A684; AOT_REGCACHE_SYNC_OUT(); return; L_08B3A684: - aot_gpr_4 = (aot_gpr_2 << 6u); + aot_gpr_4 = (ctx.gpr[2] << 6u); aot_gpr_5 = (aot_gpr_4 + aot_gpr_4); aot_gpr_5 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (2247u << 16u); @@ -6684,7 +6685,7 @@ L_08B3A684: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0204_entry, 204u, 220u, 0x08B34FC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3A6A4u) goto L_08B3A6A4; AOT_REGCACHE_SYNC_OUT(); return; L_08B3A6A4: - { const bool branch_taken = aot_gpr_2 == 0u; + { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_08B3A6B4; @@ -6740,7 +6741,7 @@ L_08B3A6FC: aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_12)); aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); aot_gpr_31 = (0x08B3A720u); - ctx.gpr[6] = (0u | 75u); + aot_gpr_6 = (0u | 75u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 503u, 0x08A05F80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3A720u) goto L_08B3A720; AOT_REGCACHE_SYNC_OUT(); return; L_08B3A720: @@ -6926,7 +6927,7 @@ L_08B3A878: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0203_entry, 203u, 703u, 0x08B33424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3A888u) goto L_08B3A888; AOT_REGCACHE_SYNC_OUT(); return; L_08B3A888: - { const bool branch_taken = aot_gpr_2 == 0u; + { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_08B3A8A0; @@ -7016,7 +7017,7 @@ L_08B3A91C: aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08B3A938u); - ctx.gpr[6] = (0u | 74u); + aot_gpr_6 = (0u | 74u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 503u, 0x08A05F80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3A938u) goto L_08B3A938; AOT_REGCACHE_SYNC_OUT(); return; L_08B3A938: @@ -7042,7 +7043,7 @@ L_08B3A94C: AOT_REGCACHE_SYNC_OUT(); return; L_08B3A954: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(164))); - { const bool branch_taken = aot_gpr_2 != aot_gpr_4; + { const bool branch_taken = ctx.gpr[2] != aot_gpr_4; // nop if (branch_taken) { goto L_08B3A9B4; @@ -7064,13 +7065,13 @@ L_08B3A96C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3A974u) goto L_08B3A974; AOT_REGCACHE_SYNC_OUT(); return; L_08B3A974: - aot_gpr_4 = (aot_gpr_2 + static_cast(48)); + aot_gpr_4 = (ctx.gpr[2] + static_cast(48)); aot_gpr_31 = (0x08B3A980u); aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3A980u) goto L_08B3A980; AOT_REGCACHE_SYNC_OUT(); return; L_08B3A980: - aot_gpr_4 = (aot_gpr_2 + static_cast(48)); + aot_gpr_4 = (ctx.gpr[2] + static_cast(48)); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_31 = (0x08B3A994u); @@ -7138,7 +7139,7 @@ L_08B3A9FC: aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_12)); aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); aot_gpr_31 = (0x08B3AA20u); - ctx.gpr[6] = (0u | 75u); + aot_gpr_6 = (0u | 75u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 503u, 0x08A05F80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3AA20u) goto L_08B3AA20; AOT_REGCACHE_SYNC_OUT(); return; L_08B3AA20: @@ -7183,7 +7184,7 @@ L_08B3AA4C: L_08B3AA60: aot_gpr_4 = (2233u << 16u); aot_gpr_5 = (0u | 0u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); ctx.gpr[7] = (0u | 1u); ctx.gpr[8] = (0u | 0u); aot_gpr_31 = (0x08B3AA7Cu); @@ -7191,8 +7192,8 @@ L_08B3AA60: ctx.pc = 0x08B7341Cu; AOT_REGCACHE_SYNC_OUT(); return; L_08B3AA7C: - { const bool branch_taken = static_cast(aot_gpr_2) >= 0; - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(4476), aot_gpr_2); + { const bool branch_taken = static_cast(ctx.gpr[2]) >= 0; + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(4476), ctx.gpr[2]); if (branch_taken) { goto L_08B3AA94; } @@ -7200,7 +7201,7 @@ L_08B3AA7C: } L_08B3AA84: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(4476))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(4476))); if (branch_taken) { goto L_08B3AA98; } @@ -7208,14 +7209,14 @@ L_08B3AA84: } L_08B3AA8C: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (0u | 0u); + ctx.gpr[2] = (0u | 0u); if (branch_taken) { goto L_08B3AA98; } goto L_08B3AA94; } L_08B3AA94: - aot_gpr_2 = (0u | 0u); + ctx.gpr[2] = (0u | 0u); goto L_08B3AA98; L_08B3AA98: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -7231,7 +7232,7 @@ L_08B3AAA4: aot_gpr_5 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); aot_gpr_31 = (0x08B3AABCu); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); ctx.pc = 0x08B734BCu; AOT_REGCACHE_SYNC_OUT(); return; L_08B3AABC: @@ -7260,14 +7261,14 @@ L_08B3AADC: AOT_REGCACHE_SYNC_OUT(); return; L_08B3AAE8: jump_target = aot_gpr_31; - aot_gpr_2 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(4488))); + ctx.gpr[2] = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(4488))); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08B3AAF0: jump_target = aot_gpr_31; - aot_gpr_2 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(4489))); + ctx.gpr[2] = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(4489))); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } ctx.pc = jump_target; @@ -7289,13 +7290,13 @@ L_08B3AB10: goto L_08B3AB14; L_08B3AB14: aot_gpr_5 = (0u | 0u); - ctx.gpr[6] = (0u | 3u); + aot_gpr_6 = (0u | 3u); aot_gpr_31 = (0x08B3AB24u); ctx.gpr[7] = (0u | 1u); ctx.pc = 0x08B73204u; AOT_REGCACHE_SYNC_OUT(); return; L_08B3AB24: - { const bool branch_taken = aot_gpr_2 == 0u; + { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_08B3AB3C; @@ -7370,7 +7371,7 @@ L_08B3AB88: aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast(4488), static_cast(0u)); goto L_08B3AB8C; L_08B3AB8C: - aot_gpr_2 = (0u | 0u); + ctx.gpr[2] = (0u | 0u); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -7483,7 +7484,7 @@ L_08B3AC34: ctx.pc = 0x08B73104u; AOT_REGCACHE_SYNC_OUT(); return; L_08B3AC3C: - { const bool branch_taken = aot_gpr_2 == 0u; + { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_08B3AC4C; @@ -7496,7 +7497,7 @@ L_08B3AC44: ctx.pc = 0x08B730FCu; AOT_REGCACHE_SYNC_OUT(); return; L_08B3AC4C: - aot_gpr_2 = (0u | 0u); + ctx.gpr[2] = (0u | 0u); aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; @@ -7513,7 +7514,7 @@ L_08B3AC60: ctx.pc = 0x08B735F4u; AOT_REGCACHE_SYNC_OUT(); return; L_08B3AC70: - aot_gpr_2 = (0u | 0u); + ctx.gpr[2] = (0u | 0u); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -7560,7 +7561,7 @@ L_08B3ACBC: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_5 = (2228u << 16u); aot_gpr_4 = (ctx.gpr[28] + static_cast(4492)); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x08B3ACDCu); @@ -7568,7 +7569,7 @@ L_08B3ACBC: ctx.pc = 0x08B73444u; AOT_REGCACHE_SYNC_OUT(); return; L_08B3ACDC: - aot_gpr_16 = (aot_gpr_2 | 0u); + aot_gpr_16 = (ctx.gpr[2] | 0u); { const bool branch_taken = static_cast(aot_gpr_16) < 0; // nop if (branch_taken) { @@ -7580,13 +7581,13 @@ L_08B3ACE8: aot_gpr_5 = (2228u << 16u); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(4468), aot_gpr_16); aot_gpr_4 = (ctx.gpr[28] + static_cast(4508)); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x08B3AD00u); aot_gpr_5 = (aot_gpr_5 + static_cast(-21604)); ctx.pc = 0x08B73444u; AOT_REGCACHE_SYNC_OUT(); return; L_08B3AD00: - aot_gpr_16 = (aot_gpr_2 | 0u); + aot_gpr_16 = (ctx.gpr[2] | 0u); { const bool branch_taken = static_cast(aot_gpr_16) < 0; // nop if (branch_taken) { @@ -7598,13 +7599,13 @@ L_08B3AD0C: aot_gpr_5 = (2228u << 16u); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(4464), aot_gpr_16); aot_gpr_4 = (ctx.gpr[28] + static_cast(4520)); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x08B3AD24u); aot_gpr_5 = (aot_gpr_5 + static_cast(-21408)); ctx.pc = 0x08B73444u; AOT_REGCACHE_SYNC_OUT(); return; L_08B3AD24: - aot_gpr_16 = (aot_gpr_2 | 0u); + aot_gpr_16 = (ctx.gpr[2] | 0u); { const bool branch_taken = static_cast(aot_gpr_16) < 0; // nop if (branch_taken) { @@ -7620,7 +7621,7 @@ L_08B3AD30: ctx.pc = 0x08B7307Cu; AOT_REGCACHE_SYNC_OUT(); return; L_08B3AD40: - aot_gpr_16 = (aot_gpr_2 | 0u); + aot_gpr_16 = (ctx.gpr[2] | 0u); { const bool branch_taken = static_cast(aot_gpr_16) < 0; // nop if (branch_taken) { @@ -7634,7 +7635,7 @@ L_08B3AD4C: ctx.pc = 0x08B73124u; AOT_REGCACHE_SYNC_OUT(); return; L_08B3AD54: - aot_gpr_16 = (aot_gpr_2 | 0u); + aot_gpr_16 = (ctx.gpr[2] | 0u); { const bool branch_taken = static_cast(aot_gpr_16) < 0; // nop if (branch_taken) { @@ -7648,7 +7649,7 @@ L_08B3AD60: ctx.pc = 0x08B735FCu; AOT_REGCACHE_SYNC_OUT(); return; L_08B3AD68: - aot_gpr_16 = (aot_gpr_2 | 0u); + aot_gpr_16 = (ctx.gpr[2] | 0u); { const bool branch_taken = static_cast(aot_gpr_16) < 0; // nop if (branch_taken) { @@ -7661,7 +7662,7 @@ L_08B3AD74: // nop goto L_08B3AA4C; L_08B3AD7C: - aot_gpr_16 = (aot_gpr_2 | 0u); + aot_gpr_16 = (ctx.gpr[2] | 0u); { const bool branch_taken = static_cast(aot_gpr_16) < 0; // nop if (branch_taken) { @@ -7688,7 +7689,7 @@ L_08B3AD98: goto L_08B3AC80; L_08B3ADA0: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (aot_gpr_16 | 0u); + ctx.gpr[2] = (aot_gpr_16 | 0u); if (branch_taken) { goto L_08B3AE4C; } @@ -7721,7 +7722,7 @@ L_08B3ADC8: AOT_REGCACHE_SYNC_OUT(); return; L_08B3ADD0: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (aot_gpr_16 | 0u); + ctx.gpr[2] = (aot_gpr_16 | 0u); if (branch_taken) { goto L_08B3AE4C; } @@ -7749,7 +7750,7 @@ L_08B3ADF0: AOT_REGCACHE_SYNC_OUT(); return; L_08B3ADF8: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (aot_gpr_16 | 0u); + ctx.gpr[2] = (aot_gpr_16 | 0u); if (branch_taken) { goto L_08B3AE4C; } @@ -7772,7 +7773,7 @@ L_08B3AE10: AOT_REGCACHE_SYNC_OUT(); return; L_08B3AE18: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (aot_gpr_16 | 0u); + ctx.gpr[2] = (aot_gpr_16 | 0u); if (branch_taken) { goto L_08B3AE4C; } @@ -7790,7 +7791,7 @@ L_08B3AE28: AOT_REGCACHE_SYNC_OUT(); return; L_08B3AE30: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (aot_gpr_16 | 0u); + ctx.gpr[2] = (aot_gpr_16 | 0u); if (branch_taken) { goto L_08B3AE4C; } @@ -7803,14 +7804,14 @@ L_08B3AE38: AOT_REGCACHE_SYNC_OUT(); return; L_08B3AE40: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (aot_gpr_16 | 0u); + ctx.gpr[2] = (aot_gpr_16 | 0u); if (branch_taken) { goto L_08B3AE4C; } goto L_08B3AE48; } L_08B3AE48: - aot_gpr_2 = (aot_gpr_16 | 0u); + ctx.gpr[2] = (aot_gpr_16 | 0u); goto L_08B3AE4C; L_08B3AE4C: aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -7830,9 +7831,9 @@ L_08B3AE5C: AOT_REGCACHE_SYNC_OUT(); return; L_08B3AE6C: aot_gpr_5 = (2228u << 16u); - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(4484), aot_gpr_2); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(4484), ctx.gpr[2]); aot_gpr_4 = (ctx.gpr[28] + static_cast(4536)); - ctx.gpr[6] = (0u | 111u); + aot_gpr_6 = (0u | 111u); ctx.gpr[7] = (0u | 4096u); ctx.gpr[8] = (0u | 16384u); ctx.gpr[9] = (0u | 0u); @@ -7841,7 +7842,7 @@ L_08B3AE6C: ctx.pc = 0x08B734B4u; AOT_REGCACHE_SYNC_OUT(); return; L_08B3AE90: - { const bool branch_taken = static_cast(aot_gpr_2) >= 0; + { const bool branch_taken = static_cast(ctx.gpr[2]) >= 0; // nop if (branch_taken) { goto L_08B3AEA0; @@ -7857,15 +7858,15 @@ L_08B3AE98: goto L_08B3AEA0; } L_08B3AEA0: - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(4480), aot_gpr_2); - aot_gpr_4 = (aot_gpr_2 | 0u); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(4480), ctx.gpr[2]); + aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08B3AEB4u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); ctx.pc = 0x08B73464u; AOT_REGCACHE_SYNC_OUT(); return; L_08B3AEB4: - aot_gpr_2 = (0u | 0u); + ctx.gpr[2] = (0u | 0u); goto L_08B3AEB8; L_08B3AEB8: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -7885,7 +7886,7 @@ L_08B3AEC4: aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } ctx.gpr[18] = (aot_gpr_4 | 0u); ctx.gpr[17] = (aot_gpr_5 | 0u); - aot_gpr_16 = (ctx.gpr[6] | 0u); + aot_gpr_16 = (aot_gpr_6 | 0u); ctx.gpr[20] = (ctx.gpr[20] + static_cast(3)); ctx.gpr[19] = (ctx.gpr[19] + static_cast(1)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_31); @@ -7896,7 +7897,7 @@ L_08B3AEFC: ctx.pc = 0x08B73114u; AOT_REGCACHE_SYNC_OUT(); return; L_08B3AF04: - aot_gpr_4 = (aot_gpr_2 & 32u); + aot_gpr_4 = (ctx.gpr[2] & 32u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -7920,7 +7921,7 @@ L_08B3AF20: ctx.pc = 0x08B7311Cu; AOT_REGCACHE_SYNC_OUT(); return; L_08B3AF28: - { const bool branch_taken = static_cast(aot_gpr_2) >= 0; + { const bool branch_taken = static_cast(ctx.gpr[2]) >= 0; // nop if (branch_taken) { goto L_08B3AF38; @@ -7945,7 +7946,7 @@ L_08B3AF40: // nop goto L_08B3AAA4; L_08B3AF48: - { const bool branch_taken = static_cast(aot_gpr_2) >= 0; + { const bool branch_taken = static_cast(ctx.gpr[2]) >= 0; // nop if (branch_taken) { goto L_08B3AF58; @@ -7964,11 +7965,11 @@ L_08B3AF58: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B3AF68u); - ctx.gpr[6] = (aot_gpr_16 | 0u); + aot_gpr_6 = (aot_gpr_16 | 0u); ctx.pc = 0x08B73654u; AOT_REGCACHE_SYNC_OUT(); return; L_08B3AF68: - { const bool branch_taken = static_cast(aot_gpr_2) < 0; + { const bool branch_taken = static_cast(ctx.gpr[2]) < 0; // nop if (branch_taken) { goto L_08B3AF78; @@ -7984,7 +7985,7 @@ L_08B3AF70: goto L_08B3AF78; } L_08B3AF78: - { const bool branch_taken = aot_gpr_2 == ctx.gpr[20]; + { const bool branch_taken = ctx.gpr[2] == ctx.gpr[20]; // nop if (branch_taken) { goto L_08B3AF9C; @@ -7992,7 +7993,7 @@ L_08B3AF78: goto L_08B3AF80; } L_08B3AF80: - { const bool branch_taken = aot_gpr_2 == ctx.gpr[19]; + { const bool branch_taken = ctx.gpr[2] == ctx.gpr[19]; // nop if (branch_taken) { goto L_08B3AF9C; @@ -8005,7 +8006,7 @@ L_08B3AF88: ctx.pc = 0x08B73114u; AOT_REGCACHE_SYNC_OUT(); return; L_08B3AF90: - aot_gpr_4 = (aot_gpr_2 & 1u); + aot_gpr_4 = (ctx.gpr[2] & 1u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -8029,7 +8030,7 @@ L_08B3AFAC: ctx.pc = 0x08B7311Cu; AOT_REGCACHE_SYNC_OUT(); return; L_08B3AFB4: - { const bool branch_taken = static_cast(aot_gpr_2) >= 0; + { const bool branch_taken = static_cast(ctx.gpr[2]) >= 0; // nop if (branch_taken) { goto L_08B3AFC4; @@ -8065,7 +8066,7 @@ L_08B3AFDC: ctx.pc = 0x08B7311Cu; AOT_REGCACHE_SYNC_OUT(); return; L_08B3AFE4: - { const bool branch_taken = static_cast(aot_gpr_2) >= 0; + { const bool branch_taken = static_cast(ctx.gpr[2]) >= 0; // nop if (branch_taken) { goto L_08B3AFF4; @@ -8114,7 +8115,7 @@ L_08B3B024: { const std::uint32_t aot_run_words[3]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(4), aot_run_words); } ctx.gpr[19] = (ctx.gpr[7] | 0u); - ctx.gpr[18] = (ctx.gpr[6] | 0u); + ctx.gpr[18] = (aot_gpr_6 | 0u); ctx.gpr[17] = (ctx.gpr[8] | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); @@ -8122,7 +8123,7 @@ L_08B3B024: aot_gpr_16 = (aot_gpr_4 | 0u); goto L_08B3AAA4; L_08B3B050: - aot_gpr_4 = (aot_gpr_2 | 0u); + aot_gpr_4 = (ctx.gpr[2] | 0u); { const bool branch_taken = static_cast(aot_gpr_4) < 0; // nop if (branch_taken) { @@ -8133,21 +8134,21 @@ L_08B3B050: L_08B3B05C: ctx.gpr[7] = (ctx.gpr[19] | 0u); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (ctx.gpr[18] | 0u); + aot_gpr_6 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08B3B070u); ctx.gpr[8] = (ctx.gpr[17] | 0u); ctx.pc = 0x08B7362Cu; AOT_REGCACHE_SYNC_OUT(); return; L_08B3B070: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(4564))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(4560))); - ctx.gpr[17] = (static_cast(static_cast(aot_gpr_2) >> 31u)); - aot_gpr_16 = (aot_gpr_2 | 0u); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(4560))); + ctx.gpr[17] = (static_cast(static_cast(ctx.gpr[2]) >> 31u)); + aot_gpr_16 = (ctx.gpr[2] | 0u); aot_gpr_4 = (ctx.gpr[17] ^ ctx.gpr[7]); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); - ctx.gpr[6] = (aot_gpr_16 < ctx.gpr[6] ? 1u : 0u); + aot_gpr_6 = (aot_gpr_16 < aot_gpr_6 ? 1u : 0u); aot_gpr_5 = (static_cast(ctx.gpr[17]) < static_cast(ctx.gpr[7]) ? 1u : 0u); - aot_gpr_4 = (aot_gpr_4 & ctx.gpr[6]); + aot_gpr_4 = (aot_gpr_4 & aot_gpr_6); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -8163,7 +8164,7 @@ L_08B3B0A0: L_08B3B0A8: ctx.gpr[3] = (ctx.gpr[17] | 0u); { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (aot_gpr_16 | 0u); + ctx.gpr[2] = (aot_gpr_16 | 0u); if (branch_taken) { goto L_08B3B0C8; } @@ -8172,7 +8173,7 @@ L_08B3B0A8: L_08B3B0B4: ctx.gpr[3] = (static_cast(static_cast(aot_gpr_4) >> 31u)); { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (aot_gpr_4 | 0u); + ctx.gpr[2] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08B3B0C8; } @@ -8180,7 +8181,7 @@ L_08B3B0B4: } L_08B3B0C0: ctx.gpr[3] = (ctx.gpr[17] | 0u); - aot_gpr_2 = (aot_gpr_16 | 0u); + ctx.gpr[2] = (aot_gpr_16 | 0u); goto L_08B3B0C8; L_08B3B0C8: { std::uint32_t aot_run_words[5]{}; @@ -8207,7 +8208,7 @@ L_08B3B0E4: aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } ctx.gpr[18] = (aot_gpr_4 | 0u); ctx.gpr[17] = (aot_gpr_5 | 0u); - aot_gpr_16 = (ctx.gpr[6] | 0u); + aot_gpr_16 = (aot_gpr_6 | 0u); ctx.gpr[20] = (ctx.gpr[20] + static_cast(3)); ctx.gpr[19] = (ctx.gpr[19] + static_cast(1)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[21]); @@ -8219,7 +8220,7 @@ L_08B3B120: ctx.pc = 0x08B73114u; AOT_REGCACHE_SYNC_OUT(); return; L_08B3B128: - aot_gpr_4 = (aot_gpr_2 & 32u); + aot_gpr_4 = (ctx.gpr[2] & 32u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -8243,7 +8244,7 @@ L_08B3B144: ctx.pc = 0x08B7311Cu; AOT_REGCACHE_SYNC_OUT(); return; L_08B3B14C: - ctx.gpr[21] = (aot_gpr_2 | 0u); + ctx.gpr[21] = (ctx.gpr[2] | 0u); { const bool branch_taken = static_cast(ctx.gpr[21]) >= 0; // nop if (branch_taken) { @@ -8253,7 +8254,7 @@ L_08B3B14C: } L_08B3B158: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (ctx.gpr[21] | 0u); + ctx.gpr[2] = (ctx.gpr[21] | 0u); if (branch_taken) { goto L_08B3B240; } @@ -8269,7 +8270,7 @@ L_08B3B168: // nop goto L_08B3AAA4; L_08B3B170: - ctx.gpr[21] = (aot_gpr_2 | 0u); + ctx.gpr[21] = (ctx.gpr[2] | 0u); { const bool branch_taken = static_cast(ctx.gpr[21]) >= 0; // nop if (branch_taken) { @@ -8289,12 +8290,12 @@ L_08B3B184: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B3B194u); - ctx.gpr[6] = (aot_gpr_16 | 0u); + aot_gpr_6 = (aot_gpr_16 | 0u); ctx.pc = 0x08B73624u; AOT_REGCACHE_SYNC_OUT(); return; L_08B3B194: aot_gpr_31 = (0x08B3B19Cu); - ctx.gpr[21] = (aot_gpr_2 | 0u); + ctx.gpr[21] = (ctx.gpr[2] | 0u); goto L_08B3AAC8; L_08B3B19C: { const bool branch_taken = static_cast(ctx.gpr[21]) < 0; @@ -8334,7 +8335,7 @@ L_08B3B1BC: ctx.pc = 0x08B73114u; AOT_REGCACHE_SYNC_OUT(); return; L_08B3B1C4: - aot_gpr_4 = (aot_gpr_2 & 1u); + aot_gpr_4 = (ctx.gpr[2] & 1u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -8358,7 +8359,7 @@ L_08B3B1E0: ctx.pc = 0x08B7311Cu; AOT_REGCACHE_SYNC_OUT(); return; L_08B3B1E8: - ctx.gpr[21] = (aot_gpr_2 | 0u); + ctx.gpr[21] = (ctx.gpr[2] | 0u); { const bool branch_taken = static_cast(ctx.gpr[21]) >= 0; // nop if (branch_taken) { @@ -8395,7 +8396,7 @@ L_08B3B214: ctx.pc = 0x08B7311Cu; AOT_REGCACHE_SYNC_OUT(); return; L_08B3B21C: - ctx.gpr[21] = (aot_gpr_2 | 0u); + ctx.gpr[21] = (ctx.gpr[2] | 0u); { const bool branch_taken = static_cast(ctx.gpr[21]) >= 0; // nop if (branch_taken) { @@ -8446,7 +8447,7 @@ L_08B3B264: { const std::uint32_t aot_run_words[3]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(4), aot_run_words); } ctx.gpr[19] = (ctx.gpr[7] | 0u); - ctx.gpr[18] = (ctx.gpr[6] | 0u); + ctx.gpr[18] = (aot_gpr_6 | 0u); ctx.gpr[17] = (ctx.gpr[8] | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); @@ -8454,7 +8455,7 @@ L_08B3B264: aot_gpr_16 = (aot_gpr_4 | 0u); goto L_08B3AAA4; L_08B3B290: - aot_gpr_4 = (aot_gpr_2 | 0u); + aot_gpr_4 = (ctx.gpr[2] | 0u); { const bool branch_taken = static_cast(aot_gpr_4) < 0; // nop if (branch_taken) { @@ -8465,7 +8466,7 @@ L_08B3B290: L_08B3B29C: ctx.gpr[7] = (ctx.gpr[19] | 0u); aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (ctx.gpr[18] | 0u); + aot_gpr_6 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08B3B2B0u); ctx.gpr[8] = (ctx.gpr[17] | 0u); ctx.pc = 0x08B7369Cu; @@ -8474,12 +8475,12 @@ L_08B3B2B0: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(4564))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(4560))); ctx.gpr[17] = (ctx.gpr[3] | 0u); - aot_gpr_16 = (aot_gpr_2 | 0u); - ctx.gpr[6] = (ctx.gpr[17] ^ aot_gpr_5); - ctx.gpr[6] = (ctx.gpr[6] < static_cast(1) ? 1u : 0u); + aot_gpr_16 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (ctx.gpr[17] ^ aot_gpr_5); + aot_gpr_6 = (aot_gpr_6 < static_cast(1) ? 1u : 0u); aot_gpr_4 = (aot_gpr_16 < aot_gpr_4 ? 1u : 0u); ctx.gpr[7] = (static_cast(ctx.gpr[17]) < static_cast(aot_gpr_5) ? 1u : 0u); - aot_gpr_4 = (ctx.gpr[6] & aot_gpr_4); + aot_gpr_4 = (aot_gpr_6 & aot_gpr_4); aot_gpr_4 = (aot_gpr_4 | ctx.gpr[7]); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -8493,7 +8494,7 @@ L_08B3B2E0: // nop goto L_08B3AAC8; L_08B3B2E8: - aot_gpr_4 = (aot_gpr_2 | 0u); + aot_gpr_4 = (ctx.gpr[2] | 0u); { const bool branch_taken = static_cast(aot_gpr_4) >= 0; // nop if (branch_taken) { @@ -8504,7 +8505,7 @@ L_08B3B2E8: L_08B3B2F4: ctx.gpr[3] = (static_cast(static_cast(aot_gpr_4) >> 31u)); { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (aot_gpr_4 | 0u); + ctx.gpr[2] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08B3B328; } @@ -8517,7 +8518,7 @@ L_08B3B300: L_08B3B308: ctx.gpr[3] = (ctx.gpr[17] | 0u); { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (aot_gpr_16 | 0u); + ctx.gpr[2] = (aot_gpr_16 | 0u); if (branch_taken) { goto L_08B3B328; } @@ -8526,7 +8527,7 @@ L_08B3B308: L_08B3B314: ctx.gpr[3] = (static_cast(static_cast(aot_gpr_4) >> 31u)); { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (aot_gpr_4 | 0u); + ctx.gpr[2] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08B3B328; } @@ -8534,7 +8535,7 @@ L_08B3B314: } L_08B3B320: ctx.gpr[3] = (ctx.gpr[17] | 0u); - aot_gpr_2 = (aot_gpr_16 | 0u); + ctx.gpr[2] = (aot_gpr_16 | 0u); goto L_08B3B328; L_08B3B328: { std::uint32_t aot_run_words[5]{}; @@ -8584,7 +8585,7 @@ L_08B3B384: AOT_REGCACHE_SYNC_OUT(); return; L_08B3B38C: ctx.gpr[20] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(0)))))); - { const bool branch_taken = aot_gpr_2 == 0u; + { const bool branch_taken = ctx.gpr[2] == 0u; aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[19] + static_cast(0)))))); if (branch_taken) { goto L_08B3B3A8; @@ -8607,7 +8608,7 @@ L_08B3B3A8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0212_entry, 212u, 340u, 0x08B552D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3B3B0u) goto L_08B3B3B0; AOT_REGCACHE_SYNC_OUT(); return; L_08B3B3B0: - { const bool branch_taken = aot_gpr_2 == 0u; + { const bool branch_taken = ctx.gpr[2] == 0u; aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[19] + static_cast(0)))))); if (branch_taken) { goto L_08B3B3C8; @@ -8688,14 +8689,14 @@ L_08B3B400: } L_08B3B410: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (0u + static_cast(-1)); + ctx.gpr[2] = (0u + static_cast(-1)); if (branch_taken) { goto L_08B3B41C; } goto L_08B3B418; } L_08B3B418: - aot_gpr_2 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); + ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); goto L_08B3B41C; L_08B3B41C: { std::uint32_t aot_run_words[6]{}; @@ -8715,7 +8716,7 @@ L_08B3B41C: AOT_REGCACHE_SYNC_OUT(); return; L_08B3B43C: ctx.gpr[7] = (0u | 10u); - ctx.gpr[6] = (0u | 13u); + aot_gpr_6 = (0u | 13u); ctx.gpr[8] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0)))))); goto L_08B3B448; L_08B3B448: @@ -8727,7 +8728,7 @@ L_08B3B448: goto L_08B3B450; } L_08B3B450: - { const bool branch_taken = ctx.gpr[8] != ctx.gpr[6]; + { const bool branch_taken = ctx.gpr[8] != aot_gpr_6; // nop if (branch_taken) { goto L_08B3B464; @@ -8761,7 +8762,7 @@ L_08B3B46C: } L_08B3B474: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (0u | 0u); + ctx.gpr[2] = (0u | 0u); if (branch_taken) { goto L_08B3B4B0; } @@ -8776,7 +8777,7 @@ L_08B3B47C: goto L_08B3B484; } L_08B3B484: - { const bool branch_taken = ctx.gpr[8] == ctx.gpr[6]; + { const bool branch_taken = ctx.gpr[8] == aot_gpr_6; // nop if (branch_taken) { goto L_08B3B4A8; @@ -8804,7 +8805,7 @@ L_08B3B494: } L_08B3B4A8: aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(0), static_cast(0u)); - aot_gpr_2 = (aot_gpr_4 | 0u); + ctx.gpr[2] = (aot_gpr_4 | 0u); goto L_08B3B4B0; L_08B3B4B0: jump_target = aot_gpr_31; @@ -8825,16 +8826,16 @@ L_08B3B4B8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0085_entry, 85u, 525u, 0x0895B9F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3B4DCu) goto L_08B3B4DC; AOT_REGCACHE_SYNC_OUT(); return; L_08B3B4DC: - aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(12))); + aot_fpr_20 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(12))); aot_gpr_31 = (0x08B3B4E8u); aot_gpr_4 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0085_entry, 85u, 525u, 0x0895B9F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3B4E8u) goto L_08B3B4E8; AOT_REGCACHE_SYNC_OUT(); return; L_08B3B4E8: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(0))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(4))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(0))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(4))); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(8))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(8))); aot_gpr_5 = (std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_4); aot_gpr_4 = (std::bit_cast(aot_fpr_14)); @@ -8852,7 +8853,7 @@ L_08B3B51C: aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_5 = (aot_gpr_29 | 0u); aot_gpr_31 = (0x08B3B530u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 233u, 0x088618A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3B530u) goto L_08B3B530; AOT_REGCACHE_SYNC_OUT(); return; L_08B3B530: @@ -8892,7 +8893,7 @@ L_08B3B57C: aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(0), std::bit_cast(aot_fpr_20)); goto L_08B3B580; L_08B3B580: - aot_gpr_2 = (aot_gpr_16 | 0u); + ctx.gpr[2] = (aot_gpr_16 | 0u); { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(12), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); @@ -8909,10 +8910,10 @@ L_08B3B580: AOT_REGCACHE_SYNC_OUT(); return; L_08B3B5A0: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - ctx.gpr[6] = (aot_gpr_5 << 6u); + aot_gpr_6 = (aot_gpr_5 << 6u); aot_gpr_5 = (aot_gpr_5 << 4u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_16); - aot_gpr_16 = (ctx.gpr[6] + aot_gpr_5); + aot_gpr_16 = (aot_gpr_6 + aot_gpr_5); aot_gpr_5 = (2246u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(27328)); aot_gpr_5 = (aot_gpr_5 + static_cast(-30400)); @@ -8924,7 +8925,7 @@ L_08B3B5A0: aot_gpr_5 = (aot_gpr_5 + static_cast(-19272)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_31); aot_gpr_31 = (0x08B3B5E4u); - ctx.gpr[6] = (aot_gpr_29 + static_cast(16)); + aot_gpr_6 = (aot_gpr_29 + static_cast(16)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 82u, 0x089D86FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3B5E4u) goto L_08B3B5E4; AOT_REGCACHE_SYNC_OUT(); return; L_08B3B5E4: @@ -9009,7 +9010,7 @@ L_08B3B618: L_08B3B670: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (ctx.gpr[6] | 0u); + aot_gpr_16 = (aot_gpr_6 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); ctx.gpr[17] = (ctx.gpr[7] | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); @@ -9020,14 +9021,14 @@ L_08B3B670: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0038_entry, 38u, 621u, 0x0889EB08u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3B698u) goto L_08B3B698; AOT_REGCACHE_SYNC_OUT(); return; L_08B3B698: - aot_gpr_4 = (aot_gpr_2 | 0u); + aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08B3B6A4u); aot_gpr_5 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 251u, 0x08969194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3B6A4u) goto L_08B3B6A4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08969194, 89u, 251u, 0x08969194u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 251u, 0x08969194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3B6A4u) goto L_08B3B6A4; AOT_REGCACHE_SYNC_OUT(); return; L_08B3B6A4: aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(500), aot_gpr_16); - aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(496), aot_gpr_2); + aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(496), ctx.gpr[2]); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; @@ -9044,12 +9045,12 @@ L_08B3B6A4: L_08B3B6C4: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); - ctx.gpr[6] = (static_cast(aot_gpr_5) < 380 ? 1u : 0u); + aot_gpr_6 = (static_cast(aot_gpr_5) < 380 ? 1u : 0u); ctx.gpr[17] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); { const std::uint32_t aot_run_words[3]{ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(8), aot_run_words); } - { const bool branch_taken = ctx.gpr[6] != 0u; + { const bool branch_taken = aot_gpr_6 != 0u; aot_gpr_16 = (aot_gpr_5 | 0u); if (branch_taken) { goto L_08B3B78C; @@ -9066,17 +9067,17 @@ L_08B3B6EC: goto L_08B3B6F8; } L_08B3B6F8: - ctx.gpr[6] = (aot_gpr_16 << 6u); + aot_gpr_6 = (aot_gpr_16 << 6u); ctx.gpr[7] = (aot_gpr_16 << 4u); - ctx.gpr[18] = (ctx.gpr[6] + ctx.gpr[7]); - ctx.gpr[6] = (2246u << 16u); + ctx.gpr[18] = (aot_gpr_6 + ctx.gpr[7]); + aot_gpr_6 = (2246u << 16u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(27328)); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(-30400)); + aot_gpr_6 = (aot_gpr_6 + static_cast(27328)); + aot_gpr_6 = (aot_gpr_6 + static_cast(-30400)); aot_gpr_4 = (0u | 0u); aot_gpr_5 = (static_cast(aot_gpr_16) < static_cast(aot_gpr_5) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; - ctx.gpr[18] = (ctx.gpr[18] + ctx.gpr[6]); + ctx.gpr[18] = (ctx.gpr[18] + aot_gpr_6); if (branch_taken) { goto L_08B3B734; } @@ -9110,17 +9111,17 @@ L_08B3B750: L_08B3B760: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(36))); aot_gpr_5 = (aot_gpr_5 + static_cast(48)); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); jump_target = aot_gpr_5; aot_gpr_31 = (0x08B3B778u); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3B778u) goto L_08B3B778; AOT_REGCACHE_SYNC_OUT(); return; L_08B3B778: aot_fpr_12 = std::bit_cast(0u); - aot_gpr_4 = (aot_gpr_2 | 0u); + aot_gpr_4 = (ctx.gpr[2] | 0u); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(12), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08B3B78Cu); aot_gpr_5 = (aot_gpr_16 | 0u); @@ -9132,7 +9133,7 @@ L_08B3B78C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0009_entry, 9u, 392u, 0x0882B994u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3B798u) goto L_08B3B798; AOT_REGCACHE_SYNC_OUT(); return; L_08B3B798: - ctx.gpr[19] = (aot_gpr_2 | 0u); + ctx.gpr[19] = (ctx.gpr[2] | 0u); { const bool branch_taken = ctx.gpr[19] == 0u; aot_gpr_5 = (aot_gpr_16 | 0u); if (branch_taken) { @@ -9153,11 +9154,11 @@ L_08B3B7B4: aot_gpr_16 = (ctx.gpr[18] | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(92))); aot_gpr_4 = (aot_gpr_4 + static_cast(48)); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x08B3B7D0u); - aot_gpr_4 = (aot_gpr_16 + ctx.gpr[6]); + aot_gpr_4 = (aot_gpr_16 + aot_gpr_6); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3B7D0u) goto L_08B3B7D0; AOT_REGCACHE_SYNC_OUT(); return; @@ -9182,7 +9183,7 @@ L_08B3B7E8: aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(7740), aot_gpr_16); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(80))); - aot_gpr_2 = (ctx.gpr[18] | 0u); + ctx.gpr[2] = (ctx.gpr[18] | 0u); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(80), aot_gpr_4); { std::uint32_t aot_run_words[5]{}; @@ -9230,14 +9231,14 @@ L_08B3B84C: goto L_08B3B864; L_08B3B864: { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (aot_gpr_16 & 255u); + ctx.gpr[2] = (aot_gpr_16 & 255u); if (branch_taken) { goto L_08B3B870; } goto L_08B3B86C; } L_08B3B86C: - aot_gpr_2 = (0u | 1u); + ctx.gpr[2] = (0u | 1u); goto L_08B3B870; L_08B3B870: aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -9265,17 +9266,17 @@ L_08B3B880: L_08B3B8A8: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_13)); { const bool branch_taken = 0u == 0u; - aot_gpr_2 = (std::bit_cast(aot_fpr_12)); + ctx.gpr[2] = (std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_08B3B8C4; } goto L_08B3B8B4; } L_08B3B8B4: - aot_gpr_2 = (32768u << 16u); + ctx.gpr[2] = (32768u << 16u); aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); - aot_gpr_2 = (aot_gpr_4 + aot_gpr_2); + ctx.gpr[2] = (aot_gpr_4 + ctx.gpr[2]); goto L_08B3B8C4; L_08B3B8C4: jump_target = aot_gpr_31; @@ -9287,7 +9288,7 @@ L_08B3B8C4: L_08B3B8CC: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); - ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(80))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(80))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08B3B8E8u); @@ -9295,7 +9296,7 @@ L_08B3B8CC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0055_entry, 55u, 222u, 0x088E2728u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3B8E8u) goto L_08B3B8E8; AOT_REGCACHE_SYNC_OUT(); return; L_08B3B8E8: - aot_gpr_16 = (aot_gpr_2 | 0u); + aot_gpr_16 = (ctx.gpr[2] | 0u); aot_fpr_12 = std::bit_cast(0u); aot_gpr_31 = (0x08B3B8F8u); aot_gpr_4 = (aot_gpr_16 | 0u); @@ -9385,7 +9386,7 @@ L_08B3B9A4: goto L_08B3B9A8; L_08B3B9A8: aot_gpr_5 = (0u | 0u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x08B3B9BCu); ctx.gpr[8] = (0u | 1u); @@ -9404,9 +9405,9 @@ L_08B3B9CC: aot_gpr_29 = (aot_gpr_29 + static_cast(-128)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(104))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(80))); - ctx.gpr[6] = (16256u << 16u); + aot_gpr_6 = (16256u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(100), ctx.gpr[21]); - aot_fpr_13 = std::bit_cast(ctx.gpr[6]); + aot_fpr_13 = std::bit_cast(aot_gpr_6); ctx.gpr[21] = (aot_gpr_5 + static_cast(-1)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(84), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(108), ctx.gpr[23]); @@ -9442,7 +9443,7 @@ L_08B3BA34: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0018_entry, 18u, 271u, 0x0884D5D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3BA48u) goto L_08B3BA48; AOT_REGCACHE_SYNC_OUT(); return; L_08B3BA48: - aot_gpr_4 = (aot_gpr_2 | 0u); + aot_gpr_4 = (ctx.gpr[2] | 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -9463,9 +9464,9 @@ L_08B3BA54: } goto L_08B3BA74; L_08B3BA74: - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); aot_gpr_5 = (0u + static_cast(-65)); - aot_gpr_5 = (ctx.gpr[6] & aot_gpr_5); + aot_gpr_5 = (aot_gpr_6 & aot_gpr_5); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(8), aot_gpr_5); if (branch_taken) { @@ -9475,11 +9476,11 @@ L_08B3BA74: } L_08B3BA88: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); - ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0))); - ctx.gpr[6] = (ctx.gpr[6] & 2u); - ctx.gpr[6] = (0u < ctx.gpr[6] ? 1u : 0u); - ctx.gpr[6] = (ctx.gpr[6] & 255u); - if (ctx.gpr[6] == 0u) { + aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0))); + aot_gpr_6 = (aot_gpr_6 & 2u); + aot_gpr_6 = (0u < aot_gpr_6 ? 1u : 0u); + aot_gpr_6 = (aot_gpr_6 & 255u); + if (aot_gpr_6 == 0u) { aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); goto L_08B3BAB0; } @@ -9716,8 +9717,8 @@ L_08B3BC3C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0134_entry, 134u, 41u, 0x08A1C544u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3BC4Cu) goto L_08B3BC4C; AOT_REGCACHE_SYNC_OUT(); return; L_08B3BC4C: - aot_fpr_12 = std::bit_cast(aot_gpr_2); - { const bool branch_taken = static_cast(aot_gpr_2) >= 0; + aot_fpr_12 = std::bit_cast(ctx.gpr[2]); + { const bool branch_taken = static_cast(ctx.gpr[2]) >= 0; aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); if (branch_taken) { goto L_08B3BC64; @@ -9746,17 +9747,17 @@ L_08B3BC7C: L_08B3BC84: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7800))); aot_gpr_5 = (2238u << 16u); - ctx.gpr[6] = (aot_gpr_4 + aot_gpr_4); + aot_gpr_6 = (aot_gpr_4 + aot_gpr_4); ctx.gpr[7] = (aot_gpr_4 << 8u); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); aot_gpr_4 = (aot_gpr_4 << 5u); aot_gpr_4 = (ctx.gpr[7] + aot_gpr_4); aot_gpr_5 = (aot_gpr_5 + static_cast(-6992)); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(72))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(72))); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_5 = (8u << 16u); - aot_gpr_5 = (ctx.gpr[6] | aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_2 + static_cast(72), aot_gpr_5); + aot_gpr_5 = (aot_gpr_6 | aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast(72), aot_gpr_5); aot_gpr_31 = (0x08B3BCC0u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 8u, 0x08964108u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3BCC0u) goto L_08B3BCC0; @@ -9811,7 +9812,7 @@ L_08B3BD40: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0186_entry, 186u, 146u, 0x08AEC930u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3BD54u) goto L_08B3BD54; AOT_REGCACHE_SYNC_OUT(); return; L_08B3BD54: - { const bool branch_taken = aot_gpr_2 == 0u; + { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_08B3BE60; @@ -9820,7 +9821,7 @@ L_08B3BD54: } L_08B3BD5C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(160))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[21]); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4476))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4480))); @@ -9829,11 +9830,11 @@ L_08B3BD5C: { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_13), std::bit_cast(aot_fpr_14), std::bit_cast(ctx.fpr[15])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(160), aot_run_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); - aot_gpr_4 = (ctx.gpr[6] | 0u); + aot_gpr_4 = (aot_gpr_6 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[23]); aot_gpr_5 = (aot_gpr_29 + static_cast(160)); ctx.gpr[7] = (aot_gpr_29 + static_cast(20)); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); ctx.gpr[8] = (0u | 32u); ctx.gpr[9] = (ctx.gpr[30] | 0u); ctx.gpr[10] = (0u | 1u); @@ -9868,9 +9869,9 @@ L_08B3BDC8: } L_08B3BDE4: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(160))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(160))); aot_gpr_5 = (aot_gpr_5 << 2u); - aot_gpr_5 = (ctx.gpr[6] + aot_gpr_5); + aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(6676), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(160))); @@ -9878,7 +9879,7 @@ L_08B3BDE4: aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(6676))); { const bool branch_taken = aot_gpr_5 == 0u; - ctx.gpr[6] = (aot_gpr_4 + static_cast(6676)); + aot_gpr_6 = (aot_gpr_4 + static_cast(6676)); if (branch_taken) { goto L_08B3BE34; } @@ -9887,8 +9888,8 @@ L_08B3BDE4: L_08B3BE14: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x08B3BE20u); - aot_gpr_5 = (ctx.gpr[6] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3BE20u) goto L_08B3BE20; + aot_gpr_5 = (aot_gpr_6 | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3BE20u) goto L_08B3BE20; AOT_REGCACHE_SYNC_OUT(); return; L_08B3BE20: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); @@ -9991,7 +9992,7 @@ L_08B3BEFC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 607u, 0x08AD3698u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3BF04u) goto L_08B3BF04; AOT_REGCACHE_SYNC_OUT(); return; L_08B3BF04: - { const bool branch_taken = aot_gpr_2 == 0u; + { const bool branch_taken = ctx.gpr[2] == 0u; // nop if (branch_taken) { goto L_08B3BF28; @@ -10062,7 +10063,7 @@ L_08B3BF64: aot_gpr_4 = (aot_gpr_16 | 0u); goto L_08B3B6C4; L_08B3BF74: - ctx.gpr[20] = (aot_gpr_2 | 0u); + ctx.gpr[20] = (ctx.gpr[2] | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(160))); goto L_08B3BF7C; L_08B3BF7C: @@ -10079,7 +10080,7 @@ L_08B3BF8C: aot_gpr_5 = (aot_gpr_4 + static_cast(1650)); aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B3BF9Cu); - ctx.gpr[6] = (ctx.gpr[20] | 0u); + aot_gpr_6 = (ctx.gpr[20] | 0u); goto L_08B3B8CC; L_08B3BF9C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(60))); @@ -10107,15 +10108,15 @@ L_08B3BFB4: L_08B3BFC8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(160))); aot_gpr_5 = (aot_gpr_4 + ctx.gpr[18]); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(8200))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(8200))); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(8196))); - ctx.gpr[6] = (ctx.gpr[6] << 2u); - ctx.gpr[6] = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_6 = (aot_gpr_6 << 2u); + aot_gpr_6 = (aot_gpr_4 + aot_gpr_6); ctx.gpr[7] = (ctx.gpr[7] << 2u); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[7]); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(8204))); - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(7740))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(7740))); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(7740))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(7740))); aot_gpr_31 = (0x08B3BFFCu); aot_gpr_4 = (aot_gpr_16 | 0u); goto L_08B3B670; diff --git a/profiles/vcs/generated/generated_unit_0206.cpp b/profiles/vcs/generated/generated_unit_0206.cpp index 7a73d16..ec96170 100644 --- a/profiles/vcs/generated/generated_unit_0206.cpp +++ b/profiles/vcs/generated/generated_unit_0206.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0206[4096] = { }; void recomp_unit_0206_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,6,31,16 fprs=12,13,14,15 gpr_occ=4380 fpr_occ=194 gpr_total=6303 fpr_total=268 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,6,31,7 fprs=12,13,14,15 gpr_occ=4565 fpr_occ=206 gpr_total=6703 fpr_total=280 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_6 = ctx.gpr[6]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; - std::uint32_t aot_gpr_16 = ctx.gpr[16]; + std::uint32_t aot_gpr_7 = ctx.gpr[7]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_14 = ctx.fpr[14]; float aot_fpr_15 = ctx.fpr[15]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[6] = aot_gpr_6; ctx.gpr[31] = aot_gpr_31; ctx.gpr[16] = aot_gpr_16; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[15] = aot_fpr_15; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_16 = ctx.gpr[16]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_15 = ctx.fpr[15]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[6] = aot_gpr_6; ctx.gpr[31] = aot_gpr_31; ctx.gpr[7] = aot_gpr_7; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[15] = aot_fpr_15; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_7 = ctx.gpr[7]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_15 = ctx.fpr[15]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -1074,7 +1075,7 @@ L_08B3C000: L_08B3C010: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -1091,7 +1092,7 @@ L_08B3C030: aot_gpr_29 = (aot_gpr_29 + static_cast(-80)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), ctx.gpr[18]); ctx.gpr[18] = (aot_gpr_4 | 0u); - { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[20]), aot_gpr_16, ctx.gpr[17]}; + { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[20]), ctx.gpr[16], ctx.gpr[17]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(36), aot_run_words); } { const std::uint32_t aot_run_words[7]{ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(52), aot_run_words); } @@ -1117,7 +1118,7 @@ L_08B3C07C: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_6 = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x08B3C0A8u); - ctx.gpr[7] = (ctx.gpr[22] | 0u); + aot_gpr_7 = (ctx.gpr[22] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0212_entry, 212u, 576u, 0x08B562D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3C0A8u) goto L_08B3C0A8; AOT_REGCACHE_SYNC_OUT(); return; L_08B3C0A8: @@ -1141,7 +1142,7 @@ L_08B3C0D0: aot_gpr_6 = (aot_gpr_29 + static_cast(4)); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B3C0E4u); - ctx.gpr[7] = (aot_gpr_29 | 0u); + aot_gpr_7 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0025_entry, 25u, 484u, 0x0886A440u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3C0E4u) goto L_08B3C0E4; AOT_REGCACHE_SYNC_OUT(); return; L_08B3C0E4: @@ -1193,9 +1194,9 @@ L_08B3C128: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 501u, 0x08ABE57Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3C13Cu) goto L_08B3C13C; AOT_REGCACHE_SYNC_OUT(); return; L_08B3C13C: - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (ctx.gpr[2] | 0u); aot_gpr_4 = (ctx.gpr[23] | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B3C150u); aot_gpr_6 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0164_entry, 164u, 199u, 0x08A94FC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3C150u) goto L_08B3C150; @@ -1208,7 +1209,7 @@ L_08B3C150: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), 0u); aot_gpr_4 = (aot_gpr_29 + static_cast(8)); aot_gpr_31 = (0x08B3C170u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0139_entry, 139u, 285u, 0x08A3137Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3C170u) goto L_08B3C170; AOT_REGCACHE_SYNC_OUT(); return; L_08B3C170: @@ -1255,13 +1256,13 @@ L_08B3C1AC: aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_6 = (ctx.gpr[30] | 0u); aot_gpr_31 = (0x08B3C1BCu); - ctx.gpr[7] = (aot_gpr_16 | 0u); + aot_gpr_7 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 549u, 0x0893E214u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3C1BCu) goto L_08B3C1BC; AOT_REGCACHE_SYNC_OUT(); return; L_08B3C1BC: aot_gpr_4 = (ctx.gpr[20] | 0u); ctx.gpr[19] = (0u | 1u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B3C1D0u); aot_gpr_6 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 563u, 0x08ABE988u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3C1D0u) goto L_08B3C1D0; @@ -1273,10 +1274,10 @@ L_08B3C1D0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0164_entry, 164u, 179u, 0x08A94EB4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3C1DCu) goto L_08B3C1DC; AOT_REGCACHE_SYNC_OUT(); return; L_08B3C1DC: - ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(160))); + aot_gpr_7 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(160))); aot_gpr_4 = (ctx.gpr[18] + static_cast(36)); - aot_gpr_6 = (ctx.gpr[7] + static_cast(1650)); - ctx.gpr[7] = (ctx.gpr[7] + static_cast(50)); + aot_gpr_6 = (aot_gpr_7 + static_cast(1650)); + aot_gpr_7 = (aot_gpr_7 + static_cast(50)); aot_gpr_5 = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x08B3C1F8u); ctx.gpr[8] = (0u | 32u); @@ -1298,7 +1299,7 @@ L_08B3C204: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_6 = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x08B3C218u); - ctx.gpr[7] = (ctx.gpr[22] | 0u); + aot_gpr_7 = (ctx.gpr[22] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0212_entry, 212u, 576u, 0x08B562D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3C218u) goto L_08B3C218; AOT_REGCACHE_SYNC_OUT(); return; L_08B3C218: @@ -1320,7 +1321,7 @@ L_08B3C238: aot_gpr_6 = (aot_gpr_29 + static_cast(4)); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B3C24Cu); - ctx.gpr[7] = (aot_gpr_29 | 0u); + aot_gpr_7 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0025_entry, 25u, 484u, 0x0886A440u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3C24Cu) goto L_08B3C24C; AOT_REGCACHE_SYNC_OUT(); return; L_08B3C24C: @@ -1343,9 +1344,9 @@ L_08B3C254: L_08B3C26C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_4 = (aot_gpr_4 << 11u); - aot_gpr_16 = (0u + aot_gpr_4); + ctx.gpr[16] = (0u + aot_gpr_4); aot_gpr_31 = (0x08B3C280u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 694u, 0x08AD3BD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3C280u) goto L_08B3C280; AOT_REGCACHE_SYNC_OUT(); return; L_08B3C280: @@ -1353,7 +1354,7 @@ L_08B3C280: ctx.gpr[17] = (aot_gpr_4 + static_cast(31984)); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B3C294u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 501u, 0x08ABE57Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3C294u) goto L_08B3C294; AOT_REGCACHE_SYNC_OUT(); return; L_08B3C294: @@ -1361,7 +1362,7 @@ L_08B3C294: aot_gpr_4 = (ctx.gpr[22] | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08B3C2A8u); - aot_gpr_6 = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 361u, 0x088713D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3C2A8u) goto L_08B3C2A8; AOT_REGCACHE_SYNC_OUT(); return; L_08B3C2A8: @@ -1385,7 +1386,7 @@ L_08B3C2C8: AOT_REGCACHE_SYNC_OUT(); return; L_08B3C2DC: aot_gpr_4 = (ctx.gpr[17] | 0u); - aot_gpr_16 = (0u | 1u); + ctx.gpr[16] = (0u | 1u); aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08B3C2F0u); aot_gpr_6 = (0u | 1u); @@ -1393,7 +1394,7 @@ L_08B3C2DC: AOT_REGCACHE_SYNC_OUT(); return; L_08B3C2F0: { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(158), static_cast(aot_gpr_16)); + aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(158), static_cast(ctx.gpr[16])); if (branch_taken) { goto L_08B3C2FC; } @@ -1423,7 +1424,7 @@ L_08B3C31C: { std::uint32_t aot_run_words[11]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(36), aot_run_words); ctx.fpr[20] = std::bit_cast(aot_run_words[0]); - aot_gpr_16 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[1]; ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; ctx.gpr[19] = aot_run_words[4]; @@ -1442,8 +1443,8 @@ L_08B3C31C: AOT_REGCACHE_SYNC_OUT(); return; L_08B3C350: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_5 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_5 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08B3C36Cu); @@ -1470,7 +1471,7 @@ L_08B3C384: L_08B3C38C: aot_gpr_4 = (ctx.gpr[17] + static_cast(8)); aot_gpr_31 = (0x08B3C398u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 63u, 0x08B5831Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3C398u) goto L_08B3C398; AOT_REGCACHE_SYNC_OUT(); return; L_08B3C398: @@ -1485,7 +1486,7 @@ L_08B3C3A0: L_08B3C3A8: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -1501,7 +1502,7 @@ L_08B3C3BC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1448), ctx.gpr[20]); ctx.gpr[18] = (aot_gpr_4 | 0u); ctx.gpr[20] = (0u | 0u); - { const std::uint32_t aot_run_words[8]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), aot_gpr_16, ctx.gpr[17]}; + { const std::uint32_t aot_run_words[8]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), ctx.gpr[16], ctx.gpr[17]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(1408), aot_run_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1444), ctx.gpr[19]); { const std::uint32_t aot_run_words[5]{ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; @@ -1517,8 +1518,8 @@ L_08B3C410: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0018_entry, 18u, 104u, 0x0884C9C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3C41Cu) goto L_08B3C41C; AOT_REGCACHE_SYNC_OUT(); return; L_08B3C41C: - aot_gpr_16 = (ctx.gpr[18] + static_cast(8)); - ctx.gpr[17] = (aot_gpr_16 | 0u); + ctx.gpr[16] = (ctx.gpr[18] + static_cast(8)); + ctx.gpr[17] = (ctx.gpr[16] | 0u); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(0)))))); ctx.gpr[21] = (2238u << 16u); ctx.gpr[19] = (ctx.gpr[28] + static_cast(5060)); @@ -1633,7 +1634,7 @@ L_08B3C4BC: AOT_REGCACHE_SYNC_OUT(); return; L_08B3C4CC: aot_gpr_31 = (0x08B3C4D4u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0205_entry, 205u, 910u, 0x08B3B344u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3C4D4u) goto L_08B3C4D4; AOT_REGCACHE_SYNC_OUT(); return; L_08B3C4D4: @@ -1857,13 +1858,13 @@ L_08B3C6A4: aot_gpr_5 = (ctx.gpr[28] + static_cast(5072)); aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x08B3C6B4u); - aot_gpr_6 = (aot_gpr_16 | 0u); + aot_gpr_6 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0212_entry, 212u, 576u, 0x08B562D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3C6B4u) goto L_08B3C6B4; AOT_REGCACHE_SYNC_OUT(); return; L_08B3C6B4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(56))); aot_gpr_6 = (aot_gpr_29 + static_cast(20)); - ctx.gpr[7] = (aot_gpr_29 + static_cast(16)); + aot_gpr_7 = (aot_gpr_29 + static_cast(16)); aot_gpr_31 = (0x08B3C6C8u); aot_gpr_5 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0025_entry, 25u, 484u, 0x0886A440u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3C6C8u) goto L_08B3C6C8; @@ -1901,9 +1902,9 @@ L_08B3C700: aot_gpr_6 = (2235u << 16u); aot_gpr_6 = (aot_gpr_6 + static_cast(1289)); aot_gpr_5 = (2233u << 16u); - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (ctx.gpr[2] | 0u); aot_gpr_4 = (ctx.gpr[21] | 0u); - ctx.gpr[7] = (aot_gpr_6 | 0u); + aot_gpr_7 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x08B3C720u); aot_gpr_5 = (aot_gpr_5 + static_cast(-30952)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0212_entry, 212u, 576u, 0x08B562D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3C720u) goto L_08B3C720; @@ -1926,7 +1927,7 @@ L_08B3C740: aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B3C750u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0164_entry, 164u, 199u, 0x08A94FC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3C750u) goto L_08B3C750; AOT_REGCACHE_SYNC_OUT(); return; L_08B3C750: @@ -1937,7 +1938,7 @@ L_08B3C750: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1052), 0u); aot_gpr_4 = (aot_gpr_29 + static_cast(1048)); aot_gpr_31 = (0x08B3C770u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0139_entry, 139u, 285u, 0x08A3137Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3C770u) goto L_08B3C770; AOT_REGCACHE_SYNC_OUT(); return; L_08B3C770: @@ -1958,18 +1959,18 @@ L_08B3C784: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1388), aot_gpr_4); aot_gpr_6 = (ctx.gpr[28] + static_cast(5092)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1384), aot_gpr_5); - ctx.gpr[7] = (ctx.gpr[28] + static_cast(5100)); + aot_gpr_7 = (ctx.gpr[28] + static_cast(5100)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1380), aot_gpr_6); aot_gpr_4 = (ctx.gpr[28] + static_cast(5108)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1376), ctx.gpr[7]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1376), aot_gpr_7); aot_gpr_5 = (ctx.gpr[28] + static_cast(5120)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1372), aot_gpr_4); aot_gpr_6 = (ctx.gpr[28] + static_cast(5128)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1368), aot_gpr_5); - ctx.gpr[7] = (ctx.gpr[28] + static_cast(5136)); + aot_gpr_7 = (ctx.gpr[28] + static_cast(5136)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1364), aot_gpr_6); aot_gpr_4 = (ctx.gpr[28] + static_cast(5144)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1360), ctx.gpr[7]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1360), aot_gpr_7); aot_gpr_5 = (ctx.gpr[28] + static_cast(5156)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1356), aot_gpr_4); aot_gpr_6 = (ctx.gpr[28] + static_cast(5160)); @@ -1982,15 +1983,15 @@ L_08B3C784: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1344), aot_gpr_5); aot_gpr_4 = (ctx.gpr[28] + static_cast(5220)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1340), aot_gpr_6); - ctx.gpr[7] = (ctx.gpr[28] + static_cast(5208)); + aot_gpr_7 = (ctx.gpr[28] + static_cast(5208)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1312), aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1336), ctx.gpr[7]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1336), aot_gpr_7); ctx.gpr[23] = (aot_gpr_29 + static_cast(1180)); ctx.gpr[19] = (aot_gpr_29 + static_cast(1140)); ctx.gpr[30] = (aot_gpr_29 + static_cast(1108)); ctx.gpr[22] = (ctx.gpr[28] + static_cast(5180)); ctx.gpr[21] = (aot_gpr_29 + static_cast(24)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1392), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1392), ctx.gpr[16]); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1324))); goto L_08B3C830; L_08B3C830: @@ -2011,7 +2012,7 @@ L_08B3C844: aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0)))))); { const bool branch_taken = aot_gpr_5 == 0u; - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1388))); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1388))); if (branch_taken) { goto L_08B3C878; } @@ -2019,7 +2020,7 @@ L_08B3C844: } L_08B3C854: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0)))))); - aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[7] + static_cast(0)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_7 + static_cast(0)))))); { const bool branch_taken = aot_gpr_5 == aot_gpr_6; aot_gpr_4 = (aot_gpr_4 + static_cast(1)); if (branch_taken) { @@ -2038,14 +2039,14 @@ L_08B3C864: L_08B3C86C: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0)))))); { const bool branch_taken = aot_gpr_5 != 0u; - ctx.gpr[7] = (ctx.gpr[7] + static_cast(1)); + aot_gpr_7 = (aot_gpr_7 + static_cast(1)); if (branch_taken) { goto L_08B3C854; } goto L_08B3C878; } L_08B3C878: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[7] + static_cast(0)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_7 + static_cast(0)))))); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_4 = (0u | 0u); if (branch_taken) { @@ -2103,7 +2104,7 @@ L_08B3C8C8: aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0)))))); { const bool branch_taken = aot_gpr_5 == 0u; - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1384))); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1384))); if (branch_taken) { goto L_08B3C8FC; } @@ -2111,7 +2112,7 @@ L_08B3C8C8: } L_08B3C8D8: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0)))))); - aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[7] + static_cast(0)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_7 + static_cast(0)))))); { const bool branch_taken = aot_gpr_5 == aot_gpr_6; aot_gpr_4 = (aot_gpr_4 + static_cast(1)); if (branch_taken) { @@ -2130,14 +2131,14 @@ L_08B3C8E8: L_08B3C8F0: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0)))))); { const bool branch_taken = aot_gpr_5 != 0u; - ctx.gpr[7] = (ctx.gpr[7] + static_cast(1)); + aot_gpr_7 = (aot_gpr_7 + static_cast(1)); if (branch_taken) { goto L_08B3C8D8; } goto L_08B3C8FC; } L_08B3C8FC: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[7] + static_cast(0)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_7 + static_cast(0)))))); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_4 = (0u | 0u); if (branch_taken) { @@ -2166,7 +2167,7 @@ L_08B3C918: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1316), aot_gpr_4); goto L_08B3C920; L_08B3C920: - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1380))); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1380))); aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0)))))); { const bool branch_taken = aot_gpr_5 == 0u; @@ -2178,7 +2179,7 @@ L_08B3C920: } L_08B3C934: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0)))))); - aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[7] + static_cast(0)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_7 + static_cast(0)))))); { const bool branch_taken = aot_gpr_5 == aot_gpr_6; aot_gpr_4 = (aot_gpr_4 + static_cast(1)); if (branch_taken) { @@ -2197,14 +2198,14 @@ L_08B3C944: L_08B3C94C: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0)))))); { const bool branch_taken = aot_gpr_5 != 0u; - ctx.gpr[7] = (ctx.gpr[7] + static_cast(1)); + aot_gpr_7 = (aot_gpr_7 + static_cast(1)); if (branch_taken) { goto L_08B3C934; } goto L_08B3C958; } L_08B3C958: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[7] + static_cast(0)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_7 + static_cast(0)))))); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_4 = (0u | 0u); if (branch_taken) { @@ -2235,7 +2236,7 @@ L_08B3C978: aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0)))))); { const bool branch_taken = aot_gpr_5 == 0u; - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1376))); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1376))); if (branch_taken) { goto L_08B3C9AC; } @@ -2243,7 +2244,7 @@ L_08B3C978: } L_08B3C988: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0)))))); - aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[7] + static_cast(0)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_7 + static_cast(0)))))); { const bool branch_taken = aot_gpr_5 == aot_gpr_6; aot_gpr_4 = (aot_gpr_4 + static_cast(1)); if (branch_taken) { @@ -2262,14 +2263,14 @@ L_08B3C998: L_08B3C9A0: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0)))))); { const bool branch_taken = aot_gpr_5 != 0u; - ctx.gpr[7] = (ctx.gpr[7] + static_cast(1)); + aot_gpr_7 = (aot_gpr_7 + static_cast(1)); if (branch_taken) { goto L_08B3C988; } goto L_08B3C9AC; } L_08B3C9AC: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[7] + static_cast(0)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_7 + static_cast(0)))))); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_4 = (0u | 0u); if (branch_taken) { @@ -2300,7 +2301,7 @@ L_08B3C9CC: aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0)))))); { const bool branch_taken = aot_gpr_5 == 0u; - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1372))); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1372))); if (branch_taken) { goto L_08B3CA00; } @@ -2308,7 +2309,7 @@ L_08B3C9CC: } L_08B3C9DC: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0)))))); - aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[7] + static_cast(0)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_7 + static_cast(0)))))); { const bool branch_taken = aot_gpr_5 == aot_gpr_6; aot_gpr_4 = (aot_gpr_4 + static_cast(1)); if (branch_taken) { @@ -2327,14 +2328,14 @@ L_08B3C9EC: L_08B3C9F4: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0)))))); { const bool branch_taken = aot_gpr_5 != 0u; - ctx.gpr[7] = (ctx.gpr[7] + static_cast(1)); + aot_gpr_7 = (aot_gpr_7 + static_cast(1)); if (branch_taken) { goto L_08B3C9DC; } goto L_08B3CA00; } L_08B3CA00: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[7] + static_cast(0)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_7 + static_cast(0)))))); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_4 = (0u | 0u); if (branch_taken) { @@ -2365,7 +2366,7 @@ L_08B3CA20: aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0)))))); { const bool branch_taken = aot_gpr_5 == 0u; - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1368))); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1368))); if (branch_taken) { goto L_08B3CA54; } @@ -2373,7 +2374,7 @@ L_08B3CA20: } L_08B3CA30: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0)))))); - aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[7] + static_cast(0)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_7 + static_cast(0)))))); { const bool branch_taken = aot_gpr_5 == aot_gpr_6; aot_gpr_4 = (aot_gpr_4 + static_cast(1)); if (branch_taken) { @@ -2392,14 +2393,14 @@ L_08B3CA40: L_08B3CA48: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0)))))); { const bool branch_taken = aot_gpr_5 != 0u; - ctx.gpr[7] = (ctx.gpr[7] + static_cast(1)); + aot_gpr_7 = (aot_gpr_7 + static_cast(1)); if (branch_taken) { goto L_08B3CA30; } goto L_08B3CA54; } L_08B3CA54: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[7] + static_cast(0)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_7 + static_cast(0)))))); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_4 = (0u | 0u); if (branch_taken) { @@ -2430,7 +2431,7 @@ L_08B3CA74: aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0)))))); { const bool branch_taken = aot_gpr_5 == 0u; - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1364))); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1364))); if (branch_taken) { goto L_08B3CAA8; } @@ -2438,7 +2439,7 @@ L_08B3CA74: } L_08B3CA84: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0)))))); - aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[7] + static_cast(0)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_7 + static_cast(0)))))); { const bool branch_taken = aot_gpr_5 == aot_gpr_6; aot_gpr_4 = (aot_gpr_4 + static_cast(1)); if (branch_taken) { @@ -2457,14 +2458,14 @@ L_08B3CA94: L_08B3CA9C: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0)))))); { const bool branch_taken = aot_gpr_5 != 0u; - ctx.gpr[7] = (ctx.gpr[7] + static_cast(1)); + aot_gpr_7 = (aot_gpr_7 + static_cast(1)); if (branch_taken) { goto L_08B3CA84; } goto L_08B3CAA8; } L_08B3CAA8: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[7] + static_cast(0)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_7 + static_cast(0)))))); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_4 = (0u | 0u); if (branch_taken) { @@ -2495,7 +2496,7 @@ L_08B3CAC8: aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0)))))); { const bool branch_taken = aot_gpr_5 == 0u; - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1360))); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1360))); if (branch_taken) { goto L_08B3CAFC; } @@ -2503,7 +2504,7 @@ L_08B3CAC8: } L_08B3CAD8: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0)))))); - aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[7] + static_cast(0)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_7 + static_cast(0)))))); { const bool branch_taken = aot_gpr_5 == aot_gpr_6; aot_gpr_4 = (aot_gpr_4 + static_cast(1)); if (branch_taken) { @@ -2522,14 +2523,14 @@ L_08B3CAE8: L_08B3CAF0: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0)))))); { const bool branch_taken = aot_gpr_5 != 0u; - ctx.gpr[7] = (ctx.gpr[7] + static_cast(1)); + aot_gpr_7 = (aot_gpr_7 + static_cast(1)); if (branch_taken) { goto L_08B3CAD8; } goto L_08B3CAFC; } L_08B3CAFC: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[7] + static_cast(0)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_7 + static_cast(0)))))); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_4 = (0u | 0u); if (branch_taken) { @@ -2561,7 +2562,7 @@ L_08B3CB20: aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0)))))); { const bool branch_taken = aot_gpr_5 == 0u; - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1356))); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1356))); if (branch_taken) { goto L_08B3CB54; } @@ -2569,7 +2570,7 @@ L_08B3CB20: } L_08B3CB30: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0)))))); - aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[7] + static_cast(0)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_7 + static_cast(0)))))); { const bool branch_taken = aot_gpr_5 == aot_gpr_6; aot_gpr_4 = (aot_gpr_4 + static_cast(1)); if (branch_taken) { @@ -2588,14 +2589,14 @@ L_08B3CB40: L_08B3CB48: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0)))))); { const bool branch_taken = aot_gpr_5 != 0u; - ctx.gpr[7] = (ctx.gpr[7] + static_cast(1)); + aot_gpr_7 = (aot_gpr_7 + static_cast(1)); if (branch_taken) { goto L_08B3CB30; } goto L_08B3CB54; } L_08B3CB54: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[7] + static_cast(0)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_7 + static_cast(0)))))); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_4 = (0u | 0u); if (branch_taken) { @@ -2687,7 +2688,7 @@ L_08B3CBCC: L_08B3CBD4: ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1352))); aot_gpr_4 = (ctx.gpr[21] | 0u); - ctx.gpr[7] = (0u | 0u); + aot_gpr_7 = (0u | 0u); goto L_08B3CBE0; L_08B3CBE0: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0)))))); @@ -2707,7 +2708,7 @@ L_08B3CBF0: } L_08B3CBF8: { const bool branch_taken = aot_gpr_5 != 0u; - ctx.gpr[7] = (ctx.gpr[7] + static_cast(1)); + aot_gpr_7 = (aot_gpr_7 + static_cast(1)); if (branch_taken) { goto L_08B3CC08; } @@ -2723,7 +2724,7 @@ L_08B3CC00: } L_08B3CC08: aot_gpr_4 = (aot_gpr_4 + static_cast(1)); - aot_gpr_5 = (ctx.gpr[7] < static_cast(6) ? 1u : 0u); + aot_gpr_5 = (aot_gpr_7 < static_cast(6) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 != 0u; ctx.gpr[8] = (ctx.gpr[8] + static_cast(1)); if (branch_taken) { @@ -2736,7 +2737,7 @@ L_08B3CC18: goto L_08B3CC1C; L_08B3CC1C: { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1332))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1332))); if (branch_taken) { goto L_08B3CC98; } @@ -2746,7 +2747,7 @@ L_08B3CC24: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1348))); aot_gpr_4 = (aot_gpr_29 + static_cast(31)); aot_gpr_6 = (aot_gpr_29 + static_cast(1064)); - ctx.gpr[7] = (aot_gpr_29 + static_cast(1068)); + aot_gpr_7 = (aot_gpr_29 + static_cast(1068)); aot_gpr_31 = (0x08B3CC3Cu); ctx.gpr[8] = (aot_gpr_29 + static_cast(1072)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0212_entry, 212u, 579u, 0x08B56358u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3CC3Cu) goto L_08B3CC3C; @@ -2787,7 +2788,7 @@ L_08B3CC60: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const bool branch_taken = 0u == 0u; @@ -2817,7 +2818,7 @@ L_08B3CC74: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } goto L_08B3CC98; @@ -2861,13 +2862,13 @@ L_08B3CCD4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 523u, 0x08B59E08u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3CCE0u) goto L_08B3CCE0; AOT_REGCACHE_SYNC_OUT(); return; L_08B3CCE0: - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08B3CCECu); aot_gpr_4 = (ctx.gpr[30] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 154u, 0x08B58998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3CCECu) goto L_08B3CCEC; AOT_REGCACHE_SYNC_OUT(); return; L_08B3CCEC: - { const bool branch_taken = aot_gpr_16 == 0u; + { const bool branch_taken = ctx.gpr[16] == 0u; ctx.gpr[17] = (0u | 1u); if (branch_taken) { goto L_08B3CDC8; @@ -2878,7 +2879,7 @@ L_08B3CCF4: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(1140), static_cast(0u)); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08B3CD04u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 63u, 0x08B5831Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3CD04u) goto L_08B3CD04; AOT_REGCACHE_SYNC_OUT(); return; L_08B3CD04: @@ -2952,8 +2953,8 @@ L_08B3CDA4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 523u, 0x08B59E08u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3CDBCu) goto L_08B3CDBC; AOT_REGCACHE_SYNC_OUT(); return; L_08B3CDBC: - aot_gpr_16 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_16 != 0u; + ctx.gpr[16] = (ctx.gpr[2] | 0u); + { const bool branch_taken = ctx.gpr[16] != 0u; // nop if (branch_taken) { goto L_08B3CCF4; @@ -2972,21 +2973,21 @@ L_08B3CDD0: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1344))); aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_6 = (aot_gpr_29 + static_cast(1172)); - ctx.gpr[7] = (aot_gpr_29 + static_cast(1176)); + aot_gpr_7 = (aot_gpr_29 + static_cast(1176)); aot_gpr_31 = (0x08B3CDE8u); ctx.gpr[8] = (ctx.gpr[23] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0212_entry, 212u, 579u, 0x08B56358u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3CDE8u) goto L_08B3CDE8; AOT_REGCACHE_SYNC_OUT(); return; L_08B3CDE8: - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); goto L_08B3CDEC; L_08B3CDEC: aot_gpr_31 = (0x08B3CDF4u); aot_gpr_4 = (ctx.gpr[23] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3CDF4u) goto L_08B3CDF4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3CDF4u) goto L_08B3CDF4; AOT_REGCACHE_SYNC_OUT(); return; L_08B3CDF4: - aot_gpr_4 = (aot_gpr_16 < ctx.gpr[2] ? 1u : 0u); + aot_gpr_4 = (ctx.gpr[16] < ctx.gpr[2] ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -2995,7 +2996,7 @@ L_08B3CDF4: goto L_08B3CE00; } L_08B3CE00: - aot_gpr_4 = (aot_gpr_29 + aot_gpr_16); + aot_gpr_4 = (aot_gpr_29 + ctx.gpr[16]); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(1180)))))); aot_gpr_5 = (static_cast(aot_gpr_5) < 97 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 != 0u; @@ -3021,9 +3022,9 @@ L_08B3CE24: aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(1180), static_cast(aot_gpr_5)); goto L_08B3CE30; L_08B3CE30: - aot_gpr_16 = (aot_gpr_16 + static_cast(1)); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(1)); { const bool branch_taken = 0u == 0u; - aot_gpr_16 = (aot_gpr_16 & 255u); + ctx.gpr[16] = (ctx.gpr[16] & 255u); if (branch_taken) { goto L_08B3CDEC; } @@ -3048,10 +3049,10 @@ L_08B3CE58: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(3964), aot_gpr_6); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1176))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(64))); - ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(160))); + aot_gpr_7 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(160))); aot_gpr_5 = (aot_gpr_5 << 2u); aot_gpr_4 = (aot_gpr_4 - aot_gpr_6); - aot_gpr_5 = (ctx.gpr[7] + aot_gpr_5); + aot_gpr_5 = (aot_gpr_7 + aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(4220), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(64))); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); @@ -3086,7 +3087,7 @@ L_08B3CEBC: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1340))); aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_6 = (aot_gpr_29 + static_cast(1188)); - ctx.gpr[7] = (aot_gpr_29 + static_cast(1192)); + aot_gpr_7 = (aot_gpr_29 + static_cast(1192)); aot_gpr_31 = (0x08B3CED4u); ctx.gpr[8] = (aot_gpr_29 + static_cast(1196)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0212_entry, 212u, 579u, 0x08B56358u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3CED4u) goto L_08B3CED4; @@ -3094,24 +3095,24 @@ L_08B3CEBC: L_08B3CED4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(116))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(160))); - ctx.gpr[7] = (aot_gpr_4 + aot_gpr_4); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[7]); + aot_gpr_7 = (aot_gpr_4 + aot_gpr_4); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_7); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1188))); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(8196), aot_gpr_6); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(116))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(160))); - ctx.gpr[7] = (aot_gpr_4 + aot_gpr_4); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[7]); + aot_gpr_7 = (aot_gpr_4 + aot_gpr_4); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_7); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1192))); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(8200), aot_gpr_6); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(116))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(160))); - ctx.gpr[7] = (aot_gpr_4 + aot_gpr_4); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[7]); + aot_gpr_7 = (aot_gpr_4 + aot_gpr_4); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_7); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1196))); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); @@ -3126,52 +3127,52 @@ L_08B3CED4: goto L_08B3CF44; } L_08B3CF44: - aot_gpr_16 = (aot_gpr_29 + static_cast(1200)); + ctx.gpr[16] = (aot_gpr_29 + static_cast(1200)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1336))); aot_gpr_6 = (aot_gpr_29 + static_cast(1232)); aot_gpr_4 = (ctx.gpr[21] | 0u); - ctx.gpr[7] = (aot_gpr_29 + static_cast(1236)); + aot_gpr_7 = (aot_gpr_29 + static_cast(1236)); ctx.gpr[8] = (aot_gpr_29 + static_cast(1240)); aot_gpr_31 = (0x08B3CF64u); - ctx.gpr[9] = (aot_gpr_16 | 0u); + ctx.gpr[9] = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0212_entry, 212u, 579u, 0x08B56358u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3CF64u) goto L_08B3CF64; AOT_REGCACHE_SYNC_OUT(); return; L_08B3CF64: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(72))); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(160))); - ctx.gpr[7] = (aot_gpr_4 << 4u); - aot_gpr_4 = (ctx.gpr[7] - aot_gpr_4); + aot_gpr_7 = (aot_gpr_4 << 4u); + aot_gpr_4 = (aot_gpr_7 - aot_gpr_4); aot_gpr_4 = (aot_gpr_4 << 2u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1232))); - aot_gpr_4 = (aot_gpr_4 - ctx.gpr[7]); + aot_gpr_4 = (aot_gpr_4 - aot_gpr_7); aot_gpr_4 = (aot_gpr_6 + aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4476), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(72))); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(160))); - ctx.gpr[7] = (aot_gpr_4 << 4u); - aot_gpr_4 = (ctx.gpr[7] - aot_gpr_4); + aot_gpr_7 = (aot_gpr_4 << 4u); + aot_gpr_4 = (aot_gpr_7 - aot_gpr_4); aot_gpr_4 = (aot_gpr_4 << 2u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1236))); - aot_gpr_4 = (aot_gpr_4 - ctx.gpr[7]); + aot_gpr_4 = (aot_gpr_4 - aot_gpr_7); aot_gpr_4 = (aot_gpr_6 + aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4480), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(72))); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(160))); - ctx.gpr[7] = (aot_gpr_4 << 4u); - aot_gpr_4 = (ctx.gpr[7] - aot_gpr_4); + aot_gpr_7 = (aot_gpr_4 << 4u); + aot_gpr_4 = (aot_gpr_7 - aot_gpr_4); aot_gpr_4 = (aot_gpr_4 << 2u); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1240))); - aot_gpr_4 = (aot_gpr_4 - ctx.gpr[7]); + aot_gpr_4 = (aot_gpr_4 - aot_gpr_7); aot_gpr_4 = (aot_gpr_6 + aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4484), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(72))); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(160))); - ctx.gpr[7] = (aot_gpr_4 << 4u); - aot_gpr_4 = (ctx.gpr[7] - aot_gpr_4); + aot_gpr_7 = (aot_gpr_4 << 4u); + aot_gpr_4 = (aot_gpr_7 - aot_gpr_4); aot_gpr_4 = (aot_gpr_4 << 2u); - aot_gpr_4 = (aot_gpr_4 - ctx.gpr[7]); + aot_gpr_4 = (aot_gpr_4 - aot_gpr_7); aot_gpr_4 = (aot_gpr_6 + aot_gpr_4); aot_gpr_31 = (0x08B3CFFCu); aot_gpr_4 = (aot_gpr_4 + static_cast(4488)); @@ -3190,13 +3191,13 @@ L_08B3CFFC: L_08B3D00C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1404), ctx.gpr[30]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1400), ctx.gpr[19]); - aot_gpr_16 = (aot_gpr_29 + static_cast(1244)); + ctx.gpr[16] = (aot_gpr_29 + static_cast(1244)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1396), ctx.gpr[23]); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08B3D02Cu); aot_gpr_6 = (0u | 32u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3D02Cu) goto L_08B3D02C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3D02Cu) goto L_08B3D02C; AOT_REGCACHE_SYNC_OUT(); return; L_08B3D02C: ctx.gpr[17] = (aot_gpr_29 + static_cast(1276)); @@ -3204,7 +3205,7 @@ L_08B3D02C: aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08B3D040u); aot_gpr_6 = (0u | 32u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3D040u) goto L_08B3D040; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3D040u) goto L_08B3D040; AOT_REGCACHE_SYNC_OUT(); return; L_08B3D040: ctx.gpr[23] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1312))); @@ -3214,7 +3215,7 @@ L_08B3D040: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 523u, 0x08B59E08u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3D050u) goto L_08B3D050; AOT_REGCACHE_SYNC_OUT(); return; L_08B3D050: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08B3D060u); aot_gpr_6 = (0u | 31u); @@ -3232,7 +3233,7 @@ L_08B3D06C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0212_entry, 212u, 937u, 0x08B577E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3D074u) goto L_08B3D074; AOT_REGCACHE_SYNC_OUT(); return; L_08B3D074: - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (ctx.gpr[2] | 0u); aot_gpr_4 = (0u | 0u); aot_gpr_31 = (0x08B3D084u); aot_gpr_5 = (ctx.gpr[23] | 0u); @@ -3284,7 +3285,7 @@ L_08B3D0D8: aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08B3D0E4u); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3D0E4u) goto L_08B3D0E4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B627F0, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3D0E4u) goto L_08B3D0E4; AOT_REGCACHE_SYNC_OUT(); return; L_08B3D0E4: ctx.fpr[20] = std::bit_cast(std::bit_cast(ctx.fpr[0])); @@ -3302,7 +3303,7 @@ L_08B3D0FC: aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08B3D108u); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3D108u) goto L_08B3D108; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B627F0, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3D108u) goto L_08B3D108; AOT_REGCACHE_SYNC_OUT(); return; L_08B3D108: ctx.fpr[22] = std::bit_cast(std::bit_cast(ctx.fpr[0])); @@ -3320,7 +3321,7 @@ L_08B3D120: aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08B3D12Cu); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3D12Cu) goto L_08B3D12C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B627F0, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3D12Cu) goto L_08B3D12C; AOT_REGCACHE_SYNC_OUT(); return; L_08B3D12C: ctx.fpr[24] = std::bit_cast(std::bit_cast(ctx.fpr[0])); @@ -3338,7 +3339,7 @@ L_08B3D144: aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08B3D150u); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3D150u) goto L_08B3D150; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B627F0, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3D150u) goto L_08B3D150; AOT_REGCACHE_SYNC_OUT(); return; L_08B3D150: ctx.fpr[26] = std::bit_cast(std::bit_cast(ctx.fpr[0])); @@ -3356,7 +3357,7 @@ L_08B3D168: aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08B3D174u); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3D174u) goto L_08B3D174; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B627F0, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3D174u) goto L_08B3D174; AOT_REGCACHE_SYNC_OUT(); return; L_08B3D174: ctx.fpr[28] = std::bit_cast(std::bit_cast(ctx.fpr[0])); @@ -3374,14 +3375,14 @@ L_08B3D18C: aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08B3D198u); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3D198u) goto L_08B3D198; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B627F0, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3D198u) goto L_08B3D198; AOT_REGCACHE_SYNC_OUT(); return; L_08B3D198: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(76))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(160))); aot_gpr_6 = (aot_gpr_4 << 4u); - ctx.gpr[7] = (aot_gpr_6 + aot_gpr_6); - aot_gpr_4 = (ctx.gpr[7] - aot_gpr_4); + aot_gpr_7 = (aot_gpr_6 + aot_gpr_6); + aot_gpr_4 = (aot_gpr_7 - aot_gpr_4); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_4 - aot_gpr_6); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); @@ -3389,17 +3390,17 @@ L_08B3D198: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(76))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(160))); aot_gpr_6 = (aot_gpr_4 << 4u); - ctx.gpr[7] = (aot_gpr_6 + aot_gpr_6); - aot_gpr_4 = (ctx.gpr[7] - aot_gpr_4); + aot_gpr_7 = (aot_gpr_6 + aot_gpr_6); + aot_gpr_4 = (aot_gpr_7 - aot_gpr_4); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_4 - aot_gpr_6); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(6912), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(6912), ctx.gpr[16]); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(76))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(160))); aot_gpr_6 = (aot_gpr_4 << 4u); - ctx.gpr[7] = (aot_gpr_6 + aot_gpr_6); - aot_gpr_4 = (ctx.gpr[7] - aot_gpr_4); + aot_gpr_7 = (aot_gpr_6 + aot_gpr_6); + aot_gpr_4 = (aot_gpr_7 - aot_gpr_4); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_4 - aot_gpr_6); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); @@ -3407,8 +3408,8 @@ L_08B3D198: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(76))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(160))); aot_gpr_6 = (aot_gpr_4 << 4u); - ctx.gpr[7] = (aot_gpr_6 + aot_gpr_6); - aot_gpr_4 = (ctx.gpr[7] - aot_gpr_4); + aot_gpr_7 = (aot_gpr_6 + aot_gpr_6); + aot_gpr_4 = (aot_gpr_7 - aot_gpr_4); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_4 - aot_gpr_6); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); @@ -3416,11 +3417,11 @@ L_08B3D198: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(76))); ctx.fpr[30] = std::bit_cast(std::bit_cast(ctx.fpr[0])); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(160))); - ctx.gpr[7] = (aot_gpr_4 << 4u); - ctx.gpr[8] = (ctx.gpr[7] + ctx.gpr[7]); + aot_gpr_7 = (aot_gpr_4 << 4u); + ctx.gpr[8] = (aot_gpr_7 + aot_gpr_7); aot_gpr_4 = (ctx.gpr[8] - aot_gpr_4); aot_gpr_4 = (aot_gpr_4 << 2u); - aot_gpr_4 = (aot_gpr_4 - ctx.gpr[7]); + aot_gpr_4 = (aot_gpr_4 - aot_gpr_7); aot_gpr_4 = (aot_gpr_6 + aot_gpr_4); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B3D258u); @@ -3431,8 +3432,8 @@ L_08B3D258: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(76))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(160))); aot_gpr_6 = (aot_gpr_4 << 4u); - ctx.gpr[7] = (aot_gpr_6 + aot_gpr_6); - aot_gpr_4 = (ctx.gpr[7] - aot_gpr_4); + aot_gpr_7 = (aot_gpr_6 + aot_gpr_6); + aot_gpr_4 = (aot_gpr_7 - aot_gpr_4); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_4 - aot_gpr_6); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); @@ -3440,8 +3441,8 @@ L_08B3D258: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(76))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(160))); aot_gpr_6 = (aot_gpr_4 << 4u); - ctx.gpr[7] = (aot_gpr_6 + aot_gpr_6); - aot_gpr_4 = (ctx.gpr[7] - aot_gpr_4); + aot_gpr_7 = (aot_gpr_6 + aot_gpr_6); + aot_gpr_4 = (aot_gpr_7 - aot_gpr_4); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_4 - aot_gpr_6); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); @@ -3449,8 +3450,8 @@ L_08B3D258: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(76))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(160))); aot_gpr_6 = (aot_gpr_4 << 4u); - ctx.gpr[7] = (aot_gpr_6 + aot_gpr_6); - aot_gpr_4 = (ctx.gpr[7] - aot_gpr_4); + aot_gpr_7 = (aot_gpr_6 + aot_gpr_6); + aot_gpr_4 = (aot_gpr_7 - aot_gpr_4); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_4 - aot_gpr_6); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); @@ -3458,8 +3459,8 @@ L_08B3D258: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(76))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(160))); aot_gpr_6 = (aot_gpr_4 << 4u); - ctx.gpr[7] = (aot_gpr_6 + aot_gpr_6); - aot_gpr_4 = (ctx.gpr[7] - aot_gpr_4); + aot_gpr_7 = (aot_gpr_6 + aot_gpr_6); + aot_gpr_4 = (aot_gpr_7 - aot_gpr_4); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_4 - aot_gpr_6); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); @@ -3467,8 +3468,8 @@ L_08B3D258: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(76))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(160))); aot_gpr_6 = (aot_gpr_4 << 4u); - ctx.gpr[7] = (aot_gpr_6 + aot_gpr_6); - aot_gpr_4 = (ctx.gpr[7] - aot_gpr_4); + aot_gpr_7 = (aot_gpr_6 + aot_gpr_6); + aot_gpr_4 = (aot_gpr_7 - aot_gpr_4); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_4 - aot_gpr_6); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); @@ -3476,8 +3477,8 @@ L_08B3D258: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(76))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(160))); aot_gpr_6 = (aot_gpr_4 << 4u); - ctx.gpr[7] = (aot_gpr_6 + aot_gpr_6); - aot_gpr_4 = (ctx.gpr[7] - aot_gpr_4); + aot_gpr_7 = (aot_gpr_6 + aot_gpr_6); + aot_gpr_4 = (aot_gpr_7 - aot_gpr_4); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_4 - aot_gpr_6); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); @@ -3485,8 +3486,8 @@ L_08B3D258: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(76))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(160))); aot_gpr_6 = (aot_gpr_4 << 4u); - ctx.gpr[7] = (aot_gpr_6 + aot_gpr_6); - aot_gpr_4 = (ctx.gpr[7] - aot_gpr_4); + aot_gpr_7 = (aot_gpr_6 + aot_gpr_6); + aot_gpr_4 = (aot_gpr_7 - aot_gpr_4); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_4 - aot_gpr_6); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); @@ -3494,19 +3495,19 @@ L_08B3D258: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(76))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(160))); aot_gpr_6 = (aot_gpr_4 << 4u); - ctx.gpr[7] = (aot_gpr_6 + aot_gpr_6); - aot_gpr_4 = (ctx.gpr[7] - aot_gpr_4); + aot_gpr_7 = (aot_gpr_6 + aot_gpr_6); + aot_gpr_4 = (aot_gpr_7 - aot_gpr_4); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_4 - aot_gpr_6); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(6981), static_cast(0u)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(76))); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(160))); - ctx.gpr[7] = (aot_gpr_4 << 4u); - ctx.gpr[8] = (ctx.gpr[7] + ctx.gpr[7]); + aot_gpr_7 = (aot_gpr_4 << 4u); + ctx.gpr[8] = (aot_gpr_7 + aot_gpr_7); aot_gpr_4 = (ctx.gpr[8] - aot_gpr_4); aot_gpr_4 = (aot_gpr_4 << 2u); - aot_gpr_4 = (aot_gpr_4 - ctx.gpr[7]); + aot_gpr_4 = (aot_gpr_4 - aot_gpr_7); aot_gpr_4 = (aot_gpr_6 + aot_gpr_4); aot_gpr_5 = (aot_gpr_29 + static_cast(1244)); aot_gpr_31 = (0x08B3D3A4u); @@ -3535,7 +3536,7 @@ L_08B3D3BC: L_08B3D3C4: aot_gpr_31 = (0x08B3D3CCu); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1392))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3D3CCu) goto L_08B3D3CC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2E4, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3D3CCu) goto L_08B3D3CC; AOT_REGCACHE_SYNC_OUT(); return; L_08B3D3CC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(60))); @@ -3580,7 +3581,7 @@ L_08B3D3FC: L_08B3D404: ctx.gpr[22] = (aot_gpr_29 + static_cast(1308)); ctx.gpr[21] = (ctx.gpr[28] + static_cast(5232)); - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); ctx.gpr[17] = (0u | 0u); goto L_08B3D414; L_08B3D414: @@ -3602,7 +3603,7 @@ L_08B3D428: L_08B3D430: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(160))); aot_gpr_5 = (0u | 1u); - aot_gpr_4 = (aot_gpr_4 + aot_gpr_16); + aot_gpr_4 = (aot_gpr_4 + ctx.gpr[16]); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(3252), aot_gpr_5); if (branch_taken) { @@ -3613,7 +3614,7 @@ L_08B3D430: L_08B3D444: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(160))); aot_gpr_5 = (0u | 2u); - aot_gpr_4 = (aot_gpr_4 + aot_gpr_16); + aot_gpr_4 = (aot_gpr_4 + ctx.gpr[16]); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(3252))); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -3639,11 +3640,11 @@ L_08B3D470: L_08B3D478: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(160))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(1308))); - aot_gpr_4 = (aot_gpr_4 + aot_gpr_16); + aot_gpr_4 = (aot_gpr_4 + ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(3252), aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(160))); aot_gpr_5 = (0u | 14u); - aot_gpr_4 = (aot_gpr_4 + aot_gpr_16); + aot_gpr_4 = (aot_gpr_4 + ctx.gpr[16]); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(3252))); aot_gpr_31 = (0x08B3D4A0u); aot_gpr_6 = (ctx.gpr[21] | 0u); @@ -3659,10 +3660,10 @@ L_08B3D4A0: } L_08B3D4A8: aot_gpr_5 = (ctx.gpr[20] + static_cast(380)); - aot_gpr_4 = (aot_gpr_4 + aot_gpr_16); + aot_gpr_4 = (aot_gpr_4 + ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(3252), aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(160))); - aot_gpr_5 = (aot_gpr_4 + aot_gpr_16); + aot_gpr_5 = (aot_gpr_4 + ctx.gpr[16]); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(3252))); aot_gpr_5 = (aot_gpr_4 + ctx.gpr[17]); aot_gpr_4 = (aot_gpr_6 | 0u); @@ -3707,7 +3708,7 @@ L_08B3D4F8: } L_08B3D500: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(160))); - aot_gpr_4 = (aot_gpr_4 + aot_gpr_16); + aot_gpr_4 = (aot_gpr_4 + ctx.gpr[16]); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(3252))); { const bool branch_taken = aot_gpr_4 != ctx.gpr[30]; // nop @@ -3718,14 +3719,14 @@ L_08B3D500: } L_08B3D514: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(160))); - aot_gpr_4 = (aot_gpr_4 + aot_gpr_16); + aot_gpr_4 = (aot_gpr_4 + ctx.gpr[16]); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(3248))); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(3252), aot_gpr_5); goto L_08B3D524; L_08B3D524: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(60))); ctx.gpr[19] = (ctx.gpr[19] + static_cast(1)); - aot_gpr_16 = (aot_gpr_16 + static_cast(4)); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(4)); aot_gpr_4 = (static_cast(ctx.gpr[19]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; ctx.gpr[17] = (ctx.gpr[17] + static_cast(32)); @@ -3752,7 +3753,7 @@ L_08B3D54C: ctx.fpr[26] = std::bit_cast(aot_run_words[3]); ctx.fpr[28] = std::bit_cast(aot_run_words[4]); ctx.fpr[30] = std::bit_cast(aot_run_words[5]); - aot_gpr_16 = aot_run_words[6]; + ctx.gpr[16] = aot_run_words[6]; ctx.gpr[17] = aot_run_words[7]; ctx.gpr[18] = aot_run_words[8]; ctx.gpr[19] = aot_run_words[9]; @@ -3772,10 +3773,10 @@ L_08B3D54C: L_08B3D594: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(28))); - { const std::uint32_t aot_run_words[8]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_31}; + { const std::uint32_t aot_run_words[8]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(16), aot_run_words); } { const bool branch_taken = aot_gpr_5 == 0u; - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08B3D604; } @@ -3787,29 +3788,29 @@ L_08B3D5C4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0131_entry, 131u, 163u, 0x08A114E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3D5CCu) goto L_08B3D5CC; AOT_REGCACHE_SYNC_OUT(); return; L_08B3D5CC: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(128))); - ctx.gpr[20] = (aot_gpr_16 + static_cast(80)); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(128))); + ctx.gpr[20] = (ctx.gpr[16] + static_cast(80)); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-11836), std::bit_cast(aot_fpr_12)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(132))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(132))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-23440))); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(5432), std::bit_cast(aot_fpr_12)); - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(124))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(124))); { const bool branch_taken = aot_gpr_5 == 0u; - ctx.gpr[21] = (aot_gpr_16 + static_cast(8)); + ctx.gpr[21] = (ctx.gpr[16] + static_cast(8)); if (branch_taken) { goto L_08B3D60C; } goto L_08B3D5F0; } L_08B3D5F0: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(120))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(120))); aot_gpr_31 = (0x08B3D5FCu); aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0054_entry, 54u, 346u, 0x088DE1A0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3D5FCu) goto L_08B3D5FC; AOT_REGCACHE_SYNC_OUT(); return; L_08B3D5FC: { const bool branch_taken = 0u == 0u; - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(72))); if (branch_taken) { goto L_08B3D618; } @@ -3829,7 +3830,7 @@ L_08B3D60C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0054_entry, 54u, 350u, 0x088DE1D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3D614u) goto L_08B3D614; AOT_REGCACHE_SYNC_OUT(); return; L_08B3D614: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(72))); goto L_08B3D618; L_08B3D618: ctx.gpr[17] = (0u | 0u); @@ -3846,7 +3847,7 @@ L_08B3D628: ctx.gpr[19] = (ctx.gpr[19] + static_cast(-1)); goto L_08B3D630; L_08B3D630: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(160))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(160))); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[18]); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(6676))); { const bool branch_taken = aot_gpr_5 == 0u; @@ -3868,10 +3869,10 @@ L_08B3D64C: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x08B3D658u); aot_gpr_5 = (aot_gpr_6 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3D658u) goto L_08B3D658; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A93004, 163u, 430u, 0x08A93004u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3D658u) goto L_08B3D658; AOT_REGCACHE_SYNC_OUT(); return; L_08B3D658: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(160))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(160))); aot_gpr_5 = (aot_gpr_4 + ctx.gpr[18]); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(6676))); goto L_08B3D664; @@ -3883,7 +3884,7 @@ L_08B3D664: aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(72), aot_gpr_4); goto L_08B3D678; L_08B3D678: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(72))); ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); aot_gpr_4 = (static_cast(ctx.gpr[17]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; @@ -3894,9 +3895,9 @@ L_08B3D678: goto L_08B3D68C; } L_08B3D68C: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(72), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(72), 0u); aot_gpr_31 = (0x08B3D698u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(76), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(76), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0173_entry, 173u, 231u, 0x08AB92E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3D698u) goto L_08B3D698; AOT_REGCACHE_SYNC_OUT(); return; L_08B3D698: @@ -3905,9 +3906,9 @@ L_08B3D698: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 64u, 0x08A90840u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3D6A0u) goto L_08B3D6A0; AOT_REGCACHE_SYNC_OUT(); return; L_08B3D6A0: - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(19), static_cast(0u)); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(20), static_cast(0u)); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(21), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(19), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(20), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(21), static_cast(0u)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(0))); aot_gpr_5 = (aot_gpr_4 + static_cast(-1)); { const bool branch_taken = aot_gpr_4 == 0u; @@ -3918,8 +3919,8 @@ L_08B3D6A0: goto L_08B3D6BC; } L_08B3D6BC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(160))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(80))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(160))); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(7740))); @@ -3928,8 +3929,8 @@ L_08B3D6BC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 247u, 0x08891B8Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3D6D8u) goto L_08B3D6D8; AOT_REGCACHE_SYNC_OUT(); return; L_08B3D6D8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(160))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(80))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(160))); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(7740))); @@ -3944,8 +3945,8 @@ L_08B3D6D8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3D704u) goto L_08B3D704; AOT_REGCACHE_SYNC_OUT(); return; L_08B3D704: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(160))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(80))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(160))); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(7740))); @@ -3961,17 +3962,17 @@ L_08B3D720: aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(92))); aot_gpr_5 = (0u | 3u); aot_gpr_6 = (aot_gpr_6 + static_cast(24)); - ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(0)))))); + aot_gpr_7 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(0)))))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(4))); jump_target = aot_gpr_6; aot_gpr_31 = (0x08B3D740u); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[7]); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_7); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3D740u) goto L_08B3D740; AOT_REGCACHE_SYNC_OUT(); return; L_08B3D740: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(160))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(80))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(160))); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); goto L_08B3D750; @@ -3987,13 +3988,13 @@ L_08B3D750: goto L_08B3D764; } L_08B3D764: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(80), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(80), 0u); aot_gpr_31 = (0x08B3D770u); - aot_gpr_4 = (aot_gpr_16 + static_cast(36)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(36)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0055_entry, 55u, 197u, 0x088E25C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3D770u) goto L_08B3D770; AOT_REGCACHE_SYNC_OUT(); return; L_08B3D770: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(17))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(17))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -4046,11 +4047,11 @@ L_08B3D7B4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 556u, 0x0893E35Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3D7BCu) goto L_08B3D7BC; AOT_REGCACHE_SYNC_OUT(); return; L_08B3D7BC: - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(17), static_cast(0u)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(160))); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(17), static_cast(0u)); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(160))); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(7940), static_cast(0u)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(112), 0u); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(158))); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(112), 0u); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(158))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -4076,20 +4077,20 @@ L_08B3D7F0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0133_entry, 133u, 611u, 0x08A1BEE8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3D7F8u) goto L_08B3D7F8; AOT_REGCACHE_SYNC_OUT(); return; L_08B3D7F8: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(28), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(28), 0u); aot_gpr_31 = (0x08B3D804u); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(18), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(18), static_cast(0u)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3D804u) goto L_08B3D804; AOT_REGCACHE_SYNC_OUT(); return; L_08B3D804: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(7800))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(72))); aot_gpr_6 = (aot_gpr_4 + aot_gpr_4); - ctx.gpr[7] = (aot_gpr_4 << 8u); + aot_gpr_7 = (aot_gpr_4 << 8u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); aot_gpr_4 = (aot_gpr_4 << 5u); aot_gpr_6 = (2238u << 16u); - aot_gpr_4 = (ctx.gpr[7] + aot_gpr_4); + aot_gpr_4 = (aot_gpr_7 + aot_gpr_4); aot_gpr_6 = (aot_gpr_6 + static_cast(-6992)); ctx.gpr[17] = (aot_gpr_4 + aot_gpr_6); aot_gpr_4 = (8u << 16u); @@ -4245,7 +4246,7 @@ L_08B3D910: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0097_entry, 97u, 941u, 0x0898BA34u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3D91Cu) goto L_08B3D91C; AOT_REGCACHE_SYNC_OUT(); return; L_08B3D91C: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(157))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(157))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -4270,11 +4271,11 @@ L_08B3D938: AOT_REGCACHE_SYNC_OUT(); return; L_08B3D940: aot_gpr_31 = (0x08B3D948u); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(157), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(157), static_cast(0u)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08960424, 87u, 0x08960424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3D948u) goto L_08B3D948; AOT_REGCACHE_SYNC_OUT(); return; L_08B3D948: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(144))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(144))); ctx.gpr[18] = (0u | 0u); aot_gpr_4 = (static_cast(ctx.gpr[18]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; @@ -4289,11 +4290,11 @@ L_08B3D95C: ctx.gpr[19] = (0u | 0u); goto L_08B3D964; L_08B3D964: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(160))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(160))); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[19]); aot_gpr_31 = (0x08B3D974u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8796))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3D974u) goto L_08B3D974; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3D974u) goto L_08B3D974; AOT_REGCACHE_SYNC_OUT(); return; L_08B3D974: ctx.gpr[20] = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(96))); @@ -4315,11 +4316,11 @@ L_08B3D994: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 598u, 0x08AD3610u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3D99Cu) goto L_08B3D99C; AOT_REGCACHE_SYNC_OUT(); return; L_08B3D99C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(160))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(160))); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[19]); aot_gpr_31 = (0x08B3D9ACu); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8796))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3D9ACu) goto L_08B3D9AC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3D9ACu) goto L_08B3D9AC; AOT_REGCACHE_SYNC_OUT(); return; L_08B3D9AC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(100))); @@ -4331,11 +4332,11 @@ L_08B3D9AC: goto L_08B3D9B8; } L_08B3D9B8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(160))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(160))); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[19]); aot_gpr_31 = (0x08B3D9C8u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8796))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3D9C8u) goto L_08B3D9C8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3D9C8u) goto L_08B3D9C8; AOT_REGCACHE_SYNC_OUT(); return; L_08B3D9C8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(100))); @@ -4364,17 +4365,17 @@ L_08B3D9EC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 621u, 0x08AD3780u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3D9F4u) goto L_08B3D9F4; AOT_REGCACHE_SYNC_OUT(); return; L_08B3D9F4: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(160))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(160))); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (aot_gpr_5 + ctx.gpr[19]); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(8836))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(8796))); aot_gpr_31 = (0x08B3DA10u); - ctx.gpr[7] = (0u | 1u); + aot_gpr_7 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0069_entry, 69u, 600u, 0x0891B7DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3DA10u) goto L_08B3DA10; AOT_REGCACHE_SYNC_OUT(); return; L_08B3DA10: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(144))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(144))); ctx.gpr[18] = (ctx.gpr[18] + static_cast(1)); aot_gpr_4 = (static_cast(ctx.gpr[18]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; @@ -4385,14 +4386,14 @@ L_08B3DA10: goto L_08B3DA24; } L_08B3DA24: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(144), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(144), 0u); goto L_08B3DA28; L_08B3DA28: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(60))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(60))); ctx.gpr[17] = (0u | 0u); aot_gpr_5 = (static_cast(ctx.gpr[17]) < static_cast(aot_gpr_5) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(160))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(160))); if (branch_taken) { goto L_08B3DA64; } @@ -4408,12 +4409,12 @@ L_08B3DA40: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 625u, 0x08AD37C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3DA4Cu) goto L_08B3DA4C; AOT_REGCACHE_SYNC_OUT(); return; L_08B3DA4C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(60))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(60))); ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); aot_gpr_5 = (static_cast(ctx.gpr[17]) < static_cast(aot_gpr_4) ? 1u : 0u); ctx.gpr[18] = (ctx.gpr[18] + static_cast(4)); { const bool branch_taken = aot_gpr_5 != 0u; - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(160))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(160))); if (branch_taken) { goto L_08B3DA40; } @@ -4429,16 +4430,16 @@ L_08B3DA64: } L_08B3DA6C: aot_gpr_31 = (0x08B3DA74u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0018_entry, 18u, 123u, 0x0884CAE8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3DA74u) goto L_08B3DA74; AOT_REGCACHE_SYNC_OUT(); return; L_08B3DA74: aot_gpr_31 = (0x08B3DA7Cu); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(160))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3DA7Cu) goto L_08B3DA7C; + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(160))); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3DA7Cu) goto L_08B3DA7C; AOT_REGCACHE_SYNC_OUT(); return; L_08B3DA7C: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(160), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(160), 0u); goto L_08B3DA80; L_08B3DA80: aot_gpr_31 = (0x08B3DA88u); @@ -4463,7 +4464,7 @@ L_08B3DA98: L_08B3DAA0: { std::uint32_t aot_run_words[8]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -4480,9 +4481,9 @@ L_08B3DAA0: AOT_REGCACHE_SYNC_OUT(); return; L_08B3DAC8: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(28))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(28))); aot_gpr_5 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), std::bit_cast(ctx.fpr[20])); { const std::uint32_t aot_run_words[6]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_31}; @@ -4504,7 +4505,7 @@ L_08B3DB00: goto L_08B3DB0C; } L_08B3DB0C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(24))); aot_gpr_5 = (static_cast(aot_gpr_4) < 2 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_5 = (static_cast(aot_gpr_4) < 4 ? 1u : 0u); @@ -4523,20 +4524,20 @@ L_08B3DB1C: } L_08B3DB24: aot_gpr_31 = (0x08B3DB2Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0205_entry, 205u, 1001u, 0x08B3B9CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3DB2Cu) goto L_08B3DB2C; AOT_REGCACHE_SYNC_OUT(); return; L_08B3DB2C: aot_gpr_31 = (0x08B3DB34u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0205_entry, 205u, 1028u, 0x08B3BCD4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3DB34u) goto L_08B3DB34; AOT_REGCACHE_SYNC_OUT(); return; L_08B3DB34: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(18))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(24))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(18))); aot_gpr_5 = (aot_gpr_5 + static_cast(1)); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(24), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(24), aot_gpr_5); if (branch_taken) { goto L_08B3DC40; } @@ -4557,7 +4558,7 @@ L_08B3DB50: AOT_REGCACHE_SYNC_OUT(); return; L_08B3DB58: aot_gpr_31 = (0x08B3DB60u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0205_entry, 205u, 1042u, 0x08B3BEA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3DB60u) goto L_08B3DB60; AOT_REGCACHE_SYNC_OUT(); return; L_08B3DB60: @@ -4600,17 +4601,17 @@ L_08B3DB84: } L_08B3DB8C: aot_gpr_4 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(24), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(24), aot_gpr_4); { const bool branch_taken = 0u == 0u; - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(18))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(18))); if (branch_taken) { goto L_08B3DC40; } goto L_08B3DB9C; } L_08B3DB9C: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(24), 0u); - ctx.gpr[18] = (aot_gpr_16 + static_cast(8)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(24), 0u); + ctx.gpr[18] = (ctx.gpr[16] + static_cast(8)); ctx.gpr[20] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(0)))))); { const bool branch_taken = ctx.gpr[20] == 0u; ctx.gpr[19] = (ctx.gpr[28] + static_cast(5060)); @@ -4723,14 +4724,14 @@ L_08B3DC2C: AOT_REGCACHE_SYNC_OUT(); return; L_08B3DC34: { const bool branch_taken = 0u == 0u; - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(18))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(18))); if (branch_taken) { goto L_08B3DC40; } goto L_08B3DC3C; } L_08B3DC3C: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(18))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(18))); goto L_08B3DC40; L_08B3DC40: { const bool branch_taken = aot_gpr_4 == 0u; @@ -4744,16 +4745,16 @@ L_08B3DC48: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7684))); ctx.fpr[20] = std::bit_cast(aot_gpr_4); aot_fpr_12 = aot_fpr_12 / ctx.fpr[20]; - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(32))); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(32))); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_fpr_12 = aot_fpr_13 + aot_fpr_12; aot_gpr_31 = (0x08B3DC68u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(32), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(32), std::bit_cast(aot_fpr_12)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0205_entry, 205u, 983u, 0x08B3B880u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3DC68u) goto L_08B3DC68; AOT_REGCACHE_SYNC_OUT(); return; L_08B3DC68: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(68))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(64))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(68))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(64))); aot_gpr_5 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_5) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; ctx.gpr[18] = (ctx.gpr[2] | 0u); @@ -4763,7 +4764,7 @@ L_08B3DC68: goto L_08B3DC7C; } L_08B3DC7C: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(160))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(160))); aot_gpr_6 = (aot_gpr_4 << 2u); aot_gpr_6 = (aot_gpr_5 + aot_gpr_6); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(3964))); @@ -4802,15 +4803,15 @@ L_08B3DCB0: L_08B3DCBC: aot_gpr_31 = (0x08B3DCC4u); aot_gpr_4 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3DCC4u) goto L_08B3DCC4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3DCC4u) goto L_08B3DCC4; AOT_REGCACHE_SYNC_OUT(); return; L_08B3DCC4: ctx.gpr[19] = (ctx.gpr[20] | 0u); goto L_08B3DCC8; L_08B3DCC8: aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(-9752), ctx.gpr[19]); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(68))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(160))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(68))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(160))); aot_gpr_4 = (aot_gpr_4 << 3u); goto L_08B3DCD8; L_08B3DCD8: @@ -4821,25 +4822,25 @@ L_08B3DCD8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3DCE8u) goto L_08B3DCE8; AOT_REGCACHE_SYNC_OUT(); return; L_08B3DCE8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(68))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(160))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(68))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(160))); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4220))); aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_6 = (0u | 1u); - ctx.gpr[7] = (0u | 0u); + aot_gpr_7 = (0u | 0u); aot_gpr_31 = (0x08B3DD10u); ctx.gpr[8] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0173_entry, 173u, 216u, 0x08AB9068u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3DD10u) goto L_08B3DD10; AOT_REGCACHE_SYNC_OUT(); return; L_08B3DD10: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(68))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(68))); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(68), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(68), aot_gpr_4); goto L_08B3DD1C; L_08B3DD1C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(80))); ctx.gpr[19] = (0u | 0u); aot_gpr_4 = (static_cast(ctx.gpr[19]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; @@ -4850,7 +4851,7 @@ L_08B3DD1C: goto L_08B3DD30; } L_08B3DD30: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(160))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(160))); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[20]); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(7740))); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(86)))))); @@ -4876,7 +4877,7 @@ L_08B3DD54: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0205_entry, 205u, 951u, 0x08B3B5A0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3DD5Cu) goto L_08B3DD5C; AOT_REGCACHE_SYNC_OUT(); return; L_08B3DD5C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(80))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(80))); ctx.gpr[19] = (ctx.gpr[19] + static_cast(1)); aot_gpr_4 = (static_cast(ctx.gpr[19]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; @@ -4887,7 +4888,7 @@ L_08B3DD5C: goto L_08B3DD70; } L_08B3DD70: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(158))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(158))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -4896,7 +4897,7 @@ L_08B3DD70: goto L_08B3DD7C; } L_08B3DD7C: - ctx.gpr[19] = (aot_gpr_16 + static_cast(8)); + ctx.gpr[19] = (ctx.gpr[16] + static_cast(8)); ctx.gpr[21] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[19] + static_cast(0)))))); { const bool branch_taken = ctx.gpr[21] == 0u; ctx.gpr[20] = (ctx.gpr[28] + static_cast(5060)); @@ -5022,7 +5023,7 @@ L_08B3DE08: goto L_08B3DE3C; } L_08B3DE3C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(28))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(28))); { const bool branch_taken = aot_gpr_4 != ctx.gpr[17]; // nop if (branch_taken) { @@ -5046,7 +5047,7 @@ L_08B3DE50: goto L_08B3DE60; } L_08B3DE60: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(159))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(159))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -5056,7 +5057,7 @@ L_08B3DE60: } L_08B3DE6C: aot_gpr_4 = (0u | 1u); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(159), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(159), static_cast(aot_gpr_4)); aot_gpr_6 = (16256u << 16u); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_fpr_12 = std::bit_cast(aot_gpr_6); @@ -5065,7 +5066,7 @@ L_08B3DE6C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0134_entry, 134u, 4u, 0x08A1C044u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3DE88u) goto L_08B3DE88; AOT_REGCACHE_SYNC_OUT(); return; L_08B3DE88: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(140))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(140))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -5084,7 +5085,7 @@ L_08B3DE94: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_15 < aot_fpr_14)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(136))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(136))); if (branch_taken) { goto L_08B3DED8; } @@ -5114,7 +5115,7 @@ L_08B3DED8: goto L_08B3DEF8; L_08B3DEF8: { const bool branch_taken = static_cast(aot_gpr_4) >= 0; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(136), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(136), aot_gpr_4); if (branch_taken) { goto L_08B3DF74; } @@ -5145,15 +5146,15 @@ L_08B3DF1C: AOT_REGCACHE_SYNC_OUT(); return; L_08B3DF24: aot_gpr_4 = (0u | 1u); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(22), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(22), static_cast(aot_gpr_4)); aot_gpr_31 = (0x08B3DF34u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0205_entry, 205u, 1020u, 0x08B3BC20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3DF34u) goto L_08B3DF34; AOT_REGCACHE_SYNC_OUT(); return; L_08B3DF34: - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(140), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(140), static_cast(0u)); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(136), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(136), 0u); if (branch_taken) { goto L_08B3DF74; } @@ -5161,7 +5162,7 @@ L_08B3DF34: } L_08B3DF40: aot_gpr_31 = (0x08B3DF48u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0018_entry, 18u, 139u, 0x0884CC2Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3DF48u) goto L_08B3DF48; AOT_REGCACHE_SYNC_OUT(); return; L_08B3DF48: @@ -5174,9 +5175,9 @@ L_08B3DF48: } L_08B3DF50: aot_gpr_4 = (0u | 1u); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(140), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(140), static_cast(aot_gpr_4)); aot_gpr_4 = (0u | 1000u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(136), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(136), aot_gpr_4); aot_gpr_6 = (16256u << 16u); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_fpr_12 = std::bit_cast(aot_gpr_6); @@ -5188,7 +5189,7 @@ L_08B3DF74: { std::uint32_t aot_run_words[8]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); ctx.fpr[20] = std::bit_cast(aot_run_words[0]); - aot_gpr_16 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[1]; ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; ctx.gpr[19] = aot_run_words[4]; @@ -5229,8 +5230,8 @@ L_08B3DFAC: L_08B3DFDC: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_5 = (aot_gpr_5 + static_cast(-1)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); { const bool branch_taken = aot_gpr_5 != 0u; @@ -5241,7 +5242,7 @@ L_08B3DFDC: goto L_08B3DFFC; } L_08B3DFFC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(12))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(12))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -5261,21 +5262,21 @@ L_08B3E008: L_08B3E014: aot_gpr_31 = (0x08B3E01Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3E01Cu) goto L_08B3E01C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3E01Cu) goto L_08B3E01C; AOT_REGCACHE_SYNC_OUT(); return; L_08B3E01C: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B3E028u); aot_gpr_5 = (0u | 0u); goto L_08B3E058; L_08B3E028: aot_gpr_31 = (0x08B3E030u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3E030u) goto L_08B3E030; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3E030u) goto L_08B3E030; AOT_REGCACHE_SYNC_OUT(); return; L_08B3E030: ctx.gpr[2] = (0u | 1u); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -5347,9 +5348,9 @@ L_08B3E09C: AOT_REGCACHE_SYNC_OUT(); return; L_08B3E0A4: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); { const std::uint32_t aot_run_words[3]{ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(4), aot_run_words); } { const bool branch_taken = aot_gpr_4 == 0u; @@ -5360,7 +5361,7 @@ L_08B3E0A4: goto L_08B3E0C8; } L_08B3E0C8: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); ctx.gpr[18] = (0u | 0u); aot_gpr_5 = (static_cast(ctx.gpr[18]) < static_cast(aot_gpr_5) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; @@ -5376,15 +5377,15 @@ L_08B3E0DC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); goto L_08B3DFDC; L_08B3E0E8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); ctx.gpr[18] = (ctx.gpr[18] + static_cast(1)); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); ctx.gpr[17] = (ctx.gpr[17] + static_cast(4)); aot_gpr_5 = (static_cast(ctx.gpr[18]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 != 0u; - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); if (branch_taken) { goto L_08B3E0DC; } @@ -5393,18 +5394,18 @@ L_08B3E0E8: L_08B3E10C: aot_gpr_31 = (0x08B3E114u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3E114u) goto L_08B3E114; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2E4, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3E114u) goto L_08B3E114; AOT_REGCACHE_SYNC_OUT(); return; L_08B3E114: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), 0u); goto L_08B3E118; L_08B3E118: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(8), 0u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), 0u); - ctx.gpr[2] = (aot_gpr_16 | 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(8), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(4), 0u); + ctx.gpr[2] = (ctx.gpr[16] | 0u); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; @@ -5429,8 +5430,8 @@ L_08B3E150: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); ctx.gpr[17] = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_5 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_5 | 0u); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); @@ -5455,7 +5456,7 @@ L_08B3E188: aot_gpr_6 = (aot_gpr_5 | 0u); aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_4 = (2236u << 16u); - ctx.gpr[7] = (0u | 1u); + aot_gpr_7 = (0u | 1u); aot_gpr_31 = (0x08B3E1A0u); aot_gpr_4 = (aot_gpr_4 + static_cast(25856)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 523u, 0x08ABE6BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3E1A0u) goto L_08B3E1A0; @@ -5471,13 +5472,13 @@ L_08B3E1A0: L_08B3E1A8: aot_gpr_5 = (ctx.gpr[17] + static_cast(4)); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); - ctx.gpr[7] = (aot_gpr_6 << 2u); + aot_gpr_7 = (aot_gpr_6 << 2u); aot_gpr_6 = (aot_gpr_6 + static_cast(1)); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_6); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[7]); - aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_16); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_7); + aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), ctx.gpr[16]); aot_gpr_31 = (0x08B3E1CCu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_08B3E240; L_08B3E1CC: ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); @@ -5516,13 +5517,13 @@ L_08B3E1F4: aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(8), aot_gpr_5); aot_gpr_5 = (ctx.gpr[17] + static_cast(4)); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); - ctx.gpr[7] = (aot_gpr_6 << 2u); + aot_gpr_7 = (aot_gpr_6 << 2u); aot_gpr_6 = (aot_gpr_6 + static_cast(1)); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_6); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[7]); - aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_16); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_7); + aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), ctx.gpr[16]); aot_gpr_31 = (0x08B3E224u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_08B3E240; L_08B3E224: ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); @@ -5531,7 +5532,7 @@ L_08B3E224: L_08B3E22C: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -5596,9 +5597,9 @@ L_08B3E288: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[11]); aot_gpr_4 = (std::bit_cast(aot_fpr_14)); - ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(0))); + ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_7 + static_cast(0))); aot_gpr_6 = (std::bit_cast(aot_fpr_15)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(4))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_7 + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_6); aot_gpr_4 = (std::bit_cast(ctx.fpr[16])); @@ -5626,7 +5627,7 @@ L_08B3E288: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(92), aot_gpr_6); aot_gpr_6 = (static_cast(aot_gpr_4) < 96 ? 1u : 0u); { const bool branch_taken = aot_gpr_6 == 0u; - ctx.gpr[7] = (aot_gpr_5 | 0u); + aot_gpr_7 = (aot_gpr_5 | 0u); if (branch_taken) { goto L_08B3E460; } @@ -5640,7 +5641,7 @@ L_08B3E330: aot_gpr_5 = (aot_gpr_5 + static_cast(-29760)); aot_gpr_4 = (aot_gpr_6 + aot_gpr_5); aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); - aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(ctx.gpr[7])); + aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_7)); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_15 < aot_fpr_14)) ? 0x00800000u : 0u); @@ -5730,9 +5731,9 @@ L_08B3E3C0: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), std::bit_cast(aot_fpr_13)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(10584))); aot_gpr_6 = (aot_gpr_5 + static_cast(40)); - ctx.gpr[7] = (aot_gpr_4 << 6u); + aot_gpr_7 = (aot_gpr_4 << 6u); aot_gpr_4 = (aot_gpr_4 << 3u); - aot_gpr_4 = (ctx.gpr[7] - aot_gpr_4); + aot_gpr_4 = (aot_gpr_7 - aot_gpr_4); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(56))); aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(60))); @@ -5740,9 +5741,9 @@ L_08B3E3C0: aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(4), std::bit_cast(aot_fpr_13)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(10584))); aot_gpr_6 = (aot_gpr_5 + static_cast(32)); - ctx.gpr[7] = (aot_gpr_4 << 6u); + aot_gpr_7 = (aot_gpr_4 << 6u); aot_gpr_4 = (aot_gpr_4 << 3u); - aot_gpr_4 = (ctx.gpr[7] - aot_gpr_4); + aot_gpr_4 = (aot_gpr_7 - aot_gpr_4); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(72))); aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(76))); @@ -5772,13 +5773,13 @@ L_08B3E460: L_08B3E468: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_4 = (2281u << 16u); - ctx.gpr[7] = (2228u << 16u); + aot_gpr_7 = (2228u << 16u); aot_gpr_5 = (0u | 96u); aot_gpr_6 = (0u | 56u); aot_gpr_4 = (aot_gpr_4 + static_cast(-29760)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); aot_gpr_31 = (0x08B3E48Cu); - ctx.gpr[7] = (ctx.gpr[7] + static_cast(-7572)); + aot_gpr_7 = (aot_gpr_7 + static_cast(-7572)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 158u, 0x08B60C7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3E48Cu) goto L_08B3E48C; AOT_REGCACHE_SYNC_OUT(); return; L_08B3E48C: @@ -5841,9 +5842,9 @@ L_08B3E4DC: aot_gpr_5 = (aot_gpr_6 & 65535u); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16928))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); - ctx.gpr[7] = (aot_gpr_4 << 3u); - ctx.gpr[7] = (aot_gpr_4 + ctx.gpr[7]); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[7]); + aot_gpr_7 = (aot_gpr_4 << 3u); + aot_gpr_7 = (aot_gpr_4 + aot_gpr_7); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_7); ctx.gpr[10] = (aot_gpr_6 + aot_gpr_4); ctx.gpr[8] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[10] + static_cast(0)))))); ctx.gpr[9] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[10] + static_cast(2)))))); @@ -5978,9 +5979,9 @@ L_08B3E5C0: aot_gpr_5 = (aot_gpr_6 & 65535u); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16928))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); - ctx.gpr[7] = (aot_gpr_4 << 3u); - ctx.gpr[7] = (aot_gpr_4 + ctx.gpr[7]); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[7]); + aot_gpr_7 = (aot_gpr_4 << 3u); + aot_gpr_7 = (aot_gpr_4 + aot_gpr_7); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_7); ctx.gpr[10] = (aot_gpr_6 + aot_gpr_4); ctx.gpr[8] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[10] + static_cast(0)))))); ctx.gpr[9] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[10] + static_cast(2)))))); @@ -6103,17 +6104,17 @@ L_08B3E6A4: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), ctx.gpr[23]); ctx.gpr[21] = (ctx.gpr[21] & 15u); ctx.gpr[23] = (0u | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_gpr_5 = (static_cast(ctx.gpr[23]) < static_cast(ctx.gpr[21]) ? 1u : 0u); ctx.gpr[22] = (static_cast(ctx.gpr[19]) < static_cast(ctx.gpr[22]) ? 1u : 0u); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.gpr[17] = (aot_gpr_6 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), ctx.gpr[30]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), aot_gpr_31); { const bool branch_taken = aot_gpr_5 == 0u; - ctx.gpr[18] = (ctx.gpr[7] | 0u); + ctx.gpr[18] = (aot_gpr_7 | 0u); if (branch_taken) { goto L_08B3E800; } @@ -6167,7 +6168,7 @@ L_08B3E780: goto L_08B3E7A4; } L_08B3E7A4: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(4)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(4)))))); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -6177,13 +6178,13 @@ L_08B3E7A4: goto L_08B3E7B4; } L_08B3E7B4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_6 = (aot_mem.aot_direct_load16(ctx.gpr[30] + static_cast(0))); aot_gpr_4 = (aot_gpr_4 + static_cast(8)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - aot_gpr_4 = (aot_gpr_16 + aot_gpr_5); - jump_target = ctx.gpr[7]; + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); + aot_gpr_4 = (ctx.gpr[16] + aot_gpr_5); + jump_target = aot_gpr_7; aot_gpr_31 = (0x08B3E7D4u); aot_gpr_5 = (ctx.gpr[19] | 0u); ctx.pc = jump_target; @@ -6211,7 +6212,7 @@ L_08B3E7F0: L_08B3E800: { std::uint32_t aot_run_words[10]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -6230,10 +6231,10 @@ L_08B3E800: AOT_REGCACHE_SYNC_OUT(); return; L_08B3E830: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(16), aot_run_words); } - aot_gpr_16 = (ctx.gpr[8] | 0u); - ctx.gpr[17] = (ctx.gpr[7] | 0u); + ctx.gpr[16] = (ctx.gpr[8] | 0u); + ctx.gpr[17] = (aot_gpr_7 | 0u); aot_gpr_4 = (aot_gpr_5 & 65535u); ctx.gpr[18] = (aot_gpr_6 & 65535u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16928))); @@ -6279,12 +6280,12 @@ L_08B3E89C: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_16 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; @@ -6299,9 +6300,9 @@ L_08B3E8BC: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(4)))))); aot_gpr_6 = (2235u << 16u); aot_gpr_6 = (aot_gpr_6 + static_cast(-30144)); - ctx.gpr[7] = (0u + static_cast(-2)); + aot_gpr_7 = (0u + static_cast(-2)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_6); - aot_gpr_5 = (aot_gpr_5 & ctx.gpr[7]); + aot_gpr_5 = (aot_gpr_5 & aot_gpr_7); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(4), static_cast(aot_gpr_5)); jump_target = aot_gpr_31; ctx.gpr[2] = (aot_gpr_4 | 0u); @@ -6322,19 +6323,19 @@ L_08B3E8E8: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(60), ctx.gpr[18]); ctx.gpr[17] = (aot_gpr_5 | 0u); ctx.gpr[18] = (aot_gpr_6 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), ctx.gpr[16]); { const std::uint32_t aot_run_words[6]{ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(64), aot_run_words); } { const bool branch_taken = ctx.gpr[17] == ctx.gpr[18]; - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08B3EB38; } goto L_08B3E920; } L_08B3E920: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); ctx.gpr[19] = (ctx.gpr[18] - ctx.gpr[17]); aot_gpr_4 = (aot_gpr_4 - aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_4); @@ -6360,21 +6361,21 @@ L_08B3E940: } L_08B3E958: aot_gpr_31 = (0x08B3E960u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 365u, 0x08B658A0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3E960u) goto L_08B3E960; AOT_REGCACHE_SYNC_OUT(); return; L_08B3E960: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); goto L_08B3E964; L_08B3E964: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - ctx.gpr[7] = (aot_gpr_4 + ctx.gpr[19]); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(8))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); + aot_gpr_7 = (aot_gpr_4 + ctx.gpr[19]); aot_gpr_5 = (aot_gpr_5 - aot_gpr_6); aot_gpr_5 = (aot_gpr_5 + static_cast(-1)); - aot_gpr_5 = (aot_gpr_5 < ctx.gpr[7] ? 1u : 0u); + aot_gpr_5 = (aot_gpr_5 < aot_gpr_7 ? 1u : 0u); if (aot_gpr_5 == 0u) { - ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + ctx.gpr[20] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); goto L_08B3EABC; } goto L_08B3E984; @@ -6435,8 +6436,8 @@ L_08B3E9D8: ctx.gpr[20] = (ctx.gpr[2] | 0u); goto L_08B3E9DC; L_08B3E9DC: - ctx.gpr[22] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - ctx.gpr[23] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + ctx.gpr[22] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); + ctx.gpr[23] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(19), static_cast(0u)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(19)))))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(22), static_cast(0u)); @@ -6517,7 +6518,7 @@ L_08B3EA88: L_08B3EA8C: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(31), static_cast(0u)); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(0), static_cast(0u)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -6528,14 +6529,14 @@ L_08B3EA8C: L_08B3EAA0: aot_gpr_31 = (0x08B3EAA8u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3EAA8u) goto L_08B3EAA8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3EAA8u) goto L_08B3EAA8; AOT_REGCACHE_SYNC_OUT(); return; L_08B3EAA8: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), ctx.gpr[21]); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), ctx.gpr[17]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), ctx.gpr[21]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(4), ctx.gpr[17]); aot_gpr_4 = (ctx.gpr[21] + ctx.gpr[19]); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(8), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(8), aot_gpr_4); if (branch_taken) { goto L_08B3EB38; } @@ -6564,7 +6565,7 @@ L_08B3EAE4: goto L_08B3EAF4; } L_08B3EAF4: - ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); { const bool branch_taken = 0u == 0u; ctx.gpr[18] = (ctx.gpr[18] + ctx.gpr[19]); if (branch_taken) { @@ -6580,24 +6581,24 @@ L_08B3EB00: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 164u, 0x08AF54A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3EB10u) goto L_08B3EB10; AOT_REGCACHE_SYNC_OUT(); return; L_08B3EB10: - ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); ctx.gpr[18] = (ctx.gpr[18] + ctx.gpr[19]); goto L_08B3EB18; L_08B3EB18: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(39), static_cast(0u)); aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(0), static_cast(0u)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(0)))))); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_5)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[19]); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(4), aot_gpr_4); goto L_08B3EB38; L_08B3EB38: - ctx.gpr[2] = (aot_gpr_16 | 0u); + ctx.gpr[2] = (ctx.gpr[16] | 0u); { std::uint32_t aot_run_words[9]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(52), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -6619,19 +6620,19 @@ L_08B3EB68: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), ctx.gpr[18]); ctx.gpr[17] = (aot_gpr_5 | 0u); ctx.gpr[18] = (aot_gpr_6 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), ctx.gpr[16]); { const std::uint32_t aot_run_words[6]{ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(44), aot_run_words); } { const bool branch_taken = ctx.gpr[17] == ctx.gpr[18]; - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08B3ED68; } goto L_08B3EBA0; } L_08B3EBA0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); ctx.gpr[19] = (ctx.gpr[18] - ctx.gpr[17]); aot_gpr_4 = (aot_gpr_4 - aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_4); @@ -6657,19 +6658,19 @@ L_08B3EBC0: } L_08B3EBD8: aot_gpr_31 = (0x08B3EBE0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 365u, 0x08B658A0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3EBE0u) goto L_08B3EBE0; AOT_REGCACHE_SYNC_OUT(); return; L_08B3EBE0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); goto L_08B3EBE4; L_08B3EBE4: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - ctx.gpr[7] = (aot_gpr_4 + ctx.gpr[19]); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(8))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); + aot_gpr_7 = (aot_gpr_4 + ctx.gpr[19]); aot_gpr_5 = (aot_gpr_5 - aot_gpr_6); aot_gpr_5 = (aot_gpr_5 + static_cast(-1)); - aot_gpr_5 = (aot_gpr_5 < ctx.gpr[7] ? 1u : 0u); + aot_gpr_5 = (aot_gpr_5 < aot_gpr_7 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; // nop if (branch_taken) { @@ -6734,8 +6735,8 @@ L_08B3EC58: ctx.gpr[20] = (ctx.gpr[2] | 0u); goto L_08B3EC5C; L_08B3EC5C: - ctx.gpr[22] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - ctx.gpr[23] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + ctx.gpr[22] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); + ctx.gpr[23] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(19), static_cast(0u)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(19)))))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(22), static_cast(0u)); @@ -6804,7 +6805,7 @@ L_08B3ECE0: L_08B3ECE4: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(24), static_cast(0u)); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(0), static_cast(0u)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -6815,21 +6816,21 @@ L_08B3ECE4: L_08B3ECF8: aot_gpr_31 = (0x08B3ED00u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3ED00u) goto L_08B3ED00; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3ED00u) goto L_08B3ED00; AOT_REGCACHE_SYNC_OUT(); return; L_08B3ED00: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), ctx.gpr[21]); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), ctx.gpr[17]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), ctx.gpr[21]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(4), ctx.gpr[17]); aot_gpr_4 = (ctx.gpr[21] + ctx.gpr[19]); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(8), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(8), aot_gpr_4); if (branch_taken) { goto L_08B3ED68; } goto L_08B3ED14; } L_08B3ED14: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_gpr_6 = (ctx.gpr[17] + static_cast(1)); { const bool branch_taken = ctx.gpr[18] != aot_gpr_6; aot_gpr_5 = (aot_gpr_4 + static_cast(1)); @@ -6848,31 +6849,31 @@ L_08B3ED24: } L_08B3ED2C: aot_gpr_4 = (aot_gpr_5 | 0u); - ctx.gpr[7] = (ctx.gpr[18] - aot_gpr_6); + aot_gpr_7 = (ctx.gpr[18] - aot_gpr_6); aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x08B3ED40u); - aot_gpr_6 = (ctx.gpr[7] | 0u); + aot_gpr_6 = (aot_gpr_7 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 164u, 0x08AF54A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3ED40u) goto L_08B3ED40; AOT_REGCACHE_SYNC_OUT(); return; L_08B3ED40: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[19]); goto L_08B3ED48; L_08B3ED48: aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(25), static_cast(0u)); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(0u)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(0)))))); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_5)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[19]); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(4), aot_gpr_4); goto L_08B3ED68; L_08B3ED68: - ctx.gpr[2] = (aot_gpr_16 | 0u); + ctx.gpr[2] = (ctx.gpr[16] | 0u); { std::uint32_t aot_run_words[9]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(32), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -6912,15 +6913,15 @@ L_08B3EDB4: AOT_REGCACHE_SYNC_OUT(); return; L_08B3EDC0: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_5 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_5 | 0u); { const std::uint32_t aot_run_words[3]{ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(4), aot_run_words); } aot_gpr_31 = (0x08B3EDE0u); ctx.gpr[18] = (0u | 0u); goto L_08B3ED98; L_08B3EDE0: - if (ctx.gpr[2] == aot_gpr_16) { + if (ctx.gpr[2] == ctx.gpr[16]) { ctx.gpr[18] = (0u | 1u); goto L_08B3EE28; } @@ -6931,7 +6932,7 @@ L_08B3EDE8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 463u, 0x08AC5950u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3EDF0u) goto L_08B3EDF0; AOT_REGCACHE_SYNC_OUT(); return; L_08B3EDF0: - if (ctx.gpr[2] == aot_gpr_16) { + if (ctx.gpr[2] == ctx.gpr[16]) { ctx.gpr[17] = (0u | 1u); goto L_08B3EE18; } @@ -6942,7 +6943,7 @@ L_08B3EDF8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0095_entry, 95u, 115u, 0x08980688u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3EE00u) goto L_08B3EE00; AOT_REGCACHE_SYNC_OUT(); return; L_08B3EE00: - aot_gpr_4 = (ctx.gpr[2] ^ aot_gpr_16); + aot_gpr_4 = (ctx.gpr[2] ^ ctx.gpr[16]); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 == 0u; @@ -6973,7 +6974,7 @@ L_08B3EE28: ctx.gpr[2] = (ctx.gpr[18] & 255u); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; @@ -6986,25 +6987,25 @@ L_08B3EE28: AOT_REGCACHE_SYNC_OUT(); return; L_08B3EE44: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[16], ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(4), aot_run_words); } aot_gpr_31 = (0x08B3EE5Cu); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 472u, 0x08AC59D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3EE5Cu) goto L_08B3EE5C; AOT_REGCACHE_SYNC_OUT(); return; L_08B3EE5C: aot_gpr_4 = (2235u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-30104)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(36), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(36), aot_gpr_4); ctx.gpr[17] = (ctx.gpr[28] + static_cast(5256)); - aot_gpr_4 = (aot_gpr_16 + static_cast(184)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(184)); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B3EE7Cu); aot_gpr_6 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 650u, 0x08B66AF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3EE7Cu) goto L_08B3EE7C; AOT_REGCACHE_SYNC_OUT(); return; L_08B3EE7C: - aot_gpr_4 = (aot_gpr_16 + static_cast(196)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(196)); aot_gpr_6 = (aot_gpr_29 + static_cast(1)); aot_gpr_31 = (0x08B3EE8Cu); aot_gpr_5 = (ctx.gpr[17] | 0u); @@ -7012,21 +7013,21 @@ L_08B3EE7C: AOT_REGCACHE_SYNC_OUT(); return; L_08B3EE8C: { const std::uint32_t aot_run_words[4]{0u, 0u, 0u, 0u}; - aot_mem.aot_direct_store32_block(aot_gpr_16 + static_cast(208), aot_run_words); } + aot_mem.aot_direct_store32_block(ctx.gpr[16] + static_cast(208), aot_run_words); } aot_gpr_31 = (0x08B3EEA4u); - aot_gpr_4 = (aot_gpr_16 + static_cast(248)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(248)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0217_entry, 217u, 116u, 0x08B68708u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3EEA4u) goto L_08B3EEA4; AOT_REGCACHE_SYNC_OUT(); return; L_08B3EEA4: { const std::uint32_t aot_run_words[3]{0u, 0u, 0u}; - aot_mem.aot_direct_store32_block(aot_gpr_16 + static_cast(260), aot_run_words); } + aot_mem.aot_direct_store32_block(ctx.gpr[16] + static_cast(260), aot_run_words); } aot_gpr_4 = (0u | 1u); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(272), static_cast(aot_gpr_4)); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(273), static_cast(0u)); - ctx.gpr[2] = (aot_gpr_16 | 0u); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(272), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(273), static_cast(0u)); + ctx.gpr[2] = (ctx.gpr[16] | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(4), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -7038,10 +7039,10 @@ L_08B3EEA4: AOT_REGCACHE_SYNC_OUT(); return; L_08B3EED4: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[17]); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); ctx.gpr[17] = (aot_gpr_5 | 0u); { const std::uint32_t aot_run_words[7]{ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(16), aot_run_words); } @@ -7098,8 +7099,8 @@ L_08B3EF7C: goto L_08B3EF84; } L_08B3EF84: - ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(28))); - { const bool branch_taken = ctx.gpr[21] == ctx.gpr[7]; + aot_gpr_7 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(28))); + { const bool branch_taken = ctx.gpr[21] == aot_gpr_7; // nop if (branch_taken) { goto L_08B3EFA4; @@ -7107,9 +7108,9 @@ L_08B3EF84: goto L_08B3EF90; } L_08B3EF90: - ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_6 + static_cast(0)))))); + aot_gpr_7 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_6 + static_cast(0)))))); aot_gpr_6 = (aot_gpr_6 + static_cast(1)); - aot_mem.aot_direct_store8(ctx.gpr[21] + static_cast(0), static_cast(ctx.gpr[7])); + aot_mem.aot_direct_store8(ctx.gpr[21] + static_cast(0), static_cast(aot_gpr_7)); { const bool branch_taken = 0u == 0u; ctx.gpr[21] = (ctx.gpr[21] + static_cast(1)); if (branch_taken) { @@ -7119,7 +7120,7 @@ L_08B3EF90: } L_08B3EFA4: { const bool branch_taken = aot_gpr_6 != aot_gpr_5; - ctx.gpr[7] = (aot_gpr_5 | 0u); + aot_gpr_7 = (aot_gpr_5 | 0u); if (branch_taken) { goto L_08B3EFEC; } @@ -7165,10 +7166,10 @@ L_08B3EFDC: L_08B3EFEC: aot_gpr_5 = (aot_gpr_6 | 0u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(4), static_cast(0u)); - aot_gpr_6 = (ctx.gpr[7] | 0u); + aot_gpr_6 = (aot_gpr_7 | 0u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(5), static_cast(0u)); aot_gpr_31 = (0x08B3F004u); - ctx.gpr[7] = (ctx.gpr[23] | 0u); + aot_gpr_7 = (ctx.gpr[23] | 0u); goto L_08B3E8E8; L_08B3F004: ctx.gpr[18] = (ctx.gpr[18] + static_cast(36)); @@ -7183,7 +7184,7 @@ L_08B3F008: goto L_08B3F014; } L_08B3F014: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); goto L_08B3F018; L_08B3F018: ctx.gpr[18] = (aot_gpr_4 | 0u); @@ -7228,7 +7229,7 @@ L_08B3F040: L_08B3F048: aot_gpr_31 = (0x08B3F050u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3F050u) goto L_08B3F050; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3F050u) goto L_08B3F050; AOT_REGCACHE_SYNC_OUT(); return; L_08B3F050: ctx.gpr[20] = (ctx.gpr[20] + static_cast(36)); @@ -7242,11 +7243,11 @@ L_08B3F054: goto L_08B3F05C; } L_08B3F05C: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), ctx.gpr[19]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(4), ctx.gpr[19]); ctx.gpr[2] = (ctx.gpr[17] | 0u); { std::uint32_t aot_run_words[9]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(8), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -7266,7 +7267,7 @@ L_08B3F090: aot_gpr_29 = (aot_gpr_29 + static_cast(-96)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), ctx.gpr[20]); ctx.gpr[20] = (aot_gpr_4 | 0u); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19]}; + { const std::uint32_t aot_run_words[4]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(48), aot_run_words); } { const std::uint32_t aot_run_words[5]{ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(68), aot_run_words); } @@ -7312,10 +7313,10 @@ L_08B3F0FC: goto L_08B3F118; } L_08B3F118: - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); goto L_08B3F11C; L_08B3F11C: - aot_gpr_4 = (aot_gpr_5 + aot_gpr_16); + aot_gpr_4 = (aot_gpr_5 + ctx.gpr[16]); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(0), static_cast(aot_gpr_5)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); @@ -7355,7 +7356,7 @@ L_08B3F16C: L_08B3F178: aot_gpr_31 = (0x08B3F180u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3F180u) goto L_08B3F180; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3F180u) goto L_08B3F180; AOT_REGCACHE_SYNC_OUT(); return; L_08B3F180: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(216))); @@ -7368,7 +7369,7 @@ L_08B3F184: aot_gpr_6 = (ctx.lo); aot_gpr_6 = (ctx.gpr[17] < aot_gpr_6 ? 1u : 0u); { const bool branch_taken = aot_gpr_6 != 0u; - aot_gpr_16 = (aot_gpr_16 + static_cast(36)); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(36)); if (branch_taken) { goto L_08B3F11C; } @@ -7380,9 +7381,9 @@ L_08B3F1A4: aot_gpr_4 = (ctx.gpr[22] | 0u); goto L_08B3EED4; L_08B3F1B0: - ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(264))); + aot_gpr_7 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(264))); aot_gpr_5 = (0u | 24u); - aot_gpr_4 = (ctx.gpr[7] | 0u); + aot_gpr_4 = (aot_gpr_7 | 0u); aot_gpr_6 = (aot_gpr_4 - aot_gpr_4); { const std::int32_t dividend = static_cast(aot_gpr_6); const std::int32_t divisor = static_cast(aot_gpr_5); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(260))); @@ -7398,17 +7399,17 @@ L_08B3F1B0: L_08B3F1D8: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_4 + static_cast(0), aot_run_words); - ctx.gpr[7] = aot_run_words[0]; + aot_gpr_7 = aot_run_words[0]; ctx.gpr[8] = aot_run_words[1]; ctx.gpr[9] = aot_run_words[2]; } - aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), ctx.gpr[7]); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(12))); + aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_7); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(12))); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(4), ctx.gpr[8]); ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(8), ctx.gpr[9]); ctx.gpr[9] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); - { const std::uint32_t aot_run_words[3]{ctx.gpr[7], ctx.gpr[8], ctx.gpr[9]}; + { const std::uint32_t aot_run_words[3]{aot_gpr_7, ctx.gpr[8], ctx.gpr[9]}; aot_mem.aot_direct_store32_block(aot_gpr_5 + static_cast(12), aot_run_words); } aot_gpr_4 = (aot_gpr_4 + static_cast(24)); aot_gpr_6 = (aot_gpr_6 + static_cast(-1)); @@ -7420,11 +7421,11 @@ L_08B3F1D8: goto L_08B3F218; } L_08B3F218: - ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(264))); + aot_gpr_7 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(264))); goto L_08B3F21C; L_08B3F21C: aot_gpr_4 = (aot_gpr_5 | 0u); - { const bool branch_taken = aot_gpr_4 == ctx.gpr[7]; + { const bool branch_taken = aot_gpr_4 == aot_gpr_7; aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(38), static_cast(0u)); if (branch_taken) { goto L_08B3F234; @@ -7435,7 +7436,7 @@ L_08B3F228: aot_gpr_4 = (aot_gpr_4 + static_cast(24)); goto L_08B3F22C; L_08B3F22C: - { const bool branch_taken = aot_gpr_4 != ctx.gpr[7]; + { const bool branch_taken = aot_gpr_4 != aot_gpr_7; aot_gpr_4 = (aot_gpr_4 + static_cast(24)); if (branch_taken) { goto L_08B3F22C; @@ -7493,7 +7494,7 @@ L_08B3F26C: L_08B3F274: aot_gpr_31 = (0x08B3F27Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3F27Cu) goto L_08B3F27C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3F27Cu) goto L_08B3F27C; AOT_REGCACHE_SYNC_OUT(); return; L_08B3F27C: aot_gpr_4 = (ctx.gpr[20] + static_cast(224)); @@ -7533,7 +7534,7 @@ L_08B3F298: L_08B3F2A0: aot_gpr_31 = (0x08B3F2A8u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3F2A8u) goto L_08B3F2A8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3F2A8u) goto L_08B3F2A8; AOT_REGCACHE_SYNC_OUT(); return; L_08B3F2A8: { const bool branch_taken = ctx.gpr[22] == 0u; @@ -7545,8 +7546,8 @@ L_08B3F2A8: } L_08B3F2B0: ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(212))); - aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(216))); - { const bool branch_taken = ctx.gpr[17] == aot_gpr_16; + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(216))); + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[16]; aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(40), static_cast(0u)); if (branch_taken) { goto L_08B3F2F4; @@ -7586,13 +7587,13 @@ L_08B3F2D8: L_08B3F2E0: aot_gpr_31 = (0x08B3F2E8u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3F2E8u) goto L_08B3F2E8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3F2E8u) goto L_08B3F2E8; AOT_REGCACHE_SYNC_OUT(); return; L_08B3F2E8: ctx.gpr[17] = (ctx.gpr[17] + static_cast(36)); goto L_08B3F2EC; L_08B3F2EC: - { const bool branch_taken = ctx.gpr[17] != aot_gpr_16; + { const bool branch_taken = ctx.gpr[17] != ctx.gpr[16]; // nop if (branch_taken) { goto L_08B3F2C0; @@ -7627,7 +7628,7 @@ L_08B3F308: L_08B3F310: aot_gpr_31 = (0x08B3F318u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3F318u) goto L_08B3F318; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3F318u) goto L_08B3F318; AOT_REGCACHE_SYNC_OUT(); return; L_08B3F318: { const bool branch_taken = ctx.gpr[23] == 0u; @@ -7656,11 +7657,11 @@ L_08B3F328: L_08B3F330: aot_gpr_31 = (0x08B3F338u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3F338u) goto L_08B3F338; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3F338u) goto L_08B3F338; AOT_REGCACHE_SYNC_OUT(); return; L_08B3F338: if (ctx.gpr[30] == 0u) { - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(44))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(44))); goto L_08B3F35C; } goto L_08B3F340; @@ -7674,17 +7675,17 @@ L_08B3F340: } L_08B3F348: if (aot_gpr_4 == 0u) { - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(44))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(44))); goto L_08B3F35C; } goto L_08B3F350; L_08B3F350: aot_gpr_31 = (0x08B3F358u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3F358u) goto L_08B3F358; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3F358u) goto L_08B3F358; AOT_REGCACHE_SYNC_OUT(); return; L_08B3F358: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(44))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(44))); goto L_08B3F35C; L_08B3F35C: aot_gpr_4 = (ctx.gpr[20] | 0u); @@ -7693,7 +7694,7 @@ L_08B3F35C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 486u, 0x08AC5AE8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3F368u) goto L_08B3F368; AOT_REGCACHE_SYNC_OUT(); return; L_08B3F368: - aot_gpr_4 = (aot_gpr_16 & 1u); + aot_gpr_4 = (ctx.gpr[16] & 1u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -7704,12 +7705,12 @@ L_08B3F368: L_08B3F374: aot_gpr_31 = (0x08B3F37Cu); aot_gpr_4 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3F37Cu) goto L_08B3F37C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3F37Cu) goto L_08B3F37C; AOT_REGCACHE_SYNC_OUT(); return; L_08B3F37C: { std::uint32_t aot_run_words[10]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(48), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -7830,9 +7831,9 @@ L_08B3F460: AOT_REGCACHE_SYNC_OUT(); return; L_08B3F46C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.gpr[17] = (0u | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08B3F48Cu); @@ -8084,10 +8085,10 @@ L_08B3F5A8: ctx.gpr[17] = (0u | 7u); goto L_08B3F5AC; L_08B3F5AC: - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(273), static_cast(ctx.gpr[17])); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(273), static_cast(ctx.gpr[17])); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -8113,10 +8114,10 @@ L_08B3F5CC: AOT_REGCACHE_SYNC_OUT(); return; L_08B3F5D4: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); ctx.gpr[18] = (0u | 36u); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[19]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); @@ -8126,7 +8127,7 @@ L_08B3F5D4: AOT_REGCACHE_SYNC_OUT(); return; L_08B3F5FC: aot_gpr_31 = (0x08B3F604u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(184))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(184))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0170_entry, 170u, 584u, 0x08AAECA4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3F604u) goto L_08B3F604; AOT_REGCACHE_SYNC_OUT(); return; L_08B3F604: @@ -8135,21 +8136,21 @@ L_08B3F604: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0170_entry, 170u, 632u, 0x08AAEF5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3F60Cu) goto L_08B3F60C; AOT_REGCACHE_SYNC_OUT(); return; L_08B3F60C: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(196))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(196))); aot_gpr_31 = (0x08B3F618u); aot_gpr_4 = (aot_gpr_5 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 398u, 0x08A65C4Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3F618u) goto L_08B3F618; AOT_REGCACHE_SYNC_OUT(); return; L_08B3F618: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(216))); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(212))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(216))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(212))); aot_gpr_5 = (aot_gpr_5 - aot_gpr_4); { const std::int32_t dividend = static_cast(aot_gpr_5); const std::int32_t divisor = static_cast(ctx.gpr[18]); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } ctx.gpr[19] = (0u | 0u); aot_gpr_5 = (ctx.lo); aot_gpr_5 = (ctx.gpr[19] < aot_gpr_5 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(208), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(208), ctx.gpr[2]); if (branch_taken) { goto L_08B3F684; } @@ -8167,11 +8168,11 @@ L_08B3F640: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 398u, 0x08A65C4Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3F654u) goto L_08B3F654; AOT_REGCACHE_SYNC_OUT(); return; L_08B3F654: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(212))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(212))); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(20), ctx.gpr[2]); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(216))); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(212))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(216))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(212))); aot_gpr_5 = (aot_gpr_5 - aot_gpr_4); { const std::int32_t dividend = static_cast(aot_gpr_5); const std::int32_t divisor = static_cast(ctx.gpr[18]); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } ctx.gpr[19] = (ctx.gpr[19] + static_cast(1)); @@ -8185,20 +8186,20 @@ L_08B3F654: goto L_08B3F684; } L_08B3F684: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(248))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(248))); aot_gpr_31 = (0x08B3F690u); aot_gpr_4 = (aot_gpr_5 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 398u, 0x08A65C4Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3F690u) goto L_08B3F690; AOT_REGCACHE_SYNC_OUT(); return; L_08B3F690: aot_gpr_31 = (0x08B3F698u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(244), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(244), ctx.gpr[2]); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0170_entry, 170u, 642u, 0x08AAEFE8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3F698u) goto L_08B3F698; AOT_REGCACHE_SYNC_OUT(); return; L_08B3F698: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -8212,21 +8213,21 @@ L_08B3F698: AOT_REGCACHE_SYNC_OUT(); return; L_08B3F6B4: aot_gpr_29 = (aot_gpr_29 + static_cast(-80)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[8]); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); + aot_gpr_7 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); ctx.gpr[10] = (0u | 36u); - aot_gpr_4 = (aot_gpr_4 - ctx.gpr[7]); + aot_gpr_4 = (aot_gpr_4 - aot_gpr_7); { const std::int32_t dividend = static_cast(aot_gpr_4); const std::int32_t divisor = static_cast(ctx.gpr[10]); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), ctx.gpr[17]); aot_gpr_4 = (ctx.gpr[9] & 255u); { const std::uint32_t aot_run_words[5]{ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(56), aot_run_words); } ctx.gpr[17] = (ctx.lo); - ctx.gpr[7] = (ctx.gpr[17] < ctx.gpr[8] ? 1u : 0u); - { const bool branch_taken = ctx.gpr[7] == 0u; + aot_gpr_7 = (ctx.gpr[17] < ctx.gpr[8] ? 1u : 0u); + { const bool branch_taken = aot_gpr_7 == 0u; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); if (branch_taken) { goto L_08B3F710; @@ -8234,18 +8235,18 @@ L_08B3F6B4: goto L_08B3F704; } L_08B3F704: - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); { const bool branch_taken = 0u == 0u; - ctx.gpr[17] = (ctx.gpr[17] + ctx.gpr[7]); + ctx.gpr[17] = (ctx.gpr[17] + aot_gpr_7); if (branch_taken) { goto L_08B3F71C; } goto L_08B3F710; } L_08B3F710: - ctx.gpr[7] = (aot_gpr_29 + static_cast(4)); - ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(0))); - ctx.gpr[17] = (ctx.gpr[17] + ctx.gpr[7]); + aot_gpr_7 = (aot_gpr_29 + static_cast(4)); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_7 + static_cast(0))); + ctx.gpr[17] = (ctx.gpr[17] + aot_gpr_7); goto L_08B3F71C; L_08B3F71C: { const bool branch_taken = ctx.gpr[17] == 0u; @@ -8269,7 +8270,7 @@ L_08B3F724: L_08B3F744: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(40))); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(40))); ctx.gpr[19] = (ctx.gpr[2] | 0u); { const bool branch_taken = ctx.gpr[19] != 0u; aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(44))); @@ -8283,7 +8284,7 @@ L_08B3F75C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_5); aot_gpr_31 = (0x08B3F770u); - aot_gpr_4 = (ctx.gpr[7] | 0u); + aot_gpr_4 = (aot_gpr_7 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 289u, 0x08B65438u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3F770u) goto L_08B3F770; AOT_REGCACHE_SYNC_OUT(); return; L_08B3F770: @@ -8293,9 +8294,9 @@ L_08B3F770: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(44))); goto L_08B3F780; L_08B3F780: - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_7 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); ctx.gpr[18] = (ctx.gpr[19] | 0u); - { const bool branch_taken = ctx.gpr[7] == aot_gpr_5; + { const bool branch_taken = aot_gpr_7 == aot_gpr_5; aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(8), static_cast(0u)); if (branch_taken) { goto L_08B3F804; @@ -8305,28 +8306,28 @@ L_08B3F780: L_08B3F790: ctx.gpr[8] = (ctx.gpr[19] | 0u); if (ctx.gpr[8] == 0u) { - ctx.gpr[7] = (ctx.gpr[7] + static_cast(36)); + aot_gpr_7 = (aot_gpr_7 + static_cast(36)); goto L_08B3F7FC; } goto L_08B3F79C; L_08B3F79C: - ctx.gpr[10] = (aot_mem.aot_direct_load8(ctx.gpr[7] + static_cast(0))); + ctx.gpr[10] = (aot_mem.aot_direct_load8(aot_gpr_7 + static_cast(0))); aot_mem.aot_direct_store8(ctx.gpr[8] + static_cast(0), static_cast(ctx.gpr[10])); - ctx.gpr[10] = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(4))); + ctx.gpr[10] = (aot_mem.aot_direct_load32(aot_gpr_7 + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), aot_gpr_4); aot_mem.aot_direct_store32(ctx.gpr[8] + static_cast(4), ctx.gpr[10]); - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(8))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), ctx.gpr[7]); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_7 + static_cast(8))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), aot_gpr_7); aot_mem.aot_direct_store32(ctx.gpr[8] + static_cast(8), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(12))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_7 + static_cast(12))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_6); aot_mem.aot_direct_store32(ctx.gpr[8] + static_cast(12), aot_gpr_4); - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(16))); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_7 + static_cast(16))); aot_gpr_4 = (ctx.gpr[8] + static_cast(24)); aot_mem.aot_direct_store32(ctx.gpr[8] + static_cast(16), aot_gpr_5); - aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(20))); - aot_gpr_5 = (ctx.gpr[7] + static_cast(24)); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_7 + static_cast(20))); + aot_gpr_5 = (aot_gpr_7 + static_cast(24)); aot_gpr_31 = (0x08B3F7E8u); aot_mem.aot_direct_store32(ctx.gpr[8] + static_cast(20), aot_gpr_6); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0218_entry, 218u, 143u, 0x08B6CC70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3F7E8u) goto L_08B3F7E8; @@ -8334,12 +8335,12 @@ L_08B3F79C: L_08B3F7E8: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(36))); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(36))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(44))); - ctx.gpr[7] = (ctx.gpr[7] + static_cast(36)); + aot_gpr_7 = (aot_gpr_7 + static_cast(36)); goto L_08B3F7FC; L_08B3F7FC: - { const bool branch_taken = ctx.gpr[7] != aot_gpr_5; + { const bool branch_taken = aot_gpr_7 != aot_gpr_5; ctx.gpr[19] = (ctx.gpr[19] + static_cast(36)); if (branch_taken) { goto L_08B3F790; @@ -8347,9 +8348,9 @@ L_08B3F7FC: goto L_08B3F804; } L_08B3F804: - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); ctx.gpr[8] = (0u | 1u); - { const bool branch_taken = ctx.gpr[7] != ctx.gpr[8]; + { const bool branch_taken = aot_gpr_7 != ctx.gpr[8]; // nop if (branch_taken) { goto L_08B3F878; @@ -8357,8 +8358,8 @@ L_08B3F804: goto L_08B3F814; } L_08B3F814: - ctx.gpr[7] = (ctx.gpr[19] | 0u); - { const bool branch_taken = ctx.gpr[7] == 0u; + aot_gpr_7 = (ctx.gpr[19] | 0u); + { const bool branch_taken = aot_gpr_7 == 0u; // nop if (branch_taken) { goto L_08B3F86C; @@ -8367,22 +8368,22 @@ L_08B3F814: } L_08B3F820: ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_6 + static_cast(0))); - aot_mem.aot_direct_store8(ctx.gpr[7] + static_cast(0), static_cast(ctx.gpr[8])); + aot_mem.aot_direct_store8(aot_gpr_7 + static_cast(0), static_cast(ctx.gpr[8])); ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(4))); - aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(4), ctx.gpr[8]); + aot_mem.aot_direct_store32(aot_gpr_7 + static_cast(4), ctx.gpr[8]); ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_5); - aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(8), ctx.gpr[8]); + aot_mem.aot_direct_store32(aot_gpr_7 + static_cast(8), ctx.gpr[8]); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(12))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), aot_gpr_4); - aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(12), aot_gpr_5); + aot_mem.aot_direct_store32(aot_gpr_7 + static_cast(12), aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(16))); aot_gpr_5 = (aot_gpr_6 + static_cast(24)); - aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(16), aot_gpr_4); + aot_mem.aot_direct_store32(aot_gpr_7 + static_cast(16), aot_gpr_4); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(20))); - aot_gpr_4 = (ctx.gpr[7] + static_cast(24)); + aot_gpr_4 = (aot_gpr_7 + static_cast(24)); aot_gpr_31 = (0x08B3F864u); - aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(20), aot_gpr_6); + aot_mem.aot_direct_store32(aot_gpr_7 + static_cast(20), aot_gpr_6); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0218_entry, 218u, 143u, 0x08B6CC70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3F864u) goto L_08B3F864; AOT_REGCACHE_SYNC_OUT(); return; L_08B3F864: @@ -8392,14 +8393,14 @@ L_08B3F864: L_08B3F86C: ctx.gpr[19] = (ctx.gpr[19] + static_cast(36)); { const bool branch_taken = 0u == 0u; - ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + ctx.gpr[20] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); if (branch_taken) { goto L_08B3F904; } goto L_08B3F878; } L_08B3F878: - { const bool branch_taken = ctx.gpr[7] == 0u; + { const bool branch_taken = aot_gpr_7 == 0u; aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(9), static_cast(0u)); if (branch_taken) { goto L_08B3F900; @@ -8412,7 +8413,7 @@ L_08B3F880: L_08B3F884: ctx.gpr[9] = (ctx.gpr[19] | 0u); if (ctx.gpr[9] == 0u) { - ctx.gpr[7] = (ctx.gpr[7] + static_cast(-1)); + aot_gpr_7 = (aot_gpr_7 + static_cast(-1)); goto L_08B3F8F8; } goto L_08B3F890; @@ -8426,7 +8427,7 @@ L_08B3F890: aot_mem.aot_direct_store32(ctx.gpr[9] + static_cast(8), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(12))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), ctx.gpr[8]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), ctx.gpr[7]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_7); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_6); aot_mem.aot_direct_store32(ctx.gpr[9] + static_cast(12), aot_gpr_4); @@ -8442,13 +8443,13 @@ L_08B3F890: L_08B3F8E0: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(28))); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(28))); ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(32))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(44))); - ctx.gpr[7] = (ctx.gpr[7] + static_cast(-1)); + aot_gpr_7 = (aot_gpr_7 + static_cast(-1)); goto L_08B3F8F8; L_08B3F8F8: - { const bool branch_taken = ctx.gpr[7] != 0u; + { const bool branch_taken = aot_gpr_7 != 0u; ctx.gpr[19] = (ctx.gpr[19] + static_cast(36)); if (branch_taken) { goto L_08B3F884; @@ -8456,7 +8457,7 @@ L_08B3F8F8: goto L_08B3F900; } L_08B3F900: - ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + ctx.gpr[20] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); goto L_08B3F904; L_08B3F904: { const bool branch_taken = aot_gpr_4 != 0u; @@ -8479,28 +8480,28 @@ L_08B3F90C: L_08B3F91C: aot_gpr_6 = (ctx.gpr[19] | 0u); { const bool branch_taken = aot_gpr_6 == 0u; - ctx.gpr[7] = (aot_gpr_4 | 0u); + aot_gpr_7 = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08B3F974; } goto L_08B3F928; } L_08B3F928: - ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[7] + static_cast(0))); + ctx.gpr[8] = (aot_mem.aot_direct_load8(aot_gpr_7 + static_cast(0))); aot_mem.aot_direct_store8(aot_gpr_6 + static_cast(0), static_cast(ctx.gpr[8])); - ctx.gpr[8] = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(4))); + ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_7 + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(4), ctx.gpr[8]); - ctx.gpr[8] = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(8))); + ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_7 + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(8), ctx.gpr[8]); - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(12))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_7 + static_cast(12))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(12), aot_gpr_4); - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(16))); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_7 + static_cast(16))); aot_gpr_4 = (aot_gpr_6 + static_cast(24)); aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(16), aot_gpr_5); - ctx.gpr[8] = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(20))); - aot_gpr_5 = (ctx.gpr[7] + static_cast(24)); + ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_7 + static_cast(20))); + aot_gpr_5 = (aot_gpr_7 + static_cast(24)); aot_gpr_31 = (0x08B3F96Cu); aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(20), ctx.gpr[8]); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0218_entry, 218u, 143u, 0x08B6CC70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3F96Cu) goto L_08B3F96C; @@ -8519,10 +8520,10 @@ L_08B3F974: goto L_08B3F980; } L_08B3F980: - ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + ctx.gpr[20] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); goto L_08B3F984; L_08B3F984: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); ctx.gpr[21] = (aot_gpr_4 | 0u); { const bool branch_taken = ctx.gpr[21] == ctx.gpr[20]; aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(11), static_cast(0u)); @@ -8564,7 +8565,7 @@ L_08B3F9AC: L_08B3F9B4: aot_gpr_31 = (0x08B3F9BCu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3F9BCu) goto L_08B3F9BC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3F9BCu) goto L_08B3F9BC; AOT_REGCACHE_SYNC_OUT(); return; L_08B3F9BC: ctx.gpr[21] = (ctx.gpr[21] + static_cast(36)); @@ -8578,7 +8579,7 @@ L_08B3F9C0: goto L_08B3F9C8; } L_08B3F9C8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); goto L_08B3F9CC; L_08B3F9CC: { const bool branch_taken = aot_gpr_4 == 0u; @@ -8591,19 +8592,19 @@ L_08B3F9CC: L_08B3F9D4: aot_gpr_31 = (0x08B3F9DCu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3F9DCu) goto L_08B3F9DC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3F9DCu) goto L_08B3F9DC; AOT_REGCACHE_SYNC_OUT(); return; L_08B3F9DC: aot_gpr_4 = (ctx.gpr[17] << 5u); aot_gpr_5 = (ctx.gpr[17] << 2u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), ctx.gpr[18]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), ctx.gpr[18]); aot_gpr_4 = (ctx.gpr[18] + aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), ctx.gpr[19]); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(8), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(4), ctx.gpr[19]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(8), aot_gpr_4); { std::uint32_t aot_run_words[7]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(48), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -8619,21 +8620,21 @@ L_08B3F9DC: AOT_REGCACHE_SYNC_OUT(); return; L_08B3FA1C: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[8]); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); + aot_gpr_7 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); ctx.gpr[10] = (0u | 24u); - aot_gpr_4 = (aot_gpr_4 - ctx.gpr[7]); + aot_gpr_4 = (aot_gpr_4 - aot_gpr_7); { const std::int32_t dividend = static_cast(aot_gpr_4); const std::int32_t divisor = static_cast(ctx.gpr[10]); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), ctx.gpr[17]); aot_gpr_4 = (ctx.gpr[9] & 255u); { const std::uint32_t aot_run_words[3]{ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(36), aot_run_words); } ctx.gpr[17] = (ctx.lo); - ctx.gpr[7] = (ctx.gpr[17] < ctx.gpr[8] ? 1u : 0u); - { const bool branch_taken = ctx.gpr[7] == 0u; + aot_gpr_7 = (ctx.gpr[17] < ctx.gpr[8] ? 1u : 0u); + { const bool branch_taken = aot_gpr_7 == 0u; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); if (branch_taken) { goto L_08B3FA70; @@ -8641,18 +8642,18 @@ L_08B3FA1C: goto L_08B3FA64; } L_08B3FA64: - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); { const bool branch_taken = 0u == 0u; - ctx.gpr[17] = (ctx.gpr[17] + ctx.gpr[7]); + ctx.gpr[17] = (ctx.gpr[17] + aot_gpr_7); if (branch_taken) { goto L_08B3FA7C; } goto L_08B3FA70; } L_08B3FA70: - ctx.gpr[7] = (aot_gpr_29 + static_cast(4)); - ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(0))); - ctx.gpr[17] = (ctx.gpr[17] + ctx.gpr[7]); + aot_gpr_7 = (aot_gpr_29 + static_cast(4)); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_7 + static_cast(0))); + ctx.gpr[17] = (ctx.gpr[17] + aot_gpr_7); goto L_08B3FA7C; L_08B3FA7C: { const bool branch_taken = ctx.gpr[17] == 0u; @@ -8663,12 +8664,12 @@ L_08B3FA7C: goto L_08B3FA84; } L_08B3FA84: - ctx.gpr[7] = (ctx.gpr[17] << 3u); + aot_gpr_7 = (ctx.gpr[17] << 3u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_6); - aot_gpr_4 = (ctx.gpr[7] + ctx.gpr[7]); + aot_gpr_4 = (aot_gpr_7 + aot_gpr_7); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_5); - aot_gpr_4 = (ctx.gpr[7] + aot_gpr_4); + aot_gpr_4 = (aot_gpr_7 + aot_gpr_4); aot_gpr_31 = (0x08B3FAA4u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_4); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 474u, 0x08ABE308u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3FAA4u) goto L_08B3FAA4; @@ -8678,7 +8679,7 @@ L_08B3FAA4: aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(12), aot_run_words); aot_gpr_5 = aot_run_words[0]; aot_gpr_6 = aot_run_words[1]; - ctx.gpr[7] = aot_run_words[2]; + aot_gpr_7 = aot_run_words[2]; } ctx.gpr[19] = (ctx.gpr[2] | 0u); { const bool branch_taken = ctx.gpr[19] != 0u; @@ -8693,7 +8694,7 @@ L_08B3FABC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_5); aot_gpr_31 = (0x08B3FAD0u); - aot_gpr_4 = (ctx.gpr[7] | 0u); + aot_gpr_4 = (aot_gpr_7 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 289u, 0x08B65438u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3FAD0u) goto L_08B3FAD0; AOT_REGCACHE_SYNC_OUT(); return; L_08B3FAD0: @@ -8703,9 +8704,9 @@ L_08B3FAD0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); goto L_08B3FAE0; L_08B3FAE0: - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_7 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); ctx.gpr[18] = (ctx.gpr[19] | 0u); - { const bool branch_taken = ctx.gpr[7] == aot_gpr_5; + { const bool branch_taken = aot_gpr_7 == aot_gpr_5; aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(8), static_cast(0u)); if (branch_taken) { goto L_08B3FB34; @@ -8714,29 +8715,29 @@ L_08B3FAE0: } L_08B3FAF0: if (ctx.gpr[19] == 0u) { - ctx.gpr[7] = (ctx.gpr[7] + static_cast(24)); + aot_gpr_7 = (aot_gpr_7 + static_cast(24)); goto L_08B3FB2C; } goto L_08B3FAF8; L_08B3FAF8: { std::uint32_t aot_run_words[3]{}; - aot_mem.aot_direct_load32_block(ctx.gpr[7] + static_cast(0), aot_run_words); + aot_mem.aot_direct_load32_block(aot_gpr_7 + static_cast(0), aot_run_words); ctx.gpr[8] = aot_run_words[0]; ctx.gpr[9] = aot_run_words[1]; ctx.gpr[10] = aot_run_words[2]; } aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(0), ctx.gpr[8]); - ctx.gpr[8] = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(12))); + ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_7 + static_cast(12))); aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(4), ctx.gpr[9]); - ctx.gpr[9] = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(16))); + ctx.gpr[9] = (aot_mem.aot_direct_load32(aot_gpr_7 + static_cast(16))); aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(8), ctx.gpr[10]); - ctx.gpr[10] = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(20))); + ctx.gpr[10] = (aot_mem.aot_direct_load32(aot_gpr_7 + static_cast(20))); { const std::uint32_t aot_run_words[3]{ctx.gpr[8], ctx.gpr[9], ctx.gpr[10]}; aot_mem.aot_direct_store32_block(ctx.gpr[19] + static_cast(12), aot_run_words); } - ctx.gpr[7] = (ctx.gpr[7] + static_cast(24)); + aot_gpr_7 = (aot_gpr_7 + static_cast(24)); goto L_08B3FB2C; L_08B3FB2C: - { const bool branch_taken = ctx.gpr[7] != aot_gpr_5; + { const bool branch_taken = aot_gpr_7 != aot_gpr_5; ctx.gpr[19] = (ctx.gpr[19] + static_cast(24)); if (branch_taken) { goto L_08B3FAF0; @@ -8744,9 +8745,9 @@ L_08B3FB2C: goto L_08B3FB34; } L_08B3FB34: - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); ctx.gpr[8] = (0u | 1u); - { const bool branch_taken = ctx.gpr[7] != ctx.gpr[8]; + { const bool branch_taken = aot_gpr_7 != ctx.gpr[8]; // nop if (branch_taken) { goto L_08B3FB88; @@ -8764,30 +8765,30 @@ L_08B3FB44: L_08B3FB4C: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_6 + static_cast(0), aot_run_words); - ctx.gpr[7] = aot_run_words[0]; + aot_gpr_7 = aot_run_words[0]; ctx.gpr[8] = aot_run_words[1]; ctx.gpr[9] = aot_run_words[2]; } - aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(0), ctx.gpr[7]); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(12))); + aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(0), aot_gpr_7); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(12))); aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(4), ctx.gpr[8]); ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(16))); aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(8), ctx.gpr[9]); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(20))); - { const std::uint32_t aot_run_words[3]{ctx.gpr[7], ctx.gpr[8], aot_gpr_6}; + { const std::uint32_t aot_run_words[3]{aot_gpr_7, ctx.gpr[8], aot_gpr_6}; aot_mem.aot_direct_store32_block(ctx.gpr[19] + static_cast(12), aot_run_words); } goto L_08B3FB7C; L_08B3FB7C: ctx.gpr[19] = (ctx.gpr[19] + static_cast(24)); { const bool branch_taken = 0u == 0u; - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); if (branch_taken) { goto L_08B3FBD8; } goto L_08B3FB88; } L_08B3FB88: - { const bool branch_taken = ctx.gpr[7] == 0u; + { const bool branch_taken = aot_gpr_7 == 0u; aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(9), static_cast(0u)); if (branch_taken) { goto L_08B3FBD4; @@ -8796,7 +8797,7 @@ L_08B3FB88: } L_08B3FB90: if (ctx.gpr[19] == 0u) { - ctx.gpr[7] = (ctx.gpr[7] + static_cast(-1)); + aot_gpr_7 = (aot_gpr_7 + static_cast(-1)); goto L_08B3FBCC; } goto L_08B3FB98; @@ -8815,10 +8816,10 @@ L_08B3FB98: ctx.gpr[10] = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(20))); { const std::uint32_t aot_run_words[3]{ctx.gpr[8], ctx.gpr[9], ctx.gpr[10]}; aot_mem.aot_direct_store32_block(ctx.gpr[19] + static_cast(12), aot_run_words); } - ctx.gpr[7] = (ctx.gpr[7] + static_cast(-1)); + aot_gpr_7 = (aot_gpr_7 + static_cast(-1)); goto L_08B3FBCC; L_08B3FBCC: - { const bool branch_taken = ctx.gpr[7] != 0u; + { const bool branch_taken = aot_gpr_7 != 0u; ctx.gpr[19] = (ctx.gpr[19] + static_cast(24)); if (branch_taken) { goto L_08B3FB90; @@ -8826,7 +8827,7 @@ L_08B3FBCC: goto L_08B3FBD4; } L_08B3FBD4: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); goto L_08B3FBD8; L_08B3FBD8: { const bool branch_taken = aot_gpr_4 != 0u; @@ -8856,16 +8857,16 @@ L_08B3FBF8: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_4 + static_cast(0), aot_run_words); aot_gpr_6 = aot_run_words[0]; - ctx.gpr[7] = aot_run_words[1]; + aot_gpr_7 = aot_run_words[1]; ctx.gpr[8] = aot_run_words[2]; } aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(0), aot_gpr_6); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(12))); - aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(4), ctx.gpr[7]); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); + aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(4), aot_gpr_7); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast(8), ctx.gpr[8]); ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); - { const std::uint32_t aot_run_words[3]{aot_gpr_6, ctx.gpr[7], ctx.gpr[8]}; + { const std::uint32_t aot_run_words[3]{aot_gpr_6, aot_gpr_7, ctx.gpr[8]}; aot_mem.aot_direct_store32_block(ctx.gpr[19] + static_cast(12), aot_run_words); } aot_gpr_4 = (aot_gpr_4 + static_cast(24)); goto L_08B3FC2C; @@ -8878,10 +8879,10 @@ L_08B3FC2C: goto L_08B3FC34; } L_08B3FC34: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); goto L_08B3FC38; L_08B3FC38: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_5 = (aot_gpr_4 | 0u); { const bool branch_taken = aot_gpr_5 == aot_gpr_6; aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(11), static_cast(0u)); @@ -8912,19 +8913,19 @@ L_08B3FC54: L_08B3FC5C: aot_gpr_31 = (0x08B3FC64u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3FC64u) goto L_08B3FC64; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3FC64u) goto L_08B3FC64; AOT_REGCACHE_SYNC_OUT(); return; L_08B3FC64: aot_gpr_4 = (ctx.gpr[17] << 3u); aot_gpr_5 = (aot_gpr_4 + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), ctx.gpr[18]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), ctx.gpr[18]); aot_gpr_4 = (ctx.gpr[18] + aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), ctx.gpr[19]); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(8), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(4), ctx.gpr[19]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(8), aot_gpr_4); { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(28), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -8952,7 +8953,7 @@ L_08B3FCB0: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(748), ctx.gpr[23]); ctx.gpr[23] = (0u | 24u); ctx.gpr[18] = (aot_gpr_4 | 0u); - { const std::uint32_t aot_run_words[8]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), aot_gpr_16, ctx.gpr[17]}; + { const std::uint32_t aot_run_words[8]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), ctx.gpr[16], ctx.gpr[17]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(696), aot_run_words); } { const std::uint32_t aot_run_words[4]{ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(732), aot_run_words); } @@ -8967,7 +8968,7 @@ L_08B3FD04: aot_gpr_4 = (0u | 1u); aot_gpr_31 = (0x08B3FD14u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3FD14u) goto L_08B3FD14; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3FD14u) goto L_08B3FD14; AOT_REGCACHE_SYNC_OUT(); return; L_08B3FD14: { std::uint32_t aot_run_words[3]{}; @@ -8977,32 +8978,32 @@ L_08B3FD14: aot_gpr_6 = aot_run_words[2]; } aot_fpr_12 = std::bit_cast(aot_gpr_4); - ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(24))); + aot_gpr_7 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(24))); aot_fpr_13 = std::bit_cast(aot_gpr_5); aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); - aot_gpr_5 = (aot_gpr_5 + ctx.gpr[7]); + aot_gpr_5 = (aot_gpr_5 + aot_gpr_7); aot_fpr_14 = std::bit_cast(aot_gpr_4); - aot_gpr_16 = (aot_gpr_29 + static_cast(4)); + ctx.gpr[16] = (aot_gpr_29 + static_cast(4)); aot_fpr_15 = std::bit_cast(aot_gpr_5); aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_13))); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); aot_gpr_31 = (0x08B3FD58u); aot_fpr_15 = static_cast(static_cast(std::bit_cast(aot_fpr_15))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3FD58u) goto L_08B3FD58; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3FD58u) goto L_08B3FD58; AOT_REGCACHE_SYNC_OUT(); return; L_08B3FD58: aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_5 = (0u | 255u); aot_gpr_6 = (0u | 255u); - ctx.gpr[7] = (0u | 255u); + aot_gpr_7 = (0u | 255u); aot_gpr_31 = (0x08B3FD70u); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3FD70u) goto L_08B3FD70; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3FD70u) goto L_08B3FD70; AOT_REGCACHE_SYNC_OUT(); return; L_08B3FD70: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B3FD7Cu); aot_gpr_5 = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 121u, 0x08AF51FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3FD7Cu) goto L_08B3FD7C; @@ -9036,7 +9037,7 @@ L_08B3FDD0: aot_gpr_4 = (0u | 1u); aot_gpr_31 = (0x08B3FDE0u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3FDE0u) goto L_08B3FDE0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3FDE0u) goto L_08B3FDE0; AOT_REGCACHE_SYNC_OUT(); return; L_08B3FDE0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(12))); @@ -9054,28 +9055,28 @@ L_08B3FDE0: ctx.fpr[20] = std::bit_cast(aot_gpr_6); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(36))); { const float fs = aot_fpr_14; const float ft = ctx.fpr[20]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } - aot_gpr_16 = (aot_gpr_29 + static_cast(56)); + ctx.gpr[16] = (aot_gpr_29 + static_cast(56)); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_13))); aot_fpr_15 = std::bit_cast(aot_gpr_4); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_fpr_15 = static_cast(static_cast(std::bit_cast(aot_fpr_15))); aot_gpr_31 = (0x08B3FE40u); aot_fpr_14 = aot_fpr_12 + aot_fpr_14; - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3FE40u) goto L_08B3FE40; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3FE40u) goto L_08B3FE40; AOT_REGCACHE_SYNC_OUT(); return; L_08B3FE40: aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_5 = (0u | 255u); aot_gpr_6 = (0u | 255u); - ctx.gpr[7] = (0u | 255u); + aot_gpr_7 = (0u | 255u); aot_gpr_31 = (0x08B3FE58u); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3FE58u) goto L_08B3FE58; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3FE58u) goto L_08B3FE58; AOT_REGCACHE_SYNC_OUT(); return; L_08B3FE58: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B3FE64u); aot_gpr_5 = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 121u, 0x08AF51FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3FE64u) goto L_08B3FE64; @@ -9103,7 +9104,7 @@ L_08B3FEA0: aot_gpr_4 = (0u | 1u); aot_gpr_31 = (0x08B3FEB0u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3FEB0u) goto L_08B3FEB0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08861668, 23u, 203u, 0x08861668u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 203u, 0x08861668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3FEB0u) goto L_08B3FEB0; AOT_REGCACHE_SYNC_OUT(); return; L_08B3FEB0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(12))); @@ -9118,32 +9119,32 @@ L_08B3FEB0: { const float fs = aot_fpr_12; const float ft = ctx.fpr[20]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(16))); aot_fpr_15 = std::bit_cast(aot_gpr_4); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(80))); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(80))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(88))); - aot_gpr_6 = (aot_gpr_6 + ctx.gpr[7]); + aot_gpr_6 = (aot_gpr_6 + aot_gpr_7); aot_fpr_12 = aot_fpr_14 + aot_fpr_12; aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); - aot_gpr_16 = (aot_gpr_29 + static_cast(108)); + ctx.gpr[16] = (aot_gpr_29 + static_cast(108)); aot_fpr_13 = std::bit_cast(aot_gpr_6); aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_13))); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_15))); aot_fpr_15 = std::bit_cast(aot_gpr_5); aot_gpr_31 = (0x08B3FF14u); aot_fpr_15 = static_cast(static_cast(std::bit_cast(aot_fpr_15))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3FF14u) goto L_08B3FF14; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3FF14u) goto L_08B3FF14; AOT_REGCACHE_SYNC_OUT(); return; L_08B3FF14: aot_gpr_4 = (aot_gpr_29 | 0u); aot_gpr_5 = (0u | 255u); aot_gpr_6 = (0u | 255u); - ctx.gpr[7] = (0u | 255u); + aot_gpr_7 = (0u | 255u); aot_gpr_31 = (0x08B3FF2Cu); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3FF2Cu) goto L_08B3FF2C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3FF2Cu) goto L_08B3FF2C; AOT_REGCACHE_SYNC_OUT(); return; L_08B3FF2C: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B3FF38u); aot_gpr_5 = (ctx.gpr[2] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 121u, 0x08AF51FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3FF38u) goto L_08B3FF38; @@ -9183,16 +9184,16 @@ L_08B3FF90: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_5 + static_cast(0), aot_run_words); aot_gpr_6 = aot_run_words[0]; - ctx.gpr[7] = aot_run_words[1]; + aot_gpr_7 = aot_run_words[1]; ctx.gpr[8] = aot_run_words[2]; } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(124), aot_gpr_6); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(12))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(128), ctx.gpr[7]); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(16))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(128), aot_gpr_7); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(16))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(132), ctx.gpr[8]); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(20))); - { const std::uint32_t aot_run_words[3]{aot_gpr_6, ctx.gpr[7], aot_gpr_5}; + { const std::uint32_t aot_run_words[3]{aot_gpr_6, aot_gpr_7, aot_gpr_5}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(136), aot_run_words); } aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(124))); aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(273))); @@ -9227,7 +9228,7 @@ L_08B3FFF0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B3FFFCu) goto L_08B3FFFC; AOT_REGCACHE_SYNC_OUT(); return; L_08B3FFFC: - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (ctx.gpr[2] | 0u); ctx.pc = 0x08B40000u; AOT_REGCACHE_SYNC_OUT(); return; } diff --git a/profiles/vcs/generated/generated_unit_0207.cpp b/profiles/vcs/generated/generated_unit_0207.cpp index 9709e2f..0f80cf4 100644 --- a/profiles/vcs/generated/generated_unit_0207.cpp +++ b/profiles/vcs/generated/generated_unit_0207.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,7 +139,7 @@ static const std::uint16_t kEntryIds_recomp_unit_0207[4086] = { }; void recomp_unit_0207_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,6,31,16 fprs=12,13,20,14 gpr_occ=3323 fpr_occ=873 gpr_total=4866 fpr_total=1404 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,6,31,16 fprs=12,13,20,14 gpr_occ=3533 fpr_occ=879 gpr_total=5265 fpr_total=1412 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; @@ -1000,7 +1001,7 @@ L_08B40000: L_08B40008: aot_gpr_31 = (0x08B40010u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B40010u) goto L_08B40010; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B40010u) goto L_08B40010; AOT_REGCACHE_SYNC_OUT(); return; L_08B40010: ctx.gpr[17] = (aot_gpr_16 | 0u); @@ -1037,7 +1038,7 @@ L_08B40038: L_08B40044: aot_gpr_31 = (0x08B4004Cu); aot_gpr_4 = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B4004Cu) goto L_08B4004C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C604, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B4004Cu) goto L_08B4004C; AOT_REGCACHE_SYNC_OUT(); return; L_08B4004C: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(12))); @@ -1051,7 +1052,7 @@ L_08B4004C: aot_fpr_20 = std::bit_cast(aot_gpr_5); aot_gpr_31 = (0x08B40078u); aot_fpr_20 = static_cast(static_cast(std::bit_cast(aot_fpr_20))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B40078u) goto L_08B40078; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08873400, 27u, 732u, 0x08873400u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, ctx.fpr[15]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B40078u) goto L_08B40078; AOT_REGCACHE_SYNC_OUT(); return; L_08B40078: aot_gpr_4 = (ctx.gpr[19] | 0u); @@ -1085,7 +1086,7 @@ L_08B40090: L_08B400C8: aot_gpr_31 = (0x08B400D0u); aot_gpr_4 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B400D0u) goto L_08B400D0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C604, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B400D0u) goto L_08B400D0; AOT_REGCACHE_SYNC_OUT(); return; L_08B400D0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(12))); @@ -1112,7 +1113,7 @@ L_08B40118: aot_gpr_4 = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x08B40128u); aot_fpr_14 = std::bit_cast(std::bit_cast(aot_fpr_20)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B40128u) goto L_08B40128; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08873400, 27u, 732u, 0x08873400u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, ctx.fpr[15]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B40128u) goto L_08B40128; AOT_REGCACHE_SYNC_OUT(); return; L_08B40128: aot_gpr_31 = (0x08B40130u); @@ -1164,7 +1165,7 @@ L_08B40190: L_08B4019C: aot_gpr_31 = (0x08B401A4u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B401A4u) goto L_08B401A4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B401A4u) goto L_08B401A4; AOT_REGCACHE_SYNC_OUT(); return; L_08B401A4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(44))); @@ -1180,7 +1181,7 @@ L_08B401A8: L_08B401B0: aot_gpr_31 = (0x08B401B8u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B401B8u) goto L_08B401B8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B401B8u) goto L_08B401B8; AOT_REGCACHE_SYNC_OUT(); return; L_08B401B8: { std::uint32_t aot_run_words[16]{}; @@ -1271,7 +1272,7 @@ L_08B40278: L_08B40280: aot_gpr_31 = (0x08B40288u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B40288u) goto L_08B40288; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B40288u) goto L_08B40288; AOT_REGCACHE_SYNC_OUT(); return; L_08B40288: aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); @@ -1292,7 +1293,7 @@ L_08B40298: L_08B402A0: aot_gpr_31 = (0x08B402A8u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B402A8u) goto L_08B402A8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B402A8u) goto L_08B402A8; AOT_REGCACHE_SYNC_OUT(); return; L_08B402A8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(188))); @@ -1417,7 +1418,7 @@ L_08B40384: L_08B40390: aot_gpr_31 = (0x08B40398u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B40398u) goto L_08B40398; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B40398u) goto L_08B40398; AOT_REGCACHE_SYNC_OUT(); return; L_08B40398: aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); @@ -1438,7 +1439,7 @@ L_08B403A8: L_08B403B0: aot_gpr_31 = (0x08B403B8u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B403B8u) goto L_08B403B8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B403B8u) goto L_08B403B8; AOT_REGCACHE_SYNC_OUT(); return; L_08B403B8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(200))); @@ -1563,7 +1564,7 @@ L_08B40494: L_08B404A0: aot_gpr_31 = (0x08B404A8u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B404A8u) goto L_08B404A8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B404A8u) goto L_08B404A8; AOT_REGCACHE_SYNC_OUT(); return; L_08B404A8: { const bool branch_taken = aot_gpr_16 == 0u; @@ -1598,7 +1599,7 @@ L_08B404CC: L_08B404D8: aot_gpr_31 = (0x08B404E0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B404E0u) goto L_08B404E0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B404E0u) goto L_08B404E0; AOT_REGCACHE_SYNC_OUT(); return; L_08B404E0: { const bool branch_taken = aot_gpr_16 == 0u; @@ -1642,7 +1643,7 @@ L_08B40514: L_08B40520: aot_gpr_31 = (0x08B40528u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B40528u) goto L_08B40528; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B40528u) goto L_08B40528; AOT_REGCACHE_SYNC_OUT(); return; L_08B40528: { const bool branch_taken = ctx.gpr[19] == 0u; @@ -1692,7 +1693,7 @@ L_08B40574: L_08B40580: aot_gpr_31 = (0x08B40588u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B40588u) goto L_08B40588; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B40588u) goto L_08B40588; AOT_REGCACHE_SYNC_OUT(); return; L_08B40588: { const bool branch_taken = aot_gpr_16 == 0u; @@ -1735,7 +1736,7 @@ L_08B405B8: L_08B405C4: aot_gpr_31 = (0x08B405CCu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B405CCu) goto L_08B405CC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B405CCu) goto L_08B405CC; AOT_REGCACHE_SYNC_OUT(); return; L_08B405CC: { const bool branch_taken = ctx.gpr[17] == 0u; @@ -1748,7 +1749,7 @@ L_08B405CC: L_08B405D4: aot_gpr_31 = (0x08B405DCu); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B405DCu) goto L_08B405DC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B405DCu) goto L_08B405DC; AOT_REGCACHE_SYNC_OUT(); return; L_08B405DC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); @@ -1919,7 +1920,7 @@ L_08B40700: L_08B4070C: aot_gpr_31 = (0x08B40714u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B40714u) goto L_08B40714; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B40714u) goto L_08B40714; AOT_REGCACHE_SYNC_OUT(); return; L_08B40714: { const bool branch_taken = aot_gpr_16 == 0u; @@ -1962,7 +1963,7 @@ L_08B40744: L_08B40750: aot_gpr_31 = (0x08B40758u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B40758u) goto L_08B40758; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B40758u) goto L_08B40758; AOT_REGCACHE_SYNC_OUT(); return; L_08B40758: { const bool branch_taken = aot_gpr_16 == 0u; @@ -2065,7 +2066,7 @@ L_08B40810: L_08B4081C: aot_gpr_31 = (0x08B40824u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B40824u) goto L_08B40824; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B40824u) goto L_08B40824; AOT_REGCACHE_SYNC_OUT(); return; L_08B40824: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(60))); @@ -2079,7 +2080,7 @@ L_08B40824: L_08B40830: aot_gpr_31 = (0x08B40838u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B40838u) goto L_08B40838; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B40838u) goto L_08B40838; AOT_REGCACHE_SYNC_OUT(); return; L_08B40838: { const bool branch_taken = ctx.gpr[19] != 0u; @@ -2114,7 +2115,7 @@ L_08B4085C: L_08B40868: aot_gpr_31 = (0x08B40870u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B40870u) goto L_08B40870; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B40870u) goto L_08B40870; AOT_REGCACHE_SYNC_OUT(); return; L_08B40870: { const bool branch_taken = ctx.gpr[17] == 0u; @@ -2158,7 +2159,7 @@ L_08B408B0: L_08B408BC: aot_gpr_31 = (0x08B408C4u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B408C4u) goto L_08B408C4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B408C4u) goto L_08B408C4; AOT_REGCACHE_SYNC_OUT(); return; L_08B408C4: { const bool branch_taken = aot_gpr_16 == 0u; @@ -2247,7 +2248,7 @@ L_08B4093C: L_08B40948: aot_gpr_31 = (0x08B40950u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B40950u) goto L_08B40950; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B40950u) goto L_08B40950; AOT_REGCACHE_SYNC_OUT(); return; L_08B40950: { const bool branch_taken = aot_gpr_16 == 0u; @@ -2260,7 +2261,7 @@ L_08B40950: L_08B40958: aot_gpr_31 = (0x08B40960u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B40960u) goto L_08B40960; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B40960u) goto L_08B40960; AOT_REGCACHE_SYNC_OUT(); return; L_08B40960: aot_gpr_4 = (ctx.gpr[2] < static_cast(9) ? 1u : 0u); @@ -2318,7 +2319,7 @@ L_08B409A4: L_08B409B0: aot_gpr_31 = (0x08B409B8u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B409B8u) goto L_08B409B8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B409B8u) goto L_08B409B8; AOT_REGCACHE_SYNC_OUT(); return; L_08B409B8: { const bool branch_taken = aot_gpr_16 == 0u; @@ -2415,7 +2416,7 @@ L_08B40A64: L_08B40A70: aot_gpr_31 = (0x08B40A78u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B40A78u) goto L_08B40A78; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B40A78u) goto L_08B40A78; AOT_REGCACHE_SYNC_OUT(); return; L_08B40A78: { const bool branch_taken = ctx.gpr[17] != 0u; @@ -2450,7 +2451,7 @@ L_08B40A9C: L_08B40AA8: aot_gpr_31 = (0x08B40AB0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B40AB0u) goto L_08B40AB0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B40AB0u) goto L_08B40AB0; AOT_REGCACHE_SYNC_OUT(); return; L_08B40AB0: { const bool branch_taken = ctx.gpr[19] == 0u; @@ -2500,7 +2501,7 @@ L_08B40AFC: L_08B40B08: aot_gpr_31 = (0x08B40B10u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B40B10u) goto L_08B40B10; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B40B10u) goto L_08B40B10; AOT_REGCACHE_SYNC_OUT(); return; L_08B40B10: { const bool branch_taken = ctx.gpr[17] == 0u; @@ -2513,7 +2514,7 @@ L_08B40B10: L_08B40B18: aot_gpr_31 = (0x08B40B20u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B40B20u) goto L_08B40B20; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B40B20u) goto L_08B40B20; AOT_REGCACHE_SYNC_OUT(); return; L_08B40B20: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(148))); @@ -2684,7 +2685,7 @@ L_08B40C44: L_08B40C50: aot_gpr_31 = (0x08B40C58u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B40C58u) goto L_08B40C58; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B40C58u) goto L_08B40C58; AOT_REGCACHE_SYNC_OUT(); return; L_08B40C58: { const bool branch_taken = aot_gpr_16 == 0u; @@ -2727,7 +2728,7 @@ L_08B40C88: L_08B40C94: aot_gpr_31 = (0x08B40C9Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B40C9Cu) goto L_08B40C9C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B40C9Cu) goto L_08B40C9C; AOT_REGCACHE_SYNC_OUT(); return; L_08B40C9C: if (aot_gpr_16 == 0u) { @@ -2876,7 +2877,7 @@ L_08B40D94: L_08B40DA0: aot_gpr_31 = (0x08B40DA8u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B40DA8u) goto L_08B40DA8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B40DA8u) goto L_08B40DA8; AOT_REGCACHE_SYNC_OUT(); return; L_08B40DA8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(144))); @@ -2890,7 +2891,7 @@ L_08B40DA8: L_08B40DB4: aot_gpr_31 = (0x08B40DBCu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B40DBCu) goto L_08B40DBC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B40DBCu) goto L_08B40DBC; AOT_REGCACHE_SYNC_OUT(); return; L_08B40DBC: { const bool branch_taken = ctx.gpr[19] != 0u; @@ -4884,7 +4885,7 @@ L_08B41D30: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08B41D4Cu); ctx.gpr[17] = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(18))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B41D4Cu) goto L_08B41D4C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B41D4Cu) goto L_08B41D4C; AOT_REGCACHE_SYNC_OUT(); return; L_08B41D4C: ctx.gpr[7] = (static_cast(static_cast(ctx.gpr[17]) >> 31u)); @@ -4892,7 +4893,7 @@ L_08B41D4C: aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08B41D60u); aot_gpr_6 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B41D60u) goto L_08B41D60; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B41D60u) goto L_08B41D60; AOT_REGCACHE_SYNC_OUT(); return; L_08B41D60: ctx.gpr[1] = (ctx.gpr[3] << 1u); @@ -4955,7 +4956,7 @@ L_08B41DB8: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_gpr_31 = (0x08B41DE0u); ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B41DE0u) goto L_08B41DE0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B41DE0u) goto L_08B41DE0; AOT_REGCACHE_SYNC_OUT(); return; L_08B41DE0: ctx.gpr[7] = (static_cast(static_cast(ctx.gpr[17]) >> 31u)); @@ -4963,7 +4964,7 @@ L_08B41DE0: aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08B41DF4u); aot_gpr_6 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B41DF4u) goto L_08B41DF4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B41DF4u) goto L_08B41DF4; AOT_REGCACHE_SYNC_OUT(); return; L_08B41DF4: ctx.gpr[1] = (ctx.gpr[3] << 1u); @@ -5569,7 +5570,7 @@ L_08B422C8: aot_gpr_4 = (aot_gpr_4 + ctx.gpr[17]); aot_gpr_31 = (0x08B422F0u); ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(-4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B422F0u) goto L_08B422F0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B422F0u) goto L_08B422F0; AOT_REGCACHE_SYNC_OUT(); return; L_08B422F0: ctx.gpr[7] = (static_cast(static_cast(ctx.gpr[18]) >> 31u)); @@ -5577,7 +5578,7 @@ L_08B422F0: aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08B42304u); aot_gpr_6 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B42304u) goto L_08B42304; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B42304u) goto L_08B42304; AOT_REGCACHE_SYNC_OUT(); return; L_08B42304: ctx.gpr[1] = (ctx.gpr[3] << 1u); @@ -5760,7 +5761,7 @@ L_08B4244C: L_08B42454: aot_gpr_31 = (0x08B4245Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B4245Cu) goto L_08B4245C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B4245Cu) goto L_08B4245C; AOT_REGCACHE_SYNC_OUT(); return; L_08B4245C: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5524))); @@ -5768,7 +5769,7 @@ L_08B4245C: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08B42470u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B42470u) goto L_08B42470; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B42470u) goto L_08B42470; AOT_REGCACHE_SYNC_OUT(); return; L_08B42470: ctx.gpr[1] = (ctx.gpr[3] << 1u); diff --git a/profiles/vcs/generated/generated_unit_0208.cpp b/profiles/vcs/generated/generated_unit_0208.cpp index fd3a3a0..c37f84f 100644 --- a/profiles/vcs/generated/generated_unit_0208.cpp +++ b/profiles/vcs/generated/generated_unit_0208.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,11 +139,11 @@ static const std::uint16_t kEntryIds_recomp_unit_0208[4093] = { }; void recomp_unit_0208_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,6,31,16 fprs=12,13,20,22 gpr_occ=3889 fpr_occ=758 gpr_total=5034 fpr_total=1078 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,6,29,31,16 fprs=12,13,20,22 gpr_occ=3954 fpr_occ=758 gpr_total=5152 fpr_total=1078 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; - std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_6 = ctx.gpr[6]; + std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; std::uint32_t aot_gpr_16 = ctx.gpr[16]; float aot_fpr_12 = ctx.fpr[12]; @@ -150,8 +151,8 @@ void recomp_unit_0208_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t dir float aot_fpr_20 = ctx.fpr[20]; float aot_fpr_22 = ctx.fpr[22]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[6] = aot_gpr_6; ctx.gpr[31] = aot_gpr_31; ctx.gpr[16] = aot_gpr_16; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; ctx.fpr[22] = aot_fpr_22; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_16 = ctx.gpr[16]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_22 = ctx.fpr[22]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[6] = aot_gpr_6; ctx.gpr[29] = aot_gpr_29; ctx.gpr[31] = aot_gpr_31; ctx.gpr[16] = aot_gpr_16; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; ctx.fpr[22] = aot_fpr_22; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_16 = ctx.gpr[16]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_22 = ctx.fpr[22]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -3015,7 +3016,7 @@ L_08B45040: L_08B45048: aot_gpr_31 = (0x08B45050u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B45050u) goto L_08B45050; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B45050u) goto L_08B45050; AOT_REGCACHE_SYNC_OUT(); return; L_08B45050: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5532))); @@ -3023,7 +3024,7 @@ L_08B45050: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08B45064u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B45064u) goto L_08B45064; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B45064u) goto L_08B45064; AOT_REGCACHE_SYNC_OUT(); return; L_08B45064: ctx.gpr[1] = (ctx.gpr[3] << 1u); @@ -3171,7 +3172,7 @@ L_08B4511C: L_08B45124: aot_gpr_31 = (0x08B4512Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B4512Cu) goto L_08B4512C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B4512Cu) goto L_08B4512C; AOT_REGCACHE_SYNC_OUT(); return; L_08B4512C: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5516))); @@ -3179,7 +3180,7 @@ L_08B4512C: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08B45140u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B45140u) goto L_08B45140; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B45140u) goto L_08B45140; AOT_REGCACHE_SYNC_OUT(); return; L_08B45140: ctx.gpr[1] = (ctx.gpr[3] << 1u); @@ -3278,7 +3279,7 @@ L_08B451D0: L_08B451D8: aot_gpr_31 = (0x08B451E0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B451E0u) goto L_08B451E0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B451E0u) goto L_08B451E0; AOT_REGCACHE_SYNC_OUT(); return; L_08B451E0: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5532))); @@ -3286,7 +3287,7 @@ L_08B451E0: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08B451F4u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B451F4u) goto L_08B451F4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B451F4u) goto L_08B451F4; AOT_REGCACHE_SYNC_OUT(); return; L_08B451F4: ctx.gpr[1] = (ctx.gpr[3] << 1u); @@ -3393,7 +3394,7 @@ L_08B45294: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); aot_gpr_31 = (0x08B452C0u); ctx.gpr[21] = (static_cast(static_cast(ctx.gpr[20]) >> 31u)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B452C0u) goto L_08B452C0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B452C0u) goto L_08B452C0; AOT_REGCACHE_SYNC_OUT(); return; L_08B452C0: aot_gpr_6 = (ctx.gpr[18] - ctx.gpr[20]); @@ -3401,7 +3402,7 @@ L_08B452C0: aot_gpr_5 = (0u | 0u); aot_gpr_31 = (0x08B452D4u); ctx.gpr[7] = (static_cast(static_cast(aot_gpr_6) >> 31u)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B452D4u) goto L_08B452D4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B452D4u) goto L_08B452D4; AOT_REGCACHE_SYNC_OUT(); return; L_08B452D4: ctx.gpr[1] = (ctx.gpr[3] << 1u); @@ -7352,7 +7353,7 @@ L_08B46F9C: L_08B46FA8: aot_gpr_31 = (0x08B46FB0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B46FB0u) goto L_08B46FB0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B46FB0u) goto L_08B46FB0; AOT_REGCACHE_SYNC_OUT(); return; L_08B46FB0: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -8183,7 +8184,7 @@ L_08B47610: L_08B47618: aot_gpr_31 = (0x08B47620u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B47620u) goto L_08B47620; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B47620u) goto L_08B47620; AOT_REGCACHE_SYNC_OUT(); return; L_08B47620: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -9266,7 +9267,7 @@ L_08B47D54: aot_gpr_4 = (16768u << 16u); aot_gpr_31 = (0x08B47D68u); aot_fpr_22 = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B47D68u) goto L_08B47D68; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B47D68u) goto L_08B47D68; AOT_REGCACHE_SYNC_OUT(); return; L_08B47D68: aot_fpr_12 = aot_fpr_22 - aot_fpr_20; @@ -9373,7 +9374,7 @@ L_08B47E6C: aot_gpr_4 = (16768u << 16u); aot_gpr_31 = (0x08B47E80u); aot_fpr_22 = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B47E80u) goto L_08B47E80; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B47E80u) goto L_08B47E80; AOT_REGCACHE_SYNC_OUT(); return; L_08B47E80: aot_fpr_12 = aot_fpr_22 - aot_fpr_20; @@ -9437,7 +9438,7 @@ L_08B47F08: aot_gpr_4 = (16768u << 16u); aot_gpr_31 = (0x08B47F24u); aot_fpr_22 = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B47F24u) goto L_08B47F24; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B47F24u) goto L_08B47F24; AOT_REGCACHE_SYNC_OUT(); return; L_08B47F24: aot_fpr_12 = aot_fpr_22 - aot_fpr_20; @@ -9474,7 +9475,7 @@ L_08B47F74: aot_gpr_4 = (16736u << 16u); aot_gpr_31 = (0x08B47F88u); aot_fpr_22 = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B47F88u) goto L_08B47F88; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B47F88u) goto L_08B47F88; AOT_REGCACHE_SYNC_OUT(); return; L_08B47F88: aot_fpr_12 = aot_fpr_22 - aot_fpr_20; @@ -9500,7 +9501,7 @@ L_08B47FB8: aot_gpr_4 = (16784u << 16u); aot_gpr_31 = (0x08B47FCCu); aot_fpr_22 = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B47FCCu) goto L_08B47FCC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B47FCCu) goto L_08B47FCC; AOT_REGCACHE_SYNC_OUT(); return; L_08B47FCC: aot_fpr_12 = aot_fpr_22 - aot_fpr_20; diff --git a/profiles/vcs/generated/generated_unit_0209.cpp b/profiles/vcs/generated/generated_unit_0209.cpp index a4dbfff..2114949 100644 --- a/profiles/vcs/generated/generated_unit_0209.cpp +++ b/profiles/vcs/generated/generated_unit_0209.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0209[4089] = { }; void recomp_unit_0209_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,6,29,22,16 fprs=12,13,14,15 gpr_occ=3635 fpr_occ=961 gpr_total=4955 fpr_total=1700 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,6,29,7,31 fprs=12,13,14,15 gpr_occ=3694 fpr_occ=963 gpr_total=5161 fpr_total=1702 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_6 = ctx.gpr[6]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; - std::uint32_t aot_gpr_22 = ctx.gpr[22]; - std::uint32_t aot_gpr_16 = ctx.gpr[16]; + std::uint32_t aot_gpr_7 = ctx.gpr[7]; + std::uint32_t aot_gpr_31 = ctx.gpr[31]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_14 = ctx.fpr[14]; float aot_fpr_15 = ctx.fpr[15]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[6] = aot_gpr_6; ctx.gpr[29] = aot_gpr_29; ctx.gpr[22] = aot_gpr_22; ctx.gpr[16] = aot_gpr_16; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[15] = aot_fpr_15; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_22 = ctx.gpr[22]; aot_gpr_16 = ctx.gpr[16]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_15 = ctx.fpr[15]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[6] = aot_gpr_6; ctx.gpr[29] = aot_gpr_29; ctx.gpr[7] = aot_gpr_7; ctx.gpr[31] = aot_gpr_31; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[15] = aot_fpr_15; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_7 = ctx.gpr[7]; aot_gpr_31 = ctx.gpr[31]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_15 = ctx.fpr[15]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -825,9 +826,9 @@ L_08B48000: aot_gpr_4 = (16608u << 16u); ctx.fpr[20] = std::bit_cast(aot_gpr_4); aot_gpr_4 = (16672u << 16u); - ctx.gpr[31] = (0x08B48014u); + aot_gpr_31 = (0x08B48014u); ctx.fpr[22] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B48014u) goto L_08B48014; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B48014u) goto L_08B48014; AOT_REGCACHE_SYNC_OUT(); return; L_08B48014: aot_fpr_12 = ctx.fpr[22] - ctx.fpr[20]; @@ -837,10 +838,10 @@ L_08B48014: aot_gpr_4 = (std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_gpr_4 << 24u); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 24u)); - aot_mem.aot_direct_store8(aot_gpr_22 + static_cast(535), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[22] + static_cast(535), static_cast(aot_gpr_4)); goto L_08B48034; L_08B48034: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_22 + static_cast(86)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[22] + static_cast(86)))))); goto L_08B48038; L_08B48038: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); @@ -862,7 +863,7 @@ L_08B48038: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_14)) ? 0x00800000u : 0u); // nop if (!((ctx.fcr31 & 0x00800000u) != 0u)) { - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_22 + static_cast(535)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[22] + static_cast(535)))))); goto L_08B4809C; } goto L_08B48088; @@ -870,12 +871,12 @@ L_08B48088: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(44))); aot_gpr_5 = (0u | 5u); if (aot_gpr_4 != aot_gpr_5) { - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_22 + static_cast(535)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[22] + static_cast(535)))))); goto L_08B480C4; } goto L_08B48098; L_08B48098: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_22 + static_cast(535)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[22] + static_cast(535)))))); goto L_08B4809C; L_08B4809C: aot_gpr_5 = (aot_gpr_4 + aot_gpr_4); @@ -886,22 +887,22 @@ L_08B4809C: aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 2u)); aot_gpr_4 = (aot_gpr_4 << 24u); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 24u)); - aot_mem.aot_direct_store8(aot_gpr_22 + static_cast(535), static_cast(aot_gpr_4)); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_22 + static_cast(535)))))); + aot_mem.aot_direct_store8(ctx.gpr[22] + static_cast(535), static_cast(aot_gpr_4)); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[22] + static_cast(535)))))); goto L_08B480C4; L_08B480C4: aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (0u | 1u); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); - aot_mem.aot_direct_store8(aot_gpr_22 + static_cast(533), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[22] + static_cast(533), static_cast(aot_gpr_4)); aot_gpr_4 = (0u | 0u); - aot_mem.aot_direct_store8(aot_gpr_22 + static_cast(534), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[22] + static_cast(534), static_cast(aot_gpr_4)); aot_gpr_4 = (0u | 0u); - aot_mem.aot_direct_store32(aot_gpr_22 + static_cast(520), std::bit_cast(aot_fpr_12)); - aot_mem.aot_direct_store8(aot_gpr_22 + static_cast(532), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(520), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store8(ctx.gpr[22] + static_cast(532), static_cast(aot_gpr_4)); goto L_08B480E8; L_08B480E8: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_22 + static_cast(86)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[22] + static_cast(86)))))); aot_gpr_5 = (0u | 244u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -911,15 +912,15 @@ L_08B480E8: goto L_08B480F8; } L_08B480F8: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_22 + static_cast(618)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[22] + static_cast(618)))))); aot_gpr_4 = (aot_gpr_4 | 32u); - aot_mem.aot_direct_store8(aot_gpr_22 + static_cast(618), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[22] + static_cast(618), static_cast(aot_gpr_4)); goto L_08B48104; L_08B48104: aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(344), static_cast(ctx.gpr[20])); - ctx.gpr[31] = (0x08B48110u); + aot_gpr_31 = (0x08B48110u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B48110u) goto L_08B48110; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B48110u) goto L_08B48110; AOT_REGCACHE_SYNC_OUT(); return; L_08B48110: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -927,7 +928,7 @@ L_08B48110: aot_gpr_4 = (ctx.hi); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(341), static_cast(aot_gpr_4)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(347), static_cast(aot_gpr_4)); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_22 + static_cast(86)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[22] + static_cast(86)))))); aot_gpr_5 = (aot_gpr_4 << 2u); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); @@ -1091,7 +1092,7 @@ L_08B482DC: goto L_08B4830C; } L_08B4830C: - { const bool branch_taken = aot_gpr_22 == 0u; + { const bool branch_taken = ctx.gpr[22] == 0u; // nop if (branch_taken) { goto L_08B48330; @@ -1099,14 +1100,14 @@ L_08B4830C: goto L_08B48314; } L_08B48314: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_22 + static_cast(92))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(92))); aot_gpr_5 = (0u | 3u); aot_gpr_4 = (aot_gpr_4 + static_cast(24)); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - jump_target = ctx.gpr[7]; - ctx.gpr[31] = (0x08B48330u); - aot_gpr_4 = (aot_gpr_22 + aot_gpr_6); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); + jump_target = aot_gpr_7; + aot_gpr_31 = (0x08B48330u); + aot_gpr_4 = (ctx.gpr[22] + aot_gpr_6); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B48330u) goto L_08B48330; AOT_REGCACHE_SYNC_OUT(); return; @@ -1126,17 +1127,17 @@ L_08B48338: } goto L_08B48344; L_08B48344: - ctx.gpr[31] = (0x08B4834Cu); + aot_gpr_31 = (0x08B4834Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B4834Cu) goto L_08B4834C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B4834Cu) goto L_08B4834C; AOT_REGCACHE_SYNC_OUT(); return; L_08B4834C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16928))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(36))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - ctx.gpr[7] = (aot_gpr_5 << 3u); - ctx.gpr[7] = (aot_gpr_5 + ctx.gpr[7]); - aot_gpr_5 = (aot_gpr_5 + ctx.gpr[7]); + aot_gpr_7 = (aot_gpr_5 << 3u); + aot_gpr_7 = (aot_gpr_5 + aot_gpr_7); + aot_gpr_5 = (aot_gpr_5 + aot_gpr_7); aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(8)))))); ctx.gpr[8] = (ctx.gpr[2] & 65535u); @@ -1144,7 +1145,7 @@ L_08B4834C: { const std::int32_t dividend = static_cast(ctx.gpr[8]); const std::int32_t divisor = static_cast(aot_gpr_6); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(6)))))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); - ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(344)))))); + aot_gpr_7 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(344)))))); aot_gpr_5 = (ctx.hi); aot_gpr_5 = (aot_gpr_5 << 16u); aot_gpr_5 = (static_cast(static_cast(aot_gpr_5) >> 16u)); @@ -1152,7 +1153,7 @@ L_08B4834C: aot_gpr_6 = (aot_gpr_6 + aot_gpr_6); aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); - { const bool branch_taken = aot_gpr_4 == ctx.gpr[7]; + { const bool branch_taken = aot_gpr_4 == aot_gpr_7; // nop if (branch_taken) { goto L_08B48344; @@ -1165,14 +1166,14 @@ L_08B483A8: L_08B483AC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16928))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(36))); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); ctx.gpr[8] = (aot_gpr_6 << 3u); ctx.gpr[8] = (aot_gpr_6 + ctx.gpr[8]); ctx.gpr[8] = (aot_gpr_6 + ctx.gpr[8]); - ctx.gpr[7] = (ctx.gpr[7] + ctx.gpr[8]); - ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[7] + static_cast(6)))))); + aot_gpr_7 = (aot_gpr_7 + ctx.gpr[8]); + aot_gpr_7 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_7 + static_cast(6)))))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(30040))); - aot_gpr_5 = (ctx.gpr[7] + aot_gpr_5); + aot_gpr_5 = (aot_gpr_7 + aot_gpr_5); aot_gpr_5 = (aot_gpr_5 + aot_gpr_5); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0))); @@ -1251,9 +1252,9 @@ L_08B4840C: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16928))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(36))); - ctx.gpr[7] = (aot_gpr_6 << 3u); - ctx.gpr[7] = (aot_gpr_6 + ctx.gpr[7]); - aot_gpr_6 = (aot_gpr_6 + ctx.gpr[7]); + aot_gpr_7 = (aot_gpr_6 << 3u); + aot_gpr_7 = (aot_gpr_6 + aot_gpr_7); + aot_gpr_6 = (aot_gpr_6 + aot_gpr_7); ctx.gpr[10] = (aot_gpr_5 + aot_gpr_6); ctx.gpr[8] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[10] + static_cast(0)))))); ctx.gpr[9] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[10] + static_cast(2)))))); @@ -1401,23 +1402,23 @@ L_08B48540: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(80))); - aot_mem.aot_direct_store32(aot_gpr_22 + static_cast(16), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(16), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(84))); - aot_mem.aot_direct_store32(aot_gpr_22 + static_cast(20), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(20), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(88))); - aot_mem.aot_direct_store32(aot_gpr_22 + static_cast(24), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(24), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(68))); - aot_mem.aot_direct_store32(aot_gpr_22 + static_cast(0), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(0), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_12) ^ 0x80000000u); - aot_mem.aot_direct_store32(aot_gpr_22 + static_cast(4), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(4), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(0u); - aot_mem.aot_direct_store32(aot_gpr_22 + static_cast(8), std::bit_cast(aot_fpr_12)); - aot_mem.aot_direct_store32(aot_gpr_22 + static_cast(32), std::bit_cast(aot_fpr_12)); - aot_mem.aot_direct_store32(aot_gpr_22 + static_cast(36), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(8), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(32), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(36), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (16256u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_22 + static_cast(40), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(40), std::bit_cast(aot_fpr_12)); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(48), aot_run_words); aot_fpr_12 = std::bit_cast(aot_run_words[0]); @@ -1425,13 +1426,13 @@ L_08B48540: aot_fpr_14 = std::bit_cast(aot_run_words[2]); } { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_13), std::bit_cast(aot_fpr_14)}; - aot_mem.aot_direct_store32_block(aot_gpr_22 + static_cast(48), aot_run_words); } - ctx.gpr[17] = (aot_gpr_22 + static_cast(384)); + aot_mem.aot_direct_store32_block(ctx.gpr[22] + static_cast(48), aot_run_words); } + ctx.gpr[17] = (ctx.gpr[22] + static_cast(384)); aot_gpr_5 = (aot_gpr_29 + static_cast(336)); aot_gpr_6 = (aot_gpr_29 + static_cast(342)); aot_gpr_4 = (ctx.gpr[17] | 0u); - ctx.gpr[7] = (aot_gpr_22 | 0u); - ctx.gpr[31] = (0x08B485E0u); + aot_gpr_7 = (ctx.gpr[22] | 0u); + aot_gpr_31 = (0x08B485E0u); ctx.gpr[8] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0118_entry, 118u, 147u, 0x089DCD44u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B485E0u) goto L_08B485E0; AOT_REGCACHE_SYNC_OUT(); return; @@ -1454,15 +1455,15 @@ L_08B485F8: goto L_08B48604; L_08B48604: aot_gpr_6 = (aot_gpr_4 | 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_22 + static_cast(496))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(496))); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_fpr_12 = ctx.fpr[20] - aot_fpr_12; - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_22 + static_cast(500))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(500))); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_13))); aot_fpr_12 = aot_fpr_12 / aot_fpr_13; - ctx.gpr[31] = (0x08B48630u); + aot_gpr_31 = (0x08B48630u); aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0118_entry, 118u, 156u, 0x089DCE98u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B48630u) goto L_08B48630; AOT_REGCACHE_SYNC_OUT(); return; @@ -1519,9 +1520,9 @@ L_08B48630: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16928))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(40))); - ctx.gpr[7] = (aot_gpr_6 << 3u); - ctx.gpr[7] = (aot_gpr_6 + ctx.gpr[7]); - aot_gpr_6 = (aot_gpr_6 + ctx.gpr[7]); + aot_gpr_7 = (aot_gpr_6 << 3u); + aot_gpr_7 = (aot_gpr_6 + aot_gpr_7); + aot_gpr_6 = (aot_gpr_6 + aot_gpr_7); ctx.gpr[10] = (aot_gpr_5 + aot_gpr_6); ctx.gpr[8] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[10] + static_cast(0)))))); ctx.gpr[9] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[10] + static_cast(2)))))); @@ -1612,11 +1613,11 @@ L_08B48630: ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vdot_ct<28u, 0u, 0u, 3u>(); ctx.execute_vfpu_unary_ct<28u, 28u, 1u, 22u>(); - ctx.gpr[7] = (ctx.vfpu_scalar_bits_ct<28u>()); - aot_fpr_13 = std::bit_cast(ctx.gpr[7]); + aot_gpr_7 = (ctx.vfpu_scalar_bits_ct<28u>()); + aot_fpr_13 = std::bit_cast(aot_gpr_7); aot_fpr_12 = aot_fpr_12 / aot_fpr_13; - ctx.gpr[7] = (std::bit_cast(aot_fpr_12)); - ctx.set_vfpu_scalar_bits_ct<28u>(ctx.gpr[7]); + aot_gpr_7 = (std::bit_cast(aot_fpr_12)); + ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_7); { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -1671,11 +1672,11 @@ L_08B48630: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16928))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(36))); - ctx.gpr[8] = (ctx.gpr[7] << 3u); - ctx.gpr[8] = (ctx.gpr[7] + ctx.gpr[8]); - ctx.gpr[7] = (ctx.gpr[7] + ctx.gpr[8]); - ctx.gpr[10] = (aot_gpr_6 + ctx.gpr[7]); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(36))); + ctx.gpr[8] = (aot_gpr_7 << 3u); + ctx.gpr[8] = (aot_gpr_7 + ctx.gpr[8]); + aot_gpr_7 = (aot_gpr_7 + ctx.gpr[8]); + ctx.gpr[10] = (aot_gpr_6 + aot_gpr_7); ctx.gpr[8] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[10] + static_cast(0)))))); ctx.gpr[9] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[10] + static_cast(2)))))); ctx.gpr[10] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[10] + static_cast(4)))))); @@ -1724,9 +1725,9 @@ L_08B48630: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16928))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(40))); - ctx.gpr[7] = (aot_gpr_6 << 3u); - ctx.gpr[7] = (aot_gpr_6 + ctx.gpr[7]); - aot_gpr_6 = (aot_gpr_6 + ctx.gpr[7]); + aot_gpr_7 = (aot_gpr_6 << 3u); + aot_gpr_7 = (aot_gpr_6 + aot_gpr_7); + aot_gpr_6 = (aot_gpr_6 + aot_gpr_7); ctx.gpr[10] = (aot_gpr_5 + aot_gpr_6); ctx.gpr[8] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[10] + static_cast(0)))))); ctx.gpr[9] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[10] + static_cast(2)))))); @@ -1791,7 +1792,7 @@ L_08B48850: aot_fpr_14 = std::bit_cast(aot_run_words[2]); } aot_gpr_4 = (aot_gpr_29 + static_cast(604)); - ctx.gpr[31] = (0x08B48868u); + aot_gpr_31 = (0x08B48868u); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0189_entry, 189u, 115u, 0x08AF8668u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B48868u) goto L_08B48868; AOT_REGCACHE_SYNC_OUT(); return; @@ -1804,7 +1805,7 @@ L_08B48868: goto L_08B48870; } L_08B48870: - { const bool branch_taken = aot_gpr_22 == 0u; + { const bool branch_taken = ctx.gpr[22] == 0u; // nop if (branch_taken) { goto L_08B48894; @@ -1812,14 +1813,14 @@ L_08B48870: goto L_08B48878; } L_08B48878: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_22 + static_cast(92))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(92))); aot_gpr_5 = (0u | 3u); aot_gpr_4 = (aot_gpr_4 + static_cast(24)); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - jump_target = ctx.gpr[7]; - ctx.gpr[31] = (0x08B48894u); - aot_gpr_4 = (aot_gpr_22 + aot_gpr_6); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); + jump_target = aot_gpr_7; + aot_gpr_31 = (0x08B48894u); + aot_gpr_4 = (ctx.gpr[22] + aot_gpr_6); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B48894u) goto L_08B48894; AOT_REGCACHE_SYNC_OUT(); return; @@ -1864,14 +1865,14 @@ L_08B488A4: aot_fpr_12 = std::bit_cast(aot_gpr_5); aot_gpr_5 = (aot_gpr_29 + static_cast(192)); aot_gpr_6 = (aot_gpr_29 + static_cast(224)); - ctx.gpr[7] = (0u | 1u); + aot_gpr_7 = (0u | 1u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[11] = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), 0u); - ctx.gpr[31] = (0x08B488FCu); + aot_gpr_31 = (0x08B488FCu); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 287u, 0x08891DD4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B488FCu) goto L_08B488FC; AOT_REGCACHE_SYNC_OUT(); return; @@ -1886,7 +1887,7 @@ L_08B488FC: L_08B48904: ctx.fpr[20] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(200))); aot_gpr_4 = (aot_gpr_29 + static_cast(560)); - ctx.gpr[31] = (0x08B48914u); + aot_gpr_31 = (0x08B48914u); aot_gpr_5 = (aot_gpr_29 + static_cast(192)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 157u, 0x08805288u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B48914u) goto L_08B48914; AOT_REGCACHE_SYNC_OUT(); return; @@ -1901,12 +1902,12 @@ L_08B48918: aot_fpr_12 = std::bit_cast(ctx.gpr[2]); aot_gpr_5 = (aot_gpr_29 + static_cast(192)); aot_gpr_6 = (aot_gpr_29 + static_cast(224)); - ctx.gpr[7] = (0u | 1u); + aot_gpr_7 = (0u | 1u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[11] = (0u | 1u); - ctx.gpr[31] = (0x08B48950u); + aot_gpr_31 = (0x08B48950u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 287u, 0x08891DD4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B48950u) goto L_08B48950; AOT_REGCACHE_SYNC_OUT(); return; @@ -1954,7 +1955,7 @@ L_08B48994: L_08B489A4: ctx.fpr[20] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(200))); aot_gpr_4 = (aot_gpr_29 + static_cast(560)); - ctx.gpr[31] = (0x08B489B4u); + aot_gpr_31 = (0x08B489B4u); aot_gpr_5 = (aot_gpr_29 + static_cast(192)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 157u, 0x08805288u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B489B4u) goto L_08B489B4; AOT_REGCACHE_SYNC_OUT(); return; @@ -2015,7 +2016,7 @@ L_08B48A00: goto L_08B48A18; } L_08B48A18: - { const bool branch_taken = aot_gpr_22 == 0u; + { const bool branch_taken = ctx.gpr[22] == 0u; // nop if (branch_taken) { goto L_08B48A3C; @@ -2023,14 +2024,14 @@ L_08B48A18: goto L_08B48A20; } L_08B48A20: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_22 + static_cast(92))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(92))); aot_gpr_5 = (0u | 3u); aot_gpr_4 = (aot_gpr_4 + static_cast(24)); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - jump_target = ctx.gpr[7]; - ctx.gpr[31] = (0x08B48A3Cu); - aot_gpr_4 = (aot_gpr_22 + aot_gpr_6); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); + jump_target = aot_gpr_7; + aot_gpr_31 = (0x08B48A3Cu); + aot_gpr_4 = (ctx.gpr[22] + aot_gpr_6); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B48A3Cu) goto L_08B48A3C; AOT_REGCACHE_SYNC_OUT(); return; @@ -2043,8 +2044,8 @@ L_08B48A3C: goto L_08B48A44; } L_08B48A44: - ctx.gpr[31] = (0x08B48A4Cu); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_22 + static_cast(86)))))); + aot_gpr_31 = (0x08B48A4Cu); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[22] + static_cast(86)))))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0186_entry, 186u, 168u, 0x08AECA18u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B48A4Cu) goto L_08B48A4C; AOT_REGCACHE_SYNC_OUT(); return; L_08B48A4C: @@ -2057,23 +2058,23 @@ L_08B48A4C: } L_08B48A54: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(104), std::bit_cast(ctx.fpr[20])); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_22 + static_cast(614)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[22] + static_cast(614)))))); aot_gpr_4 = (aot_gpr_4 | 128u); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_22 + static_cast(614), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[22] + static_cast(614), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08B48A88; } goto L_08B48A68; } L_08B48A68: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_22 + static_cast(92))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(92))); aot_gpr_4 = (aot_gpr_4 + static_cast(384)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); jump_target = aot_gpr_6; - ctx.gpr[31] = (0x08B48A80u); - aot_gpr_4 = (aot_gpr_22 + aot_gpr_5); + aot_gpr_31 = (0x08B48A80u); + aot_gpr_4 = (ctx.gpr[22] + aot_gpr_5); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B48A80u) goto L_08B48A80; AOT_REGCACHE_SYNC_OUT(); return; @@ -2088,10 +2089,10 @@ L_08B48A88: aot_fpr_13 = std::bit_cast(aot_run_words[1]); aot_fpr_14 = std::bit_cast(aot_run_words[2]); } - aot_mem.aot_direct_store32(aot_gpr_22 + static_cast(48), std::bit_cast(aot_fpr_12)); - aot_mem.aot_direct_store32(aot_gpr_22 + static_cast(52), std::bit_cast(aot_fpr_13)); + aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(48), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(52), std::bit_cast(aot_fpr_13)); { const bool branch_taken = ctx.gpr[17] == 0u; - aot_mem.aot_direct_store32(aot_gpr_22 + static_cast(56), std::bit_cast(aot_fpr_14)); + aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(56), std::bit_cast(aot_fpr_14)); if (branch_taken) { goto L_08B48AB0; } @@ -2099,17 +2100,17 @@ L_08B48A88: } L_08B48AA4: aot_gpr_5 = (aot_gpr_29 + static_cast(560)); - ctx.gpr[31] = (0x08B48AB0u); - aot_gpr_4 = (aot_gpr_22 | 0u); + aot_gpr_31 = (0x08B48AB0u); + aot_gpr_4 = (ctx.gpr[22] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 203u, 0x08AD0EC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B48AB0u) goto L_08B48AB0; AOT_REGCACHE_SYNC_OUT(); return; L_08B48AB0: - ctx.gpr[17] = (aot_gpr_22 + static_cast(384)); + ctx.gpr[17] = (ctx.gpr[22] + static_cast(384)); aot_gpr_5 = (aot_gpr_29 + static_cast(336)); aot_gpr_6 = (aot_gpr_29 + static_cast(342)); aot_gpr_4 = (ctx.gpr[17] | 0u); - ctx.gpr[7] = (aot_gpr_22 | 0u); - ctx.gpr[31] = (0x08B48ACCu); + aot_gpr_7 = (ctx.gpr[22] | 0u); + aot_gpr_31 = (0x08B48ACCu); ctx.gpr[8] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0118_entry, 118u, 147u, 0x089DCD44u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B48ACCu) goto L_08B48ACC; AOT_REGCACHE_SYNC_OUT(); return; @@ -2133,15 +2134,15 @@ L_08B48AE4: L_08B48AF0: aot_gpr_6 = (aot_gpr_5 | 0u); aot_gpr_5 = (aot_gpr_4 | 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_22 + static_cast(496))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(496))); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_13))); aot_fpr_12 = aot_fpr_12 - aot_fpr_13; - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_22 + static_cast(500))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(500))); aot_fpr_14 = std::bit_cast(aot_gpr_4); aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); aot_fpr_12 = aot_fpr_12 / aot_fpr_14; - ctx.gpr[31] = (0x08B48B20u); + aot_gpr_31 = (0x08B48B20u); aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0118_entry, 118u, 156u, 0x089DCE98u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B48B20u) goto L_08B48B20; AOT_REGCACHE_SYNC_OUT(); return; @@ -2181,8 +2182,8 @@ L_08B48B20: const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - ctx.gpr[31] = (0x08B48B5Cu); - aot_gpr_4 = (aot_gpr_22 | 0u); + aot_gpr_31 = (0x08B48B5Cu); + aot_gpr_4 = (ctx.gpr[22] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 538u, 0x08A666C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B48B5Cu) goto L_08B48B5C; AOT_REGCACHE_SYNC_OUT(); return; L_08B48B5C: @@ -2324,7 +2325,7 @@ L_08B48BE8: goto L_08B48BF0; } L_08B48BF0: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_22 + static_cast(533)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[22] + static_cast(533)))))); aot_gpr_5 = (0u | 1u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -2334,27 +2335,27 @@ L_08B48BF0: goto L_08B48C00; } L_08B48C00: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_22 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(72))); aot_gpr_5 = (0u + static_cast(-497)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_4 = (aot_gpr_4 | 32u); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_22 + static_cast(72), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(72), aot_gpr_4); if (branch_taken) { goto L_08B48C2C; } goto L_08B48C18; } L_08B48C18: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_22 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(72))); aot_gpr_5 = (0u + static_cast(-497)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_4 = (aot_gpr_4 | 48u); - aot_mem.aot_direct_store32(aot_gpr_22 + static_cast(72), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(72), aot_gpr_4); goto L_08B48C2C; L_08B48C2C: - aot_gpr_4 = (aot_gpr_22 | 0u); - ctx.gpr[31] = (0x08B48C38u); + aot_gpr_4 = (ctx.gpr[22] | 0u); + aot_gpr_31 = (0x08B48C38u); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 450u, 0x08B01B4Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B48C38u) goto L_08B48C38; AOT_REGCACHE_SYNC_OUT(); return; @@ -2367,18 +2368,18 @@ L_08B48C38: goto L_08B48C40; } L_08B48C40: - aot_gpr_4 = (aot_gpr_22 | 0u); - ctx.gpr[31] = (0x08B48C4Cu); + aot_gpr_4 = (ctx.gpr[22] | 0u); + aot_gpr_31 = (0x08B48C4Cu); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 450u, 0x08B01B4Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B48C4Cu) goto L_08B48C4C; AOT_REGCACHE_SYNC_OUT(); return; L_08B48C4C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_22 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(72))); aot_gpr_5 = (0u + static_cast(-497)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_4 = (aot_gpr_4 | 48u); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_22 + static_cast(72), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(72), aot_gpr_4); if (branch_taken) { goto L_08B48C98; } @@ -2393,33 +2394,33 @@ L_08B48C64: goto L_08B48C6C; } L_08B48C6C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_22 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(72))); aot_gpr_5 = (0u + static_cast(-497)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_4 = (aot_gpr_4 | 48u); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_22 + static_cast(72), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(72), aot_gpr_4); if (branch_taken) { goto L_08B48C98; } goto L_08B48C84; } L_08B48C84: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_22 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(72))); aot_gpr_5 = (0u + static_cast(-497)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_4 = (aot_gpr_4 | 32u); - aot_mem.aot_direct_store32(aot_gpr_22 + static_cast(72), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(72), aot_gpr_4); goto L_08B48C98; L_08B48C98: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_22 + static_cast(80))); - ctx.gpr[31] = (0x08B48CA4u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(80))); + aot_gpr_31 = (0x08B48CA4u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 190u, 0x08945304u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B48CA4u) goto L_08B48CA4; AOT_REGCACHE_SYNC_OUT(); return; L_08B48CA4: - ctx.gpr[31] = (0x08B48CACu); - aot_gpr_4 = (aot_gpr_22 | 0u); + aot_gpr_31 = (0x08B48CACu); + aot_gpr_4 = (ctx.gpr[22] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 50u, 0x08AD0530u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B48CACu) goto L_08B48CAC; AOT_REGCACHE_SYNC_OUT(); return; L_08B48CAC: @@ -2441,7 +2442,7 @@ L_08B48CB4: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_4 = (aot_gpr_22 + static_cast(48)); + aot_gpr_4 = (ctx.gpr[22] + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -2475,7 +2476,7 @@ L_08B48CB4: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1952))); aot_gpr_4 = (17184u << 16u); aot_fpr_14 = std::bit_cast(aot_gpr_4); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_22 + static_cast(614)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[22] + static_cast(614)))))); aot_gpr_4 = (aot_gpr_4 & 128u); { const bool branch_taken = aot_gpr_4 == 0u; { const float fs = aot_fpr_13; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } @@ -2524,7 +2525,7 @@ L_08B48D30: goto L_08B48D54; } L_08B48D54: - { const bool branch_taken = aot_gpr_22 == 0u; + { const bool branch_taken = ctx.gpr[22] == 0u; // nop if (branch_taken) { goto L_08B48D78; @@ -2532,14 +2533,14 @@ L_08B48D54: goto L_08B48D5C; } L_08B48D5C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_22 + static_cast(92))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(92))); aot_gpr_5 = (0u | 3u); aot_gpr_4 = (aot_gpr_4 + static_cast(24)); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - jump_target = ctx.gpr[7]; - ctx.gpr[31] = (0x08B48D78u); - aot_gpr_4 = (aot_gpr_22 + aot_gpr_6); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); + jump_target = aot_gpr_7; + aot_gpr_31 = (0x08B48D78u); + aot_gpr_4 = (ctx.gpr[22] + aot_gpr_6); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B48D78u) goto L_08B48D78; AOT_REGCACHE_SYNC_OUT(); return; @@ -2564,7 +2565,7 @@ L_08B48D80: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_5 = (aot_gpr_22 + static_cast(48)); + aot_gpr_5 = (ctx.gpr[22] + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -2607,7 +2608,7 @@ L_08B48D80: goto L_08B48DD8; } L_08B48DD8: - { const bool branch_taken = aot_gpr_16 == 0u; + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08B48E0C; @@ -2615,7 +2616,7 @@ L_08B48DD8: goto L_08B48DE0; } L_08B48DE0: - { const bool branch_taken = aot_gpr_22 == 0u; + { const bool branch_taken = ctx.gpr[22] == 0u; // nop if (branch_taken) { goto L_08B48E04; @@ -2623,14 +2624,14 @@ L_08B48DE0: goto L_08B48DE8; } L_08B48DE8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_22 + static_cast(92))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(92))); aot_gpr_5 = (0u | 3u); aot_gpr_4 = (aot_gpr_4 + static_cast(24)); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - jump_target = ctx.gpr[7]; - ctx.gpr[31] = (0x08B48E04u); - aot_gpr_4 = (aot_gpr_22 + aot_gpr_6); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); + jump_target = aot_gpr_7; + aot_gpr_31 = (0x08B48E04u); + aot_gpr_4 = (ctx.gpr[22] + aot_gpr_6); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B48E04u) goto L_08B48E04; AOT_REGCACHE_SYNC_OUT(); return; @@ -2643,7 +2644,7 @@ L_08B48E04: goto L_08B48E0C; } L_08B48E0C: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_22 + static_cast(86)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[22] + static_cast(86)))))); aot_gpr_5 = (0u | 248u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -2653,7 +2654,7 @@ L_08B48E0C: goto L_08B48E1C; } L_08B48E1C: - { const bool branch_taken = aot_gpr_22 == 0u; + { const bool branch_taken = ctx.gpr[22] == 0u; // nop if (branch_taken) { goto L_08B48E40; @@ -2661,14 +2662,14 @@ L_08B48E1C: goto L_08B48E24; } L_08B48E24: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_22 + static_cast(92))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(92))); aot_gpr_5 = (0u | 3u); aot_gpr_4 = (aot_gpr_4 + static_cast(24)); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - jump_target = ctx.gpr[7]; - ctx.gpr[31] = (0x08B48E40u); - aot_gpr_4 = (aot_gpr_22 + aot_gpr_6); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); + jump_target = aot_gpr_7; + aot_gpr_31 = (0x08B48E40u); + aot_gpr_4 = (ctx.gpr[22] + aot_gpr_6); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B48E40u) goto L_08B48E40; AOT_REGCACHE_SYNC_OUT(); return; @@ -2699,7 +2700,7 @@ L_08B48E50: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - aot_gpr_4 = (aot_gpr_22 + static_cast(48)); + aot_gpr_4 = (ctx.gpr[22] + static_cast(48)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -2728,7 +2729,7 @@ L_08B48E50: ctx.execute_vfpu_unary_ct<28u, 28u, 1u, 22u>(); aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>()); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_22 + static_cast(614)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[22] + static_cast(614)))))); aot_gpr_4 = (aot_gpr_4 & 128u); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_4 = (17008u << 16u); @@ -2760,7 +2761,7 @@ L_08B48EA0: goto L_08B48EB0; } L_08B48EB0: - { const bool branch_taken = aot_gpr_16 != 0u; + { const bool branch_taken = ctx.gpr[16] != 0u; // nop if (branch_taken) { goto L_08B48EE4; @@ -2768,7 +2769,7 @@ L_08B48EB0: goto L_08B48EB8; } L_08B48EB8: - { const bool branch_taken = aot_gpr_22 == 0u; + { const bool branch_taken = ctx.gpr[22] == 0u; // nop if (branch_taken) { goto L_08B48EDC; @@ -2776,14 +2777,14 @@ L_08B48EB8: goto L_08B48EC0; } L_08B48EC0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_22 + static_cast(92))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(92))); aot_gpr_5 = (0u | 3u); aot_gpr_4 = (aot_gpr_4 + static_cast(24)); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - jump_target = ctx.gpr[7]; - ctx.gpr[31] = (0x08B48EDCu); - aot_gpr_4 = (aot_gpr_22 + aot_gpr_6); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); + jump_target = aot_gpr_7; + aot_gpr_31 = (0x08B48EDCu); + aot_gpr_4 = (ctx.gpr[22] + aot_gpr_6); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B48EDCu) goto L_08B48EDC; AOT_REGCACHE_SYNC_OUT(); return; @@ -2797,17 +2798,17 @@ L_08B48EDC: } L_08B48EE4: if (ctx.gpr[18] == 0u) { - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_22 + static_cast(86)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[22] + static_cast(86)))))); goto L_08B48F78; } goto L_08B48EEC; L_08B48EEC: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_22 + static_cast(86)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[22] + static_cast(86)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - aot_gpr_4 = (aot_gpr_22 + static_cast(48)); + aot_gpr_4 = (ctx.gpr[22] + static_cast(48)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(20))); aot_gpr_6 = (aot_gpr_29 + static_cast(386)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(12))); @@ -2816,24 +2817,24 @@ L_08B48EEC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); aot_gpr_5 = (0u | 1u); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; - ctx.gpr[7] = (0u | 2u); + aot_gpr_7 = (0u | 2u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 1u); ctx.gpr[11] = (0u | 0u); - ctx.gpr[31] = (0x08B48F40u); + aot_gpr_31 = (0x08B48F40u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0037_entry, 37u, 365u, 0x0889A004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B48F40u) goto L_08B48F40; AOT_REGCACHE_SYNC_OUT(); return; L_08B48F40: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(386)))))); if (aot_gpr_4 == 0u) { - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_22 + static_cast(86)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[22] + static_cast(86)))))); goto L_08B48F78; } goto L_08B48F4C; L_08B48F4C: - { const bool branch_taken = aot_gpr_22 == 0u; + { const bool branch_taken = ctx.gpr[22] == 0u; // nop if (branch_taken) { goto L_08B48F70; @@ -2841,14 +2842,14 @@ L_08B48F4C: goto L_08B48F54; } L_08B48F54: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_22 + static_cast(92))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(92))); aot_gpr_5 = (0u | 3u); aot_gpr_4 = (aot_gpr_4 + static_cast(24)); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - jump_target = ctx.gpr[7]; - ctx.gpr[31] = (0x08B48F70u); - aot_gpr_4 = (aot_gpr_22 + aot_gpr_6); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); + jump_target = aot_gpr_7; + aot_gpr_31 = (0x08B48F70u); + aot_gpr_4 = (ctx.gpr[22] + aot_gpr_6); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B48F70u) goto L_08B48F70; AOT_REGCACHE_SYNC_OUT(); return; @@ -2865,18 +2866,18 @@ L_08B48F78: aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - aot_gpr_4 = (aot_gpr_22 + static_cast(48)); + aot_gpr_4 = (ctx.gpr[22] + static_cast(48)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(20))); aot_gpr_6 = (aot_gpr_29 + static_cast(386)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(12))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); aot_gpr_5 = (0u | 1u); - ctx.gpr[7] = (0u | 2u); + aot_gpr_7 = (0u | 2u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 1u); ctx.gpr[11] = (0u | 1u); - ctx.gpr[31] = (0x08B48FBCu); + aot_gpr_31 = (0x08B48FBCu); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0037_entry, 37u, 365u, 0x0889A004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B48FBCu) goto L_08B48FBC; AOT_REGCACHE_SYNC_OUT(); return; @@ -2908,7 +2909,7 @@ L_08B48FC8: goto L_08B48FF8; } L_08B48FF8: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_22 + static_cast(86)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[22] + static_cast(86)))))); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); aot_gpr_6 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_6) ? 1u : 0u); { const bool branch_taken = aot_gpr_6 == 0u; @@ -2926,14 +2927,14 @@ L_08B4900C: goto L_08B4901C; L_08B4901C: aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (aot_gpr_22 + static_cast(548)); - ctx.gpr[31] = (0x08B4902Cu); - aot_gpr_6 = (aot_gpr_22 + static_cast(552)); + aot_gpr_5 = (ctx.gpr[22] + static_cast(548)); + aot_gpr_31 = (0x08B4902Cu); + aot_gpr_6 = (ctx.gpr[22] + static_cast(552)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0167_entry, 167u, 480u, 0x08AA1FE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B4902Cu) goto L_08B4902C; AOT_REGCACHE_SYNC_OUT(); return; L_08B4902C: - ctx.gpr[31] = (0x08B49034u); - aot_gpr_4 = (aot_gpr_22 | 0u); + aot_gpr_31 = (0x08B49034u); + aot_gpr_4 = (ctx.gpr[22] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 224u, 0x08891A2Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B49034u) goto L_08B49034; AOT_REGCACHE_SYNC_OUT(); return; L_08B49034: @@ -2967,8 +2968,8 @@ L_08B49054: goto L_08B49064; } L_08B49064: - ctx.gpr[31] = (0x08B4906Cu); - aot_gpr_4 = (aot_gpr_22 | 0u); + aot_gpr_31 = (0x08B4906Cu); + aot_gpr_4 = (ctx.gpr[22] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 466u, 0x08B0DF10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B4906Cu) goto L_08B4906C; AOT_REGCACHE_SYNC_OUT(); return; L_08B4906C: @@ -2980,8 +2981,8 @@ L_08B4906C: goto L_08B49074; } L_08B49074: - ctx.gpr[31] = (0x08B4907Cu); - aot_gpr_4 = (aot_gpr_22 | 0u); + aot_gpr_31 = (0x08B4907Cu); + aot_gpr_4 = (ctx.gpr[22] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 106u, 0x08B00708u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B4907Cu) goto L_08B4907C; AOT_REGCACHE_SYNC_OUT(); return; L_08B4907C: @@ -2994,9 +2995,9 @@ L_08B4907C: goto L_08B49088; } L_08B49088: - aot_gpr_16 = (aot_mem.aot_direct_load8(aot_gpr_22 + static_cast(565))); + ctx.gpr[16] = (aot_mem.aot_direct_load8(ctx.gpr[22] + static_cast(565))); ctx.gpr[18] = (0u | 0u); - aot_gpr_4 = (static_cast(ctx.gpr[18]) < static_cast(aot_gpr_16) ? 1u : 0u); + aot_gpr_4 = (static_cast(ctx.gpr[18]) < static_cast(ctx.gpr[16]) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; ctx.gpr[17] = (0u | 0u); if (branch_taken) { @@ -3007,9 +3008,9 @@ L_08B49088: L_08B4909C: aot_gpr_4 = (16256u << 16u); ctx.fpr[20] = std::bit_cast(0u); - ctx.gpr[31] = (0x08B490ACu); + aot_gpr_31 = (0x08B490ACu); ctx.fpr[22] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B490ACu) goto L_08B490AC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B490ACu) goto L_08B490AC; AOT_REGCACHE_SYNC_OUT(); return; L_08B490AC: aot_fpr_12 = ctx.fpr[22] - ctx.fpr[20]; @@ -3028,7 +3029,7 @@ L_08B490AC: L_08B490D4: ctx.gpr[17] = (ctx.gpr[17] + aot_gpr_4); ctx.gpr[18] = (ctx.gpr[18] + static_cast(1)); - aot_gpr_4 = (static_cast(ctx.gpr[18]) < static_cast(aot_gpr_16) ? 1u : 0u); + aot_gpr_4 = (static_cast(ctx.gpr[18]) < static_cast(ctx.gpr[16]) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -3037,9 +3038,9 @@ L_08B490D4: goto L_08B490E8; } L_08B490E8: - aot_gpr_16 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_22 + static_cast(86)))))); - ctx.gpr[31] = (0x08B490F4u); - aot_gpr_4 = (aot_gpr_16 | 0u); + ctx.gpr[16] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[22] + static_cast(86)))))); + aot_gpr_31 = (0x08B490F4u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0186_entry, 186u, 181u, 0x08AECAA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B490F4u) goto L_08B490F4; AOT_REGCACHE_SYNC_OUT(); return; L_08B490F4: @@ -3058,7 +3059,7 @@ L_08B490FC: } goto L_08B49108; L_08B49108: - ctx.gpr[31] = (0x08B49110u); + aot_gpr_31 = (0x08B49110u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 313u, 0x08B65564u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B49110u) goto L_08B49110; AOT_REGCACHE_SYNC_OUT(); return; @@ -3066,14 +3067,14 @@ L_08B49110: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5836))); goto L_08B49114; L_08B49114: - ctx.gpr[31] = (0x08B4911Cu); + aot_gpr_31 = (0x08B4911Cu); aot_gpr_5 = (ctx.gpr[28] + static_cast(5544)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 690u, 0x0893ED4Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B4911Cu) goto L_08B4911C; AOT_REGCACHE_SYNC_OUT(); return; L_08B4911C: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); ctx.gpr[18] = (ctx.gpr[2] | 0u); - aot_gpr_5 = (static_cast(aot_gpr_16) < static_cast(aot_gpr_5) ? 1u : 0u); + aot_gpr_5 = (static_cast(ctx.gpr[16]) < static_cast(aot_gpr_5) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_4 = (0u | 0u); if (branch_taken) { @@ -3083,7 +3084,7 @@ L_08B4911C: } L_08B49130: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); - aot_gpr_5 = (aot_gpr_16 << 2u); + aot_gpr_5 = (ctx.gpr[16] << 2u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); goto L_08B49140; @@ -3093,7 +3094,7 @@ L_08B49140: aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); jump_target = aot_gpr_5; - ctx.gpr[31] = (0x08B49158u); + aot_gpr_31 = (0x08B49158u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B49158u) goto L_08B49158; @@ -3118,7 +3119,7 @@ L_08B49170: ctx.gpr[17] = (aot_gpr_4 | 0u); goto L_08B49174; L_08B49174: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_22 + static_cast(852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(852))); aot_gpr_5 = (0u | 9u); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -3131,8 +3132,8 @@ L_08B49184: ctx.gpr[17] = (0u | 0u); goto L_08B49188; L_08B49188: - aot_gpr_16 = (0u | 0u); - aot_gpr_4 = (static_cast(aot_gpr_16) < static_cast(ctx.gpr[17]) ? 1u : 0u); + ctx.gpr[16] = (0u | 0u); + aot_gpr_4 = (static_cast(ctx.gpr[16]) < static_cast(ctx.gpr[17]) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -3141,15 +3142,15 @@ L_08B49188: goto L_08B49198; } L_08B49198: - aot_gpr_4 = (aot_gpr_22 | 0u); - ctx.gpr[31] = (0x08B491A4u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[22] | 0u); + aot_gpr_31 = (0x08B491A4u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 120u, 0x08B007DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B491A4u) goto L_08B491A4; AOT_REGCACHE_SYNC_OUT(); return; L_08B491A4: - aot_gpr_4 = (aot_gpr_22 | 0u); - ctx.gpr[31] = (0x08B491B0u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[22] | 0u); + aot_gpr_31 = (0x08B491B0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B491B0u) goto L_08B491B0; AOT_REGCACHE_SYNC_OUT(); return; L_08B491B0: @@ -3161,9 +3162,9 @@ L_08B491B0: goto L_08B491B8; } L_08B491B8: - aot_gpr_4 = (aot_gpr_22 | 0u); - ctx.gpr[31] = (0x08B491C4u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[22] | 0u); + aot_gpr_31 = (0x08B491C4u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B491C4u) goto L_08B491C4; AOT_REGCACHE_SYNC_OUT(); return; L_08B491C4: @@ -3177,8 +3178,8 @@ L_08B491C4: aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(8872), aot_gpr_4); goto L_08B491E4; L_08B491E4: - aot_gpr_16 = (aot_gpr_16 + static_cast(1)); - aot_gpr_4 = (static_cast(aot_gpr_16) < static_cast(ctx.gpr[17]) ? 1u : 0u); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(1)); + aot_gpr_4 = (static_cast(ctx.gpr[16]) < static_cast(ctx.gpr[17]) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -3187,9 +3188,9 @@ L_08B491E4: goto L_08B491F4; } L_08B491F4: - ctx.gpr[31] = (0x08B491FCu); - aot_gpr_4 = (aot_gpr_22 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B491FCu) goto L_08B491FC; + aot_gpr_31 = (0x08B491FCu); + aot_gpr_4 = (ctx.gpr[22] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B01E00, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B491FCu) goto L_08B491FC; AOT_REGCACHE_SYNC_OUT(); return; L_08B491FC: aot_gpr_4 = (ctx.gpr[2] | 0u); @@ -3212,7 +3213,7 @@ L_08B4920C: } L_08B49218: { const bool branch_taken = 0u == 0u; - aot_gpr_16 = (0u | 20u); + ctx.gpr[16] = (0u | 20u); if (branch_taken) { goto L_08B49234; } @@ -3228,26 +3229,26 @@ L_08B49220: } L_08B49228: { const bool branch_taken = 0u == 0u; - aot_gpr_16 = (0u | 40u); + ctx.gpr[16] = (0u | 40u); if (branch_taken) { goto L_08B49234; } goto L_08B49230; } L_08B49230: - aot_gpr_16 = (0u | 3u); + ctx.gpr[16] = (0u | 3u); goto L_08B49234; L_08B49234: - ctx.gpr[31] = (0x08B4923Cu); + aot_gpr_31 = (0x08B4923Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B4923Cu) goto L_08B4923C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B4923Cu) goto L_08B4923C; AOT_REGCACHE_SYNC_OUT(); return; L_08B4923C: aot_gpr_4 = (ctx.gpr[2] & 65535u); aot_gpr_4 = (aot_gpr_4 & 127u); - aot_gpr_4 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_16) ? 1u : 0u); + aot_gpr_4 = (static_cast(aot_gpr_4) < static_cast(ctx.gpr[16]) ? 1u : 0u); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_22 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(72))); goto L_08B49260; } goto L_08B49250; @@ -3261,20 +3262,20 @@ L_08B49250: goto L_08B4925C; } L_08B4925C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_22 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(72))); goto L_08B49260; L_08B49260: aot_gpr_5 = (0u + static_cast(-497)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_4 = (aot_gpr_4 | 48u); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_22 + static_cast(535)))))); - aot_mem.aot_direct_store32(aot_gpr_22 + static_cast(72), aot_gpr_4); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[22] + static_cast(535)))))); + aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(72), aot_gpr_4); aot_gpr_4 = (0u | 2u); aot_gpr_5 = (aot_gpr_5 + static_cast(10)); - aot_mem.aot_direct_store8(aot_gpr_22 + static_cast(532), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[22] + static_cast(532), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_gpr_5 << 24u); aot_gpr_4 = (static_cast(static_cast(aot_gpr_4) >> 24u)); - aot_mem.aot_direct_store8(aot_gpr_22 + static_cast(535), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[22] + static_cast(535), static_cast(aot_gpr_4)); goto L_08B4928C; L_08B4928C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(44))); @@ -3301,7 +3302,7 @@ L_08B492AC: aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(5496), aot_gpr_4); goto L_08B492B4; L_08B492B4: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_22 + static_cast(86)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[22] + static_cast(86)))))); aot_gpr_5 = (0u + static_cast(-1000)); { const bool branch_taken = aot_gpr_4 != aot_gpr_5; // nop @@ -3311,19 +3312,19 @@ L_08B492B4: goto L_08B492C4; } L_08B492C4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_22 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(72))); aot_gpr_5 = (0u + static_cast(-497)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_4 = (aot_gpr_4 | 48u); - aot_mem.aot_direct_store32(aot_gpr_22 + static_cast(72), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(72), aot_gpr_4); aot_gpr_4 = (0u | 2u); - aot_mem.aot_direct_store8(aot_gpr_22 + static_cast(532), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[22] + static_cast(532), static_cast(aot_gpr_4)); goto L_08B492E0; L_08B492E0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(44))); aot_gpr_5 = (0u | 13u); if (aot_gpr_4 == aot_gpr_5) { - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_22 + static_cast(86)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[22] + static_cast(86)))))); goto L_08B49304; } goto L_08B492F0; @@ -3338,7 +3339,7 @@ L_08B492F0: goto L_08B49300; } L_08B49300: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_22 + static_cast(86)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[22] + static_cast(86)))))); goto L_08B49304; L_08B49304: aot_gpr_5 = (0u | 204u); @@ -3353,46 +3354,46 @@ L_08B49310: aot_gpr_4 = (aot_gpr_29 + static_cast(680)); aot_gpr_5 = (0u | 184u); aot_gpr_6 = (0u | 184u); - ctx.gpr[7] = (0u | 184u); - ctx.gpr[31] = (0x08B49328u); + aot_gpr_7 = (0u | 184u); + aot_gpr_31 = (0x08B49328u); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B49328u) goto L_08B49328; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B49328u) goto L_08B49328; AOT_REGCACHE_SYNC_OUT(); return; L_08B49328: aot_gpr_4 = (aot_gpr_29 + static_cast(684)); aot_gpr_5 = (0u | 28u); aot_gpr_6 = (0u | 41u); - ctx.gpr[7] = (0u | 72u); - ctx.gpr[31] = (0x08B49340u); + aot_gpr_7 = (0u | 72u); + aot_gpr_31 = (0x08B49340u); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B49340u) goto L_08B49340; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B49340u) goto L_08B49340; AOT_REGCACHE_SYNC_OUT(); return; L_08B49340: aot_gpr_4 = (aot_gpr_29 + static_cast(688)); aot_gpr_5 = (0u | 28u); aot_gpr_6 = (0u | 55u); - ctx.gpr[7] = (0u | 111u); - ctx.gpr[31] = (0x08B49358u); + aot_gpr_7 = (0u | 111u); + aot_gpr_31 = (0x08B49358u); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B49358u) goto L_08B49358; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B49358u) goto L_08B49358; AOT_REGCACHE_SYNC_OUT(); return; L_08B49358: aot_gpr_4 = (aot_gpr_29 + static_cast(692)); aot_gpr_5 = (0u | 138u); aot_gpr_6 = (0u | 58u); - ctx.gpr[7] = (0u | 66u); - ctx.gpr[31] = (0x08B49370u); + aot_gpr_7 = (0u | 66u); + aot_gpr_31 = (0x08B49370u); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B49370u) goto L_08B49370; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B49370u) goto L_08B49370; AOT_REGCACHE_SYNC_OUT(); return; L_08B49370: aot_gpr_4 = (aot_gpr_29 + static_cast(696)); aot_gpr_5 = (0u | 36u); aot_gpr_6 = (0u | 47u); - ctx.gpr[7] = (0u | 43u); - ctx.gpr[31] = (0x08B49388u); + aot_gpr_7 = (0u | 43u); + aot_gpr_31 = (0x08B49388u); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B49388u) goto L_08B49388; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B49388u) goto L_08B49388; AOT_REGCACHE_SYNC_OUT(); return; L_08B49388: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5472))); @@ -3453,7 +3454,7 @@ L_08B493C0: goto L_08B493C8; } L_08B493C8: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_22 + static_cast(86)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[22] + static_cast(86)))))); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); aot_gpr_6 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_6) ? 1u : 0u); { const bool branch_taken = aot_gpr_6 == 0u; @@ -3472,7 +3473,7 @@ L_08B493DC: L_08B493EC: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (aot_gpr_29 + static_cast(688)); - ctx.gpr[31] = (0x08B493FCu); + aot_gpr_31 = (0x08B493FCu); aot_gpr_6 = (aot_gpr_29 + static_cast(680)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0167_entry, 167u, 434u, 0x08AA1BA4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B493FCu) goto L_08B493FC; AOT_REGCACHE_SYNC_OUT(); return; @@ -3485,7 +3486,7 @@ L_08B493FC: goto L_08B49404; } L_08B49404: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_22 + static_cast(86)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[22] + static_cast(86)))))); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); aot_gpr_6 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_6) ? 1u : 0u); { const bool branch_taken = aot_gpr_6 == 0u; @@ -3504,7 +3505,7 @@ L_08B49418: L_08B49428: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (aot_gpr_29 + static_cast(692)); - ctx.gpr[31] = (0x08B49438u); + aot_gpr_31 = (0x08B49438u); aot_gpr_6 = (aot_gpr_29 + static_cast(680)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0167_entry, 167u, 434u, 0x08AA1BA4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B49438u) goto L_08B49438; AOT_REGCACHE_SYNC_OUT(); return; @@ -3517,7 +3518,7 @@ L_08B49438: goto L_08B49440; } L_08B49440: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_22 + static_cast(86)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[22] + static_cast(86)))))); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); aot_gpr_6 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_6) ? 1u : 0u); { const bool branch_taken = aot_gpr_6 == 0u; @@ -3536,7 +3537,7 @@ L_08B49454: L_08B49464: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (aot_gpr_29 + static_cast(696)); - ctx.gpr[31] = (0x08B49474u); + aot_gpr_31 = (0x08B49474u); aot_gpr_6 = (aot_gpr_29 + static_cast(680)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0167_entry, 167u, 434u, 0x08AA1BA4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B49474u) goto L_08B49474; AOT_REGCACHE_SYNC_OUT(); return; @@ -3549,7 +3550,7 @@ L_08B49474: goto L_08B4947C; } L_08B4947C: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_22 + static_cast(86)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[22] + static_cast(86)))))); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); aot_gpr_6 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_6) ? 1u : 0u); { const bool branch_taken = aot_gpr_6 == 0u; @@ -3568,7 +3569,7 @@ L_08B49490: L_08B494A0: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (aot_gpr_29 + static_cast(684)); - ctx.gpr[31] = (0x08B494B0u); + aot_gpr_31 = (0x08B494B0u); aot_gpr_6 = (aot_gpr_29 + static_cast(680)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0167_entry, 167u, 434u, 0x08AA1BA4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B494B0u) goto L_08B494B0; AOT_REGCACHE_SYNC_OUT(); return; @@ -3589,7 +3590,7 @@ L_08B494B8: goto L_08B494C0; } L_08B494C0: - { const bool branch_taken = aot_gpr_22 == 0u; + { const bool branch_taken = ctx.gpr[22] == 0u; // nop if (branch_taken) { goto L_08B494E4; @@ -3597,14 +3598,14 @@ L_08B494C0: goto L_08B494C8; } L_08B494C8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_22 + static_cast(92))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(92))); aot_gpr_5 = (0u | 3u); aot_gpr_4 = (aot_gpr_4 + static_cast(24)); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - jump_target = ctx.gpr[7]; - ctx.gpr[31] = (0x08B494E4u); - aot_gpr_4 = (aot_gpr_22 + aot_gpr_6); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); + jump_target = aot_gpr_7; + aot_gpr_31 = (0x08B494E4u); + aot_gpr_4 = (ctx.gpr[22] + aot_gpr_6); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B494E4u) goto L_08B494E4; AOT_REGCACHE_SYNC_OUT(); return; @@ -3619,9 +3620,9 @@ L_08B494E4: L_08B494EC: aot_gpr_4 = (16256u << 16u); ctx.fpr[20] = std::bit_cast(0u); - ctx.gpr[31] = (0x08B494FCu); + aot_gpr_31 = (0x08B494FCu); ctx.fpr[22] = std::bit_cast(aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B494FCu) goto L_08B494FC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20998, 199u, 113u, 0x08B20998u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 113u, 0x08B20998u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B494FCu) goto L_08B494FC; AOT_REGCACHE_SYNC_OUT(); return; L_08B494FC: aot_fpr_12 = ctx.fpr[22] - ctx.fpr[20]; @@ -3640,8 +3641,8 @@ L_08B494FC: goto L_08B49524; } L_08B49524: - ctx.gpr[31] = (0x08B4952Cu); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_22 + static_cast(86)))))); + aot_gpr_31 = (0x08B4952Cu); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[22] + static_cast(86)))))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0186_entry, 186u, 181u, 0x08AECAA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B4952Cu) goto L_08B4952C; AOT_REGCACHE_SYNC_OUT(); return; L_08B4952C: @@ -3653,7 +3654,7 @@ L_08B4952C: goto L_08B49534; } L_08B49534: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_22 + static_cast(613)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[22] + static_cast(613)))))); aot_gpr_4 = (aot_gpr_4 & 1u); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -3663,8 +3664,8 @@ L_08B49534: goto L_08B49544; } L_08B49544: - aot_gpr_4 = (aot_gpr_22 + static_cast(16)); - aot_gpr_5 = (aot_gpr_22 + static_cast(48)); + aot_gpr_4 = (ctx.gpr[22] + static_cast(16)); + aot_gpr_5 = (ctx.gpr[22] + static_cast(48)); aot_gpr_6 = (16576u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_6); aot_gpr_6 = (std::bit_cast(aot_fpr_12)); @@ -3708,8 +3709,8 @@ L_08B49544: const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - ctx.gpr[31] = (0x08B49588u); - aot_gpr_5 = (aot_gpr_22 | 0u); + aot_gpr_31 = (0x08B49588u); + aot_gpr_5 = (ctx.gpr[22] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0112_entry, 112u, 762u, 0x089C7468u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B49588u) goto L_08B49588; AOT_REGCACHE_SYNC_OUT(); return; L_08B49588: @@ -3723,17 +3724,17 @@ L_08B49588: L_08B49590: aot_gpr_4 = (0u | 0u); aot_fpr_12 = std::bit_cast(0u); - aot_mem.aot_direct_store8(aot_gpr_22 + static_cast(535), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[22] + static_cast(535), static_cast(aot_gpr_4)); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_12)); - aot_gpr_4 = (aot_gpr_22 | 0u); - ctx.gpr[31] = (0x08B495ACu); + aot_gpr_4 = (ctx.gpr[22] | 0u); + aot_gpr_31 = (0x08B495ACu); aot_fpr_14 = std::bit_cast(std::bit_cast(aot_fpr_12)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 537u, 0x08A6669Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B495ACu) goto L_08B495AC; AOT_REGCACHE_SYNC_OUT(); return; L_08B495AC: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_22 + static_cast(565))); - aot_gpr_16 = (0u | 0u); - aot_gpr_4 = (static_cast(aot_gpr_16) < static_cast(aot_gpr_4) ? 1u : 0u); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[22] + static_cast(565))); + ctx.gpr[16] = (0u | 0u); + aot_gpr_4 = (static_cast(ctx.gpr[16]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -3742,9 +3743,9 @@ L_08B495AC: goto L_08B495C0; } L_08B495C0: - aot_gpr_4 = (aot_gpr_22 | 0u); - ctx.gpr[31] = (0x08B495CCu); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[22] | 0u); + aot_gpr_31 = (0x08B495CCu); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B495CCu) goto L_08B495CC; AOT_REGCACHE_SYNC_OUT(); return; L_08B495CC: @@ -3759,18 +3760,18 @@ L_08B495CC: L_08B495D8: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (0u | 16u); - ctx.gpr[31] = (0x08B495E8u); - aot_gpr_6 = (aot_gpr_22 | 0u); + aot_gpr_31 = (0x08B495E8u); + aot_gpr_6 = (ctx.gpr[22] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0178_entry, 178u, 482u, 0x08ACD698u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B495E8u) goto L_08B495E8; AOT_REGCACHE_SYNC_OUT(); return; L_08B495E8: aot_gpr_4 = (ctx.gpr[17] | 0u); - ctx.gpr[31] = (0x08B495F4u); + aot_gpr_31 = (0x08B495F4u); aot_gpr_5 = (0u | 5u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B495F4u) goto L_08B495F4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08908E78, 65u, 261u, 0x08908E78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B495F4u) goto L_08B495F4; AOT_REGCACHE_SYNC_OUT(); return; L_08B495F4: - aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(1336), aot_gpr_22); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(1336), ctx.gpr[22]); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(464))); aot_gpr_5 = (16384u << 16u); aot_gpr_4 = (aot_gpr_4 | aot_gpr_5); @@ -3785,14 +3786,14 @@ L_08B495F4: } L_08B49614: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1336))); - ctx.gpr[31] = (0x08B49620u); + aot_gpr_31 = (0x08B49620u); aot_gpr_5 = (ctx.gpr[17] + static_cast(1336)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B49620u) goto L_08B49620; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B49620u) goto L_08B49620; AOT_REGCACHE_SYNC_OUT(); return; L_08B49620: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_22 + static_cast(565))); - aot_gpr_16 = (aot_gpr_16 + static_cast(1)); - aot_gpr_4 = (static_cast(aot_gpr_16) < static_cast(aot_gpr_4) ? 1u : 0u); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[22] + static_cast(565))); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(1)); + aot_gpr_4 = (static_cast(ctx.gpr[16]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -3801,7 +3802,7 @@ L_08B49620: goto L_08B49634; } L_08B49634: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_22 + static_cast(900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(900))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -3810,28 +3811,28 @@ L_08B49634: goto L_08B49640; } L_08B49640: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_22 + static_cast(900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(900))); aot_gpr_5 = (0u | 16u); - ctx.gpr[31] = (0x08B49650u); - aot_gpr_6 = (aot_gpr_22 | 0u); + aot_gpr_31 = (0x08B49650u); + aot_gpr_6 = (ctx.gpr[22] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0178_entry, 178u, 482u, 0x08ACD698u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B49650u) goto L_08B49650; AOT_REGCACHE_SYNC_OUT(); return; L_08B49650: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_22 + static_cast(900))); - ctx.gpr[31] = (0x08B4965Cu); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(900))); + aot_gpr_31 = (0x08B4965Cu); aot_gpr_5 = (0u | 5u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B4965Cu) goto L_08B4965C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08908E78, 65u, 261u, 0x08908E78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B4965Cu) goto L_08B4965C; AOT_REGCACHE_SYNC_OUT(); return; L_08B4965C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_22 + static_cast(900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(900))); aot_gpr_5 = (16384u << 16u); - aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(1336), aot_gpr_22); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_22 + static_cast(900))); + aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(1336), ctx.gpr[22]); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(900))); aot_gpr_4 = (aot_gpr_4 + static_cast(464)); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_5 = (aot_gpr_6 | aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), aot_gpr_5); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_22 + static_cast(900))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(900))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(1336))); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -3841,11 +3842,11 @@ L_08B4965C: goto L_08B4968C; } L_08B4968C: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_22 + static_cast(900))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(900))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(1336))); - ctx.gpr[31] = (0x08B4969Cu); + aot_gpr_31 = (0x08B4969Cu); aot_gpr_5 = (aot_gpr_5 + static_cast(1336)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B4969Cu) goto L_08B4969C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B4969Cu) goto L_08B4969C; AOT_REGCACHE_SYNC_OUT(); return; L_08B4969C: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7080))); @@ -3857,7 +3858,7 @@ L_08B4969C: goto L_08B496A8; } L_08B496A8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_22 + static_cast(852))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast(852))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -3866,7 +3867,7 @@ L_08B496A8: goto L_08B496B4; } L_08B496B4: - ctx.gpr[31] = (0x08B496BCu); + aot_gpr_31 = (0x08B496BCu); aot_gpr_4 = (0u | 408u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B496BCu) goto L_08B496BC; AOT_REGCACHE_SYNC_OUT(); return; @@ -3880,8 +3881,8 @@ L_08B496BC: goto L_08B496C8; } L_08B496C8: - ctx.gpr[31] = (0x08B496D0u); - aot_gpr_5 = (aot_gpr_22 | 0u); + aot_gpr_31 = (0x08B496D0u); + aot_gpr_5 = (ctx.gpr[22] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 655u, 0x089F75BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B496D0u) goto L_08B496D0; AOT_REGCACHE_SYNC_OUT(); return; L_08B496D0: @@ -3893,7 +3894,7 @@ L_08B496D0: goto L_08B496D8; } L_08B496D8: - ctx.gpr[31] = (0x08B496E0u); + aot_gpr_31 = (0x08B496E0u); aot_gpr_4 = (0u | 256u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B496E0u) goto L_08B496E0; AOT_REGCACHE_SYNC_OUT(); return; @@ -3907,8 +3908,8 @@ L_08B496E0: goto L_08B496EC; } L_08B496EC: - ctx.gpr[31] = (0x08B496F4u); - aot_gpr_5 = (aot_gpr_22 | 0u); + aot_gpr_31 = (0x08B496F4u); + aot_gpr_5 = (ctx.gpr[22] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0168_entry, 168u, 120u, 0x08AA4C80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B496F4u) goto L_08B496F4; AOT_REGCACHE_SYNC_OUT(); return; L_08B496F4: @@ -3918,17 +3919,17 @@ L_08B496F4: ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); ctx.fpr[26] = std::bit_cast(aot_run_words[3]); - aot_gpr_16 = aot_run_words[4]; + ctx.gpr[16] = aot_run_words[4]; ctx.gpr[17] = aot_run_words[5]; ctx.gpr[18] = aot_run_words[6]; ctx.gpr[19] = aot_run_words[7]; ctx.gpr[20] = aot_run_words[8]; ctx.gpr[21] = aot_run_words[9]; - aot_gpr_22 = aot_run_words[10]; + ctx.gpr[22] = aot_run_words[10]; ctx.gpr[23] = aot_run_words[11]; - ctx.gpr[31] = aot_run_words[12]; + aot_gpr_31 = aot_run_words[12]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(1152)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -3936,13 +3937,13 @@ L_08B496F4: AOT_REGCACHE_SYNC_OUT(); return; L_08B49730: aot_gpr_29 = (aot_gpr_29 + static_cast(-96)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(532)))))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(532)))))); aot_gpr_5 = (0u | 2u); { const std::uint32_t aot_run_words[4]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(32), aot_run_words); } - { const std::uint32_t aot_run_words[9]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_22, ctx.gpr[23], ctx.gpr[30], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[9]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(52), aot_run_words); } { const bool branch_taken = aot_gpr_4 == aot_gpr_5; aot_gpr_5 = (0u | 3u); @@ -3953,7 +3954,7 @@ L_08B49730: } L_08B49780: { const bool branch_taken = aot_gpr_4 == aot_gpr_5; - aot_gpr_4 = (aot_gpr_16 + static_cast(48)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(48)); if (branch_taken) { goto L_08B497E8; } @@ -3970,7 +3971,7 @@ L_08B49788: aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_6 = (16880u << 16u); aot_gpr_4 = (16840u << 16u); - ctx.gpr[7] = (0u | 49u); + aot_gpr_7 = (0u | 49u); aot_fpr_13 = std::bit_cast(aot_gpr_6); ctx.fpr[22] = ctx.fpr[22] + ctx.fpr[26]; ctx.fpr[24] = aot_fpr_14 - ctx.fpr[26]; @@ -3979,7 +3980,7 @@ L_08B49788: aot_fpr_14 = std::bit_cast(aot_gpr_4); aot_fpr_15 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_15)); aot_gpr_4 = (std::bit_cast(aot_fpr_15)); - aot_gpr_6 = (static_cast(ctx.gpr[7]) < static_cast(aot_gpr_4) ? 1u : 0u); + aot_gpr_6 = (static_cast(aot_gpr_7) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_6 != 0u; aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[28] + static_cast(-25492))); if (branch_taken) { @@ -3996,8 +3997,8 @@ L_08B497E0: goto L_08B497E8; } L_08B497E8: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(535)))))); - ctx.fpr[0] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(524))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(535)))))); + ctx.fpr[0] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(524))); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); { const bool branch_taken = 0u == 0u; @@ -4047,10 +4048,10 @@ L_08B49844: goto L_08B49850; L_08B49850: aot_gpr_6 = (0u | 0u); - aot_gpr_22 = (0u | 0u); + ctx.gpr[22] = (0u | 0u); aot_gpr_6 = (static_cast(aot_gpr_6) < static_cast(aot_gpr_4) ? 1u : 0u); if (aot_gpr_6 != 0u) { - aot_gpr_22 = (aot_gpr_4 | 0u); + ctx.gpr[22] = (aot_gpr_4 | 0u); goto L_08B49864; } goto L_08B49864; @@ -4120,8 +4121,8 @@ L_08B498DC: } L_08B498EC: aot_mem.aot_direct_store16(ctx.gpr[28] + static_cast(-25492), static_cast(aot_gpr_4)); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(535)))))); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(524))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(535)))))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(524))); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_13))); { const bool branch_taken = 0u == 0u; @@ -4132,21 +4133,21 @@ L_08B498EC: goto L_08B49908; } L_08B49908: - ctx.gpr[31] = (0x08B49910u); + aot_gpr_31 = (0x08B49910u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0036_entry, 36u, 274u, 0x088954BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B49910u) goto L_08B49910; AOT_REGCACHE_SYNC_OUT(); return; L_08B49910: aot_gpr_4 = (0u | 1u); aot_mem.aot_direct_store16(ctx.gpr[28] + static_cast(-25492), static_cast(aot_gpr_4)); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(535)))))); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(524))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(535)))))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(524))); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_13))); { const float fs = aot_fpr_13; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } goto L_08B4992C; L_08B4992C: - ctx.gpr[20] = (aot_gpr_22 | 0u); + ctx.gpr[20] = (ctx.gpr[22] | 0u); aot_gpr_4 = (static_cast(ctx.gpr[19]) < static_cast(ctx.gpr[20]) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), std::bit_cast(aot_fpr_12)); @@ -4156,17 +4157,17 @@ L_08B4992C: goto L_08B4993C; } L_08B4993C: - aot_gpr_4 = (aot_gpr_22 << 4u); - aot_gpr_22 = (aot_gpr_22 + aot_gpr_4); - aot_gpr_4 = (aot_gpr_4 + aot_gpr_22); + aot_gpr_4 = (ctx.gpr[22] << 4u); + ctx.gpr[22] = (ctx.gpr[22] + aot_gpr_4); + aot_gpr_4 = (aot_gpr_4 + ctx.gpr[22]); ctx.gpr[30] = (aot_gpr_29 + static_cast(24)); - aot_gpr_22 = (aot_gpr_4 + aot_gpr_22); + ctx.gpr[22] = (aot_gpr_4 + ctx.gpr[22]); goto L_08B49950; L_08B49950: ctx.gpr[21] = (ctx.gpr[17] | 0u); aot_gpr_4 = (static_cast(ctx.gpr[18]) < static_cast(ctx.gpr[21]) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_4 = (ctx.gpr[17] + aot_gpr_22); + aot_gpr_4 = (ctx.gpr[17] + ctx.gpr[22]); if (branch_taken) { goto L_08B49A88; } @@ -4178,82 +4179,82 @@ L_08B49960: ctx.gpr[23] = (ctx.gpr[23] - aot_gpr_4); goto L_08B4996C; L_08B4996C: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_22); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(535)))))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), ctx.gpr[22]); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(535)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-25496))); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(524))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(524))); aot_fpr_15 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); - aot_gpr_22 = (aot_gpr_5 + ctx.gpr[23]); - aot_gpr_4 = (aot_gpr_22 + static_cast(28)); + ctx.gpr[22] = (aot_gpr_5 + ctx.gpr[23]); + aot_gpr_4 = (ctx.gpr[22] + static_cast(28)); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[24])); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_6 = (ctx.gpr[30] | 0u); { const float fs = aot_fpr_15; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[16] = std::bit_cast(0x7FC00000u); else ctx.fpr[16] = fs * ft; } aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[22])); - ctx.gpr[31] = (0x08B499ACu); + aot_gpr_31 = (0x08B499ACu); aot_fpr_15 = std::bit_cast(std::bit_cast(ctx.fpr[26])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0207_entry, 207u, 610u, 0x08B42854u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B499ACu) goto L_08B499AC; AOT_REGCACHE_SYNC_OUT(); return; L_08B499AC: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(535)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(535)))))); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[24])); - aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(524))); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(524))); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_14 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); - aot_gpr_4 = (aot_gpr_22 + static_cast(32)); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[22] + static_cast(32)); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_6 = (ctx.gpr[30] | 0u); { const float fs = aot_fpr_14; const float ft = aot_fpr_15; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[16] = std::bit_cast(0x7FC00000u); else ctx.fpr[16] = fs * ft; } aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[22])); - ctx.gpr[31] = (0x08B499E0u); + aot_gpr_31 = (0x08B499E0u); aot_fpr_15 = std::bit_cast(std::bit_cast(ctx.fpr[26])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0207_entry, 207u, 610u, 0x08B42854u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B499E0u) goto L_08B499E0; AOT_REGCACHE_SYNC_OUT(); return; L_08B499E0: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(535)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(535)))))); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); - aot_gpr_4 = (aot_gpr_22 + static_cast(8)); + aot_gpr_4 = (ctx.gpr[22] + static_cast(8)); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[22])); aot_fpr_13 = std::bit_cast(aot_gpr_5); aot_gpr_6 = (ctx.gpr[30] | 0u); ctx.fpr[16] = static_cast(static_cast(std::bit_cast(aot_fpr_13))); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_fpr_15 = std::bit_cast(std::bit_cast(ctx.fpr[26])); - ctx.gpr[31] = (0x08B49A0Cu); + aot_gpr_31 = (0x08B49A0Cu); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[24])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0207_entry, 207u, 610u, 0x08B42854u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B49A0Cu) goto L_08B49A0C; AOT_REGCACHE_SYNC_OUT(); return; L_08B49A0C: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(535)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(535)))))); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[24])); - aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(524))); + aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(524))); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_15 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); - aot_gpr_4 = (aot_gpr_22 + static_cast(36)); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[22] + static_cast(36)); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_6 = (ctx.gpr[30] | 0u); { const float fs = aot_fpr_15; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[16] = std::bit_cast(0x7FC00000u); else ctx.fpr[16] = fs * ft; } aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[22])); - ctx.gpr[31] = (0x08B49A40u); + aot_gpr_31 = (0x08B49A40u); aot_fpr_15 = std::bit_cast(std::bit_cast(ctx.fpr[26])); goto L_08B49B24; L_08B49A40: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(535)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(535)))))); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); - ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(524))); + ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(524))); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[22])); aot_fpr_13 = std::bit_cast(aot_gpr_5); - aot_gpr_4 = (aot_gpr_22 + static_cast(40)); + aot_gpr_4 = (ctx.gpr[22] + static_cast(40)); ctx.fpr[17] = static_cast(static_cast(std::bit_cast(aot_fpr_13))); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_6 = (ctx.gpr[30] | 0u); aot_fpr_15 = std::bit_cast(std::bit_cast(ctx.fpr[26])); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[24])); - ctx.gpr[31] = (0x08B49A74u); + aot_gpr_31 = (0x08B49A74u); { const float fs = ctx.fpr[17]; const float ft = ctx.fpr[16]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[16] = std::bit_cast(0x7FC00000u); else ctx.fpr[16] = fs * ft; } goto L_08B49B24; L_08B49A74: @@ -4261,7 +4262,7 @@ L_08B49A74: ctx.gpr[23] = (ctx.gpr[23] + static_cast(56)); aot_gpr_4 = (static_cast(ctx.gpr[18]) < static_cast(ctx.gpr[21]) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_22 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(28))); + ctx.gpr[22] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(28))); if (branch_taken) { goto L_08B4996C; } @@ -4271,17 +4272,17 @@ L_08B49A88: ctx.gpr[20] = (ctx.gpr[20] + static_cast(1)); aot_gpr_4 = (static_cast(ctx.gpr[19]) < static_cast(ctx.gpr[20]) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_22 = (aot_gpr_22 + static_cast(50)); + ctx.gpr[22] = (ctx.gpr[22] + static_cast(50)); if (branch_taken) { goto L_08B49950; } goto L_08B49A98; } L_08B49A98: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(614)))))); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(532)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(614)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(532)))))); aot_gpr_5 = (aot_gpr_5 | 32u); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(614), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(614), static_cast(aot_gpr_5)); { const bool branch_taken = aot_gpr_4 == 0u; ctx.fpr[0] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); if (branch_taken) { @@ -4292,7 +4293,7 @@ L_08B49A98: L_08B49AB0: aot_gpr_5 = (0u | 4u); if (aot_gpr_4 != aot_gpr_5) { - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(535)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(535)))))); goto L_08B49AC4; } goto L_08B49ABC; @@ -4305,7 +4306,7 @@ L_08B49ABC: goto L_08B49AC4; } L_08B49AC4: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(524))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(524))); aot_fpr_13 = std::bit_cast(aot_gpr_4); aot_fpr_13 = static_cast(static_cast(std::bit_cast(aot_fpr_13))); aot_gpr_4 = (16128u << 16u); @@ -4321,18 +4322,18 @@ L_08B49AE4: ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); ctx.fpr[26] = std::bit_cast(aot_run_words[3]); - aot_gpr_16 = aot_run_words[4]; + ctx.gpr[16] = aot_run_words[4]; ctx.gpr[17] = aot_run_words[5]; ctx.gpr[18] = aot_run_words[6]; ctx.gpr[19] = aot_run_words[7]; ctx.gpr[20] = aot_run_words[8]; ctx.gpr[21] = aot_run_words[9]; - aot_gpr_22 = aot_run_words[10]; + ctx.gpr[22] = aot_run_words[10]; ctx.gpr[23] = aot_run_words[11]; ctx.gpr[30] = aot_run_words[12]; - ctx.gpr[31] = aot_run_words[13]; + aot_gpr_31 = aot_run_words[13]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(96)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -4340,14 +4341,14 @@ L_08B49AE4: AOT_REGCACHE_SYNC_OUT(); return; L_08B49B24: aot_gpr_29 = (aot_gpr_29 + static_cast(-208)); - ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(86)))))); + aot_gpr_7 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(86)))))); ctx.gpr[8] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(24))); - ctx.gpr[7] = (ctx.gpr[7] << 2u); - ctx.gpr[7] = (ctx.gpr[8] + ctx.gpr[7]); - ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(0))); + aot_gpr_7 = (aot_gpr_7 << 2u); + aot_gpr_7 = (ctx.gpr[8] + aot_gpr_7); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_7 + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(180), ctx.gpr[19]); ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(20))); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_7 + static_cast(20))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(160), std::bit_cast(ctx.fpr[28])); aot_gpr_4 = (aot_gpr_4 + static_cast(32)); ctx.fpr[28] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); @@ -4361,10 +4362,10 @@ L_08B49B24: ctx.gpr[21] = (aot_gpr_6 | 0u); { const std::uint32_t aot_run_words[4]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(144), aot_run_words); } - { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[30]), aot_gpr_16, ctx.gpr[17]}; + { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[30]), ctx.gpr[16], ctx.gpr[17]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(164), aot_run_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(184), ctx.gpr[20]); - { const std::uint32_t aot_run_words[4]{aot_gpr_22, ctx.gpr[23], ctx.gpr[30], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[4]{ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(192), aot_run_words); } { const bool branch_taken = ctx.gpr[19] == 0u; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(120), std::bit_cast(aot_fpr_15)); @@ -4388,7 +4389,7 @@ L_08B49BAC: ctx.gpr[30] = (ctx.gpr[18] + static_cast(16)); ctx.fpr[30] = std::bit_cast(aot_gpr_4); ctx.gpr[23] = (0u | 6u); - aot_gpr_22 = (0u | 1u); + ctx.gpr[22] = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(136), std::bit_cast(aot_fpr_12)); goto L_08B49BEC; L_08B49BEC: @@ -4684,8 +4685,8 @@ L_08B49DB4: goto L_08B49DD0; } L_08B49DD0: - aot_gpr_16 = (ctx.gpr[17] | 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2228))); + ctx.gpr[16] = (ctx.gpr[17] | 0u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2228))); aot_gpr_5 = (0u | 31u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -4695,7 +4696,7 @@ L_08B49DD0: goto L_08B49DE4; } L_08B49DE4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2228))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2228))); aot_gpr_5 = (0u | 48u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -4725,54 +4726,54 @@ L_08B49E04: goto L_08B49E14; } L_08B49E14: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(140), aot_gpr_16); - ctx.gpr[31] = (0x08B49E20u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(140), ctx.gpr[16]); + aot_gpr_31 = (0x08B49E20u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[24])); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B49E20u) goto L_08B49E20; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B49E20u) goto L_08B49E20; AOT_REGCACHE_SYNC_OUT(); return; L_08B49E20: ctx.gpr[17] = (ctx.gpr[3] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); - ctx.gpr[31] = (0x08B49E30u); - aot_gpr_16 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B49E30u) goto L_08B49E30; + aot_gpr_31 = (0x08B49E30u); + ctx.gpr[16] = (ctx.gpr[2] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B49E30u) goto L_08B49E30; AOT_REGCACHE_SYNC_OUT(); return; L_08B49E30: - ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5564))); + aot_gpr_7 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5564))); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5560))); aot_gpr_5 = (ctx.gpr[3] | 0u); - ctx.gpr[31] = (0x08B49E44u); + aot_gpr_31 = (0x08B49E44u); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B49E44u) goto L_08B49E44; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B49E44u) goto L_08B49E44; AOT_REGCACHE_SYNC_OUT(); return; L_08B49E44: - ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5572))); + aot_gpr_7 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5572))); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5568))); aot_gpr_5 = (ctx.gpr[3] | 0u); - ctx.gpr[31] = (0x08B49E58u); + aot_gpr_31 = (0x08B49E58u); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B49E58u) goto L_08B49E58; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B49E58u) goto L_08B49E58; AOT_REGCACHE_SYNC_OUT(); return; L_08B49E58: aot_gpr_5 = (ctx.gpr[17] | 0u); - aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[7] = (ctx.gpr[3] | 0u); - ctx.gpr[31] = (0x08B49E6Cu); + aot_gpr_4 = (ctx.gpr[16] | 0u); + aot_gpr_7 = (ctx.gpr[3] | 0u); + aot_gpr_31 = (0x08B49E6Cu); aot_gpr_6 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B49E6Cu) goto L_08B49E6C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B6256C, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B49E6Cu) goto L_08B49E6C; AOT_REGCACHE_SYNC_OUT(); return; L_08B49E6C: { const bool branch_taken = static_cast(ctx.gpr[2]) >= 0; - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(140))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(140))); if (branch_taken) { goto L_08B4A1AC; } goto L_08B49E74; } L_08B49E74: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); - ctx.gpr[31] = (0x08B49E84u); + aot_gpr_31 = (0x08B49E84u); aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0070_entry, 70u, 480u, 0x0891E8B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B49E84u) goto L_08B49E84; AOT_REGCACHE_SYNC_OUT(); return; @@ -4809,9 +4810,9 @@ L_08B49EA8: goto L_08B49EBC; } L_08B49EBC: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); - ctx.gpr[31] = (0x08B49ECCu); + aot_gpr_31 = (0x08B49ECCu); aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0070_entry, 70u, 550u, 0x0891ECB8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B49ECCu) goto L_08B49ECC; AOT_REGCACHE_SYNC_OUT(); return; @@ -4824,9 +4825,9 @@ L_08B49ECC: goto L_08B49ED4; } L_08B49ED4: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); - ctx.gpr[31] = (0x08B49EE4u); + aot_gpr_31 = (0x08B49EE4u); aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0070_entry, 70u, 480u, 0x0891E8B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B49EE4u) goto L_08B49EE4; AOT_REGCACHE_SYNC_OUT(); return; @@ -4849,7 +4850,7 @@ L_08B49EEC: goto L_08B49EFC; } L_08B49EFC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2228))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2228))); aot_gpr_5 = (0u | 17u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -4872,9 +4873,9 @@ L_08B49F0C: goto L_08B49F28; } L_08B49F28: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); - ctx.gpr[31] = (0x08B49F38u); + aot_gpr_31 = (0x08B49F38u); aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0070_entry, 70u, 550u, 0x0891ECB8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B49F38u) goto L_08B49F38; AOT_REGCACHE_SYNC_OUT(); return; @@ -4887,9 +4888,9 @@ L_08B49F38: goto L_08B49F40; } L_08B49F40: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); - ctx.gpr[31] = (0x08B49F50u); + aot_gpr_31 = (0x08B49F50u); aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0070_entry, 70u, 480u, 0x0891E8B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B49F50u) goto L_08B49F50; AOT_REGCACHE_SYNC_OUT(); return; @@ -4912,7 +4913,7 @@ L_08B49F58: goto L_08B49F68; } L_08B49F68: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2228))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2228))); aot_gpr_5 = (0u | 9u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -4922,8 +4923,8 @@ L_08B49F68: goto L_08B49F78; } L_08B49F78: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2276))); - { const bool branch_taken = aot_gpr_4 != aot_gpr_22; + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2276))); + { const bool branch_taken = aot_gpr_4 != ctx.gpr[22]; // nop if (branch_taken) { goto L_08B4A064; @@ -4932,29 +4933,29 @@ L_08B49F78: } L_08B49F84: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(0))); - aot_gpr_4 = (aot_gpr_16 + static_cast(48)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(48)); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(4))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_fpr_12 = aot_fpr_14 - aot_fpr_12; - ctx.gpr[31] = (0x08B49FA4u); + aot_gpr_31 = (0x08B49FA4u); aot_fpr_13 = aot_fpr_13 - aot_fpr_15; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 28u, 0x08964540u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B49FA4u) goto L_08B49FA4; AOT_REGCACHE_SYNC_OUT(); return; L_08B49FA4: - ctx.gpr[31] = (0x08B49FACu); + aot_gpr_31 = (0x08B49FACu); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[0])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0162_entry, 162u, 580u, 0x08A8F0B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B49FACu) goto L_08B49FAC; AOT_REGCACHE_SYNC_OUT(); return; L_08B49FAC: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2256))); - ctx.gpr[31] = (0x08B49FB8u); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2256))); + aot_gpr_31 = (0x08B49FB8u); ctx.fpr[20] = std::bit_cast(std::bit_cast(ctx.fpr[0])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0162_entry, 162u, 580u, 0x08A8F0B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B49FB8u) goto L_08B49FB8; AOT_REGCACHE_SYNC_OUT(); return; L_08B49FB8: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(2256), std::bit_cast(ctx.fpr[0])); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(2256))); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(2256), std::bit_cast(ctx.fpr[0])); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(2256))); aot_fpr_12 = ctx.fpr[20] - aot_fpr_12; ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[26])) ? 0x00800000u : 0u); // nop @@ -5006,22 +5007,22 @@ L_08B4A020: goto L_08B4A02C; } L_08B4A02C: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); - ctx.gpr[31] = (0x08B4A03Cu); + aot_gpr_31 = (0x08B4A03Cu); aot_gpr_6 = (0u | 2000u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 803u, 0x0890B27Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B4A03Cu) goto L_08B4A03C; AOT_REGCACHE_SYNC_OUT(); return; L_08B4A03C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(456))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(456))); aot_gpr_5 = (49152u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(-1)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(456), aot_gpr_4); - aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08B4A05Cu); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(456), aot_gpr_4); + aot_gpr_4 = (ctx.gpr[16] | 0u); + aot_gpr_31 = (0x08B4A05Cu); aot_gpr_5 = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B4A05Cu) goto L_08B4A05C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B4A05Cu) goto L_08B4A05C; AOT_REGCACHE_SYNC_OUT(); return; L_08B4A05C: { const bool branch_taken = 0u == 0u; @@ -5032,9 +5033,9 @@ L_08B4A05C: goto L_08B4A064; } L_08B4A064: - ctx.gpr[31] = (0x08B4A06Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B4A06Cu) goto L_08B4A06C; + aot_gpr_31 = (0x08B4A06Cu); + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B4A06Cu) goto L_08B4A06C; AOT_REGCACHE_SYNC_OUT(); return; L_08B4A06C: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -5056,8 +5057,8 @@ L_08B4A074: goto L_08B4A088; } L_08B4A088: - ctx.gpr[31] = (0x08B4A090u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_31 = (0x08B4A090u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 620u, 0x08906DE4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B4A090u) goto L_08B4A090; AOT_REGCACHE_SYNC_OUT(); return; L_08B4A090: @@ -5069,7 +5070,7 @@ L_08B4A090: goto L_08B4A098; } L_08B4A098: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(3156))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(3156))); aot_gpr_4 = (16256u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_4); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u); @@ -5082,7 +5083,7 @@ L_08B4A098: goto L_08B4A0B4; } L_08B4A0B4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(456))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(456))); aot_gpr_4 = (aot_gpr_4 & 16u); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -5092,7 +5093,7 @@ L_08B4A0B4: goto L_08B4A0C4; } L_08B4A0C4: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(1736))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(1736))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_4 = (aot_gpr_4 < aot_gpr_5 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; @@ -5103,28 +5104,28 @@ L_08B4A0C4: goto L_08B4A0D8; } L_08B4A0D8: - aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08B4A0E4u); + aot_gpr_4 = (ctx.gpr[16] | 0u); + aot_gpr_31 = (0x08B4A0E4u); aot_gpr_5 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 668u, 0x0894751Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B4A0E4u) goto L_08B4A0E4; AOT_REGCACHE_SYNC_OUT(); return; L_08B4A0E4: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[18] | 0u); aot_gpr_6 = (0u | 1u); - ctx.gpr[7] = (0u | 0u); - ctx.gpr[31] = (0x08B4A0FCu); + aot_gpr_7 = (0u | 0u); + aot_gpr_31 = (0x08B4A0FCu); ctx.gpr[8] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 442u, 0x08909A64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B4A0FCu) goto L_08B4A0FC; AOT_REGCACHE_SYNC_OUT(); return; L_08B4A0FC: - aot_gpr_4 = (aot_gpr_16 | 0u); - ctx.gpr[31] = (0x08B4A108u); + aot_gpr_4 = (ctx.gpr[16] | 0u); + aot_gpr_31 = (0x08B4A108u); aot_gpr_5 = (0u | 1500u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 326u, 0x089092DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B4A108u) goto L_08B4A108; AOT_REGCACHE_SYNC_OUT(); return; L_08B4A108: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1929)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(1929)))))); aot_gpr_5 = (aot_gpr_4 << 5u); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); @@ -5139,7 +5140,7 @@ L_08B4A108: goto L_08B4A12C; } L_08B4A12C: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1929)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(1929)))))); aot_gpr_5 = (aot_gpr_4 << 5u); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); @@ -5154,7 +5155,7 @@ L_08B4A12C: goto L_08B4A150; } L_08B4A150: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1929)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(1929)))))); aot_gpr_5 = (aot_gpr_4 << 5u); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); @@ -5170,7 +5171,7 @@ L_08B4A150: goto L_08B4A178; } L_08B4A178: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(1929)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(1929)))))); aot_gpr_5 = (aot_gpr_4 << 5u); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); @@ -5186,9 +5187,9 @@ L_08B4A178: goto L_08B4A1A0; } L_08B4A1A0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(464))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(464))); aot_gpr_4 = (aot_gpr_4 | 256u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(464), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(464), aot_gpr_4); goto L_08B4A1AC; L_08B4A1AC: aot_gpr_4 = (15820u << 16u); @@ -5239,7 +5240,7 @@ L_08B4A1E8: } L_08B4A1F8: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(532)))))); - { const bool branch_taken = aot_gpr_4 != aot_gpr_22; + { const bool branch_taken = aot_gpr_4 != ctx.gpr[22]; // nop if (branch_taken) { goto L_08B4A27C; @@ -5287,7 +5288,7 @@ L_08B4A240: goto L_08B4A26C; } L_08B4A26C: - aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(534), static_cast(aot_gpr_22)); + aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(534), static_cast(ctx.gpr[22])); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_4 = (aot_gpr_4 + static_cast(3000)); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(512), aot_gpr_4); @@ -5309,18 +5310,18 @@ L_08B4A284: ctx.fpr[26] = std::bit_cast(aot_run_words[3]); ctx.fpr[28] = std::bit_cast(aot_run_words[4]); ctx.fpr[30] = std::bit_cast(aot_run_words[5]); - aot_gpr_16 = aot_run_words[6]; + ctx.gpr[16] = aot_run_words[6]; ctx.gpr[17] = aot_run_words[7]; ctx.gpr[18] = aot_run_words[8]; ctx.gpr[19] = aot_run_words[9]; ctx.gpr[20] = aot_run_words[10]; ctx.gpr[21] = aot_run_words[11]; - aot_gpr_22 = aot_run_words[12]; + ctx.gpr[22] = aot_run_words[12]; ctx.gpr[23] = aot_run_words[13]; ctx.gpr[30] = aot_run_words[14]; - ctx.gpr[31] = aot_run_words[15]; + aot_gpr_31 = aot_run_words[15]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(208)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -5337,11 +5338,11 @@ L_08B4A2CC: ctx.fpr[20] = std::bit_cast(std::bit_cast(aot_fpr_12)); aot_fpr_12 = aot_fpr_15 + aot_fpr_13; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), std::bit_cast(aot_fpr_14)); - { const std::uint32_t aot_run_words[10]{std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[10]{std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(80), aot_run_words); } aot_fpr_12 = std::sqrt(aot_fpr_12); ctx.fpr[22] = std::bit_cast(0u); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.gpr[17] = (aot_gpr_5 | 0u); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(ctx.fpr[22])) && aot_fpr_12 == ctx.fpr[22])) ? 0x00800000u : 0u); // nop @@ -5371,7 +5372,7 @@ L_08B4A358: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), std::bit_cast(aot_fpr_12)); goto L_08B4A364; L_08B4A364: - aot_gpr_4 = (aot_gpr_16 + static_cast(48)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(48)); aot_gpr_5 = (ctx.gpr[17] + static_cast(48)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); @@ -5395,18 +5396,18 @@ L_08B4A364: } L_08B4A3A8: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), std::bit_cast(ctx.fpr[22])); - ctx.fpr[24] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(320))); + ctx.fpr[24] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(320))); aot_gpr_4 = (17008u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); { const float fs = ctx.fpr[24]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[24] = std::bit_cast(0x7FC00000u); else ctx.fpr[24] = fs * ft; } - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(324))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(324))); { const float fs = aot_fpr_13; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(32))); { const float fs = aot_fpr_13; const float ft = ctx.fpr[20]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(36))); { const float fs = aot_fpr_14; const float ft = ctx.fpr[20]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } - aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); - ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); + aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(16))); + ctx.fpr[16] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(20))); { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_15), std::bit_cast(ctx.fpr[16]), std::bit_cast(ctx.fpr[22])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } { const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); @@ -5468,24 +5469,24 @@ L_08B4A44C: ctx.fpr[26] = ctx.fpr[24] - aot_fpr_13; ctx.gpr[20] = (aot_gpr_29 + static_cast(32)); ctx.fpr[28] = aot_fpr_12 - aot_fpr_14; - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_6 = (ctx.gpr[20] | 0u); - ctx.gpr[7] = (ctx.gpr[19] | 0u); + aot_gpr_7 = (ctx.gpr[19] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[26])); ctx.gpr[8] = (0u | 0u); - ctx.gpr[31] = (0x08B4A478u); + aot_gpr_31 = (0x08B4A478u); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[28])); goto L_08B4A6AC; L_08B4A478: ctx.fpr[24] = std::bit_cast(std::bit_cast(ctx.fpr[0])); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[26]) ^ 0x80000000u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[28]) ^ 0x80000000u); aot_gpr_6 = (ctx.gpr[19] | 0u); - ctx.gpr[7] = (ctx.gpr[20] | 0u); - ctx.gpr[31] = (0x08B4A49Cu); + aot_gpr_7 = (ctx.gpr[20] | 0u); + aot_gpr_31 = (0x08B4A49Cu); ctx.gpr[8] = (0u | 1u); goto L_08B4A6AC; L_08B4A49C: @@ -5599,7 +5600,7 @@ L_08B4A560: goto L_08B4A574; } L_08B4A574: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(72))); aot_gpr_4 = (aot_gpr_4 & 14u); aot_gpr_4 = (aot_gpr_4 ^ 4u); aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); @@ -5624,7 +5625,7 @@ L_08B4A590: goto L_08B4A5A8; } L_08B4A5A8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(508))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(508))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7660))); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); aot_gpr_4 = (aot_gpr_4 < static_cast(15001) ? 1u : 0u); @@ -5636,19 +5637,19 @@ L_08B4A5A8: goto L_08B4A5C0; } L_08B4A5C0: - aot_gpr_5 = (aot_gpr_16 + static_cast(16)); + aot_gpr_5 = (ctx.gpr[16] + static_cast(16)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_fpr_15 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[22] = std::bit_cast(0x7FC00000u); else ctx.fpr[22] = fs * ft; } { const float fs = aot_fpr_14; const float ft = aot_fpr_15; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } - ctx.gpr[31] = (0x08B4A5E4u); + aot_gpr_31 = (0x08B4A5E4u); ctx.fpr[22] = ctx.fpr[22] + aot_fpr_14; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 28u, 0x089602C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B4A5E4u) goto L_08B4A5E4; AOT_REGCACHE_SYNC_OUT(); return; L_08B4A5E4: - { const bool branch_taken = aot_gpr_16 == ctx.gpr[2]; + { const bool branch_taken = ctx.gpr[16] == ctx.gpr[2]; // nop if (branch_taken) { goto L_08B4A678; @@ -5668,7 +5669,7 @@ L_08B4A5EC: goto L_08B4A604; } L_08B4A604: - aot_gpr_4 = (ctx.gpr[17] < aot_gpr_16 ? 1u : 0u); + aot_gpr_4 = (ctx.gpr[17] < ctx.gpr[16] ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_4 = (15948u << 16u); if (branch_taken) { @@ -5706,7 +5707,7 @@ L_08B4A648: aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_4 = (aot_gpr_4 | 48u); aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(72), aot_gpr_4); - ctx.gpr[31] = (0x08B4A664u); + aot_gpr_31 = (0x08B4A664u); aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0207_entry, 207u, 365u, 0x08B41608u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B4A664u) goto L_08B4A664; AOT_REGCACHE_SYNC_OUT(); return; @@ -5725,14 +5726,14 @@ L_08B4A678: ctx.fpr[24] = std::bit_cast(aot_run_words[2]); ctx.fpr[26] = std::bit_cast(aot_run_words[3]); ctx.fpr[28] = std::bit_cast(aot_run_words[4]); - aot_gpr_16 = aot_run_words[5]; + ctx.gpr[16] = aot_run_words[5]; ctx.gpr[17] = aot_run_words[6]; ctx.gpr[18] = aot_run_words[7]; ctx.gpr[19] = aot_run_words[8]; ctx.gpr[20] = aot_run_words[9]; - ctx.gpr[31] = aot_run_words[10]; + aot_gpr_31 = aot_run_words[10]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(128)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -5829,8 +5830,8 @@ L_08B4A7DC: } goto L_08B4A7E4; L_08B4A7E4: - ctx.fpr[25] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(0))); - ctx.fpr[3] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(4))); + ctx.fpr[25] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_7 + static_cast(0))); + ctx.fpr[3] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_7 + static_cast(4))); { const float fs = ctx.fpr[17]; const float ft = ctx.fpr[25]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[1] = std::bit_cast(0x7FC00000u); else ctx.fpr[1] = fs * ft; } { const float fs = ctx.fpr[17]; const float ft = ctx.fpr[3]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[23] = std::bit_cast(0x7FC00000u); else ctx.fpr[23] = fs * ft; } { const float fs = ctx.fpr[18]; const float ft = ctx.fpr[25]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[25] = std::bit_cast(0x7FC00000u); else ctx.fpr[25] = fs * ft; } @@ -5862,7 +5863,7 @@ L_08B4A814: } L_08B4A81C: if (aot_gpr_5 != 0u) { - ctx.fpr[1] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(0))); + ctx.fpr[1] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_7 + static_cast(0))); goto L_08B4A864; } goto L_08B4A824; @@ -5884,8 +5885,8 @@ L_08B4A82C: goto L_08B4A838; } L_08B4A838: - ctx.fpr[1] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(0))); - ctx.fpr[3] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(4))); + ctx.fpr[1] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_7 + static_cast(0))); + ctx.fpr[3] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_7 + static_cast(4))); { const float fs = ctx.fpr[19]; const float ft = ctx.fpr[1]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[23] = std::bit_cast(0x7FC00000u); else ctx.fpr[23] = fs * ft; } { const float fs = ctx.fpr[18]; const float ft = ctx.fpr[1]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[25] = std::bit_cast(0x7FC00000u); else ctx.fpr[25] = fs * ft; } { const float fs = ctx.fpr[19]; const float ft = ctx.fpr[3]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[27] = std::bit_cast(0x7FC00000u); else ctx.fpr[27] = fs * ft; } @@ -5901,7 +5902,7 @@ L_08B4A838: goto L_08B4A864; } L_08B4A864: - ctx.fpr[3] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(4))); + ctx.fpr[3] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_7 + static_cast(4))); { const float fs = ctx.fpr[19]; const float ft = ctx.fpr[1]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[23] = std::bit_cast(0x7FC00000u); else ctx.fpr[23] = fs * ft; } { const float fs = ctx.fpr[18]; const float ft = ctx.fpr[1]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[25] = std::bit_cast(0x7FC00000u); else ctx.fpr[25] = fs * ft; } { const float fs = ctx.fpr[19]; const float ft = ctx.fpr[3]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[27] = std::bit_cast(0x7FC00000u); else ctx.fpr[27] = fs * ft; } @@ -6317,7 +6318,7 @@ L_08B4AB28: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), std::bit_cast(ctx.fpr[1])); ctx.fpr[0] = std::bit_cast(std::bit_cast(ctx.fpr[2])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), std::bit_cast(ctx.fpr[3])); - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(48)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -6333,7 +6334,7 @@ L_08B4AB3C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(76), std::bit_cast(ctx.fpr[22])); ctx.fpr[22] = std::bit_cast(std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(72), std::bit_cast(ctx.fpr[20])); - { const std::uint32_t aot_run_words[14]{std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_22, ctx.gpr[23], ctx.gpr[30], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[14]{std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(80), aot_run_words); } aot_fpr_14 = std::sqrt(aot_fpr_14); aot_gpr_6 = (16076u << 16u); @@ -6345,7 +6346,7 @@ L_08B4AB3C: aot_fpr_12 = aot_fpr_12 + aot_fpr_15; aot_gpr_6 = (16384u << 16u); ctx.fpr[30] = std::bit_cast(aot_gpr_6); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.gpr[17] = (aot_gpr_5 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), std::bit_cast(aot_fpr_13)); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[30] <= aot_fpr_12)) ? 0x00800000u : 0u); @@ -6358,7 +6359,7 @@ L_08B4AB3C: L_08B4ABDC: aot_gpr_4 = (16704u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_gpr_5 = (aot_gpr_16 + static_cast(48)); + aot_gpr_5 = (ctx.gpr[16] + static_cast(48)); { const float fs = ctx.fpr[30]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[26] = std::bit_cast(0x7FC00000u); else ctx.fpr[26] = fs * ft; } aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_gpr_4 = (17056u << 16u); @@ -6476,8 +6477,8 @@ L_08B4AD04: aot_fpr_12 = aot_fpr_12 + aot_fpr_13; aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); aot_gpr_6 = (std::bit_cast(aot_fpr_12)); - ctx.gpr[7] = (static_cast(aot_gpr_5) < static_cast(aot_gpr_6) ? 1u : 0u); - if (ctx.gpr[7] != 0u) { + aot_gpr_7 = (static_cast(aot_gpr_5) < static_cast(aot_gpr_6) ? 1u : 0u); + if (aot_gpr_7 != 0u) { aot_gpr_6 = (aot_gpr_5 | 0u); goto L_08B4AD38; } @@ -6535,7 +6536,7 @@ L_08B4AD88: goto L_08B4AD98; } L_08B4AD98: - ctx.gpr[31] = (0x08B4ADA0u); + aot_gpr_31 = (0x08B4ADA0u); // nop if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0036_entry, 36u, 274u, 0x088954BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B4ADA0u) goto L_08B4ADA0; AOT_REGCACHE_SYNC_OUT(); return; @@ -6573,8 +6574,8 @@ L_08B4ADCC: } L_08B4ADE0: ctx.fpr[24] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(28))); - aot_gpr_22 = (ctx.gpr[19] | 0u); - aot_gpr_4 = (static_cast(ctx.gpr[21]) < static_cast(aot_gpr_22) ? 1u : 0u); + ctx.gpr[22] = (ctx.gpr[19] | 0u); + aot_gpr_4 = (static_cast(ctx.gpr[21]) < static_cast(ctx.gpr[22]) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; ctx.fpr[20] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(32))); if (branch_taken) { @@ -6593,8 +6594,8 @@ L_08B4ADF4: goto L_08B4AE04; } L_08B4AE04: - aot_gpr_4 = (aot_gpr_22 << 4u); - aot_gpr_5 = (aot_gpr_22 + aot_gpr_4); + aot_gpr_4 = (ctx.gpr[22] << 4u); + aot_gpr_5 = (ctx.gpr[22] + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[28])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), ctx.gpr[21]); @@ -6603,91 +6604,91 @@ L_08B4AE04: aot_fpr_15 = std::bit_cast(std::bit_cast(ctx.fpr[26])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(60), std::bit_cast(ctx.fpr[24])); aot_gpr_4 = (ctx.gpr[23] + aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), aot_gpr_22); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), ctx.gpr[22]); aot_gpr_5 = (aot_gpr_4 << 6u); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-25496))); aot_gpr_4 = (aot_gpr_4 << 3u); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); ctx.fpr[24] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(52))); ctx.gpr[30] = (aot_gpr_6 + aot_gpr_4); - aot_gpr_22 = (aot_gpr_29 + static_cast(28)); + ctx.gpr[22] = (aot_gpr_29 + static_cast(28)); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[24])); ctx.gpr[21] = (aot_gpr_29 + static_cast(32)); aot_gpr_4 = (ctx.gpr[30] + static_cast(28)); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_6 = (ctx.gpr[17] | 0u); - ctx.gpr[7] = (aot_gpr_22 | 0u); - ctx.gpr[31] = (0x08B4AE6Cu); + aot_gpr_7 = (ctx.gpr[22] | 0u); + aot_gpr_31 = (0x08B4AE6Cu); ctx.gpr[8] = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0207_entry, 207u, 660u, 0x08B42DB8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B4AE6Cu) goto L_08B4AE6C; AOT_REGCACHE_SYNC_OUT(); return; L_08B4AE6C: aot_gpr_4 = (ctx.gpr[30] + static_cast(32)); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[24])); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[28])); aot_gpr_6 = (ctx.gpr[17] | 0u); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[30])); aot_fpr_15 = std::bit_cast(std::bit_cast(ctx.fpr[26])); - ctx.gpr[7] = (aot_gpr_22 | 0u); - ctx.gpr[31] = (0x08B4AE94u); + aot_gpr_7 = (ctx.gpr[22] | 0u); + aot_gpr_31 = (0x08B4AE94u); ctx.gpr[8] = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0207_entry, 207u, 660u, 0x08B42DB8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B4AE94u) goto L_08B4AE94; AOT_REGCACHE_SYNC_OUT(); return; L_08B4AE94: aot_gpr_4 = (ctx.gpr[30] + static_cast(36)); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[24])); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[28])); aot_gpr_6 = (ctx.gpr[17] | 0u); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[30])); aot_fpr_15 = std::bit_cast(std::bit_cast(ctx.fpr[26])); - ctx.gpr[7] = (aot_gpr_22 | 0u); - ctx.gpr[31] = (0x08B4AEBCu); + aot_gpr_7 = (ctx.gpr[22] | 0u); + aot_gpr_31 = (0x08B4AEBCu); ctx.gpr[8] = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0207_entry, 207u, 677u, 0x08B430D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B4AEBCu) goto L_08B4AEBC; AOT_REGCACHE_SYNC_OUT(); return; L_08B4AEBC: aot_gpr_4 = (ctx.gpr[30] + static_cast(40)); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[24])); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[28])); aot_gpr_6 = (ctx.gpr[17] | 0u); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[30])); aot_fpr_15 = std::bit_cast(std::bit_cast(ctx.fpr[26])); - ctx.gpr[7] = (aot_gpr_22 | 0u); - ctx.gpr[31] = (0x08B4AEE4u); + aot_gpr_7 = (ctx.gpr[22] | 0u); + aot_gpr_31 = (0x08B4AEE4u); ctx.gpr[8] = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0207_entry, 207u, 677u, 0x08B430D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B4AEE4u) goto L_08B4AEE4; AOT_REGCACHE_SYNC_OUT(); return; L_08B4AEE4: aot_gpr_4 = (ctx.gpr[30] + static_cast(12)); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[24])); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[28])); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[30])); - aot_gpr_6 = (aot_gpr_22 | 0u); + aot_gpr_6 = (ctx.gpr[22] | 0u); aot_fpr_15 = std::bit_cast(std::bit_cast(ctx.fpr[26])); - ctx.gpr[31] = (0x08B4AF08u); - ctx.gpr[7] = (ctx.gpr[21] | 0u); + aot_gpr_31 = (0x08B4AF08u); + aot_gpr_7 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0207_entry, 207u, 749u, 0x08B43868u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B4AF08u) goto L_08B4AF08; AOT_REGCACHE_SYNC_OUT(); return; L_08B4AF08: aot_gpr_4 = (ctx.gpr[30] + static_cast(16)); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[24])); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[28])); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[30])); - aot_gpr_6 = (aot_gpr_22 | 0u); + aot_gpr_6 = (ctx.gpr[22] | 0u); aot_fpr_15 = std::bit_cast(std::bit_cast(ctx.fpr[26])); - ctx.gpr[31] = (0x08B4AF2Cu); - ctx.gpr[7] = (ctx.gpr[21] | 0u); + aot_gpr_31 = (0x08B4AF2Cu); + aot_gpr_7 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0207_entry, 207u, 749u, 0x08B43868u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B4AF2Cu) goto L_08B4AF2C; AOT_REGCACHE_SYNC_OUT(); return; L_08B4AF2C: ctx.fpr[24] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(60))); ctx.gpr[23] = (ctx.gpr[23] + static_cast(1)); - aot_gpr_22 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); + ctx.gpr[22] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); aot_gpr_4 = (static_cast(ctx.gpr[20]) < static_cast(ctx.gpr[23]) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; ctx.gpr[21] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(68))); @@ -6697,8 +6698,8 @@ L_08B4AF2C: goto L_08B4AF44; } L_08B4AF44: - aot_gpr_22 = (aot_gpr_22 + static_cast(1)); - aot_gpr_4 = (static_cast(ctx.gpr[21]) < static_cast(aot_gpr_22) ? 1u : 0u); + ctx.gpr[22] = (ctx.gpr[22] + static_cast(1)); + aot_gpr_4 = (static_cast(ctx.gpr[21]) < static_cast(ctx.gpr[22]) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -6744,7 +6745,7 @@ L_08B4AF84: } L_08B4AF8C: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(56))); - ctx.gpr[31] = (0x08B4AF98u); + aot_gpr_31 = (0x08B4AF98u); aot_fpr_12 = aot_fpr_12 - ctx.fpr[22]; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0162_entry, 162u, 580u, 0x08A8F0B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B4AF98u) goto L_08B4AF98; AOT_REGCACHE_SYNC_OUT(); return; @@ -6752,7 +6753,7 @@ L_08B4AF98: aot_gpr_4 = (16128u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); { const float fs = ctx.fpr[0]; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } - ctx.gpr[31] = (0x08B4AFACu); + aot_gpr_31 = (0x08B4AFACu); aot_fpr_12 = ctx.fpr[22] + aot_fpr_12; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0162_entry, 162u, 580u, 0x08A8F0B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B4AFACu) goto L_08B4AFAC; AOT_REGCACHE_SYNC_OUT(); return; @@ -6761,7 +6762,7 @@ L_08B4AFAC: ctx.fpr[20] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(32))); ctx.fpr[22] = std::bit_cast(std::bit_cast(ctx.fpr[0])); aot_fpr_12 = aot_fpr_12 - ctx.fpr[22]; - ctx.gpr[31] = (0x08B4AFC4u); + aot_gpr_31 = (0x08B4AFC4u); ctx.fpr[20] = ctx.fpr[20] - ctx.fpr[22]; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0162_entry, 162u, 580u, 0x08A8F0B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B4AFC4u) goto L_08B4AFC4; AOT_REGCACHE_SYNC_OUT(); return; @@ -6776,7 +6777,7 @@ L_08B4AFC4: } goto L_08B4AFDC; L_08B4AFDC: - ctx.gpr[31] = (0x08B4AFE4u); + aot_gpr_31 = (0x08B4AFE4u); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[20])); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0162_entry, 162u, 580u, 0x08A8F0B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B4AFE4u) goto L_08B4AFE4; AOT_REGCACHE_SYNC_OUT(); return; @@ -6890,18 +6891,18 @@ L_08B4B098: ctx.fpr[26] = std::bit_cast(aot_run_words[3]); ctx.fpr[28] = std::bit_cast(aot_run_words[4]); ctx.fpr[30] = std::bit_cast(aot_run_words[5]); - aot_gpr_16 = aot_run_words[6]; + ctx.gpr[16] = aot_run_words[6]; ctx.gpr[17] = aot_run_words[7]; ctx.gpr[18] = aot_run_words[8]; ctx.gpr[19] = aot_run_words[9]; ctx.gpr[20] = aot_run_words[10]; ctx.gpr[21] = aot_run_words[11]; - aot_gpr_22 = aot_run_words[12]; + ctx.gpr[22] = aot_run_words[12]; ctx.gpr[23] = aot_run_words[13]; ctx.gpr[30] = aot_run_words[14]; - ctx.gpr[31] = aot_run_words[15]; + aot_gpr_31 = aot_run_words[15]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(144)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -6909,18 +6910,18 @@ L_08B4B098: AOT_REGCACHE_SYNC_OUT(); return; L_08B4B0E0: aot_gpr_29 = (aot_gpr_29 + static_cast(-112)); - ctx.gpr[7] = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(560))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), aot_gpr_16); + aot_gpr_7 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(560))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(80), ctx.gpr[20]); ctx.gpr[17] = (0u | 0u); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.gpr[20] = (aot_gpr_5 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(72), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(76), ctx.gpr[19]); - { const std::uint32_t aot_run_words[5]{ctx.gpr[21], aot_gpr_22, ctx.gpr[23], ctx.gpr[30], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[5]{ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(84), aot_run_words); } - { const bool branch_taken = ctx.gpr[7] == 0u; + { const bool branch_taken = aot_gpr_7 == 0u; ctx.gpr[18] = (aot_gpr_6 | 0u); if (branch_taken) { goto L_08B4B138; @@ -6928,51 +6929,51 @@ L_08B4B0E0: goto L_08B4B124; } L_08B4B124: - ctx.gpr[31] = (0x08B4B12Cu); - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(560))); + aot_gpr_31 = (0x08B4B12Cu); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(560))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 107u, 0x08B2090Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B4B12Cu) goto L_08B4B12C; AOT_REGCACHE_SYNC_OUT(); return; L_08B4B12C: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(560))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(560))); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(560), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store16(ctx.gpr[16] + static_cast(560), static_cast(aot_gpr_4)); goto L_08B4B138; L_08B4B138: aot_gpr_4 = (ctx.gpr[20] + ctx.gpr[20]); aot_gpr_5 = (ctx.gpr[20] + static_cast(1)); aot_gpr_4 = (ctx.gpr[20] + aot_gpr_4); - ctx.gpr[7] = (aot_gpr_5 + aot_gpr_5); - aot_gpr_6 = (aot_gpr_16 + static_cast(416)); + aot_gpr_7 = (aot_gpr_5 + aot_gpr_5); + aot_gpr_6 = (ctx.gpr[16] + static_cast(416)); aot_gpr_4 = (aot_gpr_4 + aot_gpr_4); - aot_gpr_5 = (aot_gpr_5 + ctx.gpr[7]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), aot_gpr_16); + aot_gpr_5 = (aot_gpr_5 + aot_gpr_7); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), ctx.gpr[16]); aot_gpr_4 = (aot_gpr_6 + aot_gpr_4); aot_gpr_5 = (aot_gpr_5 + aot_gpr_5); aot_gpr_6 = (aot_gpr_6 + aot_gpr_5); - aot_gpr_22 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); + ctx.gpr[22] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); ctx.gpr[30] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(0)))))); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(2)))))); - ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(4)))))); + aot_gpr_7 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(4)))))); aot_mem.aot_direct_store16(ctx.gpr[18] + static_cast(0), static_cast(ctx.gpr[30])); aot_mem.aot_direct_store16(ctx.gpr[18] + static_cast(2), static_cast(aot_gpr_5)); - aot_mem.aot_direct_store16(ctx.gpr[18] + static_cast(4), static_cast(ctx.gpr[7])); + aot_mem.aot_direct_store16(ctx.gpr[18] + static_cast(4), static_cast(aot_gpr_7)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16928))); - ctx.gpr[7] = (ctx.gpr[30] << 3u); + aot_gpr_7 = (ctx.gpr[30] << 3u); ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - ctx.gpr[20] = (ctx.gpr[30] + ctx.gpr[7]); + ctx.gpr[20] = (ctx.gpr[30] + aot_gpr_7); ctx.gpr[20] = (ctx.gpr[30] + ctx.gpr[20]); - ctx.gpr[7] = (ctx.gpr[8] + ctx.gpr[20]); + aot_gpr_7 = (ctx.gpr[8] + ctx.gpr[20]); ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_4 = (aot_gpr_5 << 2u); - ctx.gpr[23] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[7] + static_cast(8)))))); + ctx.gpr[23] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_7 + static_cast(8)))))); aot_gpr_5 = (ctx.gpr[8] + aot_gpr_4); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); - ctx.gpr[7] = (aot_gpr_22 << 3u); - ctx.gpr[19] = (aot_gpr_22 + ctx.gpr[7]); + aot_gpr_7 = (ctx.gpr[22] << 3u); + ctx.gpr[19] = (ctx.gpr[22] + aot_gpr_7); ctx.gpr[23] = (ctx.gpr[23] & 15u); aot_gpr_5 = (aot_gpr_5 & 16383u); { const bool branch_taken = aot_gpr_5 != ctx.gpr[30]; - ctx.gpr[19] = (aot_gpr_22 + ctx.gpr[19]); + ctx.gpr[19] = (ctx.gpr[22] + ctx.gpr[19]); if (branch_taken) { goto L_08B4B1F0; } @@ -6984,9 +6985,9 @@ L_08B4B1C4: aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(2)))))); aot_gpr_5 = (aot_gpr_4 & 7u); - ctx.gpr[7] = (aot_gpr_4 & 56u); + aot_gpr_7 = (aot_gpr_4 & 56u); aot_gpr_4 = (aot_gpr_5 + static_cast(-1)); - { const bool branch_taken = ctx.gpr[7] != 0u; + { const bool branch_taken = aot_gpr_7 != 0u; aot_gpr_5 = (static_cast(aot_gpr_5) < 3 ? 1u : 0u); if (branch_taken) { goto L_08B4B224; @@ -7010,9 +7011,9 @@ L_08B4B1F0: aot_gpr_5 = (aot_gpr_5 >> 3u); aot_gpr_5 = (aot_gpr_5 << 16u); aot_gpr_5 = (static_cast(static_cast(aot_gpr_5) >> 16u)); - ctx.gpr[7] = (aot_gpr_4 & 7u); + aot_gpr_7 = (aot_gpr_4 & 7u); aot_gpr_4 = (aot_gpr_5 + static_cast(-1)); - { const bool branch_taken = ctx.gpr[7] != 0u; + { const bool branch_taken = aot_gpr_7 != 0u; aot_gpr_5 = (static_cast(aot_gpr_5) < 3 ? 1u : 0u); if (branch_taken) { goto L_08B4B224; @@ -7023,8 +7024,8 @@ L_08B4B220: ctx.gpr[17] = (0u | 1u); goto L_08B4B224; L_08B4B224: - ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_6 + static_cast(5)))))); - { const bool branch_taken = ctx.gpr[7] != 0u; + aot_gpr_7 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_6 + static_cast(5)))))); + { const bool branch_taken = aot_gpr_7 != 0u; ctx.gpr[21] = (0u | 0u); if (branch_taken) { goto L_08B4B234; @@ -7072,8 +7073,8 @@ L_08B4B25C: L_08B4B268: aot_gpr_5 = (0u | 1u); aot_gpr_6 = (0u | 0u); - aot_gpr_16 = (0u | 0u); - ctx.gpr[7] = (aot_gpr_5 | 0u); + ctx.gpr[16] = (0u | 0u); + aot_gpr_7 = (aot_gpr_5 | 0u); aot_gpr_4 = (aot_gpr_5 | 0u); goto L_08B4B27C; L_08B4B27C: @@ -7086,7 +7087,7 @@ L_08B4B27C: } L_08B4B284: ctx.gpr[8] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(0)))))); - { const bool branch_taken = aot_gpr_22 == ctx.gpr[8]; + { const bool branch_taken = ctx.gpr[22] == ctx.gpr[8]; aot_gpr_6 = (aot_gpr_6 & ctx.gpr[21]); if (branch_taken) { goto L_08B4B3A8; @@ -7222,7 +7223,7 @@ L_08B4B394: goto L_08B4B3A0; } L_08B4B3A0: - { const bool branch_taken = ctx.gpr[7] == 0u; + { const bool branch_taken = aot_gpr_7 == 0u; // nop if (branch_taken) { goto L_08B4B4E4; @@ -7230,9 +7231,9 @@ L_08B4B3A0: goto L_08B4B3A8; } L_08B4B3A8: - ctx.gpr[31] = (0x08B4B3B0u); + aot_gpr_31 = (0x08B4B3B0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B4B3B0u) goto L_08B4B3B0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B4B3B0u) goto L_08B4B3B0; AOT_REGCACHE_SYNC_OUT(); return; L_08B4B3B0: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -7242,8 +7243,8 @@ L_08B4B3B0: aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(30040))); aot_gpr_4 = (aot_gpr_5 + ctx.gpr[20]); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(6)))))); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(60))); - aot_gpr_4 = (aot_gpr_22 | 0u); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(60))); + aot_gpr_4 = (ctx.gpr[22] | 0u); ctx.gpr[8] = (ctx.hi); ctx.gpr[17] = (ctx.gpr[8] << 16u); ctx.gpr[17] = (static_cast(static_cast(ctx.gpr[17]) >> 16u)); @@ -7253,20 +7254,20 @@ L_08B4B3B0: aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0))); aot_gpr_5 = (aot_gpr_5 & 16383u); aot_mem.aot_direct_store16(ctx.gpr[18] + static_cast(0), static_cast(aot_gpr_5)); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[7] + static_cast(0)))))); - ctx.gpr[31] = (0x08B4B404u); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_7 + static_cast(0)))))); + aot_gpr_31 = (0x08B4B404u); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(0)))))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0207_entry, 207u, 763u, 0x08B439ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B4B404u) goto L_08B4B404; AOT_REGCACHE_SYNC_OUT(); return; L_08B4B404: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16928))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); aot_gpr_5 = (aot_gpr_5 + ctx.gpr[20]); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(6)))))); aot_gpr_5 = (aot_gpr_5 + ctx.gpr[17]); ctx.gpr[8] = (aot_gpr_5 + aot_gpr_5); - ctx.gpr[8] = (ctx.gpr[7] + ctx.gpr[8]); + ctx.gpr[8] = (aot_gpr_7 + ctx.gpr[8]); ctx.gpr[8] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[8] + static_cast(0)))))); ctx.gpr[9] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_4 = (ctx.gpr[8] << 2u); @@ -7276,7 +7277,7 @@ L_08B4B404: aot_gpr_5 = (0u | 0u); ctx.gpr[8] = (ctx.gpr[8] & 16383u); { const bool branch_taken = ctx.gpr[8] != ctx.gpr[30]; - ctx.gpr[7] = (0u | 0u); + aot_gpr_7 = (0u | 0u); if (branch_taken) { goto L_08B4B490; } @@ -7311,7 +7312,7 @@ L_08B4B470: } L_08B4B488: { const bool branch_taken = 0u == 0u; - ctx.gpr[7] = (0u | 1u); + aot_gpr_7 = (0u | 1u); if (branch_taken) { goto L_08B4B4D0; } @@ -7345,14 +7346,14 @@ L_08B4B4B4: goto L_08B4B4CC; } L_08B4B4CC: - ctx.gpr[7] = (0u | 1u); + aot_gpr_7 = (0u | 1u); goto L_08B4B4D0; L_08B4B4D0: - aot_gpr_4 = (aot_gpr_16 + static_cast(1)); - aot_gpr_16 = (aot_gpr_4 << 16u); - aot_gpr_16 = (static_cast(static_cast(aot_gpr_16) >> 16u)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(1)); + ctx.gpr[16] = (aot_gpr_4 << 16u); + ctx.gpr[16] = (static_cast(static_cast(ctx.gpr[16]) >> 16u)); { const bool branch_taken = 0u == 0u; - aot_gpr_4 = (static_cast(aot_gpr_16) < 15 ? 1u : 0u); + aot_gpr_4 = (static_cast(ctx.gpr[16]) < 15 ? 1u : 0u); if (branch_taken) { goto L_08B4B27C; } @@ -7367,12 +7368,12 @@ L_08B4B4E4: goto L_08B4B4EC; } L_08B4B4EC: - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); ctx.gpr[21] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(52))); goto L_08B4B4F4; L_08B4B4F4: - { const bool branch_taken = aot_gpr_16 == 0u; - aot_gpr_4 = (static_cast(aot_gpr_16) < 15 ? 1u : 0u); + { const bool branch_taken = ctx.gpr[16] == 0u; + aot_gpr_4 = (static_cast(ctx.gpr[16]) < 15 ? 1u : 0u); if (branch_taken) { goto L_08B4B5C0; } @@ -7388,7 +7389,7 @@ L_08B4B4FC: } L_08B4B504: aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(0)))))); - { const bool branch_taken = aot_gpr_22 == aot_gpr_6; + { const bool branch_taken = ctx.gpr[22] == aot_gpr_6; // nop if (branch_taken) { goto L_08B4B5C0; @@ -7397,12 +7398,12 @@ L_08B4B504: } L_08B4B510: aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16928))); - ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(0)))))); + aot_gpr_7 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(0)))))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); - ctx.gpr[8] = (ctx.gpr[7] << 3u); - ctx.gpr[8] = (ctx.gpr[7] + ctx.gpr[8]); - ctx.gpr[7] = (ctx.gpr[7] + ctx.gpr[8]); - aot_gpr_6 = (aot_gpr_6 + ctx.gpr[7]); + ctx.gpr[8] = (aot_gpr_7 << 3u); + ctx.gpr[8] = (aot_gpr_7 + ctx.gpr[8]); + aot_gpr_7 = (aot_gpr_7 + ctx.gpr[8]); + aot_gpr_6 = (aot_gpr_6 + aot_gpr_7); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(8)))))); aot_gpr_6 = (aot_gpr_6 & 32u); if (aot_gpr_6 == 0u) { @@ -7439,12 +7440,12 @@ L_08B4B55C: } L_08B4B570: aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16928))); - ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(0)))))); + aot_gpr_7 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(0)))))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); - ctx.gpr[8] = (ctx.gpr[7] << 3u); - ctx.gpr[8] = (ctx.gpr[7] + ctx.gpr[8]); - ctx.gpr[7] = (ctx.gpr[7] + ctx.gpr[8]); - aot_gpr_6 = (aot_gpr_6 + ctx.gpr[7]); + ctx.gpr[8] = (aot_gpr_7 << 3u); + ctx.gpr[8] = (aot_gpr_7 + ctx.gpr[8]); + aot_gpr_7 = (aot_gpr_7 + ctx.gpr[8]); + aot_gpr_6 = (aot_gpr_6 + aot_gpr_7); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(8)))))); aot_gpr_6 = (aot_gpr_6 & 64u); { const bool branch_taken = aot_gpr_6 == 0u; @@ -7476,9 +7477,9 @@ L_08B4B5B8: goto L_08B4B5C0; } L_08B4B5C0: - ctx.gpr[31] = (0x08B4B5C8u); + aot_gpr_31 = (0x08B4B5C8u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B4B5C8u) goto L_08B4B5C8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B4B5C8u) goto L_08B4B5C8; AOT_REGCACHE_SYNC_OUT(); return; L_08B4B5C8: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -7488,8 +7489,8 @@ L_08B4B5C8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(30040))); aot_gpr_5 = (aot_gpr_5 + ctx.gpr[20]); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(6)))))); - ctx.gpr[7] = (ctx.hi); - ctx.gpr[17] = (ctx.gpr[7] << 16u); + aot_gpr_7 = (ctx.hi); + ctx.gpr[17] = (aot_gpr_7 << 16u); ctx.gpr[17] = (static_cast(static_cast(ctx.gpr[17]) >> 16u)); aot_gpr_6 = (aot_gpr_6 + ctx.gpr[17]); aot_gpr_6 = (aot_gpr_6 + aot_gpr_6); @@ -7499,16 +7500,16 @@ L_08B4B5C8: aot_mem.aot_direct_store16(ctx.gpr[18] + static_cast(0), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16928))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); aot_gpr_6 = (aot_gpr_6 + ctx.gpr[20]); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(6)))))); aot_gpr_6 = (aot_gpr_6 + ctx.gpr[17]); aot_gpr_6 = (aot_gpr_6 + aot_gpr_6); - aot_gpr_6 = (ctx.gpr[7] + aot_gpr_6); + aot_gpr_6 = (aot_gpr_7 + aot_gpr_6); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(0)))))); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_4 = (aot_gpr_6 << 2u); - aot_gpr_6 = (ctx.gpr[7] + aot_gpr_4); + aot_gpr_6 = (aot_gpr_7 + aot_gpr_4); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(0)))))); aot_gpr_6 = (aot_gpr_6 & 16383u); { const bool branch_taken = aot_gpr_6 != ctx.gpr[30]; @@ -7556,10 +7557,10 @@ L_08B4B688: aot_gpr_5 = (0u | 1u); goto L_08B4B68C; L_08B4B68C: - aot_gpr_4 = (aot_gpr_16 + static_cast(1)); - aot_gpr_16 = (aot_gpr_4 << 16u); + aot_gpr_4 = (ctx.gpr[16] + static_cast(1)); + ctx.gpr[16] = (aot_gpr_4 << 16u); { const bool branch_taken = 0u == 0u; - aot_gpr_16 = (static_cast(static_cast(aot_gpr_16) >> 16u)); + ctx.gpr[16] = (static_cast(static_cast(ctx.gpr[16]) >> 16u)); if (branch_taken) { goto L_08B4B4F4; } @@ -7599,19 +7600,19 @@ L_08B4B6B8: aot_mem.aot_direct_store16(ctx.gpr[18] + static_cast(0), static_cast(aot_gpr_4)); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16928))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(8))); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(8))); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[20]); ctx.gpr[8] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(6)))))); ctx.gpr[8] = (ctx.gpr[8] + ctx.gpr[17]); ctx.gpr[8] = (ctx.gpr[8] + ctx.gpr[8]); - ctx.gpr[7] = (ctx.gpr[7] + ctx.gpr[8]); - ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[7] + static_cast(0)))))); + aot_gpr_7 = (aot_gpr_7 + ctx.gpr[8]); + aot_gpr_7 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_7 + static_cast(0)))))); ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); - aot_gpr_5 = (ctx.gpr[7] << 2u); - ctx.gpr[7] = (ctx.gpr[8] + aot_gpr_5); - ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[7] + static_cast(0)))))); - ctx.gpr[7] = (ctx.gpr[7] & 16383u); - { const bool branch_taken = ctx.gpr[7] != ctx.gpr[30]; + aot_gpr_5 = (aot_gpr_7 << 2u); + aot_gpr_7 = (ctx.gpr[8] + aot_gpr_5); + aot_gpr_7 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_7 + static_cast(0)))))); + aot_gpr_7 = (aot_gpr_7 & 16383u); + { const bool branch_taken = aot_gpr_7 != ctx.gpr[30]; aot_gpr_4 = (0u | 0u); if (branch_taken) { goto L_08B4B744; @@ -7619,9 +7620,9 @@ L_08B4B6B8: goto L_08B4B720; } L_08B4B720: - ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16928))); - ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(4))); - aot_gpr_5 = (ctx.gpr[7] + aot_gpr_5); + aot_gpr_7 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16928))); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_7 + static_cast(4))); + aot_gpr_5 = (aot_gpr_7 + aot_gpr_5); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(2)))))); aot_gpr_5 = (aot_gpr_5 & 56u); { const bool branch_taken = aot_gpr_5 != 0u; @@ -7640,9 +7641,9 @@ L_08B4B73C: goto L_08B4B744; } L_08B4B744: - ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16928))); - ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(4))); - aot_gpr_5 = (ctx.gpr[7] + aot_gpr_5); + aot_gpr_7 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16928))); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_7 + static_cast(4))); + aot_gpr_5 = (aot_gpr_7 + aot_gpr_5); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(2)))))); aot_gpr_5 = (aot_gpr_5 & 7u); { const bool branch_taken = aot_gpr_5 != 0u; @@ -7667,9 +7668,9 @@ L_08B4B76C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16928))); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(0)))))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - ctx.gpr[7] = (aot_gpr_5 << 3u); - ctx.gpr[7] = (aot_gpr_5 + ctx.gpr[7]); - aot_gpr_5 = (aot_gpr_5 + ctx.gpr[7]); + aot_gpr_7 = (aot_gpr_5 << 3u); + aot_gpr_7 = (aot_gpr_5 + aot_gpr_7); + aot_gpr_5 = (aot_gpr_5 + aot_gpr_7); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(8)))))); aot_gpr_4 = (aot_gpr_4 & 32u); @@ -7709,9 +7710,9 @@ L_08B4B7CC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16928))); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(0)))))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - ctx.gpr[7] = (aot_gpr_5 << 3u); - ctx.gpr[7] = (aot_gpr_5 + ctx.gpr[7]); - aot_gpr_5 = (aot_gpr_5 + ctx.gpr[7]); + aot_gpr_7 = (aot_gpr_5 << 3u); + aot_gpr_7 = (aot_gpr_5 + aot_gpr_7); + aot_gpr_5 = (aot_gpr_5 + aot_gpr_7); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(8)))))); aot_gpr_4 = (aot_gpr_4 & 64u); @@ -7763,11 +7764,11 @@ L_08B4B834: } L_08B4B83C: ctx.gpr[17] = (0u | 0u); - aot_mem.aot_direct_store16(ctx.gpr[18] + static_cast(0), static_cast(aot_gpr_22)); + aot_mem.aot_direct_store16(ctx.gpr[18] + static_cast(0), static_cast(ctx.gpr[22])); goto L_08B4B844; L_08B4B844: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(0)))))); - { const bool branch_taken = aot_gpr_22 != aot_gpr_4; + { const bool branch_taken = ctx.gpr[22] != aot_gpr_4; ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(60))); if (branch_taken) { goto L_08B4B86C; @@ -7780,7 +7781,7 @@ L_08B4B850: aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_4 = (aot_gpr_4 | 48u); aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast(72), aot_gpr_4); - ctx.gpr[31] = (0x08B4B86Cu); + aot_gpr_31 = (0x08B4B86Cu); aot_gpr_4 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0207_entry, 207u, 365u, 0x08B41608u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B4B86Cu) goto L_08B4B86C; AOT_REGCACHE_SYNC_OUT(); return; @@ -7815,9 +7816,9 @@ L_08B4B8A4: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(2)))))); aot_gpr_4 = (aot_gpr_4 & 56u); aot_gpr_4 = (aot_gpr_4 >> 3u); - aot_gpr_16 = (aot_gpr_4 << 16u); + ctx.gpr[16] = (aot_gpr_4 << 16u); { const bool branch_taken = 0u == 0u; - aot_gpr_16 = (static_cast(static_cast(aot_gpr_16) >> 16u)); + ctx.gpr[16] = (static_cast(static_cast(ctx.gpr[16]) >> 16u)); if (branch_taken) { goto L_08B4B8F8; } @@ -7830,11 +7831,11 @@ L_08B4B8D8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_5 = (aot_gpr_5 << 2u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); - aot_gpr_16 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(2)))))); - aot_gpr_16 = (aot_gpr_16 & 7u); + ctx.gpr[16] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(2)))))); + ctx.gpr[16] = (ctx.gpr[16] & 7u); goto L_08B4B8F8; L_08B4B8F8: - { const bool branch_taken = static_cast(aot_gpr_16) >= 0; + { const bool branch_taken = static_cast(ctx.gpr[16]) >= 0; // nop if (branch_taken) { goto L_08B4B90C; @@ -7851,9 +7852,9 @@ L_08B4B900: goto L_08B4B90C; } L_08B4B90C: - ctx.gpr[31] = (0x08B4B914u); + aot_gpr_31 = (0x08B4B914u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B4B914u) goto L_08B4B914; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B4B914u) goto L_08B4B914; AOT_REGCACHE_SYNC_OUT(); return; L_08B4B914: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -7931,17 +7932,17 @@ L_08B4B924: goto L_08B4BA10; } L_08B4BA10: - ctx.gpr[31] = (0x08B4BA18u); + aot_gpr_31 = (0x08B4BA18u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B4BA18u) goto L_08B4BA18; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B4BA18u) goto L_08B4BA18; AOT_REGCACHE_SYNC_OUT(); return; L_08B4BA18: - ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5516))); + aot_gpr_7 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5516))); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5512))); aot_gpr_4 = (ctx.gpr[2] | 0u); - ctx.gpr[31] = (0x08B4BA2Cu); + aot_gpr_31 = (0x08B4BA2Cu); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B4BA2Cu) goto L_08B4BA2C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B4BA2Cu) goto L_08B4BA2C; AOT_REGCACHE_SYNC_OUT(); return; L_08B4BA2C: ctx.gpr[1] = (ctx.gpr[3] << 1u); @@ -7989,26 +7990,26 @@ L_08B4BA68: goto L_08B4BA74; L_08B4BA74: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(5)))))); - aot_gpr_16 = (aot_gpr_16 + static_cast(-1)); - aot_gpr_4 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_16) ? 1u : 0u); + ctx.gpr[16] = (ctx.gpr[16] + static_cast(-1)); + aot_gpr_4 = (static_cast(aot_gpr_4) < static_cast(ctx.gpr[16]) ? 1u : 0u); if (aot_gpr_4 != 0u) { - aot_gpr_16 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(5)))))); + ctx.gpr[16] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(5)))))); goto L_08B4BA88; } goto L_08B4BA88; L_08B4BA88: - aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(5), static_cast(aot_gpr_16)); + aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(5), static_cast(ctx.gpr[16])); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(5)))))); aot_gpr_4 = (0u | 0u); - aot_gpr_16 = (0u | 0u); + ctx.gpr[16] = (0u | 0u); aot_gpr_4 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_5) ? 1u : 0u); if (aot_gpr_4 != 0u) { - aot_gpr_16 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(5)))))); + ctx.gpr[16] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(5)))))); goto L_08B4BAA4; } goto L_08B4BAA4; L_08B4BAA4: - aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(5), static_cast(aot_gpr_16)); + aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(5), static_cast(ctx.gpr[16])); goto L_08B4BAA8; L_08B4BAA8: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[21] + static_cast(538)))))); @@ -8028,18 +8029,18 @@ L_08B4BAC0: L_08B4BAC4: { std::uint32_t aot_run_words[10]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(64), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; ctx.gpr[21] = aot_run_words[5]; - aot_gpr_22 = aot_run_words[6]; + ctx.gpr[22] = aot_run_words[6]; ctx.gpr[23] = aot_run_words[7]; ctx.gpr[30] = aot_run_words[8]; - ctx.gpr[31] = aot_run_words[9]; + aot_gpr_31 = aot_run_words[9]; } - jump_target = ctx.gpr[31]; + jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(112)); local_pc = jump_target; if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; } @@ -8047,10 +8048,10 @@ L_08B4BAC4: AOT_REGCACHE_SYNC_OUT(); return; L_08B4BAF4: aot_gpr_29 = (aot_gpr_29 + static_cast(-272)); - ctx.gpr[7] = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(560))); + aot_gpr_7 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(560))); { const std::uint32_t aot_run_words[3]{std::bit_cast(ctx.fpr[20]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(212), aot_run_words); } - { const std::uint32_t aot_run_words[5]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20]}; + { const std::uint32_t aot_run_words[5]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(228), aot_run_words); } ctx.fpr[24] = std::bit_cast(0u); ctx.gpr[18] = (0u | 2u); @@ -8058,12 +8059,12 @@ L_08B4BAF4: ctx.gpr[19] = (0u + static_cast(-1)); ctx.fpr[22] = std::bit_cast(std::bit_cast(aot_fpr_13)); ctx.gpr[17] = (0u | 1u); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.gpr[20] = (aot_gpr_5 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(224), std::bit_cast(ctx.fpr[26])); - { const std::uint32_t aot_run_words[5]{ctx.gpr[21], aot_gpr_22, ctx.gpr[23], ctx.gpr[30], ctx.gpr[31]}; + { const std::uint32_t aot_run_words[5]{ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(248), aot_run_words); } - { const bool branch_taken = ctx.gpr[7] == 0u; + { const bool branch_taken = aot_gpr_7 == 0u; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(196), aot_gpr_6); if (branch_taken) { goto L_08B4BB70; @@ -8071,17 +8072,17 @@ L_08B4BAF4: goto L_08B4BB5C; } L_08B4BB5C: - ctx.gpr[31] = (0x08B4BB64u); - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(560))); + aot_gpr_31 = (0x08B4BB64u); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(560))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 107u, 0x08B2090Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B4BB64u) goto L_08B4BB64; AOT_REGCACHE_SYNC_OUT(); return; L_08B4BB64: - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(560))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(560))); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(560), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store16(ctx.gpr[16] + static_cast(560), static_cast(aot_gpr_4)); goto L_08B4BB70; L_08B4BB70: - ctx.gpr[21] = (aot_gpr_16 + static_cast(416)); + ctx.gpr[21] = (ctx.gpr[16] + static_cast(416)); aot_gpr_4 = (ctx.gpr[20] + ctx.gpr[20]); aot_gpr_4 = (ctx.gpr[20] + aot_gpr_4); aot_gpr_4 = (aot_gpr_4 + aot_gpr_4); @@ -8092,14 +8093,14 @@ L_08B4BB70: aot_gpr_5 = (aot_gpr_5 + aot_gpr_5); ctx.gpr[21] = (ctx.gpr[21] + aot_gpr_5); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); - aot_gpr_22 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[21] + static_cast(0)))))); + ctx.gpr[22] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[21] + static_cast(0)))))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(192), aot_gpr_4); ctx.gpr[23] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16928))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(204), aot_gpr_22); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(204), ctx.gpr[22]); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast(0))); - aot_gpr_5 = (aot_gpr_22 << 3u); - ctx.gpr[20] = (aot_gpr_22 + aot_gpr_5); - ctx.gpr[20] = (aot_gpr_22 + ctx.gpr[20]); + aot_gpr_5 = (ctx.gpr[22] << 3u); + ctx.gpr[20] = (ctx.gpr[22] + aot_gpr_5); + ctx.gpr[20] = (ctx.gpr[22] + ctx.gpr[20]); ctx.gpr[10] = (aot_gpr_4 + ctx.gpr[20]); ctx.gpr[8] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[10] + static_cast(0)))))); ctx.gpr[9] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[10] + static_cast(2)))))); @@ -8145,25 +8146,25 @@ L_08B4BB70: aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(32), aot_run_words); } aot_gpr_4 = (17096u << 16u); ctx.fpr[26] = std::bit_cast(aot_gpr_4); - ctx.gpr[31] = (0x08B4BC1Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_31 = (0x08B4BC1Cu); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0207_entry, 207u, 267u, 0x08B40DF8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B4BC1Cu) goto L_08B4BC1C; AOT_REGCACHE_SYNC_OUT(); return; L_08B4BC1C: aot_gpr_4 = (ctx.gpr[23] | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_6 = (ctx.gpr[30] | 0u); - ctx.gpr[7] = (aot_gpr_22 | 0u); + aot_gpr_7 = (ctx.gpr[22] | 0u); ctx.gpr[8] = (aot_gpr_29 + static_cast(32)); ctx.gpr[9] = (aot_gpr_29 + static_cast(52)); ctx.gpr[10] = (aot_gpr_29 + static_cast(60)); ctx.gpr[11] = (0u | 2u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); ctx.gpr[3] = (aot_gpr_29 + static_cast(64)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[3]); aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[26])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[19]); - ctx.gpr[31] = (0x08B4BC58u); + aot_gpr_31 = (0x08B4BC58u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[2]); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0092_entry, 92u, 607u, 0x08976C80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B4BC58u) goto L_08B4BC58; AOT_REGCACHE_SYNC_OUT(); return; @@ -8201,12 +8202,12 @@ L_08B4BC88: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16928))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(52))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - ctx.gpr[7] = (0u | 10u); + aot_gpr_7 = (0u | 10u); aot_gpr_5 = (aot_gpr_5 - aot_gpr_6); - { const std::int32_t dividend = static_cast(aot_gpr_5); const std::int32_t divisor = static_cast(ctx.gpr[7]); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } + { const std::int32_t dividend = static_cast(aot_gpr_5); const std::int32_t divisor = static_cast(aot_gpr_7); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(208), ctx.gpr[21]); aot_gpr_5 = (aot_gpr_6 + ctx.gpr[20]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(200), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(200), ctx.gpr[16]); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(6)))))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(30040))); aot_gpr_5 = (aot_gpr_5 + aot_gpr_5); @@ -8234,7 +8235,7 @@ L_08B4BCDC: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(6)))))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(208), ctx.gpr[21]); ctx.gpr[17] = (static_cast(static_cast(ctx.gpr[17]) >> 16u)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(200), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(200), ctx.gpr[16]); aot_gpr_5 = (aot_gpr_5 + ctx.gpr[17]); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(30040))); aot_gpr_5 = (aot_gpr_5 + aot_gpr_5); @@ -8281,12 +8282,12 @@ L_08B4BD50: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16928))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(56))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - ctx.gpr[7] = (0u | 10u); + aot_gpr_7 = (0u | 10u); aot_gpr_5 = (aot_gpr_5 - aot_gpr_6); - { const std::int32_t dividend = static_cast(aot_gpr_5); const std::int32_t divisor = static_cast(ctx.gpr[7]); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } + { const std::int32_t dividend = static_cast(aot_gpr_5); const std::int32_t divisor = static_cast(aot_gpr_7); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(208), ctx.gpr[21]); aot_gpr_5 = (aot_gpr_6 + ctx.gpr[20]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(200), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(200), ctx.gpr[16]); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(6)))))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(30040))); aot_gpr_5 = (aot_gpr_5 + aot_gpr_5); @@ -8314,7 +8315,7 @@ L_08B4BDA4: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(6)))))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(208), ctx.gpr[21]); ctx.gpr[17] = (static_cast(static_cast(ctx.gpr[17]) >> 16u)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(200), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(200), ctx.gpr[16]); aot_gpr_5 = (aot_gpr_5 + ctx.gpr[17]); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(30040))); aot_gpr_5 = (aot_gpr_5 + aot_gpr_5); @@ -8337,12 +8338,12 @@ L_08B4BDEC: goto L_08B4BDF4; } L_08B4BDF4: - aot_gpr_4 = (aot_gpr_16 + static_cast(48)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(48)); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(200), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(200), ctx.gpr[16]); aot_fpr_13 = ctx.fpr[20] - aot_fpr_13; aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - ctx.gpr[31] = (0x08B4BE10u); + aot_gpr_31 = (0x08B4BE10u); aot_fpr_12 = ctx.fpr[22] - aot_fpr_12; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 28u, 0x08964540u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B4BE10u) goto L_08B4BE10; AOT_REGCACHE_SYNC_OUT(); return; @@ -8386,7 +8387,7 @@ L_08B4BE64: aot_gpr_4 = (aot_gpr_4 | 4059u); ctx.gpr[30] = (static_cast(ctx.gpr[23]) < 2 ? 1u : 0u); ctx.fpr[22] = std::bit_cast(aot_gpr_4); - aot_gpr_22 = (aot_gpr_29 + static_cast(76)); + ctx.gpr[22] = (aot_gpr_29 + static_cast(76)); ctx.gpr[21] = (aot_gpr_29 + static_cast(68)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16928))); goto L_08B4BE80; @@ -8401,9 +8402,9 @@ L_08B4BE80: aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(192))); aot_gpr_4 = (aot_gpr_4 & 16383u); - aot_gpr_16 = (aot_gpr_4 << 16u); - aot_gpr_16 = (static_cast(static_cast(aot_gpr_16) >> 16u)); - { const bool branch_taken = aot_gpr_16 != aot_gpr_5; + ctx.gpr[16] = (aot_gpr_4 << 16u); + ctx.gpr[16] = (static_cast(static_cast(ctx.gpr[16]) >> 16u)); + { const bool branch_taken = ctx.gpr[16] != aot_gpr_5; // nop if (branch_taken) { goto L_08B4BEC0; @@ -8421,17 +8422,17 @@ L_08B4BEB8: L_08B4BEC0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16928))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - aot_gpr_5 = (aot_gpr_16 << 3u); - aot_gpr_5 = (aot_gpr_16 + aot_gpr_5); - aot_gpr_5 = (aot_gpr_16 + aot_gpr_5); + aot_gpr_5 = (ctx.gpr[16] << 3u); + aot_gpr_5 = (ctx.gpr[16] + aot_gpr_5); + aot_gpr_5 = (ctx.gpr[16] + aot_gpr_5); ctx.gpr[9] = (aot_gpr_4 + aot_gpr_5); ctx.gpr[8] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[9] + static_cast(0)))))); ctx.gpr[9] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[9] + static_cast(2)))))); ctx.set_vfpu_scalar_bits_ct<1u>(ctx.gpr[8]); ctx.set_vfpu_scalar_bits_ct<33u>(ctx.gpr[9]); ctx.execute_vfpu_vi2f_ct<2u, 1u, 2u, 3u>(); - aot_mem.aot_direct_store32(aot_gpr_22 + static_cast(0), ctx.vfpu_scalar_bits_ct<2u>()); - aot_mem.aot_direct_store32(aot_gpr_22 + static_cast(4), ctx.vfpu_scalar_bits_ct<34u>()); + aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(0), ctx.vfpu_scalar_bits_ct<2u>()); + aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast(4), ctx.vfpu_scalar_bits_ct<34u>()); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16928))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); ctx.gpr[9] = (aot_gpr_4 + ctx.gpr[20]); @@ -8447,7 +8448,7 @@ L_08B4BEC0: aot_fpr_13 = aot_fpr_13 - aot_fpr_12; aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(80))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(72))); - ctx.gpr[31] = (0x08B4BF38u); + aot_gpr_31 = (0x08B4BF38u); aot_fpr_12 = aot_fpr_12 - aot_fpr_14; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 28u, 0x08964540u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B4BF38u) goto L_08B4BF38; AOT_REGCACHE_SYNC_OUT(); return; @@ -8461,7 +8462,7 @@ L_08B4BF38: } goto L_08B4BF4C; L_08B4BF4C: - ctx.gpr[31] = (0x08B4BF54u); + aot_gpr_31 = (0x08B4BF54u); aot_fpr_12 = aot_fpr_12 - ctx.fpr[20]; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0162_entry, 162u, 580u, 0x08A8F0B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B4BF54u) goto L_08B4BF54; AOT_REGCACHE_SYNC_OUT(); return; @@ -8487,7 +8488,7 @@ L_08B4BF68: L_08B4BF78: ctx.gpr[17] = (ctx.gpr[18] | 0u); ctx.fpr[26] = std::bit_cast(std::bit_cast(aot_fpr_12)); - ctx.gpr[19] = (aot_gpr_16 | 0u); + ctx.gpr[19] = (ctx.gpr[16] | 0u); goto L_08B4BF84; L_08B4BF84: aot_gpr_4 = (ctx.gpr[18] + static_cast(1)); @@ -8509,14 +8510,14 @@ L_08B4BFA0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); aot_gpr_6 = (aot_gpr_6 + ctx.gpr[20]); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(6)))))); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(204))); + aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(204))); aot_gpr_6 = (aot_gpr_6 + ctx.gpr[17]); aot_gpr_6 = (aot_gpr_6 + aot_gpr_6); aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(0)))))); aot_mem.aot_direct_store16(aot_gpr_5 + static_cast(2), static_cast(aot_gpr_4)); - aot_gpr_4 = (static_cast(ctx.gpr[7]) < static_cast(aot_gpr_6) ? 1u : 0u); + aot_gpr_4 = (static_cast(aot_gpr_7) < static_cast(aot_gpr_6) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; ctx.gpr[21] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(208))); if (branch_taken) { @@ -8532,7 +8533,7 @@ L_08B4BFE0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_6 = (aot_gpr_6 << 2u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); - aot_gpr_16 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(2)))))); + ctx.gpr[16] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(2)))))); ctx.pc = 0x08B4C000u; AOT_REGCACHE_SYNC_OUT(); return; } diff --git a/profiles/vcs/generated/generated_unit_0210.cpp b/profiles/vcs/generated/generated_unit_0210.cpp index 6e1b886..614cb3d 100644 --- a/profiles/vcs/generated/generated_unit_0210.cpp +++ b/profiles/vcs/generated/generated_unit_0210.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0210[4069] = { }; void recomp_unit_0210_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,29,5,16,31,17 fprs=12,13,14,20 gpr_occ=2896 fpr_occ=1788 gpr_total=3940 fpr_total=2514 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,29,5,31,16,6 fprs=12,13,14,20 gpr_occ=2895 fpr_occ=1788 gpr_total=4000 fpr_total=2514 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; - std::uint32_t aot_gpr_16 = ctx.gpr[16]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; - std::uint32_t aot_gpr_17 = ctx.gpr[17]; + std::uint32_t aot_gpr_16 = ctx.gpr[16]; + std::uint32_t aot_gpr_6 = ctx.gpr[6]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_14 = ctx.fpr[14]; float aot_fpr_20 = ctx.fpr[20]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[29] = aot_gpr_29; ctx.gpr[5] = aot_gpr_5; ctx.gpr[16] = aot_gpr_16; ctx.gpr[31] = aot_gpr_31; ctx.gpr[17] = aot_gpr_17; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[20] = aot_fpr_20; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_17 = ctx.gpr[17]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_20 = ctx.fpr[20]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[29] = aot_gpr_29; ctx.gpr[5] = aot_gpr_5; ctx.gpr[31] = aot_gpr_31; ctx.gpr[16] = aot_gpr_16; ctx.gpr[6] = aot_gpr_6; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[20] = aot_fpr_20; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_6 = ctx.gpr[6]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_20 = ctx.fpr[20]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -752,7 +753,7 @@ LOCAL_DISPATCH: } } L_08B4C000: - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(200))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(200))); { const bool branch_taken = 0u == 0u; aot_gpr_16 = (aot_gpr_16 & 7u); if (branch_taken) { @@ -764,12 +765,12 @@ L_08B4C00C: aot_gpr_4 = (0u | 1u); aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16928))); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(2)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(2)))))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - ctx.gpr[6] = (ctx.gpr[6] << 2u); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_6 = (aot_gpr_6 << 2u); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(2)))))); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(200))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(200))); aot_gpr_4 = (aot_gpr_4 & 56u); aot_gpr_4 = (aot_gpr_4 >> 3u); aot_gpr_16 = (aot_gpr_4 << 16u); @@ -847,7 +848,7 @@ L_08B4C09C: goto L_08B4C0FC; } L_08B4C0FC: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(533)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(533)))))); aot_gpr_5 = (0u | 2u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -857,7 +858,7 @@ L_08B4C0FC: goto L_08B4C10C; } L_08B4C10C: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(533)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(533)))))); aot_gpr_5 = (0u | 4u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -867,7 +868,7 @@ L_08B4C10C: goto L_08B4C11C; } L_08B4C11C: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(533)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(533)))))); aot_gpr_5 = (0u | 15u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -877,7 +878,7 @@ L_08B4C11C: goto L_08B4C12C; } L_08B4C12C: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(533)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(533)))))); aot_gpr_5 = (0u | 17u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; // nop @@ -889,7 +890,7 @@ L_08B4C12C: L_08B4C13C: aot_gpr_31 = (0x08B4C144u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B4C144u) goto L_08B4C144; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B4C144u) goto L_08B4C144; AOT_REGCACHE_SYNC_OUT(); return; L_08B4C144: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -904,15 +905,15 @@ L_08B4C144: L_08B4C154: aot_gpr_31 = (0x08B4C15Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B4C15Cu) goto L_08B4C15C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B4C15Cu) goto L_08B4C15C; AOT_REGCACHE_SYNC_OUT(); return; L_08B4C15C: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5516))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5512))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5512))); aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08B4C170u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B4C170u) goto L_08B4C170; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B4C170u) goto L_08B4C170; AOT_REGCACHE_SYNC_OUT(); return; L_08B4C170: ctx.gpr[1] = (ctx.gpr[3] << 1u); @@ -974,10 +975,10 @@ L_08B4C1C0: goto L_08B4C1D8; L_08B4C1D8: aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(5), static_cast(aot_gpr_16)); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(5)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(5)))))); aot_gpr_4 = (0u | 0u); aot_gpr_16 = (0u | 0u); - aot_gpr_4 = (static_cast(aot_gpr_4) < static_cast(ctx.gpr[6]) ? 1u : 0u); + aot_gpr_4 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_6) ? 1u : 0u); if (aot_gpr_4 != 0u) { aot_gpr_16 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(5)))))); goto L_08B4C1F4; @@ -987,7 +988,7 @@ L_08B4C1F4: aot_mem.aot_direct_store8(aot_gpr_5 + static_cast(5), static_cast(aot_gpr_16)); goto L_08B4C1F8; L_08B4C1F8: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(538)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(538)))))); aot_gpr_4 = (aot_gpr_4 & 8u); aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); @@ -1009,7 +1010,7 @@ L_08B4C214: ctx.fpr[24] = std::bit_cast(aot_run_words[2]); ctx.fpr[26] = std::bit_cast(aot_run_words[3]); aot_gpr_16 = aot_run_words[4]; - aot_gpr_17 = aot_run_words[5]; + ctx.gpr[17] = aot_run_words[5]; ctx.gpr[18] = aot_run_words[6]; ctx.gpr[19] = aot_run_words[7]; ctx.gpr[20] = aot_run_words[8]; @@ -1029,18 +1030,18 @@ L_08B4C254: aot_gpr_29 = (aot_gpr_29 + static_cast(-272)); ctx.gpr[7] = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(560))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(228), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(232), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(232), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(248), ctx.gpr[21]); ctx.gpr[21] = (aot_gpr_4 + static_cast(384)); aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_17 = (aot_gpr_5 | 0u); + ctx.gpr[17] = (aot_gpr_5 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(224), std::bit_cast(aot_fpr_20)); { const std::uint32_t aot_run_words[3]{ctx.gpr[18], ctx.gpr[19], ctx.gpr[20]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(236), aot_run_words); } { const std::uint32_t aot_run_words[4]{ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(252), aot_run_words); } { const bool branch_taken = ctx.gpr[7] == 0u; - ctx.gpr[18] = (ctx.gpr[6] | 0u); + ctx.gpr[18] = (aot_gpr_6 | 0u); if (branch_taken) { goto L_08B4C2B0; } @@ -1057,15 +1058,15 @@ L_08B4C2A4: aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(560), static_cast(aot_gpr_4)); goto L_08B4C2B0; L_08B4C2B0: - aot_gpr_4 = (aot_gpr_17 + static_cast(1)); - aot_gpr_5 = (aot_gpr_17 + aot_gpr_17); - ctx.gpr[6] = (aot_gpr_4 + aot_gpr_4); - aot_gpr_5 = (aot_gpr_17 + aot_gpr_5); + aot_gpr_4 = (ctx.gpr[17] + static_cast(1)); + aot_gpr_5 = (ctx.gpr[17] + ctx.gpr[17]); + aot_gpr_6 = (aot_gpr_4 + aot_gpr_4); + aot_gpr_5 = (ctx.gpr[17] + aot_gpr_5); ctx.gpr[19] = (aot_gpr_16 + static_cast(416)); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); - aot_gpr_17 = (aot_gpr_5 + aot_gpr_5); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); + ctx.gpr[17] = (aot_gpr_5 + aot_gpr_5); aot_gpr_4 = (aot_gpr_4 + aot_gpr_4); - aot_gpr_17 = (ctx.gpr[19] + aot_gpr_17); + ctx.gpr[17] = (ctx.gpr[19] + ctx.gpr[17]); ctx.gpr[19] = (ctx.gpr[19] + aot_gpr_4); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(444)))))); { const bool branch_taken = aot_gpr_4 != 0u; @@ -1118,7 +1119,7 @@ L_08B4C2E4: L_08B4C320: aot_gpr_4 = (ctx.gpr[22] | 0u); aot_gpr_5 = (0u | 0u); - ctx.gpr[6] = (ctx.gpr[23] | 0u); + aot_gpr_6 = (ctx.gpr[23] | 0u); ctx.gpr[7] = (ctx.gpr[20] | 0u); ctx.gpr[8] = (ctx.gpr[30] | 0u); ctx.gpr[9] = (ctx.gpr[21] | 0u); @@ -1146,10 +1147,10 @@ L_08B4C368: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16928))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(384))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - ctx.gpr[6] = (0u | 10u); + aot_gpr_6 = (0u | 10u); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); - { const std::int32_t dividend = static_cast(aot_gpr_4); const std::int32_t divisor = static_cast(ctx.gpr[6]); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(0)))))); + { const std::int32_t dividend = static_cast(aot_gpr_4); const std::int32_t divisor = static_cast(aot_gpr_6); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(0)))))); aot_gpr_5 = (ctx.lo); { const bool branch_taken = aot_gpr_5 != aot_gpr_4; // nop @@ -1177,9 +1178,9 @@ L_08B4C3AC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16928))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(0)))))); - ctx.gpr[6] = (aot_gpr_5 << 3u); - ctx.gpr[6] = (aot_gpr_5 + ctx.gpr[6]); - aot_gpr_5 = (aot_gpr_5 + ctx.gpr[6]); + aot_gpr_6 = (aot_gpr_5 << 3u); + aot_gpr_6 = (aot_gpr_5 + aot_gpr_6); + aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); ctx.gpr[22] = (aot_gpr_29 + static_cast(64)); aot_gpr_31 = (0x08B4C3D4u); @@ -1189,10 +1190,10 @@ L_08B4C3AC: L_08B4C3D4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16928))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(0)))))); - ctx.gpr[6] = (aot_gpr_5 << 3u); - ctx.gpr[6] = (aot_gpr_5 + ctx.gpr[6]); - aot_gpr_5 = (aot_gpr_5 + ctx.gpr[6]); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(0)))))); + aot_gpr_6 = (aot_gpr_5 << 3u); + aot_gpr_6 = (aot_gpr_5 + aot_gpr_6); + aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); ctx.gpr[23] = (aot_gpr_29 + static_cast(80)); aot_gpr_31 = (0x08B4C3FCu); @@ -1226,11 +1227,11 @@ L_08B4C3FC: aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16928))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(0)))))); - ctx.gpr[7] = (ctx.gpr[6] << 3u); - ctx.gpr[7] = (ctx.gpr[6] + ctx.gpr[7]); - ctx.gpr[6] = (ctx.gpr[6] + ctx.gpr[7]); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(0)))))); + ctx.gpr[7] = (aot_gpr_6 << 3u); + ctx.gpr[7] = (aot_gpr_6 + ctx.gpr[7]); + aot_gpr_6 = (aot_gpr_6 + ctx.gpr[7]); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -1245,19 +1246,19 @@ L_08B4C3FC: const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16928))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(0))); - ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(0)))))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16928))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); + ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(0)))))); ctx.gpr[8] = (ctx.gpr[7] << 3u); ctx.gpr[8] = (ctx.gpr[7] + ctx.gpr[8]); ctx.gpr[7] = (ctx.gpr[7] + ctx.gpr[8]); aot_gpr_31 = (0x08B4C458u); - ctx.gpr[6] = (ctx.gpr[6] + ctx.gpr[7]); + aot_gpr_6 = (aot_gpr_6 + ctx.gpr[7]); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0207_entry, 207u, 275u, 0x08B40EACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B4C458u) goto L_08B4C458; AOT_REGCACHE_SYNC_OUT(); return; L_08B4C458: - aot_gpr_17 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (ctx.gpr[2] | 0u); + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_08B4C474; @@ -1265,7 +1266,7 @@ L_08B4C458: goto L_08B4C464; } L_08B4C464: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(384), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(384), ctx.gpr[17]); aot_gpr_4 = (0u | 1u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(444), static_cast(aot_gpr_4)); @@ -1277,10 +1278,10 @@ L_08B4C464: L_08B4C474: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(0)))))); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(2)))))); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(4)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(4)))))); aot_mem.aot_direct_store16(ctx.gpr[18] + static_cast(0), static_cast(aot_gpr_4)); aot_mem.aot_direct_store16(ctx.gpr[18] + static_cast(2), static_cast(aot_gpr_5)); - aot_mem.aot_direct_store16(ctx.gpr[18] + static_cast(4), static_cast(ctx.gpr[6])); + aot_mem.aot_direct_store16(ctx.gpr[18] + static_cast(4), static_cast(aot_gpr_6)); aot_gpr_4 = (0u | 0u); aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(444), static_cast(aot_gpr_4)); { const bool branch_taken = 0u == 0u; @@ -1294,9 +1295,9 @@ L_08B4C49C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16928))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(384))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - aot_gpr_17 = (0u | 10u); + ctx.gpr[17] = (0u | 10u); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); - { const std::int32_t dividend = static_cast(aot_gpr_4); const std::int32_t divisor = static_cast(aot_gpr_17); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } + { const std::int32_t dividend = static_cast(aot_gpr_4); const std::int32_t divisor = static_cast(ctx.gpr[17]); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } aot_gpr_4 = (ctx.lo); aot_mem.aot_direct_store16(ctx.gpr[18] + static_cast(0), static_cast(aot_gpr_4)); goto L_08B4C4BC; @@ -1329,7 +1330,7 @@ L_08B4C4E0: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(384))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); - { const std::int32_t dividend = static_cast(aot_gpr_4); const std::int32_t divisor = static_cast(aot_gpr_17); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } + { const std::int32_t dividend = static_cast(aot_gpr_4); const std::int32_t divisor = static_cast(ctx.gpr[17]); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } aot_gpr_4 = (ctx.lo); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store16(ctx.gpr[18] + static_cast(0), static_cast(aot_gpr_4)); @@ -1383,11 +1384,11 @@ L_08B4C52C: L_08B4C53C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16928))); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(0)))))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); ctx.gpr[7] = (aot_gpr_5 << 3u); ctx.gpr[7] = (aot_gpr_5 + ctx.gpr[7]); aot_gpr_5 = (aot_gpr_5 + ctx.gpr[7]); - aot_gpr_5 = (ctx.gpr[6] + aot_gpr_5); + aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(6)))))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(30040))); aot_gpr_5 = (aot_gpr_5 + ctx.gpr[21]); @@ -1435,12 +1436,12 @@ L_08B4C5A0: L_08B4C5AC: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16928))); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(0)))))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); ctx.gpr[7] = (aot_gpr_5 << 3u); ctx.gpr[7] = (aot_gpr_5 + ctx.gpr[7]); aot_gpr_5 = (aot_gpr_5 + ctx.gpr[7]); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); - aot_gpr_5 = (ctx.gpr[6] + aot_gpr_5); + aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(6)))))); aot_gpr_5 = (aot_gpr_5 + ctx.gpr[21]); aot_gpr_5 = (aot_gpr_5 + aot_gpr_5); @@ -1464,9 +1465,9 @@ L_08B4C5F4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_5 = (aot_gpr_5 << 2u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); - aot_gpr_17 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(2)))))); + ctx.gpr[17] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(2)))))); { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (aot_gpr_17 & 7u); + ctx.gpr[17] = (ctx.gpr[17] & 7u); if (branch_taken) { goto L_08B4C658; } @@ -1492,11 +1493,11 @@ L_08B4C62C: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(2)))))); aot_gpr_4 = (aot_gpr_4 & 56u); aot_gpr_4 = (aot_gpr_4 >> 3u); - aot_gpr_17 = (aot_gpr_4 << 16u); - aot_gpr_17 = (static_cast(static_cast(aot_gpr_17) >> 16u)); + ctx.gpr[17] = (aot_gpr_4 << 16u); + ctx.gpr[17] = (static_cast(static_cast(ctx.gpr[17]) >> 16u)); goto L_08B4C658; L_08B4C658: - { const bool branch_taken = static_cast(aot_gpr_17) >= 0; + { const bool branch_taken = static_cast(ctx.gpr[17]) >= 0; // nop if (branch_taken) { goto L_08B4C66C; @@ -1569,7 +1570,7 @@ L_08B4C6B4: L_08B4C714: aot_gpr_31 = (0x08B4C71Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B4C71Cu) goto L_08B4C71C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B4C71Cu) goto L_08B4C71C; AOT_REGCACHE_SYNC_OUT(); return; L_08B4C71C: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -1584,15 +1585,15 @@ L_08B4C71C: L_08B4C72C: aot_gpr_31 = (0x08B4C734u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B4C734u) goto L_08B4C734; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B4C734u) goto L_08B4C734; AOT_REGCACHE_SYNC_OUT(); return; L_08B4C734: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5516))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5512))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5512))); aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08B4C748u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B4C748u) goto L_08B4C748; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B4C748u) goto L_08B4C748; AOT_REGCACHE_SYNC_OUT(); return; L_08B4C748: ctx.gpr[1] = (ctx.gpr[3] << 1u); @@ -1640,26 +1641,26 @@ L_08B4C784: goto L_08B4C790; L_08B4C790: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(5)))))); - aot_gpr_17 = (aot_gpr_17 + static_cast(-1)); - aot_gpr_4 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_17) ? 1u : 0u); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(-1)); + aot_gpr_4 = (static_cast(aot_gpr_4) < static_cast(ctx.gpr[17]) ? 1u : 0u); if (aot_gpr_4 != 0u) { - aot_gpr_17 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(5)))))); + ctx.gpr[17] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(5)))))); goto L_08B4C7A4; } goto L_08B4C7A4; L_08B4C7A4: - aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(5), static_cast(aot_gpr_17)); + aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(5), static_cast(ctx.gpr[17])); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(5)))))); aot_gpr_4 = (0u | 0u); - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); aot_gpr_4 = (static_cast(aot_gpr_4) < static_cast(aot_gpr_5) ? 1u : 0u); if (aot_gpr_4 != 0u) { - aot_gpr_17 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(5)))))); + ctx.gpr[17] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(5)))))); goto L_08B4C7C0; } goto L_08B4C7C0; L_08B4C7C0: - aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(5), static_cast(aot_gpr_17)); + aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(5), static_cast(ctx.gpr[17])); goto L_08B4C7C4; L_08B4C7C4: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(538)))))); @@ -1684,7 +1685,7 @@ L_08B4C7E4: aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(224), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); aot_gpr_16 = aot_run_words[1]; - aot_gpr_17 = aot_run_words[2]; + ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; ctx.gpr[19] = aot_run_words[4]; ctx.gpr[20] = aot_run_words[5]; @@ -1702,7 +1703,7 @@ L_08B4C7E4: AOT_REGCACHE_SYNC_OUT(); return; L_08B4C818: aot_gpr_29 = (aot_gpr_29 + static_cast(-304)); - { const std::uint32_t aot_run_words[13]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; + { const std::uint32_t aot_run_words[13]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(244), aot_run_words); } ctx.gpr[18] = (aot_gpr_4 | 0u); aot_gpr_4 = (ctx.gpr[18] + static_cast(16)); @@ -1715,10 +1716,10 @@ L_08B4C818: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - ctx.gpr[6] = (aot_gpr_29 + static_cast(80)); + aot_gpr_6 = (aot_gpr_29 + static_cast(80)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(240), aot_gpr_4); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } ctx.gpr[19] = (ctx.gpr[18] + static_cast(48)); @@ -1780,11 +1781,11 @@ L_08B4C818: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(168), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(56))); ctx.gpr[21] = (aot_gpr_29 + static_cast(112)); - aot_gpr_17 = (ctx.gpr[18] + static_cast(720)); + ctx.gpr[17] = (ctx.gpr[18] + static_cast(720)); aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_5 = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x08B4C93Cu); - ctx.gpr[6] = (aot_gpr_17 | 0u); + aot_gpr_6 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0043_entry, 43u, 225u, 0x088B1AB4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B4C93Cu) goto L_08B4C93C; AOT_REGCACHE_SYNC_OUT(); return; L_08B4C93C: @@ -1810,12 +1811,12 @@ L_08B4C94C: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(8))); aot_fpr_12 = aot_fpr_12 - aot_fpr_14; aot_gpr_5 = (ctx.gpr[21] | 0u); - ctx.gpr[6] = (aot_gpr_16 | 0u); + aot_gpr_6 = (aot_gpr_16 | 0u); ctx.gpr[7] = (0u | 1u); ctx.gpr[8] = (0u | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); ctx.gpr[9] = (0u | 0u); ctx.gpr[10] = (0u | 0u); ctx.gpr[11] = (0u | 0u); @@ -1858,7 +1859,7 @@ L_08B4C9D8: aot_fpr_12 = aot_fpr_12 + aot_fpr_20; aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_5 = (ctx.gpr[21] | 0u); - ctx.gpr[6] = (aot_gpr_16 | 0u); + aot_gpr_6 = (aot_gpr_16 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(168), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(8))); aot_fpr_12 = aot_fpr_12 - aot_fpr_20; @@ -1868,7 +1869,7 @@ L_08B4C9D8: ctx.gpr[10] = (0u | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); ctx.gpr[11] = (0u | 0u); aot_gpr_31 = (0x08B4CA1Cu); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), 0u); @@ -1946,7 +1947,7 @@ L_08B4CA60: aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_5 = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x08B4CA9Cu); - ctx.gpr[6] = (ctx.gpr[22] | 0u); + aot_gpr_6 = (ctx.gpr[22] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0043_entry, 43u, 225u, 0x088B1AB4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B4CA9Cu) goto L_08B4CA9C; AOT_REGCACHE_SYNC_OUT(); return; L_08B4CA9C: @@ -1970,7 +1971,7 @@ L_08B4CAA4: ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(8))); aot_fpr_14 = ctx.fpr[15] + aot_fpr_14; aot_gpr_5 = (ctx.gpr[21] | 0u); - ctx.gpr[6] = (aot_gpr_16 | 0u); + aot_gpr_6 = (aot_gpr_16 | 0u); ctx.gpr[7] = (0u | 1u); ctx.gpr[8] = (0u | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(168), std::bit_cast(aot_fpr_14)); @@ -2016,7 +2017,7 @@ L_08B4CB30: aot_fpr_12 = aot_fpr_12 - aot_fpr_20; aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_5 = (ctx.gpr[21] | 0u); - ctx.gpr[6] = (aot_gpr_16 | 0u); + aot_gpr_6 = (aot_gpr_16 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(72), std::bit_cast(aot_fpr_12)); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(8))); aot_fpr_13 = aot_fpr_13 + aot_fpr_20; @@ -2231,8 +2232,8 @@ L_08B4CC18: const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - ctx.gpr[6] = (std::bit_cast(ctx.fpr[22])); - ctx.set_vfpu_scalar_bits_ct<28u>(ctx.gpr[6]); + aot_gpr_6 = (std::bit_cast(ctx.fpr[22])); + ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_6); { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -2285,7 +2286,7 @@ L_08B4CD1C: ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); aot_gpr_16 = aot_run_words[3]; - aot_gpr_17 = aot_run_words[4]; + ctx.gpr[17] = aot_run_words[4]; ctx.gpr[18] = aot_run_words[5]; ctx.gpr[19] = aot_run_words[6]; ctx.gpr[20] = aot_run_words[7]; @@ -2308,11 +2309,11 @@ L_08B4CD78: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[20] + static_cast(533)))))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(116), ctx.gpr[19]); ctx.gpr[19] = (aot_gpr_5 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(108), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(108), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(112), ctx.gpr[18]); aot_gpr_5 = (aot_gpr_4 < static_cast(36) ? 1u : 0u); - ctx.gpr[18] = (ctx.gpr[6] | 0u); - aot_gpr_17 = (ctx.gpr[7] | 0u); + ctx.gpr[18] = (aot_gpr_6 | 0u); + ctx.gpr[17] = (ctx.gpr[7] | 0u); { const std::uint32_t aot_run_words[5]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), aot_gpr_16}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(88), aot_run_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(124), aot_gpr_31); @@ -2416,10 +2417,10 @@ L_08B4CE54: aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[20] + static_cast(86)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[20] + static_cast(86)))))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(20))); - ctx.gpr[6] = (ctx.gpr[6] << 2u); - aot_gpr_5 = (aot_gpr_5 + ctx.gpr[6]); + aot_gpr_6 = (aot_gpr_6 << 2u); + aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); aot_gpr_4 = (aot_gpr_4 + static_cast(32)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); ctx.fpr[22] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); @@ -2690,9 +2691,9 @@ L_08B4D0CC: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(36))); aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_5 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (ctx.gpr[19] | 0u); + aot_gpr_6 = (ctx.gpr[19] | 0u); ctx.gpr[7] = (ctx.gpr[18] | 0u); - ctx.gpr[8] = (aot_gpr_17 | 0u); + ctx.gpr[8] = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B4D0F0u); ctx.gpr[9] = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0207_entry, 207u, 783u, 0x08B43C48u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B4D0F0u) goto L_08B4D0F0; @@ -2717,13 +2718,13 @@ L_08B4D0F8: L_08B4D104: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(440))); aot_gpr_4 = (ctx.gpr[20] | 0u); - ctx.gpr[6] = (aot_gpr_5 + static_cast(48)); + aot_gpr_6 = (aot_gpr_5 + static_cast(48)); ctx.gpr[7] = (aot_gpr_5 + static_cast(48)); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(0))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(4))); - ctx.gpr[6] = (ctx.gpr[19] | 0u); + aot_gpr_6 = (ctx.gpr[19] | 0u); ctx.gpr[7] = (ctx.gpr[18] | 0u); - ctx.gpr[8] = (aot_gpr_17 | 0u); + ctx.gpr[8] = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B4D130u); ctx.gpr[9] = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0207_entry, 207u, 783u, 0x08B43C48u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B4D130u) goto L_08B4D130; @@ -2764,8 +2765,8 @@ L_08B4D15C: aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[22])); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[24])); aot_gpr_5 = (ctx.gpr[19] | 0u); - ctx.gpr[6] = (ctx.gpr[18] | 0u); - ctx.gpr[7] = (aot_gpr_17 | 0u); + aot_gpr_6 = (ctx.gpr[18] | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B4D184u); ctx.gpr[8] = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0207_entry, 207u, 817u, 0x08B43F68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B4D184u) goto L_08B4D184; @@ -2789,18 +2790,18 @@ L_08B4D18C: } L_08B4D198: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(440))); - ctx.gpr[7] = (aot_gpr_17 | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); aot_gpr_5 = (aot_gpr_4 + static_cast(48)); - ctx.gpr[6] = (aot_gpr_4 + static_cast(48)); + aot_gpr_6 = (aot_gpr_4 + static_cast(48)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_gpr_5 = (aot_gpr_4 + static_cast(320)); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(4))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(4))); aot_gpr_4 = (aot_gpr_4 + static_cast(320)); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); - ctx.gpr[6] = (ctx.gpr[18] | 0u); + aot_gpr_6 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08B4D1D4u); ctx.gpr[8] = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0207_entry, 207u, 817u, 0x08B43F68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B4D1D4u) goto L_08B4D1D4; @@ -2841,8 +2842,8 @@ L_08B4D200: aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[22])); aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[24])); aot_gpr_5 = (ctx.gpr[19] | 0u); - ctx.gpr[6] = (ctx.gpr[18] | 0u); - ctx.gpr[7] = (aot_gpr_17 | 0u); + aot_gpr_6 = (ctx.gpr[18] | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B4D228u); ctx.gpr[8] = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0208_entry, 208u, 7u, 0x08B44098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B4D228u) goto L_08B4D228; @@ -2866,18 +2867,18 @@ L_08B4D230: } L_08B4D23C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(440))); - ctx.gpr[7] = (aot_gpr_17 | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); aot_gpr_5 = (aot_gpr_4 + static_cast(48)); - ctx.gpr[6] = (aot_gpr_4 + static_cast(48)); + aot_gpr_6 = (aot_gpr_4 + static_cast(48)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_gpr_5 = (aot_gpr_4 + static_cast(320)); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(4))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(4))); aot_gpr_4 = (aot_gpr_4 + static_cast(320)); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); - ctx.gpr[6] = (ctx.gpr[18] | 0u); + aot_gpr_6 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08B4D278u); ctx.gpr[8] = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0208_entry, 208u, 7u, 0x08B44098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B4D278u) goto L_08B4D278; @@ -2895,9 +2896,9 @@ L_08B4D280: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(452))); aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_5 = (0u | 0u); - ctx.gpr[6] = (ctx.gpr[19] | 0u); + aot_gpr_6 = (ctx.gpr[19] | 0u); ctx.gpr[7] = (ctx.gpr[18] | 0u); - ctx.gpr[8] = (aot_gpr_17 | 0u); + ctx.gpr[8] = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B4D2A4u); ctx.gpr[9] = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0207_entry, 207u, 783u, 0x08B43C48u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B4D2A4u) goto L_08B4D2A4; @@ -2918,7 +2919,7 @@ L_08B4D2AC: aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(0), static_cast(aot_gpr_4)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5348))); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_08B4D0F0; } @@ -2932,7 +2933,7 @@ L_08B4D2CC: aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(0), static_cast(aot_gpr_4)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5348))); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_08B4D0F0; } @@ -2959,7 +2960,7 @@ L_08B4D2FC: aot_gpr_4 = (16256u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_08B4D36C; } @@ -2985,7 +2986,7 @@ L_08B4D334: aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(0), std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(0), static_cast(0u)); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_08B4D36C; } @@ -2994,8 +2995,8 @@ L_08B4D334: L_08B4D354: aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); - ctx.gpr[6] = (ctx.gpr[18] | 0u); - ctx.gpr[7] = (aot_gpr_17 | 0u); + aot_gpr_6 = (ctx.gpr[18] | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B4D36Cu); ctx.gpr[8] = (aot_gpr_16 | 0u); goto L_08B4D51C; @@ -3027,7 +3028,7 @@ L_08B4D38C: aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(0), std::bit_cast(aot_fpr_13)); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(0), static_cast(0u)); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_08B4D3C4; } @@ -3036,8 +3037,8 @@ L_08B4D38C: L_08B4D3AC: aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); - ctx.gpr[6] = (ctx.gpr[18] | 0u); - ctx.gpr[7] = (aot_gpr_17 | 0u); + aot_gpr_6 = (ctx.gpr[18] | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B4D3C4u); ctx.gpr[8] = (aot_gpr_16 | 0u); goto L_08B4D51C; @@ -3078,9 +3079,9 @@ L_08B4D3EC: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(452))); aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); - ctx.gpr[6] = (ctx.gpr[18] | 0u); + aot_gpr_6 = (ctx.gpr[18] | 0u); aot_gpr_31 = (0x08B4D408u); - ctx.gpr[7] = (aot_gpr_17 | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0208_entry, 208u, 57u, 0x08B445F8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B4D408u) goto L_08B4D408; AOT_REGCACHE_SYNC_OUT(); return; L_08B4D408: @@ -3094,8 +3095,8 @@ L_08B4D408: L_08B4D410: aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); - ctx.gpr[6] = (ctx.gpr[18] | 0u); - ctx.gpr[7] = (aot_gpr_17 | 0u); + aot_gpr_6 = (ctx.gpr[18] | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B4D428u); ctx.gpr[8] = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0208_entry, 208u, 79u, 0x08B44844u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B4D428u) goto L_08B4D428; @@ -3113,9 +3114,9 @@ L_08B4D430: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(452))); aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_5 = (0u | 0u); - ctx.gpr[6] = (ctx.gpr[19] | 0u); + aot_gpr_6 = (ctx.gpr[19] | 0u); ctx.gpr[7] = (ctx.gpr[18] | 0u); - ctx.gpr[8] = (aot_gpr_17 | 0u); + ctx.gpr[8] = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B4D454u); ctx.gpr[9] = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0207_entry, 207u, 783u, 0x08B43C48u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B4D454u) goto L_08B4D454; @@ -3144,9 +3145,9 @@ L_08B4D470: aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_5 = (0u | 0u); - ctx.gpr[6] = (ctx.gpr[19] | 0u); + aot_gpr_6 = (ctx.gpr[19] | 0u); ctx.gpr[7] = (ctx.gpr[18] | 0u); - ctx.gpr[8] = (aot_gpr_17 | 0u); + ctx.gpr[8] = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B4D494u); ctx.gpr[9] = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0207_entry, 207u, 783u, 0x08B43C48u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B4D494u) goto L_08B4D494; @@ -3162,8 +3163,8 @@ L_08B4D494: L_08B4D49C: aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); - ctx.gpr[6] = (ctx.gpr[18] | 0u); - ctx.gpr[7] = (aot_gpr_17 | 0u); + aot_gpr_6 = (ctx.gpr[18] | 0u); + ctx.gpr[7] = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B4D4B4u); ctx.gpr[8] = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0208_entry, 208u, 37u, 0x08B44304u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B4D4B4u) goto L_08B4D4B4; @@ -3225,7 +3226,7 @@ L_08B4D4EC: ctx.fpr[24] = std::bit_cast(aot_run_words[2]); ctx.fpr[26] = std::bit_cast(aot_run_words[3]); aot_gpr_16 = aot_run_words[4]; - aot_gpr_17 = aot_run_words[5]; + ctx.gpr[17] = aot_run_words[5]; ctx.gpr[18] = aot_run_words[6]; ctx.gpr[19] = aot_run_words[7]; ctx.gpr[20] = aot_run_words[8]; @@ -3249,7 +3250,7 @@ L_08B4D51C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(164), ctx.gpr[9]); { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24])}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(224), aot_run_words); } - { const std::uint32_t aot_run_words[12]{std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; + { const std::uint32_t aot_run_words[12]{std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[30]), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(240), aot_run_words); } aot_fpr_13 = std::sqrt(aot_fpr_13); ctx.gpr[9] = (15395u << 16u); @@ -3260,7 +3261,7 @@ L_08B4D51C: ctx.gpr[19] = (aot_gpr_4 + static_cast(416)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(200), aot_gpr_5); ctx.fpr[28] = std::bit_cast(0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(188), ctx.gpr[6]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(188), aot_gpr_6); ctx.gpr[20] = (ctx.gpr[19] + static_cast(6)); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_13) || std::isnan(ctx.fpr[28])) && aot_fpr_13 == ctx.fpr[28])) ? 0x00800000u : 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(192), ctx.gpr[7]); @@ -3303,20 +3304,20 @@ L_08B4D5EC: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(0)))))); aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(24), static_cast(aot_gpr_4)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(2)))))); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(4)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(4)))))); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16928))); aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(26), static_cast(aot_gpr_5)); - aot_gpr_17 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(22)))))); + ctx.gpr[17] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(22)))))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(4))); aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(28), static_cast(aot_gpr_4)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(204), aot_gpr_17); - aot_gpr_17 = (aot_gpr_17 << 2u); - aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(30), static_cast(ctx.gpr[6])); - aot_gpr_4 = (aot_gpr_5 + aot_gpr_17); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(148), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(204), ctx.gpr[17]); + ctx.gpr[17] = (ctx.gpr[17] << 2u); + aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(30), static_cast(aot_gpr_6)); + aot_gpr_4 = (aot_gpr_5 + ctx.gpr[17]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(148), ctx.gpr[17]); aot_gpr_5 = (ctx.gpr[30] | 0u); aot_gpr_31 = (0x08B4D64Cu); - ctx.gpr[6] = (ctx.gpr[23] | 0u); + aot_gpr_6 = (ctx.gpr[23] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0092_entry, 92u, 588u, 0x08976A00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B4D64Cu) goto L_08B4D64C; AOT_REGCACHE_SYNC_OUT(); return; L_08B4D64C: @@ -3339,7 +3340,7 @@ L_08B4D64C: { const float fs = aot_fpr_14; const float ft = ctx.fpr[24]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } aot_gpr_16 = (aot_gpr_16 << 2u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_16); - ctx.gpr[6] = (ctx.gpr[21] | 0u); + aot_gpr_6 = (ctx.gpr[21] | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(172), std::bit_cast(ctx.fpr[22])); { const float fs = aot_fpr_14; const float ft = aot_fpr_20; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_20 = std::bit_cast(0x7FC00000u); else aot_fpr_20 = fs * ft; } aot_gpr_31 = (0x08B4D6ACu); @@ -3361,7 +3362,7 @@ L_08B4D6AC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(212), std::bit_cast(ctx.fpr[24])); { const float fs = aot_fpr_14; const float ft = ctx.fpr[24]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - aot_gpr_4 = (aot_gpr_4 + aot_gpr_17); + aot_gpr_4 = (aot_gpr_4 + ctx.gpr[17]); { const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[30] = std::bit_cast(0x7FC00000u); else ctx.fpr[30] = fs * ft; } { const float fs = aot_fpr_14; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[24] = std::bit_cast(0x7FC00000u); else ctx.fpr[24] = fs * ft; } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(180), std::bit_cast(ctx.fpr[30])); @@ -3391,7 +3392,7 @@ L_08B4D728: aot_gpr_5 = (aot_gpr_29 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); aot_fpr_12 = aot_fpr_13 + ctx.fpr[0]; - aot_gpr_4 = (aot_gpr_4 + aot_gpr_17); + aot_gpr_4 = (aot_gpr_4 + ctx.gpr[17]); aot_gpr_31 = (0x08B4D750u); { const float fs = aot_fpr_12; const float ft = ctx.fpr[28]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[28] = std::bit_cast(0x7FC00000u); else ctx.fpr[28] = fs * ft; } if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0092_entry, 92u, 603u, 0x08976BF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B4D750u) goto L_08B4D750; @@ -3455,7 +3456,7 @@ L_08B4D790: ctx.fpr[17] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5352))); { const float fs = ctx.fpr[15]; const float ft = ctx.fpr[18]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } { const float fs = ctx.fpr[0]; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(204))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(204))); aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(208))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[30] < ctx.fpr[17])) ? 0x00800000u : 0u); ctx.fpr[24] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(212))); @@ -3503,7 +3504,7 @@ L_08B4D874: goto L_08B4D88C; } L_08B4D88C: - if (aot_gpr_16 != aot_gpr_17) { + if (aot_gpr_16 != ctx.gpr[17]) { { const float fs = ctx.fpr[30]; const float ft = ctx.fpr[22]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } goto L_08B4DA68; } @@ -3511,7 +3512,7 @@ L_08B4D88C: L_08B4D894: aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (0u | 2u); - ctx.gpr[6] = (0u | 2u); + aot_gpr_6 = (0u | 2u); aot_gpr_31 = (0x08B4D8A8u); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0208_entry, 208u, 509u, 0x08B46834u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B4D8A8u) goto L_08B4D8A8; @@ -3550,12 +3551,12 @@ L_08B4D8CC: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[20] + static_cast(4)))))); aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(20), static_cast(aot_gpr_5)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(2)))))); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(0)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(0)))))); aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(24), static_cast(aot_gpr_4)); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast(4)))))); ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(22)))))); aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(28), static_cast(aot_gpr_5)); - aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(26), static_cast(ctx.gpr[6])); + aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(26), static_cast(aot_gpr_6)); aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(30), static_cast(aot_gpr_4)); aot_gpr_4 = (ctx.gpr[7] << 2u); aot_gpr_16 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(28)))))); @@ -3571,7 +3572,7 @@ L_08B4D910: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(448))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(452))); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(188))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(200))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(200))); ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(192))); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (0u | 0u); @@ -3600,7 +3601,7 @@ L_08B4D948: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(448))); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(452))); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(188))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(200))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(200))); ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(192))); aot_gpr_4 = (ctx.gpr[18] | 0u); aot_gpr_5 = (0u | 0u); @@ -3618,11 +3619,11 @@ L_08B4D970: } L_08B4D978: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16928))); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(148))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(148))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(152))); aot_gpr_31 = (0x08B4D990u); - aot_gpr_4 = (aot_gpr_4 + aot_gpr_17); + aot_gpr_4 = (aot_gpr_4 + ctx.gpr[17]); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0092_entry, 92u, 592u, 0x08976B48u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B4D990u) goto L_08B4D990; AOT_REGCACHE_SYNC_OUT(); return; L_08B4D990: @@ -3639,9 +3640,9 @@ L_08B4D990: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16928))); aot_gpr_5 = (ctx.gpr[30] | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - ctx.gpr[6] = (ctx.gpr[23] | 0u); + aot_gpr_6 = (ctx.gpr[23] | 0u); aot_gpr_31 = (0x08B4D9D0u); - aot_gpr_4 = (aot_gpr_4 + aot_gpr_17); + aot_gpr_4 = (aot_gpr_4 + ctx.gpr[17]); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0092_entry, 92u, 588u, 0x08976A00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B4D9D0u) goto L_08B4D9D0; AOT_REGCACHE_SYNC_OUT(); return; L_08B4D9D0: @@ -3657,7 +3658,7 @@ L_08B4D9D0: aot_gpr_5 = (aot_gpr_16 << 2u); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_14))); { const float fs = ctx.fpr[22]; const float ft = aot_fpr_20; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[22] = std::bit_cast(0x7FC00000u); else ctx.fpr[22] = fs * ft; } - ctx.gpr[6] = (ctx.gpr[21] | 0u); + aot_gpr_6 = (ctx.gpr[21] | 0u); { const float fs = aot_fpr_12; const float ft = ctx.fpr[24]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast(0x7FC00000u); else aot_fpr_12 = fs * ft; } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(172), std::bit_cast(ctx.fpr[22])); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16928))); @@ -3698,7 +3699,7 @@ L_08B4DA68: { const float fs = ctx.fpr[15]; const float ft = ctx.fpr[16]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[15] = std::bit_cast(0x7FC00000u); else ctx.fpr[15] = fs * ft; } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(72), std::bit_cast(ctx.fpr[28])); ctx.fpr[17] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5368))); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(152))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(152))); aot_fpr_12 = aot_fpr_13 - aot_fpr_12; aot_gpr_4 = (aot_gpr_29 + static_cast(64)); aot_fpr_14 = aot_fpr_14 - ctx.fpr[15]; @@ -3734,10 +3735,10 @@ L_08B4DAB4: goto L_08B4DAD4; L_08B4DAD4: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(68))); aot_fpr_13 = aot_fpr_13 - aot_fpr_12; - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); aot_gpr_31 = (0x08B4DAF0u); aot_fpr_12 = aot_fpr_14 - ctx.fpr[15]; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 28u, 0x08964540u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B4DAF0u) goto L_08B4DAF0; @@ -4078,10 +4079,10 @@ L_08B4DD00: AOT_REGCACHE_SYNC_OUT(); return; L_08B4DD14: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(36))); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(40))); aot_fpr_13 = aot_fpr_13 - aot_fpr_12; - ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + ctx.fpr[15] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); aot_gpr_31 = (0x08B4DD30u); aot_fpr_12 = aot_fpr_14 - ctx.fpr[15]; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 28u, 0x08964540u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B4DD30u) goto L_08B4DD30; @@ -4339,7 +4340,7 @@ L_08B4DF2C: ctx.fpr[28] = std::bit_cast(aot_run_words[4]); ctx.fpr[30] = std::bit_cast(aot_run_words[5]); aot_gpr_16 = aot_run_words[6]; - aot_gpr_17 = aot_run_words[7]; + ctx.gpr[17] = aot_run_words[7]; ctx.gpr[18] = aot_run_words[8]; ctx.gpr[19] = aot_run_words[9]; ctx.gpr[20] = aot_run_words[10]; @@ -4525,9 +4526,9 @@ L_08B4E0F4: aot_gpr_5 = (aot_gpr_5 | 15204u); ctx.fpr[15] = std::bit_cast(aot_gpr_5); aot_gpr_5 = (std::bit_cast(ctx.fpr[15])); - ctx.gpr[6] = (std::bit_cast(aot_fpr_14)); + aot_gpr_6 = (std::bit_cast(aot_fpr_14)); ctx.set_vfpu_scalar_bits_ct<0u>(aot_gpr_5); - ctx.set_vfpu_scalar_bits_ct<32u>(ctx.gpr[6]); + ctx.set_vfpu_scalar_bits_ct<32u>(aot_gpr_6); ctx.execute_vfpu_unary_ct<64u, 0u, 1u, 21u>(); ctx.execute_vfpu_vec3_ct<0u, 32u, 64u, 1u, 2u>(); ctx.execute_vfpu_unary_ct<32u, 0u, 1u, 20u>(); @@ -5067,9 +5068,9 @@ L_08B4E508: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - ctx.gpr[6] = (aot_gpr_29 + static_cast(64)); + aot_gpr_6 = (aot_gpr_29 + static_cast(64)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); @@ -5081,7 +5082,7 @@ L_08B4E508: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -5486,9 +5487,9 @@ L_08B4E84C: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - ctx.gpr[6] = (aot_gpr_29 + static_cast(64)); + aot_gpr_6 = (aot_gpr_29 + static_cast(64)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(72))); @@ -5496,7 +5497,7 @@ L_08B4E84C: { const float fs = aot_fpr_14; const float ft = ctx.fpr[26]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast(0x7FC00000u); else aot_fpr_14 = fs * ft; } aot_fpr_13 = aot_fpr_13 - aot_fpr_14; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(72), std::bit_cast(aot_fpr_13)); - { const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -5513,7 +5514,7 @@ L_08B4E84C: ctx.execute_vfpu_vscl_ct<1u, 1u, 28u, 3u>(); ctx.execute_vfpu_vcmov_ct<1u, 0u, 3u, 0u, false>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<1u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } { const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); @@ -5525,7 +5526,7 @@ L_08B4E84C: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + { const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -5605,7 +5606,7 @@ L_08B4E84C: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast(0); + const std::uint32_t vfpu_address = aot_gpr_6 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); @@ -5708,12 +5709,12 @@ L_08B4EADC: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_17); - aot_gpr_17 = (aot_gpr_16 | 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(440))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_16 | 0u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(440))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[18]); aot_gpr_5 = (aot_gpr_4 + static_cast(48)); - ctx.gpr[18] = (aot_gpr_17 + static_cast(48)); + ctx.gpr[18] = (ctx.gpr[17] + static_cast(48)); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); aot_fpr_13 = aot_fpr_13 - aot_fpr_12; @@ -5733,7 +5734,7 @@ L_08B4EB2C: ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_20 < aot_fpr_13)) ? 0x00800000u : 0u); // nop { const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(440))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(440))); if (branch_taken) { goto L_08B4EB54; } @@ -5788,20 +5789,20 @@ L_08B4EBC0: aot_gpr_5 = (0u | 0u); goto L_08B4EBC4; L_08B4EBC4: - ctx.gpr[6] = (16448u << 16u); + aot_gpr_6 = (16448u << 16u); { const bool branch_taken = aot_gpr_5 == 0u; - aot_fpr_12 = std::bit_cast(ctx.gpr[6]); + aot_fpr_12 = std::bit_cast(aot_gpr_6); if (branch_taken) { goto L_08B4EBF8; } goto L_08B4EBD0; } L_08B4EBD0: - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(236))); - ctx.gpr[6] = (ctx.gpr[6] & 256u); - ctx.gpr[6] = (0u < ctx.gpr[6] ? 1u : 0u); - ctx.gpr[6] = (ctx.gpr[6] & 255u); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(236))); + aot_gpr_6 = (aot_gpr_6 & 256u); + aot_gpr_6 = (0u < aot_gpr_6 ? 1u : 0u); + aot_gpr_6 = (aot_gpr_6 & 255u); + { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_5 = (aot_gpr_5 + static_cast(48)); if (branch_taken) { goto L_08B4EBF8; @@ -5812,7 +5813,7 @@ L_08B4EBE8: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(8))); aot_fpr_12 = aot_fpr_13 + aot_fpr_12; { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(1952), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(1952), std::bit_cast(aot_fpr_12)); if (branch_taken) { goto L_08B4EC24; } @@ -5822,9 +5823,9 @@ L_08B4EBF8: aot_gpr_5 = (16576u << 16u); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_12)); aot_fpr_14 = std::bit_cast(aot_gpr_5); - ctx.gpr[6] = (aot_gpr_4 + static_cast(48)); + aot_gpr_6 = (aot_gpr_4 + static_cast(48)); aot_fpr_13 = aot_fpr_13 + aot_fpr_14; - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(8))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(8))); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); // nop if (!((ctx.fcr31 & 0x00800000u) != 0u)) { @@ -5833,7 +5834,7 @@ L_08B4EBF8: } goto L_08B4EC20; L_08B4EC20: - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(1952), std::bit_cast(aot_fpr_13)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(1952), std::bit_cast(aot_fpr_13)); goto L_08B4EC24; L_08B4EC24: aot_gpr_5 = (16968u << 16u); @@ -5848,7 +5849,7 @@ L_08B4EC24: goto L_08B4EC3C; } L_08B4EC3C: - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(1952))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(1952))); aot_gpr_5 = (16840u << 16u); aot_fpr_13 = std::bit_cast(aot_gpr_5); ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u); @@ -5859,17 +5860,17 @@ L_08B4EC3C: } goto L_08B4EC58; L_08B4EC58: - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(1952), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(1952), std::bit_cast(aot_fpr_12)); goto L_08B4EC5C; L_08B4EC5C: - ctx.gpr[6] = (aot_gpr_4 + static_cast(48)); - aot_gpr_4 = (aot_gpr_17 + static_cast(384)); + aot_gpr_6 = (aot_gpr_4 + static_cast(48)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(384)); aot_gpr_31 = (0x08B4EC6Cu); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0118_entry, 118u, 187u, 0x089DD29Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B4EC6Cu) goto L_08B4EC6C; AOT_REGCACHE_SYNC_OUT(); return; L_08B4EC6C: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); aot_fpr_13 = std::bit_cast(std::bit_cast(ctx.fpr[22])); aot_gpr_31 = (0x08B4EC80u); @@ -5898,7 +5899,7 @@ L_08B4ECA4: aot_fpr_20 = std::bit_cast(aot_run_words[0]); ctx.fpr[22] = std::bit_cast(aot_run_words[1]); aot_gpr_16 = aot_run_words[2]; - aot_gpr_17 = aot_run_words[3]; + ctx.gpr[17] = aot_run_words[3]; ctx.gpr[18] = aot_run_words[4]; aot_gpr_31 = aot_run_words[5]; } @@ -5913,10 +5914,10 @@ L_08B4ECC4: aot_gpr_5 = (aot_gpr_5 & 255u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(720), aot_gpr_5); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(533)))))); - ctx.gpr[6] = (aot_gpr_4 + static_cast(48)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(704), ctx.gpr[6]); + aot_gpr_6 = (aot_gpr_4 + static_cast(48)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(704), aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(768), ctx.gpr[20]); - ctx.gpr[6] = (aot_gpr_4 + static_cast(16)); + aot_gpr_6 = (aot_gpr_4 + static_cast(16)); ctx.gpr[20] = (aot_gpr_4 | 0u); aot_gpr_4 = (16457u << 16u); aot_gpr_4 = (aot_gpr_4 | 4059u); @@ -5933,12 +5934,12 @@ L_08B4ECC4: aot_gpr_4 = (16128u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(736), std::bit_cast(ctx.fpr[24])); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(740), std::bit_cast(ctx.fpr[26])); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(756), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(756), ctx.gpr[17]); aot_fpr_14 = std::bit_cast(std::bit_cast(aot_fpr_13)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(712), ctx.gpr[6]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(712), aot_gpr_6); ctx.fpr[22] = std::bit_cast(0u); ctx.fpr[24] = std::bit_cast(std::bit_cast(aot_fpr_12)); - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); ctx.gpr[7] = (0u | 31u); ctx.fpr[26] = std::bit_cast(aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(752), aot_gpr_16); @@ -5993,7 +5994,7 @@ L_08B4EDBC: aot_gpr_4 = (16329u << 16u); aot_gpr_4 = (aot_gpr_4 | 4059u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_gpr_17 = (0u | 1u); + ctx.gpr[17] = (0u | 1u); ctx.fpr[24] = ctx.fpr[24] + aot_fpr_12; goto L_08B4EDD0; L_08B4EDD0: @@ -6006,13 +6007,13 @@ L_08B4EDD4: aot_gpr_4 = (aot_gpr_4 >> 22u); ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7668))); aot_gpr_5 = (aot_gpr_5 + aot_gpr_4); - ctx.gpr[6] = (0u | 500u); + aot_gpr_6 = (0u | 500u); aot_gpr_4 = (ctx.gpr[7] + aot_gpr_4); - { const std::uint32_t dividend = aot_gpr_5; const std::uint32_t divisor = ctx.gpr[6]; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } + { const std::uint32_t dividend = aot_gpr_5; const std::uint32_t divisor = aot_gpr_6; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } aot_gpr_5 = (ctx.hi); // nop // nop - { const std::uint32_t dividend = aot_gpr_4; const std::uint32_t divisor = ctx.gpr[6]; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } + { const std::uint32_t dividend = aot_gpr_4; const std::uint32_t divisor = aot_gpr_6; if (divisor == 0u) { ctx.lo = 0xFFFFFFFFu; ctx.hi = dividend; } else { ctx.lo = dividend / divisor; ctx.hi = dividend % divisor; } } aot_gpr_4 = (ctx.hi); aot_gpr_4 = (aot_gpr_5 < aot_gpr_4 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; @@ -6147,7 +6148,7 @@ L_08B4EE74: const std::uint32_t vfpu_address = ctx.gpr[21] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - ctx.gpr[6] = (aot_gpr_29 + static_cast(80)); + aot_gpr_6 = (aot_gpr_29 + static_cast(80)); ctx.gpr[30] = (aot_gpr_29 + static_cast(112)); ctx.gpr[23] = (0u | 1u); aot_gpr_4 = (ctx.gpr[19] | 0u); @@ -6172,7 +6173,7 @@ L_08B4EF14: goto L_08B4EF1C; } L_08B4EF1C: - if (aot_gpr_17 == 0u) { + if (ctx.gpr[17] == 0u) { aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(88))); goto L_08B4EF50; } @@ -6349,7 +6350,7 @@ L_08B4EFF4: const std::uint32_t vfpu_address = ctx.gpr[21] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - ctx.gpr[6] = (aot_gpr_29 + static_cast(80)); + aot_gpr_6 = (aot_gpr_29 + static_cast(80)); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (ctx.gpr[21] | 0u); ctx.gpr[7] = (ctx.gpr[30] | 0u); @@ -6425,9 +6426,9 @@ L_08B4F068: std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>(); - aot_gpr_17 = (aot_gpr_29 + static_cast(208)); + ctx.gpr[17] = (aot_gpr_29 + static_cast(208)); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(704))); @@ -6440,7 +6441,7 @@ L_08B4F068: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -6504,10 +6505,10 @@ L_08B4F068: ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 0u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -6520,7 +6521,7 @@ L_08B4F068: const std::uint32_t vfpu_address = ctx.gpr[21] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - ctx.gpr[6] = (aot_gpr_29 + static_cast(80)); + aot_gpr_6 = (aot_gpr_29 + static_cast(80)); aot_gpr_5 = (ctx.gpr[19] | 0u); ctx.gpr[7] = (ctx.gpr[30] | 0u); ctx.gpr[8] = (0u | 1u); @@ -6552,7 +6553,7 @@ L_08B4F150: L_08B4F158: { const std::uint32_t aot_run_words[4]{0u, 0u, 0u, ctx.gpr[23]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - ctx.gpr[6] = (aot_gpr_29 + static_cast(80)); + aot_gpr_6 = (aot_gpr_29 + static_cast(80)); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (ctx.gpr[21] | 0u); ctx.gpr[7] = (ctx.gpr[30] | 0u); @@ -6656,10 +6657,10 @@ L_08B4F1DC: ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -6708,10 +6709,10 @@ L_08B4F1DC: ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); } ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 0u>(); { float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value); - const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -6724,7 +6725,7 @@ L_08B4F1DC: const std::uint32_t vfpu_address = ctx.gpr[21] + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - ctx.gpr[6] = (aot_gpr_29 + static_cast(80)); + aot_gpr_6 = (aot_gpr_29 + static_cast(80)); aot_gpr_5 = (ctx.gpr[19] | 0u); ctx.gpr[7] = (ctx.gpr[30] | 0u); ctx.gpr[8] = (0u | 1u); @@ -6757,7 +6758,7 @@ L_08B4F274: L_08B4F280: { const std::uint32_t aot_run_words[4]{0u, 0u, 0u, ctx.gpr[23]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } - ctx.gpr[6] = (aot_gpr_29 + static_cast(80)); + aot_gpr_6 = (aot_gpr_29 + static_cast(80)); aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (ctx.gpr[21] | 0u); ctx.gpr[7] = (ctx.gpr[30] | 0u); @@ -6877,10 +6878,10 @@ L_08B4F358: aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(1932), std::bit_cast(ctx.fpr[22])); goto L_08B4F360; L_08B4F360: - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(712))); - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(712))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); aot_gpr_31 = (0x08B4F370u); - aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 28u, 0x08964540u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B4F370u) goto L_08B4F370; AOT_REGCACHE_SYNC_OUT(); return; L_08B4F370: @@ -6940,7 +6941,7 @@ L_08B4F3E0: L_08B4F3F0: aot_gpr_31 = (0x08B4F3F8u); ctx.fpr[24] = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(1936))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B4F3F8u) goto L_08B4F3F8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B4F3F8u) goto L_08B4F3F8; AOT_REGCACHE_SYNC_OUT(); return; L_08B4F3F8: aot_gpr_4 = (ctx.gpr[2] & 65535u); @@ -7316,7 +7317,7 @@ L_08B4F6D0: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -7390,7 +7391,7 @@ L_08B4F750: std::bit_cast(vfpu_words[2]), std::bit_cast(vfpu_words[3])}; ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); } - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -7448,7 +7449,7 @@ L_08B4F7C4: goto L_08B4F7D0; } L_08B4F7D0: - { const std::uint32_t vfpu_address = aot_gpr_17 + static_cast(0); + { const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); float vfpu_value[4]{ @@ -7539,7 +7540,7 @@ L_08B4F850: ctx.fpr[28] = std::bit_cast(aot_run_words[4]); ctx.fpr[30] = std::bit_cast(aot_run_words[5]); aot_gpr_16 = aot_run_words[6]; - aot_gpr_17 = aot_run_words[7]; + ctx.gpr[17] = aot_run_words[7]; ctx.gpr[18] = aot_run_words[8]; ctx.gpr[19] = aot_run_words[9]; ctx.gpr[20] = aot_run_words[10]; @@ -7557,8 +7558,8 @@ L_08B4F850: AOT_REGCACHE_SYNC_OUT(); return; L_08B4F89C: aot_gpr_29 = (aot_gpr_29 + static_cast(-336)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(316), aot_gpr_17); - aot_gpr_17 = (aot_gpr_5 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(316), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_5 | 0u); aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7080))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(308), std::bit_cast(aot_fpr_20)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(312), aot_gpr_16); @@ -7639,7 +7640,7 @@ L_08B4F914: ctx.fpr[15] = std::bit_cast(std::bit_cast(aot_fpr_14)); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(164))); ctx.fpr[17] = std::bit_cast(ctx.gpr[2]); - ctx.gpr[6] = (aot_gpr_29 + static_cast(96)); + aot_gpr_6 = (aot_gpr_29 + static_cast(96)); ctx.gpr[7] = (aot_gpr_29 + static_cast(144)); ctx.gpr[8] = (aot_gpr_29 + static_cast(148)); ctx.gpr[9] = (aot_gpr_29 + static_cast(64)); @@ -7661,9 +7662,9 @@ L_08B4F968: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16928))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(144))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); - ctx.gpr[6] = (aot_gpr_5 << 3u); - ctx.gpr[6] = (aot_gpr_5 + ctx.gpr[6]); - aot_gpr_5 = (aot_gpr_5 + ctx.gpr[6]); + aot_gpr_6 = (aot_gpr_5 << 3u); + aot_gpr_6 = (aot_gpr_5 + aot_gpr_6); + aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(8)))))); aot_gpr_4 = (aot_gpr_4 & 256u); @@ -7679,7 +7680,7 @@ L_08B4F994: ctx.gpr[2] = (16672u << 16u); aot_gpr_4 = (aot_gpr_29 + static_cast(96)); aot_fpr_12 = std::bit_cast(ctx.gpr[2]); - ctx.gpr[6] = (aot_gpr_29 + static_cast(176)); + aot_gpr_6 = (aot_gpr_29 + static_cast(176)); aot_gpr_5 = (0u | 1u); ctx.gpr[7] = (0u | 2u); ctx.gpr[8] = (0u | 0u); @@ -7730,7 +7731,7 @@ L_08B4F9F4: L_08B4FA00: ctx.gpr[19] = (ctx.gpr[2] | 0u); { const bool branch_taken = ctx.gpr[19] == 0u; - ctx.gpr[6] = (aot_gpr_17 | 0u); + aot_gpr_6 = (ctx.gpr[17] | 0u); if (branch_taken) { goto L_08B4FA28; } @@ -7739,20 +7740,20 @@ L_08B4FA00: L_08B4FA0C: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (aot_gpr_16 | 0u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_gpr_31 = (0x08B4FA20u); ctx.gpr[7] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0012_entry, 12u, 92u, 0x08834A84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B4FA20u) goto L_08B4FA20; AOT_REGCACHE_SYNC_OUT(); return; L_08B4FA20: ctx.gpr[18] = (ctx.gpr[19] | 0u); - ctx.gpr[6] = (aot_gpr_17 | 0u); + aot_gpr_6 = (ctx.gpr[17] | 0u); goto L_08B4FA28; L_08B4FA28: - aot_gpr_17 = (ctx.gpr[18] | 0u); - aot_gpr_4 = (aot_gpr_17 + static_cast(384)); + ctx.gpr[17] = (ctx.gpr[18] | 0u); + aot_gpr_4 = (ctx.gpr[17] + static_cast(384)); aot_gpr_31 = (0x08B4FA38u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0118_entry, 118u, 187u, 0x089DD29Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B4FA38u) goto L_08B4FA38; AOT_REGCACHE_SYNC_OUT(); return; L_08B4FA38: @@ -7763,8 +7764,8 @@ L_08B4FA38: aot_fpr_14 = std::bit_cast(aot_run_words[2]); } { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_12), std::bit_cast(aot_fpr_13), std::bit_cast(aot_fpr_14)}; - aot_mem.aot_direct_store32_block(aot_gpr_17 + static_cast(48), aot_run_words); } - aot_gpr_4 = (aot_gpr_17 + static_cast(448)); + aot_mem.aot_direct_store32_block(ctx.gpr[17] + static_cast(48), aot_run_words); } + aot_gpr_4 = (ctx.gpr[17] + static_cast(448)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -7779,9 +7780,9 @@ L_08B4FA38: const std::uint32_t vfpu_address = aot_gpr_5 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B4FA6Cu); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0207_entry, 207u, 391u, 0x08B4196Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B4FA6Cu) goto L_08B4FA6C; AOT_REGCACHE_SYNC_OUT(); return; L_08B4FA6C: @@ -7795,7 +7796,7 @@ L_08B4FA6C: L_08B4FA74: aot_gpr_4 = (0u | 9u); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(533), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(533), static_cast(aot_gpr_4)); if (branch_taken) { goto L_08B4FA88; } @@ -7803,20 +7804,20 @@ L_08B4FA74: } L_08B4FA80: aot_gpr_4 = (0u | 8u); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(533), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(533), static_cast(aot_gpr_4)); goto L_08B4FA88; L_08B4FA88: aot_gpr_4 = (0u | 25u); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(535), static_cast(aot_gpr_4)); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(535)))))); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(535), static_cast(aot_gpr_4)); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(535)))))); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(520), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(520), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (0u | 0u); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(534), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(534), static_cast(aot_gpr_4)); aot_gpr_4 = (0u | 2u); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(532), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_gpr_17 + static_cast(448)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(532), static_cast(aot_gpr_4)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(448)); { const std::uint32_t vfpu_address = aot_gpr_4 + static_cast(0); std::uint32_t vfpu_words[4]{}; aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words); @@ -7889,28 +7890,28 @@ L_08B4FB14: goto L_08B4FB28; L_08B4FB28: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(80))); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(16), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(16), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(84))); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(20), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(20), std::bit_cast(aot_fpr_12)); aot_fpr_12 = std::bit_cast(0u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(24), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(24), std::bit_cast(aot_fpr_12)); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(84))); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), std::bit_cast(aot_fpr_13)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), std::bit_cast(aot_fpr_13)); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(80))); aot_fpr_13 = std::bit_cast(std::bit_cast(aot_fpr_13) ^ 0x80000000u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(4), std::bit_cast(aot_fpr_13)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(8), std::bit_cast(aot_fpr_12)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(32), std::bit_cast(aot_fpr_12)); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(36), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(4), std::bit_cast(aot_fpr_13)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(8), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(32), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(36), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (16256u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(40), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(40), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16928))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(144))); - ctx.gpr[6] = (aot_gpr_5 << 3u); - ctx.gpr[6] = (aot_gpr_5 + ctx.gpr[6]); - aot_gpr_5 = (aot_gpr_5 + ctx.gpr[6]); + aot_gpr_6 = (aot_gpr_5 << 3u); + aot_gpr_6 = (aot_gpr_5 + aot_gpr_6); + aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); ctx.gpr[10] = (aot_gpr_4 + aot_gpr_5); ctx.gpr[8] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[10] + static_cast(0)))))); ctx.gpr[9] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[10] + static_cast(2)))))); @@ -7959,9 +7960,9 @@ L_08B4FB28: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-16928))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(148))); - ctx.gpr[6] = (aot_gpr_5 << 3u); - ctx.gpr[6] = (aot_gpr_5 + ctx.gpr[6]); - aot_gpr_5 = (aot_gpr_5 + ctx.gpr[6]); + aot_gpr_6 = (aot_gpr_5 << 3u); + aot_gpr_6 = (aot_gpr_5 + aot_gpr_6); + aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); ctx.gpr[10] = (aot_gpr_4 + aot_gpr_5); ctx.gpr[8] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[10] + static_cast(0)))))); ctx.gpr[9] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[10] + static_cast(2)))))); @@ -8015,7 +8016,7 @@ L_08B4FB28: aot_gpr_5 = (17530u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_5); aot_gpr_5 = (aot_gpr_29 + static_cast(32)); - ctx.gpr[6] = (aot_gpr_29 + static_cast(20)); + aot_gpr_6 = (aot_gpr_29 + static_cast(20)); ctx.gpr[7] = (0u | 1u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); @@ -8045,7 +8046,7 @@ L_08B4FC98: aot_gpr_4 = (aot_gpr_29 + static_cast(96)); aot_fpr_12 = std::bit_cast(ctx.gpr[2]); aot_gpr_5 = (aot_gpr_29 + static_cast(32)); - ctx.gpr[6] = (aot_gpr_29 + static_cast(20)); + aot_gpr_6 = (aot_gpr_29 + static_cast(20)); ctx.gpr[7] = (0u | 1u); ctx.gpr[8] = (0u | 0u); ctx.gpr[9] = (0u | 0u); @@ -8113,7 +8114,7 @@ L_08B4FD28: goto L_08B4FD44; } L_08B4FD44: - { const bool branch_taken = aot_gpr_17 == 0u; + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_08B4FD68; @@ -8121,14 +8122,14 @@ L_08B4FD44: goto L_08B4FD4C; } L_08B4FD4C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(92))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(92))); aot_gpr_5 = (0u | 3u); aot_gpr_4 = (aot_gpr_4 + static_cast(24)); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x08B4FD68u); - aot_gpr_4 = (aot_gpr_17 + ctx.gpr[6]); + aot_gpr_4 = (ctx.gpr[17] + aot_gpr_6); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B4FD68u) goto L_08B4FD68; AOT_REGCACHE_SYNC_OUT(); return; @@ -8142,7 +8143,7 @@ L_08B4FD68: } L_08B4FD70: aot_gpr_31 = (0x08B4FD78u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 160u, 0x08AD0AE4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B4FD78u) goto L_08B4FD78; AOT_REGCACHE_SYNC_OUT(); return; L_08B4FD78: @@ -8151,7 +8152,7 @@ L_08B4FD78: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(96))); aot_fpr_14 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(100))); { const std::uint32_t aot_run_words[3]{std::bit_cast(aot_fpr_13), std::bit_cast(aot_fpr_14), std::bit_cast(aot_fpr_12)}; - aot_mem.aot_direct_store32_block(aot_gpr_17 + static_cast(48), aot_run_words); } + aot_mem.aot_direct_store32_block(ctx.gpr[17] + static_cast(48), aot_run_words); } aot_gpr_4 = (17008u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); @@ -8188,17 +8189,17 @@ L_08B4FD78: const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } aot_gpr_31 = (0x08B4FDD0u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 538u, 0x08A666C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B4FDD0u) goto L_08B4FDD0; AOT_REGCACHE_SYNC_OUT(); return; L_08B4FDD0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(72))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(72))); aot_gpr_5 = (0u + static_cast(-497)); aot_gpr_4 = (aot_gpr_4 & aot_gpr_5); aot_gpr_4 = (aot_gpr_4 | 48u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(72), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(72), aot_gpr_4); aot_gpr_31 = (0x08B4FDECu); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 224u, 0x08891A2Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B4FDECu) goto L_08B4FDEC; AOT_REGCACHE_SYNC_OUT(); return; L_08B4FDEC: @@ -8220,11 +8221,11 @@ L_08B4FDF8: goto L_08B4FE04; } L_08B4FE04: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(613)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(613)))))); aot_gpr_4 = (aot_gpr_4 | 4u); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(613), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(613), static_cast(aot_gpr_4)); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5456))); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (aot_gpr_5 + static_cast(1)); aot_gpr_31 = (0x08B4FE24u); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(5456), aot_gpr_5); @@ -8247,11 +8248,11 @@ L_08B4FE2C: goto L_08B4FE34; } L_08B4FE34: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(613)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(613)))))); aot_gpr_4 = (aot_gpr_4 | 2u); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(613), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(613), static_cast(aot_gpr_4)); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5452))); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (aot_gpr_5 + static_cast(1)); aot_gpr_31 = (0x08B4FE54u); aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(5452), aot_gpr_5); @@ -8266,9 +8267,9 @@ L_08B4FE54: goto L_08B4FE5C; } L_08B4FE5C: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(618)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(618)))))); aot_gpr_4 = (aot_gpr_4 | 32u); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(618), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(618), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(-7080))); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -8293,7 +8294,7 @@ L_08B4FE7C: } L_08B4FE88: aot_gpr_31 = (0x08B4FE90u); - aot_gpr_5 = (aot_gpr_17 | 0u); + aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 655u, 0x089F75BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B4FE90u) goto L_08B4FE90; AOT_REGCACHE_SYNC_OUT(); return; L_08B4FE90: @@ -8312,7 +8313,7 @@ L_08B4FE9C: aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(308), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); aot_gpr_16 = aot_run_words[1]; - aot_gpr_17 = aot_run_words[2]; + ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; ctx.gpr[19] = aot_run_words[4]; aot_gpr_31 = aot_run_words[5]; @@ -8363,7 +8364,7 @@ L_08B4FEF4: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_5 | 0u); - { const std::uint32_t aot_run_words[3]{aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(4), aot_run_words); } aot_gpr_31 = (0x08B4FF14u); ctx.gpr[18] = (0u | 0u); @@ -8376,12 +8377,12 @@ L_08B4FF14: goto L_08B4FF1C; L_08B4FF1C: aot_gpr_31 = (0x08B4FF24u); - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 463u, 0x08AC5950u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B4FF24u) goto L_08B4FF24; AOT_REGCACHE_SYNC_OUT(); return; L_08B4FF24: if (ctx.gpr[2] == aot_gpr_16) { - aot_gpr_17 = (0u | 1u); + ctx.gpr[17] = (0u | 1u); goto L_08B4FF4C; } goto L_08B4FF2C; @@ -8395,17 +8396,17 @@ L_08B4FF34: aot_gpr_4 = (aot_gpr_4 < static_cast(1) ? 1u : 0u); aot_gpr_4 = (aot_gpr_4 & 255u); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_4 = (aot_gpr_17 & 255u); + aot_gpr_4 = (ctx.gpr[17] & 255u); if (branch_taken) { goto L_08B4FF50; } goto L_08B4FF48; } L_08B4FF48: - aot_gpr_17 = (0u | 1u); + ctx.gpr[17] = (0u | 1u); goto L_08B4FF4C; L_08B4FF4C: - aot_gpr_4 = (aot_gpr_17 & 255u); + aot_gpr_4 = (ctx.gpr[17] & 255u); goto L_08B4FF50; L_08B4FF50: { const bool branch_taken = aot_gpr_4 == 0u; @@ -8423,7 +8424,7 @@ L_08B4FF5C: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -8435,7 +8436,7 @@ L_08B4FF5C: AOT_REGCACHE_SYNC_OUT(); return; L_08B4FF78: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(8), aot_run_words); } aot_gpr_31 = (0x08B4FF90u); aot_gpr_16 = (aot_gpr_4 | 0u); @@ -8460,15 +8461,15 @@ L_08B4FF90: aot_gpr_4 = (std::bit_cast(aot_fpr_12)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(200), aot_gpr_4); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5580))); - aot_gpr_17 = (aot_gpr_29 + static_cast(4)); + ctx.gpr[17] = (aot_gpr_29 + static_cast(4)); aot_gpr_5 = (0u | 255u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(220), std::bit_cast(aot_fpr_13)); - ctx.gpr[6] = (0u | 255u); + aot_gpr_6 = (0u | 255u); ctx.gpr[7] = (0u | 255u); aot_gpr_31 = (0x08B50000u); ctx.gpr[8] = (0u | 255u); - (void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); + (void)([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return; } diff --git a/profiles/vcs/generated/generated_unit_0211.cpp b/profiles/vcs/generated/generated_unit_0211.cpp index f5d7052..288bd0a 100644 --- a/profiles/vcs/generated/generated_unit_0211.cpp +++ b/profiles/vcs/generated/generated_unit_0211.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0211[4096] = { }; void recomp_unit_0211_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,31,16,6 fprs=12,13,20,14 gpr_occ=4652 fpr_occ=324 gpr_total=6208 fpr_total=359 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,31,29,6,2 fprs=12,13,14,20 gpr_occ=4693 fpr_occ=338 gpr_total=6653 fpr_total=375 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; - std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; - std::uint32_t aot_gpr_16 = ctx.gpr[16]; + std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_6 = ctx.gpr[6]; + std::uint32_t aot_gpr_2 = ctx.gpr[2]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; - float aot_fpr_20 = ctx.fpr[20]; float aot_fpr_14 = ctx.fpr[14]; + float aot_fpr_20 = ctx.fpr[20]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[31] = aot_gpr_31; ctx.gpr[16] = aot_gpr_16; ctx.gpr[6] = aot_gpr_6; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; ctx.fpr[14] = aot_fpr_14; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_6 = ctx.gpr[6]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_14 = ctx.fpr[14]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[31] = aot_gpr_31; ctx.gpr[29] = aot_gpr_29; ctx.gpr[6] = aot_gpr_6; ctx.gpr[2] = aot_gpr_2; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[20] = aot_fpr_20; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_2 = ctx.gpr[2]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_20 = ctx.fpr[20]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -1083,12 +1084,12 @@ LOCAL_DISPATCH: } } L_08B50000: - aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast(0))); - aot_gpr_5 = (aot_gpr_16 + static_cast(224)); + aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast(0))); + aot_gpr_5 = (ctx.gpr[16] + static_cast(224)); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_4); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5588))); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(244), static_cast(0u)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(240), std::bit_cast(aot_fpr_12)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(244), static_cast(0u)); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(240), std::bit_cast(aot_fpr_12)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -1108,87 +1109,87 @@ L_08B5002C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0112_entry, 112u, 712u, 0x089C70C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B50034u) goto L_08B50034; AOT_REGCACHE_SYNC_OUT(); return; L_08B50034: - aot_gpr_4 = (ctx.gpr[2] ^ 1u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(248), aot_gpr_4); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(252), static_cast(0u)); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(253), static_cast(0u)); + aot_gpr_4 = (aot_gpr_2 ^ 1u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(248), aot_gpr_4); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(252), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(253), static_cast(0u)); aot_gpr_31 = (0x08B5004Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_08B50800; L_08B5004C: - aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(5576), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast(5576), ctx.gpr[16]); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_5 = (0u | 255u); aot_gpr_6 = (0u | 255u); ctx.gpr[7] = (0u | 255u); aot_gpr_31 = (0x08B50068u); ctx.gpr[8] = (0u | 200u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B50068u) goto L_08B50068; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B50068u) goto L_08B50068; AOT_REGCACHE_SYNC_OUT(); return; L_08B50068: - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(0))); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(224), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(1))); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(225), static_cast(aot_gpr_4)); - aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(2))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(0))); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(224), static_cast(aot_gpr_4)); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(1))); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(225), static_cast(aot_gpr_4)); + aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(2))); aot_gpr_4 = (ctx.gpr[17] | 0u); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(226), static_cast(aot_gpr_5)); - aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(3))); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(226), static_cast(aot_gpr_5)); + aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(3))); aot_gpr_5 = (0u | 249u); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(227), static_cast(aot_gpr_6)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(227), static_cast(aot_gpr_6)); aot_gpr_6 = (0u | 232u); ctx.gpr[7] = (0u | 91u); aot_gpr_31 = (0x08B500A0u); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B500A0u) goto L_08B500A0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B500A0u) goto L_08B500A0; AOT_REGCACHE_SYNC_OUT(); return; L_08B500A0: - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(0))); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(228), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(1))); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(229), static_cast(aot_gpr_4)); - aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(2))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(0))); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(228), static_cast(aot_gpr_4)); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(1))); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(229), static_cast(aot_gpr_4)); + aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(2))); aot_gpr_4 = (ctx.gpr[17] | 0u); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(230), static_cast(aot_gpr_5)); - aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(3))); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(230), static_cast(aot_gpr_5)); + aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(3))); aot_gpr_5 = (0u | 32u); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(231), static_cast(aot_gpr_6)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(231), static_cast(aot_gpr_6)); aot_gpr_6 = (0u | 32u); ctx.gpr[7] = (0u | 32u); aot_gpr_31 = (0x08B500D8u); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B500D8u) goto L_08B500D8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B500D8u) goto L_08B500D8; AOT_REGCACHE_SYNC_OUT(); return; L_08B500D8: - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(0))); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(232), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(1))); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(233), static_cast(aot_gpr_4)); - aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(2))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(0))); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(232), static_cast(aot_gpr_4)); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(1))); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(233), static_cast(aot_gpr_4)); + aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(2))); aot_gpr_4 = (ctx.gpr[17] | 0u); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(234), static_cast(aot_gpr_5)); - aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(3))); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(234), static_cast(aot_gpr_5)); + aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(3))); aot_gpr_5 = (0u | 255u); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(235), static_cast(aot_gpr_6)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(235), static_cast(aot_gpr_6)); aot_gpr_6 = (0u | 0u); ctx.gpr[7] = (0u | 0u); aot_gpr_31 = (0x08B50110u); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B50110u) goto L_08B50110; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B50110u) goto L_08B50110; AOT_REGCACHE_SYNC_OUT(); return; L_08B50110: - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(0))); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(236), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(1))); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(237), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(2))); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(238), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(3))); - ctx.gpr[2] = (aot_gpr_16 | 0u); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(239), static_cast(aot_gpr_4)); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(0))); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(236), static_cast(aot_gpr_4)); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(1))); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(237), static_cast(aot_gpr_4)); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(2))); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(238), static_cast(aot_gpr_4)); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(3))); + aot_gpr_2 = (ctx.gpr[16] | 0u); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(239), static_cast(aot_gpr_4)); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(8), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -1202,10 +1203,10 @@ L_08B50148: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[17]); ctx.gpr[17] = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_16 = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); if (branch_taken) { goto L_08B501F4; } @@ -1275,7 +1276,7 @@ L_08B501C4: L_08B501CC: aot_gpr_31 = (0x08B501D4u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B501D4u) goto L_08B501D4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B501D4u) goto L_08B501D4; AOT_REGCACHE_SYNC_OUT(); return; L_08B501D4: aot_gpr_4 = (ctx.gpr[17] | 0u); @@ -1286,7 +1287,7 @@ L_08B501D8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 486u, 0x08AC5AE8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B501E0u) goto L_08B501E0; AOT_REGCACHE_SYNC_OUT(); return; L_08B501E0: - aot_gpr_4 = (aot_gpr_16 & 1u); + aot_gpr_4 = (ctx.gpr[16] & 1u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -1297,12 +1298,12 @@ L_08B501E0: L_08B501EC: aot_gpr_31 = (0x08B501F4u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B501F4u) goto L_08B501F4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B501F4u) goto L_08B501F4; AOT_REGCACHE_SYNC_OUT(); return; L_08B501F4: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(4), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -1319,11 +1320,11 @@ L_08B50208: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[19]); ctx.gpr[19] = (0u | 1u); ctx.gpr[17] = (aot_gpr_4 | 0u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); { const bool branch_taken = aot_gpr_6 != 0u; - aot_gpr_16 = (aot_gpr_5 | 0u); + ctx.gpr[16] = (aot_gpr_5 | 0u); if (branch_taken) { goto L_08B50240; } @@ -1332,7 +1333,7 @@ L_08B50208: L_08B50234: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B50240u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 516u, 0x08AC5D44u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B50240u) goto L_08B50240; AOT_REGCACHE_SYNC_OUT(); return; L_08B50240: @@ -1355,7 +1356,7 @@ L_08B50254: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0112_entry, 112u, 712u, 0x089C70C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5025Cu) goto L_08B5025C; AOT_REGCACHE_SYNC_OUT(); return; L_08B5025C: - { const bool branch_taken = ctx.gpr[2] == ctx.gpr[19]; + { const bool branch_taken = aot_gpr_2 == ctx.gpr[19]; // nop if (branch_taken) { goto L_08B502A8; @@ -1381,7 +1382,7 @@ L_08B50274: L_08B50280: aot_gpr_31 = (0x08B50288u); aot_gpr_4 = (ctx.gpr[28] + static_cast(5592)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B50288u) goto L_08B50288; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B50288u) goto L_08B50288; AOT_REGCACHE_SYNC_OUT(); return; L_08B50288: aot_gpr_31 = (0x08B50290u); @@ -1390,8 +1391,8 @@ L_08B50288: AOT_REGCACHE_SYNC_OUT(); return; L_08B50290: aot_gpr_4 = (0u | 6u); - { const bool branch_taken = aot_gpr_16 != aot_gpr_4; - ctx.gpr[18] = (ctx.gpr[2] | 0u); + { const bool branch_taken = ctx.gpr[16] != aot_gpr_4; + ctx.gpr[18] = (aot_gpr_2 | 0u); if (branch_taken) { goto L_08B502A8; } @@ -1406,7 +1407,7 @@ L_08B5029C: L_08B502A8: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -1421,10 +1422,10 @@ L_08B502A8: L_08B502C4: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); { const bool branch_taken = aot_gpr_5 != 0u; - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08B502E4; } @@ -1442,7 +1443,7 @@ L_08B502E4: AOT_REGCACHE_SYNC_OUT(); return; L_08B502EC: aot_gpr_4 = (0u | 1u); - { const bool branch_taken = ctx.gpr[2] != aot_gpr_4; + { const bool branch_taken = aot_gpr_2 != aot_gpr_4; // nop if (branch_taken) { goto L_08B50310; @@ -1451,19 +1452,19 @@ L_08B502EC: } L_08B502F8: aot_gpr_31 = (0x08B50300u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 585u, 0x08AC62A0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B50300u) goto L_08B50300; AOT_REGCACHE_SYNC_OUT(); return; L_08B50300: aot_gpr_31 = (0x08B50308u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_08B51514; L_08B50308: aot_gpr_31 = (0x08B50310u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_08B51B08; L_08B50310: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -1494,38 +1495,38 @@ L_08B50340: AOT_REGCACHE_SYNC_OUT(); return; L_08B5034C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x08B50360u); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 605u, 0x08AC646Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B50360u) goto L_08B50360; AOT_REGCACHE_SYNC_OUT(); return; L_08B50360: - if (ctx.gpr[2] != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); + if (aot_gpr_2 != 0u) { + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(16))); goto L_08B50370; } goto L_08B50368; L_08B50368: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08B50390; } goto L_08B50370; } L_08B50370: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(12))); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(184), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(188), aot_gpr_5); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(24))); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(192), aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(196), aot_gpr_5); - ctx.gpr[2] = (0u | 1u); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(12))); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(184), aot_gpr_4); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(20))); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(188), aot_gpr_5); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(24))); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(192), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(196), aot_gpr_5); + aot_gpr_2 = (0u | 1u); goto L_08B50390; L_08B50390: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -1556,10 +1557,10 @@ L_08B503B0: AOT_REGCACHE_SYNC_OUT(); return; L_08B503B8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_31 = (0x08B503D4u); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 585u, 0x08AC62A0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B503D4u) goto L_08B503D4; AOT_REGCACHE_SYNC_OUT(); return; L_08B503D4: @@ -1582,7 +1583,7 @@ L_08B503E8: L_08B503F4: aot_gpr_31 = (0x08B503FCu); aot_gpr_4 = (ctx.gpr[28] + static_cast(5592)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B503FCu) goto L_08B503FC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B503FCu) goto L_08B503FC; AOT_REGCACHE_SYNC_OUT(); return; L_08B503FC: aot_gpr_31 = (0x08B50404u); @@ -1590,7 +1591,7 @@ L_08B503FC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0010_entry, 10u, 613u, 0x0882E9C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B50404u) goto L_08B50404; AOT_REGCACHE_SYNC_OUT(); return; L_08B50404: - { const bool branch_taken = ctx.gpr[2] != ctx.gpr[18]; + { const bool branch_taken = aot_gpr_2 != ctx.gpr[18]; // nop if (branch_taken) { goto L_08B5042C; @@ -1599,11 +1600,11 @@ L_08B50404: } L_08B5040C: aot_gpr_31 = (0x08B50414u); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(253), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(253), static_cast(0u)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0169_entry, 169u, 412u, 0x08AABB88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B50414u) goto L_08B50414; AOT_REGCACHE_SYNC_OUT(); return; L_08B50414: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08B50424; @@ -1625,19 +1626,19 @@ L_08B50424: } L_08B5042C: aot_gpr_31 = (0x08B50434u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_08B51514; L_08B50434: aot_gpr_31 = (0x08B5043Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_08B517D4; L_08B5043C: aot_gpr_31 = (0x08B50444u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_08B51AA4; L_08B50444: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(208))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(208))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); aot_gpr_6 = (0u | 20u); aot_gpr_4 = (aot_gpr_4 - aot_gpr_5); { const std::int32_t dividend = static_cast(aot_gpr_4); const std::int32_t divisor = static_cast(aot_gpr_6); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } @@ -1651,11 +1652,11 @@ L_08B50444: } L_08B50464: aot_gpr_31 = (0x08B5046Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 563u, 0x08AC6170u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5046Cu) goto L_08B5046C; AOT_REGCACHE_SYNC_OUT(); return; L_08B5046C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08B504D4; @@ -1664,10 +1665,10 @@ L_08B5046C: } L_08B50474: aot_gpr_31 = (0x08B5047Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_08B519D0; L_08B5047C: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(252))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(252))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -1676,35 +1677,35 @@ L_08B5047C: goto L_08B50488; } L_08B50488: - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(244), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(244), static_cast(0u)); aot_gpr_31 = (0x08B50494u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_08B50E9C; L_08B50494: aot_gpr_31 = (0x08B5049Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_08B50D3C; L_08B5049C: aot_gpr_31 = (0x08B504A4u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_08B52060; L_08B504A4: aot_gpr_31 = (0x08B504ACu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_08B51538; L_08B504AC: aot_gpr_31 = (0x08B504B4u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_08B51548; L_08B504B4: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B504C0u); aot_gpr_5 = (0u | 0u); goto L_08B5164C; L_08B504C0: - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(244))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(244))); aot_gpr_31 = (0x08B504CCu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_08B50A0C; L_08B504CC: { const bool branch_taken = 0u == 0u; @@ -1715,7 +1716,7 @@ L_08B504CC: goto L_08B504D4; } L_08B504D4: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(253))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(253))); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -1753,7 +1754,7 @@ L_08B50500: L_08B50508: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B50514u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 627u, 0x08A06798u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B50514u) goto L_08B50514; AOT_REGCACHE_SYNC_OUT(); return; L_08B50514: @@ -1779,7 +1780,7 @@ L_08B5052C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0112_entry, 112u, 679u, 0x089C6F60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B50534u) goto L_08B50534; AOT_REGCACHE_SYNC_OUT(); return; L_08B50534: - aot_gpr_5 = (ctx.gpr[2] & 255u); + aot_gpr_5 = (aot_gpr_2 & 255u); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_6 = (0u | 1u); aot_gpr_31 = (0x08B50548u); @@ -1788,12 +1789,12 @@ L_08B50534: AOT_REGCACHE_SYNC_OUT(); return; L_08B50548: aot_gpr_4 = (0u | 1u); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(253), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(253), static_cast(aot_gpr_4)); goto L_08B50550; L_08B50550: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; @@ -1813,11 +1814,11 @@ L_08B50568: AOT_REGCACHE_SYNC_OUT(); return; L_08B50570: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[8]); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); ctx.gpr[10] = (0u | 20u); aot_gpr_4 = (aot_gpr_4 - ctx.gpr[7]); { const std::int32_t dividend = static_cast(aot_gpr_4); const std::int32_t divisor = static_cast(ctx.gpr[10]); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } @@ -1874,7 +1875,7 @@ L_08B505F8: aot_gpr_6 = aot_run_words[1]; ctx.gpr[7] = aot_run_words[2]; } - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[19] != 0u; aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); if (branch_taken) { @@ -1893,11 +1894,11 @@ L_08B50610: L_08B50624: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); - ctx.gpr[19] = (ctx.gpr[2] | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); goto L_08B50634; L_08B50634: - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); ctx.gpr[18] = (ctx.gpr[19] | 0u); { const bool branch_taken = ctx.gpr[7] == aot_gpr_5; aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(8), static_cast(0u)); @@ -1972,7 +1973,7 @@ L_08B506A4: L_08B506D8: ctx.gpr[19] = (ctx.gpr[19] + static_cast(20)); { const bool branch_taken = 0u == 0u; - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); if (branch_taken) { goto L_08B50738; } @@ -2017,7 +2018,7 @@ L_08B5072C: goto L_08B50734; } L_08B50734: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); goto L_08B50738; L_08B50738: { const bool branch_taken = aot_gpr_4 != 0u; @@ -2068,10 +2069,10 @@ L_08B50790: goto L_08B50798; } L_08B50798: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); goto L_08B5079C; L_08B5079C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); aot_gpr_5 = (aot_gpr_4 | 0u); { const bool branch_taken = aot_gpr_5 == aot_gpr_6; aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(11), static_cast(0u)); @@ -2102,19 +2103,19 @@ L_08B507B8: L_08B507C0: aot_gpr_31 = (0x08B507C8u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B507C8u) goto L_08B507C8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B507C8u) goto L_08B507C8; AOT_REGCACHE_SYNC_OUT(); return; L_08B507C8: aot_gpr_4 = (ctx.gpr[17] << 4u); aot_gpr_5 = (ctx.gpr[17] << 2u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), ctx.gpr[18]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(0), ctx.gpr[18]); aot_gpr_4 = (ctx.gpr[18] + aot_gpr_4); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), ctx.gpr[19]); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(8), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(4), ctx.gpr[19]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(8), aot_gpr_4); { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(28), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -2128,9 +2129,9 @@ L_08B507C8: AOT_REGCACHE_SYNC_OUT(); return; L_08B50800: aot_gpr_29 = (aot_gpr_29 + static_cast(-64)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(208))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(208))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), std::bit_cast(aot_fpr_20)); { const std::uint32_t aot_run_words[7]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(32), aot_run_words); } @@ -2138,7 +2139,7 @@ L_08B50800: aot_gpr_6 = (aot_gpr_5 - aot_gpr_5); ctx.gpr[7] = (0u | 20u); { const std::int32_t dividend = static_cast(aot_gpr_6); const std::int32_t divisor = static_cast(ctx.gpr[7]); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } - ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(20), static_cast(0u)); aot_gpr_6 = (ctx.lo); { const bool branch_taken = static_cast(aot_gpr_6) <= 0; @@ -2172,7 +2173,7 @@ L_08B50854: goto L_08B50898; } L_08B50898: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(208))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(208))); goto L_08B5089C; L_08B5089C: aot_gpr_5 = (ctx.gpr[17] | 0u); @@ -2195,12 +2196,12 @@ L_08B508AC: goto L_08B508B4; } L_08B508B4: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(208), ctx.gpr[17]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(208), ctx.gpr[17]); aot_fpr_20 = std::bit_cast(0u); ctx.gpr[17] = (0u | 0u); ctx.gpr[18] = (0u | 12u); ctx.gpr[20] = (0u | 1u); - ctx.gpr[21] = (aot_gpr_16 + static_cast(204)); + ctx.gpr[21] = (ctx.gpr[16] + static_cast(204)); ctx.gpr[22] = (aot_gpr_29 + static_cast(23)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5896))); ctx.gpr[19] = (0u | 0u); @@ -2235,7 +2236,7 @@ L_08B508F0: } L_08B5090C: if (aot_gpr_4 != 0u) { - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(200))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(200))); goto L_08B50924; } goto L_08B50914; @@ -2246,7 +2247,7 @@ L_08B50914: AOT_REGCACHE_SYNC_OUT(); return; L_08B5091C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5896))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(200))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(200))); goto L_08B50924; L_08B50924: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(36))); @@ -2260,8 +2261,8 @@ L_08B50924: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), std::bit_cast(aot_fpr_20)); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(16), static_cast(ctx.gpr[20])); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(208))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(212))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(208))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(212))); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), std::bit_cast(aot_fpr_12)); if (branch_taken) { @@ -2289,11 +2290,11 @@ L_08B50968: aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(12), aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(16), aot_gpr_6); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(208))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(208))); aot_gpr_4 = (aot_gpr_4 + static_cast(20)); goto L_08B509A4; L_08B509A4: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(208), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(208), aot_gpr_4); { const bool branch_taken = 0u == 0u; aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5896))); if (branch_taken) { @@ -2327,7 +2328,7 @@ L_08B509E0: { std::uint32_t aot_run_words[9]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(24), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); - aot_gpr_16 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[1]; ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; ctx.gpr[19] = aot_run_words[4]; @@ -2345,10 +2346,10 @@ L_08B509E0: L_08B50A0C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_5 = (aot_gpr_5 & 255u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); { const bool branch_taken = aot_gpr_5 == 0u; - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08B50A44; } @@ -2371,11 +2372,11 @@ L_08B50A38: goto L_08B50A3C; L_08B50A3C: aot_gpr_31 = (0x08B50A44u); - aot_gpr_5 = (aot_gpr_16 + static_cast(204)); + aot_gpr_5 = (ctx.gpr[16] + static_cast(204)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0044_entry, 44u, 512u, 0x088B6B44u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B50A44u) goto L_08B50A44; AOT_REGCACHE_SYNC_OUT(); return; L_08B50A44: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -2385,8 +2386,8 @@ L_08B50A44: AOT_REGCACHE_SYNC_OUT(); return; L_08B50A54: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); { const std::uint32_t aot_run_words[3]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(4), aot_run_words); } @@ -2415,7 +2416,7 @@ L_08B50A94: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0112_entry, 112u, 712u, 0x089C70C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B50A9Cu) goto L_08B50A9C; AOT_REGCACHE_SYNC_OUT(); return; L_08B50A9C: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(248), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(248), aot_gpr_2); { const bool branch_taken = ctx.gpr[19] != 0u; aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); if (branch_taken) { @@ -2446,7 +2447,7 @@ L_08B50ABC: AOT_REGCACHE_SYNC_OUT(); return; L_08B50AC4: { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(252), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(252), static_cast(0u)); if (branch_taken) { goto L_08B50B10; } @@ -2474,7 +2475,7 @@ L_08B50AE0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0112_entry, 112u, 712u, 0x089C70C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B50AE8u) goto L_08B50AE8; AOT_REGCACHE_SYNC_OUT(); return; L_08B50AE8: - { const bool branch_taken = ctx.gpr[2] != ctx.gpr[18]; + { const bool branch_taken = aot_gpr_2 != ctx.gpr[18]; // nop if (branch_taken) { goto L_08B50B10; @@ -2505,7 +2506,7 @@ L_08B50B08: AOT_REGCACHE_SYNC_OUT(); return; L_08B50B10: aot_gpr_31 = (0x08B50B18u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_08B50800; L_08B50B18: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7688))); @@ -2526,7 +2527,7 @@ L_08B50B24: L_08B50B34: aot_gpr_31 = (0x08B50B3Cu); aot_gpr_4 = (ctx.gpr[28] + static_cast(5592)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B50B3Cu) goto L_08B50B3C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B50B3Cu) goto L_08B50B3C; AOT_REGCACHE_SYNC_OUT(); return; L_08B50B3C: aot_gpr_5 = (ctx.gpr[28] + static_cast(5612)); @@ -2538,13 +2539,13 @@ L_08B50B40: AOT_REGCACHE_SYNC_OUT(); return; L_08B50B48: aot_gpr_31 = (0x08B50B50u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0183_entry, 183u, 623u, 0x08AE2438u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B50B50u) goto L_08B50B50; AOT_REGCACHE_SYNC_OUT(); return; L_08B50B50: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -2558,8 +2559,8 @@ L_08B50B50: AOT_REGCACHE_SYNC_OUT(); return; L_08B50B6C: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x08B50B84u); aot_gpr_4 = (ctx.gpr[28] + static_cast(7768)); @@ -2567,8 +2568,8 @@ L_08B50B6C: AOT_REGCACHE_SYNC_OUT(); return; L_08B50B84: aot_gpr_4 = (0u | 20u); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(256), aot_gpr_4); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(256), aot_gpr_4); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -2617,7 +2618,7 @@ L_08B50BE8: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08B50C04u); aot_gpr_4 = (ctx.gpr[10] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B50C04u) goto L_08B50C04; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0893685C, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B50C04u) goto L_08B50C04; AOT_REGCACHE_SYNC_OUT(); return; L_08B50C04: aot_gpr_31 = (0x08B50C0Cu); @@ -2702,7 +2703,7 @@ L_08B50CB8: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08B50CD4u); aot_gpr_4 = (ctx.gpr[10] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B50CD4u) goto L_08B50CD4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0893685C, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B50CD4u) goto L_08B50CD4; AOT_REGCACHE_SYNC_OUT(); return; L_08B50CD4: aot_gpr_31 = (0x08B50CDCu); @@ -2748,16 +2749,16 @@ L_08B50D30: AOT_REGCACHE_SYNC_OUT(); return; L_08B50D3C: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(208))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(208))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[18]); - ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[17]); ctx.gpr[17] = (0u | 20u); aot_gpr_4 = (aot_gpr_4 - ctx.gpr[18]); { const std::int32_t dividend = static_cast(aot_gpr_4); const std::int32_t divisor = static_cast(ctx.gpr[17]); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(216))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(216))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); aot_gpr_5 = (ctx.lo); aot_gpr_5 = (aot_gpr_4 < aot_gpr_5 ? 1u : 0u); @@ -2772,7 +2773,7 @@ L_08B50D7C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_4); aot_gpr_31 = (0x08B50D88u); aot_gpr_4 = (ctx.gpr[28] + static_cast(5624)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B50D88u) goto L_08B50D88; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0893685C, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B50D88u) goto L_08B50D88; AOT_REGCACHE_SYNC_OUT(); return; L_08B50D88: aot_gpr_31 = (0x08B50D90u); @@ -2780,7 +2781,7 @@ L_08B50D88: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0212_entry, 212u, 919u, 0x08B576C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B50D90u) goto L_08B50D90; AOT_REGCACHE_SYNC_OUT(); return; L_08B50D90: - ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_5 = (aot_gpr_4 << 4u); goto L_08B50D9C; @@ -2789,7 +2790,7 @@ L_08B50D9C: aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_gpr_4 = (ctx.gpr[18] + aot_gpr_4); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); aot_gpr_31 = (0x08B50DBCu); ctx.gpr[18] = (std::bit_cast(aot_fpr_12)); @@ -2808,7 +2809,7 @@ L_08B50DBC: L_08B50DD0: aot_gpr_5 = (ctx.gpr[18] - aot_gpr_4); aot_gpr_31 = (0x08B50DDCu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_08B50B9C; L_08B50DDC: { const bool branch_taken = 0u == 0u; @@ -2830,7 +2831,7 @@ L_08B50DE4: L_08B50DF0: aot_gpr_5 = (aot_gpr_4 - ctx.gpr[18]); aot_gpr_31 = (0x08B50DFCu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_08B50C6C; L_08B50DFC: aot_gpr_31 = (0x08B50E04u); @@ -2839,11 +2840,11 @@ L_08B50DFC: AOT_REGCACHE_SYNC_OUT(); return; L_08B50E04: aot_gpr_31 = (0x08B50E0Cu); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0097_entry, 97u, 998u, 0x0898BD24u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B50E0Cu) goto L_08B50E0C; AOT_REGCACHE_SYNC_OUT(); return; L_08B50E0C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08B50E58; @@ -2851,13 +2852,13 @@ L_08B50E0C: goto L_08B50E14; } L_08B50E14: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(208))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(208))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); aot_gpr_4 = (aot_gpr_4 - aot_gpr_5); { const std::int32_t dividend = static_cast(aot_gpr_4); const std::int32_t divisor = static_cast(ctx.gpr[17]); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(216))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(216))); aot_gpr_5 = (aot_gpr_5 + static_cast(1)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(216), aot_gpr_5); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(216), aot_gpr_5); aot_gpr_6 = (ctx.lo); aot_gpr_6 = (aot_gpr_6 + static_cast(-1)); aot_gpr_5 = (aot_gpr_6 < aot_gpr_5 ? 1u : 0u); @@ -2873,7 +2874,7 @@ L_08B50E44: aot_gpr_4 = (ctx.lo); aot_gpr_4 = (aot_gpr_4 + static_cast(-1)); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(216), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(216), aot_gpr_4); if (branch_taken) { goto L_08B50E84; } @@ -2886,11 +2887,11 @@ L_08B50E58: AOT_REGCACHE_SYNC_OUT(); return; L_08B50E60: aot_gpr_31 = (0x08B50E68u); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0097_entry, 97u, 988u, 0x0898BCCCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B50E68u) goto L_08B50E68; AOT_REGCACHE_SYNC_OUT(); return; L_08B50E68: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08B50E84; @@ -2898,22 +2899,22 @@ L_08B50E68: goto L_08B50E70; } L_08B50E70: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(216))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(216))); aot_gpr_4 = (aot_gpr_4 + static_cast(-1)); { const bool branch_taken = static_cast(aot_gpr_4) >= 0; - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(216), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(216), aot_gpr_4); if (branch_taken) { goto L_08B50E84; } goto L_08B50E80; } L_08B50E80: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(216), 0u); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(216), 0u); goto L_08B50E84; L_08B50E84: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(4), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; @@ -2936,7 +2937,7 @@ L_08B50E9C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(228), ctx.gpr[30]); ctx.gpr[30] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(216))); ctx.gpr[17] = (aot_gpr_4 | 0u); - { const std::uint32_t aot_run_words[5]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), aot_gpr_16}; + { const std::uint32_t aot_run_words[5]{std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[26]), ctx.gpr[16]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(180), aot_run_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(204), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(208), ctx.gpr[19]); @@ -2955,7 +2956,7 @@ L_08B50E9C: L_08B50F04: aot_gpr_31 = (0x08B50F0Cu); aot_gpr_4 = (ctx.gpr[28] + static_cast(5624)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B50F0Cu) goto L_08B50F0C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0893685C, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B50F0Cu) goto L_08B50F0C; AOT_REGCACHE_SYNC_OUT(); return; L_08B50F0C: aot_gpr_31 = (0x08B50F14u); @@ -2977,8 +2978,8 @@ L_08B50F14: goto L_08B514A8; L_08B50F40: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(208))); - aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(204))); - aot_gpr_5 = (aot_gpr_5 - aot_gpr_16); + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(204))); + aot_gpr_5 = (aot_gpr_5 - ctx.gpr[16]); { const std::int32_t dividend = static_cast(aot_gpr_5); const std::int32_t divisor = static_cast(ctx.gpr[20]); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } aot_fpr_13 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[0])); ctx.gpr[18] = (0u | 0u); @@ -3036,7 +3037,7 @@ L_08B50FAC: L_08B50FC0: aot_gpr_31 = (0x08B50FC8u); aot_gpr_4 = (ctx.gpr[21] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B50FC8u) goto L_08B50FC8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0893685C, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B50FC8u) goto L_08B50FC8; AOT_REGCACHE_SYNC_OUT(); return; L_08B50FC8: aot_gpr_31 = (0x08B50FD0u); @@ -3044,11 +3045,11 @@ L_08B50FC8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0212_entry, 212u, 919u, 0x08B576C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B50FD0u) goto L_08B50FD0; AOT_REGCACHE_SYNC_OUT(); return; L_08B50FD0: - aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(204))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(204))); goto L_08B50FD4; L_08B50FD4: - aot_gpr_4 = (aot_gpr_16 + ctx.gpr[19]); - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); + aot_gpr_4 = (ctx.gpr[16] + ctx.gpr[19]); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5896))); if (aot_gpr_4 != 0u) { aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(16))); @@ -3069,7 +3070,7 @@ L_08B50FF8: aot_gpr_5 = (aot_gpr_5 - aot_gpr_6); { const std::int32_t dividend = static_cast(aot_gpr_5); const std::int32_t divisor = static_cast(ctx.gpr[23]); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } aot_gpr_5 = (ctx.lo); - aot_gpr_5 = (aot_gpr_16 < aot_gpr_5 ? 1u : 0u); + aot_gpr_5 = (ctx.gpr[16] < aot_gpr_5 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 != 0u; // nop if (branch_taken) { @@ -3080,7 +3081,7 @@ L_08B50FF8: L_08B51014: aot_gpr_31 = (0x08B5101Cu); aot_gpr_4 = (ctx.gpr[21] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5101Cu) goto L_08B5101C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0893685C, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5101Cu) goto L_08B5101C; AOT_REGCACHE_SYNC_OUT(); return; L_08B5101C: aot_gpr_31 = (0x08B51024u); @@ -3091,13 +3092,13 @@ L_08B51024: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5896))); goto L_08B51028; L_08B51028: - aot_gpr_5 = (aot_gpr_16 + aot_gpr_16); + aot_gpr_5 = (ctx.gpr[16] + ctx.gpr[16]); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(12))); - aot_gpr_5 = (aot_gpr_16 + aot_gpr_5); + aot_gpr_5 = (ctx.gpr[16] + aot_gpr_5); aot_gpr_5 = (aot_gpr_5 << 2u); aot_gpr_5 = (aot_gpr_6 + aot_gpr_5); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); if (branch_taken) { goto L_08B51050; } @@ -3113,13 +3114,13 @@ L_08B5104C: goto L_08B51050; L_08B51050: aot_gpr_31 = (0x08B51058u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0044_entry, 44u, 440u, 0x088B6698u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B51058u) goto L_08B51058; AOT_REGCACHE_SYNC_OUT(); return; L_08B51058: aot_gpr_4 = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x08B51064u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0032_entry, 32u, 851u, 0x08887B80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B51064u) goto L_08B51064; AOT_REGCACHE_SYNC_OUT(); return; L_08B51064: @@ -3128,7 +3129,7 @@ L_08B51064: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 96u, 0x08B0C748u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5106Cu) goto L_08B5106C; AOT_REGCACHE_SYNC_OUT(); return; L_08B5106C: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08B51078u); aot_gpr_5 = (ctx.gpr[22] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 283u, 0x08AFD8D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B51078u) goto L_08B51078; @@ -3140,13 +3141,13 @@ L_08B51078: aot_fpr_14 = std::bit_cast(std::bit_cast(ctx.fpr[22])); aot_gpr_31 = (0x08B51090u); ctx.fpr[15] = std::bit_cast(std::bit_cast(ctx.fpr[22])); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B51090u) goto L_08B51090; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08873400, 27u, 732u, 0x08873400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, ctx.fpr[15]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B51090u) goto L_08B51090; AOT_REGCACHE_SYNC_OUT(); return; L_08B51090: aot_gpr_4 = (ctx.gpr[22] | 0u); aot_gpr_5 = (0u | 0u); aot_gpr_6 = (0u | 0u); - ctx.gpr[7] = (ctx.gpr[2] | 0u); + ctx.gpr[7] = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08B510A8u); ctx.gpr[8] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 90u, 0x08B0C660u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B510A8u) goto L_08B510A8; @@ -3154,7 +3155,7 @@ L_08B51090: L_08B510A8: ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(192))); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(208))); - aot_gpr_6 = (ctx.gpr[2] | 0u); + aot_gpr_6 = (aot_gpr_2 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(204))); ctx.gpr[8] = (aot_gpr_6 - ctx.gpr[7]); ctx.gpr[9] = (static_cast(ctx.gpr[8]) < 12 ? 1u : 0u); @@ -3217,7 +3218,7 @@ L_08B5110C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(172), ctx.gpr[8]); aot_gpr_31 = (0x08B5111Cu); aot_gpr_4 = (ctx.gpr[21] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5111Cu) goto L_08B5111C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0893685C, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5111Cu) goto L_08B5111C; AOT_REGCACHE_SYNC_OUT(); return; L_08B5111C: aot_gpr_31 = (0x08B51124u); @@ -3257,7 +3258,7 @@ L_08B51164: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(172), ctx.gpr[8]); aot_gpr_31 = (0x08B51174u); aot_gpr_4 = (ctx.gpr[21] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B51174u) goto L_08B51174; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0893685C, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B51174u) goto L_08B51174; AOT_REGCACHE_SYNC_OUT(); return; L_08B51174: aot_gpr_31 = (0x08B5117Cu); @@ -3298,7 +3299,7 @@ L_08B511C4: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(176), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08B511D0u); aot_gpr_4 = (ctx.gpr[21] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B511D0u) goto L_08B511D0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0893685C, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B511D0u) goto L_08B511D0; AOT_REGCACHE_SYNC_OUT(); return; L_08B511D0: aot_gpr_31 = (0x08B511D8u); @@ -3334,7 +3335,7 @@ L_08B5120C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(176), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08B51218u); aot_gpr_4 = (ctx.gpr[21] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B51218u) goto L_08B51218; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0893685C, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B51218u) goto L_08B51218; AOT_REGCACHE_SYNC_OUT(); return; L_08B51218: aot_gpr_31 = (0x08B51220u); @@ -3371,7 +3372,7 @@ L_08B51258: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(176), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08B51264u); aot_gpr_4 = (ctx.gpr[21] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B51264u) goto L_08B51264; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0893685C, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B51264u) goto L_08B51264; AOT_REGCACHE_SYNC_OUT(); return; L_08B51264: aot_gpr_31 = (0x08B5126Cu); @@ -3409,7 +3410,7 @@ L_08B512A8: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(176), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08B512B4u); aot_gpr_4 = (ctx.gpr[21] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B512B4u) goto L_08B512B4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0893685C, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B512B4u) goto L_08B512B4; AOT_REGCACHE_SYNC_OUT(); return; L_08B512B4: aot_gpr_31 = (0x08B512BCu); @@ -3446,7 +3447,7 @@ L_08B512F4: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(176), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08B51300u); aot_gpr_4 = (ctx.gpr[21] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B51300u) goto L_08B51300; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0893685C, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B51300u) goto L_08B51300; AOT_REGCACHE_SYNC_OUT(); return; L_08B51300: aot_gpr_31 = (0x08B51308u); @@ -3478,7 +3479,7 @@ L_08B51324: L_08B51338: aot_gpr_31 = (0x08B51340u); aot_gpr_4 = (ctx.gpr[21] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B51340u) goto L_08B51340; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0893685C, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B51340u) goto L_08B51340; AOT_REGCACHE_SYNC_OUT(); return; L_08B51340: aot_gpr_31 = (0x08B51348u); @@ -3508,7 +3509,7 @@ L_08B51370: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(164), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08B51380u); aot_gpr_4 = (ctx.gpr[21] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B51380u) goto L_08B51380; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0893685C, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B51380u) goto L_08B51380; AOT_REGCACHE_SYNC_OUT(); return; L_08B51380: aot_gpr_31 = (0x08B51388u); @@ -3526,8 +3527,8 @@ L_08B51398: aot_fpr_12 = aot_fpr_12 + aot_fpr_13; aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), std::bit_cast(aot_fpr_12)); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(208))); - aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(204))); - aot_gpr_5 = (aot_gpr_5 - aot_gpr_16); + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(204))); + aot_gpr_5 = (aot_gpr_5 - ctx.gpr[16]); { const std::int32_t dividend = static_cast(aot_gpr_5); const std::int32_t divisor = static_cast(ctx.gpr[20]); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } aot_gpr_4 = (ctx.lo); { const bool branch_taken = 0u == 0u; @@ -3551,7 +3552,7 @@ L_08B513C0: L_08B513D4: aot_gpr_31 = (0x08B513DCu); aot_gpr_4 = (ctx.gpr[21] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B513DCu) goto L_08B513DC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0893685C, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B513DCu) goto L_08B513DC; AOT_REGCACHE_SYNC_OUT(); return; L_08B513DC: aot_gpr_31 = (0x08B513E4u); @@ -3560,13 +3561,13 @@ L_08B513DC: AOT_REGCACHE_SYNC_OUT(); return; L_08B513E4: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(208))); - aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(204))); - aot_gpr_5 = (aot_gpr_5 - aot_gpr_16); + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(204))); + aot_gpr_5 = (aot_gpr_5 - ctx.gpr[16]); goto L_08B513F0; L_08B513F0: { const std::int32_t dividend = static_cast(aot_gpr_5); const std::int32_t divisor = static_cast(ctx.gpr[20]); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } - aot_gpr_16 = (aot_gpr_16 + ctx.gpr[19]); - aot_gpr_4 = (aot_gpr_16 + static_cast(8)); + ctx.gpr[16] = (ctx.gpr[16] + ctx.gpr[19]); + aot_gpr_4 = (ctx.gpr[16] + static_cast(8)); aot_gpr_5 = (ctx.lo); aot_gpr_5 = (ctx.gpr[18] < aot_gpr_5 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 != 0u; @@ -3581,7 +3582,7 @@ L_08B5140C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(156), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08B5141Cu); aot_gpr_4 = (ctx.gpr[21] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5141Cu) goto L_08B5141C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0893685C, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5141Cu) goto L_08B5141C; AOT_REGCACHE_SYNC_OUT(); return; L_08B5141C: aot_gpr_31 = (0x08B51424u); @@ -3589,19 +3590,19 @@ L_08B5141C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0212_entry, 212u, 919u, 0x08B576C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B51424u) goto L_08B51424; AOT_REGCACHE_SYNC_OUT(); return; L_08B51424: - aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(204))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(204))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(156))); - aot_gpr_16 = (aot_gpr_16 + ctx.gpr[19]); + ctx.gpr[16] = (ctx.gpr[16] + ctx.gpr[19]); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(160))); goto L_08B51434; L_08B51434: - aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); + aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(8))); { const float fs = aot_fpr_13; const float ft = ctx.fpr[26]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast(0x7FC00000u); else aot_fpr_13 = fs * ft; } aot_fpr_12 = aot_fpr_12 - aot_fpr_13; aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(0), std::bit_cast(aot_fpr_12)); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(208))); - aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(204))); - aot_gpr_5 = (aot_gpr_5 - aot_gpr_16); + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(204))); + aot_gpr_5 = (aot_gpr_5 - ctx.gpr[16]); { const std::int32_t dividend = static_cast(aot_gpr_5); const std::int32_t divisor = static_cast(ctx.gpr[20]); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } aot_gpr_4 = (ctx.lo); goto L_08B51458; @@ -3622,7 +3623,7 @@ L_08B51468: ctx.fpr[22] = std::bit_cast(aot_run_words[1]); ctx.fpr[24] = std::bit_cast(aot_run_words[2]); ctx.fpr[26] = std::bit_cast(aot_run_words[3]); - aot_gpr_16 = aot_run_words[4]; + ctx.gpr[16] = aot_run_words[4]; ctx.gpr[17] = aot_run_words[5]; ctx.gpr[18] = aot_run_words[6]; ctx.gpr[19] = aot_run_words[7]; @@ -3726,10 +3727,10 @@ L_08B51550: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5896))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[17]); ctx.gpr[17] = (0u | 20u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_31); { const bool branch_taken = aot_gpr_5 != 0u; - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08B51578; } @@ -3741,18 +3742,18 @@ L_08B51570: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0217_entry, 217u, 34u, 0x08B68290u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B51578u) goto L_08B51578; AOT_REGCACHE_SYNC_OUT(); return; L_08B51578: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(208))); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(208))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); aot_gpr_4 = (aot_gpr_4 - ctx.gpr[7]); { const std::int32_t dividend = static_cast(aot_gpr_4); const std::int32_t divisor = static_cast(ctx.gpr[17]); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5896))); - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(48))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(36))); aot_gpr_5 = (aot_gpr_5 << 2u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_6 = (ctx.lo); - aot_gpr_6 = (ctx.gpr[2] < aot_gpr_6 ? 1u : 0u); + aot_gpr_6 = (aot_gpr_2 < aot_gpr_6 ? 1u : 0u); { const bool branch_taken = aot_gpr_6 == 0u; ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); if (branch_taken) { @@ -3774,12 +3775,12 @@ L_08B515B8: } L_08B515C0: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[8]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_2); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_4); aot_gpr_31 = (0x08B515D8u); aot_gpr_4 = (aot_gpr_5 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B515D8u) goto L_08B515D8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0893685C, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B515D8u) goto L_08B515D8; AOT_REGCACHE_SYNC_OUT(); return; L_08B515D8: aot_gpr_31 = (0x08B515E0u); @@ -3787,12 +3788,12 @@ L_08B515D8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0212_entry, 212u, 919u, 0x08B576C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B515E0u) goto L_08B515E0; AOT_REGCACHE_SYNC_OUT(); return; L_08B515E0: - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_4 = aot_run_words[0]; aot_gpr_5 = aot_run_words[1]; - ctx.gpr[2] = aot_run_words[2]; + aot_gpr_2 = aot_run_words[2]; ctx.gpr[8] = aot_run_words[3]; } aot_gpr_6 = (ctx.gpr[7] + aot_gpr_4); @@ -3807,12 +3808,12 @@ L_08B515F8: goto L_08B51604; } L_08B51604: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(208))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(208))); aot_gpr_6 = (aot_gpr_6 - ctx.gpr[7]); { const std::int32_t dividend = static_cast(aot_gpr_6); const std::int32_t divisor = static_cast(ctx.gpr[17]); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } - ctx.gpr[2] = (ctx.gpr[2] + static_cast(1)); + aot_gpr_2 = (aot_gpr_2 + static_cast(1)); aot_gpr_6 = (ctx.lo); - aot_gpr_6 = (ctx.gpr[2] < aot_gpr_6 ? 1u : 0u); + aot_gpr_6 = (aot_gpr_2 < aot_gpr_6 ? 1u : 0u); { const bool branch_taken = aot_gpr_6 != 0u; aot_gpr_4 = (aot_gpr_4 + static_cast(20)); if (branch_taken) { @@ -3837,12 +3838,12 @@ L_08B5162C: goto L_08B51634; } L_08B51634: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_08B51638; L_08B51638: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -3854,9 +3855,9 @@ L_08B51638: AOT_REGCACHE_SYNC_OUT(); return; L_08B5164C: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), ctx.gpr[17]); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.gpr[17] = (aot_gpr_5 & 255u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); aot_gpr_31 = (0x08B5166Cu); @@ -3864,7 +3865,7 @@ L_08B5164C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5166Cu) goto L_08B5166C; AOT_REGCACHE_SYNC_OUT(); return; L_08B5166C: - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(42)))))); { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_4 = (0u | 0u); @@ -3918,7 +3919,7 @@ L_08B516B4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0044_entry, 44u, 472u, 0x088B6860u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B516BCu) goto L_08B516BC; AOT_REGCACHE_SYNC_OUT(); return; L_08B516BC: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08B517C0; @@ -3928,7 +3929,7 @@ L_08B516BC: L_08B516C4: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5896))); if (aot_gpr_5 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(208))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(208))); goto L_08B516E0; } goto L_08B516D0; @@ -3939,14 +3940,14 @@ L_08B516D0: AOT_REGCACHE_SYNC_OUT(); return; L_08B516D8: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5896))); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(208))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(208))); goto L_08B516E0; L_08B516E0: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); ctx.gpr[7] = (0u | 20u); aot_gpr_4 = (aot_gpr_4 - aot_gpr_6); { const std::int32_t dividend = static_cast(aot_gpr_4); const std::int32_t divisor = static_cast(ctx.gpr[7]); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(216))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(216))); aot_gpr_6 = (ctx.lo); aot_gpr_6 = (aot_gpr_4 < aot_gpr_6 ? 1u : 0u); { const bool branch_taken = aot_gpr_6 != 0u; @@ -3961,7 +3962,7 @@ L_08B51704: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_4); aot_gpr_31 = (0x08B51714u); aot_gpr_4 = (ctx.gpr[28] + static_cast(5624)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B51714u) goto L_08B51714; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0893685C, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B51714u) goto L_08B51714; AOT_REGCACHE_SYNC_OUT(); return; L_08B51714: aot_gpr_31 = (0x08B5171Cu); @@ -3974,7 +3975,7 @@ L_08B5171C: ctx.gpr[7] = (aot_gpr_4 << 4u); goto L_08B51728; L_08B51728: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (ctx.gpr[7] + aot_gpr_4); aot_gpr_4 = (aot_gpr_6 + aot_gpr_4); @@ -4005,7 +4006,7 @@ L_08B5175C: AOT_REGCACHE_SYNC_OUT(); return; L_08B51764: aot_gpr_4 = (0u | 1u); - { const bool branch_taken = ctx.gpr[2] != aot_gpr_4; + { const bool branch_taken = aot_gpr_2 != aot_gpr_4; // nop if (branch_taken) { goto L_08B517C0; @@ -4041,14 +4042,14 @@ L_08B51794: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0169_entry, 169u, 404u, 0x08AABAF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5179Cu) goto L_08B5179C; AOT_REGCACHE_SYNC_OUT(); return; L_08B5179C: - aot_gpr_16 = (ctx.gpr[28] + static_cast(7768)); - aot_gpr_4 = (aot_gpr_16 | 0u); + ctx.gpr[16] = (ctx.gpr[28] + static_cast(7768)); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B517ACu); aot_gpr_5 = (0u | 111u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 627u, 0x08A06798u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B517ACu) goto L_08B517AC; AOT_REGCACHE_SYNC_OUT(); return; L_08B517AC: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_5 = (0u | 111u); aot_gpr_6 = (0u | 1u); aot_gpr_31 = (0x08B517C0u); @@ -4058,7 +4059,7 @@ L_08B517AC: L_08B517C0: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(8), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -4070,8 +4071,8 @@ L_08B517C0: AOT_REGCACHE_SYNC_OUT(); return; L_08B517D4: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); @@ -4096,8 +4097,8 @@ L_08B51800: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0112_entry, 112u, 712u, 0x089C70C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B51808u) goto L_08B51808; AOT_REGCACHE_SYNC_OUT(); return; L_08B51808: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(248))); - { const bool branch_taken = ctx.gpr[2] == aot_gpr_4; + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(248))); + { const bool branch_taken = aot_gpr_2 == aot_gpr_4; // nop if (branch_taken) { goto L_08B519BC; @@ -4127,7 +4128,7 @@ L_08B5182C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0112_entry, 112u, 712u, 0x089C70C8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B51834u) goto L_08B51834; AOT_REGCACHE_SYNC_OUT(); return; L_08B51834: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(248), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(248), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -4151,7 +4152,7 @@ L_08B51850: AOT_REGCACHE_SYNC_OUT(); return; L_08B51858: aot_gpr_5 = (0u | 1u); - { const bool branch_taken = ctx.gpr[2] == aot_gpr_5; + { const bool branch_taken = aot_gpr_2 == aot_gpr_5; aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5896))); if (branch_taken) { goto L_08B518F0; @@ -4209,7 +4210,7 @@ L_08B518A0: L_08B518A8: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B518B4u); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 627u, 0x08A06798u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B518B4u) goto L_08B518B4; AOT_REGCACHE_SYNC_OUT(); return; L_08B518B4: @@ -4235,7 +4236,7 @@ L_08B518CC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0112_entry, 112u, 679u, 0x089C6F60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B518D4u) goto L_08B518D4; AOT_REGCACHE_SYNC_OUT(); return; L_08B518D4: - aot_gpr_5 = (ctx.gpr[2] & 255u); + aot_gpr_5 = (aot_gpr_2 & 255u); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_6 = (0u | 1u); aot_gpr_31 = (0x08B518E8u); @@ -4272,7 +4273,7 @@ L_08B51904: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0044_entry, 44u, 472u, 0x088B6860u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5190Cu) goto L_08B5190C; AOT_REGCACHE_SYNC_OUT(); return; L_08B5190C: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08B519BC; @@ -4302,12 +4303,12 @@ L_08B5192C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0044_entry, 44u, 277u, 0x088B5BCCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B51934u) goto L_08B51934; AOT_REGCACHE_SYNC_OUT(); return; L_08B51934: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(208))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(208))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); aot_gpr_6 = (0u | 20u); aot_gpr_4 = (aot_gpr_4 - aot_gpr_5); { const std::int32_t dividend = static_cast(aot_gpr_4); const std::int32_t divisor = static_cast(aot_gpr_6); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(216))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(216))); aot_gpr_5 = (ctx.lo); aot_gpr_4 = (aot_gpr_4 < aot_gpr_5 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; @@ -4320,7 +4321,7 @@ L_08B51934: L_08B5195C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5896))); if (aot_gpr_4 != 0u) { - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(216))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(216))); goto L_08B51978; } goto L_08B51968; @@ -4331,10 +4332,10 @@ L_08B51968: AOT_REGCACHE_SYNC_OUT(); return; L_08B51970: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5896))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(216))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(216))); goto L_08B51978; L_08B51978: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); ctx.gpr[7] = (aot_gpr_5 << 4u); aot_gpr_5 = (aot_gpr_5 << 2u); aot_gpr_5 = (ctx.gpr[7] + aot_gpr_5); @@ -4365,7 +4366,7 @@ L_08B519A8: L_08B519BC: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -4378,10 +4379,10 @@ L_08B519BC: L_08B519D0: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(252))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); { const bool branch_taken = aot_gpr_5 == 0u; - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08B51A58; } @@ -4393,7 +4394,7 @@ L_08B519E8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B519F0u) goto L_08B519F0; AOT_REGCACHE_SYNC_OUT(); return; L_08B519F0: - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(40)))))); { const bool branch_taken = aot_gpr_6 != 0u; aot_gpr_4 = (0u | 0u); @@ -4431,7 +4432,7 @@ L_08B51A1C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B51A24u) goto L_08B51A24; AOT_REGCACHE_SYNC_OUT(); return; L_08B51A24: - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(44)))))); { const bool branch_taken = aot_gpr_6 != 0u; aot_gpr_4 = (0u | 0u); @@ -4465,7 +4466,7 @@ L_08B51A48: } L_08B51A50: { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(252), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(252), static_cast(0u)); if (branch_taken) { goto L_08B51A94; } @@ -4477,7 +4478,7 @@ L_08B51A58: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B51A60u) goto L_08B51A60; AOT_REGCACHE_SYNC_OUT(); return; L_08B51A60: - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast(42)))))); { const bool branch_taken = aot_gpr_6 != 0u; aot_gpr_4 = (0u | 0u); @@ -4511,10 +4512,10 @@ L_08B51A84: } L_08B51A8C: aot_gpr_4 = (0u | 1u); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(252), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(252), static_cast(aot_gpr_4)); goto L_08B51A94; L_08B51A94: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -4525,7 +4526,7 @@ L_08B51A94: L_08B51AA4: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(256))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); { const bool branch_taken = static_cast(aot_gpr_5) <= 0; // nop @@ -4546,7 +4547,7 @@ L_08B51ABC: L_08B51AC8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5876))); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_16 = (ctx.gpr[28] + static_cast(7768)); + ctx.gpr[16] = (ctx.gpr[28] + static_cast(7768)); if (branch_taken) { goto L_08B51ADC; } @@ -4563,15 +4564,15 @@ L_08B51ADC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0112_entry, 112u, 679u, 0x089C6F60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B51AE4u) goto L_08B51AE4; AOT_REGCACHE_SYNC_OUT(); return; L_08B51AE4: - aot_gpr_5 = (ctx.gpr[2] & 255u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_5 = (aot_gpr_2 & 255u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_6 = (0u | 1u); aot_gpr_31 = (0x08B51AF8u); ctx.gpr[7] = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 559u, 0x08A06360u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B51AF8u) goto L_08B51AF8; AOT_REGCACHE_SYNC_OUT(); return; L_08B51AF8: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -4581,19 +4582,19 @@ L_08B51AF8: AOT_REGCACHE_SYNC_OUT(); return; L_08B51B08: aot_gpr_29 = (aot_gpr_29 + static_cast(-256)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(212), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(188))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(212), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(188))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(216), ctx.gpr[17]); ctx.gpr[17] = (0u | 255u); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(184))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(184))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(0), static_cast(ctx.gpr[17])); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(1), static_cast(ctx.gpr[17])); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(2), static_cast(ctx.gpr[17])); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(3), static_cast(ctx.gpr[17])); - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(192))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(192))); aot_fpr_12 = std::bit_cast(aot_gpr_4); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(196))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(196))); aot_fpr_13 = std::bit_cast(aot_gpr_5); aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(224), ctx.gpr[19]); @@ -4610,16 +4611,16 @@ L_08B51B08: aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(228), aot_run_words); } aot_gpr_31 = (0x08B51B90u); ctx.fpr[15] = static_cast(static_cast(std::bit_cast(ctx.fpr[15]))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B51B90u) goto L_08B51B90; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08873400, 27u, 732u, 0x08873400u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, ctx.fpr[15]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B51B90u) goto L_08B51B90; AOT_REGCACHE_SYNC_OUT(); return; L_08B51B90: aot_gpr_31 = (0x08B51B98u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 563u, 0x08AC6170u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B51B98u) goto L_08B51B98; AOT_REGCACHE_SYNC_OUT(); return; L_08B51B98: ctx.gpr[23] = (0u | 20u); - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(200), static_cast(ctx.gpr[17])); if (branch_taken) { goto L_08B51BF4; @@ -4627,7 +4628,7 @@ L_08B51B98: goto L_08B51BA4; } L_08B51BA4: - aot_gpr_4 = (aot_gpr_16 + static_cast(76)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(76)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(24))); @@ -4649,14 +4650,14 @@ L_08B51BA4: AOT_REGCACHE_SYNC_OUT(); return; L_08B51BEC: { const bool branch_taken = 0u == 0u; - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(252))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(252))); if (branch_taken) { goto L_08B51C40; } goto L_08B51BF4; } L_08B51BF4: - aot_gpr_4 = (aot_gpr_16 + static_cast(72)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(72)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(32))); @@ -4677,7 +4678,7 @@ L_08B51BF4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 99u, 0x08B0C778u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B51C3Cu) goto L_08B51C3C; AOT_REGCACHE_SYNC_OUT(); return; L_08B51C3C: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(252))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(252))); goto L_08B51C40; L_08B51C40: { const bool branch_taken = aot_gpr_4 == 0u; @@ -4727,8 +4728,8 @@ L_08B51C98: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 64u, 0x08B0C4D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B51CA0u) goto L_08B51CA0; AOT_REGCACHE_SYNC_OUT(); return; L_08B51CA0: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(208))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(208))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); aot_gpr_4 = (aot_gpr_4 - aot_gpr_5); { const std::int32_t dividend = static_cast(aot_gpr_4); const std::int32_t divisor = static_cast(ctx.gpr[23]); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } aot_gpr_4 = (ctx.lo); @@ -4742,7 +4743,7 @@ L_08B51CA0: L_08B51CBC: aot_gpr_31 = (0x08B51CC4u); aot_gpr_4 = (0u | 18u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B51CC4u) goto L_08B51CC4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C604, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B51CC4u) goto L_08B51CC4; AOT_REGCACHE_SYNC_OUT(); return; L_08B51CC4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(-9752))); @@ -4758,7 +4759,7 @@ L_08B51CD0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B51CDCu) goto L_08B51CDC; AOT_REGCACHE_SYNC_OUT(); return; L_08B51CDC: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[18] == 0u; // nop if (branch_taken) { @@ -4769,7 +4770,7 @@ L_08B51CDC: L_08B51CE8: aot_gpr_31 = (0x08B51CF0u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B51CF0u) goto L_08B51CF0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B51CF0u) goto L_08B51CF0; AOT_REGCACHE_SYNC_OUT(); return; L_08B51CF0: ctx.gpr[17] = (ctx.gpr[18] | 0u); @@ -4784,9 +4785,9 @@ L_08B51CFC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B51D04u) goto L_08B51D04; AOT_REGCACHE_SYNC_OUT(); return; L_08B51D04: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(188))); - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(184))); - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(188))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(184))); + aot_gpr_4 = (aot_gpr_2 | 0u); ctx.gpr[7] = (aot_gpr_29 | 0u); ctx.gpr[8] = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08B51D20u); @@ -4804,11 +4805,11 @@ L_08B51D20: L_08B51D28: aot_gpr_31 = (0x08B51D30u); aot_gpr_4 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B51D30u) goto L_08B51D30; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C604, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B51D30u) goto L_08B51D30; AOT_REGCACHE_SYNC_OUT(); return; L_08B51D30: - ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(208))); - ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(208))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); ctx.gpr[19] = (ctx.gpr[19] - ctx.gpr[17]); { const std::int32_t dividend = static_cast(ctx.gpr[19]); const std::int32_t divisor = static_cast(ctx.gpr[23]); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } ctx.gpr[18] = (0u | 0u); @@ -4823,7 +4824,7 @@ L_08B51D30: } L_08B51D54: { const std::int32_t dividend = static_cast(ctx.gpr[19]); const std::int32_t divisor = static_cast(ctx.gpr[23]); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } - aot_gpr_4 = (aot_gpr_16 + static_cast(224)); + aot_gpr_4 = (ctx.gpr[16] + static_cast(224)); ctx.gpr[20] = (ctx.gpr[28] + static_cast(5624)); ctx.gpr[30] = (aot_gpr_29 + static_cast(52)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(196), aot_gpr_4); @@ -4842,7 +4843,7 @@ L_08B51D74: L_08B51D7C: aot_gpr_31 = (0x08B51D84u); aot_gpr_4 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B51D84u) goto L_08B51D84; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0893685C, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B51D84u) goto L_08B51D84; AOT_REGCACHE_SYNC_OUT(); return; L_08B51D84: aot_gpr_31 = (0x08B51D8Cu); @@ -4850,7 +4851,7 @@ L_08B51D84: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0212_entry, 212u, 919u, 0x08B576C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B51D8Cu) goto L_08B51D8C; AOT_REGCACHE_SYNC_OUT(); return; L_08B51D8C: - ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); goto L_08B51D90; L_08B51D90: aot_gpr_4 = (ctx.gpr[17] + ctx.gpr[19]); @@ -4887,7 +4888,7 @@ L_08B51DB4: L_08B51DD4: aot_gpr_31 = (0x08B51DDCu); aot_gpr_4 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B51DDCu) goto L_08B51DDC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0893685C, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B51DDCu) goto L_08B51DDC; AOT_REGCACHE_SYNC_OUT(); return; L_08B51DDC: aot_gpr_31 = (0x08B51DE4u); @@ -4924,12 +4925,12 @@ L_08B51E10: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0044_entry, 44u, 440u, 0x088B6698u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B51E18u) goto L_08B51E18; AOT_REGCACHE_SYNC_OUT(); return; L_08B51E18: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(208))); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(208))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); aot_gpr_5 = (aot_gpr_5 - aot_gpr_4); { const std::int32_t dividend = static_cast(aot_gpr_5); const std::int32_t divisor = static_cast(ctx.gpr[23]); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(184))); - ctx.gpr[22] = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(184))); + ctx.gpr[22] = (aot_gpr_2 | 0u); aot_fpr_12 = std::bit_cast(aot_gpr_5); ctx.gpr[17] = (ctx.lo); ctx.gpr[17] = (ctx.gpr[18] < ctx.gpr[17] ? 1u : 0u); @@ -4944,7 +4945,7 @@ L_08B51E44: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(204), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08B51E50u); aot_gpr_4 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B51E50u) goto L_08B51E50; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0893685C, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B51E50u) goto L_08B51E50; AOT_REGCACHE_SYNC_OUT(); return; L_08B51E50: aot_gpr_31 = (0x08B51E58u); @@ -4952,8 +4953,8 @@ L_08B51E50: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0212_entry, 212u, 919u, 0x08B576C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B51E58u) goto L_08B51E58; AOT_REGCACHE_SYNC_OUT(); return; L_08B51E58: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(208))); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(208))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); aot_gpr_5 = (aot_gpr_5 - aot_gpr_4); { const std::int32_t dividend = static_cast(aot_gpr_5); const std::int32_t divisor = static_cast(ctx.gpr[23]); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(204))); @@ -4963,7 +4964,7 @@ L_08B51E58: L_08B51E74: aot_gpr_4 = (aot_gpr_4 + ctx.gpr[19]); aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(4))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(188))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(188))); aot_fpr_12 = aot_fpr_12 + aot_fpr_13; aot_fpr_14 = std::bit_cast(aot_gpr_5); ctx.fpr[15] = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12)); @@ -4979,7 +4980,7 @@ L_08B51E98: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(208), std::bit_cast(aot_fpr_12)); aot_gpr_31 = (0x08B51EA4u); aot_gpr_4 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B51EA4u) goto L_08B51EA4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0893685C, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B51EA4u) goto L_08B51EA4; AOT_REGCACHE_SYNC_OUT(); return; L_08B51EA4: aot_gpr_31 = (0x08B51EACu); @@ -4987,8 +4988,8 @@ L_08B51EA4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0212_entry, 212u, 919u, 0x08B576C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B51EACu) goto L_08B51EAC; AOT_REGCACHE_SYNC_OUT(); return; L_08B51EAC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(208))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(208))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); aot_gpr_4 = (aot_gpr_4 - aot_gpr_5); { const std::int32_t dividend = static_cast(aot_gpr_4); const std::int32_t divisor = static_cast(ctx.gpr[23]); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } aot_gpr_4 = (aot_gpr_5 + ctx.gpr[19]); @@ -5014,7 +5015,7 @@ L_08B51ECC: L_08B51EF0: aot_gpr_31 = (0x08B51EF8u); aot_gpr_4 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B51EF8u) goto L_08B51EF8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0893685C, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B51EF8u) goto L_08B51EF8; AOT_REGCACHE_SYNC_OUT(); return; L_08B51EF8: aot_gpr_31 = (0x08B51F00u); @@ -5022,7 +5023,7 @@ L_08B51EF8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0212_entry, 212u, 919u, 0x08B576C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B51F00u) goto L_08B51F00; AOT_REGCACHE_SYNC_OUT(); return; L_08B51F00: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); aot_gpr_4 = (aot_gpr_4 + ctx.gpr[19]); goto L_08B51F08; L_08B51F08: @@ -5035,17 +5036,17 @@ L_08B51F08: goto L_08B51F14; } L_08B51F14: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(232))); - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(233))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(232))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(233))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(48), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(234))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(234))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(49), static_cast(aot_gpr_5)); - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(235))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(235))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(50), static_cast(aot_gpr_4)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(51), static_cast(aot_gpr_5)); goto L_08B51F34; L_08B51F34: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(216))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(216))); { const bool branch_taken = aot_gpr_4 != ctx.gpr[18]; // nop if (branch_taken) { @@ -5054,32 +5055,32 @@ L_08B51F34: goto L_08B51F40; } L_08B51F40: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(228))); - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(229))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(228))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(229))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(48), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(230))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(230))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(49), static_cast(aot_gpr_5)); - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(231))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(231))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(50), static_cast(aot_gpr_4)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(51), static_cast(aot_gpr_5)); goto L_08B51F60; L_08B51F60: aot_gpr_31 = (0x08B51F68u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); goto L_08B51550; L_08B51F68: - if (ctx.gpr[2] != ctx.gpr[18]) { + if (aot_gpr_2 != ctx.gpr[18]) { aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(200))); goto L_08B51F94; } goto L_08B51F70; L_08B51F70: - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(236))); - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(237))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(236))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(237))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(48), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(238))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(238))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(49), static_cast(aot_gpr_5)); - aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(239))); + aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(239))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(50), static_cast(aot_gpr_4)); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(51), static_cast(aot_gpr_5)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(200))); @@ -5111,7 +5112,7 @@ L_08B51FDC: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 96u, 0x08B0C748u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B51FE4u) goto L_08B51FE4; AOT_REGCACHE_SYNC_OUT(); return; L_08B51FE4: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_31 = (0x08B51FF0u); aot_gpr_5 = (ctx.gpr[30] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 283u, 0x08AFD8D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B51FF0u) goto L_08B51FF0; @@ -5127,8 +5128,8 @@ L_08B51FF0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 24u, 0x08B0C1B0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5200Cu) goto L_08B5200C; AOT_REGCACHE_SYNC_OUT(); return; L_08B5200C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(208))); - ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(208))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); aot_gpr_4 = (aot_gpr_4 - ctx.gpr[17]); { const std::int32_t dividend = static_cast(aot_gpr_4); const std::int32_t divisor = static_cast(ctx.gpr[23]); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } ctx.gpr[18] = (ctx.gpr[18] + static_cast(1)); @@ -5144,7 +5145,7 @@ L_08B5200C: L_08B52030: { std::uint32_t aot_run_words[10]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(212), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; @@ -5168,8 +5169,8 @@ L_08B52060: ctx.gpr[7] = (0u | 20u); aot_gpr_5 = (aot_gpr_5 - aot_gpr_6); { const std::int32_t dividend = static_cast(aot_gpr_5); const std::int32_t divisor = static_cast(ctx.gpr[7]); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(100), aot_gpr_16); - aot_gpr_16 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(100), ctx.gpr[16]); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(104), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(108), aot_gpr_31); aot_gpr_4 = (ctx.lo); @@ -5187,7 +5188,7 @@ L_08B52098: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B520A0u) goto L_08B520A0; AOT_REGCACHE_SYNC_OUT(); return; L_08B520A0: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(14)))))); { const bool branch_taken = aot_gpr_5 != 0u; ctx.gpr[17] = (0u | 0u); @@ -5231,7 +5232,7 @@ L_08B520D0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B520DCu) goto L_08B520DC; AOT_REGCACHE_SYNC_OUT(); return; L_08B520DC: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(10)))))); { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_5 = (0u | 0u); @@ -5243,7 +5244,7 @@ L_08B520DC: L_08B520EC: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(60)))))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(208))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(208))); goto L_08B52100; } goto L_08B520F8; @@ -5251,10 +5252,10 @@ L_08B520F8: aot_gpr_5 = (0u | 1u); goto L_08B520FC; L_08B520FC: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(208))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(208))); goto L_08B52100; L_08B52100: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); ctx.gpr[7] = (0u | 20u); aot_gpr_4 = (aot_gpr_4 - aot_gpr_6); { const std::int32_t dividend = static_cast(aot_gpr_4); const std::int32_t divisor = static_cast(ctx.gpr[7]); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } @@ -5269,15 +5270,15 @@ L_08B52100: goto L_08B52124; } L_08B52124: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(216))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(216))); if (aot_gpr_4 != aot_gpr_6) { - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(208))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(208))); goto L_08B52A30; } goto L_08B52130; L_08B52130: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(208))); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(208))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); ctx.gpr[8] = (0u | 20u); aot_gpr_6 = (aot_gpr_6 - ctx.gpr[7]); { const std::int32_t dividend = static_cast(aot_gpr_6); const std::int32_t divisor = static_cast(ctx.gpr[8]); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } @@ -5295,7 +5296,7 @@ L_08B52154: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(92), aot_gpr_4); aot_gpr_31 = (0x08B52164u); aot_gpr_4 = (ctx.gpr[28] + static_cast(5624)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B52164u) goto L_08B52164; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0893685C, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B52164u) goto L_08B52164; AOT_REGCACHE_SYNC_OUT(); return; L_08B52164: aot_gpr_31 = (0x08B5216Cu); @@ -5307,7 +5308,7 @@ L_08B5216C: aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(96))); goto L_08B52174; L_08B52174: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); ctx.gpr[7] = (aot_gpr_4 << 4u); ctx.gpr[8] = (aot_gpr_4 << 2u); ctx.gpr[7] = (ctx.gpr[7] + ctx.gpr[8]); @@ -5320,8 +5321,8 @@ L_08B52174: goto L_08B52190; } L_08B52190: - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(208))); - ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(208))); + ctx.gpr[8] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); ctx.gpr[9] = (0u | 20u); ctx.gpr[7] = (ctx.gpr[7] - ctx.gpr[8]); { const std::int32_t dividend = static_cast(ctx.gpr[7]); const std::int32_t divisor = static_cast(ctx.gpr[9]); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } @@ -5335,8 +5336,8 @@ L_08B52190: goto L_08B521B4; } L_08B521B4: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(208))); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(208))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); ctx.gpr[8] = (0u | 20u); aot_gpr_5 = (aot_gpr_5 - ctx.gpr[7]); { const std::int32_t dividend = static_cast(aot_gpr_5); const std::int32_t divisor = static_cast(ctx.gpr[8]); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } @@ -5344,7 +5345,7 @@ L_08B521B4: ctx.gpr[7] = (ctx.lo); ctx.gpr[7] = (aot_gpr_5 < ctx.gpr[7] ? 1u : 0u); if (ctx.gpr[7] != 0u) { - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); goto L_08B52208; } goto L_08B521DC; @@ -5354,7 +5355,7 @@ L_08B521DC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(84), aot_gpr_5); aot_gpr_31 = (0x08B521F0u); aot_gpr_4 = (ctx.gpr[28] + static_cast(5624)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B521F0u) goto L_08B521F0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0893685C, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B521F0u) goto L_08B521F0; AOT_REGCACHE_SYNC_OUT(); return; L_08B521F0: aot_gpr_31 = (0x08B521F8u); @@ -5368,10 +5369,10 @@ L_08B521F8: aot_gpr_6 = aot_run_words[1]; aot_gpr_4 = aot_run_words[2]; } - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); goto L_08B52208; L_08B52208: - ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(208))); + ctx.gpr[8] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(208))); ctx.gpr[9] = (0u | 20u); ctx.gpr[8] = (ctx.gpr[8] - ctx.gpr[7]); { const std::int32_t dividend = static_cast(ctx.gpr[8]); const std::int32_t divisor = static_cast(ctx.gpr[9]); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } @@ -5394,7 +5395,7 @@ L_08B52238: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(80), aot_gpr_5); aot_gpr_31 = (0x08B5224Cu); aot_gpr_4 = (ctx.gpr[28] + static_cast(5624)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5224Cu) goto L_08B5224C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0893685C, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5224Cu) goto L_08B5224C; AOT_REGCACHE_SYNC_OUT(); return; L_08B5224C: aot_gpr_31 = (0x08B52254u); @@ -5407,14 +5408,14 @@ L_08B52254: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(92))); goto L_08B52260; L_08B52260: - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); ctx.gpr[8] = (aot_gpr_4 << 4u); ctx.gpr[9] = (aot_gpr_4 << 2u); ctx.gpr[8] = (ctx.gpr[8] + ctx.gpr[9]); ctx.gpr[7] = (ctx.gpr[7] + ctx.gpr[8]); aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(0), aot_gpr_5); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(208))); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(208))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); ctx.gpr[8] = (0u | 20u); aot_gpr_5 = (aot_gpr_5 - ctx.gpr[7]); { const std::int32_t dividend = static_cast(aot_gpr_5); const std::int32_t divisor = static_cast(ctx.gpr[8]); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } @@ -5434,7 +5435,7 @@ L_08B522A0: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(76), aot_gpr_5); aot_gpr_31 = (0x08B522B4u); aot_gpr_4 = (ctx.gpr[28] + static_cast(5624)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B522B4u) goto L_08B522B4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0893685C, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B522B4u) goto L_08B522B4; AOT_REGCACHE_SYNC_OUT(); return; L_08B522B4: aot_gpr_31 = (0x08B522BCu); @@ -5448,20 +5449,20 @@ L_08B522BC: ctx.gpr[8] = (aot_gpr_5 << 4u); goto L_08B522CC; L_08B522CC: - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); aot_gpr_5 = (aot_gpr_5 << 2u); aot_gpr_5 = (ctx.gpr[8] + aot_gpr_5); aot_gpr_5 = (ctx.gpr[7] + aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_6); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(208))); - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(208))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); ctx.gpr[7] = (0u | 20u); aot_gpr_5 = (aot_gpr_5 - aot_gpr_6); { const std::int32_t dividend = static_cast(aot_gpr_5); const std::int32_t divisor = static_cast(ctx.gpr[7]); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } aot_gpr_5 = (ctx.lo); aot_gpr_5 = (aot_gpr_4 < aot_gpr_5 ? 1u : 0u); if (aot_gpr_5 != 0u) { - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); goto L_08B52320; } goto L_08B52304; @@ -5469,7 +5470,7 @@ L_08B52304: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(92), aot_gpr_4); aot_gpr_31 = (0x08B52310u); aot_gpr_4 = (ctx.gpr[28] + static_cast(5624)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B52310u) goto L_08B52310; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0893685C, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B52310u) goto L_08B52310; AOT_REGCACHE_SYNC_OUT(); return; L_08B52310: aot_gpr_31 = (0x08B52318u); @@ -5478,10 +5479,10 @@ L_08B52310: AOT_REGCACHE_SYNC_OUT(); return; L_08B52318: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(92))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); goto L_08B52320; L_08B52320: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(208))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(208))); ctx.gpr[7] = (0u | 20u); aot_gpr_6 = (aot_gpr_6 - aot_gpr_5); { const std::int32_t dividend = static_cast(aot_gpr_6); const std::int32_t divisor = static_cast(ctx.gpr[7]); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } @@ -5505,7 +5506,7 @@ L_08B52354: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(68), aot_gpr_6); aot_gpr_31 = (0x08B52368u); aot_gpr_4 = (ctx.gpr[28] + static_cast(5624)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B52368u) goto L_08B52368; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0893685C, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B52368u) goto L_08B52368; AOT_REGCACHE_SYNC_OUT(); return; L_08B52368: aot_gpr_31 = (0x08B52370u); @@ -5518,8 +5519,8 @@ L_08B52370: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(92))); goto L_08B5237C; L_08B5237C: - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); - ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(208))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); + ctx.gpr[8] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(208))); ctx.gpr[9] = (0u | 20u); ctx.gpr[8] = (ctx.gpr[8] - ctx.gpr[7]); { const std::int32_t dividend = static_cast(ctx.gpr[8]); const std::int32_t divisor = static_cast(ctx.gpr[9]); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } @@ -5542,7 +5543,7 @@ L_08B523B0: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), aot_gpr_6); aot_gpr_31 = (0x08B523C4u); aot_gpr_4 = (ctx.gpr[28] + static_cast(5624)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B523C4u) goto L_08B523C4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0893685C, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B523C4u) goto L_08B523C4; AOT_REGCACHE_SYNC_OUT(); return; L_08B523C4: aot_gpr_31 = (0x08B523CCu); @@ -5555,14 +5556,14 @@ L_08B523CC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(92))); goto L_08B523D8; L_08B523D8: - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); ctx.gpr[8] = (aot_gpr_4 << 4u); ctx.gpr[9] = (aot_gpr_4 << 2u); ctx.gpr[8] = (ctx.gpr[8] + ctx.gpr[9]); ctx.gpr[7] = (ctx.gpr[7] + ctx.gpr[8]); aot_mem.aot_direct_store8(ctx.gpr[7] + static_cast(16), static_cast(aot_gpr_6)); - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(208))); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(208))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); ctx.gpr[8] = (0u | 20u); aot_gpr_6 = (aot_gpr_6 - ctx.gpr[7]); { const std::int32_t dividend = static_cast(aot_gpr_6); const std::int32_t divisor = static_cast(ctx.gpr[8]); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } @@ -5582,7 +5583,7 @@ L_08B52418: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(60), aot_gpr_6); aot_gpr_31 = (0x08B5242Cu); aot_gpr_4 = (ctx.gpr[28] + static_cast(5624)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5242Cu) goto L_08B5242C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0893685C, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5242Cu) goto L_08B5242C; AOT_REGCACHE_SYNC_OUT(); return; L_08B5242C: aot_gpr_31 = (0x08B52434u); @@ -5596,20 +5597,20 @@ L_08B52434: ctx.gpr[8] = (aot_gpr_6 << 4u); goto L_08B52444; L_08B52444: - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); aot_gpr_6 = (aot_gpr_6 << 2u); aot_gpr_6 = (ctx.gpr[8] + aot_gpr_6); aot_gpr_6 = (ctx.gpr[7] + aot_gpr_6); aot_mem.aot_direct_store8(aot_gpr_6 + static_cast(16), static_cast(aot_gpr_5)); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(208))); - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(208))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); ctx.gpr[7] = (0u | 20u); aot_gpr_5 = (aot_gpr_5 - aot_gpr_6); { const std::int32_t dividend = static_cast(aot_gpr_5); const std::int32_t divisor = static_cast(ctx.gpr[7]); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } aot_gpr_5 = (ctx.lo); aot_gpr_5 = (aot_gpr_4 < aot_gpr_5 ? 1u : 0u); if (aot_gpr_5 != 0u) { - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); goto L_08B52498; } goto L_08B5247C; @@ -5617,7 +5618,7 @@ L_08B5247C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(92), aot_gpr_4); aot_gpr_31 = (0x08B52488u); aot_gpr_4 = (ctx.gpr[28] + static_cast(5624)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B52488u) goto L_08B52488; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0893685C, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B52488u) goto L_08B52488; AOT_REGCACHE_SYNC_OUT(); return; L_08B52488: aot_gpr_31 = (0x08B52490u); @@ -5626,10 +5627,10 @@ L_08B52488: AOT_REGCACHE_SYNC_OUT(); return; L_08B52490: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(92))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); goto L_08B52498; L_08B52498: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(208))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(208))); ctx.gpr[7] = (0u | 20u); aot_gpr_6 = (aot_gpr_6 - aot_gpr_5); { const std::int32_t dividend = static_cast(aot_gpr_6); const std::int32_t divisor = static_cast(ctx.gpr[7]); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } @@ -5642,7 +5643,7 @@ L_08B52498: aot_gpr_6 = (ctx.lo); aot_gpr_6 = (aot_gpr_5 < aot_gpr_6 ? 1u : 0u); if (aot_gpr_6 != 0u) { - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); goto L_08B524FC; } goto L_08B524D0; @@ -5652,7 +5653,7 @@ L_08B524D0: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), aot_gpr_5); aot_gpr_31 = (0x08B524E4u); aot_gpr_4 = (ctx.gpr[28] + static_cast(5624)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B524E4u) goto L_08B524E4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0893685C, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B524E4u) goto L_08B524E4; AOT_REGCACHE_SYNC_OUT(); return; L_08B524E4: aot_gpr_31 = (0x08B524ECu); @@ -5663,10 +5664,10 @@ L_08B524EC: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(52))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(56))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(92))); - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); goto L_08B524FC; L_08B524FC: - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(208))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(208))); ctx.gpr[8] = (0u | 20u); ctx.gpr[7] = (ctx.gpr[7] - aot_gpr_6); { const std::int32_t dividend = static_cast(ctx.gpr[7]); const std::int32_t divisor = static_cast(ctx.gpr[8]); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } @@ -5678,7 +5679,7 @@ L_08B524FC: aot_gpr_5 = (ctx.lo); aot_gpr_5 = (aot_gpr_4 < aot_gpr_5 ? 1u : 0u); if (aot_gpr_5 != 0u) { - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); goto L_08B5255C; } goto L_08B52530; @@ -5688,7 +5689,7 @@ L_08B52530: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), std::bit_cast(aot_fpr_13)); aot_gpr_31 = (0x08B52544u); aot_gpr_4 = (ctx.gpr[28] + static_cast(5624)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B52544u) goto L_08B52544; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0893685C, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B52544u) goto L_08B52544; AOT_REGCACHE_SYNC_OUT(); return; L_08B52544: aot_gpr_31 = (0x08B5254Cu); @@ -5699,7 +5700,7 @@ L_08B5254C: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(48))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(56))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(92))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); goto L_08B5255C; L_08B5255C: aot_gpr_6 = (aot_gpr_4 << 4u); @@ -5707,8 +5708,8 @@ L_08B5255C: aot_gpr_6 = (aot_gpr_6 + ctx.gpr[7]); aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(12), std::bit_cast(aot_fpr_13)); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(208))); - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(208))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); ctx.gpr[7] = (0u | 20u); aot_gpr_5 = (aot_gpr_5 - aot_gpr_6); { const std::int32_t dividend = static_cast(aot_gpr_5); const std::int32_t divisor = static_cast(ctx.gpr[7]); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } @@ -5727,7 +5728,7 @@ L_08B52598: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), aot_gpr_4); aot_gpr_31 = (0x08B525A8u); aot_gpr_4 = (ctx.gpr[28] + static_cast(5624)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B525A8u) goto L_08B525A8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0893685C, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B525A8u) goto L_08B525A8; AOT_REGCACHE_SYNC_OUT(); return; L_08B525A8: aot_gpr_31 = (0x08B525B0u); @@ -5740,17 +5741,17 @@ L_08B525B0: aot_gpr_6 = (aot_gpr_4 << 4u); goto L_08B525BC; L_08B525BC: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_6 + aot_gpr_4); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(12), std::bit_cast(aot_fpr_12)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(216))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(216))); aot_gpr_5 = (0u | 1u); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(216), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(216), aot_gpr_4); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(244), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(244), static_cast(aot_gpr_5)); if (branch_taken) { goto L_08B52A54; } @@ -5773,8 +5774,8 @@ L_08B525F0: goto L_08B525F8; } L_08B525F8: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(208))); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(208))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); ctx.gpr[8] = (0u | 20u); aot_gpr_5 = (aot_gpr_5 - ctx.gpr[7]); { const std::int32_t dividend = static_cast(aot_gpr_5); const std::int32_t divisor = static_cast(ctx.gpr[8]); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } @@ -5782,7 +5783,7 @@ L_08B525F8: ctx.gpr[7] = (ctx.lo); ctx.gpr[7] = (aot_gpr_5 < ctx.gpr[7] ? 1u : 0u); if (ctx.gpr[7] != 0u) { - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); goto L_08B5264C; } goto L_08B52620; @@ -5792,7 +5793,7 @@ L_08B52620: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), aot_gpr_5); aot_gpr_31 = (0x08B52634u); aot_gpr_4 = (ctx.gpr[28] + static_cast(5624)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B52634u) goto L_08B52634; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0893685C, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B52634u) goto L_08B52634; AOT_REGCACHE_SYNC_OUT(); return; L_08B52634: aot_gpr_31 = (0x08B5263Cu); @@ -5803,10 +5804,10 @@ L_08B5263C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(40))); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(88))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(92))); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); goto L_08B5264C; L_08B5264C: - ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(208))); + ctx.gpr[8] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(208))); ctx.gpr[9] = (0u | 20u); ctx.gpr[8] = (ctx.gpr[8] - ctx.gpr[7]); { const std::int32_t dividend = static_cast(ctx.gpr[8]); const std::int32_t divisor = static_cast(ctx.gpr[9]); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } @@ -5829,7 +5830,7 @@ L_08B5267C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), aot_gpr_5); aot_gpr_31 = (0x08B52690u); aot_gpr_4 = (ctx.gpr[28] + static_cast(5624)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B52690u) goto L_08B52690; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0893685C, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B52690u) goto L_08B52690; AOT_REGCACHE_SYNC_OUT(); return; L_08B52690: aot_gpr_31 = (0x08B52698u); @@ -5842,14 +5843,14 @@ L_08B52698: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(92))); goto L_08B526A4; L_08B526A4: - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); ctx.gpr[8] = (aot_gpr_4 << 4u); ctx.gpr[9] = (aot_gpr_4 << 2u); ctx.gpr[8] = (ctx.gpr[8] + ctx.gpr[9]); ctx.gpr[7] = (ctx.gpr[7] + ctx.gpr[8]); aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast(0), aot_gpr_5); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(208))); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(208))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); ctx.gpr[8] = (0u | 20u); aot_gpr_5 = (aot_gpr_5 - ctx.gpr[7]); { const std::int32_t dividend = static_cast(aot_gpr_5); const std::int32_t divisor = static_cast(ctx.gpr[8]); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } @@ -5869,7 +5870,7 @@ L_08B526E4: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), aot_gpr_5); aot_gpr_31 = (0x08B526F8u); aot_gpr_4 = (ctx.gpr[28] + static_cast(5624)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B526F8u) goto L_08B526F8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0893685C, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B526F8u) goto L_08B526F8; AOT_REGCACHE_SYNC_OUT(); return; L_08B526F8: aot_gpr_31 = (0x08B52700u); @@ -5883,20 +5884,20 @@ L_08B52700: ctx.gpr[8] = (aot_gpr_5 << 4u); goto L_08B52710; L_08B52710: - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); aot_gpr_5 = (aot_gpr_5 << 2u); aot_gpr_5 = (ctx.gpr[8] + aot_gpr_5); aot_gpr_5 = (ctx.gpr[7] + aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_6); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(208))); - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(208))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); ctx.gpr[7] = (0u | 20u); aot_gpr_5 = (aot_gpr_5 - aot_gpr_6); { const std::int32_t dividend = static_cast(aot_gpr_5); const std::int32_t divisor = static_cast(ctx.gpr[7]); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } aot_gpr_5 = (ctx.lo); aot_gpr_5 = (aot_gpr_4 < aot_gpr_5 ? 1u : 0u); if (aot_gpr_5 != 0u) { - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); goto L_08B52764; } goto L_08B52748; @@ -5904,7 +5905,7 @@ L_08B52748: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(92), aot_gpr_4); aot_gpr_31 = (0x08B52754u); aot_gpr_4 = (ctx.gpr[28] + static_cast(5624)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B52754u) goto L_08B52754; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0893685C, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B52754u) goto L_08B52754; AOT_REGCACHE_SYNC_OUT(); return; L_08B52754: aot_gpr_31 = (0x08B5275Cu); @@ -5913,10 +5914,10 @@ L_08B52754: AOT_REGCACHE_SYNC_OUT(); return; L_08B5275C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(92))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); goto L_08B52764; L_08B52764: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(208))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(208))); ctx.gpr[7] = (0u | 20u); aot_gpr_6 = (aot_gpr_6 - aot_gpr_5); { const std::int32_t dividend = static_cast(aot_gpr_6); const std::int32_t divisor = static_cast(ctx.gpr[7]); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } @@ -5940,7 +5941,7 @@ L_08B52798: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_6); aot_gpr_31 = (0x08B527ACu); aot_gpr_4 = (ctx.gpr[28] + static_cast(5624)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B527ACu) goto L_08B527AC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0893685C, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B527ACu) goto L_08B527AC; AOT_REGCACHE_SYNC_OUT(); return; L_08B527AC: aot_gpr_31 = (0x08B527B4u); @@ -5953,8 +5954,8 @@ L_08B527B4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(92))); goto L_08B527C0; L_08B527C0: - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); - ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(208))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); + ctx.gpr[8] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(208))); ctx.gpr[9] = (0u | 20u); ctx.gpr[8] = (ctx.gpr[8] - ctx.gpr[7]); { const std::int32_t dividend = static_cast(ctx.gpr[8]); const std::int32_t divisor = static_cast(ctx.gpr[9]); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } @@ -5977,7 +5978,7 @@ L_08B527F4: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_6); aot_gpr_31 = (0x08B52808u); aot_gpr_4 = (ctx.gpr[28] + static_cast(5624)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B52808u) goto L_08B52808; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0893685C, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B52808u) goto L_08B52808; AOT_REGCACHE_SYNC_OUT(); return; L_08B52808: aot_gpr_31 = (0x08B52810u); @@ -5990,14 +5991,14 @@ L_08B52810: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(92))); goto L_08B5281C; L_08B5281C: - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); ctx.gpr[8] = (aot_gpr_4 << 4u); ctx.gpr[9] = (aot_gpr_4 << 2u); ctx.gpr[8] = (ctx.gpr[8] + ctx.gpr[9]); ctx.gpr[7] = (ctx.gpr[7] + ctx.gpr[8]); aot_mem.aot_direct_store8(ctx.gpr[7] + static_cast(16), static_cast(aot_gpr_6)); - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(208))); - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(208))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); ctx.gpr[8] = (0u | 20u); aot_gpr_6 = (aot_gpr_6 - ctx.gpr[7]); { const std::int32_t dividend = static_cast(aot_gpr_6); const std::int32_t divisor = static_cast(ctx.gpr[8]); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } @@ -6017,7 +6018,7 @@ L_08B5285C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_6); aot_gpr_31 = (0x08B52870u); aot_gpr_4 = (ctx.gpr[28] + static_cast(5624)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B52870u) goto L_08B52870; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0893685C, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B52870u) goto L_08B52870; AOT_REGCACHE_SYNC_OUT(); return; L_08B52870: aot_gpr_31 = (0x08B52878u); @@ -6031,20 +6032,20 @@ L_08B52878: ctx.gpr[8] = (aot_gpr_6 << 4u); goto L_08B52888; L_08B52888: - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); aot_gpr_6 = (aot_gpr_6 << 2u); aot_gpr_6 = (ctx.gpr[8] + aot_gpr_6); aot_gpr_6 = (ctx.gpr[7] + aot_gpr_6); aot_mem.aot_direct_store8(aot_gpr_6 + static_cast(16), static_cast(aot_gpr_5)); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(208))); - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(208))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); ctx.gpr[7] = (0u | 20u); aot_gpr_5 = (aot_gpr_5 - aot_gpr_6); { const std::int32_t dividend = static_cast(aot_gpr_5); const std::int32_t divisor = static_cast(ctx.gpr[7]); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } aot_gpr_5 = (ctx.lo); aot_gpr_5 = (aot_gpr_4 < aot_gpr_5 ? 1u : 0u); if (aot_gpr_5 != 0u) { - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); goto L_08B528DC; } goto L_08B528C0; @@ -6052,7 +6053,7 @@ L_08B528C0: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(92), aot_gpr_4); aot_gpr_31 = (0x08B528CCu); aot_gpr_4 = (ctx.gpr[28] + static_cast(5624)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B528CCu) goto L_08B528CC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0893685C, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B528CCu) goto L_08B528CC; AOT_REGCACHE_SYNC_OUT(); return; L_08B528CC: aot_gpr_31 = (0x08B528D4u); @@ -6061,10 +6062,10 @@ L_08B528CC: AOT_REGCACHE_SYNC_OUT(); return; L_08B528D4: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(92))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); goto L_08B528DC; L_08B528DC: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(208))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(208))); ctx.gpr[7] = (0u | 20u); aot_gpr_6 = (aot_gpr_6 - aot_gpr_5); { const std::int32_t dividend = static_cast(aot_gpr_6); const std::int32_t divisor = static_cast(ctx.gpr[7]); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } @@ -6077,7 +6078,7 @@ L_08B528DC: aot_gpr_6 = (ctx.lo); aot_gpr_6 = (aot_gpr_5 < aot_gpr_6 ? 1u : 0u); if (aot_gpr_6 != 0u) { - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); goto L_08B52940; } goto L_08B52914; @@ -6087,7 +6088,7 @@ L_08B52914: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_5); aot_gpr_31 = (0x08B52928u); aot_gpr_4 = (ctx.gpr[28] + static_cast(5624)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B52928u) goto L_08B52928; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0893685C, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B52928u) goto L_08B52928; AOT_REGCACHE_SYNC_OUT(); return; L_08B52928: aot_gpr_31 = (0x08B52930u); @@ -6098,10 +6099,10 @@ L_08B52930: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(92))); - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); goto L_08B52940; L_08B52940: - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(208))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(208))); ctx.gpr[8] = (0u | 20u); ctx.gpr[7] = (ctx.gpr[7] - aot_gpr_6); { const std::int32_t dividend = static_cast(ctx.gpr[7]); const std::int32_t divisor = static_cast(ctx.gpr[8]); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } @@ -6113,7 +6114,7 @@ L_08B52940: aot_gpr_5 = (ctx.lo); aot_gpr_5 = (aot_gpr_4 < aot_gpr_5 ? 1u : 0u); if (aot_gpr_5 != 0u) { - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); goto L_08B529A0; } goto L_08B52974; @@ -6123,7 +6124,7 @@ L_08B52974: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), std::bit_cast(aot_fpr_13)); aot_gpr_31 = (0x08B52988u); aot_gpr_4 = (ctx.gpr[28] + static_cast(5624)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B52988u) goto L_08B52988; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0893685C, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B52988u) goto L_08B52988; AOT_REGCACHE_SYNC_OUT(); return; L_08B52988: aot_gpr_31 = (0x08B52990u); @@ -6134,7 +6135,7 @@ L_08B52990: aot_fpr_13 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(92))); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); goto L_08B529A0; L_08B529A0: aot_gpr_6 = (aot_gpr_4 << 4u); @@ -6142,8 +6143,8 @@ L_08B529A0: aot_gpr_6 = (aot_gpr_6 + ctx.gpr[7]); aot_gpr_5 = (aot_gpr_5 + aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(12), std::bit_cast(aot_fpr_13)); - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(208))); - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(208))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); ctx.gpr[7] = (0u | 20u); aot_gpr_5 = (aot_gpr_5 - aot_gpr_6); { const std::int32_t dividend = static_cast(aot_gpr_5); const std::int32_t divisor = static_cast(ctx.gpr[7]); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } @@ -6162,7 +6163,7 @@ L_08B529DC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_4); aot_gpr_31 = (0x08B529ECu); aot_gpr_4 = (ctx.gpr[28] + static_cast(5624)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B529ECu) goto L_08B529EC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0893685C, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B529ECu) goto L_08B529EC; AOT_REGCACHE_SYNC_OUT(); return; L_08B529EC: aot_gpr_31 = (0x08B529F4u); @@ -6175,27 +6176,27 @@ L_08B529F4: aot_gpr_6 = (aot_gpr_4 << 4u); goto L_08B52A00; L_08B52A00: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); aot_gpr_4 = (aot_gpr_4 << 2u); aot_gpr_4 = (aot_gpr_6 + aot_gpr_4); aot_gpr_4 = (aot_gpr_5 + aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(12), std::bit_cast(aot_fpr_12)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(216))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(216))); aot_gpr_5 = (0u | 1u); aot_gpr_4 = (aot_gpr_4 + static_cast(-1)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(216), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(216), aot_gpr_4); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(244), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(244), static_cast(aot_gpr_5)); if (branch_taken) { goto L_08B52A54; } goto L_08B52A2C; } L_08B52A2C: - aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(208))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(208))); goto L_08B52A30; L_08B52A30: - ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(204))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(204))); ctx.gpr[8] = (0u | 20u); aot_gpr_6 = (aot_gpr_6 - ctx.gpr[7]); { const std::int32_t dividend = static_cast(aot_gpr_6); const std::int32_t divisor = static_cast(ctx.gpr[8]); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast(dividend / divisor); ctx.hi = static_cast(dividend % divisor); } } @@ -6212,7 +6213,7 @@ L_08B52A30: L_08B52A54: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(100), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -6224,9 +6225,9 @@ L_08B52A54: AOT_REGCACHE_SYNC_OUT(); return; L_08B52A68: aot_gpr_29 = (aot_gpr_29 + static_cast(-96)); - { const std::uint32_t aot_run_words[7]{std::bit_cast(aot_fpr_20), aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; + { const std::uint32_t aot_run_words[7]{std::bit_cast(aot_fpr_20), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(68), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.gpr[17] = (0u | 1u); aot_gpr_31 = (0x08B52A98u); aot_gpr_5 = (0u | 1u); @@ -6237,17 +6238,17 @@ L_08B52A98: ctx.gpr[18] = (std::bit_cast(aot_fpr_12)); ctx.gpr[19] = (aot_gpr_29 + static_cast(16)); aot_gpr_4 = (ctx.gpr[19] | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_6 = (0u | 2u); aot_gpr_31 = (0x08B52AB8u); ctx.gpr[7] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0075_entry, 75u, 315u, 0x08931AF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B52AB8u) goto L_08B52AB8; AOT_REGCACHE_SYNC_OUT(); return; L_08B52AB8: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B52AC4u); aot_gpr_5 = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B52AC4u) goto L_08B52AC4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B52AC4u) goto L_08B52AC4; AOT_REGCACHE_SYNC_OUT(); return; L_08B52AC4: { const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast(0); @@ -6270,20 +6271,20 @@ L_08B52AC4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0139_entry, 139u, 165u, 0x08A30D04u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B52ADCu) goto L_08B52ADC; AOT_REGCACHE_SYNC_OUT(); return; L_08B52ADC: - ctx.gpr[19] = (ctx.gpr[2] | 0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + ctx.gpr[19] = (aot_gpr_2 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B52AECu); aot_gpr_5 = (ctx.gpr[19] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0195_entry, 195u, 225u, 0x08B10EBCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B52AECu) goto L_08B52AEC; AOT_REGCACHE_SYNC_OUT(); return; L_08B52AEC: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B52AF8u); aot_gpr_5 = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B52AF8u) goto L_08B52AF8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880692C, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[16], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B52AF8u) goto L_08B52AF8; AOT_REGCACHE_SYNC_OUT(); return; L_08B52AF8: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08B52C2C; @@ -6291,10 +6292,10 @@ L_08B52AF8: goto L_08B52B00; } L_08B52B00: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B52B0Cu); aot_gpr_5 = (0u | 4u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B52B0Cu) goto L_08B52B0C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B52B0Cu) goto L_08B52B0C; AOT_REGCACHE_SYNC_OUT(); return; L_08B52B0C: aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[0])); @@ -6341,13 +6342,13 @@ L_08B52B44: aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(134), static_cast(aot_gpr_5)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(3))); aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(135), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B52B98u); aot_gpr_5 = (0u | 5u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B52B98u) goto L_08B52B98; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880692C, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[16], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B52B98u) goto L_08B52B98; AOT_REGCACHE_SYNC_OUT(); return; L_08B52B98: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08B52C24; @@ -6355,10 +6356,10 @@ L_08B52B98: goto L_08B52BA0; } L_08B52BA0: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B52BACu); aot_gpr_5 = (0u | 5u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B52BACu) goto L_08B52BAC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B52BACu) goto L_08B52BAC; AOT_REGCACHE_SYNC_OUT(); return; L_08B52BAC: aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[0])); @@ -6432,20 +6433,20 @@ L_08B52C4C: ctx.gpr[18] = (aot_gpr_4 | 0u); aot_gpr_31 = (0x08B52C58u); ctx.gpr[20] = (aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast(353))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B52C58u) goto L_08B52C58; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B52C58u) goto L_08B52C58; AOT_REGCACHE_SYNC_OUT(); return; L_08B52C58: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); aot_gpr_5 = (0u | 0u); ctx.gpr[7] = (static_cast(static_cast(ctx.gpr[20]) >> 31u)); aot_gpr_31 = (0x08B52C6Cu); aot_gpr_6 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B52C6Cu) goto L_08B52C6C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B52C6Cu) goto L_08B52C6C; AOT_REGCACHE_SYNC_OUT(); return; L_08B52C6C: ctx.gpr[1] = (ctx.gpr[3] << 1u); aot_gpr_5 = (static_cast(static_cast(ctx.gpr[3]) >> 31u)); - aot_gpr_4 = (ctx.gpr[2] >> 31u); + aot_gpr_4 = (aot_gpr_2 >> 31u); aot_gpr_4 = (ctx.gpr[1] | aot_gpr_4); aot_gpr_4 = (aot_gpr_4 | 0u); ctx.gpr[20] = (aot_gpr_4 & 255u); @@ -6455,7 +6456,7 @@ L_08B52C6C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0167_entry, 167u, 764u, 0x08AA2FB4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B52C90u) goto L_08B52C90; AOT_REGCACHE_SYNC_OUT(); return; L_08B52C90: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(60), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(60), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(60))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(48))); @@ -6472,7 +6473,7 @@ L_08B52C90: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0167_entry, 167u, 774u, 0x08AA3070u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B52CC8u) goto L_08B52CC8; AOT_REGCACHE_SYNC_OUT(); return; L_08B52CC8: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), ctx.gpr[2]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(64), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(64))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(48), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(48))); @@ -6506,13 +6507,13 @@ L_08B52CC8: aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(139), static_cast(aot_gpr_4)); goto L_08B52D48; L_08B52D48: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B52D54u); aot_gpr_5 = (0u | 6u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B52D54u) goto L_08B52D54; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806888, 0u, 324u, 0x08806888u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B52D54u) goto L_08B52D54; AOT_REGCACHE_SYNC_OUT(); return; L_08B52D54: - { const bool branch_taken = ctx.gpr[2] != ctx.gpr[17]; + { const bool branch_taken = aot_gpr_2 != ctx.gpr[17]; // nop if (branch_taken) { goto L_08B52DCC; @@ -6520,14 +6521,14 @@ L_08B52D54: goto L_08B52D5C; } L_08B52D5C: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B52D68u); aot_gpr_5 = (0u | 6u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B52D68u) goto L_08B52D68; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806AE0, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B52D68u) goto L_08B52D68; AOT_REGCACHE_SYNC_OUT(); return; L_08B52D68: - aot_gpr_16 = (0u < ctx.gpr[2] ? 1u : 0u); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (0u < aot_gpr_2 ? 1u : 0u); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08B52DCC; @@ -6535,7 +6536,7 @@ L_08B52D68: goto L_08B52D74; } L_08B52D74: - aot_gpr_5 = (aot_gpr_16 & 255u); + aot_gpr_5 = (ctx.gpr[16] & 255u); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(112))); if (branch_taken) { @@ -6560,7 +6561,7 @@ L_08B52D90: aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(340), static_cast(aot_gpr_5)); goto L_08B52DA0; L_08B52DA0: - aot_gpr_4 = (aot_gpr_16 & 255u); + aot_gpr_4 = (ctx.gpr[16] & 255u); { const bool branch_taken = aot_gpr_4 == 0u; ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(104))); if (branch_taken) { @@ -6585,11 +6586,11 @@ L_08B52DBC: aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast(340), static_cast(aot_gpr_4)); goto L_08B52DCC; L_08B52DCC: - ctx.gpr[2] = (ctx.gpr[17] | 0u); + aot_gpr_2 = (ctx.gpr[17] | 0u); { std::uint32_t aot_run_words[7]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(68), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); - aot_gpr_16 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[1]; ctx.gpr[17] = aot_run_words[2]; ctx.gpr[18] = aot_run_words[3]; ctx.gpr[19] = aot_run_words[4]; @@ -6604,7 +6605,7 @@ L_08B52DCC: AOT_REGCACHE_SYNC_OUT(); return; L_08B52DF4: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[16], ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(32), aot_run_words); } ctx.gpr[17] = (aot_gpr_4 | 0u); aot_gpr_31 = (0x08B52E10u); @@ -6612,14 +6613,14 @@ L_08B52DF4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0195_entry, 195u, 200u, 0x08B10D5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B52E10u) goto L_08B52E10; AOT_REGCACHE_SYNC_OUT(); return; L_08B52E10: - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (aot_gpr_2 | 0u); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B52E20u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B52E20u) goto L_08B52E20; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B52E20u) goto L_08B52E20; AOT_REGCACHE_SYNC_OUT(); return; L_08B52E20: - { const bool branch_taken = aot_gpr_16 == 0u; + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08B52EB0; @@ -6631,13 +6632,13 @@ L_08B52E28: aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(16), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(9947))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(18), static_cast(aot_gpr_4)); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(3)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(3)))))); aot_mem.aot_direct_store_word_right(aot_gpr_29 + static_cast(19), aot_gpr_4); aot_mem.aot_direct_store_word_left(aot_gpr_29 + static_cast(22), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(8))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(8))); aot_mem.aot_direct_store_word_right(aot_gpr_29 + static_cast(23), aot_gpr_4); aot_mem.aot_direct_store_word_left(aot_gpr_29 + static_cast(26), aot_gpr_4); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(3)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(3)))))); aot_gpr_5 = (2237u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(-28736)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(100))); @@ -6678,19 +6679,19 @@ L_08B52E90: AOT_REGCACHE_SYNC_OUT(); return; L_08B52EA8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08B52EB4; } goto L_08B52EB0; } L_08B52EB0: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_08B52EB4; L_08B52EB4: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(32), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -6702,15 +6703,15 @@ L_08B52EB4: AOT_REGCACHE_SYNC_OUT(); return; L_08B52EC8: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(32), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_31 = (0x08B52EE8u); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0195_entry, 195u, 200u, 0x08B10D5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B52EE8u) goto L_08B52EE8; AOT_REGCACHE_SYNC_OUT(); return; L_08B52EE8: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { @@ -6769,32 +6770,32 @@ L_08B52F54: AOT_REGCACHE_SYNC_OUT(); return; L_08B52F70: ctx.gpr[17] = (0u | 1u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B52F80u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B52F80u) goto L_08B52F80; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B52F80u) goto L_08B52F80; AOT_REGCACHE_SYNC_OUT(); return; L_08B52F80: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (ctx.gpr[17] | 0u); + aot_gpr_2 = (ctx.gpr[17] | 0u); if (branch_taken) { goto L_08B52F98; } goto L_08B52F88; } L_08B52F88: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B52F94u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B52F94u) goto L_08B52F94; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B52F94u) goto L_08B52F94; AOT_REGCACHE_SYNC_OUT(); return; L_08B52F94: - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); goto L_08B52F98; L_08B52F98: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(32), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; @@ -6807,15 +6808,15 @@ L_08B52F98: AOT_REGCACHE_SYNC_OUT(); return; L_08B52FB0: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(32), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_31 = (0x08B52FD0u); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0195_entry, 195u, 200u, 0x08B10D5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B52FD0u) goto L_08B52FD0; AOT_REGCACHE_SYNC_OUT(); return; L_08B52FD0: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { @@ -6874,32 +6875,32 @@ L_08B5303C: AOT_REGCACHE_SYNC_OUT(); return; L_08B53058: ctx.gpr[17] = (0u | 1u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B53068u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B53068u) goto L_08B53068; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B53068u) goto L_08B53068; AOT_REGCACHE_SYNC_OUT(); return; L_08B53068: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (ctx.gpr[17] | 0u); + aot_gpr_2 = (ctx.gpr[17] | 0u); if (branch_taken) { goto L_08B53080; } goto L_08B53070; } L_08B53070: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B5307Cu); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5307Cu) goto L_08B5307C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5307Cu) goto L_08B5307C; AOT_REGCACHE_SYNC_OUT(); return; L_08B5307C: - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); goto L_08B53080; L_08B53080: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(32), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; @@ -6912,15 +6913,15 @@ L_08B53080: AOT_REGCACHE_SYNC_OUT(); return; L_08B53098: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(20), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_31 = (0x08B530B8u); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0195_entry, 195u, 200u, 0x08B10D5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B530B8u) goto L_08B530B8; AOT_REGCACHE_SYNC_OUT(); return; L_08B530B8: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[18] == 0u; // nop if (branch_taken) { @@ -6944,7 +6945,7 @@ L_08B530D4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B530E4u) goto L_08B530E4; AOT_REGCACHE_SYNC_OUT(); return; L_08B530E4: - aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(96), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(16))); aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(96))); @@ -6965,26 +6966,26 @@ L_08B5310C: ctx.gpr[17] = (0u | 1u); goto L_08B53110; L_08B53110: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B5311Cu); aot_gpr_5 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5311Cu) goto L_08B5311C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5311Cu) goto L_08B5311C; AOT_REGCACHE_SYNC_OUT(); return; L_08B5311C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_08B53128; } goto L_08B53124; } L_08B53124: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_08B53128; L_08B53128: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(20), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; @@ -6997,15 +6998,15 @@ L_08B53128: AOT_REGCACHE_SYNC_OUT(); return; L_08B53140: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(20), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_31 = (0x08B53160u); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0195_entry, 195u, 200u, 0x08B10D5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B53160u) goto L_08B53160; AOT_REGCACHE_SYNC_OUT(); return; L_08B53160: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[18] == 0u; // nop if (branch_taken) { @@ -7029,7 +7030,7 @@ L_08B5317C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5318Cu) goto L_08B5318C; AOT_REGCACHE_SYNC_OUT(); return; L_08B5318C: - aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(96), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(16))); aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(96))); @@ -7047,26 +7048,26 @@ L_08B531A8: ctx.gpr[17] = (0u | 1u); goto L_08B531AC; L_08B531AC: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B531B8u); aot_gpr_5 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B531B8u) goto L_08B531B8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B531B8u) goto L_08B531B8; AOT_REGCACHE_SYNC_OUT(); return; L_08B531B8: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_08B531C4; } goto L_08B531C0; } L_08B531C0: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_08B531C4; L_08B531C4: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(20), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; @@ -7079,15 +7080,15 @@ L_08B531C4: AOT_REGCACHE_SYNC_OUT(); return; L_08B531DC: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_16); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[16]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_31); - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_31 = (0x08B531F4u); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0195_entry, 195u, 200u, 0x08B10D5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B531F4u) goto L_08B531F4; AOT_REGCACHE_SYNC_OUT(); return; L_08B531F4: - aot_gpr_4 = (ctx.gpr[2] | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -7111,14 +7112,14 @@ L_08B53200: const std::uint32_t vfpu_address = aot_gpr_29 + static_cast(0); const std::uint32_t vfpu_words[4]{std::bit_cast(vfpu_value[0]), std::bit_cast(vfpu_value[1]), std::bit_cast(vfpu_value[2]), std::bit_cast(vfpu_value[3])}; aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); } - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B5321Cu); aot_gpr_5 = (aot_gpr_29 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0075_entry, 75u, 313u, 0x08931AD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5321Cu) goto L_08B5321C; AOT_REGCACHE_SYNC_OUT(); return; L_08B5321C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_08B53230; } @@ -7126,14 +7127,14 @@ L_08B5321C: } L_08B53224: aot_gpr_31 = (0x08B5322Cu); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 424u, 0x08806DA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5322Cu) goto L_08B5322C; AOT_REGCACHE_SYNC_OUT(); return; L_08B5322C: - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); goto L_08B53230; L_08B53230: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); @@ -7143,15 +7144,15 @@ L_08B53230: AOT_REGCACHE_SYNC_OUT(); return; L_08B53240: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - { const std::uint32_t aot_run_words[4]{std::bit_cast(aot_fpr_20), aot_gpr_16, ctx.gpr[17], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{std::bit_cast(aot_fpr_20), ctx.gpr[16], ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(20), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_31 = (0x08B53260u); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0195_entry, 195u, 200u, 0x08B10D5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B53260u) goto L_08B53260; AOT_REGCACHE_SYNC_OUT(); return; L_08B53260: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { @@ -7174,7 +7175,7 @@ L_08B53278: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B53288u) goto L_08B53288; AOT_REGCACHE_SYNC_OUT(); return; L_08B53288: - aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(96), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(16))); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); @@ -7194,7 +7195,7 @@ L_08B532A4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B532B4u) goto L_08B532B4; AOT_REGCACHE_SYNC_OUT(); return; L_08B532B4: - aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(96), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(17))); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); @@ -7213,14 +7214,14 @@ L_08B532D4: aot_fpr_20 = std::bit_cast(0u); goto L_08B532D8; L_08B532D8: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B532E4u); aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_20)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B532E4u) goto L_08B532E4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B532E4u) goto L_08B532E4; AOT_REGCACHE_SYNC_OUT(); return; L_08B532E4: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_08B53300; } @@ -7230,17 +7231,17 @@ L_08B532EC: aot_gpr_4 = (49024u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_31 = (0x08B532FCu); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B532FCu) goto L_08B532FC; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B532FCu) goto L_08B532FC; AOT_REGCACHE_SYNC_OUT(); return; L_08B532FC: - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); goto L_08B53300; L_08B53300: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(20), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); - aot_gpr_16 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[1]; ctx.gpr[17] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -7252,7 +7253,7 @@ L_08B53300: AOT_REGCACHE_SYNC_OUT(); return; L_08B53318: aot_gpr_29 = (aot_gpr_29 + static_cast(-64)); - { const std::uint32_t aot_run_words[4]{std::bit_cast(aot_fpr_20), aot_gpr_16, ctx.gpr[17], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{std::bit_cast(aot_fpr_20), ctx.gpr[16], ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(36), aot_run_words); } ctx.gpr[17] = (aot_gpr_4 | 0u); aot_gpr_31 = (0x08B53338u); @@ -7260,15 +7261,15 @@ L_08B53318: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0195_entry, 195u, 200u, 0x08B10D5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B53338u) goto L_08B53338; AOT_REGCACHE_SYNC_OUT(); return; L_08B53338: - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (aot_gpr_2 | 0u); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B53348u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B53348u) goto L_08B53348; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B53348u) goto L_08B53348; AOT_REGCACHE_SYNC_OUT(); return; L_08B53348: aot_fpr_20 = std::bit_cast(std::bit_cast(ctx.fpr[0])); - { const bool branch_taken = aot_gpr_16 == 0u; + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08B5343C; @@ -7276,24 +7277,24 @@ L_08B53348: goto L_08B53354; } L_08B53354: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(96))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(96))); goto L_08B53380; } goto L_08B53360; L_08B53360: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(10)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(10)))))); aot_gpr_6 = (aot_gpr_29 + static_cast(34)); aot_gpr_31 = (0x08B53370u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B53370u) goto L_08B53370; AOT_REGCACHE_SYNC_OUT(); return; L_08B53370: - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(96), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(34))); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(4), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(96))); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(4), static_cast(aot_gpr_4)); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(96))); goto L_08B53380; L_08B53380: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(456))); @@ -7312,16 +7313,16 @@ L_08B53398: aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(16), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(9956))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(18), static_cast(aot_gpr_4)); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(3)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(3)))))); aot_mem.aot_direct_store_word_right(aot_gpr_29 + static_cast(19), aot_gpr_4); aot_mem.aot_direct_store_word_left(aot_gpr_29 + static_cast(22), aot_gpr_4); - aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(8))); + aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(8))); aot_mem.aot_direct_store_word_right(aot_gpr_29 + static_cast(23), aot_gpr_4); aot_mem.aot_direct_store_word_left(aot_gpr_29 + static_cast(26), aot_gpr_4); ctx.gpr[1] = (std::bit_cast(aot_fpr_20)); aot_mem.aot_direct_store_word_right(aot_gpr_29 + static_cast(27), ctx.gpr[1]); aot_mem.aot_direct_store_word_left(aot_gpr_29 + static_cast(30), ctx.gpr[1]); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(3)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(3)))))); aot_gpr_5 = (2237u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(-28736)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(100))); @@ -7343,7 +7344,7 @@ L_08B533E8: } L_08B533F0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08B53440; } @@ -7378,20 +7379,20 @@ L_08B5341C: AOT_REGCACHE_SYNC_OUT(); return; L_08B53434: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08B53440; } goto L_08B5343C; } L_08B5343C: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_08B53440; L_08B53440: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(36), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); - aot_gpr_16 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[1]; ctx.gpr[17] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -7403,7 +7404,7 @@ L_08B53440: AOT_REGCACHE_SYNC_OUT(); return; L_08B53458: aot_gpr_29 = (aot_gpr_29 + static_cast(-80)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[16], ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(60), aot_run_words); } ctx.gpr[17] = (aot_gpr_4 | 0u); aot_gpr_31 = (0x08B53474u); @@ -7411,7 +7412,7 @@ L_08B53458: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0195_entry, 195u, 200u, 0x08B10D5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B53474u) goto L_08B53474; AOT_REGCACHE_SYNC_OUT(); return; L_08B53474: - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (aot_gpr_2 | 0u); aot_gpr_4 = (aot_gpr_29 + static_cast(16)); aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_6 = (0u | 2u); @@ -7420,7 +7421,7 @@ L_08B53474: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0075_entry, 75u, 315u, 0x08931AF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5348Cu) goto L_08B5348C; AOT_REGCACHE_SYNC_OUT(); return; L_08B5348C: - { const bool branch_taken = aot_gpr_16 == 0u; + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08B53558; @@ -7435,10 +7436,10 @@ L_08B53494: aot_gpr_4 = (aot_gpr_29 + static_cast(43)); aot_gpr_5 = (aot_gpr_4 + static_cast(4)); aot_gpr_6 = (aot_gpr_4 + static_cast(8)); - ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(3)))))); + ctx.gpr[7] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(3)))))); aot_mem.aot_direct_store_word_right(aot_gpr_29 + static_cast(35), ctx.gpr[7]); aot_mem.aot_direct_store_word_left(aot_gpr_29 + static_cast(38), ctx.gpr[7]); - ctx.gpr[7] = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(8))); + ctx.gpr[7] = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(8))); aot_mem.aot_direct_store_word_right(aot_gpr_29 + static_cast(39), ctx.gpr[7]); aot_mem.aot_direct_store_word_left(aot_gpr_29 + static_cast(42), ctx.gpr[7]); aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); @@ -7453,7 +7454,7 @@ L_08B53494: aot_gpr_4 = (std::bit_cast(aot_fpr_14)); aot_mem.aot_direct_store_word_left(aot_gpr_6 + static_cast(3), aot_gpr_4); aot_mem.aot_direct_store_word_right(aot_gpr_6 + static_cast(0), aot_gpr_4); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(3)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(3)))))); aot_gpr_5 = (2237u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(-28736)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(100))); @@ -7494,19 +7495,19 @@ L_08B53538: AOT_REGCACHE_SYNC_OUT(); return; L_08B53550: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08B5355C; } goto L_08B53558; } L_08B53558: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_08B5355C; L_08B5355C: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(60), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -7518,7 +7519,7 @@ L_08B5355C: AOT_REGCACHE_SYNC_OUT(); return; L_08B53570: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[16], ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(36), aot_run_words); } ctx.gpr[17] = (aot_gpr_4 | 0u); aot_gpr_31 = (0x08B5358Cu); @@ -7526,22 +7527,22 @@ L_08B53570: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0195_entry, 195u, 200u, 0x08B10D5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5358Cu) goto L_08B5358C; AOT_REGCACHE_SYNC_OUT(); return; L_08B5358C: - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (aot_gpr_2 | 0u); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B5359Cu); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5359Cu) goto L_08B5359C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880692C, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[16], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5359Cu) goto L_08B5359C; AOT_REGCACHE_SYNC_OUT(); return; L_08B5359C: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B535A8u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B535A8u) goto L_08B535A8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B535A8u) goto L_08B535A8; AOT_REGCACHE_SYNC_OUT(); return; L_08B535A8: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[0])); aot_gpr_4 = (std::bit_cast(aot_fpr_12)); - { const bool branch_taken = aot_gpr_16 == 0u; + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08B53648; @@ -7553,15 +7554,15 @@ L_08B535B8: aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(16), static_cast(aot_gpr_5)); aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(9955))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(18), static_cast(aot_gpr_5)); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(3)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(3)))))); aot_mem.aot_direct_store_word_right(aot_gpr_29 + static_cast(19), aot_gpr_5); aot_mem.aot_direct_store_word_left(aot_gpr_29 + static_cast(22), aot_gpr_5); - aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(8))); + aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(8))); aot_mem.aot_direct_store_word_right(aot_gpr_29 + static_cast(23), aot_gpr_5); aot_mem.aot_direct_store_word_left(aot_gpr_29 + static_cast(26), aot_gpr_5); aot_mem.aot_direct_store_word_right(aot_gpr_29 + static_cast(27), aot_gpr_4); aot_mem.aot_direct_store_word_left(aot_gpr_29 + static_cast(30), aot_gpr_4); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(3)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(3)))))); aot_gpr_5 = (2237u << 16u); aot_gpr_5 = (aot_gpr_5 + static_cast(-28736)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(100))); @@ -7602,19 +7603,19 @@ L_08B53628: AOT_REGCACHE_SYNC_OUT(); return; L_08B53640: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08B5364C; } goto L_08B53648; } L_08B53648: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_08B5364C; L_08B5364C: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(36), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -7626,15 +7627,15 @@ L_08B5364C: AOT_REGCACHE_SYNC_OUT(); return; L_08B53660: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(20), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_31 = (0x08B53680u); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0195_entry, 195u, 200u, 0x08B10D5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B53680u) goto L_08B53680; AOT_REGCACHE_SYNC_OUT(); return; L_08B53680: - ctx.gpr[18] = (ctx.gpr[2] | 0u); + ctx.gpr[18] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[18] == 0u; // nop if (branch_taken) { @@ -7657,7 +7658,7 @@ L_08B53698: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B536A8u) goto L_08B536A8; AOT_REGCACHE_SYNC_OUT(); return; L_08B536A8: - aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(96), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(16))); aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(96))); @@ -7687,7 +7688,7 @@ L_08B536D4: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B536E4u) goto L_08B536E4; AOT_REGCACHE_SYNC_OUT(); return; L_08B536E4: - aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(96), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(17))); aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(96))); @@ -7719,7 +7720,7 @@ L_08B53710: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B53720u) goto L_08B53720; AOT_REGCACHE_SYNC_OUT(); return; L_08B53720: - aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(96), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(18))); aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast(4), static_cast(aot_gpr_4)); goto L_08B5372C; @@ -7731,30 +7732,30 @@ L_08B5372C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 101u, 0x08ADC560u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5373Cu) goto L_08B5373C; AOT_REGCACHE_SYNC_OUT(); return; L_08B5373C: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); goto L_08B53740; L_08B53740: aot_fpr_12 = std::bit_cast(ctx.gpr[17]); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_gpr_31 = (0x08B53750u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B53750u) goto L_08B53750; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B53750u) goto L_08B53750; AOT_REGCACHE_SYNC_OUT(); return; L_08B53750: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 1u); + aot_gpr_2 = (0u | 1u); if (branch_taken) { goto L_08B5375C; } goto L_08B53758; } L_08B53758: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_08B5375C; L_08B5375C: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(20), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; @@ -7767,16 +7768,16 @@ L_08B5375C: AOT_REGCACHE_SYNC_OUT(); return; L_08B53774: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(20), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.gpr[18] = (0u | 1u); aot_gpr_31 = (0x08B53798u); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0195_entry, 195u, 200u, 0x08B10D5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B53798u) goto L_08B53798; AOT_REGCACHE_SYNC_OUT(); return; L_08B53798: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { @@ -7799,7 +7800,7 @@ L_08B537B0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B537C0u) goto L_08B537C0; AOT_REGCACHE_SYNC_OUT(); return; L_08B537C0: - aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(96), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(16))); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); @@ -7822,9 +7823,9 @@ L_08B537E0: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 32u, 0x08ADC204u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B537F0u) goto L_08B537F0; AOT_REGCACHE_SYNC_OUT(); return; L_08B537F0: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B537FCu); - aot_gpr_5 = (ctx.gpr[2] | 0u); + aot_gpr_5 = (aot_gpr_2 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 430u, 0x08806E68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B537FCu) goto L_08B537FC; AOT_REGCACHE_SYNC_OUT(); return; L_08B537FC: @@ -7838,24 +7839,24 @@ L_08B537FC: L_08B53804: aot_gpr_5 = (ctx.gpr[28] + static_cast(5792)); aot_gpr_31 = (0x08B53810u); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 430u, 0x08806E68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B53810u) goto L_08B53810; AOT_REGCACHE_SYNC_OUT(); return; L_08B53810: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (ctx.gpr[18] | 0u); + aot_gpr_2 = (ctx.gpr[18] | 0u); if (branch_taken) { goto L_08B5381C; } goto L_08B53818; } L_08B53818: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_08B5381C; L_08B5381C: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(20), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; @@ -7868,16 +7869,16 @@ L_08B5381C: AOT_REGCACHE_SYNC_OUT(); return; L_08B53834: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(20), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.gpr[18] = (0u | 1u); aot_gpr_31 = (0x08B53858u); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0195_entry, 195u, 200u, 0x08B10D5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B53858u) goto L_08B53858; AOT_REGCACHE_SYNC_OUT(); return; L_08B53858: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { @@ -7900,7 +7901,7 @@ L_08B53870: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B53880u) goto L_08B53880; AOT_REGCACHE_SYNC_OUT(); return; L_08B53880: - aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(96), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(16))); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); @@ -7921,8 +7922,8 @@ L_08B538A4: aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_gpr_31 = (0x08B538B8u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B538B8u) goto L_08B538B8; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B538B8u) goto L_08B538B8; AOT_REGCACHE_SYNC_OUT(); return; L_08B538B8: { const bool branch_taken = 0u == 0u; @@ -7936,24 +7937,24 @@ L_08B538C0: aot_gpr_4 = (49024u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_31 = (0x08B538D0u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B538D0u) goto L_08B538D0; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B538D0u) goto L_08B538D0; AOT_REGCACHE_SYNC_OUT(); return; L_08B538D0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (ctx.gpr[18] | 0u); + aot_gpr_2 = (ctx.gpr[18] | 0u); if (branch_taken) { goto L_08B538DC; } goto L_08B538D8; } L_08B538D8: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_08B538DC; L_08B538DC: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(20), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; @@ -7966,16 +7967,16 @@ L_08B538DC: AOT_REGCACHE_SYNC_OUT(); return; L_08B538F4: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(20), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.gpr[18] = (0u | 1u); aot_gpr_31 = (0x08B53918u); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0195_entry, 195u, 200u, 0x08B10D5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B53918u) goto L_08B53918; AOT_REGCACHE_SYNC_OUT(); return; L_08B53918: - ctx.gpr[17] = (ctx.gpr[2] | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { @@ -7998,7 +7999,7 @@ L_08B53930: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B53940u) goto L_08B53940; AOT_REGCACHE_SYNC_OUT(); return; L_08B53940: - aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(96), aot_gpr_2); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(16))); aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(4), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); @@ -8023,12 +8024,12 @@ L_08B53964: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 167u, 0x08ADC88Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B53978u) goto L_08B53978; AOT_REGCACHE_SYNC_OUT(); return; L_08B53978: - aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(0))); + aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(0))); aot_gpr_4 = (aot_gpr_4 << 16u); - aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(1))); + aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(1))); aot_gpr_5 = (aot_gpr_5 << 8u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); - aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast(2))); + aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_2 + static_cast(2))); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_fpr_12 = std::bit_cast(aot_gpr_4); { const bool branch_taken = static_cast(aot_gpr_4) >= 0; @@ -8045,8 +8046,8 @@ L_08B539A0: goto L_08B539AC; L_08B539AC: aot_gpr_31 = (0x08B539B4u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B539B4u) goto L_08B539B4; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B539B4u) goto L_08B539B4; AOT_REGCACHE_SYNC_OUT(); return; L_08B539B4: { const bool branch_taken = 0u == 0u; @@ -8060,12 +8061,12 @@ L_08B539BC: aot_gpr_4 = (49024u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_31 = (0x08B539CCu); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B539CCu) goto L_08B539CC; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B539CCu) goto L_08B539CC; AOT_REGCACHE_SYNC_OUT(); return; L_08B539CC: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (ctx.gpr[18] | 0u); + aot_gpr_2 = (ctx.gpr[18] | 0u); if (branch_taken) { goto L_08B539E8; } @@ -8075,16 +8076,16 @@ L_08B539D4: aot_gpr_4 = (49024u << 16u); aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_31 = (0x08B539E4u); - aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B539E4u) goto L_08B539E4; + aot_gpr_4 = (ctx.gpr[16] | 0u); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B539E4u) goto L_08B539E4; AOT_REGCACHE_SYNC_OUT(); return; L_08B539E4: - ctx.gpr[2] = (ctx.gpr[18] | 0u); + aot_gpr_2 = (ctx.gpr[18] | 0u); goto L_08B539E8; L_08B539E8: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(20), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; @@ -8097,15 +8098,15 @@ L_08B539E8: AOT_REGCACHE_SYNC_OUT(); return; L_08B53A00: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[16], ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(12), aot_run_words); } aot_gpr_31 = (0x08B53A18u); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0195_entry, 195u, 200u, 0x08B10D5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B53A18u) goto L_08B53A18; AOT_REGCACHE_SYNC_OUT(); return; L_08B53A18: - aot_gpr_16 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_16 == 0u; + ctx.gpr[16] = (aot_gpr_2 | 0u); + { const bool branch_taken = ctx.gpr[16] == 0u; // nop if (branch_taken) { goto L_08B53B00; @@ -8113,7 +8114,7 @@ L_08B53A18: goto L_08B53A24; } L_08B53A24: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(3)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(3)))))); aot_gpr_4 = (2237u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-28736)); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(100))); @@ -8129,8 +8130,8 @@ L_08B53A24: goto L_08B53A4C; } L_08B53A4C: - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(104))); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(900))); + ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(104))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(900))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -8139,14 +8140,14 @@ L_08B53A4C: goto L_08B53A5C; } L_08B53A5C: - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B53A68u); aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0106_entry, 106u, 80u, 0x089AC664u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B53A68u) goto L_08B53A68; AOT_REGCACHE_SYNC_OUT(); return; L_08B53A68: ctx.gpr[17] = (0u | 0u); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(565))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(565))); aot_gpr_4 = (static_cast(ctx.gpr[17]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop @@ -8156,13 +8157,13 @@ L_08B53A68: goto L_08B53A7C; } L_08B53A7C: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B53A88u); aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B53A88u) goto L_08B53A88; AOT_REGCACHE_SYNC_OUT(); return; L_08B53A88: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08B53AAC; @@ -8170,21 +8171,21 @@ L_08B53A88: goto L_08B53A90; } L_08B53A90: - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B53A9Cu); aot_gpr_5 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B53A9Cu) goto L_08B53A9C; AOT_REGCACHE_SYNC_OUT(); return; L_08B53A9C: - aot_gpr_4 = (ctx.gpr[2] | 0u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_4 = (aot_gpr_2 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B53AACu); aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0106_entry, 106u, 80u, 0x089AC664u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B53AACu) goto L_08B53AAC; AOT_REGCACHE_SYNC_OUT(); return; L_08B53AAC: ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); - aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(565))); + aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(565))); aot_gpr_4 = (static_cast(ctx.gpr[17]) < static_cast(aot_gpr_4) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; // nop @@ -8206,10 +8207,10 @@ L_08B53AC8: aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(0), static_cast(aot_gpr_5)); aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(9944))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(2), static_cast(aot_gpr_5)); - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(3)))))); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(3)))))); aot_mem.aot_direct_store_word_right(aot_gpr_29 + static_cast(3), aot_gpr_5); aot_mem.aot_direct_store_word_left(aot_gpr_29 + static_cast(6), aot_gpr_5); - aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(8))); + aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast(8))); aot_mem.aot_direct_store_word_right(aot_gpr_29 + static_cast(7), aot_gpr_5); aot_mem.aot_direct_store_word_left(aot_gpr_29 + static_cast(10), aot_gpr_5); aot_gpr_6 = (aot_mem.aot_direct_load_word_right(aot_gpr_29 + static_cast(3), aot_gpr_6)); @@ -8219,10 +8220,10 @@ L_08B53AC8: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 189u, 0x08ADCA34u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B53B00u) goto L_08B53B00; AOT_REGCACHE_SYNC_OUT(); return; L_08B53B00: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(12), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -8234,23 +8235,23 @@ L_08B53B00: AOT_REGCACHE_SYNC_OUT(); return; L_08B53B18: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(32), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.gpr[18] = (0u | 1u); aot_gpr_31 = (0x08B53B3Cu); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0195_entry, 195u, 200u, 0x08B10D5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B53B3Cu) goto L_08B53B3C; AOT_REGCACHE_SYNC_OUT(); return; L_08B53B3C: - ctx.gpr[17] = (ctx.gpr[2] | 0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B53B4Cu); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B53B4Cu) goto L_08B53B4C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806888, 0u, 324u, 0x08806888u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B53B4Cu) goto L_08B53B4C; AOT_REGCACHE_SYNC_OUT(); return; L_08B53B4C: - { const bool branch_taken = ctx.gpr[2] != ctx.gpr[18]; + { const bool branch_taken = aot_gpr_2 != ctx.gpr[18]; // nop if (branch_taken) { goto L_08B53B64; @@ -8259,7 +8260,7 @@ L_08B53B4C: } L_08B53B54: { const bool branch_taken = ctx.gpr[17] != 0u; - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (branch_taken) { goto L_08B53B6C; } @@ -8275,7 +8276,7 @@ L_08B53B5C: } L_08B53B64: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08B53C00; } @@ -8286,7 +8287,7 @@ L_08B53B6C: aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(16), static_cast(aot_gpr_5)); aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(9945))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(18), static_cast(aot_gpr_5)); - aot_gpr_16 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[16] = (aot_gpr_29 + static_cast(16)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(3)))))); aot_mem.aot_direct_store_word_right(aot_gpr_29 + static_cast(19), aot_gpr_5); aot_mem.aot_direct_store_word_left(aot_gpr_29 + static_cast(22), aot_gpr_5); @@ -8295,10 +8296,10 @@ L_08B53B6C: aot_mem.aot_direct_store_word_left(aot_gpr_29 + static_cast(26), aot_gpr_5); aot_gpr_31 = (0x08B53BA0u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B53BA0u) goto L_08B53BA0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806AE0, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B53BA0u) goto L_08B53BA0; AOT_REGCACHE_SYNC_OUT(); return; L_08B53BA0: - aot_gpr_4 = (0u < ctx.gpr[2] ? 1u : 0u); + aot_gpr_4 = (0u < aot_gpr_2 ? 1u : 0u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(27), static_cast(aot_gpr_4)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(3)))))); aot_gpr_4 = (2237u << 16u); @@ -8319,7 +8320,7 @@ L_08B53BA0: L_08B53BD4: aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(28), static_cast(0u)); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(28)))))); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B53BE8u); ctx.gpr[7] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 775u, 0x08A37040u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B53BE8u) goto L_08B53BE8; @@ -8335,16 +8336,16 @@ L_08B53BE8: L_08B53BF0: aot_gpr_6 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x08B53BFCu); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 189u, 0x08ADCA34u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B53BFCu) goto L_08B53BFC; AOT_REGCACHE_SYNC_OUT(); return; L_08B53BFC: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_08B53C00; L_08B53C00: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(32), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; @@ -8357,22 +8358,22 @@ L_08B53C00: AOT_REGCACHE_SYNC_OUT(); return; L_08B53C18: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{ctx.gpr[16], ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(36), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); aot_gpr_31 = (0x08B53C34u); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0195_entry, 195u, 200u, 0x08B10D5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B53C34u) goto L_08B53C34; AOT_REGCACHE_SYNC_OUT(); return; L_08B53C34: - ctx.gpr[17] = (ctx.gpr[2] | 0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B53C44u); aot_gpr_5 = (0u + static_cast(-1)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B53C44u) goto L_08B53C44; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880692C, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[16], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B53C44u) goto L_08B53C44; AOT_REGCACHE_SYNC_OUT(); return; L_08B53C44: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08B53C5C; @@ -8381,7 +8382,7 @@ L_08B53C44: } L_08B53C4C: { const bool branch_taken = ctx.gpr[17] != 0u; - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (branch_taken) { goto L_08B53C64; } @@ -8397,7 +8398,7 @@ L_08B53C54: } L_08B53C5C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08B53D00; } @@ -8408,7 +8409,7 @@ L_08B53C64: aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(16), static_cast(aot_gpr_5)); aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(9946))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(18), static_cast(aot_gpr_5)); - aot_gpr_16 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[16] = (aot_gpr_29 + static_cast(16)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(3)))))); aot_mem.aot_direct_store_word_right(aot_gpr_29 + static_cast(19), aot_gpr_5); aot_mem.aot_direct_store_word_left(aot_gpr_29 + static_cast(22), aot_gpr_5); @@ -8417,7 +8418,7 @@ L_08B53C64: aot_mem.aot_direct_store_word_left(aot_gpr_29 + static_cast(26), aot_gpr_5); aot_gpr_31 = (0x08B53C98u); aot_gpr_5 = (0u + static_cast(-1)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B53C98u) goto L_08B53C98; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B53C98u) goto L_08B53C98; AOT_REGCACHE_SYNC_OUT(); return; L_08B53C98: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[0])); @@ -8443,7 +8444,7 @@ L_08B53C98: L_08B53CD4: aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(32), static_cast(0u)); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(32)))))); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B53CE8u); ctx.gpr[7] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 786u, 0x08A370E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B53CE8u) goto L_08B53CE8; @@ -8459,16 +8460,16 @@ L_08B53CE8: L_08B53CF0: aot_gpr_6 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x08B53CFCu); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 189u, 0x08ADCA34u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B53CFCu) goto L_08B53CFC; AOT_REGCACHE_SYNC_OUT(); return; L_08B53CFC: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_08B53D00; L_08B53D00: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(36), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } @@ -8480,23 +8481,23 @@ L_08B53D00: AOT_REGCACHE_SYNC_OUT(); return; L_08B53D14: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(32), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.gpr[18] = (0u | 1u); aot_gpr_31 = (0x08B53D38u); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0195_entry, 195u, 200u, 0x08B10D5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B53D38u) goto L_08B53D38; AOT_REGCACHE_SYNC_OUT(); return; L_08B53D38: - ctx.gpr[17] = (ctx.gpr[2] | 0u); - aot_gpr_4 = (aot_gpr_16 | 0u); + ctx.gpr[17] = (aot_gpr_2 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B53D48u); aot_gpr_5 = (0u + static_cast(-1)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B53D48u) goto L_08B53D48; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806888, 0u, 324u, 0x08806888u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 324u, 0x08806888u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B53D48u) goto L_08B53D48; AOT_REGCACHE_SYNC_OUT(); return; L_08B53D48: - { const bool branch_taken = ctx.gpr[2] != ctx.gpr[18]; + { const bool branch_taken = aot_gpr_2 != ctx.gpr[18]; // nop if (branch_taken) { goto L_08B53D60; @@ -8505,7 +8506,7 @@ L_08B53D48: } L_08B53D50: { const bool branch_taken = ctx.gpr[17] != 0u; - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); if (branch_taken) { goto L_08B53D68; } @@ -8521,7 +8522,7 @@ L_08B53D58: } L_08B53D60: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08B53DFC; } @@ -8532,7 +8533,7 @@ L_08B53D68: aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(16), static_cast(aot_gpr_5)); aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(9948))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(18), static_cast(aot_gpr_5)); - aot_gpr_16 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[16] = (aot_gpr_29 + static_cast(16)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(3)))))); aot_mem.aot_direct_store_word_right(aot_gpr_29 + static_cast(19), aot_gpr_5); aot_mem.aot_direct_store_word_left(aot_gpr_29 + static_cast(22), aot_gpr_5); @@ -8541,10 +8542,10 @@ L_08B53D68: aot_mem.aot_direct_store_word_left(aot_gpr_29 + static_cast(26), aot_gpr_5); aot_gpr_31 = (0x08B53D9Cu); aot_gpr_5 = (0u + static_cast(-1)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B53D9Cu) goto L_08B53D9C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806AE0, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 368u, 0x08806AE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B53D9Cu) goto L_08B53D9C; AOT_REGCACHE_SYNC_OUT(); return; L_08B53D9C: - aot_gpr_4 = (0u < ctx.gpr[2] ? 1u : 0u); + aot_gpr_4 = (0u < aot_gpr_2 ? 1u : 0u); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(27), static_cast(aot_gpr_4)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(3)))))); aot_gpr_4 = (2237u << 16u); @@ -8565,7 +8566,7 @@ L_08B53D9C: L_08B53DD0: aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(28), static_cast(0u)); aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(28)))))); - aot_gpr_4 = (aot_gpr_16 | 0u); + aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B53DE4u); ctx.gpr[7] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 835u, 0x08A373D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B53DE4u) goto L_08B53DE4; @@ -8581,16 +8582,16 @@ L_08B53DE4: L_08B53DEC: aot_gpr_6 = (aot_gpr_5 | 0u); aot_gpr_31 = (0x08B53DF8u); - aot_gpr_5 = (aot_gpr_16 | 0u); + aot_gpr_5 = (ctx.gpr[16] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 189u, 0x08ADCA34u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B53DF8u) goto L_08B53DF8; AOT_REGCACHE_SYNC_OUT(); return; L_08B53DF8: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_08B53DFC; L_08B53DFC: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(32), aot_run_words); - aot_gpr_16 = aot_run_words[0]; + ctx.gpr[16] = aot_run_words[0]; ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; @@ -8603,7 +8604,7 @@ L_08B53DFC: AOT_REGCACHE_SYNC_OUT(); return; L_08B53E14: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - { const std::uint32_t aot_run_words[4]{std::bit_cast(aot_fpr_20), aot_gpr_16, ctx.gpr[17], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{std::bit_cast(aot_fpr_20), ctx.gpr[16], ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(12), aot_run_words); } ctx.gpr[17] = (aot_gpr_4 | 0u); aot_gpr_31 = (0x08B53E34u); @@ -8611,14 +8612,14 @@ L_08B53E14: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0195_entry, 195u, 200u, 0x08B10D5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B53E34u) goto L_08B53E34; AOT_REGCACHE_SYNC_OUT(); return; L_08B53E34: - aot_gpr_16 = (ctx.gpr[2] | 0u); + ctx.gpr[16] = (aot_gpr_2 | 0u); aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B53E44u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B53E44u) goto L_08B53E44; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880692C, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[16], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B53E44u) goto L_08B53E44; AOT_REGCACHE_SYNC_OUT(); return; L_08B53E44: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; aot_gpr_4 = (ctx.gpr[17] | 0u); if (branch_taken) { goto L_08B53E6C; @@ -8628,10 +8629,10 @@ L_08B53E44: L_08B53E4C: aot_gpr_31 = (0x08B53E54u); aot_gpr_5 = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B53E54u) goto L_08B53E54; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880692C, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[16], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B53E54u) goto L_08B53E54; AOT_REGCACHE_SYNC_OUT(); return; L_08B53E54: - { const bool branch_taken = ctx.gpr[2] == 0u; + { const bool branch_taken = aot_gpr_2 == 0u; // nop if (branch_taken) { goto L_08B53E6C; @@ -8639,8 +8640,8 @@ L_08B53E54: goto L_08B53E5C; } L_08B53E5C: - if (aot_gpr_16 != 0u) { - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast(3)))))); + if (ctx.gpr[16] != 0u) { + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast(3)))))); goto L_08B53E74; } goto L_08B53E64; @@ -8654,7 +8655,7 @@ L_08B53E64: } L_08B53E6C: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); if (branch_taken) { goto L_08B53FA4; } @@ -8679,7 +8680,7 @@ L_08B53E98: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B53EA4u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B53EA4u) goto L_08B53EA4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B53EA4u) goto L_08B53EA4; AOT_REGCACHE_SYNC_OUT(); return; L_08B53EA4: aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[0])); @@ -8718,7 +8719,7 @@ L_08B53EDC: aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B53F04u); aot_gpr_5 = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B53F04u) goto L_08B53F04; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B53F04u) goto L_08B53F04; AOT_REGCACHE_SYNC_OUT(); return; L_08B53F04: aot_fpr_12 = std::bit_cast(std::bit_cast(ctx.fpr[0])); @@ -8755,32 +8756,32 @@ L_08B53F34: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(0))); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(132), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(132), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(1))); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(133), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(133), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(2))); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(134), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(134), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(3))); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(135), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(135), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(0))); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(136), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(136), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(1))); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(137), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(137), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(2))); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(138), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(138), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(3))); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(139), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast(139), static_cast(aot_gpr_4)); goto L_08B53FA0; L_08B53FA0: - ctx.gpr[2] = (0u | 0u); + aot_gpr_2 = (0u | 0u); goto L_08B53FA4; L_08B53FA4: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(12), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); - aot_gpr_16 = aot_run_words[1]; + ctx.gpr[16] = aot_run_words[1]; ctx.gpr[17] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -8792,13 +8793,13 @@ L_08B53FA4: AOT_REGCACHE_SYNC_OUT(); return; L_08B53FBC: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(12), aot_run_words); } - aot_gpr_16 = (aot_gpr_4 | 0u); + ctx.gpr[16] = (aot_gpr_4 | 0u); ctx.gpr[18] = (0u | 1u); aot_gpr_31 = (0x08B53FE0u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B53FE0u) goto L_08B53FE0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B53FE0u) goto L_08B53FE0; AOT_REGCACHE_SYNC_OUT(); return; L_08B53FE0: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[0])); diff --git a/profiles/vcs/generated/generated_unit_0212.cpp b/profiles/vcs/generated/generated_unit_0212.cpp index 26f600b..18d7c73 100644 --- a/profiles/vcs/generated/generated_unit_0212.cpp +++ b/profiles/vcs/generated/generated_unit_0212.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,20 +139,20 @@ static const std::uint16_t kEntryIds_recomp_unit_0212[4096] = { }; void recomp_unit_0212_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,16,31,17 fprs=12,13,20,0 gpr_occ=4233 fpr_occ=50 gpr_total=6160 fpr_total=72 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,31,16,6 fprs=12,13,20,0 gpr_occ=4279 fpr_occ=61 gpr_total=6372 fpr_total=83 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; - std::uint32_t aot_gpr_16 = ctx.gpr[16]; std::uint32_t aot_gpr_31 = ctx.gpr[31]; - std::uint32_t aot_gpr_17 = ctx.gpr[17]; + std::uint32_t aot_gpr_16 = ctx.gpr[16]; + std::uint32_t aot_gpr_6 = ctx.gpr[6]; float aot_fpr_12 = ctx.fpr[12]; float aot_fpr_13 = ctx.fpr[13]; float aot_fpr_20 = ctx.fpr[20]; float aot_fpr_0 = ctx.fpr[0]; bool aot_regcache_valid = true; -#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[16] = aot_gpr_16; ctx.gpr[31] = aot_gpr_31; ctx.gpr[17] = aot_gpr_17; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; ctx.fpr[0] = aot_fpr_0; } } while (false) -#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_17 = ctx.gpr[17]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_0 = ctx.fpr[0]; } } while (false) +#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[29] = aot_gpr_29; ctx.gpr[31] = aot_gpr_31; ctx.gpr[16] = aot_gpr_16; ctx.gpr[6] = aot_gpr_6; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; ctx.fpr[0] = aot_fpr_0; } } while (false) +#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_6 = ctx.gpr[6]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_0 = ctx.fpr[0]; } } while (false) // PSPRECOMP_AOT_REGCACHE_END std::uint32_t jump_target = 0u; std::uint32_t local_transfers = 0u; @@ -1230,17 +1231,17 @@ LOCAL_DISPATCH: } L_08B54000: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(8))); - aot_gpr_5 = (aot_gpr_17 + aot_gpr_17); - aot_gpr_5 = (aot_gpr_17 + aot_gpr_5); + aot_gpr_5 = (ctx.gpr[17] + ctx.gpr[17]); + aot_gpr_5 = (ctx.gpr[17] + aot_gpr_5); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); aot_gpr_5 = (aot_gpr_4 + static_cast(384)); - ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(1))); + aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(1))); ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(2))); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0))); aot_gpr_4 = (aot_gpr_29 + static_cast(4)); aot_gpr_31 = (0x08B5402Cu); ctx.gpr[8] = (0u | 255u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5402Cu) goto L_08B5402C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A3550C, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0140_entry, 140u, 317u, 0x08A3550Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5402Cu) goto L_08B5402C; AOT_REGCACHE_SYNC_OUT(); return; L_08B5402C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); @@ -1271,14 +1272,14 @@ L_08B54068: L_08B54074: aot_gpr_31 = (0x08B5407Cu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5407Cu) goto L_08B5407C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5407Cu) goto L_08B5407C; AOT_REGCACHE_SYNC_OUT(); return; L_08B5407C: ctx.gpr[2] = (ctx.gpr[18] | 0u); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(12), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -1309,7 +1310,7 @@ L_08B540B4: aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(16), static_cast(aot_gpr_5)); aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast(8724))); aot_mem.aot_direct_store8(aot_gpr_29 + static_cast(18), static_cast(aot_gpr_5)); - ctx.gpr[6] = (aot_gpr_29 + static_cast(16)); + aot_gpr_6 = (aot_gpr_29 + static_cast(16)); aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(3)))))); aot_mem.aot_direct_store_word_right(aot_gpr_29 + static_cast(19), aot_gpr_5); aot_mem.aot_direct_store_word_left(aot_gpr_29 + static_cast(22), aot_gpr_5); @@ -1334,8 +1335,8 @@ L_08B540B4: } L_08B5410C: aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(28), static_cast(0u)); - aot_gpr_4 = (ctx.gpr[6] | 0u); - ctx.gpr[6] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(28)))))); + aot_gpr_4 = (aot_gpr_6 | 0u); + aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast(28)))))); aot_gpr_31 = (0x08B54120u); ctx.gpr[7] = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0140_entry, 140u, 795u, 0x08A3716Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B54120u) goto L_08B54120; @@ -1350,9 +1351,9 @@ L_08B54120: } L_08B54128: ctx.gpr[7] = (aot_gpr_5 | 0u); - aot_gpr_5 = (ctx.gpr[6] | 0u); + aot_gpr_5 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x08B54138u); - ctx.gpr[6] = (ctx.gpr[7] | 0u); + aot_gpr_6 = (ctx.gpr[7] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 189u, 0x08ADCA34u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B54138u) goto L_08B54138; AOT_REGCACHE_SYNC_OUT(); return; L_08B54138: @@ -1366,7 +1367,7 @@ L_08B54138: AOT_REGCACHE_SYNC_OUT(); return; L_08B54148: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(20), aot_run_words); } aot_gpr_16 = (aot_gpr_4 | 0u); ctx.gpr[18] = (0u | 1u); @@ -1375,8 +1376,8 @@ L_08B54148: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0195_entry, 195u, 200u, 0x08B10D5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5416Cu) goto L_08B5416C; AOT_REGCACHE_SYNC_OUT(); return; L_08B5416C: - aot_gpr_17 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (ctx.gpr[2] | 0u); + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_08B5418C; @@ -1384,7 +1385,7 @@ L_08B5416C: goto L_08B54178; } L_08B54178: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(96))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -1404,7 +1405,7 @@ L_08B5418C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B54198u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B54198u) goto L_08B54198; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B54198u) goto L_08B54198; AOT_REGCACHE_SYNC_OUT(); return; L_08B54198: { const bool branch_taken = 0u == 0u; @@ -1415,17 +1416,17 @@ L_08B54198: goto L_08B541A0; } L_08B541A0: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(10)))))); - ctx.gpr[6] = (aot_gpr_29 + static_cast(16)); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(10)))))); + aot_gpr_6 = (aot_gpr_29 + static_cast(16)); aot_gpr_31 = (0x08B541B0u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B541B0u) goto L_08B541B0; AOT_REGCACHE_SYNC_OUT(); return; L_08B541B0: - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(96), ctx.gpr[2]); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(16))); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(4), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(96))); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(4), static_cast(aot_gpr_4)); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(194))); goto L_08B541C4; L_08B541C4: @@ -1446,17 +1447,17 @@ L_08B541D8: } goto L_08B541E0; L_08B541E0: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(10)))))); - ctx.gpr[6] = (aot_gpr_29 + static_cast(17)); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(10)))))); + aot_gpr_6 = (aot_gpr_29 + static_cast(17)); aot_gpr_31 = (0x08B541F0u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B541F0u) goto L_08B541F0; AOT_REGCACHE_SYNC_OUT(); return; L_08B541F0: - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(96), ctx.gpr[2]); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(17))); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(4), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(96))); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(4), static_cast(aot_gpr_4)); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(204)))))); goto L_08B54204; L_08B54204: @@ -1474,7 +1475,7 @@ L_08B54218: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B54224u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B54224u) goto L_08B54224; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B54224u) goto L_08B54224; AOT_REGCACHE_SYNC_OUT(); return; L_08B54224: { const bool branch_taken = 0u == 0u; @@ -1488,7 +1489,7 @@ L_08B5422C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B54238u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B54238u) goto L_08B54238; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B54238u) goto L_08B54238; AOT_REGCACHE_SYNC_OUT(); return; L_08B54238: { const bool branch_taken = 0u == 0u; @@ -1502,7 +1503,7 @@ L_08B54240: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B5424Cu); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5424Cu) goto L_08B5424C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5424Cu) goto L_08B5424C; AOT_REGCACHE_SYNC_OUT(); return; L_08B5424C: ctx.gpr[2] = (ctx.gpr[18] | 0u); @@ -1511,7 +1512,7 @@ L_08B54250: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(20), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -1523,7 +1524,7 @@ L_08B54250: AOT_REGCACHE_SYNC_OUT(); return; L_08B54268: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(20), aot_run_words); } aot_gpr_16 = (aot_gpr_4 | 0u); ctx.gpr[18] = (0u | 1u); @@ -1532,8 +1533,8 @@ L_08B54268: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0195_entry, 195u, 200u, 0x08B10D5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5428Cu) goto L_08B5428C; AOT_REGCACHE_SYNC_OUT(); return; L_08B5428C: - aot_gpr_17 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (ctx.gpr[2] | 0u); + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_08B542AC; @@ -1541,7 +1542,7 @@ L_08B5428C: goto L_08B54298; } L_08B54298: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(96))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -1551,7 +1552,7 @@ L_08B54298: } L_08B542A4: { const bool branch_taken = 0u == 0u; - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(96))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); if (branch_taken) { goto L_08B542E4; } @@ -1562,7 +1563,7 @@ L_08B542AC: aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_31 = (0x08B542BCu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B542BCu) goto L_08B542BC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B542BCu) goto L_08B542BC; AOT_REGCACHE_SYNC_OUT(); return; L_08B542BC: { const bool branch_taken = 0u == 0u; @@ -1573,23 +1574,23 @@ L_08B542BC: goto L_08B542C4; } L_08B542C4: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(10)))))); - ctx.gpr[6] = (aot_gpr_29 + static_cast(16)); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(10)))))); + aot_gpr_6 = (aot_gpr_29 + static_cast(16)); aot_gpr_31 = (0x08B542D4u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B542D4u) goto L_08B542D4; AOT_REGCACHE_SYNC_OUT(); return; L_08B542D4: - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(96), ctx.gpr[2]); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(16))); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(4), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(96))); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(4), static_cast(aot_gpr_4)); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); goto L_08B542E4; L_08B542E4: aot_fpr_12 = std::bit_cast(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(460))); aot_gpr_31 = (0x08B542F0u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B542F0u) goto L_08B542F0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B542F0u) goto L_08B542F0; AOT_REGCACHE_SYNC_OUT(); return; L_08B542F0: ctx.gpr[2] = (ctx.gpr[18] | 0u); @@ -1598,7 +1599,7 @@ L_08B542F4: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(20), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -1610,7 +1611,7 @@ L_08B542F4: AOT_REGCACHE_SYNC_OUT(); return; L_08B5430C: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(20), aot_run_words); } aot_gpr_16 = (aot_gpr_4 | 0u); ctx.gpr[18] = (0u | 1u); @@ -1619,8 +1620,8 @@ L_08B5430C: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0195_entry, 195u, 200u, 0x08B10D5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B54330u) goto L_08B54330; AOT_REGCACHE_SYNC_OUT(); return; L_08B54330: - aot_gpr_17 = (ctx.gpr[2] | 0u); - { const bool branch_taken = aot_gpr_17 != 0u; + ctx.gpr[17] = (ctx.gpr[2] | 0u); + { const bool branch_taken = ctx.gpr[17] != 0u; // nop if (branch_taken) { goto L_08B54354; @@ -1632,7 +1633,7 @@ L_08B5433C: aot_fpr_12 = std::bit_cast(aot_gpr_4); aot_gpr_31 = (0x08B5434Cu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5434Cu) goto L_08B5434C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5434Cu) goto L_08B5434C; AOT_REGCACHE_SYNC_OUT(); return; L_08B5434C: { const bool branch_taken = 0u == 0u; @@ -1643,24 +1644,24 @@ L_08B5434C: goto L_08B54354; } L_08B54354: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(96))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); if (aot_gpr_4 != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(96))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); goto L_08B54380; } goto L_08B54360; L_08B54360: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_17 + static_cast(10)))))); - ctx.gpr[6] = (aot_gpr_29 + static_cast(16)); + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast(10)))))); + aot_gpr_6 = (aot_gpr_29 + static_cast(16)); aot_gpr_31 = (0x08B54370u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B54370u) goto L_08B54370; AOT_REGCACHE_SYNC_OUT(); return; L_08B54370: - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(96), ctx.gpr[2]); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(96), ctx.gpr[2]); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast(16))); - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(4), static_cast(aot_gpr_4)); - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(96))); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(4), static_cast(aot_gpr_4)); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(96))); goto L_08B54380; L_08B54380: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(464)))))); @@ -1668,14 +1669,14 @@ L_08B54380: aot_fpr_12 = static_cast(static_cast(std::bit_cast(aot_fpr_12))); aot_gpr_31 = (0x08B54394u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B54394u) goto L_08B54394; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B54394u) goto L_08B54394; AOT_REGCACHE_SYNC_OUT(); return; L_08B54394: ctx.gpr[2] = (ctx.gpr[18] | 0u); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(20), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -1725,19 +1726,19 @@ L_08B543E0: AOT_REGCACHE_SYNC_OUT(); return; L_08B543F0: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(36), aot_run_words); } - aot_gpr_17 = (aot_gpr_4 | 0u); + ctx.gpr[17] = (aot_gpr_4 | 0u); aot_gpr_31 = (0x08B5440Cu); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0195_entry, 195u, 200u, 0x08B10D5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5440Cu) goto L_08B5440C; AOT_REGCACHE_SYNC_OUT(); return; L_08B5440C: aot_gpr_16 = (ctx.gpr[2] | 0u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B5441Cu); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5441Cu) goto L_08B5441C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5441Cu) goto L_08B5441C; AOT_REGCACHE_SYNC_OUT(); return; L_08B5441C: aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_0)); @@ -1785,7 +1786,7 @@ L_08B54458: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(36), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -1796,19 +1797,19 @@ L_08B54458: AOT_REGCACHE_SYNC_OUT(); return; L_08B54470: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(36), aot_run_words); } - aot_gpr_17 = (aot_gpr_4 | 0u); + ctx.gpr[17] = (aot_gpr_4 | 0u); aot_gpr_31 = (0x08B5448Cu); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0195_entry, 195u, 200u, 0x08B10D5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5448Cu) goto L_08B5448C; AOT_REGCACHE_SYNC_OUT(); return; L_08B5448C: aot_gpr_16 = (ctx.gpr[2] | 0u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B5449Cu); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5449Cu) goto L_08B5449C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5449Cu) goto L_08B5449C; AOT_REGCACHE_SYNC_OUT(); return; L_08B5449C: { const bool branch_taken = aot_gpr_16 == 0u; @@ -1883,7 +1884,7 @@ L_08B5450C: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(36), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -1894,26 +1895,26 @@ L_08B5450C: AOT_REGCACHE_SYNC_OUT(); return; L_08B54524: aot_gpr_29 = (aot_gpr_29 + static_cast(-64)); - { const std::uint32_t aot_run_words[4]{std::bit_cast(aot_fpr_20), aot_gpr_16, aot_gpr_17, aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{std::bit_cast(aot_fpr_20), aot_gpr_16, ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(36), aot_run_words); } - aot_gpr_17 = (aot_gpr_4 | 0u); + ctx.gpr[17] = (aot_gpr_4 | 0u); aot_gpr_31 = (0x08B54544u); aot_gpr_5 = (0u | 1u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0195_entry, 195u, 200u, 0x08B10D5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B54544u) goto L_08B54544; AOT_REGCACHE_SYNC_OUT(); return; L_08B54544: aot_gpr_16 = (ctx.gpr[2] | 0u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B54554u); aot_gpr_5 = (0u | 2u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B54554u) goto L_08B54554; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B54554u) goto L_08B54554; AOT_REGCACHE_SYNC_OUT(); return; L_08B54554: aot_fpr_20 = std::bit_cast(std::bit_cast(aot_fpr_0)); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B54564u); aot_gpr_5 = (0u | 3u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B54564u) goto L_08B54564; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B54564u) goto L_08B54564; AOT_REGCACHE_SYNC_OUT(); return; L_08B54564: aot_fpr_12 = std::bit_cast(std::bit_cast(aot_fpr_0)); @@ -1984,7 +1985,7 @@ L_08B545C0: aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(36), aot_run_words); aot_fpr_20 = std::bit_cast(aot_run_words[0]); aot_gpr_16 = aot_run_words[1]; - aot_gpr_17 = aot_run_words[2]; + ctx.gpr[17] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } jump_target = aot_gpr_31; @@ -2013,11 +2014,11 @@ L_08B545F4: } L_08B54600: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(3)))))); - ctx.gpr[6] = (2237u << 16u); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(-28736)); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(100))); - ctx.gpr[6] = (aot_mem.aot_direct_load16(ctx.gpr[6] + static_cast(52))); - aot_gpr_5 = (aot_gpr_5 ^ ctx.gpr[6]); + aot_gpr_6 = (2237u << 16u); + aot_gpr_6 = (aot_gpr_6 + static_cast(-28736)); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(100))); + aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_6 + static_cast(52))); + aot_gpr_5 = (aot_gpr_5 ^ aot_gpr_6); aot_gpr_5 = (aot_gpr_5 < static_cast(1) ? 1u : 0u); aot_gpr_5 = (aot_gpr_5 & 255u); { const bool branch_taken = aot_gpr_5 == 0u; @@ -2056,7 +2057,7 @@ L_08B54644: L_08B54650: aot_gpr_31 = (0x08B54658u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B54658u) goto L_08B54658; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B54658u) goto L_08B54658; AOT_REGCACHE_SYNC_OUT(); return; L_08B54658: { const bool branch_taken = 0u == 0u; @@ -2070,7 +2071,7 @@ L_08B54660: aot_fpr_12 = std::bit_cast(0u); aot_gpr_31 = (0x08B5466Cu); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5466Cu) goto L_08B5466C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5466Cu) goto L_08B5466C; AOT_REGCACHE_SYNC_OUT(); return; L_08B5466C: ctx.gpr[2] = (0u | 1u); @@ -2086,13 +2087,13 @@ L_08B54670: AOT_REGCACHE_SYNC_OUT(); return; L_08B54680: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31}; + { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(0), aot_run_words); } aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_17 = (0u | 1u); + ctx.gpr[17] = (0u | 1u); aot_gpr_31 = (0x08B546A0u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B546A0u) goto L_08B546A0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0880692C, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 337u, 0x0880692Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B546A0u) goto L_08B546A0; AOT_REGCACHE_SYNC_OUT(); return; L_08B546A0: { const bool branch_taken = ctx.gpr[2] == 0u; @@ -2106,14 +2107,14 @@ L_08B546A8: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B546B4u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B546B4u) goto L_08B546B4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806A88, 0u, 360u, 0x08806A88u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 360u, 0x08806A88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B546B4u) goto L_08B546B4; AOT_REGCACHE_SYNC_OUT(); return; L_08B546B4: aot_fpr_12 = std::bit_cast(ctx.fpu_float_to_word_ct<1u>(aot_fpr_0)); aot_gpr_5 = (std::bit_cast(aot_fpr_12)); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); - ctx.gpr[6] = (static_cast(aot_gpr_5) < static_cast(ctx.gpr[6]) ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] != 0u; + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(7656))); + aot_gpr_6 = (static_cast(aot_gpr_5) < static_cast(aot_gpr_6) ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 != 0u; aot_gpr_4 = (0u | 0u); if (branch_taken) { goto L_08B546E8; @@ -2132,11 +2133,11 @@ L_08B546D4: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B546E0u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B546E0u) goto L_08B546E0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B546E0u) goto L_08B546E0; AOT_REGCACHE_SYNC_OUT(); return; L_08B546E0: { const bool branch_taken = 0u == 0u; - ctx.gpr[2] = (aot_gpr_17 | 0u); + ctx.gpr[2] = (ctx.gpr[17] | 0u); if (branch_taken) { goto L_08B5472C; } @@ -2162,7 +2163,7 @@ L_08B54708: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B54714u); aot_gpr_5 = (0u | 1u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B54714u) goto L_08B54714; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B54714u) goto L_08B54714; AOT_REGCACHE_SYNC_OUT(); return; L_08B54714: { const bool branch_taken = 0u == 0u; @@ -2176,16 +2177,16 @@ L_08B5471C: aot_gpr_4 = (aot_gpr_16 | 0u); aot_gpr_31 = (0x08B54728u); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B54728u) goto L_08B54728; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08807098, 0u, 451u, 0x08807098u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 451u, 0x08807098u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B54728u) goto L_08B54728; AOT_REGCACHE_SYNC_OUT(); return; L_08B54728: - ctx.gpr[2] = (aot_gpr_17 | 0u); + ctx.gpr[2] = (ctx.gpr[17] | 0u); goto L_08B5472C; L_08B5472C: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -2216,7 +2217,7 @@ L_08B54764: aot_gpr_5 = (16256u << 16u); aot_gpr_31 = (0x08B54770u); aot_fpr_12 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B54770u) goto L_08B54770; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B54770u) goto L_08B54770; AOT_REGCACHE_SYNC_OUT(); return; L_08B54770: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5892))); @@ -2280,7 +2281,7 @@ L_08B547D0: L_08B547D8: aot_gpr_31 = (0x08B547E0u); aot_gpr_5 = (0u + static_cast(-10001)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B547E0u) goto L_08B547E0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B547E0u) goto L_08B547E0; AOT_REGCACHE_SYNC_OUT(); return; L_08B547E0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5892))); @@ -2302,7 +2303,7 @@ L_08B547FC: aot_gpr_5 = (16384u << 16u); aot_gpr_31 = (0x08B54808u); aot_fpr_12 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B54808u) goto L_08B54808; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B54808u) goto L_08B54808; AOT_REGCACHE_SYNC_OUT(); return; L_08B54808: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5892))); @@ -2365,7 +2366,7 @@ L_08B54864: L_08B5486C: aot_gpr_31 = (0x08B54874u); aot_gpr_5 = (0u + static_cast(-10001)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B54874u) goto L_08B54874; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B54874u) goto L_08B54874; AOT_REGCACHE_SYNC_OUT(); return; L_08B54874: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5892))); @@ -2387,7 +2388,7 @@ L_08B54890: aot_gpr_5 = (16608u << 16u); aot_gpr_31 = (0x08B5489Cu); aot_fpr_12 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5489Cu) goto L_08B5489C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5489Cu) goto L_08B5489C; AOT_REGCACHE_SYNC_OUT(); return; L_08B5489C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5892))); @@ -2451,7 +2452,7 @@ L_08B548FC: L_08B54904: aot_gpr_31 = (0x08B5490Cu); aot_gpr_5 = (0u + static_cast(-10001)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5490Cu) goto L_08B5490C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5490Cu) goto L_08B5490C; AOT_REGCACHE_SYNC_OUT(); return; L_08B5490C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5892))); @@ -2473,7 +2474,7 @@ L_08B54928: aot_gpr_5 = (16640u << 16u); aot_gpr_31 = (0x08B54934u); aot_fpr_12 = std::bit_cast(aot_gpr_5); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B54934u) goto L_08B54934; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08806DC0, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 425u, 0x08806DC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B54934u) goto L_08B54934; AOT_REGCACHE_SYNC_OUT(); return; L_08B54934: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5892))); @@ -2537,7 +2538,7 @@ L_08B54994: L_08B5499C: aot_gpr_31 = (0x08B549A4u); aot_gpr_5 = (0u + static_cast(-10001)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B549A4u) goto L_08B549A4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_088073CC, 0u, 483u, 0x088073CCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0000_entry, 0u, 483u, 0x088073CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B549A4u) goto L_08B549A4; AOT_REGCACHE_SYNC_OUT(); return; L_08B549A4: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast(5892))); @@ -2560,7 +2561,7 @@ L_08B549B8: L_08B549C0: aot_gpr_5 = (aot_gpr_5 + static_cast(-30004)); aot_gpr_31 = (0x08B549CCu); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0032_entry, 32u, 266u, 0x08885220u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B549CCu) goto L_08B549CC; AOT_REGCACHE_SYNC_OUT(); return; L_08B549CC: @@ -2574,8 +2575,8 @@ L_08B549CC: L_08B549D8: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); ctx.gpr[3] = (519u << 16u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (aot_gpr_4 + 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_4 + 0u); aot_gpr_4 = (ctx.gpr[3] | 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), aot_gpr_31); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); @@ -2600,8 +2601,8 @@ L_08B54A08: goto L_08B54A18; } L_08B54A18: - ctx.gpr[6] = (0u << 16u); - ctx.gpr[7] = (ctx.gpr[6] + static_cast(0)); + aot_gpr_6 = (0u << 16u); + ctx.gpr[7] = (aot_gpr_6 + static_cast(0)); { const bool branch_taken = ctx.gpr[7] == 0u; ctx.gpr[3] = (2235u << 16u); if (branch_taken) { @@ -2610,7 +2611,7 @@ L_08B54A18: goto L_08B54A28; } L_08B54A28: - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(0))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); goto L_08B54A2C; L_08B54A2C: ctx.gpr[3] = (0u << 16u); @@ -2649,14 +2650,14 @@ L_08B54A5C: AOT_REGCACHE_SYNC_OUT(); return; L_08B54A6C: aot_gpr_4 = (ctx.gpr[2] + 0u); - aot_gpr_5 = (aot_gpr_17 + 0u); + aot_gpr_5 = (ctx.gpr[17] + 0u); aot_gpr_31 = (0x08B54A7Cu); - ctx.gpr[6] = (aot_gpr_16 + 0u); + aot_gpr_6 = (aot_gpr_16 + 0u); ctx.pc = 0x08B73464u; AOT_REGCACHE_SYNC_OUT(); return; L_08B54A7C: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); ctx.gpr[2] = (0u + 0u); jump_target = aot_gpr_31; @@ -2694,14 +2695,14 @@ L_08B54ABC: L_08B54AC4: ctx.gpr[8] = (ctx.gpr[3] + static_cast(-12168)); { const bool branch_taken = ctx.gpr[8] == 0u; - ctx.gpr[6] = (0u + static_cast(32)); + aot_gpr_6 = (0u + static_cast(32)); if (branch_taken) { goto L_08B54A2C; } goto L_08B54AD0; } L_08B54AD0: - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[3] + static_cast(-12168))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[3] + static_cast(-12168))); goto L_08B54A2C; L_08B54AD8: aot_gpr_5 = (2233u << 16u); @@ -2710,7 +2711,7 @@ L_08B54AD8: L_08B54AE4: ctx.gpr[3] = (0u << 16u); aot_gpr_29 = (aot_gpr_29 + static_cast(-1008)); - ctx.gpr[6] = (ctx.gpr[3] + static_cast(0)); + aot_gpr_6 = (ctx.gpr[3] + static_cast(0)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(996), ctx.gpr[21]); ctx.gpr[21] = (aot_gpr_29 + static_cast(80)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(988), ctx.gpr[19]); @@ -2719,8 +2720,8 @@ L_08B54AE4: ctx.gpr[18] = (aot_gpr_5 + 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(1000), aot_gpr_31); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(992), ctx.gpr[20]); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(980), aot_gpr_17); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(980), ctx.gpr[17]); + { const bool branch_taken = aot_gpr_6 == 0u; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(976), aot_gpr_16); if (branch_taken) { goto L_08B54B28; @@ -2752,23 +2753,23 @@ L_08B54B34: goto L_08B54B3C; } L_08B54B3C: - aot_gpr_17 = (aot_gpr_29 + 0u); - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), aot_gpr_16); + ctx.gpr[17] = (aot_gpr_29 + 0u); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), aot_gpr_16); goto L_08B54B44; L_08B54B44: aot_gpr_4 = (aot_gpr_16 + 0u); aot_gpr_31 = (0x08B54B50u); ctx.gpr[20] = (ctx.gpr[20] + static_cast(1)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B54B50u) goto L_08B54B50; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B54B50u) goto L_08B54B50; AOT_REGCACHE_SYNC_OUT(); return; L_08B54B50: - ctx.gpr[6] = (aot_gpr_16 + ctx.gpr[2]); - aot_gpr_16 = (ctx.gpr[6] + static_cast(1)); + aot_gpr_6 = (aot_gpr_16 + ctx.gpr[2]); + aot_gpr_16 = (aot_gpr_6 + static_cast(1)); ctx.gpr[3] = (aot_gpr_16 - ctx.gpr[18]); aot_gpr_5 = (static_cast(ctx.gpr[20]) < 20 ? 1u : 0u); ctx.gpr[2] = (static_cast(ctx.gpr[3]) < static_cast(ctx.gpr[19]) ? 1u : 0u); { const bool branch_taken = aot_gpr_5 == 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(4)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(4)); if (branch_taken) { goto L_08B54B74; } @@ -2776,7 +2777,7 @@ L_08B54B50: } L_08B54B6C: if (ctx.gpr[2] != 0u) { - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(0), aot_gpr_16); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(0), aot_gpr_16); goto L_08B54B44; } goto L_08B54B74; @@ -2834,14 +2835,14 @@ L_08B54BCC: aot_gpr_4 = (0u << 16u); ctx.gpr[21] = (aot_gpr_4 + static_cast(0)); { const bool branch_taken = ctx.gpr[21] == 0u; - ctx.gpr[6] = (0u << 16u); + aot_gpr_6 = (0u << 16u); if (branch_taken) { goto L_08B54BE8; } goto L_08B54BDC; } L_08B54BDC: - aot_gpr_4 = (ctx.gpr[6] + static_cast(0)); + aot_gpr_4 = (aot_gpr_6 + static_cast(0)); { const bool branch_taken = aot_gpr_4 != 0u; // nop if (branch_taken) { @@ -2885,7 +2886,7 @@ L_08B54C1C: ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(992))); ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(988))); ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(984))); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(980))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(980))); aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(976))); ctx.gpr[2] = (0u + static_cast(1)); jump_target = aot_gpr_31; @@ -2920,7 +2921,7 @@ L_08B54C7C: ctx.gpr[14] = (2233u << 16u); ctx.gpr[13] = (ctx.gpr[14] + static_cast(-29612)); aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast(52), ctx.gpr[13]); - ctx.gpr[6] = (ctx.gpr[21] + static_cast(124)); + aot_gpr_6 = (ctx.gpr[21] + static_cast(124)); aot_gpr_5 = (0u + 0u); aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast(48), 0u); { const std::uint32_t aot_run_words[10]{0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u}; @@ -2928,7 +2929,7 @@ L_08B54C7C: aot_mem.aot_direct_store8(ctx.gpr[21] + static_cast(96), static_cast(0u)); goto L_08B54CC0; L_08B54CC0: - aot_gpr_16 = (ctx.gpr[6] + aot_gpr_5); + aot_gpr_16 = (aot_gpr_6 + aot_gpr_5); aot_gpr_5 = (aot_gpr_5 + static_cast(1)); ctx.gpr[15] = (aot_gpr_5 < static_cast(36) ? 1u : 0u); { const bool branch_taken = ctx.gpr[15] != 0u; @@ -2947,18 +2948,18 @@ L_08B54CD4: ctx.gpr[24] = (0u + static_cast(-6547)); ctx.gpr[19] = (0u + static_cast(-8468)); ctx.gpr[18] = (0u + static_cast(5)); - aot_gpr_17 = (0u + static_cast(11)); + ctx.gpr[17] = (0u + static_cast(11)); aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast(168), ctx.gpr[8]); aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast(172), ctx.gpr[9]); aot_gpr_5 = (0u + 0u); - ctx.gpr[6] = (0u + static_cast(276)); + aot_gpr_6 = (0u + static_cast(276)); aot_mem.aot_direct_store16(ctx.gpr[21] + static_cast(176), static_cast(ctx.gpr[2])); aot_mem.aot_direct_store16(ctx.gpr[21] + static_cast(178), static_cast(ctx.gpr[3])); aot_mem.aot_direct_store16(ctx.gpr[21] + static_cast(180), static_cast(ctx.gpr[25])); aot_mem.aot_direct_store16(ctx.gpr[21] + static_cast(182), static_cast(ctx.gpr[24])); aot_mem.aot_direct_store16(ctx.gpr[21] + static_cast(184), static_cast(ctx.gpr[19])); aot_mem.aot_direct_store16(ctx.gpr[21] + static_cast(186), static_cast(ctx.gpr[18])); - aot_mem.aot_direct_store16(ctx.gpr[21] + static_cast(188), static_cast(aot_gpr_17)); + aot_mem.aot_direct_store16(ctx.gpr[21] + static_cast(188), static_cast(ctx.gpr[17])); aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast(160), 0u); { const std::uint32_t aot_run_words[6]{0u, 0u, 0u, 0u, 0u, 0u}; aot_mem.aot_direct_store32_block(ctx.gpr[21] + static_cast(192), aot_run_words); } @@ -2975,7 +2976,7 @@ L_08B54CD4: aot_mem.aot_direct_store32_block(ctx.gpr[21] + static_cast(600), aot_run_words); } aot_gpr_31 = (0x08B54DA0u); aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast(612), 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B54DA0u) goto L_08B54DA0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B54DA0u) goto L_08B54DA0; AOT_REGCACHE_SYNC_OUT(); return; L_08B54DA0: aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast(892), 0u); @@ -3014,10 +3015,10 @@ L_08B54DD8: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(8), ctx.gpr[18]); ctx.gpr[18] = (aot_gpr_5 + 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); - aot_gpr_16 = (ctx.gpr[6] + 0u); + aot_gpr_16 = (aot_gpr_6 + 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); { const bool branch_taken = aot_gpr_4 == ctx.gpr[3]; - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); if (branch_taken) { goto L_08B54EF8; } @@ -3049,9 +3050,9 @@ L_08B54E10: goto L_08B54E18; } L_08B54E18: - ctx.gpr[6] = (0u + static_cast(1)); - { const bool branch_taken = aot_gpr_16 == ctx.gpr[6]; - aot_gpr_17 = (0u + static_cast(1)); + aot_gpr_6 = (0u + static_cast(1)); + { const bool branch_taken = aot_gpr_16 == aot_gpr_6; + ctx.gpr[17] = (0u + static_cast(1)); if (branch_taken) { goto L_08B54E3C; } @@ -3068,14 +3069,14 @@ L_08B54E24: } L_08B54E30: { const bool branch_taken = aot_gpr_16 == ctx.gpr[8]; - aot_gpr_17 = (0u + static_cast(2)); + ctx.gpr[17] = (0u + static_cast(2)); if (branch_taken) { goto L_08B54E3C; } goto L_08B54E38; } L_08B54E38: - aot_gpr_17 = (aot_gpr_16 + 0u); + ctx.gpr[17] = (aot_gpr_16 + 0u); goto L_08B54E3C; L_08B54E3C: ctx.gpr[9] = (0u + static_cast(1)); @@ -3106,19 +3107,19 @@ L_08B54E58: ctx.gpr[2] = (aot_gpr_4 + 0u); goto L_08B54E5C; L_08B54E5C: - ctx.gpr[6] = (ctx.gpr[18] + 0u); + aot_gpr_6 = (ctx.gpr[18] + 0u); goto L_08B54E60; L_08B54E60: ctx.gpr[7] = (static_cast(static_cast(ctx.gpr[18]) >> 31u)); aot_gpr_4 = (ctx.gpr[2] + 0u); aot_gpr_31 = (0x08B54E70u); - ctx.gpr[8] = (aot_gpr_17 + 0u); + ctx.gpr[8] = (ctx.gpr[17] + 0u); ctx.pc = 0x08B7369Cu; AOT_REGCACHE_SYNC_OUT(); return; L_08B54E70: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -3132,7 +3133,7 @@ L_08B54E88: ctx.pc = 0x08B7358Cu; AOT_REGCACHE_SYNC_OUT(); return; L_08B54E90: - ctx.gpr[6] = (ctx.gpr[18] + 0u); + aot_gpr_6 = (ctx.gpr[18] + 0u); goto L_08B54E60; L_08B54E98: if (aot_gpr_4 != 0u) { @@ -3146,7 +3147,7 @@ L_08B54EA0: ctx.pc = 0x08B7357Cu; AOT_REGCACHE_SYNC_OUT(); return; L_08B54EA8: - ctx.gpr[6] = (ctx.gpr[18] + 0u); + aot_gpr_6 = (ctx.gpr[18] + 0u); goto L_08B54E60; L_08B54EB0: aot_gpr_31 = (0x08B54EB8u); @@ -3154,18 +3155,18 @@ L_08B54EB0: ctx.pc = 0x08B73584u; AOT_REGCACHE_SYNC_OUT(); return; L_08B54EB8: - ctx.gpr[6] = (ctx.gpr[18] + 0u); + aot_gpr_6 = (ctx.gpr[18] + 0u); goto L_08B54E60; L_08B54EC0: { const bool branch_taken = aot_gpr_16 == 0u; - aot_gpr_17 = (0u + 0u); + ctx.gpr[17] = (0u + 0u); if (branch_taken) { goto L_08B54E3C; } goto L_08B54EC8; } L_08B54EC8: - aot_gpr_17 = (aot_gpr_16 + 0u); + ctx.gpr[17] = (aot_gpr_16 + 0u); goto L_08B54E3C; L_08B54ED0: aot_gpr_31 = (0x08B54ED8u); @@ -3201,8 +3202,8 @@ L_08B54F00: goto L_08B54E10; L_08B54F08: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_17); - aot_gpr_17 = (aot_gpr_4 + 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_4 + 0u); aot_gpr_4 = (0u << 16u); ctx.gpr[3] = (aot_gpr_4 + static_cast(0)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_31); @@ -3224,9 +3225,9 @@ L_08B54F30: aot_gpr_16 = (ctx.gpr[2] + 0u); goto L_08B55300; L_08B54F38: - ctx.gpr[6] = (2233u << 16u); + aot_gpr_6 = (2233u << 16u); ctx.gpr[3] = (2233u << 16u); - aot_gpr_5 = (ctx.gpr[6] + static_cast(-29608)); + aot_gpr_5 = (aot_gpr_6 + static_cast(-29608)); { const bool branch_taken = aot_gpr_16 == ctx.gpr[2]; aot_gpr_4 = (ctx.gpr[3] + static_cast(-29600)); if (branch_taken) { @@ -3241,7 +3242,7 @@ L_08B54F4C: AOT_REGCACHE_SYNC_OUT(); return; L_08B54F54: aot_gpr_31 = (0x08B54F5Cu); - aot_gpr_4 = (aot_gpr_17 + 0u); + aot_gpr_4 = (ctx.gpr[17] + 0u); ctx.pc = 0x08B73524u; AOT_REGCACHE_SYNC_OUT(); return; L_08B54F5C: @@ -3261,7 +3262,7 @@ L_08B54F6C: AOT_REGCACHE_SYNC_OUT(); return; L_08B54F74: aot_gpr_5 = (0u + 0u); - ctx.gpr[6] = (0u + 0u); + aot_gpr_6 = (0u + 0u); ctx.gpr[7] = (aot_gpr_29 + 0u); ctx.gpr[8] = (0u + 0u); { const bool branch_taken = ctx.gpr[2] == aot_gpr_16; @@ -3283,13 +3284,13 @@ L_08B54F94: AOT_REGCACHE_SYNC_OUT(); return; L_08B54F9C: aot_gpr_31 = (0x08B54FA4u); - aot_gpr_4 = (aot_gpr_17 + 0u); + aot_gpr_4 = (ctx.gpr[17] + 0u); ctx.pc = 0x08B73524u; AOT_REGCACHE_SYNC_OUT(); return; L_08B54FA4: aot_gpr_4 = (0u + static_cast(1)); aot_gpr_5 = (0u + 0u); - ctx.gpr[6] = (0u + 0u); + aot_gpr_6 = (0u + 0u); ctx.gpr[7] = (0u + 0u); aot_gpr_31 = (0x08B54FBCu); ctx.gpr[8] = (0u + 0u); @@ -3297,7 +3298,7 @@ L_08B54FA4: AOT_REGCACHE_SYNC_OUT(); return; L_08B54FBC: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(24))); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(32)); @@ -3314,7 +3315,7 @@ L_08B54FD0: ctx.gpr[18] = (aot_gpr_4 + 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(12), aot_gpr_31); { const bool branch_taken = ctx.gpr[3] != 0u; - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); if (branch_taken) { goto L_08B55068; } @@ -3324,7 +3325,7 @@ L_08B54FF4: ctx.gpr[3] = (2235u << 16u); aot_gpr_4 = (ctx.gpr[3] + static_cast(-12176)); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_17 = (1u << 16u); + ctx.gpr[17] = (1u << 16u); if (branch_taken) { goto L_08B5501C; } @@ -3340,8 +3341,8 @@ L_08B55004: goto L_08B55010; } L_08B55010: - aot_gpr_17 = (ctx.gpr[7] << 10u); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (ctx.gpr[7] << 10u); + { const bool branch_taken = ctx.gpr[17] == 0u; ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16628))); if (branch_taken) { goto L_08B5506C; @@ -3352,8 +3353,8 @@ L_08B5501C: ctx.gpr[2] = (2233u << 16u); aot_gpr_4 = (0u + static_cast(2)); aot_gpr_5 = (ctx.gpr[2] + static_cast(-29552)); - ctx.gpr[6] = (0u + static_cast(3)); - ctx.gpr[7] = (aot_gpr_17 + 0u); + aot_gpr_6 = (0u + static_cast(3)); + ctx.gpr[7] = (ctx.gpr[17] + 0u); aot_gpr_31 = (0x08B55038u); ctx.gpr[8] = (0u + static_cast(4096)); ctx.pc = 0x08B7354Cu; @@ -3374,10 +3375,10 @@ L_08B55048: ctx.pc = 0x08B7355Cu; AOT_REGCACHE_SYNC_OUT(); return; L_08B55050: - ctx.gpr[7] = (ctx.gpr[2] + aot_gpr_17); - ctx.gpr[6] = (2236u << 16u); + ctx.gpr[7] = (ctx.gpr[2] + ctx.gpr[17]); + aot_gpr_6 = (2236u << 16u); aot_gpr_5 = (2236u << 16u); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(16632), ctx.gpr[7]); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(16632), ctx.gpr[7]); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(16624), ctx.gpr[2]); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(16628), ctx.gpr[2]); goto L_08B55068; @@ -3391,8 +3392,8 @@ L_08B5506C: } goto L_08B55074; L_08B55074: - ctx.gpr[6] = (2236u << 16u); - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(16624))); + aot_gpr_6 = (2236u << 16u); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(16624))); aot_gpr_4 = (aot_gpr_5 + ctx.gpr[18]); ctx.gpr[8] = (aot_gpr_4 < ctx.gpr[2] ? 1u : 0u); { const bool branch_taken = ctx.gpr[8] != 0u; @@ -3415,14 +3416,14 @@ L_08B5508C: } L_08B550A0: ctx.gpr[2] = (aot_gpr_5 + 0u); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(16624), aot_gpr_4); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(16624), aot_gpr_4); goto L_08B550A8; L_08B550A8: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(12))); goto L_08B550AC; L_08B550AC: ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); jump_target = aot_gpr_31; aot_gpr_29 = (aot_gpr_29 + static_cast(16)); @@ -3433,8 +3434,8 @@ L_08B550AC: L_08B550C0: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); ctx.gpr[3] = (0u + static_cast(1)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (ctx.gpr[6] + 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_6 + 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_5 + 0u); { const bool branch_taken = aot_gpr_4 == ctx.gpr[3]; @@ -3476,7 +3477,7 @@ L_08B55100: aot_gpr_4 = (ctx.gpr[2] + 0u); aot_gpr_5 = (aot_gpr_16 + 0u); aot_gpr_31 = (0x08B55110u); - ctx.gpr[6] = (aot_gpr_17 + 0u); + aot_gpr_6 = (ctx.gpr[17] + 0u); ctx.pc = 0x08B73624u; AOT_REGCACHE_SYNC_OUT(); return; L_08B55110: @@ -3484,7 +3485,7 @@ L_08B55110: goto L_08B55114; L_08B55114: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); ctx.gpr[2] = (ctx.gpr[3] + 0u); jump_target = aot_gpr_31; @@ -3526,8 +3527,8 @@ L_08B5515C: L_08B55164: aot_gpr_29 = (aot_gpr_29 + static_cast(-16)); ctx.gpr[3] = (0u + static_cast(1)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_17); - aot_gpr_17 = (ctx.gpr[6] + 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_6 + 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_16); aot_gpr_16 = (aot_gpr_5 + 0u); { const bool branch_taken = aot_gpr_4 == ctx.gpr[3]; @@ -3569,7 +3570,7 @@ L_08B551A4: aot_gpr_4 = (ctx.gpr[2] + 0u); aot_gpr_5 = (aot_gpr_16 + 0u); aot_gpr_31 = (0x08B551B4u); - ctx.gpr[6] = (aot_gpr_17 + 0u); + aot_gpr_6 = (ctx.gpr[17] + 0u); ctx.pc = 0x08B73614u; AOT_REGCACHE_SYNC_OUT(); return; L_08B551B4: @@ -3577,7 +3578,7 @@ L_08B551B4: goto L_08B551B8; L_08B551B8: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(8))); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(4))); aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); ctx.gpr[2] = (ctx.gpr[3] + 0u); jump_target = aot_gpr_31; @@ -3795,7 +3796,7 @@ L_08B55320: ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08B55328: - { const std::uint32_t aot_run_words[23]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], aot_gpr_29, ctx.gpr[30], aot_gpr_31, std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[21]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[23]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[25]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[27]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[29]), std::bit_cast(ctx.fpr[30]), std::bit_cast(ctx.fpr[31])}; + { const std::uint32_t aot_run_words[23]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], aot_gpr_29, ctx.gpr[30], aot_gpr_31, std::bit_cast(aot_fpr_20), std::bit_cast(ctx.fpr[21]), std::bit_cast(ctx.fpr[22]), std::bit_cast(ctx.fpr[23]), std::bit_cast(ctx.fpr[24]), std::bit_cast(ctx.fpr[25]), std::bit_cast(ctx.fpr[26]), std::bit_cast(ctx.fpr[27]), std::bit_cast(ctx.fpr[28]), std::bit_cast(ctx.fpr[29]), std::bit_cast(ctx.fpr[30]), std::bit_cast(ctx.fpr[31])}; aot_mem.aot_direct_store32_block(aot_gpr_4 + static_cast(0), aot_run_words); } jump_target = aot_gpr_31; ctx.gpr[2] = (0u + 0u); @@ -3807,7 +3808,7 @@ L_08B5538C: { std::uint32_t aot_run_words[22]{}; aot_mem.aot_direct_load32_block(aot_gpr_4 + static_cast(0), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -3863,11 +3864,11 @@ L_08B55408: } L_08B55410: aot_gpr_5 = (ctx.gpr[3] + 0u); - ctx.gpr[6] = (0u + 0u); + aot_gpr_6 = (0u + 0u); ctx.gpr[7] = (0u | 61505u); aot_gpr_31 = (0x08B55424u); aot_gpr_4 = (ctx.gpr[2] + 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B55424u) goto L_08B55424; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61EF4, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B55424u) goto L_08B55424; AOT_REGCACHE_SYNC_OUT(); return; L_08B55424: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -3880,8 +3881,8 @@ L_08B55424: AOT_REGCACHE_SYNC_OUT(); return; L_08B55434: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_17); - aot_gpr_17 = (aot_gpr_4 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_31); @@ -3895,10 +3896,10 @@ L_08B55434: L_08B55454: aot_gpr_5 = (aot_gpr_4 | 0u); aot_gpr_31 = (0x08B55460u); - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); goto L_08B55434; L_08B55460: - aot_gpr_4 = (aot_gpr_17 | 0u); + aot_gpr_4 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B5546Cu); aot_gpr_5 = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0214_entry, 214u, 367u, 0x08B5D908u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5546Cu) goto L_08B5546C; @@ -3907,7 +3908,7 @@ L_08B5546C: { std::uint32_t aot_run_words[3]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; aot_gpr_31 = aot_run_words[2]; } jump_target = aot_gpr_31; @@ -3920,7 +3921,7 @@ L_08B55480: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); aot_gpr_5 = (2234u << 16u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(15532))); - { const std::uint32_t aot_run_words[5]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; + { const std::uint32_t aot_run_words[5]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(16), aot_run_words); } { const bool branch_taken = aot_gpr_4 == aot_gpr_5; aot_gpr_16 = (aot_gpr_4 | 0u); @@ -3932,7 +3933,7 @@ L_08B55480: L_08B554A8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(76))); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); if (branch_taken) { goto L_08B55500; } @@ -3945,7 +3946,7 @@ L_08B554B8: aot_gpr_5 = (aot_gpr_4 + ctx.gpr[18]); ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(0))); if (ctx.gpr[19] == 0u) { - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); goto L_08B554E8; } goto L_08B554C8; @@ -3968,10 +3969,10 @@ L_08B554D8: } L_08B554E0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(76))); - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); goto L_08B554E8; L_08B554E8: - aot_gpr_5 = (static_cast(aot_gpr_17) < 15 ? 1u : 0u); + aot_gpr_5 = (static_cast(ctx.gpr[17]) < 15 ? 1u : 0u); { const bool branch_taken = aot_gpr_5 != 0u; ctx.gpr[18] = (ctx.gpr[18] + static_cast(4)); if (branch_taken) { @@ -3988,20 +3989,20 @@ L_08B554F4: L_08B55500: ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(328))); { const bool branch_taken = ctx.gpr[18] == 0u; - aot_gpr_17 = (aot_gpr_16 + static_cast(332)); + ctx.gpr[17] = (aot_gpr_16 + static_cast(332)); if (branch_taken) { goto L_08B55534; } goto L_08B5550C; } L_08B5550C: - if (ctx.gpr[18] == aot_gpr_17) { + if (ctx.gpr[18] == ctx.gpr[17]) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(84))); goto L_08B55538; } goto L_08B55514; L_08B55514: - if (ctx.gpr[18] == aot_gpr_17) { + if (ctx.gpr[18] == ctx.gpr[17]) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(84))); goto L_08B55538; } @@ -4016,7 +4017,7 @@ L_08B55520: if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0214_entry, 214u, 367u, 0x08B5D908u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5552Cu) goto L_08B5552C; AOT_REGCACHE_SYNC_OUT(); return; L_08B5552C: - { const bool branch_taken = ctx.gpr[18] != aot_gpr_17; + { const bool branch_taken = ctx.gpr[18] != ctx.gpr[17]; aot_gpr_5 = (ctx.gpr[18] | 0u); if (branch_taken) { goto L_08B55520; @@ -4073,7 +4074,7 @@ L_08B55574: { std::uint32_t aot_run_words[5]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; aot_gpr_31 = aot_run_words[4]; @@ -4086,7 +4087,7 @@ L_08B55574: AOT_REGCACHE_SYNC_OUT(); return; L_08B55590: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - { const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31}; + { const std::uint32_t aot_run_words[4]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(16), aot_run_words); } { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_16 = (aot_gpr_4 | 0u); @@ -4121,7 +4122,7 @@ L_08B555D4: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -4168,9 +4169,9 @@ L_08B55618: goto L_08B55624; } L_08B55624: - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); aot_gpr_5 = (aot_gpr_4 | 0u); - aot_gpr_17 = (aot_gpr_17 - ctx.gpr[18]); + ctx.gpr[17] = (ctx.gpr[17] - ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), ctx.gpr[18]); aot_gpr_4 = (0u | 0u); aot_gpr_5 = (aot_gpr_5 & 3u); @@ -4180,7 +4181,7 @@ L_08B55624: } goto L_08B55644; L_08B55644: - { const bool branch_taken = static_cast(aot_gpr_17) <= 0; + { const bool branch_taken = static_cast(ctx.gpr[17]) <= 0; aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(8), aot_gpr_4); if (branch_taken) { goto L_08B55674; @@ -4193,21 +4194,21 @@ L_08B5564C: aot_gpr_5 = (ctx.gpr[18] | 0u); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x08B55660u); - ctx.gpr[6] = (aot_gpr_17 | 0u); + aot_gpr_6 = (ctx.gpr[17] | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B55660u) goto L_08B55660; AOT_REGCACHE_SYNC_OUT(); return; L_08B55660: aot_gpr_4 = (ctx.gpr[2] | 0u); { const bool branch_taken = static_cast(aot_gpr_4) <= 0; - aot_gpr_17 = (aot_gpr_17 - aot_gpr_4); + ctx.gpr[17] = (ctx.gpr[17] - aot_gpr_4); if (branch_taken) { goto L_08B55690; } goto L_08B5566C; } L_08B5566C: - { const bool branch_taken = static_cast(aot_gpr_17) > 0; + { const bool branch_taken = static_cast(ctx.gpr[17]) > 0; ctx.gpr[18] = (ctx.gpr[18] + aot_gpr_4); if (branch_taken) { goto L_08B5564C; @@ -4219,7 +4220,7 @@ L_08B55674: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -4237,7 +4238,7 @@ L_08B55690: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -4249,16 +4250,16 @@ L_08B55690: AOT_REGCACHE_SYNC_OUT(); return; L_08B556B8: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), ctx.gpr[18]); ctx.gpr[7] = (static_cast(aot_gpr_5) < 2 ? 1u : 0u); ctx.gpr[18] = (aot_gpr_4 | 0u); - aot_gpr_17 = (aot_gpr_5 | 0u); + ctx.gpr[17] = (aot_gpr_5 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_16); { const std::uint32_t aot_run_words[4]{ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(28), aot_run_words); } { const bool branch_taken = ctx.gpr[7] != 0u; - aot_gpr_16 = (ctx.gpr[6] | 0u); + aot_gpr_16 = (aot_gpr_6 | 0u); if (branch_taken) { goto L_08B55748; } @@ -4266,7 +4267,7 @@ L_08B556B8: } L_08B556EC: ctx.gpr[21] = (ctx.gpr[18] | 0u); - aot_gpr_17 = (aot_gpr_17 + static_cast(-1)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(-1)); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); goto L_08B556F8; L_08B556F8: @@ -4300,7 +4301,7 @@ L_08B5571C: { std::uint32_t aot_run_words[7]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -4318,7 +4319,7 @@ L_08B55748: { std::uint32_t aot_run_words[7]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -4336,9 +4337,9 @@ L_08B55770: ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); goto L_08B55778; L_08B55778: - aot_gpr_4 = (aot_gpr_17 < aot_gpr_5 ? 1u : 0u); + aot_gpr_4 = (ctx.gpr[17] < aot_gpr_5 ? 1u : 0u); if (aot_gpr_4 != 0u) { - ctx.gpr[20] = (aot_gpr_17 | 0u); + ctx.gpr[20] = (ctx.gpr[17] | 0u); goto L_08B55784; } goto L_08B55784; @@ -4346,7 +4347,7 @@ L_08B55784: aot_gpr_4 = (ctx.gpr[19] | 0u); aot_gpr_5 = (0u | 10u); aot_gpr_31 = (0x08B55794u); - ctx.gpr[6] = (ctx.gpr[20] | 0u); + aot_gpr_6 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 18u, 0x08B580BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B55794u) goto L_08B55794; AOT_REGCACHE_SYNC_OUT(); return; L_08B55794: @@ -4367,12 +4368,12 @@ L_08B557A0: aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08B557C4u); - ctx.gpr[6] = (ctx.gpr[20] | 0u); + aot_gpr_6 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B557C4u) goto L_08B557C4; AOT_REGCACHE_SYNC_OUT(); return; L_08B557C4: - aot_gpr_17 = (aot_gpr_17 - ctx.gpr[20]); - { const bool branch_taken = aot_gpr_17 == 0u; + ctx.gpr[17] = (ctx.gpr[17] - ctx.gpr[20]); + { const bool branch_taken = ctx.gpr[17] == 0u; ctx.gpr[21] = (ctx.gpr[21] + ctx.gpr[20]); if (branch_taken) { goto L_08B5571C; @@ -4389,24 +4390,24 @@ L_08B557D0: } L_08B557D8: aot_gpr_4 = (aot_gpr_4 + static_cast(1)); - aot_gpr_17 = (aot_gpr_4 - ctx.gpr[19]); - aot_gpr_5 = (aot_gpr_5 - aot_gpr_17); + ctx.gpr[17] = (aot_gpr_4 - ctx.gpr[19]); + aot_gpr_5 = (aot_gpr_5 - ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), aot_gpr_4); aot_gpr_4 = (ctx.gpr[21] | 0u); aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08B557FCu); - ctx.gpr[6] = (aot_gpr_17 | 0u); + aot_gpr_6 = (ctx.gpr[17] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 36u, 0x089645DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B557FCu) goto L_08B557FC; AOT_REGCACHE_SYNC_OUT(); return; L_08B557FC: - aot_gpr_4 = (ctx.gpr[21] + aot_gpr_17); + aot_gpr_4 = (ctx.gpr[21] + ctx.gpr[17]); aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(0u)); ctx.gpr[2] = (ctx.gpr[18] | 0u); { std::uint32_t aot_run_words[7]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -4423,7 +4424,7 @@ L_08B5582C: { const std::uint32_t aot_run_words[3]{0u, 0u, 0u}; aot_mem.aot_direct_store32_block(aot_gpr_4 + static_cast(0), aot_run_words); } aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(12), static_cast(aot_gpr_5)); - aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(14), static_cast(ctx.gpr[6])); + aot_mem.aot_direct_store16(aot_gpr_4 + static_cast(14), static_cast(aot_gpr_6)); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(16), 0u); aot_mem.aot_direct_store32(aot_gpr_4 + static_cast(24), 0u); aot_gpr_5 = (2229u << 16u); @@ -4456,7 +4457,7 @@ L_08B55884: aot_mem.aot_direct_store32(ctx.gpr[8] + static_cast(56), aot_gpr_5); aot_gpr_4 = (ctx.gpr[9] | 0u); aot_gpr_5 = (0u | 4u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_6 = (0u | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); aot_gpr_31 = (0x08B558BCu); ctx.gpr[7] = (ctx.gpr[8] | 0u); @@ -4464,14 +4465,14 @@ L_08B55884: L_08B558BC: aot_gpr_4 = (ctx.gpr[8] + static_cast(572)); aot_gpr_5 = (0u | 9u); - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); aot_gpr_31 = (0x08B558D0u); ctx.gpr[7] = (ctx.gpr[8] | 0u); goto L_08B5582C; L_08B558D0: aot_gpr_4 = (ctx.gpr[8] + static_cast(660)); aot_gpr_5 = (0u | 10u); - ctx.gpr[6] = (0u | 2u); + aot_gpr_6 = (0u | 2u); aot_gpr_31 = (0x08B558E4u); ctx.gpr[7] = (ctx.gpr[8] | 0u); goto L_08B5582C; @@ -4503,17 +4504,17 @@ L_08B55914: AOT_REGCACHE_SYNC_OUT(); return; L_08B55920: aot_gpr_29 = (aot_gpr_29 + static_cast(-64)); - { const std::uint32_t aot_run_words[3]{ctx.gpr[6], ctx.gpr[7], ctx.gpr[8]}; + { const std::uint32_t aot_run_words[3]{aot_gpr_6, ctx.gpr[7], ctx.gpr[8]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(40), aot_run_words); } - ctx.gpr[6] = (0u << 16u); + aot_gpr_6 = (0u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), ctx.gpr[9]); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(32)); + aot_gpr_6 = (aot_gpr_6 + static_cast(32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(56), ctx.gpr[10]); - ctx.gpr[6] = (aot_gpr_29 + ctx.gpr[6]); + aot_gpr_6 = (aot_gpr_29 + aot_gpr_6); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(60), ctx.gpr[11]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_31); aot_gpr_31 = (0x08B55954u); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(8)); + aot_gpr_6 = (aot_gpr_6 + static_cast(8)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 694u, 0x08B5A974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B55954u) goto L_08B55954; AOT_REGCACHE_SYNC_OUT(); return; L_08B55954: @@ -4531,7 +4532,7 @@ L_08B55960: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), aot_gpr_31); aot_gpr_31 = (0x08B55978u); aot_gpr_16 = (aot_gpr_5 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B55978u) goto L_08B55978; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B55978u) goto L_08B55978; AOT_REGCACHE_SYNC_OUT(); return; L_08B55978: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), ctx.gpr[2]); @@ -4555,10 +4556,10 @@ L_08B5599C: AOT_REGCACHE_SYNC_OUT(); return; L_08B559AC: ctx.gpr[7] = (aot_gpr_4 | 0u); - ctx.gpr[8] = (ctx.gpr[6] | 0u); - aot_gpr_4 = (ctx.gpr[6] + static_cast(-1)); + ctx.gpr[8] = (aot_gpr_6 | 0u); + aot_gpr_4 = (aot_gpr_6 + static_cast(-1)); { const bool branch_taken = ctx.gpr[8] == 0u; - ctx.gpr[6] = (aot_gpr_4 | 0u); + aot_gpr_6 = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08B559E0; } @@ -4569,10 +4570,10 @@ L_08B559C0: aot_gpr_5 = (aot_gpr_5 + static_cast(1)); aot_mem.aot_direct_store8(ctx.gpr[7] + static_cast(0), static_cast(ctx.gpr[8])); ctx.gpr[8] = (aot_gpr_4 | 0u); - aot_gpr_4 = (ctx.gpr[6] + static_cast(-1)); + aot_gpr_4 = (aot_gpr_6 + static_cast(-1)); ctx.gpr[7] = (ctx.gpr[7] + static_cast(1)); { const bool branch_taken = ctx.gpr[8] != 0u; - ctx.gpr[6] = (aot_gpr_4 | 0u); + aot_gpr_6 = (aot_gpr_4 | 0u); if (branch_taken) { goto L_08B559C0; } @@ -4587,12 +4588,12 @@ L_08B559E0: AOT_REGCACHE_SYNC_OUT(); return; L_08B559E8: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - { const std::int64_t product = static_cast(static_cast(ctx.gpr[6])) * static_cast(static_cast(aot_gpr_5)); ctx.lo = static_cast(product); ctx.hi = static_cast(static_cast(product) >> 32u); } - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_17); + { const std::int64_t product = static_cast(static_cast(aot_gpr_6)) * static_cast(static_cast(aot_gpr_5)); ctx.lo = static_cast(product); ctx.hi = static_cast(static_cast(product) >> 32u); } + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), ctx.gpr[22]); ctx.gpr[18] = (aot_gpr_5 | 0u); - aot_gpr_17 = (ctx.gpr[6] | 0u); + ctx.gpr[17] = (aot_gpr_6 | 0u); ctx.gpr[22] = (ctx.lo); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_16); { const std::uint32_t aot_run_words[3]{ctx.gpr[19], ctx.gpr[20], ctx.gpr[21]}; @@ -4606,8 +4607,8 @@ L_08B559E8: goto L_08B55A24; } L_08B55A24: - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); - { const bool branch_taken = static_cast(ctx.gpr[6]) < 0; + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); + { const bool branch_taken = static_cast(aot_gpr_6) < 0; aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); if (branch_taken) { goto L_08B55A64; @@ -4627,7 +4628,7 @@ L_08B55A38: { std::uint32_t aot_run_words[8]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -4659,7 +4660,7 @@ L_08B55A6C: L_08B55A80: aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08B55A8Cu); - ctx.gpr[6] = (ctx.gpr[19] | 0u); + aot_gpr_6 = (ctx.gpr[19] | 0u); goto L_08B559AC; L_08B55A8C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); @@ -4693,7 +4694,7 @@ L_08B55AC0: goto L_08B55AC4; L_08B55AC4: aot_gpr_31 = (0x08B55ACCu); - ctx.gpr[6] = (ctx.gpr[22] | 0u); + aot_gpr_6 = (ctx.gpr[22] | 0u); goto L_08B559AC; L_08B55ACC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); @@ -4702,11 +4703,11 @@ L_08B55ACC: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), aot_gpr_4); aot_gpr_4 = (aot_gpr_5 + ctx.gpr[22]); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), aot_gpr_4); - ctx.gpr[2] = (aot_gpr_17 | 0u); + ctx.gpr[2] = (ctx.gpr[17] | 0u); { std::uint32_t aot_run_words[8]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -4726,7 +4727,7 @@ L_08B55B10: { std::uint32_t aot_run_words[8]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -4742,13 +4743,13 @@ L_08B55B10: AOT_REGCACHE_SYNC_OUT(); return; L_08B55B40: aot_gpr_29 = (aot_gpr_29 + static_cast(-64)); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(8))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(8))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_16); aot_gpr_16 = (aot_gpr_4 | 0u); - { const std::uint32_t aot_run_words[8]{aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], aot_gpr_31}; + { const std::uint32_t aot_run_words[8]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(20), aot_run_words); } - { const bool branch_taken = ctx.gpr[6] == 0u; - aot_gpr_17 = (aot_gpr_5 | 0u); + { const bool branch_taken = aot_gpr_6 == 0u; + ctx.gpr[17] = (aot_gpr_5 | 0u); if (branch_taken) { goto L_08B55EF0; } @@ -4767,7 +4768,7 @@ L_08B55B78: L_08B55B88: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); if (aot_gpr_4 != 0u) { - ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); goto L_08B55BA8; } goto L_08B55B94; @@ -4784,7 +4785,7 @@ L_08B55B9C: goto L_08B55BA4; } L_08B55BA4: - ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); + ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); goto L_08B55BA8; L_08B55BA8: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(12)))))); @@ -4809,7 +4810,7 @@ L_08B55BC0: { std::uint32_t aot_run_words[9]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -4827,7 +4828,7 @@ L_08B55BC0: L_08B55BF0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(28))); { const bool branch_taken = ctx.gpr[18] != 0u; - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(36))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(36))); if (branch_taken) { goto L_08B55C0C; } @@ -4852,8 +4853,8 @@ L_08B55C0C: } goto L_08B55C1C; L_08B55C1C: - ctx.gpr[7] = (ctx.gpr[6] | 0u); - ctx.gpr[6] = (aot_gpr_5 | 0u); + ctx.gpr[7] = (aot_gpr_6 | 0u); + aot_gpr_6 = (aot_gpr_5 | 0u); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x08B55C2Cu); aot_gpr_5 = (ctx.gpr[20] | 0u); @@ -4868,12 +4869,12 @@ L_08B55C2C: } goto L_08B55C38; L_08B55C38: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); ctx.gpr[20] = (ctx.gpr[20] + aot_gpr_4); ctx.gpr[18] = (ctx.gpr[18] - aot_gpr_4); aot_gpr_4 = (aot_gpr_5 - aot_gpr_4); { const bool branch_taken = aot_gpr_4 != 0u; - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(8), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(8), aot_gpr_4); if (branch_taken) { goto L_08B55BF0; } @@ -4897,7 +4898,7 @@ L_08B55C58: } L_08B55C60: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast(12)))))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(8))); { const bool branch_taken = ctx.gpr[18] != 0u; aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); if (branch_taken) { @@ -4918,14 +4919,14 @@ L_08B55C70: L_08B55C80: aot_gpr_4 = (aot_gpr_4 & 512u); { const bool branch_taken = aot_gpr_4 == 0u; - ctx.gpr[20] = (ctx.gpr[6] | 0u); + ctx.gpr[20] = (aot_gpr_6 | 0u); if (branch_taken) { goto L_08B55CC8; } goto L_08B55C8C; } L_08B55C8C: - aot_gpr_4 = (ctx.gpr[18] < ctx.gpr[6] ? 1u : 0u); + aot_gpr_4 = (ctx.gpr[18] < aot_gpr_6 ? 1u : 0u); if (aot_gpr_4 != 0u) { ctx.gpr[20] = (ctx.gpr[18] | 0u); goto L_08B55C98; @@ -4935,7 +4936,7 @@ L_08B55C98: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x08B55CA8u); - ctx.gpr[6] = (ctx.gpr[20] | 0u); + aot_gpr_6 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 164u, 0x08AF54A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B55CA8u) goto L_08B55CA8; AOT_REGCACHE_SYNC_OUT(); return; L_08B55CA8: @@ -4956,7 +4957,7 @@ L_08B55CC8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); aot_gpr_4 = (aot_gpr_4 < aot_gpr_5 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_4 = (ctx.gpr[6] < ctx.gpr[18] ? 1u : 0u); + aot_gpr_4 = (aot_gpr_6 < ctx.gpr[18] ? 1u : 0u); if (branch_taken) { goto L_08B55D18; } @@ -4973,7 +4974,7 @@ L_08B55CD8: L_08B55CE0: aot_gpr_5 = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x08B55CECu); - ctx.gpr[6] = (ctx.gpr[20] | 0u); + aot_gpr_6 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 164u, 0x08AF54A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B55CECu) goto L_08B55CEC; AOT_REGCACHE_SYNC_OUT(); return; L_08B55CEC: @@ -4985,7 +4986,7 @@ L_08B55CEC: goto L_08B55590; L_08B55D00: if (ctx.gpr[2] == 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); goto L_08B55D80; } goto L_08B55D08; @@ -5015,7 +5016,7 @@ L_08B55D28: aot_gpr_5 = (ctx.gpr[21] | 0u); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x08B55D3Cu); - ctx.gpr[6] = (ctx.gpr[20] | 0u); + aot_gpr_6 = (ctx.gpr[20] | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B55D3Cu) goto L_08B55D3C; AOT_REGCACHE_SYNC_OUT(); return; @@ -5028,7 +5029,7 @@ L_08B55D3C: goto L_08B55D48; L_08B55D48: { const bool branch_taken = 0u == 0u; - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); if (branch_taken) { goto L_08B55D80; } @@ -5041,7 +5042,7 @@ L_08B55D54: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x08B55D64u); - ctx.gpr[6] = (ctx.gpr[20] | 0u); + aot_gpr_6 = (ctx.gpr[20] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 164u, 0x08AF54A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B55D64u) goto L_08B55D64; AOT_REGCACHE_SYNC_OUT(); return; L_08B55D64: @@ -5053,14 +5054,14 @@ L_08B55D64: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), aot_gpr_4); goto L_08B55D7C; L_08B55D7C: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); goto L_08B55D80; L_08B55D80: ctx.gpr[21] = (ctx.gpr[21] + ctx.gpr[20]); aot_gpr_4 = (aot_gpr_4 - ctx.gpr[20]); ctx.gpr[18] = (ctx.gpr[18] - ctx.gpr[20]); { const bool branch_taken = aot_gpr_4 != 0u; - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(8), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(8), aot_gpr_4); if (branch_taken) { goto L_08B55C60; } @@ -5104,7 +5105,7 @@ L_08B55DB8: L_08B55DC0: aot_gpr_5 = (0u | 10u); aot_gpr_31 = (0x08B55DCCu); - ctx.gpr[6] = (ctx.gpr[18] | 0u); + aot_gpr_6 = (ctx.gpr[18] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 18u, 0x08B580BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B55DCCu) goto L_08B55DCC; AOT_REGCACHE_SYNC_OUT(); return; L_08B55DCC: @@ -5136,7 +5137,7 @@ L_08B55DE8: ctx.gpr[7] = (ctx.gpr[18] | 0u); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); ctx.gpr[8] = (ctx.gpr[7] < ctx.gpr[23] ? 1u : 0u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); if (ctx.gpr[8] == 0u) { ctx.gpr[7] = (ctx.gpr[23] | 0u); goto L_08B55E08; @@ -5145,7 +5146,7 @@ L_08B55DE8: L_08B55E08: aot_gpr_4 = (aot_gpr_4 < aot_gpr_5 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; - ctx.gpr[21] = (ctx.gpr[21] + ctx.gpr[6]); + ctx.gpr[21] = (ctx.gpr[21] + aot_gpr_6); if (branch_taken) { goto L_08B55E58; } @@ -5163,7 +5164,7 @@ L_08B55E14: L_08B55E20: aot_gpr_5 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08B55E2Cu); - ctx.gpr[6] = (ctx.gpr[21] | 0u); + aot_gpr_6 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 164u, 0x08AF54A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B55E2Cu) goto L_08B55E2C; AOT_REGCACHE_SYNC_OUT(); return; L_08B55E2C: @@ -5194,7 +5195,7 @@ L_08B55E4C: goto L_08B55E58; } L_08B55E58: - ctx.gpr[21] = (ctx.gpr[6] | 0u); + ctx.gpr[21] = (aot_gpr_6 | 0u); aot_gpr_4 = (static_cast(ctx.gpr[7]) < static_cast(ctx.gpr[21]) ? 1u : 0u); if (aot_gpr_4 != 0u) { ctx.gpr[21] = (ctx.gpr[7] | 0u); @@ -5207,7 +5208,7 @@ L_08B55E68: aot_gpr_5 = (ctx.gpr[20] | 0u); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x08B55E7Cu); - ctx.gpr[6] = (ctx.gpr[21] | 0u); + aot_gpr_6 = (ctx.gpr[21] | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B55E7Cu) goto L_08B55E7C; AOT_REGCACHE_SYNC_OUT(); return; @@ -5233,7 +5234,7 @@ L_08B55E94: aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08B55EA4u); - ctx.gpr[6] = (ctx.gpr[21] | 0u); + aot_gpr_6 = (ctx.gpr[21] | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 164u, 0x08AF54A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B55EA4u) goto L_08B55EA4; AOT_REGCACHE_SYNC_OUT(); return; L_08B55EA4: @@ -5247,7 +5248,7 @@ L_08B55EA4: goto L_08B55EC0; L_08B55EC0: if (ctx.gpr[23] != 0u) { - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); goto L_08B55EDC; } goto L_08B55EC8; @@ -5264,14 +5265,14 @@ L_08B55ED0: goto L_08B55ED8; } L_08B55ED8: - aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(8))); + aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(8))); goto L_08B55EDC; L_08B55EDC: ctx.gpr[20] = (ctx.gpr[20] + ctx.gpr[21]); aot_gpr_4 = (aot_gpr_4 - ctx.gpr[21]); ctx.gpr[18] = (ctx.gpr[18] - ctx.gpr[21]); { const bool branch_taken = aot_gpr_4 != 0u; - aot_mem.aot_direct_store32(aot_gpr_17 + static_cast(8), aot_gpr_4); + aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(8), aot_gpr_4); if (branch_taken) { goto L_08B55D9C; } @@ -5282,7 +5283,7 @@ L_08B55EF0: { std::uint32_t aot_run_words[9]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -5306,7 +5307,7 @@ L_08B55F28: { std::uint32_t aot_run_words[9]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -5327,7 +5328,7 @@ L_08B55F58: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), ctx.gpr[20]); ctx.gpr[20] = (0u | 0u); ctx.gpr[19] = (aot_gpr_4 + static_cast(472)); - { const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, ctx.gpr[18]}; + { const std::uint32_t aot_run_words[3]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(16), aot_run_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), aot_gpr_31); { const bool branch_taken = ctx.gpr[19] == 0u; @@ -5338,11 +5339,11 @@ L_08B55F58: goto L_08B55F84; } L_08B55F84: - aot_gpr_17 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(4))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(4))); goto L_08B55F88; L_08B55F88: - aot_gpr_17 = (aot_gpr_17 + static_cast(-1)); - { const bool branch_taken = static_cast(aot_gpr_17) < 0; + ctx.gpr[17] = (ctx.gpr[17] + static_cast(-1)); + { const bool branch_taken = static_cast(ctx.gpr[17]) < 0; ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(8))); if (branch_taken) { goto L_08B55FB8; @@ -5352,7 +5353,7 @@ L_08B55F88: L_08B55F94: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(12)))))); if (aot_gpr_4 == 0u) { - aot_gpr_17 = (aot_gpr_17 + static_cast(-1)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(-1)); goto L_08B55FB0; } goto L_08B55FA0; @@ -5365,10 +5366,10 @@ L_08B55FA0: AOT_REGCACHE_SYNC_OUT(); return; L_08B55FA8: ctx.gpr[20] = (ctx.gpr[20] | ctx.gpr[2]); - aot_gpr_17 = (aot_gpr_17 + static_cast(-1)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(-1)); goto L_08B55FB0; L_08B55FB0: - { const bool branch_taken = static_cast(aot_gpr_17) >= 0; + { const bool branch_taken = static_cast(ctx.gpr[17]) >= 0; ctx.gpr[18] = (ctx.gpr[18] + static_cast(88)); if (branch_taken) { goto L_08B55F94; @@ -5378,7 +5379,7 @@ L_08B55FB0: L_08B55FB8: ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(0))); if (ctx.gpr[19] != 0u) { - aot_gpr_17 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(4))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(4))); goto L_08B55F88; } goto L_08B55FC4; @@ -5387,7 +5388,7 @@ L_08B55FC4: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -5407,10 +5408,10 @@ L_08B55FE8: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(84), ctx.gpr[18]); ctx.gpr[18] = (aot_gpr_16 + static_cast(67)); aot_gpr_5 = (aot_gpr_4 & 2u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(80), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(80), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(88), aot_gpr_31); { const bool branch_taken = aot_gpr_5 != 0u; - aot_gpr_17 = (0u | 1u); + ctx.gpr[17] = (0u | 1u); if (branch_taken) { goto L_08B56028; } @@ -5436,11 +5437,11 @@ L_08B56020: L_08B56028: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(16), ctx.gpr[18]); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(20), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(20), ctx.gpr[17]); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(76), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -5452,7 +5453,7 @@ L_08B56028: AOT_REGCACHE_SYNC_OUT(); return; L_08B5604C: aot_gpr_31 = (0x08B56054u); - ctx.gpr[6] = (aot_gpr_29 + static_cast(16)); + aot_gpr_6 = (aot_gpr_29 + static_cast(16)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0214_entry, 214u, 699u, 0x08B5F23Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B56054u) goto L_08B56054; AOT_REGCACHE_SYNC_OUT(); return; L_08B56054: @@ -5478,18 +5479,18 @@ L_08B56060: } L_08B56070: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); - ctx.gpr[6] = (0u | 32768u); + aot_gpr_6 = (0u | 32768u); aot_gpr_5 = (aot_gpr_5 & 61440u); - if (aot_gpr_5 != ctx.gpr[6]) { + if (aot_gpr_5 != aot_gpr_6) { aot_gpr_4 = (aot_gpr_4 | 2048u); goto L_08B560B4; } goto L_08B56084; L_08B56084: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(40))); - ctx.gpr[6] = (2229u << 16u); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(25812)); - if (aot_gpr_5 != ctx.gpr[6]) { + aot_gpr_6 = (2229u << 16u); + aot_gpr_6 = (aot_gpr_6 + static_cast(25812)); + if (aot_gpr_5 != aot_gpr_6) { aot_gpr_4 = (aot_gpr_4 | 2048u); goto L_08B560B4; } @@ -5516,11 +5517,11 @@ L_08B560C0: aot_mem.aot_direct_store16(aot_gpr_16 + static_cast(12), static_cast(aot_gpr_4)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), ctx.gpr[18]); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(16), ctx.gpr[18]); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(20), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(20), ctx.gpr[17]); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(76), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -5751,7 +5752,7 @@ L_08B56248: L_08B56254: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(28))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(20))); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), aot_gpr_5); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(32))); jump_target = ctx.gpr[7]; @@ -5818,23 +5819,23 @@ L_08B562C4: AOT_REGCACHE_SYNC_OUT(); return; L_08B562D8: aot_gpr_29 = (aot_gpr_29 + static_cast(-144)); - { const std::uint32_t aot_run_words[6]{ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11]}; + { const std::uint32_t aot_run_words[6]{aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(120), aot_run_words); } - ctx.gpr[6] = (0u | 520u); + aot_gpr_6 = (0u | 520u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_4); - aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(32), static_cast(ctx.gpr[6])); + aot_mem.aot_direct_store16(aot_gpr_29 + static_cast(32), static_cast(aot_gpr_6)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), aot_gpr_4); aot_gpr_4 = (32768u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(-1)); - ctx.gpr[6] = (2234u << 16u); + aot_gpr_6 = (2234u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_4); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(15532))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(15532))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(40), aot_gpr_4); aot_gpr_4 = (0u << 16u); aot_gpr_4 = (aot_gpr_4 + static_cast(112)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(104), ctx.gpr[6]); - ctx.gpr[6] = (aot_gpr_29 + aot_gpr_4); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(8)); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(104), aot_gpr_6); + aot_gpr_6 = (aot_gpr_29 + aot_gpr_4); + aot_gpr_6 = (aot_gpr_6 + static_cast(8)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(108), aot_gpr_31); aot_gpr_31 = (0x08B5633Cu); aot_gpr_4 = (aot_gpr_29 + static_cast(20)); @@ -5859,7 +5860,7 @@ L_08B56350: AOT_REGCACHE_SYNC_OUT(); return; L_08B56358: aot_gpr_29 = (aot_gpr_29 + static_cast(-160)); - { const std::uint32_t aot_run_words[5]{ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10]}; + { const std::uint32_t aot_run_words[5]{aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(136), aot_run_words); } aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(108), aot_gpr_16); aot_gpr_16 = (aot_gpr_5 | 0u); @@ -5870,7 +5871,7 @@ L_08B56358: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(112), aot_gpr_31); aot_gpr_31 = (0x08B56394u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(36), aot_gpr_4); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B56394u) goto L_08B56394; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B56394u) goto L_08B56394; AOT_REGCACHE_SYNC_OUT(); return; L_08B56394: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), ctx.gpr[2]); @@ -5885,8 +5886,8 @@ L_08B56394: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(88), 0u); aot_gpr_5 = (aot_gpr_5 + static_cast(128)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(104), aot_gpr_4); - ctx.gpr[6] = (aot_gpr_29 + aot_gpr_5); - ctx.gpr[6] = (ctx.gpr[6] + static_cast(8)); + aot_gpr_6 = (aot_gpr_29 + aot_gpr_5); + aot_gpr_6 = (aot_gpr_6 + static_cast(8)); aot_gpr_4 = (aot_gpr_29 + static_cast(20)); aot_gpr_31 = (0x08B563D8u); aot_gpr_5 = (aot_gpr_16 | 0u); @@ -5903,9 +5904,9 @@ L_08B563D8: L_08B563E8: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_16); - ctx.gpr[7] = (ctx.gpr[6] | 0u); + ctx.gpr[7] = (aot_gpr_6 | 0u); aot_gpr_16 = (aot_gpr_4 | 0u); - ctx.gpr[6] = (aot_gpr_5 | 0u); + aot_gpr_6 = (aot_gpr_5 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(84))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_31); aot_gpr_31 = (0x08B5640Cu); @@ -5947,25 +5948,25 @@ L_08B56440: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), ctx.gpr[18]); ctx.gpr[18] = (aot_gpr_4 | 0u); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(12)))))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_17); - aot_gpr_17 = (aot_gpr_5 | 0u); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[17]); + ctx.gpr[17] = (aot_gpr_5 | 0u); ctx.gpr[7] = (aot_gpr_4 & 256u); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(84))); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(14)))))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_31); { const bool branch_taken = ctx.gpr[7] == 0u; - aot_gpr_16 = (ctx.gpr[6] | 0u); + aot_gpr_16 = (aot_gpr_6 | 0u); if (branch_taken) { goto L_08B56494; } goto L_08B56474; } L_08B56474: - ctx.gpr[6] = (aot_gpr_4 | 0u); + aot_gpr_6 = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (ctx.gpr[6] | 0u); - ctx.gpr[6] = (0u | 0u); + aot_gpr_5 = (aot_gpr_6 | 0u); + aot_gpr_6 = (0u | 0u); aot_gpr_31 = (0x08B5648Cu); ctx.gpr[7] = (0u | 2u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0214_entry, 214u, 704u, 0x08B5F294u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5648Cu) goto L_08B5648C; @@ -5975,14 +5976,14 @@ L_08B5648C: aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(14)))))); goto L_08B56494; L_08B56494: - ctx.gpr[6] = (aot_gpr_4 | 0u); + aot_gpr_6 = (aot_gpr_4 | 0u); aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast(12)))))); ctx.gpr[7] = (0u + static_cast(-4097)); aot_gpr_4 = (aot_gpr_4 & ctx.gpr[7]); aot_mem.aot_direct_store16(ctx.gpr[18] + static_cast(12), static_cast(aot_gpr_4)); aot_gpr_4 = (aot_gpr_5 | 0u); - aot_gpr_5 = (ctx.gpr[6] | 0u); - ctx.gpr[6] = (aot_gpr_17 | 0u); + aot_gpr_5 = (aot_gpr_6 | 0u); + aot_gpr_6 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B564BCu); ctx.gpr[7] = (aot_gpr_16 | 0u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0214_entry, 214u, 719u, 0x08B5F3A0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B564BCu) goto L_08B564BC; @@ -5991,7 +5992,7 @@ L_08B564BC: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -6004,9 +6005,9 @@ L_08B564BC: L_08B564D4: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_16); - ctx.gpr[7] = (ctx.gpr[6] | 0u); + ctx.gpr[7] = (aot_gpr_6 | 0u); aot_gpr_16 = (aot_gpr_4 | 0u); - ctx.gpr[6] = (aot_gpr_5 | 0u); + aot_gpr_6 = (aot_gpr_5 | 0u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(84))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_31); aot_gpr_31 = (0x08B564F8u); @@ -6064,10 +6065,10 @@ L_08B56544: AOT_REGCACHE_SYNC_OUT(); return; L_08B56550: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), ctx.gpr[18]); ctx.gpr[18] = (0u + static_cast(-1)); - aot_gpr_17 = (aot_gpr_4 | 0u); + ctx.gpr[17] = (aot_gpr_4 | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_16); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), aot_gpr_31); { const bool branch_taken = aot_gpr_4 == ctx.gpr[18]; @@ -6163,7 +6164,7 @@ L_08B56600: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -6181,7 +6182,7 @@ L_08B56620: goto L_08B56624; L_08B56624: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(48))); - aot_gpr_17 = (aot_gpr_17 & 255u); + ctx.gpr[17] = (ctx.gpr[17] & 255u); { const bool branch_taken = aot_gpr_5 == 0u; aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); if (branch_taken) { @@ -6201,7 +6202,7 @@ L_08B56634: } L_08B56644: aot_gpr_4 = (0u | 1u); - ctx.gpr[6] = (0u | 68u); + aot_gpr_6 = (0u | 68u); aot_gpr_31 = (0x08B56654u); aot_gpr_5 = (aot_gpr_5 + static_cast(-29528)); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 55u, 0x08B605C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B56654u) goto L_08B56654; @@ -6211,7 +6212,7 @@ L_08B56654: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -6223,9 +6224,9 @@ L_08B56654: AOT_REGCACHE_SYNC_OUT(); return; L_08B56670: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); - ctx.gpr[2] = (aot_gpr_17 | 0u); + ctx.gpr[2] = (ctx.gpr[17] | 0u); aot_gpr_4 = (aot_gpr_4 + static_cast(-1)); - aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(aot_gpr_17)); + aot_mem.aot_direct_store8(aot_gpr_4 + static_cast(0), static_cast(ctx.gpr[17])); aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(4))); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), aot_gpr_4); aot_gpr_4 = (aot_gpr_5 + static_cast(1)); @@ -6233,7 +6234,7 @@ L_08B56670: { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -6246,23 +6247,23 @@ L_08B56670: L_08B566A8: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(16))); { const bool branch_taken = aot_gpr_5 == 0u; - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); if (branch_taken) { goto L_08B566F4; } goto L_08B566B4; } L_08B566B4: - aot_gpr_5 = (aot_gpr_5 < ctx.gpr[6] ? 1u : 0u); + aot_gpr_5 = (aot_gpr_5 < aot_gpr_6 ? 1u : 0u); if (aot_gpr_5 == 0u) { aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(60), aot_gpr_4); goto L_08B566F8; } goto L_08B566C0; L_08B566C0: - aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[6] + static_cast(-1))); - { const bool branch_taken = aot_gpr_5 != aot_gpr_17; - aot_gpr_5 = (ctx.gpr[6] + static_cast(-1)); + aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_6 + static_cast(-1))); + { const bool branch_taken = aot_gpr_5 != ctx.gpr[17]; + aot_gpr_5 = (aot_gpr_6 + static_cast(-1)); if (branch_taken) { goto L_08B566F4; } @@ -6272,11 +6273,11 @@ L_08B566CC: aot_gpr_4 = (aot_gpr_4 + static_cast(1)); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), aot_gpr_5); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), aot_gpr_4); - ctx.gpr[2] = (aot_gpr_17 | 0u); + ctx.gpr[2] = (ctx.gpr[17] | 0u); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -6291,20 +6292,20 @@ L_08B566F4: goto L_08B566F8; L_08B566F8: aot_gpr_4 = (aot_gpr_16 + static_cast(64)); - aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), ctx.gpr[6]); + aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(56), aot_gpr_6); aot_gpr_5 = (0u | 3u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(48), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(52), aot_gpr_5); aot_gpr_4 = (aot_gpr_16 + static_cast(66)); - aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(66), static_cast(aot_gpr_17)); + aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(66), static_cast(ctx.gpr[17])); aot_gpr_5 = (0u | 1u); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), aot_gpr_4); aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(4), aot_gpr_5); - ctx.gpr[2] = (aot_gpr_17 | 0u); + ctx.gpr[2] = (ctx.gpr[17] | 0u); { std::uint32_t aot_run_words[4]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; aot_gpr_31 = aot_run_words[3]; } @@ -6317,8 +6318,8 @@ L_08B566F8: L_08B5673C: ctx.gpr[9] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0)))))); ctx.gpr[2] = (aot_gpr_5 + static_cast(1)); - ctx.gpr[6] = (0u | 94u); - { const bool branch_taken = ctx.gpr[9] != ctx.gpr[6]; + aot_gpr_6 = (0u | 94u); + { const bool branch_taken = ctx.gpr[9] != aot_gpr_6; aot_gpr_5 = (ctx.gpr[2] | 0u); if (branch_taken) { goto L_08B56764; @@ -6341,14 +6342,14 @@ L_08B56764: goto L_08B56768; L_08B56768: ctx.gpr[3] = (0u | 0u); - ctx.gpr[6] = (ctx.gpr[3] + aot_gpr_4); + aot_gpr_6 = (ctx.gpr[3] + aot_gpr_4); goto L_08B56770; L_08B56770: ctx.gpr[3] = (ctx.gpr[3] + static_cast(1)); - aot_mem.aot_direct_store8(ctx.gpr[6] + static_cast(0), static_cast(ctx.gpr[8])); - ctx.gpr[6] = (static_cast(ctx.gpr[3]) < 256 ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] != 0u; - ctx.gpr[6] = (ctx.gpr[3] + aot_gpr_4); + aot_mem.aot_direct_store8(aot_gpr_6 + static_cast(0), static_cast(ctx.gpr[8])); + aot_gpr_6 = (static_cast(ctx.gpr[3]) < 256 ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 != 0u; + aot_gpr_6 = (ctx.gpr[3] + aot_gpr_4); if (branch_taken) { goto L_08B56770; } @@ -6356,16 +6357,16 @@ L_08B56770: } L_08B56784: { const bool branch_taken = ctx.gpr[9] == 0u; - ctx.gpr[6] = (0u | 1u); + aot_gpr_6 = (0u | 1u); if (branch_taken) { goto L_08B567A4; } goto L_08B5678C; } L_08B5678C: - ctx.gpr[8] = (ctx.gpr[6] - ctx.gpr[8]); + ctx.gpr[8] = (aot_gpr_6 - ctx.gpr[8]); ctx.gpr[7] = (0u | 93u); - ctx.gpr[6] = (0u | 45u); + aot_gpr_6 = (0u | 45u); ctx.gpr[2] = (aot_gpr_5 + static_cast(1)); { const bool branch_taken = 0u == 0u; ctx.gpr[10] = (ctx.gpr[9] + aot_gpr_4); @@ -6394,7 +6395,7 @@ L_08B567B4: goto L_08B567BC; } L_08B567BC: - if (ctx.gpr[10] == ctx.gpr[6]) { + if (ctx.gpr[10] == aot_gpr_6) { ctx.gpr[3] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0)))))); goto L_08B567E0; } @@ -6439,7 +6440,7 @@ L_08B567E8: } goto L_08B567F4; L_08B567F4: - ctx.gpr[9] = (ctx.gpr[6] | 0u); + ctx.gpr[9] = (aot_gpr_6 | 0u); { const bool branch_taken = 0u == 0u; ctx.gpr[10] = (aot_gpr_4 + static_cast(45)); if (branch_taken) { @@ -6502,7 +6503,7 @@ L_08B56834: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(704), ctx.gpr[30]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(664), aot_gpr_5); ctx.gpr[30] = (aot_gpr_4 + static_cast(14520)); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(652), ctx.gpr[6]); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(652), aot_gpr_6); aot_gpr_4 = (2234u << 16u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(688), ctx.gpr[20]); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(15532))); @@ -6514,14 +6515,14 @@ L_08B56834: ctx.gpr[30] = (ctx.gpr[30] + static_cast(1)); ctx.gpr[20] = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast(16752))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(672), aot_gpr_16); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(676), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(676), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(684), ctx.gpr[19]); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(708), aot_gpr_31); goto L_08B568C8; L_08B568C8: aot_gpr_5 = (aot_gpr_29 + static_cast(32)); ctx.gpr[8] = (aot_gpr_29 + static_cast(644)); - ctx.gpr[6] = (ctx.gpr[23] | 0u); + aot_gpr_6 = (ctx.gpr[23] | 0u); aot_gpr_31 = (0x08B568DCu); ctx.gpr[7] = (ctx.gpr[20] | 0u); goto L_08B578C8; @@ -6650,7 +6651,7 @@ L_08B569AC: L_08B569B0: aot_gpr_4 = (static_cast(aot_gpr_16) < static_cast(ctx.gpr[20]) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_17 = (ctx.gpr[23] - ctx.gpr[20]); + ctx.gpr[17] = (ctx.gpr[23] - ctx.gpr[20]); if (branch_taken) { goto L_08B57524; } @@ -6677,9 +6678,9 @@ L_08B569D8: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); goto L_08B569DC; L_08B569DC: - aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(0)))))); - ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0))); - { const bool branch_taken = ctx.gpr[6] != aot_gpr_5; + aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(0)))))); + aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0))); + { const bool branch_taken = aot_gpr_6 != aot_gpr_5; // nop if (branch_taken) { goto L_08B571CC; @@ -6696,7 +6697,7 @@ L_08B569EC: ctx.gpr[22] = (ctx.gpr[22] + static_cast(1)); aot_gpr_4 = (static_cast(aot_gpr_16) < static_cast(ctx.gpr[20]) ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); if (branch_taken) { goto L_08B569BC; } @@ -6773,7 +6774,7 @@ L_08B56A74: goto L_08B56A78; L_08B56A78: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(668))); - aot_gpr_17 = (0u | 3u); + ctx.gpr[17] = (0u | 3u); ctx.gpr[21] = (0u | 10u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(660), aot_gpr_5); @@ -6785,7 +6786,7 @@ L_08B56A78: L_08B56A8C: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(668))); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); - aot_gpr_17 = (0u | 3u); + ctx.gpr[17] = (0u | 3u); ctx.gpr[21] = (0u | 0u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(660), aot_gpr_5); @@ -6808,7 +6809,7 @@ L_08B56AB0: goto L_08B56AB4; L_08B56AB4: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(664))); - aot_gpr_17 = (0u | 3u); + ctx.gpr[17] = (0u | 3u); ctx.gpr[21] = (0u | 8u); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(660), aot_gpr_5); @@ -6819,7 +6820,7 @@ L_08B56AB4: } L_08B56AC8: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(664))); - aot_gpr_17 = (0u | 3u); + ctx.gpr[17] = (0u | 3u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(660), aot_gpr_4); ctx.gpr[21] = (0u | 10u); { const bool branch_taken = 0u == 0u; @@ -6833,7 +6834,7 @@ L_08B56AE0: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(664))); aot_gpr_16 = (aot_gpr_16 | 256u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(660), aot_gpr_4); - aot_gpr_17 = (0u | 3u); + ctx.gpr[17] = (0u | 3u); ctx.gpr[21] = (0u | 16u); { const bool branch_taken = 0u == 0u; aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); @@ -6843,7 +6844,7 @@ L_08B56AE0: goto L_08B56AFC; } L_08B56AFC: - aot_gpr_17 = (0u | 4u); + ctx.gpr[17] = (0u | 4u); { const bool branch_taken = 0u == 0u; aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); if (branch_taken) { @@ -6852,7 +6853,7 @@ L_08B56AFC: goto L_08B56B08; } L_08B56B08: - aot_gpr_17 = (0u | 2u); + ctx.gpr[17] = (0u | 2u); { const bool branch_taken = 0u == 0u; aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); if (branch_taken) { @@ -6867,7 +6868,7 @@ L_08B56B14: goto L_08B5673C; L_08B56B20: ctx.gpr[23] = (ctx.gpr[2] | 0u); - aot_gpr_17 = (0u | 1u); + ctx.gpr[17] = (0u | 1u); aot_gpr_16 = (aot_gpr_16 | 32u); { const bool branch_taken = 0u == 0u; aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); @@ -6878,7 +6879,7 @@ L_08B56B20: } L_08B56B34: aot_gpr_16 = (aot_gpr_16 | 32u); - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); { const bool branch_taken = 0u == 0u; aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); if (branch_taken) { @@ -6890,7 +6891,7 @@ L_08B56B44: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(664))); aot_gpr_16 = (aot_gpr_16 | 272u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(660), aot_gpr_4); - aot_gpr_17 = (0u | 3u); + ctx.gpr[17] = (0u | 3u); ctx.gpr[21] = (0u | 16u); { const bool branch_taken = 0u == 0u; aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); @@ -6959,7 +6960,7 @@ L_08B56BB4: { std::uint32_t aot_run_words[10]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(672), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -6989,7 +6990,7 @@ L_08B56BEC: goto L_08B56C00; L_08B56C00: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(668))); - aot_gpr_17 = (0u | 3u); + ctx.gpr[17] = (0u | 3u); ctx.gpr[21] = (0u | 10u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(660), aot_gpr_5); goto L_08B56C10; @@ -7014,7 +7015,7 @@ L_08B56C20: L_08B56C28: aot_gpr_4 = (aot_gpr_16 & 32u); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_4 = (aot_gpr_17 < static_cast(5) ? 1u : 0u); + aot_gpr_4 = (ctx.gpr[17] < static_cast(5) ? 1u : 0u); if (branch_taken) { goto L_08B56CA0; } @@ -7027,7 +7028,7 @@ L_08B56C34: aot_gpr_5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0)))))); aot_gpr_5 = (aot_gpr_5 & 8u); if (aot_gpr_5 == 0u) { - aot_gpr_4 = (aot_gpr_17 < static_cast(5) ? 1u : 0u); + aot_gpr_4 = (ctx.gpr[17] < static_cast(5) ? 1u : 0u); goto L_08B56CA0; } goto L_08B56C50; @@ -7075,7 +7076,7 @@ L_08B56C80: } goto L_08B56C9C; L_08B56C9C: - aot_gpr_4 = (aot_gpr_17 < static_cast(5) ? 1u : 0u); + aot_gpr_4 = (ctx.gpr[17] < static_cast(5) ? 1u : 0u); goto L_08B56CA0; L_08B56CA0: { const bool branch_taken = aot_gpr_4 == 0u; @@ -7087,7 +7088,7 @@ L_08B56CA0: } L_08B56CA8: ctx.gpr[1] = (0u + static_cast(1)); - { const bool branch_taken = aot_gpr_17 == ctx.gpr[1]; + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[1]; ctx.gpr[1] = (0u + static_cast(2)); if (branch_taken) { goto L_08B56D80; @@ -7095,7 +7096,7 @@ L_08B56CA8: goto L_08B56CB4; } L_08B56CB4: - { const bool branch_taken = aot_gpr_17 == ctx.gpr[1]; + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[1]; ctx.gpr[1] = (0u + static_cast(3)); if (branch_taken) { goto L_08B56EC4; @@ -7103,7 +7104,7 @@ L_08B56CB4: goto L_08B56CBC; } L_08B56CBC: - { const bool branch_taken = aot_gpr_17 == ctx.gpr[1]; + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[1]; ctx.gpr[1] = (0u + static_cast(4)); if (branch_taken) { goto L_08B56FE8; @@ -7111,7 +7112,7 @@ L_08B56CBC: goto L_08B56CC4; } L_08B56CC4: - { const bool branch_taken = aot_gpr_17 == ctx.gpr[1]; + { const bool branch_taken = ctx.gpr[17] == ctx.gpr[1]; // nop if (branch_taken) { goto L_08B572C4; @@ -7134,7 +7135,7 @@ L_08B56CD8: L_08B56CE0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); aot_gpr_16 = (0u | 0u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); aot_gpr_5 = (aot_gpr_4 < ctx.gpr[19] ? 1u : 0u); goto L_08B56CF0; L_08B56CF0: @@ -7145,7 +7146,7 @@ L_08B56CF0: goto L_08B56CF8; L_08B56CF8: aot_gpr_16 = (aot_gpr_16 + aot_gpr_4); - aot_gpr_5 = (ctx.gpr[6] + aot_gpr_4); + aot_gpr_5 = (aot_gpr_6 + aot_gpr_4); ctx.gpr[19] = (ctx.gpr[19] - aot_gpr_4); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(0), aot_gpr_5); aot_gpr_31 = (0x08B56D10u); @@ -7172,7 +7173,7 @@ L_08B56D20: goto L_08B56D28; } L_08B56D28: - aot_gpr_5 = (ctx.gpr[6] + ctx.gpr[19]); + aot_gpr_5 = (aot_gpr_6 + ctx.gpr[19]); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(4), aot_gpr_4); aot_gpr_16 = (aot_gpr_16 + ctx.gpr[19]); { const bool branch_taken = 0u == 0u; @@ -7183,7 +7184,7 @@ L_08B56D28: goto L_08B56D3C; } L_08B56D3C: - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); { const bool branch_taken = 0u == 0u; aot_gpr_5 = (aot_gpr_4 < ctx.gpr[19] ? 1u : 0u); if (branch_taken) { @@ -7195,7 +7196,7 @@ L_08B56D48: aot_gpr_5 = (0u | 1u); aot_gpr_16 = (aot_gpr_4 + static_cast(4)); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(-4))); - ctx.gpr[6] = (ctx.gpr[19] | 0u); + aot_gpr_6 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08B56D60u); ctx.gpr[7] = (ctx.gpr[18] | 0u); goto L_08B559E8; @@ -7238,7 +7239,7 @@ L_08B56D9C: goto L_08B56DA4; L_08B56DA4: { const bool branch_taken = aot_gpr_5 == 0u; - aot_gpr_17 = (0u | 0u); + ctx.gpr[17] = (0u | 0u); if (branch_taken) { goto L_08B56E10; } @@ -7251,7 +7252,7 @@ L_08B56DB0: aot_gpr_4 = (aot_gpr_4 + static_cast(1)); aot_gpr_5 = (aot_gpr_5 + static_cast(-1)); aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(4), aot_gpr_5); - aot_gpr_17 = (aot_gpr_17 + static_cast(1)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(1)); ctx.gpr[19] = (ctx.gpr[19] + static_cast(-1)); { const bool branch_taken = ctx.gpr[19] == 0u; aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(0), aot_gpr_4); @@ -7278,7 +7279,7 @@ L_08B56DE0: } goto L_08B56DE8; L_08B56DE8: - if (aot_gpr_17 == 0u) { + if (ctx.gpr[17] == 0u) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(656))); goto L_08B5753C; } @@ -7304,7 +7305,7 @@ L_08B56DFC: } goto L_08B56E10; L_08B56E10: - { const bool branch_taken = aot_gpr_17 == 0u; + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_08B571CC; @@ -7313,7 +7314,7 @@ L_08B56E10: } L_08B56E18: { const bool branch_taken = 0u == 0u; - ctx.gpr[22] = (aot_gpr_17 + ctx.gpr[22]); + ctx.gpr[22] = (ctx.gpr[17] + ctx.gpr[22]); if (branch_taken) { goto L_08B57524; } @@ -7324,7 +7325,7 @@ L_08B56E20: aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(-4))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(652), aot_gpr_4); { const bool branch_taken = aot_gpr_5 == 0u; - aot_gpr_17 = (aot_gpr_16 | 0u); + ctx.gpr[17] = (aot_gpr_16 | 0u); if (branch_taken) { goto L_08B56EA4; } @@ -7367,14 +7368,14 @@ L_08B56E74: } goto L_08B56E7C; L_08B56E7C: - if (aot_gpr_16 == aot_gpr_17) { + if (aot_gpr_16 == ctx.gpr[17]) { aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(656))); goto L_08B5753C; } goto L_08B56E84; L_08B56E84: { const bool branch_taken = 0u == 0u; - aot_gpr_17 = (aot_gpr_16 - aot_gpr_17); + ctx.gpr[17] = (aot_gpr_16 - ctx.gpr[17]); if (branch_taken) { goto L_08B56EA8; } @@ -7393,10 +7394,10 @@ L_08B56E90: } goto L_08B56EA4; L_08B56EA4: - aot_gpr_17 = (aot_gpr_16 - aot_gpr_17); + ctx.gpr[17] = (aot_gpr_16 - ctx.gpr[17]); goto L_08B56EA8; L_08B56EA8: - { const bool branch_taken = aot_gpr_17 == 0u; + { const bool branch_taken = ctx.gpr[17] == 0u; // nop if (branch_taken) { goto L_08B571CC; @@ -7501,7 +7502,7 @@ L_08B56F54: aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(-4))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(652), aot_gpr_4); { const bool branch_taken = aot_gpr_5 != 0u; - aot_gpr_17 = (aot_gpr_16 | 0u); + ctx.gpr[17] = (aot_gpr_16 | 0u); if (branch_taken) { goto L_08B56FCC; } @@ -7560,7 +7561,7 @@ L_08B56FCC: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(656))); goto L_08B56FD0; L_08B56FD0: - aot_gpr_5 = (aot_gpr_16 - aot_gpr_17); + aot_gpr_5 = (aot_gpr_16 - ctx.gpr[17]); aot_mem.aot_direct_store8(aot_gpr_16 + static_cast(0), static_cast(0u)); aot_gpr_4 = (aot_gpr_4 + static_cast(1)); ctx.gpr[22] = (ctx.gpr[22] + aot_gpr_5); @@ -7581,7 +7582,7 @@ L_08B56FE8: goto L_08B56FF8; L_08B56FF8: ctx.gpr[19] = (ctx.gpr[19] + static_cast(1)); - aot_gpr_17 = (aot_gpr_29 + static_cast(292)); + ctx.gpr[17] = (aot_gpr_29 + static_cast(292)); { const bool branch_taken = ctx.gpr[19] == 0u; aot_gpr_16 = (aot_gpr_16 | 704u); if (branch_taken) { @@ -7593,8 +7594,8 @@ L_08B57008: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(0))); goto L_08B5700C; L_08B5700C: - ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0))); - aot_gpr_4 = (static_cast(ctx.gpr[6]) < 97 ? 1u : 0u); + aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast(0))); + aot_gpr_4 = (static_cast(aot_gpr_6) < 97 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(648))); if (branch_taken) { @@ -7603,7 +7604,7 @@ L_08B5700C: goto L_08B5701C; } L_08B5701C: - aot_gpr_4 = (static_cast(ctx.gpr[6]) < 71 ? 1u : 0u); + aot_gpr_4 = (static_cast(aot_gpr_6) < 71 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; aot_gpr_4 = (0u | 88u); if (branch_taken) { @@ -7612,7 +7613,7 @@ L_08B5701C: goto L_08B57028; } L_08B57028: - aot_gpr_4 = (static_cast(ctx.gpr[6]) < 43 ? 1u : 0u); + aot_gpr_4 = (static_cast(aot_gpr_6) < 43 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_4 = (aot_gpr_16 & 128u); if (branch_taken) { @@ -7621,7 +7622,7 @@ L_08B57028: goto L_08B57034; } L_08B57034: - aot_gpr_4 = (ctx.gpr[6] + static_cast(-43)); + aot_gpr_4 = (aot_gpr_6 + static_cast(-43)); aot_gpr_4 = (aot_gpr_4 << 2u); ctx.gpr[1] = (2233u << 16u); ctx.gpr[1] = (ctx.gpr[1] + aot_gpr_4); @@ -7633,7 +7634,7 @@ L_08B57034: ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08B57050: - { const bool branch_taken = ctx.gpr[6] == aot_gpr_4; + { const bool branch_taken = aot_gpr_6 == aot_gpr_4; aot_gpr_4 = (aot_gpr_16 & 256u); if (branch_taken) { goto L_08B57134; @@ -7649,16 +7650,16 @@ L_08B57058: goto L_08B57060; } L_08B57060: - aot_gpr_4 = (static_cast(ctx.gpr[6]) < 120 ? 1u : 0u); + aot_gpr_4 = (static_cast(aot_gpr_6) < 120 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_4 = (static_cast(ctx.gpr[6]) < 121 ? 1u : 0u); + aot_gpr_4 = (static_cast(aot_gpr_6) < 121 ? 1u : 0u); if (branch_taken) { goto L_08B57084; } goto L_08B5706C; } L_08B5706C: - aot_gpr_4 = (static_cast(ctx.gpr[6]) < 103 ? 1u : 0u); + aot_gpr_4 = (static_cast(aot_gpr_6) < 103 ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; aot_gpr_4 = (static_cast(ctx.gpr[21]) < 11 ? 1u : 0u); if (branch_taken) { @@ -7675,7 +7676,7 @@ L_08B57078: goto L_08B57080; } L_08B57080: - aot_gpr_4 = (static_cast(ctx.gpr[6]) < 121 ? 1u : 0u); + aot_gpr_4 = (static_cast(aot_gpr_6) < 121 ? 1u : 0u); goto L_08B57084; L_08B57084: { const bool branch_taken = aot_gpr_4 != 0u; @@ -7695,7 +7696,7 @@ L_08B5708C: } L_08B57094: { const bool branch_taken = ctx.gpr[21] != 0u; - aot_gpr_5 = (aot_gpr_17 + static_cast(1)); + aot_gpr_5 = (ctx.gpr[17] + static_cast(1)); if (branch_taken) { goto L_08B570A4; } @@ -7737,7 +7738,7 @@ L_08B570C4: ctx.gpr[21] = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast(0)))))); aot_gpr_16 = (aot_gpr_16 & ctx.gpr[20]); { const bool branch_taken = 0u == 0u; - aot_gpr_5 = (aot_gpr_17 + static_cast(1)); + aot_gpr_5 = (ctx.gpr[17] + static_cast(1)); if (branch_taken) { goto L_08B57164; } @@ -7758,7 +7759,7 @@ L_08B570DC: L_08B570F4: aot_gpr_16 = (aot_gpr_16 & ctx.gpr[20]); { const bool branch_taken = 0u == 0u; - aot_gpr_5 = (aot_gpr_17 + static_cast(1)); + aot_gpr_5 = (ctx.gpr[17] + static_cast(1)); if (branch_taken) { goto L_08B57164; } @@ -7778,7 +7779,7 @@ L_08B57104: L_08B5710C: aot_gpr_16 = (aot_gpr_16 & ctx.gpr[20]); { const bool branch_taken = 0u == 0u; - aot_gpr_5 = (aot_gpr_17 + static_cast(1)); + aot_gpr_5 = (ctx.gpr[17] + static_cast(1)); if (branch_taken) { goto L_08B57164; } @@ -7797,7 +7798,7 @@ L_08B57124: aot_gpr_4 = (0u + static_cast(-65)); aot_gpr_16 = (aot_gpr_16 & aot_gpr_4); { const bool branch_taken = 0u == 0u; - aot_gpr_5 = (aot_gpr_17 + static_cast(1)); + aot_gpr_5 = (ctx.gpr[17] + static_cast(1)); if (branch_taken) { goto L_08B57164; } @@ -7813,7 +7814,7 @@ L_08B57134: } L_08B5713C: aot_gpr_4 = (aot_gpr_29 + static_cast(293)); - { const bool branch_taken = aot_gpr_17 != aot_gpr_4; + { const bool branch_taken = ctx.gpr[17] != aot_gpr_4; aot_gpr_4 = (aot_gpr_16 & 128u); if (branch_taken) { goto L_08B571AC; @@ -7825,7 +7826,7 @@ L_08B57148: ctx.gpr[21] = (0u | 16u); aot_gpr_16 = (aot_gpr_16 & aot_gpr_4); { const bool branch_taken = 0u == 0u; - aot_gpr_5 = (aot_gpr_17 + static_cast(1)); + aot_gpr_5 = (ctx.gpr[17] + static_cast(1)); if (branch_taken) { goto L_08B57164; } @@ -7840,9 +7841,9 @@ L_08B5715C: goto L_08B57164; } L_08B57164: - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(0), static_cast(ctx.gpr[6])); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(0), static_cast(aot_gpr_6)); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); - aot_gpr_17 = (aot_gpr_5 | 0u); + ctx.gpr[17] = (aot_gpr_5 | 0u); aot_gpr_4 = (aot_gpr_4 + static_cast(-1)); { const bool branch_taken = static_cast(aot_gpr_4) <= 0; aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(4), aot_gpr_4); @@ -7892,9 +7893,9 @@ L_08B571AC: goto L_08B571B4; } L_08B571B4: - aot_gpr_4 = (aot_gpr_4 < aot_gpr_17 ? 1u : 0u); + aot_gpr_4 = (aot_gpr_4 < ctx.gpr[17] ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; - aot_gpr_4 = (aot_gpr_17 + static_cast(-1)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(-1)); if (branch_taken) { goto L_08B571CC; } @@ -7910,7 +7911,7 @@ L_08B571CC: { std::uint32_t aot_run_words[10]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(672), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -7927,7 +7928,7 @@ L_08B571CC: ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08B57200: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(-1)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(-1)))))); aot_gpr_5 = (0u | 120u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; ctx.gpr[19] = (aot_gpr_16 & 8u); @@ -7946,7 +7947,7 @@ L_08B57210: goto L_08B5721C; } L_08B5721C: - aot_gpr_17 = (aot_gpr_17 + static_cast(-1)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(-1)); aot_gpr_31 = (0x08B57228u); aot_gpr_5 = (ctx.gpr[18] | 0u); goto L_08B56550; @@ -7954,7 +7955,7 @@ L_08B57228: aot_gpr_5 = (aot_gpr_29 + static_cast(292)); goto L_08B5722C; L_08B5722C: - aot_gpr_4 = (aot_gpr_17 - aot_gpr_5); + aot_gpr_4 = (ctx.gpr[17] - aot_gpr_5); { const bool branch_taken = ctx.gpr[19] != 0u; ctx.gpr[22] = (ctx.gpr[22] + aot_gpr_4); if (branch_taken) { @@ -7963,30 +7964,30 @@ L_08B5722C: goto L_08B57238; } L_08B57238: - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(0), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(0), static_cast(0u)); ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(660))); aot_gpr_4 = (aot_gpr_5 | 0u); aot_gpr_5 = (0u | 0u); jump_target = ctx.gpr[7]; aot_gpr_31 = (0x08B57250u); - ctx.gpr[6] = (ctx.gpr[21] | 0u); + aot_gpr_6 = (ctx.gpr[21] | 0u); ctx.pc = jump_target; if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B57250u) goto L_08B57250; AOT_REGCACHE_SYNC_OUT(); return; L_08B57250: - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(652))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(652))); aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_5 = (aot_gpr_16 & 16u); { const bool branch_taken = aot_gpr_5 == 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(4)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(4)); if (branch_taken) { goto L_08B57274; } goto L_08B57264; } L_08B57264: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(-4))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(652), aot_gpr_17); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(-4))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(652), ctx.gpr[17]); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_4); if (branch_taken) { @@ -8004,8 +8005,8 @@ L_08B57274: goto L_08B57280; } L_08B57280: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(-4))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(652), aot_gpr_17); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(-4))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(652), ctx.gpr[17]); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store16(aot_gpr_5 + static_cast(0), static_cast(aot_gpr_4)); if (branch_taken) { @@ -8015,13 +8016,13 @@ L_08B57280: } L_08B57290: if (aot_gpr_5 == 0u) { - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(-4))); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(-4))); goto L_08B572A8; } goto L_08B57298; L_08B57298: - aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(-4))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(652), aot_gpr_17); + aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(-4))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(652), ctx.gpr[17]); { const bool branch_taken = 0u == 0u; aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_4); if (branch_taken) { @@ -8030,7 +8031,7 @@ L_08B57298: goto L_08B572A8; } L_08B572A8: - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(652), aot_gpr_17); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(652), ctx.gpr[17]); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_4); goto L_08B572B0; L_08B572B0: @@ -8057,7 +8058,7 @@ L_08B572C4: goto L_08B572D8; L_08B572D8: ctx.gpr[19] = (ctx.gpr[19] + static_cast(1)); - aot_gpr_17 = (aot_gpr_29 + static_cast(292)); + ctx.gpr[17] = (aot_gpr_29 + static_cast(292)); { const bool branch_taken = ctx.gpr[19] == 0u; aot_gpr_16 = (aot_gpr_16 | 960u); if (branch_taken) { @@ -8187,7 +8188,7 @@ L_08B57370: L_08B57374: aot_gpr_16 = (aot_gpr_16 & aot_gpr_4); { const bool branch_taken = 0u == 0u; - aot_gpr_4 = (aot_gpr_17 + static_cast(1)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(1)); if (branch_taken) { goto L_08B573DC; } @@ -8205,7 +8206,7 @@ L_08B57380: L_08B5738C: aot_gpr_16 = (aot_gpr_16 & ctx.gpr[20]); { const bool branch_taken = 0u == 0u; - aot_gpr_4 = (aot_gpr_17 + static_cast(1)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(1)); if (branch_taken) { goto L_08B573DC; } @@ -8224,15 +8225,15 @@ L_08B573A4: aot_gpr_4 = (0u + static_cast(-321)); aot_gpr_16 = (aot_gpr_16 & aot_gpr_4); { const bool branch_taken = 0u == 0u; - aot_gpr_4 = (aot_gpr_17 + static_cast(1)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(1)); if (branch_taken) { goto L_08B573DC; } goto L_08B573B4; } L_08B573B4: - ctx.gpr[6] = (0u | 512u); - { const bool branch_taken = aot_gpr_4 != ctx.gpr[6]; + aot_gpr_6 = (0u | 512u); + { const bool branch_taken = aot_gpr_4 != aot_gpr_6; aot_gpr_4 = (aot_gpr_16 & 128u); if (branch_taken) { goto L_08B57424; @@ -8244,7 +8245,7 @@ L_08B573C0: aot_gpr_16 = (aot_gpr_16 & aot_gpr_4); aot_gpr_16 = (aot_gpr_16 | 192u); { const bool branch_taken = 0u == 0u; - aot_gpr_4 = (aot_gpr_17 + static_cast(1)); + aot_gpr_4 = (ctx.gpr[17] + static_cast(1)); if (branch_taken) { goto L_08B573DC; } @@ -8259,9 +8260,9 @@ L_08B573D4: goto L_08B573DC; } L_08B573DC: - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(0), static_cast(aot_gpr_5)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(0), static_cast(aot_gpr_5)); aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(4))); - aot_gpr_17 = (aot_gpr_4 | 0u); + ctx.gpr[17] = (aot_gpr_4 | 0u); aot_gpr_4 = (aot_gpr_5 + static_cast(-1)); { const bool branch_taken = static_cast(aot_gpr_4) <= 0; aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast(4), aot_gpr_4); @@ -8304,7 +8305,7 @@ L_08B57420: goto L_08B57424; L_08B57424: { const bool branch_taken = aot_gpr_4 == 0u; - ctx.gpr[6] = (aot_gpr_29 + static_cast(292)); + aot_gpr_6 = (aot_gpr_29 + static_cast(292)); if (branch_taken) { goto L_08B574A4; } @@ -8313,13 +8314,13 @@ L_08B57424: L_08B5742C: aot_gpr_4 = (aot_gpr_16 & 512u); if (aot_gpr_4 == 0u) { - aot_gpr_17 = (aot_gpr_17 + static_cast(-1)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(-1)); goto L_08B57470; } goto L_08B57438; L_08B57438: aot_gpr_16 = (aot_gpr_29 + static_cast(292)); - aot_gpr_4 = (aot_gpr_16 < aot_gpr_17 ? 1u : 0u); + aot_gpr_4 = (aot_gpr_16 < ctx.gpr[17] ? 1u : 0u); { const bool branch_taken = aot_gpr_4 == 0u; // nop if (branch_taken) { @@ -8328,17 +8329,17 @@ L_08B57438: goto L_08B57448; } L_08B57448: - aot_gpr_17 = (aot_gpr_17 + static_cast(-1)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(-1)); goto L_08B5744C; L_08B5744C: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(0)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(0)))))); aot_gpr_31 = (0x08B57458u); aot_gpr_5 = (ctx.gpr[18] | 0u); goto L_08B56550; L_08B57458: - aot_gpr_4 = (aot_gpr_16 < aot_gpr_17 ? 1u : 0u); + aot_gpr_4 = (aot_gpr_16 < ctx.gpr[17] ? 1u : 0u); { const bool branch_taken = aot_gpr_4 != 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(-1)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(-1)); if (branch_taken) { goto L_08B5744C; } @@ -8353,10 +8354,10 @@ L_08B57464: goto L_08B5746C; } L_08B5746C: - aot_gpr_17 = (aot_gpr_17 + static_cast(-1)); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(-1)); goto L_08B57470; L_08B57470: - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(0)))))); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(0)))))); aot_gpr_5 = (0u | 101u); { const bool branch_taken = aot_gpr_4 == aot_gpr_5; aot_gpr_5 = (0u | 69u); @@ -8378,18 +8379,18 @@ L_08B57488: aot_gpr_5 = (ctx.gpr[18] | 0u); goto L_08B56550; L_08B57490: - aot_gpr_17 = (aot_gpr_17 + static_cast(-1)); - aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast(0)))))); + ctx.gpr[17] = (ctx.gpr[17] + static_cast(-1)); + aot_gpr_4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast(0)))))); goto L_08B57498; L_08B57498: aot_gpr_31 = (0x08B574A0u); aot_gpr_5 = (ctx.gpr[18] | 0u); goto L_08B56550; L_08B574A0: - ctx.gpr[6] = (aot_gpr_29 + static_cast(292)); + aot_gpr_6 = (aot_gpr_29 + static_cast(292)); goto L_08B574A4; L_08B574A4: - aot_gpr_4 = (aot_gpr_17 - ctx.gpr[6]); + aot_gpr_4 = (ctx.gpr[17] - aot_gpr_6); aot_gpr_5 = (aot_gpr_16 & 8u); { const bool branch_taken = aot_gpr_5 != 0u; ctx.gpr[22] = (ctx.gpr[22] + aot_gpr_4); @@ -8399,46 +8400,46 @@ L_08B574A4: goto L_08B574B4; } L_08B574B4: - aot_mem.aot_direct_store8(aot_gpr_17 + static_cast(0), static_cast(0u)); + aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast(0), static_cast(0u)); aot_gpr_31 = (0x08B574C0u); - aot_gpr_4 = (ctx.gpr[6] | 0u); + aot_gpr_4 = (aot_gpr_6 | 0u); goto L_08B577CC; L_08B574C0: - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(652))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(652))); aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_4 = (ctx.gpr[2] | 0u); - ctx.gpr[6] = (aot_gpr_16 & 1u); - { const bool branch_taken = ctx.gpr[6] == 0u; - aot_gpr_17 = (aot_gpr_17 + static_cast(4)); + aot_gpr_6 = (aot_gpr_16 & 1u); + { const bool branch_taken = aot_gpr_6 == 0u; + ctx.gpr[17] = (ctx.gpr[17] + static_cast(4)); if (branch_taken) { goto L_08B574EC; } goto L_08B574D8; } L_08B574D8: - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(-4))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(652), aot_gpr_17); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(4), aot_gpr_5); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(-4))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(652), ctx.gpr[17]); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(4), aot_gpr_5); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(0), aot_gpr_4); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(0), aot_gpr_4); if (branch_taken) { goto L_08B57518; } goto L_08B574EC; } L_08B574EC: - ctx.gpr[6] = (aot_gpr_16 & 2u); - if (ctx.gpr[6] == 0u) { - aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(-4))); + aot_gpr_6 = (aot_gpr_16 & 2u); + if (aot_gpr_6 == 0u) { + aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(-4))); goto L_08B5750C; } goto L_08B574F8; L_08B574F8: - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(-4))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(652), aot_gpr_17); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(4), aot_gpr_5); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(-4))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(652), ctx.gpr[17]); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(4), aot_gpr_5); { const bool branch_taken = 0u == 0u; - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(0), aot_gpr_4); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(0), aot_gpr_4); if (branch_taken) { goto L_08B57518; } @@ -8446,8 +8447,8 @@ L_08B574F8: } L_08B5750C: aot_gpr_31 = (0x08B57514u); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(652), aot_gpr_17); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B57514u) goto L_08B57514; + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(652), ctx.gpr[17]); + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B627F0, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 515u, 0x08B627F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B57514u) goto L_08B57514; AOT_REGCACHE_SYNC_OUT(); return; L_08B57514: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), std::bit_cast(aot_fpr_0)); @@ -8484,7 +8485,7 @@ L_08B57548: { std::uint32_t aot_run_words[10]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(672), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -8726,23 +8727,23 @@ L_08B5771C: L_08B57728: aot_gpr_29 = (aot_gpr_29 + static_cast(-32)); ctx.gpr[7] = (2234u << 16u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(15532))); - aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(328))); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(15532))); + aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(328))); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_31); if (aot_gpr_5 != 0u) { - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); goto L_08B57750; } goto L_08B57744; L_08B57744: - aot_gpr_5 = (ctx.gpr[6] + static_cast(332)); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(328), aot_gpr_5); - ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); + aot_gpr_5 = (aot_gpr_6 + static_cast(332)); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(328), aot_gpr_5); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast(4))); goto L_08B57750; L_08B57750: - ctx.gpr[6] = (static_cast(ctx.gpr[6]) < 32 ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] != 0u; - ctx.gpr[6] = (aot_gpr_5 + static_cast(4)); + aot_gpr_6 = (static_cast(aot_gpr_6) < 32 ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 != 0u; + aot_gpr_6 = (aot_gpr_5 + static_cast(4)); if (branch_taken) { goto L_08B57794; } @@ -8766,19 +8767,19 @@ L_08B57768: } L_08B57778: aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(4), 0u); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(15532))); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(328))); - aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), ctx.gpr[6]); - ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(15532))); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(328), aot_gpr_5); - ctx.gpr[6] = (aot_gpr_5 + static_cast(4)); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(15532))); + aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(328))); + aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(0), aot_gpr_6); + aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast(15532))); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(328), aot_gpr_5); + aot_gpr_6 = (aot_gpr_5 + static_cast(4)); goto L_08B57794; L_08B57794: - ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast(0))); + ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(0))); ctx.gpr[2] = (0u | 0u); ctx.gpr[8] = (ctx.gpr[7] << 2u); ctx.gpr[7] = (ctx.gpr[7] + static_cast(1)); - aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast(0), ctx.gpr[7]); + aot_mem.aot_direct_store32(aot_gpr_6 + static_cast(0), ctx.gpr[7]); aot_gpr_5 = (aot_gpr_5 + ctx.gpr[8]); aot_mem.aot_direct_store32(aot_gpr_5 + static_cast(8), aot_gpr_4); aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(20))); @@ -8817,7 +8818,7 @@ L_08B577E8: aot_gpr_5 = (0u | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); aot_gpr_31 = (0x08B577FCu); - ctx.gpr[6] = (0u | 10u); + aot_gpr_6 = (0u | 10u); if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0214_entry, 214u, 469u, 0x08B5DF34u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B577FCu) goto L_08B577FC; AOT_REGCACHE_SYNC_OUT(); return; L_08B577FC: @@ -8835,17 +8836,17 @@ L_08B57808: aot_gpr_16 = (aot_gpr_4 | 0u); ctx.gpr[18] = (2234u << 16u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast(15532))); - aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), aot_gpr_17); - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(328))); + aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(20), ctx.gpr[17]); + ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(328))); { const std::uint32_t aot_run_words[3]{ctx.gpr[19], ctx.gpr[20], aot_gpr_31}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(28), aot_run_words); } - if (aot_gpr_17 == 0u) { + if (ctx.gpr[17] == 0u) { aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast(60))); goto L_08B5787C; } goto L_08B5783C; L_08B5783C: - ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + ctx.gpr[20] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); goto L_08B57840; L_08B57840: ctx.gpr[20] = (ctx.gpr[20] + static_cast(-1)); @@ -8857,7 +8858,7 @@ L_08B57840: goto L_08B5784C; } L_08B5784C: - ctx.gpr[19] = (aot_gpr_17 + ctx.gpr[19]); + ctx.gpr[19] = (ctx.gpr[17] + ctx.gpr[19]); goto L_08B57850; L_08B57850: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast(8))); @@ -8877,9 +8878,9 @@ L_08B5785C: goto L_08B57868; } L_08B57868: - aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(0))); - if (aot_gpr_17 != 0u) { - ctx.gpr[20] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast(4))); + ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); + if (ctx.gpr[17] != 0u) { + ctx.gpr[20] = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); goto L_08B57840; } goto L_08B57874; @@ -8910,7 +8911,7 @@ L_08B57894: { std::uint32_t aot_run_words[6]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(16), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -8938,17 +8939,17 @@ L_08B578C0: AOT_REGCACHE_SYNC_OUT(); return; L_08B578C8: aot_gpr_29 = (aot_gpr_29 + static_cast(-48)); - { const std::uint32_t aot_run_words[6]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21]}; + { const std::uint32_t aot_run_words[6]{aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21]}; aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast(20), aot_run_words); } - ctx.gpr[21] = (ctx.gpr[6] | 0u); + ctx.gpr[21] = (aot_gpr_6 | 0u); aot_gpr_16 = (aot_gpr_4 | 0u); - aot_gpr_17 = (aot_gpr_5 | 0u); - ctx.gpr[18] = (ctx.gpr[6] | 0u); + ctx.gpr[17] = (aot_gpr_5 | 0u); + ctx.gpr[18] = (aot_gpr_6 | 0u); ctx.gpr[19] = (ctx.gpr[7] | 0u); ctx.gpr[20] = (ctx.gpr[8] | 0u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), aot_gpr_31); if (aot_gpr_5 == 0u) { - aot_gpr_17 = (aot_gpr_29 + static_cast(16)); + ctx.gpr[17] = (aot_gpr_29 + static_cast(16)); goto L_08B57908; } goto L_08B57908; @@ -8990,7 +8991,7 @@ L_08B5792C: { std::uint32_t aot_run_words[7]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(20), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -9006,7 +9007,7 @@ L_08B5792C: L_08B57954: aot_gpr_31 = (0x08B5795Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5795Cu) goto L_08B5795C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5795Cu) goto L_08B5795C; AOT_REGCACHE_SYNC_OUT(); return; L_08B5795C: aot_gpr_4 = (static_cast(ctx.gpr[2]) < 2 ? 1u : 0u); @@ -9109,7 +9110,7 @@ L_08B579D0: { std::uint32_t aot_run_words[7]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(20), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -9152,12 +9153,12 @@ L_08B57A14: goto L_08B57A18; L_08B57A18: aot_gpr_4 = (aot_gpr_4 + ctx.gpr[21]); - aot_mem.aot_direct_store16(aot_gpr_17 + static_cast(0), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store16(ctx.gpr[17] + static_cast(0), static_cast(aot_gpr_4)); ctx.gpr[2] = (0u | 2u); { std::uint32_t aot_run_words[7]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(20), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -9175,7 +9176,7 @@ L_08B57A48: { std::uint32_t aot_run_words[7]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(20), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -9257,7 +9258,7 @@ L_08B57ABC: { std::uint32_t aot_run_words[7]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(20), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -9275,7 +9276,7 @@ L_08B57AE4: { std::uint32_t aot_run_words[7]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(20), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -9290,12 +9291,12 @@ L_08B57AE4: AOT_REGCACHE_SYNC_OUT(); return; L_08B57B0C: aot_gpr_4 = (aot_gpr_4 + ctx.gpr[21]); - aot_mem.aot_direct_store16(aot_gpr_17 + static_cast(0), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store16(ctx.gpr[17] + static_cast(0), static_cast(aot_gpr_4)); ctx.gpr[2] = (0u | 2u); { std::uint32_t aot_run_words[7]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(20), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -9353,7 +9354,7 @@ L_08B57B70: { std::uint32_t aot_run_words[7]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(20), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -9371,8 +9372,8 @@ L_08B57B98: ctx.gpr[2] = (0u | 0u); goto L_08B57BA0; L_08B57BA0: - ctx.gpr[6] = (ctx.gpr[2] < ctx.gpr[19] ? 1u : 0u); - { const bool branch_taken = ctx.gpr[6] == 0u; + aot_gpr_6 = (ctx.gpr[2] < ctx.gpr[19] ? 1u : 0u); + { const bool branch_taken = aot_gpr_6 == 0u; aot_gpr_5 = (ctx.gpr[21] | 0u); if (branch_taken) { goto L_08B57E3C; @@ -9380,7 +9381,7 @@ L_08B57BA0: goto L_08B57BAC; } L_08B57BAC: - ctx.gpr[6] = (ctx.gpr[21] | 0u); + aot_gpr_6 = (ctx.gpr[21] | 0u); ctx.gpr[12] = (2234u << 16u); ctx.gpr[14] = (2234u << 16u); ctx.gpr[7] = (0u | 74u); @@ -9389,13 +9390,13 @@ L_08B57BAC: ctx.gpr[10] = (0u | 40u); ctx.gpr[11] = (0u | 36u); ctx.gpr[3] = (0u | 27u); - ctx.gpr[15] = (ctx.gpr[6] + static_cast(1)); + ctx.gpr[15] = (aot_gpr_6 + static_cast(1)); ctx.gpr[12] = (ctx.gpr[12] + static_cast(16008)); ctx.gpr[14] = (ctx.gpr[14] + static_cast(15576)); goto L_08B57BDC; L_08B57BDC: ctx.gpr[13] = (aot_gpr_4 << 5u); - ctx.gpr[24] = (aot_mem.aot_direct_load8(ctx.gpr[6] + static_cast(0))); + ctx.gpr[24] = (aot_mem.aot_direct_load8(aot_gpr_6 + static_cast(0))); aot_gpr_4 = (aot_gpr_4 << 2u); { const bool branch_taken = ctx.gpr[24] == ctx.gpr[7]; aot_gpr_4 = (ctx.gpr[13] + aot_gpr_4); @@ -9582,11 +9583,11 @@ L_08B57D04: } L_08B57D0C: aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(0), 0u); - aot_mem.aot_direct_store16(aot_gpr_17 + static_cast(0), static_cast(0u)); + aot_mem.aot_direct_store16(ctx.gpr[17] + static_cast(0), static_cast(0u)); { std::uint32_t aot_run_words[7]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(20), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -9604,11 +9605,11 @@ L_08B57D38: aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0))); ctx.gpr[2] = (ctx.gpr[2] + static_cast(1)); aot_gpr_4 = (aot_gpr_4 & 255u); - aot_mem.aot_direct_store16(aot_gpr_17 + static_cast(0), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store16(ctx.gpr[17] + static_cast(0), static_cast(aot_gpr_4)); { std::uint32_t aot_run_words[7]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(20), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -9627,12 +9628,12 @@ L_08B57D70: aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(1))); aot_gpr_4 = (aot_gpr_4 << 8u); aot_gpr_4 = (aot_gpr_4 + aot_gpr_5); - aot_mem.aot_direct_store16(aot_gpr_17 + static_cast(0), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store16(ctx.gpr[17] + static_cast(0), static_cast(aot_gpr_4)); ctx.gpr[2] = (ctx.gpr[2] + static_cast(1)); { std::uint32_t aot_run_words[7]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(20), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -9649,16 +9650,16 @@ L_08B57DB0: aot_gpr_4 = (0u | 1u); aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast(0), aot_gpr_4); aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(0))); - ctx.gpr[6] = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(1))); + aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast(1))); aot_gpr_4 = (aot_gpr_4 << 8u); - aot_gpr_4 = (aot_gpr_4 + ctx.gpr[6]); + aot_gpr_4 = (aot_gpr_4 + aot_gpr_6); ctx.gpr[2] = (aot_gpr_5 - ctx.gpr[21]); - aot_mem.aot_direct_store16(aot_gpr_17 + static_cast(0), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store16(ctx.gpr[17] + static_cast(0), static_cast(aot_gpr_4)); ctx.gpr[2] = (ctx.gpr[2] + static_cast(2)); { std::uint32_t aot_run_words[7]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(20), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -9685,7 +9686,7 @@ L_08B57E04: { std::uint32_t aot_run_words[7]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(20), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -9699,7 +9700,7 @@ L_08B57E04: ctx.pc = jump_target; AOT_REGCACHE_SYNC_OUT(); return; L_08B57E2C: - ctx.gpr[6] = (ctx.gpr[6] + static_cast(1)); + aot_gpr_6 = (aot_gpr_6 + static_cast(1)); ctx.gpr[13] = (ctx.gpr[2] < ctx.gpr[19] ? 1u : 0u); { const bool branch_taken = ctx.gpr[13] != 0u; ctx.gpr[15] = (ctx.gpr[15] + static_cast(1)); @@ -9713,7 +9714,7 @@ L_08B57E3C: { std::uint32_t aot_run_words[7]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(20), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -9737,13 +9738,13 @@ L_08B57E64: L_08B57E6C: aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[21] + static_cast(0))); aot_gpr_4 = (aot_gpr_4 & 255u); - aot_mem.aot_direct_store16(aot_gpr_17 + static_cast(0), static_cast(aot_gpr_4)); + aot_mem.aot_direct_store16(ctx.gpr[17] + static_cast(0), static_cast(aot_gpr_4)); ctx.gpr[2] = (aot_mem.aot_direct_load8(ctx.gpr[21] + static_cast(0))); ctx.gpr[2] = (0u < ctx.gpr[2] ? 1u : 0u); { std::uint32_t aot_run_words[7]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(20), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; @@ -9761,7 +9762,7 @@ L_08B57EA4: { std::uint32_t aot_run_words[7]{}; aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast(20), aot_run_words); aot_gpr_16 = aot_run_words[0]; - aot_gpr_17 = aot_run_words[1]; + ctx.gpr[17] = aot_run_words[1]; ctx.gpr[18] = aot_run_words[2]; ctx.gpr[19] = aot_run_words[3]; ctx.gpr[20] = aot_run_words[4]; diff --git a/profiles/vcs/generated/generated_unit_0213.cpp b/profiles/vcs/generated/generated_unit_0213.cpp index 6d95c8a..14b49e1 100644 --- a/profiles/vcs/generated/generated_unit_0213.cpp +++ b/profiles/vcs/generated/generated_unit_0213.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,7 +139,7 @@ static const std::uint16_t kEntryIds_recomp_unit_0213[4092] = { }; void recomp_unit_0213_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,6,7,2 fprs= gpr_occ=4440 fpr_occ=0 gpr_total=6877 fpr_total=0 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,6,7,2 fprs= gpr_occ=4728 fpr_occ=0 gpr_total=7537 fpr_total=0 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; @@ -3810,7 +3811,7 @@ L_08B59108: aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(44))); ctx.gpr[31] = (0x08B59134u); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(40))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B59134u) goto L_08B59134; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B59134u) goto L_08B59134; AOT_REGCACHE_SYNC_OUT(); return; L_08B59134: ctx.gpr[19] = (ctx.gpr[3] | 0u); @@ -3825,7 +3826,7 @@ L_08B59144: aot_gpr_7 = (ctx.gpr[3] | 0u); ctx.gpr[31] = (0x08B59158u); aot_gpr_6 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B59158u) goto L_08B59158; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61EF4, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B59158u) goto L_08B59158; AOT_REGCACHE_SYNC_OUT(); return; L_08B59158: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), ctx.gpr[3]); @@ -3879,7 +3880,7 @@ L_08B59190: aot_gpr_7 = (ctx.gpr[9] | 0u); ctx.gpr[31] = (0x08B591C4u); aot_gpr_6 = (ctx.gpr[8] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B591C4u) goto L_08B591C4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B591C4u) goto L_08B591C4; AOT_REGCACHE_SYNC_OUT(); return; L_08B591C4: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), ctx.gpr[3]); @@ -3914,7 +3915,7 @@ L_08B591E4: aot_gpr_5 = (ctx.gpr[9] | 0u); ctx.gpr[31] = (0x08B59214u); aot_gpr_4 = (ctx.gpr[8] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B59214u) goto L_08B59214; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B59214u) goto L_08B59214; AOT_REGCACHE_SYNC_OUT(); return; L_08B59214: aot_gpr_4 = (ctx.gpr[17] << 3u); @@ -3926,7 +3927,7 @@ L_08B59214: aot_gpr_5 = (ctx.gpr[3] | 0u); ctx.gpr[31] = (0x08B59238u); aot_gpr_4 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B59238u) goto L_08B59238; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B59238u) goto L_08B59238; AOT_REGCACHE_SYNC_OUT(); return; L_08B59238: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), ctx.gpr[3]); @@ -4003,7 +4004,7 @@ L_08B592A0: aot_gpr_7 = (ctx.gpr[9] | 0u); ctx.gpr[31] = (0x08B592D4u); aot_gpr_6 = (ctx.gpr[8] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B592D4u) goto L_08B592D4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B592D4u) goto L_08B592D4; AOT_REGCACHE_SYNC_OUT(); return; L_08B592D4: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), ctx.gpr[3]); @@ -4087,7 +4088,7 @@ L_08B5934C: aot_gpr_7 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); ctx.gpr[31] = (0x08B59358u); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B59358u) goto L_08B59358; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B59358u) goto L_08B59358; AOT_REGCACHE_SYNC_OUT(); return; L_08B59358: aot_gpr_5 = (ctx.gpr[3] | 0u); @@ -4116,7 +4117,7 @@ L_08B59378: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(44))); ctx.gpr[31] = (0x08B59398u); aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(40))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B59398u) goto L_08B59398; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B59398u) goto L_08B59398; AOT_REGCACHE_SYNC_OUT(); return; L_08B59398: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), ctx.gpr[3]); @@ -4240,7 +4241,7 @@ L_08B59474: aot_gpr_7 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); ctx.gpr[31] = (0x08B59480u); aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B59480u) goto L_08B59480; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B59480u) goto L_08B59480; AOT_REGCACHE_SYNC_OUT(); return; L_08B59480: aot_gpr_5 = (ctx.gpr[3] | 0u); @@ -4268,7 +4269,7 @@ L_08B594A0: aot_gpr_7 = (ctx.gpr[17] | 0u); ctx.gpr[31] = (0x08B594BCu); aot_gpr_6 = (ctx.gpr[16] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B594BCu) goto L_08B594BC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B594BCu) goto L_08B594BC; AOT_REGCACHE_SYNC_OUT(); return; L_08B594BC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), ctx.gpr[3]); @@ -4279,7 +4280,7 @@ L_08B594BC: aot_gpr_5 = (ctx.gpr[3] | 0u); ctx.gpr[31] = (0x08B594DCu); aot_gpr_4 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B594DCu) goto L_08B594DC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B6256C, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B594DCu) goto L_08B594DC; AOT_REGCACHE_SYNC_OUT(); return; L_08B594DC: if (aot_gpr_2 != 0u) { @@ -4294,7 +4295,7 @@ L_08B594E4: aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(16452))); ctx.gpr[31] = (0x08B594FCu); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(16448))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B594FCu) goto L_08B594FC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B594FCu) goto L_08B594FC; AOT_REGCACHE_SYNC_OUT(); return; L_08B594FC: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), ctx.gpr[3]); @@ -4304,7 +4305,7 @@ L_08B594FC: aot_gpr_7 = (ctx.gpr[17] | 0u); ctx.gpr[31] = (0x08B59518u); aot_gpr_6 = (ctx.gpr[16] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B59518u) goto L_08B59518; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B59518u) goto L_08B59518; AOT_REGCACHE_SYNC_OUT(); return; L_08B59518: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), ctx.gpr[3]); @@ -4315,7 +4316,7 @@ L_08B59518: aot_gpr_5 = (ctx.gpr[3] | 0u); ctx.gpr[31] = (0x08B59538u); aot_gpr_4 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B59538u) goto L_08B59538; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B6256C, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B59538u) goto L_08B59538; AOT_REGCACHE_SYNC_OUT(); return; L_08B59538: { const bool branch_taken = aot_gpr_2 != 0u; @@ -4807,7 +4808,7 @@ L_08B598B4: aot_gpr_7 = (ctx.gpr[3] | 0u); ctx.gpr[31] = (0x08B598C8u); aot_gpr_6 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B598C8u) goto L_08B598C8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61EF4, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B598C8u) goto L_08B598C8; AOT_REGCACHE_SYNC_OUT(); return; L_08B598C8: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), ctx.gpr[3]); @@ -4844,7 +4845,7 @@ L_08B59904: aot_gpr_6 = (ctx.gpr[18] | 0u); ctx.gpr[31] = (0x08B59920u); aot_gpr_4 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B59920u) goto L_08B59920; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B6256C, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B59920u) goto L_08B59920; AOT_REGCACHE_SYNC_OUT(); return; L_08B59920: { const bool branch_taken = aot_gpr_2 == 0u; @@ -4877,7 +4878,7 @@ L_08B5993C: aot_gpr_5 = (ctx.gpr[17] | 0u); ctx.gpr[31] = (0x08B5995Cu); aot_gpr_4 = (ctx.gpr[16] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5995Cu) goto L_08B5995C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B6256C, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5995Cu) goto L_08B5995C; AOT_REGCACHE_SYNC_OUT(); return; L_08B5995C: { const bool branch_taken = static_cast(aot_gpr_2) > 0; @@ -4968,7 +4969,7 @@ L_08B599D8: aot_gpr_5 = (ctx.gpr[17] | 0u); ctx.gpr[31] = (0x08B599F4u); aot_gpr_4 = (ctx.gpr[16] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B599F4u) goto L_08B599F4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B6256C, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B599F4u) goto L_08B599F4; AOT_REGCACHE_SYNC_OUT(); return; L_08B599F4: { const bool branch_taken = static_cast(aot_gpr_2) >= 0; @@ -4994,7 +4995,7 @@ L_08B59A0C: aot_gpr_5 = (ctx.gpr[17] | 0u); ctx.gpr[31] = (0x08B59A20u); aot_gpr_4 = (ctx.gpr[16] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B59A20u) goto L_08B59A20; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B59A20u) goto L_08B59A20; AOT_REGCACHE_SYNC_OUT(); return; L_08B59A20: aot_gpr_5 = (ctx.gpr[3] | 0u); @@ -5022,7 +5023,7 @@ L_08B59A40: aot_gpr_5 = (ctx.gpr[17] | 0u); ctx.gpr[31] = (0x08B59A58u); aot_gpr_4 = (ctx.gpr[16] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B59A58u) goto L_08B59A58; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B59A58u) goto L_08B59A58; AOT_REGCACHE_SYNC_OUT(); return; L_08B59A58: ctx.gpr[19] = (ctx.gpr[3] | 0u); @@ -5082,7 +5083,7 @@ L_08B59AD0: aot_gpr_7 = (ctx.gpr[3] | 0u); ctx.gpr[31] = (0x08B59AE4u); aot_gpr_6 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B59AE4u) goto L_08B59AE4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B59AE4u) goto L_08B59AE4; AOT_REGCACHE_SYNC_OUT(); return; L_08B59AE4: aot_gpr_5 = (ctx.gpr[21] | 0u); @@ -5090,7 +5091,7 @@ L_08B59AE4: aot_gpr_7 = (ctx.gpr[3] | 0u); ctx.gpr[31] = (0x08B59AF8u); aot_gpr_6 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B59AF8u) goto L_08B59AF8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61EF4, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B59AF8u) goto L_08B59AF8; AOT_REGCACHE_SYNC_OUT(); return; L_08B59AF8: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), ctx.gpr[3]); @@ -5166,7 +5167,7 @@ L_08B59B78: aot_gpr_5 = (ctx.gpr[19] | 0u); ctx.gpr[31] = (0x08B59B8Cu); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B59B8Cu) goto L_08B59B8C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B6256C, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B59B8Cu) goto L_08B59B8C; AOT_REGCACHE_SYNC_OUT(); return; L_08B59B8C: { const bool branch_taken = static_cast(aot_gpr_2) < 0; @@ -5182,7 +5183,7 @@ L_08B59B94: aot_gpr_5 = (ctx.gpr[19] | 0u); ctx.gpr[31] = (0x08B59BA8u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B59BA8u) goto L_08B59BA8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61EF4, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B59BA8u) goto L_08B59BA8; AOT_REGCACHE_SYNC_OUT(); return; L_08B59BA8: aot_gpr_5 = (ctx.gpr[3] | 0u); @@ -5228,7 +5229,7 @@ L_08B59BF0: aot_gpr_7 = (ctx.gpr[3] | 0u); ctx.gpr[31] = (0x08B59C04u); aot_gpr_6 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B59C04u) goto L_08B59C04; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B59C04u) goto L_08B59C04; AOT_REGCACHE_SYNC_OUT(); return; L_08B59C04: aot_gpr_5 = (ctx.gpr[21] | 0u); @@ -5236,7 +5237,7 @@ L_08B59C04: aot_gpr_7 = (ctx.gpr[3] | 0u); ctx.gpr[31] = (0x08B59C18u); aot_gpr_6 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B59C18u) goto L_08B59C18; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61EF4, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B59C18u) goto L_08B59C18; AOT_REGCACHE_SYNC_OUT(); return; L_08B59C18: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(44), ctx.gpr[3]); @@ -5308,7 +5309,7 @@ L_08B59C8C: aot_gpr_5 = (ctx.gpr[17] | 0u); ctx.gpr[31] = (0x08B59CA0u); aot_gpr_4 = (ctx.gpr[16] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B59CA0u) goto L_08B59CA0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B6256C, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B59CA0u) goto L_08B59CA0; AOT_REGCACHE_SYNC_OUT(); return; L_08B59CA0: { const bool branch_taken = static_cast(aot_gpr_2) < 0; @@ -5324,7 +5325,7 @@ L_08B59CA8: aot_gpr_5 = (ctx.gpr[17] | 0u); ctx.gpr[31] = (0x08B59CBCu); aot_gpr_4 = (ctx.gpr[16] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B59CBCu) goto L_08B59CBC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B6256C, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B59CBCu) goto L_08B59CBC; AOT_REGCACHE_SYNC_OUT(); return; L_08B59CBC: if (static_cast(aot_gpr_2) > 0) { @@ -5349,7 +5350,7 @@ L_08B59CD0: aot_gpr_5 = (ctx.gpr[17] | 0u); ctx.gpr[31] = (0x08B59CE4u); aot_gpr_4 = (ctx.gpr[16] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B59CE4u) goto L_08B59CE4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B6256C, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B59CE4u) goto L_08B59CE4; AOT_REGCACHE_SYNC_OUT(); return; L_08B59CE4: if (static_cast(aot_gpr_2) < 0) { @@ -6031,7 +6032,7 @@ L_08B5A19C: aot_gpr_5 = (ctx.gpr[19] | 0u); ctx.gpr[31] = (0x08B5A1C0u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5A1C0u) goto L_08B5A1C0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B6256C, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5A1C0u) goto L_08B5A1C0; AOT_REGCACHE_SYNC_OUT(); return; L_08B5A1C0: if (static_cast(aot_gpr_2) >= 0) { @@ -6087,7 +6088,7 @@ L_08B5A208: aot_gpr_5 = (ctx.gpr[19] | 0u); ctx.gpr[31] = (0x08B5A220u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5A220u) goto L_08B5A220; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B6256C, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5A220u) goto L_08B5A220; AOT_REGCACHE_SYNC_OUT(); return; L_08B5A220: { const bool branch_taken = static_cast(aot_gpr_2) < 0; @@ -6180,7 +6181,7 @@ L_08B5A2DC: aot_gpr_5 = (ctx.gpr[17] | 0u); ctx.gpr[31] = (0x08B5A2FCu); aot_gpr_4 = (ctx.gpr[16] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5A2FCu) goto L_08B5A2FC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B6256C, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5A2FCu) goto L_08B5A2FC; AOT_REGCACHE_SYNC_OUT(); return; L_08B5A2FC: ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(68))); @@ -6247,7 +6248,7 @@ L_08B5A368: aot_gpr_5 = (ctx.gpr[19] | 0u); ctx.gpr[31] = (0x08B5A37Cu); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5A37Cu) goto L_08B5A37C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B6256C, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5A37Cu) goto L_08B5A37C; AOT_REGCACHE_SYNC_OUT(); return; L_08B5A37C: { const bool branch_taken = aot_gpr_2 == 0u; @@ -6266,7 +6267,7 @@ L_08B5A384: aot_gpr_7 = (ctx.gpr[17] | 0u); ctx.gpr[31] = (0x08B5A3A4u); aot_gpr_6 = (ctx.gpr[16] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5A3A4u) goto L_08B5A3A4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5A3A4u) goto L_08B5A3A4; AOT_REGCACHE_SYNC_OUT(); return; L_08B5A3A4: aot_gpr_5 = (ctx.gpr[3] | 0u); @@ -6280,7 +6281,7 @@ L_08B5A3B0: ctx.gpr[18] = (aot_gpr_4 | 0u); ctx.gpr[31] = (0x08B5A3C8u); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(16552))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5A3C8u) goto L_08B5A3C8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B6256C, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5A3C8u) goto L_08B5A3C8; AOT_REGCACHE_SYNC_OUT(); return; L_08B5A3C8: { const bool branch_taken = static_cast(aot_gpr_2) >= 0; @@ -6306,7 +6307,7 @@ L_08B5A3DC: aot_gpr_7 = (ctx.gpr[17] | 0u); ctx.gpr[31] = (0x08B5A3F4u); aot_gpr_6 = (ctx.gpr[16] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5A3F4u) goto L_08B5A3F4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5A3F4u) goto L_08B5A3F4; AOT_REGCACHE_SYNC_OUT(); return; L_08B5A3F4: aot_gpr_5 = (ctx.gpr[3] | 0u); @@ -6327,7 +6328,7 @@ L_08B5A408: aot_gpr_5 = (ctx.gpr[19] | 0u); ctx.gpr[31] = (0x08B5A41Cu); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5A41Cu) goto L_08B5A41C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B6256C, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5A41Cu) goto L_08B5A41C; AOT_REGCACHE_SYNC_OUT(); return; L_08B5A41C: { const bool branch_taken = static_cast(aot_gpr_2) < 0; @@ -6371,7 +6372,7 @@ L_08B5A45C: aot_gpr_5 = (ctx.gpr[19] | 0u); ctx.gpr[31] = (0x08B5A47Cu); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5A47Cu) goto L_08B5A47C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5A47Cu) goto L_08B5A47C; AOT_REGCACHE_SYNC_OUT(); return; L_08B5A47C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(40))); @@ -6419,7 +6420,7 @@ L_08B5A4B0: aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(16564))); ctx.gpr[31] = (0x08B5A4D0u); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(16560))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5A4D0u) goto L_08B5A4D0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5A4D0u) goto L_08B5A4D0; AOT_REGCACHE_SYNC_OUT(); return; L_08B5A4D0: aot_gpr_4 = (ctx.gpr[30] + static_cast(1)); @@ -6471,7 +6472,7 @@ L_08B5A53C: aot_gpr_7 = (ctx.gpr[19] | 0u); ctx.gpr[31] = (0x08B5A550u); aot_gpr_6 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5A550u) goto L_08B5A550; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B6256C, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5A550u) goto L_08B5A550; AOT_REGCACHE_SYNC_OUT(); return; L_08B5A550: { const bool branch_taken = static_cast(aot_gpr_2) > 0; @@ -6496,7 +6497,7 @@ L_08B5A570: aot_gpr_4 = (ctx.gpr[18] | 0u); ctx.gpr[31] = (0x08B5A584u); aot_gpr_6 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5A584u) goto L_08B5A584; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B6256C, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5A584u) goto L_08B5A584; AOT_REGCACHE_SYNC_OUT(); return; L_08B5A584: { const bool branch_taken = static_cast(aot_gpr_2) > 0; @@ -6520,7 +6521,7 @@ L_08B5A58C: aot_gpr_7 = (ctx.gpr[17] | 0u); ctx.gpr[31] = (0x08B5A5C0u); aot_gpr_6 = (ctx.gpr[16] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5A5C0u) goto L_08B5A5C0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5A5C0u) goto L_08B5A5C0; AOT_REGCACHE_SYNC_OUT(); return; L_08B5A5C0: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(28), ctx.gpr[3]); @@ -6530,7 +6531,7 @@ L_08B5A5C0: aot_gpr_6 = (ctx.gpr[16] | 0u); ctx.gpr[31] = (0x08B5A5DCu); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_2); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5A5DCu) goto L_08B5A5DC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5A5DCu) goto L_08B5A5DC; AOT_REGCACHE_SYNC_OUT(); return; L_08B5A5DC: ctx.gpr[17] = (ctx.gpr[3] | 0u); @@ -6551,7 +6552,7 @@ L_08B5A5F0: aot_gpr_5 = (ctx.gpr[19] | 0u); ctx.gpr[31] = (0x08B5A604u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5A604u) goto L_08B5A604; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B6256C, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5A604u) goto L_08B5A604; AOT_REGCACHE_SYNC_OUT(); return; L_08B5A604: ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(32))); @@ -7801,7 +7802,7 @@ L_08B5AFA8: aot_gpr_7 = (ctx.gpr[9] | 0u); ctx.gpr[31] = (0x08B5AFCCu); aot_gpr_6 = (ctx.gpr[8] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5AFCCu) goto L_08B5AFCC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B6256C, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5AFCCu) goto L_08B5AFCC; AOT_REGCACHE_SYNC_OUT(); return; L_08B5AFCC: { const bool branch_taken = aot_gpr_2 == 0u; @@ -7820,7 +7821,7 @@ L_08B5AFD4: aot_gpr_5 = (ctx.gpr[19] | 0u); ctx.gpr[31] = (0x08B5AFF4u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5AFF4u) goto L_08B5AFF4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B6256C, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5AFF4u) goto L_08B5AFF4; AOT_REGCACHE_SYNC_OUT(); return; L_08B5AFF4: if (static_cast(aot_gpr_2) >= 0) { @@ -7869,7 +7870,7 @@ L_08B5B030: aot_gpr_7 = (ctx.gpr[9] | 0u); ctx.gpr[31] = (0x08B5B05Cu); aot_gpr_6 = (ctx.gpr[8] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5B05Cu) goto L_08B5B05C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B6256C, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5B05Cu) goto L_08B5B05C; AOT_REGCACHE_SYNC_OUT(); return; L_08B5B05C: { const bool branch_taken = static_cast(aot_gpr_2) < 0; @@ -7890,7 +7891,7 @@ L_08B5B06C: aot_gpr_7 = (ctx.gpr[3] | 0u); ctx.gpr[31] = (0x08B5B080u); aot_gpr_6 = (aot_gpr_2 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5B080u) goto L_08B5B080; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B6256C, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5B080u) goto L_08B5B080; AOT_REGCACHE_SYNC_OUT(); return; L_08B5B080: if (static_cast(aot_gpr_2) < 0) { diff --git a/profiles/vcs/generated/generated_unit_0214.cpp b/profiles/vcs/generated/generated_unit_0214.cpp index f4474aa..0191793 100644 --- a/profiles/vcs/generated/generated_unit_0214.cpp +++ b/profiles/vcs/generated/generated_unit_0214.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,7 +139,7 @@ static const std::uint16_t kEntryIds_recomp_unit_0214[4092] = { }; void recomp_unit_0214_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,6,7,31 fprs= gpr_occ=4058 fpr_occ=0 gpr_total=6980 fpr_total=0 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,29,6,7,31 fprs= gpr_occ=4378 fpr_occ=0 gpr_total=7734 fpr_total=0 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; @@ -2472,7 +2473,7 @@ L_08B5CAF8: L_08B5CB04: aot_gpr_31 = (0x08B5CB0Cu); aot_gpr_4 = (ctx.gpr[23] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5CB0Cu) goto L_08B5CB0C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5CB0Cu) goto L_08B5CB0C; AOT_REGCACHE_SYNC_OUT(); return; L_08B5CB0C: aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[20] + static_cast(12)))))); @@ -2793,7 +2794,7 @@ L_08B5CD4C: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(124), ctx.gpr[12]); aot_gpr_31 = (0x08B5CD5Cu); aot_gpr_4 = (ctx.gpr[23] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5CD5Cu) goto L_08B5CD5C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5CD5Cu) goto L_08B5CD5C; AOT_REGCACHE_SYNC_OUT(); return; L_08B5CD5C: aot_gpr_6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(ctx.gpr[20] + static_cast(12)))))); @@ -5332,7 +5333,7 @@ L_08B5E048: aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08B5E060u); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5E060u) goto L_08B5E060; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61EF4, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5E060u) goto L_08B5E060; AOT_REGCACHE_SYNC_OUT(); return; L_08B5E060: aot_gpr_4 = (2234u << 16u); @@ -5341,7 +5342,7 @@ L_08B5E060: aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08B5E078u); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5E078u) goto L_08B5E078; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B6256C, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5E078u) goto L_08B5E078; AOT_REGCACHE_SYNC_OUT(); return; L_08B5E078: if (static_cast(ctx.gpr[2]) <= 0) { @@ -5402,7 +5403,7 @@ L_08B5E0CC: aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08B5E0E0u); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5E0E0u) goto L_08B5E0E0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61EF4, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5E0E0u) goto L_08B5E0E0; AOT_REGCACHE_SYNC_OUT(); return; L_08B5E0E0: aot_gpr_4 = (2234u << 16u); @@ -5411,7 +5412,7 @@ L_08B5E0E0: aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08B5E0F8u); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5E0F8u) goto L_08B5E0F8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B6256C, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5E0F8u) goto L_08B5E0F8; AOT_REGCACHE_SYNC_OUT(); return; L_08B5E0F8: if (static_cast(ctx.gpr[2]) <= 0) { @@ -5466,7 +5467,7 @@ L_08B5E13C: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08B5E150u); aot_gpr_6 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5E150u) goto L_08B5E150; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61EF4, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5E150u) goto L_08B5E150; AOT_REGCACHE_SYNC_OUT(); return; L_08B5E150: aot_gpr_5 = (ctx.gpr[3] | 0u); @@ -5506,7 +5507,7 @@ L_08B5E190: aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08B5E1A4u); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5E1A4u) goto L_08B5E1A4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61EF4, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5E1A4u) goto L_08B5E1A4; AOT_REGCACHE_SYNC_OUT(); return; L_08B5E1A4: aot_gpr_4 = (2234u << 16u); @@ -5515,7 +5516,7 @@ L_08B5E1A4: aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08B5E1BCu); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5E1BCu) goto L_08B5E1BC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B6256C, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5E1BCu) goto L_08B5E1BC; AOT_REGCACHE_SYNC_OUT(); return; L_08B5E1BC: { const bool branch_taken = static_cast(ctx.gpr[2]) > 0; @@ -5682,7 +5683,7 @@ L_08B5E2E8: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08B5E2FCu); aot_gpr_6 = (ctx.gpr[8] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5E2FCu) goto L_08B5E2FC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5E2FCu) goto L_08B5E2FC; AOT_REGCACHE_SYNC_OUT(); return; L_08B5E2FC: aot_gpr_5 = (ctx.gpr[3] | 0u); @@ -6339,7 +6340,7 @@ L_08B5E77C: aot_gpr_7 = (ctx.gpr[9] | 0u); aot_gpr_31 = (0x08B5E7A0u); aot_gpr_6 = (ctx.gpr[8] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5E7A0u) goto L_08B5E7A0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5E7A0u) goto L_08B5E7A0; AOT_REGCACHE_SYNC_OUT(); return; L_08B5E7A0: aot_gpr_7 = (ctx.gpr[3] | 0u); @@ -6447,7 +6448,7 @@ L_08B5E8A0: aot_gpr_4 = (aot_gpr_6 | 0u); aot_gpr_31 = (0x08B5E8ACu); aot_gpr_5 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5E8ACu) goto L_08B5E8AC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61EF4, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5E8ACu) goto L_08B5E8AC; AOT_REGCACHE_SYNC_OUT(); return; L_08B5E8AC: { std::uint32_t aot_run_words[10]{}; @@ -6478,7 +6479,7 @@ L_08B5E8DC: aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08B5E8FCu); aot_gpr_6 = (ctx.gpr[16] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5E8FCu) goto L_08B5E8FC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B6256C, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5E8FCu) goto L_08B5E8FC; AOT_REGCACHE_SYNC_OUT(); return; L_08B5E8FC: if (ctx.gpr[2] != 0u) { @@ -6506,7 +6507,7 @@ L_08B5E914: aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B5E934u); aot_gpr_4 = (ctx.gpr[16] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5E934u) goto L_08B5E934; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5E934u) goto L_08B5E934; AOT_REGCACHE_SYNC_OUT(); return; L_08B5E934: aot_gpr_4 = (2234u << 16u); @@ -6517,7 +6518,7 @@ L_08B5E934: aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B5E954u); aot_gpr_4 = (ctx.gpr[16] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5E954u) goto L_08B5E954; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5E954u) goto L_08B5E954; AOT_REGCACHE_SYNC_OUT(); return; L_08B5E954: aot_gpr_5 = (ctx.gpr[19] | 0u); @@ -6525,7 +6526,7 @@ L_08B5E954: aot_gpr_7 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08B5E968u); aot_gpr_6 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5E968u) goto L_08B5E968; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61EF4, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5E968u) goto L_08B5E968; AOT_REGCACHE_SYNC_OUT(); return; L_08B5E968: { std::uint32_t aot_run_words[10]{}; @@ -6573,7 +6574,7 @@ L_08B5E9CC: aot_gpr_4 = (ctx.gpr[20] | 0u); aot_gpr_31 = (0x08B5E9DCu); aot_gpr_6 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5E9DCu) goto L_08B5E9DC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5E9DCu) goto L_08B5E9DC; AOT_REGCACHE_SYNC_OUT(); return; L_08B5E9DC: aot_gpr_4 = (2234u << 16u); @@ -6584,7 +6585,7 @@ L_08B5E9DC: aot_gpr_5 = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x08B5E9FCu); aot_gpr_4 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5E9FCu) goto L_08B5E9FC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5E9FCu) goto L_08B5E9FC; AOT_REGCACHE_SYNC_OUT(); return; L_08B5E9FC: aot_gpr_4 = (2234u << 16u); @@ -6601,7 +6602,7 @@ L_08B5EA14: aot_gpr_7 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08B5EA28u); aot_gpr_6 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5EA28u) goto L_08B5EA28; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5EA28u) goto L_08B5EA28; AOT_REGCACHE_SYNC_OUT(); return; L_08B5EA28: ctx.gpr[17] = (ctx.gpr[3] | 0u); @@ -6654,7 +6655,7 @@ L_08B5EA80: aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08B5EAA0u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5EAA0u) goto L_08B5EAA0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5EAA0u) goto L_08B5EAA0; AOT_REGCACHE_SYNC_OUT(); return; L_08B5EAA0: aot_gpr_4 = (2234u << 16u); @@ -6665,7 +6666,7 @@ L_08B5EAA0: aot_gpr_5 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08B5EAC0u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5EAC0u) goto L_08B5EAC0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5EAC0u) goto L_08B5EAC0; AOT_REGCACHE_SYNC_OUT(); return; L_08B5EAC0: aot_gpr_5 = (ctx.gpr[17] | 0u); @@ -6718,7 +6719,7 @@ L_08B5EB2C: aot_gpr_5 = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x08B5EB44u); aot_gpr_4 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5EB44u) goto L_08B5EB44; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61EF4, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5EB44u) goto L_08B5EB44; AOT_REGCACHE_SYNC_OUT(); return; L_08B5EB44: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(52), ctx.gpr[21]); @@ -6747,7 +6748,7 @@ L_08B5EB70: aot_gpr_6 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B5EB94u); aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(32), ctx.gpr[2]); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5EB94u) goto L_08B5EB94; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5EB94u) goto L_08B5EB94; AOT_REGCACHE_SYNC_OUT(); return; L_08B5EB94: aot_gpr_4 = (6u << 16u); @@ -6760,7 +6761,7 @@ L_08B5EB94: aot_gpr_7 = (ctx.gpr[23] | 0u); aot_gpr_31 = (0x08B5EBBCu); aot_gpr_6 = (ctx.gpr[22] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5EBBCu) goto L_08B5EBBC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5EBBCu) goto L_08B5EBBC; AOT_REGCACHE_SYNC_OUT(); return; L_08B5EBBC: aot_gpr_4 = (7u << 16u); @@ -6774,7 +6775,7 @@ L_08B5EBBC: aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B5EBE8u); aot_gpr_4 = (ctx.gpr[16] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5EBE8u) goto L_08B5EBE8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5EBE8u) goto L_08B5EBE8; AOT_REGCACHE_SYNC_OUT(); return; L_08B5EBE8: aot_gpr_4 = (2234u << 16u); @@ -6783,7 +6784,7 @@ L_08B5EBE8: aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08B5EC00u); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5EC00u) goto L_08B5EC00; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61EF4, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5EC00u) goto L_08B5EC00; AOT_REGCACHE_SYNC_OUT(); return; L_08B5EC00: aot_gpr_5 = (ctx.gpr[17] | 0u); @@ -6791,7 +6792,7 @@ L_08B5EC00: aot_gpr_7 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08B5EC14u); aot_gpr_6 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5EC14u) goto L_08B5EC14; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5EC14u) goto L_08B5EC14; AOT_REGCACHE_SYNC_OUT(); return; L_08B5EC14: aot_gpr_4 = (2234u << 16u); @@ -6800,7 +6801,7 @@ L_08B5EC14: aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08B5EC2Cu); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5EC2Cu) goto L_08B5EC2C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61EF4, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5EC2Cu) goto L_08B5EC2C; AOT_REGCACHE_SYNC_OUT(); return; L_08B5EC2C: aot_gpr_5 = (ctx.gpr[17] | 0u); @@ -6808,7 +6809,7 @@ L_08B5EC2C: aot_gpr_7 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08B5EC40u); aot_gpr_6 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5EC40u) goto L_08B5EC40; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5EC40u) goto L_08B5EC40; AOT_REGCACHE_SYNC_OUT(); return; L_08B5EC40: aot_gpr_6 = (2234u << 16u); @@ -6819,7 +6820,7 @@ L_08B5EC40: aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B5EC60u); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(16912))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5EC60u) goto L_08B5EC60; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5EC60u) goto L_08B5EC60; AOT_REGCACHE_SYNC_OUT(); return; L_08B5EC60: aot_gpr_6 = (2234u << 16u); @@ -6828,7 +6829,7 @@ L_08B5EC60: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08B5EC78u); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(16896))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5EC78u) goto L_08B5EC78; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61EF4, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5EC78u) goto L_08B5EC78; AOT_REGCACHE_SYNC_OUT(); return; L_08B5EC78: aot_gpr_5 = (ctx.gpr[17] | 0u); @@ -6836,7 +6837,7 @@ L_08B5EC78: aot_gpr_7 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08B5EC8Cu); aot_gpr_6 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5EC8Cu) goto L_08B5EC8C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5EC8Cu) goto L_08B5EC8C; AOT_REGCACHE_SYNC_OUT(); return; L_08B5EC8C: aot_gpr_6 = (2234u << 16u); @@ -6845,7 +6846,7 @@ L_08B5EC8C: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08B5ECA4u); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(16880))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5ECA4u) goto L_08B5ECA4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61EF4, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5ECA4u) goto L_08B5ECA4; AOT_REGCACHE_SYNC_OUT(); return; L_08B5ECA4: aot_gpr_5 = (ctx.gpr[17] | 0u); @@ -6853,7 +6854,7 @@ L_08B5ECA4: aot_gpr_7 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08B5ECB8u); aot_gpr_6 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5ECB8u) goto L_08B5ECB8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5ECB8u) goto L_08B5ECB8; AOT_REGCACHE_SYNC_OUT(); return; L_08B5ECB8: aot_gpr_6 = (2234u << 16u); @@ -6862,7 +6863,7 @@ L_08B5ECB8: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08B5ECD0u); aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast(16864))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5ECD0u) goto L_08B5ECD0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61EF4, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5ECD0u) goto L_08B5ECD0; AOT_REGCACHE_SYNC_OUT(); return; L_08B5ECD0: aot_gpr_5 = (ctx.gpr[23] | 0u); @@ -6870,7 +6871,7 @@ L_08B5ECD0: aot_gpr_7 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08B5ECE4u); aot_gpr_6 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5ECE4u) goto L_08B5ECE4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5ECE4u) goto L_08B5ECE4; AOT_REGCACHE_SYNC_OUT(); return; L_08B5ECE4: ctx.gpr[19] = (ctx.gpr[30] | ctx.gpr[19]); @@ -6879,7 +6880,7 @@ L_08B5ECE4: aot_gpr_7 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08B5ECFCu); aot_gpr_6 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5ECFCu) goto L_08B5ECFC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61EF4, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5ECFCu) goto L_08B5ECFC; AOT_REGCACHE_SYNC_OUT(); return; L_08B5ECFC: aot_gpr_5 = (ctx.gpr[3] | 0u); @@ -6904,7 +6905,7 @@ L_08B5ED20: aot_gpr_5 = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x08B5ED3Cu); aot_gpr_4 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5ED3Cu) goto L_08B5ED3C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5ED3Cu) goto L_08B5ED3C; AOT_REGCACHE_SYNC_OUT(); return; L_08B5ED3C: aot_gpr_5 = (ctx.gpr[3] | 0u); @@ -6912,7 +6913,7 @@ L_08B5ED3C: aot_gpr_4 = (ctx.gpr[2] | 0u); aot_gpr_31 = (0x08B5ED50u); aot_gpr_6 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5ED50u) goto L_08B5ED50; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5ED50u) goto L_08B5ED50; AOT_REGCACHE_SYNC_OUT(); return; L_08B5ED50: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(28))); @@ -6922,7 +6923,7 @@ L_08B5ED50: aot_gpr_7 = (ctx.gpr[19] | 0u); aot_gpr_31 = (0x08B5ED6Cu); aot_gpr_6 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5ED6Cu) goto L_08B5ED6C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61EF4, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5ED6Cu) goto L_08B5ED6C; AOT_REGCACHE_SYNC_OUT(); return; L_08B5ED6C: aot_gpr_5 = (ctx.gpr[17] | 0u); @@ -6930,7 +6931,7 @@ L_08B5ED6C: aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B5ED80u); aot_gpr_6 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5ED80u) goto L_08B5ED80; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5ED80u) goto L_08B5ED80; AOT_REGCACHE_SYNC_OUT(); return; L_08B5ED80: ctx.gpr[23] = (ctx.gpr[3] | 0u); @@ -6976,7 +6977,7 @@ L_08B5EDBC: aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B5EDE4u); aot_gpr_4 = (ctx.gpr[16] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5EDE4u) goto L_08B5EDE4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5EDE4u) goto L_08B5EDE4; AOT_REGCACHE_SYNC_OUT(); return; L_08B5EDE4: aot_gpr_4 = (2234u << 16u); @@ -6987,7 +6988,7 @@ L_08B5EDE4: aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B5EE04u); aot_gpr_4 = (ctx.gpr[16] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5EE04u) goto L_08B5EE04; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5EE04u) goto L_08B5EE04; AOT_REGCACHE_SYNC_OUT(); return; L_08B5EE04: aot_gpr_5 = (ctx.gpr[23] | 0u); @@ -6995,7 +6996,7 @@ L_08B5EE04: aot_gpr_4 = (ctx.gpr[22] | 0u); aot_gpr_31 = (0x08B5EE18u); aot_gpr_6 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5EE18u) goto L_08B5EE18; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61EF4, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5EE18u) goto L_08B5EE18; AOT_REGCACHE_SYNC_OUT(); return; L_08B5EE18: aot_gpr_5 = (ctx.gpr[19] | 0u); @@ -7056,7 +7057,7 @@ L_08B5EE9C: aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B5EEB0u); aot_gpr_6 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5EEB0u) goto L_08B5EEB0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5EEB0u) goto L_08B5EEB0; AOT_REGCACHE_SYNC_OUT(); return; L_08B5EEB0: ctx.gpr[19] = (ctx.gpr[3] | 0u); @@ -7092,7 +7093,7 @@ L_08B5EED8: aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B5EEF8u); aot_gpr_4 = (ctx.gpr[16] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5EEF8u) goto L_08B5EEF8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5EEF8u) goto L_08B5EEF8; AOT_REGCACHE_SYNC_OUT(); return; L_08B5EEF8: aot_gpr_4 = (2234u << 16u); @@ -7103,7 +7104,7 @@ L_08B5EEF8: aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B5EF18u); aot_gpr_4 = (ctx.gpr[16] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5EF18u) goto L_08B5EF18; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5EF18u) goto L_08B5EF18; AOT_REGCACHE_SYNC_OUT(); return; L_08B5EF18: aot_gpr_5 = (ctx.gpr[19] | 0u); @@ -7225,7 +7226,7 @@ L_08B5F028: aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B5F044u); aot_gpr_4 = (ctx.gpr[16] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5F044u) goto L_08B5F044; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5F044u) goto L_08B5F044; AOT_REGCACHE_SYNC_OUT(); return; L_08B5F044: ctx.gpr[17] = (ctx.gpr[3] | 0u); @@ -7282,7 +7283,7 @@ L_08B5F0AC: aot_gpr_4 = (ctx.gpr[16] | 0u); aot_gpr_31 = (0x08B5F0C0u); aot_gpr_6 = (ctx.gpr[16] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5F0C0u) goto L_08B5F0C0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61EF4, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5F0C0u) goto L_08B5F0C0; AOT_REGCACHE_SYNC_OUT(); return; L_08B5F0C0: { std::uint32_t aot_run_words[7]{}; @@ -7332,7 +7333,7 @@ L_08B5F11C: aot_gpr_5 = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x08B5F150u); aot_gpr_4 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5F150u) goto L_08B5F150; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5F150u) goto L_08B5F150; AOT_REGCACHE_SYNC_OUT(); return; L_08B5F150: ctx.gpr[19] = (ctx.gpr[3] | 0u); @@ -7348,7 +7349,7 @@ L_08B5F164: aot_gpr_5 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08B5F17Cu); aot_gpr_4 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5F17Cu) goto L_08B5F17C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5F17Cu) goto L_08B5F17C; AOT_REGCACHE_SYNC_OUT(); return; L_08B5F17C: aot_gpr_5 = (ctx.gpr[19] | 0u); @@ -7356,7 +7357,7 @@ L_08B5F17C: aot_gpr_7 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08B5F190u); aot_gpr_6 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5F190u) goto L_08B5F190; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61EF4, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5F190u) goto L_08B5F190; AOT_REGCACHE_SYNC_OUT(); return; L_08B5F190: aot_gpr_4 = (2234u << 16u); @@ -7367,7 +7368,7 @@ L_08B5F190: aot_gpr_5 = (ctx.gpr[21] | 0u); aot_gpr_31 = (0x08B5F1B0u); aot_gpr_4 = (ctx.gpr[20] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5F1B0u) goto L_08B5F1B0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61FD0, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 400u, 0x08B61FD0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5F1B0u) goto L_08B5F1B0; AOT_REGCACHE_SYNC_OUT(); return; L_08B5F1B0: aot_gpr_5 = (ctx.gpr[17] | 0u); @@ -7375,7 +7376,7 @@ L_08B5F1B0: aot_gpr_7 = (ctx.gpr[3] | 0u); aot_gpr_31 = (0x08B5F1C4u); aot_gpr_6 = (ctx.gpr[2] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5F1C4u) goto L_08B5F1C4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61EF4, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 390u, 0x08B61EF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B5F1C4u) goto L_08B5F1C4; AOT_REGCACHE_SYNC_OUT(); return; L_08B5F1C4: { std::uint32_t aot_run_words[7]{}; diff --git a/profiles/vcs/generated/generated_unit_0215.cpp b/profiles/vcs/generated/generated_unit_0215.cpp index a8fe3e5..3b3dc16 100644 --- a/profiles/vcs/generated/generated_unit_0215.cpp +++ b/profiles/vcs/generated/generated_unit_0215.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,7 +139,7 @@ static const std::uint16_t kEntryIds_recomp_unit_0215[4076] = { }; void recomp_unit_0215_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=2,4,29,5,3,6 fprs=12,2,4,0 gpr_occ=4223 fpr_occ=103 gpr_total=7033 fpr_total=290 +// PSPRECOMP_AOT_REGCACHE_META gprs=2,4,29,5,3,6 fprs=12,2,4,0 gpr_occ=4231 fpr_occ=103 gpr_total=7053 fpr_total=290 std::uint32_t aot_gpr_2 = ctx.gpr[2]; std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; @@ -1903,7 +1904,7 @@ L_08B60818: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), ctx.gpr[31]); ctx.gpr[31] = (0x08B6082Cu); aot_gpr_5 = (0u | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B6082Cu) goto L_08B6082C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B6082Cu) goto L_08B6082C; AOT_REGCACHE_SYNC_OUT(); return; L_08B6082C: ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); @@ -2169,7 +2170,7 @@ L_08B60A28: L_08B60A4C: ctx.gpr[31] = (0x08B60A54u); aot_gpr_4 = (aot_gpr_6 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B60A54u) goto L_08B60A54; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2E4, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B60A54u) goto L_08B60A54; AOT_REGCACHE_SYNC_OUT(); return; L_08B60A54: ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(16))); diff --git a/profiles/vcs/generated/generated_unit_0216.cpp b/profiles/vcs/generated/generated_unit_0216.cpp index 287afcb..837a02a 100644 --- a/profiles/vcs/generated/generated_unit_0216.cpp +++ b/profiles/vcs/generated/generated_unit_0216.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,7 +139,7 @@ static const std::uint16_t kEntryIds_recomp_unit_0216[4087] = { }; void recomp_unit_0216_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,29,5,6,31,7 fprs=13,12,14 gpr_occ=4189 fpr_occ=11 gpr_total=6887 fpr_total=11 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,29,5,6,31,7 fprs=13,12,14 gpr_occ=4413 fpr_occ=11 gpr_total=7325 fpr_total=11 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; @@ -3497,7 +3498,7 @@ L_08B65388: aot_gpr_6 = (ctx.gpr[16] - aot_gpr_6); aot_gpr_31 = (0x08B6539Cu); aot_gpr_5 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B6539Cu) goto L_08B6539C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B6539Cu) goto L_08B6539C; AOT_REGCACHE_SYNC_OUT(); return; L_08B6539C: aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(4))); @@ -3593,7 +3594,7 @@ L_08B65450: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_4); aot_gpr_31 = (0x08B65464u); aot_gpr_4 = (aot_gpr_5 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B65464u) goto L_08B65464; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0893685C, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B65464u) goto L_08B65464; AOT_REGCACHE_SYNC_OUT(); return; L_08B65464: aot_gpr_31 = (0x08B6546Cu); @@ -3693,7 +3694,7 @@ L_08B654E8: L_08B654F4: aot_gpr_31 = (0x08B654FCu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B654FCu) goto L_08B654FC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B654FCu) goto L_08B654FC; AOT_REGCACHE_SYNC_OUT(); return; L_08B654FC: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -3750,7 +3751,7 @@ L_08B65544: L_08B65550: aot_gpr_31 = (0x08B65558u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B65558u) goto L_08B65558; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B65558u) goto L_08B65558; AOT_REGCACHE_SYNC_OUT(); return; L_08B65558: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -3918,7 +3919,7 @@ L_08B656AC: aot_gpr_4 = (2236u << 16u); aot_gpr_31 = (0x08B656B8u); aot_gpr_4 = (aot_gpr_4 + static_cast(25856)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B656B8u) goto L_08B656B8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B656B8u) goto L_08B656B8; AOT_REGCACHE_SYNC_OUT(); return; L_08B656B8: aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(4), ctx.gpr[18]); @@ -4059,7 +4060,7 @@ L_08B657AC: L_08B657B8: aot_gpr_31 = (0x08B657C0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B657C0u) goto L_08B657C0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B657C0u) goto L_08B657C0; AOT_REGCACHE_SYNC_OUT(); return; L_08B657C0: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); @@ -4192,7 +4193,7 @@ L_08B658A0: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(0), aot_gpr_31); aot_gpr_31 = (0x08B658B0u); aot_gpr_4 = (ctx.gpr[28] + static_cast(-32664)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B658B0u) goto L_08B658B0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0893685C, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0076_entry, 76u, 698u, 0x0893685Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B658B0u) goto L_08B658B0; AOT_REGCACHE_SYNC_OUT(); return; L_08B658B0: aot_gpr_31 = (0x08B658B8u); @@ -4257,7 +4258,7 @@ L_08B65914: L_08B65920: aot_gpr_31 = (0x08B65928u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B65928u) goto L_08B65928; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B65928u) goto L_08B65928; AOT_REGCACHE_SYNC_OUT(); return; L_08B65928: { const bool branch_taken = ctx.gpr[18] == 0u; @@ -4316,7 +4317,7 @@ L_08B65960: L_08B65968: aot_gpr_31 = (0x08B65970u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B65970u) goto L_08B65970; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B65970u) goto L_08B65970; AOT_REGCACHE_SYNC_OUT(); return; L_08B65970: { const bool branch_taken = ctx.gpr[19] == 0u; @@ -4350,7 +4351,7 @@ L_08B65988: L_08B65994: aot_gpr_31 = (0x08B6599Cu); aot_gpr_4 = (ctx.gpr[19] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B6599Cu) goto L_08B6599C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B6599Cu) goto L_08B6599C; AOT_REGCACHE_SYNC_OUT(); return; L_08B6599C: { const bool branch_taken = ctx.gpr[16] == 0u; @@ -4390,7 +4391,7 @@ L_08B659C8: L_08B659D0: aot_gpr_31 = (0x08B659D8u); aot_gpr_4 = (ctx.gpr[16] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B659D8u) goto L_08B659D8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B659D8u) goto L_08B659D8; AOT_REGCACHE_SYNC_OUT(); return; L_08B659D8: { std::uint32_t aot_run_words[5]{}; @@ -4434,7 +4435,7 @@ L_08B65A18: L_08B65A24: aot_gpr_31 = (0x08B65A2Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B65A2Cu) goto L_08B65A2C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B65A2Cu) goto L_08B65A2C; AOT_REGCACHE_SYNC_OUT(); return; L_08B65A2C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); @@ -5074,7 +5075,7 @@ L_08B65EA0: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(4), aot_gpr_31); aot_gpr_31 = (0x08B65EBCu); aot_gpr_6 = (0u | 20u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B65EBCu) goto L_08B65EBC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B65EBCu) goto L_08B65EBC; AOT_REGCACHE_SYNC_OUT(); return; L_08B65EBC: ctx.gpr[2] = (ctx.gpr[16] | 0u); @@ -5498,7 +5499,7 @@ L_08B6622C: aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B66238u); aot_gpr_4 = (aot_gpr_4 + static_cast(-29120)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B66238u) goto L_08B66238; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B66238u) goto L_08B66238; AOT_REGCACHE_SYNC_OUT(); return; L_08B66238: { std::uint32_t aot_run_words[3]{}; @@ -5600,7 +5601,7 @@ L_08B662D4: aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B662E0u); aot_gpr_4 = (aot_gpr_4 + static_cast(-29120)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B662E0u) goto L_08B662E0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B662E0u) goto L_08B662E0; AOT_REGCACHE_SYNC_OUT(); return; L_08B662E0: { std::uint32_t aot_run_words[3]{}; @@ -5712,7 +5713,7 @@ L_08B6638C: aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B66398u); aot_gpr_4 = (aot_gpr_4 + static_cast(-29120)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B66398u) goto L_08B66398; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B66398u) goto L_08B66398; AOT_REGCACHE_SYNC_OUT(); return; L_08B66398: { std::uint32_t aot_run_words[3]{}; @@ -5834,7 +5835,7 @@ L_08B66454: aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B66460u); aot_gpr_4 = (aot_gpr_4 + static_cast(-29120)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B66460u) goto L_08B66460; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B66460u) goto L_08B66460; AOT_REGCACHE_SYNC_OUT(); return; L_08B66460: { std::uint32_t aot_run_words[3]{}; @@ -5897,7 +5898,7 @@ L_08B664C0: L_08B664CC: aot_gpr_31 = (0x08B664D4u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B664D4u) goto L_08B664D4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B664D4u) goto L_08B664D4; AOT_REGCACHE_SYNC_OUT(); return; L_08B664D4: { std::uint32_t aot_run_words[3]{}; @@ -6019,7 +6020,7 @@ L_08B665C8: L_08B665D4: aot_gpr_31 = (0x08B665DCu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B665DCu) goto L_08B665DC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B665DCu) goto L_08B665DC; AOT_REGCACHE_SYNC_OUT(); return; L_08B665DC: { const bool branch_taken = 0u == 0u; @@ -6122,7 +6123,7 @@ L_08B66684: aot_gpr_4 = (2237u << 16u); aot_gpr_31 = (0x08B66690u); aot_gpr_4 = (aot_gpr_4 + static_cast(-29120)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B66690u) goto L_08B66690; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B66690u) goto L_08B66690; AOT_REGCACHE_SYNC_OUT(); return; L_08B66690: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -6229,7 +6230,7 @@ L_08B66734: aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B66740u); aot_gpr_4 = (aot_gpr_4 + static_cast(-29120)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B66740u) goto L_08B66740; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B66740u) goto L_08B66740; AOT_REGCACHE_SYNC_OUT(); return; L_08B66740: { std::uint32_t aot_run_words[3]{}; @@ -6292,7 +6293,7 @@ L_08B667A0: L_08B667AC: aot_gpr_31 = (0x08B667B4u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B667B4u) goto L_08B667B4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B667B4u) goto L_08B667B4; AOT_REGCACHE_SYNC_OUT(); return; L_08B667B4: { std::uint32_t aot_run_words[3]{}; @@ -6364,7 +6365,7 @@ L_08B66814: L_08B6681C: aot_gpr_31 = (0x08B66824u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B66824u) goto L_08B66824; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B66824u) goto L_08B66824; AOT_REGCACHE_SYNC_OUT(); return; L_08B66824: { std::uint32_t aot_run_words[3]{}; @@ -6703,7 +6704,7 @@ L_08B66AF0: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(16), aot_gpr_31); aot_gpr_31 = (0x08B66B1Cu); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B66B1Cu) goto L_08B66B1C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B66B1Cu) goto L_08B66B1C; AOT_REGCACHE_SYNC_OUT(); return; L_08B66B1C: aot_gpr_4 = (ctx.gpr[17] + ctx.gpr[2]); @@ -7111,7 +7112,7 @@ L_08B66E40: L_08B66E4C: aot_gpr_31 = (0x08B66E54u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B66E54u) goto L_08B66E54; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B66E54u) goto L_08B66E54; AOT_REGCACHE_SYNC_OUT(); return; L_08B66E54: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -7190,7 +7191,7 @@ L_08B66EE0: L_08B66EE8: aot_gpr_31 = (0x08B66EF0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B66EF0u) goto L_08B66EF0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B66EF0u) goto L_08B66EF0; AOT_REGCACHE_SYNC_OUT(); return; L_08B66EF0: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -7297,7 +7298,7 @@ L_08B66F94: aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B66FA0u); aot_gpr_4 = (aot_gpr_4 + static_cast(-29120)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B66FA0u) goto L_08B66FA0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B66FA0u) goto L_08B66FA0; AOT_REGCACHE_SYNC_OUT(); return; L_08B66FA0: { std::uint32_t aot_run_words[3]{}; @@ -7360,7 +7361,7 @@ L_08B67000: L_08B6700C: aot_gpr_31 = (0x08B67014u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B67014u) goto L_08B67014; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B67014u) goto L_08B67014; AOT_REGCACHE_SYNC_OUT(); return; L_08B67014: { std::uint32_t aot_run_words[3]{}; @@ -7428,7 +7429,7 @@ L_08B67070: L_08B67078: aot_gpr_31 = (0x08B67080u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B67080u) goto L_08B67080; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B67080u) goto L_08B67080; AOT_REGCACHE_SYNC_OUT(); return; L_08B67080: { const bool branch_taken = ctx.gpr[17] == 0u; @@ -7468,7 +7469,7 @@ L_08B670AC: L_08B670B4: aot_gpr_31 = (0x08B670BCu); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B670BCu) goto L_08B670BC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B670BCu) goto L_08B670BC; AOT_REGCACHE_SYNC_OUT(); return; L_08B670BC: { std::uint32_t aot_run_words[3]{}; @@ -7493,7 +7494,7 @@ L_08B670D0: aot_mem.aot_direct_store32(aot_gpr_29 + static_cast(24), aot_gpr_31); aot_gpr_31 = (0x08B670F4u); aot_gpr_4 = (ctx.gpr[16] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B670F4u) goto L_08B670F4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B670F4u) goto L_08B670F4; AOT_REGCACHE_SYNC_OUT(); return; L_08B670F4: aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast(0))); @@ -7755,7 +7756,7 @@ L_08B672EC: L_08B672F4: aot_gpr_31 = (0x08B672FCu); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B672FCu) goto L_08B672FC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B672FCu) goto L_08B672FC; AOT_REGCACHE_SYNC_OUT(); return; L_08B672FC: { std::uint32_t aot_run_words[3]{}; @@ -8034,7 +8035,7 @@ L_08B67520: L_08B67528: aot_gpr_31 = (0x08B67530u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B67530u) goto L_08B67530; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B67530u) goto L_08B67530; AOT_REGCACHE_SYNC_OUT(); return; L_08B67530: aot_gpr_4 = (ctx.gpr[16] & 1u); @@ -8050,7 +8051,7 @@ L_08B67534: L_08B6753C: aot_gpr_31 = (0x08B67544u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B67544u) goto L_08B67544; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B67544u) goto L_08B67544; AOT_REGCACHE_SYNC_OUT(); return; L_08B67544: { std::uint32_t aot_run_words[3]{}; @@ -8265,7 +8266,7 @@ L_08B6771C: L_08B67724: aot_gpr_31 = (0x08B6772Cu); aot_gpr_4 = (aot_gpr_6 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B6772Cu) goto L_08B6772C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B6772Cu) goto L_08B6772C; AOT_REGCACHE_SYNC_OUT(); return; L_08B6772C: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(16))); @@ -8306,7 +8307,7 @@ L_08B67750: L_08B6775C: aot_gpr_31 = (0x08B67764u); aot_gpr_4 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B67764u) goto L_08B67764; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B67764u) goto L_08B67764; AOT_REGCACHE_SYNC_OUT(); return; L_08B67764: aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(16))); @@ -8538,7 +8539,7 @@ L_08B67958: L_08B67960: aot_gpr_31 = (0x08B67968u); aot_gpr_4 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B67968u) goto L_08B67968; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B67968u) goto L_08B67968; AOT_REGCACHE_SYNC_OUT(); return; L_08B67968: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(44))); @@ -8589,7 +8590,7 @@ L_08B679CC: L_08B679D4: aot_gpr_31 = (0x08B679DCu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B679DCu) goto L_08B679DC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B679DCu) goto L_08B679DC; AOT_REGCACHE_SYNC_OUT(); return; L_08B679DC: aot_gpr_4 = (ctx.gpr[19] | 0u); @@ -8796,7 +8797,7 @@ L_08B67B94: L_08B67BA0: aot_gpr_31 = (0x08B67BA8u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B67BA8u) goto L_08B67BA8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B67BA8u) goto L_08B67BA8; AOT_REGCACHE_SYNC_OUT(); return; L_08B67BA8: { const bool branch_taken = 0u == 0u; @@ -9247,7 +9248,7 @@ L_08B67EF4: L_08B67EFC: aot_gpr_31 = (0x08B67F04u); aot_gpr_4 = (aot_gpr_5 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B67F04u) goto L_08B67F04; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B67F04u) goto L_08B67F04; AOT_REGCACHE_SYNC_OUT(); return; L_08B67F04: aot_gpr_4 = (ctx.gpr[19] << 2u); diff --git a/profiles/vcs/generated/generated_unit_0217.cpp b/profiles/vcs/generated/generated_unit_0217.cpp index fc005e5..582c319 100644 --- a/profiles/vcs/generated/generated_unit_0217.cpp +++ b/profiles/vcs/generated/generated_unit_0217.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,7 +139,7 @@ static const std::uint16_t kEntryIds_recomp_unit_0217[4096] = { }; void recomp_unit_0217_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,29,5,6,7,16 fprs=12,13 gpr_occ=4810 fpr_occ=32 gpr_total=6737 fpr_total=32 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,29,5,6,7,16 fprs=12,13 gpr_occ=4978 fpr_occ=32 gpr_total=7073 fpr_total=32 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; @@ -1226,7 +1227,7 @@ L_08B68234: aot_gpr_4 = (2236u << 16u); ctx.gpr[31] = (0x08B68240u); aot_gpr_4 = (aot_gpr_4 + static_cast(25856)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B68240u) goto L_08B68240; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B68240u) goto L_08B68240; AOT_REGCACHE_SYNC_OUT(); return; L_08B68240: { const bool branch_taken = ctx.gpr[17] == 0u; @@ -1266,7 +1267,7 @@ L_08B6826C: L_08B68274: ctx.gpr[31] = (0x08B6827Cu); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B6827Cu) goto L_08B6827C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B6827Cu) goto L_08B6827C; AOT_REGCACHE_SYNC_OUT(); return; L_08B6827C: { std::uint32_t aot_run_words[3]{}; @@ -1363,7 +1364,7 @@ L_08B68314: L_08B68320: ctx.gpr[31] = (0x08B68328u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B68328u) goto L_08B68328; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B68328u) goto L_08B68328; AOT_REGCACHE_SYNC_OUT(); return; L_08B68328: { std::uint32_t aot_run_words[3]{}; @@ -1486,7 +1487,7 @@ L_08B683E4: L_08B683EC: ctx.gpr[31] = (0x08B683F4u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B683F4u) goto L_08B683F4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B683F4u) goto L_08B683F4; AOT_REGCACHE_SYNC_OUT(); return; L_08B683F4: { std::uint32_t aot_run_words[3]{}; @@ -1556,7 +1557,7 @@ L_08B6846C: L_08B68474: ctx.gpr[31] = (0x08B6847Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B6847Cu) goto L_08B6847C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B6847Cu) goto L_08B6847C; AOT_REGCACHE_SYNC_OUT(); return; L_08B6847C: { const bool branch_taken = ctx.gpr[19] == 0u; @@ -1615,7 +1616,7 @@ L_08B684B4: L_08B684BC: ctx.gpr[31] = (0x08B684C4u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B684C4u) goto L_08B684C4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B684C4u) goto L_08B684C4; AOT_REGCACHE_SYNC_OUT(); return; L_08B684C4: { const bool branch_taken = ctx.gpr[18] == 0u; @@ -1664,7 +1665,7 @@ L_08B684F8: L_08B68504: ctx.gpr[31] = (0x08B6850Cu); aot_gpr_4 = (ctx.gpr[22] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B6850Cu) goto L_08B6850C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B6850Cu) goto L_08B6850C; AOT_REGCACHE_SYNC_OUT(); return; L_08B6850C: ctx.gpr[20] = (ctx.gpr[20] + static_cast(12)); @@ -1705,7 +1706,7 @@ L_08B6852C: L_08B68534: ctx.gpr[31] = (0x08B6853Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B6853Cu) goto L_08B6853C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B6853Cu) goto L_08B6853C; AOT_REGCACHE_SYNC_OUT(); return; L_08B6853C: { const bool branch_taken = aot_gpr_16 == 0u; @@ -1745,7 +1746,7 @@ L_08B68568: L_08B68570: ctx.gpr[31] = (0x08B68578u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B68578u) goto L_08B68578; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B68578u) goto L_08B68578; AOT_REGCACHE_SYNC_OUT(); return; L_08B68578: { std::uint32_t aot_run_words[8]{}; @@ -1873,7 +1874,7 @@ L_08B68680: L_08B6868C: ctx.gpr[31] = (0x08B68694u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B68694u) goto L_08B68694; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B68694u) goto L_08B68694; AOT_REGCACHE_SYNC_OUT(); return; L_08B68694: { const bool branch_taken = 0u == 0u; @@ -2021,7 +2022,7 @@ L_08B687A8: L_08B687B4: ctx.gpr[31] = (0x08B687BCu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B687BCu) goto L_08B687BC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B687BCu) goto L_08B687BC; AOT_REGCACHE_SYNC_OUT(); return; L_08B687BC: aot_gpr_4 = (aot_gpr_16 & 1u); @@ -2037,7 +2038,7 @@ L_08B687C0: L_08B687C8: ctx.gpr[31] = (0x08B687D0u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B687D0u) goto L_08B687D0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B687D0u) goto L_08B687D0; AOT_REGCACHE_SYNC_OUT(); return; L_08B687D0: { std::uint32_t aot_run_words[3]{}; @@ -2269,7 +2270,7 @@ L_08B689C8: L_08B689D4: ctx.gpr[31] = (0x08B689DCu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B689DCu) goto L_08B689DC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B689DCu) goto L_08B689DC; AOT_REGCACHE_SYNC_OUT(); return; L_08B689DC: ctx.gpr[17] = (ctx.gpr[17] + static_cast(4)); @@ -3530,7 +3531,7 @@ L_08B699AC: L_08B699B8: ctx.gpr[31] = (0x08B699C0u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B699C0u) goto L_08B699C0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B699C0u) goto L_08B699C0; AOT_REGCACHE_SYNC_OUT(); return; L_08B699C0: ctx.gpr[17] = (ctx.gpr[17] + static_cast(4)); @@ -3610,7 +3611,7 @@ L_08B69A24: L_08B69A2C: ctx.gpr[31] = (0x08B69A34u); aot_gpr_4 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B69A34u) goto L_08B69A34; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B69A34u) goto L_08B69A34; AOT_REGCACHE_SYNC_OUT(); return; L_08B69A34: { const bool branch_taken = 0u == 0u; @@ -3767,7 +3768,7 @@ L_08B69B5C: L_08B69B78: ctx.gpr[31] = (0x08B69B80u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B69B80u) goto L_08B69B80; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B69B80u) goto L_08B69B80; AOT_REGCACHE_SYNC_OUT(); return; L_08B69B80: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(12))); @@ -4274,7 +4275,7 @@ L_08B69FF4: L_08B69FFC: ctx.gpr[31] = (0x08B6A004u); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B6A004u) goto L_08B6A004; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B6A004u) goto L_08B6A004; AOT_REGCACHE_SYNC_OUT(); return; L_08B6A004: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(32), ctx.gpr[21]); @@ -4727,7 +4728,7 @@ L_08B6A338: L_08B6A344: ctx.gpr[31] = (0x08B6A34Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B6A34Cu) goto L_08B6A34C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B6A34Cu) goto L_08B6A34C; AOT_REGCACHE_SYNC_OUT(); return; L_08B6A34C: ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -4783,7 +4784,7 @@ L_08B6A390: L_08B6A39C: ctx.gpr[31] = (0x08B6A3A4u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B6A3A4u) goto L_08B6A3A4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B6A3A4u) goto L_08B6A3A4; AOT_REGCACHE_SYNC_OUT(); return; L_08B6A3A4: ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -4828,7 +4829,7 @@ L_08B6A3E4: L_08B6A3F0: ctx.gpr[31] = (0x08B6A3F8u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B6A3F8u) goto L_08B6A3F8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2E4, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B6A3F8u) goto L_08B6A3F8; AOT_REGCACHE_SYNC_OUT(); return; L_08B6A3F8: aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(32), 0u); @@ -4856,7 +4857,7 @@ L_08B6A410: L_08B6A41C: ctx.gpr[31] = (0x08B6A424u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B6A424u) goto L_08B6A424; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2E4, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B6A424u) goto L_08B6A424; AOT_REGCACHE_SYNC_OUT(); return; L_08B6A424: aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast(20), 0u); @@ -4890,7 +4891,7 @@ L_08B6A448: L_08B6A450: ctx.gpr[31] = (0x08B6A458u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B6A458u) goto L_08B6A458; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B6A458u) goto L_08B6A458; AOT_REGCACHE_SYNC_OUT(); return; L_08B6A458: { std::uint32_t aot_run_words[3]{}; @@ -5769,7 +5770,7 @@ L_08B6AA94: L_08B6AAA0: ctx.gpr[31] = (0x08B6AAA8u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B6AAA8u) goto L_08B6AAA8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B6AAA8u) goto L_08B6AAA8; AOT_REGCACHE_SYNC_OUT(); return; L_08B6AAA8: { const bool branch_taken = ctx.gpr[18] != 0u; @@ -7284,7 +7285,7 @@ L_08B6B540: L_08B6B548: ctx.gpr[31] = (0x08B6B550u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B6B550u) goto L_08B6B550; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B6B550u) goto L_08B6B550; AOT_REGCACHE_SYNC_OUT(); return; L_08B6B550: ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -7387,7 +7388,7 @@ L_08B6B5F8: L_08B6B600: ctx.gpr[31] = (0x08B6B608u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B6B608u) goto L_08B6B608; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B6B608u) goto L_08B6B608; AOT_REGCACHE_SYNC_OUT(); return; L_08B6B608: { std::uint32_t aot_run_words[4]{}; @@ -8033,7 +8034,7 @@ L_08B6BB10: L_08B6BB1C: ctx.gpr[31] = (0x08B6BB24u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B6BB24u) goto L_08B6BB24; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B6BB24u) goto L_08B6BB24; AOT_REGCACHE_SYNC_OUT(); return; L_08B6BB24: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(0))); @@ -8148,7 +8149,7 @@ L_08B6BBC8: L_08B6BBD0: ctx.gpr[31] = (0x08B6BBD8u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B6BBD8u) goto L_08B6BBD8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B6BBD8u) goto L_08B6BBD8; AOT_REGCACHE_SYNC_OUT(); return; L_08B6BBD8: { std::uint32_t aot_run_words[3]{}; @@ -8227,7 +8228,7 @@ L_08B6BC60: L_08B6BC68: ctx.gpr[31] = (0x08B6BC70u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B6BC70u) goto L_08B6BC70; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B6BC70u) goto L_08B6BC70; AOT_REGCACHE_SYNC_OUT(); return; L_08B6BC70: { std::uint32_t aot_run_words[3]{}; diff --git a/profiles/vcs/generated/generated_unit_0218.cpp b/profiles/vcs/generated/generated_unit_0218.cpp index d90ceff..d34c4e7 100644 --- a/profiles/vcs/generated/generated_unit_0218.cpp +++ b/profiles/vcs/generated/generated_unit_0218.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,7 +139,7 @@ static const std::uint16_t kEntryIds_recomp_unit_0218[4072] = { }; void recomp_unit_0218_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,29,5,6,7,16 fprs=12,13,14 gpr_occ=4809 fpr_occ=74 gpr_total=6884 fpr_total=74 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,29,5,6,7,16 fprs=12,13,14 gpr_occ=4995 fpr_occ=74 gpr_total=7256 fpr_total=74 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; @@ -2224,7 +2225,7 @@ L_08B6CB70: aot_gpr_4 = (2237u << 16u); ctx.gpr[31] = (0x08B6CB7Cu); aot_gpr_4 = (aot_gpr_4 + static_cast(-29120)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B6CB7Cu) goto L_08B6CB7C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B6CB7Cu) goto L_08B6CB7C; AOT_REGCACHE_SYNC_OUT(); return; L_08B6CB7C: ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -2273,7 +2274,7 @@ L_08B6CBCC: aot_gpr_4 = (2236u << 16u); ctx.gpr[31] = (0x08B6CBD8u); aot_gpr_4 = (aot_gpr_4 + static_cast(25856)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B6CBD8u) goto L_08B6CBD8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B6CBD8u) goto L_08B6CBD8; AOT_REGCACHE_SYNC_OUT(); return; L_08B6CBD8: { const bool branch_taken = ctx.gpr[17] == 0u; @@ -2313,7 +2314,7 @@ L_08B6CC08: aot_gpr_5 = (ctx.gpr[17] | 0u); ctx.gpr[31] = (0x08B6CC14u); aot_gpr_4 = (aot_gpr_4 + static_cast(-29120)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B6CC14u) goto L_08B6CC14; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B6CC14u) goto L_08B6CC14; AOT_REGCACHE_SYNC_OUT(); return; L_08B6CC14: { std::uint32_t aot_run_words[3]{}; @@ -2489,7 +2490,7 @@ L_08B6CD70: L_08B6CD7C: ctx.gpr[31] = (0x08B6CD84u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B6CD84u) goto L_08B6CD84; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B6CD84u) goto L_08B6CD84; AOT_REGCACHE_SYNC_OUT(); return; L_08B6CD84: ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -3092,7 +3093,7 @@ L_08B6D2D0: L_08B6D2E0: ctx.gpr[31] = (0x08B6D2E8u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B6D2E8u) goto L_08B6D2E8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B6D2E8u) goto L_08B6D2E8; AOT_REGCACHE_SYNC_OUT(); return; L_08B6D2E8: ctx.gpr[18] = (ctx.gpr[18] + static_cast(4)); @@ -3129,7 +3130,7 @@ L_08B6D308: L_08B6D310: ctx.gpr[31] = (0x08B6D318u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B6D318u) goto L_08B6D318; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B6D318u) goto L_08B6D318; AOT_REGCACHE_SYNC_OUT(); return; L_08B6D318: aot_gpr_4 = (aot_gpr_16 & 1u); @@ -3145,7 +3146,7 @@ L_08B6D31C: L_08B6D324: ctx.gpr[31] = (0x08B6D32Cu); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B6D32Cu) goto L_08B6D32C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B6D32Cu) goto L_08B6D32C; AOT_REGCACHE_SYNC_OUT(); return; L_08B6D32C: { std::uint32_t aot_run_words[6]{}; @@ -3290,7 +3291,7 @@ L_08B6D424: aot_gpr_5 = (ctx.gpr[17] | 0u); ctx.gpr[31] = (0x08B6D430u); aot_gpr_4 = (aot_gpr_4 + static_cast(-29120)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B6D430u) goto L_08B6D430; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B6D430u) goto L_08B6D430; AOT_REGCACHE_SYNC_OUT(); return; L_08B6D430: { std::uint32_t aot_run_words[3]{}; @@ -3353,7 +3354,7 @@ L_08B6D490: L_08B6D49C: ctx.gpr[31] = (0x08B6D4A4u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B6D4A4u) goto L_08B6D4A4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B6D4A4u) goto L_08B6D4A4; AOT_REGCACHE_SYNC_OUT(); return; L_08B6D4A4: { std::uint32_t aot_run_words[3]{}; @@ -3455,7 +3456,7 @@ L_08B6D540: aot_gpr_5 = (ctx.gpr[17] | 0u); ctx.gpr[31] = (0x08B6D54Cu); aot_gpr_4 = (aot_gpr_4 + static_cast(-29120)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B6D54Cu) goto L_08B6D54C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B6D54Cu) goto L_08B6D54C; AOT_REGCACHE_SYNC_OUT(); return; L_08B6D54C: { std::uint32_t aot_run_words[3]{}; @@ -3977,7 +3978,7 @@ L_08B6D83C: aot_gpr_5 = (ctx.gpr[17] | 0u); ctx.gpr[31] = (0x08B6D848u); aot_gpr_4 = (aot_gpr_4 + static_cast(-29120)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B6D848u) goto L_08B6D848; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B6D848u) goto L_08B6D848; AOT_REGCACHE_SYNC_OUT(); return; L_08B6D848: { std::uint32_t aot_run_words[3]{}; @@ -4040,7 +4041,7 @@ L_08B6D8A8: L_08B6D8B4: ctx.gpr[31] = (0x08B6D8BCu); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B6D8BCu) goto L_08B6D8BC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B6D8BCu) goto L_08B6D8BC; AOT_REGCACHE_SYNC_OUT(); return; L_08B6D8BC: { std::uint32_t aot_run_words[3]{}; @@ -4088,7 +4089,7 @@ L_08B6D904: L_08B6D910: ctx.gpr[31] = (0x08B6D918u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B6D918u) goto L_08B6D918; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B6D918u) goto L_08B6D918; AOT_REGCACHE_SYNC_OUT(); return; L_08B6D918: { std::uint32_t aot_run_words[3]{}; @@ -4149,7 +4150,7 @@ L_08B6D964: L_08B6D970: ctx.gpr[31] = (0x08B6D978u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B6D978u) goto L_08B6D978; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B6D978u) goto L_08B6D978; AOT_REGCACHE_SYNC_OUT(); return; L_08B6D978: ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -4196,7 +4197,7 @@ L_08B6D9B8: aot_gpr_4 = (2237u << 16u); ctx.gpr[31] = (0x08B6D9C4u); aot_gpr_4 = (aot_gpr_4 + static_cast(-29120)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B6D9C4u) goto L_08B6D9C4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B6D9C4u) goto L_08B6D9C4; AOT_REGCACHE_SYNC_OUT(); return; L_08B6D9C4: ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -4282,7 +4283,7 @@ L_08B6DA4C: L_08B6DA58: ctx.gpr[31] = (0x08B6DA60u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B6DA60u) goto L_08B6DA60; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B6DA60u) goto L_08B6DA60; AOT_REGCACHE_SYNC_OUT(); return; L_08B6DA60: ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -4392,7 +4393,7 @@ L_08B6DB1C: L_08B6DB24: ctx.gpr[31] = (0x08B6DB2Cu); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B6DB2Cu) goto L_08B6DB2C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B6DB2Cu) goto L_08B6DB2C; AOT_REGCACHE_SYNC_OUT(); return; L_08B6DB2C: { std::uint32_t aot_run_words[3]{}; @@ -4444,7 +4445,7 @@ L_08B6DB74: aot_gpr_4 = (2237u << 16u); ctx.gpr[31] = (0x08B6DB80u); aot_gpr_4 = (aot_gpr_4 + static_cast(-29120)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B6DB80u) goto L_08B6DB80; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B6DB80u) goto L_08B6DB80; AOT_REGCACHE_SYNC_OUT(); return; L_08B6DB80: ctx.gpr[31] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -4486,7 +4487,7 @@ L_08B6DBBC: L_08B6DBC8: ctx.gpr[31] = (0x08B6DBD0u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B6DBD0u) goto L_08B6DBD0; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B6DBD0u) goto L_08B6DBD0; AOT_REGCACHE_SYNC_OUT(); return; L_08B6DBD0: { const bool branch_taken = ctx.gpr[18] != 0u; @@ -4549,7 +4550,7 @@ L_08B6DC34: aot_gpr_4 = (2236u << 16u); ctx.gpr[31] = (0x08B6DC40u); aot_gpr_4 = (aot_gpr_4 + static_cast(25856)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B6DC40u) goto L_08B6DC40; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B6DC40u) goto L_08B6DC40; AOT_REGCACHE_SYNC_OUT(); return; L_08B6DC40: { const bool branch_taken = ctx.gpr[17] == 0u; @@ -4589,7 +4590,7 @@ L_08B6DC6C: L_08B6DC74: ctx.gpr[31] = (0x08B6DC7Cu); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B6DC7Cu) goto L_08B6DC7C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B6DC7Cu) goto L_08B6DC7C; AOT_REGCACHE_SYNC_OUT(); return; L_08B6DC7C: { std::uint32_t aot_run_words[3]{}; @@ -4928,7 +4929,7 @@ L_08B6DF4C: L_08B6DF5C: ctx.gpr[31] = (0x08B6DF64u); aot_gpr_4 = (aot_gpr_16 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B6DF64u) goto L_08B6DF64; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B6DF64u) goto L_08B6DF64; AOT_REGCACHE_SYNC_OUT(); return; L_08B6DF64: aot_gpr_16 = (ctx.gpr[18] | 0u); @@ -6001,7 +6002,7 @@ L_08B6E808: L_08B6E814: ctx.gpr[31] = (0x08B6E81Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B6E81Cu) goto L_08B6E81C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B6E81Cu) goto L_08B6E81C; AOT_REGCACHE_SYNC_OUT(); return; L_08B6E81C: aot_mem.aot_direct_store32(aot_gpr_16 + static_cast(0), ctx.gpr[20]); @@ -6517,7 +6518,7 @@ L_08B6EC18: L_08B6EC20: ctx.gpr[31] = (0x08B6EC28u); aot_gpr_4 = (aot_gpr_5 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B6EC28u) goto L_08B6EC28; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B6EC28u) goto L_08B6EC28; AOT_REGCACHE_SYNC_OUT(); return; L_08B6EC28: aot_gpr_4 = (ctx.gpr[19] << 2u); @@ -7107,7 +7108,7 @@ L_08B6EF78: L_08B6EF80: ctx.gpr[31] = (0x08B6EF88u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B6EF88u) goto L_08B6EF88; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B6EF88u) goto L_08B6EF88; AOT_REGCACHE_SYNC_OUT(); return; L_08B6EF88: { std::uint32_t aot_run_words[3]{}; @@ -7161,7 +7162,7 @@ L_08B6EFD8: L_08B6EFE4: ctx.gpr[31] = (0x08B6EFECu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B6EFECu) goto L_08B6EFEC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B6EFECu) goto L_08B6EFEC; AOT_REGCACHE_SYNC_OUT(); return; L_08B6EFEC: aot_gpr_4 = (aot_gpr_16 & 1u); @@ -7177,7 +7178,7 @@ L_08B6EFF0: L_08B6EFF8: ctx.gpr[31] = (0x08B6F000u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B6F000u) goto L_08B6F000; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B6F000u) goto L_08B6F000; AOT_REGCACHE_SYNC_OUT(); return; L_08B6F000: { std::uint32_t aot_run_words[3]{}; @@ -7412,7 +7413,7 @@ L_08B6F200: L_08B6F20C: ctx.gpr[31] = (0x08B6F214u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B6F214u) goto L_08B6F214; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B6F214u) goto L_08B6F214; AOT_REGCACHE_SYNC_OUT(); return; L_08B6F214: ctx.gpr[17] = (ctx.gpr[17] + static_cast(4)); @@ -8032,7 +8033,7 @@ L_08B6F954: L_08B6F960: ctx.gpr[31] = (0x08B6F968u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B6F968u) goto L_08B6F968; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B6F968u) goto L_08B6F968; AOT_REGCACHE_SYNC_OUT(); return; L_08B6F968: aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(28))); @@ -8110,7 +8111,7 @@ L_08B6F9CC: L_08B6F9D4: ctx.gpr[31] = (0x08B6F9DCu); aot_gpr_4 = (aot_gpr_7 | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B6F9DCu) goto L_08B6F9DC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B6F9DCu) goto L_08B6F9DC; AOT_REGCACHE_SYNC_OUT(); return; L_08B6F9DC: { const bool branch_taken = 0u == 0u; @@ -8360,7 +8361,7 @@ L_08B6FBE8: L_08B6FC04: ctx.gpr[31] = (0x08B6FC0Cu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B6FC0Cu) goto L_08B6FC0C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], aot_gpr_16, ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, ctx.gpr[31]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B6FC0Cu) goto L_08B6FC0C; AOT_REGCACHE_SYNC_OUT(); return; L_08B6FC0C: aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast(12))); diff --git a/profiles/vcs/generated/generated_unit_0219.cpp b/profiles/vcs/generated/generated_unit_0219.cpp index 20467ba..87d768d 100644 --- a/profiles/vcs/generated/generated_unit_0219.cpp +++ b/profiles/vcs/generated/generated_unit_0219.cpp @@ -1,5 +1,6 @@ #include "psprecomp/runtime.hpp" #include "generated_units.hpp" +#include "vcs_resident_regions.hpp" #include #include #include @@ -138,7 +139,7 @@ static const std::uint16_t kEntryIds_recomp_unit_0219[4084] = { }; void recomp_unit_0219_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) { // PSPRECOMP_AOT_REGCACHE_BEGIN -// PSPRECOMP_AOT_REGCACHE_META gprs=4,29,5,31,6,7 fprs=12,13,24 gpr_occ=3674 fpr_occ=5 gpr_total=5171 fpr_total=5 +// PSPRECOMP_AOT_REGCACHE_META gprs=4,29,5,31,6,7 fprs=12,13,24 gpr_occ=3794 fpr_occ=5 gpr_total=5411 fpr_total=5 std::uint32_t aot_gpr_4 = ctx.gpr[4]; std::uint32_t aot_gpr_29 = ctx.gpr[29]; std::uint32_t aot_gpr_5 = ctx.gpr[5]; @@ -1591,7 +1592,7 @@ L_08B704DC: L_08B704E4: aot_gpr_31 = (0x08B704ECu); aot_gpr_4 = (ctx.gpr[18] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B704ECu) goto L_08B704EC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B704ECu) goto L_08B704EC; AOT_REGCACHE_SYNC_OUT(); return; L_08B704EC: aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast(32), ctx.gpr[21]); @@ -1673,7 +1674,7 @@ L_08B7057C: L_08B70588: aot_gpr_31 = (0x08B70590u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B70590u) goto L_08B70590; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B70590u) goto L_08B70590; AOT_REGCACHE_SYNC_OUT(); return; L_08B70590: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -1780,7 +1781,7 @@ L_08B70634: aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B70640u); aot_gpr_4 = (aot_gpr_4 + static_cast(-29120)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B70640u) goto L_08B70640; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B70640u) goto L_08B70640; AOT_REGCACHE_SYNC_OUT(); return; L_08B70640: { std::uint32_t aot_run_words[3]{}; @@ -1843,7 +1844,7 @@ L_08B706A0: L_08B706AC: aot_gpr_31 = (0x08B706B4u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B706B4u) goto L_08B706B4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B706B4u) goto L_08B706B4; AOT_REGCACHE_SYNC_OUT(); return; L_08B706B4: { std::uint32_t aot_run_words[3]{}; @@ -1891,7 +1892,7 @@ L_08B706FC: L_08B70708: aot_gpr_31 = (0x08B70710u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B70710u) goto L_08B70710; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B70710u) goto L_08B70710; AOT_REGCACHE_SYNC_OUT(); return; L_08B70710: { std::uint32_t aot_run_words[3]{}; @@ -2002,7 +2003,7 @@ L_08B707EC: L_08B707F8: aot_gpr_31 = (0x08B70800u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B70800u) goto L_08B70800; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B70800u) goto L_08B70800; AOT_REGCACHE_SYNC_OUT(); return; L_08B70800: { std::uint32_t aot_run_words[3]{}; @@ -2032,12 +2033,12 @@ L_08B70814: L_08B7082C: aot_gpr_31 = (0x08B70834u); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(0))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B70834u) goto L_08B70834; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2E4, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B70834u) goto L_08B70834; AOT_REGCACHE_SYNC_OUT(); return; L_08B70834: aot_gpr_31 = (0x08B7083Cu); aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast(4))); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B7083Cu) goto L_08B7083C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2E4, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B7083Cu) goto L_08B7083C; AOT_REGCACHE_SYNC_OUT(); return; L_08B7083C: { const std::uint32_t aot_run_words[4]{0u, 0u, 0u, 0u}; @@ -2558,7 +2559,7 @@ L_08B70CA0: L_08B70CAC: aot_gpr_31 = (0x08B70CB4u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B70CB4u) goto L_08B70CB4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B70CB4u) goto L_08B70CB4; AOT_REGCACHE_SYNC_OUT(); return; L_08B70CB4: aot_gpr_4 = (ctx.gpr[16] & 1u); @@ -2574,7 +2575,7 @@ L_08B70CB8: L_08B70CC0: aot_gpr_31 = (0x08B70CC8u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B70CC8u) goto L_08B70CC8; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B70CC8u) goto L_08B70CC8; AOT_REGCACHE_SYNC_OUT(); return; L_08B70CC8: { std::uint32_t aot_run_words[3]{}; @@ -2809,7 +2810,7 @@ L_08B70EC8: L_08B70ED4: aot_gpr_31 = (0x08B70EDCu); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B70EDCu) goto L_08B70EDC; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B70EDCu) goto L_08B70EDC; AOT_REGCACHE_SYNC_OUT(); return; L_08B70EDC: ctx.gpr[17] = (ctx.gpr[17] + static_cast(4)); @@ -3086,7 +3087,7 @@ L_08B71108: L_08B71118: aot_gpr_31 = (0x08B71120u); aot_gpr_4 = (ctx.gpr[16] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B71120u) goto L_08B71120; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B71120u) goto L_08B71120; AOT_REGCACHE_SYNC_OUT(); return; L_08B71120: ctx.gpr[16] = (ctx.gpr[18] | 0u); @@ -3590,7 +3591,7 @@ L_08B7151C: L_08B7152C: aot_gpr_31 = (0x08B71534u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B71534u) goto L_08B71534; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B71534u) goto L_08B71534; AOT_REGCACHE_SYNC_OUT(); return; L_08B71534: { const bool branch_taken = ctx.gpr[16] == 0u; @@ -3603,7 +3604,7 @@ L_08B71534: L_08B7153C: aot_gpr_31 = (0x08B71544u); aot_gpr_4 = (ctx.gpr[16] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B71544u) goto L_08B71544; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B71544u) goto L_08B71544; AOT_REGCACHE_SYNC_OUT(); return; L_08B71544: ctx.gpr[16] = (ctx.gpr[18] | 0u); @@ -5929,7 +5930,7 @@ L_08B72840: L_08B7284C: aot_gpr_31 = (0x08B72854u); // nop - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B72854u) goto L_08B72854; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B72854u) goto L_08B72854; AOT_REGCACHE_SYNC_OUT(); return; L_08B72854: aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast(0))); @@ -6244,7 +6245,7 @@ L_08B72B28: L_08B72B34: aot_gpr_31 = (0x08B72B3Cu); aot_gpr_4 = (ctx.gpr[16] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B72B3Cu) goto L_08B72B3C; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE398, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 482u, 0x08ABE398u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B72B3Cu) goto L_08B72B3C; AOT_REGCACHE_SYNC_OUT(); return; L_08B72B3C: { std::uint32_t aot_run_words[7]{}; @@ -6501,7 +6502,7 @@ L_08B72D34: aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B72D40u); aot_gpr_4 = (aot_gpr_4 + static_cast(-29120)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B72D40u) goto L_08B72D40; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B72D40u) goto L_08B72D40; AOT_REGCACHE_SYNC_OUT(); return; L_08B72D40: { std::uint32_t aot_run_words[3]{}; @@ -6564,7 +6565,7 @@ L_08B72DA0: L_08B72DAC: aot_gpr_31 = (0x08B72DB4u); aot_gpr_4 = (ctx.gpr[17] | 0u); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B72DB4u) goto L_08B72DB4; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B72DB4u) goto L_08B72DB4; AOT_REGCACHE_SYNC_OUT(); return; L_08B72DB4: { std::uint32_t aot_run_words[3]{}; @@ -6673,7 +6674,7 @@ L_08B72E4C: aot_gpr_4 = (2236u << 16u); aot_gpr_31 = (0x08B72E58u); aot_gpr_4 = (aot_gpr_4 + static_cast(25856)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B72E58u) goto L_08B72E58; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B72E58u) goto L_08B72E58; AOT_REGCACHE_SYNC_OUT(); return; L_08B72E58: { const bool branch_taken = ctx.gpr[17] == 0u; @@ -6713,7 +6714,7 @@ L_08B72E88: aot_gpr_5 = (ctx.gpr[17] | 0u); aot_gpr_31 = (0x08B72E94u); aot_gpr_4 = (aot_gpr_4 + static_cast(-29120)); - if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B72E94u) goto L_08B72E94; + if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B72E94u) goto L_08B72E94; AOT_REGCACHE_SYNC_OUT(); return; L_08B72E94: { std::uint32_t aot_run_words[3]{}; diff --git a/profiles/vcs/generated/v810_resident_region_manifest.json b/profiles/vcs/generated/v810_resident_region_manifest.json new file mode 100644 index 0000000..0e3cd5c --- /dev/null +++ b/profiles/vcs/generated/v810_resident_region_manifest.json @@ -0,0 +1,1631 @@ +{ + "version": 1, + "stage": "perf-v8.10-extreme-cpu-resident-regions-2026-08-18", + "min_static_sites": 40, + "max_blocks": 40, + "poisonable_units": [ + 44, + 197, + 212, + 216, + 219 + ], + "targets": 83, + "sites": 11171, + "generated_files_with_sites": 220, + "changed_files_this_run": 220, + "changed_sites_this_run": 11171, + "regions": [ + { + "pc": "0x08806634", + "unit": 0, + "entry": 302, + "blocks": 1, + "sites": 71, + "gprs": [ + 2, + 4, + 5, + 31 + ], + "fprs": [], + "uses_hi": false, + "uses_lo": false, + "uses_pc": true + }, + { + "pc": "0x08806654", + "unit": 0, + "entry": 303, + "blocks": 7, + "sites": 70, + "gprs": [ + 4, + 5, + 6, + 7, + 8, + 31 + ], + "fprs": [], + "uses_hi": false, + "uses_lo": false, + "uses_pc": true + }, + { + "pc": "0x0880682C", + "unit": 0, + "entry": 322, + "blocks": 16, + "sites": 63, + "gprs": [ + 2, + 4, + 5, + 6, + 7, + 16, + 29, + 31 + ], + "fprs": [], + "uses_hi": false, + "uses_lo": false, + "uses_pc": true + }, + { + "pc": "0x08806888", + "unit": 0, + "entry": 324, + "blocks": 18, + "sites": 62, + "gprs": [ + 2, + 4, + 5, + 6, + 7, + 29, + 31 + ], + "fprs": [], + "uses_hi": false, + "uses_lo": false, + "uses_pc": true + }, + { + "pc": "0x0880692C", + "unit": 0, + "entry": 337, + "blocks": 18, + "sites": 45, + "gprs": [ + 2, + 4, + 5, + 6, + 7, + 16, + 29, + 31 + ], + "fprs": [], + "uses_hi": false, + "uses_lo": false, + "uses_pc": true + }, + { + "pc": "0x08806A88", + "unit": 0, + "entry": 360, + "blocks": 18, + "sites": 141, + "gprs": [ + 2, + 4, + 5, + 6, + 7, + 29, + 31 + ], + "fprs": [], + "uses_hi": false, + "uses_lo": false, + "uses_pc": true + }, + { + "pc": "0x08806AE0", + "unit": 0, + "entry": 368, + "blocks": 18, + "sites": 43, + "gprs": [ + 2, + 4, + 5, + 6, + 7, + 29, + 31 + ], + "fprs": [], + "uses_hi": false, + "uses_lo": false, + "uses_pc": true + }, + { + "pc": "0x08806DC0", + "unit": 0, + "entry": 425, + "blocks": 1, + "sites": 236, + "gprs": [ + 4, + 5, + 6, + 31 + ], + "fprs": [ + 12 + ], + "uses_hi": false, + "uses_lo": false, + "uses_pc": true + }, + { + "pc": "0x08807098", + "unit": 0, + "entry": 451, + "blocks": 1, + "sites": 105, + "gprs": [ + 4, + 5, + 6, + 7, + 31 + ], + "fprs": [], + "uses_hi": false, + "uses_lo": false, + "uses_pc": true + }, + { + "pc": "0x088073CC", + "unit": 0, + "entry": 483, + "blocks": 16, + "sites": 171, + "gprs": [ + 2, + 4, + 5, + 6, + 7, + 16, + 29, + 31 + ], + "fprs": [], + "uses_hi": false, + "uses_lo": false, + "uses_pc": true + }, + { + "pc": "0x0880A400", + "unit": 1, + "entry": 514, + "blocks": 1, + "sites": 131, + "gprs": [ + 2, + 4, + 5, + 28, + 31 + ], + "fprs": [], + "uses_hi": false, + "uses_lo": false, + "uses_pc": true + }, + { + "pc": "0x088305D8", + "unit": 11, + "entry": 79, + "blocks": 1, + "sites": 73, + "gprs": [ + 2, + 4, + 31 + ], + "fprs": [ + 12, + 13, + 14 + ], + "uses_hi": false, + "uses_lo": false, + "uses_pc": true + }, + { + "pc": "0x088305EC", + "unit": 11, + "entry": 80, + "blocks": 1, + "sites": 50, + "gprs": [ + 2, + 4, + 5, + 31 + ], + "fprs": [ + 12 + ], + "uses_hi": false, + "uses_lo": false, + "uses_pc": true + }, + { + "pc": "0x0883079C", + "unit": 11, + "entry": 102, + "blocks": 1, + "sites": 59, + "gprs": [ + 2, + 4, + 31 + ], + "fprs": [], + "uses_hi": false, + "uses_lo": false, + "uses_pc": true + }, + { + "pc": "0x088307E0", + "unit": 11, + "entry": 108, + "blocks": 1, + "sites": 42, + "gprs": [ + 2, + 4, + 31 + ], + "fprs": [], + "uses_hi": false, + "uses_lo": false, + "uses_pc": true + }, + { + "pc": "0x08830934", + "unit": 11, + "entry": 128, + "blocks": 1, + "sites": 42, + "gprs": [ + 2, + 4, + 31 + ], + "fprs": [], + "uses_hi": false, + "uses_lo": false, + "uses_pc": true + }, + { + "pc": "0x08830A20", + "unit": 11, + "entry": 136, + "blocks": 1, + "sites": 58, + "gprs": [ + 2, + 4, + 31 + ], + "fprs": [], + "uses_hi": false, + "uses_lo": false, + "uses_pc": true + }, + { + "pc": "0x08830A50", + "unit": 11, + "entry": 138, + "blocks": 1, + "sites": 47, + "gprs": [ + 2, + 4, + 31 + ], + "fprs": [], + "uses_hi": false, + "uses_lo": false, + "uses_pc": true + }, + { + "pc": "0x08830B10", + "unit": 11, + "entry": 148, + "blocks": 1, + "sites": 46, + "gprs": [ + 2, + 4, + 31 + ], + "fprs": [], + "uses_hi": false, + "uses_lo": false, + "uses_pc": true + }, + { + "pc": "0x08861668", + "unit": 23, + "entry": 203, + "blocks": 4, + "sites": 480, + "gprs": [ + 1, + 2, + 4, + 5, + 6, + 29, + 31 + ], + "fprs": [], + "uses_hi": false, + "uses_lo": false, + "uses_pc": true + }, + { + "pc": "0x08862890", + "unit": 23, + "entry": 431, + "blocks": 23, + "sites": 205, + "gprs": [ + 2, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 16, + 17, + 18, + 19, + 20, + 21, + 28, + 29, + 31 + ], + "fprs": [], + "uses_hi": false, + "uses_lo": false, + "uses_pc": true + }, + { + "pc": "0x0886D4BC", + "unit": 26, + "entry": 206, + "blocks": 5, + "sites": 74, + "gprs": [ + 2, + 4, + 5, + 31 + ], + "fprs": [], + "uses_hi": false, + "uses_lo": false, + "uses_pc": true + }, + { + "pc": "0x08873400", + "unit": 27, + "entry": 732, + "blocks": 1, + "sites": 75, + "gprs": [ + 2, + 4, + 31 + ], + "fprs": [ + 12, + 13, + 14, + 15 + ], + "uses_hi": false, + "uses_lo": false, + "uses_pc": true + }, + { + "pc": "0x088905F0", + "unit": 35, + "entry": 95, + "blocks": 1, + "sites": 113, + "gprs": [ + 4, + 5, + 6, + 7, + 31 + ], + "fprs": [], + "uses_hi": false, + "uses_lo": false, + "uses_pc": true + }, + { + "pc": "0x088C95D8", + "unit": 49, + "entry": 283, + "blocks": 6, + "sites": 1318, + "gprs": [ + 4, + 5, + 6, + 7, + 8, + 9, + 28, + 31 + ], + "fprs": [], + "uses_hi": true, + "uses_lo": true, + "uses_pc": true + }, + { + "pc": "0x088C9640", + "unit": 49, + "entry": 289, + "blocks": 4, + "sites": 130, + "gprs": [ + 1, + 2, + 4, + 5, + 6, + 7, + 8, + 28, + 29, + 31 + ], + "fprs": [], + "uses_hi": false, + "uses_lo": false, + "uses_pc": true + }, + { + "pc": "0x088C971C", + "unit": 49, + "entry": 302, + "blocks": 4, + "sites": 43, + "gprs": [ + 1, + 2, + 4, + 5, + 6, + 7, + 8, + 28, + 29, + 31 + ], + "fprs": [], + "uses_hi": false, + "uses_lo": false, + "uses_pc": true + }, + { + "pc": "0x08908E78", + "unit": 65, + "entry": 261, + "blocks": 1, + "sites": 50, + "gprs": [ + 4, + 5, + 31 + ], + "fprs": [], + "uses_hi": false, + "uses_lo": false, + "uses_pc": true + }, + { + "pc": "0x08909B60", + "unit": 65, + "entry": 454, + "blocks": 14, + "sites": 41, + "gprs": [ + 2, + 4, + 5, + 6, + 16, + 29, + 31 + ], + "fprs": [], + "uses_hi": false, + "uses_lo": false, + "uses_pc": true + }, + { + "pc": "0x0890BE50", + "unit": 65, + "entry": 982, + "blocks": 1, + "sites": 171, + "gprs": [ + 4, + 5, + 31 + ], + "fprs": [], + "uses_hi": false, + "uses_lo": false, + "uses_pc": true + }, + { + "pc": "0x0890D44C", + "unit": 66, + "entry": 315, + "blocks": 4, + "sites": 437, + "gprs": [ + 2, + 4, + 31 + ], + "fprs": [], + "uses_hi": false, + "uses_lo": false, + "uses_pc": true + }, + { + "pc": "0x0890F694", + "unit": 66, + "entry": 781, + "blocks": 3, + "sites": 160, + "gprs": [ + 4, + 5, + 6, + 31 + ], + "fprs": [], + "uses_hi": false, + "uses_lo": false, + "uses_pc": true + }, + { + "pc": "0x0890F6B4", + "unit": 66, + "entry": 784, + "blocks": 1, + "sites": 236, + "gprs": [ + 2, + 4, + 31 + ], + "fprs": [], + "uses_hi": false, + "uses_lo": false, + "uses_pc": true + }, + { + "pc": "0x0890FF64", + "unit": 66, + "entry": 887, + "blocks": 1, + "sites": 54, + "gprs": [ + 4, + 31 + ], + "fprs": [], + "uses_hi": false, + "uses_lo": false, + "uses_pc": true + }, + { + "pc": "0x089101A4", + "unit": 67, + "entry": 27, + "blocks": 1, + "sites": 59, + "gprs": [ + 2, + 4, + 31 + ], + "fprs": [], + "uses_hi": false, + "uses_lo": false, + "uses_pc": true + }, + { + "pc": "0x0893685C", + "unit": 76, + "entry": 698, + "blocks": 1, + "sites": 73, + "gprs": [ + 2, + 31 + ], + "fprs": [], + "uses_hi": false, + "uses_lo": false, + "uses_pc": true + }, + { + "pc": "0x089474C4", + "unit": 80, + "entry": 661, + "blocks": 4, + "sites": 59, + "gprs": [ + 2, + 4, + 5, + 6, + 31 + ], + "fprs": [], + "uses_hi": false, + "uses_lo": false, + "uses_pc": true + }, + { + "pc": "0x0896918C", + "unit": 89, + "entry": 250, + "blocks": 1, + "sites": 48, + "gprs": [ + 2, + 4, + 31 + ], + "fprs": [], + "uses_hi": false, + "uses_lo": false, + "uses_pc": true + }, + { + "pc": "0x08969194", + "unit": 89, + "entry": 251, + "blocks": 7, + "sites": 48, + "gprs": [ + 2, + 4, + 5, + 6, + 7, + 8, + 31 + ], + "fprs": [], + "uses_hi": false, + "uses_lo": false, + "uses_pc": true + }, + { + "pc": "0x089B7A84", + "unit": 108, + "entry": 690, + "blocks": 9, + "sites": 100, + "gprs": [ + 2, + 4, + 5, + 6, + 7, + 8, + 28, + 31 + ], + "fprs": [], + "uses_hi": true, + "uses_lo": true, + "uses_pc": true + }, + { + "pc": "0x089D1B1C", + "unit": 115, + "entry": 292, + "blocks": 1, + "sites": 116, + "gprs": [ + 2, + 4, + 31 + ], + "fprs": [ + 12, + 13, + 14, + 15 + ], + "uses_hi": false, + "uses_lo": false, + "uses_pc": true + }, + { + "pc": "0x089F620C", + "unit": 124, + "entry": 402, + "blocks": 5, + "sites": 449, + "gprs": [ + 2, + 4, + 5, + 6, + 7, + 31 + ], + "fprs": [], + "uses_hi": false, + "uses_lo": false, + "uses_pc": true + }, + { + "pc": "0x08A28D00", + "unit": 137, + "entry": 232, + "blocks": 1, + "sites": 48, + "gprs": [ + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 29, + 31 + ], + "fprs": [ + 20, + 22, + 24 + ], + "uses_hi": false, + "uses_lo": false, + "uses_pc": true + }, + { + "pc": "0x08A3550C", + "unit": 140, + "entry": 317, + "blocks": 1, + "sites": 225, + "gprs": [ + 2, + 4, + 5, + 6, + 7, + 8, + 31 + ], + "fprs": [], + "uses_hi": false, + "uses_lo": false, + "uses_pc": true + }, + { + "pc": "0x08A92F78", + "unit": 163, + "entry": 419, + "blocks": 11, + "sites": 144, + "gprs": [ + 4, + 5, + 6, + 7, + 28, + 31 + ], + "fprs": [], + "uses_hi": false, + "uses_lo": false, + "uses_pc": true + }, + { + "pc": "0x08A93004", + "unit": 163, + "entry": 430, + "blocks": 7, + "sites": 51, + "gprs": [ + 4, + 5, + 6, + 7, + 8, + 28, + 31 + ], + "fprs": [], + "uses_hi": false, + "uses_lo": false, + "uses_pc": true + }, + { + "pc": "0x08ABE2C0", + "unit": 174, + "entry": 470, + "blocks": 10, + "sites": 306, + "gprs": [ + 4, + 5, + 6, + 7, + 8, + 16, + 17, + 18, + 19, + 20, + 29, + 31 + ], + "fprs": [], + "uses_hi": false, + "uses_lo": false, + "uses_pc": true + }, + { + "pc": "0x08ABE2E4", + "unit": 174, + "entry": 472, + "blocks": 10, + "sites": 83, + "gprs": [ + 4, + 5, + 6, + 7, + 8, + 16, + 17, + 18, + 19, + 20, + 29, + 31 + ], + "fprs": [], + "uses_hi": false, + "uses_lo": false, + "uses_pc": true + }, + { + "pc": "0x08ABE398", + "unit": 174, + "entry": 482, + "blocks": 10, + "sites": 338, + "gprs": [ + 4, + 5, + 6, + 7, + 8, + 16, + 17, + 18, + 19, + 20, + 29, + 31 + ], + "fprs": [], + "uses_hi": false, + "uses_lo": false, + "uses_pc": true + }, + { + "pc": "0x08ABE8F4", + "unit": 174, + "entry": 556, + "blocks": 9, + "sites": 141, + "gprs": [ + 4, + 5, + 6, + 7, + 8, + 16, + 17, + 18, + 19, + 20, + 29, + 31 + ], + "fprs": [], + "uses_hi": false, + "uses_lo": false, + "uses_pc": true + }, + { + "pc": "0x08AC7670", + "unit": 176, + "entry": 924, + "blocks": 1, + "sites": 43, + "gprs": [ + 2, + 4, + 31 + ], + "fprs": [], + "uses_hi": false, + "uses_lo": false, + "uses_pc": true + }, + { + "pc": "0x08AC79D4", + "unit": 176, + "entry": 972, + "blocks": 1, + "sites": 44, + "gprs": [ + 2, + 4, + 31 + ], + "fprs": [], + "uses_hi": false, + "uses_lo": false, + "uses_pc": true + }, + { + "pc": "0x08AC7C50", + "unit": 176, + "entry": 1020, + "blocks": 1, + "sites": 80, + "gprs": [ + 2, + 4, + 31 + ], + "fprs": [], + "uses_hi": false, + "uses_lo": false, + "uses_pc": true + }, + { + "pc": "0x08AC7C58", + "unit": 176, + "entry": 1021, + "blocks": 1, + "sites": 63, + "gprs": [ + 2, + 4, + 31 + ], + "fprs": [], + "uses_hi": false, + "uses_lo": false, + "uses_pc": true + }, + { + "pc": "0x08AC8054", + "unit": 177, + "entry": 7, + "blocks": 1, + "sites": 47, + "gprs": [ + 2, + 4, + 31 + ], + "fprs": [], + "uses_hi": false, + "uses_lo": false, + "uses_pc": true + }, + { + "pc": "0x08ADC734", + "unit": 182, + "entry": 137, + "blocks": 1, + "sites": 85, + "gprs": [ + 2, + 4, + 31 + ], + "fprs": [], + "uses_hi": false, + "uses_lo": false, + "uses_pc": true + }, + { + "pc": "0x08ADC754", + "unit": 182, + "entry": 141, + "blocks": 1, + "sites": 40, + "gprs": [ + 2, + 4, + 31 + ], + "fprs": [], + "uses_hi": false, + "uses_lo": false, + "uses_pc": true + }, + { + "pc": "0x08ADC784", + "unit": 182, + "entry": 147, + "blocks": 1, + "sites": 44, + "gprs": [ + 2, + 4, + 31 + ], + "fprs": [], + "uses_hi": false, + "uses_lo": false, + "uses_pc": true + }, + { + "pc": "0x08AF42C4", + "unit": 188, + "entry": 30, + "blocks": 1, + "sites": 61, + "gprs": [ + 2, + 4, + 31 + ], + "fprs": [], + "uses_hi": false, + "uses_lo": false, + "uses_pc": true + }, + { + "pc": "0x08AF42D0", + "unit": 188, + "entry": 31, + "blocks": 6, + "sites": 59, + "gprs": [ + 4, + 5, + 16, + 17, + 29, + 31 + ], + "fprs": [], + "uses_hi": false, + "uses_lo": false, + "uses_pc": true + }, + { + "pc": "0x08AF44E8", + "unit": 188, + "entry": 53, + "blocks": 4, + "sites": 56, + "gprs": [ + 4, + 5, + 16, + 17, + 29, + 31 + ], + "fprs": [], + "uses_hi": false, + "uses_lo": false, + "uses_pc": true + }, + { + "pc": "0x08AF80D8", + "unit": 189, + "entry": 15, + "blocks": 1, + "sites": 51, + "gprs": [ + 16, + 17, + 18, + 29, + 31 + ], + "fprs": [], + "uses_hi": false, + "uses_lo": false, + "uses_pc": true + }, + { + "pc": "0x08AFEDA8", + "unit": 190, + "entry": 642, + "blocks": 1, + "sites": 52, + "gprs": [ + 2, + 4, + 31 + ], + "fprs": [], + "uses_hi": false, + "uses_lo": false, + "uses_pc": true + }, + { + "pc": "0x08B01E00", + "unit": 191, + "entry": 504, + "blocks": 10, + "sites": 91, + "gprs": [ + 2, + 4, + 5, + 6, + 31 + ], + "fprs": [], + "uses_hi": false, + "uses_lo": false, + "uses_pc": true + }, + { + "pc": "0x08B0C05C", + "unit": 194, + "entry": 8, + "blocks": 2, + "sites": 48, + "gprs": [ + 4, + 5, + 6, + 7, + 16, + 28, + 29, + 31 + ], + "fprs": [], + "uses_hi": false, + "uses_lo": false, + "uses_pc": true + }, + { + "pc": "0x08B0C138", + "unit": 194, + "entry": 19, + "blocks": 2, + "sites": 222, + "gprs": [ + 2, + 4, + 5, + 6, + 16, + 17, + 18, + 19, + 20, + 28, + 29, + 31 + ], + "fprs": [], + "uses_hi": false, + "uses_lo": false, + "uses_pc": true + }, + { + "pc": "0x08B0C498", + "unit": 194, + "entry": 60, + "blocks": 1, + "sites": 56, + "gprs": [ + 4, + 28, + 31 + ], + "fprs": [], + "uses_hi": false, + "uses_lo": false, + "uses_pc": true + }, + { + "pc": "0x08B0C4A8", + "unit": 194, + "entry": 62, + "blocks": 1, + "sites": 68, + "gprs": [ + 4, + 5, + 6, + 7, + 28, + 31 + ], + "fprs": [], + "uses_hi": false, + "uses_lo": false, + "uses_pc": true + }, + { + "pc": "0x08B0C604", + "unit": 194, + "entry": 82, + "blocks": 2, + "sites": 89, + "gprs": [ + 2, + 4, + 28, + 29, + 31 + ], + "fprs": [], + "uses_hi": false, + "uses_lo": false, + "uses_pc": true + }, + { + "pc": "0x08B0D88C", + "unit": 194, + "entry": 372, + "blocks": 1, + "sites": 54, + "gprs": [ + 2, + 4, + 5, + 31 + ], + "fprs": [], + "uses_hi": false, + "uses_lo": false, + "uses_pc": true + }, + { + "pc": "0x08B1FD70", + "unit": 198, + "entry": 733, + "blocks": 4, + "sites": 153, + "gprs": [ + 2, + 4, + 5, + 6, + 7, + 28, + 31 + ], + "fprs": [], + "uses_hi": false, + "uses_lo": false, + "uses_pc": true + }, + { + "pc": "0x08B20934", + "unit": 199, + "entry": 110, + "blocks": 3, + "sites": 498, + "gprs": [ + 2, + 4, + 5, + 6, + 7, + 28, + 31 + ], + "fprs": [], + "uses_hi": true, + "uses_lo": true, + "uses_pc": true + }, + { + "pc": "0x08B20998", + "unit": 199, + "entry": 113, + "blocks": 4, + "sites": 470, + "gprs": [ + 2, + 4, + 5, + 6, + 7, + 28, + 29, + 31 + ], + "fprs": [], + "uses_hi": true, + "uses_lo": true, + "uses_pc": true + }, + { + "pc": "0x08B58100", + "unit": 213, + "entry": 23, + "blocks": 5, + "sites": 65, + "gprs": [ + 2, + 4, + 5, + 6, + 7, + 8, + 9, + 31 + ], + "fprs": [], + "uses_hi": false, + "uses_lo": false, + "uses_pc": true + }, + { + "pc": "0x08B5814C", + "unit": 213, + "entry": 28, + "blocks": 3, + "sites": 116, + "gprs": [ + 2, + 4, + 5, + 6, + 7, + 8, + 9, + 31 + ], + "fprs": [], + "uses_hi": false, + "uses_lo": false, + "uses_pc": true + }, + { + "pc": "0x08B58974", + "unit": 213, + "entry": 150, + "blocks": 4, + "sites": 234, + "gprs": [ + 2, + 4, + 5, + 6, + 31 + ], + "fprs": [], + "uses_hi": false, + "uses_lo": false, + "uses_pc": true + }, + { + "pc": "0x08B60680", + "unit": 215, + "entry": 68, + "blocks": 10, + "sites": 206, + "gprs": [ + 1, + 2, + 4, + 5, + 16, + 17, + 18, + 29, + 31 + ], + "fprs": [], + "uses_hi": false, + "uses_lo": false, + "uses_pc": true + }, + { + "pc": "0x08B60E5C", + "unit": 215, + "entry": 177, + "blocks": 1, + "sites": 220, + "gprs": [ + 2, + 3, + 4, + 5, + 6, + 7, + 9, + 10, + 31 + ], + "fprs": [], + "uses_hi": true, + "uses_lo": true, + "uses_pc": true + }, + { + "pc": "0x08B61B60", + "unit": 215, + "entry": 341, + "blocks": 15, + "sites": 143, + "gprs": [ + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 31 + ], + "fprs": [ + 12 + ], + "uses_hi": false, + "uses_lo": false, + "uses_pc": true + }, + { + "pc": "0x08B61EF4", + "unit": 215, + "entry": 390, + "blocks": 15, + "sites": 40, + "gprs": [ + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 16, + 29, + 31 + ], + "fprs": [], + "uses_hi": false, + "uses_lo": false, + "uses_pc": true + }, + { + "pc": "0x08B61FD0", + "unit": 215, + "entry": 400, + "blocks": 15, + "sites": 115, + "gprs": [ + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 16, + 18, + 19, + 20, + 21, + 29, + 31 + ], + "fprs": [], + "uses_hi": false, + "uses_lo": false, + "uses_pc": true + }, + { + "pc": "0x08B6256C", + "unit": 215, + "entry": 478, + "blocks": 15, + "sites": 64, + "gprs": [ + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 16, + 29, + 31 + ], + "fprs": [], + "uses_hi": false, + "uses_lo": false, + "uses_pc": true + }, + { + "pc": "0x08B627F0", + "unit": 215, + "entry": 515, + "blocks": 15, + "sites": 64, + "gprs": [ + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 29, + 31 + ], + "fprs": [], + "uses_hi": false, + "uses_lo": false, + "uses_pc": true + } + ] +} diff --git a/profiles/vcs/generated/v89_register_residency_manifest.json b/profiles/vcs/generated/v89_register_residency_manifest.json index 884548b..6093122 100644 --- a/profiles/vcs/generated/v89_register_residency_manifest.json +++ b/profiles/vcs/generated/v89_register_residency_manifest.json @@ -1,10 +1,12 @@ { + "mode": "apply", "files": 234, "changed": 230, - "gpr_occurrences": 876226, - "fpr_occurrences": 145774, - "gpr_total": 1188249, - "fpr_total": 196805, + "gpr_occurrences": 914095, + "fpr_occurrences": 146809, + "gpr_total": 1266110, + "fpr_total": 198361, + "resident_weight": 6, "units": [ { "file": "generated_unit_0000.cpp", @@ -22,9 +24,9 @@ 14, 15 ], - "gpr_occurrences": 4977, + "gpr_occurrences": 5147, "fpr_occurrences": 343, - "gpr_total": 6325, + "gpr_total": 6738, "fpr_total": 425 }, { @@ -32,8 +34,8 @@ "gpr_regs": [ 4, 5, - 29, 31, + 29, 16, 6 ], @@ -43,18 +45,18 @@ 22, 13 ], - "gpr_occurrences": 4388, - "fpr_occurrences": 292, - "gpr_total": 5811, - "fpr_total": 367 + "gpr_occurrences": 4683, + "fpr_occurrences": 299, + "gpr_total": 6242, + "fpr_total": 374 }, { "file": "generated_unit_0002.cpp", "gpr_regs": [ 4, 5, - 29, 31, + 29, 16, 17 ], @@ -64,61 +66,19 @@ 14, 15 ], - "gpr_occurrences": 3765, - "fpr_occurrences": 841, - "gpr_total": 5184, - "fpr_total": 1278 + "gpr_occurrences": 4343, + "fpr_occurrences": 853, + "gpr_total": 5942, + "fpr_total": 1290 }, { "file": "generated_unit_0003.cpp", "gpr_regs": [ 4, - 5, - 29, 31, - 16, - 28 - ], - "fpr_regs": [ - 12, - 13, - 14, - 20 - ], - "gpr_occurrences": 3984, - "fpr_occurrences": 589, - "gpr_total": 5406, - "fpr_total": 883 - }, - { - "file": "generated_unit_0004.cpp", - "gpr_regs": [ - 4, 5, 29, - 31, - 16, - 6 - ], - "fpr_regs": [ - 12, - 13, - 14, - 20 - ], - "gpr_occurrences": 3399, - "fpr_occurrences": 1055, - "gpr_total": 5001, - "fpr_total": 1755 - }, - { - "file": "generated_unit_0005.cpp", - "gpr_regs": [ - 4, - 5, - 29, - 6, - 17, + 2, 16 ], "fpr_regs": [ @@ -127,9 +87,51 @@ 14, 15 ], - "gpr_occurrences": 4093, + "gpr_occurrences": 4609, + "fpr_occurrences": 601, + "gpr_total": 6402, + "fpr_total": 915 + }, + { + "file": "generated_unit_0004.cpp", + "gpr_regs": [ + 4, + 5, + 31, + 6, + 29, + 2 + ], + "fpr_regs": [ + 12, + 13, + 14, + 15 + ], + "gpr_occurrences": 3542, + "fpr_occurrences": 1091, + "gpr_total": 5414, + "fpr_total": 1811 + }, + { + "file": "generated_unit_0005.cpp", + "gpr_regs": [ + 4, + 5, + 6, + 29, + 17, + 31 + ], + "fpr_regs": [ + 12, + 13, + 14, + 15 + ], + "gpr_occurrences": 4073, "fpr_occurrences": 506, - "gpr_total": 6110, + "gpr_total": 6201, "fpr_total": 700 }, { @@ -139,8 +141,8 @@ 5, 29, 6, - 17, - 16 + 31, + 17 ], "fpr_regs": [ 12, @@ -148,13 +150,34 @@ 14, 15 ], - "gpr_occurrences": 4214, + "gpr_occurrences": 4285, "fpr_occurrences": 741, - "gpr_total": 5762, + "gpr_total": 5894, "fpr_total": 951 }, { "file": "generated_unit_0007.cpp", + "gpr_regs": [ + 4, + 5, + 6, + 29, + 31, + 16 + ], + "fpr_regs": [ + 12, + 13, + 20, + 22 + ], + "gpr_occurrences": 4275, + "fpr_occurrences": 406, + "gpr_total": 5873, + "fpr_total": 576 + }, + { + "file": "generated_unit_0008.cpp", "gpr_regs": [ 4, 5, @@ -163,36 +186,15 @@ 31, 16 ], - "fpr_regs": [ - 12, - 13, - 20, - 22 - ], - "gpr_occurrences": 4152, - "fpr_occurrences": 406, - "gpr_total": 5677, - "fpr_total": 576 - }, - { - "file": "generated_unit_0008.cpp", - "gpr_regs": [ - 4, - 5, - 29, - 6, - 16, - 17 - ], "fpr_regs": [ 12, 13, 14, 15 ], - "gpr_occurrences": 4464, + "gpr_occurrences": 4562, "fpr_occurrences": 635, - "gpr_total": 6166, + "gpr_total": 6353, "fpr_total": 751 }, { @@ -211,9 +213,9 @@ 14, 15 ], - "gpr_occurrences": 3991, + "gpr_occurrences": 4048, "fpr_occurrences": 1171, - "gpr_total": 5225, + "gpr_total": 5323, "fpr_total": 1659 }, { @@ -221,8 +223,8 @@ "gpr_regs": [ 4, 5, - 16, 31, + 16, 29, 6 ], @@ -232,9 +234,9 @@ 20, 14 ], - "gpr_occurrences": 4278, + "gpr_occurrences": 4501, "fpr_occurrences": 275, - "gpr_total": 5719, + "gpr_total": 6155, "fpr_total": 350 }, { @@ -253,9 +255,9 @@ 20, 0 ], - "gpr_occurrences": 4071, + "gpr_occurrences": 4221, "fpr_occurrences": 641, - "gpr_total": 5276, + "gpr_total": 5543, "fpr_total": 876 }, { @@ -264,9 +266,9 @@ 4, 5, 29, - 18, 6, - 16 + 31, + 18 ], "fpr_regs": [ 12, @@ -274,61 +276,40 @@ 20, 14 ], - "gpr_occurrences": 3464, - "fpr_occurrences": 1389, - "gpr_total": 4627, - "fpr_total": 1795 + "gpr_occurrences": 3540, + "fpr_occurrences": 1390, + "gpr_total": 4803, + "fpr_total": 1796 }, { "file": "generated_unit_0013.cpp", "gpr_regs": [ 4, 31, + 2, 30, 5, - 2, 29 ], "fpr_regs": [ 12, 13, - 20, - 26 + 14, + 20 ], - "gpr_occurrences": 3799, - "fpr_occurrences": 932, - "gpr_total": 4851, - "fpr_total": 1280 + "gpr_occurrences": 4216, + "fpr_occurrences": 944, + "gpr_total": 5273, + "fpr_total": 1329 }, { "file": "generated_unit_0014.cpp", "gpr_regs": [ 4, - 5, 31, - 29, 2, - 17 - ], - "fpr_regs": [ - 12, - 20, - 13, - 14 - ], - "gpr_occurrences": 3404, - "fpr_occurrences": 1232, - "gpr_total": 4666, - "fpr_total": 1486 - }, - { - "file": "generated_unit_0015.cpp", - "gpr_regs": [ - 4, - 31, 5, 29, - 2, 17 ], "fpr_regs": [ @@ -337,13 +318,55 @@ 14, 20 ], - "gpr_occurrences": 3650, - "fpr_occurrences": 1241, - "gpr_total": 4575, - "fpr_total": 1627 + "gpr_occurrences": 3991, + "fpr_occurrences": 1423, + "gpr_total": 5258, + "fpr_total": 1677 + }, + { + "file": "generated_unit_0015.cpp", + "gpr_regs": [ + 4, + 31, + 2, + 5, + 29, + 17 + ], + "fpr_regs": [ + 12, + 13, + 14, + 20 + ], + "gpr_occurrences": 4176, + "fpr_occurrences": 1270, + "gpr_total": 5102, + "fpr_total": 1656 }, { "file": "generated_unit_0016.cpp", + "gpr_regs": [ + 4, + 5, + 29, + 31, + 16, + 6 + ], + "fpr_regs": [ + 12, + 13, + 20, + 14 + ], + "gpr_occurrences": 3674, + "fpr_occurrences": 1094, + "gpr_total": 4892, + "fpr_total": 1221 + }, + { + "file": "generated_unit_0017.cpp", "gpr_regs": [ 4, 5, @@ -358,30 +381,9 @@ 20, 14 ], - "gpr_occurrences": 3604, - "fpr_occurrences": 1093, - "gpr_total": 4772, - "fpr_total": 1220 - }, - { - "file": "generated_unit_0017.cpp", - "gpr_regs": [ - 4, - 5, - 29, - 16, - 31, - 18 - ], - "fpr_regs": [ - 12, - 13, - 20, - 14 - ], - "gpr_occurrences": 3368, + "gpr_occurrences": 3403, "fpr_occurrences": 1310, - "gpr_total": 4433, + "gpr_total": 4512, "fpr_total": 1662 }, { @@ -400,60 +402,60 @@ 20, 14 ], - "gpr_occurrences": 3634, - "fpr_occurrences": 1014, - "gpr_total": 5008, - "fpr_total": 1170 + "gpr_occurrences": 3754, + "fpr_occurrences": 1026, + "gpr_total": 5241, + "fpr_total": 1186 }, { "file": "generated_unit_0019.cpp", "gpr_regs": [ - 29, 5, 4, 6, 7, - 31 + 31, + 8 ], "fpr_regs": [ 0, 12 ], - "gpr_occurrences": 4825, + "gpr_occurrences": 6734, "fpr_occurrences": 4, - "gpr_total": 5864, + "gpr_total": 9305, "fpr_total": 4 }, { "file": "generated_unit_0020.cpp", "gpr_regs": [ 5, - 29, 4, 6, 7, - 31 + 31, + 8 ], "fpr_regs": [], - "gpr_occurrences": 4864, + "gpr_occurrences": 6789, "fpr_occurrences": 0, - "gpr_total": 5878, + "gpr_total": 9324, "fpr_total": 0 }, { "file": "generated_unit_0021.cpp", "gpr_regs": [ - 29, 5, 4, 6, 7, - 31 + 31, + 8 ], "fpr_regs": [], - "gpr_occurrences": 4977, + "gpr_occurrences": 6802, "fpr_occurrences": 0, - "gpr_total": 5887, + "gpr_total": 9277, "fpr_total": 0 }, { @@ -462,9 +464,9 @@ 4, 5, 6, - 29, 31, - 7 + 7, + 8 ], "fpr_regs": [ 13, @@ -472,9 +474,9 @@ 14, 0 ], - "gpr_occurrences": 4571, + "gpr_occurrences": 5641, "fpr_occurrences": 256, - "gpr_total": 5371, + "gpr_total": 7437, "fpr_total": 488 }, { @@ -484,8 +486,8 @@ 5, 6, 29, - 17, - 31 + 31, + 17 ], "fpr_regs": [ 12, @@ -493,9 +495,9 @@ 14, 17 ], - "gpr_occurrences": 3814, + "gpr_occurrences": 3882, "fpr_occurrences": 393, - "gpr_total": 5375, + "gpr_total": 5502, "fpr_total": 777 }, { @@ -514,9 +516,9 @@ 14, 20 ], - "gpr_occurrences": 2952, + "gpr_occurrences": 2971, "fpr_occurrences": 628, - "gpr_total": 4483, + "gpr_total": 4508, "fpr_total": 1108 }, { @@ -527,7 +529,7 @@ 29, 16, 31, - 17 + 6 ], "fpr_regs": [ 12, @@ -535,9 +537,9 @@ 20, 14 ], - "gpr_occurrences": 3704, + "gpr_occurrences": 3718, "fpr_occurrences": 521, - "gpr_total": 5325, + "gpr_total": 5433, "fpr_total": 742 }, { @@ -547,49 +549,7 @@ 29, 5, 31, - 16, - 17 - ], - "fpr_regs": [ - 12, - 13, - 20, - 14 - ], - "gpr_occurrences": 4255, - "fpr_occurrences": 472, - "gpr_total": 6221, - "fpr_total": 630 - }, - { - "file": "generated_unit_0027.cpp", - "gpr_regs": [ - 4, - 5, - 29, - 31, - 16, - 6 - ], - "fpr_regs": [ - 12, - 13, - 14, - 20 - ], - "gpr_occurrences": 4520, - "fpr_occurrences": 235, - "gpr_total": 6076, - "fpr_total": 297 - }, - { - "file": "generated_unit_0028.cpp", - "gpr_regs": [ - 4, - 5, - 31, - 17, - 2, + 6, 16 ], "fpr_regs": [ @@ -598,10 +558,52 @@ 14, 15 ], - "gpr_occurrences": 4212, - "fpr_occurrences": 56, - "gpr_total": 5235, - "fpr_total": 58 + "gpr_occurrences": 4458, + "fpr_occurrences": 475, + "gpr_total": 6630, + "fpr_total": 646 + }, + { + "file": "generated_unit_0027.cpp", + "gpr_regs": [ + 4, + 5, + 31, + 29, + 6, + 16 + ], + "fpr_regs": [ + 12, + 13, + 14, + 20 + ], + "gpr_occurrences": 4914, + "fpr_occurrences": 235, + "gpr_total": 6748, + "fpr_total": 297 + }, + { + "file": "generated_unit_0028.cpp", + "gpr_regs": [ + 4, + 31, + 2, + 5, + 6, + 17 + ], + "fpr_regs": [ + 12, + 13, + 14, + 15 + ], + "gpr_occurrences": 4815, + "fpr_occurrences": 60, + "gpr_total": 6093, + "fpr_total": 62 }, { "file": "generated_unit_0029.cpp", @@ -609,20 +611,20 @@ 4, 31, 5, - 28, - 16, - 17 + 2, + 6, + 28 ], "fpr_regs": [ 12, - 22, - 26, - 28 + 13, + 14, + 15 ], - "gpr_occurrences": 4285, - "fpr_occurrences": 36, - "gpr_total": 5948, - "fpr_total": 71 + "gpr_occurrences": 5167, + "fpr_occurrences": 31, + "gpr_total": 7731, + "fpr_total": 75 }, { "file": "generated_unit_0030.cpp", @@ -640,9 +642,9 @@ 14, 20 ], - "gpr_occurrences": 4101, + "gpr_occurrences": 4202, "fpr_occurrences": 291, - "gpr_total": 5654, + "gpr_total": 5924, "fpr_total": 379 }, { @@ -651,8 +653,8 @@ 4, 5, 29, - 16, 31, + 16, 6 ], "fpr_regs": [ @@ -661,10 +663,10 @@ 28, 14 ], - "gpr_occurrences": 3782, - "fpr_occurrences": 671, - "gpr_total": 4999, - "fpr_total": 988 + "gpr_occurrences": 3875, + "fpr_occurrences": 673, + "gpr_total": 5180, + "fpr_total": 990 }, { "file": "generated_unit_0032.cpp", @@ -672,8 +674,8 @@ 4, 29, 31, - 16, 5, + 16, 6 ], "fpr_regs": [ @@ -682,9 +684,9 @@ 20, 14 ], - "gpr_occurrences": 4769, + "gpr_occurrences": 5190, "fpr_occurrences": 196, - "gpr_total": 6026, + "gpr_total": 6701, "fpr_total": 226 }, { @@ -692,21 +694,21 @@ "gpr_regs": [ 4, 5, - 16, 31, + 16, 29, - 17 + 2 ], "fpr_regs": [ 12, 13, 14, - 20 + 15 ], - "gpr_occurrences": 3777, - "fpr_occurrences": 267, - "gpr_total": 5156, - "fpr_total": 303 + "gpr_occurrences": 3860, + "fpr_occurrences": 277, + "gpr_total": 5345, + "fpr_total": 315 }, { "file": "generated_unit_0034.cpp", @@ -715,8 +717,8 @@ 5, 29, 6, - 16, - 31 + 31, + 16 ], "fpr_regs": [ 12, @@ -724,10 +726,10 @@ 14, 15 ], - "gpr_occurrences": 3854, - "fpr_occurrences": 915, - "gpr_total": 5379, - "fpr_total": 1403 + "gpr_occurrences": 3994, + "fpr_occurrences": 919, + "gpr_total": 5594, + "fpr_total": 1407 }, { "file": "generated_unit_0035.cpp", @@ -745,9 +747,9 @@ 14, 20 ], - "gpr_occurrences": 3491, + "gpr_occurrences": 3516, "fpr_occurrences": 872, - "gpr_total": 5401, + "gpr_total": 5449, "fpr_total": 1094 }, { @@ -766,9 +768,9 @@ 14, 20 ], - "gpr_occurrences": 3453, + "gpr_occurrences": 3461, "fpr_occurrences": 607, - "gpr_total": 5594, + "gpr_total": 5612, "fpr_total": 807 }, { @@ -787,20 +789,20 @@ 20, 14 ], - "gpr_occurrences": 3937, + "gpr_occurrences": 3943, "fpr_occurrences": 718, - "gpr_total": 5859, + "gpr_total": 5871, "fpr_total": 898 }, { "file": "generated_unit_0038.cpp", "gpr_regs": [ 4, - 29, 5, 31, - 16, - 17 + 29, + 6, + 2 ], "fpr_regs": [ 12, @@ -808,19 +810,40 @@ 14, 20 ], - "gpr_occurrences": 4136, - "fpr_occurrences": 420, - "gpr_total": 5400, - "fpr_total": 646 + "gpr_occurrences": 4205, + "fpr_occurrences": 423, + "gpr_total": 6003, + "fpr_total": 649 }, { "file": "generated_unit_0039.cpp", "gpr_regs": [ 4, 5, - 16, 31, + 16, + 6, + 29 + ], + "fpr_regs": [ + 12, + 13, + 14, + 20 + ], + "gpr_occurrences": 4600, + "fpr_occurrences": 659, + "gpr_total": 5549, + "fpr_total": 842 + }, + { + "file": "generated_unit_0040.cpp", + "gpr_regs": [ + 4, + 31, + 5, 29, + 16, 6 ], "fpr_regs": [ @@ -829,31 +852,10 @@ 14, 20 ], - "gpr_occurrences": 4362, - "fpr_occurrences": 652, - "gpr_total": 5135, - "fpr_total": 835 - }, - { - "file": "generated_unit_0040.cpp", - "gpr_regs": [ - 4, - 29, - 31, - 5, - 16, - 17 - ], - "fpr_regs": [ - 12, - 13, - 14, - 20 - ], - "gpr_occurrences": 3452, - "fpr_occurrences": 1584, - "gpr_total": 4334, - "fpr_total": 1950 + "gpr_occurrences": 3511, + "fpr_occurrences": 1585, + "gpr_total": 4486, + "fpr_total": 1951 }, { "file": "generated_unit_0041.cpp", @@ -861,9 +863,9 @@ 4, 5, 29, - 16, 31, - 6 + 6, + 2 ], "fpr_regs": [ 12, @@ -871,10 +873,10 @@ 14, 20 ], - "gpr_occurrences": 3282, - "fpr_occurrences": 1138, - "gpr_total": 4694, - "fpr_total": 1459 + "gpr_occurrences": 3374, + "fpr_occurrences": 1144, + "gpr_total": 5063, + "fpr_total": 1465 }, { "file": "generated_unit_0042.cpp", @@ -882,9 +884,9 @@ 4, 29, 5, - 16, 6, - 19 + 31, + 16 ], "fpr_regs": [ 12, @@ -892,9 +894,9 @@ 14, 15 ], - "gpr_occurrences": 3257, + "gpr_occurrences": 3439, "fpr_occurrences": 1352, - "gpr_total": 4712, + "gpr_total": 5000, "fpr_total": 1945 }, { @@ -904,8 +906,8 @@ 29, 5, 6, - 17, - 18 + 31, + 2 ], "fpr_regs": [ 12, @@ -913,10 +915,10 @@ 14, 16 ], - "gpr_occurrences": 2702, - "fpr_occurrences": 1376, - "gpr_total": 3845, - "fpr_total": 1866 + "gpr_occurrences": 2606, + "fpr_occurrences": 1379, + "gpr_total": 4000, + "fpr_total": 1870 }, { "file": "generated_unit_0044.cpp", @@ -925,8 +927,8 @@ 5, 29, 6, - 16, - 7 + 31, + 16 ], "fpr_regs": [ 12, @@ -934,9 +936,9 @@ 14, 15 ], - "gpr_occurrences": 4190, + "gpr_occurrences": 4262, "fpr_occurrences": 496, - "gpr_total": 6632, + "gpr_total": 6803, "fpr_total": 579 }, { @@ -946,8 +948,8 @@ 5, 29, 6, - 16, - 31 + 31, + 7 ], "fpr_regs": [ 12, @@ -955,10 +957,10 @@ 22, 14 ], - "gpr_occurrences": 4244, - "fpr_occurrences": 528, - "gpr_total": 6239, - "fpr_total": 692 + "gpr_occurrences": 4418, + "fpr_occurrences": 533, + "gpr_total": 6594, + "fpr_total": 698 }, { "file": "generated_unit_0046.cpp", @@ -975,9 +977,9 @@ 13, 14 ], - "gpr_occurrences": 5657, + "gpr_occurrences": 5669, "fpr_occurrences": 15, - "gpr_total": 7504, + "gpr_total": 7528, "fpr_total": 15 }, { @@ -996,10 +998,10 @@ 22, 14 ], - "gpr_occurrences": 4481, - "fpr_occurrences": 464, - "gpr_total": 6123, - "fpr_total": 735 + "gpr_occurrences": 4560, + "fpr_occurrences": 465, + "gpr_total": 6267, + "fpr_total": 736 }, { "file": "generated_unit_0048.cpp", @@ -1008,8 +1010,8 @@ 5, 6, 16, - 29, - 19 + 31, + 29 ], "fpr_regs": [ 12, @@ -1017,9 +1019,9 @@ 20, 14 ], - "gpr_occurrences": 4354, + "gpr_occurrences": 4421, "fpr_occurrences": 589, - "gpr_total": 5787, + "gpr_total": 5908, "fpr_total": 677 }, { @@ -1028,9 +1030,9 @@ 4, 5, 29, - 16, 31, - 17 + 16, + 6 ], "fpr_regs": [ 12, @@ -1038,9 +1040,9 @@ 20, 14 ], - "gpr_occurrences": 4106, + "gpr_occurrences": 4134, "fpr_occurrences": 735, - "gpr_total": 5277, + "gpr_total": 5337, "fpr_total": 882 }, { @@ -1059,9 +1061,9 @@ 20, 14 ], - "gpr_occurrences": 3354, + "gpr_occurrences": 3356, "fpr_occurrences": 1455, - "gpr_total": 4529, + "gpr_total": 4534, "fpr_total": 1872 }, { @@ -1070,9 +1072,9 @@ 4, 5, 16, - 17, - 6, - 31 + 31, + 2, + 28 ], "fpr_regs": [ 12, @@ -1080,10 +1082,10 @@ 20, 14 ], - "gpr_occurrences": 4133, - "fpr_occurrences": 989, - "gpr_total": 5267, - "fpr_total": 1184 + "gpr_occurrences": 4184, + "fpr_occurrences": 991, + "gpr_total": 5742, + "fpr_total": 1186 }, { "file": "generated_unit_0052.cpp", @@ -1091,9 +1093,9 @@ 4, 5, 16, - 29, - 17, - 6 + 2, + 31, + 28 ], "fpr_regs": [ 14, @@ -1101,20 +1103,20 @@ 15, 20 ], - "gpr_occurrences": 4178, + "gpr_occurrences": 4076, "fpr_occurrences": 609, - "gpr_total": 5696, + "gpr_total": 6177, "fpr_total": 771 }, { "file": "generated_unit_0053.cpp", "gpr_regs": [ 4, - 16, 5, + 16, 31, - 18, - 29 + 28, + 2 ], "fpr_regs": [ 12, @@ -1122,10 +1124,10 @@ 13, 22 ], - "gpr_occurrences": 3788, - "fpr_occurrences": 651, - "gpr_total": 5101, - "fpr_total": 879 + "gpr_occurrences": 4044, + "fpr_occurrences": 652, + "gpr_total": 5552, + "fpr_total": 880 }, { "file": "generated_unit_0054.cpp", @@ -1143,9 +1145,9 @@ 14, 15 ], - "gpr_occurrences": 4010, + "gpr_occurrences": 4067, "fpr_occurrences": 1070, - "gpr_total": 5712, + "gpr_total": 5845, "fpr_total": 1773 }, { @@ -1155,8 +1157,8 @@ 5, 16, 6, - 29, - 31 + 31, + 29 ], "fpr_regs": [ 12, @@ -1164,9 +1166,9 @@ 22, 20 ], - "gpr_occurrences": 5397, + "gpr_occurrences": 5464, "fpr_occurrences": 188, - "gpr_total": 6564, + "gpr_total": 6668, "fpr_total": 226 }, { @@ -1175,9 +1177,9 @@ 4, 5, 6, - 18, - 16, - 31 + 31, + 2, + 18 ], "fpr_regs": [ 12, @@ -1185,9 +1187,9 @@ 20, 14 ], - "gpr_occurrences": 4158, + "gpr_occurrences": 4249, "fpr_occurrences": 504, - "gpr_total": 5537, + "gpr_total": 5813, "fpr_total": 619 }, { @@ -1195,10 +1197,10 @@ "gpr_regs": [ 4, 5, - 16, - 29, 31, - 6 + 2, + 6, + 16 ], "fpr_regs": [ 12, @@ -1206,9 +1208,9 @@ 20, 22 ], - "gpr_occurrences": 4470, + "gpr_occurrences": 4576, "fpr_occurrences": 306, - "gpr_total": 5776, + "gpr_total": 6110, "fpr_total": 379 }, { @@ -1216,10 +1218,10 @@ "gpr_regs": [ 4, 5, - 29, 31, - 16, - 19 + 2, + 6, + 29 ], "fpr_regs": [ 12, @@ -1227,20 +1229,20 @@ 14, 20 ], - "gpr_occurrences": 3428, - "fpr_occurrences": 682, - "gpr_total": 4630, - "fpr_total": 876 + "gpr_occurrences": 3543, + "fpr_occurrences": 687, + "gpr_total": 4985, + "fpr_total": 881 }, { "file": "generated_unit_0059.cpp", "gpr_regs": [ 4, 5, - 16, - 6, 31, - 29 + 6, + 2, + 16 ], "fpr_regs": [ 12, @@ -1248,20 +1250,20 @@ 20, 22 ], - "gpr_occurrences": 3220, - "fpr_occurrences": 1094, - "gpr_total": 4463, - "fpr_total": 1555 + "gpr_occurrences": 3281, + "fpr_occurrences": 1099, + "gpr_total": 4698, + "fpr_total": 1560 }, { "file": "generated_unit_0060.cpp", "gpr_regs": [ 4, 5, - 16, 31, - 29, - 17 + 6, + 2, + 28 ], "fpr_regs": [ 12, @@ -1269,9 +1271,9 @@ 14, 22 ], - "gpr_occurrences": 3767, + "gpr_occurrences": 3759, "fpr_occurrences": 567, - "gpr_total": 5400, + "gpr_total": 5613, "fpr_total": 731 }, { @@ -1280,8 +1282,8 @@ 4, 5, 29, - 6, 31, + 6, 16 ], "fpr_regs": [ @@ -1290,9 +1292,9 @@ 13, 14 ], - "gpr_occurrences": 3704, + "gpr_occurrences": 3949, "fpr_occurrences": 130, - "gpr_total": 5787, + "gpr_total": 6315, "fpr_total": 164 }, { @@ -1301,9 +1303,9 @@ 4, 5, 31, - 16, + 6, 29, - 6 + 16 ], "fpr_regs": [ 12, @@ -1311,20 +1313,20 @@ 22, 20 ], - "gpr_occurrences": 4446, - "fpr_occurrences": 464, - "gpr_total": 5699, - "fpr_total": 656 + "gpr_occurrences": 5851, + "fpr_occurrences": 575, + "gpr_total": 7484, + "fpr_total": 767 }, { "file": "generated_unit_0063.cpp", "gpr_regs": [ 4, - 29, 5, + 29, 6, - 18, - 31 + 31, + 2 ], "fpr_regs": [ 12, @@ -1332,41 +1334,41 @@ 14, 15 ], - "gpr_occurrences": 3236, - "fpr_occurrences": 1361, - "gpr_total": 4633, - "fpr_total": 1782 + "gpr_occurrences": 3593, + "fpr_occurrences": 1364, + "gpr_total": 5312, + "fpr_total": 1785 }, { "file": "generated_unit_0064.cpp", "gpr_regs": [ 4, 5, - 29, 31, - 16, - 6 + 29, + 6, + 16 ], "fpr_regs": [ 12, 13, 14, - 20 + 15 ], - "gpr_occurrences": 4142, - "fpr_occurrences": 497, - "gpr_total": 5498, - "fpr_total": 695 + "gpr_occurrences": 4346, + "fpr_occurrences": 501, + "gpr_total": 5839, + "fpr_total": 703 }, { "file": "generated_unit_0065.cpp", "gpr_regs": [ 4, 5, - 16, - 29, 31, - 6 + 16, + 6, + 29 ], "fpr_regs": [ 12, @@ -1374,9 +1376,9 @@ 20, 14 ], - "gpr_occurrences": 4683, + "gpr_occurrences": 4850, "fpr_occurrences": 445, - "gpr_total": 5607, + "gpr_total": 5878, "fpr_total": 502 }, { @@ -1385,8 +1387,8 @@ 4, 5, 29, - 16, 31, + 16, 6 ], "fpr_regs": [ @@ -1395,9 +1397,9 @@ 20, 14 ], - "gpr_occurrences": 4572, + "gpr_occurrences": 4735, "fpr_occurrences": 542, - "gpr_total": 5430, + "gpr_total": 5669, "fpr_total": 602 }, { @@ -1405,10 +1407,10 @@ "gpr_regs": [ 4, 5, - 29, 31, - 16, - 17 + 29, + 6, + 16 ], "fpr_regs": [ 12, @@ -1416,9 +1418,9 @@ 20, 14 ], - "gpr_occurrences": 4220, + "gpr_occurrences": 4420, "fpr_occurrences": 444, - "gpr_total": 5659, + "gpr_total": 5974, "fpr_total": 506 }, { @@ -1428,8 +1430,8 @@ 5, 16, 29, - 6, - 31 + 31, + 6 ], "fpr_regs": [ 12, @@ -1437,10 +1439,10 @@ 14, 15 ], - "gpr_occurrences": 4060, - "fpr_occurrences": 910, - "gpr_total": 5139, - "fpr_total": 1216 + "gpr_occurrences": 4205, + "fpr_occurrences": 914, + "gpr_total": 5375, + "fpr_total": 1220 }, { "file": "generated_unit_0069.cpp", @@ -1448,8 +1450,8 @@ 4, 5, 29, - 16, 31, + 16, 6 ], "fpr_regs": [ @@ -1458,19 +1460,19 @@ 14, 20 ], - "gpr_occurrences": 3798, - "fpr_occurrences": 1315, - "gpr_total": 4767, - "fpr_total": 1582 + "gpr_occurrences": 4045, + "fpr_occurrences": 1326, + "gpr_total": 5238, + "fpr_total": 1593 }, { "file": "generated_unit_0070.cpp", "gpr_regs": [ 4, 5, - 16, - 29, 31, + 29, + 16, 6 ], "fpr_regs": [ @@ -1479,20 +1481,20 @@ 20, 14 ], - "gpr_occurrences": 3479, - "fpr_occurrences": 610, - "gpr_total": 4914, - "fpr_total": 788 + "gpr_occurrences": 3645, + "fpr_occurrences": 611, + "gpr_total": 5139, + "fpr_total": 789 }, { "file": "generated_unit_0071.cpp", "gpr_regs": [ 4, - 16, - 5, 31, + 5, + 16, 2, - 29 + 6 ], "fpr_regs": [ 12, @@ -1500,9 +1502,9 @@ 22, 20 ], - "gpr_occurrences": 4122, + "gpr_occurrences": 4200, "fpr_occurrences": 826, - "gpr_total": 4778, + "gpr_total": 4869, "fpr_total": 1065 }, { @@ -1511,92 +1513,8 @@ 4, 5, 31, - 17, - 16, - 29 - ], - "fpr_regs": [ - 12, - 13, - 20, - 14 - ], - "gpr_occurrences": 4085, - "fpr_occurrences": 569, - "gpr_total": 5142, - "fpr_total": 721 - }, - { - "file": "generated_unit_0073.cpp", - "gpr_regs": [ - 4, - 5, - 16, - 31, - 29, - 6 - ], - "fpr_regs": [ - 12, - 13, - 20, - 14 - ], - "gpr_occurrences": 3891, - "fpr_occurrences": 754, - "gpr_total": 4936, - "fpr_total": 839 - }, - { - "file": "generated_unit_0074.cpp", - "gpr_regs": [ - 4, - 5, - 29, - 16, + 2, 6, - 31 - ], - "fpr_regs": [ - 12, - 13, - 14, - 22 - ], - "gpr_occurrences": 3594, - "fpr_occurrences": 1101, - "gpr_total": 4356, - "fpr_total": 1384 - }, - { - "file": "generated_unit_0075.cpp", - "gpr_regs": [ - 4, - 29, - 5, - 16, - 31, - 6 - ], - "fpr_regs": [ - 12, - 13, - 14, - 20 - ], - "gpr_occurrences": 3890, - "fpr_occurrences": 875, - "gpr_total": 5035, - "fpr_total": 1133 - }, - { - "file": "generated_unit_0076.cpp", - "gpr_regs": [ - 4, - 31, - 5, - 29, - 28, 16 ], "fpr_regs": [ @@ -1605,19 +1523,82 @@ 20, 14 ], - "gpr_occurrences": 3693, - "fpr_occurrences": 413, - "gpr_total": 4982, - "fpr_total": 535 + "gpr_occurrences": 4214, + "fpr_occurrences": 571, + "gpr_total": 5578, + "fpr_total": 723 }, { - "file": "generated_unit_0077.cpp", + "file": "generated_unit_0073.cpp", + "gpr_regs": [ + 4, + 5, + 31, + 16, + 6, + 29 + ], + "fpr_regs": [ + 12, + 13, + 20, + 14 + ], + "gpr_occurrences": 4058, + "fpr_occurrences": 755, + "gpr_total": 5206, + "fpr_total": 840 + }, + { + "file": "generated_unit_0074.cpp", "gpr_regs": [ 4, 5, 29, 31, - 16, + 6, + 16 + ], + "fpr_regs": [ + 12, + 13, + 14, + 22 + ], + "gpr_occurrences": 3703, + "fpr_occurrences": 1101, + "gpr_total": 4515, + "fpr_total": 1384 + }, + { + "file": "generated_unit_0075.cpp", + "gpr_regs": [ + 4, + 5, + 29, + 31, + 6, + 16 + ], + "fpr_regs": [ + 12, + 13, + 14, + 20 + ], + "gpr_occurrences": 4266, + "fpr_occurrences": 885, + "gpr_total": 5578, + "fpr_total": 1143 + }, + { + "file": "generated_unit_0076.cpp", + "gpr_regs": [ + 4, + 31, + 5, + 29, + 2, 6 ], "fpr_regs": [ @@ -1626,9 +1607,30 @@ 14, 15 ], - "gpr_occurrences": 4381, + "gpr_occurrences": 3860, + "fpr_occurrences": 449, + "gpr_total": 5589, + "fpr_total": 595 + }, + { + "file": "generated_unit_0077.cpp", + "gpr_regs": [ + 4, + 5, + 31, + 29, + 6, + 16 + ], + "fpr_regs": [ + 12, + 13, + 14, + 15 + ], + "gpr_occurrences": 4509, "fpr_occurrences": 147, - "gpr_total": 6263, + "gpr_total": 6485, "fpr_total": 170 }, { @@ -1647,9 +1649,9 @@ 20, 14 ], - "gpr_occurrences": 4310, + "gpr_occurrences": 4338, "fpr_occurrences": 200, - "gpr_total": 6063, + "gpr_total": 6115, "fpr_total": 233 }, { @@ -1659,8 +1661,8 @@ 29, 5, 31, - 16, - 6 + 6, + 7 ], "fpr_regs": [ 12, @@ -1668,9 +1670,9 @@ 20, 28 ], - "gpr_occurrences": 3184, + "gpr_occurrences": 3469, "fpr_occurrences": 1445, - "gpr_total": 4595, + "gpr_total": 5191, "fpr_total": 2140 }, { @@ -1680,8 +1682,8 @@ 29, 5, 31, - 16, - 17 + 6, + 2 ], "fpr_regs": [ 12, @@ -1689,10 +1691,10 @@ 14, 0 ], - "gpr_occurrences": 3803, - "fpr_occurrences": 953, - "gpr_total": 5027, - "fpr_total": 1353 + "gpr_occurrences": 3745, + "fpr_occurrences": 954, + "gpr_total": 5345, + "fpr_total": 1354 }, { "file": "generated_unit_0081.cpp", @@ -1710,10 +1712,10 @@ 20, 14 ], - "gpr_occurrences": 4154, - "fpr_occurrences": 954, - "gpr_total": 4992, - "fpr_total": 1155 + "gpr_occurrences": 4286, + "fpr_occurrences": 956, + "gpr_total": 5194, + "fpr_total": 1157 }, { "file": "generated_unit_0082.cpp", @@ -1722,8 +1724,8 @@ 5, 16, 6, - 29, - 31 + 31, + 29 ], "fpr_regs": [ 12, @@ -1731,10 +1733,10 @@ 20, 22 ], - "gpr_occurrences": 4015, - "fpr_occurrences": 715, - "gpr_total": 5147, - "fpr_total": 918 + "gpr_occurrences": 4133, + "fpr_occurrences": 717, + "gpr_total": 5330, + "fpr_total": 920 }, { "file": "generated_unit_0083.cpp", @@ -1752,10 +1754,10 @@ 20, 22 ], - "gpr_occurrences": 4295, - "fpr_occurrences": 459, - "gpr_total": 5480, - "fpr_total": 643 + "gpr_occurrences": 4353, + "fpr_occurrences": 461, + "gpr_total": 5585, + "fpr_total": 645 }, { "file": "generated_unit_0084.cpp", @@ -1773,9 +1775,9 @@ 20, 15 ], - "gpr_occurrences": 4656, + "gpr_occurrences": 4722, "fpr_occurrences": 150, - "gpr_total": 6192, + "gpr_total": 6322, "fpr_total": 155 }, { @@ -1786,7 +1788,7 @@ 6, 29, 16, - 17 + 31 ], "fpr_regs": [ 12, @@ -1794,9 +1796,9 @@ 14, 20 ], - "gpr_occurrences": 4722, + "gpr_occurrences": 4737, "fpr_occurrences": 408, - "gpr_total": 6150, + "gpr_total": 6232, "fpr_total": 474 }, { @@ -1805,9 +1807,9 @@ 4, 5, 29, - 16, - 17, - 31 + 31, + 6, + 16 ], "fpr_regs": [ 12, @@ -1815,9 +1817,9 @@ 14, 15 ], - "gpr_occurrences": 4017, + "gpr_occurrences": 4067, "fpr_occurrences": 983, - "gpr_total": 5340, + "gpr_total": 5537, "fpr_total": 1297 }, { @@ -1826,9 +1828,9 @@ 4, 5, 6, + 31, 16, - 23, - 31 + 23 ], "fpr_regs": [ 12, @@ -1836,9 +1838,9 @@ 15, 14 ], - "gpr_occurrences": 4131, + "gpr_occurrences": 4163, "fpr_occurrences": 988, - "gpr_total": 5187, + "gpr_total": 5230, "fpr_total": 1279 }, { @@ -1846,31 +1848,10 @@ "gpr_regs": [ 4, 5, - 29, 6, - 31, - 16 - ], - "fpr_regs": [ - 12, - 13, - 20, - 14 - ], - "gpr_occurrences": 4346, - "fpr_occurrences": 366, - "gpr_total": 6131, - "fpr_total": 473 - }, - { - "file": "generated_unit_0089.cpp", - "gpr_regs": [ - 4, - 16, - 5, - 31, 29, - 17 + 31, + 7 ], "fpr_regs": [ 12, @@ -1878,9 +1859,30 @@ 14, 15 ], - "gpr_occurrences": 3351, + "gpr_occurrences": 4488, + "fpr_occurrences": 373, + "gpr_total": 6378, + "fpr_total": 489 + }, + { + "file": "generated_unit_0089.cpp", + "gpr_regs": [ + 4, + 5, + 16, + 31, + 29, + 2 + ], + "fpr_regs": [ + 12, + 13, + 14, + 15 + ], + "gpr_occurrences": 3397, "fpr_occurrences": 1409, - "gpr_total": 4309, + "gpr_total": 4476, "fpr_total": 1820 }, { @@ -1888,10 +1890,10 @@ "gpr_regs": [ 4, 5, - 16, 31, - 29, - 17 + 6, + 16, + 29 ], "fpr_regs": [ 12, @@ -1899,17 +1901,17 @@ 14, 20 ], - "gpr_occurrences": 3762, - "fpr_occurrences": 596, - "gpr_total": 5156, - "fpr_total": 934 + "gpr_occurrences": 3925, + "fpr_occurrences": 599, + "gpr_total": 5424, + "fpr_total": 938 }, { "file": "generated_unit_0091.cpp", "gpr_regs": [ 4, - 29, 5, + 29, 16, 31, 6 @@ -1918,22 +1920,22 @@ 12, 13, 14, - 20 + 15 ], - "gpr_occurrences": 3824, - "fpr_occurrences": 737, - "gpr_total": 5252, - "fpr_total": 985 + "gpr_occurrences": 3986, + "fpr_occurrences": 744, + "gpr_total": 5540, + "fpr_total": 993 }, { "file": "generated_unit_0092.cpp", "gpr_regs": [ 4, 29, - 5, 31, - 16, - 17 + 5, + 6, + 16 ], "fpr_regs": [ 12, @@ -1941,10 +1943,10 @@ 20, 22 ], - "gpr_occurrences": 3521, - "fpr_occurrences": 976, - "gpr_total": 5189, - "fpr_total": 1211 + "gpr_occurrences": 3709, + "fpr_occurrences": 977, + "gpr_total": 5548, + "fpr_total": 1212 }, { "file": "generated_unit_0093.cpp", @@ -1954,7 +1956,7 @@ 29, 6, 7, - 16 + 2 ], "fpr_regs": [ 12, @@ -1962,20 +1964,20 @@ 14, 15 ], - "gpr_occurrences": 3197, - "fpr_occurrences": 1027, - "gpr_total": 5081, - "fpr_total": 1479 + "gpr_occurrences": 3232, + "fpr_occurrences": 1039, + "gpr_total": 5175, + "fpr_total": 1491 }, { "file": "generated_unit_0094.cpp", "gpr_regs": [ 4, 5, + 31, 29, 16, - 31, - 28 + 6 ], "fpr_regs": [ 12, @@ -1983,10 +1985,10 @@ 14, 26 ], - "gpr_occurrences": 3484, - "fpr_occurrences": 1176, - "gpr_total": 4688, - "fpr_total": 1584 + "gpr_occurrences": 3680, + "fpr_occurrences": 1194, + "gpr_total": 5117, + "fpr_total": 1608 }, { "file": "generated_unit_0095.cpp", @@ -1995,8 +1997,8 @@ 5, 29, 6, - 16, - 31 + 31, + 2 ], "fpr_regs": [ 12, @@ -2004,9 +2006,9 @@ 14, 15 ], - "gpr_occurrences": 3086, + "gpr_occurrences": 3289, "fpr_occurrences": 898, - "gpr_total": 5065, + "gpr_total": 5546, "fpr_total": 1440 }, { @@ -2016,8 +2018,8 @@ 5, 29, 31, - 17, - 6 + 6, + 17 ], "fpr_regs": [ 12, @@ -2025,10 +2027,10 @@ 13, 15 ], - "gpr_occurrences": 4323, - "fpr_occurrences": 81, - "gpr_total": 5865, - "fpr_total": 100 + "gpr_occurrences": 4471, + "fpr_occurrences": 82, + "gpr_total": 6162, + "fpr_total": 101 }, { "file": "generated_unit_0097.cpp", @@ -2036,30 +2038,30 @@ 4, 31, 5, - 16, - 28, - 29 + 6, + 2, + 28 ], "fpr_regs": [ 12, 20, - 22, - 13 + 13, + 14 ], - "gpr_occurrences": 3735, - "fpr_occurrences": 157, - "gpr_total": 5396, - "fpr_total": 187 + "gpr_occurrences": 3610, + "fpr_occurrences": 159, + "gpr_total": 5718, + "fpr_total": 195 }, { "file": "generated_unit_0098.cpp", "gpr_regs": [ 4, 5, - 29, 31, - 16, - 2 + 2, + 29, + 16 ], "fpr_regs": [ 12, @@ -2067,9 +2069,9 @@ 20, 14 ], - "gpr_occurrences": 4391, + "gpr_occurrences": 4477, "fpr_occurrences": 278, - "gpr_total": 5185, + "gpr_total": 5338, "fpr_total": 317 }, { @@ -2080,7 +2082,7 @@ 6, 17, 16, - 28 + 31 ], "fpr_regs": [ 13, @@ -2088,20 +2090,20 @@ 20, 14 ], - "gpr_occurrences": 4400, + "gpr_occurrences": 4424, "fpr_occurrences": 230, - "gpr_total": 5639, + "gpr_total": 5717, "fpr_total": 243 }, { "file": "generated_unit_0100.cpp", "gpr_regs": [ 4, - 17, 5, - 28, + 31, 29, - 31 + 28, + 2 ], "fpr_regs": [ 12, @@ -2109,10 +2111,10 @@ 20, 26 ], - "gpr_occurrences": 3312, - "fpr_occurrences": 471, - "gpr_total": 5075, - "fpr_total": 592 + "gpr_occurrences": 3293, + "fpr_occurrences": 480, + "gpr_total": 5495, + "fpr_total": 601 }, { "file": "generated_unit_0101.cpp", @@ -2120,9 +2122,9 @@ 4, 29, 5, - 16, 31, - 6 + 6, + 16 ], "fpr_regs": [ 12, @@ -2130,10 +2132,10 @@ 14, 20 ], - "gpr_occurrences": 3000, - "fpr_occurrences": 1422, - "gpr_total": 4211, - "fpr_total": 2141 + "gpr_occurrences": 3142, + "fpr_occurrences": 1423, + "gpr_total": 4458, + "fpr_total": 2142 }, { "file": "generated_unit_0102.cpp", @@ -2142,8 +2144,8 @@ 5, 29, 16, - 20, - 31 + 31, + 28 ], "fpr_regs": [ 12, @@ -2151,9 +2153,9 @@ 14, 20 ], - "gpr_occurrences": 2951, + "gpr_occurrences": 2967, "fpr_occurrences": 1735, - "gpr_total": 3653, + "gpr_total": 3693, "fpr_total": 2341 }, { @@ -2172,9 +2174,9 @@ 20, 14 ], - "gpr_occurrences": 2615, + "gpr_occurrences": 2625, "fpr_occurrences": 1936, - "gpr_total": 3539, + "gpr_total": 3552, "fpr_total": 2727 }, { @@ -2184,8 +2186,8 @@ 5, 29, 16, - 17, - 31 + 31, + 17 ], "fpr_regs": [ 12, @@ -2193,9 +2195,9 @@ 14, 20 ], - "gpr_occurrences": 3230, + "gpr_occurrences": 3261, "fpr_occurrences": 991, - "gpr_total": 4228, + "gpr_total": 4284, "fpr_total": 1228 }, { @@ -2203,10 +2205,10 @@ "gpr_regs": [ 4, 5, - 29, 31, - 16, - 17 + 29, + 2, + 16 ], "fpr_regs": [ 12, @@ -2214,9 +2216,9 @@ 20, 14 ], - "gpr_occurrences": 3772, + "gpr_occurrences": 3762, "fpr_occurrences": 503, - "gpr_total": 5006, + "gpr_total": 5207, "fpr_total": 585 }, { @@ -2224,9 +2226,30 @@ "gpr_regs": [ 4, 5, - 29, 31, - 17, + 2, + 29, + 6 + ], + "fpr_regs": [ + 12, + 13, + 14, + 20 + ], + "gpr_occurrences": 4097, + "fpr_occurrences": 568, + "gpr_total": 5584, + "fpr_total": 629 + }, + { + "file": "generated_unit_0107.cpp", + "gpr_regs": [ + 4, + 31, + 5, + 2, + 29, 16 ], "fpr_regs": [ @@ -2235,41 +2258,20 @@ 14, 20 ], - "gpr_occurrences": 4068, - "fpr_occurrences": 568, - "gpr_total": 5268, - "fpr_total": 629 - }, - { - "file": "generated_unit_0107.cpp", - "gpr_regs": [ - 4, - 5, - 29, - 31, - 16, - 17 - ], - "fpr_regs": [ - 12, - 13, - 14, - 20 - ], - "gpr_occurrences": 3761, + "gpr_occurrences": 4020, "fpr_occurrences": 848, - "gpr_total": 4749, + "gpr_total": 5136, "fpr_total": 959 }, { "file": "generated_unit_0108.cpp", "gpr_regs": [ 4, - 29, 5, - 16, + 29, 31, - 17 + 16, + 6 ], "fpr_regs": [ 12, @@ -2277,9 +2279,9 @@ 14, 15 ], - "gpr_occurrences": 4190, + "gpr_occurrences": 4285, "fpr_occurrences": 871, - "gpr_total": 5428, + "gpr_total": 5634, "fpr_total": 1036 }, { @@ -2287,31 +2289,31 @@ "gpr_regs": [ 4, 5, - 29, - 16, 31, - 6 + 29, + 6, + 16 ], "fpr_regs": [ 12, 13, - 20, - 14 + 14, + 20 ], - "gpr_occurrences": 3944, - "fpr_occurrences": 631, - "gpr_total": 5393, - "fpr_total": 837 + "gpr_occurrences": 4149, + "fpr_occurrences": 649, + "gpr_total": 5745, + "fpr_total": 861 }, { "file": "generated_unit_0110.cpp", "gpr_regs": [ 4, - 5, - 29, 31, - 16, - 6 + 5, + 6, + 29, + 2 ], "fpr_regs": [ 12, @@ -2319,52 +2321,52 @@ 14, 15 ], - "gpr_occurrences": 3271, - "fpr_occurrences": 1464, - "gpr_total": 4358, - "fpr_total": 2048 + "gpr_occurrences": 3607, + "fpr_occurrences": 1600, + "gpr_total": 5103, + "fpr_total": 2184 }, { "file": "generated_unit_0111.cpp", "gpr_regs": [ 4, 5, - 16, 31, - 28, - 6 + 2, + 6, + 16 ], "fpr_regs": [ 12, 13, 14, - 20 + 15 ], - "gpr_occurrences": 3866, - "fpr_occurrences": 713, - "gpr_total": 5288, - "fpr_total": 979 + "gpr_occurrences": 4681, + "fpr_occurrences": 768, + "gpr_total": 6685, + "fpr_total": 1063 }, { "file": "generated_unit_0112.cpp", "gpr_regs": [ 4, 5, - 6, 31, - 16, - 29 + 6, + 29, + 2 ], "fpr_regs": [ 12, 13, 14, - 20 + 15 ], - "gpr_occurrences": 3956, - "fpr_occurrences": 629, - "gpr_total": 5388, - "fpr_total": 1049 + "gpr_occurrences": 4121, + "fpr_occurrences": 690, + "gpr_total": 5960, + "fpr_total": 1121 }, { "file": "generated_unit_0113.cpp", @@ -2372,9 +2374,9 @@ 4, 5, 31, - 29, - 28, - 2 + 2, + 6, + 28 ], "fpr_regs": [ 12, @@ -2382,9 +2384,9 @@ 20, 14 ], - "gpr_occurrences": 3646, + "gpr_occurrences": 3831, "fpr_occurrences": 529, - "gpr_total": 5061, + "gpr_total": 5425, "fpr_total": 712 }, { @@ -2393,9 +2395,9 @@ 4, 5, 29, - 16, 31, - 6 + 6, + 16 ], "fpr_regs": [ 12, @@ -2403,9 +2405,9 @@ 14, 20 ], - "gpr_occurrences": 3719, + "gpr_occurrences": 3837, "fpr_occurrences": 641, - "gpr_total": 5384, + "gpr_total": 5588, "fpr_total": 943 }, { @@ -2414,9 +2416,9 @@ 4, 5, 29, - 16, + 31, 6, - 8 + 7 ], "fpr_regs": [ 12, @@ -2424,9 +2426,9 @@ 14, 20 ], - "gpr_occurrences": 4009, + "gpr_occurrences": 4053, "fpr_occurrences": 598, - "gpr_total": 6104, + "gpr_total": 6375, "fpr_total": 727 }, { @@ -2437,7 +2439,7 @@ 6, 17, 16, - 29 + 31 ], "fpr_regs": [ 12, @@ -2445,9 +2447,9 @@ 20, 14 ], - "gpr_occurrences": 4897, + "gpr_occurrences": 4894, "fpr_occurrences": 369, - "gpr_total": 6508, + "gpr_total": 6626, "fpr_total": 426 }, { @@ -2466,20 +2468,20 @@ 14, 15 ], - "gpr_occurrences": 3545, - "fpr_occurrences": 1604, - "gpr_total": 4531, - "fpr_total": 2186 + "gpr_occurrences": 3609, + "fpr_occurrences": 1606, + "gpr_total": 4646, + "fpr_total": 2188 }, { "file": "generated_unit_0118.cpp", "gpr_regs": [ 4, 5, - 29, - 16, 31, - 17 + 29, + 6, + 16 ], "fpr_regs": [ 12, @@ -2487,9 +2489,9 @@ 20, 14 ], - "gpr_occurrences": 4298, + "gpr_occurrences": 4445, "fpr_occurrences": 592, - "gpr_total": 5550, + "gpr_total": 5934, "fpr_total": 770 }, { @@ -2497,9 +2499,9 @@ "gpr_regs": [ 4, 5, - 16, - 29, 31, + 29, + 16, 6 ], "fpr_regs": [ @@ -2508,10 +2510,10 @@ 20, 22 ], - "gpr_occurrences": 4580, - "fpr_occurrences": 447, - "gpr_total": 5781, - "fpr_total": 564 + "gpr_occurrences": 4812, + "fpr_occurrences": 448, + "gpr_total": 6169, + "fpr_total": 565 }, { "file": "generated_unit_0120.cpp", @@ -2520,8 +2522,8 @@ 5, 29, 31, - 16, - 6 + 6, + 16 ], "fpr_regs": [ 12, @@ -2529,9 +2531,9 @@ 20, 14 ], - "gpr_occurrences": 4266, + "gpr_occurrences": 4373, "fpr_occurrences": 267, - "gpr_total": 5928, + "gpr_total": 6093, "fpr_total": 349 }, { @@ -2539,10 +2541,10 @@ "gpr_regs": [ 4, 5, - 29, 6, 7, - 17 + 31, + 29 ], "fpr_regs": [ 12, @@ -2550,9 +2552,9 @@ 14, 20 ], - "gpr_occurrences": 3835, + "gpr_occurrences": 4097, "fpr_occurrences": 762, - "gpr_total": 5536, + "gpr_total": 6014, "fpr_total": 990 }, { @@ -2560,8 +2562,8 @@ "gpr_regs": [ 4, 5, - 29, 6, + 29, 16, 31 ], @@ -2571,10 +2573,10 @@ 20, 14 ], - "gpr_occurrences": 3834, - "fpr_occurrences": 1055, - "gpr_total": 4867, - "fpr_total": 1295 + "gpr_occurrences": 3909, + "fpr_occurrences": 1056, + "gpr_total": 5007, + "fpr_total": 1296 }, { "file": "generated_unit_0123.cpp", @@ -2583,8 +2585,8 @@ 5, 29, 6, - 16, - 17 + 31, + 16 ], "fpr_regs": [ 12, @@ -2592,10 +2594,10 @@ 14, 20 ], - "gpr_occurrences": 3770, - "fpr_occurrences": 1091, - "gpr_total": 5109, - "fpr_total": 1326 + "gpr_occurrences": 3810, + "fpr_occurrences": 1093, + "gpr_total": 5263, + "fpr_total": 1328 }, { "file": "generated_unit_0124.cpp", @@ -2603,8 +2605,8 @@ 4, 5, 29, - 16, 31, + 16, 6 ], "fpr_regs": [ @@ -2613,9 +2615,9 @@ 24, 20 ], - "gpr_occurrences": 3825, + "gpr_occurrences": 3940, "fpr_occurrences": 628, - "gpr_total": 5568, + "gpr_total": 5774, "fpr_total": 859 }, { @@ -2634,9 +2636,9 @@ 14, 20 ], - "gpr_occurrences": 4410, + "gpr_occurrences": 4417, "fpr_occurrences": 575, - "gpr_total": 6189, + "gpr_total": 6203, "fpr_total": 616 }, { @@ -2645,9 +2647,9 @@ 4, 5, 6, - 16, - 29, - 31 + 31, + 7, + 2 ], "fpr_regs": [ 12, @@ -2655,9 +2657,9 @@ 15, 20 ], - "gpr_occurrences": 3936, + "gpr_occurrences": 3854, "fpr_occurrences": 666, - "gpr_total": 5353, + "gpr_total": 5631, "fpr_total": 1372 }, { @@ -2676,10 +2678,10 @@ 0, 20 ], - "gpr_occurrences": 3860, - "fpr_occurrences": 314, - "gpr_total": 5474, - "fpr_total": 382 + "gpr_occurrences": 4223, + "fpr_occurrences": 316, + "gpr_total": 6131, + "fpr_total": 384 }, { "file": "generated_unit_0128.cpp", @@ -2697,9 +2699,9 @@ 14, 15 ], - "gpr_occurrences": 4443, + "gpr_occurrences": 4508, "fpr_occurrences": 274, - "gpr_total": 6025, + "gpr_total": 6154, "fpr_total": 366 }, { @@ -2709,8 +2711,8 @@ 5, 29, 6, - 16, - 31 + 31, + 16 ], "fpr_regs": [ 13, @@ -2718,9 +2720,9 @@ 14, 15 ], - "gpr_occurrences": 4385, + "gpr_occurrences": 4484, "fpr_occurrences": 356, - "gpr_total": 6154, + "gpr_total": 6308, "fpr_total": 567 }, { @@ -2729,8 +2731,8 @@ 4, 5, 29, - 16, 6, + 16, 31 ], "fpr_regs": [ @@ -2739,9 +2741,9 @@ 14, 15 ], - "gpr_occurrences": 3286, + "gpr_occurrences": 3296, "fpr_occurrences": 922, - "gpr_total": 4656, + "gpr_total": 4674, "fpr_total": 1196 }, { @@ -2760,9 +2762,9 @@ 14, 16 ], - "gpr_occurrences": 3735, + "gpr_occurrences": 3789, "fpr_occurrences": 711, - "gpr_total": 5032, + "gpr_total": 5185, "fpr_total": 1086 }, { @@ -2772,8 +2774,8 @@ 29, 5, 31, - 16, - 6 + 6, + 16 ], "fpr_regs": [ 12, @@ -2781,9 +2783,9 @@ 14, 15 ], - "gpr_occurrences": 3497, + "gpr_occurrences": 3561, "fpr_occurrences": 709, - "gpr_total": 4927, + "gpr_total": 5055, "fpr_total": 1038 }, { @@ -2794,7 +2796,7 @@ 5, 31, 16, - 24 + 6 ], "fpr_regs": [ 12, @@ -2802,20 +2804,20 @@ 14, 15 ], - "gpr_occurrences": 3732, - "fpr_occurrences": 838, - "gpr_total": 5076, - "fpr_total": 1286 + "gpr_occurrences": 3817, + "fpr_occurrences": 847, + "gpr_total": 5332, + "fpr_total": 1295 }, { "file": "generated_unit_0134.cpp", "gpr_regs": [ 4, 5, - 29, 6, - 16, - 31 + 29, + 31, + 16 ], "fpr_regs": [ 12, @@ -2823,9 +2825,9 @@ 14, 15 ], - "gpr_occurrences": 3720, + "gpr_occurrences": 3793, "fpr_occurrences": 1227, - "gpr_total": 4841, + "gpr_total": 4971, "fpr_total": 1581 }, { @@ -2833,10 +2835,10 @@ "gpr_regs": [ 4, 5, - 16, 29, - 28, - 6 + 16, + 6, + 31 ], "fpr_regs": [ 12, @@ -2844,9 +2846,9 @@ 14, 20 ], - "gpr_occurrences": 3434, + "gpr_occurrences": 3501, "fpr_occurrences": 1259, - "gpr_total": 4481, + "gpr_total": 4681, "fpr_total": 1705 }, { @@ -2854,21 +2856,21 @@ "gpr_regs": [ 4, 29, - 5, 31, - 2, - 16 + 16, + 17, + 18 ], "fpr_regs": [ 12, - 13, 20, - 14 + 22, + 24 ], - "gpr_occurrences": 3125, - "fpr_occurrences": 939, - "gpr_total": 3927, - "fpr_total": 1122 + "gpr_occurrences": 3036, + "fpr_occurrences": 858, + "gpr_total": 4359, + "fpr_total": 1266 }, { "file": "generated_unit_0137.cpp", @@ -2886,9 +2888,9 @@ 14, 20 ], - "gpr_occurrences": 4085, + "gpr_occurrences": 4099, "fpr_occurrences": 906, - "gpr_total": 4840, + "gpr_total": 4862, "fpr_total": 1077 }, { @@ -2907,9 +2909,9 @@ 14, 20 ], - "gpr_occurrences": 5802, + "gpr_occurrences": 5874, "fpr_occurrences": 413, - "gpr_total": 6597, + "gpr_total": 6712, "fpr_total": 484 }, { @@ -2917,8 +2919,8 @@ "gpr_regs": [ 4, 5, - 16, 31, + 16, 29, 6 ], @@ -2928,10 +2930,10 @@ 14, 20 ], - "gpr_occurrences": 4053, - "fpr_occurrences": 602, - "gpr_total": 5224, - "fpr_total": 683 + "gpr_occurrences": 4179, + "fpr_occurrences": 603, + "gpr_total": 5427, + "fpr_total": 684 }, { "file": "generated_unit_0140.cpp", @@ -2939,20 +2941,20 @@ 4, 5, 31, + 6, 29, - 16, - 6 + 2 ], "fpr_regs": [ 12, 13, 14, - 20 + 15 ], - "gpr_occurrences": 4204, - "fpr_occurrences": 392, - "gpr_total": 5605, - "fpr_total": 505 + "gpr_occurrences": 4390, + "fpr_occurrences": 387, + "gpr_total": 6095, + "fpr_total": 537 }, { "file": "generated_unit_0141.cpp", @@ -2970,9 +2972,9 @@ 14, 20 ], - "gpr_occurrences": 4518, + "gpr_occurrences": 4795, "fpr_occurrences": 186, - "gpr_total": 6160, + "gpr_total": 6719, "fpr_total": 254 }, { @@ -2982,8 +2984,8 @@ 5, 29, 6, - 16, - 31 + 31, + 16 ], "fpr_regs": [ 12, @@ -2991,20 +2993,20 @@ 14, 15 ], - "gpr_occurrences": 4257, + "gpr_occurrences": 4354, "fpr_occurrences": 559, - "gpr_total": 5966, + "gpr_total": 6129, "fpr_total": 747 }, { "file": "generated_unit_0143.cpp", "gpr_regs": [ 4, - 29, 5, + 29, 31, - 16, - 6 + 6, + 2 ], "fpr_regs": [ 12, @@ -3012,9 +3014,9 @@ 20, 14 ], - "gpr_occurrences": 3497, + "gpr_occurrences": 3709, "fpr_occurrences": 992, - "gpr_total": 4860, + "gpr_total": 5309, "fpr_total": 1255 }, { @@ -3023,9 +3025,9 @@ 4, 5, 29, + 31, 6, - 16, - 31 + 2 ], "fpr_regs": [ 12, @@ -3033,9 +3035,9 @@ 14, 22 ], - "gpr_occurrences": 3651, + "gpr_occurrences": 3684, "fpr_occurrences": 906, - "gpr_total": 5038, + "gpr_total": 5267, "fpr_total": 1042 }, { @@ -3045,8 +3047,8 @@ 5, 29, 31, - 16, - 6 + 6, + 2 ], "fpr_regs": [ 12, @@ -3054,9 +3056,9 @@ 14, 20 ], - "gpr_occurrences": 3546, + "gpr_occurrences": 3584, "fpr_occurrences": 904, - "gpr_total": 4909, + "gpr_total": 5051, "fpr_total": 1043 }, { @@ -3067,7 +3069,7 @@ 29, 6, 31, - 16 + 2 ], "fpr_regs": [ 12, @@ -3075,20 +3077,20 @@ 14, 20 ], - "gpr_occurrences": 3702, - "fpr_occurrences": 1078, - "gpr_total": 4929, - "fpr_total": 1294 + "gpr_occurrences": 3806, + "fpr_occurrences": 1079, + "gpr_total": 5108, + "fpr_total": 1295 }, { "file": "generated_unit_0147.cpp", "gpr_regs": [ 4, 5, - 29, 31, - 16, - 6 + 29, + 6, + 2 ], "fpr_regs": [ 12, @@ -3096,9 +3098,9 @@ 14, 20 ], - "gpr_occurrences": 3942, + "gpr_occurrences": 4025, "fpr_occurrences": 541, - "gpr_total": 5484, + "gpr_total": 5825, "fpr_total": 716 }, { @@ -3106,10 +3108,10 @@ "gpr_regs": [ 4, 5, - 29, 31, - 16, - 6 + 6, + 29, + 2 ], "fpr_regs": [ 12, @@ -3117,9 +3119,9 @@ 20, 13 ], - "gpr_occurrences": 4600, + "gpr_occurrences": 4872, "fpr_occurrences": 87, - "gpr_total": 6226, + "gpr_total": 7056, "fpr_total": 103 }, { @@ -3128,9 +3130,9 @@ 4, 5, 31, - 16, + 6, 29, - 6 + 16 ], "fpr_regs": [ 12, @@ -3138,18 +3140,18 @@ 20, 14 ], - "gpr_occurrences": 3776, + "gpr_occurrences": 4038, "fpr_occurrences": 951, - "gpr_total": 5046, + "gpr_total": 5396, "fpr_total": 1182 }, { "file": "generated_unit_0150.cpp", "gpr_regs": [ 4, - 23, 31, 5, + 23, 29, 2 ], @@ -3159,10 +3161,10 @@ 20, 0 ], - "gpr_occurrences": 3594, - "fpr_occurrences": 1378, - "gpr_total": 4599, - "fpr_total": 1851 + "gpr_occurrences": 3712, + "fpr_occurrences": 1386, + "gpr_total": 4862, + "fpr_total": 1859 }, { "file": "generated_unit_0151.cpp", @@ -3172,7 +3174,7 @@ 29, 31, 23, - 16 + 6 ], "fpr_regs": [ 12, @@ -3180,9 +3182,9 @@ 14, 22 ], - "gpr_occurrences": 3084, + "gpr_occurrences": 3086, "fpr_occurrences": 1332, - "gpr_total": 4266, + "gpr_total": 4282, "fpr_total": 1878 }, { @@ -3201,10 +3203,10 @@ 14, 20 ], - "gpr_occurrences": 3444, - "fpr_occurrences": 1071, - "gpr_total": 4504, - "fpr_total": 1377 + "gpr_occurrences": 3541, + "fpr_occurrences": 1075, + "gpr_total": 4673, + "fpr_total": 1381 }, { "file": "generated_unit_0153.cpp", @@ -3222,10 +3224,10 @@ 20, 14 ], - "gpr_occurrences": 3810, - "fpr_occurrences": 1002, - "gpr_total": 4780, - "fpr_total": 1377 + "gpr_occurrences": 3875, + "fpr_occurrences": 1005, + "gpr_total": 4902, + "fpr_total": 1380 }, { "file": "generated_unit_0154.cpp", @@ -3243,10 +3245,10 @@ 14, 15 ], - "gpr_occurrences": 3521, - "fpr_occurrences": 1337, - "gpr_total": 4397, - "fpr_total": 1767 + "gpr_occurrences": 3548, + "fpr_occurrences": 1338, + "gpr_total": 4453, + "fpr_total": 1768 }, { "file": "generated_unit_0155.cpp", @@ -3254,9 +3256,9 @@ 4, 5, 29, - 16, 6, - 31 + 31, + 16 ], "fpr_regs": [ 12, @@ -3264,9 +3266,9 @@ 20, 14 ], - "gpr_occurrences": 3923, + "gpr_occurrences": 3993, "fpr_occurrences": 762, - "gpr_total": 5245, + "gpr_total": 5353, "fpr_total": 906 }, { @@ -3276,8 +3278,8 @@ 5, 29, 6, - 16, - 17 + 31, + 16 ], "fpr_regs": [ 12, @@ -3285,10 +3287,10 @@ 22, 14 ], - "gpr_occurrences": 3807, - "fpr_occurrences": 760, - "gpr_total": 5510, - "fpr_total": 1122 + "gpr_occurrences": 3945, + "fpr_occurrences": 768, + "gpr_total": 5816, + "fpr_total": 1130 }, { "file": "generated_unit_0157.cpp", @@ -3306,9 +3308,9 @@ 14, 20 ], - "gpr_occurrences": 4395, + "gpr_occurrences": 4535, "fpr_occurrences": 528, - "gpr_total": 5833, + "gpr_total": 6125, "fpr_total": 935 }, { @@ -3327,9 +3329,9 @@ 14, 20 ], - "gpr_occurrences": 4324, + "gpr_occurrences": 4353, "fpr_occurrences": 1103, - "gpr_total": 5394, + "gpr_total": 5457, "fpr_total": 1447 }, { @@ -3348,20 +3350,20 @@ 14, 20 ], - "gpr_occurrences": 5692, + "gpr_occurrences": 5703, "fpr_occurrences": 166, - "gpr_total": 7836, + "gpr_total": 7866, "fpr_total": 178 }, { "file": "generated_unit_0160.cpp", "gpr_regs": [ 4, - 29, 5, + 29, 6, 7, - 16 + 31 ], "fpr_regs": [ 12, @@ -3369,9 +3371,9 @@ 20, 14 ], - "gpr_occurrences": 3583, + "gpr_occurrences": 3814, "fpr_occurrences": 950, - "gpr_total": 5405, + "gpr_total": 5815, "fpr_total": 1255 }, { @@ -3390,9 +3392,9 @@ 15, 14 ], - "gpr_occurrences": 4338, + "gpr_occurrences": 4440, "fpr_occurrences": 172, - "gpr_total": 6834, + "gpr_total": 7037, "fpr_total": 180 }, { @@ -3401,9 +3403,9 @@ 4, 5, 29, - 16, 6, - 31 + 31, + 16 ], "fpr_regs": [ 12, @@ -3411,10 +3413,10 @@ 14, 20 ], - "gpr_occurrences": 4080, - "fpr_occurrences": 679, - "gpr_total": 5665, - "fpr_total": 865 + "gpr_occurrences": 4224, + "fpr_occurrences": 697, + "gpr_total": 5920, + "fpr_total": 883 }, { "file": "generated_unit_0163.cpp", @@ -3423,8 +3425,8 @@ 5, 29, 6, - 17, - 31 + 31, + 17 ], "fpr_regs": [ 12, @@ -3432,9 +3434,9 @@ 14, 15 ], - "gpr_occurrences": 3441, + "gpr_occurrences": 3543, "fpr_occurrences": 1056, - "gpr_total": 4984, + "gpr_total": 5203, "fpr_total": 1699 }, { @@ -3443,9 +3445,9 @@ 4, 5, 29, - 16, 6, - 31 + 31, + 16 ], "fpr_regs": [ 12, @@ -3453,9 +3455,9 @@ 20, 14 ], - "gpr_occurrences": 3699, + "gpr_occurrences": 3867, "fpr_occurrences": 882, - "gpr_total": 5199, + "gpr_total": 5469, "fpr_total": 1381 }, { @@ -3474,9 +3476,9 @@ 12, 13 ], - "gpr_occurrences": 4024, + "gpr_occurrences": 4037, "fpr_occurrences": 1349, - "gpr_total": 5354, + "gpr_total": 5378, "fpr_total": 2146 }, { @@ -3495,9 +3497,9 @@ 20, 0 ], - "gpr_occurrences": 5018, + "gpr_occurrences": 5048, "fpr_occurrences": 258, - "gpr_total": 6705, + "gpr_total": 6781, "fpr_total": 398 }, { @@ -3505,10 +3507,10 @@ "gpr_regs": [ 4, 5, - 29, 31, - 16, - 6 + 6, + 29, + 2 ], "fpr_regs": [ 12, @@ -3516,10 +3518,10 @@ 14, 0 ], - "gpr_occurrences": 4058, - "fpr_occurrences": 75, - "gpr_total": 6059, - "fpr_total": 84 + "gpr_occurrences": 4210, + "fpr_occurrences": 77, + "gpr_total": 6564, + "fpr_total": 86 }, { "file": "generated_unit_0168.cpp", @@ -3537,9 +3539,9 @@ 20, 14 ], - "gpr_occurrences": 4285, + "gpr_occurrences": 4315, "fpr_occurrences": 693, - "gpr_total": 5816, + "gpr_total": 5880, "fpr_total": 904 }, { @@ -3549,8 +3551,8 @@ 29, 5, 6, - 7, - 31 + 31, + 7 ], "fpr_regs": [ 12, @@ -3558,10 +3560,10 @@ 14, 15 ], - "gpr_occurrences": 3106, - "fpr_occurrences": 1579, - "gpr_total": 4391, - "fpr_total": 2619 + "gpr_occurrences": 3132, + "fpr_occurrences": 1583, + "gpr_total": 4429, + "fpr_total": 2623 }, { "file": "generated_unit_0170.cpp", @@ -3570,8 +3572,8 @@ 29, 5, 6, - 16, - 31 + 31, + 16 ], "fpr_regs": [ 12, @@ -3579,10 +3581,10 @@ 14, 15 ], - "gpr_occurrences": 4081, - "fpr_occurrences": 443, - "gpr_total": 5778, - "fpr_total": 661 + "gpr_occurrences": 4123, + "fpr_occurrences": 455, + "gpr_total": 5857, + "fpr_total": 673 }, { "file": "generated_unit_0171.cpp", @@ -3591,8 +3593,8 @@ 5, 29, 31, - 16, - 6 + 6, + 16 ], "fpr_regs": [ 12, @@ -3600,10 +3602,10 @@ 13, 16 ], - "gpr_occurrences": 3979, - "fpr_occurrences": 168, - "gpr_total": 5876, - "fpr_total": 191 + "gpr_occurrences": 4106, + "fpr_occurrences": 179, + "gpr_total": 6077, + "fpr_total": 202 }, { "file": "generated_unit_0172.cpp", @@ -3611,9 +3613,9 @@ 4, 5, 31, - 28, 29, - 16 + 16, + 2 ], "fpr_regs": [ 12, @@ -3621,29 +3623,29 @@ 20, 14 ], - "gpr_occurrences": 3898, - "fpr_occurrences": 392, - "gpr_total": 5421, - "fpr_total": 393 + "gpr_occurrences": 3867, + "fpr_occurrences": 393, + "gpr_total": 5875, + "fpr_total": 394 }, { "file": "generated_unit_0173.cpp", "gpr_regs": [ 4, 5, - 29, 6, + 29, 31, - 16 + 7 ], "fpr_regs": [ 12, 13, 14 ], - "gpr_occurrences": 3862, + "gpr_occurrences": 3936, "fpr_occurrences": 74, - "gpr_total": 6458, + "gpr_total": 6612, "fpr_total": 74 }, { @@ -3659,9 +3661,9 @@ "fpr_regs": [ 12 ], - "gpr_occurrences": 4646, + "gpr_occurrences": 4690, "fpr_occurrences": 14, - "gpr_total": 6645, + "gpr_total": 6740, "fpr_total": 14 }, { @@ -3669,29 +3671,29 @@ "gpr_regs": [ 4, 31, - 29, 5, - 16, - 17 + 29, + 6, + 2 ], "fpr_regs": [ 12, 13, - 20, - 0 + 14, + 15 ], - "gpr_occurrences": 4156, - "fpr_occurrences": 470, - "gpr_total": 5397, - "fpr_total": 600 + "gpr_occurrences": 4539, + "fpr_occurrences": 495, + "gpr_total": 6407, + "fpr_total": 660 }, { "file": "generated_unit_0176.cpp", "gpr_regs": [ 4, 5, - 29, 31, + 29, 16, 6 ], @@ -3701,18 +3703,18 @@ 14, 0 ], - "gpr_occurrences": 4239, - "fpr_occurrences": 240, - "gpr_total": 5561, - "fpr_total": 295 + "gpr_occurrences": 4540, + "fpr_occurrences": 243, + "gpr_total": 6128, + "fpr_total": 299 }, { "file": "generated_unit_0177.cpp", "gpr_regs": [ 4, 31, - 17, 2, + 17, 5, 16 ], @@ -3722,20 +3724,20 @@ 20, 13 ], - "gpr_occurrences": 4307, + "gpr_occurrences": 4979, "fpr_occurrences": 396, - "gpr_total": 4923, + "gpr_total": 5607, "fpr_total": 430 }, { "file": "generated_unit_0178.cpp", "gpr_regs": [ 4, - 5, 31, + 5, + 2, 17, - 29, - 16 + 29 ], "fpr_regs": [ 12, @@ -3743,17 +3745,17 @@ 20, 0 ], - "gpr_occurrences": 3899, - "fpr_occurrences": 439, - "gpr_total": 4938, - "fpr_total": 552 + "gpr_occurrences": 4237, + "fpr_occurrences": 440, + "gpr_total": 5445, + "fpr_total": 553 }, { "file": "generated_unit_0179.cpp", "gpr_regs": [ 4, - 29, 5, + 29, 31, 16, 6 @@ -3764,9 +3766,9 @@ 14, 20 ], - "gpr_occurrences": 4381, + "gpr_occurrences": 4405, "fpr_occurrences": 704, - "gpr_total": 5445, + "gpr_total": 5490, "fpr_total": 884 }, { @@ -3785,9 +3787,9 @@ 22, 20 ], - "gpr_occurrences": 4167, + "gpr_occurrences": 4187, "fpr_occurrences": 38, - "gpr_total": 6058, + "gpr_total": 6102, "fpr_total": 42 }, { @@ -3806,9 +3808,9 @@ 20, 14 ], - "gpr_occurrences": 4487, + "gpr_occurrences": 4554, "fpr_occurrences": 182, - "gpr_total": 6162, + "gpr_total": 6287, "fpr_total": 202 }, { @@ -3817,8 +3819,8 @@ 4, 5, 29, - 6, 31, + 6, 16 ], "fpr_regs": [ @@ -3827,9 +3829,9 @@ 14, 16 ], - "gpr_occurrences": 4727, + "gpr_occurrences": 4855, "fpr_occurrences": 51, - "gpr_total": 6295, + "gpr_total": 6526, "fpr_total": 54 }, { @@ -3838,9 +3840,9 @@ 4, 5, 31, + 6, 16, - 29, - 6 + 29 ], "fpr_regs": [ 12, @@ -3848,9 +3850,9 @@ 20, 0 ], - "gpr_occurrences": 4385, + "gpr_occurrences": 4716, "fpr_occurrences": 100, - "gpr_total": 5679, + "gpr_total": 6292, "fpr_total": 106 }, { @@ -3869,9 +3871,9 @@ 22, 14 ], - "gpr_occurrences": 4736, + "gpr_occurrences": 4835, "fpr_occurrences": 352, - "gpr_total": 5925, + "gpr_total": 6206, "fpr_total": 454 }, { @@ -3890,10 +3892,10 @@ 13, 14 ], - "gpr_occurrences": 4439, - "fpr_occurrences": 364, - "gpr_total": 5731, - "fpr_total": 516 + "gpr_occurrences": 4560, + "fpr_occurrences": 367, + "gpr_total": 6063, + "fpr_total": 520 }, { "file": "generated_unit_0186.cpp", @@ -3901,9 +3903,9 @@ 4, 5, 6, + 31, 29, - 16, - 31 + 16 ], "fpr_regs": [ 12, @@ -3911,9 +3913,9 @@ 13, 20 ], - "gpr_occurrences": 3765, + "gpr_occurrences": 3869, "fpr_occurrences": 363, - "gpr_total": 5785, + "gpr_total": 5970, "fpr_total": 507 }, { @@ -3924,7 +3926,7 @@ 31, 5, 16, - 17 + 6 ], "fpr_regs": [ 22, @@ -3932,18 +3934,207 @@ 20, 13 ], - "gpr_occurrences": 4290, + "gpr_occurrences": 4344, "fpr_occurrences": 209, - "gpr_total": 6019, + "gpr_total": 6252, "fpr_total": 299 }, { "file": "generated_unit_0188.cpp", "gpr_regs": [ 4, + 31, 5, 6, + 2, + 29 + ], + "fpr_regs": [ + 12, + 13, + 14, + 15 + ], + "gpr_occurrences": 4555, + "fpr_occurrences": 337, + "gpr_total": 6923, + "fpr_total": 602 + }, + { + "file": "generated_unit_0189.cpp", + "gpr_regs": [ + 4, + 5, + 29, + 6, 31, + 7 + ], + "fpr_regs": [ + 12, + 13, + 14, + 20 + ], + "gpr_occurrences": 3983, + "fpr_occurrences": 1260, + "gpr_total": 5447, + "fpr_total": 2067 + }, + { + "file": "generated_unit_0190.cpp", + "gpr_regs": [ + 4, + 5, + 31, + 29, + 6, + 2 + ], + "fpr_regs": [ + 12, + 13, + 15, + 14 + ], + "gpr_occurrences": 3682, + "fpr_occurrences": 751, + "gpr_total": 5275, + "fpr_total": 1098 + }, + { + "file": "generated_unit_0191.cpp", + "gpr_regs": [ + 4, + 5, + 31, + 16, + 6, + 29 + ], + "fpr_regs": [ + 12, + 13, + 14, + 20 + ], + "gpr_occurrences": 4106, + "fpr_occurrences": 550, + "gpr_total": 5202, + "fpr_total": 686 + }, + { + "file": "generated_unit_0192.cpp", + "gpr_regs": [ + 4, + 5, + 31, + 2, + 29, + 6 + ], + "fpr_regs": [ + 12, + 13, + 20, + 14 + ], + "gpr_occurrences": 3456, + "fpr_occurrences": 1231, + "gpr_total": 4979, + "fpr_total": 1683 + }, + { + "file": "generated_unit_0193.cpp", + "gpr_regs": [ + 4, + 31, + 29, + 5, + 2, + 6 + ], + "fpr_regs": [ + 12, + 13, + 20, + 22 + ], + "gpr_occurrences": 3009, + "fpr_occurrences": 1467, + "gpr_total": 4520, + "fpr_total": 2140 + }, + { + "file": "generated_unit_0194.cpp", + "gpr_regs": [ + 4, + 5, + 31, + 29, + 16, + 2 + ], + "fpr_regs": [ + 12, + 14, + 13, + 20 + ], + "gpr_occurrences": 4252, + "fpr_occurrences": 880, + "gpr_total": 5287, + "fpr_total": 1087 + }, + { + "file": "generated_unit_0195.cpp", + "gpr_regs": [ + 4, + 29, + 5, + 31, + 16, + 2 + ], + "fpr_regs": [ + 12, + 13, + 14, + 15 + ], + "gpr_occurrences": 3383, + "fpr_occurrences": 918, + "gpr_total": 4805, + "fpr_total": 1544 + }, + { + "file": "generated_unit_0196.cpp", + "gpr_regs": [ + 4, + 5, + 31, + 29, + 6, + 2 + ], + "fpr_regs": [ + 12, + 13, + 14, + 20 + ], + "gpr_occurrences": 4509, + "fpr_occurrences": 411, + "gpr_total": 6137, + "fpr_total": 488 + }, + { + "file": "generated_unit_0197.cpp", + "gpr_regs": [ + 4, + 5, + 31, + 6, 29, 16 ], @@ -3953,199 +4144,10 @@ 14, 15 ], - "gpr_occurrences": 3770, - "fpr_occurrences": 333, - "gpr_total": 5652, - "fpr_total": 598 - }, - { - "file": "generated_unit_0189.cpp", - "gpr_regs": [ - 4, - 5, - 29, - 6, - 28, - 31 - ], - "fpr_regs": [ - 12, - 13, - 14, - 20 - ], - "gpr_occurrences": 3686, - "fpr_occurrences": 1254, - "gpr_total": 4900, - "fpr_total": 2061 - }, - { - "file": "generated_unit_0190.cpp", - "gpr_regs": [ - 4, - 5, - 31, - 29, - 16, - 2 - ], - "fpr_regs": [ - 12, - 13, - 15, - 14 - ], - "gpr_occurrences": 3548, - "fpr_occurrences": 751, - "gpr_total": 4974, - "fpr_total": 1098 - }, - { - "file": "generated_unit_0191.cpp", - "gpr_regs": [ - 4, - 5, - 16, - 29, - 31, - 17 - ], - "fpr_regs": [ - 12, - 13, - 14, - 20 - ], - "gpr_occurrences": 3941, - "fpr_occurrences": 550, - "gpr_total": 4975, - "fpr_total": 686 - }, - { - "file": "generated_unit_0192.cpp", - "gpr_regs": [ - 4, - 5, - 31, - 29, - 16, - 17 - ], - "fpr_regs": [ - 12, - 13, - 20, - 14 - ], - "gpr_occurrences": 3281, - "fpr_occurrences": 1220, - "gpr_total": 4414, - "fpr_total": 1672 - }, - { - "file": "generated_unit_0193.cpp", - "gpr_regs": [ - 4, - 29, - 5, - 31, - 16, - 17 - ], - "fpr_regs": [ - 12, - 13, - 20, - 22 - ], - "gpr_occurrences": 2885, - "fpr_occurrences": 1465, - "gpr_total": 4217, - "fpr_total": 2138 - }, - { - "file": "generated_unit_0194.cpp", - "gpr_regs": [ - 4, - 5, - 16, - 31, - 29, - 17 - ], - "fpr_regs": [ - 12, - 14, - 13, - 20 - ], - "gpr_occurrences": 4092, - "fpr_occurrences": 861, - "gpr_total": 5031, - "fpr_total": 1065 - }, - { - "file": "generated_unit_0195.cpp", - "gpr_regs": [ - 4, - 29, - 5, - 16, - 31, - 2 - ], - "fpr_regs": [ - 12, - 13, - 14, - 15 - ], - "gpr_occurrences": 3205, - "fpr_occurrences": 917, - "gpr_total": 4526, - "fpr_total": 1543 - }, - { - "file": "generated_unit_0196.cpp", - "gpr_regs": [ - 4, - 5, - 29, - 31, - 16, - 17 - ], - "fpr_regs": [ - 12, - 13, - 14, - 20 - ], - "gpr_occurrences": 4440, - "fpr_occurrences": 398, - "gpr_total": 5803, - "fpr_total": 475 - }, - { - "file": "generated_unit_0197.cpp", - "gpr_regs": [ - 4, - 5, - 31, - 29, - 16, - 17 - ], - "fpr_regs": [ - 12, - 13, - 14, - 15 - ], - "gpr_occurrences": 4269, - "fpr_occurrences": 447, - "gpr_total": 5464, - "fpr_total": 568 + "gpr_occurrences": 4477, + "fpr_occurrences": 450, + "gpr_total": 5886, + "fpr_total": 571 }, { "file": "generated_unit_0198.cpp", @@ -4155,27 +4157,6 @@ 5, 31, 16, - 17 - ], - "fpr_regs": [ - 12, - 13, - 14, - 20 - ], - "gpr_occurrences": 4157, - "fpr_occurrences": 646, - "gpr_total": 5653, - "fpr_total": 884 - }, - { - "file": "generated_unit_0199.cpp", - "gpr_regs": [ - 4, - 5, - 16, - 29, - 31, 6 ], "fpr_regs": [ @@ -4184,9 +4165,30 @@ 14, 15 ], - "gpr_occurrences": 3996, + "gpr_occurrences": 4233, + "fpr_occurrences": 645, + "gpr_total": 5930, + "fpr_total": 893 + }, + { + "file": "generated_unit_0199.cpp", + "gpr_regs": [ + 4, + 5, + 31, + 29, + 16, + 6 + ], + "fpr_regs": [ + 12, + 13, + 14, + 15 + ], + "gpr_occurrences": 4172, "fpr_occurrences": 530, - "gpr_total": 5410, + "gpr_total": 5667, "fpr_total": 803 }, { @@ -4195,9 +4197,9 @@ 4, 5, 29, - 16, 31, - 17 + 6, + 16 ], "fpr_regs": [ 12, @@ -4205,10 +4207,10 @@ 14, 16 ], - "gpr_occurrences": 3861, - "fpr_occurrences": 658, - "gpr_total": 5305, - "fpr_total": 1123 + "gpr_occurrences": 4034, + "fpr_occurrences": 659, + "gpr_total": 5647, + "fpr_total": 1124 }, { "file": "generated_unit_0201.cpp", @@ -4216,8 +4218,8 @@ 4, 5, 16, - 29, 31, + 29, 17 ], "fpr_regs": [ @@ -4226,9 +4228,9 @@ 20, 14 ], - "gpr_occurrences": 4537, + "gpr_occurrences": 4635, "fpr_occurrences": 242, - "gpr_total": 5880, + "gpr_total": 6101, "fpr_total": 325 }, { @@ -4237,8 +4239,8 @@ 4, 5, 16, - 29, 31, + 29, 17 ], "fpr_regs": [ @@ -4247,10 +4249,10 @@ 14, 30 ], - "gpr_occurrences": 4592, - "fpr_occurrences": 202, - "gpr_total": 5917, - "fpr_total": 349 + "gpr_occurrences": 4751, + "fpr_occurrences": 205, + "gpr_total": 6319, + "fpr_total": 353 }, { "file": "generated_unit_0203.cpp", @@ -4260,7 +4262,7 @@ 29, 31, 16, - 17 + 6 ], "fpr_regs": [ 12, @@ -4268,9 +4270,9 @@ 20, 14 ], - "gpr_occurrences": 3890, + "gpr_occurrences": 3983, "fpr_occurrences": 517, - "gpr_total": 5389, + "gpr_total": 5632, "fpr_total": 657 }, { @@ -4289,20 +4291,20 @@ 14, 15 ], - "gpr_occurrences": 3604, + "gpr_occurrences": 3623, "fpr_occurrences": 1025, - "gpr_total": 4761, + "gpr_total": 4792, "fpr_total": 1304 }, { "file": "generated_unit_0205.cpp", "gpr_regs": [ 4, - 16, 5, + 16, 31, 29, - 2 + 6 ], "fpr_regs": [ 12, @@ -4310,9 +4312,9 @@ 14, 20 ], - "gpr_occurrences": 3698, + "gpr_occurrences": 3762, "fpr_occurrences": 885, - "gpr_total": 4745, + "gpr_total": 4852, "fpr_total": 1016 }, { @@ -4323,7 +4325,7 @@ 29, 6, 31, - 16 + 7 ], "fpr_regs": [ 12, @@ -4331,10 +4333,10 @@ 14, 15 ], - "gpr_occurrences": 4380, - "fpr_occurrences": 194, - "gpr_total": 6303, - "fpr_total": 268 + "gpr_occurrences": 4565, + "fpr_occurrences": 206, + "gpr_total": 6703, + "fpr_total": 280 }, { "file": "generated_unit_0207.cpp", @@ -4352,18 +4354,18 @@ 20, 14 ], - "gpr_occurrences": 3323, - "fpr_occurrences": 873, - "gpr_total": 4866, - "fpr_total": 1404 + "gpr_occurrences": 3533, + "fpr_occurrences": 879, + "gpr_total": 5265, + "fpr_total": 1412 }, { "file": "generated_unit_0208.cpp", "gpr_regs": [ 4, 5, - 29, 6, + 29, 31, 16 ], @@ -4373,9 +4375,9 @@ 20, 22 ], - "gpr_occurrences": 3889, + "gpr_occurrences": 3954, "fpr_occurrences": 758, - "gpr_total": 5034, + "gpr_total": 5152, "fpr_total": 1078 }, { @@ -4385,8 +4387,8 @@ 5, 6, 29, - 22, - 16 + 7, + 31 ], "fpr_regs": [ 12, @@ -4394,10 +4396,10 @@ 14, 15 ], - "gpr_occurrences": 3635, - "fpr_occurrences": 961, - "gpr_total": 4955, - "fpr_total": 1700 + "gpr_occurrences": 3694, + "fpr_occurrences": 963, + "gpr_total": 5161, + "fpr_total": 1702 }, { "file": "generated_unit_0210.cpp", @@ -4405,9 +4407,9 @@ 4, 29, 5, - 16, 31, - 17 + 16, + 6 ], "fpr_regs": [ 12, @@ -4415,13 +4417,34 @@ 14, 20 ], - "gpr_occurrences": 2896, + "gpr_occurrences": 2895, "fpr_occurrences": 1788, - "gpr_total": 3940, + "gpr_total": 4000, "fpr_total": 2514 }, { "file": "generated_unit_0211.cpp", + "gpr_regs": [ + 4, + 5, + 31, + 29, + 6, + 2 + ], + "fpr_regs": [ + 12, + 13, + 14, + 20 + ], + "gpr_occurrences": 4693, + "fpr_occurrences": 338, + "gpr_total": 6653, + "fpr_total": 375 + }, + { + "file": "generated_unit_0212.cpp", "gpr_regs": [ 4, 5, @@ -4430,37 +4453,16 @@ 16, 6 ], - "fpr_regs": [ - 12, - 13, - 20, - 14 - ], - "gpr_occurrences": 4652, - "fpr_occurrences": 324, - "gpr_total": 6208, - "fpr_total": 359 - }, - { - "file": "generated_unit_0212.cpp", - "gpr_regs": [ - 4, - 5, - 29, - 16, - 31, - 17 - ], "fpr_regs": [ 12, 13, 20, 0 ], - "gpr_occurrences": 4233, - "fpr_occurrences": 50, - "gpr_total": 6160, - "fpr_total": 72 + "gpr_occurrences": 4279, + "fpr_occurrences": 61, + "gpr_total": 6372, + "fpr_total": 83 }, { "file": "generated_unit_0213.cpp", @@ -4473,9 +4475,9 @@ 2 ], "fpr_regs": [], - "gpr_occurrences": 4440, + "gpr_occurrences": 4728, "fpr_occurrences": 0, - "gpr_total": 6877, + "gpr_total": 7537, "fpr_total": 0 }, { @@ -4489,9 +4491,9 @@ 31 ], "fpr_regs": [], - "gpr_occurrences": 4058, + "gpr_occurrences": 4378, "fpr_occurrences": 0, - "gpr_total": 6980, + "gpr_total": 7734, "fpr_total": 0 }, { @@ -4510,9 +4512,9 @@ 4, 0 ], - "gpr_occurrences": 4223, + "gpr_occurrences": 4231, "fpr_occurrences": 103, - "gpr_total": 7033, + "gpr_total": 7053, "fpr_total": 290 }, { @@ -4530,9 +4532,9 @@ 12, 14 ], - "gpr_occurrences": 4189, + "gpr_occurrences": 4413, "fpr_occurrences": 11, - "gpr_total": 6887, + "gpr_total": 7325, "fpr_total": 11 }, { @@ -4549,9 +4551,9 @@ 12, 13 ], - "gpr_occurrences": 4810, + "gpr_occurrences": 4978, "fpr_occurrences": 32, - "gpr_total": 6737, + "gpr_total": 7073, "fpr_total": 32 }, { @@ -4569,9 +4571,9 @@ 13, 14 ], - "gpr_occurrences": 4809, + "gpr_occurrences": 4995, "fpr_occurrences": 74, - "gpr_total": 6884, + "gpr_total": 7256, "fpr_total": 74 }, { @@ -4589,9 +4591,9 @@ 13, 24 ], - "gpr_occurrences": 3674, + "gpr_occurrences": 3794, "fpr_occurrences": 5, - "gpr_total": 5171, + "gpr_total": 5411, "fpr_total": 5 }, { diff --git a/profiles/vcs/host/vcs_resident_regions.cpp b/profiles/vcs/host/vcs_resident_regions.cpp new file mode 100644 index 0000000..8298c15 --- /dev/null +++ b/profiles/vcs/host/vcs_resident_regions.cpp @@ -0,0 +1,4147 @@ +#include "vcs_resident_regions.hpp" + +#include +#include +#include +#include + +namespace psprecomp { + +void vcs_resident_region_08806634(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r31) noexcept { + std::uint32_t jump_target = 0u; + goto RL_08806634; +RL_08806634: + r5 = (aot_mem.aot_direct_load32(r4 + static_cast(8))); + r4 = (aot_mem.aot_direct_load32(r4 + static_cast(12))); + r4 = (r5 - r4); + r5 = (static_cast(static_cast(r4) >> 3u)); + r5 = (r5 >> 29u); + r2 = (r4 + r5); + jump_target = r31; + r2 = (static_cast(static_cast(r2) >> 3u)); + pc = jump_target; + return; +} + +void vcs_resident_region_08806654(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r6, std::uint32_t &r7, std::uint32_t &r8, std::uint32_t &r31) noexcept { + std::uint32_t jump_target = 0u; + goto RL_08806654; +RL_08806654: + r7 = (r5 | 0u); + r6 = (aot_mem.aot_direct_load32(r4 + static_cast(8))); + { const bool branch_taken = static_cast(r7) < 0; + r5 = (r7 << 3u); + if (branch_taken) { + goto RL_088066AC; + } + goto RL_08806664; + } +RL_08806664: + r7 = (r6 | 0u); + r6 = (aot_mem.aot_direct_load32(r4 + static_cast(12))); + r6 = (r6 + r5); + r7 = (r7 < r6 ? 1u : 0u); + { const bool branch_taken = r7 == 0u; + r7 = (r4 + static_cast(8)); + if (branch_taken) { + goto RL_088066A4; + } + goto RL_0880667C; + } +RL_0880667C: + r6 = (aot_mem.aot_direct_load32(r7 + static_cast(0))); + goto RL_08806680; +RL_08806680: + r8 = (r6 + static_cast(8)); + aot_mem.aot_direct_store32(r7 + static_cast(0), r8); + aot_mem.aot_direct_store32(r6 + static_cast(0), 0u); + r6 = (aot_mem.aot_direct_load32(r4 + static_cast(12))); + r8 = (aot_mem.aot_direct_load32(r4 + static_cast(8))); + r6 = (r6 + r5); + r8 = (r8 < r6 ? 1u : 0u); + if (r8 != 0u) { + r6 = (aot_mem.aot_direct_load32(r7 + static_cast(0))); + goto RL_08806680; + } + goto RL_088066A4; +RL_088066A4: + { const bool branch_taken = 0u == 0u; + aot_mem.aot_direct_store32(r4 + static_cast(8), r6); + if (branch_taken) { + goto RL_088066B8; + } + goto RL_088066AC; + } +RL_088066AC: + r5 = (r5 + static_cast(8)); + r5 = (r6 + r5); + aot_mem.aot_direct_store32(r4 + static_cast(8), r5); + goto RL_088066B8; +RL_088066B8: + jump_target = r31; + // nop + pc = jump_target; + return; +} + +void vcs_resident_region_0880682C(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r6, std::uint32_t &r7, std::uint32_t &r16, std::uint32_t &r29, std::uint32_t &r31) noexcept { + std::uint32_t jump_target = 0u; + goto RL_0880682C; +RL_08806308: + r6 = (static_cast(r5) < -9999 ? 1u : 0u); + { const bool branch_taken = r6 == 0u; + // nop + if (branch_taken) { + goto RL_08806338; + } + goto RL_08806314; + } +RL_08806314: + r6 = (r5 | 0u); + r7 = (static_cast(r6) < -10000 ? 1u : 0u); + if (r7 == 0u) { + r6 = (static_cast(r6) < -9999 ? 1u : 0u); + goto RL_08806348; + } + goto RL_08806324; +RL_08806324: + r6 = (static_cast(r6) < -10001 ? 1u : 0u); + if (r6 != 0u) { + r4 = (aot_mem.aot_direct_load32(r4 + static_cast(12))); + goto RL_0880635C; + } + goto RL_08806330; +RL_08806330: + { const bool branch_taken = 0u == 0u; + r2 = (r4 + static_cast(64)); + if (branch_taken) { + goto RL_08806394; + } + goto RL_08806338; + } +RL_08806338: + r2 = (aot_mem.aot_direct_load32(r4 + static_cast(8))); + r4 = (r5 << 3u); + { const bool branch_taken = 0u == 0u; + r2 = (r2 + r4); + if (branch_taken) { + goto RL_08806394; + } + goto RL_08806348; + } +RL_08806348: + if (r6 == 0u) { + r4 = (aot_mem.aot_direct_load32(r4 + static_cast(12))); + goto RL_0880635C; + } + goto RL_08806350; +RL_08806350: + r2 = (aot_mem.aot_direct_load32(r4 + static_cast(16))); + { const bool branch_taken = 0u == 0u; + r2 = (r2 + static_cast(44)); + if (branch_taken) { + goto RL_08806394; + } + goto RL_0880635C; + } +RL_0880635C: + r6 = (0u + static_cast(-10001)); + r4 = (r4 + static_cast(-8)); + r7 = (aot_mem.aot_direct_load32(r4 + static_cast(4))); + r5 = (r6 - r5); + r6 = (aot_mem.aot_direct_load8(r7 + static_cast(7))); + r6 = (static_cast(r6) < static_cast(r5) ? 1u : 0u); + { const bool branch_taken = r6 != 0u; + r2 = (0u | 0u); + if (branch_taken) { + goto RL_0880638C; + } + goto RL_0880637C; + } +RL_0880637C: + r4 = (aot_mem.aot_direct_load32(r4 + static_cast(4))); + r5 = (r5 << 3u); + r2 = (r4 + r5); + r2 = (r2 + static_cast(8)); + goto RL_0880638C; +RL_0880638C: + { const bool branch_taken = 0u == 0u; + // nop + if (branch_taken) { + goto RL_08806394; + } + goto RL_08806394; + } +RL_08806394: + jump_target = r31; + // nop + pc = jump_target; + return; +RL_0880639C: + r29 = (r29 + static_cast(-16)); + r6 = (r5 | 0u); + r5 = (r4 | 0u); + aot_mem.aot_direct_store32(r29 + static_cast(0), r31); + { const bool branch_taken = static_cast(r6) <= 0; + r4 = (r6 | 0u); + if (branch_taken) { + goto RL_088063C8; + } + goto RL_088063B4; + } +RL_088063B4: + r5 = (aot_mem.aot_direct_load32(r5 + static_cast(12))); + r4 = (r4 << 3u); + r2 = (r5 + r4); + { const bool branch_taken = 0u == 0u; + r2 = (r2 + static_cast(-8)); + if (branch_taken) { + goto RL_088063E0; + } + goto RL_088063C8; + } +RL_088063C8: + r6 = (r4 | 0u); + r4 = (r5 | 0u); + r31 = (0x088063D8u); + r5 = (r6 | 0u); + goto RL_08806308; +RL_088063E0: + r31 = (aot_mem.aot_direct_load32(r29 + static_cast(0))); + jump_target = r31; + r29 = (r29 + static_cast(16)); + pc = jump_target; + return; +RL_0880682C: + r29 = (r29 + static_cast(-16)); + aot_mem.aot_direct_store32(r29 + static_cast(0), r16); + r16 = (r4 | 0u); + r4 = (r5 | 0u); + aot_mem.aot_direct_store32(r29 + static_cast(4), r31); + r5 = (r4 | 0u); + r31 = (0x0880684Cu); + r4 = (r16 | 0u); + goto RL_0880639C; +} + +void vcs_resident_region_08806888(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r6, std::uint32_t &r7, std::uint32_t &r29, std::uint32_t &r31) noexcept { + std::uint32_t jump_target = 0u; + goto RL_08806888; +RL_08806308: + r6 = (static_cast(r5) < -9999 ? 1u : 0u); + { const bool branch_taken = r6 == 0u; + // nop + if (branch_taken) { + goto RL_08806338; + } + goto RL_08806314; + } +RL_08806314: + r6 = (r5 | 0u); + r7 = (static_cast(r6) < -10000 ? 1u : 0u); + if (r7 == 0u) { + r6 = (static_cast(r6) < -9999 ? 1u : 0u); + goto RL_08806348; + } + goto RL_08806324; +RL_08806324: + r6 = (static_cast(r6) < -10001 ? 1u : 0u); + if (r6 != 0u) { + r4 = (aot_mem.aot_direct_load32(r4 + static_cast(12))); + goto RL_0880635C; + } + goto RL_08806330; +RL_08806330: + { const bool branch_taken = 0u == 0u; + r2 = (r4 + static_cast(64)); + if (branch_taken) { + goto RL_08806394; + } + goto RL_08806338; + } +RL_08806338: + r2 = (aot_mem.aot_direct_load32(r4 + static_cast(8))); + r4 = (r5 << 3u); + { const bool branch_taken = 0u == 0u; + r2 = (r2 + r4); + if (branch_taken) { + goto RL_08806394; + } + goto RL_08806348; + } +RL_08806348: + if (r6 == 0u) { + r4 = (aot_mem.aot_direct_load32(r4 + static_cast(12))); + goto RL_0880635C; + } + goto RL_08806350; +RL_08806350: + r2 = (aot_mem.aot_direct_load32(r4 + static_cast(16))); + { const bool branch_taken = 0u == 0u; + r2 = (r2 + static_cast(44)); + if (branch_taken) { + goto RL_08806394; + } + goto RL_0880635C; + } +RL_0880635C: + r6 = (0u + static_cast(-10001)); + r4 = (r4 + static_cast(-8)); + r7 = (aot_mem.aot_direct_load32(r4 + static_cast(4))); + r5 = (r6 - r5); + r6 = (aot_mem.aot_direct_load8(r7 + static_cast(7))); + r6 = (static_cast(r6) < static_cast(r5) ? 1u : 0u); + { const bool branch_taken = r6 != 0u; + r2 = (0u | 0u); + if (branch_taken) { + goto RL_0880638C; + } + goto RL_0880637C; + } +RL_0880637C: + r4 = (aot_mem.aot_direct_load32(r4 + static_cast(4))); + r5 = (r5 << 3u); + r2 = (r4 + r5); + r2 = (r2 + static_cast(8)); + goto RL_0880638C; +RL_0880638C: + { const bool branch_taken = 0u == 0u; + // nop + if (branch_taken) { + goto RL_08806394; + } + goto RL_08806394; + } +RL_08806394: + jump_target = r31; + // nop + pc = jump_target; + return; +RL_088063EC: + r29 = (r29 + static_cast(-16)); + r6 = (r5 | 0u); + r5 = (r4 | 0u); + aot_mem.aot_direct_store32(r29 + static_cast(0), r31); + { const bool branch_taken = static_cast(r6) <= 0; + r4 = (r6 | 0u); + if (branch_taken) { + goto RL_08806434; + } + goto RL_08806404; + } +RL_08806404: + r6 = (aot_mem.aot_direct_load32(r5 + static_cast(12))); + r4 = (r4 << 3u); + r2 = (r6 + r4); + r4 = (aot_mem.aot_direct_load32(r5 + static_cast(8))); + r2 = (r2 + static_cast(-8)); + r4 = (r2 < r4 ? 1u : 0u); + { const bool branch_taken = r4 != 0u; + // nop + if (branch_taken) { + goto RL_0880642C; + } + goto RL_08806424; + } +RL_08806424: + { const bool branch_taken = 0u == 0u; + r2 = (0u | 0u); + if (branch_taken) { + goto RL_08806444; + } + goto RL_0880642C; + } +RL_0880642C: + { const bool branch_taken = 0u == 0u; + // nop + if (branch_taken) { + goto RL_08806444; + } + goto RL_08806434; + } +RL_08806434: + r6 = (r4 | 0u); + r4 = (r5 | 0u); + r31 = (0x08806444u); + r5 = (r6 | 0u); + goto RL_08806308; +RL_08806444: + r31 = (aot_mem.aot_direct_load32(r29 + static_cast(0))); + jump_target = r31; + r29 = (r29 + static_cast(16)); + pc = jump_target; + return; +RL_08806888: + r29 = (r29 + static_cast(-16)); + aot_mem.aot_direct_store32(r29 + static_cast(0), r31); + r31 = (0x08806898u); + // nop + goto RL_088063EC; +} + +void vcs_resident_region_0880692C(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r6, std::uint32_t &r7, std::uint32_t &r16, std::uint32_t &r29, std::uint32_t &r31) noexcept { + std::uint32_t jump_target = 0u; + goto RL_0880692C; +RL_08806308: + r6 = (static_cast(r5) < -9999 ? 1u : 0u); + { const bool branch_taken = r6 == 0u; + // nop + if (branch_taken) { + goto RL_08806338; + } + goto RL_08806314; + } +RL_08806314: + r6 = (r5 | 0u); + r7 = (static_cast(r6) < -10000 ? 1u : 0u); + if (r7 == 0u) { + r6 = (static_cast(r6) < -9999 ? 1u : 0u); + goto RL_08806348; + } + goto RL_08806324; +RL_08806324: + r6 = (static_cast(r6) < -10001 ? 1u : 0u); + if (r6 != 0u) { + r4 = (aot_mem.aot_direct_load32(r4 + static_cast(12))); + goto RL_0880635C; + } + goto RL_08806330; +RL_08806330: + { const bool branch_taken = 0u == 0u; + r2 = (r4 + static_cast(64)); + if (branch_taken) { + goto RL_08806394; + } + goto RL_08806338; + } +RL_08806338: + r2 = (aot_mem.aot_direct_load32(r4 + static_cast(8))); + r4 = (r5 << 3u); + { const bool branch_taken = 0u == 0u; + r2 = (r2 + r4); + if (branch_taken) { + goto RL_08806394; + } + goto RL_08806348; + } +RL_08806348: + if (r6 == 0u) { + r4 = (aot_mem.aot_direct_load32(r4 + static_cast(12))); + goto RL_0880635C; + } + goto RL_08806350; +RL_08806350: + r2 = (aot_mem.aot_direct_load32(r4 + static_cast(16))); + { const bool branch_taken = 0u == 0u; + r2 = (r2 + static_cast(44)); + if (branch_taken) { + goto RL_08806394; + } + goto RL_0880635C; + } +RL_0880635C: + r6 = (0u + static_cast(-10001)); + r4 = (r4 + static_cast(-8)); + r7 = (aot_mem.aot_direct_load32(r4 + static_cast(4))); + r5 = (r6 - r5); + r6 = (aot_mem.aot_direct_load8(r7 + static_cast(7))); + r6 = (static_cast(r6) < static_cast(r5) ? 1u : 0u); + { const bool branch_taken = r6 != 0u; + r2 = (0u | 0u); + if (branch_taken) { + goto RL_0880638C; + } + goto RL_0880637C; + } +RL_0880637C: + r4 = (aot_mem.aot_direct_load32(r4 + static_cast(4))); + r5 = (r5 << 3u); + r2 = (r4 + r5); + r2 = (r2 + static_cast(8)); + goto RL_0880638C; +RL_0880638C: + { const bool branch_taken = 0u == 0u; + // nop + if (branch_taken) { + goto RL_08806394; + } + goto RL_08806394; + } +RL_08806394: + jump_target = r31; + // nop + pc = jump_target; + return; +RL_088063EC: + r29 = (r29 + static_cast(-16)); + r6 = (r5 | 0u); + r5 = (r4 | 0u); + aot_mem.aot_direct_store32(r29 + static_cast(0), r31); + { const bool branch_taken = static_cast(r6) <= 0; + r4 = (r6 | 0u); + if (branch_taken) { + goto RL_08806434; + } + goto RL_08806404; + } +RL_08806404: + r6 = (aot_mem.aot_direct_load32(r5 + static_cast(12))); + r4 = (r4 << 3u); + r2 = (r6 + r4); + r4 = (aot_mem.aot_direct_load32(r5 + static_cast(8))); + r2 = (r2 + static_cast(-8)); + r4 = (r2 < r4 ? 1u : 0u); + { const bool branch_taken = r4 != 0u; + // nop + if (branch_taken) { + goto RL_0880642C; + } + goto RL_08806424; + } +RL_08806424: + { const bool branch_taken = 0u == 0u; + r2 = (0u | 0u); + if (branch_taken) { + goto RL_08806444; + } + goto RL_0880642C; + } +RL_0880642C: + { const bool branch_taken = 0u == 0u; + // nop + if (branch_taken) { + goto RL_08806444; + } + goto RL_08806434; + } +RL_08806434: + r6 = (r4 | 0u); + r4 = (r5 | 0u); + r31 = (0x08806444u); + r5 = (r6 | 0u); + goto RL_08806308; +RL_08806444: + r31 = (aot_mem.aot_direct_load32(r29 + static_cast(0))); + jump_target = r31; + r29 = (r29 + static_cast(16)); + pc = jump_target; + return; +RL_0880692C: + r29 = (r29 + static_cast(-16)); + aot_mem.aot_direct_store32(r29 + static_cast(8), r16); + aot_mem.aot_direct_store32(r29 + static_cast(12), r31); + r31 = (0x08806940u); + // nop + goto RL_088063EC; +} + +void vcs_resident_region_08806A88(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r6, std::uint32_t &r7, std::uint32_t &r29, std::uint32_t &r31) noexcept { + std::uint32_t jump_target = 0u; + goto RL_08806A88; +RL_08806308: + r6 = (static_cast(r5) < -9999 ? 1u : 0u); + { const bool branch_taken = r6 == 0u; + // nop + if (branch_taken) { + goto RL_08806338; + } + goto RL_08806314; + } +RL_08806314: + r6 = (r5 | 0u); + r7 = (static_cast(r6) < -10000 ? 1u : 0u); + if (r7 == 0u) { + r6 = (static_cast(r6) < -9999 ? 1u : 0u); + goto RL_08806348; + } + goto RL_08806324; +RL_08806324: + r6 = (static_cast(r6) < -10001 ? 1u : 0u); + if (r6 != 0u) { + r4 = (aot_mem.aot_direct_load32(r4 + static_cast(12))); + goto RL_0880635C; + } + goto RL_08806330; +RL_08806330: + { const bool branch_taken = 0u == 0u; + r2 = (r4 + static_cast(64)); + if (branch_taken) { + goto RL_08806394; + } + goto RL_08806338; + } +RL_08806338: + r2 = (aot_mem.aot_direct_load32(r4 + static_cast(8))); + r4 = (r5 << 3u); + { const bool branch_taken = 0u == 0u; + r2 = (r2 + r4); + if (branch_taken) { + goto RL_08806394; + } + goto RL_08806348; + } +RL_08806348: + if (r6 == 0u) { + r4 = (aot_mem.aot_direct_load32(r4 + static_cast(12))); + goto RL_0880635C; + } + goto RL_08806350; +RL_08806350: + r2 = (aot_mem.aot_direct_load32(r4 + static_cast(16))); + { const bool branch_taken = 0u == 0u; + r2 = (r2 + static_cast(44)); + if (branch_taken) { + goto RL_08806394; + } + goto RL_0880635C; + } +RL_0880635C: + r6 = (0u + static_cast(-10001)); + r4 = (r4 + static_cast(-8)); + r7 = (aot_mem.aot_direct_load32(r4 + static_cast(4))); + r5 = (r6 - r5); + r6 = (aot_mem.aot_direct_load8(r7 + static_cast(7))); + r6 = (static_cast(r6) < static_cast(r5) ? 1u : 0u); + { const bool branch_taken = r6 != 0u; + r2 = (0u | 0u); + if (branch_taken) { + goto RL_0880638C; + } + goto RL_0880637C; + } +RL_0880637C: + r4 = (aot_mem.aot_direct_load32(r4 + static_cast(4))); + r5 = (r5 << 3u); + r2 = (r4 + r5); + r2 = (r2 + static_cast(8)); + goto RL_0880638C; +RL_0880638C: + { const bool branch_taken = 0u == 0u; + // nop + if (branch_taken) { + goto RL_08806394; + } + goto RL_08806394; + } +RL_08806394: + jump_target = r31; + // nop + pc = jump_target; + return; +RL_088063EC: + r29 = (r29 + static_cast(-16)); + r6 = (r5 | 0u); + r5 = (r4 | 0u); + aot_mem.aot_direct_store32(r29 + static_cast(0), r31); + { const bool branch_taken = static_cast(r6) <= 0; + r4 = (r6 | 0u); + if (branch_taken) { + goto RL_08806434; + } + goto RL_08806404; + } +RL_08806404: + r6 = (aot_mem.aot_direct_load32(r5 + static_cast(12))); + r4 = (r4 << 3u); + r2 = (r6 + r4); + r4 = (aot_mem.aot_direct_load32(r5 + static_cast(8))); + r2 = (r2 + static_cast(-8)); + r4 = (r2 < r4 ? 1u : 0u); + { const bool branch_taken = r4 != 0u; + // nop + if (branch_taken) { + goto RL_0880642C; + } + goto RL_08806424; + } +RL_08806424: + { const bool branch_taken = 0u == 0u; + r2 = (0u | 0u); + if (branch_taken) { + goto RL_08806444; + } + goto RL_0880642C; + } +RL_0880642C: + { const bool branch_taken = 0u == 0u; + // nop + if (branch_taken) { + goto RL_08806444; + } + goto RL_08806434; + } +RL_08806434: + r6 = (r4 | 0u); + r4 = (r5 | 0u); + r31 = (0x08806444u); + r5 = (r6 | 0u); + goto RL_08806308; +RL_08806444: + r31 = (aot_mem.aot_direct_load32(r29 + static_cast(0))); + jump_target = r31; + r29 = (r29 + static_cast(16)); + pc = jump_target; + return; +RL_08806A88: + r29 = (r29 + static_cast(-16)); + aot_mem.aot_direct_store32(r29 + static_cast(8), r31); + r31 = (0x08806A98u); + // nop + goto RL_088063EC; +} + +void vcs_resident_region_08806AE0(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r6, std::uint32_t &r7, std::uint32_t &r29, std::uint32_t &r31) noexcept { + std::uint32_t jump_target = 0u; + goto RL_08806AE0; +RL_08806308: + r6 = (static_cast(r5) < -9999 ? 1u : 0u); + { const bool branch_taken = r6 == 0u; + // nop + if (branch_taken) { + goto RL_08806338; + } + goto RL_08806314; + } +RL_08806314: + r6 = (r5 | 0u); + r7 = (static_cast(r6) < -10000 ? 1u : 0u); + if (r7 == 0u) { + r6 = (static_cast(r6) < -9999 ? 1u : 0u); + goto RL_08806348; + } + goto RL_08806324; +RL_08806324: + r6 = (static_cast(r6) < -10001 ? 1u : 0u); + if (r6 != 0u) { + r4 = (aot_mem.aot_direct_load32(r4 + static_cast(12))); + goto RL_0880635C; + } + goto RL_08806330; +RL_08806330: + { const bool branch_taken = 0u == 0u; + r2 = (r4 + static_cast(64)); + if (branch_taken) { + goto RL_08806394; + } + goto RL_08806338; + } +RL_08806338: + r2 = (aot_mem.aot_direct_load32(r4 + static_cast(8))); + r4 = (r5 << 3u); + { const bool branch_taken = 0u == 0u; + r2 = (r2 + r4); + if (branch_taken) { + goto RL_08806394; + } + goto RL_08806348; + } +RL_08806348: + if (r6 == 0u) { + r4 = (aot_mem.aot_direct_load32(r4 + static_cast(12))); + goto RL_0880635C; + } + goto RL_08806350; +RL_08806350: + r2 = (aot_mem.aot_direct_load32(r4 + static_cast(16))); + { const bool branch_taken = 0u == 0u; + r2 = (r2 + static_cast(44)); + if (branch_taken) { + goto RL_08806394; + } + goto RL_0880635C; + } +RL_0880635C: + r6 = (0u + static_cast(-10001)); + r4 = (r4 + static_cast(-8)); + r7 = (aot_mem.aot_direct_load32(r4 + static_cast(4))); + r5 = (r6 - r5); + r6 = (aot_mem.aot_direct_load8(r7 + static_cast(7))); + r6 = (static_cast(r6) < static_cast(r5) ? 1u : 0u); + { const bool branch_taken = r6 != 0u; + r2 = (0u | 0u); + if (branch_taken) { + goto RL_0880638C; + } + goto RL_0880637C; + } +RL_0880637C: + r4 = (aot_mem.aot_direct_load32(r4 + static_cast(4))); + r5 = (r5 << 3u); + r2 = (r4 + r5); + r2 = (r2 + static_cast(8)); + goto RL_0880638C; +RL_0880638C: + { const bool branch_taken = 0u == 0u; + // nop + if (branch_taken) { + goto RL_08806394; + } + goto RL_08806394; + } +RL_08806394: + jump_target = r31; + // nop + pc = jump_target; + return; +RL_088063EC: + r29 = (r29 + static_cast(-16)); + r6 = (r5 | 0u); + r5 = (r4 | 0u); + aot_mem.aot_direct_store32(r29 + static_cast(0), r31); + { const bool branch_taken = static_cast(r6) <= 0; + r4 = (r6 | 0u); + if (branch_taken) { + goto RL_08806434; + } + goto RL_08806404; + } +RL_08806404: + r6 = (aot_mem.aot_direct_load32(r5 + static_cast(12))); + r4 = (r4 << 3u); + r2 = (r6 + r4); + r4 = (aot_mem.aot_direct_load32(r5 + static_cast(8))); + r2 = (r2 + static_cast(-8)); + r4 = (r2 < r4 ? 1u : 0u); + { const bool branch_taken = r4 != 0u; + // nop + if (branch_taken) { + goto RL_0880642C; + } + goto RL_08806424; + } +RL_08806424: + { const bool branch_taken = 0u == 0u; + r2 = (0u | 0u); + if (branch_taken) { + goto RL_08806444; + } + goto RL_0880642C; + } +RL_0880642C: + { const bool branch_taken = 0u == 0u; + // nop + if (branch_taken) { + goto RL_08806444; + } + goto RL_08806434; + } +RL_08806434: + r6 = (r4 | 0u); + r4 = (r5 | 0u); + r31 = (0x08806444u); + r5 = (r6 | 0u); + goto RL_08806308; +RL_08806444: + r31 = (aot_mem.aot_direct_load32(r29 + static_cast(0))); + jump_target = r31; + r29 = (r29 + static_cast(16)); + pc = jump_target; + return; +RL_08806AE0: + r29 = (r29 + static_cast(-16)); + aot_mem.aot_direct_store32(r29 + static_cast(0), r31); + r31 = (0x08806AF0u); + // nop + goto RL_088063EC; +} + +void vcs_resident_region_08806DC0(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r6, std::uint32_t &r31, float &f12) noexcept { + std::uint32_t jump_target = 0u; + goto RL_08806DC0; +RL_08806DC0: + r5 = (aot_mem.aot_direct_load32(r4 + static_cast(8))); + r6 = (0u | 3u); + aot_mem.aot_direct_store32(r5 + static_cast(0), r6); + aot_mem.aot_direct_store32(r5 + static_cast(4), std::bit_cast(f12)); + r5 = (aot_mem.aot_direct_load32(r4 + static_cast(8))); + r5 = (r5 + static_cast(8)); + jump_target = r31; + aot_mem.aot_direct_store32(r4 + static_cast(8), r5); + pc = jump_target; + return; +} + +void vcs_resident_region_08807098(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r6, std::uint32_t &r7, std::uint32_t &r31) noexcept { + std::uint32_t jump_target = 0u; + goto RL_08807098; +RL_08807098: + r6 = (aot_mem.aot_direct_load32(r4 + static_cast(8))); + r7 = (0u | 1u); + r5 = (0u < r5 ? 1u : 0u); + aot_mem.aot_direct_store32(r6 + static_cast(0), r7); + aot_mem.aot_direct_store32(r6 + static_cast(4), r5); + r5 = (aot_mem.aot_direct_load32(r4 + static_cast(8))); + r5 = (r5 + static_cast(8)); + jump_target = r31; + aot_mem.aot_direct_store32(r4 + static_cast(8), r5); + pc = jump_target; + return; +} + +void vcs_resident_region_088073CC(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r6, std::uint32_t &r7, std::uint32_t &r16, std::uint32_t &r29, std::uint32_t &r31) noexcept { + std::uint32_t jump_target = 0u; + goto RL_088073CC; +RL_08806308: + r6 = (static_cast(r5) < -9999 ? 1u : 0u); + { const bool branch_taken = r6 == 0u; + // nop + if (branch_taken) { + goto RL_08806338; + } + goto RL_08806314; + } +RL_08806314: + r6 = (r5 | 0u); + r7 = (static_cast(r6) < -10000 ? 1u : 0u); + if (r7 == 0u) { + r6 = (static_cast(r6) < -9999 ? 1u : 0u); + goto RL_08806348; + } + goto RL_08806324; +RL_08806324: + r6 = (static_cast(r6) < -10001 ? 1u : 0u); + if (r6 != 0u) { + r4 = (aot_mem.aot_direct_load32(r4 + static_cast(12))); + goto RL_0880635C; + } + goto RL_08806330; +RL_08806330: + { const bool branch_taken = 0u == 0u; + r2 = (r4 + static_cast(64)); + if (branch_taken) { + goto RL_08806394; + } + goto RL_08806338; + } +RL_08806338: + r2 = (aot_mem.aot_direct_load32(r4 + static_cast(8))); + r4 = (r5 << 3u); + { const bool branch_taken = 0u == 0u; + r2 = (r2 + r4); + if (branch_taken) { + goto RL_08806394; + } + goto RL_08806348; + } +RL_08806348: + if (r6 == 0u) { + r4 = (aot_mem.aot_direct_load32(r4 + static_cast(12))); + goto RL_0880635C; + } + goto RL_08806350; +RL_08806350: + r2 = (aot_mem.aot_direct_load32(r4 + static_cast(16))); + { const bool branch_taken = 0u == 0u; + r2 = (r2 + static_cast(44)); + if (branch_taken) { + goto RL_08806394; + } + goto RL_0880635C; + } +RL_0880635C: + r6 = (0u + static_cast(-10001)); + r4 = (r4 + static_cast(-8)); + r7 = (aot_mem.aot_direct_load32(r4 + static_cast(4))); + r5 = (r6 - r5); + r6 = (aot_mem.aot_direct_load8(r7 + static_cast(7))); + r6 = (static_cast(r6) < static_cast(r5) ? 1u : 0u); + { const bool branch_taken = r6 != 0u; + r2 = (0u | 0u); + if (branch_taken) { + goto RL_0880638C; + } + goto RL_0880637C; + } +RL_0880637C: + r4 = (aot_mem.aot_direct_load32(r4 + static_cast(4))); + r5 = (r5 << 3u); + r2 = (r4 + r5); + r2 = (r2 + static_cast(8)); + goto RL_0880638C; +RL_0880638C: + { const bool branch_taken = 0u == 0u; + // nop + if (branch_taken) { + goto RL_08806394; + } + goto RL_08806394; + } +RL_08806394: + jump_target = r31; + // nop + pc = jump_target; + return; +RL_0880639C: + r29 = (r29 + static_cast(-16)); + r6 = (r5 | 0u); + r5 = (r4 | 0u); + aot_mem.aot_direct_store32(r29 + static_cast(0), r31); + { const bool branch_taken = static_cast(r6) <= 0; + r4 = (r6 | 0u); + if (branch_taken) { + goto RL_088063C8; + } + goto RL_088063B4; + } +RL_088063B4: + r5 = (aot_mem.aot_direct_load32(r5 + static_cast(12))); + r4 = (r4 << 3u); + r2 = (r5 + r4); + { const bool branch_taken = 0u == 0u; + r2 = (r2 + static_cast(-8)); + if (branch_taken) { + goto RL_088063E0; + } + goto RL_088063C8; + } +RL_088063C8: + r6 = (r4 | 0u); + r4 = (r5 | 0u); + r31 = (0x088063D8u); + r5 = (r6 | 0u); + goto RL_08806308; +RL_088063E0: + r31 = (aot_mem.aot_direct_load32(r29 + static_cast(0))); + jump_target = r31; + r29 = (r29 + static_cast(16)); + pc = jump_target; + return; +RL_088073CC: + r29 = (r29 + static_cast(-16)); + aot_mem.aot_direct_store32(r29 + static_cast(0), r16); + aot_mem.aot_direct_store32(r29 + static_cast(4), r31); + r31 = (0x088073E0u); + r16 = (r4 | 0u); + goto RL_0880639C; +} + +void vcs_resident_region_0880A400(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r28, std::uint32_t &r31) noexcept { + std::uint32_t jump_target = 0u; + goto RL_0880A400; +RL_0880A400: + r4 = (r5 + r5); + r4 = (r5 + r4); + r5 = (aot_mem.aot_direct_load32(r28 + static_cast(-16328))); + r4 = (r4 << 2u); + r4 = (r5 + r4); + jump_target = r31; + r2 = (aot_mem.aot_direct_load32(r4 + static_cast(8))); + pc = jump_target; + return; +} + +void vcs_resident_region_088305D8(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r31, float &f12, float &f13, float &f14) noexcept { + std::uint32_t jump_target = 0u; + goto RL_088305D8; +RL_088305D8: + { const std::uint32_t aot_run_words[3]{std::bit_cast(f12), std::bit_cast(f13), std::bit_cast(f14)}; + aot_mem.aot_direct_store32_block(r4 + static_cast(0), aot_run_words); } + jump_target = r31; + r2 = (r4 | 0u); + pc = jump_target; + return; +} + +void vcs_resident_region_088305EC(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r31, float &f12) noexcept { + std::uint32_t jump_target = 0u; + goto RL_088305EC; +RL_088305EC: + f12 = std::bit_cast(aot_mem.aot_direct_load32(r5 + static_cast(0))); + r2 = (r4 | 0u); + aot_mem.aot_direct_store32(r4 + static_cast(0), std::bit_cast(f12)); + f12 = std::bit_cast(aot_mem.aot_direct_load32(r5 + static_cast(4))); + aot_mem.aot_direct_store32(r4 + static_cast(4), std::bit_cast(f12)); + f12 = std::bit_cast(aot_mem.aot_direct_load32(r5 + static_cast(8))); + jump_target = r31; + aot_mem.aot_direct_store32(r4 + static_cast(8), std::bit_cast(f12)); + pc = jump_target; + return; +} + +void vcs_resident_region_0883079C(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r31) noexcept { + std::uint32_t jump_target = 0u; + goto RL_0883079C; +RL_0883079C: + jump_target = r31; + r2 = (r4 + static_cast(16)); + pc = jump_target; + return; +} + +void vcs_resident_region_088307E0(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r31) noexcept { + std::uint32_t jump_target = 0u; + goto RL_088307E0; +RL_088307E0: + jump_target = r31; + r2 = (r4 + static_cast(48)); + pc = jump_target; + return; +} + +void vcs_resident_region_08830934(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r31) noexcept { + std::uint32_t jump_target = 0u; + goto RL_08830934; +RL_08830934: + r4 = (aot_mem.aot_direct_load32(r4 + static_cast(72))); + r2 = (r4 & 496u); + jump_target = r31; + r2 = (r2 >> 4u); + pc = jump_target; + return; +} + +void vcs_resident_region_08830A20(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r31) noexcept { + std::uint32_t jump_target = 0u; + goto RL_08830A20; +RL_08830A20: + jump_target = r31; + r2 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(r4 + static_cast(86)))))); + pc = jump_target; + return; +} + +void vcs_resident_region_08830A50(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r31) noexcept { + std::uint32_t jump_target = 0u; + goto RL_08830A50; +RL_08830A50: + jump_target = r31; + r2 = (r4 | 0u); + pc = jump_target; + return; +} + +void vcs_resident_region_08830B10(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r31) noexcept { + std::uint32_t jump_target = 0u; + goto RL_08830B10; +RL_08830B10: + jump_target = r31; + r2 = (r4 + static_cast(320)); + pc = jump_target; + return; +} + +void vcs_resident_region_08861668(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r1, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r6, std::uint32_t &r29, std::uint32_t &r31) noexcept { + std::uint32_t jump_target = 0u; + goto RL_08861668; +RL_08861668: + r29 = (r29 + static_cast(-16)); + r6 = (r4 | 0u); + r4 = (r5 | 0u); + r5 = (r6 + static_cast(-1)); + r6 = (r5 < static_cast(12) ? 1u : 0u); + aot_mem.aot_direct_store32(r29 + static_cast(4), r31); + { const bool branch_taken = r6 == 0u; + // nop + if (branch_taken) { + goto RL_088617FC; + } + goto RL_08861688; + } +RL_08861688: + r5 = (r5 << 2u); + r1 = (2232u << 16u); + r1 = (r1 + r5); + r1 = (aot_mem.aot_direct_load32(r1 + static_cast(-26472))); + jump_target = r1; + // nop + pc = jump_target; + return; +RL_088617FC: + r2 = (0u | 0u); + goto RL_08861800; +RL_08861800: + r31 = (aot_mem.aot_direct_load32(r29 + static_cast(4))); + jump_target = r31; + r29 = (r29 + static_cast(16)); + pc = jump_target; + return; +} + +void vcs_resident_region_08862890(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r6, std::uint32_t &r7, std::uint32_t &r8, std::uint32_t &r9, std::uint32_t &r10, std::uint32_t &r11, std::uint32_t &r16, std::uint32_t &r17, std::uint32_t &r18, std::uint32_t &r19, std::uint32_t &r20, std::uint32_t &r21, std::uint32_t &r28, std::uint32_t &r29, std::uint32_t &r31) noexcept { + std::uint32_t jump_target = 0u; + goto RL_08862890; +RL_08861A7C: + r6 = (aot_mem.aot_direct_load32(r5 + static_cast(0))); + r7 = (aot_mem.aot_direct_load32(r28 + static_cast(-29148))); + r8 = (r6 + static_cast(1)); + r6 = (r7 + r6); + r6 = (aot_mem.aot_direct_load8(r6 + static_cast(0))); + r7 = (static_cast(r6) < 205 ? 1u : 0u); + { const bool branch_taken = r7 == 0u; + aot_mem.aot_direct_store32(r5 + static_cast(0), r8); + if (branch_taken) { + goto RL_08861B44; + } + goto RL_08861A9C; + } +RL_08861A9C: + r7 = (static_cast(r6) < 109 ? 1u : 0u); + if (r7 == 0u) { + r7 = (aot_mem.aot_direct_load32(r5 + static_cast(0))); + goto RL_08861ACC; + } + goto RL_08861AA8; +RL_08861AA8: + r5 = (static_cast(r6) < 13 ? 1u : 0u); + { const bool branch_taken = r5 == 0u; + // nop + if (branch_taken) { + goto RL_08861ABC; + } + goto RL_08861AB4; + } +RL_08861AB4: + { const bool branch_taken = 0u == 0u; + r6 = (r6 + static_cast(93)); + if (branch_taken) { + goto RL_08861B34; + } + goto RL_08861ABC; + } +RL_08861ABC: + r5 = (aot_mem.aot_direct_load32(r4 + static_cast(508))); + r6 = (r6 + r5); + { const bool branch_taken = 0u == 0u; + r6 = (r6 + static_cast(-13)); + if (branch_taken) { + goto RL_08861B34; + } + goto RL_08861ACC; + } +RL_08861ACC: + r8 = (aot_mem.aot_direct_load32(r28 + static_cast(-29148))); + r9 = (r7 + static_cast(1)); + r7 = (r8 + r7); + r7 = (aot_mem.aot_direct_load8(r7 + static_cast(0))); + aot_mem.aot_direct_store32(r5 + static_cast(0), r9); + r8 = (aot_mem.aot_direct_load32(r4 + static_cast(508))); + r10 = (aot_mem.aot_direct_load32(r28 + static_cast(-29148))); + r7 = (r7 + r8); + r8 = (r10 + r9); + r8 = (aot_mem.aot_direct_load8(r8 + static_cast(0))); + r9 = (r9 + static_cast(1)); + aot_mem.aot_direct_store32(r5 + static_cast(0), r9); + r5 = (r7 << 2u); + r5 = (r4 + r5); + r5 = (aot_mem.aot_direct_load32(r5 + static_cast(84))); + { const bool branch_taken = static_cast(r5) < 0; + r7 = (r8 | 0u); + if (branch_taken) { + goto RL_08861B1C; + } + goto RL_08861B10; + } +RL_08861B10: + r7 = (static_cast(r5) < static_cast(r7) ? 1u : 0u); + { const bool branch_taken = r7 != 0u; + // nop + if (branch_taken) { + goto RL_08861B24; + } + goto RL_08861B1C; + } +RL_08861B1C: + { const bool branch_taken = 0u == 0u; + r2 = (r28 + static_cast(5996)); + if (branch_taken) { + goto RL_08861BF4; + } + goto RL_08861B24; + } +RL_08861B24: + r7 = (aot_mem.aot_direct_load32(r4 + static_cast(508))); + r6 = (r6 + r7); + r6 = (r6 + r5); + r6 = (r6 + static_cast(-109)); + goto RL_08861B34; +RL_08861B34: + r5 = (r6 << 2u); + r2 = (r4 + r5); + { const bool branch_taken = 0u == 0u; + r2 = (r2 + static_cast(84)); + if (branch_taken) { + goto RL_08861BF4; + } + goto RL_08861B44; + } +RL_08861B44: + r7 = (aot_mem.aot_direct_load32(r5 + static_cast(0))); + r8 = (aot_mem.aot_direct_load32(r28 + static_cast(-29148))); + r9 = (r7 + static_cast(1)); + r7 = (r8 + r7); + r7 = (aot_mem.aot_direct_load8(r7 + static_cast(0))); + r8 = (static_cast(r6) < 230 ? 1u : 0u); + { const bool branch_taken = r8 == 0u; + aot_mem.aot_direct_store32(r5 + static_cast(0), r9); + if (branch_taken) { + goto RL_08861B74; + } + goto RL_08861B64; + } +RL_08861B64: + r4 = (r6 + static_cast(-205)); + r4 = (r4 << 8u); + { const bool branch_taken = 0u == 0u; + r7 = (r7 + r4); + if (branch_taken) { + goto RL_08861BE4; + } + goto RL_08861B74; + } +RL_08861B74: + r8 = (aot_mem.aot_direct_load32(r5 + static_cast(0))); + r9 = (aot_mem.aot_direct_load32(r28 + static_cast(-29148))); + r10 = (r4 | 0u); + r4 = (r9 + r8); + r4 = (aot_mem.aot_direct_load8(r4 + static_cast(0))); + r8 = (r8 + static_cast(1)); + aot_mem.aot_direct_store32(r5 + static_cast(0), r8); + r9 = (aot_mem.aot_direct_load32(r10 + static_cast(508))); + r11 = (aot_mem.aot_direct_load32(r28 + static_cast(-29148))); + r4 = (r4 + r9); + r9 = (r11 + r8); + r9 = (aot_mem.aot_direct_load8(r9 + static_cast(0))); + r8 = (r8 + static_cast(1)); + aot_mem.aot_direct_store32(r5 + static_cast(0), r8); + r5 = (r4 << 2u); + r5 = (r10 + r5); + r5 = (aot_mem.aot_direct_load32(r5 + static_cast(84))); + { const bool branch_taken = static_cast(r5) < 0; + r4 = (r9 | 0u); + if (branch_taken) { + goto RL_08861BCC; + } + goto RL_08861BC0; + } +RL_08861BC0: + r4 = (static_cast(r5) < static_cast(r4) ? 1u : 0u); + { const bool branch_taken = r4 != 0u; + // nop + if (branch_taken) { + goto RL_08861BD4; + } + goto RL_08861BCC; + } +RL_08861BCC: + { const bool branch_taken = 0u == 0u; + r2 = (r28 + static_cast(5996)); + if (branch_taken) { + goto RL_08861BF4; + } + goto RL_08861BD4; + } +RL_08861BD4: + r4 = (r6 + static_cast(-230)); + r4 = (r4 << 8u); + r4 = (r4 + r5); + r7 = (r4 + r7); + goto RL_08861BE4; +RL_08861BE4: + r2 = (aot_mem.aot_direct_load32(r28 + static_cast(-29148))); + r4 = (r7 << 2u); + { const bool branch_taken = 0u == 0u; + r2 = (r2 + r4); + if (branch_taken) { + goto RL_08861BF4; + } + goto RL_08861BF4; + } +RL_08861BF4: + jump_target = r31; + // nop + pc = jump_target; + return; +RL_088623D0: + r29 = (r29 + static_cast(-16)); + aot_mem.aot_direct_store32(r29 + static_cast(0), r31); + r31 = (0x088623E0u); + // nop + goto RL_08861A7C; +RL_08862890: + r29 = (r29 + static_cast(-32)); + aot_mem.aot_direct_store32(r29 + static_cast(16), r20); + r20 = (r6 << 16u); + aot_mem.aot_direct_store32(r29 + static_cast(0), r16); + aot_mem.aot_direct_store32(r29 + static_cast(4), r17); + r20 = (static_cast(static_cast(r20) >> 16u)); + r17 = (r4 | 0u); + r16 = (r5 | 0u); + aot_mem.aot_direct_store32(r29 + static_cast(8), r18); + aot_mem.aot_direct_store32(r29 + static_cast(12), r19); + aot_mem.aot_direct_store32(r29 + static_cast(20), r21); + aot_mem.aot_direct_store32(r29 + static_cast(24), r31); + r19 = (0u | 0u); + r4 = (static_cast(r19) < static_cast(r20) ? 1u : 0u); + { const bool branch_taken = r4 == 0u; + r18 = (2236u << 16u); + if (branch_taken) { + goto RL_088628FC; + } + goto RL_088628D0; + } +RL_088628D0: + r18 = (r18 + static_cast(29704)); + goto RL_088628D4; +RL_088628D4: + r21 = (aot_mem.aot_direct_load32(r18 + static_cast(0))); + r4 = (r17 | 0u); + r5 = (r16 | 0u); + r31 = (0x088628E8u); + r6 = (0u | 0u); + goto RL_088623D0; +RL_088628FC: + { std::uint32_t aot_run_words[7]{}; + aot_mem.aot_direct_load32_block(r29 + static_cast(0), aot_run_words); + r16 = aot_run_words[0]; + r17 = aot_run_words[1]; + r18 = aot_run_words[2]; + r19 = aot_run_words[3]; + r20 = aot_run_words[4]; + r21 = aot_run_words[5]; + r31 = aot_run_words[6]; + } + jump_target = r31; + r29 = (r29 + static_cast(32)); + pc = jump_target; + return; +} + +void vcs_resident_region_0886D4BC(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r31) noexcept { + std::uint32_t jump_target = 0u; + goto RL_0886D4BC; +RL_0886D4BC: + r4 = (aot_mem.aot_direct_load32(r4 + static_cast(24))); + r2 = (aot_mem.aot_direct_load32(r4 + static_cast(0))); + { const bool branch_taken = r2 == 0u; + // nop + if (branch_taken) { + goto RL_0886D4E4; + } + goto RL_0886D4CC; + } +RL_0886D4CC: + r4 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(r2 + static_cast(48)))))); + { const bool branch_taken = r4 == r5; + // nop + if (branch_taken) { + goto RL_0886D4EC; + } + goto RL_0886D4D8; + } +RL_0886D4D8: + r2 = (aot_mem.aot_direct_load32(r2 + static_cast(0))); + { const bool branch_taken = r2 != 0u; + // nop + if (branch_taken) { + goto RL_0886D4CC; + } + goto RL_0886D4E4; + } +RL_0886D4E4: + { const bool branch_taken = 0u == 0u; + r2 = (0u | 0u); + if (branch_taken) { + goto RL_0886D4EC; + } + goto RL_0886D4EC; + } +RL_0886D4EC: + jump_target = r31; + // nop + pc = jump_target; + return; +} + +void vcs_resident_region_08873400(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r31, float &f12, float &f13, float &f14, float &f15) noexcept { + std::uint32_t jump_target = 0u; + goto RL_08873400; +RL_08873400: + aot_mem.aot_direct_store32(r4 + static_cast(0), std::bit_cast(f12)); + aot_mem.aot_direct_store32(r4 + static_cast(12), std::bit_cast(f13)); + aot_mem.aot_direct_store32(r4 + static_cast(8), std::bit_cast(f14)); + aot_mem.aot_direct_store32(r4 + static_cast(4), std::bit_cast(f15)); + jump_target = r31; + r2 = (r4 | 0u); + pc = jump_target; + return; +} + +void vcs_resident_region_088905F0(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r6, std::uint32_t &r7, std::uint32_t &r31) noexcept { + std::uint32_t jump_target = 0u; + goto RL_088905F0; +RL_088905F0: + r7 = (0u | 1u); + aot_mem.aot_direct_store32(r4 + static_cast(52), r7); + aot_mem.aot_direct_store32(r4 + static_cast(56), r5); + jump_target = r31; + aot_mem.aot_direct_store32(r4 + static_cast(60), r6); + pc = jump_target; + return; +} + +void vcs_resident_region_088C95D8(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &hi, std::uint32_t &lo, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r6, std::uint32_t &r7, std::uint32_t &r8, std::uint32_t &r9, std::uint32_t &r28, std::uint32_t &r31) noexcept { + std::uint32_t jump_target = 0u; + goto RL_088C95D8; +RL_088C95D8: + if (r8 != 0u) { + r9 = (aot_mem.aot_direct_load32(r4 + static_cast(48))); + goto RL_088C95F0; + } + goto RL_088C95E0; +RL_088C95E0: + r4 = (aot_mem.aot_direct_load32(r28 + static_cast(-16352))); + r4 = (r4 + static_cast(6028)); + { const bool branch_taken = 0u == 0u; + aot_mem.aot_direct_store32(r5 + static_cast(0), r4); + if (branch_taken) { + goto RL_088C9638; + } + goto RL_088C95F0; + } +RL_088C95F0: + r9 = (r9 & 3u); + r9 = (r9 << 2u); + r4 = (r4 + r9); + r4 = (aot_mem.aot_direct_load32(r4 + static_cast(26320))); + { const std::uint32_t dividend = r4; const std::uint32_t divisor = r8; if (divisor == 0u) { lo = 0xFFFFFFFFu; hi = dividend; } else { lo = dividend / divisor; hi = dividend % divisor; } } + r4 = (hi); + r4 = (r7 + r4); + aot_mem.aot_direct_store32(r5 + static_cast(0), r4); + r9 = (aot_mem.aot_direct_load32(r6 + static_cast(0))); + { const bool branch_taken = r4 != r9; + // nop + if (branch_taken) { + goto RL_088C9638; + } + goto RL_088C961C; + } +RL_088C961C: + r4 = (r4 + static_cast(1)); + r8 = (r7 + r8); + r8 = (r4 < r8 ? 1u : 0u); + { const bool branch_taken = r8 != 0u; + aot_mem.aot_direct_store32(r5 + static_cast(0), r4); + if (branch_taken) { + goto RL_088C9638; + } + goto RL_088C9630; + } +RL_088C9630: + aot_mem.aot_direct_store32(r5 + static_cast(0), r7); + r4 = (r7 | 0u); + goto RL_088C9638; +RL_088C9638: + jump_target = r31; + aot_mem.aot_direct_store32(r6 + static_cast(0), r4); + pc = jump_target; + return; +} + +void vcs_resident_region_088C9640(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r1, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r6, std::uint32_t &r7, std::uint32_t &r8, std::uint32_t &r28, std::uint32_t &r29, std::uint32_t &r31) noexcept { + std::uint32_t jump_target = 0u; + goto RL_088C9640; +RL_088C9640: + r29 = (r29 + static_cast(-16)); + r7 = (r5 | 0u); + r5 = (0u | 1u); + r6 = (r6 & 65535u); + aot_mem.aot_direct_store8(r4 + static_cast(21540), static_cast(r5)); + r6 = (r6 + static_cast(-102)); + r5 = (r4 | 0u); + r8 = (r6 < static_cast(37) ? 1u : 0u); + aot_mem.aot_direct_store32(r29 + static_cast(4), r31); + { const bool branch_taken = r8 == 0u; + r4 = (r7 | 0u); + if (branch_taken) { + goto RL_088C9708; + } + goto RL_088C966C; + } +RL_088C966C: + r6 = (r6 << 2u); + r1 = (2232u << 16u); + r1 = (r1 + r6); + r1 = (aot_mem.aot_direct_load32(r1 + static_cast(-20912))); + jump_target = r1; + // nop + pc = jump_target; + return; +RL_088C9708: + r2 = (aot_mem.aot_direct_load32(r28 + static_cast(-16352))); + r2 = (r2 + static_cast(6028)); + goto RL_088C9710; +RL_088C9710: + r31 = (aot_mem.aot_direct_load32(r29 + static_cast(4))); + jump_target = r31; + r29 = (r29 + static_cast(16)); + pc = jump_target; + return; +} + +void vcs_resident_region_088C971C(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r1, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r6, std::uint32_t &r7, std::uint32_t &r8, std::uint32_t &r28, std::uint32_t &r29, std::uint32_t &r31) noexcept { + std::uint32_t jump_target = 0u; + goto RL_088C971C; +RL_088C971C: + r29 = (r29 + static_cast(-16)); + r7 = (r5 | 0u); + r5 = (0u | 1u); + r6 = (r6 & 65535u); + aot_mem.aot_direct_store8(r4 + static_cast(21540), static_cast(r5)); + r6 = (r6 + static_cast(-102)); + r5 = (r4 | 0u); + r8 = (r6 < static_cast(37) ? 1u : 0u); + aot_mem.aot_direct_store32(r29 + static_cast(4), r31); + { const bool branch_taken = r8 == 0u; + r4 = (r7 | 0u); + if (branch_taken) { + goto RL_088C9804; + } + goto RL_088C9748; + } +RL_088C9748: + r6 = (r6 << 2u); + r1 = (2232u << 16u); + r1 = (r1 + r6); + r1 = (aot_mem.aot_direct_load32(r1 + static_cast(-20760))); + jump_target = r1; + // nop + pc = jump_target; + return; +RL_088C9804: + r2 = (aot_mem.aot_direct_load32(r28 + static_cast(-16352))); + r2 = (r2 + static_cast(6028)); + goto RL_088C980C; +RL_088C980C: + r31 = (aot_mem.aot_direct_load32(r29 + static_cast(4))); + jump_target = r31; + r29 = (r29 + static_cast(16)); + pc = jump_target; + return; +} + +void vcs_resident_region_08908E78(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r31) noexcept { + std::uint32_t jump_target = 0u; + goto RL_08908E78; +RL_08908E78: + jump_target = r31; + aot_mem.aot_direct_store32(r4 + static_cast(2232), r5); + pc = jump_target; + return; +} + +void vcs_resident_region_08909B60(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r6, std::uint32_t &r16, std::uint32_t &r29, std::uint32_t &r31) noexcept { + std::uint32_t jump_target = 0u; + goto RL_08909B60; +RL_089098EC: + r5 = (aot_mem.aot_direct_load32(r4 + static_cast(2228))); + r6 = (0u | 55u); + { const bool branch_taken = r5 == r6; + r6 = (0u | 60u); + if (branch_taken) { + goto RL_0890993C; + } + goto RL_089098FC; + } +RL_089098FC: + { const bool branch_taken = r5 == r6; + r6 = (0u | 17u); + if (branch_taken) { + goto RL_0890993C; + } + goto RL_08909904; + } +RL_08909904: + { const bool branch_taken = r5 == r6; + // nop + if (branch_taken) { + goto RL_0890993C; + } + goto RL_0890990C; + } +RL_0890990C: + r5 = (aot_mem.aot_direct_load32(r4 + static_cast(460))); + r5 = (r5 & 8192u); + { const bool branch_taken = r5 != 0u; + // nop + if (branch_taken) { + goto RL_0890993C; + } + goto RL_0890991C; + } +RL_0890991C: + r4 = (aot_mem.aot_direct_load32(r4 + static_cast(776))); + r5 = (0u | 47u); + { const bool branch_taken = r4 == r5; + r5 = (0u | 44u); + if (branch_taken) { + goto RL_0890993C; + } + goto RL_0890992C; + } +RL_0890992C: + { const bool branch_taken = r4 == r5; + // nop + if (branch_taken) { + goto RL_0890993C; + } + goto RL_08909934; + } +RL_08909934: + { const bool branch_taken = r4 != 0u; + // nop + if (branch_taken) { + goto RL_08909944; + } + goto RL_0890993C; + } +RL_0890993C: + { const bool branch_taken = 0u == 0u; + r2 = (0u | 0u); + if (branch_taken) { + goto RL_08909948; + } + goto RL_08909944; + } +RL_08909944: + r2 = (0u | 1u); + goto RL_08909948; +RL_08909948: + jump_target = r31; + // nop + pc = jump_target; + return; +RL_08909B60: + r29 = (r29 + static_cast(-16)); + aot_mem.aot_direct_store32(r29 + static_cast(0), r16); + r16 = (r4 | 0u); + r4 = (aot_mem.aot_direct_load32(r16 + static_cast(456))); + aot_mem.aot_direct_store32(r29 + static_cast(4), r31); + r5 = (r4 & 16u); + { const bool branch_taken = r5 == 0u; + r5 = (r4 & 64u); + if (branch_taken) { + goto RL_08909C10; + } + goto RL_08909B80; + } +RL_08909B80: + { const bool branch_taken = r5 != 0u; + r5 = (0u + static_cast(-17)); + if (branch_taken) { + goto RL_08909C10; + } + goto RL_08909B88; + } +RL_08909B88: + r4 = (r4 & r5); + aot_mem.aot_direct_store32(r16 + static_cast(456), r4); + r4 = (r4 | 128u); + r5 = (aot_mem.aot_direct_load32(r16 + static_cast(464))); + aot_mem.aot_direct_store32(r16 + static_cast(456), r4); + r4 = (0u + static_cast(-257)); + r4 = (r5 & r4); + aot_mem.aot_direct_store32(r16 + static_cast(464), r4); + r31 = (0x08909BB0u); + r4 = (r16 | 0u); + goto RL_089098EC; +RL_08909C10: + r16 = (aot_mem.aot_direct_load32(r29 + static_cast(0))); + r31 = (aot_mem.aot_direct_load32(r29 + static_cast(4))); + jump_target = r31; + r29 = (r29 + static_cast(16)); + pc = jump_target; + return; +} + +void vcs_resident_region_0890BE50(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r31) noexcept { + std::uint32_t jump_target = 0u; + goto RL_0890BE50; +RL_0890BE50: + jump_target = r31; + aot_mem.aot_direct_store32(r4 + static_cast(2244), r5); + pc = jump_target; + return; +} + +void vcs_resident_region_0890D44C(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r31) noexcept { + std::uint32_t jump_target = 0u; + goto RL_0890D44C; +RL_0890D44C: + r4 = (aot_mem.aot_direct_load32(r4 + static_cast(1360))); + { const bool branch_taken = r4 != 0u; + // nop + if (branch_taken) { + goto RL_0890D460; + } + goto RL_0890D458; + } +RL_0890D458: + { const bool branch_taken = 0u == 0u; + r2 = (0u | 1u); + if (branch_taken) { + goto RL_0890D464; + } + goto RL_0890D460; + } +RL_0890D460: + r2 = (0u | 0u); + goto RL_0890D464; +RL_0890D464: + jump_target = r31; + // nop + pc = jump_target; + return; +} + +void vcs_resident_region_0890F694(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r6, std::uint32_t &r31) noexcept { + std::uint32_t jump_target = 0u; + goto RL_0890F694; +RL_0890F694: + { const bool branch_taken = r5 == 0u; + aot_mem.aot_direct_store32(r4 + static_cast(780), r5); + if (branch_taken) { + goto RL_0890F6AC; + } + goto RL_0890F69C; + } +RL_0890F69C: + r6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(r5 + static_cast(50)))))); + aot_mem.aot_direct_store32(r4 + static_cast(788), r6); + r5 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load16(r5 + static_cast(48)))))); + aot_mem.aot_direct_store32(r4 + static_cast(784), r5); + goto RL_0890F6AC; +RL_0890F6AC: + jump_target = r31; + // nop + pc = jump_target; + return; +} + +void vcs_resident_region_0890F6B4(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r31) noexcept { + std::uint32_t jump_target = 0u; + goto RL_0890F6B4; +RL_0890F6B4: + jump_target = r31; + r2 = (aot_mem.aot_direct_load32(r4 + static_cast(780))); + pc = jump_target; + return; +} + +void vcs_resident_region_0890FF64(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r4, std::uint32_t &r31) noexcept { + std::uint32_t jump_target = 0u; + goto RL_0890FF64; +RL_0890FF64: + jump_target = r31; + aot_mem.aot_direct_store32(r4 + static_cast(1032), 0u); + pc = jump_target; + return; +} + +void vcs_resident_region_089101A4(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r31) noexcept { + std::uint32_t jump_target = 0u; + goto RL_089101A4; +RL_089101A4: + jump_target = r31; + r2 = (aot_mem.aot_direct_load32(r4 + static_cast(1128))); + pc = jump_target; + return; +} + +void vcs_resident_region_0893685C(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r2, std::uint32_t &r31) noexcept { + std::uint32_t jump_target = 0u; + goto RL_0893685C; +RL_0893685C: + jump_target = r31; + r2 = (0u | 0u); + pc = jump_target; + return; +} + +void vcs_resident_region_089474C4(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r6, std::uint32_t &r31) noexcept { + std::uint32_t jump_target = 0u; + goto RL_089474C4; +RL_089474C4: + r5 = (r4 | 0u); + r4 = (2238u << 16u); + r6 = (aot_mem.aot_direct_load32(r4 + static_cast(-6992))); + { const bool branch_taken = r6 != r5; + // nop + if (branch_taken) { + goto RL_089474E0; + } + goto RL_089474D8; + } +RL_089474D8: + { const bool branch_taken = 0u == 0u; + r2 = (r4 + static_cast(-6992)); + if (branch_taken) { + goto RL_089474E4; + } + goto RL_089474E0; + } +RL_089474E0: + r2 = (0u | 0u); + goto RL_089474E4; +RL_089474E4: + jump_target = r31; + // nop + pc = jump_target; + return; +} + +void vcs_resident_region_0896918C(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r31) noexcept { + std::uint32_t jump_target = 0u; + goto RL_0896918C; +RL_0896918C: + jump_target = r31; + r2 = (aot_mem.aot_direct_load32(r4 + static_cast(40))); + pc = jump_target; + return; +} + +void vcs_resident_region_08969194(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r6, std::uint32_t &r7, std::uint32_t &r8, std::uint32_t &r31) noexcept { + std::uint32_t jump_target = 0u; + goto RL_08969194; +RL_08969194: + r7 = (aot_mem.aot_direct_load32(r4 + static_cast(4))); + r6 = (aot_mem.aot_direct_load32(r4 + static_cast(48))); + r4 = (r7 << 3u); + r4 = (r6 + r4); + r7 = (r6 | 0u); + { const bool branch_taken = r7 == r4; + // nop + if (branch_taken) { + goto RL_089691E8; + } + goto RL_089691B0; + } +RL_089691B0: + r8 = (aot_mem.aot_direct_load8(r7 + static_cast(0))); + { const bool branch_taken = r8 == r5; + // nop + if (branch_taken) { + goto RL_089691D0; + } + goto RL_089691BC; + } +RL_089691BC: + r7 = (r7 + static_cast(8)); + { const bool branch_taken = r7 != r4; + // nop + if (branch_taken) { + goto RL_089691B0; + } + goto RL_089691C8; + } +RL_089691C8: + { const bool branch_taken = 0u == 0u; + // nop + if (branch_taken) { + goto RL_089691E8; + } + goto RL_089691D0; + } +RL_089691D0: + r4 = (r7 - r6); + r5 = (static_cast(static_cast(r4) >> 3u)); + r5 = (r5 >> 29u); + r2 = (r4 + r5); + { const bool branch_taken = 0u == 0u; + r2 = (static_cast(static_cast(r2) >> 3u)); + if (branch_taken) { + goto RL_089691EC; + } + goto RL_089691E8; + } +RL_089691E8: + r2 = (0u | 0u); + goto RL_089691EC; +RL_089691EC: + jump_target = r31; + // nop + pc = jump_target; + return; +} + +void vcs_resident_region_089B7A84(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &hi, std::uint32_t &lo, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r6, std::uint32_t &r7, std::uint32_t &r8, std::uint32_t &r28, std::uint32_t &r31) noexcept { + std::uint32_t jump_target = 0u; + goto RL_089B7A84; +RL_089B7A84: + { const bool branch_taken = r5 == 0u; + // nop + if (branch_taken) { + goto RL_089B7AD4; + } + goto RL_089B7A8C; + } +RL_089B7A8C: + r7 = (aot_mem.aot_direct_load32(r28 + static_cast(-13240))); + r6 = (r4 | 0u); + r4 = (0u | 5u); + r8 = (r7 + r5); + { const std::uint32_t dividend = r8; const std::uint32_t divisor = r4; if (divisor == 0u) { lo = 0xFFFFFFFFu; hi = dividend; } else { lo = dividend / divisor; hi = dividend % divisor; } } + r4 = (aot_mem.aot_direct_load8(r28 + static_cast(-13244))); + r8 = (hi); + r8 = (r8 << 2u); + r6 = (r6 + r8); + r6 = (aot_mem.aot_direct_load32(r6 + static_cast(26320))); + { const std::uint32_t dividend = r6; const std::uint32_t divisor = r5; if (divisor == 0u) { lo = 0xFFFFFFFFu; hi = dividend; } else { lo = dividend / divisor; hi = dividend % divisor; } } + r2 = (hi); + r5 = (r7 + r2); + aot_mem.aot_direct_store32(r28 + static_cast(-13240), r5); + { const bool branch_taken = static_cast(r2) >= 0; + r5 = (r2 & 1u); + if (branch_taken) { + goto RL_089B7ADC; + } + goto RL_089B7ACC; + } +RL_089B7ACC: + { const bool branch_taken = 0u == 0u; + r5 = (0u - r5); + if (branch_taken) { + goto RL_089B7ADC; + } + goto RL_089B7AD4; + } +RL_089B7AD4: + { const bool branch_taken = 0u == 0u; + r2 = (0u | 0u); + if (branch_taken) { + goto RL_089B7AFC; + } + goto RL_089B7ADC; + } +RL_089B7ADC: + { const bool branch_taken = r5 == 0u; + // nop + if (branch_taken) { + goto RL_089B7AF0; + } + goto RL_089B7AE4; + } +RL_089B7AE4: + r4 = (r4 < static_cast(1) ? 1u : 0u); + aot_mem.aot_direct_store8(r28 + static_cast(-13244), static_cast(r4)); + r4 = (aot_mem.aot_direct_load8(r28 + static_cast(-13244))); + goto RL_089B7AF0; +RL_089B7AF0: + { const bool branch_taken = r4 != 0u; + // nop + if (branch_taken) { + goto RL_089B7AFC; + } + goto RL_089B7AF8; + } +RL_089B7AF8: + r2 = (0u - r2); + goto RL_089B7AFC; +RL_089B7AFC: + jump_target = r31; + // nop + pc = jump_target; + return; +} + +void vcs_resident_region_089D1B1C(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r31, float &f12, float &f13, float &f14, float &f15) noexcept { + std::uint32_t jump_target = 0u; + goto RL_089D1B1C; +RL_089D1B1C: + aot_mem.aot_direct_store32(r4 + static_cast(0), std::bit_cast(f12)); + aot_mem.aot_direct_store32(r4 + static_cast(12), std::bit_cast(f13)); + aot_mem.aot_direct_store32(r4 + static_cast(8), std::bit_cast(f14)); + aot_mem.aot_direct_store32(r4 + static_cast(4), std::bit_cast(f15)); + jump_target = r31; + r2 = (r4 | 0u); + pc = jump_target; + return; +} + +void vcs_resident_region_089F620C(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r6, std::uint32_t &r7, std::uint32_t &r31) noexcept { + std::uint32_t jump_target = 0u; + goto RL_089F620C; +RL_089F620C: + { const std::uint32_t aot_run_words[8]{0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u}; + aot_mem.aot_direct_store32_block(r4 + static_cast(0), aot_run_words); } + aot_mem.aot_direct_store16(r4 + static_cast(2444), static_cast(0u)); + r5 = (0u | 101u); + aot_mem.aot_direct_store8(r4 + static_cast(32), static_cast(r5)); + aot_mem.aot_direct_store8(r4 + static_cast(34), static_cast(0u)); + aot_mem.aot_direct_store8(r4 + static_cast(33), static_cast(0u)); + aot_mem.aot_direct_store8(r4 + static_cast(2448), static_cast(0u)); + r6 = (0u | 0u); + goto RL_089F6248; +RL_089F6248: + r5 = (r4 + r6); + r6 = (r6 + static_cast(1)); + aot_mem.aot_direct_store8(r5 + static_cast(35), static_cast(0u)); + r6 = (r6 & 65535u); + r5 = (static_cast(r6) < 8 ? 1u : 0u); + { const bool branch_taken = r5 != 0u; + // nop + if (branch_taken) { + goto RL_089F6248; + } + goto RL_089F6264; + } +RL_089F6264: + r5 = (2279u << 16u); + r6 = (0u | 0u); + r5 = (r5 + static_cast(20672)); + goto RL_089F6270; +RL_089F6270: + r7 = (r6 + r6); + r7 = (r7 + r5); + r6 = (r6 + static_cast(1)); + aot_mem.aot_direct_store16(r7 + static_cast(0), static_cast(0u)); + r6 = (r6 & 65535u); + r7 = (static_cast(r6) < 25 ? 1u : 0u); + { const bool branch_taken = r7 != 0u; + // nop + if (branch_taken) { + goto RL_089F6270; + } + goto RL_089F6290; + } +RL_089F6290: + jump_target = r31; + r2 = (r4 | 0u); + pc = jump_target; + return; +} + +void vcs_resident_region_08A28D00(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r16, std::uint32_t &r17, std::uint32_t &r18, std::uint32_t &r19, std::uint32_t &r20, std::uint32_t &r21, std::uint32_t &r22, std::uint32_t &r29, std::uint32_t &r31, float &f20, float &f22, float &f24) noexcept { + std::uint32_t jump_target = 0u; + goto RL_08A28D00; +RL_08A28D00: + { std::uint32_t aot_run_words[11]{}; + aot_mem.aot_direct_load32_block(r29 + static_cast(960), aot_run_words); + f20 = std::bit_cast(aot_run_words[0]); + f22 = std::bit_cast(aot_run_words[1]); + f24 = std::bit_cast(aot_run_words[2]); + r16 = aot_run_words[3]; + r17 = aot_run_words[4]; + r18 = aot_run_words[5]; + r19 = aot_run_words[6]; + r20 = aot_run_words[7]; + r21 = aot_run_words[8]; + r22 = aot_run_words[9]; + r31 = aot_run_words[10]; + } + jump_target = r31; + r29 = (r29 + static_cast(1008)); + pc = jump_target; + return; +} + +void vcs_resident_region_08A3550C(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r6, std::uint32_t &r7, std::uint32_t &r8, std::uint32_t &r31) noexcept { + std::uint32_t jump_target = 0u; + goto RL_08A3550C; +RL_08A3550C: + aot_mem.aot_direct_store8(r4 + static_cast(0), static_cast(r5)); + aot_mem.aot_direct_store8(r4 + static_cast(1), static_cast(r6)); + aot_mem.aot_direct_store8(r4 + static_cast(2), static_cast(r7)); + aot_mem.aot_direct_store8(r4 + static_cast(3), static_cast(r8)); + jump_target = r31; + r2 = (r4 | 0u); + pc = jump_target; + return; +} + +void vcs_resident_region_08A92F78(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r6, std::uint32_t &r7, std::uint32_t &r28, std::uint32_t &r31) noexcept { + std::uint32_t jump_target = 0u; + goto RL_08A92F78; +RL_08A92F78: + r6 = (aot_mem.aot_direct_load32(r4 + static_cast(72))); + r6 = (r6 & 14u); + r6 = (r6 ^ 2u); + r6 = (r6 < static_cast(1) ? 1u : 0u); + r6 = (r6 & 255u); + { const bool branch_taken = r6 != 0u; + // nop + if (branch_taken) { + goto RL_08A92FA8; + } + goto RL_08A92F94; + } +RL_08A92F94: + r6 = (aot_mem.aot_direct_load32(r4 + static_cast(68))); + { const bool branch_taken = r6 != 0u; + // nop + if (branch_taken) { + goto RL_08A92FB0; + } + goto RL_08A92FA0; + } +RL_08A92FA0: + { const bool branch_taken = 0u == 0u; + // nop + if (branch_taken) { + goto RL_08A92FD8; + } + goto RL_08A92FA8; + } +RL_08A92FA8: + { const bool branch_taken = 0u == 0u; + // nop + if (branch_taken) { + goto RL_08A92FFC; + } + goto RL_08A92FB0; + } +RL_08A92FB0: + r7 = (aot_mem.aot_direct_load32(r6 + static_cast(4))); + { const bool branch_taken = r7 == r5; + // nop + if (branch_taken) { + goto RL_08A92FD0; + } + goto RL_08A92FBC; + } +RL_08A92FBC: + r6 = (aot_mem.aot_direct_load32(r6 + static_cast(0))); + { const bool branch_taken = r6 != 0u; + // nop + if (branch_taken) { + goto RL_08A92FB0; + } + goto RL_08A92FC8; + } +RL_08A92FC8: + { const bool branch_taken = 0u == 0u; + // nop + if (branch_taken) { + goto RL_08A92FD8; + } + goto RL_08A92FD0; + } +RL_08A92FD0: + { const bool branch_taken = 0u == 0u; + // nop + if (branch_taken) { + goto RL_08A92FFC; + } + goto RL_08A92FD8; + } +RL_08A92FD8: + r6 = (aot_mem.aot_direct_load32(r28 + static_cast(10092))); + { const bool branch_taken = r6 == 0u; + // nop + if (branch_taken) { + goto RL_08A92FFC; + } + goto RL_08A92FE4; + } +RL_08A92FE4: + r7 = (aot_mem.aot_direct_load32(r6 + static_cast(0))); + aot_mem.aot_direct_store32(r28 + static_cast(10092), r7); + r7 = (aot_mem.aot_direct_load32(r4 + static_cast(68))); + aot_mem.aot_direct_store32(r6 + static_cast(0), r7); + aot_mem.aot_direct_store32(r4 + static_cast(68), r6); + aot_mem.aot_direct_store32(r6 + static_cast(4), r5); + goto RL_08A92FFC; +RL_08A92FFC: + jump_target = r31; + // nop + pc = jump_target; + return; +} + +void vcs_resident_region_08A93004(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r6, std::uint32_t &r7, std::uint32_t &r8, std::uint32_t &r28, std::uint32_t &r31) noexcept { + std::uint32_t jump_target = 0u; + goto RL_08A93004; +RL_08A93004: + r6 = (aot_mem.aot_direct_load32(r4 + static_cast(68))); + { const bool branch_taken = r6 == 0u; + // nop + if (branch_taken) { + goto RL_08A93050; + } + goto RL_08A93010; + } +RL_08A93010: + { const bool branch_taken = r6 == 0u; + r4 = (r4 + static_cast(68)); + if (branch_taken) { + goto RL_08A93050; + } + goto RL_08A93018; + } +RL_08A93018: + r8 = (aot_mem.aot_direct_load32(r6 + static_cast(4))); + { const bool branch_taken = r8 == r5; + r7 = (aot_mem.aot_direct_load32(r6 + static_cast(0))); + if (branch_taken) { + goto RL_08A9303C; + } + goto RL_08A93024; + } +RL_08A93024: + r4 = (r6 | 0u); + r6 = (r7 | 0u); + { const bool branch_taken = r6 != 0u; + // nop + if (branch_taken) { + goto RL_08A93018; + } + goto RL_08A93034; + } +RL_08A93034: + { const bool branch_taken = 0u == 0u; + // nop + if (branch_taken) { + goto RL_08A93050; + } + goto RL_08A9303C; + } +RL_08A9303C: + aot_mem.aot_direct_store32(r4 + static_cast(0), r7); + r4 = (aot_mem.aot_direct_load32(r28 + static_cast(10092))); + aot_mem.aot_direct_store32(r6 + static_cast(0), r4); + { const bool branch_taken = 0u == 0u; + aot_mem.aot_direct_store32(r28 + static_cast(10092), r6); + if (branch_taken) { + goto RL_08A93050; + } + goto RL_08A93050; + } +RL_08A93050: + jump_target = r31; + // nop + pc = jump_target; + return; +} + +void vcs_resident_region_08ABE2C0(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r6, std::uint32_t &r7, std::uint32_t &r8, std::uint32_t &r16, std::uint32_t &r17, std::uint32_t &r18, std::uint32_t &r19, std::uint32_t &r20, std::uint32_t &r29, std::uint32_t &r31) noexcept { + std::uint32_t jump_target = 0u; + goto RL_08ABE2C0; +RL_08ABE2C0: + r29 = (r29 + static_cast(-16)); + r5 = (r4 | 0u); + r4 = (2236u << 16u); + aot_mem.aot_direct_store32(r29 + static_cast(0), r31); + r31 = (0x08ABE2D8u); + r4 = (r4 + static_cast(25856)); + goto RL_08ABE8F4; +RL_08ABE8F4: + r29 = (r29 + static_cast(-16)); + r6 = (r5 | 0u); + r5 = (r4 | 0u); + aot_mem.aot_direct_store32(r29 + static_cast(0), r31); + { const bool branch_taken = r6 == 0u; + r4 = (r6 | 0u); + if (branch_taken) { + goto RL_08ABE924; + } + goto RL_08ABE90C; + } +RL_08ABE90C: + r6 = (aot_mem.aot_direct_load32(r5 + static_cast(16))); + r6 = (r4 < r6 ? 1u : 0u); + if (r6 == 0u) { + r6 = (aot_mem.aot_direct_load32(r5 + static_cast(28))); + goto RL_08ABE92C; + } + goto RL_08ABE91C; +RL_08ABE91C: + { const bool branch_taken = 0u == 0u; + // nop + if (branch_taken) { + goto RL_08ABE958; + } + goto RL_08ABE924; + } +RL_08ABE924: + { const bool branch_taken = 0u == 0u; + // nop + if (branch_taken) { + goto RL_08ABE97C; + } + goto RL_08ABE92C; + } +RL_08ABE92C: + r5 = (aot_mem.aot_direct_load32(r5 + static_cast(296))); + r6 = (r6 - r4); + r6 = (r6 + static_cast(-1)); + r6 = (r6 >> 10u); + r6 = (r6 << 2u); + r5 = (r5 + r6); + r5 = (aot_mem.aot_direct_load32(r5 + static_cast(0))); + r6 = (aot_mem.aot_direct_load32(r5 + static_cast(4))); + aot_mem.aot_direct_store32(r4 + static_cast(0), r6); + { const bool branch_taken = 0u == 0u; + aot_mem.aot_direct_store32(r5 + static_cast(4), r4); + if (branch_taken) { + goto RL_08ABE97C; + } + goto RL_08ABE958; + } +RL_08ABE958: + r6 = (r5 | 0u); + r5 = (0u + static_cast(8)); + r4 = (r4 - r5); + r7 = (aot_mem.aot_direct_load32(r6 + static_cast(20))); + r8 = (aot_mem.aot_direct_load32(r4 + static_cast(0))); + r5 = (r6 + static_cast(8)); + r7 = (r7 - r8); + r31 = (0x08ABE97Cu); + aot_mem.aot_direct_store32(r6 + static_cast(20), r7); + goto RL_08ABF8B4; +RL_08ABE97C: + r31 = (aot_mem.aot_direct_load32(r29 + static_cast(0))); + jump_target = r31; + r29 = (r29 + static_cast(16)); + pc = jump_target; + return; +RL_08ABF8B4: + r29 = (r29 + static_cast(-32)); + aot_mem.aot_direct_store32(r29 + static_cast(0), r16); + aot_mem.aot_direct_store32(r29 + static_cast(4), r17); + r16 = (r5 | 0u); + r17 = (r4 | 0u); + { const std::uint32_t aot_run_words[4]{r18, r19, r20, r31}; + aot_mem.aot_direct_store32_block(r29 + static_cast(8), aot_run_words); } + r31 = (0x08ABF8E0u); + r5 = (0u | 0u); + goto RL_08ABFC04; +RL_08ABFC04: + jump_target = r31; + // nop + pc = jump_target; + return; +} + +void vcs_resident_region_08ABE2E4(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r6, std::uint32_t &r7, std::uint32_t &r8, std::uint32_t &r16, std::uint32_t &r17, std::uint32_t &r18, std::uint32_t &r19, std::uint32_t &r20, std::uint32_t &r29, std::uint32_t &r31) noexcept { + std::uint32_t jump_target = 0u; + goto RL_08ABE2E4; +RL_08ABE2E4: + r29 = (r29 + static_cast(-16)); + r5 = (r4 | 0u); + r4 = (2236u << 16u); + aot_mem.aot_direct_store32(r29 + static_cast(0), r31); + r31 = (0x08ABE2FCu); + r4 = (r4 + static_cast(25856)); + goto RL_08ABE8F4; +RL_08ABE8F4: + r29 = (r29 + static_cast(-16)); + r6 = (r5 | 0u); + r5 = (r4 | 0u); + aot_mem.aot_direct_store32(r29 + static_cast(0), r31); + { const bool branch_taken = r6 == 0u; + r4 = (r6 | 0u); + if (branch_taken) { + goto RL_08ABE924; + } + goto RL_08ABE90C; + } +RL_08ABE90C: + r6 = (aot_mem.aot_direct_load32(r5 + static_cast(16))); + r6 = (r4 < r6 ? 1u : 0u); + if (r6 == 0u) { + r6 = (aot_mem.aot_direct_load32(r5 + static_cast(28))); + goto RL_08ABE92C; + } + goto RL_08ABE91C; +RL_08ABE91C: + { const bool branch_taken = 0u == 0u; + // nop + if (branch_taken) { + goto RL_08ABE958; + } + goto RL_08ABE924; + } +RL_08ABE924: + { const bool branch_taken = 0u == 0u; + // nop + if (branch_taken) { + goto RL_08ABE97C; + } + goto RL_08ABE92C; + } +RL_08ABE92C: + r5 = (aot_mem.aot_direct_load32(r5 + static_cast(296))); + r6 = (r6 - r4); + r6 = (r6 + static_cast(-1)); + r6 = (r6 >> 10u); + r6 = (r6 << 2u); + r5 = (r5 + r6); + r5 = (aot_mem.aot_direct_load32(r5 + static_cast(0))); + r6 = (aot_mem.aot_direct_load32(r5 + static_cast(4))); + aot_mem.aot_direct_store32(r4 + static_cast(0), r6); + { const bool branch_taken = 0u == 0u; + aot_mem.aot_direct_store32(r5 + static_cast(4), r4); + if (branch_taken) { + goto RL_08ABE97C; + } + goto RL_08ABE958; + } +RL_08ABE958: + r6 = (r5 | 0u); + r5 = (0u + static_cast(8)); + r4 = (r4 - r5); + r7 = (aot_mem.aot_direct_load32(r6 + static_cast(20))); + r8 = (aot_mem.aot_direct_load32(r4 + static_cast(0))); + r5 = (r6 + static_cast(8)); + r7 = (r7 - r8); + r31 = (0x08ABE97Cu); + aot_mem.aot_direct_store32(r6 + static_cast(20), r7); + goto RL_08ABF8B4; +RL_08ABE97C: + r31 = (aot_mem.aot_direct_load32(r29 + static_cast(0))); + jump_target = r31; + r29 = (r29 + static_cast(16)); + pc = jump_target; + return; +RL_08ABF8B4: + r29 = (r29 + static_cast(-32)); + aot_mem.aot_direct_store32(r29 + static_cast(0), r16); + aot_mem.aot_direct_store32(r29 + static_cast(4), r17); + r16 = (r5 | 0u); + r17 = (r4 | 0u); + { const std::uint32_t aot_run_words[4]{r18, r19, r20, r31}; + aot_mem.aot_direct_store32_block(r29 + static_cast(8), aot_run_words); } + r31 = (0x08ABF8E0u); + r5 = (0u | 0u); + goto RL_08ABFC04; +RL_08ABFC04: + jump_target = r31; + // nop + pc = jump_target; + return; +} + +void vcs_resident_region_08ABE398(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r6, std::uint32_t &r7, std::uint32_t &r8, std::uint32_t &r16, std::uint32_t &r17, std::uint32_t &r18, std::uint32_t &r19, std::uint32_t &r20, std::uint32_t &r29, std::uint32_t &r31) noexcept { + std::uint32_t jump_target = 0u; + goto RL_08ABE398; +RL_08ABE398: + r29 = (r29 + static_cast(-16)); + r5 = (r4 | 0u); + r4 = (2236u << 16u); + aot_mem.aot_direct_store32(r29 + static_cast(0), r31); + r31 = (0x08ABE3B0u); + r4 = (r4 + static_cast(25856)); + goto RL_08ABE8F4; +RL_08ABE8F4: + r29 = (r29 + static_cast(-16)); + r6 = (r5 | 0u); + r5 = (r4 | 0u); + aot_mem.aot_direct_store32(r29 + static_cast(0), r31); + { const bool branch_taken = r6 == 0u; + r4 = (r6 | 0u); + if (branch_taken) { + goto RL_08ABE924; + } + goto RL_08ABE90C; + } +RL_08ABE90C: + r6 = (aot_mem.aot_direct_load32(r5 + static_cast(16))); + r6 = (r4 < r6 ? 1u : 0u); + if (r6 == 0u) { + r6 = (aot_mem.aot_direct_load32(r5 + static_cast(28))); + goto RL_08ABE92C; + } + goto RL_08ABE91C; +RL_08ABE91C: + { const bool branch_taken = 0u == 0u; + // nop + if (branch_taken) { + goto RL_08ABE958; + } + goto RL_08ABE924; + } +RL_08ABE924: + { const bool branch_taken = 0u == 0u; + // nop + if (branch_taken) { + goto RL_08ABE97C; + } + goto RL_08ABE92C; + } +RL_08ABE92C: + r5 = (aot_mem.aot_direct_load32(r5 + static_cast(296))); + r6 = (r6 - r4); + r6 = (r6 + static_cast(-1)); + r6 = (r6 >> 10u); + r6 = (r6 << 2u); + r5 = (r5 + r6); + r5 = (aot_mem.aot_direct_load32(r5 + static_cast(0))); + r6 = (aot_mem.aot_direct_load32(r5 + static_cast(4))); + aot_mem.aot_direct_store32(r4 + static_cast(0), r6); + { const bool branch_taken = 0u == 0u; + aot_mem.aot_direct_store32(r5 + static_cast(4), r4); + if (branch_taken) { + goto RL_08ABE97C; + } + goto RL_08ABE958; + } +RL_08ABE958: + r6 = (r5 | 0u); + r5 = (0u + static_cast(8)); + r4 = (r4 - r5); + r7 = (aot_mem.aot_direct_load32(r6 + static_cast(20))); + r8 = (aot_mem.aot_direct_load32(r4 + static_cast(0))); + r5 = (r6 + static_cast(8)); + r7 = (r7 - r8); + r31 = (0x08ABE97Cu); + aot_mem.aot_direct_store32(r6 + static_cast(20), r7); + goto RL_08ABF8B4; +RL_08ABE97C: + r31 = (aot_mem.aot_direct_load32(r29 + static_cast(0))); + jump_target = r31; + r29 = (r29 + static_cast(16)); + pc = jump_target; + return; +RL_08ABF8B4: + r29 = (r29 + static_cast(-32)); + aot_mem.aot_direct_store32(r29 + static_cast(0), r16); + aot_mem.aot_direct_store32(r29 + static_cast(4), r17); + r16 = (r5 | 0u); + r17 = (r4 | 0u); + { const std::uint32_t aot_run_words[4]{r18, r19, r20, r31}; + aot_mem.aot_direct_store32_block(r29 + static_cast(8), aot_run_words); } + r31 = (0x08ABF8E0u); + r5 = (0u | 0u); + goto RL_08ABFC04; +RL_08ABFC04: + jump_target = r31; + // nop + pc = jump_target; + return; +} + +void vcs_resident_region_08ABE8F4(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r6, std::uint32_t &r7, std::uint32_t &r8, std::uint32_t &r16, std::uint32_t &r17, std::uint32_t &r18, std::uint32_t &r19, std::uint32_t &r20, std::uint32_t &r29, std::uint32_t &r31) noexcept { + std::uint32_t jump_target = 0u; + goto RL_08ABE8F4; +RL_08ABE8F4: + r29 = (r29 + static_cast(-16)); + r6 = (r5 | 0u); + r5 = (r4 | 0u); + aot_mem.aot_direct_store32(r29 + static_cast(0), r31); + { const bool branch_taken = r6 == 0u; + r4 = (r6 | 0u); + if (branch_taken) { + goto RL_08ABE924; + } + goto RL_08ABE90C; + } +RL_08ABE90C: + r6 = (aot_mem.aot_direct_load32(r5 + static_cast(16))); + r6 = (r4 < r6 ? 1u : 0u); + if (r6 == 0u) { + r6 = (aot_mem.aot_direct_load32(r5 + static_cast(28))); + goto RL_08ABE92C; + } + goto RL_08ABE91C; +RL_08ABE91C: + { const bool branch_taken = 0u == 0u; + // nop + if (branch_taken) { + goto RL_08ABE958; + } + goto RL_08ABE924; + } +RL_08ABE924: + { const bool branch_taken = 0u == 0u; + // nop + if (branch_taken) { + goto RL_08ABE97C; + } + goto RL_08ABE92C; + } +RL_08ABE92C: + r5 = (aot_mem.aot_direct_load32(r5 + static_cast(296))); + r6 = (r6 - r4); + r6 = (r6 + static_cast(-1)); + r6 = (r6 >> 10u); + r6 = (r6 << 2u); + r5 = (r5 + r6); + r5 = (aot_mem.aot_direct_load32(r5 + static_cast(0))); + r6 = (aot_mem.aot_direct_load32(r5 + static_cast(4))); + aot_mem.aot_direct_store32(r4 + static_cast(0), r6); + { const bool branch_taken = 0u == 0u; + aot_mem.aot_direct_store32(r5 + static_cast(4), r4); + if (branch_taken) { + goto RL_08ABE97C; + } + goto RL_08ABE958; + } +RL_08ABE958: + r6 = (r5 | 0u); + r5 = (0u + static_cast(8)); + r4 = (r4 - r5); + r7 = (aot_mem.aot_direct_load32(r6 + static_cast(20))); + r8 = (aot_mem.aot_direct_load32(r4 + static_cast(0))); + r5 = (r6 + static_cast(8)); + r7 = (r7 - r8); + r31 = (0x08ABE97Cu); + aot_mem.aot_direct_store32(r6 + static_cast(20), r7); + goto RL_08ABF8B4; +RL_08ABE97C: + r31 = (aot_mem.aot_direct_load32(r29 + static_cast(0))); + jump_target = r31; + r29 = (r29 + static_cast(16)); + pc = jump_target; + return; +RL_08ABF8B4: + r29 = (r29 + static_cast(-32)); + aot_mem.aot_direct_store32(r29 + static_cast(0), r16); + aot_mem.aot_direct_store32(r29 + static_cast(4), r17); + r16 = (r5 | 0u); + r17 = (r4 | 0u); + { const std::uint32_t aot_run_words[4]{r18, r19, r20, r31}; + aot_mem.aot_direct_store32_block(r29 + static_cast(8), aot_run_words); } + r31 = (0x08ABF8E0u); + r5 = (0u | 0u); + goto RL_08ABFC04; +RL_08ABFC04: + jump_target = r31; + // nop + pc = jump_target; + return; +} + +void vcs_resident_region_08AC7670(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r31) noexcept { + std::uint32_t jump_target = 0u; + goto RL_08AC7670; +RL_08AC7670: + jump_target = r31; + r2 = (r4 + static_cast(48)); + pc = jump_target; + return; +} + +void vcs_resident_region_08AC79D4(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r31) noexcept { + std::uint32_t jump_target = 0u; + goto RL_08AC79D4; +RL_08AC79D4: + jump_target = r31; + r2 = (r4 + static_cast(2228)); + pc = jump_target; + return; +} + +void vcs_resident_region_08AC7C50(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r31) noexcept { + std::uint32_t jump_target = 0u; + goto RL_08AC7C50; +RL_08AC7C50: + jump_target = r31; + r2 = (aot_mem.aot_direct_load32(r4 + static_cast(1152))); + pc = jump_target; + return; +} + +void vcs_resident_region_08AC7C58(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r31) noexcept { + std::uint32_t jump_target = 0u; + goto RL_08AC7C58; +RL_08AC7C58: + jump_target = r31; + r2 = (aot_mem.aot_direct_load32(r4 + static_cast(1156))); + pc = jump_target; + return; +} + +void vcs_resident_region_08AC8054(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r31) noexcept { + std::uint32_t jump_target = 0u; + goto RL_08AC8054; +RL_08AC8054: + jump_target = r31; + r2 = (aot_mem.aot_direct_load32(r4 + static_cast(2192))); + pc = jump_target; + return; +} + +void vcs_resident_region_08ADC734(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r31) noexcept { + std::uint32_t jump_target = 0u; + goto RL_08ADC734; +RL_08ADC734: + jump_target = r31; + r2 = (aot_mem.aot_direct_load32(r4 + static_cast(20))); + pc = jump_target; + return; +} + +void vcs_resident_region_08ADC754(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r31) noexcept { + std::uint32_t jump_target = 0u; + goto RL_08ADC754; +RL_08ADC754: + jump_target = r31; + r2 = (aot_mem.aot_direct_load32(r4 + static_cast(24))); + pc = jump_target; + return; +} + +void vcs_resident_region_08ADC784(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r31) noexcept { + std::uint32_t jump_target = 0u; + goto RL_08ADC784; +RL_08ADC784: + jump_target = r31; + r2 = (aot_mem.aot_direct_load32(r4 + static_cast(40))); + pc = jump_target; + return; +} + +void vcs_resident_region_08AF42C4(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r31) noexcept { + std::uint32_t jump_target = 0u; + goto RL_08AF42C4; +RL_08AF42C4: + aot_mem.aot_direct_store32(r4 + static_cast(0), 0u); + jump_target = r31; + r2 = (r4 | 0u); + pc = jump_target; + return; +} + +void vcs_resident_region_08AF42D0(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r16, std::uint32_t &r17, std::uint32_t &r29, std::uint32_t &r31) noexcept { + std::uint32_t jump_target = 0u; + goto RL_08AF42D0; +RL_08AF42D0: + r29 = (r29 + static_cast(-16)); + aot_mem.aot_direct_store32(r29 + static_cast(4), r17); + r17 = (r4 | 0u); + aot_mem.aot_direct_store32(r29 + static_cast(0), r16); + aot_mem.aot_direct_store32(r29 + static_cast(8), r31); + { const bool branch_taken = r4 == 0u; + r16 = (r5 | 0u); + if (branch_taken) { + goto RL_08AF4308; + } + goto RL_08AF42EC; + } +RL_08AF42EC: + r31 = (0x08AF42F4u); + r4 = (r17 | 0u); + goto RL_08AF44D0; +RL_08AF4308: + { std::uint32_t aot_run_words[3]{}; + aot_mem.aot_direct_load32_block(r29 + static_cast(0), aot_run_words); + r16 = aot_run_words[0]; + r17 = aot_run_words[1]; + r31 = aot_run_words[2]; + } + jump_target = r31; + r29 = (r29 + static_cast(16)); + pc = jump_target; + return; +RL_08AF44D0: + r5 = (aot_mem.aot_direct_load32(r4 + static_cast(0))); + { const bool branch_taken = r5 == 0u; + // nop + if (branch_taken) { + goto RL_08AF44E0; + } + goto RL_08AF44DC; + } +RL_08AF44DC: + aot_mem.aot_direct_store32(r4 + static_cast(0), 0u); + goto RL_08AF44E0; +RL_08AF44E0: + jump_target = r31; + // nop + pc = jump_target; + return; +} + +void vcs_resident_region_08AF44E8(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r16, std::uint32_t &r17, std::uint32_t &r29, std::uint32_t &r31) noexcept { + std::uint32_t jump_target = 0u; + goto RL_08AF44E8; +RL_08AF44D0: + r5 = (aot_mem.aot_direct_load32(r4 + static_cast(0))); + { const bool branch_taken = r5 == 0u; + // nop + if (branch_taken) { + goto RL_08AF44E0; + } + goto RL_08AF44DC; + } +RL_08AF44DC: + aot_mem.aot_direct_store32(r4 + static_cast(0), 0u); + goto RL_08AF44E0; +RL_08AF44E0: + jump_target = r31; + // nop + pc = jump_target; + return; +RL_08AF44E8: + r29 = (r29 + static_cast(-16)); + aot_mem.aot_direct_store32(r29 + static_cast(4), r17); + r17 = (r4 | 0u); + aot_mem.aot_direct_store32(r29 + static_cast(0), r16); + aot_mem.aot_direct_store32(r29 + static_cast(8), r31); + r31 = (0x08AF4504u); + r16 = (r5 | 0u); + goto RL_08AF44D0; +} + +void vcs_resident_region_08AF80D8(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r16, std::uint32_t &r17, std::uint32_t &r18, std::uint32_t &r29, std::uint32_t &r31) noexcept { + std::uint32_t jump_target = 0u; + goto RL_08AF80D8; +RL_08AF80D8: + { std::uint32_t aot_run_words[4]{}; + aot_mem.aot_direct_load32_block(r29 + static_cast(84), aot_run_words); + r16 = aot_run_words[0]; + r17 = aot_run_words[1]; + r18 = aot_run_words[2]; + r31 = aot_run_words[3]; + } + jump_target = r31; + r29 = (r29 + static_cast(112)); + pc = jump_target; + return; +} + +void vcs_resident_region_08AFEDA8(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r31) noexcept { + std::uint32_t jump_target = 0u; + goto RL_08AFEDA8; +RL_08AFEDA8: + jump_target = r31; + r2 = (r4 | 0u); + pc = jump_target; + return; +} + +void vcs_resident_region_08B01E00(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r6, std::uint32_t &r31) noexcept { + std::uint32_t jump_target = 0u; + goto RL_08B01E00; +RL_08B01E00: + r4 = (aot_mem.aot_direct_load32(r4 + static_cast(352))); + r5 = (256u << 16u); + r6 = (aot_mem.aot_direct_load32(r4 + static_cast(208))); + r5 = (r6 & r5); + r5 = (0u < r5 ? 1u : 0u); + r5 = (r5 & 255u); + { const bool branch_taken = r5 != 0u; + // nop + if (branch_taken) { + goto RL_08B01E8C; + } + goto RL_08B01E20; + } +RL_08B01E20: + r5 = (aot_mem.aot_direct_load32(r4 + static_cast(208))); + r6 = (512u << 16u); + r5 = (r5 & r6); + r5 = (0u < r5 ? 1u : 0u); + r5 = (r5 & 255u); + { const bool branch_taken = r5 != 0u; + // nop + if (branch_taken) { + goto RL_08B01E84; + } + goto RL_08B01E3C; + } +RL_08B01E3C: + r5 = (aot_mem.aot_direct_load32(r4 + static_cast(208))); + r6 = (1024u << 16u); + r5 = (r5 & r6); + r5 = (0u < r5 ? 1u : 0u); + r5 = (r5 & 255u); + { const bool branch_taken = r5 != 0u; + // nop + if (branch_taken) { + goto RL_08B01E7C; + } + goto RL_08B01E58; + } +RL_08B01E58: + r4 = (aot_mem.aot_direct_load32(r4 + static_cast(208))); + r5 = (2048u << 16u); + r4 = (r4 & r5); + r4 = (0u < r4 ? 1u : 0u); + r4 = (r4 & 255u); + { const bool branch_taken = r4 == 0u; + // nop + if (branch_taken) { + goto RL_08B01E94; + } + goto RL_08B01E74; + } +RL_08B01E74: + { const bool branch_taken = 0u == 0u; + r2 = (0u | 4u); + if (branch_taken) { + goto RL_08B01E98; + } + goto RL_08B01E7C; + } +RL_08B01E7C: + { const bool branch_taken = 0u == 0u; + r2 = (0u | 5u); + if (branch_taken) { + goto RL_08B01E98; + } + goto RL_08B01E84; + } +RL_08B01E84: + { const bool branch_taken = 0u == 0u; + r2 = (0u | 3u); + if (branch_taken) { + goto RL_08B01E98; + } + goto RL_08B01E8C; + } +RL_08B01E8C: + { const bool branch_taken = 0u == 0u; + r2 = (0u | 2u); + if (branch_taken) { + goto RL_08B01E98; + } + goto RL_08B01E94; + } +RL_08B01E94: + r2 = (0u | 1u); + goto RL_08B01E98; +RL_08B01E98: + jump_target = r31; + // nop + pc = jump_target; + return; +} + +void vcs_resident_region_08B0C05C(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r6, std::uint32_t &r7, std::uint32_t &r16, std::uint32_t &r28, std::uint32_t &r29, std::uint32_t &r31) noexcept { + std::uint32_t jump_target = 0u; + goto RL_08B0C05C; +RL_08B0C05C: + r29 = (r29 + static_cast(-32)); + aot_mem.aot_direct_store32(r29 + static_cast(20), r16); + r16 = (0u | 255u); + aot_mem.aot_direct_store8(r29 + static_cast(0), static_cast(r16)); + aot_mem.aot_direct_store8(r29 + static_cast(1), static_cast(r16)); + aot_mem.aot_direct_store8(r29 + static_cast(2), static_cast(r16)); + aot_mem.aot_direct_store8(r29 + static_cast(3), static_cast(r16)); + aot_mem.aot_direct_store32(r29 + static_cast(24), r31); + r31 = (0x08B0C084u); + r4 = (r29 | 0u); + goto RL_08B0C4A8; +RL_08B0C4A8: + r5 = (aot_mem.aot_direct_load8(r4 + static_cast(0))); + r6 = (aot_mem.aot_direct_load8(r4 + static_cast(1))); + r7 = (aot_mem.aot_direct_load8(r4 + static_cast(2))); + aot_mem.aot_direct_store8(r28 + static_cast(10440), static_cast(r5)); + r4 = (aot_mem.aot_direct_load8(r4 + static_cast(3))); + aot_mem.aot_direct_store8(r28 + static_cast(10441), static_cast(r6)); + aot_mem.aot_direct_store8(r28 + static_cast(10442), static_cast(r7)); + jump_target = r31; + aot_mem.aot_direct_store8(r28 + static_cast(10443), static_cast(r4)); + pc = jump_target; + return; +} + +void vcs_resident_region_08B0C138(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r6, std::uint32_t &r16, std::uint32_t &r17, std::uint32_t &r18, std::uint32_t &r19, std::uint32_t &r20, std::uint32_t &r28, std::uint32_t &r29, std::uint32_t &r31) noexcept { + std::uint32_t jump_target = 0u; + goto RL_08B0C138; +RL_08B0C138: + r29 = (r29 + static_cast(-32)); + aot_mem.aot_direct_store32(r29 + static_cast(0), r16); + aot_mem.aot_direct_store32(r29 + static_cast(4), r17); + r16 = (r6 | 0u); + r17 = (r5 | 0u); + { const std::uint32_t aot_run_words[4]{r18, r19, r20, r31}; + aot_mem.aot_direct_store32_block(r29 + static_cast(8), aot_run_words); } + r31 = (0x08B0C164u); + r18 = (r4 | 0u); + goto RL_08B0C4CC; +RL_08B0C4CC: + jump_target = r31; + r2 = (r28 + static_cast(10440)); + pc = jump_target; + return; +} + +void vcs_resident_region_08B0C498(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r4, std::uint32_t &r28, std::uint32_t &r31) noexcept { + std::uint32_t jump_target = 0u; + goto RL_08B0C498; +RL_08B0C498: + jump_target = r31; + aot_mem.aot_direct_store32(r28 + static_cast(1972), r4); + pc = jump_target; + return; +} + +void vcs_resident_region_08B0C4A8(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r6, std::uint32_t &r7, std::uint32_t &r28, std::uint32_t &r31) noexcept { + std::uint32_t jump_target = 0u; + goto RL_08B0C4A8; +RL_08B0C4A8: + r5 = (aot_mem.aot_direct_load8(r4 + static_cast(0))); + r6 = (aot_mem.aot_direct_load8(r4 + static_cast(1))); + r7 = (aot_mem.aot_direct_load8(r4 + static_cast(2))); + aot_mem.aot_direct_store8(r28 + static_cast(10440), static_cast(r5)); + r4 = (aot_mem.aot_direct_load8(r4 + static_cast(3))); + aot_mem.aot_direct_store8(r28 + static_cast(10441), static_cast(r6)); + aot_mem.aot_direct_store8(r28 + static_cast(10442), static_cast(r7)); + jump_target = r31; + aot_mem.aot_direct_store8(r28 + static_cast(10443), static_cast(r4)); + pc = jump_target; + return; +} + +void vcs_resident_region_08B0C604(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r28, std::uint32_t &r29, std::uint32_t &r31) noexcept { + std::uint32_t jump_target = 0u; + goto RL_08B0C604; +RL_08B0C4A0: + jump_target = r31; + r2 = (aot_mem.aot_direct_load32(r28 + static_cast(1972))); + pc = jump_target; + return; +RL_08B0C604: + r29 = (r29 + static_cast(-16)); + aot_mem.aot_direct_store32(r29 + static_cast(0), r31); + r31 = (0x08B0C614u); + aot_mem.aot_direct_store32(r28 + static_cast(1988), r4); + goto RL_08B0C4A0; +} + +void vcs_resident_region_08B0D88C(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r31) noexcept { + std::uint32_t jump_target = 0u; + goto RL_08B0D88C; +RL_08B0D88C: + r5 = (r5 << 1u); + r4 = (aot_mem.aot_direct_load32(r4 + static_cast(16))); + r5 = (r5 & 255u); + r2 = (r4 >> (r5 & 31u)); + jump_target = r31; + r2 = (r2 & 3u); + pc = jump_target; + return; +} + +void vcs_resident_region_08B1FD70(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r6, std::uint32_t &r7, std::uint32_t &r28, std::uint32_t &r31) noexcept { + std::uint32_t jump_target = 0u; + goto RL_08B1FD70; +RL_08B1FD70: + r7 = (r4 << 7u); + r6 = (aot_mem.aot_direct_load8(r28 + static_cast(-7080))); + r4 = (r4 << 4u); + r5 = (aot_mem.aot_direct_load32(r28 + static_cast(10576))); + { const bool branch_taken = r6 == 0u; + r4 = (r7 - r4); + if (branch_taken) { + goto RL_08B1FD94; + } + goto RL_08B1FD88; + } +RL_08B1FD88: + r2 = (aot_mem.aot_direct_load32(r5 + static_cast(0))); + { const bool branch_taken = 0u == 0u; + r2 = (r2 + r4); + if (branch_taken) { + goto RL_08B1FD9C; + } + goto RL_08B1FD94; + } +RL_08B1FD94: + r2 = (aot_mem.aot_direct_load32(r5 + static_cast(4))); + r2 = (r2 + r4); + goto RL_08B1FD9C; +RL_08B1FD9C: + jump_target = r31; + // nop + pc = jump_target; + return; +} + +void vcs_resident_region_08B20934(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &hi, std::uint32_t &lo, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r6, std::uint32_t &r7, std::uint32_t &r28, std::uint32_t &r31) noexcept { + std::uint32_t jump_target = 0u; + goto RL_08B20934; +RL_08B20934: + r4 = (aot_mem.aot_direct_load32(r28 + static_cast(3648))); + r5 = (2u << 16u); + r5 = (r5 + static_cast(-3299)); + { const std::int32_t dividend = static_cast(r4); const std::int32_t divisor = static_cast(r5); if (divisor == 0) { lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { lo = 0x80000000u; hi = 0u; } else { lo = static_cast(dividend / divisor); hi = static_cast(dividend % divisor); } } + r4 = (0u + static_cast(16807)); + r5 = (0u + static_cast(2836)); + r6 = (hi); + r7 = (lo); + // nop + // nop + { const std::int64_t product = static_cast(static_cast(r6)) * static_cast(static_cast(r4)); lo = static_cast(product); hi = static_cast(static_cast(product) >> 32u); } + r2 = (lo); + // nop + // nop + { const std::int64_t product = static_cast(static_cast(r7)) * static_cast(static_cast(r5)); lo = static_cast(product); hi = static_cast(static_cast(product) >> 32u); } + r4 = (lo); + r2 = (r2 - r4); + { const bool branch_taken = static_cast(r2) > 0; + aot_mem.aot_direct_store32(r28 + static_cast(3648), r2); + if (branch_taken) { + goto RL_08B20990; + } + goto RL_08B20980; + } +RL_08B20980: + r4 = (32768u << 16u); + r4 = (r4 + static_cast(-1)); + r2 = (r2 + r4); + aot_mem.aot_direct_store32(r28 + static_cast(3648), r2); + goto RL_08B20990; +RL_08B20990: + jump_target = r31; + // nop + pc = jump_target; + return; +} + +void vcs_resident_region_08B20998(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &hi, std::uint32_t &lo, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r6, std::uint32_t &r7, std::uint32_t &r28, std::uint32_t &r29, std::uint32_t &r31) noexcept { + std::uint32_t jump_target = 0u; + goto RL_08B20998; +RL_08B20934: + r4 = (aot_mem.aot_direct_load32(r28 + static_cast(3648))); + r5 = (2u << 16u); + r5 = (r5 + static_cast(-3299)); + { const std::int32_t dividend = static_cast(r4); const std::int32_t divisor = static_cast(r5); if (divisor == 0) { lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; hi = static_cast(dividend); } else if (dividend == static_cast(0x80000000u) && divisor == -1) { lo = 0x80000000u; hi = 0u; } else { lo = static_cast(dividend / divisor); hi = static_cast(dividend % divisor); } } + r4 = (0u + static_cast(16807)); + r5 = (0u + static_cast(2836)); + r6 = (hi); + r7 = (lo); + // nop + // nop + { const std::int64_t product = static_cast(static_cast(r6)) * static_cast(static_cast(r4)); lo = static_cast(product); hi = static_cast(static_cast(product) >> 32u); } + r2 = (lo); + // nop + // nop + { const std::int64_t product = static_cast(static_cast(r7)) * static_cast(static_cast(r5)); lo = static_cast(product); hi = static_cast(static_cast(product) >> 32u); } + r4 = (lo); + r2 = (r2 - r4); + { const bool branch_taken = static_cast(r2) > 0; + aot_mem.aot_direct_store32(r28 + static_cast(3648), r2); + if (branch_taken) { + goto RL_08B20990; + } + goto RL_08B20980; + } +RL_08B20980: + r4 = (32768u << 16u); + r4 = (r4 + static_cast(-1)); + r2 = (r2 + r4); + aot_mem.aot_direct_store32(r28 + static_cast(3648), r2); + goto RL_08B20990; +RL_08B20990: + jump_target = r31; + // nop + pc = jump_target; + return; +RL_08B20998: + r29 = (r29 + static_cast(-16)); + aot_mem.aot_direct_store32(r29 + static_cast(0), r31); + r31 = (0x08B209A8u); + // nop + goto RL_08B20934; +} + +void vcs_resident_region_08B58100(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r6, std::uint32_t &r7, std::uint32_t &r8, std::uint32_t &r9, std::uint32_t &r31) noexcept { + std::uint32_t jump_target = 0u; + goto RL_08B58100; +RL_08B58100: + r7 = (r4 | 0u); + r8 = (r6 | 0u); + r4 = (r6 + static_cast(-1)); + { const bool branch_taken = r8 == 0u; + r6 = (r4 | 0u); + if (branch_taken) { + goto RL_08B5813C; + } + goto RL_08B58114; + } +RL_08B58114: + r9 = (aot_mem.aot_direct_load8(r7 + static_cast(0))); + r8 = (aot_mem.aot_direct_load8(r5 + static_cast(0))); + { const bool branch_taken = r9 != r8; + // nop + if (branch_taken) { + goto RL_08B58144; + } + goto RL_08B58124; + } +RL_08B58124: + r8 = (r4 | 0u); + r4 = (r6 + static_cast(-1)); + r7 = (r7 + static_cast(1)); + r5 = (r5 + static_cast(1)); + { const bool branch_taken = r8 != 0u; + r6 = (r4 | 0u); + if (branch_taken) { + goto RL_08B58114; + } + goto RL_08B5813C; + } +RL_08B5813C: + jump_target = r31; + r2 = (0u | 0u); + pc = jump_target; + return; +RL_08B58144: + jump_target = r31; + r2 = (r9 - r8); + pc = jump_target; + return; +} + +void vcs_resident_region_08B5814C(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r6, std::uint32_t &r7, std::uint32_t &r8, std::uint32_t &r9, std::uint32_t &r31) noexcept { + std::uint32_t jump_target = 0u; + goto RL_08B5814C; +RL_08B5814C: + r9 = (r6 | 0u); + r7 = (r6 + static_cast(-1)); + r8 = (r4 | 0u); + { const bool branch_taken = r9 == 0u; + r6 = (r7 | 0u); + if (branch_taken) { + goto RL_08B58178; + } + goto RL_08B58160; + } +RL_08B58160: + r9 = (r7 | 0u); + aot_mem.aot_direct_store8(r8 + static_cast(0), static_cast(r5)); + r7 = (r6 + static_cast(-1)); + r8 = (r8 + static_cast(1)); + { const bool branch_taken = r9 != 0u; + r6 = (r7 | 0u); + if (branch_taken) { + goto RL_08B58160; + } + goto RL_08B58178; + } +RL_08B58178: + jump_target = r31; + r2 = (r4 | 0u); + pc = jump_target; + return; +} + +void vcs_resident_region_08B58974(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r6, std::uint32_t &r31) noexcept { + std::uint32_t jump_target = 0u; + goto RL_08B58974; +RL_08B58974: + r6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(r4 + static_cast(0)))))); + { const bool branch_taken = r6 == 0u; + r5 = (r4 | 0u); + if (branch_taken) { + goto RL_08B58990; + } + goto RL_08B58980; + } +RL_08B58980: + r4 = (r4 + static_cast(1)); + goto RL_08B58984; +RL_08B58984: + r6 = (static_cast(static_cast(static_cast(aot_mem.aot_direct_load8(r4 + static_cast(0)))))); + if (r6 != 0u) { + r4 = (r4 + static_cast(1)); + goto RL_08B58984; + } + goto RL_08B58990; +RL_08B58990: + jump_target = r31; + r2 = (r4 - r5); + pc = jump_target; + return; +} + +void vcs_resident_region_08B60680(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r1, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r16, std::uint32_t &r17, std::uint32_t &r18, std::uint32_t &r29, std::uint32_t &r31) noexcept { + std::uint32_t jump_target = 0u; + goto RL_08B60680; +RL_08B60664: + r29 = (r29 + static_cast(-32)); + aot_mem.aot_direct_store32(r29 + static_cast(16), r31); + r31 = (0x08B60674u); + r4 = (0u | 4u); + goto RL_08B607D8; +RL_08B60680: + r29 = (r29 + static_cast(-16)); + r5 = (aot_mem.aot_direct_load32(r4 + static_cast(0))); + aot_mem.aot_direct_store32(r29 + static_cast(0), r16); + r16 = (r4 | 0u); + aot_mem.aot_direct_store32(r29 + static_cast(4), r17); + aot_mem.aot_direct_store32(r29 + static_cast(8), r31); + { const bool branch_taken = r5 != 0u; + r17 = (2236u << 16u); + if (branch_taken) { + goto RL_08B606AC; + } + goto RL_08B606A0; + } +RL_08B606A0: + r4 = (aot_mem.aot_direct_load32(r17 + static_cast(17068))); + if (r16 != r4) { + r4 = (aot_mem.aot_direct_load32(r17 + static_cast(17068))); + goto RL_08B606B8; + } + goto RL_08B606AC; +RL_08B606AC: + r31 = (0x08B606B4u); + // nop + goto RL_08B60664; +RL_08B606B8: + aot_mem.aot_direct_store32(r16 + static_cast(0), r4); + aot_mem.aot_direct_store32(r17 + static_cast(17068), r16); + { std::uint32_t aot_run_words[3]{}; + aot_mem.aot_direct_load32_block(r29 + static_cast(0), aot_run_words); + r16 = aot_run_words[0]; + r17 = aot_run_words[1]; + r31 = aot_run_words[2]; + } + jump_target = r31; + r29 = (r29 + static_cast(16)); + pc = jump_target; + return; +RL_08B606D4: + r4 = (r4 + static_cast(-1)); + r5 = (r4 < static_cast(9) ? 1u : 0u); + { const bool branch_taken = r5 == 0u; + r2 = (0u | 0u); + if (branch_taken) { + goto RL_08B60764; + } + goto RL_08B606E4; + } +RL_08B606E4: + r4 = (r4 << 2u); + r1 = (2233u << 16u); + r1 = (r1 + r4); + r1 = (aot_mem.aot_direct_load32(r1 + static_cast(-25032))); + jump_target = r1; + // nop + pc = jump_target; + return; +RL_08B60764: + jump_target = r31; + // nop + pc = jump_target; + return; +RL_08B6076C: + r29 = (r29 + static_cast(-32)); + aot_mem.aot_direct_store32(r29 + static_cast(16), r16); + r16 = (r4 | 0u); + r4 = (2234u << 16u); + r5 = (aot_mem.aot_direct_load32(r4 + static_cast(15532))); + aot_mem.aot_direct_store32(r29 + static_cast(20), r17); + r17 = (aot_mem.aot_direct_load32(r5 + static_cast(12))); + r4 = (0u | 1u); + r5 = (2233u << 16u); + aot_mem.aot_direct_store32(r29 + static_cast(24), r18); + aot_mem.aot_direct_store32(r29 + static_cast(28), r31); + r31 = (0x08B607A0u); + r18 = (r5 + static_cast(-25044)); + goto RL_08B606D4; +RL_08B607D8: + r29 = (r29 + static_cast(-32)); + aot_mem.aot_direct_store32(r29 + static_cast(16), r31); + r31 = (0x08B607E8u); + // nop + goto RL_08B6076C; +} + +void vcs_resident_region_08B60E5C(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &hi, std::uint32_t &lo, std::uint32_t &r2, std::uint32_t &r3, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r6, std::uint32_t &r7, std::uint32_t &r9, std::uint32_t &r10, std::uint32_t &r31) noexcept { + std::uint32_t jump_target = 0u; + goto RL_08B60E5C; +RL_08B60E5C: + { const std::int64_t product = static_cast(static_cast(r5)) * static_cast(static_cast(r6)); lo = static_cast(product); hi = static_cast(static_cast(product) >> 32u); } + r10 = (lo); + { const std::uint64_t product = static_cast(r4) * static_cast(r6); lo = static_cast(product); hi = static_cast(product >> 32u); } + r9 = (hi); + r2 = (lo); + { const std::int64_t product = static_cast(static_cast(r4)) * static_cast(static_cast(r7)); lo = static_cast(product); hi = static_cast(static_cast(product) >> 32u); } + r4 = (lo); + r4 = (r4 + r10); + jump_target = r31; + r3 = (r4 + r9); + pc = jump_target; + return; +} + +void vcs_resident_region_08B61B60(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r2, std::uint32_t &r3, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r6, std::uint32_t &r7, std::uint32_t &r29, std::uint32_t &r31, float &f12) noexcept { + std::uint32_t jump_target = 0u; + goto RL_08B61B60; +RL_08B61B60: + r29 = (r29 + static_cast(-48)); + r4 = (r29 + static_cast(16)); + r5 = (r29 + 0u); + aot_mem.aot_direct_store32(r29 + static_cast(32), r31); + r31 = (0x08B61B78u); + aot_mem.aot_direct_store32(r29 + static_cast(16), std::bit_cast(f12)); + goto RL_08B62868; +RL_08B62868: + r2 = (aot_mem.aot_direct_load32(r4 + static_cast(0))); + r3 = (127u << 16u); + r3 = (r3 | 65535u); + r6 = (r2 >> 23u); + r4 = (r2 >> 31u); + r6 = (r6 & 255u); + aot_mem.aot_direct_store32(r5 + static_cast(4), r4); + { const bool branch_taken = r6 != 0u; + r7 = (r2 & r3); + if (branch_taken) { + goto RL_08B628E4; + } + goto RL_08B6288C; + } +RL_08B6288C: + { const bool branch_taken = r7 == 0u; + r2 = (0u + static_cast(2)); + if (branch_taken) { + goto RL_08B628DC; + } + goto RL_08B62894; + } +RL_08B62894: + r2 = (16383u << 16u); + r7 = (r7 << 7u); + r2 = (r2 | 65535u); + r3 = (0u + static_cast(-126)); + r4 = (0u + static_cast(3)); + r2 = (r2 < r7 ? 1u : 0u); + aot_mem.aot_direct_store32(r5 + static_cast(8), r3); + { const bool branch_taken = r2 != 0u; + aot_mem.aot_direct_store32(r5 + static_cast(0), r4); + if (branch_taken) { + goto RL_08B628D4; + } + goto RL_08B628B8; + } +RL_08B628B8: + r4 = (16383u << 16u); + r4 = (r4 | 65535u); + goto RL_08B628C0; +RL_08B628C0: + r7 = (r7 << 1u); + r2 = (r4 < r7 ? 1u : 0u); + { const bool branch_taken = r2 == 0u; + r3 = (r3 + static_cast(-1)); + if (branch_taken) { + goto RL_08B628C0; + } + goto RL_08B628D0; + } +RL_08B628D0: + aot_mem.aot_direct_store32(r5 + static_cast(8), r3); + goto RL_08B628D4; +RL_08B628D4: + jump_target = r31; + aot_mem.aot_direct_store32(r5 + static_cast(12), r7); + pc = jump_target; + return; +RL_08B628DC: + jump_target = r31; + aot_mem.aot_direct_store32(r5 + static_cast(0), r2); + pc = jump_target; + return; +RL_08B628E4: + r2 = (0u + static_cast(255)); + { const bool branch_taken = r6 == r2; + r2 = (r7 << 7u); + if (branch_taken) { + goto RL_08B6290C; + } + goto RL_08B628F0; + } +RL_08B628F0: + r3 = (16384u << 16u); + r2 = (r2 | r3); + r4 = (r6 + static_cast(-127)); + aot_mem.aot_direct_store32(r5 + static_cast(12), r2); + r2 = (0u + static_cast(3)); + aot_mem.aot_direct_store32(r5 + static_cast(8), r4); + goto RL_08B628DC; +RL_08B6290C: + if (r7 != 0u) { + r2 = (16u << 16u); + goto RL_08B6291C; + } + goto RL_08B62914; +RL_08B62914: + r2 = (0u + static_cast(4)); + goto RL_08B628DC; +RL_08B6291C: + r2 = (r7 & r2); + if (r2 == 0u) { + aot_mem.aot_direct_store32(r5 + static_cast(0), 0u); + goto RL_08B628D4; + } + goto RL_08B62928; +RL_08B62928: + r2 = (0u + static_cast(1)); + aot_mem.aot_direct_store32(r5 + static_cast(0), r2); + goto RL_08B628D4; +} + +void vcs_resident_region_08B61EF4(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r2, std::uint32_t &r3, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r6, std::uint32_t &r7, std::uint32_t &r8, std::uint32_t &r9, std::uint32_t &r10, std::uint32_t &r16, std::uint32_t &r29, std::uint32_t &r31) noexcept { + std::uint32_t jump_target = 0u; + goto RL_08B61EF4; +RL_08B61EF4: + r29 = (r29 + static_cast(-144)); + r3 = (r5 + 0u); + r2 = (r4 + 0u); + aot_mem.aot_direct_store32(r29 + static_cast(128), r16); + r4 = (r29 + static_cast(96)); + r16 = (r29 + static_cast(32)); + aot_mem.aot_direct_store32(r29 + static_cast(132), r31); + aot_mem.aot_direct_store32(r29 + static_cast(112), r6); + aot_mem.aot_direct_store32(r29 + static_cast(116), r7); + aot_mem.aot_direct_store32(r29 + static_cast(96), r2); + aot_mem.aot_direct_store32(r29 + static_cast(100), r3); + r31 = (0x08B61F28u); + r5 = (r29 + 0u); + goto RL_08B62C04; +RL_08B62C04: + r2 = (aot_mem.aot_direct_load32(r4 + static_cast(4))); + r3 = (15u << 16u); + r10 = (r5 + 0u); + r7 = (r2 >> 20u); + r5 = (r2 >> 31u); + r3 = (r3 | 65535u); + r7 = (r7 & 2047u); + r8 = (aot_mem.aot_direct_load32(r4 + static_cast(0))); + r9 = (r2 & r3); + { const bool branch_taken = r7 != 0u; + aot_mem.aot_direct_store32(r10 + static_cast(4), r5); + if (branch_taken) { + goto RL_08B62CAC; + } + goto RL_08B62C30; + } +RL_08B62C30: + r2 = (r8 | r9); + { const bool branch_taken = r2 != 0u; + r2 = (r8 >> 24u); + if (branch_taken) { + goto RL_08B62C48; + } + goto RL_08B62C3C; + } +RL_08B62C3C: + r2 = (0u + static_cast(2)); + goto RL_08B62C40; +RL_08B62C40: + jump_target = r31; + aot_mem.aot_direct_store32(r10 + static_cast(0), r2); + pc = jump_target; + return; +RL_08B62C48: + r4 = (4095u << 16u); + r9 = (r9 << 8u); + r9 = (r9 | r2); + r4 = (r4 | 65535u); + r2 = (0u + static_cast(-1022)); + r3 = (0u + static_cast(3)); + r4 = (r4 < r9 ? 1u : 0u); + r8 = (r8 << 8u); + aot_mem.aot_direct_store32(r10 + static_cast(8), r2); + { const bool branch_taken = r4 != 0u; + aot_mem.aot_direct_store32(r10 + static_cast(0), r3); + if (branch_taken) { + goto RL_08B62CA0; + } + goto RL_08B62C74; + } +RL_08B62C74: + r5 = (4095u << 16u); + r5 = (r5 | 65535u); + r4 = (0u + static_cast(-1022)); + goto RL_08B62C80; +RL_08B62C80: + r3 = (r8 >> 31u); + r9 = (r9 << 1u); + r9 = (r9 | r3); + r2 = (r5 < r9 ? 1u : 0u); + r8 = (r8 << 1u); + { const bool branch_taken = r2 == 0u; + r4 = (r4 + static_cast(-1)); + if (branch_taken) { + goto RL_08B62C80; + } + goto RL_08B62C9C; + } +RL_08B62C9C: + aot_mem.aot_direct_store32(r10 + static_cast(8), r4); + goto RL_08B62CA0; +RL_08B62CA0: + aot_mem.aot_direct_store32(r10 + static_cast(16), r8); + jump_target = r31; + aot_mem.aot_direct_store32(r10 + static_cast(20), r9); + pc = jump_target; + return; +RL_08B62CAC: + r2 = (0u + static_cast(2047)); + { const bool branch_taken = r7 == r2; + r6 = (r8 >> 24u); + if (branch_taken) { + goto RL_08B62CEC; + } + goto RL_08B62CB8; + } +RL_08B62CB8: + r3 = (r9 << 8u); + r3 = (r3 | r6); + r5 = (4096u << 16u); + r4 = (0u + static_cast(0)); + r2 = (r8 << 8u); + r2 = (r2 | r4); + r3 = (r3 | r5); + r6 = (r7 + static_cast(-1023)); + aot_mem.aot_direct_store32(r10 + static_cast(16), r2); + aot_mem.aot_direct_store32(r10 + static_cast(20), r3); + r2 = (0u + static_cast(3)); + aot_mem.aot_direct_store32(r10 + static_cast(8), r6); + goto RL_08B62C40; +RL_08B62CEC: + r2 = (r8 | r9); + { const bool branch_taken = r2 == 0u; + r2 = (0u + static_cast(4)); + if (branch_taken) { + goto RL_08B62C40; + } + goto RL_08B62CF8; + } +RL_08B62CF8: + r3 = (8u << 16u); + r2 = (0u + static_cast(0)); + r2 = (r8 & r2); + r3 = (r9 & r3); + r2 = (r2 | r3); + if (r2 == 0u) { + aot_mem.aot_direct_store32(r10 + static_cast(0), 0u); + goto RL_08B62CA0; + } + goto RL_08B62D14; +RL_08B62D14: + r2 = (0u + static_cast(1)); + aot_mem.aot_direct_store32(r10 + static_cast(0), r2); + goto RL_08B62CA0; +} + +void vcs_resident_region_08B61FD0(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r2, std::uint32_t &r3, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r6, std::uint32_t &r7, std::uint32_t &r8, std::uint32_t &r9, std::uint32_t &r10, std::uint32_t &r16, std::uint32_t &r18, std::uint32_t &r19, std::uint32_t &r20, std::uint32_t &r21, std::uint32_t &r29, std::uint32_t &r31) noexcept { + std::uint32_t jump_target = 0u; + goto RL_08B61FD0; +RL_08B61FD0: + r29 = (r29 + static_cast(-160)); + r2 = (r4 + 0u); + r3 = (r5 + 0u); + aot_mem.aot_direct_store32(r29 + static_cast(128), r16); + r4 = (r29 + static_cast(96)); + r5 = (r29 + 0u); + r16 = (r29 + static_cast(32)); + aot_mem.aot_direct_store32(r29 + static_cast(96), r2); + aot_mem.aot_direct_store32(r29 + static_cast(100), r3); + aot_mem.aot_direct_store32(r29 + static_cast(148), r31); + aot_mem.aot_direct_store32(r29 + static_cast(112), r6); + aot_mem.aot_direct_store32(r29 + static_cast(116), r7); + aot_mem.aot_direct_store32(r29 + static_cast(144), r21); + aot_mem.aot_direct_store32(r29 + static_cast(140), r20); + aot_mem.aot_direct_store32(r29 + static_cast(136), r19); + r31 = (0x08B62014u); + aot_mem.aot_direct_store32(r29 + static_cast(132), r18); + goto RL_08B62C04; +RL_08B62C04: + r2 = (aot_mem.aot_direct_load32(r4 + static_cast(4))); + r3 = (15u << 16u); + r10 = (r5 + 0u); + r7 = (r2 >> 20u); + r5 = (r2 >> 31u); + r3 = (r3 | 65535u); + r7 = (r7 & 2047u); + r8 = (aot_mem.aot_direct_load32(r4 + static_cast(0))); + r9 = (r2 & r3); + { const bool branch_taken = r7 != 0u; + aot_mem.aot_direct_store32(r10 + static_cast(4), r5); + if (branch_taken) { + goto RL_08B62CAC; + } + goto RL_08B62C30; + } +RL_08B62C30: + r2 = (r8 | r9); + { const bool branch_taken = r2 != 0u; + r2 = (r8 >> 24u); + if (branch_taken) { + goto RL_08B62C48; + } + goto RL_08B62C3C; + } +RL_08B62C3C: + r2 = (0u + static_cast(2)); + goto RL_08B62C40; +RL_08B62C40: + jump_target = r31; + aot_mem.aot_direct_store32(r10 + static_cast(0), r2); + pc = jump_target; + return; +RL_08B62C48: + r4 = (4095u << 16u); + r9 = (r9 << 8u); + r9 = (r9 | r2); + r4 = (r4 | 65535u); + r2 = (0u + static_cast(-1022)); + r3 = (0u + static_cast(3)); + r4 = (r4 < r9 ? 1u : 0u); + r8 = (r8 << 8u); + aot_mem.aot_direct_store32(r10 + static_cast(8), r2); + { const bool branch_taken = r4 != 0u; + aot_mem.aot_direct_store32(r10 + static_cast(0), r3); + if (branch_taken) { + goto RL_08B62CA0; + } + goto RL_08B62C74; + } +RL_08B62C74: + r5 = (4095u << 16u); + r5 = (r5 | 65535u); + r4 = (0u + static_cast(-1022)); + goto RL_08B62C80; +RL_08B62C80: + r3 = (r8 >> 31u); + r9 = (r9 << 1u); + r9 = (r9 | r3); + r2 = (r5 < r9 ? 1u : 0u); + r8 = (r8 << 1u); + { const bool branch_taken = r2 == 0u; + r4 = (r4 + static_cast(-1)); + if (branch_taken) { + goto RL_08B62C80; + } + goto RL_08B62C9C; + } +RL_08B62C9C: + aot_mem.aot_direct_store32(r10 + static_cast(8), r4); + goto RL_08B62CA0; +RL_08B62CA0: + aot_mem.aot_direct_store32(r10 + static_cast(16), r8); + jump_target = r31; + aot_mem.aot_direct_store32(r10 + static_cast(20), r9); + pc = jump_target; + return; +RL_08B62CAC: + r2 = (0u + static_cast(2047)); + { const bool branch_taken = r7 == r2; + r6 = (r8 >> 24u); + if (branch_taken) { + goto RL_08B62CEC; + } + goto RL_08B62CB8; + } +RL_08B62CB8: + r3 = (r9 << 8u); + r3 = (r3 | r6); + r5 = (4096u << 16u); + r4 = (0u + static_cast(0)); + r2 = (r8 << 8u); + r2 = (r2 | r4); + r3 = (r3 | r5); + r6 = (r7 + static_cast(-1023)); + aot_mem.aot_direct_store32(r10 + static_cast(16), r2); + aot_mem.aot_direct_store32(r10 + static_cast(20), r3); + r2 = (0u + static_cast(3)); + aot_mem.aot_direct_store32(r10 + static_cast(8), r6); + goto RL_08B62C40; +RL_08B62CEC: + r2 = (r8 | r9); + { const bool branch_taken = r2 == 0u; + r2 = (0u + static_cast(4)); + if (branch_taken) { + goto RL_08B62C40; + } + goto RL_08B62CF8; + } +RL_08B62CF8: + r3 = (8u << 16u); + r2 = (0u + static_cast(0)); + r2 = (r8 & r2); + r3 = (r9 & r3); + r2 = (r2 | r3); + if (r2 == 0u) { + aot_mem.aot_direct_store32(r10 + static_cast(0), 0u); + goto RL_08B62CA0; + } + goto RL_08B62D14; +RL_08B62D14: + r2 = (0u + static_cast(1)); + aot_mem.aot_direct_store32(r10 + static_cast(0), r2); + goto RL_08B62CA0; +} + +void vcs_resident_region_08B6256C(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r2, std::uint32_t &r3, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r6, std::uint32_t &r7, std::uint32_t &r8, std::uint32_t &r9, std::uint32_t &r10, std::uint32_t &r16, std::uint32_t &r29, std::uint32_t &r31) noexcept { + std::uint32_t jump_target = 0u; + goto RL_08B6256C; +RL_08B6256C: + r29 = (r29 + static_cast(-112)); + r3 = (r5 + 0u); + r2 = (r4 + 0u); + aot_mem.aot_direct_store32(r29 + static_cast(96), r16); + r4 = (r29 + static_cast(64)); + r16 = (r29 + static_cast(32)); + aot_mem.aot_direct_store32(r29 + static_cast(100), r31); + aot_mem.aot_direct_store32(r29 + static_cast(64), r2); + aot_mem.aot_direct_store32(r29 + static_cast(68), r3); + aot_mem.aot_direct_store32(r29 + static_cast(80), r6); + aot_mem.aot_direct_store32(r29 + static_cast(84), r7); + r31 = (0x08B625A0u); + r5 = (r29 + 0u); + goto RL_08B62C04; +RL_08B62C04: + r2 = (aot_mem.aot_direct_load32(r4 + static_cast(4))); + r3 = (15u << 16u); + r10 = (r5 + 0u); + r7 = (r2 >> 20u); + r5 = (r2 >> 31u); + r3 = (r3 | 65535u); + r7 = (r7 & 2047u); + r8 = (aot_mem.aot_direct_load32(r4 + static_cast(0))); + r9 = (r2 & r3); + { const bool branch_taken = r7 != 0u; + aot_mem.aot_direct_store32(r10 + static_cast(4), r5); + if (branch_taken) { + goto RL_08B62CAC; + } + goto RL_08B62C30; + } +RL_08B62C30: + r2 = (r8 | r9); + { const bool branch_taken = r2 != 0u; + r2 = (r8 >> 24u); + if (branch_taken) { + goto RL_08B62C48; + } + goto RL_08B62C3C; + } +RL_08B62C3C: + r2 = (0u + static_cast(2)); + goto RL_08B62C40; +RL_08B62C40: + jump_target = r31; + aot_mem.aot_direct_store32(r10 + static_cast(0), r2); + pc = jump_target; + return; +RL_08B62C48: + r4 = (4095u << 16u); + r9 = (r9 << 8u); + r9 = (r9 | r2); + r4 = (r4 | 65535u); + r2 = (0u + static_cast(-1022)); + r3 = (0u + static_cast(3)); + r4 = (r4 < r9 ? 1u : 0u); + r8 = (r8 << 8u); + aot_mem.aot_direct_store32(r10 + static_cast(8), r2); + { const bool branch_taken = r4 != 0u; + aot_mem.aot_direct_store32(r10 + static_cast(0), r3); + if (branch_taken) { + goto RL_08B62CA0; + } + goto RL_08B62C74; + } +RL_08B62C74: + r5 = (4095u << 16u); + r5 = (r5 | 65535u); + r4 = (0u + static_cast(-1022)); + goto RL_08B62C80; +RL_08B62C80: + r3 = (r8 >> 31u); + r9 = (r9 << 1u); + r9 = (r9 | r3); + r2 = (r5 < r9 ? 1u : 0u); + r8 = (r8 << 1u); + { const bool branch_taken = r2 == 0u; + r4 = (r4 + static_cast(-1)); + if (branch_taken) { + goto RL_08B62C80; + } + goto RL_08B62C9C; + } +RL_08B62C9C: + aot_mem.aot_direct_store32(r10 + static_cast(8), r4); + goto RL_08B62CA0; +RL_08B62CA0: + aot_mem.aot_direct_store32(r10 + static_cast(16), r8); + jump_target = r31; + aot_mem.aot_direct_store32(r10 + static_cast(20), r9); + pc = jump_target; + return; +RL_08B62CAC: + r2 = (0u + static_cast(2047)); + { const bool branch_taken = r7 == r2; + r6 = (r8 >> 24u); + if (branch_taken) { + goto RL_08B62CEC; + } + goto RL_08B62CB8; + } +RL_08B62CB8: + r3 = (r9 << 8u); + r3 = (r3 | r6); + r5 = (4096u << 16u); + r4 = (0u + static_cast(0)); + r2 = (r8 << 8u); + r2 = (r2 | r4); + r3 = (r3 | r5); + r6 = (r7 + static_cast(-1023)); + aot_mem.aot_direct_store32(r10 + static_cast(16), r2); + aot_mem.aot_direct_store32(r10 + static_cast(20), r3); + r2 = (0u + static_cast(3)); + aot_mem.aot_direct_store32(r10 + static_cast(8), r6); + goto RL_08B62C40; +RL_08B62CEC: + r2 = (r8 | r9); + { const bool branch_taken = r2 == 0u; + r2 = (0u + static_cast(4)); + if (branch_taken) { + goto RL_08B62C40; + } + goto RL_08B62CF8; + } +RL_08B62CF8: + r3 = (8u << 16u); + r2 = (0u + static_cast(0)); + r2 = (r8 & r2); + r3 = (r9 & r3); + r2 = (r2 | r3); + if (r2 == 0u) { + aot_mem.aot_direct_store32(r10 + static_cast(0), 0u); + goto RL_08B62CA0; + } + goto RL_08B62D14; +RL_08B62D14: + r2 = (0u + static_cast(1)); + aot_mem.aot_direct_store32(r10 + static_cast(0), r2); + goto RL_08B62CA0; +} + +void vcs_resident_region_08B627F0(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r2, std::uint32_t &r3, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r6, std::uint32_t &r7, std::uint32_t &r8, std::uint32_t &r9, std::uint32_t &r10, std::uint32_t &r29, std::uint32_t &r31) noexcept { + std::uint32_t jump_target = 0u; + goto RL_08B627F0; +RL_08B627F0: + r29 = (r29 + static_cast(-64)); + r2 = (r4 + 0u); + r3 = (r5 + 0u); + r4 = (r29 + static_cast(32)); + aot_mem.aot_direct_store32(r29 + static_cast(48), r31); + aot_mem.aot_direct_store32(r29 + static_cast(32), r2); + aot_mem.aot_direct_store32(r29 + static_cast(36), r3); + r31 = (0x08B62814u); + r5 = (r29 + 0u); + goto RL_08B62C04; +RL_08B62C04: + r2 = (aot_mem.aot_direct_load32(r4 + static_cast(4))); + r3 = (15u << 16u); + r10 = (r5 + 0u); + r7 = (r2 >> 20u); + r5 = (r2 >> 31u); + r3 = (r3 | 65535u); + r7 = (r7 & 2047u); + r8 = (aot_mem.aot_direct_load32(r4 + static_cast(0))); + r9 = (r2 & r3); + { const bool branch_taken = r7 != 0u; + aot_mem.aot_direct_store32(r10 + static_cast(4), r5); + if (branch_taken) { + goto RL_08B62CAC; + } + goto RL_08B62C30; + } +RL_08B62C30: + r2 = (r8 | r9); + { const bool branch_taken = r2 != 0u; + r2 = (r8 >> 24u); + if (branch_taken) { + goto RL_08B62C48; + } + goto RL_08B62C3C; + } +RL_08B62C3C: + r2 = (0u + static_cast(2)); + goto RL_08B62C40; +RL_08B62C40: + jump_target = r31; + aot_mem.aot_direct_store32(r10 + static_cast(0), r2); + pc = jump_target; + return; +RL_08B62C48: + r4 = (4095u << 16u); + r9 = (r9 << 8u); + r9 = (r9 | r2); + r4 = (r4 | 65535u); + r2 = (0u + static_cast(-1022)); + r3 = (0u + static_cast(3)); + r4 = (r4 < r9 ? 1u : 0u); + r8 = (r8 << 8u); + aot_mem.aot_direct_store32(r10 + static_cast(8), r2); + { const bool branch_taken = r4 != 0u; + aot_mem.aot_direct_store32(r10 + static_cast(0), r3); + if (branch_taken) { + goto RL_08B62CA0; + } + goto RL_08B62C74; + } +RL_08B62C74: + r5 = (4095u << 16u); + r5 = (r5 | 65535u); + r4 = (0u + static_cast(-1022)); + goto RL_08B62C80; +RL_08B62C80: + r3 = (r8 >> 31u); + r9 = (r9 << 1u); + r9 = (r9 | r3); + r2 = (r5 < r9 ? 1u : 0u); + r8 = (r8 << 1u); + { const bool branch_taken = r2 == 0u; + r4 = (r4 + static_cast(-1)); + if (branch_taken) { + goto RL_08B62C80; + } + goto RL_08B62C9C; + } +RL_08B62C9C: + aot_mem.aot_direct_store32(r10 + static_cast(8), r4); + goto RL_08B62CA0; +RL_08B62CA0: + aot_mem.aot_direct_store32(r10 + static_cast(16), r8); + jump_target = r31; + aot_mem.aot_direct_store32(r10 + static_cast(20), r9); + pc = jump_target; + return; +RL_08B62CAC: + r2 = (0u + static_cast(2047)); + { const bool branch_taken = r7 == r2; + r6 = (r8 >> 24u); + if (branch_taken) { + goto RL_08B62CEC; + } + goto RL_08B62CB8; + } +RL_08B62CB8: + r3 = (r9 << 8u); + r3 = (r3 | r6); + r5 = (4096u << 16u); + r4 = (0u + static_cast(0)); + r2 = (r8 << 8u); + r2 = (r2 | r4); + r3 = (r3 | r5); + r6 = (r7 + static_cast(-1023)); + aot_mem.aot_direct_store32(r10 + static_cast(16), r2); + aot_mem.aot_direct_store32(r10 + static_cast(20), r3); + r2 = (0u + static_cast(3)); + aot_mem.aot_direct_store32(r10 + static_cast(8), r6); + goto RL_08B62C40; +RL_08B62CEC: + r2 = (r8 | r9); + { const bool branch_taken = r2 == 0u; + r2 = (0u + static_cast(4)); + if (branch_taken) { + goto RL_08B62C40; + } + goto RL_08B62CF8; + } +RL_08B62CF8: + r3 = (8u << 16u); + r2 = (0u + static_cast(0)); + r2 = (r8 & r2); + r3 = (r9 & r3); + r2 = (r2 | r3); + if (r2 == 0u) { + aot_mem.aot_direct_store32(r10 + static_cast(0), 0u); + goto RL_08B62CA0; + } + goto RL_08B62D14; +RL_08B62D14: + r2 = (0u + static_cast(1)); + aot_mem.aot_direct_store32(r10 + static_cast(0), r2); + goto RL_08B62CA0; +} + +} // namespace psprecomp diff --git a/profiles/vcs/host/vcs_resident_regions.hpp b/profiles/vcs/host/vcs_resident_regions.hpp new file mode 100644 index 0000000..a0f903d --- /dev/null +++ b/profiles/vcs/host/vcs_resident_regions.hpp @@ -0,0 +1,92 @@ +#pragma once + +#include "psprecomp/guest_memory.hpp" +#include + +namespace psprecomp { + +void vcs_resident_region_08806634(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r31) noexcept; +void vcs_resident_region_08806654(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r6, std::uint32_t &r7, std::uint32_t &r8, std::uint32_t &r31) noexcept; +void vcs_resident_region_0880682C(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r6, std::uint32_t &r7, std::uint32_t &r16, std::uint32_t &r29, std::uint32_t &r31) noexcept; +void vcs_resident_region_08806888(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r6, std::uint32_t &r7, std::uint32_t &r29, std::uint32_t &r31) noexcept; +void vcs_resident_region_0880692C(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r6, std::uint32_t &r7, std::uint32_t &r16, std::uint32_t &r29, std::uint32_t &r31) noexcept; +void vcs_resident_region_08806A88(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r6, std::uint32_t &r7, std::uint32_t &r29, std::uint32_t &r31) noexcept; +void vcs_resident_region_08806AE0(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r6, std::uint32_t &r7, std::uint32_t &r29, std::uint32_t &r31) noexcept; +void vcs_resident_region_08806DC0(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r6, std::uint32_t &r31, float &f12) noexcept; +void vcs_resident_region_08807098(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r6, std::uint32_t &r7, std::uint32_t &r31) noexcept; +void vcs_resident_region_088073CC(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r6, std::uint32_t &r7, std::uint32_t &r16, std::uint32_t &r29, std::uint32_t &r31) noexcept; +void vcs_resident_region_0880A400(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r28, std::uint32_t &r31) noexcept; +void vcs_resident_region_088305D8(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r31, float &f12, float &f13, float &f14) noexcept; +void vcs_resident_region_088305EC(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r31, float &f12) noexcept; +void vcs_resident_region_0883079C(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r31) noexcept; +void vcs_resident_region_088307E0(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r31) noexcept; +void vcs_resident_region_08830934(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r31) noexcept; +void vcs_resident_region_08830A20(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r31) noexcept; +void vcs_resident_region_08830A50(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r31) noexcept; +void vcs_resident_region_08830B10(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r31) noexcept; +void vcs_resident_region_08861668(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r1, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r6, std::uint32_t &r29, std::uint32_t &r31) noexcept; +void vcs_resident_region_08862890(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r6, std::uint32_t &r7, std::uint32_t &r8, std::uint32_t &r9, std::uint32_t &r10, std::uint32_t &r11, std::uint32_t &r16, std::uint32_t &r17, std::uint32_t &r18, std::uint32_t &r19, std::uint32_t &r20, std::uint32_t &r21, std::uint32_t &r28, std::uint32_t &r29, std::uint32_t &r31) noexcept; +void vcs_resident_region_0886D4BC(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r31) noexcept; +void vcs_resident_region_08873400(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r31, float &f12, float &f13, float &f14, float &f15) noexcept; +void vcs_resident_region_088905F0(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r6, std::uint32_t &r7, std::uint32_t &r31) noexcept; +void vcs_resident_region_088C95D8(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &hi, std::uint32_t &lo, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r6, std::uint32_t &r7, std::uint32_t &r8, std::uint32_t &r9, std::uint32_t &r28, std::uint32_t &r31) noexcept; +void vcs_resident_region_088C9640(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r1, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r6, std::uint32_t &r7, std::uint32_t &r8, std::uint32_t &r28, std::uint32_t &r29, std::uint32_t &r31) noexcept; +void vcs_resident_region_088C971C(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r1, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r6, std::uint32_t &r7, std::uint32_t &r8, std::uint32_t &r28, std::uint32_t &r29, std::uint32_t &r31) noexcept; +void vcs_resident_region_08908E78(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r31) noexcept; +void vcs_resident_region_08909B60(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r6, std::uint32_t &r16, std::uint32_t &r29, std::uint32_t &r31) noexcept; +void vcs_resident_region_0890BE50(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r31) noexcept; +void vcs_resident_region_0890D44C(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r31) noexcept; +void vcs_resident_region_0890F694(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r6, std::uint32_t &r31) noexcept; +void vcs_resident_region_0890F6B4(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r31) noexcept; +void vcs_resident_region_0890FF64(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r4, std::uint32_t &r31) noexcept; +void vcs_resident_region_089101A4(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r31) noexcept; +void vcs_resident_region_0893685C(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r2, std::uint32_t &r31) noexcept; +void vcs_resident_region_089474C4(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r6, std::uint32_t &r31) noexcept; +void vcs_resident_region_0896918C(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r31) noexcept; +void vcs_resident_region_08969194(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r6, std::uint32_t &r7, std::uint32_t &r8, std::uint32_t &r31) noexcept; +void vcs_resident_region_089B7A84(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &hi, std::uint32_t &lo, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r6, std::uint32_t &r7, std::uint32_t &r8, std::uint32_t &r28, std::uint32_t &r31) noexcept; +void vcs_resident_region_089D1B1C(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r31, float &f12, float &f13, float &f14, float &f15) noexcept; +void vcs_resident_region_089F620C(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r6, std::uint32_t &r7, std::uint32_t &r31) noexcept; +void vcs_resident_region_08A28D00(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r16, std::uint32_t &r17, std::uint32_t &r18, std::uint32_t &r19, std::uint32_t &r20, std::uint32_t &r21, std::uint32_t &r22, std::uint32_t &r29, std::uint32_t &r31, float &f20, float &f22, float &f24) noexcept; +void vcs_resident_region_08A3550C(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r6, std::uint32_t &r7, std::uint32_t &r8, std::uint32_t &r31) noexcept; +void vcs_resident_region_08A92F78(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r6, std::uint32_t &r7, std::uint32_t &r28, std::uint32_t &r31) noexcept; +void vcs_resident_region_08A93004(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r6, std::uint32_t &r7, std::uint32_t &r8, std::uint32_t &r28, std::uint32_t &r31) noexcept; +void vcs_resident_region_08ABE2C0(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r6, std::uint32_t &r7, std::uint32_t &r8, std::uint32_t &r16, std::uint32_t &r17, std::uint32_t &r18, std::uint32_t &r19, std::uint32_t &r20, std::uint32_t &r29, std::uint32_t &r31) noexcept; +void vcs_resident_region_08ABE2E4(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r6, std::uint32_t &r7, std::uint32_t &r8, std::uint32_t &r16, std::uint32_t &r17, std::uint32_t &r18, std::uint32_t &r19, std::uint32_t &r20, std::uint32_t &r29, std::uint32_t &r31) noexcept; +void vcs_resident_region_08ABE398(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r6, std::uint32_t &r7, std::uint32_t &r8, std::uint32_t &r16, std::uint32_t &r17, std::uint32_t &r18, std::uint32_t &r19, std::uint32_t &r20, std::uint32_t &r29, std::uint32_t &r31) noexcept; +void vcs_resident_region_08ABE8F4(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r6, std::uint32_t &r7, std::uint32_t &r8, std::uint32_t &r16, std::uint32_t &r17, std::uint32_t &r18, std::uint32_t &r19, std::uint32_t &r20, std::uint32_t &r29, std::uint32_t &r31) noexcept; +void vcs_resident_region_08AC7670(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r31) noexcept; +void vcs_resident_region_08AC79D4(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r31) noexcept; +void vcs_resident_region_08AC7C50(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r31) noexcept; +void vcs_resident_region_08AC7C58(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r31) noexcept; +void vcs_resident_region_08AC8054(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r31) noexcept; +void vcs_resident_region_08ADC734(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r31) noexcept; +void vcs_resident_region_08ADC754(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r31) noexcept; +void vcs_resident_region_08ADC784(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r31) noexcept; +void vcs_resident_region_08AF42C4(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r31) noexcept; +void vcs_resident_region_08AF42D0(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r16, std::uint32_t &r17, std::uint32_t &r29, std::uint32_t &r31) noexcept; +void vcs_resident_region_08AF44E8(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r16, std::uint32_t &r17, std::uint32_t &r29, std::uint32_t &r31) noexcept; +void vcs_resident_region_08AF80D8(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r16, std::uint32_t &r17, std::uint32_t &r18, std::uint32_t &r29, std::uint32_t &r31) noexcept; +void vcs_resident_region_08AFEDA8(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r31) noexcept; +void vcs_resident_region_08B01E00(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r6, std::uint32_t &r31) noexcept; +void vcs_resident_region_08B0C05C(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r6, std::uint32_t &r7, std::uint32_t &r16, std::uint32_t &r28, std::uint32_t &r29, std::uint32_t &r31) noexcept; +void vcs_resident_region_08B0C138(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r6, std::uint32_t &r16, std::uint32_t &r17, std::uint32_t &r18, std::uint32_t &r19, std::uint32_t &r20, std::uint32_t &r28, std::uint32_t &r29, std::uint32_t &r31) noexcept; +void vcs_resident_region_08B0C498(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r4, std::uint32_t &r28, std::uint32_t &r31) noexcept; +void vcs_resident_region_08B0C4A8(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r6, std::uint32_t &r7, std::uint32_t &r28, std::uint32_t &r31) noexcept; +void vcs_resident_region_08B0C604(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r28, std::uint32_t &r29, std::uint32_t &r31) noexcept; +void vcs_resident_region_08B0D88C(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r31) noexcept; +void vcs_resident_region_08B1FD70(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r6, std::uint32_t &r7, std::uint32_t &r28, std::uint32_t &r31) noexcept; +void vcs_resident_region_08B20934(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &hi, std::uint32_t &lo, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r6, std::uint32_t &r7, std::uint32_t &r28, std::uint32_t &r31) noexcept; +void vcs_resident_region_08B20998(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &hi, std::uint32_t &lo, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r6, std::uint32_t &r7, std::uint32_t &r28, std::uint32_t &r29, std::uint32_t &r31) noexcept; +void vcs_resident_region_08B58100(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r6, std::uint32_t &r7, std::uint32_t &r8, std::uint32_t &r9, std::uint32_t &r31) noexcept; +void vcs_resident_region_08B5814C(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r6, std::uint32_t &r7, std::uint32_t &r8, std::uint32_t &r9, std::uint32_t &r31) noexcept; +void vcs_resident_region_08B58974(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r6, std::uint32_t &r31) noexcept; +void vcs_resident_region_08B60680(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r1, std::uint32_t &r2, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r16, std::uint32_t &r17, std::uint32_t &r18, std::uint32_t &r29, std::uint32_t &r31) noexcept; +void vcs_resident_region_08B60E5C(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &hi, std::uint32_t &lo, std::uint32_t &r2, std::uint32_t &r3, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r6, std::uint32_t &r7, std::uint32_t &r9, std::uint32_t &r10, std::uint32_t &r31) noexcept; +void vcs_resident_region_08B61B60(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r2, std::uint32_t &r3, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r6, std::uint32_t &r7, std::uint32_t &r29, std::uint32_t &r31, float &f12) noexcept; +void vcs_resident_region_08B61EF4(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r2, std::uint32_t &r3, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r6, std::uint32_t &r7, std::uint32_t &r8, std::uint32_t &r9, std::uint32_t &r10, std::uint32_t &r16, std::uint32_t &r29, std::uint32_t &r31) noexcept; +void vcs_resident_region_08B61FD0(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r2, std::uint32_t &r3, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r6, std::uint32_t &r7, std::uint32_t &r8, std::uint32_t &r9, std::uint32_t &r10, std::uint32_t &r16, std::uint32_t &r18, std::uint32_t &r19, std::uint32_t &r20, std::uint32_t &r21, std::uint32_t &r29, std::uint32_t &r31) noexcept; +void vcs_resident_region_08B6256C(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r2, std::uint32_t &r3, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r6, std::uint32_t &r7, std::uint32_t &r8, std::uint32_t &r9, std::uint32_t &r10, std::uint32_t &r16, std::uint32_t &r29, std::uint32_t &r31) noexcept; +void vcs_resident_region_08B627F0(GuestMemory::AotFastView &aot_mem, std::uint32_t &pc, std::uint32_t &r2, std::uint32_t &r3, std::uint32_t &r4, std::uint32_t &r5, std::uint32_t &r6, std::uint32_t &r7, std::uint32_t &r8, std::uint32_t &r9, std::uint32_t &r10, std::uint32_t &r29, std::uint32_t &r31) noexcept; + +} // namespace psprecomp diff --git a/profiles/vcs/host/vcs_runtime_log.cpp b/profiles/vcs/host/vcs_runtime_log.cpp index 986e420..e332137 100644 --- a/profiles/vcs/host/vcs_runtime_log.cpp +++ b/profiles/vcs/host/vcs_runtime_log.cpp @@ -65,7 +65,7 @@ void runtime_log_initialize(const VcsConfiguration &configuration) { return; } s.file << "VCSNative runtime log\n"; - s.file << "stage=perf-v8.9-extreme-cpu-register-residency-2026-08-18\n"; + s.file << "stage=perf-v8.10-extreme-cpu-resident-regions-2026-08-18\n"; s.file << "config=" << configuration.source_path.string() << '\n'; s.file << "started=" << timestamp_now() << '\n'; s.file << "perf_telemetry=" << (configuration.diagnostics.perf_telemetry ? 1 : 0) @@ -87,9 +87,9 @@ void runtime_log_initialize(const VcsConfiguration &configuration) { << " unwind_fix=1 reentry_guard=1 dataflow=1 vfpu_block32=133 mem_runs=35 mem_words=287" << " append32=51 advance32=89 simd_mat4=4 simd_matvec=19" << " gpr_shadow_clusters=4 gpr_shadow_regs=24 gpr_shadow_occurrences=3461 geometry_shadow=0" - << " perf_layer=15 cpu_lean_revision=2 cpu_aggressive_revision=9 correctness_revision=8272 recovery_from_821=1" + << " perf_layer=16 cpu_lean_revision=2 cpu_aggressive_revision=10 correctness_revision=8272 recovery_from_821=1" << " save_transaction=1 save_lifecycle_v82=1 sas_endflag_latched=1 sas_loop_history_restore=1" - << " atrac_virtual_source=1 atrac_stall_diag=1 atrac_stream_resident_status=1 atrac_nonloop_resident=-2 atrac_loop_resident=-3 output2_success_zero=1 output2_master_watermark=1 output2_late_catchup=0 save_repro_checkpoint=1 save_repro_trace=1 save_repro_hotkey_f8=1 save_repro_trace_hotkey_f10=1 save_repro_auto_restore=1 save_repro_dispatch_sample_stride=64 save_repro_passive_until_f8=1 save_repro_hle_hotpath=0 save_repro_ui_hotkeys=1 save_repro_f10_async_fallback=1 save_repro_collector_partial_bundle=1 save_repro_internal_ini_gate=1 save_repro_default_enabled=0 save_exitdelete_semantics=1 save_repro_legacy_exitdelete_repair=1 save_partition_reuse=1 news_atrac_v825_guard=1 runtime_chain_telemetry_default=0 arch_fastmem=1 aot_direct_fastmem_default=1 aot_hard_fastmem=1 aot_branchless_mem=1 aot_vfpu_block32=19455 aot_scalar_run_blocks=10665 aot_scalar_run_words=53173 aot_load_runs=5633 aot_store_runs=5032 vfpu_default_dest_fast=1 vfpu_vmscl_default_fast=1 vfpu_default_fastlane=1 vfpu_vec3_fastlane_sites=2469 vfpu_unary_fastlane_sites=1607 vfpu_vdot_default_fast=1 vfpu_vscl_default_fast=1 radio_atrac_identity_guard=1 atrac_direct_header_validation=1 atrac_identity_cache=1 atrac_header_only_producer_hint=1 vfpu_vtfm_ct=1 vfpu_vtfm_ct_sites=337 vfpu_vi2f_ct=1 vfpu_vi2f_ct_sites=164 vfpu_vcmp_default_fast=1 vfpu_vcmp_ct_sites=558 vfpu_vcmov_default_fast=1 vfpu_vcmov_ct_sites=461 vfpu_cross_default_fast=1 vfpu_cross_ct_sites=217 vfpu_helper_ct2=1 trusted_chain=1 trusted_chain_sites=45968 trusted_chain_poisonable_sites=3240 compact_leaf_dispatch=1 compact_leaf_targets=4 compact_leaf_sites=1885 outer_entry_dispatch=1 outer_aot_view_reuse=1 v87_tiny_leaf_reverted=1 aot_register_residency=1 aot_register_residency_units=230 aot_gpr_resident_slots=6 aot_fpr_resident_slots=4 aot_gpr_resident_occurrences=876226 aot_fpr_resident_occurrences=145774" + << " atrac_virtual_source=1 atrac_stall_diag=1 atrac_stream_resident_status=1 atrac_nonloop_resident=-2 atrac_loop_resident=-3 output2_success_zero=1 output2_master_watermark=1 output2_late_catchup=0 save_repro_checkpoint=1 save_repro_trace=1 save_repro_hotkey_f8=1 save_repro_trace_hotkey_f10=1 save_repro_auto_restore=1 save_repro_dispatch_sample_stride=64 save_repro_passive_until_f8=1 save_repro_hle_hotpath=0 save_repro_ui_hotkeys=1 save_repro_f10_async_fallback=1 save_repro_collector_partial_bundle=1 save_repro_internal_ini_gate=1 save_repro_default_enabled=0 save_exitdelete_semantics=1 save_repro_legacy_exitdelete_repair=1 save_partition_reuse=1 news_atrac_v825_guard=1 runtime_chain_telemetry_default=0 arch_fastmem=1 aot_direct_fastmem_default=1 aot_hard_fastmem=1 aot_branchless_mem=1 aot_vfpu_block32=19455 aot_scalar_run_blocks=10665 aot_scalar_run_words=53173 aot_load_runs=5633 aot_store_runs=5032 vfpu_default_dest_fast=1 vfpu_vmscl_default_fast=1 vfpu_default_fastlane=1 vfpu_vec3_fastlane_sites=2469 vfpu_unary_fastlane_sites=1607 vfpu_vdot_default_fast=1 vfpu_vscl_default_fast=1 radio_atrac_identity_guard=1 atrac_direct_header_validation=1 atrac_identity_cache=1 atrac_header_only_producer_hint=1 vfpu_vtfm_ct=1 vfpu_vtfm_ct_sites=337 vfpu_vi2f_ct=1 vfpu_vi2f_ct_sites=164 vfpu_vcmp_default_fast=1 vfpu_vcmp_ct_sites=558 vfpu_vcmov_default_fast=1 vfpu_vcmov_ct_sites=461 vfpu_cross_default_fast=1 vfpu_cross_ct_sites=217 vfpu_helper_ct2=1 trusted_chain=1 trusted_chain_sites=45968 trusted_chain_poisonable_sites=3240 compact_leaf_dispatch=1 compact_leaf_targets=4 compact_leaf_sites=1885 outer_entry_dispatch=1 outer_aot_view_reuse=1 v87_tiny_leaf_reverted=1 aot_register_residency=1 aot_register_residency_units=230 aot_gpr_resident_slots=6 aot_fpr_resident_slots=4 aot_gpr_resident_occurrences=914095 aot_fpr_resident_occurrences=146809 aot_resident_region_weight=6 resident_regions=1 resident_region_targets=83 resident_region_sites=11171 resident_region_files=220 resident_region_sync_out_removed=11171 resident_region_sync_in_removed=11171 resident_region_resident_args=53234 resident_region_ctx_args=26183 resident_region_scheduler_guard=1 resident_region_scheduler_fallback_sites=11171" << " tier2_direct_fastmem=1 tier2_direct_mem_sites=1969 tier2_deep_telemetry_default=0 geometry_fusion_rollback=1" << " entity_leaf_inline=1 entity_leaf_scheduler_accounting=1 entity_leaf_resume_pc_fix=1" << " ge_async_default=0 parallel_vertex_decode_default=0" diff --git a/profiles/vcs/scripts/build_release_ninja.bat b/profiles/vcs/scripts/build_release_ninja.bat index 013214c..0aecda8 100644 --- a/profiles/vcs/scripts/build_release_ninja.bat +++ b/profiles/vcs/scripts/build_release_ninja.bat @@ -119,6 +119,7 @@ set "PERF_V85_VFPU_FASTLANE_STAMP=%BUILD%\.vcs_perf_v85_aggressive_vfpu_fastlane set "PERF_V86_RADIO_VFPU_CT2_STAMP=%BUILD%\.vcs_perf_v86_radio_identity_vfpu_ct2_20260818" set "PERF_V88_TRUSTED_DISPATCH_STAMP=%BUILD%\.vcs_perf_v88_extreme_cpu_trusted_dispatch_20260818" set "PERF_V89_REGCACHE_STAMP=%BUILD%\.vcs_perf_v89_extreme_cpu_register_residency_20260818" +set "PERF_V810_RESIDENT_REGIONS_STAMP=%BUILD%\.vcs_perf_v8101_resident_regions_scheduler_safe_20260818" if not defined PSPRECOMP_TIER2_DEEP_TELEMETRY set "PSPRECOMP_TIER2_DEEP_TELEMETRY=OFF" if not defined PSPRECOMP_RUNTIME_CHAIN_TELEMETRY set "PSPRECOMP_RUNTIME_CHAIN_TELEMETRY=OFF" if /I "%PSPRECOMP_TIER2_DEEP_TELEMETRY%"=="1" set "PSPRECOMP_TIER2_DEEP_TELEMETRY=ON" @@ -136,15 +137,15 @@ echo CMake: %CMAKE_EXE% echo Ninja: %NINJA_EXE% echo Ninja workers: %JOBS% echo cl.exe /MP: OFF ^(Ninja owns compile parallelism^) -echo Generated AOT: O3; V8.8 trusted dispatch + V8.9 register residency -echo Correctness: V8.9 CPU over V8.6 radio + V8.2.7A SAVE + V8.2.5 NEWS +echo Generated AOT: O3; V8.9 register residency + V8.10.1 scheduler-safe resident regions +echo Correctness: V8.10.1 scheduler-safe CPU over V8.6 radio + V8.2.7A SAVE + V8.2.5 NEWS echo Host/core LTCG: ON echo AVX2/fast paths: ON echo Tier2 deep diag: %PSPRECOMP_TIER2_DEEP_TELEMETRY% echo Chain telemetry: %PSPRECOMP_RUNTIME_CHAIN_TELEMETRY% echo ================================================================ echo. -echo [0b2/7] Building V8.9 EXTREME CPU REGISTER RESIDENCY over V8.8 baseline... +echo [0b2/7] Building V8.10.1 SCHEDULER-SAFE RESIDENT REGIONS over V8.9 baseline... set "PYTHON3_CMD=" py -3 -c "import sys; raise SystemExit(0 if sys.version_info.major == 3 else 1)" >nul 2>&1 if not errorlevel 1 set "PYTHON3_CMD=py -3" @@ -157,6 +158,8 @@ echo Python 3: %PYTHON3_CMD% echo [0b-regcanon/7] Restoring canonical architectural register file before Tier-2/AOT passes... %PYTHON3_CMD% "%REPO%\tools\optimize_generated_register_residency.py" "%PROFILE%\generated" --strip if errorlevel 1 goto :FAIL +%PYTHON3_CMD% "%PROFILE%\tools\optimize_generated_v810_resident_regions.py" --strip +if errorlevel 1 goto :FAIL echo [0b/7] Reapplying BOOTFIX-safe Tier-2 transforms (OPT1 semantic transforms disabled)... call "%PROFILE%\APPLY_TIER2_EXTREME.bat" @@ -172,7 +175,9 @@ if errorlevel 1 goto :FAIL if errorlevel 1 goto :FAIL %PYTHON3_CMD% "%PROFILE%\tools\optimize_generated_v88_trusted_chain.py" if errorlevel 1 goto :FAIL -%PYTHON3_CMD% "%REPO%\tools\optimize_generated_register_residency.py" "%PROFILE%\generated" --gprs 6 --fprs 4 +%PYTHON3_CMD% "%PROFILE%\tools\optimize_generated_v810_resident_regions.py" +if errorlevel 1 goto :FAIL +%PYTHON3_CMD% "%REPO%\tools\optimize_generated_register_residency.py" "%PROFILE%\generated" --gprs 6 --fprs 4 --resident-weight 6 --stats "%PROFILE%\generated\v89_register_residency_manifest.json" if errorlevel 1 goto :FAIL rem V8.2.7 checker includes the protected V8.2 CPU/Geometry, V8.2.5 NEWS, rem V8.2.6 passive checkpoint contract and the corrected PSP ExitDelete lifecycle. @@ -191,6 +196,8 @@ if errorlevel 1 goto :FAIL if errorlevel 1 goto :FAIL %PYTHON3_CMD% "%PROFILE%\tests\check_v89_register_residency.py" if errorlevel 1 goto :FAIL +%PYTHON3_CMD% "%PROFILE%\tests\check_v810_resident_regions.py" +if errorlevel 1 goto :FAIL if exist "%BUILD%" if not exist "%SUPERBLOCK_STAMP%" ( echo. @@ -486,6 +493,15 @@ if exist "%BUILD%" if not exist "%PERF_V89_REGCACHE_STAMP%" ( del /s /q "%BUILD%\*codegen_main*.obj" >nul 2>&1 ) +if exist "%BUILD%" if not exist "%PERF_V810_RESIDENT_REGIONS_STAMP%" ( + echo. + echo [0c-v810/7] V8.10.1 SCHEDULER-SAFE RESIDENT REGIONS - rebuilding AOT/regions/runtime once... + rem V8.10 rewrites 11k cross-unit leaf calls and changes resident-register selection. + del /s /q "%BUILD%\*generated_unit_*.obj" >nul 2>&1 + del /s /q "%BUILD%\*vcs_resident_regions*.obj" >nul 2>&1 + del /s /q "%BUILD%\*vcs_runtime_log*.obj" >nul 2>&1 +) + if exist "%BUILD%" if not exist "%BOOTFIX_STAMP%" ( echo. echo [0c/7] BOOTFIX revision changed - invalidating stale .obj/.pch once... @@ -549,6 +565,7 @@ if errorlevel 1 goto :FAIL >"%PERF_V86_RADIO_VFPU_CT2_STAMP%" echo VCS PERF V8.6 RADIO IDENTITY VFPU CT2 2026-08-18 >"%PERF_V88_TRUSTED_DISPATCH_STAMP%" echo VCS PERF V8.8 EXTREME CPU TRUSTED DISPATCH 2026-08-18 >"%PERF_V89_REGCACHE_STAMP%" echo VCS PERF V8.9 EXTREME CPU REGISTER RESIDENCY 2026-08-18 +>"%PERF_V810_RESIDENT_REGIONS_STAMP%" echo VCS PERF V8.10.1 SCHEDULER SAFE RESIDENT REGIONS 2026-08-18 echo. echo [2b/7] Building tests and DX12 probes... diff --git a/profiles/vcs/tests/check_v810_resident_regions.py b/profiles/vcs/tests/check_v810_resident_regions.py new file mode 100644 index 0000000..bdb57e7 --- /dev/null +++ b/profiles/vcs/tests/check_v810_resident_regions.py @@ -0,0 +1,79 @@ +#!/usr/bin/env python3 +from __future__ import annotations +from pathlib import Path +import json,re +root=Path(__file__).resolve().parents[3] +profile=root/'profiles'/'vcs' +def read(rel): return (root/rel).read_text(encoding='utf-8',errors='ignore') +def need(c,m): + if not c: + print('FAIL:',m); raise SystemExit(1) + print('PASS:',m) +log=read('profiles/vcs/host/vcs_runtime_log.cpp') +build=read('profiles/vcs/scripts/build_release_ninja.bat') +runtime=read('include/psprecomp/runtime.hpp') +cmake=read('profiles/vcs/CMakeLists.txt') +tool=read('profiles/vcs/tools/optimize_generated_v810_resident_regions.py') +regtool=read('tools/optimize_generated_register_residency.py') +manifest=json.loads(read('profiles/vcs/generated/v810_resident_region_manifest.json')) +need('stage=perf-v8.10-extreme-cpu-resident-regions-2026-08-18' in log,'V8.10 runtime stage retained for benchmark continuity') +need('perf_layer=16' in log and 'cpu_aggressive_revision=10' in log and 'correctness_revision=8272' in log,'V8.10 revision metadata') +for token in ( + 'resident_regions=1','resident_region_targets=83','resident_region_sites=11171', + 'resident_region_files=220','resident_region_sync_out_removed=11171', + 'resident_region_sync_in_removed=11171','resident_region_resident_args=53234', + 'resident_region_ctx_args=26183','resident_region_scheduler_guard=1', + 'resident_region_scheduler_fallback_sites=11171','aot_resident_region_weight=6', + 'aot_gpr_resident_occurrences=914095','aot_fpr_resident_occurrences=146809', + 'radio_atrac_identity_guard=1','save_exitdelete_semantics=1','ge_async_default=0', + 'parallel_vertex_decode_default=0'): + need(token in log,'metadata '+token) +need('invoke_resident_generated_leaf' in runtime,'generic Runtime resident-leaf helper exists') +need('chain_depth_' not in runtime[runtime.find('invoke_resident_generated_leaf'):runtime.find('// Tier-2 hot-leaf', runtime.find('invoke_resident_generated_leaf'))], + 'proven non-nested regions avoid chain-depth admission') +need('resident_generated_leaf_fast_allowed' in runtime, + 'resident regions gate fast path before starvation safe-point') +need('run_starvation_boundary(ctx)' not in runtime[runtime.find('invoke_resident_generated_leaf'):runtime.find('// Tier-2 hot-leaf', runtime.find('invoke_resident_generated_leaf'))], + 'resident leaf itself cannot preempt with partial architectural state') +need('vcs' not in runtime[runtime.find('invoke_resident_generated_leaf'):runtime.find('// Tier-2 hot-leaf', runtime.find('invoke_resident_generated_leaf'))].lower(), + 'generic Runtime resident helper is title-independent') +need(manifest['targets']==83 and manifest['sites']==11171 and manifest['generated_files_with_sites']==220, + 'manifest exact 83 targets / 11171 sites / 220 caller units') +need(manifest['min_static_sites']==40 and manifest['max_blocks']==40,'automatic selection thresholds pinned') +need(manifest['poisonable_units']==[44,197,212,216,219],'override/poison buckets excluded') +need(all(r['unit'] not in {44,197,212,216,219} for r in manifest['regions']),'no resident region bypasses poisonable unit') +need(all(r['blocks']<=40 and r['sites']>=40 for r in manifest['regions']),'all resident regions obey block/site caps') +units=sorted((profile/'generated').glob('generated_unit_*.cpp')) +need(len(units)==234,'234 generated units preserved') +site_count=0; files=0; sync_out=0; sync_in=0; resident_args=0; ctx_args=0 +call_re=re.compile(r'invoke_resident_generated_leaf<[^;\n]+?>\(ctx, &aot_mem(?P[^\)]*)\)') +for p in units: + text=p.read_text(encoding='utf-8',errors='ignore') + matches=list(call_re.finditer(text)) + if matches: files+=1 + site_count += len(matches) + sync_out += text.count('AOT_REGCACHE_SYNC_OUT()') + sync_in += text.count('AOT_REGCACHE_SYNC_IN()') + for m in matches: + a=m.group('args') + resident_args += len(re.findall(r'\baot_(?:gpr|fpr)_\d+\b',a)) + ctx_args += len(re.findall(r'ctx\.(?:gpr|fpr)\[\d+\]',a)) +need(site_count==11171 and files==220,'exact resident region call-site corpus') +need(sync_out==120725 and sync_in==52703,'scheduler fallback restores full-sync safety at guarded resident call sites') +need(sum(p.read_text(encoding='utf-8',errors='ignore').count('PSPRECOMP_RESIDENT_SCHED_SAFE') for p in units)==11171, + 'all 11171 resident calls have scheduler-safe fallback guards') +need(resident_args==53234 and ctx_args==26183,'cross-unit scalar argument residency exact') +need('host/vcs_resident_regions.cpp' in cmake,'resident region host TU is linked') +need((profile/'host'/'vcs_resident_regions.cpp').exists() and (profile/'host'/'vcs_resident_regions.hpp').exists(),'resident region source/header generated') +need(read('profiles/vcs/host/vcs_resident_regions.cpp').count('void vcs_resident_region_')==83,'83 out-of-line region bodies generated once') +need('optimize_generated_v810_resident_regions.py' in build,'Windows build applies V8.10 region selector') +need('--resident-weight 6' in build,'Windows build biases register ownership across region boundaries') +strip_region=build.find('optimize_generated_v810_resident_regions.py" --strip') +tier2=build.find('build_tier2_superblocks.py') +rpos=build.find('optimize_generated_v810_resident_regions.py', strip_region+1) +gpos=build.find('optimize_generated_register_residency.py" "%PROFILE%\\generated" --gprs') +need(strip_region>=0 and tier2>strip_region,'V8.10 specialization strips before Tier-2 canonical extraction') +need(rpos>tier2 and gpos>rpos,'resident regions specialize after Tier-2 and before V8.9 register aliases') +need('resident_weight' in regtool and 'invoke_resident_generated_leaf' in regtool,'generic register residency supports cross-boundary weighting') +need('MIN_STATIC_SITES = 40' in tool and 'MAX_BLOCKS = 40' in tool,'VCS selector remains conservative/bounded') +print('V8.10.1 SCHEDULER-SAFE RESIDENT REGIONS auditor: PASS') diff --git a/profiles/vcs/tests/check_v827_save_thread_lifecycle.py b/profiles/vcs/tests/check_v827_save_thread_lifecycle.py index 8a20020..158b3f2 100644 --- a/profiles/vcs/tests/check_v827_save_thread_lifecycle.py +++ b/profiles/vcs/tests/check_v827_save_thread_lifecycle.py @@ -24,7 +24,7 @@ need(('stage=correctness-v8.2.7-save-thread-lifecycle-fix-2026-08-18' in log) or ('stage=perf-v8.5-aggressive-vfpu-fastlane-2026-08-18' in log) or ('stage=perf-v8.6-radio-identity-vfpu-ct2-2026-08-18' in log) or ('stage=perf-v8.8-extreme-cpu-trusted-dispatch-2026-08-18' in log) or - ('stage=perf-v8.9-extreme-cpu-register-residency-2026-08-18' in log), + ('stage=perf-v8.9-extreme-cpu-register-residency-2026-08-18' in log) or ('stage=perf-v8.10-extreme-cpu-resident-regions-2026-08-18' in log), 'V8.2.7 correctness lineage runtime stage') need(('correctness_revision=827 ' in log) or ('correctness_revision=8271 ' in log) or ('correctness_revision=8272 ' in log), 'V8.2.7/V8.2.7A correctness revision') need('save_exitdelete_semantics=1' in log and 'save_repro_legacy_exitdelete_repair=1' in log and 'save_partition_reuse=1' in log, diff --git a/profiles/vcs/tests/check_v827a_internal_save_repro_gate.py b/profiles/vcs/tests/check_v827a_internal_save_repro_gate.py index 6887887..11ddd4c 100644 --- a/profiles/vcs/tests/check_v827a_internal_save_repro_gate.py +++ b/profiles/vcs/tests/check_v827a_internal_save_repro_gate.py @@ -24,7 +24,7 @@ need(('stage=correctness-v8.2.7a-internal-save-repro-gate-2026-08-18' in log) or ('stage=perf-v8.5-aggressive-vfpu-fastlane-2026-08-18' in log) or ('stage=perf-v8.6-radio-identity-vfpu-ct2-2026-08-18' in log) or ('stage=perf-v8.8-extreme-cpu-trusted-dispatch-2026-08-18' in log) or - ('stage=perf-v8.9-extreme-cpu-register-residency-2026-08-18' in log), + ('stage=perf-v8.9-extreme-cpu-register-residency-2026-08-18' in log) or ('stage=perf-v8.10-extreme-cpu-resident-regions-2026-08-18' in log), 'V8.2.7A correctness lineage runtime stage') need(('correctness_revision=8271' in log) or ('correctness_revision=8272' in log), 'V8.2.7A correctness revision') need('save_repro_internal_ini_gate=1' in log and 'save_repro_default_enabled=0' in log, diff --git a/profiles/vcs/tests/check_v84_aggressive_cpu.py b/profiles/vcs/tests/check_v84_aggressive_cpu.py index 064398d..e4485cf 100644 --- a/profiles/vcs/tests/check_v84_aggressive_cpu.py +++ b/profiles/vcs/tests/check_v84_aggressive_cpu.py @@ -18,8 +18,8 @@ def need(c,m): print('FAIL:',m); raise SystemExit(1) print('PASS:',m) -need(('stage=perf-v8.4-aggressive-cpu-direct-2026-08-18' in log) or ('stage=perf-v8.5-aggressive-vfpu-fastlane-2026-08-18' in log) or ('stage=perf-v8.6-radio-identity-vfpu-ct2-2026-08-18' in log) or ('stage=perf-v8.8-extreme-cpu-trusted-dispatch-2026-08-18' in log) or ('stage=perf-v8.9-extreme-cpu-register-residency-2026-08-18' in log), 'V8.4 lineage stage') -need((('cpu_aggressive_revision=4' in log) or ('cpu_aggressive_revision=5' in log) or ('cpu_aggressive_revision=6' in log) or ('cpu_aggressive_revision=8' in log) or ('cpu_aggressive_revision=9' in log)) and 'aot_hard_fastmem=1' in log and 'aot_branchless_mem=1' in log, 'aggressive CPU metadata') +need(('stage=perf-v8.4-aggressive-cpu-direct-2026-08-18' in log) or ('stage=perf-v8.5-aggressive-vfpu-fastlane-2026-08-18' in log) or ('stage=perf-v8.6-radio-identity-vfpu-ct2-2026-08-18' in log) or ('stage=perf-v8.8-extreme-cpu-trusted-dispatch-2026-08-18' in log) or ('stage=perf-v8.9-extreme-cpu-register-residency-2026-08-18' in log) or ('stage=perf-v8.10-extreme-cpu-resident-regions-2026-08-18' in log), 'V8.4 lineage stage') +need((('cpu_aggressive_revision=4' in log) or ('cpu_aggressive_revision=5' in log) or ('cpu_aggressive_revision=6' in log) or ('cpu_aggressive_revision=8' in log) or ('cpu_aggressive_revision=9' in log) or ('cpu_aggressive_revision=10' in log)) and 'aot_hard_fastmem=1' in log and 'aot_branchless_mem=1' in log, 'aggressive CPU metadata') need('aot_vfpu_block32=19455' in log and 'aot_scalar_run_blocks=10665' in log and 'aot_scalar_run_words=53173' in log and 'aot_load_runs=5633' in log and 'aot_store_runs=5032' in log and 'vfpu_default_dest_fast=1' in log and 'vfpu_vmscl_default_fast=1' in log, 'vector/VFPU and scalar-run metadata') need((('correctness_revision=8271' in log) or ('correctness_revision=8272' in log)) and 'save_exitdelete_semantics=1' in log, 'V8.2.7 Save fix preserved') need('atrac_nonloop_resident=-2' in log and 'atrac_loop_resident=-3' in log and 'output2_late_catchup=0' in log, 'V8.2.5 NEWS fix preserved') diff --git a/profiles/vcs/tests/check_v85_aggressive_vfpu.py b/profiles/vcs/tests/check_v85_aggressive_vfpu.py index c7ec197..bd0fc1f 100644 --- a/profiles/vcs/tests/check_v85_aggressive_vfpu.py +++ b/profiles/vcs/tests/check_v85_aggressive_vfpu.py @@ -21,8 +21,8 @@ build = read('profiles/vcs/scripts/build_release_ninja.bat') opt = read('profiles/vcs/tools/optimize_generated_v85_vfpu.py') ini = read('profiles/vcs/config/VCSNative.ini') -need(('stage=perf-v8.5-aggressive-vfpu-fastlane-2026-08-18' in log) or ('stage=perf-v8.6-radio-identity-vfpu-ct2-2026-08-18' in log) or ('stage=perf-v8.8-extreme-cpu-trusted-dispatch-2026-08-18' in log) or ('stage=perf-v8.9-extreme-cpu-register-residency-2026-08-18' in log), 'V8.5 lineage stage stamp') -need((('perf_layer=11' in log and 'cpu_aggressive_revision=5' in log) or ('perf_layer=12' in log and 'cpu_aggressive_revision=6' in log) or ('perf_layer=14' in log and 'cpu_aggressive_revision=8' in log) or ('perf_layer=15' in log and 'cpu_aggressive_revision=9' in log)), 'V8.5/V8.6 performance revision metadata') +need(('stage=perf-v8.5-aggressive-vfpu-fastlane-2026-08-18' in log) or ('stage=perf-v8.6-radio-identity-vfpu-ct2-2026-08-18' in log) or ('stage=perf-v8.8-extreme-cpu-trusted-dispatch-2026-08-18' in log) or ('stage=perf-v8.9-extreme-cpu-register-residency-2026-08-18' in log) or ('stage=perf-v8.10-extreme-cpu-resident-regions-2026-08-18' in log), 'V8.5 lineage stage stamp') +need((('perf_layer=11' in log and 'cpu_aggressive_revision=5' in log) or ('perf_layer=12' in log and 'cpu_aggressive_revision=6' in log) or ('perf_layer=14' in log and 'cpu_aggressive_revision=8' in log) or ('perf_layer=15' in log and 'cpu_aggressive_revision=9' in log) or ('perf_layer=16' in log and 'cpu_aggressive_revision=10' in log)), 'V8.5/V8.6 performance revision metadata') for token in ( 'aot_hard_fastmem=1', 'aot_branchless_mem=1', 'aot_vfpu_block32=19455', 'aot_scalar_run_blocks=10665', 'aot_scalar_run_words=53173', diff --git a/profiles/vcs/tests/check_v86_radio_vfpu_ct2.py b/profiles/vcs/tests/check_v86_radio_vfpu_ct2.py index 8c18e5e..2de74df 100644 --- a/profiles/vcs/tests/check_v86_radio_vfpu_ct2.py +++ b/profiles/vcs/tests/check_v86_radio_vfpu_ct2.py @@ -14,8 +14,8 @@ gen=read('tools/codegen_main.cpp') vgen=read('profiles/vcs/tools/vcs_codegen_main.cpp') build=read('profiles/vcs/scripts/build_release_ninja.bat') ini=read('profiles/vcs/config/VCSNative.ini') -need(('stage=perf-v8.6-radio-identity-vfpu-ct2-2026-08-18' in log) or ('stage=perf-v8.8-extreme-cpu-trusted-dispatch-2026-08-18' in log) or ('stage=perf-v8.9-extreme-cpu-register-residency-2026-08-18' in log),'V8.6 lineage stage') -need((('perf_layer=12' in log and 'cpu_aggressive_revision=6' in log) or ('perf_layer=14' in log and 'cpu_aggressive_revision=8' in log) or ('perf_layer=15' in log and 'cpu_aggressive_revision=9' in log)) and 'correctness_revision=8272' in log,'V8.6/V8.8 revisions') +need(('stage=perf-v8.6-radio-identity-vfpu-ct2-2026-08-18' in log) or ('stage=perf-v8.8-extreme-cpu-trusted-dispatch-2026-08-18' in log) or ('stage=perf-v8.9-extreme-cpu-register-residency-2026-08-18' in log) or ('stage=perf-v8.10-extreme-cpu-resident-regions-2026-08-18' in log),'V8.6 lineage stage') +need((('perf_layer=12' in log and 'cpu_aggressive_revision=6' in log) or ('perf_layer=14' in log and 'cpu_aggressive_revision=8' in log) or ('perf_layer=15' in log and 'cpu_aggressive_revision=9' in log) or ('perf_layer=16' in log and 'cpu_aggressive_revision=10' in log)) and 'correctness_revision=8272' in log,'V8.6/V8.8 revisions') for t in ('radio_atrac_identity_guard=1','atrac_direct_header_validation=1','atrac_identity_cache=1','atrac_header_only_producer_hint=1','vfpu_vtfm_ct=1','vfpu_vtfm_ct_sites=337','vfpu_vi2f_ct=1','vfpu_vi2f_ct_sites=164','vfpu_vcmp_default_fast=1','vfpu_vcmov_default_fast=1','vfpu_cross_default_fast=1'): need(t in log,'metadata '+t) for t in ('atrac_nonloop_resident=-2','atrac_loop_resident=-3','news_atrac_v825_guard=1','output2_late_catchup=0','save_exitdelete_semantics=1','save_partition_reuse=1','save_repro_default_enabled=0','aot_hard_fastmem=1','aot_branchless_mem=1','vfpu_default_fastlane=1'): diff --git a/profiles/vcs/tests/check_v88_extreme_cpu_trusted_dispatch.py b/profiles/vcs/tests/check_v88_extreme_cpu_trusted_dispatch.py index 0338915..22a807c 100644 --- a/profiles/vcs/tests/check_v88_extreme_cpu_trusted_dispatch.py +++ b/profiles/vcs/tests/check_v88_extreme_cpu_trusted_dispatch.py @@ -25,8 +25,8 @@ cmake = read('profiles/vcs/CMakeLists.txt') compact_cpp = read('profiles/vcs/host/vcs_compact_leaves.cpp') compact_h = read('profiles/vcs/host/vcs_compact_leaves.hpp') -need(('stage=perf-v8.8-extreme-cpu-trusted-dispatch-2026-08-18' in log) or ('stage=perf-v8.9-extreme-cpu-register-residency-2026-08-18' in log), 'V8.8/V8.9 stage stamp') -need(((('perf_layer=14' in log and 'cpu_aggressive_revision=8' in log) or ('perf_layer=15' in log and 'cpu_aggressive_revision=9' in log)) and 'correctness_revision=8272' in log), +need(('stage=perf-v8.8-extreme-cpu-trusted-dispatch-2026-08-18' in log) or ('stage=perf-v8.9-extreme-cpu-register-residency-2026-08-18' in log) or ('stage=perf-v8.10-extreme-cpu-resident-regions-2026-08-18' in log), 'V8.8/V8.9 stage stamp') +need(((('perf_layer=14' in log and 'cpu_aggressive_revision=8' in log) or ('perf_layer=15' in log and 'cpu_aggressive_revision=9' in log) or ('perf_layer=16' in log and 'cpu_aggressive_revision=10' in log)) and 'correctness_revision=8272' in log), 'V8.8 revision metadata') for token in ( 'trusted_chain=1', 'trusted_chain_sites=45968', 'trusted_chain_poisonable_sites=3240', @@ -83,7 +83,11 @@ for path in paths: pc = m.group(3) compact_counts[pc] = compact_counts.get(pc, 0) + 1 -need(trusted == 45968, f'trusted direct sites exact = 45968 (got {trusted})') +is_v810='stage=perf-v8.10-extreme-cpu-resident-regions-2026-08-18' in log +need(trusted == (34797 if is_v810 else 45968), f'trusted direct sites exact for lineage (got {trusted})') +if is_v810: + resident_sites=sum(path.read_text(encoding='utf-8',errors='ignore').count('invoke_resident_generated_leaf<') for path in units) + need(trusted + resident_sites == 45968, 'V8.10 resident regions preserve V8.8 trusted-edge total') need(defensive == 3240, f'poisonable defensive sites exact = 3240 (got {defensive})') need(defensive_units <= poisonable, f'defensive generated units are only poisonable buckets {sorted(defensive_units)}') need(compact == 1885, f'compact leaf sites exact = 1885 (got {compact})') @@ -94,7 +98,7 @@ expected_compact = { '0x08A931B8': 336, } need(compact_counts == expected_compact, f'compact target distribution exact {compact_counts}') -need(trusted + compact == 47853, '47,853 statically safe edges bypass poisoned-unit checks/entry switches') +need(trusted + compact + (resident_sites if is_v810 else 0) == 47853, '47,853 statically safe edges remain accelerated across V8.8/V8.10 lineage') trusted_manifest = json.loads((generated / 'v88_trusted_chain_manifest.json').read_text()) compact_manifest = json.loads((generated / 'v88_compact_leaf_manifest.json').read_text()) diff --git a/profiles/vcs/tests/check_v89_register_residency.py b/profiles/vcs/tests/check_v89_register_residency.py index 9e0bde7..1ee6da9 100644 --- a/profiles/vcs/tests/check_v89_register_residency.py +++ b/profiles/vcs/tests/check_v89_register_residency.py @@ -13,12 +13,14 @@ log=read('profiles/vcs/host/vcs_runtime_log.cpp') build=read('profiles/vcs/scripts/build_release_ninja.bat') tool=read('tools/optimize_generated_register_residency.py') manifest=json.loads(read('profiles/vcs/generated/v89_register_residency_manifest.json')) -need('stage=perf-v8.9-extreme-cpu-register-residency-2026-08-18' in log,'V8.9 stage stamp') -need('perf_layer=15' in log and 'cpu_aggressive_revision=9' in log and 'correctness_revision=8272' in log,'V8.9 revision metadata') +is_v810='stage=perf-v8.10-extreme-cpu-resident-regions-2026-08-18' in log +need(('stage=perf-v8.9-extreme-cpu-register-residency-2026-08-18' in log) or is_v810,'V8.9/V8.10 stage stamp') +need((('perf_layer=15' in log and 'cpu_aggressive_revision=9' in log) or (is_v810 and 'perf_layer=16' in log and 'cpu_aggressive_revision=10' in log)) and 'correctness_revision=8272' in log,'V8.9/V8.10 revision metadata') for token in ( 'aot_register_residency=1','aot_register_residency_units=230', 'aot_gpr_resident_slots=6','aot_fpr_resident_slots=4', - 'aot_gpr_resident_occurrences=876226','aot_fpr_resident_occurrences=145774', + ('aot_gpr_resident_occurrences=914095' if is_v810 else 'aot_gpr_resident_occurrences=876226'), + ('aot_fpr_resident_occurrences=146809' if is_v810 else 'aot_fpr_resident_occurrences=145774'), 'trusted_chain=1','outer_aot_view_reuse=1','radio_atrac_identity_guard=1', 'ge_async_default=0','parallel_vertex_decode_default=0'): need(token in log,'metadata '+token) @@ -34,9 +36,13 @@ need("text=re.sub(r'\\baot_gpr_(\\d+)\\b'" in tool, 'strip uses whole-token GPR alias restoration') need('PSPRECOMP_AOT_REGCACHE_BEGIN' in tool and 'AOT_REGCACHE_SYNC_OUT' in tool and 'AOT_REGCACHE_SYNC_IN' in tool,'generic optimizer owns explicit architectural sync') need('vcs' not in tool.lower() and '0x088' not in tool and '0x089' not in tool and '0x08a' not in tool.lower(),'generic optimizer has no VCS/address coupling') -need(manifest['files']==234 and manifest['changed']==230,'manifest corpus 234 units / 230 resident units') -need(manifest['gpr_occurrences']==876226 and manifest['gpr_total']==1188249,'manifest GPR coverage exact') -need(manifest['fpr_occurrences']==145774 and manifest['fpr_total']==196805,'manifest FPR coverage exact') +need(manifest['files']==234,'manifest corpus contains 234 units') +if is_v810: + need(manifest['gpr_occurrences']==914095 and manifest['gpr_total']==1266110 and manifest.get('resident_weight')==6,'V8.10 manifest GPR coverage/region weight exact') + need(manifest['fpr_occurrences']==146809 and manifest['fpr_total']==198361,'V8.10 manifest FPR coverage exact') +else: + need(manifest['gpr_occurrences']==876226 and manifest['gpr_total']==1188249,'manifest GPR coverage exact') + need(manifest['fpr_occurrences']==145774 and manifest['fpr_total']==196805,'manifest FPR coverage exact') units=sorted((profile/'generated').glob('generated_unit_*.cpp')) need(len(units)==234,'234 generated units preserved') resident=0; bare_return=[]; missing_sync=[] diff --git a/profiles/vcs/tools/optimize_generated_v810_resident_regions.py b/profiles/vcs/tools/optimize_generated_v810_resident_regions.py new file mode 100644 index 0000000..a184e51 --- /dev/null +++ b/profiles/vcs/tools/optimize_generated_v810_resident_regions.py @@ -0,0 +1,313 @@ +#!/usr/bin/env python3 +from __future__ import annotations + +import argparse +import collections +import json +import re +from pathlib import Path + +ROOT = Path(__file__).resolve().parents[3] +PROFILE = ROOT / 'profiles' / 'vcs' +GENERATED = PROFILE / 'generated' +HOST = PROFILE / 'host' +MANIFEST = GENERATED / 'v810_resident_region_manifest.json' +HEADER = HOST / 'vcs_resident_regions.hpp' +SOURCE = HOST / 'vcs_resident_regions.cpp' + +MIN_STATIC_SITES = 40 +MAX_BLOCKS = 40 +POISONABLE_UNITS = frozenset({44, 197, 212, 216, 219}) +INCLUDE = '#include "vcs_resident_regions.hpp"\n' + +DIRECT_CALL_RE = re.compile( + r'rt\.invoke_chained_(?:trusted_)?direct<&recomp_unit_(?P\d{4})_entry,\s*' + r'(?P\d+)u,\s*(?P\d+)u,\s*(?P0x[0-9A-Fa-f]+)u>' + r'\(ctx,\s*&aot_mem\)') +RESIDENT_CALL_RE = re.compile( + r'rt\.invoke_resident_generated_leaf<&vcs_resident_region_(?P[0-9A-F]{8}),\s*' + r'(?P\d+)u,\s*(?:(?P\d+)u,\s*)?(?P0x[0-9A-Fa-f]+)u>\(ctx,\s*&aot_mem(?P[^\)]*)\)') +ENTRY_RE = re.compile(r'case (\d+)u: goto L_([0-9A-F]{8});') +LABEL_RE = re.compile(r'^L_([0-9A-F]{8}):\n', re.M) +GOTO_RE = re.compile(r'goto L_([0-9A-F]{8});') +LOCAL_RETURN_RE = re.compile( + r'(?P[ \t]*)local_pc = (?P[^;]+);\n' + r'(?P=indent)if \(\+\+local_transfers < 256u\) \{ entry_id = 0u; goto LOCAL_DISPATCH; \}\n' + r'(?P=indent)ctx\.pc = (?P[^;]+);\n' + r'(?P=indent)return;') + + + +def read_unit(unit: int): + path = GENERATED / f'generated_unit_{unit:04d}.cpp' + text = path.read_text(encoding='utf-8', errors='ignore') + start = text.index(f'void recomp_unit_{unit:04d}_entry') + end = text.index(f'\nvoid recomp_unit_{unit:04d}(', start) + body = text[start:end] + entries = {int(e): int(pc, 16) for e, pc in ENTRY_RE.findall(body)} + matches = list(LABEL_RE.finditer(body)) + order: list[int] = [] + blocks: dict[int, str] = {} + for i, m in enumerate(matches): + pc = int(m.group(1), 16) + order.append(pc) + blocks[pc] = body[m.end(): matches[i + 1].start() if i + 1 < len(matches) else len(body)] + return path, text, entries, order, blocks + + +def reachable(entry_pc: int, order: list[int], blocks: dict[int, str]) -> set[int]: + index = {pc: i for i, pc in enumerate(order)} + seen: set[int] = set() + stack = [entry_pc] + while stack: + pc = stack.pop() + if pc in seen or pc not in blocks: + continue + seen.add(pc) + if len(seen) > MAX_BLOCKS: + return seen + text = blocks[pc] + for dst in GOTO_RE.findall(text): + stack.append(int(dst, 16)) + clean = re.sub(r'//.*', '', text).strip() + if not re.search(r'(?:return;|goto L_[0-9A-F]{8};)\s*$', clean): + i = index[pc] + if i + 1 < len(order): + stack.append(order[i + 1]) + return seen + + +def normalize_region(text: str) -> str: + text = LOCAL_RETURN_RE.sub(lambda m: f'{m.group("indent")}ctx.pc = {m.group("pc_expr")};\n{m.group("indent")}return;', text) + return text + + +def analyze_target(unit: int, pc: int): + _, _, entries, order, blocks = read_unit(unit) + reverse = {target_pc: entry for entry, target_pc in entries.items()} + entry = reverse.get(pc) + if entry is None: + return None + seen = reachable(pc, order, blocks) + if len(seen) > MAX_BLOCKS: + return None + region = ''.join(f'L_{p:08X}:\n{blocks[p]}' for p in order if p in seen) + region = normalize_region(region) + # A resident region must be a true generated leaf: no nested guest/HLE/host boundary. + forbidden = ( + 'rt.invoke_', 'tier2_superblock_', 'rt.unsupported', 'rt.arithmetic_overflow', + 'ctx.execute_signed_', 'LOCAL_DISPATCH', 'local_transfers', 'local_pc', 'entry_id', + 'direct_entry_id', 'aot_regcache_', 'aot_gpr_', 'aot_fpr_') + if any(token in region for token in forbidden): + return None + # Only architectural scalar state that can safely be passed by reference is admitted. + tmp = re.sub(r'ctx\.gpr\[\d+\]|ctx\.fpr\[\d+\]|ctx\.(?:pc|hi|lo)', '', region) + if 'ctx.' in tmp: + return None + # Every local branch target must remain inside the extracted closure. + if any(int(dst, 16) not in seen for dst in GOTO_RE.findall(region)): + return None + gprs = sorted(set(map(int, re.findall(r'ctx\.gpr\[(\d+)\]', region)))) + fprs = sorted(set(map(int, re.findall(r'ctx\.fpr\[(\d+)\]', region)))) + uses_hi = 'ctx.hi' in region + uses_lo = 'ctx.lo' in region + uses_pc = 'ctx.pc' in region + return { + 'unit': unit, 'entry': entry, 'pc': pc, 'blocks': len(seen), 'region': region, + 'gprs': gprs, 'fprs': fprs, 'uses_hi': uses_hi, 'uses_lo': uses_lo, 'uses_pc': uses_pc, + } + + +def arg_expr(info: dict) -> list[str]: + args: list[str] = [] + if info['uses_pc']: args.append('ctx.pc') + if info['uses_hi']: args.append('ctx.hi') + if info['uses_lo']: args.append('ctx.lo') + args.extend(f'ctx.gpr[{r}]' for r in info['gprs']) + args.extend(f'ctx.fpr[{r}]' for r in info['fprs']) + return args + + +def param_decl(info: dict) -> list[str]: + args: list[str] = [] + if info['uses_pc']: args.append('std::uint32_t &pc') + if info['uses_hi']: args.append('std::uint32_t &hi') + if info['uses_lo']: args.append('std::uint32_t &lo') + args.extend(f'std::uint32_t &r{r}' for r in info['gprs']) + args.extend(f'float &f{r}' for r in info['fprs']) + return args + + +def rewrite_region(info: dict) -> str: + region = info['region'] + region = re.sub(r'goto L_([0-9A-F]{8});', r'goto RL_\1;', region) + region = re.sub(r'^L_([0-9A-F]{8}):', r'RL_\1:', region, flags=re.M) + for r in info['gprs']: + region = region.replace(f'ctx.gpr[{r}]', f'r{r}') + for r in info['fprs']: + region = region.replace(f'ctx.fpr[{r}]', f'f{r}') + if info['uses_pc']: region = region.replace('ctx.pc', 'pc') + if info['uses_hi']: region = region.replace('ctx.hi', 'hi') + if info['uses_lo']: region = region.replace('ctx.lo', 'lo') + if 'ctx.' in region: + raise RuntimeError(f'0x{info["pc"]:08X}: residual ctx access in resident region') + decl = ' std::uint32_t jump_target = 0u;\n' if re.search(r'\bjump_target\b', region) else '' + return decl + f' goto RL_{info["pc"]:08X};\n' + region + + +def strip_specialization() -> int: + changed_files = 0 + changed_sites = 0 + reverse_entries: dict[int, dict[int, int]] = {} + def entry_for(unit: int, pc: int): + if unit not in reverse_entries: + _, _, entries, _, _ = read_unit(unit) + reverse_entries[unit] = {target_pc: entry for entry, target_pc in entries.items()} + return reverse_entries[unit].get(pc) + for path in sorted(GENERATED.glob('generated_unit_*.cpp')): + text = path.read_text(encoding='utf-8', errors='ignore') + def repl(m: re.Match[str]) -> str: + nonlocal changed_sites + unit = int(m.group('unit')); pc = int(m.group('pc'), 16) + entry = entry_for(unit, pc) + if entry is None: + raise RuntimeError(f'{path}: cannot restore resident region 0x{pc:08X}') + changed_sites += 1 + return (f'rt.invoke_chained_trusted_direct<&recomp_unit_{unit:04d}_entry, ' + f'{unit}u, {entry}u, 0x{pc:08X}u>(ctx, &aot_mem)') + updated = RESIDENT_CALL_RE.sub(repl, text) + if 'invoke_resident_generated_leaf<' not in updated: + updated = updated.replace(INCLUDE, '') + if updated != text: + path.write_text(updated, encoding='utf-8', newline='\n') + changed_files += 1 + print(f'V8.10 resident regions strip: files={changed_files} sites={changed_sites}') + return 0 + +def main() -> int: + ap=argparse.ArgumentParser() + ap.add_argument('--strip', action='store_true') + ns=ap.parse_args() + if ns.strip: + return strip_specialization() + # Count both canonical direct calls and already-specialized resident calls so reruns are idempotent. + target_counts: collections.Counter[tuple[int, int]] = collections.Counter() + for path in sorted(GENERATED.glob('generated_unit_*.cpp')): + text = path.read_text(encoding='utf-8', errors='ignore') + for m in DIRECT_CALL_RE.finditer(text): + unit = int(m.group('unit')); pc = int(m.group('pc'), 16) + if int(m.group('sym')) != unit: + raise RuntimeError(f'{path}: direct symbol/unit mismatch') + target_counts[(unit, pc)] += 1 + for m in RESIDENT_CALL_RE.finditer(text): + unit = int(m.group('unit')); pc = int(m.group('pc'), 16) + if int(m.group('namepc'), 16) != pc: + raise RuntimeError(f'{path}: resident region name/pc mismatch') + target_counts[(unit, pc)] += 1 + + selected: dict[tuple[int, int], dict] = {} + for (unit, pc), sites in target_counts.items(): + if sites < MIN_STATIC_SITES or unit in POISONABLE_UNITS: + continue + info = analyze_target(unit, pc) + if info is None: + continue + info['sites'] = sites + selected[(unit, pc)] = info + + changed_files = 0 + changed_sites = 0 + for path in sorted(GENERATED.glob('generated_unit_*.cpp')): + text = path.read_text(encoding='utf-8', errors='ignore') + local_changes = 0 + def repl(m: re.Match[str]) -> str: + nonlocal local_changes, changed_sites + unit = int(m.group('unit')); pc = int(m.group('pc'), 16) + info = selected.get((unit, pc)) + if info is None: + return m.group(0) + if int(m.group('entry')) != info['entry']: + raise RuntimeError(f'{path}: resident region entry mismatch at 0x{pc:08X}') + fn = f'vcs_resident_region_{pc:08X}' + args = arg_expr(info) + suffix = ''.join(', ' + a for a in args) + local_changes += 1; changed_sites += 1 + return (f'rt.invoke_resident_generated_leaf<&{fn}, {unit}u, {info["entry"]}u, 0x{pc:08X}u>' + f'(ctx, &aot_mem{suffix})') + updated = DIRECT_CALL_RE.sub(repl, text) + if local_changes and INCLUDE not in updated: + # Keep profile header after generated_units so generic codegen sources stay untouched. + anchor = '#include "generated_units.hpp"\n' + if anchor not in updated: + raise RuntimeError(f'{path}: generated include anchor missing') + updated = updated.replace(anchor, anchor + INCLUDE, 1) + if updated != text: + path.write_text(updated, encoding='utf-8', newline='\n') + changed_files += 1 + + # Generate one copy of every resident leaf region out-of-line. Callers pass resident locals by reference. + infos = sorted(selected.values(), key=lambda x: (x['pc'], x['unit'])) + h = ['#pragma once', '', '#include "psprecomp/guest_memory.hpp"', '#include ', '', 'namespace psprecomp {', ''] + c = ['#include "vcs_resident_regions.hpp"', '', '#include ', '#include ', '#include ', '#include ', '', 'namespace psprecomp {', ''] + for info in infos: + fn = f'vcs_resident_region_{info["pc"]:08X}' + params = ['GuestMemory::AotFastView &aot_mem'] + param_decl(info) + signature = f'void {fn}(' + ', '.join(params) + ') noexcept' + h.append(signature + ';') + c.append(signature + ' {') + c.append(rewrite_region(info).rstrip()) + c.append('}') + c.append('') + h += ['', '} // namespace psprecomp', ''] + c += ['} // namespace psprecomp', ''] + HEADER.write_text('\n'.join(h), encoding='utf-8', newline='\n') + SOURCE.write_text('\n'.join(c), encoding='utf-8', newline='\n') + + # Validate final call-site count and that no selected target remains on the full-sync path. + final_counts: collections.Counter[tuple[int, int]] = collections.Counter() + remaining_selected = 0 + transformed_files = 0 + for path in sorted(GENERATED.glob('generated_unit_*.cpp')): + text = path.read_text(encoding='utf-8', errors='ignore') + if 'invoke_resident_generated_leaf<' in text: + transformed_files += 1 + for m in RESIDENT_CALL_RE.finditer(text): + final_counts[(int(m.group('unit')), int(m.group('pc'), 16))] += 1 + for m in DIRECT_CALL_RE.finditer(text): + if (int(m.group('unit')), int(m.group('pc'), 16)) in selected: + remaining_selected += 1 + if remaining_selected: + raise RuntimeError(f'{remaining_selected} selected resident-region calls remain unspecialized') + sites = sum(final_counts[k] for k in selected) + expected = sum(info['sites'] for info in infos) + if sites != expected: + raise RuntimeError(f'resident-region site mismatch: {sites} != {expected}') + + manifest = { + 'version': 1, + 'stage': 'perf-v8.10-extreme-cpu-resident-regions-2026-08-18', + 'min_static_sites': MIN_STATIC_SITES, + 'max_blocks': MAX_BLOCKS, + 'poisonable_units': sorted(POISONABLE_UNITS), + 'targets': len(infos), + 'sites': sites, + 'generated_files_with_sites': transformed_files, + 'changed_files_this_run': changed_files, + 'changed_sites_this_run': changed_sites, + 'regions': [ + { + 'pc': f'0x{info["pc"]:08X}', 'unit': info['unit'], 'entry': info['entry'], + 'blocks': info['blocks'], 'sites': final_counts[(info['unit'], info['pc'])], + 'gprs': info['gprs'], 'fprs': info['fprs'], + 'uses_hi': info['uses_hi'], 'uses_lo': info['uses_lo'], 'uses_pc': info['uses_pc'], + } + for info in infos + ], + } + MANIFEST.write_text(json.dumps(manifest, indent=2) + '\n', encoding='utf-8') + print('V8.10 resident regions: targets=%d sites=%d files=%d changed_files=%d changed_sites=%d' % ( + manifest['targets'], manifest['sites'], transformed_files, changed_files, changed_sites)) + return 0 + +if __name__ == '__main__': + raise SystemExit(main()) diff --git a/tools/optimize_generated_register_residency.py b/tools/optimize_generated_register_residency.py index 419dafc..e2e7d50 100644 --- a/tools/optimize_generated_register_residency.py +++ b/tools/optimize_generated_register_residency.py @@ -12,6 +12,10 @@ WRAPPER_RE_TEMPLATE=r'\nvoid\s+{name}\(Runtime &rt, AllegrexContext &ctx\)\s*\{{ # All generated chain helpers return bool and may mutate the full guest context. CHAIN_RE=re.compile( r'(rt\.invoke_(?:chained_trusted_direct|chained_direct|compact_generated_leaf)<[^;\n]+?>\(ctx, &aot_mem\)|rt\.invoke_chained_call\(ctx, &aot_mem\))') +RESIDENT_RE=re.compile( + r'(rt\.invoke_resident_generated_leaf<&(?P[A-Za-z_]\w*),\s*' + r'(?P\d+)u,\s*(?P\d+)u,\s*(?P0x[0-9A-Fa-f]+)u>' + r'\(ctx, &aot_mem(?P[^\)]*)\))') NATIVE_RE=re.compile(r'(rt\.invoke_native_fast_path\([^;\n]*?,\s*ctx\))') SIGNED_RE=re.compile(r'(ctx\.execute_signed_(?:add|sub)\([^\)]*\))') TIER2_CALL_RE=re.compile(r'(?m)^(\s*)(((?:[A-Za-z_]\w*::)*tier2_superblock_[A-Za-z0-9_]+)\(rt, ctx, aot_mem, [^;]+\);)') @@ -21,6 +25,7 @@ RETURN_RE=re.compile(r'\breturn;') CHAIN_WRAP_RE=re.compile(r'\(\[&\]\(\) \{ AOT_REGCACHE_SYNC_OUT\(\); const bool aot_regcache_same_ = \((rt\.invoke_(?:chained_trusted_direct|chained_direct|compact_generated_leaf)<[^;\n]+?>\(ctx, &aot_mem\)|rt\.invoke_chained_call\(ctx, &aot_mem\))\); if \(aot_regcache_same_\) AOT_REGCACHE_SYNC_IN\(\); else aot_regcache_valid = false; return aot_regcache_same_; \}\(\)\)') +RESIDENT_WRAP_RE=re.compile(r'\(\[&\]\(\) \{ /\*PSPRECOMP_RESIDENT_SCHED_SAFE\*/ .*?return (?Prt\.invoke_resident_generated_leaf<[^;\n]+?>\(ctx, &aot_mem[^;\n]*\)); .*?return aot_regcache_same_; \}\(\)\)') NATIVE_WRAP_RE=re.compile(r'\(\[&\]\(\) \{ AOT_REGCACHE_SYNC_OUT\(\); (rt\.invoke_native_fast_path\([^;\n]+\)); AOT_REGCACHE_SYNC_IN\(\); \}\(\)\)') SIGNED_WRAP_RE=re.compile(r'\(\[&\]\(\) \{ AOT_REGCACHE_SYNC_OUT\(\); const bool aot_regcache_ok_ = (ctx\.execute_signed_(?:add|sub)\([^\)]*\)); AOT_REGCACHE_SYNC_IN\(\); return aot_regcache_ok_; \}\(\)\)') @@ -37,6 +42,7 @@ def strip_transform(path:Path): fsel=[int(x) for x in meta.group(2).split(',') if x] text=text[:begin]+text[end:] text=text.replace('\n#undef AOT_REGCACHE_SYNC_IN\n#undef AOT_REGCACHE_SYNC_OUT\n','') + text=RESIDENT_WRAP_RE.sub(lambda m:m.group('resident'),text) text=CHAIN_WRAP_RE.sub(lambda m:m.group(1),text) text=NATIVE_WRAP_RE.sub(lambda m:m.group(1),text) text=SIGNED_WRAP_RE.sub(lambda m:m.group(1),text) @@ -56,15 +62,21 @@ def strip_transform(path:Path): return True, {'file':path.name,'stripped':True,'gpr_regs':gsel,'fpr_regs':fsel} -def choose_regs(body:str, kind:str, count:int): +def choose_regs(body:str, kind:str, count:int, resident_weight:int=1): pat = r'ctx\.gpr\[(\d+)\]' if kind=='gpr' else r'ctx\.fpr\[(\d+)\]' c=collections.Counter(int(x) for x in re.findall(pat, body)) if kind=='gpr': c.pop(0, None) - regs=[r for r,_ in c.most_common(count)] + score=c.copy() + if resident_weight > 1: + for call in re.findall(r'invoke_resident_generated_leaf<[^;\n]+?>\(ctx, &aot_mem([^\)]*)\)', body): + rc=collections.Counter(int(x) for x in re.findall(pat, call)) + if kind=='gpr': rc.pop(0, None) + for reg, hits in rc.items(): score[reg] += (resident_weight - 1) * hits + regs=[r for r,_ in score.most_common(count)] return regs, c -def transform(path:Path, gprs:int, fprs:int): +def transform(path:Path, gprs:int, fprs:int, resident_weight:int=1): text=path.read_text(encoding='utf-8', errors='ignore') if BEGIN in text: mm=META_RE.search(text) @@ -80,10 +92,23 @@ def transform(path:Path, gprs:int, fprs:int): if not wm: return False, {'file':path.name,'skipped':'no-wrapper'} body_end=body_start+wm.start() body=text[body_start:body_end] - gsel,gcnt=choose_regs(body,'gpr',gprs) - fsel,fcnt=choose_regs(body,'fpr',fprs) + gsel,gcnt=choose_regs(body,'gpr',gprs,resident_weight) + fsel,fcnt=choose_regs(body,'fpr',fprs,resident_weight) if not gsel and not fsel: return False, {'file':path.name,'skipped':'no-regs'} + # Resident regions keep register-file values native only between scheduler + # safe-points. If this logical dispatch can preempt, fall back to the + # ordinary V8.9 fully synchronized chain before PSP thread ownership changes. + def wrap_resident(mm): + expr=mm.group(1) + unit=int(mm.group('unit')); entry=int(mm.group('entry')); pc=int(mm.group('pc'),16) + fallback=(f'rt.invoke_resident_scheduler_fallback<&recomp_unit_{unit:04d}_entry, ' + f'{unit}u, {entry}u, 0x{pc:08X}u>(ctx, &aot_mem)') + return ('([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ ' + 'if (rt.resident_generated_leaf_fast_allowed()) return '+expr+'; ' + 'AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = ('+fallback+'); ' + 'if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; ' + 'return aot_regcache_same_; }())') # First wrap context-visible boundaries while expressions still use ctx.*. def wrap_chain(mm): expr=mm.group(1) @@ -91,6 +116,9 @@ def transform(path:Path, gprs:int, fprs:int): 'if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; ' 'return aot_regcache_same_; }())') body=CHAIN_RE.sub(wrap_chain, body) + # Apply resident safe-point wrappers after ordinary chains so the fallback + # chained call inserted here is not wrapped a second time. + body=RESIDENT_RE.sub(wrap_resident, body) def wrap_native(mm): expr=mm.group(1) return ('([&]() { AOT_REGCACHE_SYNC_OUT(); '+expr+'; AOT_REGCACHE_SYNC_IN(); }())') @@ -138,12 +166,13 @@ def main(): ap.add_argument('--gprs',type=int,default=6) ap.add_argument('--fprs',type=int,default=4) ap.add_argument('--stats',type=Path) + ap.add_argument('--resident-weight',type=int,default=1) ap.add_argument('--strip',action='store_true') ns=ap.parse_args() rows=[]; changed=0 for p in sorted(ns.directory.glob('generated_unit_*.cpp')): if ns.strip: ch,st=strip_transform(p) - else: ch,st=transform(p,ns.gprs,ns.fprs) + else: ch,st=transform(p,ns.gprs,ns.fprs,ns.resident_weight) changed+=int(ch); rows.append(st) summary={ 'mode':'strip' if ns.strip else 'apply', @@ -152,6 +181,7 @@ def main(): 'fpr_occurrences':sum(r.get('fpr_occurrences',0) for r in rows), 'gpr_total':sum(r.get('gpr_total',0) for r in rows), 'fpr_total':sum(r.get('fpr_total',0) for r in rows), + 'resident_weight':ns.resident_weight, 'units':rows, } if ns.stats: